ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvc3YvbWFpbi5hYXAgYi9ydW50aW1lL3NwZWxsL3N2L21haW4uYWFwCmluZGV4IDU2MzQ3MTEuLmRlODY5NmUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3BlbGwvc3YvbWFpbi5hYXAKKysrIGIvcnVudGltZS9zcGVsbC9zdi9tYWluLmFhcApAQCAtMSw2ICsxLDYgQEAKICMgQWFwIHJlY2lwZSBmb3IgU3dlZGlzaCBWaW0gc3BlbGwgZmlsZXMuCiAjCi0jIE1haW50YWluZXI6IFN0ZWZhbiBLYXJsc3NvbiA8c3RlZmFuLjc0QGNvbWhlbS5zZT4KKyMgTWFpbnRhaW5lcjogTWF0dGlhcyBXaW50aGVyIDx2aW1AbWF0dGlhcy53aW50aGVybmV0LnNlPgogCiAjIFVzZSBhIGZyZXNobHkgY29tcGlsZWQgVmltIGlmIGl0IGV4aXN0cy4KIEBpZiBvcy5wYXRoLmV4aXN0cygnLi4vLi4vLi4vc3JjL3ZpbScpOgpAQCAtMTQsMzAgKzE0LDMzIEBACiBhbGw6ICRTUEVMTERJUi9zdi5sYXRpbjEuc3BsICRTUEVMTERJUi9zdi51dGYtOC5zcGwgLi4vUkVBRE1FX3N2LnR4dAogCiAkU1BFTExESVIvc3YubGF0aW4xLnNwbCA6ICRGSUxFUwotICAgICAgICA6c3lzIGVudiBMQU5HPXN2X1NFLklTTzg4NTktMQorICAgICAgICA6c3lzIGVudiBMQU5HPXN2X1NFLklTTy04ODU5LTEKIAkJJFZJTSAtdSBOT05FIC1lIC1jICJta3NwZWxsISAkU1BFTExESVIvc3Ygc3ZfU0UiIC1jIHEKIAogJFNQRUxMRElSL3N2LnV0Zi04LnNwbCA6ICRGSUxFUwogICAgICAgICA6c3lzIGVudiBMQU5HPXN2X1NFLlVURi04CiAJCSRWSU0gLXUgTk9ORSAtZSAtYyAibWtzcGVsbCEgJFNQRUxMRElSL3N2IHN2X1NFIiAtYyBxCiAKLS4uL1JFQURNRV9zdi50eHQgOiBSRUFETUVfc3ZfU0UudHh0CisuLi9SRUFETUVfc3YudHh0IDogTElDRU5TRV9zdl9TRS50eHQKICAgICAgICAgOmNvcHkgJHNvdXJjZSAkdGFyZ2V0CiAKICMKICMgRmV0Y2hpbmcgdGhlIGZpbGVzIGZyb20gT3Blbk9mZmljZS5vcmcuCiAjCi1PT0RJUiA9IGh0dHA6Ly9mdHAuc2VydmljZXMub3Blbm9mZmljZS5vcmcvcHViL09wZW5PZmZpY2Uub3JnL2NvbnRyaWIvZGljdGlvbmFyaWVzCi06YXR0ciB7ZmV0Y2ggPSAkT09ESVIvJWZpbGUlfSBzdl9TRS56aXAKK09PRElSID0gaHR0cDovL2V4dGVuc2lvbnMuc2VydmljZXMub3Blbm9mZmljZS5vcmcvZS1maWxlcy8xMDgwLzYKKzphdHRyIHtmZXRjaCA9ICRPT0RJUi8lZmlsZSV9IG9vb19zd2VkaXNoX2RpY3RfMS40Mi5veHQKIAogIyBUaGUgZmlsZXMgZG9uJ3QgZGVwZW5kIG9uIHRoZSAuemlwIGZpbGUgc28gdGhhdCB3ZSBjYW4gZGVsZXRlIGl0LgogIyBPbmx5IGRvd25sb2FkIHRoZSB6aXAgZmlsZSBpZiB0aGUgdGFyZ2V0cyBkb24ndCBleGlzdC4KIHN2X1NFLmFmZiBzdl9TRS5kaWM6IHtidWlsZGNoZWNrPX0KICAgICAgICAgOmFzc2VydHBrZyB1bnppcCBwYXRjaAotICAgICAgICA6ZmV0Y2ggc3ZfU0UuemlwCi0gICAgICAgIDpzeXMgJFVOWklQIHN2X1NFLnppcAotICAgICAgICA6ZGVsZXRlIHN2X1NFLnppcAotICAgICAgICA6ZGVsZXRlIGh5cGhfc3ZfU0UuZGljCisgICAgICAgIDpmZXRjaCBvb29fc3dlZGlzaF9kaWN0XzEuNDIub3h0CisgICAgICAgIDpzeXMgJFVOWklQIG9vb19zd2VkaXNoX2RpY3RfMS40Mi5veHQKKyAgICAgICAgOmRlbGV0ZSBvb29fc3dlZGlzaF9kaWN0XzEuNDIub3h0CisgICAgICAgIDpkZWxldGUge3J9IE1FVEEtSU5GCisgICAgICAgIDpjb3B5IGRpY3Rpb25hcmllcy9zdl9TRS5hZmYgc3ZfU0UuYWZmCisgICAgICAgIDpjb3B5IGRpY3Rpb25hcmllcy9zdl9TRS5kaWMgc3ZfU0UuZGljCisgICAgICAgIDpkZWxldGUge3J9IGRpY3Rpb25hcmllcyBkaWN0aW9uYXJpZXMueGN1IGRlc2NyaXB0aW9uLnhtbAogICAgICAgICBAaWYgbm90IG9zLnBhdGguZXhpc3RzKCdzdl9TRS5vcmlnLmFmZicpOgogICAgICAgICAgICAgOmNvcHkgc3ZfU0UuYWZmIHN2X1NFLm9yaWcuYWZmCiAgICAgICAgIEBpZiBub3Qgb3MucGF0aC5leGlzdHMoJ3N2X1NFLm9yaWcuZGljJyk6CkBAIC02MCwxMiArNjMsMTIgQEAKIAogY2hlY2s6CiAgICAgICAgIDphc3NlcnRwa2cgdW56aXAgZGlmZgotICAgICAgICA6ZmV0Y2ggc3ZfU0UuemlwCisgICAgICAgIDpmZXRjaCBvb29fc3dlZGlzaF9kaWN0XzEuNDIub3h0CiAgICAgICAgIDpta2RpciB0bXAKICAgICAgICAgOmNkIHRtcAogICAgICAgICBAdHJ5OgogICAgICAgICAgICAgQGltcG9ydCBzdGF0Ci0gICAgICAgICAgICA6c3lzICRVTlpJUCAuLi9zdl9TRS56aXAKKyAgICAgICAgICAgIDpzeXMgJFVOWklQIC4uL29vb19zd2VkaXNoX2RpY3RfMS40Mi5veHQKICAgICAgICAgICAgIDpzeXMge2ZvcmNlfSBkaWZmIC4uL3N2X1NFLm9yaWcuYWZmIHN2X1NFLmFmZiA+ZAogICAgICAgICAgICAgQGlmIG9zLnN0YXQoJ2QnKVtzdGF0LlNUX1NJWkVdID4gMDoKICAgICAgICAgICAgICAgICA6Y29weSBzdl9TRS5hZmYgLi4vc3ZfU0UubmV3LmFmZgpAQCAtNzUsNyArNzgsNyBAQAogICAgICAgICBAZmluYWxseToKICAgICAgICAgICAgIDpjZCAuLgogICAgICAgICAgICAgOmRlbGV0ZSB7cn17Zn17cX0gdG1wCi0gICAgICAgICAgICA6ZGVsZXRlIHN2X1NFLnppcAorICAgICAgICAgICAgOmRlbGV0ZSBvb29fc3dlZGlzaF9kaWN0XzEuNDIub3h0CiAKIAogIyB2aW06IHNldCBzdHM9NCBzdz00IDoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvc3Yvc3ZfU0UuZGlmZiBiL3J1bnRpbWUvc3BlbGwvc3Yvc3ZfU0UuZGlmZgppbmRleCA3M2VkMTRiLi42YzgzZDQ5IDEwMDY0NAotLS0gYS9ydW50aW1lL3NwZWxsL3N2L3N2X1NFLmRpZmYKKysrIGIvcnVudGltZS9zcGVsbC9zdi9zdl9TRS5kaWZmCkBAIC0xLDkgKzEsOSBAQAotKioqIHN2X1NFLm9yaWcuYWZmCVRodSBGZWIgMjMgMjA6MDI6MzIgMjAwNgotLS0tIHN2X1NFLmFmZglUaHUgRmViIDIzIDIwOjAyOjMyIDIwMDYKKyoqKiBzdl9TRS5vcmlnLmFmZgkyMDEwLTA1LTIwIDIxOjMxOjU0LjAwMDAwMDAwMCArMDIwMAorLS0tIHN2X1NFLmFmZgkyMDEwLTA1LTIwIDIxOjM4OjM2LjAwMDAwMDAwMCArMDIwMAogKioqKioqKioqKioqKioqCiAqKiogNiw3ICoqKioKLS0tLSA2LDIyIC0tLS0KLSAgCistLS0gNiwyMSAtLS0tCisgIE5PU1VHR0VTVCAhCiArIEZPTCAg3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/v8KICsgTE9XICDf4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+/wogKyBVUFAgIN/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tjZ2tvc3d7/CkBAIC0xOCwxNDIgKzE4LDI3IEBACiArIE1BUCBj5wogKyBNQVAgef/9CiArIE1BUCBz3wotKyAKLSAgU0ZYICBBICBZICAxCi0qKioqKioqKioqKioqKioKLSoqKiAxNSwxNyAqKioqCiAgIAotISBTRlggIEMgIFkgIDE2Ci0gIFNGWCAgQyAgMCAgdCAgW2FlaW91eeXk9uldCi0tLS0gMzAsMzIgLS0tLQotICAKLSEgU0ZYICBDICBZICAxNQotICBTRlggIEMgIDAgIHQgIFthZWlvdXnl5PbpXQogKioqKioqKioqKioqKioqCi0qKiogMzAsMzIgKioqKgotICBTRlggIEMgIGVuIG5ldHMgZW4KLS0gU0ZYICBDICAwICBuZXQgIG5ldHMgW15lXW4KLSAgU0ZYICBDICAwICBuZXRzICBbXmVdbgotLS0tIDQ1LDQ2IC0tLS0KLSoqKioqKioqKioqKioqKgotKioqIDQyNyAqKioqCi0tLS0gNDQxLDU0MSAtLS0tCi0gIFNGWCAgVCAgZWwgIGxhICBlbAorKioqIDY0OSAqKioqCistLS0gNjYzLDY2NCAtLS0tCisgIFNGWCAgdCAgZWwgIGxhL1dYWiAgZWwKICsgCi0rICMgc291bmRzbGlrZSBtYXBwaW5nIGZyb20gQXNwZWxsCi0rICMgc3dlZGlzaF9waG9uZXQuZGF0IC0gU3dlZGlzaCBwaG9uZXRpYyB0cmFuc2Zvcm1hdGlvbiBydWxlcyBmb3IgYXNwZWxsCi0rICMgQ29weXJpZ2h0IChDKSAyMDAwICBNYXJ0aW4gTm9yYuRjayAgPGQ5NW1iYWNrQGR0ZWsuY2hhbG1lcnMuc2U+Ci0rICMgZGlzdHJpYnV0ZWQgdW5kZXIgR05VIEdQTAotKyAjIHZlcnNpb24gMC4yCi0rIAotKyBTQUwgJgkmCi0rIFNBTCBACUAKLSsgU0FMIEFORyhFSVnE1iktXglBTkkJIyBm9nJsZWRldCBhbi0gc2thIGludGUgYmxpIEAtbGp1ZAotKyBTQUwgQUdOTzYJQUtOTwkjIGFnbm9zdGlrZXIgb3N2LgotKyBTQUwgQUcoSUUpLTYJQUsJIyB2b2thbCtnKGllKSBnZXIgZWogai1sanVkCi0rIFNBTCBBCUEKLSsgU0FMIEJCLTwJXwotKyBTQUwgQglQCi0rIFNBTCBDQ08tCUsJIyBicm9jY29saSwgcGljY29sbwotKyBTQUwgQ0MJS1MJIyBzdWNjZXNzaXYsIGFjY2Vzcywgc3VjY+kKLSsgU0FMIENICSYJIyBjaG9rbGFkIG9zdi4KLSsgU0FMIENLCUsJIyBjayAtPiBrIHNvbSB2YW5saWd0Ci0rIFNBTCBDKEVJWcTWKS08CVMJIyBjICsgbWp1ayB2b2thbCAtPiBzCi0rIFNBTCBDCUsJIyBjICsgYW5uYXQgLT4gawotKyBTQUwgREooVcTWKS0JSQkjIGRqdW5nZWwsIGRq5HZlbCwgYWRq9gotKyBTQUwgREQtCV8KLSsgU0FMIEQJVAotKyBTQUwgRUcoSUUpLTYJRUsJIyB2b2thbCtnKGllKSBnZXIgZWogai1sanVkCi0rIFNBTCBFCUUKLSsgU0FMIMkJRQotKyBTQUwgRkYJRgotKyBTQUwgRglGCi0rIFNBTCBHKEVJWcTWKS0zCUkJIyBnK21qdWsgdm9rYWwgZ2VyIGotbGp1ZAotKyBTQUwgR0c2CUsKLSsgU0FMIEdOCUBOCSMgdWduLCBsdWduLi4uCi0rIFNBTCBHCUsKLSsgU0FMIEgoQU9VxUVJWcTWKS1eCUgJIyBoIGkgYvZyamFuIGF2IG9yZCBo9nJzCi0rIFNBTCBIKEFVT8VFSVnE1iktCV8JIyBhbm5hcnMgc3R1bXQgZnJhbWb2ciB2b2thbAotKyBTQUwgSEoJSQkjIGhqLT5qIChoauRydGEgb3N2LikKLSsgU0FMIEgJSAotKyBTQUwgSUcoSUUpLTYJSUsJIyB2b2thbCtnKGllKSBnZXIgZWogai1sanVkCi0rIFNBTCBJCUkKLSsgU0FMIEoJSQotKyBTQUwgSyhFSVnE1iktXgkmCSMgayttanVrIHZva2FsIGdlciBzamUtbGp1ZAotKyBTQUwgS0oJJgkjIGtqb2wKLSsgU0FMIEsJSwotKyBTQUwgTEpVLQlJCSMgbGp1Z2EsIGxqdXMKLSsgU0FMIExMLQlfCi0rIFNBTCBMCUwKLSsgU0FMIE1NLQlfCi0rIFNBTCBNCU0KLSsgU0FMIE5HNglACi0rIFNBTCBOTi0JXwotKyBTQUwgTglOCi0rIFNBTCBPUklHSTgJT1JLSQkjIHNwZWNpYWxmYWxsCi0rIFNBTCBPRyhJRSktNglPSwkjIHZva2FsK2coaWUpIGdlciBlaiBqLWxqdWQKLSsgU0FMIE8JTwotKyBTQUwgUFJPSkVLVAlQUk8mRUtUCSMgc3BlY2lhbGZhbGwKLSsgU0FMIFBTQUxUPAlTQUxUCSMgc3BlY2lhbGZhbGwKLSsgU0FMIFBTQUxNPAlTQUxNCSMgc3BlY2lhbGZhbGwKLSsgU0FMIFBQLQlfCi0rIFNBTCBQCVAKLSsgU0FMIFEJSwotKyBTQUwgUkdJJDYJUkdJCSMgaW5nZXQgaiBpIHNsdXRldAotKyBTQUwgUkdBJDYJUklBCSMgaORyIORyIGRldCBk5HJlbW90IGogKGFyZ2EsZuRyZ2EpCi0rIFNBTCBSR0UkNglSSUUJIyBo5HIgb2Nrc+UgKE5vcmdlLCD2dmVyZ2UpCi0rIFNBTCBSR1MkCVJJUwkjIHJncyBpIHNsdXRldAotKyBTQUwgUkckCVJJCSMgcmcgaSBzbHV0ZXQKLSsgU0FMIFJECVQJIyAiYmz2dHQiIGQKLSsgU0FMIFJOCU4JIyAiYmz2dHQiIG4KLSsgU0FMIFJUCVQJIyAiYmz2dHQiIHQKLSsgU0FMIFJMRAlUCSMgduRybGQKLSsgU0FMIFJMCUwJIyAiYmz2dHQiIGwKLSsgU0FMIFJTCSYJIyBzamUtbGp1ZCAoZmFycywgZ+Ryc2flcmQpCi0rIFNBTCBSUi0JXwotKyBTQUwgUglSCi0rIFNBTCBTUy0JXwotKyBTQUwgU0NISVo2CVNLSVRTCSMgc3BlY2lhbGZhbGwKLSsgU0FMIFNDSDYJJgotKyBTQUwgU0tKCSYJIyBza2pvcnRhLCBza2p1dGEKLSsgU0FMIFNKCSYJIyBzamUtbGp1ZAotKyBTQUwgUwlTCi0rIFNBTCBUSU9OOV4JVElPTgkjIHRpb25kZQotKyBTQUwgVElPTjYJJk9OCSMgc3RhdGlvbiBvc3YuCi0rIFNBTCBUVC0JXwotKyBTQUwgVAlUCi0rIFNBTCBVRyhJRSktNglVSwkjIHZva2FsK2coaWUpIGdlciBlaiBqLWxqdWQKLSsgU0FMIFUJVQotKyBTQUwgVglGCi0rIFNBTCBXCUYKLSsgU0FMIFg5CUtTCi0rIFNBTCBZRyhJRSktNglZSwkjIHZva2FsK2coaWUpIGdlciBlaiBqLWxqdWQKLSsgU0FMIFkJSQotKyBTQUwgWloJVFMKLSsgU0FMIFoJUwotKyBTQUwgxVRUSU85CU9USU8JIyBzcGVjaWFsZmFsbCAoZWogc2plLWxqdWQpCi0rIFNBTCDFUlRJT045CU9SVElPTgkjIHNwZWNpYWxmYWxsIChyIGj2cnMpCi0rIFNBTCDFRyhJRSktNglPSwkjIHZva2FsK2coaWUpIGdlciBlaiBqLWxqdWQKLSsgU0FMIMUJTwotKyBTQUwgxEcoSUUpLTYJRUsJIyB2b2thbCtnKGllKSBnZXIgZWogai1sanVkCi0rIFNBTCDECUUKLSsgU0FMINZHKElFKS02CdZLCSMgdm9rYWwrZyhpZSkgZ2VyIGVqIGotbGp1ZAotKyBTQUwg1gnWCi0qKiogc3ZfU0Uub3JpZy5kaWMJVGh1IEZlYiAyMyAyMDowMjozMiAyMDA2Ci0tLS0gc3ZfU0UuZGljCVRodSBGZWIgMjMgMjA6MDI6MzIgMjAwNgorKioqIHN2X1NFLm9yaWcuZGljCTIwMTAtMDUtMjAgMjE6MzE6NTQuMDAwMDAwMDAwICswMjAwCistLS0gc3ZfU0UuZGljCTIwMTAtMDUtMjAgMjE6MzE6NTQuMDAwMDAwMDAwICswMjAwCiAqKioqKioqKioqKioqKioKLSoqKiA0MzE3LDQzMTkgKioqKgotICBkdmFsZGVzL1MKKyoqKiAxMTc4NiwxMTc4OCAqKioqCisgIERWRAogISBkdnMKLSAgZHbkbGphcy9TCi0tLS0gNDMxNyw0MzE5IC0tLS0KLSAgZHZhbGRlcy9TCisgIGR25GxqYXMKKy0tLSAxMTc4NiwxMTc4OCAtLS0tCisgIERWRAogISAjZHZzIFJlbW92ZWQgYnkgU3RlZmFuLgotICBkduRsamFzL1MKKyAgZHbkbGphcwogKioqKioqKioqKioqKioqCi0qKiogMjQ0OTAgKioqKgotLS0tIDI0NDkwLDI0NTU0IC0tLS0KLSAg5XZpbGEvTVMKKyoqKiAzMTk1OSwzMTk2MCAqKioqCistLS0gMzE5NTksMzIwMjQgLS0tLQorICBrb3JzbmluZy9BREd2WQogKyAKICsgIyBBZGRpdGlvbnMgYnkgU3RlZmFuOgogKyBTRUsKQEAgLTIxOCwzICsxMDMsNCBAQAogKyB2YXJkLgogKyB2ZAogKyB2b2wuCisgIGtvcnNuaW5nc2ZyaS9PWQo=