<component id="115" name="Trim" componentClassID="{2E42D45B-F83C-400F-8D77-61DDE6A7DF29}" description="Executes a custom script." localeId="1033" usesDispositions="false" validateExternalMetadata="True" version="4" pipelineVersion="0" 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="119" name="SourceCode" dataType="System.String" state="cdata" isArray="true" description="Stores the source code of the component" typeConverter="NOTBROWSABLE" UITypeEditor="" containsID="false" expressionType="None"><arrayElements arrayElementCount="18"><arrayElement dataType="System.String"><![CDATA[\my project\settings.designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On



Partial Friend NotInheritable Class MySettings
    Inherits System.Configuration.ApplicationSettingsBase

    Private Shared m_Value As MySettings

    Private Shared m_SyncObject As Object = New Object

    <System.Diagnostics.DebuggerNonUserCode()> _
    Public Shared ReadOnly Property Value() As MySettings
        Get
            If (MySettings.m_Value Is Nothing) Then
                System.Threading.Monitor.Enter(MySettings.m_SyncObject)
                If (MySettings.m_Value Is Nothing) Then
                    Try
                        MySettings.m_Value = New MySettings
                    Finally
                        System.Threading.Monitor.Exit(MySettings.m_SyncObject)
                    End Try
                End If
            End If
            Return MySettings.m_Value
        End Get
    End Property
End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\my project\assemblyinfo.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices

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

' Review the values of the assembly attributes

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

<Assembly: ComVisible(False)> 

'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("e7f30c7a-be99-407e-a614-555dcbbcd565")> 

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

<Assembly: AssemblyVersion("1.0.0.0")> 
<Assembly: AssemblyFileVersion("1.0.0.0")> 
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\my project\settings.settings]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version='1.0' encoding='iso-8859-1'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)" GeneratedClassNamespace="" GeneratedClassName="MySettings">
  <Profiles>
    <Profile Name="(Default)" />
  </Profiles>
  <Settings />
</SettingsFile>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\bufferwrapper.vb]]></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)
        MyBase.New(Component, ObjectID, IsInput, Buffer)
    End Sub

    Public Overrides ReadOnly Property StaticInputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public Overrides ReadOnly Property StaticOutputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public Overloads Function NextRow() As Boolean
        NextRow = MyBase.NextRow()
    End Function

    Public Overloads Function EndOfRowset() As Boolean
        EndOfRowset = MyBase.EndOfRowset
    End Function

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\my project\resources.designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On


Namespace My.Resources
    
    '''<summary>
    '''   A strongly-typed resource class, for looking up localized strings, etc.
    '''</summary>
    'This class was auto-generated by the Strongly Typed Resource Builder
    'class via a tool like ResGen or Visual Studio.NET.
    'To add or remove a member, edit your .ResX file then rerun ResGen
    'with the /str option, or rebuild your VS project.
    Class MyResources
        
        Private Shared _resMgr As System.Resources.ResourceManager
        
        Private Shared _resCulture As System.Globalization.CultureInfo
        
        Friend Sub New()
            MyBase.New
        End Sub
        
        '''<summary>
        '''   Returns the cached ResourceManager instance used by this class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager
            Get
                If (_resMgr Is Nothing) Then
                    Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly)
                    _resMgr = temp
                End If
                Return _resMgr
            End Get
        End Property
        
        '''<summary>
        '''   Overrides the current thread's CurrentUICulture property for all
        '''   resource lookups using this strongly typed resource class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared Property Culture() As System.Globalization.CultureInfo
            Get
                Return _resCulture
            End Get
            Set
                _resCulture = value
            End Set
        End Property
    End Class
End Namespace
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\componentwrapper.vb]]></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 Buffer As PipelineBuffer)

        If InputID = MyBase.ComponentMetaData.InputCollection("Input").ID Then
            Input_ProcessInput(New InputBuffer(Me, InputID, True, Buffer))
        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[\my project\resources.resx]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\main.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' COZYROC SQL Server Integration Services user script component
'
' Copyright (c) 2006-2013 COZYROC LLC
' 
' Permission is hereby granted, free of charge, to any person
' obtaining a copy of this software and associated documentation
' files (the "Software"), to deal in the Software without
' restriction, including without limitation the rights to use,
' copy, modify, merge, publish, distribute, sublicense, and/or sell
' copies of the Software, and to permit persons to whom the
' Software is furnished to do so, subject to the following
' conditions:
' 
' The above copyright notice and this permission notice shall be
' included in all copies or substantial portions of the Software.
' 
' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
' EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
' OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
' NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
' HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
' WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
' FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
' OTHER DEALINGS IN THE SOFTWARE.

Imports System
Imports System.ComponentModel
Imports System.Text.RegularExpressions

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


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


    Private Const ColumnSeparator As String = "," + vbLf


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub Input_ProcessInputRow(ByVal Row As InputBuffer)
        Dim colsCount As Integer = m_inputIdx.Length

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

            If Row.Buffer.IsNull(bufIndex) Then
                Continue For
            End If

            Dim colValue As String = Row.Buffer.GetString(bufIndex)

            Select Case Me.Action
                Case ActionTypes.Trim
                    colValue = colValue.Trim(m_trimParam)
                Case ActionTypes.TrimStart
                    colValue = colValue.TrimStart(m_trimParam)
                Case ActionTypes.TrimEnd
                    colValue = colValue.TrimEnd(m_trimParam)
            End Select

            Call Row.Buffer.SetString(bufIndex, colValue)
        Next
    End Sub ' Input_ProcessInputRow


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

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

        ' Setup dynamic input columns indexes.
        Dim colsCount As Integer = input.InputColumnCollection.Count
        m_inputIdx = New Integer(colsCount - 1) {}
        For colIndex As Integer = 0 To colsCount - 1
            m_inputIdx(colIndex) = Me.HostComponent.BufferManager.FindColumnByLineageID( _
                input.Buffer, _
                input.InputColumnCollection(colIndex).LineageID)
        Next

        If Not String.IsNullOrEmpty(Me.TrimCharacters) Then
            ' Trim characters specified.
            m_trimParam = Regex.Unescape(Me.TrimCharacters).ToCharArray()
        End If
    End Sub ' PreExecute


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

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

            ' Setup input columns based on selection.
            Dim selectedCols() As String = CStr(Me.InputColumns).Split( _
                New String() {ColumnSeparator}, _
                StringSplitOptions.None)
            Dim virtInput As IDTSVirtualInput100 = input.GetVirtualInput()

            Call input.InputColumnCollection.RemoveAll()

            For Each col As String In selectedCols
                If Not String.IsNullOrEmpty(col) Then
                    Dim virtColumn As IDTSVirtualInputColumn100 = virtInput.VirtualInputColumnCollection(col)
                    Call virtInput.SetUsageType(virtColumn.LineageID, DTSUsageType.UT_READWRITE)
                End If
            Next

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

        Validate = result
    End Function    'Validate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub OnInputPathAttached(ByVal inputID As Integer)
        Call MyBase.OnInputPathAttached(inputID)

        ' Initialize with all string columns selected.
        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        Dim virtInput As IDTSVirtualInput100 = input.GetVirtualInput()
        For Each column As IDTSVirtualInputColumn100 In virtInput.VirtualInputColumnCollection
            If column.DataType <> DataType.DT_STR AndAlso _
                column.DataType <> DataType.DT_WSTR AndAlso _
                column.DataType <> DataType.DT_TEXT AndAlso _
                column.DataType <> DataType.DT_NTEXT Then

                Continue For
            End If

            ' String column.
            Call virtInput.SetUsageType(column.LineageID, DTSUsageType.UT_READWRITE)
        Next
    End Sub ' OnInputPathAttached


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub OnInputPathDetached(ByVal inputID As Integer)
        MyBase.OnInputPathDetached(inputID)

        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        Call input.InputColumnCollection.RemoveAll()
    End Sub


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select input columns you want to process.")> _
    <InputVirtualColumn("", False)> _
    Public Property InputColumns() As String
        Get
            InputColumns = m_inputCols
        End Get
        Set(ByVal value As String)
            Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
            If input.IsAttached Then
                If String.IsNullOrEmpty(value) Then
                    ' Setup based on input columns collection.
                    value = GetInputCols_()
                End If
            Else
                ' Reset when no input is attached.
                value = String.Empty
            End If

            m_inputCols = value
        End Set
    End Property    ' InputColumns


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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Optional. Specify characters to trim.")> _
    Public Property TrimCharacters() As String
        Get
            TrimCharacters = m_trimChars
        End Get
        Set(ByVal value As String)
            m_trimChars = value
        End Set
    End Property    ' TrimCharacters
#End Region ' Properties


#Region "Internals"
    Private Function GetInputCols_() As String
        Dim result As String = String.Empty

        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        For Each column As IDTSInputColumn100 In input.InputColumnCollection
            If Not String.IsNullOrEmpty(result) Then
                result += ColumnSeparator
            End If

            result += column.Name
        Next

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


#Region "Attributes"
    Public Enum ActionTypes
        Trim
        TrimStart
        TrimEnd
    End Enum    ' ActionTypes

    Private m_inputCols As String = String.Empty
    Private m_action As ActionTypes = ActionTypes.Trim
    Private m_trimChars As String
    Private m_inputIdx() As Integer
    Private m_trimParam() As Char = Nothing
#End Region ' Attributes

