IyBrby5wbyAtLSBLb3JlYW4gbWVzc2FnZXMgZm9yIEdOVSBzZWQKIyBDb3B5cmlnaHQgKEMpIDIwMDEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgSm9uZy1Ib29uIFJ5dSA8cmVkaGF0NHVAbmV0aWFuLmNvbT4sIDIwMDEuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IEdOVSBzZWQgMy4wMi44MFxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Zy1nbnUtdXRpbHNAZ251Lm9yZ1xuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMDYtMjcgMTU6MDgrMDIwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMS0xMC0xMiAxNzoyNiswOTAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEpvbmctSG9vbiBSeXUgPHJlZGhhdDR1QG5ldGlhbi5jb20+XG4iCiJMYW5ndWFnZS1UZWFtOiBLb3JlYW4gPGtvQGxpLm9yZz5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9RVVDLUtSXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojOiBzZWQvY29tcGlsZS5jOjE2MQojLCBmdXp6eQptc2dpZCAibXVsdGlwbGUgYCEncyIKbXNnc3RyICJgIScgsKEgwd+6ubXHvvq9wLTPtNkiCgojOiBzZWQvY29tcGlsZS5jOjE2MgojLCBmdXp6eQptc2dpZCAidW5leHBlY3RlZCBgLCciCm1zZ3N0ciAiutLHyr/kx9EgYCwnILChILvnv+u1x7DtIMDWvcC0z7TZIgoKIzogc2VkL2NvbXBpbGUuYzoxNjMKIywgZnV6enkKbXNnaWQgImludmFsaWQgdXNhZ2Ugb2YgK04gb3Igfk4gYXMgZmlyc3QgYWRkcmVzcyIKbXNnc3RyICLDubn4wrAgwda80rfOICcrTicgtse0wiAnfk4nIMC7ILvnv+vH0iC89iC++L3AtM+02SIKCiM6IHNlZC9jb21waWxlLmM6MTY0CiMsIGZ1enp5Cm1zZ2lkICJ1bm1hdGNoZWQgYHsnIgptc2dzdHIgImB7JyCwoSDAz8Shx8/B9iC+yr3AtM+02SIKCiM6IHNlZC9jb21waWxlLmM6MTY1CiMsIGZ1enp5Cm1zZ2lkICJ1bmV4cGVjdGVkIGB9JyIKbXNnc3RyICK60sfKv+TH0SBgfScgsKEgu+e/67XHsO0gwNa9wLTPtNkiCgojOiBzZWQvY29tcGlsZS5jOjE2NgojLCBmdXp6eQptc2dpZCAiZXh0cmEgY2hhcmFjdGVycyBhZnRlciBjb21tYW5kIgptc2dzdHIgIrjtt8m12r+hIMfKv+S++LTCILmuwNq16cDMIMDWvcC0z7TZIgoKIzogc2VkL2NvbXBpbGUuYzoxNjcKbXNnaWQgImV4cGVjdGVkIFxcIGFmdGVyIGBhJywgYGMnIG9yIGBpJyIKbXNnc3RyICIiCgojOiBzZWQvY29tcGlsZS5jOjE2OAptc2dpZCAiYH0nIGRvZXNuJ3Qgd2FudCBhbnkgYWRkcmVzc2VzIgptc2dzdHIgImB9JyC/oSC+7rawx9Egwda80rW1IMfKv+TEoSC+yr3AtM+02SIKCiM6IHNlZC9jb21waWxlLmM6MTY5Cm1zZ2lkICI6IGRvZXNuJ3Qgd2FudCBhbnkgYWRkcmVzc2VzIgptc2dzdHIgIjogv6Egvu62sMfRIMHWvNK1tSDHyr/kxKEgvsq9wLTPtNkiCgojOiBzZWQvY29tcGlsZS5jOjE3MAojLCBmdXp6eQptc2dpZCAiY29tbWVudHMgZG9uJ3QgYWNjZXB0IGFueSBhZGRyZXNzZXMiCm1zZ3N0ciAixNq44Mauv6Egvu62sMfRIMHWvNK1tSC757/rx9IgvPYgvvi9wLTPtNkiCgojOiBzZWQvY29tcGlsZS5jOjE3MQojLCBmdXp6eQptc2dpZCAibWlzc2luZyBjb21tYW5kIgptc2dzdHIgIrjtt8nAzCDB9sGktcfB9iC+yr7SvcC0z7TZIgoKIzogc2VkL2NvbXBpbGUuYzoxNzIKIywgZnV6enkKbXNnaWQgImNvbW1hbmQgb25seSB1c2VzIG9uZSBhZGRyZXNzIgptc2dzdHIgIrjtt8m/oSDHz7OqwMcgwda80ri4ILvnv+vH0iC89iDA1r3AtM+02SIKCiM6IHNlZC9jb21waWxlLmM6MTczCiMsIGZ1enp5Cm1zZ2lkICJ1bnRlcm1pbmF0ZWQgYWRkcmVzcyByZWdleCIKbXNnc3RyICLB1rzSIMGksdTHpcf2vcQgwb634bXHwfYgvsq+0r3AtM+02SIKCiM6IHNlZC9jb21waWxlLmM6MTc0CiMsIGZ1enp5Cm1zZ2lkICJ1bnRlcm1pbmF0ZWQgYHMnIGNvbW1hbmQiCm1zZ3N0ciAiYHMnILjtt8nAzCDBvrfhtcfB9iC+yr7SvcC0z7TZIgoKIzogc2VkL2NvbXBpbGUuYzoxNzUKIywgZnV6enkKbXNnaWQgInVudGVybWluYXRlZCBgeScgY29tbWFuZCIKbXNnc3RyICJgeScguO23ycDMIMG+t+G1x8H2IL7KvtK9wLTPtNkiCgojOiBzZWQvY29tcGlsZS5jOjE3NgojLCBmdXp6eQptc2dpZCAidW5rbm93biBvcHRpb24gdG8gYHMnIgptc2dzdHIgImBzJyC/oSC+yyC89iC++LTCIL/JvMfAzCDA1r3AtM+02SIKCiM6IHNlZC9jb21waWxlLmM6MTc3Cm1zZ2lkICJtdWx0aXBsZSBgcCcgb3B0aW9ucyB0byBgcycgY29tbWFuZCIKbXNnc3RyICJgcycguO23yb+hIGBwJyC/ybzHwMwgwd+6ubXHvu4gwNa9wLTPtNkiCgojOiBzZWQvY29tcGlsZS5jOjE3OAptc2dpZCAibXVsdGlwbGUgYGcnIG9wdGlvbnMgdG8gYHMnIGNvbW1hbmQiCm1zZ3N0ciAiYHMnILjtt8m/oSBgZycgv8m8x8DMIMHfurm1x77uIMDWvcC0z7TZIgoKIzogc2VkL2NvbXBpbGUuYzoxNzkKbXNnaWQgIm11bHRpcGxlIG51bWJlciBvcHRpb25zIHRvIGBzJyBjb21tYW5kIgptc2dzdHIgImBzJyC47bfJv6EgvP3A2iC/ybzHwMwgwd+6ubXHvu4gwNa9wLTPtNkiCgojOiBzZWQvY29tcGlsZS5jOjE4MAptc2dpZCAibnVtYmVyIG9wdGlvbiB0byBgcycgY29tbWFuZCBtYXkgbm90IGJlIHplcm8iCm1zZ3N0ciAiYHMnILjtt8nAxyC8/cDaIL/JvMe/oSAnMCcgwLsgwfbBpMfSILz2IL74vcC0z7TZIgoKIzogc2VkL2NvbXBpbGUuYzoxODEKIywgZnV6enkKbXNnaWQgInN0cmluZ3MgZm9yIGB5JyBjb21tYW5kIGFyZSBkaWZmZXJlbnQgbGVuZ3RocyIKbXNnc3RyICJgeScguO23ycDHILmuwNq/rcDMILHmwMywoSC02biotM+02SIKCiM6IHNlZC9jb21waWxlLmM6MTgyCm1zZ2lkICJkZWxpbWl0ZXIgY2hhcmFjdGVyIGlzIG5vdCBhIHNpbmdsZS1ieXRlIGNoYXJhY3RlciIKbXNnc3RyICIiCgojOiBzZWQvY29tcGlsZS5jOjE4Mwptc2dpZCAiZXhwZWN0ZWQgbmV3ZXIgdmVyc2lvbiBvZiBzZWQiCm1zZ3N0ciAiIgoKIzogc2VkL2NvbXBpbGUuYzoxODQKIywgZnV6enkKbXNnaWQgImludmFsaWQgdXNhZ2Ugb2YgbGluZSBhZGRyZXNzIDAiCm1zZ3N0ciAiwda80iC6r7DmwNoobW9kaWZpZXIpwMcgu+e/68DMIL/Dudm4o8H2IL7KvcC0z7TZIgoKIzogc2VkL2NvbXBpbGUuYzoxODUKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJ1bmtub3duIGNvbW1hbmQ6IGAlYyciCm1zZ3N0ciAivssgvPYgvvi0wiC47bfJOiIKCiM6IHNlZC9jb21waWxlLmM6MjA4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlsZSAlcyBsaW5lICVsdTogJXNcbiIKbXNnc3RyICIlczogJXMgxsTAz8DHICVsdSC5+MKwIMHZOiAlc1xuIgoKIzogc2VkL2NvbXBpbGUuYzoyMTEKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiAtZSBleHByZXNzaW9uICMlbHUsIGNoYXIgJWx1OiAlc1xuIgptc2dzdHIgIiVzOiAtZSBleHByZXNzaW9uICMlbHUsIGNoYXIgJWx1OiAlc1xuIgoKIzogc2VkL2NvbXBpbGUuYzoxNjY1CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY2FuJ3QgZmluZCBsYWJlbCBmb3IganVtcCB0byBgJXMnIgptc2dzdHIgImAlcycgKMC4KbfOIMGhx8HH0iC3ucDMuu3AuyDDo8C7ILz2IL74vcC0z7TZIgoKIzogc2VkL2V4ZWN1dGUuYzo3MDkKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBjYW4ndCByZWFkICVzOiAlc1xuIgptc2dzdHIgIiVzOiAlcyAowLspuKYgwNDAuyC89iC++MC9OiAlc1xuIgoKIzogc2VkL2V4ZWN1dGUuYzo3NDAKIywgYy1mb3JtYXQKbXNnaWQgImNvdWxkbid0IGVkaXQgJXM6IGlzIGEgdGVybWluYWwiCm1zZ3N0ciAiIgoKIzogc2VkL2V4ZWN1dGUuYzo3NDUKIywgYy1mb3JtYXQKbXNnaWQgImNvdWxkbid0IGVkaXQgJXM6IG5vdCBhIHJlZ3VsYXIgZmlsZSIKbXNnc3RyICIiCgojOiBzZWQvZXhlY3V0ZS5jOjc1NwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHdhcm5pbmc6IGZhaWxlZCB0byBzZXQgZGVmYXVsdCBmaWxlIGNyZWF0aW9uIGNvbnRleHQgdG8gJXM6ICVzIgptc2dzdHIgIiIKCiM6IHNlZC9leGVjdXRlLmM6NzY0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogd2FybmluZzogZmFpbGVkIHRvIGdldCBzZWN1cml0eSBjb250ZXh0IG9mICVzOiAlcyIKbXNnc3RyICIiCgojOiBzZWQvZXhlY3V0ZS5jOjc4MyBzZWQvdXRpbHMuYzoyMjcKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlICVzOiAlcyIKbXNnc3RyICIlcyDGxMDPwLsgv60gvPYgvvi9wLTPtNkiCgojOiBzZWQvZXhlY3V0ZS5jOjEzMTcgc2VkL2V4ZWN1dGUuYzoxNDk3Cm1zZ2lkICJlcnJvciBpbiBzdWJwcm9jZXNzIgptc2dzdHIgIiIKCiM6IHNlZC9leGVjdXRlLmM6MTMxOQptc2dpZCAib3B0aW9uIGBlJyBub3Qgc3VwcG9ydGVkIgptc2dzdHIgIiIKCiM6IHNlZC9leGVjdXRlLmM6MTQ5OQptc2dpZCAiYGUnIGNvbW1hbmQgbm90IHN1cHBvcnRlZCIKbXNnc3RyICIiCgojOiBzZWQvZXhlY3V0ZS5jOjE4NDMKbXNnaWQgIm5vIGlucHV0IGZpbGVzIgptc2dzdHIgIiIKCiM6IHNlZC9yZWdleHAuYzo0MQptc2dpZCAibm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIiIKCiM6IHNlZC9yZWdleHAuYzo0Mgptc2dpZCAiY2Fubm90IHNwZWNpZnkgbW9kaWZpZXJzIG9uIGVtcHR5IHJlZ2V4cCIKbXNnc3RyICIiCgojOiBzZWQvcmVnZXhwLmM6MTMxCiMsIGMtZm9ybWF0Cm1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZSBcXCVkIG9uIGBzJyBjb21tYW5kJ3MgUkhTIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzo5NwojLCBjLWZvcm1hdAptc2dpZCAiIgoiR05VIHNlZCBob21lIHBhZ2U6IDxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvc2VkLz4uXG4iCiJHZW5lcmFsIGhlbHAgdXNpbmcgR05VIHNvZnR3YXJlOiA8aHR0cDovL3d3dy5nbnUub3JnL2dldGhlbHAvPi5cbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTA0CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiIgoiRS1tYWlsIGJ1ZyByZXBvcnRzIHRvOiA8JXM+LlxuIgoiQmUgc3VyZSB0byBpbmNsdWRlIHRoZSB3b3JkIGBgJXMnJyBzb21ld2hlcmUgaW4gdGhlIGBgU3ViamVjdDonJyBmaWVsZC5cbiIKbXNnc3RyICIiCiK59rHXuKYguriw7cfSIEUtbWFpbCDB1rzSOiAlcyAuXG4iCiJgYFN1YmplY3Q6Jycgx9e48b+hILndteW9wyBgYCVzJycgtNy+7rimIMb3x9TH2CDB1r3DseIgudm2+LTPtNkuXG4iCgojOiBzZWQvc2VkLmM6MTE3Cm1zZ2lkICIiCiIgIC1SLCAtLXJlZ2V4cC1wZXJsXG4iCiIgICAgICAgICAgICAgICAgIHVzZSBQZXJsIDUncyByZWd1bGFyIGV4cHJlc3Npb25zIHN5bnRheCBpbiB0aGUgc2NyaXB0LlxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxMjIKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlVzYWdlOiAlcyBbT1BUSU9OXS4uLiB7c2NyaXB0LW9ubHktaWYtbm8tb3RoZXItc2NyaXB0fSBbaW5wdXQtZmlsZV0uLi5cbiIKIlxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxMjYKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLW4sIC0tcXVpZXQsIC0tc2lsZW50XG4iCiIgICAgICAgICAgICAgICAgIHN1cHByZXNzIGF1dG9tYXRpYyBwcmludGluZyBvZiBwYXR0ZXJuIHNwYWNlXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjEyOAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtZSBzY3JpcHQsIC0tZXhwcmVzc2lvbj1zY3JpcHRcbiIKIiAgICAgICAgICAgICAgICAgYWRkIHRoZSBzY3JpcHQgdG8gdGhlIGNvbW1hbmRzIHRvIGJlIGV4ZWN1dGVkXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjEzMAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtZiBzY3JpcHQtZmlsZSwgLS1maWxlPXNjcmlwdC1maWxlXG4iCiIgICAgICAgICAgICAgICAgIGFkZCB0aGUgY29udGVudHMgb2Ygc2NyaXB0LWZpbGUgdG8gdGhlIGNvbW1hbmRzIHRvIGJlICIKImV4ZWN1dGVkXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjEzMwojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtLWZvbGxvdy1zeW1saW5rc1xuIgoiICAgICAgICAgICAgICAgICBmb2xsb3cgc3ltbGlua3Mgd2hlbiBwcm9jZXNzaW5nIGluIHBsYWNlXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjEzNgojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtaVtTVUZGSVhdLCAtLWluLXBsYWNlWz1TVUZGSVhdXG4iCiIgICAgICAgICAgICAgICAgIGVkaXQgZmlsZXMgaW4gcGxhY2UgKG1ha2VzIGJhY2t1cCBpZiBleHRlbnNpb24gc3VwcGxpZWQpXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjEzOQojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtYiwgLS1iaW5hcnlcbiIKIiAgICAgICAgICAgICAgICAgb3BlbiBmaWxlcyBpbiBiaW5hcnkgbW9kZSAoQ1IrTEZzIGFyZSBub3QgcHJvY2Vzc2VkICIKInNwZWNpYWxseSlcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTQyCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1sIE4sIC0tbGluZS1sZW5ndGg9TlxuIgoiICAgICAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBkZXNpcmVkIGxpbmUtd3JhcCBsZW5ndGggZm9yIHRoZSBgbCcgY29tbWFuZFxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxNDQKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLS1wb3NpeFxuIgoiICAgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBHTlUgZXh0ZW5zaW9ucy5cbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTQ2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1yLCAtLXJlZ2V4cC1leHRlbmRlZFxuIgoiICAgICAgICAgICAgICAgICB1c2UgZXh0ZW5kZWQgcmVndWxhciBleHByZXNzaW9ucyBpbiB0aGUgc2NyaXB0LlxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxNTEKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLXMsIC0tc2VwYXJhdGVcbiIKIiAgICAgICAgICAgICAgICAgY29uc2lkZXIgZmlsZXMgYXMgc2VwYXJhdGUgcmF0aGVyIHRoYW4gYXMgYSBzaW5nbGUgIgoiY29udGludW91c1xuIgoiICAgICAgICAgICAgICAgICBsb25nIHN0cmVhbS5cbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTU0CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC11LCAtLXVuYnVmZmVyZWRcbiIKIiAgICAgICAgICAgICAgICAgbG9hZCBtaW5pbWFsIGFtb3VudHMgb2YgZGF0YSBmcm9tIHRoZSBpbnB1dCBmaWxlcyBhbmQgIgoiZmx1c2hcbiIKIiAgICAgICAgICAgICAgICAgdGhlIG91dHB1dCBidWZmZXJzIG1vcmUgb2Z0ZW5cbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTU3CiMsIGMtZm9ybWF0Cm1zZ2lkICIgICAgICAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjE1OAojLCBjLWZvcm1hdAptc2dpZCAiICAgICAgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxNTkKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiSWYgbm8gLWUsIC0tZXhwcmVzc2lvbiwgLWYsIG9yIC0tZmlsZSBvcHRpb24gaXMgZ2l2ZW4sIHRoZW4gdGhlIGZpcnN0XG4iCiJub24tb3B0aW9uIGFyZ3VtZW50IGlzIHRha2VuIGFzIHRoZSBzZWQgc2NyaXB0IHRvIGludGVycHJldC4gIEFsbFxuIgoicmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgbmFtZXMgb2YgaW5wdXQgZmlsZXM7IGlmIG5vIGlucHV0IGZpbGVzIGFyZVxuIgoic3BlY2lmaWVkLCB0aGVuIHRoZSBzdGFuZGFyZCBpbnB1dCBpcyByZWFkLlxuIgoiXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjMxNQojLCBjLWZvcm1hdAptc2dpZCAic3VwZXItc2VkIHZlcnNpb24gJXNcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MzE2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJiYXNlZCBvbiBHTlUgc2VkIHZlcnNpb24gJXNcbiIKIlxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzozMTgKIywgYy1mb3JtYXQKbXNnaWQgIkdOVSBzZWQgdmVyc2lvbiAlc1xuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzozMjAKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIiCiJDb3B5cmlnaHQgKEMpICVkIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgoiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk9cbiIKIndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLFxuIgoidG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LlxuIgptc2dzdHIgIiIKIiVzXG4iCiLAzCDHwbfOsde3pcC6IMDawK8gvNLHwcauv/6+7iDA1LTPtNk7IMDavLzH0SCzu7/rwLogwPrA27HHILO7v+vAxyC/+LmuwLtcbiIKIsL8sO3Hz73DseIgudm2+LTPtNkuICDAzCDHwbfOsde3pcC6ILn9v6EgwPrDy7XHwfYgvsq0wiC5/MCnv6G8rSC78773wPvAzLOqXG4iCiLGr7z2ILjxwPvAuLfOILvnv+u1ySCw5r/suKYgxvfH1MfRIL7utrDH0SCw5r/sv6G1tSC6uMH1x8/B9iC+yr3AtM+02S5cbiIKCiM6IHNlZC91dGlscy5jOjkzIHNlZC91dGlscy5jOjQzOAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCByZW1vdmUgJXM6ICVzIgptc2dzdHIgIiVzOiAlcyAowLspuKYgwNDAuyC89iC++MC9OiAlc1xuIgoKIzogc2VkL3V0aWxzLmM6MTYzCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3Qgb3BlbiBmaWxlICVzOiAlcyIKbXNnc3RyICIlcyDGxMDPwLsgv60gvPYgvvi9wLTPtNkiCgojOiBzZWQvdXRpbHMuYzoxODYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBhdHRhY2ggdG8gJXM6ICVzIgptc2dzdHIgIiVzIL+hIMfXuPEoaXRlbSnAuyCx4rfPx9IgvPYgvvi9wLTPtNk6ICVzIgoKIzogc2VkL3V0aWxzLmM6MjQ1CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3Qgd3JpdGUgJWQgaXRlbSB0byAlczogJXMiCm1zZ2lkX3BsdXJhbCAiY291bGRuJ3Qgd3JpdGUgJWQgaXRlbXMgdG8gJXM6ICVzIgptc2dzdHJbMF0gIiUyJHMgv6EgJTEkZCDH17jxKGl0ZW0pwLsgseK3z8fSILz2IL74vcC0z7TZOiAlMyRzIgptc2dzdHJbMV0gIiUyJHMgv6EgJTEkZCDH17jxKGl0ZW0pwLsgseK3z8fSILz2IL74vcC0z7TZOiAlMyRzIgoKIzogc2VkL3V0aWxzLmM6MjYwIHNlZC91dGlscy5jOjI3NgojLCBjLWZvcm1hdAptc2dpZCAicmVhZCBlcnJvciBvbiAlczogJXMiCm1zZ3N0ciAiJXMgwMcgs7u/6yDA0LHiIL/At/k6ICVzIgoKIzogc2VkL3V0aWxzLmM6Mzc4CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3QgZm9sbG93IHN5bWxpbmsgJXM6ICVzIgptc2dzdHIgIiVzIL+hIMfXuPEoaXRlbSnAuyCx4rfPx9IgvPYgvvi9wLTPtNk6ICVzIgoKIzogc2VkL3V0aWxzLmM6NDEyCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY2Fubm90IHN0YXQgJXM6ICVzIgptc2dzdHIgIiVzOiAlcyAowLspuKYgwNDAuyC89iC++MC9OiAlc1xuIgoKIzogc2VkL3V0aWxzLmM6NDQzCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY2Fubm90IHJlbmFtZSAlczogJXMiCm1zZ3N0ciAiJXM6ICVzICjAuym4piDA0MC7ILz2IL74wL06ICVzXG4iCgojOiBsaWIvcmVnY29tcC5jOjEzNAptc2dpZCAiU3VjY2VzcyIKbXNnc3RyICIiCgojOiBsaWIvcmVnY29tcC5jOjEzNwptc2dpZCAiTm8gbWF0Y2giCm1zZ3N0ciAiIgoKIzogbGliL3JlZ2NvbXAuYzoxNDAKbXNnaWQgIkludmFsaWQgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIiIKCiM6IGxpYi9yZWdjb21wLmM6MTQzCm1zZ2lkICJJbnZhbGlkIGNvbGxhdGlvbiBjaGFyYWN0ZXIiCm1zZ3N0ciAiIgoKIzogbGliL3JlZ2NvbXAuYzoxNDYKbXNnaWQgIkludmFsaWQgY2hhcmFjdGVyIGNsYXNzIG5hbWUiCm1zZ3N0ciAiIgoKIzogbGliL3JlZ2NvbXAuYzoxNDkKbXNnaWQgIlRyYWlsaW5nIGJhY2tzbGFzaCIKbXNnc3RyICIiCgojOiBsaWIvcmVnY29tcC5jOjE1Mgptc2dpZCAiSW52YWxpZCBiYWNrIHJlZmVyZW5jZSIKbXNnc3RyICIiCgojOiBsaWIvcmVnY29tcC5jOjE1NQojLCBmdXp6eQptc2dpZCAiVW5tYXRjaGVkIFsgb3IgW14iCm1zZ3N0ciAiYHsnILChIMDPxKHHz8H2IL7KvcC0z7TZIgoKIzogbGliL3JlZ2NvbXAuYzoxNTgKIywgZnV6enkKbXNnaWQgIlVubWF0Y2hlZCAoIG9yIFxcKCIKbXNnc3RyICJgeycgsKEgwM/EocfPwfYgvsq9wLTPtNkiCgojOiBsaWIvcmVnY29tcC5jOjE2MQojLCBmdXp6eQptc2dpZCAiVW5tYXRjaGVkIFxceyIKbXNnc3RyICJgeycgsKEgwM/EocfPwfYgvsq9wLTPtNkiCgojOiBsaWIvcmVnY29tcC5jOjE2NAptc2dpZCAiSW52YWxpZCBjb250ZW50IG9mIFxce1xcfSIKbXNnc3RyICIiCgojOiBsaWIvcmVnY29tcC5jOjE2Nwptc2dpZCAiSW52YWxpZCByYW5nZSBlbmQiCm1zZ3N0ciAiIgoKIzogbGliL3JlZ2NvbXAuYzoxNzAKbXNnaWQgIk1lbW9yeSBleGhhdXN0ZWQiCm1zZ3N0ciAiIgoKIzogbGliL3JlZ2NvbXAuYzoxNzMKbXNnaWQgIkludmFsaWQgcHJlY2VkaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiIKbXNnc3RyICIiCgojOiBsaWIvcmVnY29tcC5jOjE3Ngptc2dpZCAiUHJlbWF0dXJlIGVuZCBvZiByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAiIgoKIzogbGliL3JlZ2NvbXAuYzoxNzkKbXNnaWQgIlJlZ3VsYXIgZXhwcmVzc2lvbiB0b28gYmlnIgptc2dzdHIgIiIKCiM6IGxpYi9yZWdjb21wLmM6MTgyCiMsIGZ1enp5Cm1zZ2lkICJVbm1hdGNoZWQgKSBvciBcXCkiCm1zZ3N0ciAiYHsnILChIMDPxKHHz8H2IL7KvcC0z7TZIgoKIzogbGliL3JlZ2NvbXAuYzo3MDMKbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKbXNnc3RyICIiCgojfiBtc2dpZCAiYmFkIHJlZ2V4cDogJXNcbiIKI34gbXNnc3RyICLA37j4tcggwaSx1Melx/a9xDogJXNcbiIKCiN+IG1zZ2lkICJVbmV4cGVjdGVkIEVuZC1vZi1maWxlIgojfiBtc2dzdHIgIsbEwM/AxyCzoShFT0YpwMwgwN+4+LXHvvq9wLTPtNkiCgojfiBtc2dpZCAiQ2FsbGVkIHNhdmNoYXIoKSB3aXRoIHVuZXhwZWN0ZWQgcHVzaGJhY2sgKCV4KSIKI34gbXNnc3RyICK/ubvzxKEguPjH0SBwdXNoYmFjayAoJXgpILD6IMfUsrIgc2F2Y2hhcigpILChIMijw+K1x776vcC0z7TZIgoKI34gbXNnaWQgImlucHV0IHJlYWQgZXJyb3I6ICVzIgojfiBtc2dzdHIgIsDUt8Igs7u/6yDA0LHiIL/At/k6ICVzIgoKI34gbXNnaWQgIklOVEVSTkFMIEVSUk9SOiBiYWQgYWRkcmVzcyB0eXBlIgojfiBtc2dzdHIgIrO7us4gv8C3+TogwN+4+LXIIMHWvNIgwK/H/MDUtM+02SIKCiN+IG1zZ2lkICJJTlRFUk5BTCBFUlJPUjogQmFkIGNtZCAlYyIKI34gbXNnc3RyICKzu7rOIL/At/k6ICVjICjAuim0wiDA37j4tcgguO23ycDUtM+02SIKCiN+IG1zZ2lkICIiCiN+ICJVc2FnZTogJXMgW09QVElPTl0uLi4ge3NjcmlwdC1vbmx5LWlmLW5vLW90aGVyLXNjcmlwdH0gW2lucHV0LWZpbGVdLi4uXG4iCiN+ICJcbiIKI34gIiAgLW4sIC0tcXVpZXQsIC0tc2lsZW50XG4iCiN+ICIgICAgICAgICAgICAgICAgIHN1cHByZXNzIGF1dG9tYXRpYyBwcmludGluZyBvZiBwYXR0ZXJuIHNwYWNlXG4iCiN+ICIgIC1lIHNjcmlwdCwgLS1leHByZXNzaW9uPXNjcmlwdFxuIgojfiAiICAgICAgICAgICAgICAgICBhZGQgdGhlIHNjcmlwdCB0byB0aGUgY29tbWFuZHMgdG8gYmUgZXhlY3V0ZWRcbiIKI34gIiAgLWYgc2NyaXB0LWZpbGUsIC0tZmlsZT1zY3JpcHQtZmlsZVxuIgojfiAiICAgICAgICAgICAgICAgICBhZGQgdGhlIGNvbnRlbnRzIG9mIHNjcmlwdC1maWxlIHRvIHRoZSBjb21tYW5kcyB0byBiZSAiCiN+ICJleGVjdXRlZFxuIgojfiAiICAtbCBOLCAtLWxpbmUtbGVuZ3RoPU5cbiIKI34gIiAgICAgICAgICAgICAgICAgc3BlY2lmeSB0aGUgZGVzaXJlZCBsaW5lLXdyYXAgbGVuZ3RoIGZvciB0aGUgYGwnICIKI34gImNvbW1hbmRcbiIKI34gIiAgLXUsIC0tdW5idWZmZXJlZFxuIgojfiAiXG4iCiN+ICIgICAgICAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCiN+ICIgIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCiN+ICJcbiIKI34gIklmIG5vIC1lLCAtLWV4cHJlc3Npb24sIC1mLCBvciAtLWZpbGUgb3B0aW9uIGlzIGdpdmVuLCB0aGVuIHRoZSBmaXJzdFxuIgojfiAibm9uLW9wdGlvbiBhcmd1bWVudCBpcyB0YWtlbiBhcyB0aGUgc2VkIHNjcmlwdCB0byBpbnRlcnByZXQuICBBbGxcbiIKI34gInJlbWFpbmluZyBhcmd1bWVudHMgYXJlIG5hbWVzIG9mIGlucHV0IGZpbGVzOyBpZiBubyBpbnB1dCBmaWxlcyBhcmVcbiIKI34gInNwZWNpZmllZCwgdGhlbiB0aGUgc3RhbmRhcmQgaW5wdXQgaXMgcmVhZC5cbiIKI34gIlxuIgojfiBtc2dzdHIgIiIKI34gIrvnv+u5/TogJXMgW7/JvMddLi4uIHu9usWpuLPGri29usWpuLPGrrChIL74wLsgsOa/7L+htMJ9IFvA1LfCLcbEwM9dLi4uXG4iCiN+ICJcbiIKI34gIiAgLW4sIC0tcXVpZXQsIC0tc2lsZW50XG4iCiN+ICIgICAgICAgICAgICAgICAgIMDatb/AuLfOIMbQxc8gsPiwo8C7IMPit8LHz8H2ILj4x8+1tbfPIMfVtM+02VxuIgojfiAiICAtZSC9usWpuLPGriwgLS1leHByZXNzaW9uPb26xam4s8auXG4iCiN+ICIgICAgICAgICAgICAgICAgIL3Hx+C1ySC47bfJv6EgvbrFqbizxq64piDD37Chx9W0z7TZXG4iCiN+ICIgIC1mIL26xam4s8auLcbEwM8sIC0tZmlsZT29usWpuLPGri3GxMDPXG4iCiN+ICIgICAgICAgICAgICAgICAgIL3Hx+C1ySC47bfJv6EgvbrFqbizxq4txsTAz8DHILO7v+vAuyDD37Chx9W0z7TZXG4iCiN+ICIgIC1sILz9wNosIC0tbGluZS1sZW5ndGg9vP3A2lxuIgojfiAiICAgICAgICAgICAgICAgICBgbCcguO23yb+hIMHZudmy3ihsaW5lLXdyYXApx9IgvP3A2rimIMH2waTH1bTPtNlcbiIKI34gIiAgLXUsIC0tdW5idWZmZXJlZFxuIgojfiAiXG4iCiN+ICIgICAgICAtLWhlbHAgICAgIMf2wOcguri/qcH2tMIgtbW/8ri7wLsgw+K3wsfVtM+02VxuIgojfiAiICAtViwgLS12ZXJzaW9uICDH9sDnILvnv+vHz7TCILn2wPwgwaS6uLimIMPit8LH1bTPtNlcbiIKI34gIlxuIgojfiAiuLjAzyAtZSwgLS1leHByZXNzaW9uLCAtZiwgLS1maWxlIL/JvMfAzCDB1r7uwfbB9iC+yr7SwLsgsOa/7L+htMIgv8m8xy2++CIKI34gIsDMXG4iCiN+ICLDubn4wrAgwM689r+hIMfYvK61ySBzZWQgvbrFqbizxq6woSCz9b+pwfaw1CC1y7TPtNkuICCx1yC02cC9v6Egv8MgvPYgwNYiCiN+ICK0wlxuIgojfiAiwM689rfOtMIgwNS3wiDGxMDPwMcgwMy4p8DUtM+02TsguLjAzyDA1LfCIMbEwM/AzCDB9sGktcfB9iC+yr7SwLsgsOa/7L+hIgojfiAitMJcbiIKI34gIselwdggwNS3wsDHILO7v+vAuyDA0L3AtM+02S5cbiIKI34gIlxuIgo=