<?xml version="1.0"?>
<ScriptProject Name="ST_5cca65920b364f7691d7cf7160e8fe39" VSTAMajorVersion="15" VSTAMinorVersion="0" Language="VisualBasic">
  <ProjectItem Name="ScriptMain.vb" Encoding="UTF8">
<![CDATA[Option Explicit On

' Microsoft SQL Server Integration Services Script Task
'
' Copyright (c) 2006-2015 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.Net
Imports System.Net.Security
Imports System.ComponentModel
Imports System.Collections
Imports System.Web
Imports System.Security.Cryptography.X509Certificates

Imports Microsoft.SqlServer.Dts.Runtime
Imports CozyRoc.SqlServer.SSIS.Attributes


<SortProperties(New String() {
    "Username", "Password", "ProxyUrl", "IgnoreServerCertificate", "Timeout",
    "Action", "RemoteUrl", "SourceFile", "TargetFile", "Method", "Headers"})>
<FilterProperties("GetProperties")>
<ValidateProperties("Validate")>
<Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute()>
<System.CLSCompliantAttribute(False)>
Partial Public Class ScriptMain
    Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Extension to support request timeout.
    Private Class WebClientEx
        Inherits WebClient


        Protected Overrides Function GetWebRequest(ByVal address As Uri) As WebRequest
            Dim request As WebRequest = MyBase.GetWebRequest(address)

            request.Timeout = m_timeout

            GetWebRequest = request
        End Function    ' GetWebRequest


#Region "Properties"
        Public Property Timeout() As Integer
            Get
                Timeout = m_timeout
            End Get
            Set(ByVal value As Integer)
                m_timeout = value
            End Set
        End Property    ' Timeout
#End Region ' Properties


#Region "Attributes"
        Private m_timeout As Integer
#End Region ' Attributes
    End Class   ' WebClientEx


#Region "ScriptResults declaration"
    'This enum provides a convenient shorthand within the scope of this class for setting the
    'result of the script.

    'This code was generated automatically.
    Enum ScriptResults
        Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
        Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
    End Enum
#End Region


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Sub Main()
        Dim result As Integer
        Dim client As WebClientEx
        Dim fireAgain As Boolean

        If Me.IgnoreServerCertificate Then
            ' Disable server certificate validation.
            ServicePointManager.ServerCertificateValidationCallback = DirectCast(
                System.Delegate.Combine(
                    ServicePointManager.ServerCertificateValidationCallback,
                    New RemoteCertificateValidationCallback(AddressOf BypassCertificateVerification_)),
                RemoteCertificateValidationCallback)
        End If

        Try
            ' Setup client connection.
            client = New WebClientEx()

            Call client.Headers.Add(HttpRequestHeader.UserAgent, "COZYROC HTTP Upload/Download Script")

            Call SetupHeaders_(client.Headers)

            If Not String.IsNullOrEmpty(Me.ProxyUrl) Then
                ' Include proxy.
                Dim proxy As WebProxy = New WebProxy(Me.ProxyUrl)
                proxy.UseDefaultCredentials = True
                client.Proxy = proxy
            End If

            If Not String.IsNullOrEmpty(Me.Username) Then
                ' Include username/password credentials.
                client.Credentials = New NetworkCredential(Me.Username, Me.Password)
            End If

            client.Timeout = Me.Timeout
            If client.Timeout <> -1 Then
                client.Timeout *= 1000
            End If

            ' Execute the action.
            Select Case Me.Action
                Case "Upload File"
                    Call Dts.Events.FireInformation(
                        0,
                        String.Empty,
                        String.Format("Uploading '{0}' to '{1}'", Me.SourceFile, Me.RemoteUrl),
                        String.Empty,
                        0,
                        fireAgain)

                    Call client.UploadFile(
                        HttpUtility.UrlPathEncode(Me.RemoteUrl),
                        Me.Method,
                        GetConnectionFile_(Me.SourceFile))

                Case "Download File"
                    Call Dts.Events.FireInformation(
                        0,
                        String.Empty,
                        String.Format("Downloading '{0}' from '{1}'", Me.TargetFile, Me.RemoteUrl),
                        String.Empty,
                        0,
                        fireAgain)

                    Call client.DownloadFile(
                        HttpUtility.UrlPathEncode(Me.RemoteUrl),
                        GetConnectionFile_(Me.TargetFile))

                Case Else
                    Throw New Exception("Unhandled task action.")
            End Select

            result = ScriptResults.Success
        Catch ex As Exception
            result = ScriptResults.Failure
            Call Dts.Events.FireError(0, String.Empty, ex.Message, String.Empty, 0)
        Finally
            If Me.IgnoreServerCertificate Then
                ' Enable server certificate validation.
                ServicePointManager.ServerCertificateValidationCallback = DirectCast(
                    System.Delegate.Remove(
                        ServicePointManager.ServerCertificateValidationCallback,
                        New RemoteCertificateValidationCallback(AddressOf BypassCertificateVerification_)),
                    RemoteCertificateValidationCallback)
            End If
        End Try

        Dts.TaskResult = result
    End Sub ' Main


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Returns list of current properties based on current state.
    Public Function GetProperties() As String()
        Dim result As New ArrayList

        ' Base properties.
        Call result.Add("ProxyUrl")
        Call result.Add("Username")
        Call result.Add("Password")
        Call result.Add("IgnoreServerCertificate")
        Call result.Add("Action")
        Call result.Add("RemoteUrl")
        Call result.Add("Timeout")
        Call result.Add("Headers")

        Select Case Me.Action
            Case "Upload File"
                Call result.Add("SourceFile")
                Call result.Add("Method")

            Case "Download File"
                Call result.Add("TargetFile")
        End Select

        GetProperties = CType(result.ToArray(GetType(String)), String())
    End Function    ' GetProperties


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function Validate(ByRef errMessage As String) As Boolean
        Dim result As Boolean

        Try
            If String.IsNullOrEmpty(Me.RemoteUrl) Then
                Throw New ApplicationException("Please specify RemoteUrl.")
            End If

            If String.IsNullOrEmpty(m_fileName) Then
                Throw New ApplicationException("Please specify file name.")
            End If

            result = True
        Catch ex As Exception
            result = False
            errMessage = ex.Message
        End Try

        Validate = result
    End Function    'Validate


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Connection")>
    <Description("Specifies proxy URL (optional).")>
    Public Property ProxyUrl() As String
        Get
            ProxyUrl = m_proxyUrl
        End Get
        Set(ByVal value As String)
            m_proxyUrl = value
        End Set
    End Property    ' ProxyUrl


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Connection")>
    <Description("Specifies user name (optional).")>
    Public Property Username() As String
        Get
            Username = m_username
        End Get
        Set(ByVal value As String)
            m_username = value
        End Set
    End Property    ' Username


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Connection")>
    <Description("Specifies password (optional).")>
    <PasswordPropertyText(True)>
    Public Property Password() As String
        Get
            Password = m_password
        End Get
        Set(ByVal value As String)
            m_password = value
        End Set
    End Property    ' Password


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Connection")>
    <Description("Select to ignore server certificate.")>
    Public Property IgnoreServerCertificate() As Boolean
        Get
            IgnoreServerCertificate = m_ignoreServerCertificate
        End Get
        Set(ByVal value As Boolean)
            m_ignoreServerCertificate = value
        End Set
    End Property    ' IgnoreServerCertificate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Connection")>
    <Description("Specifies timeout in seconds. For infinite set to -1.")>
    <DefaultValue(100)>
    Public Property Timeout() As Integer
        Get
            Timeout = m_timeout
        End Get
        Set(ByVal value As Integer)
            m_timeout = value
        End Set
    End Property    ' Timeout


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")>
    <List(New Object() {"Upload File", "Download File"})>
    <Description("Select task action.")>
    <RefreshProperties(RefreshProperties.All)>
    Public Property Action() As String
        Get
            Action = m_action
        End Get
        Set(ByVal value As String)
            m_action = value
        End Set
    End Property    ' Action


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' RemoteUrl property.
    <Category("Settings")>
    <Description("Specifies remote URL.")>
    Public Property RemoteUrl() As String
        Get
            RemoteUrl = m_remoteUrl
        End Get
        Set(ByVal value As String)
            m_remoteUrl = value
        End Set
    End Property    ' RemoteUrl


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")>
    <Connection("FileConnectionType")>
    <Description("Select connection to source file.")>
    Public Property SourceFile() As String
        Get
            SourceFile = m_fileName
        End Get
        Set(ByVal value As String)
            m_fileName = value
        End Set
    End Property    ' SourceFile


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")>
    <Connection("FileConnectionType")>
    <Description("Select connection to target file.")>
    Public Property TargetFile() As String
        Get
            TargetFile = m_fileName
        End Get
        Set(ByVal value As String)
            m_fileName = value
        End Set
    End Property    ' TargetFile


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")>
    <Description("Specifies method used to send file (optional). If not specified default is POST.")>
    Public Property Method() As String
        Get
            Method = m_method
        End Get
        Set(ByVal value As String)
            m_method = value
            If m_method = "" Then
                m_method = Nothing
            End If
        End Set
    End Property    ' Method


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")>
    <TextDialog("Specify headers.", "", "plain")>
    <Description("Specify additional web request headers (optional). Syntax is [name]=[value]. Multiple headers are separated with newline.")>
    <DefaultValue("")>
    Public Property Headers() As String
        Get
            Headers = m_headers
        End Get
        Set(ByVal value As String)
            m_headers = value
        End Set
    End Property    ' Headers
#End Region ' Properties


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private ReadOnly Property FileConnectionType() As String
        Get
            FileConnectionType = "FILE"
        End Get
    End Property    ' FileConnectionType


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Validate specified connection is the expected type.
    Private Function ValidateConnection_(
        ByVal managerName As String,
        ByVal expectedType As String) As Boolean

        Dim result As Boolean
        Dim manager As ConnectionManager

        If Not String.IsNullOrEmpty(managerName) Then
            manager = Dts.Connections(managerName)
            If manager.CreationName = expectedType Then
                result = True
            Else
                ' Doesn't match expected type.
                Call Dts.Events.FireError(
                    0,
                    String.Empty,
                    String.Format(
                        "'{0}' connection is not '{1}' type.",
                        managerName,
                        expectedType),
                    String.Empty,
                    0)
            End If
        End If

        ValidateConnection_ = result
    End Function    ' ValidateConnection_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Retrieves file path from specified file connection manager.
    Private Function GetConnectionFile_(ByVal managerName As String) As String
        Dim result As String = String.Empty
        Dim manager As ConnectionManager
        Dim fileConnection As Object

        If ValidateConnection_(managerName, "FILE") Then
            manager = Dts.Connections(managerName)

            fileConnection = manager.AcquireConnection(Nothing)
            If Not fileConnection Is Nothing Then
                result = fileConnection.ToString()
            Else
                Call Dts.Events.FireError(
                    0,
                    String.Empty,
                    String.Format("''{0}' connection file doesn't exist.", managerName),
                    String.Empty,
                    0)
            End If
        End If

        GetConnectionFile_ = result
    End Function    ' GetConnectionFile_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Shared Function BypassCertificateVerification_(
        ByVal sender As Object,
        ByVal cert As X509Certificate,
        ByVal chain As X509Chain,
        ByVal errors As SslPolicyErrors) As Boolean

        BypassCertificateVerification_ = True
    End Function    ' BypassCertificateVerification_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Setup additional user-specified headers.
    Private Sub SetupHeaders_(ByVal headers As WebHeaderCollection)
        Dim headersList() As String = Me.Headers.Split(
            New String() {"\n"},
            StringSplitOptions.RemoveEmptyEntries)
        For Each header As String In headersList
            Dim combo() As String = header.Split(
                New String() {"="},
                2,
                StringSplitOptions.RemoveEmptyEntries)

            If combo.Length < 2 Then
                ' Not a valid header.
                Continue For
            End If

            Call headers.Add(combo(0).Trim(), combo(1).Trim())
        Next
    End Sub ' SetupHeaders_
#End Region ' Internals


#Region "Attributes"
    Private m_proxyUrl As String
    Private m_username As String
    Private m_password As String
    Private m_ignoreServerCertificate As Boolean
    Private m_action As String
    Private m_remoteUrl As String
    Private m_timeout As Integer
    Private m_fileName As String
    Private m_method As String
    Private m_headers As String
#End Region ' Attributes

End Class   ' ScriptMain]]></ProjectItem>
  <ProjectItem Name="My Project\Settings.settings" Encoding="UTF8">
<![CDATA[<?xml version='1.0' encoding='iso-8859-1'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)" GeneratedClassNamespace="$safeprojectname" GeneratedClassName="MySettings">
  <Profiles>
    <Profile Name="(Default)" />
  </Profiles>
  <Settings />
</SettingsFile>]]></ProjectItem>
  <ProjectItem Name="ST_5cca65920b364f7691d7cf7160e8fe39.vbproj" Encoding="UTF8">
