IyEgL2Jpbi9zaAouICIke3NyY2Rpcj0ufS9pbml0LnNoIjsgcGF0aF9wcmVwZW5kXyAuIC4uL3NyYwoKIyBUZXN0IEMgc3VwcG9ydDogQzExIHN0cmluZyBsaXRlcmFscy4KCjogJHtYR0VUVEVYVD14Z2V0dGV4dH0KCmNhdCA8PFxFT0YgPiB4Zy1jLTUuYwpnZXR0ZXh0KCJDaG9vc2UgYSAiIHU4InJvc+kgd2luZSDgIGxhIGNhcnRlIik7Ci8qIFNvbWUgcGVvcGxlIG1heSBkZWZpbmUgYSBnZXR0ZXh0LWxpa2UgZnVuY3Rpb24gdGhhdCB0YWtlcyBhICdjb25zdCB3Y2hhcl90IConIGFyZ3VtZW50LiAqLwp3Z2V0dGV4dChMIlB1bHAgIiBMIkZpY3Rpb24iKTsKLyogT3IgYSBnZXR0ZXh0LWxpa2UgZnVuY3Rpb24gdGhhdCB0YWtlcyBhICdjb25zdCBjaGFyMTZfdCAqJyBhcmd1bWVudC4gKi8KYzE2Z2V0dGV4dCAodSJSYWluICIgdSJNYW4iKTsKLyogT3IgYSBnZXR0ZXh0LWxpa2UgZnVuY3Rpb24gdGhhdCB0YWtlcyBhICdjb25zdCBjaGFyMzJfdCAqJyBhcmd1bWVudC4gKi8KYzMyZ2V0dGV4dCAoVSJKdXJhc3NpYyAiIFUiUGFyayIpOwpFT0YKCiR7WEdFVFRFWFR9IC0tZnJvbS1jb2RlPUlTTy04ODU5LTEgLS1uby1sb2NhdGlvbiBcCiAgICAgICAgICAgIC1rZ2V0dGV4dCAta3dnZXR0ZXh0IC1rYzE2Z2V0dGV4dCAta2MzMmdldHRleHQgXAogICAgICAgICAgICAtbyB4Zy1jLTUudG1wIHhnLWMtNS5jIHx8IEV4aXQgMQpmdW5jX2ZpbHRlcl9QT1RfQ3JlYXRpb25fRGF0ZSB4Zy1jLTUudG1wIHhnLWMtNS5wbwoKY2F0IDw8XEVPRiA+IHhnLWMtNS5vawojIFNPTUUgREVTQ1JJUFRJVkUgVElUTEUuCiMgQ29weXJpZ2h0IChDKSBZRUFSIFRIRSBQQUNLQUdFJ1MgQ09QWVJJR0hUIEhPTERFUgojIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBQQUNLQUdFIHBhY2thZ2UuCiMgRklSU1QgQVVUSE9SIDxFTUFJTEBBRERSRVNTPiwgWUVBUi4KIwojLCBmdXp6eQptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogUEFDS0FHRSBWRVJTSU9OXG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiBZRUFSLU1PLURBIEhPOk1JK1pPTkVcbiIKIkxhc3QtVHJhbnNsYXRvcjogRlVMTCBOQU1FIDxFTUFJTEBBRERSRVNTPlxuIgoiTGFuZ3VhZ2UtVGVhbTogTEFOR1VBR0UgPExMQGxpLm9yZz5cbiIKIkxhbmd1YWdlOiBcbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCm1zZ2lkICJDaG9vc2UgYSByb3PDqSB3aW5lIMOgIGxhIGNhcnRlIgptc2dzdHIgIiIKCm1zZ2lkICJQdWxwIEZpY3Rpb24iCm1zZ3N0ciAiIgoKbXNnaWQgIlJhaW4gTWFuIgptc2dzdHIgIiIKCm1zZ2lkICJKdXJhc3NpYyBQYXJrIgptc2dzdHIgIiIKRU9GCgo6ICR7RElGRj1kaWZmfQoke0RJRkZ9IHhnLWMtNS5vayB4Zy1jLTUucG8KcmVzdWx0PSQ/CgpleGl0ICRyZXN1bHQK