ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2F1dG9jbWQudHh0IGIvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKaW5kZXggNWE5YzM2MC4uZjJiMjA1MSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKKysrIGIvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKQEAgLTE1NSw2ICsxNTUsMTcgQEAKIEluIG9yZGVyIHRvIGxpc3QgYnVmZmVyLWxvY2FsIGF1dG9jb21tYW5kcywgdXNlIGEgcGF0dGVybiBpbiB0aGUgZm9ybSA8YnVmZmVyPgogb3IgPGJ1ZmZlcj1OPi4gIFNlZSB8YXV0b2NtZC1idWZsb2NhbHwuCiAKKwkJCQkJCQkqOmF1dG9jbWQtdmVyYm9zZSoKK1doZW4gJ3ZlcmJvc2UnIGlzIG5vbi16ZXJvLCBsaXN0aW5nIGFuIGF1dG9jb21tYW5kIHdpbGwgYWxzbyBkaXNwbGF5IHdoZXJlIGl0Cit3YXMgbGFzdCBkZWZpbmVkLiBFeGFtcGxlOiA+CisKKyAgICA6dmVyYm9zZSBhdXRvY21kIEJ1ZkVudGVyCisgICAgRmlsZUV4cGxvcmVyICBCdWZFbnRlcgorCSogICAgICAgICBjYWxsIHM6TG9jYWxCcm93c2UoZXhwYW5kKCI8YW1hdGNoPiIpKQorCSAgICBMYXN0IHNldCBmcm9tIC91c3Ivc2hhcmUvdmltL3ZpbS03LjAvcGx1Z2luL05ldHJ3UGx1Z2luLnZpbQorPAorU2VlIHw6dmVyYm9zZS1jbWR8IGZvciBtb3JlIGluZm9ybWF0aW9uLgorCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDUuIEV2ZW50cwkJCQkJKmF1dG9jbWQtZXZlbnRzKiAqRTIxNSogKkUyMTYqCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0IGIvcnVudGltZS9kb2Mvb3B0aW9ucy50eHQKaW5kZXggNmEzZTY5Ny4uZWI1YTM0YSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvb3B0aW9ucy50eHQKKysrIGIvcnVudGltZS9kb2Mvb3B0aW9ucy50eHQKQEAgLTEsNCArMSw0IEBACi0qb3B0aW9ucy50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA1IEF1ZyAyMworKm9wdGlvbnMudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBBdWcgMjcKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTEwMCw3ICsxMTAwLDggQEAKIAkJCXtub3QgYXZhaWxhYmxlIHdoZW4gY29tcGlsZWQgd2l0aG91dCB0aGUgIHwrbGluZWJyZWFrfAogCQkJZmVhdHVyZX0KIAlUaGlzIG9wdGlvbiBsZXRzIHlvdSBjaG9vc2Ugd2hpY2ggY2hhcmFjdGVycyBtaWdodCBjYXVzZSBhIGxpbmUKLQlicmVhayBpZiAnbGluZWJyZWFrJyBpcyBvbi4KKwlicmVhayBpZiAnbGluZWJyZWFrJyBpcyBvbi4gIE9ubHkgd29ya3MgZm9yIEFTQ0lJIGFuZCBhbHNvIGZvciA4LWJpdAorCWNoYXJhY3RlcnMgd2hlbiAnZW5jb2RpbmcnIGlzIGFuIDgtYml0IGVuY29kaW5nLgogCiAJCQkJCQkqJ2Jyb3dzZWRpcicqIConYnNkaXInKgogJ2Jyb3dzZWRpcicgJ2JzZGlyJwlzdHJpbmcJKGRlZmF1bHQ6ICJsYXN0IikKQEAgLTcyODIsNyArNzI4Myw4IEBACiAJCQkJICAgKid3cmFwc2NhbicqICond3MnKiAqJ25vd3JhcHNjYW4nKiAqJ25vd3MnKgogJ3dyYXBzY2FuJyAnd3MnCQlib29sZWFuCShkZWZhdWx0IG9uKQkJCSpFMzg0KiAqRTM4NSoKIAkJCWdsb2JhbAotCVNlYXJjaGVzIHdyYXAgYXJvdW5kIHRoZSBlbmQgb2YgdGhlIGZpbGUuCisJU2VhcmNoZXMgd3JhcCBhcm91bmQgdGhlIGVuZCBvZiB0aGUgZmlsZS4gIEFsc28gYXBwbGllcyB0byB8XXN8IGFuZAorCXxbc3wsIHNlYXJjaGluZyBmb3Igc3BlbGxpbmcgbWlzdGFrZXMuCiAKIAkJCQkJCSAgICond3JpdGUnKiAqJ25vd3JpdGUnKgogJ3dyaXRlJwkJCWJvb2xlYW4JKGRlZmF1bHQgb24pCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9xdWlja3JlZi50eHQgYi9ydW50aW1lL2RvYy9xdWlja3JlZi50eHQKaW5kZXggMGI1ODYxNC4uZDJlMDdlNSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcXVpY2tyZWYudHh0CisrKyBiL3J1bnRpbWUvZG9jL3F1aWNrcmVmLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpxdWlja3JlZi50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBKdWwgMjcKKypxdWlja3JlZi50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBBdWcgMjkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTc1Niw2ICs3NTYsNyBAQAogfCdtYXhtZW1wYXR0ZXJuJ3wgfCdtbXAnfCAgICBtYXhpbXVtIG1lbW9yeSAoaW4gS2J5dGUpIHVzZWQgZm9yIHBhdHRlcm4gc2VhcmNoCiB8J21heG1lbXRvdCd8CSAgfCdtbXQnfCAgICBtYXhpbXVtIG1lbW9yeSAoaW4gS2J5dGUpIHVzZWQgZm9yIGFsbCBidWZmZXJzCiB8J21lbnVpdGVtcyd8CSAgfCdtaXMnfCAgICBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyBpbiBhIG1lbnUKK3wnbWtzcGVsbG1lbSd8ICAgIHwnbXNtJ3wgICAgbWVtb3J5IHVzZWQgYmVmb3JlIHw6bWtzcGVsbHwgY29tcHJlc3NlcyB0aGUgdHJlZQogfCdtb2RlbGluZSd8CSAgfCdtbCd8ICAgICByZWNvZ25pemUgbW9kZWxpbmVzIGF0IHN0YXJ0IG9yIGVuZCBvZiBmaWxlCiB8J21vZGVsaW5lcyd8CSAgfCdtbHMnfCAgICBudW1iZXIgb2YgbGluZXMgY2hlY2tlZCBmb3IgbW9kZWxpbmVzCiB8J21vZGlmaWFibGUnfAkgIHwnbWEnfCAgICAgY2hhbmdlcyB0byB0aGUgdGV4dCBhcmUgbm90IHBvc3NpYmxlCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9zcGVsbC50eHQgYi9ydW50aW1lL2RvYy9zcGVsbC50eHQKaW5kZXggYTkwNzYzZC4uYjllNTExNCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvc3BlbGwudHh0CisrKyBiL3J1bnRpbWUvZG9jL3NwZWxsLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpzcGVsbC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA1IEF1ZyAyNQorKnNwZWxsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgQXVnIDI5CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTQzLDYgKzQzLDcgQEAKIAkJCQkJCQkqXXMqICpFNzU2KgogXXMJCQlNb3ZlIHRvIG5leHQgbWlzc3BlbGxlZCB3b3JkIGFmdGVyIHRoZSBjdXJzb3IuCiAJCQlBIGNvdW50IGJlZm9yZSB0aGUgY29tbWFuZCBjYW4gYmUgdXNlZCB0byByZXBlYXQuCisJCQknd3JhcHNjYW4nIGFwcGxpZXMuCiAKIAkJCQkJCQkqW3MqCiBbcwkJCUxpa2UgIl1zIiBidXQgc2VhcmNoIGJhY2t3YXJkcywgZmluZCB0aGUgbWlzc3BlbGxlZApAQCAtNTE0LDcgKzUxNSw3IEBACiAKIAkJCQkJCQkqOnNwZWxsZHVtcCogKjpzcGVsbGQqCiA6c3BlbGxkW3VtcF0JCU9wZW4gYSBuZXcgd2luZG93IGFuZCBmaWxsIGl0IHdpdGggYWxsIGN1cnJlbnRseSB2YWxpZAotCQkJd29yZHMuCisJCQl3b3Jkcy4gIENvbXBvdW5kIHdvcmRzIGFyZSBub3QgaW5jbHVkZWQuCiAJCQlOb3RlOiBGb3Igc29tZSBsYW5ndWFnZXMgdGhlIHJlc3VsdCBtYXkgYmUgZW5vcm1vdXMsCiAJCQljYXVzaW5nIFZpbSB0byBydW4gb3V0IG9mIG1lbW9yeS4KIApAQCAtOTE1LDYgKzkxNiwxMiBAQAogCiAJTkVFREFGRklYICsgfgogCisJCQkJCQkJKnNwZWxsLU5FRURDT01QT1VORCoKK1RoZSBORUVEQ09NUE9VTkQgZmxhZyBpcyB1c2VkIHRvIHJlcXVpcmUgdGhhdCBhIHdvcmQgaXMgdXNlZCBhcyBwYXJ0IG9mIGEKK2NvbXBvdW5kIHdvcmQgVGhlIHdvcmQgaXRzZWxmIGlzIG5vdCBhIGdvb2Qgd29yZC4gIEV4YW1wbGU6CisKKwlORUVEQ09NUE9VTkQgJiB+CisKIAogQ09NUE9VTkQgV09SRFMJCQkJCQkqc3BlbGwtY29tcG91bmQqCiAKQEAgLTk4OCwxMyArOTk1LDEzIEBACiBUaGlzIGFsbG93cyBmb3IgdGhlIHdvcmQgInN0YXJ0LWVuZCIsIGJ1dCBub3QgInN0YXJ0ZW5kIi4KIAogCQkJCQkJCSpzcGVsbC1DT01QT1VORE1JTioKLVRoZSBtaW5pbWFsIGJ5dGUgbGVuZ3RoIG9mIGEgd29yZCB1c2VkIGZvciBjb25jYXRlbmF0aW9uIGlzIHNwZWNpZmllZCB3aXRoCitUaGUgbWluaW1hbCBjaGFyYWN0ZXIgbGVuZ3RoIG9mIGEgd29yZCB1c2VkIGZvciBjb21wb3VuZGluZyBpcyBzcGVjaWZpZWQgd2l0aAogQ09NUE9VTkRNSU4uICBFeGFtcGxlOgogCUNPTVBPVU5ETUlOIDUgfgogCi1XaGVuIG9taXR0ZWQgYSBtaW5pbWFsIGxlbmd0aCBvZiAzIGJ5dGVzIGlzIHVzZWQuICBPYnZpb3VzbHkgeW91IGNvdWxkIGp1c3QKLWxlYXZlIG91dCB0aGUgY29tcG91bmQgZmxhZyBmcm9tIHNob3J0IHdvcmRzIGluc3RlYWQsIHRoaXMgZmVhdHVyZSBpcyBwcmVzZW50Ci1mb3IgY29tcGF0aWJpbGl0eSB3aXRoIE15c3BlbGwuCitXaGVuIG9taXR0ZWQgdGhlcmUgaXMgbm8gbWluaW1hbCBsZW5ndGguICBPYnZpb3VzbHkgeW91IGNvdWxkIGp1c3QgbGVhdmUgb3V0Cit0aGUgY29tcG91bmQgZmxhZyBmcm9tIHNob3J0IHdvcmRzIGluc3RlYWQsIHRoaXMgZmVhdHVyZSBpcyBwcmVzZW50IGZvcgorY29tcGF0aWJpbGl0eSB3aXRoIE15c3BlbGwuCiAKIAkJCQkJCQkqc3BlbGwtQ09NUE9VTkRNQVgqCiBUaGUgbWF4aW11bSBudW1iZXIgb2Ygd29yZHMgdGhhdCBjYW4gYmUgY29uY2F0ZW5hdGVkIGludG8gYSBjb21wb3VuZCB3b3JkIGlzCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90YWdzIGIvcnVudGltZS9kb2MvdGFncwppbmRleCA3NGQxNzdkLi5hZmE2YjdiIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90YWdzCisrKyBiL3J1bnRpbWUvZG9jL3RhZ3MKQEAgLTQyMjYsNiArNDIyNiw3IEBACiBhdXRvY21kLXJlbW92ZQlhdXRvY21kLnR4dAkvKmF1dG9jbWQtcmVtb3ZlKgogYXV0b2NtZC1zZWFyY2hwYXQJYXV0b2NtZC50eHQJLyphdXRvY21kLXNlYXJjaHBhdCoKIGF1dG9jbWQtdXNlCWF1dG9jbWQudHh0CS8qYXV0b2NtZC11c2UqCithdXRvY21kLXZlcmJvc2UJYXV0b2NtZC50eHQJLyphdXRvY21kLXZlcmJvc2UqCiBhdXRvY21kLnR4dAlhdXRvY21kLnR4dAkvKmF1dG9jbWQudHh0KgogYXV0b2NtZHMta2VwdAl2ZXJzaW9uNS50eHQJLyphdXRvY21kcy1rZXB0KgogYXV0b2NvbW1hbmQJYXV0b2NtZC50eHQJLyphdXRvY29tbWFuZCoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Rlcm0udHh0IGIvcnVudGltZS9kb2MvdGVybS50eHQKaW5kZXggZGFhZDE4Ny4uNzI4OGQxMSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdGVybS50eHQKKysrIGIvcnVudGltZS9kb2MvdGVybS50eHQKQEAgLTEsNCArMSw0IEBACi0qdGVybS50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgSnVuIDA2CisqdGVybS50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgQXVnIDI3CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0yOTEsNiArMjkxLDcgQEAKIAl0X1dTCXNldCB3aW5kb3cgc2l6ZSAoaGVpZ2h0LCB3aWR0aCkgaW4gY2hhcmFjdGVycwkqdF9XUyogKid0X1dTJyoKIAl0X1NJICAgIHN0YXJ0IGluc2VydCBtb2RlIChiYXIgY3Vyc29yIHNoYXBlKSAgICAgICAgICAgICp0X1NJKiAqJ3RfU0knKgogCXRfRUkgICAgZW5kIGluc2VydCBtb2RlIChibG9jayBjdXJzb3Igc2hhcGUpICAgICAgICAgICAgKnRfRUkqICondF9FSScqCisJCXx0ZXJtY2FwLWN1cnNvci1zaGFwZXwKIAl0X1JWCXJlcXVlc3QgdGVybWluYWwgdmVyc2lvbiBzdHJpbmcgKGZvciB4dGVybSkJKnRfUlYqICondF9SVicqCiAJCXx4dGVybS04Yml0fCB8djp0ZXJtcmVzcG9uc2V8IHwndHR5bW91c2UnfCB8eHRlcm0tY29kZXN8CiAKQEAgLTQyNyw2ICs0MjgsNyBAQAogICAgIGVuZGlmCiBOT1RFOiBXaGVuIFZpbSBleGl0cyB0aGUgc2hhcGUgZm9yIE5vcm1hbCBtb2RlIHdpbGwgcmVtYWluLiAgVGhlIHNoYXBlIGZyb20KIGJlZm9yZSBWaW0gc3RhcnRlZCB3aWxsIG5vdCBiZSByZXN0b3JlZC4KK3tub3QgYXZhaWxhYmxlIHdoZW4gY29tcGlsZWQgd2l0aG91dCB0aGUgK2N1cnNvcnNoYXBlIGZlYXR1cmV9CiAKIAkJCQkJCQkqdGVybWNhcC10aXRsZSoKIFRoZSAndF90cycgYW5kICd0X2ZzJyBvcHRpb25zIGFyZSB1c2VkIHRvIHNldCB0aGUgd2luZG93IHRpdGxlIGlmIHRoZSB0ZXJtaW5hbApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdG9kby50eHQgYi9ydW50aW1lL2RvYy90b2RvLnR4dAppbmRleCA4MWM5M2Y5Li5mMDE5ZWYwIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90b2RvLnR4dAorKysgYi9ydW50aW1lL2RvYy90b2RvLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBBdWcgMjUKKyp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBBdWcgMjkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMzEsMjEgKzMxLDE0IEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBLbm93biBidWdzIGFuZCBjdXJyZW50IHdvcmsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogU3BlbGxpbmc6Ci0tIFVzZSAnd3JhcHNjYW4nIGZvciAiW3MiIGFuZCAiXXMiPwotCi0tIElzIHRoZXJlIGEgd2F5IHRvIGF2b2lkIGNvbXBvdW5kIElEcyB0YWtpbmcgdHdvIHV0Zi04IGJ5dGVzPwotCi0tIE1ha2UgQ09NUE9VTkRNSU4gMyBjaGFyYWN0ZXJzIGluc3RlYWQgb2YgMyBieXRlcy4KLQogLSBDaGVjayBzdXBwb3J0IG9mIGZsYWdzIG9mIHR3byBjaGFyYWN0ZXJzLCBudW1iZXJzIChjb21tYSBzZXBhcmF0ZWQpIGFuZCBIVUguCiAgIFdoZW4gdXNpbmcgbWFueSBjb21wb3VuZCBmbGFncywgZG9lcyByZWdleHAgc3RpbGwgd29yaz8KIAorLSAiemciIGRvZXNuJ3Qgd29yayBmb3IgVGhhaT8KKwogLSBDb21wb3VuZCB3b3JkIGlzIGFjY2VwdGVkIGlmIG5yIG9mIHdvcmRzIGlzIDw9IENPTVBPVU5ETUFYIE9SIG5yIG9mCiAgIHN5bGxhYmxlcyA8PSBDT01QT1VORFNZTE1BWC4gIFNwZWNpZnkgQU5EIGluIHRoZSBhZmZpeCBmaWxlPwogCi0tIE9OTFlJTkNPTVBPVU5EIC0+IE5FRURDT01QT1VORCAoYWxzbyB1c2VkIGZvciBhZmZpeD8gb3IgdXNlICJuZWVkY29tcCIKLSAgYWZ0ZXIgYWZmaXgpCi0KIC0gQ09NUE9VTkRNQVggLT4gQ09NUE9VTkRXT1JETUFYPwogCiAtIFN1cHBvcnQgZmxhZ3Mgb24gYSBzdWZmaXguICBVc2VkIGZvciBzZWNvbmQgbGV2ZWwgYWZmaXhlcy4KQEAgLTU0LDYgKzQ3LDggQEAKICAgZmxhZ3Mgb2YgdGhlIHdvcmQgYXJlIG5vdCB1c2VkLgogICBJbnN0ZWFkIG9mICJTRlggYSAwIGFkZC9GTEFHUyAuIiB3ZSBjb3VsZCB1c2UgIlNGWCBhIDAgYWRkIC4gL0ZMQUdTIi4KIAorLSBORUVEQ09NUE9VTkQgYWxzbyB1c2VkIGZvciBhZmZpeD8gIE9yIHVzZSAibmVlZGNvbXAiIGFmdGVyIGFmZml4PworCiAtIERvIHdlIG5lZWQgYSBmbGFnIGZvciB0aGUgcnVsZSB0aGF0IHdoZW4gY29tcG91bmRpbmcgaXMgZG9uZSB0aGUgZm9sbG93aW5nCiAgIHdvcmQgZG9lc24ndCBoYXZlIGEgY2FwaXRhbCBhZnRlciBhIHdvcmQgY2hhcmFjdGVyLCBldmVuIGZvciBPbmVjYXAgd29yZHM/CiAKQEAgLTE0ODIsNiArMTQ3NywxMCBAQAogNyAgIEluICItLSBJTlNFUlQgKGxhbmcpIC0tIiBzaG93IHRoZSBuYW1lIG9mIHRoZSBrZXltYXAgdXNlZCBpbnN0ZWFkIG9mCiAgICAgImxhbmciLiAoSWx5YSBEb2dvbGF6a3kpCiAtICAgTWFrZSAnbGFuZ21hcCcgYWNjZXB0IG11bHRpLWJ5dGUgY2hhcmFjdGVycy4KKy0gICBNYWtlICdicmVha2F0JyBhY2NlcHQgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzLiAgUHJvYmxlbTogY2FuJ3QgdXNlIGEgbG9va3VwCisgICAgdGFibGUgYW55bW9yZSAoYnJlYWthdF9mbGFnc1tdKS4KKyAgICBTaW1wbGlzdGljIHNvbHV0aW9uOiB3aGVuICdmb3JtYXRvcHRpb25zJyBjb250YWlucyAibSIgYWxzbyBicmVhayBhIGxpbmUKKyAgICBhdCBhIG11bHRpLWJ5dGUgY2hhcmFjdGVyID49IDB4MTAwLgogLSAgIERvIHdlIG5lZWQgdGhlIHJldmVyc2Ugb2YgJ2tleW1hcCcsIGxpa2UgJ2xhbmdtYXAnIGJ1dCB3aXRoIGZpbGVzIGFuZAogICAgIG11bHRpLWJ5dGUgY2hhcmFjdGVycz8gIEUuZy4sIHdoZW4gdXNpbmcgYSBSdXNzaWFuIGtleWJvYXJkLgogLSAgIEFkZCB0aGUgcG9zc2liaWxpdHkgdG8gZW50ZXIgbWFwcGluZ3Mgd2hpY2ggYXJlIHVzZWQgd2hlbmV2ZXIgbm9ybWFsIHRleHQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZhcmlvdXMudHh0IGIvcnVudGltZS9kb2MvdmFyaW91cy50eHQKaW5kZXggZDBlZTU4ZC4uNGRlMzI4OCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmFyaW91cy50eHQKKysrIGIvcnVudGltZS9kb2MvdmFyaW91cy50eHQKQEAgLTEsNCArMSw0IEBACi0qdmFyaW91cy50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgSnVuIDIyCisqdmFyaW91cy50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgQXVnIDI3CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0yNjgsNiArMjY4LDggQEAKIE4gICorY29tbWVudHMqCQl8J2NvbW1lbnRzJ3wgc3VwcG9ydAogTiAgKitjcnlwdHYqCQllbmNyeXB0aW9uIHN1cHBvcnQgfGVuY3J5cHRpb258CiBCICAqK2NzY29wZSoJCXxjc2NvcGV8IHN1cHBvcnQKK20gICorY3Vyc29yc2hhcGUqCXx0ZXJtY2FwLWN1cnNvci1zaGFwZXwgc3VwcG9ydAorbSAgKitkZWJ1ZyoJCUNvbXBpbGVkIGZvciBkZWJ1Z2dpbmcuCiBOICAqK2RpYWxvZ19ndWkqCVN1cHBvcnQgZm9yIHw6Y29uZmlybXwgd2l0aCBHVUkgZGlhbG9nLgogTiAgKitkaWFsb2dfY29uKglTdXBwb3J0IGZvciB8OmNvbmZpcm18IHdpdGggY29uc29sZSBkaWFsb2cuCiBOICAqK2RpYWxvZ19jb25fZ3VpKglTdXBwb3J0IGZvciB8OmNvbmZpcm18IHdpdGggR1VJIGFuZCBjb25zb2xlIGRpYWxvZy4KQEAgLTQ4NywxMCArNDg5LDExIEBACiAKIAkJCQkJCQkqOnZlcmJvc2UtY21kKgogV2hlbiAndmVyYm9zZScgaXMgbm9uLXplcm8sIGxpc3RpbmcgdGhlIHZhbHVlIG9mIGEgVmltIG9wdGlvbiBvciBhIGtleSBtYXAgb3IKLWEgdXNlci1kZWZpbmVkIGZ1bmN0aW9uIG9yIGEgY29tbWFuZCBvciBhIGhpZ2hsaWdodCBncm91cCB3aWxsIGFsc28gZGlzcGxheQotd2hlcmUgaXQgd2FzIGxhc3QgZGVmaW5lZC4gIElmIGl0IHdhcyBkZWZpbmVkIG1hbnVhbGx5IHRoZW4gdGhlcmUgd2lsbCBiZSBubwotIkxhc3Qgc2V0IiBtZXNzYWdlLiAgV2hlbiBpdCB3YXMgZGVmaW5lZCB3aGlsZSBleGVjdXRpbmcgYSBmdW5jdGlvbiwgdXNlcgotY29tbWFuZCBvciBhdXRvY29tbWFuZCwgdGhlIHNjcmlwdCBpbiB3aGljaCBpdCB3YXMgZGVmaW5lZCBpcyByZXBvcnRlZC4KK2EgdXNlci1kZWZpbmVkIGZ1bmN0aW9uIG9yIGEgY29tbWFuZCBvciBhIGhpZ2hsaWdodCBncm91cCBvciBhbiBhdXRvY29tbWFuZAord2lsbCBhbHNvIGRpc3BsYXkgd2hlcmUgaXQgd2FzIGxhc3QgZGVmaW5lZC4gIElmIGl0IHdhcyBkZWZpbmVkIG1hbnVhbGx5IHRoZW4KK3RoZXJlIHdpbGwgYmUgbm8gIkxhc3Qgc2V0IiBtZXNzYWdlLiAgV2hlbiBpdCB3YXMgZGVmaW5lZCB3aGlsZSBleGVjdXRpbmcgYQorZnVuY3Rpb24sIHVzZXIgY29tbWFuZCBvciBhdXRvY29tbWFuZCwgdGhlIHNjcmlwdCBpbiB3aGljaCBpdCB3YXMgZGVmaW5lZCBpcworcmVwb3J0ZWQuCiB7bm90IGF2YWlsYWJsZSB3aGVuIGNvbXBpbGVkIHdpdGhvdXQgdGhlICtldmFsIGZlYXR1cmV9CiAKIAkJCQkJCQkqSyoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZlcnNpb243LnR4dCBiL3J1bnRpbWUvZG9jL3ZlcnNpb243LnR4dAppbmRleCBmMTE1OWU2Li5hZWI3OWUzIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQKKysrIGIvcnVudGltZS9kb2MvdmVyc2lvbjcudHh0CkBAIC0xLDQgKzEsNCBAQAotKnZlcnNpb243LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA1IEF1ZyAyNAorKnZlcnNpb243LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA1IEF1ZyAyOAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMzI3LDcgKzMyNyw3IEBACiBOb3JtYWwgbW9kZSBjb21tYW5kczogfgogCiBhIiwgYScgYW5kIGFgCQlOZXcgdGV4dCBvYmplY3RzIHRvIHNlbGVjdCBxdW90ZWQgc3RyaW5ncy4gfGEnfAotaSIsIGknIGFuZCBpJwkJKFRhcm8gTXVyYW9rYSkKK2kiLCBpJyBhbmQgaWAJCShUYXJvIE11cmFva2EpCiAKIENUUkwtVyA8RW50ZXI+CQlJbiB0aGUgcXVpY2tmaXggd2luZG93OiBvcGVucyBhIG5ldyB3aW5kb3cgdG8gc2hvdyB0aGUKIAkJCWxvY2F0aW9uIG9mIHRoZSBlcnJvciB1bmRlciB0aGUgY3Vyc29yLgpAQCAtNTY1LDggKzU2NSw4IEBACiAKIFdoZW4gJ3ZlcmJvc2UnIGlzIHNldCB0aGUgb3V0cHV0IG9mICI6aGlnaGxpZ2h0IiB3aWxsIHNob3cgd2hlcmUgYSBoaWdobGlnaHQKIGl0ZW0gd2FzIGxhc3Qgc2V0LgotV2hlbiAndmVyYm9zZScgaXMgc2V0IHRoZSBvdXRwdXQgb2YgIjptYXAiLCAiOmNvbW1hbmQiIGFuZCAiOmZ1bmN0aW9uIgotY29tbWFuZHMgd2lsbCBzaG93IHdoZXJlIGl0IHdhcyBsYXN0IGRlZmluZWQuIChZZWdhcHBhbiBMYWtzaG1hbmFuKQorV2hlbiAndmVyYm9zZScgaXMgc2V0IHRoZSBvdXRwdXQgb2YgdGhlICI6bWFwIiwgIjpjb21tYW5kIiwgIjpmdW5jdGlvbiIgYW5kCisiOmF1dG9jbWQiIGNvbW1hbmRzIHdpbGwgc2hvdyB3aGVyZSBpdCB3YXMgbGFzdCBkZWZpbmVkLiAoWWVnYXBwYW4gTGFrc2htYW5hbikKIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBJTVBST1ZFTUVOVFMJCQkJCQkqaW1wcm92ZW1lbnRzLTcqCkBAIC03NzQsNiArNzc0LDExIEBACiBXaGVuIG5vIGxvY2FsZSBpcyBzZXQsIHRodXMgdXNpbmcgdGhlICJDIiBsb2NhbGUsIFZpbSB3aWxsIHdvcmsgd2l0aCBsYXRpbjEKIGNoYXJhY3RlcnMsIHVzaW5nIGl0J3Mgb3duIGlzdXBwZXIoKS90b3VwcGVyKCkvZXRjLiBmdW5jdGlvbnMuCiAKK1doZW4gdXNpbmcgYW4gcnh2dCB0ZXJtaW5hbCBlbXVsYXRvciBndWVzcyB0aGUgdmFsdWUgb2YgJ2JhY2tncm91bmQnIHVzaW5nIHRoZQorQ09MT1JGR0JHIGVudmlyb25tZW50IHZhcmlhYmxlLiAoQ2lhcmFuIE1jQ3JlZXNoKQorCitBbHNvIHN1cHBvcnQgdF9TSSBhbmQgdF9FSSBvbiBVbml4IHdpdGggbm9ybWFsIGZlYXR1cmVzLiAoQ2lhcmFuIE1jQ3JlZXNoKQorCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIENPTVBJTEUgVElNRSBDSEFOR0VTCQkJCQkqY29tcGlsZS1jaGFuZ2VzLTcqCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZmlsZXR5cGUudmltIGIvcnVudGltZS9maWxldHlwZS52aW0KaW5kZXggNTVjZDAyZC4uMzNmMzEyYSAxMDA2NDQKLS0tIGEvcnVudGltZS9maWxldHlwZS52aW0KKysrIGIvcnVudGltZS9maWxldHlwZS52aW0KQEAgLTEsNyArMSw3IEBACiAiIFZpbSBzdXBwb3J0IGZpbGUgdG8gZGV0ZWN0IGZpbGUgdHlwZXMKICIKICIgTWFpbnRhaW5lcjoJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KLSIgTGFzdCBDaGFuZ2U6CTIwMDUgQXVnIDI0CisiIExhc3QgQ2hhbmdlOgkyMDA1IEF1ZyAyOQogCiAiIExpc3RlbiB2ZXJ5IGNhcmVmdWxseSwgSSB3aWxsIHNheSB0aGlzIG9ubHkgb25jZQogaWYgZXhpc3RzKCJkaWRfbG9hZF9maWxldHlwZXMiKQpAQCAtMTIwMCw3ICsxMjAwLDcgQEAKICAgIiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBmb3IgYW4gYXNzZW1ibHkgY29tbWVudCB0aGUgZmlyc3QgdGVuIGxpbmVzLgogICAiIElmIG5vdCBmb3VuZCwgYXNzdW1lIFByb2dyZXNzLgogICBsZXQgbG51bSA9IDEKLSAgd2hpbGUgbG51bSA8PSAxMAorICB3aGlsZSBsbnVtIDw9IDEwICYmIGxudW0gPCBsaW5lKCckJykKICAgICBsZXQgbGluZSA9IGdldGxpbmUobG51bSkKICAgICBpZiBsaW5lID1+ICdeXHMqOycgfHwgbGluZSA9fiAnXlwqJwogICAgICAgY2FsbCBzOkZUYXNtKCkKQEAgLTEyMjcsOSArMTIyNyw5IEBACiAgICIgTG9vayBmb3IgZWl0aGVyIGFuIG9wZW5pbmcgY29tbWVudCBvciBhIHByb2dyYW0gc3RhcnQuCiAgICIgSWYgbm90IGZvdW5kLCBhc3N1bWUgUHJvZ3Jlc3MuCiAgIGxldCBsbnVtID0gMQotICB3aGlsZSBsbnVtIDw9IDEwCisgIHdoaWxlIGxudW0gPD0gMTAgJiYgbG51bSA8IGxpbmUoJyQnKQogICAgIGxldCBsaW5lID0gZ2V0bGluZShsbnVtKQotICAgIGlmIGxpbmUgPX4gJ15ccypcKHByb2dyYW1cfHByb2NlZHVyZVx8ZnVuY3Rpb25cfGNvbnN0XHx0eXBlXHx2YXJcKVw+JworICAgIGlmIGxpbmUgPX4gJ15ccypcKHByb2dyYW1cfHVuaXRcfHByb2NlZHVyZVx8ZnVuY3Rpb25cfGNvbnN0XHx0eXBlXHx2YXJcKVw+JwogCVwgfHwgbGluZSA9fiAnXlxzKnsnIHx8IGxpbmUgPX4gJ15ccyooXConCiAgICAgICBzZXRmIHBhc2NhbAogICAgICAgcmV0dXJuCmRpZmYgLS1naXQgYS9ydW50aW1lL29wdHdpbi52aW0gYi9ydW50aW1lL29wdHdpbi52aW0KaW5kZXggMjQ0NmI5Yi4uMjNjMDM3OSAxMDA2NDQKLS0tIGEvcnVudGltZS9vcHR3aW4udmltCisrKyBiL3J1bnRpbWUvb3B0d2luLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVGhlc2UgY29tbWFuZHMgY3JlYXRlIHRoZSBvcHRpb24gd2luZG93LgogIgogIiBNYWludGFpbmVyOglCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgotIiBMYXN0IENoYW5nZToJMjAwNSBKdWwgMTEKKyIgTGFzdCBDaGFuZ2U6CTIwMDUgQXVnIDI5CiAKICIgSWYgdGhlcmUgYWxyZWFkeSBpcyBhbiBvcHRpb24gd2luZG93LCBqdW1wIHRvIHRoYXQgb25lLgogaWYgYnVmd2lubnIoIm9wdGlvbi13aW5kb3ciKSA+IDAKQEAgLTQwMyw2ICs0MDMsOCBAQAogICBjYWxsIDxTSUQ+T3B0aW9uTCgic3BjIikKICAgY2FsbCBhcHBlbmQoIiQiLCAic3BlbGxzdWdnZXN0XHRtZXRob2RzIHVzZWQgdG8gc3VnZ2VzdCBjb3JyZWN0aW9ucyIpCiAgIGNhbGwgPFNJRD5PcHRpb25HKCJzcHMiLCAmc3BzKQorICBjYWxsIGFwcGVuZCgiJCIsICJta3NwZWxsbWVtXHRhbW91bnQgb2YgbWVtb3J5IHVzZWQgYnkgOm1rc3BlbGwgYmVmb3JlIGNvbXByZXNzaW5nIikKKyAgY2FsbCA8U0lEPk9wdGlvbkcoIm1zbSIsICZtc20pCiBlbmRpZgogCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvYmcvbWFpbi5hYXAgYi9ydW50aW1lL3NwZWxsL2JnL21haW4uYWFwCmluZGV4IDVkOTg0YmUuLjJjY2VhODYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3BlbGwvYmcvbWFpbi5hYXAKKysrIGIvcnVudGltZS9zcGVsbC9iZy9tYWluLmFhcApAQCAtMTksNyArMTksNiBAQAogCiAuLi9SRUFETUVfYmcudHh0OiBSRUFETUVfYmdfQkcudHh0CiAgICAgICAgIDpjb3B5ICRzb3VyY2UgJHRhcmdldAotICAgICAgICA6c3lzICRWSU0gJHRhcmdldCAtZSAtYyAic2V0IGZmPXVuaXgiIC1jIHdxCiAKICMKICMgRmV0Y2hpbmcgdGhlIGZpbGVzIGZyb20gT3Blbk9mZmljZS5vcmcuCkBAIC0zNSw4ICszNCw5IEBACiAgICAgICAgIDpmZXRjaCBiZ19CRy56aXAKICAgICAgICAgOnN5cyAkVU5aSVAgYmdfQkcuemlwCiAgICAgICAgIDpkZWxldGUgYmdfQkcuemlwCi0gICAgICAgIDpzeXMgJFZJTSBiZ19CRy5hZmYgLWMgInNldCBmZj11bml4IiAtYyAidXBkYXRlIiAtYyBxCi0gICAgICAgIDpzeXMgJFZJTSBiZ19CRy5kaWMgLWMgInNldCBmZj11bml4IiAtYyAidXBkYXRlIiAtYyBxCisgICAgICAgIDpzeXMgJFZJTSBiZ19CRy5hZmYgLWUgLWMgInNldCBmZj11bml4IiAtYyB1cGRhdGUgLWMgcQorICAgICAgICA6c3lzICRWSU0gYmdfQkcuZGljIC1lIC1jICJzZXQgZmY9dW5peCIgLWMgdXBkYXRlIC1jIHEKKyAgICAgICAgOnN5cyAkVklNIFJFQURNRV9iZ19CRy50eHQgLWUgLWMgInNldCBmZj11bml4IiAtYyB1cGRhdGUgLWMgcQogICAgICAgICBAaWYgbm90IG9zLnBhdGguZXhpc3RzKCdiZ19CRy5vcmlnLmFmZicpOgogICAgICAgICAgICAgOmNvcHkgYmdfQkcuYWZmIGJnX0JHLm9yaWcuYWZmCiAgICAgICAgIEBpZiBub3Qgb3MucGF0aC5leGlzdHMoJ2JnX0JHLm9yaWcuZGljJyk6CmRpZmYgLS1naXQgYS9ydW50aW1lL3NwZWxsL21haW4uYWFwIGIvcnVudGltZS9zcGVsbC9tYWluLmFhcAppbmRleCA4N2VkZGZkLi5mZmIxNmI4IDEwMDY0NAotLS0gYS9ydW50aW1lL3NwZWxsL21haW4uYWFwCisrKyBiL3J1bnRpbWUvc3BlbGwvbWFpbi5hYXAKQEAgLTQsNyArNCw4IEBACiAjIGFhcCAgICAgICAgZ2VuZXJhdGUgYWxsIHRoZSAuc3BsIGZpbGVzCiAjIGFhcCBkaWZmICAgY3JlYXRlIGFsbCB0aGUgZGlmZiBmaWxlcwogCi1MQU5HID0gYWYgYW0gYmcgY2EgY3MgZGEgZGUgZWwgZW4gZW8gZXMgZnIgZm8gZ2wgaGUgaHIgaXQgbmwgbnkgcGwgc2sgdGggeWkgaHUKK0xBTkcgPSBhZiBhbSBiZyBjYSBjcyBkYSBkZSBlbCBlbiBlbyBlcyBmciBmbyBnbCBoZSBociBpdCBubCBueSBwbCBydSBzaworICAgICAgIHRoIHlpIGh1CiAKICMgImh1IiBpcyBhdCB0aGUgZW5kLCBiZWNhdXNlIGl0IHRha2VzIHZlcnkgbG9uZy4KICMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvcnUvbWFpbi5hYXAgYi9ydW50aW1lL3NwZWxsL3J1L21haW4uYWFwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1YWVjYTkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3NwZWxsL3J1L21haW4uYWFwCkBAIC0wLDAgKzEsMTA0IEBACisjIEFhcCByZWNpcGUgZm9yIFJ1c3NpYW4gVmltIHNwZWxsIGZpbGVzLgorCisjIFVzZSBhIGZyZXNobHkgY29tcGlsZWQgVmltIGlmIGl0IGV4aXN0cy4KK0BpZiBvcy5wYXRoLmV4aXN0cygnLi4vLi4vLi4vc3JjL3ZpbScpOgorICAgIFZJTSA9IC4uLy4uLy4uL3NyYy92aW0KK0BlbHNlOgorICAgIDpwcm9nc2VhcmNoIFZJTSB2aW0KKworUkVHSU9OUyA9IFJVIElFIFlPCitTUEVMTERJUiA9IC4uCitGSUxFUyAgICA9IHJ1XyQqKFJFR0lPTlMpLmFmZiBydV8kKihSRUdJT05TKS5kaWMKKworYWxsOiAkU1BFTExESVIvcnUua29pOC1yLnNwbCAkU1BFTExESVIvcnUudXRmLTguc3BsIFwKKyAgICAgICAgJFNQRUxMRElSL3J1LmNwMTI1MS5zcGwgLi4vUkVBRE1FX3J1LnR4dAorCiskU1BFTExESVIvcnUua29pOC1yLnNwbCA6ICRGSUxFUworICAgICAgICA6c3lzIGVudiBMQU5HPXJ1X1JVLktPSTgtUiAkVklNIC11IE5PTkUgLWUgLWMgIm1rc3BlbGwhICRTUEVMTERJUi9ydSBydV9SVSBydV9JRSBydV9ZTyIgLWMgcQorCiskU1BFTExESVIvcnUudXRmLTguc3BsIDogJEZJTEVTCisgICAgICAgIDpzeXMgZW52IExBTkc9cnVfUlUuVVRGLTggJFZJTSAtdSBOT05FIC1lIC1jICJta3NwZWxsISAkU1BFTExESVIvcnUgcnVfUlUgcnVfSUUgcnVfWU8iIC1jIHEKKworJFNQRUxMRElSL3J1LmNwMTI1MS5zcGwgOiAkRklMRVMKKyAgICAgICAgOnN5cyBlbnYgTEFORz1ydV9SVS5DUDEyNTEgJFZJTSAtdSBOT05FIC1lIC1jICJta3NwZWxsISAkU1BFTExESVIvcnUgcnVfUlUgcnVfSUUgcnVfWU8iIC1jIHEKKworLi4vUkVBRE1FX3J1LnR4dDogUkVBRE1FX3J1XyQqKFJFR0lPTlMpLnR4dAorICAgICAgICA6cHJpbnQgcnVfUlUgPiEgJHRhcmdldAorICAgICAgICA6Y2F0IFJFQURNRV9ydV9SVS50eHQgPj4gJHRhcmdldAorICAgICAgICA6cHJpbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ID4+JHRhcmdldAorICAgICAgICA6cHJpbnQgcnVfSUUgPj4gJHRhcmdldAorICAgICAgICA6Y2F0IFJFQURNRV9ydV9JRS50eHQgPj4gJHRhcmdldAorICAgICAgICA6cHJpbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ID4+JHRhcmdldAorICAgICAgICA6cHJpbnQgcnVfWU8gPj4gJHRhcmdldAorICAgICAgICA6Y2F0IFJFQURNRV9ydV9ZTy50eHQgPj4gJHRhcmdldAorCisjCisjIEZldGNoaW5nIHRoZSBmaWxlcyBmcm9tIE9wZW5PZmZpY2Uub3JnLgorIworT09ESVIgPSBodHRwOi8vZnRwLnNlcnZpY2VzLm9wZW5vZmZpY2Uub3JnL3B1Yi9PcGVuT2ZmaWNlLm9yZy9jb250cmliL2RpY3Rpb25hcmllcworOmF0dHIge2ZldGNoID0gJE9PRElSLyVmaWxlJX0gcnVfUlUuemlwIHJ1X1JVX3llLnppcCBydV9SVV95by56aXAKKworIyBUaGUgZmlsZXMgZG9uJ3QgZGVwZW5kIG9uIHRoZSAuemlwIGZpbGUgc28gdGhhdCB3ZSBjYW4gZGVsZXRlIGl0LgorIyBPbmx5IGRvd25sb2FkIHRoZSB6aXAgZmlsZSBpZiB0aGUgdGFyZ2V0cyBkb24ndCBleGlzdC4KKyMgVGhpcyBpcyBhIGJpdCB0cmlja3ksIHNpbmNlIHRoZSBmaWxlIG5hbWUgaW5jbHVkZXMgdGhlIGRhdGUuCitydV9SVS5hZmYgcnVfUlUuZGljOiB7YnVpbGRjaGVjaz19CisgICAgICAgIDphc3NlcnRwa2cgdW56aXAKKyAgICAgICAgOmZldGNoIHJ1X1JVLnppcAorICAgICAgICA6c3lzIHVuemlwIHJ1X1JVLnppcAorICAgICAgICA6ZGVsZXRlIHJ1X1JVLnppcAorICAgICAgICBAaWYgbm90IG9zLnBhdGguZXhpc3RzKCdydV9SVS5vcmlnLmFmZicpOgorICAgICAgICAgICAgOmNvcHkgcnVfUlUuYWZmIHJ1X1JVLm9yaWcuYWZmCisgICAgICAgIEBpZiBub3Qgb3MucGF0aC5leGlzdHMoJ3J1X1JVLm9yaWcuZGljJyk6CisgICAgICAgICAgICA6Y29weSBydV9SVS5kaWMgcnVfUlUub3JpZy5kaWMKKyAgICAgICAgQGlmIG9zLnBhdGguZXhpc3RzKCdydV9SVS5kaWZmJyk6CisgICAgICAgICAgICA6c3lzIHBhdGNoIDxydV9SVS5kaWZmCisKK3J1X0lFLmFmZiBydV9JRS5kaWM6IHtidWlsZGNoZWNrPX0KKyAgICAgICAgOmFzc2VydHBrZyB1bnppcAorICAgICAgICA6ZmV0Y2ggcnVfUlVfeWUuemlwCisgICAgICAgIDpzeXMgdW56aXAgcnVfUlVfeWUuemlwCisgICAgICAgIDpkZWxldGUgcnVfUlVfeWUuemlwCisgICAgICAgIDptb3ZlIHJ1X1JVX2llLmFmZiBydV9JRS5hZmYKKyAgICAgICAgOm1vdmUgcnVfUlVfaWUuZGljIHJ1X0lFLmRpYworICAgICAgICA6bW92ZSBSRUFETUVfcnVfUlVfaWUudHh0IFJFQURNRV9ydV9JRS50eHQKKyAgICAgICAgQGlmIG5vdCBvcy5wYXRoLmV4aXN0cygncnVfSUUub3JpZy5hZmYnKToKKyAgICAgICAgICAgIDpjb3B5IHJ1X0lFLmFmZiBydV9JRS5vcmlnLmFmZgorICAgICAgICBAaWYgbm90IG9zLnBhdGguZXhpc3RzKCdydV9JRS5vcmlnLmRpYycpOgorICAgICAgICAgICAgOmNvcHkgcnVfSUUuZGljIHJ1X0lFLm9yaWcuZGljCisgICAgICAgIEBpZiBvcy5wYXRoLmV4aXN0cygncnVfSUUuZGlmZicpOgorICAgICAgICAgICAgOnN5cyBwYXRjaCA8cnVfSUUuZGlmZgorCitydV9ZTy5hZmYgcnVfWU8uZGljOiB7YnVpbGRjaGVjaz19CisgICAgICAgIDphc3NlcnRwa2cgdW56aXAKKyAgICAgICAgOmZldGNoIHJ1X1JVX3lvLnppcAorICAgICAgICA6c3lzIHVuemlwIHJ1X1JVX3lvLnppcAorICAgICAgICA6ZGVsZXRlIHJ1X1JVX3lvLnppcAorICAgICAgICA6bW92ZSBydV9SVV95by5hZmYgcnVfWU8uYWZmCisgICAgICAgIDptb3ZlIHJ1X1JVX3lvLmRpYyBydV9ZTy5kaWMKKyAgICAgICAgOm1vdmUgUkVBRE1FX3J1X1JVX3lvLnR4dCBSRUFETUVfcnVfWU8udHh0CisgICAgICAgIEBpZiBub3Qgb3MucGF0aC5leGlzdHMoJ3J1X1lPLm9yaWcuYWZmJyk6CisgICAgICAgICAgICA6Y29weSBydV9ZTy5hZmYgcnVfWU8ub3JpZy5hZmYKKyAgICAgICAgQGlmIG5vdCBvcy5wYXRoLmV4aXN0cygncnVfWU8ub3JpZy5kaWMnKToKKyAgICAgICAgICAgIDpjb3B5IHJ1X1lPLmRpYyBydV9ZTy5vcmlnLmRpYworICAgICAgICBAaWYgb3MucGF0aC5leGlzdHMoJ3J1X1lPLmRpZmYnKToKKyAgICAgICAgICAgIDpzeXMgcGF0Y2ggPHJ1X1lPLmRpZmYKKworCisjIEdlbmVyYXRlIGRpZmYgZmlsZXMsIHNvIHRoYXQgb3RoZXJzIGNhbiBnZXQgdGhlIE9wZW5PZmZpY2UgZmlsZXMgYW5kIGFwcGx5CisjIHRoZSBkaWZmcyB0byBnZXQgdGhlIFZpbSB2ZXJzaW9ucy4KKworZGlmZjoKKyAgICAgICAgOmFzc2VydHBrZyBkaWZmCisgICAgICAgIDpzeXMge2ZvcmNlfSBkaWZmIC1hIC1DIDEgcnVfUlUub3JpZy5hZmYgcnVfUlUuYWZmID5ydV9SVS5kaWZmCisgICAgICAgIDpzeXMge2ZvcmNlfSBkaWZmIC1hIC1DIDEgcnVfUlUub3JpZy5kaWMgcnVfUlUuZGljID4+cnVfUlUuZGlmZgorICAgICAgICA6c3lzIHtmb3JjZX0gZGlmZiAtYSAtQyAxIHJ1X0lFLm9yaWcuYWZmIHJ1X0lFLmFmZiA+cnVfSUUuZGlmZgorICAgICAgICA6c3lzIHtmb3JjZX0gZGlmZiAtYSAtQyAxIHJ1X0lFLm9yaWcuZGljIHJ1X0lFLmRpYyA+PnJ1X0lFLmRpZmYKKyAgICAgICAgOnN5cyB7Zm9yY2V9IGRpZmYgLWEgLUMgMSBydV9ZTy5vcmlnLmFmZiBydV9ZTy5hZmYgPnJ1X1lPLmRpZmYKKyAgICAgICAgOnN5cyB7Zm9yY2V9IGRpZmYgLWEgLUMgMSBydV9ZTy5vcmlnLmRpYyBydV9ZTy5kaWMgPj5ydV9ZTy5kaWZmCisKKworIyBDaGVjayBmb3IgdXBkYXRlZCBzcGVsbCBmaWxlcy4gIFdoZW4gdGhlcmUgYXJlIGNoYW5nZXMgdGhlCisjICIubmV3LmFmZiIgYW5kICIubmV3LmRpYyIgZmlsZXMgYXJlIGxlZnQgYmVoaW5kIGZvciBtYW51YWwgaW5zcGVjdGlvbi4KKworY2hlY2s6CisgICAgICAgIDpwcmludCBEb2Vzbid0IHdvcmsgeWV0LgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zcGVsbC9ydS9ydV9SVS5kaWZmIGIvcnVudGltZS9zcGVsbC9ydS9ydV9SVS5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4NTYwYzMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3NwZWxsL3J1L3J1X1JVLmRpZmYKQEAgLTAsMCArMSwzMiBAQAorKioqIHJ1X1JVLm9yaWcuZGljCVNhdCBBdWcgMjcgMjI6NTQ6NTUgMjAwNQorLS0tIHJ1X1JVLmRpYwlTdW4gQXVnIDI4IDExOjQ2OjM0IDIwMDUKKyoqKioqKioqKioqKioqKgorKioqIDg3NjcsODc2OSAqKioqCisgIMLMxcvMz9PU2C9GCistIMLMxcvM2covQQorICDCzMXLzNnKL0FaCistLS0gODc2Nyw4NzY4IC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDk4MDg2LDk4MDg4ICoqKioKKyAg0sHa0tHWxc7O2covQUVTCistINLB2tLR1sXOztnKL0FTCisgINLB2tXCxcTJ19vJyi9BCistLS0gOTgwODUsOTgwODYgLS0tLQorKioqKioqKioqKioqKioqCisqKiogMTE1MDA3LDExNTAwOSAqKioqCisgINTPzMvJL0IKKy0g1M/My8kvTworICDUz8zLzMEvTAorLS0tIDExNTAwNSwxMTUwMDYgLS0tLQorKioqKioqKioqKioqKioqCisqKiogMTE5MjA5LDExOTIxMSAqKioqCisgINXOydbFzs7Zyi9BU1gKKy0g1c7J1sXOztnKL0FYCisgINXOydrB19vJyi9BCistLS0gMTE5MjA2LDExOTIwNyAtLS0tCisqKioqKioqKioqKioqKioKKyoqKiAxMjA2MDMsMTIwNjA1ICoqKioKKyAg1dTPzt7Fzs7Zyi9BU1gKKy0g1dTPzt7Fzs7Zyi9BWAorICDV1M/QL0wKKy0tLSAxMjA1OTksMTIwNjAwIC0tLS0KZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvcnUvcnVfWU8uZGlmZiBiL3J1bnRpbWUvc3BlbGwvcnUvcnVfWU8uZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2Y4MTc3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zcGVsbC9ydS9ydV9ZTy5kaWZmCkBAIC0wLDAgKzEsMTQgQEAKKyoqKiBydV9ZTy5vcmlnLmRpYwlTYXQgQXVnIDI3IDIyOjU0OjU1IDIwMDUKKy0tLSBydV9ZTy5kaWMJU3VuIEF1ZyAyOCAxMTo0Njo1OCAyMDA1CisqKioqKioqKioqKioqKioKKyoqKiA4NjQ3MSw4NjQ3MyAqKioqCisgINDP3tSjzs7Zyi9BUworLSDQz97UyQorICDQz97UyS9CCistLS0gODY0NzEsODY0NzIgLS0tLQorKioqKioqKioqKioqKioqCisqKiogMTE1MjQ2LDExNTI0OCAqKioqCisgINTPzMvJL0IKKy0g1M/My8kvTworICDUz8zLzMEvTAorLS0tIDExNTI0NSwxMTUyNDYgLS0tLQo=