<component id="2" name="Dynamics CRM Qualify Lead" componentClassID="Microsoft.ManagedComponentHost" description="Executes a custom script." localeId="1033" version="10" 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="30"><arrayElement dataType="System.String"><![CDATA[scriptcomponent_b51bdb5cdd024fd4b41117088e5343a8.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">
  <!-- This section defines project-level properties.

       Configuration - Specifies whether the default configuration is Release or Debug.
       Platform - Specifies what CPU the output of this project can run on.
       OutputType - Must be "Library" for VSTA.
       NoStandardLibraries - Set to "false" for VSTA.
       RootNamespace - In C#, this specifies the namespace given to new files.
                       In Visual Basic, all objects are wrapped in this namespace at runtime.
       AssemblyName - Name of the output assembly.
  -->
  <PropertyGroup>
    <ProjectTypeGuids>{30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <RootNamespace>ScriptComponent_b51bdb5cdd024fd4b41117088e5343a8.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_b51bdb5cdd024fd4b41117088e5343a8.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{5B7EC5B1-CF82-4839-B33E-5F06F03F67C5}</ProjectGuid>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <TargetFrameworkProfile>
    </TargetFrameworkProfile>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Debug" configuration is
       selected.

       DebugSymbols - If true, create symbols (.pdb). If false, do not create symbols.
       Optimize - If true, optimize the build output. If false, do not optimize.
       OutputPath - Output path of the project relative to the project file.
       EnableUnmanagedDebugging - If true, starting the debugger will attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>true</DebugSymbols>
    <Optimize>false</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Release" configuration is
       selected.

       DebugSymbols - If true, create symbols (.pdb). If false, do not create symbols.
       Optimize - If true, optimize the build output. If false, do not optimize.
       OutputPath - Output path of the project relative to the project file.
       EnableUnmanagedDebugging - If true, starting the debugger will attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
  </PropertyGroup>
  <!-- This section enables pre- and post-build steps. However,
       it is recommended that MSBuild tasks be used instead of these properties.
  -->
  <PropertyGroup>
    <PreBuildEvent>
    </PreBuildEvent>
    <PostBuildEvent>
    </PostBuildEvent>
  </PropertyGroup>
  <!-- This sections specifies references for the project. -->
  <ItemGroup>
    <Reference Include="CozyRoc.Dynamics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SqlServer.ManagedDTS\v4.0_13.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.ManagedDTS.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Web.Services" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.TxScript, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91">
      <Private>False</Private>
    </Reference>
    <Reference Include="CozyRoc.SSISPlus.2016, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea">
      <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>
  <!-- This section defines the user source files that are part of the
       project.

       Compile - Specifies a source file to compile.
       EmbeddedResource - Specifies a .resx file for embedded resources.
       None - Specifies a file that is not to be passed to the compiler (for instance,
              a text file or XML file).
       AppDesigner - Specifies the directory where the application properties files can
                     be found.
  -->
  <ItemGroup>
    <AppDesigner Include="My Project\" />
    <Compile Include="BufferWrapper.vb" />
    <Compile Include="ComponentWrapper.vb" />
    <Compile Include="main.vb" />
    <Compile Include="My Project\AssemblyInfo.vb">
      <SubType>Code</SubType>
    </Compile>
    <EmbeddedResource Include="My Project\Resources.resx">
      <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.vb</LastGenOutput>
      <CustomToolNamespace>My.Resources</CustomToolNamespace>
    </EmbeddedResource>
    <Compile Include="My Project\Resources.Designer.vb">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <None Include="My Project\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.vb</LastGenOutput>
    </None>
    <Compile Include="My Project\Settings.Designer.vb">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <!-- Include the default configuration information and metadata files for the add-in.
         These files are copied to the build output directory when the project is
         built, and the path to the configuration file is passed to add-in on the command
         line when debugging.
    -->
  </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_ScriptComponent" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC130</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>]]></arrayElement><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[My Project\AssemblyInfo.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices

' General Information about an assembly is controlled through the following 
' set of attributes. Change these attribute values to modify the information
' associated with an assembly.

' Review the values of the assembly attributes

<Assembly: AssemblyTitle("ScriptComponent_b51bdb5cdd024fd4b41117088e5343a8.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_b51bdb5cdd024fd4b41117088e5343a8.vbproj")> 
<Assembly: AssemblyCopyright("Copyright @ Microsoft 2016")> 
<Assembly: AssemblyTrademark("")> 
<Assembly: CLSCompliant(True)> 

<Assembly: ComVisible(False)> 

'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("d556b2c6-8cc3-42f9-847b-a7b297cd7775")> 

' Version information for an assembly consists of the following four values:
'
'      Major Version
'      Minor Version 
'      Build Number
'      Revision
'
' You can specify all the values or you can default the Build and Revision Numbers 
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>

<Assembly: AssemblyVersion("1.0.0.0")> 
<Assembly: AssemblyFileVersion("1.0.0.0")> 
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[main.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-2016 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 CozyRoc.Dynamics.Crm
Imports CozyRoc.Dynamics.Crm2011.OrganizationService


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<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 req As New OrganizationRequest
            req.RequestName = "QualifyLead"

            ' Setup LeadId.
            req("LeadId") = SetupEntityReference_("lead", New Guid(Row.Buffer(m_liIndex).ToString()))

            ' Setup Status.
            Dim status As New OptionSetValue()
            status.Value = Convert.ToInt32(Row.Buffer(m_sIndex))
            req("Status") = status

            Dim value As Object

            value = GetBufferValue_(Row.Buffer, m_caIndex)
            If Not value Is Nothing Then
                req("CreateAccount") = Convert.ToBoolean(value)
            End If

            value = GetBufferValue_(Row.Buffer, m_ccIndex)
            If Not value Is Nothing Then
                req("CreateContact") = Convert.ToBoolean(value)
            End If

            value = GetBufferValue_(Row.Buffer, m_coIndex)
            If Not value Is Nothing Then
                req("CreateOpportunity") = Convert.ToBoolean(value)
            End If

            value = GetBufferValue_(Row.Buffer, m_ocurrIdIndex)
            If Not value Is Nothing Then
                req("OpportunityCurrencyId") = SetupEntityReference_( _
                    "transactioncurrency", _
                    New Guid(value.ToString()))
            End If

            value = GetBufferValue_(Row.Buffer, m_ocustIdIndex)
            If Not value Is Nothing Then
                req("OpportunityCustomerId") = SetupEntityReference_( _
                    "account", _
                    New Guid(value.ToString()))
            End If

            value = GetBufferValue_(Row.Buffer, m_sciIndex)
            If Not value Is Nothing Then
                req("SourceCampaignId") = SetupEntityReference_( _
                    "campaign", _
                    New Guid(value.ToString()))
            End If

            ' Execute action.
            Call m_service.Execute(req)
        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), _
            IConnection)
        Call m_connection.Connect()

        m_service = CType(m_connection.GetService(0), OrganizationServiceClient)   ' 0 - CRM Service

        ' Get input column indexes.
        m_caIndex = GetColumnIndex_("CreateAccount")
        m_ccIndex = GetColumnIndex_("CreateContact")
        m_coIndex = GetColumnIndex_("CreateOpportunity")
        m_liIndex = GetColumnIndex_("LeadId")
        m_ocurrIdIndex = GetColumnIndex_("OpportunityCurrencyId")
        m_ocustIdIndex = GetColumnIndex_("OpportunityCustomerId")
        m_sciIndex = GetColumnIndex_("SourceCampaignId")
        m_sIndex = GetColumnIndex_("Status")
    End Sub ' PreExecute


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

        Call m_connection.Close()
        m_caIndex = -1
        m_ccIndex = -1
        m_coIndex = -1
        m_liIndex = -1
        m_ocurrIdIndex = -1
        m_ocustIdIndex = -1
        m_sciIndex = -1
        m_sIndex = -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 inputCol As IDTSInputColumn100 = Nothing

            inputCol = GetInputColumn_("LeadId")
            If inputCol Is Nothing Then
                Throw New Exception("LeadId column is not mapped.")
            End If

            inputCol = GetInputColumn_("Status")
            If inputCol Is Nothing Then
                Throw New Exception("Status column is not mapped.")
            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 CreateAccount column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "CreateAccount"
        column.DataType = DataType.DT_BOOL

        ' Setup CreateContact column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "CreateContact"
        column.DataType = DataType.DT_BOOL

        ' Setup CreateOpportunity column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "CreateOpportunity"
        column.DataType = DataType.DT_BOOL

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

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

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

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

        ' Setup  Status column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "Status"
        column.DataType = DataType.DT_I4
    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
#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 Qualify Lead", _
            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

        GetInputColumn_ = result
    End Function    ' GetInputColumn_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetColumnIndex_(ByVal externalName As String) As Integer
        Dim result As Integer = -1

        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        Dim inputCol As IDTSInputColumn100 = GetInputColumn_(externalName)
        If Not inputCol Is Nothing Then
            result = Me.HostComponent.BufferManager.FindColumnByLineageID( _
                input.Buffer, _
                inputCol.LineageID)
        End If

        GetColumnIndex_ = result
    End Function    ' GetColumnIndex_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function SetupEntityReference_(ByVal entityName As String, ByVal id As Guid) As EntityReference
        Dim result As New EntityReference

        result.LogicalName = entityName
        result.Id = id

        SetupEntityReference_ = result
    End Function    ' SetupEntityReference_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetBufferValue_( _
        ByVal buffer As Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer, _
        ByVal index As Integer) As Object

        Dim result As Object = Nothing

        If index <> -1 AndAlso Not buffer.IsNull(index) Then
            result = buffer(index)
        End If

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


#Region "Attributes"
    Private m_crmConnection As String

    Private m_connection As IConnection
    Private m_service As OrganizationServiceClient
    Private m_caIndex As Integer
    Private m_ccIndex As Integer
    Private m_coIndex As Integer
    Private m_liIndex As Integer
    Private m_ocurrIdIndex As Integer
    Private m_ocustIdIndex As Integer
    Private m_sciIndex As Integer
    Private m_sIndex As Integer
#End Region ' Attributes

End Class   ' ScriptMain
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Settings.settings]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version='1.0' encoding='iso-8859-1'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)" GeneratedClassNamespace="" GeneratedClassName="MySettings">
  <Profiles>
    <Profile Name="(Default)" />
  </Profiles>
  <Settings />
