<component id="42" name="XPath Transform" componentClassID="{874F7595-FB5F-40FF-96AF-FBFF8250E3EF}" description="Executes a custom script." localeId="1033" version="7" 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="43" 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[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-2011 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.Xml
Imports System.Xml.XPath

Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS.Attributes


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<SortProperties(New String() {"InputColumn", "XPath", "Namespaces", "ResultSeparator"})> _
<ValidateProperties("Validate")> _
<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute> _
<CLSCompliant(False)> _
Public Class ScriptMain
    Inherits UserComponent


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub Input_ProcessInputRow(ByVal Row As InputBuffer)
        Dim xml As String = String.Empty
        If Not Row.Buffer.IsNull(m_columnIndex) Then
            xml = Row.Buffer.GetString(m_columnIndex)
        End If

        If String.IsNullOrEmpty(xml) Then
            ' No data to process.
            Return
        End If

        Try
            Call m_document.LoadXml(xml)

            ' Load result.
            Dim result As String = String.Empty
            Dim iter As XPathNodeIterator = m_navigator.Select(m_expr)
            While iter.MoveNext()
                If Not String.IsNullOrEmpty(result) Then
                    result += Me.ResultSeparator
                End If

                result += CType(iter.Current, IHasXmlNode).GetNode().Value
            End While

            Row.Result = result
        Catch ex As Exception
            Dim cancel As Boolean = False
            Call MyBase.ComponentMetaData.FireError( _
                0, _
                "XPath Transform", _
                ex.Message, _
                String.Empty, _
                0, _
                cancel)
        End Try
    End Sub ' Input_ProcessInputRow


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

        Try
            ' Setup XML document, XPath navigator and expression.
            ' They will be used during processing.
            m_document = New XmlDocument()
            m_navigator = m_document.CreateNavigator()
            m_expr = m_navigator.Compile(Me.XPath)
            If Not String.IsNullOrEmpty(Me.Namespaces) Then
                ' Setup namespaces.
                Dim ns As XmlNamespaceManager = New XmlNamespaceManager(m_document.NameTable)
                Dim nsList() As String = Me.Namespaces.Split( _
                    New String() {"\r\n"}, _
                    StringSplitOptions.None)
                For Each nsCombo As String In nsList
                    If String.IsNullOrEmpty(nsCombo) Then
                        Continue For
                    End If

                    Dim equalIndex As Integer = nsCombo.IndexOf("=")
                    Dim prefix As String = nsCombo.Substring(0, equalIndex)
                    Dim uri As String = nsCombo.Substring(equalIndex + 1)
                    Call ns.AddNamespace(prefix, uri)
                Next

                Call m_expr.SetContext(ns)
            End If

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

            ' Find input column index.
            m_columnIndex = Me.HostComponent.BufferManager.FindColumnByLineageID( _
                input.Buffer, _
                input.InputColumnCollection(Me.InputColumn).LineageID)
        Catch ex As Exception
            Dim cancel As Boolean = False
            Call MyBase.ComponentMetaData.FireError( _
                0, _
                "XPath Transform", _
                ex.Message, _
                String.Empty, _
                0, _
                cancel)
        End Try
    End Sub ' PreExecute


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

        m_document = Nothing
        m_columnIndex = -1
    End Sub ' PostExecute


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

        Try
            If String.IsNullOrEmpty(Me.InputColumn) Then
                Throw New ApplicationException("Select input column.")
            End If

            If String.IsNullOrEmpty(Me.XPath) Then
                Throw New ApplicationException("Specify XPath statement.")
            End If

            Dim managedComponent As CManagedComponentWrapper = Me.ComponentMetaData.Instantiate()
            Dim input As IDTSInput100 = Me.ComponentMetaData.InputCollection(0)
            Dim virtInput As IDTSVirtualInput100 = input.GetVirtualInput()

            Call input.InputColumnCollection.RemoveAll()

            ' Setup selected input column.
            Dim inputColumn As IDTSInputColumn100 = managedComponent.SetUsageType( _
                input.ID, _
                virtInput, _
                virtInput.VirtualInputColumnCollection(Me.InputColumn).LineageID, _
                DTSUsageType.UT_READONLY)

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

        Validate = result
    End Function    'Validate


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select input column.")> _
    <InputVirtualColumn()> _
    Public Property InputColumn() As String
        Get
            InputColumn = m_inputColumn
        End Get
        Set(ByVal value As String)
            m_inputColumn = value
        End Set
    End Property    ' InputColumn


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specify XPath statement.")> _
    <TextDialog("Specify XPath statement")> _
    Public Property XPath() As String
        Get
            XPath = m_xpath
        End Get
        Set(ByVal value As String)
            m_xpath = value
        End Set
    End Property    ' XPath


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specify XPath namespaces. The format is <namespace prefix>=<namespace>. Separate each namespace with newline.")> _
    <TextDialog("Specify XPath namespaces")> _
    Public Property Namespaces() As String
        Get
            Namespaces = m_namespace
        End Get
        Set(ByVal value As String)
            m_namespace = value
        End Set
    End Property    ' Namespaces


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specify result separator string.")> _
    Public Property ResultSeparator() As String
        Get
            ResultSeparator = m_resultSep
        End Get
        Set(ByVal value As String)
            m_resultSep = value
        End Set
    End Property    ' ResultSeparator
#End Region ' Properties


#Region "Attributes"
    Private m_inputColumn As String
    Private m_xpath As String
    Private m_namespace As String
    Private m_resultSep As String

    Private m_document As XmlDocument
    Private m_navigator As XPathNavigator
    Private m_expr As XPathExpression
    Private m_columnIndex As Integer
#End Region ' Attributes
End Class   ' ScriptMain
]]></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 WriteOnly Property [Result]() As String
        Set
            Me(0) = Value
        End Set
    End Property
    Public WriteOnly Property [Result_IsNull] As Boolean
        Set
            If (value)
                SetNull(0)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public Overrides ReadOnly Property StaticOutputColumns() As String()
        Get
            Return New String() {"Result"}
        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[ScriptComponent_7d26cd9cb56d49a1866dc132266ba065.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>{557B89B1-7589-456E-AE62-20BFEB7FF244}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptComponent_7d26cd9cb56d49a1866dc132266ba065</RootNamespace>
    <AssemblyName>ScriptComponent_7d26cd9cb56d49a1866dc132266ba065</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
  </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.2012, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft SQL Server\110\SDK\Assemblies\CozyRoc.SSISPlus.2012.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=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Xml" />
  </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="" DebugInfoExeName="devenv.exe" DebugInfoCommandLine="/vstaHostDebugUri:&quot;vstadebug4a406b55-0a48-4096-b0de-73fee9245af0/105cf2cc-44dd-4ef9-8ace-bbaaf483895b&quot;" />
        <Host Name="SSIS_SC110" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC110</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>
  <PropertyGroup>
    <OptionCompare>Binary</OptionCompare>
  </PropertyGroup>
  <PropertyGroup>
    <OptionExplicit>On</OptionExplicit>
  </PropertyGroup>
  <PropertyGroup>
    <OptionStrict>On</OptionStrict>
  </PropertyGroup>
</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

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[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:NoContent>Reference;Import;Folder</msb:NoContent>
		<msb:ProjectId>{AE7ACBCB-19BC-4C95-886B-29AC1D6629EC}</msb:ProjectId>
		<msb:DisplayName>ScriptComponent_7d26cd9cb56d49a1866dc132266ba065</msb:DisplayName>
		<msb:CodeName>ScriptComponent_7d26cd9cb56d49a1866dc132266ba065</msb:CodeName>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Folder Include="My Project\"/>
		<msb:File Include="ScriptMain.vb"/>
		<msb:File Include="BufferWrapper.vb"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:Project Include="ScriptComponent_7d26cd9cb56d49a1866dc132266ba065.vbproj"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement></arrayElements></property><property id="44" 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_7d26cd9cb56d49a1866dc132266ba065.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
FgCcJgAAAAAGCG0FcQAXALQmAAAAAAYIfAXAABcAwCYAAAAABgiLBXEAGADYJgAAAAAGCJ8FwAAY
AAAAAQBLAgAAAQCEAgAAAQCEAgAAAQDKAwAAAgDUAwAAAwDdAwAABADlAwAABQDsAwAAAQAYBAAA
AQAYBAAAAQC5BAAAAgDBBAAAAwDlAwAABADsAwAAAQDlAwAAAQD0BAAAAQDKAwAAAQDKAwAAAQD0
BAAAAQAoBQAAAQBTBQAAAQBTBQAAAQBTBQAAAQBTBQkATwETAHkATwEVAYkATwEkAREATwETAJEA
TwETACQATwETACwATwETADQATwETADwATwETACQAoQKLACwAoQKLADQAoQKLADwAoQKLAJkATwET
AKEATwETAKkATwHAALEA1we+ARkARAJjABkATQJoACkA+AfLARkAZgJxAMEAFAjbARkATwETAMkA
TwHrAUQA6gKQAEwAPgiLAEwASAhoAkwATwETANEATwHFADkATwGvADkAjAiCAjkAlQiIAuEATwHA
AOkASATKAOkAUATKAPEATwHFAFkATwETAEEAQAmUAvkAbQmZAgEBjgmfAgkBlwloANkAugkDATkA
wAmmAkkAywmrAkkA0gmwAtkA3Am1AmEA6gnAAGkA8gm6AtkA+QnCAhEBAArIAiEBIArNAikBPghx
ABEBKArKADEBPQrTAhkBTQpxAPkAWQraAjEBYwoXAEEACAUTAGEATwETAGEAiQrIAmkAmQrxAmEA
rgr3AjkBTwH9AtkAzwoEA9kA1QoOA9kA3QoTA9kA3QqwAjkB5wokAXEA9AoZA1kAFwsgA1kBPgsm
AwkBwAloAAkBbQssA2kBjgkyA3EBmgtoAGEBqAs5A0EAEwUTAIkBTwHAAPkAAAxXAwkBDAxdA2kB
HAwTAIEBSgxjA5EBjglpA5kBmgtoAKEBrQxwA7EBTwETALkBTwHAAMEBTwGgA8kBTwETANEBTwHA
ANkBTwHAAOEBTwGIAukBTwETAPEBTwHAACkAgwCMAS4A4wLoBC4A8wIQBS4A6wLxBEAAKwBDAUAA
EwAbAUMAEwAbAUMAGwAqAUkAgwB4AWMAGwAqAWMAEwAbAWkAgwCxAYAAKwBDAYMAGwAqAYMAewBD
AYMAcwBDAYkAgwCdAaAAKwBDAaMAEwAbAaMAwwDzAcAAKwBDAcMAEwAbAcMA6wB3AuAAKwBDAeMA
IwF3AgABKwBDAQABEwAbAQMBIwF3AiABKwBDASABEwAbAUABEwAbAUABKwBDAUkB0wLcA0kBywJD
AWABKwBDAWABEwAbAWMBwwKmA2MBIwF3AmMBuwKSA2MBswJDAWkB2wKHBGkB0wKkBIABKwBDAYkB
2wL2A4kB0wIUBKABKwBDAakB0wLCBMABKwBDAcABEwAbAeABKwBDAQACEwAbAQACKwBDAYADIwF3
AqADIwF3AmQBaQFuAXMBwwHHAdIB1wHmAeYBbgJ9Ao0CwwHDAeUCPwN+A9cB1wHXAdcBBAABAAYA
BQAHAAYACwAKAAAAcwFPAAAALAJUAAAA2wFZAAAAOAJeAAAA9AKYAAAAXATOAAAAbwTTAAAAdgTX
AAAAhATOAAAAVAbTAAAAYAbTAAAAZgbTAAAAcQbTAAIABAADAAIABQAFAAIABgAHAAIABwAJAAIA
DwALAAIAEgANAAEAEwAPAAEAFAARAAIAFQATAAIAIwAVAAEAJAAVAAEAJgAXAAIAJQAXAAEAKAAZ
AAIAJwAZAAIAKQAbAAEAKgAbAHUAdQCIAEgBTwFWAV0BVQJcAgSAAAAAAAAAAAAAAAAAAAAAALUA
AAAEAAAAAAAAAAAAAAABAAoAAAAAAAoAAAAAAAAAAAAAAAoAEwAAAAAAAQAAAAAAAAAAAAAAnQAA
AwAAAAALAAAAAAAAAAAAAACmAD4DAAAAAAsAAAAAAAAAAAAAAKYAjAMAAAAABAAAAAAAAAAAAAAA
AQDhBQAAAAAEAAAAAAAAAAAAAAABAHwBAAAAAAsAAAAAAAAAAAAAAKYA2ggAAAAABQAEAAYABAAA
ABAADACCAgAAEAAZAIICAAAAABsAggItAOEBLQBjAgAAADxNb2R1bGU+AG1zY29ybGliAE1pY3Jv
c29mdC5WaXN1YWxCYXNpYwBNeUFwcGxpY2F0aW9uAFNjcmlwdENvbXBvbmVudF83ZDI2Y2Q5Y2I1
NmQ0OWExODY2ZGMxMzIyNjZiYTA2NS5NeQBNeUNvbXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZp
Y2VzAFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAxAElucHV0QnVmZmVyAFNjcmlwdENvbXBvbmVu
dF83ZDI2Y2Q5Y2I1NmQ0OWExODY2ZGMxMzIyNjZiYTA2NQBVc2VyQ29tcG9uZW50AENvbm5lY3Rp
b25zAFZhcmlhYmxlcwBTY3JpcHRNYWluAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5BcHBsaWNhdGlv
blNlcnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3RvcgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuRGV2
aWNlcwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5jY3RvcgBnZXRfQ29tcHV0ZXIAbV9Db21wdXRl
ck9iamVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlvbgBtX0FwcE9iamVjdFByb3ZpZGVyAFVzZXIA
Z2V0X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAZ2V0X1dlYlNlcnZpY2VzAG1fTXlXZWJTZXJ2
aWNlc09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9uAFdlYlNlcnZpY2VzAEVxdWFscwBvAEdldEhh
c2hDb2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBDcmVhdGVfX0luc3RhbmNlX18AVABpbnN0YW5j
ZQBEaXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJbnN0YW5jZQBNaWNyb3NvZnQuVmlzdWFsQmFz
aWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0VmFsdWVgMQBtX0NvbnRleHQAR2V0SW5zdGFu
Y2UAQ296eVJvYy5TU0lTUGx1cy4yMDEyAENvenlSb2MuU3FsU2VydmVyLlNTSVMAU2NyaXB0QnVm
ZmVyUGx1cwBNaWNyb3NvZnQuU3FsU2VydmVyLlR4U2NyaXB0AE1pY3Jvc29mdC5TcWxTZXJ2ZXIu
RHRzLlBpcGVsaW5lAFNjcmlwdENvbXBvbmVudABNaWNyb3NvZnQuU3FsU2VydmVyLlBpcGVsaW5l
SG9zdABQaXBlbGluZUJ1ZmZlcgBPdXRwdXROYW1lTWFwAENvbXBvbmVudABPYmplY3RJRABJc0lu
cHV0AEJ1ZmZlcgBPdXRwdXRNYXAAZ2V0X1N0YXRpY0lucHV0Q29sdW1ucwBzZXRfUmVzdWx0AFZh
bHVlAHNldF9SZXN1bHRfSXNOdWxsAGdldF9TdGF0aWNPdXRwdXRDb2x1bW5zAE5leHRSb3cARW5k
T2ZSb3dzZXQAU3RhdGljSW5wdXRDb2x1bW5zAFJlc3VsdABSZXN1bHRfSXNOdWxsAFN0YXRpY091
dHB1dENvbHVtbnMAU2NyaXB0Q29tcG9uZW50UGx1cwBQcm9jZXNzSW5wdXQASW5wdXRJRABJbnB1
dE5hbWUASW5wdXRfUHJvY2Vzc0lucHV0AElucHV0X1Byb2Nlc3NJbnB1dFJvdwBSb3cAUGFyZW50
Q29tcG9uZW50AFByZUV4ZWN1dGUAUG9zdEV4ZWN1dGUAVmFsaWRhdGUAZXJyTWVzc2FnZQBnZXRf
SW5wdXRDb2x1bW4Ac2V0X0lucHV0Q29sdW1uAHZhbHVlAGdldF9YUGF0aABzZXRfWFBhdGgAZ2V0
X05hbWVzcGFjZXMAc2V0X05hbWVzcGFjZXMAZ2V0X1Jlc3VsdFNlcGFyYXRvcgBzZXRfUmVzdWx0
U2VwYXJhdG9yAG1faW5wdXRDb2x1bW4AbV94cGF0aABtX25hbWVzcGFjZQBtX3Jlc3VsdFNlcABT
eXN0ZW0uWG1sAFhtbERvY3VtZW50AG1fZG9jdW1lbnQAU3lzdGVtLlhtbC5YUGF0aABYUGF0aE5h
dmlnYXRvcgBtX25hdmlnYXRvcgBYUGF0aEV4cHJlc3Npb24AbV9leHByAG1fY29sdW1uSW5kZXgA
SW5wdXRDb2x1bW4AWFBhdGgATmFtZXNwYWNlcwBSZXN1bHRTZXBhcmF0b3IAU3lzdGVtLkNvbXBv
bmVudE1vZGVsAEVkaXRvckJyb3dzYWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBT
eXN0ZW0uQ29kZURvbS5Db21waWxlcgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFn
bm9zdGljcwBEZWJ1Z2dlckhpZGRlbkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29t
cGlsZXJTZXJ2aWNlcwBTdGFuZGFyZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJp
YnV0ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5
c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFs
dWUAUnVudGltZVR5cGVIYW5kbGUAR2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUlu
c3RhbmNlAE15R3JvdXBDb2xsZWN0aW9uQXR0cmlidXRlAGdldF9WYWx1ZQBzZXRfVmFsdWUAU3lz
dGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAENvbVZpc2libGVBdHRyaWJ1dGUAU3RyaW5nAHNl
dF9JdGVtAFNldE51bGwASW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbgBTY3JpcHRCdWZmZXIAQ0xT
Q29tcGxpYW50QXR0cmlidXRlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRFRTUGlwZWxpbmVXcmFwAE1p
Y3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5lLldyYXBwZXIASURUU0NvbXBvbmVudE1ldGFE
YXRhMTAwAGdldF9Db21wb25lbnRNZXRhRGF0YQBJRFRTSW5wdXRDb2xsZWN0aW9uMTAwAGdldF9J
bnB1dENvbGxlY3Rpb24ASURUU0lucHV0MTAwAGdldF9JdGVtAGdldF9JRABYUGF0aE5vZGVJdGVy
YXRvcgBFeGNlcHRpb24ARW1wdHkAZ2V0X0J1ZmZlcgBJc051bGwAR2V0U3RyaW5nAElzTnVsbE9y
RW1wdHkATG9hZFhtbABTZWxlY3QAQ29uY2F0AGdldF9DdXJyZW50AElIYXNYbWxOb2RlAFhtbE5v
ZGUAR2V0Tm9kZQBNb3ZlTmV4dABQcm9qZWN0RGF0YQBTZXRQcm9qZWN0RXJyb3IAZ2V0X01lc3Nh
Z2UARmlyZUVycm9yAENsZWFyUHJvamVjdEVycm9yAFhtbE5hbWVzcGFjZU1hbmFnZXIAQ3JlYXRl
TmF2aWdhdG9yAENvbXBpbGUAWG1sTmFtZVRhYmxlAGdldF9OYW1lVGFibGUAU3RyaW5nU3BsaXRP
cHRpb25zAFNwbGl0AEluZGV4T2YAU3Vic3RyaW5nAEFkZE5hbWVzcGFjZQBTZXRDb250ZXh0AElu
dDMyAFBpcGVsaW5lQ29tcG9uZW50AGdldF9Ib3N0Q29tcG9uZW50AElEVFNCdWZmZXJNYW5hZ2Vy
MTAwAGdldF9CdWZmZXJNYW5hZ2VyAElEVFNJbnB1dENvbHVtbkNvbGxlY3Rpb24xMDAAZ2V0X0lu
cHV0Q29sdW1uQ29sbGVjdGlvbgBJRFRTSW5wdXRDb2x1bW4xMDAAZ2V0X0xpbmVhZ2VJRABGaW5k
Q29sdW1uQnlMaW5lYWdlSUQAQ01hbmFnZWRDb21wb25lbnRXcmFwcGVyAElEVFNWaXJ0dWFsSW5w
dXQxMDAAQXBwbGljYXRpb25FeGNlcHRpb24ASW5zdGFudGlhdGUAR2V0VmlydHVhbElucHV0AFJl
bW92ZUFsbABJRFRTVmlydHVhbElucHV0Q29sdW1uQ29sbGVjdGlvbjEwMABnZXRfVmlydHVhbElu
cHV0Q29sdW1uQ29sbGVjdGlvbgBJRFRTVmlydHVhbElucHV0Q29sdW1uMTAwAElEVFNEZXNpZ250
aW1lQ29tcG9uZW50MTAwAERUU1VzYWdlVHlwZQBTZXRVc2FnZVR5cGUAU1NJU1NjcmlwdENvbXBv
bmVudEVudHJ5UG9pbnRBdHRyaWJ1dGUAQ296eVJvYy5TcWxTZXJ2ZXIuU1NJUy5BdHRyaWJ1dGVz
AFZhbGlkYXRlUHJvcGVydGllc0F0dHJpYnV0ZQBTb3J0UHJvcGVydGllc0F0dHJpYnV0ZQBJbnB1
dFZpcnR1YWxDb2x1bW5BdHRyaWJ1dGUARGVzY3JpcHRpb25BdHRyaWJ1dGUAVGV4dERpYWxvZ0F0
dHJpYnV0ZQBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmls
aXR5QXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0RnJhbWV3b3JrQXR0
cmlidXRlAFNjcmlwdENvbXBvbmVudF83ZDI2Y2Q5Y2I1NmQ0OWExODY2ZGMxMzIyNjZiYTA2NS5k
bGwAAAAAgJtJAHMATgB1AGwAbAAgAHAAcgBvAHAAZQByAHQAeQAgAGMAYQBuAG4AbwB0ACAAYgBl
ACAAcwBlAHQAIAB0AG8AIABGAGEAbABzAGUALgAgAEEAcwBzAGkAZwBuACAAYQAgAHYAYQBsAHUA
ZQAgAHQAbwAgAHQAaABlACAAYwBvAGwAdQBtAG4AIABpAG4AcwB0AGUAYQBkAC4AAA1SAGUAcwB1
AGwAdAAAC0kAbgBwAHUAdAAAH1gAUABhAHQAaAAgAFQAcgBhAG4AcwBmAG8AcgBtAAAJXAByAFwA
bgAAAz0AAClTAGUAbABlAGMAdAAgAGkAbgBwAHUAdAAgAGMAbwBsAHUAbQBuAC4AADFTAHAAZQBj
AGkAZgB5ACAAWABQAGEAdABoACAAcwB0AGEAdABlAG0AZQBuAHQALgAAAADPHEgWOlCNRKO2zgCl
FfQmAAi3elxWGTTgiQiwP19/EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgBEggE
AAASEQcGFRIYARIRBAAAEhQHBhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAIBCAA
EhUDIAAOAh4ABxABAR4AHgAHMAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAgWz0kLuAw06giJ
hF3NgIDMkQsgBQESIQgCEiUSKQQgAB0OBCABAQ4EIAEBAgMgAAIEKAAdDgMoAA4DKAACAwYSJAMG
EigJIAQBCA4SJRIpBSABARIcAwYSIQUgAQESIQUgAQIQDgIGDgMGEjEDBhI1AwYSOQIGCAUgAQER
QQgBAAEAAAAAAAUgAgEODhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAEAQAAAAYVEhgBEgwGFRIY
ARIIBhUSGAESEQYVEhgBEhQEBwESDAQHARIIBAcBEhEEBwESFBMBAA5NeS5BcHBsaWNhdGlvbgAA
EAEAC015LkNvbXB1dGVyAAATAQAOTXkuV2ViU2VydmljZXMAAAwBAAdNeS5Vc2VyAAAEAAEcHAMH
AQIDBwEIBgABEhURXQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0u
V2ViLlNlcnZpY2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5z
dGFuY2VfXxNEaXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUgAQETAAgH
AxMAEwATAAUBAAAAAAQHAR0OBSACAQgcBCABAQgGBwIdDh0OBCAAEn0FIAASgIEGIAESgIUcBCAA
EiUEIAECCAQgAQ4IBAABAg4HIAESgIkSOQUAAg4ODgQgABI1BSAAEoCVBgABARKAjQogBgEIDg4O
CBACCwcFDhKAiQ4CEoCNBSABEjkOBSAAEoChBiABARKAoQkgAh0OHQ4RgKUEIAEIDgUgAg4ICAYg
AQESgJ0FIAASgK0FIAASgLEFIAASgLUGIAESgLkcBSACCAgIFwcMEoCFEoCdHQ4IDg4OAhKAjR0O
CB0OBSAAEoC9BSAAEoDBBSAAEoDJBiABEoDNHA0gBBKAuQgSgMEIEYDVEwcHAgISgIUSgLkSgL0S
gMESgI0NAQAIVmFsaWRhdGUAAAUgAQEdDjUBAAQAAAALSW5wdXRDb2x1bW4FWFBhdGgKTmFtZXNw
YWNlcw9SZXN1bHRTZXBhcmF0b3IAABkBABRTZWxlY3QgaW5wdXQgY29sdW1uLgAAHQEAGFNwZWNp
ZnkgWFBhdGggbmFtZXNwYWNlcwAAcgEAbVNwZWNpZnkgWFBhdGggbmFtZXNwYWNlcy4gVGhlIGZv
cm1hdCBpcyA8bmFtZXNwYWNlIHByZWZpeD49PG5hbWVzcGFjZT4uIFNlcGFyYXRlIGVhY2ggbmFt
ZXNwYWNlIHdpdGggbmV3bGluZS4AABwBABdTcGVjaWZ5IFhQYXRoIHN0YXRlbWVudAAAHQEAGFNw
ZWNpZnkgWFBhdGggc3RhdGVtZW50LgAAJQEAIFNwZWNpZnkgcmVzdWx0IHNlcGFyYXRvciBzdHJp
bmcuAAAIAQAIAAAAAAAeAQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFt
ZXdvcmssVmVyc2lvbj12NC4wAQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29y
ayA0XEcAAAAAAAAAAAAAfkcAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBHAAAAAAAAAAAAAAAA
AAAAAAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAAAAAY
AACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAAWGAAAOwC
AAAAAAAAAAAAAOwCNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9BO/+AAAB
AAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEAVgBhAHIA
RgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAAAAAsARM
AgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAAoAgAAAQAwADAAMAAwADAANABiADAA
AAAsAAIAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAIAAAADAACAABAEYAaQBs
AGUAVgBlAHIAcwBpAG8AbgAAAAAAMAAuADAALgAwAC4AMAAAAIwANQABAEkAbgB0AGUAcgBuAGEA
bABOAGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwA3AGQAMgA2AGMAZAA5
AGMAYgA1ADYAZAA0ADkAYQAxADgANgA2AGQAYwAxADMAMgAyADYANgBiAGEAMAA2ADUALgBkAGwA
bAAAAAAAKAACAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAIAAAAJQANQABAE8AcgBp
AGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4A
dABfADcAZAAyADYAYwBkADkAYwBiADUANgBkADQAOQBhADEAOAA2ADYAZABjADEAMwAyADIANgA2
AGIAYQAwADYANQAuAGQAbABsAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4A
AAAwAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAA
ADAALgAwAC4AMAAuADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAMAAAAkDcAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></arrayElement></arrayElements></property><property id="49" name="UserComponentTypeName" dataType="System.String">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2012, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</property><property id="51" 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_7d26cd9cb56d49a1866dc132266ba065</property><property id="52" name="ScriptLanguage" dataType="System.String" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">VisualBasic</property></properties><inputs><input id="54" name="Input" hasSideEffects="true"></input></inputs><outputs><output id="56" name="Output" synchronousInputId="54"><outputColumns><outputColumn id="57" name="Result" lineageId="57" length="250" dataType="wstr" /></outputColumns><externalMetadataColumns /></output></outputs></component>