IyBHZXJtYW4gbWVzc2FnZXMgZm9yIEdOVSBsaWJpY29udi4KIyBDb3B5cmlnaHQgKEMpIDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIEdOVSBsaWJpY29udiBwYWNrYWdlLgojIEJydW5vIEhhaWJsZSA8YnJ1bm9AY2xpc3Aub3JnPiwgMjAwMi4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogR05VIGxpYmljb252IDEuOFxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Zy1nbnUtbGliaWNvbnZAZ251Lm9yZ1xuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDMtMDUtMDYgMTM6MzIrMDIwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMi0wNC0yOCAwNDoyNiswMjAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEJydW5vIEhhaWJsZSA8YnJ1bm9AY2xpc3Aub3JnPlxuIgoiTGFuZ3VhZ2UtVGVhbTogR2VybWFuIDxkZUBsaS5vcmc+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgoKIzogc3JjL2ljb252LmM6NTkKbXNnaWQgIlVzYWdlOiBpY29udiBbLS1iaW5hcnldIFstY10gWy1zXSBbLWYgZnJvbWNvZGVdIFstdCB0b2NvZGVdIFtmaWxlIC4uLl0iCm1zZ3N0ciAiIgoiQXVmcnVmOiBpY29udiBbLS1iaW5hcnldIFstY10gWy1zXVxuIgoiICAgICAgICAgICAgICBbLWYgQVVTR0FOR1MtS09ESUVSVU5HXSBbLXQgWklFTC1LT0RJRVJVTkddIFtEQVRFSSAuLi5dIgoKIzogc3JjL2ljb252LmM6NjEKbXNnaWQgIlVzYWdlOiBpY29udiBbLWNdIFstc10gWy1mIGZyb21jb2RlXSBbLXQgdG9jb2RlXSBbZmlsZSAuLi5dIgptc2dzdHIgIiIKIkF1ZnJ1ZjogaWNvbnYgWy1jXSBbLXNdIFstZiBBVVNHQU5HUy1LT0RJRVJVTkddIFstdCBaSUVMLUtPRElFUlVOR10gIgoiW0RBVEVJIC4uLl0iCgojOiBzcmMvaWNvbnYuYzo2NAptc2dpZCAib3I6ICAgIGljb252IC1sIgptc2dzdHIgIm9kZXI6ICAgaWNvbnYgLWwiCgojOiBzcmMvaWNvbnYuYzo3NAptc2dpZCAiIgoiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk9cbiIKIndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLlxuIgptc2dzdHIgIiIKIkRpZXMgaXN0IGZyZWllIFNvZnR3YXJlOyBkaWUgS29waWVyYmVkaW5ndW5nZW4gc3RlaGVuIGluIGRlbiBRdWVsbGVuLiBFc1xuIgoiZ2lidCBrZWluZSBHYXJhbnRpZTsgYXVjaCBuaWNodCBm/HIgVkVSS0FVRkJBUktFSVQgb2RlciBG3FIgU1BFWklFTExFICIKIlpXRUNLRS5cbiIKCiM6IHNyYy9pY29udi5jOjc3CiMsIGMtZm9ybWF0Cm1zZ2lkICJXcml0dGVuIGJ5ICVzLlxuIgptc2dzdHIgIkdlc2NocmllYmVuIHZvbiAlcy5cbiIKCiM6IHNyYy9pY29udi5jOjExNCBzcmMvaWNvbnYuYzoxNDYgc3JjL2ljb252LmM6MTk2CiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogJXM6IGluY29tcGxldGUgY2hhcmFjdGVyIG9yIHNoaWZ0IHNlcXVlbmNlXG4iCm1zZ3N0ciAiaWNvbnY6ICVzOiB1bnZvbGxzdORuZGlnZXMgWmVpY2hlbiBvZGVyIHVudm9sbHN05G5kaWdlIFVtc2NoYWx0Zm9sZ2VcbiIKCiM6IHNyYy9pY29udi5jOjE0MCBzcmMvaWNvbnYuYzoxOTEKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiAlczogY2Fubm90IGNvbnZlcnRcbiIKbXNnc3RyICJpY29udjogJXM6IEthbm4gbmljaHQgdW13YW5kZWxuLlxuIgoKIzogc3JjL2ljb252LmM6MTYyIHNyYy9pY29udi5jOjIwMSBzcmMvaWNvbnYuYzozMjAKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiAlczogIgptc2dzdHIgImljb252OiAlczogIgoKIzogc3JjL2ljb252LmM6MjEwCiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogJXM6IEkvTyBlcnJvclxuIgptc2dzdHIgImljb252OiAlczogRWluLS9BdXNnYWJlZmVobGVyXG4iCgojOiBzcmMvaWNvbnYuYzozMDQKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiBjb252ZXJzaW9uIGZyb20gJXMgdW5zdXBwb3J0ZWRcbiIKbXNnc3RyICJpY29udjogVW13YW5kbHVuZyBhdXNnZWhlbmQgdm9uICVzIGlzdCBuaWNodCB1bnRlcnN0/HR6dC5cbiIKCiM6IHNyYy9pY29udi5jOjMwNgojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6IGNvbnZlcnNpb24gdG8gJXMgdW5zdXBwb3J0ZWRcbiIKbXNnc3RyICJpY29udjogVW13YW5kbHVuZyBuYWNoICVzIGlzdCBuaWNodCB1bnRlcnN0/HR6dC5cbiIKCiM6IHNyYy9pY29udi5jOjMwOAojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6IGNvbnZlcnNpb24gZnJvbSAlcyB0byAlcyB1bnN1cHBvcnRlZFxuIgptc2dzdHIgImljb252OiBVbXdhbmRsdW5nIHZvbiAlcyBuYWNoICVzIGlzdCBuaWNodCB1bnRlcnN0/HR6dC5cbiIKCiM6IHNyYy9pY29udi5jOjMxMgptc2dpZCAiKHN0ZGluKSIKbXNnc3RyICIoU3RhbmRhcmQtRWluZ2FiZSkiCgojOiBzcmMvaWNvbnYuYzozMzMKbXNnaWQgImljb252OiBJL08gZXJyb3JcbiIKbXNnc3RyICJpY29udjogRWluLS9BdXNnYWJlZmVobGVyXG4iCg==