IyBJcmlzaCB0cmFuc2xhdGlvbnMgZm9yIG9wY29kZXMuCiMgQ29weXJpZ2h0IChDKSAyMDA1IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgojIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBvcGNvZGVzIHBhY2thZ2UuCiMgS2V2aW4gUGF0cmljayBTY2FubmVsbCA8c2Nhbm5lbGxAU0xVLkVEVT4sIDIwMDUsIDIwMDYuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IG9wY29kZXMgMi4xNi45M1xuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDUtMTAtMjUgMTA6NTArMDkzMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0wNS0yMiAxODo0Mi0wNTAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEtldmluIFBhdHJpY2sgU2Nhbm5lbGwgPHNjYW5uZWxsQFNMVS5FRFU+XG4iCiJMYW5ndWFnZS1UZWFtOiBJcmlzaCA8Z2FlaWxnZS1nbnVsaW51eEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiM6IGFscGhhLW9wYy5jOjE1NQptc2dpZCAiYnJhbmNoIG9wZXJhbmQgdW5hbGlnbmVkIgptc2dzdHIgIm9pYnJlYW5uIGJyYWluc2UgZ2FuIGFpbO1uafoiCgojOiBhbHBoYS1vcGMuYzoxNzEgYWxwaGEtb3BjLmM6MTg3Cm1zZ2lkICJqdW1wIGhpbnQgdW5hbGlnbmVkIgptc2dzdHIgImxlaWQgbOlpbWUgZ2FuIGFpbO1uafoiCgojOiBhcmMtZGlzLmM6NzUKbXNnaWQgIklsbGVnYWwgbGltbSByZWZlcmVuY2UgaW4gbGFzdCBpbnN0cnVjdGlvbiFcbiIKbXNnc3RyICJUYWdhaXJ0IG5lYW1oY2hlYWRhaXRoZSBsaW1tIHNhIHRyZW9pciBpcyBk6WFuYe0hXG4iCgojOiBhcmMtb3BjLmM6Mzg0Cm1zZ2lkICJ1bmFibGUgdG8gZml0IGRpZmZlcmVudCB2YWx1ZWQgY29uc3RhbnRzIGludG8gaW5zdHJ1Y3Rpb24iCm1zZ3N0ciAibu0gZulpZGlyIHRhaXJpc2lnaCBsZSBsdWFjaGFubmEgZGlmcmn6bGEgYSBjaHVyIGlzdGVhY2ggc2EgdHJlb2lyIgoKIzogYXJjLW9wYy5jOjM5Mwptc2dpZCAiYXV4aWxpYXJ5IHJlZ2lzdGVyIG5vdCBhbGxvd2VkIGhlcmUiCm1zZ3N0ciAibu0gY2hlYWRh7XRlYXIgdGFiaGFsbCBj+m50YWNoIGFuc2VvIgoKIzogYXJjLW9wYy5jOjM5OSBhcmMtb3BjLmM6NDE2Cm1zZ2lkICJhdHRlbXB0IHRvIHNldCByZWFkb25seSByZWdpc3RlciIKbXNnc3RyICJyaW5uZWFkaCBpYXJyYWNodCBhciB0aGFiaGFsbCBs6WltaC1hbWjhaW4gYSBzaG9jcvoiCgojOiBhcmMtb3BjLmM6NDA0IGFyYy1vcGMuYzo0MjEKbXNnaWQgImF0dGVtcHQgdG8gcmVhZCB3cml0ZW9ubHkgcmVnaXN0ZXIiCm1zZ3N0ciAicmlubmVhZGggaWFycmFjaHQgYXIgdGhhYmhhbGwgc2Ny7W9mYS1hbWjhaW4gYSBs6WFtaCIKCiM6IGFyYy1vcGMuYzo0MjYKIywgYy1mb3JtYXQKbXNnaWQgImludmFsaWQgcmVnaXN0ZXIgbnVtYmVyIGAlZCciCm1zZ3N0ciAidWltaGlyIG5lYW1oYmhhaWztIGAlZCcgYXIgdGhhYmhhbGwiCgojOiBhcmMtb3BjLmM6NTkyIGFyYy1vcGMuYzo2NDMgYXJjLW9wYy5jOjY3MQptc2dpZCAidG9vIG1hbnkgbG9uZyBjb25zdGFudHMiCm1zZ3N0ciAiYW4gaW9tYXJjYSB0YWlyaXNlYWNoIGZhZGEiCgojOiBhcmMtb3BjLmM6NjY2Cm1zZ2lkICJ0byBtYW55IHNoaW1tcyBpbiBsb2FkIgptc2dzdHIgImFuIGlvbWFyY2Egc2hpbW1lYW5uYSBsZSBsaW5uIGx1Y2h0YWl0aGUiCgojLiBEbyB3ZSBoYXZlIGEgbGltbSBhbHJlYWR5PwojOiBhcmMtb3BjLmM6Nzc5Cm1zZ2lkICJpbXBvc3NpYmxlIHN0b3JlIgptc2dzdHIgInN083LhaWwgZGhvZGjpYW50YSIKCiM6IGFyYy1vcGMuYzo4MTIKbXNnaWQgInN0IG9wZXJhbmQgZXJyb3IiCm1zZ3N0ciAiZWFycuFpZCBsZSBob2licmVhbm4gc3QiCgojOiBhcmMtb3BjLmM6ODE2IGFyYy1vcGMuYzo4NTgKbXNnaWQgImFkZHJlc3Mgd3JpdGViYWNrIG5vdCBhbGxvd2VkIgptc2dzdHIgIm7tIGNoZWFkYe10ZWFyIGFpcy1zY3Ltb2JoIGFuIHRzZW9sdGEiCgojOiBhcmMtb3BjLmM6ODIwCm1zZ2lkICJzdG9yZSB2YWx1ZSBtdXN0IGJlIHplcm8iCm1zZ3N0ciAiY2FpdGhmaWRoIGx1YWNoIGFuIHN082lyIGEgYmhlaXRoIG5pYWxhcyIKCiM6IGFyYy1vcGMuYzo4NDUKbXNnaWQgImludmFsaWQgbG9hZC9zaGltbSBpbnNuIgptc2dzdHIgImluc24gbHVjaHRhaXRoZS9zaGltbSBuZWFtaGJoYWls7SIKCiM6IGFyYy1vcGMuYzo4NTQKbXNnaWQgImxkIG9wZXJhbmQgZXJyb3IiCm1zZ3N0ciAiZWFycuFpZCBsZSBob2licmVhbm4gbGQiCgojOiBhcmMtb3BjLmM6OTQxCm1zZ2lkICJqdW1wIGZsYWdzLCBidXQgbm8gLmYgc2VlbiIKbXNnc3RyICJicmF0YWNoYSBs6WltZSwgYWNoIG7tIGZoYWN0aGFzIC5mIGFyIGJpdGgiCgojOiBhcmMtb3BjLmM6OTQ0Cm1zZ2lkICJqdW1wIGZsYWdzLCBidXQgbm8gbGltbSBhZGRyIgptc2dzdHIgImJyYXRhY2hhIGzpaW1lLCBhY2ggZ2FuIHNlb2xhZGggbGltbSIKCiM6IGFyYy1vcGMuYzo5NDcKbXNnaWQgImZsYWcgYml0cyBvZiBqdW1wIGFkZHJlc3MgbGltbSBsb3N0Igptc2dzdHIgImNhaWxsZWFkaCBnaW904WluIGJocmF0Ye0gZGVuIHNlb2xhZGggbOlpbWUgbGltbSIKCiM6IGFyYy1vcGMuYzo5NTAKbXNnaWQgImF0dGVtcHQgdG8gc2V0IEhSIGJpdHMiCm1zZ3N0ciAicmlubmVhZGggaWFycmFjaHQgZ2lvdOFpbiBIUiBhIHNob2Ny+iIKCiM6IGFyYy1vcGMuYzo5NTMKbXNnaWQgImJhZCBqdW1wIGZsYWdzIHZhbHVlIgptc2dzdHIgImx1YWNoIG5lYW1oYmhhaWztIGFyIGJocmF0YWNoYSBs6WltZSIKCiM6IGFyYy1vcGMuYzo5ODYKbXNnaWQgImJyYW5jaCBhZGRyZXNzIG5vdCBvbiA0IGJ5dGUgYm91bmRhcnkiCm1zZ3N0ciAic2VvbGFkaCBicmFpbnNlIGdhbiBhIGJoZWl0aCBhciB0aGVvcmFpbm4gNCBiaGVhcnQiCgojOiBhcmMtb3BjLmM6MTAyMgptc2dpZCAibXVzdCBzcGVjaWZ5IC5qZCBvciBubyBudWxsaWZ5IHN1ZmZpeCIKbXNnc3RyICJu7SBt83IgZHVpdCAuamQgbvMgaWFybWjtciBnYW4gbmVhbWhuafogYSBzaG9ucvoiCgojOiBhcm0tZGlzLmM6MTMwMgptc2dpZCAiPGlsbGVnYWwgcHJlY2lzaW9uPiIKbXNnc3RyICI8YmVhY2h0YXMgbmVhbWhjaGVhZGFpdGhlPiIKCiMuIFhYWCAtIHNob3VsZCBicmVhayAnb3B0aW9uJyBhdCBmb2xsb3dpbmcgZGVsaW1pdGVyLgojOiBhcm0tZGlzLmM6Mjc0NgojLCBjLWZvcm1hdAptc2dpZCAiVW5yZWNvZ25pc2VkIHJlZ2lzdGVyIG5hbWUgc2V0OiAlc1xuIgptc2dzdHIgIlRhY2FyIGFuYWl0aG5pZCBkJ2Fpbm1uZWFjaGEgdGFpYmhsZTogJXNcbiIKCiMuIFhYWCAtIHNob3VsZCBicmVhayAnb3B0aW9uJyBhdCBmb2xsb3dpbmcgZGVsaW1pdGVyLgojOiBhcm0tZGlzLmM6Mjc1NAojLCBjLWZvcm1hdAptc2dpZCAiVW5yZWNvZ25pc2VkIGRpc2Fzc2VtYmxlciBvcHRpb246ICVzXG4iCm1zZ3N0ciAiUm9naGEgYW5haXRobmlkIGTtZGjtb2xhbfNyYTogJXNcbiIKCiM6IGFybS1kaXMuYzoyOTE2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIlRoZSBmb2xsb3dpbmcgQVJNIHNwZWNpZmljIGRpc2Fzc2VtYmxlciBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIHVzZSB3aXRoXG4iCiJ0aGUgLU0gc3dpdGNoOlxuIgptc2dzdHIgIiIKIlxuIgoiVGFjYe10ZWFyIGxlaXMgbmEgcm9naGFubmEgYSBsZWFuYXMsIGF04SBzYWluafppbCBkbyBBUk0gYWd1cyBsZSBo+nPhaWQgaW4g6WluZWFjaHRcbiIKImxlaXMgYW4gcm9naGEgLU06XG4iCgojOiBhdnItZGlzLmM6MTA5IGF2ci1kaXMuYzoxMTkKIywgYy1mb3JtYXQKbXNnaWQgInVuZGVmaW5lZCIKbXNnc3RyICJnYW4gc2Fpbm1o7W5p+iIKCiM6IGF2ci1kaXMuYzoxNzYKIywgYy1mb3JtYXQKbXNnaWQgIkludGVybmFsIGRpc2Fzc2VtYmxlciBlcnJvciIKbXNnc3RyICJFYXJy4WlkIGlubWhl4W5hY2ggZO1kaO1vbGFt83JhIgoKIzogYXZyLWRpcy5jOjIyNQojLCBjLWZvcm1hdAptc2dpZCAidW5rbm93biBjb25zdHJhaW50IGAlYyciCm1zZ3N0ciAiaWFsbGFjaCBhbmFpdGhuaWQgYCVjJyIKCiM6IGNnZW4tYXNtLmM6MzM2IGZyMzAtaWJsZC5jOjE5MiBmcnYtaWJsZC5jOjE5MiBpcDJrLWlibGQuYzoxOTIKIzogaXEyMDAwLWlibGQuYzoxOTIgbTMyYy1pYmxkLmM6MTkyIG0zMnItaWJsZC5jOjE5MiBtczEtaWJsZC5jOjE5MgojOiBvcGVucmlzYy1pYmxkLmM6MTkyIHhzdG9ybXkxNi1pYmxkLmM6MTkyCiMsIGMtZm9ybWF0Cm1zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZSAoJWxkIG5vdCBiZXR3ZWVuICVsZCBhbmQgJWxkKSIKbXNnc3RyICJvaWJyZWFubiBhcyByYW9uIChu7WwgJWxkIGlkaXIgJWxkIGFndXMgJWxkKSIKCiM6IGNnZW4tYXNtLmM6MzU4CiMsIGMtZm9ybWF0Cm1zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZSAoJWx1IG5vdCBiZXR3ZWVuICVsdSBhbmQgJWx1KSIKbXNnc3RyICJvaWJyZWFubiBhcyByYW9uIChu7WwgJWx1IGlkaXIgJWx1IGFndXMgJWx1KSIKCiM6IGQzMHYtZGlzLmM6MjUyCiMsIGMtZm9ybWF0Cm1zZ2lkICI8dW5rbm93biByZWdpc3RlciAlZD4iCm1zZ3N0ciAiPHRhYmhhbGwgYW5haXRobmlkICVkPiIKCiMuIENhbid0IGhhcHBlbi4KIzogZGlzLWJ1Zi5jOjU3CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbmtub3duIGVycm9yICVkXG4iCm1zZ3N0ciAiRWFycuFpZCBhbmFpdGhuaWQgJWRcbiIKCiM6IGRpcy1idWYuYzo2NgojLCBjLWZvcm1hdAptc2dpZCAiQWRkcmVzcyAweCVzIGlzIG91dCBvZiBib3VuZHMuXG4iCm1zZ3N0ciAiVOEgYW4gc2VvbGFkaCAweCVzIHRoYXIgdGVvcmFpbm4uXG4iCgojOiBmcjMwLWFzbS5jOjkyIG0zMmMtYXNtLmM6NzgyIG0zMmMtYXNtLmM6Nzg5Cm1zZ2lkICJSZWdpc3RlciBudW1iZXIgaXMgbm90IHZhbGlkIgptc2dzdHIgInVpbWhpciBuZWFtaGJoYWls7SBhciBhbiB0YWJoYWxsIgoKIzogZnIzMC1hc20uYzo5NAptc2dpZCAiUmVnaXN0ZXIgbXVzdCBiZSBiZXR3ZWVuIHIwIGFuZCByNyIKbXNnc3RyICJDYWl0aGZpZGggYW4gdGFiaGFsbCBhIGJoZWl0aCBpZGlyIHIwIGFndXMgcjciCgojOiBmcjMwLWFzbS5jOjk2Cm1zZ2lkICJSZWdpc3RlciBtdXN0IGJlIGJldHdlZW4gcjggYW5kIHIxNSIKbXNnc3RyICJDYWl0aGZpZGggYW4gdGFiaGFsbCBhIGJoZWl0aCBpZGlyIHI4IGFndXMgcjE1IgoKIzogZnIzMC1hc20uYzoxMTUgbTMyYy1hc20uYzo4MjAKbXNnaWQgIlJlZ2lzdGVyIGxpc3QgaXMgbm90IHZhbGlkIgptc2dzdHIgIk7tbCBsaW9zdGEgbmEgZHRhaWJobGUgYmFpbO0iCgojOiBmcjMwLWFzbS5jOjMwOSBmcnYtYXNtLmM6MTI2MiBpcDJrLWFzbS5jOjUxMCBpcTIwMDAtYXNtLmM6NDU2CiM6IG0zMmMtYXNtLmM6MTQ3NiBtMzJyLWFzbS5jOjMyMyBtczEtYXNtLmM6NTQ2IG9wZW5yaXNjLWFzbS5jOjI0MAojOiB4c3Rvcm15MTYtYXNtLmM6Mjc1CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgcGFyc2luZy5cbiIKbXNnc3RyICJS6Wltc2UgYW5haXRobmlkICVkIGxlIGxpbm4gcGFyc+FsYS5cbiIKCiM6IGZyMzAtYXNtLmM6MzU3IGZydi1hc20uYzoxMzEwIGlwMmstYXNtLmM6NTU4IGlxMjAwMC1hc20uYzo1MDQKIzogbTMyYy1hc20uYzoxNTI0IG0zMnItYXNtLmM6MzcxIG1zMS1hc20uYzo1OTQgb3BlbnJpc2MtYXNtLmM6Mjg4CiM6IHhzdG9ybXkxNi1hc20uYzozMjMKbXNnaWQgIm1pc3NpbmcgbW5lbW9uaWMgaW4gc3ludGF4IHN0cmluZyIKbXNnc3RyICJjdWltaG5lb2xh7W9jaCBhciBpYXJyYWlkaCBpIGR0ZWFnaHLhbiBjb21oculpcmUiCgojLiBXZSBjb3VsZG4ndCBwYXJzZSBpdC4KIzogZnIzMC1hc20uYzo0OTIgZnIzMC1hc20uYzo0OTYgZnIzMC1hc20uYzo1ODMgZnIzMC1hc20uYzo2ODQgZnJ2LWFzbS5jOjE0NDUKIzogZnJ2LWFzbS5jOjE0NDkgZnJ2LWFzbS5jOjE1MzYgZnJ2LWFzbS5jOjE2MzcgaXAyay1hc20uYzo2OTMgaXAyay1hc20uYzo2OTcKIzogaXAyay1hc20uYzo3ODQgaXAyay1hc20uYzo4ODUgaXEyMDAwLWFzbS5jOjYzOSBpcTIwMDAtYXNtLmM6NjQzCiM6IGlxMjAwMC1hc20uYzo3MzAgaXEyMDAwLWFzbS5jOjgzMSBtMzJjLWFzbS5jOjE2NTkgbTMyYy1hc20uYzoxNjYzCiM6IG0zMmMtYXNtLmM6MTc1MCBtMzJjLWFzbS5jOjE4NTEgbTMyci1hc20uYzo1MDYgbTMyci1hc20uYzo1MTAKIzogbTMyci1hc20uYzo1OTcgbTMyci1hc20uYzo2OTggbXMxLWFzbS5jOjcyOSBtczEtYXNtLmM6NzMzIG1zMS1hc20uYzo4MjAKIzogbXMxLWFzbS5jOjkyMSBvcGVucmlzYy1hc20uYzo0MjMgb3BlbnJpc2MtYXNtLmM6NDI3IG9wZW5yaXNjLWFzbS5jOjUxNAojOiBvcGVucmlzYy1hc20uYzo2MTUgeHN0b3JteTE2LWFzbS5jOjQ1OCB4c3Rvcm15MTYtYXNtLmM6NDYyCiM6IHhzdG9ybXkxNi1hc20uYzo1NDkgeHN0b3JteTE2LWFzbS5jOjY1MAptc2dpZCAidW5yZWNvZ25pemVkIGluc3RydWN0aW9uIgptc2dzdHIgInRyZW9pciBhbmFpdGhuaWQiCgojOiBmcjMwLWFzbS5jOjUzOSBmcnYtYXNtLmM6MTQ5MiBpcDJrLWFzbS5jOjc0MCBpcTIwMDAtYXNtLmM6Njg2CiM6IG0zMmMtYXNtLmM6MTcwNiBtMzJyLWFzbS5jOjU1MyBtczEtYXNtLmM6Nzc2IG9wZW5yaXNjLWFzbS5jOjQ3MAojOiB4c3Rvcm15MTYtYXNtLmM6NTA1CiMsIGMtZm9ybWF0Cm1zZ2lkICJzeW50YXggZXJyb3IgKGV4cGVjdGVkIGNoYXIgYCVjJywgZm91bmQgYCVjJykiCm1zZ3N0ciAiZWFycuFpZCBjaG9taHLpaXJlIChiaO1vdGhhcyBhZyBz+mlsIGxlIGAlYycsIGZ1YXJ0aGFzIGAlYycpIgoKIzogZnIzMC1hc20uYzo1NDkgZnJ2LWFzbS5jOjE1MDIgaXAyay1hc20uYzo3NTAgaXEyMDAwLWFzbS5jOjY5NgojOiBtMzJjLWFzbS5jOjE3MTYgbTMyci1hc20uYzo1NjMgbXMxLWFzbS5jOjc4NiBvcGVucmlzYy1hc20uYzo0ODAKIzogeHN0b3JteTE2LWFzbS5jOjUxNQojLCBjLWZvcm1hdAptc2dpZCAic3ludGF4IGVycm9yIChleHBlY3RlZCBjaGFyIGAlYycsIGZvdW5kIGVuZCBvZiBpbnN0cnVjdGlvbikiCm1zZ3N0ciAiZWFycuFpZCBjaG9taHLpaXJlIChiaO1vdGhhcyBhZyBz+mlsIGxlIGAlYycsIGZ1YXJ0aGFzIGRlaXJlYWRoIG5hIHRyZW9yYWNoKSIKCiM6IGZyMzAtYXNtLmM6NTc3IGZydi1hc20uYzoxNTMwIGlwMmstYXNtLmM6Nzc4IGlxMjAwMC1hc20uYzo3MjQKIzogbTMyYy1hc20uYzoxNzQ0IG0zMnItYXNtLmM6NTkxIG1zMS1hc20uYzo4MTQgb3BlbnJpc2MtYXNtLmM6NTA4CiM6IHhzdG9ybXkxNi1hc20uYzo1NDMKbXNnaWQgImp1bmsgYXQgZW5kIG9mIGxpbmUiCm1zZ3N0ciAiYnJ1c2NhciBhZyBkZWlyZWFkaCBuYSBs7W5lIgoKIzogZnIzMC1hc20uYzo2ODMgZnJ2LWFzbS5jOjE2MzYgaXAyay1hc20uYzo4ODQgaXEyMDAwLWFzbS5jOjgzMAojOiBtMzJjLWFzbS5jOjE4NTAgbTMyci1hc20uYzo2OTcgbXMxLWFzbS5jOjkyMCBvcGVucmlzYy1hc20uYzo2MTQKIzogeHN0b3JteTE2LWFzbS5jOjY0OQptc2dpZCAidW5yZWNvZ25pemVkIGZvcm0gb2YgaW5zdHJ1Y3Rpb24iCm1zZ3N0ciAiZm9pcm0gYW5haXRobmlkIGRlIHRocmVvaXIiCgojOiBmcjMwLWFzbS5jOjY5NSBmcnYtYXNtLmM6MTY0OCBpcDJrLWFzbS5jOjg5NiBpcTIwMDAtYXNtLmM6ODQyCiM6IG0zMmMtYXNtLmM6MTg2MiBtMzJyLWFzbS5jOjcwOSBtczEtYXNtLmM6OTMyIG9wZW5yaXNjLWFzbS5jOjYyNgojOiB4c3Rvcm15MTYtYXNtLmM6NjYxCiMsIGMtZm9ybWF0Cm1zZ2lkICJiYWQgaW5zdHJ1Y3Rpb24gYCUuNTBzLi4uJyIKbXNnc3RyICJkcm9jaHRocmVvaXIgYCUuNTBzLi4uJyIKCiM6IGZyMzAtYXNtLmM6Njk4IGZydi1hc20uYzoxNjUxIGlwMmstYXNtLmM6ODk5IGlxMjAwMC1hc20uYzo4NDUKIzogbTMyYy1hc20uYzoxODY1IG0zMnItYXNtLmM6NzEyIG1zMS1hc20uYzo5MzUgb3BlbnJpc2MtYXNtLmM6NjI5CiM6IHhzdG9ybXkxNi1hc20uYzo2NjQKIywgYy1mb3JtYXQKbXNnaWQgImJhZCBpbnN0cnVjdGlvbiBgJS41MHMnIgptc2dzdHIgImRyb2NodGhyZW9pciBgJS41MHMnIgoKIy4gRGVmYXVsdCB0ZXh0IHRvIHByaW50IGlmIGFuIGluc3RydWN0aW9uIGlzbid0IHJlY29nbml6ZWQuCiM6IGZyMzAtZGlzLmM6NDEgZnJ2LWRpcy5jOjQxIGlwMmstZGlzLmM6NDEgaXEyMDAwLWRpcy5jOjQxIG0zMmMtZGlzLmM6NDEKIzogbTMyci1kaXMuYzo0MSBtbWl4LWRpcy5jOjI3OCBtczEtZGlzLmM6NDEgb3BlbnJpc2MtZGlzLmM6NDEKIzogeHN0b3JteTE2LWRpcy5jOjQxCm1zZ2lkICIqdW5rbm93bioiCm1zZ3N0ciAiKmFuYWl0aG5pZCoiCgojOiBmcjMwLWRpcy5jOjI5OSBmcnYtZGlzLmM6Mzk2IGlwMmstZGlzLmM6Mjg4IGlxMjAwMC1kaXMuYzoxODkgbTMyYy1kaXMuYzo4NjAKIzogbTMyci1kaXMuYzoyNTYgbXMxLWRpcy5jOjI1OCBvcGVucmlzYy1kaXMuYzoxMzUgeHN0b3JteTE2LWRpcy5jOjE2OAojLCBjLWZvcm1hdAptc2dpZCAiVW5yZWNvZ25pemVkIGZpZWxkICVkIHdoaWxlIHByaW50aW5nIGluc24uXG4iCm1zZ3N0ciAiUulpbXNlIGFuYWl0aG5pZCAlZCBsZSBsaW5uIHByaW9udOFsYSBpbnNuLlxuIgoKIzogZnIzMC1pYmxkLmM6MTYzIGZydi1pYmxkLmM6MTYzIGlwMmstaWJsZC5jOjE2MyBpcTIwMDAtaWJsZC5jOjE2MwojOiBtMzJjLWlibGQuYzoxNjMgbTMyci1pYmxkLmM6MTYzIG1zMS1pYmxkLmM6MTYzIG9wZW5yaXNjLWlibGQuYzoxNjMKIzogeHN0b3JteTE2LWlibGQuYzoxNjMKIywgYy1mb3JtYXQKbXNnaWQgIm9wZXJhbmQgb3V0IG9mIHJhbmdlICglbGQgbm90IGJldHdlZW4gJWxkIGFuZCAlbHUpIgptc2dzdHIgIm9pYnJlYW5uIGFzIHJhb24gKG7tbCAlbGQgaWRpciAlbGQgYWd1cyAlbHUpIgoKIzogZnIzMC1pYmxkLmM6MTc2IGZydi1pYmxkLmM6MTc2IGlwMmstaWJsZC5jOjE3NiBpcTIwMDAtaWJsZC5jOjE3NgojOiBtMzJjLWlibGQuYzoxNzYgbTMyci1pYmxkLmM6MTc2IG1zMS1pYmxkLmM6MTc2IG9wZW5yaXNjLWlibGQuYzoxNzYKIzogeHN0b3JteTE2LWlibGQuYzoxNzYKIywgYy1mb3JtYXQKbXNnaWQgIm9wZXJhbmQgb3V0IG9mIHJhbmdlICglbHUgbm90IGJldHdlZW4gMCBhbmQgJWx1KSIKbXNnc3RyICJvaWJyZWFubiBhcyByYW9uIChu7WwgJWx1IGlkaXIgMCBhZ3VzICVsdSkiCgojOiBmcjMwLWlibGQuYzo3MTkgZnJ2LWlibGQuYzo4NDUgaXAyay1pYmxkLmM6NTk2IGlxMjAwMC1pYmxkLmM6NzAyCiM6IG0zMmMtaWJsZC5jOjE2NjggbTMyci1pYmxkLmM6NjU0IG1zMS1pYmxkLmM6NzEzIG9wZW5yaXNjLWlibGQuYzo2MjIKIzogeHN0b3JteTE2LWlibGQuYzo2NjcKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBidWlsZGluZyBpbnNuLlxuIgptc2dzdHIgIlLpaW1zZSBhbmFpdGhuaWQgJWQgbGUgbGlubiB082fhbGEgaW5zbi5cbiIKCiM6IGZyMzAtaWJsZC5jOjkyNCBmcnYtaWJsZC5jOjExNjIgaXAyay1pYmxkLmM6NjcxIGlxMjAwMC1pYmxkLmM6ODc3CiM6IG0zMmMtaWJsZC5jOjI3ODAgbTMyci1pYmxkLmM6NzkxIG1zMS1pYmxkLmM6OTA3IG9wZW5yaXNjLWlibGQuYzo3MjIKIzogeHN0b3JteTE2LWlibGQuYzo4MTMKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBkZWNvZGluZyBpbnNuLlxuIgptc2dzdHIgIlLpaW1zZSBhbmFpdGhuaWQgJWQgbGUgbGlubiBk7WNo82RhaXRoZSBpbnNuLlxuIgoKIzogZnIzMC1pYmxkLmM6MTA3MCBmcnYtaWJsZC5jOjE0NDAgaXAyay1pYmxkLmM6NzQ1IGlxMjAwMC1pYmxkLmM6MTAwOAojOiBtMzJjLWlibGQuYzozMzc5IG0zMnItaWJsZC5jOjkwNCBtczEtaWJsZC5jOjEwODYgb3BlbnJpc2MtaWJsZC5jOjc5OQojOiB4c3Rvcm15MTYtaWJsZC5jOjkyMwojLCBjLWZvcm1hdAptc2dpZCAiVW5yZWNvZ25pemVkIGZpZWxkICVkIHdoaWxlIGdldHRpbmcgaW50IG9wZXJhbmQuXG4iCm1zZ3N0ciAiUulpbXNlIGFuYWl0aG5pZCAlZCBhZ3VzIG9pYnJlYW5uIHNs4W51aW1ocmn6aWwg4SBmaOFpbC5cbiIKCiM6IGZyMzAtaWJsZC5jOjExOTggZnJ2LWlibGQuYzoxNzAwIGlwMmstaWJsZC5jOjgwMSBpcTIwMDAtaWJsZC5jOjExMjEKIzogbTMyYy1pYmxkLmM6Mzk2MCBtMzJyLWlibGQuYzo5OTkgbXMxLWlibGQuYzoxMjQ3IG9wZW5yaXNjLWlibGQuYzo4NTgKIzogeHN0b3JteTE2LWlibGQuYzoxMDE1CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgZ2V0dGluZyB2bWEgb3BlcmFuZC5cbiIKbXNnc3RyICJS6Wltc2UgYW5haXRobmlkICVkIGFndXMgb2licmVhbm4gdm1hIOEgZmjhaWwuXG4iCgojOiBmcjMwLWlibGQuYzoxMzI5IGZydi1pYmxkLmM6MTk2NyBpcDJrLWlibGQuYzo4NjAgaXEyMDAwLWlibGQuYzoxMjQxCiM6IG0zMmMtaWJsZC5jOjQ1MjkgbTMyci1pYmxkLmM6MTEwMCBtczEtaWJsZC5jOjE0MTUgb3BlbnJpc2MtaWJsZC5jOjkyNAojOiB4c3Rvcm15MTYtaWJsZC5jOjExMTQKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBzZXR0aW5nIGludCBvcGVyYW5kLlxuIgptc2dzdHIgIlLpaW1zZSBhbmFpdGhuaWQgJWQgYWd1cyBvaWJyZWFubiBzbOFudWltaHJp+mlsIOEgc2hvY3L6LlxuIgoKIzogZnIzMC1pYmxkLmM6MTQ1MCBmcnYtaWJsZC5jOjIyMjQgaXAyay1pYmxkLmM6OTA5IGlxMjAwMC1pYmxkLmM6MTM1MQojOiBtMzJjLWlibGQuYzo1MDg4IG0zMnItaWJsZC5jOjExOTEgbXMxLWlibGQuYzoxNTczIG9wZW5yaXNjLWlibGQuYzo5ODAKIzogeHN0b3JteTE2LWlibGQuYzoxMjAzCiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgc2V0dGluZyB2bWEgb3BlcmFuZC5cbiIKbXNnc3RyICJS6Wltc2UgYW5haXRobmlkICVkIGFndXMgb2licmVhbm4gdm1hIOEgc2hvY3L6LlxuIgoKIzogZnJ2LWFzbS5jOjYwNwptc2dpZCAibWlzc2luZyBgXSciCm1zZ3N0ciAiYF0nIGFyIGlhcnJhaWRoIgoKIzogZnJ2LWFzbS5jOjYxMCBmcnYtYXNtLmM6NjIwCm1zZ2lkICJTcGVjaWFsIHB1cnBvc2UgcmVnaXN0ZXIgbnVtYmVyIGlzIG91dCBvZiByYW5nZSIKbXNnc3RyICJVaW1oaXIgdGhhYmhhbGwgc2FpbmNodXNw82lyaWdoIGFzIHJhb24iCgojOiBmcnYtYXNtLmM6OTA3Cm1zZ2lkICJWYWx1ZSBvZiBBIG9wZXJhbmQgbXVzdCBiZSAwIG9yIDEiCm1zZ3N0ciAiY2FpdGhmaWRoIGx1YWNoIGFuIG9pYnJpbm4gQSBhIGJoZWl0aCAwIG7zIDEiCgojOiBmcnYtYXNtLmM6OTQzCm1zZ2lkICJyZWdpc3RlciBudW1iZXIgbXVzdCBiZSBldmVuIgptc2dzdHIgImNhaXRoZmlkaCB1aW1oaXIgYW4gdGFiaGFpbGwgYSBiaGVpdGggY290aHJvbSIKCiMuIC0tIGFzc2VtYmxlciByb3V0aW5lcyBpbnNlcnRlZCBoZXJlLgojLiAtLSBhc20uYwojOiBmcnYtYXNtLmM6OTcxIGlxMjAwMC1hc20uYzo1NSBtMzJjLWFzbS5jOjE0MCBtMzJjLWFzbS5jOjIxMSBtMzJjLWFzbS5jOjI1MwojOiBtMzJjLWFzbS5jOjMxMiBtMzJjLWFzbS5jOjMzNCBtMzJyLWFzbS5jOjUyIG9wZW5yaXNjLWFzbS5jOjUzCm1zZ2lkICJtaXNzaW5nIGApJyIKbXNnc3RyICJgKScgYXIgaWFycmFpZGgiCgojOiBoODMwMC1kaXMuYzozMjUKIywgYy1mb3JtYXQKbXNnaWQgIkhtbW1tIDB4JXgiCm1zZ3N0ciAiSG1tbW0gMHgleCIKCiM6IGg4MzAwLWRpcy5jOjcwNgojLCBjLWZvcm1hdAptc2dpZCAiRG9uJ3QgdW5kZXJzdGFuZCAweCV4IFxuIgptc2dzdHIgIk7tIHRodWlnaW0gMHgleCBcbiIKCiM6IGg4NTAwLWRpcy5jOjEyMgojLCBjLWZvcm1hdAptc2dpZCAiY2FuJ3QgY29wZSB3aXRoIGluc2VydCAlZFxuIgptc2dzdHIgIm7tIGbpaWRpciBk6WlsZeFpbCBsZSBoaW9uc+EgJWRcbiIKCiMuIENvdWxkbid0IHVuZGVyc3RhbmQgYW55dGhpbmcuCiM6IGg4NTAwLWRpcy5jOjMyMgojLCBjLWZvcm1hdAptc2dpZCAiJTAyeFx0XHQqdW5rbm93bioiCm1zZ3N0ciAiJTAyeFx0XHQqYW5haXRobmlkKiIKCiM6IGkzODYtZGlzLmM6MTc0Mgptc2dpZCAiPGludGVybmFsIGRpc2Fzc2VtYmxlciBlcnJvcj4iCm1zZ3N0ciAiPGVhcnLhaWQgaW5taGXhbmFjaCBk7WRo7W9sYW3zcmE+IgoKIzogaWE2NC1nZW4uYzoyOTcKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBFcnJvcjogIgptc2dzdHIgIiVzOiBFYXJy4WlkOiAiCgojOiBpYTY0LWdlbi5jOjMxMAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IFdhcm5pbmc6ICIKbXNnc3RyICIlczogUmFiaGFkaDogIgoKIzogaWE2NC1nZW4uYzo0OTYgaWE2NC1nZW4uYzo3MzAKIywgYy1mb3JtYXQKbXNnaWQgIm11bHRpcGxlIG5vdGUgJXMgbm90IGhhbmRsZWRcbiIKbXNnc3RyICJpbG7zdGEgJXMgZ2FuIGzhaW1oc2XhaWxcbiIKCiM6IGlhNjQtZ2VuLmM6NjA3Cm1zZ2lkICJjYW4ndCBmaW5kIGlhNjQtaWMudGJsIGZvciByZWFkaW5nXG4iCm1zZ3N0ciAibu0gZulpZGlyIGlhNjQtaWMudGJsIGEgb3NjYWlsdCBjaHVuIOkgYSBs6WFtaFxuIgoKIzogaWE2NC1nZW4uYzo4MTIKIywgYy1mb3JtYXQKbXNnaWQgImNhbid0IGZpbmQgJXMgZm9yIHJlYWRpbmdcbiIKbXNnc3RyICJu7SBm6WlkaXIgJXMgYSBvc2NhaWx0IGNodW4g6SBhIGzpYW1oXG4iCgojOiBpYTY0LWdlbi5jOjEwMzYKIywgYy1mb3JtYXQKbXNnaWQgIiIKIm1vc3QgcmVjZW50IGZvcm1hdCAnJXMnXG4iCiJhcHBlYXJzIG1vcmUgcmVzdHJpY3RpdmUgdGhhbiAnJXMnXG4iCm1zZ3N0ciAiIgoiaXMgY29z+mlsIGdvIGJoZnVpbCBhbiBmaG9ybeFpZCBpc1xuIgoiZOlhbmHtICclcycgbu1vcyBzcmlhbnRh7SBu4SAnJXMnXG4iCgojOiBpYTY0LWdlbi5jOjEwNDcKIywgYy1mb3JtYXQKbXNnaWQgIm92ZXJsYXBwaW5nIGZpZWxkICVzLT4lc1xuIgptc2dzdHIgInLpaW1zZSBmb3JsdWl0ZSAlcy0+JXNcbiIKCiM6IGlhNjQtZ2VuLmM6MTI0NAojLCBjLWZvcm1hdAptc2dpZCAib3ZlcndyaXRpbmcgbm90ZSAlZCB3aXRoIG5vdGUgJWQgKElDOiVzKVxuIgptc2dzdHIgIm7zdGEgJWQg4SBmaG9yc2Ny7W9iaCBsZSBu83RhICVkIChJQzolcylcbiIKCiM6IGlhNjQtZ2VuLmM6MTQ0MwojLCBjLWZvcm1hdAptc2dpZCAiZG9uJ3Qga25vdyBob3cgdG8gc3BlY2lmeSAlJSBkZXBlbmRlbmN5ICVzXG4iCm1zZ3N0ciAibu1sIGZoaW9zIGFnYW0gY29uYXMgYSBzaG9ucmHtdGVhciBzcGxl4WNoYXMgJSUgJXNcbiIKCiM6IGlhNjQtZ2VuLmM6MTQ2NQojLCBjLWZvcm1hdAptc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gc3BlY2lmeSAjIGRlcGVuZGVuY3kgJXNcbiIKbXNnc3RyICJO7WwgZmhpb3MgYWdhbSBjb25hcyBhIHNob25yYe10ZWFyIHNwbGXhY2hhcyAjICVzXG4iCgojOiBpYTY0LWdlbi5jOjE1MDQKIywgYy1mb3JtYXQKbXNnaWQgIklDOiVzIFslc10gaGFzIG5vIHRlcm1pbmFscyBvciBzdWItY2xhc3Nlc1xuIgptc2dzdHIgIm7tbCB0ZWlybWlu6WlsIG7hIGZvLWFpY23tIGFnIElDOiVzIFslc11cbiIKCiM6IGlhNjQtZ2VuLmM6MTUwNwojLCBjLWZvcm1hdAptc2dpZCAiSUM6JXMgaGFzIG5vIHRlcm1pbmFscyBvciBzdWItY2xhc3Nlc1xuIgptc2dzdHIgIk7tbCB0ZWlybWlu6WlsIG7zIGZvLWFpY23tIGFnIElDOiVzXG4iCgojOiBpYTY0LWdlbi5jOjE1MTYKIywgYy1mb3JtYXQKbXNnaWQgIm5vIGluc25zIG1hcHBlZCBkaXJlY3RseSB0byB0ZXJtaW5hbCBJQyAlcyBbJXNdIgptc2dzdHIgIm7tbCBhb24gaW5zbiBtYXDhaWx0ZSBnbyBk7XJlYWNoIGdvIElDIHRlaXJtaW7pYWxhY2ggJXMgWyVzXSIKCiM6IGlhNjQtZ2VuLmM6MTUxOQojLCBjLWZvcm1hdAptc2dpZCAibm8gaW5zbnMgbWFwcGVkIGRpcmVjdGx5IHRvIHRlcm1pbmFsIElDICVzXG4iCm1zZ3N0ciAibu1sIGFvbiBpbnNuIG1hcOFpbHRlIGdvIGTtcmVhY2ggZ28gSUMgdGVpcm1pbulhbGFjaCAlc1xuIgoKIzogaWE2NC1nZW4uYzoxNTMwCiMsIGMtZm9ybWF0Cm1zZ2lkICJjbGFzcyAlcyBpcyBkZWZpbmVkIGJ1dCBub3QgdXNlZFxuIgptc2dzdHIgInNhaW5taO1u7W9kaCBhbiBhaWNtZSAlcywgYWNoIG7tb3IgYmFpbmVhZGgg+nPhaWQgYXNcbiIKCiM6IGlhNjQtZ2VuLmM6MTU0MQojLCBjLWZvcm1hdAptc2dpZCAiV2FybmluZzogcnNyYyAlcyAoJXMpIGhhcyBubyBjaGtzJXNcbiIKbXNnc3RyICJSYWJoYWRoOiBu7WwgYW9uIHNyaWFuIGFyIGFuIGFjbWhhaW5uICVzICglcyklc1xuIgoKIzogaWE2NC1nZW4uYzoxNTQ1CiMsIGMtZm9ybWF0Cm1zZ2lkICJyc3JjICVzICglcykgaGFzIG5vIHJlZ3NcbiIKbXNnc3RyICJu7WwgYW9uIHRhYmhhbGwgYWcgYWNtaGFpbm4gJXMgKCVzKVxuIgoKIzogaWE2NC1nZW4uYzoyNDQ0CiMsIGMtZm9ybWF0Cm1zZ2lkICJJQyBub3RlICVkIGluIG9wY29kZSAlcyAoSUM6JXMpIGNvbmZsaWN0cyB3aXRoIHJlc291cmNlICVzIG5vdGUgJWRcbiIKbXNnc3RyICJO83RhIElDICVkIHNhIGNo82Qgb2licu1vY2h0YSAlcyAoSUM6JXMpIGkgZ2NvaW5iaGxlYWNodCBsZSBoYWNtaGFpbm4gJXMgbvN0YSAlZFxuIgoKIzogaWE2NC1nZW4uYzoyNDcyCiMsIGMtZm9ybWF0Cm1zZ2lkICJJQyBub3RlICVkIGZvciBvcGNvZGUgJXMgKElDOiVzKSBjb25mbGljdHMgd2l0aCByZXNvdXJjZSAlcyBub3RlICVkXG4iCm1zZ3N0ciAiTvN0YSBJQyAlZCBsZSBoYWdoYWlkaCBj82lkIG9pYnLtb2NodGEgJXMgKElDOiVzKSBpIGdjb2luYmhsZWFjaHQgbGUgaGFjbWhhaW5uICVzIG7zdGEgJWRcbiIKCiM6IGlhNjQtZ2VuLmM6MjQ4NgojLCBjLWZvcm1hdAptc2dpZCAib3Bjb2RlICVzIGhhcyBubyBjbGFzcyAob3BzICVkICVkICVkKVxuIgptc2dzdHIgIm7tbCBhaWNtZSBhciBiaXRoIGFnIGPzZCBvaWJy7W9jaHRhICVzIChvaWJyaW5uICVkICVkICVkKVxuIgoKIzogaWE2NC1nZW4uYzoyODE2CiMsIGMtZm9ybWF0Cm1zZ2lkICJ1bmFibGUgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byBcIiVzXCIsIGVycm5vID0gJXNcbiIKbXNnc3RyICJu7SBm6WlkaXIgYW4gY2hvbWhhZGxhbm4gcmVhdGhhIGEgYXRocvogZ28gXCIlc1wiLCBlcnJubyA9ICVzXG4iCgojLiBXZSd2ZSBiZWVuIHBhc3NlZCBhIHcuICBSZXR1cm4gd2l0aCBhbiBlcnJvciBtZXNzYWdlIHNvIHRoYXQKIy4gY2dlbiB3aWxsIHRyeSB0aGUgbmV4dCBwYXJzaW5nIG9wdGlvbi4KIzogaXAyay1hc20uYzo4MAptc2dpZCAiVyBrZXl3b3JkIGludmFsaWQgaW4gRlIgb3BlcmFuZCBzbG90LiIKbXNnc3RyICJpcyBuZWFtaGJoYWls7SDpIGxvcmdmaG9jYWwgVyBpIHNsaW904W4gb2licmlubiBGUi4iCgojLiBJbnZhbGlkIG9mZnNldCBwcmVzZW50LgojOiBpcDJrLWFzbS5jOjEwNQptc2dpZCAib2Zmc2V0KElQKSBpcyBub3QgYSB2YWxpZCBmb3JtIgptc2dzdHIgImlzIG5lYW1oYmhhaWztIOkgYW4gZmhvaXJtIGZyaXRo4WlyZWFtaChJUCkiCgojLiBGb3VuZCBzb21ldGhpbmcgdGhlcmUgaW4gZnJvbnQgb2YgKERQKSBidXQgaXQncyBvdXQKIy4gb2YgcmFuZ2UuCiM6IGlwMmstYXNtLmM6MTUzCm1zZ2lkICIoRFApIG9mZnNldCBvdXQgb2YgcmFuZ2UuIgptc2dzdHIgImZyaXRo4WlyZWFtaCAoRFApIGFzIHJhb24uIgoKIy4gRm91bmQgc29tZXRoaW5nIHRoZXJlIGluIGZyb250IG9mIChTUCkgYnV0IGl0J3Mgb3V0CiMuIG9mIHJhbmdlLgojOiBpcDJrLWFzbS5jOjE5NAptc2dpZCAiKFNQKSBvZmZzZXQgb3V0IG9mIHJhbmdlLiIKbXNnc3RyICJmcml0aOFpcmVhbWggKFNQKSBhcyByYW9uLiIKCiM6IGlwMmstYXNtLmM6MjEwCm1zZ2lkICJpbGxlZ2FsIHVzZSBvZiBwYXJlbnRoZXNlcyIKbXNnc3RyICL6c+FpZCBuZWFtaGNoZWFkYWl0aGUgZGUgbPppYu1u7SIKCiM6IGlwMmstYXNtLmM6MjE3Cm1zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZSAobm90IGJldHdlZW4gMSBhbmQgMjU1KSIKbXNnc3RyICJvaWJyZWFubiBhcyByYW9uIChu7SBpZGlyIDEgYWd1cyAyNTUiCgojLiBTb21ldGhpbmcgaXMgdmVyeSB3cm9uZy4gb3BpbmRleCBoYXMgdG8gYmUgb25lIG9mIHRoZSBhYm92ZS4KIzogaXAyay1hc20uYzoyNDEKbXNnaWQgInBhcnNlX2FkZHIxNjogaW52YWxpZCBvcGluZGV4LiIKbXNnc3RyICJwYXJzZV9hZGRyMTY6IGlubulhY3MgbmVhbWhiaGFpbO0gb2licmlubi4iCgojOiBpcDJrLWFzbS5jOjI5NQptc2dpZCAiQnl0ZSBhZGRyZXNzIHJlcXVpcmVkLiAtIG11c3QgYmUgZXZlbi4iCm1zZ3N0ciAiU2VvbGFkaCBiaXJ0IGRlIGRo7XRoLiAtIG7tIG3zciBk8yBhIGJoZWl0aCBjb3Rocm9tLiIKCiM6IGlwMmstYXNtLmM6MzA0Cm1zZ2lkICJjZ2VuX3BhcnNlX2FkZHJlc3MgcmV0dXJuZWQgYSBzeW1ib2wuIExpdGVyYWwgcmVxdWlyZWQuIgptc2dzdHIgImQnZmhpbGwgY2dlbl9wYXJzZV9hZGRyZXNzIHNpb21iYWlsLiBU4SBn4SBsZSB0ZWFnaHLhbiBsaXRyafppbC4iCgojOiBpcDJrLWFzbS5jOjM1OQptc2dpZCAicGVyY2VudC1vcGVyYXRvciBvcGVyYW5kIGlzIG5vdCBhIHN5bWJvbCIKbXNnc3RyICJu7WwgYW4gdC1vaWJyZWFubiBj6WF0YWThaW4gaW5hIHNoaW9tYmFpbCIKCiM6IGlwMmstYXNtLmM6NDEyCm1zZ2lkICJBdHRlbXB0IHRvIGZpbmQgYml0IGluZGV4IG9mIDAiCm1zZ3N0ciAiUmlubmVhZGggaWFycmFjaHQgaW5u6WFjcyBnaW904WluIDAgYSBhaW1zafoiCgojOiBpcTIwMDAtYXNtLmM6MTExIGlxMjAwMC1hc20uYzoxNDEKbXNnaWQgImltbWVkaWF0ZSB2YWx1ZSBjYW5ub3QgYmUgcmVnaXN0ZXIiCm1zZ3N0ciAibu0gZulpZGlyIGFuIGx1YWNoIGzhaXRocmVhY2ggYSBiaGVpdGggdGFiaGFsbCIKCiM6IGlxMjAwMC1hc20uYzoxMjIgaXEyMDAwLWFzbS5jOjE1Mgptc2dpZCAiaW1tZWRpYXRlIHZhbHVlIG91dCBvZiByYW5nZSIKbXNnc3RyICJsdWFjaCBs4Wl0aHJlYWNoIGFzIHJhb24iCgojOiBpcTIwMDAtYXNtLmM6MTgxCm1zZ2lkICIyMS1iaXQgb2Zmc2V0IG91dCBvZiByYW5nZSIKbXNnc3RyICJmcml0aOFpcmVhbWggMjEtZ2lvdOFuIGFzIHJhb24iCgojOiBtMTAyMDAtZGlzLmM6MTU2IG0xMDMwMC1kaXMuYzo1ODAKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd25cdDB4JTA0bHgiCm1zZ3N0ciAiYW5haXRobmlkXHQweCUwNGx4IgoKIzogbTEwMjAwLWRpcy5jOjMyNgojLCBjLWZvcm1hdAptc2dpZCAidW5rbm93blx0MHglMDJseCIKbXNnc3RyICJhbmFpdGhuaWRcdDB4JTAybHgiCgojOiBtMzJjLWFzbS5jOjExNgptc2dpZCAiaW1tOjYgaW1tZWRpYXRlIGlzIG91dCBvZiByYW5nZSIKbXNnc3RyICJsdWFjaCBs4Wl0aHJlYWNoIGltbTo2IGFzIHJhb24iCgojOiBtMzJjLWFzbS5jOjE0NgojLCBjLWZvcm1hdAptc2dpZCAiJWRzcDgoKSB0YWtlcyBhIHN5bWJvbGljIGFkZHJlc3MsIG5vdCBhIG51bWJlciIKbXNnc3RyICJnbGFjYW5uICVkc3A4KCkgbGUgc2VvbGFkaCBzaW9tYmFsYWNoLCBu7SBnaGxhY2FubiBz6SBsZSBodWltaGlyIgoKIzogbTMyYy1hc20uYzoxNTkgbTMyYy1hc20uYzoxNjMgbTMyYy1hc20uYzoyMjkKbXNnaWQgImRzcDo4IGltbWVkaWF0ZSBpcyBvdXQgb2YgcmFuZ2UiCm1zZ3N0ciAibHVhY2ggbOFpdGhyZWFjaCBkc3A6OCBhcyByYW9uIgoKIzogbTMyYy1hc20uYzoxODQgbTMyYy1hc20uYzoxODgKbXNnaWQgIkltbWVkaWF0ZSBpcyBvdXQgb2YgcmFuZ2UgLTggdG8gNyIKbXNnc3RyICJMdWFjaCBs4Wl0aHJlYWNoIGFzIHJhb24gLTggZ28gZHTtIDciCgojOiBtMzJjLWFzbS5jOjI1OQojLCBjLWZvcm1hdAptc2dpZCAiJWRzcDE2KCkgdGFrZXMgYSBzeW1ib2xpYyBhZGRyZXNzLCBub3QgYSBudW1iZXIiCm1zZ3N0ciAiZ2xhY2FubiAlZHNwMTYoKSBsZSBzZW9sYWRoIHNpb21iYWxhY2gsIG7tIGdobGFjYW5uIHPpIGxlIGh1aW1oaXIiCgojOiBtMzJjLWFzbS5jOjI4MiBtMzJjLWFzbS5jOjI4OSBtMzJjLWFzbS5jOjM1Mgptc2dpZCAiZHNwOjE2IGltbWVkaWF0ZSBpcyBvdXQgb2YgcmFuZ2UiCm1zZ3N0ciAibHVhY2ggbOFpdGhyZWFjaCBkc3A6MTYgYXMgcmFvbiIKCiM6IG0zMmMtYXNtLmM6Mzc4Cm1zZ2lkICJkc3A6MjAgaW1tZWRpYXRlIGlzIG91dCBvZiByYW5nZSIKbXNnc3RyICJsdWFjaCBs4Wl0aHJlYWNoIGRzcDoyMCBhcyByYW9uIgoKIzogbTMyYy1hc20uYzo0MDQKbXNnaWQgImRzcDoyNCBpbW1lZGlhdGUgaXMgb3V0IG9mIHJhbmdlIgptc2dzdHIgImx1YWNoIGzhaXRocmVhY2ggZHNwOjI0IGFzIHJhb24iCgojOiBtMzJjLWFzbS5jOjQzNwptc2dpZCAiaW1tZWRpYXRlIGlzIG91dCBvZiByYW5nZSAxLTIiCm1zZ3N0ciAibHVhY2ggbOFpdGhyZWFjaCBhcyByYW9uIDEtMiIKCiM6IG0zMmMtYXNtLmM6NDU1Cm1zZ2lkICJpbW1lZGlhdGUgaXMgb3V0IG9mIHJhbmdlIDEtOCIKbXNnc3RyICJsdWFjaCBs4Wl0aHJlYWNoIGFzIHJhb24gMS04IgoKIzogbTMyYy1hc20uYzo0OTEKbXNnaWQgImltbWVkaWF0ZSBpcyBvdXQgb2YgcmFuZ2UgMi05Igptc2dzdHIgImx1YWNoIGzhaXRocmVhY2ggYXMgcmFvbiAyLTkiCgojOiBtMzJjLWFzbS5jOjUwOQptc2dpZCAiQml0IG51bWJlciBmb3IgaW5kZXhpbmcgZ2VuZXJhbCByZWdpc3RlciBpcyBvdXQgb2YgcmFuZ2UgMC0xNSIKbXNnc3RyICJVaW1oaXIgZ2hpb3ThaW4gbGUgaGFnaGFpZGggaW5u6WFjc/ogdGFiaGFsbCBnaW5lYXLhbHRhIGFzIHJhb24gMC0xNSIKCiM6IG0zMmMtYXNtLmM6NTQxIG0zMmMtYXNtLmM6NTc2Cm1zZ2lkICJiaXQsYmFzZSBpcyBvdXQgb2YgcmFuZ2UiCm1zZ3N0ciAiZ2lvdOFuLGJ1bnVpbWhpciBhcyByYW9uIgoKIzogbTMyYy1hc20uYzo3MTIKbXNnaWQgIm5vdCBhIHZhbGlkIHIwbC9yMGggcGFpciIKbXNnc3RyICJj+nBsYSBuZWFtaGJoYWls7SByMGwvcjBoIgoKIzogbTMyYy1hc20uYzo3NDIKbXNnaWQgIkludmFsaWQgc2l6ZSBzcGVjaWZpZXIiCm1zZ3N0ciAiU29ucmFpdGhlb2lyIG5lYW1oYmhhaWztIG3paWRlIgoKIzogbTY4ay1kaXMuYzoxMTYyCiMsIGMtZm9ybWF0Cm1zZ2lkICI8ZnVuY3Rpb24gY29kZSAlZD4iCm1zZ3N0ciAiPGPzZCBmZWlkaG1lICVkPiIKCiM6IG02OGstZGlzLmM6MTMxMwojLCBjLWZvcm1hdAptc2dpZCAiPGludGVybmFsIGVycm9yIGluIG9wY29kZSB0YWJsZTogJXMgJXM+XG4iCm1zZ3N0ciAiPGVhcnLhaWQgaW5taGXhbmFjaCBzYSB04WJsYSBkZSBjaPNpZCBvaWJy7W9jaHRhOiAlcyAlcz5cbiIKCiM6IG04OGstZGlzLmM6Njc5CiMsIGMtZm9ybWF0Cm1zZ2lkICIjIDxkaXMgZXJyb3I6ICUwOGx4PiIKbXNnc3RyICIjIDxlYXJy4WlkIGRpczogJTA4bHg+IgoKIzogbWlwcy1kaXMuYzo3MTgKbXNnaWQgIiMgaW50ZXJuYWwgZXJyb3IsIGluY29tcGxldGUgZXh0ZW5zaW9uIHNlcXVlbmNlICgrKSIKbXNnc3RyICIjIGVhcnLhaWQgaW5taGXhbmFjaCwgc2VpY2hlYW1oIG5lYW1oaW9tbOFuIHPtbnRlICgrKSIKCiM6IG1pcHMtZGlzLmM6ODA1CiMsIGMtZm9ybWF0Cm1zZ2lkICIjIGludGVybmFsIGVycm9yLCB1bmRlZmluZWQgZXh0ZW5zaW9uIHNlcXVlbmNlICgrJWMpIgptc2dzdHIgIiMgZWFycuFpZCBpbm1oZeFuYWNoLCBzZWljaGVhbWggc+1udGUgZ2FuIHNhaW5taO1uafogKCslYykiCgojOiBtaXBzLWRpcy5jOjExNTMKIywgYy1mb3JtYXQKbXNnaWQgIiMgaW50ZXJuYWwgZXJyb3IsIHVuZGVmaW5lZCBtb2RpZmllciglYykiCm1zZ3N0ciAiIyBlYXJy4WlkIGlubWhl4W5hY2gsIG1pb25hdGhyYWl0aGVvaXIgZ2FuIHNhaW5taO1uafooJWMpIgoKIzogbWlwcy1kaXMuYzoxNjYzCiMsIGMtZm9ybWF0Cm1zZ2lkICIjIGludGVybmFsIGRpc2Fzc2VtYmxlciBlcnJvciwgdW5yZWNvZ25pc2VkIG1vZGlmaWVyICglYykiCm1zZ3N0ciAiIyBlYXJy4WlkIGlubWhl4W5hY2ggZO1kaO1vbGFt83JhLCBtaW9uYXRocmFpdGhlb2lyIGFuYWl0aG5pZCAoJWMpIgoKIzogbWlwcy1kaXMuYzoxODk0CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIlRoZSBmb2xsb3dpbmcgTUlQUyBzcGVjaWZpYyBkaXNhc3NlbWJsZXIgb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciB1c2VcbiIKIndpdGggdGhlIC1NIHN3aXRjaCAobXVsdGlwbGUgb3B0aW9ucyBzaG91bGQgYmUgc2VwYXJhdGVkIGJ5IGNvbW1hcyk6XG4iCm1zZ3N0ciAiIgoiXG4iCiJUYWNh7XRlYXIgbGVpcyBuYSByb2doYW5uYSBk7WRo7W9sYW3zcmEgYSBsZWFuYXMsIGF04SBzYWluafppbCBkbyBNSVBTXG4iCiJhZ3VzIGxlIGj6c+FpZCBpbiDpaW5lYWNodCBsZWlzIGFuIHJvZ2hhIC1NIChiYSBjaPNpciByb2doYW5uYSBpb21hZPpsYVxuIgoiYSBiaGVpdGggc2NhcnRoYSBsZSBjYW3zZ2EpOlxuIgoKIzogbWlwcy1kaXMuYzoxODk4CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIiAgZ3ByLW5hbWVzPUFCSSAgICAgICAgICAgIFByaW50IEdQUiBuYW1lcyBhY2NvcmRpbmcgdG8gIHNwZWNpZmllZCBBQkkuXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0OiBiYXNlZCBvbiBiaW5hcnkgYmVpbmcgZGlzYXNzZW1ibGVkLlxuIgptc2dzdHIgIiIKIlxuIgoiICBncHItbmFtZXM9QUJJICAgICAgICAgIFRhaXNwZeFpbiBhaW5tbmVhY2hhIEdQUiBkZSBy6WlyIGFuIEFCSSBzb25yYWl0aGUuXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgUulhbWhzaG9jcvo6IGJ1bmFpdGhlIGFyIGNobOFyIGTpbuFydGhhIGTtb2xhaW1pdGhlLlxuIgoKIzogbWlwcy1kaXMuYzoxOTAyCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIiAgZnByLW5hbWVzPUFCSSAgICAgICAgICAgIFByaW50IEZQUiBuYW1lcyBhY2NvcmRpbmcgdG8gc3BlY2lmaWVkIEFCSS5cbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQ6IG51bWVyaWMuXG4iCm1zZ3N0ciAiIgoiXG4iCiIgIGZwci1uYW1lcz1BQkkgICAgICAgICAgVGFpc3Bl4WluIGFpbm1uZWFjaGEgRlBSIGRlIHLpaXIgYW4gQUJJIHNvbnJhaXRoZS5cbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICBS6WFtaHNob2Ny+jogdWltaHJp+mlsLlxuIgoKIzogbWlwcy1kaXMuYzoxOTA2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIiAgY3AwLW5hbWVzPUFSQ0ggICAgICAgICAgIFByaW50IENQMCByZWdpc3RlciBuYW1lcyBhY2NvcmRpbmcgdG9cbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmllZCBhcmNoaXRlY3R1cmUuXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0OiBiYXNlZCBvbiBiaW5hcnkgYmVpbmcgZGlzYXNzZW1ibGVkLlxuIgptc2dzdHIgIiIKIlxuIgoiICBjcDAtbmFtZXM9QUlMVElSRUFDSFQgIFRhaXNwZeFpbiBhaW5tbmVhY2hhIG5hIGR0YWliaGxlIENQMCBkZSBy6WlyIG5hXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgaGFpbHRpcmVhY2h0YSBzb25yYWl0aGUuXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgUulhbWhzaG9jcvo6IGJ1bmFpdGhlIGFyIGNobOFyIGTpbuFydGhhIGTtb2xhaW1pdGhlLlxuIgoKIzogbWlwcy1kaXMuYzoxOTExCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIiAgaHdyLW5hbWVzPUFSQ0ggICAgICAgICAgIFByaW50IEhXUiBuYW1lcyBhY2NvcmRpbmcgdG8gc3BlY2lmaWVkIFxuIgoiXHRcdFx0ICAgYXJjaGl0ZWN0dXJlLlxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdDogYmFzZWQgb24gYmluYXJ5IGJlaW5nIGRpc2Fzc2VtYmxlZC5cbiIKbXNnc3RyICIiCiJcbiIKIiAgaHdyLW5hbWVzPUFJTFRJUkVBQ0hUICBUYWlzcGXhaW4gYWlubW5lYWNoYSBIV1IgZGUgculpciBuYVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgIGhhaWx0aXJlYWNodGEgc29ucmFpdGhlLlxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgIFLpYW1oc2hvY3L6OiBidW5haXRoZSBhciBjaGzhciBk6W7hcnRoYSBk7W9sYWltaXRoZS5cbiIKCiM6IG1pcHMtZGlzLmM6MTkxNgojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiIgIHJlZy1uYW1lcz1BQkkgICAgICAgICAgICBQcmludCBHUFIgYW5kIEZQUiBuYW1lcyBhY2NvcmRpbmcgdG9cbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmllZCBBQkkuXG4iCm1zZ3N0ciAiIgoiXG4iCiIgIHJlZy1uYW1lcz1BQkkgICAgICAgICAgVGFpc3Bl4WluIGFpbm1uZWFjaGEgR1BSIGFndXMgRlBSIGRlIHLpaXIgYW5cbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICBBQkkgc29ucmFpdGhlLlxuIgoKIzogbWlwcy1kaXMuYzoxOTIwCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIiAgcmVnLW5hbWVzPUFSQ0ggICAgICAgICAgIFByaW50IENQMCByZWdpc3RlciBhbmQgSFdSIG5hbWVzIGFjY29yZGluZyB0b1xuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWVkIGFyY2hpdGVjdHVyZS5cbiIKbXNnc3RyICIiCiJcbiIKIiAgcmVnLW5hbWVzPUFJTFRJUkVBQ0hUICBUYWlzcGXhaW4gYWlubW5lYWNoYSBIV1IgYWd1cyBhaW5tbmVhY2hhIG5hIGR0YWliaGxlXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgQ1AwIGRlIHLpaXIgbmEgaGFpbHRpcmVhY2h0YSBzb25yYWl0aGUuXG4iCgojOiBtaXBzLWRpcy5jOjE5MjQKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiICBGb3IgdGhlIG9wdGlvbnMgYWJvdmUsIHRoZSBmb2xsb3dpbmcgdmFsdWVzIGFyZSBzdXBwb3J0ZWQgZm9yIFwiQUJJXCI6XG4iCiIgICAiCm1zZ3N0ciAiIgoiXG4iCiIgIExlIGhhZ2hhaWRoIG5hIHJvZ2hhbm5hIHRodWFzLCB0YWNh7XRlYXIgbGVpcyBuYSBsdWFjaGFubmEgYSBsZWFuYXMgYXIgXCJBQklcIjpcbiIKIiAgICIKCiM6IG1pcHMtZGlzLmM6MTkyOSBtaXBzLWRpcy5jOjE5MzcgbWlwcy1kaXMuYzoxOTM5CiMsIGMtZm9ybWF0Cm1zZ2lkICJcbiIKbXNnc3RyICJcbiIKCiM6IG1pcHMtZGlzLmM6MTkzMQojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiIgIEZvciB0aGUgb3B0aW9ucyBhYm92ZSwgVGhlIGZvbGxvd2luZyB2YWx1ZXMgYXJlIHN1cHBvcnRlZCBmb3IgXCJBUkNIXCI6XG4iCiIgICAiCm1zZ3N0ciAiIgoiXG4iCiIgIExlIGhhZ2hhaWRoIG5hIHJvZ2hhbm5hIHRodWFzLCB0YWNh7XRlYXIgbGVpcyBuYSBsdWFjaGFubmEgYSBsZWFuYXMgYXIgXCJBUkNIXCI6XG4iCiIgICAiCgojOiBtbWl4LWRpcy5jOjM1CiMsIGMtZm9ybWF0Cm1zZ2lkICJCYWQgY2FzZSAlZCAoJXMpIGluICVzOiVkXG4iCm1zZ3N0ciAiRHJvY2gtY2jhcyAlZCAoJXMpIGkgJXM6JWRcbiIKCiM6IG1taXgtZGlzLmM6NDUKIywgYy1mb3JtYXQKbXNnaWQgIkludGVybmFsOiBOb24tZGVidWdnZWQgY29kZSAodGVzdC1jYXNlIG1pc3NpbmcpOiAlczolZCIKbXNnc3RyICJJbm1oZeFuYWNoOiBj82QgZ2FuIGTtZmhhYmh0+iAoY+FzIHThc3ThbGEgYXIgaWFycmFpZGgpOiAlczolZCIKCiM6IG1taXgtZGlzLmM6NTQKbXNnaWQgIih1bmtub3duKSIKbXNnc3RyICIoYW5haXRobmlkKSIKCiM6IG1taXgtZGlzLmM6NTEzCiMsIGMtZm9ybWF0Cm1zZ2lkICIqdW5rbm93biBvcGVyYW5kcyB0eXBlOiAlZCoiCm1zZ3N0ciAiKmNpbmXhbCBhbmFpdGhuaWQgb2licmlubjogJWQqIgoKIzogbXMxLWFzbS5jOjg0IG1zMS1hc20uYzoxNjIKbXNnaWQgIk9wZXJhbmQgb3V0IG9mIHJhbmdlLiBNdXN0IGJlIGJldHdlZW4gLTMyNzY4IGFuZCAzMjc2Ny4iCm1zZ3N0ciAiT2licmVhbm4gYXMgcmFvbi4gQ2FpdGhmaWRoIHPpIGEgYmhlaXRoIGlkaXIgLTMyNzY4IGFndXMgMzI3NjcuIgoKIzogbXMxLWFzbS5jOjEyMQptc2dpZCAiQmlpaWlnIFRyb3VibGUgaW4gcGFyc2VfaW1tMTYhIgptc2dzdHIgIlRyaW9ibPNpZCBBbi1Bbi1NaPNyIGkgcGFyc2VfaW1tMTYhIgoKIzogbXMxLWFzbS5jOjEyOQojLCBjLWZvcm1hdAptc2dpZCAiJW9wZXJhdG9yIG9wZXJhbmQgaXMgbm90IGEgc3ltYm9sIgptc2dzdHIgIm7tIHNpb21iYWlsIOkgb2licmVhbm4gYW4gJW9pYnJlb3JhXCIiCgojOiBtczEtYXNtLmM6MzY3Cm1zZ2lkICJpbnZhbGlkIG9wZXJhbmQuICB0eXBlIG1heSBoYXZlIHZhbHVlcyAwLDEsMiBvbmx5LiIKbXNnc3RyICJvaWJyZWFubiBuZWFtaGJoYWls7S4gIG7tIGNoZWFkYe10ZWFyIGFjaCBuYSBsdWFjaGFubmEgMCwxLDIuIgoKIy4gSSBhbmQgWiBhcmUgb3V0cHV0IG9wZXJhbmRzIGFuZCBjYW5gdCBiZSBpbW1lZGlhdGUKIy4gQSBpcyBhbiBhZGRyZXNzIGFuZCB3ZSBjYW5gdCBoYXZlIHRoZSBhZGRyZXNzIG9mCiMuIGFuIGltbWVkaWF0ZSBlaXRoZXIuIFdlIGRvbid0IGtub3cgaG93IG11Y2ggdG8gaW5jcmVhc2UKIy4gYW9mZnNldHAgYnkgc2luY2Ugd2hhdGV2ZXIgZ2VuZXJhdGVkIHRoaXMgaXMgYnJva2VuCiMuIGFueXdheSEKIzogbnMzMmstZGlzLmM6NTM1CiMsIGMtZm9ybWF0Cm1zZ2lkICIkPHVuZGVmaW5lZD4iCm1zZ3N0ciAiJDxnYW4gc2Fpbm1o7W5p+j4iCgojOiBwcGMtb3BjLmM6ODAwIHBwYy1vcGMuYzo4MjgKbXNnaWQgImludmFsaWQgY29uZGl0aW9uYWwgb3B0aW9uIgptc2dzdHIgInJvZ2hhIG5lYW1oYmhhaWztIGNob2lubu1vbGxhY2giCgojOiBwcGMtb3BjLmM6ODMwCm1zZ2lkICJhdHRlbXB0IHRvIHNldCB5IGJpdCB3aGVuIHVzaW5nICsgb3IgLSBtb2RpZmllciIKbXNnc3RyICJyaW5uZWFkaCBpYXJyYWNodCB5LWdpb3ThbiBhIHNob2Ny+iBhZ3VzIG1pb25hdGhyYWl0aGVvaXIgKyBu8yAtIGluIPpz4WlkIgoKIzogcHBjLW9wYy5jOjg1OAptc2dpZCAib2Zmc2V0IG5vdCBhIG11bHRpcGxlIG9mIDE2Igptc2dzdHIgIm7tIGlvbHJh7SBkZSAxNiDpIGFuIGZyaXRo4WlyZWFtaCIKCiM6IHBwYy1vcGMuYzo4NzcKbXNnaWQgIm9mZnNldCBub3QgYSBtdWx0aXBsZSBvZiAyIgptc2dzdHIgIm7tIGNvdGhyb20g6SBhbiBmcml0aOFpcmVhbWgiCgojOiBwcGMtb3BjLmM6ODc5Cm1zZ2lkICJvZmZzZXQgZ3JlYXRlciB0aGFuIDYyIgptc2dzdHIgImlzIG7tb3MgbfMgbuEgNjIg6SBhbiBmcml0aOFpcmVhbWgiCgojOiBwcGMtb3BjLmM6ODk4IHBwYy1vcGMuYzo5NDMgcHBjLW9wYy5jOjk4Nwptc2dpZCAib2Zmc2V0IG5vdCBhIG11bHRpcGxlIG9mIDQiCm1zZ3N0ciAibu0gaW9scmHtIGRlIDQg6SBhbiBmcml0aOFpcmVhbWgiCgojOiBwcGMtb3BjLmM6OTAwCm1zZ2lkICJvZmZzZXQgZ3JlYXRlciB0aGFuIDEyNCIKbXNnc3RyICJpcyBu7W9zIG3zIG7hIDEyNCDpIGFuIGZyaXRo4WlyZWFtaCIKCiM6IHBwYy1vcGMuYzo5MTkKbXNnaWQgIm9mZnNldCBub3QgYSBtdWx0aXBsZSBvZiA4Igptc2dzdHIgIm7tIGlvbHJh7SBkZSA4IOkgYW4gZnJpdGjhaXJlYW1oIgoKIzogcHBjLW9wYy5jOjkyMQptc2dpZCAib2Zmc2V0IGdyZWF0ZXIgdGhhbiAyNDgiCm1zZ3N0ciAiaXMgbu1vcyBt8yBu4SAyNDgg6SBhbiBmcml0aOFpcmVhbWgiCgojOiBwcGMtb3BjLmM6OTY0Cm1zZ2lkICJvZmZzZXQgbm90IGJldHdlZW4gLTIwNDggYW5kIDIwNDciCm1zZ3N0ciAibu0gaWRpciAtMjA0OCBhZ3VzIDIwNDcg6SBhbiBmcml0aOFpcmVhbWgiCgojOiBwcGMtb3BjLmM6OTg1Cm1zZ2lkICJvZmZzZXQgbm90IGJldHdlZW4gLTgxOTIgYW5kIDgxOTEiCm1zZ3N0ciAibu0gaWRpciAtODE5MiBhZ3VzIDgxOTEg6SBhbiBmcml0aOFpcmVhbWgiCgojOiBwcGMtb3BjLmM6MTAxMwptc2dpZCAiaW52YWxpZCBtYXNrIGZpZWxkIgptc2dzdHIgInLpaW1zZSBuZWFtaGJoYWls7SBtYWlzYyIKCiM6IHBwYy1vcGMuYzoxMDM5Cm1zZ2lkICJpZ25vcmluZyBpbnZhbGlkIG1mY3IgbWFzayIKbXNnc3RyICJhZyBk6WFuYW1oIG5lYW1oc2h1aW0gYXIgbWhhc2MgbmVhbWhiaGFpbO0gbWZjciIKCiM6IHBwYy1vcGMuYzoxMDgxCm1zZ2lkICJpZ25vcmluZyBsZWFzdCBzaWduaWZpY2FudCBiaXRzIGluIGJyYW5jaCBvZmZzZXQiCm1zZ3N0ciAiYWcgZOlhbmFtaCBuZWFtaHNodWltIGFyIG5hIGdpb3ThaW4gaXMgbPogc3VudGFzIGkgYmhmcml0aOFpcmVhbWggYnJhaW5zZSIKCiM6IHBwYy1vcGMuYzoxMTExIHBwYy1vcGMuYzoxMTQ2Cm1zZ2lkICJpbGxlZ2FsIGJpdG1hc2siCm1zZ3N0ciAiZ2lvdOFubWhhc2MgbmVhbWhjaGVhZGFpdGhlIgoKIzogcHBjLW9wYy5jOjEyMTEKbXNnaWQgInZhbHVlIG91dCBvZiByYW5nZSIKbXNnc3RyICJsdWFjaCBhcyByYW9uIgoKIzogcHBjLW9wYy5jOjEyNzkKbXNnaWQgImluZGV4IHJlZ2lzdGVyIGluIGxvYWQgcmFuZ2UiCm1zZ3N0ciAidGFiaGFsbCBpbm7pYWNzIGkgcmFvbiBsdWNodGFpdGhlIgoKIzogcHBjLW9wYy5jOjEyOTUKbXNnaWQgInNvdXJjZSBhbmQgdGFyZ2V0IHJlZ2lzdGVyIG9wZXJhbmRzIG11c3QgYmUgZGlmZmVyZW50Igptc2dzdHIgImNhaXRoZmlkaCBvaWJyZWFubiBhbiB0YWJoYWlsbCBmb2luc2lnaCBhZ3VzIG9pYnJlYW5uIGFuIHNwcmlvY3RoYWJoYWlsbCBhIGJoZWl0aCBkaWZyafppbCIKCiM6IHBwYy1vcGMuYzoxMzEwCm1zZ2lkICJpbnZhbGlkIHJlZ2lzdGVyIG9wZXJhbmQgd2hlbiB1cGRhdGluZyIKbXNnc3RyICJvaWJyZWFubiBuZWFtaGJoYWls7SB0YWJoYWlsbCBsZSBsaW5uIG51YXNob25yYWl0aGUiCgojOiBwcGMtb3BjLmM6MTM0OQptc2dpZCAidGFyZ2V0IHJlZ2lzdGVyIG9wZXJhbmQgbXVzdCBiZSBldmVuIgptc2dzdHIgImNhaXRoZmlkaCBvaWJyZWFubiBhbiBzcHJpb2N0aGFiaGFpbGwgYSBiaGVpdGggY290aHJvbSIKCiM6IHBwYy1vcGMuYzoxMzYzCm1zZ2lkICJzb3VyY2UgcmVnaXN0ZXIgb3BlcmFuZCBtdXN0IGJlIGV2ZW4iCm1zZ3N0ciAiY2FpdGhmaWRoIG9pYnJlYW5uIGFuIHRhYmhhaWxsIGZvaW5zaWdoIGEgYmhlaXRoIGNvdGhyb20iCgojOiBwcGMtb3BjLmM6MTQyMAptc2dpZCAiaW52YWxpZCBzcHJnIG51bWJlciIKbXNnc3RyICJ1aW1oaXIgbmVhbWhiaGFpbO0gc3ByZyIKCiM6IHNwYXJjLWRpcy5jOjI2OQojLCBjLWZvcm1hdAptc2dpZCAiSW50ZXJuYWwgZXJyb3I6ICBiYWQgc3BhcmMtb3Bjb2RlLmg6IFwiJXNcIiwgJSMuOGx4LCAlIy44bHhcbiIKbXNnc3RyICJFYXJy4WlkIGlubWhl4W5hY2g6ICBzcGFyYy1vcGNvZGUuaCBnbyBob2xjOiBcIiVzXCIsICUjLjhseCwgJSMuOGx4XG4iCgojOiBzcGFyYy1kaXMuYzoyODAKIywgYy1mb3JtYXQKbXNnaWQgIkludGVybmFsIGVycm9yOiBiYWQgc3BhcmMtb3Bjb2RlLmg6IFwiJXNcIiwgJSMuOGx4LCAlIy44bHhcbiIKbXNnc3RyICJFYXJy4WlkIGlubWhl4W5hY2g6IHNwYXJjLW9wY29kZS5oIGdvIGhvbGM6IFwiJXNcIiwgJSMuOGx4LCAlIy44bHhcbiIKCiM6IHNwYXJjLWRpcy5jOjMzMAojLCBjLWZvcm1hdAptc2dpZCAiSW50ZXJuYWwgZXJyb3I6IGJhZCBzcGFyYy1vcGNvZGUuaDogXCIlc1wiID09IFwiJXNcIlxuIgptc2dzdHIgIkVhcnLhaWQgaW5taGXhbmFjaDogc3BhcmMtb3Bjb2RlLmggZ28gaG9sYzogXCIlc1wiID09IFwiJXNcIlxuIgoKIy4gTWFyayBhcyBub24tdmFsaWQgaW5zdHJ1Y3Rpb24uCiM6IHNwYXJjLWRpcy5jOjk4NAptc2dpZCAidW5rbm93biIKbXNnc3RyICJhbmFpdGhuaWQiCgojOiB2ODUwLWRpcy5jOjIzNwojLCBjLWZvcm1hdAptc2dpZCAidW5rbm93biBvcGVyYW5kIHNoaWZ0OiAleFxuIgptc2dzdHIgImlvbWxhb2lkIGFuYWl0aG5pZCBvaWJyaW5uOiAleFxuIgoKIzogdjg1MC1kaXMuYzoyNTEKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd24gcG9wIHJlZzogJWRcbiIKbXNnc3RyICJ0YWJoYWxsIGFuYWl0aG5pZCBwbG9idGhhOiAlZFxuIgoKIy4gVGhlIGZ1bmN0aW9ucyB1c2VkIHRvIGluc2VydCBhbmQgZXh0cmFjdCBjb21wbGljYXRlZCBvcGVyYW5kcy4KIy4gTm90ZTogVGhlcmUgaXMgYSBjb25zcGlyYWN5IGJldHdlZW4gdGhlc2UgZnVuY3Rpb25zIGFuZAojLiB2ODUwX2luc2VydF9vcGVyYW5kKCkgaW4gZ2FzL2NvbmZpZy90Yy12ODUwLmMuICBFcnJvciBtZXNzYWdlcwojLiBjb250YWluaW5nIHRoZSBzdHJpbmcgJ291dCBvZiByYW5nZScgd2lsbCBiZSBpZ25vcmVkIHVubGVzcyBhCiMuIHNwZWNpZmljIGNvbW1hbmQgbGluZSBvcHRpb24gaXMgZ2l2ZW4gdG8gR0FTLgojOiB2ODUwLW9wYy5jOjQ2Cm1zZ2lkICJkaXNwbGFjZW1lbnQgdmFsdWUgaXMgbm90IGluIHJhbmdlIGFuZCBpcyBub3QgYWxpZ25lZCIKbXNnc3RyICJ04SBhbiBsdWFjaCBk7WzhaXRocml0aGUgYXMgcmFvbiwgYWd1cyBu7SBhaWztbml0aGUg6SIKCiM6IHY4NTAtb3BjLmM6NDcKbXNnaWQgImRpc3BsYWNlbWVudCB2YWx1ZSBpcyBvdXQgb2YgcmFuZ2UiCm1zZ3N0ciAibHVhY2ggZO1s4Wl0aHJpdGhlIGFzIHJhb24iCgojOiB2ODUwLW9wYy5jOjQ4Cm1zZ2lkICJkaXNwbGFjZW1lbnQgdmFsdWUgaXMgbm90IGFsaWduZWQiCm1zZ3N0ciAibHVhY2ggZO1s4Wl0aHJpdGhlIGdhbiBhaWztbmn6IgoKIzogdjg1MC1vcGMuYzo1MAptc2dpZCAiaW1tZWRpYXRlIHZhbHVlIGlzIG91dCBvZiByYW5nZSIKbXNnc3RyICJsdWFjaCBs4Wl0aHJlYWNoIGFzIHJhb24iCgojOiB2ODUwLW9wYy5jOjU4Cm1zZ2lkICJicmFuY2ggdmFsdWUgbm90IGluIHJhbmdlIGFuZCB0byBvZGQgb2Zmc2V0Igptc2dzdHIgImx1YWNoIGJyYWluc2UgYXMgcmFvbiwgYWd1cyBicmFpbnNlIGdvIGR07SBmcml0aOFpcmVhbWggY29yciIKCiM6IHY4NTAtb3BjLmM6NjAgdjg1MC1vcGMuYzo4Nwptc2dpZCAiYnJhbmNoIHZhbHVlIG91dCBvZiByYW5nZSIKbXNnc3RyICJsdWFjaCBhbiBiaHJhaW5zZSBhcyByYW9uIgoKIzogdjg1MC1vcGMuYzo2MyB2ODUwLW9wYy5jOjkwCm1zZ2lkICJicmFuY2ggdG8gb2RkIG9mZnNldCIKbXNnc3RyICJicmFpbnNlIGdvIGR07SBmcml0aOFpcmVhbWggY29yciIKCiM6IHY4NTAtb3BjLmM6ODUKbXNnaWQgImJyYW5jaCB2YWx1ZSBub3QgaW4gcmFuZ2UgYW5kIHRvIGFuIG9kZCBvZmZzZXQiCm1zZ3N0ciAibHVhY2ggYnJhaW5zZSBhcyByYW9uIGFndXMgYnJhaW5zZSBnbyBkdO0gZnJpdGjhaXJlYW1oIGNvcnIiCgojOiB2ODUwLW9wYy5jOjI3Nwptc2dpZCAiaW52YWxpZCByZWdpc3RlciBmb3Igc3RhY2sgYWRqdXN0bWVudCIKbXNnc3RyICJ0YWJoYWxsIG5lYW1oYmhhaWztIGxlIGhhZ2hhaWRoIGNvaWdlYXJ0YWl0aGUgbmEgY3J1YWljaGUiCgojOiB2ODUwLW9wYy5jOjI5Nwptc2dpZCAiaW1tZWRpYXRlIHZhbHVlIG5vdCBpbiByYW5nZSBhbmQgbm90IGV2ZW4iCm1zZ3N0ciAibHVhY2ggbOFpdGhyZWFjaCBhcyByYW9uLCBhZ3VzIG7tIGNvdGhyb20g6SIKCiM6IHY4NTAtb3BjLmM6MzAyCm1zZ2lkICJpbW1lZGlhdGUgdmFsdWUgbXVzdCBiZSBldmVuIgptc2dzdHIgImNhaXRoZmlkaCBsdWFjaCBs4Wl0aHJlYWNoIGEgYmhlaXRoIGNvdGhyb20iCgojOiB4c3Rvcm15MTYtYXNtLmM6NzAKbXNnaWQgIkJhZCByZWdpc3RlciBpbiBwcmVpbmNyZW1lbnQiCm1zZ3N0ciAiRHJvY2h0aGFiaGFsbCBpIHLpYW1oaW5jcmltaW50IgoKIzogeHN0b3JteTE2LWFzbS5jOjc1Cm1zZ2lkICJCYWQgcmVnaXN0ZXIgaW4gcG9zdGluY3JlbWVudCIKbXNnc3RyICJEcm9jaHRoYWJoYWxsIGkgaWFyaW5jcmltaW50IgoKIzogeHN0b3JteTE2LWFzbS5jOjc3Cm1zZ2lkICJCYWQgcmVnaXN0ZXIgbmFtZSIKbXNnc3RyICJEcm9jaGFpbm0gYXIgdGhhYmhhbGwiCgojOiB4c3Rvcm15MTYtYXNtLmM6ODEKbXNnaWQgIkxhYmVsIGNvbmZsaWN0cyB3aXRoIHJlZ2lzdGVyIG5hbWUiCm1zZ3N0ciAiTGlw6WFkIGkgZ2NvaW5iaGxlYWNodCBsZSBoYWlubSB0YWJoYWlsbCIKCiM6IHhzdG9ybXkxNi1hc20uYzo4NQptc2dpZCAiTGFiZWwgY29uZmxpY3RzIHdpdGggYFJ4JyIKbXNnc3RyICJMaXDpYWQgaSBnY29pbmJobGVhY2h0IGxlIGBSeCciCgojOiB4c3Rvcm15MTYtYXNtLmM6ODcKbXNnaWQgIkJhZCBpbW1lZGlhdGUgZXhwcmVzc2lvbiIKbXNnc3RyICJEcm9jaHNobG9ubiBs4Wl0aHJlYWNoIgoKIzogeHN0b3JteTE2LWFzbS5jOjEwOAptc2dpZCAiTm8gcmVsb2NhdGlvbiBmb3Igc21hbGwgaW1tZWRpYXRlIgptc2dzdHIgIkx1YWNoIGJlYWcgbOFpdGhyZWFjaCBnYW4gYXRoc2h17SIKCiM6IHhzdG9ybXkxNi1hc20uYzoxMTgKbXNnaWQgIlNtYWxsIG9wZXJhbmQgd2FzIG5vdCBhbiBpbW1lZGlhdGUgbnVtYmVyIgptc2dzdHIgIk7tIHVpbWhpciBs4Wl0aHJlYWNoIOkgYW4gdC1vaWJyZWFubiBiZWFnIgoKIzogeHN0b3JteTE2LWFzbS5jOjE1Ngptc2dpZCAiT3BlcmFuZCBpcyBub3QgYSBzeW1ib2wiCm1zZ3N0ciAiTu0gc2lvbWJhaWwg6SBhbiB0LW9pYnJlYW5uIgoKIzogeHN0b3JteTE2LWFzbS5jOjE2NAptc2dpZCAiU3ludGF4IGVycm9yOiBObyB0cmFpbGluZyAnKSciCm1zZ3N0ciAiRWFycuFpZCBjaG9taHLpaXJlOiBnYW4gJyknIGNodW4gZGVpcmlkaCIKCiN+IG1zZ2lkICJ1bmtub3duXHQweCUwNHgiCiN+IG1zZ3N0ciAiYW5haXRobmlkXHQweCUwNHgiCg==