End Class   ' ScriptMain
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\scriptcomponent_1aab10281a124841aaf55c36de69efc7.vbproj]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!-- This section defines project-level properties.

       Configuration - Specifies whether the default configuration is Release or Debug.
       Platform - Specifies what CPU the output of this project can run on.
       OutputType - Must be "Library" for VSTA.
       NoStandardLibraries - Set to "false" for VSTA.
       RootNamespace - In C#, this specifies the namespace given to new files.
                       In Visual Basic, all objects are wrapped in this namespace at runtime.
       AssemblyName - Name of the output assembly.
  -->
  <PropertyGroup>
    <ProjectTypeGuids>{A860303F-1F3F-4691-B57E-529FC101A107};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <RootNamespace>ScriptComponent_1aab10281a124841aaf55c36de69efc7.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_1aab10281a124841aaf55c36de69efc7.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{F1FEF770-650C-4B59-BF52-58B142D76BD6}</ProjectGuid>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Debug" configuration is
       selected.

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

       DebugSymbols - If true, create symbols (.pdb). If false, do not create symbols.
       Optimize - If true, optimize the build output. If false, do not optimize.
       OutputPath - Output path of the project relative to the project file.
       EnableUnmanagedDebugging - If true, starting the debugger will attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032</NoWarn>
  </PropertyGroup>
  <!-- This section enables pre- and post-build steps. However,
       it is recommended that MSBuild tasks be used instead of these properties.
  -->
  <PropertyGroup>
    <PreBuildEvent>
    </PreBuildEvent>
    <PostBuildEvent>
    </PostBuildEvent>
  </PropertyGroup>
  <!-- This sections specifies references for the project. -->
  <ItemGroup>
    <Reference Include="CozyRoc.SSISPlus.2008, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL" />
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.TxScript, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
  </ItemGroup>
  <!-- Visual Basic supports Importing namespaces (equivalent to using statements in C#).-->
  <ItemGroup>
    <Import Include="Microsoft.VisualBasic" />
    <Import Include="System" />
    <Import Include="System.Collections" />
    <Import Include="System.Data" />
    <Import Include="System.Diagnostics" />
    <Import Include="System.Windows.Forms" />
  </ItemGroup>
  <!-- This section defines the user source files that are part of the
       project.

       Compile - Specifies a source file to compile.
       EmbeddedResource - Specifies a .resx file for embedded resources.
       None - Specifies a file that is not to be passed to the compiler (for instance,
              a text file or XML file).
       AppDesigner - Specifies the directory where the application properties files can
                     be found.
  -->
  <ItemGroup>
    <AppDesigner Include="My Project\" />
    <Compile Include="BufferWrapper.vb" />
    <Compile Include="ComponentWrapper.vb" />
    <Compile Include="main.vb" />
    <Compile Include="My Project\AssemblyInfo.vb">
      <SubType>Code</SubType>
    </Compile>
    <EmbeddedResource Include="My Project\Resources.resx">
      <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.vb</LastGenOutput>
      <CustomToolNamespace>My.Resources</CustomToolNamespace>
    </EmbeddedResource>
    <Compile Include="My Project\Resources.Designer.vb">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <None Include="My Project\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.vb</LastGenOutput>
    </None>
    <Compile Include="My Project\Settings.Designer.vb">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <!-- Include the default configuration information and metadata files for the add-in.
         These files are copied to the build output directory when the project is
         built, and the path to the configuration file is passed to add-in on the command
         line when debugging.
    -->
  </ItemGroup>
  <!-- Include the build rules for a VB project.-->
  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  <!-- This section defines VSTA properties that describe the host-changable project properties. -->
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{A860303F-1F3F-4691-B57E-529FC101A107}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{C1B21C64-9E6F-4923-A89D-9F958503C1CE}" ApplicationType="usd" Language="vb" TemplatesPath="" />
        <Host Name="SSIS_ScriptComponent" />
        <ProjectClient>
          <HostIdentifier>SSIS_ScriptComponent</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>]]></arrayElement></arrayElements></property>
