<component id="2" name="Dynamics CRM Convert" componentClassID="Microsoft.ManagedComponentHost" description="Executes a custom script." localeId="1033" version="10" 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\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_27066129643e4440b6ab85fdba8b2066.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_27066129643e4440b6ab85fdba8b2066.vbproj")> 
<Assembly: AssemblyCopyright("Copyright @ Microsoft 2016")> 
<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("60659a1d-54db-4fd7-a27b-852f1a8578fd")> 

' 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 Overrides Sub ProcessInput(ByVal InputID As Integer, ByVal InputName As String, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)

        If InputID = MyBase.ComponentMetaData.InputCollection("Input").ID Then
            Input_ProcessInput(New InputBuffer(Me, InputID, True, Buffer, OutputMap))
        End If

    End Sub

    Public Overridable Sub Input_ProcessInput(ByVal Buffer As InputBuffer)

        While Buffer.NextRow()
            Input_ProcessInputRow(Buffer)
        End While

    End Sub

    Public Overridable Sub Input_ProcessInputRow(ByVal Row As InputBuffer)

    End Sub

End Class

Public Class Connections

    Dim ParentComponent As ScriptComponent

    <CLSCompliant(False)> _
    Public Sub New(ByVal Component As ScriptComponent)
        ParentComponent = Component
    End Sub

    Public ReadOnly Property CrmConnection() As IDTSConnectionManager100
        Get
            Return ParentComponent.ComponentMetaData.RuntimeConnectionCollection("CrmConnection").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 InputBuffer
    Inherits ScriptBufferPlus

    Public Sub New(ByVal Component As ScriptComponent, ByVal ObjectID As Integer, ByVal IsInput As Boolean, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)
        MyBase.New(Component, ObjectID, IsInput, Buffer, OutputMap)
    End Sub

    Public Overrides ReadOnly Property StaticInputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public WriteOnly Property [OutputId]() As Guid
        Set
            Me(0) = Value
        End Set
    End Property
    Public WriteOnly Property [OutputId_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() {"OutputId"}
        End Get
    End Property

    Public Overloads Function NextRow() As Boolean
        NextRow = MyBase.NextRow()
    End Function

    Public Overloads Function EndOfRowset() As Boolean
        EndOfRowset = MyBase.EndOfRowset
    End Function

End Class
]]></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[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-2016 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.Web.Services.Protocols

Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS
Imports CozyRoc.SqlServer.SSIS.Attributes
Imports CozyRoc.Dynamics.Crm
Imports CozyRoc.Dynamics.Crm2011.OrganizationService


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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub Input_ProcessInputRow(ByVal Row As InputBuffer)
        Try
            Dim req As New OrganizationRequest

            Dim type As String = Convert.ToString(GetBufferValue_(Row.Buffer, m_typeIndex))
            Select Case type.ToLower()
                Case "opportunity"
                    ' https://msdn.microsoft.com/en-us/library/microsoft.crm.sdk.messages.generatequotefromopportunityrequest.aspx?f=255&MSPPError=-2147217396
                    req.RequestName = "GenerateQuoteFromOpportunity"
                    req("OpportunityId") = New Guid(Convert.ToString(Row.Buffer(m_idIndex)))

                Case "salesorder"
                    ' https://msdn.microsoft.com/en-us/library/microsoft.crm.sdk.messages.convertsalesordertoinvoicerequest.aspx
                    req.RequestName = "ConvertSalesOrderToInvoice"
                    req("SalesOrderId") = New Guid(Convert.ToString(Row.Buffer(m_idIndex)))

                Case "team"
                    ' https://msdn.microsoft.com/en-us/library/microsoft.crm.sdk.messages.convertownerteamtoaccessteamrequest.aspx
                    req.RequestName = "ConvertOwnerTeamToAccessTeam"
                    req("TeamId") = New Guid(Convert.ToString(Row.Buffer(m_idIndex)))

                Case Else
                    Throw New Exception(String.Format("Unhandled convert type: {0}", type))
            End Select

            ' Execute action.
            Dim res As OrganizationResponse = m_service.Execute(req)
            Dim entity As Entity = CType(res("Entity"), Entity)
            If Not entity Is Nothing Then
                Row.OutputId = entity.Id
            End If
        Catch ex As SoapException
            Call FireError_(ex.Detail.InnerXml)
        Catch ex As Exception
            Call FireError_(ex.Message)
        End Try
    End Sub ' Input_ProcessInputRow


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

        ' Setup CRM service.
        m_connection = CType( _
            Me.Connections.CrmConnection.AcquireConnection(Nothing), _
            IConnection)
        Call m_connection.Connect()

        m_service = CType(m_connection.GetService(0), OrganizationServiceClient)   ' 0 - CRM Service

        ' Get input column indexes.
        m_typeIndex = GetColumnIndex_("Type")
        m_idIndex = GetColumnIndex_("InputId")
    End Sub ' PreExecute


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

        Call m_connection.Close()
        m_typeIndex = -1
        m_idIndex = -1
    End Sub ' PostExecute


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

        Try
            If String.IsNullOrEmpty(Me.CrmConnection) Then
                Throw New Exception("Select Dynamics CRM Connection.")
            End If

            Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
            If input.IsAttached Then
                Dim inputCol As IDTSInputColumn100 = Nothing

                inputCol = GetInputColumn_("Type")
                If inputCol Is Nothing Then
                    Throw New Exception("Type column is not mapped.")
                End If

                inputCol = GetInputColumn_("InputId")
                If inputCol Is Nothing Then
                    Throw New Exception("InputId column is not mapped.")
                End If
            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("CrmConnection").ConnectionManagerID = Me.CrmConnection

            result = True
        Catch ex As Exception
            result = False
            errMessage = ex.Message
        End Try

        Validate = result
    End Function    'Validate


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

        If MyBase.ComponentMetaData.InputCollection.Count = 0 Then
            ' At least one input must exist.
            Throw New Exception("No inputs.")
        End If

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

        ' Cleanup.
        input.ExternalMetadataColumnCollection.IsUsed = True
        Call input.InputColumnCollection.RemoveAll()
        Call input.ExternalMetadataColumnCollection.RemoveAll()

        Dim column As IDTSExternalMetadataColumn100

        ' Setup Type column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "Type"
        column.DataType = DataType.DT_WSTR
        column.Length = 10

        ' Setup InputId column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "InputId"
        column.DataType = DataType.DT_GUID
    End Sub ' ReinitializeMetaData


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select Dynamics CRM Connection Manager.")> _
    <Connection("CrmConnectionType")> _
    Public Property CrmConnection() As String
        Get
            CrmConnection = m_crmConnection
        End Get
        Set(ByVal value As String)
            m_crmConnection = value
        End Set
    End Property    ' CrmConnection
#End Region ' Properties


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private ReadOnly Property CrmConnectionType() As String()
        Get
            CrmConnectionType = New String() {"DYNAMICS-CRM"}
        End Get
    End Property    ' CrmConnectionType


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub FireError_(ByVal message As String)
        Dim cancel As Boolean = False
        Call MyBase.ComponentMetaData.FireError( _
            0, _
            "Dynamics CRM Convert", _
            message, _
            String.Empty, _
            0, _
            cancel)
    End Sub ' FireError_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetInputColumn_(ByVal externalName As String) As IDTSInputColumn100
        Dim result As IDTSInputColumn100 = Nothing
        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        Dim extColumn As IDTSExternalMetadataColumn100 = input.ExternalMetadataColumnCollection(externalName)

        ' Find input column for specified external column.
        For Each inputCol As IDTSInputColumn100 In input.InputColumnCollection
            If inputCol.ExternalMetadataColumnID = extColumn.ID Then
                ' Found input column.
                result = inputCol
                Exit For
            End If
        Next

        GetInputColumn_ = result
    End Function    ' GetInputColumn_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetColumnIndex_(ByVal externalName As String) As Integer
        Dim result As Integer = -1

        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        Dim inputCol As IDTSInputColumn100 = GetInputColumn_(externalName)
        If Not inputCol Is Nothing Then
            result = Me.HostComponent.BufferManager.FindColumnByLineageID( _
                input.Buffer, _
                inputCol.LineageID)
        End If

        GetColumnIndex_ = result
    End Function    ' GetColumnIndex_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetBufferValue_( _
        ByVal buffer As Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer, _
        ByVal index As Integer) As Object

        Dim result As Object = Nothing

        If index <> -1 AndAlso Not buffer.IsNull(index) Then
            result = buffer(index)
        End If

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


