IyBNZW5zYWplcyBlbiBlc3Bh8W9sIHBhcmEgb3Bjb2Rlcy0yLjEyLjkxCiMgQ29weXJpZ2h0IChDKSAyMDAyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgojIENyaXN0aWFuIE90aPNuIE1hcnTtbmV6IFZlcmEgPGNmdWdhQGl0YW0ubXg+LCAyMDAyLgojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBvcGNvZGVzIDIuMTIuOTFcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDAyLTA3LTIzIDE1OjU1LTA0MDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMDItMDctMjQgMDI6MDMtMDUwMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBDcmlzdGlhbiBPdGjzbiBNYXJ07W5leiBWZXJhIDxjZnVnYUBpdGFtLm14PlxuIgoiTGFuZ3VhZ2UtVGVhbTogU3BhbmlzaCA8ZXNAbGkub3JnPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojOiBhbHBoYS1vcGMuYzozMzUKbXNnaWQgImJyYW5jaCBvcGVyYW5kIHVuYWxpZ25lZCIKbXNnc3RyICJvcGVyYW5kbyBkZSByYW1pZmljYWNp824gc2luIGFsaW5lYXIiCgojOiBhbHBoYS1vcGMuYzozNTggYWxwaGEtb3BjLmM6MzgwCm1zZ2lkICJqdW1wIGhpbnQgdW5hbGlnbmVkIgptc2dzdHIgInBpc3RhIGRlIHNhbHRvIHNpbiBhbGluZWFyIgoKIzogYXJjLWRpcy5jOjUyCm1zZ2lkICJJbGxlZ2FsIGxpbW0gcmVmZXJlbmNlIGluIGxhc3QgaW5zdHJ1Y3Rpb24hXG4iCm1zZ3N0ciAioVJlZmVyZW5jaWEgbGltbSBpbGVnYWwgZW4gbGEg+mx0aW1hIGluc3RydWNjafNuIVxuIgoKIzogYXJtLWRpcy5jOjUwNwptc2dpZCAiPGlsbGVnYWwgcHJlY2lzaW9uPiIKbXNnc3RyICI8cHJlY2lzafNuIGlsZWdhbD4iCgojOiBhcm0tZGlzLmM6MTAxMAojLCBjLWZvcm1hdAptc2dpZCAiVW5yZWNvZ25pc2VkIHJlZ2lzdGVyIG5hbWUgc2V0OiAlc1xuIgptc2dzdHIgIkNvbmp1bnRvIGRlIG5vbWJyZXMgZGUgcmVnaXN0cm8gbm8gcmVjb25vY2lkbzogJXNcbiIKCiM6IGFybS1kaXMuYzoxMDE3CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbmlzZWQgZGlzYXNzZW1ibGVyIG9wdGlvbjogJXNcbiIKbXNnc3RyICJPcGNp824gZGUgZGVzZW5zYW1ibGFkb3Igbm8gcmVjb25vY2lkYTogJXNcbiIKCiM6IGFybS1kaXMuYzoxMTkxCm1zZ2lkICIiCiJcbiIKIlRoZSBmb2xsb3dpbmcgQVJNIHNwZWNpZmljIGRpc2Fzc2VtYmxlciBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIHVzZSB3aXRoXG4iCiJ0aGUgLU0gc3dpdGNoOlxuIgptc2dzdHIgIiIKIlxuIgoiTGFzIHNpZ3VpZW50ZXMgb3BjaW9uZXMgZGUgZGVzZW5zYW1ibGFkb3IgZXNwZWPtZmljYXMgZGUgQVJNIHRpZW5lbiBzb3BvcnRlXG4iCiJwYXJhIHN1IHVzbyBjb24gZWwgaW50ZXJydXB0b3IgLU06XG4iCgojOiBhdnItZGlzLmM6MTE4IGF2ci1kaXMuYzoxMjgKbXNnaWQgInVuZGVmaW5lZCIKbXNnc3RyICJzaW4gZGVmaW5pciIKCiM6IGF2ci1kaXMuYzoxODAKbXNnaWQgIkludGVybmFsIGRpc2Fzc2VtYmxlciBlcnJvciIKbXNnc3RyICJFcnJvciBpbnRlcm5vIGRlbCBkZXNlbnNhbWJsYWRvciIKCiM6IGF2ci1kaXMuYzoyMjgKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd24gY29uc3RyYWludCBgJWMnIgptc2dzdHIgInJlc3RyaWNjafNuIGAlYycgZGVzY29ub2NpZGEiCgojOiBjZ2VuLWFzbS5jOjM0NiBmcjMwLWlibGQuYzoxOTUgZnJ2LWlibGQuYzoxOTUgbTMyci1pYmxkLmM6MTk1CiM6IG9wZW5yaXNjLWlibGQuYzoxOTUgeHN0b3JteTE2LWlibGQuYzoxOTUKIywgYy1mb3JtYXQKbXNnaWQgIm9wZXJhbmQgb3V0IG9mIHJhbmdlICglbGQgbm90IGJldHdlZW4gJWxkIGFuZCAlbGQpIgptc2dzdHIgIm9wZXJhbmRvIGZ1ZXJhIGRlIHJhbmdvICglbGQgbm8gZXN04SBlbnRyZSAlbGQgeSAlbGQpIgoKIzogY2dlbi1hc20uYzozNjcKIywgYy1mb3JtYXQKbXNnaWQgIm9wZXJhbmQgb3V0IG9mIHJhbmdlICglbHUgbm90IGJldHdlZW4gJWx1IGFuZCAlbHUpIgptc2dzdHIgIm9wZXJhbmRvIGZ1ZXJhIGRlIHJhbmdvICglbHUgbm8gZXN04SBlbnRyZSAlbHUgeSAlbHUpIgoKIzogZDMwdi1kaXMuYzozMTIKIywgYy1mb3JtYXQKbXNnaWQgIjx1bmtub3duIHJlZ2lzdGVyICVkPiIKbXNnc3RyICI8cmVnaXN0cm8gJWQgZGVzY29ub2NpZG8+IgoKIy4gQ2FuJ3QgaGFwcGVuLgojOiBkaXMtYnVmLmM6NTcKIywgYy1mb3JtYXQKbXNnaWQgIlVua25vd24gZXJyb3IgJWRcbiIKbXNnc3RyICJFcnJvciBkZXNjb25vY2lkbyAlZFxuIgoKIzogZGlzLWJ1Zi5jOjYyCiMsIGMtZm9ybWF0Cm1zZ2lkICJBZGRyZXNzIDB4JXggaXMgb3V0IG9mIGJvdW5kcy5cbiIKbXNnc3RyICJMYSBkaXJlY2Np824gMHgleCBlc3ThIGZ1ZXJhIGRlIGxvcyBs7W1pdGVzLlxuIgoKIzogZnIzMC1hc20uYzozMjMgZnJ2LWFzbS5jOjU5NSBtMzJyLWFzbS5jOjMyNSBvcGVucmlzYy1hc20uYzoyNDQKIzogeHN0b3JteTE2LWFzbS5jOjIzMQojLCBjLWZvcm1hdAptc2dpZCAiVW5yZWNvZ25pemVkIGZpZWxkICVkIHdoaWxlIHBhcnNpbmcuXG4iCm1zZ3N0ciAiTm8gc2UgcmVjb25vY2nzIGVsIGNhbXBvICVkIGR1cmFudGUgbGEgZGVjb2RpZmljYWNp824uXG4iCgojOiBmcjMwLWFzbS5jOjM3MyBmcnYtYXNtLmM6NjQ1IG0zMnItYXNtLmM6Mzc1IG9wZW5yaXNjLWFzbS5jOjI5NAojOiB4c3Rvcm15MTYtYXNtLmM6MjgxCm1zZ2lkICJtaXNzaW5nIG1uZW1vbmljIGluIHN5bnRheCBzdHJpbmciCm1zZ3N0ciAiZmFsdGEgZWwgbW5lbfNuaWNvIGVuIGxhIGNhZGVuYSBzaW504WN0aWNhIgoKIy4gV2UgY291bGRuJ3QgcGFyc2UgaXQuCiM6IGZyMzAtYXNtLmM6NTA5IGZyMzAtYXNtLmM6NTEzIGZyMzAtYXNtLmM6NjAwIGZyMzAtYXNtLmM6NzAyIGZydi1hc20uYzo3ODEKIzogZnJ2LWFzbS5jOjc4NSBmcnYtYXNtLmM6ODcyIGZydi1hc20uYzo5NzQgbTMyci1hc20uYzo1MTEgbTMyci1hc20uYzo1MTUKIzogbTMyci1hc20uYzo2MDIgbTMyci1hc20uYzo3MDQgb3BlbnJpc2MtYXNtLmM6NDMwIG9wZW5yaXNjLWFzbS5jOjQzNAojOiBvcGVucmlzYy1hc20uYzo1MjEgb3BlbnJpc2MtYXNtLmM6NjIzIHhzdG9ybXkxNi1hc20uYzo0MTcKIzogeHN0b3JteTE2LWFzbS5jOjQyMSB4c3Rvcm15MTYtYXNtLmM6NTA4IHhzdG9ybXkxNi1hc20uYzo2MTAKbXNnaWQgInVucmVjb2duaXplZCBpbnN0cnVjdGlvbiIKbXNnc3RyICJpbnN0cnVjY2nzbiBubyByZWNvbm9jaWRhIgoKIzogZnIzMC1hc20uYzo1NTYgZnJ2LWFzbS5jOjgyOCBtMzJyLWFzbS5jOjU1OCBvcGVucmlzYy1hc20uYzo0NzcKIzogeHN0b3JteTE2LWFzbS5jOjQ2NAojLCBjLWZvcm1hdAptc2dpZCAic3ludGF4IGVycm9yIChleHBlY3RlZCBjaGFyIGAlYycsIGZvdW5kIGAlYycpIgptc2dzdHIgImVycm9yIHNpbnThY3RpY28gKHNlIGVzcGVyYWJhIGVsIGNhcuFjdGVyIGAlYycsIHNlIGVuY29udHLzIGAlYycpIgoKIzogZnIzMC1hc20uYzo1NjYgZnJ2LWFzbS5jOjgzOCBtMzJyLWFzbS5jOjU2OCBvcGVucmlzYy1hc20uYzo0ODcKIzogeHN0b3JteTE2LWFzbS5jOjQ3NAojLCBjLWZvcm1hdAptc2dpZCAic3ludGF4IGVycm9yIChleHBlY3RlZCBjaGFyIGAlYycsIGZvdW5kIGVuZCBvZiBpbnN0cnVjdGlvbikiCm1zZ3N0ciAiZXJyb3Igc2ludOFjdGljbyAoc2UgZXNwZXJhYmEgZWwgY2Fy4WN0ZXIgYCVjJywgc2UgZW5jb250cvMgZWwgZmluYWwgZGUgbGEgaW5zdHJ1Y2Np824pIgoKIzogZnIzMC1hc20uYzo1OTQgZnJ2LWFzbS5jOjg2NiBtMzJyLWFzbS5jOjU5NiBvcGVucmlzYy1hc20uYzo1MTUKIzogeHN0b3JteTE2LWFzbS5jOjUwMgptc2dpZCAianVuayBhdCBlbmQgb2YgbGluZSIKbXNnc3RyICJiYXN1cmEgYWwgZmluYWwgZGUgbGEgbO1uZWEiCgojOiBmcjMwLWFzbS5jOjcwMSBmcnYtYXNtLmM6OTczIG0zMnItYXNtLmM6NzAzIG9wZW5yaXNjLWFzbS5jOjYyMgojOiB4c3Rvcm15MTYtYXNtLmM6NjA5Cm1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybSBvZiBpbnN0cnVjdGlvbiIKbXNnc3RyICJmb3JtYSBkZSBpbnN0cnVjY2nzbiBubyByZWNvbm9jaWRhIgoKIzogZnIzMC1hc20uYzo3MTMgZnJ2LWFzbS5jOjk4NSBtMzJyLWFzbS5jOjcxNSBvcGVucmlzYy1hc20uYzo2MzQKIzogeHN0b3JteTE2LWFzbS5jOjYyMQojLCBjLWZvcm1hdAptc2dpZCAiYmFkIGluc3RydWN0aW9uIGAlLjUwcy4uLiciCm1zZ3N0ciAiaW5zdHJ1Y2Np824gZXJy825lYSBgJS41MHMuLi4nIgoKIzogZnIzMC1hc20uYzo3MTYgZnJ2LWFzbS5jOjk4OCBtMzJyLWFzbS5jOjcxOCBvcGVucmlzYy1hc20uYzo2MzcKIzogeHN0b3JteTE2LWFzbS5jOjYyNAojLCBjLWZvcm1hdAptc2dpZCAiYmFkIGluc3RydWN0aW9uIGAlLjUwcyciCm1zZ3N0ciAiaW5zdHJ1Y2Np824gZXJy825lYSBgJS41MHMnIgoKIy4gRGVmYXVsdCB0ZXh0IHRvIHByaW50IGlmIGFuIGluc3RydWN0aW9uIGlzbid0IHJlY29nbml6ZWQuCiM6IGZyMzAtZGlzLmM6MzkgZnJ2LWRpcy5jOjM5IG0zMnItZGlzLmM6MzkgbW1peC1kaXMuYzoyODIgb3BlbnJpc2MtZGlzLmM6MzkKIzogeHN0b3JteTE2LWRpcy5jOjM5Cm1zZ2lkICIqdW5rbm93bioiCm1zZ3N0ciAiKmRlc2Nvbm9jaWRhKiIKCiM6IGZyMzAtZGlzLmM6MzE4IGZydi1kaXMuYzozNjAgbTMyci1kaXMuYzoyNDkgb3BlbnJpc2MtZGlzLmM6MTM2CiM6IHhzdG9ybXkxNi1kaXMuYzoxNjkKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBwcmludGluZyBpbnNuLlxuIgptc2dzdHIgIk5vIHNlIHJlY29ub2Np8yBlbCBjYW1wbyAlZCBhbCBtb3N0cmFyIGluc24uXG4iCgojOiBmcjMwLWlibGQuYzoxNjYgZnJ2LWlibGQuYzoxNjYgbTMyci1pYmxkLmM6MTY2IG9wZW5yaXNjLWlibGQuYzoxNjYKIzogeHN0b3JteTE2LWlibGQuYzoxNjYKIywgYy1mb3JtYXQKbXNnaWQgIm9wZXJhbmQgb3V0IG9mIHJhbmdlICglbGQgbm90IGJldHdlZW4gJWxkIGFuZCAlbHUpIgptc2dzdHIgIm9wZXJhbmRvIGZ1ZXJhIGRlIHJhbmdvICglbGQgbm8gZXN04SBlbnRyZSAlbGQgeSAlbHUpIgoKIzogZnIzMC1pYmxkLmM6MTc5IGZydi1pYmxkLmM6MTc5IG0zMnItaWJsZC5jOjE3OSBvcGVucmlzYy1pYmxkLmM6MTc5CiM6IHhzdG9ybXkxNi1pYmxkLmM6MTc5CiMsIGMtZm9ybWF0Cm1zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZSAoJWx1IG5vdCBiZXR3ZWVuIDAgYW5kICVsdSkiCm1zZ3N0ciAib3BlcmFuZG8gZnVlcmEgZGUgcmFuZ28gKCVsdSBubyBlc3ThIGVudHJlIDAgeSAlbHUpIgoKIzogZnIzMC1pYmxkLmM6NzMwIGZydi1pYmxkLmM6ODIwIG0zMnItaWJsZC5jOjY1OSBvcGVucmlzYy1pYmxkLmM6NjMzCiM6IHhzdG9ybXkxNi1pYmxkLmM6Njc4CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgYnVpbGRpbmcgaW5zbi5cbiIKbXNnc3RyICJObyBzZSByZWNvbm9jafMgZWwgY2FtcG8gJWQgYWwgY29uc3RydWlyIGluc24uXG4iCgojOiBmcjMwLWlibGQuYzo5MzcgZnJ2LWlibGQuYzoxMTAzIG0zMnItaWJsZC5jOjc5MiBvcGVucmlzYy1pYmxkLmM6NzM1CiM6IHhzdG9ybXkxNi1pYmxkLmM6ODI2CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgZGVjb2RpbmcgaW5zbi5cbiIKbXNnc3RyICJObyBzZSByZWNvbm9jafMgZWwgY2FtcG8gJWQgYWwgZGVjb2RpZmljYXIgaW5zbi5cbiIKCiM6IGZyMzAtaWJsZC5jOjEwODYgZnJ2LWlibGQuYzoxMzQ4IG0zMnItaWJsZC5jOjkwMiBvcGVucmlzYy1pYmxkLmM6ODE1CiM6IHhzdG9ybXkxNi1pYmxkLmM6OTM5CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgZ2V0dGluZyBpbnQgb3BlcmFuZC5cbiIKbXNnc3RyICJObyBzZSByZWNvbm9jafMgZWwgY2FtcG8gJWQgYWwgb2J0ZW5lciBlbCBvcGVyYW5kbyBpbnQuXG4iCgojOiBmcjMwLWlibGQuYzoxMjE1IGZydi1pYmxkLmM6MTU3MyBtMzJyLWlibGQuYzo5OTIgb3BlbnJpc2MtaWJsZC5jOjg3NQojOiB4c3Rvcm15MTYtaWJsZC5jOjEwMzIKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBnZXR0aW5nIHZtYSBvcGVyYW5kLlxuIgptc2dzdHIgIk5vIHNlIHJlY29ub2Np8yBlbCBjYW1wbyAlZCBhbCBvYnRlbmVyIGVsIG9wZXJhbmRvIHZtYS5cbiIKCiM6IGZyMzAtaWJsZC5jOjEzNDkgZnJ2LWlibGQuYzoxODA3IG0zMnItaWJsZC5jOjEwOTAgb3BlbnJpc2MtaWJsZC5jOjk0NAojOiB4c3Rvcm15MTYtaWJsZC5jOjExMzQKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBzZXR0aW5nIGludCBvcGVyYW5kLlxuIgptc2dzdHIgIk5vIHNlIHJlY29ub2Np8yBlbCBjYW1wbyAlZCBhbCBlc3RhYmxlY2VyIGVsIG9wZXJhbmRvIGludC5cbiIKCiM6IGZyMzAtaWJsZC5jOjE0NzEgZnJ2LWlibGQuYzoyMDI5IG0zMnItaWJsZC5jOjExNzYgb3BlbnJpc2MtaWJsZC5jOjEwMDEKIzogeHN0b3JteTE2LWlibGQuYzoxMjI0CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgc2V0dGluZyB2bWEgb3BlcmFuZC5cbiIKbXNnc3RyICJObyBzZSByZWNvbm9jafMgZWwgY2FtcG8gJWQgYWwgZXN0YWJsZWNlciBlbCBvcGVyYW5kbyB2bWEuXG4iCgojOiBoODMwMC1kaXMuYzozODUKIywgYy1mb3JtYXQKbXNnaWQgIkhtbW1tICV4Igptc2dzdHIgIkhtbW1tICV4IgoKIzogaDgzMDAtZGlzLmM6Mzk2CiMsIGMtZm9ybWF0Cm1zZ2lkICJEb24ndCB1bmRlcnN0YW5kICV4IFxuIgptc2dzdHIgIk5vIHNlIGVudGllbmRlICV4IFxuIgoKIzogaDg1MDAtZGlzLmM6MTQzCiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW4ndCBjb3BlIHdpdGggaW5zZXJ0ICVkXG4iCm1zZ3N0ciAibm8gc2UgcHVlZGUgbGlkaWFyIGNvbiBpbnNlcnQgJWRcbiIKCiMuIENvdWxkbid0IHVuZGVyc3RhbmQgYW55dGhpbmcuCiM6IGg4NTAwLWRpcy5jOjM1MAojLCBjLWZvcm1hdAptc2dpZCAiJTAyeFx0XHQqdW5rbm93bioiCm1zZ3N0ciAiJTAyeFx0XHQqZGVzY29ub2NpZG8qIgoKIzogaTM4Ni1kaXMuYzoxNjQ5Cm1zZ2lkICI8aW50ZXJuYWwgZGlzYXNzZW1ibGVyIGVycm9yPiIKbXNnc3RyICI8ZXJyb3IgaW50ZXJubyBkZWwgZGVzZW5zYW1ibGFkb3I+IgoKIzogbTEwMjAwLWRpcy5jOjE5OQojLCBjLWZvcm1hdAptc2dpZCAidW5rbm93blx0MHglMDJ4Igptc2dzdHIgImRlc2Nvbm9jaWRvXHQweCUwMngiCgojOiBtMTAyMDAtZGlzLmM6MzM5CiMsIGMtZm9ybWF0Cm1zZ2lkICJ1bmtub3duXHQweCUwNGx4Igptc2dzdHIgImRlc2Nvbm9jaWRvXHQweCUwNGx4IgoKIzogbTEwMzAwLWRpcy5jOjY4NQojLCBjLWZvcm1hdAptc2dpZCAidW5rbm93blx0MHglMDR4Igptc2dzdHIgImRlc2Nvbm9jaWRvXHQweCUwNHgiCgojOiBtNjhrLWRpcy5jOjQyOQojLCBjLWZvcm1hdAptc2dpZCAiPGludGVybmFsIGVycm9yIGluIG9wY29kZSB0YWJsZTogJXMgJXM+XG4iCm1zZ3N0ciAiPGVycm9yIGludGVybm8gZW4gbGEgdGFibGEgZGUgY/NkaWdvcyBkZSBvcGVyYWNp8246ICVzICVzPlxuIgoKIzogbTY4ay1kaXMuYzoxMDA3CiMsIGMtZm9ybWF0Cm1zZ2lkICI8ZnVuY3Rpb24gY29kZSAlZD4iCm1zZ3N0ciAiPGPzZGlnbyBkZSBmdW5jafNuICVkPiIKCiM6IG04OGstZGlzLmM6MjU1CiMsIGMtZm9ybWF0Cm1zZ2lkICIjIDxkaXMgZXJyb3I6ICUwOHg+Igptc2dzdHIgIiMgPGVycm9yIGRlIGRlc2Vuc2FtYmxhZG9yOiAlMDh4PiIKCiM6IG1pcHMtZGlzLmM6MzM3CiMsIGMtZm9ybWF0Cm1zZ2lkICIjIGludGVybmFsIGVycm9yLCB1bmRlZmluZWQgbW9kaWZpZXIoJWMpIgptc2dzdHIgIiMgZXJyb3IgaW50ZXJubywgbW9kaWZpY2Fkb3IoJWMpIHNpbiBkZWZpbmlyIgoKIzogbWlwcy1kaXMuYzoxMjA5CiMsIGMtZm9ybWF0Cm1zZ2lkICIjIGludGVybmFsIGRpc2Fzc2VtYmxlciBlcnJvciwgdW5yZWNvZ25pc2VkIG1vZGlmaWVyICglYykiCm1zZ3N0ciAiIyBlcnJvciBpbnRlcm5vIGRlbCBkZXNlbnNhbWJsYWRvciwgbW9kaWZpY2Fkb3IgKCVjKSBubyByZWNvbm9jaWRvIgoKIzogbW1peC1kaXMuYzozNAojLCBjLWZvcm1hdAptc2dpZCAiQmFkIGNhc2UgJWQgKCVzKSBpbiAlczolZFxuIgptc2dzdHIgIkNhc2UgJWQgZXJy825lbyAoJXMpIGVuICVzOiVkXG4iCgojOiBtbWl4LWRpcy5jOjQ0CiMsIGMtZm9ybWF0Cm1zZ2lkICJJbnRlcm5hbDogTm9uLWRlYnVnZ2VkIGNvZGUgKHRlc3QtY2FzZSBtaXNzaW5nKTogJXM6JWQiCm1zZ3N0ciAiSW50ZXJubzogQ/NkaWdvIG5vIGRlcHVyYWRvIChmYWx0YSBlbCBjYXNvIGRlIHBydWViYSk6ICVzOiVkIgoKIzogbW1peC1kaXMuYzo1Mwptc2dpZCAiKHVua25vd24pIgptc2dzdHIgIihkZXNjb25vY2lkbykiCgojOiBtbWl4LWRpcy5jOjUxNwojLCBjLWZvcm1hdAptc2dpZCAiKnVua25vd24gb3BlcmFuZHMgdHlwZTogJWQqIgptc2dzdHIgIip0aXBvIGRlIG9wZXJhbmRvcyBvcGVyYW5kb3MgZGVzY29ub2NpZG86ICVkKiIKCiMuIEkgYW5kIFogYXJlIG91dHB1dCBvcGVyYW5kcyBhbmQgY2FuYHQgYmUgaW1tZWRpYXRlCiMuICogQSBpcyBhbiBhZGRyZXNzIGFuZCB3ZSBjYW5gdCBoYXZlIHRoZSBhZGRyZXNzIG9mCiMuICogYW4gaW1tZWRpYXRlIGVpdGhlci4gV2UgZG9uJ3Qga25vdyBob3cgbXVjaCB0byBpbmNyZWFzZQojLiAqIGFvZmZzZXRwIGJ5IHNpbmNlIHdoYXRldmVyIGdlbmVyYXRlZCB0aGlzIGlzIGJyb2tlbgojLiAqIGFueXdheSEKIy4KIzogbnMzMmstZGlzLmM6NjI4Cm1zZ2lkICIkPHVuZGVmaW5lZD4iCm1zZ3N0ciAiJDxzaW4gZGVmaW5pcj4iCgojOiBwcGMtb3BjLmM6Nzc3IHBwYy1vcGMuYzo4MTAKbXNnaWQgImludmFsaWQgY29uZGl0aW9uYWwgb3B0aW9uIgptc2dzdHIgIm9wY2nzbiBjb25kaWNpb25hbCBpbnbhbGlkYSIKCiM6IHBwYy1vcGMuYzo4MTIKbXNnaWQgImF0dGVtcHQgdG8gc2V0IHkgYml0IHdoZW4gdXNpbmcgKyBvciAtIG1vZGlmaWVyIgptc2dzdHIgImludGVudG8gZGUgZXN0YWJsZWNlciBlbCBiaXQgeSBjdWFuZG8gc2UgdXNhYmEgZWwgbW9kaWZpY2Fkb3IgKyDzIC0iCgojOiBwcGMtb3BjLmM6ODQ0IHBwYy1vcGMuYzo4OTYKbXNnaWQgIm9mZnNldCBub3QgYSBtdWx0aXBsZSBvZiA0Igptc2dzdHIgImVsIGRlc3BsYXphbWllbnRvIG5vIGVzIHVuIG36bHRpcGxvIGRlIDQiCgojOiBwcGMtb3BjLmM6ODY5Cm1zZ2lkICJvZmZzZXQgbm90IGJldHdlZW4gLTIwNDggYW5kIDIwNDciCm1zZ3N0ciAiZWwgZGVzcGxhemFtaWVudG8gbm8gZXN04SBlbnRyZSAtMjA0OCB5IDIwNDciCgojOiBwcGMtb3BjLmM6ODk0Cm1zZ2lkICJvZmZzZXQgbm90IGJldHdlZW4gLTgxOTIgYW5kIDgxOTEiCm1zZ3N0ciAiZWwgZGVzcGxhemFtaWVudG8gbm8gZXN04SBlbnRyZSAtODE5MiB5IDgxOTEiCgojOiBwcGMtb3BjLmM6OTIyCm1zZ2lkICJpZ25vcmluZyBsZWFzdCBzaWduaWZpY2FudCBiaXRzIGluIGJyYW5jaCBvZmZzZXQiCm1zZ3N0ciAiaWdub3JhbmRvIGxvcyBiaXRzIG1lbm9zIHNpZ25pZmljYXRpdm9zIGVuIGVsIGRlc3BsYXphbWllbnRvIGRlIGxhIHJhbWEiCgojOiBwcGMtb3BjLmM6OTU2IHBwYy1vcGMuYzo5OTMKbXNnaWQgImlsbGVnYWwgYml0bWFzayIKbXNnc3RyICJt4XNjYXJhIGRlIGJpdHMgaWxlZ2FsIgoKIzogcHBjLW9wYy5jOjEwNjYKbXNnaWQgInZhbHVlIG91dCBvZiByYW5nZSIKbXNnc3RyICJ2YWxvciBmdWVyYSBkZSByYW5nbyIKCiM6IHBwYy1vcGMuYzoxMTQyCm1zZ2lkICJpbmRleCByZWdpc3RlciBpbiBsb2FkIHJhbmdlIgptc2dzdHIgInJlZ2lzdHJvIO1uZGljZSBlbiBlbCByYW5nbyBkZSBjYXJnYSIKCiM6IHBwYy1vcGMuYzoxMTU4Cm1zZ2lkICJpbnZhbGlkIHJlZ2lzdGVyIG9wZXJhbmQgd2hlbiB1cGRhdGluZyIKbXNnc3RyICJvcGVyYW5kbyBkZSByZWdpc3RybyBpbnbhbGlkbyBtaWVudHJhcyBzZSBhY3R1YWxpemFiYSIKCiMuIE1hcmsgYXMgbm9uLXZhbGlkIGluc3RydWN0aW9uCiM6IHNwYXJjLWRpcy5jOjc1MAptc2dpZCAidW5rbm93biIKbXNnc3RyICJkZXNjb25vY2lkYSIKCiM6IHNwYXJjLWRpcy5jOjgyNQojLCBjLWZvcm1hdAptc2dpZCAiSW50ZXJuYWwgZXJyb3I6ICBiYWQgc3BhcmMtb3Bjb2RlLmg6IFwiJXNcIiwgJSMuOGx4LCAlIy44bHhcbiIKbXNnc3RyICJFcnJvciBpbnRlcm5vOiAgc3BhcmMtb3Bjb2RlLmggZXJy825lbzogXCIlc1wiLCAlIy44bHgsICUjLjhseFxuIgoKIzogc3BhcmMtZGlzLmM6ODM2CiMsIGMtZm9ybWF0Cm1zZ2lkICJJbnRlcm5hbCBlcnJvcjogYmFkIHNwYXJjLW9wY29kZS5oOiBcIiVzXCIsICUjLjhseCwgJSMuOGx4XG4iCm1zZ3N0ciAiRXJyb3IgaW50ZXJubzogc3BhcmMtb3Bjb2RlLmggZXJy825lbzogXCIlc1wiLCAlIy44bHgsICUjLjhseFxuIgoKIzogc3BhcmMtZGlzLmM6ODg1CiMsIGMtZm9ybWF0Cm1zZ2lkICJJbnRlcm5hbCBlcnJvcjogYmFkIHNwYXJjLW9wY29kZS5oOiBcIiVzXCIgPT0gXCIlc1wiXG4iCm1zZ3N0ciAiRXJyb3IgaW50ZXJubzogc3BhcmMtb3Bjb2RlLmggZXJy825lbzogXCIlc1wiID09IFwiJXNcIlxuIgoKIzogdjg1MC1kaXMuYzoyMjQKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd24gb3BlcmFuZCBzaGlmdDogJXhcbiIKbXNnc3RyICJvcGVyYW5kbyBkZSBkZXNwbGF6YW1pZW50byBkZXNjb25vY2lkbzogJXhcbiIKCiM6IHY4NTAtZGlzLmM6MjM2CiMsIGMtZm9ybWF0Cm1zZ2lkICJ1bmtub3duIHBvcCByZWc6ICVkXG4iCm1zZ3N0ciAicmVnaXN0cm8gcG9wIGRlc2Nvbm9jaWRvOiAlZFxuIgoKIy4gVGhlIGZ1bmN0aW9ucyB1c2VkIHRvIGluc2VydCBhbmQgZXh0cmFjdCBjb21wbGljYXRlZCBvcGVyYW5kcy4KIy4gTm90ZTogVGhlcmUgaXMgYSBjb25zcGlyYWN5IGJldHdlZW4gdGhlc2UgZnVuY3Rpb25zIGFuZAojLiB2ODUwX2luc2VydF9vcGVyYW5kKCkgaW4gZ2FzL2NvbmZpZy90Yy12ODUwLmMuICBFcnJvciBtZXNzYWdlcwojLiBjb250YWluaW5nIHRoZSBzdHJpbmcgJ291dCBvZiByYW5nZScgd2lsbCBiZSBpZ25vcmVkIHVubGVzcyBhCiMuIHNwZWNpZmljIGNvbW1hbmQgbGluZSBvcHRpb24gaXMgZ2l2ZW4gdG8gR0FTLgojOiB2ODUwLW9wYy5jOjY4Cm1zZ2lkICJkaXNwbGFjZW1lbnQgdmFsdWUgaXMgbm90IGluIHJhbmdlIGFuZCBpcyBub3QgYWxpZ25lZCIKbXNnc3RyICJlbCB2YWxvciBkZSBkZXN1YmljYWNp824gbm8gZXN04SBlbiBlbCByYW5nbyB5IG5vIGVzdOEgYWxpbmVhZG8iCgojOiB2ODUwLW9wYy5jOjY5Cm1zZ2lkICJkaXNwbGFjZW1lbnQgdmFsdWUgaXMgb3V0IG9mIHJhbmdlIgptc2dzdHIgImVsIHZhbG9yIGRlIGRlc3ViaWNhY2nzbiBlc3ThIGZ1ZXJhIGRlIHJhbmdvIgoKIzogdjg1MC1vcGMuYzo3MAptc2dpZCAiZGlzcGxhY2VtZW50IHZhbHVlIGlzIG5vdCBhbGlnbmVkIgptc2dzdHIgImVsIHZhbG9yIGRlIGRlc3ViaWNhY2nzbiBubyBlc3ThIGFsaW5lYWRvIgoKIzogdjg1MC1vcGMuYzo3Mgptc2dpZCAiaW1tZWRpYXRlIHZhbHVlIGlzIG91dCBvZiByYW5nZSIKbXNnc3RyICJlbCB2YWxvciBpbm1lZGlhdG8gZXN04SBmdWVyYSBkZSByYW5nbyIKCiM6IHY4NTAtb3BjLmM6ODMKbXNnaWQgImJyYW5jaCB2YWx1ZSBub3QgaW4gcmFuZ2UgYW5kIHRvIG9kZCBvZmZzZXQiCm1zZ3N0ciAiZWwgdmFsb3IgZGUgcmFtaWZpY2FjafNuIG5vIGVzdOEgZW4gcmFuZ28gZSBpbmRpY2EgdW4gZGVzcGxhemFtaWVudG8gaW1wYXIiCgojOiB2ODUwLW9wYy5jOjg1IHY4NTAtb3BjLmM6MTE3Cm1zZ2lkICJicmFuY2ggdmFsdWUgb3V0IG9mIHJhbmdlIgptc2dzdHIgImVsIHZhbG9yIGRlIHJhbWlmaWNhY2nzbiBlc3ThIGZ1ZXJhIGRlIHJhbmdvIgoKIzogdjg1MC1vcGMuYzo4OCB2ODUwLW9wYy5jOjEyMAptc2dpZCAiYnJhbmNoIHRvIG9kZCBvZmZzZXQiCm1zZ3N0ciAicmFtaWZpY2FjafNuIGEgdW4gZGVzcGxhemFtaWVudG8gaW1wYXIiCgojOiB2ODUwLW9wYy5jOjExNQptc2dpZCAiYnJhbmNoIHZhbHVlIG5vdCBpbiByYW5nZSBhbmQgdG8gYW4gb2RkIG9mZnNldCIKbXNnc3RyICJlbCB2YWxvciBkZSByYW1pZmljYWNp824gbm8gZXN04SBlbiByYW5nbyBlIGluZGljYSB1biBkZXNwbGF6YW1pZW50byBpbXBhciIKCiM6IHY4NTAtb3BjLmM6MzQ2Cm1zZ2lkICJpbnZhbGlkIHJlZ2lzdGVyIGZvciBzdGFjayBhZGp1c3RtZW50Igptc2dzdHIgInJlZ2lzdHJvIGluduFsaWRvIHBhcmEgZWwgYWp1c3RlIGRlIGxhIHBpbGEiCgojOiB2ODUwLW9wYy5jOjM3MAptc2dpZCAiaW1tZWRpYXRlIHZhbHVlIG5vdCBpbiByYW5nZSBhbmQgbm90IGV2ZW4iCm1zZ3N0ciAiZWwgdmFsb3IgaW5tZWRpYXRvIG5vIGVzdOEgZW4gcmFuZ28geSBubyBlcyBwYXIiCgojOiB2ODUwLW9wYy5jOjM3NQptc2dpZCAiaW1tZWRpYXRlIHZhbHVlIG11c3QgYmUgZXZlbiIKbXNnc3RyICJlbCB2YWxvciBpbm1lZGlhdG8gZGViZSBzZXIgcGFyIgoKIzogeHN0b3JteTE2LWFzbS5jOjc0Cm1zZ2lkICJCYWQgcmVnaXN0ZXIgaW4gcHJlaW5jcmVtZW50Igptc2dzdHIgIlJlZ2lzdHJvIGVycvNuZW8gZW4gZWwgcHJlaW5jcmVtZW50byIKCiM6IHhzdG9ybXkxNi1hc20uYzo3OQptc2dpZCAiQmFkIHJlZ2lzdGVyIGluIHBvc3RpbmNyZW1lbnQiCm1zZ3N0ciAiUmVnaXN0cm8gZXJy825lbyBlbiBlbCBwb3N0aW5jcmVtZW50byIKCiM6IHhzdG9ybXkxNi1hc20uYzo4MQptc2dpZCAiQmFkIHJlZ2lzdGVyIG5hbWUiCm1zZ3N0ciAiTm9tYnJlIGRlIHJlZ2lzdHJvIGVycvNuZW8iCgojOiB4c3Rvcm15MTYtYXNtLmM6ODUKbXNnaWQgIkxhYmVsIGNvbmZsaWN0cyB3aXRoIHJlZ2lzdGVyIG5hbWUiCm1zZ3N0ciAiTGEgZXRpcXVldGEgdGllbmUgY29uZmxpY3RvcyBjb24gZWwgbm9tYnJlIGRlIHJlZ2lzdHJvIgoKIzogeHN0b3JteTE2LWFzbS5jOjg5Cm1zZ2lkICJMYWJlbCBjb25mbGljdHMgd2l0aCBgUngnIgptc2dzdHIgIkxhIGV0aXF1ZXRhIHRpZW5lIGNvbmZsaWN0b3MgY29uIGBSeCciCgojOiB4c3Rvcm15MTYtYXNtLmM6OTEKbXNnaWQgIkJhZCBpbW1lZGlhdGUgZXhwcmVzc2lvbiIKbXNnc3RyICJFeHByZXNp824gaW5tZWRpYXRhIGVycvNuZWEiCgojOiB4c3Rvcm15MTYtYXNtLmM6MTIwCm1zZ2lkICJTbWFsbCBvcGVyYW5kIHdhcyBub3QgYW4gaW1tZWRpYXRlIG51bWJlciIKbXNnc3RyICJFbCBvcGVyYW5kbyBzbWFsbCBubyBlcmEgdW4gbvptZXJvIGlubWVkaWF0byIKCiN+IG1zZ2lkICJ1bnJlY29nbml6ZWQga2V5d29yZC9yZWdpc3RlciBuYW1lIgojfiBtc2dzdHIgIm5vbWJyZSBjbGF2ZS9kZSByZWdpc3RybyBubyByZWNvbm9jaWRvIgo=