<property id="120" name="BinaryCode" dataType="System.String" state="cdata" isArray="true" description="Stores the binary representation of the component" typeConverter="NOTBROWSABLE" UITypeEditor="" containsID="false" expressionType="None"><arrayElements arrayElementCount="2"><arrayElement dataType="System.String"><![CDATA[\bin\scriptcomponent_1aab10281a124841aaf55c36de69efc7.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
AAAKKFkAAArcfhYAAAQqAAEMAAACAB0ADCkAEAAAAAFCU0pCAQABAAAAAAAMAAAAdjIuMC41MDcy
NwAAAAAFAGwAAABMDAAAI34AALgMAAD0DwAAI1N0cmluZ3MAAAAArBwAAEgAAAAjVVMA9BwAABAA
AAAjR1VJRAAAAAQdAAB4BQAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPoBMwAWAAABAAAAQgAA
AA4AAAAXAAAALwAAABUAAABkAAAABAAAAD8AAAAcAAAABgAAAA0AAAARAAAACQAAAAEAAAAIAAAA
AQAAAAMAAAADAAAAAgAAAAAAtw8BAAAAAAAKALUBiwEKAOkBywEGAPkB8gEKAFECiwEGAM8C8gEK
AFEDJwMOAKMDjAMSAPID0QMWACME0QMOAL4EjAMGAFAG8gEGAIUGdAYGALIGnQYaABkHBAcaAGYH
UAcaAH8HUAcaAKwHlAcGANYHwwcKABUI7gcKAC0IEwAaAGIIRQgGAJcIdwgGALUI8gEGANkI8gEK
APIIEwAGADYJFwkGAEoJ8gESAFEJ0QMGAF4J8gEeAMEJmAkeAPAJmAkeABsKmAkGAGQK8gEeAGoK
mAkWAKsK0QMeAM8KmAkeAPYKmAkaAFoLOwseAHULmAkeAIkLmAkGAKML8gEGAK0L8gEeAOALmAke
ACUMmAkKAD8M7gcGAIwMeQwiAP0M1QwGABwN8gESAE8N0QMOAJgNdg0OALQNdg0aAMwNUAcOAOEN
dg0GAA8O/Q0GADYOJQ4GAEkOwwcGALIOdwgGANIOdwgGAPAO/Q0GAA0PFwkGABsP/Q0GADYP/Q0G
AFEP/Q0GAGoP/Q0GAIMP/Q0GAKAP/Q0AAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAHIA
NwAJAAEAAgAAARAAfQA3AA0AAQADAAUBAACHAAAADQAFAAgABQEAAJUAAAANAAUADwABAAAAsAC8
AB0ABgARAAEAAAD0ALwAKQAGABYAAQAAAAIBvAANAAgAGgABAAAADgG8AA0ACQAbAAEAAAAYAbwA
IAAKABwAAgEAACMBAAAtABAAKQAAAAAALwE7AQ0AFAApAAABEACAAbwAOQAWAC0AMQAUAiAAMQA9
Ai0AMQBfAjoAMQCEAkcAIQBgA5AABgACAccABgAOAcsAAQAUBdwAAQAUBdwAUYAkBeYAAQD1BeYA
AQABBgkBAQAKBuYAAQAWBg0BAQAhBhEBBgZVBh4BVoBdBgkBVoBiBgkBVoBsBgkBEQCVBjABEQC+
BjQBEQAxB1IBEQA5B1YBCCEAAAAABhjFARMAAQAQIQAAAAAGGMUBEwABABghAAAAABEYAAIXAAEA
RCEAAAAAEwgHAhsAAQBcIQAAAAATCC0CKAABAHQhAAAAABMIVgI1AAEAjCEAAAAAEwh0AkIAAQCk
IQAAAABGAroCYwABAMAhAAAAAEYCwwJoAAIA1CEAAAAAgwDUAmwAAgDsIQAAAABGAtwCcQACAAAi
AAAAABEA5QJ4AAIAHCIAAAAAAQADA4AAAwA4IgAAAAAGGMUBEwAEAEAiAAAAAAMIFwOLAAQAdCIA
AAAABhjFARMABACIIgAAAAAGGMUBrwAEAJgiAAAAAEYKVAS5AAgArCIAAAAARgprBLkACADAIgAA
AACGAIMEvgAIANgiAAAAAIYAiwS+AAgA8CIAAAAABhjFARMACAAQIwAAAABGAtIEzwAIAEAjAAAA
AEYD5wTWAAoAVCMAAAAARgP6BNYACwBYIwAAAAAGGMUB4AAMAGgjAAAAAAYYxQHgAA0AeCMAAAAA
BhjFARMADgCcIwAAAABGAvoE1gAOADwkAAAAAEYCNAUTAA8A7CQAAAAABgA/Be4ADwC8JQAAAABG
AlMF9AAQAHgmAAAAAEYCbwX0ABEAsCYAAAAABgiDBXEAEgDIJgAAAAAGCJQF+QASABQnAAAAAAYI
qwX+ABMALCcAAAAABgi2BQMBEwA4JwAAAAAGCMEFcQAUAFAnAAAAAAYI1AX5ABQAXCcAAAAAAQDn
BXEAFQD4JwAAAAADGMUBEwAVAAAoAAAAABYIygY4ARUAPCgAAAAAFgjeBj0BFQBQKAAAAAAWCOoG
QgEVAFgoAAAAABEYAAIXABYAbCgAAAAABhjFARMAFgB0KAAAAAAWCEYHWQEWAAAAAQDBAgAAAQD6
AgAAAQD6AgAAAQAyBAAAAgA8BAAAAwBFBAAABABNBAAAAQDfBAAAAgBNBAAAAQBNBAAAAQAQBQAA
AQAyBAAAAQAyBAAAAQAQBQAAAQBIBQAAAQBnBQAAAQBnBQAAAQClBQAAAQClBQAAAQClBQAAAQD2
BgkAxQETAHkAxQFjAYkAxQFyAREAxQETAJEAxQETACQAxQETACwAxQETADQAxQETADwAxQETACQA
FwOLACwAFwOLADQAFwOLADwAFwOLAJkAxQETAKEAxQETAKkAxQH5ALEApggGAhkAugJjABkAwwJo
ACkAxwgTAhkA3AJxAMEA4wgjAhkAxQETAMkAxQEzAkQAYAOQAEwARgeLAEwADQmwAkwAxQETANEA
xQG9AjkAxQGvAOEAgwS+AOEAiwS+AOkAxQG9AlEAxQETAEEA2gnNAvEABwrSAvkAKArXAgEBMQpo
ANkAOArmADkAPgreAkkASQrjAkkAUAroAtkAXQbtAtkAYgbtAtkAbAbtAkkAWgrzAkEANAUTAAEB
hwoDAxEBoQpoAFEAvQoJAxkB5AoPAwEBPgpoABEBKAoVAykBCQtoACEBFwscA9kALQsiAzEBYAsn
A9kAaQssA9kAwAs6AwEBxgtEAxEB1gsTADkBBAxKA1kBKApQA0EBCQtoADkBMgxXA2kBSwxfA0kB
WwxxAGkBZwwXAFEAUwX0AFkBmAx/A3EBpgyFA0EBBg2JA3EBEw2+AIEBKA0TAFEAbwX0AAEBMA2+
ABEBmAx/A9kAPw2pAykBRg1xAIkBxQETAJEBxQH5AJkBxQHLA6EBxQH5AKkBxQE8BCkAGA54BGEA
xQF+BHEAxQETALkBPg6bBLkBRA6bBMEBxQETAMkBxQH0ANEBxQETANkBxQH5AOEBxQH5AOkBxQH5
APEBxQH5APkBxQH5AAECxQH5AAkCxQH5ABECxQH5AA4AKADpAAgARAAhAQgASAAmAQgATAArASkA
gwDoAS4AEwNnBS4ACwMqBS4A4wKuBC4A6wLNBC4AAwMKBS4AIwMqBS4A2wKlBC4AGwPCAi4A8wLa
BC4A6wDCAi4ACwEEBS4A+wLCAkAAKwAmAUAAEwBpAUMAEwBpAUMAGwB4AUkAgwDAAWMAEwBpAWMA
GwB4AWkAgwD5AYAAKwAmAYMAewAmAYMAGwB4AYMAcwAmAYkAgwDUAaAAKwAmAaMAwwA7AqMAEwBp
AcAAKwAmAcMA6wDCAsMAEwBpAeAAKwAmAeMACwHCAgABEwBpAQABKwAmAQMBCwHCAgkBowJCBAkB
mwJJBCABKwAmASABEwBpASkBmwL9A0ABKwAmAUABEwBpAUkBmwIRBGABEwBpAWABKwAmAWMBiwK9
A2MBkwLRA2MBCwHCAmMBgwImAWkBEwCSBIABKwAmAYkBEwCSBKABKwAmAakB0wImAcABEwBpAcAB
KwAmAeABKwAmAQACKwAmAQACEwBpAUADCwHCAmADCwHCAqwBsQG2AbsBCwIPAhoCHwIuAi4CtgLI
AsgCCwILAvkCMQNmA48DngMfAp4DpAMfAq8DhgSNBKAEBAABAAYABQAHAAYACwAIAA0ACwAOAA0A
AADpAU8AAACiAlQAAABRAlkAAACuAl4AAABqA5gAAACXBMIAAACqBMIAAAAtBhUBAAA6BhkBAABB
BhUBAACFBkgBAAD8Bk0BAAD2Bl4BAgAEAAMAAgAFAAUAAgAGAAcAAgAHAAkAAgAPAAsAAgASAA0A
AgATAA8AAQAjABEAAgAiABEAAgAkABMAAQAlABMAAQAnABUAAgAmABUAAgAqABcAAgArABkAAQAs
ABkAAgAvABsAdQB1AIgAkAGXAZ4BpQGdAqQCBIAAAAEAAAAAAAAAAAAAAAAAvAAAAAIAAAAAAAAA
AAAAAAEACgAAAAAACAAAAAAAAAAAAAAACgATAAAAAAABAAAAAAAAAAAAAACdAHYDAAAAAAoAAAAA
AAAAAAAAAKYAtAMAAAAACgAAAAAAAAAAAAAApgACBAAAAAACAAAAAAAAAAAAAAABAPIBAAAAAAoA
AAAAAAAAAAAAAKYAdAkAAAAACgAAAAAAAAAAAAAApgCyDAAAAAAAAAAAAQAAAGYOAAAFAAQABgAE
AAwACwAAABAADAD4AgAAEAAZAPgCAAAAABsA+AItACkCLQCrAgAAADxNb2R1bGU+AG1zY29ybGli
AE1pY3Jvc29mdC5WaXN1YWxCYXNpYwBNeUFwcGxpY2F0aW9uAFNjcmlwdENvbXBvbmVudF8xYWFi
MTAyODFhMTI0ODQxYWFmNTVjMzZkZTY5ZWZjNy52YnByb2ouTXkATXlDb21wdXRlcgBNeVByb2pl
Y3QATXlXZWJTZXJ2aWNlcwBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBJbnB1dEJ1ZmZlcgBT
Y3JpcHRDb21wb25lbnRfMWFhYjEwMjgxYTEyNDg0MWFhZjU1YzM2ZGU2OWVmYzcudmJwcm9qAFVz
ZXJDb21wb25lbnQAQ29ubmVjdGlvbnMAVmFyaWFibGVzAFNjcmlwdE1haW4AQWN0aW9uVHlwZXMA
TXlSZXNvdXJjZXMAU2NyaXB0Q29tcG9uZW50XzFhYWIxMDI4MWExMjQ4NDFhYWY1NWMzNmRlNjll
ZmM3LnZicHJvai5NeS5SZXNvdXJjZXMATXlTZXR0aW5ncwBNaWNyb3NvZnQuVmlzdWFsQmFzaWMu
QXBwbGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWljcm9zb2Z0LlZpc3Vh
bEJhc2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IAZ2V0X0NvbXB1dGVy
AG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9BcHBPYmplY3RQcm92
aWRlcgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9XZWJTZXJ2aWNlcwBt
X015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJTZXJ2aWNlcwBFcXVh
bHMAbwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRlX19JbnN0YW5jZV9f
AFQAaW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFuY2UATWljcm9zb2Z0
LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVlYDEAbV9Db250ZXh0
AEdldEluc3RhbmNlAENvenlSb2MuU1NJU1BsdXMuMjAwOABDb3p5Um9jLlNxbFNlcnZlci5TU0lT
AFNjcmlwdEJ1ZmZlclBsdXMATWljcm9zb2Z0LlNxbFNlcnZlci5UeFNjcmlwdABNaWNyb3NvZnQu
U3FsU2VydmVyLkR0cy5QaXBlbGluZQBTY3JpcHRDb21wb25lbnQATWljcm9zb2Z0LlNxbFNlcnZl
ci5QaXBlbGluZUhvc3QAUGlwZWxpbmVCdWZmZXIAQ29tcG9uZW50AE9iamVjdElEAElzSW5wdXQA
QnVmZmVyAGdldF9TdGF0aWNJbnB1dENvbHVtbnMAZ2V0X1N0YXRpY091dHB1dENvbHVtbnMATmV4
dFJvdwBFbmRPZlJvd3NldABTdGF0aWNJbnB1dENvbHVtbnMAU3RhdGljT3V0cHV0Q29sdW1ucwBT
Y3JpcHRDb21wb25lbnRQbHVzAFByb2Nlc3NJbnB1dABJbnB1dElEAElucHV0X1Byb2Nlc3NJbnB1
dABJbnB1dF9Qcm9jZXNzSW5wdXRSb3cAUm93AFBhcmVudENvbXBvbmVudABDb2x1bW5TZXBhcmF0
b3IAUHJlRXhlY3V0ZQBWYWxpZGF0ZQBlcnJNZXNzYWdlAE9uSW5wdXRQYXRoQXR0YWNoZWQAaW5w
dXRJRABPbklucHV0UGF0aERldGFjaGVkAGdldF9JbnB1dENvbHVtbnMAc2V0X0lucHV0Q29sdW1u
cwB2YWx1ZQBnZXRfQWN0aW9uAHNldF9BY3Rpb24AZ2V0X1RyaW1DaGFyYWN0ZXJzAHNldF9Ucmlt
Q2hhcmFjdGVycwBHZXRJbnB1dENvbHNfAG1faW5wdXRDb2xzAG1fYWN0aW9uAG1fdHJpbUNoYXJz
AG1faW5wdXRJZHgAbV90cmltUGFyYW0ASW5wdXRDb2x1bW5zAEFjdGlvbgBUcmltQ2hhcmFjdGVy
cwBFbnVtAHZhbHVlX18AVHJpbQBUcmltU3RhcnQAVHJpbUVuZABTeXN0ZW0uUmVzb3VyY2VzAFJl
c291cmNlTWFuYWdlcgBfcmVzTWdyAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9y
ZXNDdWx0dXJlAGdldF9SZXNvdXJjZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFs
dWUAQ3VsdHVyZQBTeXN0ZW0uQ29uZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBt
X1ZhbHVlAG1fU3luY09iamVjdABnZXRfVmFsdWUAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRv
ckJyb3dzYWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0ZW0uQ29kZURvbS5D
b21waWxlcgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dl
ckhpZGRlbkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBT
dGFuZGFyZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBTeXN0ZW0uQ29t
cG9uZW50TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkNv
bXBpbGVyU2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUAUnVudGltZVR5cGVI
YW5kbGUAR2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3RhbmNlAE15R3JvdXBD
b2xsZWN0aW9uQXR0cmlidXRlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2Vydmlj
ZXMAQ29tVmlzaWJsZUF0dHJpYnV0ZQBTdHJpbmcAU2NyaXB0QnVmZmVyAENMU0NvbXBsaWFudEF0
dHJpYnV0ZQBNaWNyb3NvZnQuU3FsU2VydmVyLkRUU1BpcGVsaW5lV3JhcABNaWNyb3NvZnQuU3Fs
U2VydmVyLkR0cy5QaXBlbGluZS5XcmFwcGVyAElEVFNDb21wb25lbnRNZXRhRGF0YTEwMABnZXRf
Q29tcG9uZW50TWV0YURhdGEASURUU0lucHV0Q29sbGVjdGlvbjEwMABnZXRfSW5wdXRDb2xsZWN0
aW9uAElEVFNJbnB1dDEwMABnZXRfSXRlbQBnZXRfSUQARW1wdHkAZ2V0X0J1ZmZlcgBJc051bGwA
R2V0U3RyaW5nAFNldFN0cmluZwBJbnQzMgBJRFRTSW5wdXRDb2x1bW5Db2xsZWN0aW9uMTAwAGdl
dF9JbnB1dENvbHVtbkNvbGxlY3Rpb24AZ2V0X0NvdW50AFBpcGVsaW5lQ29tcG9uZW50AGdldF9I
b3N0Q29tcG9uZW50AElEVFNCdWZmZXJNYW5hZ2VyMTAwAGdldF9CdWZmZXJNYW5hZ2VyAElEVFNJ
bnB1dENvbHVtbjEwMABnZXRfTGluZWFnZUlEAEZpbmRDb2x1bW5CeUxpbmVhZ2VJRABJc051bGxP
ckVtcHR5AFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucwBSZWdleABVbmVzY2FwZQBUb0No
YXJBcnJheQBJRFRTVmlydHVhbElucHV0MTAwAElEVFNWaXJ0dWFsSW5wdXRDb2x1bW4xMDAARXhj
ZXB0aW9uAFN0cmluZ1NwbGl0T3B0aW9ucwBTcGxpdABHZXRWaXJ0dWFsSW5wdXQAUmVtb3ZlQWxs
AElEVFNWaXJ0dWFsSW5wdXRDb2x1bW5Db2xsZWN0aW9uMTAwAGdldF9WaXJ0dWFsSW5wdXRDb2x1
bW5Db2xsZWN0aW9uAERUU1VzYWdlVHlwZQBTZXRVc2FnZVR5cGUAUHJvamVjdERhdGEAU2V0UHJv
amVjdEVycm9yAGdldF9NZXNzYWdlAENsZWFyUHJvamVjdEVycm9yAFN5c3RlbS5Db2xsZWN0aW9u
cwBJRW51bWVyYXRvcgBHZXRFbnVtZXJhdG9yAGdldF9DdXJyZW50AE1pY3Jvc29mdC5TcWxTZXJ2
ZXIuRFRTUnVudGltZVdyYXAATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUnVudGltZS5XcmFwcGVy
AERhdGFUeXBlAGdldF9EYXRhVHlwZQBNb3ZlTmV4dABJRGlzcG9zYWJsZQBEaXNwb3NlAGdldF9J
c0F0dGFjaGVkAENvbmNhdABnZXRfTmFtZQBTU0lTU2NyaXB0Q29tcG9uZW50RW50cnlQb2ludEF0
dHJpYnV0ZQBDb3p5Um9jLlNxbFNlcnZlci5TU0lTLkF0dHJpYnV0ZXMAVmFsaWRhdGVQcm9wZXJ0
aWVzQXR0cmlidXRlAFNvcnRQcm9wZXJ0aWVzQXR0cmlidXRlAERlc2NyaXB0aW9uQXR0cmlidXRl
AElucHV0VmlydHVhbENvbHVtbkF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3NlbWJseQBn
ZXRfQXNzZW1ibHkAU3lzdGVtLlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQARGVidWdnZXJO
b25Vc2VyQ29kZUF0dHJpYnV0ZQBTY3JpcHRDb21wb25lbnRfMWFhYjEwMjgxYTEyNDg0MWFhZjU1
YzM2ZGU2OWVmYzcudmJwcm9qLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGlsYXRpb25SZWxheGF0
aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBBc3NlbWJseUZpbGVW
ZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUA
QXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2Vt
Ymx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFzc2VtYmx5
VGl0bGVBdHRyaWJ1dGUAU2NyaXB0Q29tcG9uZW50XzFhYWIxMDI4MWExMjQ4NDFhYWY1NWMzNmRl
NjllZmM3LnZicHJvai5kbGwAAAALSQBuAHAAdQB0AAAFLAAKAAAxTQB5AC4AUgBlAHMAbwB1AHIA
YwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAAAAAJifoIT6OUtOocceONoTi3oACLd6XFYZ
NOCJCLA/X38R1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgB
EhEEAAASFAcGFRIYARIUBAgAEgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAH
EAEBHgAeAAcwAQEBEB4AAhMABCAAEwAHBhUSGQETAAQoABMACBbPSQu4DDTqCImEXc2AgMyRCSAE
ARIhCAISJQQgAB0OAyAAAgQoAB0OAwYSJAMGEigGIAIBCBIlBSABARIcAwYSIQUgAQESIQIGDgQs
AAoABSABAhAOBCABAQgEIAEBDgQgABEwBSABAREwAwYRMAMGHQgDBh0DAygADgQoABEwAgYIBAAA
AAAEAQAAAAQCAAAAAwYSMQMGEjUEAAASMQQAABI1BQABARI1BAgAEjEECAASNQMGEjgCBhwEAAAS
OAQIABI4BSABARFBCAEAAQAAAAAABSACAQ4OFwEACk15VGVtcGxhdGUHOC4wLjAuMAAABhUSGAES
DAYVEhgBEggGFRIYARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUEwEADk15LkFwcGxpY2F0
aW9uAAATAQAOTXkuV2ViU2VydmljZXMAABABAAtNeS5Db21wdXRlcgAADAEAB015LlVzZXIAAAQA
ARwcAwcBAgMHAQgGAAESFRFdBAcBEhUDBwEOBRABAB4ABAoBHgAEBwEeAAcgBAEODg4OYQEANFN5
c3RlbS5XZWIuU2VydmljZXMuUHJvdG9jb2xzLlNvYXBIdHRwQ2xpZW50UHJvdG9jb2wSQ3JlYXRl
X19JbnN0YW5jZV9fE0Rpc3Bvc2VfX0luc3RhbmNlX18AAAAGFRIYARMABhUSGQETAAQKARMABSAB
ARMABgcCEwATAAQgAQECBQEAAAAABAcBHQ4EIAASeQQgABJ9BiABEoCBHAQgABIlBCABAggEIAEO
CAUgAQ4dAwUgAgEIDgkHBggICA4IETAFIAASgIkFIAASgI0FIAASgJEGIAESgJUcBSACCAgIBAAB
Ag4EAAEODgQgAB0DCAcECBKAgQgICSACHQ4dDhGAqQUgABKAnQUgABKArQYgARKAoRwHIAIICBGA
sQYAAQESgKUYBwsCAhKAgR0OEoCdDhKAoRKApR0OCB0OBSAAEoC5AyAAHAUgABGAvQ4HBBKAgRKA
nRKAoRKAuQUHARKAgQQHAREwBQACDg4ODQcFDhKAgQ4SgJUSgLkNAQAIVmFsaWRhdGUAAAUgAQEd
DisBAAMAAAAMSW5wdXRDb2x1bW5zBkFjdGlvbg5UcmltQ2hhcmFjdGVycwAAEwEADlNlbGVjdCBh
Y3Rpb24uAAAqAQAlT3B0aW9uYWwuIFNwZWNpZnkgY2hhcmFjdGVycyB0byB0cmltLgAABSACAQ4C
BgEAAAAAAC4BAClTZWxlY3QgaW5wdXQgY29sdW1ucyB5b3Ugd2FudCB0byBwcm9jZXNzLgAABSAA
EoDZByACAQ4SgNkGBwISMRIxBAcBEjUIAQACAAAAAAAEAAEBHAQHARI4CAEACAAAAAAAHgEAAQBU
AhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAQwBAAcxLjAuMC4wAAApAQAkZTdmMzBjN2EtYmU5OS00
MDdlLWE2MTQtNTU1ZGNiYmNkNTY1AAAFAQABAAAfAQAaQ29weXJpZ2h0IEAgTWljcm9zb2Z0IDIw
MTMAADwBADdTY3JpcHRDb21wb25lbnRfMWFhYjEwMjgxYTEyNDg0MWFhZjU1YzM2ZGU2OWVmYzcu
dmJwcm9qAAAOAQAJTWljcm9zb2Z0AAAAAHRLAAAAAAAAAAAAAI5LAAAAIAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACASwAAAAAAAAAAAAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgQAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwADAAAAKAAA
gA4AAABIAACAEAAAAGAAAIAAAAAAAAAAAAAAAAAAAAIAAgAAAHgAAIADAAAAkAAAgAAAAAAAAAAA
AAAAAAAAAQAAfwAAqAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAwAAAgAAAAAAAAAAAAAAAAAAAAQAA
AAAA2AAAAAAAAAAAAAAAAAAAAAAAAQAAAAAA6AAAAAAAAAAAAAAAAAAAAAAAAQAAAAAA+AAAAAAA
AAAAAAAAAAAAAAAAAQAAAAAACAEAAIBlAADoAgAAAAAAAAAAAABoaAAAKAEAAAAAAAAAAAAAkGkA
ACIAAAAAAAAAAAAAABhhAABoBAAAAAAAAAAAAABoBDQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8A
SQBOAEYATwAAAAAAvQTv/gAAAQAAAAEAAAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAA
AAAAAAAAAEQAAAABAFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwA
YQB0AGkAbwBuAAAAAAAAALAEyAMAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAApAMA
AAEAMAAwADAAMAAwADQAYgAwAAAANAAKAAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAABNAGkA
YwByAG8AcwBvAGYAdAAAAJgAOAABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAABT
AGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADEAYQBhAGIAMQAwADIAOAAxAGEAMQAyADQA
OAA0ADEAYQBhAGYANQA1AGMAMwA2AGQAZQA2ADkAZQBmAGMANwAuAHYAYgBwAHIAbwBqAAAAMAAI
AAEARgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAmAA8AAEASQBuAHQA
ZQByAG4AYQBsAE4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADEAYQBh
AGIAMQAwADIAOAAxAGEAMQAyADQAOAA0ADEAYQBhAGYANQA1AGMAMwA2AGQAZQA2ADkAZQBmAGMA
NwAuAHYAYgBwAHIAbwBqAC4AZABsAGwAAABcABsAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBo
AHQAAABDAG8AcAB5AHIAaQBnAGgAdAAgAEAAIABNAGkAYwByAG8AcwBvAGYAdAAgADIAMAAxADMA
AAAAAKAAPAABAE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABD
AG8AbQBwAG8AbgBlAG4AdABfADEAYQBhAGIAMQAwADIAOAAxAGEAMQAyADQAOAA0ADEAYQBhAGYA
NQA1AGMAMwA2AGQAZQA2ADkAZQBmAGMANwAuAHYAYgBwAHIAbwBqAC4AZABsAGwAAACQADgAAQBQ
AHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8A
MQBhAGEAYgAxADAAMgA4ADEAYQAxADIANAA4ADQAMQBhAGEAZgA1ADUAYwAzADYAZABlADYAOQBl
AGYAYwA3AC4AdgBiAHAAcgBvAGoAAAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4A
AAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAA
ADEALgAwAC4AMAAuADAAAAAoAAAAIAAAAEAAAAABAAQAAAAAAIACAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD/
/wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAd3d3d3d3d3d3d3d3d3dwBEREREREREREREREREREcAT/////////////
////9HAE//////////////////RwBP/////////////////0cAT/////////////////9HAE////
//////////////RwBP/////////////////0cAT/////////////////9HAE////////////////
//RwBP/////////////////0cAT/////////////////9HAE//////////////////RwBP//////
///////////0cAT/////////////////9HAE//////////////////RwBP/////////////////0
cAT/////////////////9HAE//////////////////RwBP/////////////////0cASIiIiIiIiI
iIiIiIiIhHAERERERERERERERERERERwBExMTExMTExMTE7Ozkl0cATMzMzMzMzMzMzMzMzMxAAA
REREREREREREREREREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA/////////////////////8AAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAA
AYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB
gAAAA8AAAAf///////////////8oAAAAEAAAACAAAAABAAQAAAAAAMAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A
/wD//wAA////AAAAAAAAAAAAB3d3d3d3d3dERERERERER0////////hHT///////+EdP///////4
R0////////hHT///////+EdP///////4R0////////hHT///////+EdIiIiIiIiIR0zMzMzMzMxH
xERERERERMAAAAAAAAAAAAAAAAAAAAAA//8AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAABAAD//wAA//8AAAAAAQACACAgEAABAAQA6AIAAAIAEBAQAAEA
BAAoAQAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADAAAAKA7AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></arrayElement></arrayElements></property>
<property id="127" name="UserComponentTypeName" dataType="System.String" state="default" isArray="false" description="" typeConverter="" UITypeEditor="" containsID="false" expressionType="None">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2008, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</property>
<property id="899" name="VSTAProjectName" dataType="System.String" state="default" isArray="false" description="Specifies the name of the Microsoft Visual Studio Tools for Applications project. Project names must be unique within a package." typeConverter="NOTBROWSABLE" UITypeEditor="" containsID="false" expressionType="None">ScriptComponent_1aab10281a124841aaf55c36de69efc7</property>
<property id="900" name="ScriptLanguage" dataType="System.String" state="default" isArray="false" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" UITypeEditor="" containsID="false" expressionType="None">VisualBasic</property></properties>
<inputs>
<input id="117" name="Input" description="" hasSideEffects="true" dangling="false" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed"></input>
</inputs>
<outputs>
<output id="118" name="Output" description="" exclusionGroup="0" synchronousInputId="117" deleteOutputOnPathDetached="false" hasSideEffects="false" dangling="false" isErrorOut="false" isSorted="false" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed"><externalMetadataColumns isUsed="False" /></output>
</outputs>
</component>