#Region "Attributes"
    Private m_crmConnection As String

    Private m_connection As IConnection
    Private m_service As OrganizationServiceClient
    Private m_idIndex As Integer
    Private m_typeIndex As Integer
#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:CodeName>scriptcomponent_27066129643e4440b6ab85fdba8b2066</msb:CodeName>
		<msb:Language>msBuild</msb:Language>
		<msb:DisplayName>scriptcomponent_27066129643e4440b6ab85fdba8b2066</msb:DisplayName>
		<msb:ProjectId>{6E79CD7D-02BC-48AC-9D9B-4148993F7B35}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="scriptcomponent_27066129643e4440b6ab85fdba8b2066.vbproj"/>
		<msb:File Include="My Project\Settings.Designer.vb"/>
		<msb:File Include="main.vb"/>
		<msb:File Include="BufferWrapper.vb"/>
		<msb:File Include="My Project\Resources.resx"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="My Project\AssemblyInfo.vb"/>
		<msb:File Include="My Project\Resources.Designer.vb"/>
		<msb:File Include="My Project\Settings.settings"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Resources.Designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On


Namespace My.Resources
    
    '''<summary>
    '''   A strongly-typed resource class, for looking up localized strings, etc.
    '''</summary>
    'This class was auto-generated by the Strongly Typed Resource Builder
    'class via a tool like ResGen or Visual Studio.NET.
    'To add or remove a member, edit your .ResX file then rerun ResGen
    'with the /str option, or rebuild your VS project.
    Class MyResources
        
        Private Shared _resMgr As System.Resources.ResourceManager
        
        Private Shared _resCulture As System.Globalization.CultureInfo
        
        Friend Sub New()
            MyBase.New
        End Sub
        
        '''<summary>
        '''   Returns the cached ResourceManager instance used by this class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager
            Get
                If (_resMgr Is Nothing) Then
                    Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly)
                    _resMgr = temp
                End If
                Return _resMgr
            End Get
        End Property
        
        '''<summary>
        '''   Overrides the current thread's CurrentUICulture property for all
        '''   resource lookups using this strongly typed resource class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared Property Culture() As System.Globalization.CultureInfo
            Get
                Return _resCulture
            End Get
            Set
                _resCulture = value
            End Set
        End Property
    End Class
