using System;
using System.IO;
using System.Linq;
using System.Reflection;
public class Program
{
public static void Main()
{
var asm = Assembly.GetExecutingAssembly();
var uri = new UriBuilder(asm.CodeBase);
var path = Uri.UnescapeDataString(uri.Path);
var dir = Path.GetDirectoryName(path);
var fil = Directory.GetFiles(dir);
Console.WriteLine("assembly: " + asm);
Console.WriteLine("uri" + uri);
Console.WriteLine("path: " + path);
Console.WriteLine("directory: " + dir);
fil.ToList().ForEach(Console.WriteLine);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uSU87CnVzaW5nIFN5c3RlbS5MaW5xOwp1c2luZyBTeXN0ZW0uUmVmbGVjdGlvbjsgIAoKcHVibGljIGNsYXNzIFByb2dyYW0KewogICAgcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQogICAgewogICAgICAgIHZhciBhc20gPSBBc3NlbWJseS5HZXRFeGVjdXRpbmdBc3NlbWJseSgpOwoKICAgICAgICB2YXIgdXJpID0gbmV3IFVyaUJ1aWxkZXIoYXNtLkNvZGVCYXNlKTsKCiAgICAgICAgdmFyIHBhdGggPSBVcmkuVW5lc2NhcGVEYXRhU3RyaW5nKHVyaS5QYXRoKTsKCiAgICAgICAgdmFyIGRpciA9IFBhdGguR2V0RGlyZWN0b3J5TmFtZShwYXRoKTsKCiAgICAgICAgdmFyIGZpbCA9IERpcmVjdG9yeS5HZXRGaWxlcyhkaXIpOwoKICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiYXNzZW1ibHk6ICIgKyBhc20pOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJ1cmkiICsgdXJpKTsKICAgICAgICBDb25zb2xlLldyaXRlTGluZSgicGF0aDogIiArIHBhdGgpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJkaXJlY3Rvcnk6ICIgKyBkaXIpOwoKICAgICAgICBmaWwuVG9MaXN0KCkuRm9yRWFjaChDb25zb2xlLldyaXRlTGluZSk7CiAgICB9Cn0=