{A860303F-1F3F-4691-B57E-529FC101A107};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}
Debug
AnyCPU
Library
ScriptTask_26baabc8c4434f9ba1f12179f3309fd2.vbproj
ScriptTask_26baabc8c4434f9ba1f12179f3309fd2.vbproj
On
Binary
Off
On
{B67C202E-F731-42B1-9B28-9B5898565B8A}
true
true
true
false
bin\
false
false
42016,42017,42018,42019,42032
false
true
false
true
bin\
false
false
42016,42017,42018,42019,42032
Code
VbMyResourcesResXFileCodeGenerator
Resources.Designer.vb
My.Resources
True
True
Resources.resx
Code
SettingsSingleFileGenerator
Settings.Designer.vb
True
Settings.settings
Code
Code
SSIS_ScriptTask
]]>
_
_
_
_
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
' The execution engine calls this method when the task executes.
' To access the object model, use the Dts object. Connections, variables, events,
' and logging features are available as static members of the Dts class.
' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
'
' To open Code and Text Editor Help, press F1.
' To open Object Browser, press Ctrl+Alt+J.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Sub Main()
Dim result As Integer
result = ScriptResults.Success
Try
' Get selected package.
Dim manager As ConnectionManager = Dts.Connections(Me.PackageConnection)
Dim connection As IPackageConnection = CType( _
manager.AcquireConnection(Nothing), _
IPackageConnection)
Dim package As Package = CType(connection.GetPackage(), Package)
Dim eventAdvance As WaitHandle = New AutoResetEvent(False)
Dim EOR As Boolean
' Get selected data flow component.
Dim dataFlowComponent As IDTSComponentMetaData100 = CType( _
connection.GetObjectFromPackage(Me.DataFlowDestination), _
IDTSComponentMetaData100)
' Get data reader object.
Dim dataReader As IDataReader = Nothing
Do
Try
dataReader = CType( _
dataFlowComponent.CustomPropertyCollection("DataReader").Value, _
IDataReader)
Catch ex As Exception
Call Thread.Sleep(1 * 1000) ' Wait one second for object to be setup.
End Try
Loop While dataReader Is Nothing
EOR = CType(dataReader.GetType().InvokeMember( _
"m_fEOR", _
BindingFlags.GetField Or BindingFlags.Instance Or BindingFlags.NonPublic, _
Nothing, _
dataReader, _
New Object() {}), Boolean)
If EOR Then
' Wait for signal to start processing.
Call dataReader.GetType().InvokeMember( _
"ProvideProcessingEvent", _
BindingFlags.InvokeMethod Or BindingFlags.Instance Or BindingFlags.Public, _
Nothing, _
dataReader, _
New Object() {eventAdvance})
Call eventAdvance.WaitOne(5 * 1000) ' Processing should start in less than 5 seconds.
End If
' Store data reader enumerator in specified package variable.
Dim vars As Variables = Nothing
Call Dts.VariableDispenser.LockOneForWrite(Me.EnumeratorVariable, vars)
Try
vars(Me.EnumeratorVariable).Value = New DataReaderEnumerator(dataReader)
Finally
Call vars.Unlock()
End Try
Catch ex As Exception
result = ScriptResults.Failure
Dts.Events.FireError(0, String.Empty, ex.Message, String.Empty, 0)
End Try
Dts.TaskResult = result
End Sub ' Main
Public Function Validate(ByRef errMessage As String) As Boolean
Dim result As Boolean
result = False
If String.IsNullOrEmpty(Me.PackageConnection) Then
errMessage = "Please specify package connection."
ElseIf String.IsNullOrEmpty(Me.DataFlowDestination) Then
errMessage = "Please specify data flow destination."
ElseIf String.IsNullOrEmpty(Me.EnumeratorVariable) Then
errMessage = "Please specify enumerator variable (Object)."
Else
result = True
End If
Validate = result
End Function ' Validate
#Region "Properties"
_
_
_
Public Property PackageConnection() As String
Get
PackageConnection = m_packageConnection
End Get
Set(ByVal value As String)
m_packageConnection = value
End Set
End Property ' PackageConnection
_
_
_
Public Property DataFlowDestination() As String
Get
DataFlowDestination = m_destination
End Get
Set(ByVal value As String)
m_destination = value
End Set
End Property ' DataFlowDestination
_
_
_
Public Property EnumeratorVariable() As String
Get
EnumeratorVariable = m_enumVar
End Get
Set(ByVal value As String)
m_enumVar = value
End Set
End Property ' EnumeratorVariable
#End Region ' Properties
#Region "Internals"
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private ReadOnly Property PackageConnectionType() As String
Get
PackageConnectionType = "PACKAGE"
End Get
End Property ' PackageConnectionType
#End Region ' Internals
#Region "Attributes"
Private m_packageConnection As String
Private m_destination As String
Private m_enumVar As String
#End Region ' Attributes
End Class ' ScriptMain]]>
]]>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
'
'------------------------------------------------------------------------------
Option Strict Off
Option Explicit On
Namespace My.Resources
'''
''' A strongly-typed resource class, for looking up localized strings, etc.
'''
'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
'''
''' Returns the cached ResourceManager instance used by this class.
'''
_
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
'''
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''
_
Public Shared Property Culture() As System.Globalization.CultureInfo
Get
Return _resCulture
End Get
Set
_resCulture = value
End Set
End Property
End Class
End Namespace]]>
text/microsoft-resx
2.0
System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
]]>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
'
'------------------------------------------------------------------------------
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
_
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]]>
'The following GUID is for the ID of the typelib if this project is exposed to COM
' 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:
'
]]>
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
Ct4AAm8qAAAKBm9EAAAKKkFIAAAAAAAAUQAAAB0AAABuAAAAGQAAACQAAAECAAAAAgEAABoAAAAc
AQAACAAAAAAAAAEAAAAAAgAAACQBAAAmAQAANQAAACQAAAETMAIASgAAABMAABEWCgJvIAAABihF
AAAKLAkDcoUAAHBRKy4CbyIAAAYoRQAACiwJA3LLAABwUSsYAm8kAAAGKEUAAAosCQNyFwEAcFEr
AhcKBgsHKgAAEzABAAkAAAAUAAARAnsLAAAECgYqAAAAIgIDfQsAAAQqAAAAEzABAAkAAAAVAAAR
AnsMAAAECgYqAAAAIgIDfQwAAAQqAAAAEzABAAkAAAAWAAARAnsNAAAECgYqAAAAIgIDfQ0AAAQq
AAAAEzABAAgAAAAXAAARcnEBAHAKBipCU0pCAQABAAAAAAAMAAAAdjIuMC41MDcyNwAAAAAFAGwA
AAAoCwAAI34AAJQLAABsDgAAI1N0cmluZ3MAAAAAABoAAIQBAAAjVVMAhBsAABAAAAAjR1VJRAAA
AJQbAACIBQAAI0Jsb2IAAAAAAAAAAgAAAVcfogsJDwAAAPoBMwAWAAABAAAARQAAAAsAAAAQAAAA
JgAAAAkAAAACAAAAWAAAAAIAAABAAAAAFwAAAAYAAAANAAAAEQAAAAQAAAAJAAAAAQAAAAkAAAAB
AAAAAwAAAAMAAAACAAAAAAAzDgEAAAAAAAoAjQFjAQoAwQGjAQYA0QHKAQoAKQJjAQYApwLKAQoA
KQP/AgYAXwNOAwYAjAN3Aw4A8wPeAwYAPQQqBAYASQQqBBIAYQRVBBYA/gTVBAYAWAbKAQ4AiwZ1
Bg4ApAZ1Bg4A0Qa5BgYA+wboBgoAOgcTBwoAUgcTAA4AhwdqBwYAvAecBwYA2gfKAQYA/gfKAQoA
FwgTAAYAWwg8CAYAgQhvCAYAqAiXCAYAuwjoBhoACgnzCB4AaglBCQYAgwmXCCIAzQmtCSIA3wmt
CSIA5wmtCQYA8QnKARYA+wnVBCIAFQqtCQYAVwqXCB4AewpBCR4AuApBCQoAzgoTBwYA6gqXCAYA
CQtvCAYAFgtvCAoAKgsTByIASAutCSIAgAutCRYAkAvVBAYArwvKAQYA7wvKASYAEgwFDBoAQwwh
DBoAXwwhDA4Adwx1BhoAjAwhDA4Arwx1BhoAwQwhDBoA1QwhDAYALg2cBwYATg2cBwYAbA1vCAYA
iQ08CAYAlw1vCAYAsg1vCAYAzQ1vCAYA5g1vCAYA/w1vCAYAHA5vCAAAAAABAAAAAAABAAEAAAAA
ACkANwAFAAEAAQAAAAAAbQA3AAkAAQACAAABEAB4ADcADQABAAMABQEAAIIAAAANAAUACAAFAQAA
kAAAAA0ABQAPAAAAAACrALcADQAGABEAAAEQAPcAAgElAAgAFQAAAAAANQECAQ0ACgAYAAEAAABK
AQIBNQALAB0AAgEAAFUBAAA5AA4AJwAxAOwBIAAxABUCLQAxADcCOgAxAFwCRwAhADgDkAARAG8D
nQARAJgDoQARAAsEvwARABMEwwABAKEE4wABAN0F/wABAPEF/wABAP8F/wAGBl0GBgFWgGUGCQFW
gG0GCQEIIQAAAAAGGJ0BEwABABAhAAAAAAYYnQETAAEAGCEAAAAAERjYARcAAQBEIQAAAAATCN8B
GwABAFwhAAAAABMIBQIoAAEAdCEAAAAAEwguAjUAAQCMIQAAAAATCEwCQgABAKQhAAAAAEYCkgJj
AAEAwCEAAAAARgKbAmgAAgDUIQAAAACDAKwCbAACAOwhAAAAAEYCtAJxAAIAACIAAAAAEQC9AngA
AgAcIgAAAAABANsCgAADADgiAAAAAAYYnQETAAQAQCIAAAAAAwjvAosABAB0IgAAAAAGGJ0BEwAE
AIgiAAAAAAMYnQETAAQAkCIAAAAAFgikA6UABADMIgAAAAAWCLgDqgAEAOAiAAAAABYIxAOvAAQA
6CIAAAAAERjYARcABQD8IgAAAAAGGJ0BEwAFAAQjAAAAABYIIATGAAUAYCMAAAAABhidAdAABQBw
IwAAAABmA3gE1gAGAIAjAAAAAGYLhgTbAAYAlCMAAAAAZgOSBN8ABgCwIwAAAABmA5sEEwAGALQj
AAAAAAYYnQETAAYAvCMAAAAABgAaBRMABgB8JQAAAAAGAB8F9AAGANQlAAAAAAYIMwVxAAcA7CUA
AAAABghJBfoABwD4JQAAAAAGCGUFcQAIABAmAAAAAAYIfQX6AAgAHCYAAAAABgiVBXEACQA0JgAA
AAAGCKwF+gAJAEAmAAAAAAEIwwVxAAoAAAABAJkCAAABANICAAABANICAAABANADAAABAG0EAAAB
ACgFAAABAF8FAAABAF8FAAABAF8FCQApAAkALQAJAJ0BEwB5AJ0BFwGJAJ0BJgERAJ0BEwCRAJ0B
EwAkAJ0BEwAsAJ0BEwA0AJ0BEwA8AJ0BEwAkAO8CiwAsAO8CiwA0AO8CiwA8AO8CiwCZAJ0BEwCh
AJ0BEwCpAJ0B+gCxAMsHugEZAJICYwAZAJsCaAApAOwHxwEZALQCcQDBAAgI1wEZAJ0BEwDJAJ0B
5wFEADgDkABMACAEiwBMADIIZAJMAJ0BEwDRAJ0BcQIpAIoIfAI5AJ0BgQJJAJ0BEwDhALAInQLh
ALYInQLpAJ0BEwBRAHgE1gBZAIYE2wBZAJIE3wBZAJsEEwBhANgI3wBpAJ0BEwBpAA0KuQIpASEK
vwIxATEKxQIJAToKzALxAEwK2wA5AZ0BcQLxAGYK0QL5AJsK1gJBATEK3AJJASAE2wBRAdoK4wJZ
AfEK6gJRAfcKFwAZAKwCbAApAB0L7wJxATYL/QIBAUALAgMpAVoLBwN5AXALDQMZATEKFgOBATII
HQMZAYkLEwApAaQLIgORAbYL/wAhAbwLcQCJAcgLKAMpAdILMQORAeELVQOZAZ0BcQKhAZ0B+gCp
AZ0B+gCxAZ0BpwO5AZ0B+gDBAZ0BJgHJAZ0B+gDRAZ0B+gDZAZ0BEwDhAZ0BMQPpAZ0BEwDxAZ0B
+gD5AZ0B+gABAp0B+gAJAp0B+gARAp0B+gAZAp0B+gAhAp0B+gApAp0B+gAIADwADQEIAEAAEgEp
AIMAiAEuALMCeQUuAIsC5AQuAKsCQQUuAMMCQQUuALsCdgIuAHsCvAQuAIMCxQQuAJMC8QQuAOsA
dgIuADMCGwUuAJsCdgIuAKMCIQVAABMAHQFAACsAEgFDABMAHQFDABsALAFJAIMApgFjABMAHQFj
ABsALAFpAIMAmQGAACsAEgGDABsALAGDAHsAEgGDAHMAEgGJAIMAdAGgACsAEgGjABMAHQGjAMMA
7wHAACsAEgHDAOsAdgLDABMAHQHJABMAlALgACsAEgHpABMAlAIAASsAEgEAARMAHQEJARsBEgEg
ASsAEgEgARMAHQFAASsAEgFAARMAHQFDAUMCmQNDATsCXwNDATMCdgJDAUsCrQNJAWsCcARJAVMC
TQRJAWMCPwRgARMAHQFgASsAEgFpAWMCPwRpAVMC7wNpAVsCHQSAASsAEgGJAXMCEgGJAWMCPwSJ
AVMCiwSgASsAEgHAARMAHQHAASsAEgHgASsAEgEAAhMAHQEAAisAEgFgAWUBagFvAb8BwwHOAdMB
4gHiAWoCiAKPAqICpwKsAr8BNgNaA9MB0wHTAdMBBAABAAYABQAHAAYACAAIAAkACQAKAAoAAADB
AU8AAAB6AlQAAAApAlkAAACGAl4AAABCA5gAAABfA7UAAADWA7oAAADQA8sAAACuBOcAAAAJBgIB
AAAbBgIBAAAvBgIBAABCBgIBAgAEAAMAAgAFAAUAAgAGAAcAAgAHAAkAAgAPAAsAAgASAA0AAgAT
AA8AAQAUAA8AAgAXABEAAgAaABMAAgAgABUAAQAhABUAAgAiABcAAQAjABcAAgAkABkAAQAlABkA
AgAmABsACQAyAEkACQA0AEsACQA2AE0ACQA4AE8AdQB1AIgARAFLAVIBWQFRAlgCBIAAAAEAAAAA
AAAAAAAAAAAAAgEAAAIAAAAAAAAAAAAAAAEACgAAAAAACAAAAAAAAAAAAAAACgATAAAAAAACAAAA
AAAAAAAAAAABAMoBAAAAAAIAAAAAAAAAAAAAAAEAVQQAAAAACgAAAAAAAAAAAAAA6wC2BAAAAAAB
AAAAAAAAAAAAAACwAt0IAAAAAAoAAAAAAAAAAAAAAOsAHQkAAAAACgAAAAAAAAAAAAAA6wCOCQAA
AAADAAUAAAAAAAAAAAABAAUMAAAAAAAAAAABAAAA5wwAAAUABAAGAAQACwAKAAAAEAAMANACAAAQ
ABkA0AIAAAAAGwDQAi0A3QEtAF8CAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3Vh
bEJhc2ljAE15QXBwbGljYXRpb24AU2NyaXB0VGFza18yNmJhYWJjOGM0NDM0ZjliYTFmMTIxNzlm
MzMwOWZkMi52YnByb2ouTXkATXlDb21wdXRlcgBNeVByb2plY3QATXlXZWJTZXJ2aWNlcwBUaHJl
YWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBNeVJlc291cmNlcwBTY3JpcHRUYXNrXzI2YmFhYmM4YzQ0
MzRmOWJhMWYxMjE3OWYzMzA5ZmQyLnZicHJvai5NeS5SZXNvdXJjZXMATXlTZXR0aW5ncwBTY3Jp
cHRUYXNrXzI2YmFhYmM4YzQ0MzRmOWJhMWYxMjE3OWYzMzA5ZmQyLnZicHJvagBEYXRhUmVhZGVy
RW51bWVyYXRvcgBTY3JpcHRNYWluAFNjcmlwdFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJhc2lj
LkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5WaXN1
YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21wdXRl
cgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0UHJv
dmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBnZXRfV2ViU2VydmljZXMA
bV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMARXF1
YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFuY2Vf
XwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jvc29m
dC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29udGV4
dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdyAFN5
c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJjZU1h
bmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29uZmln
dXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABnZXRf
VmFsdWUAU3lzdGVtLkNvbGxlY3Rpb25zAElFbnVtZXJhYmxlAElFbnVtZXJhdG9yAFN5c3RlbS5E
YXRhAElEYXRhUmVhZGVyAGRhdGFSZWFkZXIAR2V0RW51bWVyYXRvcgBnZXRfQ3VycmVudABNb3Zl
TmV4dABSZXNldABtX2RhdGFSZWFkZXIAQ3VycmVudABNaWNyb3NvZnQuU3FsU2VydmVyLlNjcmlw
dFRhc2sATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuVGFza3MuU2NyaXB0VGFzawBWU1RBUlRTY3Jp
cHRPYmplY3RNb2RlbEJhc2UATWFpbgBWYWxpZGF0ZQBlcnJNZXNzYWdlAGdldF9QYWNrYWdlQ29u
bmVjdGlvbgBzZXRfUGFja2FnZUNvbm5lY3Rpb24AdmFsdWUAZ2V0X0RhdGFGbG93RGVzdGluYXRp
b24Ac2V0X0RhdGFGbG93RGVzdGluYXRpb24AZ2V0X0VudW1lcmF0b3JWYXJpYWJsZQBzZXRfRW51
bWVyYXRvclZhcmlhYmxlAGdldF9QYWNrYWdlQ29ubmVjdGlvblR5cGUAbV9wYWNrYWdlQ29ubmVj
dGlvbgBtX2Rlc3RpbmF0aW9uAG1fZW51bVZhcgBQYWNrYWdlQ29ubmVjdGlvbgBEYXRhRmxvd0Rl
c3RpbmF0aW9uAEVudW1lcmF0b3JWYXJpYWJsZQBQYWNrYWdlQ29ubmVjdGlvblR5cGUARW51bQB2
YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJvd3Nh
YmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBpbGVy
AEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlkZGVu
QXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5kYXJk
TW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25lbnRN
b2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJT
ZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRsZQBH
ZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxlY3Rp
b25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21W
aXNpYmxlQXR0cmlidXRlAFN5c3RlbS5SZWZsZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3NlbWJseQBT
eXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IARW50ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJDb2RlQXR0
cmlidXRlAFJlYWQAQ296eVJvYy5TU0lTUGx1cy4yMDA4AENvenlSb2MuU3FsU2VydmVyLlNTSVMA
SVBhY2thZ2VDb25uZWN0aW9uAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRFRTUGlwZWxpbmVXcmFwAE1p
Y3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5lLldyYXBwZXIASURUU0NvbXBvbmVudE1ldGFE
YXRhMTAwAFdhaXRIYW5kbGUATWljcm9zb2Z0LlNxbFNlcnZlci5NYW5hZ2VkRFRTAE1pY3Jvc29m
dC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAQ29ubmVjdGlvbk1hbmFnZXIAUGFja2FnZQBWYXJpYWJs
ZXMARXhjZXB0aW9uAFNjcmlwdE9iamVjdE1vZGVsAGdldF9EdHMAQ29ubmVjdGlvbnMAZ2V0X0Nv
bm5lY3Rpb25zAGdldF9JdGVtAEFjcXVpcmVDb25uZWN0aW9uAEdldFBhY2thZ2UAQXV0b1Jlc2V0
RXZlbnQAR2V0T2JqZWN0RnJvbVBhY2thZ2UASURUU0N1c3RvbVByb3BlcnR5Q29sbGVjdGlvbjEw
MABnZXRfQ3VzdG9tUHJvcGVydHlDb2xsZWN0aW9uAElEVFNDdXN0b21Qcm9wZXJ0eTEwMABQcm9q
ZWN0RGF0YQBTZXRQcm9qZWN0RXJyb3IAVGhyZWFkAFNsZWVwAENsZWFyUHJvamVjdEVycm9yAEJp
bmRpbmdGbGFncwBCaW5kZXIASW52b2tlTWVtYmVyAENvbnZlcnNpb25zAFRvQm9vbGVhbgBXYWl0
T25lAFZhcmlhYmxlRGlzcGVuc2VyAGdldF9WYXJpYWJsZURpc3BlbnNlcgBMb2NrT25lRm9yV3Jp
dGUAVmFyaWFibGUAVW5sb2NrAEV2ZW50c09iamVjdFdyYXBwZXIAZ2V0X0V2ZW50cwBTdHJpbmcA
RW1wdHkAZ2V0X01lc3NhZ2UARmlyZUVycm9yAHNldF9UYXNrUmVzdWx0AElzTnVsbE9yRW1wdHkA
Q0xTQ29tcGxpYW50QXR0cmlidXRlAFN5c3RlbS5BZGRJbgBBZGRJbkF0dHJpYnV0ZQBDb3p5Um9j
LlNxbFNlcnZlci5TU0lTLkF0dHJpYnV0ZXMAVmFsaWRhdGVQcm9wZXJ0aWVzQXR0cmlidXRlAFNv
cnRQcm9wZXJ0aWVzQXR0cmlidXRlAERlc2NyaXB0aW9uQXR0cmlidXRlAERhdGFmbG93RGVzdGlu
YXRpb25EaWFsb2dBdHRyaWJ1dGUAQ2F0ZWdvcnlBdHRyaWJ1dGUAQ29ubmVjdGlvbkF0dHJpYnV0
ZQBWYXJpYWJsZUF0dHJpYnV0ZQBTY3JpcHRUYXNrXzI2YmFhYmM4YzQ0MzRmOWJhMWYxMjE3OWYz
MzA5ZmQyLnZicHJvai5SZXNvdXJjZXMucmVzb3VyY2VzAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNB
dHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAQXNzZW1ibHlGaWxlVmVyc2lv
bkF0dHJpYnV0ZQBHdWlkQXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRlAEFzc2Vt
Ymx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5UHJvZHVjdEF0dHJpYnV0ZQBBc3NlbWJseUNv
bXBhbnlBdHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlwdGlvbkF0dHJpYnV0ZQBBc3NlbWJseVRpdGxl
QXR0cmlidXRlAFNjcmlwdFRhc2tfMjZiYWFiYzhjNDQzNGY5YmExZjEyMTc5ZjMzMDlmZDIudmJw
cm9qLmRsbAAAAAAxTQB5AC4AUgBlAHMAbwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBl
AHMAABVEAGEAdABhAFIAZQBhAGQAZQByAAANbQBfAGYARQBPAFIAAC1QAHIAbwB2AGkAZABlAFAA
cgBvAGMAZQBzAHMAaQBuAGcARQB2AGUAbgB0AABFUABsAGUAYQBzAGUAIABzAHAAZQBjAGkAZgB5
ACAAcABhAGMAawBhAGcAZQAgAGMAbwBuAG4AZQBjAHQAaQBvAG4ALgAAS1AAbABlAGEAcwBlACAA
cwBwAGUAYwBpAGYAeQAgAGQAYQB0AGEAIABmAGwAbwB3ACAAZABlAHMAdABpAG4AYQB0AGkAbwBu
AC4AAFlQAGwAZQBhAHMAZQAgAHMAcABlAGMAaQBmAHkAIABlAG4AdQBtAGUAcgBhAHQAbwByACAA
dgBhAHIAaQBhAGIAbABlACAAKABPAGIAagBlAGMAdAApAC4AAA9QAEEAQwBLAEEARwBFAAAAAAAQ
H7uF0BLdTbGuukFifjutAAi3elxWGTTgiQiwP19/EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQA
ABIIBwYVEhgBEggEAAASEQcGFRIYARIRBAAAEhQHBhUSGAESFAQIABIMBAgAEggECAASEQQIABIU
BCABAhwDIAAIBCAAEhUDIAAOAh4ABxABAR4AHgAHMAEBARAeAAITAAQgABMABwYVEhkBEwAEKAAT
AAMGEh0DBhIhBAAAEh0EAAASIQUAAQESIQQIABIdBAgAEiEDBhIgAgYcBAAAEiAECAASIAUgAQES
MQQgABItAyAAHAMgAAIDBhIxAygAHAiJhF3NgIDMkQUgAQIQDgQgAQEOAgYOAygADgIGCAMGESwE
AAAAAAQBAAAABSABARFBCAEAAQAAAAAABSACAQ4OFwEACk15VGVtcGxhdGUHOC4wLjAuMAAABhUS
GAESDAYVEhgBEggGFRIYARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUEwEADk15LldlYlNl
cnZpY2VzAAAQAQALTXkuQ29tcHV0ZXIAAAwBAAdNeS5Vc2VyAAATAQAOTXkuQXBwbGljYXRpb24A
AAQAARwcAwcBAgMHAQgGAAESFRFdBAcBEhUDBwEOBRABAB4ABAoBHgAEBwEeAAcgBAEODg4OYQEA
NFN5c3RlbS5XZWIuU2VydmljZXMuUHJvdG9jb2xzLlNvYXBIdHRwQ2xpZW50UHJvdG9jb2wSQ3Jl
YXRlX19JbnN0YW5jZV9fE0Rpc3Bvc2VfX0luc3RhbmNlX18AAAAGFRIYARMABhUSGQETAAQKARMA
BSABARMABgcCEwATAAQgAQECBQEAAAAABCAAEm0GIAIBDhJtBgcCEh0SHQQHARIhCAEAAgAAAAAA
BAABARwEBwESIAQHARItAwcBHAgWz0kLuAw06gUgABKAlQUgABKAmQYgARKAhRwEIAEcHAQgARwO
BSAAEoChBiABEoClHAYAAQESgJEEAAEBCA0gBRwOEYCxEoC1HB0cBAABAhwEIAECCAUgABKAvQgg
AgEOEBKAjQYgARKAwRwEIAEBHAUgABKAxQggBQIIDg4OCAQgAQEIHgcMCBJ5En0SMQISgIESgIUS
gIkSgI0SgJESgJEdHAQAAQIOBAcCAgI5AQAKU2NyaXB0TWFpbgMAVA4HVmVyc2lvbgMxLjBUDglQ
dWJsaXNoZXIAVA4LRGVzY3JpcHRpb24ADQEACFZhbGlkYXRlAAAFIAEBHQ5BAQADAAAAEVBhY2th
Z2VDb25uZWN0aW9uE0RhdGFGbG93RGVzdGluYXRpb24SRW51bWVyYXRvclZhcmlhYmxlAAAtAQAo
U2VsZWN0IERhdGFSZWFkZXIgRGVzdGluYXRpb24gY29tcG9uZW50LgAAIQEAEVBhY2thZ2VDb25u
ZWN0aW9uCkRhdGFSZWFkZXIAAA0BAAhTZXR0aW5ncwAAIgEAHVNlbGVjdCBjb25uZWN0aW9uIHRv
IHBhY2thZ2UuAAAaAQAVUGFja2FnZUNvbm5lY3Rpb25UeXBlAAAwAQArU2VsZWN0IHZhcmlhYmxl
IHRvIHN0b3JlIGVudW1lcmF0b3Igb2JqZWN0LgAACAEACAAAAAAAHgEAAQBUAhZXcmFwTm9uRXhj
ZXB0aW9uVGhyb3dzAQwBAAcxLjAuMC4wAAApAQAkOTRiNDE5NTYtZmMxMS00NzNlLWJiZTItZDEw
ZmNjMmJhMDZiAAAFAQABAAAfAQAaQ29weXJpZ2h0IEAgTWljcm9zb2Z0IDIwMDkAADcBADJTY3Jp
cHRUYXNrXzI2YmFhYmM4YzQ0MzRmOWJhMWYxMjE3OWYzMzA5ZmQyLnZicHJvagAADgEACU1pY3Jv
c29mdAAAmEcAAAAAAAAAAAAArkcAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBHAAAAAAAAAABf
Q29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAMAAAAo
AACADgAAAEgAAIAQAAAAYAAAgAAAAAAAAAAAAAAAAAAAAgACAAAAeAAAgAMAAACQAACAAAAAAAAA
AAAAAAAAAAABAAB/AACoAACAAAAAAAAAAAAAAAAAAAABAAEAAADAAACAAAAAAAAAAAAAAAAAAAAB
AAAAAADYAAAAAAAAAAAAAAAAAAAAAAABAAAAAADoAAAAAAAAAAAAAAAAAAAAAAABAAAAAAD4AAAA
AAAAAAAAAAAAAAAAAAABAAAAAAAIAQAAYGUAAOgCAAAAAAAAAAAAAEhoAAAoAQAAAAAAAAAAAABw
aQAAIgAAAAAAAAAAAAAAGGEAAEgEAAAAAAAAAAAAAEgENAAAAFYAUwBfAFYARQBSAFMASQBPAE4A
XwBJAE4ARgBPAAAAAAC9BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAA
AAAAAAAAAAAARAAAAAEAVgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMA
bABhAHQAaQBvAG4AAAAAAAAAsASoAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAACE
AwAAAQAwADAAMAAwADAANABiADAAAAA0AAoAAQBDAG8AbQBwAGEAbgB5AE4AYQBtAGUAAAAAAE0A
aQBjAHIAbwBzAG8AZgB0AAAAkAAzAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAA
AFMAYwByAGkAcAB0AFQAYQBzAGsAXwAyADYAYgBhAGEAYgBjADgAYwA0ADQAMwA0AGYAOQBiAGEA
MQBmADEAMgAxADcAOQBmADMAMwAwADkAZgBkADIALgB2AGIAcAByAG8AagAAAAAAMAAIAAEARgBp
AGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAkAA3AAEASQBuAHQAZQByAG4A
YQBsAE4AYQBtAGUAAABTAGMAcgBpAHAAdABUAGEAcwBrAF8AMgA2AGIAYQBhAGIAYwA4AGMANAA0
ADMANABmADkAYgBhADEAZgAxADIAMQA3ADkAZgAzADMAMAA5AGYAZAAyAC4AdgBiAHAAcgBvAGoA
LgBkAGwAbAAAAAAAXAAbAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAQwBvAHAAeQBy
AGkAZwBoAHQAIABAACAATQBpAGMAcgBvAHMAbwBmAHQAIAAyADAAMAA5AAAAAACYADcAAQBPAHIA
aQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAVABhAHMAawBfADIANgBi
AGEAYQBiAGMAOABjADQANAAzADQAZgA5AGIAYQAxAGYAMQAyADEANwA5AGYAMwAzADAAOQBmAGQA
MgAuAHYAYgBwAHIAbwBqAC4AZABsAGwAAAAAAIgAMwABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAA
AAAAUwBjAHIAaQBwAHQAVABhAHMAawBfADIANgBiAGEAYQBiAGMAOABjADQANAAzADQAZgA5AGIA
YQAxAGYAMQAyADEANwA5AGYAMwAzADAAOQBmAGQAMgAuAHYAYgBwAHIAbwBqAAAAAAA0AAgAAQBQ
AHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMA
ZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAoAAAAIAAAAEAAAAAB
AAQAAAAAAIACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICA
gADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd3d3d3d3d3d3d3d3d3dw
BEREREREREREREREREREcAT/////////////////9HAE//////////////////RwBP//////////
///////0cAT/////////////////9HAE//////////////////RwBP/////////////////0cAT/
////////////////9HAE//////////////////RwBP/////////////////0cAT/////////////
////9HAE//////////////////RwBP/////////////////0cAT/////////////////9HAE////
//////////////RwBP/////////////////0cAT/////////////////9HAE////////////////
//RwBP/////////////////0cASIiIiIiIiIiIiIiIiIhHAERERERERERERERERERERwBExMTExM
TExMTE7Ozkl0cATMzMzMzMzMzMzMzMzMxAAAREREREREREREREREREAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////8AAAAGAAAAB
gAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGA
AAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAA8AAAAf///////////////8oAAAAEAAAACAA
AAABAAQAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAA
AICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAB3d3d3d3d3dERERE
RERER0////////hHT///////+EdP///////4R0////////hHT///////+EdP///////4R0//////
//hHT///////+EdIiIiIiIiIR0zMzMzMzMxHxERERERERMAAAAAAAAAAAAAAAAAAAAAA//8AAIAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAD//wAA//8A
AAAAAQACACAgEAABAAQA6AIAAAIAEBAQAAEABAAoAQAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAMAAAAwDcAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA