<component id="2" name="Dynamics CRM Opportunity State" 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-2012 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.Collections
Imports System.Web.Services.Protocols

Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime
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


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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Class Consts
        Public Const Opportunity As String = "opportunity"
        Public Const OpportunityClose As String = "opportunityclose"
        Public Const OpportunityState As String = "opportunitystatecode"
        Public Const OpportunityStatus As String = "opportunitystatuscode"
        Public Const ReferenceType As String = "ReferenceType"
        Public Const OpportunityId As String = "opportunityid"
    End Class


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub Input_ProcessInputRow(ByVal Row As InputBuffer)
        Try
            If Not m_service2011 Is Nothing Then
                Call Process2011_(Row.Buffer)
            ElseIf Not m_service4 Is Nothing Then
                Call Process4_(Row.Buffer)
            Else
                Call Process3_(Row.Buffer)
            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

        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        m_closeEntity = m_connection.ConstructEntity(Consts.OpportunityClose)

        ' Get input column indexes.
        Dim colsCount As Integer = input.InputColumnCollection.Count
        m_inputIdx = New Integer(colsCount - 1) {}
        For colIndex As Integer = 0 To colsCount - 1
            Dim inputCol As IDTSInputColumn100 = Input.InputColumnCollection(colIndex)

            Dim extColumn As IDTSExternalMetadataColumn100 = Input.ExternalMetadataColumnCollection.GetObjectByID( _
                    inputCol.ExternalMetadataColumnID)

            If extColumn.Name = Consts.OpportunityState Then
                m_stateIdx = colIndex
            ElseIf extColumn.Name = Consts.OpportunityStatus Then
                m_statusIdx = colIndex
            Else
                Dim refType As String = CStr(extColumn.CustomPropertyCollection(Consts.ReferenceType).Value)
                Call m_closeEntity.SetupAttribute(extColumn.Name, refType)
            End If

            m_inputIdx(colIndex) = MyBase.HostComponent.BufferManager.FindColumnByLineageID( _
                input.Buffer, _
                inputCol.LineageID)
        Next

        If m_stateIdx = -1 Then
            Throw New Exception(Consts.OpportunityState + " not mapped.")
        End If
    End Sub ' PreExecute


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

        Call m_connection.Close()
        m_closeEntity = Nothing
        m_inputIdx = Nothing
        m_stateIdx = -1
        m_statusIdx = -1
    End Sub ' PostExecute


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

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

            Dim input As IDTSInput100 = Me.ComponentMetaData.InputCollection(0)
            If input.IsAttached AndAlso input.InputColumnCollection.Count = 0 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
        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

        If String.IsNullOrEmpty(Me.CrmConnection) Then
            Throw New Exception("Connection not selected.")
        End If

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

        ' Get opportunityclose attributes.
        Dim connection As ICrmConnection = Nothing
        Dim attributes As ICrmAttribute()
        Try
            Dim manager As ConnectionManager = Me.DesignConnections(Me.CrmConnection)
            connection = CType(manager.AcquireConnection(Nothing), ICrmConnection)
            Call connection.Connect()

            attributes = connection.GetEntityAttributes(Consts.OpportunityClose)
        Finally
            If Not connection Is Nothing Then
                Call connection.Close()
            End If
        End Try

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

        Dim extColumn As IDTSExternalMetadataColumn100

        ' Setup column metadata.
        For Each attribute As ICrmAttribute In attributes
            extColumn = input.ExternalMetadataColumnCollection.[New]()
            extColumn.Name = attribute.Name
            extColumn.DataType = CType(attribute.AttributeType, DataType)
            extColumn.Length = attribute.Length
            extColumn.Precision = attribute.Precision
            extColumn.Scale = attribute.Scale
            extColumn.CodePage = 0

            ' Setup reference type property.
            Dim prop As IDTSCustomProperty100 = extColumn.CustomPropertyCollection.[New]()
            prop.Name = Consts.ReferenceType
            prop.Value = attribute.Reference
        Next

        ' Include opportunity state column.
        extColumn = input.ExternalMetadataColumnCollection.[New]()
        extColumn.Name = Consts.OpportunityState
        extColumn.DataType = DataType.DT_I4

        ' Include opportunity status column.
        extColumn = input.ExternalMetadataColumnCollection.[New]()
        extColumn.Name = Consts.OpportunityStatus
        extColumn.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 Opportunity State", _
            message, _
            String.Empty, _
            0, _
            cancel)
    End Sub ' FireError_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub GetValues_( _
        ByRef buffer As PipelineBuffer, _
        ByRef state As Integer, _
        ByRef status As Integer)

        state = -1
        status = -1

        Dim entityIndex As Integer = 0
        Dim colsCount As Integer = m_inputIdx.Length
        For colIndex As Integer = 0 To colsCount - 1
            Dim bufIndex As Integer = m_inputIdx(colIndex)

            ' Get value.
            Dim value As Object = Nothing
            If Not buffer.IsNull(bufIndex) Then
                value = buffer(bufIndex)

                If TypeOf value Is BlobColumn Then
                    value = buffer.GetString(bufIndex)
                End If
            End If

            If colIndex = m_stateIdx Then
                state = Convert.ToInt32(value)
            ElseIf colIndex = m_statusIdx Then
                status = Convert.ToInt32(value)
            Else
                m_closeEntity.SetAttributeValue(entityIndex, value)
                entityIndex += 1
            End If
        Next

        If state < 0 OrElse state > 2 Then
            Throw New Exception("Unhandled opportunity state.")
        End If
    End Sub ' GetValues_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub Process2011_(ByVal buffer As PipelineBuffer)
        Dim req As CRM2011.OrganizationRequest = New CRM2011.OrganizationRequest()

        Dim state, status As Integer
        Call GetValues_(buffer, state, status)

        Dim osv As CRM2011.OptionSetValue

        ' Setup status.
        osv = New CRM2011.OptionSetValue()
        osv.Value = status
        req("Status") = osv

        Select Case state
            Case 0
                req.RequestName = "SetState"

                ' Setup state.
                osv = New CRM2011.OptionSetValue()
                osv.Value = state
                req("State") = osv

                ' Setup entity
                Dim entityRef As CRM2011.EntityReference = New CRM2011.EntityReference()
                entityRef.LogicalName = Consts.Opportunity
                entityRef.Id = New Guid(m_closeEntity.GetAttributeValue(Consts.OpportunityId).ToString())
                req("EntityMoniker") = entityRef

            Case 1
                req.RequestName = "WinOpportunity"
                req("OpportunityClose") = m_closeEntity.ConstructDynamicEntity()
            Case 2
                req.RequestName = "LoseOpportunity"
                req("OpportunityClose") = m_closeEntity.ConstructDynamicEntity()
        End Select

        Call m_service2011.Execute(req)
    End Sub ' Process2011_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub Process4_(ByVal buffer As PipelineBuffer)
        Dim req As CRM4.Request = Nothing

        Dim state, status As Integer
        Call GetValues_(buffer, state, status)

        Select Case CType(state, CRM4.OpportunityState)
            Case CRM4.OpportunityState.Open
                Dim stateReq As CRM4.SetStateDynamicEntityRequest = New CRM4.SetStateDynamicEntityRequest()

                ' Setup state.
                stateReq.State = "Open"

                ' Setup status.
                stateReq.Status = status

                ' Setup entity.
                Dim moniker As CRM4.Moniker = New CRM4.Moniker()
                moniker.Name = Consts.Opportunity
                moniker.Id = New Guid(m_closeEntity.GetAttributeValue(Consts.OpportunityId).ToString())
                stateReq.Entity = moniker

                req = stateReq

            Case CRM4.OpportunityState.Won
                Dim winReq As CRM4.WinOpportunityRequest = New CRM4.WinOpportunityRequest()
                winReq.Status = status
                winReq.OpportunityClose = CType( _
                    m_closeEntity.ConstructDynamicEntity(), _
                    CRM4.BusinessEntity)

                req = winReq

            Case CRM4.OpportunityState.Lost
                Dim loseReq As CRM4.LoseOpportunityRequest = New CRM4.LoseOpportunityRequest()
                loseReq.Status = status
                loseReq.OpportunityClose = CType( _
                    m_closeEntity.ConstructDynamicEntity(), _
                    CRM4.BusinessEntity)

                req = loseReq
        End Select

        Call m_service4.Execute(req)
    End Sub ' Process4_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub Process3_(ByVal buffer As PipelineBuffer)
        Dim req As CRM3.Request = Nothing

        Dim state, status As Integer
        Call GetValues_(buffer, state, status)

        Select Case CType(state, CRM3.OpportunityState)
            Case CRM3.OpportunityState.Open
                Dim stateReq As CRM3.SetStateDynamicEntityRequest = New CRM3.SetStateDynamicEntityRequest()

                ' Setup state.
                stateReq.State = "Open"

                ' Setup status.
                stateReq.Status = status

                ' Setup entity.
                Dim moniker As CRM3.Moniker = New CRM3.Moniker()
                moniker.Name = Consts.Opportunity
                moniker.Id = New Guid(m_closeEntity.GetAttributeValue(Consts.OpportunityId).ToString())
                stateReq.Entity = moniker

                req = stateReq

            Case CRM3.OpportunityState.Won
                Dim winReq As CRM3.WinOpportunityRequest = New CRM3.WinOpportunityRequest()
                winReq.Status = status
                winReq.OpportunityClose = CType( _
                    m_closeEntity.ConstructDynamicEntity(), _
                    CRM3.BusinessEntity)

                req = winReq

            Case CRM3.OpportunityState.Lost
                Dim loseReq As CRM3.LoseOpportunityRequest = New CRM3.LoseOpportunityRequest()
                loseReq.Status = status
                loseReq.OpportunityClose = CType( _
                    m_closeEntity.ConstructDynamicEntity(), _
                    CRM3.BusinessEntity)

                req = loseReq
        End Select

        Call m_service3.Execute(req)
    End Sub ' Process3_
