def main
(args
: Array
[String
]): Unit
= { println(connect())
}
def calcIdInfo
(): IdInfo
= new IdInfo
def calcPwdInfo
(id
: IdInfo
): PasswordInfo
= new PasswordInfo
def calcConnInfo
(id
: IdInfo, pwd
: PasswordInfo
): ConnectionInfo
= new ConnectionInfo
def verify
(id
:IdInfo, pwd
: PasswordInfo, conn
: ConnectionInfo
): Unit
= ()
def connect
(): (IdInfo, PasswordInfo, ConnectionInfo
) = { var connInfo
: ConnectionInfo
= null
idInfo = calcIdInfo()
}
pwdInfo = calcPwdInfo(idInfo)
}
connInfo = calcConnInfo(idInfo, pwdInfo)
}
verify(idInfo, pwdInfo, connInfo)
}
(idInfo, pwdInfo, connInfo)
}
}
b2JqZWN0IE1haW4gewogIGRlZiBtYWluKGFyZ3M6IEFycmF5W1N0cmluZ10pOiBVbml0ID0gewogIAlwcmludGxuKGNvbm5lY3QoKSkKICB9CiAgCiAgY2xhc3MgSWRJbmZvCiAgY2xhc3MgUGFzc3dvcmRJbmZvCiAgY2xhc3MgQ29ubmVjdGlvbkluZm8KCiAgY2xhc3MgSU9FeGNlcHRpb24gZXh0ZW5kcyBSdW50aW1lRXhjZXB0aW9uCiAgY2xhc3MgQXV0aG9yaXphdGlvbkV4Y2VwdGlvbiBleHRlbmRzIFJ1bnRpbWVFeGNlcHRpb24KCiAgZGVmIGNhbGNJZEluZm8oKTogSWRJbmZvID0gbmV3IElkSW5mbwogIGRlZiBjYWxjUHdkSW5mbyhpZDogSWRJbmZvKTogUGFzc3dvcmRJbmZvID0gbmV3IFBhc3N3b3JkSW5mbwogIGRlZiBjYWxjQ29ubkluZm8oaWQ6IElkSW5mbywgcHdkOiBQYXNzd29yZEluZm8pOiBDb25uZWN0aW9uSW5mbyA9IG5ldyBDb25uZWN0aW9uSW5mbwogIGRlZiB2ZXJpZnkoaWQ6SWRJbmZvLCBwd2Q6IFBhc3N3b3JkSW5mbywgY29ubjogQ29ubmVjdGlvbkluZm8pOiBVbml0ID0gKCkKCiAgZGVmIGNvbm5lY3QoKTogKElkSW5mbywgUGFzc3dvcmRJbmZvLCBDb25uZWN0aW9uSW5mbykgPSB7CiAgICB2YXIgaWRJbmZvOiBJZEluZm8gPSBudWxsCiAgICB2YXIgcHdkSW5mbzogUGFzc3dvcmRJbmZvID0gbnVsbAogICAgdmFyIGNvbm5JbmZvOiBDb25uZWN0aW9uSW5mbyA9IG51bGwKCiAgICB0cnkgewogICAgICBpZEluZm8gPSBjYWxjSWRJbmZvKCkKICAgIH0gY2F0Y2ggewogICAgICBjYXNlIGV4OiBJT0V4Y2VwdGlvbiA9PiByZXR1cm4gbnVsbAogICAgfQoKICAgIHRyeSB7CiAgICAgIHB3ZEluZm8gPSBjYWxjUHdkSW5mbyhpZEluZm8pCiAgICB9IGNhdGNoIHsKICAgICAgY2FzZSBleDogQXV0aG9yaXphdGlvbkV4Y2VwdGlvbiA9PiByZXR1cm4gbnVsbAogICAgfQoKICAgIHRyeSB7CiAgICAgIGNvbm5JbmZvID0gY2FsY0Nvbm5JbmZvKGlkSW5mbywgcHdkSW5mbykKICAgIH0gY2F0Y2ggewogICAgICBjYXNlIGV4OiBJT0V4Y2VwdGlvbiA9PiByZXR1cm4gbnVsbAogICAgfQoKICAgIHRyeSB7CiAgICAgIHZlcmlmeShpZEluZm8sIHB3ZEluZm8sIGNvbm5JbmZvKQogICAgfSBjYXRjaCB7CiAgICAgIGNhc2UgZXg6IElPRXhjZXB0aW9uID0+IHJldHVybiBudWxsCiAgICAgIGNhc2UgZXg6IEF1dGhvcml6YXRpb25FeGNlcHRpb24gPT4gcmV0dXJuIG51bGwKICAgIH0KCiAgICAoaWRJbmZvLCBwd2RJbmZvLCBjb25uSW5mbykKICB9Cn0=