ZGlmZiAtLWdpdCBhL01pc2MvQUNLUyBiL01pc2MvQUNLUwppbmRleCBlZWE2NjVhLi43N2M3OTgwIDEwMDY0NAotLS0gYS9NaXNjL0FDS1MKKysrIGIvTWlzYy9BQ0tTCkBAIC0xNzcsNiArMTc3LDcgQEAKIFZpbmNlbnQgRmlhY2sKIFJ1c3NlbGwgRmlubgogTmlscyBGaXNjaGJlY2sKK0ZyZWRlcmlrIEZpeAogSGVybuFuIE1hcnTtbmV6IEZvZmZhbmkKIERvdWcgRm9ydAogTWFydGluIEZyYW5rbGluCmRpZmYgLS1naXQgYS9NaXNjL05FV1MgYi9NaXNjL05FV1MKaW5kZXggNzFhNTQ5ZS4uZTQzMzJkOCAxMDA2NDQKLS0tIGEvTWlzYy9ORVdTCisrKyBiL01pc2MvTkVXUwpAQCAtMTIxLDYgKzEyMSw5IEBACiBFeHRlbnNpb24gbW9kdWxlcwogLS0tLS0tLS0tLS0tLS0tLS0KIAorLSBUaGUgc29ja2V0IG1vZHVsZSBub3cgc3VwcG9ydHMgQmx1ZXRvb3RoIHNvY2tldHMsIGlmIHRoZQorICBzeXN0ZW0gaGFzIDxibHVldG9vdGgvYmx1ZXRvb3RoLmg+CisKIC0gQWRkZWQgYSBjb2xsZWN0aW9ucyBtb2R1bGUgY29udGFpbmluZyBhIG5ldyBkYXRhdHlwZSwgZGVxdWUoKSwKICAgb2ZmZXJpbmcgaGlnaC1wZXJmb3JtYW5jZSwgdGhyZWFkLXNhZmUsIG1lbW9yeSBmcmllbmRseSBhcHBlbmRzCiAgIGFuZCBwb3BzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBkZXF1ZS4KZGlmZiAtLWdpdCBhL01vZHVsZXMvc29ja2V0bW9kdWxlLmMgYi9Nb2R1bGVzL3NvY2tldG1vZHVsZS5jCmluZGV4IGM3Nzc3ZmQuLjI4ZTk4NzcgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc29ja2V0bW9kdWxlLmMKKysrIGIvTW9kdWxlcy9zb2NrZXRtb2R1bGUuYwpAQCAtMTAxMiw2ICsxMDEyLDY4IEBACiAJfQogI2VuZGlmCiAKKyNpZmRlZiBIQVZFX0JMVUVUT09USF9CTFVFVE9PVEhfSAorCWNhc2UgQUZfQkxVRVRPT1RIOgorCXsKKwkJc3dpdGNoKCBzLT5zb2NrX3Byb3RvICkKKwkJeworCQkJY2FzZSBCVFBST1RPX0wyQ0FQOgorCQkJeworCQkJCXN0cnVjdCBzb2NrYWRkcl9sMiogYWRkciA9IChzdHJ1Y3Qgc29ja2FkZHJfbDIqKSAmKHMtPnNvY2tfYWRkcikuYnRfbDI7CisJCQkJYmRhZGRyX3QqIGJkYWRkciA9ICYoYWRkci0+bDJfYmRhZGRyKTsKKworCQkJCWFkZHItPmwyX2ZhbWlseSA9IEFGX0JMVUVUT09USDsKKwkJCQlpZiggIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIihpaWlpaWkpaSIsICZiZGFkZHItPmJbMF0sICZiZGFkZHItPmJbMV0sICZiZGFkZHItPmJbMl0sICZiZGFkZHItPmJbM10sICZiZGFkZHItPmJbNF0sICZiZGFkZHItPmJbNV0sICZhZGRyLT5sMl9wc20pICkKKwkJCQl7CisJCQkJCVB5RXJyX1NldFN0cmluZyhzb2NrZXRfZXJyb3IsICJnZXRzb2NrYWRkcmFyZzogd3JvbmcgZm9ybWF0Iik7CisJCQkJCXJldHVybiAwOworCQkJCX0KKworCQkJCSphZGRyX3JldCA9IChzdHJ1Y3Qgc29ja2FkZHIgKikgYWRkcjsKKwkJCQkqbGVuX3JldCA9IHNpemVvZiAqYWRkcjsKKwkJCQlyZXR1cm4gMTsKKwkJCX0KKwkJCWNhc2UgQlRQUk9UT19SRkNPTU06CisJCQl7CisJCQkJc3RydWN0IHNvY2thZGRyX3JjKiBhZGRyID0gKHN0cnVjdCBzb2NrYWRkcl9yYyopICYocy0+c29ja19hZGRyKS5idF9yYzsKKwkJCQliZGFkZHJfdCogYmRhZGRyID0gJihhZGRyLT5yY19iZGFkZHIpOworCisJCQkJYWRkci0+cmNfZmFtaWx5ID0gQUZfQkxVRVRPT1RIOworCQkJCWlmKCAhUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiKGlpaWlpaSlpIiwgJmJkYWRkci0+YlswXSwgJmJkYWRkci0+YlsxXSwgJmJkYWRkci0+YlsyXSwgJmJkYWRkci0+YlszXSwgJmJkYWRkci0+Yls0XSwgJmJkYWRkci0+Yls1XSwgJmFkZHItPnJjX2NoYW5uZWwpICkKKwkJCQl7CisJCQkJCVB5RXJyX1NldFN0cmluZyhzb2NrZXRfZXJyb3IsICJnZXRzb2NrYWRkcmFyZzogd3JvbmcgZm9ybWF0Iik7CisJCQkJCXJldHVybiAwOworCQkJCX0KKworCQkJCSphZGRyX3JldCA9IChzdHJ1Y3Qgc29ja2FkZHIgKikgYWRkcjsKKwkJCQkqbGVuX3JldCA9IHNpemVvZiAqYWRkcjsKKwkJCQlyZXR1cm4gMTsKKwkJCX0KKwkJCWNhc2UgQlRQUk9UT19TQ086CisJCQl7CisJCQkJc3RydWN0IHNvY2thZGRyX3NjbyogYWRkciA9IChzdHJ1Y3Qgc29ja2FkZHJfc2NvKikgJihzLT5zb2NrX2FkZHIpLmJ0X3NjbzsKKwkJCQliZGFkZHJfdCogYmRhZGRyID0gJihhZGRyLT5zY29fYmRhZGRyKTsKKworCQkJCWFkZHItPnNjb19mYW1pbHkgPSBBRl9CTFVFVE9PVEg7CisJCQkJaWYoICFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpaWlpaWkiLCAmYmRhZGRyLT5iWzBdLCAmYmRhZGRyLT5iWzFdLCAmYmRhZGRyLT5iWzJdLCAmYmRhZGRyLT5iWzNdLCAmYmRhZGRyLT5iWzRdLCAmYmRhZGRyLT5iWzVdKSApCisJCQkJeworCQkJCQlQeUVycl9TZXRTdHJpbmcoc29ja2V0X2Vycm9yLCAiZ2V0c29ja2FkZHJhcmc6IHdyb25nIGZvcm1hdCIpOworCQkJCQlyZXR1cm4gMDsKKwkJCQl9CisKKwkJCQkqYWRkcl9yZXQgPSAoc3RydWN0IHNvY2thZGRyICopIGFkZHI7CisJCQkJKmxlbl9yZXQgPSBzaXplb2YgKmFkZHI7CisJCQkJcmV0dXJuIDE7CisJCQl9CisJCQlkZWZhdWx0OgorCQkJeworCQkJCVB5RXJyX1NldFN0cmluZyhzb2NrZXRfZXJyb3IsICJnZXRzb2NrYWRkcmFyZzogdW5rbm93biBCbHVldG9vdGggcHJvdG9jb2wiKTsKKwkJCQlyZXR1cm4gMDsKKwkJCX0KKwkJfQorCX0KKyNlbmRpZgorCiAjaWZkZWYgSEFWRV9ORVRQQUNLRVRfUEFDS0VUX0gKIAljYXNlIEFGX1BBQ0tFVDoKIAl7CkBAIC0xMDg1LDYgKzExNDcsMzUgQEAKIAl9CiAjZW5kaWYKIAorI2lmZGVmIEhBVkVfQkxVRVRPT1RIX0JMVUVUT09USF9ICisJY2FzZSBBRl9CTFVFVE9PVEg6CisJeworCQlzd2l0Y2gocy0+c29ja19wcm90bykKKwkJeworCQkJY2FzZSBCVFBST1RPX0wyQ0FQOgorCQkJeworCQkJCSpsZW5fcmV0ID0gc2l6ZW9mIChzdHJ1Y3Qgc29ja2FkZHJfbDIpOworCQkJCXJldHVybiAxOworCQkJfQorCQkJY2FzZSBCVFBST1RPX1JGQ09NTToKKwkJCXsKKwkJCQkqbGVuX3JldCA9IHNpemVvZiAoc3RydWN0IHNvY2thZGRyX3JjKTsKKwkJCQlyZXR1cm4gMTsKKwkJCX0KKwkJCWNhc2UgQlRQUk9UT19TQ086CisJCQl7CisJCQkJKmxlbl9yZXQgPSBzaXplb2YgKHN0cnVjdCBzb2NrYWRkcl9zY28pOworCQkJCXJldHVybiAxOworCQkJfQorCQkJZGVmYXVsdDoKKwkJCXsKKwkJCQlQeUVycl9TZXRTdHJpbmcoc29ja2V0X2Vycm9yLCAiZ2V0c29ja2FkZHJsZW46IHVua25vd24gQlQgcHJvdG9jb2wiKTsKKwkJCQlyZXR1cm4gMDsKKwkJCX0KKwkJfQorCX0KKyNlbmRpZgorCiAjaWZkZWYgSEFWRV9ORVRQQUNLRVRfUEFDS0VUX0gKIAljYXNlIEFGX1BBQ0tFVDoKIAl7CkBAIC0zNTczLDYgKzM2NjQsMTYgQEAKIAkvKiBBbWF0ZXVyIFJhZGlvIFguMjUgUExQICovCiAJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIkFGX1JPU0UiLCBBRl9ST1NFKTsKICNlbmRpZgorCisjaWZkZWYgSEFWRV9CTFVFVE9PVEhfQkxVRVRPT1RIX0gKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQUZfQkxVRVRPT1RIIiwgQUZfQkxVRVRPT1RIKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQlRQUk9UT19MMkNBUCIsIEJUUFJPVE9fTDJDQVApOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJCVFBST1RPX1NDTyIsIEJUUFJPVE9fU0NPKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQlRQUk9UT19SRkNPTU0iLCBCVFBST1RPX1JGQ09NTSk7CisJUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJCREFERFJfQU5ZIiwgUHlfQnVpbGRWYWx1ZSggImlpaWlpaSIsIDAsMCwwLDAsMCwwICkgKTsKKwlQeU1vZHVsZV9BZGRPYmplY3QobSwgIkJEQUREUl9MT0NBTCIsIFB5X0J1aWxkVmFsdWUoICJpaWlpaWkiLCAwLDAsMCwweGZmLDB4ZmYsMHhmZiApICk7CisjZW5kaWYKKwogI2lmZGVmIEhBVkVfTkVUUEFDS0VUX1BBQ0tFVF9ICiAJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIkFGX1BBQ0tFVCIsIEFGX1BBQ0tFVCk7CiAJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlBGX1BBQ0tFVCIsIFBGX1BBQ0tFVCk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3NvY2tldG1vZHVsZS5oIGIvTW9kdWxlcy9zb2NrZXRtb2R1bGUuaAppbmRleCAxNjdkNTA3Li45NzU2YTQ3IDEwMDY0NAotLS0gYS9Nb2R1bGVzL3NvY2tldG1vZHVsZS5oCisrKyBiL01vZHVsZXMvc29ja2V0bW9kdWxlLmgKQEAgLTMyLDYgKzMyLDEzIEBACiAjIHVuZGVmIEFGX1VOSVgKICNlbmRpZgogCisjaWZkZWYgSEFWRV9CTFVFVE9PVEhfQkxVRVRPT1RIX0gKKyNpbmNsdWRlIDxibHVldG9vdGgvYmx1ZXRvb3RoLmg+CisjaW5jbHVkZSA8Ymx1ZXRvb3RoL3JmY29tbS5oPgorI2luY2x1ZGUgPGJsdWV0b290aC9sMmNhcC5oPgorI2luY2x1ZGUgPGJsdWV0b290aC9zY28uaD4KKyNlbmRpZgorCiAjaWZkZWYgSEFWRV9ORVRQQUNLRVRfUEFDS0VUX0gKICMgaW5jbHVkZSA8c3lzL2lvY3RsLmg+CiAjIGluY2x1ZGUgPG5ldC9pZi5oPgpAQCAtODAsNiArODcsMTEgQEAKIAkJc3RydWN0IHNvY2thZGRyX2luNiBpbjY7CiAJCXN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIHN0b3JhZ2U7CiAjZW5kaWYKKyNpZmRlZiBIQVZFX0JMVUVUT09USF9CTFVFVE9PVEhfSAorCQlzdHJ1Y3Qgc29ja2FkZHJfbDIgYnRfbDI7CisJCXN0cnVjdCBzb2NrYWRkcl9yYyBidF9yYzsKKwkJc3RydWN0IHNvY2thZGRyX3NjbyBidF9zY287CisjZW5kaWYKICNpZmRlZiBIQVZFX05FVFBBQ0tFVF9QQUNLRVRfSAogCQlzdHJ1Y3Qgc29ja2FkZHJfbGwgbGw7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCBmMWE0NmM3Li4wZjhkNGZiIDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC0xLDUgKzEsNSBAQAogIyEgL2Jpbi9zaAotIyBGcm9tIGNvbmZpZ3VyZS5pbiBSZXZpc2lvbjogMS40NDUgLgorIyBGcm9tIGNvbmZpZ3VyZS5pbiBSZXZpc2lvbjogMS40NDcgLgogIyBHdWVzcyB2YWx1ZXMgZm9yIHN5c3RlbS1kZXBlbmRlbnQgdmFyaWFibGVzIGFuZCBjcmVhdGUgTWFrZWZpbGVzLgogIyBHZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTcgZm9yIHB5dGhvbiAyLjQuCiAjCkBAIC0zMDA4LDcgKzMwMDgsNyBAQAogCiAjIENoZWNrIGZvciB1bnN1cHBvcnRlZCBzeXN0ZW1zCiBjYXNlICRhY19zeXNfc3lzdGVtLyRhY19zeXNfcmVsZWFzZSBpbgotU3VuT1MvNCp8TGludXgqLzEqKQorTGludXgqLzEqKQogICAgZWNobyBUaGlzIHN5c3RlbSBcKCRhY19zeXNfc3lzdGVtLyRhY19zeXNfcmVsZWFzZVwpIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuCiAgICBlY2hvIFNlZSBSRUFETUUgZm9yIGRldGFpbHMuCiAgICBleGl0IDE7OwpAQCAtNDM0OSw2ICs0MzQ5LDcgQEAKIAogCiAKKwogZm9yIGFjX2hlYWRlciBpbiBkbGZjbi5oIGZjbnRsLmggZ3JwLmggbGltaXRzLmggbGFuZ2luZm8uaCBcCiBsaWJpbnRsLmggbG9jYWxlLmggbmN1cnNlcy5oIHBvbGwuaCBwdGhyZWFkLmggXAogc2lnbmFsLmggc3RkYXJnLmggc3RkZGVmLmggc3RkbGliLmggc3Ryb3B0cy5oIHRlcm1pb3MuaCB0aHJlYWQuaCBcCkBAIC00MzU2LDcgKzQzNTcsNyBAQAogc3lzL2F1ZGlvaW8uaCBzeXMvYnNkdHR5Lmggc3lzL2ZpbGUuaCBzeXMvbG9jay5oIHN5cy9ta2Rldi5oIHN5cy9tb2RlbS5oIFwKIHN5cy9wYXJhbS5oIHN5cy9wb2xsLmggc3lzL3NlbGVjdC5oIHN5cy9zb2NrZXQuaCBzeXMvdGltZS5oIHN5cy90aW1lcy5oIFwKIHN5cy91bi5oIHN5cy91dHNuYW1lLmggc3lzL3dhaXQuaCBwdHkuaCB0ZXJtLmggbGlidXRpbC5oIFwKLXN5cy9yZXNvdXJjZS5oIG5ldHBhY2tldC9wYWNrZXQuaCBzeXNleGl0cy5oCitzeXMvcmVzb3VyY2UuaCBuZXRwYWNrZXQvcGFja2V0Lmggc3lzZXhpdHMuaCBibHVldG9vdGgvYmx1ZXRvb3RoLmgKIGRvCiBhc19hY19IZWFkZXI9YGVjaG8gImFjX2N2X2hlYWRlcl8kYWNfaGVhZGVyIiB8ICRhc190cl9zaGAKIGlmIGV2YWwgInRlc3QgXCJcJHskYXNfYWNfSGVhZGVyK3NldH1cIiA9IHNldCI7IHRoZW4KQEAgLTkzNjIsNyArOTM2Myw3IEBACiBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkU08iID4mNQogZWNobyAiJHtFQ0hPX1R9JFNPIiA+JjYKICMgTERTSEFSRUQgaXMgdGhlIGxkICpjb21tYW5kKiB1c2VkIHRvIGNyZWF0ZSBzaGFyZWQgbGlicmFyeQotIyAtLSAibGQiIG9uIFN1bk9TIDQueC54LCAiY2MgLUciIG9uIFN1bk9TIDUueCwgImxkIC1zaGFyZWQiIG9uIElSSVggNQorIyAtLSAiY2MgLUciIG9uIFN1bk9TIDUueCwgImxkIC1zaGFyZWQiIG9uIElSSVggNQogIyAoU2hhcmVkIGxpYnJhcmllcyBpbiB0aGlzIGluc3RhbmNlIGFyZSBzaGFyZWQgbW9kdWxlcyB0byBiZSBsb2FkZWQgaW50bwogIyBQeXRob24sIGFzIG9wcG9zZWQgdG8gYnVpbGRpbmcgUHl0aG9uIGl0c2VsZiBhcyBhIHNoYXJlZCBsaWJyYXJ5LikKIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBMRFNIQVJFRCIgPiY1CkBAIC05MzgwLDcgKzkzODEsNiBAQAogCQk7OwogCUlSSVgvNSopIExEU0hBUkVEPSJsZCAtc2hhcmVkIjs7CiAJSVJJWCovNiopIExEU0hBUkVEPSJsZCAke1NHSV9BQkl9IC1zaGFyZWQgLWFsbCI7OwotCVN1bk9TLzQqKSBMRFNIQVJFRD0ibGQiOzsKIAlTdW5PUy81KikKIAkJaWYgdGVzdCAiJEdDQyIgPSAieWVzIgogCQl0aGVuIExEU0hBUkVEPSckKENDKSAtc2hhcmVkJwpAQCAtMTU1MTgsNTYgKzE1NTE4LDYgQEAKIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICR3b3JrcyIgPiY1CiBlY2hvICIke0VDSE9fVH0kd29ya3MiID4mNgogCi1pZiB0ZXN0ICIkaGF2ZV9wcm90b3R5cGVzIiA9IHllczsgdGhlbgotYmFkX3Byb3RvdHlwZXM9bm8KLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgYmFkIGV4ZWMqIHByb3RvdHlwZXMiID4mNQotZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgYmFkIGV4ZWMqIHByb3RvdHlwZXMuLi4gJEVDSE9fQyIgPiY2Ci1jYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKLS8qIGNvbmZkZWZzLmguICAqLwotX0FDRU9GCi1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSNpbmNsdWRlIDx1bmlzdGQuaD4KLWludAotbWFpbiAoKQotewotY2hhciAqKnQ7ZXhlY3ZlKCJAIix0LHQpOwotICA7Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0Ci1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKLSAgYWNfc3RhdHVzPSQ/Ci0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCi0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1Ci0gIChldmFsICRhY190cnkpIDI+JjUKLSAgYWNfc3RhdHVzPSQ/Ci0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KLSAgOgotZWxzZQotICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQotc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQotCi0KLWNhdCA+PmNvbmZkZWZzLmggPDxcX0FDRU9GCi0jZGVmaW5lIEJBRF9FWEVDX1BST1RPVFlQRVMgMQotX0FDRU9GCi0KLSAgICBiYWRfcHJvdG90eXBlcz15ZXMKLQotZmkKLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAotZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGJhZF9wcm90b3R5cGVzIiA+JjUKLWVjaG8gIiR7RUNIT19UfSRiYWRfcHJvdG90eXBlcyIgPiY2Ci1maQotCiAjIGNoZWNrIGlmIHNvY2thZGRyIGhhcyBzYV9sZW4gbWVtYmVyCiBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgaWYgc29ja2FkZHIgaGFzIHNhX2xlbiBtZW1iZXIiID4mNQogZWNobyAkRUNIT19OICJjaGVja2luZyBpZiBzb2NrYWRkciBoYXMgc2FfbGVuIG1lbWJlci4uLiAkRUNIT19DIiA+JjYKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgppbmRleCBjNGI2MGY3Li4wZjdlYmRmIDEwMDY0NAotLS0gYS9jb25maWd1cmUuaW4KKysrIGIvY29uZmlndXJlLmluCkBAIC05MTgsNyArOTE4LDcgQEAKIHN5cy9hdWRpb2lvLmggc3lzL2JzZHR0eS5oIHN5cy9maWxlLmggc3lzL2xvY2suaCBzeXMvbWtkZXYuaCBzeXMvbW9kZW0uaCBcCiBzeXMvcGFyYW0uaCBzeXMvcG9sbC5oIHN5cy9zZWxlY3QuaCBzeXMvc29ja2V0Lmggc3lzL3RpbWUuaCBzeXMvdGltZXMuaCBcCiBzeXMvdW4uaCBzeXMvdXRzbmFtZS5oIHN5cy93YWl0LmggcHR5LmggdGVybS5oIGxpYnV0aWwuaCBcCi1zeXMvcmVzb3VyY2UuaCBuZXRwYWNrZXQvcGFja2V0Lmggc3lzZXhpdHMuaCkKK3N5cy9yZXNvdXJjZS5oIG5ldHBhY2tldC9wYWNrZXQuaCBzeXNleGl0cy5oIGJsdWV0b290aC9ibHVldG9vdGguaCkKIEFDX0hFQURFUl9ESVJFTlQKIEFDX0hFQURFUl9NQUpPUgogCmRpZmYgLS1naXQgYS9weWNvbmZpZy5oLmluIGIvcHljb25maWcuaC5pbgppbmRleCBlMWM0MzJmLi5mNGJhMGZjIDEwMDY0NAotLS0gYS9weWNvbmZpZy5oLmluCisrKyBiL3B5Y29uZmlnLmguaW4KQEAgLTM3LDYgKzM3LDkgQEAKIC8qIERlZmluZSB0aGlzIGlmIHlvdXIgdGltZS5oIGRlZmluZXMgYWx0em9uZS4gKi8KICN1bmRlZiBIQVZFX0FMVFpPTkUKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxibHVldG9vdGgvYmx1ZXRvb3RoLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfQkxVRVRPT1RIX0JMVUVUT09USF9ICisKIC8qIERlZmluZSBpZiBuaWNlKCkgcmV0dXJucyBzdWNjZXNzL2ZhaWx1cmUgaW5zdGVhZCBvZiB0aGUgbmV3IHByaW9yaXR5LiAqLwogI3VuZGVmIEhBVkVfQlJPS0VOX05JQ0UKIApAQCAtODE4LDE2ICs4MjEsOSBAQAogLyogRGVmaW5lIF9PU0ZfU09VUkNFIHRvIGdldCB0aGUgbWFrZWRldiBtYWNyby4gKi8KICN1bmRlZiBfT1NGX1NPVVJDRQogCi0vKiBEZWZpbmUgdG8gMiBpZiB0aGUgc3lzdGVtIGRvZXMgbm90IHByb3ZpZGUgUE9TSVguMSBmZWF0dXJlcyBleGNlcHQgd2l0aAotICAgdGhpcyBkZWZpbmVkLiAqLwotI3VuZGVmIF9QT1NJWF8xX1NPVVJDRQotCiAvKiBEZWZpbmUgdG8gYWN0aXZhdGUgZmVhdHVyZXMgZnJvbSBJRUVFIFN0ZHMgMTAwMy4xLTIwMDEgKi8KICN1bmRlZiBfUE9TSVhfQ19TT1VSQ0UKIAotLyogRGVmaW5lIHRvIDEgaWYgeW91IG5lZWQgdG8gaW4gb3JkZXIgZm9yIGBzdGF0JyBhbmQgb3RoZXIgdGhpbmdzIHRvIHdvcmsuICovCi0jdW5kZWYgX1BPU0lYX1NPVVJDRQotCiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgUE9TSVggdGhyZWFkcywgYW5kIHlvdXIgc3lzdGVtIGRvZXMgbm90IGRlZmluZSB0aGF0LiAqLwogI3VuZGVmIF9QT1NJWF9USFJFQURTCiAK