From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Rex Dieter To: git-commits@fedoraproject.org Subject: [rpms/amarok] epel10.2: 2.6.90 Date: Mon, 06 Jul 2026 18:31:45 GMT Message-ID: <178336270588.1.3127413873177010157.rpms-amarok-f922ba2ca3de@fedoraproject.org> List-ID: X-Git-Repo: rpms/amarok X-Git-Branch: epel10.2 X-Git-Rev: f922ba2ca3de1c5ac039c6b635ffa560e1dcc49d QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvYW1hcm9rCkJyYW5j aCA6IGVwZWwxMC4yCkNvbW1pdCA6IGY5MjJiYTJjYTNkZTFjNWFjMDM5YzZiNjM1ZmZhNTYwZTFk Y2M0OWQKQXV0aG9yIDogUmV4IERpZXRlciA8cmRpZXRlckBtYXRoLnVubC5lZHU+CkRhdGUgICA6 IDIwMTItMTItMTRUMTE6MzI6NDUtMDY6MDAKU3RhdHMgIDogKzExOS8tODM5IGluIDggZmlsZShz KQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2FtYXJvay9jL2Y5 MjJiYTJjYTNkZTFjNWFjMDM5YzZiNjM1ZmZhNTYwZTFkY2M0OWQ/YnJhbmNoPWVwZWwxMC4yCgpM b2c6CjIuNi45MAoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRl eCBhNWE4MTVmLi4wMDA1MTljIDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25v cmUKQEAgLTEsMiArMSwzIEBACiAvYW1hcm9rLTIuNi4wLnRhci5iejIKIC9hbWFyb2stZnJfcG8u cGF0Y2guYnoyCisvYW1hcm9rLTIuNi45MC50YXIuYnoyCgpkaWZmIC0tZ2l0IGEvYW1hcm9rLTIu Mi4xLjkwLXF0c2NyaXB0X25vdF9yZXF1aXJlZC5wYXRjaCBiL2FtYXJvay0yLjIuMS45MC1xdHNj cmlwdF9ub3RfcmVxdWlyZWQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEx MWM1MmIuLjAwMDAwMDAKLS0tIGEvYW1hcm9rLTIuMi4xLjkwLXF0c2NyaXB0X25vdF9yZXF1aXJl ZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLWRpZmYgLXVwIGFtYXJvay0y LjIuMS45MC9DTWFrZUxpc3RzLnR4dC5xdHNjcmlwdF9ub3RfcmVxdWlyZWQgYW1hcm9rLTIuMi4x LjkwL0NNYWtlTGlzdHMudHh0Ci0tLS0gYW1hcm9rLTIuMi4xLjkwL0NNYWtlTGlzdHMudHh0LnF0 c2NyaXB0X25vdF9yZXF1aXJlZAkyMDA5LTEyLTEwIDA0OjQ1OjM3LjAwMDAwMDAwMCAtMDYwMAot KysrIGFtYXJvay0yLjIuMS45MC9DTWFrZUxpc3RzLnR4dAkyMDA5LTEyLTEwIDA5OjQyOjIxLjI1 MzE4MzIyNCAtMDYwMAotQEAgLTc1LDggKzc1LDggQEAgaWYoIFdJVEhfUExBWUVSICkKLSAKLSAg ICAgbWFjcm9fbG9nX2ZlYXR1cmUoIEtERTRfRk9VTkQgImtkZWxpYnMiICJUaGUgdG9vbGtpdCBB bWFyb2sgdXNlcyB0byBidWlsZCIgImh0dHA6Ly93d3cua2RlLm9yZyIgVFJVRSAiNC4zLjAiICIi ICkKLSAKLS0gICAgZmluZF9wYWNrYWdlKCBRdFNjcmlwdFF0QmluZGluZ3MgUkVRVUlSRUQgKQot LSAgICBtYWNyb19sb2dfZmVhdHVyZSggUVRTQ1JJUFRRVEJJTkRJTkdTX0ZPVU5EICJxdHNjcmlw dC1xdCIgIlF0U2NyaXB0IFF0IEJpbmRpbmdzIiAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3F0 c2NyaXB0Z2VuZXJhdG9yLyIgVFJVRSAiIiAiIiApCi0rICAgIG1hY3JvX29wdGlvbmFsX2ZpbmRf cGFja2FnZSggUXRTY3JpcHRRdEJpbmRpbmdzICkKLSsgICAgbWFjcm9fbG9nX2ZlYXR1cmUoIFFU U0NSSVBUUVRCSU5ESU5HU19GT1VORCAicXRzY3JpcHQtcXQiICJRdFNjcmlwdCBRdCBCaW5kaW5n cyIgImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9xdHNjcmlwdGdlbmVyYXRvci8iIEZBTFNFICIi ICIiICkKLSAKLSAgICAgYWRkX2RlZmluaXRpb25zKCR7UVRfREVGSU5JVElPTlN9ICR7S0RFNF9E RUZJTklUSU9OU30pCi0gCgpkaWZmIC0tZ2l0IGEvYW1hcm9rLTIuNS4wLW9ubGluZWRvYy5wYXRj aCBiL2FtYXJvay0yLjUuMC1vbmxpbmVkb2MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IGRjNzMxZDQuLjAwMDAwMDAKLS0tIGEvYW1hcm9rLTIuNS4wLW9ubGluZWRvYy5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLWRpZmYgLXVyIGFtYXJvay0yLjUuMC9z cmMvQWN0aW9uQ2xhc3Nlcy5jcHAgYW1hcm9rLTIuNS4wLW9ubGluZWRvYy9zcmMvQWN0aW9uQ2xh c3Nlcy5jcHAKLS0tLSBhbWFyb2stMi41LjAvc3JjL0FjdGlvbkNsYXNzZXMuY3BwCTIwMTEtMTIt MTUgMDg6MzY6NDguMDAwMDAwMDAwICswMTAwCi0rKysgYW1hcm9rLTIuNS4wLW9ubGluZWRvYy9z cmMvQWN0aW9uQ2xhc3Nlcy5jcHAJMjAxMi0wMS0yOSAwODoyMzo1MC4wMDAwMDAwMDAgKzAxMDAK LUBAIC0zMSwxMCArMzEsMTIgQEAKLSAjaW5jbHVkZSAicGxheWxpc3QvUGxheWxpc3RBY3Rpb25z LmgiCi0gI2luY2x1ZGUgInBsYXlsaXN0L1BsYXlsaXN0TW9kZWxTdGFjay5oIgotIAotKyNpbmNs dWRlIDxRRmlsZT4KLSAjaW5jbHVkZSA8S0F1dGhvcml6ZWQ+Ci0gI2luY2x1ZGUgPEtIZWxwTWVu dT4KLSAjaW5jbHVkZSA8S0xvY2FsZT4KLSAjaW5jbHVkZSA8S1Rvb2xCYXI+Ci0rI2luY2x1ZGUg PEtUb29sSW52b2NhdGlvbj4KLSAjaW5jbHVkZSA8T3NkLmg+Ci0gI2luY2x1ZGUgPEVxdWFsaXpl ckRpYWxvZy5oPgotIAotQEAgLTYzLDYgKzY1LDcgQEAKLSB1c2luZyBuYW1lc3BhY2UgQW1hcm9r OwotIAotIEtIZWxwTWVudSAqTWVudTo6c19oZWxwTWVudSA9IDA7Ci0rT25saW5lSGVscEhhbmRs ZXIgKk1lbnU6OnNfb25saW5lSGVscEhhbmRsZXIgPSAwOwotIAotIHN0YXRpYyB2b2lkCi0gc2Fm ZVBsdWcoIEtBY3Rpb25Db2xsZWN0aW9uICphYywgY29uc3QgY2hhciAqbmFtZSwgUVdpZGdldCAq dyApCi1AQCAtMTUyLDYgKzE1NSwyMCBAQAotIAotICAgICBLTWVudSogbWVudSA9IHNfaGVscE1l bnUtPm1lbnUoKTsKLSAKLSsgICAgLy8gSWYgYW1hcm9rLWRvYyBpcyBub3QgaW5zdGFsbGVkLCBi cmluZyB1cCB0aGUgb25saW5lIHZlcnNpb24gaW5zdGVhZC4KLSsgICAgaWYgKCAhUUZpbGU6OmV4 aXN0cyggIi91c3Ivc2hhcmUvZG9jL0hUTUwvZW4vYW1hcm9rL2luZGV4LmRvY2Jvb2siICkgKSB7 Ci0rICAgICAgICBRQWN0aW9uICpjb250ZW50c0FjdGlvbiA9IHNfaGVscE1lbnUtPmFjdGlvbigg S0hlbHBNZW51OjptZW51SGVscENvbnRlbnRzICk7Ci0rICAgICAgICAvLyBkaXNjb25uZWN0IHRo ZSBkZWZhdWx0IHNsb3Qgd2hpY2ggZmlyZXMgdXAgS0hlbHBDZW50ZXIKLSsgICAgICAgIGRpc2Nv bm5lY3QoIGNvbnRlbnRzQWN0aW9uLCBTSUdOQUwodHJpZ2dlcmVkKGJvb2wpKSwgc19oZWxwTWVu dSwgU0xPVChhcHBIZWxwQWN0aXZhdGVkKCkpICk7Ci0rICAgICAgICBpZiAoIHNfb25saW5lSGVs cEhhbmRsZXIgPT0gMCApCi0rICAgICAgICAgICAgc19vbmxpbmVIZWxwSGFuZGxlciA9IG5ldyBP bmxpbmVIZWxwSGFuZGxlciggcGFyZW50ICk7Ci0rICAgICAgICBlbHNlCi0rICAgICAgICAgICAg Ly8gZW5zdXJlIG5vIGR1cGxpY2F0ZSBjb25uZWN0aW9uCi0rICAgICAgICAgICAgZGlzY29ubmVj dCggY29udGVudHNBY3Rpb24sIFNJR05BTCh0cmlnZ2VyZWQoYm9vbCkpLCBzX29ubGluZUhlbHBI YW5kbGVyLCBTTE9UKG9ubGluZUhlbHBBY3RpdmF0ZWQoKSkgKTsKLSsgICAgICAgIC8vIGNvbm5l Y3Qgb3VyIGN1c3RvbSBzbG90IHdoaWNoIGZpcmVzIHVwIGEgYnJvd3NlciBvbiBVc2VyQmFzZSBp bnN0ZWFkCi0rICAgICAgICBjb25uZWN0KCBjb250ZW50c0FjdGlvbiwgU0lHTkFMKHRyaWdnZXJl ZChib29sKSksIHNfb25saW5lSGVscEhhbmRsZXIsIFNMT1Qob25saW5lSGVscEFjdGl2YXRlZCgp KSApOwotKyAgICB9Ci0rCi0gICAgIC8vIE5PVEU6IFdlIGhpZGUgIlJlcG9ydCBCdWcuLi4iIGJl Y2F1c2Ugd2UgbmVlZCB0byBhZGQgaXQgb24gb3VyIG93biB0byBuYW1lIHRoZSBkaWFsb2cKLSAg ICAgLy8gc28gaXQgY2FuIGJlIGJsYWNrbGlzdGVkIGZyb20gTGlrZUJhY2suCi0gICAgIHNfaGVs cE1lbnUtPmFjdGlvbiggS0hlbHBNZW51OjptZW51UmVwb3J0QnVnICktPnNldFZpc2libGUoIGZh bHNlICk7Ci1AQCAtMTY0LDYgKzE4MSwxNyBAQAotICAgICByZXR1cm4gbWVudTsKLSB9Ci0gCi0r T25saW5lSGVscEhhbmRsZXI6Ok9ubGluZUhlbHBIYW5kbGVyKCBRT2JqZWN0KiBwYXJlbnQgKQot KyAgICAgICAgOiBRT2JqZWN0KCBwYXJlbnQgKQotK3sKLSt9Ci0rCi0rdm9pZAotK09ubGluZUhl bHBIYW5kbGVyOjpvbmxpbmVIZWxwQWN0aXZhdGVkKCkKLSt7Ci0rICAgIEtUb29sSW52b2NhdGlv bjo6aW52b2tlQnJvd3NlciggImh0dHA6Ly91c2VyYmFzZS5rZGUub3JnL0FtYXJvay9NYW51YWwi ICk7Ci0rfQotKwotIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotIC8vIFBsYXlQ YXVzZUFjdGlvbgotIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotZGlmZiAtdXIg YW1hcm9rLTIuNS4wL3NyYy9BY3Rpb25DbGFzc2VzLmggYW1hcm9rLTIuNS4wLW9ubGluZWRvYy9z cmMvQWN0aW9uQ2xhc3Nlcy5oCi0tLS0gYW1hcm9rLTIuNS4wL3NyYy9BY3Rpb25DbGFzc2VzLmgJ MjAxMS0xMi0xNSAwODozNjo0OC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBhbWFyb2stMi41LjAtb25s aW5lZG9jL3NyYy9BY3Rpb25DbGFzc2VzLmgJMjAxMi0wMS0yOSAwODowODoxMy4wMDAwMDAwMDAg KzAxMDAKLUBAIC0zNCw2ICszNCwxNiBAQAotIAotIG5hbWVzcGFjZSBBbWFyb2sKLSB7Ci0rICAg IGNsYXNzIE9ubGluZUhlbHBIYW5kbGVyIDogcHVibGljIFFPYmplY3QKLSsgICAgewotKyAgICAg ICAgUV9PQkpFQ1QKLSsgICAgICAgIHB1YmxpYzoKLSsgICAgICAgICAgICBPbmxpbmVIZWxwSGFu ZGxlciggUU9iamVjdCogcGFyZW50ICk7Ci0rCi0rICAgICAgICBwdWJsaWMgc2xvdHM6Ci0rICAg ICAgICAgICAgdm9pZCBvbmxpbmVIZWxwQWN0aXZhdGVkKCk7Ci0rICAgIH07Ci0rCi0gICAgIGNs YXNzIE1lbnUgOiBwdWJsaWMgS01lbnUKLSAgICAgewotICAgICAgICAgUV9PQkpFQ1QKLUBAIC00 NSw2ICs1NSw3IEBACi0gICAgICAgICBwcml2YXRlOgotICAgICAgICAgICAgIHN0YXRpYyBNZW51 ICAgICAgICpzX2luc3RhbmNlOwotICAgICAgICAgICAgIHN0YXRpYyBLSGVscE1lbnUgICpzX2hl bHBNZW51OwotKyAgICAgICAgICAgIHN0YXRpYyBPbmxpbmVIZWxwSGFuZGxlciAqc19vbmxpbmVI ZWxwSGFuZGxlcjsKLSAgICAgfTsKLSAKLSAgICAgY2xhc3MgTWVudUFjdGlvbiA6IHB1YmxpYyBL QWN0aW9uCgpkaWZmIC0tZ2l0IGEvYW1hcm9rLTIuNS45Ni1saWJsYXN0Zm0xLnBhdGNoIGIvYW1h cm9rLTIuNS45Ni1saWJsYXN0Zm0xLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAzODgxNTU5Li4wMDAwMDAwCi0tLSBhL2FtYXJvay0yLjUuOTYtbGlibGFzdGZtMS5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDcwNiArMCwwIEBACi1kaWZmIC11cCBhbWFyb2stMi41Ljk2L0NN YWtlTGlzdHMudHh0LmxpYmxhc3RmbTEgYW1hcm9rLTIuNS45Ni9DTWFrZUxpc3RzLnR4dAotLS0t IGFtYXJvay0yLjUuOTYvQ01ha2VMaXN0cy50eHQubGlibGFzdGZtMQkyMDEyLTA3LTMxIDA1OjE3 OjIwLjAwMDAwMDAwMCAtMDUwMAotKysrIGFtYXJvay0yLjUuOTYvQ01ha2VMaXN0cy50eHQJMjAx Mi0wOC0wMiAwNzo1MjoxMy42NTMxODc3NDMgLTA1MDAKLUBAIC0xMjksNyArMTI5LDcgQEAgaWYo IFdJVEhfUExBWUVSICkKLSAgICAgIyBtYWNyb19sb2dfZmVhdHVyZSggU1RSSUdJX0ZPVU5EICJz dHJpZ2kiICJJbmRleCBtZXRhZGF0YSBvZiBmaWxlcyIgImh0dHA6Ly9zdHJpZ2kuc291cmNlZm9y Z2UubmV0IiBGQUxTRSAiIiAiIiApCi0gCi0gICAgIG1hY3JvX29wdGlvbmFsX2ZpbmRfcGFja2Fn ZShMaWJMYXN0Rm0pCi0tICAgIG1hY3JvX2xvZ19mZWF0dXJlKCBMSUJMQVNURk1fRk9VTkQgImxp Ymxhc3RmbSIgIkVuYWJsZSBMYXN0LkZtIHNlcnZpY2UsIGluY2x1ZGluZyBzY3JvYmJsaW5nLCBz b25nIHN1Ym1pc3Npb25zLCBhbmQgc3VnZ2VzdGVkIHNvbmcgZHluYW1pYyBwbGF5bGlzdHMiICJo dHRwOi8vY2RuLmxhc3QuZm0vc3JjL2xpYmxhc3RmbS0wLjMuMC50YXIuYnoyIiBGQUxTRSAiIiAi dmVyc2lvbiAwLjMueCAodmVyc2lvbnMgMS4wIG9yIGhpZ2hlciBhcmUgaW5jb21wYXRpYmxlKSIg KQotKyAgICBtYWNyb19sb2dfZmVhdHVyZSggTElCTEFTVEZNX0ZPVU5EICJsaWJsYXN0Zm0iICJF bmFibGUgTGFzdC5GbSBzZXJ2aWNlLCBpbmNsdWRpbmcgc2Nyb2JibGluZywgc29uZyBzdWJtaXNz aW9ucywgYW5kIHN1Z2dlc3RlZCBzb25nIGR5bmFtaWMgcGxheWxpc3RzIiAiaHR0cDovL2Nkbi5s YXN0LmZtL3NyYy9saWJsYXN0Zm0tMS4wLjAudGFyLmd6IiBGQUxTRSAiMS4wLjAiICIiICkKLSAg ICAgbWFjcm9fYm9vbF90b18wMSggTElCTEFTVEZNX0ZPVU5EIEhBVkVfTElCTEFTVEZNICkKLSAK LSAgICAgbWFjcm9fb3B0aW9uYWxfZmluZF9wYWNrYWdlKCBGRm1wZWcgKQotZGlmZiAtdXAgYW1h cm9rLTIuNS45Ni9jbWFrZS9tb2R1bGVzL0ZpbmRMaWJMYXN0Rm0uY21ha2UubGlibGFzdGZtMSBh bWFyb2stMi41Ljk2L2NtYWtlL21vZHVsZXMvRmluZExpYkxhc3RGbS5jbWFrZQotLS0tIGFtYXJv ay0yLjUuOTYvY21ha2UvbW9kdWxlcy9GaW5kTGliTGFzdEZtLmNtYWtlLmxpYmxhc3RmbTEJMjAx Mi0wNy0zMSAwNToxMDo1Ni4wMDAwMDAwMDAgLTA1MDAKLSsrKyBhbWFyb2stMi41Ljk2L2NtYWtl L21vZHVsZXMvRmluZExpYkxhc3RGbS5jbWFrZQkyMDEyLTA4LTAyIDA3OjM4OjI0LjMxNzU1NTg2 OSAtMDUwMAotQEAgLTYsNyArNiw3IEBACi0gIyBMSUJMQVNURk1fRk9VTkQsIHdoZXRoZXIgbGli bGFzdGZtIHdhcyBmb3VuZAotIAotIAotLWZpbmRfcGF0aChMSUJMQVNURk1fSU5DTFVERV9ESVIg TkFNRVMgQXVkaW9zY3JvYmJsZXIKLStmaW5kX3BhdGgoTElCTEFTVEZNX0lOQ0xVREVfRElSIE5B TUVTIGxhc3RmbQotICAgIEhJTlRTCi0gICAgfi91c3IvaW5jbHVkZQotICAgIC9vcHQvbG9jYWwv aW5jbHVkZQotZGlmZiAtdXAgYW1hcm9rLTIuNS45Ni9zcmMvY29udGV4dC9lbmdpbmVzL3VwY29t aW5nZXZlbnRzL1VwY29taW5nRXZlbnRzRW5naW5lLmNwcC5saWJsYXN0Zm0xIGFtYXJvay0yLjUu OTYvc3JjL2NvbnRleHQvZW5naW5lcy91cGNvbWluZ2V2ZW50cy9VcGNvbWluZ0V2ZW50c0VuZ2lu ZS5jcHAKLS0tLSBhbWFyb2stMi41Ljk2L3NyYy9jb250ZXh0L2VuZ2luZXMvdXBjb21pbmdldmVu dHMvVXBjb21pbmdFdmVudHNFbmdpbmUuY3BwLmxpYmxhc3RmbTEJMjAxMi0wNy0zMSAwNToxMDo1 Ni4wMDAwMDAwMDAgLTA1MDAKLSsrKyBhbWFyb2stMi41Ljk2L3NyYy9jb250ZXh0L2VuZ2luZXMv dXBjb21pbmdldmVudHMvVXBjb21pbmdFdmVudHNFbmdpbmUuY3BwCTIwMTItMDgtMDIgMDc6Mzg6 MjQuMzAxNTU2MDY4IC0wNTAwCi1AQCAtMjcsMTAgKzI3LDYgQEAKLSAjaW5jbHVkZSAiRW5naW5l Q29udHJvbGxlci5oIgotICNpbmNsdWRlICJMYXN0Rm1FdmVudFhtbFBhcnNlci5oIgotIAotLS8v IExhc3RGbQotLSNpbmNsdWRlIDxsYXN0Zm0vWG1sUXVlcnk+Ci0tI2luY2x1ZGUgPGxhc3RmbS93 cy5oPgotLQotIC8vIEtERQotICNpbmNsdWRlIDxLRGF0ZVRpbWU+Ci0gCi1kaWZmIC11cCBhbWFy b2stMi41Ljk2L3NyYy9jb3JlL3N1cHBvcnQvQW1hcm9rLmgubGlibGFzdGZtMSBhbWFyb2stMi41 Ljk2L3NyYy9jb3JlL3N1cHBvcnQvQW1hcm9rLmgKLS0tLSBhbWFyb2stMi41Ljk2L3NyYy9jb3Jl L3N1cHBvcnQvQW1hcm9rLmgubGlibGFzdGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2LjAwMDAwMDAw MCAtMDUwMAotKysrIGFtYXJvay0yLjUuOTYvc3JjL2NvcmUvc3VwcG9ydC9BbWFyb2suaAkyMDEy LTA4LTAyIDA3OjM4OjI0LjMwMTU1NjA2OCAtMDUwMAotQEAgLTIwMyw2ICsyMDMsNyBAQCBuYW1l c3BhY2UgQW1hcm9rCi0gCi0gICAgIGlubGluZSBjb25zdCBjaGFyKiBkaXNjb2dzQXBpS2V5KCkg eyByZXR1cm4gIjkxNzM0ZGQ5ODkiOyB9Ci0gICAgIGlubGluZSBjb25zdCBjaGFyKiBsYXN0Zm1B cGlLZXkoKSB7IHJldHVybiAiNDAyZDNjYThlOWJjOWQzY2Y5Yjg1ZTEyMDI5NDRjYTUiOyB9Ci0r ICAgIGlubGluZSBjb25zdCBjaGFyKiBsYXN0Zm1BcGlTaGFyZWRTZWNyZXQoKSB7IHJldHVybiAi ZmUwZGNkZTlmY2QxNGMyZDFkNTA2NjViNjQ2MzM1ZTkiOyB9Ci0gICAgIGlubGluZSBjb25zdCBj aGFyKiB5YWhvb0Jvc3NBcGlLZXkoKSB7IHJldHVybiAib1FlcFROclYzNEc5U2F0YjFkZ1JaOGhk bDF1aEp2Z3VEU1U1S25sMlhkNEFMSzg1a25ZdDZ5bHIuRlRBNTdYTVJCQS0iOyB9Ci0gICAgIGlu bGluZSBjb25zdCBjaGFyKiBmbGlja3JBcGlLZXkoKSB7IHJldHVybiAiOWM1YTI4ODExNmMzNGMx N2VjZWUzNzg3NzM5N2ZlMzEiOyB9Ci0gfQotZGlmZiAtdXAgYW1hcm9rLTIuNS45Ni9zcmMvTGFz dGZtUmVhZExhYmVsQ2FwYWJpbGl0eS5jcHAubGlibGFzdGZtMSBhbWFyb2stMi41Ljk2L3NyYy9M YXN0Zm1SZWFkTGFiZWxDYXBhYmlsaXR5LmNwcAotLS0tIGFtYXJvay0yLjUuOTYvc3JjL0xhc3Rm bVJlYWRMYWJlbENhcGFiaWxpdHkuY3BwLmxpYmxhc3RmbTEJMjAxMi0wNy0zMSAwNToxMDo1Ni4w MDAwMDAwMDAgLTA1MDAKLSsrKyBhbWFyb2stMi41Ljk2L3NyYy9MYXN0Zm1SZWFkTGFiZWxDYXBh YmlsaXR5LmNwcAkyMDEyLTA4LTAyIDA3OjM4OjI0LjMxODU1NTg1NiAtMDUwMAotQEAgLTIyLDgg KzIyLDcgQEAKLSAjaW5jbHVkZSA8UU1hcD4KLSAjaW5jbHVkZSA8UU5ldHdvcmtSZXBseT4KLSAK LS0jaW5jbHVkZSA8bGFzdGZtL1htbFF1ZXJ5PgotLSNpbmNsdWRlIDx3cy5oPgotKyNpbmNsdWRl IDxsYXN0Zm0vWG1sUXVlcnkuaD4KLSAjaW5jbHVkZSAiY29yZS9zdXBwb3J0L0FtYXJvay5oIgot IAotIG5hbWVzcGFjZSBDYXBhYmlsaXRpZXMKLUBAIC03Miw3ICs3MSw4IEBAIExhc3RmbVJlYWRM YWJlbENhcGFiaWxpdHk6Om9uVGFnc0ZldGNoZWQKLSAgICAgewotICAgICAgICAgY2FzZSBRTmV0 d29ya1JlcGx5OjpOb0Vycm9yOgotICAgICAgICAgewotLSAgICAgICAgICAgIGxhc3RmbTo6WG1s UXVlcnkgbGZtID0gbV9qb2ItPnJlYWRBbGwoKTsKLSsgICAgICAgICAgICBsYXN0Zm06OlhtbFF1 ZXJ5IGxmbTsKLSsgICAgICAgICAgICBsZm0ucGFyc2UobV9qb2ItPnJlYWRBbGwoKSk7Ci0gICAg ICAgICAgICAgUUxpc3Q8bGFzdGZtOjpYbWxRdWVyeT4gdGFncyA9IGxmbS5jaGlsZHJlbiggInRh ZyIgKTsKLSAgICAgICAgICAgICBRU3RyaW5nTGlzdCByZXQ7Ci0gICAgICAgICAgICAgZm9yZWFj aCggY29uc3QgbGFzdGZtOjpYbWxRdWVyeSAmY2hpbGQsIHRhZ3MgKQotZGlmZiAtdXAgYW1hcm9r LTIuNS45Ni9zcmMvc2VydmljZXMvYW1wYWNoZS9MYXN0Zm1JbmZvUGFyc2VyLmNwcC5saWJsYXN0 Zm0xIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2FtcGFjaGUvTGFzdGZtSW5mb1BhcnNlci5j cHAKLS0tLSBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9hbXBhY2hlL0xhc3RmbUluZm9QYXJz ZXIuY3BwLmxpYmxhc3RmbTEJMjAxMi0wNy0zMSAwNToxMDo1Ni4wMDAwMDAwMDAgLTA1MDAKLSsr KyBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9hbXBhY2hlL0xhc3RmbUluZm9QYXJzZXIuY3Bw CTIwMTItMDgtMDIgMDc6Mzg6MjQuMjk2NTU2MTI5IC0wNTAwCi1AQCAtMjAsOCArMjAsNyBAQAot ICNpbmNsdWRlICJjb3JlL3N1cHBvcnQvQW1hcm9rLmgiCi0gI2luY2x1ZGUgImNvcmUvc3VwcG9y dC9EZWJ1Zy5oIgotIAotLSNpbmNsdWRlIDxsYXN0Zm0vWG1sUXVlcnk+Ci0tI2luY2x1ZGUgPGxh c3RmbS93cy5oPgotKyNpbmNsdWRlIDxsYXN0Zm0vWG1sUXVlcnkuaD4KLSAKLSAjaW5jbHVkZSA8 S0xvY2FsZT4KLSAKLUBAIC01NSw3ICs1NCw4IEBAIHZvaWQgTGFzdGZtSW5mb1BhcnNlcjo6b25H ZXRUcmFja0luZm8oKQotICAgICB7Ci0gICAgICAgICBjYXNlIFFOZXR3b3JrUmVwbHk6Ok5vRXJy b3I6Ci0gICAgICAgICB7Ci0tICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm0gPSBtX2pv YnNbICJnZXRUcmFja0luZm8iIF0tPnJlYWRBbGwoKTsKLSsgICAgICAgICAgICBsYXN0Zm06Olht bFF1ZXJ5IGxmbTsKLSsgICAgICAgICAgICBsZm0ucGFyc2UoIG1fam9ic1sgImdldFRyYWNrSW5m byIgXS0+cmVhZEFsbCgpICk7Ci0gICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSB3aWtpID0g bGZtWyJ0cmFjayJdWyJ3aWtpIl07Ci0gICAgICAgICAgICAgY29uc3QgUVN0cmluZyBjb250ZW50 VGV4dCA9IHdpa2lbImNvbnRlbnQiXS50ZXh0KCk7Ci0gICAgICAgICAgICAgY29uc3QgUVN0cmlu ZyBwdWJsaXNoZWREYXRlID0gd2lraVsicHVibGlzaGVkIl0udGV4dCgpOwotQEAgLTEwMyw3ICsx MDMsOCBAQCB2b2lkIExhc3RmbUluZm9QYXJzZXI6Om9uR2V0QWxidW1JbmZvKCkKLSAgICAgewot ICAgICAgICAgY2FzZSBRTmV0d29ya1JlcGx5OjpOb0Vycm9yOgotICAgICAgICAgewotLSAgICAg ICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtID0gbV9qb2JzWyAiZ2V0QWxidW1JbmZvIiBdLT5y ZWFkQWxsKCk7Ci0rICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm07Ci0rICAgICAgICAg ICAgbGZtLnBhcnNlKCBtX2pvYnNbICJnZXRBbGJ1bUluZm8iIF0tPnJlYWRBbGwoKSApOwotICAg ICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgd2lraSA9IGxmbVsiYWxidW0iXVsid2lraSJdOwot ICAgICAgICAgICAgIGNvbnN0IFFTdHJpbmcgc3VtbWFyeVRleHQgPSB3aWtpWyJzdW1tYXJ5Il0u dGV4dCgpOwotICAgICAgICAgICAgIGNvbnN0IFFTdHJpbmcgY29udGVudFRleHQgPSB3aWtpWyJj b250ZW50Il0udGV4dCgpOwotQEAgLTE1NSw3ICsxNTYsOCBAQCB2b2lkIExhc3RmbUluZm9QYXJz ZXI6Om9uR2V0QXJ0aXN0SW5mbygpCi0gICAgIHsKLSAgICAgICAgIGNhc2UgUU5ldHdvcmtSZXBs eTo6Tm9FcnJvcjoKLSAgICAgICAgIHsKLS0gICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxm bSA9IG1fam9ic1sgImdldEFydGlzdEluZm8iIF0tPnJlYWRBbGwoKTsKLSsgICAgICAgICAgICBs YXN0Zm06OlhtbFF1ZXJ5IGxmbTsKLSsgICAgICAgICAgICBsZm0ucGFyc2UoIG1fam9ic1sgImdl dEFydGlzdEluZm8iIF0tPnJlYWRBbGwoKSApOwotICAgICAgICAgICAgIGRlYnVnKCkgPDwgbGZt LnRleHQoKTsKLSAgICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGJpbyA9IGxmbVsiYXJ0aXN0 Il1bImJpbyJdOwotICAgICAgICAgICAgIGNvbnN0IFFTdHJpbmcgc3VtbWFyeVRleHQgPSBiaW9b InN1bW1hcnkiXS50ZXh0KCk7Ci1kaWZmIC11cCBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9s YXN0Zm0vYmlhc2VzL0xhc3RGbUJpYXMuY3BwLmxpYmxhc3RmbTEgYW1hcm9rLTIuNS45Ni9zcmMv c2VydmljZXMvbGFzdGZtL2JpYXNlcy9MYXN0Rm1CaWFzLmNwcAotLS0tIGFtYXJvay0yLjUuOTYv c3JjL3NlcnZpY2VzL2xhc3RmbS9iaWFzZXMvTGFzdEZtQmlhcy5jcHAubGlibGFzdGZtMQkyMDEy LTA3LTMxIDA1OjEwOjU2LjAwMDAwMDAwMCAtMDUwMAotKysrIGFtYXJvay0yLjUuOTYvc3JjL3Nl cnZpY2VzL2xhc3RmbS9iaWFzZXMvTGFzdEZtQmlhcy5jcHAJMjAxMi0wOC0wMiAwNzozODoyNC4y OTk1NTYwOTMgLTA1MDAKLUBAIC0zNCw5ICszNCw4IEBACi0gI2luY2x1ZGUgImNvcmUvY29sbGVj dGlvbnMvUXVlcnlNYWtlci5oIgotICNpbmNsdWRlICJjb3JlLWltcGwvY29sbGVjdGlvbnMvc3Vw cG9ydC9Db2xsZWN0aW9uTWFuYWdlci5oIgotIAotLSNpbmNsdWRlICJsYXN0Zm0vQXJ0aXN0Igot LSNpbmNsdWRlICJsYXN0Zm0vd3MuaCIKLS0jaW5jbHVkZSAibGFzdGZtL1htbFF1ZXJ5IgotKyNp bmNsdWRlIDxsYXN0Zm0vQXJ0aXN0Lmg+Ci0rI2luY2x1ZGUgPGxhc3RmbS93cy5oPgotIAotICNp bmNsdWRlIDxRTGFiZWw+Ci0gI2luY2x1ZGUgPFFDb21ib0JveD4KLWRpZmYgLXVwIGFtYXJvay0y LjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9iaWFzZXMvV2Vla2x5VG9wQmlhcy5jcHAubGlibGFz dGZtMSBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vYmlhc2VzL1dlZWtseVRvcEJp YXMuY3BwCi0tLS0gYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL2JpYXNlcy9XZWVr bHlUb3BCaWFzLmNwcC5saWJsYXN0Zm0xCTIwMTItMDctMzEgMDU6MTA6NTYuMDAwMDAwMDAwIC0w NTAwCi0rKysgYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL2JpYXNlcy9XZWVrbHlU b3BCaWFzLmNwcAkyMDEyLTA4LTAyIDA3OjM4OjI0LjI5OTU1NjA5MyAtMDUwMAotQEAgLTM0LDkg KzM0LDkgQEAKLSAjaW5jbHVkZSAiY29yZS9jb2xsZWN0aW9ucy9RdWVyeU1ha2VyLmgiCi0gI2lu Y2x1ZGUgImNvcmUtaW1wbC9jb2xsZWN0aW9ucy9zdXBwb3J0L0NvbGxlY3Rpb25NYW5hZ2VyLmgi Ci0gCi0tI2luY2x1ZGUgImxhc3RmbS9BcnRpc3QiCi0tI2luY2x1ZGUgImxhc3RmbS93cy5oIgot LSNpbmNsdWRlICJsYXN0Zm0vWG1sUXVlcnkiCi0rI2luY2x1ZGUgPGxhc3RmbS9BcnRpc3QuaD4K LSsjaW5jbHVkZSA8bGFzdGZtL3dzLmg+Ci0rI2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVyeS5oPgot IAotICNpbmNsdWRlIDxRTmV0d29ya1JlcGx5PgotIAotQEAgLTM3MSwxMCArMzcxLDkgQEAgRHlu YW1pYzo6V2Vla2x5VG9wQmlhczo6d2Vla2x5QXJ0aXN0UXVlcgotICAgICB9Ci0gCi0gCi0tICAg IHRyeQotKyAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbTsKLSsgICAgaWYoIGxmbS5wYXJzZSggcmVw bHktPnJlYWRBbGwoKSApICkKLSAgICAgewotLSAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm0o IHJlcGx5LT5yZWFkQWxsKCkgKTsKLS0KLSAgICAgICAgIC8vIGRlYnVnKCkgPDwgImdvdCByZXNw b25zZToiIDw8IGxmbTsKLSAgICAgICAgIFFTdHJpbmdMaXN0IGFydGlzdHM7Ci0gICAgICAgICBm b3IoIGludCBpID0gMDsgaSA8IGxmbVsgIndlZWtseWFydGlzdGNoYXJ0IiBdLmNoaWxkcmVuKCAi YXJ0aXN0IiApLnNpemUoKTsgaSsrICkKLUBAIC0zOTgsMTAgKzM5NywxMCBAQCBEeW5hbWljOjpX ZWVrbHlUb3BCaWFzOjp3ZWVrbHlBcnRpc3RRdWVyCi0gICAgICAgICAgICAgd2FybmluZygpIDw8 ICJHb3QgYSByZXBseSBmb3IgYSB3ZWVrIjw8d2Vlazw8InRoYXQgd2FzIG5vdCByZXF1ZXN0ZWQu IjsKLSAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICB9Ci0tCi0tICAgIH0gY2F0Y2goIGxh c3RmbTo6d3M6OlBhcnNlRXJyb3ImIGUgKQotKyAgICB9Ci0rICAgIGVsc2UKLSAgICAgewotLSAg ICAgICAgZGVidWcoKSA8PCAiY2F1Z2h0IGV4Y2VwdGlvbiBwYXJzaW5nIHdlZWtseSBhcnRpc3Qg Y2hhcnQuIjsKLSsgICAgICAgIGRlYnVnKCkgPDwgImZhaWxlZCB0byBwYXJzZSB3ZWVrbHkgYXJ0 aXN0IGNoYXJ0LiI7Ci0gICAgIH0KLSAKLSAgICAgcmVwbHktPmRlbGV0ZUxhdGVyKCk7Ci1kaWZm IC11cCBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vTGFzdEZtU2VydmljZUNvbGxl Y3Rpb24uY3BwLmxpYmxhc3RmbTEgYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL0xh c3RGbVNlcnZpY2VDb2xsZWN0aW9uLmNwcAotLS0tIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2Vz L2xhc3RmbS9MYXN0Rm1TZXJ2aWNlQ29sbGVjdGlvbi5jcHAubGlibGFzdGZtMQkyMDEyLTA3LTMx IDA1OjEwOjU2LjAwMDAwMDAwMCAtMDUwMAotKysrIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2Vz L2xhc3RmbS9MYXN0Rm1TZXJ2aWNlQ29sbGVjdGlvbi5jcHAJMjAxMi0wOC0wMiAwNzozODoyNC4y OTc1NTYxMTcgLTA1MDAKLUBAIC0yNiw3ICsyNiw3IEBACi0gI2luY2x1ZGUgImNvcmUtaW1wbC9j b2xsZWN0aW9ucy9zdXBwb3J0L01lbW9yeVF1ZXJ5TWFrZXIuaCIKLSAKLSAjaW5jbHVkZSA8bGFz dGZtL3dzLmg+Ci0tI2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVyeT4KLSsjaW5jbHVkZSA8bGFzdGZt L1htbFF1ZXJ5Lmg+Ci0gCi0gI2luY2x1ZGUgPFFOZXR3b3JrUmVwbHk+Ci0gCi1AQCAtMTU0LDEw ICsxNTQsOSBAQCB2b2lkIExhc3RGbVNlcnZpY2VDb2xsZWN0aW9uOjpzbG90QWRkTmVpCi0gICAg ICAgICBjYXNlIFFOZXR3b3JrUmVwbHk6Ok5vRXJyb3I6Ci0gICAgICAgICB7Ci0gICAgICAgICAg ICAgLy8gaXRlcmF0ZSB0aHJvdWdoIGVhY2ggbmVpZ2hib3VyCi0tICAgICAgICAgICAgdHJ5Ci0r ICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm07Ci0rICAgICAgICAgICAgaWYoIGxmbS5w YXJzZSggbV9qb2JzWyAidXNlci5nZXROZWlnaGJvdXJzIiBdLT5yZWFkQWxsKCkgKSApCi0gICAg ICAgICAgICAgewotLSAgICAgICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbSggbV9qb2Jz WyAidXNlci5nZXROZWlnaGJvdXJzIiBdLT5yZWFkQWxsKCkgKTsKLS0KLSAgICAgICAgICAgICAg ICAgZm9yZWFjaCggY29uc3QgbGFzdGZtOjpYbWxRdWVyeSAmZSwgbGZtWyAibmVpZ2hib3VycyIg XS5jaGlsZHJlbiggInVzZXIiICkgKQotICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg ICAgICAgICBjb25zdCBRU3RyaW5nIG5hbWUgPSBlWyAibmFtZSIgXS50ZXh0KCk7Ci1AQCAtMTY4 LDkgKzE2NywxMCBAQCB2b2lkIExhc3RGbVNlcnZpY2VDb2xsZWN0aW9uOjpzbG90QWRkTmVpCi0g ICAgICAgICAgICAgICAgICAgICBhZGRUcmFjayggdHJhY2tQdHIgKTsKLSAgICAgICAgICAgICAg ICAgfQotIAotLSAgICAgICAgICAgIH0gY2F0Y2goIGxhc3RmbTo6d3M6OlBhcnNlRXJyb3ImIGUg KQotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgewotLSAg ICAgICAgICAgICAgICBkZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBs YXN0LmZtOiIgPDwgZS53aGF0KCk7Ci0rICAgICAgICAgICAgICAgIGRlYnVnKCkgPDwgIkdvdCBl eGNlcHRpb24gaW4gcGFyc2luZyBmcm9tIGxhc3QuZm06IiA8PCBsZm0ucGFyc2VFcnJvcigpLm1l c3NhZ2UoKTsKLSAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICB9 Ci1AQCAtMTk1LDE1ICsxOTUsMTQgQEAgdm9pZCBMYXN0Rm1TZXJ2aWNlQ29sbGVjdGlvbjo6c2xv dEFkZE5laQotICAgICAgICAgY2FzZSBRTmV0d29ya1JlcGx5OjpOb0Vycm9yOgotICAgICAgICAg ewotICAgICAgICAgICAgIC8vIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIG5laWdoYm91cgotLSAgICAg ICAgICAgIHRyeQotKyAgICAgICAgICAgIGlmKCAhbV9qb2JzWyAidXNlci5nZXROZWlnaGJvdXJz IiBdICkKLSsgICAgICAgICAgICB7Ci0rICAgICAgICAgICAgICAgIGRlYnVnKCkgPDwgIkJBRCEg Z290IG5vIHJlc3VsdCBvYmplY3QiOwotKyAgICAgICAgICAgICAgICByZXR1cm47Ci0rICAgICAg ICAgICAgfQotKyAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtOwotKyAgICAgICAgICAg IGlmKCBsZm0ucGFyc2UoIG1fam9ic1sgInVzZXIuZ2V0TmVpZ2hib3VycyIgXS0+cmVhZEFsbCgp ICkgKQotICAgICAgICAgICAgIHsKLS0gICAgICAgICAgICAgICAgaWYoICFtX2pvYnNbICJ1c2Vy LmdldE5laWdoYm91cnMiIF0gKQotLSAgICAgICAgICAgICAgICB7Ci0tICAgICAgICAgICAgICAg ICAgICBkZWJ1ZygpIDw8ICJCQUQhIGdvdCBubyByZXN1bHQgb2JqZWN0IjsKLS0gICAgICAgICAg ICAgICAgICAgIHJldHVybjsKLS0gICAgICAgICAgICAgICAgfQotLSAgICAgICAgICAgICAgICBs YXN0Zm06OlhtbFF1ZXJ5IGxmbSggbV9qb2JzWyAidXNlci5nZXROZWlnaGJvdXJzIiBdLT5yZWFk QWxsKCkgKTsKLS0KLSAgICAgICAgICAgICAgICAgLy8gaXRlcmF0ZSB0aHJvdWdoIGVhY2ggbmVp Z2hib3VyCi0gICAgICAgICAgICAgICAgIGZvcmVhY2goIGNvbnN0IGxhc3RmbTo6WG1sUXVlcnkg JmUsIGxmbVsgIm5laWdoYm91cnMiIF0uY2hpbGRyZW4oICJ1c2VyIiApICkKLSAgICAgICAgICAg ICAgICAgewotQEAgLTIxOCw5ICsyMTcsMTAgQEAgdm9pZCBMYXN0Rm1TZXJ2aWNlQ29sbGVjdGlv bjo6c2xvdEFkZE5laQotIAotICAgICAgICAgICAgICAgICAvLyBzaG91bGQgYmUgc2FmZSwgYXMg Ym90aCBzbG90cyBTSE9VTEQgZ2V0IGNhbGxlZCBiZWZvcmUgd2UgcmV0dXJuIHRvIHRoZSBldmVu dCBsb29wLi4uCi0gICAgICAgICAgICAgICAgIG1fam9ic1sgInVzZXIuZ2V0TmVpZ2hib3VycyIg XS0+ZGVsZXRlTGF0ZXIoKTsKLS0gICAgICAgICAgICB9IGNhdGNoKCBsYXN0Zm06OndzOjpQYXJz ZUVycm9yJiBlICkKLSsgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgZWxzZQotICAgICAgICAg ICAgIHsKLS0gICAgICAgICAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJz aW5nIGZyb20gbGFzdC5mbToiIDw8IGUud2hhdCgpOwotKyAgICAgICAgICAgICAgICBkZWJ1Zygp IDw8ICJHb3QgZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBsYXN0LmZtOiIgPDwgbGZtLnBhcnNl RXJyb3IoKS5tZXNzYWdlKCk7Ci0gICAgICAgICAgICAgfQotICAgICAgICAgICAgIGJyZWFrOwot ICAgICAgICAgfQotQEAgLTI0OCwxMCArMjQ4LDkgQEAgdm9pZCBMYXN0Rm1TZXJ2aWNlQ29sbGVj dGlvbjo6c2xvdEFkZEZyaQotICAgICB7Ci0gICAgICAgICBjYXNlIFFOZXR3b3JrUmVwbHk6Ok5v RXJyb3I6Ci0gICAgICAgICB7Ci0tICAgICAgICAgICAgdHJ5Ci0rICAgICAgICAgICAgbGFzdGZt OjpYbWxRdWVyeSBsZm07Ci0rICAgICAgICAgICAgaWYoIGxmbS5wYXJzZSggbV9qb2JzWyAidXNl ci5nZXRGcmllbmRzIiBdLT5yZWFkQWxsKCkgKSApCi0gICAgICAgICAgICAgewotLSAgICAgICAg ICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbSggbV9qb2JzWyAidXNlci5nZXRGcmllbmRzIiBd LT5yZWFkQWxsKCkgKTsKLS0KLSAgICAgICAgICAgICAgICAgZm9yZWFjaCggY29uc3QgbGFzdGZt OjpYbWxRdWVyeSAmZSwgbGZtWyAiZnJpZW5kcyIgXS5jaGlsZHJlbiggInVzZXIiICkgKQotICAg ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICBjb25zdCBRU3RyaW5nIG5hbWUg PSBlWyAibmFtZSIgXS50ZXh0KCk7Ci1AQCAtMjYxLDkgKzI2MCwxMCBAQCB2b2lkIExhc3RGbVNl cnZpY2VDb2xsZWN0aW9uOjpzbG90QWRkRnJpCi0gICAgICAgICAgICAgICAgICAgICBhZGRUcmFj ayggdHJhY2tQdHIgKTsKLSAgICAgICAgICAgICAgICAgfQotIAotLSAgICAgICAgICAgIH0gY2F0 Y2goIGxhc3RmbTo6d3M6OlBhcnNlRXJyb3ImIGUgKQotKyAgICAgICAgICAgIH0KLSsgICAgICAg ICAgICBlbHNlCi0gICAgICAgICAgICAgewotLSAgICAgICAgICAgICAgICBkZWJ1ZygpIDw8ICJH b3QgZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBsYXN0LmZtOiIgPDwgZS53aGF0KCk7Ci0rICAg ICAgICAgICAgICAgIGRlYnVnKCkgPDwgIkdvdCBleGNlcHRpb24gaW4gcGFyc2luZyBmcm9tIGxh c3QuZm06IiA8PCBsZm0ucGFyc2VFcnJvcigpLm1lc3NhZ2UoKTsKLSAgICAgICAgICAgICB9Ci0g ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICB9Ci1AQCAtMjkzLDEwICsyOTMsOSBAQCB2b2lk IExhc3RGbVNlcnZpY2VDb2xsZWN0aW9uOjpzbG90QWRkRnJpCi0gICAgIHsKLSAgICAgICAgIGNh c2UgUU5ldHdvcmtSZXBseTo6Tm9FcnJvcjoKLSAgICAgICAgIHsKLS0gICAgICAgICAgICB0cnkK LSsgICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbTsKLSsgICAgICAgICAgICBpZiggbGZt LnBhcnNlKCBtX2pvYnNbICJ1c2VyLmdldEZyaWVuZHMiIF0tPnJlYWRBbGwoKSApICkKLSAgICAg ICAgICAgICB7Ci0tICAgICAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtKCBtX2pvYnNb ICJ1c2VyLmdldEZyaWVuZHMiIF0tPnJlYWRBbGwoKSApOwotLQotICAgICAgICAgICAgICAgICBm b3JlYWNoKCBjb25zdCBsYXN0Zm06OlhtbFF1ZXJ5ICZlLCBsZm1bICJmcmllbmRzIiBdLmNoaWxk cmVuKCAidXNlciIgKSApCi0gICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg IGNvbnN0IFFTdHJpbmcgbmFtZSA9IGVbICJuYW1lIiBdLnRleHQoKTsKLUBAIC0zMDYsOSArMzA1 LDEwIEBAIHZvaWQgTGFzdEZtU2VydmljZUNvbGxlY3Rpb246OnNsb3RBZGRGcmkKLSAgICAgICAg ICAgICAgICAgICAgIGFkZFRyYWNrKCB0cmFja1B0ciApOwotICAgICAgICAgICAgICAgICB9Ci0g Ci0tICAgICAgICAgICAgfSBjYXRjaCggbGFzdGZtOjp3czo6UGFyc2VFcnJvciYgZSApCi0rICAg ICAgICAgICAgfQotKyAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICB7Ci0tICAgICAgICAg ICAgICAgIGRlYnVnKCkgPDwgIkdvdCBleGNlcHRpb24gaW4gcGFyc2luZyBmcm9tIGxhc3QuZm06 IiA8PCBlLndoYXQoKTsKLSsgICAgICAgICAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlv biBpbiBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGxmbS5wYXJzZUVycm9yKCkubWVzc2FnZSgp OwotICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgIH0KLWRpZmYg LXVwIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9MYXN0Rm1TZXJ2aWNlLmNwcC5s aWJsYXN0Zm0xIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9MYXN0Rm1TZXJ2aWNl LmNwcAotLS0tIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9MYXN0Rm1TZXJ2aWNl LmNwcC5saWJsYXN0Zm0xCTIwMTItMDctMzEgMDU6MTA6NTYuMDAwMDAwMDAwIC0wNTAwCi0rKysg YW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVNlcnZpY2UuY3BwCTIwMTIt MDgtMDIgMDc6Mzg6MjQuMjk2NTU2MTI5IC0wNTAwCi1AQCAtNDYsOCArNDYsOCBAQAotICNpbmNs dWRlICJ3aWRnZXRzL1NlYXJjaFdpZGdldC5oIgotICNpbmNsdWRlICJOZXR3b3JrQWNjZXNzTWFu YWdlclByb3h5LmgiCi0gCi0tI2luY2x1ZGUgPGxhc3RmbS9BdWRpb3Njcm9iYmxlcj4gLy8gZnJv bSBsaWJsYXN0Zm0KLS0jaW5jbHVkZSA8bGFzdGZtL1htbFF1ZXJ5PgotKyNpbmNsdWRlIDxsYXN0 Zm0vQXVkaW9zY3JvYmJsZXIuaD4gLy8gZnJvbSBsaWJsYXN0Zm0KLSsjaW5jbHVkZSA8bGFzdGZt L1htbFF1ZXJ5Lmg+Ci0gCi0gI2luY2x1ZGUgPEtMb2NhbGU+Ci0gI2luY2x1ZGUgPEtQYXNzd29y ZERpYWxvZz4KLUBAIC0yMjQsMTAgKzIyNCw3IEBAIExhc3RGbVNlcnZpY2U6OmluaXQoKQotIHsK LSAgICAgLy8gc2V0IHRoZSBnbG9iYWwgc3RhdGljIExhc3RmbTo6V3Mgc3R1ZmYKLSAgICAgbGFz dGZtOjp3czo6QXBpS2V5ID0gQW1hcm9rOjpsYXN0Zm1BcGlLZXkoKTsKLS0gICAgbGFzdGZtOjp3 czo6U2hhcmVkU2VjcmV0ID0gImZlMGRjZGU5ZmNkMTRjMmQxZDUwNjY1YjY0NjMzNWU5IjsKLS0g ICAgLy8gdGVzdGluZyB3LyBvZmZpY2lhbCBrZXlzCi0tICAgIC8vV3M6OlNoYXJlZFNlY3JldCA9 ICI3MzU4MmRmYzllNTU2ZDMwN2FlYWQwNjlhZjExMGFiOCI7Ci0tICAgIC8vV3M6OkFwaUtleSA9 ICJjOGM3YjE2M2IxMWY5MmVmMmQzM2JhNmNkM2MyYzNjMyI7Ci0rICAgIGxhc3RmbTo6d3M6OlNo YXJlZFNlY3JldCA9IEFtYXJvazo6bGFzdGZtQXBpU2hhcmVkU2VjcmV0KCk7Ci0gICAgIG1fdXNl ck5hbWVBcnJheSA9IHFzdHJkdXAoIG1fdXNlck5hbWUudG9MYXRpbjEoKS5kYXRhKCkgKTsKLSAg ICAgbGFzdGZtOjp3czo6VXNlcm5hbWUgPSBtX3VzZXJOYW1lQXJyYXk7Ci0gICAgIGlmKCBsYXN0 Zm06Om5hbSgpICE9IFRoZTo6bmV0d29ya0FjY2Vzc01hbmFnZXIoKSApCi1AQCAtMzA5LDcgKzMw Niw4IEBAIExhc3RGbVNlcnZpY2U6Om9uQXV0aGVudGljYXRlZCgpCi0gICAgICAgICBjYXNlIFFO ZXR3b3JrUmVwbHk6Ok5vRXJyb3I6Ci0gICAgICAgICB7Ci0gCi0tICAgICAgICAgICAgbGFzdGZt OjpYbWxRdWVyeSBsZm0gPSBsYXN0Zm06OlhtbFF1ZXJ5KCBtX2pvYnNbICJhdXRoIiBdLT5yZWFk QWxsKCkgKTsKLSsgICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbTsKLSsgICAgICAgICAg ICBsZm0ucGFyc2UoIG1fam9ic1sgImF1dGgiIF0tPnJlYWRBbGwoKSApOwotICAgICAgICAgICAg IExhc3RGbVNlcnZpY2VDb25maWcgY29uZmlnOwotIAotICAgICAgICAgICAgIGlmKCBsZm0uY2hp bGRyZW4oICJlcnJvciIgKS5zaXplKCkgPiAwICkKLUBAIC0zNTksMTAgKzM1Nyw4IEBAIExhc3RG bVNlcnZpY2U6Om9uR2V0VXNlckluZm8oKQotICAgICB7Ci0gICAgICAgICBjYXNlIFFOZXR3b3Jr UmVwbHk6Ok5vRXJyb3I6Ci0gICAgICAgICB7Ci0tICAgICAgICAgICAgdHJ5Ci0tICAgICAgICAg ICAgewotLSAgICAgICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbSggbV9qb2JzWyAiZ2V0 VXNlckluZm8iIF0tPnJlYWRBbGwoKSApOwotLQotKyAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVl cnkgbGZtOwotKyAgICAgICAgICAgIGlmKCBsZm0ucGFyc2UoIG1fam9ic1sgImdldFVzZXJJbmZv IiBdLT5yZWFkQWxsKCkgKSApIHsKLSAgICAgICAgICAgICAgICAgbV9jb3VudHJ5ID0gbGZtWyJ1 c2VyIl1bImNvdW50cnkiXS50ZXh0KCk7Ci0gICAgICAgICAgICAgICAgIG1fYWdlID0gbGZtWyJ1 c2VyIl1bImFnZSJdLnRleHQoKTsKLSAgICAgICAgICAgICAgICAgbV9nZW5kZXIgPSBsZm1bInVz ZXIiXVsiZ2VuZGVyIl0udGV4dCgpOwotQEAgLTM4MSw5ICszNzcsMTAgQEAgTGFzdEZtU2Vydmlj ZTo6b25HZXRVc2VySW5mbygpCi0gICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg dXBkYXRlUHJvZmlsZUluZm8oKTsKLSAKLS0gICAgICAgICAgICB9IGNhdGNoKCBsYXN0Zm06Ondz OjpQYXJzZUVycm9yJiBlICkKLSsgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgZWxzZQotICAg ICAgICAgICAgIHsKLS0gICAgICAgICAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBp biBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGUud2hhdCgpOwotKyAgICAgICAgICAgICAgICBk ZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBsYXN0LmZtOiIgPDwgbGZt LnBhcnNlRXJyb3IoKS5tZXNzYWdlKCk7Ci0gICAgICAgICAgICAgfQotICAgICAgICAgICAgIGJy ZWFrOwotICAgICAgICAgfSBjYXNlIFFOZXR3b3JrUmVwbHk6OkF1dGhlbnRpY2F0aW9uUmVxdWly ZWRFcnJvcjoKLWRpZmYgLXVwIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9MYXN0 Rm1TZXJ2aWNlU2V0dGluZ3MuY3BwLmxpYmxhc3RmbTEgYW1hcm9rLTIuNS45Ni9zcmMvc2Vydmlj ZXMvbGFzdGZtL0xhc3RGbVNlcnZpY2VTZXR0aW5ncy5jcHAKLS0tLSBhbWFyb2stMi41Ljk2L3Ny Yy9zZXJ2aWNlcy9sYXN0Zm0vTGFzdEZtU2VydmljZVNldHRpbmdzLmNwcC5saWJsYXN0Zm0xCTIw MTItMDctMzEgMDU6MTA6NTYuMDAwMDAwMDAwIC0wNTAwCi0rKysgYW1hcm9rLTIuNS45Ni9zcmMv c2VydmljZXMvbGFzdGZtL0xhc3RGbVNlcnZpY2VTZXR0aW5ncy5jcHAJMjAxMi0wOC0wMiAwNzoz ODoyNC4yOTc1NTYxMTcgLTA1MDAKLUBAIC0yMyw5ICsyMyw5IEBACi0gI2luY2x1ZGUgIk5ldHdv cmtBY2Nlc3NNYW5hZ2VyUHJveHkuaCIKLSAjaW5jbHVkZSAidWlfTGFzdEZtQ29uZmlnV2lkZ2V0 LmgiCi0gCi0tI2luY2x1ZGUgPGxhc3RmbS9BdWRpb3Njcm9iYmxlcj4gLy8gZnJvbSBsaWJsYXN0 Zm0KLSsjaW5jbHVkZSA8bGFzdGZtL0F1ZGlvc2Nyb2JibGVyLmg+IC8vIGZyb20gbGlibGFzdGZt Ci0gI2luY2x1ZGUgPGxhc3RmbS93cy5oPgotLSNpbmNsdWRlIDxsYXN0Zm0vWG1sUXVlcnk+Ci0r I2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVyeS5oPgotIAotICNpbmNsdWRlIDxRQ3J5cHRvZ3JhcGhp Y0hhc2g+Ci0gI2luY2x1ZGUgPFFOZXR3b3JrQWNjZXNzTWFuYWdlcj4KLUBAIC0xMDAsNyArMTAw LDcgQEAgTGFzdEZtU2VydmljZVNldHRpbmdzOjp0ZXN0TG9naW4oKQotICAgICBtX2NvbmZpZ0Rp YWxvZy0+dGVzdExvZ2luLT5zZXRUZXh0KCBpMThuKCAiVGVzdGluZy4uLiIgKSApOwotICAgICAv LyBzZXQgdGhlIGdsb2JhbCBzdGF0aWMgTGFzdGZtOjpXcyBzdHVmZgotICAgICBsYXN0Zm06Ondz OjpBcGlLZXkgPSBBbWFyb2s6Omxhc3RmbUFwaUtleSgpOwotLSAgICBsYXN0Zm06OndzOjpTaGFy ZWRTZWNyZXQgPSAiZmUwZGNkZTlmY2QxNGMyZDFkNTA2NjViNjQ2MzM1ZTkiOwotKyAgICBsYXN0 Zm06OndzOjpTaGFyZWRTZWNyZXQgPSBBbWFyb2s6Omxhc3RmbUFwaVNoYXJlZFNlY3JldCgpOwot ICAgICBsYXN0Zm06OndzOjpVc2VybmFtZSA9IHFzdHJkdXAoIG1fY29uZmlnRGlhbG9nLT5rY2Zn X1Njcm9iYmxlclVzZXJuYW1lLT50ZXh0KCkudG9MYXRpbjEoKS5kYXRhKCkgKTsKLSAgICAgaWYo IGxhc3RmbTo6bmFtKCkgIT0gVGhlOjpuZXR3b3JrQWNjZXNzTWFuYWdlcigpICkKLSAgICAgICAg IGxhc3RmbTo6c2V0TmV0d29ya0FjY2Vzc01hbmFnZXIoIFRoZTo6bmV0d29ya0FjY2Vzc01hbmFn ZXIoKSApOwotQEAgLTEyNiw3ICsxMjYsOCBAQCBMYXN0Rm1TZXJ2aWNlU2V0dGluZ3M6Om9uQXV0 aGVudGljYXRlZCgpCi0gewotICAgICBERUJVR19CTE9DSwotIAotLSAgICBsYXN0Zm06OlhtbFF1 ZXJ5IGxmbSA9IGxhc3RmbTo6WG1sUXVlcnkoIG1fYXV0aFF1ZXJ5LT5yZWFkQWxsKCkgKTsKLSsg ICAgbGFzdGZtOjpYbWxRdWVyeSBsZm07Ci0rICAgIGxmbS5wYXJzZSggbV9hdXRoUXVlcnktPnJl YWRBbGwoKSApOwotIAotICAgICBzd2l0Y2goIG1fYXV0aFF1ZXJ5LT5lcnJvcigpICkKLSAgICAg ewotZGlmZiAtdXAgYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVRyZWVN b2RlbC5jcHAubGlibGFzdGZtMSBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vTGFz dEZtVHJlZU1vZGVsLmNwcAotLS0tIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9M YXN0Rm1UcmVlTW9kZWwuY3BwLmxpYmxhc3RmbTEJMjAxMi0wNy0zMSAwNToxMDo1Ni4wMDAwMDAw MDAgLTA1MDAKLSsrKyBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vTGFzdEZtVHJl ZU1vZGVsLmNwcAkyMDEyLTA4LTAyIDA3OjM4OjI0LjI5ODU1NjEwNSAtMDUwMAotQEAgLTI2LDgg KzI2LDggQEAKLSAjaW5jbHVkZSAiQW1hcm9rTWltZURhdGEuaCIKLSAKLSAjaW5jbHVkZSA8bGFz dGZtL3dzLmg+Ci0tI2luY2x1ZGUgPGxhc3RmbS9UYWc+Ci0tI2luY2x1ZGUgPGxhc3RmbS9YbWxR dWVyeT4KLSsjaW5jbHVkZSA8bGFzdGZtL1RhZy5oPgotKyNpbmNsdWRlIDxsYXN0Zm0vWG1sUXVl cnkuaD4KLSAKLSAjaW5jbHVkZSA8S0ljb24+Ci0gI2luY2x1ZGUgPEtMb2NhbGU+Ci1AQCAtNjgs MTEgKzY4LDEyIEBAIExhc3RGbVRyZWVNb2RlbDo6c2xvdEFkZE5laWdoYm9ycyAoKQotIHsKLSAg ICAgREVCVUdfQkxPQ0sKLSAKLS0gICAgdHJ5Ci0tICAgIHsKLSAgICAgICAgIC8vIEl0ZXJhdGUg b3ZlciBlYWNoIG5laWdoYm9yLCBpbiB0d28gcGFzc2VzOiAxKSBHZXQgZGF0YSAyKSBTb3J0IGRh dGEsIHN0b3JlIGluIG1vZGVsCi0gCi0tICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbSggbV9q b2JzWyAiZ2V0TmVpZ2hib3VycyIgXS0+cmVhZEFsbCgpICk7Ci0rICAgIGxhc3RmbTo6WG1sUXVl cnkgbGZtOwotKyAgICBsZm0ucGFyc2UoIG1fam9ic1sgImdldE5laWdoYm91cnMiIF0tPnJlYWRB bGwoKSApOwotKyAgICBpZiggbGZtLnBhcnNlRXJyb3IoKS5lbnVtVmFsdWUoKSA9PSBsYXN0Zm06 OndzOjpOb0Vycm9yICkKLSsgICAgewotICAgICAgICAgZm9yZWFjaCggY29uc3QgbGFzdGZtOjpY bWxRdWVyeSAmZSwgbGZtWyAibmVpZ2hib3VycyIgXS5jaGlsZHJlbiAoICJ1c2VyIiApICkKLSAg ICAgICAgIHsKLSAgICAgICAgICAgICBjb25zdCBRU3RyaW5nIG5hbWUgPSBlWyAibmFtZSIgXS50 ZXh0KCk7Ci1AQCAtODgsMTEgKzg5LDExIEBAIExhc3RGbVRyZWVNb2RlbDo6c2xvdEFkZE5laWdo Ym9ycyAoKQotICAgICAgICAgICAgIGFwcGVuZFVzZXJTdGF0aW9ucyggbmVpZ2hib3IsIG5hbWUg KTsKLSAgICAgICAgIH0KLSAgICAgICAgIG1fbmVpZ2hib3JzLnNvcnQoKTsKLSsgICAgfSBlbHNl IHsKLSsgICAgICAgIGRlYnVnKCkgPDwgIkdvdCBleGNlcHRpb24gaW4gcGFyc2luZyBmcm9tIGxh c3QuZm06IiA8PCBsZm0ucGFyc2VFcnJvcigpLm1lc3NhZ2UoKTsKLSsgICAgICAgIHJldHVybjsK LSAgICAgfQotLSAgICBjYXRjaCggbGFzdGZtOjp3czo6UGFyc2VFcnJvciBlICkKLS0gICAgewot LSAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5m bToiIDw8IGUud2hhdCgpOwotLSAgICB9Ci0rCi0gICAgIGVtaXRSb3dDaGFuZ2VkKExhc3RGbTo6 TmVpZ2hib3JzKTsKLSAgICAgbV9qb2JzWyAiZ2V0TmVpZ2hib3VycyIgXS0+ZGVsZXRlTGF0ZXIo KTsKLSB9Ci1AQCAtMTAyLDExICsxMDMsMTEgQEAgTGFzdEZtVHJlZU1vZGVsOjpzbG90QWRkRnJp ZW5kcyAoKQotIHsKLSAgICAgREVCVUdfQkxPQ0sKLSAKLS0gICAgdHJ5Ci0tICAgIHsKLS0gICAg ICAgIC8vIEl0ZXJhdGUgb3ZlciBlYWNoIGZyaWVuZCwgaW4gdHdvIHBhc3NlczogMSkgR2V0IGRh dGEgMikgU29ydCBkYXRhLCBzdG9yZSBpbiBtb2RlbAotKyAgICAvLyBJdGVyYXRlIG92ZXIgZWFj aCBmcmllbmQsIGluIHR3byBwYXNzZXM6IDEpIEdldCBkYXRhIDIpIFNvcnQgZGF0YSwgc3RvcmUg aW4gbW9kZWwKLSAKLS0gICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtKCBtX2pvYnNbICJnZXRG cmllbmRzIiBdLT5yZWFkQWxsKCkgKTsKLSsgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm07Ci0rICAg IGlmKCBsZm0ucGFyc2UoIG1fam9ic1sgImdldEZyaWVuZHMiIF0tPnJlYWRBbGwoKSApICkKLSsg ICAgewotICAgICAgICAgZm9yZWFjaCggY29uc3QgbGFzdGZtOjpYbWxRdWVyeSAmZSwgbGZtWyAi ZnJpZW5kcyIgXS5jaGlsZHJlbiAoICJ1c2VyIiApICkKLSAgICAgICAgIHsKLSAgICAgICAgICAg ICBjb25zdCBRU3RyaW5nIG5hbWUgPSBlWyAibmFtZSIgXS50ZXh0KCk7Ci1AQCAtMTIzLDExICsx MjQsMTEgQEAgTGFzdEZtVHJlZU1vZGVsOjpzbG90QWRkRnJpZW5kcyAoKQotICAgICAgICAgICAg IGFwcGVuZFVzZXJTdGF0aW9ucyggYWZyaWVuZCwgbmFtZSApOwotICAgICAgICAgfQotICAgICAg ICAgbV9mcmllbmRzLnNvcnQoKTsKLSsgICAgfSBlbHNlIHsKLSsgICAgICAgIGRlYnVnKCkgPDwg IkdvdCBleGNlcHRpb24gaW4gcGFyc2luZyBmcm9tIGxhc3QuZm06IiA8PCBsZm0ucGFyc2VFcnJv cigpLm1lc3NhZ2UoKTsKLSsgICAgICAgIHJldHVybjsKLSAgICAgfQotLSAgICBjYXRjaCggbGFz dGZtOjp3czo6UGFyc2VFcnJvciBlICkKLS0gICAgewotLSAgICAgICAgZGVidWcoKSA8PCAiR290 IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGUud2hhdCgpOwotLSAgICB9 Ci0rCi0gICAgIGVtaXRSb3dDaGFuZ2VkKExhc3RGbTo6RnJpZW5kcyk7Ci0gICAgIG1fam9ic1sg ImdldEZyaWVuZHMiIF0tPmRlbGV0ZUxhdGVyKCk7Ci0gfQotQEAgLTEzNywxMCArMTM4LDkgQEAg TGFzdEZtVHJlZU1vZGVsOjpzbG90QWRkVG9wQXJ0aXN0cyAoKQotIHsKLSAgICAgREVCVUdfQkxP Q0sKLSAgICAgV2VpZ2h0ZWRTdHJpbmdMaXN0IGxpc3Q7Ci0tICAgIHRyeQotKyAgICBsYXN0Zm06 OlhtbFF1ZXJ5IGxmbTsKLSsgICAgaWYoIGxmbS5wYXJzZSggbV9qb2JzWyAiZ2V0VG9wQXJ0aXN0 cyIgXS0+cmVhZEFsbCgpICkgKQotICAgICB7Ci0tICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxm bSggbV9qb2JzWyAiZ2V0VG9wQXJ0aXN0cyIgXS0+cmVhZEFsbCgpICk7Ci0tCi0gICAgICAgICBm b3JlYWNoKCBjb25zdCBsYXN0Zm06OlhtbFF1ZXJ5ICZlLCBsZm1bICJ0b3BhcnRpc3RzIiBdLmNo aWxkcmVuICggImFydGlzdCIgKSApCi0gICAgICAgICB7Ci0gICAgICAgICAgICAgY29uc3QgUVN0 cmluZyBuYW1lID0gZVsgIm5hbWUiIF0udGV4dCgpOwotQEAgLTE1OCw5ICsxNTgsMTAgQEAgTGFz dEZtVHJlZU1vZGVsOjpzbG90QWRkVG9wQXJ0aXN0cyAoKQotICAgICAgICAgICAgIG1fbXlUb3BB cnRpc3RzLT5hcHBlbmRDaGlsZCAoIGFydGlzdCApOwotICAgICAgICAgfQotIAotLSAgICB9IGNh dGNoKCBsYXN0Zm06OndzOjpQYXJzZUVycm9yIGUgKQotKyAgICB9Ci0rICAgIGVsc2UKLSAgICAg ewotLSAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFz dC5mbToiIDw8IGUud2hhdCgpOwotKyAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBp biBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGxmbS5wYXJzZUVycm9yKCkubWVzc2FnZSgpOwot ICAgICB9Ci0gICAgIGVtaXRSb3dDaGFuZ2VkKExhc3RGbTo6VG9wQXJ0aXN0cyk7Ci0gICAgIG1f am9ic1sgImdldFRvcEFydGlzdHMiIF0tPmRlbGV0ZUxhdGVyKCk7Ci1kaWZmIC11cCBhbWFyb2st Mi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vTGFzdEZtVHJlZU1vZGVsLmgubGlibGFzdGZtMSBh bWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vTGFzdEZtVHJlZU1vZGVsLmgKLS0tLSBh bWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vTGFzdEZtVHJlZU1vZGVsLmgubGlibGFz dGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2LjAwMDAwMDAwMCAtMDUwMAotKysrIGFtYXJvay0yLjUu OTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9MYXN0Rm1UcmVlTW9kZWwuaAkyMDEyLTA4LTAyIDA3OjM4 OjI0LjI5NzU1NjExNyAtMDUwMAotQEAgLTIyLDcgKzIyLDcgQEAKLSAjaW5jbHVkZSAiY29yZS9t ZXRhL01ldGEuaCIKLSAjaW5jbHVkZSAiV2VpZ2h0ZWRTdHJpbmdMaXN0LmgiCi0gCi0tI2luY2x1 ZGUgPGxhc3RmbS9Vc2VyPgotKyNpbmNsdWRlIDxsYXN0Zm0vVXNlci5oPgotIAotICNpbmNsdWRl IDxRQWJzdHJhY3RJdGVtTW9kZWw+Ci0gI2luY2x1ZGUgPFFIYXNoPgotQEAgLTEzNiw3ICsxMzYs NyBAQCBwcml2YXRlOgotICAgICBMYXN0Rm1UcmVlSXRlbSAqbV9teVRvcEFydGlzdHM7Ci0gCi0g ICAgIFFTdHJpbmcgbV91c2VyTmFtZTsKLS0gICAgbGFzdGZtOjpBdXRoZW50aWNhdGVkVXNlciBt X3VzZXI7Ci0rICAgIGxhc3RmbTo6VXNlciBtX3VzZXI7Ci0gCi0gICAgIFFTdHJpbmdMaXN0IG1f ZnJpZW5kczsKLSAgICAgUVN0cmluZ0xpc3QgbV9uZWlnaGJvcnM7Ci1kaWZmIC11cCBhbWFyb2st Mi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vbWV0YS9MYXN0Rm1NZXRhLmNwcC5saWJsYXN0Zm0x IGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9tZXRhL0xhc3RGbU1ldGEuY3BwCi0t LS0gYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL21ldGEvTGFzdEZtTWV0YS5jcHAu bGlibGFzdGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2LjAwMDAwMDAwMCAtMDUwMAotKysrIGFtYXJv ay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9tZXRhL0xhc3RGbU1ldGEuY3BwCTIwMTItMDgt MDIgMDc6Mzg6MjQuMzAwNTU2MDgxIC0wNTAwCi1AQCAtNDEsNyArNDEsNyBAQAotICNpbmNsdWRl IDxRV2Vha1BvaW50ZXI+Ci0gI2luY2x1ZGUgPFFVcmw+Ci0gCi0tI2luY2x1ZGUgPGxhc3RmbS9U cmFjaz4KLSsjaW5jbHVkZSA8bGFzdGZtL1RyYWNrLmg+Ci0gCi0gbmFtZXNwYWNlIExhc3RGbSB7 Ci0gCi1AQCAtNDUxLDggKzQ1MSw3IEBAIFRyYWNrOjpsb3ZlKCkKLSAgICAgREVCVUdfQkxPQ0sK LSAKLSAgICAgZGVidWcoKSA8PCAiaW5mbzoiIDw8IGQtPmxhc3RGbVRyYWNrLmFydGlzdCgpIDw8 IGQtPmxhc3RGbVRyYWNrLnRpdGxlKCk7Ci0tICAgIGQtPndzUmVwbHkgPSBsYXN0Zm06Ok11dGFi bGVUcmFjayggZC0+bGFzdEZtVHJhY2sgKS5sb3ZlKCk7Ci0tICAgIGNvbm5lY3QoIGQtPndzUmVw bHksIFNJR05BTCggZmluaXNoZWQoKSApLCB0aGlzLCBTTE9UKCBzbG90V3NSZXBseSgpICkgKTsK LSsgICAgbGFzdGZtOjpNdXRhYmxlVHJhY2soIGQtPmxhc3RGbVRyYWNrICkubG92ZSgpOwotIH0K LSAKLSB2b2lkCi1AQCAtNDc3LDkgKzQ3Niw5IEBAIHZvaWQgVHJhY2s6OnNsb3RSZXN1bHRSZWFk eSgpCi0gewotICAgICBpZiggZC0+dHJhY2tGZXRjaC0+ZXJyb3IoKSA9PSBRTmV0d29ya1JlcGx5 OjpOb0Vycm9yICkKLSAgICAgewotLSAgICAgICAgdHJ5Ci0rICAgICAgICBsYXN0Zm06OlhtbFF1 ZXJ5IGxmbTsKLSsgICAgICAgIGlmKCBsZm0ucGFyc2UoIGQtPnRyYWNrRmV0Y2gtPnJlYWRBbGwo KSApICkKLSAgICAgICAgIHsKLS0gICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbSggZC0+ dHJhY2tGZXRjaC0+cmVhZEFsbCgpICk7Ci0gICAgICAgICAgICAgUVN0cmluZyBpZCA9IGxmbVsg InRyYWNrIiBdWyAiaWQiIF0udGV4dCgpOwotICAgICAgICAgICAgIFFTdHJpbmcgc3RyZWFtYWJs ZSA9IGxmbVsgInRyYWNrIiBdWyAic3RyZWFtYWJsZSIgXS50ZXh0KCk7Ci0gICAgICAgICAgICAg aWYoIHN0cmVhbWFibGUudG9JbnQoKSA9PSAxICkKLUBAIC00ODcsOSArNDg2LDEwIEBAIHZvaWQg VHJhY2s6OnNsb3RSZXN1bHRSZWFkeSgpCi0gICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAg ICAgICBpbml0KCk7Ci0gCi0tICAgICAgICB9IGNhdGNoKCBsYXN0Zm06OndzOjpQYXJzZUVycm9y JiBlICkKLSsgICAgICAgIH0KLSsgICAgICAgIGVsc2UKLSAgICAgICAgIHsKLS0gICAgICAgICAg ICBkZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBsYXN0LmZtOiIgPDwg ZS53aGF0KCk7Ci0rICAgICAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJz aW5nIGZyb20gbGFzdC5mbToiIDw8IGxmbS5wYXJzZUVycm9yKCkubWVzc2FnZSgpOwotICAgICAg ICAgfQotICAgICB9IGVsc2UKLSAgICAgewotZGlmZiAtdXAgYW1hcm9rLTIuNS45Ni9zcmMvc2Vy dmljZXMvbGFzdGZtL21ldGEvTGFzdEZtTWV0YS5oLmxpYmxhc3RmbTEgYW1hcm9rLTIuNS45Ni9z cmMvc2VydmljZXMvbGFzdGZtL21ldGEvTGFzdEZtTWV0YS5oCi0tLS0gYW1hcm9rLTIuNS45Ni9z cmMvc2VydmljZXMvbGFzdGZtL21ldGEvTGFzdEZtTWV0YS5oLmxpYmxhc3RmbTEJMjAxMi0wNy0z MSAwNToxMDo1Ni4wMDAwMDAwMDAgLTA1MDAKLSsrKyBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNl cy9sYXN0Zm0vbWV0YS9MYXN0Rm1NZXRhLmgJMjAxMi0wOC0wMiAwNzozODoyNC4yOTk1NTYwOTMg LTA1MDAKLUBAIC0yNCw3ICsyNCw3IEBACi0gI2luY2x1ZGUgIlNlcnZpY2VNZXRhQmFzZS5oIiAv LyBmb3IgdGhlIFNvdXJjZUluZm9Qcm92aWRlcgotIAotIAotLSNpbmNsdWRlIDxsYXN0Zm0vVHJh Y2s+Ci0rI2luY2x1ZGUgPGxhc3RmbS9UcmFjay5oPgotIAotIAotICNpbmNsdWRlIDxRT2JqZWN0 PgotZGlmZiAtdXAgYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL21ldGEvTGFzdEZt TWV0YV9wLmgubGlibGFzdGZtMSBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vbWV0 YS9MYXN0Rm1NZXRhX3AuaAotLS0tIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9t ZXRhL0xhc3RGbU1ldGFfcC5oLmxpYmxhc3RmbTEJMjAxMi0wNy0zMSAwNToxMDo1Ni4wMDAwMDAw MDAgLTA1MDAKLSsrKyBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vbWV0YS9MYXN0 Rm1NZXRhX3AuaAkyMDEyLTA4LTAyIDA3OjM4OjI0LjMwMDU1NjA4MSAtMDUwMAotQEAgLTI2LDEw ICsyNiwxMCBAQAotICNpbmNsdWRlICJjb3JlL3N0YXRpc3RpY3MvU3RhdGlzdGljc1Byb3ZpZGVy LmgiCi0gI2luY2x1ZGUgImNvcmUtaW1wbC9zdGF0aXN0aWNzL3Byb3ZpZGVycy90YWcvVGFnU3Rh dGlzdGljc1Byb3ZpZGVyLmgiCi0gCi0tI2luY2x1ZGUgPGxhc3RmbS9UcmFjaz4KLSsjaW5jbHVk ZSA8bGFzdGZtL1RyYWNrLmg+Ci0gI2luY2x1ZGUgPGxhc3RmbS93cy5oPgotLSNpbmNsdWRlIDxs YXN0Zm0vUmFkaW9UdW5lcj4KLS0jaW5jbHVkZSA8bGFzdGZtL1htbFF1ZXJ5PgotKyNpbmNsdWRl IDxsYXN0Zm0vUmFkaW9UdW5lci5oPgotKyNpbmNsdWRlIDxsYXN0Zm0vWG1sUXVlcnkuaD4KLSAK LSAjaW5jbHVkZSA8a2lvL2pvYi5oPgotICNpbmNsdWRlIDxraW8vam9iY2xhc3Nlcy5oPgotQEAg LTE0NCwyNiArMTQ0LDI0IEBAIGNsYXNzIFRyYWNrOjpQcml2YXRlIDogcHVibGljIFFPYmplY3QK LSAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgIGlmKCBtX3VzZXJGZXRjaC0+ ZXJyb3IoKSA9PSBRTmV0d29ya1JlcGx5OjpOb0Vycm9yICkKLSAgICAgICAgICAgICB7Ci0tICAg ICAgICAgICAgICAgIHRyeQotKyAgICAgICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbTsK LSsgICAgICAgICAgICAgICAgaWYoICFsZm0ucGFyc2UoIG1fdXNlckZldGNoLT5yZWFkQWxsKCkg KSApCi0gICAgICAgICAgICAgICAgIHsKLS0gICAgICAgICAgICAgICAgICAgIGxhc3RmbTo6WG1s UXVlcnkgbGZtKCBtX3VzZXJGZXRjaC0+cmVhZEFsbCgpICk7Ci0tICAgICAgICAgICAgICAgICAg ICBhbGJ1bVVybCA9IGxmbVsgInRyYWNrIiBdWyAiYWxidW0iIF1bICJ1cmwiIF0udGV4dCgpOwot LSAgICAgICAgICAgICAgICAgICAgdHJhY2tVcmwgPSBsZm1bICJ0cmFjayIgXVsgInVybCIgXS50 ZXh0KCk7Ci0tICAgICAgICAgICAgICAgICAgICBhcnRpc3RVcmwgPSBsZm1bICJ0cmFjayIgXVsg ImFydGlzdCIgXVsgInVybCIgXS50ZXh0KCk7Ci0tCi0tICAgICAgICAgICAgICAgICAgICBub3Rp ZnlPYnNlcnZlcnMoKTsKLS0KLS0gICAgICAgICAgICAgICAgICAgIGltYWdlVXJsID0gbGZtWyAi dHJhY2siIF1bICJhbGJ1bSIgXVsgImltYWdlIHNpemU9bGFyZ2UiIF0udGV4dCgpOwotLQotLSAg ICAgICAgICAgICAgICAgICAgaWYoICFpbWFnZVVybC5pc0VtcHR5KCkgKQotLSAgICAgICAgICAg ICAgICAgICAgewotLSAgICAgICAgICAgICAgICAgICAgICAgIEtJTzo6Sm9iKiBqb2IgPSBLSU86 OnN0b3JlZEdldCggS1VybCggaW1hZ2VVcmwgKSwgS0lPOjpSZWxvYWQsIEtJTzo6SGlkZVByb2dy ZXNzSW5mbyApOwotLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3QoIGpvYiwgU0lHTkFM KCByZXN1bHQoIEtKb2IqICkgKSwgdGhpcywgU0xPVCggZmV0Y2hJbWFnZUZpbmlzaGVkKCBLSm9i KiApICkgKTsKLS0gICAgICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICAgICAgIGRl YnVnKCkgPDwgIkdvdCBleGNlcHRpb24gaW4gcGFyc2luZyBmcm9tIGxhc3QuZm06IiA8PCBsZm0u cGFyc2VFcnJvcigpLm1lc3NhZ2UoKTsKLSsgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSsg ICAgICAgICAgICAgICAgfQotKyAgICAgICAgICAgICAgICBhbGJ1bVVybCA9IGxmbVsgInRyYWNr IiBdWyAiYWxidW0iIF1bICJ1cmwiIF0udGV4dCgpOwotKyAgICAgICAgICAgICAgICB0cmFja1Vy bCA9IGxmbVsgInRyYWNrIiBdWyAidXJsIiBdLnRleHQoKTsKLSsgICAgICAgICAgICAgICAgYXJ0 aXN0VXJsID0gbGZtWyAidHJhY2siIF1bICJhcnRpc3QiIF1bICJ1cmwiIF0udGV4dCgpOwotKwot KyAgICAgICAgICAgICAgICBub3RpZnlPYnNlcnZlcnMoKTsKLSsKLSsgICAgICAgICAgICAgICAg aW1hZ2VVcmwgPSBsZm1bICJ0cmFjayIgXVsgImFsYnVtIiBdWyAiaW1hZ2Ugc2l6ZT1sYXJnZSIg XS50ZXh0KCk7Ci0gCi0tICAgICAgICAgICAgICAgIH0gY2F0Y2goIGxhc3RmbTo6d3M6OlBhcnNl RXJyb3ImIGUgKQotKyAgICAgICAgICAgICAgICBpZiggIWltYWdlVXJsLmlzRW1wdHkoKSApCi0g ICAgICAgICAgICAgICAgIHsKLS0gICAgICAgICAgICAgICAgICAgIGRlYnVnKCkgPDwgIkdvdCBl eGNlcHRpb24gaW4gcGFyc2luZyBmcm9tIGxhc3QuZm06IiA8PCBlLndoYXQoKTsKLSsgICAgICAg ICAgICAgICAgICAgIEtJTzo6Sm9iKiBqb2IgPSBLSU86OnN0b3JlZEdldCggS1VybCggaW1hZ2VV cmwgKSwgS0lPOjpSZWxvYWQsIEtJTzo6SGlkZVByb2dyZXNzSW5mbyApOwotKyAgICAgICAgICAg ICAgICAgICAgY29ubmVjdCggam9iLCBTSUdOQUwoIHJlc3VsdCggS0pvYiogKSApLCB0aGlzLCBT TE9UKCBmZXRjaEltYWdlRmluaXNoZWQoIEtKb2IqICkgKSApOwotICAgICAgICAgICAgICAgICB9 Ci0gICAgICAgICAgICAgfQotIAotZGlmZiAtdXAgYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMv bGFzdGZtL21ldGEvTXVsdGlQbGF5YWJsZUNhcGFiaWxpdHlJbXBsX3AuaC5saWJsYXN0Zm0xIGFt YXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9tZXRhL011bHRpUGxheWFibGVDYXBhYmls aXR5SW1wbF9wLmgKLS0tLSBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vbWV0YS9N dWx0aVBsYXlhYmxlQ2FwYWJpbGl0eUltcGxfcC5oLmxpYmxhc3RmbTEJMjAxMi0wNy0zMSAwNTox MDo1Ni4wMDAwMDAwMDAgLTA1MDAKLSsrKyBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0 Zm0vbWV0YS9NdWx0aVBsYXlhYmxlQ2FwYWJpbGl0eUltcGxfcC5oCTIwMTItMDgtMDIgMDc6Mzg6 MjQuMzAxNTU2MDY4IC0wNTAwCi1AQCAtMjUsOCArMjUsOSBAQAotICNpbmNsdWRlICJjb3JlL21l dGEvTWV0YS5oIgotICNpbmNsdWRlICJjb3JlL2NhcGFiaWxpdGllcy9NdWx0aVBsYXlhYmxlQ2Fw YWJpbGl0eS5oIgotIAotLSNpbmNsdWRlIDxsYXN0Zm0vVHJhY2s+Ci0tI2luY2x1ZGUgPGxhc3Rm bS9SYWRpb1R1bmVyPgotKyNpbmNsdWRlIDxsYXN0Zm0vVHJhY2suaD4KLSsjaW5jbHVkZSA8bGFz dGZtL1JhZGlvU3RhdGlvbi5oPgotKyNpbmNsdWRlIDxsYXN0Zm0vUmFkaW9UdW5lci5oPgotICNp bmNsdWRlIDxsYXN0Zm0vd3MuaD4KLSAKLSAjaW5jbHVkZSA8S0xvY2FsZT4KLUBAIC01NSwyNCAr NTYsMjMgQEAgY2xhc3MgTXVsdGlQbGF5YWJsZUNhcGFiaWxpdHlJbXBsIDogcHVibAotICAgICAg ICAgewotICAgICAgICAgICAgIERFQlVHX0JMT0NLCi0gICAgICAgICAgICAgbV90dW5lciA9IG5l dyBsYXN0Zm06OlJhZGlvVHVuZXIoIGxhc3RmbTo6UmFkaW9TdGF0aW9uKCBtX3RyYWNrLT51aWRV cmwoKSApICk7Ci0tICAgICAgICAgICAgCi0rCi0gICAgICAgICAgICAgY29ubmVjdCggbV90dW5l ciwgU0lHTkFMKCB0cmFja0F2YWlsYWJsZSgpICksIHRoaXMsIFNMT1QoIHNsb3ROZXdUcmFja0F2 YWlsYWJsZSgpICkgKTsKLS0gICAgICAgICAgICBjb25uZWN0KCBtX3R1bmVyLCBTSUdOQUwoIGVy cm9yKCBsYXN0Zm06OndzOjpFcnJvciApICksIHRoaXMsIFNMT1QoIGVycm9yKCBsYXN0Zm06Ondz OjpFcnJvciApICkgKTsKLSsgICAgICAgICAgICBjb25uZWN0KCBtX3R1bmVyLCBTSUdOQUwoIGVy cm9yKGxhc3RmbTo6d3M6OkVycm9yLFFTdHJpbmcpICksIHRoaXMsIFNMT1QoIGVycm9yKCBsYXN0 Zm06OndzOjpFcnJvciApICkgKTsKLSAgICAgICAgIH0KLS0gICAgICAgIAotKwotICAgICAgICAg dmlydHVhbCB2b2lkIGZldGNoTmV4dCgpCi0gICAgICAgICB7Ci0gICAgICAgICAgICAgREVCVUdf QkxPQ0sKLSAgICAgICAgICAgICBtX2N1cnJlbnRUcmFjayA9IG1fdHVuZXItPnRha2VOZXh0VHJh Y2soKTsKLSAgICAgICAgICAgICBtX3RyYWNrLT5zZXRUcmFja0luZm8oIG1fY3VycmVudFRyYWNr ICk7Ci0tCi0gICAgICAgICB9Ci0tICAgICAgICAKLSsKLSAgICAgICAgIHVzaW5nIE9ic2VydmVy OjptZXRhZGF0YUNoYW5nZWQ7Ci0gICAgICAgICB2aXJ0dWFsIHZvaWQgbWV0YWRhdGFDaGFuZ2Vk KCBNZXRhOjpUcmFja1B0ciB0cmFjayApCi0gICAgICAgICB7Ci0gICAgICAgICAgICAgY29uc3Qg TGFzdEZtOjpUcmFja1B0ciBsdHJhY2sgPSBMYXN0Rm06OlRyYWNrUHRyOjpkeW5hbWljQ2FzdCgg dHJhY2sgKTsKLS0gICAgICAgICAgICAKLSsKLSAgICAgICAgICAgICBpZiggbHRyYWNrLmlzTnVs bCgpICkKLSAgICAgICAgICAgICAgICAgcmV0dXJuOwotIAotQEAgLTk0LDcgKzk0LDcgQEAgY2xh c3MgTXVsdGlQbGF5YWJsZUNhcGFiaWxpdHlJbXBsIDogcHVibAotICAgICAgICAgICAgICAgICBt X3RyYWNrLT5zZXRUcmFja0luZm8oIG1fY3VycmVudFRyYWNrICk7Ci0gICAgICAgICAgICAgfQot ICAgICAgICAgfQotLSAgICAgICAgCi0rCi0gICAgICAgICB2aXJ0dWFsIHZvaWQgc2tpcCgpCi0g ICAgICAgICB7Ci0gICAgICAgICAgICAgZmV0Y2hOZXh0KCk7Ci1kaWZmIC11cCBhbWFyb2stMi41 Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vU2Nyb2JibGVyQWRhcHRlci5oLmxpYmxhc3RmbTEgYW1h cm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL1Njcm9iYmxlckFkYXB0ZXIuaAotLS0tIGFt YXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9TY3JvYmJsZXJBZGFwdGVyLmgubGlibGFz dGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2LjAwMDAwMDAwMCAtMDUwMAotKysrIGFtYXJvay0yLjUu OTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9TY3JvYmJsZXJBZGFwdGVyLmgJMjAxMi0wOC0wMiAwNzoz ODoyNC4yOTg1NTYxMDUgLTA1MDAKLUBAIC0yMCw4ICsyMCw4IEBACi0gCi0gI2luY2x1ZGUgImNv cmUvbWV0YS9NZXRhLmgiCi0gCi0tI2luY2x1ZGUgPGxhc3RmbS9BdWRpb3Njcm9iYmxlcj4KLS0j aW5jbHVkZSA8bGFzdGZtL1RyYWNrPgotKyNpbmNsdWRlIDxsYXN0Zm0vQXVkaW9zY3JvYmJsZXIu aD4KLSsjaW5jbHVkZSA8bGFzdGZtL1RyYWNrLmg+Ci0gCi0gI2luY2x1ZGUgPFFWYXJpYW50Pgot IAoKZGlmZiAtLWdpdCBhL2FtYXJvay0yLjYuOTAtaXBvZF9kc28ucGF0Y2ggYi9hbWFyb2stMi42 LjkwLWlwb2RfZHNvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVl MTIxMDMKLS0tIC9kZXYvbnVsbAorKysgYi9hbWFyb2stMi42LjkwLWlwb2RfZHNvLnBhdGNoCkBA IC0wLDAgKzEsMTEgQEAKK2RpZmYgLXVwIGFtYXJvay0yLjYuOTAvc3JjL2NvcmUtaW1wbC9jb2xs ZWN0aW9ucy9pcG9kY29sbGVjdGlvbi9DTWFrZUxpc3RzLnR4dC5kc28gYW1hcm9rLTIuNi45MC9z cmMvY29yZS1pbXBsL2NvbGxlY3Rpb25zL2lwb2Rjb2xsZWN0aW9uL0NNYWtlTGlzdHMudHh0Cist LS0gYW1hcm9rLTIuNi45MC9zcmMvY29yZS1pbXBsL2NvbGxlY3Rpb25zL2lwb2Rjb2xsZWN0aW9u L0NNYWtlTGlzdHMudHh0LmRzbwkyMDEyLTEyLTEzIDA2OjU0OjUzLjAwMDAwMDAwMCAtMDYwMAor KysrIGFtYXJvay0yLjYuOTAvc3JjL2NvcmUtaW1wbC9jb2xsZWN0aW9ucy9pcG9kY29sbGVjdGlv bi9DTWFrZUxpc3RzLnR4dAkyMDEyLTEyLTE0IDExOjE2OjE1LjIwMTA5NTM3MSAtMDYwMAorQEAg LTYxLDYgKzYxLDcgQEAgaWYoSVBPRF9GT1VORCBBTkQgV0lUSF9JUE9EKQorICAgICAke1FUX1FU R1VJX0xJQlJBUll9CisgICAgICR7R0xJQjJfTElCUkFSSUVTfQorICAgICAke0dES1BJWEJVRl9M SUJSQVJZfQorKyAgICAke0dPQkpFQ1RfTElCUkFSSUVTfQorICAgICAke0lQT0RfTElCUkFSSUVT fQorICAgKQorIAoKZGlmZiAtLWdpdCBhL2FtYXJvay0yLjYuOTAtb25saW5lZG9jLnBhdGNoIGIv YW1hcm9rLTIuNi45MC1vbmxpbmVkb2MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uNTFmMzY2NwotLS0gL2Rldi9udWxsCisrKyBiL2FtYXJvay0yLjYuOTAtb25saW5l ZG9jLnBhdGNoCkBAIC0wLDAgKzEsOTEgQEAKK2RpZmYgLXVwIGFtYXJvay0yLjYuOTAvc3JjL0Fj dGlvbkNsYXNzZXMuY3BwLm9ubGluZWRvYyBhbWFyb2stMi42LjkwL3NyYy9BY3Rpb25DbGFzc2Vz LmNwcAorLS0tIGFtYXJvay0yLjYuOTAvc3JjL0FjdGlvbkNsYXNzZXMuY3BwLm9ubGluZWRvYwky MDEyLTEyLTEzIDA2OjU0OjUzLjAwMDAwMDAwMCAtMDYwMAorKysrIGFtYXJvay0yLjYuOTAvc3Jj L0FjdGlvbkNsYXNzZXMuY3BwCTIwMTItMTItMTQgMTA6MDY6MzQuNjEyODUyNzI3IC0wNjAwCitA QCAtMzMsMTAgKzMzLDEyIEBACisgI2luY2x1ZGUgInBsYXlsaXN0L1BsYXlsaXN0TW9kZWxTdGFj ay5oIgorICNpbmNsdWRlICJ3aWRnZXRzL09zZC5oIgorIAorKyNpbmNsdWRlIDxRRmlsZT4KKyAj aW5jbHVkZSA8S0F1dGhvcml6ZWQ+CisgI2luY2x1ZGUgPEtIZWxwTWVudT4KKyAjaW5jbHVkZSA8 S0xvY2FsZT4KKyAjaW5jbHVkZSA8S1Rvb2xCYXI+CisrI2luY2x1ZGUgPEtUb29sSW52b2NhdGlv bj4KKyAKKyBleHRlcm4gT2NzRGF0YSBvY3NEYXRhOworIAorQEAgLTYyLDYgKzY0LDcgQEAgbmFt ZXNwYWNlIEFtYXJvaworIHVzaW5nIG5hbWVzcGFjZSBBbWFyb2s7CisgCisgS0hlbHBNZW51ICpN ZW51OjpzX2hlbHBNZW51ID0gMDsKKytPbmxpbmVIZWxwSGFuZGxlciAqTWVudTo6c19vbmxpbmVI ZWxwSGFuZGxlciA9IDA7CisgCisgc3RhdGljIHZvaWQKKyBzYWZlUGx1ZyggS0FjdGlvbkNvbGxl Y3Rpb24gKmFjLCBjb25zdCBjaGFyICpuYW1lLCBRV2lkZ2V0ICp3ICkKK0BAIC0xNTEsNiArMTU0 LDIwIEBAIE1lbnU6OmhlbHBNZW51KCBRV2lkZ2V0ICpwYXJlbnQgKSAvL1NUQVQKKyAKKyAgICAg S01lbnUqIG1lbnUgPSBzX2hlbHBNZW51LT5tZW51KCk7CisgCisrICAgIC8vIElmIGFtYXJvay1k b2MgaXMgbm90IGluc3RhbGxlZCwgYnJpbmcgdXAgdGhlIG9ubGluZSB2ZXJzaW9uIGluc3RlYWQu CisrICAgIGlmICggIVFGaWxlOjpleGlzdHMoICIvdXNyL3NoYXJlL2RvYy9IVE1ML2VuL2FtYXJv ay9pbmRleC5kb2Nib29rIiApICkgeworKyAgICAgICAgUUFjdGlvbiAqY29udGVudHNBY3Rpb24g PSBzX2hlbHBNZW51LT5hY3Rpb24oIEtIZWxwTWVudTo6bWVudUhlbHBDb250ZW50cyApOworKyAg ICAgICAgLy8gZGlzY29ubmVjdCB0aGUgZGVmYXVsdCBzbG90IHdoaWNoIGZpcmVzIHVwIEtIZWxw Q2VudGVyCisrICAgICAgICBkaXNjb25uZWN0KCBjb250ZW50c0FjdGlvbiwgU0lHTkFMKHRyaWdn ZXJlZChib29sKSksIHNfaGVscE1lbnUsIFNMT1QoYXBwSGVscEFjdGl2YXRlZCgpKSApOworKyAg ICAgICAgaWYgKCBzX29ubGluZUhlbHBIYW5kbGVyID09IDAgKQorKyAgICAgICAgICAgIHNfb25s aW5lSGVscEhhbmRsZXIgPSBuZXcgT25saW5lSGVscEhhbmRsZXIoIHBhcmVudCApOworKyAgICAg ICAgZWxzZQorKyAgICAgICAgICAgIC8vIGVuc3VyZSBubyBkdXBsaWNhdGUgY29ubmVjdGlvbgor KyAgICAgICAgICAgIGRpc2Nvbm5lY3QoIGNvbnRlbnRzQWN0aW9uLCBTSUdOQUwodHJpZ2dlcmVk KGJvb2wpKSwgc19vbmxpbmVIZWxwSGFuZGxlciwgU0xPVChvbmxpbmVIZWxwQWN0aXZhdGVkKCkp ICk7CisrICAgICAgICAvLyBjb25uZWN0IG91ciBjdXN0b20gc2xvdCB3aGljaCBmaXJlcyB1cCBh IGJyb3dzZXIgb24gVXNlckJhc2UgaW5zdGVhZAorKyAgICAgICAgY29ubmVjdCggY29udGVudHNB Y3Rpb24sIFNJR05BTCh0cmlnZ2VyZWQoYm9vbCkpLCBzX29ubGluZUhlbHBIYW5kbGVyLCBTTE9U KG9ubGluZUhlbHBBY3RpdmF0ZWQoKSkgKTsKKysgICAgfQorKworICAgICAvLyBOT1RFOiBXZSBo aWRlICJSZXBvcnQgQnVnLi4uIiBiZWNhdXNlIHdlIG5lZWQgdG8gYWRkIGl0IG9uIG91ciBvd24g dG8gbmFtZSB0aGUgZGlhbG9nCisgICAgIC8vIHNvIGl0IGNhbiBiZSBibGFja2xpc3RlZCBmcm9t IExpa2VCYWNrLgorICAgICBzX2hlbHBNZW51LT5hY3Rpb24oIEtIZWxwTWVudTo6bWVudVJlcG9y dEJ1ZyApLT5zZXRWaXNpYmxlKCBmYWxzZSApOworQEAgLTE2Myw2ICsxODAsMTcgQEAgTWVudTo6 aGVscE1lbnUoIFFXaWRnZXQgKnBhcmVudCApIC8vU1RBVAorICAgICByZXR1cm4gbWVudTsKKyB9 CisgCisrT25saW5lSGVscEhhbmRsZXI6Ok9ubGluZUhlbHBIYW5kbGVyKCBRT2JqZWN0KiBwYXJl bnQgKQorKyAgICAgICAgOiBRT2JqZWN0KCBwYXJlbnQgKQorK3sKKyt9CisrCisrdm9pZAorK09u bGluZUhlbHBIYW5kbGVyOjpvbmxpbmVIZWxwQWN0aXZhdGVkKCkKKyt7CisrICAgIEtUb29sSW52 b2NhdGlvbjo6aW52b2tlQnJvd3NlciggImh0dHA6Ly91c2VyYmFzZS5rZGUub3JnL0FtYXJvay9N YW51YWwiICk7CisrfQorKworIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworIC8v IFBsYXlQYXVzZUFjdGlvbgorIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworZGlm ZiAtdXAgYW1hcm9rLTIuNi45MC9zcmMvQWN0aW9uQ2xhc3Nlcy5oLm9ubGluZWRvYyBhbWFyb2st Mi42LjkwL3NyYy9BY3Rpb25DbGFzc2VzLmgKKy0tLSBhbWFyb2stMi42LjkwL3NyYy9BY3Rpb25D bGFzc2VzLmgub25saW5lZG9jCTIwMTItMTItMTMgMDY6NTQ6NTMuMDAwMDAwMDAwIC0wNjAwCisr KysgYW1hcm9rLTIuNi45MC9zcmMvQWN0aW9uQ2xhc3Nlcy5oCTIwMTItMTItMTQgMTA6MDU6NDMu NzM4NDMwNDQ3IC0wNjAwCitAQCAtMzQsNiArMzQsMTYgQEAgY2xhc3MgS0hlbHBNZW51OworIAor IG5hbWVzcGFjZSBBbWFyb2sKKyB7CisrICAgIGNsYXNzIE9ubGluZUhlbHBIYW5kbGVyIDogcHVi bGljIFFPYmplY3QKKysgICAgeworKyAgICAgICAgUV9PQkpFQ1QKKysgICAgICAgIHB1YmxpYzoK KysgICAgICAgICAgICBPbmxpbmVIZWxwSGFuZGxlciggUU9iamVjdCogcGFyZW50ICk7CisrCisr ICAgICAgICBwdWJsaWMgc2xvdHM6CisrICAgICAgICAgICAgdm9pZCBvbmxpbmVIZWxwQWN0aXZh dGVkKCk7CisrICAgIH07CisrCisgICAgIGNsYXNzIE1lbnUgOiBwdWJsaWMgS01lbnUKKyAgICAg eworICAgICAgICAgUV9PQkpFQ1QKK0BAIC00NSw2ICs1NSw3IEBAIG5hbWVzcGFjZSBBbWFyb2sK KyAgICAgICAgIHByaXZhdGU6CisgICAgICAgICAgICAgc3RhdGljIE1lbnUgICAgICAgKnNfaW5z dGFuY2U7CisgICAgICAgICAgICAgc3RhdGljIEtIZWxwTWVudSAgKnNfaGVscE1lbnU7CisrICAg ICAgICAgICAgc3RhdGljIE9ubGluZUhlbHBIYW5kbGVyICpzX29ubGluZUhlbHBIYW5kbGVyOwor ICAgICB9OworIAorICAgICBjbGFzcyBNZW51QWN0aW9uIDogcHVibGljIEtBY3Rpb24KCmRpZmYg LS1naXQgYS9hbWFyb2suc3BlYyBiL2FtYXJvay5zcGVjCmluZGV4IGVlMjcyMTIuLjVlN2M1Y2Eg MTAwNjQ0Ci0tLSBhL2FtYXJvay5zcGVjCisrKyBiL2FtYXJvay5zcGVjCkBAIC0xLDggKzEsOCBA QAogCiBOYW1lOiAgICBhbWFyb2sKIFN1bW1hcnk6IE1lZGlhIHBsYXllcgotVmVyc2lvbjogMi42 LjAKLVJlbGVhc2U6IDclez9kaXN0fQorVmVyc2lvbjogMi42LjkwCitSZWxlYXNlOiAxJXs/ZGlz dH0KIAogIyBLREUgZS5WLiBtYXkgZGV0ZXJtaW5lIHRoYXQgZnV0dXJlIEdQTCB2ZXJzaW9ucyBh cmUgYWNjZXB0ZWQKIExpY2Vuc2U6IEdQTHYyIG9yIEdQTHYzCkBAIC0xNCwzMSArMTQsMjMgQEAg VXJsOiAgICAgaHR0cDovL2FtYXJvay5rZGUub3JnLwogJWdsb2JhbCBzdGFibGUgc3RhYmxlCiAl ZW5kaWYKIFNvdXJjZTA6IGh0dHA6Ly9kb3dubG9hZC5rZGUub3JnLyV7c3RhYmxlfS9hbWFyb2sv JXt2ZXJzaW9ufS9zcmMvYW1hcm9rLSV7dmVyc2lvbn0udGFyLmJ6MgotQnVpbGRSb290OiAle190 bXBwYXRofS8le25hbWV9LSV7dmVyc2lvbn0tJXtyZWxlYXNlfS1yb290LSUoJXtfX2lkX3V9IC1u KQogCiAjIEludm9rZSBhIGJyb3dzZXIgb24gdGhlIG9ubGluZSBVc2VyQmFzZSBkb2N1bWVudGF0 aW9uIGluc3RlYWQgb2YgS0hlbHBDZW50ZXIKICMgZm9yIHRoZSBoZWxwIGNvbnRlbnRzIGlmIHRo ZSBhbWFyb2stZG9jIHN1YnBhY2thZ2UgaXMgbm90IGluc3RhbGxlZC4KLVBhdGNoMDogIGFtYXJv ay0yLjUuMC1vbmxpbmVkb2MucGF0Y2gKK1BhdGNoMDogIGFtYXJvay0yLjYuOTAtb25saW5lZG9j LnBhdGNoCiAKLSNQYXRjaDUwOiBhbWFyb2stMi4yLjEuOTAtcXRzY3JpcHRfbm90X3JlcXVpcmVk LnBhdGNoCisjIyB1cHN0cmVhbWFibGUgcGF0Y2hlcworUGF0Y2g1MDogIGFtYXJvay0yLjYuOTAt aXBvZF9kc28ucGF0Y2gKIAogIyMgdXBzdHJlYW0gcGF0Y2hlcwotIyBsaWJsYXN0Zm0xIHN1cHBv cnQKLSMgaHR0cHM6Ly9naXQucmV2aWV3Ym9hcmQua2RlLm9yZy9yLzEwNTI3Ni8KLVBhdGNoMTAw OiBhbWFyb2stMi41Ljk2LWxpYmxhc3RmbTEucGF0Y2gKLSVpZiAwJXs/ZmVkb3JhfSA+IDE1Ci0l ZGVmaW5lIGxpYmxhc3RmbTEgMQotJWVuZGlmCi0jIGZyZW5jaCB0cmFuc2xhdGlvbnMKLVBhdGNo MTEwOiBhbWFyb2stZnJfcG8ucGF0Y2guYnoyCiAKIEJ1aWxkUmVxdWlyZXM6IGN1cmwtZGV2ZWwK IEJ1aWxkUmVxdWlyZXM6IGRlc2t0b3AtZmlsZS11dGlscwogIyMgbm9uLW1vZHVsYXIgTXVzaWNC cmFpbnotYmFzZWQgYXVkaW8gZmluZ2VycHJpbnQgdGFnIGxvb2t1cCBzdXBwb3J0IDooIAogI0J1 aWxkUmVxdWlyZXM6IGZmbXBlZy1kZXZlbCBsaWJvZmEtZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6IGdl dHRleHQKLUJ1aWxkUmVxdWlyZXM6IGtkZWxpYnM0LWRldmVsID49IDQuNi4wCi1CdWlsZFJlcXVp cmVzOiBsaWJsYXN0Zm0tZGV2ZWwlez9saWJsYXN0Zm0xOiA+PSAxLjB9CitCdWlsZFJlcXVpcmVz OiBrZGVsaWJzNC1kZXZlbCA+PSA0LjkKK0J1aWxkUmVxdWlyZXM6IGxpYmxhc3RmbS1kZXZlbCA+ PSAxLjAKICMgZXh0cmEgbGliYWlvIGxpbmthZ2UgY29tZXMgZnJvbSB1c2Ugb2YgbXlzcWxfY29u ZmlnIC0tbGlicwogQnVpbGRSZXF1aXJlczogbXlzcWwtZW1iZWRkZWQtZGV2ZWwgbGliYWlvLWRl dmVsCiBCdWlsZFJlcXVpcmVzOiBwa2djb25maWcobGliZ3BvZC0xLjApID49IDAuNy4wCkBAIC01 OCw4ICs1MCw3IEBAIEJ1aWxkUmVxdWlyZXM6IHF0c2NyaXB0YmluZGluZ3MKIFJlcXVpcmVzOiBx dHNjcmlwdGJpbmRpbmdzJXs/X2lzYX0KIFJlcXVpcmVzOiAle25hbWV9LXV0aWxzID0gJXt2ZXJz aW9ufS0le3JlbGVhc2V9CiBSZXF1aXJlczoga2RlLXJ1bnRpbWUlez9fa2RlNF92ZXJzaW9uOiA+ PSAle19rZGU0X3ZlcnNpb259fQotIyBha2EgYXVkaW9jZC1raW8gKG9uIGtkZS00LjkrKQotUmVx dWlyZXM6IGtkZW11bHRpbWVkaWEta2lvX2F1ZGlvY2QKK1JlcXVpcmVzOiBhdWRpb2NkLWtpbwog UmVxdWlyZXM6IGlmdXNlCiBSZXF1aXJlczogbWVkaWEtcGxheWVyLWluZm8KIApAQCAtODIsOCAr NzMsNiBAQCBSZXF1aXJlczogJXtuYW1lfSA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQogCiAlcGFj a2FnZSB1dGlscwogU3VtbWFyeTogQW1hcm9rIHN0YW5kYWxvbmUgdXRpbGl0aWVzCi1PYnNvbGV0 ZXM6IGFtYXJvay1jb2xsZWN0aW9uc2Nhbm5lciA8IDIuMC45MC0yCi1PYnNvbGV0ZXM6IGFtYXJv ay11dGlsaXRpZXMgPCAyLjAuOTYKICVkZXNjcmlwdGlvbiB1dGlscyAKICV7c3VtbWFyeX0sIGlu Y2x1ZGluZyBhbWFyb2tjb2xsZWN0aW9uc2Nhbm5lci4KIApAQCAtMTAxLDExICs5MCw3IEBAIEJ1 aWxkQXJjaDogbm9hcmNoCiAlc2V0dXAgLXEgCiAKICVwYXRjaDAgLXAxIC1iIC5vbmxpbmVkb2MK LSNwYXRjaDUwIC1wMSAtYiAucXRzY3JpcHRfbm90X3JlcXVpcmVkCi0laWYgMCV7P2xpYmxhc3Rm bTF9Ci0lcGF0Y2gxMDAgLXAxIC1iIC5saWJsYXN0Zm0xCi0lZW5kaWYKLSVwYXRjaDExMCAtcDEg LWIgLmZyX3BvCislcGF0Y2g1MCAtcDEgLWIgLmlwb2RfZHNvCiAKIAogJWJ1aWxkCkBAIC0xMTgs OCArMTAzLDYgQEAgbWFrZSAlez9fc21wX21mbGFnc30gLUMgJXtfdGFyZ2V0X3BsYXRmb3JtfQog CiAKICVpbnN0YWxsCi1ybSAtcmYgJXtidWlsZHJvb3R9Ci0KIG1ha2UgaW5zdGFsbC9mYXN0IERF U1RESVI9JXtidWlsZHJvb3R9IC1DICV7X3RhcmdldF9wbGF0Zm9ybX0KIAogJWZpbmRfbGFuZyBh bWFyb2sgLS13aXRoLWtkZSAtLXdpdGhvdXQtbW8gJiYgbXYgYW1hcm9rLmxhbmcgYW1hcm9rLWRv Yy5sYW5nCkBAIC0xNTcsNiArMTQwLDcgQEAgZmkKICV7X2tkZTRfYmluZGlyfS9hbWFyb2twa2cK ICV7X2tkZTRfYmluZGlyfS9hbWFyb2tfYWZ0dGFnZ2VyCiAle19rZGU0X2JpbmRpcn0vYW1hcm9r bXAzdHVuZXNoYXJtb255ZGFlbW9uCisle19rZGU0X2JpbmRpcn0vYW16ZG93bmxvYWRlcgogJXtf a2RlNF9hcHBzZGlyfS9hbWFyb2svCiAle19rZGU0X2FwcHNkaXJ9L2tjb25mX3VwZGF0ZS9hbWFy b2sqCiAle19rZGU0X2FwcHNkaXJ9L2Rlc2t0b3B0aGVtZS9kZWZhdWx0L3dpZGdldHMvKgpAQCAt MTg1LDYgKzE2OSw4IEBAIGZpCiAle19rZGU0X2xpYmRpcn0vbGliYW1hcm9rcHVkLnNvLjEqCiAl e19rZGU0X2xpYmRpcn0vbGliYW1hcm9rLXNxbGNvbGxlY3Rpb24uc28uMSoKICV7X2tkZTRfbGli ZGlyfS9saWJhbWFyb2stdHJhbnNjb2Rpbmcuc28uMSoKKyMgcHJpdmF0ZSBsaWJzCisle19rZGU0 X2xpYmRpcn0vbGliYW1hcm9rX3NlcnZpY2VfbGFzdGZtX3NoYXJlZC5zbwogJXtfa2RlNF9saWJk aXJ9L2xpYmFtcGFjaGVfYWNjb3VudF9sb2dpbi5zbwogCiAlZmlsZXMgdXRpbHMgLWYgYW1hcm9r Y29sbGVjdGlvbnNjYW5uZXJfcXQubGFuZwpAQCAtMTk0LDYgKzE4MCw5IEBAIGZpCiAKIAogJWNo YW5nZWxvZworKiBGcmkgRGVjIDE0IDIwMTIgUmV4IERpZXRlciA8cmRpZXRlckBmZWRvcmFwcm9q ZWN0Lm9yZz4gMi42LjkwLTEKKy0gMi42LjkwCisKICogVGh1IE5vdiAyNyAyMDEyIEphbiBHcnVs aWNoIDxqZ3J1bGljaEByZWRoYXQuY29tPiAyLjYuMC03CiAtIHJlYnVpbGQgKHFqc29uKQogCgpk aWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggYzlhYTRiZS4uYzBkOTMzOCAxMDA2 NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xLDIgKzEgQEAKLTExNmY1M2MxMTA5 YzdhY2QxYWM3ZDc4ZWM3NWMwMWM0ICBhbWFyb2stMi42LjAudGFyLmJ6MgotZDMyODNmZjJmMmVk MzgxZjNjZGE5YTMzNTcyNjg4MWUgIGFtYXJvay1mcl9wby5wYXRjaC5iejIKKzg4MDYxMjk5Njc5 NGZlZDNhZTVhNzJmYmE0YWFjNjFmICBhbWFyb2stMi42LjkwLnRhci5iejIK