<component id="43" name="Script Component" componentClassID="Microsoft.ManagedComponentHost" description="Includes and runs custom script code. For example, apply a business rule that limits the range of valid values in an &quot;income&quot; column or add values in two columns and calculate the average of the sum." localeId="1033" version="11" contactInfo="Includes and runs custom script code. For example, apply a business rule that limits the range of valid values in an &quot;income&quot; column or add values in two columns and calculate the average of the sum.;Microsoft Corporation; Microsoft SQL Server; Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;11"><properties><property id="44" 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("SC_a5626cf3ee0b490d8e1ffaee912a535c")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("")> 
<Assembly: AssemblyProduct("SC_a5626cf3ee0b490d8e1ffaee912a535c")> 
<Assembly: AssemblyCopyright("Copyright @  2019")> 
<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("dbec127b-a799-4ae2-aaa2-478f31986d4a")> 

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

<Assembly: AssemblyVersion("1.0.0.0")> 
<Assembly: AssemblyFileVersion("1.0.0.0")> 
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ComponentWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services component wrapper
' This module defines the base class for your component
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class UserComponent
    Inherits ScriptComponentPlus

    Public Connections As New Connections(Me)
    Public Variables As New Variables(Me)

    Public OutputBuffer As OutputBuffer

    Public Overridable Sub FinishOutputs()
    End Sub

    Private Sub MarkOutputsFinished()

        If OutputBuffer IsNot Nothing Then
            OutputBuffer.SetEndOfRowset
            OutputBuffer = Nothing
        End If

    End Sub

    Public Overrides Sub PrimeOutput(ByVal Outputs As Integer, ByVal OutputIDs() As Integer, ByVal Buffers() As PipelineBuffer, ByVal OutputMap As OutputNameMap)

        For I As Integer = 0 To Outputs - 1
            If OutputIDs(I) = GetOutputID(OutputMap, "Output") Then
                OutputBuffer = New OutputBuffer(Me, OutputIDs(I), False, Buffers(I), OutputMap)
            End If
        Next

        CreateNewOutputRows()

        FinishOutputs()
        MarkOutputsFinished()

    End Sub

    Public Overridable Sub CreateNewOutputRows()
    End Sub

End Class

Public Class Connections

    Dim ParentComponent As ScriptComponent

    <CLSCompliant(False)> _
    Public Sub New(ByVal Component As ScriptComponent)
        ParentComponent = Component
    End Sub

    Public ReadOnly Property 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[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-2019 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 CRM2011 = CozyRoc.Dynamics.Crm2011.OrganizationService
Imports CRM4 = CozyRoc.Dynamics.Crm.Service
Imports Meta4 = CozyRoc.Dynamics.Crm.MetadataService
Imports CRM3 = CozyRoc.Dynamics.Crm3.Service
Imports Meta3 = CozyRoc.Dynamics.Crm3.MetadataService


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<SortProperties(New String() {
    "CrmConnection",
    "IsEntityVariable", "Entity", "EntityVariable"})>
<ValidateProperties("Validate")>
<FilterProperties("GetProperties")>
<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute>
<CLSCompliant(False)>
Public Class ScriptMain
    Inherits UserComponent


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub CreateNewOutputRows()
        ' Get entity.
        Dim entity As String
        If Me.IsEntityVariable Then
            entity = GetVariable_(Me.Entity).ToString()
        Else
            entity = Me.Entity
        End If

        ' Retrieve entity metadata.
        Dim connection As ICrmConnection = CType(
            Me.Connections.CrmConnection.AcquireConnection(Nothing),
            ICrmConnection)
        Try
            Call connection.Connect()

            Dim service As Object = connection.GetService(0)   ' 0 - CRM Service
            Dim service2011 As CRM2011.OrganizationServiceClient = TryCast(
                service,
                CRM2011.OrganizationServiceClient)
            Dim service4 As CRM4.CrmService = TryCast(service, CRM4.CrmService)
            Dim service3 As CRM3.CrmService = TryCast(service, CRM3.CrmService)

            If Not service2011 Is Nothing Then
                ' CRM 2011.
                Call Process2011_(service2011, entity)
            ElseIf Not service4 Is Nothing Then
                ' Will use metadata service.
                Dim meta4 As Meta4.MetadataService = CType(
                    connection.GetService(1),
                    Meta4.MetadataService)
                Call Process4_(meta4, entity)
            ElseIf Not service3 Is Nothing Then
                ' Will use metadata service.
                Dim meta3 As Meta3.MetadataService = CType(
                    connection.GetService(1),
                    Meta3.MetadataService)
                Call Process3_(meta3, entity)
            Else
                Throw New Exception("Unhandled service object.")
            End If
        Catch ex As Exception
            Call FireError_(ex.Message)
        Finally
            Call connection.Close()
        End Try
    End Sub ' CreateNewOutputRows


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

            If String.IsNullOrEmpty(Me.Entity) Then
                Throw New Exception("Select Dynamics CRM Entity.")
            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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Returns list of entities in the currently selected Dynamics CRM connection.
    Public Function GetEntityList() As String()
        Dim result() As String

        Dim connection As ICrmConnection = CType(
            Me.DesignConnections(Me.CrmConnection).AcquireConnection(Nothing),
            ICrmConnection)
        Call connection.Connect()

        Try
            result = connection.GetEntityList(2)  ' 2 - Read
            Call Array.Sort(result)
        Finally
            Call connection.Close()
        End Try

        GetEntityList = result
    End Function    ' GetEntityList


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

        ' Setup static.
        Call result.Add("CrmConnection")

        ' Setup dynamic.
        Call result.Add("IsEntityVariable")
        Call result.Add(IIf(Me.IsEntityVariable, "EntityVariable", "Entity"))

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


#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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specifies if Entity property references package variable.")>
    <RefreshProperties(RefreshProperties.All)>
    <NonEssential()>
    Public Property IsEntityVariable() As Boolean
        Get
            IsEntityVariable = m_isEntityVar
        End Get
        Set(ByVal value As Boolean)
            If m_isEntityVar <> value Then
                m_isEntityVar = value
                m_entity = String.Empty
            End If
        End Set
    End Property    ' IsEntityVariable


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select Dynamics CRM entity.")>
    <List("GetEntityList")>
    Public Property Entity() As String
        Get
            Entity = m_entity
        End Get
        Set(ByVal value As String)
            m_entity = value
        End Set
    End Property    ' Entity


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specifies variable containing entity.")>
    <Variable()>
    Public Property EntityVariable() As String
        Get
            EntityVariable = m_entity
        End Get
        Set(ByVal value As String)
            m_entity = value
        End Set
    End Property    ' EntityVariable
#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 Attributes 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 Sub Process2011_(
        ByVal service As CRM2011.OrganizationServiceClient,
        ByVal entity As String)

        Dim req As New CRM2011.OrganizationRequest()
        req.RequestName = "RetrieveEntity"
        req("LogicalName") = entity
        req("MetadataId") = New Guid()
        req("RetrieveAsIfPublished") = False
        req("EntityFilters") = CRM2011.EntityFilters.Attributes
        Dim res As CRM2011.OrganizationResponse = service.Execute(req)
        Dim entityMeta As CRM2011.EntityMetadata = CType(
            res("EntityMetadata"),
            CRM2011.EntityMetadata)

        For Each attr As CRM2011.AttributeMetadata In entityMeta.Attributes
            With MyBase.OutputBuffer
                Call .AddRow()

                .AttributeOf = attr.AttributeOf

                Dim ac As CRM2011.AttributeTypeCode = attr.AttributeType.Value
                If ac = CRM2011.AttributeTypeCode.ManagedProperty Then
                    ac = CType(attr, CRM2011.ManagedPropertyAttributeMetadata).ValueAttributeTypeCode
                End If

                .AttributeType = ac.ToString()

                If attr.CanBeSecuredForCreate.HasValue Then
                    .CanBeSecuredForCreate = attr.CanBeSecuredForCreate.Value
                End If

                If attr.CanBeSecuredForRead.HasValue Then
                    .CanBeSecuredForRead = attr.CanBeSecuredForRead.Value
                End If

                If attr.CanBeSecuredForUpdate.HasValue Then
                    .CanBeSecuredForUpdate = attr.CanBeSecuredForUpdate.Value
                End If

                .CanModifyAdditionalSettings = attr.CanModifyAdditionalSettings.Value

                If attr.ColumnNumber.HasValue Then
                    .ColumnNumber = attr.ColumnNumber.Value
                End If

                .DeprecatedVersion = attr.DeprecatedVersion

                If attr.Description.LocalizedLabels.Count > 0 Then
                    .Description = attr.Description.LocalizedLabels(0).Label
                End If

                If attr.DisplayName.LocalizedLabels.Count > 0 Then
                    .DisplayName = attr.DisplayName.LocalizedLabels(0).Label
                End If

                .EntityLogicalName = attr.EntityLogicalName
                .IsAuditEnabled = attr.IsAuditEnabled.Value

                If attr.IsCustomAttribute.HasValue Then
                    .IsCustomAttribute = attr.IsCustomAttribute.Value
                End If

                .IsCustomizable = attr.IsCustomizable.Value

                If attr.IsManaged.HasValue Then
                    .IsManaged = attr.IsManaged.Value
                End If

                If attr.IsPrimaryId.HasValue Then
                    .IsPrimaryId = attr.IsPrimaryId.Value
                End If

                If attr.IsPrimaryName.HasValue Then
                    .IsPrimaryName = attr.IsPrimaryName.Value
                End If

                .IsRenameable = attr.IsRenameable.Value

                If attr.IsSecured.HasValue Then
                    .IsSecured = attr.IsSecured.Value
                End If

                .IsValidForAdvancedFind = attr.IsValidForAdvancedFind.Value

                If attr.IsValidForCreate.HasValue Then
                    .IsValidForCreate = attr.IsValidForCreate.Value
                End If

                If attr.IsValidForRead.HasValue Then
                    .IsValidForRead = attr.IsValidForRead.Value
                End If

                If attr.IsValidForUpdate.HasValue Then
                    .IsValidForUpdate = attr.IsValidForUpdate.Value
                End If

                If attr.LinkedAttributeId.HasValue Then
                    .LinkedAttributeId = attr.LinkedAttributeId.Value
                End If

                .LogicalName = attr.LogicalName
                .RequiredLevel = attr.RequiredLevel.Value.ToString()
                .SchemaName = attr.SchemaName

                If TypeOf attr Is CRM2011.StringAttributeMetadata Then
                    Dim strAttr As CRM2011.StringAttributeMetadata = CType(
                        attr,
                        CRM2011.StringAttributeMetadata)
                    If strAttr.MaxLength.HasValue Then
                        .MaxLength = strAttr.MaxLength.Value
                    End If
                ElseIf TypeOf attr Is CRM2011.MemoAttributeMetadata Then
                    Dim memoAttr As CRM2011.MemoAttributeMetadata = CType(
                        attr,
                        CRM2011.MemoAttributeMetadata)
                    If memoAttr.MaxLength.HasValue Then
                        .MaxLength = memoAttr.MaxLength.Value
                    End If
                End If
            End With
        Next
    End Sub ' Process2011_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub Process4_(
        ByVal service As Meta4.MetadataService,
        ByVal entity As String)

        Dim req As New Meta4.RetrieveEntityRequest
        req.LogicalName = Me.Entity
        req.EntityItems = Meta4.EntityItems.IncludeAttributes
        Dim res As Meta4.RetrieveEntityResponse = CType(
            service.Execute(req),
            Meta4.RetrieveEntityResponse)

        For Each attr As Meta4.AttributeMetadata In res.EntityMetadata.Attributes
            With MyBase.OutputBuffer
                Call .AddRow()

                .AttributeOf = attr.AttributeOf

                If Not attr.AttributeType.IsNull Then
                    .AttributeType = attr.AttributeType.Value.ToString()
                End If

                If attr.Description.LocLabels.Length > 0 Then
                    .Description = attr.Description.LocLabels(0).Label
                End If

                If attr.DisplayName.LocLabels.Length > 0 Then
                    .DisplayName = attr.DisplayName.LocLabels(0).Label
                End If

                .EntityLogicalName = attr.EntityLogicalName

                If Not attr.IsCustomField.IsNull Then
                    .IsCustomAttribute = attr.IsCustomField.Value
                End If

                .LogicalName = attr.LogicalName

                If Not attr.RequiredLevel.IsNull Then
                    .RequiredLevel = attr.RequiredLevel.Value.ToString()
                End If

                .SchemaName = attr.SchemaName

                If Not attr.ValidForCreate.IsNull Then
                    .IsValidForCreate = attr.ValidForCreate.Value
                End If

                If Not attr.ValidForRead.IsNull Then
                    .IsValidForRead = attr.ValidForRead.Value
                End If

                If Not attr.ValidForUpdate.IsNull Then
                    .IsValidForUpdate = attr.ValidForUpdate.Value
                End If

                If TypeOf attr Is Meta4.StringAttributeMetadata Then
                    Dim strAttr As Meta4.StringAttributeMetadata = CType(
                        attr,
                        Meta4.StringAttributeMetadata)
                    If Not strAttr.MaxLength Is Nothing Then
                        .MaxLength = strAttr.MaxLength.Value
                    End If
                ElseIf TypeOf attr Is Meta4.MemoAttributeMetadata Then
                    Dim memoAttr As Meta4.MemoAttributeMetadata = CType(
                        attr,
                        Meta4.MemoAttributeMetadata)
                    If Not memoAttr.MaxLength Is Nothing Then
                        .MaxLength = memoAttr.MaxLength.Value
                    End If
                End If
            End With
        Next
    End Sub ' Process4_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub Process3_(
        ByVal service As Meta3.MetadataService,
        ByVal entity As String)

        Dim entityMeta As Meta3.EntityMetadata = service.RetrieveEntityMetadata(
            entity,
            CozyRoc.Dynamics.Crm3.MetadataService.EntityFlags.IncludeAttributes)

        For Each attr As Meta3.AttributeMetadata In entityMeta.Attributes
            With MyBase.OutputBuffer
                Call .AddRow()

                .AttributeOf = attr.AttributeOf
                .AttributeType = attr.Type.ToString()
                .Description = attr.Description
                .DisplayName = attr.DisplayName
                .IsCustomAttribute = attr.IsCustomField
                .LogicalName = attr.Name
                .RequiredLevel = attr.RequiredLevel.ToString()
                .IsValidForCreate = attr.ValidForCreate
                .IsValidForRead = attr.ValidForRead
                .IsValidForUpdate = attr.ValidForUpdate
            End With
        Next
    End Sub ' Process3_
