<component id="1" name="Salesforce Get Deleted Source" componentClassID="{2E42D45B-F83C-400F-8D77-61DDE6A7DF29}" description="Executes a custom script." localeId="1033" usesDispositions="false" validateExternalMetadata="True" version="4" pipelineVersion="0" contactInfo="Executes a custom script.;Microsoft Corporation;Microsoft SqlServer v9; © 2004 Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;0">
<properties>
<property id="5" name="SourceCode" dataType="System.String" state="cdata" isArray="true" description="Stores the source code of the component" typeConverter="NOTBROWSABLE" UITypeEditor="" containsID="false" expressionType="None"><arrayElements arrayElementCount="18"><arrayElement dataType="System.String"><![CDATA[\my project\settings.designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On



Partial Friend NotInheritable Class MySettings
    Inherits System.Configuration.ApplicationSettingsBase

    Private Shared m_Value As MySettings

    Private Shared m_SyncObject As Object = New Object

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

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

' Review the values of the assembly attributes

<Assembly: AssemblyTitle("ScriptComponent_bc3537ef5e6b480dacf63f6b304becb4.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_bc3537ef5e6b480dacf63f6b304becb4.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("ea4826f0-562e-4634-9c43-2351b0c5cd4b")> 

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

<Assembly: AssemblyVersion("1.0.0.0")> 
<Assembly: AssemblyFileVersion("1.0.0.0")> 
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\my project\settings.settings]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version='1.0' encoding='iso-8859-1'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)" GeneratedClassNamespace="" GeneratedClassName="MySettings">
  <Profiles>
    <Profile Name="(Default)" />
  </Profiles>
  <Settings />
</SettingsFile>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\scriptcomponent_bc3537ef5e6b480dacf63f6b304becb4.vbproj]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!-- This section defines project-level properties.

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

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

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

       Compile - Specifies a source file to compile.
       EmbeddedResource - Specifies a .resx file for embedded resources.
       None - Specifies a file that is not to be passed to the compiler (for instance,
              a text file or XML file).
       AppDesigner - Specifies the directory where the application properties files can
                     be found.
  -->
  <ItemGroup>
    <AppDesigner Include="My Project\" />
    <Compile Include="BufferWrapper.vb" />
    <Compile Include="ComponentWrapper.vb" />
    <Compile Include="main.vb" />
    <Compile Include="My Project\AssemblyInfo.vb">
      <SubType>Code</SubType>
    </Compile>
    <EmbeddedResource Include="My Project\Resources.resx">
      <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.vb</LastGenOutput>
      <CustomToolNamespace>My.Resources</CustomToolNamespace>
    </EmbeddedResource>
    <Compile Include="My Project\Resources.Designer.vb">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <None Include="My Project\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.vb</LastGenOutput>
    </None>
    <Compile Include="My Project\Settings.Designer.vb">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <!-- Include the default configuration information and metadata files for the add-in.
         These files are copied to the build output directory when the project is
         built, and the path to the configuration file is passed to add-in on the command
         line when debugging.
    -->
  </ItemGroup>
  <!-- Include the build rules for a VB project.-->
  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  <!-- This section defines VSTA properties that describe the host-changable project properties. -->
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{A860303F-1F3F-4691-B57E-529FC101A107}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{C1B21C64-9E6F-4923-A89D-9F958503C1CE}" ApplicationType="usd" Language="vb" TemplatesPath="" />
        <Host Name="SSIS_ScriptComponent" />
        <ProjectClient>
          <HostIdentifier>SSIS_ScriptComponent</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\bufferwrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services buffer wrappers
' This module defines classes for accessing data flow buffers
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!


Option Strict Off   ' This allows usage of PipelineBuffer typed accessors.

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class OutputBuffer
    Inherits ScriptBufferPlus

    Public Sub New(ByVal Component As ScriptComponent, ByVal ObjectID As Integer, ByVal IsInput As Boolean, ByVal Buffer As PipelineBuffer)
        MyBase.New(Component, ObjectID, IsInput, Buffer)
    End Sub

    Public Overrides ReadOnly Property StaticInputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public 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 WriteOnly Property [Date]() As DateTime
        Set
            Me(1) = Value
        End Set
    End Property
    Public WriteOnly Property [Date_IsNull] As Boolean
        Set
            If (value)
                SetNull(1)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public Overrides ReadOnly Property StaticOutputColumns() As String()
        Get
            Return New String() {"Id", "Date"}
        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[\my project\resources.designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On


Namespace My.Resources
    
    '''<summary>
    '''   A strongly-typed resource class, for looking up localized strings, etc.
    '''</summary>
    'This class was auto-generated by the Strongly Typed Resource Builder
    'class via a tool like ResGen or Visual Studio.NET.
    'To add or remove a member, edit your .ResX file then rerun ResGen
    'with the /str option, or rebuild your VS project.
    Class MyResources
        
        Private Shared _resMgr As System.Resources.ResourceManager
        
        Private Shared _resCulture As System.Globalization.CultureInfo
        
        Friend Sub New()
            MyBase.New
        End Sub
        
        '''<summary>
        '''   Returns the cached ResourceManager instance used by this class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager
            Get
                If (_resMgr Is Nothing) Then
                    Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly)
                    _resMgr = temp
                End If
                Return _resMgr
            End Get
        End Property
        
        '''<summary>
        '''   Overrides the current thread's CurrentUICulture property for all
        '''   resource lookups using this strongly typed resource class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared Property Culture() As System.Globalization.CultureInfo
            Get
                Return _resCulture
            End Get
            Set
                _resCulture = value
            End Set
        End Property
    End Class
End Namespace
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\componentwrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services component wrapper
' This module defines the base class for your component
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class UserComponent
    Inherits ScriptComponentPlus

    Public Connections As New Connections(Me)
    Public Variables As New Variables(Me)

    Public 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)

        For I As Integer = 0 To Outputs - 1
            If OutputIDs(I) = MyBase.ComponentMetaData.OutputCollection("Output").ID Then
                OutputBuffer = New OutputBuffer(Me, OutputIDs(I), False, Buffers(I))
            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[\my project\resources.resx]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

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

