ZGlmZiAtLWdpdCBhL3BvL2FyLnBvIGIvcG8vYXIucG8KaW5kZXggZTI1ZGRiYS4uY2UyMmIyNCAxMDA2NDQKLS0tIGEvcG8vYXIucG8KKysrIGIvcG8vYXIucG8KQEAgLTEwNTc2LDYgKzEwNTc2LDE5IEBACiBtc2dpZCAiQ29weSIKIG1zZ3N0ciAiIgogCisjOiB3aW5obHAzMi5yYzo5NworbXNnaWQgIkluZGV4IgorbXNnc3RyICIiCisKKyM6IHdpbmhscDMyLnJjOjEwNQorIywgZnV6enkKK21zZ2lkICJTZWFyY2giCittc2dzdHIgIibZhdiz2KfYudiv2KkiCisKKyM6IHdpbmhscDMyLnJjOjEwNworbXNnaWQgIk5vdCBpbXBsZW1lbnRlZCB5ZXQiCittc2dzdHIgIiIKKwogIzogd2luaGxwMzIucmM6NzgKIG1zZ2lkICJXaW5lIEhlbHAiCiBtc2dzdHIgIiIKZGlmZiAtLWdpdCBhL3BvL2JnLnBvIGIvcG8vYmcucG8KaW5kZXggN2YwYmExNS4uNzhjNjE1MSAxMDA2NDQKLS0tIGEvcG8vYmcucG8KKysrIGIvcG8vYmcucG8KQEAgLTEwNzM1LDYgKzEwNzM1LDIxIEBACiBtc2dpZCAiQ29weSIKIG1zZ3N0ciAiJtCa0L7Qv9C40YDQsNC5IgogCisjOiB3aW5obHAzMi5yYzo5NworIywgZnV6enkKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAiJtCh0YrQtNGK0YDQttCw0L3QuNC1IgorCisjOiB3aW5obHAzMi5yYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAiU2VhcmNoIgorbXNnc3RyICIm0KLRitGA0YHQtdC90LUiCisKKyM6IHdpbmhscDMyLnJjOjEwNworIywgZnV6enkKK21zZ2lkICJOb3QgaW1wbGVtZW50ZWQgeWV0IgorbXNnc3RyICLQndC1INC1INGA0LXQsNC70LjQt9C40YDQsNC90L4iCisKICM6IHdpbmhscDMyLnJjOjc4CiBtc2dpZCAiV2luZSBIZWxwIgogbXNnc3RyICJXaW5lINCf0L7QvNC+0YkiCmRpZmYgLS1naXQgYS9wby9jYS5wbyBiL3BvL2NhLnBvCmluZGV4IDI5YWY3MWQuLjlkMzM4YzUgMTAwNjQ0Ci0tLSBhL3BvL2NhLnBvCisrKyBiL3BvL2NhLnBvCkBAIC0xMTEwNCw2ICsxMTEwNCwyMSBAQAogbXNnaWQgIkNvcHkiCiBtc2dzdHIgIkNvcGlhIgogCisjOiB3aW5obHAzMi5yYzo5NworIywgZnV6enkKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAiJsONbmRleCIKKworIzogd2luaGxwMzIucmM6MTA1CisjLCBmdXp6eQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAiJkNlcmNhIgorCisjOiB3aW5obHAzMi5yYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiTm8gaW1wbGVtZW50YXQiCisKICM6IHdpbmhscDMyLnJjOjc4CiBtc2dpZCAiV2luZSBIZWxwIgogbXNnc3RyICJBanVkYSBkZSBXaW5lIgpkaWZmIC0tZ2l0IGEvcG8vY3MucG8gYi9wby9jcy5wbwppbmRleCA5YTk2MmJiLi44Nzg5ZWZiIDEwMDY0NAotLS0gYS9wby9jcy5wbworKysgYi9wby9jcy5wbwpAQCAtMTEyMDgsNiArMTEyMDgsMjkgQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICImS29ww61yb3ZhdCIKIAorIzogd2luaGxwMzIucmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiSW5kZXgiCittc2dzdHIgIiZPYnNhaCIKKworIzogd2luaGxwMzIucmM6MTA1CisjLCBmdXp6eQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAiIgorIiMtIy0jLSMtIyAgY3MucG8gKFdpbmUpICAjLSMtIy0jLSNcbiIKKyImSGxlZGF0XG4iCisiIy0jLSMtIy0jICBjcy5wbyAoV2luZSkgICMtIy0jLSMtI1xuIgorIiZIbGVkw6Fuw60iCisKKyM6IHdpbmhscDMyLnJjOjEwNworIywgZnV6enkKK21zZ2lkICJOb3QgaW1wbGVtZW50ZWQgeWV0IgorbXNnc3RyICIiCisiIy0jLSMtIy0jICBjcy5wbyAoV2luZSkgICMtIy0jLSMtI1xuIgorIk5lbsOtIHBvZHBvcm92w6Fub1xuIgorIiMtIy0jLSMtIyAgY3MucG8gKFdpbmUpICAjLSMtIy0jLSNcbiIKKyJOZW7DrSBpbXBsZW1lbnRvdsOhbm8iCisKICM6IHdpbmhscDMyLnJjOjc4CiBtc2dpZCAiV2luZSBIZWxwIgogbXNnc3RyICJOw6Fwb3bEm2RhIFdpbmUiCmRpZmYgLS1naXQgYS9wby9kYS5wbyBiL3BvL2RhLnBvCmluZGV4IGNjMjIxZjAuLjQwYWI4YjQgMTAwNjQ0Ci0tLSBhL3BvL2RhLnBvCisrKyBiL3BvL2RhLnBvCkBAIC0xMTMwOSw2ICsxMTMwOSwxOCBAQAogbXNnaWQgIkNvcHkiCiBtc2dzdHIgIktvcGllciIKIAorIzogd2luaGxwMzIucmM6OTcKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAiSW5kZXgiCisKKyM6IHdpbmhscDMyLnJjOjEwNQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAiU8O4ZyIKKworIzogd2luaGxwMzIucmM6MTA3Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiRXIgaWtrZSBibGV2ZXQgaW1wbGVtZW50ZXJldCBlbmRudSIKKwogIzogd2luaGxwMzIucmM6NzgKIG1zZ2lkICJXaW5lIEhlbHAiCiBtc2dzdHIgIldpbmUgSGrDpmxwIgpkaWZmIC0tZ2l0IGEvcG8vZGUucG8gYi9wby9kZS5wbwppbmRleCA4OGZjZDM1Li5mNGJlNTM4IDEwMDY0NAotLS0gYS9wby9kZS5wbworKysgYi9wby9kZS5wbwpAQCAtMTExNDMsNiArMTExNDMsMTggQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICJLb3BpZXJlbiIKIAorIzogd2luaGxwMzIucmM6OTcKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAiSW5kZXgiCisKKyM6IHdpbmhscDMyLnJjOjEwNQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAiU3VjaGUiCisKKyM6IHdpbmhscDMyLnJjOjEwNworbXNnaWQgIk5vdCBpbXBsZW1lbnRlZCB5ZXQiCittc2dzdHIgIk5vY2ggbmljaHQgaW1wbGVtZW50aWVydCIKKwogIzogd2luaGxwMzIucmM6NzgKIG1zZ2lkICJXaW5lIEhlbHAiCiBtc2dzdHIgIldpbmUgSGlsZmUiCmRpZmYgLS1naXQgYS9wby9lbC5wbyBiL3BvL2VsLnBvCmluZGV4IDc3Njk5YTguLmZhZWQxOTMgMTAwNjQ0Ci0tLSBhL3BvL2VsLnBvCisrKyBiL3BvL2VsLnBvCkBAIC0xMDU3MSw2ICsxMDU3MSwyMCBAQAogbXNnaWQgIkNvcHkiCiBtc2dzdHIgIiIKIAorIzogd2luaGxwMzIucmM6OTcKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAiIgorCisjOiB3aW5obHAzMi5yYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAiU2VhcmNoIgorbXNnc3RyICImzpHOvc6xzrbOrs+EzrfPg863IgorCisjOiB3aW5obHAzMi5yYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAizqTOvyDOsc+Bz4fOtc6vzr8gzrTOtSDOss+Bzq3OuM63zrrOtSIKKwogIzogd2luaGxwMzIucmM6NzgKIG1zZ2lkICJXaW5lIEhlbHAiCiBtc2dzdHIgIiIKZGlmZiAtLWdpdCBhL3BvL2VuLnBvIGIvcG8vZW4ucG8KaW5kZXggY2E3ODNjZC4uNTYwOTM2OCAxMDA2NDQKLS0tIGEvcG8vZW4ucG8KKysrIGIvcG8vZW4ucG8KQEAgLTEwODA1LDYgKzEwODA1LDE4IEBACiBtc2dpZCAiQ29weSIKIG1zZ3N0ciAiQ29weSIKIAorIzogd2luaGxwMzIucmM6OTcKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAiSW5kZXgiCisKKyM6IHdpbmhscDMyLnJjOjEwNQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAiU2VhcmNoIgorCisjOiB3aW5obHAzMi5yYzoxMDcKK21zZ2lkICJOb3QgaW1wbGVtZW50ZWQgeWV0IgorbXNnc3RyICJOb3QgaW1wbGVtZW50ZWQgeWV0IgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiV2luZSBIZWxwIgpkaWZmIC0tZ2l0IGEvcG8vZW5fVVMucG8gYi9wby9lbl9VUy5wbwppbmRleCBlYTljZThkLi5hNzU4ZTdjIDEwMDY0NAotLS0gYS9wby9lbl9VUy5wbworKysgYi9wby9lbl9VUy5wbwpAQCAtMTEwMTEsNiArMTEwMTEsMTggQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICJDb3B5IgogCisjOiB3aW5obHAzMi5yYzo5NworbXNnaWQgIkluZGV4IgorbXNnc3RyICJJbmRleCIKKworIzogd2luaGxwMzIucmM6MTA1Cittc2dpZCAiU2VhcmNoIgorbXNnc3RyICJTZWFyY2giCisKKyM6IHdpbmhscDMyLnJjOjEwNworbXNnaWQgIk5vdCBpbXBsZW1lbnRlZCB5ZXQiCittc2dzdHIgIk5vdCBpbXBsZW1lbnRlZCB5ZXQiCisKICM6IHdpbmhscDMyLnJjOjc4CiBtc2dpZCAiV2luZSBIZWxwIgogbXNnc3RyICJXaW5lIEhlbHAiCmRpZmYgLS1naXQgYS9wby9lby5wbyBiL3BvL2VvLnBvCmluZGV4IGE3ZmQzNWYuLjcxNzgwOTYgMTAwNjQ0Ci0tLSBhL3BvL2VvLnBvCisrKyBiL3BvL2VvLnBvCkBAIC0xMDc1NCw2ICsxMDc1NCwyMSBAQAogbXNnaWQgIkNvcHkiCiBtc2dzdHIgIiZLb3BpdSIKIAorIzogd2luaGxwMzIucmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiSW5kZXgiCittc2dzdHIgIiZFbmhhdm8iCisKKyM6IHdpbmhscDMyLnJjOjEwNQorIywgZnV6enkKK21zZ2lkICJTZWFyY2giCittc2dzdHIgIiZTZXLDpnUiCisKKyM6IHdpbmhscDMyLnJjOjEwNworIywgZnV6enkKK21zZ2lkICJOb3QgaW1wbGVtZW50ZWQgeWV0IgorbXNnc3RyICJOZS1pbXBsZW1lbnRhdGEiCisKICM6IHdpbmhscDMyLnJjOjc4CiBtc2dpZCAiV2luZSBIZWxwIgogbXNnc3RyICJXaW5lIEhlbHBhbnRvIgpkaWZmIC0tZ2l0IGEvcG8vZXMucG8gYi9wby9lcy5wbwppbmRleCAwZGVhZTI4Li44OGUwN2NiIDEwMDY0NAotLS0gYS9wby9lcy5wbworKysgYi9wby9lcy5wbwpAQCAtMTE1MTEsNiArMTE1MTEsMTggQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICImQ29waWFyIgogCisjOiB3aW5obHAzMi5yYzo5NworbXNnaWQgIkluZGV4IgorbXNnc3RyICLDjW5kaWNlIgorCisjOiB3aW5obHAzMi5yYzoxMDUKK21zZ2lkICJTZWFyY2giCittc2dzdHIgIkJ1c2NhciIKKworIzogd2luaGxwMzIucmM6MTA3Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiQcO6biBubyBpbXBsZW1lbnRhZG8iCisKICM6IHdpbmhscDMyLnJjOjc4CiBtc2dpZCAiV2luZSBIZWxwIgogbXNnc3RyICJBeXVkYSBkZSBXaW5lIgpkaWZmIC0tZ2l0IGEvcG8vZmEucG8gYi9wby9mYS5wbwppbmRleCA1ZjZhNzZkLi4wMTI4YzM5IDEwMDY0NAotLS0gYS9wby9mYS5wbworKysgYi9wby9mYS5wbwpAQCAtMTA1NzksNiArMTA1NzksMTkgQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICIiCiAKKyM6IHdpbmhscDMyLnJjOjk3Cittc2dpZCAiSW5kZXgiCittc2dzdHIgIiIKKworIzogd2luaGxwMzIucmM6MTA1CisjLCBmdXp6eQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAiJtis2LPYquKAjNmI4oCM2KzZiCIKKworIzogd2luaGxwMzIucmM6MTA3Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiIgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiIgpkaWZmIC0tZ2l0IGEvcG8vZmkucG8gYi9wby9maS5wbwppbmRleCBmZDk0ODYxLi43YTIzOTcwIDEwMDY0NAotLS0gYS9wby9maS5wbworKysgYi9wby9maS5wbwpAQCAtMTA4NzMsNiArMTA4NzMsMjEgQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICJLbyZwaW9pIgogCisjOiB3aW5obHAzMi5yYzo5NworIywgZnV6enkKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAiJlNpc8OkbGx5cyIKKworIzogd2luaGxwMzIucmM6MTA1CisjLCBmdXp6eQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAiJkV0c2kiCisKKyM6IHdpbmhscDMyLnJjOjEwNworIywgZnV6enkKK21zZ2lkICJOb3QgaW1wbGVtZW50ZWQgeWV0IgorbXNnc3RyICJFaSBrw6R5dGV0dMOkdmlzc8OkIgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiV2luZSBPaGplIgpkaWZmIC0tZ2l0IGEvcG8vZnIucG8gYi9wby9mci5wbwppbmRleCAzOTAxMTQyLi5mODNiNmE2IDEwMDY0NAotLS0gYS9wby9mci5wbworKysgYi9wby9mci5wbwpAQCAtMTExNjMsNiArMTExNjMsMTggQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICJDb3BpZXIiCiAKKyM6IHdpbmhscDMyLnJjOjk3Cittc2dpZCAiSW5kZXgiCittc2dzdHIgIkluZGV4IgorCisjOiB3aW5obHAzMi5yYzoxMDUKK21zZ2lkICJTZWFyY2giCittc2dzdHIgIlJlY2hlcmNoZSIKKworIzogd2luaGxwMzIucmM6MTA3Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiUGFzIGVuY29yZSBpbXBsw6ltZW50w6kiCisKICM6IHdpbmhscDMyLnJjOjc4CiBtc2dpZCAiV2luZSBIZWxwIgogbXNnc3RyICJBaWRlIGRlIFdpbmUiCmRpZmYgLS1naXQgYS9wby9oZS5wbyBiL3BvL2hlLnBvCmluZGV4IDExMzliNDYuLjM0MDgyMTAgMTAwNjQ0Ci0tLSBhL3BvL2hlLnBvCisrKyBiL3BvL2hlLnBvCkBAIC0xMTE2Nyw2ICsxMTE2NywxOCBAQAogbXNnaWQgIkNvcHkiCiBtc2dzdHIgIteU16LXqten15QiCiAKKyM6IHdpbmhscDMyLnJjOjk3Cittc2dpZCAiSW5kZXgiCittc2dzdHIgItee16TXqteXIgorCisjOiB3aW5obHAzMi5yYzoxMDUKK21zZ2lkICJTZWFyY2giCittc2dzdHIgIteX15nXpNeV16kiCisKKyM6IHdpbmhscDMyLnJjOjEwNworbXNnaWQgIk5vdCBpbXBsZW1lbnRlZCB5ZXQiCittc2dzdHIgItec15Ag157XldeY157XoiDXoteT15nXmdefIgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAi15TXoteW16jXlCDXqdecIFdpbmUiCmRpZmYgLS1naXQgYS9wby9oaS5wbyBiL3BvL2hpLnBvCmluZGV4IDVmODUzMDguLmYxYzFhZTMgMTAwNjQ0Ci0tLSBhL3BvL2hpLnBvCisrKyBiL3BvL2hpLnBvCkBAIC0xMDQzNyw2ICsxMDQzNywxOCBAQAogbXNnaWQgIkNvcHkiCiBtc2dzdHIgIiIKIAorIzogd2luaGxwMzIucmM6OTcKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAiIgorCisjOiB3aW5obHAzMi5yYzoxMDUKK21zZ2lkICJTZWFyY2giCittc2dzdHIgIiIKKworIzogd2luaGxwMzIucmM6MTA3Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiIgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiIgpkaWZmIC0tZ2l0IGEvcG8vaHUucG8gYi9wby9odS5wbwppbmRleCA2ZmQ3MjkzLi5lMWJmMjlmIDEwMDY0NAotLS0gYS9wby9odS5wbworKysgYi9wby9odS5wbwpAQCAtMTExNDMsNiArMTExNDMsMjEgQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICImTcOhc29sw6FzIgogCisjOiB3aW5obHAzMi5yYzo5NworIywgZnV6enkKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAiJlRhcnRhbG9tIgorCisjOiB3aW5obHAzMi5yYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAiU2VhcmNoIgorbXNnc3RyICImS2VyZXPDqXMiCisKKyM6IHdpbmhscDMyLnJjOjEwNworIywgZnV6enkKK21zZ2lkICJOb3QgaW1wbGVtZW50ZWQgeWV0IgorbXNnc3RyICJOaW5jcyBpbXBsZW1lbnTDoWx2YSIKKwogIzogd2luaGxwMzIucmM6NzgKIG1zZ2lkICJXaW5lIEhlbHAiCiBtc2dzdHIgIldpbmUgc8O6Z8OzIgpkaWZmIC0tZ2l0IGEvcG8vaXQucG8gYi9wby9pdC5wbwppbmRleCA4ZTQ5ODQxLi4zZDM2ZTdlIDEwMDY0NAotLS0gYS9wby9pdC5wbworKysgYi9wby9pdC5wbwpAQCAtMTEwODksNiArMTEwODksMTggQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICJDb3BpYSIKIAorIzogd2luaGxwMzIucmM6OTcKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAiSW5kaWNlIgorCisjOiB3aW5obHAzMi5yYzoxMDUKK21zZ2lkICJTZWFyY2giCittc2dzdHIgIkNlcmNhIgorCisjOiB3aW5obHAzMi5yYzoxMDcKK21zZ2lkICJOb3QgaW1wbGVtZW50ZWQgeWV0IgorbXNnc3RyICJOb24gaW1wbGVtZW50YXRvLiIKKwogIzogd2luaGxwMzIucmM6NzgKIG1zZ2lkICJXaW5lIEhlbHAiCiBtc2dzdHIgIkd1aWRhIGRpIFdpbmUiCmRpZmYgLS1naXQgYS9wby9qYS5wbyBiL3BvL2phLnBvCmluZGV4IDdmZWRiYzEuLmZiNGZkYzQgMTAwNjQ0Ci0tLSBhL3BvL2phLnBvCisrKyBiL3BvL2phLnBvCkBAIC0xMTAyMCw2ICsxMTAyMCwxOCBAQAogbXNnaWQgIkNvcHkiCiBtc2dzdHIgIuOCs+ODlOODvCIKIAorIzogd2luaGxwMzIucmM6OTcKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAi57Si5byVIgorCisjOiB3aW5obHAzMi5yYzoxMDUKK21zZ2lkICJTZWFyY2giCittc2dzdHIgIuaknOe0oiIKKworIzogd2luaGxwMzIucmM6MTA3Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAi5pyq5a6f6KOFIgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiV2luZSDjg5jjg6vjg5ciCmRpZmYgLS1naXQgYS9wby9rby5wbyBiL3BvL2tvLnBvCmluZGV4IDk4NzFkYTcuLmYzNmUwYWEgMTAwNjQ0Ci0tLSBhL3BvL2tvLnBvCisrKyBiL3BvL2tvLnBvCkBAIC0xMDk4MCw2ICsxMDk4MCwxOCBAQAogbXNnaWQgIkNvcHkiCiBtc2dzdHIgIuuzteyCrCIKIAorIzogd2luaGxwMzIucmM6OTcKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAi7J24642x7IqkIgorCisjOiB3aW5obHAzMi5yYzoxMDUKK21zZ2lkICJTZWFyY2giCittc2dzdHIgIuywvuq4sCIKKworIzogd2luaGxwMzIucmM6MTA3Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAi7JWE7KeBIOq1rO2YhOuQmOyngCDslYrsnYwiCisKICM6IHdpbmhscDMyLnJjOjc4CiBtc2dpZCAiV2luZSBIZWxwIgogbXNnc3RyICJXaW5lIOuPhOybgOunkCIKZGlmZiAtLWdpdCBhL3BvL2x0LnBvIGIvcG8vbHQucG8KaW5kZXggZTJlYWNjOC4uYTZiNTdjYSAxMDA2NDQKLS0tIGEvcG8vbHQucG8KKysrIGIvcG8vbHQucG8KQEAgLTExMDM0LDYgKzExMDM0LDE4IEBACiBtc2dpZCAiQ29weSIKIG1zZ3N0ciAiS29waWp1b3RpIgogCisjOiB3aW5obHAzMi5yYzo5NworbXNnaWQgIkluZGV4IgorbXNnc3RyICJJbmRla3NhcyIKKworIzogd2luaGxwMzIucmM6MTA1Cittc2dpZCAiU2VhcmNoIgorbXNnc3RyICJQYWllxaFrYSIKKworIzogd2luaGxwMzIucmM6MTA3Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiRGFyIG5lcmVhbGl6dW90YSIKKwogIzogd2luaGxwMzIucmM6NzgKIG1zZ2lkICJXaW5lIEhlbHAiCiBtc2dzdHIgIldpbmUgxb5pbnluYXMiCmRpZmYgLS1naXQgYS9wby9tbC5wbyBiL3BvL21sLnBvCmluZGV4IGExMjk5NWYuLjM4NWMyMGUgMTAwNjQ0Ci0tLSBhL3BvL21sLnBvCisrKyBiL3BvL21sLnBvCkBAIC0xMDQzNyw2ICsxMDQzNywxOCBAQAogbXNnaWQgIkNvcHkiCiBtc2dzdHIgIiIKIAorIzogd2luaGxwMzIucmM6OTcKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAiIgorCisjOiB3aW5obHAzMi5yYzoxMDUKK21zZ2lkICJTZWFyY2giCittc2dzdHIgIiIKKworIzogd2luaGxwMzIucmM6MTA3Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiIgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiIgpkaWZmIC0tZ2l0IGEvcG8vbmJfTk8ucG8gYi9wby9uYl9OTy5wbwppbmRleCBjNDdjOGVmLi5mODUzOTBiIDEwMDY0NAotLS0gYS9wby9uYl9OTy5wbworKysgYi9wby9uYl9OTy5wbwpAQCAtMTEzNDIsNiArMTEzNDIsMTggQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICJLb3BpZXIiCiAKKyM6IHdpbmhscDMyLnJjOjk3Cittc2dpZCAiSW5kZXgiCittc2dzdHIgIklubmhvbGQiCisKKyM6IHdpbmhscDMyLnJjOjEwNQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAiU8O4ayIKKworIzogd2luaGxwMzIucmM6MTA3Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiSWtrZSBsYWdldCBlbm7DpSIKKwogIzogd2luaGxwMzIucmM6NzgKIG1zZ2lkICJXaW5lIEhlbHAiCiBtc2dzdHIgIkhqZWxwIgpkaWZmIC0tZ2l0IGEvcG8vbmwucG8gYi9wby9ubC5wbwppbmRleCBmODg5ZjI3Li44Y2I5MDc2IDEwMDY0NAotLS0gYS9wby9ubC5wbworKysgYi9wby9ubC5wbwpAQCAtMTExOTgsNiArMTExOTgsMTggQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICJLb3Bpw6tyZW4iCiAKKyM6IHdpbmhscDMyLnJjOjk3Cittc2dpZCAiSW5kZXgiCittc2dzdHIgIkluZGV4IgorCisjOiB3aW5obHAzMi5yYzoxMDUKK21zZ2lkICJTZWFyY2giCittc2dzdHIgIlpvZWtlbiIKKworIzogd2luaGxwMzIucmM6MTA3Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiTm9nIG5pZXQgZ2XDr21wbGVtZW50ZWVyZCIKKwogIzogd2luaGxwMzIucmM6NzgKIG1zZ2lkICJXaW5lIEhlbHAiCiBtc2dzdHIgIldpbmUgSGVscCIKZGlmZiAtLWdpdCBhL3BvL29yLnBvIGIvcG8vb3IucG8KaW5kZXggMzYxNDZmYS4uYzE5ZjMyYSAxMDA2NDQKLS0tIGEvcG8vb3IucG8KKysrIGIvcG8vb3IucG8KQEAgLTEwNDM3LDYgKzEwNDM3LDE4IEBACiBtc2dpZCAiQ29weSIKIG1zZ3N0ciAiIgogCisjOiB3aW5obHAzMi5yYzo5NworbXNnaWQgIkluZGV4IgorbXNnc3RyICIiCisKKyM6IHdpbmhscDMyLnJjOjEwNQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAiIgorCisjOiB3aW5obHAzMi5yYzoxMDcKK21zZ2lkICJOb3QgaW1wbGVtZW50ZWQgeWV0IgorbXNnc3RyICIiCisKICM6IHdpbmhscDMyLnJjOjc4CiBtc2dpZCAiV2luZSBIZWxwIgogbXNnc3RyICIiCmRpZmYgLS1naXQgYS9wby9wYS5wbyBiL3BvL3BhLnBvCmluZGV4IDNiNGMxOTMuLjNhY2U4MTggMTAwNjQ0Ci0tLSBhL3BvL3BhLnBvCisrKyBiL3BvL3BhLnBvCkBAIC0xMDQzNyw2ICsxMDQzNywxOCBAQAogbXNnaWQgIkNvcHkiCiBtc2dzdHIgIiIKIAorIzogd2luaGxwMzIucmM6OTcKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAiIgorCisjOiB3aW5obHAzMi5yYzoxMDUKK21zZ2lkICJTZWFyY2giCittc2dzdHIgIiIKKworIzogd2luaGxwMzIucmM6MTA3Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiIgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiIgpkaWZmIC0tZ2l0IGEvcG8vcGwucG8gYi9wby9wbC5wbwppbmRleCAzM2FhYTU4Li43MzI1Njc4IDEwMDY0NAotLS0gYS9wby9wbC5wbworKysgYi9wby9wbC5wbwpAQCAtMTEwMTksNiArMTEwMTksMTggQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICJLb3BpdWoiCiAKKyM6IHdpbmhscDMyLnJjOjk3Cittc2dpZCAiSW5kZXgiCittc2dzdHIgIkluZGVrcyIKKworIzogd2luaGxwMzIucmM6MTA1Cittc2dpZCAiU2VhcmNoIgorbXNnc3RyICJTenVrYWoiCisKKyM6IHdpbmhscDMyLnJjOjEwNworbXNnaWQgIk5vdCBpbXBsZW1lbnRlZCB5ZXQiCittc2dzdHIgIk5pZSB6YWltcGxlbWVudG93YW5lIgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiUG9tb2MgV2luZSIKZGlmZiAtLWdpdCBhL3BvL3B0X0JSLnBvIGIvcG8vcHRfQlIucG8KaW5kZXggMmFhMjc1ZC4uZDA1MWFiOSAxMDA2NDQKLS0tIGEvcG8vcHRfQlIucG8KKysrIGIvcG8vcHRfQlIucG8KQEAgLTExNDI1LDYgKzExNDI1LDE4IEBACiBtc2dpZCAiQ29weSIKIG1zZ3N0ciAiQ29waWFyIgogCisjOiB3aW5obHAzMi5yYzo5NworbXNnaWQgIkluZGV4IgorbXNnc3RyICLDjW5kaWNlIgorCisjOiB3aW5obHAzMi5yYzoxMDUKK21zZ2lkICJTZWFyY2giCittc2dzdHIgIlByb2N1cmEiCisKKyM6IHdpbmhscDMyLnJjOjEwNworbXNnaWQgIk5vdCBpbXBsZW1lbnRlZCB5ZXQiCittc2dzdHIgIkFpbmRhIG7Do28gaW1wbGVtZW50YWRvIgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiQWp1ZGEgV2luZSIKZGlmZiAtLWdpdCBhL3BvL3B0X1BULnBvIGIvcG8vcHRfUFQucG8KaW5kZXggMGZhNTkyYS4uM2U3ZWYwZCAxMDA2NDQKLS0tIGEvcG8vcHRfUFQucG8KKysrIGIvcG8vcHRfUFQucG8KQEAgLTExNDQyLDYgKzExNDQyLDE4IEBACiBtc2dpZCAiQ29weSIKIG1zZ3N0ciAiQ29waWFyIgogCisjOiB3aW5obHAzMi5yYzo5NworbXNnaWQgIkluZGV4IgorbXNnc3RyICLDjW5kaWNlIgorCisjOiB3aW5obHAzMi5yYzoxMDUKK21zZ2lkICJTZWFyY2giCittc2dzdHIgIlByb2N1cmEiCisKKyM6IHdpbmhscDMyLnJjOjEwNworbXNnaWQgIk5vdCBpbXBsZW1lbnRlZCB5ZXQiCittc2dzdHIgIkFpbmRhIG7Do28gaW1wbGVtZW50YWRvIgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiQWp1ZGEgV2luZSIKZGlmZiAtLWdpdCBhL3BvL3JtLnBvIGIvcG8vcm0ucG8KaW5kZXggZTZhNDM2Yy4uYWU5YTZmZiAxMDA2NDQKLS0tIGEvcG8vcm0ucG8KKysrIGIvcG8vcm0ucG8KQEAgLTEwNDg3LDYgKzEwNDg3LDIwIEBACiBtc2dpZCAiQ29weSIKIG1zZ3N0ciAiQ2FwY2hhciIKIAorIzogd2luaGxwMzIucmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiSW5kZXgiCittc2dzdHIgIiZDdW50Z27vv70iCisKKyM6IHdpbmhscDMyLnJjOjEwNQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAiIgorCisjOiB3aW5obHAzMi5yYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiTmEgaW1wbGVtZW50YSIKKwogIzogd2luaGxwMzIucmM6NzgKIG1zZ2lkICJXaW5lIEhlbHAiCiBtc2dzdHIgIldpbmUgYWfvv71kIgpkaWZmIC0tZ2l0IGEvcG8vcm8ucG8gYi9wby9yby5wbwppbmRleCA3N2VlZDJkLi41NTBjMTU5IDEwMDY0NAotLS0gYS9wby9yby5wbworKysgYi9wby9yby5wbwpAQCAtMTE2NjEsNiArMTE2NjEsMTggQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICJDb3BpYXrEgyIKIAorIzogd2luaGxwMzIucmM6OTcKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAiSW5kZXgiCisKKyM6IHdpbmhscDMyLnJjOjEwNQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAiQ8SDdXRhcmUiCisKKyM6IHdpbmhscDMyLnJjOjEwNworbXNnaWQgIk5vdCBpbXBsZW1lbnRlZCB5ZXQiCittc2dzdHIgIsOObmPEgyBuZWltcGxlbWVudGF0xIMiCisKICM6IHdpbmhscDMyLnJjOjc4CiBtc2dpZCAiV2luZSBIZWxwIgogbXNnc3RyICJBanV0b3IgV2luZSIKZGlmZiAtLWdpdCBhL3BvL3J1LnBvIGIvcG8vcnUucG8KaW5kZXggZDgxZTRmYi4uNzgzODA4NSAxMDA2NDQKLS0tIGEvcG8vcnUucG8KKysrIGIvcG8vcnUucG8KQEAgLTExMDMzLDYgKzExMDMzLDE4IEBACiBtc2dpZCAiQ29weSIKIG1zZ3N0ciAi0JrQvtC/0LjRgNC+0LLQsNGC0YwiCiAKKyM6IHdpbmhscDMyLnJjOjk3Cittc2dpZCAiSW5kZXgiCittc2dzdHIgItCj0LrQsNC30LDRgtC10LvRjCIKKworIzogd2luaGxwMzIucmM6MTA1Cittc2dpZCAiU2VhcmNoIgorbXNnc3RyICLQn9C+0LjRgdC6IgorCisjOiB3aW5obHAzMi5yYzoxMDcKK21zZ2lkICJOb3QgaW1wbGVtZW50ZWQgeWV0IgorbXNnc3RyICLQndC1INGA0LXQsNC70LjQt9C+0LLQsNC90L4iCisKICM6IHdpbmhscDMyLnJjOjc4CiBtc2dpZCAiV2luZSBIZWxwIgogbXNnc3RyICLQodC/0YDQsNCy0LrQsCBXaW5lIgpkaWZmIC0tZ2l0IGEvcG8vc2sucG8gYi9wby9zay5wbwppbmRleCA5YmUxYmUzLi44NWNhY2JhIDEwMDY0NAotLS0gYS9wby9zay5wbworKysgYi9wby9zay5wbwpAQCAtMTA1OTIsNiArMTA1OTIsMjAgQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICJLb3DDrSZyb3ZhxaUuLi4iCiAKKyM6IHdpbmhscDMyLnJjOjk3CisjLCBmdXp6eQorbXNnaWQgIkluZGV4IgorbXNnc3RyICImT2JzYWgiCisKKyM6IHdpbmhscDMyLnJjOjEwNQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAiIgorCisjOiB3aW5obHAzMi5yYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiTmVpbXBsZW1lbnRvdmFuw6kiCisKICM6IHdpbmhscDMyLnJjOjc4CiBtc2dpZCAiV2luZSBIZWxwIgogbXNnc3RyICJXaW5lIFBvbW9jIgpkaWZmIC0tZ2l0IGEvcG8vc2wucG8gYi9wby9zbC5wbwppbmRleCBhMjY2NzUyLi5kODdmNjlmIDEwMDY0NAotLS0gYS9wby9zbC5wbworKysgYi9wby9zbC5wbwpAQCAtMTEwODUsNiArMTEwODUsMTggQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICJLb3BpcmFqIgogCisjOiB3aW5obHAzMi5yYzo5NworbXNnaWQgIkluZGV4IgorbXNnc3RyICJJbmRla3MiCisKKyM6IHdpbmhscDMyLnJjOjEwNQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAiSXNrYW5qZSIKKworIzogd2luaGxwMzIucmM6MTA3Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiTmkgKMWhZSkgbmEgdm9sam8iCisKICM6IHdpbmhscDMyLnJjOjc4CiBtc2dpZCAiV2luZSBIZWxwIgogbXNnc3RyICJXaW5lIHBvbW/EjSIKZGlmZiAtLWdpdCBhL3BvL3NyX1JTQGN5cmlsbGljLnBvIGIvcG8vc3JfUlNAY3lyaWxsaWMucG8KaW5kZXggMDJkZjEwNS4uNTQ0NjkyMiAxMDA2NDQKLS0tIGEvcG8vc3JfUlNAY3lyaWxsaWMucG8KKysrIGIvcG8vc3JfUlNAY3lyaWxsaWMucG8KQEAgLTEwOTc5LDYgKzEwOTc5LDIxIEBACiBtc2dpZCAiQ29weSIKIG1zZ3N0ciAiJtCj0LzQvdC+0LbQuCIKIAorIzogd2luaGxwMzIucmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiSW5kZXgiCittc2dzdHIgIibQn9C+0L/QuNGBIgorCisjOiB3aW5obHAzMi5yYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAiU2VhcmNoIgorbXNnc3RyICIm0J/RgNC10YLRgNCw0LPQsCIKKworIzogd2luaGxwMzIucmM6MTA3CisjLCBmdXp6eQorbXNnaWQgIk5vdCBpbXBsZW1lbnRlZCB5ZXQiCittc2dzdHIgItCU0LDRgtC+0YLQtdC60LAg0L3QuNGY0LUg0L/RgNC+0L3QsNGS0LXQvdCwIgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiIgpkaWZmIC0tZ2l0IGEvcG8vc3JfUlNAbGF0aW4ucG8gYi9wby9zcl9SU0BsYXRpbi5wbwppbmRleCA3ZjhkNGY1Li44MGUwZWM5IDEwMDY0NAotLS0gYS9wby9zcl9SU0BsYXRpbi5wbworKysgYi9wby9zcl9SU0BsYXRpbi5wbwpAQCAtMTEwNTYsNiArMTEwNTYsMTggQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICJLb3BpcmFqIgogCisjOiB3aW5obHAzMi5yYzo5NworbXNnaWQgIkluZGV4IgorbXNnc3RyICJJbmRleCIKKworIzogd2luaGxwMzIucmM6MTA1Cittc2dpZCAiU2VhcmNoIgorbXNnc3RyICJUcmHFvmkiCisKKyM6IHdpbmhscDMyLnJjOjEwNworbXNnaWQgIk5vdCBpbXBsZW1lbnRlZCB5ZXQiCittc2dzdHIgIk5vdCBpbXBsZW1lbnRlZCB5ZXQiCisKICM6IHdpbmhscDMyLnJjOjc4CiBtc2dpZCAiV2luZSBIZWxwIgogbXNnc3RyICJXaW5lIFBvbW/EhyIKZGlmZiAtLWdpdCBhL3BvL3N2LnBvIGIvcG8vc3YucG8KaW5kZXggYjcxZmNjMy4uNzg5M2YzYSAxMDA2NDQKLS0tIGEvcG8vc3YucG8KKysrIGIvcG8vc3YucG8KQEAgLTExMDI2LDYgKzExMDI2LDE4IEBACiBtc2dpZCAiQ29weSIKIG1zZ3N0ciAiS29waWVyYSIKIAorIzogd2luaGxwMzIucmM6OTcKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAiSW5kZXgiCisKKyM6IHdpbmhscDMyLnJjOjEwNQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAiU8O2ayIKKworIzogd2luaGxwMzIucmM6MTA3Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiSW50ZSBpbXBsZW1lbnRlcmF0IMOkbm51IgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiV2luZSBIasOkbHAiCmRpZmYgLS1naXQgYS9wby90ZS5wbyBiL3BvL3RlLnBvCmluZGV4IDZmYzBkZTMuLjk3MzBiY2IgMTAwNjQ0Ci0tLSBhL3BvL3RlLnBvCisrKyBiL3BvL3RlLnBvCkBAIC0xMDQzNyw2ICsxMDQzNywxOCBAQAogbXNnaWQgIkNvcHkiCiBtc2dzdHIgIiIKIAorIzogd2luaGxwMzIucmM6OTcKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAiIgorCisjOiB3aW5obHAzMi5yYzoxMDUKK21zZ2lkICJTZWFyY2giCittc2dzdHIgIiIKKworIzogd2luaGxwMzIucmM6MTA3Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiIgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiIgpkaWZmIC0tZ2l0IGEvcG8vdGgucG8gYi9wby90aC5wbwppbmRleCA5OWE0ZDZiLi5jNjdkZTEzIDEwMDY0NAotLS0gYS9wby90aC5wbworKysgYi9wby90aC5wbwpAQCAtMTA1ODksNiArMTA1ODksMjAgQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICIiCiAKKyM6IHdpbmhscDMyLnJjOjk3Cittc2dpZCAiSW5kZXgiCittc2dzdHIgIiIKKworIzogd2luaGxwMzIucmM6MTA1CisjLCBmdXp6eQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAi4LiE4Lix4LiZ4Lir4LiyIgorCisjOiB3aW5obHAzMi5yYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAi4LmE4Lih4LmI4Lie4Lia4LmB4Lif4LmJ4LihIgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiIgpkaWZmIC0tZ2l0IGEvcG8vdHIucG8gYi9wby90ci5wbwppbmRleCAxNDRhODZlLi40OTM2YjcwIDEwMDY0NAotLS0gYS9wby90ci5wbworKysgYi9wby90ci5wbwpAQCAtMTEzMjUsNiArMTEzMjUsMjkgQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICJLJm9weWFsYSIKIAorIzogd2luaGxwMzIucmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiSW5kZXgiCittc2dzdHIgIibEsMOnaW5kZWtpbGVyIgorCisjOiB3aW5obHAzMi5yYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAiU2VhcmNoIgorbXNnc3RyICIiCisiIy0jLSMtIy0jICB0ci5wbyAoV2luZSkgICMtIy0jLSMtI1xuIgorIiZBcmFcbiIKKyIjLSMtIy0jLSMgIHRyLnBvIChXaW5lKSAgIy0jLSMtIy0jXG4iCisiJkJ1bCIKKworIzogd2luaGxwMzIucmM6MTA3CisjLCBmdXp6eQorbXNnaWQgIk5vdCBpbXBsZW1lbnRlZCB5ZXQiCittc2dzdHIgIiIKKyIjLSMtIy0jLSMgIHRyLnBvIChXaW5lKSAgIy0jLSMtIy0jXG4iCisiSGVuw7x6IFRhbsSxbWxhbm1hZMSxXG4iCisiIy0jLSMtIy0jICB0ci5wbyAoV2luZSkgICMtIy0jLSMtI1xuIgorIkhlbsO8eiB0YW1hbWxhbm1hZMSxIgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiV2luZSBZYXJkxLFtIgpkaWZmIC0tZ2l0IGEvcG8vdWsucG8gYi9wby91ay5wbwppbmRleCBlM2NkMDQ1Li44M2Q5YjQ2IDEwMDY0NAotLS0gYS9wby91ay5wbworKysgYi9wby91ay5wbwpAQCAtMTEwMDksNiArMTEwMDksMTggQEAKIG1zZ2lkICJDb3B5IgogbXNnc3RyICLQmtC+0L/RltGO0LLQsNGC0LgiCiAKKyM6IHdpbmhscDMyLnJjOjk3Cittc2dpZCAiSW5kZXgiCittc2dzdHIgItCS0LrQsNC30ZbQstC90LjQuiIKKworIzogd2luaGxwMzIucmM6MTA1Cittc2dpZCAiU2VhcmNoIgorbXNnc3RyICLQn9C+0YjRg9C6IgorCisjOiB3aW5obHAzMi5yYzoxMDcKK21zZ2lkICJOb3QgaW1wbGVtZW50ZWQgeWV0IgorbXNnc3RyICLQqdC1INC90LUg0LLQv9GA0L7QstCw0LTQttC10L3QviIKKwogIzogd2luaGxwMzIucmM6NzgKIG1zZ2lkICJXaW5lIEhlbHAiCiBtc2dzdHIgItCU0L7QstGW0LTQutCwIFdpbmUiCmRpZmYgLS1naXQgYS9wby93YS5wbyBiL3BvL3dhLnBvCmluZGV4IDIyZTZiNDguLjhmNGE5ZWMgMTAwNjQ0Ci0tLSBhL3BvL3dhLnBvCisrKyBiL3BvL3dhLnBvCkBAIC0xMDU0Niw2ICsxMDU0NiwyMSBAQAogbXNnaWQgIkNvcHkiCiBtc2dzdHIgIiZDb3B5w64uLi4iCiAKKyM6IHdpbmhscDMyLnJjOjk3CisjLCBmdXp6eQorbXNnaWQgIkluZGV4IgorbXNnc3RyICLDhSZkdmlucyIKKworIzogd2luaGxwMzIucmM6MTA1CisjLCBmdXp6eQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAiQyZ3ZXLDriIKKworIzogd2luaGxwMzIucmM6MTA3CisjLCBmdXp6eQorbXNnaWQgIk5vdCBpbXBsZW1lbnRlZCB5ZXQiCittc2dzdHIgIk7DqW4gY28gcG9zc2liZSIKKwogIzogd2luaGxwMzIucmM6NzgKIG1zZ2lkICJXaW5lIEhlbHAiCiBtc2dzdHIgIkFpZGFuY2UgZGkgV2luZSIKZGlmZiAtLWdpdCBhL3BvL3dpbmUucG90IGIvcG8vd2luZS5wb3QKaW5kZXggMDI5ODBhZS4uMzFjNzg2MyAxMDA2NDQKLS0tIGEvcG8vd2luZS5wb3QKKysrIGIvcG8vd2luZS5wb3QKQEAgLTEwNDAyLDYgKzEwNDAyLDE4IEBACiBtc2dpZCAiQ29weSIKIG1zZ3N0ciAiIgogCisjOiB3aW5obHAzMi5yYzo5NworbXNnaWQgIkluZGV4IgorbXNnc3RyICIiCisKKyM6IHdpbmhscDMyLnJjOjEwNQorbXNnaWQgIlNlYXJjaCIKK21zZ3N0ciAiIgorCisjOiB3aW5obHAzMi5yYzoxMDcKK21zZ2lkICJOb3QgaW1wbGVtZW50ZWQgeWV0IgorbXNnc3RyICIiCisKICM6IHdpbmhscDMyLnJjOjc4CiBtc2dpZCAiV2luZSBIZWxwIgogbXNnc3RyICIiCmRpZmYgLS1naXQgYS9wby96aF9DTi5wbyBiL3BvL3poX0NOLnBvCmluZGV4IDllMjU4ZGEuLjYzNzE3Y2IgMTAwNjQ0Ci0tLSBhL3BvL3poX0NOLnBvCisrKyBiL3BvL3poX0NOLnBvCkBAIC0xMDkzOSw2ICsxMDkzOSwxOCBAQAogbXNnaWQgIkNvcHkiCiBtc2dzdHIgIuWkjeWItiIKIAorIzogd2luaGxwMzIucmM6OTcKK21zZ2lkICJJbmRleCIKK21zZ3N0ciAi57Si5byVIgorCisjOiB3aW5obHAzMi5yYzoxMDUKK21zZ2lkICJTZWFyY2giCittc2dzdHIgIuaQnOe0oiIKKworIzogd2luaGxwMzIucmM6MTA3Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAi5bCa5pyq5a6e546wIgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiV2luZSDluK7liqkiCmRpZmYgLS1naXQgYS9wby96aF9UVy5wbyBiL3BvL3poX1RXLnBvCmluZGV4IDhiODBkOGMuLmQzOWYyNTAgMTAwNjQ0Ci0tLSBhL3BvL3poX1RXLnBvCisrKyBiL3BvL3poX1RXLnBvCkBAIC0xMDk4NCw2ICsxMDk4NCwyNSBAQAogbXNnaWQgIkNvcHkiCiBtc2dzdHIgIuikh+ijvSgmQykiCiAKKyM6IHdpbmhscDMyLnJjOjk3CisjLCBmdXp6eQorbXNnaWQgIkluZGV4IgorbXNnc3RyICLlhaflrrkoJkMpIgorCisjOiB3aW5obHAzMi5yYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAiU2VhcmNoIgorbXNnc3RyICLmkJzlsIsoJlMpIgorCisjOiB3aW5obHAzMi5yYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAiTm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAiIgorIiMtIy0jLSMtIyAgemhfVFcucG8gKFdpbmUpICAjLSMtIy0jLSNcbiIKKyLmraTlip/og73mnKrlr6bnj75cbiIKKyIjLSMtIy0jLSMgIHpoX1RXLnBvIChXaW5lKSAgIy0jLSMtIy0jXG4iCisi5pyq5a+m54++IgorCiAjOiB3aW5obHAzMi5yYzo3OAogbXNnaWQgIldpbmUgSGVscCIKIG1zZ3N0ciAiV2luZSDluavliqkiCmRpZmYgLS1naXQgYS9wcm9ncmFtcy93aW5obHAzMi9EYS5yYyBiL3Byb2dyYW1zL3dpbmhscDMyL0RhLnJjCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMmU2YzYzLi4wMDAwMDAwCi0tLSBhL3Byb2dyYW1zL3dpbmhscDMyL0RhLnJjCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotLyoKLSAqIEhlbHAgVmlld2VyCi0gKgotICogQ29weXJpZ2h0IDE5OTcgSGVucmlrIE9sc2VuCi0gKiBDb3B5cmlnaHQgMjAwMiBTeWx2YWluIFBldHJlb2xsZSA8c3BldHJlb2xsZUB5YWhvby5mcj4KLSAqIENvcHlyaWdodCAyMDA4IEplbnMgQWxicmV0c2VuPGplbnNAYWxicmV0c2VuLmRrPgotICogICAgICAgICAgIDIwMTAgVGhvbWFzIExhcnNlbgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQotICovCi0KLSNpbmNsdWRlICJ3aW5oZWxwX3Jlcy5oIgotCi0jcHJhZ21hIGNvZGVfcGFnZSg2NTAwMSkKLQotTEFOR1VBR0UgTEFOR19EQU5JU0gsIFNVQkxBTkdfREVGQVVMVAotCi1JRERfSU5ERVggRElBTE9HIDAsIDAsIDIwMCwgMTkwCi1TVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKLUZPTlQgOCwgIk1TIFNoZWxsIERsZyIKLUNBUFRJT04gIkluZGV4IgotewotICAgIExJU1RCT1ggSURDX0lOREVYTElTVCwgMTAsIDEwLCAxODAsIDE1MCwgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBXU19WU0NST0xMIHwgV1NfQk9SREVSCi19Ci0KLUlERF9TRUFSQ0ggRElBTE9HIDAsIDAsIDIwMCwgMTkwCi1TVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKLUZPTlQgOCwgIk1TIFNoZWxsIERsZyIKLUNBUFRJT04gIlPDuGciCi17Ci0gICAgTFRFWFQgICJFciBpa2tlIGJsZXZldCBpbXBsZW1lbnRlcmV0IGVuZG51IiwgLTEsIDEwLCAxMCwgMTgwLCAxNTAKLX0KZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3dpbmhscDMyL0RlLnJjIGIvcHJvZ3JhbXMvd2luaGxwMzIvRGUucmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3MTYzYjkuLjAwMDAwMDAKLS0tIGEvcHJvZ3JhbXMvd2luaGxwMzIvRGUucmMKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi0vKgotICogSGVscCBWaWV3ZXIKLSAqCi0gKiBDb3B5cmlnaHQgMTk5NiBVbHJpY2ggU2NobWlkCi0gKiBDb3B5cmlnaHQgMjAwMiBTeWx2YWluIFBldHJlb2xsZSA8c3BldHJlb2xsZUB5YWhvby5mcj4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKLSAqLwotCi0jaW5jbHVkZSAid2luaGVscF9yZXMuaCIKLQotTEFOR1VBR0UgTEFOR19HRVJNQU4sIFNVQkxBTkdfTkVVVFJBTAotCi0jcHJhZ21hIGNvZGVfcGFnZSg2NTAwMSkKLQotSUREX0lOREVYIERJQUxPRyAwLCAwLCAyMDAsIDE5MAotU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCi1GT05UIDgsICJNUyBTaGVsbCBEbGciCi1DQVBUSU9OICJJbmRleCIKLXsKLSAgICBMSVNUQk9YIElEQ19JTkRFWExJU1QsIDEwLCAxMCwgMTgwLCAxNTAsIExCU19OT0lOVEVHUkFMSEVJR0hUIHwgV1NfVlNDUk9MTCB8IFdTX0JPUkRFUgotfQotCi1JRERfU0VBUkNIIERJQUxPRyAwLCAwLCAyMDAsIDE5MAotU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCi1GT05UIDgsICJNUyBTaGVsbCBEbGciCi1DQVBUSU9OICJTdWNoZSIKLXsKLSAgICBMVEVYVCAgIk5vY2ggbmljaHQgaW1wbGVtZW50aWVydCIsIC0xLCAxMCwgMTAsIDE4MCwgMTUwCi19CmRpZmYgLS1naXQgYS9wcm9ncmFtcy93aW5obHAzMi9Fbi5yYyBiL3Byb2dyYW1zL3dpbmhscDMyL0VuLnJjCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NmRjYmRmLi4wMDAwMDAwCi0tLSBhL3Byb2dyYW1zL3dpbmhscDMyL0VuLnJjCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotLyoKLSAqIEhlbHAgVmlld2VyCi0gKgotICogQ29weXJpZ2h0IDE5OTYgVWxyaWNoIFNjaG1pZAotICogQ29weXJpZ2h0IDIwMDIgU3lsdmFpbiBQZXRyZW9sbGUgPHNwZXRyZW9sbGVAeWFob28uZnI+Ci0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCi0gKi8KLQotI2luY2x1ZGUgIndpbmhlbHBfcmVzLmgiCi0KLUxBTkdVQUdFIExBTkdfRU5HTElTSCwgU1VCTEFOR19ERUZBVUxUCi0KLUlERF9JTkRFWCBESUFMT0cgMCwgMCwgMjAwLCAxOTAKLVNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQotRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgotQ0FQVElPTiAiSW5kZXgiCi17Ci0gICAgTElTVEJPWCBJRENfSU5ERVhMSVNULCAxMCwgMTAsIDE4MCwgMTUwLCBMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IFdTX1ZTQ1JPTEwgfCBXU19CT1JERVIKLX0KLQotSUREX1NFQVJDSCBESUFMT0cgMCwgMCwgMjAwLCAxOTAKLVNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQotRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgotQ0FQVElPTiAiU2VhcmNoIgotewotICAgIExURVhUICAiTm90IGltcGxlbWVudGVkIHlldCIsIC0xLCAxMCwgMTAsIDE4MCwgMTUwCi19CmRpZmYgLS1naXQgYS9wcm9ncmFtcy93aW5obHAzMi9Fcy5yYyBiL3Byb2dyYW1zL3dpbmhscDMyL0VzLnJjCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MjNiZDNmLi4wMDAwMDAwCi0tLSBhL3Byb2dyYW1zL3dpbmhscDMyL0VzLnJjCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotLyoKLSAqIEhlbHAgVmlld2VyCi0gKgotICogQ29weXJpZ2h0IDE5OTYgVWxyaWNoIFNjaG1pZAotICogQ29weXJpZ2h0IDIwMDIgU3lsdmFpbiBQZXRyZW9sbGUgPHNwZXRyZW9sbGVAeWFob28uZnI+Ci0gKiBDb3B5cmlnaHQgMjAwMywgMjAwNCBKb3PpIE1hbnVlbCBGZXJyZXIgT3J0aXoKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKLSAqLwotCi0jaW5jbHVkZSAid2luaGVscF9yZXMuaCIKLQotTEFOR1VBR0UgTEFOR19TUEFOSVNILCBTVUJMQU5HX05FVVRSQUwKLQotSUREX0lOREVYIERJQUxPRyAwLCAwLCAyMDAsIDE5MAotU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCi1GT05UIDgsICJNUyBTaGVsbCBEbGciCi1DQVBUSU9OICLNbmRpY2UiCi17Ci0gICAgTElTVEJPWCBJRENfSU5ERVhMSVNULCAxMCwgMTAsIDE4MCwgMTUwLCBMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IFdTX1ZTQ1JPTEwgfCBXU19CT1JERVIKLX0KLQotSUREX1NFQVJDSCBESUFMT0cgMCwgMCwgMjAwLCAxOTAKLVNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQotRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgotQ0FQVElPTiAiQnVzY2FyIgotewotICAgIExURVhUICAiQfpuIG5vIGltcGxlbWVudGFkbyIsIC0xLCAxMCwgMTAsIDE4MCwgMTUwCi19CmRpZmYgLS1naXQgYS9wcm9ncmFtcy93aW5obHAzMi9Gci5yYyBiL3Byb2dyYW1zL3dpbmhscDMyL0ZyLnJjCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NDg2M2JmLi4wMDAwMDAwCi0tLSBhL3Byb2dyYW1zL3dpbmhscDMyL0ZyLnJjCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotLyoKLSAqIEhlbHAgVmlld2VyCi0gKgotICogQ29weXJpZ2h0IDE5OTYgVWxyaWNoIFNjaG1pZAotICogQ29weXJpZ2h0IDIwMDIgU3lsdmFpbiBQZXRyZW9sbGUgPHNwZXRyZW9sbGVAeWFob28uZnI+Ci0gKiBDb3B5cmlnaHQgMjAwOCBKb25hdGhhbiBFcm5zdAotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQotICovCi0KLSNpbmNsdWRlICJ3aW5oZWxwX3Jlcy5oIgotCi1MQU5HVUFHRSBMQU5HX0ZSRU5DSCwgU1VCTEFOR19ORVVUUkFMCi0KLS8qIFVURi04ICovCi0jcHJhZ21hIGNvZGVfcGFnZSg2NTAwMSkKLQotTEFOR1VBR0UgTEFOR19GUkVOQ0gsIFNVQkxBTkdfTkVVVFJBTAotCi1JRERfSU5ERVggRElBTE9HIDAsIDAsIDIwMCwgMTkwCi1TVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKLUZPTlQgOCwgIk1TIFNoZWxsIERsZyIKLUNBUFRJT04gIkluZGV4IgotewotICAgIExJU1RCT1ggSURDX0lOREVYTElTVCwgMTAsIDEwLCAxODAsIDE1MCwgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBXU19WU0NST0xMIHwgV1NfQk9SREVSCi19Ci0KLUlERF9TRUFSQ0ggRElBTE9HIDAsIDAsIDIwMCwgMTkwCi1TVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKLUZPTlQgOCwgIk1TIFNoZWxsIERsZyIKLUNBUFRJT04gIlJlY2hlcmNoZSIKLXsKLSAgICBMVEVYVCAgIlBhcyBlbmNvcmUgaW1wbMOpbWVudMOpIiwgLTEsIDEwLCAxMCwgMTgwLCAxNTAKLX0KZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3dpbmhscDMyL0hlLnJjIGIvcHJvZ3JhbXMvd2luaGxwMzIvSGUucmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1OTU5MDMuLjAwMDAwMDAKLS0tIGEvcHJvZ3JhbXMvd2luaGxwMzIvSGUucmMKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0vKgotICogSGVscCBWaWV3ZXIgKEhlYnJldyByZXNvdXJjZXMpCi0gKgotICogQ29weXJpZ2h0IDE5OTYgVWxyaWNoIFNjaG1pZAotICogQ29weXJpZ2h0IDIwMDIgU3lsdmFpbiBQZXRyZW9sbGUgPHNwZXRyZW9sbGVAeWFob28uZnI+Ci0gKiBDb3B5cmlnaHQgMjAxMCBZYXJvbiBTaGFocmFiYW5pIDxzaC55YXJvbkBnbWFpbC5jb20+Ci0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCi0gKi8KLQotI2luY2x1ZGUgIndpbmhlbHBfcmVzLmgiCi0KLSNwcmFnbWEgY29kZV9wYWdlKDY1MDAxKQotCi0vKiBNZW51ICovCi0KLUxBTkdVQUdFIExBTkdfSEVCUkVXLCBTVUJMQU5HX0RFRkFVTFQKLQotSUREX0lOREVYIERJQUxPRyAwLCAwLCAyMDAsIDE5MAotU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCi1FWFNUWUxFIFdTX0VYX0xBWU9VVFJUTAotRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgotQ0FQVElPTiAi157XpNeq15ciCi17Ci0gICAgTElTVEJPWCBJRENfSU5ERVhMSVNULCAxMCwgMTAsIDE4MCwgMTUwLCBMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IFdTX1ZTQ1JPTEwgfCBXU19CT1JERVIKLX0KLQotSUREX1NFQVJDSCBESUFMT0cgMCwgMCwgMjAwLCAxOTAKLVNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQotRVhTVFlMRSBXU19FWF9MQVlPVVRSVEwKLUZPTlQgOCwgIk1TIFNoZWxsIERsZyIKLUNBUFRJT04gIteX15nXpNeV16kiCi17Ci0gICAgTFRFWFQgICLXnNeQINee15XXmNee16Ig16LXk9eZ15nXnyIsIC0xLCAxMCwgMTAsIDE4MCwgMTUwCi19CmRpZmYgLS1naXQgYS9wcm9ncmFtcy93aW5obHAzMi9JdC5yYyBiL3Byb2dyYW1zL3dpbmhscDMyL0l0LnJjCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZWFkOTc0Li4wMDAwMDAwCi0tLSBhL3Byb2dyYW1zL3dpbmhscDMyL0l0LnJjCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotLyoKLSAqIEhlbHAgVmlld2VyCi0gKgotICogQ29weXJpZ2h0IDE5OTYgVWxyaWNoIFNjaG1pZAotICogQ29weXJpZ2h0IDIwMDIgU3lsdmFpbiBQZXRyZW9sbGUgPHNwZXRyZW9sbGVAeWFob28uZnI+Ci0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCi0gKi8KLQotI2luY2x1ZGUgIndpbmhlbHBfcmVzLmgiCi0KLS8qIFVURi04ICovCi0jcHJhZ21hIGNvZGVfcGFnZSg2NTAwMSkKLQotTEFOR1VBR0UgTEFOR19JVEFMSUFOLCBTVUJMQU5HX05FVVRSQUwKLQotSUREX0lOREVYIERJQUxPRyAwLCAwLCAyMDAsIDE5MAotU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCi1GT05UIDgsICJNUyBTaGVsbCBEbGciCi1DQVBUSU9OICJJbmRpY2UiCi17Ci0gICAgTElTVEJPWCBJRENfSU5ERVhMSVNULCAxMCwgMTAsIDE4MCwgMTUwLCBMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IFdTX1ZTQ1JPTEwgfCBXU19CT1JERVIKLX0KLQotSUREX1NFQVJDSCBESUFMT0cgMCwgMCwgMjAwLCAxOTAKLVNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQotRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgotQ0FQVElPTiAiQ2VyY2EiCi17Ci0gICAgTFRFWFQgICJOb24gaW1wbGVtZW50YXRvLiIsIC0xLCAxMCwgMTAsIDE4MCwgMTUwCi19CmRpZmYgLS1naXQgYS9wcm9ncmFtcy93aW5obHAzMi9KYS5yYyBiL3Byb2dyYW1zL3dpbmhscDMyL0phLnJjCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOWQ1YTYzLi4wMDAwMDAwCi0tLSBhL3Byb2dyYW1zL3dpbmhscDMyL0phLnJjCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotLyoKLSAqIEhlbHAgVmlld2VyCi0gKgotICogQ29weXJpZ2h0IDE5OTYgVWxyaWNoIFNjaG1pZAotICogQ29weXJpZ2h0IDIwMDIgU3lsdmFpbiBQZXRyZW9sbGUgPHNwZXRyZW9sbGVAeWFob28uZnI+Ci0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCi0gKi8KLQotI2luY2x1ZGUgIndpbmhlbHBfcmVzLmgiCi0KLUxBTkdVQUdFIExBTkdfSkFQQU5FU0UsIFNVQkxBTkdfREVGQVVMVAotCi0vKiBVVEYtOCAqLwotI3ByYWdtYSBjb2RlX3BhZ2UoNjUwMDEpCi0KLUlERF9JTkRFWCBESUFMT0cgMCwgMCwgMjAwLCAxOTAKLVNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQotRk9OVCA5LCAiTVMgU2hlbGwgRGxnIgotQ0FQVElPTiAi57Si5byVIgotewotICAgIExJU1RCT1ggSURDX0lOREVYTElTVCwgMTAsIDEwLCAxODAsIDE1MCwgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBXU19WU0NST0xMIHwgV1NfQk9SREVSCi19Ci0KLUlERF9TRUFSQ0ggRElBTE9HIDAsIDAsIDIwMCwgMTkwCi1TVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKLUZPTlQgOSwgIk1TIFNoZWxsIERsZyIKLUNBUFRJT04gIuaknOe0oiIKLXsKLSAgICBMVEVYVCAgIuacquWun+ijhSIsIC0xLCAxMCwgMTAsIDE4MCwgMTUwCi19CmRpZmYgLS1naXQgYS9wcm9ncmFtcy93aW5obHAzMi9Lby5yYyBiL3Byb2dyYW1zL3dpbmhscDMyL0tvLnJjCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxN2I2NDliLi4wMDAwMDAwCi0tLSBhL3Byb2dyYW1zL3dpbmhscDMyL0tvLnJjCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotLyoKLSAqIEhlbHAgVmlld2VyCi0gKgotICogQ29weXJpZ2h0IDE5OTYgVWxyaWNoIFNjaG1pZAotICogQ29weXJpZ2h0IDIwMDIgU3lsdmFpbiBQZXRyZW9sbGUgPHNwZXRyZW9sbGVAeWFob28uZnI+Ci0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCi0gKi8KLQotI2luY2x1ZGUgIndpbmhlbHBfcmVzLmgiCi0KLSNwcmFnbWEgY29kZV9wYWdlKDY1MDAxKQotCi1MQU5HVUFHRSBMQU5HX0tPUkVBTiwgU1VCTEFOR19ERUZBVUxUCi0KLUlERF9JTkRFWCBESUFMT0cgMCwgMCwgMjAwLCAxOTAKLVNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQotRk9OVCA5LCAiTVMgU2hlbGwgRGxnIgotQ0FQVElPTiAi7J24642x7IqkIgotewotICAgIExJU1RCT1ggSURDX0lOREVYTElTVCwgMTAsIDEwLCAxODAsIDE1MCwgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBXU19WU0NST0xMIHwgV1NfQk9SREVSCi19Ci0KLUlERF9TRUFSQ0ggRElBTE9HIDAsIDAsIDIwMCwgMTkwCi1TVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKLUZPTlQgOSwgIk1TIFNoZWxsIERsZyIKLUNBUFRJT04gIuywvuq4sCIKLXsKLSAgICBMVEVYVCAgIuyVhOyngSDqtaztmITrkJjsp4Ag7JWK7J2MIiwgLTEsIDEwLCAxMCwgMTgwLCAxNTAKLX0KZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3dpbmhscDMyL0x0LnJjIGIvcHJvZ3JhbXMvd2luaGxwMzIvTHQucmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2NDMyZDYuLjAwMDAwMDAKLS0tIGEvcHJvZ3JhbXMvd2luaGxwMzIvTHQucmMKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi0vKgotICogSGVscCBWaWV3ZXIKLSAqCi0gKiBDb3B5cmlnaHQgMjAwOSBBdXJpbWFzIEZpxaFlcmFzIDxhdXJpbWFzQGdtYWlsLmNvbT4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKLSAqLwotCi0jaW5jbHVkZSAid2luaGVscF9yZXMuaCIKLQotLyogVVRGLTggKi8KLSNwcmFnbWEgY29kZV9wYWdlKDY1MDAxKQotCi1MQU5HVUFHRSBMQU5HX0xJVEhVQU5JQU4sIFNVQkxBTkdfTkVVVFJBTAotCi1JRERfSU5ERVggRElBTE9HIDAsIDAsIDIwMCwgMTkwCi1TVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKLUZPTlQgOCwgIk1TIFNoZWxsIERsZyIKLUNBUFRJT04gIkluZGVrc2FzIgotewotICAgIExJU1RCT1ggSURDX0lOREVYTElTVCwgMTAsIDEwLCAxODAsIDE1MCwgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBXU19WU0NST0xMIHwgV1NfQk9SREVSCi19Ci0KLUlERF9TRUFSQ0ggRElBTE9HIDAsIDAsIDIwMCwgMTkwCi1TVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKLUZPTlQgOCwgIk1TIFNoZWxsIERsZyIKLUNBUFRJT04gIlBhaWXFoWthIgotewotICAgIExURVhUICAiRGFyIG5lcmVhbGl6dW90YSIsIC0xLCAxMCwgMTAsIDE4MCwgMTUwCi19CmRpZmYgLS1naXQgYS9wcm9ncmFtcy93aW5obHAzMi9NYWtlZmlsZS5pbiBiL3Byb2dyYW1zL3dpbmhscDMyL01ha2VmaWxlLmluCmluZGV4IDlmOGY4ZDAuLjVkYTkwN2EgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3dpbmhscDMyL01ha2VmaWxlLmluCisrKyBiL3Byb2dyYW1zL3dpbmhscDMyL01ha2VmaWxlLmluCkBAIC0xMiwzMCArMTIsNyBAQAogCiBMRVhfU1JDUyA9IG1hY3JvLmxleC5sCiAKLVJDX1NSQ1MgPSBcCi0JRGEucmMgXAotCURlLnJjIFwKLQlFbi5yYyBcCi0JRXMucmMgXAotCUZyLnJjIFwKLQlIZS5yYyBcCi0JSXQucmMgXAotCUphLnJjIFwKLQlLby5yYyBcCi0JTHQucmMgXAotCU5sLnJjIFwKLQlOby5yYyBcCi0JUGwucmMgXAotCVB0LnJjIFwKLQlSby5yYyBcCi0JUnUucmMgXAotCVNpLnJjIFwKLQlTci5yYyBcCi0JU3YucmMgXAotCVVrLnJjIFwKLQlaaC5yYyBcCi0Jd2luaGxwMzIucmMKLQorUkNfU1JDUyA9IHdpbmhscDMyLnJjCiBQT19TUkNTID0gd2luaGxwMzIucmMKIAogU1ZHX1NSQ1MgPSB3aW5oZWxwLnN2ZwpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvd2luaGxwMzIvTmwucmMgYi9wcm9ncmFtcy93aW5obHAzMi9ObC5yYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2MwZjc5Zi4uMDAwMDAwMAotLS0gYS9wcm9ncmFtcy93aW5obHAzMi9ObC5yYworKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLS8qCi0gKiBIZWxwIFZpZXdlciAoRHV0Y2ggcmVzb3VyY2VzKQotICoKLSAqIENvcHlyaWdodCAyMDAzIEhhbnMgTGVpZGVra2VyCi0gKiBDb3B5cmlnaHQgMjAwOCBGcmFucyBLb29sCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCi0gKi8KLQotI2luY2x1ZGUgIndpbmhlbHBfcmVzLmgiCi0KLSNwcmFnbWEgY29kZV9wYWdlKDY1MDAxKQotCi1MQU5HVUFHRSBMQU5HX0RVVENILCBTVUJMQU5HX05FVVRSQUwKLQotSUREX0lOREVYIERJQUxPRyAwLCAwLCAyMDAsIDE5MAotU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCi1GT05UIDgsICJNUyBTaGVsbCBEbGciCi1DQVBUSU9OICJJbmRleCIKLXsKLSAgICBMSVNUQk9YIElEQ19JTkRFWExJU1QsIDEwLCAxMCwgMTgwLCAxNTAsIExCU19OT0lOVEVHUkFMSEVJR0hUIHwgV1NfVlNDUk9MTCB8IFdTX0JPUkRFUgotfQotCi1JRERfU0VBUkNIIERJQUxPRyAwLCAwLCAyMDAsIDE5MAotU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCi1GT05UIDgsICJNUyBTaGVsbCBEbGciCi1DQVBUSU9OICJab2VrZW4iCi17Ci0gICAgTFRFWFQgICJOb2cgbmlldCBnZcOvbXBsZW1lbnRlZXJkIiwgLTEsIDEwLCAxMCwgMTgwLCAxNTAKLX0KZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3dpbmhscDMyL05vLnJjIGIvcHJvZ3JhbXMvd2luaGxwMzIvTm8ucmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkZmFkYWYuLjAwMDAwMDAKLS0tIGEvcHJvZ3JhbXMvd2luaGxwMzIvTm8ucmMKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi0vKgotICogSGVscCBWaWV3ZXIKLSAqCi0gKiBDb3B5cmlnaHQgMjAwNS0yMDA4IEFsZXhhbmRlciBOLiBT+HJuZXMgPGFsZXhAdGhlaGFuZG9mYWdvbnkuY29tPgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQotICovCi0KLSNpbmNsdWRlICJ3aW5oZWxwX3Jlcy5oIgotCi1MQU5HVUFHRSBMQU5HX05PUldFR0lBTiwgU1VCTEFOR19OT1JXRUdJQU5fQk9LTUFMCi0KLUlERF9JTkRFWCBESUFMT0cgMCwgMCwgMjAwLCAxOTAKLVNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQotRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgotQ0FQVElPTiAiSW5uaG9sZCIKLXsKLSAgICBMSVNUQk9YIElEQ19JTkRFWExJU1QsIDEwLCAxMCwgMTgwLCAxNTAsIExCU19OT0lOVEVHUkFMSEVJR0hUIHwgV1NfVlNDUk9MTCB8IFdTX0JPUkRFUgotfQotCi1JRERfU0VBUkNIIERJQUxPRyAwLCAwLCAyMDAsIDE5MAotU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCi1GT05UIDgsICJNUyBTaGVsbCBEbGciCi1DQVBUSU9OICJT+GsiCi17Ci0gICAgTFRFWFQgICJJa2tlIGxhZ2V0IGVubuUiLCAtMSwgMTAsIDEwLCAxODAsIDE1MAotfQpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvd2luaGxwMzIvUGwucmMgYi9wcm9ncmFtcy93aW5obHAzMi9QbC5yYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGJiOWYxNC4uMDAwMDAwMAotLS0gYS9wcm9ncmFtcy93aW5obHAzMi9QbC5yYworKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLS8qCi0gKiBIZWxwIFZpZXdlcgotICoKLSAqIENvcHlyaWdodCAxOTk2IFVscmljaCBTY2htaWQKLSAqIENvcHlyaWdodCAyMDAyIFN5bHZhaW4gUGV0cmVvbGxlIDxzcGV0cmVvbGxlQHlhaG9vLmZyPgotICogQ29weXJpZ2h0IDIwMDQgUGlvdHIgQ2FiYW4KLSAqIENvcHlyaWdodCAyMDEwIKN1a2FzeiBXb2puabNvd2ljegotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQotICovCi0KLSNpbmNsdWRlICJ3aW5oZWxwX3Jlcy5oIgotCi1MQU5HVUFHRSBMQU5HX1BPTElTSCwgU1VCTEFOR19ERUZBVUxUCi0KLUlERF9JTkRFWCBESUFMT0cgMCwgMCwgMjAwLCAxOTAKLVNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQotRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgotQ0FQVElPTiAiSW5kZWtzIgotewotICAgIExJU1RCT1ggSURDX0lOREVYTElTVCwgMTAsIDEwLCAxODAsIDE1MCwgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBXU19WU0NST0xMIHwgV1NfQk9SREVSCi19Ci0KLUlERF9TRUFSQ0ggRElBTE9HIDAsIDAsIDIwMCwgMTkwCi1TVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKLUZPTlQgOCwgIk1TIFNoZWxsIERsZyIKLUNBUFRJT04gIlN6dWthaiIKLXsKLSAgICBMVEVYVCAgIk5pZSB6YWltcGxlbWVudG93YW5lIiwgLTEsIDEwLCAxMCwgMTgwLCAxNTAKLX0KZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3dpbmhscDMyL1B0LnJjIGIvcHJvZ3JhbXMvd2luaGxwMzIvUHQucmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViZTZlYzguLjAwMDAwMDAKLS0tIGEvcHJvZ3JhbXMvd2luaGxwMzIvUHQucmMKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi0vKgotICogSGVscCBWaWV3ZXIKLSAqIFBvcnR1Z3Vlc2UgTGFuZ3VhZ2UgU3VwcG9ydAotICoKLSAqIENvcHlyaWdodCAxOTk2IFVscmljaCBTY2htaWQKLSAqIFBvcnR1Z3Vlc2UgdHJhbnNsYXRpb24gYnkgR3VzdGF2byBKdW5pb3IgQWx2ZXMgPGFsdmVzQGNvcnJlaW9uZXQuY29tLmJyPgotICogQ29weXJpZ2h0IDIwMDIgU3lsdmFpbiBQZXRyZW9sbGUgPHNwZXRyZW9sbGVAeWFob28uZnI+Ci0gKiBDb3B5cmlnaHQgMjAwMyBNYXJjZWxvIER1YXJ0ZQotICogQ29weXJpZ2h0IDIwMDQsMjAwNyBBbcOpcmljbyBKb3PDqSBNZWxvCi0gKiBDb3B5cmlnaHQgMjAwOSBSaWNhcmRvIEZpbGlwZQotICogQ29weXJpZ2h0IDIwMTAgR3VzdGF2byBIZW5yaXF1ZSBNaWxhcsOpCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCi0gKi8KLQotI2luY2x1ZGUgIndpbmhlbHBfcmVzLmgiCi0KLSNwcmFnbWEgY29kZV9wYWdlKDY1MDAxKQotCi1MQU5HVUFHRSBMQU5HX1BPUlRVR1VFU0UsIFNVQkxBTkdfTkVVVFJBTAotCi1JRERfSU5ERVggRElBTE9HIDAsIDAsIDIwMCwgMTkwCi1TVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKLUZPTlQgOCwgIk1TIFNoZWxsIERsZyIKLUNBUFRJT04gIsONbmRpY2UiCi17Ci0gICAgTElTVEJPWCBJRENfSU5ERVhMSVNULCAxMCwgMTAsIDE4MCwgMTUwLCBMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IFdTX1ZTQ1JPTEwgfCBXU19CT1JERVIKLX0KLQotSUREX1NFQVJDSCBESUFMT0cgMCwgMCwgMjAwLCAxOTAKLVNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQotRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgotQ0FQVElPTiAiUHJvY3VyYSIKLXsKLSAgICBMVEVYVCAgIkFpbmRhIG7Do28gaW1wbGVtZW50YWRvIiwgLTEsIDEwLCAxMCwgMTgwLCAxNTAKLX0KZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3dpbmhscDMyL1JvLnJjIGIvcHJvZ3JhbXMvd2luaGxwMzIvUm8ucmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc2M2U2YzAuLjAwMDAwMDAKLS0tIGEvcHJvZ3JhbXMvd2luaGxwMzIvUm8ucmMKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0vKgotICogSGVscCBWaWV3ZXIKLSAqCi0gKiBDb3B5cmlnaHQgMTk5NiBVbHJpY2ggU2NobWlkCi0gKiBDb3B5cmlnaHQgMjAwMiBTeWx2YWluIFBldHJlb2xsZSA8c3BldHJlb2xsZUB5YWhvby5mcj4KLSAqIENvcHlyaWdodCAyMDA5IE1pY2hhZWwgU3RlZmFuaXVjCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCi0gKi8KLQotI2luY2x1ZGUgIndpbmhlbHBfcmVzLmgiCi0KLUxBTkdVQUdFIExBTkdfUk9NQU5JQU4sIFNVQkxBTkdfTkVVVFJBTAotCi0jcHJhZ21hIGNvZGVfcGFnZSg2NTAwMSkKLQotSUREX0lOREVYIERJQUxPRyAwLCAwLCAyMDAsIDE5MAotU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCi1GT05UIDgsICJNUyBTaGVsbCBEbGciCi1DQVBUSU9OICJJbmRleCIKLXsKLSAgICBMSVNUQk9YIElEQ19JTkRFWExJU1QsIDEwLCAxMCwgMTgwLCAxNTAsIExCU19OT0lOVEVHUkFMSEVJR0hUIHwgV1NfVlNDUk9MTCB8IFdTX0JPUkRFUgotfQotCi1JRERfU0VBUkNIIERJQUxPRyAwLCAwLCAyMDAsIDE5MAotU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCi1GT05UIDgsICJNUyBTaGVsbCBEbGciCi1DQVBUSU9OICJDxIN1dGFyZSIKLXsKLSAgICBMVEVYVCAgIsOObmPEgyBuZWltcGxlbWVudGF0xIMiLCAtMSwgMTAsIDEwLCAxODAsIDE1MAotfQpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvd2luaGxwMzIvUnUucmMgYi9wcm9ncmFtcy93aW5obHAzMi9SdS5yYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDY0ZjkxYS4uMDAwMDAwMAotLS0gYS9wcm9ncmFtcy93aW5obHAzMi9SdS5yYworKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLS8qCi0gKiBIZWxwIFZpZXdlciAoUnVzc2lhbiByZXNvdXJjZXMpCi0gKgotICogQ29weXJpZ2h0IDIwMDMgSWdvciBTdGVwaW4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKLSAqLwotCi0jaW5jbHVkZSAid2luaGVscF9yZXMuaCIKLQotLyogVVRGLTggKi8KLSNwcmFnbWEgY29kZV9wYWdlKDY1MDAxKQotCi1MQU5HVUFHRSBMQU5HX1JVU1NJQU4sIFNVQkxBTkdfREVGQVVMVAotCi1JRERfSU5ERVggRElBTE9HIDAsIDAsIDIwMCwgMTkwCi1TVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKLUZPTlQgOCwgIk1TIFNoZWxsIERsZyIKLUNBUFRJT04gItCj0LrQsNC30LDRgtC10LvRjCIKLXsKLSAgICBMSVNUQk9YIElEQ19JTkRFWExJU1QsIDEwLCAxMCwgMTgwLCAxNTAsIExCU19OT0lOVEVHUkFMSEVJR0hUIHwgV1NfVlNDUk9MTCB8IFdTX0JPUkRFUgotfQotCi1JRERfU0VBUkNIIERJQUxPRyAwLCAwLCAyMDAsIDE5MAotU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCi1GT05UIDgsICJNUyBTaGVsbCBEbGciCi1DQVBUSU9OICLQn9C+0LjRgdC6IgotewotICAgIExURVhUICAi0J3QtSDRgNC10LDQu9C40LfQvtCy0LDQvdC+IiwgLTEsIDEwLCAxMCwgMTgwLCAxNTAKLX0KZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3dpbmhscDMyL1NpLnJjIGIvcHJvZ3JhbXMvd2luaGxwMzIvU2kucmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkODM1ODEuLjAwMDAwMDAKLS0tIGEvcHJvZ3JhbXMvd2luaGxwMzIvU2kucmMKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi0vKgotICogSGVscCBWaWV3ZXIgKFNsb3ZlbmlhbiBSZXNvdXJjZXMpCi0gKgotICogQ29weXJpZ2h0IDIwMDIsIDIwMDMsIDIwMDggUm9rIE1hbmRlbGpjCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCi0gKi8KLQotI2luY2x1ZGUgIndpbmhlbHBfcmVzLmgiCi0KLUxBTkdVQUdFIExBTkdfU0xPVkVOSUFOLCBTVUJMQU5HX0RFRkFVTFQKLQotI3ByYWdtYSBjb2RlX3BhZ2UoNjUwMDEpCi0KLUlERF9JTkRFWCBESUFMT0cgMCwgMCwgMjAwLCAxOTAKLVNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQotRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgotQ0FQVElPTiAiSW5kZWtzIgotewotICAgIExJU1RCT1ggSURDX0lOREVYTElTVCwgMTAsIDEwLCAxODAsIDE1MCwgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBXU19WU0NST0xMIHwgV1NfQk9SREVSCi19Ci0KLUlERF9TRUFSQ0ggRElBTE9HIDAsIDAsIDIwMCwgMTkwCi1TVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKLUZPTlQgOCwgIk1TIFNoZWxsIERsZyIKLUNBUFRJT04gIklza2FuamUiCi17Ci0gICAgTFRFWFQgICJOaSAoxaFlKSBuYSB2b2xqbyIsIC0xLCAxMCwgMTAsIDE4MCwgMTUwCi19CmRpZmYgLS1naXQgYS9wcm9ncmFtcy93aW5obHAzMi9Tci5yYyBiL3Byb2dyYW1zL3dpbmhscDMyL1NyLnJjCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmODhiMjUyLi4wMDAwMDAwCi0tLSBhL3Byb2dyYW1zL3dpbmhscDMyL1NyLnJjCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotLyoKLSAqIEhlbHAgVmlld2VyCi0gKgotICogQ29weXJpZ2h0IDIwMTAgTmVuYWQgVnVqaWMKLSAqICAgICAgICAgICAgICAgIFBhdWwgVnJpZW5zCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCi0gKi8KLQotI2luY2x1ZGUgIndpbmhlbHBfcmVzLmgiCi0KLSNwcmFnbWEgY29kZV9wYWdlKDY1MDAxKQotCi0vKiBNZW51ICovCi0KLUxBTkdVQUdFIExBTkdfU0VSQklBTiwgU1VCTEFOR19TRVJCSUFOX0xBVElOCi0KLUlERF9JTkRFWCBESUFMT0cgMCwgMCwgMjAwLCAxOTAKLVNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQotRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgotQ0FQVElPTiAiSW5kZXgiCi17Ci0gICAgTElTVEJPWCBJRENfSU5ERVhMSVNULCAxMCwgMTAsIDE4MCwgMTUwLCBMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IFdTX1ZTQ1JPTEwgfCBXU19CT1JERVIKLX0KLQotSUREX1NFQVJDSCBESUFMT0cgMCwgMCwgMjAwLCAxOTAKLVNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQotRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgotQ0FQVElPTiAiVHJhxb5pIgotewotICAgIExURVhUICAiTm90IGltcGxlbWVudGVkIHlldCIsIC0xLCAxMCwgMTAsIDE4MCwgMTUwCi19CmRpZmYgLS1naXQgYS9wcm9ncmFtcy93aW5obHAzMi9Tdi5yYyBiL3Byb2dyYW1zL3dpbmhscDMyL1N2LnJjCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNzliYWNkLi4wMDAwMDAwCi0tLSBhL3Byb2dyYW1zL3dpbmhscDMyL1N2LnJjCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotLyoKLSAqIEhlbHAgVmlld2VyCi0gKgotICogQ29weXJpZ2h0IDE5OTYgVWxyaWNoIFNjaG1pZAotICogU3dlZGlzaCBsYW5ndWFnZSBieSBLYXJsIEJhY2tzdHL2bSA8a2FybF9iQGdlb2NpdGllcy5jb20+Ci0gKiBDb3B5cmlnaHQgMjAwMiBTeWx2YWluIFBldHJlb2xsZSA8c3BldHJlb2xsZUB5YWhvby5mcj4KLSAqIENvcHlyaWdodCAyMDA3LCAyMDA4IERhbmllbCBOeWxhbmRlciA8cG9AZGFuaWVsbnlsYW5kZXIuc2U+Ci0gKiBDb3B5cmlnaHQgMjAwOSBBbmRlcnMgSm9uc3NvbgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQotICovCi0KLSNpbmNsdWRlICJ3aW5oZWxwX3Jlcy5oIgotCi1MQU5HVUFHRSBMQU5HX1NXRURJU0gsIFNVQkxBTkdfTkVVVFJBTAotCi1JRERfSU5ERVggRElBTE9HIDAsIDAsIDIwMCwgMTkwCi1TVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKLUZPTlQgOCwgIk1TIFNoZWxsIERsZyIKLUNBUFRJT04gIkluZGV4IgotewotICAgIExJU1RCT1ggSURDX0lOREVYTElTVCwgMTAsIDEwLCAxODAsIDE1MCwgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBXU19WU0NST0xMIHwgV1NfQk9SREVSCi19Ci0KLUlERF9TRUFSQ0ggRElBTE9HIDAsIDAsIDIwMCwgMTkwCi1TVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKLUZPTlQgOCwgIk1TIFNoZWxsIERsZyIKLUNBUFRJT04gIlP2ayIKLXsKLSAgICBMVEVYVCAgIkludGUgaW1wbGVtZW50ZXJhdCDkbm51IiwgLTEsIDEwLCAxMCwgMTgwLCAxNTAKLX0KZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3dpbmhscDMyL1VrLnJjIGIvcHJvZ3JhbXMvd2luaGxwMzIvVWsucmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyZDU1ZDUuLjAwMDAwMDAKLS0tIGEvcHJvZ3JhbXMvd2luaGxwMzIvVWsucmMKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0vKgotICogSGVscCBWaWV3ZXIKLSAqCi0gKiBDb3B5cmlnaHQgMTk5NiBVbHJpY2ggU2NobWlkCi0gKiBDb3B5cmlnaHQgMjAwMiBTeWx2YWluIFBldHJlb2xsZSA8c3BldHJlb2xsZUB5YWhvby5mcj4KLSAqCi0gKiBVa3JhaW5pYW4gbGFuZ3VhZ2Ugc3VwcG9ydAotICoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBJZ29yIFBhbGl5Y2h1awotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQotICovCi0KLSNpbmNsdWRlICJ3aW5oZWxwX3Jlcy5oIgotCi0vKiBVVEYtOCAqLwotI3ByYWdtYSBjb2RlX3BhZ2UoNjUwMDEpCi0KLUxBTkdVQUdFIExBTkdfVUtSQUlOSUFOLCBTVUJMQU5HX0RFRkFVTFQKLQotSUREX0lOREVYIERJQUxPRyAwLCAwLCAyMDAsIDE5MAotU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCi1GT05UIDgsICJNUyBTaGVsbCBEbGciCi1DQVBUSU9OICLQktC60LDQt9GW0LLQvdC40LoiCi17Ci0gICAgTElTVEJPWCBJRENfSU5ERVhMSVNULCAxMCwgMTAsIDE4MCwgMTUwLCBMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IFdTX1ZTQ1JPTEwgfCBXU19CT1JERVIKLX0KLQotSUREX1NFQVJDSCBESUFMT0cgMCwgMCwgMjAwLCAxOTAKLVNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQotRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgotQ0FQVElPTiAi0J/QvtGI0YPQuiIKLXsKLSAgICBMVEVYVCAgItCp0LUg0L3QtSDQstC/0YDQvtCy0LDQtNC20LXQvdC+IiwgLTEsIDEwLCAxMCwgMTgwLCAxNTAKLX0KZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3dpbmhscDMyL1poLnJjIGIvcHJvZ3JhbXMvd2luaGxwMzIvWmgucmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxM2ZlNzcuLjAwMDAwMDAKLS0tIGEvcHJvZ3JhbXMvd2luaGxwMzIvWmgucmMKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi0vKgotICogSGVscCBWaWV3ZXIKLSAqIFNpbXBsaWZpZWQgYW5kIFRyYWRpdGlvbmFsIENoaW5lc2UgTGFuZ3VhZ2UgU3VwcG9ydAotICoKLSAqIENvcHlyaWdodCAyMDAyIGxpdXNwaWRlciA8bGl1c3BpZGVyQHlhaG9vLmNvbT4KLSAqIENvcHlyaWdodCAyMDA4IEhvbmdibyBOaSA8aG9uZ2JvLmF0Lm5qc3Rhci5jb20+Ci0gKiBDb3B5cmlnaHQgMjAxMCBDaGVlciBYaWFvIDx4aWFxcWFpeC5hdC5nbWFpbC5jb20+Ci0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCi0gKi8KLQotI2luY2x1ZGUgIndpbmhlbHBfcmVzLmgiCi0KLS8qIENoaW5lc2UgdGV4dCBpcyBlbmNvZGVkIGluIFVURi04ICovCi0jcHJhZ21hIGNvZGVfcGFnZSg2NTAwMSkKLQotTEFOR1VBR0UgTEFOR19DSElORVNFLCBTVUJMQU5HX0NISU5FU0VfU0lNUExJRklFRAotCi1JRERfSU5ERVggRElBTE9HIDAsIDAsIDIwMCwgMTkwCi1TVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKLUZPTlQgOCwgIk1TIFNoZWxsIERsZyIKLUNBUFRJT04gIue0ouW8lSIKLXsKLSAgICBMSVNUQk9YIElEQ19JTkRFWExJU1QsIDEwLCAxMCwgMTgwLCAxNTAsIExCU19OT0lOVEVHUkFMSEVJR0hUIHwgV1NfVlNDUk9MTCB8IFdTX0JPUkRFUgotfQotCi1JRERfU0VBUkNIIERJQUxPRyAwLCAwLCAyMDAsIDE5MAotU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCi1GT05UIDgsICJNUyBTaGVsbCBEbGciCi1DQVBUSU9OICLmkJzntKIiCi17Ci0gICAgTFRFWFQgICLlsJrmnKrlrp7njrAiLCAtMSwgMTAsIDEwLCAxODAsIDE1MAotfQpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvd2luaGxwMzIvd2luaGxwMzIucmMgYi9wcm9ncmFtcy93aW5obHAzMi93aW5obHAzMi5yYwppbmRleCBiZDdmMjFkLi5lYjhhMWMzIDEwMDY0NAotLS0gYS9wcm9ncmFtcy93aW5obHAzMi93aW5obHAzMi5yYworKysgYi9wcm9ncmFtcy93aW5obHAzMi93aW5obHAzMi5yYwpAQCAtOTEsNiArOTEsMjIgQEAKIFNUSURfUFNIX0lOREVYLAkJIkhlbHAgdG9waWNzOiAiCiB9CiAKK0lERF9JTkRFWCBESUFMT0cgMCwgMCwgMjAwLCAxOTAKK1NUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQorRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgorQ0FQVElPTiAiSW5kZXgiCit7CisgICAgTElTVEJPWCBJRENfSU5ERVhMSVNULCAxMCwgMTAsIDE4MCwgMTUwLCBMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IFdTX1ZTQ1JPTEwgfCBXU19CT1JERVIKK30KKworSUREX1NFQVJDSCBESUFMT0cgMCwgMCwgMjAwLCAxOTAKK1NUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQorRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgorQ0FQVElPTiAiU2VhcmNoIgoreworICAgIExURVhUICAiTm90IGltcGxlbWVudGVkIHlldCIsIC0xLCAxMCwgMTAsIDE4MCwgMTUwCit9CisKIExBTkdVQUdFIExBTkdfTkVVVFJBTCwgU1VCTEFOR19ORVVUUkFMCiAKIAo=