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: Karolina Surma To: git-commits@fedoraproject.org Subject: [rpms/python3.12] f45: Update to Python 3.12.14 Date: Mon, 17 Aug 2026 09:34:41 GMT Message-ID: <178695928170.1.14667450993390936670.rpms-python3.12-5590da14924e@fedoraproject.org> List-ID: X-Git-Repo: rpms/python3.12 X-Git-Branch: f45 X-Git-Rev: 5590da14924ea625a8d1a40684162b9482b5578a QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcHl0aG9uMy4xMgpC cmFuY2ggOiBmNDUKQ29tbWl0IDogNTU5MGRhMTQ5MjRlYTYyNWE4ZDFhNDA2ODQxNjJiOTQ4MmI1 NTc4YQpBdXRob3IgOiBLYXJvbGluYSBTdXJtYSA8a3N1cm1hQHJlZGhhdC5jb20+CkRhdGUgICA6 IDIwMjYtMDgtMTRUMTE6Mjk6MDcrMDI6MDAKU3RhdHMgIDogKzM0Ly05NzAgaW4gMTMgZmlsZShz KQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL3B5dGhvbjMuMTIv Yy81NTkwZGExNDkyNGVhNjI1YThkMWE0MDY4NDE2MmI5NDgyYjU1NzhhP2JyYW5jaD1mNDUKCkxv ZzoKVXBkYXRlIHRvIFB5dGhvbiAzLjEyLjE0CgotLS0KZGlmZiAtLWdpdCBhLzAwNDY0LWVuYWJs ZS1wYWMtYW5kLWJ0aS1wcm90ZWN0aW9ucy1mb3ItYWFyY2g2NC5wYXRjaCBiLzAwNDY0LWVuYWJs ZS1wYWMtYW5kLWJ0aS1wcm90ZWN0aW9ucy1mb3ItYWFyY2g2NC5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggODE3MjlkMi4uMDAwMDAwMAotLS0gYS8wMDQ2NC1lbmFibGUtcGFj LWFuZC1idGktcHJvdGVjdGlvbnMtZm9yLWFhcmNoNjQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSwxMDIgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hhcmFsYW1wb3MgU3RyYXRha2lz IDxjc3RyYXRha0ByZWRoYXQuY29tPgotRGF0ZTogVHVlLCAzIEp1biAyMDI1IDAzOjAyOjE1ICsw MjAwCi1TdWJqZWN0OiAwMDQ2NDogRW5hYmxlIFBBQyBhbmQgQlRJIHByb3RlY3Rpb25zIGZvciBh YXJjaDY0Ci0KLUFwcGx5IHByb3RlY3Rpb24gYWdhaW5zdCBST1AvSk9QIGF0dGFja3MgZm9yIGFh cmNoNjQgb24gYXNtX3RyYW1wb2xpbmUuUwotCi1UaGUgQlRJIGZsYWcgbXVzdCBiZSBhcHBsaWVk IGluIHRoZSBhc3NlbWJsZXIgc291cmNlcyBmb3IgdGhpcyBjbGFzcwotb2YgYXR0YWNrcyB0byBi ZSBtaXRpZ2F0ZWQgb24gbmV3ZXIgYWFyY2g2NCBwcm9jZXNzb3JzLgotCi1VcHN0cmVhbSBQUjog aHR0cHM6Ly9naXRodWIuY29tL3B5dGhvbi9jcHl0aG9uL3B1bGwvMTMwODY0L2ZpbGVzCi0KLVRo ZSB1cHN0cmVhbSBwYXRjaCBpcyBpbmNvbXBsZXRlIGJ1dCBvbmx5IGZvciB0aGUgY2FzZSB3aGVy ZQotZnJhbWUgcG9pbnRlcnMgYXJlIG5vdCB1c2VkIG9uIDMuMTMrLgotCi1TaW5jZSBvbiBGZWRv cmEgd2UgYWx3YXlzIGNvbXBpbGUgd2l0aCBmcmFtZSBwb2ludGVycyB0aGUgQlRJL1BBQwotaGFy ZHdhcmUgcHJvdGVjdGlvbnMgY2FuIGJlIGVuYWJsZWQgd2l0aG91dCBsb3NpbmcgUGVyZiB1bndp bmRpbmcuCi0tLS0KLSBQeXRob24vYXNtX3RyYW1wb2xpbmUuUyAgICAgICAgIHwgIDQgKysrCi0g UHl0aG9uL2FzbV90cmFtcG9saW5lX2FhcmNoNjQuaCB8IDUwICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKQotIGNyZWF0 ZSBtb2RlIDEwMDY0NCBQeXRob24vYXNtX3RyYW1wb2xpbmVfYWFyY2g2NC5oCi0KLWRpZmYgLS1n aXQgYS9QeXRob24vYXNtX3RyYW1wb2xpbmUuUyBiL1B5dGhvbi9hc21fdHJhbXBvbGluZS5TCi1p bmRleCAzNDFkMGJiZTUxLi5hZTg4MjY2MGI1IDEwMDY0NAotLS0tIGEvUHl0aG9uL2FzbV90cmFt cG9saW5lLlMKLSsrKyBiL1B5dGhvbi9hc21fdHJhbXBvbGluZS5TCi1AQCAtMSwzICsxLDUgQEAK LSsjaW5jbHVkZSAiYXNtX3RyYW1wb2xpbmVfYWFyY2g2NC5oIgotKwotICAgICAudGV4dAotICAg ICAuZ2xvYmwJX1B5X3RyYW1wb2xpbmVfZnVuY19zdGFydAotICMgVGhlIGZvbGxvd2luZyBhc3Nl bWJseSBpcyBlcXVpdmFsZW50IHRvOgotQEAgLTIwLDEwICsyMiwxMiBAQCBfUHlfdHJhbXBvbGlu ZV9mdW5jX3N0YXJ0OgotICNpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiBkZWZpbmVkKF9fQUFS Q0g2NEVMX18pICYmICFkZWZpbmVkKF9fSUxQMzJfXykKLSAgICAgLy8gQVJNNjQgbGl0dGxlIGVu ZGlhbiwgNjRiaXQgQUJJCi0gICAgIC8vIGdlbmVyYXRlIHdpdGggYWFyY2g2NC1saW51eC1nbnUt Z2NjIDEyLjEKLSsgICAgU0lHTl9MUgotICAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsIC0xNl0h Ci0gICAgIG1vdiAgICAgeDI5LCBzcAotICAgICBibHIgICAgIHgzCi0gICAgIGxkcCAgICAgeDI5 LCB4MzAsIFtzcF0sIDE2Ci0rICAgIFZFUklGWV9MUgotICAgICByZXQKLSAjZW5kaWYKLSAgICAg Lmdsb2JsCV9QeV90cmFtcG9saW5lX2Z1bmNfZW5kCi1kaWZmIC0tZ2l0IGEvUHl0aG9uL2FzbV90 cmFtcG9saW5lX2FhcmNoNjQuaCBiL1B5dGhvbi9hc21fdHJhbXBvbGluZV9hYXJjaDY0LmgKLW5l dyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi40YjBlYzRhN2RjCi0tLS0gL2Rl di9udWxsCi0rKysgYi9QeXRob24vYXNtX3RyYW1wb2xpbmVfYWFyY2g2NC5oCi1AQCAtMCwwICsx LDUwIEBACi0rI2lmbmRlZiBBU01fVFJBTVBPTElORV9BQVJDSF82NF9IXwotKyNkZWZpbmUgQVNN X1RSQU1QT0xJTkVfQUFSQ0hfNjRfSF8KLSsKLSsvKgotKyAqIFJlZmVyZW5jZXM6Ci0rICogIC0g aHR0cHM6Ly9kZXZlbG9wZXIuYXJtLmNvbS9kb2N1bWVudGF0aW9uLzEwMTAyOC8wMDEyLzUtLUZl YXR1cmUtdGVzdC1tYWNyb3MKLSsgKiAgLSBodHRwczovL2dpdGh1Yi5jb20vQVJNLXNvZnR3YXJl L2FiaS1hYS9ibG9iL21haW4vYWFlbGY2NC9hYWVsZjY0LnJzdAotKyAqLwotKwotKyNpZiBkZWZp bmVkKF9fQVJNX0ZFQVRVUkVfQlRJX0RFRkFVTFQpICYmIF9fQVJNX0ZFQVRVUkVfQlRJX0RFRkFV TFQgPT0gMQotKyAgI2RlZmluZSBCVElfSiBoaW50IDM2IC8qIGJ0aSBqOiBmb3IganVtcHMsIElF IGJyIGluc3RydWN0aW9ucyAqLwotKyAgI2RlZmluZSBCVElfQyBoaW50IDM0ICAvKiBidGkgYzog Zm9yIGNhbGxzLCBJRSBibCBpbnN0cnVjdGlvbnMgKi8KLSsgICNkZWZpbmUgR05VX1BST1BFUlRZ X0FBUkNINjRfQlRJIDEgLyogYml0IDAgR05VIE5vdGVzIGlzIGZvciBCVEkgc3VwcG9ydCAqLwot KyNlbHNlCi0rICAjZGVmaW5lIEJUSV9KCi0rICAjZGVmaW5lIEJUSV9DCi0rICAjZGVmaW5lIEdO VV9QUk9QRVJUWV9BQVJDSDY0X0JUSSAwCi0rI2VuZGlmCi0rCi0rI2lmIGRlZmluZWQoX19BUk1f RkVBVFVSRV9QQUNfREVGQVVMVCkKLSsgICNpZiBfX0FSTV9GRUFUVVJFX1BBQ19ERUZBVUxUICYg MQotKyAgICAjZGVmaW5lIFNJR05fTFIgaGludCAyNSAvKiBwYWNpYXNwOiBzaWduIHdpdGggdGhl IEEga2V5ICovCi0rICAgICNkZWZpbmUgVkVSSUZZX0xSIGhpbnQgMjkgLyogYXV0aWFzcDogdmVy aWZ5IHdpdGggdGhlIEEga2V5ICovCi0rICAjZWxpZiBfX0FSTV9GRUFUVVJFX1BBQ19ERUZBVUxU ICYgMgotKyAgICAjZGVmaW5lIFNJR05fTFIgaGludCAyNyAvKiBwYWNpYnNwOiBzaWduIHdpdGgg dGhlIGIga2V5ICovCi0rICAgICNkZWZpbmUgVkVSSUZZX0xSIGhpbnQgMzEgLyogYXV0aWJzcDog dmVyaWZ5IHdpdGggdGhlIGIga2V5ICovCi0rICAjZW5kaWYKLSsgICNkZWZpbmUgR05VX1BST1BF UlRZX0FBUkNINjRfUE9JTlRFUl9BVVRIIDIgLyogYml0IDEgR05VIE5vdGVzIGlzIGZvciBQQUMg c3VwcG9ydCAqLwotKyNlbHNlCi0rICAjZGVmaW5lIFNJR05fTFIgQlRJX0MKLSsgICNkZWZpbmUg VkVSSUZZX0xSCi0rICAjZGVmaW5lIEdOVV9QUk9QRVJUWV9BQVJDSDY0X1BPSU5URVJfQVVUSCAw Ci0rI2VuZGlmCi0rCi0rLyogQWRkIHRoZSBCVEkgYW5kIFBBQyBzdXBwb3J0IHRvIEdOVSBOb3Rl cyBzZWN0aW9uICovCi0rI2lmIEdOVV9QUk9QRVJUWV9BQVJDSDY0X0JUSSAhPSAwIHx8IEdOVV9Q Uk9QRVJUWV9BQVJDSDY0X1BPSU5URVJfQVVUSCAhPSAwCi0rICAgIC5wdXNoc2VjdGlvbiAubm90 ZS5nbnUucHJvcGVydHksICJhIjsgLyogU3RhcnQgYSBuZXcgYWxsb2NhdGFibGUgc2VjdGlvbiAq LwotKyAgICAuYmFsaWduIDg7IC8qIGFsaWduIGl0IG9uIGEgYnl0ZSBib3VuZHJ5ICovCi0rICAg IC5sb25nIDQ7IC8qIHNpemUgb2YgIkdOVVwwIiAqLwotKyAgICAubG9uZyAweDEwOyAvKiBzaXpl IG9mIGRlc2NyaXB0b3IgKi8KLSsgICAgLmxvbmcgMHg1OyAvKiBOVF9HTlVfUFJPUEVSVFlfVFlQ RV8wICovCi0rICAgIC5hc2NpeiAiR05VIjsKLSsgICAgLmxvbmcgMHhjMDAwMDAwMDsgLyogR05V X1BST1BFUlRZX0FBUkNINjRfRkVBVFVSRV8xX0FORCAqLwotKyAgICAubG9uZyA0OyAvKiBGb3Vy IGJ5dGVzIG9mIGRhdGEgKi8KLSsgICAgLmxvbmcgKEdOVV9QUk9QRVJUWV9BQVJDSDY0X0JUSXxH TlVfUFJPUEVSVFlfQUFSQ0g2NF9QT0lOVEVSX0FVVEgpOyAvKiBCVEkgb3IgUEFDIGlzIGVuYWJs ZWQgKi8KLSsgICAgLmxvbmcgMDsgLyogcGFkZGluZyBmb3IgOCBieXRlIGFsaWdubWVudCAqLwot KyAgICAucG9wc2VjdGlvbjsgLyogZW5kIHRoZSBzZWN0aW9uICovCi0rI2VuZGlmCi0rCi0rI2Vu ZGlmCgpkaWZmIC0tZ2l0IGEvMDA0NzgtY3ZlLTIwMjYtNDUxOS5wYXRjaCBiLzAwNDc4LWN2ZS0y MDI2LTQ1MTkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1OThiNzYuLjAw MDAwMDAKLS0tIGEvMDA0NzgtY3ZlLTIwMjYtNDUxOS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDEwNSArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBQaW5reSA8cGlua3kwMGNoQGdtYWls LmNvbT4KLURhdGU6IFdlZCwgMjUgTWFyIDIwMjYgMDE6MDI6MzcgKzA1MzAKLVN1YmplY3Q6IDAw NDc4OiBDVkUtMjAyNi00NTE5Ci0KLVJlamVjdCBsZWFkaW5nIGRhc2hlcyBpbiB3ZWJicm93c2Vy IFVSTHMgKEdILTE0NjM2MCkKLQotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgODJhMjRhNDQ0 MjMxMmJkY2ZjNGM3OTk4ODVlOGIzZTAwOTkwZjAyYikKLQotQ28tYXV0aG9yZWQtYnk6IFNldGgg TWljaGFlbCBMYXJzb24gPHNldGhAcHl0aG9uLm9yZz4KLS0tLQotIExpYi90ZXN0L3Rlc3Rfd2Vi YnJvd3Nlci5weSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNSArKysrKwotIExpYi93ZWJi cm93c2VyLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMiArKysrKysr KysrKysKLSAuLi4vMjAyNi0wMS0xNi0xMi0wNC00OS5naC1pc3N1ZS0xNDM5MzAuellDNXgzLnJz dCAgIHwgIDEgKwotIDMgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKQotIGNyZWF0ZSBt b2RlIDEwMDY0NCBNaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDEtMTYtMTItMDQtNDku Z2gtaXNzdWUtMTQzOTMwLnpZQzV4My5yc3QKLQotZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rf d2ViYnJvd3Nlci5weSBiL0xpYi90ZXN0L3Rlc3Rfd2ViYnJvd3Nlci5weQotaW5kZXggMmQ2OTVi Yzg4My4uNjBmMDk0ZmQ2YSAxMDA2NDQKLS0tLSBhL0xpYi90ZXN0L3Rlc3Rfd2ViYnJvd3Nlci5w eQotKysrIGIvTGliL3Rlc3QvdGVzdF93ZWJicm93c2VyLnB5Ci1AQCAtNTksNiArNTksMTEgQEAg ZGVmIHRlc3Rfb3BlbihzZWxmKToKLSAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz1bXSwKLSAg ICAgICAgICAgICAgICAgICAgYXJndW1lbnRzPVtVUkxdKQotIAotKyAgICBkZWYgdGVzdF9yZWpl Y3RfZGFzaF9wcmVmaXhlcyhzZWxmKToKLSsgICAgICAgIGJyb3dzZXIgPSBzZWxmLmJyb3dzZXJf Y2xhc3MobmFtZT1DTURfTkFNRSkKLSsgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFs dWVFcnJvcik6Ci0rICAgICAgICAgICAgYnJvd3Nlci5vcGVuKGYiLS1rZXk9dmFsIHtVUkx9IikK LSsKLSAKLSBjbGFzcyBCYWNrZ3JvdW5kQnJvd3NlckNvbW1hbmRUZXN0KENvbW1hbmRUZXN0TWl4 aW4sIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAKLWRpZmYgLS1naXQgYS9MaWIvd2ViYnJvd3Nlci5w eSBiL0xpYi93ZWJicm93c2VyLnB5Ci1pbmRleCAxM2I5ZTg1ZjllLi4wYmRiNjQ0ZDdkIDEwMDc1 NQotLS0tIGEvTGliL3dlYmJyb3dzZXIucHkKLSsrKyBiL0xpYi93ZWJicm93c2VyLnB5Ci1AQCAt MTU4LDYgKzE1OCwxMiBAQCBkZWYgb3Blbl9uZXcoc2VsZiwgdXJsKToKLSAgICAgZGVmIG9wZW5f bmV3X3RhYihzZWxmLCB1cmwpOgotICAgICAgICAgcmV0dXJuIHNlbGYub3Blbih1cmwsIDIpCi0g Ci0rICAgIEBzdGF0aWNtZXRob2QKLSsgICAgZGVmIF9jaGVja191cmwodXJsKToKLSsgICAgICAg ICIiIkVuc3VyZXMgdGhhdCB0aGUgVVJMIGlzIHNhZmUgdG8gcGFzcyB0byBzdWJwcm9jZXNzZXMg YXMgYSBwYXJhbWV0ZXIiIiIKLSsgICAgICAgIGlmIHVybCBhbmQgdXJsLmxzdHJpcCgpLnN0YXJ0 c3dpdGgoIi0iKToKLSsgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiSW52YWxpZCBVUkw6 IHt1cmx9IikKLSsKLSAKLSBjbGFzcyBHZW5lcmljQnJvd3NlcihCYXNlQnJvd3Nlcik6Ci0gICAg ICIiIkNsYXNzIGZvciBhbGwgYnJvd3NlcnMgc3RhcnRlZCB3aXRoIGEgY29tbWFuZAotQEAgLTE3 NSw2ICsxODEsNyBAQCBkZWYgX19pbml0X18oc2VsZiwgbmFtZSk6Ci0gCi0gICAgIGRlZiBvcGVu KHNlbGYsIHVybCwgbmV3PTAsIGF1dG9yYWlzZT1UcnVlKToKLSAgICAgICAgIHN5cy5hdWRpdCgi d2ViYnJvd3Nlci5vcGVuIiwgdXJsKQotKyAgICAgICAgc2VsZi5fY2hlY2tfdXJsKHVybCkKLSAg ICAgICAgIGNtZGxpbmUgPSBbc2VsZi5uYW1lXSArIFthcmcucmVwbGFjZSgiJXMiLCB1cmwpCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGFyZyBpbiBzZWxmLmFyZ3NdCi0g ICAgICAgICB0cnk6Ci1AQCAtMTk1LDYgKzIwMiw3IEBAIGRlZiBvcGVuKHNlbGYsIHVybCwgbmV3 PTAsIGF1dG9yYWlzZT1UcnVlKToKLSAgICAgICAgIGNtZGxpbmUgPSBbc2VsZi5uYW1lXSArIFth cmcucmVwbGFjZSgiJXMiLCB1cmwpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Zm9yIGFyZyBpbiBzZWxmLmFyZ3NdCi0gICAgICAgICBzeXMuYXVkaXQoIndlYmJyb3dzZXIub3Bl biIsIHVybCkKLSsgICAgICAgIHNlbGYuX2NoZWNrX3VybCh1cmwpCi0gICAgICAgICB0cnk6Ci0g ICAgICAgICAgICAgaWYgc3lzLnBsYXRmb3JtWzozXSA9PSAnd2luJzoKLSAgICAgICAgICAgICAg ICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oY21kbGluZSkKLUBAIC0yNjAsNiArMjY4LDcgQEAgZGVm IF9pbnZva2Uoc2VsZiwgYXJncywgcmVtb3RlLCBhdXRvcmFpc2UsIHVybD1Ob25lKToKLSAKLSAg ICAgZGVmIG9wZW4oc2VsZiwgdXJsLCBuZXc9MCwgYXV0b3JhaXNlPVRydWUpOgotICAgICAgICAg c3lzLmF1ZGl0KCJ3ZWJicm93c2VyLm9wZW4iLCB1cmwpCi0rICAgICAgICBzZWxmLl9jaGVja191 cmwodXJsKQotICAgICAgICAgaWYgbmV3ID09IDA6Ci0gICAgICAgICAgICAgYWN0aW9uID0gc2Vs Zi5yZW1vdGVfYWN0aW9uCi0gICAgICAgICBlbGlmIG5ldyA9PSAxOgotQEAgLTM1MCw2ICszNTks NyBAQCBjbGFzcyBLb25xdWVyb3IoQmFzZUJyb3dzZXIpOgotIAotICAgICBkZWYgb3BlbihzZWxm LCB1cmwsIG5ldz0wLCBhdXRvcmFpc2U9VHJ1ZSk6Ci0gICAgICAgICBzeXMuYXVkaXQoIndlYmJy b3dzZXIub3BlbiIsIHVybCkKLSsgICAgICAgIHNlbGYuX2NoZWNrX3VybCh1cmwpCi0gICAgICAg ICAjIFhYWCBDdXJyZW50bHkgSSBrbm93IG5vIHdheSB0byBwcmV2ZW50IEtGTSBmcm9tIG9wZW5p bmcgYSBuZXcgd2luLgotICAgICAgICAgaWYgbmV3ID09IDI6Ci0gICAgICAgICAgICAgYWN0aW9u ID0gIm5ld1RhYiIKLUBAIC01NTQsNiArNTY0LDcgQEAgZGVmIHJlZ2lzdGVyX3N0YW5kYXJkX2Jy b3dzZXJzKCk6Ci0gICAgIGNsYXNzIFdpbmRvd3NEZWZhdWx0KEJhc2VCcm93c2VyKToKLSAgICAg ICAgIGRlZiBvcGVuKHNlbGYsIHVybCwgbmV3PTAsIGF1dG9yYWlzZT1UcnVlKToKLSAgICAgICAg ICAgICBzeXMuYXVkaXQoIndlYmJyb3dzZXIub3BlbiIsIHVybCkKLSsgICAgICAgICAgICBzZWxm Ll9jaGVja191cmwodXJsKQotICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgb3Mu c3RhcnRmaWxlKHVybCkKLSAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKLUBAIC02MzgsNiAr NjQ5LDcgQEAgZGVmIF9uYW1lKHNlbGYsIHZhbCk6Ci0gCi0gICAgICAgICBkZWYgb3BlbihzZWxm LCB1cmwsIG5ldz0wLCBhdXRvcmFpc2U9VHJ1ZSk6Ci0gICAgICAgICAgICAgc3lzLmF1ZGl0KCJ3 ZWJicm93c2VyLm9wZW4iLCB1cmwpCi0rICAgICAgICAgICAgc2VsZi5fY2hlY2tfdXJsKHVybCkK LSAgICAgICAgICAgICBpZiBzZWxmLm5hbWUgPT0gJ2RlZmF1bHQnOgotICAgICAgICAgICAgICAg ICBzY3JpcHQgPSAnb3BlbiBsb2NhdGlvbiAiJXMiJyAlIHVybC5yZXBsYWNlKCciJywgJyUyMicp ICMgb3BlbnMgaW4gZGVmYXVsdCBicm93c2VyCi0gICAgICAgICAgICAgZWxzZToKLWRpZmYgLS1n aXQgYS9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDEtMTYtMTItMDQtNDkuZ2gtaXNz dWUtMTQzOTMwLnpZQzV4My5yc3QgYi9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDEt MTYtMTItMDQtNDkuZ2gtaXNzdWUtMTQzOTMwLnpZQzV4My5yc3QKLW5ldyBmaWxlIG1vZGUgMTAw NjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi4wZjI3ZWFlOTlhCi0tLS0gL2Rldi9udWxsCi0rKysgYi9N aXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDEtMTYtMTItMDQtNDkuZ2gtaXNzdWUtMTQz OTMwLnpZQzV4My5yc3QKLUBAIC0wLDAgKzEgQEAKLStSZWplY3QgbGVhZGluZyBkYXNoZXMgaW4g VVJMcyBwYXNzZWQgdG8gOmZ1bmM6YHdlYmJyb3dzZXIub3BlbmAKCmRpZmYgLS1naXQgYS8wMDQ3 OS1jdmUtMjAyNi0xNTAyLnBhdGNoIGIvMDA0NzktY3ZlLTIwMjYtMTUwMi5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTZkYzk5Yi4uMDAwMDAwMAotLS0gYS8wMDQ3OS1jdmUt MjAyNi0xNTAyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTA3ICswLDAgQEAKLUZyb20gMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IFNldGggTGFyc29uIDxzZXRoQHB5dGhvbi5vcmc+Ci1EYXRlOiBGcmksIDEw IEFwciAyMDI2IDEwOjIxOjQyIC0wNTAwCi1TdWJqZWN0OiAwMDQ3OTogQ1ZFLTIwMjYtMTUwMgot Ci1SZWplY3QgQ1IvTEYgaW4gSFRUUCB0dW5uZWwgcmVxdWVzdCBoZWFkZXJzCi0KLUNvLWF1dGhv cmVkLWJ5OiBJbGxpYSBWb2xvY2hpaSA8aWxsaWEudm9sb2NoaWlAZ21haWwuY29tPgotLS0tCi0g TGliL2h0dHAvY2xpZW50LnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTEgKysrKy0K LSBMaWIvdGVzdC90ZXN0X2h0dHBsaWIucHkgICAgICAgICAgICAgICAgICAgICAgfCA0NSArKysr KysrKysrKysrKysrKysrCi0gLi4uLTAzLTIwLTA5LTI5LTQyLmdoLWlzc3VlLTE0NjIxMS5QUVZi czcucnN0IHwgIDIgKwotIDMgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBNaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIw MjYtMDMtMjAtMDktMjktNDIuZ2gtaXNzdWUtMTQ2MjExLlBRVmJzNy5yc3QKLQotZGlmZiAtLWdp dCBhL0xpYi9odHRwL2NsaWVudC5weSBiL0xpYi9odHRwL2NsaWVudC5weQotaW5kZXggNzA0NTFk NjdkNC4uN2RiNDgwN2IzMCAxMDA2NDQKLS0tLSBhL0xpYi9odHRwL2NsaWVudC5weQotKysrIGIv TGliL2h0dHAvY2xpZW50LnB5Ci1AQCAtOTcyLDEzICs5NzIsMjIgQEAgZGVmIF93cmFwX2lwdjYo c2VsZiwgaXApOgotICAgICAgICAgcmV0dXJuIGlwCi0gCi0gICAgIGRlZiBfdHVubmVsKHNlbGYp OgotKyAgICAgICAgaWYgX2NvbnRhaW5zX2Rpc2FsbG93ZWRfdXJsX3BjaGFyX3JlLnNlYXJjaChz ZWxmLl90dW5uZWxfaG9zdCk6Ci0rICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignVHVubmVs IGhvc3QgY2FuXCd0IGNvbnRhaW4gY29udHJvbCBjaGFyYWN0ZXJzICVyJwotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJSAoc2VsZi5fdHVubmVsX2hvc3QsKSkKLSAgICAgICAgIGNvbm5l Y3QgPSBiIkNPTk5FQ1QgJXM6JWQgJXNcclxuIiAlICgKLSAgICAgICAgICAgICBzZWxmLl93cmFw X2lwdjYoc2VsZi5fdHVubmVsX2hvc3QuZW5jb2RlKCJpZG5hIikpLAotICAgICAgICAgICAgIHNl bGYuX3R1bm5lbF9wb3J0LAotICAgICAgICAgICAgIHNlbGYuX2h0dHBfdnNuX3N0ci5lbmNvZGUo ImFzY2lpIikpCi0gICAgICAgICBoZWFkZXJzID0gW2Nvbm5lY3RdCi0gICAgICAgICBmb3IgaGVh ZGVyLCB2YWx1ZSBpbiBzZWxmLl90dW5uZWxfaGVhZGVycy5pdGVtcygpOgotLSAgICAgICAgICAg IGhlYWRlcnMuYXBwZW5kKGYie2hlYWRlcn06IHt2YWx1ZX1cclxuIi5lbmNvZGUoImxhdGluLTEi KSkKLSsgICAgICAgICAgICBoZWFkZXJfYnl0ZXMgPSBoZWFkZXIuZW5jb2RlKCJsYXRpbi0xIikK LSsgICAgICAgICAgICB2YWx1ZV9ieXRlcyA9IHZhbHVlLmVuY29kZSgibGF0aW4tMSIpCi0rICAg ICAgICAgICAgaWYgbm90IF9pc19sZWdhbF9oZWFkZXJfbmFtZShoZWFkZXJfYnl0ZXMpOgotKyAg ICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdJbnZhbGlkIGhlYWRlciBuYW1lICVyJyAl IChoZWFkZXJfYnl0ZXMsKSkKLSsgICAgICAgICAgICBpZiBfaXNfaWxsZWdhbF9oZWFkZXJfdmFs dWUodmFsdWVfYnl0ZXMpOgotKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdJbnZh bGlkIGhlYWRlciB2YWx1ZSAlcicgJSAodmFsdWVfYnl0ZXMsKSkKLSsgICAgICAgICAgICBoZWFk ZXJzLmFwcGVuZChiIiVzOiAlc1xyXG4iICUgKGhlYWRlcl9ieXRlcywgdmFsdWVfYnl0ZXMpKQot ICAgICAgICAgaGVhZGVycy5hcHBlbmQoYiJcclxuIikKLSAgICAgICAgICMgTWFraW5nIGEgc2lu Z2xlIHNlbmQoKSBjYWxsIGluc3RlYWQgb2Ygb25lIHBlciBsaW5lIGVuY291cmFnZXMKLSAgICAg ICAgICMgdGhlIGhvc3QgT1MgdG8gdXNlIGEgbW9yZSBvcHRpbWFsIHBhY2tldCBzaXplIGluc3Rl YWQgb2YKLWRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2h0dHBsaWIucHkgYi9MaWIvdGVzdC90 ZXN0X2h0dHBsaWIucHkKLWluZGV4IGU0NmRhYzAwNzcuLmUwMjdkOTMwZDkgMTAwNjQ0Ci0tLS0g YS9MaWIvdGVzdC90ZXN0X2h0dHBsaWIucHkKLSsrKyBiL0xpYi90ZXN0L3Rlc3RfaHR0cGxpYi5w eQotQEAgLTM2OSw2ICszNjksNTEgQEAgZGVmIHRlc3RfaW52YWxpZF9oZWFkZXJzKHNlbGYpOgot ICAgICAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwg J0ludmFsaWQgaGVhZGVyJyk6Ci0gICAgICAgICAgICAgICAgICAgICBjb25uLnB1dGhlYWRlcihu YW1lLCB2YWx1ZSkKLSAKLSsgICAgZGVmIHRlc3RfaW52YWxpZF90dW5uZWxfaGVhZGVycyhzZWxm KToKLSsgICAgICAgIGNhc2VzID0gKAotKyAgICAgICAgICAgICgnSW52YWxpZFxyXG5OYW1lJywg J1ZhbGlkVmFsdWUnKSwKLSsgICAgICAgICAgICAoJ0ludmFsaWRcck5hbWUnLCAnVmFsaWRWYWx1 ZScpLAotKyAgICAgICAgICAgICgnSW52YWxpZFxuTmFtZScsICdWYWxpZFZhbHVlJyksCi0rICAg ICAgICAgICAgKCdcclxuSW52YWxpZE5hbWUnLCAnVmFsaWRWYWx1ZScpLAotKyAgICAgICAgICAg ICgnXHJJbnZhbGlkTmFtZScsICdWYWxpZFZhbHVlJyksCi0rICAgICAgICAgICAgKCdcbkludmFs aWROYW1lJywgJ1ZhbGlkVmFsdWUnKSwKLSsgICAgICAgICAgICAoJyBJbnZhbGlkTmFtZScsICdW YWxpZFZhbHVlJyksCi0rICAgICAgICAgICAgKCdcdEludmFsaWROYW1lJywgJ1ZhbGlkVmFsdWUn KSwKLSsgICAgICAgICAgICAoJ0ludmFsaWQ6TmFtZScsICdWYWxpZFZhbHVlJyksCi0rICAgICAg ICAgICAgKCc6SW52YWxpZE5hbWUnLCAnVmFsaWRWYWx1ZScpLAotKyAgICAgICAgICAgICgnVmFs aWROYW1lJywgJ0ludmFsaWRcclxuVmFsdWUnKSwKLSsgICAgICAgICAgICAoJ1ZhbGlkTmFtZScs ICdJbnZhbGlkXHJWYWx1ZScpLAotKyAgICAgICAgICAgICgnVmFsaWROYW1lJywgJ0ludmFsaWRc blZhbHVlJyksCi0rICAgICAgICAgICAgKCdWYWxpZE5hbWUnLCAnSW52YWxpZFZhbHVlXHJcbicp LAotKyAgICAgICAgICAgICgnVmFsaWROYW1lJywgJ0ludmFsaWRWYWx1ZVxyJyksCi0rICAgICAg ICAgICAgKCdWYWxpZE5hbWUnLCAnSW52YWxpZFZhbHVlXG4nKSwKLSsgICAgICAgICkKLSsgICAg ICAgIGZvciBuYW1lLCB2YWx1ZSBpbiBjYXNlczoKLSsgICAgICAgICAgICB3aXRoIHNlbGYuc3Vi VGVzdCgobmFtZSwgdmFsdWUpKToKLSsgICAgICAgICAgICAgICAgY29ubiA9IGNsaWVudC5IVFRQ Q29ubmVjdGlvbignZXhhbXBsZS5jb20nKQotKyAgICAgICAgICAgICAgICBjb25uLnNldF90dW5u ZWwoJ3R1bm5lbCcsIGhlYWRlcnM9ewotKyAgICAgICAgICAgICAgICAgICAgbmFtZTogdmFsdWUK LSsgICAgICAgICAgICAgICAgfSkKLSsgICAgICAgICAgICAgICAgY29ubi5zb2NrID0gRmFrZVNv Y2tldCgnJykKLSsgICAgICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZh bHVlRXJyb3IsICdJbnZhbGlkIGhlYWRlcicpOgotKyAgICAgICAgICAgICAgICAgICAgY29ubi5f dHVubmVsKCkgICMgQ2FsbGVkIGluIC5jb25uZWN0KCkKLSsKLSsgICAgZGVmIHRlc3RfaW52YWxp ZF90dW5uZWxfaG9zdChzZWxmKToKLSsgICAgICAgIGNhc2VzID0gKAotKyAgICAgICAgICAgICdp bnZhbGlkXHIuaG9zdCcsCi0rICAgICAgICAgICAgJ1xuaW52YWxpZC5ob3N0JywKLSsgICAgICAg ICAgICAnaW52YWxpZC5ob3N0XHJcbicsCi0rICAgICAgICAgICAgJ2ludmFsaWQuaG9zdFx4MDAn LAotKyAgICAgICAgICAgICdpbnZhbGlkIGhvc3QnLAotKyAgICAgICAgKQotKyAgICAgICAgZm9y IHR1bm5lbF9ob3N0IGluIGNhc2VzOgotKyAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KHR1 bm5lbF9ob3N0KToKLSsgICAgICAgICAgICAgICAgY29ubiA9IGNsaWVudC5IVFRQQ29ubmVjdGlv bignZXhhbXBsZS5jb20nKQotKyAgICAgICAgICAgICAgICBjb25uLnNldF90dW5uZWwodHVubmVs X2hvc3QpCi0rICAgICAgICAgICAgICAgIGNvbm4uc29jayA9IEZha2VTb2NrZXQoJycpCi0rICAg ICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChWYWx1ZUVycm9yLCAnVHVu bmVsIGhvc3QgY2FuXCd0IGNvbnRhaW4gY29udHJvbCBjaGFyYWN0ZXJzJyk6Ci0rICAgICAgICAg ICAgICAgICAgICBjb25uLl90dW5uZWwoKSAgIyBDYWxsZWQgaW4gLmNvbm5lY3QoKQotKwotICAg ICBkZWYgdGVzdF9oZWFkZXJzX2RlYnVnbGV2ZWwoc2VsZik6Ci0gICAgICAgICBib2R5ID0gKAot ICAgICAgICAgICAgIGInSFRUUC8xLjEgMjAwIE9LXHJcbicKLWRpZmYgLS1naXQgYS9NaXNjL05F V1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMtMjAtMDktMjktNDIuZ2gtaXNzdWUtMTQ2MjExLlBR VmJzNy5yc3QgYi9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMtMjAtMDktMjktNDIu Z2gtaXNzdWUtMTQ2MjExLlBRVmJzNy5yc3QKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAw MDAwMDAwMDAwLi40OTkzNjMzYjhlCi0tLS0gL2Rldi9udWxsCi0rKysgYi9NaXNjL05FV1MuZC9u ZXh0L1NlY3VyaXR5LzIwMjYtMDMtMjAtMDktMjktNDIuZ2gtaXNzdWUtMTQ2MjExLlBRVmJzNy5y c3QKLUBAIC0wLDAgKzEsMiBAQAotK1JlamVjdCBDUi9MRiBjaGFyYWN0ZXJzIGluIHR1bm5lbCBy ZXF1ZXN0IGhlYWRlcnMgZm9yIHRoZQotK0hUVFBDb25uZWN0aW9uLnNldF90dW5uZWwoKSBtZXRo b2QuCgpkaWZmIC0tZ2l0IGEvMDA0ODAtY3ZlLTIwMjYtNDc4Ni5wYXRjaCBiLzAwNDgwLWN2ZS0y MDI2LTQ3ODYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczZTRlMTMuLjAw MDAwMDAKLS0tIGEvMDA0ODAtY3ZlLTIwMjYtNDc4Ni5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDY0ICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0YW4gVWxicnljaCA8c3RhbkBweXRo b24ub3JnPgotRGF0ZTogTW9uLCAxMyBBcHIgMjAyNiAyMDowMjo1MiArMDEwMAotU3ViamVjdDog MDA0ODA6IENWRS0yMDI2LTQ3ODYKLQotRml4IHdlYmJyb3dzZXIgYCVhY3Rpb25gIHN1YnN0aXR1 dGlvbiBieXBhc3Mgb2YgZGFzaC1wcmVmaXggY2hlY2sKLS0tLQotIExpYi90ZXN0L3Rlc3Rfd2Vi YnJvd3Nlci5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgOSArKysrKysrKysKLSBM aWIvd2ViYnJvd3Nlci5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IDUgKysrLS0KLSAuLi4vMjAyNi0wMy0zMS0wOS0xNS01MS5naC1pc3N1ZS0xNDgxNjkuRVpKenoy LnJzdCAgICAgICB8IDIgKysKLSAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IE1pc2MvTkVXUy5kL25leHQvU2VjdXJp dHkvMjAyNi0wMy0zMS0wOS0xNS01MS5naC1pc3N1ZS0xNDgxNjkuRVpKenoyLnJzdAotCi1kaWZm IC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF93ZWJicm93c2VyLnB5IGIvTGliL3Rlc3QvdGVzdF93ZWJi cm93c2VyLnB5Ci1pbmRleCA2MGYwOTRmZDZhLi5lOTAwYzAyMTJiIDEwMDY0NAotLS0tIGEvTGli L3Rlc3QvdGVzdF93ZWJicm93c2VyLnB5Ci0rKysgYi9MaWIvdGVzdC90ZXN0X3dlYmJyb3dzZXIu cHkKLUBAIC05OSw2ICs5OSwxNSBAQCBkZWYgdGVzdF9vcGVuX25ld190YWIoc2VsZik6Ci0gICAg ICAgICAgICAgICAgICAgIG9wdGlvbnM9W10sCi0gICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50 cz1bVVJMXSkKLSAKLSsgICAgZGVmIHRlc3RfcmVqZWN0X2FjdGlvbl9kYXNoX3ByZWZpeGVzKHNl bGYpOgotKyAgICAgICAgYnJvd3NlciA9IHNlbGYuYnJvd3Nlcl9jbGFzcyhuYW1lPUNNRF9OQU1F KQotKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKLSsgICAgICAg ICAgICBicm93c2VyLm9wZW4oJyVhY3Rpb24tLWluY29nbml0bycpCi0rICAgICAgICAjIG5ldz0x OiBhY3Rpb24gaXMgIi0tbmV3LXdpbmRvdyIsIHNvICIlYWN0aW9uIiBpdHNlbGYgZXhwYW5kcyB0 bwotKyAgICAgICAgIyBhIGRhc2gtcHJlZml4ZWQgZmxhZyBldmVuIHdpdGggbm8gZGFzaCBpbiB0 aGUgb3JpZ2luYWwgVVJMLgotKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVy cm9yKToKLSsgICAgICAgICAgICBicm93c2VyLm9wZW4oJyVhY3Rpb24nLCBuZXc9MSkKLSsKLSAK LSBjbGFzcyBFZGdlQ29tbWFuZFRlc3QoQ29tbWFuZFRlc3RNaXhpbiwgdW5pdHRlc3QuVGVzdENh c2UpOgotIAotZGlmZiAtLWdpdCBhL0xpYi93ZWJicm93c2VyLnB5IGIvTGliL3dlYmJyb3dzZXIu cHkKLWluZGV4IDBiZGI2NDRkN2QuLjc5ZDQxMGJjYWUgMTAwNzU1Ci0tLS0gYS9MaWIvd2ViYnJv d3Nlci5weQotKysrIGIvTGliL3dlYmJyb3dzZXIucHkKLUBAIC0yNjgsNyArMjY4LDYgQEAgZGVm IF9pbnZva2Uoc2VsZiwgYXJncywgcmVtb3RlLCBhdXRvcmFpc2UsIHVybD1Ob25lKToKLSAKLSAg ICAgZGVmIG9wZW4oc2VsZiwgdXJsLCBuZXc9MCwgYXV0b3JhaXNlPVRydWUpOgotICAgICAgICAg c3lzLmF1ZGl0KCJ3ZWJicm93c2VyLm9wZW4iLCB1cmwpCi0tICAgICAgICBzZWxmLl9jaGVja191 cmwodXJsKQotICAgICAgICAgaWYgbmV3ID09IDA6Ci0gICAgICAgICAgICAgYWN0aW9uID0gc2Vs Zi5yZW1vdGVfYWN0aW9uCi0gICAgICAgICBlbGlmIG5ldyA9PSAxOgotQEAgLTI4Miw3ICsyODEs OSBAQCBkZWYgb3BlbihzZWxmLCB1cmwsIG5ldz0wLCBhdXRvcmFpc2U9VHJ1ZSk6Ci0gICAgICAg ICAgICAgcmFpc2UgRXJyb3IoIkJhZCAnbmV3JyBwYXJhbWV0ZXIgdG8gb3BlbigpOyAiICsKLSAg ICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQgMCwgMSwgb3IgMiwgZ290ICVzIiAlIG5l dykKLSAKLS0gICAgICAgIGFyZ3MgPSBbYXJnLnJlcGxhY2UoIiVzIiwgdXJsKS5yZXBsYWNlKCIl YWN0aW9uIiwgYWN0aW9uKQotKyAgICAgICAgc2VsZi5fY2hlY2tfdXJsKHVybC5yZXBsYWNlKCIl YWN0aW9uIiwgYWN0aW9uKSkKLSsKLSsgICAgICAgIGFyZ3MgPSBbYXJnLnJlcGxhY2UoIiVhY3Rp b24iLCBhY3Rpb24pLnJlcGxhY2UoIiVzIiwgdXJsKQotICAgICAgICAgICAgICAgICBmb3IgYXJn IGluIHNlbGYucmVtb3RlX2FyZ3NdCi0gICAgICAgICBhcmdzID0gW2FyZyBmb3IgYXJnIGluIGFy Z3MgaWYgYXJnXQotICAgICAgICAgc3VjY2VzcyA9IHNlbGYuX2ludm9rZShhcmdzLCBUcnVlLCBh dXRvcmFpc2UsIHVybCkKLWRpZmYgLS1naXQgYS9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIw MjYtMDMtMzEtMDktMTUtNTEuZ2gtaXNzdWUtMTQ4MTY5LkVaSnp6Mi5yc3QgYi9NaXNjL05FV1Mu ZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMtMzEtMDktMTUtNTEuZ2gtaXNzdWUtMTQ4MTY5LkVaSnp6 Mi5yc3QKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi40NWNkZWViZTFi Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMt MzEtMDktMTUtNTEuZ2gtaXNzdWUtMTQ4MTY5LkVaSnp6Mi5yc3QKLUBAIC0wLDAgKzEsMiBAQAot K0EgYnlwYXNzIGluIDptb2Q6YHdlYmJyb3dzZXJgIGFsbG93ZWQgVVJMcyBwcmVmaXhlZCB3aXRo IGBgJWFjdGlvbmBgIHRvIHBhc3MKLSt0aGUgZGFzaC1wcmVmaXggc2FmZXR5IGNoZWNrLgoKZGlm ZiAtLWdpdCBhLzAwNDgyLWN2ZS0yMDI2LTYxMDAucGF0Y2ggYi8wMDQ4Mi1jdmUtMjAyNi02MTAw LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NjU2ZTNkLi4wMDAwMDAwCi0t LSBhLzAwNDgyLWN2ZS0yMDI2LTYxMDAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCww IEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTdGFuIFVsYnJ5Y2ggPHN0YW5AcHl0aG9uLm9yZz4K LURhdGU6IE1vbiwgMTMgQXByIDIwMjYgMDI6MTQ6NTQgKzAxMDAKLVN1YmplY3Q6IDAwNDgyOiBD VkUtMjAyNi02MTAwCi0KLUZpeCBhIHBvc3NpYmxlIFVBRiBpbiB7TFpNQSxCWjIsX1psaWJ9RGVj b21wcmVzc29yCi0tLS0KLSAuLi4vU2VjdXJpdHkvMjAyNi0wNC0xMC0xNi0yOC0yMS5naC1pc3N1 ZS0xNDgzOTUua2Z6bTBHLnJzdCAgfCA1ICsrKysrCi0gTW9kdWxlcy9fYnoybW9kdWxlLmMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMSArCi0gTW9kdWxlcy9fbHpt YW1vZHVsZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMSArCi0g TW9kdWxlcy96bGlibW9kdWxlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgMSArCi0gNCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKLSBjcmVhdGUgbW9k ZSAxMDA2NDQgTWlzYy9ORVdTLmQvbmV4dC9TZWN1cml0eS8yMDI2LTA0LTEwLTE2LTI4LTIxLmdo LWlzc3VlLTE0ODM5NS5rZnptMEcucnN0Ci0KLWRpZmYgLS1naXQgYS9NaXNjL05FV1MuZC9uZXh0 L1NlY3VyaXR5LzIwMjYtMDQtMTAtMTYtMjgtMjEuZ2gtaXNzdWUtMTQ4Mzk1Lmtmem0wRy5yc3Qg Yi9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDQtMTAtMTYtMjgtMjEuZ2gtaXNzdWUt MTQ4Mzk1Lmtmem0wRy5yc3QKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAw Li45NTAyMTg5YWIxCi0tLS0gL2Rldi9udWxsCi0rKysgYi9NaXNjL05FV1MuZC9uZXh0L1NlY3Vy aXR5LzIwMjYtMDQtMTAtMTYtMjgtMjEuZ2gtaXNzdWUtMTQ4Mzk1Lmtmem0wRy5yc3QKLUBAIC0w LDAgKzEsNSBAQAotK0ZpeCBhIGRhbmdsaW5nIGlucHV0IHBvaW50ZXIgaW4gOmNsYXNzOmBsem1h LkxaTUFEZWNvbXByZXNzb3JgLAotKzpjbGFzczpgYnoyLkJaMkRlY29tcHJlc3NvcmAsIGFuZCBp bnRlcm5hbCA6Y2xhc3M6YCF6bGliLl9abGliRGVjb21wcmVzc29yYAotK3doZW4gbWVtb3J5IGFs bG9jYXRpb24gZmFpbHMgd2l0aCA6ZXhjOmBNZW1vcnlFcnJvcmAsIHdoaWNoIGNvdWxkIGxldCBh Ci0rc3Vic2VxdWVudCA6bWV0aDpgIWRlY29tcHJlc3NgIGNhbGwgcmVhZCBvciB3cml0ZSB0aHJv dWdoIGEgc3RhbGUgcG9pbnRlciB0bwotK3RoZSBhbHJlYWR5LXJlbGVhc2VkIGNhbGxlciBidWZm ZXIuCi1kaWZmIC0tZ2l0IGEvTW9kdWxlcy9fYnoybW9kdWxlLmMgYi9Nb2R1bGVzL19iejJtb2R1 bGUuYwotaW5kZXggOTdiZDQ0YjRhYy4uYTczMmU4OWQ1NSAxMDA2NDQKLS0tLSBhL01vZHVsZXMv X2J6Mm1vZHVsZS5jCi0rKysgYi9Nb2R1bGVzL19iejJtb2R1bGUuYwotQEAgLTU4Nyw2ICs1ODcs NyBAQCBkZWNvbXByZXNzKEJaMkRlY29tcHJlc3NvciAqZCwgY2hhciAqZGF0YSwgc2l6ZV90IGxl biwgUHlfc3NpemVfdCBtYXhfbGVuZ3RoKQotICAgICByZXR1cm4gcmVzdWx0OwotIAotIGVycm9y OgotKyAgICBienMtPm5leHRfaW4gPSBOVUxMOwotICAgICBQeV9YREVDUkVGKHJlc3VsdCk7Ci0g ICAgIHJldHVybiBOVUxMOwotIH0KLWRpZmYgLS1naXQgYS9Nb2R1bGVzL19sem1hbW9kdWxlLmMg Yi9Nb2R1bGVzL19sem1hbW9kdWxlLmMKLWluZGV4IDdiYmQ2NTY5YWEuLjEwM2E2ZWY4NmMgMTAw NjQ0Ci0tLS0gYS9Nb2R1bGVzL19sem1hbW9kdWxlLmMKLSsrKyBiL01vZHVsZXMvX2x6bWFtb2R1 bGUuYwotQEAgLTExMTQsNiArMTExNCw3IEBAIGRlY29tcHJlc3MoRGVjb21wcmVzc29yICpkLCB1 aW50OF90ICpkYXRhLCBzaXplX3QgbGVuLCBQeV9zc2l6ZV90IG1heF9sZW5ndGgpCi0gICAgIHJl dHVybiByZXN1bHQ7Ci0gCi0gZXJyb3I6Ci0rICAgIGx6cy0+bmV4dF9pbiA9IE5VTEw7Ci0gICAg IFB5X1hERUNSRUYocmVzdWx0KTsKLSAgICAgcmV0dXJuIE5VTEw7Ci0gfQotZGlmZiAtLWdpdCBh L01vZHVsZXMvemxpYm1vZHVsZS5jIGIvTW9kdWxlcy96bGlibW9kdWxlLmMKLWluZGV4IGY5NGM1 N2U0YzguLjk3NTk1OTNiNmEgMTAwNjQ0Ci0tLS0gYS9Nb2R1bGVzL3psaWJtb2R1bGUuYwotKysr IGIvTW9kdWxlcy96bGlibW9kdWxlLmMKLUBAIC0xNjQ1LDYgKzE2NDUsNyBAQCBkZWNvbXByZXNz KFpsaWJEZWNvbXByZXNzb3IgKnNlbGYsIHVpbnQ4X3QgKmRhdGEsCi0gICAgIHJldHVybiByZXN1 bHQ7Ci0gCi0gZXJyb3I6Ci0rICAgIHNlbGYtPnpzdC5uZXh0X2luID0gTlVMTDsKLSAgICAgUHlf WERFQ1JFRihyZXN1bHQpOwotICAgICByZXR1cm4gTlVMTDsKLSB9CgpkaWZmIC0tZ2l0IGEvMDA0 ODMtY3ZlLTIwMjYtMjI5Ny5wYXRjaCBiLzAwNDgzLWN2ZS0yMDI2LTIyOTcucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhiNTA0YzkuLjAwMDAwMDAKLS0tIGEvMDA0ODMtY3Zl LTIwMjYtMjI5Ny5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IFN0ZXZlIERvd2VyIDxzdGV2ZS5kb3dlckBweXRob24ub3JnPgotRGF0ZTog V2VkLCA0IE1hciAyMDI2IDE5OjU1OjUyICswMDAwCi1TdWJqZWN0OiAwMDQ4MzogQ1ZFLTIwMjYt MjI5NwotCi1Mb2dnaW5nIEJ5cGFzcyBpbiBMZWdhY3kgLnB5YyBGaWxlIEhhbmRsaW5nCi0tLS0K LSBMaWIvaW1wb3J0bGliL19ib290c3RyYXBfZXh0ZXJuYWwucHkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAyICstCi0gLi4uL1NlY3VyaXR5LzIwMjYtMDMtMDQtMTgtNTktMTcuZ2gtaXNz dWUtMTQ1NTA2LjZod3ZFaC5yc3QgICAgIHwgMiArKwotIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IE1pc2MvTkVXUy5k L25leHQvU2VjdXJpdHkvMjAyNi0wMy0wNC0xOC01OS0xNy5naC1pc3N1ZS0xNDU1MDYuNmh3dkVo LnJzdAotCi1kaWZmIC0tZ2l0IGEvTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwX2V4dGVybmFsLnB5 IGIvTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwX2V4dGVybmFsLnB5Ci1pbmRleCA5YjhhOGRmYzVh Li42ZTRhMDg3YTEwIDEwMDY0NAotLS0tIGEvTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwX2V4dGVy bmFsLnB5Ci0rKysgYi9MaWIvaW1wb3J0bGliL19ib290c3RyYXBfZXh0ZXJuYWwucHkKLUBAIC0x MTg2LDcgKzExODYsNyBAQCBkZWYgZ2V0X2ZpbGVuYW1lKHNlbGYsIGZ1bGxuYW1lKToKLSAKLSAg ICAgZGVmIGdldF9kYXRhKHNlbGYsIHBhdGgpOgotICAgICAgICAgIiIiUmV0dXJuIHRoZSBkYXRh IGZyb20gcGF0aCBhcyByYXcgYnl0ZXMuIiIiCi0tICAgICAgICBpZiBpc2luc3RhbmNlKHNlbGYs IChTb3VyY2VMb2FkZXIsIEV4dGVuc2lvbkZpbGVMb2FkZXIpKToKLSsgICAgICAgIGlmIGlzaW5z dGFuY2Uoc2VsZiwgKFNvdXJjZUxvYWRlciwgU291cmNlbGVzc0ZpbGVMb2FkZXIsIEV4dGVuc2lv bkZpbGVMb2FkZXIpKToKLSAgICAgICAgICAgICB3aXRoIF9pby5vcGVuX2NvZGUoc3RyKHBhdGgp KSBhcyBmaWxlOgotICAgICAgICAgICAgICAgICByZXR1cm4gZmlsZS5yZWFkKCkKLSAgICAgICAg IGVsc2U6Ci1kaWZmIC0tZ2l0IGEvTWlzYy9ORVdTLmQvbmV4dC9TZWN1cml0eS8yMDI2LTAzLTA0 LTE4LTU5LTE3LmdoLWlzc3VlLTE0NTUwNi42aHd2RWgucnN0IGIvTWlzYy9ORVdTLmQvbmV4dC9T ZWN1cml0eS8yMDI2LTAzLTA0LTE4LTU5LTE3LmdoLWlzc3VlLTE0NTUwNi42aHd2RWgucnN0Ci1u ZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMC4uZGNkYjQ0ZDRmYQotLS0tIC9k ZXYvbnVsbAotKysrIGIvTWlzYy9ORVdTLmQvbmV4dC9TZWN1cml0eS8yMDI2LTAzLTA0LTE4LTU5 LTE3LmdoLWlzc3VlLTE0NTUwNi42aHd2RWgucnN0Ci1AQCAtMCwwICsxLDIgQEAKLStGaXhlcyA6 Y3ZlOmAyMDI2LTIyOTdgIGJ5IGVuc3VyaW5nIHRoYXQgYGBTb3VyY2VsZXNzRmlsZUxvYWRlcmBg IHVzZXMKLSs6ZnVuYzpgaW8ub3Blbl9jb2RlYCB3aGVuIG9wZW5pbmcgYGAucHljYGAgZmlsZXMu CgpkaWZmIC0tZ2l0IGEvMDA0ODQtY3ZlLTIwMjYtMzY0NC5wYXRjaCBiLzAwNDg0LWN2ZS0yMDI2 LTM2NDQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExYzEyYmQuLjAwMDAw MDAKLS0tIGEvMDA0ODQtY3ZlLTIwMjYtMzY0NC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0 NiArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTdGFuIFVsYnJ5Y2ggPDg5MTUyNjI0K1N0 YW5Gcm9tSXJlbGFuZEB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+Ci1EYXRlOiBNb24sIDE2IE1h ciAyMDI2IDEzOjQzOjQzICswMDAwCi1TdWJqZWN0OiAwMDQ4NDogQ1ZFLTIwMjYtMzY0NAotCi1J bmNvbXBsZXRlIGNvbnRyb2wgY2hhcmFjdGVyIHZhbGlkYXRpb24gaW4gaHR0cC5jb29raWVzCi0K LUNvLWF1dGhvcmVkLWJ5OiBWaWN0b3IgU3Rpbm5lciA8dmljdG9yLnN0aW5uZXJAZ21haWwuY29t PgotLS0tCi0gTGliL2h0dHAvY29va2llcy5weSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg MjQgKysrKysrKysrKy0tCi0gTGliL3Rlc3QvdGVzdF9odHRwX2Nvb2tpZXMucHkgICAgICAgICAg ICAgICAgIHwgMzggKysrKysrKysrKysrKysrKysrKwotIC4uLi0wMy0wNi0xNy0wMy0zOC5naC1p c3N1ZS0xNDU1OTkua2Nod1pWLnJzdCB8ICA0ICsrCi0gMyBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNl cnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBNaXNjL05FV1Mu ZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMtMDYtMTctMDMtMzguZ2gtaXNzdWUtMTQ1NTk5LmtjaHda Vi5yc3QKLQotZGlmZiAtLWdpdCBhL0xpYi9odHRwL2Nvb2tpZXMucHkgYi9MaWIvaHR0cC9jb29r aWVzLnB5Ci1pbmRleCBkMGE2OWNiZTE5Li42M2QxMTlhZDQ2IDEwMDY0NAotLS0tIGEvTGliL2h0 dHAvY29va2llcy5weQotKysrIGIvTGliL2h0dHAvY29va2llcy5weQotQEAgLTMzNSw5ICszMzUs MTYgQEAgZGVmIHVwZGF0ZShzZWxmLCB2YWx1ZXMpOgotICAgICAgICAgICAgIGtleSA9IGtleS5s b3dlcigpCi0gICAgICAgICAgICAgaWYga2V5IG5vdCBpbiBzZWxmLl9yZXNlcnZlZDoKLSAgICAg ICAgICAgICAgICAgcmFpc2UgQ29va2llRXJyb3IoIkludmFsaWQgYXR0cmlidXRlICVyIiAlIChr ZXksKSkKLSsgICAgICAgICAgICBpZiBfaGFzX2NvbnRyb2xfY2hhcmFjdGVyKGtleSwgdmFsKToK LSsgICAgICAgICAgICAgICAgcmFpc2UgQ29va2llRXJyb3IoIkNvbnRyb2wgY2hhcmFjdGVycyBh cmUgbm90IGFsbG93ZWQgaW4gIgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm ImNvb2tpZXMge2tleSFyfSB7dmFsIXJ9IikKLSAgICAgICAgICAgICBkYXRhW2tleV0gPSB2YWwK LSAgICAgICAgIGRpY3QudXBkYXRlKHNlbGYsIGRhdGEpCi0gCi0rICAgIGRlZiBfX2lvcl9fKHNl bGYsIHZhbHVlcyk6Ci0rICAgICAgICBzZWxmLnVwZGF0ZSh2YWx1ZXMpCi0rICAgICAgICByZXR1 cm4gc2VsZgotKwotICAgICBkZWYgaXNSZXNlcnZlZEtleShzZWxmLCBLKToKLSAgICAgICAgIHJl dHVybiBLLmxvd2VyKCkgaW4gc2VsZi5fcmVzZXJ2ZWQKLSAKLUBAIC0zNjMsOSArMzcwLDE1IEBA IGRlZiBfX2dldHN0YXRlX18oc2VsZik6Ci0gICAgICAgICB9Ci0gCi0gICAgIGRlZiBfX3NldHN0 YXRlX18oc2VsZiwgc3RhdGUpOgotLSAgICAgICAgc2VsZi5fa2V5ID0gc3RhdGVbJ2tleSddCi0t ICAgICAgICBzZWxmLl92YWx1ZSA9IHN0YXRlWyd2YWx1ZSddCi0tICAgICAgICBzZWxmLl9jb2Rl ZF92YWx1ZSA9IHN0YXRlWydjb2RlZF92YWx1ZSddCi0rICAgICAgICBrZXkgPSBzdGF0ZVsna2V5 J10KLSsgICAgICAgIHZhbHVlID0gc3RhdGVbJ3ZhbHVlJ10KLSsgICAgICAgIGNvZGVkX3ZhbHVl ID0gc3RhdGVbJ2NvZGVkX3ZhbHVlJ10KLSsgICAgICAgIGlmIF9oYXNfY29udHJvbF9jaGFyYWN0 ZXIoa2V5LCB2YWx1ZSwgY29kZWRfdmFsdWUpOgotKyAgICAgICAgICAgIHJhaXNlIENvb2tpZUVy cm9yKCJDb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIGluIGNvb2tpZXMgIgotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYie2tleSFyfSB7dmFsdWUhcn0ge2NvZGVkX3Zh bHVlIXJ9IikKLSsgICAgICAgIHNlbGYuX2tleSA9IGtleQotKyAgICAgICAgc2VsZi5fdmFsdWUg PSB2YWx1ZQotKyAgICAgICAgc2VsZi5fY29kZWRfdmFsdWUgPSBjb2RlZF92YWx1ZQotIAotICAg ICBkZWYgb3V0cHV0KHNlbGYsIGF0dHJzPU5vbmUsIGhlYWRlcj0iU2V0LUNvb2tpZToiKToKLSAg ICAgICAgIHJldHVybiAiJXMgJXMiICUgKGhlYWRlciwgc2VsZi5PdXRwdXRTdHJpbmcoYXR0cnMp KQotQEAgLTM3NywxMyArMzkwLDE2IEBAIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAKLSAgICAgZGVm IGpzX291dHB1dChzZWxmLCBhdHRycz1Ob25lKToKLSAgICAgICAgICMgUHJpbnQgamF2YXNjcmlw dAotKyAgICAgICAgb3V0cHV0X3N0cmluZyA9IHNlbGYuT3V0cHV0U3RyaW5nKGF0dHJzKQotKyAg ICAgICAgaWYgX2hhc19jb250cm9sX2NoYXJhY3RlcihvdXRwdXRfc3RyaW5nKToKLSsgICAgICAg ICAgICByYWlzZSBDb29raWVFcnJvcigiQ29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dl ZCBpbiBjb29raWVzIikKLSAgICAgICAgIHJldHVybiAiIiIKLSAgICAgICAgIDxzY3JpcHQgdHlw ZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgIDwhLS0gYmVnaW4gaGlkaW5nCi0gICAgICAg ICBkb2N1bWVudC5jb29raWUgPSBcIiVzXCI7Ci0gICAgICAgICAvLyBlbmQgaGlkaW5nIC0tPgot ICAgICAgICAgPC9zY3JpcHQ+Ci0tICAgICAgICAiIiIgJSAoc2VsZi5PdXRwdXRTdHJpbmcoYXR0 cnMpLnJlcGxhY2UoJyInLCByJ1wiJykpCi0rICAgICAgICAiIiIgJSAob3V0cHV0X3N0cmluZy5y ZXBsYWNlKCciJywgcidcIicpKQotIAotICAgICBkZWYgT3V0cHV0U3RyaW5nKHNlbGYsIGF0dHJz PU5vbmUpOgotICAgICAgICAgIyBCdWlsZCB1cCBvdXIgcmVzdWx0Ci1kaWZmIC0tZ2l0IGEvTGli L3Rlc3QvdGVzdF9odHRwX2Nvb2tpZXMucHkgYi9MaWIvdGVzdC90ZXN0X2h0dHBfY29va2llcy5w eQotaW5kZXggZjE5NmJjYzQ4ZS4uMjQ3OGE2YzYzMCAxMDA2NDQKLS0tLSBhL0xpYi90ZXN0L3Rl c3RfaHR0cF9jb29raWVzLnB5Ci0rKysgYi9MaWIvdGVzdC90ZXN0X2h0dHBfY29va2llcy5weQot QEAgLTU3Myw2ICs1NzMsMTQgQEAgZGVmIHRlc3RfY29udHJvbF9jaGFyYWN0ZXJzKHNlbGYpOgot ICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY29va2llcy5Db29raWVFcnJvcik6 Ci0gICAgICAgICAgICAgICAgIG1vcnNlbFsicGF0aCJdID0gYzAKLSAKLSsgICAgICAgICAgICAj IC5fX3NldHN0YXRlX18oKQotKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY29v a2llcy5Db29raWVFcnJvcik6Ci0rICAgICAgICAgICAgICAgIG1vcnNlbC5fX3NldHN0YXRlX18o eydrZXknOiBjMCwgJ3ZhbHVlJzogJ3ZhbCcsICdjb2RlZF92YWx1ZSc6ICdjb2RlZCd9KQotKyAg ICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY29va2llcy5Db29raWVFcnJvcik6Ci0r ICAgICAgICAgICAgICAgIG1vcnNlbC5fX3NldHN0YXRlX18oeydrZXknOiAna2V5JywgJ3ZhbHVl JzogYzAsICdjb2RlZF92YWx1ZSc6ICdjb2RlZCd9KQotKyAgICAgICAgICAgIHdpdGggc2VsZi5h c3NlcnRSYWlzZXMoY29va2llcy5Db29raWVFcnJvcik6Ci0rICAgICAgICAgICAgICAgIG1vcnNl bC5fX3NldHN0YXRlX18oeydrZXknOiAna2V5JywgJ3ZhbHVlJzogJ3ZhbCcsICdjb2RlZF92YWx1 ZSc6IGMwfSkKLSsKLSAgICAgICAgICAgICAjIC5zZXRkZWZhdWx0KCkKLSAgICAgICAgICAgICB3 aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGNvb2tpZXMuQ29va2llRXJyb3IpOgotICAgICAgICAgICAg ICAgICBtb3JzZWwuc2V0ZGVmYXVsdCgicGF0aCIsIGMwKQotQEAgLTU4Nyw2ICs1OTUsMTggQEAg ZGVmIHRlc3RfY29udHJvbF9jaGFyYWN0ZXJzKHNlbGYpOgotICAgICAgICAgICAgIHdpdGggc2Vs Zi5hc3NlcnRSYWlzZXMoY29va2llcy5Db29raWVFcnJvcik6Ci0gICAgICAgICAgICAgICAgIG1v cnNlbC5zZXQoInBhdGgiLCAidmFsIiwgYzApCi0gCi0rICAgICAgICAgICAgIyAudXBkYXRlKCkK LSsgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGNvb2tpZXMuQ29va2llRXJyb3Ip OgotKyAgICAgICAgICAgICAgICBtb3JzZWwudXBkYXRlKHsicGF0aCI6IGMwfSkKLSsgICAgICAg ICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGNvb2tpZXMuQ29va2llRXJyb3IpOgotKyAgICAg ICAgICAgICAgICBtb3JzZWwudXBkYXRlKHtjMDogInZhbCJ9KQotKwotKyAgICAgICAgICAgICMg Ll9faW9yX18oKQotKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY29va2llcy5D b29raWVFcnJvcik6Ci0rICAgICAgICAgICAgICAgIG1vcnNlbCB8PSB7InBhdGgiOiBjMH0KLSsg ICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGNvb2tpZXMuQ29va2llRXJyb3IpOgot KyAgICAgICAgICAgICAgICBtb3JzZWwgfD0ge2MwOiAidmFsIn0KLSsKLSAgICAgZGVmIHRlc3Rf Y29udHJvbF9jaGFyYWN0ZXJzX291dHB1dChzZWxmKToKLSAgICAgICAgICMgVGVzdHMgdGhhdCBl dmVuIGlmIHRoZSBpbnRlcm5hbHMgb2YgTW9yc2VsIGFyZSBtb2RpZmllZAotICAgICAgICAgIyB0 aGF0IGEgY2FsbCB0byAub3V0cHV0KCkgaGFzIGNvbnRyb2wgY2hhcmFjdGVyIHNhZmVndWFyZHMu Ci1AQCAtNjA3LDYgKzYyNywyNCBAQCBkZWYgdGVzdF9jb250cm9sX2NoYXJhY3RlcnNfb3V0cHV0 KHNlbGYpOgotICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY29va2llcy5Db29r aWVFcnJvcik6Ci0gICAgICAgICAgICAgICAgIGNvb2tpZS5vdXRwdXQoKQotIAotKyAgICAgICAg IyBUZXN0cyB0aGF0IC5qc19vdXRwdXQoKSBhbHNvIGhhcyBjb250cm9sIGNoYXJhY3RlciBzYWZl Z3VhcmRzLgotKyAgICAgICAgZm9yIGMwIGluIHN1cHBvcnQuY29udHJvbF9jaGFyYWN0ZXJzX2Mw KCk6Ci0rICAgICAgICAgICAgbW9yc2VsID0gY29va2llcy5Nb3JzZWwoKQotKyAgICAgICAgICAg IG1vcnNlbC5zZXQoImtleSIsICJ2YWx1ZSIsICJjb2RlZC12YWx1ZSIpCi0rICAgICAgICAgICAg bW9yc2VsLl9rZXkgPSBjMCAgIyBPdmVycmlkZSBwcml2YXRlIHZhcmlhYmxlLgotKyAgICAgICAg ICAgIGNvb2tpZSA9IGNvb2tpZXMuU2ltcGxlQ29va2llKCkKLSsgICAgICAgICAgICBjb29raWVb ImNvb2tpZSJdID0gbW9yc2VsCi0rICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhj b29raWVzLkNvb2tpZUVycm9yKToKLSsgICAgICAgICAgICAgICAgY29va2llLmpzX291dHB1dCgp Ci0rCi0rICAgICAgICAgICAgbW9yc2VsID0gY29va2llcy5Nb3JzZWwoKQotKyAgICAgICAgICAg IG1vcnNlbC5zZXQoImtleSIsICJ2YWx1ZSIsICJjb2RlZC12YWx1ZSIpCi0rICAgICAgICAgICAg bW9yc2VsLl9jb2RlZF92YWx1ZSA9IGMwICAjIE92ZXJyaWRlIHByaXZhdGUgdmFyaWFibGUuCi0r ICAgICAgICAgICAgY29va2llID0gY29va2llcy5TaW1wbGVDb29raWUoKQotKyAgICAgICAgICAg IGNvb2tpZVsiY29va2llIl0gPSBtb3JzZWwKLSsgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0 UmFpc2VzKGNvb2tpZXMuQ29va2llRXJyb3IpOgotKyAgICAgICAgICAgICAgICBjb29raWUuanNf b3V0cHV0KCkKLSsKLSAKLSBkZWYgbG9hZF90ZXN0cyhsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKToK LSAgICAgdGVzdHMuYWRkVGVzdChkb2N0ZXN0LkRvY1Rlc3RTdWl0ZShjb29raWVzKSkKLWRpZmYg LS1naXQgYS9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMtMDYtMTctMDMtMzguZ2gt aXNzdWUtMTQ1NTk5LmtjaHdaVi5yc3QgYi9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYt MDMtMDYtMTctMDMtMzguZ2gtaXNzdWUtMTQ1NTk5LmtjaHdaVi5yc3QKLW5ldyBmaWxlIG1vZGUg MTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi5lNTNhOTMyZDEyCi0tLS0gL2Rldi9udWxsCi0rKysg Yi9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMtMDYtMTctMDMtMzguZ2gtaXNzdWUt MTQ1NTk5LmtjaHdaVi5yc3QKLUBAIC0wLDAgKzEsNCBAQAotK1JlamVjdCBjb250cm9sIGNoYXJh Y3RlcnMgaW4gOmNsYXNzOmBodHRwLmNvb2tpZXMuTW9yc2VsYAotKzptZXRoOmB+aHR0cC5jb29r aWVzLk1vcnNlbC51cGRhdGVgIGFuZAotKzptZXRoOmB+aHR0cC5jb29raWVzLkJhc2VDb29raWUu anNfb3V0cHV0YC4KLStUaGlzIGFkZHJlc3NlcyA6Y3ZlOmAyMDI2LTM2NDRgLgoKZGlmZiAtLWdp dCBhLzAwNDg1LWN2ZS0yMDI2LTQyMjQucGF0Y2ggYi8wMDQ4NS1jdmUtMjAyNi00MjI0LnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNGY4NzM0Li4wMDAwMDAwCi0tLSBhLzAw NDg1LWN2ZS0yMDI2LTQyMjQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5OCArMCwwIEBACi1G cm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiBTdGFuIFVsYnJ5Y2ggPDg5MTUyNjI0K1N0YW5Gcm9tSXJlbGFu ZEB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+Ci1EYXRlOiBTdW4sIDE1IE1hciAyMDI2IDIxOjQ2 OjA2ICswMDAwCi1TdWJqZWN0OiAwMDQ4NTogQ1ZFLTIwMjYtNDIyNAotTUlNRS1WZXJzaW9uOiAx LjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFu c2Zlci1FbmNvZGluZzogOGJpdAotCi1TdGFjayBvdmVyZmxvdyBwYXJzaW5nIFhNTCB3aXRoIGRl ZXBseSBuZXN0ZWQgRFREIGNvbnRlbnQgbW9kZWxzCi0KLUNvLWF1dGhvcmVkLWJ5OiBCw6luw6lk aWt0IFRyYW4gPDEwNzk2NjAwK3BpY25peHpAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgotLS0t Ci0gTGliL3Rlc3QvdGVzdF9weWV4cGF0LnB5ICAgICAgICAgICAgICAgICAgICAgICB8IDE4ICsr KysrKysrKysrKysrKysrKwotIC4uLjYtMDMtMTQtMTctMzEtMzkuZ2gtaXNzdWUtMTQ1OTg2Lmlm U1NyOC5yc3QgfCAgNCArKysrCi0gTW9kdWxlcy9weWV4cGF0LmMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICA5ICsrKysrKysrLQotIDMgZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBNaXNjL05FV1MuZC9uZXh0 L1NlY3VyaXR5LzIwMjYtMDMtMTQtMTctMzEtMzkuZ2gtaXNzdWUtMTQ1OTg2LmlmU1NyOC5yc3QK LQotZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcHlleHBhdC5weSBiL0xpYi90ZXN0L3Rlc3Rf cHlleHBhdC5weQotaW5kZXggMzhmOTUxNTczZi4uMzdkOTA4NmY0MCAxMDA2NDQKLS0tLSBhL0xp Yi90ZXN0L3Rlc3RfcHlleHBhdC5weQotKysrIGIvTGliL3Rlc3QvdGVzdF9weWV4cGF0LnB5Ci1A QCAtNjc1LDYgKzY3NSwyNCBAQCBkZWYgdGVzdF9jaGFuZ2Vfc2l6ZV8yKHNlbGYpOgotICAgICAg ICAgcGFyc2VyLlBhcnNlKHhtbDIsIFRydWUpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNl bGYubiwgNCkKLSAKLStjbGFzcyBFbGVtZW50RGVjbEhhbmRsZXJUZXN0KHVuaXR0ZXN0LlRlc3RD YXNlKToKLSsgICAgZGVmIHRlc3RfZGVlcGx5X25lc3RlZF9jb250ZW50X21vZGVsKHNlbGYpOgot KyAgICAgICAgIyBUaGlzIHNob3VsZCByYWlzZSBhIFJlY3Vyc2lvbkVycm9yIGFuZCBub3QgY3Jh c2guCi0rICAgICAgICAjIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vaXNz dWVzLzE0NTk4Ni4KLSsgICAgICAgIE4gPSA1MDBfMDAwCi0rICAgICAgICBkYXRhID0gKAotKyAg ICAgICAgICAgIGInPCFET0NUWVBFIHJvb3QgW1xuPCFFTEVNRU5UIHJvb3QgJwotKyAgICAgICAg ICAgICsgYicoYSwgJyAqIE4gKyBiJ2EnICsgYicpJyAqIE4KLSsgICAgICAgICAgICArIGInPlxu XT5cbjxyb290Lz5cbicKLSsgICAgICAgICkKLSsKLSsgICAgICAgIHBhcnNlciA9IGV4cGF0LlBh cnNlckNyZWF0ZSgpCi0rICAgICAgICBwYXJzZXIuRWxlbWVudERlY2xIYW5kbGVyID0gbGFtYmRh IF8xLCBfMjogTm9uZQotKyAgICAgICAgd2l0aCBzdXBwb3J0LmluZmluaXRlX3JlY3Vyc2lvbigp OgotKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoUmVjdXJzaW9uRXJyb3IpOgot KyAgICAgICAgICAgICAgICBwYXJzZXIuUGFyc2UoZGF0YSkKLSsKLSsKLSBjbGFzcyBNYWxmb3Jt ZWRJbnB1dFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgotICAgICBkZWYgdGVzdDEoc2VsZik6Ci0g ICAgICAgICB4bWwgPSBiIlwwXHJcbiIKLWRpZmYgLS1naXQgYS9NaXNjL05FV1MuZC9uZXh0L1Nl Y3VyaXR5LzIwMjYtMDMtMTQtMTctMzEtMzkuZ2gtaXNzdWUtMTQ1OTg2LmlmU1NyOC5yc3QgYi9N aXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMtMTQtMTctMzEtMzkuZ2gtaXNzdWUtMTQ1 OTg2LmlmU1NyOC5yc3QKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi43 OTUzNmQxZmVmCi0tLS0gL2Rldi9udWxsCi0rKysgYi9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5 LzIwMjYtMDMtMTQtMTctMzEtMzkuZ2gtaXNzdWUtMTQ1OTg2LmlmU1NyOC5yc3QKLUBAIC0wLDAg KzEsNCBAQAotKzptb2Q6YHhtbC5wYXJzZXJzLmV4cGF0YDogRml4ZWQgYSBjcmFzaCBjYXVzZWQg YnkgdW5ib3VuZGVkIEMgcmVjdXJzaW9uIHdoZW4KLStjb252ZXJ0aW5nIGRlZXBseSBuZXN0ZWQg WE1MIGNvbnRlbnQgbW9kZWxzIHdpdGgKLSs6bWV0aDpgfnhtbC5wYXJzZXJzLmV4cGF0LnhtbHBh cnNlci5FbGVtZW50RGVjbEhhbmRsZXJgLgotK1RoaXMgYWRkcmVzc2VzIDpjdmU6YDIwMjYtNDIy NGAuCi1kaWZmIC0tZ2l0IGEvTW9kdWxlcy9weWV4cGF0LmMgYi9Nb2R1bGVzL3B5ZXhwYXQuYwot aW5kZXggNzk0OTJjYTVjNC4uODY3MzU0MGYzNSAxMDA2NDQKLS0tLSBhL01vZHVsZXMvcHlleHBh dC5jCi0rKysgYi9Nb2R1bGVzL3B5ZXhwYXQuYwotQEAgLTMsNiArMyw3IEBACi0gI2VuZGlmCi0g Ci0gI2luY2x1ZGUgIlB5dGhvbi5oIgotKyNpbmNsdWRlICJweWNvcmVfY2V2YWwuaCIgICAgICAg ICAgIC8vIF9QeV9FbnRlclJlY3Vyc2l2ZUNhbGwoKQotICNpbmNsdWRlICJweWNvcmVfcnVudGlt ZS5oIiAgICAgICAgIC8vIF9QeV9JRCgpCi0gI2luY2x1ZGUgPGN0eXBlLmg+Ci0gCi1AQCAtNTc4 LDYgKzU3OSwxMCBAQCBzdGF0aWMgUHlPYmplY3QgKgotIGNvbnZfY29udGVudF9tb2RlbChYTUxf Q29udGVudCAqIGNvbnN0IG1vZGVsLAotICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqKCpj b252X3N0cmluZykoY29uc3QgWE1MX0NoYXIgKikpCi0gewotKyAgICBpZiAoX1B5X0VudGVyUmVj dXJzaXZlQ2FsbCgiIGluIGNvbnZfY29udGVudF9tb2RlbCIpKSB7Ci0rICAgICAgICByZXR1cm4g TlVMTDsKLSsgICAgfQotKwotICAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKLSAgICAgUHlP YmplY3QgKmNoaWxkcmVuID0gUHlUdXBsZV9OZXcobW9kZWwtPm51bWNoaWxkcmVuKTsKLSAgICAg aW50IGk7Ci1AQCAtNTg5LDcgKzU5NCw3IEBAIGNvbnZfY29udGVudF9tb2RlbChYTUxfQ29udGVu dCAqIGNvbnN0IG1vZGVsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb252X3N0cmluZyk7Ci0gICAgICAgICAgICAgaWYgKGNoaWxkID09IE5VTEwp IHsKLSAgICAgICAgICAgICAgICAgUHlfWERFQ1JFRihjaGlsZHJlbik7Ci0tICAgICAgICAgICAg ICAgIHJldHVybiBOVUxMOwotKyAgICAgICAgICAgICAgICBnb3RvIGRvbmU7Ci0gICAgICAgICAg ICAgfQotICAgICAgICAgICAgIFB5VHVwbGVfU0VUX0lURU0oY2hpbGRyZW4sIGksIGNoaWxkKTsK LSAgICAgICAgIH0KLUBAIC01OTcsNiArNjAyLDggQEAgY29udl9jb250ZW50X21vZGVsKFhNTF9D b250ZW50ICogY29uc3QgbW9kZWwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1v ZGVsLT50eXBlLCBtb2RlbC0+cXVhbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnZfc3RyaW5nLG1vZGVsLT5uYW1lLCBjaGlsZHJlbik7Ci0gICAgIH0KLStkb25lOgotKyAg ICBfUHlfTGVhdmVSZWN1cnNpdmVDYWxsKCk7Ci0gICAgIHJldHVybiByZXN1bHQ7Ci0gfQotIAoK ZGlmZiAtLWdpdCBhLzAwNDkwLWN2ZS0yMDI2LTE1MzA4LnBhdGNoIGIvMDA0OTAtY3ZlLTIwMjYt MTUzMDgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0MmIxOGIuLjAwMDAw MDAKLS0tIGEvMDA0OTAtY3ZlLTIwMjYtMTUzMDgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwx MTQgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU2VyaGl5IFN0b3JjaGFrYSA8c3RvcmNo YWthQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgNCBKdWwgMjAyNiAyMDo0MDoyMiArMDMwMAotU3Vi amVjdDogMDA0OTA6IGdoLTE1MzAzMDogRml4IHF1YWRyYXRpYyBjb21wbGV4aXR5IGluIGluY3Jl bWVudGFsIHBhcnNpbmcgaW4KLSBIVE1MUGFyc2VyCi0KLVdoZW4gYW4gdW50ZXJtaW5hdGVkIGNv bnN0cnVjdCAoZS5nLiBhIHRhZyBvciBjb21tZW50KSBzcGFubmVkIG1hbnkKLWZlZWQoKSBjYWxs cywgcmVzY2FubmluZyB0aGUgZ3Jvd2luZyBidWZmZXIgYW5kIGNvbmNhdGVuYXRpbmcgbmV3IGRh dGEKLW9udG8gaXQgd2VyZSBib3RoIHF1YWRyYXRpYy4gIE5ldyBkYXRhIGlzIG5vdyBhY2N1bXVs YXRlZCBpbiBhIGxpc3QgYW5kCi1vbmx5IGpvaW5lZCBhbmQgcGFyc2VkIG9uY2UgZW5vdWdoIGhh cyBwaWxlZCB1cC4KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGJjZjk4ZGRiYzQwZWM5YjNl ZTg3ZGEwMTI0YTU2NjBiMTliN2U2MDYpCi0KLUNvLWF1dGhvcmVkLWJ5OiBTZXJoaXkgU3RvcmNo YWthIDxzdG9yY2hha2FAZ21haWwuY29tPgotQ28tQXV0aG9yZWQtQnk6IENsYXVkZSBPcHVzIDQu OCA8bm9yZXBseUBhbnRocm9waWMuY29tPgotLS0tCi0gTGliL2h0bWwvcGFyc2VyLnB5ICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgMzIgKysrKysrKysrKysrKysrKystLQotIExpYi90ZXN0 L3Rlc3RfaHRtbHBhcnNlci5weSAgICAgICAgICAgICAgICAgICB8IDIwICsrKysrKysrKysrKwot IC4uLi0wNy0wNC0xNy0wMC0wMC5naC1pc3N1ZS0xNTMwMzAuUm92a1A2LnJzdCB8ICAzICsrCi0g MyBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotIGNyZWF0 ZSBtb2RlIDEwMDY0NCBNaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDctMDQtMTctMDAt MDAuZ2gtaXNzdWUtMTUzMDMwLlJvdmtQNi5yc3QKLQotZGlmZiAtLWdpdCBhL0xpYi9odG1sL3Bh cnNlci5weSBiL0xpYi9odG1sL3BhcnNlci5weQotaW5kZXggYmZhYjNlNjRjZC4uYzVkMjM0MGI3 MSAxMDA2NDQKLS0tLSBhL0xpYi9odG1sL3BhcnNlci5weQotKysrIGIvTGliL2h0bWwvcGFyc2Vy LnB5Ci1AQCAtMTM4LDYgKzEzOCw5IEBAIGRlZiByZXNldChzZWxmKToKLSAgICAgICAgIHNlbGYu Y2RhdGFfZWxlbSA9IE5vbmUKLSAgICAgICAgIHNlbGYuX3N1cHBvcnRfY2RhdGEgPSBUcnVlCi0g ICAgICAgICBzZWxmLl9lc2NhcGFibGUgPSBUcnVlCi0rICAgICAgICBzZWxmLl9wZW5kaW5nID0g W10KLSsgICAgICAgIHNlbGYuX3BlbmRpbmdfbGVuID0gMAotKyAgICAgICAgc2VsZi5fcGFyc2Vf dGhyZXNob2xkID0gMQotICAgICAgICAgc3VwZXIoKS5yZXNldCgpCi0gCi0gICAgIGRlZiBmZWVk KHNlbGYsIGRhdGEpOgotQEAgLTE0NiwxMSArMTQ5LDM2IEBAIGRlZiBmZWVkKHNlbGYsIGRhdGEp OgotICAgICAgICAgQ2FsbCB0aGlzIGFzIG9mdGVuIGFzIHlvdSB3YW50LCB3aXRoIGFzIGxpdHRs ZSBvciBhcyBtdWNoIHRleHQKLSAgICAgICAgIGFzIHlvdSB3YW50IChtYXkgaW5jbHVkZSAnXG4n KS4KLSAgICAgICAgICIiIgotLSAgICAgICAgc2VsZi5yYXdkYXRhID0gc2VsZi5yYXdkYXRhICsg ZGF0YQotLSAgICAgICAgc2VsZi5nb2FoZWFkKDApCi0rICAgICAgICAjIEFjY3VtdWxhdGUgbmV3 IGRhdGEgaW4gYSBsaXN0IGFuZCBvbmx5IGpvaW4gYW5kIHBhcnNlIGl0IG9uY2UKLSsgICAgICAg ICMgZW5vdWdoIGhhcyBwaWxlZCB1cC4gIFJlc2Nhbm5pbmcgYW4gdW5wYXJzZWQgYnVmZmVyIChl LmcuIGFuCi0rICAgICAgICAjIHVudGVybWluYXRlZCB0YWcpIGFuZCBjb25jYXRlbmF0aW5nIG9u dG8gaXQgb24gZXZlcnkgY2FsbCB3b3VsZAotKyAgICAgICAgIyBib3RoIGJlIHF1YWRyYXRpYyBp biB0aGUgaW5wdXQgc2l6ZS4KLSsgICAgICAgIHNlbGYuX3BlbmRpbmdfbGVuICs9IGxlbihkYXRh KQotKyAgICAgICAgaWYgc2VsZi5fcGVuZGluZ19sZW4gPCBzZWxmLl9wYXJzZV90aHJlc2hvbGQ6 Ci0rICAgICAgICAgICAgc2VsZi5fcGVuZGluZy5hcHBlbmQoZGF0YSkKLSsgICAgICAgIGVsc2U6 Ci0rICAgICAgICAgICAgaWYgbm90IHNlbGYuX3BlbmRpbmc6Ci0rICAgICAgICAgICAgICAgIHNl bGYucmF3ZGF0YSArPSBkYXRhCi0rICAgICAgICAgICAgZWxzZToKLSsgICAgICAgICAgICAgICAg c2VsZi5fcGVuZGluZy5hcHBlbmQoZGF0YSkKLSsgICAgICAgICAgICAgICAgc2VsZi5yYXdkYXRh ICs9ICcnLmpvaW4oc2VsZi5fcGVuZGluZykKLSsgICAgICAgICAgICAgICAgc2VsZi5fcGVuZGlu Zy5jbGVhcigpCi0rICAgICAgICAgICAgc2VsZi5fcGVuZGluZ19sZW4gPSAwCi0rICAgICAgICAg ICAgbiA9IGxlbihzZWxmLnJhd2RhdGEpCi0rICAgICAgICAgICAgc2VsZi5nb2FoZWFkKDApCi0r ICAgICAgICAgICAgaWYgbGVuKHNlbGYucmF3ZGF0YSkgPCBuOgotKyAgICAgICAgICAgICAgICAj IFNvbWUgZGF0YSB3YXMgcGFyc2VkOyByZXN1bWUgb24gdGhlIG5leHQgY2FsbC4KLSsgICAgICAg ICAgICAgICAgc2VsZi5fcGFyc2VfdGhyZXNob2xkID0gMQotKyAgICAgICAgICAgIGVsc2U6Ci0r ICAgICAgICAgICAgICAgICMgTm90aGluZyB3YXMgcGFyc2VkOyB3YWl0IHVudGlsIHRoZSBidWZm ZXIgZG91Ymxlcy4KLSsgICAgICAgICAgICAgICAgc2VsZi5fcGFyc2VfdGhyZXNob2xkID0gbGVu KHNlbGYucmF3ZGF0YSkKLSAKLSAgICAgZGVmIGNsb3NlKHNlbGYpOgotICAgICAgICAgIiIiSGFu ZGxlIGFueSBidWZmZXJlZCBkYXRhLiIiIgotKyAgICAgICAgaWYgc2VsZi5fcGVuZGluZzoKLSsg ICAgICAgICAgICBzZWxmLnJhd2RhdGEgKz0gJycuam9pbihzZWxmLl9wZW5kaW5nKQotKyAgICAg ICAgICAgIHNlbGYuX3BlbmRpbmcuY2xlYXIoKQotKyAgICAgICAgICAgIHNlbGYuX3BlbmRpbmdf bGVuID0gMAotICAgICAgICAgc2VsZi5nb2FoZWFkKDEpCi0gCi0gICAgIF9fc3RhcnR0YWdfdGV4 dCA9IE5vbmUKLWRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2h0bWxwYXJzZXIucHkgYi9MaWIv dGVzdC90ZXN0X2h0bWxwYXJzZXIucHkKLWluZGV4IDMwM2MwYmFhODcuLmU2ZDkyYTdlYzUgMTAw NjQ0Ci0tLS0gYS9MaWIvdGVzdC90ZXN0X2h0bWxwYXJzZXIucHkKLSsrKyBiL0xpYi90ZXN0L3Rl c3RfaHRtbHBhcnNlci5weQotQEAgLTkzMCw2ICs5MzAsMjYgQEAgZGVmIGNoZWNrKHNvdXJjZSk6 Ci0gICAgICAgICBjaGVjaygiPCFbQ0RBVEFbIiAqIDkgKiBuKQotICAgICAgICAgY2hlY2soIjwh ZG9jdHlwZSIgKiAzNSAqIG4pCi0gCi0rICAgIEBzdXBwb3J0LnJlcXVpcmVzX3Jlc291cmNlKCdj cHUnKQotKyAgICBkZWYgdGVzdF9pbmNyZW1lbnRhbF9ub19xdWFkcmF0aWNfY29tcGxleGl0eShz ZWxmKToKLSsgICAgICAgICMgQW4gdW50ZXJtaW5hdGVkIGNvbnN0cnVjdCBmZWQgaW4gbWFueSBz bWFsbCBjaHVua3MgdXNlZCB0byB0YWtlCi0rICAgICAgICAjIHF1YWRyYXRpYyB0aW1lLCBib3Ro IHRvIHJlc2NhbiBhbmQgdG8gY29uY2F0ZW5hdGUgdGhlIGJ1ZmZlci4KLSsgICAgICAgICMgTm93 IGl0IHRha2VzIGEgZnJhY3Rpb24gb2YgYSBzZWNvbmQuCi0rICAgICAgICBkZWYgY2hlY2socHJl Zml4LCBjaHVuaywgc3VmZml4KToKLSsgICAgICAgICAgICBwYXJzZXIgPSBodG1sLnBhcnNlci5I VE1MUGFyc2VyKCkKLSsgICAgICAgICAgICBwYXJzZXIuZmVlZChwcmVmaXgpCi0rICAgICAgICAg ICAgZm9yIF8gaW4gcmFuZ2UoMjAwXzAwMCk6Ci0rICAgICAgICAgICAgICAgIHBhcnNlci5mZWVk KGNodW5rKQotKyAgICAgICAgICAgIHBhcnNlci5mZWVkKHN1ZmZpeCkKLSsgICAgICAgICAgICBw YXJzZXIuY2xvc2UoKQotKyAgICAgICAgY2h1bmsgPSAiYSIgKiA2NAotKyAgICAgICAgY2hlY2so IjwhLS0iLCBjaHVuaywgIi0tPiIpICAgICAgICMgY29tbWVudAotKyAgICAgICAgY2hlY2soIjw/ IiwgY2h1bmssICI+IikgICAgICAgICAgICMgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbgotKyAgICAg ICAgY2hlY2soIjwhZG9jdHlwZSAiLCBjaHVuaywgIj4iKSAgICMgZG9jdHlwZQotKyAgICAgICAg Y2hlY2soIjwhW0NEQVRBWyIsIGNodW5rLCAiXV0+IikgICMgQ0RBVEEgc2VjdGlvbgotKyAgICAg ICAgY2hlY2soIjxhIGhyZWY9JyIsIGNodW5rLCAiJz4iKSAgICMgc3RhcnQgdGFnCi0rICAgICAg ICBjaGVjaygiPHNjcmlwdD4iLCBjaHVuaywgIjwvc2NyaXB0PiIpICAjIFJBV1RFWFQgZWxlbWVu dAotKwotIAotIGNsYXNzIEF0dHJpYnV0ZXNUZXN0Q2FzZShUZXN0Q2FzZUJhc2UpOgotIAotZGlm ZiAtLWdpdCBhL01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wNy0wNC0xNy0wMC0wMC5n aC1pc3N1ZS0xNTMwMzAuUm92a1A2LnJzdCBiL01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAy Ni0wNy0wNC0xNy0wMC0wMC5naC1pc3N1ZS0xNTMwMzAuUm92a1A2LnJzdAotbmV3IGZpbGUgbW9k ZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAuLmQxZDYwNTkzZjQKLS0tLSAvZGV2L251bGwKLSsr KyBiL01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wNy0wNC0xNy0wMC0wMC5naC1pc3N1 ZS0xNTMwMzAuUm92a1A2LnJzdAotQEAgLTAsMCArMSwzIEBACi0rRml4ZWQgcXVhZHJhdGljIGNv bXBsZXhpdHkgaW4gaW5jcmVtZW50YWwgcGFyc2luZyBvZiBsb25nIHVudGVybWluYXRlZAotK2Nv bnN0cnVjdHMgKHN1Y2ggYXMgdGFncyBvciBjb21tZW50cykgaW4gOmNsYXNzOmBodG1sLnBhcnNl ci5IVE1MUGFyc2VyYCwKLSt3aGljaCBjb3VsZCBiZSBleHBsb2l0ZWQgZm9yIGEgZGVuaWFsIG9m IHNlcnZpY2UuCgpkaWZmIC0tZ2l0IGEvMDA0OTEtZ2gtMTQ5Nzc2LXNraXAtdWRwLWxpdGUtdGVz dHMtaWYtaXQtcy1ub3Qtc3VwcG9ydGVkLnBhdGNoIGIvMDA0OTEtZ2gtMTQ5Nzc2LXNraXAtdWRw LWxpdGUtdGVzdHMtaWYtaXQtcy1ub3Qtc3VwcG9ydGVkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAxNDE5OTYzLi4wMDAwMDAwCi0tLSBhLzAwNDkxLWdoLTE0OTc3Ni1za2lw LXVkcC1saXRlLXRlc3RzLWlmLWl0LXMtbm90LXN1cHBvcnRlZC5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDYzICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFZpY3RvciBTdGlubmVyIDx2 c3Rpbm5lckBweXRob24ub3JnPgotRGF0ZTogV2VkLCAxMyBNYXkgMjAyNiAxNzoyNzo1NiArMDIw MAotU3ViamVjdDogMDA0OTE6IGdoLTE0OTc3NjogU2tpcCBVRFAgTGl0ZSB0ZXN0cyBpZiBpdCdz IG5vdCBzdXBwb3J0ZWQKLQotRml4IHRlc3Rfc29ja2V0IG9uIExpbnV4IGtlcm5lbCA3LjEgYW5k IG5ld2VyOiBza2lwIFVEUCBMaXRlIHRlc3RzIGlmCi1pdCdzIG5vdCBzdXBwb3J0ZWQuCi0KLShj aGVycnkgcGlja2VkIGZyb20gY29tbWl0IDNjZmMyNDllMTFhMTMyZGM2OTYyNDE1MDg0Mzc3OWFh OTZjNzJiMmIpCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0OWQwODY3NGQ4ZGJhNTBkYzI5 NTM5ZTNjN2JjZTIxZDY2MDY2YjA2KQotLS0tCi0gTGliL3Rlc3QvdGVzdF9zb2NrZXQucHkgICAg ICAgICAgICAgICAgICAgICAgIHwgMjEgKysrKysrKysrKysrKysrKysrLQotIC4uLi0wNS0xMy0x NC01My0yMy5naC1pc3N1ZS0xNDk3NzYub3JxZ3NuLnJzdCB8ICAyICsrCi0gMiBmaWxlcyBjaGFu Z2VkLCAyMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0 IE1pc2MvTkVXUy5kL25leHQvVGVzdHMvMjAyNi0wNS0xMy0xNC01My0yMy5naC1pc3N1ZS0xNDk3 NzYub3JxZ3NuLnJzdAotCi1kaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zb2NrZXQucHkgYi9M aWIvdGVzdC90ZXN0X3NvY2tldC5weQotaW5kZXggZjIwMGZjOTc5Mi4uOTQ1M2EyYzdlOCAxMDA2 NDQKLS0tLSBhL0xpYi90ZXN0L3Rlc3Rfc29ja2V0LnB5Ci0rKysgYi9MaWIvdGVzdC90ZXN0X3Nv Y2tldC5weQotQEAgLTE1Nyw2ICsxNTcsMjUgQEAgZGVmIF9oYXZlX3NvY2tldF9oeXBlcnYoKToK LSAgICAgcmV0dXJuIFRydWUKLSAKLSAKLStkZWYgX2hhdmVfdWRwX2xpdGUoKToKLSsgICAgaWYg bm90IGhhc2F0dHIoc29ja2V0LCAiSVBQUk9UT19VRFBMSVRFIik6Ci0rICAgICAgICByZXR1cm4g RmFsc2UKLSsgICAgIyBPbGRlciBBbmRyb2lkIHZlcnNpb25zIGJsb2NrIFVEUExJVEUgd2l0aCBT RUxpbnV4LgotKyAgICBpZiBzdXBwb3J0LmlzX2FuZHJvaWQgYW5kIHBsYXRmb3JtLmFuZHJvaWRf dmVyKCkuYXBpX2xldmVsIDwgMjk6Ci0rICAgICAgICByZXR1cm4gRmFsc2UKLSsKLSsgICAgdHJ5 OgotKyAgICAgICAgc29jayA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5T T0NLX0RHUkFNLCBzb2NrZXQuSVBQUk9UT19VRFBMSVRFKQotKyAgICBleGNlcHQgT1NFcnJvciBh cyBleGM6Ci0rICAgICAgICAjIExpbnV4IDcuMSByZW1vdmVkIFVEUCBMaXRlIHN1cHBvcnQKLSsg ICAgICAgIGlmIGV4Yy5lcnJubyA9PSBlcnJuby5FUFJPVE9OT1NVUFBPUlQ6Ci0rICAgICAgICAg ICAgcmV0dXJuIEZhbHNlCi0rICAgICAgICByYWlzZQotKyAgICBzb2NrLmNsb3NlKCkKLSsKLSsg ICAgcmV0dXJuIFRydWUKLSsKLSsKLSBAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgotIGRlZiBz b2NrZXRfc2V0ZGVmYXVsdHRpbWVvdXQodGltZW91dCk6Ci0gICAgIG9sZF90aW1lb3V0ID0gc29j a2V0LmdldGRlZmF1bHR0aW1lb3V0KCkKLUBAIC0xODEsNyArMjAwLDcgQEAgZGVmIHNvY2tldF9z ZXRkZWZhdWx0dGltZW91dCh0aW1lb3V0KToKLSAKLSBIQVZFX1NPQ0tFVF9WU09DSyA9IF9oYXZl X3NvY2tldF92c29jaygpCi0gCi0tSEFWRV9TT0NLRVRfVURQTElURSA9IGhhc2F0dHIoc29ja2V0 LCAiSVBQUk9UT19VRFBMSVRFIikKLStIQVZFX1NPQ0tFVF9VRFBMSVRFID0gX2hhdmVfdWRwX2xp dGUoKQotIAotIEhBVkVfU09DS0VUX0JMVUVUT09USCA9IF9oYXZlX3NvY2tldF9ibHVldG9vdGgo KQotIAotZGlmZiAtLWdpdCBhL01pc2MvTkVXUy5kL25leHQvVGVzdHMvMjAyNi0wNS0xMy0xNC01 My0yMy5naC1pc3N1ZS0xNDk3NzYub3JxZ3NuLnJzdCBiL01pc2MvTkVXUy5kL25leHQvVGVzdHMv MjAyNi0wNS0xMy0xNC01My0yMy5naC1pc3N1ZS0xNDk3NzYub3JxZ3NuLnJzdAotbmV3IGZpbGUg bW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAuLmU4NmE5MTMwZmYKLS0tLSAvZGV2L251bGwK LSsrKyBiL01pc2MvTkVXUy5kL25leHQvVGVzdHMvMjAyNi0wNS0xMy0xNC01My0yMy5naC1pc3N1 ZS0xNDk3NzYub3JxZ3NuLnJzdAotQEAgLTAsMCArMSwyIEBACi0rRml4IHRlc3Rfc29ja2V0IG9u IExpbnV4IGtlcm5lbCA3LjEgYW5kIG5ld2VyOiBza2lwIFVEUCBMaXRlIHRlc3RzIGlmIGl0J3MK LStub3Qgc3VwcG9ydGVkLiBQYXRjaCBieSBWaWN0b3IgU3Rpbm5lci4KCmRpZmYgLS1naXQgYS8w MDQ5NC1pbmNyZWFzZS10aGUtdGltZW91dC1vZi10ZXN0X2xhcmdlX2NvbnRlbnRfbGVuZ3RoX3Ry dW5jYXRlZC5wYXRjaCBiLzAwNDk0LWluY3JlYXNlLXRoZS10aW1lb3V0LW9mLXRlc3RfbGFyZ2Vf Y29udGVudF9sZW5ndGhfdHJ1bmNhdGVkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjlkMGVmNTEKLS0tIC9kZXYvbnVsbAorKysgYi8wMDQ5NC1pbmNyZWFzZS10aGUt dGltZW91dC1vZi10ZXN0X2xhcmdlX2NvbnRlbnRfbGVuZ3RoX3RydW5jYXRlZC5wYXRjaApAQCAt MCwwICsxLDIzIEBACitGcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLYXJvbGluYSBTdXJtYSA8a3N1cm1h QHJlZGhhdC5jb20+CitEYXRlOiBGcmksIDE0IEF1ZyAyMDI2IDA5OjM4OjI2ICswMjAwCitTdWJq ZWN0OiAwMDQ5NDogSW5jcmVhc2UgdGhlIHRpbWVvdXQgb2YgdGVzdF9sYXJnZV9jb250ZW50X2xl bmd0aF90cnVuY2F0ZWQKKworSXQgaGFzIHN0YXJ0ZWQgdG8gZmFpbCByYW5kb21seSB3aGVuIHJ1 biBvbiBzMzkweCBhcmNoaXRlY3R1cmUuCistLS0KKyBMaWIvdGVzdC90ZXN0X2h0dHBzZXJ2ZXJz LnB5IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigt KQorCitkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9odHRwc2VydmVycy5weSBiL0xpYi90ZXN0 L3Rlc3RfaHR0cHNlcnZlcnMucHkKK2luZGV4IDk2ZmM5Y2E1NzQuLjZhM2Y1NzMxYTQgMTAwNjQ0 CistLS0gYS9MaWIvdGVzdC90ZXN0X2h0dHBzZXJ2ZXJzLnB5CisrKysgYi9MaWIvdGVzdC90ZXN0 X2h0dHBzZXJ2ZXJzLnB5CitAQCAtOTA3LDcgKzkwNyw3IEBAIGRlZiB0ZXN0X2xhcmdlX2NvbnRl bnRfbGVuZ3RoKHNlbGYpOgorICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLnJlYWQo KSwgYiclZCAlZCcgJSAoc2l6ZSwgc2l6ZSkgKyBzZWxmLmxpbmVzZXApCisgCisgICAgIGRlZiB0 ZXN0X2xhcmdlX2NvbnRlbnRfbGVuZ3RoX3RydW5jYXRlZChzZWxmKToKKy0gICAgICAgIHdpdGgg c3VwcG9ydC5zd2FwX2F0dHIoc2VsZi5yZXF1ZXN0X2hhbmRsZXIsICd0aW1lb3V0JywgMC4wMDEp OgorKyAgICAgICAgd2l0aCBzdXBwb3J0LnN3YXBfYXR0cihzZWxmLnJlcXVlc3RfaGFuZGxlciwg J3RpbWVvdXQnLCBzdXBwb3J0LkxPT1BCQUNLX1RJTUVPVVQpOgorICAgICAgICAgICAgIGZvciB3 IGluIHJhbmdlKDE4LCA2NSk6CisgICAgICAgICAgICAgICAgIHNpemUgPSAxIDw8IHcKKyAgICAg ICAgICAgICAgICAgaGVhZGVycyA9IHsnQ29udGVudC1MZW5ndGgnIDogc3RyKHNpemUpfQoKZGlm ZiAtLWdpdCBhL3B5dGhvbjMuMTIuc3BlYyBiL3B5dGhvbjMuMTIuc3BlYwppbmRleCBjM2IwY2U2 Li4wYzYxYWMxIDEwMDY0NAotLS0gYS9weXRob24zLjEyLnNwZWMKKysrIGIvcHl0aG9uMy4xMi5z cGVjCkBAIC0xMywxMSArMTMsMTEgQEAgVVJMOiBodHRwczovL3d3dy5weXRob24ub3JnLwogCiAj ICBXQVJOSU5HICBXaGVuIHJlYmFzaW5nIHRvIGEgbmV3IFB5dGhvbiB2ZXJzaW9uLAogIyAgICAg ICAgICAgcmVtZW1iZXIgdG8gdXBkYXRlIHRoZSBweXRob24zLWRvY3MgcGFja2FnZSBhcyB3ZWxs Ci0lZ2xvYmFsIGdlbmVyYWxfdmVyc2lvbiAle3B5YmFzZXZlcn0uMTMKKyVnbG9iYWwgZ2VuZXJh bF92ZXJzaW9uICV7cHliYXNldmVyfS4xNAogI2dsb2JhbCBwcmVyZWwgLi4uCiAlZ2xvYmFsIHVw c3RyZWFtX3ZlcnNpb24gJXtnZW5lcmFsX3ZlcnNpb259JXs/cHJlcmVsfQogVmVyc2lvbjogJXtn ZW5lcmFsX3ZlcnNpb259JXs/cHJlcmVsOn4le3ByZXJlbH19Ci1SZWxlYXNlOiA2JXs/ZGlzdH0K K1JlbGVhc2U6IDElez9kaXN0fQogTGljZW5zZTogUHl0aG9uLTIuMC4xCiAKIApAQCAtNDAwLDIz ICs0MDAsNiBAQCBQYXRjaDQ2MTogMDA0NjEtZG93bnN0cmVhbS1vbmx5LWluc3RhbGwtd2hlZWwt aW4tdGVzdC12ZW52cy13aGVuLXNldHVwdG9vbHMtNzEucAogIyBzdHJlc3NlZCBvbiBPcGVuU1NM IDMuNS4KIFBhdGNoNDYyOiAwMDQ2Mi1maXgtcHlzc2xfc2V0ZXJyb3ItaGFuZGxpbmctc3NsX2Vy cm9yX3N5c2NhbGwucGF0Y2gKIAotIyAwMDQ2NCAjIDFjNzEzZTAyYTI2YmY4ODY1YmI2NDIxNzQ5 ZDE5ZDA3NjZjYWMxNzgKLSMgRW5hYmxlIFBBQyBhbmQgQlRJIHByb3RlY3Rpb25zIGZvciBhYXJj aDY0Ci0jCi0jIEFwcGx5IHByb3RlY3Rpb24gYWdhaW5zdCBST1AvSk9QIGF0dGFja3MgZm9yIGFh cmNoNjQgb24gYXNtX3RyYW1wb2xpbmUuUwotIwotIyBUaGUgQlRJIGZsYWcgbXVzdCBiZSBhcHBs aWVkIGluIHRoZSBhc3NlbWJsZXIgc291cmNlcyBmb3IgdGhpcyBjbGFzcwotIyBvZiBhdHRhY2tz IHRvIGJlIG1pdGlnYXRlZCBvbiBuZXdlciBhYXJjaDY0IHByb2Nlc3NvcnMuCi0jCi0jIFVwc3Ry ZWFtIFBSOiBodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vcHVsbC8xMzA4NjQvZmls ZXMKLSMKLSMgVGhlIHVwc3RyZWFtIHBhdGNoIGlzIGluY29tcGxldGUgYnV0IG9ubHkgZm9yIHRo ZSBjYXNlIHdoZXJlCi0jIGZyYW1lIHBvaW50ZXJzIGFyZSBub3QgdXNlZCBvbiAzLjEzKy4KLSMK LSMgU2luY2Ugb24gRmVkb3JhIHdlIGFsd2F5cyBjb21waWxlIHdpdGggZnJhbWUgcG9pbnRlcnMg dGhlIEJUSS9QQUMKLSMgaGFyZHdhcmUgcHJvdGVjdGlvbnMgY2FuIGJlIGVuYWJsZWQgd2l0aG91 dCBsb3NpbmcgUGVyZiB1bndpbmRpbmcuCi1QYXRjaDQ2NDogMDA0NjQtZW5hYmxlLXBhYy1hbmQt YnRpLXByb3RlY3Rpb25zLWZvci1hYXJjaDY0LnBhdGNoCi0KICMgMDA0NzQgIyA4MzdkZGNhMDM3 MmZhODdmZjljZWU0NzE0MjIwMGNhYTIxZTc3ZGVmCiAjIENWRS0yMDI1LTE1MzY2CiAjCkBAIC00 MzMsNjMgKzQxNiwxMSBAQCBQYXRjaDQ3NDogMDA0NzQtY3ZlLTIwMjUtMTUzNjYucGF0Y2gKICMg KGNoZXJyeS1waWNrZWQgZnJvbSBjb21taXQgYjIzNGEyYjY3NTM5Zjc4N2UxOTFkMmVmMTlhN2Ni ZGNlMzI4NzRlNykKIFBhdGNoNDc1OiAwMDQ3NS1jdmUtMjAyNS0xNTM2Ny5wYXRjaAogCi0jIDAw NDc4ICMgZWI5MzM1MmRjOGUzMWY0ZDUyNTQ2Yjg0ZGFhZDg3NWU2ZmY3ZjI5ZQotIyBDVkUtMjAy Ni00NTE5Ci0jCi0jIFJlamVjdCBsZWFkaW5nIGRhc2hlcyBpbiB3ZWJicm93c2VyIFVSTHMgKEdI LTE0NjM2MCkKLVBhdGNoNDc4OiAwMDQ3OC1jdmUtMjAyNi00NTE5LnBhdGNoCi0KLSMgMDA0Nzkg IyA5NzQwNGIyY2Y2MmU1NDVjMmQ0MWJlN2NjZmVkNGU3NGRhOWVlNjY1Ci0jIENWRS0yMDI2LTE1 MDIKLSMKLSMgUmVqZWN0IENSL0xGIGluIEhUVFAgdHVubmVsIHJlcXVlc3QgaGVhZGVycwotUGF0 Y2g0Nzk6IDAwNDc5LWN2ZS0yMDI2LTE1MDIucGF0Y2gKLQotIyAwMDQ4MCAjIDZmNGVlZjNiYTRk OTgxOGE1MzY5OGU5OTQ1NTBlZThkYjE3YTFlMmUKLSMgQ1ZFLTIwMjYtNDc4NgotIwotIyBGaXgg d2ViYnJvd3NlciBgJSVhY3Rpb25gIHN1YnN0aXR1dGlvbiBieXBhc3Mgb2YgZGFzaC1wcmVmaXgg Y2hlY2sKLVBhdGNoNDgwOiAwMDQ4MC1jdmUtMjAyNi00Nzg2LnBhdGNoCi0KLSMgMDA0ODIgIyA2 OWYxNGJjMzA2ZmM2MjQwMGQ0NTU2NWZhYTk4MGI3Nzg1OGI5MTUxCi0jIENWRS0yMDI2LTYxMDAK LSMKLSMgRml4IGEgcG9zc2libGUgVUFGIGluIHtMWk1BLEJaMixfWmxpYn1EZWNvbXByZXNzb3IK LVBhdGNoNDgyOiAwMDQ4Mi1jdmUtMjAyNi02MTAwLnBhdGNoCi0KLSMgMDA0ODMgIyA1NzdjNTk1 MTM3Y2U2ZmY5MjE1OGRkYWYyZDdiN2VhODY0Mzc4MjVkCi0jIENWRS0yMDI2LTIyOTcKKyMgMDA0 OTQgIyA0MzBhYWIxMzMzOTdlZDQ0Y2M5ZWU2MjFmZDMxMWUwMmZlZTMxN2I1CisjIEluY3JlYXNl IHRoZSB0aW1lb3V0IG9mIHRlc3RfbGFyZ2VfY29udGVudF9sZW5ndGhfdHJ1bmNhdGVkCiAjCi0j IExvZ2dpbmcgQnlwYXNzIGluIExlZ2FjeSAucHljIEZpbGUgSGFuZGxpbmcKLVBhdGNoNDgzOiAw MDQ4My1jdmUtMjAyNi0yMjk3LnBhdGNoCi0KLSMgMDA0ODQgIyA4YjUxMzNjMWFiMTdhMDYwY2Qx MzRiZWEyYTRiNmUxODMxYzQ3ZmVkCi0jIENWRS0yMDI2LTM2NDQKLSMKLSMgSW5jb21wbGV0ZSBj b250cm9sIGNoYXJhY3RlciB2YWxpZGF0aW9uIGluIGh0dHAuY29va2llcwotUGF0Y2g0ODQ6IDAw NDg0LWN2ZS0yMDI2LTM2NDQucGF0Y2gKLQotIyAwMDQ4NSAjIDEyYTViMjA2Njc2OTI3YmNlZTEz MWFiNGYyYmQ2NzgzZDJmNTkxNGEKLSMgQ1ZFLTIwMjYtNDIyNAotIwotIyBTdGFjayBvdmVyZmxv dyBwYXJzaW5nIFhNTCB3aXRoIGRlZXBseSBuZXN0ZWQgRFREIGNvbnRlbnQgbW9kZWxzCi1QYXRj aDQ4NTogMDA0ODUtY3ZlLTIwMjYtNDIyNC5wYXRjaAotCi0jIDAwNDkwICMgM2U4YzVhZDcwZDZh NTE1MTA3MzUyZDg3NzkyNjkyNDBhMDU1M2Y1NAotIyBnaC0xNTMwMzA6IEZpeCBxdWFkcmF0aWMg Y29tcGxleGl0eSBpbiBpbmNyZW1lbnRhbCBwYXJzaW5nIGluIEhUTUxQYXJzZXIKLSMKLSMgV2hl biBhbiB1bnRlcm1pbmF0ZWQgY29uc3RydWN0IChlLmcuIGEgdGFnIG9yIGNvbW1lbnQpIHNwYW5u ZWQgbWFueQotIyBmZWVkKCkgY2FsbHMsIHJlc2Nhbm5pbmcgdGhlIGdyb3dpbmcgYnVmZmVyIGFu ZCBjb25jYXRlbmF0aW5nIG5ldyBkYXRhCi0jIG9udG8gaXQgd2VyZSBib3RoIHF1YWRyYXRpYy4g IE5ldyBkYXRhIGlzIG5vdyBhY2N1bXVsYXRlZCBpbiBhIGxpc3QgYW5kCi0jIG9ubHkgam9pbmVk IGFuZCBwYXJzZWQgb25jZSBlbm91Z2ggaGFzIHBpbGVkIHVwLgotUGF0Y2g0OTA6IDAwNDkwLWN2 ZS0yMDI2LTE1MzA4LnBhdGNoCi0KLSMgMDA0OTEgIyAxYWQ5NTE0NGM0MmE2OTMzMjgzMzUyMjQ1 YzVkZjVhNGMxNDJlNzVmCi0jIGdoLTE0OTc3NjogU2tpcCBVRFAgTGl0ZSB0ZXN0cyBpZiBpdCdz IG5vdCBzdXBwb3J0ZWQKLSMKLSMgRml4IHRlc3Rfc29ja2V0IG9uIExpbnV4IGtlcm5lbCA3LjEg YW5kIG5ld2VyOiBza2lwIFVEUCBMaXRlIHRlc3RzIGlmCi0jIGl0J3Mgbm90IHN1cHBvcnRlZC4K LVBhdGNoNDkxOiAwMDQ5MS1naC0xNDk3NzYtc2tpcC11ZHAtbGl0ZS10ZXN0cy1pZi1pdC1zLW5v dC1zdXBwb3J0ZWQucGF0Y2gKKyMgSXQgaGFzIHN0YXJ0ZWQgdG8gZmFpbCByYW5kb21seSB3aGVu IHJ1biBvbiBzMzkweCBhcmNoaXRlY3R1cmUuCitQYXRjaDQ5NDogMDA0OTQtaW5jcmVhc2UtdGhl LXRpbWVvdXQtb2YtdGVzdF9sYXJnZV9jb250ZW50X2xlbmd0aF90cnVuY2F0ZWQucGF0Y2gKIAog IyAoTmV3IHBhdGNoZXMgZ28gaGVyZSBeXl4pCiAjCkBAIC0xODI3LDYgKzE3NTgsOSBAQCBDaGVj a1B5dGhvbiBvcHRpbWl6ZWQKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CiAKICVjaGFuZ2Vsb2cKKyogVGh1IEF1ZyAxMyAyMDI2IEthcm9s aW5hIFN1cm1hIDxrc3VybWFAcmVkaGF0LmNvbT4gLSAzLjEyLjE0LTEKKy0gVXBkYXRlIHRvIFB5 dGhvbiAzLjEyLjE0CisKICogVHVlIEp1bCAyOCAyMDI2IEx1a8OhxaEgWmFjaGFyIDxsemFjaGFy QHJlZGhhdC5jb20+IC0gMy4xMi4xMy02CiAtIFNlY3VyaXR5IGZpeCBmb3IgQ1ZFLTIwMjYtMTUz MDgKIFJlc29sdmVzOiByaGJ6IzI0OTg2ODgKCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNl cwppbmRleCA1YjMzMDk4Li5mMTE2MTg3IDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJj ZXMKQEAgLTEsMiArMSwyIEBACi1TSEE1MTIgKFB5dGhvbi0zLjEyLjEzLnRhci54eikgPSBlMWVi NjZmMGIzNDU4MWYwMTU1ZTNjZTI1YmE3MmNmMGI0YjExMDc2NzJlZDBhZDNlODZiY2ZlNjE2OTQ1 YzkyMDRjNDFmZmM0OTJmMzJiMTA2NmI5MTU0OTEzZmY4ODM0MzAzODk2N2FkODcxMWRkMDVlNmYy MzMyZmRiNzM1YgotU0hBNTEyIChQeXRob24tMy4xMi4xMy50YXIueHouYXNjKSA9IDkwM2ZkM2Jh YTdlMjk4OTFiYjAwZmIxNTllYzljNDM4MDRhNzEwMDJjNGNkMzg5MDJkMjViZjRlNTE2N2Y4NTZi MzdkMjExYTViMTA5OGVlNjBlMWVhNDFmOGExMGExNTk2ZGQyMzgyZWRjNmQ3MzY3ZDU1ZGQ0MTU0 ODA3ZmM3CitTSEE1MTIgKFB5dGhvbi0zLjEyLjE0LnRhci54eikgPSA5MDA3Mzk5ZmZkZDNhNDkz YzkxYTk4Y2Q3YTZjYjkzYWNmYjhkZTgwZjNiZTJmNTQ4MGNkYTM2ZjEzNGQ0OWI1MDQzYTYwYmM2 YjVjNjJlZDE4Y2M2YTJlNGUzYzgxY2I3NTU2YWM1ZjMzN2UyY2Q1OGZmMzQ0OWE4MDk5ZWQyMgor U0hBNTEyIChQeXRob24tMy4xMi4xNC50YXIueHouYXNjKSA9IDY5Y2M0NzU3ZjVkNzllYTQ2Zjli NjMyZDViMzRmOWYxNjg1NWNiMWY3NjdmNzdjODI3YWQ2NTU0NmJhOGY3N2I2OGU3NWE2NjFlYmM0 ZTRmNDUzZWRkN2E5OGE3M2Q5MTY0OTE1OTdmNjdkNGZlZDljODkxYWE1OTlhODY5MzI0Cg==