ZGlmZiAtLWdpdCBhL1JFQURNRV9hbWlzcmMudHh0IGIvUkVBRE1FX2FtaXNyYy50eHQKaW5kZXggYzM2OGVlOS4uY2E4YzNhMiAxMDA2NDQKLS0tIGEvUkVBRE1FX2FtaXNyYy50eHQKKysrIGIvUkVBRE1FX2FtaXNyYy50eHQKQEAgLTEsNCArMSw0IEBACi1SRUFETUVfYW1pc3JjLnR4dCBmb3IgdmVyc2lvbiA3LjFhIG9mIFZpbTogVmkgSU1wcm92ZWQuCitSRUFETUVfYW1pc3JjLnR4dCBmb3IgdmVyc2lvbiA3LjFiIG9mIFZpbTogVmkgSU1wcm92ZWQuCiAKIFNlZSAiUkVBRE1FLnR4dCIgZm9yIGdlbmVyYWwgaW5mb3JtYXRpb24gYWJvdXQgVmltLgogU2VlICJSRUFETUVfYW1pLnR4dCIgZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMgZm9yIHRoZSBBbWlnYS4KZGlmZiAtLWdpdCBhL1JFQURNRV92bXMudHh0IGIvUkVBRE1FX3Ztcy50eHQKaW5kZXggN2ExMzI5ZC4uNDJlYjM4MSAxMDA2NDQKLS0tIGEvUkVBRE1FX3Ztcy50eHQKKysrIGIvUkVBRE1FX3Ztcy50eHQKQEAgLTEsNCArMSw0IEBACi1SRUFETUVfdm1zLnR4dCBmb3IgdmVyc2lvbiA3LjFhIG9mIFZpbTogVmkgSU1wcm92ZWQuCitSRUFETUVfdm1zLnR4dCBmb3IgdmVyc2lvbiA3LjFiIG9mIFZpbTogVmkgSU1wcm92ZWQuCiAKIFRoaXMgZmlsZSBleHBsYWlucyB0aGUgaW5zdGFsbGF0aW9uIG9mIFZpbSBvbiBWTVMgc3lzdGVtcy4KIFNlZSAiUkVBRE1FLnR4dCIgaW4gdGhlIHJ1bnRpbWUgYXJjaGl2ZSBmb3IgaW5mb3JtYXRpb24gYWJvdXQgVmltLgpkaWZmIC0tZ2l0IGEvUkVBRE1FX3czMnMudHh0IGIvUkVBRE1FX3czMnMudHh0CmluZGV4IDU4ODRiZTkuLmI3ZGMwYzUgMTAwNjQ0Ci0tLSBhL1JFQURNRV93MzJzLnR4dAorKysgYi9SRUFETUVfdzMycy50eHQKQEAgLTEsNCArMSw0IEBACi1SRUFETUVfdzMycy50eHQgZm9yIHZlcnNpb24gNy4xYSBvZiBWaW06IFZpIElNcHJvdmVkLgorUkVBRE1FX3czMnMudHh0IGZvciB2ZXJzaW9uIDcuMWIgb2YgVmltOiBWaSBJTXByb3ZlZC4KIAogVGhpcyBhcmNoaXZlIGNvbnRhaW5zIHRoZSBndmltLmV4ZSB0aGF0IHdhcyBzcGVjaWZpY2FsbHkgY29tcGlsZWQgZm9yIHVzZSBpbgogdGhlIFdpbjMycyBzdWJzeXN0ZW0gaW4gTVMtV2luZG93cyAzLjEgYW5kIDMuMTEuCmRpZmYgLS1naXQgYS9ydW50aW1lL2F1dG9sb2FkL3NwZWxsZmlsZS52aW0gYi9ydW50aW1lL2F1dG9sb2FkL3NwZWxsZmlsZS52aW0KaW5kZXggNmZlZGFjMS4uYjllMTdmMSAxMDA2NDQKLS0tIGEvcnVudGltZS9hdXRvbG9hZC9zcGVsbGZpbGUudmltCisrKyBiL3J1bnRpbWUvYXV0b2xvYWQvc3BlbGxmaWxlLnZpbQpAQCAtMSw2ICsxLDYgQEAKICIgVmltIHNjcmlwdCB0byBkb3dubG9hZCBhIG1pc3Npbmcgc3BlbGwgZmlsZQogIiBNYWludGFpbmVyOglCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgotIiBMYXN0IENoYW5nZToJMjAwNyBNYXkgMDYKKyIgTGFzdCBDaGFuZ2U6CTIwMDcgTWF5IDA4CiAKIGlmICFleGlzdHMoJ2c6c3BlbGxmaWxlX1VSTCcpCiAgIGxldCBnOnNwZWxsZmlsZV9VUkwgPSAnZnRwOi8vZnRwLnZpbS5vcmcvcHViL3ZpbS9ydW50aW1lL3NwZWxsJwpAQCAtMTQ1LDYgKzE0NSwxMiBAQAogCiAiIFJlYWQgImZuYW1lIiBmcm9tIHRoZSBzZXJ2ZXIuCiBmdW5jdGlvbiEgc3BlbGxmaWxlI05yZWFkKGZuYW1lKQorICAiIFdlIGRvIG91ciBvd24gZXJyb3IgaGFuZGxpbmcsIGRvbid0IHdhbnQgYSB3aW5kb3cgZm9yIGl0LgorICBpZiBleGlzdHMoImc6bmV0cndfdXNlX2Vycm9yd2luZG93IikKKyAgICBsZXQgc2F2ZV9ldyA9IGc6bmV0cndfdXNlX2Vycm9yd2luZG93CisgIGVuZGlmCisgIGxldCBnOm5ldHJ3X3VzZV9lcnJvcndpbmRvdz0wCisKICAgaWYgZzpzcGVsbGZpbGVfVVJMID1+ICdeZnRwOi8vJwogICAgICIgZm9yIGFuIGZ0cCBzZXJ2ZXIgdXNlIGEgZGVmYXVsdCBsb2dpbiBhbmQgcGFzc3dvcmQgdG8gYXZvaWQgYSBwcm9tcHQKICAgICBsZXQgbWFjaGluZSA9IHN1YnN0aXR1dGUoZzpzcGVsbGZpbGVfVVJMLCAnZnRwOi8vXChbXi9dKlwpLionLCAnXDEnLCAnJykKQEAgLTE1Myw0ICsxNTksMTAgQEAKICAgZWxzZQogICAgIGV4ZSAnTnJlYWQgJyBnOnNwZWxsZmlsZV9VUkwgLiAnLycgLiBhOmZuYW1lCiAgIGVuZGlmCisKKyAgaWYgZXhpc3RzKCJzYXZlX2V3IikKKyAgICBsZXQgZzpuZXRyd191c2VfZXJyb3J3aW5kb3cgPSBzYXZlX2V3CisgIGVsc2UKKyAgICB1bmxldCBnOm5ldHJ3X3VzZV9lcnJvcndpbmRvdworICBlbmRpZgogZW5kZnVuYwpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZmFyc2kudHh0IGIvcnVudGltZS9kb2MvZmFyc2kudHh0CmluZGV4IGRkNTdjNWMuLmU2OGUzZTggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2ZhcnNpLnR4dAorKysgYi9ydW50aW1lL2RvYy9mYXJzaS50eHQKQEAgLTEsNCArMSw0IEBACi0qZmFyc2kudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMWEuICBMYXN0IGNoYW5nZTogMjAwNSBNYXIgMjkKKypmYXJzaS50eHQqICAgICBGb3IgVmltIHZlcnNpb24gNy4xYi4gIExhc3QgY2hhbmdlOiAyMDA1IE1hciAyOQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBNb3J0YXphIEdoYXNzYWIgU2hpcmFuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9maWxldHlwZS50eHQgYi9ydW50aW1lL2RvYy9maWxldHlwZS50eHQKaW5kZXggNGI4YmZhZi4uYWRhOWQ1MCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZmlsZXR5cGUudHh0CisrKyBiL3J1bnRpbWUvZG9jL2ZpbGV0eXBlLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpmaWxldHlwZS50eHQqICBGb3IgVmltIHZlcnNpb24gNy4xYS4gIExhc3QgY2hhbmdlOiAyMDA3IE1hciAyNAorKmZpbGV0eXBlLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjFiLiAgTGFzdCBjaGFuZ2U6IDIwMDcgTWF5IDEwCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC00MjMsNyArNDIzLDggQEAKIAkJCXNhbWUgYXMgdGhlIGxvY2FsIDxMZWFkZXI+byBkZXNjcmliZWQgYWJvdmUuCiAKIFZhcmlhYmxlczoKLWc6Y2hhbmdlbG9nX3RpbWVmb3JtYXQJVGhlIGRhdGUgKGFuZCB0aW1lKSBmb3JtYXQgdXNlZCBpbiBDaGFuZ2VMb2cgZW50cmllcy4KK2c6Y2hhbmdlbG9nX3RpbWVmb3JtYXQgIERlcHJlY2F0ZWQ7IHVzZSBnOmNoYW5nZWxvZ19kYXRlZm9ybWF0IGluc3RlYWQuCitnOmNoYW5nZWxvZ19kYXRlZm9ybWF0CVRoZSBkYXRlIChhbmQgdGltZSkgZm9ybWF0IHVzZWQgaW4gQ2hhbmdlTG9nIGVudHJpZXMuCiAJCQlUaGUgZm9ybWF0IGFjY2VwdGVkIGlzIHRoZSBzYW1lIGFzIGZvciB0aGUKIAkJCXxzdHJmdGltZSgpfCBmdW5jdGlvbi4KIAkJCVRoZSBkZWZhdWx0IGlzICIlWS0lbS0lZCIgd2hpY2ggaXMgdGhlIHN0YW5kYXJkIGZvcm1hdApAQCAtNDczLDYgKzQ3NCwxNCBAQAogCQkJCXwyMDAzLTAxLTE0ICBGdWxsIE5hbWUgIDx1c2VyQGhvc3Q+CiA8CQkJYW5kIHNvbWUgc2ltaWxhciBmb3JtYXRzLgogCitnOmNoYW5nZWxvZ19kYXRlX2VuZF9lbnRyeV9zZWFyY2gKKwkJCVRoZSBzZWFyY2ggcGF0dGVybiB0byB1c2Ugd2hlbiBzZWFyY2hpbmcgZm9yIHRoZSBlbmQKKwkJCW9mIGEgZGF0ZS1lbnRyeS4KKwkJCVRoZSBzYW1lIHRva2VucyB0aGF0IGNhbiBiZSB1c2VkIGZvcgorCQkJZzpjaGFuZ2Vsb2dfbmV3X2RhdGVfZm9ybWF0IGNhbiBiZSB1c2VkIGhlcmUgYXMgd2VsbC4KKwkJCVRoZSBkZWZhdWx0IGlzICdeXHMqJCcgd2hpY2ggZmluZHMgbGluZXMgdGhhdCBjb250YWluCisJCQlvbmx5IHdoaXRlc3BhY2Ugb3IgYXJlIGNvbXBsZXRlbHkgZW1wdHkuCisKIFRoZSBDaGFuZ2Vsb2cgZW50cmllcyBhcmUgaW5zZXJ0ZWQgd2hlcmUgdGhleSBhZGQgdGhlIGxlYXN0IGFtb3VudCBvZiB0ZXh0LgogQWZ0ZXIgZmlndXJpbmcgb3V0IHRoZSBjdXJyZW50IGRhdGUgYW5kIHVzZXIsIHRoZSBmaWxlIGlzIHNlYXJjaGVkIGZvciBhbgogZW50cnkgYmVnaW5uaW5nIHdpdGggdGhlIGN1cnJlbnQgZGF0ZSBhbmQgdXNlciBhbmQgaWYgZm91bmQgYWRkcyBhbm90aGVyIGl0ZW0KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL29zX2Rvcy50eHQgYi9ydW50aW1lL2RvYy9vc19kb3MudHh0CmluZGV4IDA5ZDZjYmQuLjJlMzYxYjAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL29zX2Rvcy50eHQKKysrIGIvcnVudGltZS9kb2Mvb3NfZG9zLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpvc19kb3MudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4xYS4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAzMAorKm9zX2Rvcy50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjFiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDMwCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9vc193aW4zMi50eHQgYi9ydW50aW1lL2RvYy9vc193aW4zMi50eHQKaW5kZXggYmY2NmY5ZC4uNTcwMTg2MCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvb3Nfd2luMzIudHh0CisrKyBiL3J1bnRpbWUvZG9jL29zX3dpbjMyLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpvc193aW4zMi50eHQqICBGb3IgVmltIHZlcnNpb24gNy4xYS4gIExhc3QgY2hhbmdlOiAyMDA3IEFwciAyMgorKm9zX3dpbjMyLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjFiLiAgTGFzdCBjaGFuZ2U6IDIwMDcgQXByIDIyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEdlb3JnZSBSZWlsbHkKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3BpX3NwZWMudHh0IGIvcnVudGltZS9kb2MvcGlfc3BlYy50eHQKaW5kZXggYjA3NTg3My4uY2U2ZmI1YyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcGlfc3BlYy50eHQKKysrIGIvcnVudGltZS9kb2MvcGlfc3BlYy50eHQKQEAgLTEsNCArMSw0IEBACi0qcGlfc3BlYy50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMWEuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKypwaV9zcGVjLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4xYi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAogCiBieSBHdXN0YXZvIE5pZW1leWVyIH4KIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvc2Nyb2xsLnR4dCBiL3J1bnRpbWUvZG9jL3Njcm9sbC50eHQKaW5kZXggMmNmMGJlYy4uZGE1NzU5NiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvc2Nyb2xsLnR4dAorKysgYi9ydW50aW1lL2RvYy9zY3JvbGwudHh0CkBAIC0xLDQgKzEsNCBAQAotKnNjcm9sbC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjFhLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXVnIDI3Cisqc2Nyb2xsLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMWIuICBMYXN0IGNoYW5nZTogMjAwNiBBdWcgMjcKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RvZG8udHh0IGIvcnVudGltZS9kb2MvdG9kby50eHQKaW5kZXggYTFjODVmMi4uZGNjYTA1MiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdG9kby50eHQKKysrIGIvcnVudGltZS9kb2MvdG9kby50eHQKQEAgLTEsNCArMSw0IEBACi0qdG9kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMWEuICBMYXN0IGNoYW5nZTogMjAwNyBNYXkgMDUKKyp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4xYi4gIExhc3QgY2hhbmdlOiAyMDA3IE1heSAxMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zNSw2ICszNSw5IEBACiBJbnNlcnQgbW9kZSBjb21wbGV0aW9uOiBDVFJMLU4gYW5kIENUUkwtUCB3b3JrIGRpZmZlcmVudGx5IGFuZCB0aGV5IGJvdGggZG9uJ3QKIHdvcmsgYXMgZXhwZWN0ZWQuIChCZXJuaGFyZCBXYWxsZSwgMjAwNyBGZWIgMjcpCiAKK1doZW4gJ3JpZ2h0bGVmdCcgaXMgc2V0IHRoZSBjb21wbGV0aW9uIG1lbnUgaXMgcG9zaXRpb25lZCB3cm9uZy4gKEJhaGEtRWRkaW5lCitNT0tBREVNKQorCiBnbG9iKCkgZG9lc24ndCB3b3JrIGNvcnJlY3RseSB3aXRoIHNpbmdsZSBxdW90ZXMgYW5kICdzaGVsbCcgc2V0IHRvIC9iaW4vc2guCiAoQWRyaSBWZXJob2VmLCBDaGFybGVzIENhbXBiZWxsIDIwMDcgTWFyIDI2KQogCkBAIC05NCw2ICs5NywxMCBAQAogCiBXaGVuIG9wZW5pbmcgcXVpY2tmaXggd2luZG93LCBkaXNhYmxlIHNwZWxsIGNoZWNraW5nPwogCitXaW5kb3dzIDk4OiBwYXN0aW5nIGZyb20gdGhlIGNsaXBib2FyZCB3aXRoIHRleHQgZnJvbSBhbm90aGVyIGFwcGxpY2F0aW9uIGhhcworYSB0cmFpbGluZyBOVUwuICAoSm9hY2hpbSBIb2ZtYW5uKSAgUGVyaGFwcyB0aGUgbGVuZ3RoIHNwZWNpZmllZCBmb3IgQ0ZfVEVYVAoraXNuJ3QgcmlnaHQ/CisKIFdpbjMyOiBXaGVuICdlbmNvZGluZycgaXMgImxhdGluMSIgJ2lnbm9yZWNhc2UnIGRvZXNuJ3Qgd29yayBmb3IgY2hhcmFjdGVycwogd2l0aCB1bWxhdXQuIChKb2FjaGltIEhvZm1hbm4pICB0b3VwcGVyX3RhYltdIGFuZCB0b2xvd2VyX3RhYltdIGFyZSBub3QgZmlsbGVkCiBwcm9wZXJseT8KQEAgLTIwMSw2ICsyMDgsOCBAQAogCiAiOmxvY2t2YXIiIHNob3VsZCB1c2UgY29weUlEIHRvIGF2b2lkIGVuZGxlc3MgbG9vcC4KIAorUGF0Y2ggdG8gdXNlIHh0ZXJtIG1vdXNlIGNvZGVzIGZvciBzY3JlZW4uIChNaWNhaCBDb3dhbiwgMjAwNyBNYXkgOCkKKwogR3ZpbTogZGlhbG9nIGZvciBjbG9zaW5nIFZpbSBzaG91bGQgY2hlY2sgaWYgVmltIGlzIGJ1c3kgd3JpdGluZyBhIGZpbGUuICBUaGVuCiB1c2UgYSBkaWZmZXJlbnQgZGlhbG9nOiAiYnVzeSBzYXZpbmcsIHJlYWxseSBxdWl0PyB5ZXMgLyBubyIuCiAKQEAgLTM2NSw5ICszNzQsNiBAQAogQW5vdGhlciByZXNpemluZyBwcm9ibGVtIHdoZW4gc2V0dGluZyAnY29sdW1ucycgYW5kICdsaW5lcycgdG8gYSB2ZXJ5IGxhcmdlCiBudW1iZXIuIChUb255IE1lY2hlbHluY2ssIDIwMDcgRmViIDYpCiAKLU11dHQgZmlsZXMgYXJlIG5vdCBhbHdheXMgcmVjb2duaXplZC4gIENoYW5nZSBwYXR0ZXJuIHRvIGluY2x1ZGUKLW5vbi1hbHBoYW51bWVyaWMgY2hhcmFjdGVycy4gKEdhcnkgSm9obnNvbiwgMjAwNiBKdWwgMjUpCi0KIFByb2JsZW0gd2l0aCB1c2luZyA6cmVkaXIgaW4gdXNlciBjb21tYW5kIGNvbXBsZXRpb24gZnVuY3Rpb24/IChIYXJpIEtyaXNobmEKIERhcmEsIDIwMDYgSnVuZSAyMSkKIApAQCAtMTU4MSw3ICsxNTg3LDcgQEAKIDggICA6dGFibW92ZSAtTgkgbW92ZSB0YWIgcGFnZSBOIHBhZ2VzIGJhY2t3YXJkCiA3ICAgOnRhYmR1cAkgZHVwbGljYXRlIHRoZSB0YWIgd2l0aCBhbGwgaXRzIHdpbmRvd3MuCiA3ICAgT3B0aW9uIHRvIHB1dCB0YWIgbGluZSBhdCB0aGUgbGVmdCBvciByaWdodD8gIE5lZWQgYW4gb3B0aW9uIHRvIHNwZWNpZnkKLSAgICBpdHMgd2l0ZGguICBJdCdzIGxpa2UgYSBzZXBhcmF0ZSB3aW5kb3cgd2l0aCAiOnRhYnMiIG91dHB1dC4KKyAgICBpdHMgd2lkdGguICBJdCdzIGxpa2UgYSBzZXBhcmF0ZSB3aW5kb3cgd2l0aCAiOnRhYnMiIG91dHB1dC4KIDcgICBBZGQgbG9jYWwgdmFyaWFibGVzIGZvciBlYWNoIHRhYiBwYWdlPwogOCAgIEFkZCBsb2NhbCBvcHRpb25zIGZvciBlYWNoIHRhYiBwYWdlPyAgRS5nLiwgJ2RpZmZvcHQnIGNvdWxkIGRpZmZlciBiZXR3ZWVuCiAgICAgdGFiIHBhZ2VzLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzA0LnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8wNC50eHQKaW5kZXggMjlhOWVjOC4uYWY1MGQyOCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzA0LnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMDQudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8wNC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjFhLiAgTGFzdCBjaGFuZ2U6IDIwMDYgSnVuIDIxCisqdXNyXzA0LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMWIuICBMYXN0IGNoYW5nZTogMjAwNiBKdW4gMjEKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl8wNS50eHQgYi9ydW50aW1lL2RvYy91c3JfMDUudHh0CmluZGV4IGE5NzgwYzAuLmVlOTBlZGEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl8wNS50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzA1LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfMDUudHh0KglGb3IgVmltIHZlcnNpb24gNy4xYS4gIExhc3QgY2hhbmdlOiAyMDA2IEp1bCAxMAorKnVzcl8wNS50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjFiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgSnVsIDEwCiAKIAkJICAgICBWSU0gVVNFUiBNQU5VQUwgLSBieSBCcmFtIE1vb2xlbmFhcgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfMTIudHh0IGIvcnVudGltZS9kb2MvdXNyXzEyLnR4dAppbmRleCA5MTljZDRmLi45NDRhMjFiIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfMTIudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl8xMi50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzEyLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMWEuICBMYXN0IGNoYW5nZTogMjAwNiBOb3YgMTgKKyp1c3JfMTIudHh0KglGb3IgVmltIHZlcnNpb24gNy4xYi4gIExhc3QgY2hhbmdlOiAyMDA2IE5vdiAxOAogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmVyc2lvbjcudHh0IGIvcnVudGltZS9kb2MvdmVyc2lvbjcudHh0CmluZGV4IDY4MmRjZmEuLmZlMzk1ZGQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZlcnNpb243LnR4dAorKysgYi9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQKQEAgLTEsNCArMSw0IEBACi0qdmVyc2lvbjcudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMWEuICBMYXN0IGNoYW5nZTogMjAwNyBNYXkgMDUKKyp2ZXJzaW9uNy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4xYi4gIExhc3QgY2hhbmdlOiAyMDA3IE1heSAxMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTAwNywxNSArMTAwNywxNSBAQAogCiBOZXcgaXRlbXMgaW4gc2VhcmNoIHBhdHRlcm5zOiB+CiB8L1wlZHwgXCVkMTIzCQlzZWFyY2ggZm9yIGNoYXJhY3RlciB3aXRoIGRlY2ltYWwgbnVtYmVyCi18L1xdfCAgW1xkMTIzXQkJaWRlbSwgaW4gYSBjb2xsZXRpb24KK3wvXF18ICBbXGQxMjNdCQlpZGVtLCBpbiBhIGNvbGxlY3Rpb24KIHwvXCVvfCBcJW8xMDMJCXNlYXJjaCBmb3IgY2hhcmFjdGVyIHdpdGggb2N0YWwgbnVtYmVyCi18L1xdfCAgW1xvMW8zXQkJaWRlbSwgaW4gYSBjb2xsZXRpb24KK3wvXF18ICBbXG8xbzNdCQlpZGVtLCBpbiBhIGNvbGxlY3Rpb24KIHwvXCV4fCBcJXgxYQkJc2VhcmNoIGZvciBjaGFyYWN0ZXIgd2l0aCAyIHBvcy4gaGV4IG51bWJlcgotfC9cXXwgIFtceDFhXQkJaWRlbSwgaW4gYSBjb2xsZXRpb24KK3wvXF18ICBbXHgxYV0JCWlkZW0sIGluIGEgY29sbGVjdGlvbgogfC9cJXV8IFwldTEyYWIJCXNlYXJjaCBmb3IgY2hhcmFjdGVyIHdpdGggNCBwb3MuIGhleCBudW1iZXIKLXwvXF18ICBbXHUxMmFiXQkJaWRlbSwgaW4gYSBjb2xsZXRpb24KK3wvXF18ICBbXHUxMmFiXQkJaWRlbSwgaW4gYSBjb2xsZWN0aW9uCiB8L1wlVXwgXCVVMTIzNGFiY2QJc2VhcmNoIGZvciBjaGFyYWN0ZXIgd2l0aCA4IHBvcy4gaGV4IG51bWJlcgotfC9cXXwgIFtcVTEyMzRhYmNkXQlpZGVtLCBpbiBhIGNvbGxldGlvbgorfC9cXXwgIFtcVTEyMzRhYmNkXQlpZGVtLCBpbiBhIGNvbGxlY3Rpb24KIAkJCSAgICAoVGhlIGFib3ZlIHBhcnRseSBieSBDaWFyYW4gTWNDcmVlc2gpCiAKIHwvW1s9fCBbWz1hPV1dCQlhbiBlcXVpdmFsZW5jZSBjbGFzcyAob25seSBmb3IgbGF0aW4xIGNoYXJhY3RlcnMpCkBAIC0yNzk1LDcgKzI3OTUsNyBAQAogCiBQcmV2ZW50IHRoYXQgdXNpbmcgQ1RSTC1SID0gaW4gSW5zZXJ0IG1vZGUgY2FuIHN0YXJ0IFZpc3VhbCBtb2RlLgogCi1GaXhlZCBhIGNyYXNoIHRoYXQgb2NjdXJlZCB3aGVuIGluIEluc2VydCBtb2RlIHdpdGggY29tcGxldGlvbiBhY3RpdmUgYW5kIGEKK0ZpeGVkIGEgY3Jhc2ggdGhhdCBvY2N1cnJlZCB3aGVuIGluIEluc2VydCBtb2RlIHdpdGggY29tcGxldGlvbiBhY3RpdmUgYW5kIGEKIG1hcHBpbmcgY2F1c2VkIGVkaXQoKSB0byBiZSBjYWxsZWQgcmVjdXJzaXZlbHkuCiAKIFdoZW4gdXNpbmcgQ1RSTC1PIGluIEluc2VydCBtb2RlIGp1c3QgYWZ0ZXIgdGhlIGxhc3QgY2hhcmFjdGVyIHdoaWxlCkBAIC0yOTg5LDIxICsyOTg5LDI5IEBACiBXaGVuIGJ1aWxkaW5nIHdpdGggTVpzY2hlbWUgYWxzbyBsb29rIGZvciBpbmNsdWRlIGZpbGVzIGluIHRoZSAicGx0Igogc3ViZGlyZWN0b3J5LiAgVGhhdCdzIHdoZXJlIHRoZXkgYXJlIGZvciBGcmVlQlNELgogCitUaGUgUnVieSBpbnRlcmZhY2UgbW9kdWxlIGlzIG5vdyBjYWxsZWQgIlZpbSIgaW5zdGVhZCBvZiAiVklNIi4gIEJ1dCAiVklNIiBpcworYW4gYWxpYXMsIHNvIGl0J3MgYmFja3dhcmRzIGNvbXBhdGlibGUuIChUaW0gUG9wZSkKKwogCiBBZGRlZAkJCQkJCQkqYWRkZWQtNy4xKgogLS0tLS0KIAogTmV3IHN5bnRheCBmaWxlczoKKwkvdmFyL2xvZy9tZXNzYWdlcyAoWWFrb3YgTGVybmVyKQogCUF1dG9JdCB2MyAoSmFyZWQgQnJlbGFuZCkKIAlCYXphYXIgY29tbWl0IGZpbGUgImJ6ciIuIChEbWl0cnkgVmFzaWxpZXYpCisJQ2RyZGFvIFRPQyAoTmlrb2xhaSBXZWlidWxsKQogCUNtdXNyYyAoTmlrb2xhaSBXZWlidWxsKQogCUZyZWVCYXNpYyAoTWFyayBNYW5uaW5nKQogCUhhbXN0ZXIgKERhdmlkIEZpc2hidXJuKQogCUlCYXNpYyAoTWFyayBNYW5uaW5nKQotCWluaXRuZyAoRWxhbiBSdXVzYW1hZSkKLQkvdmFyL2xvZy9tZXNzYWdlcyAoWWFrb3YgTGVybmVyKQogCVByaXZveHkgYWN0aW9ucyBmaWxlIChEb3VnIEtlYXJucykKIAlTdHJlYW1pbmcgRGVzY3JpcHRvcnMgInNkIiAoUHVyaWEgTmFmaXNpIEF6aXppKQorCWluaXRuZyAoRWxhbiBSdXVzYW1hZSkKKwlBdXRvaG90a2V5IChOaWtvbGFpIFdlaWJ1bGwpCisJRnJhbWVzY3JpcHQgKE5pa29sYWkgV2VpYnVsbCkKKwlMZGFwY29uZiAoTmlrb2xhaSBXZWlidWxsKQorCUxpdGVzdGVwIChOaWtvbGFpIFdlaWJ1bGwpCiAKIE5ldyB0dXRvciBmaWxlczoKIAlIdW5nYXJpYW4gKEFycGFkIEhvcnZhdGgpCkBAIC00NTU2LDQgKzQ1NjQsMzQgQEAKIEZpbGVzOgkgICAgc3JjL0d2aW1FeHQvTWFrZWZpbGUKIAogCitGaXhlcyBhZnRlciBWaW0gNy4xYSBCRVRBOgorCitUaGUgZXh0cmEgYXJjaGl2ZSBoYWQgQ1ZTIGRpcmVjdG9yaWVzIGluY2x1ZGVkIGJlbG93ICJmYXJzaSIgYW5kCisicnVudGltZS9pY29ucyIuICBDVlMgd2FzIG1pc3NpbmcgdGhlIGZhcnNpIGljb24gZmlsZXMuCisKK0ZpeCBjb21waWxpbmcgd2l0aCBHbm9tZSAyLjE4LCB1bmRlZmluZSBiaW5kX3RleHRkb21haW5fY29kZXNldC4gKERhbmllbAorRHJha2UpCisKK01hYzogIm1ha2UgaW5zdGFsbCIgZGlkbid0IGNvcHkgcmdiLnR4dC4KKworV2hlbiBlZGl0aW5nIGEgY29tcHJlc3NlZCBmaWxlIHdoaWxlIHRoZXJlIGFyZSBmb2xkcyBjYXVzZWQgIm1sX2dldCIgZXJyb3JzCithbmQgc29tZSBsaW5lcyBjb3VsZCBiZSBtaXNzaW5nLiAgV2hlbiBkZWNvbXByZXNzaW5nIGZhaWxlZCBvcHRpb24gdmFsdWVzIHdlcmUKK25vdCByZXN0b3JlZC4KKworCitQYXRjaCA3LjFhLjAwMQorUHJvYmxlbTogICAgQ3Jhc2ggd2hlbiBkb3dubG9hZGluZyBhIHNwZWxsIGZpbGUuICAoU3phYm9sY3MgSG9ydmF0KQorU29sdXRpb246ICAgQXZvaWQgdGhhdCBkaWRfc2V0X3NwZWxsbGFuZygpIGlzIHVzZWQgcmVjdXJzaXZlbHkgd2hlbiBhIG5ldworCSAgICB3aW5kb3cgaXMgb3BlbmVkIGZvciB0aGUgZG93bmxvYWQuCisJICAgIEFsc28gYXZvaWQgd2lwaW5nIG91dCB0aGUgd3JvbmcgYnVmZmVyLgorRmlsZXM6CSAgICBydW50aW1lL2F1dG9sb2FkL3NwZWxsZmlsZS52aW0sIHNyYy9idWZmZXIuYywgc3JjL2V4X2NtZHMuYywKKyAgICAgICAgICAgIHNyYy9zcGVsbC5jCisKK1BhdGNoIDcuMWEuMDAyIChleHRyYSkKK1Byb2JsZW06ICAgIENvbXBpbGF0aW9uIGVycm9yIHdpdGggTWluZ1cuCitTb2x1dGlvbjogICBDaGVjayBmb3IgTFBUT09MVElQVEVYVCB0byBiZSBkZWZpbmVkLgorRmlsZXM6CSAgICBzcmMvZ3VpX3czMi5jCisKKworCiAgdmltOnR3PTc4OnRzPTg6ZnQ9aGVscDpub3JsOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvd29ya3Nob3AudHh0IGIvcnVudGltZS9kb2Mvd29ya3Nob3AudHh0CmluZGV4IGEwNTAyY2MuLmI3ZWNmN2MgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3dvcmtzaG9wLnR4dAorKysgYi9ydW50aW1lL2RvYy93b3Jrc2hvcC50eHQKQEAgLTEsNCArMSw0IEBACi0qd29ya3Nob3AudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMWEuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKyp3b3Jrc2hvcC50eHQqICBGb3IgVmltIHZlcnNpb24gNy4xYi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBHb3Jkb24gUHJpZXVyCmRpZmYgLS1naXQgYS9ydW50aW1lL3NwZWxsL3B0L3B0X0JSLmRpZmYgYi9ydW50aW1lL3NwZWxsL3B0L3B0X0JSLmRpZmYKaW5kZXggZGM3ODI1Yi4uNGRjN2YxYiAxMDA2NDQKLS0tIGEvcnVudGltZS9zcGVsbC9wdC9wdF9CUi5kaWZmCisrKyBiL3J1bnRpbWUvc3BlbGwvcHQvcHRfQlIuZGlmZgpAQCAtOCw1ICs4LDUgQEAKICsgTE9XICDf4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+/wogKyBVUFAgIN/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tjZ2tvc3d7/CiArIAotKyBNSURXT1JECScKKysgTUlEV09SRAknLS4KICAgCmRpZmYgLS1naXQgYS9zcmMvR3ZpbUV4dC9ndmltZXh0LmNwcCBiL3NyYy9HdmltRXh0L2d2aW1leHQuY3BwCmluZGV4IGRiZDc2OWEuLmExOGViMGIgMTAwNjQ0Ci0tLSBhL3NyYy9HdmltRXh0L2d2aW1leHQuY3BwCisrKyBiL3NyYy9HdmltRXh0L2d2aW1leHQuY3BwCkBAIC01NzUsNyArNTc1LDcgQEAKIAogICAgIC8vIEluaXRpYWxpemUgbV9jbnRPZkhXbmQgdG8gMAogICAgIG1fY250T2ZIV25kID0gMDsKLSAgICAvLyBSZXRpZXZlIGFsbCB0aGUgdmltIGluc3RhbmNlcworICAgIC8vIFJldHJpZXZlIGFsbCB0aGUgdmltIGluc3RhbmNlcwogICAgIEVudW1XaW5kb3dzKEVudW1XaW5kb3dzUHJvYywgKExQQVJBTSl0aGlzKTsKIAogICAgIGlmIChjYkZpbGVzID4gMSkKZGlmZiAtLWdpdCBhL3NyYy9ndWlfYXRfc2IuaCBiL3NyYy9ndWlfYXRfc2IuaAppbmRleCAwZDNkMTk2Li45MDk0MGY1IDEwMDY0NAotLS0gYS9zcmMvZ3VpX2F0X3NiLmgKKysrIGIvc3JjL2d1aV9hdF9zYi5oCkBAIC0xMTAsNyArMTEwLDcgQEAKICAgICBmbG9hdAkgIG1heDsJCS8qIE1heGltdW0gdmFsdWUgZm9yIHRvcCAqLwogICAgIERpbWVuc2lvbgkgIGxlbmd0aDsJLyogZWl0aGVyIGhlaWdodCBvciB3aWR0aCAqLwogICAgIERpbWVuc2lvbgkgIHRoaWNrbmVzczsJLyogZWl0aGVyIHdpZHRoIG9yIGhlaWdodCAqLwotICAgIERpbWVuc2lvbgkgIG1pbl90aHVtYjsJLyogbWluaXVtIHNpemUgZm9yIHRoZSB0aHVtYi4gKi8KKyAgICBEaW1lbnNpb24JICBtaW5fdGh1bWI7CS8qIG1pbmltdW0gc2l6ZSBmb3IgdGhlIHRodW1iLiAqLwogCiAgICAgIC8qIHByaXZhdGUgKi8KICAgICBYdEludGVydmFsSWQgIHRpbWVyX2lkOwkvKiBhdXRvcmVwZWF0IHRpbWVyOyByZW1vdmUgb24gZGVzdHJ1Y3Rpb24gKi8KZGlmZiAtLWdpdCBhL3NyYy9ndWlfZ3RrX3gxMS5jIGIvc3JjL2d1aV9ndGtfeDExLmMKaW5kZXggMDRlZTBhMC4uNTIzNzMzOSAxMDA2NDQKLS0tIGEvc3JjL2d1aV9ndGtfeDExLmMKKysrIGIvc3JjL2d1aV9ndGtfeDExLmMKQEAgLTM2LDYgKzM2LDkgQEAKICMgaWZkZWYgYmluZHRleHRkb21haW4KICMgIHVuZGVmIGJpbmR0ZXh0ZG9tYWluCiAjIGVuZGlmCisjIGlmZGVmIGJpbmR0ZXh0ZG9tYWluX2NvZGVzZXQKKyMgIHVuZGVmIGJpbmR0ZXh0ZG9tYWluX2NvZGVzZXQKKyMgZW5kaWYKICMgaWYgZGVmaW5lZChGRUFUX0dFVFRFWFQpICYmICFkZWZpbmVkKEVOQUJMRV9OTFMpCiAjICBkZWZpbmUgRU5BQkxFX05MUwkvKiBzbyB0aGUgdGV4dHMgaW4gdGhlIGRpYWxvZyBib3hlcyBhcmUgdHJhbnNsYXRlZCAqLwogIyBlbmRpZgpAQCAtMTU2Niw3ICsxNTY5LDcgQEAKIGd1aV9tY2hfaW5pdF9jaGVjayh2b2lkKQogewogI2lmbmRlZiBIQVZFX0dUSzIKLSAgICAvKiBUaGlzIGlzIG5lZWRlZCB0byBtYWtlIHRoZSBsb2NhbGUgaGFuZGxpbmcgY29uc2lzdGFudCBiZXR3ZWVuIHRoZSBHVUkKKyAgICAvKiBUaGlzIGlzIG5lZWRlZCB0byBtYWtlIHRoZSBsb2NhbGUgaGFuZGxpbmcgY29uc2lzdGVudCBiZXR3ZWVuIHRoZSBHVUkKICAgICAgKiBhbmQgdGhlIHJlc3Qgb2YgVklNLiAqLwogICAgIGd0a19zZXRfbG9jYWxlKCk7CiAjZW5kaWYKQEAgLTE2MzgsNyArMTY0MSw3IEBACiAgICAgLyogdHJhbnNsYXRlIG1vZGlmaWVyIGNvZGluZyBiZXR3ZWVuIHRoZSBtYWluIGVuZ2luZSBhbmQgR1RLICovCiAgICAgdmltX21vZGlmaWVycyA9IG1vZGlmaWVyc19nZGsybW91c2Uoc3RhdGUpOwogCi0gICAgLyogaW5mb3JtIHRoZSBlZGl0b3IgZW5naW5lIGFib3V0IHRoZSBvY2N1cmVuY2Ugb2YgdGhpcyBldmVudCAqLworICAgIC8qIGluZm9ybSB0aGUgZWRpdG9yIGVuZ2luZSBhYm91dCB0aGUgb2NjdXJyZW5jZSBvZiB0aGlzIGV2ZW50ICovCiAgICAgZ3VpX3NlbmRfbW91c2VfZXZlbnQoYnV0dG9uLCB4LCB5LCBGQUxTRSwgdmltX21vZGlmaWVycyk7CiAKICAgICBpZiAoZ3RrX21haW5fbGV2ZWwoKSA+IDApCkBAIC0yNjA0LDcgKzI2MDcsNyBAQAogCWludAkgICAgbnVtYmVyX3NpemVzOwogCS8qCiAJICogQWRqdXN0IHRoZSBpY29uIHRvIHRoZSBwcmVmZXJlbmNlcyBvZiB0aGUgYWN0dWFsIHdpbmRvdyBtYW5hZ2VyLgotCSAqIFRoaXMgaXMgb25jZSBhZ2FpbiBhIHdvcmthcm91bmQgZm9yIGEgZGVmZmljaWVuY3kgaW4gR1RLKyAxLjIuCisJICogVGhpcyBpcyBvbmNlIGFnYWluIGEgd29ya2Fyb3VuZCBmb3IgYSBkZWZpY2llbmN5IGluIEdUSysgMS4yLgogCSAqLwogCXhkaXNwbGF5ID0gR0RLX1dJTkRPV19YRElTUExBWShndWkubWFpbndpbi0+d2luZG93KTsKIAlyb290X3dpbmRvdyA9IFhSb290V2luZG93KHhkaXNwbGF5LCBEZWZhdWx0U2NyZWVuKHhkaXNwbGF5KSk7CkBAIC0yNzA3LDcgKzI3MTAsNyBAQAogCXJldHVybjsKIAogICAgIC8qCi0gICAgICogUmVjcmVhdGUgdGhlIGludmlzYmxlIG1vdXNlIGN1cnNvci4KKyAgICAgKiBSZWNyZWF0ZSB0aGUgaW52aXNpYmxlIG1vdXNlIGN1cnNvci4KICAgICAgKi8KICAgICBpZiAoZ3VpLmJsYW5rX3BvaW50ZXIgIT0gTlVMTCkKIAlnZGtfY3Vyc29yX3VucmVmKGd1aS5ibGFua19wb2ludGVyKTsKQEAgLTI5NzEsNyArMjk3NCw3IEBACiAjIGVuZGlmCiAKICAgICAvKiBHdGtTb2NrZXRzIHVzZSBHdGtQbHVnJ3MgW2d1aSxtYWlud2luXSBtaW4tc2l6ZSBoaW50cyB0byBkZXRlcm1pbmUKLSAgICAgKiB0aGVpciBhY3R1YWwgd2lkZ2V0IHNpemUuICBXaGVuIHdlIHNldCBvdXIgc2l6ZSBvdXJzZWx2ZSAoZS5nLiwKKyAgICAgKiB0aGVpciBhY3R1YWwgd2lkZ2V0IHNpemUuICBXaGVuIHdlIHNldCBvdXIgc2l6ZSBvdXJzZWx2ZXMgKGUuZy4sCiAgICAgICogJ3NldCBjb2x1bW5zPScgb3IgaW5pdC4gLWdlb20pIHdlIGJyaWVmbHkgc2V0IHRoZSBtaW4uIHRvIHRoZSBzaXplCiAgICAgICogd2Ugd2lzaCB0byBiZSBpbnN0ZWFkIG9mIHRoZSBsZWdpdGltYXRlIG1pbmltdW0gc28gdGhhdCB3ZSBhY3R1YWxseQogICAgICAqIHJlc2l6ZSBjb3JyZWN0bHkuCkBAIC0zOTU2LDExICszOTU5LDExIEBACiAgKiBoaW50cyAoYW5kIHRodXMgdGhlIHJlcXVpcmVkIHNpemUgZnJvbSAtZ2VvbSksIGJ1dCB0aGF0IGFmdGVyIHRoYXQgd2UKICAqIHB1dCB0aGUgaGludHMgYmFjayB0byBub3JtYWwgKHRoZSBhY3R1YWwgbWluaW11bSBzaXplKSBzbyB3ZSBtYXkKICAqIHN1YnNlcXVlbnRseSBiZSByZXNpemVkIHNtYWxsZXIuICBHdGtTb2NrZXQgKHRoZSBwYXJlbnQgZW5kKSB1c2VzIHRoZQotICogcGx1ZydzIHdpbmRvdyAnbWluIGhpbnRzIHRvIHNldCAqaXQncyogbWludW0gc2l6ZSwgYnV0IHRoYXQncyBhbHNvIHRoZQorICogcGx1ZydzIHdpbmRvdyAnbWluIGhpbnRzIHRvIHNldCAqaXQncyogbWluaW11bSBzaXplLCBidXQgdGhhdCdzIGFsc28gdGhlCiAgKiBvbmx5IHdheSB3ZSBoYXZlIG9mIG1ha2luZyBvdXJzZWx2ZXMgYmlnZ2VyIChieSBzZXQgbGluZXMvY29sdW1ucykuCiAgKiBUaHVzIHNldCBoaW50cyBhdCBzdGFydC11cCB0byBlbnN1cmUgY29ycmVjdCBpbml0LiBzaXplLCB0aGVuIGEKICAqIHNlY29uZCBhZnRlciB0aGUgZmluYWwgYXR0ZW1wdCB0byByZXNldCB0aGUgcmVhbCBtaW5pbXVtIGhpbnN0IChkb25lIGJ5Ci0gKiBzY3JvbGxiYXIgaW5pdC4pLCBhY3R1YWxseSBkbyB0aGUgc3R0YW5kYXJkIGhpbnN0IGFuZCBzdG9wIHRoZSB0aW1lci4KKyAqIHNjcm9sbGJhciBpbml0LiksIGFjdHVhbGx5IGRvIHRoZSBzdGFuZGFyZCBoaW5zdCBhbmQgc3RvcCB0aGUgdGltZXIuCiAgKiBXZSdsbCBub3QgbGV0IHRoZSBkZWZhdWx0IGhpbnRzIGJlIHNldCB3aGlsZSB0aGlzIHRpbWVyJ3MgYWN0aXZlLgogICovCiAvKkFSR1NVU0VEKi8KQEAgLTU0MzAsNyArNTQzMyw3IEBACiAJLyoKIAkgKiBTaW5jZSB3ZSBoYXZlIGFscmVhZHkgY2FsbGVkIGd0a19zZXRfbG9jYWxlIGhlcmUgdGhlIGJ1Z2dlcgogCSAqIFhQYXJzZUNvbG9yIHdpbGwgYWNjZXB0IG9ubHkgZXhwbGljaXQgY29sb3IgbmFtZXMgaW4gdGhlIGxhbmd1YWdlCi0JICogb2YgdGhlIGN1cnJlbnQgbG9jYWxlLiAgSG93ZXZlciB0aGlzIHdpbGwgaW50ZXJmZXJyZSB3aXRoOgorCSAqIG9mIHRoZSBjdXJyZW50IGxvY2FsZS4gIEhvd2V2ZXIgdGhpcyB3aWxsIGludGVyZmVyZSB3aXRoOgogCSAqIDEuIFZpbSdzIGdsb2JhbCBzdGFydHVwIGZpbGVzCiAJICogMi4gRXhwbGljaXQgY29sb3IgbmFtZXMgaW4gLnZpbXJjCiAJICoKQEAgLTYzNTksNyArNjM2Miw3IEBACiB7CiAgICAgaW50ICp0aW1lZF9vdXQgPSAoaW50ICopIGRhdGE7CiAKLSAgICAvKiBKdXN0IGluZm9ybSB0aGUgY2FsbGVyIGFib3V0IHRoZSBvY2N1cmVuY2Ugb2YgaXQgKi8KKyAgICAvKiBKdXN0IGluZm9ybSB0aGUgY2FsbGVyIGFib3V0IHRoZSBvY2N1cnJlbmNlIG9mIGl0ICovCiAgICAgKnRpbWVkX291dCA9IFRSVUU7CiAKICAgICBpZiAoZ3RrX21haW5fbGV2ZWwoKSA+IDApCmRpZmYgLS1naXQgYS9zcmMvZ3VpX3gxMS5jIGIvc3JjL2d1aV94MTEuYwppbmRleCAwMWY0ZTBmLi4zZjJhMjU2IDEwMDY0NAotLS0gYS9zcmMvZ3VpX3gxMS5jCisrKyBiL3NyYy9ndWlfeDExLmMKQEAgLTY0Myw3ICs2NDMsNyBAQAogLyoKICAqIFRoaXMgZnVuY3Rpb24gZmlsbHMgaW4gdGhlIFhSZWN0YW5nbGUgb2JqZWN0IHdpdGggdGhlIGN1cnJlbnQgeCx5CiAgKiBjb29yZGluYXRlcyBhbmQgaGVpZ2h0LCB3aWR0aCBzbyB0aGF0IGFuIFh0VmFTZXRWYWx1ZXMgdG8gdGhlIHNhbWUgc2hlbGwgb2YKLSAqIHRob3NlIHJlc291cmNlcyB3aWxsIHJlc3RvcmUgdGhlIHdpbmRvdyB0byBpdHMgZm9ybWFyIHBvc2l0aW9uIGFuZAorICogdGhvc2UgcmVzb3VyY2VzIHdpbGwgcmVzdG9yZSB0aGUgd2luZG93IHRvIGl0cyBmb3JtZXIgcG9zaXRpb24gYW5kCiAgKiBkaW1lbnNpb25zLgogICoKICAqIE5vdGU6IFRoaXMgZnVuY3Rpb24gbWF5IGZhaWwsIGluIHdoaWNoIGNhc2UgdGhlIFhSZWN0YW5nbGUgd2lsbCBiZQpkaWZmIC0tZ2l0IGEvc3JjL21haW4uYyBiL3NyYy9tYWluLmMKaW5kZXggMzQyNmRjZS4uNDM4Y2I5OSAxMDA2NDQKLS0tIGEvc3JjL21haW4uYworKysgYi9zcmMvbWFpbi5jCkBAIC03NDUsNyArNzQ1LDcgQEAKICAgICAgKiBzd2l0Y2ggdG8gYW5vdGhlciBzY3JlZW4uIEl0IG11c3QgYmUgZG9uZSBhZnRlciBzZXR0bW9kZShUTU9ERV9SQVcpLAogICAgICAqIGJlY2F1c2Ugd2Ugd2FudCB0byByZWFjdCBvbiBhIHNpbmdsZSBrZXkgc3Ryb2tlLgogICAgICAqIENhbGwgc2V0dG1vZGUgYW5kIHN0YXJ0dGVybWNhcCBoZXJlLCBzbyB0aGUgVF9LUyBhbmQgVF9USSBtYXkgYmUKLSAgICAgKiBkZWZpbmVkIGJ5IHRlcm1jYXBpbml0IGFuZCByZWRpZmluZWQgaW4gLmV4cmMuCisgICAgICogZGVmaW5lZCBieSB0ZXJtY2FwaW5pdCBhbmQgcmVkZWZpbmVkIGluIC5leHJjLgogICAgICAqLwogICAgIHNldHRtb2RlKFRNT0RFX1JBVyk7CiAgICAgVElNRV9NU0coInNldHRpbmcgcmF3IG1vZGUiKTsKQEAgLTIyNTMsNyArMjI1Myw3IEBACiAJICogb3V0cHV0IGNvbWluZyB0byB0aGUgY29uc29sZSBhbmQgWE9wZW5EaXNwbGF5IGZhaWxzLCBJIGdldCB2aW0KIAkgKiB0cnlpbmcgdG8gc3RhcnQgd2l0aCBpbnB1dC9vdXRwdXQgdG8gbXkgY29uc29sZSB0dHkuICBUaGlzIGZpbGxzIG15CiAJICogaW5wdXQgYnVmZmVyIHNvIGZhc3QgSSBjYW4ndCBldmVuIGtpbGwgdGhlIHByb2Nlc3MgaW4gdW5kZXIgMgotCSAqIG1pbnV0ZXMgKGFuZCBpdCBiZWVwcyBjb250aW51b3NseSB0aGUgd2hvbGUgdGltZSA6LSkKKwkgKiBtaW51dGVzIChhbmQgaXQgYmVlcHMgY29udGludW91c2x5IHRoZSB3aG9sZSB0aW1lIDotKQogCSAqLwogCWlmICh1c2luZ05ldGJlYW5zICYmICghcGFybXAtPnN0ZG91dF9pc2F0dHkgfHwgIWlucHV0X2lzYXR0eSkpCiAJewpAQCAtMjgwOCw3ICsyODA4LDcgQEAKIH0KIAogLyoKLSAqIEdldCBhbiBldmlyb25tZW50IHZhcmlhYmxlLCBhbmQgZXhlY3V0ZSBpdCBhcyBFeCBjb21tYW5kcy4KKyAqIEdldCBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSwgYW5kIGV4ZWN1dGUgaXQgYXMgRXggY29tbWFuZHMuCiAgKiBSZXR1cm5zIEZBSUwgaWYgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIHdhcyBub3QgZXhlY3V0ZWQsIE9LIG90aGVyd2lzZS4KICAqLwogICAgIGludApkaWZmIC0tZ2l0IGEvc3JjL21lbWZpbGUuYyBiL3NyYy9tZW1maWxlLmMKaW5kZXggMGM0ZDAxYy4uZjFlODVmYyAxMDA2NDQKLS0tIGEvc3JjL21lbWZpbGUuYworKysgYi9zcmMvbWVtZmlsZS5jCkBAIC0xMDk3LDcgKzEwOTcsNyBAQAogCXsKIAkgICAgLyoKIAkgICAgICogQXZvaWQgcmVwZWF0aW5nIHRoZSBlcnJvciBtZXNzYWdlLCB0aGlzIG1vc3RseSBoYXBwZW5zIHdoZW4gdGhlCi0JICAgICAqIGRpc2sgaXMgZnVsbC4gV2UgZ2l2ZSB0aGUgbWVzc2FnZSBhZ2FpbiBvbmx5IGFmdGVyIGEgc3VjY2VzZnVsCisJICAgICAqIGRpc2sgaXMgZnVsbC4gV2UgZ2l2ZSB0aGUgbWVzc2FnZSBhZ2FpbiBvbmx5IGFmdGVyIGEgc3VjY2Vzc2Z1bAogCSAgICAgKiB3cml0ZSBvciB3aGVuIGhpdHRpbmcgYSBrZXkuIFdlIGtlZXAgb24gdHJ5aW5nLCBpbiBjYXNlIHNvbWUKIAkgICAgICogc3BhY2UgYmVjb21lcyBhdmFpbGFibGUuCiAJICAgICAqLwpAQCAtMTE4OSw3ICsxMTg5LDcgQEAKIH0KIAogLyoKLSAqIExvb2t1cCBhIHRyYW5sYXRpb24gZnJvbSB0aGUgdHJhbnMgbGlzdHMgYW5kIGRlbGV0ZSB0aGUgZW50cnkKKyAqIExvb2t1cCBhIHRyYW5zbGF0aW9uIGZyb20gdGhlIHRyYW5zIGxpc3RzIGFuZCBkZWxldGUgdGhlIGVudHJ5CiAgKgogICogUmV0dXJuIHRoZSBwb3NpdGl2ZSBuZXcgbnVtYmVyIHdoZW4gZm91bmQsIHRoZSBvbGQgbnVtYmVyIHdoZW4gbm90IGZvdW5kCiAgKi8KZGlmZiAtLWdpdCBhL3NyYy9wby9zdi5wbyBiL3NyYy9wby9zdi5wbwppbmRleCBlNmJmN2VlLi42ZTQ0ODgxIDEwMDY0NAotLS0gYS9zcmMvcG8vc3YucG8KKysrIGIvc3JjL3BvL3N2LnBvCkBAIC0xLDEyICsxLDEyIEBACiAjIFN3ZWRpc2ggdHJhbnNsYXRpb24gZm9yIFZpbS4KLSMgQ29weXJpZ2h0IChDKSAyMDAzLTIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0jIEpvaGFuIFN2ZWRiZXJnIDxqb2hhbkBzdmVkYmVyZy5jb20+LCAyMDAzLTIwMDYuCisjIENvcHlyaWdodCAoQykgMjAwMy0yMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBKb2hhbiBTdmVkYmVyZyA8am9oYW5Ac3ZlZGJlcmcuY29tPiwgMjAwMy0yMDA3LgogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogVmltIDdcbiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IFZpbSA3LjFcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMDQtMTAgMTc6MjQrMDIwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDYtMDQtMTEgMDE6MDgrMDIwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA3LTA1LTA5IDE0OjI3KzAyMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDA3LTA1LTA5IDE0OjUyJXpcbiIKICJMYXN0LVRyYW5zbGF0b3I6IEpvaGFuIFN2ZWRiZXJnIDxqb2hhbkBzdmVkYmVyZy5jb20+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogU3dlZGlzaCA8dHAtc3ZAbGlzdG9yLnRwLXN2LnNlPlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCkBAIC0xOTEsNiArMTkxLDkgQEAKIG1zZ2lkICJFOTk6IEN1cnJlbnQgYnVmZmVyIGlzIG5vdCBpbiBkaWZmIG1vZGUiCiBtc2dzdHIgIkU5OTogQWt0dWVsbCBidWZmZXJ0IORyIGludGUgaSBza2lsamVs5GdlIgogCittc2dpZCAiRTc5MzogTm8gb3RoZXIgYnVmZmVyIGluIGRpZmYgbW9kZSBpcyBtb2RpZmlhYmxlIgorbXNnc3RyICJFNzkzOiBJbmdlbiBhbm5hbiBidWZmZXJ0IGkgc2tpbGplbORnZSDkciDkbmRyaW5nc2JhciIKKwogbXNnaWQgIkUxMDA6IE5vIG90aGVyIGJ1ZmZlciBpbiBkaWZmIG1vZGUiCiBtc2dzdHIgIkUxMDA6IEluZ2VuIGFubmFuIGJ1ZmZlcnQgaSBza2lsamVs5GdlIgogCkBAIC0yMDYsNiArMjA5LDkgQEAKIG1zZ2lkICJFMTAzOiBCdWZmZXIgXCIlc1wiIGlzIG5vdCBpbiBkaWZmIG1vZGUiCiBtc2dzdHIgIkUxMDM6IEJ1ZmZlcnQgXCIlc1wiIORyIGludGUgaSBza2lsamVs5GdlIgogCittc2dpZCAiRTc4NzogQnVmZmVyIGNoYW5nZWQgdW5leHBlY3RlZGx5IgorbXNnc3RyICJFNzg3OiBCdWZmZXJ0IORuZHJhZGVzIG925G50YXQiCisKIG1zZ2lkICJFMTA0OiBFc2NhcGUgbm90IGFsbG93ZWQgaW4gZGlncmFwaCIKIG1zZ3N0ciAiRTEwNDogRXNjYXBlIGludGUgdGlsbOV0ZXQgaSBkaWdyYWYiCiAKQEAgLTIxNSwxMiArMjIxLDE1IEBACiBtc2dpZCAiRTEwNTogVXNpbmcgOmxvYWRrZXltYXAgbm90IGluIGEgc291cmNlZCBmaWxlIgogbXNnc3RyICJFMTA1OiBBbnbkbmRuaW5nIGF2IDpsb2Fka2V5bWFwIHV0YW5m9nIgZW4ga/ZyZCBmaWwiCiAKK21zZ2lkICJFNzkxOiBFbXB0eSBrZXltYXAgZW50cnkiCittc2dzdHIgIkU3OTE6IFRvbXQgdGFuZ2VudGJvcmRzLXBvc3QiCisKIG1zZ2lkICIgS2V5d29yZCBjb21wbGV0aW9uICheTl5QKSIKIG1zZ3N0ciAiIE55Y2tlbG9yZHNrb21wbGV0dGVyaW5nICheTl5QKSIKIAogIy4gY3RybF94X21vZGUgPT0gMCwgXlAvXk4gY29tcGwuCi1tc2dpZCAiIF5YIG1vZGUgKF5dXkReRV5GXkleS15MXk5eT15QXlNeVV5WXlkpIgotbXNnc3RyICIgXlgtbORnZSAoXl1eRF5FXkZeSV5LXkxeTl5PXlBeU15VXlZeWSkiCittc2dpZCAiIF5YIG1vZGUgKF5dXkReRV5GXkleS15MXk5eT15Qc15VXlZeWSkiCittc2dzdHIgIiBeWC1s5GdlICheXV5EXkVeRl5JXkteTF5OXk9eUHNeVV5WXlkpIgogCiBtc2dpZCAiIFdob2xlIGxpbmUgY29tcGxldGlvbiAoXkxeTl5QKSIKIG1zZ3N0ciAiIEhlbHJhZHNrb21wbGV0dGVyaW5nICheTF5OXlApIgpAQCAtMjUyLDggKzI2MSw4IEBACiBtc2dpZCAiIE9tbmkgY29tcGxldGlvbiAoXk9eTl5QKSIKIG1zZ3N0ciAiIE9tbmlrb21wbGV0dGVyaW5nICheT15OXlApIgogCi1tc2dpZCAiIFNwZWxsaW5nIHN1Z2dlc3Rpb24gKF5TXk5eUCkiCi1tc2dzdHIgIiBTdGF2bmluZ3Nm9nJzbGFnICheU15OXlApIgorbXNnaWQgIiBTcGVsbGluZyBzdWdnZXN0aW9uIChzXk5eUCkiCittc2dzdHIgIiBTdGF2bmluZ3Nm9nJzbGFnIChzXk5eUCkiCiAKIG1zZ2lkICIgS2V5d29yZCBMb2NhbCBjb21wbGV0aW9uICheTl5QKSIKIG1zZ3N0ciAiIExva2FsIG55Y2tlbG9yZHNrb21wbGV0dGVyaW5nICheTl5QKSIKQEAgLTQ4OCw2ICs0OTcsMjIgQEAKIG1zZ2lkICJFNzI0OiB2YXJpYWJsZSBuZXN0ZWQgdG9vIGRlZXAgZm9yIGRpc3BsYXlpbmciCiBtc2dzdHIgIkU3MjQ6IHZhcmlhYmVsIG7kc3RsYWQgZvZyIGRqdXB0IGb2ciBhdHQgdmlzYXMiCiAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTExNzogVW5rbm93biBmdW5jdGlvbjogJXMiCittc2dzdHIgIkUxMTc6IE9r5G5kIGZ1bmt0aW9uOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMTE5OiBOb3QgZW5vdWdoIGFyZ3VtZW50cyBmb3IgZnVuY3Rpb246ICVzIgorbXNnc3RyICJFMTE5OiBG9nIgZuUgYXJndW1lbnQgdGlsbCBmdW5rdGlvbjogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTEyMDogVXNpbmcgPFNJRD4gbm90IGluIGEgc2NyaXB0IGNvbnRleHQ6ICVzIgorbXNnc3RyICJFMTIwOiBBbnbkbmRlciBpbnRlIDxTSUQ+IGkgZXR0IHNrcmlwdHNhbW1hbmhhbmc6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3MjU6IENhbGxpbmcgZGljdCBmdW5jdGlvbiB3aXRob3V0IERpY3Rpb25hcnk6ICVzIgorbXNnc3RyICJFNzI1OiBBbnJvcGFyIHRhYmVsbC1mdW5rdGlvbiB1dGFuIFRhYmVsbDogJXMiCisKIG1zZ2lkICJFNjk5OiBUb28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgIkU2OTk6IEb2ciBt5W5nYSBhcmd1bWVudCIKIApAQCAtNTI0LDggKzU0OSw4IEBACiBtc2dpZCAiY2FsbGVkIGlucHV0cmVzdG9yZSgpIG1vcmUgb2Z0ZW4gdGhhbiBpbnB1dHNhdmUoKSIKIG1zZ3N0ciAiYW5yb3BhZGUgaW5wdXRyZXN0b3JlKCkgb2Z0YXJlIORuIGlucHV0c2F2ZSgpIgogCi1tc2dpZCAiRTc0NTogUmFuZ2Ugbm90IGFsbG93ZWQiCi1tc2dzdHIgIkU3NDU6IE9tcuVkZSBvdGlsbOV0ZXQiCittc2dpZCAiRTc4NjogUmFuZ2Ugbm90IGFsbG93ZWQiCittc2dzdHIgIkU3ODY6IE9tcuVkZSBvdGlsbOV0ZXQiCiAKIG1zZ2lkICJFNzAxOiBJbnZhbGlkIHR5cGUgZm9yIGxlbigpIgogbXNnc3RyICJFNzAxOiBPZ2lsdGlnIHR5cCBm9nIgbGVuKCkiCkBAIC01OTUsNiArNjIwLDEwIEBACiBtc2dzdHIgIkU3MDY6IFZhcmlhYmVsdHlwIG1hdGNoYXIgaW50ZSBm9nI6ICVzIgogCiAjLCBjLWZvcm1hdAorbXNnaWQgIkU3OTU6IENhbm5vdCBkZWxldGUgdmFyaWFibGUgJXMiCittc2dzdHIgIkU3OTU6IEthbiBpbnRlIHRhIGJvcnQgdmFyaWFiZWwgJXMiCisKKyMsIGMtZm9ybWF0CiBtc2dpZCAiRTc0MTogVmFsdWUgaXMgbG9ja2VkOiAlcyIKIG1zZ3N0ciAiRTc0MTogVuRyZGUg5HIgbOVzdDogJXMiCiAKQEAgLTg1OCw2ICs4ODcsNyBAQAogbXNnaWQgIiBGQUlMRUQiCiBtc2dzdHIgIiBNSVNTTFlDS0FERVMiCiAKKyMuIGF2b2lkIGEgd2FpdF9yZXR1cm4gZm9yIHRoaXMgbWVzc2FnZSwgaXQncyBhbm5veWluZwogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTM3OiBWaW1pbmZvIGZpbGUgaXMgbm90IHdyaXRhYmxlOiAlcyIKIG1zZ3N0ciAiRTEzNzogVmltaW5mby1maWwg5HIgaW50ZSBza3JpdmJhcjogJXMiCkBAIC0xMzgzLDYgKzE0MTMsOSBAQAogbXNnaWQgIkUxOTM6IDplbmRmdW5jdGlvbiBub3QgaW5zaWRlIGEgZnVuY3Rpb24iCiBtc2dzdHIgIkUxOTM6IDplbmRmdW5jdGlvbiBpbnRlIGlub20gZW4gZnVua3Rpb24iCiAKK21zZ2lkICJFNzg4OiBOb3QgYWxsb3dlZCB0byBlZGl0IGFub3RoZXIgYnVmZmVyIG5vdyIKK21zZ3N0ciAiRTc4ODogSW50ZSB0aWxs5XRldCBhdHQgcmVkaWdlcmEgZW4gYW5uYW4gYnVmZmVydCBudSIKKwogbXNnaWQgInRhZ25hbWUiCiBtc2dzdHIgInRhZ2duYW1uIgogCkBAIC0xNDI3LDYgKzE0NjAsOSBAQAogbXNnaWQgImlzIG5vdCBhIGZpbGUiCiBtc2dzdHIgIuRyIGludGUgZW4gZmlsIgogCittc2dpZCAiaXMgYSBkZXZpY2UgKGRpc2FibGVkIHdpdGggJ29wZW5kZXZpY2UnIG9wdGlvbiIKK21zZ3N0ciAi5HIgZW4gZW5oZXQgKGluYWt0aXZlcmFkIG1lZCAnb3BlbmRldmljZSctZmxhZ2dhIgorCiBtc2dpZCAiW05ldyBGaWxlXSIKIG1zZ3N0ciAiW055IGZpbF0iCiAKQEAgLTE1MjQsNiArMTU2MCw5IEBACiBtc2dpZCAiaXMgbm90IGEgZmlsZSBvciB3cml0YWJsZSBkZXZpY2UiCiBtc2dzdHIgIuRyIGludGUgZW4gZmlsIGVsbGVyIHNrcml2YmFyIGVuaGV0IgogCittc2dpZCAid3JpdGluZyB0byBkZXZpY2UgZGlzYWJsZWQgd2l0aCAnb3BlbmRldmljZScgb3B0aW9uIgorbXNnc3RyICJza3JpdmVyIHRpbGwgZW4gZW5oZXQgaW5ha3RpdmVyYWQgbWVkICdvcGVuZGV2aWNlJy1mbGFnZ2EiCisKIG1zZ2lkICJpcyByZWFkLW9ubHkgKGFkZCAhIHRvIG92ZXJyaWRlKSIKIG1zZ3N0ciAi5HIgc2tyaXZza3lkZGFkIChs5GdnIHRpbGwgISBm9nIgYXR0IHR2aW5nYSkiCiAKQEAgLTI0ODAsMTIgKzI1MTksMzMgQEAKIG1zZ2lkICJubyBzdWNoIHdpbmRvdyIKIG1zZ3N0ciAiaW5nZXQgc+VkYW50IGb2bnN0ZXIiCiAKK21zZ2lkICJFMjY1OiAkXyBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFN0cmluZyIKK21zZ3N0ciAiRTI2NTogJF8gbeVzdGUgdmFyYSBlbiBpbnN0YW5zIGF2IFN0cmluZyIKKwogbXNnaWQgIiIKICJFMjY2OiBTb3JyeSwgdGhpcyBjb21tYW5kIGlzIGRpc2FibGVkLCB0aGUgUnVieSBsaWJyYXJ5IGNvdWxkIG5vdCBiZSBsb2FkZWQuIgogbXNnc3RyICIiCiAiRTI2NjogVHl25HJyLCBkZXR0YSBrb21tYW5kb3Qg5HIgaW5ha3RpdmVyYXQsIFJ1YnktYmlibGlvdGVrZXQga3VuZGUgaW50ZSAiCiAibORzYXMgaW4uIgogCittc2dpZCAiRTI2NzogdW5leHBlY3RlZCByZXR1cm4iCittc2dzdHIgIkUyNjc6IG925G50YWQgcmV0dXJuZXJpbmciCisKK21zZ2lkICJFMjY4OiB1bmV4cGVjdGVkIG5leHQiCittc2dzdHIgIkUyNjg6IG925G50YWQgbmV4dCIKKworbXNnaWQgIkUyNjk6IHVuZXhwZWN0ZWQgYnJlYWsiCittc2dzdHIgIkUyNjk6IG925G50YWQgYnJlYWsiCisKK21zZ2lkICJFMjcwOiB1bmV4cGVjdGVkIHJlZG8iCittc2dzdHIgIkUyNzA6IG925G50YWQgcmVkbyIKKworbXNnaWQgIkUyNzE6IHJldHJ5IG91dHNpZGUgb2YgcmVzY3VlIGNsYXVzZSIKK21zZ3N0ciAiRTI3MTogcmV0cnkgdXRhbmb2ciByZXNjdWUtYmxvY2siCisKK21zZ2lkICJFMjcyOiB1bmhhbmRsZWQgZXhjZXB0aW9uIgorbXNnc3RyICJFMjcyOiBvaGFudGVyYXQgdW5kYW50YWciCisKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTI3MzogdW5rbm93biBsb25nam1wIHN0YXR1cyAlZCIKIG1zZ3N0ciAiRTI3Mzogb2vkbnQgbG9uZ2ptcC1zdGF0dXMgJWQiCkBAIC0yNzU1LDggKzI4MTUsMTIgQEAKICJcbiIKICIgICAgIGVsbGVyOiIKIAotbXNnaWQgIndoZXJlIGNhc2UgaXMgaWdub3JlZCBwcmVwZW5kIC8gdG8gbWFrZSBmbGFnIHVwcGVyIGNhc2UiCi1tc2dzdHIgImTkciBzdG9ybGVrIGlnbm9yZXJhcyBi9nJqYSBtZWQgLyBm9nIgYXR0IGf2cmEgZmxhZ2dhIHZlcnNhbCIKK21zZ2lkICIiCisiXG4iCisiV2hlcmUgY2FzZSBpcyBpZ25vcmVkIHByZXBlbmQgLyB0byBtYWtlIGZsYWcgdXBwZXIgY2FzZSIKK21zZ3N0ciAiIgorIlxuIgorIkTkciBzdG9ybGVrIGlnbm9yZXJhcyBi9nJqYSBtZWQgLyBm9nIgYXR0IGf2cmEgZmxhZ2dhIHZlcnNhbCIKIAogbXNnaWQgIiIKICJcbiIKQEAgLTI4MjQsOCArMjg4OCw4IEBACiBtc2dpZCAiLU5cdFx0XHROb3QgZnVsbHkgVmkgY29tcGF0aWJsZTogJ25vY29tcGF0aWJsZSciCiBtc2dzdHIgIi1OXHRcdFx0SW50ZSBmdWxsdCBWaS1rb21wYXRpYmVsOiAnbm9jb21wYXRpYmxlJyIKIAotbXNnaWQgIi1WW05dXHRcdFZlcmJvc2UgbGV2ZWwiCi1tc2dzdHIgIi1WW05dXHRcdE3lbmdvcmRpZ3QgbORnZSIKK21zZ2lkICItVltOXVtmbmFtZV1cdFx0QmUgdmVyYm9zZSBbbGV2ZWwgTl0gW2xvZyBtZXNzYWdlcyB0byBmbmFtZV0iCittc2dzdHIgIi1WW05dW2ZuYW1uXVx0XHRWYXIgbeVuZ29yZGlnIFtuaXblIE5dIFtsb2dnYSBtZWRkZWxhbmRlbiB0aWxsIGZuYW1uXSIKIAogbXNnaWQgIi1EXHRcdFx0RGVidWdnaW5nIG1vZGUiCiBtc2dzdHIgIi1EXHRcdFx0RmVsc/ZrbmluZ3Ns5GdlIgpAQCAtMzI1Niw2ICszMzIwLDkgQEAKICIsXG4iCiAiZWxsZXIgc+UgaGFyIGZpbGVuIGJsaXZpdCBza2FkYWQuIgogCittc2dpZCAiIGhhcyBiZWVuIGRhbWFnZWQgKHBhZ2Ugc2l6ZSBpcyBzbWFsbGVyIHRoYW4gbWluaW11bSB2YWx1ZSkuXG4iCittc2dzdHIgIiBoYXIgc2thZGF0cyAoc2lkLXN0b3JsZWsg5HIgbWluZHJlIORuIG1pbmltdW125HJkZXQpLlxuIgorCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzaW5nIHN3YXAgZmlsZSBcIiVzXCIiCiBtc2dzdHIgIkFuduRuZGVyIHbkeGxpbmdzZmlsIFwiJXNcIiIKQEAgLTM1OTcsNiArMzY2NCwxMCBAQAogbXNnaWQgIkUzMjk6IE5vIG1lbnUgXCIlc1wiIgogbXNnc3RyICJFMzI5OiBJbmdlbiBtZW55IFwiJXNcIiIKIAorIy4gT25seSBhIG1uZW1vbmljIG9yIGFjY2VsZXJhdG9yIGlzIG5vdCB2YWxpZC4KK21zZ2lkICJFNzkyOiBFbXB0eSBtZW51IG5hbWUiCittc2dzdHIgIkU3OTI6IFRvbXQgbWVueW5hbW4iCisKIG1zZ2lkICJFMzMwOiBNZW51IHBhdGggbXVzdCBub3QgbGVhZCB0byBhIHN1Yi1tZW51IgogbXNnc3RyICJFMzMwOiBNZW55c/ZrduRnIGblciBpbnRlIGxlZGEgdGlsbCBlbiB1bmRlcm1lbnkiCiAKQEAgLTQxOTksOSArNDI3MCw2IEBACiBtc2dpZCAiSS9PIEVSUk9SIgogbXNnc3RyICJJL08tRkVMIgogCi1tc2dpZCAiLi4uKHRydW5jYXRlZCkiCi1tc2dzdHIgIi4uLih0cnVua2VyYWRlKSIKLQogbXNnaWQgIk1lc3NhZ2UiCiBtc2dzdHIgIk1lZGRlbGFuZGUiCiAKQEAgLTQ2NDIsNiArNDcxMCwxNiBAQAogbXNnaWQgIkUzODk6IENvdWxkbid0IGZpbmQgcGF0dGVybiIKIG1zZ3N0ciAiRTM4OTogS3VuZGUgaW50ZSBoaXR0YSBt9m5zdGVyIgogCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIjIExhc3QgJXNTZWFyY2ggUGF0dGVybjpcbiIKKyJ+IgorbXNnc3RyICIiCisiXG4iCisiIyBTZW5hc3RlICVzU/ZrbfZuc3RlcjpcbiIKKyJ+IgorCiBtc2dpZCAiRTc1OTogRm9ybWF0IGVycm9yIGluIHNwZWxsIGZpbGUiCiBtc2dzdHIgIkU3NTk6IEZvcm1hdGVyaW5nc2ZlbCBpIHN0YXZuaW5nc2ZpbCIKIApAQCAtNDcxNyw2ICs0Nzk1LDIwIEBACiBtc2dzdHIgIkZMQUcgZWZ0ZXIgYW525G5kbmluZyBhdiBmbGFncyBpICVzIHJhZCAlZDogJXMiCiAKICMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkRlZmluaW5nIENPTVBPVU5ERk9SQklERkxBRyBhZnRlciBQRlggaXRlbSBtYXkgZ2l2ZSB3cm9uZyByZXN1bHRzIGluICVzIGxpbmUgIgorIiVkIgorbXNnc3RyICIiCisiRGVmaW5pZXJhIENPTVBPVU5ERk9SQklERkxBRyBlZnRlciBQRlgtcG9zdCBrYW4gZ2UgZmVsIHJlc3VsdGF0IGkgJXMgcmFkICVkIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJEZWZpbmluZyBDT01QT1VORFBFUk1JVEZMQUcgYWZ0ZXIgUEZYIGl0ZW0gbWF5IGdpdmUgd3JvbmcgcmVzdWx0cyBpbiAlcyBsaW5lICIKKyIlZCIKK21zZ3N0ciAiRGVmaW5pZXJhIENPTVBPVU5EUEVSTUlURkxBRyBlZnRlciBQRlgtcG9zdCBrYW4gZ2UgZmVsIHJlc3VsdGF0IGkgJXMgIgorInJhZCAlZCIKKworIywgYy1mb3JtYXQKIG1zZ2lkICJXcm9uZyBDT01QT1VORFdPUkRNQVggdmFsdWUgaW4gJXMgbGluZSAlZDogJXMiCiBtc2dzdHIgIkZlbCBDT01QT1VORFdPUkRNQVgtduRyZGUgaSAlcyByYWQgJWQ6ICVzIgogCkBAIC00NzQ1LDggKzQ4MzcsOCBAQAogIkFmZml4IGFsc28gdXNlZCBmb3IgQkFEL1JBUkUvS0VFUENBU0UvTkVFREFGRklYL05FRURDT01QT1VORC9OT1NVR0dFU1QgaW4gJXMgIgogImxpbmUgJWQ6ICVzIgogbXNnc3RyICIiCi0iQWZmaXggb2Nrc+UgYW525G5kIGb2ciBCQUQvUkFSRS9LRUVQQ0FTRS9ORUVEQUZGSVgvTkVFRENPTVBPVU5EL05PU1VHR0VTVCBpICIKLSIlcyByYWQgJWQ6ICVzIgorIkFmZml4IG9ja3PlIGFuduRuZCBm9nIgQkFEL1JBUkUvS0VFUENBU0UvTkVFREFGRklYL05FRURDT01QT1VORC9OT1NVR0dFU1QgaSAlIgorInMgcmFkICVkOiAlcyIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RlZCBZIG9yIE4gaW4gJXMgbGluZSAlZDogJXMiCkBAIC00NzU3LDEwICs0ODQ5LDYgQEAKIG1zZ3N0ciAiVHJhc2lndCB2aWxsa29yIGkgJXMgcmFkICVkOiAlcyIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICJBZmZpeCBmbGFncyBpZ25vcmVkIHdoZW4gUEZYUE9TVFBPTkUgdXNlZCBpbiAlcyBsaW5lICVkOiAlcyIKLW1zZ3N0ciAiQWZmaXgtZmxhZ2dvciBpZ25vcmVyYWRlIG7kciBQRlhQT1NUUE9ORSBhbnbkbmRzIGkgJXMgcmFkICVkOiAlcyIKLQotIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RlZCBSRVAoU0FMKSBjb3VudCBpbiAlcyBsaW5lICVkIgogbXNnc3RyICJG9nJ25G50YWRlIFJFUChTQUwpLWFudGFsIGkgJXMgcmFkICVkIgogCkBAIC00OTQ4LDYgKzUwMzYsNyBAQAogbXNnaWQgIlNvcnJ5LCBvbmx5ICVsZCBzdWdnZXN0aW9ucyIKIG1zZ3N0ciAiVHl25HJyLCBiYXJhICVsZCBm9nJlc2xhZyIKIAorIy4gZm9yIHdoZW4gJ2NtZGhlaWdodCcgPiAxCiAjLiBhdm9pZCBtb3JlIHByb21wdAogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGFuZ2UgXCIlLipzXCIgdG86IgpAQCAtNTM0OSw2ICs1NDM4LDEzIEBACiBtc2dpZCAibnVtYmVyIGNoYW5nZXMgIHRpbWUiCiBtc2dzdHIgImFudGFsIORuZHJpbmdhciAgdGlkIgogCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBzZWNvbmRzIGFnbyIKK21zZ3N0ciAiJWxkIHNla3VuZGVyIHNlZGFuIgorCittc2dpZCAiRTc5MDogdW5kb2pvaW4gaXMgbm90IGFsbG93ZWQgYWZ0ZXIgdW5kbyIKK21zZ3N0ciAiRTc5MDogdW5kb2pvaW4g5HIgaW50ZSB0aWxs5XRldCBlZnRlciB1bmRvIgorCiBtc2dpZCAiRTQzOTogdW5kbyBsaXN0IGNvcnJ1cHQiCiBtc2dzdHIgIkU0Mzk6IOVuZ3JhLWxpc3RhIHRyYXNpZyIKIApAQCAtNTM2NSw2ICs1NDYxLDEzIEBACiAKIG1zZ2lkICIiCiAiXG4iCisiTVMtV2luZG93cyA2NCBiaXQgR1VJIHZlcnNpb24iCittc2dzdHIgIiIKKyJcbiIKKyJNUy1XaW5kb3dzIDY0LWJpdGFycyBHVUktdmVyc2lvbiIKKworbXNnaWQgIiIKKyJcbiIKICJNUy1XaW5kb3dzIDMyIGJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgpAQCAtNTY1NSw2ICs1NzU4LDkgQEAKIG1zZ2lkICJ0eXBlICA6aGVscCB3aW5kb3dzOTU8RW50ZXI+ICBmb3IgaW5mbyBvbiB0aGlzIgogbXNnc3RyICJza3JpdiAgOmhlbHAgd2luZG93czk1PEVudGVyPiAgZvZyIGluZm8gb20gZGV0IGjkciIKIAorbXNnaWQgIkFscmVhZHkgb25seSBvbmUgd2luZG93IgorbXNnc3RyICJSZWRhbiBiYXJhIGV0dCBm9m5zdGVyIgorCiBtc2dpZCAiRTQ0MTogVGhlcmUgaXMgbm8gcHJldmlldyB3aW5kb3ciCiBtc2dzdHIgIkU0NDE6IERldCBmaW5ucyBpbmdldCBm9nJoYW5kc3Zpc25pbmdzZvZuc3RlciIKIApAQCAtNTY2Nyw5ICs1NzczLDYgQEAKIG1zZ2lkICJFNDQ0OiBDYW5ub3QgY2xvc2UgbGFzdCB3aW5kb3ciCiBtc2dzdHIgIkU0NDQ6IEthbiBpbnRlIHN05G5nYSBzZW5hc3RlIGb2bnN0cmV0IgogCi1tc2dpZCAiQWxyZWFkeSBvbmx5IG9uZSB3aW5kb3ciCi1tc2dzdHIgIlJlZGFuIGJhcmEgZXR0IGb2bnN0ZXIiCi0KIG1zZ2lkICJFNDQ1OiBPdGhlciB3aW5kb3cgY29udGFpbnMgY2hhbmdlcyIKIG1zZ3N0ciAiRTQ0NTogQW5kcmEgZvZuc3RlciBpbm5laOVsbGVyIORuZHJpbmdhciIKIApAQCAtNTk2MSw4ICs2MDY0LDggQEAKIG1zZ3N0ciAiRTQ2OiBLYW4gaW50ZSDkbmRyYSBza3JpdnNreWRkYWQgdmFyaWFiZWwgXCIlc1wiIgogCiAjLCBjLWZvcm1hdAotbXNnaWQgIkU0NjogQ2Fubm90IHNldCB2YXJpYWJsZSBpbiB0aGUgc2FuZGJveDogXCIlc1wiIgotbXNnc3RyICJFNDY6IEthbiBpbnRlIHPkdHRhIHZhcmlhYmVsIGkgc2FuZGzlZGFuOiBcIiVzXCIiCittc2dpZCAiRTc5NDogQ2Fubm90IHNldCB2YXJpYWJsZSBpbiB0aGUgc2FuZGJveDogXCIlc1wiIgorbXNnc3RyICJFNzk0OiBLYW4gaW50ZSBz5HR0YSB2YXJpYWJlbCBpIHNhbmRs5WRhbjogXCIlc1wiIgogCiBtc2dpZCAiRTQ3OiBFcnJvciB3aGlsZSByZWFkaW5nIGVycm9yZmlsZSIKIG1zZ3N0ciAiRTQ3OiBGZWwgdmlkIGzkc25pbmcgYXYgZmVsZmlsIgpkaWZmIC0tZ2l0IGEvc3JjL3VpLmMgYi9zcmMvdWkuYwppbmRleCBjMmEyMjRkLi4wOWRjYjQ3IDEwMDY0NAotLS0gYS9zcmMvdWkuYworKysgYi9zcmMvdWkuYwpAQCAtMjM1NSw3ICsyMzU1LDcgQEAKIAogLyoKICAqIE1vdmUgdGhlIGN1cnNvciB0byB0aGUgc3BlY2lmaWVkIHJvdyBhbmQgY29sdW1uIG9uIHRoZSBzY3JlZW4uCi0gKiBDaGFuZ2UgY3VycmVudCB3aW5kb3cgaWYgbmVjY2VzYXJ5LglSZXR1cm5zIGFuIGludGVnZXIgd2l0aCB0aGUKKyAqIENoYW5nZSBjdXJyZW50IHdpbmRvdyBpZiBuZWNlc3NhcnkuCVJldHVybnMgYW4gaW50ZWdlciB3aXRoIHRoZQogICogQ1VSU09SX01PVkVEIGJpdCBzZXQgaWYgdGhlIGN1cnNvciBoYXMgbW92ZWQgb3IgdW5zZXQgb3RoZXJ3aXNlLgogICoKICAqIFRoZSBNT1VTRV9GT0xEX0NMT1NFIGJpdCBpcyBzZXQgd2hlbiBjbGlja2VkIG9uIHRoZSAnLScgaW4gYSBmb2xkIGNvbHVtbi4KQEAgLTI0MjIsNyArMjQyMiw3IEBACiAJICAgICYmIHByZXZfY29sID09IG1vdXNlX2NvbCkKICAgICB7CiByZXRub21vdmU6Ci0JLyogYmVmb3JlIG1vdmluZyB0aGUgY3Vyc29yIGZvciBhIGxlZnQgY2xpY2sgd2ljaCBpcyBOT1QgaW4gYSBzdGF0dXMKKwkvKiBiZWZvcmUgbW92aW5nIHRoZSBjdXJzb3IgZm9yIGEgbGVmdCBjbGljayB3aGljaCBpcyBOT1QgaW4gYSBzdGF0dXMKIAkgKiBsaW5lLCBzdG9wIFZpc3VhbCBtb2RlICovCiAJaWYgKG9uX3N0YXR1c19saW5lKQogCSAgICByZXR1cm4gSU5fU1RBVFVTX0xJTkU7Cg==