IyEgL2Jpbi9zaAouICIke3NyY2Rpcj0ufS9pbml0LnNoIjsgcGF0aF9wcmVwZW5kXyAuIC4uL3NyYwoKIyBUZXN0IG1lcmdpbmcgb2YgYSByZWYucG90IGluIFVURi04IGVuY29kaW5nIGFnYWluc3QgYSBkZWYucG8gaW4gbGVnYWN5CiMgZW5jb2RpbmcgKHRoYXQgd2FzIHByb2R1Y2VkIGZyb20gYW4gb2xkZXIgdmVyc2lvbiBvZiByZWYucG90LCBpbiBBU0NJSQojIGVuY29kaW5nKS4KCmNhdCA8PFxFT0YgPiBtbS10ZXN0MTQtcnUucG8KIyBSdXNzaWFuIG1lc3NhZ2VzIGZvciBDTElTUAojIENvcHlyaWdodCAoQykgMTk5OCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBFZHVhcmQgSGFyaXRvbm92IDxoZWRAaWlzLm5zay5zdT4sIDE5OTguCiMgQXJzZW55IFNsb2JvZGp1Y2sgPGFtcHlAaWNoLmR2by5ydT4sIDIwMDIuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IEdOVSBlbHZpcyAxLjdcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDAyLTExLTAxIDAxOjIyKzAxMDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMDItMTEtMDEgMDE6MjMrMDEwMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBBcnNlbnkgU2xvYm9kanVjayA8YW1weUBpY2guZHZvLnJ1PlxuIgoiTGFuZ3VhZ2UtVGVhbTogUnVzc2lhbiA8cnVAbGkub3JnPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1rb2k4LXJcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiM6IGFyaXRoLmM6OQptc2dpZCAiRGl2aXNpb24gZHVyY2ggTnVsbCIKbXNnc3RyICLExczFzsnFIM7BIM7VzNgiCkVPRgoKY2F0IDw8XEVPRiA+IG1tLXRlc3QxNC5wb3QKIyBTT01FIERFU0NSSVBUSVZFIFRJVExFLgojIENvcHlyaWdodCAoQykgWUVBUiBUSEUgUEFDS0FHRSdTIENPUFlSSUdIVCBIT0xERVIKIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgUEFDS0FHRSBwYWNrYWdlLgojIEZJUlNUIEFVVEhPUiA8RU1BSUxAQUREUkVTUz4sIFlFQVIuCiMKIywgZnV6enkKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IFBBQ0tBR0UgVkVSU0lPTlxuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDItMTEtMDEgMDE6MjIrMDEwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogWUVBUi1NTy1EQSBITzpNSStaT05FXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEZVTEwgTkFNRSA8RU1BSUxAQUREUkVTUz5cbiIKIkxhbmd1YWdlLVRlYW06IExBTkdVQUdFIDxMTEBsaS5vcmc+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojOiBhcml0aC5jOjEwCm1zZ2lkICJEaXZpc2lvbiBkdXJjaCBOdWxsIgptc2dzdHIgIiIKCiM6IGFyaXRoLmM6MTUKbXNnaWQgIsOcYmVybGF1ZiIKbXNnc3RyICIiCkVPRgoKOiAke01TR01FUkdFPW1zZ21lcmdlfQoke01TR01FUkdFfSAtcSAtbyBtbS10ZXN0MTQudG1wIG1tLXRlc3QxNC1ydS5wbyBtbS10ZXN0MTQucG90IHx8IEV4aXQgMQpMQ19BTEw9QyB0ciAtZCAnXHInIDwgbW0tdGVzdDE0LnRtcCA+IG1tLXRlc3QxNC5vdXQgfHwgRXhpdCAxCgpjYXQgPDxcRU9GID4gbW0tdGVzdDE0Lm9rCiMgUnVzc2lhbiBtZXNzYWdlcyBmb3IgQ0xJU1AKIyBDb3B5cmlnaHQgKEMpIDE5OTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgRWR1YXJkIEhhcml0b25vdiA8aGVkQGlpcy5uc2suc3U+LCAxOTk4LgojIEFyc2VueSBTbG9ib2RqdWNrIDxhbXB5QGljaC5kdm8ucnU+LCAyMDAyLgojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBHTlUgZWx2aXMgMS43XG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwMi0xMS0wMSAwMToyMiswMTAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDAyLTExLTAxIDAxOjIzKzAxMDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogQXJzZW55IFNsb2JvZGp1Y2sgPGFtcHlAaWNoLmR2by5ydT5cbiIKIkxhbmd1YWdlLVRlYW06IFJ1c3NpYW4gPHJ1QGxpLm9yZz5cbiIKIkxhbmd1YWdlOiBydVxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoKIzogYXJpdGguYzoxMAptc2dpZCAiRGl2aXNpb24gZHVyY2ggTnVsbCIKbXNnc3RyICLQtNC10LvQtdC90LjQtSDQvdCwINC90YPQu9GMIgoKIzogYXJpdGguYzoxNQptc2dpZCAiw5xiZXJsYXVmIgptc2dzdHIgIiIKRU9GCgo6ICR7RElGRj1kaWZmfQoke0RJRkZ9IG1tLXRlc3QxNC5vayBtbS10ZXN0MTQub3V0CnJlc3VsdD0kPwoKZXhpdCAkcmVzdWx0Cg==