<![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>{91D66D23-C296-4C30-BD3F-ECE482053308}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ST_5cca65920b364f7691d7cf7160e8fe39</RootNamespace>
    <AssemblyName>ST_5cca65920b364f7691d7cf7160e8fe39</AssemblyName>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <ResolveAssemblyReferenceIgnoreTargetFrameworkAttributeVersionMismatch>true</ResolveAssemblyReferenceIgnoreTargetFrameworkAttributeVersionMismatch>
  </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>
  <ItemGroup>
    <Reference Include="CozyRoc.SSISPlus.2017, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea" />
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Web" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.ScriptTask, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
  </ItemGroup>
  <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>
    <Compile Include="ScriptMain.vb">
      <SubType>Code</SubType>
    </Compile>
  </ItemGroup>
  <!-- Include the build rules for a VB project.-->
  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  <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="ScriptTask" />
        <ProjectClient>
          <HostIdentifier>SSIS_ST140</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>]]></ProjectItem>
  <ProjectItem Name="My Project\Settings.Designer.vb" Encoding="UTF8">
<![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]]></ProjectItem>
  <ProjectItem Name="Project" Encoding="UTF16LE">
<![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="3.0" schemaVersion="1.0">
  <msb:PropertyGroup>
    <msb:Language>msBuild</msb:Language>
    <msb:CodeName>ST_5cca65920b364f7691d7cf7160e8fe39</msb:CodeName>
    <msb:DisplayName>ST_5cca65920b364f7691d7cf7160e8fe39</msb:DisplayName>
    <msb:ProjectId>{2577732F-D8D2-40BE-9044-8AB4B880C4BD}</msb:ProjectId>
  </msb:PropertyGroup>
  <msb:ItemGroup>
    <msb:Project Include="ST_5cca65920b364f7691d7cf7160e8fe39.vbproj" />
    <msb:File Include="My Project\AssemblyInfo.vb" />
    <msb:File Include="ScriptMain.vb" />
    <msb:File Include="My Project\Resources.resx" />
    <msb:File Include="My Project\Resources.Designer.vb" />
    <msb:File Include="My Project\Settings.settings" />
    <msb:File Include="My Project\Settings.Designer.vb" />
  </msb:ItemGroup>
</c:Project>]]></ProjectItem>
  <ProjectItem Name="My Project\Resources.resx" Encoding="UTF8">
