<component id="2" name="Date Source" componentClassID="Microsoft.ManagedComponentHost" description="Executes a custom script." localeId="1033" version="9" contactInfo="Executes a custom script.;Microsoft Corporation;Microsoft SqlServer v9; © 2004 Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;0"><properties><property id="3" name="SourceCode" state="cdata" dataType="System.String" isArray="true" description="Stores the source code of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="15"><arrayElement dataType="System.String"><![CDATA[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-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.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS.Attributes


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<SortProperties(New String() { _
    "IterationStep", "Culture", _
    "IsStartDateVariable", "StartDate", "StartDateVariable", _
    "IsEndDateVariable", "EndDate", "EndDateVariable"})> _
<ValidateProperties("Validate")> _
<FilterProperties("GetProperties")> _
<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute> _
<CLSCompliant(False)> _
Public Class ScriptMain
    Inherits UserComponent


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub CreateNewOutputRows()
        Dim culture As CultureInfo = CultureInfo.GetCultureInfo(MyBase.ComponentMetaData.LocaleID)
        Dim currentDate As Date = GetDate_(m_startDate, Me.IsStartDateVariable)
        Dim endDate As Date = GetDate_(m_endDate, Me.IsEndDateVariable)

        While currentDate <= endDate
            With MyBase.OutputBuffer
                Call .AddRow()

                .Day = currentDate.Day
                .DayShortName = culture.DateTimeFormat.GetAbbreviatedDayName(currentDate.DayOfWeek)
                .DayName = culture.DateTimeFormat.GetDayName(currentDate.DayOfWeek)
                .DayOfYear = currentDate.DayOfYear
                .Week = culture.Calendar.GetWeekOfYear( _
                    currentDate, _
                    culture.DateTimeFormat.CalendarWeekRule, _
                    culture.DateTimeFormat.FirstDayOfWeek)
                .Month = currentDate.Month
                .MonthShortName = culture.DateTimeFormat.GetAbbreviatedMonthName(currentDate.Month)
                .MonthName = culture.DateTimeFormat.GetMonthName(currentDate.Month)
                .Quarter = GetQuarter_(currentDate)
                .Year = currentDate.Year

                currentDate = currentDate.AddDays(Me.IterationStep)
            End With
        End While

        Call MyBase.OutputBuffer.SetEndOfRowset()
    End Sub ' CreateNewOutputRows


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

        Try
            If Me.IterationStep <= 0 Then
                Throw New ApplicationException("Specified iteration step is invalid.")
            End If

            If String.IsNullOrEmpty(m_startDate) Then
                Throw New ApplicationException("Specify start date.")
            End If

            If String.IsNullOrEmpty(m_endDate) Then
                Throw New ApplicationException("Specify end date.")
            End If

            result = True
        Catch ex As Exception
            result = False
            errMessage = ex.Message
        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("IterationStep")
        Call result.Add("Culture")

        ' Setup dynamic.
        Call result.Add("IsStartDateVariable")
        Call result.Add(IIf(Me.IsStartDateVariable, "StartDateVariable", "StartDate"))
        Call result.Add("IsEndDateVariable")
        Call result.Add(IIf(Me.IsEndDateVariable, "EndDateVariable", "EndDate"))

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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Returns list of available cultures.
    Public Function GetCultures() As Object()
        Dim result As New ArrayList()

        Dim cultures() As CultureInfo = CultureInfo.GetCultures(CultureTypes.AllCultures)
        For Each culture As CultureInfo In cultures
            Call result.Add(culture.DisplayName)
        Next

        GetCultures = result.ToArray()
    End Function    ' GetCultures


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specified date iteration step (in days).")> _
    <DefaultValue(1)> _
    Public Property IterationStep() As Integer
        Get
            IterationStep = m_iterStep
        End Get
        Set(ByVal value As Integer)
            m_iterStep = value
        End Set
    End Property    ' IterationStep


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select date format culture.")> _
    <List("GetCultures")> _
    Public Property Culture() As String
        Get
            Culture = CultureInfo.GetCultureInfo(MyBase.ComponentMetaData.LocaleID).DisplayName
        End Get
        Set(ByVal value As String)
            MyBase.ComponentMetaData.LocaleID = GetIdFromDisplayName_(value)
        End Set
    End Property    ' Culture


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specifies if StartDate property references package variable.")> _
    <RefreshProperties(RefreshProperties.All)> _
    <NonEssential()> _
    Public Property IsStartDateVariable() As Boolean
        Get
            IsStartDateVariable = m_isStartDateVar
        End Get
        Set(ByVal value As Boolean)
            If m_isStartDateVar <> value Then
                m_isStartDateVar = value
                m_startDate = String.Empty
            End If
        End Set
    End Property    ' IsStartDateVariable


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specify start date.")> _
    Public Property StartDate() As DateTime
        Get
            Dim result As DateTime

            If Not String.IsNullOrEmpty(m_startDate) Then
                result = Convert.ToDateTime(m_startDate)
            End If

            StartDate = result
        End Get
        Set(ByVal value As DateTime)
            m_startDate = value.ToString()
        End Set
    End Property    ' StartDate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specifies variable containing start date.")> _
    <Variable()> _
    Public Property StartDateVariable() As String
        Get
            StartDateVariable = m_startDate
        End Get
        Set(ByVal value As String)
            m_startDate = value
        End Set
    End Property    ' StartDateVariable


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specifies if EndDate property references package variable.")> _
    <RefreshProperties(RefreshProperties.All)> _
    <NonEssential()> _
    Public Property IsEndDateVariable() As Boolean
        Get
            IsEndDateVariable = m_isEndDateVar
        End Get
        Set(ByVal value As Boolean)
            If m_isEndDateVar <> value Then
                m_isEndDateVar = value
                m_endDate = String.Empty
            End If
        End Set
    End Property    ' IsEndDateVariable


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specify end date.")> _
    Public Property EndDate() As DateTime
        Get
            Dim result As DateTime

            If Not String.IsNullOrEmpty(m_endDate) Then
                result = Convert.ToDateTime(m_endDate)
            End If

            EndDate = result
        End Get
        Set(ByVal value As DateTime)
            m_endDate = value.ToString()
        End Set
    End Property    ' EndDate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specifies variable containing end date.")> _
    <Variable()> _
    Public Property EndDateVariable() As String
        Get
            EndDateVariable = m_endDate
        End Get
        Set(ByVal value As String)
            m_endDate = value
        End Set
    End Property    ' EndDateVariable