End Namespace
]]></arrayElement><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[scriptcomponent_27066129643e4440b6ab85fdba8b2066.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_27066129643e4440b6ab85fdba8b2066.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_27066129643e4440b6ab85fdba8b2066.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{66A99D5B-481E-4C76-B20B-560F558C751D}</ProjectGuid>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <TargetFrameworkProfile>
    </TargetFrameworkProfile>
  </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.Dynamics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=13.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_13.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=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91">
      <Private>False</Private>
    </Reference>
    <Reference Include="CozyRoc.SSISPlus.2016, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea">
      <Private>False</Private>
    </Reference>
  </ItemGroup>
  <!-- Visual Basic supports Importing namespaces (equivalent to using statements in C#).-->
  <ItemGroup>
    <Import Include="Microsoft.VisualBasic" />
    <Import Include="System" />
    <Import Include="System.Collections" />
    <Import Include="System.Data" />
    <Import Include="System.Diagnostics" />
    <Import Include="System.Windows.Forms" />
  </ItemGroup>
  <!-- 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="" />
        <Host Name="SSIS_ScriptComponent" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC130</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>]]></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></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_27066129643e4440b6ab85fdba8b2066.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
AQBDAwkAtQwBABEAtQwGABkAtQwKACkAtQwQADEAtQwQADkAtQwQAEEAtQwQAEkAtQwQAFEAtQwQ
AFkAtQwVAGEAtQwVAGkAtQwQAHEAtQwQAHkAtQwQAMEAtQwQAMkAtQwGANEAtQwGACkBtQwQADEB
tQwQAFEBtQwaAFkBtQwhAHEBtQwGAHkBtQwGAIEBtQwGAJEBtQwnAKkBtQwQALkBtQwGAIEAtQwv
AIEA4wg7AIEAuggBAMkBtQwQANEBzhBFANEBmQ9FAKkAtQwGAIkAbgJJANkB6QlPAOEB2ghVABEB
bQFcALEAtQwGANkByQlgAOkB2ghmAPEBnQttAOkAtQwGAIEATwuAAPkBeweFAAECyQeKAMEBVQyP
AAkCuweTAOkAxQMQAJEA2giaAKEAtQwQAOkA4wifAMEBcw+lAAEBtQwQAOEAVwerABEC2gizAPEA
rwK4ABkCgQy9APkAVQjEACECzQiPABkCbwzKAAEBYAOPAIkASAcGALkACQrOANkAkQ8GANkADwOa
AIkAUwcGANkAjAQGAMEBQRHbABEBwwJFAPEBtQEQAKkAWQIGAOEBIhBcABEBigngADEC0gIVABEB
rwnmADkCYAgGADECYAgGADECtBDsABkBrwMQABkBAATyABkB0gcBAMEBSRECAdkBZQwFATEC2ggl
ATkCnQwsASEBFhAyAQkBmAFcABkBbQFcACEBoRBFAEkCkgQGAKkABBBBAVECswtHAREBTwtcAAkB
dAFcAFkCggFNAZEAswhYAZkBnQNdAZkBLRFmATkBtQxsAWEBtQwGAGkBtQwGAAwAMwN7ARQAMwN7
ARwAMwN7ASQAMwN7AQwAtQwGABQAtQwGABwAtQwGACQAtQwGALEBtQwGAHECNwyWAXECpQ+WAbEA
wg6bAbEATANcALEAyQePAHkCJAOoATQAqhC/ATwAZwd7ATwAcQfYATwAtQwGAC4ACwAKAy4AEwAT
Ay4AGwAyAy4AIwA7Ay4AKwB4Ay4AMwB+Ay4AOwA7Ay4AQwCNAy4ASwB4Ay4AUwCtAy4AWwB4Ay4A
YwCzAy4AawDdAy4AcwDqA0MAUwB4A2MAUwB4A8MAewBABMMAgwAyBMMAiwAyBMMAUwB4A8kAkwDJ
BMkAmwD2BAMBqwBOBAMBowA3BAkBowAyAyMBqwBOBCMBowA3BCkBowAyA0MBuwAyBEMBwwAyBEMB
qwBOBEkB0wANBWkB0wAeBYABUwB4A4MBowA3BIMBywBnBIkB0wAyBaMBowA3BKMBWwB4A6kB0wA/
BcABUwB4A8kB2wAyBCAEswAyBCAEowA3BEAEswAyBGAEswAyBIAEswAyBKAEswAyBEAFowA3BEAF
swAyBGAFowA3BGAFswAyBIAFowA3BIAFswAyBKAFowA3BKAFswAyBMAFswAyBOAFswAyBAAGswAy
BAAGowA3BCAGswAyBEAGswAyBEAGowA3BEEAcgDTAPkA/QAQATYBUwGgAbMBAgABAAQABQAGAAYA
BwAIAAoACgALAA4ADQAPAAAA6w7IAgAAugLNAgAAqgjSAgAAAg/IAgAAMQrWAgAAMQrbAgAAEQTI
AgAAjQvfAgAARwTlAgAATAzrAgAAQgnwAgAAMgz1AgAAMg37AgAAhAcAAwAANwMFAwIAAgADAAEA
AwAFAAEABAAHAAIABQAJAAIADQALAAIAFQANAAEAFgANAAIAFwAPAAIAHQARAAIAHgATAAEAHwAT
AAIAIgAVAAIAIwAXAAIAJAAZAAIAJQAbAAIAKQAdAAIAMQAfAHQBgAGHAY8BpQG4AcgB0AEEgAAA
AQAAAAAAAAAAAAAAAADdBwAABAAAAAAAAAAAAAAA3gGQAgAAAAABAAAAAAAAAAAAAADnAU4BAAAA
AA0AAAAAAAAAAAAAAPABLBAAAAAADQAAAAAAAAAAAAAA8AFlEAAAAAANAAAAAAAAAAAAAADwAagK
AAAAAAEAAAAAAAAAAAAAAOcBygwAAAAABAAAAAAAAAAAAAAA+QEMDQAAAAANAAAAAAAAAAAAAADw
AcsKAAAAAAQAAAAAAAAAAAAAAN4B7AgAAAAACgAAAAAAAAAAAAAA+QGZAgAAAAAEAAAAAAAAAAAA
AADeAcIIAAAAAAAAAAABAAAAMA4AAAwACgANAAoAAAAQABoA9QEAABAAXQD1AQAAAABfAPUB6wCu
AesA0wEAAABJRFRTQ29tcG9uZW50TWV0YURhdGExMDAASURUU0V4dGVybmFsTWV0YWRhdGFDb2x1
bW4xMDAASURUU0lucHV0Q29sdW1uMTAwAElEVFNFeHRlcm5hbE1ldGFkYXRhQ29sdW1uQ29sbGVj
dGlvbjEwMABJRFRTSW5wdXRDb2x1bW5Db2xsZWN0aW9uMTAwAElEVFNSdW50aW1lQ29ubmVjdGlv
bkNvbGxlY3Rpb24xMDAASURUU0lucHV0Q29sbGVjdGlvbjEwMABJRFRTUnVudGltZUNvbm5lY3Rp
b24xMDAASURUU0Nvbm5lY3Rpb25NYW5hZ2VyMTAwAElEVFNCdWZmZXJNYW5hZ2VyMTAwAElEVFNJ
bnB1dDEwMABDb250ZXh0VmFsdWVgMQBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBJbnQzMgBD
b3p5Um9jLlNTSVNQbHVzLjIwMTYAPE1vZHVsZT4AZ2V0X0lEAGdldF9MaW5lYWdlSUQARmluZENv
bHVtbkJ5TGluZWFnZUlEAGdldF9FeHRlcm5hbE1ldGFkYXRhQ29sdW1uSUQAc2V0X0Nvbm5lY3Rp
b25NYW5hZ2VySUQAT2JqZWN0SUQASW5wdXRJRABDb3p5Um9jLlNxbFNlcnZlci5TU0lTAFQARGlz
cG9zZV9fSW5zdGFuY2VfXwBDcmVhdGVfX0luc3RhbmNlX18AR2V0QnVmZmVyVmFsdWVfAEdldElu
cHV0Q29sdW1uXwBGaXJlRXJyb3JfAEdldENvbHVtbkluZGV4XwBSZWluaXRpYWxpemVNZXRhRGF0
YQBnZXRfQ29tcG9uZW50TWV0YURhdGEAUHJvamVjdERhdGEAbXNjb3JsaWIATWljcm9zb2Z0LlZp
c3VhbEJhc2ljAGdldF9JZABzZXRfT3V0cHV0SWQAZ2V0X0lzQXR0YWNoZWQAc2V0X0lzVXNlZABH
dWlkAENvenlSb2MuRHluYW1pY3MuQ3JtMjAxMS5Pcmdhbml6YXRpb25TZXJ2aWNlAEdldFNlcnZp
Y2UAbV9zZXJ2aWNlAENyZWF0ZUluc3RhbmNlAGdldF9HZXRJbnN0YW5jZQBpbnN0YW5jZQBHZXRI
YXNoQ29kZQBYbWxOb2RlAGdldF9NZXNzYWdlAGVyck1lc3NhZ2UAbWVzc2FnZQBJRGlzcG9zYWJs
ZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBzZXRfTmFtZQBleHRlcm5hbE5h
bWUAc2V0X1JlcXVlc3ROYW1lAElucHV0TmFtZQBNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5QaXBl
bGluZQBzZXRfRGF0YVR5cGUAZ2V0X0NybUNvbm5lY3Rpb25UeXBlAEdldFR5cGUAZ2V0X0N1bHR1
cmUAc2V0X0N1bHR1cmUAX3Jlc0N1bHR1cmUAQXBwbGljYXRpb25CYXNlAEFwcGxpY2F0aW9uU2V0
dGluZ3NCYXNlAE9yZ2FuaXphdGlvblJlc3BvbnNlAENsb3NlAERpc3Bvc2UAVmFsaWRhdGUARWRp
dG9yQnJvd3NhYmxlU3RhdGUAR3VpZEF0dHJpYnV0ZQBIZWxwS2V5d29yZEF0dHJpYnV0ZQBHZW5l
cmF0ZWRDb2RlQXR0cmlidXRlAERlYnVnZ2VyTm9uVXNlckNvZGVBdHRyaWJ1dGUARGVidWdnYWJs
ZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUAQ29tVmlzaWJsZUF0dHJpYnV0ZQBB
c3NlbWJseVRpdGxlQXR0cmlidXRlAFN0YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVO
YW1lQXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRlAFRhcmdldEZyYW1ld29ya0F0
dHJpYnV0ZQBEZWJ1Z2dlckhpZGRlbkF0dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJzaW9uQXR0cmli
dXRlAE15R3JvdXBDb2xsZWN0aW9uQXR0cmlidXRlAENvbm5lY3Rpb25BdHRyaWJ1dGUAQXNzZW1i
bHlEZXNjcmlwdGlvbkF0dHJpYnV0ZQBWYWxpZGF0ZVByb3BlcnRpZXNBdHRyaWJ1dGUAQ29sdW1u
TWFwcGluZ3NBdHRyaWJ1dGUAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBBc3NlbWJs
eVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQ0xTQ29tcGxpYW50
QXR0cmlidXRlAFNTSVNTY3JpcHRDb21wb25lbnRFbnRyeVBvaW50QXR0cmlidXRlAEFzc2VtYmx5
Q29tcGFueUF0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBQcmVFeGVjdXRl
AFBvc3RFeGVjdXRlAG1fVmFsdWUAZ2V0X1ZhbHVlAHNldF9WYWx1ZQBHZXRPYmplY3RWYWx1ZQB2
YWx1ZQBTeXN0ZW0uVGhyZWFkaW5nAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAQ29tcGFyZVN0
cmluZwBUb1N0cmluZwBzZXRfTGVuZ3RoAFNjcmlwdENvbXBvbmVudF8yNzA2NjEyOTY0M2U0NDQw
YjZhYjg1ZmRiYThiMjA2Ni52YnByb2oATWljcm9zb2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMu
SW50ZXJuYWwAU3lzdGVtLkNvbXBvbmVudE1vZGVsAGdldF9EZXRhaWwAUmVtb3ZlQWxsAFNjcmlw
dENvbXBvbmVudF8yNzA2NjEyOTY0M2U0NDQwYjZhYjg1ZmRiYThiMjA2Ni52YnByb2ouZGxsAHNl
dF9PdXRwdXRJZF9Jc051bGwAU2V0TnVsbABTeXN0ZW0uWG1sAGdldF9Jbm5lclhtbABnZXRfSXRl
bQBzZXRfSXRlbQBTeXN0ZW0AQ296eVJvYy5EeW5hbWljcy5Dcm0AU3lzdGVtLkNvbXBvbmVudE1v
ZGVsLkRlc2lnbgBTY3JpcHRNYWluAGdldF9BcHBsaWNhdGlvbgBNeUFwcGxpY2F0aW9uAFN5c3Rl
bS5Db25maWd1cmF0aW9uAFN5c3RlbS5HbG9iYWxpemF0aW9uAFN5c3RlbS5SZWZsZWN0aW9uAGdl
dF9FeHRlcm5hbE1ldGFkYXRhQ29sdW1uQ29sbGVjdGlvbgBnZXRfSW5wdXRDb2x1bW5Db2xsZWN0
aW9uAGdldF9SdW50aW1lQ29ubmVjdGlvbkNvbGxlY3Rpb24AZ2V0X0lucHV0Q29sbGVjdGlvbgBJ
Q29ubmVjdGlvbgBBY3F1aXJlQ29ubmVjdGlvbgBnZXRfQ3JtQ29ubmVjdGlvbgBzZXRfQ3JtQ29u
bmVjdGlvbgBtX2NybUNvbm5lY3Rpb24AbV9jb25uZWN0aW9uAEludmFsaWRPcGVyYXRpb25FeGNl
cHRpb24AU29hcEV4Y2VwdGlvbgBDdWx0dXJlSW5mbwBPdXRwdXROYW1lTWFwAE91dHB1dE1hcABN
aWNyb3NvZnQuU3FsU2VydmVyLkRUU1J1bnRpbWVXcmFwAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRFRT
UGlwZWxpbmVXcmFwAG1fQXBwT2JqZWN0UHJvdmlkZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAbV9D
b21wdXRlck9iamVjdFByb3ZpZGVyAG1fTXlXZWJTZXJ2aWNlc09iamVjdFByb3ZpZGVyAGdldF9C
dWZmZXIAUGlwZWxpbmVCdWZmZXIAU2NyaXB0QnVmZmVyAElucHV0QnVmZmVyAGJ1ZmZlcgBnZXRf
UmVzb3VyY2VNYW5hZ2VyAGdldF9Db25uZWN0aW9uTWFuYWdlcgBnZXRfQnVmZmVyTWFuYWdlcgBT
eXN0ZW0uQ29kZURvbS5Db21waWxlcgBNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lLldy
YXBwZXIATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUGlwZWxpbmUuV3JhcHBlcgBnZXRfVXNlcgBF
bnRlcgBnZXRfQ29tcHV0ZXIATXlDb21wdXRlcgBUb0xvd2VyAF9yZXNNZ3IARmlyZUVycm9yAENs
ZWFyUHJvamVjdEVycm9yAFNldFByb2plY3RFcnJvcgBJRW51bWVyYXRvcgBHZXRFbnVtZXJhdG9y
AEFjdGl2YXRvcgAuY3RvcgAuY2N0b3IATW9uaXRvcgBDb3p5Um9jLkR5bmFtaWNzAFN5c3RlbS5E
aWFnbm9zdGljcwBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuRGV2aWNlcwBTeXN0ZW0uV2ViLlNlcnZp
Y2VzAGdldF9XZWJTZXJ2aWNlcwBNeVdlYlNlcnZpY2VzAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5B
cHBsaWNhdGlvblNlcnZpY2VzAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBNaWNyb3Nv
ZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBTeXN0ZW0uUnVudGltZS5Db21waWxlclNl
cnZpY2VzAFN5c3RlbS5SZXNvdXJjZXMAU2NyaXB0Q29tcG9uZW50XzI3MDY2MTI5NjQzZTQ0NDBi
NmFiODVmZGJhOGIyMDY2LnZicHJvai5NeS5SZXNvdXJjZXMATXlSZXNvdXJjZXMAU2NyaXB0Q29t
cG9uZW50XzI3MDY2MTI5NjQzZTQ0NDBiNmFiODVmZGJhOGIyMDY2LnZicHJvai5SZXNvdXJjZXMu
cmVzb3VyY2VzAERlYnVnZ2luZ01vZGVzAFZhcmlhYmxlcwBDb3p5Um9jLlNxbFNlcnZlci5TU0lT
LkF0dHJpYnV0ZXMATXlTZXR0aW5ncwBFcXVhbHMAU3lzdGVtLldlYi5TZXJ2aWNlcy5Qcm90b2Nv
bHMAZ2V0X1N0YXRpY0lucHV0Q29sdW1ucwBnZXRfU3RhdGljT3V0cHV0Q29sdW1ucwBTeXN0ZW0u
Q29sbGVjdGlvbnMAQ29ubmVjdGlvbnMAUnVudGltZUhlbHBlcnMAT3BlcmF0b3JzAFNjcmlwdEJ1
ZmZlclBsdXMAU2NyaXB0Q29tcG9uZW50UGx1cwBGb3JtYXQAbV9TeW5jT2JqZWN0AE15UHJvamVj
dABDb25uZWN0AEVuZE9mUm93c2V0AEV4aXQAT3JnYW5pemF0aW9uU2VydmljZUNsaWVudABQaXBl
bGluZUNvbXBvbmVudABVc2VyQ29tcG9uZW50AFBhcmVudENvbXBvbmVudABTY3JpcHRDb21wb25l
bnQAZ2V0X0hvc3RDb21wb25lbnQAZ2V0X0N1cnJlbnQAZ2V0X0NvdW50AE1pY3Jvc29mdC5TcWxT
ZXJ2ZXIuVHhTY3JpcHQAQ29udmVydABPcmdhbml6YXRpb25SZXF1ZXN0AE1pY3Jvc29mdC5TcWxT
ZXJ2ZXIuUGlwZWxpbmVIb3N0AElzSW5wdXQASW5wdXRfUHJvY2Vzc0lucHV0AE1vdmVOZXh0AG1f
Q29udGV4dABOZXcASW5wdXRfUHJvY2Vzc0lucHV0Um93AE5leHRSb3cAbV9pZEluZGV4AG1fdHlw
ZUluZGV4AGluZGV4AFNjcmlwdENvbXBvbmVudF8yNzA2NjEyOTY0M2U0NDQwYjZhYjg1ZmRiYThi
MjA2Ni52YnByb2ouTXkAZ2V0X0Fzc2VtYmx5AEVudGl0eQBJc051bGxPckVtcHR5AAAAgJtJAHMA
TgB1AGwAbAAgAHAAcgBvAHAAZQByAHQAeQAgAGMAYQBuAG4AbwB0ACAAYgBlACAAcwBlAHQAIAB0
AG8AIABGAGEAbABzAGUALgAgAEEAcwBzAGkAZwBuACAAYQAgAHYAYQBsAHUAZQAgAHQAbwAgAHQA
aABlACAAYwBvAGwAdQBtAG4AIABpAG4AcwB0AGUAYQBkAC4AABFPAHUAdABwAHUAdABJAGQAAAtJ
AG4AcAB1AHQAABtDAHIAbQBDAG8AbgBuAGUAYwB0AGkAbwBuAAAXbwBwAHAAbwByAHQAdQBuAGkA
dAB5AAAVcwBhAGwAZQBzAG8AcgBkAGUAcgAACXQAZQBhAG0AADlHAGUAbgBlAHIAYQB0AGUAUQB1
AG8AdABlAEYAcgBvAG0ATwBwAHAAbwByAHQAdQBuAGkAdAB5AAAbTwBwAHAAbwByAHQAdQBuAGkA
dAB5AEkAZAAANUMAbwBuAHYAZQByAHQAUwBhAGwAZQBzAE8AcgBkAGUAcgBUAG8ASQBuAHYAbwBp
AGMAZQAAGVMAYQBsAGUAcwBPAHIAZABlAHIASQBkAAA5QwBvAG4AdgBlAHIAdABPAHcAbgBlAHIA
VABlAGEAbQBUAG8AQQBjAGMAZQBzAHMAVABlAGEAbQAADVQAZQBhAG0ASQBkAAA3VQBuAGgAYQBu
AGQAbABlAGQAIABjAG8AbgB2AGUAcgB0ACAAdAB5AHAAZQA6ACAAewAwAH0AAA1FAG4AdABpAHQA
eQAACVQAeQBwAGUAAA9JAG4AcAB1AHQASQBkAAA/UwBlAGwAZQBjAHQAIABEAHkAbgBhAG0AaQBj
AHMAIABDAFIATQAgAEMAbwBuAG4AZQBjAHQAaQBvAG4ALgAANVQAeQBwAGUAIABjAG8AbAB1AG0A
bgAgAGkAcwAgAG4AbwB0ACAAbQBhAHAAcABlAGQALgAAO0kAbgBwAHUAdABJAGQAIABjAG8AbAB1
AG0AbgAgAGkAcwAgAG4AbwB0ACAAbQBhAHAAcABlAGQALgAAFU4AbwAgAGkAbgBwAHUAdABzAC4A
ABlEAFkATgBBAE0ASQBDAFMALQBDAFIATQABKUQAeQBuAGEAbQBpAGMAcwAgAEMAUgBNACAAQwBv
AG4AdgBlAHIAdAAAMU0AeQAuAFIAZQBzAG8AdQByAGMAZQBzAC4ATQB5AFIAZQBzAG8AdQByAGMA
ZQBzAAB2fMc9rUp1SqU2QuHY5ygGAAQgAQEIAyAAAQUgAQEREQQgAQEOBCABAQIGIAEBEYClBSAC
AQ4OByAEAQ4ODg4LIAUBEkUIAhJJEk0FIAIBCBwDBwECAyAAAgUgABKA7QUgABKA8QYgARKAiRwD
IAAIBSAAEoD1BiABEoD5HAQgABJdDQcGEnUOEnkOEn0SgIEEIAASSQQAARwcBAABDhwDIAAOBgAD
CA4OAgQgARwIBSACAQ4cBQACDg4cByABEoEJEnUEIAEcDgQgABFRBgABARKAgQUgABKBEQMAAAEE
IAEcHAcHAwICEoCBBAABAg4FIAASgRkFIAASgR0FIAASgI0GIAEBEYEhAwcBDgQHAR0OAgYOCiAG
AQgODg4IEAIUBwYSgIUSgIUSgIkSgI0SgJESgIUGIAESgI0cBSAAEoCRAyAAHAoHBAgIEoCJEoCF
BSAAEoEpBSAAEoEtBSACCAgIBAcCHBwEIAECCAgAARKAzRGBMQUgABKBNQcgAgEOEoE1BhUSNAES
JAQgABMABhUSNAESIAcVEjQBEoDFBhUSNAESMAQAAQEcBCABAhwEBwEeAAIeAAUQAQAeAAQKAR4A
BAcBEwAGFRI0ARMACAYVEoDRARMABxUSgNEBEwACEwAECgETAAUgAQETAAi3elxWGTTgiQgWz0kL
uAw06giJhF3NgIDMkQiwP19/EdUKOgMGEhADBhIUAwYSRQMGEm0DBhJxAgYIBAYSgJ0EBhKAoQcG
FRI0ARIkBwYVEjQBEiAIBhUSNAESgMUHBhUSNAESMAMGEiwCBhwEIAAdDgUgAQERUQkgBAEIDhJJ
Ek0FIAEBEggFIAEBEkUFIAECEA4GIAESgIUOBCABCA4GIAIcEkkIBQAAEoCdBQAAEoChBgABARKA
oQQAABIkBAAAEiAFAAASgMUEAAASMAQAABIsBSAAEoDNBxABAR4AHgAHMAEBARAeAAQoAB0OBCgA
EVEDKAACBCgAEl0DKAAOBQgAEoCdBQgAEoChBAgAEiQECAASIAUIABKAxQQIABIwBAgAEiwEKAAT
AAgBAAgAAAAAAB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlvblRocm93cwEIAQACAAAAAAA8AQA3U2Ny
aXB0Q29tcG9uZW50XzI3MDY2MTI5NjQzZTQ0NDBiNmFiODVmZGJhOGIyMDY2LnZicHJvagAABQEA
AAAADgEACU1pY3Jvc29mdAAAHwEAGkNvcHlyaWdodCBAIE1pY3Jvc29mdCAyMDE2AAAFAQABAAAp
AQAkNjA2NTlhMWQtNTRkYi00ZmQ3LWEyN2ItODUyZjFhODU3OGZkAAAMAQAHMS4wLjAuMAAARwEA
Gi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4wAQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVU
IEZyYW1ld29yayA0BAEAAAAIAQABAAAAAAANAQAIVmFsaWRhdGUAABgBAApNeVRlbXBsYXRlCDEx
LjAuMC4wAABhAQA0U3lzdGVtLldlYi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQ
cm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAACwBACdTZWxl
Y3QgRHluYW1pY3MgQ1JNIENvbm5lY3Rpb24gTWFuYWdlci4AABYBABFDcm1Db25uZWN0aW9uVHlw
ZQAAEAEAC015LkNvbXB1dGVyAAATAQAOTXkuQXBwbGljYXRpb24AAAwBAAdNeS5Vc2VyAAATAQAO
TXkuV2ViU2VydmljZXMAAAC0AAAAzsrvvgEAAACRAAAAbFN5c3RlbS5SZXNvdXJjZXMuUmVzb3Vy
Y2VSZWFkZXIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi
bGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OSNTeXN0ZW0uUmVzb3VyY2VzLlJ1bnRpbWVSZXNv
dXJjZVNldAIAAAAAAAAAAAAAAFBBRFBBRFC0AAAAfFEAAAAAAAAAAAAAllEAAAAgAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAIhRAAAAAAAAAAAAAAAAX0NvckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8l
ACAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAAgAAA
AAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAACwBAAAAAAA
AAAAAACwBDQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAAAAEA
AAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQByAEYAaQBs
AGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAEEAQAAAEA
UwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAA7AMAAAEAMAAwADAAMAAwADQAYgAwAAAAGgAB
AAEAQwBvAG0AbQBlAG4AdABzAAAAAAAAADQACgABAEMAbwBtAHAAYQBuAHkATgBhAG0AZQAAAAAA
TQBpAGMAcgBvAHMAbwBmAHQAAACYADgAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAA
AAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwAyADcAMAA2ADYAMQAyADkANgA0ADMA
ZQA0ADQANAAwAGIANgBhAGIAOAA1AGYAZABiAGEAOABiADIAMAA2ADYALgB2AGIAcAByAG8AagAA
ADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAALgAwAC4AMAAAAJgAPAABAEkA
bgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwAy
ADcAMAA2ADYAMQAyADkANgA0ADMAZQA0ADQANAAwAGIANgBhAGIAOAA1AGYAZABiAGEAOABiADIA
MAA2ADYALgB2AGIAcAByAG8AagAuAGQAbABsAAAAWgAbAAEATABlAGcAYQBsAEMAbwBwAHkAcgBp
AGcAaAB0AAAAQwBvAHAAeQByAGkAZwBoAHQAIABAACAATQBpAGMAcgBvAHMAbwBmAHQAIAAyADAA
MQA2AAAAAAAqAAEAAQBMAGUAZwBhAGwAVAByAGEAZABlAG0AYQByAGsAcwAAAAAAAAAAAKAAPAAB
AE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8A
bgBlAG4AdABfADIANwAwADYANgAxADIAOQA2ADQAMwBlADQANAA0ADAAYgA2AGEAYgA4ADUAZgBk
AGIAYQA4AGIAMgAwADYANgAuAHYAYgBwAHIAbwBqAC4AZABsAGwAAACQADgAAQBQAHIAbwBkAHUA
YwB0AE4AYQBtAGUAAAAAAFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8AMgA3ADAANgA2
ADEAMgA5ADYANAAzAGUANAA0ADQAMABiADYAYQBiADgANQBmAGQAYgBhADgAYgAyADAANgA2AC4A
dgBiAHAAcgBvAGoAAAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAu
ADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4A
MAAuADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAMAAAAqDEAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></arrayElement></arrayElements></property><property id="9" name="UserComponentTypeName" dataType="System.String">CozyRoc.ScriptComponentHostPlus</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_27066129643e4440b6ab85fdba8b2066</property><property id="12" name="ScriptLanguage" dataType="System.String" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">VisualBasic</property></properties><connections><connection id="15" name="CrmConnection" connectionManagerID="{AD0515CC-EE6D-4910-B8B2-FEACB3A0E0CA}" /></connections><inputs><input id="16" name="Input" hasSideEffects="true"><externalMetadataColumns isUsed="True"><externalMetadataColumn id="17" name="Type" dataType="wstr" length="10" /><externalMetadataColumn id="18" name="InputId" dataType="guid" /></externalMetadataColumns></input></inputs><outputs><output id="19" name="Output" synchronousInputId="16"><outputColumns><outputColumn id="20" name="OutputId" lineageId="20" dataType="guid" /></outputColumns><externalMetadataColumns /></output></outputs></component>