<component id="2" name="Conversion" 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="3" name="SourceCode" state="cdata" dataType="System.String" isArray="true" description="Stores the source code of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="30"><arrayElement dataType="System.String"><![CDATA[My Project\Settings.Designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On



Partial Friend NotInheritable Class MySettings
    Inherits System.Configuration.ApplicationSettingsBase

    Private Shared m_Value As MySettings

    Private Shared m_SyncObject As Object = New Object

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

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

' Review the values of the assembly attributes

<Assembly: AssemblyTitle("ScriptComponent_c7fc06ec606b496aa49f24f2f2072fe8.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_c7fc06ec606b496aa49f24f2f2072fe8.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("0f6b5d14-3502-42fc-8635-58933b570599")> 

' 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[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[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 WriteOnly Property [b]() As String
        Set
            Me(0) = Value
        End Set
    End Property
    Public WriteOnly Property [b_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 WriteOnly Property [c]() As String
        Set
            Me(1) = Value
        End Set
    End Property
    Public WriteOnly Property [c_IsNull] As Boolean
        Set
            If (value)
                SetNull(1)
            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() {"b", "c"}
        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[main.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' COZYROC SQL Server Integration Services user script component
'
' Copyright (c) 2006-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.Collections
Imports System.Globalization

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


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<SortProperties(New String() {"Columns", "Type", "Length", "Precision", "Scale", "CodePage"})> _
<ValidateProperties("Validate")> _
<FilterProperties("GetProperties")> _
<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

        Call Me.OutputBuffer.AddRow()

        For colIndex As Integer = 0 To colsCount - 1
            Dim inIndex As Integer = m_inputIdx(colIndex)
            Dim outIndex As Integer = m_outputIdx(colIndex)

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

            ' Get input value.
            Dim inValue As Object = Row.Buffer(inIndex)
            If TypeOf inValue Is BlobColumn Then
                ' Translate into more useful object.
                Dim blob As BlobColumn = CType(inValue, BlobColumn)
                Select Case blob.ColumnInfo.DataType
                    Case DataType.DT_TEXT, DataType.DT_NTEXT
                        inValue = Row.Buffer.GetString(inIndex)
                    Case Else
                        inValue = blob.GetBlobData(0, CInt(blob.Length))
                End Select
            End If

            ' Set output value.
            Dim outValue As Object = inValue
            Select Case m_outputType(colIndex)
                Case DataType.DT_DATE, DataType.DT_FILETIME, DataType.DT_DBDATE, DataType.DT_DBTIMESTAMP
                    outValue = Convert.ToDateTime(outValue)

                Case DataType.DT_GUID
                    outValue = New Guid(outValue.ToString())

                Case DataType.DT_STR, DataType.DT_WSTR, DataType.DT_TEXT, DataType.DT_NTEXT
                    If TypeOf outValue Is Byte() Then
                        ' Encode as base64 value.
                        outValue = Convert.ToBase64String(CType(outValue, Byte()))
                    Else
                        outValue = outValue.ToString()
                    End If

                Case DataType.DT_IMAGE
                    If TypeOf outValue Is String Then
                        ' Assume input is base64 value.
                        outValue = Convert.FromBase64String(CStr(outValue))
                    End If
            End Select

            Me.OutputBuffer.Buffer(outIndex) = outValue
        Next
    End Sub ' Input_ProcessInputRow


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

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

        ' Setup dynamic input columns indexes.
        Dim colsCount As Integer = input.InputColumnCollection.Count
        m_inputIdx = New Integer(colsCount - 1) {}
        m_outputIdx = New Integer(colsCount - 1) {}
        m_outputType = New DataType(colsCount - 1) {}
        For colIndex As Integer = 0 To colsCount - 1
            Dim inColumn As IDTSInputColumn100 = input.InputColumnCollection(colIndex)

            m_inputIdx(colIndex) = Me.HostComponent.BufferManager.FindColumnByLineageID( _
                input.Buffer, _
                inColumn.LineageID)

            Dim outColumn As IDTSOutputColumn100 = output.OutputColumnCollection(inColumn.Name)

            Try
                m_outputIdx(colIndex) = -1
                m_outputIdx(colIndex) = Me.HostComponent.BufferManager.FindColumnByLineageID( _
                    output.Buffer, _
                    outColumn.LineageID)
            Catch ex As Exception
                ' Under SQL 2008 if column is not used in the pipeline,
                ' it doesn't exist in the buffer.
            End Try

            m_outputType(colIndex) = outColumn.DataType
        Next
    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)
            Dim output As IDTSOutput100 = Me.ComponentMetaData.OutputCollection(0)

            If input.InputColumnCollection.Count = 0 OrElse Me.Columns <> m_prevCols Then
                Dim selectedCols() As String = CStr(Me.Columns).Split( _
                    New String() {ColumnSeparator}, _
                    StringSplitOptions.RemoveEmptyEntries)

                ' Remove output columns, which are no longer in use.
                Dim colsCount As Integer = output.OutputColumnCollection.Count
                For colIndex As Integer = colsCount - 1 To 0 Step -1
                    Dim outColumn As IDTSOutputColumn100 = output.OutputColumnCollection(colIndex)
                    If Not IsFound_(selectedCols, outColumn.Name) Then
                        Call output.OutputColumnCollection.RemoveObjectByID(outColumn.ID)
                    End If
                Next

                ' Setup input columns based on selection.
                Call input.InputColumnCollection.RemoveAll()

                Dim virtInput As IDTSVirtualInput100 = input.GetVirtualInput()

                For Each col As String In selectedCols
                    Dim virtColumn As IDTSVirtualInputColumn100 = virtInput.VirtualInputColumnCollection(col)
                    Call virtInput.SetUsageType(virtColumn.LineageID, DTSUsageType.UT_READONLY)

                    Dim outColumn As IDTSOutputColumn100
                    Try
                        outColumn = output.OutputColumnCollection(col)
                    Catch ex As Exception
                        ' New column.
                        outColumn = output.OutputColumnCollection.[New]()
                        outColumn.Name = col
                    End Try
                Next
            End If

            Dim codePage As Integer = 0
            If m_culture <> 0 Then
                Dim ci As CultureInfo = New CultureInfo(m_culture)
                codePage = ci.TextInfo.ANSICodePage
            End If

            ' Update output columns with specified type.
            For Each outColumn As IDTSOutputColumn100 In output.OutputColumnCollection
                Call outColumn.SetDataTypeProperties( _
                    Me.Type, _
                    Me.Length, _
                    Me.Precision, _
                    Me.Scale, _
                    codePage)
            Next

            result = True
        Catch ex As Exception
            result = False
            errMessage = ex.ToString()
        End Try

        Validate = result
    End Function    'Validate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Returns list of current properties based on current state.
    Public Function GetProperties() As String()
        Dim result As New ArrayList

        ' Setup static.
        Call result.Add("Columns")
        Call result.Add("Type")

        ' Setup dynamic.
        Select Case Me.Type
            Case DataType.DT_DECIMAL
                Call result.Add("Scale")

            Case DataType.DT_STR
                Call result.Add("Length")
                Call result.Add("CodePage")

            Case DataType.DT_WSTR
                Call result.Add("Length")

            Case DataType.DT_NUMERIC
                Call result.Add("Precision")
                Call result.Add("Scale")

            Case DataType.DT_TEXT
                Call result.Add("CodePage")
        End Select

        Return CType(result.ToArray(GetType(String)), String())
    End Function    ' GetProperties


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function GetCultures() As Object()
        Dim result As New ArrayList()
        Dim cultures() As CultureInfo = CultureInfo.GetCultures(CultureTypes.AllCultures)

        For Each ci As CultureInfo In cultures
            Call result.Add(ci.DisplayName)
        Next

        GetCultures = result.ToArray()
    End Function    ' GetCultures


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("	Input")> _
    <Description("Select input columns you want to process.")> _
    <InputVirtualColumn("", False)> _
    Public Property Columns() As String
        Get
            Columns = 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

            If String.IsNullOrEmpty(m_prevCols) Then
                m_prevCols = value
            End If

            m_inputCols = value
        End Set
    End Property    ' Columns


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Convert To")> _
    <Description("Select type to convert to.")> _
    <RefreshProperties(RefreshProperties.All)> _
    Public Property Type() As DataType
        Get
            Type = m_type
        End Get
        Set(ByVal value As DataType)
            If m_type <> value Then
                m_type = value

                m_length = 0
                m_precision = 0
                m_scale = 0
                m_culture = 0
            End If
        End Set
    End Property    ' Type


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Convert To")> _
    <Description("Specify string length.")> _
    Public Property Length() As Integer
        Get
            Length = m_length
        End Get
        Set(ByVal value As Integer)
            m_length = value
        End Set
    End Property    ' Length


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Convert To")> _
    <Description("Specify number precision.")> _
    Public Property Precision() As Integer
        Get
            Precision = m_precision
        End Get
        Set(ByVal value As Integer)
            m_precision = value
        End Set
    End Property    ' Precision


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Convert To")> _
    <Description("Specify number scale.")> _
    Public Property Scale() As Integer
        Get
            Scale = m_scale
        End Get
        Set(ByVal value As Integer)
            m_scale = value
        End Set
    End Property    ' Scale


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Convert To")> _
    <Description("Specify string code page.")> _
    <List("GetCultures")> _
    Public Property CodePage() As String
        Get
            Dim result As String = String.Empty

            If m_culture <> 0 Then
                result = New CultureInfo(m_culture).DisplayName
            End If

            CodePage = result
        End Get
        Set(ByVal value As String)
            m_culture = FindCultureByDisplay_(value)
        End Set
    End Property    ' CodePage
#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_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function IsFound_(ByVal list() As String, ByVal search As String) As Boolean
        Dim result As Boolean = False

        For Each item As String In list
            If item.Equals(search, StringComparison.OrdinalIgnoreCase) Then
                ' Found.
                result = True
                Exit For
            End If
        Next

        IsFound_ = result
    End Function    ' IsFound_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function FindCultureByDisplay_(ByVal display As String) As Integer
        Dim result As Integer = 0
        Dim cultures() As CultureInfo = CultureInfo.GetCultures(CultureTypes.AllCultures)

        For Each ci As CultureInfo In cultures
            If ci.DisplayName = display Then
                ' Found.
                result = ci.LCID
                Exit For
            End If
        Next

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


#Region "Attributes"
    Private m_inputCols As String = String.Empty
    Private m_prevCols As String = String.Empty
    Private m_type As DataType = DataType.DT_BYREF_I4
    Private m_length As Integer = 50
    Private m_precision As Integer
    Private m_scale As Integer
    Private m_culture As Integer
    Private m_inputIdx() As Integer
    Private m_outputIdx() As Integer
    Private m_outputType() As DataType
#End Region ' Attributes

End Class   ' ScriptMain
]]></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>{0A22DC62-C8E9-4B75-B8D0-6E443E583549}</msb:ProjectId>
		<msb:DisplayName>scriptcomponent_c7fc06ec606b496aa49f24f2f2072fe8</msb:DisplayName>
		<msb:CodeName>scriptcomponent_c7fc06ec606b496aa49f24f2f2072fe8</msb:CodeName>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:File Include="BufferWrapper.vb"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="main.vb"/>
		<msb:File Include="My Project\AssemblyInfo.vb"/>
		<msb:File Include="My Project\Resources.Designer.vb"/>
		<msb:File Include="My Project\Settings.Designer.vb"/>
		<msb:File Include="My Project\Resources.resx"/>
		<msb:File Include="My Project\Settings.settings"/>
		<msb:Project Include="scriptcomponent_c7fc06ec606b496aa49f24f2f2072fe8.vbproj"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Settings.settings]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version='1.0' encoding='iso-8859-1'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)" GeneratedClassNamespace="" GeneratedClassName="MySettings">
  <Profiles>
    <Profile Name="(Default)" />
  </Profiles>
  <Settings />