#End Region ' Properties


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetVariable_(ByVal varName As String) As Object
        Dim result As Object
        Dim vars As IDTSVariables100 = Nothing

        Call Me.VariableDispenser.LockOneForRead(varName, vars)
        Try
            result = vars(varName).Value
        Finally
            Call vars.Unlock()
        End Try

        GetVariable_ = result
    End Function    ' GetVariable_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetDate_(ByVal dateStr As String, ByVal isVar As Boolean) As Date
        Dim result As Date

        If Not String.IsNullOrEmpty(dateStr) Then
            If isVar Then
                dateStr = GetVariable_(dateStr).ToString()
            End If

            result = Convert.ToDateTime(dateStr)
        End If

        GetDate_ = result
    End Function    ' GetDate_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetIdFromDisplayName_(ByVal displayName As String) As Integer
        Dim result As Integer = CultureInfo.CurrentCulture.LCID

        If Not String.IsNullOrEmpty(displayName) Then
            Dim cultures() As CultureInfo = CultureInfo.GetCultures(CultureTypes.AllCultures)
            For Each culture As CultureInfo In cultures
                If culture.DisplayName.Equals(displayName) Then
                    ' Found culture.
                    result = culture.LCID
                    Exit For
                End If
            Next
        End If

        GetIdFromDisplayName_ = result
    End Function    ' GetIdFromDisplayName_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetQuarter_(ByVal input As Date) As Integer
        Dim result As Integer

        If input.Month >= 4 AndAlso input.Month <= 6 Then
            result = 1
        ElseIf input.Month >= 7 AndAlso input.Month <= 9 Then
            result = 2
        ElseIf input.Month >= 10 AndAlso input.Month <= 12 Then
            result = 3
        Else
            result = 4
        End If

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


#Region "Attributes"
    Private m_iterStep As Integer
    Private m_isStartDateVar As Boolean
    Private m_startDate As String
    Private m_isEndDateVar As Boolean
    Private m_endDate As String
    Private m_culture As CultureInfo