Imports System
Imports System.ComponentModel
Imports System.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 deleted records list.
        Dim deletedList() As DeletedRecord = Nothing
        Dim connection As ISforceConnection = CType( _
            MyBase.Connections.Connection.AcquireConnection(Nothing),  _
            ISforceConnection)
        Try
            Dim service As SforceService = CType(connection.Connect(), SforceService)
            deletedList = service.getDeleted(Me.SalesforceObject, startDate, endDate).deletedRecords
        Catch ex As Exception
            Call FireError_(ex.Message)
        Finally
            Call connection.Close()
        End Try

        If Not deletedList Is Nothing Then
            For Each record As DeletedRecord In deletedList
                With MyBase.OutputBuffer
                    .AddRow()
                    .Id = record.id
                    .Date = record.deletedDate
                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></arrayElements></property>
<property id="6" name="BinaryCode" dataType="System.String" state="cdata" isArray="true" description="Stores the binary representation of the component" typeConverter="NOTBROWSABLE" UITypeEditor="" containsID="false" expressionType="None"><arrayElements arrayElementCount="2"><arrayElement dataType="System.String"><![CDATA[\bin\scriptcomponent_bc3537ef5e6b480dacf63f6b304becb4.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
AAQqABMwAQAJAAAAHAAAEQJ7EAAABAoGKgAAACICA30QAAAEKgAAABMwAwATAAAAHQAAEReNHAAA
AQsHFnJOAgBwogcKBioAEzAHAB0AAAAeAAARFgoCKCcAAAoWclwCAHADfkcAAAoWEgBvSgAACioA
AAAbMAMANAAAAB8AABEUDAJvSwAACgMSAm9MAAAKCANvTQAACm9OAAAKKBEAAAoL3gcIb08AAArc
BygRAAAKCgYqAQwAAAIAEAAUJAAHAAAAARMwAgAkAAAAIAAAEQMoOAAACi0YBCwOAgNvOgAABm8V
AAAKEAEDKEgAAAoLBwoGKh4CKBcAAAoqEzACAC0AAAAhAAARfhEAAAQtIHKYAgBw0AwAAAIoFAAA
Cm9bAAAKc1wAAAoLB4ARAAAEfhEAAAQqAAAAEzABAAYAAAAiAAARfhIAAAQqAAAeAoASAAAEKkJz
FwAACigRAAAKgBQAAAQqAAAAHgIoXQAACiobMAEAPwAAACMAABF+EwAABC0yfhQAAAQoEQAACihe
AAAKfhMAAAQtHHNBAAAGgBMAAATeEH4UAAAEKBEAAAooXwAACtx+EwAABCoAAQwAAAIAHQAMKQAQ
AAAAAUJTSkIBAAEAAAAAAAwAAAB2Mi4wLjUwNzI3AAAAAAUAbAAAABwPAAAjfgAAiA8AAOgSAAAj
U3RyaW5ncwAAAABwIgAAzAIAACNVUwA8JQAAEAAAACNHVUlEAAAATCUAABQHAAAjQmxvYgAAAAAA
AAACAAABVxWiCQkPAAAA+gEzABYAAAEAAABPAAAADQAAABQAAABCAAAAHgAAAGoAAABUAAAAIwAA
AAcAAAAYAAAAIQAAAAoAAAABAAAACgAAAAEAAAACAAAAAwAAAAIAAAAAAKkSAQAAAAAACgCqAYAB
CgDeAcABBgDuAecBCgBGAoABBgDEAucBCgBGAxwDDgCYA4EDEgDnA8YDFgAYBMYDBgB7BOcBDgAc
BYEDGgDnBb8FBgCcCIsIBgDJCLQIHgAqCRUJHgB3CWEJHgCQCWEJHgC9CaUJBgDnCdQJCgAmCv8J
CgA+ChMAHgBzClYKBgCoCogKBgDGCucBBgDqCucBCgADCxMABgBHCygLBgBbC+cBBgBzC+cBEgCN
C8YDBgCaC+cBIgD9C9QLIgAsDNQLIgBZDNQLIgB3DNQLIgC6DNQLDgDpDIEDJgAhDQoNJgAvDQoN
BgA9DecBJgBhDQoNCgCQDf8JBgD1DecBBgA1DiIOCgBDDhMABgBTDucBJgBhDgoNJgB2DgoNKgAD
AbEOKgDnDrEOBgA3D+cBGgBUD78FGgBlD78FGgCjD78FEgC6D8YDDgADEOEPDgAdEOEPDgA5EOEP
DgBREOEPHgBnEGEJHgCCEGEJHgCUEGEJHgCpEGEJDgC7EOEPDgDJEOEPDgDdEOEPBgABEe8QBgAo
ERcRBgA7EdQJBgCkEYgKBgDEEYgKBgDiEe8QBgD/ESgLBgANEu8QBgAoEu8QBgBDEu8QBgBcEu8Q
BgB1Eu8QBgCSEu8QAAAAAAEAAAAAAAEAAQAAAAAAKQA3AAUAAQABAAAAAAByADcACQABAAIAAAEQ
AH0ANwANAAEAAwAFAQAAhwAAAA0ABQAIAAUBAACVAAAADQAFAA8AAQAAALAAvQAdAAYAEQABAAAA
9QC9AC0ABgAbAAEAAAADAb0ADQAJACAAAQAAAA8BvQANAAoAIgABAAAAGQG9ACAACwAjAAAAAAAk
ATABDQARADwAAAEQAHUBvQA9ABMAQAAxAAkCIAAxADICLQAxAFQCOgAxAHkCRwAhAFUDkAAGAAMB
5AAGAA8B6AAGALAA7AABAIwF+gABAIwF+gABAL8HJQEBANIHJQEBANsHKAEBAOwHJQEBAPgHKAEB
AAcIJQERAKwIKwERANUILwERAEIJTQERAEoJUQEIIQAAAAAGGLoBEwABABAhAAAAAAYYugETAAEA
GCEAAAAAERj1ARcAAQBEIQAAAAATCPwBGwABAFwhAAAAABMIIgIoAAEAdCEAAAAAEwhLAjUAAQCM
IQAAAAATCGkCQgABAKQhAAAAAEYCrwJjAAEAwCEAAAAARgK4AmgAAgDUIQAAAACDAMkCbAACAOwh
AAAAAEYC0QJxAAIAACIAAAAAEQDaAngAAgAcIgAAAAABAPgCgAADADgiAAAAAAYYugETAAQAQCIA
AAAAAwgMA4sABAB0IgAAAAAGGLoBEwAEAIgiAAAAAAYYugGvAAQAmCIAAAAARgpJBLkACACsIgAA
AAAGCGAEvgAIALgiAAAAAAYIbQTDAAkA1CIAAAAABgiEBMgACgDkIgAAAAAGCI0EwwALAAAjAAAA
AEYKnQS5AAwAKCMAAAAAhgC1BBMADAAwIwAAAACGALwEEwAMADgjAAAAAIYAywTOAAwAUCMAAAAA
Bhi6ARMADABwIwAAAABGAzAFEwAMAHQjAAAAAAEAPgUTAAwAkCMAAAAARgJSBfAADAD0IwAAAABG
A3gFEwAPAPgjAAAAAAYYugH+AA8ACCQAAAAABggABgQBEAA0JAAAAAAGGLoB/gAQAEQkAAAAAAYY
ugETABEATCQAAAAARgJ4BRMAEQBUJQAAAAAGABoGDgERABAmAAAAAAYALga5ABIArCYAAAAABgA8
BrkAEgBgJwAAAAAGCAAGcQASAHgnAAAAAAYISga+ABIAhCcAAAAABghfBnEAEwCcJwAAAAAGCHQG
vgATAKgnAAAAAAYIiQbOABQAwCcAAAAABgihBsMAFADgJwAAAAAGCLkGFAEVAAwoAAAAAAYIxwbI
ABUAHCgAAAAABgjVBnEAFgA0KAAAAAAGCOsGvgAWAEAoAAAAAAYIAQfOABcAWCgAAAAABggXB8MA
FwB4KAAAAAAGCC0HFAEYAKQoAAAAAAYIOQfIABgAtCgAAAAABghFB3EAGQDMKAAAAAAGCFkHvgAZ
ANgoAAAAAAEIbQe5ABoA+CgAAAAAAQCAB74AGgAkKQAAAAABAJMHGQEbAHQpAAAAAAEAqAceARwA
pCkAAAAAAxi6ARMAHgCsKQAAAAAWCOEIMwEeAOgpAAAAABYI9Qg4AR4A/CkAAAAAFggBCT0BHgAE
KgAAAAARGPUBFwAfABgqAAAAAAYYugETAB8AICoAAAAAFghXCVQBHwAAAAEAtgIAAAEA7wIAAAEA
7wIAAAEAJwQAAAIAMQQAAAMAOgQAAAQAQgQAAAEAZwQAAAEAZwQAAAEAZwQAAAEAZwQAAAEAXgUA
AAIAZgUAAAMAcAUAAAEAJwQAAAEAJwQAAAEAIwYAAAEAWQYAAAEAWQYAAAEAWQYAAAEAWQYAAAEA
WQYAAAEAWQYAAAEAWQYAAAEAWQYAAAEAiwcAAAEAoAcAAAEAsQcAAAIAuQcAAAEAZwQJALoBEwCB
ALoBXgGRALoBbQERALoBEwCZALoBEwAkALoBEwAsALoBEwA0ALoBEwA8ALoBEwAkAAwDiwAsAAwD
iwA0AAwDiwA8AAwDiwChALoBEwCpALoBEwCxALoBvgC5ALcKBgIZAK8CYwAZALgCaAApANgKEwIZ
ANECcQDJAPQKIwIZALoBEwDRALoBMwJEAFUDkABMAFcJiwBMAB4LsAJMALoBEwDZALoBwwA5ALoB
rwA5AGILyAI5AGsLzgLpALoBvgDxALUEEwDxALwEEwDxAMsEzgD5ALoBwwBZALoBEwBBABYM2gIB
AUQM4AIJAWcM5gIRAXAMaAABAZoM8gIZAWcM+AIhAdMMBAFhAEcNBAMpAVkNCQM5AXINDQNJAX0N
GANRAZwNHwNBAawNcQBRAbgNFwApAcoNEwAxAdANcQAxAdcNFAHhAOcNRANZAboBvgAhAQoOvgBh
AboBEwBhAT8OUQNpAU8OVgNhAVkOXQNZANEOcAOJAWcMdgORAUcNBAM5AfkOfQN5AQgPgwOBARUP
zgCBASMPcQBhASwPEwDhADEPJQGZAT8PowNRANECcQABAUoPsANBAH4PuwOpAZQPwQOhAWcMygOx
AVcJCQOhAbMPEwC5AboBEwDBAboBvgDJAboBvgDRAboB+gPZAboBEwDhAboBfwTxAboBvgD5AboB
vgABAroBvgAJAroBvgARAroBEwApAAoRFQZpALoBGwZ5ALoBEwAhAjAROAYhAjYROAYpAroBEwAx
AroBzgI5AroBEwBBAroBvgBJAroBvgBRAroBvgBZAroBvgBhAroBvgBpAroBvgBxAroBvgB5AroB
vgApAIMA1AEuAEsDvQIuACsDvQIuAEMDBAcuAFMDxwYuACsBoQYuADMDpwYuADsDxwYuAAsDQgYu
ABMDSwYuABsDagYuACMDdwYuAOsAvQJAACsAiwFAABMAZAFDABMAZAFDABsAcwFJAIMAwAFjABsA
cwFjABMAZAFpAIMA5QGAACsAiwGDABsAcwGDAHMAiwGDAHsAiwGJAIMA8gGgACsAiwGjAMMAOwKj
ABMAZAHAACsAiwHDAOsAvQLDABMAZAHgACsAiwHjACsBvQIAASsAiwEAARMAZAEDASsBvQIgASsA
iwEgARMAZAFAASsAiwFAARMAZAFgARMAZAFgASsAiwFjAYMCiwFjAZMC7ANjAZsCAARjAYsC2QNj
ASsBvQKAASsAiwGgASsAiwGpAbMCGwWpAbsCxwSpAcsCBwXAARMAZAHAASsAiwHJAcMC1QTJAbsC
xwTJAbMC6ATgASsAiwHpAaMCiwHpAbsCxwTpAasCZAHpAbMCuwUAAhMAZAEAAisAiwEJArsCxwQJ
ArMCogUpArsCxwQpAtMCiwEpArMCRgVJArsCxwRJAqMCiwFJAqsCZAFJArMChgRpArMC/gVpArsC
xwSJAtMCiwGJArMCdQWJArsCxwTJAhMALwbpAhMALwYJAwMDiwEABCsBvQJABCsBvQKsAbEBtgG7
AQsCDwIaAh8CLgIuArYCwwLTAgsC7QL/AiYDSQNoA4oDHwIfAgsCqQMfAgsCqQMfAtMCCwLRA6kD
IwYqBj0GBAABAAYABQAHAAYACQAMAAsADQAMABYADQAYAAAA3gFPAAAAlwJUAAAARgJZAAAAowJe
AAAAXwOYAAAA1wTSAAAA6gTXAAAA7QTbAAAA9wTfAAAA/ATbAAAACAXSAAAADwYJAQAADwbXAAAA
EQjXAAAAIgjbAAAANgjfAAAAQAjXAAAAUgjbAAAAZAjfAAAAbAjXAAAAfAjSAAAAnAhDAQAADQlI
AQAAZwRZAQIABAADAAIABQAFAAIABgAHAAIABwAJAAIADwALAAIAEgANAAEAEwAPAAEAFAARAAEA
FQATAAEAFgAVAAIAFwAXAAIAIQAZAAIAKAAbAAEAKQAbAAIAKgAdAAEAKwAdAAIALAAfAAEALQAf
AAIALgAhAAEALwAhAAIAMAAjAAEAMQAjAAIAMgAlAAEAMwAlAAIANAAnAAEANQAnAAIANgApAAEA
NwApAAIAOAArAAIAPQAtAAIAPgAvAAEAPwAvAAIAQgAxAHUAdQCIAJABlwGeAaUBnQKkAmUDBIAA
AAEAAAAAAAAAAAAAAAAAvQAAAAIAAAAAAAAAAAAAAAEACgAAAAAACAAAAAAAAAAAAAAACgATAAAA
AAABAAAAAAAAAAAAAACdAGsDAAAAAAoAAAAAAAAAAAAAAKYAqQMAAAAACgAAAAAAAAAAAAAApgD3
AwAAAAAKAAAAAAAAAAAAAACmAJwFAAAAAAIAAAAAAAAAAAAAAAEA5wEAAAAACgAAAAAAAAAAAAAA
pgCwCwAAAAABAAAAAAAAAAAAAACdAPsMAAAAAAoAAAAAAAAAAAAAAKYAkg4AAAAAAAAAAAEAAABY
EQAABQAEAAYABAAAABAADADtAgAAEAAZAO0CAAAAABsA7QItACkCLQCrAgAAAAAAPE1vZHVsZT4A
bXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRpb24AU2NyaXB0Q29tcG9u
ZW50X2JjMzUzN2VmNWU2YjQ4MGRhY2Y2M2Y2YjMwNGJlY2I0LnZicHJvai5NeQBNeUNvbXB1dGVy
AE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAxAE91dHB1
dEJ1ZmZlcgBTY3JpcHRDb21wb25lbnRfYmMzNTM3ZWY1ZTZiNDgwZGFjZjYzZjZiMzA0YmVjYjQu
dmJwcm9qAFVzZXJDb21wb25lbnQAQ29ubmVjdGlvbnMAVmFyaWFibGVzAFNjcmlwdE1haW4ATXlS
ZXNvdXJjZXMAU2NyaXB0Q29tcG9uZW50X2JjMzUzN2VmNWU2YjQ4MGRhY2Y2M2Y2YjMwNGJlY2I0
LnZicHJvai5NeS5SZXNvdXJjZXMATXlTZXR0aW5ncwBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQXBw
bGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWljcm9zb2Z0LlZpc3VhbEJh
c2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IAZ2V0X0NvbXB1dGVyAG1f
Q29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9BcHBPYmplY3RQcm92aWRl
cgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9XZWJTZXJ2aWNlcwBtX015
V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJTZXJ2aWNlcwBFcXVhbHMA
bwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRlX19JbnN0YW5jZV9fAFQA
aW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFuY2UATWljcm9zb2Z0LlZp
c3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVlYDEAbV9Db250ZXh0AEdl
dEluc3RhbmNlAENvenlSb2MuU1NJU1BsdXMuMjAwOABDb3p5Um9jLlNxbFNlcnZlci5TU0lTAFNj
cmlwdEJ1ZmZlclBsdXMATWljcm9zb2Z0LlNxbFNlcnZlci5UeFNjcmlwdABNaWNyb3NvZnQuU3Fs
U2VydmVyLkR0cy5QaXBlbGluZQBTY3JpcHRDb21wb25lbnQATWljcm9zb2Z0LlNxbFNlcnZlci5Q
aXBlbGluZUhvc3QAUGlwZWxpbmVCdWZmZXIAQ29tcG9uZW50AE9iamVjdElEAElzSW5wdXQAQnVm
ZmVyAGdldF9TdGF0aWNJbnB1dENvbHVtbnMAc2V0X0lkAFZhbHVlAHNldF9JZF9Jc051bGwARGF0
ZVRpbWUAc2V0X0RhdGUAc2V0X0RhdGVfSXNOdWxsAGdldF9TdGF0aWNPdXRwdXRDb2x1bW5zAEFk
ZFJvdwBTZXRFbmRPZlJvd3NldABFbmRPZlJvd3NldABTdGF0aWNJbnB1dENvbHVtbnMASWQASWRf
SXNOdWxsAERhdGUARGF0ZV9Jc051bGwAU3RhdGljT3V0cHV0Q29sdW1ucwBTY3JpcHRDb21wb25l
bnRQbHVzAEZpbmlzaE91dHB1dHMATWFya091dHB1dHNGaW5pc2hlZABQcmltZU91dHB1dABPdXRw
dXRzAE91dHB1dElEcwBCdWZmZXJzAENyZWF0ZU5ld091dHB1dFJvd3MAUGFyZW50Q29tcG9uZW50
AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRFRTUnVudGltZVdyYXAATWljcm9zb2Z0LlNxbFNlcnZlci5E
dHMuUnVudGltZS5XcmFwcGVyAElEVFNDb25uZWN0aW9uTWFuYWdlcjEwMABnZXRfQ29ubmVjdGlv
bgBDb25uZWN0aW9uAFZhbGlkYXRlAGVyck1lc3NhZ2UAR2V0UHJvcGVydGllcwBHZXRPYmplY3RM
aXN0AHNldF9Db25uZWN0aW9uAHZhbHVlAGdldF9TYWxlc2ZvcmNlT2JqZWN0AHNldF9TYWxlc2Zv
cmNlT2JqZWN0AGdldF9Jc1N0YXJ0RGF0ZVZhcmlhYmxlAHNldF9Jc1N0YXJ0RGF0ZVZhcmlhYmxl
AGdldF9TdGFydERhdGUAc2V0X1N0YXJ0RGF0ZQBnZXRfU3RhcnREYXRlVmFyaWFibGUAc2V0X1N0
YXJ0RGF0ZVZhcmlhYmxlAGdldF9Jc0VuZERhdGVWYXJpYWJsZQBzZXRfSXNFbmREYXRlVmFyaWFi
bGUAZ2V0X0VuZERhdGUAc2V0X0VuZERhdGUAZ2V0X0VuZERhdGVWYXJpYWJsZQBzZXRfRW5kRGF0
ZVZhcmlhYmxlAGdldF9Db25uZWN0aW9uVHlwZQBGaXJlRXJyb3JfAG1lc3NhZ2UAR2V0VmFyaWFi
bGVfAHZhck5hbWUAR2V0RGF0ZV8AZGF0ZVN0cgBpc1ZhcgBtX3Nmb3JjZUNvbm5lY3Rpb24AbV9v
YmplY3QAbV9pc1N0YXJ0RGF0ZVZhcgBtX3N0YXJ0RGF0ZQBtX2lzRW5kRGF0ZVZhcgBtX2VuZERh
dGUAU2FsZXNmb3JjZU9iamVjdABJc1N0YXJ0RGF0ZVZhcmlhYmxlAFN0YXJ0RGF0ZQBTdGFydERh
dGVWYXJpYWJsZQBJc0VuZERhdGVWYXJpYWJsZQBFbmREYXRlAEVuZERhdGVWYXJpYWJsZQBDb25u
ZWN0aW9uVHlwZQBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdyAFN5c3Rl
bS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJjZU1hbmFn
ZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAQ3VsdHVyZQBTeXN0ZW0uQ29uZmlndXJhdGlvbgBB
cHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABnZXRfVmFsdWUAU3lz
dGVtLkNvbXBvbmVudE1vZGVsAEVkaXRvckJyb3dzYWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2Fi
bGVTdGF0ZQBTeXN0ZW0uQ29kZURvbS5Db21waWxlcgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5
c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dlckhpZGRlbkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFs
QmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBTdGFuZGFyZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxl
TmFtZUF0dHJpYnV0ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0
cmlidXRlAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0
T2JqZWN0VmFsdWUAUnVudGltZVR5cGVIYW5kbGUAR2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9y
AENyZWF0ZUluc3RhbmNlAE15R3JvdXBDb2xsZWN0aW9uQXR0cmlidXRlAHNldF9WYWx1ZQBTeXN0
ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMAQ29tVmlzaWJsZUF0dHJpYnV0ZQBTdHJpbmcAc2V0
X0l0ZW0AU2V0TnVsbABJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uAFNjcmlwdEJ1ZmZlcgBDTFND
b21wbGlhbnRBdHRyaWJ1dGUATWljcm9zb2Z0LlNxbFNlcnZlci5EVFNQaXBlbGluZVdyYXAATWlj
cm9zb2Z0LlNxbFNlcnZlci5EdHMuUGlwZWxpbmUuV3JhcHBlcgBJRFRTQ29tcG9uZW50TWV0YURh
dGExMDAAZ2V0X0NvbXBvbmVudE1ldGFEYXRhAElEVFNPdXRwdXRDb2xsZWN0aW9uMTAwAGdldF9P
dXRwdXRDb2xsZWN0aW9uAElEVFNPdXRwdXQxMDAAZ2V0X0l0ZW0AZ2V0X0lEAElEVFNSdW50aW1l
Q29ubmVjdGlvbkNvbGxlY3Rpb24xMDAAZ2V0X1J1bnRpbWVDb25uZWN0aW9uQ29sbGVjdGlvbgBJ
RFRTUnVudGltZUNvbm5lY3Rpb24xMDAAZ2V0X0Nvbm5lY3Rpb25NYW5hZ2VyAElTZm9yY2VDb25u
ZWN0aW9uAENvenlSb2MuU2ZvcmNlAENvenlSb2MuU2ZvcmNlLlNlcnZpY2UARGVsZXRlZFJlY29y
ZABTZm9yY2VTZXJ2aWNlAEV4Y2VwdGlvbgBBY3F1aXJlQ29ubmVjdGlvbgBDb25uZWN0AEdldERl
bGV0ZWRSZXN1bHQAZ2V0RGVsZXRlZABnZXRfZGVsZXRlZFJlY29yZHMAUHJvamVjdERhdGEAU2V0
UHJvamVjdEVycm9yAGdldF9NZXNzYWdlAENsZWFyUHJvamVjdEVycm9yAENsb3NlAGdldF9pZABn
ZXRfZGVsZXRlZERhdGUASXNOdWxsT3JFbXB0eQBBcHBsaWNhdGlvbkV4Y2VwdGlvbgBzZXRfQ29u
bmVjdGlvbk1hbmFnZXJJRABTeXN0ZW0uQ29sbGVjdGlvbnMAQXJyYXlMaXN0AEFkZABJbnRlcmFj
dGlvbgBJSWYAQXJyYXkAVG9BcnJheQBEZXNjcmliZUdsb2JhbFJlc3VsdABEZXNjcmliZUdsb2Jh
bFNPYmplY3RSZXN1bHQATWljcm9zb2Z0LlNxbFNlcnZlci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5T
cWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAZ2V0X0Rlc2lnbkNvbm5lY3Rpb25zAENvbm5lY3Rpb25NYW5h
Z2VyAGRlc2NyaWJlR2xvYmFsAGdldF9zb2JqZWN0cwBnZXRfcXVlcnlhYmxlAGdldF9uYW1lAFNv
cnQARW1wdHkAQ29udmVydABUb0RhdGVUaW1lAEZpcmVFcnJvcgBJRFRTVmFyaWFibGVzMTAwAElE
VFNWYXJpYWJsZURpc3BlbnNlcjEwMABnZXRfVmFyaWFibGVEaXNwZW5zZXIATG9ja09uZUZvclJl
YWQASURUU1ZhcmlhYmxlMTAwAFVubG9jawBTU0lTU2NyaXB0Q29tcG9uZW50RW50cnlQb2ludEF0
dHJpYnV0ZQBDb3p5Um9jLlNxbFNlcnZlci5TU0lTLkF0dHJpYnV0ZXMARmlsdGVyUHJvcGVydGll
c0F0dHJpYnV0ZQBWYWxpZGF0ZVByb3BlcnRpZXNBdHRyaWJ1dGUAU29ydFByb3BlcnRpZXNBdHRy
aWJ1dGUATm9uRXNzZW50aWFsQXR0cmlidXRlAFJlZnJlc2hQcm9wZXJ0aWVzQXR0cmlidXRlAFJl
ZnJlc2hQcm9wZXJ0aWVzAERlc2NyaXB0aW9uQXR0cmlidXRlAENhdGVnb3J5QXR0cmlidXRlAExp
c3RBdHRyaWJ1dGUAQ29ubmVjdGlvbkF0dHJpYnV0ZQBWYXJpYWJsZUF0dHJpYnV0ZQBTeXN0ZW0u
UmVmbGVjdGlvbgBBc3NlbWJseQBnZXRfQXNzZW1ibHkAU3lzdGVtLlRocmVhZGluZwBNb25pdG9y
AEVudGVyAEV4aXQARGVidWdnZXJOb25Vc2VyQ29kZUF0dHJpYnV0ZQBTY3JpcHRDb21wb25lbnRf
YmMzNTM3ZWY1ZTZiNDgwZGFjZjYzZjZiMzA0YmVjYjQudmJwcm9qLlJlc291cmNlcy5yZXNvdXJj
ZXMAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0
dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1i
bHlUcmFkZW1hcmtBdHRyaWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQ
cm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0
aW9uQXR0cmlidXRlAEFzc2VtYmx5VGl0bGVBdHRyaWJ1dGUAU2NyaXB0Q29tcG9uZW50X2JjMzUz
N2VmNWU2YjQ4MGRhY2Y2M2Y2YjMwNGJlY2I0LnZicHJvai5kbGwAAAAAAICbSQBzAE4AdQBsAGwA
IABwAHIAbwBwAGUAcgB0AHkAIABjAGEAbgBuAG8AdAAgAGIAZQAgAHMAZQB0ACAAdABvACAARgBh
AGwAcwBlAC4AIABBAHMAcwBpAGcAbgAgAGEAIAB2AGEAbAB1AGUAIAB0AG8AIAB0AGgAZQAgAGMA
bwBsAHUAbQBuACAAaQBuAHMAdABlAGEAZAAuAAAFSQBkAAAJRABhAHQAZQAADU8AdQB0AHAAdQB0
AAAVQwBvAG4AbgBlAGMAdABpAG8AbgAAO1MAZQBsAGUAYwB0ACAAUwBhAGwAZQBzAGYAbwByAGMA
ZQAgAGMAbwBuAG4AZQBjAHQAaQBvAG4ALgAAHVMAZQBsAGUAYwB0ACAAbwBiAGoAZQBjAHQALgAA
J1MAcABlAGMAaQBmAHkAIABzAHQAYQByAHQAIABkAGEAdABlAC4AACNTAHAAZQBjAGkAZgB5ACAA
ZQBuAGQAIABkAGEAdABlAC4AACFTAGEAbABlAHMAZgBvAHIAYwBlAE8AYgBqAGUAYwB0AAAnSQBz
AFMAdABhAHIAdABEAGEAdABlAFYAYQByAGkAYQBiAGwAZQAAI1MAdABhAHIAdABEAGEAdABlAFYA
YQByAGkAYQBiAGwAZQAAE1MAdABhAHIAdABEAGEAdABlAAAjSQBzAEUAbgBkAEQAYQB0AGUAVgBh
AHIAaQBhAGIAbABlAAAfRQBuAGQARABhAHQAZQBWAGEAcgBpAGEAYgBsAGUAAA9FAG4AZABEAGEA
dABlAAANUwBGAE8AUgBDAEUAADtTAGEAbABlAHMAZgBvAHIAYwBlACAARwBlAHQAIABVAHAAZABh
AHQAZQBkACAAUwBvAHUAcgBjAGUAADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAuAE0AeQBSAGUA
cwBvAHUAcgBjAGUAcwAAAACVF9ICoAAMRpMWeXbVdd9iAAi3elxWGTTgiQiwP19/EdUKOgMgAAED
AAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgBEggEAAASEQcGFRIYARIRBAAAEhQHBhUSGAESFAQI
ABIMBAgAEggECAASEQQIABIUBCABAhwDIAAIBCAAEhUDIAAOAh4ABxABAR4AHgAHMAEBARAeAAIT
AAQgABMABwYVEhkBEwAEKAATAAgWz0kLuAw06giJhF3NgIDMkQkgBAESIQgCEiUEIAAdDgQgAQEO
BCABAQIFIAEBESkDIAACBCgAHQ4DKAAOAygAAgQoABEpAwYSJAMGEigDBhIcCSADAQgdCB0SJQMG
EiEFIAEBEiEEIAASMQQoABIxBSABAhAOBCAAESkEIAEcDgYgAhEpDgICBg4CBgIDBhI1AwYSOQQA
ABI1BAAAEjkFAAEBEjkECAASNQQIABI5AwYSNAIGHAQAABI0BAgAEjQFIAEBEUUIAQABAAAAAAAF
IAIBDg4XAQAKTXlUZW1wbGF0ZQc4LjAuMC4wAAAEAQAAAAYVEhgBEgwGFRIYARIIBhUSGAESEQYV
EhgBEhQEBwESDAQHARIIBAcBEhEEBwESFBMBAA5NeS5BcHBsaWNhdGlvbgAAEAEAC015LkNvbXB1
dGVyAAAMAQAHTXkuVXNlcgAAEwEADk15LldlYlNlcnZpY2VzAAAEAAEcHAMHAQIDBwEIBgABEhUR
YQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2ViLlNlcnZpY2Vz
LlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2VfXxNEaXNw
b3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUgAQETAAYHAhMAEwAFAQAAAAAE
BwEdDgUgAgEIHAQgAQEIBgcCHQ4dDgUgABKAgQUgABKAhQYgARKAiRwEBwIICAUgABKAjQYgARKA
kRwEBwESMQQgARwcAyAAHAogAxKApQ4RKREpBiAAHRKAmQYAAQESgKEdBwoSgJUdEoCZESkRKRKA
nRKAoRKAmQgdEoCZEhwEAAECDgcHAwICEoChBCABCBwGAAMcAhwcByABEoC5EhUCHQ4HBwIdDhKA
sQUgABKAxQYgARKAyRwFIAASgL0GIAAdEoDBGAcIEoCVHQ4SgLESgJ0SgL0SgMEIHRKAwQUAAREp
DgYHAhEpESkKIAYBCA4ODggQAgUgABKA1QggAgEOEBKA0QYgARKA2RwHBwMcHBKA0RIBAA1HZXRQ
cm9wZXJ0aWVzAAANAQAIVmFsaWRhdGUAAAUgAQEdDn4BAAgAAAAKQ29ubmVjdGlvbhBTYWxlc2Zv
cmNlT2JqZWN0E0lzU3RhcnREYXRlVmFyaWFibGUJU3RhcnREYXRlEVN0YXJ0RGF0ZVZhcmlhYmxl
EUlzRW5kRGF0ZVZhcmlhYmxlB0VuZERhdGUPRW5kRGF0ZVZhcmlhYmxlAAAGIAEBEYD1QAEAO1Nw
ZWNpZmllcyBpZiBFbmREYXRlIHBhcmFtZXRlciByZWZlcmVuY2VzIHBhY2thZ2UgdmFyaWFibGUu
AAANAQAIU2V0dGluZ3MAABIBAA1HZXRPYmplY3RMaXN0AAAeAQAZU2VsZWN0IFNhbGVzZm9yY2Ug
b2JqZWN0LgAAEwEADkNvbm5lY3Rpb25UeXBlAAAqAQAlU2VsZWN0IFNhbGVzZm9yY2UgQ29ubmVj
dGlvbiBNYW5hZ2VyLgAALgEAKVNwZWNpZmllcyB2YXJpYWJsZSBjb250YWluaW5nIHN0YXJ0IGRh
dGUuAAAsAQAnU3BlY2lmaWVzIHZhcmlhYmxlIGNvbnRhaW5pbmcgZW5kIGRhdGUuAAAYAQATU3Bl
Y2lmeSBzdGFydCBkYXRlLgAAQgEAPVNwZWNpZmllcyBpZiBTdGFydERhdGUgcGFyYW1ldGVyIHJl
ZmVyZW5jZXMgcGFja2FnZSB2YXJpYWJsZS4AABYBABFTcGVjaWZ5IGVuZCBkYXRlLgAABSAAEoEN
ByACAQ4SgQ0GBwISNRI1BAcBEjkIAQACAAAAAAAEAAEBHAQHARI0CAEACAAAAAAAHgEAAQBUAhZX
cmFwTm9uRXhjZXB0aW9uVGhyb3dzAQwBAAcxLjAuMC4wAAApAQAkZWE0ODI2ZjAtNTYyZS00NjM0
LTljNDMtMjM1MWIwYzVjZDRiAAAFAQABAAAfAQAaQ29weXJpZ2h0IEAgTWljcm9zb2Z0IDIwMTMA
ADwBADdTY3JpcHRDb21wb25lbnRfYmMzNTM3ZWY1ZTZiNDgwZGFjZjYzZjZiMzA0YmVjYjQudmJw
cm9qAAAOAQAJTWljcm9zb2Z0AAAABFcAAAAAAAAAAAAAHlcAAAAgAAAAAAAAAAAAAAAAAAAAAAAA
AAAAABBXAAAAAAAAAAAAAAAAX0NvckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACBAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwADAAAAKAAAgA4AAABI
AACAEAAAAGAAAIAAAAAAAAAAAAAAAAAAAAIAAgAAAHgAAIADAAAAkAAAgAAAAAAAAAAAAAAAAAAA
AQAAfwAAqAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAwAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAA2AAA
AAAAAAAAAAAAAAAAAAAAAQAAAAAA6AAAAAAAAAAAAAAAAAAAAAAAAQAAAAAA+AAAAAAAAAAAAAAA
AAAAAAAAAQAAAAAACAEAAIBlAADoAgAAAAAAAAAAAABoaAAAKAEAAAAAAAAAAAAAkGkAACIAAAAA
AAAAAAAAABhhAABoBAAAAAAAAAAAAABoBDQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYA
TwAAAAAAvQTv/gAAAQAAAAEAAAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAA
AEQAAAABAFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkA
bwBuAAAAAAAAALAEyAMAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAApAMAAAEAMAAw
ADAAMAAwADQAYgAwAAAANAAKAAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAABNAGkAYwByAG8A
cwBvAGYAdAAAAJgAOAABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAABTAGMAcgBp
AHAAdABDAG8AbQBwAG8AbgBlAG4AdABfAGIAYwAzADUAMwA3AGUAZgA1AGUANgBiADQAOAAwAGQA
YQBjAGYANgAzAGYANgBiADMAMAA0AGIAZQBjAGIANAAuAHYAYgBwAHIAbwBqAAAAMAAIAAEARgBp
AGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAmAA8AAEASQBuAHQAZQByAG4A
YQBsAE4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfAGIAYwAzADUAMwA3
AGUAZgA1AGUANgBiADQAOAAwAGQAYQBjAGYANgAzAGYANgBiADMAMAA0AGIAZQBjAGIANAAuAHYA
YgBwAHIAbwBqAC4AZABsAGwAAABcABsAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABD
AG8AcAB5AHIAaQBnAGgAdAAgAEAAIABNAGkAYwByAG8AcwBvAGYAdAAgADIAMAAxADMAAAAAAKAA
PAABAE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBw
AG8AbgBlAG4AdABfAGIAYwAzADUAMwA3AGUAZgA1AGUANgBiADQAOAAwAGQAYQBjAGYANgAzAGYA
NgBiADMAMAA0AGIAZQBjAGIANAAuAHYAYgBwAHIAbwBqAC4AZABsAGwAAACQADgAAQBQAHIAbwBk
AHUAYwB0AE4AYQBtAGUAAAAAAFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8AYgBjADMA
NQAzADcAZQBmADUAZQA2AGIANAA4ADAAZABhAGMAZgA2ADMAZgA2AGIAMwAwADQAYgBlAGMAYgA0
AC4AdgBiAHAAcgBvAGoAAAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAxAC4A
MAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADEALgAw
AC4AMAAuADAAAAAoAAAAIAAAAEAAAAABAAQAAAAAAIACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAd3d3d3d3d3d3d3d3d3dwBEREREREREREREREREREcAT/////////////////9HAE
//////////////////RwBP/////////////////0cAT/////////////////9HAE////////////
//////RwBP/////////////////0cAT/////////////////9HAE//////////////////RwBP//
///////////////0cAT/////////////////9HAE//////////////////RwBP//////////////
///0cAT/////////////////9HAE//////////////////RwBP/////////////////0cAT/////
////////////9HAE//////////////////RwBP/////////////////0cASIiIiIiIiIiIiIiIiI
hHAERERERERERERERERERERwBExMTExMTExMTE7Ozkl0cATMzMzMzMzMzMzMzMzMxAAARERERERE
REREREREREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
/////////////////////8AAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGA
AAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAA8AA
AAf///////////////8oAAAAEAAAACAAAAABAAQAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA
////AAAAAAAAAAAAB3d3d3d3d3dERERERERER0////////hHT///////+EdP///////4R0//////
//hHT///////+EdP///////4R0////////hHT///////+EdIiIiIiIiIR0zMzMzMzMxHxERERERE
RMAAAAAAAAAAAAAAAAAAAAAA//8AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAABAAD//wAA//8AAAAAAQACACAgEAABAAQA6AIAAAIAEBAQAAEABAAoAQAA
AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAADAAAADA3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></arrayElement></arrayElements></property>
<property id="13" name="UserComponentTypeName" dataType="System.String" state="default" isArray="false" description="" typeConverter="" UITypeEditor="" containsID="false" expressionType="None">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2008, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</property>
<property id="38" name="VSTAProjectName" dataType="System.String" state="default" isArray="false" description="Specifies the name of the Microsoft Visual Studio Tools for Applications project. Project names must be unique within a package." typeConverter="NOTBROWSABLE" UITypeEditor="" containsID="false" expressionType="None">ScriptComponent_bc3537ef5e6b480dacf63f6b304becb4</property>
<property id="39" name="ScriptLanguage" dataType="System.String" state="default" isArray="false" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" UITypeEditor="" containsID="false" expressionType="None">VisualBasic</property></properties>
<connections>
<connection id="28" name="Connection" description="" connectionManagerID="{7f5a9c16-d4a0-4beb-a40d-d15ddf499e9f}" /></connections>
<outputs>
<output id="4" name="Output" description="" exclusionGroup="0" synchronousInputId="0" deleteOutputOnPathDetached="false" hasSideEffects="true" dangling="false" isErrorOut="false" isSorted="false" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed"><outputColumns>
<outputColumn id="25" name="Id" description="" lineageId="25" precision="0" scale="0" length="18" dataType="wstr" codePage="0" sortKeyPosition="0" comparisonFlags="0" specialFlags="0" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed" externalMetadataColumnId="0" mappedColumnId="0" />
<outputColumn id="26" name="Date" description="" lineageId="26" precision="0" scale="0" length="0" dataType="dbTimeStamp" codePage="0" sortKeyPosition="0" comparisonFlags="0" specialFlags="0" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed" externalMetadataColumnId="0" mappedColumnId="0" /></outputColumns><externalMetadataColumns isUsed="False" /></output>
</outputs>
</component>