<?xml version="1.0"?>
<ScriptProject Name="ScriptTask_b50025d0b11242998b81b5d197fced6a" VSTAMajorVersion="3" VSTAMinorVersion="0" Language="VisualBasic">
  <ProjectItem Name="scripttask_b50025d0b11242998b81b5d197fced6a.vbproj" Encoding="UTF16LE">
<![CDATA[<?xml version="1.0" encoding="utf-16"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!-- This section defines project-level properties.

       Configuration - Specifies whether the default configuration is Release or Debug.
       Platform - Specifies what CPU the output of this project can run on.
       OutputType - Must be "Library" for VSTA.
       NoStandardLibraries - Set to "false" for VSTA.
       RootNamespace - In C#, this specifies the namespace given to new files.
                       In Visual Basic, all objects are wrapped in this namespace at runtime.
       AssemblyName - Name of the output assembly.
  -->
  <PropertyGroup>
    <ProjectTypeGuids>{30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <RootNamespace>ScriptTask_b50025d0b11242998b81b5d197fced6a.vbproj</RootNamespace>
    <AssemblyName>ScriptTask_b50025d0b11242998b81b5d197fced6a.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{505A6280-6171-4343-BC3E-C70534B216E7}</ProjectGuid>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Debug" configuration is
       selected.

       DebugSymbols - If true, create symbols (.pdb). If false, do not create symbols.
       Optimize - If true, optimize the build output. If false, do not optimize.
       OutputPath - Output path of the project relative to the project file.
       EnableUnmanagedDebugging - If true, starting the debugger will attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>true</DebugSymbols>
    <Optimize>false</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Release" configuration is
       selected.

       DebugSymbols - If true, create symbols (.pdb). If false, do not create symbols.
       Optimize - If true, optimize the build output. If false, do not optimize.
       OutputPath - Output path of the project relative to the project file.
       EnableUnmanagedDebugging - If true, starting the debugger will attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
  </PropertyGroup>
  <!-- This section enables pre- and post-build steps. However,
       it is recommended that MSBuild tasks be used instead of these properties.
  -->
  <PropertyGroup>
    <PreBuildEvent>
    </PreBuildEvent>
    <PostBuildEvent>
    </PostBuildEvent>
  </PropertyGroup>
  <!-- This sections specifies references for the project. -->
  <ItemGroup>
    <Reference Include="CozyRoc.SSISPlus.2012, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft SQL Server\110\SDK\Assemblies\CozyRoc.SSISPlus.2012.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Web" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=11.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.ScriptTask, Version=11.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
  </ItemGroup>
  <!-- Visual Basic supports Importing namespaces (equivalent to using statements in C#).-->
  <ItemGroup>
    <Import Include="Microsoft.VisualBasic" />
    <Import Include="System" />
    <Import Include="System.Collections" />
    <Import Include="System.Data" />
    <Import Include="System.Diagnostics" />
    <Import Include="System.Windows.Forms" />
  </ItemGroup>
  <!-- This section defines the user source files that are part of the
       project.

       Compile - Specifies a source file to compile.
       EmbeddedResource - Specifies a .resx file for embedded resources.
       None - Specifies a file that is not to be passed to the compiler (for instance,
              a text file or XML file).
       AppDesigner - Specifies the directory where the application properties files can
                     be found.
  -->
  <ItemGroup>
    <AppDesigner Include="My Project\" />
    <Compile Include="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>Component</SubType>
    </Compile>
    <!-- Include the default configuration information and metadata files for the add-in.
         These files are copied to the build output directory when the project is
         built, and the path to the configuration file is passed to add-in on the command
         line when debugging.
    -->
  </ItemGroup>
  <!-- Include the build rules for a VB project.-->
  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  <!-- This section defines VSTA properties that describe the host-changable project properties. -->
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{30D016F9-3734-4E33-A861-5E7D899E18F3}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{B3A685AA-7EAF-4BC6-9940-57959FA5AC07}" ApplicationType="usd" Language="vb" TemplatesPath="" DebugInfoExeName="devenv.exe" DebugInfoCommandLine="/vstaHostDebugUri:&quot;vstadebug392c7148-31ff-48a2-862e-fa1a0dcb545d/427964fa-1a41-4d8c-9a68-245b71f8b18f&quot;" />
        <Host Name="SSIS_ScriptTask" />
        <ProjectClient>
          <HostIdentifier>SSIS_ST110</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <PropertyGroup>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
  </PropertyGroup>
  <PropertyGroup>
    <TargetFrameworkProfile>
    </TargetFrameworkProfile>
  </PropertyGroup>
</Project>]]></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("ScriptTask_b50025d0b11242998b81b5d197fced6a.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptTask_b50025d0b11242998b81b5d197fced6a.vbproj")> 
<Assembly: AssemblyCopyright("Copyright @ Microsoft 2015")> 
<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("7a361363-3969-4bf6-9f3f-dd3a86aac6b4")> 

' 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="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

	Enum ScriptResults
		Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
		Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
	End Enum


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' 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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    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="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="4.0" schemaVersion="1.0">
	<msb:PropertyGroup>
		<msb:Language>msBuild</msb:Language>
		<msb:NoContent>Reference;Import;Folder</msb:NoContent>
		<msb:ProjectId>{ADE4115A-EF2B-4671-B20A-36F60745CC23}</msb:ProjectId>
		<msb:DisplayName>scripttask_b50025d0b11242998b81b5d197fced6a</msb:DisplayName>
		<msb:CodeName>scripttask_b50025d0b11242998b81b5d197fced6a</msb:CodeName>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:File Include="My Project\AssemblyInfo.vb"/>
		<msb:File Include="My Project\Resources.Designer.vb"/>
		<msb:File Include="My Project\Settings.Designer.vb"/>
		<msb:File Include="My Project\Resources.resx"/>
		<msb:File Include="My Project\Settings.settings"/>
		<msb:File Include="ScriptMain.vb"/>
		<msb:Project Include="scripttask_b50025d0b11242998b81b5d197fced6a.vbproj"/>
	</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\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="ScriptTask_b50025d0b11242998b81b5d197fced6a.vbproj.dll">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
CiYHclsBAHBvQgAACiYHcm0BAHBvQgAACiYHcn8BAHBvQgAACiYHcq8BAHBvQgAACiYHcr0BAHBv
QgAACiYHctEBAHBvQgAACiYHcuEBAHBvQgAACiYCbyYAAAYMCHJ7AABwFigxAAAKFjMaB3LxAQBw
b0IAAAomB3IHAgBwb0IAAAomKxsIcsUAAHAWKDEAAAoWMwwHchUCAHBvQgAACiYH0CgAAAEoFAAA
Cm9DAAAKdAoAABsKBioAAAAbMAIAUAAAABEAABECbygAAAYoKwAACiwLcisCAHBzRAAACnoCexEA
AAQoKwAACiwLcl8CAHBzRAAACnoXCt4YJSg7AAAKDBYKAwhvPAAAClEoPgAACt4ABgsHKgEQAAAA
AAAANDQAGCMAAAETMAEACQAAABIAABECewoAAAQKBioAAAAiAgN9CgAABCoAAAATMAEACQAAABMA
ABECewsAAAQKBioAAAAiAgN9CwAABCoAAAATMAEACQAAABQAABECewwAAAQKBioAAAAiAgN9DAAA
BCoAAAATMAEACQAAABUAABECew0AAAQKBioAAAAiAgN9DQAABCoAAAATMAEACQAAABYAABECexAA
AAQKBioAAAAiAgN9EAAABCoAAAATMAEACQAAABcAABECew4AAAQKBioAAAAiAgN9DgAABCoAAAAT
MAEACQAAABgAABECew8AAAQKBioAAAAiAgN9DwAABCoAAAATMAEACQAAABkAABECexEAAAQKBioA
AAAiAgN9EQAABCoAAAATMAEACQAAABoAABECexEAAAQKBioAAAAiAgN9EQAABCoAAAATMAEACQAA
ABsAABECexIAAAQKBioAAACOAgN9EgAABAJ7EgAABHKTAgBwFigxAAAKFjMHAhR9EgAABCoTMAEA
CQAAABwAABECexMAAAQKBioAAAAiAgN9EwAABCoAAAATMAEACAAAAB0AABFylQIAcAoGKhMwBgBb
AAAAHgAAEQMoKwAACi1PAm8yAAAKb0UAAAoDb0YAAAoKBm9HAAAKBBYoMQAAChYzBBcLKykCbzIA
AApvMwAAChZ+NAAACnKfAgBwAwQoNQAACn40AAAKFm89AAAKJgcMCCoAEzAGAGsAAAAfAAARfjQA
AAoNAgNylQIAcG8zAAAGLFMCbzIAAApvRQAACgNvRgAACgwIFG9IAAAKKBEAAAoKBiwJBm8VAAAK
DSsoAm8yAAAKbzMAAAoWfjQAAApy5wIAcAMoSQAACn40AAAKFm89AAAKJgkLByoAEzABAAQAAAAg
AAARFwoGKhMwBABvAAAAIQAAEQJvMAAABheNKAAAAQ0JFnIzAwBwogkXb0oAAAoKBhMFFhMEK0ER
BREEmgwIF40oAAABDQkWcjkDAHCiCRgXb0sAAAoLB463GDIWAwcWmm9MAAAKBxeab0wAAApvTQAA
ChEEF9YTBBEEEQWOtzK3KgAeAihcAAAKKhMwAgAYAAAAIgAAEQIDKF0AAAoLBwJ7FwAABG9eAAAK
BwoGKhMwAQAJAAAAIwAAEQJ7FwAABAoGKgAAACICA30XAAAEKrQAAADOyu++AQAAAJEAAABsU3lz
dGVtLlJlc291cmNlcy5SZXNvdXJjZVJlYWRlciwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwg
Q3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5I1N5c3RlbS5S
ZXNvdXJjZXMuUnVudGltZVJlc291cmNlU2V0AgAAAAAAAAAAAAAAUEFEUEFEULQAAAAAAABCU0pC
AQABAAAAAAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwAAABgDgAAI34AAMwOAAAsEQAAI1N0cmluZ3MA
AAAA+B8AAEADAAAjVVMAOCMAABAAAAAjR1VJRAAAAEgjAABMCAAAI0Jsb2IAAAAAAAAAAgAAAVcd
ogkJDwAAAPolMwAWAAABAAAATwAAAAsAAAAXAAAAOgAAABoAAABpAAAAAgAAAFcAAAAjAAAABgAA
ABUAAAAiAAAACgAAAAEAAAAHAAAAAQAAAAQAAAADAAAAAgAAAAAA8hABAAAAAAAKAIQBWgEKALgB
mgEGAMgBwQEKACACWgEGAJ4CwQEKACAD9gIGAFYDRQMGAIMDbgMOAOoD1QMSAGkEQAQGAHEGQwYO
AIEGQwYOAJ8GiwYOAPIG5wYGABgIwQEOADUI5wYOAD8I5wYOAEoIwQEOAHoIZAgOAJMIZAgOAMAI
qAgGAOoI1wgKACkJAgkKAEEJEwAOAHYJWQkGAKsJiwkGAMkJwQEGAO0JwQEKAAYKEwAGAEoKKwoG
AHAKXgoGAJcKhgoGAKoK1wgOAMcK5wYGANAKwQEOANoK5wYOAO4KiwYGADoLwQEOAHML5wYGAIkL
wQEOALgL5wYOAMwL5wYOAN4L5wYKAPsLAgkSABMMQAQSAC0MQAQWAHQMaQwKAKYMAgkGABMNAA0G
AB0NwQEGACsNwQEaAH8NXw0aAJENXw0GANkNwQEGAPcNwQESAA0OQAQeAGcORQ4eAIMORQ4eAJ0O
RQ4OALUOZAgeAMoORQ4OAN4OZAgOAPAOZAgOAAsPZAgeAB0PRQ4OACsPZAgeAEEPRQ4OAFUPZAgG
ALoPiwkGANoPiwkGABIQ+A8GACsQXgoGAEgQKwoGAFYQXgoGAHEQXgoGAIwQXgoGAKUQXgoGAL4Q
XgoGANsQXgoAAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAG0ANwAJAAEAAgAAARAAeAA3
AA0AAQADAAUBAACCAAAADQAFAAgABQEAAJAAAAANAAUADwAAAAAAqwC3AA0ABgARAAABEAD3AAIB
JQAIABUAAQAAADUBAgEpAAoAGAACAQAAQAEAAD0AFAA3AAMAAABOAQAAQQAXADcAMQDjASAAMQAM
Ai0AMQAuAjoAMQBTAkcAIQAvA5AAEQBmA50AEQCPA6EAEQACBL8AEQAKBMMAAQAcBxMBAQAnBxMB
AQAyBxMBAQA9BxYBAQBXBxMBAQBgBxMBAQBsBxkBAQB2BxMBAQCBBxMBAQCKBxMBBgYdCBkBVoAl
CCgBVoAtCCgBAQBsBxkBUCAAAAAABhiUARMAAQBYIAAAAAAGGJQBEwABAGAgAAAAABEYzwEXAAEA
jCAAAAAAEwjWARsAAQCkIAAAAAATCPwBKAABALwgAAAAABMIJQI1AAEA1CAAAAAAEwhDAkIAAQDs
IAAAAABGAokCYwABAAghAAAAAEYCkgJoAAIAHCEAAAAAgwCjAmwAAgA0IQAAAABGAqsCcQACAEgh
AAAAABEAtAJ4AAIAZCEAAAAAAQDSAoAAAwCAIQAAAAAGGJQBEwAEAIghAAAAAAMI5gKLAAQAvCEA
AAAABhiUARMABADQIQAAAAADGJQBEwAEANghAAAAABYImwOlAAQAFCIAAAAAFgivA6oABAAoIgAA
AAAWCLsDrwAEADAiAAAAABEYzwEXAAUARCIAAAAABhiUARMABQBMIgAAAAAWCBcExgAFAKgiAAAA
AAYYlAETAAUAsCIAAAAABgCFBBMABQAEJQAAAAAGAIoE2QAFANwlAAAAAAYAmATeAAUASCYAAAAA
BgisBHEABgBgJgAAAAAGCLkE5AAGAGwmAAAAAAYIzARxAAcAhCYAAAAABgjZBOQABwCQJgAAAAAG
COYEcQAIAKgmAAAAAAYI8wTkAAgAtCYAAAAABggABekACQDMJgAAAAAGCBwF7QAJANgmAAAAAAYI
OAVoAAoA8CYAAAAABghEBfIACgD8JgAAAAAGCFAFcQALABQnAAAAAAYIWwXkAAsAICcAAAAABghm
BXEADAA4JwAAAAAGCHQF5AAMAEQnAAAAAAYIggVxAA0AXCcAAAAABgiRBeQADQBoJwAAAAAGCKAF
cQAOAIAnAAAAAAYIrwXkAA4AjCcAAAAABgi+BXEADwCkJwAAAAAGCMkF5AAPAMgnAAAAAAYI1AVx
ABAA4CcAAAAABgjgBeQAEADsJwAAAAABCOwFcQARAAAoAAAAAAEAAwb3ABEAaCgAAAAAAQAwBv0A
EwDgKAAAAAARAK8GAgEUAPAoAAAAAAEABgcNARgAbCkAAAAABhiUARMAGQB0KQAAAABEAk4INgEZ
AJgpAAAAAAYIOAVoABoAsCkAAAAABghEBfIAGgAAAAEAkAIAAAEAyQIAAAEAyQIAAAEAxwMAAAEA
oQQAAAEAxgQAAAEAxgQAAAEAxgQAAAEAxgQAAAEAxgQAAAEAxgQAAAEAxgQAAAEAxgQAAAEAxgQA
AAEAxgQAAAEAxgQAAAEAFwYAAAIAIwYAAAEAFwYAAAEAzgYAAAIA1QYAAAMA2gYAAAQA4AYAAAEA
FAcAAAEAXAgAAAEAxgQJAJQBEwCZAJQBPQGpAJQBTAERAJQBEwCxAJQBEwAkAJQBEwAsAJQBEwA0
AJQBEwA8AJQBEwAkAOYCiwAsAOYCiwA0AOYCiwA8AOYCiwC5AJQBEwDBAJQBEwDJAJQB5ADRALoJ
4QEZAIkCYwAZAJICaAApANsJ7gEZAKsCcQDhAPcJ/gEZAJQBEwDpAJQBDgJEAC8DkABMABcEiwBM
ACEKiwJMAJQBEwDxAJQB7QApAHkKoAI5AJQBpQJJAJQBEwABAZ8KwQIBAaUKwQIJAZQBEwBRAJQB
EwAhARILywIpAZQB0QIxAUML1wIhAUsL4wKBANQF6gJxAIUL7wJBAZAL9wIRAZQB5AARAZ4L7QCB
AMIL/AJRAZQBTAGBAOsLAwNhAQUMCgNRACUMEQNpAUEMFwNBAUwMEwFBAVIMHQNxAVkMJAN5AYAM
LwOBAI4MNAOBAJkMTAEZAZQB5ACBAbIMPAMZAcIMcQBxAc4MQwOBAdgMFwAxAeoM1wJpAfEM8gCJ
AZQBEwCJAYULXAOJASMNYQOZAZQB5ABpAZ0NfQOpAa0NgwOhAbYNcQChAccNkgNBAVIMlwNBAewN
pgNBAewNsANBAfINcQBxAIULTAG5AZQB7QDBAZQBEwDJAZQB5ADRAZQB5ADZAZQB8gPhAZQB5ADp
AZQB5ADxAZQB5AD5AZQBVwUJApQBdwURApQB5AAZApQBWwYRApQB8gAhApQB7QCBAJQBEwCBAE4I
NgGJAEQF8gApApQB8gAxApQBEwA5ApQB5ABBApQB5ABJApQB5ABRApQB5ABZApQB5ABhApQB5ABp
ApQB5ABxApQB5AB5ApQB5AAIAFQALAEIAFgAMQEpAIMArwEuADMDBQguACsD5QcuAEsDBQguAHMC
DQcuAPsCPgcuAOsAmgIuAEMDmgIuACMDmgIuADsDPQguAAMDRwcuAAsDZgcuABMDrgcuABsDuwdA
ACsAMQFAABMAQwFDABMAQwFDABsAUgFJAIMAwAFjABsAUgFjABMAQwFpAIMA1AGAACsAMQGDABsA
UgGDAHMAMQGDAHsAMQGJAIMAmwGgACsAMQGjAMMAFgKjABMAQwHAACsAMQHDAOsAmgLDABMAQwHJ
ABMAuALgACsAMQHpABMAuAIAARMAQwEAASsAMQEJARsBMQEgARMAQwEgASsAMQEjAZMC+AMjAYMC
0QMjAYsC3wMjAXMCmgIjAXsCMQEpAZsCwwYpAasCzAVAARMAQwFAASsAMQFJAZsC6AZJAasCzAVg
ARMAQwFgASsAMQFpAdsCDQdpAZsCEwdpAasCzAWAASsAMQGJAZsCogWJAasCzAWgASsAMQGpAdMC
fwapAZsCiAapAasCzAXAASsAMQHAARMAQwHJAbMCQwHJAbsCfQXJAasCsQTJAZsCXgXgASsAMQHp
AasCsQTpAZsCvwQAAisAMQEAAhMAQwEJAqMCmQQJAqsCsQQJApsCcgQpApsCMAUpAqMCmQQpAqsC
sQRJApsC2gRJAqsCsQRpAssCYgZpAqsCsQRpAsMCmgJpApsC3AWHAYwBkQGWAeYB6gH1AfoBCQIJ
ApECrAKzAsYCTANsA3UD+gH6AfoB5gHqAfoB+gH6AfoB+gH6AfoBigOdA+YBuwM3B+oBBAABAAYA
BQAHAAYACAAIAAkACQALABUAAAC4AU8AAABxAlQAAAAgAlkAAAB9Al4AAAA5A5gAAABWA7UAAADN
A7oAAADHA8sAAACUBxwBAACdBxwBAACmBxwBAACvByABAADHByQBAADPBxwBAADWBxwBAADgBxwB
AADrBxwBAAD2BxwBAAD9BxwBAAAFCBwBAADHByQBAgAEAAMAAgAFAAUAAgAGAAcAAgAHAAkAAgAP
AAsAAgASAA0AAQAUAA8AAgATAA8AAgAXABEAAQAdABMAAgAcABMAAQAfABUAAgAeABUAAgAgABcA
AQAhABcAAQAjABkAAgAiABkAAgAkABsAAQAlABsAAgAmAB0AAQAnAB0AAgAoAB8AAQApAB8AAQAr
ACEAAgAqACEAAgAsACMAAQAtACMAAQAvACUAAgAuACUAAQAxACcAAgAwACcAAgAyACkAAgA5ACsA
AQA6ACsAdQB1AIgAawFyAXkBgAF4An8CaQMEgAAAAQAAAAAAAAAAAAAAAAACAQAABAAAAAAAAAAA
AAAAAQAKAAAAAAAKAAAAAAAAAAAAAAAKABMAAAAAAAQAAAAAAAAAAAAAAAEAwQEAAAAACwAAAAAA
AAAAAAAA0AAhBAAAAAAEAAAAAAAAAAAAAAAKAGkMAAAAAAsAAAAAAAAAAAAAANAAQA0AAAAAAQAA
AAAAAAAAAAAAyAMvDgAAAAAAAAAAAQAAAHMPAAAFAAQABgAEAAoACQALAAkAAAAQAAwAxwIAABAA
GQDHAgAAAAAbAMcCLQAEAi0AhgIAAAA8TW9kdWxlPgBtc2NvcmxpYgBNaWNyb3NvZnQuVmlzdWFs
QmFzaWMATXlBcHBsaWNhdGlvbgBTY3JpcHRUYXNrX2I1MDAyNWQwYjExMjQyOTk4YjgxYjVkMTk3
ZmNlZDZhLnZicHJvai5NeQBNeUNvbXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVh
ZFNhZmVPYmplY3RQcm92aWRlcmAxAE15UmVzb3VyY2VzAFNjcmlwdFRhc2tfYjUwMDI1ZDBiMTEy
NDI5OThiODFiNWQxOTdmY2VkNmEudmJwcm9qLk15LlJlc291cmNlcwBNeVNldHRpbmdzAFNjcmlw
dFRhc2tfYjUwMDI1ZDBiMTEyNDI5OThiODFiNWQxOTdmY2VkNmEudmJwcm9qAFNjcmlwdE1haW4A
U2NyaXB0UmVzdWx0cwBXZWJDbGllbnRFeABNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQXBwbGljYXRp
b25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkRl
dmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IAZ2V0X0NvbXB1dGVyAG1fQ29tcHV0
ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9BcHBPYmplY3RQcm92aWRlcgBVc2Vy
AGdldF9Vc2VyAG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9XZWJTZXJ2aWNlcwBtX015V2ViU2Vy
dmljZXNPYmplY3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJTZXJ2aWNlcwBFcXVhbHMAbwBHZXRI
YXNoQ29kZQBUeXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRlX19JbnN0YW5jZV9fAFQAaW5zdGFu
Y2UARGlzcG9zZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFuY2UATWljcm9zb2Z0LlZpc3VhbEJh
c2ljLk15U2VydmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVlYDEAbV9Db250ZXh0AEdldEluc3Rh
bmNlAFN5c3RlbS5SZXNvdXJjZXMAUmVzb3VyY2VNYW5hZ2VyAF9yZXNNZ3IAU3lzdGVtLkdsb2Jh
bGl6YXRpb24AQ3VsdHVyZUluZm8AX3Jlc0N1bHR1cmUAZ2V0X1Jlc291cmNlTWFuYWdlcgBnZXRf
Q3VsdHVyZQBzZXRfQ3VsdHVyZQBWYWx1ZQBDdWx0dXJlAFN5c3RlbS5Db25maWd1cmF0aW9uAEFw
cGxpY2F0aW9uU2V0dGluZ3NCYXNlAG1fVmFsdWUAbV9TeW5jT2JqZWN0AGdldF9WYWx1ZQBNaWNy
b3NvZnQuU3FsU2VydmVyLlNjcmlwdFRhc2sATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuVGFza3Mu
U2NyaXB0VGFzawBWU1RBUlRTY3JpcHRPYmplY3RNb2RlbEJhc2UATWFpbgBHZXRQcm9wZXJ0aWVz
AFZhbGlkYXRlAGVyck1lc3NhZ2UAZ2V0X1Byb3h5VXJsAHNldF9Qcm94eVVybAB2YWx1ZQBnZXRf
VXNlcm5hbWUAc2V0X1VzZXJuYW1lAGdldF9QYXNzd29yZABzZXRfUGFzc3dvcmQAZ2V0X0lnbm9y
ZVNlcnZlckNlcnRpZmljYXRlAHNldF9JZ25vcmVTZXJ2ZXJDZXJ0aWZpY2F0ZQBnZXRfVGltZW91
dABzZXRfVGltZW91dABnZXRfQWN0aW9uAHNldF9BY3Rpb24AZ2V0X1JlbW90ZVVybABzZXRfUmVt
b3RlVXJsAGdldF9Tb3VyY2VGaWxlAHNldF9Tb3VyY2VGaWxlAGdldF9UYXJnZXRGaWxlAHNldF9U
YXJnZXRGaWxlAGdldF9NZXRob2QAc2V0X01ldGhvZABnZXRfSGVhZGVycwBzZXRfSGVhZGVycwBn
ZXRfRmlsZUNvbm5lY3Rpb25UeXBlAFZhbGlkYXRlQ29ubmVjdGlvbl8AbWFuYWdlck5hbWUAZXhw
ZWN0ZWRUeXBlAEdldENvbm5lY3Rpb25GaWxlXwBTeXN0ZW0uU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5
Llg1MDlDZXJ0aWZpY2F0ZXMAWDUwOUNlcnRpZmljYXRlAFg1MDlDaGFpbgBTeXN0ZW0uTmV0LlNl
Y3VyaXR5AFNzbFBvbGljeUVycm9ycwBCeXBhc3NDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbl8Ac2Vu
ZGVyAGNlcnQAY2hhaW4AZXJyb3JzAFN5c3RlbS5OZXQAV2ViSGVhZGVyQ29sbGVjdGlvbgBTZXR1
cEhlYWRlcnNfAGhlYWRlcnMAbV9wcm94eVVybABtX3VzZXJuYW1lAG1fcGFzc3dvcmQAbV9pZ25v
cmVTZXJ2ZXJDZXJ0aWZpY2F0ZQBtX2FjdGlvbgBtX3JlbW90ZVVybABtX3RpbWVvdXQAbV9maWxl
TmFtZQBtX21ldGhvZABtX2hlYWRlcnMAUHJveHlVcmwAVXNlcm5hbWUAUGFzc3dvcmQASWdub3Jl
U2VydmVyQ2VydGlmaWNhdGUAVGltZW91dABBY3Rpb24AUmVtb3RlVXJsAFNvdXJjZUZpbGUAVGFy
Z2V0RmlsZQBNZXRob2QASGVhZGVycwBGaWxlQ29ubmVjdGlvblR5cGUARW51bQB2YWx1ZV9fAFN1
Y2Nlc3MARmFpbHVyZQBXZWJDbGllbnQAV2ViUmVxdWVzdABVcmkAR2V0V2ViUmVxdWVzdABhZGRy
ZXNzAFN5c3RlbS5Db21wb25lbnRNb2RlbABFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUARWRpdG9y
QnJvd3NhYmxlU3RhdGUAU3lzdGVtLkNvZGVEb20uQ29tcGlsZXIAR2VuZXJhdGVkQ29kZUF0dHJp
YnV0ZQBTeXN0ZW0uRGlhZ25vc3RpY3MARGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUATWljcm9zb2Z0
LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2VydmljZXMAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1dGUASGlk
ZU1vZHVsZU5hbWVBdHRyaWJ1dGUAU3lzdGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbgBIZWxwS2V5
d29yZEF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAFJ1bnRpbWVIZWxw
ZXJzAEdldE9iamVjdFZhbHVlAFJ1bnRpbWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFuZGxlAEFj
dGl2YXRvcgBDcmVhdGVJbnN0YW5jZQBNeUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBzZXRfVmFs
dWUAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAENvbVZpc2libGVBdHRyaWJ1dGUAU3lz
dGVtLlJlZmxlY3Rpb24AQXNzZW1ibHkAZ2V0X0Fzc2VtYmx5AFN5c3RlbS5UaHJlYWRpbmcATW9u
aXRvcgBFbnRlcgBFeGl0AERlYnVnZ2VyTm9uVXNlckNvZGVBdHRyaWJ1dGUAV2ViUHJveHkARXhj
ZXB0aW9uAFNlcnZpY2VQb2ludE1hbmFnZXIAUmVtb3RlQ2VydGlmaWNhdGVWYWxpZGF0aW9uQ2Fs
bGJhY2sAZ2V0X1NlcnZlckNlcnRpZmljYXRlVmFsaWRhdGlvbkNhbGxiYWNrAERlbGVnYXRlAENv
bWJpbmUAc2V0X1NlcnZlckNlcnRpZmljYXRlVmFsaWRhdGlvbkNhbGxiYWNrAEh0dHBSZXF1ZXN0
SGVhZGVyAEFkZABTdHJpbmcASXNOdWxsT3JFbXB0eQBzZXRfVXNlRGVmYXVsdENyZWRlbnRpYWxz
AElXZWJQcm94eQBzZXRfUHJveHkATmV0d29ya0NyZWRlbnRpYWwASUNyZWRlbnRpYWxzAHNldF9D
cmVkZW50aWFscwBPcGVyYXRvcnMAQ29tcGFyZVN0cmluZwBTY3JpcHRPYmplY3RNb2RlbABnZXRf
RHRzAEV2ZW50c09iamVjdFdyYXBwZXIAZ2V0X0V2ZW50cwBFbXB0eQBGb3JtYXQARmlyZUluZm9y
bWF0aW9uAFN5c3RlbS5XZWIASHR0cFV0aWxpdHkAVXJsUGF0aEVuY29kZQBVcGxvYWRGaWxlAERv
d25sb2FkRmlsZQBQcm9qZWN0RGF0YQBTZXRQcm9qZWN0RXJyb3IAZ2V0X01lc3NhZ2UARmlyZUVy
cm9yAENsZWFyUHJvamVjdEVycm9yAFJlbW92ZQBzZXRfVGFza1Jlc3VsdABTeXN0ZW0uQ29sbGVj
dGlvbnMAQXJyYXlMaXN0AEFycmF5AFRvQXJyYXkAQXBwbGljYXRpb25FeGNlcHRpb24ATWljcm9z
b2Z0LlNxbFNlcnZlci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUA
Q29ubmVjdGlvbk1hbmFnZXIAQ29ubmVjdGlvbnMAZ2V0X0Nvbm5lY3Rpb25zAGdldF9JdGVtAGdl
dF9DcmVhdGlvbk5hbWUAQWNxdWlyZUNvbm5lY3Rpb24AU3RyaW5nU3BsaXRPcHRpb25zAFNwbGl0
AFRyaW0AQ0xTQ29tcGxpYW50QXR0cmlidXRlAFNTSVNTY3JpcHRUYXNrRW50cnlQb2ludEF0dHJp
YnV0ZQBDb3p5Um9jLlNTSVNQbHVzLjIwMTIAQ296eVJvYy5TcWxTZXJ2ZXIuU1NJUy5BdHRyaWJ1
dGVzAFZhbGlkYXRlUHJvcGVydGllc0F0dHJpYnV0ZQBGaWx0ZXJQcm9wZXJ0aWVzQXR0cmlidXRl
AFNvcnRQcm9wZXJ0aWVzQXR0cmlidXRlAERlc2NyaXB0aW9uQXR0cmlidXRlAENvbm5lY3Rpb25B
dHRyaWJ1dGUAQ2F0ZWdvcnlBdHRyaWJ1dGUAUmVmcmVzaFByb3BlcnRpZXNBdHRyaWJ1dGUAUmVm
cmVzaFByb3BlcnRpZXMATGlzdEF0dHJpYnV0ZQBEZWZhdWx0VmFsdWVBdHRyaWJ1dGUAVGV4dERp
YWxvZ0F0dHJpYnV0ZQBQYXNzd29yZFByb3BlcnR5VGV4dEF0dHJpYnV0ZQBTY3JpcHRUYXNrX2I1
MDAyNWQwYjExMjQyOTk4YjgxYjVkMTk3ZmNlZDZhLnZicHJvai5SZXNvdXJjZXMucmVzb3VyY2Vz
AENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRy
aWJ1dGUAU3lzdGVtLlJ1bnRpbWUuVmVyc2lvbmluZwBUYXJnZXRGcmFtZXdvcmtBdHRyaWJ1dGUA
QXNzZW1ibHlGaWxlVmVyc2lvbkF0dHJpYnV0ZQBHdWlkQXR0cmlidXRlAEFzc2VtYmx5VHJhZGVt
YXJrQXR0cmlidXRlAEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5UHJvZHVjdEF0
dHJpYnV0ZQBBc3NlbWJseUNvbXBhbnlBdHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlwdGlvbkF0dHJp
YnV0ZQBBc3NlbWJseVRpdGxlQXR0cmlidXRlAFNjcmlwdFRhc2tfYjUwMDI1ZDBiMTEyNDI5OThi
ODFiNWQxOTdmY2VkNmEudmJwcm9qLmRsbAAAAAAAMU0AeQAuAFIAZQBzAG8AdQByAGMAZQBzAC4A
TQB5AFIAZQBzAG8AdQByAGMAZQBzAABHQwBPAFoAWQBSAE8AQwAgAEgAVABUAFAAIABVAHAAbABv
AGEAZAAvAEQAbwB3AG4AbABvAGEAZAAgAFMAYwByAGkAcAB0AAAXVQBwAGwAbwBhAGQAIABGAGkA
bABlAAAxVQBwAGwAbwBhAGQAaQBuAGcAIAAnAHsAMAB9ACcAIAB0AG8AIAAnAHsAMQB9ACcAARtE
AG8AdwBuAGwAbwBhAGQAIABGAGkAbABlAAA5RABvAHcAbgBsAG8AYQBkAGkAbgBnACAAJwB7ADAA
fQAnACAAZgByAG8AbQAgACcAewAxAH0AJwABLVUAbgBoAGEAbgBkAGwAZQBkACAAdABhAHMAawAg
AGEAYwB0AGkAbwBuAC4AABFQAHIAbwB4AHkAVQByAGwAABFVAHMAZQByAG4AYQBtAGUAABFQAGEA
cwBzAHcAbwByAGQAAC9JAGcAbgBvAHIAZQBTAGUAcgB2AGUAcgBDAGUAcgB0AGkAZgBpAGMAYQB0
AGUAAA1BAGMAdABpAG8AbgAAE1IAZQBtAG8AdABlAFUAcgBsAAAPVABpAG0AZQBvAHUAdAAAD0gA
ZQBhAGQAZQByAHMAABVTAG8AdQByAGMAZQBGAGkAbABlAAANTQBlAHQAaABvAGQAABVUAGEAcgBn
AGUAdABGAGkAbABlAAAzUABsAGUAYQBzAGUAIABzAHAAZQBjAGkAZgB5ACAAUgBlAG0AbwB0AGUA
VQByAGwALgAAM1AAbABlAGEAcwBlACAAcwBwAGUAYwBpAGYAeQAgAGYAaQBsAGUAIABuAGEAbQBl
AC4AAAEACUYASQBMAEUAAEcnAHsAMAB9ACcAIABjAG8AbgBuAGUAYwB0AGkAbwBuACAAaQBzACAA
bgBvAHQAIAAnAHsAMQB9ACcAIAB0AHkAcABlAC4AAUsnACcAewAwAH0AJwAgAGMAbwBuAG4AZQBj
AHQAaQBvAG4AIABmAGkAbABlACAAZABvAGUAcwBuACcAdAAgAGUAeABpAHMAdAAuAAEFXABuAAAD
PQAAAAAAcd1MBwh5bkyTx+K2BeAZeAAIt3pcVhk04IkIsD9ffxHVCjoDIAABAwAAAQQAABIMBwYV
EhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUSGAESEQQAABIUBwYVEhgBEhQECAASDAQIABIIBAgA
EhEECAASFAQgAQIcAyAACAQgABIVAyAADgIeAAcQAQEeAB4ABzABAQEQHgACEwAEIAATAAcGFRIZ
ARMABCgAEwADBhIdAwYSIQQAABIdBAAAEiEFAAEBEiEECAASHQQIABIhAwYSIAIGHAQAABIgBAgA
EiAIiYRdzYCAzJEEIAAdDgUgAQIQDgQgAQEOAyAAAgQgAQECBCABAQgFIAICDg4EIAEODgoABAIc
Ei0SMRE1BSABARI5AgYOAgYCAgYIAygADgMoAAIDKAAIAwYRKAQAAAAABAEAAAAGIAESRRJJBSAB
ARFRCAEAAQAAAAAABSACAQ4OGAEACk15VGVtcGxhdGUIMTAuMC4wLjAAAAYVEhgBEgwGFRIYARII
BhUSGAESEQYVEhgBEhQEBwESDAQHARIIBAcBEhEEBwESFBMBAA5NeS5XZWJTZXJ2aWNlcwAAEAEA
C015LkNvbXB1dGVyAAATAQAOTXkuQXBwbGljYXRpb24AAAwBAAdNeS5Vc2VyAAAEAAEcHAMHAQID
BwEIBgABEhURbQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2Vi
LlNlcnZpY2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFu
Y2VfXxNEaXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUgAQETAAgHAxMA
EwATAAUBAAAAAAQgABJ9BiACAQ4SfQYHAhIdEh0EBwESIQgBAAIAAAAAAAQAAQEcBAcBEiAFAAAS
gJUFIAIBHBgLAAISgJkSgJkSgJkGAAEBEoCVBCAAEjkHIAIBEYCdDgQAAQIOBiABARKApQYgAQES
gK0GAAMIDg4CBSAAEoC1BSAAEoC5BgADDg4cHAogBgEIDg4OCBACBAABDg4HIAMdBQ4ODgYAAQES
gI0IIAUCCA4ODggPBwcSLAIIEoCJEoCNEiwOBCABCBwHIAESgMkSFQIdDggHAx0OEoDFDgcHAwIC
EoCNBSAAEoDVBiABEoDRHAcHAxKA0QICBCABHBwFAAIODhwIBwQcDhKA0Q4JIAIdDh0OEYDZCiAD
HQ4dDggRgNkMBwYdDh0ODh0OCB0OCBbPSQu4DDTqDQEACFZhbGlkYXRlAAASAQANR2V0UHJvcGVy
dGllcwAABSABAR0OeQEACwAAAAhVc2VybmFtZQhQYXNzd29yZAhQcm94eVVybBdJZ25vcmVTZXJ2
ZXJDZXJ0aWZpY2F0ZQdUaW1lb3V0BkFjdGlvbglSZW1vdGVVcmwKU291cmNlRmlsZQpUYXJnZXRG
aWxlBk1ldGhvZAdIZWFkZXJzAAAmAQAhU2VsZWN0IGNvbm5lY3Rpb24gdG8gc291cmNlIGZpbGUu
AAAXAQASRmlsZUNvbm5lY3Rpb25UeXBlAAANAQAIU2V0dGluZ3MAABoBABVTcGVjaWZpZXMgcmVt
b3RlIFVSTC4AAFUBAFBTcGVjaWZpZXMgbWV0aG9kIHVzZWQgdG8gc2VuZCBmaWxlIChvcHRpb25h
bCkuIElmIG5vdCBzcGVjaWZpZWQgZGVmYXVsdCBpcyBQT1NULgAAJgEAIVNlbGVjdCBjb25uZWN0
aW9uIHRvIHRhcmdldCBmaWxlLgAABiABARGBARgBABNTZWxlY3QgdGFzayBhY3Rpb24uAAAFIAEB
HRwkAQACAAAADgtVcGxvYWQgRmlsZQ4NRG93bmxvYWQgRmlsZQAAKQEAJFNlbGVjdCB0byBpZ25v
cmUgc2VydmVyIGNlcnRpZmljYXRlLgAADwEACkNvbm5lY3Rpb24AAH4BAHlTcGVjaWZ5IGFkZGl0
aW9uYWwgd2ViIHJlcXVlc3QgaGVhZGVycyAob3B0aW9uYWwpLiBTeW50YXggaXMgW25hbWVdPVt2
YWx1ZV0uIE11bHRpcGxlIGhlYWRlcnMgYXJlIHNlcGFyYXRlZCB3aXRoIG5ld2xpbmUuAAAGIAMB
Dg4OHAEAEFNwZWNpZnkgaGVhZGVycy4ABXBsYWluAAAIAQBkAAAAAAA6AQA1U3BlY2lmaWVzIHRp
bWVvdXQgaW4gc2Vjb25kcy4gRm9yIGluZmluaXRlIHNldCB0byAtMS4AACQBAB9TcGVjaWZpZXMg
cHJveHkgVVJMIChvcHRpb25hbCkuAAAkAQAfU3BlY2lmaWVzIHVzZXIgbmFtZSAob3B0aW9uYWwp
LgAABQEAAQAAIwEAHlNwZWNpZmllcyBwYXNzd29yZCAob3B0aW9uYWwpLgAABgcCEkUSRQgBAAgA
AAAAAB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlvblRocm93cwFHAQAaLk5FVEZyYW1ld29yayxWZXJz
aW9uPXY0LjABAFQOFEZyYW1ld29ya0Rpc3BsYXlOYW1lEC5ORVQgRnJhbWV3b3JrIDQMAQAHMS4w
LjAuMAAAKQEAJDdhMzYxMzYzLTM5NjktNGJmNi05ZjNmLWRkM2E4NmFhYzZiNAAAHwEAGkNvcHly
aWdodCBAIE1pY3Jvc29mdCAyMDE1AAA3AQAyU2NyaXB0VGFza19iNTAwMjVkMGIxMTI0Mjk5OGI4
MWI1ZDE5N2ZjZWQ2YS52YnByb2oAAA4BAAlNaWNyb3NvZnQAADBWAAAAAAAAAAAAAE5WAAAAIAAA
AAAAAAAAAAAAAAAAAAAAAAAAAABAVgAAAAAAAAAAAAAAAAAAAABfQ29yRGxsTWFpbgBtc2NvcmVl
LmRsbAAAAAAA/yUAIAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAAgAAAAAAA
AAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAABIBAAAAAAAAAAA
AABIBDQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAAAAEAAAAA
AAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQByAEYAaQBsAGUA
SQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAEqAMAAAEAUwB0
AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAhAMAAAEAMAAwADAAMAAwADQAYgAwAAAANAAKAAEA
QwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAABNAGkAYwByAG8AcwBvAGYAdAAAAJAAMwABAEYAaQBs
AGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAABTAGMAcgBpAHAAdABUAGEAcwBrAF8AYgA1ADAA
MAAyADUAZAAwAGIAMQAxADIANAAyADkAOQA4AGIAOAAxAGIANQBkADEAOQA3AGYAYwBlAGQANgBh
AC4AdgBiAHAAcgBvAGoAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAA
LgAwAC4AMAAAAJAANwABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBjAHIAaQBwAHQAVABh
AHMAawBfAGIANQAwADAAMgA1AGQAMABiADEAMQAyADQAMgA5ADkAOABiADgAMQBiADUAZAAxADkA
NwBmAGMAZQBkADYAYQAuAHYAYgBwAHIAbwBqAC4AZABsAGwAAAAAAFwAGwABAEwAZQBnAGEAbABD
AG8AcAB5AHIAaQBnAGgAdAAAAEMAbwBwAHkAcgBpAGcAaAB0ACAAQAAgAE0AaQBjAHIAbwBzAG8A
ZgB0ACAAMgAwADEANQAAAAAAmAA3AAEATwByAGkAZwBpAG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAA
AFMAYwByAGkAcAB0AFQAYQBzAGsAXwBiADUAMAAwADIANQBkADAAYgAxADEAMgA0ADIAOQA5ADgA
YgA4ADEAYgA1AGQAMQA5ADcAZgBjAGUAZAA2AGEALgB2AGIAcAByAG8AagAuAGQAbABsAAAAAACI
ADMAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMAYwByAGkAcAB0AFQAYQBzAGsAXwBiADUA
MAAwADIANQBkADAAYgAxADEAMgA0ADIAOQA5ADgAYgA4ADEAYgA1AGQAMQA5ADcAZgBjAGUAZAA2
AGEALgB2AGIAcAByAG8AagAAAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAA
MQAuADAALgAwAC4AMAAAADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAx
AC4AMAAuADAALgAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAMAAAAYDYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</BinaryItem>
</ScriptProject>