</SettingsFile>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Resources.resx]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[scriptcomponent_c7fc06ec606b496aa49f24f2f2072fe8.vbproj]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF16LE]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-16"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!-- This section defines project-level properties.

       Configuration - Specifies whether the default configuration is Release or Debug.
       Platform - Specifies what CPU the output of this project can run on.
       OutputType - Must be "Library" for VSTA.
       NoStandardLibraries - Set to "false" for VSTA.
       RootNamespace - In C#, this specifies the namespace given to new files.
                       In Visual Basic, all objects are wrapped in this namespace at runtime.
       AssemblyName - Name of the output assembly.
  -->
  <PropertyGroup>
    <ProjectTypeGuids>{30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <RootNamespace>ScriptComponent_c7fc06ec606b496aa49f24f2f2072fe8.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_c7fc06ec606b496aa49f24f2f2072fe8.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{104EDA23-1592-4D6B-8258-BC65F871B4C7}</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,42353,42354,42355</NoWarn>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Release" configuration is
       selected.

       DebugSymbols - If true, create symbols (.pdb). If false, do not create symbols.
       Optimize - If true, optimize the build output. If false, do not optimize.
       OutputPath - Output path of the project relative to the project file.
       EnableUnmanagedDebugging - If true, starting the debugger will attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
  </PropertyGroup>
  <!-- This section enables pre- and post-build steps. However,
       it is recommended that MSBuild tasks be used instead of these properties.
  -->
  <PropertyGroup>
    <PreBuildEvent>
    </PreBuildEvent>
    <PostBuildEvent>
    </PostBuildEvent>
  </PropertyGroup>
  <!-- This sections specifies references for the project. -->
  <ItemGroup>
    <Reference Include="CozyRoc.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="Microsoft.SqlServer.ManagedDTS, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SqlServer.ManagedDTS\v4.0_11.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.ManagedDTS.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.PipelineHost, 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.DTSRuntimeWrap, Version=11.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="{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;vstadebug4f153f35-959c-4fa5-b02c-4cb499399f9e/2d5652ae-3797-409f-92b4-bf651f145612&quot;" />
        <Host Name="SSIS_ScriptComponent" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC110</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <PropertyGroup>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
  </PropertyGroup>
  <PropertyGroup>
    <TargetFrameworkProfile>
    </TargetFrameworkProfile>
  </PropertyGroup>
</Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Resources.Designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On


Namespace My.Resources
    
    '''<summary>
    '''   A strongly-typed resource class, for looking up localized strings, etc.
    '''</summary>
    'This class was auto-generated by the Strongly Typed Resource Builder
    'class via a tool like ResGen or Visual Studio.NET.
    'To add or remove a member, edit your .ResX file then rerun ResGen
    'with the /str option, or rebuild your VS project.
    Class MyResources
        
        Private Shared _resMgr As System.Resources.ResourceManager
        
        Private Shared _resCulture As System.Globalization.CultureInfo
        
        Friend Sub New()
            MyBase.New
        End Sub
        
        '''<summary>
        '''   Returns the cached ResourceManager instance used by this class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager
            Get
                If (_resMgr Is Nothing) Then
                    Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly)
                    _resMgr = temp
                End If
                Return _resMgr
            End Get
        End Property
        
        '''<summary>
        '''   Overrides the current thread's CurrentUICulture property for all
        '''   resource lookups using this strongly typed resource class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared Property Culture() As System.Globalization.CultureInfo
            Get
                Return _resCulture
            End Get
            Set
                _resCulture = value
            End Set
        End Property
    End Class
End Namespace
]]></arrayElement></arrayElements></property><property id="4" name="BinaryCode" state="cdata" dataType="System.String" isArray="true" description="Stores the binary representation of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="2"><arrayElement dataType="System.String"><![CDATA[ScriptComponent_c7fc06ec606b496aa49f24f2f2072fe8.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
CgwCKCgAAApvKQAAChaMLQAAAW8qAAAKCwdvQAAACm9vAAAKEwQrLhEEb2IAAAp0KgAAAQ0IKG4A
AAotDAhywAAAcChwAAAKDAgJb0kAAAoocAAACgwRBG9kAAAKLcneFhEEdTwAAAEsDBEEdTwAAAFv
ZQAACtwICgYqAAEQAAACAB0ASGUAFgAAAAETMAMAKwAAACEAABEWCwMTBBYNKxcRBAmaDAgEG29x
AAAKLAQXCysLCRfWDQkRBI63MuIHCgYqABMwAwBCAAAAIgAAERYMHShqAAAKCgYTBRYTBCslEQUR
BJoNCW9rAAAKAxYoUAAAChYzCQlvcgAACgwrDhEEF9YTBBEEEQWOtzLTCAsHKgAAHgIoFwAACioT
MAIALQAAACMAABF+FwAABC0gciABAHDQDQAAAigUAAAKb3wAAApzfQAACgsHgBcAAAR+FwAABCoA
AAATMAEABgAAACQAABF+GAAABCoAAB4CgBgAAAQqQnMXAAAKKBEAAAqAGgAABCoAAAAeAih+AAAK
KhswAQA/AAAAJQAAEX4ZAAAELTJ+GgAABCgRAAAKKH8AAAp+GQAABC0cc0QAAAaAGQAABN4QfhoA
AAQoEQAACiiAAAAK3H4ZAAAEKgABEAAAAgAdAAwpABAAAAABtAAAAM7K774BAAAAkQAAAGxTeXN0
ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBD
dWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJl
c291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQQURQtAAAAEJTSkIBAAEA
AAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAAFQQAAAjfgAAwBAAAJATAAAjU3RyaW5ncwAAAABQ
JAAAVAEAACNVUwCkJQAAEAAAACNHVUlEAAAAtCUAAHAHAAAjQmxvYgAAAAAAAAACAAABVx2iCQkP
AAAA+iUzABYAAAEAAABYAAAADgAAABoAAABFAAAAKQAAAIwAAAABAAAATQAAACUAAAAHAAAAFgAA
AB0AAAALAAAAAQAAAAgAAAABAAAAAgAAAAMAAAACAAAAAABREwEAAAAAAAoAtgGMAQoA6gHMAQYA
+gHzAQoAUgKMAQYA0ALzAQoAUgMoAw4ApAONAxIA8wPSAxYAJATSAxIAMwTSAw4ALwWNAxoAvAaU
BgYAGggJCAYARwgyCB4AqAiTCB4A9QjfCB4ADgnfCB4AOwkjCQYAZQlSCQoApAl9CQoAvAkTAB4A
8QnUCQYAJgoGCgYARArzAQYAaArzAQoAgQoTAAYAxQqmCgYA2QrzARIA4ArSAwYA7QrzAQYAFAvz
ASIAewtSCyIAqgtSCyIA1QtSCxYAFAzSAxYAHwzSAwYALAzzAQYAaAzzAQYAcAzzAQoAkwx9CSIA
sAxSCyIAvgxSCyIA0QxSCwYA5QzzAQYA7wzzASIA9QxSCyIAIg1SCxYAYw3SAyIAhw1SCyIA0g1S
CwoAFA59CSIATw5SCyIAYw5SCwYAkA59DgoAnA59CQYAtA7zASIA+A5SCyIAPQ9SCwYAZA8yCAYA
xA/zAQYA2A99DgYA5g/zAQYA9A8yCAYANRDzARIATxDSAw4AmBB2EA4AshB2EA4AzhB2EA4A5hB2
EB4AAhHfCB4AFxHfCB4AKRHfCB4ARBHfCA4AVhF2EAYAdhFkEQYAnRGMEQYAsBFSCQYAGRIGCgYA
ORIGCgYAcRJXEgYAihJkEQYApxKmCgYAtRJkEQYA0BJkEQYA6xJkEQYABBNkEQYAHRNkEQYAOhNk
EQAAAAABAAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAcgA3AAkAAQACAAABEAB9ADcADQABAAMA
BQEAAIcAAAANAAUACAAFAQAAlQAAAA0ABQAPAAEAAACwALwAHQAGABEAAQAAAPQAvAAdAAYAFgAB
AAAAAQG8AC0ABgAgAAEAAAAPAbwADQAKACgAAQAAABsBvAANAAsAKQABAAAAJQG8ACQADAAqAAAA
AAAwATwBDQAXAD8AAAEQAIEBvAA9ABkAQwAxABUCIAAxAD4CLQAxAGACOgAxAIUCRwAhAGEDkAAG
AA8B2wAGABsB3wAGAPQA4wABAEMF5wABAPoFBgEBAPoFBgFRgAoGEAEBAHgHEAEBAIQHEAEBAI8H
PwEBAJYH5wABAJ8H5wABAKsH5wABALMH5wABAL0HQwEBAMgHQwEBANQHRwERACoIVQERAFMIWQER
AMAIdwERAMgIewFQIAAAAAAGGMYBEwABAFggAAAAAAYYxgETAAEAYCAAAAAAERgBAhcAAQCMIAAA
AAATCAgCGwABAKQgAAAAABMILgIoAAEAvCAAAAAAEwhXAjUAAQDUIAAAAAATCHUCQgABAOwgAAAA
AEYCuwJjAAEACCEAAAAARgLEAmgAAgAcIQAAAACDANUCbAACADQhAAAAAEYC3QJxAAIASCEAAAAA
EQDmAngAAgBkIQAAAAABAAQDgAADAIAhAAAAAAYYxgETAAQAiCEAAAAAAwgYA4sABAC8IQAAAAAG
GMYBEwAEANAhAAAAAAYYxgGvAAQA4CEAAAAARgptBLsACQD0IQAAAABGCoQEuwAJAAgiAAAAAIYA
nATAAAkAICIAAAAAhgCkBMAACQA4IgAAAAAGGMYBrwAJAEgiAAAAAEYKbQS7AA4AXCIAAAAABgjX
BMkADgBoIgAAAAAGCOMEzgAPAIQiAAAAAAYI8ATJABAAkCIAAAAABgj2BM4AEQCsIgAAAABGCoQE
uwASANQiAAAAAIYAAwUTABIA3CIAAAAAhgAKBRMAEgDkIgAAAACGAKQEwAASAPwiAAAAAAYYxgET
ABIAJCMAAAAARgJSBeoAEgCMIwAAAABGA3EFEwAWAJAjAAAAAAEAfwUTABYArCMAAAAARgKTBfQA
FgD4IwAAAABGA7kFEwAaAPwjAAAAAEYDzQUAARoAECQAAAAARgPgBQABGwAUJAAAAAAGGMYBCgEc
ACQkAAAAAAYYxgEKAR0ANCQAAAAABhjGARMAHgBoJAAAAABGAuAFAAEeABgmAAAAAEYCGgYTAB8A
WCcAAAAABgAlBhgBHwCwKQAAAAAGADkGuwAgAHgqAAAAAAYARwYeASAAxCoAAAAABghTBnEAIADc
KgAAAAAGCF8GyQAgADwrAAAAAAYIxQYjASEAVCsAAAAABgjOBigBIQCEKwAAAAAGCNcGaAAiAJwr
AAAAAAYI4gYuASIAqCsAAAAABgjtBmgAIwDAKwAAAAAGCPsGLgEjAMwrAAAAAAYICQdoACQA5CsA
AAAABggTBy4BJADwKwAAAAAGCB0HcQAlACAsAAAAAAYIKgfJACUAMCwAAAAAAQA3B3EAJgDMLAAA
AAABAEUHMwEmAAQtAAAAAAEAWgc6ASgAVC0AAAAAAxjGARMAKQBcLQAAAAAWCF8IXQEpAJgtAAAA
ABYIcwhiASkArC0AAAAAFgh/CGcBKQC0LQAAAAARGAECFwAqAMgtAAAAAAYYxgETACoA0C0AAAAA
FgjVCH4BKgAAAAEAwgIAAAEA+wIAAAEA+wIAAAEAQQQAAAIASwQAAAMAVAQAAAQAXAQAAAUAYwQA
AAEAQQQAAAIASwQAAAMAVAQAAAQAXAQAAAUAYwQAAAEA3QQAAAEA3QQAAAEA3QQAAAEA3QQAAAEA
XwUAAAIAZwUAAAMAXAQAAAQAYwQAAAEAnwUAAAIApwUAAAMAsQUAAAQAYwQAAAEAXAQAAAEA9gUA
AAEAQQQAAAEAQQQAAAEA9gUAAAEALgYAAAEAawYAAAEAawYAAAEAawYAAAEAawYAAAEAawYAAAEA
awYAAAEATgcAAAIAUwcAAAEAcAcAAAEA3QQJAMYBEwCBAMYBiAGRAMYBlwERAMYBEwCZAMYBEwAk
AMYBEwAsAMYBEwA0AMYBEwA8AMYBEwAkABgDiwAsABgDiwA0ABgDiwA8ABgDiwChAMYBEwCpAMYB
EwCxAMYByQC5ADUKMQIZALsCYwAZAMQCaAApAFYKPgIZAN0CcQDJAHIKTgIZAMYBEwDRAMYBXgJE
AGEDkABMANUIiwBMAJwK2wJMAMYBEwDZAMYBzgA5AMYBrwDpAJwEwADpAKQEwADxAMYBzgA5AAML
9QI5AAwLLgH5AMYByQDpAAMFEwDpAAoFEwBZAMYBEwBBAJQLAgMBAcELCAMJAeILDgMRAesLaABJ
APILwABBAAIMFQPhAA4MEAE5ADEMIQNJADwMJgNJAOILKwMZAUMMMAMhAbwGPwFJAFIMNgMZAdcG
OwMZAVwMPwMxAXkMRgMpAcYByQAxAYQMUANBAd0CVgMxAZ8MWwNJAAML9QJBABoGEwABAQ0NeANx
AeILfgMRAT8NhQN5AVkNaAB5AeILiwNZAHUNkgOBAZwNmAMRATEMaABRAa4NaACJAbwNngNJAfAN
pANRAQsOcQCRAeILqgNJATEMaABZAa4NaACZASAOsQOZATAOFwBZAUIOIwG5AaYOzQPhAMcO1AOR
AVkNaABZAQsOcQBZAesLaACRAc0OLgF5Ad4OEwARAegO3gOhARwP5APJAeIL6gOpAa4NaAChAUoP
8QORAVcP+QNZAVsPyQBxAMYBLgFxAG0P/wPZAXoPaACRAYsPBQSxAZkPCwRZAaUPDwSxAbsPwADh
AdAPEwBhAd0CcQDpAcYBEwDpAeIPSQTpAewPTgRxAEcGYwRxAAEQcQDpAewPHgERAREQwADhACAQ
fQR5AYsPBQThAC4QkgThALsCpgRxAEYQaAAJAsYBEwARAsYByQAZAsYByQAhAsYB5gQpAsYBIgUx
AsYByQA5AsYByQBBAsYBagVRAsYByQApAH8RJwZpAMYBLQZ5AMYBEwBhAqURSgZhAqsRSgZpAsYB
EwBxAsYBLgF5AsYBEwCBAsYByQCJAsYByQCRAsYByQCZAsYByQChAsYByQCpAsYByQCxAsYByQC5
AsYByQDBAsYByQAOADAAEwEpAIMA/wEuAEsEIQcuAGMEIQcuAEMEAQcuABsEXQYuACMEfAYuADsE
6gIuAFsE6gIuABMEVAYuAFMEXgcuACsExAYuADME0QYuAOsA6gIuAAsB+wZAACsAtgFAABMAjgFD
ABMAjgFDABsAnQFJAIMA6wFjABMAjgFjABsAnQFpAIMAJAKAACsAtgGDAHMAtgGDABsAnQGDAHsA
tgGJAIMAEAKgACsAtgGjABMAjgGjAMMAZgLAACsAtgHDABMAjgHDAOsA6gLgACsAtgHjAAsB6gIA
ARMAjgEAASsAtgEDAQsB6gIgASsAtgEgARMAjgEjAQsB6gJAARMAjgFAASsAtgFgASsAtgFgARMA
jgGAASsAtgGDAbMD7ASDAaMDxQSDAasD2ASDAQsB6gKDAZsDtgGgASsAtgHAASsAtgHAARMAjgHJ
AcsDXgXJAbsDKAXJAcMDLwXgASsAtgHpAcsDkQXpAcMDcQXpAdMDjgEAAhMAjgEAAisAtgEJAsMD
oQUJAssDkQUpAssDkQUpAsMD7QVJAssDkQVJAsMDDAZpAsMDzgVpAssDkQVpAtsDvQWJAhMAQQap
AhMAQQbJAgsEtgEABQsB6gIgBQsB6gLXAdwB4QHmATYCOgJFAkoCWQJZAuEC8ALwAjYCNgLwAvsC
NgIcA2EDuAMZBFkEbARKAoIEiAQ6AjoCOgKNBJgErgS3BDUGPAZPBgQAAQAGAAUABwAGAAgACAAM
AA4ADQAUAA4AFgAAAOoBTwAAAKMCVAAAAFICWQAAAK8CXgAAAGsDmAAAALAExAAAAMMExAAAALAE
xAAAABkF0wAAABsF1wAAACQF0wAAACYF1wAAAMMExAAAAOEH0wAAANACTAEAAOkHUQEAAPAHUQEA
APoHUQEAAAAI0wAAABoIbQEAAIsIcgEAAN0EgwECAAQAAwACAAUABQACAAYABwACAAcACQACAA8A
CwACABIADQACABMADwACABcAEQABABgAEwABABkAFQABABoAFwABABsAGQACABwAGwABADEAHQAC
ADAAHQACADIAHwABADMAHwACADQAIQABADUAIQACADYAIwABADcAIwACADgAJQABADkAJQACADoA
JwABADsAJwACAEAAKQACAEEAKwABAEIAKwACAEUALQB1AHUAiAC7AcIByQHQAcgCzwJNA1YEBIAA
AAEAAAAAAAAAAAAAAAAAvAAAAAQAAAAAAAAAAAAAAAEACgAAAAAACgAAAAAAAAAAAAAACgATAAAA
AAABAAAAAAAAAAAAAACdAHcDAAAAAAsAAAAAAAAAAAAAAKYAtQMAAAAACwAAAAAAAAAAAAAApgAD
BAAAAAALAAAAAAAAAAAAAACmAHEGAAAAAAQAAAAAAAAAAAAAAAEA8wEAAAAACwAAAAAAAAAAAAAA
pgAuCwAAAAAAAAAAAQAAAM0RAAAFAAQABgAEAAAAEAAMAPkCAAAQABkA+QIAAAAAGwD5Ai0AVAIt
ANYCAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRp
b24AU2NyaXB0Q29tcG9uZW50X2M3ZmMwNmVjNjA2YjQ5NmFhNDlmMjRmMmYyMDcyZmU4LnZicHJv
ai5NeQBNeUNvbXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVhZFNhZmVPYmplY3RQ
cm92aWRlcmAxAElucHV0QnVmZmVyAFNjcmlwdENvbXBvbmVudF9jN2ZjMDZlYzYwNmI0OTZhYTQ5
ZjI0ZjJmMjA3MmZlOC52YnByb2oAT3V0cHV0QnVmZmVyAFVzZXJDb21wb25lbnQAQ29ubmVjdGlv
bnMAVmFyaWFibGVzAFNjcmlwdE1haW4ATXlSZXNvdXJjZXMAU2NyaXB0Q29tcG9uZW50X2M3ZmMw
NmVjNjA2YjQ5NmFhNDlmMjRmMmYyMDcyZmU4LnZicHJvai5NeS5SZXNvdXJjZXMATXlTZXR0aW5n
cwBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQXBwbGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJh
c2UALmN0b3IATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9i
amVjdAAuY2N0b3IAZ2V0X0NvbXB1dGVyAG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBw
bGljYXRpb24AbV9BcHBPYmplY3RQcm92aWRlcgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFBy
b3ZpZGVyAGdldF9XZWJTZXJ2aWNlcwBtX015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBs
aWNhdGlvbgBXZWJTZXJ2aWNlcwBFcXVhbHMAbwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9T
dHJpbmcAQ3JlYXRlX19JbnN0YW5jZV9fAFQAaW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBn
ZXRfR2V0SW5zdGFuY2UATWljcm9zb2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwA
Q29udGV4dFZhbHVlYDEAbV9Db250ZXh0AEdldEluc3RhbmNlAENvenlSb2MuU1NJU1BsdXMuMjAx
MgBDb3p5Um9jLlNxbFNlcnZlci5TU0lTAFNjcmlwdEJ1ZmZlclBsdXMATWljcm9zb2Z0LlNxbFNl
cnZlci5UeFNjcmlwdABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5QaXBlbGluZQBTY3JpcHRDb21w
b25lbnQATWljcm9zb2Z0LlNxbFNlcnZlci5QaXBlbGluZUhvc3QAUGlwZWxpbmVCdWZmZXIAT3V0
cHV0TmFtZU1hcABDb21wb25lbnQAT2JqZWN0SUQASXNJbnB1dABCdWZmZXIAT3V0cHV0TWFwAGdl
dF9TdGF0aWNJbnB1dENvbHVtbnMAZ2V0X1N0YXRpY091dHB1dENvbHVtbnMATmV4dFJvdwBFbmRP
ZlJvd3NldABTdGF0aWNJbnB1dENvbHVtbnMAU3RhdGljT3V0cHV0Q29sdW1ucwBzZXRfYgBWYWx1
ZQBzZXRfYl9Jc051bGwAc2V0X2MAc2V0X2NfSXNOdWxsAEFkZFJvdwBTZXRFbmRPZlJvd3NldABi
AGJfSXNOdWxsAGMAY19Jc051bGwAU2NyaXB0Q29tcG9uZW50UGx1cwBJbnB1dHNGaW5pc2hlZABQ
cm9jZXNzSW5wdXQASW5wdXRJRABJbnB1dE5hbWUARmluaXNoT3V0cHV0cwBNYXJrT3V0cHV0c0Zp
bmlzaGVkAFByaW1lT3V0cHV0AE91dHB1dHMAT3V0cHV0SURzAEJ1ZmZlcnMAQ3JlYXRlTmV3T3V0
cHV0Um93cwBJbnB1dF9Qcm9jZXNzSW5wdXQASW5wdXRfUHJvY2Vzc0lucHV0Um93AFJvdwBQYXJl
bnRDb21wb25lbnQAQ29sdW1uU2VwYXJhdG9yAFByZUV4ZWN1dGUAVmFsaWRhdGUAZXJyTWVzc2Fn
ZQBHZXRQcm9wZXJ0aWVzAEdldEN1bHR1cmVzAGdldF9Db2x1bW5zAHNldF9Db2x1bW5zAHZhbHVl
AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRFRTUnVudGltZVdyYXAATWljcm9zb2Z0LlNxbFNlcnZlci5E
dHMuUnVudGltZS5XcmFwcGVyAERhdGFUeXBlAGdldF9UeXBlAHNldF9UeXBlAGdldF9MZW5ndGgA
c2V0X0xlbmd0aABnZXRfUHJlY2lzaW9uAHNldF9QcmVjaXNpb24AZ2V0X1NjYWxlAHNldF9TY2Fs
ZQBnZXRfQ29kZVBhZ2UAc2V0X0NvZGVQYWdlAEdldElucHV0Q29sc18ASXNGb3VuZF8AbGlzdABz
ZWFyY2gARmluZEN1bHR1cmVCeURpc3BsYXlfAGRpc3BsYXkAbV9pbnB1dENvbHMAbV9wcmV2Q29s
cwBtX3R5cGUAbV9sZW5ndGgAbV9wcmVjaXNpb24AbV9zY2FsZQBtX2N1bHR1cmUAbV9pbnB1dElk
eABtX291dHB1dElkeABtX291dHB1dFR5cGUAQ29sdW1ucwBMZW5ndGgAUHJlY2lzaW9uAFNjYWxl
AENvZGVQYWdlAFN5c3RlbS5SZXNvdXJjZXMAUmVzb3VyY2VNYW5hZ2VyAF9yZXNNZ3IAU3lzdGVt
Lkdsb2JhbGl6YXRpb24AQ3VsdHVyZUluZm8AX3Jlc0N1bHR1cmUAZ2V0X1Jlc291cmNlTWFuYWdl
cgBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQBDdWx0dXJlAFN5c3RlbS5Db25maWd1cmF0aW9uAEFw
cGxpY2F0aW9uU2V0dGluZ3NCYXNlAG1fVmFsdWUAbV9TeW5jT2JqZWN0AGdldF9WYWx1ZQBTeXN0
ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJs
ZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lz
dGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxC
YXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVO
YW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRy
aWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRP
YmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IA
Q3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5c3Rl
bS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxlQXR0cmlidXRlAFN0cmluZwBTY3Jp
cHRCdWZmZXIAQ0xTQ29tcGxpYW50QXR0cmlidXRlAHNldF9JdGVtAFNldE51bGwASW52YWxpZE9w
ZXJhdGlvbkV4Y2VwdGlvbgBNaWNyb3NvZnQuU3FsU2VydmVyLkRUU1BpcGVsaW5lV3JhcABNaWNy
b3NvZnQuU3FsU2VydmVyLkR0cy5QaXBlbGluZS5XcmFwcGVyAElEVFNDb21wb25lbnRNZXRhRGF0
YTEwMABnZXRfQ29tcG9uZW50TWV0YURhdGEASURUU0lucHV0Q29sbGVjdGlvbjEwMABnZXRfSW5w
dXRDb2xsZWN0aW9uAElEVFNJbnB1dDEwMABnZXRfSXRlbQBnZXRfSUQAZ2V0X0VuZE9mUm93c2V0
AEdldE91dHB1dElEAEVtcHR5AEJsb2JDb2x1bW4AQnVmZmVyQ29sdW1uAEd1aWQAZ2V0X0J1ZmZl
cgBJc051bGwAZ2V0X0NvbHVtbkluZm8AR2V0U3RyaW5nAEdldEJsb2JEYXRhAENvbnZlcnQARGF0
ZVRpbWUAVG9EYXRlVGltZQBUb0Jhc2U2NFN0cmluZwBDb252ZXJzaW9ucwBGcm9tQmFzZTY0U3Ry
aW5nAElEVFNPdXRwdXQxMDAASURUU0lucHV0Q29sdW1uMTAwAElEVFNPdXRwdXRDb2x1bW4xMDAA
RXhjZXB0aW9uAEludDMyAElEVFNPdXRwdXRDb2xsZWN0aW9uMTAwAGdldF9PdXRwdXRDb2xsZWN0
aW9uAElEVFNJbnB1dENvbHVtbkNvbGxlY3Rpb24xMDAAZ2V0X0lucHV0Q29sdW1uQ29sbGVjdGlv
bgBnZXRfQ291bnQAUGlwZWxpbmVDb21wb25lbnQAZ2V0X0hvc3RDb21wb25lbnQASURUU0J1ZmZl
ck1hbmFnZXIxMDAAZ2V0X0J1ZmZlck1hbmFnZXIAZ2V0X0xpbmVhZ2VJRABGaW5kQ29sdW1uQnlM
aW5lYWdlSUQASURUU091dHB1dENvbHVtbkNvbGxlY3Rpb24xMDAAZ2V0X091dHB1dENvbHVtbkNv
bGxlY3Rpb24AZ2V0X05hbWUAUHJvamVjdERhdGEAU2V0UHJvamVjdEVycm9yAENsZWFyUHJvamVj
dEVycm9yAGdldF9EYXRhVHlwZQBJRFRTVmlydHVhbElucHV0MTAwAElEVFNWaXJ0dWFsSW5wdXRD
b2x1bW4xMDAAU3lzdGVtLkNvbGxlY3Rpb25zAElFbnVtZXJhdG9yAE9wZXJhdG9ycwBDb21wYXJl
U3RyaW5nAFN0cmluZ1NwbGl0T3B0aW9ucwBTcGxpdABSZW1vdmVPYmplY3RCeUlEAFJlbW92ZUFs
bABHZXRWaXJ0dWFsSW5wdXQASURUU1ZpcnR1YWxJbnB1dENvbHVtbkNvbGxlY3Rpb24xMDAAZ2V0
X1ZpcnR1YWxJbnB1dENvbHVtbkNvbGxlY3Rpb24ARFRTVXNhZ2VUeXBlAFNldFVzYWdlVHlwZQBO
ZXcAc2V0X05hbWUAVGV4dEluZm8AZ2V0X1RleHRJbmZvAGdldF9BTlNJQ29kZVBhZ2UAR2V0RW51
bWVyYXRvcgBnZXRfQ3VycmVudABTZXREYXRhVHlwZVByb3BlcnRpZXMATW92ZU5leHQASURpc3Bv
c2FibGUARGlzcG9zZQBBcnJheUxpc3QAQWRkAEFycmF5AFRvQXJyYXkAQ3VsdHVyZVR5cGVzAGdl
dF9EaXNwbGF5TmFtZQBnZXRfSXNBdHRhY2hlZABJc051bGxPckVtcHR5AENvbmNhdABTdHJpbmdD
b21wYXJpc29uAGdldF9MQ0lEAFNTSVNTY3JpcHRDb21wb25lbnRFbnRyeVBvaW50QXR0cmlidXRl
AENvenlSb2MuU3FsU2VydmVyLlNTSVMuQXR0cmlidXRlcwBGaWx0ZXJQcm9wZXJ0aWVzQXR0cmli
dXRlAFZhbGlkYXRlUHJvcGVydGllc0F0dHJpYnV0ZQBTb3J0UHJvcGVydGllc0F0dHJpYnV0ZQBJ
bnB1dFZpcnR1YWxDb2x1bW5BdHRyaWJ1dGUARGVzY3JpcHRpb25BdHRyaWJ1dGUAQ2F0ZWdvcnlB
dHRyaWJ1dGUAUmVmcmVzaFByb3BlcnRpZXNBdHRyaWJ1dGUAUmVmcmVzaFByb3BlcnRpZXMATGlz
dEF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3NlbWJseQBnZXRfQXNzZW1ibHkAU3lzdGVt
LlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQARGVidWdnZXJOb25Vc2VyQ29kZUF0dHJpYnV0
ZQBTY3JpcHRDb21wb25lbnRfYzdmYzA2ZWM2MDZiNDk2YWE0OWYyNGYyZjIwNzJmZTgudmJwcm9q
LlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50
aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdl
dEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRy
aWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1
dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBBc3Nl
bWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFzc2VtYmx5VGl0bGVBdHRyaWJ1dGUAU2NyaXB0Q29t
cG9uZW50X2M3ZmMwNmVjNjA2YjQ5NmFhNDlmMjRmMmYyMDcyZmU4LnZicHJvai5kbGwAAAAAAICb
SQBzAE4AdQBsAGwAIABwAHIAbwBwAGUAcgB0AHkAIABjAGEAbgBuAG8AdAAgAGIAZQAgAHMAZQB0
ACAAdABvACAARgBhAGwAcwBlAC4AIABBAHMAcwBpAGcAbgAgAGEAIAB2AGEAbAB1AGUAIAB0AG8A
IAB0AGgAZQAgAGMAbwBsAHUAbQBuACAAaQBuAHMAdABlAGEAZAAuAAADYgAAA2MAAAtJAG4AcAB1
AHQAAA1PAHUAdABwAHUAdAAABSwACgAAD0MAbwBsAHUAbQBuAHMAAAlUAHkAcABlAAALUwBjAGEA
bABlAAANTABlAG4AZwB0AGgAABFDAG8AZABlAFAAYQBnAGUAABNQAHIAZQBjAGkAcwBpAG8AbgAA
MU0AeQAuAFIAZQBzAG8AdQByAGMAZQBzAC4ATQB5AFIAZQBzAG8AdQByAGMAZQBzAAAAAHwj3g1I
Vw5PnymvWJ8VdecACLd6XFYZNOCJCLA/X38R1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIMBAAAEggH
BhUSGAESCAQAABIRBwYVEhgBEhEEAAASFAcGFRIYARIUBAgAEgwECAASCAQIABIRBAgAEhQEIAEC
HAMgAAgEIAASFQMgAA4CHgAHEAEBHgAeAAcwAQEBEB4AAhMABCAAEwAHBhUSGQETAAQoABMACBbP
SQu4DDTqCImEXc2AgMyRCyAFARIhCAISJRIpBCAAHQ4DIAACBCgAHQ4EIAEBDgQgAQECAygADgMo
AAIDBhIoAwYSLAMGEiACBggJIAQBCA4SJRIpCyAEAQgdCB0SJRIpBSABARIcAwYSIQUgAQESIQIG
DgQsAAoABSABAhAOBCAAHRwEIAARMQUgAQERMQQgAQEIBiACAh0ODgQgAQgOAwYRMQMGHQgEBh0R
MQQoABExAygACAMGEjUDBhI5BAAAEjUEAAASOQUAAQESOQQIABI1BAgAEjkDBhI4AgYcBAAAEjgE
CAASOAUgAQERRQgBAAEAAAAAAAUgAgEODhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAEAQAAAAYV
EhgBEgwGFRIYARIIBhUSGAESEQYVEhgBEhQEBwESDAQHARIIBAcBEhEEBwESFBMBAA5NeS5BcHBs
aWNhdGlvbgAAEAEAC015LkNvbXB1dGVyAAATAQAOTXkuV2ViU2VydmljZXMAAAwBAAdNeS5Vc2Vy
AAAEAAEcHAMHAQIDBwEIBgABEhURYQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEB
ADRTeXN0ZW0uV2ViLlNlcnZpY2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNy
ZWF0ZV9fSW5zdGFuY2VfXxNEaXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgET
AAUgAQETAAgHAxMAEwATAAUBAAAAAAQHAR0OBSACAQgcBgcCHQ4dDgUgABKAgQUgABKAhQYgARKA
iRwGAAIIEikOBAcCCAgEIAASJQQgAQIIBCABHAgFIAARgJEEIAEOCAMgAAkGIAIdBQgIBgABEYCd
HAIdBQUAAQ4dBQQAAQ4cBQABHQUOFgcMCAgIHAgcEoCNCBGAkRExETERgJUFIAASgLkGIAESgKUc
BSAAEoC9BiABEoCpHAUgABKAwQUgABKAxQUgAggICAUgABKAyQYgARKArRwGAAEBEoCxFAcICBKA
iRKApQgSgKkSgK0SgLEIBgADCA4OAgkgAh0OHQ4RgOEFIAASgNEFIAASgOUGIAESgNUcByACCAgR
gOkFIAASgK0FIAASgO0FIAASgNkDIAAcCSAFARExCAgICC8HFQICCBKAiRKApQgdDhKA0QgSgK0O
EoCtEoDVEoCxEjkSgK0SgLEdDggdDhKA2QQgAQgcByABEoD5EhUCHQ4JBwMdDhKA9RExCAABHRI5
EYD9EAcGHRI5HRwSgPUSOQgdEjkEAAECDgUHARKAiQQHARExBAcCDg4FAAIODg4NBwUOEoCJDhKA
qRKA2QcgAgIOEYEBCAcFAgIOCB0ODQcGHRI5CAgSOQgdEjkSAQANR2V0UHJvcGVydGllcwAADQEA
CFZhbGlkYXRlAAAFIAEBHQ41AQAGAAAAB0NvbHVtbnMEVHlwZQZMZW5ndGgJUHJlY2lzaW9uBVNj
YWxlCENvZGVQYWdlAAAFIAIBDgIGAQAAAAAALgEAKVNlbGVjdCBpbnB1dCBjb2x1bW5zIHlvdSB3
YW50IHRvIHByb2Nlc3MuAAALAQAGCUlucHV0AAAGIAEBEYElHwEAGlNlbGVjdCB0eXBlIHRvIGNv
bnZlcnQgdG8uAAAPAQAKQ29udmVydCBUbwAAGwEAFlNwZWNpZnkgc3RyaW5nIGxlbmd0aC4AABAB
AAtHZXRDdWx0dXJlcwAAHgEAGVNwZWNpZnkgc3RyaW5nIGNvZGUgcGFnZS4AAB4BABlTcGVjaWZ5
IG51bWJlciBwcmVjaXNpb24uAAAaAQAVU3BlY2lmeSBudW1iZXIgc2NhbGUuAAAFIAASgS0HIAIB
DhKBLQYHAhI1EjUEBwESOQgBAAIAAAAAAAQAAQEcBAcBEjgIAQAIAAAAAAAeAQABAFQCFldyYXBO
b25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4wAQBUDhRGcmFt
ZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAAACkBACQwZjZiNWQx
NC0zNTAyLTQyZmMtODYzNS01ODkzM2I1NzA1OTkAAAUBAAEAAB8BABpDb3B5cmlnaHQgQCBNaWNy
b3NvZnQgMjAxMwAAPAEAN1NjcmlwdENvbXBvbmVudF9jN2ZjMDZlYzYwNmI0OTZhYTQ5ZjI0ZjJm
MjA3MmZlOC52YnByb2oAAA4BAAlNaWNyb3NvZnQAAAAAADBcAAAAAAAAAAAAAE5cAAAAIAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABAXAAAAAAAAAAAAAAAAAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRs
bAAAAAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAAgAAAAAAAAAAA
AAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAABoBAAAAAAAAAAAAABo
BDQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAAAAEAAAAAAAAA
AQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQByAEYAaQBsAGUASQBu
AGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAEyAMAAAEAUwB0AHIA
aQBuAGcARgBpAGwAZQBJAG4AZgBvAAAApAMAAAEAMAAwADAAMAAwADQAYgAwAAAANAAKAAEAQwBv
AG0AcABhAG4AeQBOAGEAbQBlAAAAAABNAGkAYwByAG8AcwBvAGYAdAAAAJgAOAABAEYAaQBsAGUA
RABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABf
AGMANwBmAGMAMAA2AGUAYwA2ADAANgBiADQAOQA2AGEAYQA0ADkAZgAyADQAZgAyAGYAMgAwADcA
MgBmAGUAOAAuAHYAYgBwAHIAbwBqAAAAMAAIAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAx
AC4AMAAuADAALgAwAAAAmAA8AAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABTAGMAcgBpAHAA
dABDAG8AbQBwAG8AbgBlAG4AdABfAGMANwBmAGMAMAA2AGUAYwA2ADAANgBiADQAOQA2AGEAYQA0
ADkAZgAyADQAZgAyAGYAMgAwADcAMgBmAGUAOAAuAHYAYgBwAHIAbwBqAC4AZABsAGwAAABcABsA
AQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIAaQBnAGgAdAAgAEAAIABN
AGkAYwByAG8AcwBvAGYAdAAgADIAMAAxADMAAAAAAKAAPAABAE8AcgBpAGcAaQBuAGEAbABGAGkA
bABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfAGMANwBmAGMAMAA2
AGUAYwA2ADAANgBiADQAOQA2AGEAYQA0ADkAZgAyADQAZgAyAGYAMgAwADcAMgBmAGUAOAAuAHYA
YgBwAHIAbwBqAC4AZABsAGwAAACQADgAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMAYwBy
AGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8AYwA3AGYAYwAwADYAZQBjADYAMAA2AGIANAA5ADYA
YQBhADQAOQBmADIANABmADIAZgAyADAANwAyAGYAZQA4AC4AdgBiAHAAcgBvAGoAAAA0AAgAAQBQ
AHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMA
ZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAMAAAAYDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></arrayElement></arrayElements></property><property id="9" name="UserComponentTypeName" dataType="System.String">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2012, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</property><property id="11" name="VSTAProjectName" dataType="System.String" description="Specifies the name of the Microsoft Visual Studio Tools for Applications project. Project names must be unique within a package." typeConverter="NOTBROWSABLE">ScriptComponent_c7fc06ec606b496aa49f24f2f2072fe8</property><property id="12" name="ScriptLanguage" dataType="System.String" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">VisualBasic</property></properties><inputs><input id="14" name="Input" hasSideEffects="true"></input></inputs><outputs><output id="17" name="Output" hasSideEffects="true"><outputColumns><outputColumn id="18" name="b" lineageId="18" length="50" dataType="wstr" /><outputColumn id="19" name="c" lineageId="19" length="50" dataType="wstr" /></outputColumns><externalMetadataColumns /></output></outputs></component>