IyBDYXRhbGFuIG1lc3NhZ2VzIGZvciB0aGUgR05VIGJhc2gtMi4wCiMgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDAzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgojIE1vbnR4byBWaWNlbnRlIGkgU2VtcGVyZSA8bW9udHhvQGFsYWNhbnQuY29tPiwgMjAwMy4KIyBKb3JkaSBNYXMgaSBIZXJuP25kZXogPGptYXNAc29mdGNhdGFsYS5vcmc+LCAyMDA0IChjb3JyZWNjaW9ucykuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2gtMi4wXG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDAzLTEyLTI4IDE5OjU5KzAxMDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogTW9udHhvIFZpY2VudGUgaSBTZW1wZXJlIDxtb250eG9AYWxhY2FudC5jb20+XG4iCiJMYW5ndWFnZS1UZWFtOiBDYXRhbGFuIDxjYUBkb2Rkcy5uZXQ+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiM6IGFycmF5ZnVuYy5jOjUwCm1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0Igptc2dzdHIgImxhIG1hdHJpdSBlc3Q/IG1hbCBjb21wb3N0YSIKCiM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBpbmRleGVkIHRvIGFzc29jaWF0aXZlIGFycmF5Igptc2dzdHIgIiIKCiM6IGFycmF5ZnVuYy5jOjQ4MAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBpbnZhbGlkIGFzc29jaWF0aXZlIGFycmF5IGtleSIKbXNnc3RyICIlYyVjOiBvcGNpPyBpbnY/bGlkYSIKCiM6IGFycmF5ZnVuYy5jOjQ4MgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCm1zZ3N0ciAiJXM6IG5vIGVzIHBvdCBhc3NpZ25hciBhIHVuID9uZGV4IHF1ZSBubyA/cyBudW0/cmljIgoKIzogYXJyYXlmdW5jLmM6NTE4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKbXNnc3RyICIiCgojOiBiYXNoaGlzdC5jOjM4MwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgptc2dzdHIgIiVzOiBubyBlcyBwb3QgY3JlYXI6ICVzIgoKIzogYmFzaGxpbmUuYzozNDU3Cm1zZ2lkICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBjYW5ub3QgZmluZCBrZXltYXAgZm9yIGNvbW1hbmQiCm1zZ3N0ciAiIgoKIzogYmFzaGxpbmUuYzozNTQzCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgptc2dzdHIgIiIKCiM6IGJhc2hsaW5lLmM6MzU3MgojLCBjLWZvcm1hdAptc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgptc2dzdHIgIiIKCiM6IGJhc2hsaW5lLmM6MzYwNgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL2FsaWFzLmRlZjoxMzIKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJgJXMnOiBpbnZhbGlkIGFsaWFzIG5hbWUiCm1zZ3N0ciAiJWMlYzogb3BjaT8gaW52P2xpZGEiCgojOiBidWlsdGlucy9iaW5kLmRlZjoxMjAgYnVpbHRpbnMvYmluZC5kZWY6MTIzCm1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvYmluZC5kZWY6MjA2CiMsIGMtZm9ybWF0Cm1zZ2lkICJgJXMnOiBpbnZhbGlkIGtleW1hcCBuYW1lIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL2JpbmQuZGVmOjI0NQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBjYW5ub3QgcmVhZDogJXMiCm1zZ3N0ciAiJXM6IG5vIGVzIHBvdCBjcmVhcjogJXMiCgojOiBidWlsdGlucy9iaW5kLmRlZjoyNjAKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJgJXMnOiBjYW5ub3QgdW5iaW5kIgptc2dzdHIgIiVzOiBubyBzJ2hhIHRyb2JhdCBsJ29yZHJlIgoKIzogYnVpbHRpbnMvYmluZC5kZWY6Mjk1IGJ1aWx0aW5zL2JpbmQuZGVmOjMyNQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImAlcyc6IHVua25vd24gZnVuY3Rpb24gbmFtZSIKbXNnc3RyICIlczogZnVuY2k/IG5vbT9zIGRlIGxlY3R1cmEiCgojOiBidWlsdGlucy9iaW5kLmRlZjozMDMKIywgYy1mb3JtYXQKbXNnaWQgIiVzIGlzIG5vdCBib3VuZCB0byBhbnkga2V5cy5cbiIKbXNnc3RyICIiCgojOiBidWlsdGlucy9iaW5kLmRlZjozMDcKIywgYy1mb3JtYXQKbXNnaWQgIiVzIGNhbiBiZSBpbnZva2VkIHZpYSAiCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvYnJlYWsuZGVmOjc3IGJ1aWx0aW5zL2JyZWFrLmRlZjoxMTcKIywgZnV6enkKbXNnaWQgImxvb3AgY291bnQiCm1zZ3N0ciAiZmkgZGUgc2Vzc2k/IgoKIzogYnVpbHRpbnMvYnJlYWsuZGVmOjEzNwptc2dpZCAib25seSBtZWFuaW5nZnVsIGluIGEgYGZvcicsIGB3aGlsZScsIG9yIGB1bnRpbCcgbG9vcCIKbXNnc3RyICIiCgojOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzMwptc2dpZCAiIgoiUmV0dXJucyB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudCBzdWJyb3V0aW5lIGNhbGwuXG4iCiIgICAgXG4iCiIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKbXNnc3RyICIiCgojOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQptc2dpZCAiIgoiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCiIgICAgIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Cm1zZ2lkICIiCiI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCiIgICAgXG4iCiIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgoiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKbXNnaWQgIkhPTUUgbm90IHNldCIKbXNnc3RyICIiCgojOiBidWlsdGlucy9jZC5kZWY6MjI3Cm1zZ2lkICJPTERQV0Qgbm90IHNldCIKbXNnc3RyICIiCgojOiBidWlsdGlucy9jb21tb24uYzoxMDEKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJsaW5lICVkOiAiCm1zZ3N0ciAiZW5jYWl4ICUzZDoiCgojOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjEKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJ3YXJuaW5nOiAiCm1zZ3N0ciAicydlc3Q/IGVzY3JpdmludCIKCiM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE1MwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHVzYWdlOiAiCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKbXNnc3RyICJub21icmUgZXhjZXNzaXUgZGUgcGFyP21ldHJlcyIKCiM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCm1zZ3N0ciAiY2FsIHVuIHBhcj9tZXRyZSBwZXIgYSBsJ29wY2k/OiAtIgoKIzogYnVpbHRpbnMvY29tbW9uLmM6MTk4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogbnVtZXJpYyBhcmd1bWVudCByZXF1aXJlZCIKbXNnc3RyICIiCgojOiBidWlsdGlucy9jb21tb24uYzoyMDUKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogbm90IGZvdW5kIgptc2dzdHIgIiVzOiBubyBzJ2hhIHRyb2JhdCBsJ29yZHJlIgoKIzogYnVpbHRpbnMvY29tbW9uLmM6MjE0IHNoZWxsLmM6Nzk1CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIgptc2dzdHIgIiVjJWM6IG9wY2k/IGludj9saWRhIgoKIzogYnVpbHRpbnMvY29tbW9uLmM6MjIxCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIG5hbWUiCm1zZ3N0ciAiJWMlYzogb3BjaT8gaW52P2xpZGEiCgojOiBidWlsdGlucy9jb21tb24uYzoyMjggZ2VuZXJhbC5jOjIzMSBnZW5lcmFsLmM6MjM2CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiYCVzJzogbm90IGEgdmFsaWQgaWRlbnRpZmllciIKbXNnc3RyICInJXMnIG5vID9zIHVuIGlkZW50aWZpY2Fkb3Igdj9saWQiCgojOiBidWlsdGlucy9jb21tb24uYzoyMzgKIywgZnV6enkKbXNnaWQgImludmFsaWQgb2N0YWwgbnVtYmVyIgptc2dzdHIgIm4/bWVybyBpbnY/bGlkIGRlIHNlbnlhbCIKCiM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MAojLCBmdXp6eQptc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgptc2dzdHIgIm4/bWVybyBpbnY/bGlkIGRlIHNlbnlhbCIKCiM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgojLCBmdXp6eQptc2dpZCAiaW52YWxpZCBudW1iZXIiCm1zZ3N0ciAibj9tZXJvIGludj9saWQgZGUgc2VueWFsIgoKIzogYnVpbHRpbnMvY29tbW9uLmM6MjUwCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogaW52YWxpZCBzaWduYWwgc3BlY2lmaWNhdGlvbiIKbXNnc3RyICIiCgojOiBidWlsdGlucy9jb21tb24uYzoyNTcKIywgYy1mb3JtYXQKbXNnaWQgImAlcyc6IG5vdCBhIHBpZCBvciB2YWxpZCBqb2Igc3BlYyIKbXNnc3RyICIiCgojOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiByZWFkb25seSB2YXJpYWJsZSIKbXNnc3RyICIlczogP3MgdW5hIHZhcmlhYmxlIG5vbT9zIGRlIGxlY3R1cmEiCgojOiBidWlsdGlucy9jb21tb24uYzoyNzIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiAlcyBvdXQgb2YgcmFuZ2UiCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvY29tbW9uLmM6MjcyIGJ1aWx0aW5zL2NvbW1vbi5jOjI3NAojLCBmdXp6eQptc2dpZCAiYXJndW1lbnQiCm1zZ3N0ciAicydlc3BlcmF2YSB1biBwYXI/bWV0cmUiCgojOiBidWlsdGlucy9jb21tb24uYzoyNzQKIywgYy1mb3JtYXQKbXNnaWQgIiVzIG91dCBvZiByYW5nZSIKbXNnc3RyICIiCgojOiBidWlsdGlucy9jb21tb24uYzoyODIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBubyBzdWNoIGpvYiIKbXNnc3RyICIiCgojOiBidWlsdGlucy9jb21tb24uYzoyOTAKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogbm8gam9iIGNvbnRyb2wiCm1zZ3N0ciAibm8gaGkgaGEgY2FwIHRhc2NhIGRlIGNvbnRyb2wgZGlucyBkJ2FxdWVzdCBpbnQ/cnByZXQiCgojOiBidWlsdGlucy9jb21tb24uYzoyOTIKIywgZnV6enkKbXNnaWQgIm5vIGpvYiBjb250cm9sIgptc2dzdHIgIm5vIGhpIGhhIGNhcCB0YXNjYSBkZSBjb250cm9sIGRpbnMgZCdhcXVlc3QgaW50P3JwcmV0IgoKIzogYnVpbHRpbnMvY29tbW9uLmM6MzAyCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IHJlc3RyaWN0ZWQiCm1zZ3N0ciAiJXM6IHMnaGEgZmluYWxpdHphdCBsYSB0YXNjYSIKCiM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMwNAojLCBmdXp6eQptc2dpZCAicmVzdHJpY3RlZCIKbXNnc3RyICJUZXJtaW5hdCIKCiM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMxMgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IG5vdCBhIHNoZWxsIGJ1aWx0aW4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvY29tbW9uLmM6MzIxCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAid3JpdGUgZXJyb3I6ICVzIgptc2dzdHIgImVycm9yIGRlbCBjb25kdWN0ZTogJXMiCgojOiBidWlsdGlucy9jb21tb24uYzozMjkKIywgYy1mb3JtYXQKbXNnaWQgImVycm9yIHNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlczogJXMiCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvY29tbW9uLmM6MzMxCiMsIGMtZm9ybWF0Cm1zZ2lkICJlcnJvciBnZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVzIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL2NvbW1vbi5jOjU2MwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGVycm9yIHJldHJpZXZpbmcgY3VycmVudCBkaXJlY3Rvcnk6ICVzOiAlc1xuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL2NvbW1vbi5jOjYyOSBidWlsdGlucy9jb21tb24uYzo2MzEKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogYW1iaWd1b3VzIGpvYiBzcGVjIgptc2dzdHIgIiVzOiBSZWRpcmVjY2k/IGFtYmlndWEiCgojOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Mjc2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogaW52YWxpZCBhY3Rpb24gbmFtZSIKbXNnc3RyICIiCgojOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDQ5IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NDQKIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjg1MwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IG5vIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiIKbXNnc3RyICIiCgojOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk2Cm1zZ2lkICJ3YXJuaW5nOiAtRiBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5OAptc2dpZCAid2FybmluZzogLUMgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0Igptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MjYKbXNnaWQgIm5vdCBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbXBsZXRpb24gZnVuY3Rpb24iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTIyCiMsIGZ1enp5Cm1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCm1zZ3N0ciAiIgoic2VydmlyIExPQ0FMIGRpbnMgZCd1bmEgZnVuY2k/OyBhPz8gcmVzdHJpbmdpcj8gbGEgbWFnbml0dWQgdmlzaWJsZSBkZSBsYSIKCiM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2MAptc2dpZCAiY2Fubm90IHVzZSBgLWYnIHRvIG1ha2UgZnVuY3Rpb25zIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKbXNnc3RyICIlczogZnVuY2k/IG5vbT9zIGRlIGxlY3R1cmEiCgojOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5Igptc2dzdHIgIiQlczogbm8gZXMgcG90IGFzc2lnbmFyIGQnYXF1ZXN0YSBtYW5lcmEiCgojOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5Igptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL2VuYWJsZS5kZWY6MTM3IGJ1aWx0aW5zL2VuYWJsZS5kZWY6MTQ1Cm1zZ2lkICJkeW5hbWljIGxvYWRpbmcgbm90IGF2YWlsYWJsZSIKbXNnc3RyICIiCgojOiBidWlsdGlucy9lbmFibGUuZGVmOjMxMgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCBvcGVuIHNoYXJlZCBvYmplY3QgJXM6ICVzIgptc2dzdHIgIm5vIGVzIHBvdCBvYnJpciBlbCBjb25kdWN0ZSBhbm9tZW5hdCAlcyBwZXIgYSAlczogJXMiCgojOiBidWlsdGlucy9lbmFibGUuZGVmOjMzNQojLCBjLWZvcm1hdAptc2dpZCAiY2Fubm90IGZpbmQgJXMgaW4gc2hhcmVkIG9iamVjdCAlczogJXMiCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvZW5hYmxlLmRlZjo0NTkKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBub3QgZHluYW1pY2FsbHkgbG9hZGVkIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL2VuYWJsZS5kZWY6NDc0CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgptc2dzdHIgIiVzOiBubyBlcyBwb3QgY3JlYXI6ICVzIgoKIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAojOiBzaGVsbC5jOjE0NTIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBpcyBhIGRpcmVjdG9yeSIKbXNnc3RyICIlczogP3MgdW4gZGlyZWN0b3JpIgoKIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzkKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogbm90IGEgcmVndWxhciBmaWxlIgptc2dzdHIgIiVzOiBubyBlcyBwb3QgZXhlY3V0YXIgZWwgZml0eGVyIGJpbmFyaSIKCiM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0CiM6IHNoZWxsLmM6MTQ2MgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgptc2dzdHIgIiVzOiBubyBlcyBwb3QgZXhlY3V0YXIgZWwgZml0eGVyIGJpbmFyaSIKCiM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjIxMgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZTogJXMiCm1zZ3N0ciAiJXM6IG5vIGVzIHBvdCBjcmVhcjogJXMiCgojOiBidWlsdGlucy9leGl0LmRlZjo2NQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImxvZ291dFxuIgptc2dzdHIgImZpIGRlIHNlc3NpPyIKCiM6IGJ1aWx0aW5zL2V4aXQuZGVmOjg4Cm1zZ2lkICJub3QgbG9naW4gc2hlbGw6IHVzZSBgZXhpdCciCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvZXhpdC5kZWY6MTIwCiMsIGMtZm9ybWF0Cm1zZ2lkICJUaGVyZSBhcmUgc3RvcHBlZCBqb2JzLlxuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL2V4aXQuZGVmOjEyMgojLCBjLWZvcm1hdAptc2dpZCAiVGhlcmUgYXJlIHJ1bm5pbmcgam9icy5cbiIKbXNnc3RyICIiCgojOiBidWlsdGlucy9mYy5kZWY6MjYyCiMsIGZ1enp5Cm1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgptc2dzdHIgIiVzOiBubyBzJ2hhIHRyb2JhdCBsJ29yZHJlIgoKIzogYnVpbHRpbnMvZmMuZGVmOjM0OQptc2dpZCAiaGlzdG9yeSBzcGVjaWZpY2F0aW9uIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKbXNnc3RyICIlczogbm8gZXMgcG90IGNyZWFyOiAlcyIKCiM6IGJ1aWx0aW5zL2ZnX2JnLmRlZjoxNDkgYnVpbHRpbnMvam9icy5kZWY6MjgyCm1zZ2lkICJjdXJyZW50Igptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL2ZnX2JnLmRlZjoxNTgKIywgYy1mb3JtYXQKbXNnaWQgImpvYiAlZCBzdGFydGVkIHdpdGhvdXQgam9iIGNvbnRyb2wiCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvZ2V0b3B0LmM6MTEwCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCm1zZ3N0ciAib3BjaT8gaWyebGVnYWw6IC0iCgojOiBidWlsdGlucy9nZXRvcHQuYzoxMTEKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVjXG4iCm1zZ3N0ciAiY2FsIHVuIHBhcj9tZXRyZSBwZXIgYSBsJ29wY2k/OiAtIgoKIzogYnVpbHRpbnMvaGFzaC5kZWY6OTIKbXNnaWQgImhhc2hpbmcgZGlzYWJsZWQiCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvaGFzaC5kZWY6MTM4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogaGFzaCB0YWJsZSBlbXB0eVxuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImhpdHNcdGNvbW1hbmRcbiIKbXNnc3RyICJzaSBzJ2VzY3JpdSBcInJcIiBzJ2V4ZWN1dGFyPyBsYSBkYXJyZXJhIG9yZHJlLiIKCiM6IGJ1aWx0aW5zL2hlbHAuZGVmOjEzMAojLCBjLWZvcm1hdAptc2dpZCAiU2hlbGwgY29tbWFuZHMgbWF0Y2hpbmcga2V5d29yZCBgIgptc2dpZF9wbHVyYWwgIlNoZWxsIGNvbW1hbmRzIG1hdGNoaW5nIGtleXdvcmRzIGAiCm1zZ3N0clswXSAiIgptc2dzdHJbMV0gIiIKCiM6IGJ1aWx0aW5zL2hlbHAuZGVmOjE2OAojLCBjLWZvcm1hdAptc2dpZCAiIgoibm8gaGVscCB0b3BpY3MgbWF0Y2ggYCVzJy4gIFRyeSBgaGVscCBoZWxwJyBvciBgbWFuIC1rICVzJyBvciBgaW5mbyAlcycuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL2hlbHAuZGVmOjE4NQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbjogJXMiCm1zZ3N0ciAiJXM6IG5vIGVzIHBvdCBjcmVhcjogJXMiCgojOiBidWlsdGlucy9oZWxwLmRlZjozMzcKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlRoZXNlIHNoZWxsIGNvbW1hbmRzIGFyZSBkZWZpbmVkIGludGVybmFsbHkuICBUeXBlIGBoZWxwJyB0byBzZWUgdGhpcyBsaXN0LlxuIgoiVHlwZSBgaGVscCBuYW1lJyB0byBmaW5kIG91dCBtb3JlIGFib3V0IHRoZSBmdW5jdGlvbiBgbmFtZScuXG4iCiJVc2UgYGluZm8gYmFzaCcgdG8gZmluZCBvdXQgbW9yZSBhYm91dCB0aGUgc2hlbGwgaW4gZ2VuZXJhbC5cbiIKIlVzZSBgbWFuIC1rJyBvciBgaW5mbycgdG8gZmluZCBvdXQgbW9yZSBhYm91dCBjb21tYW5kcyBub3QgaW4gdGhpcyBsaXN0LlxuIgoiXG4iCiJBIHN0YXIgKCopIG5leHQgdG8gYSBuYW1lIG1lYW5zIHRoYXQgdGhlIGNvbW1hbmQgaXMgZGlzYWJsZWQuXG4iCiJcbiIKbXNnc3RyICIiCgojOiBidWlsdGlucy9oaXN0b3J5LmRlZjoxNTQKbXNnaWQgImNhbm5vdCB1c2UgbW9yZSB0aGFuIG9uZSBvZiAtYW5ydyIKbXNnc3RyICIiCgojOiBidWlsdGlucy9oaXN0b3J5LmRlZjoxODYKbXNnaWQgImhpc3RvcnkgcG9zaXRpb24iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvaGlzdG9yeS5kZWY6MzY1CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IGhpc3RvcnkgZXhwYW5zaW9uIGZhaWxlZCIKbXNnc3RyICIlczogcydlc3BlcmF2YSB1bmEgZXhwcmVzc2k/IGRlIG5vbWJyZSBlbnRlciIKCiM6IGJ1aWx0aW5zL2lubGliLmRlZjo3MQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBpbmxpYiBmYWlsZWQiCm1zZ3N0ciAiJXM6IHMnZXNwZXJhdmEgdW5hIGV4cHJlc3NpPyBkZSBub21icmUgZW50ZXIiCgojOiBidWlsdGlucy9qb2JzLmRlZjoxMDkKbXNnaWQgIm5vIG90aGVyIG9wdGlvbnMgYWxsb3dlZCB3aXRoIGAteCciCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMva2lsbC5kZWY6MjAwCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MwojLCBmdXp6eQptc2dpZCAiVW5rbm93biBlcnJvciIKbXNnc3RyICJFcnJvciBkZXNjb25lZ3V0ICVkIgoKIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTAxIGV4cHIuYzo1MTYKbXNnaWQgImV4cHJlc3Npb24gZXhwZWN0ZWQiCm1zZ3N0ciAicydlc3BlcmF2YSB1bmEgZXhwcmVzc2k/IgoKIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5Igptc2dzdHIgIiVzOiB2YXJpYWJsZSBzZW5zZSB2aW5jbGUiCgojOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKbXNnc3RyICIiCgojOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTcgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDQKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50Igptc2dzdHIgIiVjJWM6IG9wY2k/IGludj9saWRhIgoKIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgptc2dzdHIgIiVjJWM6IG9wY2k/IGludj9saWRhIgoKIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKbXNnc3RyICJuP21lcm8gaW52P2xpZCBkZSBzZW55YWwiCgojOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKIywgZnV6enkKbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCm1zZ3N0ciAiJXM6IHZhcmlhYmxlIHNlbnNlIHZpbmNsZSIKCiM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM0Nwptc2dpZCAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKbXNnc3RyICIiCgojOiBidWlsdGlucy9wcmludGYuZGVmOjM3NAojLCBjLWZvcm1hdAptc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTUxCiMsIGMtZm9ybWF0Cm1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKIywgYy1mb3JtYXQKbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKbXNnc3RyICIiCgojOiBidWlsdGlucy9wcmludGYuZGVmOjc1Nwptc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKbXNnc3RyICIiCgojOiBidWlsdGlucy9wdXNoZC5kZWY6MTk1CiMsIGZ1enp5Cm1zZ2lkICJubyBvdGhlciBkaXJlY3RvcnkiCm1zZ3N0ciAic2VndWVudCBlbnRyYWRhIGRlIGxhIHBpbGEgKG8gc2lhLCBsYSBub3ZhIHByaW1lcmEgZW50cmFkYSkuIgoKIzogYnVpbHRpbnMvcHVzaGQuZGVmOjQ2MgojLCBmdXp6eQptc2dpZCAiPG5vIGN1cnJlbnQgZGlyZWN0b3J5PiIKbXNnc3RyICJcdGFxdWVzdCBzZXI/IGVsIG5vdSBkaXJlY3RvcmkgYWN0dWFsIGRlIHRyZWJhbGwuIgoKIzogYnVpbHRpbnMvcHVzaGQuZGVmOjUwNgptc2dpZCAiZGlyZWN0b3J5IHN0YWNrIGVtcHR5Igptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo1MDgKIywgZnV6enkKbXNnaWQgImRpcmVjdG9yeSBzdGFjayBpbmRleCIKbXNnc3RyICJTJ2hhIGRlc2JvcmRhdCBsYSBiYXNlIGRlIGxhIHBpbGEuIgoKIzogYnVpbHRpbnMvcHVzaGQuZGVmOjY4Mwptc2dpZCAiIgoiRGlzcGxheSB0aGUgbGlzdCBvZiBjdXJyZW50bHkgcmVtZW1iZXJlZCBkaXJlY3Rvcmllcy4gIERpcmVjdG9yaWVzXG4iCiIgICAgZmluZCB0aGVpciB3YXkgb250byB0aGUgbGlzdCB3aXRoIHRoZSBgcHVzaGQnIGNvbW1hbmQ7IHlvdSBjYW4gZ2V0XG4iCiIgICAgYmFjayB1cCB0aHJvdWdoIHRoZSBsaXN0IHdpdGggdGhlIGBwb3BkJyBjb21tYW5kLlxuIgoiICAgIFxuIgoiICAgIE9wdGlvbnM6XG4iCiIgICAgICAtY1x0Y2xlYXIgdGhlIGRpcmVjdG9yeSBzdGFjayBieSBkZWxldGluZyBhbGwgb2YgdGhlIGVsZW1lbnRzXG4iCiIgICAgICAtbFx0ZG8gbm90IHByaW50IHRpbGRlLXByZWZpeGVkIHZlcnNpb25zIG9mIGRpcmVjdG9yaWVzIHJlbGF0aXZlXG4iCiIgICAgXHR0byB5b3VyIGhvbWUgZGlyZWN0b3J5XG4iCiIgICAgICAtcFx0cHJpbnQgdGhlIGRpcmVjdG9yeSBzdGFjayB3aXRoIG9uZSBlbnRyeSBwZXIgbGluZVxuIgoiICAgICAgLXZcdHByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmUgcHJlZml4ZWRcbiIKIiAgICBcdHdpdGggaXRzIHBvc2l0aW9uIGluIHRoZSBzdGFja1xuIgoiICAgIFxuIgoiICAgIEFyZ3VtZW50czpcbiIKIiAgICAgICtOXHREaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvd24gIgoiYnlcbiIKIiAgICBcdGRpcnMgd2hlbiBpbnZva2VkIHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcgd2l0aCB6ZXJvLlxuIgoiICAgIFxuIgoiICAgICAgLU5cdERpc3BsYXlzIHRoZSBOdGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgcmlnaHQgb2YgdGhlIGxpc3Qgc2hvd24gIgoiYnlcbiIKIlx0ZGlycyB3aGVuIGludm9rZWQgd2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoIHplcm8uIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo3MDUKbXNnaWQgIiIKIkFkZHMgYSBkaXJlY3RvcnkgdG8gdGhlIHRvcCBvZiB0aGUgZGlyZWN0b3J5IHN0YWNrLCBvciByb3RhdGVzXG4iCiIgICAgdGhlIHN0YWNrLCBtYWtpbmcgdGhlIG5ldyB0b3Agb2YgdGhlIHN0YWNrIHRoZSBjdXJyZW50IHdvcmtpbmdcbiIKIiAgICBkaXJlY3RvcnkuICBXaXRoIG5vIGFyZ3VtZW50cywgZXhjaGFuZ2VzIHRoZSB0b3AgdHdvIGRpcmVjdG9yaWVzLlxuIgoiICAgIFxuIgoiICAgIE9wdGlvbnM6XG4iCiIgICAgICAtblx0U3VwcHJlc3NlcyB0aGUgbm9ybWFsIGNoYW5nZSBvZiBkaXJlY3Rvcnkgd2hlbiBhZGRpbmdcbiIKIiAgICBcdGRpcmVjdG9yaWVzIHRvIHRoZSBzdGFjaywgc28gb25seSB0aGUgc3RhY2sgaXMgbWFuaXB1bGF0ZWQuXG4iCiIgICAgXG4iCiIgICAgQXJndW1lbnRzOlxuIgoiICAgICAgK05cdFJvdGF0ZXMgdGhlIHN0YWNrIHNvIHRoYXQgdGhlIE50aCBkaXJlY3RvcnkgKGNvdW50aW5nXG4iCiIgICAgXHRmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aFxuIgoiICAgIFx0emVybykgaXMgYXQgdGhlIHRvcC5cbiIKIiAgICBcbiIKIiAgICAgIC1OXHRSb3RhdGVzIHRoZSBzdGFjayBzbyB0aGF0IHRoZSBOdGggZGlyZWN0b3J5IChjb3VudGluZ1xuIgoiICAgIFx0ZnJvbSB0aGUgcmlnaHQgb2YgdGhlIGxpc3Qgc2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoXG4iCiIgICAgXHR6ZXJvKSBpcyBhdCB0aGUgdG9wLlxuIgoiICAgIFxuIgoiICAgICAgZGlyXHRBZGRzIERJUiB0byB0aGUgZGlyZWN0b3J5IHN0YWNrIGF0IHRoZSB0b3AsIG1ha2luZyBpdCB0aGVcbiIKIiAgICBcdG5ldyBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuIgoiICAgIFxuIgoiICAgIFRoZSBgZGlycycgYnVpbHRpbiBkaXNwbGF5cyB0aGUgZGlyZWN0b3J5IHN0YWNrLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy9wdXNoZC5kZWY6NzMwCm1zZ2lkICIiCiJSZW1vdmVzIGVudHJpZXMgZnJvbSB0aGUgZGlyZWN0b3J5IHN0YWNrLiAgV2l0aCBubyBhcmd1bWVudHMsIHJlbW92ZXNcbiIKIiAgICB0aGUgdG9wIGRpcmVjdG9yeSBmcm9tIHRoZSBzdGFjaywgYW5kIGNoYW5nZXMgdG8gdGhlIG5ldyB0b3AgZGlyZWN0b3J5LlxuIgoiICAgIFxuIgoiICAgIE9wdGlvbnM6XG4iCiIgICAgICAtblx0U3VwcHJlc3NlcyB0aGUgbm9ybWFsIGNoYW5nZSBvZiBkaXJlY3Rvcnkgd2hlbiByZW1vdmluZ1xuIgoiICAgIFx0ZGlyZWN0b3JpZXMgZnJvbSB0aGUgc3RhY2ssIHNvIG9ubHkgdGhlIHN0YWNrIGlzIG1hbmlwdWxhdGVkLlxuIgoiICAgIFxuIgoiICAgIEFyZ3VtZW50czpcbiIKIiAgICAgICtOXHRSZW1vdmVzIHRoZSBOdGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdFxuIgoiICAgIFx0c2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgKzAnXG4iCiIgICAgXHRyZW1vdmVzIHRoZSBmaXJzdCBkaXJlY3RvcnksIGBwb3BkICsxJyB0aGUgc2Vjb25kLlxuIgoiICAgIFxuIgoiICAgICAgLU5cdFJlbW92ZXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdFxuIgoiICAgIFx0c2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgLTAnXG4iCiIgICAgXHRyZW1vdmVzIHRoZSBsYXN0IGRpcmVjdG9yeSwgYHBvcGQgLTEnIHRoZSBuZXh0IHRvIGxhc3QuXG4iCiIgICAgXG4iCiIgICAgVGhlIGBkaXJzJyBidWlsdGluIGRpc3BsYXlzIHRoZSBkaXJlY3Rvcnkgc3RhY2suIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL3JlYWQuZGVmOjI1MgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU4OAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgInJlYWQgZXJyb3I6ICVkOiAlcyIKbXNnc3RyICJlcnJvciBkZWwgY29uZHVjdGU6ICVzIgoKIzogYnVpbHRpbnMvcmV0dXJuLmRlZjo3Mwptc2dpZCAiY2FuIG9ubHkgYHJldHVybicgZnJvbSBhIGZ1bmN0aW9uIG9yIHNvdXJjZWQgc2NyaXB0Igptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL3NldC5kZWY6NzY4CiMsIGZ1enp5Cm1zZ2lkICJjYW5ub3Qgc2ltdWx0YW5lb3VzbHkgdW5zZXQgYSBmdW5jdGlvbiBhbmQgYSB2YXJpYWJsZSIKbXNnc3RyICIiCiJzZXJ2aXIgTE9DQUwgZGlucyBkJ3VuYSBmdW5jaT87IGE/PyByZXN0cmluZ2lyPyBsYSBtYWduaXR1ZCB2aXNpYmxlIGRlIGxhIgoKIzogYnVpbHRpbnMvc2V0LmRlZjo4MDUKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogY2Fubm90IHVuc2V0Igptc2dzdHIgIiVzOiBubyBlcyBwb3QgY3JlYXI6ICVzIgoKIzogYnVpbHRpbnMvc2V0LmRlZjo4MTIKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogY2Fubm90IHVuc2V0OiByZWFkb25seSAlcyIKbXNnc3RyICIlczogbm8gZXMgcG90IGNyZWFyOiAlcyIKCiM6IGJ1aWx0aW5zL3NldC5kZWY6ODIzCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IG5vdCBhbiBhcnJheSB2YXJpYWJsZSIKbXNnc3RyICIlczogdmFyaWFibGUgc2Vuc2UgdmluY2xlIgoKIzogYnVpbHRpbnMvc2V0YXR0ci5kZWY6MTg2CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IG5vdCBhIGZ1bmN0aW9uIgptc2dzdHIgIiVzOiBmdW5jaT8gbm9tP3MgZGUgbGVjdHVyYSIKCiM6IGJ1aWx0aW5zL3NoaWZ0LmRlZjo3MSBidWlsdGlucy9zaGlmdC5kZWY6NzcKIywgZnV6enkKbXNnaWQgInNoaWZ0IGNvdW50Igptc2dzdHIgInNoaWZ0IFtuXSIKCiM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKbXNnaWQgImNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkiCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMjgKbXNnaWQgImZpbGVuYW1lIGFyZ3VtZW50IHJlcXVpcmVkIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTUzCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgbm90IGZvdW5kIgptc2dzdHIgIiVzOiBubyBzJ2hhIHRyb2JhdCBsJ29yZHJlIgoKIzogYnVpbHRpbnMvc3VzcGVuZC5kZWY6MTAxCm1zZ2lkICJjYW5ub3Qgc3VzcGVuZCIKbXNnc3RyICIiCgojOiBidWlsdGlucy9zdXNwZW5kLmRlZjoxMTEKIywgZnV6enkKbXNnaWQgImNhbm5vdCBzdXNwZW5kIGEgbG9naW4gc2hlbGwiCm1zZ3N0ciAiRmluYWxpdHphciB1bmEgc2Vzc2k/IGRlIGwnaW50P3JwcmV0IGQnb3JkcmVzLiIKCiM6IGJ1aWx0aW5zL3R5cGUuZGVmOjIzNAojLCBjLWZvcm1hdAptc2dpZCAiJXMgaXMgYWxpYXNlZCB0byBgJXMnXG4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvdHlwZS5kZWY6MjU1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlcyBpcyBhIHNoZWxsIGtleXdvcmRcbiIKbXNnc3RyICIiCgojOiBidWlsdGlucy90eXBlLmRlZjoyNzQKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlcyBpcyBhIGZ1bmN0aW9uXG4iCm1zZ3N0ciAiJXM6IGZ1bmNpPyBub20/cyBkZSBsZWN0dXJhIgoKIzogYnVpbHRpbnMvdHlwZS5kZWY6Mjk2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlcyBpcyBhIHNoZWxsIGJ1aWx0aW5cbiIKbXNnc3RyICIiCgojOiBidWlsdGlucy90eXBlLmRlZjozMTcgYnVpbHRpbnMvdHlwZS5kZWY6MzkxCiMsIGMtZm9ybWF0Cm1zZ2lkICIlcyBpcyAlc1xuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zL3R5cGUuZGVmOjMzNwojLCBjLWZvcm1hdAptc2dpZCAiJXMgaXMgaGFzaGVkICglcylcbiIKbXNnc3RyICIiCgojOiBidWlsdGlucy91bGltaXQuZGVmOjM3MgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQiCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozOTgKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJgJWMnOiBiYWQgY29tbWFuZCIKbXNnc3RyICIlYyVjOiBvcGNpPyBpbnY/bGlkYSIKCiM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDI3CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbm5vdCBnZXQgbGltaXQ6ICVzIgptc2dzdHIgIiVzOiBubyBlcyBwb3QgY3JlYXI6ICVzIgoKIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTMKIywgZnV6enkKbXNnaWQgImxpbWl0Igptc2dzdHIgIkw/bWl0IGRlIGxhIFVDUCIKCiM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY1IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY1CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgbGltaXQ6ICVzIgptc2dzdHIgIiVzOiBubyBlcyBwb3QgY3JlYXI6ICVzIgoKIzogYnVpbHRpbnMvdW1hc2suZGVmOjExOAojLCBmdXp6eQptc2dpZCAib2N0YWwgbnVtYmVyIgptc2dzdHIgIm4/bWVybyBpbnY/bGlkIGRlIHNlbnlhbCIKCiM6IGJ1aWx0aW5zL3VtYXNrLmRlZjoyMzEKIywgYy1mb3JtYXQKbXNnaWQgImAlYyc6IGludmFsaWQgc3ltYm9saWMgbW9kZSBvcGVyYXRvciIKbXNnc3RyICIiCgojOiBidWlsdGlucy91bWFzay5kZWY6Mjg2CiMsIGMtZm9ybWF0Cm1zZ2lkICJgJWMnOiBpbnZhbGlkIHN5bWJvbGljIG1vZGUgY2hhcmFjdGVyIgptc2dzdHIgIiIKCiM6IGVycm9yLmM6OTAgZXJyb3IuYzozMjEgZXJyb3IuYzozMjMgZXJyb3IuYzozMjUKbXNnaWQgIiBsaW5lICIKbXNnc3RyICIiCgojOiBlcnJvci5jOjE2NQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImxhc3QgY29tbWFuZDogJXNcbiIKbXNnc3RyICJzaSBzJ2VzY3JpdSBcInJcIiBzJ2V4ZWN1dGFyPyBsYSBkYXJyZXJhIG9yZHJlLiIKCiM6IGVycm9yLmM6MTczCiMsIGMtZm9ybWF0Cm1zZ2lkICJBYm9ydGluZy4uLiIKbXNnc3RyICIiCgojOiBlcnJvci5jOjQwNgojLCBmdXp6eQptc2dpZCAidW5rbm93biBjb21tYW5kIGVycm9yIgptc2dzdHIgIkVycm9yIGRlc2NvbmVndXQgJWQiCgojOiBlcnJvci5jOjQwNwojLCBmdXp6eQptc2dpZCAiYmFkIGNvbW1hbmQgdHlwZSIKbXNnc3RyICJ1biBub20gZCd1bmEgb3JkcmUuIgoKIzogZXJyb3IuYzo0MDgKIywgZnV6enkKbXNnaWQgImJhZCBjb25uZWN0b3IiCm1zZ3N0ciAiY29ubmVjdG9yIGludj9saWQgJyVkJyIKCiM6IGVycm9yLmM6NDA5CiMsIGZ1enp5Cm1zZ2lkICJiYWQganVtcCIKbXNnc3RyICJTYWx0IGluY29ycmVjdGUgJWQiCgojOiBlcnJvci5jOjQ0NwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHVuYm91bmQgdmFyaWFibGUiCm1zZ3N0ciAiJXM6IHZhcmlhYmxlIHNlbnNlIHZpbmNsZSIKCiM6IGV2YWwuYzoxODEKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgptc2dzdHIgIiIKIiVjIGhhIGV4Y2VkaXQgZWwgdGVtcHMgZCdlc3BlcmEgcGVyIHVuYSBlbnRyYWRhOiBmaSBhdXRvbT90aWNhIGRlIHNlc3NpP1xuIgoKIzogZXhlY3V0ZV9jbWQuYzo0OTcKIywgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCm1zZ3N0ciAiIgoKIzogZXhlY3V0ZV9jbWQuYzoxMTYyCiMsIGMtZm9ybWF0Cm1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCm1zZ3N0ciAiIgoKIzogZXhlY3V0ZV9jbWQuYzoyMDc1CiMsIGZ1enp5Cm1zZ2lkICJwaXBlIGVycm9yIgptc2dzdHIgImVycm9yIGRlbCBjb25kdWN0ZTogJXMiCgojOiBleGVjdXRlX2NtZC5jOjQ0ODEKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKbXNnc3RyICIlczogcmVzdHJpbmdpdDogbm8gZXMgcG90IGVzcGVjaWZpY2FyICcvJyBlbiBub21zIGQnb3JkcmVzIgoKIzogZXhlY3V0ZV9jbWQuYzo0NTcyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCm1zZ3N0ciAiJXM6IG5vIHMnaGEgdHJvYmF0IGwnb3JkcmUiCgojOiBleGVjdXRlX2NtZC5jOjQ4MjcKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKbXNnc3RyICIlczogP3MgdW4gZGlyZWN0b3JpIgoKIzogZXhlY3V0ZV9jbWQuYzo0OTc2CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKbXNnc3RyICIiCiJubyBlcyBwb3QgY29waWFyIHBlciBkdXBsaWNhdCBlbCBkZXNjcmlwdG9yIGRlbCBmaXR4ZXIgZGYgJWQgY2FwIGEgZGYgMDogJXMiCgojOiBleHByLmM6MjQxCm1zZ2lkICJleHByZXNzaW9uIHJlY3Vyc2lvbiBsZXZlbCBleGNlZWRlZCIKbXNnc3RyICJzJ2hhIGV4Y2VkaXQgZWwgbml2ZWxsIGRlIHJlY3Vyc2l2aXRhdCBkZSBsJ2V4cHJlc3NpPyIKCiM6IGV4cHIuYzoyNjUKIywgZnV6enkKbXNnaWQgInJlY3Vyc2lvbiBzdGFjayB1bmRlcmZsb3ciCm1zZ3N0ciAiUydoYSBkZXNib3JkYXQgbGEgYmFzZSBkZSBsYSBwaWxhLiIKCiM6IGV4cHIuYzozNzkKbXNnaWQgInN5bnRheCBlcnJvciBpbiBleHByZXNzaW9uIgptc2dzdHIgImVycm9yIGRlIHNpbnRheGkgYSBsJ2V4cHJlc3NpPyIKCiM6IGV4cHIuYzo0MTkKbXNnaWQgImF0dGVtcHRlZCBhc3NpZ25tZW50IHRvIG5vbi12YXJpYWJsZSIKbXNnc3RyICJzJ2hhIGludGVudGF0IGFzc2lnbmFyIHVuYSB2YXJpYWJsZSBpbmV4aXN0ZW50IgoKIzogZXhwci5jOjQ0MCBleHByLmM6NDQ1IGV4cHIuYzo3NTYKbXNnaWQgImRpdmlzaW9uIGJ5IDAiCm1zZ3N0ciAiZGl2aXNpPyBwZXIgMCIKCiM6IGV4cHIuYzo0NzEKIywgZnV6enkKbXNnaWQgImJ1ZzogYmFkIGV4cGFzc2lnbiB0b2tlbiIKbXNnc3RyICJlcnJvciBkZSBwcm9ncmFtYWNpPzogcGFzIGluY29ycmVjdGUgZGVsIHNlbnlhbCAlZCBwZXIgYSBleHBhc3NpbmcoKS4iCgojOiBleHByLmM6NTEzCm1zZ2lkICJgOicgZXhwZWN0ZWQgZm9yIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCm1zZ3N0ciAicydlc3BlcmF2YSAnOicgcGVyIGEgbCdleHByZXNzaT8gY29uZGljaW9uYWwiCgojOiBleHByLmM6NzgxCm1zZ2lkICJleHBvbmVudCBsZXNzIHRoYW4gMCIKbXNnc3RyICIiCgojOiBleHByLmM6ODI2Cm1zZ2lkICJpZGVudGlmaWVyIGV4cGVjdGVkIGFmdGVyIHByZS1pbmNyZW1lbnQgb3IgcHJlLWRlY3JlbWVudCIKbXNnc3RyICIiCgojOiBleHByLmM6ODU0Cm1zZ2lkICJtaXNzaW5nIGApJyIKbXNnc3RyICJmYWx0YSBhbGd1biAnKSciCgojOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CiMsIGZ1enp5Cm1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCm1zZ3N0ciAiZXJyb3IgZGUgc2ludGF4aTogcydoYSBhcnJpYmF0IGluZXNwZXJhZGFtZW50IGEgbGEgZmkgZGVsIGZpdHhlciIKCiM6IGV4cHIuYzoxMTc4Cm1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKbXNnc3RyICIiCgojOiBleHByLmM6MTIwMgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCm1zZ3N0ciAiJXM6ICVzOiAlcyAobGEgcHJvdmEgZCdlcnJvciA/cyBcIiVzXCIpXG4iCgojOiBleHByLmM6MTI2MAptc2dpZCAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCm1zZ3N0ciAiIgoKIzogZXhwci5jOjEyODAKbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKbXNnc3RyICJ2YWxvciBtYXNzYSBncmFuIHBlciBhIGxhIGJhc2UgZGUgbnVtZXJhY2k/IgoKIzogZXhwci5jOjEzMjkKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogZXhwcmVzc2lvbiBlcnJvclxuIgptc2dzdHIgIiVzOiBzJ2VzcGVyYXZhIHVuYSBleHByZXNzaT8gZGUgbm9tYnJlIGVudGVyIgoKIzogZ2VuZXJhbC5jOjYxCiMsIGZ1enp5Cm1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgptc2dzdHIgImdldHdkOiBubyBzJ2hhIHBvZ3V0IGFjY2VkaXIgYWxzIGRpcmVjdG9yaXMgcGFyZXMiCgojOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDg1NwojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgptc2dzdHIgIiIKIm5vIGVzIHBvdCBjb3BpYXIgcGVyIGR1cGxpY2F0IGVsIGRlc2NyaXB0b3IgZGVsIGZpdHhlciBkZiAlZCBjYXAgYSBkZiAwOiAlcyIKCiM6IGlucHV0LmM6MjU4CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY2Fubm90IGFsbG9jYXRlIG5ldyBmaWxlIGRlc2NyaXB0b3IgZm9yIGJhc2ggaW5wdXQgZnJvbSBmZCAlZCIKbXNnc3RyICIiCiJubyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIHVuYSBub3ZhIGRlc2NyaXBjaT8gZGUgZml0eGVyIHBlciBhIGwnZW50cmFkYSBkZSAiCiJiYXNoXG4iCiJhIHBhcnRpciBkZWwgZGVzY3JpcHRvciBkZSBmaXR4ZXIgJWQ6ICVzIgoKIzogaW5wdXQuYzoyNjYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJzYXZlX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyBmb3IgbmV3IGZkICVkIgptc2dzdHIgIiIKImNoZWNrX2Jhc2hfaW5wdXQ6IGphIGhpIGV4aXN0ZWl4IG1lbT9yaWEgaW50ZXJtP2RpYSBwZXIgYSBsYSBub3ZhXG4iCiJkZXNjcmlwY2k/IGRlIGZpdHhlciAlZCIKCiM6IGpvYnMuYzo0NjYKbXNnaWQgInN0YXJ0X3BpcGVsaW5lOiBwZ3JwIHBpcGUiCm1zZ3N0ciAiIgoKIzogam9icy5jOjg4NwojLCBjLWZvcm1hdAptc2dpZCAiZm9ya2VkIHBpZCAlZCBhcHBlYXJzIGluIHJ1bm5pbmcgam9iICVkIgptc2dzdHIgIiIKCiM6IGpvYnMuYzoxMDA1CiMsIGMtZm9ybWF0Cm1zZ2lkICJkZWxldGluZyBzdG9wcGVkIGpvYiAlZCB3aXRoIHByb2Nlc3MgZ3JvdXAgJWxkIgptc2dzdHIgIiIKCiM6IGpvYnMuYzoxMTEwCiMsIGMtZm9ybWF0Cm1zZ2lkICJhZGRfcHJvY2VzczogcHJvY2VzcyAlNWxkICglcykgaW4gdGhlX3BpcGVsaW5lIgptc2dzdHIgIiIKCiM6IGpvYnMuYzoxMTEzCiMsIGMtZm9ybWF0Cm1zZ2lkICJhZGRfcHJvY2VzczogcGlkICU1bGQgKCVzKSBtYXJrZWQgYXMgc3RpbGwgYWxpdmUiCm1zZ3N0ciAiIgoKIzogam9icy5jOjE0MDEKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJkZXNjcmliZV9waWQ6ICVsZDogbm8gc3VjaCBwaWQiCm1zZ3N0ciAiZGVzY3JpYmVfcGlkOiBMJ2lkZW50aWZpY2Fkb3IgZGUgcHJvYz9zIChwaWQpIG5vIGV4aXN0ZWl4ICglZCkhXG4iCgojOiBqb2JzLmM6MTQxNgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIlNpZ25hbCAlZCIKbXNnc3RyICJTZW55YWwgZGVzY29uZWd1ZGEgIyVkIgoKIzogam9icy5jOjE0MzAgam9icy5jOjE0NTUKbXNnaWQgIkRvbmUiCm1zZ3N0ciAiRmV0IgoKIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMwptc2dpZCAiU3RvcHBlZCIKbXNnc3RyICJBdHVyYXQiCgojOiBqb2JzLmM6MTQzOQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIlN0b3BwZWQoJXMpIgptc2dzdHIgIkF0dXJhdCIKCiM6IGpvYnMuYzoxNDQzCm1zZ2lkICJSdW5uaW5nIgptc2dzdHIgIlMnZXN0PyBleGVjdXRhbnQiCgojOiBqb2JzLmM6MTQ1NwojLCBjLWZvcm1hdAptc2dpZCAiRG9uZSglZCkiCm1zZ3N0ciAiRmV0ICglZCkiCgojOiBqb2JzLmM6MTQ1OQojLCBjLWZvcm1hdAptc2dpZCAiRXhpdCAlZCIKbXNnc3RyICJGaSBkJ2V4ZWN1Y2k/IGFtYiBsJ2VzdGF0ICVkIgoKIzogam9icy5jOjE0NjIKbXNnaWQgIlVua25vd24gc3RhdHVzIgptc2dzdHIgIkVzdGF0IGRlc2NvbmVndXQiCgojOiBqb2JzLmM6MTU0OQojLCBjLWZvcm1hdAptc2dpZCAiKGNvcmUgZHVtcGVkKSAiCm1zZ3N0ciAiKGxhIGltYXRnZSBkZWwgbnVjbGkgaGEgZXN0YXQgYm9sY2FkYSkgIgoKIzogam9icy5jOjE1NjgKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIgICh3ZDogJXMpIgptc2dzdHIgIih3ZCBhcmE6ICVzKVxuIgoKIzogam9icy5jOjE3NzYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKbXNnc3RyICJlcnJvciBlbiBsJ2V4ZWN1Y2k/IGRlIHNldHBnaWQgKCVkIGEgJWQpIGVuIGVsIHByb2M/cyBmaWxsICVkOiAlc1xuIgoKIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgptc2dzdHIgIiIKIndhaXQ6IGwnaWRlbnRpZmljYWRvciBkZWwgcHJvYz9zIChwaWQpICVkIG5vID9zIHVuIGZpbGwgZCdhcXVlc3QgaW50P3JwcmV0IgoKIzogam9icy5jOjIzMzEKIywgYy1mb3JtYXQKbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCm1zZ3N0ciAiIgoKIzogam9icy5jOjI2MDcKIywgYy1mb3JtYXQKbXNnaWQgIndhaXRfZm9yX2pvYjogam9iICVkIGlzIHN0b3BwZWQiCm1zZ3N0ciAiIgoKIzogam9icy5jOjI4MjkKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCm1zZ3N0ciAiJXM6IHMnaGEgZmluYWxpdHphdCBsYSB0YXNjYSIKCiM6IGpvYnMuYzoyODM4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKbXNnc3RyICIiCgojOiBqb2JzLmM6MzA1OQptc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgptc2dzdHIgIiIKCiM6IGpvYnMuYzozNTA4CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IGxpbmUgJWQ6ICIKbXNnc3RyICJlbmNhaXggJTNkOiIKCiM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAojLCBjLWZvcm1hdAptc2dpZCAiIChjb3JlIGR1bXBlZCkiCm1zZ3N0ciAiIChib2xjYXQgZGUgbGEgaW1hdGdlIGRlbCBudWNsaSkiCgojOiBqb2JzLmM6MzUzNCBqb2JzLmM6MzU0NwojLCBjLWZvcm1hdAptc2dpZCAiKHdkIG5vdzogJXMpXG4iCm1zZ3N0ciAiKHdkIGFyYTogJXMpXG4iCgojOiBqb2JzLmM6MzU3OQojLCBmdXp6eQptc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCm1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JzOiBnZXRwZ3JwIGhhIGZhbGxhdDogJXMiCgojOiBqb2JzLmM6MzYzOQojLCBmdXp6eQptc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgptc2dzdHIgImluaXRpYWxpemVfam9iczogZGlzY2lwbGluYSBkZSBsP25pYTogJXMiCgojOiBqb2JzLmM6MzY0OQojLCBmdXp6eQptc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKbXNnc3RyICJpbml0aWFsaXplX2pvYnM6IGdldHBncnAgaGEgZmFsbGF0OiAlcyIKCiM6IGpvYnMuYzozNjc3CiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKbXNnc3RyICIiCgojOiBqb2JzLmM6MzY4Mgptc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKbXNnc3RyICJubyBoaSBoYSBjYXAgdGFzY2EgZGUgY29udHJvbCBkaW5zIGQnYXF1ZXN0IGludD9ycHJldCIKCiM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6Mjk2CiMsIGMtZm9ybWF0Cm1zZ2lkICJtYWxsb2M6IGZhaWxlZCBhc3NlcnRpb246ICVzXG4iCm1zZ3N0ciAiIgoKIzogbGliL21hbGxvYy9tYWxsb2MuYzozMTIKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxyXG4iCiJtYWxsb2M6ICVzOiVkOiBhc3NlcnRpb24gYm90Y2hlZFxyXG4iCm1zZ3N0ciAiIgoKIzogbGliL21hbGxvYy9tYWxsb2MuYzozMTMKIywgZnV6enkKbXNnaWQgInVua25vd24iCm1zZ3N0ciAiPGRlc2NvbmVndXQ+IgoKIzogbGliL21hbGxvYy9tYWxsb2MuYzo3OTcKbXNnaWQgIm1hbGxvYzogYmxvY2sgb24gZnJlZSBsaXN0IGNsb2JiZXJlZCIKbXNnc3RyICIiCgojOiBsaWIvbWFsbG9jL21hbGxvYy5jOjg3NAptc2dpZCAiZnJlZTogY2FsbGVkIHdpdGggYWxyZWFkeSBmcmVlZCBibG9jayBhcmd1bWVudCIKbXNnc3RyICIiCgojOiBsaWIvbWFsbG9jL21hbGxvYy5jOjg3Nwptc2dpZCAiZnJlZTogY2FsbGVkIHdpdGggdW5hbGxvY2F0ZWQgYmxvY2sgYXJndW1lbnQiCm1zZ3N0ciAiIgoKIzogbGliL21hbGxvYy9tYWxsb2MuYzo4OTYKbXNnaWQgImZyZWU6IHVuZGVyZmxvdyBkZXRlY3RlZDsgbWhfbmJ5dGVzIG91dCBvZiByYW5nZSIKbXNnc3RyICIiCgojOiBsaWIvbWFsbG9jL21hbGxvYy5jOjkwMgptc2dpZCAiZnJlZTogc3RhcnQgYW5kIGVuZCBjaHVuayBzaXplcyBkaWZmZXIiCm1zZ3N0ciAiIgoKIzogbGliL21hbGxvYy9tYWxsb2MuYzoxMDAxCm1zZ2lkICJyZWFsbG9jOiBjYWxsZWQgd2l0aCB1bmFsbG9jYXRlZCBibG9jayBhcmd1bWVudCIKbXNnc3RyICIiCgojOiBsaWIvbWFsbG9jL21hbGxvYy5jOjEwMTYKbXNnaWQgInJlYWxsb2M6IHVuZGVyZmxvdyBkZXRlY3RlZDsgbWhfbmJ5dGVzIG91dCBvZiByYW5nZSIKbXNnc3RyICIiCgojOiBsaWIvbWFsbG9jL21hbGxvYy5jOjEwMjIKbXNnaWQgInJlYWxsb2M6IHN0YXJ0IGFuZCBlbmQgY2h1bmsgc2l6ZXMgZGlmZmVyIgptc2dzdHIgIiIKCiM6IGxpYi9tYWxsb2MvdGFibGUuYzoxNzcKIywgYy1mb3JtYXQKbXNnaWQgInJlZ2lzdGVyX2FsbG9jOiBhbGxvYyB0YWJsZSBpcyBmdWxsIHdpdGggRklORF9BTExPQz9cbiIKbXNnc3RyICIiCgojOiBsaWIvbWFsbG9jL3RhYmxlLmM6MTg0CiMsIGMtZm9ybWF0Cm1zZ2lkICJyZWdpc3Rlcl9hbGxvYzogJXAgYWxyZWFkeSBpbiB0YWJsZSBhcyBhbGxvY2F0ZWQ/XG4iCm1zZ3N0ciAiIgoKIzogbGliL21hbGxvYy90YWJsZS5jOjIyMAojLCBjLWZvcm1hdAptc2dpZCAicmVnaXN0ZXJfZnJlZTogJXAgYWxyZWFkeSBpbiB0YWJsZSBhcyBmcmVlP1xuIgptc2dzdHIgIiIKCiM6IGxpYi9zaC9mbXR1bG9uZy5jOjEwMQptc2dpZCAiaW52YWxpZCBiYXNlIgptc2dzdHIgIiIKCiM6IGxpYi9zaC9uZXRvcGVuLmM6MTY4CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IGhvc3QgdW5rbm93biIKbXNnc3RyICJkZXNjb25lZ3V0IgoKIzogbGliL3NoL25ldG9wZW4uYzoxNzUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBpbnZhbGlkIHNlcnZpY2UiCm1zZ3N0ciAiIgoKIzogbGliL3NoL25ldG9wZW4uYzozMDYKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBiYWQgbmV0d29yayBwYXRoIHNwZWNpZmljYXRpb24iCm1zZ3N0ciAiIgoKIzogbGliL3NoL25ldG9wZW4uYzozNDYKbXNnaWQgIm5ldHdvcmsgb3BlcmF0aW9ucyBub3Qgc3VwcG9ydGVkIgptc2dzdHIgIiIKCiM6IGxvY2FsZS5jOjE5MgojLCBjLWZvcm1hdAptc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCm1zZ3N0ciAiIgoKIzogbG9jYWxlLmM6MTk0CiMsIGMtZm9ybWF0Cm1zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCm1zZ3N0ciAiIgoKIzogbG9jYWxlLmM6MjQ3CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKbXNnc3RyICJ4cmVhbGxvYzogbm8gZXMgcG9kZW4gcmVhc3NpZ25hciAlbHUgb2N0ZXRzICglbHUgb2N0ZXRzIHJlYXNzaWduYXRzKSIKCiM6IGxvY2FsZS5jOjI0OQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgptc2dzdHIgInhyZWFsbG9jOiBubyBlcyBwb2RlbiByZWFzc2lnbmFyICVsdSBvY3RldHMgKCVsdSBvY3RldHMgcmVhc3NpZ25hdHMpIgoKIzogbWFpbGNoZWNrLmM6NDMzCm1zZ2lkICJZb3UgaGF2ZSBtYWlsIGluICRfIgptc2dzdHIgIlRlbml1IGNvcnJldSBlbiAkXyIKCiM6IG1haWxjaGVjay5jOjQ1OAptc2dpZCAiWW91IGhhdmUgbmV3IG1haWwgaW4gJF8iCm1zZ3N0ciAiVGVuaXUgY29ycmV1IG5vdSBlbiAkXyIKCiM6IG1haWxjaGVjay5jOjQ3NAojLCBjLWZvcm1hdAptc2dpZCAiVGhlIG1haWwgaW4gJXMgaGFzIGJlZW4gcmVhZFxuIgptc2dzdHIgIlMnaGEgbGxlZ2l0IGVsIGNvcnJldSBhICVzXG4iCgojOiBtYWtlX2NtZC5jOjMyMwojLCBmdXp6eQptc2dpZCAic3ludGF4IGVycm9yOiBhcml0aG1ldGljIGV4cHJlc3Npb24gcmVxdWlyZWQiCm1zZ3N0ciAiZXJyb3IgZGUgc2ludGF4aSBhIGwnZXhwcmVzc2k/IgoKIzogbWFrZV9jbWQuYzozMjUKIywgZnV6enkKbXNnaWQgInN5bnRheCBlcnJvcjogYDsnIHVuZXhwZWN0ZWQiCm1zZ3N0ciAiZXJyb3IgZGUgc2ludGF4aTogcydoYSBhcnJpYmF0IGluZXNwZXJhZGFtZW50IGEgbGEgZmkgZGVsIGZpdHhlciIKCiM6IG1ha2VfY21kLmM6MzI2CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAic3ludGF4IGVycm9yOiBgKCglcykpJyIKbXNnc3RyICJlcnJvciBkZSBzaW50YXhpIgoKIzogbWFrZV9jbWQuYzo1NzUKIywgYy1mb3JtYXQKbXNnaWQgIm1ha2VfaGVyZV9kb2N1bWVudDogYmFkIGluc3RydWN0aW9uIHR5cGUgJWQiCm1zZ3N0ciAibWFrZV9oZXJlX2RvY3VtZW50OiBlbCB0aXB1cyBkJ2luc3RydWNjaT8gJWQgP3MgaW5jb3JyZWN0ZSIKCiM6IG1ha2VfY21kLmM6NjU5CiMsIGMtZm9ybWF0Cm1zZ2lkICJoZXJlLWRvY3VtZW50IGF0IGxpbmUgJWQgZGVsaW1pdGVkIGJ5IGVuZC1vZi1maWxlICh3YW50ZWQgYCVzJykiCm1zZ3N0ciAiIgoKIzogbWFrZV9jbWQuYzo3NTYKIywgYy1mb3JtYXQKbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgptc2dzdHIgIiIKCiM6IHBhcnNlLnk6MzEzMyBwYXJzZS55OjMzNjkKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgptc2dzdHIgIiIKInMnaGEgYXJyaWJhdCBpbmVzcGVyYWRhbWVudCBhIGxhIGZpIGRlbCBmaXR4ZXIgKEVPRikgbWVudHJlXG4iCiJlcyBidXNjYXZhIHBlciAnJWMnIgoKIzogcGFyc2UueTozOTUxCiMsIGZ1enp5Cm1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgptc2dzdHIgIiIKInMnaGEgYXJyaWJhdCBpbmVzcGVyYWRhbWVudCBhIGxhIGZpIGRlbCBmaXR4ZXIgKEVPRikgbWVudHJlXG4iCiJlcyBidXNjYXZhIHBlciAnJWMnIgoKIzogcGFyc2UueTozOTU2CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKbXNnc3RyICJoaSBoYSB1biBlcnJvciBpbmVzcGVyYXQgZGUgc2ludGF4aSBwcm9wIGRlbCBzZW55YWwgJyVzJyIKCiM6IHBhcnNlLnk6Mzk2MAojLCBmdXp6eQptc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCm1zZ3N0ciAiZXJyb3IgZGUgc2ludGF4aSBhIGwnZXhwcmVzc2k/IgoKIzogcGFyc2UueTo0MDM4CiMsIGMtZm9ybWF0Cm1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGV4cGVjdGVkIGApJyIKbXNnc3RyICIiCgojOiBwYXJzZS55OjQwNDIKIywgZnV6enkKbXNnaWQgImV4cGVjdGVkIGApJyIKbXNnc3RyICJzJ2VzcGVyYXZhICcpJyIKCiM6IHBhcnNlLnk6NDA3MAojLCBjLWZvcm1hdAptc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgptc2dzdHIgIiIKCiM6IHBhcnNlLnk6NDA3NAptc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKbXNnc3RyICIiCgojOiBwYXJzZS55OjQxMjAKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKbXNnc3RyICIlczogcydlc3BlcmF2YSB1biBvcGVyYWRvciBiaW5hcmkiCgojOiBwYXJzZS55OjQxMjQKIywgZnV6enkKbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKbXNnc3RyICIlczogcydlc3BlcmF2YSB1biBvcGVyYWRvciBiaW5hcmkiCgojOiBwYXJzZS55OjQxNDYKIywgYy1mb3JtYXQKbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCm1zZ3N0ciAiIgoKIzogcGFyc2UueTo0MTUwCm1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKbXNnc3RyICIiCgojOiBwYXJzZS55OjQxNjEKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlYycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKbXNnc3RyICJzJ2VzcGVyYXZhICc6JyBwZXIgYSBsJ2V4cHJlc3NpPyBjb25kaWNpb25hbCIKCiM6IHBhcnNlLnk6NDE2NAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgptc2dzdHIgInMnZXNwZXJhdmEgJzonIHBlciBhIGwnZXhwcmVzc2k/IGNvbmRpY2lvbmFsIgoKIzogcGFyc2UueTo0MTY4CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgptc2dzdHIgInMnZXNwZXJhdmEgJzonIHBlciBhIGwnZXhwcmVzc2k/IGNvbmRpY2lvbmFsIgoKIzogcGFyc2UueTo1NDU5CiMsIGMtZm9ybWF0Cm1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCm1zZ3N0ciAiaGkgaGEgdW4gZXJyb3IgaW5lc3BlcmF0IGRlIHNpbnRheGkgcHJvcCBkZWwgc2VueWFsICclcyciCgojOiBwYXJzZS55OjU0NzcKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgptc2dzdHIgImhpIGhhIHVuIGVycm9yIGluZXNwZXJhdCBkZSBzaW50YXhpIHByb3AgZGVsIHNlbnlhbCAnJXMnIgoKIzogcGFyc2UueTo1NDg3Cm1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCm1zZ3N0ciAiZXJyb3IgZGUgc2ludGF4aTogcydoYSBhcnJpYmF0IGluZXNwZXJhZGFtZW50IGEgbGEgZmkgZGVsIGZpdHhlciIKCiM6IHBhcnNlLnk6NTQ4Nwptc2dpZCAic3ludGF4IGVycm9yIgptc2dzdHIgImVycm9yIGRlIHNpbnRheGkiCgojOiBwYXJzZS55OjU1NDkKIywgYy1mb3JtYXQKbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgptc2dzdHIgIlV0aWxpdHpldSA/JXM/IHBlciBhIGVpeGlyIGRlIGwnaW50P3JwcmV0IGQnb3JkcmVzLlxuIgoKIzogcGFyc2UueTo1NzExCiMsIGZ1enp5Cm1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCm1zZ3N0ciAiIgoicydoYSBhcnJpYmF0IGluZXNwZXJhZGFtZW50IGEgbGEgZmkgZGVsIGZpdHhlciAoRU9GKSBtZW50cmVcbiIKImVzIGJ1c2NhdmEgcGVyICclYyciCgojOiBwY29tcGxldGUuYzoxMDMwCiMsIGMtZm9ybWF0Cm1zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKbXNnc3RyICIiCgojOiBwY29tcGxpYi5jOjE3OQojLCBjLWZvcm1hdAptc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKbXNnc3RyICIiCgojOiBwcmludF9jbWQuYzoyOTAKIywgYy1mb3JtYXQKbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKbXNnc3RyICJwcmludF9jb21tYW5kOiBlbCBjb25uZWN0b3IgJyVkJyA/cyBpbmNvcnJlY3RlIgoKIzogcHJpbnRfY21kLmM6MzYzCiMsIGMtZm9ybWF0Cm1zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCm1zZ3N0ciAiIgoKIzogcHJpbnRfY21kLmM6MzY4Cm1zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKbXNnc3RyICIiCgojOiBwcmludF9jbWQuYzozNzIKIywgYy1mb3JtYXQKbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKbXNnc3RyICIiCgojOiBwcmludF9jbWQuYzoxNDYxCiMsIGMtZm9ybWF0Cm1zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCm1zZ3N0ciAiIgoKIzogcmVkaXIuYzoxMTAKbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCm1zZ3N0ciAiIgoKIzogcmVkaXIuYzoxNjYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0Igptc2dzdHIgIiVzOiBSZWRpcmVjY2k/IGFtYmlndWEiCgojIE5vIGFjYWJlIGQnZW50ZW5kcmUgZWwgc2lnbmlmaWNhdCBkZSBsJ29yaWdpbmFsICJjbG9iYmVyIgojOiByZWRpci5jOjE3MAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCm1zZ3N0ciAiJXM6IE5vIHMnaGEgcG9ndXQgc29icmVlc2NyaXVyZSBlbCBmaXR4ZXIgZXhpc3RlbnQiCgojOiByZWRpci5jOjE3NQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0Igptc2dzdHIgIiVzOiByZXN0cmluZ2l0OiBubyBlcyBwb3QgZXNwZWNpZmljYXIgJy8nIGVuIG5vbXMgZCdvcmRyZXMiCgojOiByZWRpci5jOjE4MAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKbXNnc3RyICJubyBlcyBwb3QgZXN0YWJsaXIgdW4gY29uZHVjdGUgcGVyIGEgbGEgc3Vic3RpdHVjaT8gZGVsIHByb2M/czogJXMiCgojOiByZWRpci5jOjE4NAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgptc2dzdHIgIiVzOiBubyBlcyBwb3QgYXNzaWduYXIgbGEgbGxpc3RhIGEgdW4gZWxlbWVudCBkZSBsYSBtYXRyaXUiCgojOiByZWRpci5jOjU0NAptc2dpZCAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vdCBzdXBwb3J0ZWQgd2l0aG91dCBuZXR3b3JraW5nIgptc2dzdHIgIiIKCiM6IHJlZGlyLmM6MTEwMQojLCBmdXp6eQptc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCm1zZ3N0ciAiZXJyb3IgZGUgcmVkaXJlY2NpPyIKCiM6IHNoZWxsLmM6MzMyCm1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKbXNnc3RyICIiCgojOiBzaGVsbC5jOjMzNgptc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCm1zZ3N0ciAiIgoKIzogc2hlbGwuYzo4ODQKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKbXNnc3RyICIlYyVjOiBvcGNpPyBpbnY/bGlkYSIKCiM6IHNoZWxsLmM6MTY1MQptc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgptc2dzdHIgIk5vIHRpbmMgY2FwIG5vbSBkJ3VzdWFyaSEiCgojOiBzaGVsbC5jOjE3OTMKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCm1zZ3N0ciAiR05VICVzLCB2ZXJzaT8gJXNcbiIKCiM6IHNoZWxsLmM6MTc5NAojLCBjLWZvcm1hdAptc2dpZCAiIgoiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKIlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gc2NyaXB0LWZpbGUgLi4uXG4iCm1zZ3N0ciAiIgoiU2ludGF4aTpcdCVzIFtvcGNpPy1mb3JtYXQtbGxhcmcgR05VXSBbb3BjaT9dIC4uLlxuIgoiXHQlcyBbb3BjaT8tZm9ybWF0LWxsYXJnIEdOVV0gW29wY2k/XSBmaXR4ZXJfZGVfc2VxPz9uY2llcyAuLi5cbiIKCiM6IHNoZWxsLmM6MTc5Ngptc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKbXNnc3RyICJvcGNpb25zIGRlIGZvcm1lcyBsbGFyZ3VlcyBkZSBHTlU6XG4iCgojOiBzaGVsbC5jOjE4MDAKbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCm1zZ3N0ciAiT3BjaW9ucyBkZSBsJ2ludD9ycHJldCBkJ29yZHJlczpcbiIKCiM6IHNoZWxsLmM6MTgwMQojLCBmdXp6eQptc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgptc2dzdHIgIlx0LWlyc0QgbyAtYyBvcmRyZVx0XHQobm9tP3MgcGVyIGEgaW52b2NhcilcbiIKCiM6IHNoZWxsLmM6MTgxNgojLCBjLWZvcm1hdAptc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCm1zZ3N0ciAiXHQtJXMgbyAtbyBvcGNpP1xuIgoKIzogc2hlbGwuYzoxODIyCiMsIGMtZm9ybWF0Cm1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCm1zZ3N0ciAiIgoiUGVyIGEgb2J0aW5kcmUgbT9zIGluZm9ybWFjaT8gc29icmUgbGVzIG9wY2lvbnMgZGUgbCdpbnQ/cnByZXRcbiIKImQnb3JkcmVzLCB0ZWNsZWdldSA/JXMgLWMgXCJoZWxwIHNldFwiPy5cbiIKCiM6IHNoZWxsLmM6MTgyMwojLCBjLWZvcm1hdAptc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKbXNnc3RyICIiCiJQZXIgYSBvYnRpbmRyZSBtP3MgaW5mb3JtYWNpPyBzb2JyZSBsZXMgb3JkcmVzIGludGVncmFkZXMgZGUgbCdpbnQ/cnByZXQsXG4iCiJ0ZWNsZWdldSAnJXMgLWMgaGVscCcgLlxuIgoKIzogc2hlbGwuYzoxODI0CiMsIGMtZm9ybWF0Cm1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgptc2dzdHIgIiIKCiM6IHNpZy5jOjYyNgojLCBjLWZvcm1hdAptc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKbXNnc3RyICIiCgojOiBzaWdsaXN0LmM6NDgKbXNnaWQgIkJvZ3VzIHNpZ25hbCIKbXNnc3RyICJTZW55YWwgZmFsc2EiCgojOiBzaWdsaXN0LmM6NTEKbXNnaWQgIkhhbmd1cCIKbXNnc3RyICJQZW5qYXIiCgojOiBzaWdsaXN0LmM6NTUKbXNnaWQgIkludGVycnVwdCIKbXNnc3RyICJJbnRlcnJ1bXBlaXgiCgojOiBzaWdsaXN0LmM6NTkKbXNnaWQgIlF1aXQiCm1zZ3N0ciAiRWl4aXIiCgojOiBzaWdsaXN0LmM6NjMKbXNnaWQgIklsbGVnYWwgaW5zdHJ1Y3Rpb24iCm1zZ3N0ciAiSW5zdHJ1Y2NpPyBpbJ5sZWdhbCIKCiM6IHNpZ2xpc3QuYzo2Nwptc2dpZCAiQlBUIHRyYWNlL3RyYXAiCm1zZ3N0ciAiQlBUIHJhc3RyZWphbWVudC9jYXB0dXJhIgoKIzogc2lnbGlzdC5jOjc1Cm1zZ2lkICJBQk9SVCBpbnN0cnVjdGlvbiIKbXNnc3RyICJJbnN0cnVjY2k/IGQnYXZvcnRhbWVudCAoQUJPUlQpIgoKIzogc2lnbGlzdC5jOjc5Cm1zZ2lkICJFTVQgaW5zdHJ1Y3Rpb24iCm1zZ3N0ciAiSW5zdHJ1Y2NpPyBwZXIgYSBlbXVsYXIgdW5hIGNhcHR1cmEgRU1UIgoKIzogc2lnbGlzdC5jOjgzCm1zZ2lkICJGbG9hdGluZyBwb2ludCBleGNlcHRpb24iCm1zZ3N0ciAiRXhjZXBjaT8gZW4gb3BlcmFjaT8gYW1iIGNvbWEgZmxvdGFudCIKCiM6IHNpZ2xpc3QuYzo4Nwptc2dpZCAiS2lsbGVkIgptc2dzdHIgIkZpbmFsaXR6YXQiCgojOiBzaWdsaXN0LmM6OTEKbXNnaWQgIkJ1cyBlcnJvciIKbXNnc3RyICJFcnJvciBkZSBidXMiCgojOiBzaWdsaXN0LmM6OTUKbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKbXNnc3RyICJWaW9sYWNpPyBkZSBzZWdtZW50IgoKIzogc2lnbGlzdC5jOjk5Cm1zZ2lkICJCYWQgc3lzdGVtIGNhbGwiCm1zZ3N0ciAiQ3JpZGEgaW52P2xpZGEgZGVsIHNpc3RlbWEiCgojOiBzaWdsaXN0LmM6MTAzCm1zZ2lkICJCcm9rZW4gcGlwZSIKbXNnc3RyICJDb25kdWN0ZSB0cmVuY2F0IgoKIzogc2lnbGlzdC5jOjEwNwptc2dpZCAiQWxhcm0gY2xvY2siCm1zZ3N0ciAiVGVtcG9yaXR6YWRvciIKCiM6IHNpZ2xpc3QuYzoxMTEKIywgZnV6enkKbXNnaWQgIlRlcm1pbmF0ZWQiCm1zZ3N0ciAiIgoib3BjaT8gaW5jb3JyZWN0YSwgbGEgZnVuY2k/IGdldG9wdHMoKSBpbnRyb2R1ZWl4IGVsIHNpZ25lICc/JyBkaW5zIGRlXG4iCiJsYSB2YXJpYWJsZSBOQU1FIGkgZXNib3JyYSBsYSB2YXJpYWJsZSBPUFRBUkcuIFNpIG5vIGVzIHRyb2JhIHVuYSBcbiIKIm9wY2k/IG5lY2Vzcz9yaWEsIHMnaW50cm9kdWVpeCBlbCBzaWduZSAnPycgZW4gbGEgdmFyaWFibGUgTkFNRSwgXG4iCiJzJ2VzYm9ycmEgbGEgdmFyaWFibGUgT1BUQVJHLCBpIHMnaW1wcmltaXI/IHVuIG1pc3NhdGdlIGRlXG4iCiJkaWFnbj9zdGljLiIKCiM6IHNpZ2xpc3QuYzoxMTUKbXNnaWQgIlVyZ2VudCBJTyBjb25kaXRpb24iCm1zZ3N0ciAiQ29uZGljaT8gdXJnZW50IGQnRW50cmFkYS9FaXhpZGEgKEVuL0VpKSIKCiM6IHNpZ2xpc3QuYzoxMTkKbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCm1zZ3N0ciAiQXR1cmF0IChzZW55YWwpIgoKIzogc2lnbGlzdC5jOjEyNwptc2dpZCAiQ29udGludWUiCm1zZ3N0ciAiQ29udGludWEiCgojOiBzaWdsaXN0LmM6MTM1Cm1zZ2lkICJDaGlsZCBkZWF0aCBvciBzdG9wIgptc2dzdHIgIlMnaGEgbW9ydCBvIHMnaGEgYXR1cmF0IGVsIHByb2M/cyBmaWxsIgoKIzogc2lnbGlzdC5jOjEzOQptc2dpZCAiU3RvcHBlZCAodHR5IGlucHV0KSIKbXNnc3RyICJBdHVyYXQgKGVudHJhZGEgcGVyIHRlcm1pbmFsKSIKCiM6IHNpZ2xpc3QuYzoxNDMKbXNnaWQgIlN0b3BwZWQgKHR0eSBvdXRwdXQpIgptc2dzdHIgIkF0dXJhdCAoZWl4aWRhIHBlciB0ZXJtaW5hbCkiCgojOiBzaWdsaXN0LmM6MTQ3Cm1zZ2lkICJJL08gcmVhZHkiCm1zZ3N0ciAiRW50cmFkYS9FaXhpZGEgcHJlcGFyYWRlcyIKCiM6IHNpZ2xpc3QuYzoxNTEKbXNnaWQgIkNQVSBsaW1pdCIKbXNnc3RyICJMP21pdCBkZSBsYSBVQ1AiCgojOiBzaWdsaXN0LmM6MTU1Cm1zZ2lkICJGaWxlIGxpbWl0Igptc2dzdHIgIkw/bWl0IGRlIGxhIGdyYW5kP3JpYSBkZWwgZml0eGVyIgoKIzogc2lnbGlzdC5jOjE1OQptc2dpZCAiQWxhcm0gKHZpcnR1YWwpIgptc2dzdHIgIkFsYXJtYSAodmlydHVhbCkiCgojOiBzaWdsaXN0LmM6MTYzCm1zZ2lkICJBbGFybSAocHJvZmlsZSkiCm1zZ3N0ciAiQWxhcm1hIChlbnRvcm4pIgoKIzogc2lnbGlzdC5jOjE2Nwptc2dpZCAiV2luZG93IGNoYW5nZWQiCm1zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGZpbmVzdHJhIgoKIzogc2lnbGlzdC5jOjE3MQptc2dpZCAiUmVjb3JkIGxvY2siCm1zZ3N0ciAiQmxvcXVlaWcgZGUgZ3JhdmFjaT8iCgojOiBzaWdsaXN0LmM6MTc1Cm1zZ2lkICJVc2VyIHNpZ25hbCAxIgptc2dzdHIgIlNlbnlhbCAxIGRlZmluaWRhIHBlciBsJ3VzdWFyaSIKCiM6IHNpZ2xpc3QuYzoxNzkKbXNnaWQgIlVzZXIgc2lnbmFsIDIiCm1zZ3N0ciAiU2VueWFsIDIgZGVmaW5pZGEgcGVyIGwndXN1YXJpIgoKIzogc2lnbGlzdC5jOjE4Mwptc2dpZCAiSEZUIGlucHV0IGRhdGEgcGVuZGluZyIKbXNnc3RyICJwZW5kZW50IGRlIGwnZW50cmFkYSBkZSBkYWRlcyBIRlQiCgojOiBzaWdsaXN0LmM6MTg3Cm1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50Igptc2dzdHIgImZhbGxpZGEgaW1taW5lbnQgZCdlbmVyZ2lhIgoKIzogc2lnbGlzdC5jOjE5MQptc2dpZCAic3lzdGVtIGNyYXNoIGltbWluZW50Igptc2dzdHIgImZhbGxpZGEgaW1taW5lbnQgZGVsIHNpc3RlbWEiCgojOiBzaWdsaXN0LmM6MTk1Cm1zZ2lkICJtaWdyYXRlIHByb2Nlc3MgdG8gYW5vdGhlciBDUFUiCm1zZ3N0ciAicHJvYz9zIGRlIG1pZ3JhY2k/IGNhcCBhIHVuIGFsdHJlIFVQQyBlbiBjdXJzIgoKIzogc2lnbGlzdC5jOjE5OQptc2dpZCAicHJvZ3JhbW1pbmcgZXJyb3IiCm1zZ3N0ciAiZXJyb3IgZGUgcHJvZ3JhbWFjaT8iCgojOiBzaWdsaXN0LmM6MjAzCm1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIGdyYW50ZWQiCm1zZ3N0ciAiUydoYSBjb25jZWRpdCBlbCBtb2RlIGRlIG1vbml0b3IgSEZUIgoKIzogc2lnbGlzdC5jOjIwNwptc2dpZCAiSEZUIG1vbml0b3IgbW9kZSByZXRyYWN0ZWQiCm1zZ3N0ciAiUydoYSByZWJ1dGphdCBlbCBtb2RlIGRlIG1vbml0b3IgSEZUIgoKIzogc2lnbGlzdC5jOjIxMQptc2dpZCAiSEZUIHNvdW5kIHNlcXVlbmNlIGhhcyBjb21wbGV0ZWQiCm1zZ3N0ciAiUydoYSBjb21wbGV0YXQgbGEgc2VxPz9uY2lhIGRlIHNvIEhGVCIKCiM6IHNpZ2xpc3QuYzoyMTUKbXNnaWQgIkluZm9ybWF0aW9uIHJlcXVlc3QiCm1zZ3N0ciAiIgoKIzogc2lnbGlzdC5jOjIyMwptc2dpZCAiVW5rbm93biBTaWduYWwgIyIKbXNnc3RyICJTZW55YWwgZGVzY29uZWd1ZGEgIyIKCiM6IHNpZ2xpc3QuYzoyMjUKIywgYy1mb3JtYXQKbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKbXNnc3RyICJTZW55YWwgZGVzY29uZWd1ZGEgIyVkIgoKIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTQ1NAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKbXNnc3RyICJzdWJzdGl0dWNpPyBpbnY/bGlkYTogbm8gZXhpc3RlaXggJyVzJyBlbiAlcyIKCiM6IHN1YnN0LmM6MjczNQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCm1zZ3N0ciAiJXM6IG5vIGVzIHBvdCBhc3NpZ25hciBsYSBsbGlzdGEgYSB1biBlbGVtZW50IGRlIGxhIG1hdHJpdSIKCiM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKIywgZnV6enkKbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgptc2dzdHIgIm5vIGVzIHBvdCBlc3RhYmxpciB1biBjb25kdWN0ZSBwZXIgYSBsYSBzdWJzdGl0dWNpPyBkZWwgcHJvYz9zOiAlcyIKCiM6IHN1YnN0LmM6NDgwMgojLCBmdXp6eQptc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgptc2dzdHIgIm5vIGVzIHBvdCBlc3RhYmxpciB1biBwcm9jP3MgZmlsbCBwZXIgYSBsYSBzdWJzdGl0dWNpPyBkZWwgcHJvYz9zOiAlcyIKCiM6IHN1YnN0LmM6NDg0NwojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmciCm1zZ3N0ciAibm8gZXMgcG90IG9icmlyIGVsIGNvbmR1Y3RlIGFub21lbmF0ICVzIHBlciBhICVzOiAlcyIKCiM6IHN1YnN0LmM6NDg0OQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCm1zZ3N0ciAibm8gZXMgcG90IG9icmlyIGVsIGNvbmR1Y3RlIGFub21lbmF0ICVzIHBlciBhICVzOiAlcyIKCiM6IHN1YnN0LmM6NDg2NwojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKbXNnc3RyICIiCiJubyBlcyBwb3QgZHVwbGljYXIgZWwgY29uZHVjdGUgYW5vbWVuYXQgJXNcbiIKImNvbSBhIGRlc2NyaXBjaT8gZGUgZml0eGVyICVkOiAlcyIKCiM6IHN1YnN0LmM6NTA2MwojLCBmdXp6eQptc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCm1zZ3N0ciAibm8gZXMgcG9kZW4gZXN0YWJsaXIgY29uZHVjdGVzIHBlciBhIGxhIHN1YnN0aXR1Y2k/IGRlIGwnb3JkcmU6ICVzIgoKIzogc3Vic3QuYzo1MDk3CiMsIGZ1enp5Cm1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCm1zZ3N0ciAibm8gZXMgcG90IGNyZWFyIHVuIHByb2M/cyBmaWxsIHBlciBhIGxhIHN1YnN0aXR1Y2k/IGRlbCBwcm9jP3M6ICVzIgoKIzogc3Vic3QuYzo1MTE0CiMsIGZ1enp5Cm1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgptc2dzdHIgIiIKImNvbW1hbmRfc3Vic3RpdHV0ZSgpOiBlbCBjb2R1Y3RlIG5vIGVzIHBvdCBkdXBsaWNhclxuIgoiY29tIGEgZGVzY3JpcGNpPyBkZSBmaXR4ZXIgMTogJXMiCgojOiBzdWJzdC5jOjU2MTcKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0Igptc2dzdHIgIiVzOiBwYXI/bWV0cmUgbnVsIG8gbm8gYWp1c3RhdCIKCiM6IHN1YnN0LmM6NTkwNwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKbXNnc3RyICIlczogbGEgc3ViLWNhZGVuYSBkZSBsJ2V4cHJlc3NpPyA/cyA8IDAiCgojOiBzdWJzdC5jOjY5NjUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgptc2dzdHIgIiVzOiBzdWJzdGl0dWNpPyBpbnY/bGlkYSIKCiM6IHN1YnN0LmM6NzA0NQojLCBjLWZvcm1hdAptc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5Igptc2dzdHIgIiQlczogbm8gZXMgcG90IGFzc2lnbmFyIGQnYXF1ZXN0YSBtYW5lcmEiCgojOiBzdWJzdC5jOjczNzQKbXNnaWQgIiIKImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgoic3Vic3RpdHV0aW9uIgptc2dzdHIgIiIKCiM6IHN1YnN0LmM6NzgzOQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCm1zZ3N0ciAic3Vic3RpdHVjaT8gaW52P2xpZGE6IG5vIGV4aXN0ZWl4ICclcycgZW4gJXMiCgojOiBzdWJzdC5jOjg3MjAKIywgYy1mb3JtYXQKbXNnaWQgIm5vIG1hdGNoOiAlcyIKbXNnc3RyICIiCgojOiB0ZXN0LmM6MTQ2Cm1zZ2lkICJhcmd1bWVudCBleHBlY3RlZCIKbXNnc3RyICJzJ2VzcGVyYXZhIHVuIHBhcj9tZXRyZSIKCiM6IHRlc3QuYzoxNTUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBpbnRlZ2VyIGV4cHJlc3Npb24gZXhwZWN0ZWQiCm1zZ3N0ciAiJXM6IHMnZXNwZXJhdmEgdW5hIGV4cHJlc3NpPyBkZSBub21icmUgZW50ZXIiCgojOiB0ZXN0LmM6MjYzCm1zZ2lkICJgKScgZXhwZWN0ZWQiCm1zZ3N0ciAicydlc3BlcmF2YSAnKSciCgojOiB0ZXN0LmM6MjY1CiMsIGMtZm9ybWF0Cm1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgptc2dzdHIgIm1lbnRyZSBlcyBidXNjYXZhID8pPywgcydoYSB0cm9iYXQgJXMiCgojOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgptc2dzdHIgIiVzOiBzJ2VzcGVyYXZhIHVuIG9wZXJhZG9yIHVuYXJpIgoKIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgptc2dzdHIgIiVzOiBzJ2VzcGVyYXZhIHVuIG9wZXJhZG9yIGJpbmFyaSIKCiM6IHRlc3QuYzo4MTEKbXNnaWQgIm1pc3NpbmcgYF0nIgptc2dzdHIgInMnaGEgcGVyZHV0IGFsZ3VuICddJyIKCiM6IHRyYXAuYzoyMDMKIywgZnV6enkKbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKbXNnc3RyICJuP21lcm8gaW52P2xpZCBkZSBzZW55YWwiCgojOiB0cmFwLmM6MzI3CiMsIGMtZm9ybWF0Cm1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgptc2dzdHIgIiIKCiM6IHRyYXAuYzozMzEKIywgYy1mb3JtYXQKbXNnaWQgIiIKInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCm1zZ3N0ciAiIgoKIzogdHJhcC5jOjM4MAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKbXNnc3RyICJ0cmFwX2hhbmRsZXI6IFNlbnlhbCBpbnY/bGlkYSAlZCIKCiM6IHZhcmlhYmxlcy5jOjM2MwojLCBjLWZvcm1hdAptc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCm1zZ3N0ciAiJyVzJzogZXJyb3IgZW4gaW1wb3J0YXIgbGEgZGVmaW5pY2k/IGRlIGxhIGZ1bmNpPyIKCiM6IHZhcmlhYmxlcy5jOjc0OAojLCBjLWZvcm1hdAptc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCm1zZ3N0ciAiIgoKIzogdmFyaWFibGVzLmM6MTkxNQptc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgptc2dzdHIgIiIKCiM6IHZhcmlhYmxlcy5jOjMxNTkKbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKbXNnc3RyICIiCgojOiB2YXJpYWJsZXMuYzozMzc2CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgptc2dzdHIgIiVzOiBwYXI/bWV0cmUgbnVsIG8gbm8gYWp1c3RhdCIKCiM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAojLCBjLWZvcm1hdAptc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKbXNnc3RyICIiCgojOiB2YXJpYWJsZXMuYzozMzk2CiMsIGMtZm9ybWF0Cm1zZ2lkICJubyBgPScgaW4gZXhwb3J0c3RyIGZvciAlcyIKbXNnc3RyICIiCgojOiB2YXJpYWJsZXMuYzozODM1Cm1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCm1zZ3N0ciAiIgoKIzogdmFyaWFibGVzLmM6Mzg0OAptc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCm1zZ3N0ciAiIgoKIzogdmFyaWFibGVzLmM6MzkyMgptc2dpZCAicG9wX3Njb3BlOiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgc2NvcGUiCm1zZ3N0ciAiIgoKIzogdmFyaWFibGVzLmM6NDY3OAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKbXNnc3RyICIlczogbm8gZXMgcG90IGNyZWFyOiAlcyIKCiM6IHZhcmlhYmxlcy5jOjQ2ODMKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgptc2dzdHIgIiIKCiM6IHZlcnNpb24uYzo0Ngptc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKbXNnc3RyICIiCgojOiB2ZXJzaW9uLmM6NDcKbXNnaWQgIiIKIkxpY2Vuc2UgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKImh0bWw+XG4iCm1zZ3N0ciAiIgoKIzogdmVyc2lvbi5jOjg2IHZlcnNpb24yLmM6ODMKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcyAoJXMpXG4iCm1zZ3N0ciAiR05VICVzLCB2ZXJzaT8gJXNcbiIKCiM6IHZlcnNpb24uYzo5MSB2ZXJzaW9uMi5jOjg4CiMsIGMtZm9ybWF0Cm1zZ2lkICJUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5cbiIKbXNnc3RyICIiCgojOiB2ZXJzaW9uLmM6OTIgdmVyc2lvbjIuYzo4OQojLCBjLWZvcm1hdAptc2dpZCAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKbXNnc3RyICIiCgojOiB2ZXJzaW9uMi5jOjg2CiMsIGMtZm9ybWF0Cm1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCm1zZ3N0ciAiIgoKIzogdmVyc2lvbjIuYzo4NwojLCBjLWZvcm1hdAptc2dpZCAiIgoiTGljZW5zZSBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgoiaHRtbD5cbiIKbXNnc3RyICIiCgojOiB4bWFsbG9jLmM6OTEKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCm1zZ3N0ciAieG1hbGxvYzogbm8gZXMgcG9kZW4gYXNzaWduYXIgJWx1IG9jdGV0cyAoJWx1IG9jdGV0cyBhc3NpZ25hdHMpIgoKIzogeG1hbGxvYy5jOjkzCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCm1zZ3N0ciAieG1hbGxvYzogbm8gZXMgcG9kZW4gYXNzaWduYXIgJWx1IG9jdGV0cyAoJWx1IG9jdGV0cyBhc3NpZ25hdHMpIgoKIzogeG1hbGxvYy5jOjE2MwojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCm1zZ3N0ciAieG1hbGxvYzogbm8gZXMgcG9kZW4gYXNzaWduYXIgJWx1IG9jdGV0cyAoJWx1IG9jdGV0cyBhc3NpZ25hdHMpIgoKIzogeG1hbGxvYy5jOjE2NQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKbXNnc3RyICJ4bWFsbG9jOiBubyBlcyBwb2RlbiBhc3NpZ25hciAlbHUgb2N0ZXRzICglbHUgb2N0ZXRzIGFzc2lnbmF0cykiCgojOiBidWlsdGlucy5jOjQzCm1zZ2lkICJhbGlhcyBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uIF0iCm1zZ3N0ciAiYWxpYXMgWy1wXSBbbm9tWz12YWxvcl0gLi4uIF0iCgojOiBidWlsdGlucy5jOjQ3CiMsIGZ1enp5Cm1zZ2lkICJ1bmFsaWFzIFstYV0gbmFtZSBbbmFtZSAuLi5dIgptc2dzdHIgInVuYWxpYXMgWy1hXSBbbm9tIC4uLl0iCgojOiBidWlsdGlucy5jOjUxCiMsIGZ1enp5Cm1zZ2lkICIiCiJiaW5kIFstbHB2c1BWU10gWy1tIGtleW1hcF0gWy1mIGZpbGVuYW1lXSBbLXEgbmFtZV0gWy11IG5hbWVdIFstciBrZXlzZXFdIFstIgoieCBrZXlzZXE6c2hlbGwtY29tbWFuZF0gW2tleXNlcTpyZWFkbGluZS1mdW5jdGlvbiBvciByZWFkbGluZS1jb21tYW5kXSIKbXNnc3RyICIiCiJiaW5kIFstbHB2c1BWU10gWy1tIGtleW1hcF0gWy1mIGZpdHhlcl0gWy1xIG5vbV0gWy1yIGtleXNlcV0gW2tleXNlcTpmdW5jaT8tIgoicmVhZGxpbmVdICIKCiM6IGJ1aWx0aW5zLmM6NTQKbXNnaWQgImJyZWFrIFtuXSIKbXNnc3RyICJicmVhayBbbl0iCgojOiBidWlsdGlucy5jOjU2Cm1zZ2lkICJjb250aW51ZSBbbl0iCm1zZ3N0ciAiY29udGludWUgW25dIgoKIzogYnVpbHRpbnMuYzo1OAptc2dpZCAiYnVpbHRpbiBbc2hlbGwtYnVpbHRpbiBbYXJnIC4uLl1dIgptc2dzdHIgImJ1aWx0aW4gW29yZHJlLWludGVybmEgW2FyZyAuLi5dXSIKCiM6IGJ1aWx0aW5zLmM6NjEKIywgZnV6enkKbXNnaWQgImNhbGxlciBbZXhwcl0iCm1zZ3N0ciAidGVzdCBbZXhwcmVzc2k/XSIKCiM6IGJ1aWx0aW5zLmM6NjQKIywgZnV6enkKbXNnaWQgImNkIFstTHwtUF0gW2Rpcl0iCm1zZ3N0ciAiY2QgWy1QTF0gW2RpcmVjdG9yaV0iCgojOiBidWlsdGlucy5jOjY2CiMsIGZ1enp5Cm1zZ2lkICJwd2QgWy1MUF0iCm1zZ3N0ciAicHdkIFstUExdIgoKIzogYnVpbHRpbnMuYzo2OAptc2dpZCAiOiIKbXNnc3RyICI6IgoKIzogYnVpbHRpbnMuYzo3MAptc2dpZCAidHJ1ZSIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjcyCm1zZ2lkICJmYWxzZSIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjc0Cm1zZ2lkICJjb21tYW5kIFstcFZ2XSBjb21tYW5kIFthcmcgLi4uXSIKbXNnc3RyICJjb21tYW5kIFstcFZ2XSBvcmRyZSBbcGFyP21ldHJlIC4uLl0iCgojOiBidWlsdGlucy5jOjc2CiMsIGZ1enp5Cm1zZ2lkICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCm1zZ3N0ciAiZGVjbGFyZSBbLWFmRnJ4aV0gWy1wXSBub21bPXZhbG9yXSAuLi4iCgojOiBidWlsdGlucy5jOjc4CiMsIGZ1enp5Cm1zZ2lkICJ0eXBlc2V0IFstYUFmRmlscnR1eF0gWy1wXSBuYW1lWz12YWx1ZV0gLi4uIgptc2dzdHIgInR5cGVzZXQgWy1hZkZyeGldIFstcF0gbm9tWz12YWxvcl0gLi4uIgoKIzogYnVpbHRpbnMuYzo4MAojLCBmdXp6eQptc2dpZCAibG9jYWwgW29wdGlvbl0gbmFtZVs9dmFsdWVdIC4uLiIKbXNnc3RyICJsb2NhbCBub21bPXZhbG9yXSAuLi4iCgojOiBidWlsdGlucy5jOjgzCm1zZ2lkICJlY2hvIFstbmVFXSBbYXJnIC4uLl0iCm1zZ3N0ciAiZWNobyBbLW5lRV0gW3Bhcj9tZXRyZSAuLi5dIgoKIzogYnVpbHRpbnMuYzo4Nwptc2dpZCAiZWNobyBbLW5dIFthcmcgLi4uXSIKbXNnc3RyICJlY2hvIFstbl0gW3Bhcj9tZXRyZSAuLi5dIgoKIzogYnVpbHRpbnMuYzo5MAojLCBmdXp6eQptc2dpZCAiZW5hYmxlIFstYV0gWy1kbnBzXSBbLWYgZmlsZW5hbWVdIFtuYW1lIC4uLl0iCm1zZ3N0ciAiZW5hYmxlIFstcG5kc10gWy1hXSBbLWYgZml0eGVyXSBbbm9tIC4uLl0iCgojOiBidWlsdGlucy5jOjkyCm1zZ2lkICJldmFsIFthcmcgLi4uXSIKbXNnc3RyICJldmFsIFtwYXI/bWV0cmUgLi4uXSIKCiM6IGJ1aWx0aW5zLmM6OTQKbXNnaWQgImdldG9wdHMgb3B0c3RyaW5nIG5hbWUgW2FyZ10iCm1zZ3N0ciAiZ2V0b3B0cyBjYWRlbmFfb3BjaW9ucyBub20gW3Bhcj9tZXRyZV0iCgojOiBidWlsdGlucy5jOjk2CiMsIGZ1enp5Cm1zZ2lkICJleGVjIFstY2xdIFstYSBuYW1lXSBbY29tbWFuZCBbYXJndW1lbnRzIC4uLl1dIFtyZWRpcmVjdGlvbiAuLi5dIgptc2dzdHIgImV4ZWMgWy1jbF0gWy1hIG5vbV0gZml0eGVyIFtyZWRpcmVjY2lvbmFtZW50IC4uLl0iCgojOiBidWlsdGlucy5jOjk4Cm1zZ2lkICJleGl0IFtuXSIKbXNnc3RyICJleGl0IFtuXSIKCiM6IGJ1aWx0aW5zLmM6MTAwCiMsIGZ1enp5Cm1zZ2lkICJsb2dvdXQgW25dIgptc2dzdHIgImZpIGRlIHNlc3NpPyIKCiM6IGJ1aWx0aW5zLmM6MTAzCiMsIGZ1enp5Cm1zZ2lkICJmYyBbLWUgZW5hbWVdIFstbG5yXSBbZmlyc3RdIFtsYXN0XSBvciBmYyAtcyBbcGF0PXJlcF0gW2NvbW1hbmRdIgptc2dzdHIgIiIKImZjIFstZSBub21fZV0gWy1ubHJdIFtwcmltZXJdIFtkYXJyZXJdXG4iCiJvXG4iCiJmYyAtcyBbcGF0cj89cmVwXSBbb3JkcmVdIgoKIzogYnVpbHRpbnMuYzoxMDcKbXNnaWQgImZnIFtqb2Jfc3BlY10iCm1zZ3N0ciAiZmcgW2lkX3Rhc2NhXSIKCiM6IGJ1aWx0aW5zLmM6MTExCiMsIGZ1enp5Cm1zZ2lkICJiZyBbam9iX3NwZWMgLi4uXSIKbXNnc3RyICJiZyBbaWRfdGFzY2FdIgoKIzogYnVpbHRpbnMuYzoxMTQKIywgZnV6enkKbXNnaWQgImhhc2ggWy1scl0gWy1wIHBhdGhuYW1lXSBbLWR0XSBbbmFtZSAuLi5dIgptc2dzdHIgImhhc2ggWy1yXSBbLXAgY2FtP10gW25vbSAuLi5dIgoKIzogYnVpbHRpbnMuYzoxMTcKIywgZnV6enkKbXNnaWQgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCm1zZ3N0ciAiaGVscCBbcGF0cj8gLi4uXSIKCiM6IGJ1aWx0aW5zLmM6MTIxCiMsIGZ1enp5Cm1zZ2lkICIiCiJoaXN0b3J5IFstY10gWy1kIG9mZnNldF0gW25dIG9yIGhpc3RvcnkgLWFucncgW2ZpbGVuYW1lXSBvciBoaXN0b3J5IC1wcyBhcmcgIgoiW2FyZy4uLl0iCm1zZ3N0ciAiIgoiaGlzdG9yeSBbLWNdIFtuXVxuIgoib1xuIgoiaGlzdG9yeSAtYXdybiBbZml0eGVyXVxuIgoib1xuIgoiaGlzdG9yeSAtcHMgcGFyP21ldHJlIFtwYXI/bWV0cmUuLi5dIgoKIzogYnVpbHRpbnMuYzoxMjUKbXNnaWQgImpvYnMgWy1sbnByc10gW2pvYnNwZWMgLi4uXSBvciBqb2JzIC14IGNvbW1hbmQgW2FyZ3NdIgptc2dzdHIgIiIKImpvYnMgWy1sbnByc10gW2lkX3Rhc2NhIC4uLl1cbiIKIm9cbiIKImpvYnMgLXggb3JkcmUgW3Bhcj9tZXRyZXNdIgoKIzogYnVpbHRpbnMuYzoxMjkKIywgZnV6enkKbXNnaWQgImRpc293biBbLWhdIFstYXJdIFtqb2JzcGVjIC4uLl0iCm1zZ3N0ciAiZGlzb3duIFtpZF90YXNjYSAuLi5dIgoKIzogYnVpbHRpbnMuYzoxMzIKIywgZnV6enkKbXNnaWQgIiIKImtpbGwgWy1zIHNpZ3NwZWMgfCAtbiBzaWdudW0gfCAtc2lnc3BlY10gcGlkIHwgam9ic3BlYyAuLi4gb3Iga2lsbCAtbCAiCiJbc2lnc3BlY10iCm1zZ3N0ciAiIgoia2lsbCBbLXMgaWRfc2VueWFsIHwgLW4gbj9tX3NlbnlhbCB8IC1pZF9zZW55YWxdIFtpZF9wcm9jP3MgfCB0YXNjYV0uLi5cbiIKIm9cbiIKImtpbGwgLWwgW2lkX3NlbnlhbF0iCgojOiBidWlsdGlucy5jOjEzNAptc2dpZCAibGV0IGFyZyBbYXJnIC4uLl0iCm1zZ3N0ciAibGV0IHBhcj9tZXRyZXMgW3Bhcj9tZXRyZXMgLi4uXSIKCiM6IGJ1aWx0aW5zLmM6MTM2Cm1zZ2lkICIiCiJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstTiBuY2hhcnNdIFstcCAiCiJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzoxMzgKbXNnaWQgInJldHVybiBbbl0iCm1zZ3N0ciAicmV0dXJuIFtuXSIKCiM6IGJ1aWx0aW5zLmM6MTQwCiMsIGZ1enp5Cm1zZ2lkICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gW2FyZyAuLi5dIgptc2dzdHIgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wY2k/XSBbcGFyP21ldHJlcyAuLi5dIgoKIzogYnVpbHRpbnMuYzoxNDIKbXNnaWQgInVuc2V0IFstZl0gWy12XSBbbmFtZSAuLi5dIgptc2dzdHIgInVuc2V0IFstZl0gWy12XSBbbm9tIC4uLl0iCgojOiBidWlsdGlucy5jOjE0NAojLCBmdXp6eQptc2dpZCAiZXhwb3J0IFstZm5dIFtuYW1lWz12YWx1ZV0gLi4uXSBvciBleHBvcnQgLXAiCm1zZ3N0ciAiIgoiZXhwb3J0IFstbmZdIFtub20gLi4uXVxuIgoib1xuIgoiZXhwb3J0IC1wIgoKIzogYnVpbHRpbnMuYzoxNDYKIywgZnV6enkKbXNnaWQgInJlYWRvbmx5IFstYWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKbXNnc3RyICIiCiJyZWFkb25seSBbLWFuZl0gW25vbSAuLi5dXG4iCiJvXG4iCiJyZWFkb25seSAtcCIKCiM6IGJ1aWx0aW5zLmM6MTQ4CiMsIGZ1enp5Cm1zZ2lkICJzaGlmdCBbbl0iCm1zZ3N0ciAiZXhpdCBbbl0iCgojOiBidWlsdGlucy5jOjE1MAojLCBmdXp6eQptc2dpZCAic291cmNlIGZpbGVuYW1lIFthcmd1bWVudHNdIgptc2dzdHIgIm5vbSBkZWwgZml0eGVyIGQnb3JpZ2VuIgoKIzogYnVpbHRpbnMuYzoxNTIKIywgZnV6enkKbXNnaWQgIi4gZmlsZW5hbWUgW2FyZ3VtZW50c10iCm1zZ3N0ciAiLiBub20gZGVsIGZpdHhlciIKCiM6IGJ1aWx0aW5zLmM6MTU1Cm1zZ2lkICJzdXNwZW5kIFstZl0iCm1zZ3N0ciAic3VzcGVuZCBbLWZdIgoKIzogYnVpbHRpbnMuYzoxNTgKbXNnaWQgInRlc3QgW2V4cHJdIgptc2dzdHIgInRlc3QgW2V4cHJlc3NpP10iCgojOiBidWlsdGlucy5jOjE2MAptc2dpZCAiWyBhcmcuLi4gXSIKbXNnc3RyICJbIHBhcj9tZXRyZXMuLi4gXSIKCiM6IGJ1aWx0aW5zLmM6MTYyCm1zZ2lkICJ0aW1lcyIKbXNnc3RyICJ0aW1lcyIKCiM6IGJ1aWx0aW5zLmM6MTY0CiMsIGZ1enp5Cm1zZ2lkICJ0cmFwIFstbHBdIFtbYXJnXSBzaWduYWxfc3BlYyAuLi5dIgptc2dzdHIgIiIKInRyYXAgW3Bhcj9tZXRyZXNdIFtpZF9zZW55YWxdLCBvIFxuIgoidHJhcCAtbCIKCiM6IGJ1aWx0aW5zLmM6MTY2CiMsIGZ1enp5Cm1zZ2lkICJ0eXBlIFstYWZwdFBdIG5hbWUgW25hbWUgLi4uXSIKbXNnc3RyICJ0eXBlIFstYXB0XSBub20gW25vbSAuLi5dIgoKIzogYnVpbHRpbnMuYzoxNjkKIywgZnV6enkKbXNnaWQgInVsaW1pdCBbLVNIYWNkZWZpbG1ucHFyc3R1dnhdIFtsaW1pdF0iCm1zZ3N0ciAidWxpbWl0IFstU0hhY2RmbXN0cG51dl0gW2w/bWl0XSIKCiM6IGJ1aWx0aW5zLmM6MTcyCiMsIGZ1enp5Cm1zZ2lkICJ1bWFzayBbLXBdIFstU10gW21vZGVdIgptc2dzdHIgInVtYXNrIFstU10gW21vZGVdIgoKIzogYnVpbHRpbnMuYzoxNzUKIywgZnV6enkKbXNnaWQgIndhaXQgW2lkXSIKbXNnc3RyICJ3YWl0IFtuXSIKCiM6IGJ1aWx0aW5zLmM6MTc5CiMsIGZ1enp5Cm1zZ2lkICJ3YWl0IFtwaWRdIgptc2dzdHIgIndhaXQgW25dIgoKIzogYnVpbHRpbnMuYzoxODIKIywgZnV6enkKbXNnaWQgImZvciBOQU1FIFtpbiBXT1JEUyAuLi4gXSA7IGRvIENPTU1BTkRTOyBkb25lIgptc2dzdHIgImZvciBOT00gW2luIFBBUkFVTEVTIC4uLiA7XSBkbyBPUkRSRVM7IGRvbmUiCgojOiBidWlsdGlucy5jOjE4NAojLCBmdXp6eQptc2dpZCAiZm9yICgoIGV4cDE7IGV4cDI7IGV4cDMgKSk7IGRvIENPTU1BTkRTOyBkb25lIgptc2dzdHIgImZvciBOT00gW2luIFBBUkFVTEVTIC4uLiA7XSBkbyBPUkRSRVM7IGRvbmUiCgojOiBidWlsdGlucy5jOjE4Ngptc2dpZCAic2VsZWN0IE5BTUUgW2luIFdPUkRTIC4uLiA7XSBkbyBDT01NQU5EUzsgZG9uZSIKbXNnc3RyICJzZWxlY3QgTk9NIFtpbiBQQVJBVUxFUyAuLi4gO10gZG8gT1JEUkVTOyBkb25lIgoKIzogYnVpbHRpbnMuYzoxODgKbXNnaWQgInRpbWUgWy1wXSBwaXBlbGluZSIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjE5MAptc2dpZCAiY2FzZSBXT1JEIGluIFtQQVRURVJOIFt8IFBBVFRFUk5dLi4uKSBDT01NQU5EUyA7O10uLi4gZXNhYyIKbXNnc3RyICJjYXNlIFBBUkFVTEVTIGluIFtQQVRSPyBbfCBQQVRSP10uLi4pIE9SRFJFUyA7O10uLi4gZXNhYyIKCiM6IGJ1aWx0aW5zLmM6MTkyCm1zZ2lkICIiCiJpZiBDT01NQU5EUzsgdGhlbiBDT01NQU5EUzsgWyBlbGlmIENPTU1BTkRTOyB0aGVuIENPTU1BTkRTOyBdLi4uIFsgZWxzZSAiCiJDT01NQU5EUzsgXSBmaSIKbXNnc3RyICIiCiJpZiBPUkRSRVM7IHRoZW4gT1JEUkVTOyBbIGVsaWYgT1JEUkVTOyB0aGVuIE9SRFJFUzsgXS4uLiBbIGVsc2UgT1JEUkVTOyBdIGZpIgoKIzogYnVpbHRpbnMuYzoxOTQKbXNnaWQgIndoaWxlIENPTU1BTkRTOyBkbyBDT01NQU5EUzsgZG9uZSIKbXNnc3RyICJ3aGlsZSBPUkRSRVM7IGRvIE9SRFJFUzsgZG9uZSIKCiM6IGJ1aWx0aW5zLmM6MTk2Cm1zZ2lkICJ1bnRpbCBDT01NQU5EUzsgZG8gQ09NTUFORFM7IGRvbmUiCm1zZ3N0ciAidW50aWwgT1JEUkVTOyBkbyBPUkRSRVM7IGRvbmUiCgojOiBidWlsdGlucy5jOjE5OAptc2dpZCAiY29wcm9jIFtOQU1FXSBjb21tYW5kIFtyZWRpcmVjdGlvbnNdIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MjAwCiMsIGZ1enp5Cm1zZ2lkICJmdW5jdGlvbiBuYW1lIHsgQ09NTUFORFMgOyB9IG9yIG5hbWUgKCkgeyBDT01NQU5EUyA7IH0iCm1zZ3N0ciAiZnVuY3Rpb24gTk9NIHsgT1JEUkVTIDsgfSBvciBOT00gKCkgeyBPUkRSRVMgOyB9IgoKIzogYnVpbHRpbnMuYzoyMDIKIywgZnV6enkKbXNnaWQgInsgQ09NTUFORFMgOyB9Igptc2dzdHIgInsgT1JEUkVTIH0iCgojOiBidWlsdGlucy5jOjIwNAojLCBmdXp6eQptc2dpZCAiam9iX3NwZWMgWyZdIgptc2dzdHIgImZnIFtpZF90YXNjYV0iCgojOiBidWlsdGlucy5jOjIwNgojLCBmdXp6eQptc2dpZCAiKCggZXhwcmVzc2lvbiApKSIKbXNnc3RyICJzJ2VzcGVyYXZhIHVuYSBleHByZXNzaT8iCgojOiBidWlsdGlucy5jOjIwOAojLCBmdXp6eQptc2dpZCAiW1sgZXhwcmVzc2lvbiBdXSIKbXNnc3RyICJzJ2VzcGVyYXZhIHVuYSBleHByZXNzaT8iCgojOiBidWlsdGlucy5jOjIxMAojLCBmdXp6eQptc2dpZCAidmFyaWFibGVzIC0gTmFtZXMgYW5kIG1lYW5pbmdzIG9mIHNvbWUgc2hlbGwgdmFyaWFibGVzIgptc2dzdHIgIkVzIHBlcm1ldGVuIGxlcyB2YXJpYWJsZXMgZGUgbCdpbnQ/cnByZXQgZCdvcmRyZXMgY29tIGEgb3BlcmFuZHMuICBFbCIKCiM6IGJ1aWx0aW5zLmM6MjEzCiMsIGZ1enp5Cm1zZ2lkICJwdXNoZCBbLW5dIFsrTiB8IC1OIHwgZGlyXSIKbXNnc3RyICJwdXNoZCBbZGlyZWN0b3JpIHwgK04gfCAtTl0gWy1uXSIKCiM6IGJ1aWx0aW5zLmM6MjE3CiMsIGZ1enp5Cm1zZ2lkICJwb3BkIFstbl0gWytOIHwgLU5dIgptc2dzdHIgInBvcGQgWytOIHwgLU5dIFstbl0iCgojOiBidWlsdGlucy5jOjIyMQptc2dpZCAiZGlycyBbLWNscHZdIFsrTl0gWy1OXSIKbXNnc3RyICJkaXJzIFstY2xwdl0gWytOXSBbLU5dIgoKIzogYnVpbHRpbnMuYzoyMjQKIywgZnV6enkKbXNnaWQgInNob3B0IFstcHFzdV0gWy1vXSBbb3B0bmFtZSAuLi5dIgptc2dzdHIgInNob3B0IFstcHFzdV0gWy1vIG9wY2k/X2Zvcm1hdF9sbGFyZ10gbm9tX29wY2k/IFtub21fb3BjaT8uLi5dIgoKIzogYnVpbHRpbnMuYzoyMjYKbXNnaWQgInByaW50ZiBbLXYgdmFyXSBmb3JtYXQgW2FyZ3VtZW50c10iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzoyMjkKbXNnaWQgIiIKImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCiJXIHdvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TICIKInN1ZmZpeF0gW25hbWUgLi4uXSIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjIzMwptc2dpZCAiIgoiY29tcGdlbiBbLWFiY2RlZmdqa3N1dl0gWy1vIG9wdGlvbl0gIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLVcgd29yZGxpc3RdICAiCiJbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSBbd29yZF0iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzoyMzcKIywgZnV6enkKbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25hbWUgLi4uXSIKbXNnc3RyICJ0eXBlIFstYXB0XSBub20gW25vbSAuLi5dIgoKIzogYnVpbHRpbnMuYzoyNDAKbXNnaWQgIiIKIm1hcGZpbGUgWy1uIGNvdW50XSBbLU8gb3JpZ2luXSBbLXMgY291bnRdIFstdF0gWy11IGZkXSBbLUMgY2FsbGJhY2tdIFstYyAiCiJxdWFudHVtXSBbYXJyYXldIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MjQyCm1zZ2lkICIiCiJyZWFkYXJyYXkgWy1uIGNvdW50XSBbLU8gb3JpZ2luXSBbLXMgY291bnRdIFstdF0gWy11IGZkXSBbLUMgY2FsbGJhY2tdIFstYyAiCiJxdWFudHVtXSBbYXJyYXldIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MjU0Cm1zZ2lkICIiCiJEZWZpbmUgb3IgZGlzcGxheSBhbGlhc2VzLlxuIgoiICAgIFxuIgoiICAgIFdpdGhvdXQgYXJndW1lbnRzLCBgYWxpYXMnIHByaW50cyB0aGUgbGlzdCBvZiBhbGlhc2VzIGluIHRoZSByZXVzYWJsZVxuIgoiICAgIGZvcm0gYGFsaWFzIE5BTUU9VkFMVUUnIG9uIHN0YW5kYXJkIG91dHB1dC5cbiIKIiAgICBcbiIKIiAgICBPdGhlcndpc2UsIGFuIGFsaWFzIGlzIGRlZmluZWQgZm9yIGVhY2ggTkFNRSB3aG9zZSBWQUxVRSBpcyBnaXZlbi5cbiIKIiAgICBBIHRyYWlsaW5nIHNwYWNlIGluIFZBTFVFIGNhdXNlcyB0aGUgbmV4dCB3b3JkIHRvIGJlIGNoZWNrZWQgZm9yXG4iCiIgICAgYWxpYXMgc3Vic3RpdHV0aW9uIHdoZW4gdGhlIGFsaWFzIGlzIGV4cGFuZGVkLlxuIgoiICAgIFxuIgoiICAgIE9wdGlvbnM6XG4iCiIgICAgICAtcFx0UHJpbnQgYWxsIGRlZmluZWQgYWxpYXNlcyBpbiBhIHJldXNhYmxlIGZvcm1hdFxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIGFsaWFzIHJldHVybnMgdHJ1ZSB1bmxlc3MgYSBOQU1FIGlzIHN1cHBsaWVkIGZvciB3aGljaCBubyBhbGlhcyBoYXMgIgoiYmVlblxuIgoiICAgIGRlZmluZWQuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6Mjc2CiMsIGZ1enp5Cm1zZ2lkICIiCiJSZW1vdmUgZWFjaCBOQU1FIGZyb20gdGhlIGxpc3Qgb2YgZGVmaW5lZCBhbGlhc2VzLlxuIgoiICAgIFxuIgoiICAgIE9wdGlvbnM6XG4iCiIgICAgICAtYVx0cmVtb3ZlIGFsbCBhbGlhcyBkZWZpbml0aW9ucy5cbiIKIiAgICBcbiIKIiAgICBSZXR1cm4gc3VjY2VzcyB1bmxlc3MgYSBOQU1FIGlzIG5vdCBhbiBleGlzdGluZyBhbGlhcy4iCm1zZ3N0ciAiIgoiRXMgdHJldWVuIE5PTXMgZGUgbGEgbGxpc3RhIGRlIGxlcyBkZWZpbmljaW9ucyBkJz9saWVzLiAgU2kgcydlc3BlY2lmaWNhIgoKIzogYnVpbHRpbnMuYzoyODkKbXNnaWQgIiIKIlNldCBSZWFkbGluZSBrZXkgYmluZGluZ3MgYW5kIHZhcmlhYmxlcy5cbiIKIiAgICBcbiIKIiAgICBCaW5kIGEga2V5IHNlcXVlbmNlIHRvIGEgUmVhZGxpbmUgZnVuY3Rpb24gb3IgYSBtYWNybywgb3Igc2V0IGFcbiIKIiAgICBSZWFkbGluZSB2YXJpYWJsZS4gIFRoZSBub24tb3B0aW9uIGFyZ3VtZW50IHN5bnRheCBpcyBlcXVpdmFsZW50IHRvXG4iCiIgICAgdGhhdCBmb3VuZCBpbiB+Ly5pbnB1dHJjLCBidXQgbXVzdCBiZSBwYXNzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQ6XG4iCiIgICAgZS5nLiwgYmluZCAnXCJcXEMteFxcQy1yXCI6IHJlLXJlYWQtaW5pdC1maWxlJy5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgICAgLW0gIGtleW1hcCAgICAgICAgIFVzZSBLRVlNQVAgYXMgdGhlIGtleW1hcCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoaXNcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kLiAgQWNjZXB0YWJsZSBrZXltYXAgbmFtZXMgYXJlIGVtYWNzLFxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgIGVtYWNzLXN0YW5kYXJkLCBlbWFjcy1tZXRhLCBlbWFjcy1jdGx4LCB2aSwgdmktIgoibW92ZSxcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICB2aS1jb21tYW5kLCBhbmQgdmktaW5zZXJ0LlxuIgoiICAgICAgLWwgICAgICAgICAgICAgICAgIExpc3QgbmFtZXMgb2YgZnVuY3Rpb25zLlxuIgoiICAgICAgLVAgICAgICAgICAgICAgICAgIExpc3QgZnVuY3Rpb24gbmFtZXMgYW5kIGJpbmRpbmdzLlxuIgoiICAgICAgLXAgICAgICAgICAgICAgICAgIExpc3QgZnVuY3Rpb25zIGFuZCBiaW5kaW5ncyBpbiBhIGZvcm0gdGhhdCBjYW4gYmVcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICByZXVzZWQgYXMgaW5wdXQuXG4iCiIgICAgICAtUyAgICAgICAgICAgICAgICAgTGlzdCBrZXkgc2VxdWVuY2VzIHRoYXQgaW52b2tlIG1hY3JvcyBhbmQgdGhlaXIgIgoidmFsdWVzXG4iCiIgICAgICAtcyAgICAgICAgICAgICAgICAgTGlzdCBrZXkgc2VxdWVuY2VzIHRoYXQgaW52b2tlIG1hY3JvcyBhbmQgdGhlaXIgIgoidmFsdWVzXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYSBmb3JtIHRoYXQgY2FuIGJlIHJldXNlZCBhcyBpbnB1dC5cbiIKIiAgICAgIC1WICAgICAgICAgICAgICAgICBMaXN0IHZhcmlhYmxlIG5hbWVzIGFuZCB2YWx1ZXNcbiIKIiAgICAgIC12ICAgICAgICAgICAgICAgICBMaXN0IHZhcmlhYmxlIG5hbWVzIGFuZCB2YWx1ZXMgaW4gYSBmb3JtIHRoYXQgY2FuXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgYmUgcmV1c2VkIGFzIGlucHV0LlxuIgoiICAgICAgLXEgIGZ1bmN0aW9uLW5hbWUgIFF1ZXJ5IGFib3V0IHdoaWNoIGtleXMgaW52b2tlIHRoZSBuYW1lZCBmdW5jdGlvbi5cbiIKIiAgICAgIC11ICBmdW5jdGlvbi1uYW1lICBVbmJpbmQgYWxsIGtleXMgd2hpY2ggYXJlIGJvdW5kIHRvIHRoZSBuYW1lZCAiCiJmdW5jdGlvbi5cbiIKIiAgICAgIC1yICBrZXlzZXEgICAgICAgICBSZW1vdmUgdGhlIGJpbmRpbmcgZm9yIEtFWVNFUS5cbiIKIiAgICAgIC1mICBmaWxlbmFtZSAgICAgICBSZWFkIGtleSBiaW5kaW5ncyBmcm9tIEZJTEVOQU1FLlxuIgoiICAgICAgLXggIGtleXNlcTpzaGVsbC1jb21tYW5kXHRDYXVzZSBTSEVMTC1DT01NQU5EIHRvIGJlIGV4ZWN1dGVkIHdoZW5cbiIKIiAgICBcdFx0XHRcdEtFWVNFUSBpcyBlbnRlcmVkLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIGJpbmQgcmV0dXJucyAwIHVubGVzcyBhbiB1bnJlY29nbml6ZWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzozMjYKIywgZnV6enkKbXNnaWQgIiIKIkV4aXQgZm9yLCB3aGlsZSwgb3IgdW50aWwgbG9vcHMuXG4iCiIgICAgXG4iCiIgICAgRXhpdCBhIEZPUiwgV0hJTEUgb3IgVU5USUwgbG9vcC4gIElmIE4gaXMgc3BlY2lmaWVkLCBicmVhayBOIGVuY2xvc2luZ1xuIgoiICAgIGxvb3BzLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFRoZSBleGl0IHN0YXR1cyBpcyAwIHVubGVzcyBOIGlzIG5vdCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMS4iCm1zZ3N0ciAiUmVwcj9uIGxhIHNlZz9lbnQgaXRlcmFjaT8gZGVsIGJ1Y2xlIGVudm9sdGFudCBGT1IsIFdISUxFLCBvIFVOVElMLiIKCiM6IGJ1aWx0aW5zLmM6MzM4CiMsIGZ1enp5Cm1zZ2lkICIiCiJSZXN1bWUgZm9yLCB3aGlsZSwgb3IgdW50aWwgbG9vcHMuXG4iCiIgICAgXG4iCiIgICAgUmVzdW1lcyB0aGUgbmV4dCBpdGVyYXRpb24gb2YgdGhlIGVuY2xvc2luZyBGT1IsIFdISUxFIG9yIFVOVElMIGxvb3AuXG4iCiIgICAgSWYgTiBpcyBzcGVjaWZpZWQsIHJlc3VtZXMgdGhlIE50aCBlbmNsb3NpbmcgbG9vcC5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBUaGUgZXhpdCBzdGF0dXMgaXMgMCB1bmxlc3MgTiBpcyBub3QgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuIgptc2dzdHIgIlJlcHI/biBsYSBzZWc/ZW50IGl0ZXJhY2k/IGRlbCBidWNsZSBlbnZvbHRhbnQgRk9SLCBXSElMRSwgbyBVTlRJTC4iCgojOiBidWlsdGlucy5jOjM1MAptc2dpZCAiIgoiRXhlY3V0ZSBzaGVsbCBidWlsdGlucy5cbiIKIiAgICBcbiIKIiAgICBFeGVjdXRlIFNIRUxMLUJVSUxUSU4gd2l0aCBhcmd1bWVudHMgQVJHcyB3aXRob3V0IHBlcmZvcm1pbmcgY29tbWFuZFxuIgoiICAgIGxvb2t1cC4gIFRoaXMgaXMgdXNlZnVsIHdoZW4geW91IHdpc2ggdG8gcmVpbXBsZW1lbnQgYSBzaGVsbCBidWlsdGluXG4iCiIgICAgYXMgYSBzaGVsbCBmdW5jdGlvbiwgYnV0IG5lZWQgdG8gZXhlY3V0ZSB0aGUgYnVpbHRpbiB3aXRoaW4gdGhlICIKImZ1bmN0aW9uLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIFNIRUxMLUJVSUxUSU4sIG9yIGZhbHNlIGlmIFNIRUxMLUJVSUxUSU4gaXNcbiIKIiAgICBub3QgYSBzaGVsbCBidWlsdGluLi4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzozNjUKbXNnaWQgIiIKIlJldHVybiB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudCBzdWJyb3V0aW5lIGNhbGwuXG4iCiIgICAgXG4iCiIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zIFwiJGxpbmUgJGZpbGVuYW1lXCIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKIiAgICBcIiRsaW5lICRzdWJyb3V0aW5lICRmaWxlbmFtZVwiOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCiIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgoiICAgIFxuIgoiICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSB0aGVcbiIKIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgMCB1bmxlc3MgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBzaGVsbCBmdW5jdGlvbiBvciBFWFBSXG4iCiIgICAgaXMgaW52YWxpZC4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzozODMKbXNnaWQgIiIKIkNoYW5nZSB0aGUgc2hlbGwgd29ya2luZyBkaXJlY3RvcnkuXG4iCiIgICAgXG4iCiIgICAgQ2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB0byBESVIuICBUaGUgZGVmYXVsdCBESVIgaXMgdGhlIHZhbHVlIG9mICIKInRoZVxuIgoiICAgIEhPTUUgc2hlbGwgdmFyaWFibGUuXG4iCiIgICAgXG4iCiIgICAgVGhlIHZhcmlhYmxlIENEUEFUSCBkZWZpbmVzIHRoZSBzZWFyY2ggcGF0aCBmb3IgdGhlIGRpcmVjdG9yeSAiCiJjb250YWluaW5nXG4iCiIgICAgRElSLiAgQWx0ZXJuYXRpdmUgZGlyZWN0b3J5IG5hbWVzIGluIENEUEFUSCBhcmUgc2VwYXJhdGVkIGJ5IGEgY29sb24gIgoiKDopLlxuIgoiICAgIEEgbnVsbCBkaXJlY3RvcnkgbmFtZSBpcyB0aGUgc2FtZSBhcyB0aGUgY3VycmVudCBkaXJlY3RvcnkuICBJZiBESVIgIgoiYmVnaW5zXG4iCiIgICAgd2l0aCBhIHNsYXNoICgvKSwgdGhlbiBDRFBBVEggaXMgbm90IHVzZWQuXG4iCiIgICAgXG4iCiIgICAgSWYgdGhlIGRpcmVjdG9yeSBpcyBub3QgZm91bmQsIGFuZCB0aGUgc2hlbGwgb3B0aW9uIGBjZGFibGVfdmFycycgaXMgIgoic2V0LFxuIgoiICAgIHRoZSB3b3JkIGlzIGFzc3VtZWQgdG8gYmUgIGEgdmFyaWFibGUgbmFtZS4gIElmIHRoYXQgdmFyaWFibGUgaGFzIGEgIgoidmFsdWUsXG4iCiIgICAgaXRzIHZhbHVlIGlzIHVzZWQgZm9yIERJUi5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgICAgICAtTFx0Zm9yY2Ugc3ltYm9saWMgbGlua3MgdG8gYmUgZm9sbG93ZWRcbiIKIiAgICAgICAgLVBcdHVzZSB0aGUgcGh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSB3aXRob3V0IGZvbGxvd2luZyBzeW1ib2xpY1xuIgoiICAgIFx0bGlua3NcbiIKIiAgICBcbiIKIiAgICBUaGUgZGVmYXVsdCBpcyB0byBmb2xsb3cgc3ltYm9saWMgbGlua3MsIGFzIGlmIGAtTCcgd2VyZSBzcGVjaWZpZWQuXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjQxMQptc2dpZCAiIgoiUHJpbnQgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4iCiIgICAgXG4iCiIgICAgT3B0aW9uczpcbiIKIiAgICAgIC1MXHRwcmludCB0aGUgdmFsdWUgb2YgJFBXRCBpZiBpdCBuYW1lcyB0aGUgY3VycmVudCB3b3JraW5nXG4iCiIgICAgXHRkaXJlY3RvcnlcbiIKIiAgICAgIC1QXHRwcmludCB0aGUgcGh5c2ljYWwgZGlyZWN0b3J5LCB3aXRob3V0IGFueSBzeW1ib2xpYyBsaW5rc1xuIgoiICAgIFxuIgoiICAgIEJ5IGRlZmF1bHQsIGBwd2QnIGJlaGF2ZXMgYXMgaWYgYC1MJyB3ZXJlIHNwZWNpZmllZC5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIDAgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIHRoZSBjdXJyZW50IGRpcmVjdG9yeVxuIgoiICAgIGNhbm5vdCBiZSByZWFkLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjQyOAojLCBmdXp6eQptc2dpZCAiIgoiTnVsbCBjb21tYW5kLlxuIgoiICAgIFxuIgoiICAgIE5vIGVmZmVjdDsgdGhlIGNvbW1hbmQgZG9lcyBub3RoaW5nLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIEFsd2F5cyBzdWNjZWVkcy4iCm1zZ3N0ciAiQ2FwIGVmZWN0ZTsgbm8gZXMgZmEgcmVzLiAgRXMgcmV0b3JuYSBhbWIgZWwgY29kaSB6ZXJvIGNvbSBhIGVpeGlkYS4iCgojOiBidWlsdGlucy5jOjQzOQptc2dpZCAiIgoiUmV0dXJuIGEgc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjQ0OAptc2dpZCAiIgoiUmV0dXJuIGFuIHVuc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgQWx3YXlzIGZhaWxzLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjQ1Nwptc2dpZCAiIgoiRXhlY3V0ZSBhIHNpbXBsZSBjb21tYW5kIG9yIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZHMuXG4iCiIgICAgXG4iCiIgICAgUnVucyBDT01NQU5EIHdpdGggQVJHUyBzdXBwcmVzc2luZyAgc2hlbGwgZnVuY3Rpb24gbG9va3VwLCBvciBkaXNwbGF5XG4iCiIgICAgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNwZWNpZmllZCBDT01NQU5Ecy4gIENhbiBiZSB1c2VkIHRvIGludm9rZSAiCiJjb21tYW5kc1xuIgoiICAgIG9uIGRpc2sgd2hlbiBhIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUgbmFtZSBleGlzdHMuXG4iCiIgICAgXG4iCiIgICAgT3B0aW9uczpcbiIKIiAgICAgIC1wXHR1c2UgYSBkZWZhdWx0IHZhbHVlIGZvciBQQVRIIHRoYXQgaXMgZ3VhcmFudGVlZCB0byBmaW5kIGFsbCBvZlxuIgoiICAgIFx0dGhlIHN0YW5kYXJkIHV0aWxpdGllc1xuIgoiICAgICAgLXZcdHByaW50IGEgZGVzY3JpcHRpb24gb2YgQ09NTUFORCBzaW1pbGFyIHRvIHRoZSBgdHlwZScgYnVpbHRpblxuIgoiICAgICAgLVZcdHByaW50IGEgbW9yZSB2ZXJib3NlIGRlc2NyaXB0aW9uIG9mIGVhY2ggQ09NTUFORFxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgQ09NTUFORCwgb3IgZmFpbHVyZSBpZiBDT01NQU5EIGlzIG5vdCBmb3VuZC4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzo0NzYKbXNnaWQgIiIKIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiIgICAgXG4iCiIgICAgRGVjbGFyZSB2YXJpYWJsZXMgYW5kIGdpdmUgdGhlbSBhdHRyaWJ1dGVzLiAgSWYgbm8gTkFNRXMgYXJlIGdpdmVuLFxuIgoiICAgIGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlcyBvZiBhbGwgdmFyaWFibGVzLlxuIgoiICAgIFxuIgoiICAgIE9wdGlvbnM6XG4iCiIgICAgICAtZlx0cmVzdHJpY3QgYWN0aW9uIG9yIGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgYW5kIGRlZmluaXRpb25zXG4iCiIgICAgICAtRlx0cmVzdHJpY3QgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBvbmx5IChwbHVzIGxpbmUgbnVtYmVyIGFuZFxuIgoiICAgIFx0c291cmNlIGZpbGUgd2hlbiBkZWJ1Z2dpbmcpXG4iCiIgICAgICAtcFx0ZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWUgb2YgZWFjaCBOQU1FXG4iCiIgICAgXG4iCiIgICAgT3B0aW9ucyB3aGljaCBzZXQgYXR0cmlidXRlczpcbiIKIiAgICAgIC1hXHR0byBtYWtlIE5BTUVzIGluZGV4ZWQgYXJyYXlzIChpZiBzdXBwb3J0ZWQpXG4iCiIgICAgICAtQVx0dG8gbWFrZSBOQU1FcyBhc3NvY2lhdGl2ZSBhcnJheXMgKGlmIHN1cHBvcnRlZClcbiIKIiAgICAgIC1pXHR0byBtYWtlIE5BTUVzIGhhdmUgdGhlIGBpbnRlZ2VyJyBhdHRyaWJ1dGVcbiIKIiAgICAgIC1sXHR0byBjb252ZXJ0IE5BTUVzIHRvIGxvd2VyIGNhc2Ugb24gYXNzaWdubWVudFxuIgoiICAgICAgLXJcdHRvIG1ha2UgTkFNRXMgcmVhZG9ubHlcbiIKIiAgICAgIC10XHR0byBtYWtlIE5BTUVzIGhhdmUgdGhlIGB0cmFjZScgYXR0cmlidXRlXG4iCiIgICAgICAtdVx0dG8gY29udmVydCBOQU1FcyB0byB1cHBlciBjYXNlIG9uIGFzc2lnbm1lbnRcbiIKIiAgICAgIC14XHR0byBtYWtlIE5BTUVzIGV4cG9ydFxuIgoiICAgIFxuIgoiICAgIFVzaW5nIGArJyBpbnN0ZWFkIG9mIGAtJyB0dXJucyBvZmYgdGhlIGdpdmVuIGF0dHJpYnV0ZS5cbiIKIiAgICBcbiIKIiAgICBWYXJpYWJsZXMgd2l0aCB0aGUgaW50ZWdlciBhdHRyaWJ1dGUgaGF2ZSBhcml0aG1ldGljIGV2YWx1YXRpb24gKHNlZVxuIgoiICAgIHRoZSBgbGV0JyBjb21tYW5kKSBwZXJmb3JtZWQgd2hlbiB0aGUgdmFyaWFibGUgaXMgYXNzaWduZWQgYSB2YWx1ZS5cbiIKIiAgICBcbiIKIiAgICBXaGVuIHVzZWQgaW4gYSBmdW5jdGlvbiwgYGRlY2xhcmUnIG1ha2VzIE5BTUVzIGxvY2FsLCBhcyB3aXRoIHRoZSAiCiJgbG9jYWwnXG4iCiIgICAgY29tbWFuZC5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzo1MTIKbXNnaWQgIiIKIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiIgICAgXG4iCiIgICAgT2Jzb2xldGUuICBTZWUgYGhlbHAgZGVjbGFyZScuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6NTIwCm1zZ2lkICIiCiJEZWZpbmUgbG9jYWwgdmFyaWFibGVzLlxuIgoiICAgIFxuIgoiICAgIENyZWF0ZSBhIGxvY2FsIHZhcmlhYmxlIGNhbGxlZCBOQU1FLCBhbmQgZ2l2ZSBpdCBWQUxVRS4gIE9QVElPTiBjYW5cbiIKIiAgICBiZSBhbnkgb3B0aW9uIGFjY2VwdGVkIGJ5IGBkZWNsYXJlJy5cbiIKIiAgICBcbiIKIiAgICBMb2NhbCB2YXJpYWJsZXMgY2FuIG9ubHkgYmUgdXNlZCB3aXRoaW4gYSBmdW5jdGlvbjsgdGhleSBhcmUgdmlzaWJsZVxuIgoiICAgIG9ubHkgdG8gdGhlIGZ1bmN0aW9uIHdoZXJlIHRoZXkgYXJlIGRlZmluZWQgYW5kIGl0cyBjaGlsZHJlbi5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbiBlcnJvciBvY2N1cnMsXG4iCiIgICAgb3IgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbi4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzo1MzcKbXNnaWQgIiIKIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgoiICAgIFxuIgoiICAgIERpc3BsYXkgdGhlIEFSR3Mgb24gdGhlIHN0YW5kYXJkIG91dHB1dCBmb2xsb3dlZCBieSBhIG5ld2xpbmUuXG4iCiIgICAgXG4iCiIgICAgT3B0aW9uczpcbiIKIiAgICAgIC1uXHRkbyBub3QgYXBwZW5kIGEgbmV3bGluZVxuIgoiICAgICAgLWVcdGVuYWJsZSBpbnRlcnByZXRhdGlvbiBvZiB0aGUgZm9sbG93aW5nIGJhY2tzbGFzaCBlc2NhcGVzXG4iCiIgICAgICAtRVx0ZXhwbGljaXRseSBzdXBwcmVzcyBpbnRlcnByZXRhdGlvbiBvZiBiYWNrc2xhc2ggZXNjYXBlc1xuIgoiICAgIFxuIgoiICAgIGBlY2hvJyBpbnRlcnByZXRzIHRoZSBmb2xsb3dpbmcgYmFja3NsYXNoLWVzY2FwZWQgY2hhcmFjdGVyczpcbiIKIiAgICAgIFxcYVx0YWxlcnQgKGJlbGwpXG4iCiIgICAgICBcXGJcdGJhY2tzcGFjZVxuIgoiICAgICAgXFxjXHRzdXBwcmVzcyBmdXJ0aGVyIG91dHB1dFxuIgoiICAgICAgXFxlXHRlc2NhcGUgY2hhcmFjdGVyXG4iCiIgICAgICBcXGZcdGZvcm0gZmVlZFxuIgoiICAgICAgXFxuXHRuZXcgbGluZVxuIgoiICAgICAgXFxyXHRjYXJyaWFnZSByZXR1cm5cbiIKIiAgICAgIFxcdFx0aG9yaXpvbnRhbCB0YWJcbiIKIiAgICAgIFxcdlx0dmVydGljYWwgdGFiXG4iCiIgICAgICBcXFxcXHRiYWNrc2xhc2hcbiIKIiAgICAgIFxcMG5ublx0dGhlIGNoYXJhY3RlciB3aG9zZSBBU0NJSSBjb2RlIGlzIE5OTiAob2N0YWwpLiAgTk5OIGNhbiBiZVxuIgoiICAgIFx0MCB0byAzIG9jdGFsIGRpZ2l0c1xuIgoiICAgICAgXFx4SEhcdHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHZhbHVlIGlzIEhIIChoZXhhZGVjaW1hbCkuICBISFxuIgoiICAgIFx0Y2FuIGJlIG9uZSBvciB0d28gaGV4IGRpZ2l0c1xuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6NTcxCm1zZ2lkICIiCiJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKIiAgICBcbiIKIiAgICBEaXNwbGF5IHRoZSBBUkdzIG9uIHRoZSBzdGFuZGFyZCBvdXRwdXQgZm9sbG93ZWQgYnkgYSBuZXdsaW5lLlxuIgoiICAgIFxuIgoiICAgIE9wdGlvbnM6XG4iCiIgICAgICAtblx0ZG8gbm90IGFwcGVuZCBhIG5ld2xpbmVcbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgd3JpdGUgZXJyb3Igb2NjdXJzLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjU4Ngptc2dpZCAiIgoiRW5hYmxlIGFuZCBkaXNhYmxlIHNoZWxsIGJ1aWx0aW5zLlxuIgoiICAgIFxuIgoiICAgIEVuYWJsZXMgYW5kIGRpc2FibGVzIGJ1aWx0aW4gc2hlbGwgY29tbWFuZHMuICBEaXNhYmxpbmcgYWxsb3dzIHlvdSB0b1xuIgoiICAgIGV4ZWN1dGUgYSBkaXNrIGNvbW1hbmQgd2hpY2ggaGFzIHRoZSBzYW1lIG5hbWUgYXMgYSBzaGVsbCBidWlsdGluXG4iCiIgICAgd2l0aG91dCB1c2luZyBhIGZ1bGwgcGF0aG5hbWUuXG4iCiIgICAgXG4iCiIgICAgT3B0aW9uczpcbiIKIiAgICAgIC1hXHRwcmludCBhIGxpc3Qgb2YgYnVpbHRpbnMgc2hvd2luZyB3aGV0aGVyIG9yIG5vdCBlYWNoIGlzIGVuYWJsZWRcbiIKIiAgICAgIC1uXHRkaXNhYmxlIGVhY2ggTkFNRSBvciBkaXNwbGF5IGEgbGlzdCBvZiBkaXNhYmxlZCBidWlsdGluc1xuIgoiICAgICAgLXBcdHByaW50IHRoZSBsaXN0IG9mIGJ1aWx0aW5zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCiIgICAgICAtc1x0cHJpbnQgb25seSB0aGUgbmFtZXMgb2YgUG9zaXggYHNwZWNpYWwnIGJ1aWx0aW5zXG4iCiIgICAgXG4iCiIgICAgT3B0aW9ucyBjb250cm9sbGluZyBkeW5hbWljIGxvYWRpbmc6XG4iCiIgICAgICAtZlx0TG9hZCBidWlsdGluIE5BTUUgZnJvbSBzaGFyZWQgb2JqZWN0IEZJTEVOQU1FXG4iCiIgICAgICAtZFx0UmVtb3ZlIGEgYnVpbHRpbiBsb2FkZWQgd2l0aCAtZlxuIgoiICAgIFxuIgoiICAgIFdpdGhvdXQgb3B0aW9ucywgZWFjaCBOQU1FIGlzIGVuYWJsZWQuXG4iCiIgICAgXG4iCiIgICAgVG8gdXNlIHRoZSBgdGVzdCcgZm91bmQgaW4gJFBBVEggaW5zdGVhZCBvZiB0aGUgc2hlbGwgYnVpbHRpblxuIgoiICAgIHZlcnNpb24sIHR5cGUgYGVuYWJsZSAtbiB0ZXN0Jy5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGEgc2hlbGwgYnVpbHRpbiBvciBhbiBlcnJvciBvY2N1cnMuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6NjE0Cm1zZ2lkICIiCiJFeGVjdXRlIGFyZ3VtZW50cyBhcyBhIHNoZWxsIGNvbW1hbmQuXG4iCiIgICAgXG4iCiIgICAgQ29tYmluZSBBUkdzIGludG8gYSBzaW5nbGUgc3RyaW5nLCB1c2UgdGhlIHJlc3VsdCBhcyBpbnB1dCB0byB0aGUgIgoic2hlbGwsXG4iCiIgICAgYW5kIGV4ZWN1dGUgdGhlIHJlc3VsdGluZyBjb21tYW5kcy5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIGNvbW1hbmQgb3Igc3VjY2VzcyBpZiBjb21tYW5kIGlzIG51bGwuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6NjI2Cm1zZ2lkICIiCiJQYXJzZSBvcHRpb24gYXJndW1lbnRzLlxuIgoiICAgIFxuIgoiICAgIEdldG9wdHMgaXMgdXNlZCBieSBzaGVsbCBwcm9jZWR1cmVzIHRvIHBhcnNlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgoiICAgIGFzIG9wdGlvbnMuXG4iCiIgICAgXG4iCiIgICAgT1BUU1RSSU5HIGNvbnRhaW5zIHRoZSBvcHRpb24gbGV0dGVycyB0byBiZSByZWNvZ25pemVkOyBpZiBhIGxldHRlclxuIgoiICAgIGlzIGZvbGxvd2VkIGJ5IGEgY29sb24sIHRoZSBvcHRpb24gaXMgZXhwZWN0ZWQgdG8gaGF2ZSBhbiBhcmd1bWVudCxcbiIKIiAgICB3aGljaCBzaG91bGQgYmUgc2VwYXJhdGVkIGZyb20gaXQgYnkgd2hpdGUgc3BhY2UuXG4iCiIgICAgXG4iCiIgICAgRWFjaCB0aW1lIGl0IGlzIGludm9rZWQsIGdldG9wdHMgd2lsbCBwbGFjZSB0aGUgbmV4dCBvcHRpb24gaW4gdGhlXG4iCiIgICAgc2hlbGwgdmFyaWFibGUgJG5hbWUsIGluaXRpYWxpemluZyBuYW1lIGlmIGl0IGRvZXMgbm90IGV4aXN0LCBhbmRcbiIKIiAgICB0aGUgaW5kZXggb2YgdGhlIG5leHQgYXJndW1lbnQgdG8gYmUgcHJvY2Vzc2VkIGludG8gdGhlIHNoZWxsXG4iCiIgICAgdmFyaWFibGUgT1BUSU5ELiAgT1BUSU5EIGlzIGluaXRpYWxpemVkIHRvIDEgZWFjaCB0aW1lIHRoZSBzaGVsbCBvclxuIgoiICAgIGEgc2hlbGwgc2NyaXB0IGlzIGludm9rZWQuICBXaGVuIGFuIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCxcbiIKIiAgICBnZXRvcHRzIHBsYWNlcyB0aGF0IGFyZ3VtZW50IGludG8gdGhlIHNoZWxsIHZhcmlhYmxlIE9QVEFSRy5cbiIKIiAgICBcbiIKIiAgICBnZXRvcHRzIHJlcG9ydHMgZXJyb3JzIGluIG9uZSBvZiB0d28gd2F5cy4gIElmIHRoZSBmaXJzdCBjaGFyYWN0ZXJcbiIKIiAgICBvZiBPUFRTVFJJTkcgaXMgYSBjb2xvbiwgZ2V0b3B0cyB1c2VzIHNpbGVudCBlcnJvciByZXBvcnRpbmcuICBJblxuIgoiICAgIHRoaXMgbW9kZSwgbm8gZXJyb3IgbWVzc2FnZXMgYXJlIHByaW50ZWQuICBJZiBhbiBpbnZhbGlkIG9wdGlvbiBpc1xuIgoiICAgIHNlZW4sIGdldG9wdHMgcGxhY2VzIHRoZSBvcHRpb24gY2hhcmFjdGVyIGZvdW5kIGludG8gT1BUQVJHLiAgSWYgYVxuIgoiICAgIHJlcXVpcmVkIGFyZ3VtZW50IGlzIG5vdCBmb3VuZCwgZ2V0b3B0cyBwbGFjZXMgYSAnOicgaW50byBOQU1FIGFuZFxuIgoiICAgIHNldHMgT1BUQVJHIHRvIHRoZSBvcHRpb24gY2hhcmFjdGVyIGZvdW5kLiAgSWYgZ2V0b3B0cyBpcyBub3QgaW5cbiIKIiAgICBzaWxlbnQgbW9kZSwgYW5kIGFuIGludmFsaWQgb3B0aW9uIGlzIHNlZW4sIGdldG9wdHMgcGxhY2VzICc/JyBpbnRvXG4iCiIgICAgTkFNRSBhbmQgdW5zZXRzIE9QVEFSRy4gIElmIGEgcmVxdWlyZWQgYXJndW1lbnQgaXMgbm90IGZvdW5kLCBhICc/J1xuIgoiICAgIGlzIHBsYWNlZCBpbiBOQU1FLCBPUFRBUkcgaXMgdW5zZXQsIGFuZCBhIGRpYWdub3N0aWMgbWVzc2FnZSBpc1xuIgoiICAgIHByaW50ZWQuXG4iCiIgICAgXG4iCiIgICAgSWYgdGhlIHNoZWxsIHZhcmlhYmxlIE9QVEVSUiBoYXMgdGhlIHZhbHVlIDAsIGdldG9wdHMgZGlzYWJsZXMgdGhlXG4iCiIgICAgcHJpbnRpbmcgb2YgZXJyb3IgbWVzc2FnZXMsIGV2ZW4gaWYgdGhlIGZpcnN0IGNoYXJhY3RlciBvZlxuIgoiICAgIE9QVFNUUklORyBpcyBub3QgYSBjb2xvbi4gIE9QVEVSUiBoYXMgdGhlIHZhbHVlIDEgYnkgZGVmYXVsdC5cbiIKIiAgICBcbiIKIiAgICBHZXRvcHRzIG5vcm1hbGx5IHBhcnNlcyB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzICgkMCAtICQ5KSwgYnV0IGlmXG4iCiIgICAgbW9yZSBhcmd1bWVudHMgYXJlIGdpdmVuLCB0aGV5IGFyZSBwYXJzZWQgaW5zdGVhZC5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgYW4gb3B0aW9uIGlzIGZvdW5kOyBmYWlscyBpZiB0aGUgZW5kIG9mIG9wdGlvbnMgaXNcbiIKIiAgICBlbmNvdW50ZXJlZCBvciBhbiBlcnJvciBvY2N1cnMuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6NjY4Cm1zZ2lkICIiCiJSZXBsYWNlIHRoZSBzaGVsbCB3aXRoIHRoZSBnaXZlbiBjb21tYW5kLlxuIgoiICAgIFxuIgoiICAgIEV4ZWN1dGUgQ09NTUFORCwgcmVwbGFjaW5nIHRoaXMgc2hlbGwgd2l0aCB0aGUgc3BlY2lmaWVkIHByb2dyYW0uXG4iCiIgICAgQVJHVU1FTlRTIGJlY29tZSB0aGUgYXJndW1lbnRzIHRvIENPTU1BTkQuICBJZiBDT01NQU5EIGlzIG5vdCAiCiJzcGVjaWZpZWQsXG4iCiIgICAgYW55IHJlZGlyZWN0aW9ucyB0YWtlIGVmZmVjdCBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgICAgLWEgbmFtZVx0cGFzcyBOQU1FIGFzIHRoZSB6ZXJvdGggYXJndW1lbnQgdG8gQ09NTUFORFxuIgoiICAgICAgLWNcdFx0ZXhlY3V0ZSBDT01NQU5EIHdpdGggYW4gZW1wdHkgZW52aXJvbm1lbnRcbiIKIiAgICAgIC1sXHRcdHBsYWNlIGEgZGFzaCBpbiB0aGUgemVyb3RoIGFyZ3VtZW50IHRvIENPTU1BTkRcbiIKIiAgICBcbiIKIiAgICBJZiB0aGUgY29tbWFuZCBjYW5ub3QgYmUgZXhlY3V0ZWQsIGEgbm9uLWludGVyYWN0aXZlIHNoZWxsIGV4aXRzLCAiCiJ1bmxlc3NcbiIKIiAgICB0aGUgc2hlbGwgb3B0aW9uIGBleGVjZmFpbCcgaXMgc2V0LlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgQ09NTUFORCBpcyBub3QgZm91bmQgb3IgYSByZWRpcmVjdGlvbiBlcnJvciAiCiJvY2N1cnMuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6Njg5CiMsIGZ1enp5Cm1zZ2lkICIiCiJFeGl0IHRoZSBzaGVsbC5cbiIKIiAgICBcbiIKIiAgICBFeGl0cyB0aGUgc2hlbGwgd2l0aCBhIHN0YXR1cyBvZiBOLiAgSWYgTiBpcyBvbWl0dGVkLCB0aGUgZXhpdCBzdGF0dXNcbiIKIiAgICBpcyB0aGF0IG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgptc2dzdHIgIkZpbmFsaXR6YSBsJ2ludD9ycHJldCBkJ29yZHJlcyBhbWIgbCdlc3RhdCBkJ04uIFNpIHMnb21ldGVpeCBOLCIKCiM6IGJ1aWx0aW5zLmM6Njk4Cm1zZ2lkICIiCiJFeGl0IGEgbG9naW4gc2hlbGwuXG4iCiIgICAgXG4iCiIgICAgRXhpdHMgYSBsb2dpbiBzaGVsbCB3aXRoIGV4aXQgc3RhdHVzIE4uICBSZXR1cm5zIGFuIGVycm9yIGlmIG5vdCAiCiJleGVjdXRlZFxuIgoiICAgIGluIGEgbG9naW4gc2hlbGwuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6NzA4Cm1zZ2lkICIiCiJEaXNwbGF5IG9yIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LlxuIgoiICAgIFxuIgoiICAgIGZjIGlzIHVzZWQgdG8gbGlzdCBvciBlZGl0IGFuZCByZS1leGVjdXRlIGNvbW1hbmRzIGZyb20gdGhlIGhpc3RvcnkgIgoibGlzdC5cbiIKIiAgICBGSVJTVCBhbmQgTEFTVCBjYW4gYmUgbnVtYmVycyBzcGVjaWZ5aW5nIHRoZSByYW5nZSwgb3IgRklSU1QgY2FuIGJlIGFcbiIKIiAgICBzdHJpbmcsIHdoaWNoIG1lYW5zIHRoZSBtb3N0IHJlY2VudCBjb21tYW5kIGJlZ2lubmluZyB3aXRoIHRoYXRcbiIKIiAgICBzdHJpbmcuXG4iCiIgICAgXG4iCiIgICAgT3B0aW9uczpcbiIKIiAgICAgIC1lIEVOQU1FXHRzZWxlY3Qgd2hpY2ggZWRpdG9yIHRvIHVzZS4gIERlZmF1bHQgaXMgRkNFRElULCB0aGVuICIKIkVESVRPUixcbiIKIiAgICBcdFx0dGhlbiB2aVxuIgoiICAgICAgLWwgXHRsaXN0IGxpbmVzIGluc3RlYWQgb2YgZWRpdGluZ1xuIgoiICAgICAgLW5cdG9taXQgbGluZSBudW1iZXJzIHdoZW4gbGlzdGluZ1xuIgoiICAgICAgLXJcdHJldmVyc2UgdGhlIG9yZGVyIG9mIHRoZSBsaW5lcyAobmV3ZXN0IGxpc3RlZCBmaXJzdClcbiIKIiAgICBcbiIKIiAgICBXaXRoIHRoZSBgZmMgLXMgW3BhdD1yZXAgLi4uXSBbY29tbWFuZF0nIGZvcm1hdCwgQ09NTUFORCBpc1xuIgoiICAgIHJlLWV4ZWN1dGVkIGFmdGVyIHRoZSBzdWJzdGl0dXRpb24gT0xEPU5FVyBpcyBwZXJmb3JtZWQuXG4iCiIgICAgXG4iCiIgICAgQSB1c2VmdWwgYWxpYXMgdG8gdXNlIHdpdGggdGhpcyBpcyByPSdmYyAtcycsIHNvIHRoYXQgdHlwaW5nIGByIGNjJ1xuIgoiICAgIHJ1bnMgdGhlIGxhc3QgY29tbWFuZCBiZWdpbm5pbmcgd2l0aCBgY2MnIGFuZCB0eXBpbmcgYHInIHJlLWV4ZWN1dGVzXG4iCiIgICAgdGhlIGxhc3QgY29tbWFuZC5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3Mgb3Igc3RhdHVzIG9mIGV4ZWN1dGVkIGNvbW1hbmQ7IG5vbi16ZXJvIGlmIGFuIGVycm9yICIKIm9jY3Vycy4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzo3MzgKIywgZnV6enkKbXNnaWQgIiIKIk1vdmUgam9iIHRvIHRoZSBmb3JlZ3JvdW5kLlxuIgoiICAgIFxuIgoiICAgIFBsYWNlIHRoZSBqb2IgaWRlbnRpZmllZCBieSBKT0JfU1BFQyBpbiB0aGUgZm9yZWdyb3VuZCwgbWFraW5nIGl0IHRoZVxuIgoiICAgIGN1cnJlbnQgam9iLiAgSWYgSk9CX1NQRUMgaXMgbm90IHByZXNlbnQsIHRoZSBzaGVsbCdzIG5vdGlvbiBvZiB0aGVcbiIKIiAgICBjdXJyZW50IGpvYiBpcyB1c2VkLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFN0YXR1cyBvZiBjb21tYW5kIHBsYWNlZCBpbiBmb3JlZ3JvdW5kLCBvciBmYWlsdXJlIGlmIGFuIGVycm9yIG9jY3Vycy4iCm1zZ3N0ciAiVWJpY2EgbGEgSURfVEFTQ0EgZW4gcHJpbWVyIHBsYSwgaSBsJ2FjdGl2YSBjb20gYSBsYSB0YXNjYSBhY3R1YWwuIgoKIzogYnVpbHRpbnMuYzo3NTMKbXNnaWQgIiIKIk1vdmUgam9icyB0byB0aGUgYmFja2dyb3VuZC5cbiIKIiAgICBcbiIKIiAgICBQbGFjZSB0aGUgam9icyBpZGVudGlmaWVkIGJ5IGVhY2ggSk9CX1NQRUMgaW4gdGhlIGJhY2tncm91bmQsIGFzIGlmICIKInRoZXlcbiIKIiAgICBoYWQgYmVlbiBzdGFydGVkIHdpdGggYCYnLiAgSWYgSk9CX1NQRUMgaXMgbm90IHByZXNlbnQsIHRoZSBzaGVsbCdzICIKIm5vdGlvblxuIgoiICAgIG9mIHRoZSBjdXJyZW50IGpvYiBpcyB1c2VkLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjc2Nwptc2dpZCAiIgoiUmVtZW1iZXIgb3IgZGlzcGxheSBwcm9ncmFtIGxvY2F0aW9ucy5cbiIKIiAgICBcbiIKIiAgICBEZXRlcm1pbmUgYW5kIHJlbWVtYmVyIHRoZSBmdWxsIHBhdGhuYW1lIG9mIGVhY2ggY29tbWFuZCBOQU1FLiAgSWZcbiIKIiAgICBubyBhcmd1bWVudHMgYXJlIGdpdmVuLCBpbmZvcm1hdGlvbiBhYm91dCByZW1lbWJlcmVkIGNvbW1hbmRzIGlzICIKImRpc3BsYXllZC5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgICAgLWRcdFx0Zm9yZ2V0IHRoZSByZW1lbWJlcmVkIGxvY2F0aW9uIG9mIGVhY2ggTkFNRVxuIgoiICAgICAgLWxcdFx0ZGlzcGxheSBpbiBhIGZvcm1hdCB0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXRcbiIKIiAgICAgIC1wIHBhdGhuYW1lXHR1c2UgUEFUSE5BTUUgaXMgdGhlIGZ1bGwgcGF0aG5hbWUgb2YgTkFNRVxuIgoiICAgICAgLXJcdFx0Zm9yZ2V0IGFsbCByZW1lbWJlcmVkIGxvY2F0aW9uc1xuIgoiICAgICAgLXRcdFx0cHJpbnQgdGhlIHJlbWVtYmVyZWQgbG9jYXRpb24gb2YgZWFjaCBOQU1FLCBwcmVjZWRpbmdcbiIKIiAgICBcdFx0ZWFjaCBsb2NhdGlvbiB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIE5BTUUgaWYgbXVsdGlwbGVcbiIKIiAgICBcdFx0TkFNRXMgYXJlIGdpdmVuXG4iCiIgICAgQXJndW1lbnRzOlxuIgoiICAgICAgTkFNRVx0XHRFYWNoIE5BTUUgaXMgc2VhcmNoZWQgZm9yIGluICRQQVRIIGFuZCBhZGRlZCB0byB0aGUgbGlzdFxuIgoiICAgIFx0XHRvZiByZW1lbWJlcmVkIGNvbW1hbmRzLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyBub3QgZm91bmQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6NzkyCm1zZ2lkICIiCiJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuXG4iCiIgICAgXG4iCiIgICAgRGlzcGxheXMgYnJpZWYgc3VtbWFyaWVzIG9mIGJ1aWx0aW4gY29tbWFuZHMuICBJZiBQQVRURVJOIGlzXG4iCiIgICAgc3BlY2lmaWVkLCBnaXZlcyBkZXRhaWxlZCBoZWxwIG9uIGFsbCBjb21tYW5kcyBtYXRjaGluZyBQQVRURVJOLFxuIgoiICAgIG90aGVyd2lzZSB0aGUgbGlzdCBvZiBoZWxwIHRvcGljcyBpcyBwcmludGVkLlxuIgoiICAgIFxuIgoiICAgIE9wdGlvbnM6XG4iCiIgICAgICAtZFx0b3V0cHV0IHNob3J0IGRlc2NyaXB0aW9uIGZvciBlYWNoIHRvcGljXG4iCiIgICAgICAtbVx0ZGlzcGxheSB1c2FnZSBpbiBwc2V1ZG8tbWFucGFnZSBmb3JtYXRcbiIKIiAgICAgIC1zXHRvdXRwdXQgb25seSBhIHNob3J0IHVzYWdlIHN5bm9wc2lzIGZvciBlYWNoIHRvcGljIG1hdGNoaW5nXG4iCiIgICAgXHRQQVRURVJOXG4iCiIgICAgXG4iCiIgICAgQXJndW1lbnRzOlxuIgoiICAgICAgUEFUVEVSTlx0UGF0dGVybiBzcGVjaWZpeWluZyBhIGhlbHAgdG9waWNcbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIFBBVFRFUk4gaXMgbm90IGZvdW5kIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzICIKImdpdmVuLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjgxNgptc2dpZCAiIgoiRGlzcGxheSBvciBtYW5pcHVsYXRlIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiIgICAgXG4iCiIgICAgRGlzcGxheSB0aGUgaGlzdG9yeSBsaXN0IHdpdGggbGluZSBudW1iZXJzLCBwcmVmaXhpbmcgZWFjaCBtb2RpZmllZFxuIgoiICAgIGVudHJ5IHdpdGggYSBgKicuICBBbiBhcmd1bWVudCBvZiBOIGxpc3RzIG9ubHkgdGhlIGxhc3QgTiBlbnRyaWVzLlxuIgoiICAgIFxuIgoiICAgIE9wdGlvbnM6XG4iCiIgICAgICAtY1x0Y2xlYXIgdGhlIGhpc3RvcnkgbGlzdCBieSBkZWxldGluZyBhbGwgb2YgdGhlIGVudHJpZXNcbiIKIiAgICAgIC1kIG9mZnNldFx0ZGVsZXRlIHRoZSBoaXN0b3J5IGVudHJ5IGF0IG9mZnNldCBPRkZTRVQuXG4iCiIgICAgXG4iCiIgICAgICAtYVx0YXBwZW5kIGhpc3RvcnkgbGluZXMgZnJvbSB0aGlzIHNlc3Npb24gdG8gdGhlIGhpc3RvcnkgZmlsZVxuIgoiICAgICAgLW5cdHJlYWQgYWxsIGhpc3RvcnkgbGluZXMgbm90IGFscmVhZHkgcmVhZCBmcm9tIHRoZSBoaXN0b3J5IGZpbGVcbiIKIiAgICAgIC1yXHRyZWFkIHRoZSBoaXN0b3J5IGZpbGUgYW5kIGFwcGVuZCB0aGUgY29udGVudHMgdG8gdGhlIGhpc3RvcnlcbiIKIiAgICBcdGxpc3RcbiIKIiAgICAgIC13XHR3cml0ZSB0aGUgY3VycmVudCBoaXN0b3J5IHRvIHRoZSBoaXN0b3J5IGZpbGVcbiIKIiAgICBcdGFuZCBhcHBlbmQgdGhlbSB0byB0aGUgaGlzdG9yeSBsaXN0XG4iCiIgICAgXG4iCiIgICAgICAtcFx0cGVyZm9ybSBoaXN0b3J5IGV4cGFuc2lvbiBvbiBlYWNoIEFSRyBhbmQgZGlzcGxheSB0aGUgcmVzdWx0XG4iCiIgICAgXHR3aXRob3V0IHN0b3JpbmcgaXQgaW4gdGhlIGhpc3RvcnkgbGlzdFxuIgoiICAgICAgLXNcdGFwcGVuZCB0aGUgQVJHcyB0byB0aGUgaGlzdG9yeSBsaXN0IGFzIGEgc2luZ2xlIGVudHJ5XG4iCiIgICAgXG4iCiIgICAgSWYgRklMRU5BTUUgaXMgZ2l2ZW4sIGl0IGlzIHVzZWQgYXMgdGhlIGhpc3RvcnkgZmlsZS4gIE90aGVyd2lzZSxcbiIKIiAgICBpZiAkSElTVEZJTEUgaGFzIGEgdmFsdWUsIHRoYXQgaXMgdXNlZCwgZWxzZSB+Ly5iYXNoX2hpc3RvcnkuXG4iCiIgICAgXG4iCiIgICAgSWYgdGhlICRISVNUVElNRUZPUk1BVCB2YXJpYWJsZSBpcyBzZXQgYW5kIG5vdCBudWxsLCBpdHMgdmFsdWUgaXMgdXNlZFxuIgoiICAgIGFzIGEgZm9ybWF0IHN0cmluZyBmb3Igc3RyZnRpbWUoMykgdG8gcHJpbnQgdGhlIHRpbWUgc3RhbXAgYXNzb2NpYXRlZFxuIgoiICAgIHdpdGggZWFjaCBkaXNwbGF5ZWQgaGlzdG9yeSBlbnRyeS4gIE5vIHRpbWUgc3RhbXBzIGFyZSBwcmludGVkICIKIm90aGVyd2lzZS5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzo4NTIKbXNnaWQgIiIKIkRpc3BsYXkgc3RhdHVzIG9mIGpvYnMuXG4iCiIgICAgXG4iCiIgICAgTGlzdHMgdGhlIGFjdGl2ZSBqb2JzLiAgSk9CU1BFQyByZXN0cmljdHMgb3V0cHV0IHRvIHRoYXQgam9iLlxuIgoiICAgIFdpdGhvdXQgb3B0aW9ucywgdGhlIHN0YXR1cyBvZiBhbGwgYWN0aXZlIGpvYnMgaXMgZGlzcGxheWVkLlxuIgoiICAgIFxuIgoiICAgIE9wdGlvbnM6XG4iCiIgICAgICAtbFx0bGlzdHMgcHJvY2VzcyBJRHMgaW4gYWRkaXRpb24gdG8gdGhlIG5vcm1hbCBpbmZvcm1hdGlvblxuIgoiICAgICAgLW5cdGxpc3Qgb25seSBwcm9jZXNzZXMgdGhhdCBoYXZlIGNoYW5nZWQgc3RhdHVzIHNpbmNlIHRoZSBsYXN0XG4iCiIgICAgXHRub3RpZmljYXRpb25cbiIKIiAgICAgIC1wXHRsaXN0cyBwcm9jZXNzIElEcyBvbmx5XG4iCiIgICAgICAtclx0cmVzdHJpY3Qgb3V0cHV0IHRvIHJ1bm5pbmcgam9ic1xuIgoiICAgICAgLXNcdHJlc3RyaWN0IG91dHB1dCB0byBzdG9wcGVkIGpvYnNcbiIKIiAgICBcbiIKIiAgICBJZiAteCBpcyBzdXBwbGllZCwgQ09NTUFORCBpcyBydW4gYWZ0ZXIgYWxsIGpvYiBzcGVjaWZpY2F0aW9ucyB0aGF0XG4iCiIgICAgYXBwZWFyIGluIEFSR1MgaGF2ZSBiZWVuIHJlcGxhY2VkIHdpdGggdGhlIHByb2Nlc3MgSUQgb2YgdGhhdCBqb2Inc1xuIgoiICAgIHByb2Nlc3MgZ3JvdXAgbGVhZGVyLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLlxuIgoiICAgIElmIC14IGlzIHVzZWQsIHJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6ODc5Cm1zZ2lkICIiCiJSZW1vdmUgam9icyBmcm9tIGN1cnJlbnQgc2hlbGwuXG4iCiIgICAgXG4iCiIgICAgUmVtb3ZlcyBlYWNoIEpPQlNQRUMgYXJndW1lbnQgZnJvbSB0aGUgdGFibGUgb2YgYWN0aXZlIGpvYnMuICBXaXRob3V0XG4iCiIgICAgYW55IEpPQlNQRUNzLCB0aGUgc2hlbGwgdXNlcyBpdHMgbm90aW9uIG9mIHRoZSBjdXJyZW50IGpvYi5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgICAgLWFcdHJlbW92ZSBhbGwgam9icyBpZiBKT0JTUEVDIGlzIG5vdCBzdXBwbGllZFxuIgoiICAgICAgLWhcdG1hcmsgZWFjaCBKT0JTUEVDIHNvIHRoYXQgU0lHSFVQIGlzIG5vdCBzZW50IHRvIHRoZSBqb2IgaWYgdGhlXG4iCiIgICAgXHRzaGVsbCByZWNlaXZlcyBhIFNJR0hVUFxuIgoiICAgICAgLXJcdHJlbW92ZSBvbmx5IHJ1bm5pbmcgam9ic1xuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3IgSk9CU1BFQyBpcyBnaXZlbi4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzo4OTgKbXNnaWQgIiIKIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCiIgICAgXG4iCiIgICAgU2VuZCB0aGUgcHJvY2Vzc2VzIGlkZW50aWZpZWQgYnkgUElEIG9yIEpPQlNQRUMgdGhlIHNpZ25hbCBuYW1lZCBieVxuIgoiICAgIFNJR1NQRUMgb3IgU0lHTlVNLiAgSWYgbmVpdGhlciBTSUdTUEVDIG5vciBTSUdOVU0gaXMgcHJlc2VudCwgdGhlblxuIgoiICAgIFNJR1RFUk0gaXMgYXNzdW1lZC5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgICAgLXMgc2lnXHRTSUcgaXMgYSBzaWduYWwgbmFtZVxuIgoiICAgICAgLW4gc2lnXHRTSUcgaXMgYSBzaWduYWwgbnVtYmVyXG4iCiIgICAgICAtbFx0bGlzdCB0aGUgc2lnbmFsIG5hbWVzOyBpZiBhcmd1bWVudHMgZm9sbG93IGAtbCcgdGhleSBhcmVcbiIKIiAgICBcdGFzc3VtZWQgdG8gYmUgc2lnbmFsIG51bWJlcnMgZm9yIHdoaWNoIG5hbWVzIHNob3VsZCBiZSBsaXN0ZWRcbiIKIiAgICBcbiIKIiAgICBLaWxsIGlzIGEgc2hlbGwgYnVpbHRpbiBmb3IgdHdvIHJlYXNvbnM6IGl0IGFsbG93cyBqb2IgSURzIHRvIGJlIHVzZWRcbiIKIiAgICBpbnN0ZWFkIG9mIHByb2Nlc3MgSURzLCBhbmQgYWxsb3dzIHByb2Nlc3NlcyB0byBiZSBraWxsZWQgaWYgdGhlIGxpbWl0XG4iCiIgICAgb24gcHJvY2Vzc2VzIHRoYXQgeW91IGNhbiBjcmVhdGUgaXMgcmVhY2hlZC5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzo5MjEKbXNnaWQgIiIKIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuXG4iCiIgICAgXG4iCiIgICAgRXZhbHVhdGUgZWFjaCBBUkcgYXMgYW4gYXJpdGhtZXRpYyBleHByZXNzaW9uLiAgRXZhbHVhdGlvbiBpcyBkb25lIGluXG4iCiIgICAgZml4ZWQtd2lkdGggaW50ZWdlcnMgd2l0aCBubyBjaGVjayBmb3Igb3ZlcmZsb3csIHRob3VnaCBkaXZpc2lvbiBieSAwXG4iCiIgICAgaXMgdHJhcHBlZCBhbmQgZmxhZ2dlZCBhcyBhbiBlcnJvci4gIFRoZSBmb2xsb3dpbmcgbGlzdCBvZiBvcGVyYXRvcnMgaXNcbiIKIiAgICBncm91cGVkIGludG8gbGV2ZWxzIG9mIGVxdWFsLXByZWNlZGVuY2Ugb3BlcmF0b3JzLiAgVGhlIGxldmVscyBhcmUgIgoibGlzdGVkXG4iCiIgICAgaW4gb3JkZXIgb2YgZGVjcmVhc2luZyBwcmVjZWRlbmNlLlxuIgoiICAgIFxuIgoiICAgIFx0aWQrKywgaWQtLVx0dmFyaWFibGUgcG9zdC1pbmNyZW1lbnQsIHBvc3QtZGVjcmVtZW50XG4iCiIgICAgXHQrK2lkLCAtLWlkXHR2YXJpYWJsZSBwcmUtaW5jcmVtZW50LCBwcmUtZGVjcmVtZW50XG4iCiIgICAgXHQtLCArXHRcdHVuYXJ5IG1pbnVzLCBwbHVzXG4iCiIgICAgXHQhLCB+XHRcdGxvZ2ljYWwgYW5kIGJpdHdpc2UgbmVnYXRpb25cbiIKIiAgICBcdCoqXHRcdGV4cG9uZW50aWF0aW9uXG4iCiIgICAgXHQqLCAvLCAlXHRcdG11bHRpcGxpY2F0aW9uLCBkaXZpc2lvbiwgcmVtYWluZGVyXG4iCiIgICAgXHQrLCAtXHRcdGFkZGl0aW9uLCBzdWJ0cmFjdGlvblxuIgoiICAgIFx0PDwsID4+XHRcdGxlZnQgYW5kIHJpZ2h0IGJpdHdpc2Ugc2hpZnRzXG4iCiIgICAgXHQ8PSwgPj0sIDwsID5cdGNvbXBhcmlzb25cbiIKIiAgICBcdD09LCAhPVx0XHRlcXVhbGl0eSwgaW5lcXVhbGl0eVxuIgoiICAgIFx0Jlx0XHRiaXR3aXNlIEFORFxuIgoiICAgIFx0Xlx0XHRiaXR3aXNlIFhPUlxuIgoiICAgIFx0fFx0XHRiaXR3aXNlIE9SXG4iCiIgICAgXHQmJlx0XHRsb2dpY2FsIEFORFxuIgoiICAgIFx0fHxcdFx0bG9naWNhbCBPUlxuIgoiICAgIFx0ZXhwciA/IGV4cHIgOiBleHByXG4iCiIgICAgXHRcdFx0Y29uZGl0aW9uYWwgb3BlcmF0b3JcbiIKIiAgICBcdD0sICo9LCAvPSwgJT0sXG4iCiIgICAgXHQrPSwgLT0sIDw8PSwgPj49LFxuIgoiICAgIFx0Jj0sIF49LCB8PVx0YXNzaWdubWVudFxuIgoiICAgIFxuIgoiICAgIFNoZWxsIHZhcmlhYmxlcyBhcmUgYWxsb3dlZCBhcyBvcGVyYW5kcy4gIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZVxuIgoiICAgIGlzIHJlcGxhY2VkIGJ5IGl0cyB2YWx1ZSAoY29lcmNlZCB0byBhIGZpeGVkLXdpZHRoIGludGVnZXIpIHdpdGhpblxuIgoiICAgIGFuIGV4cHJlc3Npb24uICBUaGUgdmFyaWFibGUgbmVlZCBub3QgaGF2ZSBpdHMgaW50ZWdlciBhdHRyaWJ1dGVcbiIKIiAgICB0dXJuZWQgb24gdG8gYmUgdXNlZCBpbiBhbiBleHByZXNzaW9uLlxuIgoiICAgIFxuIgoiICAgIE9wZXJhdG9ycyBhcmUgZXZhbHVhdGVkIGluIG9yZGVyIG9mIHByZWNlZGVuY2UuICBTdWItZXhwcmVzc2lvbnMgaW5cbiIKIiAgICBwYXJlbnRoZXNlcyBhcmUgZXZhbHVhdGVkIGZpcnN0IGFuZCBtYXkgb3ZlcnJpZGUgdGhlIHByZWNlZGVuY2VcbiIKIiAgICBydWxlcyBhYm92ZS5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLi4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzo5NjYKbXNnaWQgIiIKIlJlYWQgYSBsaW5lIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGFuZCBzcGxpdCBpdCBpbnRvIGZpZWxkcy5cbiIKIiAgICBcbiIKIiAgICBSZWFkcyBhIHNpbmdsZSBsaW5lIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0LCBvciBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRFxuIgoiICAgIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgbGluZSBpcyBzcGxpdCBpbnRvIGZpZWxkcyBhcyB3aXRoICIKIndvcmRcbiIKIiAgICBzcGxpdHRpbmcsIGFuZCB0aGUgZmlyc3Qgd29yZCBpcyBhc3NpZ25lZCB0byB0aGUgZmlyc3QgTkFNRSwgdGhlIHNlY29uZFxuIgoiICAgIHdvcmQgdG8gdGhlIHNlY29uZCBOQU1FLCBhbmQgc28gb24sIHdpdGggYW55IGxlZnRvdmVyIHdvcmRzIGFzc2lnbmVkIHRvXG4iCiIgICAgdGhlIGxhc3QgTkFNRS4gIE9ubHkgdGhlIGNoYXJhY3RlcnMgZm91bmQgaW4gJElGUyBhcmUgcmVjb2duaXplZCBhcyAiCiJ3b3JkXG4iCiIgICAgZGVsaW1pdGVycy5cbiIKIiAgICBcbiIKIiAgICBJZiBubyBOQU1FcyBhcmUgc3VwcGxpZWQsIHRoZSBsaW5lIHJlYWQgaXMgc3RvcmVkIGluIHRoZSBSRVBMWSAiCiJ2YXJpYWJsZS5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgICAgLWEgYXJyYXlcdGFzc2lnbiB0aGUgd29yZHMgcmVhZCB0byBzZXF1ZW50aWFsIGluZGljZXMgb2YgdGhlIGFycmF5XG4iCiIgICAgXHRcdHZhcmlhYmxlIEFSUkFZLCBzdGFydGluZyBhdCB6ZXJvXG4iCiIgICAgICAtZCBkZWxpbVx0Y29udGludWUgdW50aWwgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiBERUxJTSBpcyByZWFkLCByYXRoZXJcbiIKIiAgICBcdFx0dGhhbiBuZXdsaW5lXG4iCiIgICAgICAtZVx0XHR1c2UgUmVhZGxpbmUgdG8gb2J0YWluIHRoZSBsaW5lIGluIGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCiIgICAgICAtaSB0ZXh0XHRVc2UgVEVYVCBhcyB0aGUgaW5pdGlhbCB0ZXh0IGZvciBSZWFkbGluZVxuIgoiICAgICAgLW4gbmNoYXJzXHRyZXR1cm4gYWZ0ZXIgcmVhZGluZyBOQ0hBUlMgY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3YWl0aW5nXG4iCiIgICAgXHRcdGZvciBhIG5ld2xpbmUsIGJ1dCBob25vciBhIGRlbGltaXRlciBpZiBmZXdlciB0aGFuIE5DSEFSU1xuIgoiICAgIFx0XHRjaGFyYWN0ZXJzIGFyZSByZWFkIGJlZm9yZSB0aGUgZGVsaW1pdGVyXG4iCiIgICAgICAtTiBuY2hhcnNcdHJldHVybiBvbmx5IGFmdGVyIHJlYWRpbmcgZXhhY3RseSBOQ0hBUlMgY2hhcmFjdGVycywgIgoidW5sZXNzXG4iCiIgICAgXHRcdEVPRiBpcyBlbmNvdW50ZXJlZCBvciByZWFkIHRpbWVzIG91dCwgaWdub3JpbmcgYW55IGRlbGltaXRlclxuIgoiICAgICAgLXAgcHJvbXB0XHRvdXRwdXQgdGhlIHN0cmluZyBQUk9NUFQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlXG4iCiIgICAgXHRcdGF0dGVtcHRpbmcgdG8gcmVhZFxuIgoiICAgICAgLXJcdFx0ZG8gbm90IGFsbG93IGJhY2tzbGFzaGVzIHRvIGVzY2FwZSBhbnkgY2hhcmFjdGVyc1xuIgoiICAgICAgLXNcdFx0ZG8gbm90IGVjaG8gaW5wdXQgY29taW5nIGZyb20gYSB0ZXJtaW5hbFxuIgoiICAgICAgLXQgdGltZW91dFx0dGltZSBvdXQgYW5kIHJldHVybiBmYWlsdXJlIGlmIGEgY29tcGxldGUgbGluZSBvZiBpbnB1dCAiCiJpc1xuIgoiICAgIFx0XHRub3QgcmVhZCB3aXRoaW50IFRJTUVPVVQgc2Vjb25kcy4gIFRoZSB2YWx1ZSBvZiB0aGUgVE1PVVRcbiIKIiAgICBcdFx0dmFyaWFibGUgaXMgdGhlIGRlZmF1bHQgdGltZW91dC4gIFRJTUVPVVQgbWF5IGJlIGFcbiIKIiAgICBcdFx0ZnJhY3Rpb25hbCBudW1iZXIuICBJZiBUSU1FT1VUIGlzIDAsIHJlYWQgcmV0dXJucyBzdWNjZXNzIG9ubHlcbiIKIiAgICBcdFx0aWYgaW5wdXQgaXMgYXZhaWxhYmxlIG9uIHRoZSBzcGVjaWZpZWQgZmlsZSBkZXNjcmlwdG9yLiAgVGhlXG4iCiIgICAgXHRcdGV4aXQgc3RhdHVzIGlzIGdyZWF0ZXIgdGhhbiAxMjggaWYgdGhlIHRpbWVvdXQgaXMgZXhjZWVkZWRcbiIKIiAgICAgIC11IGZkXHRcdHJlYWQgZnJvbSBmaWxlIGRlc2NyaXB0b3IgRkQgaW5zdGVhZCBvZiB0aGUgc3RhbmRhcmQgaW5wdXRcbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBUaGUgcmV0dXJuIGNvZGUgaXMgemVybywgdW5sZXNzIGVuZC1vZi1maWxlIGlzIGVuY291bnRlcmVkLCByZWFkIHRpbWVzICIKIm91dCxcbiIKIiAgICBvciBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXJndW1lbnQgdG8gLXUuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MTAwOQptc2dpZCAiIgoiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKIiAgICBcbiIKIiAgICBDYXVzZXMgYSBmdW5jdGlvbiBvciBzb3VyY2VkIHNjcmlwdCB0byBleGl0IHdpdGggdGhlIHJldHVybiB2YWx1ZVxuIgoiICAgIHNwZWNpZmllZCBieSBOLiAgSWYgTiBpcyBvbWl0dGVkLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyB0aGF0IG9mIHRoZVxuIgoiICAgIGxhc3QgY29tbWFuZCBleGVjdXRlZCB3aXRoaW4gdGhlIGZ1bmN0aW9uIG9yIHNjcmlwdC5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIE4sIG9yIGZhaWx1cmUgaWYgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MTAyMgptc2dpZCAiIgoiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiIgICAgXG4iCiIgICAgQ2hhbmdlIHRoZSB2YWx1ZSBvZiBzaGVsbCBhdHRyaWJ1dGVzIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMsIG9yXG4iCiIgICAgZGlzcGxheSB0aGUgbmFtZXMgYW5kIHZhbHVlcyBvZiBzaGVsbCB2YXJpYWJsZXMuXG4iCiIgICAgXG4iCiIgICAgT3B0aW9uczpcbiIKIiAgICAgIC1hICBNYXJrIHZhcmlhYmxlcyB3aGljaCBhcmUgbW9kaWZpZWQgb3IgY3JlYXRlZCBmb3IgZXhwb3J0LlxuIgoiICAgICAgLWIgIE5vdGlmeSBvZiBqb2IgdGVybWluYXRpb24gaW1tZWRpYXRlbHkuXG4iCiIgICAgICAtZSAgRXhpdCBpbW1lZGlhdGVseSBpZiBhIGNvbW1hbmQgZXhpdHMgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cy5cbiIKIiAgICAgIC1mICBEaXNhYmxlIGZpbGUgbmFtZSBnZW5lcmF0aW9uIChnbG9iYmluZykuXG4iCiIgICAgICAtaCAgUmVtZW1iZXIgdGhlIGxvY2F0aW9uIG9mIGNvbW1hbmRzIGFzIHRoZXkgYXJlIGxvb2tlZCB1cC5cbiIKIiAgICAgIC1rICBBbGwgYXNzaWdubWVudCBhcmd1bWVudHMgYXJlIHBsYWNlZCBpbiB0aGUgZW52aXJvbm1lbnQgZm9yIGFcbiIKIiAgICAgICAgICBjb21tYW5kLCBub3QganVzdCB0aG9zZSB0aGF0IHByZWNlZGUgdGhlIGNvbW1hbmQgbmFtZS5cbiIKIiAgICAgIC1tICBKb2IgY29udHJvbCBpcyBlbmFibGVkLlxuIgoiICAgICAgLW4gIFJlYWQgY29tbWFuZHMgYnV0IGRvIG5vdCBleGVjdXRlIHRoZW0uXG4iCiIgICAgICAtbyBvcHRpb24tbmFtZVxuIgoiICAgICAgICAgIFNldCB0aGUgdmFyaWFibGUgY29ycmVzcG9uZGluZyB0byBvcHRpb24tbmFtZTpcbiIKIiAgICAgICAgICAgICAgYWxsZXhwb3J0ICAgIHNhbWUgYXMgLWFcbiIKIiAgICAgICAgICAgICAgYnJhY2VleHBhbmQgIHNhbWUgYXMgLUJcbiIKIiAgICAgICAgICAgICAgZW1hY3MgICAgICAgIHVzZSBhbiBlbWFjcy1zdHlsZSBsaW5lIGVkaXRpbmcgaW50ZXJmYWNlXG4iCiIgICAgICAgICAgICAgIGVycmV4aXQgICAgICBzYW1lIGFzIC1lXG4iCiIgICAgICAgICAgICAgIGVycnRyYWNlICAgICBzYW1lIGFzIC1FXG4iCiIgICAgICAgICAgICAgIGZ1bmN0cmFjZSAgICBzYW1lIGFzIC1UXG4iCiIgICAgICAgICAgICAgIGhhc2hhbGwgICAgICBzYW1lIGFzIC1oXG4iCiIgICAgICAgICAgICAgIGhpc3RleHBhbmQgICBzYW1lIGFzIC1IXG4iCiIgICAgICAgICAgICAgIGhpc3RvcnkgICAgICBlbmFibGUgY29tbWFuZCBoaXN0b3J5XG4iCiIgICAgICAgICAgICAgIGlnbm9yZWVvZiAgICB0aGUgc2hlbGwgd2lsbCBub3QgZXhpdCB1cG9uIHJlYWRpbmcgRU9GXG4iCiIgICAgICAgICAgICAgIGludGVyYWN0aXZlLWNvbW1lbnRzXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvdyBjb21tZW50cyB0byBhcHBlYXIgaW4gaW50ZXJhY3RpdmUgY29tbWFuZHNcbiIKIiAgICAgICAgICAgICAga2V5d29yZCAgICAgIHNhbWUgYXMgLWtcbiIKIiAgICAgICAgICAgICAgbW9uaXRvciAgICAgIHNhbWUgYXMgLW1cbiIKIiAgICAgICAgICAgICAgbm9jbG9iYmVyICAgIHNhbWUgYXMgLUNcbiIKIiAgICAgICAgICAgICAgbm9leGVjICAgICAgIHNhbWUgYXMgLW5cbiIKIiAgICAgICAgICAgICAgbm9nbG9iICAgICAgIHNhbWUgYXMgLWZcbiIKIiAgICAgICAgICAgICAgbm9sb2cgICAgICAgIGN1cnJlbnRseSBhY2NlcHRlZCBidXQgaWdub3JlZFxuIgoiICAgICAgICAgICAgICBub3RpZnkgICAgICAgc2FtZSBhcyAtYlxuIgoiICAgICAgICAgICAgICBub3Vuc2V0ICAgICAgc2FtZSBhcyAtdVxuIgoiICAgICAgICAgICAgICBvbmVjbWQgICAgICAgc2FtZSBhcyAtdFxuIgoiICAgICAgICAgICAgICBwaHlzaWNhbCAgICAgc2FtZSBhcyAtUFxuIgoiICAgICAgICAgICAgICBwaXBlZmFpbCAgICAgdGhlIHJldHVybiB2YWx1ZSBvZiBhIHBpcGVsaW5lIGlzIHRoZSBzdGF0dXMgb2ZcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBsYXN0IGNvbW1hbmQgdG8gZXhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLFxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgemVybyBpZiBubyBjb21tYW5kIGV4aXRlZCB3aXRoIGEgbm9uLXplcm8gIgoic3RhdHVzXG4iCiIgICAgICAgICAgICAgIHBvc2l4ICAgICAgICBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGJhc2ggd2hlcmUgdGhlIGRlZmF1bHRcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbiBkaWZmZXJzIGZyb20gdGhlIFBvc2l4IHN0YW5kYXJkIHRvXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaCB0aGUgc3RhbmRhcmRcbiIKIiAgICAgICAgICAgICAgcHJpdmlsZWdlZCAgIHNhbWUgYXMgLXBcbiIKIiAgICAgICAgICAgICAgdmVyYm9zZSAgICAgIHNhbWUgYXMgLXZcbiIKIiAgICAgICAgICAgICAgdmkgICAgICAgICAgIHVzZSBhIHZpLXN0eWxlIGxpbmUgZWRpdGluZyBpbnRlcmZhY2VcbiIKIiAgICAgICAgICAgICAgeHRyYWNlICAgICAgIHNhbWUgYXMgLXhcbiIKIiAgICAgIC1wICBUdXJuZWQgb24gd2hlbmV2ZXIgdGhlIHJlYWwgYW5kIGVmZmVjdGl2ZSB1c2VyIGlkcyBkbyBub3QgbWF0Y2guXG4iCiIgICAgICAgICAgRGlzYWJsZXMgcHJvY2Vzc2luZyBvZiB0aGUgJEVOViBmaWxlIGFuZCBpbXBvcnRpbmcgb2Ygc2hlbGxcbiIKIiAgICAgICAgICBmdW5jdGlvbnMuICBUdXJuaW5nIHRoaXMgb3B0aW9uIG9mZiBjYXVzZXMgdGhlIGVmZmVjdGl2ZSB1aWQgYW5kXG4iCiIgICAgICAgICAgZ2lkIHRvIGJlIHNldCB0byB0aGUgcmVhbCB1aWQgYW5kIGdpZC5cbiIKIiAgICAgIC10ICBFeGl0IGFmdGVyIHJlYWRpbmcgYW5kIGV4ZWN1dGluZyBvbmUgY29tbWFuZC5cbiIKIiAgICAgIC11ICBUcmVhdCB1bnNldCB2YXJpYWJsZXMgYXMgYW4gZXJyb3Igd2hlbiBzdWJzdGl0dXRpbmcuXG4iCiIgICAgICAtdiAgUHJpbnQgc2hlbGwgaW5wdXQgbGluZXMgYXMgdGhleSBhcmUgcmVhZC5cbiIKIiAgICAgIC14ICBQcmludCBjb21tYW5kcyBhbmQgdGhlaXIgYXJndW1lbnRzIGFzIHRoZXkgYXJlIGV4ZWN1dGVkLlxuIgoiICAgICAgLUIgIHRoZSBzaGVsbCB3aWxsIHBlcmZvcm0gYnJhY2UgZXhwYW5zaW9uXG4iCiIgICAgICAtQyAgSWYgc2V0LCBkaXNhbGxvdyBleGlzdGluZyByZWd1bGFyIGZpbGVzIHRvIGJlIG92ZXJ3cml0dGVuXG4iCiIgICAgICAgICAgYnkgcmVkaXJlY3Rpb24gb2Ygb3V0cHV0LlxuIgoiICAgICAgLUUgIElmIHNldCwgdGhlIEVSUiB0cmFwIGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMuXG4iCiIgICAgICAtSCAgRW5hYmxlICEgc3R5bGUgaGlzdG9yeSBzdWJzdGl0dXRpb24uICBUaGlzIGZsYWcgaXMgb25cbiIKIiAgICAgICAgICBieSBkZWZhdWx0IHdoZW4gdGhlIHNoZWxsIGlzIGludGVyYWN0aXZlLlxuIgoiICAgICAgLVAgIElmIHNldCwgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcyB3aGVuIGV4ZWN1dGluZyBjb21tYW5kc1xuIgoiICAgICAgICAgIHN1Y2ggYXMgY2Qgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiIKIiAgICAgIC1UICBJZiBzZXQsIHRoZSBERUJVRyB0cmFwIGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMuXG4iCiIgICAgICAtICAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiIgICAgICAgICAgVGhlIC14IGFuZCAtdiBvcHRpb25zIGFyZSB0dXJuZWQgb2ZmLlxuIgoiICAgIFxuIgoiICAgIFVzaW5nICsgcmF0aGVyIHRoYW4gLSBjYXVzZXMgdGhlc2UgZmxhZ3MgdG8gYmUgdHVybmVkIG9mZi4gIFRoZVxuIgoiICAgIGZsYWdzIGNhbiBhbHNvIGJlIHVzZWQgdXBvbiBpbnZvY2F0aW9uIG9mIHRoZSBzaGVsbC4gIFRoZSBjdXJyZW50XG4iCiIgICAgc2V0IG9mIGZsYWdzIG1heSBiZSBmb3VuZCBpbiAkLS4gIFRoZSByZW1haW5pbmcgbiBBUkdzIGFyZSBwb3NpdGlvbmFsXG4iCiIgICAgcGFyYW1ldGVycyBhbmQgYXJlIGFzc2lnbmVkLCBpbiBvcmRlciwgdG8gJDEsICQyLCAuLiAkbi4gIElmIG5vXG4iCiIgICAgQVJHcyBhcmUgZ2l2ZW4sIGFsbCBzaGVsbCB2YXJpYWJsZXMgYXJlIHByaW50ZWQuXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzoxMTA0Cm1zZ2lkICIiCiJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiIgICAgXG4iCiIgICAgRm9yIGVhY2ggTkFNRSwgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIHZhcmlhYmxlIG9yIGZ1bmN0aW9uLlxuIgoiICAgIFxuIgoiICAgIE9wdGlvbnM6XG4iCiIgICAgICAtZlx0dHJlYXQgZWFjaCBOQU1FIGFzIGEgc2hlbGwgZnVuY3Rpb25cbiIKIiAgICAgIC12XHR0cmVhdCBlYWNoIE5BTUUgYXMgYSBzaGVsbCB2YXJpYWJsZVxuIgoiICAgIFxuIgoiICAgIFdpdGhvdXQgb3B0aW9ucywgdW5zZXQgZmlyc3QgdHJpZXMgdG8gdW5zZXQgYSB2YXJpYWJsZSwgYW5kIGlmIHRoYXQgIgoiZmFpbHMsXG4iCiIgICAgdHJpZXMgdG8gdW5zZXQgYSBmdW5jdGlvbi5cbiIKIiAgICBcbiIKIiAgICBTb21lIHZhcmlhYmxlcyBjYW5ub3QgYmUgdW5zZXQ7IGFsc28gc2VlIGByZWFkb25seScuXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjExMjQKbXNnaWQgIiIKIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCiIgICAgXG4iCiIgICAgTWFya3MgZWFjaCBOQU1FIGZvciBhdXRvbWF0aWMgZXhwb3J0IHRvIHRoZSBlbnZpcm9ubWVudCBvZiBzdWJzZXF1ZW50bHlcbiIKIiAgICBleGVjdXRlZCBjb21tYW5kcy4gIElmIFZBTFVFIGlzIHN1cHBsaWVkLCBhc3NpZ24gVkFMVUUgYmVmb3JlICIKImV4cG9ydGluZy5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgICAgLWZcdHJlZmVyIHRvIHNoZWxsIGZ1bmN0aW9uc1xuIgoiICAgICAgLW5cdHJlbW92ZSB0aGUgZXhwb3J0IHByb3BlcnR5IGZyb20gZWFjaCBOQU1FXG4iCiIgICAgICAtcFx0ZGlzcGxheSBhIGxpc3Qgb2YgYWxsIGV4cG9ydGVkIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zXG4iCiIgICAgXG4iCiIgICAgQW4gYXJndW1lbnQgb2YgYC0tJyBkaXNhYmxlcyBmdXJ0aGVyIG9wdGlvbiBwcm9jZXNzaW5nLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjExNDMKbXNnaWQgIiIKIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKIiAgICBcbiIKIiAgICBNYXJrIGVhY2ggTkFNRSBhcyByZWFkLW9ubHk7IHRoZSB2YWx1ZXMgb2YgdGhlc2UgTkFNRXMgbWF5IG5vdCBiZVxuIgoiICAgIGNoYW5nZWQgYnkgc3Vic2VxdWVudCBhc3NpZ25tZW50LiAgSWYgVkFMVUUgaXMgc3VwcGxpZWQsIGFzc2lnbiBWQUxVRVxuIgoiICAgIGJlZm9yZSBtYXJraW5nIGFzIHJlYWQtb25seS5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgICAgLWFcdHJlZmVyIHRvIGluZGV4ZWQgYXJyYXkgdmFyaWFibGVzXG4iCiIgICAgICAtQVx0cmVmZXIgdG8gYXNzb2NpYXRpdmUgYXJyYXkgdmFyaWFibGVzXG4iCiIgICAgICAtZlx0cmVmZXIgdG8gc2hlbGwgZnVuY3Rpb25zXG4iCiIgICAgICAtcFx0ZGlzcGxheSBhIGxpc3Qgb2YgYWxsIHJlYWRvbmx5IHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zXG4iCiIgICAgXG4iCiIgICAgQW4gYXJndW1lbnQgb2YgYC0tJyBkaXNhYmxlcyBmdXJ0aGVyIG9wdGlvbiBwcm9jZXNzaW5nLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjExNjQKbXNnaWQgIiIKIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKIiAgICBcbiIKIiAgICBSZW5hbWUgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyAkTisxLCROKzIgLi4uIHRvICQxLCQyIC4uLiAgSWYgTiBpc1xuIgoiICAgIG5vdCBnaXZlbiwgaXQgaXMgYXNzdW1lZCB0byBiZSAxLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKbXNnaWQgIiIKIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiIgICAgXG4iCiIgICAgUmVhZCBhbmQgZXhlY3V0ZSBjb21tYW5kcyBmcm9tIEZJTEVOQU1FIGluIHRoZSBjdXJyZW50IHNoZWxsLiAgVGhlXG4iCiIgICAgZW50cmllcyBpbiAkUEFUSCBhcmUgdXNlZCB0byBmaW5kIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBGSUxFTkFNRS5cbiIKIiAgICBJZiBhbnkgQVJHVU1FTlRTIGFyZSBzdXBwbGllZCwgdGhleSBiZWNvbWUgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgoiICAgIHdoZW4gRklMRU5BTUUgaXMgZXhlY3V0ZWQuXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQgaW4gRklMRU5BTUU7IGZhaWxzIGlmXG4iCiIgICAgRklMRU5BTUUgY2Fubm90IGJlIHJlYWQuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MTIwNwptc2dpZCAiIgoiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiIgICAgXG4iCiIgICAgU3VzcGVuZCB0aGUgZXhlY3V0aW9uIG9mIHRoaXMgc2hlbGwgdW50aWwgaXQgcmVjZWl2ZXMgYSBTSUdDT05UIHNpZ25hbC5cbiIKIiAgICBVbmxlc3MgZm9yY2VkLCBsb2dpbiBzaGVsbHMgY2Fubm90IGJlIHN1c3BlbmRlZC5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgICAgLWZcdGZvcmNlIHRoZSBzdXNwZW5kLCBldmVuIGlmIHRoZSBzaGVsbCBpcyBhIGxvZ2luIHNoZWxsXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MTIyMwptc2dpZCAiIgoiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKIiAgICBcbiIKIiAgICBFeGl0cyB3aXRoIGEgc3RhdHVzIG9mIDAgKHRydWUpIG9yIDEgKGZhbHNlKSBkZXBlbmRpbmcgb25cbiIKIiAgICB0aGUgZXZhbHVhdGlvbiBvZiBFWFBSLiAgRXhwcmVzc2lvbnMgbWF5IGJlIHVuYXJ5IG9yIGJpbmFyeS4gIFVuYXJ5XG4iCiIgICAgZXhwcmVzc2lvbnMgYXJlIG9mdGVuIHVzZWQgdG8gZXhhbWluZSB0aGUgc3RhdHVzIG9mIGEgZmlsZS4gIFRoZXJlXG4iCiIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYXMgd2VsbCwgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMuXG4iCiIgICAgXG4iCiIgICAgRmlsZSBvcGVyYXRvcnM6XG4iCiIgICAgXG4iCiIgICAgICAtYSBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgZXhpc3RzLlxuIgoiICAgICAgLWIgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGJsb2NrIHNwZWNpYWwuXG4iCiIgICAgICAtYyBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgY2hhcmFjdGVyIHNwZWNpYWwuXG4iCiIgICAgICAtZCBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgYSBkaXJlY3RvcnkuXG4iCiIgICAgICAtZSBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgZXhpc3RzLlxuIgoiICAgICAgLWYgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGV4aXN0cyBhbmQgaXMgYSByZWd1bGFyIGZpbGUuXG4iCiIgICAgICAtZyBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgc2V0LWdyb3VwLWlkLlxuIgoiICAgICAgLWggRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGEgc3ltYm9saWMgbGluay5cbiIKIiAgICAgIC1MIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBpcyBhIHN5bWJvbGljIGxpbmsuXG4iCiIgICAgICAtayBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaGFzIGl0cyBgc3RpY2t5JyBiaXQgc2V0LlxuIgoiICAgICAgLXAgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGEgbmFtZWQgcGlwZS5cbiIKIiAgICAgIC1yIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBpcyByZWFkYWJsZSBieSB5b3UuXG4iCiIgICAgICAtcyBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgZXhpc3RzIGFuZCBpcyBub3QgZW1wdHkuXG4iCiIgICAgICAtUyBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgYSBzb2NrZXQuXG4iCiIgICAgICAtdCBGRCAgICAgICAgICBUcnVlIGlmIEZEIGlzIG9wZW5lZCBvbiBhIHRlcm1pbmFsLlxuIgoiICAgICAgLXUgRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBzZXQtdXNlci1pZC5cbiIKIiAgICAgIC13IEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaXMgd3JpdGFibGUgYnkgeW91LlxuIgoiICAgICAgLXggRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBleGVjdXRhYmxlIGJ5IHlvdS5cbiIKIiAgICAgIC1PIEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaXMgZWZmZWN0aXZlbHkgb3duZWQgYnkgeW91LlxuIgoiICAgICAgLUcgRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBlZmZlY3RpdmVseSBvd25lZCBieSB5b3VyIGdyb3VwLlxuIgoiICAgICAgLU4gRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBoYXMgYmVlbiBtb2RpZmllZCBzaW5jZSBpdCB3YXMgbGFzdCAiCiJyZWFkLlxuIgoiICAgIFxuIgoiICAgICAgRklMRTEgLW50IEZJTEUyICBUcnVlIGlmIGZpbGUxIGlzIG5ld2VyIHRoYW4gZmlsZTIgKGFjY29yZGluZyB0b1xuIgoiICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmljYXRpb24gZGF0ZSkuXG4iCiIgICAgXG4iCiIgICAgICBGSUxFMSAtb3QgRklMRTIgIFRydWUgaWYgZmlsZTEgaXMgb2xkZXIgdGhhbiBmaWxlMi5cbiIKIiAgICBcbiIKIiAgICAgIEZJTEUxIC1lZiBGSUxFMiAgVHJ1ZSBpZiBmaWxlMSBpcyBhIGhhcmQgbGluayB0byBmaWxlMi5cbiIKIiAgICBcbiIKIiAgICBTdHJpbmcgb3BlcmF0b3JzOlxuIgoiICAgIFxuIgoiICAgICAgLXogU1RSSU5HICAgICAgVHJ1ZSBpZiBzdHJpbmcgaXMgZW1wdHkuXG4iCiIgICAgXG4iCiIgICAgICAtbiBTVFJJTkdcbiIKIiAgICAgICAgIFNUUklORyAgICAgIFRydWUgaWYgc3RyaW5nIGlzIG5vdCBlbXB0eS5cbiIKIiAgICBcbiIKIiAgICAgIFNUUklORzEgPSBTVFJJTkcyXG4iCiIgICAgICAgICAgICAgICAgICAgICBUcnVlIGlmIHRoZSBzdHJpbmdzIGFyZSBlcXVhbC5cbiIKIiAgICAgIFNUUklORzEgIT0gU1RSSU5HMlxuIgoiICAgICAgICAgICAgICAgICAgICAgVHJ1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgbm90IGVxdWFsLlxuIgoiICAgICAgU1RSSU5HMSA8IFNUUklORzJcbiIKIiAgICAgICAgICAgICAgICAgICAgIFRydWUgaWYgU1RSSU5HMSBzb3J0cyBiZWZvcmUgU1RSSU5HMiAiCiJsZXhpY29ncmFwaGljYWxseS5cbiIKIiAgICAgIFNUUklORzEgPiBTVFJJTkcyXG4iCiIgICAgICAgICAgICAgICAgICAgICBUcnVlIGlmIFNUUklORzEgc29ydHMgYWZ0ZXIgU1RSSU5HMiBsZXhpY29ncmFwaGljYWxseS5cbiIKIiAgICBcbiIKIiAgICBPdGhlciBvcGVyYXRvcnM6XG4iCiIgICAgXG4iCiIgICAgICAtbyBPUFRJT04gICAgICBUcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gT1BUSU9OIGlzIGVuYWJsZWQuXG4iCiIgICAgICAhIEVYUFIgICAgICAgICBUcnVlIGlmIGV4cHIgaXMgZmFsc2UuXG4iCiIgICAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLlxuIgoiICAgICAgRVhQUjEgLW8gRVhQUjIgVHJ1ZSBpZiBlaXRoZXIgZXhwcjEgT1IgZXhwcjIgaXMgdHJ1ZS5cbiIKIiAgICBcbiIKIiAgICAgIGFyZzEgT1AgYXJnMiAgIEFyaXRobWV0aWMgdGVzdHMuICBPUCBpcyBvbmUgb2YgLWVxLCAtbmUsXG4iCiIgICAgICAgICAgICAgICAgICAgICAtbHQsIC1sZSwgLWd0LCBvciAtZ2UuXG4iCiIgICAgXG4iCiIgICAgQXJpdGhtZXRpYyBiaW5hcnkgb3BlcmF0b3JzIHJldHVybiB0cnVlIGlmIEFSRzEgaXMgZXF1YWwsIG5vdC1lcXVhbCxcbiIKIiAgICBsZXNzLXRoYW4sIGxlc3MtdGhhbi1vci1lcXVhbCwgZ3JlYXRlci10aGFuLCBvciBncmVhdGVyLXRoYW4tb3ItZXF1YWxcbiIKIiAgICB0aGFuIEFSRzIuXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgUmV0dXJucyBzdWNjZXNzIGlmIEVYUFIgZXZhbHVhdGVzIHRvIHRydWU7IGZhaWxzIGlmIEVYUFIgZXZhbHVhdGVzIHRvXG4iCiIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzoxMjk5CiMsIGZ1enp5Cm1zZ2lkICIiCiJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgoiICAgIFxuIgoiICAgIFRoaXMgaXMgYSBzeW5vbnltIGZvciB0aGUgXCJ0ZXN0XCIgYnVpbHRpbiwgYnV0IHRoZSBsYXN0IGFyZ3VtZW50IG11c3RcbiIKIiAgICBiZSBhIGxpdGVyYWwgYF0nLCB0byBtYXRjaCB0aGUgb3BlbmluZyBgWycuIgptc2dzdHIgIiIKInBhcj9tZXRyZSBoYSBkZSBzZXIgZWwgc2lnbmUgXCJdXCIgcGVycXU/IGVzIHB1Z2EgdGFuY2FyIGwnZXhwcmVzc2k/IHF1ZVxuIgoiY29tZW4/YSBwZWwgc2lnbmUgXCJbXCIuIgoKIzogYnVpbHRpbnMuYzoxMzA4Cm1zZ2lkICIiCiJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiIgICAgXG4iCiIgICAgUHJpbnRzIHRoZSBhY2N1bXVsYXRlZCB1c2VyIGFuZCBzeXN0ZW0gdGltZXMgZm9yIHRoZSBzaGVsbCBhbmQgYWxsIG9mICIKIml0c1xuIgoiICAgIGNoaWxkIHByb2Nlc3Nlcy5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBBbHdheXMgc3VjY2VlZHMuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MTMyMAptc2dpZCAiIgoiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCiIgICAgXG4iCiIgICAgRGVmaW5lcyBhbmQgYWN0aXZhdGVzIGhhbmRsZXJzIHRvIGJlIHJ1biB3aGVuIHRoZSBzaGVsbCByZWNlaXZlcyAiCiJzaWduYWxzXG4iCiIgICAgb3Igb3RoZXIgY29uZGl0aW9ucy5cbiIKIiAgICBcbiIKIiAgICBBUkcgaXMgYSBjb21tYW5kIHRvIGJlIHJlYWQgYW5kIGV4ZWN1dGVkIHdoZW4gdGhlIHNoZWxsIHJlY2VpdmVzIHRoZVxuIgoiICAgIHNpZ25hbChzKSBTSUdOQUxfU1BFQy4gIElmIEFSRyBpcyBhYnNlbnQgKGFuZCBhIHNpbmdsZSBTSUdOQUxfU1BFQ1xuIgoiICAgIGlzIHN1cHBsaWVkKSBvciBgLScsIGVhY2ggc3BlY2lmaWVkIHNpZ25hbCBpcyByZXNldCB0byBpdHMgb3JpZ2luYWxcbiIKIiAgICB2YWx1ZS4gIElmIEFSRyBpcyB0aGUgbnVsbCBzdHJpbmcgZWFjaCBTSUdOQUxfU1BFQyBpcyBpZ25vcmVkIGJ5IHRoZVxuIgoiICAgIHNoZWxsIGFuZCBieSB0aGUgY29tbWFuZHMgaXQgaW52b2tlcy5cbiIKIiAgICBcbiIKIiAgICBJZiBhIFNJR05BTF9TUEVDIGlzIEVYSVQgKDApIEFSRyBpcyBleGVjdXRlZCBvbiBleGl0IGZyb20gdGhlIHNoZWxsLiAgIgoiSWZcbiIKIiAgICBhIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5IHNpbXBsZSBjb21tYW5kLlxuIgoiICAgIFxuIgoiICAgIElmIG5vIGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQsIHRyYXAgcHJpbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmRzICIKImFzc29jaWF0ZWRcbiIKIiAgICB3aXRoIGVhY2ggc2lnbmFsLlxuIgoiICAgIFxuIgoiICAgIE9wdGlvbnM6XG4iCiIgICAgICAtbFx0cHJpbnQgYSBsaXN0IG9mIHNpZ25hbCBuYW1lcyBhbmQgdGhlaXIgY29ycmVzcG9uZGluZyBudW1iZXJzXG4iCiIgICAgICAtcFx0ZGlzcGxheSB0aGUgdHJhcCBjb21tYW5kcyBhc3NvY2lhdGVkIHdpdGggZWFjaCBTSUdOQUxfU1BFQ1xuIgoiICAgIFxuIgoiICAgIEVhY2ggU0lHTkFMX1NQRUMgaXMgZWl0aGVyIGEgc2lnbmFsIG5hbWUgaW4gPHNpZ25hbC5oPiBvciBhIHNpZ25hbCAiCiJudW1iZXIuXG4iCiIgICAgU2lnbmFsIG5hbWVzIGFyZSBjYXNlIGluc2Vuc2l0aXZlIGFuZCB0aGUgU0lHIHByZWZpeCBpcyBvcHRpb25hbC4gIEFcbiIKIiAgICBzaWduYWwgbWF5IGJlIHNlbnQgdG8gdGhlIHNoZWxsIHdpdGggXCJraWxsIC1zaWduYWwgJCRcIi5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgU0lHU1BFQyBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzICIKImdpdmVuLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjEzNTIKbXNnaWQgIiIKIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgoiICAgIFxuIgoiICAgIEZvciBlYWNoIE5BTUUsIGluZGljYXRlIGhvdyBpdCB3b3VsZCBiZSBpbnRlcnByZXRlZCBpZiB1c2VkIGFzIGFcbiIKIiAgICBjb21tYW5kIG5hbWUuXG4iCiIgICAgXG4iCiIgICAgT3B0aW9uczpcbiIKIiAgICAgIC1hXHRkaXNwbGF5IGFsbCBsb2NhdGlvbnMgY29udGFpbmluZyBhbiBleGVjdXRhYmxlIG5hbWVkIE5BTUU7XG4iCiIgICAgXHRpbmNsdWRlcyBhbGlhc2VzLCBidWlsdGlucywgYW5kIGZ1bmN0aW9ucywgaWYgYW5kIG9ubHkgaWZcbiIKIiAgICBcdHRoZSBgLXAnIG9wdGlvbiBpcyBub3QgYWxzbyB1c2VkXG4iCiIgICAgICAtZlx0c3VwcHJlc3Mgc2hlbGwgZnVuY3Rpb24gbG9va3VwXG4iCiIgICAgICAtUFx0Zm9yY2UgYSBQQVRIIHNlYXJjaCBmb3IgZWFjaCBOQU1FLCBldmVuIGlmIGl0IGlzIGFuIGFsaWFzLFxuIgoiICAgIFx0YnVpbHRpbiwgb3IgZnVuY3Rpb24sIGFuZCByZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBkaXNrIGZpbGVcbiIKIiAgICBcdHRoYXQgd291bGQgYmUgZXhlY3V0ZWRcbiIKIiAgICAgIC1wXHRyZXR1cm5zIGVpdGhlciB0aGUgbmFtZSBvZiB0aGUgZGlzayBmaWxlIHRoYXQgd291bGQgYmUgZXhlY3V0ZWQsXG4iCiIgICAgXHRvciBub3RoaW5nIGlmIGB0eXBlIC10IE5BTUUnIHdvdWxkIG5vdCByZXR1cm4gYGZpbGUnLlxuIgoiICAgICAgLXRcdG91dHB1dCBhIHNpbmdsZSB3b3JkIHdoaWNoIGlzIG9uZSBvZiBgYWxpYXMnLCBga2V5d29yZCcsXG4iCiIgICAgXHRgZnVuY3Rpb24nLCBgYnVpbHRpbicsIGBmaWxlJyBvciBgJywgaWYgTkFNRSBpcyBhbiBhbGlhcywgc2hlbGxcbiIKIiAgICBcdHJlc2VydmVkIHdvcmQsIHNoZWxsIGZ1bmN0aW9uLCBzaGVsbCBidWlsdGluLCBkaXNrIGZpbGUsIG9yIG5vdFxuIgoiICAgIFx0Zm91bmQsIHJlc3BlY3RpdmVseVxuIgoiICAgIFxuIgoiICAgIEFyZ3VtZW50czpcbiIKIiAgICAgIE5BTUVcdENvbW1hbmQgbmFtZSB0byBiZSBpbnRlcnByZXRlZC5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgYWxsIG9mIHRoZSBOQU1FcyBhcmUgZm91bmQ7IGZhaWxzIGlmIGFueSBhcmUgbm90ICIKImZvdW5kLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjEzODMKbXNnaWQgIiIKIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiIgICAgXG4iCiIgICAgUHJvdmlkZXMgY29udHJvbCBvdmVyIHRoZSByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIHRoZSBzaGVsbCBhbmQgIgoicHJvY2Vzc2VzXG4iCiIgICAgaXQgY3JlYXRlcywgb24gc3lzdGVtcyB0aGF0IGFsbG93IHN1Y2ggY29udHJvbC5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgICAgLVNcdHVzZSB0aGUgYHNvZnQnIHJlc291cmNlIGxpbWl0XG4iCiIgICAgICAtSFx0dXNlIHRoZSBgaGFyZCcgcmVzb3VyY2UgbGltaXRcbiIKIiAgICAgIC1hXHRhbGwgY3VycmVudCBsaW1pdHMgYXJlIHJlcG9ydGVkXG4iCiIgICAgICAtYlx0dGhlIHNvY2tldCBidWZmZXIgc2l6ZVxuIgoiICAgICAgLWNcdHRoZSBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCiIgICAgICAtZFx0dGhlIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKIiAgICAgIC1lXHR0aGUgbWF4aW11bSBzY2hlZHVsaW5nIHByaW9yaXR5IChgbmljZScpXG4iCiIgICAgICAtZlx0dGhlIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBzaGVsbCBhbmQgaXRzIGNoaWxkcmVuXG4iCiIgICAgICAtaVx0dGhlIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgoiICAgICAgLWxcdHRoZSBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCiIgICAgICAtbVx0dGhlIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKIiAgICAgIC1uXHR0aGUgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlIGRlc2NyaXB0b3JzXG4iCiIgICAgICAtcFx0dGhlIHBpcGUgYnVmZmVyIHNpemVcbiIKIiAgICAgIC1xXHR0aGUgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKIiAgICAgIC1yXHR0aGUgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgoiICAgICAgLXNcdHRoZSBtYXhpbXVtIHN0YWNrIHNpemVcbiIKIiAgICAgIC10XHR0aGUgbWF4aW11bSBhbW91bnQgb2YgY3B1IHRpbWUgaW4gc2Vjb25kc1xuIgoiICAgICAgLXVcdHRoZSBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgoiICAgICAgLXZcdHRoZSBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCiIgICAgICAteFx0dGhlIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKIiAgICBcbiIKIiAgICBJZiBMSU1JVCBpcyBnaXZlbiwgaXQgaXMgdGhlIG5ldyB2YWx1ZSBvZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlOyB0aGVcbiIKIiAgICBzcGVjaWFsIExJTUlUIHZhbHVlcyBgc29mdCcsIGBoYXJkJywgYW5kIGB1bmxpbWl0ZWQnIHN0YW5kIGZvciB0aGVcbiIKIiAgICBjdXJyZW50IHNvZnQgbGltaXQsIHRoZSBjdXJyZW50IGhhcmQgbGltaXQsIGFuZCBubyBsaW1pdCwgcmVzcGVjdGl2ZWx5LlxuIgoiICAgIE90aGVyd2lzZSwgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCByZXNvdXJjZSBpcyBwcmludGVkLiAgSWZcbiIKIiAgICBubyBvcHRpb24gaXMgZ2l2ZW4sIHRoZW4gLWYgaXMgYXNzdW1lZC5cbiIKIiAgICBcbiIKIiAgICBWYWx1ZXMgYXJlIGluIDEwMjQtYnl0ZSBpbmNyZW1lbnRzLCBleGNlcHQgZm9yIC10LCB3aGljaCBpcyBpbiBzZWNvbmRzLFxuIgoiICAgIC1wLCB3aGljaCBpcyBpbiBpbmNyZW1lbnRzIG9mIDUxMiBieXRlcywgYW5kIC11LCB3aGljaCBpcyBhbiB1bnNjYWxlZFxuIgoiICAgIG51bWJlciBvZiBwcm9jZXNzZXMuXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MTQyOAptc2dpZCAiIgoiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiIgICAgXG4iCiIgICAgU2V0cyB0aGUgdXNlciBmaWxlLWNyZWF0aW9uIG1hc2sgdG8gTU9ERS4gIElmIE1PREUgaXMgb21pdHRlZCwgcHJpbnRzXG4iCiIgICAgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIG1hc2suXG4iCiIgICAgXG4iCiIgICAgSWYgTU9ERSBiZWdpbnMgd2l0aCBhIGRpZ2l0LCBpdCBpcyBpbnRlcnByZXRlZCBhcyBhbiBvY3RhbCBudW1iZXI7XG4iCiIgICAgb3RoZXJ3aXNlIGl0IGlzIGEgc3ltYm9saWMgbW9kZSBzdHJpbmcgbGlrZSB0aGF0IGFjY2VwdGVkIGJ5IGNobW9kKDEpLlxuIgoiICAgIFxuIgoiICAgIE9wdGlvbnM6XG4iCiIgICAgICAtcFx0aWYgTU9ERSBpcyBvbWl0dGVkLCBvdXRwdXQgaW4gYSBmb3JtIHRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dFxuIgoiICAgICAgLVNcdG1ha2VzIHRoZSBvdXRwdXQgc3ltYm9saWM7IG90aGVyd2lzZSBhbiBvY3RhbCBudW1iZXIgaXMgb3V0cHV0XG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBNT0RFIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MTQ0OAptc2dpZCAiIgoiV2FpdCBmb3Igam9iIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKIiAgICBcbiIKIiAgICBXYWl0cyBmb3IgdGhlIHByb2Nlc3MgaWRlbnRpZmllZCBieSBJRCwgd2hpY2ggbWF5IGJlIGEgcHJvY2VzcyBJRCBvciBhXG4iCiIgICAgam9iIHNwZWNpZmljYXRpb24sIGFuZCByZXBvcnRzIGl0cyB0ZXJtaW5hdGlvbiBzdGF0dXMuICBJZiBJRCBpcyBub3RcbiIKIiAgICBnaXZlbiwgd2FpdHMgZm9yIGFsbCBjdXJyZW50bHkgYWN0aXZlIGNoaWxkIHByb2Nlc3NlcywgYW5kIHRoZSByZXR1cm5cbiIKIiAgICBzdGF0dXMgaXMgemVyby4gIElmIElEIGlzIGEgYSBqb2Igc3BlY2lmaWNhdGlvbiwgd2FpdHMgZm9yIGFsbCAiCiJwcm9jZXNzZXNcbiIKIiAgICBpbiB0aGUgam9iJ3MgcGlwZWxpbmUuXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIElEOyBmYWlscyBpZiBJRCBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uICIKImlzXG4iCiIgICAgZ2l2ZW4uIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MTQ2Ngptc2dpZCAiIgoiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiIgICAgXG4iCiIgICAgV2FpdHMgZm9yIHRoZSBzcGVjaWZpZWQgcHJvY2VzcyBhbmQgcmVwb3J0cyBpdHMgdGVybWluYXRpb24gc3RhdHVzLiAgSWZcbiIKIiAgICBQSUQgaXMgbm90IGdpdmVuLCBhbGwgY3VycmVudGx5IGFjdGl2ZSBjaGlsZCBwcm9jZXNzZXMgYXJlIHdhaXRlZCBmb3IsXG4iCiIgICAgYW5kIHRoZSByZXR1cm4gY29kZSBpcyB6ZXJvLiAgUElEIG11c3QgYmUgYSBwcm9jZXNzIElELlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiBJRDsgZmFpbHMgaWYgSUQgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiAiCiJpc1xuIgoiICAgIGdpdmVuLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjE0ODEKbXNnaWQgIiIKIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKIiAgICBcbiIKIiAgICBUaGUgYGZvcicgbG9vcCBleGVjdXRlcyBhIHNlcXVlbmNlIG9mIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhXG4iCiIgICAgbGlzdCBvZiBpdGVtcy4gIElmIGBpbiBXT1JEUyAuLi47JyBpcyBub3QgcHJlc2VudCwgdGhlbiBgaW4gXCIkQFwiJyBpc1xuIgoiICAgIGFzc3VtZWQuICBGb3IgZWFjaCBlbGVtZW50IGluIFdPUkRTLCBOQU1FIGlzIHNldCB0byB0aGF0IGVsZW1lbnQsIGFuZFxuIgoiICAgIHRoZSBDT01NQU5EUyBhcmUgZXhlY3V0ZWQuXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MTQ5NQptc2dpZCAiIgoiQXJpdGhtZXRpYyBmb3IgbG9vcC5cbiIKIiAgICBcbiIKIiAgICBFcXVpdmFsZW50IHRvXG4iCiIgICAgXHQoKCBFWFAxICkpXG4iCiIgICAgXHR3aGlsZSAoKCBFWFAyICkpOyBkb1xuIgoiICAgIFx0XHRDT01NQU5EU1xuIgoiICAgIFx0XHQoKCBFWFAzICkpXG4iCiIgICAgXHRkb25lXG4iCiIgICAgRVhQMSwgRVhQMiwgYW5kIEVYUDMgYXJlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuICBJZiBhbnkgZXhwcmVzc2lvbiBpc1xuIgoiICAgIG9taXR0ZWQsIGl0IGJlaGF2ZXMgYXMgaWYgaXQgZXZhbHVhdGVzIHRvIDEuXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MTUxMwptc2dpZCAiIgoiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgoiICAgIFxuIgoiICAgIFRoZSBXT1JEUyBhcmUgZXhwYW5kZWQsIGdlbmVyYXRpbmcgYSBsaXN0IG9mIHdvcmRzLiAgVGhlXG4iCiIgICAgc2V0IG9mIGV4cGFuZGVkIHdvcmRzIGlzIHByaW50ZWQgb24gdGhlIHN0YW5kYXJkIGVycm9yLCBlYWNoXG4iCiIgICAgcHJlY2VkZWQgYnkgYSBudW1iZXIuICBJZiBgaW4gV09SRFMnIGlzIG5vdCBwcmVzZW50LCBgaW4gXCIkQFwiJ1xuIgoiICAgIGlzIGFzc3VtZWQuICBUaGUgUFMzIHByb21wdCBpcyB0aGVuIGRpc3BsYXllZCBhbmQgYSBsaW5lIHJlYWRcbiIKIiAgICBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dC4gIElmIHRoZSBsaW5lIGNvbnNpc3RzIG9mIHRoZSBudW1iZXJcbiIKIiAgICBjb3JyZXNwb25kaW5nIHRvIG9uZSBvZiB0aGUgZGlzcGxheWVkIHdvcmRzLCB0aGVuIE5BTUUgaXMgc2V0XG4iCiIgICAgdG8gdGhhdCB3b3JkLiAgSWYgdGhlIGxpbmUgaXMgZW1wdHksIFdPUkRTIGFuZCB0aGUgcHJvbXB0IGFyZVxuIgoiICAgIHJlZGlzcGxheWVkLiAgSWYgRU9GIGlzIHJlYWQsIHRoZSBjb21tYW5kIGNvbXBsZXRlcy4gIEFueSBvdGhlclxuIgoiICAgIHZhbHVlIHJlYWQgY2F1c2VzIE5BTUUgdG8gYmUgc2V0IHRvIG51bGwuICBUaGUgbGluZSByZWFkIGlzIHNhdmVkXG4iCiIgICAgaW4gdGhlIHZhcmlhYmxlIFJFUExZLiAgQ09NTUFORFMgYXJlIGV4ZWN1dGVkIGFmdGVyIGVhY2ggc2VsZWN0aW9uXG4iCiIgICAgdW50aWwgYSBicmVhayBjb21tYW5kIGlzIGV4ZWN1dGVkLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjE1MzQKbXNnaWQgIiIKIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgoiICAgIFxuIgoiICAgIEV4ZWN1dGUgUElQRUxJTkUgYW5kIHByaW50IGEgc3VtbWFyeSBvZiB0aGUgcmVhbCB0aW1lLCB1c2VyIENQVSB0aW1lLFxuIgoiICAgIGFuZCBzeXN0ZW0gQ1BVIHRpbWUgc3BlbnQgZXhlY3V0aW5nIFBJUEVMSU5FIHdoZW4gaXQgdGVybWluYXRlcy5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgICAgLXBcdHByaW50IHRoZSB0aW1pbmcgc3VtbWFyeSBpbiB0aGUgcG9ydGFibGUgUG9zaXggZm9ybWF0XG4iCiIgICAgXG4iCiIgICAgVGhlIHZhbHVlIG9mIHRoZSBUSU1FRk9STUFUIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIG91dHB1dCBmb3JtYXQuXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIHJldHVybiBzdGF0dXMgb2YgUElQRUxJTkUuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MTU1MQojLCBmdXp6eQptc2dpZCAiIgoiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgoiICAgIFxuIgoiICAgIFNlbGVjdGl2ZWx5IGV4ZWN1dGUgQ09NTUFORFMgYmFzZWQgdXBvbiBXT1JEIG1hdGNoaW5nIFBBVFRFUk4uICBUaGVcbiIKIiAgICBgfCcgaXMgdXNlZCB0byBzZXBhcmF0ZSBtdWx0aXBsZSBwYXR0ZXJucy5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCm1zZ3N0ciAiRXhlY3V0YSBzZWxlY3RpdmFtZW50IGxlcyBvcmRyZXMgZXNwZWNpZmljYWRlcyBlbiBPUkRSRVMgc2VndWludCB1bmEgIgoKIzogYnVpbHRpbnMuYzoxNTYzCm1zZ2lkICIiCiJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgoiICAgIFxuIgoiICAgIFRoZSBgaWYgQ09NTUFORFMnIGxpc3QgaXMgZXhlY3V0ZWQuICBJZiBpdHMgZXhpdCBzdGF0dXMgaXMgemVybywgdGhlbiAiCiJ0aGVcbiIKIiAgICBgdGhlbiBDT01NQU5EUycgbGlzdCBpcyBleGVjdXRlZC4gIE90aGVyd2lzZSwgZWFjaCBgZWxpZiBDT01NQU5EUycgbGlzdCAiCiJpc1xuIgoiICAgIGV4ZWN1dGVkIGluIHR1cm4sIGFuZCBpZiBpdHMgZXhpdCBzdGF0dXMgaXMgemVybywgdGhlIGNvcnJlc3BvbmRpbmdcbiIKIiAgICBgdGhlbiBDT01NQU5EUycgbGlzdCBpcyBleGVjdXRlZCBhbmQgdGhlIGlmIGNvbW1hbmQgY29tcGxldGVzLiAgIgoiT3RoZXJ3aXNlLFxuIgoiICAgIHRoZSBgZWxzZSBDT01NQU5EUycgbGlzdCBpcyBleGVjdXRlZCwgaWYgcHJlc2VudC4gIFRoZSBleGl0IHN0YXR1cyBvZiAiCiJ0aGVcbiIKIiAgICBlbnRpcmUgY29uc3RydWN0IGlzIHRoZSBleGl0IHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLCBvciAiCiJ6ZXJvXG4iCiIgICAgaWYgbm8gY29uZGl0aW9uIHRlc3RlZCB0cnVlLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjE1ODAKIywgZnV6enkKbXNnaWQgIiIKIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCiIgICAgXG4iCiIgICAgRXhwYW5kIGFuZCBleGVjdXRlIENPTU1BTkRTIGFzIGxvbmcgYXMgdGhlIGZpbmFsIGNvbW1hbmQgaW4gdGhlXG4iCiIgICAgYHdoaWxlJyBDT01NQU5EUyBoYXMgYW4gZXhpdCBzdGF0dXMgb2YgemVyby5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCm1zZ3N0ciAiIgoiRXhwYW5kZWl4IGkgZXhlY3V0YSBsZXMgb3JkcmVzIGVzcGVjaWZpY2FkZXMgZW4gT1JEUkVTIGkgZWxzIGV4ZWN1dGFcbiIKImRlIHRhbCBtYW5lcmEgcXVlIGxhIGRhcnJlcmEgb3JkcmUiCgojOiBidWlsdGlucy5jOjE1OTIKIywgZnV6enkKbXNnaWQgIiIKIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKIiAgICBcbiIKIiAgICBFeHBhbmQgYW5kIGV4ZWN1dGUgQ09NTUFORFMgYXMgbG9uZyBhcyB0aGUgZmluYWwgY29tbWFuZCBpbiB0aGVcbiIKIiAgICBgdW50aWwnIENPTU1BTkRTIGhhcyBhbiBleGl0IHN0YXR1cyB3aGljaCBpcyBub3QgemVyby5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCm1zZ3N0ciAiIgoiRXhwYW5kZWl4IGkgZXhlY3V0YSBsZXMgb3JkcmVzIGVzcGVjaWZpY2FkZXMgZW4gT1JEUkVTIGkgZWxzIGV4ZWN1dGFcbiIKImRlIHRhbCBtYW5lcmEgcXVlIGxhIGRhcnJlcmEgb3JkcmUiCgojOiBidWlsdGlucy5jOjE2MDQKbXNnaWQgIiIKIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgoiICAgIFxuIgoiICAgIEV4ZWN1dGUgQ09NTUFORCBhc3luY2hyb25vdXNseSwgd2l0aCB0aGUgc3RhbmRhcmQgb3V0cHV0IGFuZCBzdGFuZGFyZFxuIgoiICAgIGlucHV0IG9mIHRoZSBjb21tYW5kIGNvbm5lY3RlZCB2aWEgYSBwaXBlIHRvIGZpbGUgZGVzY3JpcHRvcnMgYXNzaWduZWRcbiIKIiAgICB0byBpbmRpY2VzIDAgYW5kIDEgb2YgYW4gYXJyYXkgdmFyaWFibGUgTkFNRSBpbiB0aGUgZXhlY3V0aW5nIHNoZWxsLlxuIgoiICAgIFRoZSBkZWZhdWx0IE5BTUUgaXMgXCJDT1BST0NcIi5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjE2MTgKbXNnaWQgIiIKIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKIiAgICBcbiIKIiAgICBDcmVhdGUgYSBzaGVsbCBmdW5jdGlvbiBuYW1lZCBOQU1FLiAgV2hlbiBpbnZva2VkIGFzIGEgc2ltcGxlIGNvbW1hbmQsXG4iCiIgICAgTkFNRSBydW5zIENPTU1BTkRzIGluIHRoZSBjYWxsaW5nIHNoZWxsJ3MgY29udGV4dC4gIFdoZW4gTkFNRSBpcyAiCiJpbnZva2VkLFxuIgoiICAgIHRoZSBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24gYXMgJDEuLi4kbiwgYW5kIHRoZSBmdW5jdGlvbidzXG4iCiIgICAgbmFtZSBpcyBpbiAkRlVOQ05BTUUuXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIHJlYWRvbmx5LiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjE2MzIKIywgZnV6enkKbXNnaWQgIiIKIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKIiAgICBcbiIKIiAgICBSdW4gYSBzZXQgb2YgY29tbWFuZHMgaW4gYSBncm91cC4gIFRoaXMgaXMgb25lIHdheSB0byByZWRpcmVjdCBhblxuIgoiICAgIGVudGlyZSBzZXQgb2YgY29tbWFuZHMuXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgptc2dzdHIgIkV4ZWN1dGEgdW4gY29uanVudCBkJ29yZHJlcyBlbiB1biBncnVwLiAgQT8/ID9zIHVuYSBtYW5lcmEgZGUiCgojOiBidWlsdGlucy5jOjE2NDQKbXNnaWQgIiIKIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKIiAgICBcbiIKIiAgICBFcXVpdmFsZW50IHRvIHRoZSBKT0JfU1BFQyBhcmd1bWVudCB0byB0aGUgYGZnJyBjb21tYW5kLiAgUmVzdW1lIGFcbiIKIiAgICBzdG9wcGVkIG9yIGJhY2tncm91bmQgam9iLiAgSk9CX1NQRUMgY2FuIHNwZWNpZnkgZWl0aGVyIGEgam9iIG5hbWVcbiIKIiAgICBvciBhIGpvYiBudW1iZXIuICBGb2xsb3dpbmcgSk9CX1NQRUMgd2l0aCBhIGAmJyBwbGFjZXMgdGhlIGpvYiBpblxuIgoiICAgIHRoZSBiYWNrZ3JvdW5kLCBhcyBpZiB0aGUgam9iIHNwZWNpZmljYXRpb24gaGFkIGJlZW4gc3VwcGxpZWQgYXMgYW5cbiIKIiAgICBhcmd1bWVudCB0byBgYmcnLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgcmVzdW1lZCBqb2IuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MTY1OQptc2dpZCAiIgoiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgoiICAgIFxuIgoiICAgIFRoZSBFWFBSRVNTSU9OIGlzIGV2YWx1YXRlZCBhY2NvcmRpbmcgdG8gdGhlIHJ1bGVzIGZvciBhcml0aG1ldGljXG4iCiIgICAgZXZhbHVhdGlvbi4gIEVxdWl2YWxlbnQgdG8gXCJsZXQgRVhQUkVTU0lPTlwiLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgMSBpZiBFWFBSRVNTSU9OIGV2YWx1YXRlcyB0byAwOyByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjE2NzEKbXNnaWQgIiIKIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKIiAgICBcbiIKIiAgICBSZXR1cm5zIGEgc3RhdHVzIG9mIDAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIGV2YWx1YXRpb24gb2YgdGhlICIKImNvbmRpdGlvbmFsXG4iCiIgICAgZXhwcmVzc2lvbiBFWFBSRVNTSU9OLiAgRXhwcmVzc2lvbnMgYXJlIGNvbXBvc2VkIG9mIHRoZSBzYW1lIHByaW1hcmllcyAiCiJ1c2VkXG4iCiIgICAgYnkgdGhlIGB0ZXN0JyBidWlsdGluLCBhbmQgbWF5IGJlIGNvbWJpbmVkIHVzaW5nIHRoZSBmb2xsb3dpbmcgIgoib3BlcmF0b3JzOlxuIgoiICAgIFxuIgoiICAgICAgKCBFWFBSRVNTSU9OIClcdFJldHVybnMgdGhlIHZhbHVlIG9mIEVYUFJFU1NJT05cbiIKIiAgICAgICEgRVhQUkVTU0lPTlx0XHRUcnVlIGlmIEVYUFJFU1NJT04gaXMgZmFsc2U7IGVsc2UgZmFsc2VcbiIKIiAgICAgIEVYUFIxICYmIEVYUFIyXHRUcnVlIGlmIGJvdGggRVhQUjEgYW5kIEVYUFIyIGFyZSB0cnVlOyBlbHNlIGZhbHNlXG4iCiIgICAgICBFWFBSMSB8fCBFWFBSMlx0VHJ1ZSBpZiBlaXRoZXIgRVhQUjEgb3IgRVhQUjIgaXMgdHJ1ZTsgZWxzZSBmYWxzZVxuIgoiICAgIFxuIgoiICAgIFdoZW4gdGhlIGA9PScgYW5kIGAhPScgb3BlcmF0b3JzIGFyZSB1c2VkLCB0aGUgc3RyaW5nIHRvIHRoZSByaWdodCBvZlxuIgoiICAgIHRoZSBvcGVyYXRvciBpcyB1c2VkIGFzIGEgcGF0dGVybiBhbmQgcGF0dGVybiBtYXRjaGluZyBpcyBwZXJmb3JtZWQuXG4iCiIgICAgV2hlbiB0aGUgYD1+JyBvcGVyYXRvciBpcyB1c2VkLCB0aGUgc3RyaW5nIHRvIHRoZSByaWdodCBvZiB0aGUgb3BlcmF0b3JcbiIKIiAgICBpcyBtYXRjaGVkIGFzIGEgcmVndWxhciBleHByZXNzaW9uLlxuIgoiICAgIFxuIgoiICAgIFRoZSAmJiBhbmQgfHwgb3BlcmF0b3JzIGRvIG5vdCBldmFsdWF0ZSBFWFBSMiBpZiBFWFBSMSBpcyBzdWZmaWNpZW50IHRvXG4iCiIgICAgZGV0ZXJtaW5lIHRoZSBleHByZXNzaW9uJ3MgdmFsdWUuXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjE2OTcKbXNnaWQgIiIKIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCiIgICAgXG4iCiIgICAgQkFTSF9WRVJTSU9OXHRWZXJzaW9uIGluZm9ybWF0aW9uIGZvciB0aGlzIEJhc2guXG4iCiIgICAgQ0RQQVRIXHRBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaFxuIgoiICAgIFx0XHRmb3IgZGlyZWN0b3JpZXMgZ2l2ZW4gYXMgYXJndW1lbnRzIHRvIGBjZCcuXG4iCiIgICAgR0xPQklHTk9SRVx0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBwYXR0ZXJucyBkZXNjcmliaW5nIGZpbGVuYW1lcyB0b1xuIgoiICAgIFx0XHRiZSBpZ25vcmVkIGJ5IHBhdGhuYW1lIGV4cGFuc2lvbi5cbiIKIiAgICBISVNURklMRVx0VGhlIG5hbWUgb2YgdGhlIGZpbGUgd2hlcmUgeW91ciBjb21tYW5kIGhpc3RvcnkgaXMgc3RvcmVkLlxuIgoiICAgIEhJU1RGSUxFU0laRVx0VGhlIG1heGltdW0gbnVtYmVyIG9mIGxpbmVzIHRoaXMgZmlsZSBjYW4gY29udGFpbi5cbiIKIiAgICBISVNUU0laRVx0VGhlIG1heGltdW0gbnVtYmVyIG9mIGhpc3RvcnkgbGluZXMgdGhhdCBhIHJ1bm5pbmdcbiIKIiAgICBcdFx0c2hlbGwgY2FuIGFjY2Vzcy5cbiIKIiAgICBIT01FXHRUaGUgY29tcGxldGUgcGF0aG5hbWUgdG8geW91ciBsb2dpbiBkaXJlY3RvcnkuXG4iCiIgICAgSE9TVE5BTUVcdFRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGhvc3QuXG4iCiIgICAgSE9TVFRZUEVcdFRoZSB0eXBlIG9mIENQVSB0aGlzIHZlcnNpb24gb2YgQmFzaCBpcyBydW5uaW5nIHVuZGVyLlxuIgoiICAgIElHTk9SRUVPRlx0Q29udHJvbHMgdGhlIGFjdGlvbiBvZiB0aGUgc2hlbGwgb24gcmVjZWlwdCBvZiBhbiBFT0ZcbiIKIiAgICBcdFx0Y2hhcmFjdGVyIGFzIHRoZSBzb2xlIGlucHV0LiAgSWYgc2V0LCB0aGVuIHRoZSB2YWx1ZVxuIgoiICAgIFx0XHRvZiBpdCBpcyB0aGUgbnVtYmVyIG9mIEVPRiBjaGFyYWN0ZXJzIHRoYXQgY2FuIGJlIHNlZW5cbiIKIiAgICBcdFx0aW4gYSByb3cgb24gYW4gZW1wdHkgbGluZSBiZWZvcmUgdGhlIHNoZWxsIHdpbGwgZXhpdFxuIgoiICAgIFx0XHQoZGVmYXVsdCAxMCkuICBXaGVuIHVuc2V0LCBFT0Ygc2lnbmlmaWVzIHRoZSBlbmQgb2YgaW5wdXQuXG4iCiIgICAgTUFDSFRZUEVcdEEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGN1cnJlbnQgc3lzdGVtIEJhc2ggaXMgcnVubmluZyBvbi5cbiIKIiAgICBNQUlMQ0hFQ0tcdEhvdyBvZnRlbiwgaW4gc2Vjb25kcywgQmFzaCBjaGVja3MgZm9yIG5ldyBtYWlsLlxuIgoiICAgIE1BSUxQQVRIXHRBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGZpbGVuYW1lcyB3aGljaCBCYXNoIGNoZWNrc1xuIgoiICAgIFx0XHRmb3IgbmV3IG1haWwuXG4iCiIgICAgT1NUWVBFXHRUaGUgdmVyc2lvbiBvZiBVbml4IHRoaXMgdmVyc2lvbiBvZiBCYXNoIGlzIHJ1bm5pbmcgb24uXG4iCiIgICAgUEFUSFx0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2ggd2hlblxuIgoiICAgIFx0XHRsb29raW5nIGZvciBjb21tYW5kcy5cbiIKIiAgICBQUk9NUFRfQ09NTUFORFx0QSBjb21tYW5kIHRvIGJlIGV4ZWN1dGVkIGJlZm9yZSB0aGUgcHJpbnRpbmcgb2YgZWFjaFxuIgoiICAgIFx0XHRwcmltYXJ5IHByb21wdC5cbiIKIiAgICBQUzFcdFx0VGhlIHByaW1hcnkgcHJvbXB0IHN0cmluZy5cbiIKIiAgICBQUzJcdFx0VGhlIHNlY29uZGFyeSBwcm9tcHQgc3RyaW5nLlxuIgoiICAgIFBXRFx0XHRUaGUgZnVsbCBwYXRobmFtZSBvZiB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCiIgICAgU0hFTExPUFRTXHRBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGVuYWJsZWQgc2hlbGwgb3B0aW9ucy5cbiIKIiAgICBURVJNXHRUaGUgbmFtZSBvZiB0aGUgY3VycmVudCB0ZXJtaW5hbCB0eXBlLlxuIgoiICAgIFRJTUVGT1JNQVRcdFRoZSBvdXRwdXQgZm9ybWF0IGZvciB0aW1pbmcgc3RhdGlzdGljcyBkaXNwbGF5ZWQgYnkgdGhlXG4iCiIgICAgXHRcdGB0aW1lJyByZXNlcnZlZCB3b3JkLlxuIgoiICAgIGF1dG9fcmVzdW1lXHROb24tbnVsbCBtZWFucyBhIGNvbW1hbmQgd29yZCBhcHBlYXJpbmcgb24gYSBsaW5lIGJ5XG4iCiIgICAgXHRcdGl0c2VsZiBpcyBmaXJzdCBsb29rZWQgZm9yIGluIHRoZSBsaXN0IG9mIGN1cnJlbnRseVxuIgoiICAgIFx0XHRzdG9wcGVkIGpvYnMuICBJZiBmb3VuZCB0aGVyZSwgdGhhdCBqb2IgaXMgZm9yZWdyb3VuZGVkLlxuIgoiICAgIFx0XHRBIHZhbHVlIG9mIGBleGFjdCcgbWVhbnMgdGhhdCB0aGUgY29tbWFuZCB3b3JkIG11c3RcbiIKIiAgICBcdFx0ZXhhY3RseSBtYXRjaCBhIGNvbW1hbmQgaW4gdGhlIGxpc3Qgb2Ygc3RvcHBlZCBqb2JzLiAgQVxuIgoiICAgIFx0XHR2YWx1ZSBvZiBgc3Vic3RyaW5nJyBtZWFucyB0aGF0IHRoZSBjb21tYW5kIHdvcmQgbXVzdFxuIgoiICAgIFx0XHRtYXRjaCBhIHN1YnN0cmluZyBvZiB0aGUgam9iLiAgQW55IG90aGVyIHZhbHVlIG1lYW5zIHRoYXRcbiIKIiAgICBcdFx0dGhlIGNvbW1hbmQgbXVzdCBiZSBhIHByZWZpeCBvZiBhIHN0b3BwZWQgam9iLlxuIgoiICAgIGhpc3RjaGFyc1x0Q2hhcmFjdGVycyBjb250cm9sbGluZyBoaXN0b3J5IGV4cGFuc2lvbiBhbmQgcXVpY2tcbiIKIiAgICBcdFx0c3Vic3RpdHV0aW9uLiAgVGhlIGZpcnN0IGNoYXJhY3RlciBpcyB0aGUgaGlzdG9yeVxuIgoiICAgIFx0XHRzdWJzdGl0dXRpb24gY2hhcmFjdGVyLCB1c3VhbGx5IGAhJy4gIFRoZSBzZWNvbmQgaXNcbiIKIiAgICBcdFx0dGhlIGBxdWljayBzdWJzdGl0dXRpb24nIGNoYXJhY3RlciwgdXN1YWxseSBgXicuICBUaGVcbiIKIiAgICBcdFx0dGhpcmQgaXMgdGhlIGBoaXN0b3J5IGNvbW1lbnQnIGNoYXJhY3RlciwgdXN1YWxseSBgIycuXG4iCiIgICAgSElTVElHTk9SRVx0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBwYXR0ZXJucyB1c2VkIHRvIGRlY2lkZSB3aGljaFxuIgoiICAgIFx0XHRjb21tYW5kcyBzaG91bGQgYmUgc2F2ZWQgb24gdGhlIGhpc3RvcnkgbGlzdC5cbiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjE3NTQKbXNnaWQgIiIKIkFkZCBkaXJlY3RvcmllcyB0byBzdGFjay5cbiIKIiAgICBcbiIKIiAgICBBZGRzIGEgZGlyZWN0b3J5IHRvIHRoZSB0b3Agb2YgdGhlIGRpcmVjdG9yeSBzdGFjaywgb3Igcm90YXRlc1xuIgoiICAgIHRoZSBzdGFjaywgbWFraW5nIHRoZSBuZXcgdG9wIG9mIHRoZSBzdGFjayB0aGUgY3VycmVudCB3b3JraW5nXG4iCiIgICAgZGlyZWN0b3J5LiAgV2l0aCBubyBhcmd1bWVudHMsIGV4Y2hhbmdlcyB0aGUgdG9wIHR3byBkaXJlY3Rvcmllcy5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgICAgLW5cdFN1cHByZXNzZXMgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdoZW4gYWRkaW5nXG4iCiIgICAgXHRkaXJlY3RvcmllcyB0byB0aGUgc3RhY2ssIHNvIG9ubHkgdGhlIHN0YWNrIGlzIG1hbmlwdWxhdGVkLlxuIgoiICAgIFxuIgoiICAgIEFyZ3VtZW50czpcbiIKIiAgICAgICtOXHRSb3RhdGVzIHRoZSBzdGFjayBzbyB0aGF0IHRoZSBOdGggZGlyZWN0b3J5IChjb3VudGluZ1xuIgoiICAgIFx0ZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGhcbiIKIiAgICBcdHplcm8pIGlzIGF0IHRoZSB0b3AuXG4iCiIgICAgXG4iCiIgICAgICAtTlx0Um90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUgTnRoIGRpcmVjdG9yeSAoY291bnRpbmdcbiIKIiAgICBcdGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aFxuIgoiICAgIFx0emVybykgaXMgYXQgdGhlIHRvcC5cbiIKIiAgICBcbiIKIiAgICAgIGRpclx0QWRkcyBESVIgdG8gdGhlIGRpcmVjdG9yeSBzdGFjayBhdCB0aGUgdG9wLCBtYWtpbmcgaXQgdGhlXG4iCiIgICAgXHRuZXcgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKIiAgICBcbiIKIiAgICBUaGUgYGRpcnMnIGJ1aWx0aW4gZGlzcGxheXMgdGhlIGRpcmVjdG9yeSBzdGFjay5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgYXJndW1lbnQgaXMgc3VwcGxpZWQgb3IgdGhlIGRpcmVjdG9yeVxuIgoiICAgIGNoYW5nZSBmYWlscy4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzoxNzg4Cm1zZ2lkICIiCiJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKIiAgICBcbiIKIiAgICBSZW1vdmVzIGVudHJpZXMgZnJvbSB0aGUgZGlyZWN0b3J5IHN0YWNrLiAgV2l0aCBubyBhcmd1bWVudHMsIHJlbW92ZXNcbiIKIiAgICB0aGUgdG9wIGRpcmVjdG9yeSBmcm9tIHRoZSBzdGFjaywgYW5kIGNoYW5nZXMgdG8gdGhlIG5ldyB0b3AgZGlyZWN0b3J5LlxuIgoiICAgIFxuIgoiICAgIE9wdGlvbnM6XG4iCiIgICAgICAtblx0U3VwcHJlc3NlcyB0aGUgbm9ybWFsIGNoYW5nZSBvZiBkaXJlY3Rvcnkgd2hlbiByZW1vdmluZ1xuIgoiICAgIFx0ZGlyZWN0b3JpZXMgZnJvbSB0aGUgc3RhY2ssIHNvIG9ubHkgdGhlIHN0YWNrIGlzIG1hbmlwdWxhdGVkLlxuIgoiICAgIFxuIgoiICAgIEFyZ3VtZW50czpcbiIKIiAgICAgICtOXHRSZW1vdmVzIHRoZSBOdGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdFxuIgoiICAgIFx0c2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgKzAnXG4iCiIgICAgXHRyZW1vdmVzIHRoZSBmaXJzdCBkaXJlY3RvcnksIGBwb3BkICsxJyB0aGUgc2Vjb25kLlxuIgoiICAgIFxuIgoiICAgICAgLU5cdFJlbW92ZXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdFxuIgoiICAgIFx0c2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgLTAnXG4iCiIgICAgXHRyZW1vdmVzIHRoZSBsYXN0IGRpcmVjdG9yeSwgYHBvcGQgLTEnIHRoZSBuZXh0IHRvIGxhc3QuXG4iCiIgICAgXG4iCiIgICAgVGhlIGBkaXJzJyBidWlsdGluIGRpc3BsYXlzIHRoZSBkaXJlY3Rvcnkgc3RhY2suXG4iCiIgICAgXG4iCiIgICAgRXhpdCBTdGF0dXM6XG4iCiIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIGFyZ3VtZW50IGlzIHN1cHBsaWVkIG9yIHRoZSBkaXJlY3RvcnlcbiIKIiAgICBjaGFuZ2UgZmFpbHMuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MTgxOAptc2dpZCAiIgoiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCiIgICAgXG4iCiIgICAgRGlzcGxheSB0aGUgbGlzdCBvZiBjdXJyZW50bHkgcmVtZW1iZXJlZCBkaXJlY3Rvcmllcy4gIERpcmVjdG9yaWVzXG4iCiIgICAgZmluZCB0aGVpciB3YXkgb250byB0aGUgbGlzdCB3aXRoIHRoZSBgcHVzaGQnIGNvbW1hbmQ7IHlvdSBjYW4gZ2V0XG4iCiIgICAgYmFjayB1cCB0aHJvdWdoIHRoZSBsaXN0IHdpdGggdGhlIGBwb3BkJyBjb21tYW5kLlxuIgoiICAgIFxuIgoiICAgIE9wdGlvbnM6XG4iCiIgICAgICAtY1x0Y2xlYXIgdGhlIGRpcmVjdG9yeSBzdGFjayBieSBkZWxldGluZyBhbGwgb2YgdGhlIGVsZW1lbnRzXG4iCiIgICAgICAtbFx0ZG8gbm90IHByaW50IHRpbGRlLXByZWZpeGVkIHZlcnNpb25zIG9mIGRpcmVjdG9yaWVzIHJlbGF0aXZlXG4iCiIgICAgXHR0byB5b3VyIGhvbWUgZGlyZWN0b3J5XG4iCiIgICAgICAtcFx0cHJpbnQgdGhlIGRpcmVjdG9yeSBzdGFjayB3aXRoIG9uZSBlbnRyeSBwZXIgbGluZVxuIgoiICAgICAgLXZcdHByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmUgcHJlZml4ZWRcbiIKIiAgICBcdHdpdGggaXRzIHBvc2l0aW9uIGluIHRoZSBzdGFja1xuIgoiICAgIFxuIgoiICAgIEFyZ3VtZW50czpcbiIKIiAgICAgICtOXHREaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvd24gIgoiYnlcbiIKIiAgICBcdGRpcnMgd2hlbiBpbnZva2VkIHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcgd2l0aCB6ZXJvLlxuIgoiICAgIFxuIgoiICAgICAgLU5cdERpc3BsYXlzIHRoZSBOdGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgcmlnaHQgb2YgdGhlIGxpc3Qgc2hvd24gIgoiYnlcbiIKIiAgICBcdGRpcnMgd2hlbiBpbnZva2VkIHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcgd2l0aCB6ZXJvLlxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKbXNnc3RyICIiCgojOiBidWlsdGlucy5jOjE4NDcKbXNnaWQgIiIKIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKIiAgICBcbiIKIiAgICBDaGFuZ2UgdGhlIHNldHRpbmcgb2YgZWFjaCBzaGVsbCBvcHRpb24gT1BUTkFNRS4gIFdpdGhvdXQgYW55IG9wdGlvblxuIgoiICAgIGFyZ3VtZW50cywgbGlzdCBhbGwgc2hlbGwgb3B0aW9ucyB3aXRoIGFuIGluZGljYXRpb24gb2Ygd2hldGhlciBvciBub3QgIgoiZWFjaFxuIgoiICAgIGlzIHNldC5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgICAgLW9cdHJlc3RyaWN0IE9QVE5BTUVzIHRvIHRob3NlIGRlZmluZWQgZm9yIHVzZSB3aXRoIGBzZXQgLW8nXG4iCiIgICAgICAtcFx0cHJpbnQgZWFjaCBzaGVsbCBvcHRpb24gd2l0aCBhbiBpbmRpY2F0aW9uIG9mIGl0cyBzdGF0dXNcbiIKIiAgICAgIC1xXHRzdXBwcmVzcyBvdXRwdXRcbiIKIiAgICAgIC1zXHRlbmFibGUgKHNldCkgZWFjaCBPUFROQU1FXG4iCiIgICAgICAtdVx0ZGlzYWJsZSAodW5zZXQpIGVhY2ggT1BUTkFNRVxuIgoiICAgIFxuIgoiICAgIEV4aXQgU3RhdHVzOlxuIgoiICAgIFJldHVybnMgc3VjY2VzcyBpZiBPUFROQU1FIGlzIGVuYWJsZWQ7IGZhaWxzIGlmIGFuIGludmFsaWQgb3B0aW9uIGlzXG4iCiIgICAgZ2l2ZW4gb3IgT1BUTkFNRSBpcyBkaXNhYmxlZC4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzoxODY4Cm1zZ2lkICIiCiJGb3JtYXRzIGFuZCBwcmludHMgQVJHVU1FTlRTIHVuZGVyIGNvbnRyb2wgb2YgdGhlIEZPUk1BVC5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgICAgLXYgdmFyXHRhc3NpZ24gdGhlIG91dHB1dCB0byBzaGVsbCB2YXJpYWJsZSBWQVIgcmF0aGVyIHRoYW5cbiIKIiAgICBcdFx0ZGlzcGxheSBpdCBvbiB0aGUgc3RhbmRhcmQgb3V0cHV0XG4iCiIgICAgXG4iCiIgICAgRk9STUFUIGlzIGEgY2hhcmFjdGVyIHN0cmluZyB3aGljaCBjb250YWlucyB0aHJlZSB0eXBlcyBvZiBvYmplY3RzOiAiCiJwbGFpblxuIgoiICAgIGNoYXJhY3RlcnMsIHdoaWNoIGFyZSBzaW1wbHkgY29waWVkIHRvIHN0YW5kYXJkIG91dHB1dDsgY2hhcmFjdGVyICIKImVzY2FwZVxuIgoiICAgIHNlcXVlbmNlcywgd2hpY2ggYXJlIGNvbnZlcnRlZCBhbmQgY29waWVkIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQ7IGFuZFxuIgoiICAgIGZvcm1hdCBzcGVjaWZpY2F0aW9ucywgZWFjaCBvZiB3aGljaCBjYXVzZXMgcHJpbnRpbmcgb2YgdGhlIG5leHQgIgoic3VjY2Vzc2l2ZVxuIgoiICAgIGFyZ3VtZW50LlxuIgoiICAgIFxuIgoiICAgIEluIGFkZGl0aW9uIHRvIHRoZSBzdGFuZGFyZCBmb3JtYXQgc3BlY2lmaWNhdGlvbnMgZGVzY3JpYmVkIGluIHByaW50ZiIKIigxKVxuIgoiICAgIGFuZCBwcmludGYoMyksIHByaW50ZiBpbnRlcnByZXRzOlxuIgoiICAgIFxuIgoiICAgICAgJWJcdGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZyBhcmd1bWVudFxuIgoiICAgICAgJXFcdHF1b3RlIHRoZSBhcmd1bWVudCBpbiBhIHdheSB0aGF0IGNhbiBiZSByZXVzZWQgYXMgc2hlbGwgaW5wdXRcbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgd3JpdGUgb3IgIgoiYXNzaWdubWVudFxuIgoiICAgIGVycm9yIG9jY3Vycy4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzoxODk1Cm1zZ2lkICIiCiJTcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZCBieSBSZWFkbGluZS5cbiIKIiAgICBcbiIKIiAgICBGb3IgZWFjaCBOQU1FLCBzcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZC4gIElmIG5vICIKIm9wdGlvbnNcbiIKIiAgICBhcmUgc3VwcGxpZWQsIGV4aXN0aW5nIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMgYXJlIHByaW50ZWQgaW4gYSB3YXkgIgoidGhhdFxuIgoiICAgIGFsbG93cyB0aGVtIHRvIGJlIHJldXNlZCBhcyBpbnB1dC5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgICAgLXBcdHByaW50IGV4aXN0aW5nIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMgaW4gYSByZXVzYWJsZSBmb3JtYXRcbiIKIiAgICAgIC1yXHRyZW1vdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vXG4iCiIgICAgXHROQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zXG4iCiIgICAgICAtRFx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIGFzIHRoZSBkZWZhdWx0IGZvciBjb21tYW5kc1xuIgoiICAgIFx0d2l0aG91dCBhbnkgc3BlY2lmaWMgY29tcGxldGlvbiBkZWZpbmVkXG4iCiIgICAgICAtRVx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIHRvIFwiZW1wdHlcIiBjb21tYW5kcyAtLVxuIgoiICAgIFx0Y29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lXG4iCiIgICAgXG4iCiIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgoiICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLiAgVGhlIC1EIG9wdGlvbiB0YWtlc1xuIgoiICAgIHByZWNlZGVuY2Ugb3ZlciAtRS5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzoxOTIzCm1zZ2lkICIiCiJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKIiAgICBcbiIKIiAgICBJbnRlbmRlZCB0byBiZSB1c2VkIGZyb20gd2l0aGluIGEgc2hlbGwgZnVuY3Rpb24gZ2VuZXJhdGluZyBwb3NzaWJsZVxuIgoiICAgIGNvbXBsZXRpb25zLiAgSWYgdGhlIG9wdGlvbmFsIFdPUkQgYXJndW1lbnQgaXMgc3VwcGxpZWQsIG1hdGNoZXMgIgoiYWdhaW5zdFxuIgoiICAgIFdPUkQgYXJlIGdlbmVyYXRlZC5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCm1zZ3N0ciAiIgoKIzogYnVpbHRpbnMuYzoxOTM4Cm1zZ2lkICIiCiJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiIgICAgXG4iCiIgICAgTW9kaWZ5IHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vIE5BTUVzIGFyZSAiCiJzdXBwbGllZCxcbiIKIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVnaW4gZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbm0sICIKInByaW50XG4iCiIgICAgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24gIgoic3BlY2lmaWNhdGlvbi5cbiIKIiAgICBcbiIKIiAgICBPcHRpb25zOlxuIgoiICAgIFx0LW8gb3B0aW9uXHRTZXQgY29tcGxldGlvbiBvcHRpb24gT1BUSU9OIGZvciBlYWNoIE5BTUVcbiIKIiAgICBcdC1EXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJkZWZhdWx0XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCiIgICAgXHQtRVx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZW1wdHlcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKIiAgICBcbiIKIiAgICBVc2luZyBgK28nIGluc3RlYWQgb2YgYC1vJyB0dXJucyBvZmYgdGhlIHNwZWNpZmllZCBvcHRpb24uXG4iCiIgICAgXG4iCiIgICAgQXJndW1lbnRzOlxuIgoiICAgIFxuIgoiICAgIEVhY2ggTkFNRSByZWZlcnMgdG8gYSBjb21tYW5kIGZvciB3aGljaCBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBtdXN0XG4iCiIgICAgaGF2ZSBwcmV2aW91c2x5IGJlZW4gZGVmaW5lZCB1c2luZyB0aGUgYGNvbXBsZXRlJyBidWlsdGluLiAgSWYgbm8gTkFNRXNcbiIKIiAgICBhcmUgc3VwcGxpZWQsIGNvbXBvcHQgbXVzdCBiZSBjYWxsZWQgYnkgYSBmdW5jdGlvbiBjdXJyZW50bHkgZ2VuZXJhdGluZ1xuIgoiICAgIGNvbXBsZXRpb25zLCBhbmQgdGhlIG9wdGlvbnMgZm9yIHRoYXQgY3VycmVudGx5LWV4ZWN1dGluZyBjb21wbGV0aW9uXG4iCiIgICAgZ2VuZXJhdG9yIGFyZSBtb2RpZmllZC5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIE5BTUUgZG9lcyBub3RcbiIKIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MTk2OAptc2dpZCAiIgoiUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUuXG4iCiIgICAgXG4iCiIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRleGVkIGFycmF5IHZhcmlhYmxlICIKIkFSUkFZLCBvclxuIgoiICAgIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgIgoiTUFQRklMRVxuIgoiICAgIGlzIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgoiICAgIFxuIgoiICAgIE9wdGlvbnM6XG4iCiIgICAgICAtbiBjb3VudFx0Q29weSBhdCBtb3N0IENPVU5UIGxpbmVzLiAgSWYgQ09VTlQgaXMgMCwgYWxsIGxpbmVzIGFyZSAiCiJjb3BpZWQuXG4iCiIgICAgICAtTyBvcmlnaW5cdEJlZ2luIGFzc2lnbmluZyB0byBBUlJBWSBhdCBpbmRleCBPUklHSU4uICBUaGUgZGVmYXVsdCAiCiJpbmRleCBpcyAwLlxuIgoiICAgICAgLXMgY291bnQgXHREaXNjYXJkIHRoZSBmaXJzdCBDT1VOVCBsaW5lcyByZWFkLlxuIgoiICAgICAgLXRcdFx0UmVtb3ZlIGEgdHJhaWxpbmcgbmV3bGluZSBmcm9tIGVhY2ggbGluZSByZWFkLlxuIgoiICAgICAgLXUgZmRcdFx0UmVhZCBsaW5lcyBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRCBpbnN0ZWFkIG9mIHRoZSBzdGFuZGFyZCAiCiJpbnB1dC5cbiIKIiAgICAgIC1DIGNhbGxiYWNrXHRFdmFsdWF0ZSBDQUxMQkFDSyBlYWNoIHRpbWUgUVVBTlRVTSBsaW5lcyBhcmUgcmVhZC5cbiIKIiAgICAgIC1jIHF1YW50dW1cdFNwZWNpZnkgdGhlIG51bWJlciBvZiBsaW5lcyByZWFkIGJldHdlZW4gZWFjaCBjYWxsIHRvICIKIkNBTExCQUNLLlxuIgoiICAgIFxuIgoiICAgIEFyZ3VtZW50czpcbiIKIiAgICAgIEFSUkFZXHRcdEFycmF5IHZhcmlhYmxlIG5hbWUgdG8gdXNlIGZvciBmaWxlIGRhdGEuXG4iCiIgICAgXG4iCiIgICAgSWYgLUMgaXMgc3VwcGxpZWQgd2l0aG91dCAtYywgdGhlIGRlZmF1bHQgcXVhbnR1bSBpcyA1MDAwLiAgV2hlblxuIgoiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCiIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50LlxuIgoiICAgIFxuIgoiICAgIElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGV4cGxpY2l0IG9yaWdpbiwgbWFwZmlsZSB3aWxsIGNsZWFyIEFSUkFZICIKImJlZm9yZVxuIgoiICAgIGFzc2lnbmluZyB0byBpdC5cbiIKIiAgICBcbiIKIiAgICBFeGl0IFN0YXR1czpcbiIKIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5ICIKIm9yXG4iCiIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgptc2dzdHIgIiIKCiM6IGJ1aWx0aW5zLmM6MjAwMQptc2dpZCAiIgoiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgoiICAgIFxuIgoiICAgIEEgc3lub255bSBmb3IgYG1hcGZpbGUnLiIKbXNnc3RyICIiCgojfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiN+IG1zZ3N0ciAiIgojfiAieHJlYWxsb2M6IG5vIGVzIHBvZGVuIHJlYXNzaWduYXIgJWx1IG9jdGV0cyAoJWx1IG9jdGV0cyByZWFzc2lnbmF0cykiCgojLCBmdXp6eQojfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCiN+IG1zZ3N0ciAiIgojfiAieHJlYWxsb2M6IG5vIGVzIHBvZGVuIHJlYXNzaWduYXIgJWx1IG9jdGV0cyAoJWx1IG9jdGV0cyByZWFzc2lnbmF0cykiCgojLCBmdXp6eQojfiBtc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgojfiBtc2dzdHIgIiIKI34gInhyZWFsbG9jOiBubyBlcyBwb2RlbiByZWFzc2lnbmFyICVsdSBvY3RldHMgKCVsdSBvY3RldHMgcmVhc3NpZ25hdHMpIgoKI34gbXNnaWQgIkRpc3BsYXkgdGhlIGxpc3Qgb2YgY3VycmVudGx5IHJlbWVtYmVyZWQgZGlyZWN0b3JpZXMuICBEaXJlY3RvcmllcyIKI34gbXNnc3RyICIiCiN+ICJNb3N0cmEgbGEgbGxpc3RhIGRlbHMgZGlyZWN0b3JpcyBhY3R1YWxtZW50IHJlY29yZGF0cy4gIEVscyBkaXJlY3RvcmlzICIKCiN+IG1zZ2lkICJmaW5kIHRoZWlyIHdheSBvbnRvIHRoZSBsaXN0IHdpdGggdGhlIGBwdXNoZCcgY29tbWFuZDsgeW91IGNhbiBnZXQiCiN+IG1zZ3N0ciAidHJvYmVuIGVsIHNldSBjYW0/IGVuIGxhIGxsaXN0YSBhbWIgbCdvcmRyZSA/cHVzaGQ/OyBwb2RldSBhbmFyIGNhcCIKCiN+IG1zZ2lkICJiYWNrIHVwIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYHBvcGQnIGNvbW1hbmQuIgojfiBtc2dzdHIgImVuZGFycmVyZSBhIHRyYXY/cyBkZSBsYSBsbGlzdGEgYW1iIGwnb3JkcmUgP3BvcGQ/LiIKCiN+IG1zZ2lkICIiCiN+ICJUaGUgLWwgZmxhZyBzcGVjaWZpZXMgdGhhdCBgZGlycycgc2hvdWxkIG5vdCBwcmludCBzaG9ydGhhbmQgdmVyc2lvbnMiCiN+IG1zZ3N0ciAiIgojfiAiU2kgcydlc3BlY2lmaWNhIGVsIHNlbnlhbGFkb3IgXCItbFwiIG5vIGVzIG1vc3RyYXI/IGxhIGZvcm1hIGFicmV2aWFkYSIKCiN+IG1zZ2lkICIiCiN+ICJvZiBkaXJlY3RvcmllcyB3aGljaCBhcmUgcmVsYXRpdmUgdG8geW91ciBob21lIGRpcmVjdG9yeS4gIFRoaXMgbWVhbnMiCiN+IG1zZ3N0ciAiZGVscyBkaXJlY3RvcmlzIHF1ZSBlc3RpZ3VlbiByZWxhY2lvbmF0cyBhbWIgZWwgdm9zdHJlIGRpcmVjdG9yaSIKCiN+IG1zZ2lkICJ0aGF0IGB+L2JpbicgbWlnaHQgYmUgZGlzcGxheWVkIGFzIGAvaG9tZXMvYmZveC9iaW4nLiAgVGhlIC12IGZsYWciCiN+IG1zZ3N0ciAiZCd1c3VhcmkuICBBaXg/IHZvbCBkaXIgcXVlID9+L2Jpbj8gcG90IHNlciBleGhpYml0IGNvbSIKCiN+IG1zZ2lkICJjYXVzZXMgYGRpcnMnIHRvIHByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmUsIgojfiBtc2dzdHIgIiIKI34gIj8vaG9tZS9iZm94L2Jpbj8uICBBbWIgZWwgc2VueWFsYWRvciBcIi12XCIgbCdvcmRyZSA/ZGlycz8gbW9zdHJhcj8gbGEiCgojfiBtc2dpZCAiIgojfiAicHJlcGVuZGluZyB0aGUgZGlyZWN0b3J5IG5hbWUgd2l0aCBpdHMgcG9zaXRpb24gaW4gdGhlIHN0YWNrLiAgVGhlIC1wIgojfiBtc2dzdHIgIiIKI34gInBpbGEgZGUgZGlyZWN0b3JpcyBhbWIgdW5hIGw/bmlhIHBlciBhIGNhZGEgZW50cmFkYSwgYWZlZ2ludCBlbCBub20gZGUiCgojfiBtc2dpZCAiZmxhZyBkb2VzIHRoZSBzYW1lIHRoaW5nLCBidXQgdGhlIHN0YWNrIHBvc2l0aW9uIGlzIG5vdCBwcmVwZW5kZWQuIgojfiBtc2dzdHIgImRpcmVjdG9yaSBhbWIgbGEgc2V1YSBwb3NpY2k/IGVuIGxhIHBpbGEuICBBbWIgZWwgc2VueWFsYWRvciBcIi1wXCIiCgojfiBtc2dpZCAiIgojfiAiVGhlIC1jIGZsYWcgY2xlYXJzIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYnkgZGVsZXRpbmcgYWxsIG9mIHRoZSBlbGVtZW50cy4iCiN+IG1zZ3N0ciAiIgojfiAiZXNkZXZpbmRyPyBlbCBtYXRlaXgsIHBlcj8gbm8gbW9zdHJhcj8gbGVzIHBvc2ljaW9ucy4gIEVsIHNlbnlhbGFkb3JcbiIKI34gIlwiLWNcIiBidWlkYXI/IGxhIHBpbGEgZGUgZGlyZWN0b3JpcyBlc2JvcnJhbnQgdG90cyBlbHMgc2V1cyBlbGVtZW50cy4iCgojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiK04gICBkaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvd24gYnkiCiN+IG1zZ3N0ciAiIgojfiAiK05cdGV4aGliZWl4IGwnZW50cmFkYSBOP3NpbWEgY29tcHRhbnQgZGVzIGRlIGwnZXNxdWVycmEgZGUgbGEgbGxpc3RhICIKCiMsIGZ1enp5CiN+IG1zZ2lkICIgICAgIGRpcnMgd2hlbiBpbnZva2VkIHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcgd2l0aCB6ZXJvLiIKI34gbXNnc3RyICIiCiN+ICJcdG1vc3RyYWRhIHBlciA/ZGlycz8gcXVhbiBzZSBsJ2ludm9jYSBzZW5zZSBvcGNpb25zLCBjb21lbj9hbnQgcGVyXG4iCiN+ICJcdHplcm8uIgoKIywgZnV6enkKI34gbXNnaWQgIiIKI34gIi1OICAgZGlzcGxheXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG93biBieSIKI34gbXNnc3RyICIiCiN+ICItTlx0ZXhoaWJlaXggbCdlbnRyYWRhIE4/c2ltYSBjb21wdGFudCBkZXMgZGUgbGEgZHJldGEgZGUgbGEgbGxpc3RhICIKCiN+IG1zZ2lkICJBZGRzIGEgZGlyZWN0b3J5IHRvIHRoZSB0b3Agb2YgdGhlIGRpcmVjdG9yeSBzdGFjaywgb3Igcm90YXRlcyIKI34gbXNnc3RyICIiCiN+ICJBZmVnZWl4IHVuIGRpcmVjdG9yaSBlbiBlbCBwcmluY2lwaSBkZSBsYSBwaWxhIGRlIGRpY3JlY3RvcmlzLCBvIGdpcmEgIgoKI34gbXNnaWQgInRoZSBzdGFjaywgbWFraW5nIHRoZSBuZXcgdG9wIG9mIHRoZSBzdGFjayB0aGUgY3VycmVudCB3b3JraW5nIgojfiBtc2dzdHIgIiIKI34gImxhIHBpbGEgZmVudCBxdWUgZWwgcHJpbWVyIGRpcmVjdG9yaSBkZSBsYSBwaWxhIHNpZ2EgbCdhY3R1YWwuICBTZW5zZSIKCiN+IG1zZ2lkICJkaXJlY3RvcnkuICBXaXRoIG5vIGFyZ3VtZW50cywgZXhjaGFuZ2VzIHRoZSB0b3AgdHdvIGRpcmVjdG9yaWVzLiIKI34gbXNnc3RyICJjYXAgcGFyP21ldHJlLCBpbnRlcmNhbnZpYSBlbHMgZG9zIHByaW1lcnMgZGlyZWN0b3Jpcy4iCgojLCBmdXp6eQojfiBtc2dpZCAiK04gICBSb3RhdGVzIHRoZSBzdGFjayBzbyB0aGF0IHRoZSBOdGggZGlyZWN0b3J5IChjb3VudGluZyIKI34gbXNnc3RyICIiCiN+ICIrTlx0R2lyYSBsYSBwaWxhIGRlIHRhbCBtYW5lcmEgcXVlIGVsIGRpcmVjdG9yaSBOP3NpbSAoY29tcHRhbnQgZGVzIGRlIgoKIywgZnV6enkKI34gbXNnaWQgIiAgICAgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGgiCiN+IG1zZ3N0ciAiXHRsJ2VzcXVlcnJhIGRlIGxhIGxsaXN0YSBtb3N0cmFkYSBwZXIgXCJkaXJzXCIpID9zIGFsIHByaW5jaXBpLiIKCiMsIGZ1enp5CiN+IG1zZ2lkICIgICAgIHplcm8pIGlzIGF0IHRoZSB0b3AuIgojfiBtc2dzdHIgIlx0bGEgZHJldGEpID9zIGVsIHByaW1lci4iCgojLCBmdXp6eQojfiBtc2dpZCAiLU4gICBSb3RhdGVzIHRoZSBzdGFjayBzbyB0aGF0IHRoZSBOdGggZGlyZWN0b3J5IChjb3VudGluZyIKI34gbXNnc3RyICIiCiN+ICItTlx0R2lyYSBsYSBwaWxhIGRlIHRhbCBtYW5lcmEgcXVlIGVsIGRpcmVjdG9yaSBOP3NpbSAoY29tcHRhbnQgZGVzIGRlICIKCiMsIGZ1enp5CiN+IG1zZ2lkICIgICAgIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aCIKI34gbXNnc3RyICJcdGwnZXNxdWVycmEgZGUgbGEgbGxpc3RhIG1vc3RyYWRhIHBlciBcImRpcnNcIikgP3MgYWwgcHJpbmNpcGkuIgoKIywgZnV6enkKI34gbXNnaWQgIi1uICAgc3VwcHJlc3MgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdoZW4gYWRkaW5nIGRpcmVjdG9yaWVzIgojfiBtc2dzdHIgIiIKI34gIi1uXHRzdXByaW1laXggZWwgY2Fudmkgbm9ybWFsIGRlIGRpcmVjdG9yaSBxdWFuIHNlJ24gYWZlZ2VpeCBhIGxhIHBpbGEsICIKCiMsIGZ1enp5CiN+IG1zZ2lkICIgICAgIHRvIHRoZSBzdGFjaywgc28gb25seSB0aGUgc3RhY2sgaXMgbWFuaXB1bGF0ZWQuIgojfiBtc2dzdHIgIlx0ZGUgdGFsIG1hbmVyYSBxdWUgbm9tP3MgZXMgbWFuaXB1bGEgbGEgcGlsYS4iCgojLCBmdXp6eQojfiBtc2dpZCAiZGlyICBhZGRzIERJUiB0byB0aGUgZGlyZWN0b3J5IHN0YWNrIGF0IHRoZSB0b3AsIG1ha2luZyBpdCB0aGUiCiN+IG1zZ3N0ciAiIgojfiAiZGlyXHRhZmVnZWl4IERJUiBhIGxhIHBpbGEgZGUgZGlyZWN0b3JpcyBhbCBwcmluY2lwaSwgZGUgdGFsIG1hbmVyYSBxdWUgIgoKIywgZnV6enkKI34gbXNnaWQgIiAgICAgbmV3IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuIgojfiBtc2dzdHIgIlx0YXF1ZXN0IHNlcj8gZWwgbm91IGRpcmVjdG9yaSBhY3R1YWwgZGUgdHJlYmFsbC4iCgojfiBtc2dpZCAiWW91IGNhbiBzZWUgdGhlIGRpcmVjdG9yeSBzdGFjayB3aXRoIHRoZSBgZGlycycgY29tbWFuZC4iCiN+IG1zZ3N0ciAiUG9kZXUgY29tcHJvdmFyIGxhIHBpbGEgZGUgZGlyZWN0b3JpIGFtYiBsJ29yZHJlID9kaXJzPy4iCgojfiBtc2dpZCAiUmVtb3ZlcyBlbnRyaWVzIGZyb20gdGhlIGRpcmVjdG9yeSBzdGFjay4gIFdpdGggbm8gYXJndW1lbnRzLCIKI34gbXNnc3RyICJFc2JvcnJhIGVudHJhZGVzIGRlIGxhIHBpbGEgZGUgZGlyZWN0b3Jpcy4gIFNlbnNlIGNhcCBwYXI/bWV0cmUsIgoKI34gbXNnaWQgInJlbW92ZXMgdGhlIHRvcCBkaXJlY3RvcnkgZnJvbSB0aGUgc3RhY2ssIGFuZCBjZCdzIHRvIHRoZSBuZXciCiN+IG1zZ3N0ciAiZXNib3JyYSBlbCBwcmltZXIgZGlyZWN0b3JpIGRlIGxhIHBpbGEsIGkgY2FudmlhIGVsIGRpcmVjdG9yaSBhIGxhIgoKI34gbXNnaWQgInRvcCBkaXJlY3RvcnkuIgojfiBtc2dzdHIgInNlZ3VlbnQgZW50cmFkYSBkZSBsYSBwaWxhIChvIHNpYSwgbGEgbm92YSBwcmltZXJhIGVudHJhZGEpLiIKCiMsIGZ1enp5CiN+IG1zZ2lkICIrTiAgIHJlbW92ZXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IgojfiBtc2dzdHIgIitOXHR0cmV1IGwnZW50cmFkYSBOP3NpbWEgY29tcHRhbnQgZGVzIGRlIGwnZXNxdWVycmEgZGUgbGEgbGxpc3RhIgoKIywgZnV6enkKI34gbXNnaWQgIiAgICAgc2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgKzAnIgojfiBtc2dzdHIgIlx0bW9zdHJhZGEgcGVyID9kaXJzPywgY29tZW4/YW50IHBlciB6ZXJvLiAgUGVyIGV4ZW1wbGU6ID9wb3BkICswPyIKCiMsIGZ1enp5CiN+IG1zZ2lkICIgICAgIHJlbW92ZXMgdGhlIGZpcnN0IGRpcmVjdG9yeSwgYHBvcGQgKzEnIHRoZSBzZWNvbmQuIgojfiBtc2dzdHIgIlx0dHJldSBlbCBwcmltZXIgZGlyZWN0b3JpLCA/cG9wZCArMT8gZWwgc2Vnb24sIGV0Yy4uLiIKCiMsIGZ1enp5CiN+IG1zZ2lkICItTiAgIHJlbW92ZXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCIKI34gbXNnc3RyICItTlx0dHJldSBsJ2VudHJhZGEgTj9zaW1hIGNvbXB0YW50IGRlcyBkZSBsYSBkcmV0YSBkZSBsYSBsbGlzdGEiCgojLCBmdXp6eQojfiBtc2dpZCAiICAgICBzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGggemVyby4gIEZvciBleGFtcGxlOiBgcG9wZCAtMCciCiN+IG1zZ3N0ciAiIgojfiAiXHRtb3N0cmFkYSBwZXIgP2RpcnM/LCBjb21lbj9hbnQgcGVyIHplcm8uICBQZXIgZXhlbXBsZTogP3BvcGQgLTA/IHRyZXUiCgojLCBmdXp6eQojfiBtc2dpZCAiICAgICByZW1vdmVzIHRoZSBsYXN0IGRpcmVjdG9yeSwgYHBvcGQgLTEnIHRoZSBuZXh0IHRvIGxhc3QuIgojfiBtc2dzdHIgIlx0ZWwgZGFycmVyIGRpcmVjdG9yaSwgP3BvcGQgLTE/IHRyZXUgZWwgcGVuP2x0aW0sIGV0Yy4uLiIKCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICItbiAgIHN1cHByZXNzIHRoZSBub3JtYWwgY2hhbmdlIG9mIGRpcmVjdG9yeSB3aGVuIHJlbW92aW5nIGRpcmVjdG9yaWVzIgojfiBtc2dzdHIgIiIKI34gIi1uXHRzdXByaW1laXggZWwgY2Fudmkgbm9ybWFsIGRlIGRpcmVjdG9yaSBxdWFuIGVzIHRyZXUgY2FwIGRpcmVjdG9yaSAiCgojLCBmdXp6eQojfiBtc2dpZCAiICAgICBmcm9tIHRoZSBzdGFjaywgc28gb25seSB0aGUgc3RhY2sgaXMgbWFuaXB1bGF0ZWQuIgojfiBtc2dzdHIgIlx0ZGUgbGEgcGlsYSwgZGUgdGFsIG1hbmVyYSBxdWUgbm9tP3MgZXMgbWFuaXB1bGEgbGEgcGlsYS4iCgojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiRXhpdCBmcm9tIHdpdGhpbiBhIEZPUiwgV0hJTEUgb3IgVU5USUwgbG9vcC4gIElmIE4gaXMgc3BlY2lmaWVkLFxuIgojfiAiICAgIGJyZWFrIE4gbGV2ZWxzLiIKI34gbXNnc3RyICJJeCBkJ3VuIGJ1Y2xlIEZPUiwgV0hJTEUgbyBVTlRJTC4iCgojfiBtc2dpZCAiT2Jzb2xldGUuICBTZWUgYGRlY2xhcmUnLiIKI34gbXNnc3RyICJPYnNvbGV0YS4gTGxlZ2l1ID9kZWNsYXJlPy4iCgojfiBtc2dpZCAiIgojfiAiT3V0cHV0IHRoZSBBUkdzLiAgSWYgLW4gaXMgc3BlY2lmaWVkLCB0aGUgdHJhaWxpbmcgbmV3bGluZSBpcyBzdXBwcmVzc2VkLiIKI34gbXNnc3RyICIiCiN+ICJNb3N0cmEgZWxzIFBBUj9NRVRSRXMuIFNpIGVzcGVjaWZpcXVldSAtbiwgc2Ugc3VwcmltaXI/IGVsIGNhcj9jdGVyXG4iCiN+ICJkJ2luaWNpIGRlIGw/bmlhLiIKCiN+IG1zZ2lkICIiCiN+ICJSZWFkIEFSR3MgYXMgaW5wdXQgdG8gdGhlIHNoZWxsIGFuZCBleGVjdXRlIHRoZSByZXN1bHRpbmcgY29tbWFuZChzKS4iCiN+IG1zZ3N0ciAiIgojfiAiTGxlZ2VpeCBlbHMgUEFSP01FVFJFUyBhIGwnZW50cmFkYSBkZSBsJ2ludD9ycHJldCBkJ29yZHJlcyBpIGV4ZWN1dGEgbGVzXG4iCiN+ICJvcmRyZXMgcmVzdWx0YW50cy4iCgojfiBtc2dpZCAiTG9nb3V0IG9mIGEgbG9naW4gc2hlbGwuIgojfiBtc2dzdHIgIkZpbmFsaXR6YXIgdW5hIHNlc3NpPyBkZSBsJ2ludD9ycHJldCBkJ29yZHJlcy4iCgojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiQ2F1c2VzIGEgZnVuY3Rpb24gdG8gZXhpdCB3aXRoIHRoZSByZXR1cm4gdmFsdWUgc3BlY2lmaWVkIGJ5IE4uICBJZiBOXG4iCiN+ICIgICAgaXMgb21pdHRlZCwgdGhlIHJldHVybiBzdGF0dXMgaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kLiIKI34gbXNnc3RyICIiCiN+ICJQcm92b2NhIGwnZWl4aWRhIGQndW5hIGZ1bmNpPyBhbWIgdW4gdmFsb3IgZGUgcmV0b3JuIGVzcGVjaWZpY2F0IHBlciIKCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICJUaGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGZyb20gJE4rMSAuLi4gYXJlIHJlbmFtZWQgdG8gJDEgLi4uICBJZiBOIGlzXG4iCiN+ICIgICAgbm90IGdpdmVuLCBpdCBpcyBhc3N1bWVkIHRvIGJlIDEuIgojfiBtc2dzdHIgIiIKI34gIkVzIHJlYW5vbWVuZW4gZWxzIHBhcj9tZXRyZXMgcG9zaWNpb25hbHMgZGVzIGRlICROKzEgLi4uIGNvbSBhICQxIC4uLiAgIgoKIywgZnV6enkKI34gbXNnaWQgIiIKI34gIlByaW50IHRoZSBhY2N1bXVsYXRlZCB1c2VyIGFuZCBzeXN0ZW0gdGltZXMgZm9yIHByb2Nlc3NlcyBydW4gZnJvbVxuIgojfiAiICAgIHRoZSBzaGVsbC4iCiN+IG1zZ3N0ciAiIgojfiAiTW9zdHJhIGVsIHRlbXBzIGFjdW11bGF0IHBlciBsJ3VzdWFyaSBpIHBlbCBzaXN0ZW1hIGQnaGF2ZXIgZXhlY3V0YXQgIgoKI34gbXNnaWQgIk1pc3NpbmcgYH0nIgojfiBtc2dzdHIgIlMnaGEgcGVyZHV0ICd9JyIKCiN+IG1zZ2lkICJicmFjZV9leHBhbmQ+ICIKI34gbXNnc3RyICJjbGF1X2V4cGFuc2k/PiAiCgojIEFjPyB2YWlnIHRpbmRyZSBkdWJ0ZXMgc29icmUgcXVpbmEgcGFyYXVsYSBmZXIgc2VydmlyCiMgcGVyIGFsIHRlcm1lICJjb21tYW5kIi4gTWlyYW50LW1lIGVsIGRpY2Npb25hcmkgYXV4aWxpYXIKIyBkZSBTZWJhc3RpPyBQbGEgaSBTYW56LCB0cmFkdWN0b3IgZGVsIEtERSwgdmFpZyB0cm9iYXItbmUgdHJlcwojIGRlIHRyYWR1Y2Npb25zOiBvcmRyZSwgY29tYW5kYW1lbnQsIGkgY29tYW5kYS4gSSB2YWlnIHRyaWFyCiMgbGEgcGFyYXVsYSAiY29tYW5kYSIuCiMKIyBObyBvYnN0YW50IGFpeD8sIG5vIHM/IHNpIGxhIHBhcmF1bGEgImNvbW1hbmQiIHBvdCB0cmFkdWlyLXNlCiMgdGFtYj8gYW1iIGVscyBhbHRyZXMgdGVybWVzIGRlcGVuZW50IGRlbCBjb250ZXh0LiBSZXZpc2V1CiMgc29icmUgZWwgdGVybWUgImNvbWFuZGEiLgojIE10eCAoMTIvMTAvMjAwMikuCiMKIyBMbGVnaW50IGFsIFRFUk1DQVQsIGxhIHBhcmF1bGEgImNvbWFuZGEiIG5vIGFwYXJlaXggZW5sbG9jLiBBbCBnbG9zc2FyaQojIGRlIHRlcm1lcyBkZWwgU29mdGNhdGFsPyBzaSBoaSBhcGFyZWl4LiBFbmNhcmEgbm8gaG8gdGluYyBjbGFyLiBNZW50cmUKIyBtJ2luZm9ybWUgdW5hIG1pY2EgbT9zLCBwZXI/LCBobyBkZWl4YXI/IGNvbSBhICJvcmRyZSIsIHRhbCBjb20gaG8KIyBoZXUgZmV0IGZpbnMgYXJhLiBFbCBwcm9ibGVtYSBxdWUgdD8gZWwgVEVSTUNBVCwgYSBsYSBtZXVhIG9waW5pPywgP3MKIyBxdWUgcydhcHJvcGEgbWFzc2EgYSBsJ2VzcGFueW9sLiBObyBlbiB0aW5jIHJlcyBlbiBjb250cmEgZCdhcXVlc3RhCiMgbGxlbmd1YSwgcGVyPyBhbGd1bmVzIHRyYWR1Y2Npb25zIGVuIGNhdGFsPywgcGVyIGV4ZW1wbGUsIGJhc2FudC1zZQojIGVuIGwnZXNwYW55b2wsIGVtIHNlbWJsZW4gcG9jIG5hdHVyYWxzLCBpIG4naGUgdHJvYmF0IGQnYWx0cmVzIGJhc2F0cwojIGVuIGVsIGZyYW5jP3MgcXVlIHM/IG1lJ24gc2VtYmxlbiBtP3MgbmF0dXJhbHMuCiMgTXR4ICgxNS8xMC8yMDAyKQojfiBtc2dpZCAiQXR0ZW1wdCB0byBmcmVlIHVua25vd24gY29tbWFuZCB0eXBlIGAlZCcuXG4iCiN+IG1zZ3N0ciAiSW50ZW50ZXUgbGxpdXJhciBsJ29yZHJlIGRlIG1lbmEgZGVzY29uZWd1ZGEgJyVkJy5cbiIKCiN+IG1zZ2lkICJSZXBvcnQgdGhpcyB0byAlc1xuIgojfiBtc2dzdHIgIkluZm9ybWV1IGQnYWl4PyBhICVzXG4iCgojfiBtc2dpZCAiU3RvcHBpbmcgbXlzZWxmLi4uIgojfiBtc2dzdHIgIkF0dXJhbnQtbWUuLi4iCgojfiBtc2dpZCAiVGVsbCAlcyB0byBmaXggdGhpcyBzb21lZGF5LlxuIgojfiBtc2dzdHIgIkRpZ3VldSBhICVzIHF1ZSBzb2x1Y2lvbmUgYWl4PyBhbGd1biBkaWEuXG4iCgojfiBtc2dpZCAiZXhlY3V0ZV9jb21tYW5kOiBiYWQgY29tbWFuZCB0eXBlIGAlZCciCiN+IG1zZ3N0ciAib3JkcmVfZXhlY3VjaT86IGVsIHRpcHVzIGQnb3JkcmUgP3MgaW52P2xpZCAnJWQnIgoKI34gbXNnaWQgInJlYWxcdCIKI34gbXNnc3RyICJyZWFsXHQiCgojfiBtc2dpZCAidXNlclx0IgojfiBtc2dzdHIgInVzdWFyaVx0IgoKI34gbXNnaWQgInN5c1x0IgojfiBtc2dzdHIgInNpc3RlbWFcdCIKCiN+IG1zZ2lkICIiCiN+ICJyZWFsXHQwbTAuMDBzXG4iCiN+ICJ1c2VyXHQwbTAuMDBzXG4iCiN+ICJzeXNcdDBtMC4wMHNcbiIKI34gbXNnc3RyICIiCiN+ICJyZWFsXHQwbTAuMDBzXG4iCiN+ICJ1c3VhcmlcdDBtMC4wMHNcbiIKI34gInNpc3RlbWFcdDBtMC4wMHNcbiIKCiN+IG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIGZkICVkIHRvIGZkIDE6ICVzIgojfiBtc2dzdHIgIiIKI34gIm5vIGVzIHBvdCBjb3BpYXIgcGVyIGR1cGxpY2F0IGVsIGRlc2NyaXB0b3IgZGVsIGZpdHhlciBkZiAlZCBjYXAgYSBkZiAxOiAlIgojfiAicyIKCiN+IG1zZ2lkICIlczogb3V0cHV0IHJlZGlyZWN0aW9uIHJlc3RyaWN0ZWQiCiN+IG1zZ3N0ciAiJXM6IHJlZGlyZWNjaT8gZCdlaXhpZGEgcmVzdHJpbmdpZGEiCgojfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSEiCiN+IG1zZ3N0ciAiTWVtP3JpYSBlc2dvdGFkYSEiCgojfiBtc2dpZCAiWW91IGhhdmUgYWxyZWFkeSBhZGRlZCBpdGVtIGAlcydcbiIKI34gbXNnc3RyICJKYSBoaSBoZXUgYWZlZ2l0IGwnZWxlbWVudDogJyVzJ1xuIgoKI34gbXNnaWQgIllvdSBoYXZlIGVudGVyZWQgJWQgKCVkKSBpdGVtcy4gIFRoZSBkaXN0cmlidXRpb24gaXM6XG4iCiN+IG1zZ3N0ciAiSGV1IGludHJvZHU/dCAlZCAoJWQpIGVsZW1lbnRzLiBMYSBkaXN0cmlidWNpPyA/czpcbiIKCiN+IG1zZ2lkICIlczogYmcgYmFja2dyb3VuZCBqb2I/IgojfiBtc2dzdHIgIiVzOiBzdWdnZXJpbWVudDogdm9sZXUgZXhlY3V0YXIgJ2JnJyBlbiBzZWdvbiBwbGE/IgoKI34gbXNnaWQgIiIKI34gIlJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGZyb20geXlwYXJzZSAoKSAnJWQnIGlzXG4iCiN+ICJvdXQgb2YgcmFuZ2UgaW4gbWFrZV9yZWRpcmVjdGlvbiAoKS4iCiN+IG1zZ3N0ciAiIgojfiAiTGEgaW5zdHJ1Y2NpPyBkZSByZWRpcmVjY2k/IGRlIGxhIGZ1bmNpPyB5eXBhcnNlICgpICclZCcgP3MgZm9yYVxuIgojfiAiZGUgbCdpbnRlcnZhbCBlbiBsYSBmdW5jaT8gbWFrZV9yZWRpcmVjdGlvbigpLiIKCiN+IG1zZ2lkICJjbGVhbl9zaW1wbGVfY29tbWFuZCAoKSBnb3QgYSBjb21tYW5kIHdpdGggdHlwZSAlZC4iCiN+IG1zZ3N0ciAiY2xlYW5fc2ltcGxlX2NvbW1hbmQgKCkgaGV1IHJlYnV0IHVuIG9yZHJlIGRlbCB0aXB1cyAlZC4iCgojfiBtc2dpZCAiZ290IGVycm5vICVkIHdoaWxlIHdhaXRpbmcgZm9yICVkIgojfiBtc2dzdHIgInMnaGEgcmVidXQgbCdlcnJvciAlZCBtZW50cmUgcydlc3BlcmF2YSBwZXIgJWQiCgojfiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJWMnIgojfiBtc2dzdHIgImhpIGhhIHVuIGVycm9yIGluZXNwZXJhdCBkZSBzaW50YXhpIGEgcHJvcCBkZWwgc2VueWFsICclYyciCgojfiBtc2dpZCAicHJpbnRfY29tbWFuZDogYmFkIGNvbW1hbmQgdHlwZSBgJWQnIgojfiBtc2dzdHIgInByaW50X2NvbW1hbmQ6IHRpcHVzIGQnb3JkcmUgaW52P2xpZCAnJWQnIgoKI34gbXNnaWQgImNwcmludGY6IGJhZCBgJSUnIGFyZ3VtZW50ICglYykiCiN+IG1zZ3N0ciAiY3JpbnRmOiBlbCBwYXI/bWV0cmUgJyUlJyBkZSBsJ29wY2k/ICVjID9zIGludj9saWQiCgojfiBtc2dpZCAib3B0aW9uIGAlcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCiN+IG1zZ3N0ciAibCdvcGNpPyAnJXMnIHJlcXVlcmVpeCB1biBwYXI/bWV0cmUiCgojfiBtc2dpZCAiJXM6IHVucmVjb2duaXplZCBvcHRpb24iCiN+IG1zZ3N0ciAiJXM6IGwnb3BjaT8gbm8gP3MgcmVjb25lZ3VkYSIKCiN+IG1zZ2lkICJgLWMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgojfiBtc2dzdHIgIictYycgcmVxdWVyZWl4IHVuIHBhcj9tZXRyZSIKCiN+IG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGUgZGlyZWN0b3JpZXMiCiN+IG1zZ3N0ciAiJXM6IG5vIGVzIHBvZGVuIGV4ZWN1dGFyIGVscyBkaXJlY3RvcmlzIgoKI34gbXNnaWQgIkJhZCBjb2RlIGluIHNpZy5jOiBzaWdwcm9jbWFzayIKI34gbXNnc3RyICJDb2RpIGluY29ycmVjdGUgYSBsYSBydXRpbmEgc2lnLmM6IHNpZ3Byb2NtYXNrIgoKI34gbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGVuZGluZyBgfScgaW4gJXMiCiN+IG1zZ3N0ciAic3Vic3RpdHVjaT8gaW52P2xpZGE6IG5vIHMnaGEgdGFuY2F0ICVzIGFtYiBjYXAgJ30nIgoKI34gbXNnaWQgIiVzOiBiYWQgYXJyYXkgc3Vic2NyaXB0IgojfiBtc2dzdHIgIiVzOiBsYSBjb21wb3NpY2k/IGRlIGxhIG1hdHJpdSBubyA/cyB2P2xpZGEiCgojfiBtc2dpZCAiY2FuJ3QgbWFrZSBwaXBlcyBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb246ICVzIgojfiBtc2dzdHIgIm5vIGVzIHBvZGVuIGVzdGFibGlyIGNvbmR1Y3RlcyBwZXIgYSBsYSBzdWJzdGl0dWNpPyBkZWwgcHJvYz9zOiAlcyIKCiN+IG1zZ2lkICJyZWFkaW5nIgojfiBtc2dzdHIgInMnZXN0PyBsbGVnaW50IgoKI34gbXNnaWQgInByb2Nlc3Mgc3Vic3RpdHV0aW9uIgojfiBtc2dzdHIgInByb2M/cyBkZSBzdWJzdGl0dWNpPyBlbiBjdXJzIgoKI34gbXNnaWQgImNvbW1hbmQgc3Vic3RpdHV0aW9uIgojfiBtc2dzdHIgInN1YnN0aXR1Y2k/IGRlIGwnb3JkcmUiCgojfiBtc2dpZCAiQ2FuJ3QgcmVvcGVuIHBpcGUgdG8gY29tbWFuZCBzdWJzdGl0dXRpb24gKGZkICVkKTogJXMiCiN+IG1zZ3N0ciAiIgojfiAiRWwgY29uZHVjdGUgbm8gZXMgcG90IHJlb2JyaXIgcGVyIGEgc3Vic3RpdHVpclxuIgojfiAibCdvcmRyZSAoZGVzY3JpcGNpPyBkZSBmaXR4ZXIlZCk6ICVzIgoKI34gbXNnaWQgIiQlYzogdW5ib3VuZCB2YXJpYWJsZSIKI34gbXNnc3RyICIkJWM6IHZhcmlhYmxlIHNlbnNlIHZpbmNsZSIKCiN+IG1zZ2lkICIlczogYmFkIGFyaXRobWV0aWMgc3Vic3RpdHV0aW9uIgojfiBtc2dzdHIgIiVzOiBzdWJzdGl0dWNpPyBhcml0bT90aWNhIGludj9saWRhIgoKI34gbXNnaWQgIi0lczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgojfiBtc2dzdHIgIi0lczogcydlc3BlcmF2YSB1biBvcGVyYWRvciBiaW5hcmkiCgojfiBtc2dpZCAiJXNbJXM6IGJhZCBzdWJzY3JpcHQiCiN+IG1zZ3N0ciAiJXNbJXM6IHN1Yi0/bmRleCBpbnY/bGlkIgoKI34gbXNnaWQgIlslczogYmFkIHN1YnNjcmlwdCIKI34gbXNnc3RyICJbJXM6IHN1Yi0/bmRleCBpbnY/bGlkIgoKI34gbXNnaWQgImRpZ2l0cyBvY2N1ciBpbiB0d28gZGlmZmVyZW50IGFyZ3YtZWxlbWVudHMuXG4iCiN+IG1zZ3N0ciAibGVzIHhpZnJlcyBhcGFyZWl4ZW4gZGlucyBkZSBkb3MgcGFyP21ldHJlcyBkaWZlcmVudHMuXG4iCgojfiBtc2dpZCAib3B0aW9uICVjXG4iCiN+IG1zZ3N0ciAib3BjaT8gJWNcbiIKCiN+IG1zZ2lkICJvcHRpb24gYVxuIgojfiBtc2dzdHIgIm9wY2k/IGFcbiIKCiN+IG1zZ2lkICJvcHRpb24gYlxuIgojfiBtc2dzdHIgIm9wY2k/IGJcbiIKCiN+IG1zZ2lkICJvcHRpb24gYyB3aXRoIHZhbHVlIGAlcydcbiIKI34gbXNnc3RyICJvcGNpPyBjIGFtYiBlbCB2YWxvciA/JXM/XG4iCgojfiBtc2dpZCAiPz8gc2hfZ2V0b3B0IHJldHVybmVkIGNoYXJhY3RlciBjb2RlIDAlbyA/P1xuIgojfiBtc2dzdHIgInNoX2dldG9wdCgpIHJldG9ybj8gMCVvIGNvbSBhIGNvZGkgZGUgY2FyP2N0ZXI/P1xuIgoKI34gbXNnaWQgIm5vbi1vcHRpb24gQVJHVi1lbGVtZW50czogIgojfiBtc2dzdHIgImVsZW1lbnRzIGQnQVJHViBxdWUgbm8gcz9uIG9wY2lvbnM6ICIKCiN+IG1zZ2lkICIlczogVW5rbm93biBmbGFnICVzLlxuIgojfiBtc2dzdHIgIiVzOiBTZW55YWxhZG9yIGRlc2NvbmVndXQgJXMuXG4iCgojfiBtc2dpZCAiVW5rbm93biBkaXJlY3RpdmUgYCVzJyIKI34gbXNnc3RyICJEaXJlY3RpdmEgZGVzY29uZWd1ZGEgPyVzPyIKCiN+IG1zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKI34gbXNnc3RyICIlcyBjYWwgdW4gcGFyP21ldHJlIgoKI34gbXNnaWQgIiVzIG11c3QgYmUgaW5zaWRlIG9mIGEgJEJVSUxUSU4gYmxvY2siCiN+IG1zZ3N0ciAiJXMgaGEgZCdlc3RhciBkaW5zIGQndW4gYmxvYyAkQlVJTFRJTiIKCiN+IG1zZ2lkICIlcyBmb3VuZCBiZWZvcmUgJEVORCIKI34gbXNnc3RyICIlcyB0cm9iYXQgYWJhbnMgZGUgJEVORCIKCiN+IG1zZ2lkICIlcyBhbHJlYWR5IGhhcyBhIGZ1bmN0aW9uICglcykiCiN+IG1zZ3N0ciAiJXMgamEgY29udD8gbGEgZnVuY2k/IGRlZmluaWRhOiAlcyIKCiN+IG1zZ2lkICIlcyBhbHJlYWR5IGhhZCBhIGRvY25hbWUgKCVzKSIKI34gbXNnc3RyICIlcyBqYSB0PyB1biBub20gZGUgZG9jdW1lbnQgKCVzKSIKCiN+IG1zZ2lkICIlcyBhbHJlYWR5IGhhcyBzaG9ydCBkb2N1bWVudGF0aW9uICglcykiCiN+IG1zZ3N0ciAiJXMgamEgdD8gdW5hIGRvY3VtZW50YWNpPyByP3BpZGEgKCVzKSIKCiN+IG1zZ2lkICIlcyBhbHJlYWR5IGhhcyBhICVzIGRlZmluaXRpb24iCiN+IG1zZ3N0ciAiJXMgamEgdD8gdW5hIGRlZmluaWNpPyAlcyIKCiN+IG1zZ2lkICJta2J1aWx0aW5zOiBPdXQgb2YgdmlydHVhbCBtZW1vcnkhXG4iCiN+IG1zZ3N0ciAibWtidWlsdGlucygpOiBTJ2hhIGVzZ290YXQgbGEgbWVtP3JpYSB2aXJ0dWFsIVxuIgoKIyBUb3QgaSBxdWUgbm8gaGUgdHJvYmF0IGNhcCB0cmFkdWNjaT8gdD9jbmljYSBvZmljaWFsIGFsIFRFUk1DQVQKIyBjcmVjIHF1ZSBsYSB0cmFkdWNjaT8gZGUgInByb21wdCIgY29tIGEgImFwdW50YWRvciIgP3MgcHJvdQojIGlsdXN0cmF0aXUgaSBzaWduaWZpY2F0aXUgcGVyIGFsIGNvbnRleHQsIG5vPy4KI34gbXNnaWQgInJlYWQgWy1yXSBbLXAgcHJvbXB0XSBbLWEgYXJyYXldIFstZV0gW25hbWUgLi4uXSIKI34gbXNnc3RyICJyZWFkIFstcl0gWy1wIGFwdW50YWRvcl0gWy1hIG1hdHJpdV0gWy1lXSBbbm9tIC4uLl0iCgojfiBtc2dpZCAiJVtESUdJVFMgfCBXT1JEXSBbJl0iCiN+IG1zZ3N0ciAiJVtYSUZSRVMgfCBQQVJBVUxFU10gWyZdIgoKI34gbXNnaWQgInZhcmlhYmxlcyAtIFNvbWUgdmFyaWFibGUgbmFtZXMgYW5kIG1lYW5pbmdzIgojfiBtc2dzdHIgInZhcmlhYmxlcyAtIEFsZ3VuZXMgdmFyaWFibGVzIGkgZWxzIHNldXMgc2lnbmlmaWNhdHMiCgojfiBtc2dpZCAiYGFsaWFzJyB3aXRoIG5vIGFyZ3VtZW50cyBvciB3aXRoIHRoZSAtcCBvcHRpb24gcHJpbnRzIHRoZSBsaXN0IgojfiBtc2dzdHIgIiIKI34gIlNpICdhbGlhcycgbm8gcG9ydGEgYXJndW1lbnRzIG8gcG9ydGEgbCdvcGNpPyAtcCBlcyBtb3N0cmEgbGEgbGxpc3RhIgoKI34gbXNnaWQgIm9mIGFsaWFzZXMgaW4gdGhlIGZvcm0gYWxpYXMgTkFNRT1WQUxVRSBvbiBzdGFuZGFyZCBvdXRwdXQuIgojfiBtc2dzdHIgImQnP2xpZXMgZW4gbGEgZm9ybWEgJ2FsaWFzIE5PTT1WQUxPUicgZW4gbCdlaXhpZGEgcGVyIGRlZmVjdGUuIgoKI34gbXNnaWQgIk90aGVyd2lzZSwgYW4gYWxpYXMgaXMgZGVmaW5lZCBmb3IgZWFjaCBOQU1FIHdob3NlIFZBTFVFIGlzIGdpdmVuLiIKI34gbXNnc3RyICIiCiN+ICJBbHRyYW1lbnQsIGVzIGRlZmluZWl4IHVuID9saWVzIHBlciBjYWRhIE5PTSBxdWUgZW4gZD9uYSBlbCBzZXUgVkFMT1IuIgoKI34gbXNnaWQgIkEgdHJhaWxpbmcgc3BhY2UgaW4gVkFMVUUgY2F1c2VzIHRoZSBuZXh0IHdvcmQgdG8gYmUgY2hlY2tlZCBmb3IiCiN+IG1zZ3N0ciAiIgojfiAiVW4gc2FsdCBkZSBsP25pYSBkaW5zIGRlbCBWQUxPUiBmb3I/YSBsYSBzdWJzdGl0dWNpPyBkZSBsYSBzZWc/ZW50ICIKI34gInBhcmF1bGEgcGVyIgoKI34gbXNnaWQgImFsaWFzIHN1YnN0aXR1dGlvbiB3aGVuIHRoZSBhbGlhcyBpcyBleHBhbmRlZC4gIEFsaWFzIHJldHVybnMiCiN+IG1zZ3N0ciAic3Vic3RpdHVjaT8gZGUgbCc/bGllcyBxdWFuIGFxdWVzdCBzJ2hpIGV4cGFuZGVpeC4gIEwnP2xpZXMgdG9ybmEiCgojfiBtc2dpZCAidHJ1ZSB1bmxlc3MgYSBOQU1FIGlzIGdpdmVuIGZvciB3aGljaCBubyBhbGlhcyBoYXMgYmVlbiBkZWZpbmVkLiIKI34gbXNnc3RyICIiCiN+ICJjZXJ0IGFsbWVueXMgcXVlIGVzIGQ/bmUgdW4gTk9NIHBlbCBxdWFsIG5vIHMnaGFqYSBlc3RhdCBkZWZpbml0IGNhcCA/IgojfiAibGllcy4iCgojfiBtc2dpZCAidGhlbiByZW1vdmUgYWxsIGFsaWFzIGRlZmluaXRpb25zLiIKI34gbXNnc3RyICJsJ29wY2k/IC1hLCBhbGVzaG9yZXMgc2Ugc3VwcmltZWl4ZW4gdG90ZXMgbGVzIGRlZmluaWNpb25zLiIKCiN+IG1zZ2lkICJCaW5kIGEga2V5IHNlcXVlbmNlIHRvIGEgUmVhZGxpbmUgZnVuY3Rpb24sIG9yIHRvIGEgbWFjcm8uICBUaGUiCiN+IG1zZ3N0ciAiIgojfiAiVmluY3VsYSB1bmEgc2VxPz9uY2lhIGRlIHRlY2xlcyBjYXAgdW5hIGZ1bmNpPyBkZSBsZWN0dXJhLCBvIGEgdW5hIG1hY3JvLiIKCiN+IG1zZ2lkICJzeW50YXggaXMgZXF1aXZhbGVudCB0byB0aGF0IGZvdW5kIGluIH4vLmlucHV0cmMsIGJ1dCBtdXN0IGJlIgojfiBtc2dzdHIgIiIKI34gIkxhIHNpbnRheGkgP3MgZXF1aXZhbGVudCBhbCBxdWUgZXMgdHJvYmEgYSB+Ly5pbnB1dHJjLCBwZXI/IGhhIHMnaGEgZGUgZmVyIgoKI34gbXNnaWQgIiIKI34gInBhc3NlZCBhcyBhIHNpbmdsZSBhcmd1bWVudDogYmluZCAnXCJcXEMteFxcQy1yXCI6IHJlLXJlYWQtaW5pdC1maWxlJy4iCiN+IG1zZ3N0ciAiIgojfiAiZWwgcGFzIGNvbSBhID9uaWMgcGFyP21ldHJlOiBiaW5kICdcIlxcQy14XFxDLXJcIjogcmUtcmVhZC1pbml0LWZpbGUnLiIKCiN+IG1zZ2lkICJBcmd1bWVudHMgd2UgYWNjZXB0OiIKI34gbXNnc3RyICJFbHMgcGFyP21ldHJlcyBhY2NlcHRhdHMgcz9uOiIKCiN+IG1zZ2lkICIiCiN+ICIgIC1tICBrZXltYXAgICAgICAgICBVc2UgYGtleW1hcCcgYXMgdGhlIGtleW1hcCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoaXMiCiN+IG1zZ3N0ciAiIgojfiAiICAtbSAgbWFwYV90ZWNsZXMgICAgICAgICBGYSBzZXJ2aXIgJ2tleW1hcCcgY29tIGVsIG1hcGEgZGUgY2FyP2N0ZXJzICIKI34gImR1cmFudCIKCiN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICBjb21tYW5kLiAgQWNjZXB0YWJsZSBrZXltYXAgbmFtZXMgYXJlIGVtYWNzLCIKI34gbXNnc3RyICIiCiN+ICIgICAgICAgICAgICAgICAgICAgICBsJ2V4ZWN1Y2k/IGQnYXF1ZXN0IG9yZHJlLiBTJ2FjY2VwdGVuIGVscyBub21zIGVtYWNzLCIKCiN+IG1zZ2lkICIiCiN+ICIgICAgICAgICAgICAgICAgICAgICBlbWFjcy1zdGFuZGFyZCwgZW1hY3MtbWV0YSwgZW1hY3MtY3RseCwgdmksIHZpLW1vdmUsIgojfiBtc2dzdHIgIiIKI34gIiAgICAgICAgICAgICAgICAgICAgIGVtYWNzLXN0YW5kYXJkLCBlbWFjcy1tZXRhLCBlbWFjcy1jdGx4LCB2aSwgdmktbW92ZSwiCgojfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgdmktY29tbWFuZCwgYW5kIHZpLWluc2VydC4iCiN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgdmktY29tbWFuZCwgaSB2aS1pbnNlcnQuIgoKI34gbXNnaWQgIiAgLWwgICAgICAgICAgICAgICAgIExpc3QgbmFtZXMgb2YgZnVuY3Rpb25zLiIKI34gbXNnc3RyICIgIC1sICAgICAgICAgICAgICAgICBNb3N0cmEgbGEgbGxpc3RhIGRlIG5vbXMgZGUgbGVzIGZ1bmNpb25zLiIKCiN+IG1zZ2lkICIgIC1QICAgICAgICAgICAgICAgICBMaXN0IGZ1bmN0aW9uIG5hbWVzIGFuZCBiaW5kaW5ncy4iCiN+IG1zZ3N0ciAiIgojfiAiICAtUCAgICAgICAgICAgICAgICAgTW9zdHJhIGxhIGxsaXN0YSBkZSBub21zIGkgdmluY2xlcyBkZSBsZXMgZnVuY2lvbnMuIgoKI34gbXNnaWQgIiIKI34gIiAgLXAgICAgICAgICAgICAgICAgIExpc3QgZnVuY3Rpb25zIGFuZCBiaW5kaW5ncyBpbiBhIGZvcm0gdGhhdCBjYW4gYmUiCiN+IG1zZ3N0ciAiIgojfiAiICAtcCAgICAgICAgICAgICAgICAgTW9zdHJhIGxhIGxsaXN0YSBkZSBmdW5jaW9ucyBpIHZpbmNsZXMgZCd1bmEgbWFuZXJhIgoKI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgIHJldXNlZCBhcyBpbnB1dC4iCiN+IG1zZ3N0ciAiIgojfiAiICAgICAgICAgICAgICAgICAgICAgcXVlIHB1Z2Egc2VyIHJldXRpbGl0emFkYSBjb20gYSBlbnRyYWRhIGRlIGRhZGVzLiIKCiN+IG1zZ2lkICIgIC1yICBrZXlzZXEgICAgICAgICBSZW1vdmUgdGhlIGJpbmRpbmcgZm9yIEtFWVNFUS4iCiN+IG1zZ3N0ciAiIgojfiAiICAtciAgc2VxPz9uY2lhX3RlY2xlcyAgICAgICAgIFRyZXUgZWxzIHZpbmNsZXMgZGUgbGEgc2VxPz9uY2lhIGRlIHRlY2xlcy4iCgojfiBtc2dpZCAiICAtZiAgZmlsZW5hbWUgICAgICAgUmVhZCBrZXkgYmluZGluZ3MgZnJvbSBGSUxFTkFNRS4iCiN+IG1zZ3N0ciAiICAtZiAgZml0eGVyICAgICAgIExsZWdlaXggbGVzIGFzc2lnbmFjaW9ucyBkZSB0ZWNsZXMgZCd1biBmaXR4ZXIuIgoKI34gbXNnaWQgIiIKI34gIiAgLXEgIGZ1bmN0aW9uLW5hbWUgIFF1ZXJ5IGFib3V0IHdoaWNoIGtleXMgaW52b2tlIHRoZSBuYW1lZCBmdW5jdGlvbi4iCiN+IG1zZ3N0ciAiIgojfiAiICAtcSAgbm9tX2Z1bmNpPyAgQ29uc3VsdGFyIHF1aW5lcyB0ZWNsZXMgaW52b3F1ZW4gbGEgZnVuY2k/IGRlbWFuYWRhLiIKCiN+IG1zZ2lkICIgIC1WICAgICAgICAgICAgICAgICBMaXN0IHZhcmlhYmxlIG5hbWVzIGFuZCB2YWx1ZXMiCiN+IG1zZ3N0ciAiIgojfiAiICAtViAgICAgICAgICAgICAgICAgTW9zdHJhIGxhIGxsaXN0YSBkZSBub21zIGkgdmFsb3JzIGRlIGxlcyB2YXJpYWJsZXMuIgoKI34gbXNnaWQgIiIKI34gIiAgLXYgICAgICAgICAgICAgICAgIExpc3QgdmFyaWFibGUgbmFtZXMgYW5kIHZhbHVlcyBpbiBhIGZvcm0gdGhhdCBjYW4iCiN+IG1zZ3N0ciAiIgojfiAiICAtdiAgICAgICAgICAgICAgICAgTW9zdHJhIGxhIGxsaXN0YSBkZSBub21zIGkgdmFsb3JzIGRlIHZhcmlhYmxlcyBkZSAiCiN+ICJtYW5lcmEiCgojfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgYmUgcmV1c2VkIGFzIGlucHV0LiIKI34gbXNnc3RyICIiCiN+ICIgICAgICAgICAgICAgICAgICAgICBxdWUgcHVnYSBzZXIgcmV1dGlsaXR6YWRhIGNvbSBhIGVudHJhZGEgZGUgZGFkZXMuIgoKI34gbXNnaWQgIiIKI34gIiAgLVMgICAgICAgICAgICAgICAgIExpc3Qga2V5IHNlcXVlbmNlcyB0aGF0IGludm9rZSBtYWNyb3MgYW5kIHRoZWlyICIKI34gInZhbHVlcyIKI34gbXNnc3RyICIiCiN+ICIgIC1TICAgICAgICAgICAgICAgICBNb3N0cmEgbGEgbGxpc3RhIGRlIHNlcT8/bmNpZXMgZGUgdGVjbGVzIHF1ZSBjcmlkZW5cbiIKI34gIiAgICAgICAgICAgICAgICAgICAgIG1hY3JvcyBpIGVscyBzZXVzIHZhbG9ycy4iCgojfiBtc2dpZCAiIgojfiAiICAtcyAgICAgICAgICAgICAgICAgTGlzdCBrZXkgc2VxdWVuY2VzIHRoYXQgaW52b2tlIG1hY3JvcyBhbmQgdGhlaXIgIgojfiAidmFsdWVzIGluIgojfiBtc2dzdHIgIiIKI34gIiAgLXMgICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBsbGlzdGEgZGUgc2VxPz9uY2llcyBkZSB0ZWNsZXMgcXVlIGNyaWRlbiIKCiN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICBhIGZvcm0gdGhhdCBjYW4gYmUgcmV1c2VkIGFzIGlucHV0LiIKI34gbXNnc3RyICIiCiN+ICIgICAgICAgICAgICAgICAgICAgICBtYWNyb3MgaSBlbHMgc2V1cyB2YWxvcnMgZGUgbWFuZXJhIHF1ZSBwdWdhIHNlclxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgcmV1dGlsaXR6YWRhIGNvbSBhIGVudHJhZGEgZGUgZGFkZXMuIgoKI34gbXNnaWQgImJyZWFrIE4gbGV2ZWxzLiIKI34gbXNnc3RyICJTaSBzJ2VzcGVjaWZpY2EgTiwgcydpeCBkZXNwcj9zIGRlIE4gaXRlcmFjaW9ucy4iCgojfiBtc2dpZCAiSWYgTiBpcyBzcGVjaWZpZWQsIHJlc3VtZSBhdCB0aGUgTi10aCBlbmNsb3NpbmcgbG9vcC4iCiN+IG1zZ3N0ciAiU2kgcydlc3BlY2lmaWNhIE4sIGVzIHJlcHI/biBlbCBidWNsZSBhbCBOLT9zaW0gY2ljbGUuIgoKI34gbXNnaWQgIlJ1biBhIHNoZWxsIGJ1aWx0aW4uICBUaGlzIGlzIHVzZWZ1bCB3aGVuIHlvdSB3aXNoIHRvIHJlbmFtZSBhIgojfiBtc2dzdHIgIiIKI34gIkV4ZWN1dGEgdW5hIG9yZHJlIGludGVncmFkYSBkZSBsJ2ludD9ycHJldC4gQWl4PyA/cyA/dGlsIHF1YW4gZGVzaXRnZXUiCgojfiBtc2dpZCAic2hlbGwgYnVpbHRpbiB0byBiZSBhIGZ1bmN0aW9uLCBidXQgbmVlZCB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUiCiN+IG1zZ3N0ciAiIgojfiAicmVub21lbmFyIHVuYSBvcmRyZSBpbnRlZ3JhZGEgZGUgbCdpbnQ/cnByZXQgcGVycXU/IHNpZ2EgdW5hIGZ1bmNpPywgcGVyPyIKCiN+IG1zZ2lkICJidWlsdGluIHdpdGhpbiB0aGUgZnVuY3Rpb24gaXRzZWxmLiIKI34gbXNnc3RyICJjYWwgbGEgZnVuY2lvbmFsaXRhdCBkZSBsJ29yZHJlIGludGVncmFkYSBkaW5zIGRlIGxhIHByP3BpYSBmdW5jaT8uIgoKI34gbXNnaWQgIkNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkgdG8gRElSLiAgVGhlIHZhcmlhYmxlICRIT01FIGlzIHRoZSIKI34gbXNnc3RyICJGYSBzZXJ2aXIgRElSIGNvbSBlbCBkaXJlY3RvcmkgYWN0dWFsLiBMYSB2YXJpYWJsZSAkSE9NRSA/cyBlbCIKCiN+IG1zZ2lkICJkZWZhdWx0IERJUi4gIFRoZSB2YXJpYWJsZSAkQ0RQQVRIIGRlZmluZXMgdGhlIHNlYXJjaCBwYXRoIGZvciIKI34gbXNnc3RyICIiCiN+ICJ2YWxvciBwZXIgZGVmZWN0ZSBkZSBESVIuIExhIHZhcmlhYmxlICRDRFBBVEggZGVmaW5laXggZWwgY2FtPyBkZSByZWNlcmNhIgoKI34gbXNnaWQgInRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBESVIuICBBbHRlcm5hdGl2ZSBkaXJlY3RvcnkgbmFtZXMgaW4gQ0RQQVRIIgojfiBtc2dzdHIgIiIKI34gInBlciBhbCBkaXJlY3RvcmkgcXVlIGNvbnQ/IERJUi4gIEVscyBub21zIGRlIGRpcmVjdG9yaXMgYWx0ZXJuYXRpdXMgcXVlICIKI34gImhpIGhhIgoKI34gbXNnaWQgImFyZSBzZXBhcmF0ZWQgYnkgYSBjb2xvbiAoOikuICBBIG51bGwgZGlyZWN0b3J5IG5hbWUgaXMgdGhlIHNhbWUgYXMiCiN+IG1zZ3N0ciAiIgojfiAiZW4gQ0RQQVRIIHM/biBzZXBhcmF0cyBwZXIgZG9zIHB1bnRzLiAgVW4gbm9tIGJ1aXQgZGUgZGlyZWN0b3JpID9zIGVsICIKI34gIm1hdGVpeCIKCiN+IG1zZ2lkICJ0aGUgY3VycmVudCBkaXJlY3RvcnksIGkuZS4gYC4nLiAgSWYgRElSIGJlZ2lucyB3aXRoIGEgc2xhc2ggKC8pLCIKI34gbXNnc3RyICIiCiN+ICJxdWUgZWwgZGlyZWN0b3JpIGFjdHVhbCwgcC5lLiA/Lj8uICBTaSBlcyBjb21lbj9hIGVuIERJUiBhbWIgdW5hIGJhcnJhICIKI34gIigvKSwiCgojfiBtc2dpZCAidGhlbiAkQ0RQQVRIIGlzIG5vdCB1c2VkLiAgSWYgdGhlIGRpcmVjdG9yeSBpcyBub3QgZm91bmQsIGFuZCB0aGUiCiN+IG1zZ3N0ciAiIgojfiAiYWxlc2hvcmVzIG5vIGVzIGZhIHNlcnZpciAkQ0RQQVRILiAgU2kgbm8gZXMgdHJvYmEgZWwgZGlyZWN0b3JpLCBpIGwnb3BjaT8iCgojfiBtc2dpZCAic2hlbGwgb3B0aW9uIGBjZGFibGVfdmFycycgaXMgc2V0LCB0aGVuIHRyeSB0aGUgd29yZCBhcyBhIHZhcmlhYmxlIgojfiBtc2dzdHIgIiIKI34gImRlIGwnaW50P3JwcmV0ID9jZGFibGVfdmFycz8gP3MgYWN0aXZhLCBhbGVzaG9yZXMgaW50ZW50YSBmZXIgc2VydmlyIGxhIgoKI34gbXNnaWQgIm5hbWUuICBJZiB0aGF0IHZhcmlhYmxlIGhhcyBhIHZhbHVlLCB0aGVuIGNkIHRvIHRoZSB2YWx1ZSBvZiB0aGF0IgojfiBtc2dzdHIgIiIKI34gInBhcmF1bGEgY29tIGEgbm9tIGRlIHZhcmlhYmxlLiAgU2kgYXF1ZXN0YSB2YXJpYWJsZSBqYSB0ZW5pYSB1biB2YWxvciwiCgojfiBtc2dpZCAiIgojfiAidmFyaWFibGUuICBUaGUgLVAgb3B0aW9uIHNheXMgdG8gdXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIgojfiBtc2dzdHIgImFsZXNob3JlcyBlcyBjYW52aWEgYWwgZGlyZWN0b3JpIGQnYXF1ZXN0IHZhbG9yLiAgTCdvcGNpPyAtUCBpbmRpY2EiCgojfiBtc2dpZCAiIgojfiAiaW5zdGVhZCBvZiBmb2xsb3dpbmcgc3ltYm9saWMgbGlua3M7IHRoZSAtTCBvcHRpb24gZm9yY2VzIHN5bWJvbGljIGxpbmtzIgojfiBtc2dzdHIgIiIKI34gImwnZW1wcmFtZW50IGRlIGwnZXN0cnVjdHVyYSBmP3NpY2EgZGVsIGRpcmVjdG9yaSBlbiB2b2x0ZXMgZCdlbmxsYT9vcyIKCiN+IG1zZ2lkICJ0byBiZSBmb2xsb3dlZC4iCiN+IG1zZ3N0ciAic2ltYj9saWNzOyBsJ29wY2k/IC1MIGZvcj9hIGVsIHNlZ3VpbWVudCBkJ2VubGxhP29zIHNpbWI/bGljcy4iCgojfiBtc2dpZCAiUHJpbnQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuICBXaXRoIHRoZSAtUCBvcHRpb24sIHB3ZCBwcmludHMiCiN+IG1zZ3N0ciAiIgojfiAiTW9zdHJhIGVsIGRpcmVjdG9yaSBhY3R1YWwgZGUgdHJlYmFsbC4gIEFtYiBsJ29wY2k/IC1QLCBwd2QgbW9zdHJhIGVsIgoKI34gbXNnaWQgInRoZSBwaHlzaWNhbCBkaXJlY3RvcnksIHdpdGhvdXQgYW55IHN5bWJvbGljIGxpbmtzOyB0aGUgLUwgb3B0aW9uIgojfiBtc2dzdHIgIiIKI34gImRpcmVjdG9yaSBmP3NpYywgc2Vuc2UgY2FwIGVubGxhPyBzaW1iP2xpYzsgbCdvcGNpPyAtTCBmYSBxdWUgcHdkIHNlZ3Vpc2NhIgoKI34gbXNnaWQgIm1ha2VzIHB3ZCBmb2xsb3cgc3ltYm9saWMgbGlua3MuIgojfiBtc2dzdHIgImVscyBlbmxsYT9vcyBzaW1iP2xpY3MuIgoKI34gbXNnaWQgIiIKI34gIlJ1bnMgQ09NTUFORCB3aXRoIEFSR1MgaWdub3Jpbmcgc2hlbGwgZnVuY3Rpb25zLiAgSWYgeW91IGhhdmUgYSBzaGVsbCIKI34gbXNnc3RyICIiCiN+ICJFeGVjdXRhIE9SRFJFIGFtYiBQQVI/TUVUUkVTIGlnbm9yYW50IGxlcyBmdW5jaW9ucyBkZSBsJ2ludD9ycHJldC4gIFNpICIKI34gInRlbml1IgoKI34gbXNnaWQgImZ1bmN0aW9uIGNhbGxlZCBgbHMnLCBhbmQgeW91IHdpc2ggdG8gY2FsbCB0aGUgY29tbWFuZCBgbHMnLCB5b3UgY2FuIgojfiBtc2dzdHIgIiIKI34gInVuYSBmdW5jaT8gZGUgbCdpbnQ/cnByZXQgYW5vbWVuYXQgP2xzPywgaSBkZXNpdGdldSBjcmlkYXIgbCdvcmRyZSA/bHM/LCIKCiN+IG1zZ2lkICIiCiN+ICJzYXkgXCJjb21tYW5kIGxzXCIuICBJZiB0aGUgLXAgb3B0aW9uIGlzIGdpdmVuLCBhIGRlZmF1bHQgdmFsdWUgaXMgdXNlZCIKI34gbXNnc3RyICIiCiN+ICJwb2RldSBlc2NyaXVyZSA/Y29tbWFuZCBscz8uICBTaSBkb25ldSBsJ29wY2k/IC1wLCBlcyBmYXI/IHNlcnZpciB1biB2YWxvciIKCiN+IG1zZ2lkICIiCiN+ICJmb3IgUEFUSCB0aGF0IGlzIGd1YXJhbnRlZWQgdG8gZmluZCBhbGwgb2YgdGhlIHN0YW5kYXJkIHV0aWxpdGllcy4gIElmIgojfiBtc2dzdHIgIiIKI34gInBlciBkZWZlY3RlIHBlciBhbCBQQVRILCBxdWUgZ2FyYW50ZWl4IGxhIGNlcmNhIGRlIGxlcyBlaW5lcyBlc3Q/bmRhcmQuICAiCiN+ICJTaSBoaSIKCiN+IG1zZ2lkICIiCiN+ICJ0aGUgLVYgb3IgLXYgb3B0aW9uIGlzIGdpdmVuLCBhIHN0cmluZyBpcyBwcmludGVkIGRlc2NyaWJpbmcgQ09NTUFORC4iCiN+IG1zZ3N0ciAiIgojfiAiaW5kaXF1ZXUgbCdvcGNpPyAtViBvIC12LCBlcyBtb3N0cmFyPyB1bmEgY2FkZW5hIGRlIHRleHQgZGVzY3JpdmludCAiCiN+ICJsJ09SRFJFLiIKCiN+IG1zZ2lkICJUaGUgLVYgb3B0aW9uIHByb2R1Y2VzIGEgbW9yZSB2ZXJib3NlIGRlc2NyaXB0aW9uLiIKI34gbXNnc3RyICJMJ29wY2k/IC1WIHByb2R1ZWl4IHVuYSBkZXNjcmlwY2k/IG0/cyBhY3VyYWRhLiIKCiN+IG1zZ2lkICJEZWNsYXJlIHZhcmlhYmxlcyBhbmQvb3IgZ2l2ZSB0aGVtIGF0dHJpYnV0ZXMuICBJZiBubyBOQU1FcyBhcmUiCiN+IG1zZ3N0ciAiIgojfiAiRXMgZGVjbGFyYSBsZXMgdmFyaWFibGVzIGkvbyBzZSdscyBkP25hIGF0cmlidXRzLiAgU2kgbm8gZXMgcHJvcG9yY2lvbmVuICIKI34gIk5PTVMsIgoKI34gbXNnaWQgImdpdmVuLCB0aGVuIGRpc3BsYXkgdGhlIHZhbHVlcyBvZiB2YXJpYWJsZXMgaW5zdGVhZC4gIFRoZSAtcCBvcHRpb24iCiN+IG1zZ3N0ciAiIgojfiAiYWxlc2hvcmVzIG1vc3RyYSBlbHMgdmFsb3JzIGRlIGxlcyB2YXJpYWJsZXMuICBMJ29wY2k/IC1wIG1vc3RyYXI/IGVscyIKCiN+IG1zZ2lkICJ3aWxsIGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlcyBvZiBlYWNoIE5BTUUuIgojfiBtc2dzdHIgImF0cmlidXRzIGkgdmFsb3JzIGRlIGNhZGEgTk9NLiIKCiN+IG1zZ2lkICJUaGUgZmxhZ3MgYXJlOiIKI34gbXNnc3RyICJFbHMgc2VueWFsYWRvcnMgcz9uOiIKCiN+IG1zZ2lkICIgIC1hXHR0byBtYWtlIE5BTUVzIGFycmF5cyAoaWYgc3VwcG9ydGVkKSIKI34gbXNnc3RyICIgIC1hXHRwZXIgYSBmZXIgbWF0cml1cyBkZSBOT01TIChzaSBuJz9zIHN1cG9ydGF0KSIKCiN+IG1zZ2lkICIgIC1mXHR0byBzZWxlY3QgZnJvbSBhbW9uZyBmdW5jdGlvbiBuYW1lcyBvbmx5IgojfiBtc2dzdHIgIiAgLWZcdHRyaWFyIG5vbT9zIGVudHJlIGVscyBub21zIGRlIGxlcyBmdW5jaW9ucyIKCiN+IG1zZ2lkICIgIC1GXHR0byBkaXNwbGF5IGZ1bmN0aW9uIG5hbWVzIHdpdGhvdXQgZGVmaW5pdGlvbnMiCiN+IG1zZ3N0ciAiICAtRlx0bW9zdHJhciBub21zIGRlIGZ1bmNpb25zIG9tZXRlbnQgbGVzIHNldWVzIGRlZmluaWNpb25zIgoKI34gbXNnaWQgIiAgLXJcdHRvIG1ha2UgTkFNRXMgcmVhZG9ubHkiCiN+IG1zZ3N0ciAiICAtclx0YmxvY2FyIGwnYWNjP3MgZCdlc2NyaXB0dXJhIGRlIGxlcyB2YXJpYWJsZXMgTk9NcyIKCiN+IG1zZ2lkICIgIC14XHR0byBtYWtlIE5BTUVzIGV4cG9ydCIKI34gbXNnc3RyICIgIC14XHRleHBvcnRhciBsZXMgdmFyaWFibGVzIGRlIE5PTXMiCgojfiBtc2dpZCAiICAtaVx0dG8gbWFrZSBOQU1FcyBoYXZlIHRoZSBgaW50ZWdlcicgYXR0cmlidXRlIHNldCIKI34gbXNnc3RyICIgIC1pXHRhY3RpdmFyIGwnYXRyaWJ1dCBudW0/cmljIGVudGVyIGxlcyB2YXJpYWJsZXMgTk9NcyIKCiN+IG1zZ2lkICJWYXJpYWJsZXMgd2l0aCB0aGUgaW50ZWdlciBhdHRyaWJ1dGUgaGF2ZSBhcml0aG1ldGljIGV2YWx1YXRpb24gKHNlZSIKI34gbXNnc3RyICIiCiN+ICJMZXMgdmFyaWFibGVzIHF1ZSB0aW5ndWVuIGwnYXRyaWJ1dCBudW0/cmljIGVudGVyIHRlbmVuIGZldGEgbCdldmFsdWFjaT8iCgojfiBtc2dpZCAiYGxldCcpIGRvbmUgd2hlbiB0aGUgdmFyaWFibGUgaXMgYXNzaWduZWQgdG8uIgojfiBtc2dzdHIgImFyaXRtP3RpY2EgKG1pcmFyID9sZXQ/KSBxdWFuIHNlJ2xzIGFzc2lnbmEgbGEgdmFyaWFibGUuIgoKI34gbXNnaWQgIldoZW4gZGlzcGxheWluZyB2YWx1ZXMgb2YgdmFyaWFibGVzLCAtZiBkaXNwbGF5cyBhIGZ1bmN0aW9uJ3MgbmFtZSIKI34gbXNnc3RyICIiCiN+ICJRdWFuIGVzIG1vc3RyYSBlbHMgdmFsb3JzIGRlIGxlcyB2YXJpYWJsZXMsIGFtYiAtZiBlcyBtb3N0cmEgdW4gbm9tIGRlICIKI34gImZ1bmNpPyIKCiN+IG1zZ2lkICJhbmQgZGVmaW5pdGlvbi4gIFRoZSAtRiBvcHRpb24gcmVzdHJpY3RzIHRoZSBkaXNwbGF5IHRvIGZ1bmN0aW9uIgojfiBtc2dzdHIgIiIKI34gImkgbGEgZGVmaW5pY2k/LiAgQW1iIGwnb3BjaT8gLUYgZXMgbGltaXRhIG5vbT9zIGVuIG1vc3RyYXIgZWwgbm9tIGRlIGxhIgoKI34gbXNnaWQgIm5hbWUgb25seS4iCiN+IG1zZ3N0ciAiZnVuY2k/LiIKCiN+IG1zZ2lkICIiCiN+ICJVc2luZyBgKycgaW5zdGVhZCBvZiBgLScgdHVybnMgb2ZmIHRoZSBnaXZlbiBhdHRyaWJ1dGUgaW5zdGVhZC4gIFdoZW4iCiN+IG1zZ3N0ciAiIgojfiAiRW1wcmFudCBcIitcIiBlbiB2b2x0ZXMgZGUgXCItXCIgZGVzYWN0aXZhIGwnYXRyaWJ1dCBlc3BlY2lmaWNhdC4gIFF1YW4gP3MiCgojfiBtc2dpZCAidXNlZCBpbiBhIGZ1bmN0aW9uLCBtYWtlcyBOQU1FcyBsb2NhbCwgYXMgd2l0aCB0aGUgYGxvY2FsJyBjb21tYW5kLiIKI34gbXNnc3RyICIiCiN+ICJlbXByYXQgZW4gdW5hIGZ1bmNpPywgY29udmVydGVpeCBOT01zIGVuIHZhcmlhYmxlcyBsb2NhbHMsIGlndWFsIGNvbSBlcyAiCiN+ICJmYVxuIgojfiAiYW1iIGwnb3JkcmUgP2xvY2FsPy4iCgojfiBtc2dpZCAiQ3JlYXRlIGEgbG9jYWwgdmFyaWFibGUgY2FsbGVkIE5BTUUsIGFuZCBnaXZlIGl0IFZBTFVFLiAgTE9DQUwiCiN+IG1zZ3N0ciAiIgojfiAiRXMgY3JlYSB1bmEgdmFyaWFibGUgbG9jYWwgYW5vbWVuYXQgTk9NLCBpIGVsIGQ/bmEgdW4gVkFMT1IuICBOb20/cyBlcyAiCiN+ICJwb3QgZmVyIgoKI34gbXNnaWQgImhhdmUgYSB2aXNpYmxlIHNjb3BlIHJlc3RyaWN0ZWQgdG8gdGhhdCBmdW5jdGlvbiBhbmQgaXRzIGNoaWxkcmVuLiIKI34gbXNnc3RyICJ2YXJpYWJsZSBOT00gbm9tP3MgcGVyIGEgYXF1ZXN0YSBmdW5jaT8gaSBwZXIgYWxzIHNldXMgZmlsbHMuIgoKI34gbXNnaWQgIk91dHB1dCB0aGUgQVJHcy4gIElmIC1uIGlzIHNwZWNpZmllZCwgdGhlIHRyYWlsaW5nIG5ld2xpbmUgaXMiCiN+IG1zZ3N0ciAiIgojfiAiTW9zdHJhIGVscyBQQVI/TUVUUkVzLiAgU2kgZXNwZWNpZmlxdWV1IC1uLCBzJ2VsaW1pbmFyPyBlbCBjYXI/Y3RlciBkZSAiCiN+ICJzYWx0IgoKI34gbXNnaWQgInN1cHByZXNzZWQuICBJZiB0aGUgLWUgb3B0aW9uIGlzIGdpdmVuLCBpbnRlcnByZXRhdGlvbiBvZiB0aGUiCiN+IG1zZ3N0ciAiIgojfiAiZGUgbD9uaWEuICBTaSBlc3BlY2lmaXF1ZXUgbCdvcGNpPyAtZSwgcydhY3RpdmFyPyBsYSBpbnRlcnByZXRhY2k/IGRlIGxlcyIKCiN+IG1zZ2lkICJmb2xsb3dpbmcgYmFja3NsYXNoLWVzY2FwZWQgY2hhcmFjdGVycyBpcyB0dXJuZWQgb246IgojfiBtc2dzdHIgInNlcT8/bmNpZXMgZCdlc2NhcGFkYSAoYmFycmEgaW5jbGluYWRhIGludmVyc2EpOiIKCiN+IG1zZ2lkICJcdFxcYVx0YWxlcnQgKGJlbGwpIgojfiBtc2dzdHIgIlx0XFxhXHRhbGVydGEgKGNhbXBvbmFkYSkiCgojfiBtc2dpZCAiXHRcXGJcdGJhY2tzcGFjZSIKI34gbXNnc3RyICJcdFxcYlx0ZXNib3JyYXIgY2FwIGVucmVyZSIKCiN+IG1zZ2lkICJcdFxcY1x0c3VwcHJlc3MgdHJhaWxpbmcgbmV3bGluZSIKI34gbXNnc3RyICJcdFxcY1x0c3VwcmltZWl4IGVsIGNhcj9jdGVyIGRlIHNhbHQgZGUgbD9uaWEiCgojfiBtc2dpZCAiXHRcXEVcdGVzY2FwZSBjaGFyYWN0ZXIiCiN+IG1zZ3N0ciAiXHRcXEVcdGNhcj9jdGVyIGQnZXNjYXBhZGEiCgojfiBtc2dpZCAiXHRcXGZcdGZvcm0gZmVlZCIKI34gbXNnc3RyICJcdFxcZlx0YWxpbWVudGFjaT8gbWFudWFsIGRlIHBhcGVyIgoKI34gbXNnaWQgIlx0XFxuXHRuZXcgbGluZSIKI34gbXNnc3RyICJcdFxcblx0bD9uaWEgbm92YSIKCiN+IG1zZ2lkICJcdFxcclx0Y2FycmlhZ2UgcmV0dXJuIgojfiBtc2dzdHIgIlx0XFxyXHR0ZWNsYSBkZSByZXRvcm4gZGUgY2Fycm8iCgojfiBtc2dpZCAiXHRcXHRcdGhvcml6b250YWwgdGFiIgojfiBtc2dzdHIgIlx0XFx0XHRwZXN0YW55YSBob3JpdHpvbnRhbCIKCiN+IG1zZ2lkICJcdFxcdlx0dmVydGljYWwgdGFiIgojfiBtc2dzdHIgIlx0XFx2XHRwZXN0YW55YSB2ZXJ0aWNhbCIKCiN+IG1zZ2lkICJcdFxcXFxcdGJhY2tzbGFzaCIKI34gbXNnc3RyICJcdFxcXFxcdGJhcnJhIGludmVydGlkYSIKCiN+IG1zZ2lkICJcdFxcbnVtXHR0aGUgY2hhcmFjdGVyIHdob3NlIEFTQ0lJIGNvZGUgaXMgTlVNIChvY3RhbCkuIgojfiBtc2dzdHIgIlx0XFxudW1cdGNhcj9jdGVyIGRlbCBxdWFsIGNvZGkgQVNDSUkgP3MgTlVNIChvY3RhbCkuIgoKI34gbXNnaWQgIiIKI34gIllvdSBjYW4gZXhwbGljaXRseSB0dXJuIG9mZiB0aGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlIGFib3ZlIGNoYXJhY3RlcnMiCiN+IG1zZ3N0ciAiIgojfiAiUG9kZXUgZGVzYWN0aXZhciBleHBsP2NpdGFtZW50IGxhIGludGVycHJldGFjaT8gZGVscyBjYXI/Y3RlcnMgZXNtZW50YXRzICIKI34gImFtYiIKCiN+IG1zZ2lkICJ3aXRoIHRoZSAtRSBvcHRpb24uIgojfiBtc2dzdHIgImwnb3BjaT8gLUUuIgoKI34gbXNnaWQgIkVuYWJsZSBhbmQgZGlzYWJsZSBidWlsdGluIHNoZWxsIGNvbW1hbmRzLiAgVGhpcyBhbGxvd3MiCiN+IG1zZ3N0ciAiIgojfiAiQWN0aXZhIGkgZGVzYWN0aXZhIGxlcyBvcmRyZXMgaW50ZWdyYWRlcyBkZSBsJ2ludD9ycHJldCBkJ29yZHJlcy4gQT8/IHVzIgoKI34gbXNnaWQgInlvdSB0byB1c2UgYSBkaXNrIGNvbW1hbmQgd2hpY2ggaGFzIHRoZSBzYW1lIG5hbWUgYXMgYSBzaGVsbCIKI34gbXNnc3RyICIiCiN+ICJwZXJtZXQgZmVyIHNlcnZpciB1bmEgb3JkcmUgZGUgZGlzYyBxdWUgdGluZ2EgZWwgbWF0ZWl4IG5vbSBkJ3VuYSBvcmRyZSAiCiN+ICJpbnRlcm5hIgoKI34gbXNnaWQgImJ1aWx0aW4uICBJZiAtbiBpcyB1c2VkLCB0aGUgTkFNRXMgYmVjb21lIGRpc2FibGVkOyBvdGhlcndpc2UiCiN+IG1zZ3N0ciAiIgojfiAiZGUgbCdpbnQ/cnByZXQgZCdvcmRyZXMuICBTaSB1dGlsaXR6ZXUgLW4sIGVscyBOT01zIGVzIGRlc2FjdGl2ZW47ICIKI34gImFsdHJhbWVudCIKCiN+IG1zZ2lkICJOQU1FcyBhcmUgZW5hYmxlZC4gIEZvciBleGFtcGxlLCB0byB1c2UgdGhlIGB0ZXN0JyBmb3VuZCBvbiB5b3VyIgojfiBtc2dzdHIgIiIKI34gInMnYWN0aXZhcmllbiBlbHMgTk9Ncy4gIFBlciBleGVtcGxlLCBwZXIgYSBmZXIgc2VydmlyIGwnb3JkcmUgP3Rlc3Q/IGRlbCAiCiN+ICJjYW0/IgoKI34gbXNnaWQgInBhdGggaW5zdGVhZCBvZiB0aGUgc2hlbGwgYnVpbHRpbiB2ZXJzaW9uLCB0eXBlIGBlbmFibGUgLW4gdGVzdCcuIgojfiBtc2dzdHIgIiIKI34gImQnYWNjP3MgKFBBVEgpIGVuIHZvbHRlcyBkZSBsYSB2ZXJzaT8gaW50ZWdyYWRhIGRlIGwnaW50P3JwcmV0IGQnb3JkcmVzLCIKCiN+IG1zZ2lkICJPbiBzeXN0ZW1zIHN1cHBvcnRpbmcgZHluYW1pYyBsb2FkaW5nLCB0aGUgLWYgb3B0aW9uIG1heSBiZSB1c2VkIgojfiBtc2dzdHIgIiIKI34gInRlY2xlZ2V1ID9lbmFibGUgLW4gdGVzdD8uIEVuIHNpc3RlbWVzIHF1ZSBzdXBvcnRlbiBjP3JyZWdhIGRpbj9taWNhLCAiCiN+ICJsJ29wY2k/IgoKI34gbXNnaWQgInRvIGxvYWQgbmV3IGJ1aWx0aW5zIGZyb20gdGhlIHNoYXJlZCBvYmplY3QgRklMRU5BTUUuICBUaGUgLWQiCiN+IG1zZ3N0ciAiIgojfiAiLWYgZXMgcG90IGZlciBzZXJ2aXIgcGVyIGEgY2FycmVnYXIgbm92ZXMgb3JkcmVzIHByZWRlZmluaWRlcyBkZSBsJ29iamVjdGUiCgojfiBtc2dpZCAib3B0aW9uIHdpbGwgZGVsZXRlIGEgYnVpbHRpbiBwcmV2aW91c2x5IGxvYWRlZCB3aXRoIC1mLiAgSWYgbm8iCiN+IG1zZ3N0ciAiIgojfiAiZGUgRklUWEVSIGNvbXBhcnRpdC4gIEwnb3BjaT8gLWQgZXNib3JyYXI/IHVuYSBvcmRyZSBpbnRlZ3JhZGEgY2FycmVnYWRhICIKCiN+IG1zZ2lkICJub24tb3B0aW9uIG5hbWVzIGFyZSBnaXZlbiwgb3IgdGhlIC1wIG9wdGlvbiBpcyBzdXBwbGllZCwgYSBsaXN0IgojfiBtc2dzdHIgIiIKI34gInByP3ZpYW1lbnQgYW1iIC1mLiBTaSBubyBzJ2VzcGVjaWZpY2EgY2FwIG9wY2k/LCBvIHMnZXNwZWNpZmljYSBsJ29wY2k/IC0iCiN+ICJwLCBlcyIKCiN+IG1zZ2lkICJvZiBidWlsdGlucyBpcyBwcmludGVkLiAgVGhlIC1hIG9wdGlvbiBtZWFucyB0byBwcmludCBldmVyeSBidWlsdGluIgojfiBtc2dzdHIgIiIKI34gIm1vc3RyYSB1bmEgbGxpc3RhIGQnb3JkcmVzIHByZWRlZmluaWRlcy4gIEwnb3BjaT8gLWEgaW1wbGljYSBtb3N0cmFyIGNhZGEiCgojfiBtc2dpZCAid2l0aCBhbiBpbmRpY2F0aW9uIG9mIHdoZXRoZXIgb3Igbm90IGl0IGlzIGVuYWJsZWQuICBUaGUgLXMgb3B0aW9uIgojfiBtc2dzdHIgIiIKI34gIm9yZHJlIGludGVncmFkYSBhbWIgdW5hIGluZGljYWNpPyBkZSBzaSBlc3Q/IGFjdGl2YSBvIG5vLiBMJ29wY2k/IC1zICIKI34gImltcGVkZWl4IgoKI34gbXNnaWQgInJlc3RyaWN0cyB0aGUgb3V0cHV0IHRvIHRoZSBQb3NpeC4yIGBzcGVjaWFsJyBidWlsdGlucy4gIFRoZSAtbiIKI34gbXNnc3RyICIiCiN+ICJsJ2VpeGlkYSBkZSBsZXMgb3JkcmVzIHByZWRlZmluaWRlcyBcImVzcGVjaWFsc1wiIFBvc2l4LjIuICBMJ29wY2k/IC1uICIKI34gIm1vc3RyYSIKCiN+IG1zZ2lkICJvcHRpb24gZGlzcGxheXMgYSBsaXN0IG9mIGFsbCBkaXNhYmxlZCBidWlsdGlucy4iCiN+IG1zZ3N0ciAidW5hIGxsaXN0YSBkZSB0b3RlcyBsZXMgZnVuY2lvbnMgaW50ZXJuZXMgZGVzYWN0aXZhZGVzLiIKCiN+IG1zZ2lkICJHZXRvcHRzIGlzIHVzZWQgYnkgc2hlbGwgcHJvY2VkdXJlcyB0byBwYXJzZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuIgojfiBtc2dzdHIgIiIKI34gIkxhIGZ1bmNpPyBnZXRvcHRzKCkgP3MgdXRpbGl0emFkYSBwZWxzIHByb2NlZGltZW50cyBkZSBsJ2ludD9ycHJldCAiCiN+ICJkJ29yZHJlc1xuIgojfiAicGVyIGEgYW5hbGl0emFyIHBhcj9tZXRyZXMgcG9zaWNpb25hbHMuIgoKI34gbXNnaWQgIk9QVFNUUklORyBjb250YWlucyB0aGUgb3B0aW9uIGxldHRlcnMgdG8gYmUgcmVjb2duaXplZDsgaWYgYSBsZXR0ZXIiCiN+IG1zZ3N0ciAiIgojfiAiTGEgdmFyaWFibGUgT1BUU1RSSU5HIGNvbnQ/IGxlcyBvcGNpb25zIGRlIGZvcm1hIGN1cnRhIHBlciBhIHNlciAiCiN+ICJyZWNvbmVndWRlczsiCgojfiBtc2dpZCAiaXMgZm9sbG93ZWQgYnkgYSBjb2xvbiwgdGhlIG9wdGlvbiBpcyBleHBlY3RlZCB0byBoYXZlIGFuIGFyZ3VtZW50LCIKI34gbXNnc3RyICIiCiN+ICJzaSB1bmEgbGxldHJhID9zIHNlZ3VpZGEgcGVyIGRvcyBwdW50cywgcydoYSBkZSBkb25hciB1biBwYXI/bWV0cmUgcXVlICIKI34gImhhdXJpYSIKCiN+IG1zZ2lkICJ3aGljaCBzaG91bGQgYmUgc2VwYXJhdGVkIGZyb20gaXQgYnkgd2hpdGUgc3BhY2UuIgojfiBtc2dzdHIgImQnZXN0YXIgc2VwYXJhdCBwZXIgdW4gZXNwYWkgZW4gYmxhbmMuIgoKI34gbXNnaWQgIkVhY2ggdGltZSBpdCBpcyBpbnZva2VkLCBnZXRvcHRzIHdpbGwgcGxhY2UgdGhlIG5leHQgb3B0aW9uIGluIHRoZSIKI34gbXNnc3RyICIiCiN+ICJDYWRhIHZlZ2FkYSBxdWUgc2UnbCBpbnZvY2EsID9nZXRvcHM/IHBvc2FyPyBsYSBzZWc/ZW50IG9wY2k/IGVuIGxhICIKI34gInZhcmlhYmxlIgoKI34gbXNnaWQgInNoZWxsIHZhcmlhYmxlICRuYW1lLCBpbml0aWFsaXppbmcgbmFtZSBpZiBpdCBkb2VzIG5vdCBleGlzdCwgYW5kIgojfiBtc2dzdHIgIiIKI34gIiRuYW1lIGRlIGwnaW50P3JwcmV0IGQnb3JkcmVzLCBjcmVhbnQtbG8gc2kgbm8gZXhpc3RlaXgsIGkgbCc/bmRleCBkZWwgIgojfiAic2VnP2VudCIKCiN+IG1zZ2lkICJ0aGUgaW5kZXggb2YgdGhlIG5leHQgYXJndW1lbnQgdG8gYmUgcHJvY2Vzc2VkIGludG8gdGhlIHNoZWxsIgojfiBtc2dzdHIgIiIKI34gInBhcj9tZXRyZSBwZXIgYSBwcm9jZXNzYXItc2UgZGlucyBkZSBsYSB2YXJpYWJsZSBPUFRJTkQgZGUgbCdpbnQ/cnByZXQiCgojfiBtc2dpZCAidmFyaWFibGUgT1BUSU5ELiAgT1BUSU5EIGlzIGluaXRpYWxpemVkIHRvIDEgZWFjaCB0aW1lIHRoZSBzaGVsbCBvciIKI34gbXNnc3RyICIiCiN+ICJkJ29yZHJlcy4gT1BUSU5EIHMnaW5pY2lhIGFtYiAxIGNhZGEgdmVnYWRhIHF1ZSBzJ2ludm9jYSBsJ2ludD9ycHJldCAiCiN+ICJkJ29yZHJlcyIKCiN+IG1zZ2lkICJhIHNoZWxsIHNjcmlwdCBpcyBpbnZva2VkLiAgV2hlbiBhbiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQsIgojfiBtc2dzdHIgIiIKI34gIm8gdW5hIHNlcT8/bmNpYSBkJ29yZHJlcy4gUXVhbiB1bmEgb3BjaT8gcmVxdWVyZWl4IHVuIHBhcj9tZXRyZSwgbGEgZnVuY2k/IgoKI34gbXNnaWQgImdldG9wdHMgcGxhY2VzIHRoYXQgYXJndW1lbnQgaW50byB0aGUgc2hlbGwgdmFyaWFibGUgT1BUQVJHLiIKI34gbXNnc3RyICIiCiN+ICJnZXRvcHRzKCkgY29snmxvY2EgYXF1ZXN0IHBhcj9tZXRyZSBkaW5zIGRlIGxhIHZhcmlhYmxlIE9QVEFSRyBkZSBsJ2ludD8iCiN+ICJycHJldC4iCgojfiBtc2dpZCAiZ2V0b3B0cyByZXBvcnRzIGVycm9ycyBpbiBvbmUgb2YgdHdvIHdheXMuICBJZiB0aGUgZmlyc3QgY2hhcmFjdGVyIgojfiBtc2dzdHIgIiIKI34gIkxhIGZ1bmNpPyBnZXRvcHRzKCkgY29tdW5pY2EgZXJyb3JzIGVuIHVuYSBkZSBsZXMgZHVlcyBtYW5lcmVzLiBTaSBlbCIKCiN+IG1zZ2lkICJvZiBPUFRTVFJJTkcgaXMgYSBjb2xvbiwgZ2V0b3B0cyB1c2VzIHNpbGVudCBlcnJvciByZXBvcnRpbmcuICBJbiIKI34gbXNnc3RyICJwcmltZXIgY2FyP2N0ZXIgZGUgbGEgdmFyaWFibGUgT1BTVFJJTkcgP3MgZWwgc2lnbmUgJzonLCBsYSBmdW5jaT8iCgojfiBtc2dpZCAidGhpcyBtb2RlLCBubyBlcnJvciBtZXNzYWdlcyBhcmUgcHJpbnRlZC4gIElmIGFuIGlsbGVnYWwgb3B0aW9uIGlzIgojfiBtc2dzdHIgIiIKI34gImdldG9wdHMoKSBjb3JyZSBzaWxlbmNpb3NhbWVudC4gIEQnYXF1ZXN0YSBtYW5lcmEsIG5vIHMnaW1wcmltaXI/IGNhcCIKCiN+IG1zZ2lkICJzZWVuLCBnZXRvcHRzIHBsYWNlcyB0aGUgb3B0aW9uIGNoYXJhY3RlciBmb3VuZCBpbnRvIE9QVEFSRy4gIElmIGEiCiN+IG1zZ3N0ciAibWlzc2F0Z2UgZCdlcnJvci4gIFNpIGVzIHRyb2JhIHVuYSBvcGNpPyBpbmNvcnJlY3RhLCBsYSBmdW5jaT8iCgojfiBtc2dpZCAicmVxdWlyZWQgYXJndW1lbnQgaXMgbm90IGZvdW5kLCBnZXRvcHRzIHBsYWNlcyBhICc6JyBpbnRvIE5BTUUgYW5kIgojfiBtc2dzdHIgImNvbJ5sb2NhIGFxdWVzdGEgb3BjaT8gZGUgZm9ybWEgY3VydGEgZGlucyBkZSBsYSB2YXJpYWJsZSBPUFRBUkcgIgoKI34gbXNnaWQgInNldHMgT1BUQVJHIHRvIHRoZSBvcHRpb24gY2hhcmFjdGVyIGZvdW5kLiAgSWYgZ2V0b3B0cyBpcyBub3QgaW4iCiN+IG1zZ3N0ciAiIgojfiAic2kgbm8gZXMgdHJvYmEgdW4gcGF0cj9tZXRyZSBlc3BlcmF0LCBsYSBmdW5jaT8gZ2V0b3B0cygpIGludHJvZHVlaXgiCgojfiBtc2dpZCAic2lsZW50IG1vZGUsIGFuZCBhbiBpbGxlZ2FsIG9wdGlvbiBpcyBzZWVuLCBnZXRvcHRzIHBsYWNlcyAnPycgaW50byIKI34gbXNnc3RyICJlbCBzaWduZSAnOicgZGlucyBkZSBsYSB2YXJpYWJsZSBOQU1FIGkgZXN0YWJsZWl4IGVsIHZhbG9yIGRlIGxhIgoKI34gbXNnaWQgIk5BTUUgYW5kIHVuc2V0cyBPUFRBUkcuICBJZiBhIHJlcXVpcmVkIG9wdGlvbiBpcyBub3QgZm91bmQsIGEgJz8nIgojfiBtc2dzdHIgIiIKI34gInZhcmlhYmxlIE9QVEFSRyBhbWIgbCdvcGNpPyBkZSBmb3JtYSBjdXJ0YSBxdWUgcydoaSBoYWphIHRyb2JhZGEuIFNpIgoKI34gbXNnaWQgImlzIHBsYWNlZCBpbiBOQU1FLCBPUFRBUkcgaXMgdW5zZXQsIGFuZCBhIGRpYWdub3N0aWMgbWVzc2FnZSBpcyIKI34gbXNnc3RyICJsYSBmdW5jaT8gZ2V0b3B0cygpIG5vIGVzdD8gZW4gbW9kZSBzaWxlbmNpP3MsIGkgcydoYSB0cm9iYXQgdW5hIgoKI34gbXNnaWQgIklmIHRoZSBzaGVsbCB2YXJpYWJsZSBPUFRFUlIgaGFzIHRoZSB2YWx1ZSAwLCBnZXRvcHRzIGRpc2FibGVzIHRoZSIKI34gbXNnc3RyICJTaSBsYSB2YXJpYWJsZSBPUFRFUlIgZGUgbCdpbnQ/cnByZXQgZCdvcmRyZXMgdD8gdW4gdmFsb3IgbnVsLCBsYSIKCiN+IG1zZ2lkICJwcmludGluZyBvZiBlcnJvciBtZXNzYWdlcywgZXZlbiBpZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIgojfiBtc2dzdHIgIiIKI34gImZ1bmNpPyBnZXRvcHRzKCkgZGVzYWN0aXZhIGxhIGltcHJlc3NpPyBkZWxzIG1pc3NhdGdlcyBkJ2Vycm9yLCB0b3QgaSIKCiN+IG1zZ2lkICJPUFRTVFJJTkcgaXMgbm90IGEgY29sb24uICBPUFRFUlIgaGFzIHRoZSB2YWx1ZSAxIGJ5IGRlZmF1bHQuIgojfiBtc2dzdHIgIiIKI34gInF1ZSBlbCBwcmltZXIgY2FyP2N0ZXIgZGUgT1BTVFJJTkcgbm8gc2lnYSBlbCBzaWduZSAnOicuICBMYSB2YXJpYWJsZVxuIgojfiAiT1BURVJSIHQ/IGVsIHZhbG9yIDEgY29tIGEgZGVmZWN0ZS4iCgojfiBtc2dpZCAiR2V0b3B0cyBub3JtYWxseSBwYXJzZXMgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyAoJDAgLSAkOSksIGJ1dCBpZiIKI34gbXNnc3RyICJMYSBmdW5jaT8gZ2V0b3B0cygpIG5vcm1hbG1lbnQgYW5hbGl0emEgZWxzIHBhcj9tZXRyZXMgcG9zaWNpb25hbHMiCgojfiBtc2dpZCAibW9yZSBhcmd1bWVudHMgYXJlIGdpdmVuLCB0aGV5IGFyZSBwYXJzZWQgaW5zdGVhZC4iCiN+IG1zZ3N0ciAiIgojfiAiKCQwLSQ5KSwgcGVyPyBzaSBzZSduIGQ/bmEgbT9zIGFyZ3VtZW50cywgc2UnbHMgYW5hbGl0emEgZW4gdm9sdGVzXG4iCiN+ICJkZWxzIHBvc2ljaW9uYWxzLiIKCiN+IG1zZ2lkICJFeGVjIEZJTEUsIHJlcGxhY2luZyB0aGlzIHNoZWxsIHdpdGggdGhlIHNwZWNpZmllZCBwcm9ncmFtLiIKI34gbXNnc3RyICIiCiN+ICJFeGVjdXRhIGVsIEZJVFhFUiwgcmVlbXBsYT9hbnQgYXF1ZXN0IGludD9ycHJldCBkJ29yZHJlcyBwZWwgcHJvZ3JhbWEuIgoKI34gbXNnaWQgIklmIEZJTEUgaXMgbm90IHNwZWNpZmllZCwgdGhlIHJlZGlyZWN0aW9ucyB0YWtlIGVmZmVjdCBpbiB0aGlzIgojfiBtc2dzdHIgIiIKI34gImVzcGVjaWZpY2F0LiBTaSBubyBzJ2VzcGVjaWZpY2EgRklUWEVSLCBlbHMgcmVkcmU/YW1lbnRzIHRpbmRyYW4gZWZlY3RlIgoKI34gbXNnaWQgInNoZWxsLiAgSWYgdGhlIGZpcnN0IGFyZ3VtZW50IGlzIGAtbCcsIHRoZW4gcGxhY2UgYSBkYXNoIGluIHRoZSIKI34gbXNnc3RyICJlbiBhcXVlc3QgaW50P3JwcmV0IGQnb3JkcmVzLiBTaSBlbCBwcmltZXIgcGFyP21ldHJlID9zIFwiLWxcIiwiCgojfiBtc2dpZCAiemVyb3RoIGFyZyBwYXNzZWQgdG8gRklMRSwgYXMgbG9naW4gZG9lcy4gIElmIHRoZSBgLWMnIG9wdGlvbiIKI34gbXNnc3RyICJhbGVzaG9yZXMgZXMgcmVlbXBsYT9hIGVsIHBhcj9tZXRyZSAwIHBlbCBzaWduZSBcIi1cIiByZWZlcmVuY2lhdCBhIgoKI34gbXNnaWQgImlzIHN1cHBsaWVkLCBGSUxFIGlzIGV4ZWN1dGVkIHdpdGggYSBudWxsIGVudmlyb25tZW50LiAgVGhlIGAtYSciCiN+IG1zZ3N0ciAiIgojfiAiRklUWEVSLCBjb20gYWl4PyBlcyBmYSBlbiBsJ2luaWNpIGRlIHNlc3NpPy4gU2kgcydlc3BlY2lmaWNhIGwnb3BjaT8gXCItYyIKI34gIlwiLCIKCiN+IG1zZ2lkICJvcHRpb24gbWVhbnMgdG8gbWFrZSBzZXQgYXJndlswXSBvZiB0aGUgZXhlY3V0ZWQgcHJvY2VzcyB0byBOQU1FLiIKI34gbXNnc3RyICIiCiN+ICJzJ2V4ZWN1dGEgRklUWEVSIGVuIHVuIGVudG9ybiBudWwuICBMJ29wY2k/IFwiLWFcIiBlc3RhYmxlaXggcXVlIGVsXG4iCiN+ICJwcm9jP3MgZXhlY3V0YXQgcG9ydGFyPyBhcXVlc3QgTk9NLiIKCiN+IG1zZ2lkICJJZiB0aGUgZmlsZSBjYW5ub3QgYmUgZXhlY3V0ZWQgYW5kIHRoZSBzaGVsbCBpcyBub3QgaW50ZXJhY3RpdmUsIgojfiBtc2dzdHIgIlNpIG5vIGVzIHBvdCBleGVjdXRhciBlbCBmaXR4ZXIgaSBsJ2ludD9ycHJldCBkJ29yZHJlcyBubyA/cyIKCiN+IG1zZ2lkICJ0aGVuIHRoZSBzaGVsbCBleGl0cywgdW5sZXNzIHRoZSB2YXJpYWJsZSBcIm5vX2V4aXRfb25fZmFpbGVkX2V4ZWNcIiIKI34gbXNnc3RyICJpbnRlcmFjdGl1LCBhbGVzaG9yZXMgbCdpbnQ/cnByZXQgZmluYWxpdHphIGxhIHNldWEgZXhlY3VjaT8sIGEiCgojfiBtc2dpZCAiaXMgc2V0LiIKI34gbXNnc3RyICJtZW55cyBxdWUgcydpbmljaWFsaXR6ZSBsYSB2YXJpYWJsZSBcIm5vX2V4aXRfb25fZmFpbGVkX2V4ZWNcIi4iCgojfiBtc2dpZCAiaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKI34gbXNnc3RyICJsJ2VzdGF0IGQnZWl4aWRhID9zIGVsIGRhcnJlciBvcmRyZSBleGVjdXRhdC4iCgojfiBtc2dpZCAiIgojfiAiRklSU1QgYW5kIExBU1QgY2FuIGJlIG51bWJlcnMgc3BlY2lmeWluZyB0aGUgcmFuZ2UsIG9yIEZJUlNUIGNhbiBiZSBhIgojfiBtc2dzdHIgIlBSSU1FUiBpID9MVElNIHBvZGVuIHNlciBuP21lcm9zIHF1ZSBlc3BlY2lmaXF1ZW4gZWwgcmFuZywgbyBQUklNRVIiCgojfiBtc2dpZCAic3RyaW5nLCB3aGljaCBtZWFucyB0aGUgbW9zdCByZWNlbnQgY29tbWFuZCBiZWdpbm5pbmcgd2l0aCB0aGF0IgojfiBtc2dzdHIgIiIKI34gInBvdCBzZXIgdW5hIGNhZGVuYSwgcXVlIHJlcHJlc2VudGEgbCdvcmRyZSBtP3MgcmVjZW50IGVsIHF1YWwgY29tZW4/YSIKCiN+IG1zZ2lkICJzdHJpbmcuIgojfiBtc2dzdHIgImFtYiBlaXhhIGNhZGVuYS4iCgojfiBtc2dpZCAiIgojfiAiICAgLWUgRU5BTUUgc2VsZWN0cyB3aGljaCBlZGl0b3IgdG8gdXNlLiAgRGVmYXVsdCBpcyBGQ0VESVQsIHRoZW4gRURJVE9SLCIKI34gbXNnc3RyICIiCiN+ICIgICAtZSBFTkFNRSB0cmlhIHF1aW4gZWRpdG9yIGVtcHJhci4gIEZDRURJVCA/cyBwZXIgZGVmZWN0ZSwgZGVzcHI/cyA/cyIKCiN+IG1zZ2lkICIiCiN+ICIgICAgICB0aGVuIHRoZSBlZGl0b3Igd2hpY2ggY29ycmVzcG9uZHMgdG8gdGhlIGN1cnJlbnQgcmVhZGxpbmUgZWRpdGluZyIKI34gbXNnc3RyICIiCiN+ICIgICAgICBFRElUT1IsIGRlc3ByP3MgbCdlZGl0b3IgcXVlIGNvcnJlc3BvbiBhbWIgbCdhY3R1YWwgZWRpdG9yIGRlbCAiCgojfiBtc2dpZCAiICAgICAgbW9kZSwgdGhlbiB2aS4iCiN+IG1zZ3N0ciAiICAgICAgbW9kZSBkZSBsP25pYSBkJ29yZHJlLCBpIHBlciA/bHRpbSA/dmk/LiIKCiN+IG1zZ2lkICIgICAtbCBtZWFucyBsaXN0IGxpbmVzIGluc3RlYWQgb2YgZWRpdGluZy4iCiN+IG1zZ3N0ciAiICAgLWwgbW9zdHJhIGxlcyBsP25pZXMgZW4gdm9sdGVzIGQnZWRpdGFyLWxlcy4iCgojfiBtc2dpZCAiICAgLW4gbWVhbnMgbm8gbGluZSBudW1iZXJzIGxpc3RlZC4iCiN+IG1zZ3N0ciAiICAgLW4gbm8gZXMgbW9zdHJhcmFuIGVscyBuP21lcm9zIGRlIGw/bmlhLiIKCiN+IG1zZ2lkICIiCiN+ICIgICAtciBtZWFucyByZXZlcnNlIHRoZSBvcmRlciBvZiB0aGUgbGluZXMgKG1ha2luZyBpdCBuZXdlc3QgbGlzdGVkICIKI34gImZpcnN0KS4iCiN+IG1zZ3N0ciAiIgojfiAiICAgLXIgaW52ZXJ0ZWl4IGwnb3JkcmUgZGUgbGVzIGw/bmllcyAoZWxzIG0/cyByZWNlbnRzIGVzIGxsaXN0ZW4gcHJpbWVyKS4iCgojfiBtc2dpZCAiV2l0aCB0aGUgYGZjIC1zIFtwYXQ9cmVwIC4uLl0gW2NvbW1hbmRdJyBmb3JtYXQsIHRoZSBjb21tYW5kIGlzIgojfiBtc2dzdHIgIiIKI34gIkFtYiBlbCBmb3JtYXQgP2ZjIC1zIFtwYXQ9cmVwIC4uLl0gW2NvbW1hbmRdPywgZXMgcmVleGVjdXRhIGwnb3JkcmUgIgoKI34gbXNnaWQgInJlLWV4ZWN1dGVkIGFmdGVyIHRoZSBzdWJzdGl0dXRpb24gT0xEPU5FVyBpcyBwZXJmb3JtZWQuIgojfiBtc2dzdHIgImRlc3ByP3MgZGUgcXVlIGVzIHJlYWxpdHplIGxhIHN1YnN0aXR1Y2k/IGRlIEFOVElDIHBlciBOT1UuIgoKI34gbXNnaWQgIkEgdXNlZnVsIGFsaWFzIHRvIHVzZSB3aXRoIHRoaXMgaXMgcj0nZmMgLXMnLCBzbyB0aGF0IHR5cGluZyBgciBjYyciCiN+IG1zZ3N0ciAiVW4gP2xpZXMgP3RpbCBwZXIgYSB1c2FyLWxvIGFtYiBhaXg/ID9zIHI9J2ZjIC1zJywgcGVyIHRhbnQgc2kiCgojfiBtc2dpZCAicnVucyB0aGUgbGFzdCBjb21tYW5kIGJlZ2lubmluZyB3aXRoIGBjYycgYW5kIHR5cGluZyBgcicgcmUtZXhlY3V0ZXMiCiN+IG1zZ3N0ciAicydlc2NyaXUgP3IgY2M/IHMnZXhlY3V0YXI/IGxhIGRhcnJlcmEgb3JkcmUgcXVlIGNvbWVuP2EgcGVyID9jYz8gaSIKCiN+IG1zZ2lkICJKT0JfU1BFQyBpcyBub3QgcHJlc2VudCwgdGhlIHNoZWxsJ3Mgbm90aW9uIG9mIHRoZSBjdXJyZW50IGpvYiBpcyIKI34gbXNnc3RyICJTaSBubyBzJ2VzcGVjaWZpY2EgSURfVEFTQ0EsIHMnYXBsaWNhcmFuIGVscyBhdHJpYnV0cyBkJ2V4ZWN1Y2k/IGRlIgoKI34gbXNnaWQgInVzZWQuIgojfiBtc2dzdHIgImwnaW50P3JwcmV0IGQnb3JkcmVzIGRlIGxhIHRhc2NhIGFjdHVhbC4iCgojfiBtc2dpZCAiUGxhY2UgSk9CX1NQRUMgaW4gdGhlIGJhY2tncm91bmQsIGFzIGlmIGl0IGhhZCBiZWVuIHN0YXJ0ZWQgd2l0aCIKI34gbXNnc3RyICJVYmljYSBJRF9UQVNDQSBlbiBzZWdvbiBwbGEsIGNvbSBzaSBzJ2hhZ3VlcmEgaW5pY2lhdCBhbWIgXCImXCIuIgoKI34gbXNnaWQgImAmJy4gIElmIEpPQl9TUEVDIGlzIG5vdCBwcmVzZW50LCB0aGUgc2hlbGwncyBub3Rpb24gb2YgdGhlIGN1cnJlbnQiCiN+IG1zZ3N0ciAiU2kgbm8gcydlc3BlY2lmaWNhIElEX1RBU0NBLCBzJ2FwbGljYXJhbiBlbHMgYXRyaWJ1dHMgZCdleGVjdWNpPyBkZSIKCiN+IG1zZ2lkICJqb2IgaXMgdXNlZC4iCiN+IG1zZ3N0ciAibCdpbnQ/cnByZXQgZCdvcmRyZXMgZGUgbGEgdGFzY2EgYWN0dWFsLiIKCiN+IG1zZ2lkICJGb3IgZWFjaCBOQU1FLCB0aGUgZnVsbCBwYXRobmFtZSBvZiB0aGUgY29tbWFuZCBpcyBkZXRlcm1pbmVkIGFuZCIKI34gbXNnc3RyICJQZXIgYSBjYWRhIE5PTSwgZXMgZGV0ZXJtaW5hIGkgZXMgcmVjb3JkYSBlbCBub20gZGVsIGNhbT8gZCdhY2M/cyIKCiN+IG1zZ2lkICJyZW1lbWJlcmVkLiAgSWYgdGhlIC1wIG9wdGlvbiBpcyBzdXBwbGllZCwgUEFUSE5BTUUgaXMgdXNlZCBhcyB0aGUiCiN+IG1zZ3N0ciAiY29tcGxldCBkZSBsJ29yZHJlLiBTaSBzJ2VzcGVjaWZpY2EgbCdvcGNpPyAtcCAsIGVzIGZhIHNlcnZpciIKCiN+IG1zZ2lkICJmdWxsIHBhdGhuYW1lIG9mIE5BTUUsIGFuZCBubyBwYXRoIHNlYXJjaCBpcyBwZXJmb3JtZWQuICBUaGUgLXIiCiN+IG1zZ3N0ciAiQ0FNP19BQ0M/UyBjb20gZWwgbm9tIGRlbCBjYW0/IGNvbXBsZXQgZGUgTk9NLCBpIG5vIGVzIHJlYWxpdHphcj8iCgojfiBtc2dpZCAib3B0aW9uIGNhdXNlcyB0aGUgc2hlbGwgdG8gZm9yZ2V0IGFsbCByZW1lbWJlcmVkIGxvY2F0aW9ucy4gIElmIG5vIgojfiBtc2dzdHIgImNhcCBjZXJjYSBkZSBjYW1pbnMuIEwnb3BjaT8gLXIgZmEgcXVlIGwnaW50P3JwcmV0IGQnb3JkcmVzIG9ibGlkZSIKCiN+IG1zZ2lkICIiCiN+ICJhcmd1bWVudHMgYXJlIGdpdmVuLCBpbmZvcm1hdGlvbiBhYm91dCByZW1lbWJlcmVkIGNvbW1hbmRzIGlzIGRpc3BsYXllZC4iCiN+IG1zZ3N0ciAiIgojfiAidG90ZXMgbGVzIHViaWNhY2lvbnMgZGVsIGNhbT8gZCdhY2M/cy4gU2kgbm8gcydoaSBkP25hIGFyZ3VtZW50cywgZXNcbiIKI34gIm1vc3RyYXI/IGluZm9ybWFjaT8gc29icmUgZWxzIGNhbWlucyBkJ2FjYz9zIHRyaWF0cyBwZXIgbGVzIG9yZHJlcy4iCgojfiBtc2dpZCAiRGlzcGxheSBoZWxwZnVsIGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuICBJZiBQQVRURVJOIGlzIgojfiBtc2dzdHIgIk1vc3RyYSBpbmZvcm1hY2k/IGQndXRpbGl0YXQgc29icmUgbGVzIG9yZHJlcyBpbnRlZ3JhZGVzLiBTaSIKCiN+IG1zZ2lkICJzcGVjaWZpZWQsIGdpdmVzIGRldGFpbGVkIGhlbHAgb24gYWxsIGNvbW1hbmRzIG1hdGNoaW5nIFBBVFRFUk4sIgojfiBtc2dzdHIgInMnZXNwZWNpZmljYSBQTEFOVElMTEEsIHMnaGkgZD9uYSBhanVkYSBkZXRhbGxhZGEgc29icmUgdG90ZXMgbGVzIgoKI34gbXNnaWQgIm90aGVyd2lzZSBhIGxpc3Qgb2YgdGhlIGJ1aWx0aW5zIGlzIHByaW50ZWQuIgojfiBtc2dzdHIgIiIKI34gIm9yZHJlcyBxdWUgY29pbmNpZGlzcXVlbiBhbWIgUExBTlRJTExBLCBhbHRyYW1lbnQgcydoaSBtb3N0cmFyPyB1bmFcbiIKI34gImxsaXN0YSBkZSBsZXMgb3JkcmVzIGludGVncmFkZXMuIgoKI34gbXNnaWQgIkRpc3BsYXkgdGhlIGhpc3RvcnkgbGlzdCB3aXRoIGxpbmUgbnVtYmVycy4gIExpbmVzIGxpc3RlZCB3aXRoIgojfiBtc2dzdHIgIk1vc3RyYSBlbCBsbGlzdGF0IGRlIGwnaGlzdD9yaWMgZGUgbWFuZXJhIG51bWVyYWRhLiBMZXMgbD9uaWVzIHF1PyIKCiN+IG1zZ2lkICJ3aXRoIGEgYConIGhhdmUgYmVlbiBtb2RpZmllZC4gIEFyZ3VtZW50IG9mIE4gc2F5cyB0byBsaXN0IG9ubHkiCiN+IG1zZ3N0ciAiIgojfiAiaGFuIHNpZ3V0IG1vZGlmaWNhZGVzIHM/biBsbGlzdGFkZXMgYW1iIGVsIHNpZ25lIFwiKlwiLiAgRWwgcGFyP21ldHJlIgoKI34gbXNnaWQgInRoZSBsYXN0IE4gbGluZXMuICBUaGUgLWMgb3B0aW9uIGNhdXNlcyB0aGUgaGlzdG9yeSBsaXN0IHRvIGJlIgojfiBtc2dzdHIgIiIKI34gIk4gbW9zdHJhIGxlcyBkYXJyZXJlcyBOIGw/bmllcy4gIEwnb3BjaT8gLWMgZmEgcXVlIGVzIGJ1aWRlIGwnaGlzdD9yaWMiCgojfiBtc2dpZCAiIgojfiAiY2xlYXJlZCBieSBkZWxldGluZyBhbGwgb2YgdGhlIGVudHJpZXMuICBUaGUgYC13JyBvcHRpb24gd3JpdGVzIG91dCB0aGUiCiN+IG1zZ3N0ciAiIgojfiAiZXNib3JyYW50IHRvdGVzIGxlcyBzZXVlcyBlbnRyYWRlcy4gIEwnb3BjaT8gXCItd1wiIGVzY3JpdSBsJ2hpc3Q/cmljIgoKI34gbXNnaWQgIiIKI34gImN1cnJlbnQgaGlzdG9yeSB0byB0aGUgaGlzdG9yeSBmaWxlOyAgYC1yJyBtZWFucyB0byByZWFkIHRoZSBmaWxlIGFuZCIKI34gbXNnc3RyICIiCiN+ICJhY3R1YWwgYWwgZml0eGVyIGQnaGlzdD9yaWM7ICBkJ2FsdHJhIGJhbmRhLCBsJ29wY2k/IFwiLXJcIiBsbGVnZWl4IGVsIgoKI34gbXNnaWQgImFwcGVuZCB0aGUgY29udGVudHMgdG8gdGhlIGhpc3RvcnkgbGlzdCBpbnN0ZWFkLiAgYC1hJyBtZWFucyIKI34gbXNnc3RyICIiCiN+ICJmaXR4ZXIgaSBhZmVnZWl4IGVscyBjb250aW5ndXRzIGEgbCdoaXN0P3JpYy4gIEwnb3BjaT8gXCItYVwiIGFmZWdlaXgiCgojfiBtc2dpZCAidG8gYXBwZW5kIGhpc3RvcnkgbGluZXMgZnJvbSB0aGlzIHNlc3Npb24gdG8gdGhlIGhpc3RvcnkgZmlsZS4iCiN+IG1zZ3N0ciAibGVzIGw/bmllcyBkZSBsJ2hpc3Q/cmljIGQnYXF1ZXN0YSBzZXNzaT8gYWwgZml0eGVyIGRlIGwnaGlzdD9yaWMuIgoKI34gbXNnaWQgIkFyZ3VtZW50IGAtbicgbWVhbnMgdG8gcmVhZCBhbGwgaGlzdG9yeSBsaW5lcyBub3QgYWxyZWFkeSByZWFkIgojfiBtc2dzdHIgIiIKI34gIkFtYiBlbCBwYXI/bWV0cmUgXCItblwiIGVzIGxsZWdlaXggdG90ZXMgbGVzIGw/bmllcyBkZSBsJ2hpc3Q/cmljIHF1ZSIKCiN+IG1zZ2lkICJmcm9tIHRoZSBoaXN0b3J5IGZpbGUgYW5kIGFwcGVuZCB0aGVtIHRvIHRoZSBoaXN0b3J5IGxpc3QuICBJZiIKI34gbXNnc3RyICJlbmNhcmEgbm8gaGFnZW4gc2lndXQgbGxlZ2lkZXMgZGVsIGZpdHhlciBkJ2hpc3Q/cmljIGkgbCdhZmVnZWl4IGEiCgojfiBtc2dpZCAiRklMRU5BTUUgaXMgZ2l2ZW4sIHRoZW4gdGhhdCBpcyB1c2VkIGFzIHRoZSBoaXN0b3J5IGZpbGUgZWxzZSIKI34gbXNnc3RyICJsYSBsbGlzdGEgZGUgbCdoaXN0P3JpYy4gIFNpIHMnZXNwZWNpZmljYSBGSVRYRVIsIGFxdWVzdCBlcyBmYXI/IgoKI34gbXNnaWQgImlmICRISVNURklMRSBoYXMgYSB2YWx1ZSwgdGhhdCBpcyB1c2VkLCBlbHNlIH4vLmJhc2hfaGlzdG9yeS4iCiN+IG1zZ3N0ciAiIgojfiAic2VydmlyIGNvbSBlbCBmaXR4ZXIgZCdoaXN0P3JpYywgYWx0cmFtZW50IHMndXRpbGl0emFyPyBlbCB2YWxvciBkZVxuIgojfiAiJEhJU1RGSUxFLCBzaSBlbiB0PywgaSBzaW4/IGVzIG1pcmFyPyBlbiB+Ly5iYXNoX2hpc3RvcnkuIgoKI34gbXNnaWQgIklmIHRoZSAtcyBvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSBub24tb3B0aW9uIEFSR3MgYXJlIGFwcGVuZGVkIHRvIgojfiBtc2dzdHIgIlNpIHMnZXNwZWNpZmljYSBsJ29wY2k/IFwiLXNcIiwgZWxzIFBBUj9NRVRSRVMgcXVlIG5vIHM/biBvcGNpb25zIgoKI34gbXNnaWQgInRoZSBoaXN0b3J5IGxpc3QgYXMgYSBzaW5nbGUgZW50cnkuICBUaGUgLXAgb3B0aW9uIG1lYW5zIHRvIHBlcmZvcm0iCiN+IG1zZ3N0ciAiIgojfiAic2VyYW4gYWZlZ2l0cyBhIGwnaGlzdD9yaWMgY29tIHVuYSBlbnRyYWRhID9uaWNhLiAgQW1iIGwnb3BjaT8gXCItcFwiIgoKI34gbXNnaWQgIiIKI34gImhpc3RvcnkgZXhwYW5zaW9uIG9uIGVhY2ggQVJHIGFuZCBkaXNwbGF5IHRoZSByZXN1bHQsIHdpdGhvdXQgc3RvcmluZyIKI34gbXNnc3RyICIiCiN+ICJlcyByZWFsaXR6YSB1bmEgZXhwYW5zaT8gZGUgbCdoaXN0P3JpYyBlbiBjYWRhIFBBUj9NRVRSRSBpIG1vc3RyYSBlbCAiCgojfiBtc2dpZCAiYW55dGhpbmcgaW4gdGhlIGhpc3RvcnkgbGlzdC4iCiN+IG1zZ3N0ciAicmVzdWx0YXQsIHNlbnNlIGFsP2FyIHJlcyBlbiBsJ2hpc3Q/cmljLiIKCiN+IG1zZ2lkICJMaXN0cyB0aGUgYWN0aXZlIGpvYnMuICBUaGUgLWwgb3B0aW9uIGxpc3RzIHByb2Nlc3MgaWQncyBpbiBhZGRpdGlvbiIKI34gbXNnc3RyICJMbGlzdGEgbGVzIHRhc3F1ZXMgYWN0aXZlcy4gIEFtYiBsJ29wY2k/IFwiLWxcIiBlcyBsbGlzdGEgZWxzIgoKI34gbXNnaWQgInRvIHRoZSBub3JtYWwgaW5mb3JtYXRpb247IHRoZSAtcCBvcHRpb24gbGlzdHMgcHJvY2VzcyBpZCdzIG9ubHkuIgojfiBtc2dzdHIgIiIKI34gImlkZW50aWZpY2Fkb3JzIGRlIHByb2M/cyBhIG0/cyBkZSBsYSBpbmZvcm1hY2k/IG5vcm1hbDsgYW1iIGwnb3BjaT8gXG4iCiN+ICJcIi1wXCIgZXMgbGxpc3RhIG5vbT9zIGVscyBpZGVudGlmaWNhZG9ycyBkZSBwcm9jP3MuIgoKI34gbXNnaWQgIiIKI34gIklmIC1uIGlzIGdpdmVuLCBvbmx5IHByb2Nlc3NlcyB0aGF0IGhhdmUgY2hhbmdlZCBzdGF0dXMgc2luY2UgdGhlIGxhc3QiCiN+IG1zZ3N0ciAiU2kgcydlc3BlY2lmaWNhIFwiLW5cIiwgbm9tP3MgcydpbXByaW1laXhlbiBlbHMgcHJvY2Vzc29zIHF1ZSBoYWdlbiIKCiN+IG1zZ2lkICIiCiN+ICJub3RpZmljYXRpb24gYXJlIHByaW50ZWQuICBKT0JTUEVDIHJlc3RyaWN0cyBvdXRwdXQgdG8gdGhhdCBqb2IuICBUaGUiCiN+IG1zZ3N0ciAiIgojfiAiY2FudmlhdCBlbCBzZXUgZXN0YXQgZGVzcHI/cyBkZWwgc2V1IGRhcnJlciBhdj9zLlxuIgojfiAiSURfVEFTQ0EgcmVzdHJpbmdlaXggcXVlIGVzIG1vc3RyZSB1bmEgdGFzY2EgcGFydGljdWxhci4iCgojfiBtc2dpZCAiLXIgYW5kIC1zIG9wdGlvbnMgcmVzdHJpY3Qgb3V0cHV0IHRvIHJ1bm5pbmcgYW5kIHN0b3BwZWQgam9icyBvbmx5LCIKI34gbXNnc3RyICIiCiN+ICJBbWIgbGVzIG9wY2lvbnMgXCItclwiIGkgXCItc1wiIGVzIHJlc3RyaW5nZWl4IG5vbT9zIGxhIGltcHJlc3NpPyBkZSIKCiN+IG1zZ2lkICJyZXNwZWN0aXZlbHkuICBXaXRob3V0IG9wdGlvbnMsIHRoZSBzdGF0dXMgb2YgYWxsIGFjdGl2ZSBqb2JzIGlzIgojfiBtc2dzdHIgImxlcyB0YXNxdWVzIGFjdGl2ZXMgaSBhdHVyYWRlcywgcmVzcGVjdGl2YW1lbnRlLiAgU2Vuc2UgY2FwIG9wY2k/LCIKCiN+IG1zZ2lkICIiCiN+ICJwcmludGVkLiAgSWYgLXggaXMgZ2l2ZW4sIENPTU1BTkQgaXMgcnVuIGFmdGVyIGFsbCBqb2Igc3BlY2lmaWNhdGlvbnMiCiN+IG1zZ3N0ciAiIgojfiAiZXMgbW9zdHJlbiBsJ2VzdGF0IGRlIHRvdGVzIGxlcyB0YXNxdWVzIGFjdGl2ZXMgIFNpIHMnZXNwZWNpZmljYVxuIgojfiAiXCItWFwiIHMnZXhlY3V0YSBPUkRSRSBkZXNwcj9zIGRlIHF1ZSB0b3RlcyBsZXMgZXNwZWNpZmljYWNpb25zIGRlIgoKI34gbXNnaWQgIiIKI34gInRoYXQgYXBwZWFyIGluIEFSR1MgaGF2ZSBiZWVuIHJlcGxhY2VkIHdpdGggdGhlIHByb2Nlc3MgSUQgb2YgdGhhdCBqb2IncyIKI34gbXNnc3RyICIiCiN+ICJ0YXNjYSBxdWUgYXBhcmVpeGVuIGVuIFBBUj9NRVRSRVMgaGFnZW4gc2lndXQgcmVlbXBsYT9hZGVzIHBlbCBwcm9jP3MiCgojfiBtc2dpZCAicHJvY2VzcyBncm91cCBsZWFkZXIuIgojfiBtc2dzdHIgIklEIGRlbCBwcm9jP3MgZGUgbGEgdGFzY2EgbWVzdHJlc3NhIGRlbCBncnVwLiIKCiN+IG1zZ2lkICJSZW1vdmVzIGVhY2ggSk9CU1BFQyBhcmd1bWVudCBmcm9tIHRoZSB0YWJsZSBvZiBhY3RpdmUgam9icy4iCiN+IG1zZ3N0ciAiIgojfiAiU3VwcmltZWl4IGNhZGEgcGFyP21ldHJlIGRlIElEX1RBU0NBIGRlIGxhIHRhdWxhIGRlIHRhc3F1ZXMgYWN0aXZlcy4iCgojfiBtc2dpZCAiU2VuZCB0aGUgcHJvY2Vzc2VzIG5hbWVkIGJ5IFBJRCAob3IgSk9CKSB0aGUgc2lnbmFsIFNJR1NQRUMuICBJZiIKI34gbXNnc3RyICIiCiN+ICJFbnZpYSBlbCBTRU5ZQUwgYWxzIHByb2Nlc3NvcyBlc3BlY2lmaWNhdHMgcGVsIHNldSBQSUQgbyBwZWwgc2V1IG5vbSIKCiN+IG1zZ2lkICIiCiN+ICJTSUdTUEVDIGlzIG5vdCBwcmVzZW50LCB0aGVuIFNJR1RFUk0gaXMgYXNzdW1lZC4gIEFuIGFyZ3VtZW50IG9mIGAtbCciCiN+IG1zZ3N0ciAiZGUgdGFzY2EuIFNpIG5vIHMnZXNwZWNpZmljYSBlbCBTRU5ZQUwsIGFsZXNob3JlcyBzJ2Fzc3VtZWl4IgoKI34gbXNnaWQgImxpc3RzIHRoZSBzaWduYWwgbmFtZXM7IGlmIGFyZ3VtZW50cyBmb2xsb3cgYC1sJyB0aGV5IGFyZSBhc3N1bWVkIHRvIgojfiBtc2dzdHIgIlNJR1RFUk0uICBBbWIgdW4gcGFyP21ldHJlIGRlIFwiLWxcIiBlcyBsbGlzdGEgZWxzIG5vbXMgZGUgbGVzIgoKI34gbXNnaWQgImJlIHNpZ25hbCBudW1iZXJzIGZvciB3aGljaCBuYW1lcyBzaG91bGQgYmUgbGlzdGVkLiAgS2lsbCBpcyBhIHNoZWxsIgojfiBtc2dzdHIgIiIKI34gInNlbnlhbHM7IHNpIGhpIGhhIHVuIHBhcj9tZXRyZSBkZXNwcj9zIGRlIGwnb3BjaT8gXCItbFwiLCBlcyBtb3N0cmFcbiIKI34gImVsIHZhbG9yIG51bT9yaWMgZGVsIG4/bWVybyBkZSBzZW55YWwuICBMJ29yZHJlID9raWxsPyA/cyAiCgojfiBtc2dpZCAiYnVpbHRpbiBmb3IgdHdvIHJlYXNvbnM6IGl0IGFsbG93cyBqb2IgSURzIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiIKI34gbXNnc3RyICJpbnRlZ3JhZGEgZGUgbCdpbnQ/cnByZXQgcGVyIGR1ZXMgcmFvbnM6IHBlcm1ldCBmZXIgc2VydmlyIGVscyIKCiN+IG1zZ2lkICJwcm9jZXNzIElEcywgYW5kLCBpZiB5b3UgaGF2ZSByZWFjaGVkIHRoZSBsaW1pdCBvbiBwcm9jZXNzZXMgdGhhdCIKI34gbXNnc3RyICIiCiN+ICJpZGVudGlmaWNhZG9ycyBkZSB0YXNjYSBlbiB2b2x0ZXMgZGVscyBpZGVudGlmaWNhZG9ycyBkZSBwcm9jP3MgaSwgc2kiCgojfiBtc2dpZCAiIgojfiAieW91IGNhbiBjcmVhdGUsIHlvdSBkb24ndCBoYXZlIHRvIHN0YXJ0IGEgcHJvY2VzcyB0byBraWxsIGFub3RoZXIgb25lLiIKI34gbXNnc3RyICIiCiN+ICJubyBoZXUgZXhjZWRpdCBlbCBsP21pdCBkZSBwcm9jZXNzb3MgcXVlIHBvdHMgY3JlYXItaGksIG5vIGhldVxuIgojfiAiZCdpbmljaWFyIHVuIGFsdHJlIHByb2M/cyBwZXIgYSBmaW5hbGl0emFyIHVuIGFsdHJlLiIKCiN+IG1zZ2lkICJFYWNoIEFSRyBpcyBhbiBhcml0aG1ldGljIGV4cHJlc3Npb24gdG8gYmUgZXZhbHVhdGVkLiAgRXZhbHVhdGlvbiIKI34gbXNnc3RyICJDYWRhIFBBUkFNRVRSRSA/cyB1bmEgZXhwcmVzc2k/IGFyaXRtP3RpY2EgcGVyIGEgYXZhbHVhci1zZS4iCgojfiBtc2dpZCAiaXMgZG9uZSBpbiBsb25nIGludGVnZXJzIHdpdGggbm8gY2hlY2sgZm9yIG92ZXJmbG93LCB0aG91Z2ggZGl2aXNpb24iCiN+IG1zZ3N0ciAiIgojfiAiTCdhdmFsdWFjaT8gZXMgZmEgYW1iIGVudGVycyBsb25nIHNlbnNlIGNvbnRyb2wgZGUgc29icmVlaXhpbWVudCwgc2kiCgojfiBtc2dpZCAiYnkgMCBpcyB0cmFwcGVkIGFuZCBmbGFnZ2VkIGFzIGFuIGVycm9yLiAgVGhlIGZvbGxvd2luZyBsaXN0IG9mIgojfiBtc2dzdHIgIiIKI34gImI/IGxhIGRpdmlzaT8gcGVyIDAgP3MgY2FwdHVyYWRhIGkgbWFyY2FkYSBjb20gdW4gZXJyb3IuICBMYSBzZWc/ZW50IgoKI34gbXNnaWQgIm9wZXJhdG9ycyBpcyBncm91cGVkIGludG8gbGV2ZWxzIG9mIGVxdWFsLXByZWNlZGVuY2Ugb3BlcmF0b3JzLiIKI34gbXNnc3RyICJsbGlzdGEgZCdvcGVyYWRvcnMgcydhZ3J1cGEgZGlucyBkZWwgbWF0ZWl4IG5pdmVsbCBkZSBwcmVjZWQ/bmNpYS4iCgojfiBtc2dpZCAiVGhlIGxldmVscyBhcmUgbGlzdGVkIGluIG9yZGVyIG9mIGRlY3JlYXNpbmcgcHJlY2VkZW5jZS4iCiN+IG1zZ3N0ciAiTGEgbGxpc3RhIGRlbHMgbml2ZWxscyBlc3Q/IG9yZGVuYWRhIGRlIG1hbmVyYSBkZWNyZWl4ZW50LiIKCiN+IG1zZ2lkICJcdC0sICtcdFx0dW5hcnkgbWludXMsIHBsdXMiCiN+IG1zZ3N0ciAiXHQtLCArXHRcdHVuYXJpIG1pbnVzLCBtP3MiCgojfiBtc2dpZCAiXHQhLCB+XHRcdGxvZ2ljYWwgYW5kIGJpdHdpc2UgbmVnYXRpb24iCiN+IG1zZ3N0ciAiXHQhLCB+XHRcdG5lZ2FjaT8gbD9naWNhIGkgYmluP3JpYSIKCiN+IG1zZ2lkICJcdCosIC8sICVcdFx0bXVsdGlwbGljYXRpb24sIGRpdmlzaW9uLCByZW1haW5kZXIiCiN+IG1zZ3N0ciAiXHQqLCAvLCAlXHRcdG11bHRpcGxpY2FjaT8sIGRpdmlzaT8sIHJlc3RhbnQiCgojfiBtc2dpZCAiXHQrLCAtXHRcdGFkZGl0aW9uLCBzdWJ0cmFjdGlvbiIKI34gbXNnc3RyICJcdCssIC1cdFx0YWRkaWNpPywgc3Vic3RyYWNjaT8iCgojfiBtc2dpZCAiXHQ8PCwgPj5cdFx0bGVmdCBhbmQgcmlnaHQgYml0d2lzZSBzaGlmdHMiCiN+IG1zZ3N0ciAiXHQ8PCwgPj5cdFx0ZGVjYWxhbWVudHMgYmluP3JpZXMgZHJldGEgaSBlc3F1ZXJyYSIKCiN+IG1zZ2lkICJcdDw9LCA+PSwgPCwgPlx0Y29tcGFyaXNvbiIKI34gbXNnc3RyICJcdDw9LCA+PSwgPCwgPlx0Y29tcGFyYWNpPyIKCiN+IG1zZ2lkICJcdD09LCAhPVx0XHRlcXVhbGl0eSwgaW5lcXVhbGl0eSIKI34gbXNnc3RyICJcdD09LCAhPVx0XHRlcXVpdmFsP25jaWEsIGluZXF1aXZhbD9uY2lhIgoKI34gbXNnaWQgIlx0Jlx0XHRiaXR3aXNlIEFORCIKI34gbXNnc3RyICJcdCZcdFx0QU5EIGJpbmFyaSIKCiN+IG1zZ2lkICJcdF5cdFx0Yml0d2lzZSBYT1IiCiN+IG1zZ3N0ciAiXHReXHRcdFhPUiBiaW5hcmkiCgojfiBtc2dpZCAiXHR8XHRcdGJpdHdpc2UgT1IiCiN+IG1zZ3N0ciAiXHR8XHRcdE9SIGJpbmFyaSIKCiN+IG1zZ2lkICJcdCYmXHRcdGxvZ2ljYWwgQU5EIgojfiBtc2dzdHIgIlx0JiZcdFx0QU5EIGw/Z2ljIgoKI34gbXNnaWQgIlx0fHxcdFx0bG9naWNhbCBPUiIKI34gbXNnc3RyICJcdHx8XHRcdE9SIGw/Z2ljIgoKI34gbXNnaWQgIlx0ZXhwciA/IGV4cHIgOiBleHByIgojfiBtc2dzdHIgIlx0ZXhwciA/IGV4cHIgOiBleHByIgoKI34gbXNnaWQgIlx0XHRcdGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiN+IG1zZ3N0ciAiXHRcdFx0ZXhwcmVzc2k/IGNvbmRpY2lvbmFsIgoKI34gbXNnaWQgIlx0PSwgKj0sIC89LCAlPSwiCiN+IG1zZ3N0ciAiXHQ9LCAqPSwgLz0sICU9LCIKCiN+IG1zZ2lkICJcdCs9LCAtPSwgPDw9LCA+Pj0sIgojfiBtc2dzdHIgIlx0Kz0sIC09LCA8PD0sID4+PSwiCgojfiBtc2dpZCAiXHQmPSwgXj0sIHw9XHRhc3NpZ25tZW50IgojfiBtc2dzdHIgIlx0Jj0sIF49LCB8PVx0YXNzaWduYWNpPyIKCiN+IG1zZ2lkICJpcyByZXBsYWNlZCBieSBpdHMgdmFsdWUgKGNvZXJjZWQgdG8gYSBsb25nIGludGVnZXIpIHdpdGhpbiIKI34gbXNnc3RyICIiCiN+ICJub20gZGUgbGEgdmFyaWFibGUgP3MgcmVlbXBsYT9hdCBwZWwgc2V1IHZhbG9yIChjb252ZXJ0aXQgZm9yP29zYW1lbnQiCgojfiBtc2dpZCAiYW4gZXhwcmVzc2lvbi4gIFRoZSB2YXJpYWJsZSBuZWVkIG5vdCBoYXZlIGl0cyBpbnRlZ2VyIGF0dHJpYnV0ZSIKI34gbXNnc3RyICIiCiN+ICJlbiB1biBlbnRlciBsb25nKSBkaW5zIGQndW5hIGV4cHJlc3NpPy4gIE5vIGNhbCBxdWUgbGEgdmFyaWFibGUgdGluZ2EiCgojfiBtc2dpZCAidHVybmVkIG9uIHRvIGJlIHVzZWQgaW4gYW4gZXhwcmVzc2lvbi4iCiN+IG1zZ3N0ciAiIgojfiAiYWN0aXZhZGEgZWwgc2V1IGF0cmlidXQgZCdlbnRlciBwZXIgc2VyIHV0aWxpdHphZGEgZW4gdW5hIGV4cHJlc3NpPy4iCgojfiBtc2dpZCAiT3BlcmF0b3JzIGFyZSBldmFsdWF0ZWQgaW4gb3JkZXIgb2YgcHJlY2VkZW5jZS4gIFN1Yi1leHByZXNzaW9ucyBpbiIKI34gbXNnc3RyICIiCiN+ICJTJ2F2YWx1ZW4gZWxzIG9wZXJhZG9ycyBwZXIgb3JkcmUgZGUgcHJlY2VkP25jaWEuICBMZXMgc3ViZXhwcmVzc2lvbnMiCgojfiBtc2dpZCAicGFyZW50aGVzZXMgYXJlIGV2YWx1YXRlZCBmaXJzdCBhbmQgbWF5IG92ZXJyaWRlIHRoZSBwcmVjZWRlbmNlIgojfiBtc2dzdHIgInF1PyBxdWUgZXMgdHJvYmVuIGRpbnMgZGVscyBwYXI/bnRlc2lzIHM/biBhdmFsdWFkZXMgcHJpbWVyIGkgcG9kZW4iCgojfiBtc2dpZCAicnVsZXMgYWJvdmUuIgojfiBtc2dzdHIgInNhbHRhci1zZSBsZXMgcmVnbGVzIGRlIHByZWNlZD9uY2llcyBlc21lbnRhZGVzLiIKCiN+IG1zZ2lkICJJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IDAgaXMgcmV0dXJuZWQiCiN+IG1zZ3N0ciAiU2kgZWwgZGFycmVyIFBBUkFNRVRSRSBhdmFsdWEgYSAwLCBsZXQgcmV0b3JuYSAxOyBhbHRyYW1lbnQsIGVzIgoKI34gbXNnaWQgIm90aGVyd2lzZS4iCiN+IG1zZ3N0ciAicmV0b3JuYSAxLiIKCiN+IG1zZ2lkICJPbmUgbGluZSBpcyByZWFkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0LCBhbmQgdGhlIGZpcnN0IHdvcmQgaXMiCiN+IG1zZ3N0ciAiIgojfiAiRXMgbGxlZ2VpeCB1bmEgbD9uaWEgZGVzIGRlIGwnZW50cmFkYSBkZSBkYWRlcyBlc3Q/bmRhcmQsIGkgcydhc3NpZ25hIgoKI34gbXNnaWQgIiIKI34gImFzc2lnbmVkIHRvIHRoZSBmaXJzdCBOQU1FLCB0aGUgc2Vjb25kIHdvcmQgdG8gdGhlIHNlY29uZCBOQU1FLCBhbmQgc28iCiN+IG1zZ3N0ciAibGEgcHJpbWVyYSBwYXJhdWxhIGFsIHByaW1lciBOT00sIGxhIHNlZ29uYSBwYXJhdWxhIGFsIHNlZ29uIE5PTSwgaSIKCiN+IG1zZ2lkICIiCiN+ICJvbiwgd2l0aCBsZWZ0b3ZlciB3b3JkcyBhc3NpZ25lZCB0byB0aGUgbGFzdCBOQU1FLiAgT25seSB0aGUgY2hhcmFjdGVycyIKI34gbXNnc3RyICJhaXg/IHN1Y2Nlc3NpdmFtZW50LCBhc3NpZ25hbnQtc2UgbGVzID9sdGltZXMgcGFyYXVsZXMgYWxzID9sdGltcyIKCiN+IG1zZ2lkICJmb3VuZCBpbiAkSUZTIGFyZSByZWNvZ25pemVkIGFzIHdvcmQgZGVsaW1pdGVycy4gIFRoZSByZXR1cm4gY29kZSBpcyIKI34gbXNnc3RyICJOT01zLiBOb20/cyBlcyByZWNvbmVpeGVuIGNvbSBhIGRlbGltaXRhZG9ycyBlbHMgY2FyP2N0ZXJzIHF1ZSBlcyIKCiN+IG1zZ2lkICIiCiN+ICJ6ZXJvLCB1bmxlc3MgZW5kLW9mLWZpbGUgaXMgZW5jb3VudGVyZWQuICBJZiBubyBOQU1FcyBhcmUgc3VwcGxpZWQsIHRoZSIKI34gbXNnc3RyICIiCiN+ICJ0cm9iZW4gZW4gJElGUy4gIEVsIGNvZGkgZGUgcmV0b3JuID9zIHplcm8sIG1lbnRyZSBubyBlcyB0cm9iZSBlbCBmaSIKCiN+IG1zZ2lkICIiCiN+ICJsaW5lIHJlYWQgaXMgc3RvcmVkIGluIHRoZSBSRVBMWSB2YXJpYWJsZS4gIElmIHRoZSAtciBvcHRpb24gaXMgZ2l2ZW4sIgojfiBtc2dzdHIgIiIKI34gImRlIGZpdHhlciAoRU9GKS4gIFNpIG5vIHMnZXNwZWNpZmljYSBOT01zLCBzJ2FsP2EgbGEgbD9uaWEgbGxlZ2lkYSBlbiIKCiN+IG1zZ2lkICJ0aGlzIHNpZ25pZmllcyBgcmF3JyBpbnB1dCwgYW5kIGJhY2tzbGFzaCBlc2NhcGluZyBpcyBkaXNhYmxlZC4gIElmIgojfiBtc2dzdHIgIiIKI34gImxhIHZhcmlhYmxlIFJFUExZLiAgU2kgcydlc3BlY2lmaWNhIGwnb3BjaT8gXCItclwiLCBhaXg/IHZvbCBkaXIgcXVlIGVzIgoKI34gbXNnaWQgInRoZSBgLXAnIG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIHN0cmluZyBzdXBwbGllZCBhcyBhbiBhcmd1bWVudCBpcyIKI34gbXNnc3RyICIiCiN+ICJ0cmFjdGEgZCd1bmEgZW50cmFkYSBkZSBkYWRlcyBkaXJlY3RhIChcInJhdyBkYXRhXCIpLCBpIGVzIGRlc2FjdGl2YSBsYSIKCiN+IG1zZ2lkICIiCiN+ICJvdXRwdXQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlIGF0dGVtcHRpbmcgdG8gcmVhZC4gIElmIC1hIGlzIgojfiBtc2dzdHIgIiIKI34gImJhcnJhIGludmVydGlkYSBkJ2VzY2FwYWRhLiAgU2kgcydlc3BlY2lmaWNhIGwnb3BjaT8gXCItcFwiLCBsYSBjYWRlbmEiCgojfiBtc2dpZCAiIgojfiAic3VwcGxpZWQsIHRoZSB3b3JkcyByZWFkIGFyZSBhc3NpZ25lZCB0byBzZXF1ZW50aWFsIGluZGljZXMgb2YgQVJSQVksIgojfiBtc2dzdHIgImVzcGVjaWZpY2FkYSBjb20gYSBwYXI/bWV0cmUgZXMgbW9zdHJhIHNlbnNlIHNhbHRzIGRlIGw/bmlhIGFiYW5zIgoKI34gbXNnaWQgInN0YXJ0aW5nIGF0IHplcm8uICBJZiAtZSBpcyBzdXBwbGllZCBhbmQgdGhlIHNoZWxsIGlzIGludGVyYWN0aXZlLCIKI34gbXNnc3RyICIiCiN+ICJkJ2ludGVudGFyIGxsZWdpci1sYS4gIFNpIHMnZXNwZWNpZmljYSBsJ29wY2k/IFwiLWFcIiwgcydhc3NpZ25lbiBsZXMiCgojfiBtc2dpZCAicmVhZGxpbmUgaXMgdXNlZCB0byBvYnRhaW4gdGhlIGxpbmUuIgojfiBtc2dzdHIgIiIKI34gInBhcmF1bGVzIGxsZWdpZGVzIGEgP24gP25kZXggc2VxP2VuY2lhbCBkZSBNQVRSSVUsIGluY2lhbGl0emFudCBhXG4iCiN+ICJ6ZXJvLiBTaSBzJ2VzcGVjaWZpY2EgbCdvcGNpPyBcIi1lXCIgaSBsJ2ludD9ycHJldCBkJ29yZHJlcyA/c1xuIgojfiAiaW50ZXJhY3RpdSwgZXMgZmEgc2VydmlyIFwicmVhZGxpbmVcIiBwZXIgYSBvYnRpbmRyZSBsYSBsP25pYS4iCgojfiBtc2dpZCAiaXMgb21pdHRlZCwgdGhlIHJldHVybiBzdGF0dXMgaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kLiIKI34gbXNnc3RyICJOLiAgU2kgcydvbWV0IE4sIGwnZXN0YXQgZGVsIHJldG9ybiA/cyBlbCBkZSBsYSBkYXJyZXJhIG9yZHJlLiIKCiN+IG1zZ2lkICIgICAgLWEgIE1hcmsgdmFyaWFibGVzIHdoaWNoIGFyZSBtb2RpZmllZCBvciBjcmVhdGVkIGZvciBleHBvcnQuIgojfiBtc2dzdHIgIiIKI34gIiAgICAtYSAgTWFyY2EgbGVzIHZhcmlhYmxlcyBtb2RpZmljYWRlcyBvIGNyZWFkZXMgcGVyIGEgZXhwb3J0YXItbGVzLiIKCiN+IG1zZ2lkICIgICAgLWIgIE5vdGlmeSBvZiBqb2IgdGVybWluYXRpb24gaW1tZWRpYXRlbHkuIgojfiBtc2dzdHIgIiAgICAtYiAgQXZpc2EgaW1tZWRpYXRhbWVudCBkZSBsYSBmaW5hbGl0emFjaT8gZCd1bmEgdGFzY2EuIgoKI34gbXNnaWQgIiAgICAtZSAgRXhpdCBpbW1lZGlhdGVseSBpZiBhIGNvbW1hbmQgZXhpdHMgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cy4iCiN+IG1zZ3N0ciAiIgojfiAiICAgIC1lICBJeCBpbW1lZGlhdGFtZW50IHNpIHVuYSBvcmRyZSBpeCBhbWIgdW4gZXN0YXQgZGlzdGludCBkZSB6ZXJvLiIKCiN+IG1zZ2lkICIgICAgLWYgIERpc2FibGUgZmlsZSBuYW1lIGdlbmVyYXRpb24gKGdsb2JiaW5nKS4iCiN+IG1zZ3N0ciAiICAgIC1mICBEZXNhY3RpdmEgbGEgZ2VuZXJhY2k/IGRlIG5vbXMgZGUgZml0eGVyIChnbG9iYmluZykuIgoKI34gbXNnaWQgIiAgICAtaCAgUmVtZW1iZXIgdGhlIGxvY2F0aW9uIG9mIGNvbW1hbmRzIGFzIHRoZXkgYXJlIGxvb2tlZCB1cC4iCiN+IG1zZ3N0ciAiICAgIC1oICBSZWNvcmRhIGxhIHViaWNhY2k/IGRlIGxlcyBvcmRyZXMgcXVhbiBzaWd1ZW4gYnVzY2FkZXMuIgoKI34gbXNnaWQgIiIKI34gIiAgICAtaSAgRm9yY2UgdGhlIHNoZWxsIHRvIGJlIGFuIFwiaW50ZXJhY3RpdmVcIiBvbmUuICBJbnRlcmFjdGl2ZSBzaGVsbHMiCiN+IG1zZ3N0ciAiIgojfiAiICAgIC1pICBGb3I/YSBsJ2ludD9ycHJldCBkJ29yZHJlcyBlbCBtb2RlIFwiaW50ZXJhY3RpdVwiLiAgQXF1ZXN0IG1vZGUiCgojfiBtc2dpZCAiICAgICAgICBhbHdheXMgcmVhZCBgfi8uYmFzaHJjJyBvbiBzdGFydHVwLiIKI34gbXNnc3RyICIgICAgICAgIGxsZWdlaXggc2VtcHJlID9+Ly5iYXNocmM/IGVuIGluaWNpYXItc2UuIgoKI34gbXNnaWQgIiAgICAtayAgQWxsIGFzc2lnbm1lbnQgYXJndW1lbnRzIGFyZSBwbGFjZWQgaW4gdGhlIGVudmlyb25tZW50IGZvciBhIgojfiBtc2dzdHIgIiIKI34gIiAgICAtayAgVWJpY2EgdG90ZXMgbGVzIGFzc2lnbmFjaW9ucyBkZSBwYXI/bWV0cmVzIGVuIGwnZW50b3JuIHBlciB1bmEiCgojfiBtc2dpZCAiICAgICAgICBjb21tYW5kLCBub3QganVzdCB0aG9zZSB0aGF0IHByZWNlZGUgdGhlIGNvbW1hbmQgbmFtZS4iCiN+IG1zZ3N0ciAiIgojfiAiICAgICAgICBvcmRyZSwgbm8gdGFuIHNvbHMgYXF1ZWxscyBxdWUgcHJlY2VkZWl4IGRlbCBub20gZGUgbCdvcmRyZS4iCgojfiBtc2dpZCAiICAgIC1tICBKb2IgY29udHJvbCBpcyBlbmFibGVkLiIKI34gbXNnc3RyICIgICAgLW0gIEFjdGl2YSBlbCBjb250cm9sIGRlIHRhc3F1ZXMuIgoKI34gbXNnaWQgIiAgICAtbiAgUmVhZCBjb21tYW5kcyBidXQgZG8gbm90IGV4ZWN1dGUgdGhlbS4iCiN+IG1zZ3N0ciAiICAgIC1uICBMbGVnZWl4IGxlcyBvcmRyZXMgcGVyPyBubyBlbHMgZXhlY3V0YS4iCgojfiBtc2dpZCAiICAgIC1vIG9wdGlvbi1uYW1lIgojfiBtc2dzdHIgIiAgICAtbyBub20tb3BjaT8iCgojfiBtc2dpZCAiICAgICAgICBTZXQgdGhlIHZhcmlhYmxlIGNvcnJlc3BvbmRpbmcgdG8gb3B0aW9uLW5hbWU6IgojfiBtc2dzdHIgIiAgICAgICAgRXNwZWNpZmlxdWV1IGxhIHZhcmlhYmxlIGNvcnJlc3BvbmVudCBwZXIgYSBub20tb3BjaT86IgoKI34gbXNnaWQgIiAgICAgICAgICAgIGFsbGV4cG9ydCAgICBzYW1lIGFzIC1hIgojfiBtc2dzdHIgIiAgICAgICAgICAgIGFsbGV4cG9ydCAgICBlbCBtYXRlaXggcXVlIC1hIgoKI34gbXNnaWQgIiAgICAgICAgICAgIGJyYWNlZXhwYW5kICBzYW1lIGFzIC1CIgojfiBtc2dzdHIgIiAgICAgICAgICAgIGJyYWNlZXhwYW5kICBlbCBtYXRlaXggcXVlIC1CIgoKI34gbXNnaWQgIiAgICAgICAgICAgIGVtYWNzICAgICAgICB1c2UgYW4gZW1hY3Mtc3R5bGUgbGluZSBlZGl0aW5nIGludGVyZmFjZSIKI34gbXNnc3RyICIiCiN+ICIgICAgICAgICAgICBlbWFjcyAgICAgICAgdXRpbGl0emEgdW5hIGludGVyZmE/IGQnZWRpY2k/IGRlIGw/bmlhIGRlXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgbCdlc3RpbCBkJ2VtYWNzLiIKCiN+IG1zZ2lkICIgICAgICAgICAgICBlcnJleGl0ICAgICAgc2FtZSBhcyAtZSIKI34gbXNnc3RyICIgICAgICAgICAgICBlcnJleGl0ICAgICAgZWwgbWF0ZWl4IHF1ZSAtZSIKCiN+IG1zZ2lkICIgICAgICAgICAgICBoYXNoYWxsICAgICAgc2FtZSBhcyAtaCIKI34gbXNnc3RyICIgICAgICAgICAgICBoYXNoYWxsICAgICAgZWwgbWF0ZWl4IHF1ZSAtaCIKCiN+IG1zZ2lkICIgICAgICAgICAgICBoaXN0ZXhwYW5kICAgc2FtZSBhcyAtSCIKI34gbXNnc3RyICIgICAgICAgICAgICBoaXN0ZXhwYW5kICAgZWwgbWF0ZWl4IHF1ZSAtSCIKCiN+IG1zZ2lkICIgICAgICAgICAgICBpZ25vcmVlb2YgICAgdGhlIHNoZWxsIHdpbGwgbm90IGV4aXQgdXBvbiByZWFkaW5nIEVPRiIKI34gbXNnc3RyICIiCiN+ICIgICAgICAgICAgICBpZ25vcmVlb2YgICAgbCdpbnQ/cnByZXQgZCdvcmRyZXMgbm8gdGVybWluYXI/IGZpbnMgbGxlZ2lyXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgZWwgZmkgZGUgZml0eGVyIChFT0YpLiIKCiN+IG1zZ2lkICIgICAgICAgICAgICBpbnRlcmFjdGl2ZS1jb21tZW50cyIKI34gbXNnc3RyICIgICAgICAgICAgICBpbnRlcmFjdGl2ZS1jb21tZW50cyIKCiN+IG1zZ2lkICIiCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3cgY29tbWVudHMgdG8gYXBwZWFyIGluIGludGVyYWN0aXZlIGNvbW1hbmRzIgojfiBtc2dzdHIgIiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICBwZXJtZXQgbW9zdHJhci1zZSBjb21lbnRhcmlzIGVuIGxlcyBvcmRyZXNcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcmFjdGl2ZXMiCgojfiBtc2dpZCAiICAgICAgICAgICAga2V5d29yZCAgICAgIHNhbWUgYXMgLWsiCiN+IG1zZ3N0ciAiICAgICAgICAgICAga2V5d29yZCAgICAgIGVsIG1hdGVpeCBxdWUgLWsiCgojfiBtc2dpZCAiICAgICAgICAgICAgbW9uaXRvciAgICAgIHNhbWUgYXMgLW0iCiN+IG1zZ3N0ciAiICAgICAgICAgICAgbW9uaXRvciAgICAgIGVsIG1hdGVpeCBxdWUgLW0iCgojfiBtc2dpZCAiICAgICAgICAgICAgbm9jbG9iYmVyICAgIHNhbWUgYXMgLUMiCiN+IG1zZ3N0ciAiICAgICAgICAgICAgbm9jbG9iYmVyICAgIGVsIG1hdGVpeCBxdWUgLUMiCgojfiBtc2dpZCAiICAgICAgICAgICAgbm9leGVjICAgICAgIHNhbWUgYXMgLW4iCiN+IG1zZ3N0ciAiICAgICAgICAgICAgbm9leGVjICAgICAgIGVsIG1hdGVpeCBxdWUgLW4iCgojfiBtc2dpZCAiICAgICAgICAgICAgbm9nbG9iICAgICAgIHNhbWUgYXMgLWYiCiN+IG1zZ3N0ciAiICAgICAgICAgICAgbm9nbG9iICAgICAgIGVsIG1hdGVpeCBxdWUgLWYiCgojfiBtc2dpZCAiICAgICAgICAgICAgbm90aWZ5ICAgICAgIHNhdmUgYXMgLWIiCiN+IG1zZ3N0ciAiICAgICAgICAgICAgbm90aWZ5ICAgICAgIGVsIG1hdGVpeCBxdWUgLWIiCgojfiBtc2dpZCAiICAgICAgICAgICAgbm91bnNldCAgICAgIHNhbWUgYXMgLXUiCiN+IG1zZ3N0ciAiICAgICAgICAgICAgbm91bnNldCAgICAgIGVsIG1hdGVpeCBxdWUgLXUiCgojfiBtc2dpZCAiICAgICAgICAgICAgb25lY21kICAgICAgIHNhbWUgYXMgLXQiCiN+IG1zZ3N0ciAiICAgICAgICAgICAgb25lY21kICAgICAgIGVsIG1hdGVpeCBxdWUgLXQiCgojfiBtc2dpZCAiICAgICAgICAgICAgcGh5c2ljYWwgICAgIHNhbWUgYXMgLVAiCiN+IG1zZ3N0ciAiICAgICAgICAgICAgcGh5c2ljYWwgICAgIGVsIG1hdGVpeCBxdWUgLVAiCgojfiBtc2dpZCAiIgojfiAiICAgICAgICAgICAgcG9zaXggICAgICAgIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgYmFzaCB3aGVyZSB0aGUgZGVmYXVsdCIKI34gbXNnc3RyICIiCiN+ICIgICAgICAgICAgICBwb3NpeCAgICAgICAgY2FudmlhIGVsIGNvbXBvcnRhbWVudCBkZSBiYXNoIGVuIGwnb3BlcmFjaT8iCgojfiBtc2dpZCAiIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbiBkaWZmZXJzIGZyb20gdGhlIDEwMDMuMiBzdGFuZGFyZCB0byIKI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgcGVyIGRlZmVjdGUgZGUgbCdlc3Q/bmRhcmQgMTAwMy4yIHBlciBhIgoKI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaCB0aGUgc3RhbmRhcmQiCiN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgIGNvaW5jaWRpciBhbWIgbCdlc3Q/bmRhcmQiCgojfiBtc2dpZCAiICAgICAgICAgICAgcHJpdmlsZWdlZCAgIHNhbWUgYXMgLXAiCiN+IG1zZ3N0ciAiICAgICAgICAgICAgcHJpdmlsZWdlZCAgIGVsIG1hdGVpeCBxdWUgLXAiCgojfiBtc2dpZCAiICAgICAgICAgICAgdmVyYm9zZSAgICAgIHNhbWUgYXMgLXYiCiN+IG1zZ3N0ciAiICAgICAgICAgICAgdmVyYm9zZSAgICAgIGVsIG1hdGVpeCBxdWUgLXYiCgojfiBtc2dpZCAiICAgICAgICAgICAgdmkgICAgICAgICAgIHVzZSBhIHZpLXN0eWxlIGxpbmUgZWRpdGluZyBpbnRlcmZhY2UiCiN+IG1zZ3N0ciAiIgojfiAiICAgICAgICAgICAgdmkgICAgICAgICAgIHV0aWxpdHphIHVuYSBpbnRlZmE/IGQnZWRpY2k/IGRlIGw/bmlhIGRlXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgbCdlc3RpbCBkZSA/dmk/IgoKI34gbXNnaWQgIiAgICAgICAgICAgIHh0cmFjZSAgICAgICBzYW1lIGFzIC14IgojfiBtc2dzdHIgIiAgICAgICAgICAgIHh0cmFjZSAgICAgICBlbCBtYXRlaXggcXVlIC14IgoKI34gbXNnaWQgIiIKI34gIiAgICAtcCAgVHVybmVkIG9uIHdoZW5ldmVyIHRoZSByZWFsIGFuZCBlZmZlY3RpdmUgdXNlciBpZHMgZG8gbm90IG1hdGNoLiIKI34gbXNnc3RyICIiCiN+ICIgICAgLXAgIFMnYWN0aXZhIHF1YW4gbm8gY29pbmNpZGVpeGVuIGVscyBpZGVudGlmaWNhZG9ycyBkJ3VzdWFyaSByZWFsIFxuIgojfiAiICAgICAgICBpIGVmZWN0aXUuIgoKI34gbXNnaWQgIiAgICAgICAgRGlzYWJsZXMgcHJvY2Vzc2luZyBvZiB0aGUgJEVOViBmaWxlIGFuZCBpbXBvcnRpbmcgb2Ygc2hlbGwiCiN+IG1zZ3N0ciAiICAgICAgICBEZXNhY3RpdmEgZWwgcHJvYz9zIGRlbCBmaXR4ZXIgJEVOViBpIGxhIGltcG9ydGFjaT8gZGUgbGVzIgoKI34gbXNnaWQgIiIKI34gIiAgICAgICAgZnVuY3Rpb25zLiAgVHVybmluZyB0aGlzIG9wdGlvbiBvZmYgY2F1c2VzIHRoZSBlZmZlY3RpdmUgdWlkIGFuZCIKI34gbXNnc3RyICIgICAgICAgIGZ1bmNpb25zIGRlIGwnaW50P3JwcmV0IGQnb3JkcmVzLiBTaSBlcyBkZXNhY3RpdmEgYXF1ZXN0YSIKCiN+IG1zZ2lkICIgICAgICAgIGdpZCB0byBiZSBzZXQgdG8gdGhlIHJlYWwgdWlkIGFuZCBnaWQuIgojfiBtc2dzdHIgIiIKI34gIiAgICAgICAgb3BjaT8sIHMnZXN0YWJsZWl4IGwnaWRlbnRpZmljYWRvciBkJ3VzdWFyaSAodWlkKSBpXG4iCiN+ICIgICAgICAgIGwnaWRlbnRpZmljYWRvciBkZSBncnVwIChnaWQpIGVmZWN0aXVzIHBlciBsJ3VpZCBpIGdpZCByZWFscy4iCgojfiBtc2dpZCAiICAgIC10ICBFeGl0IGFmdGVyIHJlYWRpbmcgYW5kIGV4ZWN1dGluZyBvbmUgY29tbWFuZC4iCiN+IG1zZ3N0ciAiICAgIC10ICBJeCBkZXNwcj9zIGRlIGxsZWdpciBpIGV4ZWN1dGFyIHVuYSBvcmRyZS4iCgojfiBtc2dpZCAiICAgIC11ICBUcmVhdCB1bnNldCB2YXJpYWJsZXMgYXMgYW4gZXJyb3Igd2hlbiBzdWJzdGl0dXRpbmcuIgojfiBtc2dzdHIgIiIKI34gIiAgICAtdSAgQ29uc2lkZXJhciBsZXMgdmFyaWFibGVzIG5vIGluaWNpYWxpdHphZGVzIGNvbSB1biBlcnJvciBxdWFuXG4iCiN+ICIgICAgICAgIHNlIHN1YnN0aXR1P3NjYS4iCgojfiBtc2dpZCAiICAgIC12ICBQcmludCBzaGVsbCBpbnB1dCBsaW5lcyBhcyB0aGV5IGFyZSByZWFkLiIKI34gbXNnc3RyICIiCiN+ICIgICAgLXYgIEltcHJpbWVpeCBsZXMgbD9uaWVzIGQnZW50cmFkYSBkZSBkYWRlcyBkZSBsJ2ludD9ycHJldFxuIgojfiAiICAgICAgICBkJ29yZHJlcyBtZW50cmUgZXMgbGxlZ2VpeGVuLiIKCiN+IG1zZ2lkICIgICAgLXggIFByaW50IGNvbW1hbmRzIGFuZCB0aGVpciBhcmd1bWVudHMgYXMgdGhleSBhcmUgZXhlY3V0ZWQuIgojfiBtc2dzdHIgIiIKI34gIiAgICAteCAgSW1wcmltZWl4IGxlcyBvcmRyZXMgaSBlbHMgc2V1cyBwYXI/bWV0cmVzIG1lbnRyZSBzJ2V4ZWN1dGVuLiIKCiN+IG1zZ2lkICIgICAgLUIgIHRoZSBzaGVsbCB3aWxsIHBlcmZvcm0gYnJhY2UgZXhwYW5zaW9uIgojfiBtc2dzdHIgIiAgICAtQiAgbCdpbnQ/cnByZXQgZCdvcmRyZXMgcmVhbGl0emFyPyB1bmEgZXhwYW5zaT8gZGUgY2xhdXMuIgoKI34gbXNnaWQgIiAgICAtSCAgRW5hYmxlICEgc3R5bGUgaGlzdG9yeSBzdWJzdGl0dXRpb24uICBUaGlzIGZsYWcgaXMgb24iCiN+IG1zZ3N0ciAiICAgIC1IICBBY3RpdmEgbCdlc3RpbCAhIGVuIGxhIHN1YnN0aXR1Y2k/IGRlIGwnaGlzdD9yaWMuICBBcXVlc3QiCgojfiBtc2dpZCAiICAgICAgICBieSBkZWZhdWx0LiIKI34gbXNnc3RyICIgICAgICAgIHNlbnlhbGFkb3IgZXN0PyBtYXJjYXQgcGVyIGRlZmVjdGUuIgoKI34gbXNnaWQgIiAgICAtQyAgSWYgc2V0LCBkaXNhbGxvdyBleGlzdGluZyByZWd1bGFyIGZpbGVzIHRvIGJlIG92ZXJ3cml0dGVuIgojfiBtc2dzdHIgIiAgICAtQyAgRXZpdGEgcXVlIGVscyBmaXR4ZXJzIHJlZ3VsYXJzIHNpZ3VlbiBzb2JyZWVzY3JpdHMgcGVyIGxhIgoKI34gbXNnaWQgIiAgICAgICAgYnkgcmVkaXJlY3Rpb24gb2Ygb3V0cHV0LiIKI34gbXNnc3RyICIgICAgICAgIHJlZGlyZWNjaT8gZGUgbCdlaXhpZGEgZGUgZGFkZXMuIgoKI34gbXNnaWQgIiAgICAtUCAgSWYgc2V0LCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzIHdoZW4gZXhlY3V0aW5nIGNvbW1hbmRzIgojfiBtc2dzdHIgIiIKI34gIiAgICAtUCAgTm8gcmFzdHJlamEgZWxzIGVubGxhP29zIHNpbWI/bGljcyBxdWFuIHMnZXhlY3V0YSBvcmRyZXMgY29tICIKCiN+IG1zZ2lkICIgICAgICAgIHN1Y2ggYXMgY2Qgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4iCiN+IG1zZ3N0ciAiICAgICAgICBwZXIgZXhlbXBsZSBjZCBxdWUgY2FudmlhIGVsIGRpcmVjdG9yaSBhY3R1YWwuIgoKI34gbXNnaWQgIlVzaW5nICsgcmF0aGVyIHRoYW4gLSBjYXVzZXMgdGhlc2UgZmxhZ3MgdG8gYmUgdHVybmVkIG9mZi4gIFRoZSIKI34gbXNnc3RyICIiCiN+ICJTaSBmZXUgc2VydmlyIGVsIHNpZ25lIFwiK1wiIGVuIHZvbHRlcyBkZWwgc2lnbmUgXCItXCIgZGVzbWFyY2FyZXUgZWxzXG4iCiN+ICJzZW55YWxhZG9ycy4gIFRhbWI/IGVzIHBvZGVuIHV0aWxpdHphciBlbHMgc2VueWFsYWRvcnMgZGVzIGRlIGxhIgoKI34gbXNnaWQgImZsYWdzIGNhbiBhbHNvIGJlIHVzZWQgdXBvbiBpbnZvY2F0aW9uIG9mIHRoZSBzaGVsbC4gIFRoZSBjdXJyZW50IgojfiBtc2dzdHIgImludm9jYWNpPyBkZSBsJ2ludD9ycHJldCBkJ29yZHJlcy4gIEVzIHBvdCB0cm9iYXIgbGEgY29uZmlndXJhY2k/IgoKI34gbXNnaWQgIiIKI34gInNldCBvZiBmbGFncyBtYXkgYmUgZm91bmQgaW4gJC0uICBUaGUgcmVtYWluaW5nIG4gQVJHcyBhcmUgcG9zaXRpb25hbCIKI34gbXNnc3RyICJhY3R1YWwgZGVscyBzZW55YWxhZG9ycyBlbiAkLS4gIEVscyByZXN0YW50cyBQQVI/TUVUUkVTIG4gcz9uIgoKI34gbXNnaWQgInBhcmFtZXRlcnMgYW5kIGFyZSBhc3NpZ25lZCwgaW4gb3JkZXIsIHRvICQxLCAkMiwgLi4gJG4uICBJZiBubyIKI34gbXNnc3RyICIiCiN+ICJwYXI/bWV0cmVzIHBvc2ljaW9uYWxzIGkgZXN0YW4gYXNzaWduYXRzLCBlbiBvcmRyZSwgYSAkMSwgJDIsIC4uLiAkbi4iCgojfiBtc2dpZCAiQVJHcyBhcmUgZ2l2ZW4sIGFsbCBzaGVsbCB2YXJpYWJsZXMgYXJlIHByaW50ZWQuIgojfiBtc2dzdHIgIiIKI34gIlNpIG5vIHMnZXNwZWNpZmlxdWVuIGVscyBQQVI/TUVUUkVTLCBlcyBtb3N0cmFyYW4gdG90ZXMgbGVzIHZhcmlhYmxlcyBkZVxuIgojfiAibCdpbnQ/cnByZXQgZCdvcmRyZXMuIgoKI34gbXNnaWQgIkZvciBlYWNoIE5BTUUsIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyB2YXJpYWJsZSBvciBmdW5jdGlvbi4gIEdpdmVuIgojfiBtc2dzdHIgIiIKI34gIkVzYm9ycmEgbGEgdmFyaWFibGUgbyBmdW5jaT8gY29ycmVzcG9uZW50IHBlciBhIGNhZGEgTk9NLiAgQW1iIGwnb3BjaT8gIgoKI34gbXNnaWQgInRoZSBgLXYnLCB1bnNldCB3aWxsIG9ubHkgYWN0IG9uIHZhcmlhYmxlcy4gIEdpdmVuIHRoZSBgLWYnIGZsYWcsIgojfiBtc2dzdHIgIiIKI34gIlwiLXZcIiwgP3Vuc2V0PyBvcGVyYSBub20/cyBlbiBsZXMgdmFyaWFibGVzLiAgQW1iIGVsIHNlbnlhbGFkb3IgXCItZlwiLCIKCiN+IG1zZ2lkICJ1bnNldCB3aWxsIG9ubHkgYWN0IG9uIGZ1bmN0aW9ucy4gIFdpdGggbmVpdGhlciBmbGFnLCB1bnNldCBmaXJzdCIKI34gbXNnc3RyICJub20/cyBlbiBmdW5jaW9ucy4gIEFtYiBjYXAgZGVscyBkb3Mgc2VueWFsYWRvcnMsID91bnNldD8gcHJpbWVyIgoKI34gbXNnaWQgInRyaWVzIHRvIHVuc2V0IGEgdmFyaWFibGUsIGFuZCBpZiB0aGF0IGZhaWxzLCB0aGVuIHRyaWVzIHRvIHVuc2V0IGEiCiN+IG1zZ3N0ciAiIgojfiAiaW50ZW50YXI/IGVsaW1pbmFyIHVuYSB2YXJpYWJsZSwgaSBzaSBlbiBmYWxsYSwgYWxlc2hvcmVzIGhvIGludGVudGEiCgojfiBtc2dpZCAiIgojfiAiZnVuY3Rpb24uICBTb21lIHZhcmlhYmxlcyAoc3VjaCBhcyBQQVRIIGFuZCBJRlMpIGNhbm5vdCBiZSB1bnNldDsgYWxzbyIKI34gbXNnc3RyICIiCiN+ICJhbWIgdW5hIGZ1bmNpPy4gIEFsZ3VuZXMgdmFyaWFibGVzIChhaXg/IGNvbSBDQU1JX0FDQ0VTIGkgSUZTKSBubyBlcyIKCiN+IG1zZ2lkICJzZWUgcmVhZG9ubHkuIgojfiBtc2dzdHIgInBvZGVuIGVzYm9ycmFyICh2ZXVyZSBsJ29wY2k/IFwicmVhZG9ubHlcIikuIgoKI34gbXNnaWQgIk5BTUVzIGFyZSBtYXJrZWQgZm9yIGF1dG9tYXRpYyBleHBvcnQgdG8gdGhlIGVudmlyb25tZW50IG9mIgojfiBtc2dzdHIgIiIKI34gIlMnYXNzZW55YWxlbiBlbHMgTk9NcyBwZXIgYSBleHBvcnRhci1sb3MgYXV0b20/dGljYW1lbnQgYSBsJ2VudG9ybiBkZSAiCgojfiBtc2dpZCAic3Vic2VxdWVudGx5IGV4ZWN1dGVkIGNvbW1hbmRzLiAgSWYgdGhlIC1mIG9wdGlvbiBpcyBnaXZlbiwiCiN+IG1zZ3N0ciAiIgojfiAibGVzIG9yZHJlcyBleGVjdXRhZGVzIHN1YnNlcT9lbnRtZW50LiAgU2kgcydlc3BlY2lmaWNhIGwnb3BjaT8gXCItZlwiLCAiCgojfiBtc2dpZCAidGhlIE5BTUVzIHJlZmVyIHRvIGZ1bmN0aW9ucy4gIElmIG5vIE5BTUVzIGFyZSBnaXZlbiwgb3IgaWYgYC1wJyIKI34gbXNnc3RyICIiCiN+ICJlbHMgTk9NcyBmYW4gcmVmZXI/bmNpYSBhIGxlcyBmdW5jaW9ucy4gIFNpIG5vIHMnZXNwZWNpZmljYSBOT01zLCBvIHNpICIKCiN+IG1zZ2lkICJpcyBnaXZlbiwgYSBsaXN0IG9mIGFsbCBuYW1lcyB0aGF0IGFyZSBleHBvcnRlZCBpbiB0aGlzIHNoZWxsIGlzIgojfiBtc2dzdHIgIiIKI34gInMnZXNwZWNpZmljYSBcIi1wXCIsIGVzIG1vc3RyYSB1bmEgbGxpc3RhIGRlIHRvdHMgZWxzIG5vbXMgZXhwb3J0YXRzIGNhcCAiCgojfiBtc2dpZCAicHJpbnRlZC4gIEFuIGFyZ3VtZW50IG9mIGAtbicgc2F5cyB0byByZW1vdmUgdGhlIGV4cG9ydCBwcm9wZXJ0eSIKI34gbXNnc3RyICJhcXVlc3QgaW50P3JwcmV0IGQnb3JkcmVzLiAgQW1iIFwiLW5cIiBzJ2VzYm9ycmEgbGVzIHByb3BpZXRhdHMgIgoKI34gbXNnaWQgImZyb20gc3Vic2VxdWVudCBOQU1Fcy4gIEFuIGFyZ3VtZW50IG9mIGAtLScgZGlzYWJsZXMgZnVydGhlciBvcHRpb24iCiN+IG1zZ3N0ciAiZCdleHBvcnRhY2k/IHBlciBhbHMgTk9NcyBzdWJzZXE/ZW50cy4gIEFtYiBcIi0tXCIgcydhdHVyYSBlbCAiCgojfiBtc2dpZCAicHJvY2Vzc2luZy4iCiN+IG1zZ3N0ciAidHJhY3RhbWVudCBzdWJzZXE/ZW50IGRlIGxlcyBvcGNpb25zLiIKCiN+IG1zZ2lkICIiCiN+ICJUaGUgZ2l2ZW4gTkFNRXMgYXJlIG1hcmtlZCByZWFkb25seSBhbmQgdGhlIHZhbHVlcyBvZiB0aGVzZSBOQU1FcyBtYXkiCiN+IG1zZ3N0ciAiIgojfiAiRWxzIE5PTXMgZXNwZWNpZmljYXRzIGVzIG1hcnF1ZW4gYW1iIGwnYXRyaWJ1dCBkZSBub20/cyBsZWN0dXJhLCBlbHMiCgojfiBtc2dpZCAibm90IGJlIGNoYW5nZWQgYnkgc3Vic2VxdWVudCBhc3NpZ25tZW50LiAgSWYgdGhlIC1mIG9wdGlvbiBpcyBnaXZlbiwiCiN+IG1zZ3N0ciAiIgojfiAidmFsb3JzIGRlbHMgcXVhbHMgbm8gcG9kZW4gc2VyIGNhbnZpYXRzIHBlciBhc3NpZ25hY2lvbnMgc3Vic2VxP2VudHMuIgoKI34gbXNnaWQgInRoZW4gZnVuY3Rpb25zIGNvcnJlc3BvbmRpbmcgdG8gdGhlIE5BTUVzIGFyZSBzbyBtYXJrZWQuICBJZiBubyIKI34gbXNnc3RyICIiCiN+ICJTaSBzJ2VzcGVjaWZpY2EgbCdvcGNpPyBcIi1mXCIsIGFsZXNob3JlcyBsZXMgZnVuY2lvbnMgY29ycmVzcG9uZW50cyBhbHMiCgojfiBtc2dpZCAiIgojfiAiYXJndW1lbnRzIGFyZSBnaXZlbiwgb3IgaWYgYC1wJyBpcyBnaXZlbiwgYSBsaXN0IG9mIGFsbCByZWFkb25seSBuYW1lcyIKI34gbXNnc3RyICJOT01zIHRhbWI/IHNlJ24gbWFycXVlbi4gIFNpIG5vIHMnZXNwZWNpZmljYSBwYXI/bWV0cmVzLCBvIHNpIgoKI34gbXNnaWQgIiIKI34gImlzIHByaW50ZWQuICBBbiBhcmd1bWVudCBvZiBgLW4nIHNheXMgdG8gcmVtb3ZlIHRoZSByZWFkb25seSBwcm9wZXJ0eSIKI34gbXNnc3RyICIiCiN+ICJzJ2VzcGVjaWZpY2EgXCItcFwiLCBlcyBtb3N0cmEgdW5hIGxsaXN0YSBkZSB0b3RzIGVscyBub21zIGFtYiBsJ2F0cmlidXQiCgojfiBtc2dpZCAiZnJvbSBzdWJzZXF1ZW50IE5BTUVzLiAgVGhlIGAtYScgb3B0aW9uIG1lYW5zIHRvIHRyZWF0IGVhY2ggTkFNRSBhcyIKI34gbXNnc3RyICJkZSBub20/cyBsZWN0dXJhLiAgQW1iIGwnb3BjaT8gXCItblwiIHMnZXNib3JyYSBsJ2F0cmlidXQgZGUgbm9tP3MiCgojfiBtc2dpZCAiYW4gYXJyYXkgdmFyaWFibGUuICBBbiBhcmd1bWVudCBvZiBgLS0nIGRpc2FibGVzIGZ1cnRoZXIgb3B0aW9uIgojfiBtc2dzdHIgIiIKI34gImxlY3R1cmEgcGVscyBOT01zIHN1YnNlcT9lbnRzLiAgQW1iIFwiLWFcIiB0cmFjdGEgY2FkYSBOT00gY29tIHVuYVxuIgojfiAidmFyaWFibGUgZGUgbWF0cml1LiAgQW1iIGVsIHBhcj9tZXRyZSBcIi0tXCIgcydhdHVyYSBlbCB0cmFjdGFtZW50XG4iCiN+ICJzdWJzZXE/ZW50IGRlIGxlcyBvcGNpb25zLiIKCiN+IG1zZ2lkICJub3QgZ2l2ZW4sIGl0IGlzIGFzc3VtZWQgdG8gYmUgMS4iCiN+IG1zZ3N0ciAiU2kgbm8gcydlc3BlY2lmaWNhIE4sIHMnYXNzdW1laXggZWwgdmFsb3IgY29tIGEgMS4iCgojfiBtc2dpZCAiUmVhZCBhbmQgZXhlY3V0ZSBjb21tYW5kcyBmcm9tIEZJTEVOQU1FIGFuZCByZXR1cm4uICBUaGUgcGF0aG5hbWVzIgojfiBtc2dzdHIgIkxsZWdlaXggaSBleGVjdXRhIG9yZHJlcyBkZSBGSVRYRVIgaSByZXRvcm5hLiAgRXMgZmFuIHNlcnZpciBlbHMiCgojfiBtc2dpZCAiaW4gJFBBVEggYXJlIHVzZWQgdG8gZmluZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgRklMRU5BTUUuIgojfiBtc2dzdHIgImNhbWlucyBkJ2FjYz9zIGRlICRQQVRIIHBlciBhIHRyb2JhciBlbCBkaXJlY3RvcmkgcXVlIGNvbnQ/IEZJVFhFUi4iCgojfiBtc2dpZCAiU3VzcGVuZCB0aGUgZXhlY3V0aW9uIG9mIHRoaXMgc2hlbGwgdW50aWwgaXQgcmVjZWl2ZXMgYSBTSUdDT05UIgojfiBtc2dzdHIgIiIKI34gIlN1c3A/biBsJ2V4ZWN1Y2k/IGQnYXF1ZXN0IGludD9ycHJldCBkJ29yZHJlcyBmaW5zIHF1ZSByZWJhIHVuYSBzZW55YWwiCgojfiBtc2dpZCAic2lnbmFsLiAgVGhlIGAtZicgaWYgc3BlY2lmaWVkIHNheXMgbm90IHRvIGNvbXBsYWluIGFib3V0IHRoaXMiCiN+IG1zZ3N0ciAiIgojfiAiU0lHQ09OVC4gIFNpIHMnZXNwZWNpZmljYSBcIi1mXCIgbm8gZXMgbW9zdHJhcj8gY2FwIG1pc3NhdGdlIGQnYXY/cyBkZSIKCiN+IG1zZ2lkICJiZWluZyBhIGxvZ2luIHNoZWxsIGlmIGl0IGlzOyBqdXN0IHN1c3BlbmQgYW55d2F5LiIKI34gbXNnc3RyICIiCiN+ICJzaSBsJ2ludD9ycHJldCA/cyB1biBkJ2luaWNpIGRlIHNlc3NpPyAoc2hlbGwgbG9naW4pOyBzaW1wbGVtZW50IGhvIHN1c3A/IgojfiAibiBkZVxuIgojfiAicXVhbHNldm9sIG1hbmVyYS4iCgojfiBtc2dpZCAiRXhpdHMgd2l0aCBhIHN0YXR1cyBvZiAwICh0cnVlbmVzcykgb3IgMSAoZmFsc2VuZXNzKSBkZXBlbmRpbmcgb24iCiN+IG1zZ3N0ciAiSXggYW1iIGwnZXN0YXQgZGUgMCAoY2VydCkgbyAxIChmYWxzKSBkZXBlbmVudCBkZSBsJ2F2YWx1YWNpPyBkZSAiCgojfiBtc2dpZCAidGhlIGV2YWx1YXRpb24gb2YgRVhQUi4gIEV4cHJlc3Npb25zIG1heSBiZSB1bmFyeSBvciBiaW5hcnkuICBVbmFyeSIKI34gbXNnc3RyICJsJ0VYUFJFU1NJTy4gIExlcyBleHByZXNzaW9ucyBwb2RlbiBzZXIgdW4/cmllcyBvIGJpbj9yaWVzLiAgTGVzIgoKI34gbXNnaWQgImV4cHJlc3Npb25zIGFyZSBvZnRlbiB1c2VkIHRvIGV4YW1pbmUgdGhlIHN0YXR1cyBvZiBhIGZpbGUuICBUaGVyZSIKI34gbXNnc3RyICIiCiN+ICJleHByZXNzaW9ucyB1bj9yaWVzIHNvdmludCBlcyBmYW4gc2VydmlyIHBlciBhIGV4YW1pbmFyIGwnZXN0YXQgZCd1biIKCiN+IG1zZ2lkICJhcmUgc3RyaW5nIG9wZXJhdG9ycyBhcyB3ZWxsLCBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycy4iCiN+IG1zZ3N0ciAiZml0eGVyLiAgVGFtYj8gaGkgaGEgb3BlcmFkb3JzIGRlIGNhZGVuZXMgaSBkZSBjb21wYXJhY2k/IG51bT9yaWNhLiIKCiN+IG1zZ2lkICJGaWxlIG9wZXJhdG9yczoiCiN+IG1zZ3N0ciAiT3BlcmFkb3JzIGRlIGZpdHhlcjoiCgojfiBtc2dpZCAiICAgIC1iIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBpcyBibG9jayBzcGVjaWFsLiIKI34gbXNnc3RyICIgICAgLWIgRklUWEVSICAgICAgICBDZXJ0IHNpIGVsIGZpdHhlciA/cyB1biBibG9jIGVzcGVjaWFsLiIKCiN+IG1zZ2lkICIgICAgLWMgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGNoYXJhY3RlciBzcGVjaWFsLiIKI34gbXNnc3RyICIgICAgLWMgRklUWEVSICAgICAgICBDZXJ0IHNpIGVsIGZpdHhlciA/cyB1biBjYXI/Y3RlciBlc3BlY2lhbC4iCgojfiBtc2dpZCAiICAgIC1kIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBpcyBhIGRpcmVjdG9yeS4iCiN+IG1zZ3N0ciAiICAgIC1kIEZJVFhFUiAgICAgICAgQ2VydCBzaSBlbCBmaXR4ZXIgP3MgdW4gZGlyZWN0b3JpLiIKCiN+IG1zZ2lkICIgICAgLWUgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGV4aXN0cy4iCiN+IG1zZ3N0ciAiICAgIC1lIEZJVFhFUiAgICAgICAgQ2VydCBzaSBlbCBmaXR4ZXIgZXhpc3RlaXguIgoKI34gbXNnaWQgIiAgICAtZiBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgZXhpc3RzIGFuZCBpcyBhIHJlZ3VsYXIgZmlsZS4iCiN+IG1zZ3N0ciAiIgojfiAiICAgIC1mIEZJVFhFUiAgICAgICAgQ2VydCBzaSBlbCBmaXR4ZXIgZXhpc3RlaXggaSA/cyB1biBmaXR4ZXIgbm9ybWFsLiIKCiN+IG1zZ2lkICIgICAgLWcgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIHNldC1ncm91cC1pZC4iCiN+IG1zZ3N0ciAiICAgIC1nIEZJVFhFUiAgICAgICAgQ2VydCBzaSBlbCBmaXR4ZXIgP3Mgc2V0LWdyb3VwLWlkLiIKCiN+IG1zZ2lkICIgICAgLWggRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGEgc3ltYm9saWMgbGluay4gIFVzZSBcIi1MXCIuIgojfiBtc2dzdHIgIiIKI34gIiAgICAtaCBGSVRYRVIgICAgICAgIENlcnQgc2kgZWwgZml0eGVyID9zIHVuIGVubGxhPyBzaW1iP2xpYy5cbiIKI34gIiAgICAgICAgICAgICAgICAgICAgIFV0aWxpdHpldSBcIi1MXCIuIgoKI34gbXNnaWQgIiAgICAtTCBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgYSBzeW1ib2xpYyBsaW5rLiIKI34gbXNnc3RyICIgICAgLUwgRklUWEVSICAgICAgICBDZXJ0IHNpIGVsIGZpdHhlciA/cyB1biBlbmxsYT8gc2ltYj9saWMuIgoKI34gbXNnaWQgIiAgICAtayBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaGFzIGl0cyBcInN0aWNreVwiIGJpdCBzZXQuIgojfiBtc2dzdHIgIiIKI34gIiAgICAtayBGSVRYRVIgICAgICAgIENlcnQgc2kgZWwgZml0eGVyIHQ/IGFjdGl2YXQgZWwgc2V1IGJpdCBcInN0aWNreVwiLiIKCiN+IG1zZ2lkICIgICAgLXAgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGEgbmFtZWQgcGlwZS4iCiN+IG1zZ3N0ciAiICAgIC1wIEZJVFhFUiAgICAgICAgQ2VydCBzaSBlbCBmaXR4ZXIgP3MgdW4gY29uZHVjdGUgYW5vbWVuYXQuIgoKI34gbXNnaWQgIiAgICAtciBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgcmVhZGFibGUgYnkgeW91LiIKI34gbXNnc3RyICIgICAgLXIgRklUWEVSICAgICAgICBDZXJ0IHNpIHBvZGV1IGxsZWdpciBlbCBmaXR4ZXIuIgoKI34gbXNnaWQgIiAgICAtcyBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgZXhpc3RzIGFuZCBpcyBub3QgZW1wdHkuIgojfiBtc2dzdHIgIiAgICAtcyBGSVRYRVIgICAgICAgIENlcnQgc2kgZWwgZml0eGVyIGV4aXN0ZWl4IGkgbm8gP3MgYnVpdC4iCgojfiBtc2dpZCAiICAgIC1TIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBpcyBhIHNvY2tldC4iCiN+IG1zZ3N0ciAiICAgIC1TIEZJVFhFUiAgICAgICAgQ2VydCBzaSBlbCBmaXR4ZXIgP3MgdW4gcz9jb2wuIgoKI34gbXNnaWQgIiAgICAtdCBGRCAgICAgICAgICBUcnVlIGlmIEZEIGlzIG9wZW5lZCBvbiBhIHRlcm1pbmFsLiIKI34gbXNnc3RyICIgICAgLXQgRkQgICAgICAgICAgICBDZXJ0IHNpIEZEID9zIG9iZXJ0IGVuIHVuYSB0ZXJtaW5hbC4iCgojfiBtc2dpZCAiICAgIC11IEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaXMgc2V0LXVzZXItaWQuIgojfiBtc2dzdHIgIiAgICAtdSBGSVRYRVIgICAgICAgIENlcnQgc2kgZWwgZml0eGVyID9zIHNldC11c2VyLWlkLiIKCiN+IG1zZ2lkICIgICAgLXcgRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyB3cml0YWJsZSBieSB5b3UuIgojfiBtc2dzdHIgIiAgICAtdyBGSVRYRVIgICAgICAgIENlcnQgc2kgcG9kZXUgZXNjcml1cmUgZWwgZml0eGVyLiIKCiN+IG1zZ2lkICIgICAgLXggRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBleGVjdXRhYmxlIGJ5IHlvdS4iCiN+IG1zZ3N0ciAiICAgIC13IEZJVFhFUiAgICAgICAgQ2VydCBzaSBwb2RldSBlc2NyaXVyZSBlbCBmaXR4ZXIuIgoKI34gbXNnaWQgIiAgICAtTyBGSUxFICAgICAgICBUcnVlIGlmIHRoZSBmaWxlIGlzIGVmZmVjdGl2ZWx5IG93bmVkIGJ5IHlvdS4iCiN+IG1zZ3N0ciAiICAgIC1PIEZJVFhFUiAgICAgICAgQ2VydCBzaSBzb3UgZWwgcHJvcGlldGFyaSBkZWwgZml0eGVyLiIKCiN+IG1zZ2lkICIiCiN+ICIgICAgLUcgRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBlZmZlY3RpdmVseSBvd25lZCBieSB5b3VyIGdyb3VwLiIKI34gbXNnc3RyICIgICAgLUcgRklUWEVSICAgICAgICBDZXJ0IHNpIHNvdSBkZWwgZ3J1cCBwcm9waWV0YXJpIGRlbCBmaXR4ZXIuIgoKI34gbXNnaWQgIiAgRklMRTEgLW50IEZJTEUyICBUcnVlIGlmIGZpbGUxIGlzIG5ld2VyIHRoYW4gKGFjY29yZGluZyB0byIKI34gbXNnc3RyICIiCiN+ICIgICAgRklUWEVSMSAtbnQgRklUWEVSMlxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgQ2VydCBzaSBmaXR4ZXIxID9zIHRhbiByZWNlbnQgY29tIGZpdHhlcjIiCgojfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgIG1vZGlmaWNhdGlvbiBkYXRlKSBmaWxlMi4iCiN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgKGQnYWNvcmQgYW1iIGxlcyBkYXRlcyBkJz9sdGltYSBtb2RpZmljYWNpPykuIgoKI34gbXNnaWQgIiAgRklMRTEgLW90IEZJTEUyICBUcnVlIGlmIGZpbGUxIGlzIG9sZGVyIHRoYW4gZmlsZTIuIgojfiBtc2dzdHIgIiIKI34gIiAgICBGSVRYRVIxIC1vdCBGSVRYRVIyXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICBDZXJ0IHNpIGZpdHhlcjEgP3MgdGFuIGFudGljIGNvbSBmaXR4ZXIyLiIKCiN+IG1zZ2lkICIgIEZJTEUxIC1lZiBGSUxFMiAgVHJ1ZSBpZiBmaWxlMSBpcyBhIGhhcmQgbGluayB0byBmaWxlMi4iCiN+IG1zZ3N0ciAiIgojfiAiICAgIEZJVFhFUjEgLWVmIEZJVFhFUjJcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgIENlcnQgc2kgZml0eGVyIDEgP3MgdW4gZW5sbGE/IGZvcnQgY2FwIGEgZml0eGVyMi4iCgojfiBtc2dpZCAiU3RyaW5nIG9wZXJhdG9yczoiCiN+IG1zZ3N0ciAiT3BlcmFkb3JzIGRlIGNhZGVuYToiCgojfiBtc2dpZCAiICAgIC16IFNUUklORyAgICAgIFRydWUgaWYgc3RyaW5nIGlzIGVtcHR5LiIKI34gbXNnc3RyICIgICAgLXogQ0FERU5BICAgICAgICBDZXJ0IHNpIGxhIGNhZGVuYSA/cyBidT9kYS4iCgojfiBtc2dpZCAiICAgIC1uIFNUUklORyIKI34gbXNnc3RyICIgICAgLW4gQ0FERU5BIgoKI34gbXNnaWQgIiAgICBTVFJJTkcgICAgICAgICBUcnVlIGlmIHN0cmluZyBpcyBub3QgZW1wdHkuIgojfiBtc2dzdHIgIiAgICBDQURFTkEgICAgICAgICAgIENlcnQgc2kgbGEgY2FkZW5hIG5vID9zIGJ1P2RhLiIKCiN+IG1zZ2lkICIgICAgU1RSSU5HMSA9IFNUUklORzIiCiN+IG1zZ3N0ciAiICAgIENBREVOQTEgPSBDQURFTkEyIgoKI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICBUcnVlIGlmIHRoZSBzdHJpbmdzIGFyZSBlcXVhbC4iCiN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgQ2VydCBzaSBsZXMgY2FkZW5lcyBzP24gaWd1YWxzLiIKCiN+IG1zZ2lkICIgICAgU1RSSU5HMSAhPSBTVFJJTkcyIgojfiBtc2dzdHIgIiAgICBDQURFTkExICE9IENBREVOQTIiCgojfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgIFRydWUgaWYgdGhlIHN0cmluZ3MgYXJlIG5vdCBlcXVhbC4iCiN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgQ2VydCBzaSBsZXMgY2FkZW5lcyBzP24gZGlmZXJlbnRzLiIKCiN+IG1zZ2lkICIgICAgU1RSSU5HMSA8IFNUUklORzIiCiN+IG1zZ3N0ciAiICAgIENBREVOQTEgPCBDQURFTkEyIgoKI34gbXNnaWQgIiIKI34gIiAgICAgICAgICAgICAgICAgICBUcnVlIGlmIFNUUklORzEgc29ydHMgYmVmb3JlIFNUUklORzIgbGV4aWNvZ3JhcGhpY2FsbHkiCiN+IG1zZ3N0ciAiIgojfiAiICAgICAgICAgICAgICAgICAgICAgQ2VydCBzaSBDQURFTkExIHByZWNlZGVpeCBhbGZhYj90aWNhbWVudCBDQURFTkEyLiIKCiN+IG1zZ2lkICIgICAgU1RSSU5HMSA+IFNUUklORzIiCiN+IG1zZ3N0ciAiICAgIENBREVOQTEgPiBDQURFTkEyIgoKI34gbXNnaWQgIiIKI34gIiAgICAgICAgICAgICAgICAgICBUcnVlIGlmIFNUUklORzEgc29ydHMgYWZ0ZXIgU1RSSU5HMiBsZXhpY29ncmFwaGljYWxseSIKI34gbXNnc3RyICIiCiN+ICIgICAgICAgICAgICAgICAgICAgICBDZXJ0IHNpIENBREVOQTEgcG9zY2VkZWl4IGFsZmFiP3RpY2FtZW50IENBREVOQTIuIgoKI34gbXNnaWQgIk90aGVyIG9wZXJhdG9yczoiCiN+IG1zZ3N0ciAiQWx0cmVzIG9wZXJhZG9yczoiCgojfiBtc2dpZCAiICAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS4iCiN+IG1zZ3N0ciAiICAgICEgRVhQUiAgICAgICAgICAgQ2VydCBzaSBsJ2V4cHJlc3NpPyA/cyBmYWxzYS4iCgojfiBtc2dpZCAiICAgIEVYUFIxIC1hIEVYUFIyIFRydWUgaWYgYm90aCBleHByMSBBTkQgZXhwcjIgYXJlIHRydWUuIgojfiBtc2dzdHIgIiAgICBFWFBSMSAtYSBFWFBSMiAgIENlcnQgc2kgYW1iZHVlcyBleHByZXNzaW9ucyBzP24gY2VydGVzLiIKCiN+IG1zZ2lkICIgICAgRVhQUjEgLW8gRVhQUjIgVHJ1ZSBpZiBlaXRoZXIgZXhwcjEgT1IgZXhwcjIgaXMgdHJ1ZS4iCiN+IG1zZ3N0ciAiICAgIEVYUFIxIC1vIEVYUFIyICAgQ2VydCBzaSBjYXAgZCdhbWJkdWVzIGV4cHJlc2k/bnMgcz9uIGNlcnRlcy4iCgojfiBtc2dpZCAiICAgIGFyZzEgT1AgYXJnMiAgIEFyaXRobWV0aWMgdGVzdHMuICBPUCBpcyBvbmUgb2YgLWVxLCAtbmUsIgojfiBtc2dzdHIgIiAgICBhcmcxIE9QIGFyZzIgICAgIEM/bGN1bCBhcml0bT90aWMuIE9QID9zIHVuYSBkZSBsZXMgc2VnP2VudHMiCgojfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgIC1sdCwgLWxlLCAtZ3QsIG9yIC1nZS4iCiN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgb3BjaW9uczogLWVxLCAtbmUsIC1sdCwgLWxlLCAtZ3QsIG9yIC1nZS4iCgojfiBtc2dpZCAiQXJpdGhtZXRpYyBiaW5hcnkgb3BlcmF0b3JzIHJldHVybiB0cnVlIGlmIEFSRzEgaXMgZXF1YWwsIG5vdC1lcXVhbCwiCiN+IG1zZ3N0ciAiRWxzIG9wZXJhZG9ycyBhcml0bT90aWNzIGJpbmFyaXMgcmV0b3JuZW4gdW4gdmFsb3IgZGUgY2VydCBzaSAiCgojfiBtc2dpZCAiIgojfiAibGVzcy10aGFuLCBsZXNzLXRoYW4tb3ItZXF1YWwsIGdyZWF0ZXItdGhhbiwgb3IgZ3JlYXRlci10aGFuLW9yLWVxdWFsIgojfiBtc2dzdHIgIiIKI34gIlBBUkFNRVRSRTEgP3MgJ2lndWFsJywgJ2RpZmVyZW50JywgJ21lbnlzIHF1ZScsICdtZW55cyBvIGlndWFsIHF1ZScsIgoKI34gbXNnaWQgInRoYW4gQVJHMi4iCiN+IG1zZ3N0ciAiJ20/cyBxdWUnLCBvICdtP3MgbyBpZ3VhbCBxdWUnLCBlbCBQQVJBTUVUUkUyLiIKCiN+IG1zZ2lkICJUaGlzIGlzIGEgc3lub255bSBmb3IgdGhlIFwidGVzdFwiIGJ1aWx0aW4sIGJ1dCB0aGUgbGFzdCIKI34gbXNnc3RyICJFcyB0cmFjdGEgZGVsIHNpbj9uaW0gZGUgbCdvcmRyZSBpbnRlZ3JhZGEgP3Rlc3Q/LCBwZXI/IGVsIGRhcnJlciAiCgojfiBtc2dpZCAidGhlIHNoZWxsLiIKI34gbXNnc3RyICJwcm9jZXNzb3MgZGVzIGRlIGwnaW50P3JwcmV0IGQnb3JkcmVzLiIKCiN+IG1zZ2lkICJUaGUgY29tbWFuZCBBUkcgaXMgdG8gYmUgcmVhZCBhbmQgZXhlY3V0ZWQgd2hlbiB0aGUgc2hlbGwgcmVjZWl2ZXMiCiN+IG1zZ3N0ciAiTCdvcmRyZSBlc3BlY2lmaWNhZGEgZW4gUEFSQU1FVFJFIHMnaGEgZGUgbGxlZ2lyIGkgZXhlY3V0YXIgcXVhbiIKCiN+IG1zZ2lkICJzaWduYWwocykgU0lHTkFMX1NQRUMuICBJZiBBUkcgaXMgYWJzZW50IGFsbCBzcGVjaWZpZWQgc2lnbmFscyBhcmUiCiN+IG1zZ3N0ciAibCdpbnQ/cnByZXQgZCdvcmRyZXMgcmVwIGFsZ3VuYSBzZW55YWwgZGUgU0lHTkFMX1NQRUMuICBTaSBzJ29tZXQiCgojfiBtc2dpZCAicmVzZXQgdG8gdGhlaXIgb3JpZ2luYWwgdmFsdWVzLiAgSWYgQVJHIGlzIHRoZSBudWxsIHN0cmluZyBlYWNoIgojfiBtc2dzdHIgIlBBUkFNRVRSRSBzJ2luaWNpYWxpdHplbiB0b3RlcyBsZXMgc2VueWFscyBlc3BlY2lmaWNhZGVzIGFscyBzZXVzIgoKI34gbXNnaWQgIlNJR05BTF9TUEVDIGlzIGlnbm9yZWQgYnkgdGhlIHNoZWxsIGFuZCBieSB0aGUgY29tbWFuZHMgaXQgaW52b2tlcy4iCiN+IG1zZ3N0ciAiY29ycmVzcG9uZW50cyB2YWxvcnMgb3JpZ2luYWxzICBTaSBlbCBQQVJBTUVUUkUgP3MgdW5hIGNhZGVuYSBidWlkYSIKCiN+IG1zZ2lkICJJZiBTSUdOQUxfU1BFQyBpcyBFWElUICgwKSB0aGUgY29tbWFuZCBBUkcgaXMgZXhlY3V0ZWQgb24gZXhpdCBmcm9tIgojfiBtc2dzdHIgIiIKI34gImwnaW50P3JwcmV0LCBpIGxlcyBvcmRyZXMgcXVlIGVscyBpbnZvcXVlbiwgaWdub3JlbiBjYWRhIFNJR05BTF9TUEVDLiIKCiN+IG1zZ2lkICJ0aGUgc2hlbGwuICBJZiBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGFmdGVyIGV2ZXJ5IgojfiBtc2dzdHIgIlNpIHMnZXNwZWNpZmljYSBTSUdOQUxfU1BFQyBjb20gRVhJVCgwKSwgcydleGVjdXRhIGwnb3JkcmUiCgojfiBtc2dpZCAiY29tbWFuZC4gIElmIEFSRyBpcyBgLXAnIHRoZW4gdGhlIHRyYXAgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIgojfiBtc2dzdHIgIiIKI34gImVzcGVjaWZpY2FkYSBlbiBQQVJBTUVUUkUgZGVzcHI/cyBkZSBsYSBmaW5hbGl0emFjaT8gZGUgbGEgc2Vzc2k/IGRlXG4iCiN+ICJsJ2ludD9ycHJldCBkJ29yZHJlcy4gIFNpIHMnZXNwZWNpZmljYSBERUJVRyBlbiBTSUdOQUxfU1BFQywgcydleGVjdXRhIgoKI34gbXNnaWQgImVhY2ggU0lHTkFMX1NQRUMgYXJlIGRpc3BsYXllZC4gIElmIG5vIGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQgb3IgaWYiCiN+IG1zZ3N0ciAiIgojfiAibCdvcmRyZSBlc3BlY2lmaWNhZGEgZW4gUEFSQU1FVFJFIGRlc3ByP3MgZGUgbGEgZmluYWxpdHphY2k/IGRlIGxhXG4iCiN+ICJzZXNzaT8gZGUgbCdpbnQ/cnByZXQgZCdvcmRyZXMuICBTaSBzJ2VzcGVjaWZpY2EgXCItcFwiIGVuIFBBUkFNRVRSRSIKCiN+IG1zZ2lkICJvbmx5IGAtcCcgaXMgZ2l2ZW4sIHRyYXAgcHJpbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmRzIGFzc29jaWF0ZWQgd2l0aCIKI34gbXNnc3RyICIiCiN+ICJhbGVzaG9yZXMgZXMgbW9zdHJlbiBsZXMgb3JkcmVzIGRlID90cmFwPyBhc3NvY2lhZGVzIGFtYiBjYWRhc2N1bmEgZGVcbiIKI34gImxlcyBlc3BlY2lmaWNhY2lvbnMgZGVsIFNFTllBTC4gIFNpIG5vIHMnZXNwZWNpZmljYSBjYXAgcGFyP21ldHJlLCIKCiN+IG1zZ2lkICIiCiN+ICJlYWNoIHNpZ25hbCBudW1iZXIuICBTSUdOQUxfU1BFQyBpcyBlaXRoZXIgYSBzaWduYWwgbmFtZSBpbiA8c2lnbmFsLmg+IgojfiBtc2dzdHIgIiIKI34gIj90cmFwPyBtb3N0cmEgdW5hIGxsaXN0YSBkJ29yZHJlcyBhc3NvY2lhZGVzIGFtYiBjYWRhc2N1biBkZWxzIG4/bWVyb3NcbiIKI34gImRlIHNlbnlhbC4gIEwnZXNwZWNpZmljYWNpPyBkZWwgU0VOWUFMIHBvdCBzZXIgYj8gdW4gbm9tIGRlIHNlbnlhbCIKCiN+IG1zZ2lkICIiCiN+ICJvciBhIHNpZ25hbCBudW1iZXIuICBgdHJhcCAtbCcgcHJpbnRzIGEgbGlzdCBvZiBzaWduYWwgbmFtZXMgYW5kIHRoZWlyIgojfiBtc2dzdHIgIiIKI34gImVzcGVjaWZpY2F0IGVuIDxzaWduYWwuaD4sIGI/IHRpbmRyZSB1biB2YWxvciBudW0/cmljLiAgTCdvcmRyZSA/dHJhcFxuIgojfiAiLWw/IG1vc3RyYSB1bmEgbGxpc3RhIGRlbHMgbm9tcyBkZSBzZW55YWwgaSBlbHMgc2V1cyBjb3JyZXNwb25lbnRzIgoKI34gbXNnaWQgImNvcnJlc3BvbmRpbmcgbnVtYmVycy4gIE5vdGUgdGhhdCBhIHNpZ25hbCBjYW4gYmUgc2VudCB0byB0aGUgc2hlbGwiCiN+IG1zZ3N0ciAibj9tZXJvcy4gIE9ic2VydmV1IHF1ZSB1bmEgc2VueWFsIHBvdCBzZXIgbGxpdXJhZGEgYSBsJ2ludD9ycHJldCIKCiN+IG1zZ2lkICJ3aXRoIFwia2lsbCAtc2lnbmFsICQkXCIuIgojfiBtc2dzdHIgImQnb3JkcmVzIGFtYiA/a2lsbCAtc2lnbmFsICQkPy4iCgojfiBtc2dpZCAiRm9yIGVhY2ggTkFNRSwgaW5kaWNhdGUgaG93IGl0IHdvdWxkIGJlIGludGVycHJldGVkIGlmIHVzZWQgYXMgYSIKI34gbXNnc3RyICIiCiN+ICJQZXIgYSBjYWRhIE5PTSwgaW5kaWNhIGNvbSBzJ2hhdXJpYSBkJ2ludGVycHJldGFyIHNpIGVzIGZhIHNlcnZpciBjb20gIgoKI34gbXNnaWQgIklmIHRoZSAtdCBvcHRpb24gaXMgdXNlZCwgcmV0dXJucyBhIHNpbmdsZSB3b3JkIHdoaWNoIGlzIG9uZSBvZiIKI34gbXNnc3RyICIiCiN+ICJTaSBlcyBmYSBzZXJ2aXIgbCdvcGNpPyBcIi10XCIsIHJldG9ybmEgdW5hIHBhcmF1bGEgP25pY2EgcXVlIHBvdCBzZXIiCgojfiBtc2dpZCAiIgojfiAiYGFsaWFzJywgYGtleXdvcmQnLCBgZnVuY3Rpb24nLCBgYnVpbHRpbicsIGBmaWxlJyBvciBgJywgaWYgTkFNRSBpcyBhbiIKI34gbXNnc3RyICIiCiN+ICJcImFsaWFzXCIsIFwia2V5d29yZFwiLCBcImZ1bmN0aW9uXCIsIFwiYnVpbHRpblwiLCBcImZpbGVcIiBvIFwiXCIsIHNpIHVuICIKI34gIk5PTSA/cyIKCiN+IG1zZ2lkICIiCiN+ICJhbGlhcywgc2hlbGwgcmVzZXJ2ZWQgd29yZCwgc2hlbGwgZnVuY3Rpb24sIHNoZWxsIGJ1aWx0aW4sIGRpc2sgZmlsZSwiCiN+IG1zZ3N0ciAiIgojfiAidW4gP2xpZXMsIHVuYSBwYXJhdWxhIHJlc2VydmFkYSwgdW5hIGZ1bmNpPywgdW5hIG9yZHJlIGludGVncmFkYSwgdW4iCgojfiBtc2dpZCAib3IgdW5mb3VuZCwgcmVzcGVjdGl2ZWx5LiIKI34gbXNnc3RyICJmaXR4ZXIgZGVsIGRpc2MgbyBubyB0cm9iYXQsIHJlc3BlY3RpdmFtZW50LiIKCiN+IG1zZ2lkICJJZiB0aGUgLXAgZmxhZyBpcyB1c2VkLCBlaXRoZXIgcmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgZGlzayBmaWxlIgojfiBtc2dzdHIgIiIKI34gIlNpIGVzIGZhIHNlcnZpciBsJ29wY2k/IFwiLXBcIiwgbyBiPyByZXRvcm5hIGVsIG5vbSBkZWwgZml0eGVyIGRlbCBkaXNjIgoKI34gbXNnaWQgInRoYXQgd291bGQgYmUgZXhlY3V0ZWQsIG9yIG5vdGhpbmcgaWYgLXQgd291bGQgbm90IHJldHVybiBgZmlsZScuIgojfiBtc2dzdHIgIiIKI34gInF1ZSBlcyBwb2RyaWEgZXhlY3V0YXIsIG8gYj8gbm8gcmV0b3JuYSByZXMgc2kgbCdvcGNpPyBcIi10XCIgbm9cbiIKI34gInJldG9ybmFyYSBcImZpbGVcIi4iCgojfiBtc2dpZCAiSWYgdGhlIC1hIGZsYWcgaXMgdXNlZCwgZGlzcGxheXMgYWxsIG9mIHRoZSBwbGFjZXMgdGhhdCBjb250YWluIGFuIgojfiBtc2dzdHIgIiIKI34gIlNpIGVzIGZhIHNlcnZpciBlbCBzZW55YWxhZG9yIFwiLWFcIiwgbW9zdHJhIHRvdGVzIGxlcyB1YmljYWNpb25zIHF1ZSIKCiN+IG1zZ2lkICIiCiN+ICJleGVjdXRhYmxlIG5hbWVkIGBmaWxlJy4gIFRoaXMgaW5jbHVkZXMgYWxpYXNlcyBhbmQgZnVuY3Rpb25zLCBpZiBhbmQiCiN+IG1zZ3N0ciAiIgojfiAiY29udGVuZW4gdW4gZXhlY3V0YWJsZSBhbm9tZW5hdCBcImZpbGVcIi4gIEFpeD8gaW5jbG91IHBlciBhID9saWVzIGkiCgojfiBtc2dpZCAib25seSBpZiB0aGUgLXAgZmxhZyBpcyBub3QgYWxzbyB1c2VkLiIKI34gbXNnc3RyICIiCiN+ICJmdW5jaW9ucyBzaSwgaSBub20/cyBzaSwgZWwgc2VueWFsYWRvciBcIi1wXCIgdGFtcG9jIG5vIGVzIGZhIHNlcnZpci4iCgojfiBtc2dpZCAiVHlwZSBhY2NlcHRzIC1hbGwsIC1wYXRoLCBhbmQgLXR5cGUgaW4gcGxhY2Ugb2YgLWEsIC1wLCBhbmQgLXQsIgojfiBtc2dzdHIgIiIKI34gIkwnb3JkcmUgaW50ZWdyYWRhID90eXBlPyBhY2NlcHRhIHF1ZSBzJ2VzcGVjaWZpcXVlIFwiLWFsbFwiLCBcIi1wYXRoXCIsIGkiCgojfiBtc2dpZCAicmVzcGVjdGl2ZWx5LiIKI34gbXNnc3RyICIiCiN+ICJcIi10eXBlXCIsIHBlciBhIGxlcyBvcGNpb25zIGRlIFwiLWFcIiwgXCItcFwiLCBpIFwiLXRcIiwgcmVzcGVjdGl2YW1lbnQuIgoKI34gbXNnaWQgIlVsaW1pdCBwcm92aWRlcyBjb250cm9sIG92ZXIgdGhlIHJlc291cmNlcyBhdmFpbGFibGUgdG8gcHJvY2Vzc2VzIgojfiBtc2dzdHIgIkwnb3JkcmUgaW50ZWdyYWRhID91bGltaXQ/IGluY2xvdSBlbCBjb250cm9sIHNvYnJlIGVscyByZWN1cnNvcyIKCiN+IG1zZ2lkICJzdGFydGVkIGJ5IHRoZSBzaGVsbCwgb24gc3lzdGVtcyB0aGF0IGFsbG93IHN1Y2ggY29udHJvbC4gIElmIGFuIgojfiBtc2dzdHIgImRpc3BvbmlibGVzIGFscyBwcm9jZXNzb3MgaW5pY2lhdHMgcGVyIGwnaW50P3JwcmV0LCBlbiBzaXN0ZW1lcyBxdWUiCgojfiBtc2dpZCAib3B0aW9uIGlzIGdpdmVuLCBpdCBpcyBpbnRlcnByZXRlZCBhcyBmb2xsb3dzOiIKI34gbXNnc3RyICIiCiN+ICJobyBwZXJtZXRlbi4gIFNpIHMnZXNwZWNpZmljYSB1bmEgb3BjaT8sIHNlcj8gZXNwZWNpZmljYWRhIGNvbVxuIgojfiAic2VndWVpeDoiCgojfiBtc2dpZCAiICAgIC1TXHR1c2UgdGhlIGBzb2Z0JyByZXNvdXJjZSBsaW1pdCIKI34gbXNnc3RyICIgICAgLVNcdHV0aWxpdHphIGVsIGw/bWl0IGRlbHMgcmVjdXJzb3MgbD9naWNzIgoKI34gbXNnaWQgIiAgICAtSFx0dXNlIHRoZSBgaGFyZCcgcmVzb3VyY2UgbGltaXQiCiN+IG1zZ3N0ciAiICAgIC1IXHR1dGlsaXR6YSBlbCBsP21pdCBkZWxzIHJlY3Vyc29zIGRlIG1hcXVpbmFyaSIKCiN+IG1zZ2lkICIgICAgLWFcdGFsbCBjdXJyZW50IGxpbWl0cyBhcmUgcmVwb3J0ZWQiCiN+IG1zZ3N0ciAiICAgIC1hXHRtb3N0cmEgdG90cyBlbHMgbD9taXRzIGFjdHVhbHMiCgojfiBtc2dpZCAiICAgIC1jXHR0aGUgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZCIKI34gbXNnc3RyICIiCiN+ICIgICAgLWNcdGxpbWl0YSBsYSBncmFuZD9yaWEgbT94aW1hIGRlbHMgZml0eGVycyBkZSBib2xjYXQgZGUgbWVtP3JpYSIKCiN+IG1zZ2lkICIgICAgLWRcdHRoZSBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50IgojfiBtc2dzdHIgIiAgICAtZFx0bGltaXRhIGxhIGdyYW5kP3JpYSBtP3hpbWEgZCd1biBzZWdtZW50IGRlIHByb2M/cyBkZSBkYWRlcyIKCiN+IG1zZ2lkICIgICAgLW1cdHRoZSBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplIgojfiBtc2dzdHIgIiAgICAtbVx0bGltaXRhIGxhIGdyYW5kP3JpYSBtP3hpbWEgZCd1bmEgdmFyaWFibGUgcmVzaWRlbnQiCgojfiBtc2dpZCAiICAgIC1zXHR0aGUgbWF4aW11bSBzdGFjayBzaXplIgojfiBtc2dzdHIgIiAgICAtc1x0bGltaXRhIGxhIGdyYW5kP3JpYSBtP3hpbWEgZGUgbGEgcGlsYSIKCiN+IG1zZ2lkICIgICAgLXRcdHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjcHUgdGltZSBpbiBzZWNvbmRzIgojfiBtc2dzdHIgIiAgICAtdFx0bGltaXRhIGVsIHRlbXBzIG0/eGltIGQnYW4/bGlzaSBwZXIgbGEgVUNQIGVuIHNlZ29ucyIKCiN+IG1zZ2lkICIgICAgLWZcdHRoZSBtYXhpbXVtIHNpemUgb2YgZmlsZXMgY3JlYXRlZCBieSB0aGUgc2hlbGwiCiN+IG1zZ3N0ciAiICAgIC1mXHRsaW1pdGEgbGEgZ3JhbmQ/cmlhIGQndW4gZml0eGVyIGNyZWF0IHBlciBsJ2ludD9ycHJldCIKCiN+IG1zZ2lkICIgICAgLXBcdHRoZSBwaXBlIGJ1ZmZlciBzaXplIgojfiBtc2dzdHIgIiAgICAtcFx0bGltaXRhIGxhIGdyYW5kP3JpYSBkZSBsYSBtZW0/cmlhIGludGVybT9kaWEgZCd1biBjb25kdWN0ZSIKCiN+IG1zZ2lkICIgICAgLW5cdHRoZSBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGUgZGVzY3JpcHRvcnMiCiN+IG1zZ3N0ciAiICAgIC1uXHRsaW1pdGEgZWwgbm9tYnJlIG0/eGltIHV0aWxpdHphYmxlIGRlIGRlc2NyaXB0b3JzIGRlIGZpdHhlciIKCiN+IG1zZ2lkICIgICAgLXVcdHRoZSBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3NlcyIKI34gbXNnc3RyICIgICAgLXVcdGxpbWl0YSBlbCBub21icmUgbT94aW0gZGUgcHJvY2Vzc29zIHBlciB1c3VhcmkiCgojfiBtc2dpZCAiICAgIC12XHR0aGUgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeSIKI34gbXNnc3RyICIgICAgLXZcdGxpbWl0YSBsYSBncmFuZD9yaWEgZGUgbGEgbWVtP3JpYSB2aXJ0dWFsIgoKI34gbXNnaWQgIklmIExJTUlUIGlzIGdpdmVuLCBpdCBpcyB0aGUgbmV3IHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UuIgojfiBtc2dzdHIgIlNpIHMnZXNwZWNpZmljYSBMSU1JVCwgYXF1ZXN0IHNlcj8gZWwgbm91IHZhbG9yIGRlbCByZWN1cnMgIgoKI34gbXNnaWQgIk90aGVyd2lzZSwgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCByZXNvdXJjZSBpcyBwcmludGVkLiIKI34gbXNnc3RyICJlc3BlY2lmaWNhdC4gIEFsdHJhbWVudCwgbW9zdHJhIGVsIHZhbG9yIGFjdHVhbCBkZWwgcmVjdXJzIgoKI34gbXNnaWQgIklmIG5vIG9wdGlvbiBpcyBnaXZlbiwgdGhlbiAtZiBpcyBhc3N1bWVkLiAgVmFsdWVzIGFyZSBpbiAxayIKI34gbXNnc3RyICJlc3BlY2lmaWNhdC4gIFNpIG5vIHMnZXNwZWNpZmljYSBjYXAgb3BjaT8sIGFsZXNob3JlcyBzJ2Fzc3VtZWl4IgoKI34gbXNnaWQgImluY3JlbWVudHMsIGV4Y2VwdCBmb3IgLXQsIHdoaWNoIGlzIGluIHNlY29uZHMsIC1wLCB3aGljaCBpcyBpbiIKI34gbXNnc3RyICIiCiN+ICJsJ29wY2k/IFwiLWZcIi4gIEVscyB2YWxvcnMgcydlc3BlY2lmaXF1ZW4gZW4gaW5jcmVtZW50cyBkZSAxaywgdHJldCBkZWwiCgojfiBtc2dpZCAiaW5jcmVtZW50cyBvZiA1MTIgYnl0ZXMsIGFuZCAtdSwgd2hpY2ggaXMgYW4gdW5zY2FsZWQgbnVtYmVyIG9mIgojfiBtc2dzdHIgIiIKI34gImNhcyBkZSBsJ29wY2k/IFwiLXRcIiwgcXVlIGVzIGVuIHNlZ29ucywgZGUgbCdvcGNpPyBcIi1wXCIsIHF1ZSBlcyB0cmFjdGEiCgojfiBtc2dpZCAicHJvY2Vzc2VzLiIKI34gbXNnc3RyICIiCiN+ICJkJ2luY3JlbWVudHMgZGUgNTEyIG9jdGV0cywgaSBkZSBsJ29wY2k/IFwiLXVcIiwgcXVlID9zIHVuIHJlY29tcHRlXG4iCiN+ICJudW0/cmljIGRlIHByb2Nlc3Nvcy4iCgojfiBtc2dpZCAiIgojfiAiVGhlIHVzZXIgZmlsZS1jcmVhdGlvbiBtYXNrIGlzIHNldCB0byBNT0RFLiAgSWYgTU9ERSBpcyBvbWl0dGVkLCBvciBpZiIKI34gbXNnc3RyICIiCiN+ICJMYSBtP3NjYXJhIGRlbHMgbW9kZXMgZCdhY2M/cyBkdXJhbnQgbGEgY3JlYWNpPyBkJ3VuIGZpdHhlciA/cyBNT0RFLiIKCiN+IG1zZ2lkICIiCiN+ICJgLVMnIGlzIHN1cHBsaWVkLCB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgbWFzayBpcyBwcmludGVkLiAgVGhlIGAtUyciCiN+IG1zZ3N0ciAiIgojfiAiU2kgcydvbWV0IE1PREUsIG8gc2kgcydlc3BlY2lmaWNhIGwnb3BjaT8gXCItU1wiLCBlcyBtb3N0cmEgZWwgdmFsb3IiCgojfiBtc2dpZCAiIgojfiAib3B0aW9uIG1ha2VzIHRoZSBvdXRwdXQgc3ltYm9saWM7IG90aGVyd2lzZSBhbiBvY3RhbCBudW1iZXIgaXMgb3V0cHV0LiIKI34gbXNnc3RyICIiCiN+ICJhY3R1YWwgZGUgbGEgbT9zY2FyYS4gIEFtYiBsJ29wY2k/IFwiLVNcIiBlcyBtb3N0cmEgZGUgbWFuZXJhIHNpbWI/bGljYTsiCgojfiBtc2dpZCAiSWYgTU9ERSBiZWdpbnMgd2l0aCBhIGRpZ2l0LCBpdCBpcyBpbnRlcnByZXRlZCBhcyBhbiBvY3RhbCBudW1iZXIsIgojfiBtc2dzdHIgIiIKI34gImQnYWx0cmEgbWFuZXJhIGwnZWl4aWRhIGRlIGRhZGVzID9zIG4/bWVyb3Mgb2N0YWxzLiAgU2kgTU9ERSBjb21lbj9hIgoKI34gbXNnaWQgIiIKI34gIm90aGVyd2lzZSBpdCBpcyBhIHN5bWJvbGljIG1vZGUgc3RyaW5nIGxpa2UgdGhhdCBhY2NlcHRlZCBieSBjaG1vZCgxKS4iCiN+IG1zZ3N0ciAiIgojfiAicGVyIHVuIGQ/Z2l0LCBhcXVlc3Qgc2VyPyBpbnRlcnByZXRhdCBjb20gdW4gbj9tZXJvIG9jdGFsLCBhbHRyYW1lbnQiCgojfiBtc2dpZCAiIgojfiAiV2FpdCBmb3IgdGhlIHNwZWNpZmllZCBwcm9jZXNzIGFuZCByZXBvcnQgaXRzIHRlcm1pbmF0aW9uIHN0YXR1cy4gIElmIgojfiBtc2dzdHIgInMnYWNjZXB0ZW4gZWxzIHZhbG9ycyBzaW1iP2xpY3MgZGUgP2NobW9kPyAodmV1cmUgP21hbj8sIHNlY2NpPyAxKS4iCgojfiBtc2dpZCAiTiBpcyBub3QgZ2l2ZW4sIGFsbCBjdXJyZW50bHkgYWN0aXZlIGNoaWxkIHByb2Nlc3NlcyBhcmUgd2FpdGVkIGZvciwiCiN+IG1zZ3N0ciAiRXNwZXJhIGxhIGZpIGQnZXhlY3VjaT8gZCd1biBwcm9jP3MgZXNwZWNpZmljYXQgaSBpbmZvcm1hIGVsIHNldSIKCiN+IG1zZ2lkICJhbmQgdGhlIHJldHVybiBjb2RlIGlzIHplcm8uICBOIG1heSBiZSBhIHByb2Nlc3MgSUQgb3IgYSBqb2IiCiN+IG1zZ3N0ciAiIgojfiAiZXN0YXQgZGUgZmkgZCdleGVjdWNpPy4gIFNpIG5vIHMnZXNwZWNpZmljYSBOLCBzJ2VzcGVyYSBwZXIgdG90cyBlbHMiCgojfiBtc2dpZCAic3BlY2lmaWNhdGlvbjsgaWYgYSBqb2Igc3BlYyBpcyBnaXZlbiwgYWxsIHByb2Nlc3NlcyBpbiB0aGUgam9iJ3MiCiN+IG1zZ3N0ciAiIgojfiAicHJvY2Vzc29zIGZpbGxzIGFjdHVhbHMsIGkgZWwgY29kaSBkZSByZXRvcm4gP3MgemVyby4gIExhIHZhcmlhYmxlIE4iCgojfiBtc2dpZCAicGlwZWxpbmUgYXJlIHdhaXRlZCBmb3IuIgojfiBtc2dzdHIgIiIKI34gInBvdCBzZXIgdW4gSURlbnRpZmljYWRvciBkZSBwcm9jP3MgbyBsJ2VzcGVjaWZpY2FjaT8gZCd1bmEgdGFzY2E7IHNpXG4iCiN+ICJzJ2VzcGVjaWZpY2EgdW5hIGVzcGVjaWZpY2FjaT8gZGUgdGFzY2EsIHMnZXNwZXJlbiBwZXIgdG90cyBlbHNcbiIKI34gInByb2Nlc3NvcyBkZWxzIGNvbmR1Y3Rlcy4iCgojfiBtc2dpZCAiYW5kIHRoZSByZXR1cm4gY29kZSBpcyB6ZXJvLiAgTiBpcyBhIHByb2Nlc3MgSUQ7IGlmIGl0IGlzIG5vdCBnaXZlbiwiCiN+IG1zZ3N0ciAiaSBlbCBjb2RpIGRlIHJldG9ybiA/cyB6ZXJvLiAgRWwgcGFyP21ldHJlIE4gP3MgdW4gSURlbnRpZmljYWRvciBkZSIKCiN+IG1zZ2lkICJhbGwgY2hpbGQgcHJvY2Vzc2VzIG9mIHRoZSBzaGVsbCBhcmUgd2FpdGVkIGZvci4iCiN+IG1zZ3N0ciAiIgojfiAicHJvYz9zOyBzaSBhcXVlc3Qgbm8gcydoaSBlc3BlY2lmaWNhLCBzJ2VzcGVyYSBwZXIgdG90cyBlbHMgcHJvY2Vzc29zXG4iCiN+ICJmaWxscyBkZSBsJ2ludD9ycHJldCBkJ29yZHJlcy4iCgojfiBtc2dpZCAiVGhlIGBmb3InIGxvb3AgZXhlY3V0ZXMgYSBzZXF1ZW5jZSBvZiBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSIKI34gbXNnc3RyICIiCiN+ICJMJ29yZHJlIGRlIHJlcGV0aWNpPyA/Zm9yPyBleGVjdXRhIHVuYSBzZXE/P25jaWEgZCdvcmRyZXMgcGVyIGEgY2FkYSIKCiN+IG1zZ2lkICIiCiN+ICJsaXN0IG9mIGl0ZW1zLiAgSWYgYGluIFdPUkRTIC4uLjsnIGlzIG5vdCBwcmVzZW50LCB0aGVuIGBpbiBcIiRAXCInIGlzIgojfiBtc2dzdHIgIiIKI34gIml0ZW0gZGUgbGEgbGxpc3RhLiAgU2kgbm8gcydlc3BlY2lmaWNhIGwnZXhwcmVzc2k/IFwiaW4gV09SRFMuLi47XCIsIgoKI34gbXNnaWQgIiIKI34gImFzc3VtZWQuICBGb3IgZWFjaCBlbGVtZW50IGluIFdPUkRTLCBOQU1FIGlzIHNldCB0byB0aGF0IGVsZW1lbnQsIGFuZCIKI34gbXNnc3RyICIiCiN+ICJhbGVzaG9yZXMgZXMgZmEgc2VydmlyIGVsIGNvbnRpbmd1dCBkZSBcIiRAXCIuICBQZXIgYSBjYWRhIGVsZW1lbnQgcXVlIgoKI34gbXNnaWQgInRoZSBDT01NQU5EUyBhcmUgZXhlY3V0ZWQuIgojfiBtc2dzdHIgIiIKI34gImhpIGhhIGVuIFBBUkFVTEVTLCBzJ2luaWNpYWxpdHphIE5PTSBhIGFxdWVzdCBlbGVtZW50LCBpIHMnZXhlY3V0ZW5cbiIKI34gImxlcyBPUkRSRVMuIgoKI34gbXNnaWQgIlRoZSBXT1JEUyBhcmUgZXhwYW5kZWQsIGdlbmVyYXRpbmcgYSBsaXN0IG9mIHdvcmRzLiAgVGhlIgojfiBtc2dzdHIgIlMnZXhwYW5kZWl4IGxlcyBQQVJBVUxFUywgZ2VuZXJhbnQtc2UgdW5hIGxsaXN0YSBkZSBwYXJhdWxlcy4gIEVzIgoKI34gbXNnaWQgInNldCBvZiBleHBhbmRlZCB3b3JkcyBpcyBwcmludGVkIG9uIHRoZSBzdGFuZGFyZCBlcnJvciwgZWFjaCIKI34gbXNnc3RyICJtb3N0cmEgZWwgY29uanVudCBkZSBsZXMgcGFyYXVsZXMgZXhwYW5kaWRlcyBwZXIgbCdlaXhpZGEgZCdlcnJvciIKCiN+IG1zZ2lkICJwcmVjZWRlZCBieSBhIG51bWJlci4gIElmIGBpbiBXT1JEUycgaXMgbm90IHByZXNlbnQsIGBpbiBcIiRAXCInIgojfiBtc2dzdHIgIiIKI34gImVzdD9uZGFyZCwgcHJlY2VkaXQgZCd1biBuP21lcm8uICBTaSBubyBzJ2VzcGVjaWZpY2EgbCdleHByZXNzaT8gXCJpbiIKCiN+IG1zZ2lkICJpcyBhc3N1bWVkLiAgVGhlIFBTMyBwcm9tcHQgaXMgdGhlbiBkaXNwbGF5ZWQgYW5kIGEgbGluZSByZWFkIgojfiBtc2dzdHIgIldPUkRTXCIsIGVzIGZhIHNlcnZpciBlbCBjb250aW5ndXQgZGUgXCIkQFwiLiAgQWxlc2hvcmVzIHMnZXhoaWJlaXgiCgojfiBtc2dpZCAiZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQuICBJZiB0aGUgbGluZSBjb25zaXN0cyBvZiB0aGUgbnVtYmVyIgojfiBtc2dzdHIgImwnaW5kaWNhZG9yIGRlIFBTMyBpIGVzIGxsZWdlaXggbGEgbD9uaWEgZGVzIGRlIGwnZW50cmFkYSBkZSBkYWRlcyIKCiN+IG1zZ2lkICJjb3JyZXNwb25kaW5nIHRvIG9uZSBvZiB0aGUgZGlzcGxheWVkIHdvcmRzLCB0aGVuIE5BTUUgaXMgc2V0IgojfiBtc2dzdHIgIiIKI34gImVzdD9uZGFyZC4gIFNpIGxhIGw/bmlhIGNvbnNpc3RlaXggZCd1biBuP21lcm8gY29ycmVzcG9uZW50IGEgdW5hIGRlIgoKI34gbXNnaWQgInRvIHRoYXQgd29yZC4gIElmIHRoZSBsaW5lIGlzIGVtcHR5LCBXT1JEUyBhbmQgdGhlIHByb21wdCBhcmUiCiN+IG1zZ3N0ciAibGVzIHBhcmF1bGVzIGV4aGliaWRlcywgYWxlc2hvcmVzIGVsIHZhbG9yIGRlIGxhIHZhcmlhYmxlIE5PTSIKCiN+IG1zZ2lkICJyZWRpc3BsYXllZC4gIElmIEVPRiBpcyByZWFkLCB0aGUgY29tbWFuZCBjb21wbGV0ZXMuICBBbnkgb3RoZXIiCiN+IG1zZ3N0ciAiIgojfiAicydpbmljaWFsaXR6YSBhbWIgYXF1ZXN0YSBwYXJhdWxhLiAgU2kgbGEgbD9uaWEgP3MgYnVpZGEsIGxhIHZhcmlhYmxlIgoKI34gbXNnaWQgInZhbHVlIHJlYWQgY2F1c2VzIE5BTUUgdG8gYmUgc2V0IHRvIG51bGwuICBUaGUgbGluZSByZWFkIGlzIHNhdmVkIgojfiBtc2dzdHIgIiIKI34gIlBBUkFVTEVTIGkgbCdpbmRpY2Fkb3IgcydleGhpYmVpeGVuIHVuYSBhbHRyYSB2ZWdhZGEuICBTaSBlcyBkZXRlY3RhIgoKI34gbXNnaWQgImluIHRoZSB2YXJpYWJsZSBSRVBMWS4gIENPTU1BTkRTIGFyZSBleGVjdXRlZCBhZnRlciBlYWNoIHNlbGVjdGlvbiIKI34gbXNnc3RyICIiCiN+ICJ1biBsYSBmaSBkZWwgZml0eGVyIChFT0YpLCBsJ29yZHJlIHRlcm1pbmEuICBTaSBlcyBsbGVnZWl4IHF1YWxzZXZvbCIKCiN+IG1zZ2lkICJ1bnRpbCBhIGJyZWFrIG9yIHJldHVybiBjb21tYW5kIGlzIGV4ZWN1dGVkLiIKI34gbXNnc3RyICIiCiN+ICJhbHRyZSB2YWxvciwgcydpbmljaWFsaXR6YXI/IGVsIHZhbG9yIGRlIE5PTSBjb20gbnVsLiAgTGEgbD9uaWFcbiIKI34gImxsZWdpZGEgcydhbD9hIGVuIGxhIHZhcmlhYmxlIFJFUExZLiAgTGVzIG9yZHJlcyBhbD9hZGVzIGVuIGVsXG4iCiN+ICJwYXI/bWV0cmUgT1JEUkVTIHMnZXhlY3V0YSBkZXNwcj9zIGRlIGNhZGEgc2VsZWNjaT8gZmlucyBxdWUgcydleGVjdXRlXG4iCiN+ICJ1bmEgb3JkcmUgZGUgP2JyZWFrPyBvID9yZXR1cm4/LiIKCiN+IG1zZ2lkICJgfCcgaXMgdXNlZCB0byBzZXBhcmF0ZSBtdWx0aXBsZSBwYXR0ZXJucy4iCiN+IG1zZ3N0ciAiIgojfiAiY29uY29yZD9uY2lhIGRlbCB2YWxvciBlbiBQQVJBVUxBIGFtYiBkZWwgdmFsb3IgZW4gUEFUUk8uICBFcyBmYVxuIgojfiAic2VydmlyIGVsIHNpZ25lIFwifFwiIHBlciBhIHNlcGFyYXIgbT9sdGlwbGVzIHBhdHJvbnMuIgoKI34gbXNnaWQgIiIKI34gIlRoZSBpZiBDT01NQU5EUyBhcmUgZXhlY3V0ZWQuICBJZiB0aGUgZXhpdCBzdGF0dXMgaXMgemVybywgdGhlbiB0aGUgdGhlbiIKI34gbXNnc3RyICJTJ2V4ZWN1dGVuIGVscyBPUkRSRVMgP2lmPy4gIFNpIGwnZXN0YXQgZCdlaXhpZGEgP3MgemVybywgYWxlc2hvcmVzIgoKI34gbXNnaWQgIiIKI34gIkNPTU1BTkRTIGFyZSBleGVjdXRlZC4gIE90aGVyd2lzZSwgZWFjaCBvZiB0aGUgZWxpZiBDT01NQU5EUyBhcmUgZXhlY3V0ZWQiCiN+IG1zZ3N0ciAiIgojfiAicydleGVjdXRlbiBsZXMgT1JEUkVTID90aGVuPy4gIEFsdHJhbWVudCwgcydleGVjdXRlbiBjYWRhc2N1biBkZSBsZXMiCgojfiBtc2dpZCAiIgojfiAiaW4gdHVybiwgYW5kIGlmIHRoZSBleGl0IHN0YXR1cyBpcyB6ZXJvLCB0aGUgY29ycmVzcG9uZGluZyB0aGVuIENPTU1BTkRTIgojfiBtc2dzdHIgIk9SRFJFUyBkZSA/ZWxpZj8sIGkgc2kgbCdlc3RhdCBkJ2VpeGlkYSA/cyB6ZXJvLCBsZXMgY29ycmVzcG9uZW50cyIKCiN+IG1zZ2lkICIiCiN+ICJhcmUgZXhlY3V0ZWQgYW5kIHRoZSBpZiBjb21tYW5kIGNvbXBsZXRlcy4gIE90aGVyd2lzZSwgdGhlIGVsc2UgQ09NTUFORFMiCiN+IG1zZ3N0ciAiT1JEUkVTIGRlID9lbHNlPyBzJ2V4ZWN1dGVuLCBzaSBuJ2hpIGhhbi4gIEwnZXN0YXQgZCdlaXhpZGEgP3MgZWwiCgojfiBtc2dpZCAiIgojfiAiYXJlIGV4ZWN1dGVkLCBpZiBwcmVzZW50LiAgVGhlIGV4aXQgc3RhdHVzIGlzIHRoZSBleGl0IHN0YXR1cyBvZiB0aGUgbGFzdCIKI34gbXNnc3RyICJjb3JyZXNwb25lbnQgZGUgbGEgZGFycmVyYSBvcmRyZSBleGVjdXRhZGEsIG8gemVybyBzaSBubyBoaSBoYSBjYXAiCgojfiBtc2dpZCAiY29tbWFuZCBleGVjdXRlZCwgb3IgemVybyBpZiBubyBjb25kaXRpb24gdGVzdGVkIHRydWUuIgojfiBtc2dzdHIgImNvbmRpY2k/IHJlc29sdGEgY29tIGEgY2VydGEuIgoKI34gbXNnaWQgImB3aGlsZScgQ09NTUFORFMgaGFzIGFuIGV4aXQgc3RhdHVzIG9mIHplcm8uIgojfiBtc2dzdHIgImRlIGxhIGluc3RydWNjaT8gP3doaWxlPyB0aW5nYSB1biBlc3RhdCBkJ2VpeGlkYSBpZ3VhbCBhIHplcm8uIgoKI34gbXNnaWQgImB1bnRpbCcgQ09NTUFORFMgaGFzIGFuIGV4aXQgc3RhdHVzIHdoaWNoIGlzIG5vdCB6ZXJvLiIKI34gbXNnc3RyICJkZSBsYSBpbnN0cnVjY2k/ID91bnRpbD8gdGluZ2EgdW4gZXN0YXQgZCdlaXhpZGEgcXVlIG5vIHNpZ2EgemVyby4iCgojfiBtc2dpZCAiQ3JlYXRlIGEgc2ltcGxlIGNvbW1hbmQgaW52b2tlZCBieSBOQU1FIHdoaWNoIHJ1bnMgQ09NTUFORFMuIgojfiBtc2dzdHIgIkNyZWEgdW5hIG9yZHJlIHNpbXBsZSBpbnZvY2FkYSBwZWwgTk9NIHF1ZSBleGVjdXRhIE9SRFJFUy4gIEVscyAiCgojfiBtc2dpZCAiQXJndW1lbnRzIG9uIHRoZSBjb21tYW5kIGxpbmUgYWxvbmcgd2l0aCBOQU1FIGFyZSBwYXNzZWQgdG8gdGhlIgojfiBtc2dzdHIgIiIKI34gInBhcj9tZXRyZXMgZXNwZWNpZmljYXRzIGFsIGxsYXJnIGRlIGxhIGw/bmlhIGRlIGwnb3JkcmUgZXMgcGFzc2VuIGEgbGEiCgojfiBtc2dpZCAiZnVuY3Rpb24gYXMgJDAgLi4gJG4uIgojfiBtc2dzdHIgImZ1bmNpPyBjb20gYSAkMCAuLi4gJG4uIgoKI34gbXNnaWQgImVudGlyZSBzZXQgb2YgY29tbWFuZHMuIgojfiBtc2dzdHIgInJlZGlyZWNjaW9uYXIgdW4gY29uanVudCBzZW5jZXIgZCdvcmRyZXMuIgoKI34gbXNnaWQgIlRoaXMgaXMgc2ltaWxhciB0byB0aGUgYGZnJyBjb21tYW5kLiAgUmVzdW1lIGEgc3RvcHBlZCBvciBiYWNrZ3JvdW5kIgojfiBtc2dzdHIgIkE/PyA/cyBzZW1ibGFudCBhbWIgcXU/IHBhc3NhIGFtYiBsJ29yZHJlID9mZz8uICBSZXByP24gdW5hIHRhc2NhICIKCiN+IG1zZ2lkICJqb2IuICBJZiB5b3Ugc3BlY2lmaXkgRElHSVRTLCB0aGVuIHRoYXQgam9iIGlzIHVzZWQuICBJZiB5b3Ugc3BlY2lmeSIKI34gbXNnc3RyICIiCiN+ICJhdHVyYWRhIG8gdWJpY2FkYSBlbiBzZWdvbiBwbGEuICBTaSBlc3BlY2lmaXF1ZXUgRElHSVRTLCBhbGVzaG9yZXMgZXMiCgojfiBtc2dpZCAiIgojfiAiV09SRCwgdGhlbiB0aGUgam9iIHdob3NlIG5hbWUgYmVnaW5zIHdpdGggV09SRCBpcyB1c2VkLiAgRm9sbG93aW5nIHRoZSIKI34gbXNnc3RyICJmYSBzZXJ2aXIgYXF1ZXN0YSB0YXNjYS4gIFNpIGVzcGVjaWZpcXVldSBQQVJBVUxFUywgYWxlc2hvcmVzIGVzIGZhIgoKI34gbXNnaWQgImpvYiBzcGVjaWZpY2F0aW9uIHdpdGggYSBgJicgcGxhY2VzIHRoZSBqb2IgaW4gdGhlIGJhY2tncm91bmQuIgojfiBtc2dzdHIgIiIKI34gInNlcnZpciBsYSB0YXNjYSwgZWwgbm9tIGRlIGxhIHF1YWwgY29tZW5jZSBwZWwgdmFsb3IgZW4gUEFSQVVMQS4gIFNpXG4iCiN+ICJzJ2VzcGVjaWZpY2EgbGEgdGFzY2EgY29tZW4/YW50IHBlbCBzaWduZSBcIiZcIiBzJ3ViaWNhIGxhIHRhc2NhIGVuXG4iCiN+ICJzZWdvbiBwbGEuIgoKI34gbXNnaWQgIkJBU0hfVkVSU0lPTiAgICBUaGUgdmVyc2lvbiBudW1iZXJzIG9mIHRoaXMgQmFzaC4iCiN+IG1zZ3N0ciAiQkFTSF9WRVJTSU9OICAgIENvbnQ/IGxhIHZlcnNpPyBkZSBCYXNoLiIKCiN+IG1zZ2lkICJDRFBBVEggICAgICAgICAgQSBjb2xvbiBzZXBhcmF0ZWQgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2giCiN+IG1zZ3N0ciAiQ0RQQVRIICAgICAgICAgIENvbnQ/IHVuYSBsbGlzdGEgZGUgZGlyZWN0b3Jpcywgc2VwYXJhdHMiCgojfiBtc2dpZCAiXHRcdHdoZW4gdGhlIGFyZ3VtZW50IHRvIGBjZCcgaXMgbm90IGZvdW5kIGluIHRoZSBjdXJyZW50IgojfiBtc2dzdHIgIiIKI34gIiAgICAgICAgICAgICAgICBwZWwgc2lnbmUgZGUgZG9zIHB1bnRzLCBwZXIgYSBjZXJjYXIgcXVhbiBlbCBwYXI/bWV0cmUiCgojfiBtc2dpZCAiXHRcdGRpcmVjdG9yeS4iCiN+IG1zZ3N0ciAiIgojfiAiICAgICAgICAgICAgICAgIGVzcGVjaWZpY2F0IHBlciBhIGwnb3JkcmUgP2NkPyBubyBlcyB0cm9iYSBlbiBlbFxuIgojfiAiICAgICAgICAgICAgICAgIGRpcmVjdG9yaSBhY3R1YWwuIgoKI34gbXNnaWQgIiIKI34gIkhJU1RGSUxFICAgICAgICBUaGUgbmFtZSBvZiB0aGUgZmlsZSB3aGVyZSB5b3VyIGNvbW1hbmQgaGlzdG9yeSBpcyBzdG9yZWQuIgojfiBtc2dzdHIgIiIKI34gIkhJU1RGSUxFICAgICAgICBDb250PyBlbCBub20gZGVsIGZpdHhlciBvbiA/cyBhbD9hZGEgbCdoaXN0P3JpY1xuIgojfiAiICAgICAgICAgICAgICAgIGQnb3JkcmVzIGV4ZWN1dGFkZXMuIgoKI34gbXNnaWQgIkhJU1RGSUxFU0laRSAgICBUaGUgbWF4aW11bSBudW1iZXIgb2YgbGluZXMgdGhpcyBmaWxlIGNhbiBjb250YWluLiIKI34gbXNnc3RyICIiCiN+ICJISVNURklMRVNJWkUgICAgQ29udD8gZWwgbm9tYnJlIG0/eGltIGRlIGw/bmllcyBxdWUgdW4gZml0eGVyIHBvdCBcbiIKI34gIiAgICAgICAgICAgICAgICBjb250aW5kcmUuIgoKI34gbXNnaWQgIkhJU1RTSVpFICAgICAgICBUaGUgbWF4aW11bSBudW1iZXIgb2YgaGlzdG9yeSBsaW5lcyB0aGF0IGEgcnVubmluZyIKI34gbXNnc3RyICJISVNUU0laRSAgICAgICAgQ29udD8gZWwgbm9tYnJlIG0/eGltIGRlIGw/bmllcyBkZSBsJ2hpc3Q/cmljIHF1ZSAiCgojfiBtc2dpZCAiXHRcdHNoZWxsIGNhbiBhY2Nlc3MuIgojfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBsJ2ludD9ycHJldCBkJ29yZHJlcyBwb3QgYWNjZWRpci4iCgojfiBtc2dpZCAiSE9NRSAgICAgICAgICAgIFRoZSBjb21wbGV0ZSBwYXRobmFtZSB0byB5b3VyIGxvZ2luIGRpcmVjdG9yeS4iCiN+IG1zZ3N0ciAiIgojfiAiSE9NRSAgICAgICAgICAgIENvbnQ/IGVsIG5vbSBjYW0/IGQnYWNjP3MgY2FwIGVsIGRpcmVjdG9yaSBkZSBsYVxuIgojfiAiICAgICAgICAgICAgICAgIHZvc3RyYSBzZXNzaT8gZCd1c3VhcmkuIgoKI34gbXNnaWQgIiIKI34gIkhPU1RUWVBFICAgICAgICBUaGUgdHlwZSBvZiBDUFUgdGhpcyB2ZXJzaW9uIG9mIEJhc2ggaXMgcnVubmluZyB1bmRlci4iCiN+IG1zZ3N0ciAiIgojfiAiSE9TVFRZUEUgICAgICAgIENvbnQ/IGxhIG1lbmEgZGUgQ1BVIHNvdGEgbGEgcXVhbCBhcXVlc3RhIHZlcnNpP1xuIgojfiAiICAgICAgICAgICAgICAgIGRlIGJhc2ggZXN0PyBjb3JyZW50LiIKCiN+IG1zZ2lkICIiCiN+ICJJR05PUkVFT0YgICAgICAgQ29udHJvbHMgdGhlIGFjdGlvbiBvZiB0aGUgc2hlbGwgb24gcmVjZWlwdCBvZiBhbiBFT0YiCiN+IG1zZ3N0ciAiIgojfiAiSUdOT1JFT0VPRiAgICAgIENvbnRyb2xhIGwnYWNjaT8gZGUgbCdpbnQ/cnByZXQgZCdvcmRyZXMgcXVhbiByZXAgdW4iCgojfiBtc2dpZCAiXHRcdGNoYXJhY3RlciBhcyB0aGUgc29sZSBpbnB1dC4gIElmIHNldCwgdGhlbiB0aGUgdmFsdWUiCiN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIGNhcj9jdGVyIGRlIGZpIGRlIGZpdHhlciAoRU9GKSBjb20gYSA/bmljYSBlbnRyYWRhLiIKCiN+IG1zZ2lkICJcdFx0b2YgaXQgaXMgdGhlIG51bWJlciBvZiBFT0YgY2hhcmFjdGVycyB0aGF0IGNhbiBiZSBzZWVuIgojfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBTaSBzJ2FjdGl2YSwgYWxlc2hvcmVzIGVsIHNldSB2YWxvciA/cyBlbCBub21icmUgZGUiCgojfiBtc2dpZCAiXHRcdGluIGEgcm93IG9uIGFuIGVtcHR5IGxpbmUgYmVmb3JlIHRoZSBzaGVsbCB3aWxsIGV4aXQiCiN+IG1zZ3N0ciAiIgojfiAiICAgICAgICAgICAgICAgIGNhcj9jdGVycyBFT0YgcXVlIHBvdCBzZXIgbW9zdHJhdCBlbiB1biBhZmlsZXJhIGQndW5hIgoKI34gbXNnaWQgIlx0XHQoZGVmYXVsdCAxMCkuICBXaGVuIHVuc2V0LCBFT0Ygc2lnbmlmaWVzIHRoZSBlbmQgb2YgaW5wdXQuIgojfiBtc2dzdHIgIiIKI34gIiAgICAgICAgICAgICAgICBsP25pYSBidT9kYSBkZXNwcj9zIGRlIHF1ZSBsJ2ludD9ycHJldCBlaXhpcj8gKHBlclxuIgojfiAiICAgICAgICAgICAgICAgIG9taXNzaT8gZWwgdmFsb3IgP3MgMTApLiAgUXVhbiA/cyBkZXNhY3RpdmF0LCBFT0Ygdm9sXG4iCiN+ICIgICAgICAgICAgICAgICAgZGlyIHF1ZSBzJ2hhIGZpbmFsaXR6YXQgbCdlbnRyYWRhIGRlIGRhZGVzLiIKCiN+IG1zZ2lkICJNQUlMQ0hFQ0tcdEhvdyBvZnRlbiwgaW4gc2Vjb25kcywgQmFzaCBjaGVja3MgZm9yIG5ldyBtYWlsLiIKI34gbXNnc3RyICIiCiN+ICJNQUlMQ0hFQ0sgICAgICAgQ29udD8gZWwgdGVtcHMsIGVuIHNlZ29ucywgcGVsIHF1YWwgYmFzaCBjYWRhIHZlZ2FkYSBcbiIKI34gIiAgICAgICAgICAgICAgICBjb21wcm92YSBzaSBoaSBoYSBub3UgY29ycmV1LiIKCiN+IG1zZ2lkICJNQUlMUEFUSFx0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBmaWxlbmFtZXMgd2hpY2ggQmFzaCBjaGVja3MiCiN+IG1zZ3N0ciAiTUFJTFBBVEggICAgICAgIENvbnQ/IHVuYSBsbGlzdGEgZGUgbm9tcyBkZSBmaXR4ZXJzLCBzZXBhcmF0cyBwZWwgIgoKI34gbXNnaWQgIlx0XHRmb3IgbmV3IG1haWwuIgojfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzaWduZSBcIjpcIiwgb24gQmFzaCBjb21wcm92YSBzaSBoaSBoYSBjb3JyZXUgbm91LiIKCiN+IG1zZ2lkICJPU1RZUEVcdFx0VGhlIHZlcnNpb24gb2YgVW5peCB0aGlzIHZlcnNpb24gb2YgQmFzaCBpcyBydW5uaW5nIG9uLiIKI34gbXNnc3RyICIiCiN+ICJPU1RZUEUgICAgICAgICAgQ29udD8gbGEgdmVyc2k/IGQnVW5peCBzb3RhIGxhIHF1YWwgYXF1ZXN0YSB2ZXJzaT8gZGUgXG4iCiN+ICIgICAgICAgICAgICAgICAgQmFzaCBlc3Q/IGNvcnJlbnQuIgoKI34gbXNnaWQgIlBBVEggICAgICAgICAgICBBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCB3aGVuIgojfiBtc2dzdHIgIlBBVEggICAgICAgICAgICBDb250PyB1bmEgbGxpc3RhIGRlIGRpcmVjdG9yaXMsIHNlcGFyYXRzIHBlbCBzaWduZSAiCgojfiBtc2dpZCAiXHRcdGxvb2tpbmcgZm9yIGNvbW1hbmRzLiIKI34gbXNnc3RyICIgICAgICAgICAgICAgICAgXCI6XCIsIHBlciBvbiBlcyByZWNvcnJlcj8gcXVhbiBlcyBidXNjYSB1bmEgb3JkcmUuIgoKI34gbXNnaWQgIlBST01QVF9DT01NQU5EICBBIGNvbW1hbmQgdG8gYmUgZXhlY3V0ZWQgYmVmb3JlIHRoZSBwcmludGluZyBvZiBlYWNoIgojfiBtc2dzdHIgIiIKI34gIlBST01QVF9DT01NQU5EICBDb250PyBsJ29yZHJlIHF1ZSBzJ2V4ZWN1dGFyPyBkZXNwcj9zIGRlIG1vc3RyYXItc2UgIgoKI34gbXNnaWQgIlx0XHRwcmltYXJ5IHByb21wdC4iCiN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIGNhZGEgaW5kaWNhZG9yIHByaW1hcmkuIgoKI34gbXNnaWQgIlBTMSAgICAgICAgICAgICBUaGUgcHJpbWFyeSBwcm9tcHQgc3RyaW5nLiIKI34gbXNnc3RyICJQUzEgICAgICAgICAgICAgQ29udD8gbGEgY2FkZW5hIGRlIGwnaW5kaWNhZG9yIHByaW1hcmkuIgoKI34gbXNnaWQgIlBTMiAgICAgICAgICAgICBUaGUgc2Vjb25kYXJ5IHByb21wdCBzdHJpbmcuIgojfiBtc2dzdHIgIlBTMiAgICAgICAgICAgICBDb250PyBsYSBjYWRlbmEgZGUgbCdpbmRpY2Fkb3Igc2VjdW5kYXJpLiIKCiN+IG1zZ2lkICJURVJNICAgICAgICAgICAgVGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgdGVybWluYWwgdHlwZS4iCiN+IG1zZ3N0ciAiVEVSTSAgICAgICAgICAgIENvbnQ/IGVsIG5vbSBkZSBsYSBtZW5hIGRlIHRlcm1pbmFsIGFjdHVhbC4iCgojfiBtc2dpZCAiYXV0b19yZXN1bWUgICAgIE5vbi1udWxsIG1lYW5zIGEgY29tbWFuZCB3b3JkIGFwcGVhcmluZyBvbiBhIGxpbmUgYnkiCiN+IG1zZ3N0ciAiYXV0b19yZXN1bWUgICAgIENvbnQ/IGVsIG5vbSBkZSBsJ29yZHJlIHF1ZSBlcyBidXNjYXI/IHByaW1lciBkJ3VuYSIKCiN+IG1zZ2lkICJcdFx0aXRzZWxmIGlzIGZpcnN0IGxvb2tlZCBmb3IgaW4gdGhlIGxpc3Qgb2YgY3VycmVudGx5IgojfiBtc2dzdHIgIiIKI34gIiAgICAgICAgICAgICAgICBsbGlzdGEgZGUgdGFzcXVlcyBhY3R1YWxtZW50IGF0dXJhZGVzLiAgU2kgc2UnbiB0cm9iYSwiCgojfiBtc2dpZCAiXHRcdHN0b3BwZWQgam9icy4gIElmIGZvdW5kIHRoZXJlLCB0aGF0IGpvYiBpcyBmb3JlZ3JvdW5kZWQuIgojfiBtc2dzdHIgIiIKI34gIiAgICAgICAgICAgICAgICBhcXVlc3RhIHRhc2NhIHMndWJpY2FyPyBlbiBwcmltZXIgcGxhLiAgQW1iIGVsIHZhbG9yIgoKI34gbXNnaWQgIlx0XHRBIHZhbHVlIG9mIGBleGFjdCcgbWVhbnMgdGhhdCB0aGUgY29tbWFuZCB3b3JkIG11c3QiCiN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIGRlIFwiZXhhY3RcIiBlbCBub20gZGUgbCdvcmRyZSBoYSBkZSBjb2luY2lkaXIiCgojfiBtc2dpZCAiXHRcdGV4YWN0bHkgbWF0Y2ggYSBjb21tYW5kIGluIHRoZSBsaXN0IG9mIHN0b3BwZWQgam9icy4gIEEiCiN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIGV4YWN0YW1lbnQgdW5hIG9yZHJlIHF1PyBlcyB0cm9iZSBhIGxhIGxsaXN0YSBkZSIKCiN+IG1zZ2lkICJcdFx0dmFsdWUgb2YgYHN1YnN0cmluZycgbWVhbnMgdGhhdCB0aGUgY29tbWFuZCB3b3JkIG11c3QiCiN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHRhc3F1ZXMgYXR1cmFkZXMuICBBbWIgXCJzdWJzdHJpbmdcIiwgbGEgcGFyYXVsYSBkZSIKCiN+IG1zZ2lkICJcdFx0bWF0Y2ggYSBzdWJzdHJpbmcgb2YgdGhlIGpvYi4gIEFueSBvdGhlciB2YWx1ZSBtZWFucyB0aGF0IgojfiBtc2dzdHIgIiIKI34gIiAgICAgICAgICAgICAgICBsJ29yZHJlIGhhIGRlIGNvaW5jaWRpciBwYXJjaWFsbWVudCBhbWIgZWwgbm9tIGRlIGxhIgoKI34gbXNnaWQgIlx0XHR0aGUgY29tbWFuZCBtdXN0IGJlIGEgcHJlZml4IG9mIGEgc3RvcHBlZCBqb2IuIgojfiBtc2dzdHIgIiIKI34gIiAgICAgICAgICAgICAgICB0YXNjYSAodW5hIHN1YmNhZGVuYSBkJ2FxdWVzdGEpLiAgQWx0cmFtZW50LCBhbWJcbiIKI34gIiAgICAgICAgICAgICAgICBxdWFsc2V2b2wgYWx0cmUgdmFsb3IgbGEgcGFyYXVsYSBkZSBsJ29yZHJlIGhhIGRlXG4iCiN+ICIgICAgICAgICAgICAgICAgY29pbmNpZGlyIGFtYiB1biBwcmVmaXggZGUgbGEgdGFzY2EgYXR1cmFkYS4iCgojfiBtc2dpZCAiY29tbWFuZF9vcmllbnRlZF9oaXN0b3J5IgojfiBtc2dzdHIgImNvbW1hbmRfb3JpZW50ZWRfaGlzdG9yeSIKCiN+IG1zZ2lkICIiCiN+ICIgICAgICAgICAgICAgICAgTm9uLW51bGwgbWVhbnMgdG8gc2F2ZSBtdWx0aXBsZS1saW5lIGNvbW1hbmRzIHRvZ2V0aGVyIG9uIgojfiBtc2dzdHIgIiIKI34gIiAgICAgICAgICAgICAgICBTaSBubyA/cyBidWl0LCBzJ2FsP2FyPyBqdW50YW1lbnQgbGVzIG9yZHJlcyBlc2NyaXRlcyIKCiN+IG1zZ2lkICIgICAgICAgICAgICAgICAgYSBzaW5nbGUgaGlzdG9yeSBsaW5lLiIKI34gbXNnc3RyICIiCiN+ICIgICAgICAgICAgICAgICAgZW4gbT9sdGlwbGVzIGw/bmllcyBlbiB1bmEgc29sYSBsP25pYSBkZSBsJ2hpc3Q/cmljLiIKCiN+IG1zZ2lkICJoaXN0Y2hhcnMgICAgICAgQ2hhcmFjdGVycyBjb250cm9sbGluZyBoaXN0b3J5IGV4cGFuc2lvbiBhbmQgcXVpY2siCiN+IG1zZ3N0ciAiaGlzdGNoYXJzICAgICAgIENvbnQ/IGVscyBjYXI/Y3RlcnMgcXVlIGNvbnRyb2xlbiBsJ2V4cGFuc2k/IGRlICIKCiN+IG1zZ2lkICJcdFx0c3Vic3RpdHV0aW9uLiAgVGhlIGZpcnN0IGNoYXJhY3RlciBpcyB0aGUgaGlzdG9yeSIKI34gbXNnc3RyICIgICAgICAgICAgICAgICAgbCdoaXN0P3JpYyBpIGxhIHN1YnN0aXR1Y2k/IHI/cGlkYS4gIEVsIHByaW1lciIKCiN+IG1zZ2lkICJcdFx0c3Vic3RpdHV0aW9uIGNoYXJhY3RlciwgdXN1YWxseSBgIScuICBUaGUgc2Vjb25kIGlzIgojfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBjYXI/Y3RlciA/cyBlbCBkZSBzdWJzdGl0dWNpPyBkZSBsJ2hpc3Q/cmljLCIKCiN+IG1zZ2lkICJcdFx0dGhlIGBxdWljayBzdWJzdGl0dXRpb24nIGNoYXJhY3RlciwgdXN1YWxseSBgXicuICBUaGUiCiN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIG5vcm1hbG1lbnQgXCIhXCIuIEVsIHNlZ29uID9zIGVsIGRlIFwic3Vic3RpdHVjaT8iCgojfiBtc2dpZCAiXHRcdHRoaXJkIGlzIHRoZSBgaGlzdG9yeSBjb21tZW50JyBjaGFyYWN0ZXIsIHVzdWFsbHkgYCMnLiIKI34gbXNnc3RyICIiCiN+ICIgICAgICAgICAgICAgICAgcj9waWRhXCIsIG5vcm1hbG1lbnQgXCJeXCIuICBFbCB0ZXJjZXIgP3MgZWwgZGVcbiIKI34gIiAgICAgICAgICAgICAgICBcImNvbWVudGFyaSBkZSBsJ2hpc3Q/cmljXCIsIG5vcm1hbG1lbnQgXCIjXCIuIgoKI34gbXNnaWQgIkhJU1RDT05UUk9MXHRTZXQgdG8gYSB2YWx1ZSBvZiBgaWdub3Jlc3BhY2UnLCBpdCBtZWFucyBkb24ndCBlbnRlciIKI34gbXNnc3RyICJISVNUQ09OVFJPTCAgICAgU2kgcydoaSBlc3BlY2lmaWNhIFwiaWdub3Jlc3BhY2VcIiwgbm8gcydpbnRyb2R1aXI/IgoKI34gbXNnaWQgIlx0XHRsaW5lcyB3aGljaCBiZWdpbiB3aXRoIGEgc3BhY2Ugb3IgdGFiIG9uIHRoZSBoaXN0b3J5IgojfiBtc2dzdHIgIiIKI34gIiAgICAgICAgICAgICAgICBsP25pZXMgcXVlIGNvbWVuY2VuIGFtYiB1biBlc3BhaSBvIGRlIHRhYnVsYWNpPyBlbiBsYSIKCiN+IG1zZ2lkICJcdFx0bGlzdC4gIFNldCB0byBhIHZhbHVlIG9mIGBpZ25vcmVkdXBzJywgaXQgbWVhbnMgZG9uJ3QiCiN+IG1zZ3N0ciAiIgojfiAiICAgICAgICAgICAgICAgIGxsaXN0YSBkZSBsJ2hpc3Q/cmljLiAgU2kgcydhY3RpdmEgYW1iIFwiaWdub3JlZHVwc1wiLCIKCiN+IG1zZ2lkICJcdFx0ZW50ZXIgbGluZXMgd2hpY2ggbWF0Y2ggdGhlIGxhc3QgZW50ZXJlZCBsaW5lLiAgU2V0IHRvIgojfiBtc2dzdHIgIiIKI34gIiAgICAgICAgICAgICAgICBubyBzJ2ludHJvZHVpcj8gbD9uaWVzIHF1ZSBjb25jaWRpc3F1ZW4gYW1iIGxhIGRhcnJlcmEiCgojfiBtc2dpZCAiXHRcdGBpZ25vcmVib3RoJyBtZWFucyB0byBjb21iaW5lIHRoZSB0d28gb3B0aW9ucy4gIFVuc2V0LCIKI34gbXNnc3RyICIiCiN+ICIgICAgICAgICAgICAgICAgbD9uaWEgZXhlY3V0YWRhLiAgQW1iIFwiaWdub3JlYm90aFwiIHMnYWN0dWFyPyBhbWIgZWxzIgoKI34gbXNnaWQgIlx0XHRvciBzZXQgdG8gYW55IG90aGVyIHZhbHVlIHRoYW4gdGhvc2UgYWJvdmUgbWVhbnMgdG8gc2F2ZSIKI34gbXNnc3RyICIgICAgICAgICAgICAgICAgZG9zIGNyaXRlcmlzIGFudGVyaW9ycyBhbGhvcmEuICBEZXNhY3RpdmFkYSwgbyIKCiN+IG1zZ2lkICJcdFx0YWxsIGxpbmVzIG9uIHRoZSBoaXN0b3J5IGxpc3QuIgojfiBtc2dzdHIgIiIKI34gIiAgICAgICAgICAgICAgICBlc3BlY2lmaWNhbnQtc2UgcXVhbHNldm9sIGFsdHJlIHZhbG9yLCBxdWUgbm8gc2lnYSB1blxuIgojfiAiICAgICAgICAgICAgICAgIGRlbHMgZXNtZW50YXRzIGFudGVyaW9ybWVudCwgYWw/YSB0b3RlcyBsZXMgbD9uaWVzIGFcbiIKI34gIiAgICAgICAgICAgICAgICBsYSBsbGlzdGEgZGUgbCdoaXN0P3JpYy4iCgojfiBtc2dpZCAiVG9nZ2xlIHRoZSB2YWx1ZXMgb2YgdmFyaWFibGVzIGNvbnRyb2xsaW5nIG9wdGlvbmFsIGJlaGF2aW9yLiIKI34gbXNnc3RyICIiCiN+ICJDb21tdXRhIGVscyB2YWxvcnMgZGUgbGVzIHZhcmlhYmxlcywgY29udHJvbGFudCBlbHMgY29tcG9ydGFtZW50cyBcbiIKI34gIm9wY2lvbmFscy4iCgojfiBtc2dpZCAiVGhlIC1zIGZsYWcgbWVhbnMgdG8gZW5hYmxlIChzZXQpIGVhY2ggT1BUTkFNRTsgdGhlIC11IGZsYWciCiN+IG1zZ3N0ciAiIgojfiAiRWwgc2VueWFsYWRvciA/LXM/IGFjdGl2YSBjYWRhIHZhcmlhYmxlIGRlIE9QVE5BTUU7IGVsIHNlbnlhbGFkb3IgXCItdVwiICIKCiN+IG1zZ2lkICJ1bnNldHMgZWFjaCBPUFROQU1FLiAgVGhlIC1xIGZsYWcgc3VwcHJlc3NlcyBvdXRwdXQ7IHRoZSBleGl0IgojfiBtc2dzdHIgImRlc2FjdGl2YSBjYWRhIE9QVE5BTUUuICBFbCBzZW55YWxhZG9yIFwiLXFcIiBzdXByaW1laXggbCdlaXhpZGEgZGUiCgojfiBtc2dpZCAic3RhdHVzIGluZGljYXRlcyB3aGV0aGVyIGVhY2ggT1BUTkFNRSBpcyBzZXQgb3IgdW5zZXQuICBUaGUgLW8iCiN+IG1zZ3N0ciAiZGFkZXM7IGwnZXN0YXQgZCdlaXhpZGEgaW5kaWNhIHNpIGNhZGEgT1BUTkFNRSA/cyBhY3RpdmF0IG8gbm8uIgoKI34gbXNnaWQgIm9wdGlvbiByZXN0cmljdHMgdGhlIE9QVE5BTUVzIHRvIHRob3NlIGRlZmluZWQgZm9yIHVzZSB3aXRoIgojfiBtc2dzdHIgIkwnb3BjaT8gXCJvXCIgcmVzdHJpbmdlaXggZWxzIE9QVE5BTUVzIGQnYXF1ZWxscyBkZWZpbml0cyBwZXIgYSIKCiN+IG1zZ2lkICJgc2V0IC1vJy4gIFdpdGggbm8gb3B0aW9ucywgb3Igd2l0aCB0aGUgLXAgb3B0aW9uLCBhIGxpc3Qgb2YgYWxsIgojfiBtc2dzdHIgInV0aWxpdHphci1obyBhbWIgbCdvcmRyZSA/c2V0IC1vPy4gIFNlbnNlIGNhcCBvcGNpPywgbyBhbWIgbCdvcGNpPyIKCiN+IG1zZ2lkICJzZXR0YWJsZSBvcHRpb25zIGlzIGRpc3BsYXllZCwgd2l0aCBhbiBpbmRpY2F0aW9uIG9mIHdoZXRoZXIgb3IiCiN+IG1zZ3N0ciAiIgojfiAiXCItcFwiLCBzJ2V4aGliZWl4IHVuYSBsbGlzdGEgZGUgdG90ZXMgbGVzIG9wY2lvbnMgYWN0aXZhYmxlcywgYW1iIHVuYSIKCiN+IG1zZ2lkICJub3QgZWFjaCBpcyBzZXQuIgojfiBtc2dzdHIgImluZGljYWNpPyBzaSBqYSBobyA/cyBvIG5vLiIK