ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2NoYW5nZS50eHQgYi9ydW50aW1lL2RvYy9jaGFuZ2UudHh0CmluZGV4IDE5NTI4ZWQuLmZlNTE4ZDEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2NoYW5nZS50eHQKKysrIGIvcnVudGltZS9kb2MvY2hhbmdlLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpjaGFuZ2UudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4zLiAgTGFzdCBjaGFuZ2U6IDIwMTAgSnVsIDI5CisqY2hhbmdlLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDExIEZlYiAyNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNjkwLDcgKzY5MCw4IEBACiBvcmRlciB0byBza2lwIHRoZSBwYXR0ZXJuIHRoZSAibWFnaWNuZXNzIiBtdXN0IGJlIGtub3duLiAgQ2F0Y2ggMjIhCiAKIElmIHRoZSB7cGF0dGVybn0gZm9yIHRoZSBzdWJzdGl0dXRlIGNvbW1hbmQgaXMgZW1wdHksIHRoZSBjb21tYW5kIHVzZXMgdGhlCi1wYXR0ZXJuIGZyb20gdGhlIGxhc3Qgc3Vic3RpdHV0ZSBvciAiOmdsb2JhbCIgY29tbWFuZC4gIFdpdGggdGhlIFtyXSBmbGFnLCB0aGUKK3BhdHRlcm4gZnJvbSB0aGUgbGFzdCBzdWJzdGl0dXRlIG9yICI6Z2xvYmFsIiBjb21tYW5kLiAgSWYgdGhlcmUgaXMgbm9uZSwgYnV0Cit0aGVyZSBpcyBhIHByZXZpb3VzIHNlYXJjaCBwYXR0ZXJuLCB0aGF0IG9uZSBpcyB1c2VkLiAgV2l0aCB0aGUgW3JdIGZsYWcsIHRoZQogY29tbWFuZCB1c2VzIHRoZSBwYXR0ZXJuIGZyb20gdGhlIGxhc3Qgc3Vic3RpdHV0ZSwgIjpnbG9iYWwiLCBvciBzZWFyY2gKIGNvbW1hbmQuCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2VkaXRpbmcudHh0IGIvcnVudGltZS9kb2MvZWRpdGluZy50eHQKaW5kZXggMjZmNzEyZi4uMTdhOGNhMyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZWRpdGluZy50eHQKKysrIGIvcnVudGltZS9kb2MvZWRpdGluZy50eHQKQEAgLTEsNCArMSw0IEBACi0qZWRpdGluZy50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDExIEphbiAyNworKmVkaXRpbmcudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMSBGZWIgMjYKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTI3NiwxMCArMjc2LDExIEBACiAJCQkncmVhZG9ubHknIG9wdGlvbiBmb3IgdGhpcyBidWZmZXIuICB7bm90IGluIFZpfQogCiAJCQkJCQkJKkNUUkwtXiogKkNUUkwtNioKLUNUUkwtXgkJCUVkaXQgdGhlIGFsdGVybmF0ZSBmaWxlIChlcXVpdmFsZW50IHRvICI6ZSAjIikuCi0JCQlNb3N0bHkgdGhlIGFsdGVybmF0ZSBmaWxlIGlzIHRoZSBwcmV2aW91c2x5IGVkaXRlZAotCQkJZmlsZS4gIFRoaXMgaXMgYSBxdWljayB3YXkgdG8gdG9nZ2xlIGJldHdlZW4gdHdvCi0JCQlmaWxlcy4KK0NUUkwtXgkJCUVkaXQgdGhlIGFsdGVybmF0ZSBmaWxlLiAgTW9zdGx5IHRoZSBhbHRlcm5hdGUgZmlsZSBpcworCQkJdGhlIHByZXZpb3VzbHkgZWRpdGVkIGZpbGUuICBUaGlzIGlzIGEgcXVpY2sgd2F5IHRvCisJCQl0b2dnbGUgYmV0d2VlbiB0d28gZmlsZXMuICBJdCBpcyBlcXVpdmFsZW50IHRvICI6ZSAjIiwKKwkJCWV4Y2VwdCB0aGF0IGl0IGFsc28gd29ya3Mgd2hlbiB0aGVyZSBpcyBubyBmaWxlIG5hbWUuCisKIAkJCUlmIHRoZSAnYXV0b3dyaXRlJyBvciAnYXV0b3dyaXRlYWxsJyBvcHRpb24gaXMgb24gYW5kCiAJCQl0aGUgYnVmZmVyIHdhcyBjaGFuZ2VkLCB3cml0ZSBpdC4KIAkJCU1vc3RseSB0aGUgXiBjaGFyYWN0ZXIgaXMgcG9zaXRpb25lZCBvbiB0aGUgNiBrZXksCkBAIC0xMzg3LDYgKzEzODgsOCBAQAogfHZpbXJjfCBmaWxlOiA+CiAJc2V0IGNtPXppcAogCXNldCBjbT1ibG93ZmlzaAorVGhlIG1lc3NhZ2UgZ2l2ZW4gZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmcgYSBmaWxlIHdpbGwgc2hvdyAiW2NyeXB0ZWRdIiB3aGVuCit1c2luZyB6aXAsICJbYmxvd2Zpc2hdIiB3aGVuIHVzaW5nIGJsb3dmaXNoLgogCiBXaGVuIHdyaXRpbmcgYW4gdW5kbyBmaWxlLCB0aGUgc2FtZSBrZXkgYW5kIG1ldGhvZCB3aWxsIGJlIHVzZWQgZm9yIHRoZSB0ZXh0CiBpbiB0aGUgdW5kbyBmaWxlLiB8cGVyc2lzdGVudC11bmRvfC4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2V2YWwudHh0IGIvcnVudGltZS9kb2MvZXZhbC50eHQKaW5kZXggYzU5OWU4YS4uOGM0NjRhOCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZXZhbC50eHQKKysrIGIvcnVudGltZS9kb2MvZXZhbC50eHQKQEAgLTEsNCArMSw0IEBACi0qZXZhbC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMSBGZWIgMTEKKypldmFsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDExIE1hciAxOAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC03MDcyLDcgKzcwNzIsOSBAQAogCQkJaXMgdGVybWluYXRlZC4KIAkJCUV4YW1wbGU6ID4KIAkJOnRyeSB8IHRocm93ICJvb3BzIiB8IGNhdGNoIC9eb28vIHwgZWNobyAiY2F1Z2h0IiB8IGVuZHRyeQotPAorPAkJCU5vdGUgdGhhdCAiY2F0Y2giIG1heSBuZWVkIHRvIGJlIG9uIGEgc2VwYXJhdGUgbGluZQorCQkJZm9yIHdoZW4gYW4gZXJyb3IgY2F1c2VzIHRoZSBwYXJzaW5nIHRvIHNraXAgdGhlIHdob2xlCisJCQlsaW5lIGFuZCBub3Qgc2VlIHRoZSAifCIgdGhhdCBzZXBhcmF0ZXMgdGhlIGNvbW1hbmRzLgogCiAJCQkJCQkJKjplYyogKjplY2hvKgogOmVjW2hvXSB7ZXhwcjF9IC4uCUVjaG9lcyBlYWNoIHtleHByMX0sIHdpdGggYSBzcGFjZSBpbiBiZXR3ZWVuLiAgVGhlCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9pbmRlbnQudHh0IGIvcnVudGltZS9kb2MvaW5kZW50LnR4dAppbmRleCA2MTdiNzc2Li4zZTA2YWFhIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9pbmRlbnQudHh0CisrKyBiL3J1bnRpbWUvZG9jL2luZGVudC50eHQKQEAgLTEsNCArMSw0IEBACi0qaW5kZW50LnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDExIEphbiAwOQorKmluZGVudC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMSBNYXIgMTgKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTMyMCw5ICszMjAsMTEgQEAKIAkJICAgICAgQmFzZUNsYXNzKDMpCSAgICBCYXNlQ2xhc3MoMykKIAkJICB7fQkJCSAgICB7fQogPAotCStOICAgIEluZGVudCBhIGNvbnRpbnVhdGlvbiBsaW5lIChhIGxpbmUgdGhhdCBzcGlsbHMgb250byB0aGUgbmV4dCkgTgotCSAgICAgIGFkZGl0aW9uYWwgY2hhcmFjdGVycy4gIChkZWZhdWx0ICdzaGlmdHdpZHRoJykuCi0JICAgICAgV2hlbiB0aGUgcHJldmlvdXMgbGluZSBlbmRlZCBpbiBhIGJhY2tzbGFzaCBpdCdzIGRvdWJsZWQuCisJK04gICAgSW5kZW50IGEgY29udGludWF0aW9uIGxpbmUgKGEgbGluZSB0aGF0IHNwaWxscyBvbnRvIHRoZSBuZXh0KQorICAgICAgICAgICAgICBpbnNpZGUgYSBmdW5jdGlvbiBOIGFkZGl0aW9uYWwgY2hhcmFjdGVycy4gIChkZWZhdWx0CisgICAgICAgICAgICAgICdzaGlmdHdpZHRoJykuCisgICAgICAgICAgICAgIE91dHNpZGUgb2YgYSBmdW5jdGlvbiwgd2hlbiB0aGUgcHJldmlvdXMgbGluZSBlbmRlZCBpbiBhCisgICAgICAgICAgICAgIGJhY2tzbGFzaCwgdGhlIDIgKiBOIGlzIHVzZWQuCiAKIAkJY2lubz0JCQkgIGNpbm89KzEwID4KIAkJICBhID0gYiArIDkgKgkJICAgIGEgPSBiICsgOSAqCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9wYXR0ZXJuLnR4dCBiL3J1bnRpbWUvZG9jL3BhdHRlcm4udHh0CmluZGV4IDEyYTlkNmQuLjBmZDMxZDYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3BhdHRlcm4udHh0CisrKyBiL3J1bnRpbWUvZG9jL3BhdHRlcm4udHh0CkBAIC0xLDQgKzEsNCBAQAotKnBhdHRlcm4udHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMCBKdWwgMjAKKypwYXR0ZXJuLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4zLiAgTGFzdCBjaGFuZ2U6IDIwMTEgRmViIDI1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0yMTQsNyArMjE0LDggQEAKIHRoZSBzZWFyY2gsIHBvc3NpYmx5IGluIGFub3RoZXIgZGlyZWN0aW9uIG9yIHdpdGggYW5vdGhlciBjb3VudC4gIE5vdGUgdGhhdAogdHdvIHBhdHRlcm5zIGFyZSByZW1lbWJlcmVkOiBPbmUgZm9yICdub3JtYWwnIHNlYXJjaCBjb21tYW5kcyBhbmQgb25lIGZvciB0aGUKIHN1YnN0aXR1dGUgY29tbWFuZCAiOnMiLiAgRWFjaCB0aW1lIGFuIGVtcHR5IHBhdHRlcm4gaXMgZ2l2ZW4sIHRoZSBwcmV2aW91c2x5Ci11c2VkIHBhdHRlcm4gaXMgdXNlZC4KK3VzZWQgcGF0dGVybiBpcyB1c2VkLiAgSG93ZXZlciwgaWYgdGhlcmUgaXMgbm8gcHJldmlvdXMgc2VhcmNoIGNvbW1hbmQsIGEKK3ByZXZpb3VzIHN1YnN0aXR1dGUgcGF0dGVybiBpcyB1c2VkLCBpZiBwb3NzaWJsZS4KIAogVGhlICdtYWdpYycgb3B0aW9uIHN0aWNrcyB3aXRoIHRoZSBsYXN0IHVzZWQgcGF0dGVybi4gIElmIHlvdSBjaGFuZ2UgJ21hZ2ljJywKIHRoaXMgd2lsbCBub3QgY2hhbmdlIGhvdyB0aGUgbGFzdCB1c2VkIHBhdHRlcm4gd2lsbCBiZSBpbnRlcnByZXRlZC4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RhZ3MgYi9ydW50aW1lL2RvYy90YWdzCmluZGV4IDgzNmJhYWQuLmRjYzExYzggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RhZ3MKKysrIGIvcnVudGltZS9kb2MvdGFncwpAQCAtMzIwNiw2ICszMjA2LDcgQEAKIDxyZWc+CW1hcC50eHQJLyo8cmVnPioKIDxyZWdpc3Rlcj4JbWFwLnR4dAkvKjxyZWdpc3Rlcj4qCiA8c2ZpbGU+CWNtZGxpbmUudHh0CS8qPHNmaWxlPioKKzxzbG51bT4JY21kbGluZS50eHQJLyo8c2xudW0+KgogPHhDU0k+CWludHJvLnR4dAkvKjx4Q1NJPioKIDx4RG93bj4JdGVybS50eHQJLyo8eERvd24+KgogPHhFbmQ+CXRlcm0udHh0CS8qPHhFbmQ+KgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdG9kby50eHQgYi9ydW50aW1lL2RvYy90b2RvLnR4dAppbmRleCBkZjIxNzZkLi5lYzk1MTgzIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90b2RvLnR4dAorKysgYi9ydW50aW1lL2RvYy90b2RvLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4zLiAgTGFzdCBjaGFuZ2U6IDIwMTEgRmViIDI1CisqdG9kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDExIE1hciAyMgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zMCwxMSArMzAsNDMgQEAKIAkJCQkJCQkqa25vd24tYnVncyoKIC0tLS0tLS0tLS0tLS0tLS0tLS0tIEtub3duIGJ1Z3MgYW5kIGN1cnJlbnQgd29yayAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1OZXcgciBhbmQgcmhlbHAgc3ludGF4IGZpbGVzLiAoSmFrc29uIEFsdmVzIGRlIEFxdWlubywgMjAxMSBGZWIgMjApCitUaGUgOnogY29tbWFuZCBkb2Vzbid0IHdvcmsgZXhhY3RseSBhcyBpdCBzaG91bGQuIChDaGFuZ1podW8gQ2hlbiwgMjAxMSBNYXIgMikKIAotSW4gZmlsZSBtZXNzYWdlIHNob3cgImJsb3dmaXNoIiBpbnN0ZWFkIG9mICJjcnlwdGVkIiB3aGVuIHVzaW5nIGJsb3dmaXNoLgorQ3Jhc2ggd2l0aCAiOnB5dGhvbiBoZWxwKGRpcikiLiAoS2Vhcm4gSG9sbGlkYXksIDIwMTEgTWFyIDE5KQorSSBjYW4gcmVwcm9kdWNlIGl0LiAgRG9uJ3Qga25vdyB3aHkgaXQgaGFwcGVucy4KIAotUGF0Y2ggdG8gZml4IGRyYWctbi1kcm9wIGluIEtERS4gKEZsb3JpYW4gRGVnbmVyLCAyMDExIEZlYiAyMykKK0NvbXBhcmUgd2l0aCBob3cgb2xkIFZpIHdvcmtzIGFuZCB3aXRoIHBvc2l4IHNwZWMuICB0ZXJtaW5hbCBpcyA4MCB4IDI0LAorJ3Njcm9sbCcgb3B0aW9uIHNldCB0byAxMS4KKworVXBkYXRlIEJhdmFyaWFuIHR1dG9yLiAoU2VwcCBIZWxsLCAyMDExIE1hciAxMCkKKworQWZ0ZXIgIjpzZXQgdF9rYj0iICI6c2V0IHRfa2IiIGdpdmVzIGFuIGVycm9yLCBzaG91bGQgcmVwb3J0IGFuIGVtcHR5IHN0cmluZy4KK0NhbiBkbyAiOnNldCB0X3h5PWZvbyIsIG5lZWQgdG8gY2hlY2sgZm9yIHZhbGlkIG5hbWUuCisKK01lbnUgRmlsZS9DbG9zZSBzaG91bGQgY2xvc2UgYSB0YWIgaWYgaXQncyBub3QgdGhlIGxhc3Qgb25lIGFuZCBpdAorY29udGFpbnMgb25seSBvbmUgd2luZG93IChKZWFuIEpvaG5lcikKK1BhdGNoIGJ5IEJlbiBTY2htaWR0ICg3IG1hYXJ0KQorCitQYXRjaCB0byB1cGRhdGUgLmhndGFncyAoQmVuIEhhc2tlbGwsIDIwMTEgTWFyIDgpCitBbHNvIGhpbnRzIGhvdyB0byBhZGQgYSB0YWcgYWZ0ZXIgY29tbWl0dGluZyBhIHBhdGNoLgorCitQYXRjaCBmb3Igc2xvdyB3cml0ZTogdW5kZWZpbmVkIHN5bWJvbHMgd2l0aCBGRUFUX0NMSUVOVFNFUlZFUi4KK0FsdGVybmF0aXZlIHRlc3RzLiAgKEtyYXNpbG5pa292KQorCitXaGVuIG9wZW5pbmcgZmlsZSBmcm9tIHdpbmRvd3MgZXhwbG9yZXIsIGNoYXJhY3RlcnMgaW5zaWRlIFtdIGNhdXNlCitwcm9ibGVtcywgZXZlbiB0aG91Z2ggZG91YmxlIHF1b3RlcyBhcmUgdXNlZC4gKE1hbnVlbCBTdG9sLCAyMDExIE1hciA5KQorCitQYXRjaCBmb3IgVmltIGluZGVudCBmaWxlLiAoQ29jdWxhciwgMjAxMSBNYXIpCisKKzpoZWxwIGNfRXNjIHNob3VsZCB3b3JrLCBidXQgb25seSA6aGVscCBjXzxFc2M+IGRvZXMuCisKK1BhdGNoIHRvIGNoYW5nZSB0aGUgbWVhbmluZyBvZiBcbiBpbiBzdWJzdGl0dXRlKCkuIChtb3RveWEga3Vyb3RzdSwgMjAxMSBNYXIgOCkKKworTmV3IHZlcnNpb24gb2YgUGFzY2FsIGluZGVudCBmaWxlLiAoTmVpbCBDYXJ0ZXIsIDIwMTEgTWFyIDkpCisKK0hlbHAgZmlsZSBmb2xkZXhwciAoWnlYKQorCit1cHN0YXJ0IHN5bnRheCBmaWxlIChKYW1lcyBIdW50LCBNYXIgMTEgMjAxMSkKIAogU3ludGF4IHJlZ2lvbiB3aXRoICdjb25jZWFsZW5kcycgYW5kIGEgJ2NjaGFyJyB2YWx1ZSwgJ2NvbmNlYWxsZXZlbCcgc2V0IHRvIDIsCiBvbmx5IG9uZSBvZiB0aGUgdHdvIGVuZHMgZ2V0cyB0aGUgY2NoYXIgZGlzcGxheWVkLiAoQnJldHQgU3RhaGxtYW4sIDIwMTAgQXVnCkBAIC00MywxNSArNzUsMjQgQEAKIEJ1ZyBpbiByZXBlYXRpbmcgVmlzdWFsICJ1Ii4gKExhd3JlbmNlIEtlc3RlbG9vdCwgMjAxMCBEZWMgMjApCiAKIENyYXNoIHdpdGggYmlnIC54cG0gZmlsZS4gKFl1a2loaXJvIE5ha2FkYWlyYSwgMjAxMSBGZWIgMTgpCitQYXRjaCBmcm9tIEJlbiBTY2htaWR0ICgyMDExIE1hciAzKS4gIE5lZWRzIHNvbWUgbW9yZSB3b3JrLgorCitQYXRjaCBmb3IgZGlzYXBwZWFyaW5nIGN1cnNvciBhZnRlciBuZXRiZWFucyBjb21tYW5kLiAoWGF2aWVyIGRlIEdheWUsIDIwMTEKK01hciA0KQogCiBXaW5kb3dzIGtleXMgbm90IHNldCBwcm9wZXJseSBvbiBXaW5kb3dzIDc/ICAoY25jeWJlciwgMjAxMCBBdWcgMjYpCiAKK0NvbXBpbGVyIHNjcmlwdHMgZm9yIGZvcnRyYW4gKEhvbmcgWHUsIDIwMTEgTWFyY2ggMTkpCisKIFRoaXMgbGluZSBoYW5ncyBWaW0sIGJlY2F1c2Ugb2Ygc3ludGF4IEhMOgogY2FsbCBhcHBlbmQobGluZSwgIklORk8gIC4uLi4xMi4uLi4xOC4uLi4yNC4uLi4zMC4uLi4zNi4uLi40Mi4uLi40OC4uLi41NC4uLi42MC4uLi42Ni4uLi43Mi4uLi43OCUkIikKIAogQnVpbGRpbmcgdGhlIE1pbmdXIHZlcnNpb24gd2l0aG91dCBjbGlwYm9hcmQgYnV0IHdpdGggbXVsdGktYnl0ZSBkb2Vzbid0CiB3b3JrLiAoQmlsbCBMYW0sIDIwMTAgU2VwIDE4KQogCitQYXRjaCBmb3IgaGFuZGxpbmcgb2YgTkwgaW4gc3Vic3RpdHV0ZSgpIHdpdGggXD0gZXhwcmVzc2lvbi4gKE1vdG95YSBLdXJvdHN1LAorMjAxMSBNYXIgMTYpCisKIFdoZW4gdXNpbmcgYSBWaW0gc2VydmVyLCBhICMgaW4gdGhlIHBhdGggY2F1c2VzIGFuIGVycm9yIG1lc3NhZ2UuCiAoSmVmZiBMYW56YXJvdHRhLCAyMDExIEZlYiAxNykKIApAQCAtNjgsNyArMTA5LDcgQEAKIHJpZ2h0IHR5cGUuCiAKIFBhdGNoIHRvIGltcHJvdmUgbWZfaGFzaCwgZHluYW1pYyBzaXppbmcuIChJdmFuIEtyYXNpbG5pa292LCAyMDEwIERlYyAxNykKLU5lZWRzIHRlc3RzLgorVXBkYXRlIHdpdGggdGVzdHM6IDIwMTEgRmViIDI4LgogCiBzdHJpbmcoKSBjYW4ndCBwYXJzZSBiYWNrICJpbmYiIGFuZCAibmFuIi4gIEZpeCBkb2N1bWVudGF0aW9uIG9yIGZpeCBjb2RlPwogKFp5WCwgMjAxMCBBdWcgMjMpCkBAIC04MiwxMiArMTIzLDE0IEBACiBQYXRjaCB0byBhZGQgdXAgdG8gOTkgbWF0Y2ggZ3JvdXBzLiAoQ2hyaXN0aWFuIEJyYWJhbmR0LCAyMDEwIERlYyAyMikKIEFsc28gYWRkIG5hbWVkIGdyb3VwczogXCV7bmFtZX0ocmUpICBhbmQgXCV7bmFtZX1nCiAKLVBhdGNoIHRvIHVzZSBwYXR0ZXJuIGZyb20gbGFzdCA6cyB3aGVuIHRoZXJlIGlzIG5vIGxhc3Qgc2VhcmNoIHBhdHRlcm4uCi0oQ2hyaXN0aWFuIEJyYWJhbmR0LCAyMDExIEphbiAyNCkgIFdvdWxkIHRoaXMgYnJlYWsgYW55dGhpbmc/Ci0KIEJ1ZyBpbiB0cnkvY2F0Y2g6IHJldHVybiB3aXRoIGludmFsaWQgY29tcGFyZSB0aHJvd3MgZXJyb3IgdGhhdCBpc24ndCBjYXVnaHQuCiAoWnlYLCAyMDExIEphbiAyNikKIAorSW1wcm92ZW1lbnQgcGF0Y2ggZm9yIGZpbGV0eXBlLnZpbS4gKFRoaWxvIFNpeCwgMjAxMSBNYXIgMTkpCisKK1BhdGNoIGZvciAiKyBhbmQgIiogZ2V0dGluZyBzYW1lIHNlbGVjdGlvbiB3aGVuICJhIiBpcyBub3QgaW4gJ2d1aW9wdGlvbnMnLgorKEphbWVzIFZlZ2EsIDIwMTEgTWFyIDE3KQorCiBIaWdobGlnaHRpbmcgc3RvcHMgd29ya2luZyBhZnRlciBjaGFuZ2luZyBpdCBtYW55IHRpbWVzLiAgU2NyaXB0IHRvIHJlcHJvZHVjZQogaXQ6IFBhYmxvIENvbnRyZXJhcywgMjAxMCBPY3QgMTIgIFdpbmRvd3MgWFAgYW5kIDcuICBGb250IGlzIG5ldmVyIGZyZWVkPwogCkBAIC05OCw2ICsxNDEsMTAgQEAKIAogIjBnQCQiIHB1dHMgJ10gb24gbGFzdCBieXRlIG9mIG11bHRpLWJ5dGUuIChaeVgsIDIwMTEgSmFuIDIyKQogCitEZWxldGluZyBhIGxpbmV3aXNlIHNlbGVjdGlvbiB0aGF0IGluY2x1ZGVzIHRoZSBsYXN0IGxpbmUgb2YgdGhlIGZpbGUgbGVhdmVzCithbiBlbXB0eSBsaW5lLiAoQmVuIFNjaG1pZHQsIDIwMTEgTWFyIDE3KQorUGF0Y2ggYnkgQ2hyaXN0aWFuIEJyYWJhbmR0LCAyMDExIE1hciAxOS4KKwogVHdvIHBhdGNoZXMgZm9yIHh4ZC4gKEZsb3JpYW4gWnVtYmllaGwsIDIwMTEgSmFuIDExKQogVHdvIHVwZGF0ZXMgZm9yIHNlY29uZCBvbmUgSmFuIDEyLgogCkBAIC0xNDAsNiArMTg3LDkgQEAKIAogR1RLOiB0ZWFyLW9mZiBtZW51IGRvZXMgbm90IHdvcmsuIChLdXJ0IFNvbm5lbm1vc2VyLCAyMDEwIE9jdCAyNSkKIAorV2luMzI6IHRlYXItb2ZmIG1lbnUgZG9lcyBub3Qgd29yayB3aGVuIG1lbnUgbGFuZ3VhZ2UgaXMgR2VybWFuLiAoTWFya3VzCitCb3NzbGVyLCAyMDExIE1hciAyKSAgRml4ZWQgYnkgNy4zLjA5NT8KKwogUGF0Y2ggZm9yIGFkZGluZyAncycgb3B0aW9uIHRvICdjaW5vJywgQysrIG5hbWVzcGFjZSBpbmRlbnRpbmcuIChLb25zdGFudGluCiBMZXBhLCAyMDExIEphbiAxOCkKIApAQCAtMTc0LDYgKzIyNCw5IEBACiAtIGluc3RlYWQgb2YgYSByZWdleHAgdXNlIGEgaGFzaHRhYmxlLiAgRXhwYW5kICc/JywgJyoiLCAnKycuICBXaGF0IHdvdWxkIGJlCiAgIHRoZSBtYXhpbXVtIHJlcGVhdCBmb3IgKiBhbmQgKz8KIAorIkwnSXRhbGllIiBub3RlZCBhcyBhIHNwZWxsIGVycm9yIGF0IHN0YXJ0IG9mIHRoZSBzZW50ZW5jZS4gKERvbWluaXF1ZSBQZWxsZSwKKzIwMTEgRmViIDI3KQorCiBDb3B5L3Bhc3RlIGJldHdlZW4gVmltIGFuZCBHb29nbGUgY2hyb21lIGRvZXNuJ3Qgd29yayB3ZWxsIGZvciBtdWx0aS1ieXRlCiBjaGFyYWN0ZXJzLiAoQmVuIEhhc2tlbGwsIDIwMTAgU2VwIDE3KQogV2hlbiBwdXR0aW5nIHRleHQgaW4gdGhlIGN1dCBidWZmZXIgKHdoZW4gZXhpdGluZykgYW5kIGNvbnZlcnNpb24gZG9lc24ndCB3b3JrCkBAIC0yMDAsNiArMjUzLDkgQEAKIEdUSzogUGF0Y2ggdG8gZml4IG1lbnUgcG9wcGluZyBkb3duLiAoSG9uZyBYdSwgMjAxMCBEZWMgNCwgRGVjIDUpCiBVcGRhdGUgMjAxMSBGZWIgMy4KIAorUGF0Y2ggdG8gdXNlIHBpcGVzIG9uIFdpbjMyLiAgKFZpbmNlbnQgQmVydGhvdXgsIDIwMTEgRmViIDI4KQorVXBkYXRlIE1hciAxIHVzaW5nICdzaGVsbHRlbXAnLgorCiBQeXRob246IEFkZGluZyBsaW5lIHRvIGJ1ZmZlciBvdGhlciB0aGFuIHRoZSBjdXJyZW50IG9uZSBkb2Vzbid0IHdvcmsKIGNvcnJlY3RseS4gKFJvemJ1am5paywgMjAxMCBEZWMgMTkpCiAKQEAgLTI3OSw4ICszMzUsNiBAQAogCiBQYXRjaCBmb3IgVmlzVmltLCBwYXNzIGZpbGUgbmFtZSB0byBWaW1PcGVuRmlsZS4gKEppcmkgU2VkbGFrLCAyMDEwIE5vdiAxMikKIAotIjpjb20iIGNoYW5nZXMgdGhlIG11bHRpLWJ5dGUgdGV4dCBvZiA6ZWNoby4gKERpbWl0YXIgRGltaXRyb3YsIDIwMTEgRmViIDExKQotCiBXaGVuICdsaW5lcycgaXMgMjUgYW5kICdzY3JvbGxvZmYnIGlzIDEyLCAiaiIgc2Nyb2xscyB6ZXJvIG9yIHR3byBsaW5lcwogaW5zdGVhZCBvZiBvbmUuIChDb25zdGFudGluIFBhbiwgMjAxMCBTZXAgMTApCiAKQEAgLTM5Nyw2ICs0NTEsOSBAQAogV2hlbiBjb21wbGV0aW9uIGluc2VydHMgdGhlIGZpcnN0IG1hdGNoLCBpdCBtYXkgdHJpZ2dlciB0aGUgbGluZSB0byBiZSBmb2xkZWQuCiBEaXNhYmxlIHVwZGF0aW5nIGZvbGRzIHdoaWxlIGNvbXBsZXRpb24gaXMgYWN0aXZlPyAoUGV0ZXIgT2RkaW5nLCAyMDEwIEp1biA5KQogCitVc2luZyAiOmNhbGwgZm9vI2QuZigpIiBkb2Vzbid0IGF1dG9sb2FkIHRoZSAiZm9vLnZpbSIgZmlsZS4gIFdvcmtzIE9LIGZvcgorZWNobywganVzdCBub3QgZm9yICAiOmNhbGwiIGFuZCAiOmNhbGwgY2FsbCgpIi4gKFRlZCwgMjAxMSBNYXIgMTcpCisKIEluIGNvbW1hbmQgbGluZSB3aW5kb3cgIjpjbG9zZSIgZG9lc24ndCB3b3JrIHByb3Blcmx5LiAoVG9ueSBNZWNoZWx5bmNrLCAyMDA5CiBKdW4gMSkKIApAQCAtMjMzNCw2ICsyMzkxLDkgQEAKIC0gICBXaW4zMiwgTVMtV2luZG93cyBYUDogJEhPTUUgdXNlcyB0aGUgd3JvbmcgZHJpdmUgd2hlbiB0aGUgdXNlciBwcm9maWxlcwogICAgIGFyZSBub3Qgb24gdGhlIGJvb3QgZGlzay4gIFRoaXMgaXMgY2F1c2VkIGJ5IGEgd3JvbmcgdmFsdWUgb2YgJEhPTUVEUklWRS4KICAgICBUaGlzIGlzIGEgYnVnIGluIFhQLCBzZWUgTVNLQiBhcnRpY2xlIDgxODEzNC4KKy0gICBXaW4zMiwgTVMtV2luZG93czogZXhwYW5kaW5nIHBsdWdpbi8qKi8qLnZpbSBhbHNvIHBpY2tzIHVwCisgICAgZGlyL2N0YWdzLnZpbSx2LiAgVGhpcyBpcyBiZWNhdXNlIHRoZSBzaG9ydCBmaWxlIG5hbWUgaXMgc29tZXRoaW5nIGxpa2UKKyAgICAiY3RhZ3N+MS52aW0iIGFuZCB0aGF0IG1hdGNoZXMgdGhlIHBhdHRlcm4uCiAtICAgU3VuT1MgNS41LjEgd2l0aCBNb3RpZjogVGhlIGZpbGUgb3BlbiBkaWFsb2cgZG9lcyBub3QgaGF2ZSBhIGhvcml6b250YWwKICAgICBzY3JvbGwgYmFyIGZvciB0aGUgImZpbGVzIiBzZWxlY3Rpb24uICBUaGlzIGlzIGEgcHJvYmxlbSBpbiB0aGUgTW90aWYKICAgICBsaWJyYXJpZXMsIGdldCBhIHBhdGNoIGZyb20gU3VuLgpAQCAtMzc1Miw2ICszODEyLDEwIEBACiAgICAgICAgICAgICAgICAgPDwgInkiOwogOSAgICJ9IGVsc2UiIGNhdXNlcyBmb2xsb3dpbmcgbGluZXMgdG8gYmUgaW5kZW50ZWQgdG9vIG11Y2guIChSb3ViZW4KICAgICBSb3N0YW1pYW4sIDIwMDggQXVnIDMwKQorOSAgIFdyYXBwaW5nIGEgdmFyaWFibGUgaW5pdGlhbGl6YXRpb24gc2hvdWxkIGhhdmUgZXh0cmEgaW5kZW50OgorCWNoYXIgKiB2ZXJ5TG9uZ05hbWUgPQorCQkidmVyeSBsb25nIHN0cmluZyIKKyAgICBBbHNvIGNoZWNrIGlmICJjaW5vPSsxMCIgaXMgdXNlZCBjb3JyZWN0bHkuCiA4ICAgTGlzcCBpbmRlbnRpbmc6ICJcXCIgY29uZnVzZXMgdGhlIGluZGVudGVyLiAoRG9yYWkgU2l0YXJhbSwgMjAwNiBNYXkgMTcpCiA4ICAgV2h5IGFyZSBjb250aW51YXRpb24gbGluZXMgb3V0c2lkZSBvZiBhIHt9IGJsb2NrIG5vdCBpbmRlbnRlZD8gIEUuZy46CiAJbG9uZ190eXBlIGZvbyA9CkBAIC00MDU3LDYgKzQxMjEsOCBAQAogICAgIFVzZSAiJi8iIGZvciBzZWFyY2hpbmcgdGhlIHRleHQgaW4gdGhlIFZpc3VhbCBhcmVhPwogOSAgIEFkZCAidiIgb2Zmc2V0OiAiL3BhdC92Ijogc2VhcmNoIGZvciBwYXR0ZXJuIGFuZCBzdGFydCBWaXN1YWwgbW9kZSBvbiB0aGUKICAgICBtYXRjaGluZyB0ZXh0LgorOCAgIEFkZCBhIG1vZGlmaWVyIHRvIGludGVycHJldCBhIHNwYWNlIGxpa2UgIlxfc1wrIiB0byBtYWtlIGl0IG11Y2ggZWFzaWVyIHRvCisgICAgc2VhcmNoIGZvciBhIHBocmFzZS4KIDggICBBZGQgYSBtZWNoYW5pc20gZm9yIHJlY3Vyc2l2ZW5lc3M6ICJcQCgoW14oKV0qXEBnW14oKV0qKVwpIi4gIFxAZyBzdGFuZHMKICAgICBmb3IgImdvIHJlY3Vyc2l2ZSBoZXJlIiBhbmQgXEAoIFwpIG1hcmtzIHRoZSByZWN1cnNpdmUgcGFydC4KICAgICBQZXJsIGRvZXMgaXQgdGhpcyB3YXk6CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfNDEudHh0IGIvcnVudGltZS9kb2MvdXNyXzQxLnR4dAppbmRleCA4MzQyZjc2Li5kMzE5YTA4IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfNDEudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl80MS50eHQKQEAgLTY2MSw3ICs2NjEsMTQgQEAKIAlzcXJ0KCkJCQlzcXVhcmUgcm9vdAogCXNpbigpCQkJc2luZQogCWNvcygpCQkJY29zaW5lCisJdGFuKCkJCQl0YW5nZW50CisJYXNpbigpCQkJYXJjIHNpbmUKKwlhY29zKCkJCQlhcmMgY29zaW5lCiAJYXRhbigpCQkJYXJjIHRhbmdlbnQKKwlhdGFuMigpCQkJYXJjIHRhbmdlbnQKKwlzaW5oKCkJCQloeXBlcmJvbGljIHNpbmUKKwljb3NoKCkJCQloeXBlcmJvbGljIGNvc2luZQorCXRhbmgoKQkJCWh5cGVyYm9saWMgdGFuZ2VudAogCiBWYXJpYWJsZXM6CQkJCQkJKnZhci1mdW5jdGlvbnMqCiAJdHlwZSgpCQkJdHlwZSBvZiBhIHZhcmlhYmxlCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92YXJpb3VzLnR4dCBiL3J1bnRpbWUvZG9jL3ZhcmlvdXMudHh0CmluZGV4IDNiM2FhMTQuLjJmZDNjMjAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZhcmlvdXMudHh0CisrKyBiL3J1bnRpbWUvZG9jL3ZhcmlvdXMudHh0CkBAIC0xLDQgKzEsNCBAQAotKnZhcmlvdXMudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMSBGZWIgMDEKKyp2YXJpb3VzLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4zLiAgTGFzdCBjaGFuZ2U6IDIwMTEgTWFyIDAzCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0xMzMsMTQgKzEzMywxNCBAQAogCQkJc3BlY2lmaWVkIHdpdGgge3JhbmdlfSwgb3IgYXJvdW5kIHRoZSBjdXJyZW50IGxpbmUKIAkJCWlmIHRoZXJlIGlzIG5vIHtyYW5nZX0uICBJZiB0aGVyZSBpcyBhIHtjb3VudH0sIHRoYXQncwogCQkJaG93IG1hbnkgbGluZXMgeW91J2xsIHNlZTsgaWYgdGhlcmUgaXMgb25seSBvbmUgd2luZG93Ci0JCQl0aGVuIHRoZSAnd2luZG93JyBvcHRpb24gaXMgdXNlZCwgb3RoZXJ3aXNlIHRoZQotCQkJY3VycmVudCB3aW5kb3cgc2l6ZSBpcyB1c2VkLgorCQkJdGhlbiB0d2ljZSB0aGUgdmFsdWUgb2YgdGhlICdzY3JvbGwnIG9wdGlvbiBpcyB1c2VkLAorCQkJb3RoZXJ3aXNlIHRoZSBjdXJyZW50IHdpbmRvdyBoZWlnaHQgbWludXMgMyBpcyB1c2VkLgogCiAJCQk6eiBjYW4gYmUgdXNlZCBlaXRoZXIgYWxvbmUgb3IgZm9sbG93ZWQgYnkgYW55IG9mCiAJCQlzZXZlcmFsIHB1bmN0dWF0aW9uIG1hcmtzLiAgVGhlc2UgaGF2ZSB0aGUgZm9sbG93aW5nCiAJCQllZmZlY3Q6CiAKLQkJCW1hcmsgICBmaXJzdCBsaW5lICAgIGxhc3QgbGluZSAgICAgIG5ldyBsb2NhdGlvbiAgIH4KKwkJCW1hcmsgICBmaXJzdCBsaW5lICAgIGxhc3QgbGluZSAgICAgIG5ldyBjdXJzb3IgbGluZSB+CiAJCQktLS0tICAgLS0tLS0tLS0tLSAgICAtLS0tLS0tLS0gICAgICAtLS0tLS0tLS0tLS0KIAkJCSsgICAgICBjdXJyZW50IGxpbmUgIDEgc2NyIGZvcndhcmQgIDEgc2NyIGZvcndhcmQKIAkJCS0gICAgICAxIHNjciBiYWNrICAgIGN1cnJlbnQgbGluZSAgIGN1cnJlbnQgbGluZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9maWxldHlwZS52aW0gYi9ydW50aW1lL2ZpbGV0eXBlLnZpbQppbmRleCAzYjAxYWFmLi41MDkwOTI1IDEwMDY0NAotLS0gYS9ydW50aW1lL2ZpbGV0eXBlLnZpbQorKysgYi9ydW50aW1lL2ZpbGV0eXBlLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIHN1cHBvcnQgZmlsZSB0byBkZXRlY3QgZmlsZSB0eXBlcwogIgogIiBNYWludGFpbmVyOglCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgotIiBMYXN0IENoYW5nZToJMjAxMSBGZWIgMjMKKyIgTGFzdCBDaGFuZ2U6CTIwMTEgTWFyIDIyCiAKICIgTGlzdGVuIHZlcnkgY2FyZWZ1bGx5LCBJIHdpbGwgc2F5IHRoaXMgb25seSBvbmNlCiBpZiBleGlzdHMoImRpZF9sb2FkX2ZpbGV0eXBlcyIpCkBAIC0zMjUsNyArMzI1LDcgQEAKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmNzCQkJc2V0ZiBjcwogCiAiIENhYmFsCi1hdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5jYWJhbCAgICAgICAJCXNldGYgY2FiYWwKK2F1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmNhYmFsCQkJc2V0ZiBjYWJhbAogCiAiIENkcmRhbyBUT0MKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnRvYwkJCXNldGYgY2RydG9jCkBAIC01MzYsNyArNTM2LDcgQEAKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmNmZwkJCXNldGYgY2ZnCiAKICIgQ3VjdW1iZXIKLWF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmZlYXR1cmUgCQlzZXRmIGN1Y3VtYmVyCithdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5mZWF0dXJlCQkJc2V0ZiBjdWN1bWJlcgogCiAiIENvbW11bmljYXRpbmcgU2VxdWVudGlhbCBQcm9jZXNzZXMKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmNzcCwqLmZkcgkJc2V0ZiBjc3AKQEAgLTY3OCw3ICs2NzgsNyBAQAogYXUgQnVmTmV3RmlsZSxCdWZSZWFkIGV4cG9ydHMJCQlzZXRmIGV4cG9ydHMKIAogIiBGYWxjb24KLWF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmZhbCAJCQlzZXRmIGZhbGNvbgorYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouZmFsCQkJc2V0ZiBmYWxjb24KIAogIiBGYW50b20KIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmZhbiwqLmZ3dAkJc2V0ZiBmYW4KQEAgLTc3OSw3ICs3NzksNyBAQAogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouaHNjLCouaHNtCQlzZXRmIGhhbXN0ZXIKIAogIiBIYXNrZWxsCi1hdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5ocywqLmhzLWJvb3QgCQlzZXRmIGhhc2tlbGwKK2F1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmhzLCouaHMtYm9vdAkJc2V0ZiBoYXNrZWxsCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5saHMJCQlzZXRmIGxoYXNrZWxsCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5jaHMJCQlzZXRmIGNoYXNrZWxsCiAKQEAgLTg3Miw3ICs4NzIsOSBAQAogICAiIENwcm90byBmaWxlcyBoYXZlIGEgY29tbWVudCBpbiB0aGUgZmlyc3QgbGluZSBhbmQgYSBmdW5jdGlvbiBwcm90b3R5cGUgaW4KICAgIiB0aGUgc2Vjb25kIGxpbmUsIGl0IGFsd2F5cyBlbmRzIGluICI7Ii4gIEluZGVudCBmaWxlcyBtYXkgYWxzbyBoYXZlCiAgICIgY29tbWVudHMsIHRodXMgd2UgY2FuJ3QgbWF0Y2ggY29tbWVudHMgdG8gc2VlIHRoZSBkaWZmZXJlbmNlLgotICBpZiBnZXRsaW5lKDIpID1+ICc7JCcKKyAgIiBJREwgZmlsZXMgY2FuIGhhdmUgYSBzaW5nbGUgJzsnIGluIHRoZSBzZWNvbmQgbGluZSwgcmVxdWlyZSBhdCBsZWFzdCBvbmUKKyAgIiBjaGFjdGVyIGJlZm9yZSB0aGUgJzsnLgorICBpZiBnZXRsaW5lKDIpID1+ICcuOyQnCiAgICAgc2V0ZiBjcHAKICAgZWxzZQogICAgIGV4ZSAnc2V0ZiAnIC4gYTpkZWZhdWx0CkBAIC0xNDA1LDcgKzE0MDcsNyBAQAogCiAiIE9iaiAzRCBmaWxlIGZvcm1hdAogIiBUT0RPOiBpcyB0aGVyZSBhIHdheSB0byBhdm9pZCBNUy1XaW5kb3dzIE9iamVjdCBmaWxlcz8KLWF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLm9iaiAgICAgICAgIAkJc2V0ZiBvYmoKK2F1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLm9iagkJCXNldGYgb2JqCiAKICIgT3JhY2xlIFBybypDL0MrKwogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICoucGMJCQlzZXRmIHByb2MKQEAgLTE2NTAsNyArMTY1Miw3IEBACiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5zY2ksKi5zY2UJCXNldGYgc2NpbGFiCiAKICIgU0NTUwotYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouc2NzcyAJCQlzZXRmIHNjc3MKK2F1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnNjc3MJCQlzZXRmIHNjc3MKIAogIiBTRDogU3RyZWFtaW5nIERlc2NyaXB0b3JzCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5zZAkJCXNldGYgc2QKQEAgLTE4MTEsNyArMTgxMyw3IEBACiAiIFotU2hlbGwgc2NyaXB0CiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgLnpwcm9maWxlLC9ldGMvenByb2ZpbGUsLnpmYmZtYXJrcyAgc2V0ZiB6c2gKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAuenNoKiwuemxvZyosLnpjb21wZHVtcCogIGNhbGwgczpTdGFyU2V0ZignenNoJykKLWF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnpzaCAJCQlzZXRmIHpzaAorYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouenNoCQkJc2V0ZiB6c2gKIAogIiBTY2hlbWUKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnNjbSwqLnNzCQlzZXRmIHNjaGVtZQpAQCAtMjEwMSw2ICsyMTAzLDkgQEAKICIgVFBQIC0gVGV4dCBQcmVzZW50YXRpb24gUHJvZ3JhbQogYXUgQnVmTmV3RmlsZSxCdWZSZWFkUG9zdCAqLnRwcAkJCXNldGYgdHBwCiAKKyIgVHJlZXRvcAorYXUgQnVmUmVhZCxCdWZOZXdGaWxlICoudHJlZXRvcAkJCXNldGYgdHJlZXRvcAorCiAiIFRydXN0ZWVzCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgdHJ1c3RlZXMuY29uZgkJc2V0ZiB0cnVzdGVlcwogCkBAIC0yMTMxLDYgKzIxMzYsMTAgQEAKICIgVXBkYXRlZGIKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAvZXRjL3VwZGF0ZWRiLmNvbmYJc2V0ZiB1cGRhdGVkYgogCisiIFVwc3RhcnQgKGluaXQoOCkpIGNvbmZpZyBmaWxlcworYXUgQnVmTmV3RmlsZSxCdWZSZWFkICovZXRjL2luaXQvKi5jb25mLH4vLmluaXQvKi5jb25mICAgICAgICAgIHNldGYgdXBzdGFydAorYXUgQnVmTmV3RmlsZSxCdWZSZWFkICovZXRjL2luaXQvKi5vdmVycmlkZSx+Ly5pbml0Lyoub3ZlcnJpZGUgIHNldGYgdXBzdGFydAorCiAiIFZlcmEKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnZyLCoudnJpLCoudnJoCQlzZXRmIHZlcmEKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi90cmVldG9wLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vdHJlZXRvcC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmRhM2M0MAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vdHJlZXRvcC52aW0KQEAgLTAsMCArMSwxOSBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgVHJlZXRvcAorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5vd0BiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAxMS0wMy0xNAorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCisKK3NldGxvY2FsIGNvbW1lbnRzPWI6IyBjb21tZW50c3RyaW5nPSNcICVzIGZvcm1hdG9wdGlvbnMtPXRjcm9xIGZvcm1hdG9wdGlvbnMrPWwKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCBmbzwiCisKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9pbmRlbnQvdHJlZXRvcC52aW0gYi9ydW50aW1lL2luZGVudC90cmVldG9wLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmFmNzhiCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9pbmRlbnQvdHJlZXRvcC52aW0KQEAgLTAsMCArMSwzOCBAQAorIiBWaW0gaW5kZW50IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgVHJlZXRvcAorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5vd0BiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAxMS0wMy0xNAorCitpZiBleGlzdHMoImI6ZGlkX2luZGVudCIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9pbmRlbnQgPSAxCisKK3NldGxvY2FsIGluZGVudGV4cHI9R2V0VHJlZXRvcEluZGVudCgpCitzZXRsb2NhbCBpbmRlbnRrZXlzPTB7LDB9LCFeRixvLE8sPWVuZAorc2V0bG9jYWwgbm9zbWFydGluZGVudAorCitpZiBleGlzdHMoIipHZXRUcmVldG9wSW5kZW50IikKKyAgZmluaXNoCitlbmRpZgorCitmdW5jdGlvbiBHZXRUcmVldG9wSW5kZW50KCkKKyAgbGV0IHBudW0gPSBwcmV2bm9uYmxhbmsodjpsbnVtIC0gMSkKKyAgaWYgcG51bSA9PSAwCisgICAgcmV0dXJuIDAKKyAgZW5kaWYKKworICBsZXQgaW5kID0gaW5kZW50KHBudW0pCisgIGxldCBsaW5lID0gZ2V0bGluZShwbnVtKQorCisgIGlmIGxpbmUgPX4gJ15ccypcJShncmFtbWFyXHxtb2R1bGVcfHJ1bGVcKVw+JworICAgIGxldCBpbmQgKz0gJnN3CisgIGVuZGlmCisKKyAgbGV0IGxpbmUgPSBnZXRsaW5lKHY6bG51bSkKKyAgaWYgbGluZSA9fiAnXlxzKmVuZFw+JworICAgIGxldCBpbmQgLT0gJnN3CisgIGVuZAorCisgIHJldHVyIGluZAorZW5kZnVuY3Rpb24KZGlmZiAtLWdpdCBhL3J1bnRpbWUvbGFuZy9tZW51X2tvX2tyLmV1Y2tyLnZpbSBiL3J1bnRpbWUvbGFuZy9tZW51X2tvX2tyLmV1Y2tyLnZpbQppbmRleCAxMTgwOWNmLi44NGJlMDRkIDEwMDY0NAotLS0gYS9ydW50aW1lL2xhbmcvbWVudV9rb19rci5ldWNrci52aW0KKysrIGIvcnVudGltZS9sYW5nL21lbnVfa29fa3IuZXVja3IudmltCkBAIC0xLDYgKzEsNiBAQAogIiBNZW51IFRyYW5zbGF0aW9uczoJS29yZWFuCiAiIE1haW50YWluZXI6CQlTdW5nSHl1biBOYW0gPGdvd2VvbEBnbWFpbC5jb20+Ci0iIExhc3QgQ2hhbmdlOgkJMjAxMCBGZWIgMTgKKyIgTGFzdCBDaGFuZ2U6CQkyMDExIE1hciAyMgogCiAiIFF1aXQgd2hlbiBtZW51IHRyYW5zbGF0aW9ucyBoYXZlIGFscmVhZHkgYmVlbiBkb25lLgogaWYgZXhpc3RzKCJkaWRfbWVudV90cmFucyIpCkBAIC00Miw3ICs0Miw3IEBACiAiIEVkaXQgbWVudQogbWVudXRyYW5zICZFZGl0CQkJCcbtwf0oJkUpCiBtZW51dHJhbnMgJlVuZG88VGFiPnUJCQnD67zSKCZVKTxUYWI+dQotbWVudXRyYW5zICZSZWRvPFRhYj5eUgkJCbTZvcMgvcfH4CgmUik8VGFiPl5SCittZW51dHJhbnMgJlJlZG88VGFiPl5SCQkJtNm9w1wgvcfH4CgmUik8VGFiPl5SCiBtZW51dHJhbnMgUmVwJmVhdDxUYWI+XC4JCbXHx67AzCgmZSk8VGFiPlwuCiBtZW51dHJhbnMgQ3UmdDxUYWI+Iit4CQkJwNq4o7HiKCZ0KTxUYWI+Iit4CiBtZW51dHJhbnMgJkNvcHk8VGFiPiIreQkJCbq5u+coJkMpPFRhYj4iK3kKQEAgLTYzLDcgKzYzLDcgQEAKIG1lbnV0cmFucyBUb2dnbGVcICZTaG93bWF0Y2g8VGFiPjpzZXRcIHNtISBTaG93bWF0Y2hcIMXksdsoJlMpPFRhYj46c2V0XCBzbSEKIG1lbnV0cmFucyAmQ29udGV4dFwgbGluZXMJCcTcxdi9usauXCDB2SgmQykKIG1lbnV0cmFucyAmVmlydHVhbFwgRWRpdAkJsKG781wgxu3B/SgmVikKLW1lbnV0cmFucyBOZXZlcgkJCQm757/rIL7IIMfUCittZW51dHJhbnMgTmV2ZXIJCQkJu+e/61wgvshcIMfUCiBtZW51dHJhbnMgQmxvY2tcIFNlbGVjdGlvbgkJuu23sFwgsO24o7HiCiBtZW51dHJhbnMgSW5zZXJ0XCBtb2RlCQkJu/DA1FwguPC15QogbWVudXRyYW5zIEJsb2NrXCBhbmRcIEluc2VydAkJuu23sLD6XCC78MDUCkBAIC05Miw3ICs5Miw3IEBACiBtZW51dHJhbnMgVG9nZ2xlXCAmQy1pbmRlbnRpbmc8VGFiPjpzZXRcIGNpbiEgQy3AzrWnxsNcIMXksdsoJkMpPFRhYj46c2V0XCBjaW4hCiAKICIgb3RoZXIgb3B0aW9ucwotbWVudXRyYW5zICZTaGlmdHdpZHRoCQkJvazHwcauILPKuvEoJlMpCittZW51dHJhbnMgJlNoaWZ0d2lkdGgJCQm9rMfBxq5cILPKuvEoJlMpCiBtZW51dHJhbnMgU29mdFwgJlRhYnN0b3AJCbzSx8HGrlwgxce9usXpKCZUKQogbWVudXRyYW5zIFRlJnh0XCBXaWR0aFwuXC5cLgkJxdi9usauXCCzyrrxKCZ4KVwuXC5cLgogbWVudXRyYW5zICZGaWxlXCBGb3JtYXRcLlwuXC4JCcbEwM9cIMf8vcQoJkYpXC5cLlwuCkBAIC0xMjUsMTIgKzEyNSwxMiBAQAogIiBUb29scy5Gb2xkIE1lbnUKIG1lbnV0cmFucyAmRm9sZGluZwkJCcGiseIoJkYpCiAiIG9wZW4gY2xvc2UgZm9sZHMKLW1lbnV0cmFucyAmRW5hYmxlL0Rpc2FibGVcIGZvbGRzPFRhYj56aQnBorTCXCCx4rTJXCC757/rXCDF5LHbKCZFKTxUYWI+emkKK21lbnV0cmFucyAmRW5hYmxlL0Rpc2FibGVcIGZvbGRzPFRhYj56aQnBorHiXCC757/rXCDF5LHbKCZFKTxUYWI+emkKIG1lbnV0cmFucyAmVmlld1wgQ3Vyc29yXCBMaW5lPFRhYj56dgnEv7ytXCDB2Vwgurix4igmVik8VGFiPnp2CiBtZW51dHJhbnMgVmllJndcIEN1cnNvclwgTGluZVwgb25seTxUYWI+ek16eCDEv7ytXCDB2bi4XCC6uLHiKCZ3KTxUYWI+ek16eAogbWVudXRyYW5zIEMmbG9zZVwgbW9yZVwgZm9sZHM8VGFiPnptCbT1XCC4ucC6XCDBorHiXCC03bHiKCZsKTxUYWI+em0KLW1lbnV0cmFucyAmQ2xvc2VcIGFsbFwgZm9sZHM8VGFiPnpNCcGiyPlcILrOutBcILjwtc5cIMGiseIoJkMpPFRhYj56TQotbWVudXRyYW5zIE8mcGVuXCBtb3JlXCBmb2xkczxUYWI+enIJtPUguLnAulwgwaKx4lwgv62x4igmcCk8VGFiPnpyCittZW51dHJhbnMgJkNsb3NlXCBhbGxcIGZvbGRzPFRhYj56TQm48LXnXCDBorHiXCC03bHiKCZDKTxUYWI+ek0KK21lbnV0cmFucyBPJnBlblwgbW9yZVwgZm9sZHM8VGFiPnpyCbT1XCC4ucC6XCDBorHiXCC/rbHiKCZwKTxUYWI+enIKIG1lbnV0cmFucyAmT3BlblwgYWxsXCBmb2xkczxUYWI+elIJwaLI+Vwgus660FwguPC1zlwgxuyx4igmTyk8VGFiPnpSCiAiIGZvbGQgbWV0aG9kCiBtZW51dHJhbnMgRm9sZFwgTWV0JmhvZAkJCcGitMJcILnmuf0oJmgpCkBAIC0xNDEsMTEgKzE0MSwxMSBAQAogIm1lbnV0cmFucyAmRGlmZgkJCQkmRGlmZgogbWVudXRyYW5zIE1hJnJrZXIJCQmyv7iux6UoJnIpCiAiIGNyZWF0ZSBhbmQgZGVsZXRlIGZvbGRzCi1tZW51dHJhbnMgQ3JlYXRlXCAmRm9sZDxUYWI+emYJCbv1t84gwaKx4igmRik8VGFiPnpmCi1tZW51dHJhbnMgJkRlbGV0ZVwgRm9sZDxUYWI+emQJCb/PwPzI9yDG7LHiKCZEKTxUYWI+emQKLW1lbnV0cmFucyBEZWxldGVcICZBbGxcIEZvbGRzPFRhYj56RAm48LXOXCDG7LHiKCZBKTxUYWI+ekQKK21lbnV0cmFucyBDcmVhdGVcICZGb2xkPFRhYj56ZgkJwaKx4lwgu/28uigmRik8VGFiPnpmCittZW51dHJhbnMgJkRlbGV0ZVwgRm9sZDxUYWI+emQJCcGiseJcILvowaYoJkQpPFRhYj56ZAorbWVudXRyYW5zIERlbGV0ZVwgJkFsbFwgRm9sZHM8VGFiPnpECbjwtedcIMGiseJcILvowaYoJkEpPFRhYj56RAogIiBtb3ZpbmcgYXJvdW5kIGluIGZvbGRzCi1tZW51dHJhbnMgRm9sZFwgY29sdW1uXCAmd2lkdGgJCcGiwLtcIMStXCCzyrrxKCZ3KQorbWVudXRyYW5zIEZvbGRcIGNvbHVtblwgJndpZHRoCQnBorHiXCDEw7ezXCCzyrrxKCZ3KQogCiAibWVudXRyYW5zICZEaWZmCQkJCSZEaWZmCiBtZW51dHJhbnMgJlVwZGF0ZQkJCbC7vcUoJlUpCmRpZmYgLS1naXQgYS9ydW50aW1lL2xhbmcvbWVudV9rb19rci51dGYtOC52aW0gYi9ydW50aW1lL2xhbmcvbWVudV9rb19rci51dGYtOC52aW0KaW5kZXggZWY0NjE3My4uOTNmODU1MSAxMDA2NDQKLS0tIGEvcnVudGltZS9sYW5nL21lbnVfa29fa3IudXRmLTgudmltCisrKyBiL3J1bnRpbWUvbGFuZy9tZW51X2tvX2tyLnV0Zi04LnZpbQpAQCAtMSw2ICsxLDYgQEAKICIgTWVudSBUcmFuc2xhdGlvbnM6CUtvcmVhbgogIiBNYWludGFpbmVyOgkJU3VuZ0h5dW4gTmFtIDxnb3dlb2xAZ21haWwuY29tPgotIiBMYXN0IENoYW5nZToJCTIwMTAgRmViIDE4CisiIExhc3QgQ2hhbmdlOgkJMjAxMSBNYXIgMjIKIAogIiBRdWl0IHdoZW4gbWVudSB0cmFuc2xhdGlvbnMgaGF2ZSBhbHJlYWR5IGJlZW4gZG9uZS4KIGlmIGV4aXN0cygiZGlkX21lbnVfdHJhbnMiKQpAQCAtNDIsNyArNDIsNyBAQAogIiBFZGl0IG1lbnUKIG1lbnV0cmFucyAmRWRpdAkJCQntjrjsp5EoJkUpCiBtZW51dHJhbnMgJlVuZG88VGFiPnUJCQnst6jshowoJlUpPFRhYj51Ci1tZW51dHJhbnMgJlJlZG88VGFiPl5SCQkJ64uk7IucIOyLpO2WiSgmUik8VGFiPl5SCittZW51dHJhbnMgJlJlZG88VGFiPl5SCQkJ64uk7IucXCDsi6TtlokoJlIpPFRhYj5eUgogbWVudXRyYW5zIFJlcCZlYXQ8VGFiPlwuCQnrkJjtkoDsnbQoJmUpPFRhYj5cLgogbWVudXRyYW5zIEN1JnQ8VGFiPiIreAkJCeyekOultOq4sCgmdCk8VGFiPiIreAogbWVudXRyYW5zICZDb3B5PFRhYj4iK3kJCQnrs7XsgqwoJkMpPFRhYj4iK3kKQEAgLTYzLDcgKzYzLDcgQEAKIG1lbnV0cmFucyBUb2dnbGVcICZTaG93bWF0Y2g8VGFiPjpzZXRcIHNtISBTaG93bWF0Y2hcIO2GoOq4gCgmUyk8VGFiPjpzZXRcIHNtIQogbWVudXRyYW5zICZDb250ZXh0XCBsaW5lcwkJ7L2Y7YWN7Iqk7Yq4XCDspIQoJkMpCiBtZW51dHJhbnMgJlZpcnR1YWxcIEVkaXQJCeqwgOyDgVwg7Y647KeRKCZWKQotbWVudXRyYW5zIE5ldmVyCQkJCeyCrOyaqSDslYgg7ZWoCittZW51dHJhbnMgTmV2ZXIJCQkJ7IKs7JqpXCDslYhcIO2VqAogbWVudXRyYW5zIEJsb2NrXCBTZWxlY3Rpb24JCeu4lOufrVwg6rOg66W06riwCiBtZW51dHJhbnMgSW5zZXJ0XCBtb2RlCQkJ7IK97J6FXCDrqqjrk5wKIG1lbnV0cmFucyBCbG9ja1wgYW5kXCBJbnNlcnQJCeu4lOufreqzvFwg7IK97J6FCkBAIC05Miw3ICs5Miw3IEBACiBtZW51dHJhbnMgVG9nZ2xlXCAmQy1pbmRlbnRpbmc8VGFiPjpzZXRcIGNpbiEgQy3snbjrjbTtjIVcIO2GoOq4gCgmQyk8VGFiPjpzZXRcIGNpbiEKIAogIiBvdGhlciBvcHRpb25zCi1tZW51dHJhbnMgJlNoaWZ0d2lkdGgJCQnsiaztlITtirgg64SI67mEKCZTKQorbWVudXRyYW5zICZTaGlmdHdpZHRoCQkJ7Ims7ZSE7Yq4XCDrhIjruYQoJlMpCiBtZW51dHJhbnMgU29mdFwgJlRhYnN0b3AJCeyGjO2UhO2KuFwg7YOt7Iqk7YaxKCZUKQogbWVudXRyYW5zIFRlJnh0XCBXaWR0aFwuXC5cLgkJ7YWN7Iqk7Yq4XCDrhIjruYQoJngpXC5cLlwuCiBtZW51dHJhbnMgJkZpbGVcIEZvcm1hdFwuXC5cLgkJ7YyM7J28XCDtmJXsi50oJkYpXC5cLlwuCkBAIC0xMjUsMTIgKzEyNSwxMiBAQAogIiBUb29scy5Gb2xkIE1lbnUKIG1lbnV0cmFucyAmRm9sZGluZwkJCeygkeq4sCgmRikKICIgb3BlbiBjbG9zZSBmb2xkcwotbWVudXRyYW5zICZFbmFibGUvRGlzYWJsZVwgZm9sZHM8VGFiPnppCeygkeuKlFwg6riw64qlXCDsgqzsmqlcIO2GoOq4gCgmRSk8VGFiPnppCittZW51dHJhbnMgJkVuYWJsZS9EaXNhYmxlXCBmb2xkczxUYWI+emkJ7KCR6riwXCDsgqzsmqlcIO2GoOq4gCgmRSk8VGFiPnppCiBtZW51dHJhbnMgJlZpZXdcIEN1cnNvclwgTGluZTxUYWI+enYJ7Luk7IScXCDspIRcIOuztOq4sCgmVik8VGFiPnp2CiBtZW51dHJhbnMgVmllJndcIEN1cnNvclwgTGluZVwgb25seTxUYWI+ek16eCDsu6TshJxcIOykhOunjFwg67O06riwKCZ3KTxUYWI+ek16eAogbWVudXRyYW5zIEMmbG9zZVwgbW9yZVwgZm9sZHM8VGFiPnptCeuNlFwg66eO7J2AXCDsoJHquLBcIOuLq+q4sCgmbCk8VGFiPnptCi1tZW51dHJhbnMgJkNsb3NlXCBhbGxcIGZvbGRzPFRhYj56TQnsoJHtnoxcIOu2gOu2hFwg66qo65GQXCDsoJHquLAoJkMpPFRhYj56TQotbWVudXRyYW5zIE8mcGVuXCBtb3JlXCBmb2xkczxUYWI+enIJ642UIOunjuydgFwg7KCR6riwXCDsl7TquLAoJnApPFRhYj56cgorbWVudXRyYW5zICZDbG9zZVwgYWxsXCBmb2xkczxUYWI+ek0J66qo65OgXCDsoJHquLBcIOuLq+q4sCgmQyk8VGFiPnpNCittZW51dHJhbnMgTyZwZW5cIG1vcmVcIGZvbGRzPFRhYj56cgnrjZRcIOunjuydgFwg7KCR6riwXCDsl7TquLAoJnApPFRhYj56cgogbWVudXRyYW5zICZPcGVuXCBhbGxcIGZvbGRzPFRhYj56UgnsoJHtnoxcIOu2gOu2hFwg66qo65GQXCDtjrTquLAoJk8pPFRhYj56UgogIiBmb2xkIG1ldGhvZAogbWVudXRyYW5zIEZvbGRcIE1ldCZob2QJCQnsoJHripRcIOuwqeuylSgmaCkKQEAgLTE0MSwxMSArMTQxLDExIEBACiAibWVudXRyYW5zICZEaWZmCQkJCSZEaWZmCiBtZW51dHJhbnMgTWEmcmtlcgkJCeq8rOumrO2RnCgmcikKICIgY3JlYXRlIGFuZCBkZWxldGUgZm9sZHMKLW1lbnV0cmFucyBDcmVhdGVcICZGb2xkPFRhYj56ZgkJ7IOI66GcIOygkeq4sCgmRik8VGFiPnpmCi1tZW51dHJhbnMgJkRlbGV0ZVwgRm9sZDxUYWI+emQJCeyZhOyghO2eiCDtjrTquLAoJkQpPFRhYj56ZAotbWVudXRyYW5zIERlbGV0ZVwgJkFsbFwgRm9sZHM8VGFiPnpECeuqqOuRkFwg7Y606riwKCZBKTxUYWI+ekQKK21lbnV0cmFucyBDcmVhdGVcICZGb2xkPFRhYj56ZgkJ7KCR6riwXCDsg53shLEoJkYpPFRhYj56ZgorbWVudXRyYW5zICZEZWxldGVcIEZvbGQ8VGFiPnpkCQnsoJHquLBcIOyCreygnCgmRCk8VGFiPnpkCittZW51dHJhbnMgRGVsZXRlXCAmQWxsXCBGb2xkczxUYWI+ekQJ66qo65OgXCDsoJHquLBcIOyCreygnCgmQSk8VGFiPnpECiAiIG1vdmluZyBhcm91bmQgaW4gZm9sZHMKLW1lbnV0cmFucyBGb2xkXCBjb2x1bW5cICZ3aWR0aAkJ7KCR7J2EXCDsubhcIOuEiOu5hCgmdykKK21lbnV0cmFucyBGb2xkXCBjb2x1bW5cICZ3aWR0aAkJ7KCR6riwXCDsu6zrn7xcIOuEiOu5hCgmdykKIAogIm1lbnV0cmFucyAmRGlmZgkJCQkmRGlmZgogbWVudXRyYW5zICZVcGRhdGUJCQnqsLHsi6AoJlUpCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9yLnZpbSBiL3J1bnRpbWUvc3ludGF4L3IudmltCmluZGV4IDdkOThlOTIuLjg5MTJiYTEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3IudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3IudmltCkBAIC0zLDEzICszLDE4IEBACiAiIE1haW50YWluZXI6CSAgICAgIEpha3NvbiBBcXVpbm8gPGphbHZlc2FxQGdtYWlsLmNvbT4KICIgRm9ybWVyIE1haW50YWluZXJzOiBWYWlkb3RhcyBaZW1seXMgPHplbWx5c0BnbWFpbC5jb20+CiAiIAkJICAgICAgVG9tIFBheW5lIDx0b21AdG9tcGF5bmUub3JnPgotIiBMYXN0IENoYW5nZToJICAgICAgV2VkIFNlcCAyOSwgMjAxMCAgMDk6MzFBTQorIiBMYXN0IENoYW5nZToJICAgICAgU3VuIEZlYiAyMCwgMjAxMSAgMTI6MDZQTQogIiBGaWxlbmFtZXM6CSAgICAgICouUiAqLnIgKi5SaGlzdG9yeSAqLlJ0CiAiIAogIiBOT1RFOiBUaGUgaGlnaGxpZ2h0aW5nIG9mIFIgZnVuY3Rpb25zIGlzIGRlZmluZWQgaW4gdGhlCiAiIHItcGx1Z2luL2Z1bmN0aW9ucy52aW0sIHdoaWNoIGlzIHBhcnQgb2YgdmltLXItcGx1Z2luMjoKICIgaHR0cDovL3d3dy52aW0ub3JnL3NjcmlwdHMvc2NyaXB0LnBocD9zY3JpcHRfaWQ9MjYyOAogIgorIiBDT05GSUdVUkFUSU9OOgorIiAgIHN5bnRheCBmb2xkaW5nIGNhbiBiZSB0dXJuZWQgb24gYnkKKyIKKyIgICAgICBsZXQgcl9zeW50YXhfZm9sZGluZyA9IDEKKyIKICIgU29tZSBsaW5lcyBvZiBjb2RlIHdlcmUgYm9ycm93ZWQgZnJvbSBaaHVvanVuIENoZW4uCiAKIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCkBAIC0xOCwxOCArMjMsMzAgQEAKIAogc2V0bG9jYWwgaXNrZXl3b3JkPUAsNDgtNTcsXywuCiAKK2lmIGV4aXN0cygiZzpyX3N5bnRheF9mb2xkaW5nIikKKyAgc2V0bG9jYWwgZm9sZG1ldGhvZD1zeW50YXgKK2VuZGlmCisKIHN5biBjYXNlIG1hdGNoCiAKICIgQ29tbWVudAogc3luIG1hdGNoIHJDb21tZW50IGNvbnRhaW5zPUBTcGVsbCAiXCMuKiIKIAotIiBzdHJpbmcgZW5jbG9zZWQgaW4gZG91YmxlIHF1b3Rlcwotc3luIHJlZ2lvbiByU3RyaW5nIGNvbnRhaW5zPXJTcGVjaWFsLHJTdHJFcnJvcixAU3BlbGwgc3RhcnQ9LyIvIHNraXA9L1xcXFxcfFxcIi8gZW5kPS8iLwotIiBzdHJpbmcgZW5jbG9zZWQgaW4gc2luZ2xlIHF1b3Rlcwotc3luIHJlZ2lvbiByU3RyaW5nIGNvbnRhaW5zPXJTcGVjaWFsLHJTdHJFcnJvcixAU3BlbGwgc3RhcnQ9LycvIHNraXA9L1xcXFxcfFxcJy8gZW5kPS8nLworaWYgJmZpbGV0eXBlID09ICJyaGVscCIKKyAgIiBzdHJpbmcgZW5jbG9zZWQgaW4gZG91YmxlIHF1b3RlcworICBzeW4gcmVnaW9uIHJTdHJpbmcgY29udGFpbnM9clNwZWNpYWwsQFNwZWxsIHN0YXJ0PS8iLyBza2lwPS9cXFxcXHxcXCIvIGVuZD0vIi8KKyAgIiBzdHJpbmcgZW5jbG9zZWQgaW4gc2luZ2xlIHF1b3RlcworICBzeW4gcmVnaW9uIHJTdHJpbmcgY29udGFpbnM9clNwZWNpYWwsQFNwZWxsIHN0YXJ0PS8nLyBza2lwPS9cXFxcXHxcXCcvIGVuZD0vJy8KK2Vsc2UKKyAgIiBzdHJpbmcgZW5jbG9zZWQgaW4gZG91YmxlIHF1b3RlcworICBzeW4gcmVnaW9uIHJTdHJpbmcgY29udGFpbnM9clNwZWNpYWwsclN0ckVycm9yLEBTcGVsbCBzdGFydD0vIi8gc2tpcD0vXFxcXFx8XFwiLyBlbmQ9LyIvCisgICIgc3RyaW5nIGVuY2xvc2VkIGluIHNpbmdsZSBxdW90ZXMKKyAgc3luIHJlZ2lvbiByU3RyaW5nIGNvbnRhaW5zPXJTcGVjaWFsLHJTdHJFcnJvcixAU3BlbGwgc3RhcnQ9LycvIHNraXA9L1xcXFxcfFxcJy8gZW5kPS8nLworZW5kaWYKIAogc3luIG1hdGNoIHJTdHJFcnJvciBkaXNwbGF5IGNvbnRhaW5lZCAiXFwuIgogCisKICIgTmV3IGxpbmUsIGNhcnJpYWdlIHJldHVybiwgdGFiLCBiYWNrc3BhY2UsIGJlbGwsIGZlZWQsIHZlcnRpY2FsIHRhYiwgYmFja3NsYXNoCiBzeW4gbWF0Y2ggclNwZWNpYWwgZGlzcGxheSBjb250YWluZWQgIlxcXChuXHxyXHx0XHxiXHxhXHxmXHx2XHwnXHxcIlwpXHxcXFxcIgogCkBAIC00Miw5ICs1OSw2IEBACiBzeW4gbWF0Y2ggclNwZWNpYWwgZGlzcGxheSBjb250YWluZWQgIlxcdXtceFx7MSw0fX0iCiBzeW4gbWF0Y2ggclNwZWNpYWwgZGlzcGxheSBjb250YWluZWQgIlxcVXtceFx7MSw4fX0iCiAKLQotc3luIG1hdGNoIHJEb2xsYXIgIlwkIgotCiAiIFN0YXRlbWVudAogc3luIGtleXdvcmQgclN0YXRlbWVudCAgIGJyZWFrIG5leHQgcmV0dXJuCiBzeW4ga2V5d29yZCByQ29uZGl0aW9uYWwgaWYgZWxzZQpAQCAtNTQsMjYgKzY4LDE4IEBACiBzeW4ga2V5d29yZCByQ29uc3RhbnQgVCBGIExFVFRFUlMgbGV0dGVycyBtb250aC5hYiBtb250aC5uYW1lIHBpCiBzeW4ga2V5d29yZCByQ29uc3RhbnQgUi52ZXJzaW9uLnN0cmluZwogCi0iIENvbnN0YW50CitzeW4ga2V5d29yZCByTnVtYmVyICAgTkFfaW50ZWdlcl8gTkFfcmVhbF8gTkFfY29tcGxleF8gTkFfY2hhcmFjdGVyXyAKKworIiBDb25zdGFudHMKIHN5biBrZXl3b3JkIHJDb25zdGFudCBOVUxMCiBzeW4ga2V5d29yZCByQm9vbGVhbiAgRkFMU0UgVFJVRQotc3luIGtleXdvcmQgck51bWJlciAgIE5BIE5BX2ludGVnZXJfIE5BX3JlYWxfIE5BX2NvbXBsZXhfIE5BX2NoYXJhY3Rlcl8gCi1zeW4ga2V5d29yZCByTnVtYmVyICAgSW5mIE5hTiAKK3N5biBrZXl3b3JkIHJOdW1iZXIgICBOQSBJbmYgTmFOIAogCiAiIGludGVnZXIKIHN5biBtYXRjaCBySW50ZWdlciAiXDxcZFwrTCIKIHN5biBtYXRjaCBySW50ZWdlciAiXDwweFwoWzAtOV1cfFthLWZdXHxbQS1GXVwpXCtMIgogc3luIG1hdGNoIHJJbnRlZ2VyICJcPFxkXCtbRWVdK1w9XGRcK0wiCiAKLXN5biBtYXRjaCByT3BlcmF0b3IgICAgIltcKlwhXCZcK1wtXDxcPlw9XF5cfFx+XGAvOkBdIgotc3luIG1hdGNoIHJPcGVyYXRvciAgICAiJVx7Mn1cfCVcKiVcfCVcLyVcfCVpbiVcfCVvJVx8JXglIgotCi1zeW4gbWF0Y2ggckNvbXBsZXggIlw8XGRcK2kiCi1zeW4gbWF0Y2ggckNvbXBsZXggIlw8MHhcKFswLTldXHxbYS1mXVx8W0EtRl1cKVwraSIKLXN5biBtYXRjaCByQ29tcGxleCAiXDxcZFwrXC5cZCpcKFtFZV1bLStdXD1cZFwrXClcPWkiCi1zeW4gbWF0Y2ggckNvbXBsZXggIlw8XC5cZFwrXChbRWVdWy0rXVw9XGRcK1wpXD1pIgotc3luIG1hdGNoIHJDb21wbGV4ICJcPFxkXCtbRWVdWy0rXVw9XGRcK2kiCi0KICIgbnVtYmVyIHdpdGggbm8gZnJhY3Rpb25hbCBwYXJ0IG9yIGV4cG9uZW50CiBzeW4gbWF0Y2ggck51bWJlciAiXDxcZFwrXD4iCiAiIGhleGFkZWNpbWFsIG51bWJlciAKQEAgLTg2LDYgKzkyLDI4IEBACiAiIGZsb2F0aW5nIHBvaW50IG51bWJlciB3aXRoIG5vIGZyYWN0aW9uYWwgcGFydCBhbmQgb3B0aW9uYWwgZXhwb25lbnQKIHN5biBtYXRjaCByRmxvYXQgIlw8XGRcK1tFZV1bLStdXD1cZFwrIgogCisiIGNvbXBsZXggbnVtYmVyCitzeW4gbWF0Y2ggckNvbXBsZXggIlw8XGRcK2kiCitzeW4gbWF0Y2ggckNvbXBsZXggIlw8XGRcKytcZFwraSIKK3N5biBtYXRjaCByQ29tcGxleCAiXDwweFwoWzAtOV1cfFthLWZdXHxbQS1GXVwpXCtpIgorc3luIG1hdGNoIHJDb21wbGV4ICJcPFxkXCtcLlxkKlwoW0VlXVstK11cPVxkXCtcKVw9aSIKK3N5biBtYXRjaCByQ29tcGxleCAiXDxcLlxkXCtcKFtFZV1bLStdXD1cZFwrXClcPWkiCitzeW4gbWF0Y2ggckNvbXBsZXggIlw8XGRcK1tFZV1bLStdXD1cZFwraSIKKworc3luIG1hdGNoIHJPcGVyYXRvciAgICAiJiIKK3N5biBtYXRjaCByT3BlcmF0b3IgICAgJy0nCitzeW4gbWF0Y2ggck9wZXJhdG9yICAgICcqJworc3luIG1hdGNoIHJPcGVyYXRvciAgICAnKycKK3N5biBtYXRjaCByT3BlcmF0b3IgICAgJz0nCitzeW4gbWF0Y2ggck9wZXJhdG9yICAgICJbfCE8Pl5+YC86QF0iCitzeW4gbWF0Y2ggck9wZXJhdG9yICAgICIlXHsyfVx8JVwqJVx8JVwvJVx8JWluJVx8JW8lXHwleCUiCitzeW4gbWF0Y2ggck9wRXJyb3IgICcqXHszfScKK3N5biBtYXRjaCByT3BFcnJvciAgJy8vJworc3luIG1hdGNoIHJPcEVycm9yICAnJiYmJworc3luIG1hdGNoIHJPcEVycm9yICAnfHx8Jworc3luIG1hdGNoIHJPcEVycm9yICAnPDwnCitzeW4gbWF0Y2ggck9wRXJyb3IgICc+PicKKwogc3luIG1hdGNoIHJBcnJvdyAiPFx7MSwyfS0iCiBzeW4gbWF0Y2ggckFycm93ICItPlx7MSwyfSIKIApAQCAtOTMsMjAgKzEyMSw1MCBAQAogc3luIG1hdGNoIHJEZWxpbWl0ZXIgIlssOzpdIgogCiAiIEVycm9yCi1zeW4gcmVnaW9uIHJSZWdpb24gbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9LygvIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0vKS8gdHJhbnNwYXJlbnQgY29udGFpbnM9QUxMQlVULHJFcnJvcixyQnJhY2VFcnJvcixyQ3VybHlFcnJvcgotc3luIHJlZ2lvbiByUmVnaW9uIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PS97LyBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9L30vIHRyYW5zcGFyZW50IGNvbnRhaW5zPUFMTEJVVCxyRXJyb3IsckJyYWNlRXJyb3IsclBhcmVuRXJyb3IKLXN5biByZWdpb24gclJlZ2lvbiBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0vXFsvIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0vXS8gdHJhbnNwYXJlbnQgY29udGFpbnM9QUxMQlVULHJFcnJvcixyQ3VybHlFcnJvcixyUGFyZW5FcnJvcgoraWYgZXhpc3RzKCJnOnJfc3ludGF4X2ZvbGRpbmciKQorICBzeW4gcmVnaW9uIHJSZWdpb24gbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9LygvIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0vKS8gdHJhbnNwYXJlbnQgY29udGFpbnM9QUxMQlVULHJFcnJvcixyQnJhY2VFcnJvcixyQ3VybHlFcnJvciBmb2xkCisgIHN5biByZWdpb24gclJlZ2lvbiBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0vey8gbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPS99LyB0cmFuc3BhcmVudCBjb250YWlucz1BTExCVVQsckVycm9yLHJCcmFjZUVycm9yLHJQYXJlbkVycm9yIGZvbGQKKyAgc3luIHJlZ2lvbiByUmVnaW9uIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PS9cWy8gbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPS9dLyB0cmFuc3BhcmVudCBjb250YWlucz1BTExCVVQsckVycm9yLHJDdXJseUVycm9yLHJQYXJlbkVycm9yIGZvbGQKK2Vsc2UKKyAgc3luIHJlZ2lvbiByUmVnaW9uIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PS8oLyBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9LykvIHRyYW5zcGFyZW50IGNvbnRhaW5zPUFMTEJVVCxyRXJyb3IsckJyYWNlRXJyb3IsckN1cmx5RXJyb3IKKyAgc3luIHJlZ2lvbiByUmVnaW9uIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PS97LyBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9L30vIHRyYW5zcGFyZW50IGNvbnRhaW5zPUFMTEJVVCxyRXJyb3IsckJyYWNlRXJyb3IsclBhcmVuRXJyb3IKKyAgc3luIHJlZ2lvbiByUmVnaW9uIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PS9cWy8gbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPS9dLyB0cmFuc3BhcmVudCBjb250YWlucz1BTExCVVQsckVycm9yLHJDdXJseUVycm9yLHJQYXJlbkVycm9yCitlbmRpZgorCiBzeW4gbWF0Y2ggckVycm9yICAgICAgIlspXF19XSIKIHN5biBtYXRjaCByQnJhY2VFcnJvciAiWyl9XSIgY29udGFpbmVkCiBzeW4gbWF0Y2ggckN1cmx5RXJyb3IgIlspXF1dIiBjb250YWluZWQKIHN5biBtYXRjaCByUGFyZW5FcnJvciAiW1xdfV0iIGNvbnRhaW5lZAogCisiIFNvdXJjZSBsaXN0IG9mIFIgZnVuY3Rpb25zLiBUaGUgbGlzdCBpcyBwcm9kdWNlZCBieSB0aGUgVmltLVItcGx1Z2luCisiIGh0dHA6Ly93d3cudmltLm9yZy9zY3JpcHRzL3NjcmlwdC5waHA/c2NyaXB0X2lkPTI2MjgKK3J1bnRpbWUgci1wbHVnaW4vZnVuY3Rpb25zLnZpbQorCitzeW4gbWF0Y2ggckRvbGxhciBkaXNwbGF5IGNvbnRhaW5lZCAiXCQiCisKKyIgTGlzdCBlbGVtZW50cyB3aWxsIG5vdCBiZSBoaWdobGlnaHRlZCBhcyBmdW5jdGlvbnM6CitzeW4gbWF0Y2ggckxzdEVsbXQgIlwkW2EtekEtWjAtOVxcLl9dKiIgY29udGFpbnM9ckRvbGxhcgorCiAiIEZ1bmN0aW9ucyB0aGF0IG1heSBhZGQgbmV3IG9iamVjdHMKIHN5biBrZXl3b3JkIHJQcmVQcm9jICAgICBsaWJyYXJ5IHJlcXVpcmUgYXR0YWNoIGRldGFjaCBzb3VyY2UKIAoraWYgJmZpbGV0eXBlID09ICJyaGVscCIKKyAgICBzeW4gbWF0Y2ggckhlbHBJZGVudCAnXFxtZXRob2QnCisgICAgc3luIG1hdGNoIHJIZWxwSWRlbnQgJ1xcUzRtZXRob2QnCitlbmRpZgorCiAiIFR5cGUKIHN5biBrZXl3b3JkIHJUeXBlIGFycmF5IGNhdGVnb3J5IGNoYXJhY3RlciBjb21wbGV4IGRvdWJsZSBmdW5jdGlvbiBpbnRlZ2VyIGxpc3QgbG9naWNhbCBtYXRyaXggbnVtZXJpYyB2ZWN0b3IgZGF0YS5mcmFtZSAKIAorIiBOYW1lIG9mIG9iamVjdCB3aXRoIHNwYWNlcworc3luIHJlZ2lvbiByTmFtZVdTcGFjZSBzdGFydD0iYCIgZW5kPSJgIgorCitpZiAmZmlsZXR5cGUgPT0gInJoZWxwIgorICBzeW4gbWF0Y2ggcmhQcmVQcm9jICJeI2lmZGVmLioiIAorICBzeW4gbWF0Y2ggcmhQcmVQcm9jICJeI2VuZGlmLioiIAorICBzeW4gbWF0Y2ggcmhTZWN0aW9uICJcXGRvbnRydW5cPiIKK2VuZGlmCisKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KIGhpIGRlZiBsaW5rIHJBcnJvdyAgICAgICBTdGF0ZW1lbnQJCiBoaSBkZWYgbGluayByQm9vbGVhbiAgICAgQm9vbGVhbgpAQCAtMTIwLDkgKzE3OCwxNiBAQAogaGkgZGVmIGxpbmsgckRvbGxhciAgICAgIFNwZWNpYWxDaGFyCiBoaSBkZWYgbGluayByRXJyb3IgICAgICAgRXJyb3IKIGhpIGRlZiBsaW5rIHJGbG9hdCAgICAgICBGbG9hdAoraGkgZGVmIGxpbmsgckZ1bmN0aW9uICAgIEZ1bmN0aW9uCitoaSBkZWYgbGluayBySGVscElkZW50ICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgcmhQcmVQcm9jICAgIFByZVByb2MKK2hpIGRlZiBsaW5rIHJoU2VjdGlvbiAgICBQcmVDb25kaXQKIGhpIGRlZiBsaW5rIHJJbnRlZ2VyICAgICBOdW1iZXIKK2hpIGRlZiBsaW5rIHJMc3RFbG10CSBOb3JtYWwKK2hpIGRlZiBsaW5rIHJOYW1lV1NwYWNlICBOb3JtYWwKIGhpIGRlZiBsaW5rIHJOdW1iZXIgICAgICBOdW1iZXIKIGhpIGRlZiBsaW5rIHJPcGVyYXRvciAgICBPcGVyYXRvcgoraGkgZGVmIGxpbmsgck9wRXJyb3IgICAgIEVycm9yCiBoaSBkZWYgbGluayByUGFyZW5FcnJvciAgRXJyb3IKIGhpIGRlZiBsaW5rIHJQcmVQcm9jICAgICBQcmVQcm9jCiBoaSBkZWYgbGluayByUmVwZWF0ICAgICAgUmVwZWF0CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9yaGVscC52aW0gYi9ydW50aW1lL3N5bnRheC9yaGVscC52aW0KaW5kZXggNzU1MGIxMi4uOTEyMGQ3NSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcmhlbHAudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3JoZWxwLnZpbQpAQCAtMSw3ICsxLDggQEAKICIgVmltIHN5bnRheCBmaWxlCiAiIExhbmd1YWdlOiAgICBSIEhlbHAgRmlsZQotIiBNYWludGFpbmVyOiAgSm9oYW5uZXMgUmFua2UgPGpyYW5rZUB1bmktYnJlbWVuLmRlPgotIiBMYXN0IENoYW5nZTogMjAxMCBOb3YgMjIKKyIgTWFpbnRhaW5lcjogSmFrc29uIEFxdWlubyA8amFsdmVzYXFAZ21haWwuY29tPgorIiBGb3JtZXIgTWFpbnRhaW5lcjogSm9oYW5uZXMgUmFua2UgPGpyYW5rZUB1bmktYnJlbWVuLmRlPgorIiBMYXN0IENoYW5nZTogU2F0IEZlYiAxOSwgMjAxMSAgMDI6MTNQTQogIiBWZXJzaW9uOiAgICAgMC43LjQKICIgU1ZOOgkJICAgJElkOiByaGVscC52aW0gOTAgMjAxMC0xMS0yMiAxMDo1ODoxMVogcmFua2UgJAogIiBSZW1hcmtzOiAgICAgLSBJbmNsdWRlcyBSIHN5bnRheCBoaWdobGlnaHRpbmcgaW4gdGhlIGFwcHJvcHJpYXRlCkBAIC0yNCwzNiArMjUsNDYgQEAKIAogc3luIGNhc2UgbWF0Y2gKIAotIiBSIGhlbHAgaWRlbnRpZmllcnMge3t7CisiIFIgaGVscCBpZGVudGlmaWVycyB7e3sxCiBzeW4gcmVnaW9uIHJoZWxwSWRlbnRpZmllciBtYXRjaGdyb3VwPXJoZWxwU2VjdGlvbglzdGFydD0iXFxuYW1leyIgZW5kPSJ9IiAKIHN5biByZWdpb24gcmhlbHBJZGVudGlmaWVyIG1hdGNoZ3JvdXA9cmhlbHBTZWN0aW9uCXN0YXJ0PSJcXGFsaWFzeyIgZW5kPSJ9IiAKLXN5biByZWdpb24gcmhlbHBJZGVudGlmaWVyIG1hdGNoZ3JvdXA9cmhlbHBTZWN0aW9uCXN0YXJ0PSJcXHBrZ3siIGVuZD0ifSIgCitzeW4gcmVnaW9uIHJoZWxwSWRlbnRpZmllciBtYXRjaGdyb3VwPXJoZWxwU2VjdGlvbglzdGFydD0iXFxwa2d7IiBlbmQ9In0iIGNvbnRhaW5zPXJoZWxwTGluawogc3luIHJlZ2lvbiByaGVscElkZW50aWZpZXIgbWF0Y2hncm91cD1yaGVscFNlY3Rpb24gc3RhcnQ9IlxcbWV0aG9keyIgZW5kPSJ9IiBjb250YWluZWQKIHN5biByZWdpb24gcmhlbHBJZGVudGlmaWVyIG1hdGNoZ3JvdXA9cmhlbHBTZWN0aW9uIHN0YXJ0PSJcXFJkdmVyc2lvbnsiIGVuZD0ifSIKIAogIiBIaWdobGlnaHRpbmcgb2YgUiBjb2RlIHVzaW5nIGFuIGV4aXN0aW5nIHIudmltIHN5bnRheCBmaWxlIGlmIGF2YWlsYWJsZSB7e3sxCiBzeW4gaW5jbHVkZSBAUiBzeW50YXgvci52aW0KLXN5biBtYXRjaCByaGVscERvdHMJCSJcXGRvdHMiIGNvbnRhaW5lZGluPUBSCi1zeW4gcmVnaW9uIHJoZWxwUmNvZGUgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlxcZXhhbXBsZXN7IiBtYXRjaGdyb3VwPURlbGltaXRlciB0cmFuc3BhcmVudCBlbmQ9In0iIGNvbnRhaW5zPUBSLHJoZWxwU2VjdGlvbgotc3luIHJlZ2lvbiByaGVscFJjb2RlIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcXHVzYWdleyIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgdHJhbnNwYXJlbnQgZW5kPSJ9IiBjb250YWlucz1AUixyaGVscElkZW50aWZpZXIscmhlbHBTNG1ldGhvZAotc3luIHJlZ2lvbiByaGVscFJjb2RlIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcXHN5bm9wc2lzeyIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgdHJhbnNwYXJlbnQgZW5kPSJ9IiBjb250YWlucz1AUgotc3luIHJlZ2lvbiByaGVscFJjb2RlIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcXHNwZWNpYWx7IiBtYXRjaGdyb3VwPURlbGltaXRlciB0cmFuc3BhcmVudCBlbmQ9In0iIGNvbnRhaW5zPUBSIGNvbnRhaW5lZAotc3luIHJlZ2lvbiByaGVscFJjb2RlIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcXGNvZGV7IiBtYXRjaGdyb3VwPURlbGltaXRlciB0cmFuc3BhcmVudCBlbmQ9In0iIGNvbnRhaW5zPUBSLHJoZWxwTGluayBjb250YWluZWQKLXN5biByZWdpb24gcmhlbHBTNG1ldGhvZCBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFxTNG1ldGhvZHsuKn0oIiBtYXRjaGdyb3VwPURlbGltaXRlciB0cmFuc3BhcmVudCBlbmQ9IikiIGNvbnRhaW5zPUBSLHJoZWxwRG90cyBjb250YWluZWQKLXN5biByZWdpb24gcmhlbHBTZXhwciBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFxTZXhwcnsiIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHRyYW5zcGFyZW50IGVuZD0ifSIgY29udGFpbnM9QFIKIAogIiBTdHJpbmdzIHt7ezEKLXN5biByZWdpb24gcmhlbHBTdHJpbmcgc3RhcnQ9LyIvIGVuZD0vIi8gCitzeW4gcmVnaW9uIHJoZWxwU3RyaW5nIHN0YXJ0PS8iLyBza2lwPS9cXCIvIGVuZD0vIi8gY29udGFpbnM9cmhlbHBTcGVjaWFsQ2hhcixyaGVscENvZGVTcGVjaWFsLHJoZWxwTGluayBjb250YWluZWQKIAotIiBTcGVjaWFsIGNoYXJhY3RlcnMgICggXCQgXCYgXCUgXCMgXHsgXH0gXF8pIHt7ezEKKyIgU3BlY2lhbCBjaGFyYWN0ZXJzIGluIFIgc3RyaW5ncworc3luIG1hdGNoIHJoZWxwQ29kZVNwZWNpYWwgZGlzcGxheSBjb250YWluZWQgIlxcXFxcKG5cfHJcfHRcfGJcfGFcfGZcfHZcfCdcfFwiXClcfFxcXFwiCisKKyIgU3BlY2lhbCBjaGFyYWN0ZXJzICAoIFwkIFwmIFwlIFwjIFx7IFx9IFxfKQogc3luIG1hdGNoIHJoZWxwU3BlY2lhbENoYXIgICAgICAgICJcXFskJiUje31fXSIKIAorCisiIFIgY29kZSB7e3sxCitzeW4gbWF0Y2ggcmhlbHBEb3RzCQkiXFxkb3RzIiBjb250YWluZWRpbj1AUgorc3luIHJlZ2lvbiByaGVscFJjb2RlIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcXGV4YW1wbGVzeyIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgdHJhbnNwYXJlbnQgZW5kPSJ9IiBjb250YWlucz1AUixyaGVscExpbmsscmhlbHBJZGVudGlmaWVyLHJoZWxwU3RyaW5nLHJoZWxwU3BlY2lhbENoYXIscmhlbHBTZWN0aW9uCitzeW4gcmVnaW9uIHJoZWxwUmNvZGUgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlxcdXNhZ2V7IiBtYXRjaGdyb3VwPURlbGltaXRlciB0cmFuc3BhcmVudCBlbmQ9In0iIGNvbnRhaW5zPUBSLHJoZWxwSWRlbnRpZmllcixyaGVscFM0bWV0aG9kCitzeW4gcmVnaW9uIHJoZWxwUmNvZGUgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9Ilxcc3lub3BzaXN7IiBtYXRjaGdyb3VwPURlbGltaXRlciB0cmFuc3BhcmVudCBlbmQ9In0iIGNvbnRhaW5zPUBSCitzeW4gcmVnaW9uIHJoZWxwUmNvZGUgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9Ilxcc3BlY2lhbHsiIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHRyYW5zcGFyZW50IGVuZD0ifSIgY29udGFpbnM9QFIKK3N5biByZWdpb24gcmhlbHBSY29kZSBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFxjb2RleyIgc2tpcD0nXFxcQDwhey5cey19XFxcQDwhfScgdHJhbnNwYXJlbnQgZW5kPSJ9IiBjb250YWlucz1AUixyaGVscERvdHMscmhlbHBTdHJpbmcscmhlbHBTcGVjaWFsQ2hhcixyaGVscExpbmsga2VlcGVuZAorc3luIHJlZ2lvbiByaGVscFM0bWV0aG9kIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcXFM0bWV0aG9key4qfSgiIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHRyYW5zcGFyZW50IGVuZD0iKSIgY29udGFpbnM9QFIscmhlbHBEb3RzCitzeW4gcmVnaW9uIHJoZWxwU2V4cHIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlxcU2V4cHJ7IiBtYXRjaGdyb3VwPURlbGltaXRlciB0cmFuc3BhcmVudCBlbmQ9In0iIGNvbnRhaW5zPUBSCisKKyIgUHJlUHJvYyB7e3sxCitzeW4gbWF0Y2ggcmhlbHBQcmVQcm9jICJeI2lmZGVmLioiIAorc3luIG1hdGNoIHJoZWxwUHJlUHJvYyAiXiNlbmRpZi4qIiAKKwogIiBTcGVjaWFsIERlbGltaXRlcnMge3t7MQogc3luIG1hdGNoIHJoZWxwRGVsaW1pdGVyCQkiXFxjciIKIHN5biBtYXRjaCByaGVscERlbGltaXRlcgkJIlxcdGFiICIKIAogIiBLZXl3b3JkcyB7e3sxCi1zeW4gbWF0Y2ggcmhlbHBLZXl3b3JkCSJcXFIiIGNvbnRhaW5lZAorc3luIG1hdGNoIHJoZWxwS2V5d29yZAkiXFxSIgogc3luIG1hdGNoIHJoZWxwS2V5d29yZAkiXFxsZG90cyIKIHN5biBtYXRjaCByaGVscEtleXdvcmQgICItLSIKIHN5biBtYXRjaCByaGVscEtleXdvcmQgICItLS0iCkBAIC0xMTEsOSArMTIyLDEzIEBACiBzeW4gbWF0Y2ggcmhlbHBLZXl3b3JkCSJcXE9tZWdhIgogCiAiIExpbmtzIHt7ezEKLXN5biByZWdpb24gcmhlbHBMaW5rIG1hdGNoZ3JvdXA9cmhlbHBTZWN0aW9uIHN0YXJ0PSJcXGxpbmt7IiBlbmQ9In0iIGNvbnRhaW5lZCBrZWVwZW5kCi1zeW4gcmVnaW9uIHJoZWxwTGluayBtYXRjaGdyb3VwPXJoZWxwU2VjdGlvbiBzdGFydD0iXFxsaW5rXFsuXHstfVxdeyIgZW5kPSJ9IiBjb250YWluZWQga2VlcGVuZAotc3luIHJlZ2lvbiByaGVscExpbmsgbWF0Y2hncm91cD1yaGVscFNlY3Rpb24gc3RhcnQ9IlxcbGlua1M0Y2xhc3N7IiBlbmQ9In0iIGNvbnRhaW5lZCBrZWVwZW5kCitzeW4gcmVnaW9uIHJoZWxwTGluayBtYXRjaGdyb3VwPXJoZWxwU2VjdGlvbiBzdGFydD0iXFxsaW5reyIgZW5kPSJ9IiBjb250YWluZWQga2VlcGVuZCBleHRlbmQKK3N5biByZWdpb24gcmhlbHBMaW5rIG1hdGNoZ3JvdXA9cmhlbHBTZWN0aW9uIHN0YXJ0PSJcXGxpbmtcWy5cey19XF17IiBlbmQ9In0iIGNvbnRhaW5lZCBrZWVwZW5kIGV4dGVuZAorc3luIHJlZ2lvbiByaGVscExpbmsgbWF0Y2hncm91cD1yaGVscFNlY3Rpb24gc3RhcnQ9IlxcbGlua1M0Y2xhc3N7IiBlbmQ9In0iIGNvbnRhaW5lZCBrZWVwZW5kIGV4dGVuZAorCisiIFZlcmJhdGltIGxpa2Uge3t7MQorc3luIHJlZ2lvbiByaGVscFZlcmJhdGltIG1hdGNoZ3JvdXA9cmhlbHBUeXBlIHN0YXJ0PSJcXHNhbXB7IiBza2lwPSdcXFxAPCF7Llx7LX1cXFxAPCF9JyBlbmQ9In0iIGNvbnRhaW5zPXJoZWxwU3BlY2lhbENoYXIscmhlbHBDb21tZW50CitzeW4gcmVnaW9uIHJoZWxwVmVyYmF0aW0gbWF0Y2hncm91cD1yaGVscFR5cGUgc3RhcnQ9IlxcdmVyYnsiIHNraXA9J1xcXEA8IXsuXHstfVxcXEA8IX0nIGVuZD0ifSIgY29udGFpbnM9cmhlbHBTcGVjaWFsQ2hhcixyaGVscENvbW1lbnQKIAogIiBUeXBlIFN0eWxlcyB7e3sxCiBzeW4gbWF0Y2ggcmhlbHBUeXBlCQkiXFxlbXBoXD4iCkBAIC0xMjMsNyArMTM4LDYgQEAKIHN5biBtYXRjaCByaGVscFR5cGUJCSJcXGRRdW90ZVw+Igogc3luIG1hdGNoIHJoZWxwVHlwZQkJIlxccHJlZm9ybWF0dGVkXD4iCiBzeW4gbWF0Y2ggcmhlbHBUeXBlCQkiXFxrYmRcPiIKLXN5biBtYXRjaCByaGVscFR5cGUJCSJcXHNhbXBcPiIKIHN5biBtYXRjaCByaGVscFR5cGUJCSJcXGVxblw+Igogc3luIG1hdGNoIHJoZWxwVHlwZQkJIlxcZGVxblw+Igogc3luIG1hdGNoIHJoZWxwVHlwZQkJIlxcZmlsZVw+IgpAQCAtMTcyLDYgKzE4Niw4IEBACiBzeW4gcmVnaW9uIHJoZWxwRnJlZXNlYyBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFxzZWN0aW9ueyIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgdHJhbnNwYXJlbnQgZW5kPSJ9Igogc3luIHJlZ2lvbiByaGVscEZyZWVzdWJzZWMgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9Ilxcc3Vic2VjdGlvbnsiIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHRyYW5zcGFyZW50IGVuZD0ifSIgCiAKK3N5biBtYXRjaCByaGVscERlbGltaXRlciAie1x8XFtcfChcfClcfFxdXHx9IgorCiAiIFIgaGVscCBmaWxlIGNvbW1lbnRzIHt7ezEKIHN5biBtYXRjaCByaGVscENvbW1lbnQgLyUuKiQvCiAKQEAgLTE5NCwxNyArMjEwLDIxIEBACiAgIGVsc2UKICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KICAgZW5kaWYKKyAgSGlMaW5rIHJoZWxwVmVyYmF0aW0gICAgU3RyaW5nCisgIEhpTGluayByaGVscERlbGltaXRlciAgIERlbGltaXRlcgogICBIaUxpbmsgcmhlbHBJZGVudGlmaWVyICBJZGVudGlmaWVyCiAgIEhpTGluayByaGVscFN0cmluZyAgICAgIFN0cmluZworICBIaUxpbmsgcmhlbHBDb2RlU3BlY2lhbCBTcGVjaWFsCiAgIEhpTGluayByaGVscEtleXdvcmQgICAgIEtleXdvcmQKICAgSGlMaW5rIHJoZWxwRG90cyAgICAgICAgS2V5d29yZAogICBIaUxpbmsgcmhlbHBMaW5rICAgICAgICBVbmRlcmxpbmVkCi0gIEhpTGluayByaGVscFR5cGUJICAgICAgVHlwZQorICBIaUxpbmsgcmhlbHBUeXBlICAgICAgICBUeXBlCiAgIEhpTGluayByaGVscFNlY3Rpb24gICAgIFByZUNvbmRpdAogICBIaUxpbmsgcmhlbHBFcnJvciAgICAgICBFcnJvcgogICBIaUxpbmsgcmhlbHBCcmFjZUVycm9yICBFcnJvcgogICBIaUxpbmsgcmhlbHBDdXJseUVycm9yICBFcnJvcgogICBIaUxpbmsgcmhlbHBQYXJlbkVycm9yICBFcnJvcgorICBIaUxpbmsgcmhlbHBQcmVQcm9jICAgICBQcmVQcm9jCiAgIEhpTGluayByaGVscERlbGltaXRlciAgIERlbGltaXRlcgogICBIaUxpbmsgcmhlbHBDb21tZW50ICAgICBDb21tZW50CiAgIEhpTGluayByaGVscFJDb21tZW50ICAgIENvbW1lbnQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3RyZWV0b3AudmltIGIvcnVudGltZS9zeW50YXgvdHJlZXRvcC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTIxYzViZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3RyZWV0b3AudmltCkBAIC0wLDAgKzEsMTEwIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgICAgICBUcmVldG9wCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bm93QGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDExLTAzLTE0CisKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQorCitzeW4ga2V5d29yZCB0cmVldG9wVG9kbworICAgICAgXCBjb250YWluZWQKKyAgICAgIFwgVE9ETworICAgICAgXCBGSVhNRQorICAgICAgXCBYWFgKKyAgICAgIFwgTk9URQorCitzeW4gbWF0Y2ggdHJlZXRvcENvbW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgJyMuKicKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlzcGxheQorICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz10cmVldG9wVG9kbworCitzeW4gaW5jbHVkZSBAdHJlZXRvcFJ1Ynkgc3ludGF4L3J1YnkudmltCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CisKK3N5biBrZXl3b3JkIHRyZWV0b3BLZXl3b3JkCisgICAgICAgICAgICAgICAgICAgICAgICAgXCByZXF1aXJlCisgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmQKK3N5biByZWdpb24gIHRyZWV0b3BLZXl3b3JkCisgICAgICAgICAgICAgICAgICAgICAgICAgXCBtYXRjaGdyb3VwPXRyZWV0b3BLZXl3b3JkCisgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXDxcJShncmFtbWFyXHxpbmNsdWRlXHxtb2R1bGVcKVw+XHplXHMnCisgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmQ9JyQnCisgICAgICAgICAgICAgICAgICAgICAgICAgXCB0cmFuc3BhcmVudAorICAgICAgICAgICAgICAgICAgICAgICAgIFwgb25lbGluZQorICAgICAgICAgICAgICAgICAgICAgICAgIFwga2VlcGVuZAorICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9QHRyZWV0b3BSdWJ5CitzeW4ga2V5d29yZCB0cmVldG9wS2V5d29yZAorICAgICAgICAgICAgICAgICAgICAgICAgIFwgcnVsZQorICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXRyZWV0b3BSdWxlTmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorCitzeW4gbWF0Y2ggICB0cmVldG9wR3JhbW1hck5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAnXHVcdyonCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisKK3N5biBtYXRjaCAgIHRyZWV0b3BSdWJ5TW9kdWxlTmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICdcdVx3KicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKworc3luIG1hdGNoICAgdHJlZXRvcFJ1bGVOYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgIFwgJ1xoXHcqJworICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorCitzeW4gcmVnaW9uICB0cmVldG9wU3RyaW5nCisgICAgICAgICAgICAgICAgICAgICAgICBcIG1hdGNoZ3JvdXA9dHJlZXRvcFN0cmluZ0RlbGltaXRlcgorICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0rIisKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgZW5kPSsiKworc3luIHJlZ2lvbiAgdHJlZXRvcFN0cmluZworICAgICAgICAgICAgICAgICAgICAgICAgXCBtYXRjaGdyb3VwPXRyZWV0b3BTdHJpbmdEZWxpbWl0ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9KycrCisgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0rJysKKworc3luIHJlZ2lvbiAgdHJlZXRvcENoYXJhY3RlckNsYXNzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWF0Y2hncm91cD10cmVldG9wQ2hhcmFjdGVyQ2xhc3NEZWxpbWl0ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0rXFsrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcD0rXFxcXSsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmQ9K1xdKworCitzeW4gcmVnaW9uICB0cmVldG9wUnVieUJsb2NrCisgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1hdGNoZ3JvdXA9dHJlZXRvcFJ1YnlCbG9ja0RlbGltaXRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0reysKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZW5kPSt9KworICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1AdHJlZXRvcFJ1YnkKKworc3luIHJlZ2lvbiAgdHJlZXRvcFNlbWFudGljUHJlZGljYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1hdGNoZ3JvdXA9dHJlZXRvcFNlbWFudGljUHJlZGljYXRlRGVsaW1pdGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PStbISZdeysKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZW5kPSt9KworICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1AdHJlZXRvcFJ1YnkKKworc3luIHJlZ2lvbiAgdHJlZXRvcFN1YmNsYXNzRGVjbGFyYXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWF0Y2hncm91cD10cmVldG9wU3ViY2xhc3NEZWNsYXJhdGlvbkRlbGltaXRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0rPCsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZW5kPSs+KworICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1AdHJlZXRvcFJ1YnkKKworc3luIG1hdGNoICAgdHJlZXRvcEVsbGlwc2lzCisgICAgICAgICAgICAgICAgICAgICAgICAgIFwgKycnKworCitoaSBkZWYgbGluayB0cmVldG9wVG9kbyAgICAgICAgICAgICAgICAgICAgICAgICBUb2RvCitoaSBkZWYgbGluayB0cmVldG9wQ29tbWVudCAgICAgICAgICAgICAgICAgICAgICBDb21tZW50CitoaSBkZWYgbGluayB0cmVldG9wS2V5d29yZCAgICAgICAgICAgICAgICAgICAgICBLZXl3b3JkCitoaSBkZWYgbGluayB0cmVldG9wR3JhbW1hck5hbWUgICAgICAgICAgICAgICAgICBDb25zdGFudAoraGkgZGVmIGxpbmsgdHJlZXRvcFJ1YnlNb2R1bGVOYW1lICAgICAgICAgICAgICAgQ29uc3RhbnQKK2hpIGRlZiBsaW5rIHRyZWV0b3BSdWxlTmFtZSAgICAgICAgICAgICAgICAgICAgIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIHRyZWV0b3BTdHJpbmcgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsgdHJlZXRvcFN0cmluZ0RlbGltaXRlciAgICAgICAgICAgICAgdHJlZXRvcFN0cmluZworaGkgZGVmIGxpbmsgdHJlZXRvcENoYXJhY3RlckNsYXNzICAgICAgICAgICAgICAgdHJlZXRvcFN0cmluZworaGkgZGVmIGxpbmsgdHJlZXRvcENoYXJhY3RlckNsYXNzRGVsaW1pdGVyICAgICAgdHJlZXRvcENoYXJhY3RlckNsYXNzCitoaSBkZWYgbGluayB0cmVldG9wUnVieUJsb2NrRGVsaW1pdGVyICAgICAgICAgICBQcmVQcm9jCitoaSBkZWYgbGluayB0cmVldG9wU2VtYW50aWNQcmVkaWNhdGVEZWxpbWl0ZXIgICBQcmVQcm9jCitoaSBkZWYgbGluayB0cmVldG9wU3ViY2xhc3NEZWNsYXJhdGlvbkRlbGltaXRlciBQcmVQcm9jCitoaSBkZWYgbGluayB0cmVldG9wRWxsaXBzaXMgICAgICAgICAgICAgICAgICAgICBTcGVjaWFsCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gJ3RyZWV0b3AnCisKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdXBzdGFydC52aW0gYi9ydW50aW1lL3N5bnRheC91cHN0YXJ0LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZGI4YmNiCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvdXBzdGFydC52aW0KQEAgLTAsMCArMSwxMTIgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglVcHN0YXJ0IGpvYiBmaWxlcworIiBNYWludGFpbmVyOglNaWNoYWVsIEJpZWJsIDxiaWVibEBkZWJpYW4ub3JnPgorIgkJSmFtZXMgSHVudCA8amFtZXMuaHVudEB1YnVudHUuY29tPgorIiBMYXN0IENoYW5nZToJMjAxMSBNYXIgMjIKKyIgTGljZW5zZToJR1BMIHYyCisiIFZlcnNpb246CTAuNAorIiBSZW1hcms6CVN5bnRheCBoaWdobGlnaHRpbmcgZm9yIFVwc3RhcnQgKGluaXQoOCkpIGpvYiBmaWxlcy4KKyIKKyIgSXQgaXMgaW5zcGlyZWQgYnkgdGhlIGluaXRuZyBzeW50YXggZmlsZSBhbmQgaW5jbHVkZXMgc2gudmltIHRvIGRvIHRoZQorIiBoaWdobGlnaHRpbmcgb2Ygc2NyaXB0IGJsb2Nrcy4KKworaWYgdmVyc2lvbiA8IDYwMAorCXN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisJZmluaXNoCitlbmRpZgorCitsZXQgaXNfYmFzaCA9IDEKK3N5biBpbmNsdWRlIEBTaGVsbCBzeW50YXgvc2gudmltCisKK3N5biBjYXNlIG1hdGNoCisKKyIgYXZvaWQgbmVlZCB0byB1c2UgJ21hdGNoJyBmb3IgbW9zdCBldmVudHMKK3NldGxvY2FsIGlza2V5d29yZCs9LQorCitzeW4gbWF0Y2ggdXBzdGFydENvbW1lbnQgLyMuKiQvIGNvbnRhaW5zPXVwc3RhcnRUb2RvCitzeW4ga2V5d29yZCB1cHN0YXJ0VG9kbyBUT0RPIEZJWE1FIGNvbnRhaW5lZAorCitzeW4gcmVnaW9uIHVwc3RhcnRTdHJpbmcgc3RhcnQ9LyIvIGVuZD0vIi8gc2tpcD0vXFwiLworCitzeW4gcmVnaW9uIHVwc3RhcnRTY3JpcHQgbWF0Y2hncm91cD11cHN0YXJ0U3RhdGVtZW50IHN0YXJ0PSJzY3JpcHQiIGVuZD0iZW5kIHNjcmlwdCIgY29udGFpbnM9QHVwc3RhcnRTaGVsbENsdXN0ZXIKKworc3luIGNsdXN0ZXIgdXBzdGFydFNoZWxsQ2x1c3RlciBjb250YWlucz1AU2hlbGwKKworIiBvbmUgYXJndW1lbnQKK3N5biBrZXl3b3JkIHVwc3RhcnRTdGF0ZW1lbnQgZGVzY3JpcHRpb24gYXV0aG9yIHZlcnNpb24gaW5zdGFuY2UgZXhwZWN0CitzeW4ga2V5d29yZCB1cHN0YXJ0U3RhdGVtZW50IHBpZCBraWxsIG5vcm1hbCBjb25zb2xlIGVudiBleGl0IGV4cG9ydAorc3luIGtleXdvcmQgdXBzdGFydFN0YXRlbWVudCB1bWFzayBuaWNlIG9vbSBjaHJvb3QgY2hkaXIgZXhlYworCisiIHR3byBhcmd1bWVudHMKK3N5biBrZXl3b3JkIHVwc3RhcnRTdGF0ZW1lbnQgbGltaXQKKworIiBvbmUgb3IgbW9yZSBhcmd1bWVudHMgKGV2ZW50cykKK3N5biBrZXl3b3JkIHVwc3RhcnRTdGF0ZW1lbnQgZW1pdHMKKworc3luIGtleXdvcmQgdXBzdGFydFN0YXRlbWVudCBvbiBzdGFydCBzdG9wCisKKyIgZmxhZywgbm8gcGFyYW1ldGVyCitzeW4ga2V5d29yZCB1cHN0YXJ0U3RhdGVtZW50IHJlc3Bhd24gc2VydmljZSBpbnN0YW5jZSBtYW51YWwgZGVidWcgdGFzaworCisiIHByZWZpeCBmb3IgZXhlYyBvciBzY3JpcHQgCitzeW4ga2V5d29yZCB1cHN0YXJ0T3B0aW9uIHByZS1zdGFydCBwb3N0LXN0YXJ0IHByZS1zdG9wIHBvc3Qtc3RvcAorCisiIG9wdGlvbiBmb3Iga2lsbAorc3luIGtleXdvcmQgdXBzdGFydE9wdGlvbiB0aW1lb3V0CisiIG9wdGlvbiBmb3Igb29tCitzeW4ga2V5d29yZCB1cHN0YXJ0T3B0aW9uIG5ldmVyCisiIG9wdGlvbnMgZm9yIGNvbnNvbGUKK3N5biBrZXl3b3JkIHVwc3RhcnRPcHRpb24gb3V0cHV0IG93bmVyCisiIG9wdGlvbnMgZm9yIGV4cGVjdAorc3luIGtleXdvcmQgdXBzdGFydE9wdGlvbiBmb3JrIGRhZW1vbgorIiBvcHRpb25zIGZvciBsaW1pdAorc3luIGtleXdvcmQgdXBzdGFydE9wdGlvbiB1bmxpbWl0ZWQKKworIiAnb3B0aW9ucycgZm9yIHN0YXJ0L3N0b3Agb24KK3N5biBrZXl3b3JkIHVwc3RhcnRPcHRpb24gYW5kIG9yCisKKyIgVXBzdGFydCBpdHNlbGYgYW5kIGFzc29jaWF0ZWQgdXRpbGl0aWVzCitzeW4ga2V5d29yZCB1cHN0YXJ0RXZlbnQgcnVubGV2ZWwKK3N5biBrZXl3b3JkIHVwc3RhcnRFdmVudCBzdGFydGVkCitzeW4ga2V5d29yZCB1cHN0YXJ0RXZlbnQgc3RhcnRpbmcKK3N5biBrZXl3b3JkIHVwc3RhcnRFdmVudCBzdGFydHVwCitzeW4ga2V5d29yZCB1cHN0YXJ0RXZlbnQgc3RvcHBlZAorc3luIGtleXdvcmQgdXBzdGFydEV2ZW50IHN0b3BwaW5nCitzeW4ga2V5d29yZCB1cHN0YXJ0RXZlbnQgY29udHJvbC1hbHQtZGVsZXRlCitzeW4ga2V5d29yZCB1cHN0YXJ0RXZlbnQga2V5Ym9hcmQtcmVxdWVzdAorc3luIGtleXdvcmQgdXBzdGFydEV2ZW50IHBvd2VyLXN0YXR1cy1jaGFuZ2VkCisKKyIgRC1CdXMKK3N5biBrZXl3b3JkIHVwc3RhcnRFdmVudCBkYnVzLWFjdGl2YXRpb24KKworIiBEaXNwbGF5IE1hbmFnZXIgKGllIGdkbSkKK3N5biBrZXl3b3JkIHVwc3RhcnRFdmVudCBkZXNrdG9wLXNlc3Npb24tc3RhcnQKK3N5biBrZXl3b3JkIHVwc3RhcnRFdmVudCBsb2dpbi1zZXNzaW9uLXN0YXJ0CisKKyIgbW91bnRhbGwKK3N5biBrZXl3b3JkIHVwc3RhcnRFdmVudCBhbGwtc3dhcHMKK3N5biBrZXl3b3JkIHVwc3RhcnRFdmVudCBmaWxlc3lzdGVtCitzeW4ga2V5d29yZCB1cHN0YXJ0RXZlbnQgbW91bnRlZAorc3luIGtleXdvcmQgdXBzdGFydEV2ZW50IG1vdW50aW5nCitzeW4ga2V5d29yZCB1cHN0YXJ0RXZlbnQgbG9jYWwtZmlsZXN5c3RlbXMKK3N5biBrZXl3b3JkIHVwc3RhcnRFdmVudCByZW1vdGUtZmlsZXN5c3RlbXMKK3N5biBrZXl3b3JkIHVwc3RhcnRFdmVudCB2aXJ0dWFsLWZpbGVzeXN0ZW1zCisKKyIgU3lzViB1bW91bnRuZnMuc2gKK3N5biBrZXl3b3JkIHVwc3RhcnRFdmVudCBtb3VudGVkLXJlbW90ZS1maWxlc3lzdGVtcworCisiIHVwc3RhcnQtdWRldi1icmlkZ2UgYW5kIGlmdXAvZG93bgorc3luIG1hdGNoICAgdXBzdGFydEV2ZW50IC9cPFxpXHstMSx9LWRldmljZS1cKGFkZGVkXHxyZW1vdmVkXHx1cFx8ZG93blwpLworCisiIHVwc3RhcnQtc29ja2V0LWJyaWRnZQorc3luIGtleXdvcmQgdXBzdGFydEV2ZW50IHNvY2tldAorCitoaSBkZWYgbGluayB1cHN0YXJ0Q29tbWVudCAgIENvbW1lbnQKK2hpIGRlZiBsaW5rIHVwc3RhcnRUb2RvCSAgICAgVG9kbworaGkgZGVmIGxpbmsgdXBzdGFydFN0cmluZyAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHVwc3RhcnRTdGF0ZW1lbnQgU3RhdGVtZW50CitoaSBkZWYgbGluayB1cHN0YXJ0T3B0aW9uICAgIFR5cGUKK2hpIGRlZiBsaW5rIHVwc3RhcnRFdmVudCAgICAgRGVmaW5lCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInVwc3RhcnQiCg==