IyBUcmFuc2xhdGlvbiBvZiBHTlUgbWFrZS4KIyBDb3B5cmlnaHQgKEMpIDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgSHJ2b2plIE5pa3NpYyA8aG5pa3NpY0B4ZW1hY3Mub3JnPiwgMjAwMi4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogbWFrZSAzLjgwXG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLW1ha2VAZ251Lm9yZ1xuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMDQtMDEgMDE6NDAtMDUwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMy0xMC0xMiAxODowMSswMjAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEhydm9qZSBOaWtzaWMgPGhuaWtzaWNAeGVtYWNzLm9yZz5cbiIKIkxhbmd1YWdlLVRlYW06IENyb2F0aWFuIDxsb2thbGl6YWNpamFAbGludXguaHI+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PWlzby04ODU5LTJcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiM6IGFyLmM6NTMKIywgYy1mb3JtYXQKbXNnaWQgImF0dGVtcHQgdG8gdXNlIHVuc3VwcG9ydGVkIGZlYXR1cmU6IGAlcyciCm1zZ3N0ciAicG9rdblhaiBrb3JpuXRlbmphIG5lcG9kcr5hbmUgbW9ndeZub3N0aTogYCVzJyIKCiM6IGFyLmM6MTM3Cm1zZ2lkICJ0b3VjaCBhcmNoaXZlIG1lbWJlciBpcyBub3QgYXZhaWxhYmxlIG9uIFZNUyIKbXNnc3RyICJ0b3VjaCBkaWplbGEgYXJoaXZlIG5pamUgcmFwb2xvvml2IG5hIFZNUy11IgoKIzogYXIuYzoxNjgKIywgYy1mb3JtYXQKbXNnaWQgInRvdWNoOiBBcmNoaXZlIGAlcycgZG9lcyBub3QgZXhpc3QiCm1zZ3N0ciAidG91Y2g6IEFyaGl2YSBgJXMnIG5lIHBvc3RvamkiCgojOiBhci5jOjE3MQojLCBjLWZvcm1hdAptc2dpZCAidG91Y2g6IGAlcycgaXMgbm90IGEgdmFsaWQgYXJjaGl2ZSIKbXNnc3RyICJ0b3VjaDogYCVzJyBuaWplIHZhbGphbmEgYXJoaXZhIgoKIzogYXIuYzoxNzgKIywgYy1mb3JtYXQKbXNnaWQgInRvdWNoOiBNZW1iZXIgYCVzJyBkb2VzIG5vdCBleGlzdCBpbiBgJXMnIgptc2dzdHIgInRvdWNoOiDobGFuIGAlcycgbmUgcG9zdG9qaSB1IGAlcyciCgojOiBhci5jOjE4NQojLCBjLWZvcm1hdAptc2dpZCAidG91Y2g6IEJhZCByZXR1cm4gY29kZSBmcm9tIGFyX21lbWJlcl90b3VjaCBvbiBgJXMnIgptc2dzdHIgInRvdWNoOiBOZWlzcHJhdmFuIHBvdnJhdG5pIGtvZCBpeiBhcl9tZW1iZXJfdG91Y2ggbmEgYCVzJyIKCiM6IGFyc2Nhbi5jOjY5CiMsIGMtZm9ybWF0Cm1zZ2lkICJsYnIkc2V0X21vZHVsZSBmYWlsZWQgdG8gZXh0cmFjdCBtb2R1bGUgaW5mbywgc3RhdHVzID0gJWQiCm1zZ3N0ciAibGJyJHNldF9tb2R1bGUgbmlqZSBpemR2b2ppbyBpbmZvcm1hY2lqZSBvIG1vZHVsdSwgc3RhdHVzID0gJWQiCgojOiBhcnNjYW4uYzoxNTQKIywgYy1mb3JtYXQKbXNnaWQgImxiciRpbmlfY29udHJvbCBmYWlsZWQgd2l0aCBzdGF0dXMgPSAlZCIKbXNnc3RyICJsYnIkaW5pX2NvbnRyb2wgbmlqZSB1c3BpbyBzYSBzdGF0dXNvbSA9ICVkIgoKIzogYXJzY2FuLmM6MTY1CiMsIGMtZm9ybWF0Cm1zZ2lkICJ1bmFibGUgdG8gb3BlbiBsaWJyYXJ5IGAlcycgdG8gbG9va3VwIG1lbWJlciBgJXMnIgptc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgYmlibGlvdGVrdSBgJXMnIGRhIG5h8GVtIOhsYW4gYCVzJyIKCiM6IGFyc2Nhbi5jOjgyNQojLCBjLWZvcm1hdAptc2dpZCAiTWVtYmVyIGAlcyclczogJWxkIGJ5dGVzIGF0ICVsZCAoJWxkKS5cbiIKbXNnc3RyICLobGFuIGAlcyclczogJWxkIGJhanRvdmEgbmEgJWxkICglbGQpLlxuIgoKIzogYXJzY2FuLmM6ODI2Cm1zZ2lkICIgKG5hbWUgbWlnaHQgYmUgdHJ1bmNhdGVkKSIKbXNnc3RyICIgKGltZSBqZSBtb75kYSBvZHJlemFubykiCgojOiBhcnNjYW4uYzo4MjgKIywgYy1mb3JtYXQKbXNnaWQgIiAgRGF0ZSAlcyIKbXNnc3RyICIgIERhdHVtICVzIgoKIzogYXJzY2FuLmM6ODI5CiMsIGMtZm9ybWF0Cm1zZ2lkICIgIHVpZCA9ICVkLCBnaWQgPSAlZCwgbW9kZSA9IDAlby5cbiIKbXNnc3RyICIgIHVpZCA9ICVkLCBnaWQgPSAlZCwgbW9kZSA9IDAlby5cbiIKCiM6IGNvbW1hbmRzLmM6NDIyCm1zZ2lkICIqKiogQnJlYWsuXG4iCm1zZ3N0ciAiKioqIFByZWtpZC5cbiIKCiM6IGNvbW1hbmRzLmM6NTQ1CiMsIGMtZm9ybWF0Cm1zZ2lkICIqKiogWyVzXSBBcmNoaXZlIG1lbWJlciBgJXMnIG1heSBiZSBib2d1czsgbm90IGRlbGV0ZWQiCm1zZ3N0ciAiKioqIFslc10gyGxhbiBhcmhpdmUgJyVzJyBtb2dhbyBiaSBiaXRpIGJlenZlemFuOyBuaWplIG9icmlzYW4iCgojOiBjb21tYW5kcy5jOjU0OAojLCBjLWZvcm1hdAptc2dpZCAiKioqIEFyY2hpdmUgbWVtYmVyIGAlcycgbWF5IGJlIGJvZ3VzOyBub3QgZGVsZXRlZCIKbXNnc3RyICIqKiogyGxhbiBhcmhpdmUgJyVzJyBtb2dhbyBiaSBiaXRpIGJlenZlemFuOyBuaWplIG9icmlzYW4iCgojOiBjb21tYW5kcy5jOjU2MQojLCBjLWZvcm1hdAptc2dpZCAiKioqIFslc10gRGVsZXRpbmcgZmlsZSBgJXMnIgptc2dzdHIgIioqKiBbJXNdIEJyabllbSBzcGlzIGAlcyciCgojOiBjb21tYW5kcy5jOjU2MwojLCBjLWZvcm1hdAptc2dpZCAiKioqIERlbGV0aW5nIGZpbGUgYCVzJyIKbXNnc3RyICIqKiogQnJpuWVtIHNwaXMgYCVzJyIKCiM6IGNvbW1hbmRzLmM6NTk5Cm1zZ2lkICIjICBjb21tYW5kcyB0byBleGVjdXRlIgptc2dzdHIgIiMgIG5hcmVkYmUgemEgaXp2crlhdmFuamUiCgojOiBjb21tYW5kcy5jOjYwMgptc2dpZCAiIChidWlsdC1pbik6Igptc2dzdHIgIiAodWdyYfBlbm8pOiIKCiM6IGNvbW1hbmRzLmM6NjA0CiMsIGMtZm9ybWF0Cm1zZ2lkICIgKGZyb20gYCVzJywgbGluZSAlbHUpOlxuIgptc2dzdHIgIiAoaXogYCVzJywgcmVkYWsgJWx1KTpcbiIKCiM6IGRpci5jOjk4Mwptc2dpZCAiIgoiXG4iCiIjIERpcmVjdG9yaWVzXG4iCm1zZ3N0ciAiIgoiXG4iCiIjIERpcmVrdG9yaWppXG4iCgojOiBkaXIuYzo5OTUKIywgYy1mb3JtYXQKbXNnaWQgIiMgJXM6IGNvdWxkIG5vdCBiZSBzdGF0J2QuXG4iCm1zZ3N0ciAiIyAlczogbmUgbW++ZSBzZSBzdGF0YXRpLlxuIgoKIzogZGlyLmM6OTk5CiMsIGMtZm9ybWF0Cm1zZ2lkICIjICVzIChrZXkgJXMsIG10aW1lICVkKTogY291bGQgbm90IGJlIG9wZW5lZC5cbiIKbXNnc3RyICIjICVzICh0aXBrYSAlcywgbXRpbWUgJWQpOiBuaWplIGdhIHNlIG1vZ2xvIG90dm9yaXRpLlxuIgoKIzogZGlyLmM6MTAwMwojLCBjLWZvcm1hdAptc2dpZCAiIyAlcyAoZGV2aWNlICVkLCBpbm9kZSBbJWQsJWQsJWRdKTogY291bGQgbm90IGJlIG9wZW5lZC5cbiIKbXNnc3RyICIjICVzIChkZXZpY2UgJWQsIGlub2RlIFslZCwlZCwlZF0pOiBuaWplIGdhIHNlIG1vZ2xvIG90dm9yaXRpLlxuIgoKIzogZGlyLmM6MTAwOAojLCBjLWZvcm1hdAptc2dpZCAiIyAlcyAoZGV2aWNlICVsZCwgaW5vZGUgJWxkKTogY291bGQgbm90IGJlIG9wZW5lZC5cbiIKbXNnc3RyICIjICVzIChkZXZpY2UgJWxkLCBpbm9kZSAlbGQpOiBuaWplIGdhIHNlIG1vZ2xvIG90dm9yaXRpLlxuIgoKIzogZGlyLmM6MTAzNQojLCBjLWZvcm1hdAptc2dpZCAiIyAlcyAoa2V5ICVzLCBtdGltZSAlZCk6ICIKbXNnc3RyICIjICVzICh0aXBrYSAlcywgbXRpbWUgJWQpOiAiCgojOiBkaXIuYzoxMDM5CiMsIGMtZm9ybWF0Cm1zZ2lkICIjICVzIChkZXZpY2UgJWQsIGlub2RlIFslZCwlZCwlZF0pOiAiCm1zZ3N0ciAiIyAlcyAoZGV2aWNlICVkLCBpbm9kZSBbJWQsJWQsJWRdKTogIgoKIzogZGlyLmM6MTA0NAojLCBjLWZvcm1hdAptc2dpZCAiIyAlcyAoZGV2aWNlICVsZCwgaW5vZGUgJWxkKTogIgptc2dzdHIgIiMgJXMgKGRldmljZSAlbGQsIGlub2RlICVsZCk6ICIKCiM6IGRpci5jOjEwNTAgZGlyLmM6MTA3MQptc2dpZCAiTm8iCm1zZ3N0ciAiTmlqZWRhbiIKCiM6IGRpci5jOjEwNTMgZGlyLmM6MTA3NAptc2dpZCAiIGZpbGVzLCAiCm1zZ3N0ciAiIHNwaXMsICIKCiM6IGRpci5jOjEwNTUgZGlyLmM6MTA3Ngptc2dpZCAibm8iCm1zZ3N0ciAibmlqZWRuYSIKCiM6IGRpci5jOjEwNTgKbXNnaWQgIiBpbXBvc3NpYmlsaXRpZXMiCm1zZ3N0ciAiIG5lbW9ndeZub3N0IgoKIzogZGlyLmM6MTA2Mgptc2dpZCAiIHNvIGZhci4iCm1zZ3N0ciAiIGRvIHNhZC4iCgojOiBkaXIuYzoxMDc5CiMsIGMtZm9ybWF0Cm1zZ2lkICIgaW1wb3NzaWJpbGl0aWVzIGluICVsdSBkaXJlY3Rvcmllcy5cbiIKbXNnc3RyICIgbmVtb2d15m5vc3RpIHUgJWx1IGRpcmVrdG9yaWphLlxuIgoKIzogZXhwYW5kLmM6MTI4CiMsIGMtZm9ybWF0Cm1zZ2lkICJSZWN1cnNpdmUgdmFyaWFibGUgYCVzJyByZWZlcmVuY2VzIGl0c2VsZiAoZXZlbnR1YWxseSkiCm1zZ3N0ciAiUmVrdXJ6aXZuYSB2YXJpamFibGEgYCVzJyBwb2thenVqZSAobmEga3JhanUpIG5hIHNlYmUiCgojOiBleHBhbmQuYzoyNjYKbXNnaWQgInVudGVybWluYXRlZCB2YXJpYWJsZSByZWZlcmVuY2UiCm1zZ3N0ciAibmVkb3ZyuWVuYSByZWZlcmVuY2EgbmEgdmFyaWphYmx1IgoKIzogZmlsZS5jOjI3MAojLCBjLWZvcm1hdAptc2dpZCAiQ29tbWFuZHMgd2VyZSBzcGVjaWZpZWQgZm9yIGZpbGUgYCVzJyBhdCAlczolbHUsIgptc2dzdHIgIk5hcmVkYmUgc3UgbmF6bmHoZW5lIHphIHNwaXMgYCVzJyBuYSAlczolbHUsIgoKIzogZmlsZS5jOjI3NQojLCBjLWZvcm1hdAptc2dpZCAiQ29tbWFuZHMgZm9yIGZpbGUgYCVzJyB3ZXJlIGZvdW5kIGJ5IGltcGxpY2l0IHJ1bGUgc2VhcmNoLCIKbXNnc3RyICJOYXJlZGJlIHphIHNwaXMgYCVzJyBuYfBlbmUgc3UgaW1wbGljaXRuaW0gcHJldHJhvml2YW5qZW0gcHJvcGlzYSwiCgojOiBmaWxlLmM6Mjc4CiMsIGMtZm9ybWF0Cm1zZ2lkICJidXQgYCVzJyBpcyBub3cgY29uc2lkZXJlZCB0aGUgc2FtZSBmaWxlIGFzIGAlcycuIgptc2dzdHIgImFsaSBgJXMnIHNlIHNhZGEgc21hdHJhIGlzdGltIHNwaXNvbSBrYW8gaSBgJXMnLiIKCiM6IGZpbGUuYzoyODEKIywgYy1mb3JtYXQKbXNnaWQgIkNvbW1hbmRzIGZvciBgJXMnIHdpbGwgYmUgaWdub3JlZCBpbiBmYXZvciBvZiB0aG9zZSBmb3IgYCVzJy4iCm1zZ3N0ciAiTmFyZWRiZSB6YSBgJXMnIGlnbm9yaXJhdCDmZSBzZSB1IGtvcmlzdCBvbmloIHphIGAlcycuIgoKIzogZmlsZS5jOjMwMQojLCBjLWZvcm1hdAptc2dpZCAiY2FuJ3QgcmVuYW1lIHNpbmdsZS1jb2xvbiBgJXMnIHRvIGRvdWJsZS1jb2xvbiBgJXMnIgptc2dzdHIgIm5lIG1vZ3UgcHJlaW1lbm92YXRpIGAlcycgcyBqZWRub20gZHZvdG/oa29tIHUgYCVzJyBzIGR2aWplIGR2b3Rv6GtlIgoKIzogZmlsZS5jOjMwNgojLCBjLWZvcm1hdAptc2dpZCAiY2FuJ3QgcmVuYW1lIGRvdWJsZS1jb2xvbiBgJXMnIHRvIHNpbmdsZS1jb2xvbiBgJXMnIgptc2dzdHIgIm5lIG1vZ3UgcHJlaW1lbm92YXRpIGAlcycgcyBkdmlqZSBkdm90b+hrZSB1IGAlcycgcyBqZWRub20gZHZvdG/oa29tIgoKIzogZmlsZS5jOjM4MQojLCBjLWZvcm1hdAptc2dpZCAiKioqIERlbGV0aW5nIGludGVybWVkaWF0ZSBmaWxlIGAlcyciCm1zZ3N0ciAiKioqIEJyabllbSBwb3NyZWRuaSBzcGlzIGAlcyciCgojOiBmaWxlLmM6Mzg1Cm1zZ2lkICJSZW1vdmluZyBpbnRlcm1lZGlhdGUgZmlsZXMuLi5cbiIKbXNnc3RyICJCcmm5ZW0gcG9zcmVkbmUgc3Bpc2UuLi5cbiIKCiM6IGZpbGUuYzo3ODEKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBUaW1lc3RhbXAgb3V0IG9mIHJhbmdlOyBzdWJzdGl0dXRpbmcgJXMiCm1zZ3N0ciAiJXM6IFZyZW1lbnNrYSBvem5ha2EgdmFuIGdyYW5pY2E7IHphbWplbmp1amVtIHMgJXMiCgojOiBmaWxlLmM6NzgyCm1zZ2lkICJDdXJyZW50IHRpbWUiCm1zZ3N0ciAiVHJlbnV0bm8gdnJpamVtZSIKCiM6IGZpbGUuYzo4ODEKbXNnaWQgIiMgTm90IGEgdGFyZ2V0OiIKbXNnc3RyICIjIE5pamUgbWV0YToiCgojOiBmaWxlLmM6OTAzCm1zZ2lkICIjICBQcmVjaW91cyBmaWxlIChwcmVyZXF1aXNpdGUgb2YgLlBSRUNJT1VTKS4iCm1zZ3N0ciAiIyAgVnJpamVkYW4gc3BpcyAocHJlcmVrdml6aXQgbWV0ZSAuUFJFQ0lPVVMpLiIKCiM6IGZpbGUuYzo5MDUKbXNnaWQgIiMgIFBob255IHRhcmdldCAocHJlcmVxdWlzaXRlIG9mIC5QSE9OWSkuIgptc2dzdHIgIiMgIExhvm5hIG1ldGEgKHByZXJla3Zpeml0IG1ldGUgLlBIT05ZKS4iCgojOiBmaWxlLmM6OTA3Cm1zZ2lkICIjICBDb21tYW5kLWxpbmUgdGFyZ2V0LiIKbXNnc3RyICIjICBNZXRhIG5hIGtvbWFuZG5vaiBsaW5pamkuIgoKIzogZmlsZS5jOjkwOQojLCBmdXp6eQptc2dpZCAiIyAgQSBkZWZhdWx0LCBNQUtFRklMRVMsIG9yIC1pbmNsdWRlL3NpbmNsdWRlIG1ha2VmaWxlLiIKbXNnc3RyICIjICBQb2RyYXp1bWlqZXZhbmkgaWxpIE1BS0VGSUxFUyBtYWtlZmlsZS4iCgojOiBmaWxlLmM6OTExCm1zZ2lkICIjICBJbXBsaWNpdCBydWxlIHNlYXJjaCBoYXMgYmVlbiBkb25lLiIKbXNnc3RyICIjICAgSW1wbGljaXRuYSBwcmV0cmFnYSBwcm9waXNhIGplIGl6dnK5ZW5hLiIKCiM6IGZpbGUuYzo5MTIKbXNnaWQgIiMgIEltcGxpY2l0IHJ1bGUgc2VhcmNoIGhhcyBub3QgYmVlbiBkb25lLiIKbXNnc3RyICIjICBJbXBsaWNpdG5hIHByZXRyYWdhIHByb3Bpc2EgbmlqZSBpenZyuWVuYS4iCgojOiBmaWxlLmM6OTE0CiMsIGMtZm9ybWF0Cm1zZ2lkICIjICBJbXBsaWNpdC9zdGF0aWMgcGF0dGVybiBzdGVtOiBgJXMnXG4iCm1zZ3N0ciAiIyAgS29yaWplbiBpbXBsaWNpdG5vZy9zdGF0aehrb2cgdXpvcmthOiBgJXMnXG4iCgojOiBmaWxlLmM6OTE2Cm1zZ2lkICIjICBGaWxlIGlzIGFuIGludGVybWVkaWF0ZSBwcmVyZXF1aXNpdGUuIgptc2dzdHIgIiMgIFNwaXMgamUgcG9zcmVkbmkgcHJlcmVrdml6aXQuIgoKIzogZmlsZS5jOjkxOQptc2dpZCAiIyAgQWxzbyBtYWtlczoiCm1zZ3N0ciAiIyAgVGFrb/BlciBwcm9penZvZGk6IgoKIzogZmlsZS5jOjkyNQptc2dpZCAiIyAgTW9kaWZpY2F0aW9uIHRpbWUgbmV2ZXIgY2hlY2tlZC4iCm1zZ3N0ciAiIyAgVnJpamVtZSBwcm9tamVuZSBuaWthZGEgbmlqZSBwcm92amVyZW5vLiIKCiM6IGZpbGUuYzo5MjcKbXNnaWQgIiMgIEZpbGUgZG9lcyBub3QgZXhpc3QuIgptc2dzdHIgIiMgIFNwaXMgbmUgcG9zdG9qaS4iCgojOiBmaWxlLmM6OTI5Cm1zZ2lkICIjICBGaWxlIGlzIHZlcnkgb2xkLiIKbXNnc3RyICIjICBTcGlzIGplIHZybG8gc3Rhci4iCgojOiBmaWxlLmM6OTM0CiMsIGMtZm9ybWF0Cm1zZ2lkICIjICBMYXN0IG1vZGlmaWVkICVzXG4iCm1zZ3N0ciAiIyAgWmFkbmphIHByb21qZW5hICVzXG4iCgojOiBmaWxlLmM6OTM3Cm1zZ2lkICIjICBGaWxlIGhhcyBiZWVuIHVwZGF0ZWQuIgptc2dzdHIgIiMgIFNwaXMgamUgYb51cmlyYW4uIgoKIzogZmlsZS5jOjkzNwptc2dpZCAiIyAgRmlsZSBoYXMgbm90IGJlZW4gdXBkYXRlZC4iCm1zZ3N0ciAiIyAgU3BpcyBuaWplIGG+dXJpcmFuLiIKCiM6IGZpbGUuYzo5NDEKbXNnaWQgIiMgIENvbW1hbmRzIGN1cnJlbnRseSBydW5uaW5nIChUSElTIElTIEEgQlVHKS4iCm1zZ3N0ciAiIyAgTmFyZWRiZSBrb2plIHNlIHRyZW51dG5vIGl6dnK5YXZhanUgKE9WTyBKRSBCVUcpLiIKCiM6IGZpbGUuYzo5NDQKbXNnaWQgIiMgIERlcGVuZGVuY2llcyBjb21tYW5kcyBydW5uaW5nIChUSElTIElTIEEgQlVHKS4iCm1zZ3N0ciAiIyAgT3Zpc25vc3RpIGl6bWXwdSBuYXJlZGJpIGtvamUgc2UgaXp2crlhdmFqdSAoT1ZPIEpFIEJVRykuIgoKIzogZmlsZS5jOjk1Mwptc2dpZCAiIyAgU3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuIgptc2dzdHIgIiMgIFVzcGpluW5vIGG+dXJpcmFuLiIKCiM6IGZpbGUuYzo5NTcKbXNnaWQgIiMgIE5lZWRzIHRvIGJlIHVwZGF0ZWQgKC1xIGlzIHNldCkuIgptc2dzdHIgIiMgIFRyZWJhIGdhIGG+dXJpcmF0aSAoLXEgamUgcG9zdGF2bGplbikuIgoKIzogZmlsZS5jOjk2MAptc2dpZCAiIyAgRmFpbGVkIHRvIGJlIHVwZGF0ZWQuIgptc2dzdHIgIiMgIE5pamUgZ2Egc2UgYb51cmlyYWxvLiIKCiM6IGZpbGUuYzo5NjMKbXNnaWQgIiMgIEludmFsaWQgdmFsdWUgaW4gYHVwZGF0ZV9zdGF0dXMnIG1lbWJlciEiCm1zZ3N0ciAiIyAgTmVpc3ByYXZuYSB2cmlqZWRub3N0IHUgZWxlbWVudHUgYHVwZGF0ZV9zdGF0dXMnISIKCiM6IGZpbGUuYzo5NzAKbXNnaWQgIiMgIEludmFsaWQgdmFsdWUgaW4gYGNvbW1hbmRfc3RhdGUnIG1lbWJlciEiCm1zZ3N0ciAiIyAgTmVpc3ByYXZuYSB2cmlqZWRub3N0IHUgZWxlbWVudHUgYGNvbW1hbmRfc3RhdGUnISIKCiM6IGZpbGUuYzo5ODkKbXNnaWQgIiIKIlxuIgoiIyBGaWxlcyIKbXNnc3RyICIiCiJcbiIKIiMgU3Bpc2kiCgojOiBmaWxlLmM6OTkzCm1zZ2lkICIiCiJcbiIKIiMgZmlsZXMgaGFzaC10YWJsZSBzdGF0czpcbiIKIiMgIgptc2dzdHIgIiIKIlxuIgoiIyBzdGF0aXN0aWtlIGhhc2ggdGFibGljZSBzcGlzYVxuIgoiIyAiCgojOiBmdW5jdGlvbi5jOjc1OQptc2dpZCAibm9uLW51bWVyaWMgZmlyc3QgYXJndW1lbnQgdG8gYHdvcmQnIGZ1bmN0aW9uIgptc2dzdHIgInBydmkgYXJndW1lbnQgZnVua2NpamUgYHdvcmQnIG5pamUgYnJvaiIKCiM6IGZ1bmN0aW9uLmM6NzY0Cm1zZ2lkICJmaXJzdCBhcmd1bWVudCB0byBgd29yZCcgZnVuY3Rpb24gbXVzdCBiZSBncmVhdGVyIHRoYW4gMCIKbXNnc3RyICJwcnZpIGFyZ3VtZW50IGZ1bmtjaWplIGB3b3JkJyBtb3JhIGJpdGkgdmXmaSBvZCAwIgoKIzogZnVuY3Rpb24uYzo3ODUKbXNnaWQgIm5vbi1udW1lcmljIGZpcnN0IGFyZ3VtZW50IHRvIGB3b3JkbGlzdCcgZnVuY3Rpb24iCm1zZ3N0ciAiZHJ1Z2kgYXJndW1lbnQgZnVua2NpamUgYHdvcmRsbGlzdCcgbmlqZSBicm9qIgoKIzogZnVuY3Rpb24uYzo3ODcKbXNnaWQgIm5vbi1udW1lcmljIHNlY29uZCBhcmd1bWVudCB0byBgd29yZGxpc3QnIGZ1bmN0aW9uIgptc2dzdHIgImRydWdpIGFydW1lbnQgZnVua2NpamUgYHdvcmRsaXN0JyBuaWplIGJyb2oiCgojOiBmdW5jdGlvbi5jOjE0NTMKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjcmVhdGVfY2hpbGRfcHJvY2VzczogRHVwbGljYXRlSGFuZGxlKEluKSBmYWlsZWQgKGU9JWxkKVxuIgptc2dzdHIgImNyZWF0ZV9jaGlsZF9wcm9jZXNzOiBEdXBsaWNhdGVIYW5kbGUoSW4pIGplIHpha2F6YW8gKGU9JWQpXG4iCgojOiBmdW5jdGlvbi5jOjE0NjQKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjcmVhdGVfY2hpbGRfcHJvY2VzczogRHVwbGljYXRlSGFuZGxlKEVycikgZmFpbGVkIChlPSVsZClcbiIKbXNnc3RyICJjcmVhdGVfY2hpbGRfcHJvY2VzczogRHVwbGljYXRlSGFuZGxlKEVycikgamUgemFrYXphbyAoZT0lZClcbiIKCiM6IGZ1bmN0aW9uLmM6MTQ2OQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIkNyZWF0ZVBpcGUoKSBmYWlsZWQgKGU9JWxkKVxuIgptc2dzdHIgIkNyZWF0ZVBpcGUoKSBqZSB6YWthemFvIChlPSVkKVxuIgoKIzogZnVuY3Rpb24uYzoxNDc0Cm1zZ2lkICJ3aW5kb3dzMzJfb3BlbnBpcGUgKCk6IHByb2Nlc3NfaW5pdF9mZCgpIGZhaWxlZFxuIgptc2dzdHIgIndpbmRvd3MzMl9vcGVucGlwZSAoKTogcHJvY2Vzc19pbml0X2ZkKCkgamUgemFrYXphb1xuIgoKIzogZnVuY3Rpb24uYzoxNzI1CiMsIGMtZm9ybWF0Cm1zZ2lkICJDbGVhbmluZyB1cCB0ZW1wb3JhcnkgYmF0Y2ggZmlsZSAlc1xuIgptc2dzdHIgIshpc3RpbSBwcml2cmVtZW5pIGJhdGNoIHNwaXMgJXMuXG4iCgojOiBmdW5jdGlvbi5jOjIxMDEKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJpbnN1ZmZpY2llbnQgbnVtYmVyIG9mIGFyZ3VtZW50cyAoJWQpIHRvIGZ1bmN0aW9uIGAlcyciCm1zZ3N0ciAiTmVkb3ZvbGphbiBicm9qIGFyZ3VtZW5hdGEgKCVkKSBmdW5rY2lqaSBgJXMnIgoKIzogZnVuY3Rpb24uYzoyMTEzCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAidW5pbXBsZW1lbnRlZCBvbiB0aGlzIHBsYXRmb3JtOiBmdW5jdGlvbiBgJXMnIgptc2dzdHIgIk5laW1wbGVtZW50aXJhbm8gbmEgb3ZvaiBwbGF0Zm9ybWk6IGZ1bmtjaWphIGAlcyciCgojOiBmdW5jdGlvbi5jOjIxNjMKIywgYy1mb3JtYXQKbXNnaWQgInVudGVybWluYXRlZCBjYWxsIHRvIGZ1bmN0aW9uIGAlcyc6IG1pc3NpbmcgYCVjJyIKbXNnc3RyICJuZWRvdnK5ZW4gcG96aXYgZnVua2NpamkgYCVzJzogbmVkb3N0YWplIGAlYyciCgojOiBnZXRvcHQuYzo2NjMKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gYCVzJyBpcyBhbWJpZ3VvdXNcbiIKbXNnc3RyICIlczogb3BjaWphIGAlcycgamUgdmm5ZXpuYehuYVxuIgoKIzogZ2V0b3B0LmM6Njg3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogb3B0aW9uIGAtLSVzJyBkb2Vzbid0IGFsbG93IGFuIGFyZ3VtZW50XG4iCm1zZ3N0ciAiJXM6IHV6IG9wY2lqdSBgLS0lcycgbmUgaWRlIGFyZ3VtZW50XG4iCgojOiBnZXRvcHQuYzo2OTIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gYCVjJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnRcbiIKbXNnc3RyICIlczogb3BjaWphIGAlYyVzJyBuZSBkb3B1uXRhIGFyZ3VtZW50XG4iCgojOiBnZXRvcHQuYzo3MDkgZ2V0b3B0LmM6ODgyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogb3B0aW9uIGAlcycgcmVxdWlyZXMgYW4gYXJndW1lbnRcbiIKbXNnc3RyICIlczogb3BjaWphIGAlcycgemFodGlqZXZhIGFyZ3VtZW50XG4iCgojOiBnZXRvcHQuYzo3MzgKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB1bnJlY29nbml6ZWQgb3B0aW9uIGAtLSVzJ1xuIgptc2dzdHIgIiVzOiBuZXBvem5hdGEgb3BjaWphIGAtLSVzJ1xuIgoKIzogZ2V0b3B0LmM6NzQyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5yZWNvZ25pemVkIG9wdGlvbiBgJWMlcydcbiIKbXNnc3RyICIlczogbmVwb3puYXRhIG9wY2lqYSBgJWMlcydcbiIKCiM6IGdldG9wdC5jOjc2OAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCm1zZ3N0ciAiJXM6IG5lZG9wdbl0ZW5hIG9wY2lqYSAtLSAlY1xuIgoKIzogZ2V0b3B0LmM6NzcxCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogaW52YWxpZCBvcHRpb24gLS0gJWNcbiIKbXNnc3RyICIlczogbmVpc3ByYXZuYSBvcGNpamEgLS0gJWNcbiIKCiM6IGdldG9wdC5jOjgwMSBnZXRvcHQuYzo5MzEKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJWNcbiIKbXNnc3RyICIlczogb3BjaWphIHRyYb5pIGFyZ3VtZW50IC0tICVjXG4iCgojOiBnZXRvcHQuYzo4NDgKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gYC1XICVzJyBpcyBhbWJpZ3VvdXNcbiIKbXNnc3RyICIlczogb3BjaWphIGAtVyAlcycgamUgdmm5ZXpuYehuYVxuIgoKIzogZ2V0b3B0LmM6ODY2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogb3B0aW9uIGAtVyAlcycgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudFxuIgptc2dzdHIgIiVzOiBvcGNpamEgYC1XICVzJyBuZSBkb3B1uXRhIGFyZ3VtZW50XG4iCgojOiBoYXNoLmM6NTEKIywgYy1mb3JtYXQKbXNnaWQgImNhbid0IGFsbG9jYXRlICVsZCBieXRlcyBmb3IgaGFzaCB0YWJsZTogbWVtb3J5IGV4aGF1c3RlZCIKbXNnc3RyICJuZSBtb2d1IGFsb2NpcmF0aSAlbGQgYmFqdG92YSB6YSBoYXNoIHRhYmxpY3U7IG1lbW9yaWphIGlzY3JwbGplbmEiCgojOiBoYXNoLmM6MjgyCiMsIGMtZm9ybWF0Cm1zZ2lkICJMb2FkPSVsZC8lbGQ9JS4wZiUlLCAiCm1zZ3N0ciAiT3B0ZXJl5mVuamU9JWxkLyVsZD0lLjBmJSUsICIKCiM6IGhhc2guYzoyODQKIywgYy1mb3JtYXQKbXNnaWQgIlJlaGFzaD0lZCwgIgptc2dzdHIgIlByZXJhc3BvZGplbGE9JWQsICIKCiM6IGhhc2guYzoyODUKIywgYy1mb3JtYXQKbXNnaWQgIkNvbGxpc2lvbnM9JWxkLyVsZD0lLjBmJSUiCm1zZ3N0ciAiS29saXppamU9JWxkLyVsZD0lLjBmJSUiCgojOiBpbXBsaWNpdC5jOjQxCiMsIGMtZm9ybWF0Cm1zZ2lkICJMb29raW5nIGZvciBhbiBpbXBsaWNpdCBydWxlIGZvciBgJXMnLlxuIgptc2dzdHIgIlRyYb5pbSBpbXBsaWNpdG5pIHByb3BpcyB6YSBgJXMnLlxuIgoKIzogaW1wbGljaXQuYzo1NwojLCBjLWZvcm1hdAptc2dpZCAiTG9va2luZyBmb3IgYXJjaGl2ZS1tZW1iZXIgaW1wbGljaXQgcnVsZSBmb3IgYCVzJy5cbiIKbXNnc3RyICJUcmG+aW0gaW1wbGljaXRuaSBwcm9waXMgemEgYCVzJyBrb2ppIHByaXBhZGEgZWxlbWVudHUgYXJoaXZlLlxuIgoKIzogaW1wbGljaXQuYzozMTkKbXNnaWQgIkF2b2lkaW5nIGltcGxpY2l0IHJ1bGUgcmVjdXJzaW9uLlxuIgptc2dzdHIgIkl6YmplZ2F2YW0gcmVrdXJ6aWp1IGltcGxpY2l0bm9nIHByb3Bpc2EuXG4iCgojOiBpbXBsaWNpdC5jOjQ3NgojLCBjLWZvcm1hdAptc2dpZCAiVHJ5aW5nIHBhdHRlcm4gcnVsZSB3aXRoIHN0ZW0gYCUuKnMnLlxuIgptc2dzdHIgIlBva3W5YXZhbSBwcm9waXMgdXpvcmthIHMga29yaWplbm9tIGAlLipzJy5cbiIKCiM6IGltcGxpY2l0LmM6NjY3CiMsIGMtZm9ybWF0Cm1zZ2lkICJSZWplY3RpbmcgaW1wb3NzaWJsZSBpbXBsaWNpdCBwcmVyZXF1aXNpdGUgYCVzJy5cbiIKbXNnc3RyICJPZGJhY3VqZW0gbmVtb2d15iBwcmVyZWt2aXppdCBgJXMnLlxuIgoKIzogaW1wbGljaXQuYzo2NjgKIywgYy1mb3JtYXQKbXNnaWQgIlJlamVjdGluZyBpbXBvc3NpYmxlIHJ1bGUgcHJlcmVxdWlzaXRlIGAlcycuXG4iCm1zZ3N0ciAiT2RiYWN1amVtIG5lbW9ndeZlIHByYXZpbG8gcHJlcmVrdml6aXRhIGAlcycuXG4iCgojOiBpbXBsaWNpdC5jOjY3OAojLCBjLWZvcm1hdAptc2dpZCAiVHJ5aW5nIGltcGxpY2l0IHByZXJlcXVpc2l0ZSBgJXMnLlxuIgptc2dzdHIgIlBva3W5YXZhbSBzIGltcGxpY2l0bmltIHByZXJla3Zpeml0b20gYCVzJy5cbiIKCiM6IGltcGxpY2l0LmM6Njc5CiMsIGMtZm9ybWF0Cm1zZ2lkICJUcnlpbmcgcnVsZSBwcmVyZXF1aXNpdGUgYCVzJy5cbiIKbXNnc3RyICJQb2t1uWF2YW0gcyBwcm9waXNvbSBwcmVyZWt2aXppdGEgYCVzJy5cbiIKCiM6IGltcGxpY2l0LmM6NzEwCiMsIGMtZm9ybWF0Cm1zZ2lkICJGb3VuZCBwcmVyZXF1aXNpdGUgYCVzJyBhcyBWUEFUSCBgJXMnXG4iCm1zZ3N0ciAiTmG5YW8gcHJlcmVrdml6aXQgYCVzJyBrYW8gVlBBVEggYCVzJ1xuIgoKIzogaW1wbGljaXQuYzo3MzAKIywgYy1mb3JtYXQKbXNnaWQgIkxvb2tpbmcgZm9yIGEgcnVsZSB3aXRoIGludGVybWVkaWF0ZSBmaWxlIGAlcycuXG4iCm1zZ3N0ciAiVHJhvmltIHByb3BpcyBzIHBvc3JlZG5pbSBzcGlzb20gYCVzJy5cbiIKCiM6IGpvYi5jOjMyMQojLCBmdXp6eQptc2dpZCAiQ2Fubm90IGNyZWF0ZSBhIHRlbXBvcmFyeSBmaWxlXG4iCm1zZ3N0ciAiZndyaXRlKHByaXZyZW1lbmkgc3BpcykiCgojOiBqb2IuYzozODgKIywgYy1mb3JtYXQKbXNnaWQgIioqKiBbJXNdIEVycm9yIDB4JXggKGlnbm9yZWQpIgptc2dzdHIgIioqKiBbJXNdIEdyZblrYSAweCV4IChpZ25vcmlyYW5hKSIKCiM6IGpvYi5jOjM4OQojLCBjLWZvcm1hdAptc2dpZCAiKioqIFslc10gRXJyb3IgMHgleCIKbXNnc3RyICIqKiogWyVzXSBHcmW5a2EgMHgleCIKCiM6IGpvYi5jOjM5MwojLCBjLWZvcm1hdAptc2dpZCAiWyVzXSBFcnJvciAlZCAoaWdub3JlZCkiCm1zZ3N0ciAiWyVzXSBHcmW5a2EgJWQgKGlnbm9yaXJhbmEpIgoKIzogam9iLmM6Mzk0CiMsIGMtZm9ybWF0Cm1zZ2lkICIqKiogWyVzXSBFcnJvciAlZCIKbXNnc3RyICIqKiogWyVzXSBHcmW5a2EgJWQiCgojOiBqb2IuYzozOTkKbXNnaWQgIiAoY29yZSBkdW1wZWQpIgptc2dzdHIgIiAoaXpiYehlbiBjb3JlKSIKCiM6IGpvYi5jOjQ4OAptc2dpZCAiKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4iCm1zZ3N0ciAiKioqIOhla2FtIG5hIG5lZG92crllbmUgcG9zbG92ZS4uLi4iCgojOiBqb2IuYzo1MTgKIywgYy1mb3JtYXQKbXNnaWQgIkxpdmUgY2hpbGQgMHglMDhseCAoJXMpIFBJRCAlbGQgJXNcbiIKbXNnc3RyICKuaXZvIGRpamV0ZSAweCUwOGx4ICglcykgUElEICVsZCAlc1xuIgoKIzogam9iLmM6NTIwIGpvYi5jOjcwMSBqb2IuYzo4MDQgam9iLmM6MTQ1Nwptc2dpZCAiIChyZW1vdGUpIgptc2dzdHIgIiAodWRhbGplbikiCgojOiBqb2IuYzo2OTgKIywgYy1mb3JtYXQKbXNnaWQgIlJlYXBpbmcgbG9zaW5nIGNoaWxkIDB4JTA4bHggUElEICVsZCAlc1xuIgptc2dzdHIgIq5hbmplbSBwcm9tYbllbm8gZGlqZXRlIDB4JTA4bHggUElEICVsZCAlc1xuIgoKIzogam9iLmM6Njk5CiMsIGMtZm9ybWF0Cm1zZ2lkICJSZWFwaW5nIHdpbm5pbmcgY2hpbGQgMHglMDhseCBQSUQgJWxkICVzXG4iCm1zZ3N0ciAirmFuamVtIHVzcGpluW5vIGRpamV0ZSAweCUwOGx4IFBJRCAlbGQgJXNcbiIKCiM6IGpvYi5jOjcwNAojLCBjLWZvcm1hdAptc2dpZCAiQ2xlYW5pbmcgdXAgdGVtcCBiYXRjaCBmaWxlICVzXG4iCm1zZ3N0ciAiyGlzdGltIHByaXZyZW1lbmkgYmF0Y2ggc3BpcyAlc1xuIgoKIzogam9iLmM6ODAyCiMsIGMtZm9ybWF0Cm1zZ2lkICJSZW1vdmluZyBjaGlsZCAweCUwOGx4IFBJRCAlbGQlcyBmcm9tIGNoYWluLlxuIgptc2dzdHIgIlVrbGFuamFtIGRpamV0ZSAweCUwOGx4IFBJRCAlbGQlcyBpeiBsYW5jYS5cbiIKCiMgqXRvIGJpIG92ZGplIHRyZWJhbG8gaeZpPwojOiBqb2IuYzo4NjIKbXNnaWQgIndyaXRlIGpvYnNlcnZlciIKbXNnc3RyICJ3cml0ZSBqb2JzZXJ2ZXIiCgojOiBqb2IuYzo4NjQKIywgYy1mb3JtYXQKbXNnaWQgIlJlbGVhc2VkIHRva2VuIGZvciBjaGlsZCAweCUwOGx4ICglcykuXG4iCm1zZ3N0ciAiT3RwdXN0aW8gdG9rZW4gemEgZGlqZXRlIDB4JTA4bHggKCVzKS5cbiIKCiM6IGpvYi5jOjEzODMKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJwcm9jZXNzX2Vhc3koKSBmYWlsZWQgdG8gbGF1bmNoIHByb2Nlc3MgKGU9JWxkKVxuIgptc2dzdHIgInByb2Nlc3NfZWFzeSgpIG5pamUgdXNwaW8gcG9rcmVudXRpIHByb2NlcyAoZT0lZClcbiIKCiM6IGpvYi5jOjEzODcgam9iLmM6MjAyMAojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiJDb3VudGVkICVkIGFyZ3MgaW4gZmFpbGVkIGxhdW5jaFxuIgptc2dzdHIgIiIKIlxuIgoiUHJlYnJvamFvICVkIGFyZ3VtZW5hdGEgdSBuZXVzcGplbG9tIHBva3JldGFuanVcbiIKCiM6IGpvYi5jOjE0NTUKIywgYy1mb3JtYXQKbXNnaWQgIlB1dHRpbmcgY2hpbGQgMHglMDhseCAoJXMpIFBJRCAlbGQlcyBvbiB0aGUgY2hhaW4uXG4iCm1zZ3N0ciAiU21qZbl0YW0gZGlqZXRlIDB4JTA4bHggKCVzKSBQSUQgJWxkJXMgdSBsYW5hYy5cbiIKCiM6IGpvYi5jOjE3MDkKIywgYy1mb3JtYXQKbXNnaWQgIk9idGFpbmVkIHRva2VuIGZvciBjaGlsZCAweCUwOGx4ICglcykuXG4iCm1zZ3N0ciAiUHJldXplbyB0b2tlbiB6YSBkaWpldGUgMHglMDhseCAoJXMpLlxuIgoKIzogam9iLmM6MTcxOAptc2dpZCAicmVhZCBqb2JzIHBpcGUiCm1zZ3N0ciAicmVhZCBqb2JzIHBpcGUiCgojOiBqb2IuYzoxODMyCm1zZ2lkICJjYW5ub3QgZW5mb3JjZSBsb2FkIGxpbWl0cyBvbiB0aGlzIG9wZXJhdGluZyBzeXN0ZW0iCm1zZ3N0ciAiIgoibmUgbW9ndSBzaWxvbSBwcmltaWplbml0aSBvZ3JhbmnoZW5qZSBsb2FkYSBuYSBvdm9tIG9wZXJhdGl2bm9tIHN1c3RhdnUiCgojOiBqb2IuYzoxODM0Cm1zZ2lkICJjYW5ub3QgZW5mb3JjZSBsb2FkIGxpbWl0OiAiCm1zZ3N0ciAibmUgbW9ndSBzaWxvbSBwcmltaWplbml0aSBvZ3JhbmnoZW5qZSBsb2FkYTogIgoKIzogam9iLmM6MTkwNwptc2dpZCAibm8gbW9yZSBmaWxlIGhhbmRsZXM6IGNvdWxkIG5vdCBkdXBsaWNhdGUgc3RkaW5cbiIKbXNnc3RyICIiCgojOiBqb2IuYzoxOTA5Cm1zZ2lkICJubyBtb3JlIGZpbGUgaGFuZGxlczogY291bGQgbm90IGR1cGxpY2F0ZSBzdGRvdXRcbiIKbXNnc3RyICIiCgojOiBqb2IuYzoxOTM3Cm1zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSBzdGRpblxuIgptc2dzdHIgIiIKCiM6IGpvYi5jOjE5NDUKbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHN0ZG91dFxuIgptc2dzdHIgIiIKCiM6IGpvYi5jOjIwMTYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJwcm9jZXNzX2Vhc3koKSBmYWlsZWQgZmFpbGVkIHRvIGxhdW5jaCBwcm9jZXNzIChlPSVsZClcbiIKbXNnc3RyICJwcm9jZXNzX2Vhc3koKSBuaWplIHVzcGlvIHBva3JlbnV0aSBwcm9jZXMgKGU9JWQpXG4iCgojOiBqb2IuYzoyMDQ2CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAibWFrZSByZWFwZWQgY2hpbGQgcGlkICVsZCwgc3RpbGwgd2FpdGluZyBmb3IgcGlkICVsZFxuIgptc2dzdHIgIm1ha2UgamUgcG++bmplbyBkaWpldGUgcGlkICVkLCBqb7kgdXZpamVrIOhla2EgbmEgcGlkICVkXG4iCgojOiBqb2IuYzoyMDg1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogQ29tbWFuZCBub3QgZm91bmQiCm1zZ3N0ciAiJXM6IE5hcmVkYmEgbmlqZSBuYfBlbmEiCgojOiBqb2IuYzoyMTQ1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogU2hlbGwgcHJvZ3JhbSBub3QgZm91bmQiCm1zZ3N0ciAiJXM6IExqdXNraW4gcHJvZ3JhbSBuaWplIG5h8GVuIgoKIzogam9iLmM6MjE1NAptc2dpZCAic3Bhd252cGU6IGVudmlyb25tZW50IHNwYWNlIG1pZ2h0IGJlIGV4aGF1c3RlZCIKbXNnc3RyICIiCgojOiBqb2IuYzoyMzYzCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJFNIRUxMIGNoYW5nZWQgKHdhcyBgJXMnLCBub3cgYCVzJylcbiIKbXNnc3RyICIkU0hFTEwgc2UgcHJvbWlqZW5pbyAocHJpamUgYCVzJywgc2FkIGAlcycpIgoKIzogam9iLmM6Mjc4OQojLCBjLWZvcm1hdAptc2dpZCAiQ3JlYXRpbmcgdGVtcG9yYXJ5IGJhdGNoIGZpbGUgJXNcbiIKbXNnc3RyICJTdHZhcmFtIHByaXZyZW1lbmkgYmF0Y2ggc3BpcyAlc1xuIgoKIzogam9iLmM6MjkwMgojLCBjLWZvcm1hdAptc2dpZCAiJXMgKGxpbmUgJWQpIEJhZCBzaGVsbCBjb250ZXh0ICghdW5peHkgJiYgIWJhdGNoX21vZGVfc2hlbGwpXG4iCm1zZ3N0ciAiJXMgKHJlZGFrICVkKSBMb7kga29udGVrc3QgbGp1c2tlICghdW5peHkgJiYgIWJhdGNoX21vZGVfc2hlbGwpXG4iCgojOiBtYWluLmM6MjkxCm1zZ2lkICJPcHRpb25zOlxuIgptc2dzdHIgIk9wY2lqZTpcbiIKCiM6IG1haW4uYzoyOTIKbXNnaWQgIiAgLWIsIC1tICAgICAgICAgICAgICAgICAgICAgIElnbm9yZWQgZm9yIGNvbXBhdGliaWxpdHkuXG4iCm1zZ3N0ciAiICAtYiwgLW0gICAgICAgICAgICAgICAgICAgICAgSWdub3JpcmEgc2UgemJvZyBrb21wYXRpYmlsbm9zdGlcbiIKCiM6IG1haW4uYzoyOTQKbXNnaWQgIiAgLUIsIC0tYWx3YXlzLW1ha2UgICAgICAgICAgIFVuY29uZGl0aW9uYWxseSBtYWtlIGFsbCB0YXJnZXRzLlxuIgptc2dzdHIgIiAgLUIsIC0tYWx3YXlzLW1ha2UgICAgICAgICAgIEJlenV2amV0bm8gcHJvaXp2ZWRpIHN2ZSBtZXRlLlxuIgoKIzogbWFpbi5jOjI5Ngptc2dpZCAiIgoiICAtQyBESVJFQ1RPUlksIC0tZGlyZWN0b3J5PURJUkVDVE9SWVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbmdlIHRvIERJUkVDVE9SWSBiZWZvcmUgZG9pbmcgYW55dGhpbmcuXG4iCm1zZ3N0ciAiIgoiICAtQyBESVJFQ1RPUlksIC0tZGlyZWN0b3J5PURJUkVDVE9SWVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpamXwaSB1IERJUkVLVE9SSUogcHJpamUgbm8guXRvIGm5dGEgIgoib2Jhdmm5LlxuIgoKIzogbWFpbi5jOjI5OQptc2dpZCAiICAtZCAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpbnQgbG90cyBvZiBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uXG4iCm1zZ3N0ciAiICAtZCAgICAgICAgICAgICAgICAgICAgICAgICAgSXNwablpIHB1bm8gcG9kYXRha2EgemEgZGVidWdpcmFuamUuXG4iCgojOiBtYWluLmM6MzAxCm1zZ2lkICIiCiIgIC0tZGVidWdbPUZMQUdTXSAgICAgICAgICAgICBQcmludCB2YXJpb3VzIHR5cGVzIG9mIGRlYnVnZ2luZyBpbmZvcm1hdGlvbi5cbiIKbXNnc3RyICIiCiIgIC0tZGVidWdbPUZMQUdPVkldICAgICAgICAgICAgIElzcGm5aSByYXpuZSB2cnN0ZSBpbmZvcm1hY2lqYSB6YSAiCiJkZWJ1Z2lyYW5qZS5cbiIKCiM6IG1haW4uYzozMDMKbXNnaWQgIiIKIiAgLWUsIC0tZW52aXJvbm1lbnQtb3ZlcnJpZGVzXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnZpcm9ubWVudCB2YXJpYWJsZXMgb3ZlcnJpZGUgbWFrZWZpbGVzLlxuIgptc2dzdHIgIiIKIiAgLWUsIC0tZW52aXJvbm1lbnQtb3ZlcnJpZGVzXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYXJpamFibGUgaXogb2tvbGluZSBpbWFqdSB2ZeZ1IHZhvm5vc3Qgb2RcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ha2VmaWxlb3ZhLlxuIgoKIzogbWFpbi5jOjMwNgptc2dpZCAiIgoiICAtZiBGSUxFLCAtLWZpbGU9RklMRSwgLS1tYWtlZmlsZT1GSUxFXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFkIEZJTEUgYXMgYSBtYWtlZmlsZS5cbiIKbXNnc3RyICIiCiIgIC1mIFNQSVMsIC0tZmlsZT1TUElTLCAtLW1ha2VmaWxlPVNQSVNcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb+hpdGFqIFNQSVMga2FvIG1ha2VmaWxlLlxuIgoKIzogbWFpbi5jOjMwOQptc2dpZCAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgUHJpbnQgdGhpcyBtZXNzYWdlIGFuZCBleGl0LlxuIgptc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIElzcGm5aSBvdnUgcG9ydWt1IGkgaXph8GkuXG4iCgojOiBtYWluLmM6MzExCm1zZ2lkICIgIC1pLCAtLWlnbm9yZS1lcnJvcnMgICAgICAgICBJZ25vcmUgZXJyb3JzIGZyb20gY29tbWFuZHMuXG4iCm1zZ3N0ciAiICAtaSwgLS1pZ25vcmUtZXJyb3JzICAgICAgICAgWmFuZW1hcmkgZ3JluWtlIG9kIG5hcmVkYmkuXG4iCgojOiBtYWluLmM6MzEzCm1zZ2lkICIiCiIgIC1JIERJUkVDVE9SWSwgLS1pbmNsdWRlLWRpcj1ESVJFQ1RPUllcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBESVJFQ1RPUlkgZm9yIGluY2x1ZGVkIG1ha2VmaWxlcy5cbiIKbXNnc3RyICIiCiIgIC1JIERJUkVLVE9SSUosIC0taW5jbHVkZS1kaXI9RElSRUtUT1JJSlxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUG90cmG+aSB1IERJUkVLVE9SSUpVIHVrbGp16GVuZSBtYWtlZmlsZW92ZS5cbiIKCiM6IG1haW4uYzozMTYKbXNnaWQgIiIKIiAgLWogW05dLCAtLWpvYnNbPU5dICAgICAgICAgIEFsbG93IE4gam9icyBhdCBvbmNlOyBpbmZpbml0ZSBqb2JzIHdpdGggbm8gIgoiYXJnLlxuIgptc2dzdHIgIiIKIiAgLWogW05dLCAtLWpvYnNbPU5dICAgICAgICAgIERvcHVzdGkgTiBpc3RvdnJlbWVuaWggcG9zbG92YTsgYmV6IGFyZ3VtZW50YVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWggZG9wdXN0aSBiZXNrb25h6G5vLlxuIgoKIzogbWFpbi5jOjMxOAptc2dpZCAiIgoiICAtaywgLS1rZWVwLWdvaW5nICAgICAgICAgICAgS2VlcCBnb2luZyB3aGVuIHNvbWUgdGFyZ2V0cyBjYW4ndCBiZSBtYWRlLlxuIgptc2dzdHIgIiIKIiAgLWssIC0ta2VlcC1nb2luZyAgICAgICAgICAgIE5hc3RhdmkgcyByYWRvbSBha28gc2UgbmVrZSBtZXRlIG5lIG1vZ3UgIgoiaXpyYWRpdGkuXG4iCgojOiBtYWluLmM6MzIwCm1zZ2lkICIiCiIgIC1sIFtOXSwgLS1sb2FkLWF2ZXJhZ2VbPU5dLCAtLW1heC1sb2FkWz1OXVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG9uJ3Qgc3RhcnQgbXVsdGlwbGUgam9icyB1bmxlc3MgbG9hZCBpcyBiZWxvdyAiCiJOLlxuIgptc2dzdHIgIiIKIiAgLWwgW05dLCAtLWxvYWQtYXZlcmFnZVs9Tl0sIC0tbWF4LWxvYWRbPU5dXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZSBwb2tyZeZpIHZpuWVzdHJ1a2UgcG9zbG92ZSwgb3NpbSBha28gcHJpXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRlcmXmZW5qdSBpc3BvZCBOLlxuIgoKIzogbWFpbi5jOjMyMwptc2dpZCAiIgoiICAtTCwgLS1jaGVjay1zeW1saW5rLXRpbWVzICAgVXNlIHRoZSBsYXRlc3QgbXRpbWUgYmV0d2VlbiBzeW1saW5rcyBhbmQgIgoidGFyZ2V0LlxuIgptc2dzdHIgIiIKCiM6IG1haW4uYzozMjUKbXNnaWQgIiIKIiAgLW4sIC0tanVzdC1wcmludCwgLS1kcnktcnVuLCAtLXJlY29uXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBhY3R1YWxseSBydW4gYW55IGNvbW1hbmRzOyBqdXN0IHByaW50ICIKInRoZW0uXG4iCm1zZ3N0ciAiIgoiICAtbiwgLS1qdXN0LXByaW50LCAtLWRyeS1ydW4sIC0tcmVjb25cbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5lbW9qIHphcHJhdm8gcG9rcmVudXRpIG5pamVkbnUgbmFyZWRidTtcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gaWggaXNwablpLlxuIgoKIzogbWFpbi5jOjMyOAptc2dpZCAiIgoiICAtbyBGSUxFLCAtLW9sZC1maWxlPUZJTEUsIC0tYXNzdW1lLW9sZD1GSUxFXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb25zaWRlciBGSUxFIHRvIGJlIHZlcnkgb2xkIGFuZCBkb24ndCByZW1ha2UgIgoiaXQuXG4iCm1zZ3N0ciAiIgoiICAtbyBTUElTLCAtLW9sZC1maWxlPVNQSVMsIC0tYXNzdW1lLW9sZD1TUElTXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWF0cmFqIGRhIGplIFNQSVMgdnJsbyBzdGFyIGkgbmVtb2ogZ2FcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvbm92byBuYXByYXZpdGkuXG4iCgojOiBtYWluLmM6MzMxCm1zZ2lkICIgIC1wLCAtLXByaW50LWRhdGEtYmFzZSAgICAgICBQcmludCBtYWtlJ3MgaW50ZXJuYWwgZGF0YWJhc2UuXG4iCm1zZ3N0ciAiICAtcCwgLS1wcmludC1kYXRhLWJhc2UgICAgICAgSXNwablpIG1ha2VvdnUgaW50ZXJudSBiYXp1LlxuIgoKIzogbWFpbi5jOjMzMwptc2dpZCAiIgoiICAtcSwgLS1xdWVzdGlvbiAgICAgICAgICAgICAgUnVuIG5vIGNvbW1hbmRzOyBleGl0IHN0YXR1cyBzYXlzIGlmIHVwIHRvICIKImRhdGUuXG4iCm1zZ3N0ciAiIgoiICAtcSwgLS1xdWVzdGlvbiAgICAgICAgICAgICAgTmUgcG9rcmXmaSBuYXJlZGJlOyBpemxhem5pIHN0YXR1cyBvem5h6GF2YVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamUgbGkgc3ZlIGG+dXJpcmFuby5cbiIKCiM6IG1haW4uYzozMzUKbXNnaWQgIiAgLXIsIC0tbm8tYnVpbHRpbi1ydWxlcyAgICAgIERpc2FibGUgdGhlIGJ1aWx0LWluIGltcGxpY2l0IHJ1bGVzLlxuIgptc2dzdHIgIiAgLXIsIC0tbm8tYnVpbHRpbi1ydWxlcyAgICAgIE9uZW1vZ3XmaSB1Z3Jh8GVuZSBpbXBsaWNpdG5lIHByb3Bpc2UuXG4iCgojOiBtYWluLmM6MzM3Cm1zZ2lkICIgIC1SLCAtLW5vLWJ1aWx0aW4tdmFyaWFibGVzICBEaXNhYmxlIHRoZSBidWlsdC1pbiB2YXJpYWJsZSBzZXR0aW5ncy5cbiIKbXNnc3RyICIiCiIgIC1SLCAtLW5vLWJ1aWx0aW4tdmFyaWFibGVzICBPbmVtb2d15mkgdWdyYfBlbmUgdnJpamVkbm9zdGkgdmFyaWphYmxpLlxuIgoKIzogbWFpbi5jOjMzOQptc2dpZCAiICAtcywgLS1zaWxlbnQsIC0tcXVpZXQgICAgICAgRG9uJ3QgZWNobyBjb21tYW5kcy5cbiIKbXNnc3RyICIgIC1zLCAtLXNpbGVudCwgLS1xdWlldCAgICAgICBOZSBpc3Bpc3VqIG5hcmVkYmUuXG4iCgojOiBtYWluLmM6MzQxCm1zZ2lkICIiCiIgIC1TLCAtLW5vLWtlZXAtZ29pbmcsIC0tc3RvcFxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHVybnMgb2ZmIC1rLlxuIgptc2dzdHIgIiIKIiAgLVMsIC0tbm8ta2VlcC1nb2luZywgLS1zdG9wXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJc2tsanXodWplIC1rLlxuIgoKIzogbWFpbi5jOjM0NAptc2dpZCAiICAtdCwgLS10b3VjaCAgICAgICAgICAgICAgICAgVG91Y2ggdGFyZ2V0cyBpbnN0ZWFkIG9mIHJlbWFraW5nIHRoZW0uXG4iCm1zZ3N0ciAiIgoiICAtdCwgLS10b3VjaCAgICAgICAgICAgICAgICAgRG9kaXJuaSBtZXRlIHVtamVzdG8gZGEgaWggcG9ub3ZvIGl6cmHwdWpluS5cbiIKCiM6IG1haW4uYzozNDYKbXNnaWQgIiIKIiAgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgIFByaW50IHRoZSB2ZXJzaW9uIG51bWJlciBvZiBtYWtlIGFuZCBleGl0LlxuIgptc2dzdHIgIiAgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgIElzcGm5aSB2ZXJ6aWp1IG1ha2VhIGkgaXph8GkuXG4iCgojOiBtYWluLmM6MzQ4Cm1zZ2lkICIgIC13LCAtLXByaW50LWRpcmVjdG9yeSAgICAgICBQcmludCB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCm1zZ3N0ciAiICAtdywgLS1wcmludC1kaXJlY3RvcnkgICAgICAgSXNwablpIHRyZW51dG5pIGRpcmVrdG9yaWouXG4iCgojOiBtYWluLmM6MzUwCm1zZ2lkICIiCiIgIC0tbm8tcHJpbnQtZGlyZWN0b3J5ICAgICAgICBUdXJuIG9mZiAtdywgZXZlbiBpZiBpdCB3YXMgdHVybmVkIG9uICIKImltcGxpY2l0bHkuXG4iCm1zZ3N0ciAiIgoiICAtLW5vLXByaW50LWRpcmVjdG9yeSAgICAgICAgSXNrbGp16GkgLXcsIOhhayBpIGFrbyBqZSBpbXBsaWNpdG5vICIKInVrbGp16GVuLlxuIgoKIzogbWFpbi5jOjM1Mgptc2dpZCAiIgoiICAtVyBGSUxFLCAtLXdoYXQtaWY9RklMRSwgLS1uZXctZmlsZT1GSUxFLCAtLWFzc3VtZS1uZXc9RklMRVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uc2lkZXIgRklMRSB0byBiZSBpbmZpbml0ZWx5IG5ldy5cbiIKbXNnc3RyICIiCiIgIC1XIFNQSVMsIC0td2hhdC1pZj1TUElTLCAtLW5ldy1maWxlPVNQSVMsIC0tYXNzdW1lLW5ldz1TUElTXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWF0cmFqIFNQSVMgYmVza29uYehubyBub3ZpbS5cbiIKCiM6IG1haW4uYzozNTUKbXNnaWQgIiIKIiAgLS13YXJuLXVuZGVmaW5lZC12YXJpYWJsZXMgIFdhcm4gd2hlbiBhbiB1bmRlZmluZWQgdmFyaWFibGUgaXMgIgoicmVmZXJlbmNlZC5cbiIKbXNnc3RyICIiCiIgIC0td2Fybi11bmRlZmluZWQtdmFyaWFibGVzICBVcG96b3JpIGthZCBzZSByZWZlcmVuY2lyYSBuZWRlZmluaXJhbmEgIgoidmFyaWphYmxhLlxuIgoKIzogbWFpbi5jOjU0OQptc2dpZCAiZW1wdHkgc3RyaW5nIGludmFsaWQgYXMgZmlsZSBuYW1lIgptc2dzdHIgInByYXphbiBzdHJpbmcgbmlqZSB2YWxqYW4gbmF6aXYgc3Bpc2EiCgojOiBtYWluLmM6NjMwCiMsIGMtZm9ybWF0Cm1zZ2lkICJ1bmtub3duIGRlYnVnIGxldmVsIHNwZWNpZmljYXRpb24gYCVzJyIKbXNnc3RyICJuZXBvem5hdGEgbmF6bmFrYSBuaXZvYSBkZWJ1Z2EgYCVzJyIKCiM6IG1haW4uYzo2NzAKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogSW50ZXJydXB0L0V4Y2VwdGlvbiBjYXVnaHQgKGNvZGUgPSAweCVseCwgYWRkciA9IDB4JWx4KVxuIgptc2dzdHIgIiVzOiBQcmVraWQvSXpuaW1rYSB1aHZh5mVuYSAoY29kZSA9IDB4JXgsIGFkZHIgPSAweCV4KVxuIgoKIzogbWFpbi5jOjY3NwojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiVW5oYW5kbGVkIGV4Y2VwdGlvbiBmaWx0ZXIgY2FsbGVkIGZyb20gcHJvZ3JhbSAlc1xuIgoiRXhjZXB0aW9uQ29kZSA9ICVseFxuIgoiRXhjZXB0aW9uRmxhZ3MgPSAlbHhcbiIKIkV4Y2VwdGlvbkFkZHJlc3MgPSAlbHhcbiIKbXNnc3RyICIiCiJcbiIKIkZpbHRlciBuZW9icmHwZW5lIGl6bmlta2UgcG96dmFuIGl6IHByb2dyYW1hICVzXG4iCiJFeGNlcHRpb25Db2RlID0gJXhcbiIKIkV4Y2VwdGlvbkZsYWdzID0gJXhcbiIKIkV4Y2VwdGlvbkFkZHJlc3MgPSAleFxuIgoKIzogbWFpbi5jOjY4NQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIkFjY2VzcyB2aW9sYXRpb246IHdyaXRlIG9wZXJhdGlvbiBhdCBhZGRyZXNzICVseFxuIgptc2dzdHIgIlByaXN0dXBuaSBwcmVrcrlhajogb3BlcmFjaWphIHBpc2FuamEgbmEgYWRyZXNpICV4XG4iCgojOiBtYWluLmM6Njg2CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiQWNjZXNzIHZpb2xhdGlvbjogcmVhZCBvcGVyYXRpb24gYXQgYWRkcmVzcyAlbHhcbiIKbXNnc3RyICJQcmlzdHVwbmkgcHJla3K5YWo6IG9wZXJhY2lqYSDoaXRhbmphIG5hIGFkcmVzaSAleFxuIgoKIzogbWFpbi5jOjc2MiBtYWluLmM6NzczCiMsIGMtZm9ybWF0Cm1zZ2lkICJmaW5kX2FuZF9zZXRfc2hlbGwgc2V0dGluZyBkZWZhdWx0X3NoZWxsID0gJXNcbiIKbXNnc3RyICJmaW5kX2FuZF9zZXRfc2hlbGwgcG9zdGF2bGphbSBkZWZhdWx0X3NoZWxsID0gJXNcbiIKCiM6IG1haW4uYzo4MTQKIywgYy1mb3JtYXQKbXNnaWQgImZpbmRfYW5kX3NldF9zaGVsbCBwYXRoIHNlYXJjaCBzZXQgZGVmYXVsdF9zaGVsbCA9ICVzXG4iCm1zZ3N0ciAiZmluZF9hbmRfc2V0X3NoZWxsIHByZXRyYWdhIHN0YXplIHBvc3RhdmxqYW0gZGVmYXVsdF9zaGVsbCA9ICVzXG4iCgojOiBtYWluLmM6MTIzNgojLCBjLWZvcm1hdAptc2dpZCAiJXMgaXMgc3VzcGVuZGluZyBmb3IgMzAgc2Vjb25kcy4uLiIKbXNnc3RyICIlcyBzZSB6YXVzdGF2bGphIG5hIDMwIHNla3VuZGkuLi4iCgojOiBtYWluLmM6MTIzOAojLCBjLWZvcm1hdAptc2dpZCAiZG9uZSBzbGVlcCgzMCkuIENvbnRpbnVpbmcuXG4iCm1zZ3N0ciAiZ290b3Ygc2Egc2xlZXAoMzApLiAgTmFzdGF2bGphbS5cbiIKCiM6IG1haW4uYzoxNDY2Cm1zZ2lkICJNYWtlZmlsZSBmcm9tIHN0YW5kYXJkIGlucHV0IHNwZWNpZmllZCB0d2ljZS4iCm1zZ3N0ciAiTWFrZWZpbGUgc2Egc3RhbmRhcmRub2cgdWxhemEgbmF2ZWRlbiBkdmFwdXQuIgoKIzogbWFpbi5jOjE1MDUgdm1zam9icy5jOjQ4Ngptc2dpZCAiZm9wZW4gKHRlbXBvcmFyeSBmaWxlKSIKbXNnc3RyICJmb3BlbiAocHJpdnJlbWVuaSBzcGlzKSIKCiM6IG1haW4uYzoxNTExCm1zZ2lkICJmd3JpdGUgKHRlbXBvcmFyeSBmaWxlKSIKbXNnc3RyICJmd3JpdGUocHJpdnJlbWVuaSBzcGlzKSIKCiM6IG1haW4uYzoxNjQwCm1zZ2lkICJQYXJhbGxlbCBqb2JzICgtaikgYXJlIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS4iCm1zZ3N0ciAiUGFyYWxlbG5pIHBvc2xvdmkgKC1qKSBuaXN1IHBvZHK+YW5pIG5hIG92b2ogcGxhdGZvcm1pLiIKCiM6IG1haW4uYzoxNjQxCm1zZ2lkICJSZXNldHRpbmcgdG8gc2luZ2xlIGpvYiAoLWoxKSBtb2RlLiIKbXNnc3RyICJSZXNldGlyYW0gbmEgbW9kIGplZG5vZyBwb3NsYSAoLWoxKS4iCgojOiBtYWluLmM6MTY1Ngptc2dpZCAiaW50ZXJuYWwgZXJyb3I6IG11bHRpcGxlIC0tam9ic2VydmVyLWZkcyBvcHRpb25zIgptc2dzdHIgImludGVybmEgZ3JluWphOiB2abllc3RydWtvIHBvamF2bGppdmFuamUgb3BjaWplIC0tam9ic2VydmVyLWZkcyIKCiM6IG1haW4uYzoxNjY0CiMsIGMtZm9ybWF0Cm1zZ2lkICJpbnRlcm5hbCBlcnJvcjogaW52YWxpZCAtLWpvYnNlcnZlci1mZHMgc3RyaW5nIGAlcyciCm1zZ3N0ciAiaW50ZXJuYSBncmW5a2E6IG5laXNwcmF2YW4gLS1qb2JzZXJ2ZXItZmRzIHN0cmluZyBgJXMnIgoKIzogbWFpbi5jOjE2NzQKbXNnaWQgIndhcm5pbmc6IC1qTiBmb3JjZWQgaW4gc3VibWFrZTogZGlzYWJsaW5nIGpvYnNlcnZlciBtb2RlLiIKbXNnc3RyICJ1cG96b3JlbmplOiAtak4gc2UgZm9yc2lyYSB1IHBvZC1tYWtldTogb25lbW9ndeZ1amVtIGpvYnNlcnZlciBtb2QuIgoKIyBUcmViYSBsaSBvdm8gcHJldmVzdGk/CiM6IG1haW4uYzoxNjg0Cm1zZ2lkICJkdXAgam9ic2VydmVyIgptc2dzdHIgImR1cCBqb2JzZXJ2ZXIiCgojOiBtYWluLmM6MTY4Nwptc2dpZCAiIgoid2FybmluZzogam9ic2VydmVyIHVuYXZhaWxhYmxlOiB1c2luZyAtajEuICBBZGQgYCsnIHRvIHBhcmVudCBtYWtlIHJ1bGUuIgptc2dzdHIgIiIKInVwb3pvcmVuamU6IGpvYnNlcnZlciBuZWRvc3R1cGFuOiBrb3Jpc3RpbSAtajEuICBEb2RhaiBgKycgbmEgcm9kaXRlbGpldiAiCiJtYWtlIHByb3Bpcy4iCgojOiBtYWluLmM6MTcxMAptc2dpZCAiY3JlYXRpbmcgam9icyBwaXBlIgptc2dzdHIgImtyZWlyYW0gcGlwZSB6YSBwb3NhbyIKCiM6IG1haW4uYzoxNzI1Cm1zZ2lkICJpbml0IGpvYnNlcnZlciBwaXBlIgptc2dzdHIgInByZXZlc3RpPyIKCiM6IG1haW4uYzoxNzQ0Cm1zZ2lkICJTeW1ib2xpYyBsaW5rcyBub3Qgc3VwcG9ydGVkOiBkaXNhYmxpbmcgLUwuIgptc2dzdHIgIiIKCiM6IG1haW4uYzoxODIwCm1zZ2lkICJVcGRhdGluZyBtYWtlZmlsZXMuLi4uXG4iCm1zZ3N0ciAiQb51cmlyYW0gbWFrZWZpbGVvdmUuLi4uXG4iCgojOiBtYWluLmM6MTg0NQojLCBjLWZvcm1hdAptc2dpZCAiTWFrZWZpbGUgYCVzJyBtaWdodCBsb29wOyBub3QgcmVtYWtpbmcgaXQuXG4iCm1zZ3N0ciAiTWFrZWZpbGUgYCVzJyBiaSBtb2dhbyB1cGFzdGkgdSBwZXRsanU7IG5lIGl6Z3Jh8HVqZW0gZ2EgcG9ub3ZvLlxuIgoKIzogbWFpbi5jOjE5MjQKIywgYy1mb3JtYXQKbXNnaWQgIkZhaWxlZCB0byByZW1ha2UgbWFrZWZpbGUgYCVzJy4iCm1zZ3N0ciAiTmlzYW0gdXNwaW8gcG9ub3ZvIGl6Z3JhZGl0aSBtYWtlZmlsZSBgJXMnLiIKCiM6IG1haW4uYzoxOTQxCiMsIGMtZm9ybWF0Cm1zZ2lkICJJbmNsdWRlZCBtYWtlZmlsZSBgJXMnIHdhcyBub3QgZm91bmQuIgptc2dzdHIgIlVrbGp16GVuaSBtYWtlZmlsZSBgJXMnIG5lIG1vvmUgc2UgbmHmaS4iCgojOiBtYWluLmM6MTk0NgojLCBjLWZvcm1hdAptc2dpZCAiTWFrZWZpbGUgYCVzJyB3YXMgbm90IGZvdW5kIgptc2dzdHIgIk1ha2VmaWxlIGAlcycgbmUgbW++ZSBzZSBuYeZpIgoKIzogbWFpbi5jOjIwMTYKbXNnaWQgIkNvdWxkbid0IGNoYW5nZSBiYWNrIHRvIG9yaWdpbmFsIGRpcmVjdG9yeS4iCm1zZ3N0ciAiTmlzYW0gc2UgbW9nYW8gdnJhdGl0aSB1IHBydm90bmkgZGlyZWt0b3Jpai4iCgojOiBtYWluLmM6MjAyNAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIlJlLWV4ZWN1dGluZ1sldV06Igptc2dzdHIgIlBvbm92byBpenZyuWF2YW06IgoKIzogbWFpbi5jOjIxNDAKbXNnaWQgInVubGluayAodGVtcG9yYXJ5IGZpbGUpOiAiCm1zZ3N0ciAidW5saW5rIChwcml2cmVtZW5pIHNwaXMpOiAiCgojOiBtYWluLmM6MjE2OQptc2dpZCAiLkRFRkFVTFRfR09BTCBjb250YWlucyBtb3JlIHRoYW4gb25lIHRhcmdldCIKbXNnc3RyICIiCgojOiBtYWluLmM6MjE4OQptc2dpZCAiTm8gdGFyZ2V0cyBzcGVjaWZpZWQgYW5kIG5vIG1ha2VmaWxlIGZvdW5kIgptc2dzdHIgIk5pamVkbmEgbWV0YSBuaWplIG5hdmVkZW5hLCBuaXRpIGplIGlqZWRhbiBtYWtlZmlsZSBwcm9uYfBlbiIKCiM6IG1haW4uYzoyMTkxCm1zZ2lkICJObyB0YXJnZXRzIgptc2dzdHIgIk5lbWEgbWV0YSIKCiM6IG1haW4uYzoyMTk2Cm1zZ2lkICJVcGRhdGluZyBnb2FsIHRhcmdldHMuLi4uXG4iCm1zZ3N0ciAiQb51cmlyYW0gY2lsam5lIG1ldGUuLi4uXG4iCgojOiBtYWluLmM6MjIyMgptc2dpZCAid2FybmluZzogIENsb2NrIHNrZXcgZGV0ZWN0ZWQuICBZb3VyIGJ1aWxkIG1heSBiZSBpbmNvbXBsZXRlLiIKbXNnc3RyICIiCiJ1cG96b3JlbmplOiB1b+hlbmEgamUgbmVwcmF2aWxub3N0IHNhdGEuICBJemdyYWRuamEgYmkgbW9nbGEgYml0aSBuZWRvdnK5ZW5hLiIKCiM6IG1haW4uYzoyMzgzCiMsIGMtZm9ybWF0Cm1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFt0YXJnZXRdIC4uLlxuIgptc2dzdHIgIlVwb3JhYmE6ICVzIFtvcGNpamVdIFttZXRhXSAuLi5cbiIKCiM6IG1haW4uYzoyMzg5CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIlRoaXMgcHJvZ3JhbSBidWlsdCBmb3IgJXNcbiIKbXNnc3RyICIiCiJcbiIKIlByb2dyYW0gc2FzdGF2bGplbiB6YSAlc1xuIgoKIzogbWFpbi5jOjIzOTEKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiVGhpcyBwcm9ncmFtIGJ1aWx0IGZvciAlcyAoJXMpXG4iCm1zZ3N0ciAiIgoiXG4iCiJQcm9ncmFtIHNhc3RhdmxqZW4gemEgJXMgKCVzKVxuIgoKIzogbWFpbi5jOjIzOTQKIywgYy1mb3JtYXQKbXNnaWQgIlJlcG9ydCBidWdzIHRvIDxidWctbWFrZUBnbnUub3JnPlxuIgptc2dzdHIgIlVv6GVuZSBncmW5a2UgcHJpamF2aXRlIG5hIGFkcmVzdSA8YnVnLW1ha2VAZ251Lm9yZz4uXG4iCgojOiBtYWluLmM6MjQ2NgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgInRoZSBgLSVjJyBvcHRpb24gcmVxdWlyZXMgYSBub24tZW1wdHkgc3RyaW5nIGFyZ3VtZW50Igptc2dzdHIgIm9wY2lqYSBgLSVjJyB0cmG+aSBwb3ppdGl2YW4gY2plbG9icm9qbmkgYXJndW1lbnQiCgojOiBtYWluLmM6MjUxOAojLCBjLWZvcm1hdAptc2dpZCAidGhlIGAtJWMnIG9wdGlvbiByZXF1aXJlcyBhIHBvc2l0aXZlIGludGVncmFsIGFyZ3VtZW50Igptc2dzdHIgIm9wY2lqYSBgLSVjJyB0cmG+aSBwb3ppdGl2YW4gY2plbG9icm9qbmkgYXJndW1lbnQiCgojOiBtYWluLmM6Mjk0MgojLCBjLWZvcm1hdAptc2dpZCAiIgoiJXNUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuXG4iCiIlc1RoZXJlIGlzIE5PIHdhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEFcbiIKIiVzUEFSVElDVUxBUiBQVVJQT1NFLlxuIgptc2dzdHIgIiIKIiVzT3ZhaiBwcm9ncmFtIGplIHNsb2JvZGFuOyB1IGl6dm9ybm9tIGtvZHUgbmFsYXplIHNlIHV2amV0aSBrb3BpcmFuamEuXG4iCiIlc05lbWEgTklLQUtWT0cgamFtc3R2YSwg6GFrIG5pIHphIFBST0laVk9ETk9TVCBpbGkgVVBPVFJFQkxKSVZPU1QgWkFcbiIKIiVzUE9KRURJTlUgU1ZSSFUuXG4iCgojOiBtYWluLmM6Mjk0OAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiJXNUaGlzIHByb2dyYW0gYnVpbHQgZm9yICVzXG4iCm1zZ3N0ciAiIgoiXG4iCiJQcm9ncmFtIHNhc3RhdmxqZW4gemEgJXNcbiIKCiM6IG1haW4uYzoyOTUwCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiIlc1RoaXMgcHJvZ3JhbSBidWlsdCBmb3IgJXMgKCVzKVxuIgptc2dzdHIgIiIKIlxuIgoiUHJvZ3JhbSBzYXN0YXZsamVuIHphICVzICglcylcbiIKCiM6IG1haW4uYzoyOTY4CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIiMgTWFrZSBkYXRhIGJhc2UsIHByaW50ZWQgb24gJXMiCm1zZ3N0ciAiIgoiXG4iCiIjIE1ha2VvdmEgYmF6YSwgaXNwaXNhbmEgbmEgJXMiCgojOiBtYWluLmM6Mjk3OAojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiIjIEZpbmlzaGVkIE1ha2UgZGF0YSBiYXNlIG9uICVzXG4iCm1zZ3N0ciAiIgoiXG4iCiIjIEtyYWogTWFrZW92ZSBiYXplIG5hICVzXG4iCgojOiBtYWluLmM6MzEwMQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBFbnRlcmluZyBhbiB1bmtub3duIGRpcmVjdG9yeVxuIgptc2dzdHIgIiVzOiBVbGF6aW0gdSBuZXBvem5hdCBkaXJla3RvcmlqIgoKIzogbWFpbi5jOjMxMDMKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogTGVhdmluZyBhbiB1bmtub3duIGRpcmVjdG9yeVxuIgptc2dzdHIgIiVzOiBJemxhemltIGl6IG5lcG96bmF0b2cgZGlyZWt0b3JpamEiCgojOiBtYWluLmM6MzEwNgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IEVudGVyaW5nIGRpcmVjdG9yeSBgJXMnXG4iCm1zZ3N0ciAiJXM6IFVsYXppbSB1IGRpcmVrdG9yaWogYCVzJ1xuIgoKIzogbWFpbi5jOjMxMDkKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBMZWF2aW5nIGRpcmVjdG9yeSBgJXMnXG4iCm1zZ3N0ciAiJXM6IEl6bGF6aW0gaXogZGlyZWt0b3JpamEgYCVzJ1xuIgoKIzogbWFpbi5jOjMxMTQKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlc1sldV06IEVudGVyaW5nIGFuIHVua25vd24gZGlyZWN0b3J5XG4iCm1zZ3N0ciAiJXNbJXVdOiBVbGF6aW0gdSBuZXBvem5hdCBkaXJla3RvcmlqIgoKIzogbWFpbi5jOjMxMTcKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlc1sldV06IExlYXZpbmcgYW4gdW5rbm93biBkaXJlY3RvcnlcbiIKbXNnc3RyICIlc1sldV06IEl6bGF6aW0gaXogbmVwb3puYXRvZyBkaXJla3RvcmlqYSIKCiM6IG1haW4uYzozMTIxCiMsIGMtZm9ybWF0Cm1zZ2lkICIlc1sldV06IEVudGVyaW5nIGRpcmVjdG9yeSBgJXMnXG4iCm1zZ3N0ciAiJXNbJXVdOiBVbGF6aW0gdSBkaXJla3RvcmlqIGAlcydcbiIKCiM6IG1haW4uYzozMTI0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlc1sldV06IExlYXZpbmcgZGlyZWN0b3J5IGAlcydcbiIKbXNnc3RyICIlc1sldV06IEl6bGF6aW0gaXogZGlyZWt0b3JpamEgYCVzJ1xuIgoKIzogbWlzYy5jOjI4NQptc2dpZCAiLiAgU3RvcC5cbiIKbXNnc3RyICIuICBaYXVzdGF2aS5cbiIKCiM6IG1pc2MuYzozMDYKIywgYy1mb3JtYXQKbXNnaWQgIlVua25vd24gZXJyb3IgJWQiCm1zZ3N0ciAiTmVwb3puYXRhIGdyZblrYSAlZCIKCiM6IG1pc2MuYzozMTYKIywgYy1mb3JtYXQKbXNnaWQgIiVzJXM6ICVzIgptc2dzdHIgIiVzJXM6ICVzIgoKIzogbWlzYy5jOjMyNAojLCBjLWZvcm1hdAptc2dpZCAiJXM6ICVzIgptc2dzdHIgIiVzOiAlcyIKCiM6IG1pc2MuYzozNDQgbWlzYy5jOjM1OSBtaXNjLmM6Mzc2IHJlYWQuYzozMTI3Cm1zZ2lkICJ2aXJ0dWFsIG1lbW9yeSBleGhhdXN0ZWQiCm1zZ3N0ciAicHJpdmlkbmEgbWVtb3JpamEgcG90cm+5ZW5hIgoKIyBEYSBwcmV2ZWRlbSBvdm8/CiM6IG1pc2MuYzo2NDYKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB1c2VyICVsdSAocmVhbCAlbHUpLCBncm91cCAlbHUgKHJlYWwgJWx1KVxuIgptc2dzdHIgIiVzOiB1c2VyICVsdSAocmVhbCAlbHUpLCBncm91cCAlbHUgKHJlYWwgJWx1KVxuIgoKIzogbWlzYy5jOjY2Nwptc2dpZCAiSW5pdGlhbGl6ZWQgYWNjZXNzIgptc2dzdHIgIkluaWNpamFsaXppcmFuIHByaXN0dXAiCgojOiBtaXNjLmM6NzQ2Cm1zZ2lkICJVc2VyIGFjY2VzcyIKbXNnc3RyICJLb3Jpc25p6GtpIHByaXN0dXAiCgojOiBtaXNjLmM6Nzk0Cm1zZ2lkICJNYWtlIGFjY2VzcyIKbXNnc3RyICJNYWtlb3YgcHJpc3R1cCIKCiM6IG1pc2MuYzo4MjgKbXNnaWQgIkNoaWxkIGFjY2VzcyIKbXNnc3RyICJQcmlzdHVwIGRqZXRldGEiCgojOiBtaXNjLmM6ODkyCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAid3JpdGUgZXJyb3I6ICVzIgptc2dzdHIgIlByZXVzbWplcmlvIGdyZblrZSB1ICVzXG4iCgojIKl0byBiaSBvdmRqZSB0cmViYWxvIGnmaT8KIzogbWlzYy5jOjg5NAojLCBmdXp6eQptc2dpZCAid3JpdGUgZXJyb3IiCm1zZ3N0ciAid3JpdGUgam9ic2VydmVyIgoKIzogcmVhZC5jOjE2MAptc2dpZCAiUmVhZGluZyBtYWtlZmlsZXMuLi5cbiIKbXNnc3RyICLIaXRhbSBtYWtlZmlsZW92ZS4uLlxuIgoKIzogcmVhZC5jOjMxNQojLCBjLWZvcm1hdAptc2dpZCAiUmVhZGluZyBtYWtlZmlsZSBgJXMnIgptc2dzdHIgIshpdGFtIG1ha2VmaWxlIGAlcyciCgojOiByZWFkLmM6MzE3CiMsIGMtZm9ybWF0Cm1zZ2lkICIgKG5vIGRlZmF1bHQgZ29hbCkiCm1zZ3N0ciAiIChuZW1hIHBvZHJhenVtaWpldmFub2cgY2lsamEpIgoKIzogcmVhZC5jOjMxOQojLCBjLWZvcm1hdAptc2dpZCAiIChzZWFyY2ggcGF0aCkiCm1zZ3N0ciAiIChzdGF6YSB6YSBwcmV0cmG+aXZhbmplKSIKCiM6IHJlYWQuYzozMjEKIywgYy1mb3JtYXQKbXNnaWQgIiAoZG9uJ3QgY2FyZSkiCm1zZ3N0ciAiIChuaWplIHZhvm5vKSIKCiM6IHJlYWQuYzozMjMKIywgYy1mb3JtYXQKbXNnaWQgIiAobm8gfiBleHBhbnNpb24pIgptc2dzdHIgIiAoYmV6IGVrc3BhbnppamUgfikiCgojOiByZWFkLmM6NjIzCm1zZ2lkICJpbnZhbGlkIHN5bnRheCBpbiBjb25kaXRpb25hbCIKbXNnc3RyICJuZWlzcHJhdm5hIHNpbnRha3NhIHV2amV0YSIKCiM6IHJlYWQuYzo2MzMKbXNnaWQgImV4dHJhbmVvdXMgYGVuZGVmJyIKbXNnc3RyICJzdXZpuWFuIGBlbmRlZiciCgojOiByZWFkLmM6NjQ1IHJlYWQuYzo2NzMgdmFyaWFibGUuYzoxMzE2Cm1zZ2lkICJlbXB0eSB2YXJpYWJsZSBuYW1lIgptc2dzdHIgInByYXpubyBpbWUgdmFyaWphYmxlIgoKIzogcmVhZC5jOjY2Mgptc2dpZCAiZW1wdHkgYG92ZXJyaWRlJyBkaXJlY3RpdmUiCm1zZ3N0ciAicHJhem5hIGRpcmVrdGl2YSBgb3Z2ZXJyaWRlJyIKCiM6IHJlYWQuYzo2ODcKbXNnaWQgImludmFsaWQgYG92ZXJyaWRlJyBkaXJlY3RpdmUiCm1zZ3N0ciAibmVpc3ByYXZuYSBkaXJla3RpdmEgYG92ZXJyaWRlJyIKCiM6IHJlYWQuYzo4NTQKbXNnaWQgImNvbW1hbmRzIGNvbW1lbmNlIGJlZm9yZSBmaXJzdCB0YXJnZXQiCm1zZ3N0ciAibmFyZWRiZSBwb+hpbmp1IHByaWplIHBydmUgbWV0ZSIKCiM6IHJlYWQuYzo5MDUKbXNnaWQgIm1pc3NpbmcgcnVsZSBiZWZvcmUgY29tbWFuZHMiCm1zZ3N0ciAibmVkb3N0YWplIHByb3BpcyBwcmlqZSBuYXJlZGJpIgoKIyBHcnIsIL5pdmplbGEgZW5nbGVza2EgbW5vvmluYSEgIEkguXRvIHNhZCBkYSByYWRpbSBzIG9uaW0gJXMtb20/CiM6IHJlYWQuYzo5OTIKIywgYy1mb3JtYXQKbXNnaWQgIm1pc3Npbmcgc2VwYXJhdG9yJXMiCm1zZ3N0ciAibmVkb3N0YWp1IHNlcGFyYXRvcmktJXMiCgojOiByZWFkLmM6OTk0Cm1zZ2lkICIgKGRpZCB5b3UgbWVhbiBUQUIgaW5zdGVhZCBvZiA4IHNwYWNlcz8pIgptc2dzdHIgIiAoamVzdGUgbGkgbWlzbGlsaSBuYSBUQUIgdW1qZXN0byA4IHJhem1ha2E/KSIKCiM6IHJlYWQuYzoxMTUyCm1zZ2lkICJtaXNzaW5nIHRhcmdldCBwYXR0ZXJuIgptc2dzdHIgIm5lZG9zdGFqZSB1em9yYWsgbWV0ZSIKCiM6IHJlYWQuYzoxMTU0Cm1zZ2lkICJtdWx0aXBsZSB0YXJnZXQgcGF0dGVybnMiCm1zZ3N0ciAidmm5ZXN0cnVraSB1em9yY2kgbWV0YSIKCiM6IHJlYWQuYzoxMTU4CiMsIGMtZm9ybWF0Cm1zZ2lkICJ0YXJnZXQgcGF0dGVybiBjb250YWlucyBubyBgJSUnIgptc2dzdHIgInV6b3JhayBtZXRlIG5lIHNhZHK+aSBgJSUnIgoKIzogcmVhZC5jOjEyODYKbXNnaWQgIm1pc3NpbmcgYGVuZGlmJyIKbXNnc3RyICJuZWRvc3RhamUgYGVuZGlmJyIKCiM6IHJlYWQuYzoxMzc3Cm1zZ2lkICJFeHRyYW5lb3VzIHRleHQgYWZ0ZXIgYGVuZGVmJyBkaXJlY3RpdmUiCm1zZ3N0ciAiU3V2ablhbiB0ZWtzdCBuYWtvbiBkaXJla3RpdmUgYGVuZGVmJyIKCiM6IHJlYWQuYzoxNDExCm1zZ2lkICJtaXNzaW5nIGBlbmRlZicsIHVudGVybWluYXRlZCBgZGVmaW5lJyIKbXNnc3RyICJuZWRvc3RhamUgYGVuZGVmJywgbmVkb3ZyuWVuIGBkZWZpbmUnIgoKIzogcmVhZC5jOjE0NTQKIywgYy1mb3JtYXQKbXNnaWQgIkV4dHJhbmVvdXMgdGV4dCBhZnRlciBgJXMnIGRpcmVjdGl2ZSIKbXNnc3RyICJTdXZpuWFuIHRla3N0IG5ha29uIGRpcmVrdGl2ZSBgJXMnIgoKIzogcmVhZC5jOjE0NjMgcmVhZC5jOjE0NzcKIywgYy1mb3JtYXQKbXNnaWQgImV4dHJhbmVvdXMgYCVzJyIKbXNnc3RyICJzdXZpuWFuIGAlcyciCgojOiByZWFkLmM6MTQ4Mgptc2dpZCAib25seSBvbmUgYGVsc2UnIHBlciBjb25kaXRpb25hbCIKbXNnc3RyICJzYW1vIGplZGFuIGBlbHNlJyBwbyB1dmpldHUiCgojOiByZWFkLmM6MTgyNAojLCBmdXp6eQptc2dpZCAiTWFsZm9ybWVkIHRhcmdldC1zcGVjaWZpYyB2YXJpYWJsZSBkZWZpbml0aW9uIgptc2dzdHIgIkl6b2JsaehlbmEgZGVmaW5pY2lqYSBvIG1ldGkgb3Zpc25lIHZhcmlqYWJsZSIKCiM6IHJlYWQuYzoxODg2Cm1zZ2lkICJwcmVyZXF1aXNpdGVzIGNhbm5vdCBiZSBkZWZpbmVkIGluIGNvbW1hbmQgc2NyaXB0cyIKbXNnc3RyICIiCgojOiByZWFkLmM6MTkyMQptc2dpZCAibWl4ZWQgaW1wbGljaXQgYW5kIHN0YXRpYyBwYXR0ZXJuIHJ1bGVzIgptc2dzdHIgInBvbWlqZblhbmkgaW1wbGljaXRuaSBpIHN0YXRp6GtpIHByb3Bpc2kgdXpvcmthIgoKIzogcmVhZC5jOjE5MjQKbXNnaWQgIm1peGVkIGltcGxpY2l0IGFuZCBub3JtYWwgcnVsZXMiCm1zZ3N0ciAicG9taWpluWFuaSBpbXBsaWNpdG5pIGkgbm9ybWFsbmkgcHJvcGlzaSIKCiM6IHJlYWQuYzoxOTU0CiMsIGMtZm9ybWF0Cm1zZ2lkICJ0YXJnZXQgYCVzJyBkb2Vzbid0IG1hdGNoIHRoZSB0YXJnZXQgcGF0dGVybiIKbXNnc3RyICJtZXRhIGAlcycgbmUgb2Rnb3ZhcmEgdXpvcmt1IG1ldGUiCgojOiByZWFkLmM6MTk3MyByZWFkLmM6MjA3NAojLCBjLWZvcm1hdAptc2dpZCAidGFyZ2V0IGZpbGUgYCVzJyBoYXMgYm90aCA6IGFuZCA6OiBlbnRyaWVzIgptc2dzdHIgInNwaXMgbWV0YSBgJXMnIGltYSB1bm9zZSBpIGtvZCA6IGkga29kIDo6IgoKIzogcmVhZC5jOjE5NzkKIywgYy1mb3JtYXQKbXNnaWQgInRhcmdldCBgJXMnIGdpdmVuIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBzYW1lIHJ1bGUuIgptc2dzdHIgIm1ldGEgYCVzJyB6YWRhbiB2abllIG5lZ28gamVkbm9tIHUgaXN0b20gcHJvcGlzdS4iCgojOiByZWFkLmM6MTk4OAojLCBjLWZvcm1hdAptc2dpZCAid2FybmluZzogb3ZlcnJpZGluZyBjb21tYW5kcyBmb3IgdGFyZ2V0IGAlcyciCm1zZ3N0ciAidXBvem9yZW5qZTogcG9uabl0YXZhbSBwb3N0b2pl5mUgbmFyZWRiZSB6YSBtZXR1IGAlcyciCgojOiByZWFkLmM6MTk5MQojLCBjLWZvcm1hdAptc2dpZCAid2FybmluZzogaWdub3Jpbmcgb2xkIGNvbW1hbmRzIGZvciB0YXJnZXQgYCVzJyIKbXNnc3RyICJ1cG96b3JlbmplOiBpZ25vcmlyYW0gc3RhcmUgbmFyZWRiZSB6YSBtZXR1IGAlcyciCgojOiByZWFkLmM6MjU3NQptc2dpZCAid2FybmluZzogTlVMIGNoYXJhY3RlciBzZWVuOyByZXN0IG9mIGxpbmUgaWdub3JlZCIKbXNnc3RyICJ1cG96b3JlbmplOiBOVUwgem5hayB1b+hlbjsgb3N0YXRhayByZXRrYSBzZSB6YW5lbWFydWplIgoKIzogcmVtYWtlLmM6MjI5CiMsIGMtZm9ybWF0Cm1zZ2lkICJOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGAlcycuIgptc2dzdHIgIk5puXRhIHphIG5hcHJhdml0aSB6YSBgJXMnLiIKCiM6IHJlbWFrZS5jOjIzMAojLCBjLWZvcm1hdAptc2dpZCAiYCVzJyBpcyB1cCB0byBkYXRlLiIKbXNnc3RyICJgJXMnIGplIGG+dXJpcmFuLiIKCiM6IHJlbWFrZS5jOjI5NwojLCBjLWZvcm1hdAptc2dpZCAiUHJ1bmluZyBmaWxlIGAlcycuXG4iCm1zZ3N0ciAiyGlzdGltIHNwaXMgYCVzJy5cbiIKCiM6IHJlbWFrZS5jOjM0OQojLCBjLWZvcm1hdAptc2dpZCAiJXNObyBydWxlIHRvIG1ha2UgdGFyZ2V0IGAlcyclcyIKbXNnc3RyICIlc05lbWEgcHJvcGlzYSB6YSBpenJhZHUgbWV0ZSBgJXMnJXMiCgojOiByZW1ha2UuYzozNTEKIywgYy1mb3JtYXQKbXNnaWQgIiVzTm8gcnVsZSB0byBtYWtlIHRhcmdldCBgJXMnLCBuZWVkZWQgYnkgYCVzJyVzIgptc2dzdHIgIiVzTmVtYSBwcm9waXNhIHphIGl6cmFkdSBtZXRlIGAlcycsIGtvamVnIHRyYb5pIGAlcyclcyIKCiM6IHJlbWFrZS5jOjM3OAojLCBjLWZvcm1hdAptc2dpZCAiQ29uc2lkZXJpbmcgdGFyZ2V0IGZpbGUgYCVzJy5cbiIKbXNnc3RyICJVemltYW0gdSByYXptYXRyYW5qZSBzcGlzIG1ldHUgYCVzJy5cbiIKCiM6IHJlbWFrZS5jOjM4NQojLCBjLWZvcm1hdAptc2dpZCAiUmVjZW50bHkgdHJpZWQgYW5kIGZhaWxlZCB0byB1cGRhdGUgZmlsZSBgJXMnLlxuIgptc2dzdHIgIk5lZGF2bm8gYmV6dXNwamW5bm8gcG9rdblhbyBhvnVyaXJhdGkgc3BpcyBgJXMnXG4iCgojOiByZW1ha2UuYzo0MDAKIywgYy1mb3JtYXQKbXNnaWQgIkZpbGUgYCVzJyB3YXMgY29uc2lkZXJlZCBhbHJlYWR5LlxuIgptc2dzdHIgIlNwaXMgYCVzJyB2ZeYgamUgYmlvIHV6ZXQgdSByYXptYXRyYW5qZS5cbiIKCiM6IHJlbWFrZS5jOjQxMAojLCBjLWZvcm1hdAptc2dpZCAiU3RpbGwgdXBkYXRpbmcgZmlsZSBgJXMnLlxuIgptc2dzdHIgIkpvuSB1dmlqZWsgYb51cmlyYW0gc3BpcyBgJXMnLlxuIgoKIzogcmVtYWtlLmM6NDEzCiMsIGMtZm9ybWF0Cm1zZ2lkICJGaW5pc2hlZCB1cGRhdGluZyBmaWxlIGAlcycuXG4iCm1zZ3N0ciAiWmF2crlpbyBzIGG+dXJpcmFuamVtIHNwaXNhIGAlcycuXG4iCgojOiByZW1ha2UuYzo0MzQKIywgYy1mb3JtYXQKbXNnaWQgIkZpbGUgYCVzJyBkb2VzIG5vdCBleGlzdC5cbiIKbXNnc3RyICJTcGlzIGAlcycgbmUgcG9zdG9qaS5cbiIKCiM6IHJlbWFrZS5jOjQ0MQojLCBjLWZvcm1hdAptc2dpZCAiIgoiKioqIFdhcm5pbmc6IC5MT1dfUkVTT0xVVElPTl9USU1FIGZpbGUgYCVzJyBoYXMgYSBoaWdoIHJlc29sdXRpb24gdGltZSBzdGFtcCIKbXNnc3RyICIiCiIqKiogVXBvem9yZW5qZTogLkxPV19SRVNPTFVUSU9OX1RJTUUgc3BpcyBgJXMnIGltYSB2cmVtZW5za3Ugb3puYWt1IHZpc29rZSAiCiJyZXpvbHVjaWplIgoKIzogcmVtYWtlLmM6NDU0IHJlbWFrZS5jOjk2MgojLCBjLWZvcm1hdAptc2dpZCAiRm91bmQgYW4gaW1wbGljaXQgcnVsZSBmb3IgYCVzJy5cbiIKbXNnc3RyICJOYblhbyBpbXBsaWNpdG5pIHByb3BpcyB6YSBgJXMnLlxuIgoKIzogcmVtYWtlLmM6NDU2IHJlbWFrZS5jOjk2NAojLCBjLWZvcm1hdAptc2dpZCAiTm8gaW1wbGljaXQgcnVsZSBmb3VuZCBmb3IgYCVzJy5cbiIKbXNnc3RyICJOaWplZGFuIGltcGxpY2l0bmkgcHJvcGlzIG5pc2FtIG5huWFvIHphIGAlcycuXG4iCgojOiByZW1ha2UuYzo0NjIgcmVtYWtlLmM6OTcwCiMsIGMtZm9ybWF0Cm1zZ2lkICJVc2luZyBkZWZhdWx0IGNvbW1hbmRzIGZvciBgJXMnLlxuIgptc2dzdHIgIktvcmlzdGltIHBvZHJhenVtaWpldmFuZSBuYXJlZGJlIHphIGAlcycuXG4iCgojOiByZW1ha2UuYzo0ODQgcmVtYWtlLmM6OTk2CiMsIGMtZm9ybWF0Cm1zZ2lkICJDaXJjdWxhciAlcyA8LSAlcyBkZXBlbmRlbmN5IGRyb3BwZWQuIgptc2dzdHIgIktydb5uYSBvdmlzbm9zdCAlcyA8LSAlcyBpc3B1uXRlbmEuIgoKIzogcmVtYWtlLmM6NjAxCiMsIGMtZm9ybWF0Cm1zZ2lkICJGaW5pc2hlZCBwcmVyZXF1aXNpdGVzIG9mIHRhcmdldCBmaWxlIGAlcycuXG4iCm1zZ3N0ciAiWmF2crllbmkgcHJlcmVrdml6aXRpIHNwaXNhIG1ldGUgYCVzJy5cbiIKCiM6IHJlbWFrZS5jOjYwNwojLCBjLWZvcm1hdAptc2dpZCAiVGhlIHByZXJlcXVpc2l0ZXMgb2YgYCVzJyBhcmUgYmVpbmcgbWFkZS5cbiIKbXNnc3RyICJQcmVyZWt2aXppdGkgYCVzJyBzdSB1IGl6cmFkaS5cbiIKCiM6IHJlbWFrZS5jOjYyMAojLCBjLWZvcm1hdAptc2dpZCAiR2l2aW5nIHVwIG9uIHRhcmdldCBmaWxlIGAlcycuXG4iCm1zZ3N0ciAiT2R1c3RhamVtIG9kIHNwaXNhIG1ldGUgYCVzJy5cbiIKCiM6IHJlbWFrZS5jOjYyNQojLCBjLWZvcm1hdAptc2dpZCAiVGFyZ2V0IGAlcycgbm90IHJlbWFkZSBiZWNhdXNlIG9mIGVycm9ycy4iCm1zZ3N0ciAiTWV0YSBgJXMnIG5pamUgcG9ub3ZvIGl6cmHwZW4gemJvZyBncmW5YWthLiIKCiMgTmlzYW0gc2lndXJhbiBkYSBzYW0gb3ZvIGlzcHJhdm5vIHNodmF0aW8uCiM6IHJlbWFrZS5jOjY3NwojLCBjLWZvcm1hdAptc2dpZCAiUHJlcmVxdWlzaXRlIGAlcycgaXMgb3JkZXItb25seSBmb3IgdGFyZ2V0IGAlcycuXG4iCm1zZ3N0ciAiUHJlcmVrdml6aXQgYCVzJyBzbHW+aSBzYW1vIHphIHJlZG9zbGplZCBwcmkgbWV0aSBgJXMnLlxuIgoKIzogcmVtYWtlLmM6NjgyCiMsIGMtZm9ybWF0Cm1zZ2lkICJQcmVyZXF1aXNpdGUgYCVzJyBvZiB0YXJnZXQgYCVzJyBkb2VzIG5vdCBleGlzdC5cbiIKbXNnc3RyICJQcmVyZWt2aXppdCBgJXMnIG1ldGUgYCVzJyBuZSBwb3N0b2ppLlxuIgoKIzogcmVtYWtlLmM6Njg3CiMsIGMtZm9ybWF0Cm1zZ2lkICJQcmVyZXF1aXNpdGUgYCVzJyBpcyBuZXdlciB0aGFuIHRhcmdldCBgJXMnLlxuIgptc2dzdHIgIlByZXJla3Zpeml0IGAlcycgbm92aWppIGplIG9kIG1ldGUgYCVzJzpcbiIKCiM6IHJlbWFrZS5jOjY5MAojLCBjLWZvcm1hdAptc2dpZCAiUHJlcmVxdWlzaXRlIGAlcycgaXMgb2xkZXIgdGhhbiB0YXJnZXQgYCVzJy5cbiIKbXNnc3RyICJQcmVyZWt2aXppdCBgJXMnIHN0YXJpamkgamUgb2QgbWV0ZSBgJXMnLlxuIgoKIzogcmVtYWtlLmM6NzA4CiMsIGMtZm9ybWF0Cm1zZ2lkICJUYXJnZXQgYCVzJyBpcyBkb3VibGUtY29sb24gYW5kIGhhcyBubyBwcmVyZXF1aXNpdGVzLlxuIgptc2dzdHIgIk1ldGEgYCVzJyBqZSBkdm90b+hrYSwgYSBuZW1hIHByZXJla3Zpeml0YS5cbiIKCiM6IHJlbWFrZS5jOjcxNQojLCBjLWZvcm1hdAptc2dpZCAiTm8gY29tbWFuZHMgZm9yIGAlcycgYW5kIG5vIHByZXJlcXVpc2l0ZXMgYWN0dWFsbHkgY2hhbmdlZC5cbiIKbXNnc3RyICJOZW1hIG5hcmVkYmkgemEgYCVzJywgYSBuaWplZGFuIHByZXJla3Zpeml0IG5pamUgcHJvbWlqZW5qZW4uXG4iCgojOiByZW1ha2UuYzo3MjAKIywgYy1mb3JtYXQKbXNnaWQgIk1ha2luZyBgJXMnIGR1ZSB0byBhbHdheXMtbWFrZSBmbGFnLlxuIgptc2dzdHIgIlByb2l6dm9kaW0gYCVzJyB6Ym9nIG9wY2lqZSBhbHdheXMtbWFrZS5cbiIKCiM6IHJlbWFrZS5jOjcyOAojLCBjLWZvcm1hdAptc2dpZCAiTm8gbmVlZCB0byByZW1ha2UgdGFyZ2V0IGAlcyciCm1zZ3N0ciAiTmVtYSBwb3RyZWJlIHBvbm92byBpenJhZGl0aSBtZXR1IGAlcyciCgojOiByZW1ha2UuYzo3MzAKIywgYy1mb3JtYXQKbXNnaWQgIjsgdXNpbmcgVlBBVEggbmFtZSBgJXMnIgptc2dzdHIgIjsga29yaXN0aW0gVlBBVEggaW1lbmEgYCVzJyIKCiM6IHJlbWFrZS5jOjc1MAojLCBjLWZvcm1hdAptc2dpZCAiTXVzdCByZW1ha2UgdGFyZ2V0IGAlcycuXG4iCm1zZ3N0ciAiTW9yYW0gcG9ub3ZvIGl6Z3JhZGl0aSBtZXR1IGAlcycuXG4iCgojOiByZW1ha2UuYzo3NTYKIywgYy1mb3JtYXQKbXNnaWQgIiAgSWdub3JpbmcgVlBBVEggbmFtZSBgJXMnLlxuIgptc2dzdHIgIiAgSWdub3JpcmFtIFZQQVRIIGltZW5hIGAlcycuXG4iCgojOiByZW1ha2UuYzo3NjUKIywgYy1mb3JtYXQKbXNnaWQgIkNvbW1hbmRzIG9mIGAlcycgYXJlIGJlaW5nIHJ1bi5cbiIKbXNnc3RyICJOYXJlZGJlIG9kIGAlcycgc2UgaXp2crlhdmFqdS5cbiIKCiM6IHJlbWFrZS5jOjc3MgojLCBjLWZvcm1hdAptc2dpZCAiRmFpbGVkIHRvIHJlbWFrZSB0YXJnZXQgZmlsZSBgJXMnLlxuIgptc2dzdHIgIk5pamUgdXNwamVsYSBwb25vdm5hIGl6cmFkYSBzcGlzYSBtZXRlIGAlcycuXG4iCgojOiByZW1ha2UuYzo3NzUKIywgYy1mb3JtYXQKbXNnaWQgIlN1Y2Nlc3NmdWxseSByZW1hZGUgdGFyZ2V0IGZpbGUgYCVzJy5cbiIKbXNnc3RyICJVc3BqZblubyBwb25vdm5vIGl6cmFkaW8gc3BpcyBtZXR1IGAlcycuXG4iCgojOiByZW1ha2UuYzo3NzgKIywgYy1mb3JtYXQKbXNnaWQgIlRhcmdldCBmaWxlIGAlcycgbmVlZHMgcmVtYWRlIHVuZGVyIC1xLlxuIgptc2dzdHIgIlNwaXMgbWV0YSBgJXMnIHRyZWJhIHBvbm92bnUgaXpyYWR1IHpib2cgLXEuXG4iCgojOiByZW1ha2UuYzoxMzA2CiMsIGMtZm9ybWF0Cm1zZ2lkICJXYXJuaW5nOiBGaWxlIGAlcycgaGFzIG1vZGlmaWNhdGlvbiB0aW1lIGluIHRoZSBmdXR1cmUiCm1zZ3N0ciAiVXBvem9yZW5qZTogU3BpcyBgJXMnIGltYSB2cmlqZW1lIHByb21qZW5lIHUgYnVkdeZub3N0aSIKCiM6IHJlbWFrZS5jOjEzMTMKIywgYy1mb3JtYXQKbXNnaWQgIldhcm5pbmc6IEZpbGUgYCVzJyBoYXMgbW9kaWZpY2F0aW9uIHRpbWUgJS4yZyBzIGluIHRoZSBmdXR1cmUiCm1zZ3N0ciAiVXBvem9yZW5qZTogU3BpcyBgJXMnIGltYSB2cmlqZW1lIHByb21qZW5lICUuMmcgcyB1IGJ1ZHXmbm9zdGkiCgojOiByZW1ha2UuYzoxNTExCiMsIGMtZm9ybWF0Cm1zZ2lkICIuTElCUEFUVEVSTlMgZWxlbWVudCBgJXMnIGlzIG5vdCBhIHBhdHRlcm4iCm1zZ3N0ciAiRWxlbWVudCAuTElCUEFUVEVSTlMgYCVzJyBuaWplIHV6b3JhayIKCiM6IHJlbW90ZS1jc3Rtcy5jOjEyNQojLCBjLWZvcm1hdAptc2dpZCAiQ3VzdG9tcyB3b24ndCBleHBvcnQ6ICVzXG4iCm1zZ3N0ciAiQ3VzdG9tcyBuZeZlIGVrc3BvcnRpcmF0aTogJXNcbiIKCiM6IHJ1bGUuYzo1NDgKbXNnaWQgIiIKIlxuIgoiIyBJbXBsaWNpdCBSdWxlcyIKbXNnc3RyICIiCiJcbiIKIiMgSW1wbGljaXRuaSBQcm9waXNpIgoKIzogcnVsZS5jOjU2Mwptc2dpZCAiIgoiXG4iCiIjIE5vIGltcGxpY2l0IHJ1bGVzLiIKbXNnc3RyICIiCiJcbiIKIiMgTmVtYSBpbXBsaWNpdG5paCBwcm9waXNhLiIKCiM6IHJ1bGUuYzo1NjYKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiIyAldSBpbXBsaWNpdCBydWxlcywgJXUiCm1zZ3N0ciAiIgoiXG4iCiIjICV1IGltcGxpY2l0bmloIHByb3Bpc2EsICV1IgoKIzogcnVsZS5jOjU3NQptc2dpZCAiIHRlcm1pbmFsLiIKbXNnc3RyICIgemF2crluaS4iCgojOiBydWxlLmM6NTgzCiMsIGMtZm9ybWF0Cm1zZ2lkICJCVUc6IG51bV9wYXR0ZXJuX3J1bGVzIHdyb25nISAgJXUgIT0gJXUiCm1zZ3N0ciAiQlVHOiBwb2dyZblhbiBudW1fcGF0dGVybl9ydWxlcyEgICV1ICE9ICV1IgoKIzogc2lnbmFtZS5jOjg1Cm1zZ2lkICJ1bmtub3duIHNpZ25hbCIKbXNnc3RyICJuZXBvem5hdCBzaWduYWwiCgojOiBzaWduYW1lLmM6OTMKbXNnaWQgIkhhbmd1cCIKbXNnc3RyICJJemd1YmxqZW5hIHZlemEiCgojOiBzaWduYW1lLmM6OTYKbXNnaWQgIkludGVycnVwdCIKbXNnc3RyICJQcmVraWQiCgojOiBzaWduYW1lLmM6OTkKbXNnaWQgIlF1aXQiCm1zZ3N0ciAiUHJlc3RhbmFrIgoKIzogc2lnbmFtZS5jOjEwMgptc2dpZCAiSWxsZWdhbCBJbnN0cnVjdGlvbiIKbXNnc3RyICJOZWRvcHW5dGVuYSBpbnN0cnVrY2lqYSIKCiM6IHNpZ25hbWUuYzoxMDUKbXNnaWQgIlRyYWNlL2JyZWFrcG9pbnQgdHJhcCIKbXNnc3RyICJaYW1rYSB6YSBzbGlqZWQvcHJla2lkbnUgdG/oa3UiCgojOiBzaWduYW1lLmM6MTEwCm1zZ2lkICJBYm9ydGVkIgptc2dzdHIgIk90a2F6YW4iCgojOiBzaWduYW1lLmM6MTEzCm1zZ2lkICJJT1QgdHJhcCIKbXNnc3RyICJJT1QgemFta2EiCgojOiBzaWduYW1lLmM6MTE2Cm1zZ2lkICJFTVQgdHJhcCIKbXNnc3RyICJFTVQgemFtamEiCgojOiBzaWduYW1lLmM6MTE5Cm1zZ2lkICJGbG9hdGluZyBwb2ludCBleGNlcHRpb24iCm1zZ3N0ciAiSXpuaW1rYSBmbG9hdGluZyBwb2ludGEiCgojOiBzaWduYW1lLmM6MTIyCm1zZ2lkICJLaWxsZWQiCm1zZ3N0ciAiVWJpamVuIgoKIzogc2lnbmFtZS5jOjEyNQptc2dpZCAiQnVzIGVycm9yIgptc2dzdHIgIlNhYmlybmnoa2EgZ3JluWthIgoKIzogc2lnbmFtZS5jOjEyOAptc2dpZCAiU2VnbWVudGF0aW9uIGZhdWx0Igptc2dzdHIgIlNlZ21lbnRhY2lqc2thIGdyZblrYSIKCiM6IHNpZ25hbWUuYzoxMzEKbXNnaWQgIkJhZCBzeXN0ZW0gY2FsbCIKbXNnc3RyICJOZXZhbGphbiBzaXN0ZW1za2kgcG96aXYiCgojOiBzaWduYW1lLmM6MTM0Cm1zZ2lkICJCcm9rZW4gcGlwZSIKbXNnc3RyICJQcmVraW51dCBrYW5hbCIKCiM6IHNpZ25hbWUuYzoxMzcKbXNnaWQgIkFsYXJtIGNsb2NrIgptc2dzdHIgIkJ1ZGlsaWNhIgoKIzogc2lnbmFtZS5jOjE0MAptc2dpZCAiVGVybWluYXRlZCIKbXNnc3RyICJUZXJtaW5pcmFuIgoKIzogc2lnbmFtZS5jOjE0Mwptc2dpZCAiVXNlciBkZWZpbmVkIHNpZ25hbCAxIgptc2dzdHIgIktvcmlzbmnoa2kgZGVmaW5pcmFuIHNpZ25hbCAxIgoKIzogc2lnbmFtZS5jOjE0Ngptc2dpZCAiVXNlciBkZWZpbmVkIHNpZ25hbCAyIgptc2dzdHIgIktvcmlzbmnoa2kgZGVmaW5pcmFuIHNpZ25hbCAyIgoKIzogc2lnbmFtZS5jOjE1MSBzaWduYW1lLmM6MTU0Cm1zZ2lkICJDaGlsZCBleGl0ZWQiCm1zZ3N0ciAiRGlqZXRlIGl6YblsbyIKCiM6IHNpZ25hbWUuYzoxNTcKbXNnaWQgIlBvd2VyIGZhaWx1cmUiCm1zZ3N0ciAiTmVzdGFsbyBzdHJ1amUiCgojOiBzaWduYW1lLmM6MTYwCm1zZ2lkICJTdG9wcGVkIgptc2dzdHIgIlphdXN0YXZsamVuIgoKIzogc2lnbmFtZS5jOjE2Mwptc2dpZCAiU3RvcHBlZCAodHR5IGlucHV0KSIKbXNnc3RyICJaYXVzdGF2bGplbiAodW5vc29tIHMgVFRZLWphKSIKCiM6IHNpZ25hbWUuYzoxNjYKbXNnaWQgIlN0b3BwZWQgKHR0eSBvdXRwdXQpIgptc2dzdHIgIlphdXN0YXZsamVuIChvdXRwdXRvbSBzIFRUWS1qYSkiCgojOiBzaWduYW1lLmM6MTY5Cm1zZ2lkICJTdG9wcGVkIChzaWduYWwpIgptc2dzdHIgIlphdXN0YXZsamVuIChzaWduYWxvbSkiCgojOiBzaWduYW1lLmM6MTcyCm1zZ2lkICJDUFUgdGltZSBsaW1pdCBleGNlZWRlZCIKbXNnc3RyICJwcmVrb3Jh6GVubyBvZ3JhbmnoZW5qZSBDUFUgdnJlbWVuYSIKCiM6IHNpZ25hbWUuYzoxNzUKbXNnaWQgIkZpbGUgc2l6ZSBsaW1pdCBleGNlZWRlZCIKbXNnc3RyICJQcmVrb3Jh6GVubyBvZ3JhbmnoZW5qZSB2ZWxp6GluZSBzcGlzYSIKCiMgS2FrbyBwcmV2ZXN0aSAidmlydHVhbCB0aW1lciI/CiM6IHNpZ25hbWUuYzoxNzgKbXNnaWQgIlZpcnR1YWwgdGltZXIgZXhwaXJlZCIKbXNnc3RyICJWaXJ0dWFsbmEguXRvcGVyaWNhIGlzdGVrbGEiCgojIEtha28gcHJldmVzdGkgInByb2ZpbGluZyB0aW1lciI/CiM6IHNpZ25hbWUuYzoxODEKbXNnaWQgIlByb2ZpbGluZyB0aW1lciBleHBpcmVkIgptc2dzdHIgIlByb2ZhamxlcnNrYSC5dG9wZXJpY2EgaXN0ZWtsYSIKCiM6IHNpZ25hbWUuYzoxODcKbXNnaWQgIldpbmRvdyBjaGFuZ2VkIgptc2dzdHIgIlByb21pamVuamVuIHByb3pvciIKCiM6IHNpZ25hbWUuYzoxOTAKbXNnaWQgIkNvbnRpbnVlZCIKbXNnc3RyICJOYXN0YXZsamVuIgoKIzogc2lnbmFtZS5jOjE5Mwptc2dpZCAiVXJnZW50IEkvTyBjb25kaXRpb24iCm1zZ3N0ciAiSGl0bm8gc3RhbmplIEkvTy1hIgoKIzogc2lnbmFtZS5jOjIwMCBzaWduYW1lLmM6MjA5Cm1zZ2lkICJJL08gcG9zc2libGUiCm1zZ3N0ciAiSS9PIG1vZ3XmIgoKIyBKZXN1IGxpIG92YSBkdmEgc2lnbmFsYSB2aWMgaWxpILl0bz8gIFUgc3Zha29tIHNsdehhanUsIG92byBzdSBzYW1vCiMgZGVzY3JpcHRpb25pLiAgWmEgc3Zha2kgc2x16GFqLCBuaXNhbSBpaCBkaXJhby4KIzogc2lnbmFtZS5jOjIwMwptc2dpZCAiU0lHV0lORCIKbXNnc3RyICJTSUdXSU5EIgoKIzogc2lnbmFtZS5jOjIwNgptc2dpZCAiU0lHUEhPTkUiCm1zZ3N0ciAiU0lHUEhPTkUiCgojOiBzaWduYW1lLmM6MjEyCm1zZ2lkICJSZXNvdXJjZSBsb3N0Igptc2dzdHIgIkl6Z3VibGplbiByZXN1cnMiCgojOiBzaWduYW1lLmM6MjE1Cm1zZ2lkICJEYW5nZXIgc2lnbmFsIgptc2dzdHIgIlNpZ25hbCB6YSBvcGFzbm9zdCIKCiM6IHNpZ25hbWUuYzoyMTgKbXNnaWQgIkluZm9ybWF0aW9uIHJlcXVlc3QiCm1zZ3N0ciAiWmFodGpldiB6YSBpbmZvcm1hY2lqb20iCgojOiBzaWduYW1lLmM6MjIxCm1zZ2lkICJGbG9hdGluZyBwb2ludCBjby1wcm9jZXNzb3Igbm90IGF2YWlsYWJsZSIKbXNnc3RyICJBcml0bWV0aehraSBrb3Byb2Nlc29yIG5pamUgZG9zdHVwYW4uIgoKIzogc3RyY2FjaGUuYzoyMTAKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiJXMgIyBvZiBzdHJpbmdzIGluIHN0cmNhY2hlOiAlZFxuIgptc2dzdHIgIiIKCiM6IHN0cmNhY2hlLmM6MjExCiMsIGMtZm9ybWF0Cm1zZ2lkICIlcyAjIG9mIHN0cmNhY2hlIGJ1ZmZlcnM6ICVkXG4iCm1zZ3N0ciAiIgoKIzogc3RyY2FjaGUuYzoyMTIKIywgYy1mb3JtYXQKbXNnaWQgIiVzIHN0cmNhY2hlIHNpemU6IHRvdGFsID0gJWQgLyBtYXggPSAlZCAvIG1pbiA9ICVkIC8gYXZnID0gJWRcbiIKbXNnc3RyICIiCgojOiBzdHJjYWNoZS5jOjIxNAojLCBjLWZvcm1hdAptc2dpZCAiJXMgc3RyY2FjaGUgZnJlZTogdG90YWwgPSAlZCAvIG1heCA9ICVkIC8gbWluID0gJWQgLyBhdmcgPSAlZFxuIgptc2dzdHIgIiIKCiM6IHZhcmlhYmxlLmM6MTM2OQptc2dpZCAiZGVmYXVsdCIKbXNnc3RyICJwb2RyYXp1bWlqZXZhbm8iCgojOiB2YXJpYWJsZS5jOjEzNzIKbXNnaWQgImVudmlyb25tZW50Igptc2dzdHIgIm9rb2xpuSIKCiM6IHZhcmlhYmxlLmM6MTM3NQptc2dpZCAibWFrZWZpbGUiCm1zZ3N0ciAibWFrZWZpbGUiCgojOiB2YXJpYWJsZS5jOjEzNzgKbXNnaWQgImVudmlyb25tZW50IHVuZGVyIC1lIgptc2dzdHIgIm9rb2xpuSBwb2QgLWUiCgojOiB2YXJpYWJsZS5jOjEzODEKbXNnaWQgImNvbW1hbmQgbGluZSIKbXNnc3RyICJrb21hbmRuYSBsaW5pamEiCgojOiB2YXJpYWJsZS5jOjEzODQKbXNnaWQgImBvdmVycmlkZScgZGlyZWN0aXZlIgptc2dzdHIgImRpcmVrdGl2YSBgb3ZlcnJpZGUnIgoKIzogdmFyaWFibGUuYzoxMzg3Cm1zZ2lkICJhdXRvbWF0aWMiCm1zZ3N0ciAiYXV0b21hdHNrbyIKCiM6IHZhcmlhYmxlLmM6MTM5NgojLCBjLWZvcm1hdAptc2dpZCAiIChmcm9tIGAlcycsIGxpbmUgJWx1KSIKbXNnc3RyICIgKGl6IGAlcycsIHJlZGFrICVsdSk6IgoKIzogdmFyaWFibGUuYzoxNDM4Cm1zZ2lkICIjIHZhcmlhYmxlIHNldCBoYXNoLXRhYmxlIHN0YXRzOlxuIgptc2dzdHIgIiMgaGFzaCB0YWJsZSBzdGF0aXN0aWtlIHZhcmlqYWJsaTpcbiIKCiM6IHZhcmlhYmxlLmM6MTQ0OQptc2dpZCAiIgoiXG4iCiIjIFZhcmlhYmxlc1xuIgptc2dzdHIgIiIKIlxuIgoiIyBWYXJpamFibGVcbiIKCiM6IHZhcmlhYmxlLmM6MTQ1MwojLCBmdXp6eQptc2dpZCAiIgoiXG4iCiIjIFBhdHRlcm4tc3BlY2lmaWMgVmFyaWFibGUgVmFsdWVzIgptc2dzdHIgIiIKIlxuIgoiIyBVem9yY2ltYSBzdm9qc3R2ZW5lIHZyaWplZG5vc3RpIHZhcmlqYWJsaSIKCiM6IHZhcmlhYmxlLmM6MTQ2Nwptc2dpZCAiIgoiXG4iCiIjIE5vIHBhdHRlcm4tc3BlY2lmaWMgdmFyaWFibGUgdmFsdWVzLiIKbXNnc3RyICIiCiJcbiIKIiMgTmVtYSB1em9yY2ltYSBzdm9qc3R2ZW5paCB2cmlqZWRub3N0aSB2YXJpamFibGkuIgoKIzogdmFyaWFibGUuYzoxNDY5CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIiMgJXUgcGF0dGVybi1zcGVjaWZpYyB2YXJpYWJsZSB2YWx1ZXMiCm1zZ3N0ciAiIgoiXG4iCiIjICV1IHV6b3JjaW1hIHN2b2pzdHZlbmloIHZyaWplZG5vc3RpIHZhcmlqYWJsaSIKCiM6IHZhcmlhYmxlLmg6MTg5CiMsIGMtZm9ybWF0Cm1zZ2lkICJ3YXJuaW5nOiB1bmRlZmluZWQgdmFyaWFibGUgYCUuKnMnIgptc2dzdHIgInVwb3pvcmVuamU6IG5lZGVmaW5pcmFuYSB2YXJpamFibGEgYCUuKnMnIgoKIzogdm1zZnVuY3Rpb25zLmM6OTQKIywgYy1mb3JtYXQKbXNnaWQgInN5cyRzZWFyY2ggZmFpbGVkIHdpdGggJWRcbiIKbXNnc3RyICJzeXMkc2VhcmNoIGplIHphdGFqaWxhIHMgJWRcbiIKCiM6IHZtc2pvYnMuYzo3MQojLCBjLWZvcm1hdAptc2dpZCAiV2FybmluZzogRW1wdHkgcmVkaXJlY3Rpb25cbiIKbXNnc3RyICJVcG96b3JlbmplOiBQcmF6bm8gcHJldXNtamVyYXZhbmplXG4iCgojOiB2bXNqb2JzLmM6MTc1CiMsIGMtZm9ybWF0Cm1zZ2lkICJpbnRlcm5hbCBlcnJvcjogYCVzJyBjb21tYW5kX3N0YXRlIgptc2dzdHIgInVudXRyYbluamEgZ3JluWthOiBgJXMnIGNvbW1hbmRfc3RhdGUiCgojOiB2bXNqb2JzLmM6MjY4CiMsIGMtZm9ybWF0Cm1zZ2lkICItd2FybmluZywgQ1RSTC1ZIHdpbGwgbGVhdmUgc3ViLXByb2Nlc3MoZXMpIGFyb3VuZC5cbiIKbXNnc3RyICItdXBvem9yZW5qZSwgQ1RSTC1ZIOZlIG9zdGF2aXRpIHBvdHByb2NlcyhlKSBuYSC+aXZvdHUuXG4iCgojOiB2bXNqb2JzLmM6Mjg0CiMsIGMtZm9ybWF0Cm1zZ2lkICItd2FybmluZywgeW91IG1heSBoYXZlIHRvIHJlLWVuYWJsZSBDVFJMLVkgaGFuZGxpbmcgZnJvbSBEQ0wuXG4iCm1zZ3N0ciAiIgoiLXVwb3pvcmVuamUsIG1vvmRhIOZldGUgbW9yYXRpIHBvbm92byBvbW9ndeZpdGkgb2JyYWR1IENUUkwtWSBpeiBEQ0wtYS5cbiIKCiM6IHZtc2pvYnMuYzo0MDcKIywgYy1mb3JtYXQKbXNnaWQgIkJVSUxUSU4gWyVzXVslc11cbiIKbXNnc3RyICJVR1JB0EVOIFslc11bJXNdXG4iCgojOiB2bXNqb2JzLmM6NDE4CiMsIGMtZm9ybWF0Cm1zZ2lkICJCVUlMVElOIENEICVzXG4iCm1zZ3N0ciAiVUdSQdBFTiBDRCAlc1xuIgoKIzogdm1zam9icy5jOjQzNgojLCBjLWZvcm1hdAptc2dpZCAiQlVJTFRJTiBSTSAlc1xuIgptc2dzdHIgIlVHUkHQRU4gUk0gJXNcbiIKCiM6IHZtc2pvYnMuYzo0NTcKIywgYy1mb3JtYXQKbXNnaWQgIlVua25vd24gYnVpbHRpbiBjb21tYW5kICclcydcbiIKbXNnc3RyICJOZXBvem5hdGEgdWdyYfBlbmEgbmFyZWRiYSBgJXMnXG4iCgojOiB2bXNqb2JzLmM6NDc5CiMsIGMtZm9ybWF0Cm1zZ2lkICJFcnJvciwgZW1wdHkgY29tbWFuZFxuIgptc2dzdHIgIkdyZblrYSwgcHJhem5hIG5hcmVkYmFcbiIKCiM6IHZtc2pvYnMuYzo0OTEKIywgYy1mb3JtYXQKbXNnaWQgIlJlZGlyZWN0ZWQgaW5wdXQgZnJvbSAlc1xuIgptc2dzdHIgIlByZXVzbWplcmlvIHVsYXogaXogJXNcbiIKCiM6IHZtc2pvYnMuYzo0OTgKIywgYy1mb3JtYXQKbXNnaWQgIlJlZGlyZWN0ZWQgZXJyb3IgdG8gJXNcbiIKbXNnc3RyICJQcmV1c21qZXJpbyBncmW5a2UgdSAlc1xuIgoKIzogdm1zam9icy5jOjUwNQojLCBjLWZvcm1hdAptc2dpZCAiUmVkaXJlY3RlZCBvdXRwdXQgdG8gJXNcbiIKbXNnc3RyICJQcmV1c21qZXJpbyBpemxheiB1ICVzXG4iCgojOiB2bXNqb2JzLmM6NTY4CiMsIGMtZm9ybWF0Cm1zZ2lkICJFeGVjdXRpbmcgJXMgaW5zdGVhZFxuIgptc2dzdHIgIlVtamVzdG8gdG9nYSwgaXp2crlhdmFtICVzXG4iCgojOiB2bXNqb2JzLmM6NjY4CiMsIGMtZm9ybWF0Cm1zZ2lkICJFcnJvciBzcGF3bmluZywgJWRcbiIKbXNnc3RyICJHcmW5a2EgcHJpIHBva3JldGFuanUsICVkXG4iCgojOiB2cGF0aC5jOjU3MQptc2dpZCAiIgoiXG4iCiIjIFZQQVRIIFNlYXJjaCBQYXRoc1xuIgptc2dzdHIgIiIKIlxuIgoiIyBWUEFUSCBzdGF6ZSB6YSBwcmV0cmG+aXZhbmplXG4iCgojOiB2cGF0aC5jOjU4OAptc2dpZCAiIyBObyBgdnBhdGgnIHNlYXJjaCBwYXRocy4iCm1zZ3N0ciAiIyBOZW1hIGB2cGF0aCcgc3RhemEgemEgcHJldHJhvml2YW5qZS4iCgojOiB2cGF0aC5jOjU5MAojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiIjICV1IGB2cGF0aCcgc2VhcmNoIHBhdGhzLlxuIgptc2dzdHIgIiIKIlxuIgoiIyAldSBgdnBhdGgnIHN0YXphIHphIHByZXRyYb5pdmFuamUuXG4iCgojOiB2cGF0aC5jOjU5Mwptc2dpZCAiIgoiXG4iCiIjIE5vIGdlbmVyYWwgKGBWUEFUSCcgdmFyaWFibGUpIHNlYXJjaCBwYXRoLiIKbXNnc3RyICIiCiJcbiIKIiMgTmVtYSBvcOZlIChpeiB2YXJpamFibGUgYFZQQVRIJykgc3RhemUgemEgcHJldHJhvml2YW5qZS4iCgojOiB2cGF0aC5jOjU5OQptc2dpZCAiIgoiXG4iCiIjIEdlbmVyYWwgKGBWUEFUSCcgdmFyaWFibGUpIHNlYXJjaCBwYXRoOlxuIgoiIyAiCm1zZ3N0ciAiIgoiXG4iCiIjIE9w5mEgKGl6IHZhcmlqYWJsZSBgVlBBVEgnKSBzdGF6YSB6YSBwcmV0cmG+aXZhbmplOlxuIgoiIyAiCgojfiBtc2dpZCAiU3ludGF4IGVycm9yLCBzdGlsbCBpbnNpZGUgJ1wiJ1xuIgojfiBtc2dzdHIgIkdyZblrYSB1IHNpbnRha3NpLCBqb7kgdXZpamVrIHVudXRhciAnXCInXG4iCgojIE5lcG++ZXRlbmUgaWxpIG5lcG++bmpldGU/CiN+IG1zZ2lkICJHb3QgYSBTSUdDSExEOyAldSB1bnJlYXBlZCBjaGlsZHJlbi5cbiIKI34gbXNnc3RyICJEb2JpbyBTSUdDSExEOyAldSBuZXBvvmV0ZW5lIGRqZWNlLlxuIgoKI34gbXNnaWQgIkRvIG5vdCBzcGVjaWZ5IC1qIG9yIC0tam9icyBpZiBzaC5leGUgaXMgbm90IGF2YWlsYWJsZS4iCiN+IG1zZ3N0ciAiTmVtb2p0ZSBrb3Jpc3RpdGkgLWogaWxpIC0tam9icyBha28gc2guZXhlIG5pamUgZG9zdHVwYW4uIgoKI34gbXNnaWQgIlJlc2V0dGluZyBtYWtlIGZvciBzaW5nbGUgam9iIG1vZGUuIgojfiBtc2dzdHIgIlJlc2V0aXJhbSBtYWtlIHUgbW9kIGplZG5vZyBwb3NsYS4iCgojfiBtc2dpZCAibm8gZmlsZSBuYW1lIGZvciBgJXNpbmNsdWRlJyIKI34gbXNnc3RyICJuZWRvc3RhamUgbmF6aXYgc3Bpc2EgemEgYCVzaW5jbHVkZSciCgojfiBtc2dpZCAidGFyZ2V0IGAlcycgbGVhdmVzIHByZXJlcXVpc2l0ZSBwYXR0ZXJuIGVtcHR5IgojfiBtc2dzdHIgIm1ldGEgYCVzJyBvc3RhdmxqYSBwcmVyZWt2aXppdG5pIHV6b3JhayBwcmF6bmltIgoKI34gbXNnaWQgIiIKI34gIlxuIgojfiAiIyBObyBmaWxlcy4iCiN+IG1zZ3N0ciAiIgojfiAiXG4iCiN+ICIjIE5pamVkYW4gc3Bpcy4iCgojfiBtc2dpZCAiIgojfiAiXG4iCiN+ICIjICV1IGZpbGVzIGluICV1IGhhc2ggYnVja2V0cy5cbiIKI34gbXNnc3RyICIiCiN+ICJcbiIKI34gIiMgJXUgc3Bpc2EgdSAldSByYXNwcrllbmloIGS+ZXBvdmEuXG4iCgojfiBtc2dpZCAiIyBhdmVyYWdlICUuM2YgZmlsZXMgcGVyIGJ1Y2tldCwgbWF4ICV1IGZpbGVzIGluIG9uZSBidWNrZXQuXG4iCiN+IG1zZ3N0ciAiIyBwcm9zamXobm8gJS4zZiBzcGlzYSBwbyBkvmVwdSwgbWFrcy4gJXUgc3Bpc2EgdSBqZWRub20gZL5lcHUuXG4iCgojfiBtc2dpZCAiRElSRUNUT1JZIgojfiBtc2dzdHIgIkRJUkVLVE9SSUoiCgojfiBtc2dpZCAiQ2hhbmdlIHRvIERJUkVDVE9SWSBiZWZvcmUgZG9pbmcgYW55dGhpbmciCiN+IG1zZ3N0ciAiUHJvbWlqZW5pIHUgRElSRUtUT1JJSiBwcmlqZSBuZWdvILl0byBpuXRhIG5hcHJhdmm5IgoKI34gbXNnaWQgIkZMQUdTIgojfiBtc2dzdHIgIlpBU1RBVklDRSIKCiN+IG1zZ2lkICJTdXNwZW5kIHByb2Nlc3MgdG8gYWxsb3cgYSBkZWJ1Z2dlciB0byBhdHRhY2giCiN+IG1zZ3N0ciAiWmF1c3RhdmkgcHJvY2VzIHRha28gZGEgc2UgZGVidWdnZXIgbW++ZSB6YWth6Gl0aSIKCiN+IG1zZ2lkICJFbnZpcm9ubWVudCB2YXJpYWJsZXMgb3ZlcnJpZGUgbWFrZWZpbGVzIgojfiBtc2dzdHIgIlZhcmlqYWJsZSBpeiBva29sablhIGltYWp1IHZl5nUgdmG+bm9zdCBvZCBtYWtlZmlsZWEiCgojfiBtc2dpZCAiRklMRSIKI34gbXNnc3RyICJTUElTIgoKI34gbXNnaWQgIlJlYWQgRklMRSBhcyBhIG1ha2VmaWxlIgojfiBtc2dzdHIgIlByb+hpdGFqIFNQSVMga2FvIG1ha2VmaWxlIgoKI34gbXNnaWQgIlNlYXJjaCBESVJFQ1RPUlkgZm9yIGluY2x1ZGVkIG1ha2VmaWxlcyIKI34gbXNnc3RyICJQcmV0cmG+aSBESVJFS1RPUklKIHphIHVrbGp16GVuaW0gbWFrZWZpbGVvdmltYSIKCiN+IG1zZ2lkICJEb24ndCBzdGFydCBtdWx0aXBsZSBqb2JzIHVubGVzcyBsb2FkIGlzIGJlbG93IE4iCiN+IG1zZ3N0ciAiTmUgcG9rcmXmaSB2abllc3RydWtlIHBvc2xvdmUgb3NpbSBha28gamUgb3B0ZXJl5mVuamUgaXNwb2QgTiIKCiN+IG1zZ2lkICJEb24ndCBhY3R1YWxseSBydW4gYW55IGNvbW1hbmRzOyBqdXN0IHByaW50IHRoZW0iCiN+IG1zZ3N0ciAiTmVtb2ogemFwcmF2byBwb2tyZW51dGkgbmlqZWRudSBuYXJlZGJ1OyBzYW1vIGloIGlzcGm5aSIKCiN+IG1zZ2lkICJDb25zaWRlciBGSUxFIHRvIGJlIHZlcnkgb2xkIGFuZCBkb24ndCByZW1ha2UgaXQiCiN+IG1zZ3N0ciAiUHJldHBvc3RhdmkgZGEgamUgU1BJUyB2cmxvIHN0YXIgaSBuZW1vaiBnYSBwb25vdm8gbmFwcmF2aXRpIgoKI34gbXNnaWQgIkRvbid0IGVjaG8gY29tbWFuZHMiCiN+IG1zZ3N0ciAiTmUgaXNwaXN1aiBuYXJlZGJlIgoKI34gbXNnaWQgIlR1cm5zIG9mZiAtayIKI34gbXNnc3RyICJJc2tsanXodWplIC1rIgoKI34gbXNnaWQgIkNvbnNpZGVyIEZJTEUgdG8gYmUgaW5maW5pdGVseSBuZXciCiN+IG1zZ3N0ciAiU21hdHJhaiBTUElTIGJlc2tvbmHobm8gbm92aW0iCgojfiBtc2dpZCAiRW50ZXJpbmciCiN+IG1zZ3N0ciAiVWxhemltIHUiCgojfiBtc2dpZCAiTGVhdmluZyIKI34gbXNnc3RyICJJemxhemltIGl6IgoKI34gbXNnaWQgIiMgTm8gdmFyaWFibGVzLiIKI34gbXNnc3RyICIjIE5lbWEgdmFyaWphYmxpLiIKCiN+IG1zZ2lkICIjIGF2ZXJhZ2Ugb2YgJS4xZiB2YXJpYWJsZXMgcGVyIGJ1Y2tldCwgbWF4ICV1IGluIG9uZSBidWNrZXQuXG4iCiN+IG1zZ3N0ciAiIyBwcm9zamXobm8gJS4xZiB2YXJpamFibGkgcG8gZL5lcHUsIG1ha3MuICV1IHUgamVkbm9tIGS+ZXB1LlxuIgoKI34gbXNnaWQgIiMgYXZlcmFnZSBvZiAlZC4lZCB2YXJpYWJsZXMgcGVyIGJ1Y2tldCwgbWF4ICV1IGluIG9uZSBidWNrZXQuXG4iCiN+IG1zZ3N0ciAiIyBwcm9zamXobm8gJWQuJWQgdmFyaWphYmxpIHBvIGS+ZXB1LCBtYWtzLiAldSB1IGplZG5vbSBkvmVwdS5cbiIK