#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 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 [Day]() As Int32
        Set
            Me(0) = Value
        End Set
    End Property
    Public WriteOnly Property [Day_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 [DayShortName]() As String
        Set
            Me(1) = Value
        End Set
    End Property
    Public WriteOnly Property [DayShortName_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 WriteOnly Property [DayName]() As String
        Set
            Me(2) = Value
        End Set
    End Property
    Public WriteOnly Property [DayName_IsNull] As Boolean
        Set
            If (value)
                SetNull(2)
            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 [DayOfYear]() As Int32
        Set
            Me(3) = Value
        End Set
    End Property
    Public WriteOnly Property [DayOfYear_IsNull] As Boolean
        Set
            If (value)
                SetNull(3)
            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 [Week]() As Int32
        Set
            Me(4) = Value
        End Set
    End Property
    Public WriteOnly Property [Week_IsNull] As Boolean
        Set
            If (value)
                SetNull(4)
            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 [Month]() As Int32
        Set
            Me(5) = Value
        End Set
    End Property
    Public WriteOnly Property [Month_IsNull] As Boolean
        Set
            If (value)
                SetNull(5)
            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 [MonthShortName]() As String
        Set
            Me(6) = Value
        End Set
    End Property
    Public WriteOnly Property [MonthShortName_IsNull] As Boolean
        Set
            If (value)
                SetNull(6)
            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 [MonthName]() As String
        Set
            Me(7) = Value
        End Set
    End Property
    Public WriteOnly Property [MonthName_IsNull] As Boolean
        Set
            If (value)
                SetNull(7)
            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 [Quarter]() As Int32
        Set
            Me(8) = Value
        End Set
    End Property
    Public WriteOnly Property [Quarter_IsNull] As Boolean
        Set
            If (value)
                SetNull(8)
            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 [Year]() As Int32
        Set
            Me(9) = Value
        End Set
    End Property
    Public WriteOnly Property [Year_IsNull] As Boolean
        Set
            If (value)
                SetNull(9)
            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() {"Day", "DayShortName", "DayName", "DayOfYear", "Week", "Month", "MonthShortName", "MonthName", "Quarter", "Year"}
        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_72fa985f60e24531bfd7eba54da56fc3.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>{F73097E3-3B19-415A-84FD-382D26B492DE}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptComponent_72fa985f60e24531bfd7eba54da56fc3</RootNamespace>
    <AssemblyName>ScriptComponent_72fa985f60e24531bfd7eba54da56fc3</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

    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()

        FinishOutputs()
        MarkOutputsFinished()

    End Sub

    Public Overridable Sub CreateNewOutputRows()
    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_72fa985f60e24531bfd7eba54da56fc3</msb:CodeName>
		<msb:DisplayName>ScriptComponent_72fa985f60e24531bfd7eba54da56fc3</msb:DisplayName>
		<msb:ProjectId>{A54AF869-06C1-4F06-9780-2C5ED894BB35}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="ScriptComponent_72fa985f60e24531bfd7eba54da56fc3.vbproj"/>
		<msb:Folder Include="My Project\"/>
		<msb:File Include="ScriptMain.vb"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="BufferWrapper.vb"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement></arrayElements></property><property id="4" name="BinaryCode" state="cdata" dataType="System.String" isArray="true" description="Stores the binary representation of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="2"><arrayElement dataType="System.String"><![CDATA[ScriptComponent_72fa985f60e24531bfd7eba54da56fc3.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
ZGUuDQ0KJAAAAAAAAABQRQAATAEDAJq2EFQAAAAAAAAAAOAAAiELAQsAADYAAAAGAAAAAAAAblQA
AAAgAAAAYAAAAAAAEAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACgAAAAAgAAAAAAAAIAQIUAABAA
ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAABhUAABTAAAAAGAAAEgDAAAAAAAAAAAAAAAAAAAA
AAAAAIAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAdDQAAAAgAAAANgAAAAIA
AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAEgDAAAAYAAAAAQAAAA4AAAAAAAAAAAAAAAAAABAAABA
LnJlbG9jAAAMAAAAAIAAAAACAAAAPAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAABQ
VAAAAAAAAEgAAAACAAUAbCoAAKwpAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA
AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA
AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE
bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw
AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB
AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA
CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK
fRkAAAoqADoCAwQFDgQOBSgeAAAKKgATMAEABwAAAAwAABEWjRoAAAEqADoCFgOMGwAAAW8fAAAK
KgBiAywJAhZvIAAACisLcgEAAHBzIQAACnoqAAAAJgIXA28fAAAKKgAAYgMsCQIXbyAAAAorC3IB
AABwcyEAAAp6KgAAACYCGANvHwAACioAAGIDLAkCGG8gAAAKKwtyAQAAcHMhAAAKeioAAAA6AhkD
jBsAAAFvHwAACioAYgMsCQIZbyAAAAorC3IBAABwcyEAAAp6KgAAADoCGgOMGwAAAW8fAAAKKgBi
AywJAhpvIAAACisLcgEAAHBzIQAACnoqAAAAOgIbA4wbAAABbx8AAAoqAGIDLAkCG28gAAAKKwty
AQAAcHMhAAAKeioAAAAmAhwDbx8AAAoqAABiAywJAhxvIAAACisLcgEAAHBzIQAACnoqAAAAJgId
A28fAAAKKgAAYgMsCQIdbyAAAAorC3IBAABwcyEAAAp6KgAAADoCHgOMGwAAAW8fAAAKKgBiAywJ
Ah5vIAAACisLcgEAAHBzIQAACnoqAAAAPgIfCQOMGwAAAW8fAAAKKmYDLAoCHwlvIAAACisLcgEA
AHBzIQAACnoqAAATMAMAWwAAAA0AABEfCo0aAAABCwcWcp4AAHCiBxdypgAAcKIHGHLAAABwogcZ
ctAAAHCiBxpy5AAAcKIHG3LuAABwogcccvoAAHCiBx1yGAEAcKIHHnIsAQBwogcfCXI8AQBwogcq
AB4CKCIAAAoqHgIoIwAACioTMAEACQAAAA4AABECKCQAAAoKBioAAAB+AigmAAAKAgJzMAAABn0G
AAAEAgJzMQAABn0HAAAEKgYqAABuAnsIAAAELBICewgAAARvKQAABgIUfQgAAAQqEzAGAEkAAAAP
AAARFgMX2gsKKyoEBpQOBHJGAQBwKCcAAAozFQICBAaUFgUGmg4EcxEAAAZ9CAAABAYX1goGBzHS
Am8vAAAGAm8sAAAGAm8tAAAGKgAAAAYqAAA6AigXAAAKAgN9CQAABCoAOgIoFwAACgIDfQoAAAQq
AB4CKCsAAAYqEzAFADwBAAAQAAARAigoAAAKbykAAAooKgAACgoCAnsNAAAEAm87AAAGb0gAAAYL
AgJ7DwAABAJvQQAABm9IAAAGDDjnAAAAAnsIAAAEDQlvKAAABgkSASgrAAAKbxMAAAYJBm8sAAAK
EgEoLQAACm8uAAAKbxUAAAYJBm8sAAAKEgEoLQAACm8vAAAKbxcAAAYJEgEoMAAACm8ZAAAGCQZv
MQAACgcGbywAAApvMgAACgZvLAAACm8zAAAKbzQAAApvGwAABgkSASg1AAAKbx0AAAYJBm8sAAAK
EgEoNQAACm82AAAKbx8AAAYJBm8sAAAKEgEoNQAACm83AAAKbyEAAAYJAgdvSgAABm8jAAAGCRIB
KDgAAApvJQAABhIBAm83AAAGbCg5AAAKCxQNBwgoOgAAChY+DP///wJ7CAAABG8pAAAGKhswAgBk
AAAAEQAAEQJvNwAABhYwC3JUAQBwczsAAAp6AnsNAAAEKDwAAAosC3KeAQBwczsAAAp6AnsPAAAE
KDwAAAosC3LGAQBwczsAAAp6FwreGCUoPQAACgwWCgMIbz4AAApRKD8AAAreAAYLByoBEAAAAAAA
AEhIABgkAAABEzAEAJAAAAASAAARc0AAAAoLB3LqAQBwb0EAAAomB3IGAgBwb0EAAAomB3IWAgBw
b0EAAAomBwJvOwAABnI+AgBwcmICAHAoQgAACigRAAAKb0EAAAomB3J2AgBwb0EAAAomBwJvQQAA
BnKaAgBwcroCAHAoQgAACigRAAAKb0EAAAomB9AaAAABKBQAAApvQwAACnQKAAAbCgYqEzACAD8A
AAATAAARc0AAAAoMHShEAAAKCgYTBRYTBCsZEQURBJoNCAlvRQAACm9BAAAKJhEEF9YTBBEEEQWO
tzLfCG9GAAAKCwcqABMwAQAJAAAAFAAAEQJ7CwAABAoGKgAAACICA30LAAAEKgAAABMwAQAYAAAA
FQAAEQIoKAAACm8pAAAKKCoAAApvRQAACgoGKk4CKCgAAAoCA29JAAAGb0cAAAoqEzABAAkAAAAW
AAARAnsMAAAECgYqAAAAcgJ7DAAABAMuEgIDfQwAAAQCfkgAAAp9DQAABCoAAAATMAEAHQAAABcA
ABECew0AAAQoPAAACi0MAnsNAAAEKEkAAAoKBgsHKgAAADoCDwEoSgAACn0NAAAEKgATMAEACQAA
ABgAABECew0AAAQKBioAAAAiAgN9DQAABCoAAAATMAEACQAAABkAABECew4AAAQKBioAAAByAnsO
AAAEAy4SAgN9DgAABAJ+SAAACn0PAAAEKgAAABMwAQAdAAAAGgAAEQJ7DwAABCg8AAAKLQwCew8A
AAQoSQAACgsHCgYqAAAAOgIPAShKAAAKfQ8AAAQqABMwAQAJAAAAGwAAEQJ7DwAABAoGKgAAACIC
A30PAAAEKgAAABswAwA0AAAAHAAAERQMAm9LAAAKAxICb0wAAAoIA29NAAAKb04AAAooEQAACgve
BwhvTwAACtwHKBEAAAoKBioBEAAAAgAQABQkAAcAAAAAEzACACQAAAAdAAARAyg8AAAKLRgELA4C
A29HAAAGbxUAAAoQAQMoSQAACgsHCgYqEzACAFEAAAAeAAARKFAAAApvUQAACgsDKDwAAAotOh0o
RAAACgwIEwUWEwQrIxEFEQSaDQlvRQAACgNvUgAACiwJCW9RAAAKCysOEQQX1hMEEQQRBY63MtUH
CgYqAAAAEzACAFEAAAAfAAARDwEoNQAAChoyDg8BKDUAAAocMAQXCys1DwEoNQAACh0yDw8BKDUA
AAofCTAEGAsrHA8BKDUAAAofCjIPDwEoNQAACh8MMAQZCysCGgsHCgYqAAAAQlNKQgEAAQAAAAAA
DAAAAHY0LjAuMzAzMTkAAAAABQBsAAAAyA4AACN+AAA0DwAAZBEAACNTdHJpbmdzAAAAAJggAADM
AgAAI1VTAGQjAAAQAAAAI0dVSUQAAAB0IwAAOAYAACNCbG9iAAAAAAAAAAIAAAFXFaIJCQ4AAAD6
JTMAFgAAAQAAADwAAAALAAAAEAAAAEoAAAAwAAAAXwAAAEAAAAAfAAAABAAAACMAAAArAAAACgAA
AAEAAAAIAAAAAgAAAAMAAAACAAAAAAAsEQEAAAAAAAoAQAEWAQoAdAFWAQYAhAF9AQoA3AEWAQYA
WgJ9AQoA3AKyAg4ALgMXAxIAfQNcAxYArgNcAxIAvQNcAw4AoQYXAwYAwQd9AQYANAkfCRoA0Am6
CRoA6Qm6CRoAFgr+CQYAQAotCgoAfwpYCgoAlwoTABoAzAqvCgYAAQvhCgYAHwt9AQYAQwt9AQoA
XAsTAAYAqguLCwYAvgt9AQYAxQt9AQYA3At9ARIA9gtcAwYAAwx9AR4AcgxJDAYAxQwfCQYA6wx9
AQYAMg0fCQYASA0fCQYA1w19AQYA4Q19AQoABA5YCgYAUQ4+DgoAXw4TAAYAbw59AQYAfQ4fCQYA
rQ59ASIACw/jDiIAHA/jDiIAWg/jDhIAlg9cAw4A3w+9Dw4A+Q+9Dw4AFRC9Dw4ALRC9DxoAQxC6
CRoAXhC6CRoAcBC6CQ4AhRC9Dw4AkxC9DxoApRC6CQYAuxDhCgYA2xDhCgYAExH5EAAAAAABAAAA
AAABAAEAAAAAACkANwAFAAEAAQAAAAAAawA3AAkAAQACAAABEAB2ADcADQABAAMABQEAAIAAAAAN
AAUACAAFAQAAjgAAAA0ABQAPAAEAAACpALYAHQAGABEAAQAAAOcAtgAtAAYAKwABAAAA9QC2AA0A
CQAwAAEAAAABAbYADQAKADEAAQAAAAsBtgAgAAsAMgAxAJ8BIAAxAMgBLQAxAOoBOgAxAA8CRwAh
AOsCkAAGAPUA5AAGAAEB6AAGAKkA7AABABEH/AABABEH/AABAN4IMwEBAOkINgEBAPoIOQEBAAYJ
NgEBABUJOQEBAEAJPAFQIAAAAAAGGFABEwABAFggAAAAAAYYUAETAAEAYCAAAAAAERiLARcAAQCM
IAAAAAATCJIBGwABAKQgAAAAABMIuAEoAAEAvCAAAAAAEwjhATUAAQDUIAAAAAATCP8BQgABAOwg
AAAAAEYCRQJjAAEACCEAAAAARgJOAmgAAgAcIQAAAACDAF8CbAACADQhAAAAAEYCZwJxAAIASCEA
AAAAEQBwAngAAgBkIQAAAAABAI4CgAADAIAhAAAAAAYYUAETAAQAiCEAAAAAAwiiAosABAC8IQAA
AAAGGFABEwAEANAhAAAAAAYYUAGvAAQA4CEAAAAARgr3A7sACQD0IQAAAAAGCA4EwAAJAAQiAAAA
AAYIHATFAAoAICIAAAAABggrBMoACwAsIgAAAAAGCDwExQAMAEgiAAAAAAYIVATKAA0AVCIAAAAA
BghgBMUADgBwIgAAAAAGCHMEwAAPAIAiAAAAAAYIgQTFABAAnCIAAAAABgiWBMAAEQCsIgAAAAAG
CJ8ExQASAMgiAAAAAAYIrwTAABMA2CIAAAAABgi5BMUAFAD0IgAAAAAGCMoEygAVAAAjAAAAAAYI
3QTFABYAHCMAAAAABgj3BMoAFwAoIwAAAAAGCAUFxQAYAEQjAAAAAAYIGgXAABkAVCMAAAAABggm
BcUAGgBwIwAAAAAGCDkFwAAbAIAjAAAAAAYIQgXFABwAnCMAAAAARgpSBbsAHQAEJAAAAACGAGoF
EwAdAAwkAAAAAIYAcQUTAB0AFCQAAAAAhgCABc8AHQAsJAAAAAAGGFABEwAdAEwkAAAAAEYDtQYT
AB0AUCQAAAAAAQDDBhMAHQBsJAAAAABGAtcG8AAdAMQkAAAAAEYD/QYTACEAyCQAAAAABhhQAQAB
IQDYJAAAAAAGGFABAAEiAOgkAAAAAAYYUAETACMA8CQAAAAARgL9BhMAIwA4JgAAAAAGACEHBgEj
ALgmAAAAAAYANQe7ACQAVCcAAAAABgBDBwwBJACgJwAAAAAGCE8HaAAkALgnAAAAAAYIYQfAACQA
xCcAAAAABgh5B3EAJQDoJwAAAAAGCIUHygAlAPwnAAAAAAYIkQfPACYAFCgAAAAABgipB8UAJgA0
KAAAAAAGCMoHEQEnAGAoAAAAAAYI2AcWAScAcCgAAAAABgjmB3EAKACIKAAAAAAGCPwHygAoAJQo
AAAAAAYIEgjPACkArCgAAAAABggoCMUAKQDMKAAAAAAGCD4IEQEqAPgoAAAAAAYISggWASoACCkA
AAAABghWCHEAKwAgKQAAAAAGCGoIygArACwpAAAAAAEAfggcASwAfCkAAAAAAQCTCCEBLQCsKQAA
AAABAKoIKAEvAAwqAAAAAAEAzAgtATAAAAABAEwCAAABAIUCAAABAIUCAAABAMsDAAACANUDAAAD
AN4DAAAEAOYDAAAFAO0DAAABABYEAAABABYEAAABABYEAAABABYEAAABABYEAAABABYEAAABABYE
AAABABYEAAABABYEAAABABYEAAABABYEAAABABYEAAABABYEAAABABYEAAABABYEAAABABYEAAAB
ABYEAAABABYEAAABABYEAAABABYEAAABAOMGAAACAOsGAAADAPUGAAAEAO0DAAABAMsDAAABAMsD
AAABACoHAAABAHMHAAABAHMHAAABAHMHAAABAHMHAAABAHMHAAABAHMHAAABAHMHAAABAHMHAAAB
AIsIAAABAJwIAAACAKQIAAABAMAIAAABANgICQBQARMAcQBQAUUBgQBQAVQBEQBQARMAiQBQARMA
JABQARMALABQARMANABQARMAPABQARMAJACiAosALACiAosANACiAosAPACiAosAkQBQARMAmQBQ
ARMAoQBQAcoAqQAQC+4BGQBFAmMAGQBOAmgAKQAxC/sBGQBnAnEAuQBNCwsCGQBQARMAwQBQARsC
RADrApAATAB3C4sATACBC5gCTABQARMAyQBQAcUAOQBQAa8AOQDLC7ICOQDUC8AA4QBQAcoA6QBq
BRMA6QBxBRMA6QCABc8A8QBQAcUAWQBQARMAQQAZDL8CQQCLDMsC+QChDGgAaQCuDNACYQC9DGgA
aQDYDNYCYQD1DNwCAQEDDeICAQEZDeICYQAkDWgAaQA7DekCAQFZDe8CAQFuDdwCEQGBDfUCYQCP
DWgAAQGZDQEDAQGxDQEDYQC+DWgAYQDHDQYDYQDPDQwDKQFQAcoA0QD2DR8DMQEQDiQDIQEgDnEA
MQEsDhcAOQFQARMAOQFbDjMDQQFrDjgDOQF1Dj8DaQBDB1IDaQCKDnEAOQF1DgwB+QCaDsAA0QCn
DjkBWQG1DmwDYQBnAnEAQQA1D3kDaQFLD38DYQFqD4gDcQF3C48DYQFzDxMAaQB6D5sDaQCND2gA
0QBFAqADeQFQARMAgQFQAcoAiQFQAcoAkQFQAdQDmQFQARMAoQFQAVMEsQFQAcoAuQFQAcoAwQFQ
ARMAyQFQAcAA0QFQAcAA2QFQARMA4QFQAcoAKQCDAKgBLgDrAsgFLgDzAtEFLgD7AvAFQAArAHMB
QAATAEsBQwAbAFoBQwATAEsBSQCDANoBYwAbAFoBYwATAEsBaQCDALkBgAArAHMBgwBzAHMBgwAb
AFoBgwB7AHMBiQCDAMYBoAArAHMBowDDACMCowATAEsBwAArAHMBwwDrAKcCwwATAEsB4AArAHMB
4wArAacCAAETAEsBAAErAHMBAwErAacCIAETAEsBIAErAHMBQAErAHMBQAETAEsBYAETAEsBYAEr
AHMBYwGjArMDYwGzAtoDYwGbAnMBYwErAacCYwGrAsYDgAErAHMBoAErAHMBwAETAEsBwAErAHMB
4AErAHMBAAIrAHMBAAITAEsBiQPjAksBiQPLApoFqQPTAgwFqQPLAh0FyQPLAloEyQO7AnMByQPD
AksB6QPLAvMECQTLAj4FCQTbAnMBKQS7AnMBKQTLArMEKQTDAksBSQTLApwEaQTLAm0FaQTbAnMB
AAYrAacCIAYrAacClAGZAZ4BowHzAfcBAgIHAhYCFgKeAq0CuALzAcYCFAMrA0oDWwP3AQcC8wFy
AwcC8wFyAwcCkwNyA6UDxgIEAAEABgAFAAcABgALABwAAAB0AU8AAAAtAlQAAADcAVkAAAA5Al4A
AAD1ApgAAACMBdMAAACfBdgAAACjBdwAAACuBeAAAAC7BdwAAADPBeAAAADXBdwAAADmBdgAAADw
BdwAAAABBtgAAAAGBtwAAAASBtgAAAAYBtwAAAAlBuAAAAA0BtwAAABKBuAAAABUBtwAAABlBtgA
AABtBtwAAAB8BtgAAACBBtwAAACNBtMAAABKCdgAAABYCeAAAABgCdwAAAB0CUABAAB+CeAAAACQ
CdwAAACiCUABAACqCeAAAgAEAAMAAgAFAAUAAgAGAAcAAgAHAAkAAgAPAAsAAgASAA0AAQATAA8A
AQAUABEAAQAVABMAAQAWABUAAQAXABcAAQAYABkAAQAZABsAAQAaAB0AAQAbAB8AAQAcACEAAQAd
ACMAAQAeACUAAQAfACcAAQAgACkAAQAhACsAAQAiAC0AAQAjAC8AAQAkADEAAQAlADMAAQAmADUA
AgAnADcAAgA3ADkAAQA4ADkAAgA5ADsAAQA6ADsAAQA8AD0AAgA7AD0AAQA+AD8AAgA9AD8AAgA/
AEEAAQBAAEEAAgBBAEMAAQBCAEMAAQBEAEUAAgBDAEUAAgBFAEcAAQBGAEcAdQB1AIgAeAF/AYYB
jQGFAowCRwMEgAAAAAAAAAAAAAAAAAAAAAC2AAAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAA
AAAAAAAKABMAAAAAAAEAAAAAAAAAAAAAAJ0AAQMAAAAADAAAAAAAAAAAAAAApgA/AwAAAAAMAAAA
AAAAAAAAAACmAI0DAAAAAAQAAAAAAAAAAAAAAAEAfQEAAAAADAAAAAAAAAAAAAAApgAlDAAAAAAM
AAAAAAAAAAAAAACmAMAOAAAAAAUABAAGAAQAAAAQAAwAgwIAABAAGQCDAgAAAAAbAIMCLQARAi0A
kwIAAAA8TW9kdWxlPgBtc2NvcmxpYgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMATXlBcHBsaWNhdGlv
bgBTY3JpcHRDb21wb25lbnRfNzJmYTk4NWY2MGUyNDUzMWJmZDdlYmE1NGRhNTZmYzMuTXkATXlD
b21wdXRlcgBNeVByb2plY3QATXlXZWJTZXJ2aWNlcwBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJg
MQBPdXRwdXRCdWZmZXIAU2NyaXB0Q29tcG9uZW50XzcyZmE5ODVmNjBlMjQ1MzFiZmQ3ZWJhNTRk
YTU2ZmMzAFVzZXJDb21wb25lbnQAQ29ubmVjdGlvbnMAVmFyaWFibGVzAFNjcmlwdE1haW4ATWlj
cm9zb2Z0LlZpc3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5j
dG9yAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QA
LmNjdG9yAGdldF9Db21wdXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0
aW9uAG1fQXBwT2JqZWN0UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRl
cgBnZXRfV2ViU2VydmljZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRp
b24AV2ViU2VydmljZXMARXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5n
AENyZWF0ZV9fSW5zdGFuY2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dl
dEluc3RhbmNlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRl
eHRWYWx1ZWAxAG1fQ29udGV4dABHZXRJbnN0YW5jZQBDb3p5Um9jLlNTSVNQbHVzLjIwMTQAQ296
eVJvYy5TcWxTZXJ2ZXIuU1NJUwBTY3JpcHRCdWZmZXJQbHVzAE1pY3Jvc29mdC5TcWxTZXJ2ZXIu
VHhTY3JpcHQATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUGlwZWxpbmUAU2NyaXB0Q29tcG9uZW50
AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuUGlwZWxpbmVIb3N0AFBpcGVsaW5lQnVmZmVyAE91dHB1dE5h
bWVNYXAAQ29tcG9uZW50AE9iamVjdElEAElzSW5wdXQAQnVmZmVyAE91dHB1dE1hcABnZXRfU3Rh
dGljSW5wdXRDb2x1bW5zAHNldF9EYXkAVmFsdWUAc2V0X0RheV9Jc051bGwAc2V0X0RheVNob3J0
TmFtZQBzZXRfRGF5U2hvcnROYW1lX0lzTnVsbABzZXRfRGF5TmFtZQBzZXRfRGF5TmFtZV9Jc051
bGwAc2V0X0RheU9mWWVhcgBzZXRfRGF5T2ZZZWFyX0lzTnVsbABzZXRfV2VlawBzZXRfV2Vla19J
c051bGwAc2V0X01vbnRoAHNldF9Nb250aF9Jc051bGwAc2V0X01vbnRoU2hvcnROYW1lAHNldF9N
b250aFNob3J0TmFtZV9Jc051bGwAc2V0X01vbnRoTmFtZQBzZXRfTW9udGhOYW1lX0lzTnVsbABz
ZXRfUXVhcnRlcgBzZXRfUXVhcnRlcl9Jc051bGwAc2V0X1llYXIAc2V0X1llYXJfSXNOdWxsAGdl
dF9TdGF0aWNPdXRwdXRDb2x1bW5zAEFkZFJvdwBTZXRFbmRPZlJvd3NldABFbmRPZlJvd3NldABT
dGF0aWNJbnB1dENvbHVtbnMARGF5AERheV9Jc051bGwARGF5U2hvcnROYW1lAERheVNob3J0TmFt
ZV9Jc051bGwARGF5TmFtZQBEYXlOYW1lX0lzTnVsbABEYXlPZlllYXIARGF5T2ZZZWFyX0lzTnVs
bABXZWVrAFdlZWtfSXNOdWxsAE1vbnRoAE1vbnRoX0lzTnVsbABNb250aFNob3J0TmFtZQBNb250
aFNob3J0TmFtZV9Jc051bGwATW9udGhOYW1lAE1vbnRoTmFtZV9Jc051bGwAUXVhcnRlcgBRdWFy
dGVyX0lzTnVsbABZZWFyAFllYXJfSXNOdWxsAFN0YXRpY091dHB1dENvbHVtbnMAU2NyaXB0Q29t
cG9uZW50UGx1cwBGaW5pc2hPdXRwdXRzAE1hcmtPdXRwdXRzRmluaXNoZWQAUHJpbWVPdXRwdXQA
T3V0cHV0cwBPdXRwdXRJRHMAQnVmZmVycwBDcmVhdGVOZXdPdXRwdXRSb3dzAFBhcmVudENvbXBv
bmVudABWYWxpZGF0ZQBlcnJNZXNzYWdlAEdldFByb3BlcnRpZXMAR2V0Q3VsdHVyZXMAZ2V0X0l0
ZXJhdGlvblN0ZXAAc2V0X0l0ZXJhdGlvblN0ZXAAdmFsdWUAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1
cmUAZ2V0X0lzU3RhcnREYXRlVmFyaWFibGUAc2V0X0lzU3RhcnREYXRlVmFyaWFibGUARGF0ZVRp
bWUAZ2V0X1N0YXJ0RGF0ZQBzZXRfU3RhcnREYXRlAGdldF9TdGFydERhdGVWYXJpYWJsZQBzZXRf
U3RhcnREYXRlVmFyaWFibGUAZ2V0X0lzRW5kRGF0ZVZhcmlhYmxlAHNldF9Jc0VuZERhdGVWYXJp
YWJsZQBnZXRfRW5kRGF0ZQBzZXRfRW5kRGF0ZQBnZXRfRW5kRGF0ZVZhcmlhYmxlAHNldF9FbmRE
YXRlVmFyaWFibGUAR2V0VmFyaWFibGVfAHZhck5hbWUAR2V0RGF0ZV8AZGF0ZVN0cgBpc1ZhcgBH
ZXRJZEZyb21EaXNwbGF5TmFtZV8AZGlzcGxheU5hbWUAR2V0UXVhcnRlcl8AaW5wdXQAbV9pdGVy
U3RlcABtX2lzU3RhcnREYXRlVmFyAG1fc3RhcnREYXRlAG1faXNFbmREYXRlVmFyAG1fZW5kRGF0
ZQBTeXN0ZW0uR2xvYmFsaXphdGlvbgBDdWx0dXJlSW5mbwBtX2N1bHR1cmUASXRlcmF0aW9uU3Rl
cABDdWx0dXJlAElzU3RhcnREYXRlVmFyaWFibGUAU3RhcnREYXRlAFN0YXJ0RGF0ZVZhcmlhYmxl
AElzRW5kRGF0ZVZhcmlhYmxlAEVuZERhdGUARW5kRGF0ZVZhcmlhYmxlAFN5c3RlbS5Db21wb25l
bnRNb2RlbABFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUARWRpdG9yQnJvd3NhYmxlU3RhdGUAU3lz
dGVtLkNvZGVEb20uQ29tcGlsZXIAR2VuZXJhdGVkQ29kZUF0dHJpYnV0ZQBTeXN0ZW0uRGlhZ25v
c3RpY3MARGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkNvbXBp
bGVyU2VydmljZXMAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1dGUASGlkZU1vZHVsZU5hbWVBdHRyaWJ1
dGUAU3lzdGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbgBIZWxwS2V5d29yZEF0dHJpYnV0ZQBTeXN0
ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAFJ1bnRpbWVIZWxwZXJzAEdldE9iamVjdFZhbHVl
AFJ1bnRpbWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFuZGxlAEFjdGl2YXRvcgBDcmVhdGVJbnN0
YW5jZQBNeUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBnZXRfVmFsdWUAc2V0X1ZhbHVlAFN5c3Rl
bS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxlQXR0cmlidXRlAFN0cmluZwBJbnQz
MgBzZXRfSXRlbQBTZXROdWxsAEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24AU2NyaXB0QnVmZmVy
AENMU0NvbXBsaWFudEF0dHJpYnV0ZQBHZXRPdXRwdXRJRABNaWNyb3NvZnQuU3FsU2VydmVyLkRU
U1BpcGVsaW5lV3JhcABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5QaXBlbGluZS5XcmFwcGVyAElE
VFNDb21wb25lbnRNZXRhRGF0YTEwMABnZXRfQ29tcG9uZW50TWV0YURhdGEAZ2V0X0xvY2FsZUlE
AEdldEN1bHR1cmVJbmZvAGdldF9EYXkARGF0ZVRpbWVGb3JtYXRJbmZvAGdldF9EYXRlVGltZUZv
cm1hdABEYXlPZldlZWsAZ2V0X0RheU9mV2VlawBHZXRBYmJyZXZpYXRlZERheU5hbWUAR2V0RGF5
TmFtZQBnZXRfRGF5T2ZZZWFyAENhbGVuZGFyAGdldF9DYWxlbmRhcgBDYWxlbmRhcldlZWtSdWxl
AGdldF9DYWxlbmRhcldlZWtSdWxlAGdldF9GaXJzdERheU9mV2VlawBHZXRXZWVrT2ZZZWFyAGdl
dF9Nb250aABHZXRBYmJyZXZpYXRlZE1vbnRoTmFtZQBHZXRNb250aE5hbWUAZ2V0X1llYXIAQWRk
RGF5cwBDb21wYXJlAEV4Y2VwdGlvbgBBcHBsaWNhdGlvbkV4Y2VwdGlvbgBJc051bGxPckVtcHR5
AFByb2plY3REYXRhAFNldFByb2plY3RFcnJvcgBnZXRfTWVzc2FnZQBDbGVhclByb2plY3RFcnJv
cgBTeXN0ZW0uQ29sbGVjdGlvbnMAQXJyYXlMaXN0AEFkZABJbnRlcmFjdGlvbgBJSWYAQXJyYXkA
VG9BcnJheQBDdWx0dXJlVHlwZXMAZ2V0X0Rpc3BsYXlOYW1lAHNldF9Mb2NhbGVJRABFbXB0eQBD
b252ZXJ0AFRvRGF0ZVRpbWUATWljcm9zb2Z0LlNxbFNlcnZlci5EVFNSdW50aW1lV3JhcABNaWNy
b3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lLldyYXBwZXIASURUU1ZhcmlhYmxlczEwMABJRFRT
VmFyaWFibGVEaXNwZW5zZXIxMDAAZ2V0X1ZhcmlhYmxlRGlzcGVuc2VyAExvY2tPbmVGb3JSZWFk
AElEVFNWYXJpYWJsZTEwMABnZXRfSXRlbQBVbmxvY2sAZ2V0X0N1cnJlbnRDdWx0dXJlAGdldF9M
Q0lEAFNTSVNTY3JpcHRDb21wb25lbnRFbnRyeVBvaW50QXR0cmlidXRlAENvenlSb2MuU3FsU2Vy
dmVyLlNTSVMuQXR0cmlidXRlcwBGaWx0ZXJQcm9wZXJ0aWVzQXR0cmlidXRlAFZhbGlkYXRlUHJv
cGVydGllc0F0dHJpYnV0ZQBTb3J0UHJvcGVydGllc0F0dHJpYnV0ZQBOb25Fc3NlbnRpYWxBdHRy
aWJ1dGUAUmVmcmVzaFByb3BlcnRpZXNBdHRyaWJ1dGUAUmVmcmVzaFByb3BlcnRpZXMARGVzY3Jp
cHRpb25BdHRyaWJ1dGUATGlzdEF0dHJpYnV0ZQBWYXJpYWJsZUF0dHJpYnV0ZQBEZWZhdWx0VmFs
dWVBdHRyaWJ1dGUAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0
aWJpbGl0eUF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29y
a0F0dHJpYnV0ZQBTY3JpcHRDb21wb25lbnRfNzJmYTk4NWY2MGUyNDUzMWJmZDdlYmE1NGRhNTZm
YzMuZGxsAAAAAACAm0kAcwBOAHUAbABsACAAcAByAG8AcABlAHIAdAB5ACAAYwBhAG4AbgBvAHQA
IABiAGUAIABzAGUAdAAgAHQAbwAgAEYAYQBsAHMAZQAuACAAQQBzAHMAaQBnAG4AIABhACAAdgBh
AGwAdQBlACAAdABvACAAdABoAGUAIABjAG8AbAB1AG0AbgAgAGkAbgBzAHQAZQBhAGQALgAAB0QA
YQB5AAAZRABhAHkAUwBoAG8AcgB0AE4AYQBtAGUAAA9EAGEAeQBOAGEAbQBlAAATRABhAHkATwBm
AFkAZQBhAHIAAAlXAGUAZQBrAAALTQBvAG4AdABoAAAdTQBvAG4AdABoAFMAaABvAHIAdABOAGEA
bQBlAAATTQBvAG4AdABoAE4AYQBtAGUAAA9RAHUAYQByAHQAZQByAAAJWQBlAGEAcgAADU8AdQB0
AHAAdQB0AABJUwBwAGUAYwBpAGYAaQBlAGQAIABpAHQAZQByAGEAdABpAG8AbgAgAHMAdABlAHAA
IABpAHMAIABpAG4AdgBhAGwAaQBkAC4AACdTAHAAZQBjAGkAZgB5ACAAcwB0AGEAcgB0ACAAZABh
AHQAZQAuAAAjUwBwAGUAYwBpAGYAeQAgAGUAbgBkACAAZABhAHQAZQAuAAAbSQB0AGUAcgBhAHQA
aQBvAG4AUwB0AGUAcAAAD0MAdQBsAHQAdQByAGUAACdJAHMAUwB0AGEAcgB0AEQAYQB0AGUAVgBh
AHIAaQBhAGIAbABlAAAjUwB0AGEAcgB0AEQAYQB0AGUAVgBhAHIAaQBhAGIAbABlAAATUwB0AGEA
cgB0AEQAYQB0AGUAACNJAHMARQBuAGQARABhAHQAZQBWAGEAcgBpAGEAYgBsAGUAAB9FAG4AZABE
AGEAdABlAFYAYQByAGkAYQBiAGwAZQAAD0UAbgBkAEQAYQB0AGUAAAAAjWx2U6ASjEGGhG7ePPDk
kQAIt3pcVhk04IkIsD9ffxHVCjoDIAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAA
EhEHBhUSGAESEQQAABIUBwYVEhgBEhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIV
AyAADgIeAAcQAQEeAB4ABzABAQEQHgACEwAEIAATAAcGFRIZARMABCgAEwAIFs9JC7gMNOoIiYRd
zYCAzJELIAUBEiEIAhIlEikEIAAdDgQgAQEIBCABAQIEIAEBDgMgAAIEKAAdDgMoAAgDKAACAygA
DgMGEiQDBhIoAwYSHAsgBAEIHQgdEiUSKQMGEiEFIAEBEiEFIAECEA4EIAAdHAQgABExBSABAREx
BCABHA4GIAIRMQ4CBCABCA4FIAEIETECBggCBgICBg4DBhI1BCgAETEFIAEBET0IAQABAAAAAAAF
IAIBDg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABAEAAAAGFRIYARIMBhUSGAESCAYVEhgBEhEG
FRIYARIUBAcBEgwEBwESCAQHARIRBAcBEhQQAQALTXkuQ29tcHV0ZXIAAAwBAAdNeS5Vc2VyAAAT
AQAOTXkuV2ViU2VydmljZXMAABMBAA5NeS5BcHBsaWNhdGlvbgAABAABHBwDBwECAwcBCAYAARIV
EVkEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldlYi5TZXJ2aWNl
cy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18TRGlz
cG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMTABMAEwAFAQAA
AAAEBwEdDgUgAgEIHAYHAh0OHQ4GAAIIEikOBAcCCAgEIAASfQUAARI1CAUgABKAgQUgABGAhQYg
AQ4RgIUFIAASgIkFIAARgI0LIAMIETERgI0RgIUEIAEOCAUgARExDQcAAggRMRExCgcEEjURMREx
EhwEAAECDgYAAQESgJEHBwMCAhKAkQQgAQgcBgADHAIcHAcgARKApRIVAh0OBwcCHQ4SgJ0IAAEd
EjURgKkQBwYdEjUdHBKAnRI1CB0SNQUAARExDgYHAhExETEFIAASgLUIIAIBDhASgLEGIAESgLkc
AyAAHAcHAxwcEoCxBAAAEjUEIAECDg0HBggIHRI1EjUIHRI1EgEADUdldFByb3BlcnRpZXMAAA0B
AAhWYWxpZGF0ZQAABSABAR0OeAEACAAAAA1JdGVyYXRpb25TdGVwB0N1bHR1cmUTSXNTdGFydERh
dGVWYXJpYWJsZQlTdGFydERhdGURU3RhcnREYXRlVmFyaWFibGURSXNFbmREYXRlVmFyaWFibGUH
RW5kRGF0ZQ9FbmREYXRlVmFyaWFibGUAAAYgAQERgNVBAQA8U3BlY2lmaWVzIGlmIFN0YXJ0RGF0
ZSBwcm9wZXJ0eSByZWZlcmVuY2VzIHBhY2thZ2UgdmFyaWFibGUuAAAWAQARU3BlY2lmeSBlbmQg
ZGF0ZS4AAD8BADpTcGVjaWZpZXMgaWYgRW5kRGF0ZSBwcm9wZXJ0eSByZWZlcmVuY2VzIHBhY2th
Z2UgdmFyaWFibGUuAAAYAQATU3BlY2lmeSBzdGFydCBkYXRlLgAAEAEAC0dldEN1bHR1cmVzAAAg
AQAbU2VsZWN0IGRhdGUgZm9ybWF0IGN1bHR1cmUuAAAuAQApU3BlY2lmaWVzIHZhcmlhYmxlIGNv
bnRhaW5pbmcgc3RhcnQgZGF0ZS4AACwBACdTcGVjaWZpZXMgdmFyaWFibGUgY29udGFpbmluZyBl
bmQgZGF0ZS4AAC0BAChTcGVjaWZpZWQgZGF0ZSBpdGVyYXRpb24gc3RlcCAoaW4gZGF5cykuAAAI
AQAIAAAAAAAeAQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmss
VmVyc2lvbj12NC4wAQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0QFQA
AAAAAAAAAAAAXlQAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBUAAAAAAAAAAAAAAAAAAAAAF9D
b3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAEAAAABgAAIAAAAAA
AAAAAAAAAAAAAAEAAQAAADAAAIAAAAAAAAAAAAAAAAAAAAEAAAAAAEgAAABYYAAA7AIAAAAAAAAA
AAAA7AI0AAAAVgBTAF8AVgBFAFIAUwBJAE8ATgBfAEkATgBGAE8AAAAAAL0E7/4AAAEAAAAAAAAA
AAAAAAAAAAAAAD8AAAAAAAAABAAAAAIAAAAAAAAAAAAAAAAAAABEAAAAAQBWAGEAcgBGAGkAbABl
AEkAbgBmAG8AAAAAACQABAAAAFQAcgBhAG4AcwBsAGEAdABpAG8AbgAAAAAAAACwBEwCAAABAFMA
dAByAGkAbgBnAEYAaQBsAGUASQBuAGYAbwAAACgCAAABADAAMAAwADAAMAA0AGIAMAAAACwAAgAB
AEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAAAgAAAAMAAIAAEARgBpAGwAZQBWAGUA
cgBzAGkAbwBuAAAAAAAwAC4AMAAuADAALgAwAAAAjAA1AAEASQBuAHQAZQByAG4AYQBsAE4AYQBt
AGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADcAMgBmAGEAOQA4ADUAZgA2ADAA
ZQAyADQANQAzADEAYgBmAGQANwBlAGIAYQA1ADQAZABhADUANgBmAGMAMwAuAGQAbABsAAAAAAAo
AAIAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAAAgAAAAlAA1AAEATwByAGkAZwBpAG4A
YQBsAEYAaQBsAGUAbgBhAG0AZQAAAFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8ANwAy
AGYAYQA5ADgANQBmADYAMABlADIANAA1ADMAMQBiAGYAZAA3AGUAYgBhADUANABkAGEANQA2AGYA
YwAzAC4AZABsAGwAAAAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADAALgAw
AC4AMAAuADAAAAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMAAuADAA
LgAwAC4AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAwAAABwNAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=]]></arrayElement></arrayElements></property><property id="9" name="UserComponentTypeName" dataType="System.String">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2014, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</property><property id="11" name="VSTAProjectName" dataType="System.String" description="Specifies the name of the Microsoft Visual Studio Tools for Applications project. Project names must be unique within a package." typeConverter="NOTBROWSABLE">ScriptComponent_72fa985f60e24531bfd7eba54da56fc3</property><property id="12" name="ScriptLanguage" dataType="System.String" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">VisualBasic</property></properties><outputs><output id="14" name="Output" hasSideEffects="true"><outputColumns><outputColumn id="15" name="Day" lineageId="15" dataType="i4" /><outputColumn id="16" name="DayShortName" lineageId="16" length="50" dataType="wstr" /><outputColumn id="17" name="DayName" lineageId="17" length="50" dataType="wstr" /><outputColumn id="18" name="DayOfYear" lineageId="18" dataType="i4" /><outputColumn id="19" name="Week" lineageId="19" dataType="i4" /><outputColumn id="20" name="Month" lineageId="20" dataType="i4" /><outputColumn id="21" name="MonthShortName" lineageId="21" length="50" dataType="wstr" /><outputColumn id="22" name="MonthName" lineageId="22" length="50" dataType="wstr" /><outputColumn id="23" name="Quarter" lineageId="23" dataType="i4" /><outputColumn id="24" name="Year" lineageId="24" dataType="i4" /></outputColumns><externalMetadataColumns /></output></outputs></component>