#End Region ' Internals


#Region "Attributes"
    Private m_crmConnection As String

    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_closeEntity As ICrmEntity
    Private m_inputIdx() As Integer
    Private m_stateIdx As Integer = -1
    Private m_statusIdx As Integer = -1
#End Region ' Attributes

End Class   ' ScriptMain
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ScriptComponent_ffa3ca46f57a4a838fb5af55c1fd8058.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>{2E8B3E51-8928-4592-8B3F-5A1F1E6D66FA}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptComponent_ffa3ca46f57a4a838fb5af55c1fd8058</RootNamespace>
    <AssemblyName>ScriptComponent_ffa3ca46f57a4a838fb5af55c1fd8058</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><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_ffa3ca46f57a4a838fb5af55c1fd8058</msb:CodeName>
		<msb:DisplayName>ScriptComponent_ffa3ca46f57a4a838fb5af55c1fd8058</msb:DisplayName>
		<msb:ProjectId>{FF8CB0F4-5662-4112-891D-7F4FA78001AB}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="ScriptComponent_ffa3ca46f57a4a838fb5af55c1fd8058.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></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_ffa3ca46f57a4a838fb5af55c1fd8058.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
LjMwMzE5AAAAAAUAbAAAAMwNAAAjfgAAOA4AAGgSAAAjU3RyaW5ncwAAAACgIAAAXAMAACNVUwD8
IwAAEAAAACNHVUlEAAAADCQAAAAGAAAjQmxvYgAAAAAAAAACAAABVx2iCQkOAAAA+iUzABYAAAEA
AABZAAAADAAAABgAAAArAAAAGgAAAJ0AAAAGAAAAMQAAABsAAAAFAAAACgAAAAsAAAAJAAAAAQAA
AA0AAAADAAAAAwAAAAIAAAAAADISAQAAAAAACgBGARwBCgB6AVwBBgCKAYMBCgDiARwBBgBgAoMB
CgDiArgCDgA0Ax0DEgCDA2IDFgC0A2IDEgDDA2IDDgBnBB0DGgAiBfoEDgAsBh0DHgCGBlkGHgDL
Bq4GHgDLBuEGDgAKBx0DIgDJB7MHIgDiB7MHIgAPCPcHBgA5CCYICgB4CFEICgCQCBMAIgDFCKgI
BgD6CNoIBgAYCYMBBgA8CYMBCgBVCRMABgCjCYQJBgC3CYMBEgC+CWIDBgDLCYMBJgAuCgUKJgBd
CgUKJgCICgUKJgClCgUKJgDoCgUKKgBJCysLBgBXC4MBCgBsC1EILgCTC4gLJgDRCwUKJgDvCwUK
BgAnDIMBJgA9DAUKJgB+DAUKCgD/DFEIJgAXDQUKJgBUDQUKCgBqDVEIFgCFDWIDJgCpDQUKBgAI
DoMBDgBEDh0DMgCRDnEOMgD0AHEOGgABD/oEFgCPD2IDBgCkD4MBHgDGD1kGHgDVD1kGHgDpD1kG
BgD5D4MBNgD5D4MBHgBXEFkGHgB0EK4GHgB8EK4GHgCEEK4GHgChEK4GHgC3EK4GHgB0B64GHgDu
EK4GHgASEa4GHgB0EOEGHgB8EOEGHgCEEOEGHgChEOEGHgC3EOEGHgB0B+EGHgDuEOEGHgASEeEG
EgAbEWIDDgBkEUIRDgCAEUIRDgCYEUIRIgCsEbMHBgDBEdoIBgDhEdoIBgAZEv8RAAAAAAEAAAAA
AAEAAQAAAAAAKQA3AAUAAQABAAAAAABrADcACQABAAIAAAEQAHYANwANAAEAAwAFAQAAgAAAAA0A
BQAIAAUBAACOAAAADQAFAA8AAQAAAKkAtQAdAAYAEQABAAAA5gC1AC0ABgAWAAEAAAD0ALUADQAI
ABoAAQAAAAABtQANAAkAHAABAAAACgG1ACAACgAdAAMAAAAVAQAADQATACsAMQClASAAMQDOAS0A
MQDwAToAMQAVAkcAIQDxApAABgD0AMkABgAAAc0AAQDHBOEAAQDHBOEAAQAcBhEBAQA7BhQBAQCg
BhgBAQDWBhwBAQD/BiABAQAVByQBAQAjBygBAQAuBywBAQA5BywBVoBXBxEBVoBjBxEBVoB0BxEB
VoCFBxEBVoCXBxEBVoClBxEBUCAAAAAABhhWARMAAQBYIAAAAAAGGFYBEwABAGAgAAAAABEYkQEX
AAEAjCAAAAAAEwiYARsAAQCkIAAAAAATCL4BKAABALwgAAAAABMI5wE1AAEA1CAAAAAAEwgFAkIA
AQDsIAAAAABGAksCYwABAAghAAAAAEYCVAJoAAIAHCEAAAAAgwBlAmwAAgA0IQAAAABGAm0CcQAC
AEghAAAAABEAdgJ4AAIAZCEAAAAAAQCUAoAAAwCAIQAAAAAGGFYBEwAEAIghAAAAAAMIqAKLAAQA
vCEAAAAABhhWARMABADQIQAAAAAGGFYBrwAEAOAhAAAAAEYK/QO7AAkA9CEAAAAARgoUBLsACQAI
IgAAAACGACwEwAAJACAiAAAAAIYANATAAAkAOCIAAAAABhhWARMACQBYIgAAAABGAnsE0QAJAIgi
AAAAAEYDmgTbAA0AnCIAAAAARgOtBNsADgCgIgAAAAAGGFYB5QAPALAiAAAAAAYIOwXrABAA3CIA
AAAABhhWAeUAEADsIgAAAAAGGFYBEwARAAQjAAAAAEYCrQTbABEAoCMAAAAARgJbBRMAEgBkJQAA
AABGAmYFEwASAJQlAAAAAAYAcgX1ABIAQCYAAAAARgKGBRMAEwDwJwAAAAAGCDsFcQATAAgoAAAA
AAYImwX7ABMAFCgAAAAAAQizBbsAFAA0KAAAAAABAMkF+wAUAGAoAAAAAAEA3AUAARUALCkAAAAA
AQD7BQsBGABEKgAAAAABAAgGCwEZADQrAAAAAAEAEgYLARoAJCwAAAAABhhWARMAGwAAAAEAUgIA
AAEAiwIAAAEAiwIAAAEA0QMAAAIA2wMAAAMA5AMAAAQA7AMAAAUA8wMAAAEAiAQAAAIAkAQAAAMA
7AMAAAQA8wMAAAEA7AMAAAEAwwQAAAEA0QMAAAEA0QMAAAEAwwQAAAEAewUAAAEArQUAAAEA1AUA
AAEA5wUAAAIA7gUAAAMA9AUAAAEA5wUAAAEA5wUAAAEA5wUJAFYBEwCRAFYB9QGhAFYBBAIRAFYB
EwCpAFYBEwAkAFYBEwAsAFYBEwA0AFYBEwA8AFYBEwAkAKgCiwAsAKgCiwA0AKgCiwA8AKgCiwCx
AFYBEwC5AFYBEwDBAFYB+wDJAAkJngIZAEsCYwAZAFQCaAApACoJqwIZAG0CcQDZAEYJuwIZAFYB
EwDhAFYBywJEAPECkABMAHAJiwBMAHoJSANMAFYBEwDpAFYBVwM5AFYBrwD5ACwEwAD5ADQEwAAB
AVYBVwNZAFYBEwBBAEcKZwMJAXQKbQMRAZUKcwMZAZ4KaAAJAcgKegMhAZUKgAMpAQEL6wA5AGEL
jANBAXgLkQMxAZsLmANJAaYLcQBBAbMLFwA5AcULcQBBAFsFEwBhAAIMpwNpABQMEwBpABwMrAM5
AVYB+wBpAC0MsQMZAVoMtwNpAXQMaABpAZUKvQMZAaYMxANZAcsMaABxAegMygNRAfYMcQB5AQkN
0QNRATcN2AOBAZUK3gOJAXAJ5QORAW0C6QOJAHYN7gNZAJcN9AOZAb4N+gMZAWELaABZAdANaACh
Ad4NAARBAGYFEwBpAPQNEwDxAPoNFwSpAVYB+wAZAR0OwAApASwO+wBZAIYFEwARAXQMaABZAKMO
JwTBAZUKLQS5AQIMpwNpALkONARxAc0OVwNpAdgOEwBxAdgOEwBxAeIOPASxAfYMcQBRAeYO+wCx
Ae8OaABRAQoPQgSxARcPaABRASIPSQSxAS0PaABRATsPSQSxAUkPaABRAVMPSQRRAV0PSQSBAeIO
TgSJAeYO+wCxAWoPcQCJAXoJVATxAHgPEQEJAX4PfQRJAIgPiARJAJUKrANJAJoPjQTZAawPkgSJ
ALQPlwTpAVYBEwDhAVYBEwDhAXoJSQTpAf4PpgTpAQcQ+wDxAVYBEwDxARcQ+wCJACcQrAT5AVYB
+wDxATkQsQSJAEAQ5QNxAGwQuAQhAlYBEwAhAs4Q+wAhAtgQSQQZAlYBEwAZAuYO+wAZAjkQsQQh
AuMQ1gQpAlYBEwApAtgQSQQpAv0Q3QQxAlYBEwAxAtgQSQQxAv0Q3QR5AGwQ5ARhAlYBEwBhAs4Q
+wBhAtgQSQRZAlYBEwBZAuYO+wBZAjkQsQRhAuMQCgVpAlYBEwBpAtgQSQRpAv0QEQVxAlYBEwBx
AtgQSQRxAv0QEQWBAGwQGAWRAlYBEwCZAlYB+wChAlYBEwCpAlYB+wCxAlYB+wC5AlYBSQTBAlYB
EwDJAlYB+wAOAEwAMwEOAFAASgEOAFQAawEOAFgAlAEOAFwAvwEOAGAA2gEpAIMAWAIuANsEkAUu
AOMEmQUuAOsEuAVAACsAIwJAABMA+wFDABsACgJDABMA+wFJAIMAigJjABsACgJjABMA+wFpAIMA
aQKAACsAIwKDAHMAIwKDABsACgKDAHsAIwKJAIMAdgKgACsAIwKjABMA+wGjAMMA0wLAACsAIwLD
ABMA+wHDAOsAXAPgACsAIwLjAAsBXAMAASsAIwIAARMA+wEDAQsBXAMgARMA+wEgASsAIwIpAdME
YwUpAcsETAVAASsAIwJAARMA+wFgASsAIwJgARMA+wFjAbMEIwJjAbsEPgVjAcMEIwJjAQsBXAOA
ASsAIwKgASsAIwLAASsAIwLAARMA+wHgASsAIwIAAhMA+wEAAisAIwJAAwsBXAOAAwsBXANEAkkC
TgJTAqMCpwKyArcCxgLGAk4DYgNiA6MCowKHA54DBgQcBFkEtwJ2BKMCnQTBBO0EIQUEAAEABgAF
AAcABgAJAAgACwAJAAAAegFPAAAAMwJUAAAA4gFZAAAAPwJeAAAA+wKYAAAAQATEAAAAUwTEAAAA
TQXwAAAATQUvAQAARQfEAAIABAADAAIABQAFAAIABgAHAAIABwAJAAIADwALAAIAEgANAAIAEwAP
AAIAGwARAAIAIwATAAEAJAATAAIAJQAVAHUAdQCIACgCLwI2Aj0CNQM8AwSAAAAAAAAAAAAAAAAA
AAAAALUAAAAEAAAAAAAAAAAAAAABAAoAAAAAAAoAAAAAAAAAAAAAAAoAEwAAAAAAAQAAAAAAAAAA
AAAAnQAHAwAAAAAMAAAAAAAAAAAAAACmAEUDAAAAAAwAAAAAAAAAAAAAAKYAkwMAAAAADAAAAAAA
AAAAAAAApgDXBAAAAAABAAAAAAAAAAAAAACdAEgGAAAAAAQAAAAAAAAAAAAAAAEAgwEAAAAADAAA
AAAAAAAAAAAApgDhCQAAAAAEAAAAAAAAAAAAAAAKABcLAAAAAAQAAAAAAAAAAAAAAAEAiAsAAAAA
DAAAAAAAAAAAAAAApgBSDgAAAAACAAAAAAAAAAAAAAABAAoAAAAAAAUABAAGAAQADAALAAAAEAAM
AIkCAAAQABkAiQIAAAAAGwCJAi0AwQItAEMDAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0
LlZpc3VhbEJhc2ljAE15QXBwbGljYXRpb24AU2NyaXB0Q29tcG9uZW50X2ZmYTNjYTQ2ZjU3YTRh
ODM4ZmI1YWY1NWMxZmQ4MDU4Lk15AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMA
VGhyZWFkU2FmZU9iamVjdFByb3ZpZGVyYDEASW5wdXRCdWZmZXIAU2NyaXB0Q29tcG9uZW50X2Zm
YTNjYTQ2ZjU3YTRhODM4ZmI1YWY1NWMxZmQ4MDU4AFVzZXJDb21wb25lbnQAQ29ubmVjdGlvbnMA
VmFyaWFibGVzAFNjcmlwdE1haW4AQ29uc3RzAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5BcHBsaWNh
dGlvblNlcnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3RvcgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMu
RGV2aWNlcwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5jY3RvcgBnZXRfQ29tcHV0ZXIAbV9Db21w
dXRlck9iamVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlvbgBtX0FwcE9iamVjdFByb3ZpZGVyAFVz
ZXIAZ2V0X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAZ2V0X1dlYlNlcnZpY2VzAG1fTXlXZWJT
ZXJ2aWNlc09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9uAFdlYlNlcnZpY2VzAEVxdWFscwBvAEdl
dEhhc2hDb2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBDcmVhdGVfX0luc3RhbmNlX18AVABpbnN0
YW5jZQBEaXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJbnN0YW5jZQBNaWNyb3NvZnQuVmlzdWFs
QmFzaWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0VmFsdWVgMQBtX0NvbnRleHQAR2V0SW5z
dGFuY2UAQ296eVJvYy5TU0lTUGx1cy4yMDE0AENvenlSb2MuU3FsU2VydmVyLlNTSVMAU2NyaXB0
QnVmZmVyUGx1cwBNaWNyb3NvZnQuU3FsU2VydmVyLlR4U2NyaXB0AE1pY3Jvc29mdC5TcWxTZXJ2
ZXIuRHRzLlBpcGVsaW5lAFNjcmlwdENvbXBvbmVudABNaWNyb3NvZnQuU3FsU2VydmVyLlBpcGVs
aW5lSG9zdABQaXBlbGluZUJ1ZmZlcgBPdXRwdXROYW1lTWFwAENvbXBvbmVudABPYmplY3RJRABJ
c0lucHV0AEJ1ZmZlcgBPdXRwdXRNYXAAZ2V0X1N0YXRpY0lucHV0Q29sdW1ucwBnZXRfU3RhdGlj
T3V0cHV0Q29sdW1ucwBOZXh0Um93AEVuZE9mUm93c2V0AFN0YXRpY0lucHV0Q29sdW1ucwBTdGF0
aWNPdXRwdXRDb2x1bW5zAFNjcmlwdENvbXBvbmVudFBsdXMAUHJvY2Vzc0lucHV0AElucHV0SUQA
SW5wdXROYW1lAElucHV0X1Byb2Nlc3NJbnB1dABJbnB1dF9Qcm9jZXNzSW5wdXRSb3cAUm93AFBh
cmVudENvbXBvbmVudABNaWNyb3NvZnQuU3FsU2VydmVyLkRUU1J1bnRpbWVXcmFwAE1pY3Jvc29m
dC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUuV3JhcHBlcgBJRFRTQ29ubmVjdGlvbk1hbmFnZXIxMDAA
Z2V0X0NybUNvbm5lY3Rpb24AQ3JtQ29ubmVjdGlvbgBQcmVFeGVjdXRlAFBvc3RFeGVjdXRlAFZh
bGlkYXRlAGVyck1lc3NhZ2UAUmVpbml0aWFsaXplTWV0YURhdGEAc2V0X0NybUNvbm5lY3Rpb24A
dmFsdWUAZ2V0X0NybUNvbm5lY3Rpb25UeXBlAEZpcmVFcnJvcl8AbWVzc2FnZQBHZXRWYWx1ZXNf
AGJ1ZmZlcgBzdGF0ZQBzdGF0dXMAUHJvY2VzczIwMTFfAFByb2Nlc3M0XwBQcm9jZXNzM18AbV9j
cm1Db25uZWN0aW9uAElDcm1Db25uZWN0aW9uAG1fY29ubmVjdGlvbgBDb3p5Um9jLkR5bmFtaWNz
AENvenlSb2MuRHluYW1pY3MuQ3JtMjAxMS5Pcmdhbml6YXRpb25TZXJ2aWNlAE9yZ2FuaXphdGlv
blNlcnZpY2VDbGllbnQAbV9zZXJ2aWNlMjAxMQBDb3p5Um9jLkR5bmFtaWNzLkNybS5TZXJ2aWNl
AENybVNlcnZpY2UAbV9zZXJ2aWNlNABDb3p5Um9jLkR5bmFtaWNzLkNybTMuU2VydmljZQBtX3Nl
cnZpY2UzAElDcm1FbnRpdHkAbV9jbG9zZUVudGl0eQBtX2lucHV0SWR4AG1fc3RhdGVJZHgAbV9z
dGF0dXNJZHgAQ3JtQ29ubmVjdGlvblR5cGUAT3Bwb3J0dW5pdHkAT3Bwb3J0dW5pdHlDbG9zZQBP
cHBvcnR1bml0eVN0YXRlAE9wcG9ydHVuaXR5U3RhdHVzAFJlZmVyZW5jZVR5cGUAT3Bwb3J0dW5p
dHlJZABTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlAEVkaXRv
ckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBpbGVyAEdlbmVyYXRlZENvZGVBdHRy
aWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlkZGVuQXR0cmlidXRlAE1pY3Jvc29m
dC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhp
ZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25lbnRNb2RlbC5EZXNpZ24ASGVscEtl
eXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVs
cGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBB
Y3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxlY3Rpb25BdHRyaWJ1dGUAZ2V0X1Zh
bHVlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMAQ29tVmlzaWJsZUF0
dHJpYnV0ZQBTdHJpbmcAU2NyaXB0QnVmZmVyAENMU0NvbXBsaWFudEF0dHJpYnV0ZQBNaWNyb3Nv
ZnQuU3FsU2VydmVyLkRUU1BpcGVsaW5lV3JhcABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5QaXBl
bGluZS5XcmFwcGVyAElEVFNDb21wb25lbnRNZXRhRGF0YTEwMABnZXRfQ29tcG9uZW50TWV0YURh
dGEASURUU0lucHV0Q29sbGVjdGlvbjEwMABnZXRfSW5wdXRDb2xsZWN0aW9uAElEVFNJbnB1dDEw
MABnZXRfSXRlbQBnZXRfSUQASURUU1J1bnRpbWVDb25uZWN0aW9uQ29sbGVjdGlvbjEwMABnZXRf
UnVudGltZUNvbm5lY3Rpb25Db2xsZWN0aW9uAElEVFNSdW50aW1lQ29ubmVjdGlvbjEwMABnZXRf
Q29ubmVjdGlvbk1hbmFnZXIAU3lzdGVtLldlYi5TZXJ2aWNlcwBTeXN0ZW0uV2ViLlNlcnZpY2Vz
LlByb3RvY29scwBTb2FwRXhjZXB0aW9uAEV4Y2VwdGlvbgBnZXRfQnVmZmVyAFByb2plY3REYXRh
AFNldFByb2plY3RFcnJvcgBTeXN0ZW0uWG1sAFhtbE5vZGUAZ2V0X0RldGFpbABnZXRfSW5uZXJY
bWwAQ2xlYXJQcm9qZWN0RXJyb3IAZ2V0X01lc3NhZ2UASURUU0V4dGVybmFsTWV0YWRhdGFDb2x1
bW4xMDAASURUU0lucHV0Q29sdW1uMTAwAEFjcXVpcmVDb25uZWN0aW9uAENvbm5lY3QAR2V0U2Vy
dmljZQBJbnQzMgBDb25zdHJ1Y3RFbnRpdHkASURUU0lucHV0Q29sdW1uQ29sbGVjdGlvbjEwMABn
ZXRfSW5wdXRDb2x1bW5Db2xsZWN0aW9uAGdldF9Db3VudABJRFRTRXh0ZXJuYWxNZXRhZGF0YUNv
bHVtbkNvbGxlY3Rpb24xMDAAZ2V0X0V4dGVybmFsTWV0YWRhdGFDb2x1bW5Db2xsZWN0aW9uAGdl
dF9FeHRlcm5hbE1ldGFkYXRhQ29sdW1uSUQAR2V0T2JqZWN0QnlJRABnZXRfTmFtZQBPcGVyYXRv
cnMAQ29tcGFyZVN0cmluZwBJRFRTQ3VzdG9tUHJvcGVydHlDb2xsZWN0aW9uMTAwAGdldF9DdXN0
b21Qcm9wZXJ0eUNvbGxlY3Rpb24ASURUU0N1c3RvbVByb3BlcnR5MTAwAENvbnZlcnNpb25zAFNl
dHVwQXR0cmlidXRlAFBpcGVsaW5lQ29tcG9uZW50AGdldF9Ib3N0Q29tcG9uZW50AElEVFNCdWZm
ZXJNYW5hZ2VyMTAwAGdldF9CdWZmZXJNYW5hZ2VyAGdldF9MaW5lYWdlSUQARmluZENvbHVtbkJ5
TGluZWFnZUlEAENsb3NlAElzTnVsbE9yRW1wdHkAQXBwbGljYXRpb25FeGNlcHRpb24AZ2V0X0lz
QXR0YWNoZWQAc2V0X0Nvbm5lY3Rpb25NYW5hZ2VySUQASUNybUF0dHJpYnV0ZQBNaWNyb3NvZnQu
U3FsU2VydmVyLk1hbmFnZWREVFMATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUnVudGltZQBDb25u
ZWN0aW9uTWFuYWdlcgBnZXRfRGVzaWduQ29ubmVjdGlvbnMAR2V0RW50aXR5QXR0cmlidXRlcwBz
ZXRfSXNVc2VkAFJlbW92ZUFsbABOZXcAc2V0X05hbWUAZ2V0X0F0dHJpYnV0ZVR5cGUARGF0YVR5
cGUAc2V0X0RhdGFUeXBlAGdldF9MZW5ndGgAc2V0X0xlbmd0aABnZXRfUHJlY2lzaW9uAHNldF9Q
cmVjaXNpb24AZ2V0X1NjYWxlAHNldF9TY2FsZQBzZXRfQ29kZVBhZ2UAZ2V0X1JlZmVyZW5jZQBF
bXB0eQBGaXJlRXJyb3IASXNOdWxsAEJsb2JDb2x1bW4AR2V0U3RyaW5nAENvbnZlcnQAVG9JbnQz
MgBTZXRBdHRyaWJ1dGVWYWx1ZQBPcHRpb25TZXRWYWx1ZQBPcmdhbml6YXRpb25SZXF1ZXN0AEVu
dGl0eVJlZmVyZW5jZQBHdWlkAHNldF9JdGVtAHNldF9SZXF1ZXN0TmFtZQBzZXRfTG9naWNhbE5h
bWUAR2V0QXR0cmlidXRlVmFsdWUAc2V0X0lkAENvbnN0cnVjdER5bmFtaWNFbnRpdHkAT3JnYW5p
emF0aW9uUmVzcG9uc2UARXhlY3V0ZQBSZXF1ZXN0AE1vbmlrZXIAU2V0U3RhdGVEeW5hbWljRW50
aXR5UmVxdWVzdABXaW5PcHBvcnR1bml0eVJlcXVlc3QATG9zZU9wcG9ydHVuaXR5UmVxdWVzdABz
ZXRfU3RhdGUAc2V0X1N0YXR1cwBzZXRfRW50aXR5AEJ1c2luZXNzRW50aXR5AHNldF9PcHBvcnR1
bml0eUNsb3NlAFJlc3BvbnNlAFNTSVNTY3JpcHRDb21wb25lbnRFbnRyeVBvaW50QXR0cmlidXRl
AENvenlSb2MuU3FsU2VydmVyLlNTSVMuQXR0cmlidXRlcwBWYWxpZGF0ZVByb3BlcnRpZXNBdHRy
aWJ1dGUAQ29sdW1uTWFwcGluZ3NBdHRyaWJ1dGUAQ29ubmVjdGlvbkF0dHJpYnV0ZQBEZXNjcmlw
dGlvbkF0dHJpYnV0ZQBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21w
YXRpYmlsaXR5QXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0RnJhbWV3
b3JrQXR0cmlidXRlAFNjcmlwdENvbXBvbmVudF9mZmEzY2E0NmY1N2E0YTgzOGZiNWFmNTVjMWZk
ODA1OC5kbGwAAAALSQBuAHAAdQB0AAAbQwByAG0AQwBvAG4AbgBlAGMAdABpAG8AbgAAM1UAbgBo
AGEAbgBkAGwAZQBkACAAcwBlAHIAdgBpAGMAZQAgAG8AYgBqAGUAYwB0AC4AACFvAHAAcABvAHIA
dAB1AG4AaQB0AHkAYwBsAG8AcwBlAAApbwBwAHAAbwByAHQAdQBuAGkAdAB5AHMAdABhAHQAZQBj
AG8AZABlAAArbwBwAHAAbwByAHQAdQBuAGkAdAB5AHMAdABhAHQAdQBzAGMAbwBkAGUAABtSAGUA
ZgBlAHIAZQBuAGMAZQBUAHkAcABlAABBbwBwAHAAbwByAHQAdQBuAGkAdAB5AHMAdABhAHQAZQBj
AG8AZABlACAAbgBvAHQAIABtAGEAcABwAGUAZAAuAAA/UwBlAGwAZQBjAHQAIABEAHkAbgBhAG0A
aQBjAHMAIABDAFIATQAgAGMAbwBuAG4AZQBjAHQAaQBvAG4ALgAAJU0AYQBwACAAaQBuAHAAdQB0
ACAAYwBvAGwAdQBtAG4AcwAuAAAVTgBvACAAaQBuAHAAdQB0AHMALgAAMUMAbwBuAG4AZQBjAHQA
aQBvAG4AIABuAG8AdAAgAHMAZQBsAGUAYwB0AGUAZAAuAAAZRABZAE4AQQBNAEkAQwBTAC0AQwBS
AE0AAT1EAHkAbgBhAG0AaQBjAHMAIABDAFIATQAgAE8AcABwAG8AcgB0AHUAbgBpAHQAeQAgAFMA
dABhAHQAZQAAOVUAbgBoAGEAbgBkAGwAZQBkACAAbwBwAHAAbwByAHQAdQBuAGkAdAB5ACAAcwB0
AGEAdABlAC4AAA1TAHQAYQB0AHUAcwAAEVMAZQB0AFMAdABhAHQAZQAAC1MAdABhAHQAZQAAF28A
cABwAG8AcgB0AHUAbgBpAHQAeQAAG28AcABwAG8AcgB0AHUAbgBpAHQAeQBpAGQAABtFAG4AdABp
AHQAeQBNAG8AbgBpAGsAZQByAAAdVwBpAG4ATwBwAHAAbwByAHQAdQBuAGkAdAB5AAAhTwBwAHAA
bwByAHQAdQBuAGkAdAB5AEMAbABvAHMAZQAAH0wAbwBzAGUATwBwAHAAbwByAHQAdQBuAGkAdAB5
AAAJTwBwAGUAbgAAAAAAUO27n2LqV024wdeA7GiAEAAIt3pcVhk04IkIsD9ffxHVCjoDIAABAwAA
AQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUSGAESEQQAABIUBwYVEhgBEhQECAAS
DAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIeAAcQAQEeAB4ABzABAQEQHgACEwAE
IAATAAcGFRIZARMABCgAEwAIFs9JC7gMNOoIiYRdzYCAzJELIAUBEiEIAhIlEikEIAAdDgMgAAIE
KAAdDgMGEiQDBhIoCSAEAQgOEiUSKQUgAQESHAMGEiEFIAEBEiEEIAASMQQoABIxBSABAhAOBCAB
AQ4KIAMBEBIlEAgQCAUgAQESJQIGDgMGEjUDBhI5AwYSPQMGEkEDBhJFAwYdCAIGCAMoAA4WbwBw
AHAAbwByAHQAdQBuAGkAdAB5ACBvAHAAcABvAHIAdAB1AG4AaQB0AHkAYwBsAG8AcwBlAChvAHAA
cABvAHIAdAB1AG4AaQB0AHkAcwB0AGEAdABlAGMAbwBkAGUAKm8AcABwAG8AcgB0AHUAbgBpAHQA
eQBzAHQAYQB0AHUAcwBjAG8AZABlABpSAGUAZgBlAHIAZQBuAGMAZQBUAHkAcABlABpvAHAAcABv
AHIAdAB1AG4AaQB0AHkAaQBkAAUgAQERTQgBAAEAAAAAAAUgAgEODhgBAApNeVRlbXBsYXRlCDEw
LjAuMC4wAAAEAQAAAAYVEhgBEgwGFRIYARIIBhUSGAESEQYVEhgBEhQEBwESDAQHARIIBAcBEhEE
BwESFBABAAtNeS5Db21wdXRlcgAADAEAB015LlVzZXIAABMBAA5NeS5XZWJTZXJ2aWNlcwAAEwEA
Dk15LkFwcGxpY2F0aW9uAAAEAAEcHAMHAQIDBwEIBgABEhURaQQHARIVAwcBDgUQAQAeAAQKAR4A
BAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2ViLlNlcnZpY2VzLlByb3RvY29scy5Tb2FwSHR0cENs
aWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2VfXxNEaXNwb3NlX19JbnN0YW5jZV9fAAAABhUS
GAETAAYVEhkBEwAECgETAAUgAQETAAgHAxMAEwATAAQgAQECBQEAAAAABAcBHQ4FIAASgIUFIAAS
gIkGIAESgI0cBSAAEoCRBiABEoCVHAQHARIxBCAAEiUGAAEBEoCdBSAAEoClCAcCEoCZEoCdBCAB
HBwEIAEcCAUgARJFDgUgABKAtQYgARKArRwFIAASgLkGIAESgKkIBgADCA4OAgUgABKAwQYgARKA
xRwDIAAcBAABDhwFIAIIDg4FIAASgM0FIAASgNEFIAIICAgQBwgIEoCNHAgSgKkSgK0OCAQAAQIO
CgcEAgISgI0SgJ0FIAASgOEGIAESgN0cByABHRKA2Q4FIAASgKkGIAEBEYDlBCABAQgFIAASgMUE
IAEBHBwHCR0SgNkSNRKAqRKAjRKA3RKA2RKAxQgdEoDZBgcCHQ4dDgogBgEIDg4OCBACBCABAggE
IAEOCAQAAQgcBSACAQgcCAcGCAgICBwIBSACAQ4cBCABHA4GIAEBEYEBCCABEoEFEoD1FAcIEoDx
EoD1CAgSgPkIEYD9EYD9BiABARKBDQYgAQESgSEIIAESgSUSgQkcBwoSgQkICBKBDRKBERKBFRKB
GRGBHRGA/RGA/QYgAQESgS0GIAEBEoFBCCABEoFFEoEpHAcKEoEpCAgSgS0SgTESgTUSgTkRgT0R
gP0RgP0NAQAIVmFsaWRhdGUAABYBABFDcm1Db25uZWN0aW9uVHlwZQAALAEAJ1NlbGVjdCBEeW5h
bWljcyBDUk0gQ29ubmVjdGlvbiBNYW5hZ2VyLgAACAEACAAAAAAAHgEAAQBUAhZXcmFwTm9uRXhj
ZXB0aW9uVGhyb3dzAUcBABouTkVURnJhbWV3b3JrLFZlcnNpb249djQuMAEAVA4URnJhbWV3b3Jr
RGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsgNGBWAAAAAAAAAAAAAH5WAAAAIAAAAAAAAAAAAAAA
AAAAAAAAAAAAAABwVgAAAAAAAAAAAAAAAAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA
/yUAIAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAAgAAAAAAA
AAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAADsAgAAAAAAAAAA
AADsAjQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAAAAAAAAAA
AAAAAAAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQByAEYAaQBsAGUA
SQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAETAIAAAEAUwB0
AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAKAIAAAEAMAAwADAAMAAwADQAYgAwAAAALAACAAEA
RgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAACAAAAAwAAgAAQBGAGkAbABlAFYAZQBy
AHMAaQBvAG4AAAAAADAALgAwAC4AMAAuADAAAACMADUAAQBJAG4AdABlAHIAbgBhAGwATgBhAG0A
ZQAAAFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8AZgBmAGEAMwBjAGEANAA2AGYANQA3
AGEANABhADgAMwA4AGYAYgA1AGEAZgA1ADUAYwAxAGYAZAA4ADAANQA4AC4AZABsAGwAAAAAACgA
AgABAEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAACAAAACUADUAAQBPAHIAaQBnAGkAbgBh
AGwARgBpAGwAZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwBmAGYA
YQAzAGMAYQA0ADYAZgA1ADcAYQA0AGEAOAAzADgAZgBiADUAYQBmADUANQBjADEAZgBkADgAMAA1
ADgALgBkAGwAbAAAAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMAAuADAA
LgAwAC4AMAAAADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAwAC4AMAAu
ADAALgAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAADAAAAJA2AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></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_ffa3ca46f57a4a838fb5af55c1fd8058</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="19" name="createdon" dataType="dbTimeStamp"><properties><property id="20" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="21" name="isbilled" dataType="bool"><properties><property id="22" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="23" name="statuscodename" dataType="wstr" length="250"><properties><property id="24" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="25" name="modifiedbydsc" dataType="i4"><properties><property id="26" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="27" name="activityid" dataType="guid"><properties><property id="28" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="29" name="opportunityidname" dataType="wstr" length="100"><properties><property id="30" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="31" name="category" dataType="wstr" length="250"><properties><property id="32" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="33" name="owneridtype" dataType="i4"><properties><property id="34" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="35" name="competitoridyominame" dataType="wstr" length="100"><properties><property id="36" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="37" name="modifiedbyname" dataType="wstr" length="100"><properties><property id="38" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="39" name="owneriddsc" dataType="i4"><properties><property id="40" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="41" name="owneridname" dataType="wstr" length="100"><properties><property id="42" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="43" name="overriddencreatedon" dataType="dbTimeStamp"><properties><property id="44" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="45" name="createdby" dataType="guid"><properties><property id="46" name="ReferenceType" dataType="System.String">systemuser</property></properties></externalMetadataColumn><externalMetadataColumn id="47" name="statecode" dataType="wstr" length="250"><properties><property id="48" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="49" name="createdonbehalfbydsc" dataType="i4"><properties><property id="50" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="51" name="scheduledstart" dataType="dbTimeStamp"><properties><property id="52" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="53" name="createdonbehalfbyyominame" dataType="wstr" length="100"><properties><property id="54" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="55" name="modifiedonbehalfby" dataType="guid"><properties><property id="56" name="ReferenceType" dataType="System.String">systemuser</property></properties></externalMetadataColumn><externalMetadataColumn id="57" name="exchangerate" dataType="decimal"><properties><property id="58" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="59" name="opportunityiddsc" dataType="i4"><properties><property id="60" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="61" name="owningteam" dataType="guid"><properties><property id="62" name="ReferenceType" dataType="System.String">team</property></properties></externalMetadataColumn><externalMetadataColumn id="63" name="isbilledname" dataType="wstr" length="250"><properties><property id="64" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="65" name="modifiedonbehalfbydsc" dataType="i4"><properties><property id="66" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="67" name="subject" dataType="wstr" length="200"><properties><property id="68" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="69" name="opportunityid" dataType="guid"><properties><property id="70" name="ReferenceType" dataType="System.String">opportunity</property></properties></externalMetadataColumn><externalMetadataColumn id="71" name="isregularactivityname" dataType="wstr" length="250"><properties><property id="72" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="73" name="actualstart" dataType="dbTimeStamp"><properties><property id="74" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="75" name="activitytypecodename" dataType="wstr" length="250"><properties><property id="76" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="77" name="createdonbehalfbyname" dataType="wstr" length="100"><properties><property id="78" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="79" name="actualrevenue" dataType="cy"><properties><property id="80" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="81" name="activitytypecode" dataType="wstr" length="250"><properties><property id="82" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="83" name="actualrevenue_base" dataType="cy"><properties><property id="84" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="85" name="ownerid" dataType="guid"><properties><property id="86" name="ReferenceType" dataType="System.String">systemuser</property></properties></externalMetadataColumn><externalMetadataColumn id="87" name="modifiedon" dataType="dbTimeStamp"><properties><property id="88" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="89" name="importsequencenumber" dataType="i4"><properties><property id="90" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="91" name="owneridyominame" dataType="wstr" length="100"><properties><property id="92" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="93" name="scheduleddurationminutes" dataType="i4"><properties><property id="94" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="95" name="description" dataType="wstr" length="2000"><properties><property id="96" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="97" name="serviceid" dataType="guid"><properties><property id="98" name="ReferenceType" dataType="System.String">service</property></properties></externalMetadataColumn><externalMetadataColumn id="99" name="utcconversiontimezonecode" dataType="i4"><properties><property id="100" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="101" name="modifiedbyyominame" dataType="wstr" length="100"><properties><property id="102" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="103" name="createdbyname" dataType="wstr" length="100"><properties><property id="104" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="105" name="modifiedonbehalfbyname" dataType="wstr" length="100"><properties><property id="106" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="107" name="isworkflowcreatedname" dataType="wstr" length="250"><properties><property id="108" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="109" name="transactioncurrencyiddsc" dataType="i4"><properties><property id="110" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="111" name="competitoridname" dataType="wstr" length="100"><properties><property id="112" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="113" name="subcategory" dataType="wstr" length="250"><properties><property id="114" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="115" name="transactioncurrencyid" dataType="guid"><properties><property id="116" name="ReferenceType" dataType="System.String">transactioncurrency</property></properties></externalMetadataColumn><externalMetadataColumn id="117" name="competitorid" dataType="guid"><properties><property id="118" name="ReferenceType" dataType="System.String">competitor</property></properties></externalMetadataColumn><externalMetadataColumn id="119" name="createdonbehalfby" dataType="guid"><properties><property id="120" name="ReferenceType" dataType="System.String">systemuser</property></properties></externalMetadataColumn><externalMetadataColumn id="121" name="createdbydsc" dataType="i4"><properties><property id="122" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="123" name="modifiedby" dataType="guid"><properties><property id="124" name="ReferenceType" dataType="System.String">systemuser</property></properties></externalMetadataColumn><externalMetadataColumn id="125" name="createdbyyominame" dataType="wstr" length="100"><properties><property id="126" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="127" name="owninguser" dataType="guid"><properties><property id="128" name="ReferenceType" dataType="System.String">systemuser</property></properties></externalMetadataColumn><externalMetadataColumn id="129" name="transactioncurrencyidname" dataType="wstr" length="100"><properties><property id="130" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="131" name="timezoneruleversionnumber" dataType="i4"><properties><property id="132" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="133" name="actualend" dataType="dbTimeStamp"><properties><property id="134" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="135" name="owningbusinessunit" dataType="guid"><properties><property id="136" name="ReferenceType" dataType="System.String">businessunit</property></properties></externalMetadataColumn><externalMetadataColumn id="137" name="competitoriddsc" dataType="i4"><properties><property id="138" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="139" name="isregularactivity" dataType="bool"><properties><property id="140" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="141" name="isworkflowcreated" dataType="bool"><properties><property id="142" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="143" name="opportunityidtype" dataType="i4"><properties><property id="144" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="145" name="scheduledend" dataType="dbTimeStamp"><properties><property id="146" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="147" name="statuscode" dataType="i4"><properties><property id="148" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="149" name="modifiedonbehalfbyyominame" dataType="wstr" length="100"><properties><property id="150" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="151" name="actualdurationminutes" dataType="i4"><properties><property id="152" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="153" name="statecodename" dataType="wstr" length="250"><properties><property id="154" name="ReferenceType" dataType="System.String"></property></properties></externalMetadataColumn><externalMetadataColumn id="155" name="opportunitystatecode" dataType="i4" /><externalMetadataColumn id="156" name="opportunitystatuscode" dataType="i4" /></externalMetadataColumns></input></inputs></component>