#End Region ' Internals


#Region "Attributes"
    Private m_crmConnection As String
    Private m_isEntityVar As Boolean
    Private m_entity As String
#End Region ' Attributes

End Class   ' CreateNewOutputRows
]]></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[SC_a5626cf3ee0b490d8e1ffaee912a535c.vbproj]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ProjectTypeGuids>{30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>8.0.30703</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{83965495-99CA-4921-9A9A-3797494BDFA2}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>SC_a5626cf3ee0b490d8e1ffaee912a535c</RootNamespace>
    <AssemblyName>SC_a5626cf3ee0b490d8e1ffaee912a535c</AssemblyName>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <ResolveAssemblyReferenceIgnoreTargetFrameworkAttributeVersionMismatch>true</ResolveAssemblyReferenceIgnoreTargetFrameworkAttributeVersionMismatch>
    <TargetFrameworkProfile></TargetFrameworkProfile>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>.\bin\Debug\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>.\bin\Release\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <!-- This sections specifies references for the project. -->
  <ItemGroup>
    <Reference Include="CozyRoc.Dynamics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft SQL Server\140\SDK\Assemblies\CozyRoc.Dynamics.dll</HintPath>
    </Reference>
    <Reference Include="CozyRoc.SSISPlus.2017, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\PublicAssemblies\SSIS\140\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=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Compile Include="main.vb" />
    <Compile Include="BufferWrapper.vb" />
    <Compile Include="ComponentWrapper.vb" />
  </ItemGroup>
  <!-- Visual Basic supports Importing namespaces (equivalent to using statements in C#).-->
  <ItemGroup>
    <Import Include="Microsoft.VisualBasic" />
    <Import Include="System" />
    <Import Include="System.Collections" />
    <Import Include="System.Data" />
    <Import Include="System.Diagnostics" />
    <Import Include="System.Windows.Forms" />
  </ItemGroup>
  <ItemGroup>
    <AppDesigner Include="My Project\" />
    <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>
  </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_SC140" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC140</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>]]></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[BufferWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services buffer wrappers
' This module defines classes for accessing data flow buffers
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!


Option Strict Off   ' This allows usage of PipelineBuffer typed accessors.

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class OutputBuffer
    Inherits ScriptBufferPlus

    Public Sub New(ByVal Component As ScriptComponent, ByVal ObjectID As Integer, ByVal IsInput As Boolean, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)
        MyBase.New(Component, ObjectID, IsInput, Buffer, OutputMap)
    End Sub

    Public Overrides ReadOnly Property StaticInputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public WriteOnly Property [AttributeOf]() As String
        Set
            Me(0) = Value
        End Set
    End Property
    Public WriteOnly Property [AttributeOf_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 [AttributeType]() As String
        Set
            Me(1) = Value
        End Set
    End Property
    Public WriteOnly Property [AttributeType_IsNull] As Boolean
        Set
            If (value)
                SetNull(1)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public WriteOnly Property [CanBeSecuredForCreate]() As Boolean
        Set
            Me(2) = Value
        End Set
    End Property
    Public WriteOnly Property [CanBeSecuredForCreate_IsNull] As Boolean
        Set
            If (value)
                SetNull(2)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public WriteOnly Property [CanBeSecuredForRead]() As Boolean
        Set
            Me(3) = Value
        End Set
    End Property
    Public WriteOnly Property [CanBeSecuredForRead_IsNull] As Boolean
        Set
            If (value)
                SetNull(3)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public WriteOnly Property [CanBeSecuredForUpdate]() As Boolean
        Set
            Me(4) = Value
        End Set
    End Property
    Public WriteOnly Property [CanBeSecuredForUpdate_IsNull] As Boolean
        Set
            If (value)
                SetNull(4)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public WriteOnly Property [CanModifyAdditionalSettings]() As Boolean
        Set
            Me(5) = Value
        End Set
    End Property
    Public WriteOnly Property [CanModifyAdditionalSettings_IsNull] As Boolean
        Set
            If (value)
                SetNull(5)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public WriteOnly Property [ColumnNumber]() As Int32
        Set
            Me(6) = Value
        End Set
    End Property
    Public WriteOnly Property [ColumnNumber_IsNull] As Boolean
        Set
            If (value)
                SetNull(6)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public WriteOnly Property [DeprecatedVersion]() As String
        Set
            Me(7) = Value
        End Set
    End Property
    Public WriteOnly Property [DeprecatedVersion_IsNull] As Boolean
        Set
            If (value)
                SetNull(7)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public WriteOnly Property [Description]() As String
        Set
            Me(8) = Value
        End Set
    End Property
    Public WriteOnly Property [Description_IsNull] As Boolean
        Set
            If (value)
                SetNull(8)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public WriteOnly Property [DisplayName]() As String
        Set
            Me(9) = Value
        End Set
    End Property
    Public WriteOnly Property [DisplayName_IsNull] As Boolean
        Set
            If (value)
                SetNull(9)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public WriteOnly Property [EntityLogicalName]() As String
        Set
            Me(10) = Value
        End Set
    End Property
    Public WriteOnly Property [EntityLogicalName_IsNull] As Boolean
        Set
            If (value)
                SetNull(10)
            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 [IsAuditEnabled]() As Boolean
        Set
            Me(11) = Value
        End Set
    End Property
    Public WriteOnly Property [IsAuditEnabled_IsNull] As Boolean
        Set
            If (value)
                SetNull(11)
            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 [IsCustomAttribute]() As Boolean
        Set
            Me(12) = Value
        End Set
    End Property
    Public WriteOnly Property [IsCustomAttribute_IsNull] As Boolean
        Set
            If (value)
                SetNull(12)
            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 [IsCustomizable]() As Boolean
        Set
            Me(13) = Value
        End Set
    End Property
    Public WriteOnly Property [IsCustomizable_IsNull] As Boolean
        Set
            If (value)
                SetNull(13)
            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 [IsManaged]() As Boolean
        Set
            Me(14) = Value
        End Set
    End Property
    Public WriteOnly Property [IsManaged_IsNull] As Boolean
        Set
            If (value)
                SetNull(14)
            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 [IsPrimaryId]() As Boolean
        Set
            Me(15) = Value
        End Set
    End Property
    Public WriteOnly Property [IsPrimaryId_IsNull] As Boolean
        Set
            If (value)
                SetNull(15)
            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 [IsPrimaryName]() As Boolean
        Set
            Me(16) = Value
        End Set
    End Property
    Public WriteOnly Property [IsPrimaryName_IsNull] As Boolean
        Set
            If (value)
                SetNull(16)
            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 [IsRenameable]() As Boolean
        Set
            Me(17) = Value
        End Set
    End Property
    Public WriteOnly Property [IsRenameable_IsNull] As Boolean
        Set
            If (value)
                SetNull(17)
            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 [IsSecured]() As Boolean
        Set
            Me(18) = Value
        End Set
    End Property
    Public WriteOnly Property [IsSecured_IsNull] As Boolean
        Set
            If (value)
                SetNull(18)
            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 [IsValidForAdvancedFind]() As Boolean
        Set
            Me(19) = Value
        End Set
    End Property
    Public WriteOnly Property [IsValidForAdvancedFind_IsNull] As Boolean
        Set
            If (value)
                SetNull(19)
            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 [IsValidForCreate]() As Boolean
        Set
            Me(20) = Value
        End Set
    End Property
    Public WriteOnly Property [IsValidForCreate_IsNull] As Boolean
        Set
            If (value)
                SetNull(20)
            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 [IsValidForRead]() As Boolean
        Set
            Me(21) = Value
        End Set
    End Property
    Public WriteOnly Property [IsValidForRead_IsNull] As Boolean
        Set
            If (value)
                SetNull(21)
            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 [IsValidForUpdate]() As Boolean
        Set
            Me(22) = Value
        End Set
    End Property
    Public WriteOnly Property [IsValidForUpdate_IsNull] As Boolean
        Set
            If (value)
                SetNull(22)
            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 [LinkedAttributeId]() As Guid
        Set
            Me(23) = Value
        End Set
    End Property
    Public WriteOnly Property [LinkedAttributeId_IsNull] As Boolean
        Set
            If (value)
                SetNull(23)
            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 [LogicalName]() As String
        Set
            Me(24) = Value
        End Set
    End Property
    Public WriteOnly Property [LogicalName_IsNull] As Boolean
        Set
            If (value)
                SetNull(24)
            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 [RequiredLevel]() As String
        Set
            Me(25) = Value
        End Set
    End Property
    Public WriteOnly Property [RequiredLevel_IsNull] As Boolean
        Set
            If (value)
                SetNull(25)
            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 [SchemaName]() As String
        Set
            Me(26) = Value
        End Set
    End Property
    Public WriteOnly Property [SchemaName_IsNull] As Boolean
        Set
            If (value)
                SetNull(26)
            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 [MaxLength]() As Int32
        Set
            Me(27) = Value
        End Set
    End Property
    Public WriteOnly Property [MaxLength_IsNull] As Boolean
        Set
            If (value)
                SetNull(27)
            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() {"AttributeOf", "AttributeType", "CanBeSecuredForCreate", "CanBeSecuredForRead", "CanBeSecuredForUpdate", "CanModifyAdditionalSettings", "ColumnNumber", "DeprecatedVersion", "Description", "DisplayName", "EntityLogicalName", "IsAuditEnabled", "IsCustomAttribute", "IsCustomizable", "IsManaged", "IsPrimaryId", "IsPrimaryName", "IsRenameable", "IsSecured", "IsValidForAdvancedFind", "IsValidForCreate", "IsValidForRead", "IsValidForUpdate", "LinkedAttributeId", "LogicalName", "RequiredLevel", "SchemaName", "MaxLength"}
        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[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>SC_a5626cf3ee0b490d8e1ffaee912a535c</msb:CodeName>
    <msb:Language>msBuild</msb:Language>
    <msb:DisplayName>SC_a5626cf3ee0b490d8e1ffaee912a535c</msb:DisplayName>
    <msb:ProjectId>{55DF8C2D-2558-49D4-9E7B-698752581CFA}</msb:ProjectId>
  </msb:PropertyGroup>
  <msb:ItemGroup>
    <msb:Project Include="SC_a5626cf3ee0b490d8e1ffaee912a535c.vbproj" />
    <msb:File Include="main.vb" />
    <msb:File Include="BufferWrapper.vb" />
    <msb:File Include="My Project\Settings.Designer.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.resx]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Resources.Designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On


Namespace My.Resources
    
    '''<summary>
    '''   A strongly-typed resource class, for looking up localized strings, etc.
    '''</summary>
    'This class was auto-generated by the Strongly Typed Resource Builder
    'class via a tool like ResGen or Visual Studio.NET.
    'To add or remove a member, edit your .ResX file then rerun ResGen
    'with the /str option, or rebuild your VS project.
    Class MyResources
        
        Private Shared _resMgr As System.Resources.ResourceManager
        
        Private Shared _resCulture As System.Globalization.CultureInfo
        
        Friend Sub New()
            MyBase.New
        End Sub
        
        '''<summary>
        '''   Returns the cached ResourceManager instance used by this class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager
            Get
                If (_resMgr Is Nothing) Then
                    Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly)
                    _resMgr = temp
                End If
                Return _resMgr
            End Get
        End Property
        
        '''<summary>
        '''   Overrides the current thread's CurrentUICulture property for all
        '''   resource lookups using this strongly typed resource class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared Property Culture() As System.Globalization.CultureInfo
            Get
                Return _resCulture
            End Get
            Set
                _resCulture = value
            End Set
        End Property
    End Class
End Namespace
]]></arrayElement></arrayElements></property><property id="45" 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[SC_a5626cf3ee0b490d8e1ffaee912a535c.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
UwDsMgAAAAARAKQB+QNTAAwzAAAAAAEAkAEBBFQAuiAAAAAABhgtFQYAVQAYMwAAAAADCC0FVwBV
AEwzAAAAAAYYLRUGAFUAAAABALcMAAABAHkFAAABAL0MAAABAL0MAAABAL0MAAABAL0MAAABAIQF
AAABAMcGAAABABYFAAACABoaAAABABYFAAACABoaAAABABYFAAACABoaAAABAPEYAAACACIBAAAD
AKEZAAAEABgUAAAFAAsTAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcM
AAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAAB
ALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcM
AAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAAB
ALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcM
AAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAABALcMAAAB
ALcMAAABALcMAAABAD8YAAACAEIVAAADABQYAAAEAAsTAAABAPEYAAABAPEYAAABAPsSAAABAD0F
AAABAD0FCQAtFQEAEQAtFQYAGQAtFQoAKQAtFRAAMQAtFRAAOQAtFRAAQQAtFRAASQAtFRAAUQAt
FRAAWQAtFRUAYQAtFRUAaQAtFRAAcQAtFRAAeQAtFRAAgQAtFRoAkQAtFSAAqQAtFQYAsQAtFQYA
uQAtFQYA0QAtFSYA6QAtFRAAAQEtFS4ACQEtFRAAEQEtFRAAGQEtFQYA6QEtFRAA8QEtFRAAAQIt
FTQACQItFQYAEQItFRAAGQItFQYAWQItFQYAmQAtFQYAoQAtFQYADAAtFQYAFAAtFQYAHAAtFQYA
JAAtFQYADAAtBVcAFAAtBVcAHAAtBVcAJAAtBVcAwQAtFQYA2QBCBlwA2QD1GWQA8QAtFWoAwQAS
DYsASQJiEo8AIQGXGAYAIQELBZQAcQKuDJkAUQEtFRAAeQITFZ4AUQFtBYsAeQIBFaUAIQFQCAYA
gQIhGrEAKQLPAbYAiQJCErwAkQIvEcIAmQIKARAAQQL+F9MAoQIvEdkAqQJiEo8AIQFyGeAAsQIi
GeYAuQItFQYAuQKKA/IAwQLDDPcAuQLtGf4AgQIpGhEBiQL3FBkBKQK7FCwByQJ7AzIBWQEvETsB
0QKNDEIBWQE3DQYAYQEtFQYAYQHPBhAAYQE4EYEBKQF9DIcB6QIvEZAB8QIdF5UBcQHHDIsAcQFt
B5wBNACNDFcA+QJGBbABAQMSDYsAcQHQCLYBPAChDMYBPACNDFcAcQEUA7YBcQFfCLYBcQE4F8oB
EQONDMYBcQF0E9ABRAChDMYBRACNDFcAcQGXEYsAcQHREuABGQOYF+YBTAD7GPUBTAAvEfkBMQNo
DYsAcQHfBuABcQGbBosAcQG+A8oBcQGRCrYBcQEKBsoBcQGOA7YBcQH0ArYBcQH/BrYBcQGMBcoB
cQHkA7YBcQEXBMoBcQEXCbYBcQFVA7YBcQGmCLYBcQHIAv8BVAChDMYBVACNDFcAcQF7BosAcQGp
DRMCQQONDBkCcQFdBosAkQEbDdABmQEbDdABoQEtFQYAoQGLBhAAoQGsFzsCQQF9DEICYQNAAksC
aQMdF1ECqQHHDIsAqQFtB1gCeQMcEcYBcQONDF4CqQHREmQCgQOKF2oCiQNoDYsAqQHfBmQCqQGb
BosAqQEFBHECkQMcEcYBkQONDMYBqQF7BosAqQGpDXcCmQONDH0CqQFdBosAqQEECXECqQFEA3EC
qQGTCHECwQEbDYMCoQONDPUByQEbDYMCSQFTApoCqQMdF6QC0QHHDIsA0QFkB6sC0QHREosA0QHf
BosA0QEFBMYB0QFUBosA0QGpDbEC0QEECcYB0QFEA8YB0QGTCMYBIQItFbcCIQI4EcYCIQInEQEA
uQMtFRAAyQO/GQYAyQOfGAYAyQOiGMYBQQItFQYAKQIrAdECmQIzFNkCUQItFQYA0QPRFN8C0QOu
GN8CwQCDF+QCwQBhBfUB2QMeBfECZAC1GQgDbACNDFcAbACXDB8DbAAtFQYAKQCrADQGLgALAE4E
LgATAFcELgAbAHYELgAjAH8ELgArAKgELgAzAKgELgA7AH8ELgBDAK4ELgBLAKgELgBTAMUELgBb
AKgELgBjAMsELgBrAPUELgBzAAIFQACLAEwFQACDAFEFQwB7AFoFQwCDAFEFSQCrAEUGYwB7AFoF
YwCDAFEFaQCrAFkGgACLAEwFgwCTAEwFgwCbAEwFgwB7AFoFiQCrAGYGoACLAEwFqQCDAHYEwACL
AEwFwwCzAHMFwwC7ALEFwwDDAL8FwwDLAEwFwwBTAKgEyQCDAHYE4ACLAEwF4wBTAKgE6QDTAHoG
6QDbAKcGAwFTAKgECQHTAL4GCQHjAFEFCQHrAEwFKQHTAP0GKQHzAB4HSQHTADEHSQH7AEwFgwGD
AFEFgwGjANIFowGDAFEFowFbAKgE6QgDAUwFQAxTAKgEgAxTAKgEAA2DAFEFAA2LAEwFIA2DAFEF
IA2LAEwFQA2DAFEFQA2LAEwFYA2DAFEFYA2LAEwFgA2LAEwFoA2LAEwFwA2LAEwFwA2DAFEF4A2L
AEwFAA6LAEwFAA6DAFEFcgCpAMkACQENARQBJAFGAR8CiQLMAukC/AIEAAEABQAFAAYABwAHAAwA
CQBGAAsARwANAEgAAADmFAkEAADVEQ4EAAC2FBMEAACgFRgEAAAjFB0EAADcByIEAACZEicEAADt
BSsEAAARGicEAADvBScEAACmBy8EAADAFy8EAADbDCcEAABoECsEAACUBycEAAC4DysEAADuCCsE
AAAOECsEAAAwAysEAABtDisEAAB9CCsEAADRDysEAABcFysEAAD5ECsEAACJEzQEAADhECsEAACx
EScEAACtECsEAADlEicEAADKECsEAADzBicEAACIDysEAAC1BicEAABrDysEAADVAysEAAC7DisE
AACrCisEAABLECsEAAAhBisEAAAkDysEAACgAysEAACmDisEAAAIAysEAABWDisEAAAVBysEAACf
DysEAAChBSsEAAAMDysEAAD2AysEAADVDisEAAA2BCsEAADqDisEAAAwCSsEAAAvECsEAABsAysE
AACMDisEAAC/CCsEAADyDysEAADiAjgEAAA5DisEAAC7BicEAABxDysEAAD/DScEAACUECsEAABw
BicEAAA+DysEAAAtDTQEAAB/ECsEAADXFy8EAACZEj4EAAC3DEQEAAAxBUkEAgAEAAMAAgAFAAUA
AgAGAAcAAgAHAAkAAgAJAAsAAgAKAA0AAQALAA0AAgARAA8AAQASAA8AAgATABEAAQAUABEAAgAV
ABMAAQAWABMAAgAXABUAAQAYABUAAgAZABcAAgAgABkAAQAhABsAAQAiAB0AAQAjAB8AAQAkACEA
AQAlACMAAQAmACUAAQAnACcAAQAoACkAAQApACsAAQAqAC0AAQArAC8AAQAsADEAAQAtADMAAQAu
ADUAAQAvADcAAQAwADkAAQAxADsAAQAyAD0AAQAzAD8AAQA0AEEAAQA1AEMAAQA2AEUAAQA3AEcA
AQA4AEkAAQA5AEsAAQA6AE0AAQA7AE8AAQA8AFEAAQA9AFMAAQA+AFUAAQA/AFcAAQBAAFkAAQBB
AFsAAQBCAF0AAQBDAF8AAQBEAGEAAQBFAGMAAQBGAGUAAQBHAGcAAQBIAGkAAQBJAGsAAQBKAG0A
AQBLAG8AAQBMAHEAAQBNAHMAAQBOAHUAAQBPAHcAAQBQAHkAAQBRAHsAAQBSAH0AAQBTAH8AAQBU
AIEAAQBVAIMAAQBWAIUAAQBXAIcAAQBYAIkAAgBZAIsAAgBjAI0AAgBnAI8AAgBvAJEAOwBCAEkA
UAAGAacBvwHZAewBCgLuAgEDEAMXAwSAAAABAAAAAAAAAAAAAAAAAHMCAAAEAAAAAAAAAAAAAAAl
A2oCAAAAAAQAAAAAAAAAAAAAACUDQREAAAAACgAAAAAAAAAAAAAALgOyAgAAAAABAAAAAAAAAAAA
AAA3A+sAAAAAAA4AAAAAAAAAAAAAAEADBRkAAAAAAQAAAAAAAAAAAAAANwNMFQAAAAAOAAAAAAAA
AAAAAABAAxUTAAAAAA4AAAAAAAAAAAAAAEADgBkAAAAADgAAAAAAAAAAAAAAQAM4EwAAAAAOAAAA
AAAAAAAAAABAA04BAAAAAAAAAAABAAAAihYAAAwABAANAAQAAAAQABoAbQEAABAA2QBtAQAAAADb
AG0BhQDuAG8B9wJvARoDAAAASURUU0NvbXBvbmVudE1ldGFEYXRhMTAwAElEVFNWYXJpYWJsZTEw
MABJRFRTUnVudGltZUNvbm5lY3Rpb25Db2xsZWN0aW9uMTAwAElEVFNSdW50aW1lQ29ubmVjdGlv
bjEwMABJRFRTQ29ubmVjdGlvbk1hbmFnZXIxMDAASURUU1ZhcmlhYmxlRGlzcGVuc2VyMTAwAElE
VFNWYXJpYWJsZXMxMDAATnVsbGFibGVgMQBDb250ZXh0VmFsdWVgMQBUaHJlYWRTYWZlT2JqZWN0
UHJvdmlkZXJgMQBMaXN0YDEASW50MzIAQ296eVJvYy5TU0lTUGx1cy4yMDE3ADxNb2R1bGU+AHNl
dF9Db25uZWN0aW9uTWFuYWdlcklEAE9iamVjdElEAEdldE91dHB1dElEAENvenlSb2MuU3FsU2Vy
dmVyLlNTSVMATWljcm9zb2Z0LlNxbFNlcnZlci5NYW5hZ2VkRFRTAFQAUHJvY2VzczIwMTFfAFBy
b2Nlc3MzXwBQcm9jZXNzNF8ARGlzcG9zZV9fSW5zdGFuY2VfXwBDcmVhdGVfX0luc3RhbmNlX18A
R2V0VmFyaWFibGVfAEZpcmVFcnJvcl8AZ2V0X0NvbXBvbmVudE1ldGFEYXRhAFByb2plY3REYXRh
AFN0cmluZ0F0dHJpYnV0ZU1ldGFkYXRhAE1lbW9BdHRyaWJ1dGVNZXRhZGF0YQBNYW5hZ2VkUHJv
cGVydHlBdHRyaWJ1dGVNZXRhZGF0YQBnZXRfRW50aXR5TWV0YWRhdGEAUmV0cmlldmVFbnRpdHlN
ZXRhZGF0YQBtc2NvcmxpYgBTQ19hNTYyNmNmM2VlMGI0OTBkOGUxZmZhZWU5MTJhNTM1YwBTeXN0
ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYwBNaWNyb3NvZnQuVmlzdWFsQmFzaWMAZ2V0X0xpbmtlZEF0
dHJpYnV0ZUlkAHNldF9MaW5rZWRBdHRyaWJ1dGVJZABnZXRfSXNQcmltYXJ5SWQAc2V0X0lzUHJp
bWFyeUlkAGdldF9DYW5CZVNlY3VyZWRGb3JSZWFkAHNldF9DYW5CZVNlY3VyZWRGb3JSZWFkAGdl
dF9WYWxpZEZvclJlYWQAZ2V0X0lzVmFsaWRGb3JSZWFkAHNldF9Jc1ZhbGlkRm9yUmVhZABMb2Nr
T25lRm9yUmVhZABBZGQAZ2V0X0lzTWFuYWdlZABzZXRfSXNNYW5hZ2VkAE1hcmtPdXRwdXRzRmlu
aXNoZWQAZ2V0X0lzQXVkaXRFbmFibGVkAHNldF9Jc0F1ZGl0RW5hYmxlZABnZXRfSXNTZWN1cmVk
AHNldF9Jc1NlY3VyZWQAR3VpZABnZXRfSXNDdXN0b21GaWVsZABnZXRfSXNWYWxpZEZvckFkdmFu
Y2VkRmluZABzZXRfSXNWYWxpZEZvckFkdmFuY2VkRmluZABDb3p5Um9jLkR5bmFtaWNzLkNybTMu
U2VydmljZQBDb3p5Um9jLkR5bmFtaWNzLkNybS5TZXJ2aWNlAENvenlSb2MuRHluYW1pY3MuQ3Jt
My5NZXRhZGF0YVNlcnZpY2UAQ296eVJvYy5EeW5hbWljcy5Dcm0uTWV0YWRhdGFTZXJ2aWNlAENy
bVNlcnZpY2UAQ296eVJvYy5EeW5hbWljcy5Dcm0yMDExLk9yZ2FuaXphdGlvblNlcnZpY2UAR2V0
U2VydmljZQBzZXJ2aWNlAENyZWF0ZUluc3RhbmNlAGdldF9HZXRJbnN0YW5jZQBpbnN0YW5jZQBn
ZXRfVmFsdWVBdHRyaWJ1dGVUeXBlQ29kZQBHZXRIYXNoQ29kZQBnZXRfTWVzc2FnZQBlcnJNZXNz
YWdlAG1lc3NhZ2UAZ2V0X0lzUmVuYW1lYWJsZQBzZXRfSXNSZW5hbWVhYmxlAGdldF9FbnRpdHlW
YXJpYWJsZQBzZXRfRW50aXR5VmFyaWFibGUAZ2V0X0lzRW50aXR5VmFyaWFibGUAc2V0X0lzRW50
aXR5VmFyaWFibGUAQ3JtTnVsbGFibGUAZ2V0X0lzQ3VzdG9taXphYmxlAHNldF9Jc0N1c3RvbWl6
YWJsZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBnZXRfTmFtZQBnZXRfU2No
ZW1hTmFtZQBzZXRfU2NoZW1hTmFtZQBnZXRfTG9naWNhbE5hbWUAc2V0X0xvZ2ljYWxOYW1lAGdl
dF9FbnRpdHlMb2dpY2FsTmFtZQBzZXRfRW50aXR5TG9naWNhbE5hbWUAdmFyTmFtZQBzZXRfUmVx
dWVzdE5hbWUAZ2V0X0Rpc3BsYXlOYW1lAHNldF9EaXNwbGF5TmFtZQBnZXRfSXNQcmltYXJ5TmFt
ZQBzZXRfSXNQcmltYXJ5TmFtZQBNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lAE1pY3Jv
c29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5lAGdldF9UeXBlAGdldF9BdHRyaWJ1dGVUeXBlAHNl
dF9BdHRyaWJ1dGVUeXBlAENybUF0dHJpYnV0ZVR5cGUAZ2V0X0NybUNvbm5lY3Rpb25UeXBlAEdl
dFR5cGUAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAX3Jlc0N1bHR1cmUAQXBwbGljYXRpb25CYXNl
AEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAE1ldGFkYXRhU2VydmljZVJlc3BvbnNlAE9yZ2FuaXph
dGlvblJlc3BvbnNlAFJldHJpZXZlRW50aXR5UmVzcG9uc2UAQ2xvc2UAVmFsaWRhdGUAZ2V0X0Nh
bkJlU2VjdXJlZEZvclVwZGF0ZQBzZXRfQ2FuQmVTZWN1cmVkRm9yVXBkYXRlAGdldF9WYWxpZEZv
clVwZGF0ZQBnZXRfSXNWYWxpZEZvclVwZGF0ZQBzZXRfSXNWYWxpZEZvclVwZGF0ZQBnZXRfQ2Fu
QmVTZWN1cmVkRm9yQ3JlYXRlAHNldF9DYW5CZVNlY3VyZWRGb3JDcmVhdGUAZ2V0X1ZhbGlkRm9y
Q3JlYXRlAGdldF9Jc1ZhbGlkRm9yQ3JlYXRlAHNldF9Jc1ZhbGlkRm9yQ3JlYXRlAEVkaXRvckJy
b3dzYWJsZVN0YXRlAEd1aWRBdHRyaWJ1dGUASGVscEtleXdvcmRBdHRyaWJ1dGUAR2VuZXJhdGVk
Q29kZUF0dHJpYnV0ZQBEZWJ1Z2dlck5vblVzZXJDb2RlQXR0cmlidXRlAERlYnVnZ2FibGVBdHRy
aWJ1dGUAVmFyaWFibGVBdHRyaWJ1dGUARWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlAENvbVZpc2li
bGVBdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBTdGFuZGFyZE1vZHVsZUF0dHJpYnV0
ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBUYXJn
ZXRGcmFtZXdvcmtBdHRyaWJ1dGUATm9uRXNzZW50aWFsQXR0cmlidXRlAGdldF9Jc0N1c3RvbUF0
dHJpYnV0ZQBzZXRfSXNDdXN0b21BdHRyaWJ1dGUARGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUAQXNz
ZW1ibHlGaWxlVmVyc2lvbkF0dHJpYnV0ZQBNeUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBDb25u
ZWN0aW9uQXR0cmlidXRlAEFzc2VtYmx5RGVzY3JpcHRpb25BdHRyaWJ1dGUAVmFsaWRhdGVQcm9w
ZXJ0aWVzQXR0cmlidXRlAFJlZnJlc2hQcm9wZXJ0aWVzQXR0cmlidXRlAEZpbHRlclByb3BlcnRp
ZXNBdHRyaWJ1dGUAU29ydFByb3BlcnRpZXNBdHRyaWJ1dGUAQ29tcGlsYXRpb25SZWxheGF0aW9u
c0F0dHJpYnV0ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRy
aWJ1dGUAQ0xTQ29tcGxpYW50QXR0cmlidXRlAFNTSVNTY3JpcHRDb21wb25lbnRFbnRyeVBvaW50
QXR0cmlidXRlAExpc3RBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAFJ1bnRpbWVD
b21wYXRpYmlsaXR5QXR0cmlidXRlAEV4ZWN1dGUAbV9WYWx1ZQBnZXRfVmFsdWUAc2V0X1ZhbHVl
AGdldF9IYXNWYWx1ZQBHZXRPYmplY3RWYWx1ZQB2YWx1ZQBJSWYAZ2V0X0F0dHJpYnV0ZU9mAHNl
dF9BdHRyaWJ1dGVPZgBTeXN0ZW0uVGhyZWFkaW5nAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcA
VG9TdHJpbmcAZ2V0X01heExlbmd0aABzZXRfTWF4TGVuZ3RoAFVubG9jawBNaWNyb3NvZnQuVmlz
dWFsQmFzaWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABnZXRfTGFiZWwATG9jTGFiZWwATG9jYWxpemVk
TGFiZWwAQ3JtTGFiZWwAU3lzdGVtLkNvbXBvbmVudE1vZGVsAGdldF9SZXF1aXJlZExldmVsAHNl
dF9SZXF1aXJlZExldmVsAENybUF0dHJpYnV0ZVJlcXVpcmVkTGV2ZWwATWFuYWdlZFByb3BlcnR5
QXR0cmlidXRlUmVxdWlyZWRMZXZlbABTQ19hNTYyNmNmM2VlMGI0OTBkOGUxZmZhZWU5MTJhNTM1
Yy5kbGwAc2V0X0xpbmtlZEF0dHJpYnV0ZUlkX0lzTnVsbABzZXRfSXNQcmltYXJ5SWRfSXNOdWxs
AHNldF9DYW5CZVNlY3VyZWRGb3JSZWFkX0lzTnVsbABzZXRfSXNWYWxpZEZvclJlYWRfSXNOdWxs
AHNldF9Jc01hbmFnZWRfSXNOdWxsAHNldF9Jc0F1ZGl0RW5hYmxlZF9Jc051bGwAc2V0X0lzU2Vj
dXJlZF9Jc051bGwAc2V0X0lzVmFsaWRGb3JBZHZhbmNlZEZpbmRfSXNOdWxsAHNldF9Jc1JlbmFt
ZWFibGVfSXNOdWxsAHNldF9Jc0N1c3RvbWl6YWJsZV9Jc051bGwAc2V0X1NjaGVtYU5hbWVfSXNO
dWxsAHNldF9Mb2dpY2FsTmFtZV9Jc051bGwAc2V0X0VudGl0eUxvZ2ljYWxOYW1lX0lzTnVsbABz
ZXRfRGlzcGxheU5hbWVfSXNOdWxsAHNldF9Jc1ByaW1hcnlOYW1lX0lzTnVsbABzZXRfQXR0cmli
dXRlVHlwZV9Jc051bGwAc2V0X0NhbkJlU2VjdXJlZEZvclVwZGF0ZV9Jc051bGwAc2V0X0lzVmFs
aWRGb3JVcGRhdGVfSXNOdWxsAHNldF9DYW5CZVNlY3VyZWRGb3JDcmVhdGVfSXNOdWxsAHNldF9J
c1ZhbGlkRm9yQ3JlYXRlX0lzTnVsbABzZXRfSXNDdXN0b21BdHRyaWJ1dGVfSXNOdWxsAHNldF9B
dHRyaWJ1dGVPZl9Jc051bGwAc2V0X01heExlbmd0aF9Jc051bGwAc2V0X1JlcXVpcmVkTGV2ZWxf
SXNOdWxsAHNldF9EZXByZWNhdGVkVmVyc2lvbl9Jc051bGwAc2V0X0Rlc2NyaXB0aW9uX0lzTnVs
bABzZXRfQ29sdW1uTnVtYmVyX0lzTnVsbABzZXRfQ2FuTW9kaWZ5QWRkaXRpb25hbFNldHRpbmdz
X0lzTnVsbABnZXRfSXNOdWxsAFNldE51bGwAZ2V0X0l0ZW0Ac2V0X0l0ZW0AU3lzdGVtAEVudW0A
Q3JtQm9vbGVhbgBNYW5hZ2VkUHJvcGVydHlib29sZWFuAFN5c3RlbS5Db21wb25lbnRNb2RlbC5E
ZXNpZ24AU2NyaXB0TWFpbgBnZXRfRGVwcmVjYXRlZFZlcnNpb24Ac2V0X0RlcHJlY2F0ZWRWZXJz
aW9uAGdldF9BcHBsaWNhdGlvbgBNeUFwcGxpY2F0aW9uAFN5c3RlbS5Db25maWd1cmF0aW9uAFN5
c3RlbS5HbG9iYWxpemF0aW9uAEludGVyYWN0aW9uAFN5c3RlbS5SZWZsZWN0aW9uAExvY2FsaXpl
ZExhYmVsQ29sbGVjdGlvbgBnZXRfUnVudGltZUNvbm5lY3Rpb25Db2xsZWN0aW9uAEFjcXVpcmVD
b25uZWN0aW9uAElDcm1Db25uZWN0aW9uAGdldF9Dcm1Db25uZWN0aW9uAHNldF9Dcm1Db25uZWN0
aW9uAG1fY3JtQ29ubmVjdGlvbgBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uAGdldF9EZXNjcmlw
dGlvbgBzZXRfRGVzY3JpcHRpb24AQ3VsdHVyZUluZm8AT3V0cHV0TmFtZU1hcABPdXRwdXRNYXAA
TWljcm9zb2Z0LlNxbFNlcnZlci5EVFNSdW50aW1lV3JhcABNaWNyb3NvZnQuU3FsU2VydmVyLkRU
U1BpcGVsaW5lV3JhcABtX2lzRW50aXR5VmFyAENybU51bWJlcgBnZXRfQ29sdW1uTnVtYmVyAHNl
dF9Db2x1bW5OdW1iZXIAbV9BcHBPYmplY3RQcm92aWRlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBt
X0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAUGlw
ZWxpbmVCdWZmZXIAU2NyaXB0QnVmZmVyAE91dHB1dEJ1ZmZlcgBnZXRfUmVzb3VyY2VNYW5hZ2Vy
AGdldF9Db25uZWN0aW9uTWFuYWdlcgBTeXN0ZW0uQ29kZURvbS5Db21waWxlcgBNaWNyb3NvZnQu
U3FsU2VydmVyLkR0cy5SdW50aW1lLldyYXBwZXIATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUGlw
ZWxpbmUuV3JhcHBlcgBnZXRfVXNlcgBnZXRfVmFyaWFibGVEaXNwZW5zZXIARW50ZXIAZ2V0X0Nv
bXB1dGVyAE15Q29tcHV0ZXIAX3Jlc01ncgBGaXJlRXJyb3IAQ2xlYXJQcm9qZWN0RXJyb3IAU2V0
UHJvamVjdEVycm9yAEFjdGl2YXRvcgAuY3RvcgAuY2N0b3IATW9uaXRvcgBPdXRwdXRJRHMAQ296
eVJvYy5EeW5hbWljcwBTeXN0ZW0uRGlhZ25vc3RpY3MATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkRl
dmljZXMAZ2V0X1dlYlNlcnZpY2VzAE15V2ViU2VydmljZXMATWljcm9zb2Z0LlZpc3VhbEJhc2lj
LkFwcGxpY2F0aW9uU2VydmljZXMAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAE1pY3Jv
c29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVy
U2VydmljZXMAU3lzdGVtLlJlc291cmNlcwBTQ19hNTYyNmNmM2VlMGI0OTBkOGUxZmZhZWU5MTJh
NTM1Yy5NeS5SZXNvdXJjZXMATXlSZXNvdXJjZXMAU0NfYTU2MjZjZjNlZTBiNDkwZDhlMWZmYWVl
OTEyYTUzNWMuUmVzb3VyY2VzLnJlc291cmNlcwBEZWJ1Z2dpbmdNb2RlcwBSZWZyZXNoUHJvcGVy
dGllcwBHZXRQcm9wZXJ0aWVzAFZhcmlhYmxlcwBDb3p5Um9jLlNxbFNlcnZlci5TU0lTLkF0dHJp
YnV0ZXMAZ2V0X0F0dHJpYnV0ZXMARW50aXR5RmxhZ3MAZ2V0X0Nhbk1vZGlmeUFkZGl0aW9uYWxT
ZXR0aW5ncwBzZXRfQ2FuTW9kaWZ5QWRkaXRpb25hbFNldHRpbmdzAE15U2V0dGluZ3MARXF1YWxz
AGdldF9Mb2NMYWJlbHMAZ2V0X0xvY2FsaXplZExhYmVscwBzZXRfRW50aXR5SXRlbXMAZ2V0X1N0
YXRpY0lucHV0Q29sdW1ucwBnZXRfU3RhdGljT3V0cHV0Q29sdW1ucwBTeXN0ZW0uQ29sbGVjdGlv
bnMAZ2V0X0Rlc2lnbkNvbm5lY3Rpb25zAEJ1ZmZlcnMAUnVudGltZUhlbHBlcnMARW50aXR5Rmls
dGVycwBGaW5pc2hPdXRwdXRzAFNjcmlwdEJ1ZmZlclBsdXMAU2NyaXB0Q29tcG9uZW50UGx1cwBD
cmVhdGVOZXdPdXRwdXRSb3dzAG1fU3luY09iamVjdABNeVByb2plY3QAQ29ubmVjdABTZXRFbmRP
ZlJvd3NldABFeGl0AE9yZ2FuaXphdGlvblNlcnZpY2VDbGllbnQAVXNlckNvbXBvbmVudABQYXJl
bnRDb21wb25lbnQAU2NyaXB0Q29tcG9uZW50AGdldF9Db3VudABNaWNyb3NvZnQuU3FsU2VydmVy
LlR4U2NyaXB0AFNvcnQATWV0YWRhdGFTZXJ2aWNlUmVxdWVzdABPcmdhbml6YXRpb25SZXF1ZXN0
AFJldHJpZXZlRW50aXR5UmVxdWVzdABBcnJheUxpc3QAR2V0RW50aXR5TGlzdABNaWNyb3NvZnQu
U3FsU2VydmVyLlBpcGVsaW5lSG9zdABJc0lucHV0AFByaW1lT3V0cHV0AG1fQ29udGV4dABBZGRS
b3cAU0NfYTU2MjZjZjNlZTBiNDkwZDhlMWZmYWVlOTEyYTUzNWMuTXkAVG9BcnJheQBnZXRfQXNz
ZW1ibHkAZ2V0X0VudGl0eQBzZXRfRW50aXR5AG1fZW50aXR5AElzTnVsbE9yRW1wdHkAQXR0cmli
dXRlUmVxdWlyZWRMZXZlbE1hbmFnZWRQcm9wZXJ0eQBCb29sZWFuTWFuYWdlZFByb3BlcnR5AAAx
TQB5AC4AUgBlAHMAbwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAADNVAG4AaABh
AG4AZABsAGUAZAAgAHMAZQByAHYAaQBjAGUAIABvAGIAagBlAGMAdAAuAAA/UwBlAGwAZQBjAHQA
IABEAHkAbgBhAG0AaQBjAHMAIABDAFIATQAgAEMAbwBuAG4AZQBjAHQAaQBvAG4ALgAAN1MAZQBs
AGUAYwB0ACAARAB5AG4AYQBtAGkAYwBzACAAQwBSAE0AIABFAG4AdABpAHQAeQAuAAAbQwByAG0A
QwBvAG4AbgBlAGMAdABpAG8AbgAAIUkAcwBFAG4AdABpAHQAeQBWAGEAcgBpAGEAYgBsAGUAAB1F
AG4AdABpAHQAeQBWAGEAcgBpAGEAYgBsAGUAAA1FAG4AdABpAHQAeQAAGUQAWQBOAEEATQBJAEMA
UwAtAEMAUgBNAAE9RAB5AG4AYQBtAGkAYwBzACAAQwBSAE0AIABBAHQAdAByAGkAYgB1AHQAZQBz
ACAAUwBvAHUAcgBjAGUAAB1SAGUAdAByAGkAZQB2AGUARQBuAHQAaQB0AHkAABdMAG8AZwBpAGMA
YQBsAE4AYQBtAGUAABVNAGUAdABhAGQAYQB0AGEASQBkAAArUgBlAHQAcgBpAGUAdgBlAEEAcwBJ
AGYAUAB1AGIAbABpAHMAaABlAGQAABtFAG4AdABpAHQAeQBGAGkAbAB0AGUAcgBzAAAdRQBuAHQA
aQB0AHkATQBlAHQAYQBkAGEAdABhAACAm0kAcwBOAHUAbABsACAAcAByAG8AcABlAHIAdAB5ACAA
YwBhAG4AbgBvAHQAIABiAGUAIABzAGUAdAAgAHQAbwAgAEYAYQBsAHMAZQAuACAAQQBzAHMAaQBn
AG4AIABhACAAdgBhAGwAdQBlACAAdABvACAAdABoAGUAIABjAG8AbAB1AG0AbgAgAGkAbgBzAHQA
ZQBhAGQALgAAF0EAdAB0AHIAaQBiAHUAdABlAE8AZgAAG0EAdAB0AHIAaQBiAHUAdABlAFQAeQBw
AGUAACtDAGEAbgBCAGUAUwBlAGMAdQByAGUAZABGAG8AcgBDAHIAZQBhAHQAZQAAJ0MAYQBuAEIA
ZQBTAGUAYwB1AHIAZQBkAEYAbwByAFIAZQBhAGQAACtDAGEAbgBCAGUAUwBlAGMAdQByAGUAZABG
AG8AcgBVAHAAZABhAHQAZQAAN0MAYQBuAE0AbwBkAGkAZgB5AEEAZABkAGkAdABpAG8AbgBhAGwA
UwBlAHQAdABpAG4AZwBzAAAZQwBvAGwAdQBtAG4ATgB1AG0AYgBlAHIAACNEAGUAcAByAGUAYwBh
AHQAZQBkAFYAZQByAHMAaQBvAG4AABdEAGUAcwBjAHIAaQBwAHQAaQBvAG4AABdEAGkAcwBwAGwA
YQB5AE4AYQBtAGUAACNFAG4AdABpAHQAeQBMAG8AZwBpAGMAYQBsAE4AYQBtAGUAAB1JAHMAQQB1
AGQAaQB0AEUAbgBhAGIAbABlAGQAACNJAHMAQwB1AHMAdABvAG0AQQB0AHQAcgBpAGIAdQB0AGUA
AB1JAHMAQwB1AHMAdABvAG0AaQB6AGEAYgBsAGUAABNJAHMATQBhAG4AYQBnAGUAZAAAF0kAcwBQ
AHIAaQBtAGEAcgB5AEkAZAAAG0kAcwBQAHIAaQBtAGEAcgB5AE4AYQBtAGUAABlJAHMAUgBlAG4A
YQBtAGUAYQBiAGwAZQAAE0kAcwBTAGUAYwB1AHIAZQBkAAAtSQBzAFYAYQBsAGkAZABGAG8AcgBB
AGQAdgBhAG4AYwBlAGQARgBpAG4AZAAAIUkAcwBWAGEAbABpAGQARgBvAHIAQwByAGUAYQB0AGUA
AB1JAHMAVgBhAGwAaQBkAEYAbwByAFIAZQBhAGQAACFJAHMAVgBhAGwAaQBkAEYAbwByAFUAcABk
AGEAdABlAAAjTABpAG4AawBlAGQAQQB0AHQAcgBpAGIAdQB0AGUASQBkAAAbUgBlAHEAdQBpAHIA
ZQBkAEwAZQB2AGUAbAAAFVMAYwBoAGUAbQBhAE4AYQBtAGUAABNNAGEAeABMAGUAbgBnAHQAaAAA
DU8AdQB0AHAAdQB0AAALRENcGgPyQ4mvJx7+SxdYAAQgAQEIAyAAAQUgAQEREQQgAQEOBCABAQIF
IAIBDg4FIAEBEUUHIAQBDg4ODgUgAQEdDgYgAQERgP0GFRI0ARIMBhUSNAESCAYVEjQBEmUGFRI0
ARIwBCAAEwAHAAESbRGBMQUgABKBNQcgAgEOEoE1GAcIDhKAkRKAlRKAmRKAnRKAoRKApRKAqQMg
AA4EIAEcHAQgARwIBAABHBwGAAEBEoCpAwAAAQcHAwICEoCpBAABAg4FIAASgUUFIAASgUkGIAES
gU0cCQcDHQ4dDhKAkQUgABKBUQYgARKBVRwFIAEdDggHEAEBAR0eAAMKAQ4EIAEIHAYAAxwCHBwH
IAESgVkSbQIdDgMHAQ4DBwECAgYOBAcBHQ4KIAYBCA4ODggQAgcHAxwcEoCtBSAAEoFlCCACAQ4Q
EoCtBiABEoFpHAMgABw6Bw4SgLERgLUdEoC5CBKAuRIcEYC9FRGAwQERgL0VEYDBAQIVEYDBAQgV
EYDBARGAtRGAxRKAyRKAzQUgAgEOHAggARKBdRKAsQQgARwOBiAAHRKAuQogABURgMEBEYC9CBUR
gMEBEYC9BSAAEYC9CCAAFRGAwQECBhURgMEBAgMgAAIFIAASgYUIIAAVEYDBAQgGFRGAwQEIBSAA
EoGNBSAAEoGRCBUSgZUBEoGZAyAACAUgARMACAogABURgMEBEYC1CBURgMEBEYC1BSAAEoGdBSAA
EYDFGwcJEoDRHRKA1QgSgNUSHBGA2RGA3RKA4RKA5QYgAQERgaUIIAESgakSga0FIAASgbUGIAAd
EoDVBSAAEoG5BSAAEYDZBSAAEoHBBiAAHRKBxQUgABKByQUgABKBzQUgABGA3QUgABKB0RAHBR0S
gOkIEoDpEYDtEYDxCSACEoHVDhGB2QYgAB0SgOkFIAARgO0FIAARgPEOIAUBEoEVCAISgRkSgR0F
IAIBCBwEBwIICAcAAggSgR0OBSAAEoElBAABARwEIAECHAQHAR4AAh4ABRABAB4ABAoBHgAEBwET
AAYVEjQBEwAHBhUScQETAAYVEnEBEwACEwAECgETAAUgAQETAAi3elxWGTTgiQiwP19/EdUKOggW
z0kLuAw06giJhF3NgIDMkQcGFRI0ARIMBwYVEjQBEggHBhUSNAESZQcGFRI0ARIwAwYSeQMGEn0C
BgIDBhIkAwYSKAMGEhwEBhKBFQMGEiwCBhwEAAASDAQAABIIBAAAEmUEAAASMAQAABJ5BAAAEn0F
AAEBEn0FIAECEA4EIAAdDgcgAgESgJUOByACARKAoQ4HIAIBEoClDgYgAQERgLUNIAQBCB0IHRKB
GRKBHQYgAQESgRUEAAASLAQgABJtBxABAR4AHgAHMAEBARAeAAQIABIMBAgAEggECAASZQQIABIw
BAgAEnkECAASfQMoAA4DKAACBCgAHQ4DKAAIBSgAEYC1BSgAEoElBAgAEiwEKAATAAgBAAgAAAAA
AB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlvblRocm93cwEIAQACAAAAAAAoAQAjU0NfYTU2MjZjZjNl
ZTBiNDkwZDhlMWZmYWVlOTEyYTUzNWMAAAUBAAAAABYBABFDb3B5cmlnaHQgQCAgMjAxOQAABQEA
AQAAKQEAJGRiZWMxMjdiLWE3OTktNGFlMi1hYWEyLTQ3OGYzMTk4NmQ0YQAADAEABzEuMC4wLjAA
AEkBABouTkVURnJhbWV3b3JrLFZlcnNpb249djQuNQEAVA4URnJhbWV3b3JrRGlzcGxheU5hbWUS
Lk5FVCBGcmFtZXdvcmsgNC41BAEAAAAIAQABAAAAAAAYAQAKTXlUZW1wbGF0ZQgxMS4wLjAuMAAA
PQEABAAAAA1Dcm1Db25uZWN0aW9uEElzRW50aXR5VmFyaWFibGUGRW50aXR5DkVudGl0eVZhcmlh
YmxlAAANAQAIVmFsaWRhdGUAABIBAA1HZXRQcm9wZXJ0aWVzAABhAQA0U3lzdGVtLldlYi5TZXJ2
aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18T
RGlzcG9zZV9fSW5zdGFuY2VfXwAAABABAAtNeS5Db21wdXRlcgAAEwEADk15LkFwcGxpY2F0aW9u
AAAMAQAHTXkuVXNlcgAAEwEADk15LldlYlNlcnZpY2VzAAAsAQAnU2VsZWN0IER5bmFtaWNzIENS
TSBDb25uZWN0aW9uIE1hbmFnZXIuAAAWAQARQ3JtQ29ubmVjdGlvblR5cGUAAD4BADlTcGVjaWZp
ZXMgaWYgRW50aXR5IHByb3BlcnR5IHJlZmVyZW5jZXMgcGFja2FnZSB2YXJpYWJsZS4AACABABtT
ZWxlY3QgRHluYW1pY3MgQ1JNIGVudGl0eS4AABIBAA1HZXRFbnRpdHlMaXN0AAAqAQAlU3BlY2lm
aWVzIHZhcmlhYmxlIGNvbnRhaW5pbmcgZW50aXR5LgAAtAAAAM7K774BAAAAkQAAAGxTeXN0ZW0u
UmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0
dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJlc291
cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQQURQtAAAAEh0AAAAAAAAAAAA
AGJ0AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUdAAAAAAAAAAAAAAAAF9Db3JEbGxNYWluAG1z
Y29yZWUuZGxsAAAAAAD/JQAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAAgAAAAAAAAAAAAAAAAAAAAQABAAAA
MAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFiAAADsAwAAAAAAAAAAAADsAzQAAABWAFMAXwBW
AEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAAAAEAAAAAAAAAAQAAAAAAPwAAAAAA
AAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAE
AAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAETAMAAAEAUwB0AHIAaQBuAGcARgBpAGwA
ZQBJAG4AZgBvAAAAKAMAAAEAMAAwADAAMAAwADQAYgAwAAAAGgABAAEAQwBvAG0AbQBlAG4AdABz
AAAAAAAAACIAAQABAEMAbwBtAHAAYQBuAHkATgBhAG0AZQAAAAAAAAAAAHAAJAABAEYAaQBsAGUA
RABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAABTAEMAXwBhADUANgAyADYAYwBmADMAZQBlADAAYgA0
ADkAMABkADgAZQAxAGYAZgBhAGUAZQA5ADEAMgBhADUAMwA1AGMAAAAwAAgAAQBGAGkAbABlAFYA
ZQByAHMAaQBvAG4AAAAAADEALgAwAC4AMAAuADAAAABwACgAAQBJAG4AdABlAHIAbgBhAGwATgBh
AG0AZQAAAFMAQwBfAGEANQA2ADIANgBjAGYAMwBlAGUAMABiADQAOQAwAGQAOABlADEAZgBmAGEA
ZQBlADkAMQAyAGEANQAzADUAYwAuAGQAbABsAAAASAASAAEATABlAGcAYQBsAEMAbwBwAHkAcgBp
AGcAaAB0AAAAQwBvAHAAeQByAGkAZwBoAHQAIABAACAAIAAyADAAMQA5AAAAKgABAAEATABlAGcA
YQBsAFQAcgBhAGQAZQBtAGEAcgBrAHMAAAAAAAAAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBp
AGwAZQBuAGEAbQBlAAAAUwBDAF8AYQA1ADYAMgA2AGMAZgAzAGUAZQAwAGIANAA5ADAAZAA4AGUA
MQBmAGYAYQBlAGUAOQAxADIAYQA1ADMANQBjAC4AZABsAGwAAABoACQAAQBQAHIAbwBkAHUAYwB0
AE4AYQBtAGUAAAAAAFMAQwBfAGEANQA2ADIANgBjAGYAMwBlAGUAMABiADQAOQAwAGQAOABlADEA
ZgBmAGEAZQBlADkAMQAyAGEANQAzADUAYwAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBp
AG8AbgAAADEALgAwAC4AMAAuADAAAAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkA
bwBuAAAAMQAuADAALgAwAC4AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAABwAAAMAAAAdDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAA]]></arrayElement></arrayElements></property><property id="46" 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">SC_a5626cf3ee0b490d8e1ffaee912a535c</property><property id="47" name="ScriptLanguage" dataType="System.String" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">VisualBasic</property><property id="53" name="UserComponentTypeName" dataType="System.String">CozyRoc.ScriptComponentHostPlus</property></properties><connections><connection id="54" name="CrmConnection" connectionManagerID="{B1933769-0E45-44F6-B37D-4939B70ECFF6}" /></connections><outputs><output id="55" name="Output" hasSideEffects="true"><outputColumns><outputColumn id="56" name="AttributeOf" lineageId="56" length="250" dataType="wstr" /><outputColumn id="57" name="AttributeType" lineageId="57" length="50" dataType="wstr" /><outputColumn id="58" name="CanBeSecuredForCreate" lineageId="58" dataType="bool" /><outputColumn id="59" name="CanBeSecuredForRead" lineageId="59" dataType="bool" /><outputColumn id="60" name="CanBeSecuredForUpdate" lineageId="60" dataType="bool" /><outputColumn id="61" name="CanModifyAdditionalSettings" lineageId="61" dataType="bool" /><outputColumn id="62" name="ColumnNumber" lineageId="62" dataType="i4" /><outputColumn id="63" name="DeprecatedVersion" lineageId="63" length="50" dataType="wstr" /><outputColumn id="64" name="Description" lineageId="64" length="250" dataType="wstr" /><outputColumn id="65" name="DisplayName" lineageId="65" length="250" dataType="wstr" /><outputColumn id="66" name="EntityLogicalName" lineageId="66" length="250" dataType="wstr" /><outputColumn id="67" name="IsAuditEnabled" lineageId="67" dataType="bool" /><outputColumn id="68" name="IsCustomAttribute" lineageId="68" dataType="bool" /><outputColumn id="69" name="IsCustomizable" lineageId="69" dataType="bool" /><outputColumn id="70" name="IsManaged" lineageId="70" dataType="bool" /><outputColumn id="71" name="IsPrimaryId" lineageId="71" dataType="bool" /><outputColumn id="72" name="IsPrimaryName" lineageId="72" dataType="bool" /><outputColumn id="73" name="IsRenameable" lineageId="73" dataType="bool" /><outputColumn id="74" name="IsSecured" lineageId="74" dataType="bool" /><outputColumn id="75" name="IsValidForAdvancedFind" lineageId="75" dataType="bool" /><outputColumn id="76" name="IsValidForCreate" lineageId="76" dataType="bool" /><outputColumn id="77" name="IsValidForRead" lineageId="77" dataType="bool" /><outputColumn id="78" name="IsValidForUpdate" lineageId="78" dataType="bool" /><outputColumn id="79" name="LinkedAttributeId" lineageId="79" dataType="guid" /><outputColumn id="80" name="LogicalName" lineageId="80" length="250" dataType="wstr" /><outputColumn id="81" name="RequiredLevel" lineageId="81" length="50" dataType="wstr" /><outputColumn id="82" name="SchemaName" lineageId="82" length="250" dataType="wstr" /><outputColumn id="83" name="MaxLength" lineageId="83" dataType="i4" /></outputColumns><externalMetadataColumns /></output></outputs></component>