IyDwxdLFy8zBxCBzZWQgzsEg1cvSwafO09jL1SDNz9fVLgojIENvcHlyaWdodCAoQykgMjAwMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBWb2xvZHlteXIgTS4gTGlzaXZrYSA8bHZtQG15c3RlcnkubHZpdi5uZXQ+LCAyMDAzCiMgRG15dHJvIE8uIFJlZGNodWsgPGRvckBraWV2LW9ubGluZS5uZXQ+LCAyMDAyLgojICRJZDogc2VkLnBvLHYgMS4zIDIwMDMvMDEvMjggMTU6MjY6MDkgbHZtIEV4cCAkCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IHNlZCA0LjAuNFxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Zy1nbnUtdXRpbHNAZ251Lm9yZ1xuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMDYtMjcgMTU6MDgrMDIwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMy0wMS0yNSAxMjo0MkVFVFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBWb2xvZHlteXIgTS4gTGlzaXZrYSA8bHZtQG15c3RlcnkubHZpdi5uZXQ+XG4iCiJMYW5ndWFnZS1UZWFtOiBVa3JhaW5pYW4gPHRyYW5zbGF0aW9uLXRlYW0tdWtAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1rb2k4LXVcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiM6IHNlZC9jb21waWxlLmM6MTYxCiMsIGZ1enp5Cm1zZ2lkICJtdWx0aXBsZSBgISdzIgptc2dzdHIgIvrBwsHHwdTPINrOwcum1yBcIiFcIiIKCiM6IHNlZC9jb21waWxlLmM6MTYyCiMsIGZ1enp5Cm1zZ2lkICJ1bmV4cGVjdGVkIGAsJyIKbXNnc3RyICLuxc/epsvV18HOwSDLz83BICgsKSIKCiM6IHNlZC9jb21waWxlLmM6MTYzCiMsIGZ1enp5Cm1zZ2lkICJpbnZhbGlkIHVzYWdlIG9mICtOIG9yIH5OIGFzIGZpcnN0IGFkZHJlc3MiCm1zZ3N0ciAi7sXNz9bMydfPINfJy8/SydPUz9fV18HUySArTiDeySB+TiDRyyDQxdLb1SDBxNLF09UiCgojOiBzZWQvY29tcGlsZS5jOjE2NAojLCBmdXp6eQptc2dpZCAidW5tYXRjaGVkIGB7JyIKbXNnc3RyICLuxdrBy9LJ1MEgxNXWy8EgXCJ7XCIiCgojOiBzZWQvY29tcGlsZS5jOjE2NQojLCBmdXp6eQptc2dpZCAidW5leHBlY3RlZCBgfSciCm1zZ3N0ciAi7sXP3qbL1dfBzsEgxNXWy8EgYH0nIgoKIzogc2VkL2NvbXBpbGUuYzoxNjYKIywgZnV6enkKbXNnaWQgImV4dHJhIGNoYXJhY3RlcnMgYWZ0ZXIgY29tbWFuZCIKbXNnc3RyICL6wcrXpiDTyc3Xz8zJINCm08zRIMvPzcHOxMkiCgojOiBzZWQvY29tcGlsZS5jOjE2NwojLCBmdXp6eQptc2dpZCAiZXhwZWN0ZWQgXFwgYWZ0ZXIgYGEnLCBgYycgb3IgYGknIgptc2dzdHIgIu/epsvV18HMz9PRIFxcINCm08zRIFwiYVwiLCBcImNcIiDeySBcImlcIiIKCiM6IHNlZC9jb21waWxlLmM6MTY4Cm1zZ2lkICJgfScgZG9lc24ndCB3YW50IGFueSBhZGRyZXNzZXMiCm1zZ3N0ciAiYH0nIM7FINDP1NLFwtWkIMLVxNgt0cvJyCDBxNLF0yIKCiM6IHNlZC9jb21waWxlLmM6MTY5Cm1zZ2lkICI6IGRvZXNuJ3Qgd2FudCBhbnkgYWRkcmVzc2VzIgptc2dzdHIgIjogzsUg0M/U0sXC1aQgwtXE2C3Ry8nIIMHE0sXTIgoKIzogc2VkL2NvbXBpbGUuYzoxNzAKIywgZnV6enkKbXNnaWQgImNvbW1lbnRzIGRvbid0IGFjY2VwdCBhbnkgYWRkcmVzc2VzIgptc2dzdHIgIuvPzcXO1MHSpiDX1snXwcDU2NPRIMLF2iDBxNLF0yIKCiM6IHNlZC9jb21waWxlLmM6MTcxCiMsIGZ1enp5Cm1zZ2lkICJtaXNzaW5nIGNvbW1hbmQiCm1zZ3N0ciAi8NLP0NXdxc7PIMvPzcHOxNUiCgojOiBzZWQvY29tcGlsZS5jOjE3MgojLCBmdXp6eQptc2dpZCAiY29tbWFuZCBvbmx5IHVzZXMgb25lIGFkZHJlc3MiCm1zZ3N0ciAi68/Nwc7EwSDQ0sHDwKQgzMnbxSDaIM/EzqakwCDBxNLF08/AIgoKIzogc2VkL2NvbXBpbGUuYzoxNzMKIywgZnV6enkKbXNnaWQgInVudGVybWluYXRlZCBhZGRyZXNzIHJlZ2V4Igptc2dzdHIgIu7FINrB18XS28XOzyDSxcfVzNHSzsnKINfJ0sHaIMHE0sXTySIKCiM6IHNlZC9jb21waWxlLmM6MTc0CiMsIGZ1enp5Cm1zZ2lkICJ1bnRlcm1pbmF0ZWQgYHMnIGNvbW1hbmQiCm1zZ3N0ciAi7sUg2sHXxdLbxc7PIMvPzcHOxNUgXCJzXCIiCgojOiBzZWQvY29tcGlsZS5jOjE3NQojLCBmdXp6eQptc2dpZCAidW50ZXJtaW5hdGVkIGB5JyBjb21tYW5kIgptc2dzdHIgIu7FINrB18XS28XOzyDLz83BzsTVIFwieVwiIgoKIzogc2VkL2NvbXBpbGUuYzoxNzYKIywgZnV6enkKbXNnaWQgInVua25vd24gb3B0aW9uIHRvIGBzJyIKbXNnc3RyICLuxdemxM/NwSDLzMDeIMTPIFwic1wiIgoKIzogc2VkL2NvbXBpbGUuYzoxNzcKbXNnaWQgIm11bHRpcGxlIGBwJyBvcHRpb25zIHRvIGBzJyBjb21tYW5kIgptc2dzdHIgItrBwsHHwdTPIMvMwN6m1yBcInBcIiDEzyDLz83BzsTJIFwic1wiIgoKIzogc2VkL2NvbXBpbGUuYzoxNzgKbXNnaWQgIm11bHRpcGxlIGBnJyBvcHRpb25zIHRvIGBzJyBjb21tYW5kIgptc2dzdHIgItrBwsHHwdTPIMvMwN6m1yBcImdcIiDEzyDLz83BzsTJIFwic1wiIgoKIzogc2VkL2NvbXBpbGUuYzoxNzkKbXNnaWQgIm11bHRpcGxlIG51bWJlciBvcHRpb25zIHRvIGBzJyBjb21tYW5kIgptc2dzdHIgItrBwsHHwdTPIN7J08zP18nIINDB0sHNxdTSptcgxM8gy8/Nwc7EySBcInNcIiIKCiM6IHNlZC9jb21waWxlLmM6MTgwCm1zZ2lkICJudW1iZXIgb3B0aW9uIHRvIGBzJyBjb21tYW5kIG1heSBub3QgYmUgemVybyIKbXNnc3RyICLeydPMz9fJyiDQwdLBzcXU0iDEzyDLz83BzsTJIFwic1wiIM7FIM3P1sUgwtXUySDO1czFzSIKCiM6IHNlZC9jb21waWxlLmM6MTgxCiMsIGZ1enp5Cm1zZ2lkICJzdHJpbmdzIGZvciBgeScgY29tbWFuZCBhcmUgZGlmZmVyZW50IGxlbmd0aHMiCm1zZ3N0ciAi0tHEy8kgxMzRIMvPzcHOxMkgYHknINKm2s7PpyDEz9fWyc7JIgoKIzogc2VkL2NvbXBpbGUuYzoxODIKbXNnaWQgImRlbGltaXRlciBjaGFyYWN0ZXIgaXMgbm90IGEgc2luZ2xlLWJ5dGUgY2hhcmFjdGVyIgptc2dzdHIgIiIKCiM6IHNlZC9jb21waWxlLmM6MTgzCm1zZ2lkICJleHBlY3RlZCBuZXdlciB2ZXJzaW9uIG9mIHNlZCIKbXNnc3RyICIiCgojOiBzZWQvY29tcGlsZS5jOjE4NAojLCBmdXp6eQptc2dpZCAiaW52YWxpZCB1c2FnZSBvZiBsaW5lIGFkZHJlc3MgMCIKbXNnc3RyICLuxdDSwdfJzNjOxSDXycvP0snT1MHOztEgzc/Eycamy8HUz9LBIMHE0sXTySIKCiM6IHNlZC9jb21waWxlLmM6MTg1CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAidW5rbm93biBjb21tYW5kOiBgJWMnIgptc2dzdHIgIu7F16bEz83BIMvPzcHOxME6IgoKIzogc2VkL2NvbXBpbGUuYzoyMDgKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBmaWxlICVzIGxpbmUgJWx1OiAlc1xuIgptc2dzdHIgIiVzOiDGwcrMICVzINLRxM/LICVsdTogJXNcbiIKCiM6IHNlZC9jb21waWxlLmM6MjExCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogLWUgZXhwcmVzc2lvbiAjJWx1LCBjaGFyICVsdTogJXNcbiIKbXNnc3RyICIlczogLWUg18nSwdogIyVsdSwgzKbUxdLBICVsdTogJXNcbiIKCiM6IHNlZC9jb21waWxlLmM6MTY2NQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNhbid0IGZpbmQgbGFiZWwgZm9yIGp1bXAgdG8gYCVzJyIKbXNnc3RyICLuxc3P1szJ188g2s7BytTJIM2m1MvVIMTM0SDQxdLFyM/E1SDEzyBcIiVzXCIiCgojOiBzZWQvZXhlY3V0ZS5jOjcwOQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbid0IHJlYWQgJXM6ICVzXG4iCm1zZ3N0ciAiJXM6IM7Fzc/WzMnXzyDQ0s/eydTB1MkgJXM6ICVzXG4iCgojOiBzZWQvZXhlY3V0ZS5jOjc0MAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNvdWxkbid0IGVkaXQgJXM6IGlzIGEgdGVybWluYWwiCm1zZ3N0ciAizsUgzc/W1SDawdDJ08HUySDFzMXNxc7UICVkIMTPICVzOiAlcyIKCiM6IHNlZC9leGVjdXRlLmM6NzQ1CiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBlZGl0ICVzOiBub3QgYSByZWd1bGFyIGZpbGUiCm1zZ3N0ciAiIgoKIzogc2VkL2V4ZWN1dGUuYzo3NTcKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB3YXJuaW5nOiBmYWlsZWQgdG8gc2V0IGRlZmF1bHQgZmlsZSBjcmVhdGlvbiBjb250ZXh0IHRvICVzOiAlcyIKbXNnc3RyICIiCgojOiBzZWQvZXhlY3V0ZS5jOjc2NAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHdhcm5pbmc6IGZhaWxlZCB0byBnZXQgc2VjdXJpdHkgY29udGV4dCBvZiAlczogJXMiCm1zZ3N0ciAiIgoKIzogc2VkL2V4ZWN1dGUuYzo3ODMgc2VkL3V0aWxzLmM6MjI3CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSAlczogJXMiCm1zZ3N0ciAi7sXNz9bMydfPINemxMvSydTJIMbByswgJXM6ICVzIgoKIzogc2VkL2V4ZWN1dGUuYzoxMzE3IHNlZC9leGVjdXRlLmM6MTQ5Nwptc2dpZCAiZXJyb3IgaW4gc3VicHJvY2VzcyIKbXNnc3RyICLQz83JzMvBINUg0KbE0NLPw8XTpiIKCiM6IHNlZC9leGVjdXRlLmM6MTMxOQptc2dpZCAib3B0aW9uIGBlJyBub3Qgc3VwcG9ydGVkIgptc2dzdHIgIsvMwN4gXCJlXCIgzsUg0KbE1NLJzdWk1NjT0SIKCiM6IHNlZC9leGVjdXRlLmM6MTQ5OQptc2dpZCAiYGUnIGNvbW1hbmQgbm90IHN1cHBvcnRlZCIKbXNnc3RyICLLz83BzsTBIFwiZVwiIM7FINCmxNTSyc3VpNTY09EiCgojOiBzZWQvZXhlY3V0ZS5jOjE4NDMKbXNnaWQgIm5vIGlucHV0IGZpbGVzIgptc2dzdHIgIiIKCiM6IHNlZC9yZWdleHAuYzo0MQojLCBmdXp6eQptc2dpZCAibm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIu7FzcGkINDP0MXSxcTO2M/HzyDSxcfVzNHSzs/HzyDXydLB2tUiCgojOiBzZWQvcmVnZXhwLmM6NDIKIywgZnV6enkKbXNnaWQgImNhbm5vdCBzcGVjaWZ5IG1vZGlmaWVycyBvbiBlbXB0eSByZWdleHAiCm1zZ3N0ciAi7sXNz9bMydfPINfLwdrB1Mkgzc/Eycamy8HUz9LJIM7BINDP0s/WztjPzdUg0sXH1czR0s7PzdUg18nSwdqmIgoKIzogc2VkL3JlZ2V4cC5jOjEzMQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImludmFsaWQgcmVmZXJlbmNlIFxcJWQgb24gYHMnIGNvbW1hbmQncyBSSFMiCm1zZ3N0ciAi7sXQ0sHXyczYzsUg0M/TyczBzs7RIFxcJWQg1SDQ0sHXpsog3sHT1MnOpiDLz83BzsTJIFwic1wiIgoKIzogc2VkL3NlZC5jOjk3CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJHTlUgc2VkIGhvbWUgcGFnZTogPGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9zZWQvPi5cbiIKIkdlbmVyYWwgaGVscCB1c2luZyBHTlUgc29mdHdhcmU6IDxodHRwOi8vd3d3LmdudS5vcmcvZ2V0aGVscC8+LlxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxMDQKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIiCiJFLW1haWwgYnVnIHJlcG9ydHMgdG86IDwlcz4uXG4iCiJCZSBzdXJlIHRvIGluY2x1ZGUgdGhlIHdvcmQgYGAlcycnIHNvbWV3aGVyZSBpbiB0aGUgYGBTdWJqZWN0OicnIGZpZWxkLlxuIgptc2dzdHIgIiIKIvDP16bEz83Mxc7O0SDQ0s8g0M/NyczLySDOwcTTyczBytTFIMTPOiAlcyAuXG4iCiLvws/XJ9Hay8/XzyDEz8TBytTFINPMz9fPIFwiJXNcIiDC1cTYLcTFINUg0M/MpiBcIvTFzcE6XCIuXG4iCgojOiBzZWQvc2VkLmM6MTE3Cm1zZ2lkICIiCiIgIC1SLCAtLXJlZ2V4cC1wZXJsXG4iCiIgICAgICAgICAgICAgICAgIHVzZSBQZXJsIDUncyByZWd1bGFyIGV4cHJlc3Npb25zIHN5bnRheCBpbiB0aGUgc2NyaXB0LlxuIgptc2dzdHIgIiIKIiAgLVIsIC0tcmVnZXhwLXBlcmxcbiIKIiAgICAgICAgICAgICAgICAg18nLz9LJ09TP19XXwdTJINUg08PFzsHSptHIINLFx9XM0dLOpiDXydLB2skgUGVybCA1LlxuIgoKIzogc2VkL3NlZC5jOjEyMgojLCBjLWZvcm1hdAptc2dpZCAiIgoiVXNhZ2U6ICVzIFtPUFRJT05dLi4uIHtzY3JpcHQtb25seS1pZi1uby1vdGhlci1zY3JpcHR9IFtpbnB1dC1maWxlXS4uLlxuIgoiXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjEyNgojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtbiwgLS1xdWlldCwgLS1zaWxlbnRcbiIKIiAgICAgICAgICAgICAgICAgc3VwcHJlc3MgYXV0b21hdGljIHByaW50aW5nIG9mIHBhdHRlcm4gc3BhY2VcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTI4CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1lIHNjcmlwdCwgLS1leHByZXNzaW9uPXNjcmlwdFxuIgoiICAgICAgICAgICAgICAgICBhZGQgdGhlIHNjcmlwdCB0byB0aGUgY29tbWFuZHMgdG8gYmUgZXhlY3V0ZWRcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTMwCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1mIHNjcmlwdC1maWxlLCAtLWZpbGU9c2NyaXB0LWZpbGVcbiIKIiAgICAgICAgICAgICAgICAgYWRkIHRoZSBjb250ZW50cyBvZiBzY3JpcHQtZmlsZSB0byB0aGUgY29tbWFuZHMgdG8gYmUgIgoiZXhlY3V0ZWRcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTMzCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC0tZm9sbG93LXN5bWxpbmtzXG4iCiIgICAgICAgICAgICAgICAgIGZvbGxvdyBzeW1saW5rcyB3aGVuIHByb2Nlc3NpbmcgaW4gcGxhY2VcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTM2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1pW1NVRkZJWF0sIC0taW4tcGxhY2VbPVNVRkZJWF1cbiIKIiAgICAgICAgICAgICAgICAgZWRpdCBmaWxlcyBpbiBwbGFjZSAobWFrZXMgYmFja3VwIGlmIGV4dGVuc2lvbiBzdXBwbGllZClcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTM5CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1iLCAtLWJpbmFyeVxuIgoiICAgICAgICAgICAgICAgICBvcGVuIGZpbGVzIGluIGJpbmFyeSBtb2RlIChDUitMRnMgYXJlIG5vdCBwcm9jZXNzZWQgIgoic3BlY2lhbGx5KVxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxNDIKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWwgTiwgLS1saW5lLWxlbmd0aD1OXG4iCiIgICAgICAgICAgICAgICAgIHNwZWNpZnkgdGhlIGRlc2lyZWQgbGluZS13cmFwIGxlbmd0aCBmb3IgdGhlIGBsJyBjb21tYW5kXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjE0NAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtLXBvc2l4XG4iCiIgICAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIEdOVSBleHRlbnNpb25zLlxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxNDYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1yLCAtLXJlZ2V4cC1leHRlbmRlZFxuIgoiICAgICAgICAgICAgICAgICB1c2UgZXh0ZW5kZWQgcmVndWxhciBleHByZXNzaW9ucyBpbiB0aGUgc2NyaXB0LlxuIgptc2dzdHIgIiIKIiAgLVIsIC0tcmVnZXhwLXBlcmxcbiIKIiAgICAgICAgICAgICAgICAg18nLz9LJ09TP19XXwdTJINUg08PFzsHSptHIINLFx9XM0dLOpiDXydLB2skgUGVybCA1LlxuIgoKIzogc2VkL3NlZC5jOjE1MQojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtcywgLS1zZXBhcmF0ZVxuIgoiICAgICAgICAgICAgICAgICBjb25zaWRlciBmaWxlcyBhcyBzZXBhcmF0ZSByYXRoZXIgdGhhbiBhcyBhIHNpbmdsZSAiCiJjb250aW51b3VzXG4iCiIgICAgICAgICAgICAgICAgIGxvbmcgc3RyZWFtLlxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxNTQKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLXUsIC0tdW5idWZmZXJlZFxuIgoiICAgICAgICAgICAgICAgICBsb2FkIG1pbmltYWwgYW1vdW50cyBvZiBkYXRhIGZyb20gdGhlIGlucHV0IGZpbGVzIGFuZCAiCiJmbHVzaFxuIgoiICAgICAgICAgICAgICAgICB0aGUgb3V0cHV0IGJ1ZmZlcnMgbW9yZSBvZnRlblxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxNTcKIywgYy1mb3JtYXQKbXNnaWQgIiAgICAgIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTU4CiMsIGMtZm9ybWF0Cm1zZ2lkICIgICAgICAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjE1OQojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiJJZiBubyAtZSwgLS1leHByZXNzaW9uLCAtZiwgb3IgLS1maWxlIG9wdGlvbiBpcyBnaXZlbiwgdGhlbiB0aGUgZmlyc3RcbiIKIm5vbi1vcHRpb24gYXJndW1lbnQgaXMgdGFrZW4gYXMgdGhlIHNlZCBzY3JpcHQgdG8gaW50ZXJwcmV0LiAgQWxsXG4iCiJyZW1haW5pbmcgYXJndW1lbnRzIGFyZSBuYW1lcyBvZiBpbnB1dCBmaWxlczsgaWYgbm8gaW5wdXQgZmlsZXMgYXJlXG4iCiJzcGVjaWZpZWQsIHRoZW4gdGhlIHN0YW5kYXJkIGlucHV0IGlzIHJlYWQuXG4iCiJcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MzE1CiMsIGMtZm9ybWF0Cm1zZ2lkICJzdXBlci1zZWQgdmVyc2lvbiAlc1xuIgptc2dzdHIgInN1cGVyLXNlZCDXxdLTpqcgJXNcbiIKCiM6IHNlZC9zZWQuYzozMTYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIiCiJiYXNlZCBvbiBHTlUgc2VkIHZlcnNpb24gJXNcbiIKIlxuIgptc2dzdHIgIiIKItrB087P18HOycogzsEgR05VIHNlZCDXxdLTpqcgMy4wMi44MFxuIgoiXG4iCgojOiBzZWQvc2VkLmM6MzE4CiMsIGMtZm9ybWF0Cm1zZ2lkICJHTlUgc2VkIHZlcnNpb24gJXNcbiIKbXNnc3RyICJHTlUgc2VkINfF0tOmpyAlc1xuIgoKIzogc2VkL3NlZC5jOjMyMAojLCBjLWZvcm1hdAptc2dpZCAiIgoiQ29weXJpZ2h0IChDKSAlZCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PXG4iCiJ3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSxcbiIKInRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKbXNnc3RyICIiCgojOiBzZWQvdXRpbHMuYzo5MyBzZWQvdXRpbHMuYzo0MzgKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjYW5ub3QgcmVtb3ZlICVzOiAlcyIKbXNnc3RyICIlczogzsXNz9bMydfPINDSz97J1MHUySAlczogJXNcbiIKCiM6IHNlZC91dGlscy5jOjE2MwojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNvdWxkbid0IG9wZW4gZmlsZSAlczogJXMiCm1zZ3N0ciAi7sXNz9bMydfPINemxMvSydTJIMbByswgJXM6ICVzIgoKIzogc2VkL3V0aWxzLmM6MTg2CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3QgYXR0YWNoIHRvICVzOiAlcyIKbXNnc3RyICLOxSDNz9bVINrB0MnTwdTJIMXMxc3FztQgJWQgxM8gJXM6ICVzIgoKIzogc2VkL3V0aWxzLmM6MjQ1CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3Qgd3JpdGUgJWQgaXRlbSB0byAlczogJXMiCm1zZ2lkX3BsdXJhbCAiY291bGRuJ3Qgd3JpdGUgJWQgaXRlbXMgdG8gJXM6ICVzIgptc2dzdHJbMF0gIs7FIM3P1tUg2sHQydPB1MkgxczFzcXO1CAlZCDEzyAlczogJXMiCm1zZ3N0clsxXSAizsUgzc/W1SDawdDJ08HUySDFzMXNxc7UICVkIMTPICVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjI2MCBzZWQvdXRpbHMuYzoyNzYKIywgYy1mb3JtYXQKbXNnaWQgInJlYWQgZXJyb3Igb24gJXM6ICVzIgptc2dzdHIgItDPzcnMy8Eg3snUwc7O0SAlczogJXMiCgojOiBzZWQvdXRpbHMuYzozNzgKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBmb2xsb3cgc3ltbGluayAlczogJXMiCm1zZ3N0ciAi7sXNz9bMydfPINemxMvSydTJIMbByswgJXM6ICVzIgoKIzogc2VkL3V0aWxzLmM6NDEyCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY2Fubm90IHN0YXQgJXM6ICVzIgptc2dzdHIgIiVzOiDOxc3P1szJ188g0NLP3snUwdTJICVzOiAlc1xuIgoKIzogc2VkL3V0aWxzLmM6NDQzCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY2Fubm90IHJlbmFtZSAlczogJXMiCm1zZ3N0ciAiJXM6IM7Fzc/WzMnXzyDQ0s/eydTB1MkgJXM6ICVzXG4iCgojOiBsaWIvcmVnY29tcC5jOjEzNAptc2dpZCAiU3VjY2VzcyIKbXNnc3RyICL109Cm287PIgoKIzogbGliL3JlZ2NvbXAuYzoxMzcKbXNnaWQgIk5vIG1hdGNoIgptc2dzdHIgIu7FzcGkINemxNDP16bEzs/T1KYiCgojOiBsaWIvcmVnY29tcC5jOjE0MAptc2dpZCAiSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAi7sXQ0sHXyczYzsnKINLFx9XM0dLOycog18nSwdoiCgojOiBsaWIvcmVnY29tcC5jOjE0Mwptc2dpZCAiSW52YWxpZCBjb2xsYXRpb24gY2hhcmFjdGVyIgptc2dzdHIgIu7F0NLB18nM2M7JyiDTyc3Xz8wg09Cm19PUwdfMxc7O0SIKCiM6IGxpYi9yZWdjb21wLmM6MTQ2Cm1zZ2lkICJJbnZhbGlkIGNoYXJhY3RlciBjbGFzcyBuYW1lIgptc2dzdHIgIu7F16bSzsUgps0n0SDLzMHT1SDTyc3Xz8ym1yIKCiM6IGxpYi9yZWdjb21wLmM6MTQ5Cm1zZ2lkICJUcmFpbGluZyBiYWNrc2xhc2giCm1zZ3N0ciAi+tfP0s/UzqbKINPMxdsg1SDLps7DpiDS0cTLwSIKCiM6IGxpYi9yZWdjb21wLmM6MTUyCm1zZ2lkICJJbnZhbGlkIGJhY2sgcmVmZXJlbmNlIgptc2dzdHIgIu7F0NLB18nM2M7FINrXz9LP1M6kINDP08nMwc7O0SIKCiM6IGxpYi9yZWdjb21wLmM6MTU1Cm1zZ2lkICJVbm1hdGNoZWQgWyBvciBbXiIKbXNnc3RyICLuxSDawcvSydTPIFsg3skgW14iCgojOiBsaWIvcmVnY29tcC5jOjE1OAptc2dpZCAiVW5tYXRjaGVkICggb3IgXFwoIgptc2dzdHIgIu7FINrBy9LJ1M8gKCDeySBcXCgiCgojOiBsaWIvcmVnY29tcC5jOjE2MQptc2dpZCAiVW5tYXRjaGVkIFxceyIKbXNnc3RyICLuxSDawcvSydTPIFxceyIKCiM6IGxpYi9yZWdjb21wLmM6MTY0Cm1zZ2lkICJJbnZhbGlkIGNvbnRlbnQgb2YgXFx7XFx9Igptc2dzdHIgIu7F0NLB18nM2M7JyiDXzabT1CBcXHtcXH0iCgojOiBsaWIvcmVnY29tcC5jOjE2Nwptc2dpZCAiSW52YWxpZCByYW5nZSBlbmQiCm1zZ3N0ciAi7sXQ0sHXyczYzsnKIMumzsXD2CDEpsHQwdrPztUiCgojOiBsaWIvcmVnY29tcC5jOjE3MAptc2dpZCAiTWVtb3J5IGV4aGF1c3RlZCIKbXNnc3RyICLwwc0n0dTYINfJ3sXS0MHOzyIKCiM6IGxpYi9yZWdjb21wLmM6MTczCm1zZ2lkICJJbnZhbGlkIHByZWNlZGluZyByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAi7sXQ0sHXyczYzsnKINDP0MXSxcTOpsog0sXH1czR0s7JyiDXydLB2iIKCiM6IGxpYi9yZWdjb21wLmM6MTc2Cm1zZ2lkICJQcmVtYXR1cmUgZW5kIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiIKbXNnc3RyICLwxdLFxN7B087FINrBy6bO3sXOztEg0sXH1czR0s7Px88g18nSwdrVIgoKIzogbGliL3JlZ2NvbXAuYzoxNzkKbXNnaWQgIlJlZ3VsYXIgZXhwcmVzc2lvbiB0b28gYmlnIgptc2dzdHIgIu7BxNTPINfFzMnLycog0sXH1czR0s7JyiDXydLB2iIKCiM6IGxpYi9yZWdjb21wLmM6MTgyCm1zZ2lkICJVbm1hdGNoZWQgKSBvciBcXCkiCm1zZ3N0ciAi7sUg2sHL0snUzyApIN7JIFxcKSIKCiM6IGxpYi9yZWdjb21wLmM6NzAzCm1zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAi7sXNwaQg0M/QxdLFxM7Yz8fPINLFx9XM0dLOz8fPINfJ0sHa1SIKCiN+IG1zZ2lkICJVbmV4cGVjdGVkIEVuZC1vZi1maWxlIgojfiBtc2dzdHIgIu7Fz96my9XXwc7JyiDLps7Fw9ggxsHKzNUiCgojfiBtc2dpZCAiQ2FsbGVkIHNhdmNoYXIoKSB3aXRoIHVuZXhwZWN0ZWQgcHVzaGJhY2sgKCV4KSIKI34gbXNnc3RyICL3ycvMycsgc2F2Y2hhcigpIKbaIM7Fz96my9XXwc7JzSBwdXNoYmFjayAoJXgpIgoKI34gbXNnaWQgIklOVEVSTkFMIEVSUk9SOiBiYWQgYWRkcmVzcyB0eXBlIgojfiBtc2dzdHIgIvfu9fTytvvu8SDw7+3p7OvhOiDOxdem0s7JyiDUydAgwcTSxdPJIgoKI34gbXNnaWQgIklOVEVSTkFMIEVSUk9SOiBCYWQgY21kICVjIgojfiBtc2dzdHIgIvfu9fTytvvu8SDw7+3p7OvhOiDoycLOwSDLz83BzsTBICVjIgoKI34gbXNnaWQgIiIKI34gIlVzYWdlOiAlcyBbT1BUSU9OXS4uLiB7c2NyaXB0LW9ubHktaWYtbm8tb3RoZXItc2NyaXB0fSBbaW5wdXQtZmlsZV0uLi5cbiIKI34gIlxuIgojfiAiICAtbiwgLS1xdWlldCwgLS1zaWxlbnRcbiIKI34gIiAgICAgICAgICAgICAgICAgc3VwcHJlc3MgYXV0b21hdGljIHByaW50aW5nIG9mIHBhdHRlcm4gc3BhY2VcbiIKI34gIiAgLWUgc2NyaXB0LCAtLWV4cHJlc3Npb249c2NyaXB0XG4iCiN+ICIgICAgICAgICAgICAgICAgIGFkZCB0aGUgc2NyaXB0IHRvIHRoZSBjb21tYW5kcyB0byBiZSBleGVjdXRlZFxuIgojfiAiICAtZiBzY3JpcHQtZmlsZSwgLS1maWxlPXNjcmlwdC1maWxlXG4iCiN+ICIgICAgICAgICAgICAgICAgIGFkZCB0aGUgY29udGVudHMgb2Ygc2NyaXB0LWZpbGUgdG8gdGhlIGNvbW1hbmRzIHRvIGJlICIKI34gImV4ZWN1dGVkXG4iCiN+ICIgIC1pW3N1ZmZpeF0sIC0taW4tcGxhY2VbPXN1ZmZpeF1cbiIKI34gIiAgICAgICAgICAgICAgICAgZWRpdCBmaWxlcyBpbiBwbGFjZSAobWFrZXMgYmFja3VwIGlmIGV4dGVuc2lvbiAiCiN+ICJzdXBwbGllZClcbiIKI34gIiAgLWwgTiwgLS1saW5lLWxlbmd0aD1OXG4iCiN+ICIgICAgICAgICAgICAgICAgIHNwZWNpZnkgdGhlIGRlc2lyZWQgbGluZS13cmFwIGxlbmd0aCBmb3IgdGhlIGBsJyAiCiN+ICJjb21tYW5kXG4iCiN+ICIgIC1yLCAtLXJlZ2V4cC1leHRlbmRlZFxuIgojfiAiICAgICAgICAgICAgICAgICB1c2UgZXh0ZW5kZWQgcmVndWxhciBleHByZXNzaW9ucyBpbiB0aGUgc2NyaXB0LlxuIgojfiAiJXMgIC1zLCAtLXNlcGFyYXRlXG4iCiN+ICIgICAgICAgICAgICAgICAgIGNvbnNpZGVyIGZpbGVzIGFzIHNlcGFyYXRlIHJhdGhlciB0aGFuIGFzIGEgc2luZ2xlICIKI34gImNvbnRpbnVvdXNcbiIKI34gIiAgICAgICAgICAgICAgICAgbG9uZyBzdHJlYW0uXG4iCiN+ICIgIC11LCAtLXVuYnVmZmVyZWRcbiIKI34gIiAgICAgICAgICAgICAgICAgbG9hZCBtaW5pbWFsIGFtb3VudHMgb2YgZGF0YSBmcm9tIHRoZSBpbnB1dCBmaWxlcyBhbmQgIgojfiAiZmx1c2hcbiIKI34gIiAgICAgICAgICAgICAgICAgdGhlIG91dHB1dCBidWZmZXJzIG1vcmUgb2Z0ZW5cbiIKI34gIiAgICAgIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKI34gIiAgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKI34gIlxuIgojfiAiSWYgbm8gLWUsIC0tZXhwcmVzc2lvbiwgLWYsIG9yIC0tZmlsZSBvcHRpb24gaXMgZ2l2ZW4sIHRoZW4gdGhlIGZpcnN0XG4iCiN+ICJub24tb3B0aW9uIGFyZ3VtZW50IGlzIHRha2VuIGFzIHRoZSBzZWQgc2NyaXB0IHRvIGludGVycHJldC4gIEFsbFxuIgojfiAicmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgbmFtZXMgb2YgaW5wdXQgZmlsZXM7IGlmIG5vIGlucHV0IGZpbGVzIGFyZVxuIgojfiAic3BlY2lmaWVkLCB0aGVuIHRoZSBzdGFuZGFyZCBpbnB1dCBpcyByZWFkLlxuIgojfiAiXG4iCiN+IG1zZ3N0ciAiIgojfiAi98nLz9LJ09TBzs7ROiAlcyBb6+zg/l0uLiB708vSydDULdHL3c8tzsXNwS2mztvJyC3Ty9LJ0NSm130gW9fIpsTOycotIgojfiAixsHKzF0uLi5cbiIKI34gIlxuIgojfiAiICAtbiwgLS1xdWlldCwgLS1zaWxlbnRcbiIKI34gIiAgICAgICAgICAgICAgICAg18nNy87V1MkgwdfUz83B1MnezsnKIMTS1csgy8/NptLLySDSxcfVzNHSzs/HzyDXydLB2tVcbiIKI34gIiAgLWUgc2NyaXB0LCAtLWV4cHJlc3Npb249c2NyaXB0XG4iCiN+ICIgICAgICAgICAgICAgICAgIMTPxMHUySDTw8XOwdKmyiDEzyDLz83BzsQsIN3PIMLVxNXU2CDXycvPzsHOplxuIgojfiAiICAtZiBzY3JpcHQtZmlsZSwgLS1maWxlPXNjcmlwdC1maWxlXG4iCiN+ICIgICAgICAgICAgICAgICAgIMTPxMHUySDXzabT1CDGwcrMwSDTw8XOwdKmp9cgxM8gy8/Nwc7ELCDdzyDC1cTV1NggIgojfiAi18nLz87BzqZcbiIKI34gIiAgLWlb09XGpsvTXSwgLS1pbi1wbGFjZVs909XGpsvTXVxuIgojfiAiICAgICAgICAgICAgICAgICDSxcTBx9XXwdTJIMbByszJIFwizsEgzabTw6ZcIlxuIgojfiAiICAgICAgICAgICAgICAgICAo0s/CydTJIMvP0KanLCDRy93PINfLwdrBzs8g0s/a28nSxc7O0SlcbiIKI34gIiAgLWwgTiwgLS1saW5lLWxlbmd0aD1OXG4iCiN+ICIgICAgICAgICAgICAgICAgINfLwdrB1MkgwsHWwc7VIMTP19bJztUg0MXSxc7F08XOztEg0tHEy8EgxMzRIMvPzcHOxMkgXCJsIgojfiAiXCJcbiIKI34gIiAgLXIsIC0tcmVnZXhwLWV4dGVuZGVkXG4iCiN+ICIgICAgICAgICAgICAgICAgINfJy8/SydPUz9fV18HUySDVINPDxc7B0qbRyCDSz9rbydLFzqYg0sXH1czR0s6mINfJ0sHayS5cbiIKI34gIiVzICAtcywgLS1zZXBhcmF0ZVxuIgojfiAiICAgICAgICAgICAgICAgICDSz9rHzNHEwdTJIMbByszJINLP2sSmzMXOyc3JLCDBIM7FINHLIKTEyc7JyiDEz9fHycogIgojfiAi0M/UpstcbiIKI34gIiAgLXUsIC0tdW5idWZmZXJlZFxuIgojfiAiICAgICAgICAgICAgICAgICDC0sHUySDNps6mzcHM2M7VIMumzNjLptPU2CDEwc7JyCDaINfIpsTOycggxsHKzKbXLFxuIgojfiAiICAgICAgICAgICAgICAgICDUwSDP3sndwdTJINfJyKbEzqYgwtXGxdLJIN7B09Sm28VcbiIKI34gIiAgICAgIC0taGVscCAgICAg0M/LwdrB1Mkgw8Ag0KbEy8Hay9Ug1MEg18nK1MlcbiIKI34gIiAgLVYsIC0tdmVyc2lvbiAg0M/LwdrB1Mkgps7Gz9LNwcOmwCDQ0s8g18XS06bAINTBINfJytTJXG4iCiN+ICJcbiIKI34gIvHL3c8gzsUg2sHEwc7PIM/EzsUg2iAtZSwgLS1leHByZXNzaW9uLCAtZiwg3skgLS1maWxlLCDQxdLbycogwdLH1c3FztQsXG4iCiN+ICLRy8nKIM7FIKQgcmsueHR2ICDX18HWwdTJzcXU2NPRINPDxc7B0qakzSwg2sHEwc7JzSDOwSDXycvPzsHOztEuICD306YgIgojfiAips7bplxuIgojfiAiwdLH1c3FztTJIKQgps3FzsHNySDXyKbEzsnIIMbBysym1zsg0cvdzyDWINTBy6YgzsUg2sHEwc7PLFxuIgojfiAixMHOpiDC1cTV1Ngg2t7J1MHOpiCm2iDT1MHOxMHS1M7Px88g19fPxNUuXG4iCiN+ICJcbiIK