</SettingsFile>]]></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:CodeName>scriptcomponent_b51bdb5cdd024fd4b41117088e5343a8</msb:CodeName>
		<msb:Language>msBuild</msb:Language>
		<msb:DisplayName>scriptcomponent_b51bdb5cdd024fd4b41117088e5343a8</msb:DisplayName>
		<msb:ProjectId>{E54F89A5-E5CB-402C-9A31-B25BFA54AD8C}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="scriptcomponent_b51bdb5cdd024fd4b41117088e5343a8.vbproj"/>
		<msb:File Include="My Project\Settings.Designer.vb"/>
		<msb:File Include="main.vb"/>
		<msb:File Include="BufferWrapper.vb"/>
		<msb:File Include="My Project\Resources.resx"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="My Project\AssemblyInfo.vb"/>
		<msb:File Include="My Project\Resources.Designer.vb"/>
		<msb:File Include="My Project\Settings.settings"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Settings.Designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On



Partial Friend NotInheritable Class MySettings
    Inherits System.Configuration.ApplicationSettingsBase

    Private Shared m_Value As MySettings

    Private Shared m_SyncObject As Object = New Object

    <System.Diagnostics.DebuggerNonUserCode()> _
    Public Shared ReadOnly Property Value() As MySettings
        Get
            If (MySettings.m_Value Is Nothing) Then
                System.Threading.Monitor.Enter(MySettings.m_SyncObject)
                If (MySettings.m_Value Is Nothing) Then
                    Try
                        MySettings.m_Value = New MySettings
                    Finally
                        System.Threading.Monitor.Exit(MySettings.m_SyncObject)
                    End Try
                End If
            End If
            Return MySettings.m_Value
        End Get
    End Property
End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Resources.resx]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Resources.Designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On


Namespace My.Resources
    
    '''<summary>
    '''   A strongly-typed resource class, for looking up localized strings, etc.
    '''</summary>
    'This class was auto-generated by the Strongly Typed Resource Builder
    'class via a tool like ResGen or Visual Studio.NET.
    'To add or remove a member, edit your .ResX file then rerun ResGen
    'with the /str option, or rebuild your VS project.
    Class MyResources
        
        Private Shared _resMgr As System.Resources.ResourceManager
        
        Private Shared _resCulture As System.Globalization.CultureInfo
        
        Friend Sub New()
            MyBase.New
        End Sub
        
        '''<summary>
        '''   Returns the cached ResourceManager instance used by this class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager
            Get
                If (_resMgr Is Nothing) Then
                    Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly)
                    _resMgr = temp
                End If
                Return _resMgr
            End Get
        End Property
        
        '''<summary>
        '''   Overrides the current thread's CurrentUICulture property for all
        '''   resource lookups using this strongly typed resource class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared Property Culture() As System.Globalization.CultureInfo
            Get
                Return _resCulture
            End Get
            Set
                _resCulture = value
            End Set
        End Property
    End Class
