<component id="26" name="Row Repeat Transform" 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="31" 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.Text.RegularExpressions

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


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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub ProcessInput( _
        ByVal InputID As Integer, _
        ByVal Buffer As Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer)

        Dim colsCount As Integer = m_colsIndex.Length

        While Buffer.NextRow()
            Dim repeatCount As Integer = Convert.ToInt32(Buffer(m_repeatIndex))
            For index As Integer = 0 To repeatCount - 1
                MyBase.OutputBuffer.AddRow()

                For colIndex As Integer = 0 To colsCount - 1
                    MyBase.OutputBuffer.Buffer(m_colsIndex(colIndex)) = Buffer(colIndex)
                Next
            Next
        End While

        If Buffer.EndOfRowset Then
            Call MyBase.OutputBuffer.SetEndOfRowset()
        End If
    End Sub ' ProcessInput


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

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

        ' Find repeat column index.
        m_repeatIndex = MyBase.HostComponent.BufferManager.FindColumnByLineageID( _
            input.Buffer, _
            input.InputColumnCollection(Me.RepeatColumn).LineageID)

        ' Find columns index from input to output.
        Dim output As IDTSOutput100 = MyBase.ComponentMetaData.OutputCollection(0)
        Dim colsCount As Integer = input.InputColumnCollection.Count
        m_colsIndex = New Integer(colsCount - 1) {}
        For colIndex As Integer = 0 To colsCount - 1
            Dim inputCol As IDTSInputColumn100 = input.InputColumnCollection(colIndex)

            ' Get input column index.
            Dim inputColIndex As Integer = MyBase.HostComponent.BufferManager.FindColumnByLineageID( _
                input.Buffer, _
                inputCol.LineageID)

            ' Set output column index.
            m_colsIndex(inputColIndex) = MyBase.HostComponent.BufferManager.FindColumnByLineageID( _
                output.Buffer, _
                output.OutputColumnCollection(inputCol.Name).LineageID)
        Next
    End Sub ' PreExecute


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

        Try
            Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
            Dim virtInput As IDTSVirtualInput100 = input.GetVirtualInput()

            If virtInput.VirtualInputColumnCollection.Count > 0 AndAlso _
                String.IsNullOrEmpty(Me.RepeatColumn) Then

                Throw New Exception("Select repeat column.")
            End If
        Catch ex As Exception
            result = False
            errMessage = ex.Message
        End Try

        Validate = result
    End Function    'Validate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Copy input columns to the asynchronous output.
    Public Overrides Sub OnInputPathAttached(ByVal inputID As Integer)
        Call MyBase.OnInputPathAttached(inputID)

        Call MyBase.ComponentMetaData.InputCollection(0).InputColumnCollection.RemoveAll()
        Call MyBase.ComponentMetaData.OutputCollection(0).OutputColumnCollection.RemoveAll()

        Dim virtInput As IDTSVirtualInput100 = MyBase.ComponentMetaData.InputCollection.GetObjectByID(inputID).GetVirtualInput()

        Dim outputCols As IDTSOutputColumnCollection100
        outputCols = MyBase.ComponentMetaData.OutputCollection(0).OutputColumnCollection

        Dim managedComponent As CManagedComponentWrapper = MyBase.ComponentMetaData.Instantiate()

        Dim colsCount As Integer = virtInput.VirtualInputColumnCollection.Count
        For colIndex As Integer = 0 To colsCount - 1
            Dim inputCol As IDTSVirtualInputColumn100 = virtInput.VirtualInputColumnCollection(colIndex)

            ' Setup input column.
            Call managedComponent.SetUsageType( _
                inputID, _
                virtInput, _
                inputCol.LineageID, _
                DTSUsageType.UT_READONLY)

            ' Add output column.
            Dim outputCol As IDTSOutputColumn100 = outputCols.[New]()
            outputCol.Name = inputCol.Name
            With inputCol
                Call outputCol.SetDataTypeProperties(.DataType, .Length, .Precision, .Scale, .CodePage)
            End With
        Next
    End Sub ' OnInputPathAttached


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

        Call MyBase.ComponentMetaData.InputCollection(0).InputColumnCollection.RemoveAll()
        Call MyBase.ComponentMetaData.OutputCollection(0).OutputColumnCollection.RemoveAll()
    End Sub ' OnInputPathDetached


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


