IyBncHJvZjogdHJhbnNsYXRpb24gdG8gQnJhemlsaWFuIFBvcnR1Z3Vlc2UgKHB0X0JSKQojIENvcHlyaWdodCAoQykgMjAwMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBBbGV4YW5kcmUgRm9sbGUgZGUgTWVuZXplcyA8YWZtZW5lekB0ZXJyYS5jb20uYnI+LCAyMDAyLgojIGJhc2VkIG9uIHRoZSB2ZXJzaW9uIDIuMTIuOTEgdHJhbnNsYXRpb24gdG8gU3BhbmlzaCAoZXMpIGJ5CiMgQ3Jpc3RpYW4gT3Ro824gTWFydO1uZXogVmVyYSA8Y2Z1Z2FAaXRhbS5teD4sIDIwMDIuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IGdwcm9mIDIuMTIuOTFcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDAyLTA3LTIzIDE1OjU4LTA0MDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMDItMTEtMjkgMDM6MDAtMDMwMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBBbGV4YW5kcmUgRm9sbGUgZGUgTWVuZXplcyA8YWZtZW5lekB0ZXJyYS5jb20uYnI+XG4iCiJMYW5ndWFnZS1UZWFtOiBCcmF6aWxpYW4gUG9ydHVndWVzZSA8bGRwLWJyQGJhemFyLmNvbmVjdGl2YS5jb20uYnI+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiM6IGFscGhhLmM6OTMgbWlwcy5jOjQ3Cm1zZ2lkICI8aW5kaXJlY3QgY2hpbGQ+Igptc2dzdHIgIjxmaWxobyBpbmRpcmV0bz4iCgojOiBhbHBoYS5jOjExMCBtaXBzLmM6NjQKIywgYy1mb3JtYXQKbXNnaWQgIltmaW5kX2NhbGxdICVzOiAweCVseCB0byAweCVseFxuIgptc2dzdHIgIltmaW5kX2NhbGxdICVzOiAweCVseCBhdOkgMHglbHhcbiIKCiM6IGFscGhhLmM6MTMyCiMsIGMtZm9ybWF0Cm1zZ2lkICJbZmluZF9jYWxsXSAweCVseDoganNyJXMgPGluZGlyZWN0X2NoaWxkPlxuIgptc2dzdHIgIltmaW5kX2NhbGxdIDB4JWx4OiBqc3IlcyA8ZmlsaG9faW5kaXJldG8+XG4iCgojOiBhbHBoYS5jOjE0MgojLCBjLWZvcm1hdAptc2dpZCAiW2ZpbmRfY2FsbF0gMHglbHg6IGJzciIKbXNnc3RyICJbZmluZF9jYWxsXSAweCVseDogYnNyIgoKIzogYmFzaWNfYmxvY2tzLmM6MTM0IGNhbGxfZ3JhcGguYzo5NCBoaXN0LmM6OTgKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiAlczogdW5leHBlY3RlZCBlbmQgb2YgZmlsZVxuIgptc2dzdHIgIiVzOiAlczogZmluYWwgZGUgYXJxdWl2byBpbmVzcGVyYWRvXG4iCgojOiBiYXNpY19ibG9ja3MuYzoyMDIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB3YXJuaW5nOiBpZ25vcmluZyBiYXNpYy1ibG9jayBleGVjIGNvdW50cyAodXNlIC1sIG9yIC0tbGluZSlcbiIKbXNnc3RyICIlczogYXZpc286IGlnbm9yYW5kbyBvcyBjb250YWRvcmVzIGRlIGV4ZWN15+NvIGRlIGJsb2NvcyBi4XNpY29zICh1c2UgLWwgb3UgLS1saW5lKVxuIgoKIy4gRklYTUU6IFRoaXMgb25seSB3b3JrcyBpZiBiZmRfdm1hIGlzIHVuc2lnbmVkIGxvbmcuCiM6IGJhc2ljX2Jsb2Nrcy5jOjI5NSBiYXNpY19ibG9ja3MuYzozMDUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiVkOiAoJXM6MHglbHgpICVsdSBleGVjdXRpb25zXG4iCm1zZ3N0ciAiJXM6JWQ6ICglczoweCVseCkgJWx1IGV4ZWN15/Vlc1xuIgoKIzogYmFzaWNfYmxvY2tzLmM6Mjk2IGJhc2ljX2Jsb2Nrcy5jOjMwNgptc2dpZCAiPHVua25vd24+Igptc2dzdHIgIjxkZXNjb25oZWNpZG8+IgoKIzogYmFzaWNfYmxvY2tzLmM6NTUzCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIlxuIgoiVG9wICVkIExpbmVzOlxuIgoiXG4iCiIgICAgIExpbmUgICAgICBDb3VudFxuIgoiXG4iCm1zZ3N0ciAiIgoiXG4iCiJcbiIKIiVkIExpbmhhcyBQcmluY2lwYWlzOlxuIgoiXG4iCiIgICAgIExpbmhhICAgICBDb250YWRvclxuIgoiXG4iCgojOiBiYXNpY19ibG9ja3MuYzo1NzcKbXNnaWQgIiIKIlxuIgoiRXhlY3V0aW9uIFN1bW1hcnk6XG4iCiJcbiIKbXNnc3RyICIiCiJcbiIKIlJlc3VtbyBkYSBFeGVjdefjbzpcbiIKIlxuIgoKIzogYmFzaWNfYmxvY2tzLmM6NTc4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlOWxkICAgRXhlY3V0YWJsZSBsaW5lcyBpbiB0aGlzIGZpbGVcbiIKbXNnc3RyICIlOWxkICAgTGluaGFzIGV4ZWN1dOF2ZWlzIG5lc3RlIGFycXVpdm9cbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjU4MAojLCBjLWZvcm1hdAptc2dpZCAiJTlsZCAgIExpbmVzIGV4ZWN1dGVkXG4iCm1zZ3N0ciAiJTlsZCAgIExpbmhhcyBleGVjdXRhZGFzXG4iCgojOiBiYXNpY19ibG9ja3MuYzo1ODEKIywgYy1mb3JtYXQKbXNnaWQgIiU5LjJmICAgUGVyY2VudCBvZiB0aGUgZmlsZSBleGVjdXRlZFxuIgptc2dzdHIgIiU5LjJmICAgUGVyY2VudGFnZW0gZXhlY3V0YWRhIGRvIGFycXVpdm9cbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjU4NQojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiIlOWx1ICAgVG90YWwgbnVtYmVyIG9mIGxpbmUgZXhlY3V0aW9uc1xuIgptc2dzdHIgIiIKIlxuIgoiJTlsdSAgIE76bWVybyB0b3RhbCBkZSBleGVjdef1ZXMgZGUgbGluaGFcbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjU4NwojLCBjLWZvcm1hdAptc2dpZCAiJTkuMmYgICBBdmVyYWdlIGV4ZWN1dGlvbnMgcGVyIGxpbmVcbiIKbXNnc3RyICIlOS4yZiAgIE3pZGlhIGRlIGV4ZWN15/VlcyBwb3IgbGluaGFcbiIKCiM6IGNhbGxfZ3JhcGguYzo3MQojLCBjLWZvcm1hdAptc2dpZCAiW2NnX3RhbGx5XSBhcmMgZnJvbSAlcyB0byAlcyB0cmF2ZXJzZWQgJWx1IHRpbWVzXG4iCm1zZ3N0ciAiW2NnX3RhbGx5XSBhcmNvIGRlICVzIGF06SAlcyBwZXJjb3JpZG8gJWx1IHZlemVzXG4iCgojOiBjZ19wcmludC5jOjczCm1zZ2lkICIiCiJcdFx0ICAgICBDYWxsIGdyYXBoIChleHBsYW5hdGlvbiBmb2xsb3dzKVxuIgoiXG4iCm1zZ3N0ciAiIgoiXHRcdCAgICAgR3LhZmljbyBkZSBjaGFtYWRhcyAoZXhwbGljYefjbyBhZGlhbnRlKVxuIgoiXG4iCgojOiBjZ19wcmludC5jOjc1Cm1zZ2lkICIiCiJcdFx0XHRDYWxsIGdyYXBoXG4iCiJcbiIKbXNnc3RyICIiCiJcdFx0XHRHcuFmaWNvIGRlIGNoYW1hZGFzXG4iCiJcbiIKCiM6IGNnX3ByaW50LmM6NzggaGlzdC5jOjM2MwojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiJncmFudWxhcml0eTogZWFjaCBzYW1wbGUgaGl0IGNvdmVycyAlbGQgYnl0ZShzKSIKbXNnc3RyICIiCiJcbiIKImdyYW51bGFyaWRhZGU6IGNhZGEgZWxlbWVudG8gZGUgYW1vc3RyYSBjb2JyZSAlbGQgYnl0ZShzKSIKCiM6IGNnX3ByaW50LmM6ODIKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiBmb3IgJS4yZiUlIG9mICUuMmYgc2Vjb25kc1xuIgoiXG4iCm1zZ3N0ciAiIgoiIHBhcmEgJS4yZiUlIGRlICUuMmYgc2VndW5kb3NcbiIKIlxuIgoKIzogY2dfcHJpbnQuYzo4Ngptc2dpZCAiIgoiIG5vIHRpbWUgcHJvcGFnYXRlZFxuIgoiXG4iCm1zZ3N0ciAiIgoiIG5lbmh1bSB0ZW1wbyBwcm9wYWdhZG9cbiIKIlxuIgoKIzogY2dfcHJpbnQuYzo5NSBjZ19wcmludC5jOjk4IGNnX3ByaW50LmM6MTAwCm1zZ2lkICJjYWxsZWQiCm1zZ3N0ciAiY2hhbWFkbyIKCiM6IGNnX3ByaW50LmM6OTUgY2dfcHJpbnQuYzoxMDAKbXNnaWQgInRvdGFsIgptc2dzdHIgInRvdGFsIgoKIzogY2dfcHJpbnQuYzo5NQptc2dpZCAicGFyZW50cyIKbXNnc3RyICJwYWlzIgoKIzogY2dfcHJpbnQuYzo5NyBjZ19wcmludC5jOjk4Cm1zZ2lkICJpbmRleCIKbXNnc3RyICLtbmRpY2UiCgojOiBjZ19wcmludC5jOjk3Cm1zZ2lkICIldGltZSIKbXNnc3RyICIldGVtcG8iCgojOiBjZ19wcmludC5jOjk3IGNnX3ByaW50LmM6OTgKbXNnaWQgInNlbGYiCm1zZ3N0ciAic2kgbWVzbW8iCgojOiBjZ19wcmludC5jOjk3Cm1zZ2lkICJkZXNjZW5kYW50cyIKbXNnc3RyICJkZXNjZW5kZW50ZXMiCgojOiBjZ19wcmludC5jOjk4IGhpc3QuYzozODkKbXNnaWQgIm5hbWUiCm1zZ3N0ciAibm9tZSIKCiM6IGNnX3ByaW50LmM6MTAwCm1zZ2lkICJjaGlsZHJlbiIKbXNnc3RyICJmaWxob3MiCgojOiBjZ19wcmludC5jOjEwNQojLCBjLWZvcm1hdAptc2dpZCAiaW5kZXggJSUgdGltZSAgICBzZWxmICBjaGlsZHJlbiAgICBjYWxsZWQgICAgIG5hbWVcbiIKbXNnc3RyICJpbmQgICAlJSB0ZW1wbyAgc2lfbWVzbW8gZmlsaG9zICAgIGNoYW1hZG8gICAgbm9tZVxuIgoKIzogY2dfcHJpbnQuYzoxMjkKIywgYy1mb3JtYXQKbXNnaWQgIiA8Y3ljbGUgJWQgYXMgYSB3aG9sZT4gWyVkXVxuIgptc2dzdHIgIiA8Y2ljbG8gJWQgY29tbyB1bSB0b2RvPiBbJWRdXG4iCgojOiBjZ19wcmludC5jOjM2MwojLCBjLWZvcm1hdAptc2dpZCAiJTYuNnMgJTUuNXMgJTcuN3MgJTExLjExcyAlNy43cyAlNy43cyAgICAgPHNwb250YW5lb3VzPlxuIgptc2dzdHIgIiU2LjZzICU1LjVzICU3LjdzICUxMS4xMXMgJTcuN3MgJTcuN3MgICAgIDxlc3BvbnTibmVvcz5cbiIKCiM6IGNnX3ByaW50LmM6MzY0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlNi42cyAlNS41cyAlNy43cyAlNy43cyAlNy43cyAlNy43cyAgICAgPHNwb250YW5lb3VzPlxuIgptc2dzdHIgIiU2LjZzICU1LjVzICU3LjdzICUxMS4xMXMgJTcuN3MgJTcuN3MgICA8ZXNwb2504m5lb3M+XG4iCgojOiBjZ19wcmludC5jOjYwNAptc2dpZCAiIgoiSW5kZXggYnkgZnVuY3Rpb24gbmFtZVxuIgoiXG4iCm1zZ3N0ciAiIgoizW5kaWNlIHBvciBub21lIGRlIGZ1bufjb1xuIgoiXG4iCgojOiBjZ19wcmludC5jOjY2MSBjZ19wcmludC5jOjY3MAojLCBjLWZvcm1hdAptc2dpZCAiPGN5Y2xlICVkPiIKbXNnc3RyICI8Y2ljbG8gJWQ+IgoKIzogY29yZWZpbGUuYzo2NAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNvdWxkIG5vdCBvcGVuICVzLlxuIgptc2dzdHIgIiVzOiBpbXBvc3PtdmVsIGFicmlyICVzLlxuIgoKIzogY29yZWZpbGUuYzo3OCBjb3JlZmlsZS5jOjExMgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHVuYWJsZSB0byBwYXJzZSBtYXBwaW5nIGZpbGUgJXMuXG4iCm1zZ3N0ciAiJXM6IGltcG9zc+12ZWwgYW5hbGlzYXIgbyBhcnF1aXZvIGRlIG1hcGVhbWVudG8gJXMuXG4iCgojOiBjb3JlZmlsZS5jOjE1NQojLCBjLWZvcm1hdAptc2dpZCAiJXM6ICVzOiBub3QgaW4gYS5vdXQgZm9ybWF0XG4iCm1zZ3N0ciAiJXM6ICVzOiBu428gZXN04SBubyBmb3JtYXRvIGEub3V0XG4iCgojOiBjb3JlZmlsZS5jOjE2NgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbid0IGZpbmQgLnRleHQgc2VjdGlvbiBpbiAlc1xuIgptc2dzdHIgIiVzOiBpbXBvc3PtdmVsIGVuY29udHJhciBhIHNl5+NvIC50ZXh0IGVtICVzXG4iCgojOiBjb3JlZmlsZS5jOjIyNQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHJhbiBvdXQgcm9vbSBmb3IgJWx1IGJ5dGVzIG9mIHRleHQgc3BhY2VcbiIKbXNnc3RyICIlczogdGVybWlub3UgbyBlc3Bh528gcGFyYSAlbHUgYnl0ZXMgZGUgZXNwYedvIGRlIHRleHRvXG4iCgojOiBjb3JlZmlsZS5jOjIzOQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbid0IGRvIC1jXG4iCm1zZ3N0ciAiJXM6IGltcG9zc+12ZWwgZmF6ZXIgLWNcbiIKCiM6IGNvcmVmaWxlLmM6Mjc2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogLWMgbm90IHN1cHBvcnRlZCBvbiBhcmNoaXRlY3R1cmUgJXNcbiIKbXNnc3RyICIlczogLWMgbuNvIHRlbSBzdXBvcnRlIG5hIGFycXVpdGV0dXJhICVzXG4iCgojOiBjb3JlZmlsZS5jOjQ0NwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgYCVzJyBoYXMgbm8gc3ltYm9sc1xuIgptc2dzdHIgIiVzOiBvIGFycXVpdm8gYCVzJyBu428gdGVtIHPtbWJvbG9zXG4iCgojOiBjb3JlZmlsZS5jOjc0OAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHNvbWVib2R5IG1pc2NvdW50ZWQ6IGx0YWIubGVuPSVkIGluc3RlYWQgb2YgJWxkXG4iCm1zZ3N0ciAiJXM6IGFsZ3XpbSBjb250b3UgbWFsOiBsdGFiLmxlbj0lZCBlbSBsdWdhciBkZSAlbGRcbiIKCiM6IGdtb25faW8uYzo5NiBnbW9uX2lvLmM6MTU5IGdtb25faW8uYzoyMTkgZ21vbl9pby5jOjI1MSBnbW9uX2lvLmM6NDIyCiM6IGdtb25faW8uYzo0NDkgZ21vbl9pby5jOjY0NiBnbW9uX2lvLmM6NjcxCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogYml0cyBwZXIgYWRkcmVzcyBoYXMgdW5leHBlY3RlZCB2YWx1ZSBvZiAldVxuIgptc2dzdHIgIiVzOiBiaXRzIHBvciBlbmRlcmXnbyB0ZW0gdmFsb3IgaW5lc3BlcmFkbyBkZSAldVxuIgoKIzogZ21vbl9pby5jOjI4OCBnbW9uX2lvLmM6MzgzCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlsZSB0b28gc2hvcnQgdG8gYmUgYSBnbW9uIGZpbGVcbiIKbXNnc3RyICIlczogbyBhcnF1aXZvIOkgbXVpdG8gcGVxdWVubyBwYXJhIHNlciB1bSBhcnF1aXZvIGdtb25cbiIKCiM6IGdtb25faW8uYzoyOTggZ21vbl9pby5jOjQzMgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgYCVzJyBoYXMgYmFkIG1hZ2ljIGNvb2tpZVxuIgptc2dzdHIgIiVzOiBvIGFycXVpdm8gYCVzJyB0ZW0gdW0gbWFnaWMgY29va2llIGluduFsaWRvXG4iCgojOiBnbW9uX2lvLmM6MzA5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlsZSBgJXMnIGhhcyB1bnN1cHBvcnRlZCB2ZXJzaW9uICVkXG4iCm1zZ3N0ciAiJXM6IG8gYXJxdWl2byBgJXMnIHRlbSBhIHZlcnPjbyAlZCwgcXVlIG7jbyDpIHN1cG9ydGFkYVxuIgoKIzogZ21vbl9pby5jOjMzOQojLCBjLWZvcm1hdAptc2dpZCAiJXM6ICVzOiBmb3VuZCBiYWQgdGFnICVkIChmaWxlIGNvcnJ1cHRlZD8pXG4iCm1zZ3N0ciAiJXM6ICVzOiBtYXJjYSAlZCBpbnbhbGlkYSBlbmNvbnRyYWRhIChhcnF1aXZvIGNvcnJvbXBpZG8/KVxuIgoKIzogZ21vbl9pby5jOjQwNQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHByb2ZpbGluZyByYXRlIGluY29tcGF0aWJsZSB3aXRoIGZpcnN0IGdtb24gZmlsZVxuIgptc2dzdHIgIiVzOiB0YXhhIGRlIGFu4Wxpc2VzIGRlIHBlcmZpbCBpbmNvbXBhdO12ZWwgY29tIG8gcHJpbWVpcm8gYXJxdWl2byBnbW9uXG4iCgojOiBnbW9uX2lvLmM6NDY1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogaW5jb21wYXRpYmxlIHdpdGggZmlyc3QgZ21vbiBmaWxlXG4iCm1zZ3N0ciAiJXM6IGluY29tcGF07XZlbCBjb20gbyBwcmltZWlybyBhcnF1aXZvIGdtb25cbiIKCiM6IGdtb25faW8uYzo0OTMKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBmaWxlICclcycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGluIGdtb24ub3V0IGZvcm1hdFxuIgptc2dzdHIgIiVzOiBvIGFycXVpdm8gJyVzJyBu428gcGFyZWNlIGVzdGFyIG5vIGZvcm1hdG8gZ21vbi5vdXRcbiIKCiMgRklYTUU6IGNvbXByb2JhciBjb24gZWwgY/NkaWdvIHNpIGJpbnMgZXMgYWJyZXZpYXR1cmEgZGUgYmluYXJpb3MgbwojIHNlIHJlZmllcmUgYSBsYSBkZW5vbWluYWNp824gaW5nbGVzYSBkZSAncGFwZWxlcmEnLiBjZnVnYQojOiBnbW9uX2lvLmM6NTE0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5leHBlY3RlZCBFT0YgYWZ0ZXIgcmVhZGluZyAlZC8lZCBiaW5zXG4iCm1zZ3N0ciAiJXM6IGZpbmFsIGRlIGFycXVpdm8gaW5lc3BlcmFkbyBkZXBvaXMgZGUgbGVyICVkLyVkIGJpbuFyaW9zXG4iCgojOiBnbW9uX2lvLmM6NTQ3Cm1zZ2lkICJ0aW1lIGlzIGluIHRpY2tzLCBub3Qgc2Vjb25kc1xuIgptc2dzdHIgIm8gdGVtcG8gZXN04SBlbSB0aXF1ZXMsIG7jbyBlbSBzZWd1bmRvc1xuIgoKIzogZ21vbl9pby5jOjU1MyBnbW9uX2lvLmM6NzQyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZG9uJ3Qga25vdyBob3cgdG8gZGVhbCB3aXRoIGZpbGUgZm9ybWF0ICVkXG4iCm1zZ3N0ciAiJXM6IG7jbyBzZWkgY29tbyBsaWRhciBjb20gbyBhcnF1aXZvIGRlIGZvcm1hdG8gJWRcbiIKCiM6IGdtb25faW8uYzo1NjAKIywgYy1mb3JtYXQKbXNnaWQgIkZpbGUgYCVzJyAodmVyc2lvbiAlZCkgY29udGFpbnM6XG4iCm1zZ3N0ciAiTyBhcnF1aXZvIGAlcycgKHZlcnPjbyAlZCkgY29udOltOlxuIgoKIzogZ21vbl9pby5jOjU2MwojLCBjLWZvcm1hdAptc2dpZCAiXHQlZCBoaXN0b2dyYW0gcmVjb3JkXG4iCm1zZ3N0ciAiXHQlZCByZWdpc3RybyBkZSBoaXN0b2dyYW1hXG4iCgojOiBnbW9uX2lvLmM6NTY0CiMsIGMtZm9ybWF0Cm1zZ2lkICJcdCVkIGhpc3RvZ3JhbSByZWNvcmRzXG4iCm1zZ3N0ciAiXHQlZCByZWdpc3Ryb3MgZGUgaGlzdG9ncmFtYXNcbiIKCiM6IGdtb25faW8uYzo1NjYKIywgYy1mb3JtYXQKbXNnaWQgIlx0JWQgY2FsbC1ncmFwaCByZWNvcmRcbiIKbXNnc3RyICJcdCVkIHJlZ2lzdHJvIGRlIGdy4WZpY28gZGUgY2hhbWFkYXNcbiIKCiM6IGdtb25faW8uYzo1NjcKIywgYy1mb3JtYXQKbXNnaWQgIlx0JWQgY2FsbC1ncmFwaCByZWNvcmRzXG4iCm1zZ3N0ciAiXHQlZCByZWdpc3Ryb3MgZGUgZ3LhZmljb3MgZGUgY2hhbWFkYXNcbiIKCiM6IGdtb25faW8uYzo1NjkKIywgYy1mb3JtYXQKbXNnaWQgIlx0JWQgYmFzaWMtYmxvY2sgY291bnQgcmVjb3JkXG4iCm1zZ3N0ciAiXHQlZCByZWdpc3RybyBkZSBjb250YWdlbSBkZSBibG9jb3MgYuFzaWNvc1xuIgoKIzogZ21vbl9pby5jOjU3MAojLCBjLWZvcm1hdAptc2dpZCAiXHQlZCBiYXNpYy1ibG9jayBjb3VudCByZWNvcmRzXG4iCm1zZ3N0ciAiXHQlZCByZWdpc3Ryb3MgZGUgY29udGFnZW5zIGRlIGJsb2NvcyBi4XNpY29zXG4iCgojOiBncHJvZi5jOjE1MgojLCBjLWZvcm1hdAptc2dpZCAiIgoiVXNhZ2U6ICVzIFstW2FiY0RoaWxMc1R2d3h5el1dIFstW0FDZUVmRkpuTk9wUHFRWl1bbmFtZV1dIFstSSBkaXJzXVxuIgoiXHRbLWRbbnVtXV0gWy1rIGZyb20vdG9dIFstbSBtaW4tY291bnRdIFstdCB0YWJsZS1sZW5ndGhdXG4iCiJcdFstLVtuby1dYW5ub3RhdGVkLXNvdXJjZVs9bmFtZV1dIFstLVtuby1dZXhlYy1jb3VudHNbPW5hbWVdXVxuIgoiXHRbLS1bbm8tXWZsYXQtcHJvZmlsZVs9bmFtZV1dIFstLVtuby1dZ3JhcGhbPW5hbWVdXVxuIgoiXHRbLS1bbm8tXXRpbWU9bmFtZV0gWy0tYWxsLWxpbmVzXSBbLS1icmllZl0gWy0tZGVidWdbPWxldmVsXV1cbiIKIlx0Wy0tZnVuY3Rpb24tb3JkZXJpbmddIFstLWZpbGUtb3JkZXJpbmddXG4iCiJcdFstLWRpcmVjdG9yeS1wYXRoPWRpcnNdIFstLWRpc3BsYXktdW51c2VkLWZ1bmN0aW9uc11cbiIKIlx0Wy0tZmlsZS1mb3JtYXQ9bmFtZV0gWy0tZmlsZS1pbmZvXSBbLS1oZWxwXSBbLS1saW5lXSBbLS1taW4tY291bnQ9bl1cbiIKIlx0Wy0tbm8tc3RhdGljXSBbLS1wcmludC1wYXRoXSBbLS1zZXBhcmF0ZS1maWxlc11cbiIKIlx0Wy0tc3RhdGljLWNhbGwtZ3JhcGhdIFstLXN1bV0gWy0tdGFibGUtbGVuZ3RoPWxlbl0gWy0tdHJhZGl0aW9uYWxdXG4iCiJcdFstLXZlcnNpb25dIFstLXdpZHRoPW5dIFstLWlnbm9yZS1ub24tZnVuY3Rpb25zXVxuIgoiXHRbLS1kZW1hbmdsZVs9U1RZTEVdXSBbLS1uby1kZW1hbmdsZV1cbiIKIlx0W2ltYWdlLWZpbGVdIFtwcm9maWxlLWZpbGUuLi5dXG4iCm1zZ3N0ciAiIgoiTW9kbyBkZSBlbXBsZW86ICVzIFstW2FiY0RoaWxMc1R2d3h5el1dIFstW0FDZUVmRkpuTk9wUHFRWl1bbm9tZV1dIFstSSBkaXJzXVxuIgoiXHRbLWRbbnVtXV0gWy1rIGRlL2FdIFstbSBjb250YWdlbS1taW5dIFstdCB0YW1hbmhvLXRhYmVsYV1cbiIKIlx0Wy0tW25vLV1hbm5vdGF0ZWQtc291cmNlWz1ub21lXV0gWy0tW25vLV1leGVjLWNvdW50c1s9bm9tZV1dXG4iCiJcdFstLVtuby1dZmxhdC1wcm9maWxlWz1ub21lXV0gWy0tW25vLV1ncmFwaFs9bm9tZV1dXG4iCiJcdFstLVtuby1ddGltZT1ub21lXSBbLS1hbGwtbGluZXNdIFstLWJyaWVmXSBbLS1kZWJ1Z1s9bu12ZWxdXVxuIgoiXHRbLS1mdW5jdGlvbi1vcmRlcmluZ10gWy0tZmlsZS1vcmRlcmluZ11cbiIKIlx0Wy0tZGlyZWN0b3J5LXBhdGg9ZGlyc10gWy0tZGlzcGxheS11bnVzZWQtZnVuY3Rpb25zXVxuIgoiXHRbLS1maWxlLWZvcm1hdD1ub21lXSBbLS1maWxlLWluZm9dIFstLWhlbHBdIFstLWxpbmVdIFstLW1pbi1jb3VudD1uXVxuIgoiXHRbLS1uby1zdGF0aWNdIFstLXByaW50LXBhdGhdIFstLXNlcGFyYXRlLWZpbGVzXVxuIgoiXHRbLS1zdGF0aWMtY2FsbC1ncmFwaF0gWy0tc3VtXSBbLS10YWJsZS1sZW5ndGg9bG9uZ10gWy0tdHJhZGl0aW9uYWxdXG4iCiJcdFstLXZlcnNpb25dIFstLXdpZHRoPW5dIFstLWlnbm9yZS1ub24tZnVuY3Rpb25zXVxuIgoiXHRbLS1kZW1hbmdsZVs9RVNUSUxPXV0gWy0tbm8tZGVtYW5nbGVdXG4iCiJcdFthcnF1aXZvLWltYWdlbl0gW2FycXVpdm8tcGVyZmlsLi4uXVxuIgoKIzogZ3Byb2YuYzoxNjgKIywgYy1mb3JtYXQKbXNnaWQgIlJlcG9ydCBidWdzIHRvICVzXG4iCm1zZ3N0ciAiUmVwb3J0YXIgYnVncyBwYXJhICVzXG4iCgojOiBncHJvZi5jOjI0MgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGRlYnVnZ2luZyBub3Qgc3VwcG9ydGVkOyAtZCBpZ25vcmVkXG4iCm1zZ3N0ciAiJXM6IG7jbyBo4SBzdXBvcnRlIHBhcmEgZGVwdXJh5+NvOyAtZCBpZ25vcmFkb1xuIgoKIzogZ3Byb2YuYzozMjIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB1bmtub3duIGZpbGUgZm9ybWF0ICVzXG4iCm1zZ3N0ciAiJXM6IGZvcm1hdG8gZGUgYXJxdWl2byAlcyBkZXNjb25oZWNpZG9cbiIKCiMuIFRoaXMgb3V0cHV0IGlzIGludGVuZGVkIHRvIGZvbGxvdyB0aGUgR05VIHN0YW5kYXJkcyBkb2N1bWVudC4KIzogZ3Byb2YuYzo0MDYKIywgYy1mb3JtYXQKbXNnaWQgIkdOVSBncHJvZiAlc1xuIgptc2dzdHIgIkdOVSBncHJvZiAlc1xuIgoKIzogZ3Byb2YuYzo0MDcKbXNnaWQgIkJhc2VkIG9uIEJTRCBncHJvZiwgY29weXJpZ2h0IDE5ODMgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLlxuIgptc2dzdHIgIkJhc2FkbyBubyBCU0QgZ3Byb2YsIGNvcHlyaWdodCAxOTgzIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS5cbiIKCiM6IGdwcm9mLmM6NDA4Cm1zZ2lkICJUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZS4gIFRoaXMgcHJvZ3JhbSBoYXMgYWJzb2x1dGVseSBubyB3YXJyYW50eS5cbiIKbXNnc3RyICJFc3RlIHByb2dyYW1hIOkgc29mdHdhcmUgbGl2cmUuICBFc3RlIHByb2dyYW1hIG7jbyB0ZW0gYWJzb2x1dGFtZW50ZSBuZW5odW1hIGdhcmFudGlhLlxuIgoKIzogZ3Byb2YuYzo0NDkKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB1bmtub3duIGRlbWFuZ2xpbmcgc3R5bGUgYCVzJ1xuIgptc2dzdHIgIiVzOiBlc3RpbG8gZGUgZGVzZW1iYXJhbGhhbWVudG8gZGVzY29uaGVjaWRvIGAlcydcbiIKCiM6IGdwcm9mLmM6NDY5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogT25seSBvbmUgb2YgLS1mdW5jdGlvbi1vcmRlcmluZyBhbmQgLS1maWxlLW9yZGVyaW5nIG1heSBiZSBzcGVjaWZpZWQuXG4iCm1zZ3N0ciAiJXM6IEFwZW5hcyB1bSBkZSAtLWZ1bmN0aW9uLW9yZGVyaW5nIGUgLS1maWxlLW9yZGVyaW5nIHBvZGUgc2VyIGVzcGVjaWZpY2Fkby5cbiIKCiM6IGdwcm9mLmM6NTY5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogc29ycnksIGZpbGUgZm9ybWF0IGBwcm9mJyBpcyBub3QgeWV0IHN1cHBvcnRlZFxuIgptc2dzdHIgIiVzOiBwZXJk428sIG8gZm9ybWF0byBkZSBhcnF1aXZvIGBwcm9mJyBhaW5kYSBu428g6SBzdXBvcnRhZG9cbiIKCiM6IGdwcm9mLmM6NjMwCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZ21vbi5vdXQgZmlsZSBpcyBtaXNzaW5nIGhpc3RvZ3JhbVxuIgptc2dzdHIgIiVzOiBmYWx0YSBvIGhpc3RvZ3JhbWEgZG8gYXJxdWl2byBnbW9uLm91dFxuIgoKIzogZ3Byb2YuYzo2MzcKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBnbW9uLm91dCBmaWxlIGlzIG1pc3NpbmcgY2FsbC1ncmFwaCBkYXRhXG4iCm1zZ3N0ciAiJXM6IGZhbHRhbSBvcyBkYWRvcyBkbyBncuFmaWNvIGRlIGNoYW1hZGFzIGRvIGFycXVpdm8gZ21vbi5vdXRcbiIKCiM6IGhpc3QuYzoxMjcKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBgJXMnIGlzIGluY29tcGF0aWJsZSB3aXRoIGZpcnN0IGdtb24gZmlsZVxuIgptc2dzdHIgIiVzOiBgJXMnIOkgaW5jb21wYXTtdmVsIGNvbSBvIHByaW1laXJvIGFycXVpdm8gZ21vblxuIgoKIzogaGlzdC5jOjE0MwojLCBjLWZvcm1hdAptc2dpZCAiJXM6ICVzOiB1bmV4cGVjdGVkIEVPRiBhZnRlciByZWFkaW5nICVkIG9mICVkIHNhbXBsZXNcbiIKbXNnc3RyICIlczogJXM6IGZpbmFsIGRlIGFycXVpdm8gaW5lc3BlcmFkbyBkZXBvaXMgZGUgbGVyICVkIGRlICVkIGFtb3N0cmFzXG4iCgojOiBoaXN0LmM6MzU5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlYyVjL2NhbGwiCm1zZ3N0ciAiJWMlYy9jaGFtYWRhIgoKIzogaGlzdC5jOjM2NwojLCBjLWZvcm1hdAptc2dpZCAiIgoiIGZvciAlLjJmJSUgb2YgJS4yZiAlc1xuIgoiXG4iCm1zZ3N0ciAiIgoiIHBhcmEgJS4yZiUlIGRlICUuMmYgJXNcbiIKIlxuIgoKIzogaGlzdC5jOjM3MwojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiJFYWNoIHNhbXBsZSBjb3VudHMgYXMgJWcgJXMuXG4iCm1zZ3N0ciAiIgoiXG4iCiJDYWRhIGFtb3N0cmEgY29udGEgY29tbyAlZyAlcy5cbiIKCiM6IGhpc3QuYzozNzgKbXNnaWQgIiIKIiBubyB0aW1lIGFjY3VtdWxhdGVkXG4iCiJcbiIKbXNnc3RyICIiCiIgbuNvIGjhIHRlbXBvIGFjdW11bGFkb1xuIgoiXG4iCgojOiBoaXN0LmM6Mzg1Cm1zZ2lkICJjdW11bGF0aXZlIgptc2dzdHIgImN1bXVsYXRpdm8iCgojOiBoaXN0LmM6Mzg1Cm1zZ2lkICJzZWxmICAiCm1zZ3N0ciAic2kgbWVzbW8gICIKCiM6IGhpc3QuYzozODUKbXNnaWQgInRvdGFsICIKbXNnc3RyICJ0b3RhbCAiCgojOiBoaXN0LmM6Mzg4Cm1zZ2lkICJ0aW1lIgptc2dzdHIgInRlbXBvIgoKIzogaGlzdC5jOjM4OAptc2dpZCAiY2FsbHMiCm1zZ3N0ciAiY2hhbWFkYXMiCgojOiBoaXN0LmM6NDgxCm1zZ2lkICIiCiJcbiIKIlxuIgoiXG4iCiJmbGF0IHByb2ZpbGU6XG4iCm1zZ3N0ciAiIgoiXG4iCiJcbiIKIlxuIgoicGVyZmlsIHBsYW5vOlxuIgoKIzogaGlzdC5jOjQ4Nwptc2dpZCAiRmxhdCBwcm9maWxlOlxuIgptc2dzdHIgIlBlcmZpbCBwbGFubzpcbiIKCiM6IG1pcHMuYzo3NQojLCBjLWZvcm1hdAptc2dpZCAiW2ZpbmRfY2FsbF0gMHglbHg6IGphbCIKbXNnc3RyICJbZmluZF9jYWxsXSAweCVseDogamFsIgoKIzogbWlwcy5jOjEwMAojLCBjLWZvcm1hdAptc2dpZCAiW2ZpbmRfY2FsbF0gMHglbHg6IGphbHJcbiIKbXNnc3RyICJbZmluZF9jYWxsXSAweCVseDogamFsclxuIgoKIzogc291cmNlLmM6MTY2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogY291bGQgbm90IGxvY2F0ZSBgJXMnXG4iCm1zZ3N0ciAiJXM6IGltcG9zc+12ZWwgZW5jb250cmFyIGAlcydcbiIKCiM6IHNvdXJjZS5jOjI0MQojLCBjLWZvcm1hdAptc2dpZCAiKioqIEZpbGUgJXM6XG4iCm1zZ3N0ciAiKioqIEFycXVpdm8gJXM6XG4iCgojOiB1dGlscy5jOjk5CiMsIGMtZm9ybWF0Cm1zZ2lkICIgPGN5Y2xlICVkPiIKbXNnc3RyICIgPGNpY2xvICVkPiIK