IyBOb3J3ZWdpYW4gbWVzc2FnZXMgZm9yIEdOVSB0ZXh0dXRpbHMgKGJva23lbCBkaWFsZWN0KQojIENvcHlyaWdodCAoQykgMTk5NiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBFaXZpbmQgVGFnc2V0aCA8ZWl2aW5kdEBtdWx0aW5ldC5ubz4sIDE5OTYsIDE5OTcsIDE5OTkuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IEdOVSB0ZXh0dXRpbHMgMi4wLjIwXG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLWdudWxpYkBnbnUub3JnXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOS0xMi0xMSAwNzo0MyswMTAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDAyLTAxLTI3IDIxOjM1KzAxMDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogRWl2aW5kIFRhZ3NldGggPGVpdmluZHRAbXVsdGluZXQubm8+XG4iCiJMYW5ndWFnZS1UZWFtOiBOb3J3ZWdpYW4gPGkxOG4tbmJAbGlzdGVyLnBpbmcudWlvLm5vPlxuIgoiTGFuZ3VhZ2U6IG5iXG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDgtYml0XG4iCiJYLUJ1Z3M6IFJlcG9ydCB0cmFuc2xhdGlvbiBlcnJvcnMgdG8gdGhlIExhbmd1YWdlLVRlYW0gYWRkcmVzcy5cbiIKCiM6IGxpYi9hcmdtYXRjaC5jOjEzMgojLCBjLWZvcm1hdAptc2dpZCAiaW52YWxpZCBhcmd1bWVudCAlcyBmb3IgJXMiCm1zZ3N0ciAidWd5bGRpZyBhcmd1bWVudCAlcyBmb3IgJXMiCgojOiBsaWIvYXJnbWF0Y2guYzoxMzMKIywgYy1mb3JtYXQKbXNnaWQgImFtYmlndW91cyBhcmd1bWVudCAlcyBmb3IgJXMiCm1zZ3N0ciAiZmxlcnR5ZGlnIGFyZ3VtZW50ICVzIGZvciAlcyIKCiM6IGxpYi9hcmdtYXRjaC5jOjE1MiBsaWIvYXJnbWF0Y2guaDoyMjMKbXNnaWQgIlZhbGlkIGFyZ3VtZW50cyBhcmU6Igptc2dzdHIgIkd5bGRpZ2UgYXJndW1lbnQgZXI6IgoKIzogbGliL2JpdHNldC9zdGF0cy5jOjE3NwojLCBjLWZvcm1hdAptc2dpZCAiJXUgYml0c2V0X2FsbG9jcywgJXUgZnJlZWQgKCUuMmYlJSkuXG4iCm1zZ3N0ciAiIgoKIzogbGliL2JpdHNldC9zdGF0cy5jOjE4MAojLCBjLWZvcm1hdAptc2dpZCAiJXUgYml0c2V0X3NldHMsICV1IGNhY2hlZCAoJS4yZiUlKVxuIgptc2dzdHIgIiIKCiM6IGxpYi9iaXRzZXQvc3RhdHMuYzoxODMKIywgYy1mb3JtYXQKbXNnaWQgIiV1IGJpdHNldF9yZXNldHMsICV1IGNhY2hlZCAoJS4yZiUlKVxuIgptc2dzdHIgIiIKCiM6IGxpYi9iaXRzZXQvc3RhdHMuYzoxODYKIywgYy1mb3JtYXQKbXNnaWQgIiV1IGJpdHNldF90ZXN0cywgJXUgY2FjaGVkICglLjJmJSUpXG4iCm1zZ3N0ciAiIgoKIzogbGliL2JpdHNldC9zdGF0cy5jOjE5MAojLCBjLWZvcm1hdAptc2dpZCAiJXUgYml0c2V0X2xpc3RzXG4iCm1zZ3N0ciAiIgoKIzogbGliL2JpdHNldC9zdGF0cy5jOjE5Mgptc2dpZCAiY291bnQgbG9nIGhpc3RvZ3JhbVxuIgptc2dzdHIgIiIKCiM6IGxpYi9iaXRzZXQvc3RhdHMuYzoxOTUKbXNnaWQgInNpemUgbG9nIGhpc3RvZ3JhbVxuIgptc2dzdHIgIiIKCiM6IGxpYi9iaXRzZXQvc3RhdHMuYzoxOTgKbXNnaWQgImRlbnNpdHkgaGlzdG9ncmFtXG4iCm1zZ3N0ciAiIgoKIzogbGliL2JpdHNldC9zdGF0cy5jOjIxMAojLCBjLWZvcm1hdAptc2dpZCAiIgoiQml0c2V0IHN0YXRpc3RpY3M6XG4iCiJcbiIKbXNnc3RyICIiCgojOiBsaWIvYml0c2V0L3N0YXRzLmM6MjEzCiMsIGMtZm9ybWF0Cm1zZ2lkICJBY2N1bXVsYXRlZCBydW5zID0gJXVcbiIKbXNnc3RyICIiCgojOiBsaWIvYml0c2V0L3N0YXRzLmM6MjU1IGxpYi9iaXRzZXQvc3RhdHMuYzoyNjAKIywgZnV6enkKbXNnaWQgImNhbm5vdCByZWFkIHN0YXRzIGZpbGUiCm1zZ3N0ciAia2FuIGlra2Ugb3BwcmV0dGUga2F0YWxvZyAlcyIKCiM6IGxpYi9iaXRzZXQvc3RhdHMuYzoyNTcKIywgYy1mb3JtYXQKbXNnaWQgImJhZCBzdGF0cyBmaWxlIHNpemVcbiIKbXNnc3RyICIiCgojOiBsaWIvYml0c2V0L3N0YXRzLmM6MjgxIGxpYi9iaXRzZXQvc3RhdHMuYzoyODMKIywgZnV6enkKbXNnaWQgImNhbm5vdCB3cml0ZSBzdGF0cyBmaWxlIgptc2dzdHIgImthbiBpa2tlIG9wcHJldHRlIGthdGFsb2cgJXMiCgojOiBsaWIvYml0c2V0L3N0YXRzLmM6Mjg2Cm1zZ2lkICJjYW5ub3Qgb3BlbiBzdGF0cyBmaWxlIGZvciB3cml0aW5nIgptc2dzdHIgIiIKCiM6IGxpYi9jbG9zZW91dC5jOjEyMgptc2dpZCAid3JpdGUgZXJyb3IiCm1zZ3N0ciAiZmVpbCB2ZWQgc2tyaXZpbmciCgojOiBsaWIvZXJyb3IuYzoxOTUKbXNnaWQgIlVua25vd24gc3lzdGVtIGVycm9yIgptc2dzdHIgIlVramVudCBzeXN0ZW1mZWlsIgoKIzogbGliL2dldG9wdC5jOjI3OAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gJyVzJXMnIGlzIGFtYmlndW91c1xuIgptc2dzdHIgIiVzOiBmbGFnZ2V0IKslc7sgZXIgZmxlcnR5ZGlnXG4iCgojOiBsaWIvZ2V0b3B0LmM6Mjg0CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IG9wdGlvbiAnJXMlcycgaXMgYW1iaWd1b3VzOyBwb3NzaWJpbGl0aWVzOiIKbXNnc3RyICIlczogZmxhZ2dldCCrJXO7IGVyIGZsZXJ0eWRpZ1xuIgoKIzogbGliL2dldG9wdC5jOjMxOQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiB1bnJlY29nbml6ZWQgb3B0aW9uICclcyVzJ1xuIgptc2dzdHIgIiVzOiB1a2plbnQgZmxhZ2cgqyVjJXO7XG4iCgojOiBsaWIvZ2V0b3B0LmM6MzQ1CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IG9wdGlvbiAnJXMlcycgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudFxuIgptc2dzdHIgIiVzOiBmbGFnZ2V0IKslYyVzuyB0cmVuZ2VyIGV0IGFyZ3VtZW50XG4iCgojOiBsaWIvZ2V0b3B0LmM6MzYwCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IG9wdGlvbiAnJXMlcycgcmVxdWlyZXMgYW4gYXJndW1lbnRcbiIKbXNnc3RyICIlczogZmxhZ2dldCCrJXO7IHRyZW5nZXIgZXQgYXJndW1lbnRcbiIKCiM6IGxpYi9nZXRvcHQuYzo2MjEKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogaW52YWxpZCBvcHRpb24gLS0gJyVjJ1xuIgptc2dzdHIgIiVzOiB1a2plbnQgZmxhZ2cgLS0gJWNcbiIKCiM6IGxpYi9nZXRvcHQuYzo2MzYgbGliL2dldG9wdC5jOjY4MgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJyVjJ1xuIgptc2dzdHIgIiVzOiBmbGFnZ2V0IHRyZW5nZXIgZXQgYXJndW1lbnQgLS0gJWNcbiIKCiM6IGxpYi9vYnN0YWNrLmM6MzM4IGxpYi9vYnN0YWNrLmM6MzQwIGxpYi94YWxsb2MtZGllLmM6MzQKbXNnaWQgIm1lbW9yeSBleGhhdXN0ZWQiCm1zZ3N0ciAidmlydHVlbHQgbWlubmUgb3BwYnJ1a3QiCgojLiBUUkFOU0xBVE9SUzoKIy4gR2V0IHRyYW5zbGF0aW9ucyBmb3Igb3BlbiBhbmQgY2xvc2luZyBxdW90YXRpb24gbWFya3MuCiMuIFRoZSBtZXNzYWdlIGNhdGFsb2cgc2hvdWxkIHRyYW5zbGF0ZSAiYCIgdG8gYSBsZWZ0CiMuIHF1b3RhdGlvbiBtYXJrIHN1aXRhYmxlIGZvciB0aGUgbG9jYWxlLCBhbmQgc2ltaWxhcmx5IGZvcgojLiAiJyIuICBGb3IgZXhhbXBsZSwgYSBGcmVuY2ggVW5pY29kZSBsb2NhbCBzaG91bGQgdHJhbnNsYXRlCiMuIHRoZXNlIHRvIFUrMDBBQiAoTEVGVC1QT0lOVElORyBET1VCTEUgQU5HTEUKIy4gUVVPVEFUSU9OIE1BUkspLCBhbmQgVSswMEJCIChSSUdIVC1QT0lOVElORyBET1VCTEUgQU5HTEUKIy4gUVVPVEFUSU9OIE1BUkspLCByZXNwZWN0aXZlbHkuCiMuCiMuIElmIHRoZSBjYXRhbG9nIGhhcyBubyB0cmFuc2xhdGlvbiwgd2Ugd2lsbCB0cnkgdG8KIy4gdXNlIFVuaWNvZGUgVSsyMDE4IChMRUZUIFNJTkdMRSBRVU9UQVRJT04gTUFSSykgYW5kCiMuIFVuaWNvZGUgVSsyMDE5IChSSUdIVCBTSU5HTEUgUVVPVEFUSU9OIE1BUkspLiAgSWYgdGhlCiMuIGN1cnJlbnQgbG9jYWxlIGlzIG5vdCBVbmljb2RlLCBsb2NhbGVfcXVvdGluZ19zdHlsZQojLiB3aWxsIHF1b3RlICdsaWtlIHRoaXMnLCBhbmQgY2xvY2FsZV9xdW90aW5nX3N0eWxlIHdpbGwKIy4gcXVvdGUgImxpa2UgdGhpcyIuICBZb3Ugc2hvdWxkIGFsd2F5cyBpbmNsdWRlIHRyYW5zbGF0aW9ucwojLiBmb3IgImAiIGFuZCAiJyIgZXZlbiBpZiBVKzIwMTggYW5kIFUrMjAxOSBhcmUgYXBwcm9wcmlhdGUKIy4gZm9yIHlvdXIgbG9jYWxlLgojLgojLiBJZiB5b3UgZG9uJ3Qga25vdyB3aGF0IHRvIHB1dCBoZXJlLCBwbGVhc2Ugc2VlCiMuIDxodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9RdW90YXRpb25fbWFya3NfaW5fb3RoZXJfbGFuZ3VhZ2VzPgojLiBhbmQgdXNlIGdseXBocyBzdWl0YWJsZSBmb3IgeW91ciBsYW5ndWFnZS4KIzogbGliL3F1b3RlYXJnLmM6MzYyCm1zZ2lkICJgIgptc2dzdHIgIqsiCgojOiBsaWIvcXVvdGVhcmcuYzozNjMKbXNnaWQgIiciCm1zZ3N0ciAiuyIKCiM6IGxpYi9zcGF3bi1waXBlLmM6MTQxIGxpYi9zcGF3bi1waXBlLmM6MTQ0IGxpYi9zcGF3bi1waXBlLmM6MjY1CiM6IGxpYi9zcGF3bi1waXBlLmM6MjY4CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY2Fubm90IGNyZWF0ZSBwaXBlIgptc2dzdHIgImthbiBpa2tlIG9wcHJldHRlIGthdGFsb2cgJXMiCgojOiBsaWIvc3Bhd24tcGlwZS5jOjIzNSBsaWIvc3Bhd24tcGlwZS5jOjM0OSBsaWIvd2FpdC1wcm9jZXNzLmM6MjkwCiM6IGxpYi93YWl0LXByb2Nlc3MuYzozNjQKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlcyBzdWJwcm9jZXNzIGZhaWxlZCIKbXNnc3RyICIlczogdWd5bGRpZyBt+G5zdGVyIgoKIzogbGliL3RpbWV2YXIuYzozMTYKbXNnaWQgIkV4ZWN1dGlvbiB0aW1lcyAoc2Vjb25kcykiCm1zZ3N0ciAiIgoKIzogbGliL3RpbWV2YXIuYzozMTgKbXNnaWQgIkNQVSB1c2VyIgptc2dzdHIgIiIKCiM6IGxpYi90aW1ldmFyLmM6MzE4Cm1zZ2lkICJDUFUgc3lzdGVtIgptc2dzdHIgIiIKCiM6IGxpYi90aW1ldmFyLmM6MzE4Cm1zZ2lkICJ3YWxsIGNsb2NrIgptc2dzdHIgIiIKCiM6IGxpYi93MzJzcGF3bi5oOjQ5CiMsIGMtZm9ybWF0Cm1zZ2lkICJfb3Blbl9vc2ZoYW5kbGUgZmFpbGVkIgptc2dzdHIgIiIKCiM6IGxpYi93MzJzcGF3bi5oOjkwCiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW5ub3QgcmVzdG9yZSBmZCAlZDogZHVwMiBmYWlsZWQiCm1zZ3N0ciAiIgoKIzogbGliL3dhaXQtcHJvY2Vzcy5jOjIzMSBsaWIvd2FpdC1wcm9jZXNzLmM6MjYzIGxpYi93YWl0LXByb2Nlc3MuYzozMjUKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlcyBzdWJwcm9jZXNzIgptc2dzdHIgIiVzOiB1Z3lsZGlnIG34bnN0ZXIiCgojOiBsaWIvd2FpdC1wcm9jZXNzLmM6MjgyIGxpYi93YWl0LXByb2Nlc3MuYzozNTQKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlcyBzdWJwcm9jZXNzIGdvdCBmYXRhbCBzaWduYWwgJWQiCm1zZ3N0ciAiJXM6IHVneWxkaWcgbfhuc3RlciIKCiN+IG1zZ2lkICJXcml0dGVuIGJ5ICVzLlxuIgojfiBtc2dzdHIgIlNrcmV2ZXQgYXYgJXMuXG4iCgojLCBmdXp6eQojfiBtc2dpZCAiV3JpdHRlbiBieSAlcyBhbmQgJXMuXG4iCiN+IG1zZ3N0ciAiU2tyZXZldCBhdiAlcy5cbiIKCiMsIGZ1enp5CiN+IG1zZ2lkICJXcml0dGVuIGJ5ICVzLCAlcywgYW5kICVzLlxuIgojfiBtc2dzdHIgIlNrcmV2ZXQgYXYgJXMuXG4iCgojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiV3JpdHRlbiBieSAlcywgJXMsICVzLFxuIgojfiAiYW5kICVzLlxuIgojfiBtc2dzdHIgIlNrcmV2ZXQgYXYgJXMuXG4iCgojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiV3JpdHRlbiBieSAlcywgJXMsICVzLFxuIgojfiAiJXMsIGFuZCAlcy5cbiIKI34gbXNnc3RyICJTa3JldmV0IGF2ICVzLlxuIgoKIywgZnV6enkKI34gbXNnaWQgIiIKI34gIldyaXR0ZW4gYnkgJXMsICVzLCAlcyxcbiIKI34gIiVzLCAlcywgYW5kICVzLlxuIgojfiBtc2dzdHIgIlNrcmV2ZXQgYXYgJXMuXG4iCgojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiV3JpdHRlbiBieSAlcywgJXMsICVzLFxuIgojfiAiJXMsICVzLCAlcywgYW5kICVzLlxuIgojfiBtc2dzdHIgIlNrcmV2ZXQgYXYgJXMuXG4iCgojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiV3JpdHRlbiBieSAlcywgJXMsICVzLFxuIgojfiAiJXMsICVzLCAlcywgJXMsXG4iCiN+ICJhbmQgJXMuXG4iCiN+IG1zZ3N0ciAiU2tyZXZldCBhdiAlcy5cbiIKCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICJXcml0dGVuIGJ5ICVzLCAlcywgJXMsXG4iCiN+ICIlcywgJXMsICVzLCAlcyxcbiIKI34gIiVzLCBhbmQgJXMuXG4iCiN+IG1zZ3N0ciAiU2tyZXZldCBhdiAlcy5cbiIKCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICJXcml0dGVuIGJ5ICVzLCAlcywgJXMsXG4iCiN+ICIlcywgJXMsICVzLCAlcyxcbiIKI34gIiVzLCAlcywgYW5kIG90aGVycy5cbiIKI34gbXNnc3RyICJTa3JldmV0IGF2ICVzLlxuIgoKIywgZnV6enkKI34gbXNnaWQgIlJlcG9ydCBidWdzIHRvOiAlc1xuIgojfiBtc2dzdHIgIiIKI34gIlxuIgojfiAiUmFwcG9ydOlyIGZlaWwgdGlsIDxidWctdGV4dHV0aWxzQGdudS5vcmc+LiIKCiMsIGZ1enp5CiN+IG1zZ2lkICJSZXBvcnQgJXMgYnVncyB0bzogJXNcbiIKI34gbXNnc3RyICIiCiN+ICJcbiIKI34gIlJhcHBvcnTpciBmZWlsIHRpbCA8YnVnLXRleHR1dGlsc0BnbnUub3JnPi4iCgojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiTWFuZGF0b3J5IG9yIG9wdGlvbmFsIGFyZ3VtZW50cyB0byBsb25nIG9wdGlvbnMgYXJlIGFsc28gbWFuZGF0b3J5IG9yICIKI34gIm9wdGlvbmFsIGZvciBhbnkgY29ycmVzcG9uZGluZyBzaG9ydCBvcHRpb25zLiIKI34gbXNnc3RyICIiCiN+ICJPYmxpZ2F0b3Jpc2tlIGFyZ21lbnRlciB0aWwgbGFuZ2UgZmxhZ2cgZXIgb2JsaWdhdG9yaXNrZSBvZ3PlIGZvciBrb3J0ZS5cbiIKCiMsIGZ1enp5CiN+IG1zZ2lkICIgW09QVElPTi4uLl0iCiN+IG1zZ3N0ciAiQnJ1azogJXMgW0ZMQUdHXSBbRklMXS4uLlxuIgoKIywgZnV6enkKI34gbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBvciBgJXMgLS11c2FnZScgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCiN+IG1zZ3N0ciAiUHL4diBtZWQgqyVzIC0taGVscLsgZm9yIG1lciBpbmZvcm1hc2pvbi5cbiIKCiMsIGZ1enp5CiN+IG1zZ2lkICJQcmludCBwcm9ncmFtIHZlcnNpb24iCiN+IG1zZ3N0ciAibGVzZWZlaWwiCgojLCBmdXp6eQojfiBtc2dpZCAiJXM6IFRvbyBtYW55IGFyZ3VtZW50c1xuIgojfiBtc2dzdHIgImZvciBtYW5nZSBhcmd1bWVudGVyIgoKIywgZnV6enkKI34gbXNnaWQgInByb2dyYW0gZXJyb3IiCiN+IG1zZ3N0ciAibGVzZWZlaWwiCgojLCBmdXp6eQojfiBtc2dpZCAiZXJyb3IgcmVhZGluZyBcIiVzXCIiCiN+IG1zZ3N0ciAiZmVpbCB2ZWQgbGVzaW5nIGF2ICVzIgoKIywgZnV6enkKI34gbXNnaWQgImVycm9yIHdyaXRpbmcgXCIlc1wiIgojfiBtc2dzdHIgImZlaWwgdmVkIHNrcml2aW5nIHRpbCAlcyIKCiMsIGZ1enp5CiN+IG1zZ2lkICJlcnJvciBhZnRlciByZWFkaW5nIFwiJXNcIiIKI34gbXNnc3RyICJmZWlsIHZlZCBsZXNpbmcgYXYgJXMiCgojLCBmdXp6eQojfiBtc2dpZCAiZmRvcGVuKCkgZmFpbGVkIgojfiBtc2dzdHIgIuVwbmluZyBhdiBmaWwgZmVpbGV0IgoKIywgZnV6enkKI34gbXNnaWQgInJlZ3VsYXIgZW1wdHkgZmlsZSIKI34gbXNnc3RyICJmZWlsIHZlZCBsZXNpbmciCgojLCBmdXp6eQojfiBtc2dpZCAicmVndWxhciBmaWxlIgojfiBtc2dzdHIgImZlaWwgdmVkIGxlc2luZyIKCiMsIGZ1enp5CiN+IG1zZ2lkICJkaXJlY3RvcnkiCiN+IG1zZ3N0ciAiJXMgZWtzaXN0ZXJlciBtZW4gZXIgaWtrZSBlbiBrYXRhbG9nIgoKIywgZnV6enkKI34gbXNnaWQgImJsb2NrIHNwZWNpYWwgZmlsZSIKI34gbXNnc3RyICJibG9ra3N0+HJyZWxzZSIKCiMsIGZ1enp5CiN+IG1zZ2lkICJjaGFyYWN0ZXIgc3BlY2lhbCBmaWxlIgojfiBtc2dzdHIgInRlZ24tcG9zaXNqb24gZXIgbnVsbCIKCiMsIGZ1enp5CiN+IG1zZ2lkICJzeW1ib2xpYyBsaW5rIgojfiBtc2dzdHIgImthbiBpa2tlIHV0ZvhyZSBpb2N0bCBw5SCrJXO7IgoKIywgZnV6enkKI34gbXNnaWQgIndlaXJkIGZpbGUiCiN+IG1zZ3N0ciAiZmVpbCB2ZWQgbGVzaW5nIgoKIywgZnV6enkKI34gbXNnaWQgImFpX2ZhbWlseSBub3Qgc3VwcG9ydGVkIgojfiBtc2dzdHIgImJsb2trc3T4cnJlbHNlIgoKIywgZnV6enkKI34gbXNnaWQgImFpX3NvY2t0eXBlIG5vdCBzdXBwb3J0ZWQiCiN+IG1zZ3N0ciAiYmxva2tzdPhycmVsc2UiCgojLCBmdXp6eQojfiBtc2dpZCAiU3lzdGVtIGVycm9yIgojfiBtc2dzdHIgImZlaWwgdmVkIHNrcml2aW5nIgoKIywgZnV6enkKI34gbXNnaWQgIlVua25vd24gZXJyb3IiCiN+IG1zZ3N0ciAiVWtqZW50IHN5c3RlbWZlaWwiCgojfiBtc2dpZCAiJXM6IG9wdGlvbiBgLS0lcycgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudFxuIgojfiBtc2dzdHIgIiVzOiBmbGFnZ2V0IKstLSVzuyB0cmVuZ2VyIGV0IGFyZ3VtZW50XG4iCgojfiBtc2dpZCAiJXM6IHVucmVjb2duaXplZCBvcHRpb24gYC0tJXMnXG4iCiN+IG1zZ3N0ciAiJXM6IHVramVudCBmbGFnZyCrLS0lc7tcbiIKCiN+IG1zZ2lkICIlczogaWxsZWdhbCBvcHRpb24gLS0gJWNcbiIKI34gbXNnc3RyICIlczogdWtqZW50IGZsYWdnIC0tICVjXG4iCgojfiBtc2dpZCAiJXM6IG9wdGlvbiBgLVcgJXMnIGlzIGFtYmlndW91c1xuIgojfiBtc2dzdHIgIiVzOiBmbGFnZ2V0IKstVyAlc7sgZXIgZmxlcnR5ZGlnXG4iCgojfiBtc2dpZCAiJXM6IG9wdGlvbiBgLVcgJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnRcbiIKI34gbXNnc3RyICIlczogZmxhZ2dldCCrLVcgJXO7IHRpbGxhdGVyIGlra2UgZXQgYXJndW1lbnRcbiIKCiN+IG1zZ2lkICJibG9jayBzaXplIgojfiBtc2dzdHIgImJsb2trc3T4cnJlbHNlIgoKI34gbXNnaWQgIiVzIGV4aXN0cyBidXQgaXMgbm90IGEgZGlyZWN0b3J5IgojfiBtc2dzdHIgIiVzIGVrc2lzdGVyZXIgbWVuIGVyIGlra2UgZW4ga2F0YWxvZyIKCiN+IG1zZ2lkICJjYW5ub3QgY2hhbmdlIG93bmVyIGFuZC9vciBncm91cCBvZiAlcyIKI34gbXNnc3RyICJrYW4gaWtrZSBlbmRyZSBlaWVyIG9nL2VsbGVyIGdydXBwZSBmb3IgJXMiCgojfiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCiN+IG1zZ3N0ciAia2FuIGlra2Ugb3BwcmV0dGUga2F0YWxvZyAlcyIKCiMsIGZ1enp5CiN+IG1zZ2lkICJjYW5ub3QgY2hkaXIgdG8gZGlyZWN0b3J5ICVzIgojfiBtc2dzdHIgImthbiBpa2tlIHNraWZ0ZSB0aWwga2F0YWxvZywgJXMiCgojfiBtc2dpZCAiY2Fubm90IGNoYW5nZSBwZXJtaXNzaW9ucyBvZiAlcyIKI34gbXNnc3RyICJrYW4gaWtrZSBlbmRyZSByZXR0aWdoZXRlciB0aWwgJXMiCgojLCBmdXp6eQojfiBtc2dpZCAidW5hYmxlIHRvIHJlY29yZCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgojfiBtc2dzdHIgImthbiBpa2tlIG9wcHJldHRlIGthdGFsb2cgJXMiCgojLCBmdXp6eQojfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gL2Rldi96ZXJvIGZvciByZWFkIgojfiBtc2dzdHIgImthbiBpa2tlIGVuZHJlIHJldHRpZ2hldGVyIHRpbCAlcyIKCiMsIGZ1enp5CiN+IG1zZ2lkICJJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbiIKI34gbXNnc3RyICIlczogdWd5bGRpZyByZWd1bOZydCB1dHRyeWtrOiAlcyIKCiMsIGZ1enp5CiN+IG1zZ2lkICJJbnZhbGlkIGNoYXJhY3RlciBjbGFzcyBuYW1lIgojfiBtc2dzdHIgInVneWxkaWcgdGVnbi1rbGFzc2UgqyVzuyIKCiMsIGZ1enp5CiN+IG1zZ2lkICJNZW1vcnkgZXhoYXVzdGVkIgojfiBtc2dzdHIgInZpcnR1ZWx0IG1pbm5lIG9wcGJydWt0IgoKIywgZnV6enkKI34gbXNnaWQgIkludmFsaWQgcHJlY2VkaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiIKI34gbXNnc3RyICIlczogdWd5bGRpZyByZWd1bOZydCB1dHRyeWtrOiAlcyIKCiMsIGZ1enp5CiN+IG1zZ2lkICJQcmVtYXR1cmUgZW5kIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiIKI34gbXNnc3RyICJmZWlsIGkgc/hrIG1lZCByZWd1bOZydCB1dHRyeWtrIgoKIywgZnV6enkKI34gbXNnaWQgIlJlZ3VsYXIgZXhwcmVzc2lvbiB0b28gYmlnIgojfiBtc2dzdHIgIiVzOiB1Z3lsZGlnIHJlZ3Vs5nJ0IHV0dHJ5a2s6ICVzIgoKIywgZnV6enkKI34gbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKI34gbXNnc3RyICJmZWlsIGkgc/hrIG1lZCByZWd1bOZydCB1dHRyeWtrIgoKIywgZnV6enkKI34gbXNnaWQgIl5beVldIgojfiBtc2dzdHIgIl5bakpdIgoKI34gbXNnaWQgIl5bbk5dIgojfiBtc2dzdHIgIl5bbk5dIgoKIywgZnV6enkKI34gbXNnaWQgImljb252IGZ1bmN0aW9uIG5vdCB1c2FibGUiCiN+IG1zZ3N0ciAia2FuIGlra2Ugc2tyaXZlIHV0IFUrJTA0WDogaWNvbnYtZnVua3Nqb25lbiBlciBpa2tlIGJydWtiYXIiCgojLCBmdXp6eQojfiBtc2dpZCAiaWNvbnYgZnVuY3Rpb24gbm90IGF2YWlsYWJsZSIKI34gbXNnc3RyICJrYW4gaWtrZSBza3JpdmUgdXQgVSslMDRYOiBpY29udi1mdW5rc2pvbiBlciBpa2tlIHRpbGdqZW5nZWxpZyIKCiMsIGZ1enp5CiN+IG1zZ2lkICJjaGFyYWN0ZXIgb3V0IG9mIHJhbmdlIgojfiBtc2dzdHIgIlUrJTA0WDogdGVnbiB1dGVuZm9yIHRpbGxhdHRlIHZlcmRpZXIiCgojfiBtc2dpZCAiY2Fubm90IGNvbnZlcnQgVSslMDRYIHRvIGxvY2FsIGNoYXJhY3RlciBzZXQiCiN+IG1zZ3N0ciAia2FuIGlra2Uga29udmVydGVyZSBVKyUwNFggdGlsIGxva2FsdCB0ZWduc2V0dCIKCiMsIGZ1enp5CiN+IG1zZ2lkICJjYW5ub3QgY29udmVydCBVKyUwNFggdG8gbG9jYWwgY2hhcmFjdGVyIHNldDogJXMiCiN+IG1zZ3N0ciAia2FuIGlra2Uga29udmVydGVyZSBVKyUwNFggdGlsIGxva2FsdCB0ZWduc2V0dCIKCiN+IG1zZ2lkICJpbnZhbGlkIHVzZXIiCiN+IG1zZ3N0ciAidWd5bGRpZyBicnVrZXIiCgojfiBtc2dpZCAiaW52YWxpZCBncm91cCIKI34gbXNnc3RyICJ1Z3lsZGlnIGdydXBwZSIKCiN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRoZSBsb2dpbiBncm91cCBvZiBhIG51bWVyaWMgVUlEIgojfiBtc2dzdHIgImthbiBpa2tlIGZpbm5lIGxvZ2luLWdydXBwZW4gdGlsIGVuIG51bWVyaXNrIGJydWtlci1JRCIKCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICJcbiIKI34gIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZS4gIFlvdSBtYXkgcmVkaXN0cmlidXRlIGNvcGllcyBvZiBpdCB1bmRlciB0aGUgdGVybXMgIgojfiAib2ZcbiIKI34gInRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPi5cbiIKI34gIlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuXG4iCiN+ICJcbiIKI34gbXNnc3RyICIiCiN+ICJEZXR0ZSBwcm9ncmFtbWV0IGVyIGZyaSBwcm9ncmFtdmFyZS4gIER1IGthbiByZWRpc3RyaWJ1ZXJldCBkZXQgb2cvZWxsZXJcbiIKI34gIm1vZGlmaXNlcmUgZGV0IHVuZGVyIGJldGluZ2Vsc2VuZSBnaXR0IGF2IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHNvbVxuIgojfiAiZGlzdHJpYnVlcnQgYXYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlbnRlbiB2ZXJzam9uIDIsIGVsbGVyIChvbSBkdSAiCiN+ICJ2aWwpXG4iCiN+ICJlbiBodmlsa2VuIHNvbSBoZWxzdCBzZW5lcmUgdmVyc2pvbi5cbiIKCiN+IG1zZ2lkICJzdHJpbmcgY29tcGFyaXNvbiBmYWlsZWQiCiN+IG1zZ3N0ciAic3RyZW5nc2FtbWVubGlnbmluZyBmZWlsZXQiCgojfiBtc2dpZCAiU2V0IExDX0FMTD0nQycgdG8gd29yayBhcm91bmQgdGhlIHByb2JsZW0uIgojfiBtc2dzdHIgIlNldHQgTENfQUxMPSdDJyBmb3Ig5SBvbWflIHByb2JsZW1ldC4iCgojfiBtc2dpZCAiVGhlIHN0cmluZ3MgY29tcGFyZWQgd2VyZSAlcyBhbmQgJXMuIgojfiBtc2dzdHIgIlN0cmVuZ2VuZSBzb20gYmxlIHNhbW1lbmxpZ25ldCB2YXIgqyVzuyBvZyCrJXO7LiIK