#Region "Attributes"
    Private m_repeatColumn As String

    Private m_repeatIndex As Integer
    Private m_colsIndex() 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 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

<CLSCompliant(False)> _
Public Class OutputBuffer
    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 Sub AddRow()
        MyBase.AddRow()
    End Sub

    Public Overloads Sub SetEndOfRowset()
        MyBase.SetEndOfRowset()
    End Sub

    Public Overloads Function EndOfRowset() As Boolean
        EndOfRowset = MyBase.EndOfRowset
    End Function

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ScriptComponent_946f5164af91439fadfea81b2e4f1106.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>{D56A767F-5986-4B6E-BFE8-CB46597712C3}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptComponent_946f5164af91439fadfea81b2e4f1106</RootNamespace>
    <AssemblyName>ScriptComponent_946f5164af91439fadfea81b2e4f1106</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>
  </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[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 OutputBuffer As OutputBuffer

    Dim InputsFinished As Integer = 0

    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

        If Buffer.EndOfRowset Then
            InputsFinished = InputsFinished + 1
            If InputsFinished = 1 Then
                FinishOutputs()
                MarkOutputsFinished()
            End If
        End If

    End Sub

    Public Overridable Sub FinishOutputs()
    End Sub

    Private Sub MarkOutputsFinished()

        If OutputBuffer IsNot Nothing Then
            OutputBuffer.SetEndOfRowset
            OutputBuffer = Nothing
        End If

    End Sub

    Public Overrides Sub PrimeOutput(ByVal Outputs As Integer, ByVal OutputIDs() As Integer, ByVal Buffers() As PipelineBuffer, ByVal OutputMap As OutputNameMap)

        For I As Integer = 0 To Outputs - 1
            If OutputIDs(I) = GetOutputID(OutputMap, "Output") Then
                OutputBuffer = New OutputBuffer(Me, OutputIDs(I), False, Buffers(I), OutputMap)
            End If
        Next

        CreateNewOutputRows()

    End Sub

    Public Overridable Sub CreateNewOutputRows()
    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:CodeName>ScriptComponent_946f5164af91439fadfea81b2e4f1106</msb:CodeName>
		<msb:DisplayName>ScriptComponent_946f5164af91439fadfea81b2e4f1106</msb:DisplayName>
		<msb:ProjectId>{BBB3FF84-702C-4CDF-9CD2-B3F7933774E5}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="ScriptComponent_946f5164af91439fadfea81b2e4f1106.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="32" 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_946f5164af91439fadfea81b2e4f1106.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
BhhcARMADgDAIgAAAABGAqYE2AAOACgjAAAAAEYDxQQTABIALCMAAAAAAQDTBBMAEgBIIwAAAABG
AucE4gASAJQjAAAAAEYDDQUTABYAmCMAAAAARgMhBe4AFgCsIwAAAABGAzQF7gAXALAjAAAAAAYY
XAH4ABgAwCMAAAAABhhcAfgAGQDQIwAAAAAGGFwBEwAaANgjAAAAAEYCpgT+ABoAeCQAAAAARgJe
BRMAHACEJQAAAAAGAGkFBQEcAAgmAAAAAEYCfQULAR0ALCcAAAAARgKZBQsBHgCAJwAAAAAGCK0F
cQAfAJgnAAAAAAYIvgUQAR8AAAABAFgCAAABAJECAAABAJECAAABANcDAAACAOEDAAADAOoDAAAE
APIDAAAFAPkDAAABANcDAAACAOEDAAADAOoDAAAEAPIDAAAFAPkDAAABALMEAAACALsEAAADAPID
AAAEAPkDAAABAPMEAAACAPsEAAADAAUFAAAEAPkDAAABAPIDAAABAEoFAAABANcDAAABANcDAAAB
ALMEAAACAPIDAAABAHIFAAABAJEFAAABAJEFAAABAM8FCQBcARMAYQBcASABcQBcAS8BEQBcARMA
eQBcARMAJABcARMALABcARMANABcARMAPABcARMAJACuAosALACuAosANACuAosAPACuAosAgQBc
ARMAiQBcARMAkQBcARABmQBhB8kBGQBRAmMAGQBaAmgAKQCCB9YBGQBzAnEAqQCeB+YBGQBcARMA
sQBcAfYBRAD3ApAATADIB4sATADSB3MCTABcARMAuQBcAYICOQBcAa8AyQAyBMAAyQA6BMAA0QBc
AYICyQBtBBMAyQB0BBMAWQBcARMAQQCfCJIC2QDMCJcC4QDtCJwC6QD2CGgASQD9CMAAQQANCaIC
SQDtCK4C8QAhCbMCOQApCbgCSQA0Cb0CSQAyBMAAQQBeBRMAWQB2CcwCEQGdCdIC6QApCWgA6QDM
CdgCIQHtCN4CAQHmCWgAGQH0CeUC2QAiCusCKQHtCPECIQE3CmgA+QApCWgA+QBfCvcCAQF6CnEA
MQHtCP0COQHmCWgA6QC1ChIDQQHpChgDUQE3CmgAwQAKCx4DSQFcARABWQEkCyMDSQE0C3EAWQFA
CxcAWQB9BQsBIQGFCxMAMQGFCxMA4QCPCzcD2QCdCz0DUQHtCEMDaQHmCWgAcQHRC0oDMQHeC1gD
aQF6CnEAOQHiCxABaQE/DF4DaQFMDGgAaQFXDGgAaQFlDGgAaQFvDGgAOQF8DGQDWQCZBQsBiQFc
ARMAkQFcARABmQFcARMAoQFcARABqQFcAQsBsQFcARMAuQFcARABKQCDAIMBLgDzAroDLgD7AsMD
LgADA+IDQAATACYBQAArAE4BQwAbADUBQwATACYBSQCDAKEBYwATACYBYwAbADUBaQCDAJQBgAAr
AE4BgwAbADUBgwB7AE4BgwBzAE4BiQCDALUBoAArAE4BowATACYBowDDAP4BwAArAE4BwwDrAIcC
wwATACYB4AArAE4B4wALAYcCAAErAE4BAAETACYBAwELAYcCIAETACYBIAErAE4BIwELAYcCQAEr
AE4BQAETACYBSQHjAk4BSQHrApUDYAErAE4BYAETACYBgAErAE4BgwHTAk4BgwHbAocDgwELAYcC
oAErAE4BwAETACYBwAErAE4B4AErAE4BAAITACYBAAIrAE4BgAQLAYcCoAQLAYcCbwF0AXkBfgHO
AdIB3QHiAfEB8QF5Ao0CjQLOAc4BjQKNAs4BqQLDAgQDKgNvA+IBBAABAAYABQAHAAYACAAIAAwA
CgAAAIABTwAAADkCVAAAAOgBWQAAAEUCXgAAAAEDmAAAAEYExAAAAFkExAAAAEYExAAAAFkExAAA
AP4FHAECAAQAAwACAAUABQACAAYABwACAAcACQACAA8ACwACABIADQACABMADwACABcAEQACABgA
EwACACwAFQABAC0AFQB1AHUAiABTAVoBYQFoAWACZwIEgAAAAAAAAAAAAAAAAAAAAAC1AAAABAAA
AAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAAAAAKABMAAAAAAAEAAAAAAAAAAAAAAJ0ADQMAAAAA
DAAAAAAAAAAAAAAApgBLAwAAAAAMAAAAAAAAAAAAAACmAJkDAAAAAAQAAAAAAAAAAAAAAAEAiQEA
AAAADAAAAAAAAAAAAAAApgA5CAAAAAAMAAAAAAAAAAAAAACmAOsLAAAAAAUABAAGAAQAAAAQAAwA
jwIAABAAGQCPAgAAAAAbAI8CLQDsAS0AbgIAAAAAADxNb2R1bGU+AG1zY29ybGliAE1pY3Jvc29m
dC5WaXN1YWxCYXNpYwBNeUFwcGxpY2F0aW9uAFNjcmlwdENvbXBvbmVudF85NDZmNTE2NGFmOTE0
MzlmYWRmZWE4MWIyZTRmMTEwNi5NeQBNeUNvbXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2Vz
AFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAxAElucHV0QnVmZmVyAFNjcmlwdENvbXBvbmVudF85
NDZmNTE2NGFmOTE0MzlmYWRmZWE4MWIyZTRmMTEwNgBPdXRwdXRCdWZmZXIAVXNlckNvbXBvbmVu
dABDb25uZWN0aW9ucwBWYXJpYWJsZXMAU2NyaXB0TWFpbgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMu
QXBwbGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWljcm9zb2Z0LlZpc3Vh
bEJhc2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IAZ2V0X0NvbXB1dGVy
AG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9BcHBPYmplY3RQcm92
aWRlcgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9XZWJTZXJ2aWNlcwBt
X015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJTZXJ2aWNlcwBFcXVh
bHMAbwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRlX19JbnN0YW5jZV9f
AFQAaW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFuY2UATWljcm9zb2Z0
LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVlYDEAbV9Db250ZXh0
AEdldEluc3RhbmNlAENvenlSb2MuU1NJU1BsdXMuMjAxNABDb3p5Um9jLlNxbFNlcnZlci5TU0lT
AFNjcmlwdEJ1ZmZlclBsdXMATWljcm9zb2Z0LlNxbFNlcnZlci5UeFNjcmlwdABNaWNyb3NvZnQu
U3FsU2VydmVyLkR0cy5QaXBlbGluZQBTY3JpcHRDb21wb25lbnQATWljcm9zb2Z0LlNxbFNlcnZl
ci5QaXBlbGluZUhvc3QAUGlwZWxpbmVCdWZmZXIAT3V0cHV0TmFtZU1hcABDb21wb25lbnQAT2Jq
ZWN0SUQASXNJbnB1dABCdWZmZXIAT3V0cHV0TWFwAGdldF9TdGF0aWNJbnB1dENvbHVtbnMAZ2V0
X1N0YXRpY091dHB1dENvbHVtbnMATmV4dFJvdwBFbmRPZlJvd3NldABTdGF0aWNJbnB1dENvbHVt
bnMAU3RhdGljT3V0cHV0Q29sdW1ucwBBZGRSb3cAU2V0RW5kT2ZSb3dzZXQAU2NyaXB0Q29tcG9u
ZW50UGx1cwBJbnB1dHNGaW5pc2hlZABQcm9jZXNzSW5wdXQASW5wdXRJRABJbnB1dE5hbWUARmlu
aXNoT3V0cHV0cwBNYXJrT3V0cHV0c0ZpbmlzaGVkAFByaW1lT3V0cHV0AE91dHB1dHMAT3V0cHV0
SURzAEJ1ZmZlcnMAQ3JlYXRlTmV3T3V0cHV0Um93cwBJbnB1dF9Qcm9jZXNzSW5wdXQASW5wdXRf
UHJvY2Vzc0lucHV0Um93AFJvdwBQYXJlbnRDb21wb25lbnQAUHJlRXhlY3V0ZQBWYWxpZGF0ZQBl
cnJNZXNzYWdlAE9uSW5wdXRQYXRoQXR0YWNoZWQAaW5wdXRJRABPbklucHV0UGF0aERldGFjaGVk
AGdldF9SZXBlYXRDb2x1bW4Ac2V0X1JlcGVhdENvbHVtbgB2YWx1ZQBtX3JlcGVhdENvbHVtbgBt
X3JlcGVhdEluZGV4AG1fY29sc0luZGV4AFJlcGVhdENvbHVtbgBTeXN0ZW0uQ29tcG9uZW50TW9k
ZWwARWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5D
b2RlRG9tLkNvbXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNz
AERlYnVnZ2VySGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNl
cnZpY2VzAFN0YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5
c3RlbS5Db21wb25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1
bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50
aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UA
TXlHcm91cENvbGxlY3Rpb25BdHRyaWJ1dGUAZ2V0X1ZhbHVlAHNldF9WYWx1ZQBTeXN0ZW0uUnVu
dGltZS5JbnRlcm9wU2VydmljZXMAQ29tVmlzaWJsZUF0dHJpYnV0ZQBTdHJpbmcAU2NyaXB0QnVm
ZmVyAENMU0NvbXBsaWFudEF0dHJpYnV0ZQBNaWNyb3NvZnQuU3FsU2VydmVyLkRUU1BpcGVsaW5l
V3JhcABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5QaXBlbGluZS5XcmFwcGVyAElEVFNDb21wb25l
bnRNZXRhRGF0YTEwMABnZXRfQ29tcG9uZW50TWV0YURhdGEASURUU0lucHV0Q29sbGVjdGlvbjEw
MABnZXRfSW5wdXRDb2xsZWN0aW9uAElEVFNJbnB1dDEwMABnZXRfSXRlbQBnZXRfSUQAZ2V0X0Vu
ZE9mUm93c2V0AEdldE91dHB1dElEAENvbnZlcnQAVG9JbnQzMgBnZXRfQnVmZmVyAHNldF9JdGVt
AElEVFNPdXRwdXQxMDAASURUU0lucHV0Q29sdW1uMTAwAEludDMyAFBpcGVsaW5lQ29tcG9uZW50
AGdldF9Ib3N0Q29tcG9uZW50AElEVFNCdWZmZXJNYW5hZ2VyMTAwAGdldF9CdWZmZXJNYW5hZ2Vy
AElEVFNJbnB1dENvbHVtbkNvbGxlY3Rpb24xMDAAZ2V0X0lucHV0Q29sdW1uQ29sbGVjdGlvbgBn
ZXRfTGluZWFnZUlEAEZpbmRDb2x1bW5CeUxpbmVhZ2VJRABJRFRTT3V0cHV0Q29sbGVjdGlvbjEw
MABnZXRfT3V0cHV0Q29sbGVjdGlvbgBnZXRfQ291bnQASURUU091dHB1dENvbHVtbkNvbGxlY3Rp
b24xMDAAZ2V0X091dHB1dENvbHVtbkNvbGxlY3Rpb24AZ2V0X05hbWUASURUU091dHB1dENvbHVt
bjEwMABJRFRTVmlydHVhbElucHV0MTAwAEV4Y2VwdGlvbgBHZXRWaXJ0dWFsSW5wdXQASURUU1Zp
cnR1YWxJbnB1dENvbHVtbkNvbGxlY3Rpb24xMDAAZ2V0X1ZpcnR1YWxJbnB1dENvbHVtbkNvbGxl
Y3Rpb24ASXNOdWxsT3JFbXB0eQBQcm9qZWN0RGF0YQBTZXRQcm9qZWN0RXJyb3IAZ2V0X01lc3Nh
Z2UAQ2xlYXJQcm9qZWN0RXJyb3IAQ01hbmFnZWRDb21wb25lbnRXcmFwcGVyAElEVFNWaXJ0dWFs
SW5wdXRDb2x1bW4xMDAAUmVtb3ZlQWxsAEdldE9iamVjdEJ5SUQASW5zdGFudGlhdGUASURUU0Rl
c2lnbnRpbWVDb21wb25lbnQxMDAARFRTVXNhZ2VUeXBlAFNldFVzYWdlVHlwZQBOZXcAc2V0X05h
bWUATWljcm9zb2Z0LlNxbFNlcnZlci5EVFNSdW50aW1lV3JhcABNaWNyb3NvZnQuU3FsU2VydmVy
LkR0cy5SdW50aW1lLldyYXBwZXIARGF0YVR5cGUAZ2V0X0RhdGFUeXBlAGdldF9MZW5ndGgAZ2V0
X1ByZWNpc2lvbgBnZXRfU2NhbGUAZ2V0X0NvZGVQYWdlAFNldERhdGFUeXBlUHJvcGVydGllcwBT
U0lTU2NyaXB0Q29tcG9uZW50RW50cnlQb2ludEF0dHJpYnV0ZQBDb3p5Um9jLlNxbFNlcnZlci5T
U0lTLkF0dHJpYnV0ZXMAVmFsaWRhdGVQcm9wZXJ0aWVzQXR0cmlidXRlAElucHV0VmlydHVhbENv
bHVtbkF0dHJpYnV0ZQBEZXNjcmlwdGlvbkF0dHJpYnV0ZQBDb21waWxhdGlvblJlbGF4YXRpb25z
QXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLlZl
cnNpb25pbmcAVGFyZ2V0RnJhbWV3b3JrQXR0cmlidXRlAFNjcmlwdENvbXBvbmVudF85NDZmNTE2
NGFmOTE0MzlmYWRmZWE4MWIyZTRmMTEwNi5kbGwAAAAAC0kAbgBwAHUAdAAADU8AdQB0AHAAdQB0
AAArUwBlAGwAZQBjAHQAIAByAGUAcABlAGEAdAAgAGMAbwBsAHUAbQBuAC4AAAAWluu1vEGKSJW5
QmMnQqJyAAi3elxWGTTgiQiwP19/EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgB
EggEAAASEQcGFRIYARIRBAAAEhQHBhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAI
BCAAEhUDIAAOAh4ABxABAR4AHgAHMAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAgWz0kLuAw0
6giJhF3NgIDMkQsgBQESIQgCEiUSKQQgAB0OAyAAAgQoAB0OAwYSKAMGEiwDBhIgAgYICSAEAQgO
EiUSKQsgBAEIHQgdEiUSKQUgAQESHAMGEiEFIAEBEiEGIAIBCBIlBSABAhAOBCABAQgEIAEBDgIG
DgMGHQgDKAAOBSABARE1CAEAAQAAAAAABSACAQ4OGAEACk15VGVtcGxhdGUIMTAuMC4wLjAAAAQB
AAAABhUSGAESDAYVEhgBEggGFRIYARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUEAEAC015
LkNvbXB1dGVyAAAMAQAHTXkuVXNlcgAAEwEADk15LkFwcGxpY2F0aW9uAAATAQAOTXkuV2ViU2Vy
dmljZXMAAAQAARwcAwcBAgMHAQgGAAESFRFRBAcBEhUDBwEOBRABAB4ABAoBHgAEBwEeAAcgBAEO
Dg4OYQEANFN5c3RlbS5XZWIuU2VydmljZXMuUHJvdG9jb2xzLlNvYXBIdHRwQ2xpZW50UHJvdG9j
b2wSQ3JlYXRlX19JbnN0YW5jZV9fE0Rpc3Bvc2VfX0luc3RhbmNlX18AAAAGFRIYARMABhUSGQET
AAQKARMABSABARMACAcDEwATABMABCABAQIFAQAAAAAEBwEdDgQgABJtBCAAEnEFIAESdRwGAAII
EikOBAcCCAgEIAEcCAQAAQgcBCAAEiUFIAIBCBwIBwYICAgICAgFIAASgIkFIAASgI0FIAASgJEG
IAESgIEcBSACCAgIBSAAEoCVBSABEn0cBSAAEoCZBiABEoCdHA0HBwgSdRJ9CBKAgQgIBSAAEoCh
BSAAEoCpBAABAg4GAAEBEoClDAcFAgISdRKAoRKApQUgARJ1CAUgABKAsQYgARKAtRwNIAQSgIEI
EoChCBGAvQUgABKAnQUgABGAwQogBQERgMEICAgIFwcJCBKAsRKAmRKAoQgSgLUSgJ0IEoC1DQEA
CFZhbGlkYXRlAAAkAQAfU2VsZWN0IGlucHV0IHJvdyByZXBlYXQgY29sdW1uLgAACAEACAAAAAAA
HgEAAQBUAhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVURnJhbWV3b3JrLFZlcnNpb249
djQuMAEAVA4URnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsgNAAAiEUAAAAAAAAA
AAAAnkUAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJBFAAAAAAAAAABfQ29yRGxsTWFpbgBtc2Nv
cmVlLmRsbAAAAAAA/yUAIAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAA
GAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAADs
AgAAAAAAAAAAAADsAjQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAA
AQAAAAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQBy
AEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAE
TAIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAKAIAAAEAMAAwADAAMAAwADQAYgAw
AAAALAACAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAACAAAAAwAAgAAQBGAGkA
bABlAFYAZQByAHMAaQBvAG4AAAAAADAALgAwAC4AMAAuADAAAACMADUAAQBJAG4AdABlAHIAbgBh
AGwATgBhAG0AZQAAAFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8AOQA0ADYAZgA1ADEA
NgA0AGEAZgA5ADEANAAzADkAZgBhAGQAZgBlAGEAOAAxAGIAMgBlADQAZgAxADEAMAA2AC4AZABs
AGwAAAAAACgAAgABAEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAACAAAACUADUAAQBPAHIA
aQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBu
AHQAXwA5ADQANgBmADUAMQA2ADQAYQBmADkAMQA0ADMAOQBmAGEAZABmAGUAYQA4ADEAYgAyAGUA
NABmADEAMQAwADYALgBkAGwAbAAAAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBu
AAAAMAAuADAALgAwAC4AMAAAADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4A
AAAwAC4AMAAuADAALgAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADAAAALA1AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></arrayElement></arrayElements></property><property id="33" name="UserComponentTypeName" dataType="System.String">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2014, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</property><property id="35" 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_946f5164af91439fadfea81b2e4f1106</property><property id="36" 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><inputs><input id="38" name="Input" hasSideEffects="true"><externalMetadataColumns /></input></inputs><outputs><output id="42" name="Output" hasSideEffects="true"><externalMetadataColumns /></output></outputs></component>