IyEgL2Jpbi9zaAouICIke3NyY2Rpcj0ufS9pbml0LnNoIjsgcGF0aF9wcmVwZW5kXyAuIC4uL3NyYwoKIyBUZXN0IGhhbmRsaW5nIG9mIGlucHV0IGZpbGVzIHdpdGggZGlmZmVyZW50IGNoYXJzZXRzOgojIDEuIFVURi04LCAyLiBJU08tODg1OS0xOyBwbHVzIC0tdXNlLWZpcnN0CgpjYXQgPDxcRU9GID4gbWNhdC10ZXN0NC5pbjEKIyBHZXJtYW4gbWVzc2FnZSBmaWxlIGZvciB4eXouCiMgQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAwLCAyMDAxIHh5ei4KIyBLYWIgRGVmIDxrZUB6enoudXVjcD4sIDIwMDAuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IHh5elxuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDEtMDQtMjQgMTI6NTE6MzQrMDIwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMS0wNC0yNCAxMzowMiswMjowMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBLYWIgRGVmIDxrZUB6enoudXVjcD5cbiIKIkxhbmd1YWdlLVRlYW06IEdlcm1hbiA8aTE4bkB6enoudXVjcD5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiMuIFJlbWluZCB1c2VyIG9mIHRoZSBsb2dpbiBuYW1lIGhlIGNob3NlCiM6IGNsaWVudHMvaW5zdF9hc2tfY29uZmlnLnljcDo3MgojLCB5Y3AtZm9ybWF0Cm1zZ2lkICJZb3UgY2FuIGxvZyBpbiBhcyBcIiUxXCIuIgptc2dzdHIgIlNpZSBrw7ZubmVuIHNpY2ggYWxzIFwiJTFcIiBlaW5sb2dnZW4uIgpFT0YKCmNhdCA8PFxFT0YgPiBtY2F0LXRlc3Q0LmluMgojIEdlcm1hbiBtZXNzYWdlIGZpbGUgZm9yIHh5ei4KIyBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDEgeHl6LgojIEthYiBEZWYgPGtlQHp6ei51dWNwPiwgMjAwMC4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogeHl6XG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwMS0wNC0yNCAxMjo1MTozNCswMjAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDAxLTA0LTI0IDEzOjAyKzAyOjAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEthYiBEZWYgPGtlQHp6ei51dWNwPlxuIgoiTGFuZ3VhZ2UtVGVhbTogR2VybWFuIDxpMThuQHp6ei51dWNwPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojLiBIZWxwIHRleHQgKEhUTUwtbGlrZSkgU1RBUlQKIzogY2xpZW50cy9pbnN0X2Fza19jb25maWcueWNwOjExOQptc2dpZCAiIgoiQ29uZ3JhdHVsYXRpb25zISIKbXNnc3RyICIiCiJHbPxja3d1bnNjaCEiCkVPRgoKcm0gLWYgbWNhdC10ZXN0NC50bXAKCjogJHtNU0dDQVQ9bXNnY2F0fQpMQ19NRVNTQUdFUz1DIExDX0FMTD0gXAoke01TR0NBVH0gLS11c2UtZmlyc3QgLS1tb3JlLXRoYW49MCAtbyBtY2F0LXRlc3Q0LnRtcCBcCiAgICBtY2F0LXRlc3Q0LmluMSBtY2F0LXRlc3Q0LmluMiA+bWNhdC10ZXN0NC5lcnIgMj4mMQpyZXN1bHQ9JD8KY2F0IG1jYXQtdGVzdDQuZXJyIHwgZ3JlcCAtdiAnd2FybmluZzogLiogZW5jb2RpbmdzJyB8IGdyZXAgLXYgJ14gJwp0ZXN0ICRyZXN1bHQgPSAwIHx8IHsgRXhpdCAxOyB9CkxDX0FMTD1DIHRyIC1kICdccicgPCBtY2F0LXRlc3Q0LnRtcCA+IG1jYXQtdGVzdDQub3V0IHx8IEV4aXQgMQoKY2F0IDw8IFxFT0YgPiBtY2F0LXRlc3Q0Lm9rCiMgR2VybWFuIG1lc3NhZ2UgZmlsZSBmb3IgeHl6LgojIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMSB4eXouCiMgS2FiIERlZiA8a2VAenp6LnV1Y3A+LCAyMDAwLgojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiB4eXpcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDAxLTA0LTI0IDEyOjUxOjM0KzAyMDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMDEtMDQtMjQgMTM6MDIrMDI6MDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogS2FiIERlZiA8a2VAenp6LnV1Y3A+XG4iCiJMYW5ndWFnZS1UZWFtOiBHZXJtYW4gPGkxOG5Aenp6LnV1Y3A+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojLiBSZW1pbmQgdXNlciBvZiB0aGUgbG9naW4gbmFtZSBoZSBjaG9zZQojOiBjbGllbnRzL2luc3RfYXNrX2NvbmZpZy55Y3A6NzIKIywgeWNwLWZvcm1hdAptc2dpZCAiWW91IGNhbiBsb2cgaW4gYXMgXCIlMVwiLiIKbXNnc3RyICJTaWUga8O2bm5lbiBzaWNoIGFscyBcIiUxXCIgZWlubG9nZ2VuLiIKCiMuIEhlbHAgdGV4dCAoSFRNTC1saWtlKSBTVEFSVAojOiBjbGllbnRzL2luc3RfYXNrX2NvbmZpZy55Y3A6MTE5Cm1zZ2lkICJDb25ncmF0dWxhdGlvbnMhIgptc2dzdHIgIkdsw7xja3d1bnNjaCEiCkVPRgoKOiAke0RJRkY9ZGlmZn0KJHtESUZGfSBtY2F0LXRlc3Q0Lm9rIG1jYXQtdGVzdDQub3V0CnJlc3VsdD0kPwoKZXhpdCAkcmVzdWx0Cg==