IyBJTkkgR2VuZXJhdG9yIHZlcnNpb24gMS40OyBBbGlnbmVkIHRvIFRTIHZlcnNpb24gNi4xLjIuMC4yNwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU0VDVElPTiAxOiAgIE5vbiBGRU0tZGVwZW5kYW50IHNlY3Rpb24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU0VDVElPTiAxLjE6IEdlbmVyYWwgcGFyYW1ldGVycwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClRYQmlQRkVNQXV0b0RldGVjdCAgPSAwMCAjIExlbmd0aDogMTsgVW5pdDogT3B0aW9ucyAoMDogTWFudWFsIE1vZGUsIDE6IEF1dG9tYXRpYyBtb2RlKTsgRm9ybWF0OiBVbnNpZ25lZDsgU291cmNlOiBDdXN0b21lcjsgQ29tbWVudDogVGhpcyBwYXJhbWV0ZXIgaXMgdXNlZCBieSB0aGUgRlcgdG8gZGVjaWRlIGlmIHRoZSBmcm9udC1lbmQgaXMgZGV0ZXJtaW5lZCBhdXRvbWF0aWNhbGx5IG9yIG1hbnVhbGx5ClRYQmlQRkVNTWFudWZhY3R1cmVyICA9IDAxICMgTGVuZ3RoOiAxOyBVbml0OiBCaXRfT3B0aW9uczsgRm9ybWF0OiBVbnNpZ25lZDsgU291cmNlOiBDdXN0b21lcjsgQ29tbWVudDogQml0MSwwOiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBGRU0gdmVuZG9yIHR5cGUgaXMgdXNlZCBvbiB0aGUgcGxhdGZvcm0gKDA6IFJGTUQsIDE6IFRRUywgMjpTS1csIDM6SFApLCBCaXQzLDI6IHVudXNlZCwgQml0Ny00OkV4dGVybmFsL2ludGVybmFsIGxvYWQgKDQtU0tXIFNCLCA1LVNLVyBIQiwgNi1IUCBTQiwgNy1IUCBIQikKUmVmQ2xrICA9IDAyICMgTGVuZ3RoOiAxOyBVbml0OiBCaXRfT3B0aW9uczsgRm9ybWF0OiBVbnNpZ25lZDsgU291cmNlOiBDdXN0b21lcjsgQ29tbWVudDogQml0IDAsMSwyLTA6MTkuMk1IeiwxOjI2TUh6LDI6MzguNE1IeltEZWZhdWx0XSwzOjUyTUh6LDQ6MzguNE1IeiBYVEFMLDU6MjZNSHogWFRBTCwgQml0IDMtQ0xLX1JFUSB0eXBlLCAwPXdpcmVkLU9SLCAxPXB1c2gtcHVsbCwgQml0IDQtQ0xLX1JFUSBwb2xhcml0eQpTZXR0bGluZ1RpbWUgID0gMDUgIyBMZW5ndGg6IDE7IFVuaXQ6IG1zICgwLTE1KTsgRm9ybWF0OiBVbnNpZ25lZDsgU291cmNlOiBDdXN0b21lcjsgQ29tbWVudDogVGhlIHRpbWUgZnJvbSBhc3NlcnRpbmcgQ0xLX1JFUSAobG93IHRvIGhpZ2gpIHRvIHZhbGlkIEZSRUYgY2xvY2sgb24gdGhlIGRldmljZSBpbnB1dHMKQ2xvY2tWYWxpZE9uV2FrZXVwICA9IDAwICMgTGVuZ3RoOiAxOyBVbml0OiBPcHRpb25zICgwOiBSZWZlcmVuY2UgY2xvY2sgbm90IHZhbGlkLCAxOiBSZWZlcmVuY2UgY2xvY2sgaXMgdmFsaWQgYW5kIHN0YWJsZSk7IEZvcm1hdDogVW5zaWduZWQ7IFNvdXJjZTogQ3VzdG9tZXI7IENvbW1lbnQ6IFRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB3aGV0aGVyIHRoZSBGUkVGIGNsb2NrIGlzIHZhbGlkIG9uIHdha2V1cApEQzJEQ01vZGUgID0gMDAgIyBMZW5ndGg6IDE7IFVuaXQ6IEJpdF9PcHRpb25zOyBGb3JtYXQ6IFVuc2lnbmVkLCBTb3VyY2U6IEN1c3RvbWVyOyBDb21tZW50OiBCaXQwIC0gREMyREMgbW9kZSAoMDogYnRTUEkgaXMgbm90IHVzZWQ7MTogYnRTUEkgdXNlZCBtdXggREMyREMgdG8gQlRfRlVOQzIpLCBCaXQxLSBMZXZlbCBzaGlmdGVyIHN1cHBvcnQgKDA6IE5vIExTLCAxOiBXaXRoIExTKQpTaW5nbGVfRHVhbF9CYW5kX1NvbHV0aW9uICA9IDAxICMgTGVuZ3RoOiAxOyBVbml0OiBPcHRpb25zICgwOiBTaW5nbGUgYmFuZCwgMTogRHVhbCBiYW5kKTsgRm9ybWF0OiBVbnNpZ25lZDsgU291cmNlOiBDdXN0b21lcjsgQ29tbWVudDogVGhpcyBwYXJhbWV0ZXIgaW5kaWNhdGVzIGlmIHRoZSBzb2x1dGlvbiBpcyBzaW5nbGUgYmFuZCAoMi40R0h6IG9ubHkpIG9yIGR1YWwgYmFuZCAoMi40R0h6ICYgNUdIeikKU2V0dGluZ3MgID0gMDEgIyBMZW5ndGg6IDE7IFVuaXQ6IEJpdF9PcHRpb25zOyBGb3JtYXQ6IFVuc2lnbmVkOyBTb3VyY2U6IEN1c3RvbWVyOyBDb21tZW50OiBCaXQwLU5CSSgwOk9mZiwxOk9uKSxCaXQxLVRlbGVjIGNoMTQoMDpPZmYsMTpPbiksQml0Mi1GRU0wLUxCLEJpdDMtRkVNMC1IQixCaXQ0LUZFTTEtTEIsQml0NS1GRU0xLUhCLVRYIEJpUCBsb2FkKDA6SW50LiwxOkV4dC4pLEJpdDYtTFBEIExCLEJpdDctTFBEIEhCClNSU3RhdGUgPSAwMCAjIExlbmd0aDogMTsgVW5pdDogT3B0aW9ucyAoMDogRGlzYWJsZWQsIDE6IEVuYWJsZWQpOyBGb3JtYXQ6IERlY2ltYWw7IFNvdXJjZTogVEk7IENvbW1lbnQ6IFNtYXJ0IFJlZmxheCAocHJvcHJpZXRhcnkgbWVjaGFuaXNtIG9mIFRJIHRoYXQgaWRlbnRpZnkgdGhlIHNpbGljb24gcHJvY2VzcyBzcGVjaWZpYyBwYXJhbXMpIHN0YXRlClNSRjEgPSAwOSAwNCAxOCAxMCAwOCAwMCBGNyBFRiBFNyBERiAwMCAwMCAwMCAwMCAwRiAzRiAgIyBMZW5ndGg6IDE2OyBVbml0OiBTUkYxIHZhbHVlczsgRm9ybWF0OiBTaWduZWQ7IFNvdXJjZTogVEk7IENvbW1lbnQ6IFRoZSB0YWJsZSBob2xkcyB0aGUgc3BlY2lmaWMgcGFyYW1ldGVycyBmb3IgdXNpbmcgdGhlIFNtYXJ0UmVmbGV4IG1lY2hhbmlzbQpTUkYyID0gMDkgMDQgMTggMTAgMDggMDAgRjcgRUYgRTcgREYgMDAgMDAgMDAgMDAgMDAgMDAgICMgTGVuZ3RoOiAxNjsgVW5pdDogU1JGMiB2YWx1ZXM7IEZvcm1hdDogU2lnbmVkOyBTb3VyY2U6IFRJOyBDb21tZW50OiBUaGUgdGFibGUgaG9sZHMgdGhlIHNwZWNpZmljIHBhcmFtZXRlcnMgZm9yIHVzaW5nIHRoZSBTbWFydFJlZmxleCBtZWNoYW5pc20KU1JGMyA9IDA5IDA0IDE4IDEwIDA4IDAwIEY3IEVGIEU3IERGIDAwIDAwIDAwIDAwIDAwIDAwICAjIExlbmd0aDogMTY7IFVuaXQ6IFNSRjMgdmFsdWVzOyBGb3JtYXQ6IFNpZ25lZDsgU291cmNlOiBUSTsgQ29tbWVudDogVGhlIHRhYmxlIGhvbGRzIHRoZSBzcGVjaWZpYyBwYXJhbWV0ZXJzIGZvciB1c2luZyB0aGUgU21hcnRSZWZsZXggbWVjaGFuaXNtCiNTUl9EZWJ1Z19UYWJsZSA9IDA5IDA0IDE4IDEwIDA4IDAwIEY3IEVGIEU3IERGIDAwIDAwIDAwIDAwIDAwIDAwICAjIExlbmd0aDogMTY7IFVuaXQ6IFNSX0RlYnVnX1RhYmxlIHZhbHVlczsgRm9ybWF0OiBTaWduZWQ7IFNvdXJjZTogVEk7IENvbW1lbnQ6IFNSIERlYnVnIHZhbHVlcyCWIGZvciBUSSBpbnRlcm5hbCB1c2Ugb25seQojU1JfU0VOX05fUCA9IDIyICMgTGVuZ3RoOiAxOyBVbml0OiBTUl9TRU5fTl9QIHZhbHVlczsgRm9ybWF0OiBVbnNpZ25lZDsgU291cmNlOiBUSTsgQ29tbWVudDogU1IgRGVidWcgdmFsdWVzIJYgZm9yIFRJIGludGVybmFsIHVzZSBvbmx5CiNTUl9TRU5fTl9QX0dhaW4gPSBhOSAjIExlbmd0aDogMTsgVW5pdDogU1JfU0VOX05fUF9HQUlOIHZhbHVlczsgRm9ybWF0OiBVbnNpZ25lZDsgU291cmNlOiBUSTsgQ29tbWVudDogU1IgRGVidWcgdmFsdWVzIJYgZm9yIFRJIGludGVybmFsIHVzZSBvbmx5CiNTUl9TRU5fTlJOID0gYzEgIyBMZW5ndGg6IDE7IFVuaXQ6IFNSX1NFTl9OUk4gdmFsdWVzOyBGb3JtYXQ6IFVuc2lnbmVkOyBTb3VyY2U6IFRJIDsgQ29tbWVudDogU1IgRGVidWcgdmFsdWVzIJYgZm9yIFRJIGludGVybmFsIHVzZSBvbmx5CiNTUl9TRU5fUFJOID0gOGQgIyBMZW5ndGg6IDE7IFVuaXQ6IFNSX1NFTl9QUk4gdmFsdWVzOyBGb3JtYXQ6IFVuc2lnbmVkOyBTb3VyY2U6IFRJIDsgQ29tbWVudDogU1IgRGVidWcgdmFsdWVzIJYgZm9yIFRJIGludGVybmFsIHVzZSBvbmx5CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTRUNUSU9OIDEuMjogQmFuZC1kZXBlbmRhbnQgcGFyYW1ldGVycwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTRUNUSU9OIDEuMi4xOiAyLjRHIHBhcmFtZXRlcnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpSeFRyYWNlSW5zZXJ0aW9uTG9zc18yXzRHID0gMDAgIyBMZW5ndGg6IDE7IFVuaXQ6IDEvOGRCOyBGb3JtYXQ6IFVuc2lnbmVkOyBTb3VyY2U6IEN1c3RvbWVyOyBDb21tZW50OiBUaGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhlIHByaW50ZWQgY2lyY3VpdCBib2FyZCAoUENCKSB0cmFjZSBpbnNlcnRpb24gbG9zcwpUWFRyYWNlTG9zc18yXzRHID0gMDAgIyBMZW5ndGg6IDE7IFVuaXQ6IDEvOGRCOyBGb3JtYXQ6IFVuc2lnbmVkOyBTb3VyY2U6IEN1c3RvbWVyOyBDb21tZW50OiBUaGlzIHBhcmFtZXRlciBpcyB1c2VkIHRvIGFsaWduIHRoZSBvdXRwdXQgcG93ZXIgdG8gYSBkaWZmZXJlbnQgbG9jYXRpb24gb24gdGhlIGJvYXJkClJ4UnNzaUFuZFByb2Nlc3NDb21wZW5zYXRpb25fMl80RyAgPSBFQyBGNiAwMCAwQyAxOCBGOCBGQyAwMCAwOCAxMCBGMCBGOCAwMCAwQSAxNCAjIExlbmd0aDogMTU7IFVuaXQ6IDEvOGRCOyBGb3JtYXQ6IFNpZ25lZDsgU291cmNlOiBUSTsgQ29tbWVudDogVGhlIFJTU0kgY29ybmVyIHBvaW50cyBhcmUgZGV0ZXJtaW5lZCBkdXJpbmcgUlNTSSB0ZW1wZXJhdHVyZSBhbmQgcHJvY2VzcyBjaGFyYWN0ZXJpemF0aW9uCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTRUNUSU9OIDEuMi4yOiA1RyBwYXJhbWV0ZXJzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KUnhUcmFjZUluc2VydGlvbkxvc3NfNUcgID0gMDAgMDAgMDAgMDAgMDAgMDAgMDAgIyBMZW5ndGg6IDc7IFVuaXQ6IDEvOGRCOyBGb3JtYXQ6IFVuc2lnbmVkOyBTb3VyY2U6IEN1c3RvbWVyOyBDb21tZW50OiBUaGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhlIHByaW50ZWQgY2lyY3VpdCBib2FyZCAoUENCKSB0cmFjZSBpbnNlcnRpb24gbG9zcwpUWFRyYWNlTG9zc181RyAgPSAwMCAwMCAwMCAwMCAwMCAwMCAwMCAjIExlbmd0aDogNzsgVW5pdDogMS84ZEI7IEZvcm1hdDogVW5zaWduZWQ7IFNvdXJjZTogQ3VzdG9tZXI7IENvbW1lbnQ6IFRoaXMgcGFyYW1ldGVyIGlzIHVzZWQgdG8gYWxpZ24gdGhlIG91dHB1dCBwb3dlciB0byBhIGRpZmZlcmVudCBsb2NhdGlvbiBvbiB0aGUgYm9hcmQKUnhSc3NpQW5kUHJvY2Vzc0NvbXBlbnNhdGlvbl81RyAgPSBFRSBGNCBGOCBGRSAwNSBFQSBGMyBGQSAwMSAwNiBFNSBGMSBGQSAwMiAwNyAgIyBMZW5ndGg6IDE1OyBVbml0OiAxLzhkQjsgRm9ybWF0OiBTaWduZWQ7IFNvdXJjZTogVEk7IENvbW1lbnQ6IFRoZSBSU1NJIGNvcm5lciBwb2ludHMgYXJlIGRldGVybWluZWQgZHVyaW5nIFJTU0kgdGVtcGVyYXR1cmUgYW5kIHByb2Nlc3MgY2hhcmFjdGVyaXphdGlvbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU0VDVElPTiAyOiAgICAgRkVNLWRlcGVuZGFudCBzZWN0aW9uCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFNFQ1RJT04gMi4xOiAgIEZFTSBwYXJhbWV0ZXJzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU0VDVElPTiAyLjEuMTogMi40RyBwYXJhbWV0ZXJzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRkVNMV9UWEJpUFJlZmVyZW5jZVBEdm9sdGFnZV8yXzRHID0gMDFFMCAjIExlbmd0aDogMTsgVW5pdDogMW1WOyBGb3JtYXQ6IFVuc2lnbmVkOyBTb3VyY2U6IFRJOyBDb21tZW50OiBUaGlzIHBhcmFtZXRlciBkZWZpbmUgdGhlIHJlZmVyZW5jZSBwb2ludCBvZiB0aGUgRkVNIHBvd2VyIGRldGVjdG9yCkZFTTFfVHhCaVBSZWZlcmVuY2VQb3dlcl8yXzRHICA9IDgwICMgTGVuZ3RoOiAxOyBVbml0OiAxLzhkQjsgRm9ybWF0OiBTaWduZWQ7IFNvdXJjZTogVEk7IENvbW1lbnQ6IFJlZmVyZW5jZSBvdXRwdXQgcG93ZXIgdGhhdCBwcm9kdWNlcyBnaXZlbiByZWZlcmVuY2UgcG93ZXIgZGV0ZWN0b3Igb3V0cHV0IHZvbHRhZ2UgLgpGRU0xX1R4QmlQT2Zmc2V0ZEJfMl80RyA9IDAwICMgTGVuZ3RoOiAxOyBVbml0OiAxLzhkQjsgRm9ybWF0OiBTaWduZWQ7IFNvdXJjZTogQ3VzdG9tZXI7IENvbW1lbnQ6IFRoaXMgZmllbGQgaXMgdXNlZCB0byBmaW5lLXR1bmUgdGhlIFRYIEJpUCBieSB0aGUgY3VzdG9tZXIKRkVNMV9UeFBlclJhdGVQb3dlckxpbWl0c18yXzRHX05vcm1hbCA9IDFEIDFGIDIyIDI2IDI4IDI5ICMgTGVuZ3RoOiA2OyBVbml0OiAxLzJkQjsgRm9ybWF0OiBTaWduZWQ7IFNvdXJjZTogQ3VzdG9tZXI7IENvbW1lbnQ6IFRoZSBsaW1pdHMgYXJlIGFwcGxpZWQgdG8gdGhlIHBvd2VyIGNvbnRyb2wgcHJvY2VzcyBhY2NvcmRpbmcgdG8gdGhlIFZCQVQgYW5kIHRlbXAgcmFuZ2UgaW4gd2hpY2ggdGhlIEZFTSBpcyBvcGVyYXRpbmcKRkVNMV9UeFBlclJhdGVQb3dlckxpbWl0c18yXzRHX0RlZ3JhZGVkID0gMUEgMUYgMjIgMjQgMjYgMjggIyBMZW5ndGg6IDY7IFVuaXQ6IDEvMmRCOyBGb3JtYXQ6IFNpZ25lZDsgU291cmNlOiBDdXN0b21lcjsgQ29tbWVudDogVGhlIGxpbWl0cyBhcmUgYXBwbGllZCB0byB0aGUgcG93ZXIgY29udHJvbCBwcm9jZXNzIGFjY29yZGluZyB0byB0aGUgVkJBVCBhbmQgdGVtcCByYW5nZSBpbiB3aGljaCB0aGUgRkVNIGlzIG9wZXJhdGluZwpGRU0xX1R4UGVyUmF0ZVBvd2VyTGltaXRzXzJfNEdfRXh0cmVtZSA9IDE2IDFEIDFFIDIwIDI0IDI1ICMgTGVuZ3RoOiA2OyBVbml0OiAxLzJkQjsgRm9ybWF0OiBTaWduZWQ7IFNvdXJjZTogQ3VzdG9tZXI7IENvbW1lbnQ6IFRoZSBsaW1pdHMgYXJlIGFwcGxpZWQgdG8gdGhlIHBvd2VyIGNvbnRyb2wgcHJvY2VzcyBhY2NvcmRpbmcgdG8gdGhlIFZCQVQgYW5kIHRlbXAgcmFuZ2UgaW4gd2hpY2ggdGhlIEZFTSBpcyBvcGVyYXRpbmcKRkVNMV9EZWdyYWRlZExvd1RvTm9ybWFsVGhyXzJfNEcgPSAxRSAjIExlbmd0aDogMTsgVW5pdDogMS8xMCB2b2x0czsgRm9ybWF0OiBVbnNpZ25lZDsgU291cmNlOiBUSTsgQ29tbWVudDogVGhlIGxpbWl0cyBhcmUgYXBwbGllZCB0byB0aGUgcG93ZXIgY29udHJvbCBwcm9jZXNzIGFjY29yZGluZyB0byB0aGUgVkJBVCBhbmQgdGVtcCByYW5nZSBpbiB3aGljaCB0aGUgRkVNIGlzIG9wZXJhdGluZwpGRU0xX05vcm1hbFRvRGVncmFkZWRIaWdoVGhyXzJfNEcgPSAyRCAjIExlbmd0aDogMTsgVW5pdDogMS8xMCB2b2x0czsgRm9ybWF0OiBVbnNpZ25lZDsgU291cmNlOiBUSTsgQ29tbWVudDogVGhlIGxpbWl0cyBhcmUgYXBwbGllZCB0byB0aGUgcG93ZXIgY29udHJvbCBwcm9jZXNzIGFjY29yZGluZyB0byB0aGUgVkJBVCBhbmQgdGVtcCByYW5nZSBpbiB3aGljaCB0aGUgRkVNIGlzIG9wZXJhdGluZwpGRU0xX1R4UGVyQ2hhbm5lbFBvd2VyTGltaXRzXzJfNEdfMTFiID0gNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgIyBMZW5ndGg6IDE0OyBVbml0OiAxLzJkQjsgRm9ybWF0OiBTaWduZWQ7IFNvdXJjZTogQ3VzdG9tZXI7IENvbW1lbnQ6IFRoZSBwdXJwb3NlIG9mIHRoaXMgdGFibGUgaXMgdG8gYWxsb3cgY2xpcHBpbmcgb2YgdGhlIG1heGltdW0gb3V0cHV0IHBvd2VyIG9uIGNlcnRhaW4gY2hhbm5lbHMKRkVNMV9UeFBlckNoYW5uZWxQb3dlckxpbWl0c18yXzRHX09GRE0gPSA1MCA1MCA1MCA1MCA1MCA1MCA1MCA1MCA1MCA1MCA1MCA1MCA1MCA1MCAjIExlbmd0aDogMTQ7IFVuaXQ6IDEvMmRCOyBGb3JtYXQ6IFNpZ25lZDsgU291cmNlOiBDdXN0b21lcjsgQ29tbWVudDogVGhlIHB1cnBvc2Ugb2YgdGhpcyB0YWJsZSBpcyB0byBhbGxvdyBjbGlwcGluZyBvZiB0aGUgbWF4aW11bSBvdXRwdXQgcG93ZXIgb24gY2VydGFpbiBjaGFubmVscwpGRU0xX1R4UERWc1JhdGVPZmZzZXRzXzJfNEcgPSAwMSAwMiAwMiAwMiAwMiAwMCAjIExlbmd0aDogNjsgVW5pdDogMS84ZEI7IEZvcm1hdDogU2lnbmVkOyBTb3VyY2U6IFRJOyBDb21tZW50OiBUaGlzIHBhcmFtZXRlciBpcyBhIHBvd2VyIGRldGVjdG9yIG9mZnNldCB2YWx1ZSB1c2VkIHRvIGNvcnJlY3QgdGhlIHBvd2VyIGRldGVjdG9yIGN1cnZlIGZvciBlYWNoIHJhdGUgZ3JvdXAKRkVNMV9UeEliaWFzVGFibGVfMl80RyAgPSAxNSAxNSAxNSAxOSAxOSAxNSAjIExlbmd0aDogNjsgVW5pdDogQ29kZXdvcmQgOyBGb3JtYXQ6IFVuc2lnbmVkOyBTb3VyY2U6IFRJOyBDb21tZW50OiBUaGlzIHBhcmFtZXRlciBzZXRzIHRoZSBiaWFzIGN1cnJlbnQgcHJvdmlkZWQgYnkgdGhlIFNvQyB0byB0aGUgUEEgaW4gdGhlIEZFTS4gT3B0aW9ucyAoTUNTNywgNTQvNDgsIDM2LzI0LCAxOC8xMiwgOS82LCAxMWIpCkZFTTFfUnhGZW1JbnNlcnRpb25Mb3NzXzJfNEcgID0gMTAgIyBMZW5ndGg6IDE7IFVuaXQ6IDEvOGRCOyBGb3JtYXQ6IFVuc2lnbmVkOyBTb3VyY2U6IFRJOyBDb21tZW50OiBUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHJlY2VpdmVkIGluc2VydGlvbiBsb3NzIG9mIHRoZSBXTDEyN3gKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFNFQ1RJT04gMi4xLjI6IDVHIHBhcmFtZXRlcnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpGRU0xX1RYQmlQUmVmZXJlbmNlUER2b2x0YWdlXzVHICA9IDAxNzMgMDE4OCAwMTg3IDAxOEIgMDE4QSAwMTg2IDAxOEMgIyBMZW5ndGg6IDc7IFVuaXQ6IDFtVjsgRm9ybWF0OiBVbnNpZ25lZDsgU291cmNlOiBUSTsgQ29tbWVudDogVGhpcyBwYXJhbWV0ZXIgZGVmaW5lIHRoZSByZWZlcmVuY2UgcG9pbnQgb2YgdGhlIEZFTSBwb3dlciBkZXRlY3RvcgpGRU0xX1R4QmlQUmVmZXJlbmNlUG93ZXJfNUcgPSA4MCA4MCA4MCA4MCA4MCA4MCA4MCAjIExlbmd0aDogNzsgVW5pdDogMS84ZEI7IEZvcm1hdDogU2lnbmVkOyBTb3VyY2U6IFRJOyBDb21tZW50OiBSZWZlcmVuY2Ugb3V0cHV0IHBvd2VyIHRoYXQgcHJvZHVjZXMgZ2l2ZW4gcmVmZXJlbmNlIHBvd2VyIGRldGVjdG9yIG91dHB1dCB2b2x0YWdlIC4KRkVNMV9UeEJpUE9mZnNldGRCXzVHID0gMDAgMDAgMDAgMDAgMDAgMDAgMDAgIyBMZW5ndGg6IDc7IFVuaXQ6IDEvOGRCOyBGb3JtYXQ6IFNpZ25lZDsgU291cmNlOiBDdXN0b21lcjsgQ29tbWVudDogVGhpcyBmaWVsZCBpcyB1c2VkIHRvIGZpbmUtdHVuZSB0aGUgVFggQmlQIGJ5IHRoZSBjdXN0b21lcgpGRU0xX1R4UGVyUmF0ZVBvd2VyTGltaXRzXzVHX05vcm1hbCAgPSAxQyAxRiAyMiAyNCAyNCA1MCAjIExlbmd0aDogNjsgVW5pdDogMS8yZEI7IEZvcm1hdDogU2lnbmVkOyBTb3VyY2U6IEN1c3RvbWVyOyBDb21tZW50OiBUaGUgbGltaXRzIGFyZSBhcHBsaWVkIHRvIHRoZSBwb3dlciBjb250cm9sIHByb2Nlc3MgYWNjb3JkaW5nIHRvIHRoZSBWQkFUIGFuZCB0ZW1wIHJhbmdlIGluIHdoaWNoIHRoZSBGRU0gaXMgb3BlcmF0aW5nCkZFTTFfVHhQZXJSYXRlUG93ZXJMaW1pdHNfNUdfRGVncmFkZWQgID0gMTggMUYgMjIgMjIgMjIgNTAgIyBMZW5ndGg6IDY7IFVuaXQ6IDEvMmRCOyBGb3JtYXQ6IFNpZ25lZDsgU291cmNlOiBDdXN0b21lcjsgQ29tbWVudDogVGhlIGxpbWl0cyBhcmUgYXBwbGllZCB0byB0aGUgcG93ZXIgY29udHJvbCBwcm9jZXNzIGFjY29yZGluZyB0byB0aGUgVkJBVCBhbmQgdGVtcCByYW5nZSBpbiB3aGljaCB0aGUgRkVNIGlzIG9wZXJhdGluZwpGRU0xX1R4UGVyUmF0ZVBvd2VyTGltaXRzXzVHX0V4dHJlbWUgPSAxNiAxQyAxRSAyMCAyMCA1MCAjIExlbmd0aDogNjsgVW5pdDogMS8yZEI7IEZvcm1hdDogU2lnbmVkOyBTb3VyY2U6IEN1c3RvbWVyOyBDb21tZW50OiBUaGUgbGltaXRzIGFyZSBhcHBsaWVkIHRvIHRoZSBwb3dlciBjb250cm9sIHByb2Nlc3MgYWNjb3JkaW5nIHRvIHRoZSBWQkFUIGFuZCB0ZW1wIHJhbmdlIGluIHdoaWNoIHRoZSBGRU0gaXMgb3BlcmF0aW5nCkZFTTFfRGVncmFkZWRMb3dUb05vcm1hbFRocl81RyA9IDFFICMgTGVuZ3RoOiAxOyBVbml0OiAxLzEwIHZvbHRzOyBGb3JtYXQ6IFVuc2lnbmVkOyBTb3VyY2U6IFRJOyBDb21tZW50OiBUaGUgbGltaXRzIGFyZSBhcHBsaWVkIHRvIHRoZSBwb3dlciBjb250cm9sIHByb2Nlc3MgYWNjb3JkaW5nIHRvIHRoZSBWQkFUIGFuZCB0ZW1wIHJhbmdlIGluIHdoaWNoIHRoZSBGRU0gaXMgb3BlcmF0aW5nCkZFTTFfTm9ybWFsVG9EZWdyYWRlZEhpZ2hUaHJfNUcgPSAyRCAjIExlbmd0aDogMTsgVW5pdDogMS8xMCB2b2x0czsgRm9ybWF0OiBVbnNpZ25lZDsgU291cmNlOiBUSTsgQ29tbWVudDogVGhlIGxpbWl0cyBhcmUgYXBwbGllZCB0byB0aGUgcG93ZXIgY29udHJvbCBwcm9jZXNzIGFjY29yZGluZyB0byB0aGUgVkJBVCBhbmQgdGVtcCByYW5nZSBpbiB3aGljaCB0aGUgRkVNIGlzIG9wZXJhdGluZwpGRU0xX1R4UGVyQ2hhbm5lbFBvd2VyTGltaXRzXzVHX09GRE0gID0gNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgNTAgIyBMZW5ndGg6IDM1OyBVbml0OiAxLzJkQjsgRm9ybWF0OiBTaWduZWQ7IFNvdXJjZTogQ3VzdG9tZXI7CkZFTTFfVHhQRFZzUmF0ZU9mZnNldHNfNUcgID0gMDEgMDIgMDIgMDIgMDIgMDAgIyBMZW5ndGg6IDc7IFVuaXQ6IDEvOGRCOyBGb3JtYXQ6IFNpZ25lZDsgU291cmNlOiBUSTsgQ29tbWVudDogVGhpcyBwYXJhbWV0ZXIgaXMgYSBwb3dlciBkZXRlY3RvciBvZmZzZXQgdmFsdWUgdXNlZCB0byBjb3JyZWN0IHRoZSBwb3dlciBkZXRlY3RvciBjdXJ2ZSBmb3IgZWFjaCByYXRlIGdyb3VwCkZFTTFfVHhJYmlhc1RhYmxlXzVHICA9IDEwIDEwIDEwIDEwIDEwIDEwICMgTGVuZ3RoOiA2OyBVbml0OiBDb2Rld29yZDsgRm9ybWF0OiBVbnNpZ25lZDsgU291cmNlOiBUSTsgQ29tbWVudDogVGhpcyBwYXJhbWV0ZXIgc2V0cyB0aGUgYmlhcyBjdXJyZW50IHByb3ZpZGVkIGJ5IHRoZSBTb0MgdG8gdGhlIFBBIGluIHRoZSBGRU0KRkVNMV9SeEZlbUluc2VydGlvbkxvc3NfNUcgID0gMTAgMTAgMTAgMTAgMTAgMTAgMTAgIyBMZW5ndGg6IDc7IFVuaXQ6IDEvOGRCOyBGb3JtYXQ6IFVuc2lnbmVkOyBTb3VyY2U6IFRJOyBDb21tZW50OiBUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHJlY2VpdmVkIGluc2VydGlvbiBsb3NzIG9mIHRoZSBXTDEyN3gKCg==