IyEgL2Jpbi9zaAouICIke3NyY2Rpcj0ufS9pbml0LnNoIjsgcGF0aF9wcmVwZW5kXyAuIC4uL3NyYwoKIyBUZXN0IG5vbi1BU0NJSSBtc2dpZHMgd2hlbiB0aGUgUE8gZmlsZSBhbmQgdGhlIFBPVCBmaWxlIGFyZSBpbiBkaWZmZXJlbnQKIyBlbmNvZGluZ3MuCgpjYXQgPDxcRU9GID4gbW0tdGVzdDE2LnBvCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBoZWxsby1jcGx1c3BsdXMtcXQgMFxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Zy1nbnUtZ2V0dGV4dEBnbnUub3JnXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwMy0xMC0yMCAxMDoxNCswMjAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDAzLTEwLTIwIDEwOjEzKzAyMDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogQnJ1bm8gSGFpYmxlIDxicnVub0BjbGlzcC5vcmc+XG4iCiJMYW5ndWFnZS1UZWFtOiBQb2xpc2ggPHBsQGxpLm9yZz5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMlxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0zOyBwbHVyYWw9KG49PTEgPyAwIDogbiUxMD49MiAmJiBuJTEwPD00ICYmIChuJTEwMDwxMCAiCiJ8fCBuJTEwMD49MjApID8gMSA6IDIpO1xuIgoKIzogaGVsbG8uY2M6NDUKbXNnaWQgIldyaXR0ZW4gYnkgRnJhbudvaXMgUGluYXJkLiIKbXNnc3RyICJQcm9ncmFtIG5hcGlzYbMgRnJhbudvaXMgUGluYXJkLiIKCiM6IGhlbGxvLmNjOjUyCm1zZ2lkICJlcnJvciAlMS4iCm1zZ3N0ciAiYrOxZCAlMS4iCkVPRgoKY2F0IDw8RU9GID4gbW0tdGVzdDE2LnBvdAojIFNPTUUgREVTQ1JJUFRJVkUgVElUTEUuCiMgQ29weXJpZ2h0IChDKSBZRUFSIFlveW9keW5lLCBJbmMuCiMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIFBBQ0tBR0UgcGFja2FnZS4KIyBGSVJTVCBBVVRIT1IgPEVNQUlMQEFERFJFU1M+LCBZRUFSLgojCiMsIGZ1enp5Cm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBQQUNLQUdFIFZFUlNJT05cbiIKIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBidWctZ251LWdldHRleHRAZ251Lm9yZ1xuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDMtMTAtMjAgMTA6MTQrMDIwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogWUVBUi1NTy1EQSBITzpNSStaT05FXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEZVTEwgTkFNRSA8RU1BSUxAQUREUkVTUz5cbiIKIkxhbmd1YWdlLVRlYW06IExBTkdVQUdFIDxMTEBsaS5vcmc+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojOiBoZWxsby5jYzo0NQptc2dpZCAiV3JpdHRlbiBieSBGcmFuw6dvaXMgUGluYXJkLiIKbXNnc3RyICIiCgojOiBoZWxsby5jYzo1Mgptc2dpZCAiZXJyb3IgJTEuIgptc2dzdHIgIiIKRU9GCgo6ICR7TVNHTUVSR0U9bXNnbWVyZ2V9CiR7TVNHTUVSR0V9IC1xIC1vIG1tLXRlc3QxNi50bXAucG8gbW0tdGVzdDE2LnBvIG1tLXRlc3QxNi5wb3QgfHwgRXhpdCAxCkxDX0FMTD1DIHRyIC1kICdccicgPCBtbS10ZXN0MTYudG1wLnBvID4gbW0tdGVzdDE2Lm5ldy5wbyB8fCBFeGl0IDEKCmNhdCA8PFxFT0YgPiBtbS10ZXN0MTYub2sKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IGhlbGxvLWNwbHVzcGx1cy1xdCAwXG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLWdudS1nZXR0ZXh0QGdudS5vcmdcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDAzLTEwLTIwIDEwOjE0KzAyMDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMDMtMTAtMjAgMTA6MTMrMDIwMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBCcnVubyBIYWlibGUgPGJydW5vQGNsaXNwLm9yZz5cbiIKIkxhbmd1YWdlLVRlYW06IFBvbGlzaCA8cGxAbGkub3JnPlxuIgoiTGFuZ3VhZ2U6IHBsXG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTM7IHBsdXJhbD0obj09MSA/IDAgOiBuJTEwPj0yICYmIG4lMTA8PTQgJiYgKG4lMTAwPDEwICIKInx8IG4lMTAwPj0yMCkgPyAxIDogMik7XG4iCgojOiBoZWxsby5jYzo0NQptc2dpZCAiV3JpdHRlbiBieSBGcmFuw6dvaXMgUGluYXJkLiIKbXNnc3RyICJQcm9ncmFtIG5hcGlzYcWCIEZyYW7Dp29pcyBQaW5hcmQuIgoKIzogaGVsbG8uY2M6NTIKbXNnaWQgImVycm9yICUxLiIKbXNnc3RyICJixYLEhWQgJTEuIgpFT0YKCjogJHtESUZGPWRpZmZ9CiR7RElGRn0gbW0tdGVzdDE2Lm9rIG1tLXRlc3QxNi5uZXcucG8KcmVzdWx0PSQ/CgpleGl0ICRyZXN1bHQK