End Namespace
]]></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_b51bdb5cdd024fd4b41117088e5343a8.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
ZGUuDQ0KJAAAAAAAAABQRQAATAEDALAZYFgAAAAAAAAAAOAAIiALAVAAADQAAAAIAAAAAAAAYlIA
AAAgAAAAYAAAAAAAEAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACgAAAAAgAAAAAAAAMAQIUAABAA
ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAABBSAABPAAAAAGAAAAwFAAAAAAAAAAAAAAAAAAAA
AAAAAIAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAaDIAAAAgAAAANAAAAAIA
AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAAwFAAAAYAAAAAYAAAA2AAAAAAAAAAAAAAAAAABAAABA
LnJlbG9jAAAMAAAAAIAAAAACAAAAPAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAABE
UgAAAAAAAEgAAAACAAUANCoAACQnAAABAAAAAAAAAFhRAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAADoCAwQFDgQOBSgcAAAKKh4WjTkAAAEqABMwAQAJAAAAAQAA
EQIoHQAACgoGKgAAABMwAQAJAAAAAQAAEQIoHgAACgoGKn4CKB8AAAoCAnMKAAAGfQEAAAQCAnMM
AAAGfQIAAAQqvgMCKCAAAApvIQAACnIBAABwbyIAAApvIwAACjMRAgIDFwUOBHMBAAAGbwgAAAYq
SisHAgNvCQAABgNvBAAABi3xKgYqOgIoJAAACgIDfQMAAAQqggJ7AwAABG8gAAAKbyUAAApyDQAA
cG8mAAAKbycAAAoqOgIoJAAACgIDfQQAAAQqHgIoBgAABioAAAAbMAYAFgIAAAIAABFzKAAACgoG
cikAAHBvKQAACgZyQQAAcAJyTwAAcANvKgAACgJ7CwAABG8rAAAKbywAAApzLQAACigZAAAGby4A
AApzLwAACgsHA28qAAAKAnsPAAAEbysAAAooMAAACigxAAAKbzIAAAoGclkAAHAHby4AAAoCA28q
AAAKAnsIAAAEKBoAAAYoMAAACgwILBsGcmcAAHAIKDAAAAooMwAACoxBAAABby4AAAoCA28qAAAK
AnsJAAAEKBoAAAYoMAAACgwILBsGcoMAAHAIKDAAAAooMwAACoxBAAABby4AAAoCA28qAAAKAnsK
AAAEKBoAAAYoMAAACgwILBsGcp8AAHAIKDAAAAooMwAACoxBAAABby4AAAoCA28qAAAKAnsMAAAE
KBoAAAYoMAAACgwILCEGcsMAAHACcu8AAHAIbywAAApzLQAACigZAAAGby4AAAoCA28qAAAKAnsN
AAAEKBoAAAYoMAAACgwILCEGchcBAHACckMBAHAIbywAAApzLQAACigZAAAGby4AAAoCA28qAAAK
AnsOAAAEKBoAAAYoMAAACgwILCEGclMBAHACcnUBAHAIbywAAApzLQAACigZAAAGby4AAAoCewcA
AAQGbzQAAAom3jslKDUAAAoNAglvNgAACm83AAAKKBYAAAYoOAAACt4cJSg1AAAKEwQCEQRvOQAA
CigWAAAGKDgAAAreACoAAEE0AAAAAAAAAAAAANoBAADaAQAAHwAAAB4AAAEAAAAAAAAAANoBAAD5
AQAAHAAAAB8AAAETMAMAzQAAAAAAAAACKDoAAAoCAnsBAAAEbwsAAAYUbzsAAAp0GgAAAX0GAAAE
AnsGAAAEbzwAAAoCAnsGAAAEFm89AAAKdBsAAAF9BwAABAICcmcAAHAoGAAABn0IAAAEAgJygwAA
cCgYAAAGfQkAAAQCAnKfAABwKBgAAAZ9CgAABAICckEAAHAoGAAABn0LAAAEAgJywwAAcCgYAAAG
fQwAAAQCAnIXAQBwKBgAAAZ9DQAABAICclMBAHAoGAAABn0OAAAEAgJyWQAAcCgYAAAGfQ8AAAQq
AAAAEzACAEoAAAAAAAAAAig+AAAKAnsGAAAEbz8AAAoCFX0IAAAEAhV9CQAABAIVfQoAAAQCFX0L
AAAEAhV9DAAABAIVfQ0AAAQCFX0OAAAEAhV9DwAABCoAABswAgCIAAAAAwAAEQIoEwAABihAAAAK
LAtyhwEAcHNBAAAKegJyQQAAcCgXAAAGLQtyxwEAcHNBAAAKegJyWQAAcCgXAAAGLQtyAQIAcHNB
AAAKegIoIAAACm8lAAAKcg0AAHBvJgAACgIoEwAABm9CAAAKFwveGCUoNQAACgwWCwMIbzkAAApR
KDgAAAreAAcKBioBEAAAAAAAAGxsABgfAAABEzAEAEIBAAAAAAAAAihDAAAKAiggAAAKbyEAAApv
RAAACi0LcjsCAHBzQQAACnoCKCAAAApvIQAAChaMRQAAAW8iAAAKJW9FAAAKF29GAAAKJW9HAAAK
b0gAAAolb0UAAApvSQAACiVvRQAACm9KAAAKJXJnAABwb0sAAAofC29MAAAKJW9FAAAKb0oAAAol
coMAAHBvSwAACh8Lb0wAAAolb0UAAApvSgAACiVynwAAcG9LAAAKHwtvTAAACiVvRQAACm9KAAAK
JXJBAABwb0sAAAofSG9MAAAKJW9FAAAKb0oAAAolcsMAAHBvSwAACh9Ib0wAAAolb0UAAApvSgAA
CiVyFwEAcG9LAAAKH0hvTAAACiVvRQAACm9KAAAKJXJTAQBwb0sAAAofSG9MAAAKb0UAAApvSgAA
CiVyWQAAcG9LAAAKGW9MAAAKKgAAEzABAAkAAAAEAAARAnsFAAAECgYqIgIDfQUAAAQqAAATMAQA
EQAAAAUAABEXjTkAAAElFnJRAgBwogoGKgAAABMwBwAdAAAAAQAAERYKAiggAAAKFnJrAgBwA35N
AAAKFhIAb04AAAoqAAAAGzACAHwAAAAGAAARFAsCKCAAAApvIQAAChaMRQAAAW8iAAAKDAhvRQAA
CgNvTwAACg0Ib0cAAApvUAAAChMEKyIRBG9RAAAKdCAAAAETBREFb1IAAAoJb1MAAAozBREFC94h
EQRvVAAACi3V3hYRBHVJAAABLAwRBHVJAAABb1UAAArcBwoGKgEQAAACACYAPGIAFgAAAAATMAMA
RQAAAAcAABEVCwIoIAAACm8hAAAKFoxFAAABbyIAAAoMAgMoFwAABg0JLB0CKFYAAApvVwAACghv
WAAACglvWQAACm9aAAAKCwcKBioAAAATMAMAFgAAAAgAABFzWwAACiUDb1wAAAolBG9dAAAKCgYq
AAATMAIAJQAAAAkAABEUCwQVLhYDBG9eAAAKLQ0DBG8rAAAKKDAAAAoLBygwAAAKCgYqHgIoJAAA
CiqufhAAAAQtHnKfAgBw0AcAAAIoXwAACm9gAAAKc2EAAAqAEAAABH4QAAAEKhp+EQAABCoeAoAR
AAAEKh4CKGIAAAoqHgIoYwAACioufhIAAARvZAAACioufhMAAARvZQAACioufhQAAARvZgAACiou
fhUAAARvZwAACiqmc2gAAAqAEgAABHNpAAAKgBMAAARzagAACoAUAAAEc2sAAAqAFQAABCpCcyQA
AAooMAAACoAXAAAEKh4CKGwAAAoqABswAQA/AAAAAAAAAH4WAAAELTJ+FwAABCgwAAAKKG0AAAp+
FgAABC0ccycAAAaAFgAABN4QfhcAAAQoMAAACihuAAAK3H4WAAAEKgABEAAAAgAdAAwpABAAAAAA
NgIDKDAAAAoobwAACioeAihwAAAKKi7QDAAAAihfAAAKKh4CKCwAAAoqAAATMAEAFAAAAAoAABEC
jAUAABstCCgBAAArCisCAgoGKiID/hUFAAAbKgAAABMwAgAoAAAACwAAEQJ7cgAACm9zAAAKCgaM
CAAAGy0SKAIAACsKAntyAAAKBm90AAAKBipKAigkAAAKAnN1AAAKfXIAAAoqAEJTSkIBAAEAAAAA
AAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAACgNAAAjfgAAlA0AAGwRAAAjU3RyaW5ncwAAAAAAHwAA
1AIAACNVUwDUIQAAEAAAACNHVUlEAAAA5CEAAEAFAAAjQmxvYgAAAAAAAAACAAABVxWiCQkPAAAA
+gEzABYAAAEAAABPAAAADQAAABgAAAAxAAAAGwAAAHUAAAA/AAAACwAAAAcAAAANAAAADwAAAAgA
AAABAAAACwAAAAEAAAACAAAAAwAAAAIAAAAAAIcIAQAAAAAABgCnBp4NBgBRB54NBgA2BcsMDwBs
DgAABgB3BYoJBgBWBooJBgA4B4oJBgDHBooJBgDgBooJBgC+BYoJBgD7BvQIBgBjBVgNBgDfBFgN
BgAKBooJBgDZBdcHCgA0D+ABDgDTDwYEEgBSCwYEDgCICgYECgBFD+ABBgBfD/QIFgDjANULCgBz
BoUOCgCPBoUODgARBwYECgAPCvsIGgCJD94CGgAwEN4CGgCxB94CHgBuCrkOBgByCvQIIgA4AP0L
IgARAf0LIgAaAP0LBgCBDAYPGgBIA94CBgDZAvQIJgBeBlwICgBCBoUOBgCFC74NBgB8CnUJJgDK
BFwIJgBKBVwIJgACBb0LKgB2BC4NKgBEDN4MBgDyBcsMKgCOBXcNKgCmBbECKgAqDC4NKgAnBrEC
BgBNBPQIKgAeATIIJgDtBBoJJgCGBGAJBgAZBcsMBgDzB/QIDgBhCwYEIgABAP0LIgCzAP0LIgCQ
AP0LIgDKAP0LBgAlD54NBgAoEPQIBgASCfQIGgCeBN4CKgCcAncNLgBkA8oIBgBKAfQIIgBLAP0L
IgBzAP0LFgArBNULBgCLA/QIEgCjDwYEIgD8AP0LBgCXA/QIBgBUEYoJBgCyDMYHBgCbDPQIAAAA
AGYBAAAAAAEAAQABAAAAbgv6B0EAAQABAAEAAAC1D/oHUQABAAYAAQAAABkP+gdVAAMACgABAAAA
ew76B1UABAAMAAEAAAA3CfoHDAAFAA0AAAAAABQOzw1VABAAGwAAAAAAUgkVEbUAEgAfAAAAAABC
DBURuQASACAAAAEQAGYPFRFVABIAIQAAARAApw76B90AFgAmAAUBAAAgDQAAVQAYACkABQEAAC0B
AABVABgAMAAGABkP8wEGAHsO9wEBAMMP+wEBAMMP+wEBAFEK5gABAGEK/wEBABYDAwIBALUQBwIB
AL8QBwIBAPwQBwIBAPIQBwIBAMkQBwIBANgQBwIBAOcQBwIBAAYRBwIRAE0MCgIRAGoEDwIxABAL
FAIxAOcKHAIxAPsKJAIxACkLLQIRAIYHNQIRAFkPOQIhAIkQsAFQIAAAAAAGGKUMLwABAF8gAAAA
AMYK1w48AgYAXyAAAAAAxgruDjwCBgBoIAAAAACGAK0QPwAGAIAgAAAAAIYAeA8/AAYAlSAAAAAA
BhilDAYABgC1IAAAAADGAnMQQQIGAOUgAAAAAEYDbRBLAgoA+CAAAAAARgOXEEsCCwD6IAAAAAAG
GKUMUQIMAAkhAAAAAAYILQpnAA0AKiEAAAAABhilDFECDQA5IQAAAAAGGKUMBgAOAEQhAAAAAMYC
lxBLAg4AnCMAAAAAxgJvBwYADwB4JAAAAADGAnoHBgAPANAkAAAAAAYAwQRXAg8AdCUAAAAAxgJx
AgYAEADEJgAAAAAGCC0KggAQANkmAAAAAAYIPwoQABAA5CYAAAAAAQg0BDwCEQAEJwAAAAABAFYC
EAARADAnAAAAAAEARgJdAhIAyCcAAAAAAQBhAmQCEwAcKAAAAAABACACaQIUAEAoAAAAAAEANgJz
AhYAcSgAAAAAAxilDAYAGAB5KAAAAAAWCIELegIYAKUoAAAAABYIUgSAAhgArCgAAAAAFgheBIYC
GAC0KAAAAAAGGKUMBgAZALwoAAAAAAYYpQwGABkAxCgAAAAAEwg1DI0CGQDQKAAAAAATCEIJkgIZ
ANwoAAAAABMIJgyXAhkA6CgAAAAAEwgQDZ0CGQD0KAAAAAARGKsMrwAZAB4pAAAAABEYqwyvABkA
LykAAAAABhilDAYAGQA4KQAAAAAWCI4HogIZAJQpAAAAAMYCsg6MARkAoikAAAAAxgJYA1YAGgCq
KQAAAACDAEoEpwIaALYpAAAAAMYC8QeCABoAwCkAAAAAEQANAq0CGgDgKQAAAAABAPkBtQIbAHEo
AAAAAAYYpQwGABwA7CkAAAAAAwgvA2wBHAAgKgAAAAAGGKUMBgAcAAAAAQDrDwAAAgDPAQAAAwBl
EAAABABzCwAABQCWCgAAAQDYAQAAAgDxAwAAAwBzCwAABACWCgAAAQBzCwAAAQCxEAAAAQDrDwAA
AQDrDwAAAQCxEAAAAQB4AwAAAQDABwAAAQCDAwAAAQDUAwAAAQDUAwAAAQD7AwAAAgDbAgAAAQB6
CwAAAgAPEQAAAQC6BwAAAQCGCgAAAQA/AwAAAQA/AwkApQwBABEApQwGABkApQwKACkApQwQADEA
pQwQADkApQwQAEEApQwQAEkApQwQAFEApQwQAFkApQwVAGEApQwVAGkApQwQAHEApQwQAHkApQwQ
ALkApQwQAMEApQwGAMkApQwGADEBpQwQADkBpQwQAFkBpQwaAGEBpQwhAHkBpQwGAIEBpQwGAIkB
pQwGAJkBpQwnALEBpQwQAMEBpQwGAIEApQwvANEBrRA/ANEBeA8/AKEApQwGAIkAhgJDANkB+wlJ
AOEB4ghPAAkBbwFWAKkApQwGANkB2wlaAOkB4ghgAPEBlQtnAOEApQwGAOEA4QMQAIEARwt4AJEA
4gh9AKkA8QeCACkBpQwQAOEA6wiGAOkApQwGAPkBogeMAAECSAGRAOkAmAcBAAECEAmWANkAfgeb
ABkCcQyjAPEAcgipACEC1QiCABkCXwyvAPkAbAOCAIkAbwcGALEAGwqzANEAcA8GANEACwN9AIkA
egcGANEAswQGAMkBXRG/APkApQwQAPEBtwEQAKEAcQIGAOEBARBWAAkBnAnEADECzgIVAAkBwQnK
ADkCfQgGADECfQgGADECkxDQABEBuwMQABEBJwTWAMkBZRHmANkBVQzpADEC4ggJATkCjQwQARkB
9Q8WAQEBmgFWABEBbwFWABkBgBA/AEkCuQQGAKEA4w8lAVECqwsrAQkBRwtWAAEBdgFWAFkChAEx
ASEBpQwGACEBxAMQACEBxwI9AZEAwwhJAaEBqQNOAaEBUBFXAUEBpQxdAWkBpQwGAHEBpQwGAAwA
LwNsARQALwNsARwALwNsASQALwNsAQwApQwGABQApQwGABwApQwGACQApQwGALkBpQwGAHECLwyH
AXEChA+HAakAsg6MAakAWANWAHkCIAOZATQAiRCwATwAjgdsATwAmAfJATwApQwGAC4ACwD2Ai4A
EwD/Ai4AGwAeAy4AIwAnAy4AKwBkAy4AMwBqAy4AOwAnAy4AQwB5Ay4ASwBkAy4AUwCZAy4AWwBk
Ay4AYwCfAy4AawDJAy4AcwDWA0MAUwBkA2MAUwBkA4kAkwC1BIkAmwDiBMMAewAsBMMAgwAeBMMA
iwAeBMMAUwBkA8kAowAeA+kAowAeAwMBqwA6BAMBowAjBAkB0wD5BCMBqwA6BCMBowAjBCkB0wAK
BUABUwBkA0MBuwAeBEMBwwAeBEMBqwA6BEkB0wAeBWkB0wArBYABUwBkA4MBowAjBIMBywBTBIkB
2wAeBKMBowAjBKMBWwBkAwAEswAeBAAEowAjBCAEswAeBEAEswAeBGAEswAeBIAEswAeBCAFowAj
BCAFswAeBEAFowAjBEAFswAeBGAFowAjBGAFswAeBIAFowAjBIAFswAeBKAFswAeBMAFswAeBOAF
swAeBOAFowAjBAAGswAeBCAGswAeBCAGowAjBDsAbAC4AN0A4QD0ABoBNwFEAZEBpAECAAEABAAD
AAYABAAHAAYACgAIAAsADAANAA0AAADbDr0CAADyDr0CAABDCsICAABDCscCAAA4BL0CAACFC8sC
AABuBNECAABEDNcCAABUCdwCAAAqDOECAAAiDecCAAC6B+wCAAAzA/ECAgACAAMAAgADAAUAAgAL
AAcAAgATAAkAAQAUAAkAAgAVAAsAAgAcAA0AAgAdAA8AAQAeAA8AAgAhABEAAgAiABMAAgAjABUA
AgAkABcAAgAoABkAAgAwABsAZQFxAXgBgAGWAakBuQHBAQSAAAABAAAAAAAAAAAAAAAAAPoHAAAE
AAAAAAAAAAAAAADPAagCAAAAAAEAAAAAAAAAAAAAANgBUAEAAAAADQAAAAAAAAAAAAAA4QELEAAA
AAANAAAAAAAAAAAAAADhAUQQAAAAAA0AAAAAAAAAAAAAAOEBoAoAAAAAAQAAAAAAAAAAAAAA2AG6
DAAAAAAEAAAAAAAAAAAAAADqAfwMAAAAAA0AAAAAAAAAAAAAAOEBwwoAAAAABAAAAAAAAAAAAAAA
zwH0CAAAAAAKAAAAAAAAAAAAAADqAbECAAAAAAQAAAAAAAAAAAAAAM8ByggAAAAAAAAAAAEAAAAg
DgAADAAKAA0ACgAAABAAGgD3AQAAEABbAPcBAAAAAF0A9wHjAJ8B4wDEAQAAAElEVFNDb21wb25l
bnRNZXRhRGF0YTEwMABJRFRTRXh0ZXJuYWxNZXRhZGF0YUNvbHVtbjEwMABJRFRTSW5wdXRDb2x1
bW4xMDAASURUU0V4dGVybmFsTWV0YWRhdGFDb2x1bW5Db2xsZWN0aW9uMTAwAElEVFNJbnB1dENv
bHVtbkNvbGxlY3Rpb24xMDAASURUU1J1bnRpbWVDb25uZWN0aW9uQ29sbGVjdGlvbjEwMABJRFRT
SW5wdXRDb2xsZWN0aW9uMTAwAElEVFNSdW50aW1lQ29ubmVjdGlvbjEwMABJRFRTQ29ubmVjdGlv
bk1hbmFnZXIxMDAASURUU0J1ZmZlck1hbmFnZXIxMDAASURUU0lucHV0MTAwAENvbnRleHRWYWx1
ZWAxAFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAxAFRvSW50MzIAQ296eVJvYy5TU0lTUGx1cy4y
MDE2ADxNb2R1bGU+AGdldF9JRABnZXRfTGluZWFnZUlEAEZpbmRDb2x1bW5CeUxpbmVhZ2VJRABn
ZXRfRXh0ZXJuYWxNZXRhZGF0YUNvbHVtbklEAHNldF9Db25uZWN0aW9uTWFuYWdlcklEAE9iamVj
dElEAElucHV0SUQAQ296eVJvYy5TcWxTZXJ2ZXIuU1NJUwBUAERpc3Bvc2VfX0luc3RhbmNlX18A
Q3JlYXRlX19JbnN0YW5jZV9fAFNldHVwRW50aXR5UmVmZXJlbmNlXwBHZXRCdWZmZXJWYWx1ZV8A
R2V0SW5wdXRDb2x1bW5fAEZpcmVFcnJvcl8AR2V0Q29sdW1uSW5kZXhfAFJlaW5pdGlhbGl6ZU1l
dGFEYXRhAGdldF9Db21wb25lbnRNZXRhRGF0YQBQcm9qZWN0RGF0YQBtc2NvcmxpYgBNaWNyb3Nv
ZnQuVmlzdWFsQmFzaWMAc2V0X0lkAHNldF9Jc1VzZWQAR3VpZABDb3p5Um9jLkR5bmFtaWNzLkNy
bTIwMTEuT3JnYW5pemF0aW9uU2VydmljZQBHZXRTZXJ2aWNlAG1fc2VydmljZQBDcmVhdGVJbnN0
YW5jZQBnZXRfR2V0SW5zdGFuY2UAaW5zdGFuY2UARW50aXR5UmVmZXJlbmNlAEdldEhhc2hDb2Rl
AFhtbE5vZGUAZ2V0X01lc3NhZ2UAZXJyTWVzc2FnZQBtZXNzYWdlAElEaXNwb3NhYmxlAFJ1bnRp
bWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFuZGxlAHNldF9OYW1lAHNldF9Mb2dpY2FsTmFtZQBl
eHRlcm5hbE5hbWUAc2V0X1JlcXVlc3ROYW1lAElucHV0TmFtZQBlbnRpdHlOYW1lAE1pY3Jvc29m
dC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5lAHNldF9EYXRhVHlwZQBnZXRfQ3JtQ29ubmVjdGlvblR5
cGUAR2V0VHlwZQBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQBfcmVzQ3VsdHVyZQBBcHBsaWNhdGlv
bkJhc2UAQXBwbGljYXRpb25TZXR0aW5nc0Jhc2UAT3JnYW5pemF0aW9uUmVzcG9uc2UAQ2xvc2UA
RGlzcG9zZQBWYWxpZGF0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBHdWlkQXR0cmlidXRlAEhlbHBL
ZXl3b3JkQXR0cmlidXRlAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUARGVidWdnZXJOb25Vc2VyQ29k
ZUF0dHJpYnV0ZQBEZWJ1Z2dhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZUF0dHJpYnV0ZQBD
b21WaXNpYmxlQXR0cmlidXRlAEFzc2VtYmx5VGl0bGVBdHRyaWJ1dGUAU3RhbmRhcmRNb2R1bGVB
dHRyaWJ1dGUASGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1
dGUAVGFyZ2V0RnJhbWV3b3JrQXR0cmlidXRlAERlYnVnZ2VySGlkZGVuQXR0cmlidXRlAEFzc2Vt
Ymx5RmlsZVZlcnNpb25BdHRyaWJ1dGUATXlHcm91cENvbGxlY3Rpb25BdHRyaWJ1dGUAQ29ubmVj
dGlvbkF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAFZhbGlkYXRlUHJvcGVy
dGllc0F0dHJpYnV0ZQBDb2x1bW5NYXBwaW5nc0F0dHJpYnV0ZQBDb21waWxhdGlvblJlbGF4YXRp
b25zQXR0cmlidXRlAEFzc2VtYmx5UHJvZHVjdEF0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0
dHJpYnV0ZQBDTFNDb21wbGlhbnRBdHRyaWJ1dGUAU1NJU1NjcmlwdENvbXBvbmVudEVudHJ5UG9p
bnRBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5
QXR0cmlidXRlAFByZUV4ZWN1dGUAUG9zdEV4ZWN1dGUAbV9WYWx1ZQBnZXRfVmFsdWUAc2V0X1Zh
bHVlAEdldE9iamVjdFZhbHVlAE9wdGlvblNldFZhbHVlAHZhbHVlAFN5c3RlbS5UaHJlYWRpbmcA
U3lzdGVtLlJ1bnRpbWUuVmVyc2lvbmluZwBUb1N0cmluZwBTY3JpcHRDb21wb25lbnRfYjUxYmRi
NWNkZDAyNGZkNGI0MTExNzA4OGU1MzQzYTgudmJwcm9qAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5N
eVNlcnZpY2VzLkludGVybmFsAFN5c3RlbS5Db21wb25lbnRNb2RlbABnZXRfRGV0YWlsAFJlbW92
ZUFsbABTY3JpcHRDb21wb25lbnRfYjUxYmRiNWNkZDAyNGZkNGI0MTExNzA4OGU1MzQzYTgudmJw
cm9qLmRsbABJc051bGwAU3lzdGVtLlhtbABnZXRfSW5uZXJYbWwAZ2V0X0l0ZW0Ac2V0X0l0ZW0A
U3lzdGVtAENvenlSb2MuRHluYW1pY3MuQ3JtAFRvQm9vbGVhbgBTeXN0ZW0uQ29tcG9uZW50TW9k
ZWwuRGVzaWduAFNjcmlwdE1haW4AZ2V0X0FwcGxpY2F0aW9uAE15QXBwbGljYXRpb24AU3lzdGVt
LkNvbmZpZ3VyYXRpb24AU3lzdGVtLkdsb2JhbGl6YXRpb24AU3lzdGVtLlJlZmxlY3Rpb24AZ2V0
X0V4dGVybmFsTWV0YWRhdGFDb2x1bW5Db2xsZWN0aW9uAGdldF9JbnB1dENvbHVtbkNvbGxlY3Rp
b24AZ2V0X1J1bnRpbWVDb25uZWN0aW9uQ29sbGVjdGlvbgBnZXRfSW5wdXRDb2xsZWN0aW9uAElD
b25uZWN0aW9uAEFjcXVpcmVDb25uZWN0aW9uAGdldF9Dcm1Db25uZWN0aW9uAHNldF9Dcm1Db25u
ZWN0aW9uAG1fY3JtQ29ubmVjdGlvbgBtX2Nvbm5lY3Rpb24AU29hcEV4Y2VwdGlvbgBDdWx0dXJl
SW5mbwBPdXRwdXROYW1lTWFwAE91dHB1dE1hcABNaWNyb3NvZnQuU3FsU2VydmVyLkRUU1J1bnRp
bWVXcmFwAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRFRTUGlwZWxpbmVXcmFwAG1fQXBwT2JqZWN0UHJv
dmlkZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAbV9Db21wdXRlck9iamVjdFByb3ZpZGVyAG1fTXlX
ZWJTZXJ2aWNlc09iamVjdFByb3ZpZGVyAGdldF9CdWZmZXIAUGlwZWxpbmVCdWZmZXIAU2NyaXB0
QnVmZmVyAElucHV0QnVmZmVyAGJ1ZmZlcgBnZXRfUmVzb3VyY2VNYW5hZ2VyAGdldF9Db25uZWN0
aW9uTWFuYWdlcgBnZXRfQnVmZmVyTWFuYWdlcgBTeXN0ZW0uQ29kZURvbS5Db21waWxlcgBNaWNy
b3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lLldyYXBwZXIATWljcm9zb2Z0LlNxbFNlcnZlci5E
dHMuUGlwZWxpbmUuV3JhcHBlcgBnZXRfVXNlcgBFbnRlcgBnZXRfQ29tcHV0ZXIATXlDb21wdXRl
cgBfcmVzTWdyAEZpcmVFcnJvcgBDbGVhclByb2plY3RFcnJvcgBTZXRQcm9qZWN0RXJyb3IASUVu
dW1lcmF0b3IAR2V0RW51bWVyYXRvcgBBY3RpdmF0b3IALmN0b3IALmNjdG9yAE1vbml0b3IAQ296
eVJvYy5EeW5hbWljcwBTeXN0ZW0uRGlhZ25vc3RpY3MATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkRl
dmljZXMAU3lzdGVtLldlYi5TZXJ2aWNlcwBnZXRfV2ViU2VydmljZXMATXlXZWJTZXJ2aWNlcwBN
aWNyb3NvZnQuVmlzdWFsQmFzaWMuQXBwbGljYXRpb25TZXJ2aWNlcwBTeXN0ZW0uUnVudGltZS5J
bnRlcm9wU2VydmljZXMATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2VydmljZXMAU3lz
dGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBTeXN0ZW0uUmVzb3VyY2VzAFNjcmlwdENvbXBv
bmVudF9iNTFiZGI1Y2RkMDI0ZmQ0YjQxMTE3MDg4ZTUzNDNhOC52YnByb2ouTXkuUmVzb3VyY2Vz
AE15UmVzb3VyY2VzAFNjcmlwdENvbXBvbmVudF9iNTFiZGI1Y2RkMDI0ZmQ0YjQxMTE3MDg4ZTUz
NDNhOC52YnByb2ouUmVzb3VyY2VzLnJlc291cmNlcwBEZWJ1Z2dpbmdNb2RlcwBWYXJpYWJsZXMA
Q296eVJvYy5TcWxTZXJ2ZXIuU1NJUy5BdHRyaWJ1dGVzAE15U2V0dGluZ3MARXF1YWxzAFN5c3Rl
bS5XZWIuU2VydmljZXMuUHJvdG9jb2xzAGdldF9TdGF0aWNJbnB1dENvbHVtbnMAZ2V0X1N0YXRp
Y091dHB1dENvbHVtbnMAU3lzdGVtLkNvbGxlY3Rpb25zAENvbm5lY3Rpb25zAFJ1bnRpbWVIZWxw
ZXJzAFNjcmlwdEJ1ZmZlclBsdXMAU2NyaXB0Q29tcG9uZW50UGx1cwBtX1N5bmNPYmplY3QATXlQ
cm9qZWN0AENvbm5lY3QARW5kT2ZSb3dzZXQARXhpdABPcmdhbml6YXRpb25TZXJ2aWNlQ2xpZW50
AFBpcGVsaW5lQ29tcG9uZW50AFVzZXJDb21wb25lbnQAUGFyZW50Q29tcG9uZW50AFNjcmlwdENv
bXBvbmVudABnZXRfSG9zdENvbXBvbmVudABnZXRfQ3VycmVudABnZXRfQ291bnQATWljcm9zb2Z0
LlNxbFNlcnZlci5UeFNjcmlwdABDb252ZXJ0AE9yZ2FuaXphdGlvblJlcXVlc3QATWljcm9zb2Z0
LlNxbFNlcnZlci5QaXBlbGluZUhvc3QASXNJbnB1dABJbnB1dF9Qcm9jZXNzSW5wdXQATW92ZU5l
eHQAbV9Db250ZXh0AE5ldwBJbnB1dF9Qcm9jZXNzSW5wdXRSb3cATmV4dFJvdwBtX2NhSW5kZXgA
bV9jY0luZGV4AG1fb2N1cnJJZEluZGV4AG1fb2N1c3RJZEluZGV4AG1fc2NpSW5kZXgAbV9saUlu
ZGV4AG1fY29JbmRleABtX3NJbmRleABpbmRleABTY3JpcHRDb21wb25lbnRfYjUxYmRiNWNkZDAy
NGZkNGI0MTExNzA4OGU1MzQzYTgudmJwcm9qLk15AGdldF9Bc3NlbWJseQBJc051bGxPckVtcHR5
AAAAC0kAbgBwAHUAdAAAG0MAcgBtAEMAbwBuAG4AZQBjAHQAaQBvAG4AABdRAHUAYQBsAGkAZgB5
AEwAZQBhAGQAAA1MAGUAYQBkAEkAZAAACWwAZQBhAGQAAA1TAHQAYQB0AHUAcwAAG0MAcgBlAGEA
dABlAEEAYwBjAG8AdQBuAHQAABtDAHIAZQBhAHQAZQBDAG8AbgB0AGEAYwB0AAAjQwByAGUAYQB0
AGUATwBwAHAAbwByAHQAdQBuAGkAdAB5AAArTwBwAHAAbwByAHQAdQBuAGkAdAB5AEMAdQByAHIA
ZQBuAGMAeQBJAGQAACd0AHIAYQBuAHMAYQBjAHQAaQBvAG4AYwB1AHIAcgBlAG4AYwB5AAArTwBw
AHAAbwByAHQAdQBuAGkAdAB5AEMAdQBzAHQAbwBtAGUAcgBJAGQAAA9hAGMAYwBvAHUAbgB0AAAh
UwBvAHUAcgBjAGUAQwBhAG0AcABhAGkAZwBuAEkAZAAAEWMAYQBtAHAAYQBpAGcAbgAAP1MAZQBs
AGUAYwB0ACAARAB5AG4AYQBtAGkAYwBzACAAQwBSAE0AIABDAG8AbgBuAGUAYwB0AGkAbwBuAC4A
ADlMAGUAYQBkAEkAZAAgAGMAbwBsAHUAbQBuACAAaQBzACAAbgBvAHQAIABtAGEAcABwAGUAZAAu
AAA5UwB0AGEAdAB1AHMAIABjAG8AbAB1AG0AbgAgAGkAcwAgAG4AbwB0ACAAbQBhAHAAcABlAGQA
LgAAFU4AbwAgAGkAbgBwAHUAdABzAC4AABlEAFkATgBBAE0ASQBDAFMALQBDAFIATQABM0QAeQBu
AGEAbQBpAGMAcwAgAEMAUgBNACAAUQB1AGEAbABpAGYAeQAgAEwAZQBhAGQAADFNAHkALgBSAGUA
cwBvAHUAcgBjAGUAcwAuAE0AeQBSAGUAcwBvAHUAcgBjAGUAcwAAAAAAzYOYNDrB6ky5XwWBe11T
CAAEIAEBCAMgAAEFIAEBEREEIAEBDgQgAQECBiABARGAqQUgAgEODgcgBAEODg4OCyAFARJFCAIS
SRJNAwcBAgMgAAIFIAASgO0FIAASgPEGIAESgIUcAyAACAUgABKA9QYgARKA+RwEIAASWQsHBRJx
EnUcEnkSfQQgABJJBCABHAgDIAAOBSACAQ4cBAABHBwEAAEIHAQAAQIcByABEoEJEnEFAAEBEn0F
IAASgREDAAABBCABHBwGBwMCAhJ9BAABAg4FIAASgRkFIAASgR0FIAASgIkGIAEBEYEhAwcBDgQH
AR0OAgYOCiAGAQgODg4IEAIUBwYSgIESgIESgIUSgIkSgI0SgIEGIAESgIkcBSAAEoCNAyAAHAoH
BAgIEoCFEoCBBSAAEoEpBSAAEoEtBSACCAgIBQcBEoCRBiABARGAlQQHAhwcBCABAggIAAESgNER
gTEFIAASgTUHIAIBDhKBNQYVEjQBEiQEIAATAAYVEjQBEiAHFRI0ARKAyQYVEjQBEjAEAAEBHAQg
AQIcBAcBHgACHgAFEAEAHgAECgEeAAQHARMABhUSNAETAAgGFRKA1QETAAcVEoDVARMAAhMABAoB
EwAFIAEBEwAIt3pcVhk04IkIFs9JC7gMNOoIiYRdzYCAzJEIsD9ffxHVCjoDBhIQAwYSFAMGEkUD
BhJpAwYSbQIGCAQGEoChBAYSgKUHBhUSNAESJAcGFRI0ARIgCAYVEjQBEoDJBwYVEjQBEjADBhIs
AgYcBCAAHQ4JIAQBCA4SSRJNBSABARIIBSABARJFBSABAhAOBiABEoCBDgQgAQgOCSACEoCRDhGA
lQYgAhwSSQgFAAASgKEFAAASgKUGAAEBEoClBAAAEiQEAAASIAUAABKAyQQAABIwBAAAEiwFIAAS
gNEHEAEBHgAeAAcwAQEBEB4ABCgAHQ4EKAASWQMoAA4FCAASgKEFCAASgKUECAASJAQIABIgBQgA
EoDJBAgAEjAECAASLAQoABMACAEACAAAAAAAHgEAAQBUAhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dz
AQgBAAIAAAAAADwBADdTY3JpcHRDb21wb25lbnRfYjUxYmRiNWNkZDAyNGZkNGI0MTExNzA4OGU1
MzQzYTgudmJwcm9qAAAFAQAAAAAOAQAJTWljcm9zb2Z0AAAfAQAaQ29weXJpZ2h0IEAgTWljcm9z
b2Z0IDIwMTYAAAUBAAEAACkBACRkNTU2YjJjNi04Y2MzLTQyZjktODQ3Yi1hN2IyOTdjZDc3NzUA
AAwBAAcxLjAuMC4wAABHAQAaLk5FVEZyYW1ld29yayxWZXJzaW9uPXY0LjABAFQOFEZyYW1ld29y
a0Rpc3BsYXlOYW1lEC5ORVQgRnJhbWV3b3JrIDQEAQAAAAgBAAEAAAAAAA0BAAhWYWxpZGF0ZQAA
GAEACk15VGVtcGxhdGUIMTEuMC4wLjAAAGEBADRTeXN0ZW0uV2ViLlNlcnZpY2VzLlByb3RvY29s
cy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2VfXxNEaXNwb3NlX19JbnN0
YW5jZV9fAAAALAEAJ1NlbGVjdCBEeW5hbWljcyBDUk0gQ29ubmVjdGlvbiBNYW5hZ2VyLgAAFgEA
EUNybUNvbm5lY3Rpb25UeXBlAAAQAQALTXkuQ29tcHV0ZXIAABMBAA5NeS5BcHBsaWNhdGlvbgAA
DAEAB015LlVzZXIAABMBAA5NeS5XZWJTZXJ2aWNlcwAAALQAAADOyu++AQAAAJEAAABsU3lzdGVt
LlJlc291cmNlcy5SZXNvdXJjZVJlYWRlciwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3Vs
dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5I1N5c3RlbS5SZXNv
dXJjZXMuUnVudGltZVJlc291cmNlU2V0AgAAAAAAAAAAAAAAUEFEUEFEULQAAAA4UgAAAAAAAAAA
AABSUgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARFIAAAAAAAAAAAAAAABfQ29yRGxsTWFpbgBt
c2NvcmVlLmRsbAAAAAAA/yUAIAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAAAAAYAACAAAAA
AAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAAWGAAALAEAAAAAAAA
AAAAALAENAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9BO/+AAABAAAAAQAA
AAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEAVgBhAHIARgBpAGwA
ZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAAAAAsAQQBAAAAQBT
AHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAADsAwAAAQAwADAAMAAwADAANABiADAAAAAaAAEA
AQBDAG8AbQBtAGUAbgB0AHMAAAAAAAAANAAKAAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAABN
AGkAYwByAG8AcwBvAGYAdAAAAJgAOAABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAA
AABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfAGIANQAxAGIAZABiADUAYwBkAGQAMAAy
ADQAZgBkADQAYgA0ADEAMQAxADcAMAA4ADgAZQA1ADMANAAzAGEAOAAuAHYAYgBwAHIAbwBqAAAA
MAAIAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAmAA8AAEASQBu
AHQAZQByAG4AYQBsAE4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfAGIA
NQAxAGIAZABiADUAYwBkAGQAMAAyADQAZgBkADQAYgA0ADEAMQAxADcAMAA4ADgAZQA1ADMANAAz
AGEAOAAuAHYAYgBwAHIAbwBqAC4AZABsAGwAAABaABsAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkA
ZwBoAHQAAABDAG8AcAB5AHIAaQBnAGgAdAAgAEAAIABNAGkAYwByAG8AcwBvAGYAdAAgADIAMAAx
ADYAAAAAACoAAQABAEwAZQBnAGEAbABUAHIAYQBkAGUAbQBhAHIAawBzAAAAAAAAAAAAoAA8AAEA
TwByAGkAZwBpAG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAFMAYwByAGkAcAB0AEMAbwBtAHAAbwBu
AGUAbgB0AF8AYgA1ADEAYgBkAGIANQBjAGQAZAAwADIANABmAGQANABiADQAMQAxADEANwAwADgA
OABlADUAMwA0ADMAYQA4AC4AdgBiAHAAcgBvAGoALgBkAGwAbAAAAJAAOAABAFAAcgBvAGQAdQBj
AHQATgBhAG0AZQAAAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwBiADUAMQBiAGQA
YgA1AGMAZABkADAAMgA0AGYAZAA0AGIANAAxADEAMQA3ADAAOAA4AGUANQAzADQAMwBhADgALgB2
AGIAcAByAG8AagAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4A
MAAuADAAAAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAw
AC4AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAwAAABkMgAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=]]></arrayElement></arrayElements></property><property id="9" name="UserComponentTypeName" dataType="System.String">CozyRoc.ScriptComponentHostPlus</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_b51bdb5cdd024fd4b41117088e5343a8</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="15" name="CrmConnection" connectionManagerID="{AD0515CC-EE6D-4910-B8B2-FEACB3A0E0CA}" /></connections><inputs><input id="16" name="Input" hasSideEffects="true"><externalMetadataColumns isUsed="True"><externalMetadataColumn id="22" name="CreateAccount" dataType="bool" /><externalMetadataColumn id="23" name="CreateContact" dataType="bool" /><externalMetadataColumn id="24" name="CreateOpportunity" dataType="bool" /><externalMetadataColumn id="25" name="LeadId" dataType="guid" /><externalMetadataColumn id="26" name="OpportunityCurrencyId" dataType="guid" /><externalMetadataColumn id="27" name="OpportunityCustomerId" dataType="guid" /><externalMetadataColumn id="28" name="SourceCampaignId" dataType="guid" /><externalMetadataColumn id="29" name="Status" dataType="i4" /></externalMetadataColumns></input></inputs></component>