<![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>]]></ProjectItem>
  <ProjectItem Name="My Project\AssemblyInfo.vb" Encoding="UTF8">
<![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("ST_5cca65920b364f7691d7cf7160e8fe39")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("")> 
<Assembly: AssemblyProduct("ST_5cca65920b364f7691d7cf7160e8fe39")> 
<Assembly: AssemblyCopyright("Copyright @  2018")> 
<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("7443721f-4d1a-40c2-b240-5e24b7cee91e")> 

' 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")> ]]></ProjectItem>
  <ProjectItem Name="My Project\Resources.Designer.vb" Encoding="UTF8">
<![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]]></ProjectItem>
  <BinaryItem Name="ST_5cca65920b364f7691d7cf7160e8fe39.dll">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
BAAAEQJ7CQAABAoGKiICA30JAAAEKgAAEzABAAkAAAAEAAARAnsKAAAECgYqIgIDfQoAAAQqAAAT
MAEACQAAAAQAABECewsAAAQKBioiAgN9CwAABCoAABMwAQAJAAAABQAAEQJ7DAAABAoGKiICA30M
AAAEKgAAEzABAAkAAAAGAAARAnsPAAAECgYqIgIDfQ8AAAQqAAATMAEACQAAAAQAABECew0AAAQK
BioiAgN9DQAABCoAABMwAQAJAAAABAAAEQJ7DgAABAoGKiICA30OAAAEKgAAEzABAAkAAAAEAAAR
AnsQAAAECgYqIgIDfRAAAAQqAAATMAEACQAAAAQAABECexAAAAQKBioAAAATMAEACQAAAAQAABEC
exEAAAQKBiqKAgN9EQAABAJ7EQAABHKTAgBwFihDAAAKLQcCFH0RAAAEKhMwAQAJAAAABAAAEQJ7
EgAABAoGKiICA30SAAAEKgAAEzABAAgAAAAEAAARcpUCAHAKBioTMAYAWAAAAAcAABEDKD0AAAot
TAIoRAAACm9XAAAKA29YAAAKb1kAAAoEFihDAAAKLQQXCyspAihEAAAKb0UAAAoWfkYAAApynwIA
cAMEKEcAAAp+RgAAChZvTwAACiYHCgYqEzAGAGkAAAAIAAARfkYAAAoLAgNylQIAcCgqAAAGLFEC
KEQAAApvVwAACgNvWAAAChRvWgAACigyAAAKDAgsCQhvWwAACgsrKAIoRAAACm9FAAAKFn5GAAAK
cucCAHADKFwAAAp+RgAAChZvTwAACiYHCgYqAAAAEzABAAQAAAAFAAARFwoGKhMwBQBfAAAACQAA
EQIoJwAABheNQwAAASUWcjMDAHCiF29dAAAKChYLKzkGB5oXjUMAAAElFnI5AwBwohgXb14AAAoM
CI5pGDIWAwgWmm9fAAAKCBeab18AAApvYAAACgcX1gsHBo5pMsEqNgIDKDIAAAooYQAACioeAihi
AAAKKi7QCAAAAigvAAAKKh4CKFsAAAoqAAAAEzABABQAAAAKAAARAowGAAAbLQgoAQAAKworAgIK
BioiA/4VBgAAGyoAAAATMAIAKAAAAAsAABECe2QAAApvZQAACgoGjAkAABstEigCAAArCgJ7ZAAA
CgZvZgAACgYqSgIoLgAACgJzZwAACn1kAAAKKh4CKGgAAAoqABMwAwAWAAAADAAAEQIDKGkAAAol
AnsUAAAEb2oAAAoKBioAABMwAQAJAAAABgAAEQJ7FAAABAoGKiICA30UAAAEKgAAQlNKQgEAAQAA
AAAADAAAAHY0LjAuMzAzMTkAAAAABQBsAAAASA4AACN+AAC0DgAAuA8AACNTdHJpbmdzAAAAAGwe
AABAAwAAI1VTAKwhAAAQAAAAI0dVSUQAAAC8IQAAAAgAACNCbG9iAAAAAAAAAAIAAAFXHaIJCQ8A
AAD6ATMAFgAAAQAAAFEAAAALAAAAFwAAADoAAAAaAAAAagAAAAIAAABYAAAADAAAAAYAAAAVAAAA
IgAAAAkAAAABAAAABwAAAAEAAAAEAAAAAwAAAAIAAAAAAMEIAQAAAAAABgAiBnAMBgAFB3AMBgBS
BLELDwAWDQAABgCTBP8JBgCcBf8JBgDaBv8JBgBCBv8JBgBbBv8JBgAEBf8JBgB2Bj8JBgB/BCoM
BgD7AyoMBgBQBf8JBgAfBWwHCgAeBAsLCgDmA6sICgBmBKsIDgBKAwAMDgBVC8QLBgA4BbELDgCq
BEkMDgDCBDIBBgCkDj8JDgA7CwAMDgBtBTIBBgD9Aj8JDgABAG8ICgAJBFAJBgDVCpAMBgBMCssJ
CgBaA7YJBgA1BLELEgAKBnMNEgDwBXMNEgC5BXMNFgCMBjQIFgAuAzQICgCuD7UOBgBCCj8JBgD3
Dt4NBgByA0UNCgB4CUUNCgBFDoEPCgARCrUOCgDaDrUOCgDsDrUOCgCdBz8JBgBLCT8JCgDzBqsI
CgCkBasICgC8BqsICgDaBKsIEgCuBnMNCgAlDasICgDVBasIEgCIBXMNEgDwBHMNBgDpAT8JBgBs
D/8JBgA2DnAMBgCpC1sHCgD3CrUOCgChB4EPBgDdAz8JCgBYCrUOBgCWBz8JCgCtD7UOCgBdCLUO
CgCgDbUODgBcDkkMFgCZCDQIFgAjCzQIGgB1Dx4BDgASAUkMBgBiDz8JBgA3Cj8JHgD1Da4CHgDl
Cq4CBgABDj8JBgCSCz8JAAAAAGUAAAAAAAEAAQAAAAAAmAk5D00AAQABAAAAAABTCzkPUQABAAIA
AAEQAKsOOQ9hAAEAAwAAAAAA0gyhDGEABQAIAAABEACVDUEAgQAHAAwAAQAAAG0JQQCZAAkADwAF
AQAA8gsAAGEAEwAuAAUBAAAQAAAAYQATADUAAwAAAC0PAAC5ABQANwACAQAAfg4AAMUAFQA7ADEA
kwoVAjEAagodAjEAfgolAjEArAotAhEAXgs1AhEAIgM5AhEAIwc9AhEAng5BAgEAKwnsAAEAowLs
AAEAhQHsAAEAugNEAgEA9gnsAAEABQnsAAEAGQ9HAgEAYQLsAAEAYgHsAAEALA7sACEAIw+7AQEA
GQ9HAgYGtgBHAlaAZg5KAlaAAgNKAlAgAAAAAAYYnAsGAAEAWCAAAAAABhicCwYAAQBgIAAAAAAR
GKILIgEBAIogAAAAABMIRgtOAgEAliAAAAAAEwiICVMCAQCiIAAAAAATCDcLWAIBAK4gAAAAABMI
4gtdAgEAuiAAAAAAAxicCwYAAQDCIAAAAAAWCNEKYgIBAO4gAAAAABYICgNnAgEA9SAAAAAAFggW
A2wCAQD9IAAAAAARGKILIgECAA4hAAAAAAYYnAsGAAIAGCEAAAAAFggrB3ICAgB0IQAAAAAGGJwL
BgACAHwhAAAAAAYAcwkGAAIA1CMAAAAABgA3DXcCAgCsJAAAAAAGANQDfAICABglAAAAAAYIEQkV
AQMALSUAAAAABggeCRAAAwA4JQAAAAAGCIkCFQEEAE0lAAAAAAYIlgIQAAQAWCUAAAAABghrARUB
BQBtJQAAAAAGCHgBEAAFAHglAAAAAAYIggOCAgYAjSUAAAAABgieAxUABgCYJQAAAAAGCAEPmAEH
AK0lAAAAAAYIDQ8BAAcAuCUAAAAABgjgCRUBCADNJQAAAAAGCOsJEAAIANglAAAAAAYI6QgVAQkA
7SUAAAAABgj3CBAACQD4JQAAAAAGCCUCFQEKAA0mAAAAAAYINAIQAAoAGCYAAAAABghDAhUBCwAN
JgAAAAAGCFICEAALADAmAAAAAAYITAEVAQwARSYAAAAABghXARAADABoJgAAAAAGCBQOFQENAH0m
AAAAAAYIIA4QAA0AiCYAAAAAAQjjAhUBDgCcJgAAAAABAPAAhgIOAAAnAAAAAAEAvgCMAhAAeCcA
AAAAEQDRAJECEQCIJwAAAAABAAQBnwIVAPMnAAAAAMYC1w2TARYAASgAAAAAxgK4AZgBFwAJKAAA
AACDAPoCpgIXABUoAAAAAMYClAcVARcAICgAAAAAEQCjAKsCFwBAKAAAAAABAI8AswIYALogAAAA
AAYYnAsGABkATCgAAAAAAwifAWQAGQCAKAAAAAAGGJwLBgAZAJMoAAAAAAYYnAsGABkAnCgAAAAA
xALpDt4BGQDAKAAAAAAGCAEPmAEaANUoAAAAAAYIDQ8BABoAAAABAEgHAAABAN4BAAABAE4HAAAB
AE4HAAABAE4HAAABAE4HAAABAE4HAAABAE4HAAABAE4HAAABAE4HAAABAE4HAAABAE4HAAABAE4H
AAABAH0CAAACANYCAAABAH0CAAABAMoKAAACAOQOAAADAIIJAAAEAFUOAAABAC4OAAABAFYKAAAB
AK8BAAABAK8BAAABAG4OAAABAE4HCQCcCwEAEQCcCwYAGQCcCwoAKQCcCxAAMQCcCxAAOQCcCxAA
QQCcCxAASQCcCxAAUQCcCxAAWQCcCxUAYQCcCxUAaQCcCxAAcQCcCxAAeQCcCxAAgQCcCxoAkQCc
CyAAqQCcCwYAsQCcCwYAuQCcCwYA0QCcCyYA6QCcCxAACQGcCwYAEQGcCy4AGQGcCxAAIQGcCxAA
KQGcCwYAkQGcCxAAmQGcCxAAoQGcCxUAqQGcCwEAsQGcCzQAwQGcCzoAyQGcCxAA0QGcC0EAqQGc
CxAAmQCcCwYAoQCcCwYADACcCwYAFACcCwYAHACcCwYAJACcCwYADACfAWQAFACfAWQAHACfAWQA
JACfAWQAwQCcCwYA2QD7AWkA2QBoD3EA8QCcC3cA6QE/B38AAQGcCwYA8QFAC4QA8QHGDoQAMQGc
CwYA+QHFB5kAAQKcC58ACQLOAqUA+QHtB7EAcQEUDrgAaQFIAb4AGQKVD8YAOQGcCxAAOQG9DRUA
cQGjD8sAKQKcCxoAcQGtDdIAOQKGB9kAMQF2DuAAQQKMDuYAGQKdD+wAGQKXDu8ASQKmCfYAUQLE
AQEBcQEaAgYBcQENAhoAQQGcCxAAWQKCCw4BQQHSARUBSQJmCxkBWQJwCyIBCQJUB6UAQQLLDgEA
SQGcCwYASQFIAS8BSQFgDzQBaQKcCxAAQQLxDVgBcQI2CV4BeQJsAhUBeQIlCmsBwQCUBxUBGQKX
DnABGQLADn4BGQLADogBGQJGCRUBaQFIARoAwQDXDZMBwQC4AZgBiQKQAaQBPAAjD7sBRAArB2QA
RAA1B9IBRACcCwYAcQGcCwYAcQHpDt4BeQENDwEACABYAAsCCABcABACKQCrAAwFLgALAO8CLgAT
APgCLgAbABcDLgAjACADLgArAEkDLgAzAEkDLgA7ACADLgBDAE8DLgBLAEkDLgBTAGYDLgBbAEkD
LgBjAGwDLgBrAJYDLgBzAKMDQACLABACQACDAO0DQwB7APYDQwCDAO0DSQCrAB0FYwB7APYDYwCD
AO0DaQCrADEFgACLABACgwCTABACgwCbABACgwB7APYDiQCrAD4FoACLABACqQCDABcDwACLABAC
yQCDABcD4ACLABAC4wC7AA8E4wDDAIkE4wDLAJwE4wDTABAC4wBTAEkD6QCzABACAwGDAO0DAwGj
AKoECQHbAFIFCQHjAGIFIwGDAO0DIwFbAEkDKQHbAFIFKQHjAIcFSQHbAFIFSQHjAKwFSQHrAGYD
aQHbAFIFaQHjANAFiQHbAFIFiQHjAPoFiQHzADUGqQHbAD4GqQH7AEwGqQHjAHEGqQEDAe0DyQHb
AD4GyQHjAIoG6QHbAD4G6QELAaUG6QHjAL0GCQLbAD4GCQILAaUGCQLjAOQGKQLbAD4GKQLjAAsH
SQLbAD4GSQITAWEHSQLjAH4HSQIbAUkDwAWDAO0DwAWLABAC4AWDAO0D4AWLABACAAaDAO0DAAaL
ABACIAaDAO0DIAaLABACQAaLABACYAaLABACgAaLABACgAaDAO0DoAaLABACwAaLABACwAaDAO0D
iQAmAT8BRwFLAU8BUwFlAXYBnAGvAdgBBAABAAUABQAGAAcABwAIAAkAFAAKABUAAABVC7sCAACa
CcACAAA7C8UCAAD0C8oCAADVCs8CAAAmA9QCAABIB9kCAAAiCd4CAACaAt4CAAB8Ad4CAACiA+IC
AAARD+YCAADvCd4CAAD7CN4CAAA4At4CAABWAt4CAABbAd4CAAAkDt4CAADnAt4CAACjAeoCAAAR
D+YCAgAEAAMAAgAFAAUAAgAGAAcAAgAHAAkAAgAJAAsAAgAKAA0AAQALAA0AAgAOAA8AAgATABEA
AQAUABEAAgAVABMAAQAWABMAAgAXABUAAQAYABUAAgAZABcAAQAaABcAAgAbABkAAQAcABkAAgAd
ABsAAQAeABsAAgAfAB0AAQAgAB0AAgAhAB8AAQAiAB8AAgAjACEAAQAkACEAAgAlACMAAQAmACMA
AgAnACUAAQAoACUAAgApACcAAgA1ACkAAgA5ACsAAQA6ACsASABPAFYAXQA8AaEBtAHDAcoBBIAA
AAEAAAAAAAAAAAAAAAAAQQAAAAQAAAAAAAAAAAAAAOcBKQEAAAAABAAAAAAAAAAAAAAA5wE/CQAA
AAAKAAAAAAAAAAAAAADwATIBAAAAAAEAAAAAAAAAAAAAAPkBKwAAAAAADgAAAAAAAAAAAAAAAgIV
CAAAAAAEAAAAAAAAAAAAAADwAR4BAAAAAA4AAAAAAAAAAAAAAAICbgAAAAAAAAAAAAEAAADeDAAA
CAAEAAkABAAKAAcACwAHAAAAEAASAI0AAAAQAGUAjQAAAAAAZwCNAMcAqgHHAM0BAAAAQ29udGV4
dFZhbHVlYDEAVGhyZWFkU2FmZU9iamVjdFByb3ZpZGVyYDEAQ296eVJvYy5TU0lTUGx1cy4yMDE3
AFNUXzVjY2E2NTkyMGIzNjRmNzY5MWQ3Y2Y3MTYwZThmZTM5ADxNb2R1bGU+AE1pY3Jvc29mdC5T
cWxTZXJ2ZXIuTWFuYWdlZERUUwBUAERpc3Bvc2VfX0luc3RhbmNlX18AQ3JlYXRlX19JbnN0YW5j
ZV9fAHZhbHVlX18AR2V0Q29ubmVjdGlvbkZpbGVfAEJ5cGFzc0NlcnRpZmljYXRlVmVyaWZpY2F0
aW9uXwBWYWxpZGF0ZUNvbm5lY3Rpb25fAFNldHVwSGVhZGVyc18AUHJvamVjdERhdGEAU3lzdGVt
LldlYgBtc2NvcmxpYgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMAQWRkAGdldF9NZXRob2QAc2V0X01l
dGhvZABtX21ldGhvZABnZXRfUGFzc3dvcmQAc2V0X1Bhc3N3b3JkAG1fcGFzc3dvcmQAQ3JlYXRl
SW5zdGFuY2UAZ2V0X0dldEluc3RhbmNlAGluc3RhbmNlAEdldEhhc2hDb2RlAFVybFBhdGhFbmNv
ZGUAZ2V0X01lc3NhZ2UAZXJyTWVzc2FnZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhh
bmRsZQBEb3dubG9hZEZpbGUAVXBsb2FkRmlsZQBnZXRfU291cmNlRmlsZQBzZXRfU291cmNlRmls
ZQBnZXRfVGFyZ2V0RmlsZQBzZXRfVGFyZ2V0RmlsZQBtX2ZpbGVOYW1lAGdldF9DcmVhdGlvbk5h
bWUAbWFuYWdlck5hbWUAZ2V0X1VzZXJuYW1lAHNldF9Vc2VybmFtZQBtX3VzZXJuYW1lAE1pY3Jv
c29mdC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAQ29tYmluZQBleHBlY3RlZFR5cGUAZ2V0X0ZpbGVD
b25uZWN0aW9uVHlwZQBHZXRUeXBlAEZhaWx1cmUAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAX3Jl
c0N1bHR1cmUAVlNUQVJUU2NyaXB0T2JqZWN0TW9kZWxCYXNlAEFwcGxpY2F0aW9uQmFzZQBBcHBs
aWNhdGlvblNldHRpbmdzQmFzZQBYNTA5Q2VydGlmaWNhdGUAZ2V0X0lnbm9yZVNlcnZlckNlcnRp
ZmljYXRlAHNldF9JZ25vcmVTZXJ2ZXJDZXJ0aWZpY2F0ZQBtX2lnbm9yZVNlcnZlckNlcnRpZmlj
YXRlAFZhbGlkYXRlAERlbGVnYXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAEd1aWRBdHRyaWJ1dGUA
SGVscEtleXdvcmRBdHRyaWJ1dGUAR2VuZXJhdGVkQ29kZUF0dHJpYnV0ZQBEZWJ1Z2dlck5vblVz
ZXJDb2RlQXR0cmlidXRlAERlYnVnZ2FibGVBdHRyaWJ1dGUARWRpdG9yQnJvd3NhYmxlQXR0cmli
dXRlAENvbVZpc2libGVBdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBTdGFuZGFyZE1v
ZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBEZWZhdWx0VmFsdWVBdHRyaWJ1
dGUAVGV4dERpYWxvZ0F0dHJpYnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBUYXJnZXRG
cmFtZXdvcmtBdHRyaWJ1dGUARGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUAQXNzZW1ibHlGaWxlVmVy
c2lvbkF0dHJpYnV0ZQBNeUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBDb25uZWN0aW9uQXR0cmli
dXRlAEFzc2VtYmx5RGVzY3JpcHRpb25BdHRyaWJ1dGUAVmFsaWRhdGVQcm9wZXJ0aWVzQXR0cmli
dXRlAFJlZnJlc2hQcm9wZXJ0aWVzQXR0cmlidXRlAEZpbHRlclByb3BlcnRpZXNBdHRyaWJ1dGUA
U29ydFByb3BlcnRpZXNBdHRyaWJ1dGUAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBB
c3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQ0xTQ29t
cGxpYW50QXR0cmlidXRlAFNTSVNTY3JpcHRUYXNrRW50cnlQb2ludEF0dHJpYnV0ZQBMaXN0QXR0
cmlidXRlAFBhc3N3b3JkUHJvcGVydHlUZXh0QXR0cmlidXRlAEFzc2VtYmx5Q29tcGFueUF0dHJp
YnV0ZQBDYXRlZ29yeUF0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBtX1Zh
bHVlAGdldF9WYWx1ZQBzZXRfVmFsdWUAR2V0T2JqZWN0VmFsdWUAdmFsdWUAUmVtb3ZlAFN5c3Rl
bS5UaHJlYWRpbmcAU3lzdGVtLlJ1bnRpbWUuVmVyc2lvbmluZwBDb21wYXJlU3RyaW5nAFRvU3Ry
aW5nAFVyaQBSZW1vdGVDZXJ0aWZpY2F0ZVZhbGlkYXRpb25DYWxsYmFjawBnZXRfU2VydmVyQ2Vy
dGlmaWNhdGVWYWxpZGF0aW9uQ2FsbGJhY2sAc2V0X1NlcnZlckNlcnRpZmljYXRlVmFsaWRhdGlv
bkNhbGxiYWNrAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuU2NyaXB0VGFzawBNaWNyb3NvZnQuU3FsU2Vy
dmVyLkR0cy5UYXNrcy5TY3JpcHRUYXNrAE5ldHdvcmtDcmVkZW50aWFsAE1pY3Jvc29mdC5WaXN1
YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAFNjcmlwdE9iamVjdE1vZGVsAFN5c3RlbS5Db21w
b25lbnRNb2RlbABTVF81Y2NhNjU5MjBiMzY0Zjc2OTFkN2NmNzE2MGU4ZmUzOS5kbGwAZ2V0X1Jl
bW90ZVVybABzZXRfUmVtb3RlVXJsAG1fcmVtb3RlVXJsAGdldF9Qcm94eVVybABzZXRfUHJveHlV
cmwAbV9wcm94eVVybABnZXRfSXRlbQBTeXN0ZW0AVHJpbQBFbnVtAFN5c3RlbS5Db21wb25lbnRN
b2RlbC5EZXNpZ24AU2NyaXB0TWFpbgBYNTA5Q2hhaW4AY2hhaW4AZ2V0X0FwcGxpY2F0aW9uAE15
QXBwbGljYXRpb24ARmlyZUluZm9ybWF0aW9uAFN5c3RlbS5Db25maWd1cmF0aW9uAFN5c3RlbS5H
bG9iYWxpemF0aW9uAGdldF9BY3Rpb24Ac2V0X0FjdGlvbgBtX2FjdGlvbgBTeXN0ZW0uUmVmbGVj
dGlvbgBXZWJIZWFkZXJDb2xsZWN0aW9uAEFjcXVpcmVDb25uZWN0aW9uAEFwcGxpY2F0aW9uRXhj
ZXB0aW9uAEN1bHR1cmVJbmZvAEh0dHBSZXF1ZXN0SGVhZGVyAG1fQXBwT2JqZWN0UHJvdmlkZXIA
bV9Vc2VyT2JqZWN0UHJvdmlkZXIAbV9Db21wdXRlck9iamVjdFByb3ZpZGVyAG1fTXlXZWJTZXJ2
aWNlc09iamVjdFByb3ZpZGVyAHNlbmRlcgBnZXRfUmVzb3VyY2VNYW5hZ2VyAENvbm5lY3Rpb25N
YW5hZ2VyAFNlcnZpY2VQb2ludE1hbmFnZXIAU3lzdGVtLkNvZGVEb20uQ29tcGlsZXIARXZlbnRz
T2JqZWN0V3JhcHBlcgBnZXRfVXNlcgBFbnRlcgBnZXRfQ29tcHV0ZXIATXlDb21wdXRlcgBfcmVz
TWdyAEZpcmVFcnJvcgBDbGVhclByb2plY3RFcnJvcgBTZXRQcm9qZWN0RXJyb3IAQWN0aXZhdG9y
AC5jdG9yAC5jY3RvcgBNb25pdG9yAFN5c3RlbS5EaWFnbm9zdGljcwBNaWNyb3NvZnQuVmlzdWFs
QmFzaWMuRGV2aWNlcwBnZXRfV2ViU2VydmljZXMATXlXZWJTZXJ2aWNlcwBNaWNyb3NvZnQuVmlz
dWFsQmFzaWMuQXBwbGljYXRpb25TZXJ2aWNlcwBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2Vydmlj
ZXMATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2VydmljZXMAU3lzdGVtLlJ1bnRpbWUu
Q29tcGlsZXJTZXJ2aWNlcwBTeXN0ZW0uUmVzb3VyY2VzAFNUXzVjY2E2NTkyMGIzNjRmNzY5MWQ3
Y2Y3MTYwZThmZTM5Lk15LlJlc291cmNlcwBNeVJlc291cmNlcwBTVF81Y2NhNjU5MjBiMzY0Zjc2
OTFkN2NmNzE2MGU4ZmUzOS5SZXNvdXJjZXMucmVzb3VyY2VzAERlYnVnZ2luZ01vZGVzAFJlZnJl
c2hQcm9wZXJ0aWVzAEdldFByb3BlcnRpZXMAU3lzdGVtLlNlY3VyaXR5LkNyeXB0b2dyYXBoeS5Y
NTA5Q2VydGlmaWNhdGVzAENvenlSb2MuU3FsU2VydmVyLlNTSVMuQXR0cmlidXRlcwBNeVNldHRp
bmdzAElDcmVkZW50aWFscwBzZXRfQ3JlZGVudGlhbHMAc2V0X1VzZURlZmF1bHRDcmVkZW50aWFs
cwBFcXVhbHMAU3lzdGVtLkNvbGxlY3Rpb25zAGdldF9Db25uZWN0aW9ucwBTdHJpbmdTcGxpdE9w
dGlvbnMAZ2V0X0hlYWRlcnMAc2V0X0hlYWRlcnMAbV9oZWFkZXJzAFJ1bnRpbWVIZWxwZXJzAFNz
bFBvbGljeUVycm9ycwBlcnJvcnMAT3BlcmF0b3JzAFN1Y2Nlc3MAYWRkcmVzcwBnZXRfRHRzAFNj
cmlwdFJlc3VsdHMAZ2V0X0V2ZW50cwBGb3JtYXQAbV9TeW5jT2JqZWN0AE15UHJvamVjdABTeXN0
ZW0uTmV0AFNwbGl0AEV4aXQAc2V0X1Rhc2tSZXN1bHQAV2ViQ2xpZW50AGNlcnQAR2V0V2ViUmVx
dWVzdABBcnJheUxpc3QAZ2V0X1RpbWVvdXQAc2V0X1RpbWVvdXQAbV90aW1lb3V0AG1fQ29udGV4
dABXZWJDbGllbnRFeABTVF81Y2NhNjU5MjBiMzY0Zjc2OTFkN2NmNzE2MGU4ZmUzOS5NeQBUb0Fy
cmF5AGdldF9Bc3NlbWJseQBIdHRwVXRpbGl0eQBTeXN0ZW0uTmV0LlNlY3VyaXR5AElzTnVsbE9y
RW1wdHkAc2V0X1Byb3h5AElXZWJQcm94eQAAADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAuAE0A
eQBSAGUAcwBvAHUAcgBjAGUAcwAAR0MATwBaAFkAUgBPAEMAIABIAFQAVABQACAAVQBwAGwAbwBh
AGQALwBEAG8AdwBuAGwAbwBhAGQAIABTAGMAcgBpAHAAdAAAF1UAcABsAG8AYQBkACAARgBpAGwA
ZQAAG0QAbwB3AG4AbABvAGEAZAAgAEYAaQBsAGUAADFVAHAAbABvAGEAZABpAG4AZwAgACcAewAw
AH0AJwAgAHQAbwAgACcAewAxAH0AJwABOUQAbwB3AG4AbABvAGEAZABpAG4AZwAgACcAewAwAH0A
JwAgAGYAcgBvAG0AIAAnAHsAMQB9ACcAAS1VAG4AaABhAG4AZABsAGUAZAAgAHQAYQBzAGsAIABh
AGMAdABpAG8AbgAuAAARUAByAG8AeAB5AFUAcgBsAAARVQBzAGUAcgBuAGEAbQBlAAARUABhAHMA
cwB3AG8AcgBkAAAvSQBnAG4AbwByAGUAUwBlAHIAdgBlAHIAQwBlAHIAdABpAGYAaQBjAGEAdABl
AAANQQBjAHQAaQBvAG4AABNSAGUAbQBvAHQAZQBVAHIAbAAAD1QAaQBtAGUAbwB1AHQAAA9IAGUA
YQBkAGUAcgBzAAAVUwBvAHUAcgBjAGUARgBpAGwAZQAADU0AZQB0AGgAbwBkAAAVVABhAHIAZwBl
AHQARgBpAGwAZQAAM1AAbABlAGEAcwBlACAAcwBwAGUAYwBpAGYAeQAgAFIAZQBtAG8AdABlAFUA
cgBsAC4AADNQAGwAZQBhAHMAZQAgAHMAcABlAGMAaQBmAHkAIABmAGkAbABlACAAbgBhAG0AZQAu
AAABAAlGAEkATABFAABHJwB7ADAAfQAnACAAYwBvAG4AbgBlAGMAdABpAG8AbgAgAGkAcwAgAG4A
bwB0ACAAJwB7ADEAfQAnACAAdAB5AHAAZQAuAAFLJwAnAHsAMAB9ACcAIABjAG8AbgBuAGUAYwB0
AGkAbwBuACAAZgBpAGwAZQAgAGQAbwBlAHMAbgAnAHQAIABlAHgAaQBzAHQALgABBVwAbgAAAz0A
AAAAAFhBdQpXWDRKoCosApCKQygABCABAQgDIAABBSABARERBCABAQ4EIAEBAgUgAgEODgUgAQER
RQcgBAEODg4OBSABAR0OBSABAR0cBiABARGA3QYgAwEODg4GFRIkARIMBhUSJAESCAYVEiQBEmUG
FRIkARIgBCAAEwAHAAESbRGA7QUgABKA8QcgAgEOEoDxBAABHBwEAAEBHA8HBwgSKAISgJ0SKA4S
gKEFAAASgQEFIAIBHBgLAAISgQUSgQUSgQUGAAEBEoEBBSAAEoC1ByACARGBCQ4EAAECDgYgAQES
gREGIAEBEoEZBgADCA4OAgUgABKBIQUgABKBJQIGDgYAAw4OHBwKIAYBCA4ODggQAgQAAQ4OByAD
HQUODg4GAAEBEoChAyAADgggBQIIDg4OCAMAAAEIBwMdDhKApQ4EIAEIHAcgARKBMRJtAh0OBwcD
AgISgKEDBwEOAwcBAgMHAQgEBwICAgUgABKBOQYgARKBPRwFBwMODhwEIAEcHAUAAg4OHAcHAx0O
CB0OCSACHQ4dDhGBQQogAx0OHQ4IEYFBBCABAhwDIAAIBAcBHgACHgAFEAEAHgAECgEeAAQHARMA
BhUSJAETAAcGFRJxARMABhUScQETAAITAAQKARMABSABARMABQcBEoC9CCABEoC9EoDBCLd6XFYZ
NOCJCLA/X38R1Qo6CBbPSQu4DDTqCImEXc2AgMyRBAAAAAAEAQAAAAcGFRIkARIMBwYVEiQBEggH
BhUSJAESZQcGFRIkARIgAwYSeQMGEn0DBhIYAgYcAgYCAgYIAwYRLAQAABIMBAAAEggEAAASZQQA
ABIgBAAAEnkEAAASfQUAAQESfQQAABIYBCAAHQ4FIAECEA4DIAACBSACAg4OBCABDg4NAAQCHBKA
qRKArRGAsQYgAQESgLUEIAASbQcQAQEeAB4ABzABAQEQHgAECAASDAQIABIIBAgAEmUECAASIAQI
ABJ5BAgAEn0ECAASGAMoAA4DKAACAygACAQoABMACAEACAAAAAAAHgEAAQBUAhZXcmFwTm9uRXhj
ZXB0aW9uVGhyb3dzAQgBAAIAAAAAACgBACNTVF81Y2NhNjU5MjBiMzY0Zjc2OTFkN2NmNzE2MGU4
ZmUzOQAABQEAAAAAFgEAEUNvcHlyaWdodCBAICAyMDE4AAAFAQABAAApAQAkNzQ0MzcyMWYtNGQx
YS00MGMyLWIyNDAtNWUyNGI3Y2VlOTFlAAAMAQAHMS4wLjAuMAAASQEAGi5ORVRGcmFtZXdvcmss
VmVyc2lvbj12NC41AQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRIuTkVUIEZyYW1ld29yayA0LjUI
AQABAAAAAAAYAQAKTXlUZW1wbGF0ZQgxMS4wLjAuMAAAeQEACwAAAAhVc2VybmFtZQhQYXNzd29y
ZAhQcm94eVVybBdJZ25vcmVTZXJ2ZXJDZXJ0aWZpY2F0ZQdUaW1lb3V0BkFjdGlvbglSZW1vdGVV
cmwKU291cmNlRmlsZQpUYXJnZXRGaWxlBk1ldGhvZAdIZWFkZXJzAAASAQANR2V0UHJvcGVydGll
cwAADQEACFZhbGlkYXRlAABhAQA0U3lzdGVtLldlYi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0
dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAA
ABABAAtNeS5Db21wdXRlcgAAEwEADk15LkFwcGxpY2F0aW9uAAAMAQAHTXkuVXNlcgAAEwEADk15
LldlYlNlcnZpY2VzAAAPAQAKQ29ubmVjdGlvbgAAJAEAH1NwZWNpZmllcyBwcm94eSBVUkwgKG9w
dGlvbmFsKS4AACQBAB9TcGVjaWZpZXMgdXNlciBuYW1lIChvcHRpb25hbCkuAAAjAQAeU3BlY2lm
aWVzIHBhc3N3b3JkIChvcHRpb25hbCkuAAApAQAkU2VsZWN0IHRvIGlnbm9yZSBzZXJ2ZXIgY2Vy
dGlmaWNhdGUuAAA6AQA1U3BlY2lmaWVzIHRpbWVvdXQgaW4gc2Vjb25kcy4gRm9yIGluZmluaXRl
IHNldCB0byAtMS4AAAgBAGQAAAAAAA0BAAhTZXR0aW5ncwAAJAEAAgAAAA4LVXBsb2FkIEZpbGUO
DURvd25sb2FkIEZpbGUAABgBABNTZWxlY3QgdGFzayBhY3Rpb24uAAAaAQAVU3BlY2lmaWVzIHJl
bW90ZSBVUkwuAAAXAQASRmlsZUNvbm5lY3Rpb25UeXBlAAAmAQAhU2VsZWN0IGNvbm5lY3Rpb24g
dG8gc291cmNlIGZpbGUuAAAmAQAhU2VsZWN0IGNvbm5lY3Rpb24gdG8gdGFyZ2V0IGZpbGUuAABV
AQBQU3BlY2lmaWVzIG1ldGhvZCB1c2VkIHRvIHNlbmQgZmlsZSAob3B0aW9uYWwpLiBJZiBub3Qg
c3BlY2lmaWVkIGRlZmF1bHQgaXMgUE9TVC4AABwBABBTcGVjaWZ5IGhlYWRlcnMuAAVwbGFpbgAA
fgEAeVNwZWNpZnkgYWRkaXRpb25hbCB3ZWIgcmVxdWVzdCBoZWFkZXJzIChvcHRpb25hbCkuIFN5
bnRheCBpcyBbbmFtZV09W3ZhbHVlXS4gTXVsdGlwbGUgaGVhZGVycyBhcmUgc2VwYXJhdGVkIHdp
dGggbmV3bGluZS4AAAAAALQAAADOyu++AQAAAJEAAABsU3lzdGVtLlJlc291cmNlcy5SZXNvdXJj
ZVJlYWRlciwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJs
aWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5I1N5c3RlbS5SZXNvdXJjZXMuUnVudGltZVJlc291
cmNlU2V0AgAAAAAAAAAAAAAAUEFEUEFEULQAAAB8UwAAAAAAAAAAAACWUwAAACAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAiFMAAAAAAAAAAAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUA
IAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAAAAAYAACAAAAA
AAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAAWGAAAOwDAAAAAAAA
AAAAAOwDNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9BO/+AAABAAAAAQAA
AAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEAVgBhAHIARgBpAGwA
ZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAAAAAsARMAwAAAQBT
AHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAAoAwAAAQAwADAAMAAwADAANABiADAAAAAaAAEA
AQBDAG8AbQBtAGUAbgB0AHMAAAAAAAAAIgABAAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAAAA
AAAAcAAkAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFMAVABfADUAYwBjAGEA
NgA1ADkAMgAwAGIAMwA2ADQAZgA3ADYAOQAxAGQANwBjAGYANwAxADYAMABlADgAZgBlADMAOQAA
ADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAALgAwAC4AMAAAAHAAKAABAEkA
bgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBUAF8ANQBjAGMAYQA2ADUAOQAyADAAYgAzADYANABm
ADcANgA5ADEAZAA3AGMAZgA3ADEANgAwAGUAOABmAGUAMwA5AC4AZABsAGwAAABIABIAAQBMAGUA
ZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIAaQBnAGgAdAAgAEAAIAAgADIAMAAx
ADgAAAAqAAEAAQBMAGUAZwBhAGwAVAByAGEAZABlAG0AYQByAGsAcwAAAAAAAAAAAHgAKAABAE8A
cgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAFQAXwA1AGMAYwBhADYANQA5ADIAMABi
ADMANgA0AGYANwA2ADkAMQBkADcAYwBmADcAMQA2ADAAZQA4AGYAZQAzADkALgBkAGwAbAAAAGgA
JAABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBUAF8ANQBjAGMAYQA2ADUAOQAyADAAYgAz
ADYANABmADcANgA5ADEAZAA3AGMAZgA3ADEANgAwAGUAOABmAGUAMwA5AAAANAAIAAEAUAByAG8A
ZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAAADgACAABAEEAcwBzAGUAbQBi
AGwAeQAgAFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAwAAACoMwAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</BinaryItem>
</ScriptProject>