IyBTcGFuaXNoIHRyYW5zbGF0aW9ucyBmb3IgUiBwYWNrYWdlLgojIENvcHlyaWdodCAoQykgMjAwNyBUaGUgUiBGb3VuZGF0aW9uCiMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIFIgcGFja2FnZS4KIyBQYWJsbyBFLiBWZXJkZSA8cGFibG9lbWlsaW8udmVyZGVAdW5pLWR1ZXNzZWxkb3JmLmRlPiwgMjAwNy4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogUiAyLjEzLjBcbiIKIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDIwLTAzLTI0IDEwOjUzLTA3MDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMTItMDMtMTYgMTU6NTkrMDEwMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBcbiIKIkxhbmd1YWdlLVRlYW06IFNwYW5pc2ggPHBhYmxvZW1pbGlvLnZlcmRlQHVuaS1kdWVzc2VsZG9yZi5kZT5cbiIKIkxhbmd1YWdlOiBlc1xuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiA+IDEpO1xuIgoiWC1Qb2VkaXQtTGFuZ3VhZ2U6IFNwYW5pc2hcbiIKCiM6IGJhc2UuYzo0Mwptc2dpZCAibm8gYmFzZSBncmFwaGljcyBzeXN0ZW0gaXMgcmVnaXN0ZXJlZCIKbXNnc3RyICIiCgojOiBiYXNlLmM6MzEwCiMsIGZ1enp5Cm1zZ2lkICJJbmNvbXBhdGlibGUgZ3JhcGhpY3Mgc3RhdGUiCm1zZ3N0ciAiZXN0YWRvIGdy4WZpY28gaW524WxpZG8iCgojOiBiYXNlLmM6Mzg1IGJhc2UuYzozOTIgYmFzZS5jOjQwMAptc2dpZCAidGhlIGJhc2UgZ3JhcGhpY3Mgc3lzdGVtIGlzIG5vdCByZWdpc3RlcmVkIgptc2dzdHIgIiIKCiM6IGdyYXBoaWNzLmM6Mjk3CiMsIGMtZm9ybWF0Cm1zZ2lkICJiYWQgdW5pdHMgc3BlY2lmaWVkIGluICclcyciCm1zZ3N0ciAidW5pZGFkZXMgaW524WxpZGFzIGVzcGVjaWZpY2FkYXMgZW4gJyVzJyIKCiM6IGdyYXBoaWNzLmM6MTgxOCBncmFwaGljcy5jOjE4NDAKbXNnaWQgImF0dGVtcHQgdG8gcGxvdCBvbiBudWxsIGRldmljZSIKbXNnc3RyICJ0ZW50YXRpdmEgZGUgZ3LhZmljYXIgZW4gdW4gZGlzcG9zaXRpdm8gbnVsbyIKCiM6IGdyYXBoaWNzLmM6MTg3MAojLCBmdXp6eQptc2dpZCAib3V0ZXIgbWFyZ2lucyB0b28gbGFyZ2UgKGZpZ3VyZSByZWdpb24gdG9vIHNtYWxsKSIKbXNnc3RyICJt4XJnZW5lcyBleHRlcm5vcyBtdXkgZ3JhbmRlcyAoZmlnLnJlZ2lvbiBtdXkgcGVxdWXxYSkiCgojOiBncmFwaGljcy5jOjE4NzIKbXNnaWQgImZpZ3VyZSByZWdpb24gdG9vIGxhcmdlIgptc2dzdHIgInJlZ2nzbiBwYXJhIGZpZ3VyYSBtdXkgZ3JhbmRlIgoKIzogZ3JhcGhpY3MuYzoxODc0Cm1zZ2lkICJmaWd1cmUgbWFyZ2lucyB0b28gbGFyZ2UiCm1zZ3N0ciAibeFyZ2VuZXMgZGUgZmlndXJhIG11eSBncmFuZGVzIgoKIzogZ3JhcGhpY3MuYzoxODc2Cm1zZ2lkICJwbG90IHJlZ2lvbiB0b28gbGFyZ2UiCm1zZ3N0ciAicmVnafNuIGRlbCBncuFmaWNvIG11eSBncmFuZGUiCgojOiBncmFwaGljcy5jOjE5MzIKIywgYy1mb3JtYXQKbXNnaWQgIm5vbmZpbml0ZSBheGlzIGxpbWl0cyBbR1NjYWxlKCVnLCVnLCVkLCAuKTsgbG9nPSVkXSIKbXNnc3RyICJs7W1pdGVzIGRlIGVqZXMgbm8gZmluaXRvcyBbR1NjYWxlKCVnLCVnLCVkLCAuKTsgbG9nPSVkXSIKCiM6IGdyYXBoaWNzLmM6MTk2MgojLCBjLWZvcm1hdAptc2dpZCAiYXhpcyBzdHlsZSBcIiVjXCIgdW5pbXBsZW1lbnRlZCIKbXNnc3RyICJlc3RpbG8gZGUgZWplcyBcIiVjXCIgaWdub3JhZG8iCgojOiBncmFwaGljcy5jOjIyMDAKIywgZnV6enkKbXNnaWQgIm5vIGdyYXBoaWNzIGRldmljZSBpcyBhY3RpdmUiCm1zZ3N0ciAiTmluZ/puIGRpc3Bvc2l0aXZvIGdy4WZpY28gZXN04SBhY3Rpdm8iCgojOiBncmFwaGljcy5jOjIzOTUKbXNnaWQgInBsb3QubmV3IGhhcyBub3QgYmVlbiBjYWxsZWQgeWV0Igptc2dzdHIgInBsb3QubmV3IG5vIGhhIHNpZG8gbGxhbWFkbyBh+m4iCgojOiBncmFwaGljcy5jOjIzOTcKbXNnaWQgImludmFsaWQgZ3JhcGhpY3Mgc3RhdGUiCm1zZ3N0ciAiZXN0YWRvIGdy4WZpY28gaW524WxpZG8iCgojOiBncmFwaGljcy5jOjI1NDgKbXNnaWQgImdyYXBoaWNzIGRldmljZSBjbG9zZWQgZHVyaW5nIGNhbGwgdG8gbG9jYXRvciBvciBpZGVudGlmeSIKbXNnc3RyICIiCgojOiBncmFwaGljcy5jOjI1OTgKbXNnaWQgIk5vIGdyYXBoaWNzIGRldmljZSBpcyBhY3RpdmUiCm1zZ3N0ciAiTmluZ/puIGRpc3Bvc2l0aXZvIGdy4WZpY28gZXN04SBhY3Rpdm8iCgojOiBncmFwaGljcy5jOjMwNTYKbXNnaWQgInplcm8tbGVuZ3RoIGFycm93IGlzIG9mIGluZGV0ZXJtaW5hdGUgYW5nbGUgYW5kIHNvIHNraXBwZWQiCm1zZ3N0ciAidmVjdG9yIGRlIGFyZ3VtZW50byBjZXJvIHRpZW5lIHVuIOFuZ3VsbyBpbmRldGVybWluYWRvIHkgc2Ugc2FsdGVhIgoKIzogZ3JhcGhpY3MuYzozMTM3CiMsIGMtZm9ybWF0Cm1zZ2lkICJpbnZhbGlkIHBhcihcImJ0eVwiKSA9ICclYyc7IG5vIGJveCgpIGRyYXduIgptc2dzdHIgInBhcuFtZXRybyBpbnbhbGlkbyBwYXIoXCJidHlcIikgPSAnJWMnOyBubyBib3goKSBkZXNlY2hhZG8iCgojOiBncmFwaGljcy5jOjMxNTQKbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gR0JveCIKbXNnc3RyICJhcmd1bWVudG8gaW524WxpZG8gcGFyYSBHQm94IgoKIzogZ3JhcGhpY3MuYzozMzYxCiMsIGZ1enp5Cm1zZ2lkICJtZXRyaWMgaW5mb3JtYXRpb24gbm90IGF2YWlsYWJsZSBmb3IgdGhpcyBkZXZpY2UiCm1zZ3N0ciAiXHRcIkluZm9ybWFjafNuIG3pdHJpY2Egbm8gZGlzcG9uaWJsZSBwYXJhIGVzdGUgZGlzcG9zaXRpdm8iCgojOiBwYXItY29tbW9uLmM6MTQ2Cm1zZ2lkICJncmFwaGljYWwgcGFyYW1ldGVyICdmYW1pbHknIGhhcyBhIG1heGltdW0gbGVuZ3RoIG9mIDIwMCBieXRlcyIKbXNnc3RyICJsYSBmYW1pbGlhIGRlIHBhcuFtZXRyb3MgZ3LhZmljb3MgdGllbmUgdW4gdGFtYfFvIG3heGltbyBkZSAyMDAgYnl0ZXMiCgojOiBwYXIuYzoxNjAKIywgYy1mb3JtYXQKbXNnaWQgImludmFsaWQgdmFsdWUgc3BlY2lmaWVkIGZvciBncmFwaGljYWwgcGFyYW1ldGVyIFwiJXNcIiIKbXNnc3RyICJlbCB2YWxvciBlc3BlY2lmaWNhZG8gZGVsIHBhcuFtZXRybyBkZWwgZ3LhZmljbyBcIiVzXCIgZXMgaW524WxpZG8iCgojOiBwYXIuYzoxNjcKIywgYy1mb3JtYXQKbXNnaWQgImdyYXBoaWNhbCBwYXJhbWV0ZXIgXCIlc1wiIGhhcyB0aGUgd3JvbmcgbGVuZ3RoIgptc2dzdHIgImVsIHBhcuFtZXRybyBkZWwgZ3LhZmljbyBcIiVzXCIgdGllbmUgdGFtYfFvIGluY29ycmVjdG8iCgojOiBwYXIuYzoyNjIgcGFyLmM6NjczCiMsIGMtZm9ybWF0Cm1zZ2lkICJncmFwaGljYWwgcGFyYW1ldGVyIFwiJXNcIiBjYW5ub3QgYmUgc2V0Igptc2dzdHIgImVsIHBhcuFtZXRybyBkZWwgZ3LhZmljbyBcIiVzXCIgbm8gcHVlZGUgc2VyIGVzcGVjaWZpY2FkbyIKCiM6IHBhci5jOjQzNAptc2dpZCAicGFyYW1ldGVyIFwibWZnXCIgaGFzIHRoZSB3cm9uZyBsZW5ndGgiCm1zZ3N0ciAiZWwgcGFy4W1ldHJvIFwibWZnXCIgdGllbmUgdGFtYfFvIGluY29ycmVjdG8iCgojOiBwYXIuYzo0NDIKbXNnaWQgInBhcmFtZXRlciBcImlcIiBpbiBcIm1mZ1wiIGlzIG91dCBvZiByYW5nZSIKbXNnc3RyICJlbCBwYXLhbWV0cm8gXCJpXCIgZW4gXCJtZmdcIiBlc3ThIGZ1ZXJhIGRlbCByYW5nbyIKCiM6IHBhci5jOjQ0NAptc2dpZCAicGFyYW1ldGVyIFwialwiIGluIFwibWZnXCIgaXMgb3V0IG9mIHJhbmdlIgptc2dzdHIgImVsIHBhcuFtZXRybyBcImpcIiBlbiBcIm1mZ1wiIGVzdOEgZnVlcmEgZGVsIHJhbmdvIgoKIzogcGFyLmM6NDQ5CiMsIGZ1enp5Cm1zZ2lkICJ2YWx1ZSBvZiAnbnInIGluIFwibWZnXCIgaXMgd3JvbmcgYW5kIHdpbGwgYmUgaWdub3JlZCIKbXNnc3RyICJlbCB2YWxvciBkZSBuciBlbiBcIm1mZ1wiIGVzIGluY29ycmVjdG8geSBzZXLhIGlnbm9yYWRvIgoKIzogcGFyLmM6NDUxCiMsIGZ1enp5Cm1zZ2lkICJ2YWx1ZSBvZiAnbmMnIGluIFwibWZnXCIgaXMgd3JvbmcgYW5kIHdpbGwgYmUgaWdub3JlZCIKbXNnc3RyICJlbCB2YWxvciBkZSBuYyBlbiBcIm1mZ1wiIGVzIGluY29ycmVjdG8geSBzZXLhIGlnbm9yYWRvIgoKIzogcGFyLmM6NDc4Cm1zZ2lkICJjYWxsaW5nIHBhcihuZXc9VFJVRSkgd2l0aCBubyBwbG90Igptc2dzdHIgImxsYW1hZGEgcGFyKG5ldz1UUlVFKSBzaW4gZ3LhZmljbyIKCiM6IHBhci5jOjY2NSBwYXIuYzoxMDYzCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiZ3JhcGhpY2FsIHBhcmFtZXRlciBcIiVzXCIgaXMgb2Jzb2xldGUiCm1zZ3N0ciAibGlzdGEgZGUgcGFy4W1ldHJvcyBncuFmaWNvcyBubyB24WxpZG9zIgoKIzogcGFyLmM6NjY5IHBhci5jOjEwNjcKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJcIiVzXCIgaXMgbm90IGEgZ3JhcGhpY2FsIHBhcmFtZXRlciIKbXNnc3RyICJwYXLhbWV0cm8gZ3LhZmljbyBpbnbhbGlkbyIKCiM6IHBhci5jOjExMjAKbXNnaWQgImludmFsaWQgYXJndW1lbnQgcGFzc2VkIHRvIHBhcigpIgptc2dzdHIgImVsIHBhcuFtZXRybyBwYXNhZG8gYSBwYXIoKSBlcyBpbnbhbGlkbyIKCiM6IHBhci5jOjExNjQKIywgYy1mb3JtYXQKbXNnaWQgInRvbyBtYW55IHJvd3MgaW4gbGF5b3V0LCBsaW1pdCAlZCIKbXNnc3RyICJtdWNoYXMgZmlsYXMgZW4gbGEgc2FsaWRhLCBs7W1pdGUgJWQiCgojOiBwYXIuYzoxMTcwCiMsIGMtZm9ybWF0Cm1zZ2lkICJ0b28gbWFueSBjb2x1bW5zIGluIGxheW91dCwgbGltaXQgJWQiCm1zZ3N0ciAibXVjaGFzIGNvbHVtbmFzIGVuIGxhIHNhbGlkYSwgbO1taXRlICVkIgoKIzogcGFyLmM6MTE3MgojLCBjLWZvcm1hdAptc2dpZCAidG9vIG1hbnkgY2VsbHMgaW4gbGF5b3V0LCBsaW1pdCAlZCIKbXNnc3RyICJtdWNoYXMgY2VsZGFzIGVuIGxhIHNhbGlkYSwgbO1taXRlICVkIgoKIzogcGxvdC5jOjYwCiMsIGZ1enp5Cm1zZ2lkICJpbnZhbGlkIGNvbG9yIHNwZWNpZmljYXRpb24iCm1zZ3N0ciAiZXNwZWNpZmljYWNp824gZGUgZnVlbnRlIG5vIHbhbGlkYSIKCiM6IHBsb3QuYzoxMjYKbXNnaWQgIm9ubHkgTkEgYWxsb3dlZCBpbiBsb2dpY2FsIHBsb3R0aW5nIHN5bWJvbCIKbXNnc3RyICJzb2xhbWVudGUgTkEgcGVydGltaWRvIGNvbW8gc+1tYm9sbyBkZSBncuFmaWNvIGzzZ2ljbyIKCiM6IHBsb3QuYzoxMjgKbXNnaWQgImludmFsaWQgcGxvdHRpbmcgc3ltYm9sIgptc2dzdHIgInPtbWJvbG8gZGUgZ3LhZmljbyBpbnbhbGlkbyIKCiM6IHBsb3QuYzoyMTcKbXNnaWQgImludmFsaWQgZm9udCBzcGVjaWZpY2F0aW9uIgptc2dzdHIgImVzcGVjaWZpY2FjafNuIGRlIGZ1ZW50ZSBubyB24WxpZGEiCgojOiBwbG90LmM6Mjc2IHBsb3QuYzoyOTAgcGxvdC5jOjQ3NyBwbG90LmM6NDgyIHBsb3QuYzoyMTQyIHBsb3QuYzoyMTQ5CiM6IHBsb3QuYzozMTcyIHBsb3QuYzozMTc0IHBsb3QuYzozMTc2IHBsb3QuYzozMzM1IHBsb3QzZC5jOjExNjMgcGxvdDNkLmM6MTE2NwojOiBwbG90M2QuYzoxMTY5IHBsb3QzZC5jOjE5MDMKIywgYy1mb3JtYXQKbXNnaWQgImludmFsaWQgJyVzJyB2YWx1ZSIKbXNnc3RyICJ2YWxvciBkZSAnJXMnIG5vIHbhbGlkbyIKCiM6IHBsb3QuYzoyOTMKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJpbnZhbGlkICd2Zm9udCcgdmFsdWUgW3R5cGVmYWNlICVkXSIKbXNnc3RyICJ2YWxvciBkZSAndmZvbnQnIG5vIHbhbGlkbyBbdHlwZWZhY2VdIgoKIzogcGxvdC5jOjMxNwojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImludmFsaWQgJ3Zmb250JyB2YWx1ZSBbdHlwZWZhY2UgPSAlZCwgZm9udGluZGV4ID0gJWRdIgptc2dzdHIgInZhbG9yIGRlICd2Zm9udCcgIG5vIHbhbGlkbyBbZm9udGluZGV4XSIKCiM6IHBsb3QuYzozOTEKbXNnaWQgImludmFsaWQgZ3JhcGhpY3MgcGFyYW1ldGVyIgptc2dzdHIgInBhcuFtZXRybyBncuFmaWNvIGluduFsaWRvIgoKIzogcGxvdC5jOjQ3Mwptc2dpZCAiYXQgbGVhc3QgMyBhcmd1bWVudHMgcmVxdWlyZWQiCm1zZ3N0ciAic2UgbmVjZXNpdGFuIGFsIG1lbm9zIHRyZXMgYXJndW1lbnRvcyIKCiM6IHBsb3QuYzo0ODcKbXNnaWQgIlwibG9nPVwiIHNwZWNpZmljYXRpb24gbXVzdCBiZSBjaGFyYWN0ZXIiCm1zZ3N0ciAiZXNwZWNpZmljYWNp824gZGUgXCJsb2c9XCIgZGViZSBzZXIgdW4gY2Fy4WN0ZXIiCgojOiBwbG90LmM6NTAwCiMsIGMtZm9ybWF0Cm1zZ2lkICJpbnZhbGlkIFwibG9nPSVzXCIgc3BlY2lmaWNhdGlvbiIKbXNnc3RyICJlc3BlY2lmaWNhY2nzbiBkZSBcImxvZz0lc1wiIG5vIHbhbGlkYSIKCiM6IHBsb3QuYzo1MTYKbXNnaWQgIk5BcyBub3QgYWxsb3dlZCBpbiAneGxpbSciCm1zZ3N0ciAiTkFzIG5vIHBlcm1pdGlkb3MgZW4gJ3hsaW0nIgoKIzogcGxvdC5jOjUyMgptc2dpZCAibmVlZCBmaW5pdGUgJ3hsaW0nIHZhbHVlcyIKbXNnc3RyICJzZSBuZWNlc2l0YW4gdmFsb3JlcyBmaW5pdG9zIGRlICd4bGltJyIKCiM6IHBsb3QuYzo1MjgKbXNnaWQgIk5BcyBub3QgYWxsb3dlZCBpbiAneWxpbSciCm1zZ3N0ciAiTkFzIG5vIHBlcm1pdGlkb3MgZW4gJ3lsaW0nIgoKIzogcGxvdC5jOjUzNAptc2dpZCAibmVlZCBmaW5pdGUgJ3lsaW0nIHZhbHVlcyIKbXNnc3RyICJzZSBuZWNlc2l0YW4gdmFsb3JlcyBmaW5pdG9zIGRlICd5bGltJyIKCiM6IHBsb3QuYzo1NDAKbXNnaWQgIkxvZ2FyaXRobWljIGF4aXMgbXVzdCBoYXZlIHBvc2l0aXZlIGxpbWl0cyIKbXNnc3RyICJFamVzIGxvZ2Fy7XRtaWNvcyBkZWJlbiB0ZW5lciBsaW1pdGVzIHBvc2l0aXZvcyIKCiM6IHBsb3QuYzo2NjQKbXNnaWQgImludmFsaWQgdHlwZSBmb3IgYXhpcyBsYWJlbHMiCm1zZ3N0ciAidGlwbyBpbnbhbGlkbyBwYXJhIHLzdHVsb3MgZGUgZWplcyIKCiM6IHBsb3QuYzo3NTIgcGxvdC5jOjEzMjggcGxvdC5jOjE2NTEgcGxvdC5jOjE3MTYgcGxvdC5jOjE3OTEgcGxvdC5jOjE4NTcKIzogcGxvdC5jOjE5MzEgcGxvdC5jOjIwMjYgcGxvdC5jOjIxMDIgcGxvdC5jOjIzODAgcGxvdC5jOjI1NTQgcGxvdC5jOjI3NzAKIzogcGxvdC5jOjMzMTcgcGxvdC5jOjM0NTIgcGxvdC5jOjM1MjggcGxvdC5jOjM2OTQgcGxvdC5jOjM5NzQgcGxvdDNkLmM6MTg3Mgptc2dpZCAidG9vIGZldyBhcmd1bWVudHMiCm1zZ3N0ciAibXV5IHBvY29zIGFyZ3VtZW50b3MiCgojOiBwbG90LmM6NzYzCiMsIGMtZm9ybWF0Cm1zZ2lkICJpbnZhbGlkIGF4aXMgbnVtYmVyICVkIgptc2dzdHIgIm76bWVybyBkZSBlamVzIG5vIHbhbGlkbyAlZCIKCiM6IHBsb3QuYzo4NTAKbXNnaWQgIidoYWRqJyBtdXN0IGJlIG9mIGxlbmd0aCBvbmUiCm1zZ3N0ciAiJ2hhZGonIGRlYmUgdGVuZXIgbG9uZ2l0dWQgMSIKCiM6IHBsb3QuYzo4NTcgcGxvdC5jOjIxMTQgcGxvdC5jOjIzOTEgcGxvdC5jOjIzOTcgcGxvdC5jOjI0MDQgcGxvdC5jOjI0MTIKIzogcGxvdC5jOjI0MTkgcGxvdC5jOjI0MjYgcGxvdC5jOjI0MzMgcGxvdC5jOjI0NDAgcGxvdC5jOjI0NDggcGxvdC5jOjI0NTUKIzogcGxvdC5jOjMxNzkKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJ6ZXJvLWxlbmd0aCAnJXMnIHNwZWNpZmllZCIKbXNnc3RyICInc2lkZScgZGUgbG9uZ2l0dWQgY2VybyBmdWUgZXNwZWNpZmljYWRvIgoKIzogcGxvdC5jOjg2MgojLCBmdXp6eQptc2dpZCAiJ2dhcC5heGlzJyBtdXN0IGJlIG9mIGxlbmd0aCBvbmUiCm1zZ3N0ciAiJ2hhZGonIGRlYmUgdGVuZXIgbG9uZ2l0dWQgMSIKCiM6IHBsb3QuYzo4OTIKbXNnaWQgIidnYXAuYXhpcycgbXVzdCBiZSBOQSBvciBhIGZpbml0ZSBudW1iZXIiCm1zZ3N0ciAiIgoKIzogcGxvdC5jOjk0NAptc2dpZCAiJ2xhYmVscycgaXMgc3VwcGxpZWQgYW5kIG5vdCAnYXQnIgptc2dzdHIgInNlIGRhICdsYWJlbHMnIHkgbm8gc2UgZXNwZWNpZmljYSAgJ2F0JyIKCiM6IHBsb3QuYzo5NDgKIywgYy1mb3JtYXQKbXNnaWQgIidhdCcgYW5kICdsYWJlbHMnIGxlbmd0aHMgZGlmZmVyLCAlZCAhPSAlZCIKbXNnc3RyICJsb25naXR1ZCBkZSAnYXQnIHkgJ2xhYmVscycgZGlmaWVyZW4sICVkICE9ICVkIgoKIzogcGxvdC5jOjk2OAptc2dpZCAibm8gbG9jYXRpb25zIGFyZSBmaW5pdGUiCm1zZ3N0ciAibmluZ3VuYSBsb2NhbGl6YWNp824gZXMgZmluaXRhIgoKIzogcGxvdC5jOjEzNDQKbXNnaWQgImludmFsaWQgcGxvdHRpbmcgc3RydWN0dXJlIgptc2dzdHIgImVzdHJ1Y3R1cmEgZGUgZ3LhZmljbyBpbnbhbGlkYSIKCiM6IHBsb3QuYzoxMzQ2CiMsIGMtZm9ybWF0Cm1zZ2lkICIneCcgYW5kICd5JyBsZW5ndGhzIGRpZmZlciBpbiAlcygpIgptc2dzdHIgImxvbmdpdHVkZXMgZGUgJ3gnIGUgJ3knIGRpZmllcmVuIGVuICVzKCkiCgojOiBwbG90LmM6MTM1NwojLCBjLWZvcm1hdAptc2dpZCAicGxvdCB0eXBlICclcycgd2lsbCBiZSB0cnVuY2F0ZWQgdG8gZmlyc3QgY2hhcmFjdGVyIgptc2dzdHIgImdy4WZpY28gZGUgdGlwbyAnJXMnIHZhIGEgc2VyIHRydW5jYWRvIGFsIHByaW1lciBjYXLhY3RlciIKCiM6IHBsb3QuYzoxMzYxIHBsb3QuYzozMDMzCm1zZ2lkICJpbnZhbGlkIHBsb3QgdHlwZSIKbXNnc3RyICJ0aXBvIGRlIGdy4WZpY28gaW524WxpZG8iCgojOiBwbG90LmM6MTU2MwojLCBjLWZvcm1hdAptc2dpZCAiaW52YWxpZCBwbG90IHR5cGUgJyVjJyIKbXNnc3RyICJ0aXBvIGRlIGdy4WZpY28gaW524WxpZG8gJyVjJyIKCiM6IHBsb3QuYzoxNjA2Cm1zZ2lkICJpbnZhbGlkIGZpcnN0IGFyZ3VtZW50Igptc2dzdHIgInByaW1lciBhcmd1bWVudG8gaW524WxpZG8iCgojOiBwbG90LmM6MTYxMwptc2dpZCAiaW52YWxpZCBzZWNvbmQgYXJndW1lbnQiCm1zZ3N0ciAic2VndW5kbyBhcmd1bWVudG8gaW524WxpZG8iCgojOiBwbG90LmM6MTYyMQptc2dpZCAiaW52YWxpZCB0aGlyZCBhcmd1bWVudCIKbXNnc3RyICJ0ZXJjZXIgYXJndW1lbnRvIGluduFsaWRvIgoKIzogcGxvdC5jOjE2MjkKbXNnaWQgImludmFsaWQgZm91cnRoIGFyZ3VtZW50Igptc2dzdHIgImN1YXJ0byBhcmd1bWVudG8gaW524WxpZG8iCgojOiBwbG90LmM6MTYzNwojLCBmdXp6eQptc2dpZCAiY2Fubm90IG1peCB6ZXJvLWxlbmd0aCBhbmQgbm9uLXplcm8tbGVuZ3RoIGNvb3JkaW5hdGVzIgptc2dzdHIgIm5vIG1lemNsYXIgdmVjdG9yZXMgZGUgbG9uZ2l0dWQgMCBjb24gb3Ryb3MiCgojOiBwbG90LmM6MTg2Mgptc2dpZCAiRW1wdHkgcmFzdGVyIgptc2dzdHIgIiIKCiM6IHBsb3QuYzoxOTQ0Cm1zZ2lkICJpbnZhbGlkIGFycm93IGhlYWQgbGVuZ3RoIgptc2dzdHIgImxvbmdpdHVkIGRlIGZsZWNoYSBpbnbhbGlkbyIKCiM6IHBsb3QuYzoxOTQ5Cm1zZ2lkICJpbnZhbGlkIGFycm93IGhlYWQgYW5nbGUiCm1zZ3N0ciAi4W5ndWxvIGRlIGZsZWNoYSBpbnbhbGlkbyIKCiM6IHBsb3QuYzoxOTU0Cm1zZ2lkICJpbnZhbGlkIGFycm93IGhlYWQgc3BlY2lmaWNhdGlvbiIKbXNnc3RyICJwdW50YSBkZSBmbGVjaGEgaW524WxpZGEiCgojOiBwbG90LmM6MjE4OAptc2dpZCAibm8gY29vcmRpbmF0ZXMgd2VyZSBzdXBwbGllZCIKbXNnc3RyICJubyBzZSBlc3BlY2lmaWPzIG5pbmd1bmEgY29vcmRlbmFkYSIKCiM6IHBsb3QuYzoyODExCm1zZ2lkICJpbnZhbGlkIGE9LCBiPSBzcGVjaWZpY2F0aW9uIgptc2dzdHIgImVzcGVjaWZpY2FjafNuIGE9LCBiPSBubyB24WxpZGEiCgojOiBwbG90LmM6MjgyMAptc2dpZCAiJ2EnIGFuZCAnYicgbXVzdCBiZSBmaW5pdGUiCm1zZ3N0ciAiJ2EnIHkgJ2InIGRlYmVuIHNlciBmaW5pdG9zIgoKIzogcGxvdC5jOjI5NTYgcGxvdC5jOjQwOTQgcGxvdC5jOjQwOTggcGxvdC5jOjQxMDEgcGxvdC5jOjQxMjEgcGxvdC5jOjQxMjUKIzogcGxvdC5jOjQxMjggcGxvdDNkLmM6MTA4NSBwbG90M2QuYzoxMDg5IHBsb3QzZC5jOjEwOTQgcGxvdDNkLmM6MTA5OAojOiBwbG90M2QuYzoxMTAyIHBsb3QzZC5jOjExMDYgc3RlbS5jOjE1MyBzdGVtLmM6MTU0IHN0ZW0uYzoxNTYgc3RlbS5jOjE1NwojOiBzdGVtLmM6MjAzIHN0ZW0uYzoyMDQKIywgYy1mb3JtYXQKbXNnaWQgImludmFsaWQgJyVzJyBhcmd1bWVudCIKbXNnc3RyICJhcmd1bWVudG8gJyVzJyBpbnbhbGlkbyIKCiM6IHBsb3QuYzozMDI4IHBsb3QuYzozMTY4CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgcG9pbnRzIGluICVzIgptc2dzdHIgIm76bWVybyBkZSBwdW50b3Mgbm8gduFsaWRvcyBlbiBsb2NhdG9yKCkiCgojOiBwbG90LmM6MzE3MAptc2dpZCAiaW5jb3JyZWN0IGFyZ3VtZW50IHR5cGUiCm1zZ3N0ciAidGlwbyBkZSBhcmd1bWVudG8gaW5jb3JyZWN0byIKCiM6IHBsb3QuYzozMTgyCm1zZ2lkICJkaWZmZXJlbnQgYXJndW1lbnQgbGVuZ3RocyIKbXNnc3RyICJhcmd1bWVudG9zIGRlIGxvbmdpdHVkZXMgZGlmZXJlbnRlcyIKCiM6IHBsb3QuYzozMTg0Cm1zZ2lkICJtb3JlICdsYWJlbHMnIHRoYW4gcG9pbnRzIgptc2dzdHIgIm1hcyAnbGFiZWxzJyAgcXVlIHB1bnRvcyIKCiM6IHBsb3QuYzozMjM2CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAid2FybmluZzogbm8gcG9pbnQgd2l0aGluICUuMmYgaW5jaGVzXG4iCm1zZ3N0ciAiYXZpc286IG5pbmf6biBwdW50byBjb24gJS4yZiBwdWxnYWRhc1xuIgoKIzogcGxvdC5jOjMyNDIKbXNnaWQgIndhcm5pbmc6IG5lYXJlc3QgcG9pbnQgYWxyZWFkeSBpZGVudGlmaWVkXG4iCm1zZ3N0ciAiYXZpc286IHB1bnRvIG3hcyBwcvN4aW1vIHlhIGlkZW50aWZpY2Fkb1xuIgoKIzogcGxvdC5jOjMzMjgKbXNnaWQgImludmFsaWQgdW5pdHMiCm1zZ3N0ciAidW5pZGFkZXMgbm8gduFsaWRhcyIKCiM6IHBsb3QuYzozNTEyIHBsb3QuYzozNjE5Cm1zZ2lkICJpbnZhbGlkIGRlbmRyb2dyYW0gaW5wdXQiCm1zZ3N0ciAiZW50cmFkYSBkZSBkZW5kb2dyYW1hIG5vIHbhbGlkYSAiCgojOiBwbG90LmM6MzY3Ngptc2dpZCAiaW52YWxpZCBzeW1ib2wgcGFyYW1ldGVyIHZlY3RvciIKbXNnc3RyICJ2ZWN0b3IgZGUgcGFy4W1ldHJvcyBkZSBz7W1ib2xvcyBubyB24WxpZG8iCgojOiBwbG90LmM6MzY5OQptc2dpZCAiaW52YWxpZCBzeW1ib2wgY29vcmRpbmF0ZXMiCm1zZ3N0ciAiY29vcmRlbmFkYXMgZGUgc+1tYm9sb3Mgbm8gduFsaWRhcyIKCiM6IHBsb3QuYzozNzA3Cm1zZ2lkICJ4L3kvcGFyYW1ldGVyIGxlbmd0aCBtaXNtYXRjaCIKbXNnc3RyICJsb25naXR1ZCBkZSBsb3MgcGFy4W1ldHJvcyB4L3kgbm8gY29tcGF07WJsZXMiCgojOiBwbG90LmM6MzcyNgptc2dpZCAiaW52YWxpZCBjaXJjbGVzIGRhdGEiCm1zZ3N0ciAiZGF0b3MgY2lyY3VsYXJlcyBubyB24WxpZG9zIgoKIzogcGxvdC5jOjM3MjggcGxvdC5jOjM3NDkgcGxvdC5jOjM3NzQgcGxvdC5jOjM4MDQKbXNnaWQgImludmFsaWQgc3ltYm9sIHBhcmFtZXRlciIKbXNnc3RyICJwYXLhbWV0cm8gZGUgc+1tYm9sbyBubyB24WxpZG8iCgojOiBwbG90LmM6Mzc0Nwptc2dpZCAiaW52YWxpZCBzcXVhcmVzIGRhdGEiCm1zZ3N0ciAiZGF0b3MgY3VhZHJhZG9zIG5vIHbhbGlkb3MiCgojOiBwbG90LmM6Mzc3Mgptc2dpZCAiaW52YWxpZCByZWN0YW5nbGVzIGRhdGEgKG5lZWQgMiBjb2x1bW5zKSIKbXNnc3RyICJkYXRvcyByZWN0YW5ndWxhcmVzIG5vIHbhbGlkb3MgKHNvbiBuZWNlc2FyaWFzIDIgY29sdW1uYXMpIgoKIzogcGxvdC5jOjM4MDIKbXNnaWQgImludmFsaWQgc3RhcnMgZGF0YSIKbXNnc3RyICJkYXRvcyBkZSBlc3RyZWxsYSBubyB24WxpZG9zIgoKIzogcGxvdC5jOjM4NDQKbXNnaWQgImludmFsaWQgdGhlcm1vbWV0ZXJzIGRhdGEgKG5lZWQgMyBvciA0IGNvbHVtbnMpIgptc2dzdHIgImRhdG9zIGRlIHRlcm3zbWV0cm9zIG5vIHbhbGlkb3MgKHNvbiBuZWNlc2FyaWFzIDMgbyA0IGNvbHVtbmFzKSIKCiM6IHBsb3QuYzozODQ3CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiaW52YWxpZCAndGhlcm1vbWV0ZXJzWywgJXNdJyIKbXNnc3RyICJ0ZXJt821ldHJvc1ssJXNdIG5vIHbhbGlkb3MiCgojOiBwbG90LmM6Mzg1MAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIid0aGVybW9tZXRlcnNbLCAlc10nIG5vdCBpbiBbMCwxXSAtLSBtYXkgbG9vayBmdW5ueSIKbXNnc3RyICJ0ZXJt821ldHJvc1ssJXNdIG5vIGVzdOFuIGVuIFswLDFdIC0gcHVlZGUgcGFyZWNlciBncmFjaW9zbyIKCiM6IHBsb3QuYzozODUzCiMsIGZ1enp5Cm1zZ2lkICJpbnZhbGlkICd0aGVybW9tZXRlcnNbLCAxOjJdJyIKbXNnc3RyICJ0ZXJt821ldHJvc1ssMToyXSBubyB24WxpZG9zIgoKIzogcGxvdC5jOjM4OTIKIywgZnV6enkKbXNnaWQgImludmFsaWQgJ2JveHBsb3RzJyBkYXRhIChuZWVkIDUgY29sdW1ucykiCm1zZ3N0ciAiZGF0b3MgZGUgYm94cGxvdHMgbm8gduFsaWRvcyAoc2UgbmVjZXNpdGFuIDUgY29sdW1uYXMpIgoKIzogcGxvdC5jOjM5MDEKIywgZnV6enkKbXNnaWQgIidib3hwbG90c1ssIDVdJyBvdXRzaWRlIFswLDFdIC0tIG1heSBsb29rIGZ1bm55Igptc2dzdHIgImJveHBsb3RzWyw1XSBmdWVyYSBkZWwgaW50ZXJ2YWxvIFswLDFdIC0gcHVlZGUgcmVzdWx0YXIgZ3JhY2lvc28iCgojOiBwbG90LmM6MzkwMwojLCBmdXp6eQptc2dpZCAiaW52YWxpZCAnYm94cGxvdHNbLCAxOjRdJyIKbXNnc3RyICJib3hwbG90c1ssIDE6NF0gbm8gduFsaWRvcyIKCiM6IHBsb3QuYzozOTQ5Cm1zZ2lkICJpbnZhbGlkIHN5bWJvbCB0eXBlIgptc2dzdHIgInRpcG8gZGUgc+1tYm9sbyBubyB24WxpZG8iCgojOiBwbG90LmM6Mzk4NyBwbG90LmM6Mzk4OSBwbG90LmM6Mzk5NCBwbG90LmM6Mzk5NgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImluY29ycmVjdCBsZW5ndGggZm9yICclcycgYXJndW1lbnQiCm1zZ3N0ciAibG9uZ2l0dWQgaW5jb3JyZWN0YSBwYXJhIGVsIGFyZ3VtZW50byAnbW9kZSciCgojOiBwbG90M2QuYzoxODEgcGxvdDNkLmM6MTkyOQptc2dpZCAiaW5zdWZmaWNpZW50ICd4JyBvciAneScgdmFsdWVzIgptc2dzdHIgInZhbG9yZXMgaW5zdWZpY2llbnRlcyBkZSAneCcgbyAneSciCgojOiBwbG90M2QuYzoxODUgcGxvdDNkLmM6MTkzMgptc2dpZCAiZGltZW5zaW9uIG1pc21hdGNoIgptc2dzdHIgImRpbWVuc2nzbiBubyBjb21wYXRpYmxlIgoKIzogcGxvdDNkLmM6MTkzCm1zZ2lkICJubyBjb250b3VyIHZhbHVlcyIKbXNnc3RyICJubyBoYXkgdmFsb3JlcyBkZSBjb250b3JubyIKCiM6IHBsb3QzZC5jOjI1NQptc2dpZCAiaW52YWxpZCB4IC8geSB2YWx1ZXMgb3IgbGltaXRzIgptc2dzdHIgInZhbG9yZXMgbyBs7W1pdGVzIGRlIHggLyB5IG5vIHbhbGlkb3MiCgojOiBwbG90M2QuYzoyNTcKbXNnaWQgImludmFsaWQgY29udG91ciBsZXZlbHM6IG11c3QgYmUgc3RyaWN0bHkgaW5jcmVhc2luZyIKbXNnc3RyICJ2YWxvcmVzIGRlIGNvbnRvcm5vIG5vIHbhbGlkb3M6IGRlYmVuIHNlciBlc3RyaWN0YW1lbnRlIGNyZWNpZW50ZXMiCgojOiBwbG90M2QuYzoxMDQ5IHBsb3QzZC5jOjEwNjIKbXNnaWQgIkF4aXMgb3JpZW50YXRpb24gbm90IGNhbGN1bGF0ZWQiCm1zZ3N0ciAiT3JpZW50YWNp824gZGUgZWplcyBubyBjYWxjdWxhZGEiCgojOiBwbG90M2QuYzoxMDgyCm1zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCm1zZ3N0ciAibXV5IHBvY29zIHBhcuFtZXRyb3MiCgojOiBwbG90M2QuYzoxMTEyCm1zZ2lkICJpbnZhbGlkICd4JyBsaW1pdHMiCm1zZ3N0ciAibO1taXRlcyBkZSAneCcgbm8gduFsaWRvcyIKCiM6IHBsb3QzZC5jOjExMTQKbXNnaWQgImludmFsaWQgJ3knIGxpbWl0cyIKbXNnc3RyICJs7W1pdGVzIGRlICd5JyBubyB24WxpZG9zIgoKIzogcGxvdDNkLmM6MTExNgptc2dpZCAiaW52YWxpZCAneicgbGltaXRzIgptc2dzdHIgImztbWl0ZXMgZGUgJ3onIG5vIHbhbGlkb3MiCgojOiBwbG90M2QuYzoxMTM3Cm1zZ2lkICIneGxhYicgbXVzdCBiZSBhIGNoYXJhY3RlciB2ZWN0b3Igb2YgbGVuZ3RoIDEiCm1zZ3N0ciAiJ3hsYWInIGRlYmUgc2VyIHVuIHZlY3RvciBkZSBjYXJhY3RlcmVzIGRlIGxvbmdpdHVkIDEiCgojOiBwbG90M2QuYzoxMTM5Cm1zZ2lkICIneWxhYicgbXVzdCBiZSBhIGNoYXJhY3RlciB2ZWN0b3Igb2YgbGVuZ3RoIDEiCm1zZ3N0ciAiJ3lsYWInIGRlYmUgc2VyIHVuIHZlY3RvciBkZSBjYXJhY3RlcmVzIGRlIGxvbmdpdHVkIDEiCgojOiBwbG90M2QuYzoxMTQxCm1zZ2lkICInemxhYicgbXVzdCBiZSBhIGNoYXJhY3RlciB2ZWN0b3Igb2YgbGVuZ3RoIDEiCm1zZ3N0ciAiJ3psYWInIGRlYmUgc2VyIHVuIHZlY3RvciBkZSBjYXJhY3RlcmVzIGRlIGxvbmdpdHVkIDEiCgojOiBwbG90M2QuYzoxMTYxCm1zZ2lkICJpbnZhbGlkIHZpZXdpbmcgcGFyYW1ldGVycyIKbXNnc3RyICJwYXLhbWV0cm9zIGRlIHZpc3VhbGl6YWNp824gaW524WxpZG9zIgoKIzogcGxvdDNkLmM6MTE3OSBwbG90M2QuYzoxMTgzCiMsIGMtZm9ybWF0Cm1zZ2lkICJpbnZhbGlkICclcycgc3BlY2lmaWNhdGlvbiIKbXNnc3RyICJlc3BlY2lmaWNhY2nzbiAnJXMnIGluduFsaWRhIgoKIyBQYXJlY2UgcmFybyBwZXJvLi4uIHBvciBmYXZvciBmaWphdGUKIzogcGxvdDNkLmM6MTUyNgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNvbnRvdXIoKTogY2lyY3VsYXIvbG9uZyBzZWdsaXN0IC0tIHNldCAlcyA+ICVkPyIKbXNnc3RyICJjb250b3VyKCk6IHRpcG8gY2lyY3VsYXIvbGFyZ28gLS0gYnVnLnJlcG9ydCgpISIKCiM6IHBsb3QzZC5jOjE5MzUKbXNnaWQgIm5vICdsZXZlbHMnIgptc2dzdHIgIiIKCiM6IHBsb3QzZC5jOjE5MzkKbXNnaWQgIm1pc3NpbmcgJ3gnIHZhbHVlcyIKbXNnc3RyICJ2YWxvcmVzIGRlICd4JyBwZXJkaWRvcyIKCiM6IHBsb3QzZC5jOjE5NDEKbXNnaWQgImluY3JlYXNpbmcgJ3gnIHZhbHVlcyBleHBlY3RlZCIKbXNnc3RyICJzZSBlc3BlcmFuIHZhbG9yZXMgZGUgJ3gnIGNyZWNpZW50ZXMiCgojOiBwbG90M2QuYzoxOTQ2Cm1zZ2lkICJtaXNzaW5nICd5JyB2YWx1ZXMiCm1zZ3N0ciAidmFsb3JlcyBkZSAneScgcGVyZGlkb3MiCgojOiBwbG90M2QuYzoxOTQ4Cm1zZ2lkICJpbmNyZWFzaW5nICd5JyB2YWx1ZXMgZXhwZWN0ZWQiCm1zZ3N0ciAic2UgZXNwZXJhbiB2YWxvcmVzIGRlICd5JyBjcmVjaWVudGVzIgoKIzogcGxvdDNkLmM6MTk1MwojLCBjLWZvcm1hdAptc2dpZCAibm9uLWZpbml0ZSBsZXZlbCB2YWx1ZXM6IGxldmVsc1slZF0gPSAlZyIKbXNnc3RyICIiCgojOiBwbG90M2QuYzoxOTY2Cm1zZ2lkICJhbGwgeiB2YWx1ZXMgYXJlIGVxdWFsIgptc2dzdHIgInRvZG9zIGxvcyB2YWxvcmVzIGRlIHogc29uIGlndWFsZXMiCgojOiBwbG90M2QuYzoxOTY4Cm1zZ2lkICJhbGwgeiB2YWx1ZXMgYXJlIE5BIgptc2dzdHIgInRvZG9zIGxvcyB2YWxvcmUgZGUgeiBzb24gTkEiCgojOiBzdGVtLmM6MTUwCiMsIGMtZm9ybWF0Cm1zZ2lkICJsb25nIHZlY3RvciAnJXMnIGlzIG5vdCBzdXBwb3J0ZWQiCm1zZ3N0ciAiIgoKIywgZnV6enkKI34gbXNnaWQgInJlbGF0aXZlIHJhbmdlIG9mIHZhbHVlcyAoJTQuMGYgKiBFUFMpIGlzIHNtYWxsIChheGlzICVkKSIKI34gbXNnc3RyICJhbXBsaXR1ZCByZWxhdGl2YSBkZSB2YWxvcmVzID0lNC4wZiAqIEVQUywgZXMgcGVxdWXxbyAoZWl4byAlZCkiCgojfiBtc2dpZCAiaW52YWxpZCBOQSBjb250b3VyIHZhbHVlcyIKI34gbXNnc3RyICJ2YWxvcmVzIGRlIGNvbnRvcm5vIE5BIG5vIHbhbGlkb3MiCgojfiBtc2dpZCAidW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeSAoaW4gR1BvbHlnb24pIgojfiBtc2dzdHIgImltcG9zaWJsZSBhc2lnbmFyIG1lbW9yaWEgKGVuIEdQb2x5Z29uKSIKCiN+IG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBwb2ludHMgaW4gaWRlbnRpZnkoKSIKI34gbXNnc3RyICJu+m1lcm8gZGUgcHVudG9zIG5vIHbhbGlkb3MgZW4gaWRlbnRpZnkoKSIKCiN+IG1zZ2lkICJFdmVudCBHRV9TY2FsZVBTIHJlcXVpcmVzIGEgc2luZ2xlIG51bWVyaWMgdmFsdWUiCiN+IG1zZ3N0ciAiRWwgZXZlbnRvIEdFX1NjYWxlUFMgcmVxdWllcmUgdW4g+m5pY28gdmFsb3IgbnVt6XJpY28iCgojfiBtc2dpZCAiemVybyBsZW5ndGggJ3BhZGonIHNwZWNpZmllZCIKI34gbXNnc3RyICIncGFkaicgZGUgbG9uZ2l0dWQgY2VybyBlc3BlY2lmaWNhZG8iCgojLCBmdXp6eQojfiBtc2dpZCAidW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeSAoaW4gR1BhdGgpIgojfiBtc2dzdHIgImltcG9zaWJsZSBhc2lnbmFyIG1lbW9yaWEgKGVuIEdQb2x5Z29uKSIKCiMsIGZ1enp5CiN+IG1zZ2lkICJpbnZhbGlkIHggb3IgeSAoaW4gR1BhdGgpIgojfiBtc2dzdHIgInRpcG8gTm9ybWFsIG5vIHbhbGlkbyBlbiBSTkdraW5kIgoKI34gbXNnaWQgInplcm8gbGVuZ3RoICdsYWJlbHMnIgojfiBtc2dzdHIgIidsYWJlbHMnIGRlIHRhbWHxbyBjZXJvIgoKI34gbXNnaWQgInplcm8gbGVuZ3RoICd0ZXh0JyBzcGVjaWZpZWQiCiN+IG1zZ3N0ciAiJ3RleHQnIGRlIGxvbmdpdHVkIGNlcm8gZnVlIGVzcGVjaWZpY2FkbyIKCiN+IG1zZ2lkICJ6ZXJvIGxlbmd0aCAnbGluZScgc3BlY2lmaWVkIgojfiBtc2dzdHIgIidsaW5lJyBkZSBsb25naXR1ZCBjZXJvIGZ1ZSBlc3BlY2lmaWNhZG8iCgojfiBtc2dpZCAiemVybyBsZW5ndGggJ291dGVyJyBzcGVjaWZpZWQiCiN+IG1zZ3N0ciAiJ291dGVyJyBkZSBsb25naXR1ZCBjZXJvIGZ1ZSBlc3BlY2lmaWNhZG8iCgojfiBtc2dpZCAiemVybyBsZW5ndGggJ2F0JyBzcGVjaWZpZWQiCiN+IG1zZ3N0ciAiJ2F0JyBkZSBsb25naXR1ZCBjZXJvIGZ1ZSBlc3BlY2lmaWNhZG8iCgojfiBtc2dpZCAiemVybyBsZW5ndGggJ2Fkaicgc3BlY2lmaWVkIgojfiBtc2dzdHIgIidhZGonIGRlIGxvbmdpdHVkIGNlcm8gZnVlIGVzcGVjaWZpY2FkbyIKCiN+IG1zZ2lkICJ6ZXJvIGxlbmd0aCAnY2V4JyBzcGVjaWZpZWQiCiN+IG1zZ3N0ciAiJ2NleCcgZGUgbG9uZ2l0dWQgY2VybyBmdWUgZXNwZWNpZmljYWRvIgoKI34gbXNnaWQgInplcm8gbGVuZ3RoICdjb2wnIHNwZWNpZmllZCIKI34gbXNnc3RyICInY29sJyBkZSBsb25naXR1ZCBjZXJvIGZ1ZSBlc3BlY2lmaWNhZG8iCgojfiBtc2dpZCAiemVybyBsZW5ndGggJ2ZvbnQnIHNwZWNpZmllZCIKI34gbXNnc3RyICInZm9udCcgZGUgbG9uZ2l0dWQgY2VybyBmdWUgZXNwZWNpZmljYWRvIgoKI34gbXNnaWQgInVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnkgKGluIHhzcGxpbmUpIgojfiBtc2dzdHIgImltcG9zaWJsZSBhc2lnbmFyIG1lbW9yaWEgKGVuIHhzcGxpbmUpIgo=