<component id="2" name="Salesforce Get Updated Source" 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_48f452701a014b61911155c55d2eb9cf.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_48f452701a014b61911155c55d2eb9cf.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("f747f80f-dbd2-4eaa-afbe-188b50dc6674")> 

' 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

    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

    Public ReadOnly Property Connection() As IDTSConnectionManager100
        Get
            Return ParentComponent.ComponentMetaData.RuntimeConnectionCollection("Connection").ConnectionManager
        End Get
    End Property

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 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 [Id]() As String
        Set
            Me(0) = Value
        End Set
    End Property
    Public WriteOnly Property [Id_IsNull] As Boolean
        Set
            If (value)
                SetNull(0)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public Overrides ReadOnly Property StaticOutputColumns() As String()
        Get
            Return New String() {"Id"}
        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_48f452701a014b61911155c55d2eb9cf.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_48f452701a014b61911155c55d2eb9cf.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_48f452701a014b61911155c55d2eb9cf.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{87D6D840-B544-4B26-9536-011DBC18BE59}</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.Sforce, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL" />
    <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.Web.Services" />
    <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;vstadebugbfac250c-020a-45ca-b69c-d962b8f0bda1/57c74657-0446-4029-9b50-5f71d40ac31a&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[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 Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS
Imports CozyRoc.SqlServer.SSIS.Attributes
Imports CozyRoc.Sforce.Service


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<SortProperties(New String() { _
    "Connection", "SalesforceObject", _
    "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 startDate As DateTime = GetDate_(m_startDate, Me.IsStartDateVariable)
        Dim endDate As DateTime = GetDate_(m_endDate, Me.IsEndDateVariable)

        ' Get updated id list.
        Dim idList() As String = Nothing
        Dim connection As ISforceConnection = CType( _
            MyBase.Connections.Connection.AcquireConnection(Nothing),  _
            ISforceConnection)
        Try
            Dim service As SforceService = CType(connection.Connect(), SforceService)
            idList = service.getUpdated(Me.SalesforceObject, startDate, endDate).ids
        Catch ex As Exception
            Call FireError_(ex.Message)
        Finally
            Call connection.Close()
        End Try

        If Not idList Is Nothing Then
            For Each id As String In idList
                With MyBase.OutputBuffer
                    .AddRow()
                    .Id = id
                End With
            Next
        End If

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


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

        Try
            If String.IsNullOrEmpty(Me.Connection) Then
                Throw New ApplicationException("Select Salesforce connection.")
            End If

            If String.IsNullOrEmpty(Me.SalesforceObject) Then
                Throw New ApplicationException("Select object.")
            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

            ' Store connection information in the runtime connection collection, too.
            ' Cannot directly use RuntimeConnectionCollection in the property get/set
            ' because of issues with multi-threading.
            Me.ComponentMetaData.RuntimeConnectionCollection("Connection").ConnectionManagerID = Me.Connection

            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("Connection")
        Call result.Add("SalesforceObject")

        ' 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"))

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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Returns list of objects in the currently selected Salesforce connection.
    Public Function GetObjectList() As String()
        Dim result As New ArrayList

        Dim connection As ISforceConnection = CType( _
            Me.DesignConnections(Me.Connection).AcquireConnection(Nothing), _
            ISforceConnection)
        Dim service As SforceService = CType(connection.Connect(), SforceService)

        Try
            Dim dgr As DescribeGlobalResult = service.describeGlobal()

            For Each sobject As DescribeGlobalSObjectResult In dgr.sobjects
                If sobject.queryable Then
                    Call result.Add(sobject.name)
                End If
            Next

            Call result.Sort()
        Finally
            Call connection.Close()
        End Try

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


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")> _
    <Description("Select Salesforce Connection Manager.")> _
    <Connection("ConnectionType")> _
    Public Property Connection() As String
        Get
            Connection = m_sforceConnection
        End Get
        Set(ByVal value As String)
            m_sforceConnection = value
        End Set
    End Property    ' Connection


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")> _
    <Description("Select Salesforce object.")> _
    <List("GetObjectList")> _
    Public Property SalesforceObject() As String
        Get
            SalesforceObject = m_object
        End Get
        Set(ByVal value As String)
            m_object = value
        End Set
    End Property    ' SalesforceObject


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")> _
    <Description("Specifies if StartDate parameter 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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")> _
    <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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")> _
    <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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")> _
    <Description("Specifies if EndDate parameter 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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")> _
    <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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")> _
    <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 ReadOnly Property ConnectionType() As String()
        Get
            ConnectionType = New String() {"SFORCE"}
        End Get
    End Property    ' ConnectionType


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub FireError_(ByVal message As String)
        Dim cancel As Boolean = False
        Call MyBase.ComponentMetaData.FireError( _
            0, _
            "Salesforce Get Updated Source", _
            message, _
            String.Empty, _
            0, _
            cancel)
    End Sub ' FireError_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    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 DateTime
        Dim result As DateTime

        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_
#End Region ' Internals


#Region "Attributes"
    Private m_sforceConnection As String
    Private m_object As String
    Private m_isStartDateVar As Boolean
    Private m_startDate As String
    Private m_isEndDateVar As Boolean
    Private m_endDate As String
#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>{3F7BD60B-003A-4B99-B6F1-B5BEA846ED4F}</msb:ProjectId>
		<msb:DisplayName>scriptcomponent_48f452701a014b61911155c55d2eb9cf</msb:DisplayName>
		<msb:CodeName>scriptcomponent_48f452701a014b61911155c55d2eb9cf</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_48f452701a014b61911155c55d2eb9cf.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[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_48f452701a014b61911155c55d2eb9cf.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
fhEAAAQtIHKOAgBw0AwAAAIoFAAACm9XAAAKc1gAAAoLB4ARAAAEfhEAAAQqAAAAEzABAAYAAAAi
AAARfhIAAAQqAAAeAoASAAAEKkJzFwAACigRAAAKgBQAAAQqAAAAHgIoWQAACiobMAEAPwAAACMA
ABF+EwAABC0yfhQAAAQoEQAACihaAAAKfhMAAAQtHHM/AAAGgBMAAATeEH4UAAAEKBEAAAooWwAA
Ctx+EwAABCoAARAAAAIAHQAMKQAQAAAAAbQAAADOyu++AQAAAJEAAABsU3lzdGVtLlJlc291cmNl
cy5SZXNvdXJjZVJlYWRlciwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0
cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5I1N5c3RlbS5SZXNvdXJjZXMuUnVu
dGltZVJlc291cmNlU2V0AgAAAAAAAAAAAAAAUEFEUEFEULQAAABCU0pCAQABAAAAAAAMAAAAdjQu
MC4zMDMxOQAAAAAFAGwAAADwDgAAI34AAFwPAACgEgAAI1N0cmluZ3MAAAAA/CEAAMACAAAjVVMA
vCQAABAAAAAjR1VJRAAAAMwkAABUBwAAI0Jsb2IAAAAAAAAAAgAAAVcVogkJDwAAAPolMwAWAAAB
AAAATwAAAA0AAAAUAAAAQAAAAB4AAABnAAAAVQAAACMAAAAHAAAAFgAAAB8AAAAKAAAAAQAAAAsA
AAABAAAAAgAAAAMAAAACAAAAAABkEgEAAAAAAAoAqgGAAQoA3gHAAQYA7gHnAQoARgKAAQYAxALn
AQoARgMcAw4AmAOBAxIA5wPGAxYAGATGAxIAJwTGAw4AAQWBAxoAzAWkBQYAngbnAQYAigh5CAYA
twiiCB4AGAkDCR4AZQlPCR4AfglPCR4AqwmTCQYA1QnCCQoAFArtCQoALAoTAB4AYQpECgYAlgp2
CgYAtArnAQYA2ArnAQoA8QoTAAYANQsWCwYASQvnAQYAYQvnARIAewvGAwYAiAvnASIA9wvOCyIA
JgzOCyIAaQzOCw4AoQyBAyYA2QzCDAYA5wznASYACw3CDCoAngbnAQoALw3tCQYAfQ3nAQYAvQ2q
DQoAyw0TAAYA2w3nASYA6Q3CDCYA/g3CDC4AAwE5Di4Abw45DgYAvw7nARoA3A6kBRoA7Q6kBRoA
Kw+kBRIAQg/GAw4Aiw9pDw4ApQ9pDw4AwQ9pDx4A2Q9PCR4A7g9PCQ4AABBpDx4AFhBPCR4AMRBP
CQ4AQxBpDw4AVRBpDw4AYxBpDwYAiRB3EAYAsBCfEAYAwxDCCQYALBF2CgYATBF2CgYAhBFqEQYA
nRF3EAYAuhEWCwYAyBF3EAYA4xF3EAYA/hF3EAYAFxJ3EAYAMBJ3EAYATRJ3EAAAAAABAAAAAAAB
AAEAAAAAACkANwAFAAEAAQAAAAAAcgA3AAkAAQACAAABEAB9ADcADQABAAMABQEAAIcAAAANAAUA
CAAFAQAAlQAAAA0ABQAPAAEAAACwAL0AHQAGABEAAQAAAPUAvQAtAAYAGQABAAAAAwG9AA0ACQAe
AAEAAAAPAb0ADQAKACAAAQAAABkBvQAgAAsAIQAAAAAAJAEwAQ0AEQA6AAABEAB1Ab0AQQATAD4A
MQAJAiAAMQAyAi0AMQBUAjoAMQB5AkcAIQBVA5AABgADAdsABgAPAd8ABgCwAOMAAQBxBfMAAQBx
BfMAAQCtByQBAQDAByQBAQDJBycBAQDaByQBAQDmBycBAQD1ByQBEQCaCC8BEQDDCDMBEQAwCVEB
EQA4CVUBUCAAAAAABhi6ARMAAQBYIAAAAAAGGLoBEwABAGAgAAAAABEY9QEXAAEAjCAAAAAAEwj8
ARsAAQCkIAAAAAATCCICKAABALwgAAAAABMISwI1AAEA1CAAAAAAEwhpAkIAAQDsIAAAAABGAq8C
YwABAAghAAAAAEYCuAJoAAIAHCEAAAAAgwDJAmwAAgA0IQAAAABGAtECcQACAEghAAAAABEA2gJ4
AAIAZCEAAAAAAQD4AoAAAwCAIQAAAAAGGLoBEwAEAIghAAAAAAMIDAOLAAQAvCEAAAAABhi6ARMA
BADQIQAAAAAGGLoBrwAEAOAhAAAAAEYKYQS7AAkA9CEAAAAABgh4BMAACQAAIgAAAAAGCIUExQAK
ABwiAAAAAEYKkwS7AAsAPCIAAAAAhgCrBBMACwBEIgAAAACGALIEEwALAEwiAAAAAIYAwQTKAAsA
ZCIAAAAABhi6ARMACwCEIgAAAABGAxUFEwALAIgiAAAAAAEAIwUTAAsApCIAAAAARgI3BecACwD8
IgAAAABGA10FEwAPAAAjAAAAAAYYugH3AA8AECMAAAAABgjlBf0AEAA8IwAAAAAGGLoB9wAQAEwj
AAAAAAYYugETABEAVCMAAAAARgJdBRMAEQBMJAAAAAAGAP8FBwERAAglAAAAAAYAEwa7ABIApCUA
AAAABgAhBrsAEgBYJgAAAAAGCOUFcQASAHAmAAAAAAYILwbAABIAfCYAAAAABghEBnEAEwCUJgAA
AAAGCFkGwAATAKAmAAAAAAYIbgbKABQAuCYAAAAABgiGBsUAFADYJgAAAAAGCKcGDQEVAAQnAAAA
AAYItQYSARUAFCcAAAAABgjDBnEAFgAsJwAAAAAGCNkGwAAWADgnAAAAAAYI7wbKABcAUCcAAAAA
BggFB8UAFwBwJwAAAAAGCBsHDQEYAJwnAAAAAAYIJwcSARgArCcAAAAABggzB3EAGQDEJwAAAAAG
CEcHwAAZANAnAAAAAAEIWwe7ABoA8CcAAAAAAQBuB8AAGgAcKAAAAAABAIEHGAEbAGwoAAAAAAEA
lgcdARwAnCgAAAAAAxi6ARMAHgCkKAAAAAAWCM8INwEeAOAoAAAAABYI4wg8AR4A9CgAAAAAFgjv
CEEBHgD8KAAAAAARGPUBFwAfABApAAAAAAYYugETAB8AGCkAAAAAFghFCVgBHwAAAAEAtgIAAAEA
7wIAAAEA7wIAAAEANQQAAAIAPwQAAAMASAQAAAQAUAQAAAUAVwQAAAEAfwQAAAEAfwQAAAEAQwUA
AAIASwUAAAMAVQUAAAQAVwQAAAEANQQAAAEANQQAAAEACAYAAAEAPgYAAAEAPgYAAAEAPgYAAAEA
PgYAAAEAPgYAAAEAPgYAAAEAPgYAAAEAPgYAAAEAeQcAAAEAjgcAAAEAnwcAAAIApwcAAAEAfwQJ
ALoBEwCJALoBYgGZALoBcQERALoBEwChALoBEwAkALoBEwAsALoBEwA0ALoBEwA8ALoBEwAkAAwD
iwAsAAwDiwA0AAwDiwA8AAwDiwCpALoBEwCxALoBEwC5ALoBwADBAKUKCwIZAK8CYwAZALgCaAAp
AMYKGAIZANECcQDRAOIKKAIZALoBEwDZALoBOAJEAFUDkABMAEUJiwBMAAwLtQJMALoBEwDhALoB
xQA5ALoBrwA5AFALzwI5AFkL1QLxALoBwAD5AKsEEwD5ALIEEwD5AMEEygABAboBxQBZALoBEwBB
AJ4L4QJBABAM7QIJAUkM8wIRAYIM+QIZAYsM/QBhAPEMBQMhAQMNCgMpARwNDgM5AScNuwBJATsN
GwMxAUsNcQBJAVcNFwAhAWkNEwDpAG8NOgNRAboBwAAZAZINwABZAboBEwBZAccNRwNhAdcNTANZ
AeENUwNZAFkOZgOBAYIMbAOJAfEMBQMpAYEOcwNxAZAOeQN5AZ0OygB5AasOcQBZAbQOEwDpALkO
JAGRAccOmQNpANECcQAJAdIOpgNBAAYPsQOhARwPtwOZAYIMwAOpAUUJCgOZATsPEwCxAboBEwC5
AboBwADBAboBwADJAboB8APRAboBwADZAboBwADhAboBEwDpAboBnAT5AboBEwABAroBwAAJAroB
wAApAJIQCwZxALoBEQaBALoBEwAZArgQLgYZAr4QLgYhAroBEwApAroB1QIxAroBEwA5AroBwABB
AroBwABJAroBwABRAroBwABZAroBwABhAroBwABpAroBwABxAroBwAB5AroBwAApAIMA2QEuACsD
QgcuADsDBQcuABMDxAIuAOsCOAYuAPMCQQYuACsB3wYuACMDBQcuABsD5QYuADMDxAIuAPsCYAYu
AAMDqAYuAAsDtQYuAOsAxAJAACsAkAFAABMAaAFDABMAaAFDABsAdwFJAIMAxQFjABMAaAFjABsA
dwFpAIMA6gGAACsAkAGDAHMAkAGDAHsAkAGDABsAdwGJAIMA9wGgACsAkAGjAMMAQAKjABMAaAHA
ACsAkAHDAOsAxALDABMAaAHgACsAkAHjACsBxAIAARMAaAEAASsAkAEDASsBxAIgASsAkAEgARMA
aAFAARMAaAFAASsAkAFgASsAkAFgARMAaAFjAWsCzwNjAWMCkAFjAXsC9gNjAXMC4gNjASsBxAJp
AYMC4AVpAbMCzAVpAYsCjgSAASsAkAGJAasCbQWJAYMCgAWJAYsCjgSgASsAkAGpAZsCaAGpAYsC
jgSpAZMCkAGpAYMCowTAASsAkAHAARMAaAHJAYsCjgTJAYMCdQTgASsAkAHpAYsCjgTpAYMCPgXp
AaMCkAEAAisAkAEAAhMAaAEJApMCkAEJAoMC/QQJApsCaAEJAosCjgQpAoMC5gQpAosCjgRJAoMC
nwVJAosCjgRJAqMCkAGJAhMAJQapAhMAJQbJAuMCkAHAAysBxAIABCsBxAKxAbYBuwHAARACFAIf
AiQCMwIzArsCygLaAhAC6AIAAyIDPwNeA4ADJAIkAhACnwMkAhACnwMkAtoCEALHA58DGQYgBjMG
BAABAAYABQAHAAYACQAKAAsACwAMABQADQAWAAAA3gFPAAAAlwJUAAAARgJZAAAAowJeAAAAXwOY
AAAAzQTOAAAA4ATTAAAA4wTXAAAA7QTOAAAA9AUCAQAA9AXTAAAA/wfTAAAAEAjXAAAAJAgqAQAA
LgjTAAAAQAjXAAAAUggqAQAAWgjTAAAAagjOAAAAighHAQAA+whMAQAAfwRdAQIABAADAAIABQAF
AAIABgAHAAIABwAJAAIADwALAAIAEgANAAEAEwAPAAEAFAARAAIAFQATAAIAHwAVAAIAJgAXAAEA
JwAXAAIAKAAZAAEAKQAZAAEAKwAbAAIAKgAbAAIALAAdAAEALQAdAAIALgAfAAEALwAfAAIAMAAh
AAEAMQAhAAIAMgAjAAEAMwAjAAIANAAlAAEANQAlAAIANgAnAAIAOwApAAIAPAArAAEAPQArAAIA
QAAtAHUAdQCIAJUBnAGjAaoBogKpAlsDBIAAAAEAAAAAAAAAAAAAAAAAvQAAAAQAAAAAAAAAAAAA
AAEACgAAAAAACgAAAAAAAAAAAAAACgATAAAAAAABAAAAAAAAAAAAAACdAGsDAAAAAAsAAAAAAAAA
AAAAAKYAqQMAAAAACwAAAAAAAAAAAAAApgD3AwAAAAALAAAAAAAAAAAAAACmAIEFAAAAAAQAAAAA
AAAAAAAAAAEA5wEAAAAACwAAAAAAAAAAAAAApgCqCwAAAAABAAAAAAAAAAAAAACdALMMAAAAAAIA
AAAAAAAAAAAAAAEACgAAAAAACwAAAAAAAAAAAAAApgAaDgAAAAAAAAAAAQAAAOAQAAAFAAQABgAE
AAAAEAAMAO0CAAAQABkA7QIAAAAAGwDtAi0ALgItALACAAAAAAA8TW9kdWxlPgBtc2NvcmxpYgBN
aWNyb3NvZnQuVmlzdWFsQmFzaWMATXlBcHBsaWNhdGlvbgBTY3JpcHRDb21wb25lbnRfNDhmNDUy
NzAxYTAxNGI2MTkxMTE1NWM1NWQyZWI5Y2YudmJwcm9qLk15AE15Q29tcHV0ZXIATXlQcm9qZWN0
AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9iamVjdFByb3ZpZGVyYDEAT3V0cHV0QnVmZmVyAFNj
cmlwdENvbXBvbmVudF80OGY0NTI3MDFhMDE0YjYxOTExMTU1YzU1ZDJlYjljZi52YnByb2oAVXNl
ckNvbXBvbmVudABDb25uZWN0aW9ucwBWYXJpYWJsZXMAU2NyaXB0TWFpbgBNeVJlc291cmNlcwBT
Y3JpcHRDb21wb25lbnRfNDhmNDUyNzAxYTAxNGI2MTkxMTE1NWM1NWQyZWI5Y2YudmJwcm9qLk15
LlJlc291cmNlcwBNeVNldHRpbmdzAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5BcHBsaWNhdGlvblNl
cnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3RvcgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuRGV2aWNl
cwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5jY3RvcgBnZXRfQ29tcHV0ZXIAbV9Db21wdXRlck9i
amVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlvbgBtX0FwcE9iamVjdFByb3ZpZGVyAFVzZXIAZ2V0
X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAZ2V0X1dlYlNlcnZpY2VzAG1fTXlXZWJTZXJ2aWNl
c09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9uAFdlYlNlcnZpY2VzAEVxdWFscwBvAEdldEhhc2hD
b2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBDcmVhdGVfX0luc3RhbmNlX18AVABpbnN0YW5jZQBE
aXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJbnN0YW5jZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMu
TXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0VmFsdWVgMQBtX0NvbnRleHQAR2V0SW5zdGFuY2UA
Q296eVJvYy5TU0lTUGx1cy4yMDEyAENvenlSb2MuU3FsU2VydmVyLlNTSVMAU2NyaXB0QnVmZmVy
UGx1cwBNaWNyb3NvZnQuU3FsU2VydmVyLlR4U2NyaXB0AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRz
LlBpcGVsaW5lAFNjcmlwdENvbXBvbmVudABNaWNyb3NvZnQuU3FsU2VydmVyLlBpcGVsaW5lSG9z
dABQaXBlbGluZUJ1ZmZlcgBPdXRwdXROYW1lTWFwAENvbXBvbmVudABPYmplY3RJRABJc0lucHV0
AEJ1ZmZlcgBPdXRwdXRNYXAAZ2V0X1N0YXRpY0lucHV0Q29sdW1ucwBzZXRfSWQAVmFsdWUAc2V0
X0lkX0lzTnVsbABnZXRfU3RhdGljT3V0cHV0Q29sdW1ucwBBZGRSb3cAU2V0RW5kT2ZSb3dzZXQA
RW5kT2ZSb3dzZXQAU3RhdGljSW5wdXRDb2x1bW5zAElkAElkX0lzTnVsbABTdGF0aWNPdXRwdXRD
b2x1bW5zAFNjcmlwdENvbXBvbmVudFBsdXMARmluaXNoT3V0cHV0cwBNYXJrT3V0cHV0c0Zpbmlz
aGVkAFByaW1lT3V0cHV0AE91dHB1dHMAT3V0cHV0SURzAEJ1ZmZlcnMAQ3JlYXRlTmV3T3V0cHV0
Um93cwBQYXJlbnRDb21wb25lbnQATWljcm9zb2Z0LlNxbFNlcnZlci5EVFNSdW50aW1lV3JhcABN
aWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lLldyYXBwZXIASURUU0Nvbm5lY3Rpb25NYW5h
Z2VyMTAwAGdldF9Db25uZWN0aW9uAENvbm5lY3Rpb24AVmFsaWRhdGUAZXJyTWVzc2FnZQBHZXRQ
cm9wZXJ0aWVzAEdldE9iamVjdExpc3QAc2V0X0Nvbm5lY3Rpb24AdmFsdWUAZ2V0X1NhbGVzZm9y
Y2VPYmplY3QAc2V0X1NhbGVzZm9yY2VPYmplY3QAZ2V0X0lzU3RhcnREYXRlVmFyaWFibGUAc2V0
X0lzU3RhcnREYXRlVmFyaWFibGUARGF0ZVRpbWUAZ2V0X1N0YXJ0RGF0ZQBzZXRfU3RhcnREYXRl
AGdldF9TdGFydERhdGVWYXJpYWJsZQBzZXRfU3RhcnREYXRlVmFyaWFibGUAZ2V0X0lzRW5kRGF0
ZVZhcmlhYmxlAHNldF9Jc0VuZERhdGVWYXJpYWJsZQBnZXRfRW5kRGF0ZQBzZXRfRW5kRGF0ZQBn
ZXRfRW5kRGF0ZVZhcmlhYmxlAHNldF9FbmREYXRlVmFyaWFibGUAZ2V0X0Nvbm5lY3Rpb25UeXBl
AEZpcmVFcnJvcl8AbWVzc2FnZQBHZXRWYXJpYWJsZV8AdmFyTmFtZQBHZXREYXRlXwBkYXRlU3Ry
AGlzVmFyAG1fc2ZvcmNlQ29ubmVjdGlvbgBtX29iamVjdABtX2lzU3RhcnREYXRlVmFyAG1fc3Rh
cnREYXRlAG1faXNFbmREYXRlVmFyAG1fZW5kRGF0ZQBTYWxlc2ZvcmNlT2JqZWN0AElzU3RhcnRE
YXRlVmFyaWFibGUAU3RhcnREYXRlAFN0YXJ0RGF0ZVZhcmlhYmxlAElzRW5kRGF0ZVZhcmlhYmxl
AEVuZERhdGUARW5kRGF0ZVZhcmlhYmxlAENvbm5lY3Rpb25UeXBlAFN5c3RlbS5SZXNvdXJjZXMA
UmVzb3VyY2VNYW5hZ2VyAF9yZXNNZ3IAU3lzdGVtLkdsb2JhbGl6YXRpb24AQ3VsdHVyZUluZm8A
X3Jlc0N1bHR1cmUAZ2V0X1Jlc291cmNlTWFuYWdlcgBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQBD
dWx0dXJlAFN5c3RlbS5Db25maWd1cmF0aW9uAEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAG1fVmFs
dWUAbV9TeW5jT2JqZWN0AGdldF9WYWx1ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJv
d3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBp
bGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlk
ZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5k
YXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25l
bnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGls
ZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRs
ZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxl
Y3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBD
b21WaXNpYmxlQXR0cmlidXRlAFN0cmluZwBzZXRfSXRlbQBTZXROdWxsAEludmFsaWRPcGVyYXRp
b25FeGNlcHRpb24AU2NyaXB0QnVmZmVyAENMU0NvbXBsaWFudEF0dHJpYnV0ZQBHZXRPdXRwdXRJ
RABNaWNyb3NvZnQuU3FsU2VydmVyLkRUU1BpcGVsaW5lV3JhcABNaWNyb3NvZnQuU3FsU2VydmVy
LkR0cy5QaXBlbGluZS5XcmFwcGVyAElEVFNDb21wb25lbnRNZXRhRGF0YTEwMABnZXRfQ29tcG9u
ZW50TWV0YURhdGEASURUU1J1bnRpbWVDb25uZWN0aW9uQ29sbGVjdGlvbjEwMABnZXRfUnVudGlt
ZUNvbm5lY3Rpb25Db2xsZWN0aW9uAElEVFNSdW50aW1lQ29ubmVjdGlvbjEwMABnZXRfSXRlbQBn
ZXRfQ29ubmVjdGlvbk1hbmFnZXIASVNmb3JjZUNvbm5lY3Rpb24AQ296eVJvYy5TZm9yY2UAQ296
eVJvYy5TZm9yY2UuU2VydmljZQBTZm9yY2VTZXJ2aWNlAEV4Y2VwdGlvbgBBY3F1aXJlQ29ubmVj
dGlvbgBDb25uZWN0AEdldFVwZGF0ZWRSZXN1bHQAZ2V0VXBkYXRlZABnZXRfaWRzAFByb2plY3RE
YXRhAFNldFByb2plY3RFcnJvcgBnZXRfTWVzc2FnZQBDbGVhclByb2plY3RFcnJvcgBDbG9zZQBJ
c051bGxPckVtcHR5AEFwcGxpY2F0aW9uRXhjZXB0aW9uAHNldF9Db25uZWN0aW9uTWFuYWdlcklE
AFN5c3RlbS5Db2xsZWN0aW9ucwBBcnJheUxpc3QAQWRkAEludGVyYWN0aW9uAElJZgBBcnJheQBU
b0FycmF5AERlc2NyaWJlR2xvYmFsUmVzdWx0AERlc2NyaWJlR2xvYmFsU09iamVjdFJlc3VsdABN
aWNyb3NvZnQuU3FsU2VydmVyLk1hbmFnZWREVFMATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUnVu
dGltZQBnZXRfRGVzaWduQ29ubmVjdGlvbnMAQ29ubmVjdGlvbk1hbmFnZXIAZGVzY3JpYmVHbG9i
YWwAZ2V0X3NvYmplY3RzAGdldF9xdWVyeWFibGUAZ2V0X25hbWUAU29ydABFbXB0eQBDb252ZXJ0
AFRvRGF0ZVRpbWUARmlyZUVycm9yAElEVFNWYXJpYWJsZXMxMDAASURUU1ZhcmlhYmxlRGlzcGVu
c2VyMTAwAGdldF9WYXJpYWJsZURpc3BlbnNlcgBMb2NrT25lRm9yUmVhZABJRFRTVmFyaWFibGUx
MDAAVW5sb2NrAFNTSVNTY3JpcHRDb21wb25lbnRFbnRyeVBvaW50QXR0cmlidXRlAENvenlSb2Mu
U3FsU2VydmVyLlNTSVMuQXR0cmlidXRlcwBGaWx0ZXJQcm9wZXJ0aWVzQXR0cmlidXRlAFZhbGlk
YXRlUHJvcGVydGllc0F0dHJpYnV0ZQBTb3J0UHJvcGVydGllc0F0dHJpYnV0ZQBEZXNjcmlwdGlv
bkF0dHJpYnV0ZQBDYXRlZ29yeUF0dHJpYnV0ZQBOb25Fc3NlbnRpYWxBdHRyaWJ1dGUAUmVmcmVz
aFByb3BlcnRpZXNBdHRyaWJ1dGUAUmVmcmVzaFByb3BlcnRpZXMAVmFyaWFibGVBdHRyaWJ1dGUA
TGlzdEF0dHJpYnV0ZQBDb25uZWN0aW9uQXR0cmlidXRlAFN5c3RlbS5SZWZsZWN0aW9uAEFzc2Vt
Ymx5AGdldF9Bc3NlbWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IARW50ZXIARXhpdABEZWJ1
Z2dlck5vblVzZXJDb2RlQXR0cmlidXRlAFNjcmlwdENvbXBvbmVudF80OGY0NTI3MDFhMDE0YjYx
OTExMTU1YzU1ZDJlYjljZi52YnByb2ouUmVzb3VyY2VzLnJlc291cmNlcwBDb21waWxhdGlvblJl
bGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAFN5c3RlbS5S
dW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0RnJhbWV3b3JrQXR0cmlidXRlAEFzc2VtYmx5RmlsZVZl
cnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJpYnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBB
c3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1i
bHlDb21wYW55QXR0cmlidXRlAEFzc2VtYmx5RGVzY3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlU
aXRsZUF0dHJpYnV0ZQBTY3JpcHRDb21wb25lbnRfNDhmNDUyNzAxYTAxNGI2MTkxMTE1NWM1NWQy
ZWI5Y2YudmJwcm9qLmRsbAAAgJtJAHMATgB1AGwAbAAgAHAAcgBvAHAAZQByAHQAeQAgAGMAYQBu
AG4AbwB0ACAAYgBlACAAcwBlAHQAIAB0AG8AIABGAGEAbABzAGUALgAgAEEAcwBzAGkAZwBuACAA
YQAgAHYAYQBsAHUAZQAgAHQAbwAgAHQAaABlACAAYwBvAGwAdQBtAG4AIABpAG4AcwB0AGUAYQBk
AC4AAAVJAGQAAA1PAHUAdABwAHUAdAAAFUMAbwBuAG4AZQBjAHQAaQBvAG4AADtTAGUAbABlAGMA
dAAgAFMAYQBsAGUAcwBmAG8AcgBjAGUAIABjAG8AbgBuAGUAYwB0AGkAbwBuAC4AAB1TAGUAbABl
AGMAdAAgAG8AYgBqAGUAYwB0AC4AACdTAHAAZQBjAGkAZgB5ACAAcwB0AGEAcgB0ACAAZABhAHQA
ZQAuAAAjUwBwAGUAYwBpAGYAeQAgAGUAbgBkACAAZABhAHQAZQAuAAAhUwBhAGwAZQBzAGYAbwBy
AGMAZQBPAGIAagBlAGMAdAAAJ0kAcwBTAHQAYQByAHQARABhAHQAZQBWAGEAcgBpAGEAYgBsAGUA
ACNTAHQAYQByAHQARABhAHQAZQBWAGEAcgBpAGEAYgBsAGUAABNTAHQAYQByAHQARABhAHQAZQAA
I0kAcwBFAG4AZABEAGEAdABlAFYAYQByAGkAYQBiAGwAZQAAH0UAbgBkAEQAYQB0AGUAVgBhAHIA
aQBhAGIAbABlAAAPRQBuAGQARABhAHQAZQAADVMARgBPAFIAQwBFAAA7UwBhAGwAZQBzAGYAbwBy
AGMAZQAgAEcAZQB0ACAAVQBwAGQAYQB0AGUAZAAgAFMAbwB1AHIAYwBlAAAxTQB5AC4AUgBlAHMA
bwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAKNih5ZoKtFIm6jcgayXfKsACLd6
XFYZNOCJCLA/X38R1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYV
EhgBEhEEAAASFAcGFRIYARIUBAgAEgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4C
HgAHEAEBHgAeAAcwAQEBEB4AAhMABCAAEwAHBhUSGQETAAQoABMACBbPSQu4DDTqCImEXc2AgMyR
CyAFARIhCAISJRIpBCAAHQ4EIAEBDgQgAQECAyAAAgQoAB0OAygADgMoAAIDBhIkAwYSKAMGEhwL
IAQBCB0IHRIlEikDBhIhBSABARIhBCAAEjEEKAASMQUgAQIQDgQgABE1BSABARE1BCABHA4GIAIR
NQ4CAgYOAgYCBCgAETUDBhI5AwYSPQQAABI5BAAAEj0FAAEBEj0ECAASOQQIABI9AwYSNAIGHAQA
ABI0BAgAEjQFIAEBEUkIAQABAAAAAAAFIAIBDg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABAEA
AAAGFRIYARIMBhUSGAESCAYVEhgBEhEGFRIYARIUBAcBEgwEBwESCAQHARIRBAcBEhQTAQAOTXku
QXBwbGljYXRpb24AABABAAtNeS5Db21wdXRlcgAADAEAB015LlVzZXIAABMBAA5NeS5XZWJTZXJ2
aWNlcwAABAABHBwDBwECAwcBCAYAARIVEWUEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4O
Dg5hAQA0U3lzdGVtLldlYi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2Nv
bBJDcmVhdGVfX0luc3RhbmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMA
BAoBEwAFIAEBEwAIBwMTABMAEwAFAQAAAAAEBwEdDgUgAgEIHAQgAQEIBgcCHQ4dDgYAAggSKQ4E
BwIICAUgABKAhQUgABKAiQYgARKAjRwEBwESMQQgARwcAyAAHAwgAxKAnQ4RgKERgKEGAAEBEoCZ
FwcKEoCRETUdDhE1EoCVEoCZDggdDhIcBAABAg4HBwMCAhKAmQQgAQgcBgADHAIcHAcgARKAtRIV
Ah0OBwcCHQ4SgK0FIAASgMEGIAESgMUcBSAAEoC5BiAAHRKAvRgHCBKAkR0OEoCtEoCVEoC5EoC9
CB0SgL0FAAERNQ4GBwIRNRE1CiAGAQgODg4IEAIFIAASgNEIIAIBDhASgM0GIAESgNUcBwcDHBwS
gM0SAQANR2V0UHJvcGVydGllcwAADQEACFZhbGlkYXRlAAAFIAEBHQ5+AQAIAAAACkNvbm5lY3Rp
b24QU2FsZXNmb3JjZU9iamVjdBNJc1N0YXJ0RGF0ZVZhcmlhYmxlCVN0YXJ0RGF0ZRFTdGFydERh
dGVWYXJpYWJsZRFJc0VuZERhdGVWYXJpYWJsZQdFbmREYXRlD0VuZERhdGVWYXJpYWJsZQAAGAEA
E1NwZWNpZnkgc3RhcnQgZGF0ZS4AAA0BAAhTZXR0aW5ncwAABiABARGA+UIBAD1TcGVjaWZpZXMg
aWYgU3RhcnREYXRlIHBhcmFtZXRlciByZWZlcmVuY2VzIHBhY2thZ2UgdmFyaWFibGUuAAAWAQAR
U3BlY2lmeSBlbmQgZGF0ZS4AAEABADtTcGVjaWZpZXMgaWYgRW5kRGF0ZSBwYXJhbWV0ZXIgcmVm
ZXJlbmNlcyBwYWNrYWdlIHZhcmlhYmxlLgAALgEAKVNwZWNpZmllcyB2YXJpYWJsZSBjb250YWlu
aW5nIHN0YXJ0IGRhdGUuAAASAQANR2V0T2JqZWN0TGlzdAAAHgEAGVNlbGVjdCBTYWxlc2ZvcmNl
IG9iamVjdC4AACwBACdTcGVjaWZpZXMgdmFyaWFibGUgY29udGFpbmluZyBlbmQgZGF0ZS4AABMB
AA5Db25uZWN0aW9uVHlwZQAAKgEAJVNlbGVjdCBTYWxlc2ZvcmNlIENvbm5lY3Rpb24gTWFuYWdl
ci4AAAUgABKBCQcgAgEOEoEJBgcCEjkSOQQHARI9CAEAAgAAAAAABAABARwEBwESNAgBAAgAAAAA
AB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlvblRocm93cwFHAQAaLk5FVEZyYW1ld29yayxWZXJzaW9u
PXY0LjABAFQOFEZyYW1ld29ya0Rpc3BsYXlOYW1lEC5ORVQgRnJhbWV3b3JrIDQMAQAHMS4wLjAu
MAAAKQEAJGY3NDdmODBmLWRiZDItNGVhYS1hZmJlLTE4OGI1MGRjNjY3NAAABQEAAQAAHwEAGkNv
cHlyaWdodCBAIE1pY3Jvc29mdCAyMDEzAAA8AQA3U2NyaXB0Q29tcG9uZW50XzQ4ZjQ1MjcwMWEw
MTRiNjE5MTExNTVjNTVkMmViOWNmLnZicHJvagAADgEACU1pY3Jvc29mdAAAAAAAdFYAAAAAAAAA
AAAAjlYAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBWAAAAAAAAAAAAAAAAX0NvckRsbE1haW4A
bXNjb3JlZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAAgAAAAAAA
AAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAABoBAAAAAAAAAAA
AABoBDQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAAAAEAAAAA
AAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQByAEYAaQBsAGUA
SQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAEyAMAAAEAUwB0
AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAApAMAAAEAMAAwADAAMAAwADQAYgAwAAAANAAKAAEA
QwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAABNAGkAYwByAG8AcwBvAGYAdAAAAJgAOAABAEYAaQBs
AGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4A
dABfADQAOABmADQANQAyADcAMAAxAGEAMAAxADQAYgA2ADEAOQAxADEAMQA1ADUAYwA1ADUAZAAy
AGUAYgA5AGMAZgAuAHYAYgBwAHIAbwBqAAAAMAAIAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAA
AAAxAC4AMAAuADAALgAwAAAAmAA8AAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABTAGMAcgBp
AHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADQAOABmADQANQAyADcAMAAxAGEAMAAxADQAYgA2ADEA
OQAxADEAMQA1ADUAYwA1ADUAZAAyAGUAYgA5AGMAZgAuAHYAYgBwAHIAbwBqAC4AZABsAGwAAABc
ABsAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIAaQBnAGgAdAAgAEAA
IABNAGkAYwByAG8AcwBvAGYAdAAgADIAMAAxADMAAAAAAKAAPAABAE8AcgBpAGcAaQBuAGEAbABG
AGkAbABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADQAOABmADQA
NQAyADcAMAAxAGEAMAAxADQAYgA2ADEAOQAxADEAMQA1ADUAYwA1ADUAZAAyAGUAYgA5AGMAZgAu
AHYAYgBwAHIAbwBqAC4AZABsAGwAAACQADgAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMA
YwByAGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8ANAA4AGYANAA1ADIANwAwADEAYQAwADEANABi
ADYAMQA5ADEAMQAxADUANQBjADUANQBkADIAZQBiADkAYwBmAC4AdgBiAHAAcgBvAGoAAAA0AAgA
AQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBz
AHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAMAAAAoDYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></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_48f452701a014b61911155c55d2eb9cf</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><connections><connection id="14" name="Connection" connectionManagerID="{A7F68B7F-D7CD-46A9-B760-CB9522012248}" /></connections><outputs><output id="15" name="Output" hasSideEffects="true"><outputColumns><outputColumn id="16" name="Id" lineageId="16" length="18" dataType="wstr" /></outputColumns><externalMetadataColumns /></output></outputs></component>