ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2F1dG9jbWQudHh0IGIvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKaW5kZXggMTRkNjRlZC4uMjBiNWU2YSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKKysrIGIvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKQEAgLTEsNCArMSw0IEBACi0qYXV0b2NtZC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyNworKmF1dG9jbWQudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOSBOb3YgMjUKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTU5LDEwICs1OSwxMCBAQAogOmF1W3RvY21kXSBbZ3JvdXBdIHtldmVudH0ge3BhdH0gW25lc3RlZF0ge2NtZH0KIAkJCUFkZCB7Y21kfSB0byB0aGUgbGlzdCBvZiBjb21tYW5kcyB0aGF0IFZpbSB3aWxsCiAJCQlleGVjdXRlIGF1dG9tYXRpY2FsbHkgb24ge2V2ZW50fSBmb3IgYSBmaWxlIG1hdGNoaW5nCi0JCQl7cGF0fS4gIFZpbSBhbHdheXMgYWRkcyB0aGUge2NtZH0gYWZ0ZXIgZXhpc3RpbmcKLQkJCWF1dG9jb21tYW5kcywgc28gdGhhdCB0aGUgYXV0b2NvbW1hbmRzIGV4ZWN1dGUgaW4gdGhlCi0JCQlvcmRlciBpbiB3aGljaCB0aGV5IHdlcmUgZ2l2ZW4uICBTZWUgfGF1dG9jbWQtbmVzdGVkfAotCQkJZm9yIFtuZXN0ZWRdLgorCQkJe3BhdH0gfGF1dG9jbWQtcGF0dGVybnN8LgorCQkJVmltIGFsd2F5cyBhZGRzIHRoZSB7Y21kfSBhZnRlciBleGlzdGluZyBhdXRvY29tbWFuZHMsCisJCQlzbyB0aGF0IHRoZSBhdXRvY29tbWFuZHMgZXhlY3V0ZSBpbiB0aGUgb3JkZXIgaW4gd2hpY2gKKwkJCXRoZXkgd2VyZSBnaXZlbi4gIFNlZSB8YXV0b2NtZC1uZXN0ZWR8IGZvciBbbmVzdGVkXS4KIAogVGhlIHNwZWNpYWwgcGF0dGVybiA8YnVmZmVyPiBvciA8YnVmZmVyPU4+IGRlZmluZXMgYSBidWZmZXItbG9jYWwgYXV0b2NvbW1hbmQuCiBTZWUgfGF1dG9jbWQtYnVmbG9jYWx8LgpAQCAtNTUxLDcgKzU1MSw3IEBACiAJCQkJYnVmZmVyIHRoYXQgd2FzIGNoYW5nZWQgIjxhZmlsZT4iLgogCQkJCU5PVEU6IFRoZSBjb21tYW5kcyBtdXN0IG5vdCBjaGFuZ2UgdGhlIGN1cnJlbnQKIAkJCQlidWZmZXIsIGp1bXAgdG8gYW5vdGhlciBidWZmZXIgb3IgZGVsZXRlIGEKLQkJCQlidWZmZXIuICAqRTI0NioKKwkJCQlidWZmZXIuICAqRTI0NiogKkU4MTEqCiAJCQkJTk9URTogVGhpcyBldmVudCBuZXZlciBuZXN0cywgdG8gYXZvaWQgYW4KIAkJCQllbmRsZXNzIGxvb3AuICBUaGlzIG1lYW5zIHRoYXQgd2hpbGUgZXhlY3V0aW5nCiAJCQkJY29tbWFuZHMgZm9yIHRoZSBGaWxlQ2hhbmdlZFNoZWxsIGV2ZW50IG5vCkBAIC04MzUsOSArODM1LDkgQEAKIHR3byB3YXlzOgogMS4gV2hlbiB0aGVyZSBpcyBubyAnLycgaW4gdGhlIHBhdHRlcm4sIFZpbSBjaGVja3MgZm9yIGEgbWF0Y2ggYWdhaW5zdCBvbmx5CiAgICB0aGUgdGFpbCBwYXJ0IG9mIHRoZSBmaWxlIG5hbWUgKHdpdGhvdXQgaXRzIGxlYWRpbmcgZGlyZWN0b3J5IHBhdGgpLgotMi4gV2hlbiB0aGVyZSBpcyBhICcvJyBpbiB0aGUgcGF0dGVybiwgIFZpbSBjaGVja3MgZm9yIGEgbWF0Y2ggYWdhaW5zdCB0aGUKLSAgIGJvdGggc2hvcnQgZmlsZSBuYW1lIChhcyB5b3UgdHlwZWQgaXQpIGFuZCB0aGUgZnVsbCBmaWxlIG5hbWUgKGFmdGVyCi0gICBleHBhbmRpbmcgaXQgdG8gYSBmdWxsIHBhdGggYW5kIHJlc29sdmluZyBzeW1ib2xpYyBsaW5rcykuCisyLiBXaGVuIHRoZXJlIGlzIGEgJy8nIGluIHRoZSBwYXR0ZXJuLCBWaW0gY2hlY2tzIGZvciBhIG1hdGNoIGFnYWluc3QgYm90aCB0aGUKKyAgIHNob3J0IGZpbGUgbmFtZSAoYXMgeW91IHR5cGVkIGl0KSBhbmQgdGhlIGZ1bGwgZmlsZSBuYW1lIChhZnRlciBleHBhbmRpbmcKKyAgIGl0IHRvIGEgZnVsbCBwYXRoIGFuZCByZXNvbHZpbmcgc3ltYm9saWMgbGlua3MpLgogCiBUaGUgc3BlY2lhbCBwYXR0ZXJuIDxidWZmZXI+IG9yIDxidWZmZXI9Tj4gaXMgdXNlZCBmb3IgYnVmZmVyLWxvY2FsCiBhdXRvY29tbWFuZHMgfGF1dG9jbWQtYnVmbG9jYWx8LiAgVGhpcyBwYXR0ZXJuIGlzIG5vdCBtYXRjaGVkIGFnYWluc3QgdGhlIG5hbWUKQEAgLTEwNTIsNyArMTA1Miw3IEBACiAJCQkJCQkqOmRvYXV0b2EqICo6ZG9hdXRvYWxsKgogOmRvYXV0b2FbbGxdIFtncm91cF0ge2V2ZW50fSBbZm5hbWVdCiAJCQlMaWtlICI6ZG9hdXRvY21kIiwgYnV0IGFwcGx5IHRoZSBhdXRvY29tbWFuZHMgdG8gZWFjaAotCQkJbG9hZGVkIGJ1ZmZlci4gIE5vdGUgdGhhdCB7Zm5hbWV9IGlzIHVzZWQgdG8gc2VsZWN0CisJCQlsb2FkZWQgYnVmZmVyLiAgTm90ZSB0aGF0IFtmbmFtZV0gaXMgdXNlZCB0byBzZWxlY3QKIAkJCXRoZSBhdXRvY29tbWFuZHMsIG5vdCB0aGUgYnVmZmVycyB0byB3aGljaCB0aGV5IGFyZQogCQkJYXBwbGllZC4KIAkJCUNhcmVmdWw6IERvbid0IHVzZSB0aGlzIGZvciBhdXRvY29tbWFuZHMgdGhhdCBkZWxldGUgYQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvY2hhbmdlLnR4dCBiL3J1bnRpbWUvZG9jL2NoYW5nZS50eHQKaW5kZXggNDQwZTZiNS4uZjQ5M2UxMCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvY2hhbmdlLnR4dAorKysgYi9ydW50aW1lL2RvYy9jaGFuZ2UudHh0CkBAIC0xLDQgKzEsNCBAQAotKmNoYW5nZS50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBKdWwgMjQKKypjaGFuZ2UudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgTm92IDExCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC01MDYsOSArNTA2LDkgQEAKIAkJCXtmaWx0ZXJ9LiAgVmltIHJlcGxhY2VzIHRoZSBvcHRpb25hbCBiYW5ncyB3aXRoIHRoZQogCQkJbGF0ZXN0IGdpdmVuIGNvbW1hbmQgYW5kIGFwcGVuZHMgdGhlIG9wdGlvbmFsIFthcmddLgogCQkJVmltIHNhdmVzIHRoZSBvdXRwdXQgb2YgdGhlIGZpbHRlciBjb21tYW5kIGluIGEKLQkJCXRlbXBvcmFyeSBmaWxlIGFuZCB0aGVuIHJlYWRzIHRoZSBmaWxlIGludG8gdGhlCi0JCQlidWZmZXIuICBWaW0gdXNlcyB0aGUgJ3NoZWxscmVkaXInIG9wdGlvbiB0byByZWRpcmVjdAotCQkJdGhlIGZpbHRlciBvdXRwdXQgdG8gdGhlIHRlbXBvcmFyeSBmaWxlLgorCQkJdGVtcG9yYXJ5IGZpbGUgYW5kIHRoZW4gcmVhZHMgdGhlIGZpbGUgaW50byB0aGUgYnVmZmVyCisJCQl8dGVtcGZpbGV8LiAgVmltIHVzZXMgdGhlICdzaGVsbHJlZGlyJyBvcHRpb24gdG8KKwkJCXJlZGlyZWN0IHRoZSBmaWx0ZXIgb3V0cHV0IHRvIHRoZSB0ZW1wb3JhcnkgZmlsZS4KIAkJCUhvd2V2ZXIsIGlmIHRoZSAnc2hlbGx0ZW1wJyBvcHRpb24gaXMgb2ZmIHRoZW4gcGlwZXMKIAkJCWFyZSB1c2VkIHdoZW4gcG9zc2libGUgKG9uIFVuaXgpLgogCQkJV2hlbiB0aGUgJ1InIGZsYWcgaXMgaW5jbHVkZWQgaW4gJ2Nwb3B0aW9ucycgbWFya3MgaW4KQEAgLTUyNCw3ICs1MjQsOSBAQAogCQkJb3B0aW9uIGlzIGVtcHR5ICh0aGlzIGlzIHRoZSBkZWZhdWx0KSwgdXNlIHRoZQogCQkJaW50ZXJuYWwgZm9ybWF0dGluZyBmdW5jdGlvbiB8Qy1pbmRlbnRpbmd8LiAgQnV0IHdoZW4KIAkJCSdpbmRlbnRleHByJyBpcyBub3QgZW1wdHksIGl0IHdpbGwgYmUgdXNlZCBpbnN0ZWFkCi0JCQl8aW5kZW50LWV4cHJlc3Npb258LgorCQkJfGluZGVudC1leHByZXNzaW9ufC4gIFdoZW4gVmltIHdhcyBjb21waWxlZCB3aXRob3V0CisJCQlpbnRlcm5hbCBmb3JtYXR0aW5nIHRoZW4gdGhlICJpbmRlbnQiIHByb2dyYW0gaXMgdXNlZAorCQkJYXMgYSBsYXN0IHJlc29ydC4KIAogCQkJCQkJCSo9PSoKID09CQkJRmlsdGVyIFtjb3VudF0gbGluZXMgbGlrZSB3aXRoID17bW90aW9ufS4KQEAgLTUzNCw2ICs1MzYsMjIgQEAKIAkJCXtub3QgaW4gVml9CiAKIAorCQkJCQkJKnRlbXBmaWxlKiAqc2V0dWlkKgorVmltIHVzZXMgdGVtcG9yYXJ5IGZpbGVzIGZvciBmaWx0ZXJpbmcsIGdlbmVyYXRpbmcgZGlmZnMgYW5kIGFsc28gZm9yCit0ZW1wbmFtZSgpLiAgRm9yIFVuaXgsIHRoZSBmaWxlIHdpbGwgYmUgaW4gYSBwcml2YXRlIGRpcmVjdG9yeSAob25seQorYWNjZXNzaWJsZSBieSB0aGUgY3VycmVudCB1c2VyKSB0byBhdm9pZCBzZWN1cml0eSBwcm9ibGVtcyAoZS5nLiwgYSBzeW1saW5rCithdHRhY2sgb3Igb3RoZXIgcGVvcGxlIHJlYWRpbmcgeW91ciBmaWxlKS4gIFdoZW4gVmltIGV4aXRzIHRoZSBkaXJlY3RvcnkgYW5kCithbGwgZmlsZXMgaW4gaXQgYXJlIGRlbGV0ZWQuICBXaGVuIFZpbSBoYXMgdGhlIHNldHVpZCBiaXQgc2V0IHRoaXMgbWF5IGNhdXNlCitwcm9ibGVtcywgdGhlIHRlbXAgZmlsZSBpcyBvd25lZCBieSB0aGUgc2V0dWlkIHVzZXIgYnV0IHRoZSBmaWx0ZXIgY29tbWFuZAorcHJvYmFibHkgcnVucyBhcyB0aGUgb3JpZ2luYWwgdXNlci4KK09uIE1TLURPUyBhbmQgT1MvMiB0aGUgZmlyc3Qgb2YgdGhlc2UgZGlyZWN0b3JpZXMgdGhhdCB3b3JrcyBpcyB1c2VkOiAkVE1QLAorJFRFTVAsIGM6XFRNUCwgYzpcVEVNUC4KK0ZvciBVbml4IHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIGlzOiAkVE1QRElSLCAvdG1wLCBjdXJyZW50LWRpciwgJEhPTUUuCitGb3IgTVMtV2luZG93cyB0aGUgR2V0VGVtcEZpbGVOYW1lKCkgc3lzdGVtIGZ1bmN0aW9uIGlzIHVzZWQuCitGb3Igb3RoZXIgc3lzdGVtcyB0aGUgdG1wbmFtKCkgbGlicmFyeSBmdW5jdGlvbiBpcyB1c2VkLgorCisKKwogNC4yIFN1YnN0aXR1dGUJCQkJCQkqOnN1YnN0aXR1dGUqCiAJCQkJCQkJKjpzKiAqOnN1KgogOltyYW5nZV1zW3Vic3RpdHV0ZV0ve3BhdHRlcm59L3tzdHJpbmd9L1tmbGFnc10gW2NvdW50XQpAQCAtODYxLDcgKzg3OSwxMCBAQAogCiAJCQkJCQkJKjpyZWcqICo6cmVnaXN0ZXJzKgogOnJlZ1tpc3RlcnNdCQlEaXNwbGF5IHRoZSBjb250ZW50cyBvZiBhbGwgbnVtYmVyZWQgYW5kIG5hbWVkCi0JCQlyZWdpc3RlcnMuICB7bm90IGluIFZpfQorCQkJcmVnaXN0ZXJzLiAgSWYgYSByZWdpc3RlciBpcyB3cml0dGVuIHRvIGZvciB8OnJlZGlyfAorCQkJaXQgd2lsbCBub3QgYmUgbGlzdGVkLgorCQkJe25vdCBpbiBWaX0KKwogCiA6cmVnW2lzdGVyc10ge2FyZ30JRGlzcGxheSB0aGUgY29udGVudHMgb2YgdGhlIG51bWJlcmVkIGFuZCBuYW1lZAogCQkJcmVnaXN0ZXJzIHRoYXQgYXJlIG1lbnRpb25lZCBpbiB7YXJnfS4gIEZvciBleGFtcGxlOiA+CkBAIC05OTQsNiArMTAxNSwxMSBAQAogYW5kIHdoZXRoZXIgdGhlIGNvcm5lcnMgYXJlIG9uIGFuIGV4aXN0aW5nIGNoYXJhY3Rlci4gIChJbXBsZW1lbnRhdGlvbiBkZXRhaWw6CiBpdCBhY3R1YWxseSB3b3JrcyBieSBmaXJzdCBwdXR0aW5nIHRoZSByZWdpc3RlciBhZnRlciB0aGUgc2VsZWN0aW9uIGFuZCB0aGVuCiBkZWxldGluZyB0aGUgc2VsZWN0aW9uLikKK1RoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHRleHQgaXMgcHV0IGluIHRoZSB1bm5hbWVkIHJlZ2lzdGVyLiAgSWYgeW91IHdhbnQgdG8KK3B1dCB0aGUgc2FtZSB0ZXh0IGludG8gYSBWaXN1YWwgc2VsZWN0aW9uIHNldmVyYWwgdGltZXMgeW91IG5lZWQgdG8gdXNlCithbm90aGVyIHJlZ2lzdGVyLiAgRS5nLiwgeWFuayB0aGUgdGV4dCB0byBjb3B5LCBWaXN1YWxseSBzZWxlY3QgdGhlIHRleHQgdG8KK3JlcGxhY2UgYW5kIHVzZSAiMHAgLiAgWW91IGNhbiByZXBlYXQgdGhpcyBhcyBtYW55IHRpbWVzIGFzIHlvdSBsaWtlLCB0aGUKK3VubmFtZWQgcmVnaXN0ZXIgd2lsbCBiZSBjaGFuZ2VkIGVhY2ggdGltZS4KIAogCQkJCQkJCSpibG9ja3dpc2UtcmVnaXN0ZXIqCiBJZiB5b3UgdXNlIGEgYmxvY2t3aXNlIFZpc3VhbCBtb2RlIGNvbW1hbmQgdG8gZ2V0IHRoZSB0ZXh0IGludG8gdGhlIHJlZ2lzdGVyLApAQCAtMTAzMSw4ICsxMDU3LDEwIEBACiBWaW0gZmlsbHMgdGhpcyByZWdpc3RlciB3aXRoIHRleHQgZGVsZXRlZCB3aXRoIHRoZSAiZCIsICJjIiwgInMiLCAieCIgY29tbWFuZHMKIG9yIGNvcGllZCB3aXRoIHRoZSB5YW5rICJ5IiBjb21tYW5kLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgb3Igbm90IGEgc3BlY2lmaWMKIHJlZ2lzdGVyIHdhcyB1c2VkIChlLmcuICAieGRkKS4gIFRoaXMgaXMgbGlrZSB0aGUgdW5uYW1lZCByZWdpc3RlciBpcyBwb2ludGluZwotdG8gdGhlIGxhc3QgdXNlZCByZWdpc3Rlci4gIEFuIGV4Y2VwdGlvbiBpcyB0aGUgJ18nIHJlZ2lzdGVyOiAiX2RkIGRvZXMgbm90Ci1zdG9yZSB0aGUgZGVsZXRlZCB0ZXh0IGluIGFueSByZWdpc3Rlci4KK3RvIHRoZSBsYXN0IHVzZWQgcmVnaXN0ZXIuICBUaHVzIHdoZW4gYXBwZW5kaW5nIHVzaW5nIGFuIHVwcGVyY2FzZSByZWdpc3RlcgorbmFtZSwgdGhlIHVubmFtZWQgcmVnaXN0ZXIgY29udGFpbnMgdGhlIHNhbWUgdGV4dCBhcyB0aGUgbmFtZWQgcmVnaXN0ZXIuCitBbiBleGNlcHRpb24gaXMgdGhlICdfJyByZWdpc3RlcjogIl9kZCBkb2VzIG5vdCBzdG9yZSB0aGUgZGVsZXRlZCB0ZXh0IGluIGFueQorcmVnaXN0ZXIuCiBWaW0gdXNlcyB0aGUgY29udGVudHMgb2YgdGhlIHVubmFtZWQgcmVnaXN0ZXIgZm9yIGFueSBwdXQgY29tbWFuZCAocCBvciBQKQogd2hpY2ggZG9lcyBub3Qgc3BlY2lmeSBhIHJlZ2lzdGVyLiAgQWRkaXRpb25hbGx5IHlvdSBjYW4gYWNjZXNzIGl0IHdpdGggdGhlCiBuYW1lICciJy4gIFRoaXMgbWVhbnMgeW91IGhhdmUgdG8gdHlwZSB0d28gZG91YmxlIHF1b3Rlcy4gIFdyaXRpbmcgdG8gdGhlICIiCkBAIC0xMDk4LDExICsxMTI2LDE2IEBACiBoaXN0b3J5IGZvciBleHByZXNzaW9ucy4gIFdoZW4geW91IGVuZCB0aGUgY29tbWFuZC1saW5lIGJ5IHR5cGluZyA8Q1I+LCBWaW0KIGNvbXB1dGVzIHRoZSByZXN1bHQgb2YgdGhlIGV4cHJlc3Npb24uICBJZiB5b3UgZW5kIGl0IHdpdGggPEVzYz4sIFZpbSBhYmFuZG9ucwogdGhlIGV4cHJlc3Npb24uICBJZiB5b3UgZG8gbm90IGVudGVyIGFuIGV4cHJlc3Npb24sIFZpbSB1c2VzIHRoZSBwcmV2aW91cwotZXhwcmVzc2lvbiAobGlrZSB3aXRoIHRoZSAiLyIgY29tbWFuZCkuICBUaGUgZXhwcmVzc2lvbiBtdXN0IGV2YWx1YXRlIHRvIGEKLXN0cmluZy4gIElmIHRoZSByZXN1bHQgaXMgYSBudW1iZXIgaXQncyB0dXJuZWQgaW50byBhIHN0cmluZy4gIEEgTGlzdCwKLURpY3Rpb25hcnkgb3IgRnVuY1JlZiByZXN1bHRzIGluIGFuIGVycm9yIG1lc3NhZ2UgKHVzZSBzdHJpbmcoKSB0byBjb252ZXJ0KS4KLUlmIHRoZSAiPSByZWdpc3RlciBpcyB1c2VkIGZvciB0aGUgInAiIGNvbW1hbmQsIHRoZSBzdHJpbmcgaXMgc3BsaXQgdXAgYXQgPE5MPgotY2hhcmFjdGVycy4gIElmIHRoZSBzdHJpbmcgZW5kcyBpbiBhIDxOTD4sIGl0IGlzIHJlZ2FyZGVkIGFzIGEgbGluZXdpc2UKK2V4cHJlc3Npb24gKGxpa2Ugd2l0aCB0aGUgIi8iIGNvbW1hbmQpLgorCitUaGUgZXhwcmVzc2lvbiBtdXN0IGV2YWx1YXRlIHRvIGEgU3RyaW5nLiAgQSBOdW1iZXIgaXMgYWx3YXlzIGF1dG9tYXRpY2FsbHkKK2NvbnZlcnRlZCB0byBhIFN0cmluZy4gIEZvciB0aGUgInAiIGFuZCAiOnB1dCIgY29tbWFuZCwgaWYgdGhlIHJlc3VsdCBpcyBhCitGbG9hdCBpdCdzIGNvbnZlcnRlZCBpbnRvIGEgU3RyaW5nLiAgSWYgdGhlIHJlc3VsdCBpcyBhIExpc3QgZWFjaCBlbGVtZW50IGlzCit0dXJuZWQgaW50byBhIFN0cmluZyBhbmQgdXNlZCBhcyBhIGxpbmUuICBBIERpY3Rpb25hcnkgb3IgRnVuY1JlZiByZXN1bHRzIGluCithbiBlcnJvciBtZXNzYWdlICh1c2Ugc3RyaW5nKCkgdG8gY29udmVydCkuCisKK0lmIHRoZSAiPSByZWdpc3RlciBpcyB1c2VkIGZvciB0aGUgInAiIGNvbW1hbmQsIHRoZSBTdHJpbmcgaXMgc3BsaXQgdXAgYXQgPE5MPgorY2hhcmFjdGVycy4gIElmIHRoZSBTdHJpbmcgZW5kcyBpbiBhIDxOTD4sIGl0IGlzIHJlZ2FyZGVkIGFzIGEgbGluZXdpc2UKIHJlZ2lzdGVyLiAge25vdCBpbiBWaX0KIAogNy4gU2VsZWN0aW9uIGFuZCBkcm9wIHJlZ2lzdGVycyAiKiwgIisgYW5kICJ+IApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvY21kbGluZS50eHQgYi9ydW50aW1lL2RvYy9jbWRsaW5lLnR4dAppbmRleCBjODdlNjFjLi5iOThkZWQxIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9jbWRsaW5lLnR4dAorKysgYi9ydW50aW1lL2RvYy9jbWRsaW5lLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpjbWRsaW5lLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDggU2VwIDE4CisqY21kbGluZS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA5IE9jdCAyNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTE4LDggKzExOCw2IEBACiAJCXByZWZlcnJlZCBiZWhhdmlvciwgYWRkIHRoZSBmb2xsb3dpbmcgdG8geW91ciAudmltcmM6ID4KIAkJCTpjbm9yZW1hcCA8Qy1VPiA8Qy1FPjxDLVU+CiA8Ci0JCU5vdGU6IGlmIHRoZSBjb21tYW5kLWxpbmUgYmVjb21lcyBlbXB0eSB3aXRoIG9uZSBvZiB0aGUKLQkJZGVsZXRlIGNvbW1hbmRzLCBDb21tYW5kLWxpbmUgbW9kZSBpcyBxdWl0LgogCQkJCQkJCSpjXzxJbnNlcnQ+KgogPEluc2VydD4JVG9nZ2xlIGJldHdlZW4gaW5zZXJ0IGFuZCBvdmVyc3RyaWtlLiAge25vdCBpbiBWaX0KIApAQCAtNDg1LDE0ICs0ODMsMTQgQEAKIAogVGhlIEV4IGNvbW1hbmRzIGhhdmUgYSBmZXcgc3BlY2lhbHRpZXM6CiAKLQkJCQkJCQkqOnF1b3RlKgorCQkJCQkJCSo6cXVvdGUqICo6Y29tbWVudCoKICciJyBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lIGNhdXNlcyB0aGUgd2hvbGUgbGluZSB0byBiZSBpZ25vcmVkLiAgJyInCiBhZnRlciBhIGNvbW1hbmQgY2F1c2VzIHRoZSByZXN0IG9mIHRoZSBsaW5lIHRvIGJlIGlnbm9yZWQuICBUaGlzIGNhbiBiZSB1c2VkCiB0byBhZGQgY29tbWVudHMuICBFeGFtcGxlOiA+CiAJOnNldCBhaQkJInNldCAnYXV0b2luZGVudCcgb3B0aW9uCiBJdCBpcyBub3QgcG9zc2libGUgdG8gYWRkIGEgY29tbWVudCB0byBhIHNoZWxsIGNvbW1hbmQgIjohY21kIiBvciB0byB0aGUKLSI6bWFwIiBjb21tYW5kIGFuZCBmcmllbmRzLCBiZWNhdXNlIHRoZXkgc2VlIHRoZSAnIicgYXMgcGFydCBvZiB0aGVpcgotYXJndW1lbnQuCisiOm1hcCIgY29tbWFuZCBhbmQgYSBmZXcgb3RoZXJzLCBiZWNhdXNlIHRoZXkgc2VlIHRoZSAnIicgYXMgcGFydCBvZiB0aGVpcgorYXJndW1lbnQuICBUaGlzIGlzIG1lbnRpb25lZCB3aGVyZSB0aGUgY29tbWFuZCBpcyBleHBsYWluZWQuCiAKIAkJCQkJCQkqOmJhciogKjpcYmFyKgogJ3wnIGNhbiBiZSB1c2VkIHRvIHNlcGFyYXRlIGNvbW1hbmRzLCBzbyB5b3UgY2FuIGdpdmUgbXVsdGlwbGUgY29tbWFuZHMgaW4gb25lCkBAIC03NDQsOCArNzQyLDggQEAKIGZ1bmN0aW9uIGV4cGFuZCgpIHxleHBhbmQoKXwuCiAJJQlJcyByZXBsYWNlZCB3aXRoIHRoZSBjdXJyZW50IGZpbGUgbmFtZS4JCSAgKjpfJSogKmNfJSoKIAkjCUlzIHJlcGxhY2VkIHdpdGggdGhlIGFsdGVybmF0ZSBmaWxlIG5hbWUuCSAgKjpfIyogKmNfIyoKLQkjbgkod2hlcmUgbiBpcyBhIG51bWJlcikgaXMgcmVwbGFjZWQgd2l0aCB0aGUgZmlsZSBuYW1lIG9mCi0JCWJ1ZmZlciBuLiAgIiMwIiBpcyB0aGUgc2FtZSBhcyAiIyIuCisJI24JKHdoZXJlIG4gaXMgYSBudW1iZXIpIGlzIHJlcGxhY2VkIHdpdGgJCSAgKjpfIzAqICo6XyNuKgorCQl0aGUgZmlsZSBuYW1lIG9mIGJ1ZmZlciBuLiAgIiMwIiBpcyB0aGUgc2FtZSBhcyAiIyIuICAgICAqY18jbioKIAkjIwlJcyByZXBsYWNlZCB3aXRoIGFsbCBuYW1lcyBpbiB0aGUgYXJndW1lbnQgbGlzdAkgICo6XyMjKiAqY18jIyoKIAkJY29uY2F0ZW5hdGVkLCBzZXBhcmF0ZWQgYnkgc3BhY2VzLiAgRWFjaCBzcGFjZSBpbiBhIG5hbWUKIAkJaXMgcHJlY2VkZWQgd2l0aCBhIGJhY2tzbGFzaC4KQEAgLTk0OSw3ICs5NDcsNyBAQAogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDYuIENvbW1hbmQtbGluZSB3aW5kb3cJCQkJKmNtZGxpbmUtd2luZG93KiAqY21kd2luKgotCisJCQkJCQkJKmNvbW1hbmQtbGluZS13aW5kb3cqCiBJbiB0aGUgY29tbWFuZC1saW5lIHdpbmRvdyB0aGUgY29tbWFuZCBsaW5lIGNhbiBiZSBlZGl0ZWQganVzdCBsaWtlIGVkaXRpbmcKIHRleHQgaW4gYW55IHdpbmRvdy4gIEl0IGlzIGEgc3BlY2lhbCBraW5kIG9mIHdpbmRvdywgYmVjYXVzZSB5b3UgY2Fubm90IGxlYXZlCiBpdCBpbiBhIG5vcm1hbCB3YXkuCkBAIC05NTcsMTIgKzk1NSwxMiBAQAogZmVhdHVyZX0KIAogCi1PUEVOCitPUEVOCQkJCQkJKmNfQ1RSTC1GKiAqcToqICpxLyogKnE/KgogCiBUaGVyZSBhcmUgdHdvIHdheXMgdG8gb3BlbiB0aGUgY29tbWFuZC1saW5lIHdpbmRvdzoKIDEuIEZyb20gQ29tbWFuZC1saW5lIG1vZGUsIHVzZSB0aGUga2V5IHNwZWNpZmllZCB3aXRoIHRoZSAnY2VkaXQnIG9wdGlvbi4KICAgIFRoZSBkZWZhdWx0IGlzIENUUkwtRiB3aGVuICdjb21wYXRpYmxlJyBpcyBub3Qgc2V0LgotMi4gRnJvbSBOb3JtYWwgbW9kZSwgdXNlIHRoZSAicToiLCAicS8iIG9yICJxPyIgY29tbWFuZC4gICpxOiogKnEvKiAqcT8qCisyLiBGcm9tIE5vcm1hbCBtb2RlLCB1c2UgdGhlICJxOiIsICJxLyIgb3IgInE/IiBjb21tYW5kLgogICAgVGhpcyBzdGFydHMgZWRpdGluZyBhbiBFeCBjb21tYW5kLWxpbmUgKCJxOiIpIG9yIHNlYXJjaCBzdHJpbmcgKCJxLyIgb3IKICAgICJxPyIpLiAgTm90ZSB0aGF0IHRoaXMgaXMgbm90IHBvc3NpYmxlIHdoaWxlIHJlY29yZGluZyBpcyBpbiBwcm9ncmVzcyAodGhlCiAgICAicSIgc3RvcHMgcmVjb3JkaW5nIHRoZW4pLgpAQCAtOTkyLDcgKzk5MCw4IEBACiBUaGUgY29tbWFuZC1saW5lIHdpbmRvdyBpcyBub3QgYSBub3JtYWwgd2luZG93LiAgSXQgaXMgbm90IHBvc3NpYmxlIHRvIG1vdmUgdG8KIGFub3RoZXIgd2luZG93IG9yIGVkaXQgYW5vdGhlciBidWZmZXIuICBBbGwgY29tbWFuZHMgdGhhdCB3b3VsZCBkbyB0aGlzIGFyZQogZGlzYWJsZWQgaW4gdGhlIGNvbW1hbmQtbGluZSB3aW5kb3cuICBPZiBjb3Vyc2UgaXQgX2lzXyBwb3NzaWJsZSB0byBleGVjdXRlCi1hbnkgY29tbWFuZCB0aGF0IHlvdSBlbnRlcmVkIGluIHRoZSBjb21tYW5kLWxpbmUgd2luZG93LgorYW55IGNvbW1hbmQgdGhhdCB5b3UgZW50ZXJlZCBpbiB0aGUgY29tbWFuZC1saW5lIHdpbmRvdy4gIE90aGVyIHRleHQgZWRpdHMgYXJlCitkaXNjYXJkZWQgd2hlbiBjbG9zaW5nIHRoZSB3aW5kb3cuCiAKIAogQ0xPU0UJCQkJCQkJKkUxOTkqCkBAIC0xMDI3LDcgKzEwMjYsNyBAQAogCiBUaGUgY29tbWFuZC1saW5lIHdpbmRvdyBjYW5ub3QgYmUgdXNlZDoKIC0gd2hlbiB0aGVyZSBhbHJlYWR5IGlzIGEgY29tbWFuZC1saW5lIHdpbmRvdyAobm8gbmVzdGluZykKLS0gZm9yIGVudGVyaW5nIGEgZW5jcnlwdGlvbiBrZXkgb3Igd2hlbiB1c2luZyBpbnB1dHNlY3JldCgpCistIGZvciBlbnRlcmluZyBhbiBlbmNyeXB0aW9uIGtleSBvciB3aGVuIHVzaW5nIGlucHV0c2VjcmV0KCkKIC0gd2hlbiBWaW0gd2FzIG5vdCBjb21waWxlZCB3aXRoIHRoZSArdmVydHNwbGl0IGZlYXR1cmUKIAogU29tZSBvcHRpb25zIGFyZSBzZXQgd2hlbiB0aGUgY29tbWFuZC1saW5lIHdpbmRvdyBpcyBvcGVuZWQ6CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9kZWJ1Zy50eHQgYi9ydW50aW1lL2RvYy9kZWJ1Zy50eHQKaW5kZXggNDRjOWY5Zi4uNjU0ZDg5YiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZGVidWcudHh0CisrKyBiL3J1bnRpbWUvZG9jL2RlYnVnLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpkZWJ1Zy50eHQqICAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWF5IDAxCisqZGVidWcudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA5IEp1bCAyMgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTAsNyArMTAsOCBAQAogRm9yIGRlYnVnZ2luZyBWaW0gc2NyaXB0cywgZnVuY3Rpb25zLCBldGMuIHNlZSB8ZGVidWctc2NyaXB0c3wKIAogMS4gTG9jYXRpb24gb2YgYSBjcmFzaCwgdXNpbmcgZ2NjIGFuZCBnZGIJfGRlYnVnLWdjY3wKLTIuIFdpbmRvd3MgQnVnIFJlcG9ydGluZwkJCXxkZWJ1Zy13aW4zMnwKKzIuIExvY2F0aW5nIG1lbW9yeSBsZWFrcwkJCXxkZWJ1Zy1sZWFrc3wKKzMuIFdpbmRvd3MgQnVnIFJlcG9ydGluZwkJCXxkZWJ1Zy13aW4zMnwKIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKQEAgLTM4LDcgKzM5LDI1IEBACiAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi0yLiBXaW5kb3dzIEJ1ZyBSZXBvcnRpbmcJCQkJKmRlYnVnLXdpbjMyKgorMi4gTG9jYXRpbmcgbWVtb3J5IGxlYWtzCQkJCSpkZWJ1Zy1sZWFrcyoKKworSWYgeW91IHN1c3BlY3QgVmltIGlzIGxlYWtpbmcgbWVtb3J5IGFuZCB5b3UgYXJlIHVzaW5nIExpbnV4LCB0aGUgdmFsZ3JpbmQKK3Rvb2wgaXMgdmVyeSB1c2VmdWwgdG8gcGlucG9pbnQgbWVtb3J5IGxlYWtzLgorCitGaXJzdCBvZiBhbGwsIGJ1aWxkIFZpbSB3aXRoIEVYSVRGUkVFIGRlZmluZWQuICBTZWFyY2ggZm9yIHRoaXMgaW4gTUFLRUZJTEUKK2FuZCB1bmNvbW1lbnQgdGhlIGxpbmUuCisKK1VzZSB0aGlzIGNvbW1hbmQgdG8gc3RhcnQgVmltOgkJCQkqdmFsZ3JpbmQqCis+CisJdmFsZ3JpbmQgLS1sb2ctZmlsZT12YWxncmluZC5sb2cgLi92aW0KKworTm90ZTogVmltIHdpbGwgcnVuIG11Y2ggc2xvd2VyLiAgSWYgeW91ciAudmltcmMgaXMgYmlnIG9yIHlvdSBoYXZlIHNldmVyYWwKK3BsdWdpbnMgeW91IG5lZWQgdG8gYmUgcGF0aWVudCBmb3Igc3RhcnR1cCwgb3IgcnVuIHdpdGggdGhlICItdSBOT05FIgorYXJndW1lbnQuCisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCiszLiBXaW5kb3dzIEJ1ZyBSZXBvcnRpbmcJCQkJKmRlYnVnLXdpbjMyKgogCiBJZiB0aGUgV2luZG93cyB2ZXJzaW9uIG9mIFZpbSBjcmFzaGVzIGluIGEgcmVwcm9kdWNpYmxlIG1hbm5lciwgeW91IGNhbiB0YWtlCiBzb21lIHN0ZXBzIHRvIHByb3ZpZGUgYSB1c2VmdWwgYnVnIHJlcG9ydC4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2RldmVsb3AudHh0IGIvcnVudGltZS9kb2MvZGV2ZWxvcC50eHQKaW5kZXggODljYjQ1NS4uZGQ4MDMxYyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZGV2ZWxvcC50eHQKKysrIGIvcnVudGltZS9kb2MvZGV2ZWxvcC50eHQKQEAgLTEsNCArMSw0IEBACi0qZGV2ZWxvcC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA3IE1heSAxMQorKmRldmVsb3AudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBEZWMgMTcKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTY0LDcgKzY0LDcgQEAKICAgaGFyZCB0aW1lIGZpbmRpbmcgYW5kIHJlbWVtYmVyaW5nIHRoZW0uICBLZWVwIGluIG1pbmQgdGhhdCBtb3JlIGNvbW1hbmRzIGFuZAogICBvcHRpb25zIHdpbGwgYmUgYWRkZWQgbGF0ZXIuCiAtIEEgZmVhdHVyZSB0aGF0IHBlb3BsZSBkbyBub3Qga25vdyBhYm91dCBpcyBhIHVzZWxlc3MgZmVhdHVyZS4gIERvbid0IGFkZAotICBvYnNjdXJlIGZlYXR1cmVzLCBvciBhdCBsZWFzdCBhZGQgaGludHMgaW4gZG9jdW1lbnRhdGlvbiB0aGF0IHRoZXkgZXhpc3RzLgorICBvYnNjdXJlIGZlYXR1cmVzLCBvciBhdCBsZWFzdCBhZGQgaGludHMgaW4gZG9jdW1lbnRhdGlvbiB0aGF0IHRoZXkgZXhpc3QuCiAtIE1pbmltaXplIHVzaW5nIENUUkwgYW5kIG90aGVyIG1vZGlmaWVycywgdGhleSBhcmUgbW9yZSBkaWZmaWN1bHQgdG8gdHlwZS4KIC0gVGhlcmUgYXJlIG1hbnkgZmlyc3QtdGltZSBhbmQgaW5leHBlcmllbmNlZCBWaW0gdXNlcnMuICBNYWtlIGl0IGVhc3kgZm9yCiAgIHRoZW0gdG8gc3RhcnQgdXNpbmcgVmltIGFuZCBsZWFybiBtb3JlIG92ZXIgdGltZS4KQEAgLTMyMyw3ICszMjMsNyBAQAogT0s6CXZhciA9IGEgKiA1OwogCiBJbiBnZW5lcmFsOiBVc2UgZW1wdHkgbGluZXMgdG8gZ3JvdXAgbGluZXMgb2YgY29kZSB0b2dldGhlci4gIFB1dCBhIGNvbW1lbnQKLWp1c3QgYWJvdmUgdGhlIGdyb3VwIG9mIGxpbmVzLiAgVGhpcyBtYWtlcyBpdCBtb3JlIGVhc3kgdG8gcXVpY2tseSBzZWUgd2hhdCBpcworanVzdCBhYm92ZSB0aGUgZ3JvdXAgb2YgbGluZXMuICBUaGlzIG1ha2VzIGl0IGVhc2llciB0byBxdWlja2x5IHNlZSB3aGF0IGlzCiBiZWluZyBkb25lLgogCiBPSzoJLyogUHJlcGFyZSBmb3IgYnVpbGRpbmcgdGhlIHRhYmxlLiAqLwpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZGlmZi50eHQgYi9ydW50aW1lL2RvYy9kaWZmLnR4dAppbmRleCAzZjU1YzMwLi4wNzc1YmEyIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9kaWZmLnR4dAorKysgYi9ydW50aW1lL2RvYy9kaWZmLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpkaWZmLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVsIDIxCisqZGlmZi50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA5IFNlcCAxNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNjQsNiArNjQsOSBAQAogCiBUaGVzZSBvcHRpb25zIGFyZSBzZXQgbG9jYWwgdG8gdGhlIHdpbmRvdy4gIFdoZW4gZWRpdGluZyBhbm90aGVyIGZpbGUgdGhleSBhcmUKIHJlc2V0IHRvIHRoZSBnbG9iYWwgdmFsdWUuCitUaGUgb3B0aW9ucyBjYW4gc3RpbGwgYmUgb3ZlcnJ1bGVkIGZyb20gYSBtb2RlbGluZSB3aGVuIHJlLWVkaXRpbmcgdGhlIGZpbGUuCitIb3dldmVyLCAnZm9sZG1ldGhvZCcgYW5kICd3cmFwJyB3b24ndCBiZSBzZXQgZnJvbSBhIG1vZGVsaW5lIHdoZW4gJ2RpZmYnIGlzCitzZXQuCiAKIFRoZSBkaWZmZXJlbmNlcyBzaG93biBhcmUgYWN0dWFsbHkgdGhlIGRpZmZlcmVuY2VzIGluIHRoZSBidWZmZXIuICBUaHVzIGlmIHlvdQogbWFrZSBjaGFuZ2VzIGFmdGVyIGxvYWRpbmcgYSBmaWxlLCB0aGVzZSB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBkaXNwbGF5ZWQKQEAgLTkxLDcgKzk0LDcgQEAKIDpkaWZmdGhpcwlNYWtlIHRoZSBjdXJyZW50IHdpbmRvdyBwYXJ0IG9mIHRoZSBkaWZmIHdpbmRvd3MuICBUaGlzIHNldHMKIAkJdGhlIG9wdGlvbnMgbGlrZSBmb3IgInZpbWRpZmYiLgogCi06ZGlmZnBhdGNoIHtwYXRjaGZpbGV9CQkJCQkqOmRpZmZwKiAqOmRpZmZwYXRjaCoKKzpkaWZmcGF0Y2gge3BhdGNoZmlsZX0JCQkJICpFODE2KiAqOmRpZmZwKiAqOmRpZmZwYXRjaCoKIAkJVXNlIHRoZSBjdXJyZW50IGJ1ZmZlciwgcGF0Y2ggaXQgd2l0aCB0aGUgZGlmZiBmb3VuZCBpbgogCQl7cGF0Y2hmaWxlfSBhbmQgb3BlbiBhIGJ1ZmZlciBvbiB0aGUgcmVzdWx0LiAgVGhlIG9wdGlvbnMgYXJlCiAJCXNldCBhcyBmb3IgInZpbWRpZmYiLgpAQCAtMTIxLDcgKzEyNCw4IEBACiAJCQkJCQkJKjpkaWZmbyogKjpkaWZmb2ZmKgogOmRpZmZvZmYJU3dpdGNoIG9mZiBkaWZmIG1vZGUgZm9yIHRoZSBjdXJyZW50IHdpbmRvdy4KIAotOmRpZmZvZmYhCVN3aXRjaCBvZmYgZGlmZiBtb2RlIGZvciBhbGwgd2luZG93cyBpbiB0aGUgY3VycmVudCB0YWIgcGFnZS4KKzpkaWZmb2ZmIQlTd2l0Y2ggb2ZmIGRpZmYgbW9kZSBmb3IgdGhlIGN1cnJlbnQgd2luZG93IGFuZCBpbiBhbGwgd2luZG93cworCQlpbiB0aGUgY3VycmVudCB0YWIgcGFnZSB3aGVyZSAnZGlmZicgaXMgc2V0LgogCiBUaGUgIjpkaWZmb2ZmIiBjb21tYW5kIHJlc2V0cyB0aGUgcmVsZXZhbnQgb3B0aW9ucyB0byB0aGVpciBkZWZhdWx0IHZhbHVlLgogVGhpcyBtYXkgYmUgZGlmZmVyZW50IGZyb20gd2hhdCB0aGUgdmFsdWVzIHdlcmUgYmVmb3JlIGRpZmYgbW9kZSB3YXMgc3RhcnRlZCwKQEAgLTIzNyw3ICsyNDEsOCBAQAogCQkJCQkJCSo6ZGlmZmcqICo6ZGlmZmdldCoKIDpbcmFuZ2VdZGlmZmdbZXRdIFtidWZzcGVjXQogCQlNb2RpZnkgdGhlIGN1cnJlbnQgYnVmZmVyIHRvIHVuZG8gZGlmZmVyZW5jZSB3aXRoIGFub3RoZXIKLQkJYnVmZmVyLiAgSWYgW2J1ZnNwZWNdIGlzIGdpdmVuLCB0aGF0IGJ1ZmZlciBpcyB1c2VkLgorCQlidWZmZXIuICBJZiBbYnVmc3BlY10gaXMgZ2l2ZW4sIHRoYXQgYnVmZmVyIGlzIHVzZWQuICBJZgorCQlbYnVmc3BlY10gcmVmZXJzIHRvIHRoZSBjdXJyZW50IGJ1ZmZlciB0aGVuIG5vdGhpbmcgaGFwcGVucy4KIAkJT3RoZXJ3aXNlIHRoaXMgb25seSB3b3JrcyBpZiB0aGVyZSBpcyBvbmUgb3RoZXIgYnVmZmVyIGluIGRpZmYKIAkJbW9kZS4KIAkJU2VlIGJlbG93IGZvciBbcmFuZ2VdLgpAQCAtMzIzLDcgKzMyOCw3IEBACiBUaGUgIjRkNCIgaXRlbSBkZWxldGVzIHRoZSBsaW5lICIxMTEiLgogVGhlICc3YzciIGl0ZW0gcmVwbGFjZXMgdGhlIGxpbmUgIkdHRyIgd2l0aCAiZ2dnIi4KIAotV2hlbiAnZGlmZmV4cHInIGlzIG5vdCBlbXB0eSwgVmltIGV2YWx1YXRlcyB0byBvYnRhaW4gYSBkaWZmIGZpbGUgaW4gdGhlCitXaGVuICdkaWZmZXhwcicgaXMgbm90IGVtcHR5LCBWaW0gZXZhbHVhdGVzIGl0IHRvIG9idGFpbiBhIGRpZmYgZmlsZSBpbiB0aGUKIGZvcm1hdCBtZW50aW9uZWQuICBUaGVzZSB2YXJpYWJsZXMgYXJlIHNldCB0byB0aGUgZmlsZSBuYW1lcyB1c2VkOgogCiAJdjpmbmFtZV9pbgkJb3JpZ2luYWwgZmlsZQpAQCAtMzUzLDcgKzM1OCw3IEBACiBiaW5hcmllcyBpc24ndCB1c2VmdWwuICBUaGUgIi0tYmluYXJ5IiBhcmd1bWVudCBtYWtlcyB0aGUgZmlsZXMgcmVhZCBpbiBiaW5hcnkKIG1vZGUsIHNvIHRoYXQgYSBDVFJMLVogZG9lc24ndCBlbmQgdGhlIHRleHQgb24gRE9TLgogCi0JCQkJCQkqRTk3KgorCQkJCQkJKkU4MTAqICpFOTcqCiBWaW0gd2lsbCBkbyBhIHRlc3QgaWYgdGhlIGRpZmYgb3V0cHV0IGxvb2tzIGFscmlnaHQuICBJZiBpdCBkb2Vzbid0LCB5b3Ugd2lsbAogZ2V0IGFuIGVycm9yIG1lc3NhZ2UuICBQb3NzaWJsZSBjYXVzZXM6CiAtICBUaGUgImRpZmYiIHByb2dyYW0gY2Fubm90IGJlIGV4ZWN1dGVkLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZWRpdGluZy50eHQgYi9ydW50aW1lL2RvYy9lZGl0aW5nLnR4dAppbmRleCBjNzQ1ZjkwLi5lNmI3MzQyIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9lZGl0aW5nLnR4dAorKysgYi9ydW50aW1lL2RvYy9lZGl0aW5nLnR4dApAQCAtMSw0ICsxLDQgQEAKLSplZGl0aW5nLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDggQXVnIDA5CisqZWRpdGluZy50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA5IEp1biAxMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMjcwLDcgKzI3MCw3IEBACiAJCQlOb3JtYWwgbW9kZS4gIE90aGVyd2lzZSBzYW1lIGFzIHw6ZWRpdHwuCiAKIAkJCQkJCQkqOnZpZSogKjp2aWV3KgotOnZpZVt3XSBbKytvcHRdIFsrY21kXSBmaWxlCis6dmllW3ddWyFdIFsrK29wdF0gWytjbWRdIGZpbGUKIAkJCVdoZW4gdXNlZCBpbiBFeCBtb2RlOiBMZWF2ZSB8RXggbW9kZXwsIGdvIGJhY2sgdG8KIAkJCU5vcm1hbCBtb2RlLiAgT3RoZXJ3aXNlIHNhbWUgYXMgfDplZGl0fCwgYnV0IHNldAogCQkJJ3JlYWRvbmx5JyBvcHRpb24gZm9yIHRoaXMgYnVmZmVyLiAge25vdCBpbiBWaX0KQEAgLTQ2Miw3ICs0NjIsMTAgQEAKICAgICArK2JhZD1kcm9wICAgUmVtb3ZlIHRoZSBiYWQgY2hhcmFjdGVycy4KIAogVGhlIGRlZmF1bHQgaXMgbGlrZSAiKytiYWQ9PyI6IFJlcGxhY2UgZWFjaCBiYWQgY2hhcmFjdGVyIHdpdGggYSBxdWVzdGlvbgotbWFyay4KK21hcmsuICBJbiBzb21lIHBsYWNlcyBhbiBpbnZlcnRlZCBxdWVzdGlvbiBtYXJrIGlzIHVzZWQgKDB4QkYpLgorCitOb3RlIHRoYXQgbm90IGFsbCBjb21tYW5kcyB1c2UgdGhlICsrYmFkIGFyZ3VtZW50LCBldmVuIHRob3VnaCB0aGV5IGRvIG5vdAorZ2l2ZSBhbiBlcnJvciB3aGVuIHlvdSBhZGQgaXQuICBFLmcuIHw6d3JpdGV8LgogCiBOb3RlIHRoYXQgd2hlbiByZWFkaW5nLCB0aGUgJ2ZpbGVmb3JtYXQnIGFuZCAnZmlsZWVuY29kaW5nJyBvcHRpb25zIHdpbGwgYmUKIHNldCB0byB0aGUgdXNlZCBmb3JtYXQuICBXaGVuIHdyaXRpbmcgdGhpcyBkb2Vzbid0IGhhcHBlbiwgdGh1cyBhIG5leHQgd3JpdGUKQEAgLTgzNyw3ICs4NDAsNyBAQAogRXhhbXBsZTogPgogCTphcmdzICouYwogCTphcmdkbyBzZXQgZmY9dW5peCB8IHVwZGF0ZQotVGhpcyBzZXRzIHRoZSAnZmlsZWZvcm1hdCcgb3B0aW9uIHRvICJ1bml4IiBhbmQgd3JpdGVzIHRoZSBmaWxlIGlmIGlzIG5vdworVGhpcyBzZXRzIHRoZSAnZmlsZWZvcm1hdCcgb3B0aW9uIHRvICJ1bml4IiBhbmQgd3JpdGVzIHRoZSBmaWxlIGlmIGl0IGlzIG5vdwogY2hhbmdlZC4gIFRoaXMgaXMgZG9uZSBmb3IgYWxsICouYyBmaWxlcy4KIAogRXhhbXBsZTogPgpAQCAtMTQ1Niw2ICsxNDU5LDE3IEBACiAJCQltYXkgYmUgc3BlY2lmaWVkIGJ5IG5hbWUsIG51bWJlciBvciB3aXRoIGEgcGF0dGVybi4KIAogCisJCQkJCQkJKkU4MTMqICpFODE0KgorVmltIHdpbGwgcmVsb2FkIHRoZSBidWZmZXIgaWYgeW91IGNob3NlIHRvLiAgSWYgYSB3aW5kb3cgaXMgdmlzaWJsZSB0aGF0Citjb250YWlucyB0aGlzIGJ1ZmZlciwgdGhlIHJlbG9hZGluZyB3aWxsIGhhcHBlbiBpbiB0aGUgY29udGV4dCBvZiB0aGlzIHdpbmRvdy4KK090aGVyd2lzZSBhIHNwZWNpYWwgd2luZG93IGlzIHVzZWQsIHNvIHRoYXQgbW9zdCBhdXRvY29tbWFuZHMgd2lsbCB3b3JrLiAgWW91CitjYW4ndCBjbG9zZSB0aGlzIHdpbmRvdy4gIEEgZmV3IG90aGVyIHJlc3RyaWN0aW9ucyBhcHBseS4gIEJlc3QgaXMgdG8gbWFrZQorc3VyZSBub3RoaW5nIGhhcHBlbnMgb3V0c2lkZSBvZiB0aGUgY3VycmVudCBidWZmZXIuICBFLmcuLCBzZXR0aW5nCit3aW5kb3ctbG9jYWwgb3B0aW9ucyBtYXkgZW5kIHVwIGluIHRoZSB3cm9uZyB3aW5kb3cuICBTcGxpdHRpbmcgdGhlIHdpbmRvdywKK2RvaW5nIHNvbWV0aGluZyB0aGVyZSBhbmQgY2xvc2luZyBpdCBzaG91bGQgYmUgT0sgKGlmIHRoZXJlIGFyZSBubyBzaWRlCitlZmZlY3RzIGZyb20gb3RoZXIgYXV0b2NvbW1hbmRzKS4gIENsb3NpbmcgdW5yZWxhdGVkIHdpbmRvd3MgYW5kIGJ1ZmZlcnMgd2lsbAorZ2V0IHlvdSBpbnRvIHRyb3VibGUuCisKIEJlZm9yZSB3cml0aW5nIGEgZmlsZSB0aGUgdGltZXN0YW1wIGlzIGNoZWNrZWQuICBJZiBpdCBoYXMgY2hhbmdlZCwgVmltIHdpbGwKIGFzayBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gb3ZlcndyaXRlIHRoZSBmaWxlOgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9ldmFsLnR4dCBiL3J1bnRpbWUvZG9jL2V2YWwudHh0CmluZGV4IGFmYTM4YTQuLmI4MTM3MDYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2V2YWwudHh0CisrKyBiL3J1bnRpbWUvZG9jL2V2YWwudHh0CkBAIC0xLDQgKzEsNCBAQAotKmV2YWwudHh0KglGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDggTm92IDI3CisqZXZhbC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAxMCBKYW4gMDUKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtODUzLDcgKzg1Myw4IEBACiAKIElmIGV4cHI4IGlzIGEgTnVtYmVyIG9yIFN0cmluZyB0aGlzIHJlc3VsdHMgaW4gYSBTdHJpbmcgdGhhdCBjb250YWlucyB0aGUKIGV4cHIxJ3RoIHNpbmdsZSBieXRlIGZyb20gZXhwcjguICBleHByOCBpcyB1c2VkIGFzIGEgU3RyaW5nLCBleHByMSBhcyBhCi1OdW1iZXIuICBOb3RlIHRoYXQgdGhpcyBkb2Vzbid0IHJlY29nbml6ZSBtdWx0aS1ieXRlIGVuY29kaW5ncy4KK051bWJlci4gIFRoaXMgZG9lc24ndCByZWNvZ25pemUgbXVsdGktYnl0ZSBlbmNvZGluZ3MsIHNlZSB8Ynl0ZWlkeCgpfCBmb3IKK2FuIGFsdGVybmF0aXZlLgogCiBJbmRleCB6ZXJvIGdpdmVzIHRoZSBmaXJzdCBjaGFyYWN0ZXIuICBUaGlzIGlzIGxpa2UgaXQgd29ya3MgaW4gQy4gIENhcmVmdWw6CiB0ZXh0IGNvbHVtbiBudW1iZXJzIHN0YXJ0IHdpdGggb25lISAgRXhhbXBsZSwgdG8gZ2V0IHRoZSBjaGFyYWN0ZXIgdW5kZXIgdGhlCkBAIC04NzgsOCArODc5LDggQEAKIAogSWYgZXhwcjggaXMgYSBOdW1iZXIgb3IgU3RyaW5nIHRoaXMgcmVzdWx0cyBpbiB0aGUgc3Vic3RyaW5nIHdpdGggdGhlIGJ5dGVzCiBmcm9tIGV4cHIxYSB0byBhbmQgaW5jbHVkaW5nIGV4cHIxYi4gIGV4cHI4IGlzIHVzZWQgYXMgYSBTdHJpbmcsIGV4cHIxYSBhbmQKLWV4cHIxYiBhcmUgdXNlZCBhcyBhIE51bWJlci4gIE5vdGUgdGhhdCB0aGlzIGRvZXNuJ3QgcmVjb2duaXplIG11bHRpLWJ5dGUKLWVuY29kaW5ncy4KK2V4cHIxYiBhcmUgdXNlZCBhcyBhIE51bWJlci4gIFRoaXMgZG9lc24ndCByZWNvZ25pemUgbXVsdGktYnl0ZSBlbmNvZGluZ3MsIHNlZQorfGJ5dGVpZHgoKXwgZm9yIGNvbXB1dGluZyB0aGUgaW5kZXhlcy4KIAogSWYgZXhwcjFhIGlzIG9taXR0ZWQgemVybyBpcyB1c2VkLiAgSWYgZXhwcjFiIGlzIG9taXR0ZWQgdGhlIGxlbmd0aCBvZiB0aGUKIHN0cmluZyBtaW51cyBvbmUgaXMgdXNlZC4KQEAgLTg5NSw3ICs4OTYsOCBAQAogCTpsZXQgYyA9IG5hbWVbLTI6LTJdCQkiIGxhc3QgYnV0IG9uZSBieXRlIG9mIGEgc3RyaW5nCiAJOmxldCBzID0gbGluZSgiLiIpWzQ6XQkJIiBmcm9tIHRoZSBmaWZ0aCBieXRlIHRvIHRoZSBlbmQKIAk6bGV0IHMgPSBzWzotM10JCQkiIHJlbW92ZSBsYXN0IHR3byBieXRlcwotCis8CisJCQkJCQkJKnN1Ymxpc3QqICpzbGljZSoKIElmIGV4cHI4IGlzIGEgfExpc3R8IHRoaXMgcmVzdWx0cyBpbiBhIG5ldyB8TGlzdHwgd2l0aCB0aGUgaXRlbXMgaW5kaWNhdGVkIGJ5CiB0aGUgaW5kZXhlcyBleHByMWEgYW5kIGV4cHIxYi4JVGhpcyB3b3JrcyBsaWtlIHdpdGggYSBTdHJpbmcsIGFzIGV4cGxhaW5lZAoganVzdCBhYm92ZSwgZXhjZXB0IHRoYXQgaW5kZXhlcyBvdXQgb2YgcmFuZ2UgY2F1c2UgYW4gZXJyb3IuICBFeGFtcGxlczogPgpAQCAtMTE5MCw2ICsxMTkyLDcgQEAKIFRodXMgbm90IGluOgogLSBvdGhlciBzY3JpcHRzIHNvdXJjZWQgZnJvbSB0aGlzIG9uZQogLSBtYXBwaW5ncworLSBtZW51cwogLSBldGMuCiAKIFNjcmlwdCB2YXJpYWJsZXMgY2FuIGJlIHVzZWQgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggZ2xvYmFsIHZhcmlhYmxlIG5hbWVzLgpAQCAtMTI4MCw3ICsxMjgzLDggQEAKIAkJdmFsaWQgd2hpbGUgZXZhbHVhdGluZyB0aGUgJ2JhbGxvb25leHByJyBvcHRpb24uCiAKIAkJCQkJKnY6Y2hhciogKmNoYXItdmFyaWFibGUqCi12OmNoYXIJCUFyZ3VtZW50IGZvciBldmFsdWF0aW5nICdmb3JtYXRleHByJy4KK3Y6Y2hhcgkJQXJndW1lbnQgZm9yIGV2YWx1YXRpbmcgJ2Zvcm1hdGV4cHInIGFuZCB1c2VkIGZvciB0aGUgdHlwZWQKKwkJY2hhcmFjdGVyIHdoZW4gdXNpbmcgPGV4cHI+IGluIGFuIGFiYnJldmlhdGlvbiB8bWFwLTxleHByPnwuCiAKIAkJCSp2OmNoYXJjb252ZXJ0X2Zyb20qICpjaGFyY29udmVydF9mcm9tLXZhcmlhYmxlKgogdjpjaGFyY29udmVydF9mcm9tCkBAIC0xMzE3LDYgKzEzMjEsOCBAQAogCTptYXAgX3ggOjxDLVU+ZWNobyAidGhlIGNvdW50IGlzICIgLiB2OmNvdW50PENSPgogPAkJTm90ZTogVGhlIDxDLVU+IGlzIHJlcXVpcmVkIHRvIHJlbW92ZSB0aGUgbGluZSByYW5nZSB0aGF0IHlvdQogCQlnZXQgd2hlbiB0eXBpbmcgJzonIGFmdGVyIGEgY291bnQuCisJCVdoZW4gdGhlcmUgYXJlIHR3byBjb3VudHMsIGFzIGluICIzZDJ3IiwgdGhleSBhcmUgbXVsdGlwbGllZCwKKwkJanVzdCBsaWtlIHdoYXQgaGFwcGVucyBpbiB0aGUgY29tbWFuZCwgImQ2dyIgZm9yIHRoZSBleGFtcGxlLgogCQlBbHNvIHVzZWQgZm9yIGV2YWx1YXRpbmcgdGhlICdmb3JtYXRleHByJyBvcHRpb24uCiAJCSJjb3VudCIgYWxzbyB3b3JrcywgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgogCkBAIC0xNjc3LDkgKzE2ODMsOSBAQAogY2hhbmdlbnIoKQkJCU51bWJlcgljdXJyZW50IGNoYW5nZSBudW1iZXIKIGNoYXIybnIoIHtleHByfSkJCU51bWJlcglBU0NJSSB2YWx1ZSBvZiBmaXJzdCBjaGFyIGluIHtleHByfQogY2luZGVudCgge2xudW19KQkJTnVtYmVyCUMgaW5kZW50IGZvciBsaW5lIHtsbnVtfQotY2xlYXJtYXRjaGVzKCkJCQlOb25lCWNsZWFyIGFsbCBtYXRjaGVzCitjbGVhcm1hdGNoZXMoKQkJCW5vbmUJY2xlYXIgYWxsIG1hdGNoZXMKIGNvbCgge2V4cHJ9KQkJCU51bWJlcgljb2x1bW4gbnIgb2YgY3Vyc29yIG9yIG1hcmsKLWNvbXBsZXRlKHtzdGFydGNvbH0sIHttYXRjaGVzfSkJU3RyaW5nCXNldCBJbnNlcnQgbW9kZSBjb21wbGV0aW9uCitjb21wbGV0ZSgge3N0YXJ0Y29sfSwge21hdGNoZXN9KSBub25lCXNldCBJbnNlcnQgbW9kZSBjb21wbGV0aW9uCiBjb21wbGV0ZV9hZGQoIHtleHByfSkJCU51bWJlcglhZGQgY29tcGxldGlvbiBtYXRjaAogY29tcGxldGVfY2hlY2soKQkJTnVtYmVyCWNoZWNrIGZvciBrZXkgdHlwZWQgZHVyaW5nIGNvbXBsZXRpb24KIGNvbmZpcm0oIHttc2d9IFssIHtjaG9pY2VzfSBbLCB7ZGVmYXVsdH0gWywge3R5cGV9XV1dKQpAQCAtMTcwNCw3ICsxNzEwLDcgQEAKIGV2ZW50aGFuZGxlciggKQkJCU51bWJlcglUUlVFIGlmIGluc2lkZSBhbiBldmVudCBoYW5kbGVyCiBleGVjdXRhYmxlKCB7ZXhwcn0pCQlOdW1iZXIJMSBpZiBleGVjdXRhYmxlIHtleHByfSBleGlzdHMKIGV4aXN0cygge2V4cHJ9KQkJCU51bWJlcglUUlVFIGlmIHtleHByfSBleGlzdHMKLWV4dGVuZCh7ZXhwcjF9LCB7ZXhwcjJ9IFssIHtleHByM31dKQorZXh0ZW5kKCB7ZXhwcjF9LCB7ZXhwcjJ9IFssIHtleHByM31dKQogCQkJCUxpc3QvRGljdCBpbnNlcnQgaXRlbXMgb2Yge2V4cHIyfSBpbnRvIHtleHByMX0KIGV4cGFuZCgge2V4cHJ9IFssIHtmbGFnfV0pCVN0cmluZwlleHBhbmQgc3BlY2lhbCBrZXl3b3JkcyBpbiB7ZXhwcn0KIGZlZWRrZXlzKCB7c3RyaW5nfSBbLCB7bW9kZX1dKQlOdW1iZXIJYWRkIGtleSBzZXF1ZW5jZSB0byB0eXBlYWhlYWQgYnVmZmVyCkBAIC0xNzQ2LDcgKzE3NTIsNyBAQAogZ2V0ZnR5cGUoIHtmbmFtZX0pCQlTdHJpbmcJZGVzY3JpcHRpb24gb2YgdHlwZSBvZiBmaWxlIHtmbmFtZX0KIGdldGxpbmUoIHtsbnVtfSkJCVN0cmluZwlsaW5lIHtsbnVtfSBvZiBjdXJyZW50IGJ1ZmZlcgogZ2V0bGluZSgge2xudW19LCB7ZW5kfSkJCUxpc3QJbGluZXMge2xudW19IHRvIHtlbmR9IG9mIGN1cnJlbnQgYnVmZmVyCi1nZXRsb2NsaXN0KHtucn0pCQlMaXN0CWxpc3Qgb2YgbG9jYXRpb24gbGlzdCBpdGVtcworZ2V0bG9jbGlzdCgge25yfSkJCUxpc3QJbGlzdCBvZiBsb2NhdGlvbiBsaXN0IGl0ZW1zCiBnZXRtYXRjaGVzKCkJCQlMaXN0CWxpc3Qgb2YgY3VycmVudCBtYXRjaGVzCiBnZXRwaWQoKQkJCU51bWJlcglwcm9jZXNzIElEIG9mIFZpbQogZ2V0cG9zKCB7ZXhwcn0pCQkJTGlzdAlwb3NpdGlvbiBvZiBjdXJzb3IsIG1hcmssIGV0Yy4KQEAgLTE4MTUsOSArMTgyMSw5IEBACiAJCQkJTGlzdAltYXRjaCBhbmQgc3VibWF0Y2hlcyBvZiB7cGF0fSBpbiB7ZXhwcn0KIG1hdGNoc3RyKCB7ZXhwcn0sIHtwYXR9Wywge3N0YXJ0fVssIHtjb3VudH1dXSkKIAkJCQlTdHJpbmcJe2NvdW50fSd0aCBtYXRjaCBvZiB7cGF0fSBpbiB7ZXhwcn0KLW1heCh7bGlzdH0pCQkJTnVtYmVyCW1heGltdW0gdmFsdWUgb2YgaXRlbXMgaW4ge2xpc3R9Ci1taW4oe2xpc3R9KQkJCU51bWJlcgltaW5pbXVtIHZhbHVlIG9mIGl0ZW1zIGluIHtsaXN0fQotbWtkaXIoe25hbWV9IFssIHtwYXRofSBbLCB7cHJvdH1dXSkKK21heCgge2xpc3R9KQkJCU51bWJlcgltYXhpbXVtIHZhbHVlIG9mIGl0ZW1zIGluIHtsaXN0fQorbWluKCB7bGlzdH0pCQkJTnVtYmVyCW1pbmltdW0gdmFsdWUgb2YgaXRlbXMgaW4ge2xpc3R9Citta2Rpcigge25hbWV9IFssIHtwYXRofSBbLCB7cHJvdH1dXSkKIAkJCQlOdW1iZXIJY3JlYXRlIGRpcmVjdG9yeSB7bmFtZX0KIG1vZGUoIFtleHByXSkJCQlTdHJpbmcJY3VycmVudCBlZGl0aW5nIG1vZGUKIG5leHRub25ibGFuaygge2xudW19KQkJTnVtYmVyCWxpbmUgbnIgb2Ygbm9uLWJsYW5rIGxpbmUgPj0ge2xudW19CkBAIC0xODI5LDcgKzE4MzUsNyBAQAogcHVtdmlzaWJsZSgpCQkJTnVtYmVyCXdoZXRoZXIgcG9wdXAgbWVudSBpcyB2aXNpYmxlCiByYW5nZSgge2V4cHJ9IFssIHttYXh9IFssIHtzdHJpZGV9XV0pCiAJCQkJTGlzdAlpdGVtcyBmcm9tIHtleHByfSB0byB7bWF4fQotcmVhZGZpbGUoe2ZuYW1lfSBbLCB7YmluYXJ5fSBbLCB7bWF4fV1dKQorcmVhZGZpbGUoIHtmbmFtZX0gWywge2JpbmFyeX0gWywge21heH1dXSkKIAkJCQlMaXN0CWdldCBsaXN0IG9mIGxpbmVzIGZyb20gZmlsZSB7Zm5hbWV9CiByZWx0aW1lKCBbe3N0YXJ0fSBbLCB7ZW5kfV1dKQlMaXN0CWdldCB0aW1lIHZhbHVlCiByZWx0aW1lc3RyKCB7dGltZX0pCQlTdHJpbmcJdHVybiB0aW1lIHZhbHVlIGludG8gYSBTdHJpbmcKQEAgLTE4NTAsNyArMTg1Niw3IEBACiByb3VuZCgge2V4cHJ9KQkJCUZsb2F0CXJvdW5kIG9mZiB7ZXhwcn0KIHNlYXJjaCgge3BhdHRlcm59IFssIHtmbGFnc30gWywge3N0b3BsaW5lfSBbLCB7dGltZW91dH1dXV0pCiAJCQkJTnVtYmVyCXNlYXJjaCBmb3Ige3BhdHRlcm59Ci1zZWFyY2hkZWNsKHtuYW1lfSBbLCB7Z2xvYmFsfSBbLCB7dGhpc2Jsb2NrfV1dKQorc2VhcmNoZGVjbCgge25hbWV9IFssIHtnbG9iYWx9IFssIHt0aGlzYmxvY2t9XV0pCiAJCQkJTnVtYmVyCXNlYXJjaCBmb3IgdmFyaWFibGUgZGVjbGFyYXRpb24KIHNlYXJjaHBhaXIoIHtzdGFydH0sIHttaWRkbGV9LCB7ZW5kfSBbLCB7ZmxhZ3N9IFssIHtza2lwfSBbLi4uXV1dKQogCQkJCU51bWJlcglzZWFyY2ggZm9yIG90aGVyIGVuZCBvZiBzdGFydC9lbmQgcGFpcgpAQCAtMTg2Nyw3ICsxODczLDcgQEAKIHNldGxvY2xpc3QoIHtucn0sIHtsaXN0fVssIHthY3Rpb259XSkKIAkJCQlOdW1iZXIJbW9kaWZ5IGxvY2F0aW9uIGxpc3QgdXNpbmcge2xpc3R9CiBzZXRtYXRjaGVzKCB7bGlzdH0pCQlOdW1iZXIJcmVzdG9yZSBhIGxpc3Qgb2YgbWF0Y2hlcwotc2V0cG9zKCB7ZXhwcn0sIHtsaXN0fSkJCW5vbmUJc2V0IHRoZSB7ZXhwcn0gcG9zaXRpb24gdG8ge2xpc3R9CitzZXRwb3MoIHtleHByfSwge2xpc3R9KQkJTnVtYmVyCXNldCB0aGUge2V4cHJ9IHBvc2l0aW9uIHRvIHtsaXN0fQogc2V0cWZsaXN0KCB7bGlzdH1bLCB7YWN0aW9ufV0pCU51bWJlcgltb2RpZnkgcXVpY2tmaXggbGlzdCB1c2luZyB7bGlzdH0KIHNldHJlZygge259LCB7dn1bLCB7b3B0fV0pCU51bWJlcglzZXQgcmVnaXN0ZXIgdG8gdmFsdWUgYW5kIHR5cGUKIHNldHRhYndpbnZhcigge3RhYm5yfSwge3dpbm5yfSwge3Zhcm5hbWV9LCB7dmFsfSkgICAgc2V0IHt2YXJuYW1lfSBpbiB3aW5kb3cKQEAgLTE5MDUsNyArMTkxMSw3IEBACiBzeW5JRGF0dHIoIHtzeW5JRH0sIHt3aGF0fSBbLCB7bW9kZX1dKQogCQkJCVN0cmluZwlhdHRyaWJ1dGUge3doYXR9IG9mIHN5bnRheCBJRCB7c3luSUR9CiBzeW5JRHRyYW5zKCB7c3luSUR9KQkJTnVtYmVyCXRyYW5zbGF0ZWQgc3ludGF4IElEIG9mIHtzeW5JRH0KLXN5bnN0YWNrKHtsbnVtfSwge2NvbH0pCQlMaXN0CXN0YWNrIG9mIHN5bnRheCBJRHMgYXQge2xudW19IGFuZCB7Y29sfQorc3luc3RhY2soIHtsbnVtfSwge2NvbH0pCUxpc3QJc3RhY2sgb2Ygc3ludGF4IElEcyBhdCB7bG51bX0gYW5kIHtjb2x9CiBzeXN0ZW0oIHtleHByfSBbLCB7aW5wdXR9XSkJU3RyaW5nCW91dHB1dCBvZiBzaGVsbCBjb21tYW5kL2ZpbHRlciB7ZXhwcn0KIHRhYnBhZ2VidWZsaXN0KCBbe2FyZ31dKQlMaXN0CWxpc3Qgb2YgYnVmZmVyIG51bWJlcnMgaW4gdGFiIHBhZ2UKIHRhYnBhZ2VuciggW3thcmd9XSkJCU51bWJlcgludW1iZXIgb2YgY3VycmVudCBvciBsYXN0IHRhYiBwYWdlCkBAIC0xOTI5LDEwICsxOTM1LDEwIEBACiB3aW5saW5lKCkJCQlOdW1iZXIJd2luZG93IGxpbmUgb2YgdGhlIGN1cnNvcgogd2lubnIoIFt7ZXhwcn1dKQkJTnVtYmVyCW51bWJlciBvZiBjdXJyZW50IHdpbmRvdwogd2lucmVzdGNtZCgpCQkJU3RyaW5nCXJldHVybnMgY29tbWFuZCB0byByZXN0b3JlIHdpbmRvdyBzaXplcwotd2lucmVzdHZpZXcoe2RpY3R9KQkJTm9uZQlyZXN0b3JlIHZpZXcgb2YgY3VycmVudCB3aW5kb3cKK3dpbnJlc3R2aWV3KCB7ZGljdH0pCQlub25lCXJlc3RvcmUgdmlldyBvZiBjdXJyZW50IHdpbmRvdwogd2luc2F2ZXZpZXcoKQkJCURpY3QJc2F2ZSB2aWV3IG9mIGN1cnJlbnQgd2luZG93CiB3aW53aWR0aCgge25yfSkJCQlOdW1iZXIJd2lkdGggb2Ygd2luZG93IHtucn0KLXdyaXRlZmlsZSh7bGlzdH0sIHtmbmFtZX0gWywge2JpbmFyeX1dKQord3JpdGVmaWxlKCB7bGlzdH0sIHtmbmFtZX0gWywge2JpbmFyeX1dKQogCQkJCU51bWJlcgl3cml0ZSBsaXN0IG9mIGxpbmVzIHRvIGZpbGUge2ZuYW1lfQogCiBhYnMoe2V4cHJ9KQkJCQkJCQkqYWJzKCkqCkBAIC0yMjQ1LDcgKzIyNTEsNyBAQAogCQl7bWF0Y2hlc30gbXVzdCBiZSBhIHxMaXN0fC4gIEVhY2ggfExpc3R8IGl0ZW0gaXMgb25lIG1hdGNoLgogCQlTZWUgfGNvbXBsZXRlLWl0ZW1zfCBmb3IgdGhlIGtpbmQgb2YgaXRlbXMgdGhhdCBhcmUgcG9zc2libGUuCiAJCU5vdGUgdGhhdCB0aGUgYWZ0ZXIgY2FsbGluZyB0aGlzIGZ1bmN0aW9uIHlvdSBuZWVkIHRvIGF2b2lkCi0JCWluc2VydGluZyBhbnl0aGluZyB0aGF0IHdvdWxkIGNvbXBsZXRpb24gdG8gc3RvcC4KKwkJaW5zZXJ0aW5nIGFueXRoaW5nIHRoYXQgd291bGQgY2F1c2UgY29tcGxldGlvbiB0byBzdG9wLgogCQlUaGUgbWF0Y2ggY2FuIGJlIHNlbGVjdGVkIHdpdGggQ1RSTC1OIGFuZCBDVFJMLVAgYXMgdXN1YWwgd2l0aAogCQlJbnNlcnQgbW9kZSBjb21wbGV0aW9uLiAgVGhlIHBvcHVwIG1lbnUgd2lsbCBhcHBlYXIgaWYKIAkJc3BlY2lmaWVkLCBzZWUgfGlucy1jb21wbGV0aW9uLW1lbnV8LgpAQCAtMjQ3Nyw3ICsyNDgzLDcgQEAKIAkJUmV0dXJuIHRoZSBOdW1iZXIgMSBpZiB7ZXhwcn0gaXMgZW1wdHksIHplcm8gb3RoZXJ3aXNlLgogCQlBIHxMaXN0fCBvciB8RGljdGlvbmFyeXwgaXMgZW1wdHkgd2hlbiBpdCBkb2VzIG5vdCBoYXZlIGFueQogCQlpdGVtcy4JQSBOdW1iZXIgaXMgZW1wdHkgd2hlbiBpdHMgdmFsdWUgaXMgemVyby4KLQkJRm9yIGEgbG9uZyB8TGlzdHwgdGhpcyBpcyBtdWNoIGZhc3RlciB0aGVuIGNvbXBhcmluZyB0aGUKKwkJRm9yIGEgbG9uZyB8TGlzdHwgdGhpcyBpcyBtdWNoIGZhc3RlciB0aGFuIGNvbXBhcmluZyB0aGUKIAkJbGVuZ3RoIHdpdGggemVyby4KIAogZXNjYXBlKHtzdHJpbmd9LCB7Y2hhcnN9KQkJCQkqZXNjYXBlKCkqCkBAIC0zMDUzLDcgKzMwNTksNyBAQAogCQkJMTI4CU1hY2ludG9zaCBvbmx5OiBjb21tYW5kCiAJCU9ubHkgdGhlIG1vZGlmaWVycyB0aGF0IGhhdmUgbm90IGJlZW4gaW5jbHVkZWQgaW4gdGhlCiAJCWNoYXJhY3RlciBpdHNlbGYgYXJlIG9idGFpbmVkLglUaHVzIFNoaWZ0LWEgcmVzdWx0cyBpbiAiQSIKLQkJd2l0aCBubyBtb2RpZmllci4KKwkJd2l0aG91dCBhIG1vZGlmaWVyLgogCiBnZXRjbWRsaW5lKCkJCQkJCQkqZ2V0Y21kbGluZSgpKgogCQlSZXR1cm4gdGhlIGN1cnJlbnQgY29tbWFuZC1saW5lLiAgT25seSB3b3JrcyB3aGVuIHRoZSBjb21tYW5kCkBAIC0zMTgxLDcgKzMxODcsNyBAQAogCQl3aW5kb3cge25yfS4gV2hlbiB7bnJ9IGlzIHplcm8gdGhlIGN1cnJlbnQgd2luZG93IGlzIHVzZWQuCiAJCUZvciBhIGxvY2F0aW9uIGxpc3Qgd2luZG93LCB0aGUgZGlzcGxheWVkIGxvY2F0aW9uIGxpc3QgaXMKIAkJcmV0dXJuZWQuICBGb3IgYW4gaW52YWxpZCB3aW5kb3cgbnVtYmVyIHtucn0sIGFuIGVtcHR5IGxpc3QgaXMKLQkJcmV0dXJuZWQuIE90aGVyd2lzZSwgc2FtZSBhcyBnZXRxZmxpc3QoKS4KKwkJcmV0dXJuZWQuIE90aGVyd2lzZSwgc2FtZSBhcyB8Z2V0cWZsaXN0KCl8LgogCiBnZXRtYXRjaGVzKCkJCQkJCQkqZ2V0bWF0Y2hlcygpKgogCQlSZXR1cm5zIGEgfExpc3R8IHdpdGggYWxsIG1hdGNoZXMgcHJldmlvdXNseSBkZWZpbmVkIGJ5CkBAIC0zNDc4LDcgKzM0ODQsOSBAQAogaWNvbnYoe2V4cHJ9LCB7ZnJvbX0sIHt0b30pCQkJCSppY29udigpKgogCQlUaGUgcmVzdWx0IGlzIGEgU3RyaW5nLCB3aGljaCBpcyB0aGUgdGV4dCB7ZXhwcn0gY29udmVydGVkCiAJCWZyb20gZW5jb2Rpbmcge2Zyb219IHRvIGVuY29kaW5nIHt0b30uCi0JCVdoZW4gdGhlIGNvbnZlcnNpb24gZmFpbHMgYW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkLgorCQlXaGVuIHRoZSBjb252ZXJzaW9uIGNvbXBsZXRlbHkgZmFpbHMgYW4gZW1wdHkgc3RyaW5nIGlzCisJCXJldHVybmVkLiAgV2hlbiBzb21lIGNoYXJhY3RlcnMgY291bGQgbm90IGJlIGNvbnZlcnRlZCB0aGV5CisJCWFyZSByZXBsYWNlZCB3aXRoICI/Ii4KIAkJVGhlIGVuY29kaW5nIG5hbWVzIGFyZSB3aGF0ZXZlciB0aGUgaWNvbnYoKSBsaWJyYXJ5IGZ1bmN0aW9uCiAJCWNhbiBhY2NlcHQsIHNlZSAiOiFtYW4gMyBpY29udiIuCiAJCU1vc3QgY29udmVyc2lvbnMgcmVxdWlyZSBWaW0gdG8gYmUgY29tcGlsZWQgd2l0aCB0aGUgfCtpY29udnwKQEAgLTM1MDMsNyArMzUxMSwxMCBAQAogCiBpbmRleCh7bGlzdH0sIHtleHByfSBbLCB7c3RhcnR9IFssIHtpY31dXSkJCQkqaW5kZXgoKSoKIAkJUmV0dXJuIHRoZSBsb3dlc3QgaW5kZXggaW4gfExpc3R8IHtsaXN0fSB3aGVyZSB0aGUgaXRlbSBoYXMgYQotCQl2YWx1ZSBlcXVhbCB0byB7ZXhwcn0uCisJCXZhbHVlIGVxdWFsIHRvIHtleHByfS4gIFRoZXJlIGlzIG5vIGF1dG9tYXRpYyBjb252ZXJzaW9uLCBzbworCQl0aGUgU3RyaW5nICI0IiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgTnVtYmVyIDQuICBBbmQgdGhlIG51bWJlcgorCQk0IGlzIGRpZmZlcmVudCBmcm9tIHRoZSBGbG9hdCA0LjAuICBUaGUgdmFsdWUgb2YgJ2lnbm9yZWNhc2UnCisJCWlzIG5vdCB1c2VkIGhlcmUsIGNhc2UgYWx3YXlzIG1hdHRlcnMuCiAJCUlmIHtzdGFydH0gaXMgZ2l2ZW4gdGhlbiBzdGFydCBsb29raW5nIGF0IHRoZSBpdGVtIHdpdGggaW5kZXgKIAkJe3N0YXJ0fSAobWF5IGJlIG5lZ2F0aXZlIGZvciBhbiBpdGVtIHJlbGF0aXZlIHRvIHRoZSBlbmQpLgogCQlXaGVuIHtpY30gaXMgZ2l2ZW4gYW5kIGl0IGlzIG5vbi16ZXJvLCBpZ25vcmUgY2FzZS4gIE90aGVyd2lzZQpAQCAtMzUxNiw5ICszNTI3LDkgQEAKIAogaW5wdXQoe3Byb21wdH0gWywge3RleHR9IFssIHtjb21wbGV0aW9ufV1dKQkJKmlucHV0KCkqCiAJCVRoZSByZXN1bHQgaXMgYSBTdHJpbmcsIHdoaWNoIGlzIHdoYXRldmVyIHRoZSB1c2VyIHR5cGVkIG9uCi0JCXRoZSBjb21tYW5kLWxpbmUuICBUaGUgcGFyYW1ldGVyIGlzIGVpdGhlciBhIHByb21wdCBzdHJpbmcsIG9yCi0JCWEgYmxhbmsgc3RyaW5nIChmb3Igbm8gcHJvbXB0KS4gIEEgJ1xuJyBjYW4gYmUgdXNlZCBpbiB0aGUKLQkJcHJvbXB0IHRvIHN0YXJ0IGEgbmV3IGxpbmUuCisJCXRoZSBjb21tYW5kLWxpbmUuICBUaGUge3Byb21wdH0gYXJndW1lbnQgaXMgZWl0aGVyIGEgcHJvbXB0CisJCXN0cmluZywgb3IgYSBibGFuayBzdHJpbmcgKGZvciBubyBwcm9tcHQpLiAgQSAnXG4nIGNhbiBiZSB1c2VkCisJCWluIHRoZSBwcm9tcHQgdG8gc3RhcnQgYSBuZXcgbGluZS4KIAkJVGhlIGhpZ2hsaWdodGluZyBzZXQgd2l0aCB8OmVjaG9obHwgaXMgdXNlZCBmb3IgdGhlIHByb21wdC4KIAkJVGhlIGlucHV0IGlzIGVudGVyZWQganVzdCBsaWtlIGEgY29tbWFuZC1saW5lLCB3aXRoIHRoZSBzYW1lCiAJCWVkaXRpbmcgY29tbWFuZHMgYW5kIG1hcHBpbmdzLglUaGVyZSBpcyBhIHNlcGFyYXRlIGhpc3RvcnkKQEAgLTM1MjgsOCArMzUzOSw5IEBACiAJCQk6ICBlY2hvICJDaGVlcnMhIgogCQkJOmVuZGlmCiA8Ci0JCUlmIHRoZSBvcHRpb25hbCB7dGV4dH0gaXMgcHJlc2VudCBhbmQgbm90IGVtcHR5LCB0aGlzIGlzIHVzZWQKLQkJZm9yIHRoZSBkZWZhdWx0IHJlcGx5LCBhcyBpZiB0aGUgdXNlciB0eXBlZCB0aGlzLiAgRXhhbXBsZTogPgorCQlJZiB0aGUgb3B0aW9uYWwge3RleHR9IGFyZ3VtZW50IGlzIHByZXNlbnQgYW5kIG5vdCBlbXB0eSwgdGhpcworCQlpcyB1c2VkIGZvciB0aGUgZGVmYXVsdCByZXBseSwgYXMgaWYgdGhlIHVzZXIgdHlwZWQgdGhpcy4KKwkJRXhhbXBsZTogPgogCQkJOmxldCBjb2xvciA9IGlucHV0KCJDb2xvcj8gIiwgIndoaXRlIikKIAogPAkJVGhlIG9wdGlvbmFsIHtjb21wbGV0aW9ufSBhcmd1bWVudCBzcGVjaWZpZXMgdGhlIHR5cGUgb2YKQEAgLTM1NTksOCArMzU3MSw4IEBACiAJCQk6ZW5kZnVuY3Rpb24KIAogaW5wdXRkaWFsb2coe3Byb21wdH0gWywge3RleHR9IFssIHtjYW5jZWxyZXR1cm59XV0pCQkqaW5wdXRkaWFsb2coKSoKLQkJTGlrZSBpbnB1dCgpLCBidXQgd2hlbiB0aGUgR1VJIGlzIHJ1bm5pbmcgYW5kIHRleHQgZGlhbG9ncyBhcmUKLQkJc3VwcG9ydGVkLCBhIGRpYWxvZyB3aW5kb3cgcG9wcyB1cCB0byBpbnB1dCB0aGUgdGV4dC4KKwkJTGlrZSB8aW5wdXQoKXwsIGJ1dCB3aGVuIHRoZSBHVUkgaXMgcnVubmluZyBhbmQgdGV4dCBkaWFsb2dzCisJCWFyZSBzdXBwb3J0ZWQsIGEgZGlhbG9nIHdpbmRvdyBwb3BzIHVwIHRvIGlucHV0IHRoZSB0ZXh0LgogCQlFeGFtcGxlOiA+CiAJCQk6bGV0IG4gPSBpbnB1dGRpYWxvZygidmFsdWUgZm9yIHNoaWZ0d2lkdGgiLCAmc3cpCiAJCQk6aWYgbiAhPSAiIgpAQCAtMzU4MSw3ICszNTkzLDcgQEAKIAkJYWJvdmUgdGhlIGZpcnN0IGl0ZW0gYSBuZWdhdGl2ZSBudW1iZXIgaXMgcmV0dXJuZWQuICBXaGVuCiAJCWNsaWNraW5nIG9uIHRoZSBwcm9tcHQgb25lIG1vcmUgdGhhbiB0aGUgbGVuZ3RoIG9mIHt0ZXh0bGlzdH0KIAkJaXMgcmV0dXJuZWQuCi0JCU1ha2Ugc3VyZSB7dGV4dGxpc3R9IGhhcyBsZXNzIHRoZW4gJ2xpbmVzJyBlbnRyaWVzLCBvdGhlcndpc2UKKwkJTWFrZSBzdXJlIHt0ZXh0bGlzdH0gaGFzIGxlc3MgdGhhbiAnbGluZXMnIGVudHJpZXMsIG90aGVyd2lzZQogCQlpdCB3b24ndCB3b3JrLglJdCdzIGEgZ29vZCBpZGVhIHRvIHB1dCB0aGUgZW50cnkgbnVtYmVyIGF0CiAJCXRoZSBzdGFydCBvZiB0aGUgc3RyaW5nLiAgQW5kIHB1dCBhIHByb21wdCBpbiB0aGUgZmlyc3QgaXRlbS4KIAkJRXhhbXBsZTogPgpAQCAtMzU4OSw3ICszNjAxLDcgQEAKIAkJCQlcICcyLiBncmVlbicsICczLiBibHVlJ10pCiAKIGlucHV0cmVzdG9yZSgpCQkJCQkJKmlucHV0cmVzdG9yZSgpKgotCQlSZXN0b3JlIHR5cGVhaGVhZCB0aGF0IHdhcyBzYXZlZCB3aXRoIGEgcHJldmlvdXMgaW5wdXRzYXZlKCkuCisJCVJlc3RvcmUgdHlwZWFoZWFkIHRoYXQgd2FzIHNhdmVkIHdpdGggYSBwcmV2aW91cyB8aW5wdXRzYXZlKCl8LgogCQlTaG91bGQgYmUgY2FsbGVkIHRoZSBzYW1lIG51bWJlciBvZiB0aW1lcyBpbnB1dHNhdmUoKSBpcwogCQljYWxsZWQuICBDYWxsaW5nIGl0IG1vcmUgb2Z0ZW4gaXMgaGFybWxlc3MgdGhvdWdoLgogCQlSZXR1cm5zIDEgd2hlbiB0aGVyZSBpcyBub3RoaW5nIHRvIHJlc3RvcmUsIDAgb3RoZXJ3aXNlLgpAQCAtMzcxOSwxNCArMzczMSwxNCBAQAogCQl0aGUgRExMIGlzIG5vdCBpbiB0aGUgdXN1YWwgcGxhY2VzLgogCQlGb3IgVW5peDogV2hlbiBjb21waWxpbmcgeW91ciBvd24gcGx1Z2lucywgcmVtZW1iZXIgdGhhdCB0aGUKIAkJb2JqZWN0IGNvZGUgbXVzdCBiZSBjb21waWxlZCBhcyBwb3NpdGlvbi1pbmRlcGVuZGVudCAoJ1BJQycpLgotCQl7b25seSBpbiBXaW4zMiBvbiBzb21lIFVuaXggdmVyc2lvbnMsIHdoZW4gdGhlIHwrbGliY2FsbHwKKwkJe29ubHkgaW4gV2luMzIgYW5kIHNvbWUgVW5peCB2ZXJzaW9ucywgd2hlbiB0aGUgfCtsaWJjYWxsfAogCQlmZWF0dXJlIGlzIHByZXNlbnR9CiAJCUV4YW1wbGVzOiA+CiAJCQk6ZWNobyBsaWJjYWxsKCJsaWJjLnNvIiwgImdldGVudiIsICJIT01FIikKIDwKIAkJCQkJCQkqbGliY2FsbG5yKCkqCiBsaWJjYWxsbnIoe2xpYm5hbWV9LCB7ZnVuY25hbWV9LCB7YXJndW1lbnR9KQotCQlKdXN0IGxpa2UgbGliY2FsbCgpLCBidXQgdXNlZCBmb3IgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4KKwkJSnVzdCBsaWtlIHxsaWJjYWxsKCl8LCBidXQgdXNlZCBmb3IgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4KIAkJaW50IGluc3RlYWQgb2YgYSBzdHJpbmcuCiAJCXtvbmx5IGluIFdpbjMyIG9uIHNvbWUgVW5peCB2ZXJzaW9ucywgd2hlbiB0aGUgfCtsaWJjYWxsfAogCQlmZWF0dXJlIGlzIHByZXNlbnR9CkBAIC0zNzU5LDcgKzM3NzEsNyBAQAogPAkJCQkJCQkqbGFzdC1wb3NpdGlvbi1qdW1wKgogCQlUaGlzIGF1dG9jb21tYW5kIGp1bXBzIHRvIHRoZSBsYXN0IGtub3duIHBvc2l0aW9uIGluIGEgZmlsZQogCQlqdXN0IGFmdGVyIG9wZW5pbmcgaXQsIGlmIHRoZSAnIiBtYXJrIGlzIHNldDogPgotCTphdSBCdWZSZWFkUG9zdCAqIGlmIGxpbmUoIidcIiIpID4gMSAmJiBsaW5lKCInXCIiKSA8PSBsaW5lKCIkIikgfCBleGUgIm5vcm1hbCEgZydcIiIgfCBlbmRpZgorCTphdSBCdWZSZWFkUG9zdCAqIGlmIGxpbmUoIidcIiIpID4gMSAmJiBsaW5lKCInXCIiKSA8PSBsaW5lKCIkIikgfCBleGUgIm5vcm1hbCEgZ2BcIiIgfCBlbmRpZgogCiBsaW5lMmJ5dGUoe2xudW19KQkJCQkJKmxpbmUyYnl0ZSgpKgogCQlSZXR1cm4gdGhlIGJ5dGUgY291bnQgZnJvbSB0aGUgc3RhcnQgb2YgdGhlIGJ1ZmZlciBmb3IgbGluZQpAQCAtMzk5MCw4ICs0MDAyLDggQEAKIAkJYmUgZGVsZXRlZCBpbiBvbmUgb3BlcmF0aW9uIGJ5IHxjbGVhcm1hdGNoZXMoKXwuCiAKIG1hdGNoZW5kKHtleHByfSwge3BhdH1bLCB7c3RhcnR9Wywge2NvdW50fV1dKQkJCSptYXRjaGVuZCgpKgotCQlTYW1lIGFzIG1hdGNoKCksIGJ1dCByZXR1cm4gdGhlIGluZGV4IG9mIGZpcnN0IGNoYXJhY3RlciBhZnRlcgotCQl0aGUgbWF0Y2guICBFeGFtcGxlOiA+CisJCVNhbWUgYXMgfG1hdGNoKCl8LCBidXQgcmV0dXJuIHRoZSBpbmRleCBvZiBmaXJzdCBjaGFyYWN0ZXIKKwkJYWZ0ZXIgdGhlIG1hdGNoLiAgRXhhbXBsZTogPgogCQkJOmVjaG8gbWF0Y2hlbmQoInRlc3RpbmciLCAiaW5nIikKIDwJCXJlc3VsdHMgaW4gIjciLgogCQkJCQkJCSpzdHJzcG4oKSogKnN0cmNzcG4oKSoKQEAgLTQwMDEsMTUgKzQwMTMsMTUgQEAKIAkJCTpsZXQgc3BhbiA9IG1hdGNoZW5kKGxpbmUsICdbXmEtekEtWl0nKQogPAkJRXhjZXB0IHRoYXQgLTEgaXMgcmV0dXJuZWQgd2hlbiB0aGVyZSBhcmUgbm8gbWF0Y2hlcy4KIAotCQlUaGUge3N0YXJ0fSwgaWYgZ2l2ZW4sIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzIGZvciBtYXRjaCgpLiA+CisJCVRoZSB7c3RhcnR9LCBpZiBnaXZlbiwgaGFzIHRoZSBzYW1lIG1lYW5pbmcgYXMgZm9yIHxtYXRjaCgpfC4gPgogCQkJOmVjaG8gbWF0Y2hlbmQoInRlc3RpbmciLCAiaW5nIiwgMikKIDwJCXJlc3VsdHMgaW4gIjciLiA+CiAJCQk6ZWNobyBtYXRjaGVuZCgidGVzdGluZyIsICJpbmciLCA1KQogPAkJcmVzdWx0IGlzICItMSIuCi0JCVdoZW4ge2V4cHJ9IGlzIGEgfExpc3R8IHRoZSByZXN1bHQgaXMgZXF1YWwgdG8gbWF0Y2goKS4KKwkJV2hlbiB7ZXhwcn0gaXMgYSB8TGlzdHwgdGhlIHJlc3VsdCBpcyBlcXVhbCB0byB8bWF0Y2goKXwuCiAKIG1hdGNobGlzdCh7ZXhwcn0sIHtwYXR9Wywge3N0YXJ0fVssIHtjb3VudH1dXSkJCQkqbWF0Y2hsaXN0KCkqCi0JCVNhbWUgYXMgbWF0Y2goKSwgYnV0IHJldHVybiBhIHxMaXN0fC4gIFRoZSBmaXJzdCBpdGVtIGluIHRoZQorCQlTYW1lIGFzIHxtYXRjaCgpfCwgYnV0IHJldHVybiBhIHxMaXN0fC4gIFRoZSBmaXJzdCBpdGVtIGluIHRoZQogCQlsaXN0IGlzIHRoZSBtYXRjaGVkIHN0cmluZywgc2FtZSBhcyB3aGF0IG1hdGNoc3RyKCkgd291bGQKIAkJcmV0dXJuLiAgRm9sbG93aW5nIGl0ZW1zIGFyZSBzdWJtYXRjaGVzLCBsaWtlICJcMSIsICJcMiIsIGV0Yy4KIAkJaW4gfDpzdWJzdGl0dXRlfC4gIFdoZW4gYW4gb3B0aW9uYWwgc3VibWF0Y2ggZGlkbid0IG1hdGNoIGFuCkBAIC00MDIzLDcgKzQwMzUsNyBAQAogCQkJOmVjaG8gbWF0Y2hzdHIoInRlc3RpbmciLCAiaW5nIikKIDwJCXJlc3VsdHMgaW4gImluZyIuCiAJCVdoZW4gdGhlcmUgaXMgbm8gbWF0Y2ggIiIgaXMgcmV0dXJuZWQuCi0JCVRoZSB7c3RhcnR9LCBpZiBnaXZlbiwgaGFzIHRoZSBzYW1lIG1lYW5pbmcgYXMgZm9yIG1hdGNoKCkuID4KKwkJVGhlIHtzdGFydH0sIGlmIGdpdmVuLCBoYXMgdGhlIHNhbWUgbWVhbmluZyBhcyBmb3IgfG1hdGNoKCl8LiA+CiAJCQk6ZWNobyBtYXRjaHN0cigidGVzdGluZyIsICJpbmciLCAyKQogPAkJcmVzdWx0cyBpbiAiaW5nIi4gPgogCQkJOmVjaG8gbWF0Y2hzdHIoInRlc3RpbmciLCAiaW5nIiwgNSkKQEAgLTQ0OTcsOSArNDUwOSw5IEBACiA8CiByZW1vdmUoe2xpc3R9LCB7aWR4fSBbLCB7ZW5kfV0pCQkJCSpyZW1vdmUoKSoKIAkJV2l0aG91dCB7ZW5kfTogUmVtb3ZlIHRoZSBpdGVtIGF0IHtpZHh9IGZyb20gfExpc3R8IHtsaXN0fSBhbmQKLQkJcmV0dXJuIGl0LgorCQlyZXR1cm4gdGhlIGl0ZW0uCiAJCVdpdGgge2VuZH06IFJlbW92ZSBpdGVtcyBmcm9tIHtpZHh9IHRvIHtlbmR9IChpbmNsdXNpdmUpIGFuZAotCQlyZXR1cm4gYSBsaXN0IHdpdGggdGhlc2UgaXRlbXMuICBXaGVuIHtpZHh9IHBvaW50cyB0byB0aGUgc2FtZQorCQlyZXR1cm4gYSBMaXN0IHdpdGggdGhlc2UgaXRlbXMuICBXaGVuIHtpZHh9IHBvaW50cyB0byB0aGUgc2FtZQogCQlpdGVtIGFzIHtlbmR9IGEgbGlzdCB3aXRoIG9uZSBpdGVtIGlzIHJldHVybmVkLiAgV2hlbiB7ZW5kfQogCQlwb2ludHMgdG8gYW4gaXRlbSBiZWZvcmUge2lkeH0gdGhpcyBpcyBhbiBlcnJvci4KIAkJU2VlIHxsaXN0LWluZGV4fCBmb3IgcG9zc2libGUgdmFsdWVzIG9mIHtpZHh9IGFuZCB7ZW5kfS4KQEAgLTQ3NTAsNyArNDc2Miw3IEBACiAJCQkJCQkJKnNlYXJjaHBhaXJwb3MoKSoKIHNlYXJjaHBhaXJwb3Moe3N0YXJ0fSwge21pZGRsZX0sIHtlbmR9IFssIHtmbGFnc30gWywge3NraXB9CiAJCQkJWywge3N0b3BsaW5lfSBbLCB7dGltZW91dH1dXV1dKQotCQlTYW1lIGFzIHNlYXJjaHBhaXIoKSwgYnV0IHJldHVybnMgYSB8TGlzdHwgd2l0aCB0aGUgbGluZSBhbmQKKwkJU2FtZSBhcyB8c2VhcmNocGFpcigpfCwgYnV0IHJldHVybnMgYSB8TGlzdHwgd2l0aCB0aGUgbGluZSBhbmQKIAkJY29sdW1uIHBvc2l0aW9uIG9mIHRoZSBtYXRjaC4gVGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlIHxMaXN0fAogCQlpcyB0aGUgbGluZSBudW1iZXIgYW5kIHRoZSBzZWNvbmQgZWxlbWVudCBpcyB0aGUgYnl0ZSBpbmRleCBvZgogCQl0aGUgY29sdW1uIHBvc2l0aW9uIG9mIHRoZSBtYXRjaC4gIElmIG5vIG1hdGNoIGlzIGZvdW5kLApAQCAtNDg3MCw3ICs0ODgyLDggQEAKIAkJRG9lcyBub3QgY2hhbmdlIHRoZSBqdW1wbGlzdC4KIAogCQkibG51bSIgYW5kICJjb2wiIGFyZSB0aGUgcG9zaXRpb24gaW4gdGhlIGJ1ZmZlci4gIFRoZSBmaXJzdAotCQljb2x1bW4gaXMgMS4gIFVzZSBhIHplcm8gImxudW0iIHRvIGRlbGV0ZSBhIG1hcmsuCisJCWNvbHVtbiBpcyAxLiAgVXNlIGEgemVybyAibG51bSIgdG8gZGVsZXRlIGEgbWFyay4gIElmICJjb2wiIGlzCisJCXNtYWxsZXIgdGhhbiAxIHRoZW4gMSBpcyB1c2VkLgogCiAJCVRoZSAib2ZmIiBudW1iZXIgaXMgb25seSB1c2VkIHdoZW4gJ3ZpcnR1YWxlZGl0JyBpcyBzZXQuIFRoZW4KIAkJaXQgaXMgdGhlIG9mZnNldCBpbiBzY3JlZW4gY29sdW1ucyBmcm9tIHRoZSBzdGFydCBvZiB0aGUKQEAgLTQ5ODksNyArNTAwMiw3IEBACiAJCQk6Y2FsbCBzZXR3aW52YXIoMiwgIm15dmFyIiwgImZvb2JhciIpCiAKIHNoZWxsZXNjYXBlKHtzdHJpbmd9IFssIHtzcGVjaWFsfV0pCQkJKnNoZWxsZXNjYXBlKCkqCi0JCUVzY2FwZSB7c3RyaW5nfSBmb3IgdXNlIGFzIHNoZWxsIGNvbW1hbmQgYXJndW1lbnQuCisJCUVzY2FwZSB7c3RyaW5nfSBmb3IgdXNlIGFzIGEgc2hlbGwgY29tbWFuZCBhcmd1bWVudC4KIAkJT24gTVMtV2luZG93cyBhbmQgTVMtRE9TLCB3aGVuICdzaGVsbHNsYXNoJyBpcyBub3Qgc2V0LCBpdAogCQl3aWxsIGVuY2xvc2Uge3N0cmluZ30gaW4gZG91YmxlIHF1b3RlcyBhbmQgZG91YmxlIGFsbCBkb3VibGUKIAkJcXVvdGVzIHdpdGhpbiB7c3RyaW5nfS4KQEAgLTUwNTEsMTUgKzUwNjQsMjAgQEAKIAkJV2hlbiB7ZnVuY30gaXMgZ2l2ZW4gYW5kIGl0IGlzIG9uZSB0aGVuIGNhc2UgaXMgaWdub3JlZC4KIAkJV2hlbiB7ZnVuY30gaXMgYSB8RnVuY3JlZnwgb3IgYSBmdW5jdGlvbiBuYW1lLCB0aGlzIGZ1bmN0aW9uCiAJCWlzIGNhbGxlZCB0byBjb21wYXJlIGl0ZW1zLiAgVGhlIGZ1bmN0aW9uIGlzIGludm9rZWQgd2l0aCB0d28KLQkJaXRlbXMgYXMgYXJndW1lbnQgYW5kIG11c3QgcmV0dXJuIHplcm8gaWYgdGhleSBhcmUgZXF1YWwsIDEgaWYKLQkJdGhlIGZpcnN0IG9uZSBzb3J0cyBhZnRlciB0aGUgc2Vjb25kIG9uZSwgLTEgaWYgdGhlIGZpcnN0IG9uZQotCQlzb3J0cyBiZWZvcmUgdGhlIHNlY29uZCBvbmUuICBFeGFtcGxlOiA+CisJCWl0ZW1zIGFzIGFyZ3VtZW50IGFuZCBtdXN0IHJldHVybiB6ZXJvIGlmIHRoZXkgYXJlIGVxdWFsLCAxIG9yCisJCWJpZ2dlciBpZiB0aGUgZmlyc3Qgb25lIHNvcnRzIGFmdGVyIHRoZSBzZWNvbmQgb25lLCAtMSBvcgorCQlzbWFsbGVyIGlmIHRoZSBmaXJzdCBvbmUgc29ydHMgYmVmb3JlIHRoZSBzZWNvbmQgb25lLgorCQlFeGFtcGxlOiA+CiAJCQlmdW5jIE15Q29tcGFyZShpMSwgaTIpCiAJCQkgICByZXR1cm4gYTppMSA9PSBhOmkyID8gMCA6IGE6aTEgPiBhOmkyID8gMSA6IC0xCiAJCQllbmRmdW5jCiAJCQlsZXQgc29ydGVkbGlzdCA9IHNvcnQobXlsaXN0LCAiTXlDb21wYXJlIikKKzwJCUEgc2hvcnRlciBjb21wYXJlIHZlcnNpb24gZm9yIHRoaXMgc3BlY2lmaWMgc2ltcGxlIGNhc2UsIHdoaWNoCisJCWlnbm9yZXMgb3ZlcmZsb3c6ID4KKwkJCWZ1bmMgTXlDb21wYXJlKGkxLCBpMikKKwkJCSAgIHJldHVybiBhOmkxIC0gYTppMgorCQkJZW5kZnVuYwogPAotCiAJCQkJCQkJKnNvdW5kZm9sZCgpKgogc291bmRmb2xkKHt3b3JkfSkKIAkJUmV0dXJuIHRoZSBzb3VuZC1mb2xkZWQgZXF1aXZhbGVudCBvZiB7d29yZH0uICBVc2VzIHRoZSBmaXJzdApAQCAtNTUwOCwxMCArNTUyNiw3IEBACiAJCWlzIGRpZmZlcmVudCBmb3IgYXQgbGVhc3QgMjYgY29uc2VjdXRpdmUgY2FsbHMuICBFeGFtcGxlOiA+CiAJCQk6bGV0IHRtcGZpbGUgPSB0ZW1wbmFtZSgpCiAJCQk6ZXhlICJyZWRpciA+ICIgLiB0bXBmaWxlCi08CQlGb3IgVW5peCwgdGhlIGZpbGUgd2lsbCBiZSBpbiBhIHByaXZhdGUgZGlyZWN0b3J5IChvbmx5Ci0JCWFjY2Vzc2libGUgYnkgdGhlIGN1cnJlbnQgdXNlcikgdG8gYXZvaWQgc2VjdXJpdHkgcHJvYmxlbXMKLQkJKGUuZy4sIGEgc3ltbGluayBhdHRhY2sgb3Igb3RoZXIgcGVvcGxlIHJlYWRpbmcgeW91ciBmaWxlKS4KLQkJV2hlbiBWaW0gZXhpdHMgdGhlIGRpcmVjdG9yeSBhbmQgYWxsIGZpbGVzIGluIGl0IGFyZSBkZWxldGVkLgorPAkJRm9yIFVuaXgsIHRoZSBmaWxlIHdpbGwgYmUgaW4gYSBwcml2YXRlIGRpcmVjdG9yeSB8dGVtcGZpbGV8LgogCQlGb3IgTVMtV2luZG93cyBmb3J3YXJkIHNsYXNoZXMgYXJlIHVzZWQgd2hlbiB0aGUgJ3NoZWxsc2xhc2gnCiAJCW9wdGlvbiBpcyBzZXQgb3Igd2hlbiAnc2hlbGxjbWRmbGFnJyBzdGFydHMgd2l0aCAnLScuCiAKQEAgLTY1NzUsMTUgKzY1OTAsMTkgQEAKIAkJCXJlbW92ZWQgd2l0aG91dCBlZmZlY3QuICBSZW1vdmluZyBhbnkgbGF0ZXIgaXRlbSBtZWFucwogCQkJaXQgd2lsbCBub3QgYmUgZm91bmQuICBUaHVzIHRoZSBmb2xsb3dpbmcgZXhhbXBsZQogCQkJd29ya3MgKGFuIGluZWZmaWNpZW50IHdheSB0byBtYWtlIGEgbGlzdCBlbXB0eSk6ID4KLQkJCQk6Zm9yIGl0ZW0gaW4gbXlsaXN0Ci0JCQkJICAgOmNhbGwgcmVtb3ZlKG15bGlzdCwgMCkKLQkJCQk6ZW5kZm9yCisJCQkJZm9yIGl0ZW0gaW4gbXlsaXN0CisJCQkJICAgY2FsbCByZW1vdmUobXlsaXN0LCAwKQorCQkJCWVuZGZvcgogPAkJCU5vdGUgdGhhdCByZW9yZGVyaW5nIHRoZSBsaXN0IChlLmcuLCB3aXRoIHNvcnQoKSBvcgogCQkJcmV2ZXJzZSgpKSBtYXkgaGF2ZSB1bmV4cGVjdGVkIGVmZmVjdHMuCiAJCQlOb3RlIHRoYXQgdGhlIHR5cGUgb2YgZWFjaCBsaXN0IGl0ZW0gc2hvdWxkIGJlCiAJCQlpZGVudGljYWwgdG8gYXZvaWQgZXJyb3JzIGZvciB0aGUgdHlwZSBvZiB7dmFyfQogCQkJY2hhbmdpbmcuICBVbmxldCB0aGUgdmFyaWFibGUgYXQgdGhlIGVuZCBvZiB0aGUgbG9vcAotCQkJdG8gYWxsb3cgbXVsdGlwbGUgaXRlbSB0eXBlcy4KKwkJCXRvIGFsbG93IG11bHRpcGxlIGl0ZW0gdHlwZXM6ID4KKwkJCQlmb3IgaXRlbSBpbiBbImZvbyIsIFsiYmFyIl1dCisJCQkJICAgZWNobyBpdGVtCisJCQkJICAgdW5sZXQgaXRlbSAgIiBFNzA2IHdpdGhvdXQgdGhpcworCQkJCWVuZGZvcgogCiA6Zm9yIFt7dmFyMX0sIHt2YXIyfSwgLi4uXSBpbiB7bGlzdGxpc3R9CiA6ZW5kZm9bcl0KQEAgLTY2NTIsNyArNjY3MSw3IEBACiAJCTp0cnkgfCBlZGl0IHwgY2F0Y2ggL15WaW0oZWRpdCk6RVxkXCsvIHwgZWNobyAiZXJyb3IiIHwgZW5kdHJ5CiA8CiAJCQkJCSo6Y2F0KiAqOmNhdGNoKiAqRTYwMyogKkU2MDQqICpFNjA1KgotOmNhdFtjaF0gL3twYXR0ZXJufS8JVGhlIGZvbGxvd2luZyBjb21tYW5kcyB1bnRpbCB0aGUgbmV4dCAiOmNhdGNoIiwKKzpjYXRbY2hdIC97cGF0dGVybn0vCVRoZSBmb2xsb3dpbmcgY29tbWFuZHMgdW50aWwgdGhlIG5leHQgfDpjYXRjaHwsCiAJCQl8OmZpbmFsbHl8LCBvciB8OmVuZHRyeXwgdGhhdCBiZWxvbmdzIHRvIHRoZSBzYW1lCiAJCQl8OnRyeXwgYXMgdGhlICI6Y2F0Y2giIGFyZSBleGVjdXRlZCB3aGVuIGFuIGV4Y2VwdGlvbgogCQkJbWF0Y2hpbmcge3BhdHRlcm59IGlzIGJlaW5nIHRocm93biBhbmQgaGFzIG5vdCB5ZXQKQEAgLTY4MjUsNyArNjg0NCw3IEBACiAJCTpleGVjdXRlICd3aGlsZSBpIDwgNSB8IGVjaG8gaSB8IGxldCBpID0gaSArIDEgfCBlbmR3aGlsZScKIDwKIAotCQkJCQkJCSo6Y29tbWVudCoKKwkJCQkJCQkqOmV4ZS1jb21tZW50KgogCQkJIjpleGVjdXRlIiwgIjplY2hvIiBhbmQgIjplY2hvbiIgY2Fubm90IGJlIGZvbGxvd2VkIGJ5CiAJCQlhIGNvbW1lbnQgZGlyZWN0bHksIGJlY2F1c2UgdGhleSBzZWUgdGhlICciJyBhcyB0aGUKIAkJCXN0YXJ0IG9mIGEgc3RyaW5nLiAgQnV0LCB5b3UgY2FuIHVzZSAnfCcgZm9sbG93ZWQgYnkgYQpAQCAtNzgzMSw3ICs3ODUwLDcgQEAKIAogUHJpbnRpbmcgaW4gQmluYXJ5IH4KID4KLSAgOiIgVGhlIGZ1bmN0aW9uIE5yMkJpbigpIHJldHVybnMgdGhlIEhleCBzdHJpbmcgb2YgYSBudW1iZXIuCisgIDoiIFRoZSBmdW5jdGlvbiBOcjJCaW4oKSByZXR1cm5zIHRoZSBiaW5hcnkgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEgbnVtYmVyLgogICA6ZnVuYyBOcjJCaW4obnIpCiAgIDogIGxldCBuID0gYTpucgogICA6ICBsZXQgciA9ICIiCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9ldmltLXBsLjEgYi9ydW50aW1lL2RvYy9ldmltLXBsLjEKaW5kZXggMjg0YjViYy4uNDkwZWUzYSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZXZpbS1wbC4xCisrKyBiL3J1bnRpbWUvZG9jL2V2aW0tcGwuMQpAQCAtMTQsMTEgKzE0LDExIEBACiAuQiBWaW1hCiBpIHVzdGF3aWEgb3BjamUgdGFrIGJ5IHphY2hvd3l3YbMgc2nqIGphayBlZHl0b3IgYmV6IHRyeWLzdy4KIFRvIGplc3QgY2GzeSBjemFzIFZpbSBhbGUgdb95d2FueSBqYWtvIGVkeXRvciB3c2thvy1pLWtsaWtuaWouCi1aYWNob3dhbmllIHcgc3RsdSBOb3RlcGFkYSBkbGEgTVMtV2luZG93cy4KK1phY2hvd2FuaWUgdyBzdHlsdSBOb3RlcGFkYSBkbGEgTVMtV2luZG93cy4KIC5CIGVWaW0KIGLqZHppZSB6YXdzemUgdXJ1Y2hvbWlvbnkgdyBHVUkgYnkgd7OxY3p55iBtZW51IGkgcGFzZWsgbmFyeupkemkuCiAuUFAKLVByemV6bmFjem9ueSB0eWxrbyBkbGEgbHVkemksIGt083J6eSBuYXByYXdk6iBuaWUgcG90cmFmabEgcHJhY293YeYKK1ByemV6bmFjem9ueSB0eWxrbyBkbGEgbHVkemksIGt083J6eSBuYXByYXdk6iBuaWUgbW9nsSBwcmFjb3dh5gogeiBWaW1lbSB3IG5vcm1hbG55IHNwb3PzYi4gRWR5Y2phIGLqZHppZSBvIHdpZWxlIG1uaWVqIGVmZWt0eXduYS4KIC5QUAogLkIgZXZpZXcKQEAgLTMxLDggKzMxLDggQEAKIHRla3N0LgogLmJyCiBNYXBvd2FuaWEgc7EgdXN0YXdpb25lIHRhayBieSBLb3Bpb3dhbmllIGkgV2tsZWphbmllIGR6aWGzYbNvCi16IGtsYXdpc3phbWkgTVMtV2luZG93cy4gQ1RSTC1YIHd5Y2luYSB0ZWtzdCwgQ1RSTC1DIGtvcGl1amUKLWEgQ1RSTC1WIHdrbGVqYS4gVb95aiBDVFJMLVEgYnkgdXp5c2th5iBvcnlnaW5hbG5lIHpuYWN6ZW5pZQoreiBrbGF3aXN6YW1pIE1TLVdpbmRvd3MuIENUUkwtWCB3eWNpbmEsIENUUkwtQyBrb3BpdWplIGEgQ1RSTC1WIAord2tsZWphIHRla3N0LiBVv3lqIENUUkwtUSBieSB1enlza2HmIG9yeWdpbmFsbmUgcHJ6ZXpuYWN6ZW5pZQogQ1RSTC1WLgogLlNIIE9QQ0pFCiBab2JhY3ogdmltKDEpLgpAQCAtNDIsNyArNDIsNyBAQAogU2tyeXB0IHVydWNoYW1pYW5pYSBkbGEgZVZpbWEuCiAuU0ggWk5BTlkgSkFLTwogWm5hbnkgamFrbyAiVmltIGRsYSBmcmFqZXLzdyIuCi1KZbZsaSB1v3l3YXN6IGV2aW1hIG9jemVrdWplIHNp6iwgv2Ugd3lqbWllc3ogY2h1c3RlY3pr6iBkbyBub3NhLAorSmW2bGkgdb95d2FzeiBlVmltYSBvY3pla3VqZSBzaeosIL9lIHd5am1pZXN6IGNodXN0ZWN6a+ogZG8gbm9zYSwKIHpyb2Jpc3ogd+p66rMgdyBrYb9keW0gcm9ndSBpIGLqZHppZXN6IHRvIG5vc2mzIG5hIGezb3dpZS4KIC5TSCBaT0JBQ1ogVEFLr0UKIHZpbSgxKQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZXZpbS1wbC5VVEYtOC4xIGIvcnVudGltZS9kb2MvZXZpbS1wbC5VVEYtOC4xCmluZGV4IGRhOTQwYzAuLjA5NmExMmEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2V2aW0tcGwuVVRGLTguMQorKysgYi9ydW50aW1lL2RvYy9ldmltLXBsLlVURi04LjEKQEAgLTE0LDExICsxNCwxMSBAQAogLkIgVmltYQogaSB1c3Rhd2lhIG9wY2plIHRhayBieSB6YWNob3d5d2HFgiBzacSZIGphayBlZHl0b3IgYmV6IHRyeWLDs3cuCiBUbyBqZXN0IGNhxYJ5IGN6YXMgVmltIGFsZSB1xbx5d2FueSBqYWtvIGVkeXRvciB3c2thxbwtaS1rbGlrbmlqLgotWmFjaG93YW5pZSB3IHN0bHUgTm90ZXBhZGEgZGxhIE1TLVdpbmRvd3MuCitaYWNob3dhbmllIHcgc3R5bHUgTm90ZXBhZGEgZGxhIE1TLVdpbmRvd3MuCiAuQiBlVmltCiBixJlkemllIHphd3N6ZSB1cnVjaG9taW9ueSB3IEdVSSBieSB3xYLEhWN6ecSHIG1lbnUgaSBwYXNlayBuYXJ6xJlkemkuCiAuUFAKLVByemV6bmFjem9ueSB0eWxrbyBkbGEgbHVkemksIGt0w7NyenkgbmFwcmF3ZMSZIG5pZSBwb3RyYWZpxIUgcHJhY293YcSHCitQcnplem5hY3pvbnkgdHlsa28gZGxhIGx1ZHppLCBrdMOzcnp5IG5hcHJhd2TEmSBuaWUgbW9nxIUgcHJhY293YcSHCiB6IFZpbWVtIHcgbm9ybWFsbnkgc3Bvc8OzYi4gRWR5Y2phIGLEmWR6aWUgbyB3aWVsZSBtbmllaiBlZmVrdHl3bmEuCiAuUFAKIC5CIGV2aWV3CkBAIC0zMSw4ICszMSw4IEBACiB0ZWtzdC4KIC5icgogTWFwb3dhbmlhIHPEhSB1c3Rhd2lvbmUgdGFrIGJ5IEtvcGlvd2FuaWUgaSBXa2xlamFuaWUgZHppYcWCYcWCbwoteiBrbGF3aXN6YW1pIE1TLVdpbmRvd3MuIENUUkwtWCB3eWNpbmEgdGVrc3QsIENUUkwtQyBrb3BpdWplCi1hIENUUkwtViB3a2xlamEuIFXFvHlqIENUUkwtUSBieSB1enlza2HEhyBvcnlnaW5hbG5lIHpuYWN6ZW5pZQoreiBrbGF3aXN6YW1pIE1TLVdpbmRvd3MuIENUUkwtWCB3eWNpbmEsIENUUkwtQyBrb3BpdWplIGEgQ1RSTC1WIAord2tsZWphIHRla3N0LiBVxbx5aiBDVFJMLVEgYnkgdXp5c2thxIcgb3J5Z2luYWxuZSBwcnplem5hY3plbmllCiBDVFJMLVYuCiAuU0ggT1BDSkUKIFpvYmFjeiB2aW0oMSkuCkBAIC00Miw3ICs0Miw3IEBACiBTa3J5cHQgdXJ1Y2hhbWlhbmlhIGRsYSBlVmltYS4KIC5TSCBaTkFOWSBKQUtPCiBabmFueSBqYWtvICJWaW0gZGxhIGZyYWplcsOzdyIuCi1KZcWbbGkgdcW8eXdhc3ogZXZpbWEgb2N6ZWt1amUgc2nEmSwgxbxlIHd5am1pZXN6IGNodXN0ZWN6a8SZIGRvIG5vc2EsCitKZcWbbGkgdcW8eXdhc3ogZVZpbWEgb2N6ZWt1amUgc2nEmSwgxbxlIHd5am1pZXN6IGNodXN0ZWN6a8SZIGRvIG5vc2EsCiB6cm9iaXN6IHfEmXrEmcWCIHcga2HFvGR5bSByb2d1IGkgYsSZZHppZXN6IHRvIG5vc2nFgiBuYSBnxYJvd2llLgogLlNIIFpPQkFDWiBUQUvFu0UKIHZpbSgxKQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZm9sZC50eHQgYi9ydW50aW1lL2RvYy9mb2xkLnR4dAppbmRleCA3YzExN2E4Li41ZDQ2NWY0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9mb2xkLnR4dAorKysgYi9ydW50aW1lL2RvYy9mb2xkLnR4dApAQCAtMSwxMCArMSwxMCBAQAotKmZvbGQudHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwNyBNYXkgMTEKKypmb2xkLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgRGVjIDIyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCiAKIAotRm9sZGluZwkJCQkJCSpGb2xkaW5nKiAqZm9sZGluZyoKK0ZvbGRpbmcJCQkJCQkqRm9sZGluZyogKmZvbGRpbmcqICpmb2xkcyoKIAogWW91IGNhbiBmaW5kIGFuIGludHJvZHVjdGlvbiBvbiBmb2xkaW5nIGluIGNoYXB0ZXIgMjggb2YgdGhlIHVzZXIgbWFudWFsLgogfHVzcl8yOC50eHR8CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9mdF9hZGEudHh0IGIvcnVudGltZS9kb2MvZnRfYWRhLnR4dAppbmRleCA2ZjMyOGU2Li45NGI1ZDhlIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9mdF9hZGEudHh0CisrKyBiL3J1bnRpbWUvZG9jL2Z0X2FkYS50eHQKQEAgLTgyLDcgKzgyLDcgQEAKICAtIGNvbW1lbnQgaGFuZGxpbmcJKHwnY29tbWVudHMnfCwgfCdjb21tZW50c3RyaW5nJ3wpCiAKIFRoZSBwbHVnLWluIG9ubHkgYWN0aXZhdGVzIHRoZSBmZWF0dXJlcyBvZiB0aGUgQWRhIG1vZGUgd2hlbmV2ZXIgYW4gQWRhCi1maWxlcyBpcyBvcGVuZWQgYW5kIGFkZCBhZGRzIEFkYSByZWxhdGVkIGVudHJpZXMgdG8gdGhlIG1haW4gYW5kIHBvcC11cCBtZW51LgorZmlsZSBpcyBvcGVuZWQgYW5kIGFkZHMgQWRhIHJlbGF0ZWQgZW50cmllcyB0byB0aGUgbWFpbiBhbmQgcG9wLXVwIG1lbnUuCiAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogMy4gT21uaSBDb21wbGV0aW9uIH4KQEAgLTE0Miw3ICsxNDIsNyBAQAogNC4gIENvbXBpbGVyIFN1cHBvcnQgfgogCQkJCQkJCQkqYWRhLWNvbXBpbGVyKgogCi1UaGUgQWRhIG1vZGUgc3VwcG9ydHMgbW9yZSB0aGVuIG9uZSBBZGEgY29tcGlsZXIgYW5kIHdpbGwgYXV0b21hdGljYWxseSBsb2FkIHRoZQorVGhlIEFkYSBtb2RlIHN1cHBvcnRzIG1vcmUgdGhhbiBvbmUgQWRhIGNvbXBpbGVyIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgbG9hZCB0aGUKIGNvbXBpbGVyIHNldCBpbnxnOmFkYV9kZWZhdWx0X2NvbXBpbGVyfHdoZW5ldmVyIGFuIEFkYSBzb3VyY2UgaXMgb3BlbmVkLiBUaGUKIHByb3ZpZGVkIGNvbXBpbGVyIHBsdWctaW5zIGFyZSBzcGxpdCBpbnRvIHRoZSBhY3R1YWwgY29tcGlsZXIgcGx1Zy1pbiBhbmQgYQogY29sbGVjdGlvbiBvZiBzdXBwb3J0IGZ1bmN0aW9ucyBhbmQgdmFyaWFibGVzLiBUaGlzIGFsbG93cyB0aGUgZWFzeQpAQCAtMTU0LDcgKzE1NCw3IEBACiAJCQkJCQkJICAgICAgICpjb21waWxlci1nbmF0KgogCiBHTkFUIGlzIHRoZSBvbmx5IGZyZWUgKGJlZXIgYW5kIHNwZWVjaCkgQWRhIGNvbXBpbGVyIGF2YWlsYWJsZS4gVGhlcmUgYXJlCi1zZXZlcmFsIHZlcnNpb24gYXZhaWxhYmxlIHdoaWNoIGRpZmZlcmVudGlhdGUgaW4gdGhlIGxpY2VuY2UgdGVybXMgdXNlZC4KK3NldmVyYWwgdmVyc2lvbnMgYXZhaWxhYmxlIHdoaWNoIGRpZmZlciBpbiB0aGUgbGljZW5jZSB0ZXJtcyB1c2VkLgogCiBUaGUgR05BVCBjb21waWxlciBwbHVnLWluIHdpbGwgcGVyZm9ybSBhIGNvbXBpbGUgb24gcHJlc3NpbmcgPEY3PiBhbmQgdGhlbgogaW1tZWRpYXRlbHkgc2hvd3MgdGhlIHJlc3VsdC4gWW91IGNhbiBzZXQgdGhlIHByb2plY3QgZmlsZSB0byBiZSB1c2VkIGJ5CkBAIC0xNjMsNyArMTYzLDcgQEAKICA+IGNhbGwgZzpnbmF0LlNldF9Qcm9qZWN0X0ZpbGUgKCdteV9wcm9qZWN0LmdwcicpCiAKIFNldHRpbmcgYSBwcm9qZWN0IGZpbGUgd2lsbCBhbHNvIGNyZWF0ZSBhIFZpbSBzZXNzaW9uICh8dmlld3Mtc2Vzc2lvbnN8KSBzbyAtCi1saWtlIHdpdGggdGhlIEdQUyAtIG9wZW5lZCBmaWxlcywgd2luZG93IHBvc2l0aW9ucyBldGMuIHdpbGwgcmVtZW1iZXJlZAorbGlrZSB3aXRoIHRoZSBHUFMgLSBvcGVuZWQgZmlsZXMsIHdpbmRvdyBwb3NpdGlvbnMgZXRjLiB3aWxsIGJlIHJlbWVtYmVyZWQKIHNlcGFyYXRlbHkgZm9yIGFsbCBwcm9qZWN0cy4KIAogCQkJCQkJCQkqZ25hdF9tZW1iZXJzKgpAQCAtMjI4LDkgKzIyOCw5IEBACiBjb21waWxlIHRoZSBjdXJyZW50IHVuaXQuCiAKIFRoZSBEZWMgQWRhIGNvbXBpbGVyIGV4cGVjdHMgdGhlIHBhY2thZ2UgbmFtZSBhbmQgbm90IHRoZSBmaWxlIG5hbWUgdG8gYmUKLXBhc3NlZCBhIHBhcmFtZXRlci4gVGhlIGNvbXBpbGVyIHBsdWctaW4gc3VwcG9ydHMgdGhlIHVzdWFsIGZpbGUgbmFtZQotY29udmVudGlvbiB0byBjb252ZXJ0IHRoZSBmaWxlIGludG8gYSB1bml0IG5hbWUuIEZvciBzZXBhcmF0ZXMgYm90aCAnLScgYW5kCi0nX18nIGFyZSBhbGxvd2VkLgorcGFzc2VkIGFzIGEgcGFyYW1ldGVyLiBUaGUgY29tcGlsZXIgcGx1Zy1pbiBzdXBwb3J0cyB0aGUgdXN1YWwgZmlsZSBuYW1lCitjb252ZW50aW9uIHRvIGNvbnZlcnQgdGhlIGZpbGUgaW50byBhIHVuaXQgbmFtZS4gQm90aCAnLScgYW5kICdfXycgYXJlIGFsbG93ZWQKK2FzIHNlcGFyYXRvcnMuCiAKIAkJCQkJCQkgICAgICAqZGVjYWRhX21lbWJlcnMqCiBERUMgQURBIE9CSkVDVCB+CkBAIC0yNjIsNyArMjYyLDcgQEAKIAogCQkJCQkJCSpnOmFkYV9zdGFuZGFyZF90eXBlcyoKIGc6YWRhX3N0YW5kYXJkX3R5cGVzCWJvb2wgKHRydWUgd2hlbiBleGlzdHMpCi0JCUhpZ2hsaWdodCB0eXBlcyBpbiBwYWNrYWdlIFN0YW5kYXJkIChlLmcuLCAiRmxvYXQiKQorCQlIaWdobGlnaHQgdHlwZXMgaW4gcGFja2FnZSBTdGFuZGFyZCAoZS5nLiwgIkZsb2F0IikuCiAKIAkJCQkJCQkgICpnOmFkYV9zcGFjZV9lcnJvcnMqCiAJCQkJCQkgICpnOmFkYV9ub190cmFpbF9zcGFjZV9lcnJvcioKQEAgLTI3OSwxMyArMjc5LDEzIEBACiAKIAkJCQkJCQkgICAqZzphZGFfbGluZV9lcnJvcnMqCiBnOmFkYV9saW5lX2Vycm9ycwkgIGJvb2wgKHRydWUgd2hlbiBleGlzdHMpCi0JCUhpZ2hsaWdodCBsaW5lcyB3aGljaCBhcmUgdG8gbG9uZy4gTm90ZTogVGhpcyBoaWdobGlnaHRpbmcKKwkJSGlnaGxpZ2h0IGxpbmVzIHdoaWNoIGFyZSB0b28gbG9uZy4gTm90ZTogVGhpcyBoaWdobGlnaHRpbmcKIAkJb3B0aW9uIGlzIHF1aXRlIENQVSBpbnRlbnNpdmUuCiAKIAkJCQkJCQkgKmc6YWRhX3JhaW5ib3dfY29sb3IqCiBnOmFkYV9yYWluYm93X2NvbG9yCSAgYm9vbCAodHJ1ZSB3aGVuIGV4aXN0cykKIAkJVXNlIHJhaW5ib3cgY29sb3VycyBmb3IgJygnIGFuZCAnKScuIFlvdSBuZWVkIHRoZQotCQlyYWluYm93X3BhcmVudGhlc2lzIGZvciB0aGlzIHRvIHdvcmsKKwkJcmFpbmJvd19wYXJlbnRoZXNpcyBmb3IgdGhpcyB0byB3b3JrLgogCiAJCQkJCQkJICAgICAgICpnOmFkYV9mb2xkaW5nKgogZzphZGFfZm9sZGluZwkJICBzZXQgKCdzaWdwZnQnKQpAQCAtMzEzLDcgKzMxMyw3IEBACiAKIAkJCQkJCQkJKmc6YWRhX2FiYnJldioKIGc6YWRhX2FiYnJldgkJICBib29sICh0cnVlIHdoZW4gZXhpc3RzKQotCQlBZGQgc29tZSBhYmJyZXZpYXRpb25zLiBUaGlzIGZlYXR1cmUgbW9yZSBvciBsZXNzIHN1cGVyc2VkZWQKKwkJQWRkIHNvbWUgYWJicmV2aWF0aW9ucy4gVGhpcyBmZWF0dXJlIGlzIG1vcmUgb3IgbGVzcyBzdXBlcnNlZGVkCiAJCWJ5IHRoZSB2YXJpb3VzIGNvbXBsZXRpb24gbWV0aG9kcy4KIAogCQkJCQkJICAgICAgKmc6YWRhX3dpdGh1c2Vfb3JkaW5hcnkqCkBAIC0zNTksMTIgKzM1OSwxMiBAQAogCiAJCQkJCQkgICAgICAqZzphZGFfZGVmYXVsdF9jb21waWxlcioKIGc6YWRhX2RlZmF1bHRfY29tcGlsZXIJICBzdHJpbmcKLQkJc2V0IGRlZmF1bHQgY29tcGlsZXIuIEN1cnJlbnRseSBzdXBwb3J0ZWQgaXMgJ2duYXQnIGFuZAorCQlzZXQgZGVmYXVsdCBjb21waWxlci4gQ3VycmVudGx5IHN1cHBvcnRlZCBhcmUgJ2duYXQnIGFuZAogCQknZGVjYWRhJy4KIAotQW4gImV4aXN0cyIgdHlwZSBpcyBhIGJvb2xlYW4gaXMgY29uc2lkZXJlZCB0cnVlIHdoZW4gdGhlIHZhcmlhYmxlIGlzIGRlZmluZWQKLWFuZCBmYWxzZSB3aGVuIHRoZSB2YXJpYWJsZSBpcyB1bmRlZmluZWQuIFRoZSB2YWx1ZSB3aGljaCB0aGUgdmFyaWFibGUgaXMKLXNldCBtYWtlcyBubyBkaWZmZXJlbmNlLgorQW4gImV4aXN0cyIgdHlwZSBpcyBhIGJvb2xlYW4gY29uc2lkZXJlZCB0cnVlIHdoZW4gdGhlIHZhcmlhYmxlIGlzIGRlZmluZWQgYW5kCitmYWxzZSB3aGVuIHRoZSB2YXJpYWJsZSBpcyB1bmRlZmluZWQuIFRoZSB2YWx1ZSB0byB3aGljaCB0aGUgdmFyaWFibGUgaXMgc2V0CittYWtlcyBubyBkaWZmZXJlbmNlLgogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDUuMyBDb21tYW5kcyB+CkBAIC0zNzIsMTAgKzM3MiwxMCBAQAogCiA6QWRhUmFpbmJvdwkJCQkJCQkgKjpBZGFSYWluYm93KgogCQlUb2dnbGVzIHJhaW5ib3cgY29sb3VyICh8ZzphZGFfcmFpbmJvd19jb2xvcnwpIG1vZGUgZm9yCi0JCScoJyBhbmQgJyknCisJCScoJyBhbmQgJyknLgogCiA6QWRhTGluZXMJCQkJCQkJICAgKjpBZGFMaW5lcyoKLQkJVG9nZ2xlcyBsaW5lIGVycm9yICh8ZzphZGFfbGluZV9lcnJvcnN8KSBkaXNwbGF5CisJCVRvZ2dsZXMgbGluZSBlcnJvciAofGc6YWRhX2xpbmVfZXJyb3JzfCkgZGlzcGxheS4KIAogOkFkYVNwYWNlcwkJCQkJCQkgICo6QWRhU3BhY2VzKgogCQlUb2dnbGVzIHNwYWNlIGVycm9yICh8ZzphZGFfc3BhY2VfZXJyb3JzfCkgZGlzcGxheS4KQEAgLTQyNCw3ICs0MjQsNyBAQAogCiAJCQkJCQkJICAgICAqZzphZGEjV29yZFJlZ2V4KgogZzphZGEjV29yZFJlZ2V4CQlzdHJpbmcKLQkJUmVndWxhciBleHByZXNzaW9uIHRvIHNlYXJjaCBmb3IgQWRhIHdvcmRzCisJCVJlZ3VsYXIgZXhwcmVzc2lvbiB0byBzZWFyY2ggZm9yIEFkYSB3b3Jkcy4KIAogCQkJCQkJCSAgKmc6YWRhI0RvdFdvcmRSZWdleCoKIGc6YWRhI0RvdFdvcmRSZWdleAlzdHJpbmcKQEAgLTQzMiw3ICs0MzIsNyBAQAogCiAJCQkJCQkJICAgICAgICpnOmFkYSNDb21tZW50KgogZzphZGEjQ29tbWVudAkJc3RyaW5nCi0JCVJlZ3VsYXIgZXhwcmVzc2lvbiB0byBzZWFyY2ggZm9yIEFkYSBjb21tZW50cworCQlSZWd1bGFyIGV4cHJlc3Npb24gdG8gc2VhcmNoIGZvciBBZGEgY29tbWVudHMuCiAKIAkJCQkJCQkgICAgICAqZzphZGEjS2V5d29yZHMqCiBnOmFkYSNLZXl3b3JkcwkJbGlzdCBvZiBkaWN0aW9uYXJpZXMKQEAgLTQ1NCw3ICs0NTQsNyBAQAogCiBhZGEjTGlzdF9UYWcoW3tsaW5lfSwge2NvbH1dKQkJCQkgICAgICAqYWRhI0xpc3R0YWdzKCkqCiAJCUxpc3QgYWxsIG9jY3VycmVuY2VzIG9mIHRoZSBBZGEgZW50aXR5IHVuZGVyIHRoZSBjdXJzb3IgKG9yIGF0Ci0JCWdpdmVuIGxpbmUvY29sdW1uKSBpbnNpZGUgdGhlIHF1aWNrLWZpeCB3aW5kb3cKKwkJZ2l2ZW4gbGluZS9jb2x1bW4pIGluc2lkZSB0aGUgcXVpY2stZml4IHdpbmRvdy4KIAogYWRhI0p1bXBfVGFnICh7aWRlbnR9LCB7bW9kZX0pCQkJCSAgICAgICphZGEjSnVtcF9UYWcoKSoKIAkJTGlzdCBhbGwgb2NjdXJyZW5jZXMgb2YgdGhlIEFkYSBlbnRpdHkgdW5kZXIgdGhlIGN1cnNvciAob3IgYXQKQEAgLTQ4Miw4ICs0ODIsOCBAQAogOC4gRXh0cmEgUGx1Z2lucyB+CiAJCQkJCQkJICAgKmFkYS1leHRyYS1wbHVnaW5zKgogCi1Zb3UgY2FuIG9wdGlvbmFsbHkgaW5zdGFsbCB0aGUgZm9sbG93aW5nIGV4dHJhIHBsdWctaW4uIFRoZXkgd29yayB3ZWxsIHdpdGggQWRhCi1hbmQgZW5oYW5jZSB0aGUgYWJpbGl0eSBvZiB0aGUgQWRhIG1vZGUuOgorWW91IGNhbiBvcHRpb25hbGx5IGluc3RhbGwgdGhlIGZvbGxvd2luZyBleHRyYSBwbHVnLWlucy4gVGhleSB3b3JrIHdlbGwgd2l0aAorQWRhIGFuZCBlbmhhbmNlIHRoZSBhYmlsaXR5IG9mIHRoZSBBZGEgbW9kZToKIAogYmFja3VwLnZpbQogCWh0dHA6Ly93d3cudmltLm9yZy9zY3JpcHRzL3NjcmlwdC5waHA/c2NyaXB0X2lkPTE1MzcKQEAgLTUwMSw3ICs1MDEsNyBAQAogbWF0Y2hpdC52aW0KIAlodHRwOi8vd3d3LnZpbS5vcmcvc2NyaXB0cy9zY3JpcHQucGhwP3NjcmlwdF9pZD0zOQogCSclJyBqdW1waW5nIGZvciBhbnkgbGFuZ3VhZ2UuIFRoZSBub3JtYWwgJyUnIGp1bXAgb25seSB3b3JrcyBmb3IgJ3t9JwotCXN0eWxlIGxhbmd1YWdlcy4gVGhlIEFkYSBtb2RlIHdpbGwgc2V0IHRoZSBuZWVkZWQgc2VhcmNoIHBhdHRlcnMuCisJc3R5bGUgbGFuZ3VhZ2VzLiBUaGUgQWRhIG1vZGUgd2lsbCBzZXQgdGhlIG5lZWRlZCBzZWFyY2ggcGF0dGVybnMuCiAKIHRhZ2xpc3QudmltCiAJaHR0cDovL3d3dy52aW0ub3JnL3NjcmlwdHMvc2NyaXB0LnBocD9zY3JpcHRfaWQ9MjczCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9mdF9zcWwudHh0IGIvcnVudGltZS9kb2MvZnRfc3FsLnR4dAppbmRleCA4OTNhOWMzLi45YjA5MDNlIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9mdF9zcWwudHh0CisrKyBiL3J1bnRpbWUvZG9jL2Z0X3NxbC50eHQKQEAgLTEsNCArMSw0IEBACi0qZnRfc3FsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiBXZWQgQXByIDI2IDIwMDYgMzowNTozMyBQTQorKnNxbC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOSBOb3YgMDMKIAogYnkgRGF2aWQgRmlzaGJ1cm4KIApAQCAtMTUsNyArMTUsOCBAQAogICAgIDEuNCBNYWNyb3MJCQkJCXxzcWwtbWFjcm9zfAogMi4gU1FMIERpYWxlY3RzCQkJCQl8c3FsLWRpYWxlY3RzfAogICAgIDIuMSBTUUxTZXRUeXBlCQkJCXxTUUxTZXRUeXBlfAotICAgIDIuMiBTUUwgRGlhbGVjdCBEZWZhdWx0CQkJfHNxbC10eXBlLWRlZmF1bHR8CisgICAgMi4yIFNRTEdldFR5cGUJCQkJfFNRTEdldFR5cGV8CisgICAgMi4zIFNRTCBEaWFsZWN0IERlZmF1bHQJCQl8c3FsLXR5cGUtZGVmYXVsdHwKIDMuIEFkZGluZyBuZXcgU1FMIERpYWxlY3RzCQkJfHNxbC1hZGRpbmctZGlhbGVjdHN8CiA0LiBPTU5JIFNRTCBDb21wbGV0aW9uCQkJCXxzcWwtY29tcGxldGlvbnwKICAgICA0LjEgU3RhdGljIG1vZGUJCQkJfHNxbC1jb21wbGV0aW9uLXN0YXRpY3wKQEAgLTIwNCw3ICsyMDUsNyBAQAogCQkJCQkJKnNxbGFueXdoZXJlKgogCQkJCQkJKm9yYWNsZSogKnBsc3FsKiAqc3FsaioKIAkJCQkJCSpzcWxzZXJ2ZXIqCi0JCQkJCQkqbXlzcWwqICpwb3N0Z3JlcyogKnBzcWwqCisJCQkJCQkqbXlzcWwqICpwb3N0Z3Jlc3MqICpwc3FsKgogCQkJCQkJKmluZm9ybWl4KgogCiBBbGwgcmVsYXRpb25hbCBkYXRhYmFzZXMgc3VwcG9ydCBTUUwuICBUaGVyZSBpcyBhIHBvcnRpb24gb2YgU1FMIHRoYXQgaXMKQEAgLTIzMSw3ICsyMzIsNyBAQAogCiAyLjEgU1FMU2V0VHlwZQkJCQkJKnNxbHNldHR5cGUqICpTUUxTZXRUeXBlKgogLS0tLS0tLS0tLS0tLS0KLUZvciB0aGUgcGVvcGxlIHRoYXQgd29yayB3aXRoIG1hbnkgZGlmZmVyZW50IGRhdGFiYXNlcywgaXQgd291bGQgYmUgbmljZSB0byBiZQorRm9yIHRoZSBwZW9wbGUgdGhhdCB3b3JrIHdpdGggbWFueSBkaWZmZXJlbnQgZGF0YWJhc2VzLCBpdCBpcyBuaWNlIHRvIGJlCiBhYmxlIHRvIGZsaXAgYmV0d2VlbiB0aGUgdmFyaW91cyB2ZW5kb3JzIHJ1bGVzIChpbmRlbnQsIHN5bnRheCkgb24gYSBwZXIKIGJ1ZmZlciBiYXNpcywgYXQgYW55IHRpbWUuICBUaGUgZnRwbHVnaW4vc3FsLnZpbSBmaWxlIGRlZmluZXMgdGhpcyBmdW5jdGlvbjogPgogICAgIFNRTFNldFR5cGUKQEAgLTI1OSw3ICsyNjAsMTcgQEAKICAgICA6U1FMPFRhYj48c3BhY2U+PFRhYj4KIAogCi0yLjIgU1FMIERpYWxlY3QgRGVmYXVsdAkJCQkqc3FsLXR5cGUtZGVmYXVsdCoKKzIuMiBTUUxHZXRUeXBlCQkJCQkqc3FsZ2V0dHlwZSogKlNRTEdldFR5cGUqCistLS0tLS0tLS0tLS0tLQorQXQgYW55dGltZSB5b3UgY2FuIGRldGVybWluZSB3aGljaCBTUUwgZGlhbGVjdCB5b3UgYXJlIHVzaW5nIGJ5IGNhbGxpbmcgdGhlCitTUUxHZXRUeXBlIGNvbW1hbmQuICBUaGUgZnRwbHVnaW4vc3FsLnZpbSBmaWxlIGRlZmluZXMgdGhpcyBmdW5jdGlvbjogPgorICAgIFNRTEdldFR5cGUKKworVGhpcyB3aWxsIGVjaG86ID4KKyAgICBDdXJyZW50IFNRTCBkaWFsZWN0IGluIHVzZTpzcWxhbnl3aGVyZQorCisKKzIuMyBTUUwgRGlhbGVjdCBEZWZhdWx0CQkJCSpzcWwtdHlwZS1kZWZhdWx0KgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIEFzIG1lbnRpb25lZCBlYXJsaWVyLCB0aGUgZGVmYXVsdCBzeW50YXggcnVsZXMgZm9yIFZpbSBpcyBiYXNlZCBvbiBPcmFjbGUKIChQTC9TUUwpLiAgWW91IGNhbiBvdmVycmlkZSB0aGlzIGRlZmF1bHQgYnkgcGxhY2luZyBvbmUgb2YgdGhlIGZvbGxvd2luZyBpbgpAQCAtMzMxLDYgKzM0MiwxMCBAQAogICAgIGltYXAgPGJ1ZmZlcj4gPEMtQz5UIDxDLVw+PEMtTz46Y2FsbCBzcWxjb21wbGV0ZSNNYXAoJ3NxbFR5cGUnKTxDUj48Qy1YPjxDLU8+CiAgICAgaW1hcCA8YnVmZmVyPiA8Qy1DPnMgPEMtXD48Qy1PPjpjYWxsIHNxbGNvbXBsZXRlI01hcCgnc3FsU3RhdGVtZW50Jyk8Q1I+PEMtWD48Qy1PPgogCitUaGUgdXNlIG9mICI8Qy1DPiIgY2FuIGJlIHVzZXIgY2hvc2VuIGJ5IHVzaW5nIHRoZSBmb2xsb3dpbmcgaW4geW91ciB8LnZpbXJjfCBhcyBpdCAKK21heSBub3Qgd29yayBwcm9wZXJseSBvbiBhbGwgcGxhdGZvcm1zOiA+CisgICAgbGV0IGc6ZnRwbHVnaW5fc3FsX29tbmlfa2V5ID0gJzxDLUM+JworPgogVGhlIHN0YXRpYyBtYXBzICh3aGljaCBhcmUgYmFzZWQgb24gdGhlIHN5bnRheCBoaWdobGlnaHQgZ3JvdXBzKSBmb2xsb3cgdGhpcwogZm9ybWF0OiA+CiAgICAgaW1hcCA8YnVmZmVyPiA8Qy1DPmsgPEMtXD48Qy1PPjpjYWxsIHNxbGNvbXBsZXRlI01hcCgnc3FsS2V5d29yZCcpPENSPjxDLVg+PEMtTz4KQEAgLTQwNiwyMSArNDIxLDI1IEBACiBUbyBlbmFibGUgdGhlIHBvcHVwLCB3aGlsZSBpbiBJTlNFUlQgbW9kZSwgdXNlIHRoZSBmb2xsb3dpbmcga2V5IGNvbWJpbmF0aW9ucwogZm9yIGVhY2ggZ3JvdXAgKHdoZXJlIDxDLUM+IG1lYW5zIGhvbGQgdGhlIENUUkwga2V5IGRvd24gd2hpbGUgcHJlc3NpbmcKIHRoZSBzcGFjZSBiYXIpOgotICAgICBUYWJsZSBMaXN0CQkgICAgLSA8Qy1DPnQKLQkJCSAgICAtIDxDLVg+PEMtTz4gKHRoZSBkZWZhdWx0IG1hcCBhc3N1bWVzIHRhYmxlcykKLSAgICAgU3RvcmVkIFByb2NlZHVyZSBMaXN0ICAtIDxDLUM+cAotICAgICBWaWV3IExpc3QJCSAgICAtIDxDLUM+dgotICAgICBDb2x1bW4gTGlzdAkgICAgLSA8Qy1DPmMKKyAgICAgVGFibGUgTGlzdAkJICAgLSA8Qy1DPnQKKwkJCSAgIC0gPEMtWD48Qy1PPiAodGhlIGRlZmF1bHQgbWFwIGFzc3VtZXMgdGFibGVzKQorICAgICBTdG9yZWQgUHJvY2VkdXJlIExpc3QgLSA8Qy1DPnAKKyAgICAgVmlldyBMaXN0CQkgICAtIDxDLUM+dgorICAgICBDb2x1bW4gTGlzdAkgICAtIDxDLUM+YwogCi0gICAgIFdpbmRvd3MgcGxhdGZvcm0gb25seSAgLSBXaGVuIHZpZXdpbmcgYSBwb3B1cCB3aW5kb3cgZGlzcGxheWluZyB0aGUgbGlzdAotCQkJICAgICAgb2YgdGFibGVzLCB5b3UgY2FuIHByZXNzIDxDLVJpZ2h0PiwgdGhpcyB3aWxsCi0JCQkgICAgICByZXBsYWNlIHRoZSB0YWJsZSBjdXJyZW50bHkgaGlnaGxpZ2h0ZWQgd2l0aAotCQkJICAgICAgdGhlIGNvbHVtbiBsaXN0IGZvciB0aGF0IHRhYmxlLgotCQkJICAgIC0gV2hlbiB2aWV3aW5nIGEgcG9wdXAgd2luZG93IGRpc3BsYXlpbmcgdGhlIGxpc3QKLQkJCSAgICAgIG9mIGNvbHVtbnMsIHlvdSBjYW4gcHJlc3MgPEMtTGVmdD4sIHRoaXMgd2lsbAotCQkJICAgICAgcmVwbGFjZSB0aGUgY29sdW1uIGxpc3Qgd2l0aCB0aGUgbGlzdCBvZiB0YWJsZXMuCi0JCQkgICAgLSBUaGlzIGFsbG93cyB5b3UgdG8gcXVpY2tseSBkcmlsbCBkb3duIGludG8gYQotCQkJICAgICAgdGFibGUgdG8gdmlldyBpdCdzIGNvbHVtbnMgYW5kIGJhY2sgYWdhaW4uCisgICAgIERyaWxsaW5nIEluIC8gT3V0ICAgICAtIFdoZW4gdmlld2luZyBhIHBvcHVwIHdpbmRvdyBkaXNwbGF5aW5nIHRoZSBsaXN0CisJCQkgICAgIG9mIHRhYmxlcywgeW91IGNhbiBwcmVzcyA8UmlnaHQ+LCB0aGlzIHdpbGwKKwkJCSAgICAgcmVwbGFjZSB0aGUgdGFibGUgY3VycmVudGx5IGhpZ2hsaWdodGVkIHdpdGgKKwkJCSAgICAgdGhlIGNvbHVtbiBsaXN0IGZvciB0aGF0IHRhYmxlLgorCQkJICAgLSBXaGVuIHZpZXdpbmcgYSBwb3B1cCB3aW5kb3cgZGlzcGxheWluZyB0aGUgbGlzdAorCQkJICAgICBvZiBjb2x1bW5zLCB5b3UgY2FuIHByZXNzIDxMZWZ0PiwgdGhpcyB3aWxsCisJCQkgICAgIHJlcGxhY2UgdGhlIGNvbHVtbiBsaXN0IHdpdGggdGhlIGxpc3Qgb2YgdGFibGVzLgorCQkJICAgLSBUaGlzIGFsbG93cyB5b3UgdG8gcXVpY2tseSBkcmlsbCBkb3duIGludG8gYQorCQkJICAgICB0YWJsZSB0byB2aWV3IGl0J3MgY29sdW1ucyBhbmQgYmFjayBhZ2Fpbi4KKwkJCSAgIC0gPFJpZ2h0PiBhbmQgPExlZnQ+IGNhbiBiZSBhbHNvIGJlIGNob3NlbiB2aWEKKwkJCSAgICAgeW91ciB8LnZpbXJjfCA+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBnOmZ0cGx1Z2luX3NxbF9vbW5pX2tleV9yaWdodCA9ICc8UmlnaHQ+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZzpmdHBsdWdpbl9zcWxfb21uaV9rZXlfbGVmdCAgPSAnPExlZnQ+JwogCiBUaGUgU1FMIGNvbXBsZXRpb24gcGx1Z2luIGNhY2hlcyB2YXJpb3VzIGxpc3RzIHRoYXQgYXJlIGRpc3BsYXllZCBpbgogdGhlIHBvcHVwIHdpbmRvdy4gIFRoaXMgbWFrZXMgdGhlIHJlLWRpc3BsYXlpbmcgb2YgdGhlc2UgbGlzdHMgdmVyeQpAQCAtNDk4LDMwICs1MTcsMjQgQEAKIFRoZSBTUUwgY29tcGxldGlvbiBwbHVnaW4gY2FuIGFsc28gZGlzcGxheSBhIGxpc3Qgb2YgY29sdW1ucyBmb3IgcGFydGljdWxhcgogdGFibGVzLiAgVGhlIGNvbHVtbiBjb21wbGV0aW9uIGlzIHRyaWdnZXIgdmlhIDxDLUM+Yy4KIAotTk9URTogVGhlIGZvbGxvd2luZyBleGFtcGxlIHVzZXMgPEMtUmlnaHQ+IHRvIHRyaWdnZXIgYSBjb2x1bW4gbGlzdCB3aGlsZQotdGhlIHBvcHVwIHdpbmRvdyBpcyBhY3RpdmUuICBUaGlzIG1hcCBpcyBvbmx5IGF2YWlsYWJsZSBvbiB0aGUgV2luZG93cwotcGxhdGZvcm1zIHNpbmNlICpuaXggZG9lcyBub3QgcmVjb2duaXplIENUUkwgYW5kIHRoZSByaWdodCBhcnJvdyBoZWxkIGRvd24KLXRvZ2V0aGVyLiAgSWYgeW91IHdpc2ggdG8gZW5hYmxlIHRoaXMgZnVuY3Rpb25hbGl0eSBvbiBhICpuaXggcGxhdGZvcm0gY2hvb3NlCi1hIGtleSBhbmQgY3JlYXRlIG9uZSBvZiB0aGVzZSBtYXBwaW5ncyAoc2VlIHxzcWwtY29tcGxldGlvbi1tYXBzfCBmb3IgZnVydGhlcgotZGV0YWlscyBvbiB3aGVyZSB0byBjcmVhdGUgdGhpcyBpbWFwKTogPgotICAgIGltYXAgPGJ1ZmZlcj4gPHlvdXJfa2V5c3Ryb2tlPiA8Qy1SPj1zcWxjb21wbGV0ZSNEcmlsbEludG9UYWJsZSgpPENSPgotICAgIGltYXAgPGJ1ZmZlcj4gPHlvdXJfa2V5c3Ryb2tlPiA8Qy1ZPjxDLVw+PEMtTz46Y2FsbCBzcWxjb21wbGV0ZSNNYXAoJ2NvbHVtbicpPENSPjxDLVg+PEMtTz4KK05PVEU6IFRoZSBmb2xsb3dpbmcgZXhhbXBsZSB1c2VzIDxSaWdodD4gdG8gdHJpZ2dlciBhIGNvbHVtbiBsaXN0IHdoaWxlCisgICAgICB0aGUgcG9wdXAgd2luZG93IGlzIGFjdGl2ZS4gIAogCiBFeGFtcGxlIG9mIHVzaW5nIGNvbHVtbiBjb21wbGV0aW9uOgogICAgICAtIFByZXNzIDxDLUM+dCBhZ2FpbiB0byBkaXNwbGF5IHRoZSBsaXN0IG9mIHRhYmxlcy4KLSAgICAgLSBXaGVuIHRoZSBsaXN0IGlzIGRpc3BsYXllZCBpbiB0aGUgY29tcGxldGlvbiB3aW5kb3csIHByZXNzIDxDLVJpZ2h0PiwKKyAgICAgLSBXaGVuIHRoZSBsaXN0IGlzIGRpc3BsYXllZCBpbiB0aGUgY29tcGxldGlvbiB3aW5kb3csIHByZXNzIDxSaWdodD4sCiAgICAgICAgdGhpcyB3aWxsIHJlcGxhY2UgdGhlIGxpc3Qgb2YgdGFibGVzLCB3aXRoIGEgbGlzdCBvZiBjb2x1bW5zIGZvciB0aGUKICAgICAgICB0YWJsZSBoaWdobGlnaHRlZCAoYWZ0ZXIgdGhlIHNhbWUgc2hvcnQgZGVsYXkpLgotICAgICAtIElmIHlvdSBwcmVzcyA8Qy1MZWZ0PiwgdGhpcyB3aWxsIGFnYWluIHJlcGxhY2UgdGhlIGNvbHVtbiBsaXN0IHdpdGggdGhlCisgICAgIC0gSWYgeW91IHByZXNzIDxMZWZ0PiwgdGhpcyB3aWxsIGFnYWluIHJlcGxhY2UgdGhlIGNvbHVtbiBsaXN0IHdpdGggdGhlCiAgICAgICAgbGlzdCBvZiB0YWJsZXMuICBUaGlzIGFsbG93cyB5b3UgdG8gZHJpbGwgaW50byB0YWJsZXMgYW5kIGNvbHVtbiBsaXN0cwogICAgICAgIHZlcnkgcXVpY2tseS4KLSAgICAgLSBQcmVzcyA8Qy1SaWdodD4gYWdhaW4gd2hpbGUgdGhlIHNhbWUgdGFibGUgaXMgaGlnaGxpZ2h0ZWQuICBZb3Ugd2lsbAorICAgICAtIFByZXNzIDxSaWdodD4gYWdhaW4gd2hpbGUgdGhlIHNhbWUgdGFibGUgaXMgaGlnaGxpZ2h0ZWQuICBZb3Ugd2lsbAogICAgICAgIG5vdGljZSB0aGVyZSBpcyBubyBkZWxheSBzaW5jZSB0aGUgY29sdW1uIGxpc3QgaGFzIGJlZW4gY2FjaGVkLiAgSWYgeW91CiAgICAgICAgY2hhbmdlIHRoZSBzY2hlbWEgb2YgYSBjYWNoZWQgdGFibGUgeW91IGNhbiBwcmVzcyA8Qy1DPlIsIHdoaWNoCiAgICAgICAgY2xlYXJzIHRoZSBTUUwgY29tcGxldGlvbiBjYWNoZS4KLSAgICAgLSBOT1RFOiA8Qy1SaWdodD4gYW5kIDxDLUxlZnQ+IGhhdmUgYmVlbiBkZXNpZ25lZCB0byB3b3JrIHdoaWxlIHRoZQorICAgICAtIE5PVEU6IDxSaWdodD4gYW5kIDxMZWZ0PiBoYXZlIGJlZW4gZGVzaWduZWQgdG8gd29yayB3aGlsZSB0aGUKICAgICAgICBjb21wbGV0aW9uIHdpbmRvdyBpcyBhY3RpdmUuICBJZiB0aGUgY29tcGxldGlvbiBwb3B1cCB3aW5kb3cgaXMKLSAgICAgICBub3QgYWN0aXZlLCBhIG5vcm1hbCA8Qy1SaWdodD4gb3IgPEMtTGVmdD4gd2lsbCBiZSBleGVjdXRlZC4KKyAgICAgICBub3QgYWN0aXZlLCBhIG5vcm1hbCA8UmlnaHQ+IG9yIDxMZWZ0PiB3aWxsIGJlIGV4ZWN1dGVkLgogCiBMZXRzIGxvb2sgaG93IHdlIGNhbiBidWlsZCBhIFNRTCBzdGF0ZW1lbnQgZHluYW1pY2FsbHkuICBBIHNlbGVjdCBzdGF0ZW1lbnQKIHJlcXVpcmVzIGEgbGlzdCBvZiBjb2x1bW5zLiAgVGhlcmUgYXJlIHR3byB3YXlzIHRvIGJ1aWxkIGEgY29sdW1uIGxpc3QgdXNpbmcKQEAgLTUyOSw3ICs1NDIsNyBAQAogICAgIE9uZSBjb2x1bW4gYXQgYSB0aW1lOgogPCAgICAgICAxLiBBZnRlciB0eXBpbmcgU0VMRUNUIHByZXNzIDxDLUM+dCB0byBkaXNwbGF5IGEgbGlzdCBvZiB0YWJsZXMuCiAJMi4gQ2hvb3NlIGEgdGFibGUgZnJvbSB0aGUgbGlzdC4KLQkzLiBQcmVzcyA8Qy1SaWdodD4gdG8gZGlzcGxheSBhIGxpc3Qgb2YgY29sdW1ucy4KKwkzLiBQcmVzcyA8UmlnaHQ+IHRvIGRpc3BsYXkgYSBsaXN0IG9mIGNvbHVtbnMuCiAJNC4gQ2hvb3NlIHRoZSBjb2x1bW4gZnJvbSB0aGUgbGlzdCBhbmQgcHJlc3MgZW50ZXIuCiAJNS4gRW50ZXIgYSAiLCIgYW5kIHByZXNzIDxDLUM+Yy4gIEdlbmVyYXRpbmcgYSBjb2x1bW4gbGlzdAogCSAgIGdlbmVyYWxseSByZXF1aXJlcyBoYXZpbmcgdGhlIGN1cnNvciBvbiBhIHRhYmxlIG5hbWUuICBUaGUgcGx1Z2luCkBAIC02MzIsNyArNjQ1LDcgQEAKIAktIFdoZW4gY29tcGxldGluZyB0YWJsZXMsIHByb2NlZHVyZSBvciB2aWV3cyBhbmQgdXNpbmcgZGJleHQudmltIDMuMDAKIAkgIG9yIGhpZ2hlciB0aGUgbGlzdCBvZiBvYmplY3RzIHdpbGwgYWxzbyBpbmNsdWRlIHRoZSBvd25lciBuYW1lLgogCSAgV2hlbiBjb21wbGV0aW5nIHRoZXNlIG9iamVjdHMgYW5kIG9tbmlfc3FsX2luY2x1ZGVfb3duZXIgaXMgZW5hYmxlZAotCSAgdGhlIG93bmVyIG5hbWUgd2lsbCBiZSByZXBsYWNlZC4gPgorCSAgdGhlIG93bmVyIG5hbWUgd2lsbCBiZSBiZSByZXBsYWNlZC4gPgogCiAgICAgb21uaV9zcWxfcHJlY2FjaGVfc3ludGF4X2dyb3VwcwogPAktIERlZmF1bHQ6CkBAIC02ODQsMTUgKzY5NywxNSBAQAogICAgIDxDLUM+TAogPCAgICAgICAtIERpc3BsYXlzIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgY29sdW1ucyBmb3IgYSBzcGVjaWZpYyB0YWJsZS4KIAkgIFRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIHRoZSBjb21wbGV0aW9uIHdpbmRvdyBpcyBhY3RpdmUuID4KLSAgICA8Qy1SaWdodD4KKyAgICA8UmlnaHQ+CiA8CS0gRGlzcGxheXMgYSBsaXN0IG9mIGNvbHVtbnMgZm9yIHRoZSB0YWJsZSBjdXJyZW50bHkgaGlnaGxpZ2h0ZWQgaW4KLQkgIHRoZSBjb21wbGV0aW9uIHdpbmRvdy4gIDxDLVJpZ2h0PiBpcyBub3QgcmVjb2duaXplZCBvbiBtb3N0IFVuaXgKKwkgIHRoZSBjb21wbGV0aW9uIHdpbmRvdy4gIDxSaWdodD4gaXMgbm90IHJlY29nbml6ZWQgb24gbW9zdCBVbml4CiAJICBzeXN0ZW1zLCBzbyB0aGlzIG1hcHMgaXMgb25seSBjcmVhdGVkIG9uIHRoZSBXaW5kb3dzIHBsYXRmb3JtLgogCSAgSWYgeW91IHdvdWxkIGxpa2UgdGhlIHNhbWUgZmVhdHVyZSBvbiBVbml4LCBjaG9vc2UgYSBkaWZmZXJlbnQga2V5CiAJICBhbmQgbWFrZSB0aGUgc2FtZSBtYXAgaW4geW91ciB2aW1yYy4gPgotICAgIDxDLUxlZnQ+CisgICAgPExlZnQ+CiA8CS0gRGlzcGxheXMgdGhlIGxpc3Qgb2YgdGFibGVzLgotCSAgPEMtTGVmdD4gaXMgbm90IHJlY29nbml6ZWQgb24gbW9zdCBVbml4IHN5c3RlbXMsIHNvIHRoaXMgbWFwcyBpcworCSAgPExlZnQ+IGlzIG5vdCByZWNvZ25pemVkIG9uIG1vc3QgVW5peCBzeXN0ZW1zLCBzbyB0aGlzIG1hcHMgaXMKIAkgIG9ubHkgY3JlYXRlZCBvbiB0aGUgV2luZG93cyBwbGF0Zm9ybS4gIElmIHlvdSB3b3VsZCBsaWtlIHRoZSBzYW1lCiAJICBmZWF0dXJlIG9uIFVuaXgsIGNob29zZSBhIGRpZmZlcmVudCBrZXkgYW5kIG1ha2UgdGhlIHNhbWUgbWFwIGluCiAJICB5b3VyIHZpbXJjLiA+CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9ndWkudHh0IGIvcnVudGltZS9kb2MvZ3VpLnR4dAppbmRleCBkYWYxYTlhLi4wOWE4MzNiIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9ndWkudHh0CisrKyBiL3J1bnRpbWUvZG9jL2d1aS50eHQKQEAgLTEsNCArMSw0IEBACi0qZ3VpLnR4dCogICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAxNAorKmd1aS50eHQqICAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOSBKYW4gMjIKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTM1LDEzICszNSwxMyBAQAogVGhlIFgxMSB2ZXJzaW9uIG9mIFZpbSBjYW4gcnVuIGJvdGggaW4gR1VJIGFuZCBpbiBub24tR1VJIG1vZGUuICBTZWUKIHxndWkteDExLXN0YXJ0fC4KIAotCQkJCQkqZ3VpLWluaXQqICpndmltcmMqICouZ3ZpbXJjKiAqX2d2aW1yYyoKKwkJCSpndWktaW5pdCogKmd2aW1yYyogKi5ndmltcmMqICpfZ3ZpbXJjKiAqJE1ZR1ZJTVJDKgogVGhlIGd2aW1yYyBmaWxlIGlzIHdoZXJlIEdVSS1zcGVjaWZpYyBzdGFydHVwIGNvbW1hbmRzIHNob3VsZCBiZSBwbGFjZWQuICBJdAogaXMgYWx3YXlzIHNvdXJjZWQgYWZ0ZXIgdGhlIHx2aW1yY3wgZmlsZS4gIElmIHlvdSBoYXZlIG9uZSB0aGVuIHRoZSAkTVlHVklNUkMKIGVudmlyb25tZW50IHZhcmlhYmxlIGhhcyBpdHMgbmFtZS4KIAogV2hlbiB0aGUgR1VJIHN0YXJ0cyB1cCBpbml0aWFsaXphdGlvbnMgYXJlIGNhcnJpZWQgb3V0LCBpbiB0aGlzIG9yZGVyOgotLSBUaGUgJ3Rlcm0nIG9wdGlvbiBpcyBzZXQgdG8gImJ1aWxnaW5fZ3VpIiBhbmQgdGVybWluYWwgb3B0aW9ucyBhcmUgcmVzZXQgdG8KKy0gVGhlICd0ZXJtJyBvcHRpb24gaXMgc2V0IHRvICJidWlsdGluX2d1aSIgYW5kIHRlcm1pbmFsIG9wdGlvbnMgYXJlIHJlc2V0IHRvCiAgIHRoZWlyIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSBHVUkgfHRlcm1pbmFsLW9wdGlvbnN8LgogLSBJZiB0aGUgc3lzdGVtIG1lbnUgZmlsZSBleGlzdHMsIGl0IGlzIHNvdXJjZWQuICBUaGUgbmFtZSBvZiB0aGlzIGZpbGUgaXMKICAgbm9ybWFsbHkgIiRWSU1SVU5USU1FL21lbnUudmltIi4gIFlvdSBjYW4gY2hlY2sgdGhpcyB3aXRoICI6dmVyc2lvbiIuICBBbHNvCkBAIC00NzMsOSArNDczLDExIEBACiAJOmxldCBkaWRfaW5zdGFsbF9kZWZhdWx0X21lbnVzID0gMQogSWYgeW91IGFsc28gd2FudCB0byBhdm9pZCB0aGUgU3ludGF4IG1lbnU6ID4KIAk6bGV0IGRpZF9pbnN0YWxsX3N5bnRheF9tZW51ID0gMQotSWYgeW91IGRvIHdhbnQgdGhlIFN5bnRheCBtZW51IGJ1dCBub3QgYWxsIHRoZSBlbnRyaWVzIGZvciBlYWNoIGF2YWlsYWJsZQotc3ludGF4IGZpbGUgKHdoaWNoIHRha2UgcXVpdGUgYSBiaXQgb2YgdGltZSB0byBsb2FkKTogPgotCTpsZXQgc2tpcF9zeW50YXhfc2VsX21lbnUgPSAxCitUaGUgZmlyc3QgaXRlbSBpbiB0aGUgU3ludGF4IG1lbnUgY2FuIGJlIHVzZWQgdG8gc2hvdyBhbGwgYXZhaWxhYmxlIGZpbGV0eXBlcworaW4gdGhlIG1lbnUgKHdoaWNoIGNhbiB0YWtlIGEgYml0IG9mIHRpbWUgdG8gbG9hZCkuICBJZiB5b3Ugd2FudCB0byBoYXZlIGFsbAorZmlsZXR5cGVzIGFscmVhZHkgcHJlc2VudCBhdCBzdGFydHVwLCBhZGQ6ID4KKwk6bGV0IGRvX3N5bnRheF9zZWxfbWVudSA9IDEKKwogPAogCQkJCQkJCSpjb25zb2xlLW1lbnVzKgogQWx0aG91Z2ggdGhpcyBkb2N1bWVudGF0aW9uIGlzIGluIHRoZSBHVUkgc2VjdGlvbiwgeW91IGNhbiBhY3R1YWxseSB1c2UgbWVudXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2d1aV94MTEudHh0IGIvcnVudGltZS9kb2MvZ3VpX3gxMS50eHQKaW5kZXggOGJhYTA3NS4uOTkyMTJhYyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZ3VpX3gxMS50eHQKKysrIGIvcnVudGltZS9kb2MvZ3VpX3gxMS50eHQKQEAgLTEsNCArMSw0IEBACi0qZ3VpX3gxMS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA3IERlYyAwOQorKmd1aV94MTEudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOSBPY3QgMjgKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTU0MCwxMyArNTQwLDE2IEBACiByZWdpc3Rlci4gIFZpbSBkb2VzIG5vdCBhY2Nlc3MgdGhlIFNFQ09OREFSWSBzZWxlY3Rpb24uCiAKIEV4YW1wbGVzOiAoYXNzdW1pbmcgdGhlIGRlZmF1bHQgb3B0aW9uIHZhbHVlcykKLS0gU2VsZWN0IGFuIFVSTCBpbiBWaXN1YWwgbW9kZSBpbiBWaW0uICBHbyB0byBhIHRleHQgZmllbGQgaW4gTmV0c2NhcGUgYW5kCi0gIGNsaWNrIHRoZSBtaWRkbGUgbW91c2UgYnV0dG9uLiAgVGhlIHNlbGVjdGVkIHRleHQgd2lsbCBiZSBpbnNlcnRlZAotICAoaG9wZWZ1bGx5ISkuCi0tIFNlbGVjdCBzb21lIHRleHQgaW4gTmV0c2NhcGUgYnkgZHJhZ2dpbmcgd2l0aCB0aGUgbW91c2UuICBHbyB0byBWaW0gYW5kCistIFNlbGVjdCBhbiBVUkwgaW4gVmlzdWFsIG1vZGUgaW4gVmltLiAgR28gdG8geW91ciBicm93c2VyIGFuZCBjbGljayB0aGUKKyAgbWlkZGxlIG1vdXNlIGJ1dHRvbiBpbiB0aGUgVVJMIHRleHQgZmllbGQuICBUaGUgc2VsZWN0ZWQgdGV4dCB3aWxsIGJlCisgIGluc2VydGVkIChob3BlZnVsbHkhKS4gIE5vdGU6IGluIEZpcmVmb3ggeW91IGNhbiBzZXQgdGhlCisgIG1pZGRsZW1vdXNlLmNvbnRlbnRMb2FkVVJMIHByZWZlcmVuY2UgdG8gdHJ1ZSBpbiBhYm91dDpjb25maWcsIHRoZW4gdGhlCisgIHNlbGVjdGVkIFVSTCB3aWxsIGJlIHVzZWQgd2hlbiBwcmVzc2luZyBtaWRkbGUgbW91c2UgYnV0dG9uIGluIG1vc3QgcGxhY2VzCisgIGluIHRoZSB3aW5kb3cuCistIFNlbGVjdCBzb21lIHRleHQgaW4geW91ciBicm93c2VyIGJ5IGRyYWdnaW5nIHdpdGggdGhlIG1vdXNlLiAgR28gdG8gVmltIGFuZAogICBwcmVzcyB0aGUgbWlkZGxlIG1vdXNlIGJ1dHRvbjogVGhlIHNlbGVjdGVkIHRleHQgaXMgaW5zZXJ0ZWQuCi0tIFNlbGVjdCBzb21lIHRleHQgaW4gVmltIGFuZCBkbyAiK3kuICBHbyB0byBOZXRzY2FwZSwgc2VsZWN0IHNvbWUgdGV4dCBpbiBhCi0gIHRleHRmaWVsZCBieSBkcmFnZ2luZyB3aXRoIHRoZSBtb3VzZS4gIE5vdyB1c2UgdGhlIHJpZ2h0IG1vdXNlIGJ1dHRvbiBhbmQKKy0gU2VsZWN0IHNvbWUgdGV4dCBpbiBWaW0gYW5kIGRvICIreS4gIEdvIHRvIHlvdXIgYnJvd3Nlciwgc2VsZWN0IHNvbWUgdGV4dCBpbgorICBhIHRleHRmaWVsZCBieSBkcmFnZ2luZyB3aXRoIHRoZSBtb3VzZS4gIE5vdyB1c2UgdGhlIHJpZ2h0IG1vdXNlIGJ1dHRvbiBhbmQKICAgc2VsZWN0ICJQYXN0ZSIgZnJvbSB0aGUgcG9wdXAgbWVudS4gIFRoZSBzZWxlY3RlZCB0ZXh0IGlzIG92ZXJ3cml0dGVuIGJ5IHRoZQogICB0ZXh0IGZyb20gVmltLgogTm90ZSB0aGF0IHRoZSB0ZXh0IGluIHRoZSAiKyByZWdpc3RlciByZW1haW5zIGF2YWlsYWJsZSB3aGVuIG1ha2luZyBhIFZpc3VhbApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaGFuZ3VsaW4udHh0IGIvcnVudGltZS9kb2MvaGFuZ3VsaW4udHh0CmluZGV4IDJhZDE5YzUuLjc4YzAwYTggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2hhbmd1bGluLnR4dAorKysgYi9ydW50aW1lL2RvYy9oYW5ndWxpbi50eHQKQEAgLTEsOCArMSwxMiBAQAotKmhhbmd1bGluLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDIKKypoYW5ndWxpbi50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgSnVuIDI0CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IENoaS1EZW9rIEh3YW5nIGFuZCBTdW5nLUh5dW4gTmFtCiAKK05PVEU6IFRoZSB8K2hhbmd1bF9pbnB1dHwgZmVhdHVyZSBpcyBzY2hlZHVsZWQgdG8gYmUgcmVtb3ZlZC4gIElmIHlvdSB3YW50IHRvCitrZWVwIGl0LCBwbGVhc2Ugc2VuZCBhIG1lc3NhZ2UgdG8gdGhlIFZpbSB1c2VyIG1haWxsaXN0LgorCisKIEludHJvZHVjdGlvbgkJCQkJKmhhbmd1bCoKIC0tLS0tLS0tLS0tLQogSXQgaXMgdG8gaW5wdXQgaGFuZ3VsLCB0aGUgS29yZWFuIGxhbmd1YWdlLCB3aXRoIFZJTSBHVUkgdmVyc2lvbi4KQEAgLTk2LDYgKzEwMCw2IEBACiBTZW5kIGNvbW1lbnRzLCBwYXRjaGVzIGFuZCBzdWdnZXN0aW9ucyB0bzoKIAogCQkJCSAgICBDaGktRGVvayBId2FuZyA8aHdhbmdAbWl6aS5jby5rcj4KLQkJCQkgICAgTmFtIFN1bmdIeXVuIDxuYW1zaEBrbGRwLm9yZz4KKwkJCQkgICAgU3VuZ0h5dW4gTmFtIDxnb3dlb2xAZ21haWwuY29tPgogCiAgdmltOnR3PTc4OnRzPTg6ZnQ9aGVscDpub3JsOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaGVscC50eHQgYi9ydW50aW1lL2RvYy9oZWxwLnR4dAppbmRleCA3NzU2MmY5Li4zZWM0YWI0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9oZWxwLnR4dAorKysgYi9ydW50aW1lL2RvYy9oZWxwLnR4dApAQCAtMTQ0LDYgKzE0NCw3IEBACiB8aGVicmV3LnR4dHwJSGVicmV3IGxhbmd1YWdlIHN1cHBvcnQgYW5kIGVkaXRpbmcKIHxydXNzaWFuLnR4dHwJUnVzc2lhbiBsYW5ndWFnZSBzdXBwb3J0IGFuZCBlZGl0aW5nCiB8ZnRfYWRhLnR4dHwJQWRhICh0aGUgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UpIHN1cHBvcnQKK3xmdF9zcWwudHh0fAlhYm91dCB0aGUgU1FMIGZpbGV0eXBlIHBsdWdpbgogfGhhbmd1bGluLnR4dHwJSGFuZ3VsIChLb3JlYW4pIGlucHV0IG1vZGUKIHxyaWxlZnQudHh0fAlyaWdodC10by1sZWZ0IGVkaXRpbmcgbW9kZQogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9pZl9vbGUudHh0IGIvcnVudGltZS9kb2MvaWZfb2xlLnR4dAppbmRleCA5MjlmZDM5Li43ZGY3MWVmIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9pZl9vbGUudHh0CisrKyBiL3J1bnRpbWUvZG9jL2lmX29sZS50eHQKQEAgLTEsNCArMSw0IEBACi0qaWZfb2xlLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA3IE1heSAxMAorKmlmX29sZS50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBBdWcgMTYKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgUGF1bCBNb29yZQpAQCAtMTE1LDcgKzExNSw3IEBACiAzLiBUaGUgIm5vcm1hbCIgY29tbWFuZAkJCQkJKm9sZS1ub3JtYWwqCiAKIER1ZSB0byB0aGUgd2F5IFZpbSBwcm9jZXNzZXMgT0xFIEF1dG9tYXRpb24gY29tbWFuZHMsIGNvbWJpbmVkIHdpdGggdGhlIG1ldGhvZAotb2YgaW1wbGVtZW50YXRpb24gb2YgdGhlIGV4IGNvbW1hbmQgOm5vcm1hbCwgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGV4ZWN1dGUgdGhlCitvZiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgRXggY29tbWFuZCA6bm9ybWFsLCBpdCBpcyBub3QgcG9zc2libGUgdG8gZXhlY3V0ZSB0aGUKIDpub3JtYWwgY29tbWFuZCB2aWEgT0xFIGF1dG9tYXRpb24uICBBbnkgYXR0ZW1wdCB0byBkbyBzbyB3aWxsIGZhaWwsIHByb2JhYmx5CiBoYXJtbGVzc2x5LCBhbHRob3VnaCBwb3NzaWJseSBpbiB1bnByZWRpY3RhYmxlIHdheXMuCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2lmX3B5dGgudHh0IGIvcnVudGltZS9kb2MvaWZfcHl0aC50eHQKaW5kZXggMGU1ODE3Yi4uZDM3ZTk1MyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvaWZfcHl0aC50eHQKKysrIGIvcnVudGltZS9kb2MvaWZfcHl0aC50eHQKQEAgLTEsNCArMSw0IEBACi0qaWZfcHl0aC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAzMAorKmlmX3B5dGgudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBBdWcgMTYKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgUGF1bCBNb29yZQpAQCAtOTMsNyArOTMsNyBAQAogCiBPdmVydmlldyA+CiAJOnB5IHByaW50ICJIZWxsbyIJCSMgZGlzcGxheXMgYSBtZXNzYWdlCi0JOnB5IHZpbS5jb21tYW5kKGNtZCkJCSMgZXhlY3V0ZSBhbiBleCBjb21tYW5kCisJOnB5IHZpbS5jb21tYW5kKGNtZCkJCSMgZXhlY3V0ZSBhbiBFeCBjb21tYW5kCiAJOnB5IHcgPSB2aW0ud2luZG93c1tuXQkJIyBnZXRzIHdpbmRvdyAibiIKIAk6cHkgY3cgPSB2aW0uY3VycmVudC53aW5kb3cJIyBnZXRzIHRoZSBjdXJyZW50IHdpbmRvdwogCTpweSBiID0gdmltLmJ1ZmZlcnNbbl0JCSMgZ2V0cyBidWZmZXIgIm4iCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9pZl9ydWJ5LnR4dCBiL3J1bnRpbWUvZG9jL2lmX3J1YnkudHh0CmluZGV4IDhlMWVmMzUuLjZjY2M1NjggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2lmX3J1YnkudHh0CisrKyBiL3J1bnRpbWUvZG9jL2lmX3J1YnkudHh0CkBAIC0xLDQgKzEsNCBAQAotKmlmX3J1YnkudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMzAKKyppZl9ydWJ5LnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDggQXVnIDE2CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IFNodWdvIE1hZWRhCkBAIC03OSw3ICs3OSw3IEBACiAKIE92ZXJ2aWV3ID4KIAlwcmludCAiSGVsbG8iCQkJICAgICAgIyBkaXNwbGF5cyBhIG1lc3NhZ2UKLQlWSU0uY29tbWFuZChjbWQpCQkgICAgICAjIGV4ZWN1dGUgYW4gZXggY29tbWFuZAorCVZJTS5jb21tYW5kKGNtZCkJCSAgICAgICMgZXhlY3V0ZSBhbiBFeCBjb21tYW5kCiAJbnVtID0gVklNOjpXaW5kb3cuY291bnQJCSAgICAgICMgZ2V0cyB0aGUgbnVtYmVyIG9mIHdpbmRvd3MKIAl3ID0gVklNOjpXaW5kb3dbbl0JCSAgICAgICMgZ2V0cyB3aW5kb3cgIm4iCiAJY3cgPSBWSU06OldpbmRvdy5jdXJyZW50CSAgICAgICMgZ2V0cyB0aGUgY3VycmVudCB3aW5kb3cKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2lmX3RjbC50eHQgYi9ydW50aW1lL2RvYy9pZl90Y2wudHh0CmluZGV4IGQ5YjZhOWMuLmY2YWE5MGQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2lmX3RjbC50eHQKKysrIGIvcnVudGltZS9kb2MvaWZfdGNsLnR4dApAQCAtMSw0ICsxLDQgQEAKLSppZl90Y2wudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDI2CisqaWZfdGNsLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA4IEF1ZyAxNgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBJbmdvIFdpbGtlbgpAQCAtODMsNyArODMsNyBAQAogCTo6dmltOjpiZWVwCQkJIyBHdWVzcy4KIAk6OnZpbTo6YnVmZmVyIHtufQkJIyBDcmVhdGUgVGNsIGNvbW1hbmQgZm9yIG9uZSBidWZmZXIuCiAJOjp2aW06OmJ1ZmZlciBsaXN0CQkjIENyZWF0ZSBUY2wgY29tbWFuZHMgZm9yIGFsbCBidWZmZXJzLgotCTo6dmltOjpjb21tYW5kIFstcXVpZXRdIHtjbWR9CSMgRXhlY3V0ZSBhbiBleCBjb21tYW5kLgorCTo6dmltOjpjb21tYW5kIFstcXVpZXRdIHtjbWR9CSMgRXhlY3V0ZSBhbiBFeCBjb21tYW5kLgogCTo6dmltOjpleHByIHtleHByfQkJIyBVc2UgVmltJ3MgZXhwcmVzc2lvbiBldmFsdWF0b3IuCiAJOjp2aW06Om9wdGlvbiB7b3B0fQkJIyBHZXQgdmltIG9wdGlvbi4KIAk6OnZpbTo6b3B0aW9uIHtvcHR9IHt2YWx9CSMgU2V0IHZpbSBvcHRpb24uCkBAIC0xMTYsNyArMTE2LDcgQEAKIAogCTo6dmltOjpjb21tYW5kIHtjbWR9CQkJCSp0Y2wtY29tbWFuZCoKIAk6OnZpbTo6Y29tbWFuZCAtcXVpZXQge2NtZH0KLQlFeGVjdXRlIHRoZSB2aW0gKGV4LW1vZGUpIGNvbW1hbmQge2NtZH0uICBBbnkgZXggY29tbWFuZCB0aGF0IGFmZmVjdHMKKwlFeGVjdXRlIHRoZSB2aW0gKGV4LW1vZGUpIGNvbW1hbmQge2NtZH0uICBBbnkgRXggY29tbWFuZCB0aGF0IGFmZmVjdHMKIAlhIGJ1ZmZlciBvciB3aW5kb3cgdXNlcyB0aGUgY3VycmVudCBidWZmZXIvY3VycmVudCB3aW5kb3cuICBEb2VzIG5vdAogCXJldHVybiBhIHJlc3VsdCBvdGhlciB0aGFuIGEgc3RhbmRhcmQgVGNsIGVycm9yIGNvZGUuICBBZnRlciB0aGlzCiAJY29tbWFuZCBpcyBjb21wbGV0ZWQsIHRoZSAiOjp2aW06OmN1cnJlbnQiIHZhcmlhYmxlIGlzIHVwZGF0ZWQuCkBAIC0yMTAsNyArMjEwLDcgQEAKIAogCWxpbmUJCQkJCQkqdGNsLXZhci1saW5lKgogCWxudW0JCQkJCQkqdGNsLXZhci1sbnVtKgotCVRoZXNlIGdsb2JhbCB2YXJpYWJsZXMgYXJlIG9ubHkgYXZhaWxhYmxlIGlmIHRoZSAiOnRjbGRvIiBleCBjb21tYW5kCisJVGhlc2UgZ2xvYmFsIHZhcmlhYmxlcyBhcmUgb25seSBhdmFpbGFibGUgaWYgdGhlICI6dGNsZG8iIEV4IGNvbW1hbmQKIAlpcyBiZWluZyBleGVjdXRlZC4gIFRoZXkgY29udGFpbiB0aGUgdGV4dCBhbmQgbGluZSBudW1iZXIgb2YgdGhlCiAJY3VycmVudCBsaW5lLiAgV2hlbiB0aGUgVGNsIGNvbW1hbmQgaW52b2tlZCBieSAiOnRjbGRvIiBpcyBjb21wbGV0ZWQsCiAJdGhlIGN1cnJlbnQgbGluZSBpcyBzZXQgdG8gdGhlIGNvbnRlbnRzIG9mIHRoZSAibGluZSIgdmFyaWFibGUsIHVubGVzcwpAQCAtMjMzLDcgKzIzMyw3IEBACiBpLmUuICIkd2luIiBjYWxscyB0aGUgY29tbWFuZC4gIFRoZSBmb2xsb3dpbmcgb3B0aW9ucyBhcmUgYXZhaWxhYmxlOiA+CiAKIAkkd2luIGJ1ZmZlcgkJIyBDcmVhdGUgVGNsIGNvbW1hbmQgZm9yIHdpbmRvdydzIGJ1ZmZlci4KLQkkd2luIGNvbW1hbmQge2NtZH0JIyBFeGVjdXRlIGV4IGNvbW1hbmQgaW4gd2luZG93cyBjb250ZXh0LgorCSR3aW4gY29tbWFuZCB7Y21kfQkjIEV4ZWN1dGUgRXggY29tbWFuZCBpbiB3aW5kb3dzIGNvbnRleHQuCiAJJHdpbiBjdXJzb3IJCSMgR2V0IGN1cnJlbnQgY3Vyc29yIHBvc2l0aW9uLgogCSR3aW4gY3Vyc29yIHt2YXJ9CSMgU2V0IGN1cnNvciBwb3NpdGlvbiBmcm9tIGFycmF5IHZhcmlhYmxlLgogCSR3aW4gY3Vyc29yIHtyb3d9IHtjb2x9CSMgU2V0IGN1cnNvciBwb3NpdGlvbi4KQEAgLTMxMiw3ICszMTIsNyBAQAogaS5lLiAiJGJ1ZiIgY2FsbHMgdGhlIGNvbW1hbmQuICBUaGUgZm9sbG93aW5nIG9wdGlvbnMgYXJlIGF2YWlsYWJsZTogPgogCiAJJGJ1ZiBhcHBlbmQge259IHtzdHJ9CSMgQXBwZW5kIGEgbGluZSB0byBidWZmZXIsIGFmdGVyIGxpbmUge259LgotCSRidWYgY29tbWFuZCB7Y21kfQkjIEV4ZWN1dGUgZXggY29tbWFuZCBpbiBidWZmZXJzIGNvbnRleHQuCisJJGJ1ZiBjb21tYW5kIHtjbWR9CSMgRXhlY3V0ZSBFeCBjb21tYW5kIGluIGJ1ZmZlcnMgY29udGV4dC4KIAkkYnVmIGNvdW50CQkjIFJlcG9ydCBudW1iZXIgb2YgbGluZXMgaW4gYnVmZmVyLgogCSRidWYgZGVsY21kIHtjbWR9CSMgQ2FsbCBUY2wgY29tbWFuZCB3aGVuIGJ1ZmZlciBpcyBkZWxldGVkLgogCSRidWYgZGVsZXRlIHtufQkJIyBEZWxldGUgYSBzaW5nbGUgbGluZS4KQEAgLTQzOCw3ICs0MzgsNyBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiA3LiBLbm93biBidWdzICYgcHJvYmxlbXMJCQkJKnRjbC1idWdzKgogCi1DYWxsaW5nIG9uZSBvZiB0aGUgVGNsIGV4IGNvbW1hbmRzIGZyb20gaW5zaWRlIFRjbCAodmlhICI6OnZpbTo6Y29tbWFuZCIpIG1heQorQ2FsbGluZyBvbmUgb2YgdGhlIFRjbCBFeCBjb21tYW5kcyBmcm9tIGluc2lkZSBUY2wgKHZpYSAiOjp2aW06OmNvbW1hbmQiKSBtYXkKIGhhdmUgdW5leHBlY3RlZCBzaWRlIGVmZmVjdHMuICBUaGUgY29tbWFuZCBjcmVhdGVzIGEgbmV3IGludGVycHJldGVyLCB3aGljaAogaGFzIHRoZSBzYW1lIGFiaWxpdGllcyBhcyB0aGUgc3RhbmRhcmQgaW50ZXJwcmV0ZXIgLSBtYWtpbmcgIjo6dmltOjpjb21tYW5kIgogYXZhaWxhYmxlIGluIGEgc2FmZSBjaGlsZCBpbnRlcnByZXRlciB0aGVyZWZvcmUgbWFrZXMgdGhlIGNoaWxkIHVuc2FmZS4gIChJdApAQCAtNDg3LDExICs0ODcsMTEgQEAKIAkJaW5jciBpIDsgaW5jciBuCiAJfQogCi1UaGUgc2FtZSBjYW4gYWxzbyBiZSBkb25lIHF1aWNrbHkgd2l0aCB0d28gZXggY29tbWFuZHMsIHVzaW5nICI6dGNsZG8iOgorVGhlIHNhbWUgY2FuIGFsc28gYmUgZG9uZSBxdWlja2x5IHdpdGggdHdvIEV4IGNvbW1hbmRzLCB1c2luZyAiOnRjbGRvIjoKIAk6dGNsIHNldCBuIDEKIAk6W3JhbmdlXXRjbGRvIHNldCBsaW5lICIkblx0JGxpbmUiIDsgaW5jciBuCiAKLVRoaXMgcHJvY2VkdXJlIHJ1bnMgYW4gZXggY29tbWFuZCBvbiBlYWNoIGJ1ZmZlciAoaWRlYSBzdG9sZW4gZnJvbSBSb24gQWFyb24pOgorVGhpcyBwcm9jZWR1cmUgcnVucyBhbiBFeCBjb21tYW5kIG9uIGVhY2ggYnVmZmVyIChpZGVhIHN0b2xlbiBmcm9tIFJvbiBBYXJvbik6CiAJcHJvYyBlYWNoYnVmIHsgY21kIH0gewogCQlmb3JlYWNoIGIgWzo6dmltOjpidWZmZXIgbGlzdF0gewogCQkJJGIgY29tbWFuZCAkY21kCkBAIC01MDAsNyArNTAwLDcgQEAKIFVzZSBpdCBsaWtlIHRoaXM6CiAJOnRjbCBlYWNoYnVmICVzL2Zvby9iYXIvZwogQmUgY2FyZWZ1bCB3aXRoIFRjbCdzIHN0cmluZyBhbmQgYmFja3NsYXNoIHN1YnN0aXR1dGlvbiwgdG91Z2guICBJZiBpbiBkb3VidCwKLXN1cnJvdW5kIHRoZSBleCBjb21tYW5kIHdpdGggY3VybHkgYnJhY2VzLgorc3Vycm91bmQgdGhlIEV4IGNvbW1hbmQgd2l0aCBjdXJseSBicmFjZXMuCiAKIAogSWYgeW91IHdhbnQgdG8gYWRkIHNvbWUgVGNsIHByb2NlZHVyZXMgcGVybWFuZW50bHkgdG8gdmltLCBqdXN0IHBsYWNlIHRoZW0gaW4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2luZGVudC50eHQgYi9ydW50aW1lL2RvYy9pbmRlbnQudHh0CmluZGV4IDRkMDBkYTIuLjlhZTUyY2IgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2luZGVudC50eHQKKysrIGIvcnVudGltZS9kb2MvaW5kZW50LnR4dApAQCAtMSw0ICsxLDQgQEAKLSppbmRlbnQudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVsIDMwCisqaW5kZW50LnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA5IE5vdiAxMgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNjA5LDggKzYwOSw5IEBACiAKIGI6c2hfaW5kZW50X29wdGlvbnNbJ2Nhc2UtbGFiZWxzJ10KIAkJCQlBbW91bnQgb2YgaW5kZW50IHRvIGFkZCBmb3IgY2FzZSBsYWJlbHMuCisJCQkJKG5vdCBhY3R1YWxseSBpbXBsZW1lbnRlZCkKIAotYjpzaF9pbmRlbnRfb3B0aW9uc1snY2FzZS1zdGF0ZW1lbnQnXQorYjpzaF9pbmRlbnRfb3B0aW9uc1snY2FzZS1zdGF0ZW1lbnRzJ10KIAkJCQlBbW91bnQgb2YgaW5kZW50IHRvIGFkZCBmb3IgY2FzZSBzdGF0ZW1lbnRzLgogCiBiOnNoX2luZGVudF9vcHRpb25zWydjYXNlLWJyZWFrcyddCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9pbmRleC50eHQgYi9ydW50aW1lL2RvYy9pbmRleC50eHQKaW5kZXggYWZlMTUxMy4uNDU0OTMwMCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvaW5kZXgudHh0CisrKyBiL3J1bnRpbWUvZG9jL2luZGV4LnR4dApAQCAtMSw0ICsxLDQgQEAKLSppbmRleC50eHQqICAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDggTWF5IDA0CisqaW5kZXgudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA5IEp1bCAwMQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNTIyLDcgKzUyMiw3IEBACiB8Q1RSTC1XXyt8CUNUUkwtVyArCSAgIGluY3JlYXNlIGN1cnJlbnQgd2luZG93IGhlaWdodCBOIGxpbmVzCiB8Q1RSTC1XXy18CUNUUkwtVyAtCSAgIGRlY3JlYXNlIGN1cnJlbnQgd2luZG93IGhlaWdodCBOIGxpbmVzCiB8Q1RSTC1XXzx8CUNUUkwtVyA8CSAgIGRlY3JlYXNlIGN1cnJlbnQgd2luZG93IHdpZHRoIE4gY29sdW1ucwotfENUUkwtV189fAlDVFJMLVcgPQkgICBtYWtlIGFsbCB3aW5kb3dzIHRoZSBzYW1lIGhlaWdodAorfENUUkwtV189fAlDVFJMLVcgPQkgICBtYWtlIGFsbCB3aW5kb3dzIHRoZSBzYW1lIGhlaWdodCAmIHdpZHRoCiB8Q1RSTC1XXz58CUNUUkwtVyA+CSAgIGluY3JlYXNlIGN1cnJlbnQgd2luZG93IHdpZHRoIE4gY29sdW1ucwogfENUUkwtV19IfAlDVFJMLVcgSAkgICBtb3ZlIGN1cnJlbnQgd2luZG93IHRvIHRoZSBmYXIgbGVmdAogfENUUkwtV19KfAlDVFJMLVcgSgkgICBtb3ZlIGN1cnJlbnQgd2luZG93IHRvIHRoZSB2ZXJ5IGJvdHRvbQpAQCAtNTcyLDcgKzU3Miw3IEBACiAJCQkJICAgd2luZG93IE4gbGluZXMgaGlnaAogfENUUkwtV190fAlDVFJMLVcgdAkgICBnbyB0byB0b3Agd2luZG93CiB8Q1RSTC1XX3Z8CUNUUkwtVyB2CSAgIHNwbGl0IGN1cnJlbnQgd2luZG93IHZlcnRpY2FsbHksIG5ldyB3aW5kb3cKLQkJCQkgICBOIGxpbmVzIHdpZGUKKwkJCQkgICBOIGNvbHVtbnMgd2lkZQogfENUUkwtV193fAlDVFJMLVcgdwkgICBnbyB0byBOIG5leHQgd2luZG93ICh3cmFwIGFyb3VuZCkKIHxDVFJMLVdfeHwJQ1RSTC1XIHgJICAgZXhjaGFuZ2UgY3VycmVudCB3aW5kb3cgd2l0aCB3aW5kb3cgTgogCQkJCSAgIChkZWZhdWx0OiBuZXh0IHdpbmRvdykKQEAgLTEzMzksNiArMTMzOSw3IEBACiB8Om51bWJlcnwJOm51W21iZXJdCXByaW50IGxpbmVzIHdpdGggbGluZSBudW1iZXIKIHw6bnVubWFwfAk6bnVuW21hcF0JbGlrZSAiOnVubWFwIiBidXQgZm9yIE5vcm1hbCBtb2RlCiB8Om51bm1lbnV8CTpudW5tZVtudV0JcmVtb3ZlIG1lbnUgZm9yIE5vcm1hbCBtb2RlCit8Om9sZGZpbGVzfAk6b2xbZGZpbGVzXQlsaXN0IGZpbGVzIHRoYXQgaGF2ZSBtYXJrcyBpbiB0aGUgdmltaW5mbyBmaWxlCiB8Om9wZW58CQk6b1twZW5dCQlzdGFydCBvcGVuIG1vZGUgKG5vdCBpbXBsZW1lbnRlZCkKIHw6b21hcHwJCTpvbVthcF0JCWxpa2UgIjptYXAiIGJ1dCBmb3IgT3BlcmF0b3ItcGVuZGluZyBtb2RlCiB8Om9tYXBjbGVhcnwJOm9tYXBjW2xlYXJdCXJlbW92ZSBhbGwgbWFwcGluZ3MgZm9yIE9wZXJhdG9yLXBlbmRpbmcgbW9kZQpAQCAtMTQzNiw3ICsxNDM3LDcgQEAKIHw6c2hlbGx8CTpzaFtlbGxdCWVzY2FwZSB0byBhIHNoZWxsCiB8OnNpbWFsdHwJOnNpbVthbHRdCVdpbjMyIEdVSTogc2ltdWxhdGUgV2luZG93cyBBTFQga2V5CiB8OnNpZ258CQk6c2lnW25dCQltYW5pcHVsYXRlIHNpZ25zCi18OnNpbGVudHwJOnNpbFtlbnRdCVJ1biBhIGNvbW1hbmQgc2lsZW50bHkKK3w6c2lsZW50fAk6c2lsW2VudF0JcnVuIGEgY29tbWFuZCBzaWxlbnRseQogfDpzbGVlcHwJOnNsW2VlcF0JZG8gbm90aGluZyBmb3IgYSBmZXcgc2Vjb25kcwogfDpzbGFzdHwJOnNsYVtzdF0Jc3BsaXQgd2luZG93IGFuZCBnbyB0byBsYXN0IGZpbGUgaW4gdGhlCiAJCQkJYXJndW1lbnQgbGlzdApAQCAtMTUyNSw2ICsxNTI2LDcgQEAKIHw6dW5sb2NrdmFyfAk6dW5sb1tja3Zhcl0JdW5sb2NrIHZhcmlhYmxlcwogfDp1bm1hcHwJOnVubVthcF0JcmVtb3ZlIG1hcHBpbmcKIHw6dW5tZW51fAk6dW5tZVtudV0JcmVtb3ZlIG1lbnUKK3w6dW5zaWxlbnR8CTp1bnNbaWxlbnRdCXJ1biBhIGNvbW1hbmQgbm90IHNpbGVudGx5CiB8OnVwZGF0ZXwJOnVwW2RhdGVdCXdyaXRlIGJ1ZmZlciBpZiBtb2RpZmllZAogfDp2Z2xvYmFsfAk6dltnbG9iYWxdCWV4ZWN1dGUgY29tbWFuZHMgZm9yIG5vdCBtYXRjaGluZyBsaW5lcwogfDp2ZXJzaW9ufAk6dmVbcnNpb25dCXByaW50IHZlcnNpb24gbnVtYmVyIGFuZCBvdGhlciBpbmZvCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9pbnNlcnQudHh0IGIvcnVudGltZS9kb2MvaW5zZXJ0LnR4dAppbmRleCBhNzkxNWRhLi42MTM2MGE0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9pbnNlcnQudHh0CisrKyBiL3J1bnRpbWUvZG9jL2luc2VydC50eHQKQEAgLTEsNCArMSw0IEBACi0qaW5zZXJ0LnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyMQorKmluc2VydC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOSBKdWwgMTQKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTEyMyw2ICsxMjMsNyBAQAogCQkJJzonCXRoZSBsYXN0IGNvbW1hbmQtbGluZQogCQkJJy4nCXRoZSBsYXN0IGluc2VydGVkIHRleHQKIAkJCSctJwl0aGUgbGFzdCBzbWFsbCAobGVzcyB0aGFuIGEgbGluZSkgZGVsZXRlCisJCQkJCQkJKmlfQ1RSTC1SXz0qCiAJCQknPScJdGhlIGV4cHJlc3Npb24gcmVnaXN0ZXI6IHlvdSBhcmUgcHJvbXB0ZWQgdG8KIAkJCQllbnRlciBhbiBleHByZXNzaW9uIChzZWUgfGV4cHJlc3Npb258KQogCQkJCU5vdGUgdGhhdCAweDgwICgxMjggZGVjaW1hbCkgaXMgdXNlZCBmb3IKQEAgLTEzMyw2ICsxMzQsOCBAQAogCQkJCVdoZW4gdGhlIHJlc3VsdCBpcyBhIHxMaXN0fCB0aGUgaXRlbXMgYXJlIHVzZWQKIAkJCQlhcyBsaW5lcy4gIFRoZXkgY2FuIGhhdmUgbGluZSBicmVha3MgaW5zaWRlCiAJCQkJdG9vLgorCQkJCVdoZW4gdGhlIHJlc3VsdCBpcyBhIEZsb2F0IGl0J3MgYXV0b21hdGljYWxseQorCQkJCWNvbnZlcnRlZCB0byBhIFN0cmluZy4KIAkJU2VlIHxyZWdpc3RlcnN8IGFib3V0IHJlZ2lzdGVycy4gIHtub3QgaW4gVml9CiAKIENUUkwtUiBDVFJMLVIgezAtOWEteiIlIyorLzouLT19CQkJKmlfQ1RSTC1SX0NUUkwtUioKQEAgLTY2MCw3ICs2NjMsOCBAQAogCiAJQ1RSTC1YIENUUkwtTAlBZnRlciBleHBhbmRpbmcgYSBsaW5lIHlvdSBjYW4gYWRkaXRpb25hbGx5IGdldCB0aGUKIAkJCWxpbmUgbmV4dCB0byBpdCBieSB0eXBpbmcgQ1RSTC1YIENUUkwtTCBhZ2FpbiwgdW5sZXNzCi0JCQlhIGRvdWJsZSBDVFJMLVggaXMgdXNlZC4KKwkJCWEgZG91YmxlIENUUkwtWCBpcyB1c2VkLiAgT25seSB3b3JrcyBmb3IgbG9hZGVkCisJCQlidWZmZXJzLgogCiBDb21wbGV0aW5nIGtleXdvcmRzIGluIGN1cnJlbnQgZmlsZQkJCSpjb21wbC1jdXJyZW50KgogCkBAIC0xNDg4LDcgKzE0OTIsNyBAQAogYW5kIGEgdHV0b3JpYWwgc2VlIHxvbW5pLXNxbC1jb21wbGV0aW9ufC4KIAogVGhlIFNRTCBjb21wbGV0aW9uIHBsdWdpbiBjYW4gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIG90aGVyIGNvbXBsZXRpb24KLXBsdWdpbnMuICBGb3IgZXhhbXBsZSwgdGhlIFBIUCBmaWxldHlwZSBoYXMgaXQncyBvd24gY29tcGxldGlvbiBwbHVnaW4uCitwbHVnaW5zLiAgRm9yIGV4YW1wbGUsIHRoZSBQSFAgZmlsZXR5cGUgaGFzIGl0cyBvd24gY29tcGxldGlvbiBwbHVnaW4uCiBTaW5jZSBQSFAgaXMgb2Z0ZW4gdXNlZCB0byBnZW5lcmF0ZSBkeW5hbWljIHdlYnNpdGUgYnkgYWNjZXNzaW5nIGEgZGF0YWJhc2UsCiB0aGUgU1FMIGNvbXBsZXRpb24gcGx1Z2luIGNhbiBhbHNvIGJlIGVuYWJsZWQuICBUaGlzIGFsbG93cyB5b3UgdG8gY29tcGxldGUKIFBIUCBjb2RlIGFuZCBTUUwgY29kZSBhdCB0aGUgc2FtZSB0aW1lLgpAQCAtMTcyNSwxNCArMTcyOSw5IEBACiBUaGVzZSB0d28gY29tbWFuZHMgd2lsbCBrZWVwIG9uIGFza2luZyBmb3IgbGluZXMsIHVudGlsIHlvdSB0eXBlIGEgbGluZQogY29udGFpbmluZyBvbmx5IGEgIi4iLiAgV2F0Y2ggb3V0IGZvciBsaW5lcyBzdGFydGluZyB3aXRoIGEgYmFja3NsYXNoLCBzZWUKIHxsaW5lLWNvbnRpbnVhdGlvbnwuCi1XaGVuIHRoZXNlIGNvbW1hbmRzIGFyZSB1c2VkIHdpdGggfDpnbG9iYWx8IG9yIHw6dmdsb2JhbHwgdGhlbiB0aGUgbGluZXMgYXJlCi1vYnRhaW5lZCBmcm9tIHRoZSB0ZXh0IGZvbGxvd2luZyB0aGUgY29tbWFuZC4gIFNlcGFyYXRlIGxpbmVzIHdpdGggYSBOTAotZXNjYXBlZCB3aXRoIGEgYmFja3NsYXNoOiA+Ci0JOmdsb2JhbC9hYmMvaW5zZXJ0XAotCW9uZSBsaW5lXAotCWFub3RoZXIgbGluZQotVGhlIGZpbmFsICIuIiBpcyBub3QgbmVlZGVkIHRoZW4uCi1OT1RFOiAiOmFwcGVuZCIgYW5kICI6aW5zZXJ0IiBkb24ndCB3b3JrIHByb3Blcmx5IGluIGJldHdlZW4gIjppZiIgYW5kCisKK05PVEU6IFRoZXNlIGNvbW1hbmRzIGNhbm5vdCBiZSB1c2VkIHdpdGggfDpnbG9iYWx8IG9yIHw6dmdsb2JhbHwuCisiOmFwcGVuZCIgYW5kICI6aW5zZXJ0IiBkb24ndCB3b3JrIHByb3Blcmx5IGluIGJldHdlZW4gIjppZiIgYW5kCiAiOmVuZGlmIiwgIjpmb3IiIGFuZCAiOmVuZGZvciIsICI6d2hpbGUiIGFuZCAiOmVuZHdoaWxlIi4KIAogCQkJCQkJCSo6c3RhcnQqICo6c3RhcnRpbnNlcnQqCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9pbnRyby50eHQgYi9ydW50aW1lL2RvYy9pbnRyby50eHQKaW5kZXggZWRkZDBjNS4uNjhmMTFiMiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvaW50cm8udHh0CisrKyBiL3J1bnRpbWUvZG9jL2ludHJvLnR4dApAQCAtMSw0ICsxLDQgQEAKLSppbnRyby50eHQqICAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDI0CisqaW50cm8udHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA5IEFwciAyMQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNDMsNiArNDMsMTAgQEAKIGRvY3VtZW50LCB0aGVyZSBpcyBhIHNlcGFyYXRlIGRvY3VtZW50IGZvciBlYWNoIHN1cHBvcnRlZCBzeXN0ZW0sIHNlZQogfHN5cy1maWxlLWxpc3R8LgogCisJCQkJCQkJKnByb25vdW5jZSoKK1ZpbSBpcyBwcm9ub3VuY2VkIGFzIG9uZSB3b3JkLCBsaWtlIEppbSwgbm90IHZpLWFpLWVtLiAgSXQncyB3cml0dGVuIHdpdGggYQorY2FwaXRhbCwgc2luY2UgaXQncyBhIG5hbWUsIGFnYWluIGxpa2UgSmltLgorCiBUaGlzIG1hbnVhbCBpcyBhIHJlZmVyZW5jZSBmb3IgYWxsIHRoZSBWaW0gY29tbWFuZHMgYW5kIG9wdGlvbnMuICBUaGlzIGlzIG5vdAogYW4gaW50cm9kdWN0aW9uIHRvIHRoZSB1c2Ugb2YgVmkgb3IgVmltLCBpdCBnZXRzIGEgYml0IGNvbXBsaWNhdGVkIGhlcmUgYW5kCiB0aGVyZS4gIEZvciBiZWdpbm5lcnMsIHRoZXJlIGlzIGEgaGFuZHMtb24gfHR1dG9yfC4gIFRvIGxlYXJuIHVzaW5nIFZpbSwgcmVhZApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvbWFwLnR4dCBiL3J1bnRpbWUvZG9jL21hcC50eHQKaW5kZXggZTdiOTM3OC4uZWNjOTkyZCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvbWFwLnR4dAorKysgYi9ydW50aW1lL2RvYy9tYXAudHh0CkBAIC0xLDQgKzEsNCBAQAotKm1hcC50eHQqICAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBBdWcgMDkKKyptYXAudHh0KiAgICAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgTm92IDA0CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0yNzIsOSArMjcyLDEwIEBACiAxLjMgTUFQUElORyBBTkQgTU9ERVMJCQkJCSo6bWFwLW1vZGVzKgogCQkJKm1hcG1vZGUtbnZvKiAqbWFwbW9kZS1uKiAqbWFwbW9kZS12KiAqbWFwbW9kZS1vKgogCi1UaGVyZSBhcmUgZml2ZSBzZXRzIG9mIG1hcHBpbmdzCitUaGVyZSBhcmUgc2l4IHNldHMgb2YgbWFwcGluZ3MKIC0gRm9yIE5vcm1hbCBtb2RlOiBXaGVuIHR5cGluZyBjb21tYW5kcy4KIC0gRm9yIFZpc3VhbCBtb2RlOiBXaGVuIHR5cGluZyBjb21tYW5kcyB3aGlsZSB0aGUgVmlzdWFsIGFyZWEgaXMgaGlnaGxpZ2h0ZWQuCistIEZvciBTZWxlY3QgbW9kZTogbGlrZSBWaXN1YWwgbW9kZSBidXQgdHlwaW5nIHRleHQgcmVwbGFjZXMgdGhlIHNlbGVjdGlvbi4KIC0gRm9yIE9wZXJhdG9yLXBlbmRpbmcgbW9kZTogV2hlbiBhbiBvcGVyYXRvciBpcyBwZW5kaW5nIChhZnRlciAiZCIsICJ5IiwgImMiLAogICBldGMuKS4gIFNlZSBiZWxvdzogfG9tYXAtaW5mb3wuCiAtIEZvciBJbnNlcnQgbW9kZS4gIFRoZXNlIGFyZSBhbHNvIHVzZWQgaW4gUmVwbGFjZSBtb2RlLgpAQCAtMjk5LDYgKzMwMCw5IEBACiBTb21lIGNvbW1hbmRzIHdvcmsgYm90aCBpbiBWaXN1YWwgYW5kIFNlbGVjdCBtb2RlLCBzb21lIGluIG9ubHkgb25lLiAgTm90ZQogdGhhdCBxdWl0ZSBvZnRlbiAiVmlzdWFsIiBpcyBtZW50aW9uZWQgd2hlcmUgYm90aCBWaXN1YWwgYW5kIFNlbGVjdCBtb2RlCiBhcHBseS4gfFNlbGVjdC1tb2RlLW1hcHBpbmd8CitOT1RFOiBNYXBwaW5nIGEgcHJpbnRhYmxlIGNoYXJhY3RlciBpbiBTZWxlY3QgbW9kZSBtYXkgY29uZnVzZSB0aGUgdXNlci4gIEl0J3MKK2JldHRlciB0byBleHBsaWNpdGx5IHVzZSA6eG1hcCBhbmQgOnNtYXAgZm9yIHByaW50YWJsZSBjaGFyYWN0ZXJzLiAgT3IgdXNlCis6c3VubWFwIGFmdGVyIGRlZmluaW5nIHRoZSBtYXBwaW5nLgogCiAgICAgY29tbWFuZHM6CQkJCSAgICAgIG1vZGVzOiB+CiAJCQkJCSAgVmlzdWFsICAgIFNlbGVjdCB+CkBAIC01OTAsMTEgKzU5NCwxNCBAQAogc3VnZ2VzdGlvbnM6CiAtIEZ1bmN0aW9uIGtleXMgPEYyPiwgPEYzPiwgZXRjLi4gIEFsc28gdGhlIHNoaWZ0ZWQgZnVuY3Rpb24ga2V5cyA8Uy1GMT4sCiAgIDxTLUYyPiwgZXRjLiAgTm90ZSB0aGF0IDxGMT4gaXMgYWxyZWFkeSB1c2VkIGZvciB0aGUgaGVscCBjb21tYW5kLgotLSBNZXRhLWtleXMgKHdpdGggdGhlIEFMVCBrZXkgcHJlc3NlZCkuIHw6bWFwLWFsdC1rZXlzfAorLSBNZXRhLWtleXMgKHdpdGggdGhlIEFMVCBrZXkgcHJlc3NlZCkuICBEZXBlbmRpbmcgb24geW91ciBrZXlib3JkIGFjY2VudGVkCisgIGNoYXJhY3RlcnMgbWF5IGJlIHVzZWQgYXMgd2VsbC4gfDptYXAtYWx0LWtleXN8CiAtIFVzZSB0aGUgJ18nIG9yICcsJyBjaGFyYWN0ZXIgYW5kIHRoZW4gYW55IG90aGVyIGNoYXJhY3Rlci4gIFRoZSAiXyIgYW5kICIsIgogICBjb21tYW5kcyBkbyBleGlzdCBpbiBWaW0gKHNlZSB8X3wgYW5kIHwsfCksIGJ1dCB5b3UgcHJvYmFibHkgbmV2ZXIgdXNlIHRoZW0uCiAtIFVzZSBhIGtleSB0aGF0IGlzIGEgc3lub255bSBmb3IgYW5vdGhlciBjb21tYW5kLiAgRm9yIGV4YW1wbGU6IENUUkwtUCBhbmQKICAgQ1RSTC1OLiAgVXNlIGFuIGV4dHJhIGNoYXJhY3RlciB0byBhbGxvdyBtb3JlIG1hcHBpbmdzLgorLSBUaGUga2V5IGRlZmluZWQgYnkgPExlYWRlcj4gYW5kIG9uZSBvciBtb3JlIG90aGVyIGtleXMuICBUaGlzIGlzIGVzcGVjaWFsbHkKKyAgdXNlZnVsIGluIHNjcmlwdHMuIHxtYXBsZWFkZXJ8CiAKIFNlZSB0aGUgZmlsZSAiaW5kZXgiIGZvciBrZXlzIHRoYXQgYXJlIG5vdCB1c2VkIGFuZCB0aHVzIGNhbiBiZSBtYXBwZWQgd2l0aG91dAogbG9zaW5nIGFueSBidWlsdGluIGZ1bmN0aW9uLiAgWW91IGNhbiBhbHNvIHVzZSAiOmhlbHAge2tleX1eRCIgdG8gZmluZCBvdXQgaWYKQEAgLTEwODIsNyArMTA4OSw3IEBACiBJdCBpcyBwb3NzaWJsZSB0byBkZWZpbmUgeW91ciBvd24gRXggY29tbWFuZHMuICBBIHVzZXItZGVmaW5lZCBjb21tYW5kIGNhbiBhY3QKIGp1c3QgbGlrZSBhIGJ1aWx0LWluIGNvbW1hbmQgKGl0IGNhbiBoYXZlIGEgcmFuZ2Ugb3IgYXJndW1lbnRzLCBhcmd1bWVudHMgY2FuCiBiZSBjb21wbGV0ZWQgYXMgZmlsZW5hbWVzIG9yIGJ1ZmZlciBuYW1lcywgZXRjKSwgZXhjZXB0IHRoYXQgd2hlbiB0aGUgY29tbWFuZAotaXMgZXhlY3V0ZWQsIGl0IGlzIHRyYW5zZm9ybWVkIGludG8gYSBub3JtYWwgZXggY29tbWFuZCBhbmQgdGhlbiBleGVjdXRlZC4KK2lzIGV4ZWN1dGVkLCBpdCBpcyB0cmFuc2Zvcm1lZCBpbnRvIGEgbm9ybWFsIEV4IGNvbW1hbmQgYW5kIHRoZW4gZXhlY3V0ZWQuCiAKIEZvciBzdGFydGVyczogU2VlIHNlY3Rpb24gfDQwLjJ8IGluIHRoZSB1c2VyIG1hbnVhbC4KIApAQCAtMTE1MCw3ICsxMTU3LDcgQEAKIAogQ29tbWFuZCBhdHRyaWJ1dGVzCiAKLVVzZXItZGVmaW5lZCBjb21tYW5kcyBhcmUgdHJlYXRlZCBieSBWaW0ganVzdCBsaWtlIGFueSBvdGhlciBleCBjb21tYW5kcy4gIFRoZXkKK1VzZXItZGVmaW5lZCBjb21tYW5kcyBhcmUgdHJlYXRlZCBieSBWaW0ganVzdCBsaWtlIGFueSBvdGhlciBFeCBjb21tYW5kcy4gIFRoZXkKIGNhbiBoYXZlIGFyZ3VtZW50cywgb3IgaGF2ZSBhIHJhbmdlIHNwZWNpZmllZC4gIEFyZ3VtZW50cyBhcmUgc3ViamVjdCB0bwogY29tcGxldGlvbiBhcyBmaWxlbmFtZXMsIGJ1ZmZlcnMsIGV0Yy4gIEV4YWN0bHkgaG93IHRoaXMgd29ya3MgZGVwZW5kcyB1cG9uIHRoZQogY29tbWFuZCdzIGF0dHJpYnV0ZXMsIHdoaWNoIGFyZSBzcGVjaWZpZWQgd2hlbiB0aGUgY29tbWFuZCBpcyBkZWZpbmVkLgpAQCAtMTI0MCw3ICsxMjQ3LDcgQEAKIAlDdXJzb3JQb3MJdGhlIGN1cnNvciBwb3NpdGlvbiBpbiBpdCAoYnl0ZSBpbmRleCkKIFRoZSBmdW5jdGlvbiBtYXkgdXNlIHRoZXNlIGZvciBkZXRlcm1pbmluZyBjb250ZXh0LiAgRm9yIHRoZSAiY3VzdG9tIgogYXJndW1lbnQsIGl0IGlzIG5vdCBuZWNlc3NhcnkgdG8gZmlsdGVyIGNhbmRpZGF0ZXMgYWdhaW5zdCB0aGUgKGltcGxpY2l0Ci1wYXR0ZXJuIGluKSBBcmdMZWFkLiAgVmltIHdpbGwgZG8gZmlsdGVyIHRoZSBjYW5kaWRhdGVzIHdpdGggaXRzIHJlZ2V4cCBlbmdpbmUKK3BhdHRlcm4gaW4pIEFyZ0xlYWQuICBWaW0gd2lsbCBmaWx0ZXIgdGhlIGNhbmRpZGF0ZXMgd2l0aCBpdHMgcmVnZXhwIGVuZ2luZQogYWZ0ZXIgZnVuY3Rpb24gcmV0dXJuLCBhbmQgdGhpcyBpcyBwcm9iYWJseSBtb3JlIGVmZmljaWVudCBpbiBtb3N0IGNhc2VzLiBGb3IKIHRoZSAiY3VzdG9tbGlzdCIgYXJndW1lbnQsIFZpbSB3aWxsIG5vdCBmaWx0ZXIgdGhlIHJldHVybmVkIGNvbXBsZXRpb24KIGNhbmRpZGF0ZXMgYW5kIHRoZSB1c2VyIHN1cHBsaWVkIGZ1bmN0aW9uIHNob3VsZCBmaWx0ZXIgdGhlIGNhbmRpZGF0ZXMuCkBAIC0xMjU2LDcgKzEyNjMsNyBAQAogICAgIDpjb20gLW5hcmdzPTEgLWJhbmcgLWNvbXBsZXRlPWN1c3RvbWxpc3QsRWRpdEZpbGVDb21wbGV0ZQogCQkJXCBFZGl0RmlsZSBlZGl0PGJhbmc+IDxhcmdzPgogICAgIDpmdW4gRWRpdEZpbGVDb21wbGV0ZShBLEwsUCkKLSAgICA6ICAgIHJldHVybiBzcGxpdChnbG9icGF0aCgmcGF0aCwgYTpBcmdMZWFkKSwgIlxuIikKKyAgICA6ICAgIHJldHVybiBzcGxpdChnbG9icGF0aCgmcGF0aCwgYTpBKSwgIlxuIikKICAgICA6ZW5kZnVuCiA8CiAKQEAgLTE0MDUsNyArMTQxMiw3IEBACiBUaGlzIHdpbGwgaW52b2tlOiA+CiAJOmNhbGwgQWxsYXJncygiJXMvZm9vL2Jhci9nZXx1cGRhdGUiKQogPAotV2hlbiBkZWZpbmluZyBhbiB1c2VyIGNvbW1hbmQgaW4gYSBzY3JpcHQsIGl0IHdpbGwgYmUgYWJsZSB0byBjYWxsIGZ1bmN0aW9ucworV2hlbiBkZWZpbmluZyBhIHVzZXIgY29tbWFuZCBpbiBhIHNjcmlwdCwgaXQgd2lsbCBiZSBhYmxlIHRvIGNhbGwgZnVuY3Rpb25zCiBsb2NhbCB0byB0aGUgc2NyaXB0IGFuZCB1c2UgbWFwcGluZ3MgbG9jYWwgdG8gdGhlIHNjcmlwdC4gIFdoZW4gdGhlIHVzZXIKIGludm9rZXMgdGhlIHVzZXIgY29tbWFuZCwgaXQgd2lsbCBydW4gaW4gdGhlIGNvbnRleHQgb2YgdGhlIHNjcmlwdCBpdCB3YXMKIGRlZmluZWQgaW4uICBUaGlzIG1hdHRlcnMgaWYgfDxTSUQ+fCBpcyB1c2VkIGluIGEgY29tbWFuZC4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL21ieXRlLnR4dCBiL3J1bnRpbWUvZG9jL21ieXRlLnR4dAppbmRleCA1YjI1MjUwLi4xNjRiNGI3IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9tYnl0ZS50eHQKKysrIGIvcnVudGltZS9kb2MvbWJ5dGUudHh0CkBAIC0xLDQgKzEsNCBAQAotKm1ieXRlLnR4dCogICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjEKKyptYnl0ZS50eHQqICAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgTm92IDE3CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIgZXQgYWwuCkBAIC01NTUsNyArNTU1LDcgQEAKIGZvbnQgaXMgYSBsb25nIHN0cmluZy4gIEZvciBtdWx0aS1ieXRlIGZvbnRzIHdlIG5lZWQgc2V2ZXJhbCBvZiB0aGVzZS4uLgogCiBOb3RlOiBNb3N0IG9mIHRoaXMgaXMgbm8gbG9uZ2VyIHJlbGV2YW50IGZvciBHVEsrIDIuICBTZWxlY3RpbmcgYSBmb250IHZpYQotaXRzIFhMRkQgaXMgbm90IHN1cHBvcnRlZCBhbnltb3JlOyBzZWUgJ2d1aWZvbnQnIGZvciBhbiBleGFtcGxlIG9mIGhvdyB0bworaXRzIFhMRkQgaXMgbm90IHN1cHBvcnRlZDsgc2VlICdndWlmb250JyBmb3IgYW4gZXhhbXBsZSBvZiBob3cgdG8KIHNldCB0aGUgZm9udC4gIERvIHlvdXJzZWxmIGEgZmF2b3IgYW5kIGlnbm9yZSB0aGUgfFhMRkR8IGFuZCB8eGZvbnRzZXR8CiBzZWN0aW9ucyBiZWxvdy4KIApAQCAtMTAzMCw3ICsxMDMwLDcgQEAKIEV4IGNvbW1hbmQgZmlyc3QsIHdoaWNoIGlzIEFTQ0lJLgogRm9yIHR5cGluZyBzZWFyY2ggcGF0dGVybnMgdGhlICdpbXNlYXJjaCcgb3B0aW9uIGlzIHVzZWQuICBJdCBjYW4gYmUgc2V0IHRvCiB1c2UgdGhlIHNhbWUgdmFsdWUgYXMgZm9yICdpbWluc2VydCcuCi0KKwkJCQkJCQkJKmxDdXJzb3IqCiBJdCBpcyBwb3NzaWJsZSB0byBnaXZlIHRoZSBHVUkgY3Vyc29yIGFub3RoZXIgY29sb3Igd2hlbiB0aGUgbGFuZ3VhZ2UgbWFwcGluZ3MKIGFyZSBiZWluZyB1c2VkLiAgVGhpcyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LCB0byBhdm9pZCB0aGF0IHRoZSBjdXJzb3IgYmVjb21lcwogaW52aXNpYmxlIHdoZW4geW91IHVzZSBhIG5vbi1zdGFuZGFyZCBiYWNrZ3JvdW5kIGNvbG9yLiAgSGVyZSBpcyBhbiBleGFtcGxlIHRvCkBAIC0xMjQ2LDIxICsxMjQ2LDM3IEBACiBVbmljb2RlICh3aXRoIGEgZmV3IHJhcmVseSB1c2VkIGxhbmd1YWdlcyBleGNsdWRlZCkuICBBbmQgaXQncyBtb3N0bHkgcG9zc2libGUKIHRvIG1peCB0aGVzZSBsYW5ndWFnZXMgaW4gb25lIGZpbGUsIHdoaWNoIGlzIGltcG9zc2libGUgd2l0aCBvdGhlciBlbmNvZGluZ3MuCiAKLVVuaWNvZGUgY2FuIGJlIGVuY29kZWQgaW4gc2V2ZXJhbCB3YXlzLiAgVGhlIHR3byBtb3N0IHBvcHVsYXIgb25lcyBhcmUgVUNTLTIsCi13aGljaCB1c2VzIDE2LWJpdCB3b3JkcyBhbmQgVVRGLTgsIHdoaWNoIHVzZXMgb25lIG9yIG1vcmUgYnl0ZXMgZm9yIGVhY2gKLWNoYXJhY3Rlci4gIFZpbSBjYW4gc3VwcG9ydCBhbGwgb2YgdGhlc2UgZW5jb2RpbmdzLCBidXQgYWx3YXlzIHVzZXMgVVRGLTgKK1VuaWNvZGUgY2FuIGJlIGVuY29kZWQgaW4gc2V2ZXJhbCB3YXlzLiAgVGhlIG1vc3QgcG9wdWxhciBvbmUgaXMgVVRGLTgsIHdoaWNoCit1c2VzIG9uZSBvciBtb3JlIGJ5dGVzIGZvciBlYWNoIGNoYXJhY3RlciBhbmQgaXMgYmFja3dhcmRzIGNvbXBhdGlibGUgd2l0aAorQVNDSUkuICAgT24gTVMtV2luZG93cyBVVEYtMTYgaXMgYWxzbyB1c2VkIChwcmV2aW91c2x5IFVDUy0yKSwgd2hpY2ggdXNlcworMTYtYml0IHdvcmRzLiAgVmltIGNhbiBzdXBwb3J0IGFsbCBvZiB0aGVzZSBlbmNvZGluZ3MsIGJ1dCBhbHdheXMgdXNlcyBVVEYtOAogaW50ZXJuYWxseS4KIAotVmltIGhhcyBjb21wcmVoZW5zaXZlIFVURi04IHN1cHBvcnQuICBJdCBhcHBlYXJzIHRvIHdvcmsgaW46CitWaW0gaGFzIGNvbXByZWhlbnNpdmUgVVRGLTggc3VwcG9ydC4gIEl0IHdvcmtzIHdlbGwgaW46CiAtIHh0ZXJtIHdpdGggdXRmLTggc3VwcG9ydCBlbmFibGVkCiAtIEF0aGVuYSwgTW90aWYgYW5kIEdUSyBHVUkKIC0gTVMtV2luZG93cyBHVUkKKy0gc2V2ZXJhbCBvdGhlciBwbGF0Zm9ybXMKIAogRG91YmxlLXdpZHRoIGNoYXJhY3RlcnMgYXJlIHN1cHBvcnRlZC4gIFRoaXMgd29ya3MgYmVzdCB3aXRoICdndWlmb250d2lkZScgb3IKICdndWlmb250c2V0Jy4gIFdoZW4gdXNpbmcgb25seSAnZ3VpZm9udCcgdGhlIHdpZGUgY2hhcmFjdGVycyBhcmUgZHJhd24gaW4gdGhlCiBub3JtYWwgd2lkdGggYW5kIGEgc3BhY2UgdG8gZmlsbCB0aGUgZ2FwLiAgTm90ZSB0aGF0IHRoZSAnZ3VpZm9udHNldCcgb3B0aW9uCiBpcyBubyBsb25nZXIgcmVsZXZhbnQgaW4gdGhlIEdUSysgMiBHVUkuCiAKKwkJCQkJCQkqYm9tLWJ5dGVzKgorV2hlbiByZWFkaW5nIGEgZmlsZSBhIEJPTSAoQnl0ZSBPcmRlciBNYXJrKSBjYW4gYmUgdXNlZCB0byByZWNvZ25pemUgdGhlCitVbmljb2RlIGVuY29kaW5nOgorCUVGIEJCIEJGICAgICB1dGYtOAorCUZGIEZFICAgICAgICB1dGYtMTYgYmlnIGVuZGlhbgorCUZFIEZGICAgICAgICB1dGYtMTYgbGl0dGxlIGVuZGlhbgorCTAwIDAwIEZFIEZGICB1dGYtMzIgYmlnIGVuZGlhbgorCUZGIEZFIDAwIDAwICB1dGYtMzIgbGl0dGxlIGVuZGlhbgorCitVdGYtOCBpcyB0aGUgcmVjb21tZW5kZWQgZW5jb2RpbmcuICBOb3RlIHRoYXQgaXQncyBkaWZmaWN1bHQgdG8gdGVsbCB1dGYtMTYKK2FuZCB1dGYtMzIgYXBhcnQuICBVdGYtMTYgaXMgb2Z0ZW4gdXNlZCBvbiBNUy1XaW5kb3dzLCB1dGYtMzIgaXMgbm90Cit3aWRlc3ByZWFkIGFzIGZpbGUgZm9ybWF0LgorCisKIAkJCQkJKm1ieXRlLWNvbWJpbmluZyogKm1ieXRlLWNvbXBvc2luZyoKIEEgY29tcG9zaW5nIG9yIGNvbWJpbmluZyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlCiBjaGFyYWN0ZXIgYmVmb3JlIGl0LiAgVGhlIGNvbWJpbmluZyBjaGFyYWN0ZXJzIGFyZSBkcmF3biBvbiB0b3Agb2YgdGhlCkBAIC0xNDAyLDcgKzE0MTgsNyBAQAogCiBDb250cmlidXRpb25zIHNwZWNpZmljYWxseSBmb3IgdGhlIG11bHRpLWJ5dGUgZmVhdHVyZXMgYnk6CiAJQ2hpLURlb2sgSHdhbmcgPGh3YW5nQG1pemkuY28ua3I+Ci0JTmFtIFN1bmdIeXVuIDxuYW1zaEBrbGRwLm9yZz4KKwlTdW5nSHl1biBOYW0gPGdvd2VvbEBnbWFpbC5jb20+CiAJSy5OYWdhbm8gPG5hZ2Fub0BhdGVzZS5hZHZhbnRlc3QuY28uanA+CiAJVGFybyBNdXJhb2thICA8a29yb25AdGthLmF0dC5uZS5qcD4KIAlZYXN1aGlybyBNYXRzdW1vdG8gPG1hdHRuQG1haWwuZ29vLm5lLmpwPgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvbWVzc2FnZS50eHQgYi9ydW50aW1lL2RvYy9tZXNzYWdlLnR4dAppbmRleCBkYzc3MmM3Li4wYWMyZTk5IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9tZXNzYWdlLnR4dAorKysgYi9ydW50aW1lL2RvYy9tZXNzYWdlLnR4dApAQCAtMSw0ICsxLDQgQEAKLSptZXNzYWdlLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDcgQXVnIDE5CisqbWVzc2FnZS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA5IE9jdCAyOAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTM1LDggKzEzNSw4IEBACiBydW4sIGJ1dCBzb21lIG9mIHRoZSBjb2xvcnMgd2lsbCBub3QgYXBwZWFyIGluIHRoZSBzcGVjaWZpZWQgY29sb3IuICBUcnkKIHN0b3BwaW5nIG90aGVyIGFwcGxpY2F0aW9ucyB0aGF0IHVzZSBtYW55IGNvbG9ycywgb3Igc3RhcnQgdGhlbSBhZnRlciBzdGFydGluZwogZ3ZpbS4KLU5ldHNjYXBlIGlzIGtub3duIHRvIGNvbnN1bWUgYSBsb3Qgb2YgY29sb3JzLiAgWW91IGNhbiBhdm9pZCB0aGlzIGJ5IHRlbGxpbmcKLWl0IHRvIHVzZSBpdHMgb3duIGNvbG9ybWFwOiA+CitCcm93c2VycyBhcmUga25vd24gdG8gY29uc3VtZSBhIGxvdCBvZiBjb2xvcnMuICBZb3UgY2FuIGF2b2lkIHRoaXMgd2l0aAorbmV0c2NhcGUgYnkgdGVsbGluZyBpdCB0byB1c2UgaXRzIG93biBjb2xvcm1hcDogPgogCW5ldHNjYXBlIC1pbnN0YWxsCiBPciB0ZWxsIGl0IHRvIGxpbWl0IHRvIGEgY2VydGFpbiBudW1iZXIgb2YgY29sb3JzICg2NCBzaG91bGQgd29yayB3ZWxsKTogPgogCW5ldHNjYXBlIC1uY29scyA2NApAQCAtNTY3LDcgKzU2Nyw3IEBACiAgIFVuYWJsZSB0byBvcGVuIHN3YXAgZmlsZSBmb3IgIntmaWxlbmFtZX0iLCByZWNvdmVyeSBpbXBvc3NpYmxlCiAKIFZpbSB3YXMgbm90IGFibGUgdG8gY3JlYXRlIGEgc3dhcCBmaWxlLiAgWW91IGNhbiBzdGlsbCBlZGl0IHRoZSBmaWxlLCBidXQgaWYKLVZpbSB1bmV4cGVjdGVkIGV4aXRzIHRoZSBjaGFuZ2VzIHdpbGwgYmUgbG9zdC4gIEFuZCBWaW0gbWF5IGNvbnN1bWUgYSBsb3Qgb2YKK1ZpbSB1bmV4cGVjdGVkbHkgZXhpdHMgdGhlIGNoYW5nZXMgd2lsbCBiZSBsb3N0LiAgQW5kIFZpbSBtYXkgY29uc3VtZSBhIGxvdCBvZgogbWVtb3J5IHdoZW4gZWRpdGluZyBhIGJpZyBmaWxlLiAgWW91IG1heSB3YW50IHRvIGNoYW5nZSB0aGUgJ2RpcmVjdG9yeScgb3B0aW9uCiB0byBhdm9pZCB0aGlzIGVycm9yLiAgU2VlIHxzd2FwLWZpbGV8LgogCkBAIC03NTgsOSArNzU4LDkgQEAKIC0+IFByZXNzICdrJywgPFVwPiwgJ3UnLCAnYicgb3IgJ2cnIHRvIHNjcm9sbCBiYWNrIGluIHRoZSBtZXNzYWdlcy4gIFRoaXMKICAgIHdvcmtzIHRoZSBzYW1lIHdheSBhcyBhdCB0aGUgfG1vcmUtcHJvbXB0fC4gIE9ubHkgd29ya3Mgd2hlbiAnY29tcGF0aWJsZScKICAgIGlzIG9mZiBhbmQgJ21vcmUnIGlzIG9uLgotLT4gUHJlc3NpbmcgJ2onLCAnZCcgb3IgPERvd24+IGlzIGlnbm9yZWQgd2hlbiBtZXNzYWdlcyBzY3JvbGxlZCBvZmYgdGhlIHRvcAotICAgb2YgdGhlIHNjcmVlbiwgJ2NvbXBhdGlibGUnIGlzIG9mZiBhbmQgJ21vcmUnIGlzIG9uLCB0byBhdm9pZCB0aGF0IHR5cGluZwotICAgb25lICdqJyB0b28gbWFueSBjYXVzZXMgdGhlIG1lc3NhZ2VzIHRvIGRpc2FwcGVhci4KKy0+IFByZXNzaW5nICdqJywgJ2YnLCAnZCcgb3IgPERvd24+IGlzIGlnbm9yZWQgd2hlbiBtZXNzYWdlcyBzY3JvbGxlZCBvZmYgdGhlCisgICB0b3Agb2YgdGhlIHNjcmVlbiwgJ2NvbXBhdGlibGUnIGlzIG9mZiBhbmQgJ21vcmUnIGlzIG9uLCB0byBhdm9pZCB0aGF0CisgICB0eXBpbmcgb25lICdqJyBvciAnZicgdG9vIG1hbnkgY2F1c2VzIHRoZSBtZXNzYWdlcyB0byBkaXNhcHBlYXIuCiAtPiBQcmVzcyA8Qy1ZPiB0byBjb3B5ICh5YW5rKSBhIG1vZGVsZXNzIHNlbGVjdGlvbiB0byB0aGUgY2xpcGJvYXJkIHJlZ2lzdGVyLgogLT4gVXNlIGEgbWVudS4gIFRoZSBjaGFyYWN0ZXJzIGRlZmluZWQgZm9yIENtZGxpbmUtbW9kZSBhcmUgdXNlZC4KIC0+IFdoZW4gJ21vdXNlJyBjb250YWlucyB0aGUgJ3InIGZsYWcsIGNsaWNraW5nIHRoZSBsZWZ0IG1vdXNlIGJ1dHRvbiB3b3JrcwpAQCAtNzk1LDcgKzc5NSw3IEBACiBUeXBlCQkJCQllZmZlY3QgfgogICAgICA8Q1I+IG9yIDxOTD4gb3IgaiBvciA8RG93bj4Jb25lIG1vcmUgbGluZQogICAgICBkCQkJCQlkb3duIGEgcGFnZSAoaGFsZiBhIHNjcmVlbikKLSAgICAgPFNwYWNlPiBvciA8UGFnZURvd24+CQlkb3duIGEgc2NyZWVuCisgICAgIDxTcGFjZT4gb3IgZiBvciA8UGFnZURvd24+CQlkb3duIGEgc2NyZWVuCiAgICAgIEcJCQkJCWRvd24gYWxsIHRoZSB3YXksIHVudGlsIHRoZSBoaXQtZW50ZXIKIAkJCQkJcHJvbXB0CiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL21vdGlvbi50eHQgYi9ydW50aW1lL2RvYy9tb3Rpb24udHh0CmluZGV4IGYzMzY0YjYuLjBiNWFmZTcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL21vdGlvbi50eHQKKysrIGIvcnVudGltZS9kb2MvbW90aW9uLnR4dApAQCAtMSw0ICsxLDQgQEAKLSptb3Rpb24udHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDggQXVnIDAzCisqbW90aW9uLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA5IFNlcCAxNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTUxLDYgKzE1MSwxMSBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAyLiBMZWZ0LXJpZ2h0IG1vdGlvbnMJCQkJCSpsZWZ0LXJpZ2h0LW1vdGlvbnMqCiAKK1RoZXNlIGNvbW1hbmRzIG1vdmUgdGhlIGN1cnNvciB0byB0aGUgc3BlY2lmaWVkIGNvbHVtbiBpbiB0aGUgY3VycmVudCBsaW5lLgorVGhleSBzdG9wIGF0IHRoZSBmaXJzdCBjb2x1bW4gYW5kIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUsIGV4Y2VwdCAiJCIsIHdoaWNoCittYXkgbW92ZSB0byBvbmUgb2YgdGhlIG5leHQgbGluZXMuICBTZWUgJ3doaWNod3JhcCcgb3B0aW9uIHRvIG1ha2Ugc29tZSBvZiB0aGUKK2NvbW1hbmRzIG1vdmUgYWNyb3NzIGxpbmUgYm91bmRhcmllcy4KKwogaAkJb3IJCQkJCSpoKgogPExlZnQ+CQlvcgkJCQkJKjxMZWZ0PioKIENUUkwtSAkJb3IJCQkJCSpDVFJMLUgqICo8QlM+KgpAQCAtMjM0LDcgKzIzOSw3IEBACiAKIAkJCQkJCQkqYmFyKgogfAkJCVRvIHNjcmVlbiBjb2x1bW4gW2NvdW50XSBpbiB0aGUgY3VycmVudCBsaW5lLgotCQkJfGV4Y2x1c2l2ZXwgbW90aW9uLgorCQkJfGV4Y2x1c2l2ZXwgbW90aW9uLiAgQ2VjaSBuJ2VzdCBwYXMgdW5lIHBpcGUuCiAKIAkJCQkJCQkqZioKIGZ7Y2hhcn0JCQlUbyBbY291bnRdJ3RoIG9jY3VycmVuY2Ugb2Yge2NoYXJ9IHRvIHRoZSByaWdodC4gIFRoZQpAQCAtMjcwLDExICsyNzUsNiBAQAogLAkJCVJlcGVhdCBsYXRlc3QgZiwgdCwgRiBvciBUIGluIG9wcG9zaXRlIGRpcmVjdGlvbgogCQkJW2NvdW50XSB0aW1lcy4KIAotVGhlc2UgY29tbWFuZHMgbW92ZSB0aGUgY3Vyc29yIHRvIHRoZSBzcGVjaWZpZWQgY29sdW1uIGluIHRoZSBjdXJyZW50IGxpbmUuCi1UaGV5IHN0b3AgYXQgdGhlIGZpcnN0IGNvbHVtbiBhbmQgYXQgdGhlIGVuZCBvZiB0aGUgbGluZSwgZXhjZXB0ICIkIiwgd2hpY2gKLW1heSBtb3ZlIHRvIG9uZSBvZiB0aGUgbmV4dCBsaW5lcy4gIFNlZSAnd2hpY2h3cmFwJyBvcHRpb24gdG8gbWFrZSBzb21lIG9mIHRoZQotY29tbWFuZHMgbW92ZSBhY3Jvc3MgbGluZSBib3VuZGFyaWVzLgotCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDMuIFVwLWRvd24gbW90aW9ucwkJCQkJKnVwLWRvd24tbW90aW9ucyoKIApAQCAtMzI1LDkgKzMyNSw5IEBACiAJCQlub24tYmxhbmsgY2hhcmFjdGVyIHxsaW5ld2lzZXwuICBJZiAnc3RhcnRvZmxpbmUnIG5vdAogCQkJc2V0LCBrZWVwIHRoZSBzYW1lIGNvbHVtbi4KIAotOltyYW5nZV0JCVNldCB0aGUgY3Vyc29yIG9uIHRoZSBzcGVjaWZpZWQgbGluZSBudW1iZXIuICBJZgotCQkJdGhlcmUgYXJlIHNldmVyYWwgbnVtYmVycywgdGhlIGxhc3Qgb25lIGlzIHVzZWQuCi0KKzpbcmFuZ2VdCQlTZXQgdGhlIGN1cnNvciBvbiB0aGUgbGFzdCBsaW5lIG51bWJlciBpbiBbcmFuZ2VdLgorCQkJW3JhbmdlXSBjYW4gYWxzbyBiZSBqdXN0IG9uZSBsaW5lIG51bWJlciwgZS5nLiwgIjoxIgorCQkJb3IgIjonbSIuCiAJCQkJCQkJKk4lKgoge2NvdW50fSUJCUdvIHRvIHtjb3VudH0gcGVyY2VudGFnZSBpbiB0aGUgZmlsZSwgb24gdGhlIGZpcnN0CiAJCQlub24tYmxhbmsgaW4gdGhlIGxpbmUgfGxpbmV3aXNlfC4gIFRvIGNvbXB1dGUgdGhlIG5ldwpAQCAtNjM3LDcgKzYzNyw4IEBACiAJCQlXaGVuIHRoZSBjdXJzb3Igc3RhcnRzIG9uIGEgcXVvdGUsIFZpbSB3aWxsIGZpZ3VyZSBvdXQKIAkJCXdoaWNoIHF1b3RlIHBhaXJzIGZvcm0gYSBzdHJpbmcgYnkgc2VhcmNoaW5nIGZyb20gdGhlCiAJCQlzdGFydCBvZiB0aGUgbGluZS4KLQkJCUFueSB0cmFpbGluZyBvciBsZWFkaW5nIHdoaXRlIHNwYWNlIGlzIGluY2x1ZGVkLgorCQkJQW55IHRyYWlsaW5nIHdoaXRlIHNwYWNlIGlzIGluY2x1ZGVkLCB1bmxlc3MgdGhlcmUgaXMKKwkJCW5vbmUsIHRoZW4gbGVhZGluZyB3aGl0ZSBzcGFjZSBpcyBpbmNsdWRlZC4KIAkJCVdoZW4gdXNlZCBpbiBWaXN1YWwgbW9kZSBpdCBpcyBtYWRlIGNoYXJhY3Rlcndpc2UuCiAJCQlSZXBlYXRpbmcgdGhpcyBvYmplY3QgaW4gVmlzdWFsIG1vZGUgYW5vdGhlciBzdHJpbmcgaXMKIAkJCWluY2x1ZGVkLiAgQSBjb3VudCBpcyBjdXJyZW50bHkgbm90IHVzZWQuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9vcHRpb25zLnR4dCBiL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CmluZGV4IDg0Y2ZmNjguLmUxNzg2MTMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CisrKyBiL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CkBAIC0xLDQgKzEsNCBAQAotKm9wdGlvbnMudHh0KglGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDggTm92IDI1Cisqb3B0aW9ucy50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAxMCBKYW4gMDYKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNzQzLDggKzc0Myw4IEBACiAJICAgICB3aXRoaW4gYSB3b3JkIChpbml0aWFsLCBtZWRpYWwsIGZpbmFsIGFuZCBzdGFuZC1hbG9uZSkuCiAJICBiKSB0aGUgZW5hYmxpbmcgb2YgdGhlIGFiaWxpdHkgdG8gY29tcG9zZSBjaGFyYWN0ZXJzCiAJICBjKSB0aGUgZW5hYmxpbmcgb2YgdGhlIHJlcXVpcmVkIGNvbWJpbmluZyBvZiBzb21lIGNoYXJhY3RlcnMKLQlXaGVuIGRpc2FibGVkIHRoZSBjaGFyYWN0ZXIgZGlzcGxheSByZXZlcnRzIGJhY2sgdG8gZWFjaCBjaGFyYWN0ZXIncwotCXRydWUgc3RhbmQtYWxvbmUgZm9ybS4KKwlXaGVuIGRpc2FibGVkIHRoZSBkaXNwbGF5IHNob3dzIGVhY2ggY2hhcmFjdGVyJ3MgdHJ1ZSBzdGFuZC1hbG9uZQorCWZvcm0uCiAJQXJhYmljIGlzIGEgY29tcGxleCBsYW5ndWFnZSB3aGljaCByZXF1aXJlcyBvdGhlciBzZXR0aW5ncywgZm9yCiAJZnVydGhlciBkZXRhaWxzIHNlZSB8YXJhYmljLnR4dHwuCiAKQEAgLTgxMywxMSArODEzLDExIEBACiAJV2hlbiAnYmFja2dyb3VuZCcgaXMgc2V0IFZpbSB3aWxsIGFkanVzdCB0aGUgZGVmYXVsdCBjb2xvciBncm91cHMgZm9yCiAJdGhlIG5ldyB2YWx1ZS4gIEJ1dCB0aGUgY29sb3JzIHVzZWQgZm9yIHN5bnRheCBoaWdobGlnaHRpbmcgd2lsbCBub3QKIAljaGFuZ2UuCQkJCQkqZzpjb2xvcnNfbmFtZSoKLQlXaGVuIGEgY29sb3Igc2NoZW1lIGlzIGxvYWRlZCAodGhlICJjb2xvcnNfbmFtZSIgdmFyaWFibGUgaXMgc2V0KQorCVdoZW4gYSBjb2xvciBzY2hlbWUgaXMgbG9hZGVkICh0aGUgImc6Y29sb3JzX25hbWUiIHZhcmlhYmxlIGlzIHNldCkKIAlzZXR0aW5nICdiYWNrZ3JvdW5kJyB3aWxsIGNhdXNlIHRoZSBjb2xvciBzY2hlbWUgdG8gYmUgcmVsb2FkZWQuICBJZgogCXRoZSBjb2xvciBzY2hlbWUgYWRqdXN0cyB0byB0aGUgdmFsdWUgb2YgJ2JhY2tncm91bmQnIHRoaXMgd2lsbCB3b3JrLgogCUhvd2V2ZXIsIGlmIHRoZSBjb2xvciBzY2hlbWUgc2V0cyAnYmFja2dyb3VuZCcgaXRzZWxmIHRoZSBlZmZlY3QgbWF5Ci0JYmUgdW5kb25lLiAgRmlyc3QgZGVsZXRlIHRoZSAiY29sb3JzX25hbWUiIHZhcmlhYmxlIHdoZW4gbmVlZGVkLgorCWJlIHVuZG9uZS4gIEZpcnN0IGRlbGV0ZSB0aGUgImc6Y29sb3JzX25hbWUiIHZhcmlhYmxlIHdoZW4gbmVlZGVkLgogCiAJV2hlbiBzZXR0aW5nICdiYWNrZ3JvdW5kJyB0byB0aGUgZGVmYXVsdCB2YWx1ZSB3aXRoOiA+CiAJCTpzZXQgYmFja2dyb3VuZCYKQEAgLTk1OSw3ICs5NTksOCBAQAogCQkJe25vdCBpbiBWaX0KIAlMaXN0IG9mIGRpcmVjdG9yaWVzIGZvciB0aGUgYmFja3VwIGZpbGUsIHNlcGFyYXRlZCB3aXRoIGNvbW1hcy4KIAktIFRoZSBiYWNrdXAgZmlsZSB3aWxsIGJlIGNyZWF0ZWQgaW4gdGhlIGZpcnN0IGRpcmVjdG9yeSBpbiB0aGUgbGlzdAotCSAgd2hlcmUgdGhpcyBpcyBwb3NzaWJsZS4KKwkgIHdoZXJlIHRoaXMgaXMgcG9zc2libGUuICBUaGUgZGlyZWN0b3J5IG11c3QgZXhpc3QsIFZpbSB3aWxsIG5vdAorCSAgY3JlYXRlIGl0IGZvciB5b3UuCiAJLSBFbXB0eSBtZWFucyB0aGF0IG5vIGJhY2t1cCBmaWxlIHdpbGwgYmUgY3JlYXRlZCAoJ3BhdGNobW9kZScgaXMKIAkgIGltcG9zc2libGUhKS4gIFdyaXRpbmcgbWF5IGZhaWwgYmVjYXVzZSBvZiB0aGlzLgogCS0gQSBkaXJlY3RvcnkgIi4iIG1lYW5zIHRvIHB1dCB0aGUgYmFja3VwIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5CkBAIC0xMTQzLDcgKzExNDQsNyBAQAogCVNvbWUgYXBwbGljYXRpb25zIHVzZSB0aGUgQk9NIHRvIHJlY29nbml6ZSB0aGUgZW5jb2Rpbmcgb2YgdGhlIGZpbGUuCiAJT2Z0ZW4gdXNlZCBmb3IgVUNTLTIgZmlsZXMgb24gTVMtV2luZG93cy4gIEZvciBvdGhlciBhcHBsaWNhdGlvbnMgaXQKIAljYXVzZXMgdHJvdWJsZSwgZm9yIGV4YW1wbGU6ICJjYXQgZmlsZTEgZmlsZTIiIG1ha2VzIHRoZSBCT00gb2YgZmlsZTIKLQlhcHBlYXIgaGFsZndheSB0aGUgcmVzdWx0aW5nIGZpbGUuCisJYXBwZWFyIGhhbGZ3YXkgdGhlIHJlc3VsdGluZyBmaWxlLiAgR2NjIGRvZXNuJ3QgYWNjZXB0IGEgQk9NLgogCVdoZW4gVmltIHJlYWRzIGEgZmlsZSBhbmQgJ2ZpbGVlbmNvZGluZ3MnIHN0YXJ0cyB3aXRoICJ1Y3MtYm9tIiwgYQogCWNoZWNrIGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIEJPTSBpcyBkb25lIGFuZCAnYm9tYicgc2V0IGFjY29yZGluZ2x5LgogCVVubGVzcyAnYmluYXJ5JyBpcyBzZXQsIGl0IGlzIHJlbW92ZWQgZnJvbSB0aGUgZmlyc3QgbGluZSwgc28gdGhhdCB5b3UKQEAgLTE3NTksOCArMTc2MCw4IEBACiAJc2V0IGFuZCB0byB0aGUgVmltIGRlZmF1bHQgdmFsdWUgd2hlbiAnY29tcGF0aWJsZScgaXMgcmVzZXQuCiAJTk9URTogVGhpcyBvcHRpb24gaXMgc2V0IHRvIHRoZSBQT1NJWCBkZWZhdWx0IHZhbHVlIGF0IHN0YXJ0dXAgd2hlbgogCXRoZSBWaSBkZWZhdWx0IHZhbHVlIHdvdWxkIGJlIHVzZWQgYW5kIHRoZSAkVklNX1BPU0lYIGVudmlyb25tZW50Ci0JdmFyaWFibGUgZXhpc3RzIHxwb3NpeHwuICBUaGlzIG1lYW5zIHRyaWVzIHRvIGJlaGF2ZSBsaWtlIHRoZSBQT1NJWAotCXNwZWNpZmljYXRpb24uCisJdmFyaWFibGUgZXhpc3RzIHxwb3NpeHwuICBUaGlzIG1lYW5zIFZpbSB0cmllcyB0byBiZWhhdmUgbGlrZSB0aGUKKwlQT1NJWCBzcGVjaWZpY2F0aW9uLgogCiAJICAgIGNvbnRhaW5zCWJlaGF2aW9yCX4KIAkJCQkJCQkJKmNwby1hKgpAQCAtMjM4Niw2ICsyMzg3LDEwIEBACiAJVGhpcyBpcyBzcGVjaWZpZWQgd2l0aCAnZmlsZWVuY29kaW5nJy4gIFRoZSBjb252ZXJzaW9uIGlzIGRvbmUgd2l0aAogCWljb252KCkgb3IgYXMgc3BlY2lmaWVkIHdpdGggJ2NoYXJjb252ZXJ0Jy4KIAorCUlmIHlvdSBuZWVkIHRvIGtub3cgd2hldGhlciAnZW5jb2RpbmcnIGlzIGEgbXVsdGktYnl0ZSBlbmNvZGluZywgeW91CisJY2FuIHVzZTogPgorCQlpZiBoYXMoIm11bHRpX2J5dGVfZW5jb2RpbmciKQorPAogCU5vcm1hbGx5ICdlbmNvZGluZycgd2lsbCBiZSBlcXVhbCB0byB5b3VyIGN1cnJlbnQgbG9jYWxlLiAgVGhpcyB3aWxsCiAJYmUgdGhlIGRlZmF1bHQgaWYgVmltIHJlY29nbml6ZXMgeW91ciBlbnZpcm9ubWVudCBzZXR0aW5ncy4gIElmCiAJJ2VuY29kaW5nJyBpcyBub3Qgc2V0IHRvIHRoZSBjdXJyZW50IGxvY2FsZSwgJ3Rlcm1lbmNvZGluZycgbXVzdCBiZQpAQCAtMjQ0Niw2ICsyNDUxLDkgQEAKIAknZWFkaXJlY3Rpb24nIG9wdGlvbiB0ZWxscyBpbiB3aGljaCBkaXJlY3Rpb24gdGhlIHNpemUgaXMgYWZmZWN0ZWQuCiAJQ2hhbmdpbmcgdGhlIGhlaWdodCBhbmQgd2lkdGggb2YgYSB3aW5kb3cgY2FuIGJlIGF2b2lkZWQgYnkgc2V0dGluZwogCSd3aW5maXhoZWlnaHQnIGFuZCAnd2luZml4d2lkdGgnLCByZXNwZWN0aXZlbHkuCisJSWYgYSB3aW5kb3cgc2l6ZSBpcyBzcGVjaWZpZWQgd2hlbiBjcmVhdGluZyBhIG5ldyB3aW5kb3cgc2l6ZXMgYXJlCisJY3VycmVudGx5IG5vdCBlcXVhbGl6ZWQgKGl0J3MgY29tcGxpY2F0ZWQsIGJ1dCBtYXkgYmUgaW1wbGVtZW50ZWQgaW4KKwl0aGUgZnV0dXJlKS4KIAogCQkJCQkJKidlcXVhbHByZycqIConZXAnKgogJ2VxdWFscHJnJyAnZXAnCQlzdHJpbmcJKGRlZmF1bHQgIiIpCkBAIC0yNDUzLDcgKzI0NjEsOCBAQAogCQkJe25vdCBpbiBWaX0KIAlFeHRlcm5hbCBwcm9ncmFtIHRvIHVzZSBmb3IgIj0iIGNvbW1hbmQuICBXaGVuIHRoaXMgb3B0aW9uIGlzIGVtcHR5CiAJdGhlIGludGVybmFsIGZvcm1hdHRpbmcgZnVuY3Rpb25zIGFyZSB1c2VkOyBlaXRoZXIgJ2xpc3AnLCAnY2luZGVudCcKLQlvciAnaW5kZW50ZXhwcicuCisJb3IgJ2luZGVudGV4cHInLiAgV2hlbiBWaW0gd2FzIGNvbXBpbGVkIHdpdGhvdXQgaW50ZXJuYWwgZm9ybWF0dGluZywKKwl0aGUgImluZGVudCIgcHJvZ3JhbSBpcyB1c2VkLgogCUVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgZXhwYW5kZWQgfDpzZXRfZW52fC4gIFNlZSB8b3B0aW9uLWJhY2tzbGFzaHwKIAlhYm91dCBpbmNsdWRpbmcgc3BhY2VzIGFuZCBiYWNrc2xhc2hlcy4KIAlUaGlzIG9wdGlvbiBjYW5ub3QgYmUgc2V0IGZyb20gYSB8bW9kZWxpbmV8IG9yIGluIHRoZSB8c2FuZGJveHwsIGZvcgpAQCAtMjU1MCwxMyArMjU1OSwxNyBAQAogCQkJe25vdCBpbiBWaX0KIAlTZXRzIHRoZSBjaGFyYWN0ZXIgZW5jb2RpbmcgZm9yIHRoZSBmaWxlIG9mIHRoaXMgYnVmZmVyLgogCVdoZW4gJ2ZpbGVlbmNvZGluZycgaXMgZGlmZmVyZW50IGZyb20gJ2VuY29kaW5nJywgY29udmVyc2lvbiB3aWxsIGJlCi0JZG9uZSB3aGVuIHJlYWRpbmcgYW5kIHdyaXRpbmcgdGhlIGZpbGUuCisJZG9uZSB3aGVuIHdyaXRpbmcgdGhlIGZpbGUuICBGb3IgcmVhZGluZyBzZWUgYmVsb3cuCiAJV2hlbiAnZmlsZWVuY29kaW5nJyBpcyBlbXB0eSwgdGhlIHNhbWUgdmFsdWUgYXMgJ2VuY29kaW5nJyB3aWxsIGJlCiAJdXNlZCAobm8gY29udmVyc2lvbiB3aGVuIHJlYWRpbmcgb3Igd3JpdGluZyBhIGZpbGUpLgorCUNvbnZlcnNpb24gd2lsbCBhbHNvIGJlIGRvbmUgd2hlbiAnZW5jb2RpbmcnIGFuZCAnZmlsZWVuY29kaW5nJyBhcmUKKwlib3RoIGEgVW5pY29kZSBlbmNvZGluZyBhbmQgJ2ZpbGVlbmNvZGluZycgaXMgbm90IHV0Zi04LiAgVGhhdCdzCisJYmVjYXVzZSBpbnRlcm5hbGx5IFVuaWNvZGUgaXMgYWx3YXlzIHN0b3JlZCBhcyB1dGYtOC4KIAkJV0FSTklORzogQ29udmVyc2lvbiBjYW4gY2F1c2UgbG9zcyBvZiBpbmZvcm1hdGlvbiEgIFdoZW4KLQkJJ2VuY29kaW5nJyBpcyAidXRmLTgiIGNvbnZlcnNpb24gaXMgbW9zdCBsaWtlbHkgZG9uZSBpbiBhIHdheQotCQl0aGF0IHRoZSByZXZlcnNlIGNvbnZlcnNpb24gcmVzdWx0cyBpbiB0aGUgc2FtZSB0ZXh0LiAgV2hlbgotCQknZW5jb2RpbmcnIGlzIG5vdCAidXRmLTgiIHNvbWUgY2hhcmFjdGVycyBtYXkgYmUgbG9zdCEKKwkJJ2VuY29kaW5nJyBpcyAidXRmLTgiIG9yIGFub3RoZXIgVW5pY29kZSBlbmNvZGluZywgY29udmVyc2lvbgorCQlpcyBtb3N0IGxpa2VseSBkb25lIGluIGEgd2F5IHRoYXQgdGhlIHJldmVyc2UgY29udmVyc2lvbgorCQlyZXN1bHRzIGluIHRoZSBzYW1lIHRleHQuICBXaGVuICdlbmNvZGluZycgaXMgbm90ICJ1dGYtOCIgc29tZQorCQljaGFyYWN0ZXJzIG1heSBiZSBsb3N0IQogCVNlZSAnZW5jb2RpbmcnIGZvciB0aGUgcG9zc2libGUgdmFsdWVzLiAgQWRkaXRpb25hbGx5LCB2YWx1ZXMgbWF5IGJlCiAJc3BlY2lmaWVkIHRoYXQgY2FuIGJlIGhhbmRsZWQgYnkgdGhlIGNvbnZlcnRlciwgc2VlCiAJfG1ieXRlLWNvbnZlcnNpb258LgpAQCAtMjg0Myw2ICsyODU2LDggQEAKIAogCVRoZSBleHByZXNzaW9uIG1heSBiZSBldmFsdWF0ZWQgaW4gdGhlIHxzYW5kYm94fCwgc2VlCiAJfHNhbmRib3gtb3B0aW9ufC4KKwlUaGlzIG9wdGlvbiBjYW4ndCBiZSBzZXQgZnJvbSBhIHxtb2RlbGluZXwgd2hlbiB0aGUgJ2RpZmYnIG9wdGlvbiBpcworCW9uLgogCiAJSXQgaXMgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHRleHQgb3IganVtcCB0byBhbm90aGVyIHdpbmRvdyB3aGlsZQogCWV2YWx1YXRpbmcgJ2ZvbGRleHByJyB8dGV4dGxvY2t8LgpAQCAtMzIzNSw3ICszMjUwLDcgQEAKIAl0aGUgY2FzZSBvZiBYKS4gIFRoZSBmb250IG5hbWVzIGdpdmVuIHNob3VsZCBiZSAibm9ybWFsIiBmb250cy4gIFZpbQogCXdpbGwgdHJ5IHRvIGZpbmQgdGhlIHJlbGF0ZWQgYm9sZCBhbmQgaXRhbGljIGZvbnRzLgogCi0JRm9yIFdpbjMyLCBHVEssIE1hYyBPUyBhbmQgUGhvdG9uOiA+CisJRm9yIFdpbjMyLCBHVEssIE1vdGlmLCBNYWMgT1MgYW5kIFBob3RvbjogPgogCSAgICA6c2V0IGd1aWZvbnQ9KgogPAl3aWxsIGJyaW5nIHVwIGEgZm9udCByZXF1ZXN0ZXIsIHdoZXJlIHlvdSBjYW4gcGljayB0aGUgZm9udCB5b3Ugd2FudC4KIApAQCAtMzI0NCw4ICszMjU5LDEzIEBACiAKIAlGb3IgdGhlIEdUSysgMiBHVUkgdGhlIGZvbnQgbmFtZSBsb29rcyBsaWtlIHRoaXM6ID4KIAkgICAgOnNldCBndWlmb250PUFuZGFsZVwgTW9ub1wgMTEKLTwJVGhhdCdzIGFsbC4gIFhMRkRzIGFyZSBubyBsb25nZXIgYWNjZXB0ZWQuCi0KKzwJVGhhdCdzIGFsbC4gIFhMRkRzIGFyZSBub3QgdXNlZC4gIEZvciBDaGluZXNlIHRoaXMgaXMgcmVwb3J0ZWQgdG8gd29yaworCXdlbGw6ID4KKwkgICAgaWYgaGFzKCJndWlfZ3RrMiIpCisJICAgICAgc2V0IGd1aWZvbnQ9Qml0c3RyZWFtXCBWZXJhXCBTYW5zXCBNb25vXCAxMixGaXhlZFwgMTIKKwkgICAgICBzZXQgZ3VpZm9udHdpZGU9TWljcm9zb2Z0XCBZYWhlaVwgMTIsV2VuUXVhbllpXCBaZW5cIEhlaVwgMTIKKwkgICAgZW5kaWYKKzwKIAlGb3IgTWFjIE9TWCB5b3UgY2FuIHVzZSBzb21ldGhpbmcgbGlrZSB0aGlzOiA+CiAJICAgIDpzZXQgZ3VpZm9udD1Nb25hY286aDEwCiA8CUFsc28gc2VlICdtYWNhdHN1aScsIGl0IGNhbiBoZWxwIGZpeCBkaXNwbGF5IHByb2JsZW1zLgpAQCAtMzQ5MSw3ICszNTExLDkgQEAKIAlXaGVuIG5vbmVtcHR5IGRlc2NyaWJlcyB0aGUgdGV4dCB0byB1c2UgaW4gYSB0b29sdGlwIGZvciB0aGUgR1VJIHRhYgogCXBhZ2VzIGxpbmUuICBXaGVuIGVtcHR5IFZpbSB3aWxsIHVzZSBhIGRlZmF1bHQgdG9vbHRpcC4KIAlUaGlzIG9wdGlvbiBpcyBvdGhlcndpc2UganVzdCBsaWtlICdndWl0YWJsYWJlbCcgYWJvdmUuCi0KKwlZb3UgY2FuIGluY2x1ZGUgYSBsaW5lIGJyZWFrLiAgU2ltcGxlc3QgbWV0aG9kIGlzIHRvIHVzZSB8OmxldHw6ID4KKwkJOmxldCAmZ3VpdGFidG9vbHRpcCA9ICJsaW5lIG9uZVxubGluZSB0d28iCis8CiAKIAkJCQkJCSonaGVscGZpbGUnKiAqJ2hmJyoKICdoZWxwZmlsZScgJ2hmJwkJc3RyaW5nCShkZWZhdWx0IChNU0RPUykgICIkVklNUlVOVElNRVxkb2NcaGVscC50eHQiCkBAIC0zNzc2LDcgKzM3OTgsNyBAQAogCUVuZ2xpc2ggY2hhcmFjdGVycyBkaXJlY3RseSwgZS5nLiwgd2hlbiBpdCdzIHVzZWQgdG8gdHlwZSBhY2NlbnRlZAogCWNoYXJhY3RlcnMgd2l0aCBkZWFkIGtleXMuCiAKLQkJCQkqJ2ltZGlzYWJsZScqIConaW1kJyogKidub2Rpc2FibGUnKiAqJ25vaW1kJyoKKwkJCQkqJ2ltZGlzYWJsZScqIConaW1kJyogKidub2ltZGlzYWJsZScqIConbm9pbWQnKgogJ2ltZGlzYWJsZScgJ2ltZCcJYm9vbGVhbiAoZGVmYXVsdCBvZmYsIG9uIGZvciBzb21lIHN5c3RlbXMgKFNHSSkpCiAJCQlnbG9iYWwKIAkJCXtub3QgaW4gVml9CkBAIC00MDkyLDggKzQxMTQsOCBAQAogCWRpc3BsYXllZCBhcyA8eHg+LCB3aXRoIHRoZSBoZXhhZGVjaW1hbCB2YWx1ZSBvZiB0aGUgYnl0ZS4KIAlXaGVuICdkaXNwbGF5JyBjb250YWlucyAidWhleCIgYWxsIHVucHJpbnRhYmxlIGNoYXJhY3RlcnMgYXJlCiAJZGlzcGxheWVkIGFzIDx4eD4uCi0JVGhlIE5vblRleHQgaGlnaGxpZ2h0aW5nIHdpbGwgYmUgdXNlZCBmb3IgdW5wcmludGFibGUgY2hhcmFjdGVycy4KLQl8aGwtTm9uVGV4dHwKKwlUaGUgU3BlY2lhbEtleSBoaWdobGlnaHRpbmcgd2lsbCBiZSB1c2VkIGZvciB1bnByaW50YWJsZSBjaGFyYWN0ZXJzLgorCXxobC1TcGVjaWFsS2V5fAogCiAJTXVsdGktYnl0ZSBjaGFyYWN0ZXJzIDI1NiBhbmQgYWJvdmUgYXJlIGFsd2F5cyBpbmNsdWRlZCwgb25seSB0aGUKIAljaGFyYWN0ZXJzIHVwIHRvIDI1NSBhcmUgc3BlY2lmaWVkIHdpdGggdGhpcyBvcHRpb24uICBXaGVuIGEgY2hhcmFjdGVyCkBAIC00MzMwLDEwICs0MzUyLDE3IEBACiAJCQkJCQkqJ2xpc3QnKiAqJ25vbGlzdCcqCiAnbGlzdCcJCQlib29sZWFuCShkZWZhdWx0IG9mZikKIAkJCWxvY2FsIHRvIHdpbmRvdwotCUxpc3QgbW9kZTogU2hvdyB0YWJzIGFzIENUUkwtSSwgc2hvdyBlbmQgb2YgbGluZSB3aXRoICQuICBVc2VmdWwgdG8KLQlzZWUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0YWJzIGFuZCBzcGFjZXMgYW5kIGZvciB0cmFpbGluZyBibGFua3MuCi0JTm90ZSB0aGF0IHRoaXMgd2lsbCBhbHNvIGFmZmVjdCBmb3JtYXR0aW5nIChzZXQgd2l0aCAndGV4dHdpZHRoJyBvcgotCSd3cmFwbWFyZ2luJykgd2hlbiAnY3BvcHRpb25zJyBpbmNsdWRlcyAnTCcuICBTZWUgJ2xpc3RjaGFycycgZm9yCisJTGlzdCBtb2RlOiBTaG93IHRhYnMgYXMgQ1RSTC1JIGlzIGRpc3BsYXllZCwgZGlzcGxheSAkIGFmdGVyIGVuZCBvZgorCWxpbmUuICBVc2VmdWwgdG8gc2VlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGFicyBhbmQgc3BhY2VzIGFuZCBmb3IKKwl0cmFpbGluZyBibGFua3MuICBGdXJ0aGVyIGNoYW5nZWQgYnkgdGhlICdsaXN0Y2hhcnMnIG9wdGlvbi4KKworCVRoZSBjdXJzb3IgaXMgZGlzcGxheWVkIGF0IHRoZSBzdGFydCBvZiB0aGUgc3BhY2UgYSBUYWIgY2hhcmFjdGVyCisJb2NjdXBpZXMsIG5vdCBhdCB0aGUgZW5kIGFzIHVzdWFsIGluIE5vcm1hbCBtb2RlLiAgVG8gZ2V0IHRoaXMgY3Vyc29yCisJcG9zaXRpb24gd2hpbGUgZGlzcGxheWluZyBUYWJzIHdpdGggc3BhY2VzLCB1c2U6ID4KKwkJOnNldCBsaXN0IGxjcz10YWJcIFwgCis8CisJTm90ZSB0aGF0IGxpc3QgbW9kZSB3aWxsIGFsc28gYWZmZWN0IGZvcm1hdHRpbmcgKHNldCB3aXRoICd0ZXh0d2lkdGgnCisJb3IgJ3dyYXBtYXJnaW4nKSB3aGVuICdjcG9wdGlvbnMnIGluY2x1ZGVzICdMJy4gIFNlZSAnbGlzdGNoYXJzJyBmb3IKIAljaGFuZ2luZyB0aGUgd2F5IHRhYnMgYXJlIGRpc3BsYXllZC4KIAogCQkJCQkJKidsaXN0Y2hhcnMnKiAqJ2xjcycqCkBAIC00NTE2LDE1ICs0NTQ1LDE1IEBACiAJCQl7bm90IGluIFZpfQogCU1heGltdW0gYW1vdW50IG9mIG1lbW9yeSAoaW4gS2J5dGUpIHRvIHVzZSBmb3Igb25lIGJ1ZmZlci4gIFdoZW4gdGhpcwogCWxpbWl0IGlzIHJlYWNoZWQgYWxsb2NhdGluZyBleHRyYSBtZW1vcnkgZm9yIGEgYnVmZmVyIHdpbGwgY2F1c2UKLQlvdGhlciBtZW1vcnkgdG8gYmUgZnJlZWQuICBNYXhpbXVtIHZhbHVlIDIwMDAwMDAuICBVc2UgdGhpcyB0byB3b3JrCi0Jd2l0aG91dCBhIGxpbWl0LiAgQWxzbyBzZWUgJ21heG1lbXRvdCcuCisJb3RoZXIgbWVtb3J5IHRvIGJlIGZyZWVkLiAgVGhlIG1heGltdW0gdXNhYmxlIHZhbHVlIGlzIGFib3V0IDIwMDAwMDAuCisJVXNlIHRoaXMgdG8gd29yayB3aXRob3V0IGEgbGltaXQuICBBbHNvIHNlZSAnbWF4bWVtdG90Jy4KIAogCQkJCQkJKidtYXhtZW1wYXR0ZXJuJyogKidtbXAnKgogJ21heG1lbXBhdHRlcm4nICdtbXAnCW51bWJlcgkoZGVmYXVsdCAxMDAwKQogCQkJZ2xvYmFsCiAJCQl7bm90IGluIFZpfQogCU1heGltdW0gYW1vdW50IG9mIG1lbW9yeSAoaW4gS2J5dGUpIHRvIHVzZSBmb3IgcGF0dGVybiBtYXRjaGluZy4KLQlNYXhpbXVtIHZhbHVlIDIwMDAwMDAuICBVc2UgdGhpcyB0byB3b3JrIHdpdGhvdXQgYSBsaW1pdC4KKwlUaGUgbWF4aW11bSB2YWx1ZSBpcyBhYm91dCAyMDAwMDAwLiAgVXNlIHRoaXMgdG8gd29yayB3aXRob3V0IGEgbGltaXQuCiAJCQkJCQkJKkUzNjMqCiAJV2hlbiBWaW0gcnVucyBpbnRvIHRoZSBsaW1pdCBpdCBnaXZlcyBhbiBlcnJvciBtZXNzYWdlIGFuZCBtb3N0bHkKIAliZWhhdmVzIGxpa2UgQ1RSTC1DIHdhcyB0eXBlZC4KQEAgLTQ1MzksOSArNDU2OCwxMSBAQAogCQkJCSBhdmFpbGFibGUpCiAJCQlnbG9iYWwKIAkJCXtub3QgaW4gVml9Ci0JTWF4aW11bSBhbW91bnQgb2YgbWVtb3J5IChpbiBLYnl0ZSkgdG8gdXNlIGZvciBhbGwgYnVmZmVycyB0b2dldGhlci4KLQlNYXhpbXVtIHZhbHVlIDIwMDAwMDAuICBVc2UgdGhpcyB0byB3b3JrIHdpdGhvdXQgYSBsaW1pdC4gIEFsc28gc2VlCi0JJ21heG1lbScuCisJTWF4aW11bSBhbW91bnQgb2YgbWVtb3J5IGluIEtieXRlIHRvIHVzZSBmb3IgYWxsIGJ1ZmZlcnMgdG9nZXRoZXIuCisJVGhlIG1heGltdW0gdXNhYmxlIHZhbHVlIGlzIGFib3V0IDIwMDAwMDAgKDIgR2J5dGUpLiAgVXNlIHRoaXMgdG8gd29yaworCXdpdGhvdXQgYSBsaW1pdC4gIE9uIDY0IGJpdCBtYWNoaW5lcyBoaWdoZXIgdmFsdWVzIG1pZ2h0IHdvcmsuICBCdXQKKwloZXksIGRvIHlvdSByZWFsbHkgbmVlZCBtb3JlIHRoYW4gMiBHYnl0ZSBmb3IgdGV4dCBlZGl0aW5nPworCUFsc28gc2VlICdtYXhtZW0nLgogCiAJCQkJCQkqJ21lbnVpdGVtcycqIConbWlzJyoKICdtZW51aXRlbXMnICdtaXMnCW51bWJlcgkoZGVmYXVsdCAyNSkKQEAgLTU2MDcsOCArNTYzOCw4IEBACiAJICAgd2luc2l6ZQl3aW5kb3cgc2l6ZXMKIAogCURvbid0IGluY2x1ZGUgYm90aCAiY3VyZGlyIiBhbmQgInNlc2RpciIuCi0JV2hlbiAiY3VyZGlyIiBub3IgInNlc2RpciIgaXMgaW5jbHVkZWQsIGZpbGUgbmFtZXMgYXJlIHN0b3JlZCB3aXRoCi0JYWJzb2x1dGUgcGF0aHMuCisJV2hlbiBuZWl0aGVyICJjdXJkaXIiIG5vciAic2VzZGlyIiBpcyBpbmNsdWRlZCwgZmlsZSBuYW1lcyBhcmUgc3RvcmVkCisJd2l0aCBhYnNvbHV0ZSBwYXRocy4KIAkic2xhc2giIGFuZCAidW5peCIgYXJlIHVzZWZ1bCBvbiBXaW5kb3dzIHdoZW4gc2hhcmluZyBzZXNzaW9uIGZpbGVzCiAJd2l0aCBVbml4LiAgVGhlIFVuaXggdmVyc2lvbiBvZiBWaW0gY2Fubm90IHNvdXJjZSBkb3MgZm9ybWF0IHNjcmlwdHMsCiAJYnV0IHRoZSBXaW5kb3dzIHZlcnNpb24gb2YgVmltIGNhbiBzb3VyY2UgdW5peCBmb3JtYXQgc2NyaXB0cy4KQEAgLTU4ODQsOCArNTkxNSwxMiBAQAogCQkJe25vdCBhdmFpbGFibGUgd2hlbiBjb21waWxlZCB3aXRob3V0IHRoZSAgfCtsaW5lYnJlYWt8CiAJCQlmZWF0dXJlfQogCVN0cmluZyB0byBwdXQgYXQgdGhlIHN0YXJ0IG9mIGxpbmVzIHRoYXQgaGF2ZSBiZWVuIHdyYXBwZWQuICBVc2VmdWwKLQl2YWx1ZXMgYXJlICI+ICIgb3IgIisrKyAiLgotCU9ubHkgcHJpbnRhYmxlIHNpbmdsZS1jZWxsIGNoYXJhY3RlcnMgYXJlIGFsbG93ZWQsIGV4Y2x1ZGluZyA8VGFiPiBhbmQKKwl2YWx1ZXMgYXJlICI+ICIgb3IgIisrKyAiOiA+CisJCTpzZXQgc2hvd2JyZWFrPT5cIAorPAlOb3RlIHRoZSBiYWNrc2xhc2ggdG8gZXNjYXBlIHRoZSB0cmFpbGluZyBzcGFjZS4gIEl0J3MgZWFzaWVyIGxpa2UKKwl0aGlzOiA+CisJCTpsZXQgJnNob3dicmVhayA9ICcrKysgJyAKKzwJT25seSBwcmludGFibGUgc2luZ2xlLWNlbGwgY2hhcmFjdGVycyBhcmUgYWxsb3dlZCwgZXhjbHVkaW5nIDxUYWI+IGFuZAogCWNvbW1hIChpbiBhIGZ1dHVyZSB2ZXJzaW9uIHRoZSBjb21tYSBtaWdodCBiZSB1c2VkIHRvIHNlcGFyYXRlIHRoZQogCXBhcnQgdGhhdCBpcyBzaG93biBhdCB0aGUgZW5kIGFuZCBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lKS4KIAlUaGUgY2hhcmFjdGVycyBhcmUgaGlnaGxpZ2h0ZWQgYWNjb3JkaW5nIHRvIHRoZSAnQCcgZmxhZyBpbgpAQCAtNTkwNiw3ICs1OTQxLDggQEAKIAlJbiBWaXN1YWwgbW9kZSB0aGUgc2l6ZSBvZiB0aGUgc2VsZWN0ZWQgYXJlYSBpcyBzaG93bjoKIAktIFdoZW4gc2VsZWN0aW5nIGNoYXJhY3RlcnMgd2l0aGluIGEgbGluZSwgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzLgogCS0gV2hlbiBzZWxlY3RpbmcgbW9yZSB0aGFuIG9uZSBsaW5lLCB0aGUgbnVtYmVyIG9mIGxpbmVzLgotCS0gV2hlbiBzZWxlY3RpbmcgYSBibG9jaywgdGhlIHNpemUgaW4gc2NyZWVuIGNoYXJhY3RlcnM6IGxpbmVzeGNvbHVtbnMuCisJLSBXaGVuIHNlbGVjdGluZyBhIGJsb2NrLCB0aGUgc2l6ZSBpbiBzY3JlZW4gY2hhcmFjdGVyczoKKwkgIHtsaW5lc314e2NvbHVtbnN9LgogCU5PVEU6IFRoaXMgb3B0aW9uIGlzIHNldCB0byB0aGUgVmkgZGVmYXVsdCB2YWx1ZSB3aGVuICdjb21wYXRpYmxlJyBpcwogCXNldCBhbmQgdG8gdGhlIFZpbSBkZWZhdWx0IHZhbHVlIHdoZW4gJ2NvbXBhdGlibGUnIGlzIHJlc2V0LgogCkBAIC02NjQxLDggKzY2NzcsOSBAQAogCW9mICcyJyBpbiB0aGUgIiFfVEFHX0ZJTEVfU09SVEVEIiBsaW5lIGZvciB0aGlzLiAgQSB0YWcgZmlsZSBjYW4gYmUKIAljYXNlLWZvbGQgc29ydGVkIHdpdGggdGhlIC1mIHN3aXRjaCB0byAic29ydCIgaW4gbW9zdCB1bmljZXMsIGFzIGluCiAJdGhlIGNvbW1hbmQ6ICJzb3J0IC1mIC1vIHRhZ3MgdGFncyIuICBGb3IgIkV4dWJlcmFudCBjdGFncyIgdmVyc2lvbgotCTUuMyBvciBoaWdoZXIgdGhlIC1mIG9yIC0tZm9sZC1jYXNlLXNvcnQgc3dpdGNoIGNhbiBiZSB1c2VkIGZvciB0aGlzCi0JYXMgd2VsbC4gIE5vdGUgdGhhdCBjYXNlIG11c3QgYmUgZm9sZGVkIHRvIHVwcGVyY2FzZSBmb3IgdGhpcyB0byB3b3JrLgorCTUueCBvciBoaWdoZXIgKGF0IGxlYXN0IDUuNSkgdGhlIC0tc29ydD1mb2xkY2FzZSBzd2l0Y2ggY2FuIGJlIHVzZWQKKwlmb3IgdGhpcyBhcyB3ZWxsLiAgTm90ZSB0aGF0IGNhc2UgbXVzdCBiZSBmb2xkZWQgdG8gdXBwZXJjYXNlIGZvciB0aGlzCisJdG8gd29yay4KIAogCVdoZW4gJ3RhZ2JzZWFyY2gnIGlzIG9mZiwgdGFncyBzZWFyY2hpbmcgaXMgc2xvd2VyIHdoZW4gYSBmdWxsIG1hdGNoCiAJZXhpc3RzLCBidXQgZmFzdGVyIHdoZW4gbm8gZnVsbCBtYXRjaCBleGlzdHMuICBUYWdzIGluIHVuc29ydGVkIHRhZ3MKQEAgLTcyNTIsOSArNzI4OSw5IEBACiAKIAkJCQkqJ3ZpbWluZm8nKiAqJ3ZpJyogKkU1MjYqICpFNTI3KiAqRTUyOCoKICd2aW1pbmZvJyAndmknCQlzdHJpbmcJKFZpIGRlZmF1bHQ6ICIiLCBWaW0gZGVmYXVsdCBmb3IgTVMtRE9TLAotCQkJCSAgIFdpbmRvd3MgYW5kIE9TLzI6ICcyMCw8NTAsczEwLGgsckE6LHJCOiwKLQkJCQkgICBmb3IgQW1pZ2E6ICcyMCw8NTAsczEwLGgscmRmMDoscmRmMToscmRmMjoKLQkJCQkgICBmb3Igb3RoZXJzOiAnMjAsPDUwLHMxMCxoKQorCQkJCSAgIFdpbmRvd3MgYW5kIE9TLzI6ICcxMDAsPDUwLHMxMCxoLHJBOixyQjosCisJCQkJICAgZm9yIEFtaWdhOiAnMTAwLDw1MCxzMTAsaCxyZGYwOixyZGYxOixyZGYyOgorCQkJCSAgIGZvciBvdGhlcnM6ICcxMDAsPDUwLHMxMCxoKQogCQkJZ2xvYmFsCiAJCQl7bm90IGluIFZpfQogCQkJe25vdCBhdmFpbGFibGUgd2hlbiBjb21waWxlZCB3aXRob3V0IHRoZSAgfCt2aW1pbmZvfApAQCAtNzcyNyw2ICs3NzY0LDggQEAKIAkJOnNldCBzaWRlc2Nyb2xsPTUKIAkJOnNldCBsaXN0Y2hhcnMrPXByZWNlZGVzOjwsZXh0ZW5kczo+CiA8CVNlZSAnc2lkZXNjcm9sbCcsICdsaXN0Y2hhcnMnIGFuZCB8d3JhcC1vZmZ8LgorCVRoaXMgb3B0aW9uIGNhbid0IGJlIHNldCBmcm9tIGEgfG1vZGVsaW5lfCB3aGVuIHRoZSAnZGlmZicgb3B0aW9uIGlzCisJb24uCiAKIAkJCQkJCSond3JhcG1hcmdpbicqICond20nKgogJ3dyYXBtYXJnaW4nICd3bScJbnVtYmVyCShkZWZhdWx0IDApCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9vc18zOTAudHh0IGIvcnVudGltZS9kb2Mvb3NfMzkwLnR4dAppbmRleCAwNGNhMTZhLi5mMDYxNjM4IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vc18zOTAudHh0CisrKyBiL3J1bnRpbWUvZG9jL29zXzM5MC50eHQKQEAgLTEsNCArMSw0IEBACi0qb3NfMzkwLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA1IE1hciAyOQorKm9zXzM5MC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBEZWMgMTcKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBSYWxmIFNjaGFuZGwKQEAgLTI4Miw3ICsyODIsNyBAQAogCiA1LjYtMzkwYzoKICAgSSBncmVwcGVkIHRocm91Z2ggdGhlIHNvdXJjZSBhbmQgZXhhbWluZWQgZXZlcnkgc3BvdCB3aXRoIGEgY2hhcmFjdGVyCi0gIGludm9sdmVkIGluIGEgb3BlcmF0aW9uICgrLSkuICBJIGhvcGUgSSBub3cgZm91bmQgYWxsIEVCQ0RJQy9BU0NJSQorICBpbnZvbHZlZCBpbiBhbiBvcGVyYXRpb24gKCstKS4gIEkgaG9wZSBJIG5vdyBmb3VuZCBhbGwgRUJDRElDL0FTQ0lJCiAgIHN0dWZmLCBidXQgLi4uLgogCiAgIEZpeGVkOgpAQCAtMzExLDcgKzMxMSw3IEBACiAJLSBhZGRlZCBzcGVjaWFsIGNvbXBpbGVyIGFuZCBsaW5rZXIgb3B0aW9ucyBpZiBidWlsZGluZyB3aXRoIFgxMQogICAgIC0gY29uZmlndXJlOgogCS0gYWZ0ZXIgY3JlYXRlZCB2aWEgYXV0b2NvbmYgaGFuZC1lZGl0ZWQgaXQgdG8gbWFrZSB0aGUgdGVzdCBmb3IKLQkgIElDRUNvbm5lY3Rpb25OdW1iZXIgd29yay4gIFRoaXMgaXMgYSBhdXRvY29uZiBwcm9ibGVtLiAgT1MvMzkwIFVOSVgKKwkgIElDRUNvbm5lY3Rpb25OdW1iZXIgd29yay4gIFRoaXMgaXMgYW4gYXV0b2NvbmYgcHJvYmxlbS4gIE9TLzM5MCBVTklYCiAJICBuZWVkcyAtbFgxMSBmb3IgdGhpcy4KICAgICAtIE1ha2VmaWxlCiAJLSBEb24ndCBpbmNsdWRlIHRoZSBsaWIgZGlyZWN0b3JpZXMgKCctTC4uLicpIGludG8gdGhlIHZhcmlhYmxlCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9vc192bXMudHh0IGIvcnVudGltZS9kb2Mvb3Nfdm1zLnR4dAppbmRleCAwZDc1OTA2Li4zOWVmY2Y2IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vc192bXMudHh0CisrKyBiL3J1bnRpbWUvZG9jL29zX3Ztcy50eHQKQEAgLTEsNCArMSw0IEBACi0qb3Nfdm1zLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA4IEF1ZyAxOQorKm9zX3Ztcy50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOSBPY3QgMjgKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwKQEAgLTEzOSw5ICsxMzksOSBAQAogCWRlZmluZS9ub2xvZyBWSU1SVU5USU1FIGRldmljZTpbcGF0aC52aW0udmltNjBdCiAJZGVmaW5lL25vbG9nIFRNUAlkZXZpY2U6W3BhdGgudG1wXQogCi10byBnZXQgdmltLmV4ZSB0byBmaW5kIGl0cyBkb2N1bWVudCwgZmlsZXR5cGUsIGFuZCBzeW50YXggZmlsZXMsIGFuZCB0bworVG8gZ2V0IHZpbS5leGUgdG8gZmluZCBpdHMgZG9jdW1lbnQsIGZpbGV0eXBlLCBhbmQgc3ludGF4IGZpbGVzLCBhbmQgdG8KIHNwZWNpZnkgYSBkaXJlY3Rvcnkgd2hlcmUgdGVtcG9yYXJ5IGZpbGVzIHdpbGwgYmUgbG9jYXRlZC4gIENvcHkgdGhlICJydW50aW1lIgotc3ViZGlyZWN0b3J5IG9mIHRoZSB2aW0gZGlzdHJpYnV0aW9uIHRvIHZpbXJ1bnRpbWUuCitzdWJkaXJlY3Rvcnkgb2YgdGhlIFZpbSBkaXN0cmlidXRpb24gdG8gdmltcnVudGltZS4KIAogTG9naWNhbHMgJFZJTVJVTlRJTUUgYW5kICRUTVAgYXJlIG9wdGlvbmFsLgogCkBAIC0yMTcsNyArMjE3LDcgQEAKIAkkIGRlZmluZSBWSU0gIjxzZXJ2ZXJfbmFtZT5bIiJ1c2VyIHBhc3N3b3JkIiJdOjpkZXZpY2U6PHBhdGg+IgogCSQgdmkqbSA6PT0gIm1jciBWSU06VklNLkVYRSIKIAotYXMgZm9yIGV4YW1wbGU6ID4KK0FzIGZvciBleGFtcGxlOiA+CiAKIAkkIGRlZmluZSBWSU0gIlBMVVRPOjpSRjEwOltVVElMLlZJTV0iCiAJJCBkZWZpbmUgVklNICJQTFVUTyIiWkFZIG15cGFzcyIiOjpSRjEwOltVVElMLlZJTV0iICEgaWYgcGFzc3dkIHJlcXVpcmVkCkBAIC0yMzQsNyArMjM0LDcgQEAKIAkkIGRlZmluZS9ub2xvZy9zeXMgVklNIGRldmljZTo8cGF0aD4KIAkkIGRlZmluZS9ub2xvZy9zeXMgVE1QIFNZUyRTQ1JBVENICiAKLWFuZCB0byB0aGUgU1lTJFNUQVJUVVA6U1lMT0dJTi5DT00gPgorQW5kIHRvIHRoZSBTWVMkU1RBUlRVUDpTWUxPR0lOLkNPTSA+CiAKIAkkIHZpKm0gOj09IG1jciBWSU06VklNLkVYRQogCSQgZ3YqaW06PT0gc3Bhd24vbm93YWl0L2lucHV0PU5MQTAgbWNyIFZJTTpWSU0uRVhFIC1nIC1HRU9NRVRSWSA4MHg0MApAQCAtMzk2LDcgKzM5Niw3IEBACiAKIAl2aSAiPHNlcnZlcj4iInVzZXJuYW1lIHBhc3N3ZCIiOjo8ZGV2aWNlPjo8cGF0aD48ZmlsZW5hbWU+Ozx2ZXJzaW9uPiIKIAotZXhhbXBsZTogPgorRXhhbXBsZTogPgogCXZpICJwbHV0byIiemF5IHBhc3N3ZCIiOjpSRjEwOjxVU0VSLlpBWS5XT1JLPlRFU1QuQzsxIgogCiBOb3RlOiBzeW50YXggaXMgdmVyeSBpbXBvcnRhbnQsIG90aGVyd2lzZSBWTVMgd2lsbCByZWNvZ25pemUgbW9yZSBwYXJhbWV0ZXJzCkBAIC00MTgsNyArNDE4LDcgQEAKIAkkIGVuZDoKIAogTm90ZTogTmV2ZXIgdXNlIGl0IGluIGEgY2x1c3RlcmVkIGVudmlyb25tZW50ICh5b3UgZG8gbm90IG5lZWQgaXQpLCBsb2FkaW5nCi1jb3VsZCBiZSB2ZXJ5LXZlcnkgc2xvdywgYnV0IGV2ZW4gZmFzdGVyIHRoZW4gYSBsb2NhbCBFbWFjcy4gOi0pCitjb3VsZCBiZSB2ZXJ5LXZlcnkgc2xvdywgYnV0IGV2ZW4gZmFzdGVyIHRoYW4gYSBsb2NhbCBFbWFjcy4gOi0pCiAKIChab2x0YW4gQXJwYWRmZnksIFZpbSA1LjYpCiAKQEAgLTU3NSwxMiArNTc1LDEyIEBACiAKIDguMTIgZGlmZi1tb2RlCiAKLVZpbSA2LjAgYW5kIGhpZ2hlciBzdXBwb3J0cyB2aW0gZGlmZi1tb2RlIChTZWUgfG5ldy1kaWZmLW1vZGV8LCB8ZGlmZi1tb2RlfAorVmltIDYuMCBhbmQgaGlnaGVyIHN1cHBvcnRzIFZpbSBkaWZmLW1vZGUgKFNlZSB8bmV3LWRpZmYtbW9kZXwsIHxkaWZmLW1vZGV8CiBhbmQgfDA4Ljd8KS4gIFRoaXMgdXNlcyB0aGUgZXh0ZXJuYWwgcHJvZ3JhbSAnZGlmZicgYW5kIGV4cGVjdHMgYSBVbml4LWxpa2UKIG91dHB1dCBmb3JtYXQgZnJvbSBkaWZmLiAgVGhlIHN0YW5kYXJkIFZNUyBkaWZmIGhhcyBhIGRpZmZlcmVudCBvdXRwdXQKLWZvcm1hdC4gIFRvIHVzZSB2aW0gb24gVk1TIGluIGRpZmYtbW9kZSwgeW91IG5lZWQgdG86Citmb3JtYXQuICBUbyB1c2UgVmltIG9uIFZNUyBpbiBkaWZmLW1vZGUsIHlvdSBuZWVkIHRvOgogICAgIDEgSW5zdGFsbCBhIFVuaXgtbGlrZSBkaWZmIHByb2dyYW0sIGUuZy4gR05VIGRpZmYKLSAgICAyIFRlbGwgdmltIHRvIHVzZSB0aGUgVW5peC1saWtlIGRpZmYgZm9yIGRpZmYtbW9kZS4KKyAgICAyIFRlbGwgVmltIHRvIHVzZSB0aGUgVW5peC1saWtlIGRpZmYgZm9yIGRpZmYtbW9kZS4KIAogWW91IGNhbiBkb3dubG9hZCBHTlUgZGlmZiBmcm9tIHRoZSBWSU0tVk1TIHdlYnNpdGUsIGl0IGlzIG9uZSBvZiB0aGUgR05VCiB0b29scyBpbiBodHRwOi8vd3d3LnBvbGFyaG9tZS5jb20vdmltL2ZpbGVzL2dudV90b29scy56aXAuICBJIHN1Z2dlc3QgdG8KQEAgLTU5NCw3ICs1OTQsNyBAQAogCiAgICBHRElGRiA6PT0gICAgICRHTlU6RElGRi5FWEUKIAotTm93IHlvdSBuZWVkIHRvIHRlbGwgdmltIHRvIHVzZSB0aGUgbmV3IGRpZmYgcHJvZ3JhbS4gIFRha2UgdGhlIGV4YW1wbGUKK05vdyB5b3UgbmVlZCB0byB0ZWxsIFZpbSB0byB1c2UgdGhlIG5ldyBkaWZmIHByb2dyYW0uICBUYWtlIHRoZSBleGFtcGxlCiBzZXR0aW5ncyBmcm9tIHxkaWZmLWRpZmZleHByfCBhbmQgY2hhbmdlIHRoZSBjYWxsIHRvIHRoZSBleHRlcm5hbCBkaWZmCiBwcm9ncmFtIHRvIHRoZSBuZXcgZGlmZiBvbiBWTVMuICBBZGQgdGhpcyB0byB5b3VyIC52aW1yYyBmaWxlOiA+CiAKQEAgLTYxNSw3ICs2MTUsNyBAQAogCWVuZGZ1bmN0aW9uCiAgICAgICBlbmRpZgogCi1Zb3UgY2FuIG5vdyB1c2UgdmltIGluIGRpZmYtbW9kZSwgZS5nLiB0byBjb21wYXJlIHR3byBmaWxlcyBpbiByZWFkLW9ubHkKK1lvdSBjYW4gbm93IHVzZSBWaW0gaW4gZGlmZi1tb2RlLCBlLmcuIHRvIGNvbXBhcmUgdHdvIGZpbGVzIGluIHJlYWQtb25seQogbW9kZTogPgogCiAgICAgJCBWSU0gLUQvUiA8RklMRTE+IDxGSUxFMj4KQEAgLTYzOCw3ICs2MzgsNyBAQAogOC4xMyBBbGxvdyAnJCcgaW4gQyBrZXl3b3JkcwogCiBERUMgQyB1c2VzIG1hbnkgaWRlbnRpZmllcnMgd2l0aCAnJCcgaW4gdGhlbS4gIFRoaXMgaXMgbm90IGFsbG93ZWQgaW4gQU5TSSBDLAotYW5kIHZpbSByZWNvZ25pc2VzIHRoZSAnJCcgYXMgdGhlIGVuZCBvZiB0aGUgaWRlbnRpZmllci4gIFlvdSBjYW4gY2hhbmdlIHRoaXMKK2FuZCBWaW0gcmVjb2duaXNlcyB0aGUgJyQnIGFzIHRoZSBlbmQgb2YgdGhlIGlkZW50aWZpZXIuICBZb3UgY2FuIGNoYW5nZSB0aGlzCiB3aXRoIHRoZSB8aXNrZXl3b3JkfGNvbW1hbmQuCiBBZGQgdGhpcyBjb21tYW5kIHRvIHlvdXIgLnZpbXJjIGZpbGU6ID4KIApAQCAtNjY3LDcgKzY2Nyw3IEBACiAKIDguMTQgU2xvdyBzdGFydCBpbiBjb25zb2xlIG1vZGUgaXNzdWUKIAotQXMgR1VJL0dUSyBWaW0gd29ya3MgZXF1YWxseSB3ZWxsIGluIGNvbnNvbGUgbW9kZSwgbWFueSBhZG1pbmlzdGFydG9ycworQXMgR1VJL0dUSyBWaW0gd29ya3MgZXF1YWxseSB3ZWxsIGluIGNvbnNvbGUgbW9kZSwgbWFueSBhZG1pbmlzdHJhdG9ycwogZGVwbG95IHRob3NlIGV4ZWN1dGFibGVzIHN5c3RlbSB3aWRlLgogVW5mb3J0dW5hdGVseSwgb24gYSByZW1vdGUgc2xvdyBjb25uZWN0aW9ucyBHVUkvR1RLIGV4ZWN1dGFibGVzIGJlaGF2ZSByYXRoZXIKIHNsb3cgd2hlbiB1c2VyIHdhbnRzIHRvIHJ1biBWaW0ganVzdCBpbiB0aGUgY29uc29sZSBtb2RlIC0gYmVjYXVzZSBvZiBYIGVudmlyb25tZW50IGRldGVjdGlvbiB0aW1lb3V0LgpAQCAtNjgwLDcgKzY4MCw3IEBACiAgICAgfC0tLS0tIHN5bnRheCAgICAgICAgCiAgICAgICAgdmltcmMgICAgKHN5c3RlbSByYyBmaWxlcykKICAgICAgICBndmltcmMKLSAgICAgICBndmltLmV4ZSAodGhlIHJlbWFuZWQgR1VJIG9yIEdUSyBidWlsdCB2aW0uZXhlKSAgICAgIAorICAgICAgIGd2aW0uZXhlICh0aGUgcmVuYW1lZCBHVUkgb3IgR1RLIGJ1aWx0IHZpbS5leGUpICAgICAgCiAgICAgICAgdmltLmV4ZSAgKHRoZSBjb25zb2xlIG9ubHkgZXhlY3V0YWJsZSkgCiAKIERlZmluZSBzeXN0ZW0gc3ltYm9scyBsaWtlIGJlbG93IGluIGZvciBleCBpbiBMT0dJTi5DT00gb3IgU1lMT0dJTi5DT006ID4KQEAgLTcxMywxMSArNzEzLDExIEBACiCmIE9ESU4gICCmIFZNUyBWNy4zLTIgICCmIE1FTUJFUiAgpgogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIAotSXQgaXMgY29udmluaWVudCB0byBoYXZlIGEgY29tbW9uIFZJTSBkaXJlY3RvcnkgYnV0IGV4ZWN1dGUgZGlmZmVyZW50CitJdCBpcyBjb252ZW5pZW50IHRvIGhhdmUgYSBjb21tb24gVklNIGRpcmVjdG9yeSBidXQgZXhlY3V0ZSBkaWZmZXJlbnQKIGV4ZWN1dGFibGVzLiAKIFRoZXJlIGFyZSBtb3JlIHNvbHV0aW9ucyBmb3IgdGhpcyBwcm9ibGVtOgogCi1zb2x1dGlvbiAxLiBhbGwgZXhlY3V0YWJsZXMgaW4gdGhlIHNhbWUgZGlyZWN0b3J5IHdpdGggZGlmZmVyZW50IG5hbWVzCitTb2x1dGlvbiAxLiAgQWxsIGV4ZWN1dGFibGVzIGluIHRoZSBzYW1lIGRpcmVjdG9yeSB3aXRoIGRpZmZlcmVudCBuYW1lcwogVGhpcyBpcyBlYXNpbHkgZG9uZSB3aXRoIHRoZSBmb2xsb3dpbmcgc2NyaXB0IHRoYXQgY2FuIGJlIGFkZGVkCiB0byB0aGUgbG9naW4uY29tIG9yIHN5bG9naW4uY29tOiA+CiAKQEAgLTczNyw3ICs3MzcsNyBAQAogCSQgICAgICB2aSptIDo9PSBtY3IgdmltOlZJTS5FWEVfSUE2NAogCSQgZW5kaWYKIAotc29sdXRpb24gMi4gZGlmZmVyZW50IGRpcmVjdG9yaWVzOiA+CitTb2x1dGlvbiAyLiAgRGlmZmVyZW50IGRpcmVjdG9yaWVzOiA+CiAKIAkkIGlmIGYkZ2V0c3lpKCJOT0RFX0hXVFlQRSIpIC5lcXMuICJWQVgiCiAJJCB0aGVuCkBAIC03NTcsOCArNzU3LDggQEAKICAgICAgICAgJCEgVklNUlVOVElNRSBtdXN0IGJlIGRlZmluZWQgaW4gb3JkZXIgdG8gZmluZCBydW50aW1lIGZpbGVzCiAJJCBkZWZpbmUvbm9sb2cgVklNUlVOVElNRSBSRjEwOltVVElMLlZJTTcyXQogCi1BIGdvb2QgZXhhbWxlIGZvciB0aGlzIGFwcHJvYWNoIGlzIHRoZSBbR05VXWdudV90b29scy5jb20gc2NyaXB0IGZyb20gR05VX1RPT0xTLlpJUAotcGFja2FnZSBkb3dubG9hZGFibGUgZnJvbSBodHRwOi8vd3d3LnBvbGFyaG9tZS5jb20vdmltLworQSBnb29kIGV4YW1wbGUgZm9yIHRoaXMgYXBwcm9hY2ggaXMgdGhlIFtHTlVdZ251X3Rvb2xzLmNvbSBzY3JpcHQgZnJvbQorR05VX1RPT0xTLlpJUCBwYWNrYWdlIGRvd25sb2FkYWJsZSBmcm9tIGh0dHA6Ly93d3cucG9sYXJob21lLmNvbS92aW0vCiAKIChab2x0YW4gQXJwYWRmZnksIFZpbSA3LjIpCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3BhdHRlcm4udHh0IGIvcnVudGltZS9kb2MvcGF0dGVybi50eHQKaW5kZXggNzdhNDUwNS4uNTYzNDFjOSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcGF0dGVybi50eHQKKysrIGIvcnVudGltZS9kb2MvcGF0dGVybi50eHQKQEAgLTEsNCArMSw0IEBACi0qcGF0dGVybi50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1bCAxNgorKnBhdHRlcm4udHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBOb3YgMTgKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTMyLDEyICszMiwxMyBAQAogCQkJfGxpbmV3aXNlfC4KIAogCQkJCQkJCSovPENSPioKLS88Q1I+CQkJU2VhcmNoIGZvcndhcmQgZm9yIHRoZSBbY291bnRdJ3RoIGxhdGVzdCB1c2VkCi0JCQlwYXR0ZXJuIHxsYXN0LXBhdHRlcm58IHdpdGggbGF0ZXN0IHVzZWQgfHtvZmZzZXR9fC4KKy88Q1I+CQkJU2VhcmNoIGZvcndhcmQgZm9yIHRoZSBbY291bnRdJ3RoIG9jY3VycmVuY2Ugb2YgdGhlCisJCQlsYXRlc3QgdXNlZCBwYXR0ZXJuIHxsYXN0LXBhdHRlcm58IHdpdGggbGF0ZXN0IHVzZWQKKwkJCXx7b2Zmc2V0fXwuCiAKLS8ve29mZnNldH08Q1I+CQlTZWFyY2ggZm9yd2FyZCBmb3IgdGhlIFtjb3VudF0ndGggbGF0ZXN0IHVzZWQKLQkJCXBhdHRlcm4gfGxhc3QtcGF0dGVybnwgd2l0aCBuZXcgfHtvZmZzZXR9fC4gIElmCi0JCQl7b2Zmc2V0fSBpcyBlbXB0eSBubyBvZmZzZXQgaXMgdXNlZC4KKy8ve29mZnNldH08Q1I+CQlTZWFyY2ggZm9yd2FyZCBmb3IgdGhlIFtjb3VudF0ndGggb2NjdXJyZW5jZSBvZiB0aGUKKwkJCWxhdGVzdCB1c2VkIHBhdHRlcm4gfGxhc3QtcGF0dGVybnwgd2l0aCBuZXcKKwkJCXx7b2Zmc2V0fXwuICBJZiB7b2Zmc2V0fSBpcyBlbXB0eSBubyBvZmZzZXQgaXMgdXNlZC4KIAogCQkJCQkJCSo/KgogP3twYXR0ZXJufVs/XTxDUj4JU2VhcmNoIGJhY2t3YXJkIGZvciB0aGUgW2NvdW50XSd0aCBwcmV2aW91cwpAQCAtNDgsMTIgKzQ5LDEzIEBACiAJCQlkb3duIHxsaW5ld2lzZXwuCiAKIAkJCQkJCQkqPzxDUj4qCi0/PENSPgkJCVNlYXJjaCBiYWNrd2FyZCBmb3IgdGhlIFtjb3VudF0ndGggbGF0ZXN0IHVzZWQKLQkJCXBhdHRlcm4gfGxhc3QtcGF0dGVybnwgd2l0aCBsYXRlc3QgdXNlZCB8e29mZnNldH18LgorPzxDUj4JCQlTZWFyY2ggYmFja3dhcmQgZm9yIHRoZSBbY291bnRdJ3RoIG9jY3VycmVuY2Ugb2YgdGhlCisJCQlsYXRlc3QgdXNlZCBwYXR0ZXJuIHxsYXN0LXBhdHRlcm58IHdpdGggbGF0ZXN0IHVzZWQKKwkJCXx7b2Zmc2V0fXwuCiAKLT8/e29mZnNldH08Q1I+CQlTZWFyY2ggYmFja3dhcmQgZm9yIHRoZSBbY291bnRdJ3RoIGxhdGVzdCB1c2VkCi0JCQlwYXR0ZXJuIHxsYXN0LXBhdHRlcm58IHdpdGggbmV3IHx7b2Zmc2V0fXwuICBJZgotCQkJe29mZnNldH0gaXMgZW1wdHkgbm8gb2Zmc2V0IGlzIHVzZWQuCis/P3tvZmZzZXR9PENSPgkJU2VhcmNoIGJhY2t3YXJkIGZvciB0aGUgW2NvdW50XSd0aCBvY2N1cnJlbmNlIG9mIHRoZQorCQkJbGF0ZXN0IHVzZWQgcGF0dGVybiB8bGFzdC1wYXR0ZXJufCB3aXRoIG5ldworCQkJfHtvZmZzZXR9fC4gIElmIHtvZmZzZXR9IGlzIGVtcHR5IG5vIG9mZnNldCBpcyB1c2VkLgogCiAJCQkJCQkJKm4qCiBuCQkJUmVwZWF0IHRoZSBsYXRlc3QgIi8iIG9yICI/IiBbY291bnRdIHRpbWVzLgpAQCAtNTA3LDcgKzUwOSw3IEBACiB8L1xafAlcWglcWglpZ25vcmUgZGlmZmVyZW5jZXMgaW4gVW5pY29kZSAiY29tYmluaW5nIGNoYXJhY3RlcnMiLgogCQkJVXNlZnVsIHdoZW4gc2VhcmNoaW5nIHZvd2VsZWQgSGVicmV3IG9yIEFyYWJpYyB0ZXh0LgogCi18L1wlZHwJXCVkCVwlZAltYXRjaCBzcGVjaWZpZWQgZGVjaW1hbCBjaGFyYWN0ZXIgKGVnIFwlZDEyMworfC9cJWR8CVwlZAlcJWQJbWF0Y2ggc3BlY2lmaWVkIGRlY2ltYWwgY2hhcmFjdGVyIChlZyBcJWQxMjMpCiB8L1wleHwJXCV4CVwleAltYXRjaCBzcGVjaWZpZWQgaGV4IGNoYXJhY3RlciAoZWcgXCV4MmEpCiB8L1wlb3wJXCVvCVwlbwltYXRjaCBzcGVjaWZpZWQgb2N0YWwgY2hhcmFjdGVyIChlZyBcJW8wNDApCiB8L1wldXwJXCV1CVwldQltYXRjaCBzcGVjaWZpZWQgbXVsdGlieXRlIGNoYXJhY3RlciAoZWcgXCV1MjBhYykKQEAgLTc5NCw3ICs3OTYsMTEgQEAKIAkJCQkJCSovXCVWKgogXCVWCU1hdGNoIGluc2lkZSB0aGUgVmlzdWFsIGFyZWEuICBXaGVuIFZpc3VhbCBtb2RlIGhhcyBhbHJlYWR5IGJlZW4KIAlzdG9wcGVkIG1hdGNoIGluIHRoZSBhcmVhIHRoYXQgfGd2fCB3b3VsZCByZXNlbGVjdC4KLQlPbmx5IHdvcmtzIGZvciB0aGUgY3VycmVudCBidWZmZXIuCisJVGhpcyBpcyBhIHwvemVyby13aWR0aHwgbWF0Y2guICBUbyBtYWtlIHN1cmUgdGhlIHdob2xlIHBhdHRlcm4gaXMKKwlpbnNpZGUgdGhlIFZpc3VhbCBhcmVhIHB1dCBpdCBhdCB0aGUgc3RhcnQgYW5kIGVuZCBvZiB0aGUgcGF0dGVybiwKKwllLmcuOiA+CisJCS9cJVZmb28uKmJhclwlVgorPAlPbmx5IHdvcmtzIGZvciB0aGUgY3VycmVudCBidWZmZXIuCiAKIAkJCQkJCSovXCUjKiAqY3Vyc29yLXBvc2l0aW9uKgogXCUjCU1hdGNoZXMgd2l0aCB0aGUgY3Vyc29yIHBvc2l0aW9uLiAgT25seSB3b3JrcyB3aGVuIG1hdGNoaW5nIGluIGEKQEAgLTg3NywxMCArODgzLDEzIEBACiAJdGhpcyB3aWxsIGNsZWFybHkgc2hvdyB3aGVuIHRoZSBtYXRjaCBpcyB1cGRhdGVkIG9yIG5vdC4KIAlUbyBtYXRjaCB0aGUgdGV4dCB1cCB0byBjb2x1bW4gMTc6ID4KIAkJLy4qXCUxN3YKLTwJQ29sdW1uIDE3IGlzIG5vdCBpbmNsdWRlZCwgYmVjYXVzZSB0aGF0J3Mgd2hlcmUgdGhlICJcJTE3diIgbWF0Y2hlcywKLQlhbmQgc2luY2UgdGhpcyBpcyBhIHwvemVyby13aWR0aHwgbWF0Y2gsIGNvbHVtbiAxNyBpc24ndCBpbmNsdWRlZCBpbgotCXRoZSBtYXRjaC4gIFRoaXMgZG9lcyB0aGUgc2FtZTogPgotCQkvLipcJTwxOHYKKzwJQ29sdW1uIDE3IGlzIGluY2x1ZGVkLCBiZWNhdXNlIHRoYXQncyB3aGVyZSB0aGUgIlwlMTd2IiBtYXRjaGVzLAorCWV2ZW4gdGhvdWdoIHRoaXMgaXMgYSB8L3plcm8td2lkdGh8IG1hdGNoLiAgQWRkaW5nIGEgZG90IHRvIG1hdGNoIHRoZQorCW5leHQgY2hhcmFjdGVyIGhhcyB0aGUgc2FtZSByZXN1bHQ6ID4KKwkJLy4qXCUxN3YuCis8CVRoaXMgY29tbWFuZCBkb2VzIHRoZSBzYW1lIHRoaW5nLCBidXQgYWxzbyBtYXRjaGVzIHdoZW4gdGhlcmUgaXMgbm8KKwljaGFyYWN0ZXIgaW4gY29sdW1uIDE3OiA+CisJCS8uKlwlPDE4di4KIDwKIAogQ2hhcmFjdGVyIGNsYXNzZXM6IHtub3QgaW4gVml9CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9waV9nZXRzY3JpcHQudHh0IGIvcnVudGltZS9kb2MvcGlfZ2V0c2NyaXB0LnR4dAppbmRleCAzYWMxNTY5Li4xZWE2N2MyIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9waV9nZXRzY3JpcHQudHh0CisrKyBiL3J1bnRpbWUvZG9jL3BpX2dldHNjcmlwdC50eHQKQEAgLTEsMTEgKzEsMTEgQEAKLSpwaV9nZXRzY3JpcHQudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyOQorKnBpX2dldHNjcmlwdC50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wLiAgTGFzdCBjaGFuZ2U6IDIwMDkgT2N0IDE0CiA+CiAJCUdFVFNDUklQVCBSRUZFUkVOQ0UgTUFOVUFMICBieSBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4KIDwKIEF1dGhvcnM6ICBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4gIDxOZHJPY2hpcEBTY2FtcGJlbGxQZmFtaWx5QS5NYml6PgogCSAgKHJlbW92ZSBOT1NQQU0gZnJvbSB0aGUgZW1haWwgYWRkcmVzcykKIAkJCQkJCSpHZXRMYXRlc3RWaW1TY3JpcHRzLWNvcHlyaWdodCoKLUNvcHlyaWdodDogKGMpIDIwMDQtMjAwNiBieSBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4JKmdsdnMtY29weXJpZ2h0KgorQ29weXJpZ2h0OiAoYykgMjAwNC0yMDA5IGJ5IENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLgkqZ2x2cy1jb3B5cmlnaHQqCiAgICAgICAgICAgIFRoZSBWSU0gTElDRU5TRSBhcHBsaWVzIHRvIGdldHNjcmlwdC52aW0gYW5kCiAgICAgICAgICAgIHBpX2dldHNjcmlwdC50eHQgKHNlZSB8Y29weXJpZ2h0fCkgZXhjZXB0IHVzZQogICAgICAgICAgICAiZ2V0c2NyaXB0IiBpbnN0ZWFkIG9mICJWaW0iLiAgTm8gd2FycmFudHksIGV4cHJlc3Mgb3IgaW1wbGllZC4KQEAgLTUxLDcgKzUxLDcgQEAKIG93biBwZXJzb25hbCBsaXN0LiAgRmVlbCBmcmVlIHRvIHJlbW92ZSBhbGwgdGhlIHNjcmlwdHMgbWVudGlvbmVkIHdpdGhpbiBpdDsKIHRoZSAiaW1wb3J0YW50IiBwYXJ0IG9mIGl0IGlzIHRoZSBmaXJzdCB0d28gbGluZXMuCiAKLVlvdXIgY29tcHV0ZXIgbmVlZHMgdG8gaGF2ZSB3Z2V0IGZvciBHZXRMYXRlc3RWaW1TY3JpcHRzIHRvIGRvIGl0cyB3b3JrLgorWW91ciBjb21wdXRlciBuZWVkcyB0byBoYXZlIHdnZXQgb3IgY3VybCBmb3IgR2V0TGF0ZXN0VmltU2NyaXB0cyB0byBkbyBpdHMgd29yay4KIAogCTEuIGlmIGNvbXByZXNzZWQ6ICBndW56aXAgZ2V0c2NyaXB0LnZiYS5negogCTIuIFVuaXg6CkBAIC03Niw3ICs3Niw3IEBACiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDMuIEdldExhdGVzdFZpbVNjcmlwdHMgVXNhZ2UJCQkJKmdsdnMtdXNhZ2UqICo6R0xWUyoKIAotVW5sZXNzIGl0cyBiZWVuIGRlZmluZWQgZWxzZXdoZXJlLCA+CitVbmxlc3MgaXQgaGFzIGJlZW4gZGVmaW5lZCBlbHNld2hlcmUsID4KIAk6R0xWUwogd2lsbCBpbnZva2UgR2V0TGF0ZXN0VmltU2NyaXB0cygpLiAgSWYgc29tZSBvdGhlciBwbHVnaW4gaGFzIGRlZmluZWQgdGhhdAogY29tbWFuZCwgdGhlbiB5b3UgbWF5IHR5cGUKQEAgLTEzNiw3ICsxMzYsNyBAQAogb3V0LW9mLWRhdGUuCiAKIFRoZSBTb3VyY2VJRCBpcyBleHRyYWN0ZWQgYnkgR2V0TGF0ZXN0VmltU2NyaXB0cyBmcm9tIHRoZSBzY3JpcHQncyBwYWdlIG9uCi12aW0uc2YubmV0OyB3aGVuZXZlciBpdHMgZ3JlYXRlciB0aGFuIHRoZSBvbmUgc3RvcmVkIGluIHRoZQordmltLnNmLm5ldDsgd2hlbmV2ZXIgaXQgaXMgZ3JlYXRlciB0aGFuIHRoZSBvbmUgc3RvcmVkIGluIHRoZQogR2V0TGF0ZXN0VmltU2NyaXB0cy5kYXQgZmlsZSwgdGhlIHNjcmlwdCB3aWxsIGJlIGRvd25sb2FkZWQKIChzZWUgfEdldExhdGVzdFZpbVNjcmlwdHNfZGF0fCkuCiAKQEAgLTE3Niw2ICsxNzYsOCBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiA1LiBHZXRMYXRlc3RWaW1TY3JpcHRzIEZyaWVuZGx5IFBsdWdpbnMJKmdldHNjcmlwdC1wbHVnaW5zKiAqZ2x2cy1wbHVnaW5zKgogCisJCSh0aGlzIHNlY3Rpb24gaXMgZm9yIHBsdWdpbiBhdXRob3JzKX4KKwogSWYgYSBwbHVnaW4gYXV0aG9yIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgY29tbWVudCBhbnl3aGVyZSBpbiB0aGVpciBwbHVnaW4sCiBHZXRMYXRlc3RWaW1TY3JpcHRzIHdpbGwgZmluZCBpdCBhbmQgdXNlIGl0IHRvIGF1dG9tYXRpY2FsbHkgYnVpbGQgdGhlIHVzZXIncwogR2V0TGF0ZXN0VmltU2NyaXB0cy5kYXQgZmlsZXM6CkBAIC0xOTEsMTEgKzE5MywyMCBAQAogU2FtZSBmb3JtYXQsIG9mIGNvdXJzZSEKIAogSWYgeW91ciBjb21tYW5kIGlzIGF1dG8taW5zdGFsbGFibGUgKHNlZSB8Z2x2cy1hdXRvaW5zdGFsbHwpLCBhbmQgbW9zdCBzY3JpcHRzCi1hcmUsIHRoZW4geW91IG1heSBpbmNsdWRlIDpBdXRvSW5zdGFsbDogYXQgdGhlIHN0YXJ0IG9mICJ5b3Vyc2NyaXB0bmFtZSIuCithcmUsIHRoZW4geW91IG1heSBpbmNsdWRlIDpBdXRvSW5zdGFsbDoganVzdCBiZWZvcmUgInlvdXJzY3JpcHRuYW1lIjoKKz4KKwkgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX2lkCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYKKwkiIEdldExhdGVzdFZpbVNjcmlwdHM6ICMjIyAjIyMgOkF1dG9JbnN0YWxsOiB5b3Vyc2NyaXB0bmFtZQorCSAgICAgICAgICAgICAgICAgICAgICAgIF4KKwkgICAgICAgICAgICAgICAgICAgIHNjcmlwdGlkCis8CitOT1RFOiA6QXV0b0luc3RhbGw6IGlzIGEgcGx1Z2luLWF1dGhvciBvcHRpb24sIG5vdCBhIEdldExhdGVzdFZpbVNjcmlwdHMuZGF0fgorICAgICAgZW50cnkhfgogCiBHZXRMYXRlc3RWaW1TY3JpcHRzIGNvbW1hbmRzIGZvciB0aG9zZSBzY3JpcHRzIGFyZSB0aGVuIGFwcGVuZGVkLCBpZiBub3QKLWFscmVhZHkgcHJlc2VudCwgdG8gdGhlIHVzZXIncyBHZXRMYXRlc3QvR2V0TGF0ZXN0VmltU2NyaXB0cy5kYXQgZmlsZS4gIEl0cyBhCi1yZWxhdGl2ZWx5IHBhaW5sZXNzIHdheSB0byBhdXRvbWF0ZSB0aGUgYWNxdWlzaXRpb24gb2YgYW55IHNjcmlwdHMgeW91cgorYWxyZWFkeSBwcmVzZW50LCB0byB0aGUgdXNlcidzIEdldExhdGVzdC9HZXRMYXRlc3RWaW1TY3JpcHRzLmRhdCBmaWxlLiAgSXQgaXMKK2EgcmVsYXRpdmVseSBwYWlubGVzcyB3YXkgdG8gYXV0b21hdGUgdGhlIGFjcXVpc2l0aW9uIG9mIGFueSBzY3JpcHRzIHlvdXIKIHBsdWdpbnMgZGVwZW5kIHVwb24uCiAKIE5vdywgYXMgYW4gYXV0aG9yLCB5b3UgcHJvYmFibHkgZG9uJ3Qgd2FudCBHZXRMYXRlc3RWaW1TY3JpcHRzIHRvIGRvd25sb2FkCkBAIC0yOTAsMTQgKzMwMSwxOSBAQAogCQlUaGlzIHZhcmlhYmxlIGhvbGRzIHRoZSBvcHRpb25zIHRvIGJlIHVzZWQgd2l0aCB0aGUKIAkJZzpHZXRMYXRlc3RWaW1TY3JpcHRzX3dnZXQgY29tbWFuZC4KID4KLSAJZzpnZXRMYXRlc3RWaW1TY3JpcHRzX2FsbG93YXV0b2luc3RhbGwKKyAJZzpHZXRMYXRlc3RWaW1TY3JpcHRzX2FsbG93YXV0b2luc3RhbGwKIDwJZGVmYXVsdD0gMQogCQlUaGlzIHZhcmlhYmxlIGluZGljYXRlcyB3aGV0aGVyIEdldExhdGVzdFZpbVNjcmlwdHMgaXMgYWxsb3dlZAotCQl0byBhdHRlbXB0IHRvIGF1dG9tYXRpY2FsbHkgaW5zdGFsbCBzY3JpcHRzLiAgTm90ZSB0aGF0IGl0Ci0JCWRvZXNuJ3QgdW5kZXJzdGFuZCB2aW1iYWxscyAoeWV0KS4gIEZ1cnRoZXJtb3JlLCB0aGUgcGx1Z2luCi0JCWF1dGhvciBoYXMgdG8gaGF2ZSBleHBsaWNpdGx5IGluZGljYXRlZCB0aGF0IGhpcy9oZXIgcGx1Z2luCi0JCWlzIGF1dG9tYXRpY2FsbHkgaW5zdGFsbGFibGUuCi0KKwkJdG8gYXR0ZW1wdCB0byBhdXRvbWF0aWNhbGx5IGluc3RhbGwgc2NyaXB0cy4gIEZ1cnRoZXJtb3JlLCB0aGUKKwkJcGx1Z2luIGF1dGhvciBoYXMgdG8gaGF2ZSBleHBsaWNpdGx5IGluZGljYXRlZCB0aGF0IGhpcy9oZXIKKwkJcGx1Z2luIGlzIGF1dG9tYXRpY2FsbHkgaW5zdGFsbGFibGUgKHZpYSB0aGUgOkF1dG9JbnN0YWxsOgorCQlrZXl3b3JkIGluIHRoZSBHZXRMYXRlc3RWaW1TY3JpcHRzIGNvbW1lbnQgbGluZSkuCis+CisJZzpHZXRMYXRlc3RWaW1TY3JpcHRzX2F1dG9pbnN0YWxsZGlyCis8CWRlZmF1bHQ9ICRIT01FLy52aW0gICAgIChsaW51eCkKKwlkZWZhdWx0PSAkSE9NRS92aW1maWxlcyAod2luZG93cykKKwkJT3ZlcnJpZGUgd2hlcmUgOkF1dG9JbnN0YWxsOiBzY3JpcHRzIHdpbGwgYmUgaW5zdGFsbGVkLgorCQlEb2Vzbid0IG92ZXJyaWRlIHZpbWJhbGwgaW5zdGFsbGF0aW9uLgogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDguIEdldExhdGVzdFZpbVNjcmlwdHMgQWxnb3JpdGhtCQkqZ2x2cy1hbGdvcml0aG0qICpnbHZzLWFsZyoKQEAgLTMzNiw4ICszNTIsMTAgQEAKIDkuIEdldExhdGVzdFZpbVNjcmlwdHMgSGlzdG9yeQkJKmdldHNjcmlwdC1oaXN0b3J5KiAqZ2x2cy1oaXN0KiB7e3sxCiAKIHYzMSBKdW4gMjksIDIwMDggOiAqIChCaWxsIE1jQ2FydGh5KSBmaXhlZCBoYXZpbmcgaGxzIGVuYWJsZWQgd2l0aCBnZXRzY3JpcHQKKwkJICAgKiAoRGF2aWQgU2NoYWVmZXIpIHRoZSBhY2Qgb3B0aW9uIGludGVyZmVyZXMgd2l0aCB2aW1iYWxscworCQkgICAgIFNvbHV0aW9uOiBieXBhc3MgdGhlIGFjZCBvcHRpb24KIHYzMCBKdW4gMTMsIDIwMDggOiAqIEdMVlMgbm93IGNoZWNrcyBmb3IgZXhpc3RlbmNlIG9mIGZuYW1lZXNjYXBlKCkgYW5kIHdpbGwKLQkJICAgICBpc3N1ZSBhbiBlcnJvciBtZXNzYWdlIGlmIGl0cyBub3Qgc3VwcG9ydGVkCisJCSAgICAgaXNzdWUgYW4gZXJyb3IgbWVzc2FnZSBpZiBpdCBpcyBub3Qgc3VwcG9ydGVkCiB2MjkgSmFuIDA3LCAyMDA4IDogKiBCcmFtIE0gcG9pbnRlZCBvdXQgdGhhdCBjcG8gaXMgYSBnbG9iYWwgb3B0aW9uIGFuZCB0aGF0CiAgICAgICAgICAgICAgICAgICAgICBnZXRzY3JpcHRQbHVnaW4udmltIHdhcyBzZXR0aW5nIGl0IGJ1dCBub3QgcmVzdG9yaW5nIGl0LgogdjI4IEphbiAwMiwgMjAwOCA6ICogaW1wcm92ZWQgc2hlbGwgcXVvdGluZyBjaGFyYWN0ZXIgaGFuZGxpbmcsIGN5Z3dpbgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcGlfbmV0cncudHh0IGIvcnVudGltZS9kb2MvcGlfbmV0cncudHh0CmluZGV4IGFlZmU5ODcuLjc2MzVhZjIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3BpX25ldHJ3LnR4dAorKysgYi9ydW50aW1lL2RvYy9waV9uZXRydy50eHQKQEAgLTEsOCArMSwyMiBAQAotKnBpX25ldHJ3LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBBdWcgMDgKKypwaV9uZXRydy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgRGVjIDI4CiAKIAkgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAkgICAgTkVUUlcgUkVGRVJFTkNFIE1BTlVBTCAgICBieSBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4KIAkgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0F1dGhvcjogIENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLiAgPE5kck9jaGlwQFNjYW1wYmVsbFBmYW1pbHkuQWJpek0+CisJICAocmVtb3ZlIE5PU1BBTSBmcm9tIENhbXBiZWxsJ3MgZW1haWwgZmlyc3QpCisKK0NvcHlyaWdodDogQ29weXJpZ2h0IChDKSAyMDA5IENoYXJsZXMgRSBDYW1wYmVsbCwgSnIJKm5ldHJ3LWNvcHlyaWdodCoKKwkgICBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIHRvIHVzZSBhbmQgZGlzdHJpYnV0ZSB0aGlzIGNvZGUsIHdpdGgKKwkgICBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIHByb3ZpZGVkIHRoYXQgdGhpcyBjb3B5cmlnaHQgbm90aWNlIGlzCisJICAgY29waWVkIHdpdGggaXQuIExpa2UgYW55dGhpbmcgZWxzZSB0aGF0J3MgZnJlZSwgbmV0cncudmltLAorCSAgIG5ldHJ3UGx1Z2luLnZpbSwgbmV0cndGaWxlSGFuZGxlcnMudmltLCBuZXRyd1NldHRpbmdzLnZpbSwKKwkgICBzeW50YXgvbmV0cncudmltLCBhbmQgcGlfbmV0cncudHh0IGFyZSBwcm92aWRlZCAqYXMgaXMqIGFuZCBjb21lcworCSAgIHdpdGggbm8gd2FycmFudHkgb2YgYW55IGtpbmQsIGVpdGhlciBleHByZXNzZWQgb3IgaW1wbGllZC4gIE5vCisJICAgZ3VhcmFudGVlcyBvZiBtZXJjaGFudGFiaWxpdHkuICBObyBndWFyYW50ZWVzIG9mIHN1aXRhYmlsaXR5IGZvcgorCSAgIGFueSBwdXJwb3NlLiAgQnkgdXNpbmcgdGhpcyBwbHVnaW4sIHlvdSBhZ3JlZSB0aGF0IGluIG5vIGV2ZW50IHdpbGwKKwkgICB0aGUgY29weXJpZ2h0IGhvbGRlciBiZSBsaWFibGUgZm9yIGFueSBkYW1hZ2VzIHJlc3VsdGluZyBmcm9tIHRoZQorCSAgIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogCiAKICpkYXYqICAgICpmdHAqICAgICpuZXRydy1maWxlKiAgKk5yZWFkKiAgICAqcmNwKiAgICAqc2NwKgpAQCAtMTgsNiArMzIsNyBAQAogICAgICAgRVhURVJOQUwgQVBQTElDQVRJT05TIEFORCBQUk9UT0NPTFMuLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LWV4dGVybmFwcHwKICAgICAgIFJFQURJTkcuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1yZWFkfAogICAgICAgV1JJVElORy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LXdyaXRlfAorICAgICAgU09VUkNJTkcuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LXNvdXJjZXwKICAgICAgIERJUkVDVE9SWSBMSVNUSU5HLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1kaXJsaXN0fAogICAgICAgQ0hBTkdJTkcgVEhFIFVTRVJJRCBBTkQgUEFTU1dPUkQuLi4uLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LWNoZ3VwfAogICAgICAgVkFSSUFCTEVTIEFORCBTRVRUSU5HUy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LXZhcmlhYmxlc3wKQEAgLTM4LDExICs1MywxMiBAQAogICAgICAgQnJvd3NpbmcgV2l0aCBBIEhvcml6b250YWxseSBTcGxpdCBXaW5kb3cuLi4uLi4uLi4ufG5ldHJ3LW98CiAgICAgICBCcm93c2luZyBXaXRoIEEgTmV3IFRhYi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctdHwKICAgICAgIEJyb3dzaW5nIFdpdGggQSBWZXJ0aWNhbGx5IFNwbGl0IFdpbmRvdy4uLi4uLi4uLi4uLnxuZXRydy12fAotICAgICAgQ2hhbmdlIExpc3RpbmcgU3R5bGUuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LWl8CisgICAgICBDaGFuZ2UgTGlzdGluZyBTdHlsZS4odGhpbiB3aWRlIGxvbmcgdHJlZSkuLi4uLi4uLi58bmV0cnctaXwKICAgICAgIENoYW5naW5nIFRvIEEgQm9va21hcmtlZCBEaXJlY3RvcnkuLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1nYnwKICAgICAgIENoYW5naW5nIFRvIEEgUHJlZGVjZXNzb3IgRGlyZWN0b3J5Li4uLi4uLi4uLi4uLi4uLnxuZXRydy11fAogICAgICAgQ2hhbmdpbmcgVG8gQSBTdWNjZXNzb3IgRGlyZWN0b3J5Li4uLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LVV8CiAgICAgICBDdXN0b21pemluZyBCcm93c2luZyBXaXRoIEEgVXNlciBGdW5jdGlvbi4uLi4uLi4uLi58bmV0cncteHwKKyAgICAgIERlbGV0aW5nIEJvb2ttYXJrcy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1tQnwKICAgICAgIERlbGV0aW5nIEZpbGVzIE9yIERpcmVjdG9yaWVzLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1EfAogICAgICAgRGlyZWN0b3J5IEV4cGxvcmluZyBDb21tYW5kcy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LWV4cGxvcmV8CiAgICAgICBFeHBsb3JpbmcgV2l0aCBTdGFycyBhbmQgUGF0dGVybnMuLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctc3RhcnwKQEAgLTgwLDEwICs5NiwxMiBAQAogICAgICAgUmVuYW1pbmcgRmlsZXMgT3IgRGlyZWN0b3JpZXMuLi4uLi4uLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LW1vdmV8CiAgICAgICBSZXZlcnNpbmcgU29ydGluZyBPcmRlci4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctcnwKICAgICAgIFNlbGVjdGluZyBTb3J0aW5nIFN0eWxlLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1zfAorICAgICAgU2V0dGluZyBFZGl0aW5nIFdpbmRvdy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LUN8CiAxMC4gUHJvYmxlbXMgYW5kIEZpeGVzLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctcHJvYmxlbXN8CiAxMS4gRGVidWdnaW5nIE5ldHJ3IEl0c2VsZi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctZGVidWd8CiAxMi4gSGlzdG9yeS4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctaGlzdG9yeXwKLTEzLiBDcmVkaXRzLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1jcmVkaXRzfAorMTMuIFRvZG8uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LXRvZG98CisxNC4gQ3JlZGl0cy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctY3JlZGl0c3wKIAoge1ZpIGRvZXMgbm90IGhhdmUgYW55IG9mIHRoaXN9CiAKQEAgLTkxLDcgKzEwOSw3IEBACiAyLiBTdGFydGluZyBXaXRoIE5ldHJ3CQkJCQkqbmV0cnctc3RhcnQqIHt7ezEKIAogTmV0cncgbWFrZXMgcmVhZGluZyBmaWxlcywgd3JpdGluZyBmaWxlcywgYnJvd3Npbmcgb3ZlciBhIG5ldHdvcmssIGFuZAotYnJvd3NpbmcgbG9jYWxseSBlYXN5ISAgRmlyc3QsIG1ha2Ugc3VyZSB0aGF0IHlvdSBoYXZlIHBsdWdpbnMgZW5hYmxlZCwgc28KK2xvY2FsIGJyb3dzaW5nIGVhc3khICBGaXJzdCwgbWFrZSBzdXJlIHRoYXQgeW91IGhhdmUgcGx1Z2lucyBlbmFibGVkLCBzbwogeW91J2xsIG5lZWQgdG8gaGF2ZSBhdCBsZWFzdCB0aGUgZm9sbG93aW5nIGluIHlvdXIgPC52aW1yYz46CiAob3Igc2VlIHxuZXRydy1hY3RpdmF0ZXwpID4KIApAQCAtMTM2LDggKzE1NCwxMSBAQAogPAogU2VlIHxuZXRydy1icm93c2V8IGZvciBtb3JlIQogCi1UaGVyZSBhcmUgbW9yZSBwcm90b2NvbHMgc3VwcG9ydGVkIGJ5IG5ldHJ3IGp1c3QgdGhhbiBzY3AgYW5kIGZ0cCwgdG9vOiBzZWUgdGhlCi1uZXh0IHNlY3Rpb24sIHxuZXRydy1leHRlcm5hcHB8LCBmb3IgaG93IHRvIHVzZSB0aGVzZSBleHRlcm5hbCBhcHBsaWNhdGlvbnMuCitUaGVyZSBhcmUgbW9yZSBwcm90b2NvbHMgc3VwcG9ydGVkIGJ5IG5ldHJ3IHRoYW4ganVzdCBzY3AgYW5kIGZ0cCwgdG9vOiBzZWUgdGhlCituZXh0IHNlY3Rpb24sIHxuZXRydy1leHRlcm5hcHB8LCBvbiBob3cgdG8gdXNlIHRoZXNlIGV4dGVybmFsIGFwcGxpY2F0aW9ucyB3aXRoCituZXRydyBhbmQgdmltLgorCitQUkVWRU5USU5HIExPQURJTkcKIAogSWYgeW91IHdhbnQgdG8gdXNlIHBsdWdpbnMsIGJ1dCBmb3Igc29tZSByZWFzb24gZG9uJ3Qgd2lzaCB0byB1c2UgbmV0cncsIHRoZW4KIHlvdSBuZWVkIHRvIGF2b2lkIGxvYWRpbmcgYm90aCB0aGUgcGx1Z2luIGFuZCB0aGUgYXV0b2xvYWQgcG9ydGlvbnMgb2YgbmV0cncuCkBAIC0xNTAsNyArMTcxLDcgQEAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogMy4gTmV0cncgUmVmZXJlbmNlCQkJCQkqbmV0cnctcmVmKiB7e3sxCiAKLSAgIE5ldHJ3IHN1cHBvcnRzIHNldmVyYWwgcHJvdG9jb2xzIGluIGFkZGl0aW9uIHRvIHNjcCBhbmQgZnRwIG1lbnRpb25lZAorICAgTmV0cncgc3VwcG9ydHMgc2V2ZXJhbCBwcm90b2NvbHMgaW4gYWRkaXRpb24gdG8gc2NwIGFuZCBmdHAgYXMgbWVudGlvbmVkCiAgICBpbiB8bmV0cnctc3RhcnR8LiAgVGhlc2UgaW5jbHVkZSBkYXYsIGZldGNoLCBodHRwLC4uLiB3ZWxsLCBqdXN0IGxvb2sKICAgIGF0IHRoZSBsaXN0IGluIHxuZXRydy1leHRlcm5hcHB8LiAgRWFjaCBwcm90b2NvbCBpcyBhc3NvY2lhdGVkIHdpdGggYQogICAgdmFyaWFibGUgd2hpY2ggaG9sZHMgdGhlIGRlZmF1bHQgY29tbWFuZCBzdXBwb3J0aW5nIHRoYXQgcHJvdG9jb2wuCkBAIC0xNTksMTYgKzE4MCwzNSBAQAogCiAJUHJvdG9jb2wgIFZhcmlhYmxlCSAgICBEZWZhdWx0IFZhbHVlCiAJLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0KLQkgICBkYXY6ICAgICpnOm5ldHJ3X2Rhdl9jbWQqICA9ICJjYWRhdmVyIgotCSBmZXRjaDogICpnOm5ldHJ3X2ZldGNoX2NtZCogID0gImZldGNoIC1vIiAgICBpZiBmZXRjaCBpcyBhdmFpbGFibGUKLQkgICBmdHA6ICAgICpnOm5ldHJ3X2Z0cF9jbWQqICA9ICJmdHAiCi0JICBodHRwOiAgICpnOm5ldHJ3X2h0dHBfY21kKiAgPSAiY3VybCAtbyIgICAgIGlmICAgICBjdXJsICBpcyBhdmFpbGFibGUKLQkgIGh0dHA6ICAgIGc6bmV0cndfaHR0cF9jbWQgICA9ICJ3Z2V0IC1xIC1PIiAgZWxzZWlmIHdnZXQgIGlzIGF2YWlsYWJsZQotICAgICAgICAgIGh0dHA6ICAgIGc6bmV0cndfaHR0cF9jbWQgICA9ICJmZXRjaCAtbyIgICAgZWxzZWlmIGZldGNoIGlzIGF2YWlsYWJsZQotCSAgIHJjcDogICAgKmc6bmV0cndfcmNwX2NtZCogID0gInJjcCIKLQkgcnN5bmM6ICAqZzpuZXRyd19yc3luY19jbWQqICA9ICJyc3luYyAtYSIKLQkgICBzY3A6ICAgICpnOm5ldHJ3X3NjcF9jbWQqICA9ICJzY3AgLXEiCi0JICBzZnRwOiAgICpnOm5ldHJ3X3NmdHBfY21kKiAgPSAic2Z0cCIKKwkgICBkYXY6ICAqZzpuZXRyd19kYXZfY21kKiAgID0gImNhZGF2ZXIiICAgICBpZiBjYWRhdmVyIGlzIGV4ZWN1dGFibGUKKwkgICBkYXY6ICAgZzpuZXRyd19kYXZfY21kICAgID0gImN1cmwgLW8iICAgICBlbHNlaWYgY3VybCBpcyBhdmFpbGFibGUKKwkgZmV0Y2g6ICAqZzpuZXRyd19mZXRjaF9jbWQqID0gImZldGNoIC1vIiAgICBpZiBmZXRjaCBpcyBhdmFpbGFibGUKKwkgICBmdHA6ICAqZzpuZXRyd19mdHBfY21kKiAgID0gImZ0cCIKKwkgIGh0dHA6ICAqZzpuZXRyd19odHRwX2NtZCogID0gImVsaW5rcyIgICAgIGlmICAgZWxpbmtzICBpcyBhdmFpbGFibGUKKwkgIGh0dHA6ICAgZzpuZXRyd19odHRwX2NtZCAgID0gImxpbmtzIiAgICAgIGVsc2VpZiBsaW5rcyBpcyBhdmFpbGFibGUKKwkgIGh0dHA6ICAgZzpuZXRyd19odHRwX2NtZCAgID0gImN1cmwiICAgICAgIGVsc2VpZiBjdXJsICBpcyBhdmFpbGFibGUKKwkgIGh0dHA6ICAgZzpuZXRyd19odHRwX2NtZCAgID0gIndnZXQiICAgICAgIGVsc2VpZiB3Z2V0ICBpcyBhdmFpbGFibGUKKyAgICAgICAgICBodHRwOiAgIGc6bmV0cndfaHR0cF9jbWQgICA9ICJmZXRjaCIgICAgICBlbHNlaWYgZmV0Y2ggaXMgYXZhaWxhYmxlCisJICAgcmNwOiAgKmc6bmV0cndfcmNwX2NtZCogICA9ICJyY3AiCisJIHJzeW5jOiAgKmc6bmV0cndfcnN5bmNfY21kKiA9ICJyc3luYyAtYSIKKwkgICBzY3A6ICAqZzpuZXRyd19zY3BfY21kKiAgID0gInNjcCAtcSIKKwkgIHNmdHA6ICAqZzpuZXRyd19zZnRwX2NtZCogID0gInNmdHAiCisKKwkqZzpuZXRyd19odHRwX3hjbWQqIDogdGhlIG9wdGlvbiBzdHJpbmcgZm9yIGh0dHA6Ly8uLi4gcHJvdG9jb2xzIGFyZQorCXNwZWNpZmllZCB2aWEgdGhpcyB2YXJpYWJsZSBhbmQgbWF5IGJlIGluZGVwZW5kZW50bHkgb3ZlcnJpZGRlbi4gIEJ5CisJZGVmYXVsdCwgdGhlIG9wdGlvbiBhcmd1bWVudHMgZm9yIHRoZSBodHRwLWhhbmRsaW5nIGNvbW1hbmRzIGFyZTogPgorCisJCSAgICBlbGlua3MgOiAiLXNvdXJjZSA+IgorCQkgICAgbGlua3MgIDogIi1zb3VyY2UgPiIKKwkJICAgIGN1cmwgICA6ICItbyIKKwkJICAgIHdnZXQgICA6ICItcSAtTyIKKwkJICAgIGZldGNoICA6ICItbyIKKzwKKwlGb3IgZXhhbXBsZSwgaWYgeW91ciBzeXN0ZW0gaGFzIGVsaW5rcywgYW5kIHlvdSdkIHJhdGhlciBzZWUgdGhlCisJcGFnZSB1c2luZyBhbiBhdHRlbXB0IGF0IHJlbmRlcmluZyB0aGUgdGV4dCwgeW91IG1heSB3aXNoIHRvIGhhdmUgPgorCQlsZXQgZzpuZXRyd19odHRwX3hjbWQ9ICItZHVtcCA+IgorPAlpbiB5b3VyIC52aW1yYy4KKwogCiBSRUFESU5HCQkJCQkJKm5ldHJ3LXJlYWQqICpuZXRydy1ucmVhZCoge3t7MgogCkBAIC0yNDEsOCArMjgxLDggQEAKIAkJOmUgZnRwOi8vW3VzZXJdQGhvc3RuYW1lL3BhdGgvCiA8CiAJRm9yIHJlbW90ZSBkaXJlY3RvcmllcyAoaWUuIHRob3NlIHVzaW5nIHNjcCBvciBmdHApLCB0aGF0IHRyYWlsaW5nCi0JIi8iIGlzIG5lY2Vzc2FyeSAoaXQgdGVsbHMgbmV0cncgdGhhdCBpdHMgdG8gdHJlYXQgaXQgYXMgYSBkaXJlY3RvcnkKLQl0byBicm93c2UgaW5zdGVhZCBvZiBhIGZpbGUgdG8gZG93bmxvYWQpLgorCSIvIiBpcyBuZWNlc3NhcnkgKHRoZSBzbGFzaCB0ZWxscyBuZXRydyB0byB0cmVhdCB0aGUgYXJndW1lbnQgYXMgYQorCWRpcmVjdG9yeSB0byBicm93c2UgaW5zdGVhZCBvZiBhIGZpbGUgdG8gZG93bmxvYWQpLgogCiAJSG93ZXZlciwgdGhlIE5yZWFkIGNvbW1hbmQgY2FuIGFsc28gYmUgdXNlZCB0byBhY2NvbXBsaXNoIHRoaXM6CiAKQEAgLTI3NSw4ICszMTUsMTcgQEAKIHNldHRpbmdzIGFyZSBkZXNjcmliZWQgYmVsb3csIGluIHxuZXRydy1icm93c2VyLW9wdGlvbnN8LCBhbmQgaW4KIHxuZXRydy1leHRlcm5hcHB8OgogCi0gKmI6bmV0cndfbGFzdGZpbGUqCWxhc3QgZmlsZSBOZXR3b3JrLXJlYWQvd3JpdHRlbiByZXRhaW5lZCBvbiBhIHBlci1idWZmZXIKLQkJCWJhc2lzCQkoc3VwcG9ydHMgcGxhaW4gOk53ICkKKyAqYjpuZXRyd19sYXN0ZmlsZSoJbGFzdCBmaWxlIE5ldHdvcmstcmVhZC93cml0dGVuIHJldGFpbmVkIG9uIGEKKwkJCXBlci1idWZmZXIgYmFzaXMgKHN1cHBvcnRzIHBsYWluIDpOdyApCisKKyAqZzpuZXRyd19jaGd3aW4qCXNwZWNpZmllcyBhIHdpbmRvdyBudW1iZXIgd2hlcmUgZmlsZSBlZGl0cyB3aWxsIHRha2UKKwkJCXBsYWNlLiAgKGFsc28gc2VlIHxuZXRydy1DfCkKKwkJCShkZWZhdWx0KSBub3QgZGVmaW5lZAorCisgKmc6TmV0cndfZnVuY3JlZioJc3BlY2lmaWVzIGEgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gbmV0cncgZWRpdHMKKwkJCWEgZmlsZS4gIFRoZSBmaWxlIGlzIGZpcnN0IGVkaXRlZCwgYW5kIHRoZW4gdGhlCisJCQlmdW5jdGlvbiByZWZlcmVuY2UgKHxGdW5jcmVmfCkgaXMgY2FsbGVkLgorCQkJKGRlZmF1bHQpIG5vdCBkZWZpbmVkCiAKICAqZzpuZXRyd19mdHAqCQlpZiBpdCBkb2Vzbid0IGV4aXN0LCB1c2UgZGVmYXVsdCBmdHAKIAkJCT0wIHVzZSBkZWZhdWx0IGZ0cAkJICAgICAgICh1aWQgcGFzc3dvcmQpCkBAIC0yODUsNyArMzM0LDcgQEAKIAkJCXZhbHVlIG9mIHRoaXMgdmFyaWFibGUgdG8gc2VlIGlmIHRoZSBhbHRlcm5hdGUgZnRwCiAJCQltZXRob2Qgd29ya3MgZm9yIHlvdXIgc2V0dXAuCiAKLSAqZzpuZXRyd19leHRyYWNtZCoJZGVmYXVsdDogZG9lc24ndCBleGlzdAorICpnOm5ldHJ3X2Z0cGV4dHJhY21kKglkZWZhdWx0OiBkb2Vzbid0IGV4aXN0CiAgICAgICAgICAgICAgICAgICAgICAgICBJZiB0aGlzIHZhcmlhYmxlIGV4aXN0cywgdGhlbiBhbnkgc3RyaW5nIGl0IGNvbnRhaW5zCiAJCQl3aWxsIGJlIHBsYWNlZCBpbnRvIHRoZSBjb21tYW5kcyBzZXQgdG8geW91ciBmdHAKIAkJCWNsaWVudC4gIEFzIGFuIGV4YW1wbGU6CkBAIC0zMDUsOCArMzU0LDggQEAKICAqZzpuZXRyd19ub2d4KgkJaWYgdGhpcyB2YXJpYWJsZSBleGlzdHMsIHRoZW4gdGhlICJneCIgbWFwIHdpbGwgbm90CiAJCQliZSBhdmFpbGFibGUgKHNlZSB8bmV0cnctZ3h8KQogCi0gKmc6bmV0cndfdWlkKgkJKGZ0cCkgdXNlci1pZCwgICAgICByZXRhaW5lZCBvbiBhIHBlci1zZXNzaW9uIGJhc2lzCi0gKnM6bmV0cndfcGFzc3dkKgkoZnRwKSBwYXNzd29yZCwgICAgIHJldGFpbmVkIG9uIGEgcGVyLXNlc3Npb24gYmFzaXMKKyAqZzpuZXRyd191aWQqCQkoZnRwKSB1c2VyLWlkLCAgICAgIHJldGFpbmVkIG9uIGEgcGVyLXZpbS1zZXNzaW9uIGJhc2lzCisgKnM6bmV0cndfcGFzc3dkKgkoZnRwKSBwYXNzd29yZCwgICAgIHJldGFpbmVkIG9uIGEgcGVyLXZpbS1zZXNzaW9uIGJhc2lzCiAKICAqZzpuZXRyd19wcmV2aWV3Kgk9MCAoZGVmYXVsdCkgcHJldmlldyB3aW5kb3cgc2hvd24gaW4gYSBob3Jpem9udGFsbHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwbGl0IHdpbmRvdwpAQCAtMzE3LDYgKzM2NiwxMyBAQAogICpnOm5ldHJ3X3NjcHBvcnQqICAgICAgPSAiLVAiIDogb3B0aW9uIHRvIHVzZSB0byBzZXQgcG9ydCBmb3Igc2NwCiAgKmc6bmV0cndfc3NocG9ydCogICAgICA9ICItcCIgOiBvcHRpb24gdG8gdXNlIHRvIHNldCBwb3J0IGZvciBzc2gKIAorICpnOm5ldHJ3X3NlcGNocioJPVwweGZmCisJCQk9XDB4MDEgZm9yIGVuYyA9PSBldWMtanAgKGFuZCBwZXJoYXBzIGl0IHNob3VsZCBiZSBmb3IKKwkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXJzLCB0b28sIHBsZWFzZSBsZXQgbWUKKwkJCQkJCSAga25vdykKKwkJCVNlcGFyYXRlcyBwcmlvcml0eSBjb2RlcyBmcm9tIGZpbGVuYW1lcyBpbnRlcm5hbGx5LgorCQkJU2VlIHxuZXRydy1wMTJ8LgorCiAgICpnOm5ldHJ3X3NpbGVudCoJPTAgOiB0cmFuc2ZlcnMgZG9uZSBub3JtYWxseQogCQkJPTEgOiB0cmFuc2ZlcnMgZG9uZSBzaWxlbnRseQogCkBAIC0zODAsNiArNDM2LDMwIEBACiBmcm9tL3dyaXR0ZW4gdG8gYSB0ZW1wb3JhcnkgZmlsZSAodW5kZXIgVW5peC9MaW51eCwgL3RtcC8uLi4pIHdoaWNoIHRoZQogPG5ldHJ3LnZpbT4gc2NyaXB0IHdpbGwgY2xlYW4gdXAuCiAKK05vdywgYSB3b3JkIGFib3V0IEphbiBNaW7DocWZJ3MgIkZUUCBVc2VyIE5hbWUgYW5kIFBhc3N3b3JkIERpc2Nsb3N1cmUiOyBmaXJzdCwKK2Z0cCBpcyBub3QgYSBzZWN1cmUgcHJvdG9jb2wuICBVc2VyIG5hbWVzIGFuZCBwYXNzd29yZHMgYXJlIHRyYW5zbWl0dGVkICJpbgordGhlIGNsZWFyIiBvdmVyIHRoZSBpbnRlcm5ldDsgYW55IHNub29wZXIgdG9vbCBjYW4gcGljayB0aGVzZSB1cDsgdGhpcyBpcyBub3QKK2EgbmV0cncgdGhpbmcsIHRoaXMgaXMgYSBmdHAgdGhpbmcuICBJZiB5b3UncmUgY29uY2VybmVkIGFib3V0IHRoaXMsIHBsZWFzZQordHJ5IHRvIHVzZSBzY3Agb3Igc2Z0cCBpbnN0ZWFkLgorCitOZXRydyByZS11c2VzIHRoZSB1c2VyIGlkIGFuZCBwYXNzd29yZCBkdXJpbmcgdGhlIHNhbWUgdmltIHNlc3Npb24gYW5kIHNvIGxvbmcKK2FzIHRoZSByZW1vdGUgaG9zdG5hbWUgcmVtYWlucyB0aGUgc2FtZS4KKworSmFuIHNlZW1zIHRvIGJlIGEgYml0IGNvbmZ1c2VkIGFib3V0IGhvdyBuZXRydyBoYW5kbGVzIGZ0cDsgbm9ybWFsbHkgbXVsdGlwbGUKK2NvbW1hbmRzIGFyZSBwZXJmb3JtZWQgaW4gYSAiZnRwIHNlc3Npb24iLCBhbmQgaGUgc2VlbXMgdG8gZmVlbCB0aGF0IHRoZQordWlkL3Bhc3N3b3JkIHNob3VsZCBvbmx5IGJlIHJldGFpbmVkIG92ZXIgb25lIGZ0cCBzZXNzaW9uLiAgSG93ZXZlciwgbmV0cncKK2RvZXMgZXZlcnkgZnRwIG9wZXJhdGlvbiBpbiBhIHNlcGFyYXRlICJmdHAgc2Vzc2lvbiI7IHNvIHJlbWVtYmVyaW5nIHRoZQordWlkL3Bhc3N3b3JkIGZvciBqdXN0IG9uZSAiZnRwIHNlc3Npb24iIHdvdWxkIGJlIHRoZSBzYW1lIGFzIG5vdCByZW1lbWJlcmluZwordGhlIHVpZC9wYXNzd29yZCBhdCBhbGwuICBJTUhPIHRoaXMgd291bGQgcmFwaWRseSBncm93IHRpcmVzb21lIGFzIG9uZQorYnJvd3NlZCByZW1vdGUgZGlyZWN0b3JpZXMsIGZvciBleGFtcGxlLgorCitPbiB0aGUgb3RoZXIgaGFuZCwgdGhhbmtzIGdvIHRvIEphbiBNLiBmb3IgcG9pbnRpbmcgb3V0IHRoZSBtYW55Cit2dWxuZXJhYmlsaXRpZXMgdGhhdCBuZXRydyAoYW5kIHZpbSBpdHNlbGYpIGhhZCBoYWQgaW4gaGFuZGxpbmcgImNyYWZ0ZWQiCitmaWxlbmFtZXMuICBUaGUgfHNoZWxsZXNjYXBlKCl8IGFuZCB8Zm5hbWVlc2NhcGUoKXwgZnVuY3Rpb25zIHdlcmUgd3JpdHRlbiBpbgorcmVzcG9uc2UgYnkgQnJhbSBNb29sZW5hYXIgdG8gaGFuZGxlIHRoZXNlIHNvcnQgb2YgcHJvYmxlbXMsIGFuZCBuZXRydyBoYXMKK2JlZW4gbW9kaWZpZWQgdG8gdXNlIHRoZW0uICBTdGlsbCwgbXkgYWR2aWNlIGlzLCBpZiB0aGUgImZpbGVuYW1lIiBsb29rcyBsaWtlCithIHZpbSBjb21tYW5kIHRoYXQgeW91IGFyZW4ndCBjb21mb3J0YWJsZSB3aXRoIGhhdmluZyBleGVjdXRlZCwgZG9uJ3Qgb3BlbiBpdC4KKwogCQkJCSpuZXRydy1wdXR0eSogKm5ldHJ3LXBzY3AqICpuZXRydy1wc2Z0cCoKIE9uZSBtYXkgbW9kaWZ5IGFueSBwcm90b2NvbCdzIGltcGxlbWVudGluZyBleHRlcm5hbCBhcHBsaWNhdGlvbiBieSBzZXR0aW5nIGEKIHZhcmlhYmxlIChleC4gc2NwIHVzZXMgdGhlIHZhcmlhYmxlIGc6bmV0cndfc2NwX2NtZCwgd2hpY2ggaXMgZGVmYXVsdGVkIHRvCkBAIC0zOTYsOCArNDc2LDggQEAKIHRoYXQgd2lsbCBjbGVhbiB1cCBhZnRlciByZWFkaW5nIHdpdGggdGhlaXIgZnRwLiAgU29tZSBVbml4IHN5c3RlbXMgKGllLiwKIEZyZWVCU0QpIHByb3ZpZGUgYSB1dGlsaXR5IGNhbGxlZCAiZmV0Y2giIHdoaWNoIHVzZXMgdGhlIGZ0cCBwcm90b2NvbCBidXQgaXMKIG5vdCBub2lzeSBhbmQgbW9yZSBjb252ZW5pZW50LCBhY3R1YWxseSwgZm9yIDxuZXRydy52aW0+IHRvIHVzZS4KLUNvbnNlcXVlbnRseSwgaWYgImZldGNoIiBpcyBleGVjdXRhYmxlLCBpdCB3aWxsIGJlIHVzZWQgdG8gZG8gcmVhZHMgZm9yCi1mdHA6Ly8uLi4gKGFuZCBodHRwOi8vLi4uKSAuICBTZWUgfG5ldHJ3LXZhcnwgZm9yIG1vcmUgYWJvdXQgdGhpcy4KK0NvbnNlcXVlbnRseSwgaWYgImZldGNoIiBpcyBhdmFpbGFibGUgKGllLiBleGVjdXRhYmxlKSwgaXQgbWF5IGJlIHByZWZlcmFibGUKK3RvIHVzZSBpdCBmb3IgZnRwOi8vLi4uIGJhc2VkIHRyYW5zZmVycy4KIAogRm9yIHJjcCwgc2NwLCBzZnRwLCBhbmQgaHR0cCwgb25lIG1heSB1c2UgbmV0d29yay1vcmllbnRlZCBmaWxlIHRyYW5zZmVycwogdHJhbnNwYXJlbnRseTsgaWUuCkBAIC00MDUsNyArNDg1LDcgQEAKIAl2aW0gcmNwOi8vW3VzZXJAXW1hY2hpbmUvcGF0aAogCXZpbSBzY3A6Ly9bdXNlckBdbWFjaGluZS9wYXRoCiA8Ci1JZiB5b3VyIGZ0cCBzdXBwb3J0cyA8Lm5ldHJjPiwgdGhlbiBpdCB0b28gY2FuIGJlIGp1c3QgYXMgdHJhbnNwYXJlbnRseSB1c2VkCitJZiB5b3VyIGZ0cCBzdXBwb3J0cyA8Lm5ldHJjPiwgdGhlbiBpdCB0b28gY2FuIGJlIHRyYW5zcGFyZW50bHkgdXNlZAogaWYgdGhlIG5lZWRlZCB0cmlhZCBvZiBtYWNoaW5lIG5hbWUsIHVzZXIgaWQsIGFuZCBwYXNzd29yZCBhcmUgcHJlc2VudCBpbgogdGhhdCBmaWxlLiAgWW91ciBmdHAgbXVzdCBiZSBhYmxlIHRvIHVzZSB0aGUgPC5uZXRyYz4gZmlsZSBvbiBpdHMgb3duLCBob3dldmVyLgogPgpAQCAtNTY4LDkgKzY0OCw4IEBACiA6W3JhbmdlXU53W3JpdGVdIHtuZXRmaWxlfSBbe25ldGZpbGV9XS4uLgogCQlXcml0ZSB0aGUgc3BlY2lmaWVkIGxpbmVzIHRvIHRoZSB7bmV0ZmlsZX0uCiAKLTpOcltlYWRdCQlSZWFkIHRoZSBzcGVjaWZpZWQgbGluZXMgaW50byB0aGUgY3VycmVudAotCQlidWZmZXIgZnJvbSB0aGUgZmlsZSBzcGVjaWZpZWQgaW4KLQkJYjpuZXRyd19sYXN0ZmlsZS4KKzpOcltlYWRdCVJlYWQgdGhlIGxpbmVzIGZyb20gdGhlIGZpbGUgc3BlY2lmaWVkIGluIGI6bmV0cndfbGFzdGZpbGUKKwkJaW50byB0aGUgY3VycmVudCBidWZmZXIuCiAKIDpOcltlYWRdIHtuZXRmaWxlfSB7bmV0ZmlsZX0uLi4KIAkJUmVhZCB0aGUge25ldGZpbGV9IGFmdGVyIHRoZSBjdXJyZW50IGxpbmUuCkBAIC02MzMsMTIgKzcxMiw5IEBACiAJCQkJICAgdG8gYmUgaWdub3JlZC4KICAgICAgICAgYjpuZXRyd19sYXN0ZmlsZSAgICAgICAgSG9sZHMgbGF0ZXN0IG1ldGhvZC9tYWNoaW5lL3BhdGguCiAgICAgICAgIGI6bmV0cndfbGluZSAgICAgICAgICAgIEhvbGRzIGN1cnJlbnQgbGluZSBudW1iZXIgICAgIChkdXJpbmcgTmV0V3JpdGUpCi0gICAgICAgIGc6bmV0cndfcGFzc3dkICAgICAgICAgIEhvbGRzIGN1cnJlbnQgcGFzc3dvcmQgZm9yIGZ0cC4KIAlnOm5ldHJ3X3NpbGVudCAgICAgICAgICA9MCB0cmFuc2ZlcnMgZG9uZSBub3JtYWxseQogCSAgICAgICAgICAgICAgICAgICAgICAgID0xIHRyYW5zZmVycyBkb25lIHNpbGVudGx5CiAgICAgICAgIGc6bmV0cndfdWlkICAgICAgICAgICAgIEhvbGRzIGN1cnJlbnQgdXNlci1pZCBmb3IgZnRwLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9MSB1c2UgYWx0ZXJuYXRlIGZ0cCAgICAgICAgICh1c2VyIHVpZCBwYXNzd29yZCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlZSB8bmV0cnctb3B0aW9uc3wpCiAgICAgICAgIGc6bmV0cndfdXNlX250X3JjcCAgICAgID0wIGRvbid0IHVzZSBXaW5OVC8ySy9YUCdzIHJjcCAoZGVmYXVsdCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPTEgdXNlIFdpbk5ULzJLL1hQJ3MgcmNwLCBiaW5hcnkgbW9kZQogICAgICAgICBnOm5ldHJ3X3dpbjk1ZnRwICAgICAgICA9MCB1c2UgdW5peC1zdHlsZSBmdHAgZXZlbiBpZiB3aW45NS85OC9NRS9ldGMKQEAgLTY1NCw5ICs3MzAsMTAgQEAKIAlWYXJpYWJsZQkJTWVhbmluZwogCS0tLS0tLS0tCQktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDwKLQlnOm5ldHJ3X21ldGhvZAkJSW5kZXggaW5kaWNhdGluZyByY3AvZnRwKy5uZXRyYy9mdHAKKwliOm5ldHJ3X21ldGhvZAkJSW5kZXggaW5kaWNhdGluZyByY3AvZnRwKy5uZXRyYy9mdHAKKwl3Om5ldHJ3X21ldGhvZAkJKHNhbWUgYXMgYjpuZXRyd19tZXRob2QpCiAJZzpuZXRyd19tYWNoaW5lCQlIb2xkcyBtYWNoaW5lIG5hbWUgcGFyc2VkIGZyb20gaW5wdXQKLQlnOm5ldHJ3X2ZuYW1lCQlIb2xkcyBmaWxlbmFtZSBiZWluZyBhY2Nlc3NlZCA+CisJYjpuZXRyd19mbmFtZQkJSG9sZHMgZmlsZW5hbWUgYmVpbmcgYWNjZXNzZWQgPgogCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogPAogCQkJCQkJCSpuZXRydy1wcm90b2NvbCoKQEAgLTY3OCw3ICs3NTUsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkIHZpYSBmdHAgYXV0b21hdGljYWxseQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1lZCBob3dldmVyIHRoZXkgd2lzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBOZXRSZWFkRml4dXAoKQotICAgIGc6bmV0cndfZGF2X2NtZCAgICB2YXJpYWJsZSAgID0iY2FkYXZlciIKKyAgICBnOm5ldHJ3X2Rhdl9jbWQgICAgdmFyaWFibGUgICA9ImNhZGF2ZXIiICAgICAgaWYgY2FkYXZlciAgaXMgZXhlY3V0YWJsZQorICAgIGc6bmV0cndfZGF2X2NtZCAgICB2YXJpYWJsZSAgID0iY3VybCAtbyIgICAgICBlbHNlaWYgY3VybCBpcyBleGVjdXRhYmxlCiAgICAgZzpuZXRyd19mZXRjaF9jbWQgIHZhcmlhYmxlICAgPSJmZXRjaCAtbyIgICAgIGlmIGZldGNoIGlzIGF2YWlsYWJsZQogICAgIGc6bmV0cndfZnRwX2NtZCAgICB2YXJpYWJsZSAgID0iZnRwIgogICAgIGc6bmV0cndfaHR0cF9jbWQgICB2YXJpYWJsZSAgID0iZmV0Y2ggLW8iICAgICBpZiAgICAgIGZldGNoIGlzIGF2YWlsYWJsZQpAQCAtNzQ1LDcgKzgyMyw3IEBACiAKIAkJCQkJCSpuZXRydy1maXh1cCogKm5ldHJlYWRmaXh1cCoKIElmIHlvdXIgZnRwIGZvciB3aGF0ZXZlciByZWFzb24gZ2VuZXJhdGVzIHVud2FudGVkIGxpbmVzIChzdWNoIGFzIEFVVEgKLW1lc3NhZ2VzKSB5b3UgbWF5IHdyaXRlIGEgTmV0UmVhZEZpeHVwKHRtcGZpbGUpIGZ1bmN0aW9uOgorbWVzc2FnZXMpIHlvdSBtYXkgd3JpdGUgYSBOZXRSZWFkRml4dXAoKSBmdW5jdGlvbjoKID4KICAgICBmdW5jdGlvbiEgTmV0UmVhZEZpeHVwKG1ldGhvZCxsaW5lMSxsaW5lMikKICAgICAgICIgYTpsaW5lMTogZmlyc3QgbmV3IGxpbmUgaW4gY3VycmVudCBmaWxlCkBAIC03ODIsNyArODYwLDcgQEAKIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiA5LiBCcm93c2luZwkJKm5ldHJ3LWJyb3dzaW5nKiAqbmV0cnctYnJvd3NlKiAqbmV0cnctaGVscCoge3t7MQotICAgCQkJKm5ldHJ3LWJyb3dzZXIqICAqbmV0cnctZGlyKiAgICAqbmV0cnctbGlzdCoKKwkJCSpuZXRydy1icm93c2VyKiAgKm5ldHJ3LWRpciogICAgKm5ldHJ3LWxpc3QqCiAKIElOVFJPRFVDVElPTiBUTyBCUk9XU0lORwkJCSpuZXRydy1pbnRyby1icm93c2UqIHt7ezIKIAkoUXVpY2sgUmVmZXJlbmNlczogfG5ldHJ3LXF1aWNrbWFwc3wgfG5ldHJ3LXF1aWNrY29tc3wpCkBAIC04MTgsNyArODk2LDcgQEAKIAogCXZpbSBmdHA6Ly9mdHAuaG9tZS52aW0ub3JnL3B1Yi92aW0vCiA8Ci1Gb3IgbG9jYWwgZGlyZWN0b3JpZXMsIHRoZSB0cmFpbGluZyBzbGFzaCBpcyBub3QgcmVxdWlyZWQuICBBZ2FpbiwgYmVjYXVzZSBpdHMKK0ZvciBsb2NhbCBkaXJlY3RvcmllcywgdGhlIHRyYWlsaW5nIHNsYXNoIGlzIG5vdCByZXF1aXJlZC4gIEFnYWluLCBiZWNhdXNlIGl0J3MKIGVhc3kgdG8gbWlzczogdG8gYnJvd3NlIHJlbW90ZSBkaXJlY3RvcmllcywgdGhlIHVybCBtdXN0IHRlcm1pbmF0ZSB3aXRoIGEKIHNsYXNoIQogCkBAIC04MzAsNiArOTA4LDcgQEAKIAogCSogVG8gY2hhbmdlIHRoZSBsaXN0aW5nIHN0eWxlLCBwcmVzcyB0aGUgImkiIGtleSAofG5ldHJ3LWl8KS4KIAkgIEN1cnJlbnRseSB0aGVyZSBhcmUgZm91ciBzdHlsZXM6IHRoaW4sIGxvbmcsIHdpZGUsIGFuZCB0cmVlLgorCSAgVG8gbWFrZSB0aGF0IGNoYW5nZSAicGVybWFuZW50Iiwgc2VlIHxnOm5ldHJ3X2xpc3RzdHlsZXwuCiAKIAkqIFRvIGhpZGUgZmlsZXMgKGRvbid0IHdhbnQgdG8gc2VlIHRob3NlIHh5en4gZmlsZXMgYW55bW9yZT8pIHNlZQogCSAgfG5ldHJ3LWN0cmwtaHwuCkBAIC04MzgsNiArOTE3LDE4IEBACiAKIFNlZSB8bmV0cnctYnJvd3NlLWNtZHN8IGZvciBhbGwgdGhlIHRoaW5ncyB5b3UgY2FuIGRvIHdpdGggbmV0cnchCiAKKwkJCSpuZXRydy1nZXRmdHlwZSogKm5ldHJ3LWZpbGlncmVlKiAqbmV0cnctZnR5cGUqCitUaGUgfGdldGZ0eXBlKCl8IGZ1bmN0aW9uIGlzIHVzZWQgdG8gYXBwZW5kIGEgYml0IG9mIGZpbGlncmVlIHRvIGluZGljYXRlCitmaWxldHlwZSB0byBsb2NhbGx5IGxpc3RlZCBmaWxlczoKKworCWRpcmVjdG9yeSAgOiAvCisJZXhlY3V0YWJsZSA6ICoKKwlmaWZvICAgICAgIDogfAorCWxpbmtzICAgICAgOiBACisJc29ja2V0cyAgICA6ID0KKworVGhlIGZpbGlncmVlIGFsc28gYWZmZWN0cyB0aGUgfGc6bmV0cndfc29ydF9zZXF1ZW5jZXwuCisKIAogUVVJQ0sgSEVMUAkJCQkJCSpuZXRydy1xdWlja2hlbHAqIHt7ezIKICAgICAgICAgICAgICAgICAgICAgICAgKFVzZSBjdHJsLV0gdG8gc2VsZWN0IGEgdG9waWMpfgpAQCAtODc2LDExICs5NjcsMTEgQEAKIAkJaGlkaW5nIChzdXBwcmVzcyBkaXNwbGF5IG9mIGZpbGVzIG1hdGNoaW5nIGc6bmV0cndfbGlzdF9oaWRlKQogCQlzaG93aW5nIChkaXNwbGF5IG9ubHkgZmlsZXMgd2hpY2ggbWF0Y2ggZzpuZXRyd19saXN0X2hpZGUpCiAJICAgYwlNYWtlIGJyb3dzaW5nIGRpcmVjdG9yeSB0aGUgY3VycmVudCBkaXJlY3RvcnkgICAgICAgIHxuZXRydy1jfAorCSAgIEMJU2V0dGluZyB0aGUgZWRpdGluZyB3aW5kb3cgICAgICAgICAgICAgICAgICAgICAgICAgICB8bmV0cnctQ3wKIAkgICBkCU1ha2UgYSBkaXJlY3RvcnkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfG5ldHJ3LWR8CiAJICAgRAlBdHRlbXB0IHRvIHJlbW92ZSB0aGUgZmlsZShzKS9kaXJlY3RvcnkoaWVzKSAgICAgICAgIHxuZXRydy1EfAogCSAgIGdiCUdvIHRvIHByZXZpb3VzIGJvb2ttYXJrZWQgZGlyZWN0b3J5ICAgICAgICAgICAgICAgICAgfG5ldHJ3LWdifAogCSAgIGdoCVF1aWNrIGhpZGUvdW5oaWRlIG9mIGRvdC1maWxlcyAgICAgICAgICAgICAgICAgICAgICAgfG5ldHJ3LWdofAotCSAgIGdpCURpc3BsYXkgaW5mb3JtYXRpb24gb24gZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgfG5ldHJ3LXFmfAogCSA8Yy1oPglFZGl0IGZpbGUgaGlkaW5nIGxpc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxuZXRydy1jdHJsLWh8CiAJICAgaQlDeWNsZSBiZXR3ZWVuIHRoaW4sIGxvbmcsIHdpZGUsIGFuZCB0cmVlIGxpc3RpbmdzICAgIHxuZXRydy1pfAogCSA8Yy1sPglDYXVzZXMgTmV0cncgdG8gcmVmcmVzaCB0aGUgZGlyZWN0b3J5IGxpc3RpbmcgICAgIHxuZXRydy1jdHJsLWx8CkBAIC04OTIsMTggKzk4MywxOSBAQAogCSAgIG1oCVRvZ2dsZSBtYXJrZWQgZmlsZSBzdWZmaWNlcycgcHJlc2VuY2Ugb24gaGlkaW5nIGxpc3QgfG5ldHJ3LW1ofAogCSAgIG1tCU1vdmUgbWFya2VkIGZpbGVzIHRvIG1hcmtlZC1maWxlIHRhcmdldCBkaXJlY3RvcnkgICAgfG5ldHJ3LW1tfAogCSAgIG1wCVByaW50IG1hcmtlZCBmaWxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfG5ldHJ3LW1wfAotCSAgIG1yCU1hcmsgZmlsZXMgc2F0aXNmeWluZyBhIHxyZWdleHB8ICAgICAgICAgICAgICAgICAgICAgfG5ldHJ3LW1yfAorCSAgIG1yCU1hcmsgZmlsZXMgc2F0aXNmeWluZyBhIHNoZWxsLXN0eWxlIHxyZWdleHB8ICAgICAgICAgfG5ldHJ3LW1yfAogCSAgIG10CUN1cnJlbnQgYnJvd3NpbmcgZGlyZWN0b3J5IGJlY29tZXMgbWFya2ZpbGUgdGFyZ2V0ICAgfG5ldHJ3LW10fAogCSAgIG1UCUFwcGx5IGN0YWdzIHRvIG1hcmtlZCBmaWxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgfG5ldHJ3LW1UfAogCSAgIG11CVVubWFyayBhbGwgbWFya2VkIGZpbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfG5ldHJ3LW11fAogCSAgIG14CUFwcGx5IGFyYml0cmFyeSBzaGVsbCBjb21tYW5kIHRvIG1hcmtlZCBmaWxlcyAgICAgICAgfG5ldHJ3LW14fAogCSAgIG16CUNvbXByZXNzL2RlY29tcHJlc3MgbWFya2VkIGZpbGVzICAgICAgICAgICAgICAgICAgICAgfG5ldHJ3LW16fAogCSAgIG8JRW50ZXIgdGhlIGZpbGUvZGlyZWN0b3J5IHVuZGVyIHRoZSBjdXJzb3IgaW4gYSBuZXcgICB8bmV0cnctb3wKLQkgICAJYnJvd3NlciB3aW5kb3cuICBBIGhvcml6b250YWwgc3BsaXQgaXMgdXNlZC4KKwkJYnJvd3NlciB3aW5kb3cuICBBIGhvcml6b250YWwgc3BsaXQgaXMgdXNlZC4KIAkgICBPCU9idGFpbiBhIGZpbGUgc3BlY2lmaWVkIGJ5IGN1cnNvciAgICAgICAgICAgICAgICAgICAgfG5ldHJ3LU98CiAJICAgcAlQcmV2aWV3IHRoZSBmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxuZXRydy1wfAogCSAgIFAJQnJvd3NlIGluIHRoZSBwcmV2aW91c2x5IHVzZWQgd2luZG93ICAgICAgICAgICAgICAgICB8bmV0cnctUHwKLQkgICBxCUxpc3QgYm9va21hcmtlZCBkaXJlY3RvcmllcyBhbmQgaGlzdG9yeSAgICAgICAgICAgICAgfG5ldHJ3LXFifAorCSAgIHFiCUxpc3QgYm9va21hcmtlZCBkaXJlY3RvcmllcyBhbmQgaGlzdG9yeSAgICAgICAgICAgICAgfG5ldHJ3LXFifAorCSAgIHFmCURpc3BsYXkgaW5mb3JtYXRpb24gb24gZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgfG5ldHJ3LXFmfAogCSAgIHIJUmV2ZXJzZSBzb3J0aW5nIG9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8bmV0cnctcnwKIAkgICBSCVJlbmFtZSB0aGUgZGVzaWduZWQgZmlsZShzKS9kaXJlY3RvcnkoaWVzKSAgICAgICAgICAgfG5ldHJ3LVJ8CiAJICAgcwlTZWxlY3Qgc29ydGluZyBzdHlsZTogYnkgbmFtZSwgdGltZSwgb3IgZmlsZSBzaXplICAgIHxuZXRydy1zfApAQCAtOTEyLDExICsxMDA0LDEyIEBACiAJICAgdQlDaGFuZ2UgdG8gcmVjZW50bHktdmlzaXRlZCBkaXJlY3RvcnkgICAgICAgICAgICAgICAgIHxuZXRydy11fAogCSAgIFUJQ2hhbmdlIHRvIHN1YnNlcXVlbnRseS12aXNpdGVkIGRpcmVjdG9yeSAgICAgICAgICAgICB8bmV0cnctVXwKIAkgICB2CUVudGVyIHRoZSBmaWxlL2RpcmVjdG9yeSB1bmRlciB0aGUgY3Vyc29yIGluIGEgbmV3ICAgfG5ldHJ3LXZ8Ci0JICAgCWJyb3dzZXIgd2luZG93LiAgQSB2ZXJ0aWNhbCBzcGxpdCBpcyB1c2VkLgorCQlicm93c2VyIHdpbmRvdy4gIEEgdmVydGljYWwgc3BsaXQgaXMgdXNlZC4KIAkgICB4CVZpZXcgZmlsZSB3aXRoIGFuIGFzc29jaWF0ZWQgcHJvZ3JhbSAgICAgICAgICAgICAgICAgfG5ldHJ3LXh8CiAKIAkgICAlCU9wZW4gYSBuZXcgZmlsZSBpbiBuZXRydydzIGN1cnJlbnQgZGlyZWN0b3J5ICAgICAgICAgfG5ldHJ3LSV8CiAKKwkqbmV0cnctbW91c2UqICpuZXRydy1sZWZ0bW91c2UqICpuZXRydy1taWRkbGVtb3VzZSogKm5ldHJ3LXJpZ2h0bW91c2UqCiAJPGxlZnRtb3VzZT4JKGd2aW0gb25seSkgc2VsZWN0cyB3b3JkIHVuZGVyIG1vdXNlIGFzIGlmIGEgPGNyPgogCQkJaGFkIGJlZW4gcHJlc3NlZCAoaWUuIGVkaXQgZmlsZSwgY2hhbmdlIGRpcmVjdG9yeSkKIAk8bWlkZGxlbW91c2U+CShndmltIG9ubHkpIHNhbWUgYXMgUCBzZWxlY3Rpbmcgd29yZCB1bmRlciBtb3VzZTsKQEAgLTkyOSw3ICsxMDIyLDcgQEAKIAkJICAgICAgICAgKiB0aGUgdXNlciBkb2Vzbid0IGFscmVhZHkgaGF2ZSBhIDwyLWxlZnRtb3VzZT4gbWFwcGluZwogCQkJICAgZGVmaW5lZCBiZWZvcmUgbmV0cncgaXMgYXV0b2xvYWRlZCwKIAkJCXRoZW4gYSBkb3VibGUgY2xpY2tlZCBsZWZ0bW91c2UgYnV0dG9uIHdpbGwgcmV0dXJuCi0JCQl0byB0aGUgbmV0cncgYnJvd3NlciB3aW5kb3cuCisJCQl0byB0aGUgbmV0cncgYnJvd3NlciB3aW5kb3cuICBTZWUgfGc6bmV0cndfcmV0bWFwfC4KIAk8cy1sZWZ0bW91c2U+CShndmltIG9ubHkpIGxpa2UgbWYsIHdpbGwgbWFyayBmaWxlcwogCiAJCQkJKm5ldHJ3LXF1aWNrY29tKiAqbmV0cnctcXVpY2tjb21zKgpAQCAtOTQ2LDEzICsxMDM5LDE4IEBACiAgICAgIDpWZXhwbG9yZVshXSBbZGlyXSBWZXJ0aWNhbCBTcGxpdCAmIEV4cGxvcmUuLi4uLi4uLi4uLi4uLi58bmV0cnctZXhwbG9yZXwKIAogQk9PS01BUktJTkcgQSBESVJFQ1RPUlkJKm5ldHJ3LW1iKiAqbmV0cnctYm9va21hcmsqICpuZXRydy1ib29rbWFya3MqIHt7ezIKKwogT25lIG1heSBlYXNpbHkgImJvb2ttYXJrIiBhIGRpcmVjdG9yeSBieSB1c2luZyA+CiAKLQl7Y250fW1iCisJbWIKIDwKLUFueSBjb3VudCBtYXkgYmUgdXNlZC4gIE9uZSBtYXkgdXNlIHZpbWluZm8ncyAiISIgb3B0aW9uICh8J3ZpbWluZm8nfCkgdG8KLXJldGFpbiBib29rbWFya3MgYmV0d2VlbiB2aW0gc2Vzc2lvbnMuICBTZWUgfG5ldHJ3LWdifCBmb3IgaG93IHRvIHJldHVybgotdG8gYSBib29rbWFyayBhbmQgfG5ldHJ3LXFifCBmb3IgaG93IHRvIGxpc3QgdGhlbS4KK0Jvb2ttYXJrcyBhcmUgcmV0YWluZWQgaW4gYmV0d2VlbiBzZXNzaW9ucyBpbiBhICRIT01FLy5uZXRyd2Jvb2sgZmlsZSwgYW5kIGFyZQora2VwdCBpbiBzb3J0ZWQgb3JkZXIuCisKK1JlbGF0ZWQgVG9waWNzOgorCXxuZXRydy1nYnwgaG93IHRvIHJldHVybiAoZ28pIHRvIGEgYm9va21hcmsKKwl8bmV0cnctbUJ8IGhvdyB0byBkZWxldGUgYm9va21hcmtzCisJfG5ldHJ3LXFifCBob3cgdG8gbGlzdCBib29rbWFya3MKIAogCiBCUk9XU0lORwkJCQkJCSpuZXRydy1jcioge3t7MgpAQCAtOTYwLDcgKzEwNTgsNyBAQAogQnJvd3NpbmcgaXMgc2ltcGxlOiBtb3ZlIHRoZSBjdXJzb3Igb250byBhIGZpbGUgb3IgZGlyZWN0b3J5IG9mIGludGVyZXN0LgogSGl0dGluZyB0aGUgPGNyPiAodGhlIHJldHVybiBrZXkpIHdpbGwgc2VsZWN0IHRoZSBmaWxlIG9yIGRpcmVjdG9yeS4KIERpcmVjdG9yaWVzIHdpbGwgdGhlbXNlbHZlcyBiZSBsaXN0ZWQsIGFuZCBmaWxlcyB3aWxsIGJlIG9wZW5lZCB1c2luZyB0aGUKLXByb3RvY29sIGdpdmVuIGluIHRoZSBvcmlnaW5hbCByZWFkIHJlcXVlc3QuICAKK3Byb3RvY29sIGdpdmVuIGluIHRoZSBvcmlnaW5hbCByZWFkIHJlcXVlc3QuCiAKICAgQ0FWRUFUOiBUaGVyZSBhcmUgZm91ciBmb3JtcyBvZiBsaXN0aW5nIChzZWUgfG5ldHJ3LWl8KS4gIE5ldHJ3IGFzc3VtZXMgdGhhdAogICB0d28gb3IgbW9yZSBzcGFjZXMgZGVsaW1pdCBmaWxlbmFtZXMgYW5kIGRpcmVjdG9yeSBuYW1lcyBmb3IgdGhlIGxvbmcgYW5kCkBAIC05NzUsOCArMTA3Myw4IEBACiA8Y3I+IHdpbGwgY2F1c2UgdGhlIGZpbGUgdG8gYXBwZWFyIGluIGEgbmV3IHRhYi4KIAogCi1XaGVuIHVzaW5nIHRoZSBndWkgKGd2aW0pIG9uZSBtYXkgc2VsZWN0IGEgZmlsZSBieSBwcmVzc2luZyB0aGUgPGxlZnRtb3VzZT4KLWJ1dHRvbi4gIEluIGFkZHRpb24sIGlmCitXaGVuIHVzaW5nIHRoZSBndWkgKGd2aW0pLCBvbmUgbWF5IHNlbGVjdCBhIGZpbGUgYnkgcHJlc3NpbmcgdGhlIDxsZWZ0bW91c2U+CitidXR0b24uICBJbiBhZGRpdGlvbiwgaWYKIAogICp8ZzpuZXRyd19yZXRtYXB8ID09IDEgICAgICBBTkQgICAoaXRzIGRlZmF1bHQgdmFsdWUgaXMgMCkKICAqIGluIGEgbmV0cnctc2VsZWN0ZWQgZmlsZSwgQU5ECkBAIC0xMDE3LDE5ICsxMTE1LDE5IEBACiAKIAlsZXQgZzpuZXRyd19hbHRvID0gMQogCi1pbiB5b3VyIDwudmltcmM+LiAgKGFsc28gc2VlIHxuZXRydy10fCB8bmV0cnctdnwpCi0KLVRoZXJlIGlzIG9ubHkgb25lIHRyZWUgbGlzdGluZyBidWZmZXI7IHVzaW5nICJvIiBvbiBhIGRpc3BsYXllZCBzdWJkaXJlY3RvcnkgCi13aWxsIHNwbGl0IHRoZSBzY3JlZW4sIGJ1dCB0aGUgc2FtZSBidWZmZXIgd2lsbCBiZSBzaG93biB0d2ljZS4KK2luIHlvdXIgPC52aW1yYz4uICAoYWxzbyBzZWUgfG5ldHJ3LXR8IHxuZXRydy1UfCB8bmV0cnctdnwpCiAKIEFzc29jaWF0ZWQgc2V0dGluZyB2YXJpYWJsZXM6IHxnOm5ldHJ3X2FsdG98IHxnOm5ldHJ3X3dpbnNpemV8CiAKIAotQlJPV1NJTkcgV0lUSCBBIE5FVyBUQUIJCQkJKm5ldHJ3LXQqIHt7ezIKK0JST1dTSU5HIFdJVEggQSBORVcgVEFCCQkJCSpuZXRydy10KiAqbmV0cnctVCoge3t7MgogCiBOb3JtYWxseSBvbmUgZW50ZXJzIGEgZmlsZSBvciBkaXJlY3RvcnkgdXNpbmcgdGhlIDxjcj4uICBUaGUgInQiIG1hcAotYWxsb3dzIG9uZSB0byBvcGVuIGEgbmV3IHdpbmRvdyBob2xkIHRoZSBuZXcgZGlyZWN0b3J5IGxpc3Rpbmcgb3IgZmlsZSBpbiBhCi1uZXcgdGFiLiAoYWxzbyBzZWU6IHxuZXRydy1vfCB8bmV0cnctdnwpCithbGxvd3Mgb25lIHRvIG9wZW4gYSBuZXcgd2luZG93IGhvbGRpbmcgdGhlIG5ldyBkaXJlY3RvcnkgbGlzdGluZyBvciBmaWxlIGluCithIG5ldyB0YWIuICBUaGUgIlQiIHZlcnNpb24gcHV0cyB0aGUgZmlsZSBvciBkaXJlY3RvcnkgaW50byBhIGJhY2tncm91bmQgdGFiCisoc2VlIHxnVHwpCisKK1JlbGF0ZWQgYWN0aW9uczogIHxuZXRydy1vfCB8bmV0cnctdnwKIAogCiBCUk9XU0lORyBXSVRIIEEgVkVSVElDQUxMWSBTUExJVCBXSU5ET1cJCQkqbmV0cnctdioge3t7MgpAQCAtMTA0NCwxOCArMTE0MiwxOSBAQAogCiAJbGV0IGc6bmV0cndfYWx0diA9IDEKIAotaW4geW91ciA8LnZpbXJjPi4gIChhbHNvIHNlZTogfG5ldHJ3LW98IHxuZXRydy10fCkKK2luIHlvdXIgPC52aW1yYz4uICAoYWxzbyBzZWU6IHxuZXRydy1vfCB8bmV0cnctdHwgfG5ldHJ3LVR8KQogCi1UaGVyZSBpcyBvbmx5IG9uZSB0cmVlIGxpc3RpbmcgYnVmZmVyOyB1c2luZyAidiIgb24gYSBkaXNwbGF5ZWQgc3ViZGlyZWN0b3J5IAorVGhlcmUgaXMgb25seSBvbmUgdHJlZSBsaXN0aW5nIGJ1ZmZlcjsgdXNpbmcgInYiIG9uIGEgZGlzcGxheWVkIHN1YmRpcmVjdG9yeQogd2lsbCBzcGxpdCB0aGUgc2NyZWVuLCBidXQgdGhlIHNhbWUgYnVmZmVyIHdpbGwgYmUgc2hvd24gdHdpY2UuCiAKIEFzc29jaWF0ZWQgc2V0dGluZyB2YXJpYWJsZTogfGc6bmV0cndfYWx0dnwgfGc6bmV0cndfd2luc2l6ZXwKIAotQ0hBTkdFIExJU1RJTkcgU1RZTEUJCQkJCSpuZXRydy1pKiB7e3syCisKK0NIQU5HRSBMSVNUSU5HIFNUWUxFICAoVEhJTiBMT05HIFdJREUgVFJFRSkgICAJCQkqbmV0cnctaSoge3t7MgogCiBUaGUgImkiIG1hcCBjeWNsZXMgYmV0d2VlbiB0aGUgdGhpbiwgbG9uZywgd2lkZSwgYW5kIHRyZWUgbGlzdGluZyBmb3JtYXRzLgogCi1UaGUgc2hvcnQgbGlzdGluZyBmb3JtYXQgZ2l2ZXMganVzdCB0aGUgZmlsZXMnIGFuZCBkaXJlY3RvcmllcycgbmFtZXMuCitUaGUgdGhpbiBsaXN0aW5nIGZvcm1hdCBnaXZlcyBqdXN0IHRoZSBmaWxlcycgYW5kIGRpcmVjdG9yaWVzJyBuYW1lcy4KIAogVGhlIGxvbmcgbGlzdGluZyBpcyBlaXRoZXIgYmFzZWQgb24gdGhlICJscyIgY29tbWFuZCB2aWEgc3NoIGZvciByZW1vdGUKIGRpcmVjdG9yaWVzIG9yIGRpc3BsYXlzIHRoZSBmaWxlbmFtZSwgZmlsZSBzaXplIChpbiBieXRlcyksIGFuZCB0aGUgdGltZSBhbmQKQEAgLTEwNzEsMTMgKzExNzAsMjMgQEAKIAogVGhlIHRyZWUgbGlzdGluZyBmb3JtYXQgaGFzIGEgdG9wIGRpcmVjdG9yeSBmb2xsb3dlZCBieSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMKIHByZWNlZGVkIGJ5IGEgInwiLiAgT25lIG1heSBvcGVuIGFuZCBjbG9zZSBkaXJlY3RvcmllcyBieSBwcmVzc2luZyB0aGUgPGNyPgota2V5IHdoaWxlIGF0b3AgdGhlIGRpcmVjdG9yeSBuYW1lLiAgVGhlcmUgaXMgb25seSBvbmUgdHJlZSBsaXN0aW5nIGJ1ZmZlcjsKLWhlbmNlLCB1c2luZyAidiIgb3IgIm8iIG9uIGEgc3ViZGlyZWN0b3J5IHdpbGwgb25seSBzaG93IHRoZSBzYW1lIGJ1ZmZlciwKLXR3aWNlLgora2V5IHdoaWxlIGF0b3AgdGhlIGRpcmVjdG9yeSBuYW1lLgorCitPbmUgbWF5IG1ha2UgYSBwcmVmZXJyZWQgbGlzdGluZyBzdHlsZSB5b3VyIGRlZmF1bHQ7IHNlZSB8ZzpuZXRyd19saXN0c3R5bGV8LgorQXMgYW4gZXhhbXBsZSwgYnkgcHV0dGluZyB0aGUgZm9sbG93aW5nIGxpbmUgaW4geW91ciAudmltcmMsID4KKwlsZXQgZzpuZXRyd19saXN0c3R5bGU9IDQKK3RoZSB0cmVlIHN0eWxlIHdpbGwgYmVjb21lIHlvdXIgZGVmYXVsdCBsaXN0aW5nIHN0eWxlLgogCiBBc3NvY2lhdGVkIHNldHRpbmcgdmFyaWFibGVzOiB8ZzpuZXRyd19saXN0c3R5bGV8IHxnOm5ldHJ3X21heGZpbGVuYW1lbGVufAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfGc6bmV0cndfdGltZWZtdHwgICB8ZzpuZXRyd19saXN0X2NtZHwKIAorQ0hBTkdFIEZJTEUgUEVSTUlTU0lPTgkJCQkJCSpuZXRydy1ncCoge3t7MgorCisiZ3AiIHdpbGwgYXNrIHlvdSBmb3IgYSBuZXcgcGVybWlzc2lvbiBmb3IgdGhlIGZpbGUgbmFtZWQgdW5kZXIgdGhlIGN1cnNvci4KK0N1cnJlbnRseSwgdGhpcyBvbmx5IHdvcmtzIGZvciBsb2NhbCBmaWxlcy4KKworQXNzb2NpYXRlZCBzZXR0aW5nIHZhcmlhYmxlczogfGc6bmV0cndfY2hncGVybXwKKwogCiBDSEFOR0lORyBUTyBBIEJPT0tNQVJLRUQgRElSRUNUT1JZCQkJKm5ldHJ3LWdiKiAge3t7MgogCkBAIC0xMDg1LDggKzExOTQsMTIgQEAKIAogCXtjbnR9Z2IKIAotQW55IGNvdW50IG1heSBiZSB1c2VkIHRvIHJlZmVyZW5jZSBhbnkgb2YgdGhlIGJvb2ttYXJrcy4gIFNlZSB8bmV0cnctbWJ8IG9uCi1ob3cgdG8gYm9va21hcmsgYSBkaXJlY3RvcnkgYW5kIHxuZXRydy1xYnwgb24gaG93IHRvIGxpc3QgYm9va21hcmtzLgorQW55IGNvdW50IG1heSBiZSB1c2VkIHRvIHJlZmVyZW5jZSBhbnkgb2YgdGhlIGJvb2ttYXJrcy4KKworUmVsYXRlZCBUb3BpY3M6CisJfG5ldHJ3LW1CfCBob3cgdG8gZGVsZXRlIGJvb2ttYXJrcworCXxuZXRydy1tYnwgaG93IHRvIG1ha2UgYSBib29rbWFyaworCXxuZXRydy1xYnwgaG93IHRvIGxpc3QgYm9va21hcmtzCiAKIAogQ0hBTkdJTkcgVE8gQSBQUkVERUNFU1NPUiBESVJFQ1RPUlkJKm5ldHJ3LXUqICpuZXRydy11cGRpcioge3t7MgpAQCAtMTE0MSw3ICsxMjU0LDcgQEAKICAgICBJZiBnOm5ldHJ3X2Jyb3dzZXhfdmlld2VyID09ICctJywgdGhlbiBuZXRyd0ZpbGVIYW5kbGVyKCkgd2lsbCBiZQogICAgIGludm9rZWQgZmlyc3QgKHNlZSB8bmV0cndfZmlsZWhhbmRsZXJ8KS4KIAotICAqIGZvciBXaW5kb3dzIDMyIG9yIDY0LCB0aGUgdXJsIGFuZCBGaWxlUHJvdG9jb2xIYW5kbGVyIGRsbHMgYXJlIHVzZWQuICAKKyAgKiBmb3IgV2luZG93cyAzMiBvciA2NCwgdGhlIHVybCBhbmQgRmlsZVByb3RvY29sSGFuZGxlciBkbGxzIGFyZSB1c2VkLgogICAqIGZvciBHbm9tZSAod2l0aCBnbm9tZS1vcGVuKTogZ25vbWUtb3BlbiBpcyB1c2VkLgogICAqIGZvciBLREUgKHdpdGgga2ZtY2xpZW50KSAgIDoga2ZtY2xpZW50IGlzIHVzZWQuCiAgICogZm9yIE1hYyBPUyBYICAgICAgICAgICAgICAgOiBvcGVuIGlzIHVzZWQuCkBAIC0xMTYxLDcgKzEyNzQsNyBAQAogICAgICAgICAgICAgICAgICAgTkZIX2h0bWwoInNjcDovL3VzZXJAaG9zdC9zb21lL3BhdGgvbXlwZ20uaHRtbCIpCiA8CiBVc2VycyBtYXkgd3JpdGUgdGhlaXIgb3duIG5ldHJ3IEZpbGUgSGFuZGxlciBmdW5jdGlvbnMgdG8gc3VwcG9ydCBtb3JlCi1zdWZmaXhlcyB3aXRoIHNwZWNpYWwgaGFuZGxpbmcuICBTZWUgPHBsdWdpbi9uZXRyd0ZpbGVIYW5kbGVycy52aW0+IGZvcgorc3VmZml4ZXMgd2l0aCBzcGVjaWFsIGhhbmRsaW5nLiAgU2VlIDxhdXRvbG9hZC9uZXRyd0ZpbGVIYW5kbGVycy52aW0+IGZvcgogZXhhbXBsZXMgb24gaG93IHRvIG1ha2UgZmlsZSBoYW5kbGVyIGZ1bmN0aW9ucy4gICBBcyBhbiBleGFtcGxlOiA+CiAKIAkiIE5GSF9zdWZmaXgoZmlsZW5hbWUpCkBAIC0xMTc1LDExICsxMjg4LDExIEBACiBjb250YWluIHN1Y2ggY2hhcmFjdGVycywgbmV0cncgd2lsbCBmaXJzdCBjb252ZXJ0IHRoZSBzdWZmaXggdXNpbmcgdGhlCiBmb2xsb3dpbmcgdGFibGU6ID4KIAotICAgIEAgLT4gQVQgICAgICAgISAtPiBFWENMQU1BVElPTiAgICAlIC0+IFBFUkNFTlQgIAotICAgIDogLT4gQ09MT04gICAgPSAtPiBFUVVBTCAgICAgICAgICA/IC0+IFFVRVNUSU9OIAorICAgIEAgLT4gQVQgICAgICAgISAtPiBFWENMQU1BVElPTiAgICAlIC0+IFBFUkNFTlQKKyAgICA6IC0+IENPTE9OICAgID0gLT4gRVFVQUwgICAgICAgICAgPyAtPiBRVUVTVElPTgogICAgICwgLT4gQ09NTUEgICAgLSAtPiBNSU5VUyAgICAgICAgICA7IC0+IFNFTUlDT0xPTgotICAgICQgLT4gRE9MTEFSICAgKyAtPiBQTFVTICAgICAgICAgICB+IC0+IFRJTERFICAgIAotPCAgICAKKyAgICAkIC0+IERPTExBUiAgICsgLT4gUExVUyAgICAgICAgICAgfiAtPiBUSUxERQorPAogU28sIGZvciBleGFtcGxlOiA+CiAKIAlmaWxlLnJjcyx2ICAtPiAgTkZIX3Jjc0NPTU1BdigpCkBAIC0xMTkxLDYgKzEzMDQsMTggQEAKIEFzc29jaWF0ZWQgc2V0dGluZyB2YXJpYWJsZTogfGc6bmV0cndfYnJvd3NleF92aWV3ZXJ8CiAKIAkJCQkJCQkqbmV0cnctY3VyZGlyKgorREVMRVRJTkcgQk9PS01BUktTCQkJCQkqbmV0cnctbUIqIHt7ezIKKworVG8gZGVsZXRlIGEgYm9va21hcmssIHVzZSA+CisKKwl7Y250fW1CCis8CitSZWxhdGVkIFRvcGljczoKKwl8bmV0cnctZ2J8IGhvdyB0byByZXR1cm4gKGdvKSB0byBhIGJvb2ttYXJrCisJfG5ldHJ3LW1ifCBob3cgdG8gbWFrZSBhIGJvb2ttYXJrCisJfG5ldHJ3LXFifCBob3cgdG8gbGlzdCBib29rbWFya3MKKworCiBERUxFVElORyBGSUxFUyBPUiBESVJFQ1RPUklFUwkqbmV0cnctZGVsZXRlKiAqbmV0cnctRCogKm5ldHJ3LWRlbCoge3t7MgogCiBJZiBmaWxlcyBoYXZlIG5vdCBiZWVuIG1hcmtlZCB3aXRoIHxuZXRydy1tZnw6ICAgKGxvY2FsIG1hcmtlZCBmaWxlIGxpc3QpCkBAIC0xMjMyLDEyICsxMzU3LDEyIEBACiAqbmV0cnctcmV4cGxvcmUqICpuZXRydy1zZXhwbG9yZSogKm5ldHJ3LXRleHBsb3JlKiAqbmV0cnctdmV4cGxvcmUqCiBESVJFQ1RPUlkgRVhQTE9SQVRJT04gQ09NTUFORFMgIHt7ezIKIAotICAgICA6RXhwbG9yZVshXSAgIFtkaXJdLi4uIEV4cGxvcmUgZGlyZWN0b3J5IG9mIGN1cnJlbnQgZmlsZSAgICAgICAqOkV4cGxvcmUqCi0gICAgIDpIZXhwbG9yZVshXSAgW2Rpcl0uLi4gSG9yaXpvbnRhbCBTcGxpdCAmIEV4cGxvcmUgICAgICAgICAgICAgICo6SGV4cGxvcmUqCi0gICAgIDpSZXhwbG9yZSAgICAgICAgICAuLi4gUmV0dXJuIHRvIEV4cGxvcmVyICAgICAgICAgICAgICAgICAgICAgICo6UmV4cGxvcmUqCi0gICAgIDpTZXhwbG9yZVshXSAgW2Rpcl0uLi4gU3BsaXQmRXhwbG9yZSBkaXJlY3Rvcnkgb2YgY3VycmVudCBmaWxlICo6U2V4cGxvcmUqCi0gICAgIDpUZXhwbG9yZSAgICAgW2Rpcl0uLi4gVGFiICAgICAgICAgICAgICAmIEV4cGxvcmUgICAgICAgICAgICAgICo6VGV4cGxvcmUqCi0gICAgIDpWZXhwbG9yZVshXSAgW2Rpcl0uLi4gVmVydGljYWwgICBTcGxpdCAmIEV4cGxvcmUgICAgICAgICAgICAgICo6VmV4cGxvcmUqCisgICAgIDpbTl1FeHBsb3JlWyFdICBbZGlyXS4uLiBFeHBsb3JlIGRpcmVjdG9yeSBvZiBjdXJyZW50IGZpbGUgICAgICAqOkV4cGxvcmUqCisgICAgIDpbTl1IZXhwbG9yZVshXSBbZGlyXS4uLiBIb3Jpem9udGFsIFNwbGl0ICYgRXhwbG9yZSAgICAgICAgICAgICAqOkhleHBsb3JlKgorICAgICA6UmV4cGxvcmUgICAgICAgICAgICAuLi4gUmV0dXJuIHRvIEV4cGxvcmVyICAgICAgICAgICAgICAgICAgICAgKjpSZXhwbG9yZSoKKyAgICAgOltOXVNleHBsb3JlWyFdIFtkaXJdLi4uIFNwbGl0JkV4cGxvcmUgY3VycmVudCBmaWxlJ3MgZGlyZWN0b3J5ICo6U2V4cGxvcmUqCisgICAgIDpUZXhwbG9yZSAgICAgICBbZGlyXS4uLiBUYWIgICAgICAgICAgICAgICYgRXhwbG9yZSAgICAgICAgICAgICAqOlRleHBsb3JlKgorICAgICA6W05dVmV4cGxvcmVbIV0gW2Rpcl0uLi4gVmVydGljYWwgICBTcGxpdCAmIEV4cGxvcmUgICAgICAgICAgICAgKjpWZXhwbG9yZSoKIAogICAgICBVc2VkIHdpdGggOkV4cGxvcmUgKiovcGF0dGVybiA6IChhbHNvIHNlZSB8bmV0cnctc3RhcnN0YXJ8KQogICAgICA6TmV4cGxvcmUuLi4uLi4uLi4uLi4uIGdvIHRvIG5leHQgbWF0Y2hpbmcgZmlsZSAgICAgICAgICAgICAgICAqOk5leHBsb3JlKgpAQCAtMTI1OSwxNyArMTM4NCwyMSBAQAogOlZleHBsb3JlISBbZGlyXSBkb2VzIGFuIDpFeHBsb3JlIHdpdGggfDpyaWdodGJlbG93fCB2ZXJ0aWNhbCBzcGxpdHRpbmcuCiA6VGV4cGxvcmUgIFtkaXJdIGRvZXMgYSB0YWJuZXcgYmVmb3JlIGdlbmVyYXRpbmcgdGhlIGJyb3dzZXIgd2luZG93CiAKLUJ5IGRlZmF1bHQsIHRoZXNlIGNvbW1hbmRzIHVzZSB0aGUgY3VycmVudCBmaWxlJ3MgZGlyZWN0b3J5LiAgSG93ZXZlciwgb25lCi1tYXkgZXhwbGljaXRseSBwcm92aWRlIGEgZGlyZWN0b3J5IChwYXRoKSB0byB1c2UuCitCeSBkZWZhdWx0LCB0aGVzZSBjb21tYW5kcyB1c2UgdGhlIGN1cnJlbnQgZmlsZSdzIGRpcmVjdG9yeS4gIEhvd2V2ZXIsIG9uZSBtYXkKK2V4cGxpY2l0bHkgcHJvdmlkZSBhIGRpcmVjdG9yeSAocGF0aCkgdG8gdXNlLgogCi1UaGUgfGc6bmV0cndfd2luc2l6ZXwgdmFyaWFibGUgYWxzbyBpcyB1c2VkLCBpZiBzcGVjaWZpZWQgYnkgdGhlIHVzZXIsIHRvCi1zaXplIEhleHBsb3JlIGFuZCBWZXhwbG9yZSB3aW5kb3dzLgorVGhlIFtOXSB3aWxsIG92ZXJyaWRlIHxnOm5ldHJ3X3dpbnNpemV8IHRvIHNwZWNpZnkgdGhlIHF1YW50aXR5IG9mIHJvd3MgYW5kL29yCitjb2x1bW5zIHRoZSBuZXcgZXhwbG9yZXIgd2luZG93IHNob3VsZCBoYXZlLgorCitPdGhlcndpc2UsIHRoZSB8ZzpuZXRyd193aW5zaXplfCB2YXJpYWJsZSwgaWYgaXQgaGFzIGJlZW4gc3BlY2lmaWVkIGJ5IHRoZQordXNlciwgaXMgdXNlZCB0byBjb250cm9sIHRoZSBxdWFudGl0eSBvZiByb3dzIGFuZC9vciBjb2x1bW5zIG5ldyBleHBsb3Jlcgord2luZG93cyBzaG91bGQgaGF2ZS4KIAogOlJleHBsb3JlICBUaGlzIGNvbW1hbmQgaXMgYSBsaXR0bGUgZGlmZmVyZW50IGZyb20gdGhlIG90aGVycy4gIFdoZW4gb25lCiAgICAgICAgICAgIGVkaXRzIGEgZmlsZSwgZm9yIGV4YW1wbGUgYnkgcHJlc3NpbmcgPGNyPiB3aGVuIGF0b3AgYSBmaWxlIGluCiAJICAgYSBuZXRydyBicm93c2VyIHdpbmRvdywgOlJleHBsb3JlIHdpbGwgcmV0dXJuIHRoZSBkaXNwbGF5IHRvCi0JICAgdGhhdCBvZiB0aGUgbGFzdCBuZXRydyBicm93c2VyIHdpbmRvdy4gIEl0cyBhIGNvbW1hbmQgdmVyc2lvbgotCSAgIG9mIDwyLWxlZnRtb3VzZT4gKHdoaWNoIGlzIG9ubHkgYXZhaWxhYmxlIHVuZGVyIGd2aW0gYW5kCisJICAgdGhhdCBvZiB0aGUgbGFzdCBuZXRydyBicm93c2VyIHdpbmRvdy4gIEl0IGlzIGEgY29tbWFuZCB2ZXJzaW9uCisJICAgb2YgdGhlIDwyLWxlZnRtb3VzZT4gbWFwICh3aGljaCBpcyBvbmx5IGF2YWlsYWJsZSB1bmRlciBndmltIGFuZAogCSAgIGNvb3BlcmF0aXZlIHRlcm1zKS4KIAogCkBAIC0xMjgyLDExICsxNDExLDExIEBACiAKICAgICAqL2ZpbGVwYXQJZmlsZXMgaW4gY3VycmVudCBkaXJlY3Rvcnkgd2hpY2ggc2F0aXNmeSBmaWxlcGF0CiAgICAgKiovZmlsZXBhdAlmaWxlcyBpbiBjdXJyZW50IGRpcmVjdG9yeSBvciBiZWxvdyB3aGljaCBzYXRpc2Z5IHRoZQotICAgIAkJZmlsZSBwYXR0ZXJuCisJCWZpbGUgcGF0dGVybgogICAgICovL3BhdHRlcm4JZmlsZXMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHdoaWNoIGNvbnRhaW4gdGhlCi0gICAgCQlwYXR0ZXJuICh2aW1ncmVwIGlzIHVzZWQpCisJCXBhdHRlcm4gKHZpbWdyZXAgaXMgdXNlZCkKICAgICAqKi8vcGF0dGVybglmaWxlcyBpbiB0aGUgY3VycmVudCBkaXJlY3Rvcnkgb3IgYmVsb3cgd2hpY2ggY29udGFpbgotICAgIAkJdGhlIHBhdHRlcm4gKHZpbWdyZXAgaXMgdXNlZCkKKwkJdGhlIHBhdHRlcm4gKHZpbWdyZXAgaXMgdXNlZCkKIDwKIFRoZSBjdXJzb3Igd2lsbCBiZSBwbGFjZWQgb24gdGhlIGZpcnN0IGZpbGUgaW4gdGhlIGxpc3QuICBPbmUgbWF5IHRoZW4KIGNvbnRpbnVlIHRvIGdvIHRvIHN1YnNlcXVlbnQgZmlsZXMgb24gdGhhdCBsaXN0IHZpYSB8Ok5leHBsb3JlfCBvciB0bwpAQCAtMTMzOSw2ICsxNDY4LDE4IEBACiBUaGUgImdoIiBtYXBwaW5nIChzZWUgfG5ldHJ3LWdofCkgcXVpY2tseSBhbHRlcm5hdGVzIGJldHdlZW4gdGhlIHVzdWFsCiBoaWRpbmcgbGlzdCBhbmQgdGhlIGhpZGluZyBvZiBmaWxlcyBvciBkaXJlY3RvcmllcyB0aGF0IGJlZ2luIHdpdGggIi4iLgogCitBcyBhbiBleGFtcGxlLCA+CisJbGV0IGc6bmV0cndfbGlzdF9oaWRlPSAnXCheXHxcc1xzXClcenNcLlxTXCsnCitFZmZlY3RpdmVseSwgdGhpcyBtYWtlcyB0aGUgZWZmZWN0IG9mIGEgfG5ldHJ3LWdofCBjb21tYW5kIHRoZSBpbml0aWFsIHNldHRpbmcuCitXaGF0IGl0IG1lYW5zOgorCisJXCheXHxcc1xzXCkgICA6IGlmIHRoZSBsaW5lIGJlZ2lucyB3aXRoIHRoZSBmb2xsb3dpbmcsIC1vci0KKwkgICAgICAgICAgICAgICAgdHdvIGNvbnNlY3V0aXZlIHNwYWNlcyBhcmUgZW5jb3VudGVyZWQKKwlcenMgICAgICAgICAgIDogc3RhcnQgdGhlIGhpZGluZyBtYXRjaCBub3cKKwlcLiAgICAgICAgICAgIDogaWYgaXQgbm93IGJlZ2lucyB3aXRoIGEgZG90CisJXFNcKyAgICAgICAgICA6IGFuZCBpcyBmb2xsb3dlZCBieSBvbmUgb3IgbW9yZSBub24td2hpdGVzcGFjZQorCSAgICAgICAgICAgICAgICBjaGFyYWN0ZXJzCisKIEFzc29jaWF0ZWQgc2V0dGluZyB2YXJpYWJsZXM6IHxnOm5ldHJ3X2hpZGV8IHxnOm5ldHJ3X2xpc3RfaGlkZXwKIEFzc29jaWF0ZWQgdG9waWNzOiB8bmV0cnctYXwgfG5ldHJ3LWdofCB8bmV0cnctbWh8CiAKQEAgLTEzNDksNyArMTQ5MCwxMiBAQAogKGc6bmV0cndfc29ydF9zZXF1ZW5jZSkuICBUaGUgc29ydGluZyBzZXF1ZW5jZSB0eXBpY2FsbHkgcHJpb3JpdGl6ZXMgdGhlCiBuYW1lLWxpc3RpbmcgYnkgc3VmZml4LCBhbHRob3VnaCBhbnkgcGF0dGVybiB3aWxsIGRvLiAgUGF0dGVybnMgYXJlIGRlbGltaXRlZAogYnkgY29tbWFzLiAgVGhlIGRlZmF1bHQgc29ydGluZyBzZXF1ZW5jZSBpcyAoYWxsIG9uZSBsaW5lKToKLT4KKworRm9yIFVuaXg6ID4KKwknW1wvXSQsXDxjb3JlXCUoXC5cZFwrXClcPSxcLlthLW5wLXpdJCxcLmgkLFwuYyQsXC5jcHAkLCosXC5vJCxcLm9iaiQsCisJXC5pbmZvJCxcLnN3cCQsXC5iYWskLFx+JCcKKzwKK090aGVyd2lzZTogPgogCSdbXC9dJCxcLlthLW5wLXpdJCxcLmgkLFwuYyQsXC5jcHAkLCosXC5vJCxcLm9iaiQsXC5pbmZvJCwKIAlcLnN3cCQsXC5iYWskLFx+JCcKIDwKQEAgLTE1MDgsMTEgKzE2NTQsMTUgQEAKIAogTElTVElORyBCT09LTUFSS1MgQU5EIEhJU1RPUlkJCSpuZXRydy1xYiogKm5ldHJ3LWxpc3Rib29rbWFyayoge3t7MgogCi1QcmVzc2luZyAicWIiIChxdWVyeSBib29rbWFya3MpIHdpbGwgbGlzdCB0aGUgYm9va21hcmtlZCBkaXJlY3RvcmllcyBhbmQKLWRpcmVjdG9yeSB0cmF2ZXJzYWwgaGlzdG9yeSAocXVlcnkpLgorUHJlc3NpbmcgInFiIiAocXVlcnkgYm9va21hcmtzKSB3aWxsIGxpc3QgYm90aCB0aGUgYm9va21hcmtlZCBkaXJlY3RvcmllcyBhbmQKK2RpcmVjdG9yeSB0cmF2ZXJzYWwgaGlzdG9yeS4KIAotKHNlZSB8bmV0cnctbWJ8LCB8bmV0cnctZ2J8LCB8bmV0cnctdXwsIGFuZCB8bmV0cnctVXwpCi0KK1JlbGF0ZWQgVG9waWNzOgorCXxuZXRydy1nYnwgaG93IHRvIHJldHVybiAoZ28pIHRvIGEgYm9va21hcmsKKwl8bmV0cnctbWJ8IGhvdyB0byBtYWtlIGEgYm9va21hcmsKKwl8bmV0cnctbUJ8IGhvdyB0byBkZWxldGUgYm9va21hcmtzCisJfG5ldHJ3LXV8ICBjaGFuZ2UgdG8gYSBwcmVkZWNlc3NvciBkaXJlY3RvcnkgdmlhIHRoZSBoaXN0b3J5IHN0YWNrCisJfG5ldHJ3LVV8ICBjaGFuZ2UgdG8gYSBzdWNjZXNzb3IgICBkaXJlY3RvcnkgdmlhIHRoZSBoaXN0b3J5IHN0YWNrCiAKIE1BS0lORyBBIE5FVyBESVJFQ1RPUlkJCQkJCSpuZXRydy1kKiB7e3syCiAKQEAgLTE1ODQsMTAgKzE3MzQsMTEgQEAKIAkoYWxzbyBzZWUgfG5ldHJ3LW1mfCkKIAogT25lIG1heSBhbHNvIG1hcmsgZmlsZXMgYnkgcHJlc3NpbmcgIm1yIjsgbmV0cncgd2lsbCB0aGVuIGlzc3VlIGEgcHJvbXB0LAotIkVudGVyIHJlZ2V4cDogIi4gIFlvdSBtYXkgdGhlbiBlbnRlciBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBzdWNoIGFzIFwuYyQgLgotQWxsIGZpbGVzIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB3aWxsIHRoZW4gYmUgbWFya2VkLiAgTm90ZSB0aGF0IHRoZQotcmVndWxhciBleHByZXNzaW9ucyBhcmUgdmltLXN0eWxlIHxyZWdleHB8IG9uZXMsIG5vdCBzaGVsbCBvbmVzLiAgU28KLWVudGVyaW5nICouYyBwcm9iYWJseSBpc24ndCB3aGF0IHlvdSB3YW50IQorIkVudGVyIHJlZ2V4cDogIi4gIFlvdSBtYXkgdGhlbiBlbnRlciBhIHNoZWxsLXN0eWxlIHJlZ3VsYXIgZXhwcmVzc2lvbiBzdWNoCithcyAqLmMkIChzZWUgfGdsb2IoKXwpLiAgRm9yIHJlbW90ZSBzeXN0ZW1zLCBnbG9iKCkgZG9lc24ndCB3b3JrIC0tIHNvIG5ldHJ3Citjb252ZXJ0cyAiKiIgaW50byAiLioiIChzZWUgfHJlZ2V4cHwpIGFuZCBtYXJrcyBmaWxlcyBiYXNlZCBvbiB0aGF0LiAgSW4gdGhlCitmdXR1cmUgSSBtYXkgbWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgfHJlZ2V4cHxzIGluc3RlYWQgb2YgZ2xvYigpLXN0eWxlCitleHByZXNzaW9ucyAoeWV0LWFub3RoZXItb3B0aW9uKS4KIAogCiBNQVJLRUQgRklMRVM6IEFSQklUUkFSWSBDT01NQU5ECQkJCSpuZXRydy1teCoge3t7MgpAQCAtMTY3MCw3ICsxODIxLDcgQEAKIAlmaXJzdCBvciBkbyB0aGUgY29weSBhbmQgdGhlbiBkZWxldGUgeW91cnNlbGYgdXNpbmcgbWMgYW5kIEQuCiAJVXNlIGF0IHlvdXIgb3duIHJpc2shCiAKLVNlbGVjdCBhIHRhcmdldCBkaXJlY3Rvcnkgd2l0aCBtVCAofG5ldHJ3LW10fCkuICBUaGVuIGNoYW5nZSBkaXJlY3RvcnksCitTZWxlY3QgYSB0YXJnZXQgZGlyZWN0b3J5IHdpdGggbXQgKHxuZXRydy1tdHwpLiAgVGhlbiBjaGFuZ2UgZGlyZWN0b3J5LAogc2VsZWN0IGZpbGUocykgKHNlZSB8bmV0cnctbWZ8KSwgYW5kIHByZXNzICJtbSIuCiAKIEFzc29jaWF0ZWQgc2V0dGluZyB2YXJpYWJsZTogfGc6bmV0cndfbG9jYWxtb3ZlY21kfCB8ZzpuZXRyd19zc2hfY21kfApAQCAtMTY5NSw3ICsxODQ2LDcgQEAKIAkgICAgKFNlZSB8bmV0cnctbWZ8IGFuZCB8bmV0cnctbXJ8IGZvciBob3cgdG8gbWFyayBmaWxlcykKIAkJICAgICAgKHVzZXMgdGhlIGdsb2JhbCBtYXJrZWQgZmlsZSBsaXN0KQogCi1UaGUgIm10IiBtYXBwaW5nIHdpbGwgYXBwbHkgdGhlIGNvbW1hbmQgaW4gfGc6bmV0cndfY3RhZ3N8IChieSBkZWZhdWx0LCBpdHMKK1RoZSAibVQiIG1hcHBpbmcgd2lsbCBhcHBseSB0aGUgY29tbWFuZCBpbiB8ZzpuZXRyd19jdGFnc3wgKGJ5IGRlZmF1bHQsIGl0IGlzCiAiY3RhZ3MiKSB0byBtYXJrZWQgZmlsZXMuICBGb3IgcmVtb3RlIGJyb3dzaW5nLCBpbiBvcmRlciB0byBjcmVhdGUgYSB0YWdzIGZpbGUKIG5ldHJ3IHdpbGwgdXNlIHNzaCAoc2VlIHxnOm5ldHJ3X3NzaF9jbWR8KSwgYW5kIHNvIHNzaCBtdXN0IGJlIGF2YWlsYWJsZSBmb3IKIHRoaXMgdG8gd29yayBvbiByZW1vdGUgc3lzdGVtcy4gIEZvciB5b3VyIGxvY2FsIHN5c3RlbSwgc2VlIHxjdGFnc3wgb24gaG93IHRvCkBAIC0xNzQzLDcgKzE4OTQsNyBAQAogCiBORVRSVyBCUk9XU0VSIFZBUklBQkxFUwkJKm5ldHJ3LWJyb3dzZXItb3B0aW9ucyogKm5ldHJ3LWJyb3dzZXItdmFyKiB7e3syCiAKLShpZiB5b3UncmUgaW50ZXJlc3RkIGluIHRoZSBuZXRydyBmaWxlIHRyYW5zZmVyIHNldHRpbmdzLCBzZWUgfG5ldHJ3LW9wdGlvbnN8KQorKGlmIHlvdSdyZSBpbnRlcmVzdGVkIGluIHRoZSBuZXRydyBmaWxlIHRyYW5zZmVyIHNldHRpbmdzLCBzZWUgfG5ldHJ3LW9wdGlvbnN8KQogCiBUaGUgPG5ldHJ3LnZpbT4gYnJvd3NlciBwcm92aWRlcyBzZXR0aW5ncyBpbiB0aGUgZm9ybSBvZiB2YXJpYWJsZXMgd2hpY2gKIHlvdSBtYXkgbW9kaWZ5OyBieSBwbGFjaW5nIHRoZXNlIHNldHRpbmdzIGluIHlvdXIgPC52aW1yYz4sIHlvdSBtYXkgY3VzdG9taXplCkBAIC0xNzYwLDEyICsxOTExLDIxIEBACiAJCQkJYnkgc2V0dGluZyB0aGlzIHZhcmlhYmxlIChzZWUgfG5ldHJ3LXZ8KQogCQkJCSBkZWZhdWx0OiA9JnNwciAgICAgICAgICAoc2VlIHwnc3ByJ3wpCiAKKyAgKmc6bmV0cndfYmFubmVyKgkJZW5hYmxlL3N1cHByZXNzIHRoZSBiYW5uZXIKKwkJCQk9MDogc3VwcHJlc3MgdGhlIGJhbm5lcgorCQkJCT0xOiBiYW5uZXIgaXMgZW5hYmxlZCAoZGVmYXVsdCkKKwkJCQlOT1RFOiBzdXBwcmVzc2luZyB0aGUgYmFubmVyIGlzIGEgbmV3IGZlYXR1cmUKKwkJCQl3aGljaCBtYXkgY2F1c2UgcHJvYmxlbXMuCisKICAgKmc6bmV0cndfYnJvd3NlX3NwbGl0Kgl3aGVuIGJyb3dzaW5nLCA8Y3I+IHdpbGwgb3BlbiB0aGUgZmlsZSBieToKIAkJCQk9MDogcmUtdXNpbmcgdGhlIHNhbWUgd2luZG93Ci0JCQkJPTE6IGhvcml6b250YWxseSBzcGxpdHRpbmcgdGhlIHdpbmRvdyBmaXJzdCAgCi0JCQkJPTI6IHZlcnRpY2FsbHkgICBzcGxpdHRpbmcgdGhlIHdpbmRvdyBmaXJzdCAgCisJCQkJPTE6IGhvcml6b250YWxseSBzcGxpdHRpbmcgdGhlIHdpbmRvdyBmaXJzdAorCQkJCT0yOiB2ZXJ0aWNhbGx5ICAgc3BsaXR0aW5nIHRoZSB3aW5kb3cgZmlyc3QKIAkJCQk9Mzogb3BlbiBmaWxlIGluIG5ldyB0YWIKIAkJCQk9NDogYWN0IGxpa2UgIlAiIChpZS4gb3BlbiBwcmV2aW91cyB3aW5kb3cpCisJCQkJICAgIE5vdGUgdGhhdCB8ZzpuZXRyd19wcmV2aWV3fCBtYXkgYmUgdXNlZAorCQkJCSAgICB0byBnZXQgdmVydGljYWwgc3BsaXR0aW5nIGluc3RlYWQgb2YKKwkJCQkgICAgaG9yaXpvbnRhbCBzcGxpdHRpbmcuCiAKICAgKmc6bmV0cndfYnJvd3NleF92aWV3ZXIqCXNwZWNpZnkgdXNlcidzIHByZWZlcmVuY2UgZm9yIGEgdmlld2VyOiA+CiAJCQkJCSJrZm1jbGllbnQgZXhlYyIKQEAgLTE3NzYsNiArMTkzNiwxMCBAQAogCQkJCWEgc2NyaXB0L2Z1bmN0aW9uIHRvIGhhbmRsZSB0aGUgZ2l2ZW4KIAkJCQlleHRlbnNpb24uICAoc2VlIHxuZXRyd19maWxlaGFuZGxlcnwpLgogCisgICpnOm5ldHJ3X2NoZ3Blcm0qCQlVbml4L0xpbnV4OiAiY2htb2QgUEVSTSBGSUxFTkFNRSIKKwkJCQlXaW5kb3dzOiAgICAiY2FjbHMgRklMRU5BTUUgL2UgL3AgUEVSTSIKKwkJCQlVc2VkIHRvIGNoYW5nZSBhY2Nlc3MgcGVybWlzc2lvbiBmb3IgYSBmaWxlLgorCiAgICpnOm5ldHJ3X2NvbXByZXNzKgkJPSJnemlwIgogCQkJCSAgICBXaWxsIGNvbXByZXNzIG1hcmtlZCBmaWxlcyB3aXRoIHRoaXMKIAkJCQkgICAgY29tbWFuZApAQCAtMTc4Myw2ICsxOTQ3LDE2IEBACiAgICpnOm5ldHJ3X2N0YWdzKgkJPSJjdGFncyIKIAkJCQlUaGUgZGVmYXVsdCBleHRlcm5hbCBwcm9ncmFtIHVzZWQgdG8gY3JlYXRlIHRhZ3MKIAorICAqZzpuZXRyd19jdXJzb3JsaW5lKgkJPSAxIChkZWZhdWx0KQorCQkJCXdpbGwgdXNlIHRoZSB8J2N1cnNvcmxpbmUnfCBsb2NhbCBzZXR0aW5nIHdoZW4KKwkJCQl8ZzpuZXRyd19saXN0c3R5bGV8ID09MCAodGhpbiBsaXN0aW5nKSBvcgorCQkJCXxnOm5ldHJ3X2xpc3RzdHlsZXwgPT0xIChsb25nIGxpc3RpbmcpIG9yCisJCQkJfGc6bmV0cndfbGlzdHN0eWxlfCA9PTMgKHRyZWUgbGlzdGluZykKKwkJCQkoaWUuIGRvZXNuJ3QgYWZmZWN0IHRoZSB3aWRlIGxpc3RpbmcpCisJCQkJPTA6IG9mZgorCQkJCT0yOiBsaWtlID09MSwgYnV0IHRoZSB3aWRlIGxpc3RpbmcgZ2V0cyBib3RoCisJCQkJY3Vyc29ybGluZSBhbmQgfCdjdXJzb3Jjb2x1bW4nfGxvY2FsbHkgc2V0CisKICAgKmc6bmV0cndfZGVjb21wcmVzcyoJCT0geyAiLmd6IiA6ICJndW56aXAiICwKIAkJCQkgICAgIi5iejIiIDogImJ1bnppcDIiICwKIAkJCQkgICAgIi56aXAiIDogInVuemlwIiAsCkBAIC0xODE1LDcgKzE5ODksNyBAQAogCQkJCXZlcnN1cyBzcGVlZC4KIAogICAqZzpuZXRyd19mbmFtZV9lc2NhcGUqCT0nID8mOyUnCi0gIAkJCQlVc2VkIG9uIGZpbGVuYW1lcyBiZWZvcmUgcmVtb3RlIHJlYWRpbmcvd3JpdGluZworCQkJCVVzZWQgb24gZmlsZW5hbWVzIGJlZm9yZSByZW1vdGUgcmVhZGluZy93cml0aW5nCiAKICAgKmc6bmV0cndfZnRwX2Jyb3dzZV9yZWplY3QqCWZ0cCBjYW4gcHJvZHVjZSBhIG51bWJlciBvZiBlcnJvcnMgYW5kIHdhcm5pbmdzCiAJCQkJdGhhdCBjYW4gc2hvdyB1cCBhcyAiZGlyZWN0b3JpZXMiIGFuZCAiZmlsZXMiCkBAIC0xODQ5LDEyICsyMDIzLDE4IEBACiAJCQkJIG90aGVyd2lzZSAgICAgICAgICAgICAgICAgICAgICJkaXIiCiAKICAgKmc6bmV0cndfZ2xvYl9lc2NhcGUqCQk9J1tdKj9ge34kJwotICAJCQkJVGhlc2UgY2hhcmFjdGVycyBpbiBkaXJlY3RvcnkgbmFtZXMgYXJlCisJCQkJVGhlc2UgY2hhcmFjdGVycyBpbiBkaXJlY3RvcnkgbmFtZXMgYXJlCiAJCQkJZXNjYXBlZCBiZWZvcmUgYXBwbHlpbmcgZ2xvYigpCiAKICAgKmc6bmV0cndfaGlkZSoJCWlmIHRydWUsIHRoZSBoaWRpbmcgbGlzdCBpcyB1c2VkCiAJCQkJIGRlZmF1bHQ6ID0wCiAKKyAgKmc6bmV0cndfaG9tZSoJCVRoZSBob21lIGRpcmVjdG9yeSBmb3Igd2hlcmUgYm9va21hcmtzIGFuZAorCQkJCWhpc3RvcnkgYXJlIHNhdmVkIChhcyAubmV0cndib29rIGFuZAorCQkJCS5uZXRyd2hpc3QpLgorCQkJCSBkZWZhdWx0OiB0aGUgZmlyc3QgZGlyZWN0b3J5IG9uIHRoZQorCQkJCSAgICAgICAgIHwncnVudGltZXBhdGgnfAorCiAgICpnOm5ldHJ3X2tlZXBkaXIqCQk9MSAoZGVmYXVsdCkga2VlcCBjdXJyZW50IGRpcmVjdG9yeSBpbW11bmUgZnJvbQogCQkJCSAgIHRoZSBicm93c2luZyBkaXJlY3RvcnkuCiAJCQkJPTAga2VlcCB0aGUgY3VycmVudCBkaXJlY3RvcnkgdGhlIHNhbWUgYXMgdGhlCkBAIC0xODc4LDEyICsyMDU4LDEyIEBACiAJCQkJIGRlZmF1bHQ6ICIiCiAKICAgKmc6bmV0cndfbG9jYWxjb3B5Y21kKgk9ImNwIiBMaW51eC9Vbml4L01hY09TL0N5Z3dpbgotICAJCQkJPSJjb3B5IiBXaW5kb3dzCisJCQkJPSJjb3B5IiBXaW5kb3dzCiAJCQkJQ29waWVzIG1hcmtlZCBmaWxlcyAofG5ldHJ3LW1mfCkgdG8gdGFyZ2V0CiAJCQkJZGlyZWN0b3J5ICh8bmV0cnctbXR8LCB8bmV0cnctbWN8KQogCiAgICpnOm5ldHJ3X2xvY2FsbW92ZWNtZCoJPSJtdiIgTGludXgvVW5peC9NYWNPUy9DeWd3aW4KLSAgCQkJCT0ibW92ZSIgV2luZG93cworCQkJCT0ibW92ZSIgV2luZG93cwogCQkJCU1vdmVzIG1hcmtlZCBmaWxlcyAofG5ldHJ3LW1mfCkgdG8gdGFyZ2V0CiAJCQkJZGlyZWN0b3J5ICh8bmV0cnctbXR8LCB8bmV0cnctbW18KQogCkBAIC0xOTAzLDExICsyMDgzLDMxIEBACiAgICpnOm5ldHJ3X21rZGlyX2NtZCoJCWNvbW1hbmQgZm9yIG1ha2luZyBhIHJlbW90ZSBkaXJlY3RvcnkKIAkJCQkgZGVmYXVsdDogInNzaCBVU0VQT1JUIEhPU1ROQU1FIG1rZGlyIgogCi0gICpnOm5ldHJ3X3JldG1hcCoJCWlmIGl0IGV4aXN0cyBhbmQgaXMgc2V0IHRvIG9uZSwgdGhlbgotCQkJCTwyLWxlZnRtb3VzZT4gd2lsbCBiZSBtYXBwZWQgZm9yIGVhc3kKKyAgKmc6bmV0cndfbW91c2VtYXBzKgkJPTEgKGRlZmF1bHQpIGVuYWJsZXMgdGhlIG1vdXNlIGJ1dHRvbnMKKwkJCQkgICB3aGlsZSBicm93c2luZzoKKwkJCQkgICAgIGxlZnRtb3VzZSAgICAgICA6IG9wZW4gZmlsZS9kaXJlY3RvcnkKKwkJCQkgICAgIHNoaWZ0LWxlZnRtb3VzZSA6IG1hcmsgZmlsZQorCQkJCSAgICAgbWlkZGxlbW91c2UgICAgIDogc2FtZSBhcyBQCisJCQkJICAgICByaWdodG1vdXNlICAgICAgOiByZW1vdmUgZmlsZS9kaXJlY3RvcnkKKwkJCQk9MDogZGlzYWJsZXMgbW91c2UgbWFwcworCisgICpnOm5ldHJ3X3JldG1hcCoJCWlmIGl0IGV4aXN0cyBhbmQgaXMgc2V0IHRvIG9uZSwgdGhlbjoKKwkJCQkgKiBpZiBpbiBhIG5ldHJ3LXNlbGVjdGVkIGZpbGUsIEFORAorCQkJCSAqIG5vIG5vcm1hbC1tb2RlIDwyLWxlZnRtb3VzZT4gbWFwcGluZyBleGlzdHMsCisJCQkJdGhlbiB0aGUgPDItbGVmdG1vdXNlPiB3aWxsIGJlIG1hcHBlZCBmb3IgZWFzeQogCQkJCXJldHVybiB0byB0aGUgbmV0cncgYnJvd3NlciB3aW5kb3cuCi0JCQkJKGV4YW1wbGU6IGNsaWNrIG9uY2UgdG8gc2VsZWN0IGFuZCBvcGVuCi0JCQkJYSBmaWxlLCBkb3VibGUtY2xpY2sgdG8gcmV0dXJuKQorCQkJCSBleGFtcGxlOiBjbGljayBvbmNlIHRvIHNlbGVjdCBhbmQgb3BlbiBhIGZpbGUsCisJCQkJICAgICAgICAgIGRvdWJsZS1jbGljayB0byByZXR1cm4uCisKKwkJCQlOb3RlIHRoYXQgb25lIG1heSBpbnN0ZWFkIGNob29zZSB0bzoKKwkJCQkgKiBsZXQgZzpuZXRyd19yZXRtYXA9IDEsIEFORAorCQkJCSAqIG5tYXAgPHNpbGVudD4gWW91ckNob2ljZSA8UGx1Zz5OZXRyd1JldHVybgorCQkJCWFuZCBoYXZlIGFub3RoZXIgbWFwcGluZyBpbnN0ZWFkIG9mCisJCQkJPDItbGVmdG1vdXNlPiB0byBpbnZva2UgdGhlIHJldHVybi4KKworCQkJCVlvdSBtYXkgYWxzbyB1c2UgdGhlIHw6UmV4cGxvcmV8IGNvbW1hbmQgdG8gZG8KKwkJCQl0aGUgc2FtZSB0aGluZy4KKwogCQkJCSAgZGVmYXVsdDogPTAKIAogICAqZzpuZXRyd19ybV9jbWQqCQljb21tYW5kIGZvciByZW1vdmluZyBmaWxlcwpAQCAtMTkzNCwxMiArMjEzNCwxNCBAQAogPAkJCQkgZGVmYXVsdDogIiIKIAogICAqZzpuZXRyd19zb3J0X3NlcXVlbmNlKgl3aGVuIHNvcnRpbmcgYnkgbmFtZSwgZmlyc3Qgc29ydCBieSB0aGUKLQkJCQljb21tYS1zZXBhcmF0ZWQgcGF0dGVybiBzZXF1ZW5jZQorCQkJCWNvbW1hLXNlcGFyYXRlZCBwYXR0ZXJuIHNlcXVlbmNlLiAgTm90ZSB0aGF0CisJCQkJdGhlIGZpbGlncmVlIGFkZGVkIHRvIGluZGljYXRlIGZpbGV0eXBlcworCQkJCXNob3VsZCBiZSBhY2NvdW50ZWQgZm9yIGluIHlvdXIgcGF0dGVybi4KIAkJCQkgZGVmYXVsdDogJ1tcL10kLCosXC5iYWskLFwubyQsXC5oJCwKIAkJCQkgICAgICAgICAgIFwuaW5mbyQsXC5zd3AkLFwub2JqJCcKIAogICAqZzpuZXRyd19zcGVjaWFsX3N5bnRheCoJSWYgdHJ1ZSwgdGhlbiBjZXJ0YWluIGZpbGVzIHdpbGwgYmUgc2hvd24KLSAgCQkJCWluIHNwZWNpYWwgc3ludGF4IGluIHRoZSBicm93c2VyOgorCQkJCWluIHNwZWNpYWwgc3ludGF4IGluIHRoZSBicm93c2VyOgogCiAJCQkJCW5ldHJ3QmFrICAgICA6ICouYmFrCiAJCQkJCW5ldHJ3Q29tcHJlc3M6ICouZ3ogKi5iejIgKi5aICouemlwCkBAIC0xOTc0LDcgKzIxNzYsNyBAQAogCiAKICAgKmc6bmV0cndfdG1wZmlsZV9lc2NhcGUqCT0nICY7JwotICAJCQkJZXNjYXBlKCkgaXMgYXBwbGllZCB0byBhbGwgdGVtcG9yYXJ5IGZpbGVzCisJCQkJZXNjYXBlKCkgaXMgYXBwbGllZCB0byBhbGwgdGVtcG9yYXJ5IGZpbGVzCiAJCQkJdG8gZXNjYXBlIHRoZXNlIGNoYXJhY3RlcnMuCiAKICAgKmc6bmV0cndfdGltZWZtdCoJCXNwZWNpZnkgZm9ybWF0IHN0cmluZyB0byB2aW0ncyBzdHJmdGltZSgpLgpAQCAtMTk4OCw3ICsyMTkwLDcgQEAKIAkJCQkgZGVmYXVsdDogIiVjIgogCiAgICpnOm5ldHJ3X3VzZV9ub3N3ZioJCW5ldHJ3IG5vcm1hbGx5IGF2b2lkcyB3cml0aW5nIHN3YXBmaWxlcwotICAJCQkJZm9yIGJyb3dzZXIgYnVmZmVycy4gIEhvd2V2ZXIsIHVuZGVyIHNvbWUKKwkJCQlmb3IgYnJvd3NlciBidWZmZXJzLiAgSG93ZXZlciwgdW5kZXIgc29tZQogCQkJCXN5c3RlbXMgdGhpcyBhcHBhcmVudGx5IGlzIGNhdXNpbmcgbmFzdHkKIAkJCQltbF9nZXQgZXJyb3JzIHRvIGFwcGVhcjsgaWYgeW91J3JlIGdldHRpbmcKIAkJCQltbF9nZXQgZXJyb3JzLCB0cnkgcHV0dGluZwpAQCAtMjAwMCwxOCArMjIwMiwxOCBAQAogCQkJCXw6SGV4cGxvcmV8IG9yIHw6VmV4cGxvcmV8LgogCQkJCSBkZWZhdWx0OiAiIgogCi0gICpnOm5ldHJ3X3hzdHJsZW4qCQlDb250cm9scyBob3cgbmV0cncgY29tcHV0ZXMgYSBzdHJpbmcKLSAgCQkJCWluY2x1ZGluZyBtdWx0aS1ieXRlIGNoYXJhY3RlcnMnIHN0cmluZworICAqZzpuZXRyd194c3RybGVuKgkJQ29udHJvbHMgaG93IG5ldHJ3IGNvbXB1dGVzIHN0cmluZyBsZW5ndGhzLAorCQkJCWluY2x1ZGluZyBtdWx0aS1ieXRlIGNoYXJhY3RlcnMnIHN0cmluZwogCQkJCWxlbmd0aC4gKHRoYW5rcyB0byBOIFdlaWJ1bGwsIFQgTWVjaGVseW5jaykKIAkJCQk9MDogdXNlcyBWaW0ncyBidWlsdC1pbiBzdHJsZW4oKQotCQkJCT0xOiBudW1iZXIgb2YgY29kZXBvaW50cyAoTGF0aW4gKyBhIGNvbWJpbmluZworCQkJCT0xOiBudW1iZXIgb2YgY29kZXBvaW50cyAoTGF0aW4gYSArIGNvbWJpbmluZwogCQkJCSAgICBjaXJjdW1mbGV4IGlzIHR3byBjb2RlcG9pbnRzKSAgKERFRkFVTFQpCiAJCQkJPTI6IG51bWJlciBvZiBzcGFjaW5nIGNvZGVwb2ludHMgKExhdGluIGEgKwotCQkJCSAgICBjb21iaW5pbmcgY2lyY3VtZmxleCBpcyBvbmUgc3BhY2luZyAKKwkJCQkgICAgY29tYmluaW5nIGNpcmN1bWZsZXggaXMgb25lIHNwYWNpbmcKIAkJCQkgICAgY29kZXBvaW50OyBhIGhhcmQgdGFiIGlzIG9uZTsgd2lkZSBhbmQKIAkJCQkgICAgbmFycm93IENKSyBhcmUgb25lIGVhY2g7IGV0Yy4pCiAJCQkJPTM6IHZpcnR1YWwgbGVuZ3RoIChjb3VudGluZyB0YWJzIGFzIGFueXRoaW5nCi0JCQkJICAgIGJldHdlZW4gMSBhbmQgfCd0YWJzdG9wJ3wsIHdpZGUgQ0pKSyBhcyAyCisJCQkJICAgIGJldHdlZW4gMSBhbmQgfCd0YWJzdG9wJ3wsIHdpZGUgQ0pLIGFzIDIKIAkJCQkgICAgcmF0aGVyIHRoYW4gMSwgQXJhYmljIGFsaWYgYXMgemVybyB3aGVuCiAJCQkJICAgIGltbWVkaWF0ZWx5IHByZWNlZGVkIGJ5IGxhbSwgb25lCiAJCQkJICAgIG90aGVyd2lzZSwgZXRjKQpAQCAtMjE2Miw2ICsyMzY0LDE2IEBACiBBc3NvY2lhdGVkIHNldHRpbmcgdmFyaWFibGVzOiB8ZzpuZXRyd19zb3J0X2J5fCB8ZzpuZXRyd19zb3J0X3NlcXVlbmNlfAogCiAKK1NFVFRJTkcgRURJVElORyBXSU5ET1cJCQkJCSpuZXRydy1DKiB7e3syCisKK09uZSBtYXkgc2VsZWN0IGEgbmV0cncgd2luZG93IGZvciBlZGl0aW5nIHdpdGggdGhlICJDIiBtYXBwaW5nLCBvciBieSBzZXR0aW5nCitnOm5ldHJ3X2NoZ3dpbiB0byB0aGUgc2VsZWN0ZWQgd2luZG93IG51bWJlci4gIFN1YnNlcXVlbnQgc2VsZWN0aW9uIG9mIGEgZmlsZQordG8gZWRpdCAofG5ldHJ3LWNyfCkgd2lsbCB1c2UgdGhhdCB3aW5kb3cuCisKK1JlbGF0ZWQgdG9waWNzOgkJCXxuZXRydy1jcnwKK0Fzc29jaWF0ZWQgc2V0dGluZyB2YXJpYWJsZXM6CXxnOm5ldHJ3X2NoZ3dpbnwKKworCiAxMC4gUHJvYmxlbXMgYW5kIEZpeGVzCQkJCQkqbmV0cnctcHJvYmxlbXMqIHt7ezEKIAogCShUaGlzIHNlY3Rpb24gaXMgbGlrZWx5IHRvIGdyb3cgYXMgSSBnZXQgZmVlZGJhY2spCkBAIC0yMTgzLDcgKzIzOTUsNyBAQAogCQlXaW5kb3dzJyBmdHAgaGFzIGEgbWluaW1hbCBzdXBwb3J0IGZvciBscyAoaWUuIGl0IGRvZXNuJ3QKIAkJYWNjZXB0IHNvcnRpbmcgb3B0aW9ucykuICBJdCBkb2Vzbid0IHN1cHBvcnQgdGhlIC1GIHdoaWNoCiAJCWdpdmVzIGFuIGV4cGxhbmF0b3J5IGNoYXJhY3RlciAoQUJDLyBmb3IgIkFCQyBpcyBhIGRpcmVjdG9yeSIpLgotCQlOZXRydyB0aGVuIHVzZXMgImRpciIgdG8gZ2V0IGJvdGggaXRzIHNob3J0IGFuZCBsb25nIGxpc3RpbmdzLgorCQlOZXRydyB0aGVuIHVzZXMgImRpciIgdG8gZ2V0IGJvdGggaXRzIHRoaW4gYW5kIGxvbmcgbGlzdGluZ3MuCiAJCUlmIHlvdSB0aGluayB5b3VyIGZ0cCBkb2VzIHN1cHBvcnQgYSBmdWxsLXVwIGxzLCBwdXQgdGhlCiAJCWZvbGxvd2luZyBpbnRvIHlvdXIgPC52aW1yYz46ID4KIApAQCAtMjIzOCw3ICsyNDUwLDcgQEAKIAkgICAgUHV0IHRoZSBmb2xsb3dpbmcgbGluZSBpbiB5b3VyIHwudmltcmN8OgogPgogCQlsZXQgZzpuZXRyd19rZWVwZGlyPSAwCi08CQorPAogCQkJCQkJCQkqbmV0cnctcDcqCiAJUDcuIEkgdXNlIENoaW5lc2UgKG9yIG90aGVyIG5vbi1hc2NpaSkgY2hhcmFjdGVycyBpbiBteSBmaWxlbmFtZXMsIGFuZAogCSAgICBuZXRydyAoRXhwbG9yZSwgU2V4cGxvcmUsIEhleHBsb3JlLCBldGMpIGRvZXNuJ3QgZGlzcGxheSB0aGVtIQpAQCAtMjI2Niw3ICsyNDc4LDcgQEAKIAogCQkoTWFybGluIFVucnVoKSBUaGlzIHByb2dyYW0gYWxzbyB3b3JrcyBmb3IgbWUuIEl0J3MgYSBzaW5nbGUKIAkJZXhlY3V0YWJsZSwgc28gaGUvc2hlIGNhbiBjb3B5IGl0IGludG8gdGhlIFdpbmRvd3NcU3lzdGVtMzIKLQkJZm9sZGVyIGFuZCBjcmVhdGUgYSBzaG9ydGN1dCB0byBpdC4gCisJCWZvbGRlciBhbmQgY3JlYXRlIGEgc2hvcnRjdXQgdG8gaXQuCiAKIAkJKER1ZGxleSBGb3gpIFlvdSBtaWdodCBhbHNvIHdpc2ggdG8gY29uc2lkZXIgcGxpbmssIGFzIGl0CiAJCXNvdW5kcyBtb3N0IHNpbWlsYXIgdG8gd2hhdCB5b3UgYXJlIGxvb2tpbmcgZm9yLiBwbGluayBpcyBhbgpAQCAtMjI3NCwxMiArMjQ4NiwxMiBAQAogCiAgICAgICAgICAgIGh0dHA6Ly90aGUuZWFydGgubGkvfnNndGF0aGFtL3B1dHR5LzAuNTgvaHRtbGRvYy9DaGFwdGVyNy5odG1sI3BsaW5rCiAKLQkgICAJKFZpc3NhbGUgTmVhbmcpIE1heWJlIHlvdSBjYW4gdHJ5IE9wZW5TU0ggZm9yIHdpbmRvd3MsIHdoaWNoCisJCShWaXNzYWxlIE5lYW5nKSBNYXliZSB5b3UgY2FuIHRyeSBPcGVuU1NIIGZvciB3aW5kb3dzLCB3aGljaAogCQljYW4gYmUgb2J0YWluZWQgZnJvbToKIAogCQlodHRwOi8vc3Nod2luZG93cy5zb3VyY2Vmb3JnZS5uZXQvCiAKLQkJSXQgZG9lc24ndCBuZWVkIHRoZSBmdWxsIEN5Z3dpbiBwYWNrYWdlLiAKKwkJSXQgZG9lc24ndCBuZWVkIHRoZSBmdWxsIEN5Z3dpbiBwYWNrYWdlLgogCiAJCShBbnRvaW5lIE1lY2hlbHluY2spIEZvciBpbmRpdmlkdWFsIFVuaXgtbGlrZSBwcm9ncmFtcyBuZWVkZWQKIAkJZm9yIHdvcmsgaW4gYSBuYXRpdmUtV2luZG93cyBlbnZpcm9ubWVudCwgSSByZWNvbW1lbmQgZ2V0dGluZwpAQCAtMjI5MCw3ICsyNTAyLDcgQEAKIAkJVW5saWtlIEN5Z3dpbiwgd2hpY2ggc2V0cyB1cCBhIFVuaXgtbGlrZSB2aXJ0dWFsIG1hY2hpbmUgb24KIAkJdG9wIG9mIFdpbmRvd3MsIEdudVdpbjMyIGlzIGEgcmV3cml0ZSBvZiBVbml4IHV0aWxpdGllcyB3aXRoCiAJCVdpbmRvd3Mgc3lzdGVtIGNhbGxzLCBhbmQgaXRzIHByb2dyYW1zIHdvcmtzIHF1aXRlIHdlbGwgaW4gdGhlCi0JCWNtZC5leGUgIkRvcyBib3giLiAKKwkJY21kLmV4ZSAiRG9zIGJveCIuCiAKIAkJKGRhdmUpIERvd25sb2FkIFdpblNDUCBhbmQgdXNlIHRoYXQgdG8gY29ubmVjdCB0byB0aGUgc2VydmVyLgogCQlJbiBQcmVmZXJlbmNlcyA+IEVkaXRvcnMsIHNldCBndmltIGFzIHlvdXIgZWRpdG9yOgpAQCAtMjMxNyw3ICsyNTI5LDcgQEAKIAkJSG93IHRvIHVzZSBhIHByaXZhdGUga2V5IHdpdGggJ3BzY3AnOiA+CiAKIAkJCWh0dHA6Ly93d3cudGFydGFydXMub3JnL35zaW1vbi9wdXR0eWRvYy9DaGFwdGVyNS5odG1sCi0JCQk1LjIuNCBVc2luZyBwdWJsaWMga2V5IGF1dGhlbnRpY2F0aW9uIHdpdGggUFNDUCAKKwkJCTUuMi40IFVzaW5nIHB1YmxpYyBrZXkgYXV0aGVudGljYXRpb24gd2l0aCBQU0NQCiA8CiAJCShCZW4gU2NobWlkdCkgSSBmaW5kIHRoZSBzc2ggaW5jbHVkZWQgd2l0aCBjd1JzeW5jIGlzCiAJCWJyaWxsaWFudCwgYW5kIGluc3RhbGwgY3dSc3luYyBvciBjd1JzeW5jU2VydmVyIG9uIG1vc3QKQEAgLTIzNzUsNiArMjU4NywxNiBAQAogCQkgIDxsZWZ0bW91c2U+IGluIHRoZSBicm93c2VyIHdpbmRvdyBhbmQgdGhlbiBwcmVzcyB0aGUKIAkJICA8bWlkZGxlbW91c2U+IHRvIHNlbGVjdCB0aGUgZmlsZS4KIAorCQkJCQkJCQkqbmV0cnctcDEyKgorCVAxMi4gTXkgZGlyZWN0b3J5IGlzbid0IHNvcnRpbmcgY29ycmVjdGx5LCBvciB1bndhbnRlZCBsZXR0ZXJzIGFyZQorCSAgICAgYXBwZWFyaW5nIGluIHRoZSBsaXN0ZWQgZmlsZW5hbWVzLCBvciB0aGluZ3MgYXJlbid0IGxpbmluZworCSAgICAgdXAgcHJvcGVybHkgaW4gdGhlIHdpZGUgbGlzdGluZywgLi4uCisKKwkgICAgIFRoaXMgbWF5IGJlIGR1ZSB0byBhbiBlbmNvZGluZyBwcm9ibGVtLiAgSSBteXNlbGYgdXN1YWxseSB1c2UKKwkgICAgIHV0Zi04LCBidXQgcmVhbGx5IG9ubHkgdXNlIGFzY2lpIChpZS4gYnl0ZXMgZnJvbSAzMi0xMjYpLgorCSAgICAgTXVsdGlieXRlIGVuY29kaW5ncyB1c2UgdHdvIChvciBtb3JlKSBieXRlcyBwZXIgY2hhcmFjdGVyLgorCSAgICAgWW91IG1heSBuZWVkIHRvIGNoYW5nZSB8ZzpuZXRyd19zZXBjaHJ8IGFuZC9vciB8ZzpuZXRyd194c3RybGVufC4KKwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAxMS4gRGVidWdnaW5nIE5ldHJ3IEl0c2VsZgkJCQkqbmV0cnctZGVidWcqIHt7ezEKIApAQCAtMjQyMCw3ICsyNjQyLDcgQEAKIAkgICByZWFkL3dyaXRlIHlvdXIgZmlsZSBvdmVyIHRoZSBuZXR3b3JrIGluIGEgc2VwYXJhdGUgdGFiLgogCiAJICAgVG8gc2F2ZSB0aGUgZmlsZSwgdXNlID4KLQkJOndpbmNtZCBqCisJCTp0YWJuZXh0CiAJCTpzZXQgYnQ9CiAJCTp3ISBEQkcKIDwJICAgUGxlYXNlIHNlbmQgdGhhdCBpbmZvcm1hdGlvbiB0byA8bmV0cncudmltPidzIG1haW50YWluZXIsID4KQEAgLTI0MjksNiArMjY1MSw5NCBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAxMi4gSGlzdG9yeQkJCQkJCSpuZXRydy1oaXN0b3J5KiB7e3sxCiAKKwl2MTM2OiBKYW4gMTQsIDIwMDkgKiBleHRlbmRlZCB8ZzpOZXRyd19mdW5jcmVmfCB0byBhbHNvIGhhbmRsZSBsaXN0cworCQkJICAgICBvZiBmdW5jdGlvbiByZWZlcmVuY2VzCisJICAgICAgSmFuIDE0LCAyMDA5ICogKHJlcG9ydGVkIGJ5IE1hcnZpbiBSZW5pY2gpIHdpdGggc3BlbGwgY2hlY2sKKwkJCSAgICAgZW5hYmxlZCwgc29tZSBmaWxlbmFtZXNzIHdpbGwgc3RpbGwgYmVpbmcKKwkJCSAgICAgZGlzcGxheWVkIGFzIHNwZWxsaW5nIGVycm9ycy4KKwkgICAgICBBcHIgMTMsIDIwMDkgKiAoQmrDtnJuIFdpbmNrbGVyKSB3cml0aW5nIGEgZmlsZSB1c2luZworCSAgICAgICAgICAgICAgICAgICAgIHJlbW90ZSBzY3AgY2F1c2VkIHN5bnRheCBoaWdobGlnaHRpbmcgcHJvYmxlbS4KKwkJCSAgICAgU29sdXRpb246IGF2b2lkIHN5bnRheC9zeW50YXgudmltJ3MKKwkJCSAgICAgYXUgRmlsZXR5cGUgKiBzeW50YXggc2V0dGluZyBhdXRvY29tbWFuZCBieQorCQkJICAgICBjaGVja2luZyB0aGF0IHRoZSBjdXJyZW50IGJ1ZmZlciBoYXMgdGhlCisJCQkgICAgIG5ldHJ3IGZpbGV0eXBlIGJlZm9yZSBhdHRlbXB0aW5nIGEgZG9hdQorCQkJICAgICBpbiBzOk5ldHJ3U2FmZU9wdGlvbnMoKS4KKwkgICAgICBBcHIgMTQsIDIwMDkgKiAoYXNnZW8xKSBzdWdnZXN0ZWQgdGhlICJUIiBtYXAgKHxuZXRydy1UfCkKKwkgICAgICBBcHIgMTQsIDIwMDkgKiBtYXJraW5nIHdhc24ndCB3b3JraW5nIG9uIGV4ZWN1dGFibGUgYW5kCisJCQkgICAgIG90aGVyIHNwZWNpYWwgZmlsZW5hbWVzCisJICAgICAgQXByIDIwLCAyMDA5ICogKERlbm5pcyBCZW56aW5nZXIpIGZpbGVzIG9wZW5lZCB2aWEgaHR0cCBoYXZlCisJCQkgICAgIHRoZWlyIHN5bnRheCBmaWxldHlwZSBhdXRvLWRldGVjdGVkCisJICAgICAgSnVuIDE5LCAyMDA5ICogKFl1a2loaXJvIE5ha2FkYWlyYSkgaGVscCBkb2N1bWVudCBpbXByb3ZlbWVudHMKKwkgICAgICBKdWwgMjIsIDIwMDkgKiBnOm5ldHJ3X2Jyb3dzZV9zcGxpdCB3aWxsIGhvbm9yIHRoZQorCQkJICAgICB8J2VxdWFsYWx3YXlzJ3wgc2V0dGluZy4KKwkgICAgICBKdWwgMjksIDIwMDkgKiBpbXBsZW1lbnRlZCAiSSIgbWFwcGluZyB0byB0b2dnbGUgYmFubmVyCisJCQkgICAgICh0aGlzIGlzIGV4cGVyaW1lbnRhbCBhbmQgc3RpbGwgYmVpbmcgZGVidWdnZWQpCisJICAgICAgU2VwIDE5LCAyMDA5ICogKE1pa2UgTWNFd2FuKSB3cml0ZXMgdmlhIGZ0cCBub3cgc2VuZCBib3RoCisJCQkgICAgIGc6bmV0cndfZnRwbW9kZSBhbmQgZzpuZXRyd19mdHBleHRyYWNtZCAoaWYgdGhlCisJCQkgICAgIGxhdHRlciBleGlzdHMpCisJICAgICAgRGVjIDAyLCAyMDA5ICogbmV0cncgdXNlcyB2aW1ncmVwIHNldmVyYWwgcGxhY2VzOyBpdCBub3cgdXNlcworCQkJICAgICAibm9hdXRvY21kIHZpbWdyZXAiIChzaG91bGQgYmUgc3BlZWRpZXIpLgorCSAgICAgIERlYyAwMywgMjAwOSAqIGNoYW5nZWQgYmFjayB0byB1c2luZyAtc291cmNlIGluc3RlYWQgb2YgLWR1bXAKKwkJCSAgICAgZm9yIGVsaW5rcy11c2luZyBjb21tYW5kcy4gKHJlcXVlc3RlZCBieSBKYW1lcworCQkJICAgICBWZWdhIGFuZCBLYXJzdGVuIEhvcHApCisJdjEzNTogT2N0IDI5LCAyMDA4ICogdXNpbmcgfHNpbXBsaWZ5KCl8IG9uIGRpcmVjdG9yeSBuYW1lcworCQkJICAgICAoc3VwcG9ydGluZyBoYW5kbGluZyAiLi4icyBpbiBkaXJlY3RvcnkgbmFtZXMpCisJICAgICAgT2N0IDMxLCAyMDA4ICogYWRkZWQgc3BlY2lhbCBmaWxlIGhpZ2hsaWdodGluZyBmb3IgY29yZSBkdW1wcworCQkJICAgICB1bmRlciBVbml4L0xpbnV4LiAgVGhlIGRlZmF1bHQgc29ydGluZyBzZXF1ZW5jZQorCQkJICAgICBub3cgYWxzbyBnaXZlcyBjb3JlIGR1bXBzIHByaW9yaXR5LgorCSAgICAgIE5vdiAxMCwgMjAwOCAqIHVzZXMgYSBjYWxsIHRvIG5ldHJ3I05yZWFkKCkgaW5zdGVhZCBvZiBOcmVhZAorCQkJICAgICB0byBhdm9pZCBoYXZpbmcgdG8gdXNlIGZuYW1lZXNjYXBlKCkKKwkJCSAgICogZml4ZWQgYSB0cmVlIHJlZHJhd2luZyBwcm9ibGVtIChvcGVuIGRpcmVjdG9yeSwKKwkJCSAgICAgb3BlbiBzdWJkaXIsIGNsb3NlIHN1YmRpciwgY2xvc2UgZGlyKQorCSAgICAgIE5vdiAxOSwgMjAwOCAqIHNwcmlua2xlZCBzb21lIGhpc3RkZWwoIi8iLC0xKXMgdGhyb3VnaCB0aGUgY29kZQorCQkJICAgICBpbiBhbiBhdHRlbXB0IHRvIHByZXZlbnQgbmV0cncgZnJvbSBjaGFuZ2luZworCQkJICAgICB0aGUgc2VhcmNoIGhpc3RvcnkuCisJICAgICAgSmFuIDAyLCAyMDA5ICogfGc6TmV0cndfZnVuY3JlZnwgaW5jbHVkZWQKKwkgICAgICBKYW4gMDUsIDIwMDkgKiBFeHBsb3JlICovICoqLyAqLy8gKiovLyBhbGwgY2xlYXIgZXhwbG9yZXIKKwkJCSAgICAgdmFyaWFibGVzCisJICAgICAgSmFuIDA1LCAyMDA5ICogKFBhbmFnaW90aXMgTG91cmlkYXMpIGV4dGVuZGVkIHM6V2luUGF0aCgpCisJCQkgICAgIHRvIHJlbW92ZSBjeWdkcml2ZSBmcm9tIG5vbi1jeWd3aW4gV2luZG93cworCQkJICAgICBwYXRocy4gIEltcHJvdmVkIHRoZSBkZXRlcm1pbmF0aW9uIGFzIHRvCisJCQkgICAgIHdoZXRoZXIgb3Igbm90IHRvIGRvIHNvLgorCSAgICAgIEphbiAxMywgMjAwOSAqIGluY2x1ZGVkIGNvbnRhaW5zPUBOb1NwZWxsIGluIGV2ZXJ5IHN5bnRheAorCQkJICAgICBncm91cCBmb3Igc3ludGF4L25ldHJ3LnZpbSAuCisJdjEzNDogU2VwIDMwLCAyMDA4ICogKFNhbmRlciBNYXJlY2hhbCkgcHJvdmlkZWQgYSBidWdmaXggaW52b2x2aW5nCisJCQkgICAgIHRoZSB1c2Ugb2YgdGhlIHxuZXRydy10fCBjb21tYW5kIHdpdGggYSByZW1vdGUKKwkJCSAgICAgZGlyZWN0b3J5LgorCSAgICAgIFNlcCAzMCwgMjAwOCAqIHVzaW5nICJ4IiBvbiBhIHJlbW90ZSBqcGcgd2FzIGZhaWxpbmc7IGZpeGVkLgorCSAgICAgIE9jdCAwMywgMjAwOCAqIGJvb2ttYXJrcyBub3cgZ28gb24gYSBsaXN0IGFuZCBhcmUgc3RvcmVkIHRvCisJCQkgICAgIHRoZSBmaXJzdCBkaXJlY3Rvcnkgb24gdGhlIHwncnVudGltZXBhdGgnfCBpbgorCQkJICAgICB0aGUgaG9wZXMgb2YgbWFraW5nIHRoZWlyIHJldGVudGlvbiByZWxpYWJsZS4KKwkJCSAgICAgSGlzdG9yeSBub3cgYWxzbyBnb2VzIHRvIHRoYXQgZGlyZWN0b3J5LgorCSAgICAgIE9jdCAwNywgMjAwOCAqIEluY2x1ZGVkIGNoZWNrIHRoYXQgdmltIDcuMCBvciBsYXRlciBpcyBpbiB1c2UuCisJICAgICAgT2N0IDA3LCAyMDA4ICogSW1wcm92ZWQgfGc6bmV0cndfcmV0bWFwfCBoYW5kbGluZy4KKwkgICAgICBPY3QgMTIsIDIwMDggKiBCYXNlZCB1cG9uIFPDqWJhc3RpZW4gTWlnbmlvdCdzIHN1Z2dlc3Rpb24sIGlmCisJCQkgICAgIGNhZGF2ZXIgaXNuJ3QgYXZhaWxhYmxlIHRoZW4gbmV0cncgd2lsbCB0cnkgdG8KKwkJCSAgICAgdXNlIGN1cmwgZm9yIHRoZSBkYXY6Ly8uLi4gcHJvdG9jb2wuCisJICAgICAgT2N0IDEzLCAyMDA4ICogYWRkZWQgQCovIHRvIG5ldHJ3IGJ1ZmZlcnMnIHwnaXNrZXl3b3JkJ3xzZXR0aW5nCisJCQkgICAgIFRoaXMgbGV0cyBtZiAofG5ldHJ3LW1mfCkgbWFyayBkaXJlY3RvcmllcywgbGlua3MKKwkJCSAgICAgYW5kIGV4ZWN1dGFibGVzLgorCSAgICAgIE9jdCAxMywgMjAwOCAqIGF2b2lkcyBhIHNlY29uZCBOZXRyd0Jyb3dzZSgpIHJlZnJlc2ggd2hlbgorCQkJICAgICBnOm5ldHJ3X2Zhc3Ricm93c2UgaXMgPD0gMSAoc2xvdywgbWVkaXVtIHNwZWVkKQorCSAgICAgIE9jdCAyMiwgMjAwOCAqIHxnOm5ldHJ3X2h0dHBfeGNtZHwgbWF5IG5vdyBiZSBvdmVycmlkZGVuCisJCQkgICAgIGluZGVwZW5kZW50bHkgb2YgfGc6bmV0cndfaHR0cF9jbWR8LgorCSAgICAgIE9jdCAyMywgMjAwOCAqIFtOXSBhZGRlZCB0byB0aGUgdmFyaW91cyBFeHBsb3JlIGNvbW1hbmRzIHRvCisJCQkgICAgIGxldCB1c2VycyBzcGVjaWZ5IHRoZSB3aWR0aC9oZWlnaHQgb2YgbmV3CisJCQkgICAgIGV4cGxvcmVyIHdpbmRvd3MsIG92ZXJyaWRpbmcgfGc6bmV0cndfd2luc2l6ZXwuCisJdjEzMzogQXVnIDEwLCAyMDA4ICogTmV0UmVhZEZpeHVwKCkgZm9yIHdpbjk1IHdhcyBtaXNzaW5nIHNvbWUgImE6InMKKwkgICAgICBBdWcgMTIsIDIwMDggKiAoSmFuIE1pbsOhxZkpIGFuIGVycm9yIGNvbmRpdGlvbiBpbiBOZXRyd01ldGhvZCgpCisJCQkgICAgIHdhc24ndCBiZWluZyB1c2VkLCByZXN1bHRpbmcgaW4gImI6bmV0cndfZm5hbWUKKwkJCSAgICAgdW5kZWZpbmVkIiBlcnJvcnMKKwkgICAgICBBdWcgMTIsIDIwMDggKiAoRnJhbsOnb2lzIEluZ2VpcmVzdCkgYXNrZWQgdGhhdCAiaGkgbGluayIgYmUKKwkJCSAgICAgY2hhbmdlZCB0byBoaSBkZWZhdWx0IGxpbmsgaW4gdGhlIG5ldHJ3IHN5bnRheAorCQkJICAgICBmaWxlcy4KKwkgICAgICBBdWcgMTIsIDIwMDggKiB1c2luZyBzOk5ldHJ3VW5tYXJrTGlzdCgpIG1vcmUgb2Z0ZW4uICBGaWxlbmFtZXMKKwkJCSAgICAgd2VyZSBiZWluZyBsZWZ0IG9uIHRoZSBnbG9iYWwgbGlzdCB3aGVuIHJlbW92ZWQKKwkJCSAgICAgZnJvbSB0aGUgYnVmZmVyLWxvY2FsIGxpc3RzLgorCSAgICAgIEF1ZyAxNCwgMjAwOCAqIChKb3NodWEgQ2xheXRvbikgYW4gZXJyYW50IGV4dHJhICIpIiB3YXMgbGVmdCBpbgorCQkJICAgICB0aGUgcmNwLWhhbmRsaW5nIHBvcnRpb24gb2YgTmV0UmVhZCgpLgorCSAgICAgIFNlcCAwMywgMjAwOCAqIGFkZGVkIHwnY3Vyc29ybGluZSd8IGhpZ2hsaWdodGluZyB0byB0aGluLCBsb25nLAorCQkJICAgICBhbmQgdHJlZSBkaXNwbGF5cy4KIAl2MTMyOiBBdWcgMDYsIDIwMDggKiBGaXhlZCBtYXJrZWQgZmlsZS1iYXNlZCBvYnRhaW4KIAkgICAgICBBdWcgMDgsIDIwMDggKiBzb3VyY2luZyBhIGZpbGUgdmlhIGZ0cCBmcm9tIGEgbmV0cnctZ2VuZXJhdGVkCiAJICAgICAgICAgICAgICAgICAgICAgYnVmZmVyIChvciBhbnkgYnVmZmVyIHdpdGggfCdub2JsJ3wpIGxlZnQgYW4KQEAgLTI1NDMsOCArMjg1Myw4IEBACiAJCQkgICAqIGV4ZWN1dGFibGUgZmlsZXMgbm93IGRpc3BsYXllZCB3aXRoIHRyYWlsaW5nICgqKQogCQkJICAgKiBzeW1ib2xpY2FsbHkgbGlua2VkIGZpbGVzIG5vdyBkaXNwbGF5ZWQgd2l0aAogCQkJICAgICB0cmFpbGluZyAoQCkKLQkJCSAgICogU29tZXdoZW4sIHM6TmV0cndNYXJrRmlsZU1vdmUoKSBnb3QgZGFtYWdlZC4gIEl0cwotCQkJICAgICBub3cgcmVzdG9yZWQgKG1pc3NpbmcgYW4gZW5kaWYsIGZvciBleGFtcGxlKS4KKwkJCSAgICogU29tZXdoZW4sIHM6TmV0cndNYXJrRmlsZU1vdmUoKSBnb3QgZGFtYWdlZC4gIEl0CisJCQkgICAqIGlzIG5vdyByZXN0b3JlZCAobWlzc2luZyBhbiBlbmRpZiwgZm9yIGV4YW1wbGUpLgogCQkJICAgKiB8bmV0cnctbXV8IGltcGxlbWVudGVkICh1bm1hcmtpbmcgbWFya2VkIGZpbGVzKQogCQkJICAgKiBtYW55IGJ1Z3MgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgbWFya2VkIGZpbGUKIAkJCSAgICAgc3lzdGVtICh0bnggdG8gTWFyayBTLiBmb3IgZmVlZGJhY2spCkBAIC0yNjE1LDcgKzI5MjUsNyBAQAogCQkJICAgICB0aGUgZW5kIG9mIHRoZSBzOk5ldHJ3QnJvd3NlQ2hnRGlyKCkgZnVuY3Rpb247CiAJCQkgICAgIHRoZXkncmUgbm93IGF0IHRoZSBlbmQgb2YgZXZlcnkgaWYuLmVsc2VpZi4uZWxzZQogCQkJICAgICBibG9jay4gIFRoZSBlZGl0LWEtZmlsZSBvbmUgaXMgbm90IHF1aXRlIGF0IHRoZSBlbmQKLQkJCSAgICAgb2YgaXRzIGJsb2NrOyBpbnN0ZWFkLCBpdHMganVzdCBiZWZvcmUgdGhlIGVkaXQuCisJCQkgICAgIG9mIGl0cyBibG9jazsgaW5zdGVhZCwgaXQncyBqdXN0IGJlZm9yZSB0aGUgZWRpdC4KIAkJCSAgICAgUmVzdG9yZXMgdXNlciBvcHRpb25zLCB0aGVuIHRoaXMgbmV3IHBsYWNlbWVudAogCQkJICAgICBhbGxvd3MgZnRwbHVnaW5zLCBhdXRvY21kcywgZXRjIHRvIGNoYW5nZSBzZXR0aW5ncwogCQkJICAgICAoZXguIGZ0cGx1Z2luL2NwcC52aW0gc2V0cyBjaW5kZW50KS4KQEAgLTI2NTIsNyArMjk2Miw3IEBACiAJCQkgICAgIG1hcmtlZCBmaWxlcy4KIAl2MTEwOiBNYXkgMTAsIDIwMDcgKiBhZGRlZCBbIGFuZCBdIG1hcHMgdG8gTmV0cndUcmVlTGlzdGluZwogCSAgICAgIE1heSAyNSwgMjAwNyAqIHxnOm5ldHJ3X3ByZXZpZXd8IGluY2x1ZGVkCi0JICAgICAgTWF5IDI5LCAyMDA3ICogbW9kaWZlZCBuZXRydyNOZXRCcm93c2VYIHRvIGNvbnNpc3RlbnRseSB1c2UKKwkgICAgICBNYXkgMjksIDIwMDcgKiBtb2RpZmllZCBuZXRydyNOZXRCcm93c2VYIHRvIGNvbnNpc3RlbnRseSB1c2UKIAkJCSAgICAgZzpuZXRyd19zaHEgaW5zdGVhZCBvZiBoYXJkY29kZWQgcXVvdGVzLAogCQkJICAgICBhbmQgbW9kaWZpZWQgdGhlIHNuaXBwZXQgdGhhdCBzZXRzIHVwIHJlZGlyCiAJCQkgICAgIHNvIFdpbmRvd3MgbWFjaGluZXMgdXNlICJudWwiIGluc3RlYWQgb2YKQEAgLTI2NjgsNyArMjk3OCw3IEBACiAJCQkgICAgIGRlY2lwaGVyIHRoZSBuYW1lLgogCSAgICAgIE1heSAwNywgMjAwNyAqIGc6bmV0cndfdXNlX2Vycm9yd2luZG93IG5vdyBhbGxvd3Mgb25lIHRvCiAJCQkgICAgIGhhdmUgZXJyb3IgbWVzc2FnZXMgZ28gdG8gYSByZWxpYWJsZSB3aW5kb3cKLQkJCSAgICAgb3IgdG8gdXNlIGEgbGVzcyByZWxpYWJsZSBidXQgcmVjYWxsYWJsZSAKKwkJCSAgICAgb3IgdG8gdXNlIGEgbGVzcyByZWxpYWJsZSBidXQgcmVjYWxsYWJsZQogCQkJICAgICBlY2hvZXJyIG1ldGhvZAogCSAgICAgIE1heSAwNywgMjAwNyAqIGc6bmV0cndfc2NwcG9ydCBhbmQgZzpuZXRyd19zc2hwb3J0IHN1cHBvcnQKIAkJCSAgICAgdXNlIG9mIC1QIGFuZCAtcCwgcmVzcGVjdGl2ZWx5LCB0byBzZXQgcG9ydApAQCAtMzExMyw3ICszNDIzLDE2IEBACiAKIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0xMi4gQ3JlZGl0cwkJCQkJCSpuZXRydy1jcmVkaXRzKiB7e3sxCisxMy4gVG9kbwkJCQkJCSpuZXRydy10b2RvKiB7e3sxCisKKzA3LzI5LzA5IDogYmFubmVyCTp8ZzpuZXRyd19iYW5uZXJ8IGNhbiBiZSB1c2VkIHRvIHN1cHByZXNzIHRoZQorCSAgIHN1cHByZXNzaW9uCSAgYmFubmVyLiAgVGhpcyBmZWF0dXJlIGlzIG5ldyBhbmQgZXhwZXJpbWVudGFsLAorCQkJICBzbyBpdHMgaW4gdGhlIHByb2Nlc3Mgb2YgYmVpbmcgZGVidWdnZWQuCiswOS8wNC8wOSA6ICJncCIJCTogU2VlIGlmIGl0IGNhbiBiZSBtYWRlIHRvIHdvcmsgZm9yIHJlbW90ZSBzeXN0ZW1zLgorCQkJOiBTZWUgaWYgaXQgY2FuIGJlIG1hZGUgdG8gd29yayB3aXRoIG1hcmtlZCBmaWxlcy4KKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisxNC4gQ3JlZGl0cwkJCQkJCSpuZXRydy1jcmVkaXRzKiB7e3sxCiAKIAlWaW0gZWRpdG9yCWJ5IEJyYW0gTW9vbGVuYWFyIChUaGFua3MsIEJyYW0hKQogCWRhdgkJc3VwcG9ydCBieSBDIENhbXBiZWxsCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9waV90YXIudHh0IGIvcnVudGltZS9kb2MvcGlfdGFyLnR4dAppbmRleCA1ODJhMjVkLi4zMGNjNWRkIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9waV90YXIudHh0CisrKyBiL3J1bnRpbWUvZG9jL3BpX3Rhci50eHQKQEAgLTEsNCArMSw0IEBACi0qcGlfdGFyLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA4IEF1ZyAwOQorKnBpX3Rhci50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOSBEZWMgMjgKIAogCQkgICAgICAgKz09PT09PT09PT09PT09PT09PT09KwogCQkgICAgICAgfCBUYXIgRmlsZSBJbnRlcmZhY2UgfApAQCAtMjYsNiArMjYsMzMgQEAKICAgIGFsc28gd3JpdGUgdG8gdGhlIGZpbGUuICBDdXJyZW50bHksIG9uZSBtYXkgbm90IG1ha2UgYSBuZXcgZmlsZSBpbgogICAgdGFyIGFyY2hpdmVzIHZpYSB0aGUgcGx1Z2luLgogCisJCQkJCQkqOlVudGFydmltKgorICAgVU5UQVJWSU1+CisKKyAgIDpVbnRhcnZpbSBbdmltaG9tZV0KKworCVRoaXMgY29tbWFuZCBjb3BpZXMsIGlmIG5lY2Vzc2FyeSwgdGhlIHRhcmJhbGwgdG8gdGhlIC52aW0gb3IgdmltZmlsZXMKKwlkaXJlY3RvcnkgdXNpbmcgdGhlIGZpcnN0IHdyaXRhYmxlIGRpcmVjdG9yeSBpbiB0aGUgfCdydW50aW1lcGF0aCd8CisJd2hlbiBubyBbdmltaG9tZV0gaXMgc3BlY2lmaWVkLiAgT3RoZXJ3aXNlLCB0aGUgW3ZpbWhvbWVdIGFyZ3VtZW50CisJYWxsb3dzIHRoZSB1c2VyIHRvIHNwZWNpZnkgdGhhdCBkaXJlY3RvcnksIGluc3RlYWQuCisKKwlUaGUgY29weSBpcyBkb25lIHVzaW5nIHRoZSBjb21tYW5kIGluICpnOnRhcl9jb3B5Y21kKiAsIHdoaWNoIGlzID4KKwkJY3AgICBmb3IgY3lnd2luLCB1bml4LCBtYWN1bml4CisJCWNvcHkgZm9yIHdpbmRvd3MgKDMyLCA5NSwgNjQsIDE2KQorPAlUaGUgZXh0cmFjdGlvbiBpcyBkb25lIHdpdGggdGhlIGNvbW1hbmQgc3BlY2lmaWVkIHdpdGgKKwkqZzp0YXJfZXh0cmFjdGNtZCogLCB3aGljaCBieSBkZWZhdWx0IGlzID4KKwkJInRhciAteGYiCis8CisgICBQUkVWRU5USU5HIExPQURJTkd+CisKKyAgIElmIGZvciBzb21lIHJlYXNvbiB5b3UgZG8gbm90IHdpc2ggdG8gdXNlIHZpbSB0byBleGFtaW5lIHRhcidkIGZpbGVzLAorICAgeW91IG1heSBwdXQgdGhlIGZvbGxvd2luZyB0d28gdmFyaWFibGVzIGludG8geW91ciA8LnZpbXJjPiB0byBwcmV2ZW50CisgICB0aGUgdGFyIHBsdWdpbiBmcm9tIGxvYWRpbmc6ID4KKworCWxldCBnOmxvYWRlZF90YXJQbHVnaW49IDEKKwlsZXQgZzpsb2FkZWRfdGFyICAgICAgPSAxCis8CisKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogMy4gT3B0aW9ucwkJCQkJCSp0YXItb3B0aW9ucyoKIApAQCAtMzgsMTQgKzY1LDE1IEBACiAgICAqZzp0YXJfY21kKiAgICAgICAgICAgICJ0YXIiICAgdGhlIG5hbWUgb2YgdGhlIHRhciBwcm9ncmFtCiAgICAqZzp0YXJfbm9tYXgqICAgICAgICAgICAgMCAgICAgaWYgdHJ1ZSwgZmlsZSB3aW5kb3cgd2lsbCBub3QgYmUgbWF4aW1pemVkCiAgICAqZzp0YXJfc2VjdXJlKiAgICAgICAgIHVuZGVmICAgaWYgZXhpc3RzOgotCQkJCQkiLS0iIHdpbGwgYmUgdXNlZCB0byBwcmV2ZW50IHVud2FudGVkCisJCQkJCSItLSJzIHdpbGwgYmUgdXNlZCB0byBwcmV2ZW50IHVud2FudGVkCiAJCQkJCW9wdGlvbiBleHBhbnNpb24gaW4gdGFyIGNvbW1hbmRzLgogCQkJCQlQbGVhc2UgYmUgc3VyZSB0aGF0IHlvdXIgdGFyIGNvbW1hbmQKIAkJCQkJYWNjZXB0cyAiLS0iOyBQb3NpeCBjb21wbGlhbnQgdGFyCi0JCQkJCXV0aWxpdGllcyBkbyBhY2NlcHQgaXQuCisJCQkJCXV0aWxpdGllcyBkbyBhY2NlcHQgdGhlbS4KIAkJCQkgIGlmIG5vdCBleGlzdHM6Ci0JCQkJCVRoZSB0YXIgcGx1Z2luIHdpbGwgcmVqZWN0IGFueSBtZW1iZXIKLQkJCQkJZmlsZXMgdGhhdCBiZWdpbiB3aXRoICItIgorCQkJCSAgCVRoZSB0YXIgcGx1Z2luIHdpbGwgcmVqZWN0IGFueSB0YXIKKwkJCQkJZmlsZXMgb3IgbWVtYmVyIGZpbGVzIHRoYXQgYmVnaW4gd2l0aAorCQkJCQkiLSIKIAkJCQkgIE5vdCBhbGwgdGFyJ3Mgc3VwcG9ydCB0aGUgIi0tIiB3aGljaCBpcyB3aHkKIAkJCQkgIGl0IGlzbid0IGRlZmF1bHQuCiAgICAqZzp0YXJfd3JpdGVvcHRpb25zKiAgICJ1ZiIgICAgdXNlZCB0byB1cGRhdGUvcmVwbGFjZSBhIGZpbGUKQEAgLTU0LDYgKzgyLDkgQEAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogNC4gSGlzdG9yeQkJCQkJCSp0YXItaGlzdG9yeSoKIAorCisgICB2MjQgQXByIDA3LCAyMDA5ICogOlVudGFydmltIGNvbW1hbmQgaW1wbGVtZW50ZWQKKyAgICAgICBTZXAgMjgsIDIwMDkgKiBBZGRlZCBsem1hIHN1cHBvcnQKICAgIHYyMiBBdWcgMDgsIDIwMDggKiBzZWN1cml0eSBmaXhlcwogICAgdjE2IEp1biAwNiwgMjAwOCAqIHRhcmZpbGU6OiB1c2VkIGluc3RlYWQgb2YgdGFyZmlsZTogd2hlbiBlZGl0aW5nIGZpbGVzCiAJCSAgICAgIGluc2lkZSB0YXJiYWxscy4gIEZpeGVzIGEgcHJvYmxlbSB3aXRoIHRhcmJhbGxzIGNhbGxlZApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcGlfdmltYmFsbC50eHQgYi9ydW50aW1lL2RvYy9waV92aW1iYWxsLnR4dAppbmRleCAxNDMzOTZlLi44ODUxMzFlIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9waV92aW1iYWxsLnR4dAorKysgYi9ydW50aW1lL2RvYy9waV92aW1iYWxsLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpwaV92aW1iYWxsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1bCAzMAorKnBpX3ZpbWJhbGwudHh0KglGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgRGVjIDI4CiAKIAkJCSAgICAgICAtLS0tLS0tLS0tLS0tLS0tCiAJCQkgICAgICAgVmltYmFsbCBBcmNoaXZlcgpAQCAtNiw3ICs2LDcgQEAKIAogQXV0aG9yOiAgQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuICA8TmRyT2NoaXBAU2NhbXBiZWxsUGZhbWlseS5BYml6TT4KIAkgIChyZW1vdmUgTk9TUEFNIGZyb20gQ2FtcGJlbGwncyBlbWFpbCBmaXJzdCkKLUNvcHlyaWdodDogKGMpIDIwMDQtMjAwOCBieSBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4JKlZpbWJhbGwtY29weXJpZ2h0KgorQ29weXJpZ2h0OiAoYykgMjAwNC0yMDA5IGJ5IENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLgkqVmltYmFsbC1jb3B5cmlnaHQqCiAJICAgVGhlIFZJTSBMSUNFTlNFIGFwcGxpZXMgdG8gVmltYmFsbC52aW0sIGFuZCBWaW1iYWxsLnR4dAogCSAgIChzZWUgfGNvcHlyaWdodHwpIGV4Y2VwdCB1c2UgIlZpbWJhbGwiIGluc3RlYWQgb2YgIlZpbSIuCiAJICAgTm8gd2FycmFudHksIGV4cHJlc3Mgb3IgaW1wbGllZC4KQEAgLTU1LDcgKzU1LDcgQEAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogMy4gVmltYmFsbCBNYW51YWwJCQkJCSp2aW1iYWxsLW1hbnVhbCoKIAotCQkJCQkJCSo6TWtWaW1iYWxsKgorTUFLSU5HIEEgVklNQkFMTAkJCQkJCSo6TWtWaW1iYWxsKgogCQk6W3JhbmdlXU1rVmltYmFsbFshXSBmaWxlbmFtZSBbcGF0aF0KIAogCVRoZSByYW5nZSBpcyBjb21wb3NlZCBvZiBsaW5lcyBob2xkaW5nIHBhdGhzIHRvIGZpbGVzIHRvIGJlIGluY2x1ZGVkCkBAIC03OSwyOSArNzksMzQgQEAKIAkiZmlsZW5hbWUudmJhIiBmaWxlLCBvdmVyd3JpdGluZyBpdCBpZiBpdCBhbHJlYWR5IGV4aXN0cy4gIFRoaXMKIAliZWhhdmlvciByZXNlbWJsZXMgdGhhdCBmb3IgfDp3fC4KIAotCQkJCQkJCSpnOnZpbWJhbGxfbWtkaXIqCisJSWYgeW91IHdpc2ggdG8gZm9yY2Ugc2xhc2hlcyBpbnRvIHRoZSBmaWxlbmFtZSwgdGhhdCBjYW4gYWxzbyBiZSBkb25lCisJYnkgdXNpbmcgdGhlIGV4Y2xhbWF0aW9uIG1hcmsgKGllLiA6TWtWaW1iYWxsISBwYXRoL2ZpbGVuYW1lKS4KKworCVRoZSB0aXAgYXQgaHR0cDovL3ZpbS53aWtpYS5jb20vd2lraS9Vc2luZ19WaW1CYWxsX3dpdGhfJTI3TWFrZSUyNworCWhhcyBhIGdvb2QgaWRlYSBvbiBob3cgdG8gYXV0b21hdGUgdGhlIHByb2R1Y3Rpb24gb2YgdmltYmFsbHMgdXNpbmcKKwltYWtlLgorCisKK01BS0lORyBESVJFQ1RPUklFUyBWSUEgVklNQkFMTFMJCQkJKmc6dmltYmFsbF9ta2RpcioKKwogCUZpcnN0LCB0aGUgfG1rZGlyKCl8IGNvbW1hbmQgaXMgdHJpZWQgKG5vdCBhbGwgc3lzdGVtcyBzdXBwb3J0IGl0KS4KIAotCUlmIGl0IGRvZXNuJ3QgZXhpc3QsIHRoZW4gZzp2aW1iYWxsX21rZGlyIGRvZXNuJ3QgZXhpc3QsIGl0IGlzIHNldCB0bzoKKwlJZiBpdCBkb2Vzbid0IGV4aXN0LCB0aGVuIGlmIGc6dmltYmFsbF9ta2RpciBkb2Vzbid0IGV4aXN0LCBpdCBpcyBzZXQKKwlhcyBmb2xsb3dzOiA+CiAJICB8ZzpuZXRyd19sb2NhbF9ta2RpcnwsIGlmIGl0IGV4aXN0cwotCSAgICJta2RpciIsIGlmIGl0IGlzIGV4ZWN1dGFibGUKLQkgICAibWFrZWRpciIsIGlmIGl0IGlzIGV4ZWN1dGFibGUKLQkgICBPdGhlcndpc2UsIGl0IGlzIHVuZGVmaW5lZC4KLQlPbmUgbWF5IGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZGlyZWN0b3J5IG1ha2luZyBjb21tYW5kIHVzaW5nCisJICAibWtkaXIiICAgICAgICAgICAgICAsIGlmIGl0IGlzIGV4ZWN1dGFibGUKKwkgICJtYWtlZGlyIiAgICAgICAgICAgICwgaWYgaXQgaXMgZXhlY3V0YWJsZQorCSAgT3RoZXJ3aXNlICAgICAgICAgICAgLCBpdCBpcyB1bmRlZmluZWQuCis8CU9uZSBtYXkgZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBkaXJlY3RvcnkgbWFraW5nIGNvbW1hbmQgdXNpbmcKIAlnOnZpbWJhbGxfbWtkaXIuICBUaGlzIGNvbW1hbmQgaXMgdXNlZCB0byBtYWtlIGRpcmVjdG9yaWVzIHRoYXQKIAlhcmUgbmVlZGVkIGFzIGluZGljYXRlZCBieSB0aGUgdmltYmFsbC4KIAotCQkJCQkJCSpnOnZpbWJhbGxfaG9tZSoKKworQ09OVFJPTExJTkcgVEhFIFZJTUJBTEwgRVhUUkFDVElPTiBESVJFQ1RPUlkJCSpnOnZpbWJhbGxfaG9tZSoKKwogCVlvdSBtYXkgb3ZlcnJpZGUgdGhlIHVzZSBvZiB0aGUgfCdydW50aW1lcGF0aCd8IGJ5IHNwZWNpZnlpbmcgYQogCXZhcmlhYmxlLCBnOnZpbWJhbGxfaG9tZS4KIAotCVBhdGggUHJlcHJvY2Vzc2luZwkJCQkqZzp2aW1iYWxsX3BhdGhfZXNjYXBlKgotCi0JUGF0aHMgdXNlZCBpbiB2aW1iYWxsIGFyZSBwcmVwcm9jZXNzZWQgYnkgczpQYXRoKCk7IGluIGFkZGl0aW9uLAotCWNlcnRhaW4gY2hhcmFjdGVycyBhcmUgZXNjYXBlZCAoYnkgcHJlcGVuZGluZyBhIGJhY2tzbGFzaCkuICBUaGUKLQljaGFyYWN0ZXJzIGFyZSBpbiBnOnZpbWJhbGxfcGF0aF9lc2NhcGUsIGFuZCBtYXkgYmUgb3ZlcnJpZGRlbiBieQotCXRoZSB1c2VyIGluIGhpcy9oZXIgLnZpbXJjIGluaXRpYWxpemF0aW9uIHNjcmlwdC4KLQogCQkJCQkJCSp2aW1iYWxsLWV4dHJhY3QqCiAJCXZpbSBmaWxlbmFtZS52YmEKIApAQCAtMTEyLDEyICsxMTcsMTYgQEAKIAlmaWxlIGhvbGRzIHRoZSAiVmltYmFsbCBBcmNoaXZlciBieSBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4sIFBoLkQuIgogCWxpbmUuCiAKLQkJOlZpbWJhbGxMaXN0CQkJCSo6VmltYmFsbExpc3QqCitMSVNUSU5HIEZJTEVTIElOIEEgVklNQkFMTAkJCQkJKjpWaW1iYWxsTGlzdCoKKworCQk6VmltYmFsbExpc3QKIAogCVRoaXMgY29tbWFuZCB3aWxsIHRlbGwgVmltYmFsbCB0byBsaXN0IHRoZSBmaWxlcyBpbiB0aGUgYXJjaGl2ZSwgYWxvbmcKIAl3aXRoIHRoZWlyIGxlbmd0aHMgaW4gbGluZXMuCiAKLQkJOlVzZVZpbWJhbGwgW3BhdGhdCQkJKjpVc2VWaW1iYWxsKgorTUFOVUFMTFkgSU5WT0tJTkcgVklNQkFMTCBFWFRSQUNUSU9OCQkJCSo6VXNlVmltYmFsbCoKKworCQk6VXNlVmltYmFsbCBbcGF0aF0KIAogCVRoaXMgY29tbWFuZCBpcyBjb250YWluZWQgd2l0aGluIHRoZSB2aW1iYWxsIGl0c2VsZjsgaXQgaW52b2tlcyB0aGUKIAl2aW1iYWxsI1ZpbWJhbGwoKSByb3V0aW5lIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciB1bnBhY2tpbmcgdGhlCkBAIC0xMjYsNyArMTM1LDkgQEAKIAlpbnN0YWxsYXRpb24sIHRoZXJlYnkgb3ZlcnJpZGluZyB0aGUgYXV0b21hdGljIGNob2ljZSBvZiB0aGUgZmlyc3QKIAlleGlzdGluZyBkaXJlY3Rvcnkgb24gdGhlIHwncnVudGltZXBhdGgnfC4KIAotCQk6Um1WaW1iYWxsIHZpbWJhbGxmaWxlIFtwYXRoXQkJKjpSbVZpbWJhbGwqCitSRU1PVklORyBBIFZJTUJBTEwJCQkJCQkqOlJtVmltYmFsbCoKKworCQk6Um1WaW1iYWxsIHZpbWJhbGxmaWxlIFtwYXRoXQogCiAJVGhpcyBjb21tYW5kIHJlbW92ZXMgYWxsIGZpbGVzIGdlbmVyYXRlZCBieSB0aGUgc3BlY2lmaWVkIHZpbWJhbGwKIAkoYnV0IG5vdCBhbnkgZGlyZWN0b3JpZXMgaXQgbWF5IGhhdmUgbWFkZSkuICBPbmUgbWF5IGNob29zZSBhIHBhdGgKQEAgLTEzNiwxMCArMTQ3LDI5IEBACiAJY29udGFpbmluZyBhIHJlY29yZCBvZiB3aGF0IGZpbGVzIG5lZWQgdG8gYmUgcmVtb3ZlZCBmb3IgYWxsIHZpbWJhbGxzCiAJdXNlZCB0aHVzIGZhci4KIAorUFJFVkVOVElORyBMT0FESU5HCisKKwlJZiBmb3Igc29tZSByZWFzb24geW91IGRvbid0IHdhbnQgdG8gYmUgYWJsZSB0byBleHRyYWN0IHBsdWdpbnMKKwl1c2luZyB2aW1iYWxsczogeW91IG1heSBwcmV2ZW50IHRoZSBsb2FkaW5nIG9mIHZpbWJhbGwudmltIGJ5CisJcHV0dGluZyB0aGUgZm9sbG93aW5nIHR3byB2YXJpYWJsZXMgaW4geW91ciA8LnZpbXJjPjogPgorCisJCWxldCBnOmxvYWRlZF92aW1iYWxsUGx1Z2luPSAxCisJCWxldCBnOmxvYWRlZF92aW1iYWxsICAgICAgPSAxCis8CiAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogNC4gVmltYmFsbCBIaXN0b3J5CQkJCQkqdmltYmFsbC1oaXN0b3J5KiB7e3sxCiAKKwkzMCA6IERlYyAwOCwgMjAwOCAqIGZuYW1lZXNjYXBlKCkgaW5zZXJ0ZWQgdG8gcHJvdGVjdCBlcnJvcgorCQkJICAgIG1lc3NhZ2luZyB1c2luZyBjb3JydXB0ZWQgZmlsZW5hbWVzIGZyb20KKwkJCSAgICBjYXVzaW5nIHByb2JsZW1zCisJCQkgICogUm1WaW1iYWxsIHN1cHBvcnRzIGZpbGVuYW1lcyB0aGF0IHdvdWxkCisJCQkgICAgb3RoZXJ3aXNlIGJlIGNvbnNpZGVyZWQgdG8gaGF2ZSAibWFnaWMiCisJCQkgICAgY2hhcmFjdGVycyAoaWUuIEFiY1sxXS52YmEpCisJICAgICBGZWIgMTgsIDIwMDkgKiBzOkVzY2FwZSgpLCBnOnZpbWJhbGxfc2hxLCBhbmQgZzpuZXRyd19zaHEKKwkJCSAgICByZW1vdmVkIChzaGVsbGVzY2FwZSgpIHVzZWQgZGlyZWN0bHkpCisJICAgICBPY3QgMDUsIDIwMDkgKiAoTmlrb2xhaSBXZWlidWxsKSBzdWdnZXN0ZWQgdGhhdCBNa1ZpbWJhbGwKKwkJCSAgICBiZSBhbGxvd2VkIHRvIHVzZSBzbGFzaGVzIGluIHRoZSBmaWxlbmFtZS4KIAkyNiA6IE1heSAyNywgMjAwOCAqIGc6dmltYmFsbF9ta2RpciB1c2FnZSBpbnN0YWxsZWQuICBNYWtlcyB0aGUKIAkgICAgICAgICAgICAgICAgICAgICRIT01FLy52aW0gKG9yICRIT01FXHZpbWZpbGVzKSBkaXJlY3RvcnkgaWYKIAkJCSAgICBuZWNlc3NhcnkuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9wcmludC50eHQgYi9ydW50aW1lL2RvYy9wcmludC50eHQKaW5kZXggNDQwMTUyZC4uYTRhMmZmZSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcHJpbnQudHh0CisrKyBiL3J1bnRpbWUvZG9jL3ByaW50LnR4dApAQCAtMSw0ICsxLDQgQEAKLSpwcmludC50eHQqICAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDggQXByIDMwCisqcHJpbnQudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA4IERlYyAxNwogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNzA0LDcgKzcwNCw3IEBACiBldmVuLnBzIHdpdGggeW91ciBwbGF0Zm9ybSdzIHByaW50IGNvbW1hbmQuICBBbGwgdGhlIGV2ZW4gcGFnZXMgc2hvdWxkIG5vdwogYXBwZWFyIG9uIHRoZSBiYWNrIG9mIHRoZSBvZGQgcGFnZXMuCiAKLVRoZXJlIGEgY291cGxlIG9mIHBvaW50cyB0byBiZWFyIGluIG1pbmQ6CitUaGVyZSBhcmUgYSBjb3VwbGUgb2YgcG9pbnRzIHRvIGJlYXIgaW4gbWluZDoKIAogMS4gUG9zaXRpb24gb2YgdGhlIGZpcnN0IHBhZ2UuICBJZiB0aGUgZmlyc3QgcGFnZSBpcyBvbiB0b3Agb2YgdGhlIHByaW50b3V0CiAgICB3aGVuIHByaW50aW5nIHRoZSBvZGQgcGFnZXMgdGhlbiB5b3UgbmVlZCB0byByZXZlcnNlIHRoZSBvcmRlciB0aGF0IHRoZSBvZGQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3F1aWNrZml4LnR4dCBiL3J1bnRpbWUvZG9jL3F1aWNrZml4LnR4dAppbmRleCA2NzM0MTcwLi5iNzM0MzE1IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9xdWlja2ZpeC50eHQKKysrIGIvcnVudGltZS9kb2MvcXVpY2tmaXgudHh0CkBAIC0xLDQgKzEsNCBAQAotKnF1aWNrZml4LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBNYXIgMTQKKypxdWlja2ZpeC50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgTWF5IDI0CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC02MzAsMTQgKzYzMCwyMCBAQAogCQkJSnVzdCBsaWtlICI6Z3JlcCIsIGJ1dCBpbnN0ZWFkIG9mIG1ha2luZyBhIG5ldyBsaXN0IG9mCiAJCQllcnJvcnMgdGhlIG1hdGNoZXMgYXJlIGFwcGVuZGVkIHRvIHRoZSBjdXJyZW50IGxpc3QuCiAJCQlFeGFtcGxlOiA+Ci0JCQkJOmdyZXAgbm90aGluZyAlCisJCQkJOmNhbGwgc2V0cWZsaXN0KFtdKQogCQkJCTpidWZkbyBncmVwYWRkISBzb21ldGhpbmcgJQogPAkJCVRoZSBmaXJzdCBjb21tYW5kIG1ha2VzIGEgbmV3IGVycm9yIGxpc3Qgd2hpY2ggaXMKIAkJCWVtcHR5LiAgVGhlIHNlY29uZCBjb21tYW5kIGV4ZWN1dGVzICJncmVwYWRkIiBmb3IgZWFjaAogCQkJbGlzdGVkIGJ1ZmZlci4gIE5vdGUgdGhlIHVzZSBvZiAhIHRvIGF2b2lkIHRoYXQKIAkJCSI6Z3JlcGFkZCIganVtcHMgdG8gdGhlIGZpcnN0IGVycm9yLCB3aGljaCBpcyBub3QKIAkJCWFsbG93ZWQgd2l0aCB8OmJ1ZmRvfC4KLQorCQkJQW4gZXhhbXBsZSB0aGF0IHVzZXMgdGhlIGFyZ3VtZW50IGxpc3QgYW5kIGF2b2lkcworCQkJZXJyb3JzIGZvciBmaWxlcyB3aXRob3V0IG1hdGNoZXM6ID4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnNpbGVudCBhcmdkbyB0cnkgCisJCQkJICBcIHwgZ3JlcGFkZCEgc29tZXRoaW5nICUKKwkJCQkgIFwgfCBjYXRjaCAvRTQ4MDovCisJCQkJICBcIHwgZW5kdHJ5IgorPAogCQkJCQkJCSo6bGdyZXBhKiAqOmxncmVwYWRkKgogOmxncmVwYVtkZF1bIV0gW2FyZ3VtZW50c10KIAkJCVNhbWUgYXMgIjpncmVwYWRkIiwgZXhjZXB0IHRoZSBsb2NhdGlvbiBsaXN0IGZvciB0aGUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3F1aWNrcmVmLnR4dCBiL3J1bnRpbWUvZG9jL3F1aWNrcmVmLnR4dAppbmRleCA5NTg5ZTg2Li43ODU5OWNmIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9xdWlja3JlZi50eHQKKysrIGIvcnVudGltZS9kb2MvcXVpY2tyZWYudHh0CkBAIC0xLDQgKzEsNCBAQAotKnF1aWNrcmVmLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBKYW4gMjIKKypxdWlja3JlZi50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgSmFuIDIyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC00MCwxMyArNDAsMTMgQEAKIHxefAkgICBeCQl0byBmaXJzdCBub24tYmxhbmsgY2hhcmFjdGVyIGluIHRoZSBsaW5lCiB8JHwJTiAgJAkJdG8gdGhlIGxhc3QgY2hhcmFjdGVyIGluIHRoZSBsaW5lIChOLTEgbGluZXMgbG93ZXIpCiAJCQkgICAoYWxzbzogPEVuZD4ga2V5KQotfGcwfAlOICBnMAkJdG8gZmlyc3QgY2hhcmFjdGVyIGluIHNjcmVlbiBsaW5lIChkaWZmZXJzIGZyb20gIjAiCit8ZzB8CSAgIGcwCQl0byBmaXJzdCBjaGFyYWN0ZXIgaW4gc2NyZWVuIGxpbmUgKGRpZmZlcnMgZnJvbSAiMCIKIAkJCSAgIHdoZW4gbGluZXMgd3JhcCkKLXxnXnwJTiAgZ14JCXRvIGZpcnN0IG5vbi1ibGFuayBjaGFyYWN0ZXIgaW4gc2NyZWVuIGxpbmUgKGRpZmZlcnMKK3xnXnwJICAgZ14JCXRvIGZpcnN0IG5vbi1ibGFuayBjaGFyYWN0ZXIgaW4gc2NyZWVuIGxpbmUgKGRpZmZlcnMKIAkJCSAgIGZyb20gIl4iIHdoZW4gbGluZXMgd3JhcCkKIHxnJHwJTiAgZyQJCXRvIGxhc3QgY2hhcmFjdGVyIGluIHNjcmVlbiBsaW5lIChkaWZmZXJzIGZyb20gIiQiCiAJCQkgICB3aGVuIGxpbmVzIHdyYXApCi18Z218CU4gIGdtCQl0byBtaWRkbGUgb2YgdGhlIHNjcmVlbiBsaW5lCit8Z218CSAgIGdtCQl0byBtaWRkbGUgb2YgdGhlIHNjcmVlbiBsaW5lCiB8YmFyfAlOICB8CQl0byBjb2x1bW4gTiAoZGVmYXVsdDogMSkKIHxmfAlOICBme2NoYXJ9CXRvIHRoZSBOdGggb2NjdXJyZW5jZSBvZiB7Y2hhcn0gdG8gdGhlIHJpZ2h0CiB8RnwJTiAgRntjaGFyfQl0byB0aGUgTnRoIG9jY3VycmVuY2Ugb2Yge2NoYXJ9IHRvIHRoZSBsZWZ0CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9xdW90ZXMudHh0IGIvcnVudGltZS9kb2MvcXVvdGVzLnR4dAppbmRleCA5OGQ0MzU3Li5lNmYyMTEyIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9xdW90ZXMudHh0CisrKyBiL3J1bnRpbWUvZG9jL3F1b3Rlcy50eHQKQEAgLTI0Nyw3ICsyNDcsNyBAQAogbWVtb3J5IHVzYWdlLCB0ZXh0IGFsdGVyYXRpb24gdG8gbmFtZSAzLiAgKE1hcmsgQWRhbSkKIAogSW4gZmFjdCwgbm93IGlmIEkgd2FudCB0byBrbm93IHdoYXQgYSBwYXJ0aWN1bGFyIHNldHRpbmcgZG9lcyBpbiB2aSwgSSBmaXJlIHVwCi1WSU0gYW5kIGNoZWNrIG91dCBpdCdzIGhlbHAhICAoTmlraGlsIFBhdGVsLCBVU0EpCitWSU0gYW5kIGNoZWNrIG91dCBpdHMgaGVscCEgIChOaWtoaWwgUGF0ZWwsIFVTQSkKIAogQXMgYSB2aSB1c2VyLCBWSU0gaGFzIG1hZGUgd29ya2luZyB3aXRoIHRleHQgYSBmYXIgbW9yZSBwbGVhc2FudCB0YXNrIHRoYW4KIGJlZm9yZSBJIGVuY291bnRlcmVkIHRoaXMgcHJvZ3JhbS4gIChTdGVpbmFyIEtudXRzZW4sIE5vcndheSkKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3JlY292ZXIudHh0IGIvcnVudGltZS9kb2MvcmVjb3Zlci50eHQKaW5kZXggYjgyZWE2Ny4uZjk3YWNkMCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcmVjb3Zlci50eHQKKysrIGIvcnVudGltZS9kb2MvcmVjb3Zlci50eHQKQEAgLTEsNCArMSw0IEBACi0qcmVjb3Zlci50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAorKnJlY292ZXIudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOSBBcHIgMTgKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTE4MSw3ICsxODEsNyBAQAogQmUgc3VyZSB0aGF0IHRoZSByZWNvdmVyeSB3YXMgc3VjY2Vzc2Z1bCBiZWZvcmUgb3ZlcndyaXRpbmcgdGhlIG9yaWdpbmFsCiBmaWxlIG9yIGRlbGV0aW5nIHRoZSBzd2FwIGZpbGUuICBJdCBpcyBnb29kIHByYWN0aWNlIHRvIHdyaXRlIHRoZSByZWNvdmVyZWQKIGZpbGUgZWxzZXdoZXJlIGFuZCBydW4gJ2RpZmYnIHRvIGZpbmQgb3V0IGlmIHRoZSBjaGFuZ2VzIHlvdSB3YW50IGFyZSBpbiB0aGUKLXJlY292ZXJlZCBmaWxlLgorcmVjb3ZlcmVkIGZpbGUuICBPciB1c2UgfDpEaWZmT3JpZ3wuCiAKIE9uY2UgeW91IGFyZSBzdXJlIHRoZSByZWNvdmVyeSBpcyBvayBkZWxldGUgdGhlIHN3YXAgZmlsZS4gIE90aGVyd2lzZSwgeW91CiB3aWxsIGNvbnRpbnVlIHRvIGdldCB3YXJuaW5nIG1lc3NhZ2VzIHRoYXQgdGhlICIuc3dwIiBmaWxlIGFscmVhZHkgZXhpc3RzLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcmVwZWF0LnR4dCBiL3J1bnRpbWUvZG9jL3JlcGVhdC50eHQKaW5kZXggN2RiZDQ5NC4uMTZhMWIyYyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcmVwZWF0LnR4dAorKysgYi9ydW50aW1lL2RvYy9yZXBlYXQudHh0CkBAIC0xLDQgKzEsNCBAQAotKnJlcGVhdC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwNyBBdWcgMTIKKypyZXBlYXQudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgTm92IDA0CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zMzIsNiArMzMyLDEyIEBACiBpbnNlcnRlZCBmcmVlbHk7IGl0IGRlcGVuZHMgb24gdGhlIHBvc2l0aW9uIHdoZXJlIGEgY29tbWFuZCBpcyBzcGxpdCB1cAogd2hldGhlciBhZGRpdGlvbmFsIHdoaXRlc3BhY2UgaXMgYWxsb3dlZCBvciBub3QuCiAKK1doZW4gYSBzcGFjZSBpcyByZXF1aXJlZCBpdCdzIGJlc3QgdG8gcHV0IGl0IHJpZ2h0IGFmdGVyIHRoZSBiYWNrc2xhc2guICBBCitzcGFjZSBhdCB0aGUgZW5kIG9mIGEgbGluZSBpcyBoYXJkIHRvIHNlZSBhbmQgbWF5IGJlIGFjY2lkZW50YWxseSBkZWxldGVkLiA+CisJOnN5biBtYXRjaCBDb21tZW50CisJCVwgInZlcnkgbG9uZyByZWdleHAiCisJCVwga2VlcGVuZAorCiBUaGVyZSBpcyBhIHByb2JsZW0gd2l0aCB0aGUgIjphcHBlbmQiIGFuZCAiOmluc2VydCIgY29tbWFuZHM6ID4KICAgIDoxYXBwZW5kCiAgICBcYXNkZgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvc3BlbGwudHh0IGIvcnVudGltZS9kb2Mvc3BlbGwudHh0CmluZGV4IDkzYjNhZDguLjhhNTU5ZGQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3NwZWxsLnR4dAorKysgYi9ydW50aW1lL2RvYy9zcGVsbC50eHQKQEAgLTEsNCArMSw0IEBACi0qc3BlbGwudHh0KglGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDggTm92IDMwCisqc3BlbGwudHh0KglGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgT2N0IDI4CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTEyNzksNyArMTI3OSw3IEBACiAKIAkJCQkJCQkqc3BlbGwtT05MWUlOQ09NUE9VTkQqCiBUaGUgT05MWUlOQ09NUE9VTkQgZG9lcyBleGFjdGx5IHRoZSBzYW1lIGFzIE5FRURDT01QT1VORC4gIFN1cHBvcnRlZCBmb3IKLWNvbXBhdGlibGl0eSB3aXRoIEh1bnNwZWxsLgorY29tcGF0aWJpbGl0eSB3aXRoIEh1bnNwZWxsLgogCiAJCQkJCQkJKnNwZWxsLUNPTVBPVU5ETUlOKgogVGhlIG1pbmltYWwgY2hhcmFjdGVyIGxlbmd0aCBvZiBhIHdvcmQgdXNlZCBmb3IgY29tcG91bmRpbmcgaXMgc3BlY2lmaWVkIHdpdGgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3N0YXJ0aW5nLnR4dCBiL3J1bnRpbWUvZG9jL3N0YXJ0aW5nLnR4dAppbmRleCA0YzEyNjUxLi44NjhhYzBhIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9zdGFydGluZy50eHQKKysrIGIvcnVudGltZS9kb2Mvc3RhcnRpbmcudHh0CkBAIC0xLDQgKzEsNCBAQAotKnN0YXJ0aW5nLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBOb3YgMDkKKypzdGFydGluZy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgRGVjIDMxCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zMzgsMTIgKzMzOCwxOSBAQAogCQkJCQkJCSotQyoKIC1DCQlDb21wYXRpYmxlIG1vZGUuICBTZXRzIHRoZSAnY29tcGF0aWJsZScgb3B0aW9uLiAgWW91IGNhbiB1c2UKIAkJdGhpcyB0byBnZXQgJ2NvbXBhdGlibGUnLCBldmVuIHRob3VnaCBhIC52aW1yYyBmaWxlIGV4aXN0cy4KLQkJQnV0IHRoZSBjb21tYW5kICI6c2V0IG5vY29tcGF0aWJsZSIgb3ZlcnJ1bGVzIGl0IGFueXdheS4KLQkJQWxzbyBzZWUgfGNvbXBhdGlibGUtZGVmYXVsdHwuICB7bm90IGluIFZpfQorCQlLZWVwIGluIG1pbmQgdGhhdCB0aGUgY29tbWFuZCAiOnNldCBub2NvbXBhdGlibGUiIGluIHNvbWUKKwkJcGx1Z2luIG9yIHN0YXJ0dXAgc2NyaXB0IG92ZXJydWxlcyB0aGlzLCBzbyB5b3UgbWF5IGVuZCB1cAorCQl3aXRoICdub2NtcGF0aWJsZScgYW55d2F5LiAgVG8gZmluZCBvdXQsIHVzZTogPgorCQkJOnZlcmJvc2Ugc2V0IGNvbXBhdGlibGU/Cis8CQlTZXZlcmFsIHBsdWdpbnMgd29uJ3Qgd29yayB3aXRoICdjb21wYXRpYmxlJyBzZXQuICBZb3UgbWF5CisJCXdhbnQgdG8gc2V0IGl0IGFmdGVyIHN0YXJ0dXAgdGhpcyB3YXk6ID4KKwkJCXZpbSAiK3NldCBjcCIgZmlsZW5hbWUKKzwJCUFsc28gc2VlIHxjb21wYXRpYmxlLWRlZmF1bHR8LiAge25vdCBpbiBWaX0KIAogCQkJCQkJCSotTioKIC1OCQlOb3QgY29tcGF0aWJsZSBtb2RlLiAgUmVzZXRzIHRoZSAnY29tcGF0aWJsZScgb3B0aW9uLiAgWW91IGNhbgotCQl1c2UgdGhpcyB0byBnZXQgJ25vY29tcGF0aWJsZScsIHdoZW4gdGhlcmUgaXMgbm8gLnZpbXJjIGZpbGUuCisJCXVzZSB0aGlzIHRvIGdldCAnbm9jb21wYXRpYmxlJywgd2hlbiB0aGVyZSBpcyBubyAudmltcmMgZmlsZQorCQlvciB3aGVuIHVzaW5nICItdSBOT05FIi4KIAkJQWxzbyBzZWUgfGNvbXBhdGlibGUtZGVmYXVsdHwuICB7bm90IGluIFZpfQogCiAJCQkJCQkJKi15KiAqZWFzeSoKQEAgLTM2MSw2ICszNjgsOCBAQAogCQlDYW4gYWxzbyBiZSBkb25lIHdpdGggIjpzZXQgdXBkYXRlY291bnQ9MCIuICBZb3UgY2FuIHN3aXRjaCBpdAogCQlvbiBhZ2FpbiBieSBzZXR0aW5nIHRoZSAndXBkYXRlY291bnQnIG9wdGlvbiB0byBzb21lIHZhbHVlLAogCQllLmcuLCAiOnNldCB1Yz0xMDAiLgorCQlOT1RFOiBEb24ndCBjb21iaW5lIC1uIHdpdGggLWIsIG1ha2luZyAtbmIsIGJlY2F1c2UgdGhhdCBoYXMgYQorCQlkaWZmZXJlbnQgbWVhbmluZzogfC1uYnwuCiAJCSd1cGRhdGVjb3VudCcgaXMgc2V0IHRvIDAgQUZURVIgZXhlY3V0aW5nIGNvbW1hbmRzIGZyb20gYQogCQl2aW1yYyBmaWxlLCBidXQgYmVmb3JlIHRoZSBHVUkgaW5pdGlhbGl6YXRpb25zLiAgVGh1cyBpdAogCQlvdmVycmlkZXMgYSBzZXR0aW5nIGZvciAndXBkYXRlY291bnQnIGluIGEgdmltcmMgZmlsZSwgYnV0IG5vdApAQCAtNTkzLDE3ICs2MDIsOCBAQAogCQlpdC4gIFRoZSBzZWNvbmQgZm9ybSBzcGVjaWZpZXMgYSBmaWxlIHRvIHJlYWQgY29ubmVjdGlvbiBpbmZvCiAJCWZyb20uICBUaGUgdGhpcmQgZm9ybSBzcGVjaWZpZXMgdGhlIGhvc3RuYW1lLCBhZGRyZXNzIGFuZAogCQlwYXNzd29yZCBmb3IgY29ubmVjdGluZyB0byBOZXRiZWFucy4gfG5ldGJlYW5zLXJ1bnwKLQotRXhhbXBsZSBmb3IgdXNpbmcgYSBzY3JpcHQgZmlsZSB0byBjaGFuZ2UgYSBuYW1lIGluIHNldmVyYWwgZmlsZXM6Ci0JQ3JlYXRlIGEgZmlsZSAic3Vicy52aSIgY29udGFpbmluZyBzdWJzdGl0dXRlIGNvbW1hbmRzIGFuZCBhIDp3cQotCWNvbW1hbmQ6ID4KLQkJOiVzL0pvbmVzL1NtaXRoL2cKLQkJOiVzL0FsbGVuL1BldGVyL2cKLQkJOndxCi08Ci0JRXhlY3V0ZSBWaW0gb24gYWxsIGZpbGVzIHlvdSB3YW50IHRvIGNoYW5nZTogPgotCi0JCWZvcmVhY2ggaSAoICoubGV0ICkgdmltIC1zIHN1YnMudmkgJGkKKwkJe29ubHkgYXZhaWxhYmxlIHdoZW4gY29tcGlsZWQgd2l0aCB0aGUgfCtuZXRiZWFuc19pbnRnfAorCQlmZWF0dXJlOyBpZiBub3QgdGhlbiAtbmIgd2lsbCBtYWtlIFZpbSBleGl0fQogCiBJZiB0aGUgZXhlY3V0YWJsZSBpcyBjYWxsZWQgInZpZXciLCBWaW0gd2lsbCBzdGFydCBpbiBSZWFkb25seSBtb2RlLiAgVGhpcyBpcwogdXNlZnVsIGlmIHlvdSBjYW4gbWFrZSBhIGhhcmQgb3Igc3ltYm9saWMgbGluayBmcm9tICJ2aWV3IiB0byAidmltIi4KQEAgLTc3NywxMCArNzc3LDExIEBACiAJbm9jcCIgY29tbWFuZCBpZiB5b3UgbGlrZS4KIAlGb3IgdGhlIE1hY2ludG9zaCB0aGUgJFZJTVJVTlRJTUUvbWFjbWFwLnZpbSBpcyByZWFkLgogCi0JCQkgICpWSU1JTklUKiAqLnZpbXJjKiAqX3ZpbXJjKiAqRVhJTklUKiAqLmV4cmMqICpfZXhyYyoKKwkgICpWSU1JTklUKiAqLnZpbXJjKiAqX3ZpbXJjKiAqRVhJTklUKiAqLmV4cmMqICpfZXhyYyogKiRNWVZJTVJDKgogICAgICBjLiBGb3VyIHBsYWNlcyBhcmUgc2VhcmNoZWQgZm9yIGluaXRpYWxpemF0aW9ucy4gIFRoZSBmaXJzdCB0aGF0IGV4aXN0cwogCWlzIHVzZWQsIHRoZSBvdGhlcnMgYXJlIGlnbm9yZWQuICBUaGUgJE1ZVklNUkMgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMKLQlzZXQgdG8gdGhlIGZpbGUgdGhhdCB3YXMgZmlyc3QgZm91bmQsIHVubGVzcyAkTVlWSU1SQyB3YXMgYWxyZWFkeSBzZXQuCisJc2V0IHRvIHRoZSBmaWxlIHRoYXQgd2FzIGZpcnN0IGZvdW5kLCB1bmxlc3MgJE1ZVklNUkMgd2FzIGFscmVhZHkgc2V0CisJYW5kIHdoZW4gdXNpbmcgVklNSU5JVC4KIAktICBUaGUgZW52aXJvbm1lbnQgdmFyaWFibGUgVklNSU5JVCAoc2VlIGFsc28gfGNvbXBhdGlibGUtZGVmYXVsdHwpICgqKQogCSAgIFRoZSB2YWx1ZSBvZiAkVklNSU5JVCBpcyB1c2VkIGFzIGFuIEV4IGNvbW1hbmQgbGluZS4KIAktICBUaGUgdXNlciB2aW1yYyBmaWxlKHMpOgpAQCAtOTY5LDcgKzk3MCw4IEBACiBqdXN0IGxpa2UgZXhlY3V0aW5nIGEgY29tbWFuZCBmcm9tIGEgdmltcmMvZXhyYyBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkuCiAKIAkJCQkJCQkqc2xvdy1zdGFydCoKLUlmIFZpbSB0YWtlcyBhIGxvbmcgdGltZSB0byBzdGFydCB1cCwgdGhlcmUgbWF5IGJlIGEgZmV3IGNhdXNlczoKK0lmIFZpbSB0YWtlcyBhIGxvbmcgdGltZSB0byBzdGFydCB1cCwgdXNlIHRoZSB8LS1zdGFydHVwdGltZXwgYXJndW1lbnQgdG8gZmluZAorb3V0IHdoYXQgaGFwcGVucy4gIFRoZXJlIGFyZSBhIGZldyBjb21tb24gY2F1c2VzOgogLSBJZiB0aGUgVW5peCB2ZXJzaW9uIHdhcyBjb21waWxlZCB3aXRoIHRoZSBHVUkgYW5kL29yIFgxMSAoY2hlY2sgdGhlIG91dHB1dAogICBvZiAiOnZlcnNpb24iIGZvciAiK0dVSSIgYW5kICIrWDExIiksIGl0IG1heSBuZWVkIHRvIGxvYWQgc2hhcmVkIGxpYnJhcmllcwogICBhbmQgY29ubmVjdCB0byB0aGUgWDExIHNlcnZlci4gIFRyeSBjb21waWxpbmcgYSB2ZXJzaW9uIHdpdGggR1VJIGFuZCBYMTEKQEAgLTk5MCw3ICs5OTIsNyBAQAogCiAJCQkJCQkJKmluZm8tbWVzc2FnZSoKIFRoZSB8LS1oZWxwfCBhbmQgfC0tdmVyc2lvbnwgYXJndW1lbnRzIGNhdXNlIFZpbSB0byBwcmludCBhIG1lc3NhZ2UgYW5kIHRoZW4KLWV4aXQuICBOb3JtYWxseSB0aGUgbWVzc2FnZSBpcyBzZW5kIHRvIHN0ZG91dCwgdGh1cyBjYW4gYmUgcmVkaXJlY3RlZCB0byBhCitleGl0LiAgTm9ybWFsbHkgdGhlIG1lc3NhZ2UgaXMgc2VudCB0byBzdGRvdXQsIHRodXMgY2FuIGJlIHJlZGlyZWN0ZWQgdG8gYQogZmlsZSB3aXRoOiA+CiAKIAl2aW0gLS1oZWxwID5maWxlCkBAIC0xNDQxLDcgKzE0NDMsNyBAQAogY29udmVydGVkLgogCiAKLU1BTlVBTExZIFJFQURJTkcgQU5EIFdSSVRJTkcKK01BTlVBTExZIFJFQURJTkcgQU5EIFdSSVRJTkcJCQkJKnZpbWluZm8tcmVhZC13cml0ZSoKIAogVHdvIGNvbW1hbmRzIGNhbiBiZSB1c2VkIHRvIHJlYWQgYW5kIHdyaXRlIHRoZSB2aW1pbmZvIGZpbGUgbWFudWFsbHkuICBUaGlzCiBjYW4gYmUgdXNlZCB0byBleGNoYW5nZSByZWdpc3RlcnMgYmV0d2VlbiB0d28gcnVubmluZyBWaW0gcHJvZ3JhbXM6IEZpcnN0CkBAIC0xNTA0LDcgKzE1MDYsNyBAQAogCQkJdGhlIGxpc3QgaXMgZWRpdGVkLgogCQkJSWYgeW91IGdldCB0aGUgfHByZXNzLWVudGVyfCBwcm9tcHQgeW91IGNhbiBwcmVzcyAicSIKIAkJCWFuZCBzdGlsbCBnZXQgdGhlIHByb21wdCB0byBlbnRlciBhIGZpbGUgbnVtYmVyLgotCQkJVXNlICEgdG8gYWJvbmRvbiBhIG1vZGlmaWVkIGJ1ZmZlci4gfGFiYW5kb258CisJCQlVc2UgISB0byBhYmFuZG9uIGEgbW9kaWZpZWQgYnVmZmVyLiB8YWJhbmRvbnwKIAkJCXtub3Qgd2hlbiBjb21waWxlZCB3aXRoIHRpbnkgb3Igc21hbGwgZmVhdHVyZXN9CiAKICB2aW06dHc9Nzg6dHM9ODpmdD1oZWxwOm5vcmw6CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9zeW50YXgudHh0IGIvcnVudGltZS9kb2Mvc3ludGF4LnR4dAppbmRleCA2YWIwNzQxLi40YjkyYWMxIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9zeW50YXgudHh0CisrKyBiL3J1bnRpbWUvZG9jL3N5bnRheC50eHQKQEAgLTEsNCArMSw0IEBACi0qc3ludGF4LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1bCAyMgorKnN5bnRheC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOSBEZWMgMTkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTEzLDYgKzExMyw5IEBACiAgICAgOnN5bnRheCBvZmYJCSRWSU1SVU5USU1FL3N5bnRheC9ub3N5bnRheC52aW0KIEFsc28gc2VlIHxzeW50YXgtbG9hZGluZ3wuCiAKK05PVEU6IElmIGRpc3BsYXlpbmcgbG9uZyBsaW5lcyBpcyBzbG93IGFuZCBzd2l0Y2hpbmcgb2ZmIHN5bnRheCBoaWdobGlnaHRpbmcKK21ha2VzIGl0IGZhc3QsIGNvbnNpZGVyIHNldHRpbmcgdGhlICdzeW5tYXhjb2wnIG9wdGlvbiB0byBhIGxvd2VyIHZhbHVlLgorCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDIuIFN5bnRheCBmaWxlcwkJCQkJCSo6c3luLWZpbGVzKgogCkBAIC0xOTgsOCArMjAxLDEyIEBACiBWaW0gd2lsbCBvbmx5IGxvYWQgdGhlIGZpcnN0IHN5bnRheCBmaWxlIGZvdW5kLgogCiAKLU5BTUlORyBDT05WRU5USU9OUwotCQkJCSAgICAqZ3JvdXAtbmFtZSogKntncm91cC1uYW1lfSogKkU2NjkqICpXMTgqCitOQU1JTkcgQ09OVkVOVElPTlMJCSAgICAqZ3JvdXAtbmFtZSogKntncm91cC1uYW1lfSogKkU2NjkqICpXMTgqCisKK0Egc3ludGF4IGdyb3VwIG5hbWUgaXMgdG8gYmUgdXNlZCBmb3Igc3ludGF4IGl0ZW1zIHRoYXQgbWF0Y2ggdGhlIHNhbWUga2luZCBvZgordGhpbmcuICBUaGVzZSBhcmUgdGhlbiBsaW5rZWQgdG8gYSBoaWdobGlnaHQgZ3JvdXAgdGhhdCBzcGVjaWZpZXMgdGhlIGNvbG9yLgorQSBzeW50YXggZ3JvdXAgbmFtZSBkb2Vzbid0IHNwZWNpZnkgYW55IGNvbG9yIG9yIGF0dHJpYnV0ZXMgaXRzZWxmLgorCiBUaGUgbmFtZSBmb3IgYSBoaWdobGlnaHQgb3Igc3ludGF4IGdyb3VwIG11c3QgY29uc2lzdCBvZiBBU0NJSSBsZXR0ZXJzLCBkaWdpdHMKIGFuZCB0aGUgdW5kZXJzY29yZS4gIEFzIGEgcmVnZXhwOiAiW2EtekEtWjAtOV9dKiIKIApAQCAtMzc5LDggKzM4Niw4IEBACiAKIAk6MTAsNDBUT2h0bWwKIAotQWZ0ZXIgeW91IHNhdmUgdGhlIHJlc3VsdGluZyBmaWxlLCB5b3UgY2FuIHZpZXcgaXQgd2l0aCBhbnkgSFRNTCB2aWV3ZXIsIHN1Y2gKLWFzIE5ldHNjYXBlLiAgVGhlIGNvbG9ycyBzaG91bGQgYmUgZXhhY3RseSB0aGUgc2FtZSBhcyB5b3Ugc2VlIHRoZW0gaW4gVmltLgorQWZ0ZXIgeW91IHNhdmUgdGhlIHJlc3VsdGluZyBmaWxlLCB5b3UgY2FuIHZpZXcgaXQgd2l0aCBhbnkgYnJvd3Nlci4gIFRoZQorY29sb3JzIHNob3VsZCBiZSBleGFjdGx5IHRoZSBzYW1lIGFzIHlvdSBzZWUgdGhlbSBpbiBWaW0uCiAKIFRvIHJlc3RyaWN0IHRoZSBjb252ZXJzaW9uIHRvIGEgcmFuZ2Ugb2YgbGluZXMgc2V0ICJodG1sX3N0YXJ0X2xpbmUiIGFuZAogImh0bWxfZW5kX2xpbmUiIHRvIHRoZSBmaXJzdCBhbmQgbGFzdCBsaW5lIHRvIGJlIGNvbnZlcnRlZC4gIEV4YW1wbGUsIHVzaW5nCkBAIC0zOTgsMTUgKzQwNSw0NSBAQAogR28gYmFjayB0byB0aGUgZGVmYXVsdCB0byB1c2UgJ251bWJlcicgYnkgZGVsZXRpbmcgdGhlIHZhcmlhYmxlOiA+CiAgICA6dW5sZXQgaHRtbF9udW1iZXJfbGluZXMKIAotQ2xvc2VkIGZvbGRzIGFyZSBwdXQgaW4gdGhlIEhUTUwgYXMgdGhleSBhcmUgZGlzcGxheWVkLiAgSWYgeW91IGRvbid0IHdhbnQKLXRoaXMsIHVzZSB0aGUgfHpSfCBjb21tYW5kIGJlZm9yZSBpbnZva2luZyAyaHRtbCwgb3IgdXNlOiA+Ci0gICA6bGV0IGh0bWxfaWdub3JlX2ZvbGRpbmcgPSAxCi0KIEJ5IGRlZmF1bHQsIEhUTUwgb3B0aW1pemVkIGZvciBvbGQgYnJvd3NlcnMgaXMgZ2VuZXJhdGVkLiAgSWYgeW91IHByZWZlciB1c2luZwogY2FzY2FkaW5nIHN0eWxlIHNoZWV0cyAoQ1NTMSkgZm9yIHRoZSBhdHRyaWJ1dGVzIChyZXN1bHRpbmcgaW4gY29uc2lkZXJhYmx5CiBzaG9ydGVyIGFuZCB2YWxpZCBIVE1MIDQgZmlsZSksIHVzZTogPgogICAgOmxldCBodG1sX3VzZV9jc3MgPSAxCiAKK0Nsb3NlZCBmb2xkcyBhcmUgcHV0IGluIHRoZSBIVE1MIGFzIHRoZXkgYXJlIGRpc3BsYXllZC4gIElmIHlvdSBkb24ndCB3YW50Cit0aGlzLCB1c2UgdGhlIHx6UnwgY29tbWFuZCBiZWZvcmUgaW52b2tpbmcgMmh0bWwsIG9yIHVzZTogPgorICAgOmxldCBodG1sX2lnbm9yZV9mb2xkaW5nID0gMQorCitZb3UgbWF5IHdhbnQgdG8gZ2VuZXJhdGUgSFRNTCB0aGF0IGluY2x1ZGVzIGFsbCB0aGUgZGF0YSB3aXRoaW4gdGhlIGZvbGRzLCBhbmQKK2FsbG93IHRoZSB1c2VyIHRvIHZpZXcgdGhlIGZvbGRlZCBkYXRhIHNpbWlsYXIgdG8gaG93IHRoZXkgd291bGQgaW4gVmltLiBUbworZ2VuZXJhdGUgdGhpcyBkeW5hbWljIGZvbGQgaW5mb3JtYXRpb24sIHVzZTogPgorICAgOmxldCBodG1sX2R5bmFtaWNfZm9sZHMgPSAxCisKK1VzaW5nIGh0bWxfZHluYW1pY19mb2xkcyB3aWxsIGltcGx5IGh0bWxfdXNlX2NzcywgYmVjYXVzZSBpdCB3b3VsZCBiZSBmYXIgdG9vCitkaWZmaWN1bHQgdG8gZG8gaXQgZm9yIG9sZCBicm93c2Vycy4gSG93ZXZlciwgaHRtbF9pZ25vcmVfZm9sZGluZyBvdmVycmlkZXMKK2h0bWxfZHluYW1pY19mb2xkcy4KKworVXNpbmcgaHRtbF9keW5hbWljX2ZvbGRzIHdpbGwgZGVmYXVsdCB0byBnZW5lcmF0aW5nIGEgZm9sZGNvbHVtbiBpbiB0aGUgaHRtbAorc2ltaWxhciB0byBWaW0ncyBmb2xkY29sdW1uLCB0aGF0IHdpbGwgdXNlIGphdmFzY3JpcHQgdG8gb3BlbiBhbmQgY2xvc2UgdGhlCitmb2xkcyBpbiB0aGUgSFRNTCBkb2N1bWVudC4gVGhlIHdpZHRoIG9mIHRoaXMgZm9sZGNvbHVtbiBzdGFydHMgYXQgdGhlIGN1cnJlbnQKK3NldHRpbmcgb2YgfCdmb2xkY29sdW1uJ3wgYnV0IGdyb3dzIHRvIGZpdCB0aGUgZ3JlYXRlc3QgZm9sZGxldmVsIGluIHlvdXIKK2RvY3VtZW50LiBJZiB5b3UgZG8gbm90IHdhbnQgdG8gc2hvdyBhIGZvbGRjb2x1bW4gYXQgYWxsLCB1c2U6ID4KKyAgIDpsZXQgaHRtbF9ub19mb2xkY29sdW1uID0gMQorCitVc2luZyB0aGlzIG9wdGlvbiwgdGhlcmUgd2lsbCBiZSBubyBmb2xkY29sdW1uIGF2YWlsYWJsZSB0byBvcGVuIHRoZSBmb2xkcyBpbgordGhlIEhUTUwuIEZvciB0aGlzIHJlYXNvbiwgYW5vdGhlciBvcHRpb24gaXMgcHJvdmlkZWQ6IGh0bWxfaG92ZXJfdW5mb2xkLgorRW5hYmxpbmcgdGhpcyBvcHRpb24gd2lsbCB1c2UgQ1NTIDIuMCB0byBhbGxvdyBhIHVzZXIgdG8gb3BlbiBhIGZvbGQgYnkKK2hvdmVyaW5nIHRoZSBtb3VzZSBwb2ludGVyIG92ZXIgaXQuIE5vdGUgdGhhdCBvbGQgYnJvd3NlcnMgKG5vdGFibHkgSW50ZXJuZXQKK0V4cGxvcmVyIDYpIHdpbGwgbm90IHN1cHBvcnQgdGhpcyBmZWF0dXJlLiAgQnJvd3Nlci1zcGVjaWZpYyBtYXJrdXAgZm9yIElFNiBpcworaW5jbHVkZWQgdG8gZmFsbCBiYWNrIHRvIHRoZSBub3JtYWwgQ1NTMSBjb2RlIHNvIHRoYXQgdGhlIGZvbGRzIHNob3cgdXAKK2NvcnJlY3RseSBmb3IgdGhpcyBicm93c2VyLCBidXQgdGhleSB3aWxsIG5vdCBiZSBvcGVuYWJsZSB3aXRob3V0IGEKK2ZvbGRjb2x1bW4uIE5vdGUgdGhhdCB1c2luZyBodG1sX2hvdmVyX3VuZm9sZCB3aWxsIGFsbG93IG1vZGVybiBicm93c2VycyB3aXRoCitkaXNhYmxlZCBqYXZhc2NyaXB0IHRvIHZpZXcgY2xvc2VkIGZvbGRzLiBUbyB1c2UgdGhpcyBvcHRpb24sIHVzZTogPgorICAgOmxldCBodG1sX2hvdmVyX3VuZm9sZCA9IDEKKworU2V0dGluZyBodG1sX25vX2ZvbGRjb2x1bW4gd2l0aCBodG1sX2R5bmFtaWNfZm9sZHMgd2lsbCBhdXRvbWF0aWNhbGx5IHNldAoraHRtbF9ob3Zlcl91bmZvbGQsIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBmb2xkcyB3b3VsZG4ndCBiZSBkeW5hbWljLgorCiBCeSBkZWZhdWx0ICI8cHJlPiIgYW5kICI8L3ByZT4iIGlzIHVzZWQgYXJvdW5kIHRoZSB0ZXh0LiAgVGhpcyBtYWtlcyBpdCBzaG93CiB1cCBhcyB5b3Ugc2VlIGl0IGluIFZpbSwgYnV0IHdpdGhvdXQgd3JhcHBpbmcuCUlmIHlvdSBwcmVmZXIgd3JhcHBpbmcsIGF0IHRoZQogcmlzayBvZiBtYWtpbmcgc29tZSB0aGluZ3MgbG9vayBhIGJpdCBkaWZmZXJlbnQsIHVzZTogPgpAQCAtNTI1LDkgKzU2MiwxMCBAQAogCXBpYwkJUElDIGFzc2VtYmx5IChjdXJyZW50bHkgZm9yIFBJQzE2Rjg0KQogCiBUaGUgbW9zdCBmbGV4aWJsZSBpcyB0byBhZGQgYSBsaW5lIGluIHlvdXIgYXNzZW1ibHkgZmlsZSBjb250YWluaW5nOiA+Ci0JOmFzbXN5bnRheD1uYXNtCisJYXNtc3ludGF4PW5hc20KIFJlcGxhY2UgIm5hc20iIHdpdGggdGhlIG5hbWUgb2YgdGhlIHJlYWwgYXNzZW1ibHkgc3ludGF4LiAgVGhpcyBsaW5lIG11c3QgYmUKLW9uZSBvZiB0aGUgZmlyc3QgZml2ZSBsaW5lcyBpbiB0aGUgZmlsZS4KK29uZSBvZiB0aGUgZmlyc3QgZml2ZSBsaW5lcyBpbiB0aGUgZmlsZS4gIE5vIG5vbi13aGl0ZSB0ZXh0IG11c3QgYmUKK2ltbWVkaWF0ZWx5IGJlZm9yZSBvciBhZnRlciB0aGlzIHRleHQuCiAKIFRoZSBzeW50YXggdHlwZSBjYW4gYWx3YXlzIGJlIG92ZXJydWxlZCBmb3IgYSBzcGVjaWZpYyBidWZmZXIgYnkgc2V0dGluZyB0aGUKIGI6YXNtc3ludGF4IHZhcmlhYmxlOiA+CkBAIC0yNTI5LDExICsyNTY3LDEzIEBACiB3aGVuIHJlZHJhd2luZyB3aXRoIENUUkwtTCwgdHJ5IHNldHRpbmcgdGhlICJ0Y3NoX21pbmxpbmVzIiBpbnRlcm5hbCB2YXJpYWJsZQogdG8gYSBsYXJnZXIgbnVtYmVyOiA+CiAKLQk6bGV0IHRjc2hfbWlubGluZXMgPSAxMDAKKwk6bGV0IHRjc2hfbWlubGluZXMgPSAxMDAwCiAKLVRoaXMgd2lsbCBtYWtlIHRoZSBzeW50YXggc3luY2hyb25pemF0aW9uIHN0YXJ0IDEwMCBsaW5lcyBiZWZvcmUgdGhlIGZpcnN0Ci1kaXNwbGF5ZWQgbGluZS4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDE1LiAgVGhlIGRpc2FkdmFudGFnZSBvZiB1c2luZyBhIGxhcmdlcgotbnVtYmVyIGlzIHRoYXQgcmVkcmF3aW5nIGNhbiBiZWNvbWUgc2xvdy4KK1RoaXMgd2lsbCBtYWtlIHRoZSBzeW50YXggc3luY2hyb25pemF0aW9uIHN0YXJ0IDEwMDAgbGluZXMgYmVmb3JlIHRoZSBmaXJzdAorZGlzcGxheWVkIGxpbmUuICBJZiB5b3Ugc2V0ICJ0Y3NoX21pbmxpbmVzIiB0byAiZnJvbXN0YXJ0IiwgdGhlbgorc3luY2hyb25pemF0aW9uIGlzIGRvbmUgZnJvbSB0aGUgc3RhcnQgb2YgdGhlIGZpbGUuIFRoZSBkZWZhdWx0IHZhbHVlIGZvcgordGNzaF9taW5saW5lcyBpcyAxMDAuICBUaGUgZGlzYWR2YW50YWdlIG9mIHVzaW5nIGEgbGFyZ2VyIG51bWJlciBpcyB0aGF0CityZWRyYXdpbmcgY2FuIGJlY29tZSBzbG93LgogCiAKIFRFWAkJCQkJCSp0ZXgudmltKiAqZnQtdGV4LXN5bnRheCoKQEAgLTM0MTQsOCArMzQ1NCw5IEBACiAtIFRoZSBoaWdobGlnaHRlZCBhcmVhIHdpbGwgbmV2ZXIgYmUgb3V0c2lkZSBvZiB0aGUgbWF0Y2hlZCB0ZXh0LgogLSBBIG5lZ2F0aXZlIG9mZnNldCBmb3IgYW4gZW5kIHBhdHRlcm4gbWF5IG5vdCBhbHdheXMgd29yaywgYmVjYXVzZSB0aGUgZW5kCiAgIHBhdHRlcm4gbWF5IGJlIGRldGVjdGVkIHdoZW4gdGhlIGhpZ2hsaWdodGluZyBzaG91bGQgYWxyZWFkeSBoYXZlIHN0b3BwZWQuCi0tIFVudGlsIFZpbSA3LjIgdGhlIG9mZnNldHMgd2VyZSBjb3VudGVkIGluIGJ5dGVzIGluc3RlYWQgb2YgY2hhcmFjdGVycy4gIFRoaXMKLSAgZGlkbid0IHdvcmsgd2VsbCBmb3IgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzLgorLSBCZWZvcmUgVmltIDcuMiB0aGUgb2Zmc2V0cyB3ZXJlIGNvdW50ZWQgaW4gYnl0ZXMgaW5zdGVhZCBvZiBjaGFyYWN0ZXJzLgorICBUaGlzIGRpZG4ndCB3b3JrIHdlbGwgZm9yIG11bHRpLWJ5dGUgY2hhcmFjdGVycywgc28gaXQgd2FzIGNoYW5nZWQgd2l0aCB0aGUKKyAgVmltIDcuMiByZWxlYXNlLgogLSBUaGUgc3RhcnQgb2YgYSBtYXRjaCBjYW5ub3QgYmUgaW4gYSBsaW5lIG90aGVyIHRoYW4gd2hlcmUgdGhlIHBhdHRlcm4KICAgbWF0Y2hlZC4gIFRoaXMgZG9lc24ndCB3b3JrOiAiYVxuYiJtcz1lLiAgWW91IGNhbiBtYWtlIHRoZSBoaWdobGlnaHRpbmcKICAgc3RhcnQgaW4gYW5vdGhlciBsaW5lLCB0aGlzIGRvZXMgd29yazogImFcbmIiaHM9ZS4KQEAgLTM0NjYsNyArMzUwNyw4IEBACiAKIFdoZW4gdXNpbmcgYSBzdGFydCBwYXR0ZXJuIHdpdGggYW4gb2Zmc2V0LCB0aGUgc3RhcnQgb2YgdGhlIG1hdGNoIGlzIG5vdAogYWxsb3dlZCB0byBzdGFydCBpbiBhIGZvbGxvd2luZyBsaW5lLiAgVGhlIGhpZ2hsaWdodGluZyBjYW4gc3RhcnQgaW4gYQotZm9sbG93aW5nIGxpbmUgdGhvdWdoLgorZm9sbG93aW5nIGxpbmUgdGhvdWdoLiAgVXNpbmcgdGhlICJcenMiIGl0ZW0gYWxzbyByZXF1aXJlcyB0aGF0IHRoZSBzdGFydCBvZgordGhlIG1hdGNoIGRvZXNuJ3QgbW92ZSB0byBhbm90aGVyIGxpbmUuCiAKIFRoZSBza2lwIHBhdHRlcm4gY2FuIGluY2x1ZGUgdGhlICJcbiIsIGJ1dCB0aGUgc2VhcmNoIGZvciBhbiBlbmQgcGF0dGVybiB3aWxsCiBjb250aW51ZSBpbiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIHRoZSBuZXh0IGxpbmUsIGFsc28gd2hlbiB0aGF0IGNoYXJhY3RlciBpcwpAQCAtMzgzMiwxMCArMzg3NCwxMSBAQAogOmNvbG9bcnNjaGVtZV0ge25hbWV9CUxvYWQgY29sb3Igc2NoZW1lIHtuYW1lfS4gIFRoaXMgc2VhcmNoZXMgJ3J1bnRpbWVwYXRoJwogCQkJZm9yIHRoZSBmaWxlICJjb2xvcnMve25hbWV9LnZpbS4gIFRoZSBmaXJzdCBvbmUgdGhhdAogCQkJaXMgZm91bmQgaXMgbG9hZGVkLgotCQkJVG8gc2VlIHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50bHkgYWN0aXZlIGNvbG9yIHNjaGVtZQotCQkJKGlmIHRoZXJlIGlzIG9uZSk6ID4KKwkJCVRvIHNlZSB0aGUgbmFtZSBvZiB0aGUgY3VycmVudGx5IGFjdGl2ZSBjb2xvciBzY2hlbWU6ID4KIAkJCQk6ZWNobyBnOmNvbG9yc19uYW1lCi08CQkJRG9lc24ndCB3b3JrIHJlY3Vyc2l2ZWx5LCB0aHVzIHlvdSBjYW4ndCB1c2UKKzwJCQlXaGVuIHVzaW5nIHRoZSBkZWZhdWx0IGNvbG9ycyB5b3Ugd2lsbCBnZXQgYW4gRTEyMQorCQkJZXJyb3IuCisJCQlEb2Vzbid0IHdvcmsgcmVjdXJzaXZlbHksIHRodXMgeW91IGNhbid0IHVzZQogCQkJIjpjb2xvcnNjaGVtZSIgaW4gYSBjb2xvciBzY2hlbWUgc2NyaXB0LgogCQkJQWZ0ZXIgdGhlIGNvbG9yIHNjaGVtZSBoYXMgYmVlbiBsb2FkZWQgdGhlCiAJCQl8Q29sb3JTY2hlbWV8IGF1dG9jb21tYW5kIGV2ZW50IGlzIHRyaWdnZXJlZC4KQEAgLTQwMzIsNyArNDA3NSw3IEBACiAJY29sb3JzLgogCVdoZW4gYSBjb2xvcnNjaGVtZSBpcyBiZWluZyB1c2VkLCBjaGFuZ2luZyAnYmFja2dyb3VuZCcgY2F1c2VzIGl0IHRvCiAJYmUgcmVsb2FkZWQsIHdoaWNoIG1heSByZXNldCBhbGwgY29sb3JzIChpbmNsdWRpbmcgTm9ybWFsKS4gIEZpcnN0Ci0JZGVsZXRlIHRoZSAiY29sb3JzX25hbWUiIHZhcmlhYmxlIHdoZW4geW91IGRvbid0IHdhbnQgdGhpcy4KKwlkZWxldGUgdGhlICJnOmNvbG9yc19uYW1lIiB2YXJpYWJsZSB3aGVuIHlvdSBkb24ndCB3YW50IHRoaXMuCiAKIAlXaGVuIHlvdSBoYXZlIHNldCAiY3Rlcm1mZyIgb3IgImN0ZXJtYmciIGZvciB0aGUgTm9ybWFsIGdyb3VwLCBWaW0KIAluZWVkcyB0byByZXNldCB0aGUgY29sb3Igd2hlbiBleGl0aW5nLglUaGlzIGlzIGRvbmUgd2l0aCB0aGUgIm9wIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdGFncyBiL3J1bnRpbWUvZG9jL3RhZ3MKaW5kZXggY2Y4NzJlNy4uYTM2Y2ViOCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdGFncworKysgYi9ydW50aW1lL2RvYy90YWdzCkBAIC00LDYgKzQsOCBAQAogJAltb3Rpb24udHh0CS8qJCoKICRIT01FCW9wdGlvbnMudHh0CS8qJEhPTUUqCiAkSE9NRS11c2UJdmVyc2lvbjUudHh0CS8qJEhPTUUtdXNlKgorJE1ZR1ZJTVJDCWd1aS50eHQJLyokTVlHVklNUkMqCiskTVlWSU1SQwlzdGFydGluZy50eHQJLyokTVlWSU1SQyoKICRWSU0Jc3RhcnRpbmcudHh0CS8qJFZJTSoKICRWSU0tdXNlCXZlcnNpb241LnR4dAkvKiRWSU0tdXNlKgogJFZJTVJVTlRJTUUJc3RhcnRpbmcudHh0CS8qJFZJTVJVTlRJTUUqCkBAIC00ODEsNyArNDgzLDYgQEAKICdub2RnJwlvcHRpb25zLnR4dAkvKidub2RnJyoKICdub2RpZmYnCW9wdGlvbnMudHh0CS8qJ25vZGlmZicqCiAnbm9kaWdyYXBoJwlvcHRpb25zLnR4dAkvKidub2RpZ3JhcGgnKgotJ25vZGlzYWJsZScJb3B0aW9ucy50eHQJLyonbm9kaXNhYmxlJyoKICdub2VhJwlvcHRpb25zLnR4dAkvKidub2VhJyoKICdub2ViJwlvcHRpb25zLnR4dAkvKidub2ViJyoKICdub2VkJwlvcHRpb25zLnR4dAkvKidub2VkJyoKQEAgLTUxOCw2ICs1MTksNyBAQAogJ25vaW1jJwlvcHRpb25zLnR4dAkvKidub2ltYycqCiAnbm9pbWNtZGxpbmUnCW9wdGlvbnMudHh0CS8qJ25vaW1jbWRsaW5lJyoKICdub2ltZCcJb3B0aW9ucy50eHQJLyonbm9pbWQnKgorJ25vaW1kaXNhYmxlJwlvcHRpb25zLnR4dAkvKidub2ltZGlzYWJsZScqCiAnbm9pbmNzZWFyY2gnCW9wdGlvbnMudHh0CS8qJ25vaW5jc2VhcmNoJyoKICdub2luZicJb3B0aW9ucy50eHQJLyonbm9pbmYnKgogJ25vaW5mZXJjYXNlJwlvcHRpb25zLnR4dAkvKidub2luZmVyY2FzZScqCkBAIC0xMTY5LDYgKzExNzEsNyBAQAogK3NpZ25zCXZhcmlvdXMudHh0CS8qK3NpZ25zKgogK3NtYXJ0aW5kZW50CXZhcmlvdXMudHh0CS8qK3NtYXJ0aW5kZW50KgogK3NuaWZmCXZhcmlvdXMudHh0CS8qK3NuaWZmKgorK3N0YXJ0dXB0aW1lCXZhcmlvdXMudHh0CS8qK3N0YXJ0dXB0aW1lKgogK3N0YXR1c2xpbmUJdmFyaW91cy50eHQJLyorc3RhdHVzbGluZSoKICtzdW5fd29ya3Nob3AJdmFyaW91cy50eHQJLyorc3VuX3dvcmtzaG9wKgogK3N5bnRheAl2YXJpb3VzLnR4dAkvKitzeW50YXgqCkBAIC0xMjMwLDYgKzEyMzMsNyBAQAogLS1zZXJ2ZXJsaXN0CXJlbW90ZS50eHQJLyotLXNlcnZlcmxpc3QqCiAtLXNlcnZlcm5hbWUJcmVtb3RlLnR4dAkvKi0tc2VydmVybmFtZSoKIC0tc29ja2V0aWQJc3RhcnRpbmcudHh0CS8qLS1zb2NrZXRpZCoKKy0tc3RhcnR1cHRpbWUJc3RhcnRpbmcudHh0CS8qLS1zdGFydHVwdGltZSoKIC0tdmVyc2lvbglzdGFydGluZy50eHQJLyotLXZlcnNpb24qCiAtLXdpbmRvd2lkCXN0YXJ0aW5nLnR4dAkvKi0td2luZG93aWQqCiAtQQlzdGFydGluZy50eHQJLyotQSoKQEAgLTE3NzEsNiArMTc3NSw3IEBACiA6U2V4cGxvcmUJcGlfbmV0cncudHh0CS8qOlNleHBsb3JlKgogOlRPaHRtbAlzeW50YXgudHh0CS8qOlRPaHRtbCoKIDpUZXhwbG9yZQlwaV9uZXRydy50eHQJLyo6VGV4cGxvcmUqCis6VW50YXJ2aW0JcGlfdGFyLnR4dAkvKjpVbnRhcnZpbSoKIDpVc2VWaW1iYWxsCXBpX3ZpbWJhbGwudHh0CS8qOlVzZVZpbWJhbGwqCiA6VmV4cGxvcmUJcGlfbmV0cncudHh0CS8qOlZleHBsb3JlKgogOlZpbWJhbGxMaXN0CXBpX3ZpbWJhbGwudHh0CS8qOlZpbWJhbGxMaXN0KgpAQCAtMTc4MSw2ICsxNzg2LDkgQEAKIDpfIQljbWRsaW5lLnR4dAkvKjpfISoKIDpfIwljbWRsaW5lLnR4dAkvKjpfIyoKIDpfIyMJY21kbGluZS50eHQJLyo6XyMjKgorOl8jMAljbWRsaW5lLnR4dAkvKjpfIzAqCis6XyM8CWNtZGxpbmUudHh0CS8qOl8jPCoKKzpfI24JY21kbGluZS50eHQJLyo6XyNuKgogOl8lCWNtZGxpbmUudHh0CS8qOl8lKgogOl8lOgljbWRsaW5lLnR4dAkvKjpfJToqCiA6XyU8CWNtZGxpbmUudHh0CS8qOl8lPCoKQEAgLTE5NzEsNyArMTk3OSw3IEBACiA6Y29tbWFuZC1yYW5nZQltYXAudHh0CS8qOmNvbW1hbmQtcmFuZ2UqCiA6Y29tbWFuZC1yZWdpc3RlcgltYXAudHh0CS8qOmNvbW1hbmQtcmVnaXN0ZXIqCiA6Y29tbWFuZC12ZXJib3NlCW1hcC50eHQJLyo6Y29tbWFuZC12ZXJib3NlKgotOmNvbW1lbnQJZXZhbC50eHQJLyo6Y29tbWVudCoKKzpjb21tZW50CWNtZGxpbmUudHh0CS8qOmNvbW1lbnQqCiA6Y29tcAlxdWlja2ZpeC50eHQJLyo6Y29tcCoKIDpjb21waWxlcglxdWlja2ZpeC50eHQJLyo6Y29tcGlsZXIqCiA6Y29uCWV2YWwudHh0CS8qOmNvbioKQEAgLTIwODcsNiArMjA5NSw3IEBACiA6ZW5ldyEJZWRpdGluZy50eHQJLyo6ZW5ldyEqCiA6ZXgJZWRpdGluZy50eHQJLyo6ZXgqCiA6ZXhlCWV2YWwudHh0CS8qOmV4ZSoKKzpleGUtY29tbWVudAlldmFsLnR4dAkvKjpleGUtY29tbWVudCoKIDpleGVjdXRlCWV2YWwudHh0CS8qOmV4ZWN1dGUqCiA6ZXhpCWVkaXRpbmcudHh0CS8qOmV4aSoKIDpleGl0CWVkaXRpbmcudHh0CS8qOmV4aXQqCkBAIC0yNDM0LDYgKzI0NDMsOCBAQAogOm51bm1lCWd1aS50eHQJLyo6bnVubWUqCiA6bnVubWVudQlndWkudHh0CS8qOm51bm1lbnUqCiA6bwl2aV9kaWZmLnR4dAkvKjpvKgorOm9sCXN0YXJ0aW5nLnR4dAkvKjpvbCoKKzpvbGRmaWxlcwlzdGFydGluZy50eHQJLyo6b2xkZmlsZXMqCiA6b20JbWFwLnR4dAkvKjpvbSoKIDpvbWFwCW1hcC50eHQJLyo6b21hcCoKIDpvbWFwX2wJbWFwLnR4dAkvKjpvbWFwX2wqCkBAIC0yODYyLDYgKzI4NzMsOCBAQAogOnVubWUJZ3VpLnR4dAkvKjp1bm1lKgogOnVubWVudQlndWkudHh0CS8qOnVubWVudSoKIDp1bm1lbnUtYWxsCWd1aS50eHQJLyo6dW5tZW51LWFsbCoKKzp1bnMJdmFyaW91cy50eHQJLyo6dW5zKgorOnVuc2lsZW50CXZhcmlvdXMudHh0CS8qOnVuc2lsZW50KgogOnVwCWVkaXRpbmcudHh0CS8qOnVwKgogOnVwZGF0ZQllZGl0aW5nLnR4dAkvKjp1cGRhdGUqCiA6dglyZXBlYXQudHh0CS8qOnYqCkBAIC00MTAyLDcgKzQxMTUsMTUgQEAKIEU4MDYJZXZhbC50eHQJLypFODA2KgogRTgwNwlldmFsLnR4dAkvKkU4MDcqCiBFODA4CWV2YWwudHh0CS8qRTgwOCoKK0U4MDkJY21kbGluZS50eHQJLypFODA5KgogRTgxCW1hcC50eHQJLypFODEqCitFODEwCWRpZmYudHh0CS8qRTgxMCoKK0U4MTEJYXV0b2NtZC50eHQJLypFODExKgorRTgxMglhdXRvY21kLnR4dAkvKkU4MTIqCitFODEzCWVkaXRpbmcudHh0CS8qRTgxMyoKK0U4MTQJZWRpdGluZy50eHQJLypFODE0KgorRTgxNQlpZl9tenNjaC50eHQJLypFODE1KgorRTgxNglkaWZmLnR4dAkvKkU4MTYqCiBFODIJbWVzc2FnZS50eHQJLypFODIqCiBFODMJbWVzc2FnZS50eHQJLypFODMqCiBFODQJd2luZG93cy50eHQJLypFODQqCkBAIC00MzA0LDYgKzQzMjUsNyBAQAogUnVzc2lhbglydXNzaWFuLnR4dAkvKlJ1c3NpYW4qCiBTCWNoYW5nZS50eHQJLypTKgogU0hFTEwJc3RhcnRpbmcudHh0CS8qU0hFTEwqCitTUUxHZXRUeXBlCWZ0X3NxbC50eHQJLypTUUxHZXRUeXBlKgogU1FMU2V0VHlwZQlmdF9zcWwudHh0CS8qU1FMU2V0VHlwZSoKIFNlbGVjdAl2aXN1YWwudHh0CS8qU2VsZWN0KgogU2VsZWN0LW1vZGUJdmlzdWFsLnR4dAkvKlNlbGVjdC1tb2RlKgpAQCAtNDY2MCw2ICs0NjgyLDcgQEAKIGJsb2Nrd2lzZS1yZWdpc3RlcgljaGFuZ2UudHh0CS8qYmxvY2t3aXNlLXJlZ2lzdGVyKgogYmxvY2t3aXNlLXZpc3VhbAl2aXN1YWwudHh0CS8qYmxvY2t3aXNlLXZpc3VhbCoKIGJvbGQJc3ludGF4LnR4dAkvKmJvbGQqCitib20tYnl0ZXMJbWJ5dGUudHh0CS8qYm9tLWJ5dGVzKgogYm9vawlpbnRyby50eHQJLypib29rKgogYm9va21hcmsJdXNyXzAzLnR4dAkvKmJvb2ttYXJrKgogYm9vbGVhbglvcHRpb25zLnR4dAkvKmJvb2xlYW4qCkBAIC00Njk4LDYgKzQ3MjEsMTEgQEAKIGMJY2hhbmdlLnR4dAkvKmMqCiBjLnZpbQlzeW50YXgudHh0CS8qYy52aW0qCiBjVwljaGFuZ2UudHh0CS8qY1cqCitjXyMJY21kbGluZS50eHQJLypjXyMqCitjXyMjCWNtZGxpbmUudHh0CS8qY18jIyoKK2NfIzwJY21kbGluZS50eHQJLypjXyM8KgorY18jbgljbWRsaW5lLnR4dAkvKmNfI24qCitjXyUJY21kbGluZS50eHQJLypjXyUqCiBjXzxCUz4JY21kbGluZS50eHQJLypjXzxCUz4qCiBjXzxDLUxlZnQ+CWNtZGxpbmUudHh0CS8qY188Qy1MZWZ0PioKIGNfPEMtUj4JY21kbGluZS50eHQJLypjXzxDLVI+KgpAQCAtNDczMyw2ICs0NzYxLDcgQEAKIGNfQ1RSTC1DCWNtZGxpbmUudHh0CS8qY19DVFJMLUMqCiBjX0NUUkwtRAljbWRsaW5lLnR4dAkvKmNfQ1RSTC1EKgogY19DVFJMLUUJY21kbGluZS50eHQJLypjX0NUUkwtRSoKK2NfQ1RSTC1GCWNtZGxpbmUudHh0CS8qY19DVFJMLUYqCiBjX0NUUkwtSAljbWRsaW5lLnR4dAkvKmNfQ1RSTC1IKgogY19DVFJMLUkJY21kbGluZS50eHQJLypjX0NUUkwtSSoKIGNfQ1RSTC1KCWNtZGxpbmUudHh0CS8qY19DVFJMLUoqCkBAIC00NzczLDYgKzQ4MDIsNyBAQAogY2VpbCgpCWV2YWwudHh0CS8qY2VpbCgpKgogY2gudmltCXN5bnRheC50eHQJLypjaC52aW0qCiBjaGFuZ2UtbGlzdC1qdW1wcwltb3Rpb24udHh0CS8qY2hhbmdlLWxpc3QtanVtcHMqCitjaGFuZ2UtbmFtZQl0aXBzLnR4dAkvKmNoYW5nZS1uYW1lKgogY2hhbmdlLXRhYnMJY2hhbmdlLnR4dAkvKmNoYW5nZS10YWJzKgogY2hhbmdlLnR4dAljaGFuZ2UudHh0CS8qY2hhbmdlLnR4dCoKIGNoYW5nZWQtNS4xCXZlcnNpb241LnR4dAkvKmNoYW5nZWQtNS4xKgpAQCAtNDgzNiw2ICs0ODY2LDcgQEAKIGNvbG9yLXh0ZXJtCXN5bnRheC50eHQJLypjb2xvci14dGVybSoKIGNvbG9yaW5nCXN5bnRheC50eHQJLypjb2xvcmluZyoKIGNvbG9ydGVzdC52aW0Jc3ludGF4LnR4dAkvKmNvbG9ydGVzdC52aW0qCitjb21tYW5kLWxpbmUtd2luZG93CWNtZGxpbmUudHh0CS8qY29tbWFuZC1saW5lLXdpbmRvdyoKIGNvbW1hbmQtbW9kZQlpbnRyby50eHQJLypjb21tYW5kLW1vZGUqCiBjb21wYXRpYmxlLWRlZmF1bHQJc3RhcnRpbmcudHh0CS8qY29tcGF0aWJsZS1kZWZhdWx0KgogY29tcGlsZS1jaGFuZ2VzLTUJdmVyc2lvbjUudHh0CS8qY29tcGlsZS1jaGFuZ2VzLTUqCkBAIC01MDIyLDYgKzUwNTMsNyBAQAogZGQJY2hhbmdlLnR4dAkvKmRkKgogZGVidWctZ2NjCWRlYnVnLnR4dAkvKmRlYnVnLWdjYyoKIGRlYnVnLWhpZ2hsaWdodAlkZWJ1Z2dlci50eHQJLypkZWJ1Zy1oaWdobGlnaHQqCitkZWJ1Zy1sZWFrcwlkZWJ1Zy50eHQJLypkZWJ1Zy1sZWFrcyoKIGRlYnVnLW1pbmlkdW1wCWRlYnVnLnR4dAkvKmRlYnVnLW1pbmlkdW1wKgogZGVidWctbW9kZQlyZXBlYXQudHh0CS8qZGVidWctbW9kZSoKIGRlYnVnLXNjcmlwdHMJcmVwZWF0LnR4dAkvKmRlYnVnLXNjcmlwdHMqCkBAIC01MzY4LDYgKzU0MDAsNyBAQAogZm9sZGluZwlmb2xkLnR4dAkvKmZvbGRpbmcqCiBmb2xkbGV2ZWwoKQlldmFsLnR4dAkvKmZvbGRsZXZlbCgpKgogZm9sZGxldmVsLXZhcmlhYmxlCWV2YWwudHh0CS8qZm9sZGxldmVsLXZhcmlhYmxlKgorZm9sZHMJZm9sZC50eHQJLypmb2xkcyoKIGZvbGRzdGFydC12YXJpYWJsZQlldmFsLnR4dAkvKmZvbGRzdGFydC12YXJpYWJsZSoKIGZvbGR0ZXh0KCkJZXZhbC50eHQJLypmb2xkdGV4dCgpKgogZm9sZHRleHRyZXN1bHQoKQlldmFsLnR4dAkvKmZvbGR0ZXh0cmVzdWx0KCkqCkBAIC01NTEyLDcgKzU1NDUsNiBAQAogZnQteG1sLXN5bnRheAlzeW50YXgudHh0CS8qZnQteG1sLXN5bnRheCoKIGZ0LXhwbS1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXhwbS1zeW50YXgqCiBmdF9hZGEudHh0CWZ0X2FkYS50eHQJLypmdF9hZGEudHh0KgotZnRfc3FsLnR4dAlmdF9zcWwudHh0CS8qZnRfc3FsLnR4dCoKIGZ0ZGV0ZWN0CWZpbGV0eXBlLnR4dAkvKmZ0ZGV0ZWN0KgogZnRwCXBpX25ldHJ3LnR4dAkvKmZ0cCoKIGZ0cGx1Z2luCXVzcl80MS50eHQJLypmdHBsdWdpbioKQEAgLTU1NDQsNiArNTU3Niw3IEBACiBnMAltb3Rpb24udHh0CS8qZzAqCiBnOAl2YXJpb3VzLnR4dAkvKmc4KgogZzpOZXRyd1RvcEx2bE1lbnUJcGlfbmV0cncudHh0CS8qZzpOZXRyd1RvcEx2bE1lbnUqCitnOk5ldHJ3X2Z1bmNyZWYJcGlfbmV0cncudHh0CS8qZzpOZXRyd19mdW5jcmVmKgogZzphZGEjQ29tbWVudAlmdF9hZGEudHh0CS8qZzphZGEjQ29tbWVudCoKIGc6YWRhI0N0YWdzX0tpbmRzCWZ0X2FkYS50eHQJLypnOmFkYSNDdGFnc19LaW5kcyoKIGc6YWRhI0RvdFdvcmRSZWdleAlmdF9hZGEudHh0CS8qZzphZGEjRG90V29yZFJlZ2V4KgpAQCAtNTU4NiwxNCArNTYxOSwxNyBAQAogZzpnbmF0LlRhZ3NfQ29tbWFuZAlmdF9hZGEudHh0CS8qZzpnbmF0LlRhZ3NfQ29tbWFuZCoKIGc6bmV0cndfYWx0bwlwaV9uZXRydy50eHQJLypnOm5ldHJ3X2FsdG8qCiBnOm5ldHJ3X2FsdHYJcGlfbmV0cncudHh0CS8qZzpuZXRyd19hbHR2KgorZzpuZXRyd19iYW5uZXIJcGlfbmV0cncudHh0CS8qZzpuZXRyd19iYW5uZXIqCiBnOm5ldHJ3X2Jyb3dzZV9zcGxpdAlwaV9uZXRydy50eHQJLypnOm5ldHJ3X2Jyb3dzZV9zcGxpdCoKIGc6bmV0cndfYnJvd3NleF92aWV3ZXIJcGlfbmV0cncudHh0CS8qZzpuZXRyd19icm93c2V4X3ZpZXdlcioKK2c6bmV0cndfY2hncGVybQlwaV9uZXRydy50eHQJLypnOm5ldHJ3X2NoZ3Blcm0qCitnOm5ldHJ3X2NoZ3dpbglwaV9uZXRydy50eHQJLypnOm5ldHJ3X2NoZ3dpbioKIGc6bmV0cndfY29tcHJlc3MJcGlfbmV0cncudHh0CS8qZzpuZXRyd19jb21wcmVzcyoKIGc6bmV0cndfY3RhZ3MJcGlfbmV0cncudHh0CS8qZzpuZXRyd19jdGFncyoKK2c6bmV0cndfY3Vyc29ybGluZQlwaV9uZXRydy50eHQJLypnOm5ldHJ3X2N1cnNvcmxpbmUqCiBnOm5ldHJ3X2N5Z3dpbglwaV9uZXRydy50eHQJLypnOm5ldHJ3X2N5Z3dpbioKIGc6bmV0cndfZGF2X2NtZAlwaV9uZXRydy50eHQJLypnOm5ldHJ3X2Rhdl9jbWQqCiBnOm5ldHJ3X2RlY29tcHJlc3MJcGlfbmV0cncudHh0CS8qZzpuZXRyd19kZWNvbXByZXNzKgotZzpuZXRyd19leHRyYWNtZAlwaV9uZXRydy50eHQJLypnOm5ldHJ3X2V4dHJhY21kKgogZzpuZXRyd19mYXN0YnJvd3NlCXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfZmFzdGJyb3dzZSoKIGc6bmV0cndfZmV0Y2hfY21kCXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfZmV0Y2hfY21kKgogZzpuZXRyd19mbmFtZV9lc2NhcGUJcGlfbmV0cncudHh0CS8qZzpuZXRyd19mbmFtZV9lc2NhcGUqCkBAIC01NjAzLDEwICs1NjM5LDEzIEBACiBnOm5ldHJ3X2Z0cF9saXN0X2NtZAlwaV9uZXRydy50eHQJLypnOm5ldHJ3X2Z0cF9saXN0X2NtZCoKIGc6bmV0cndfZnRwX3NpemVsaXN0X2NtZAlwaV9uZXRydy50eHQJLypnOm5ldHJ3X2Z0cF9zaXplbGlzdF9jbWQqCiBnOm5ldHJ3X2Z0cF90aW1lbGlzdF9jbWQJcGlfbmV0cncudHh0CS8qZzpuZXRyd19mdHBfdGltZWxpc3RfY21kKgorZzpuZXRyd19mdHBleHRyYWNtZAlwaV9uZXRydy50eHQJLypnOm5ldHJ3X2Z0cGV4dHJhY21kKgogZzpuZXRyd19mdHBtb2RlCXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfZnRwbW9kZSoKIGc6bmV0cndfZ2xvYl9lc2NhcGUJcGlfbmV0cncudHh0CS8qZzpuZXRyd19nbG9iX2VzY2FwZSoKIGc6bmV0cndfaGlkZQlwaV9uZXRydy50eHQJLypnOm5ldHJ3X2hpZGUqCitnOm5ldHJ3X2hvbWUJcGlfbmV0cncudHh0CS8qZzpuZXRyd19ob21lKgogZzpuZXRyd19odHRwX2NtZAlwaV9uZXRydy50eHQJLypnOm5ldHJ3X2h0dHBfY21kKgorZzpuZXRyd19odHRwX3hjbWQJcGlfbmV0cncudHh0CS8qZzpuZXRyd19odHRwX3hjbWQqCiBnOm5ldHJ3X2lnbm9yZW5ldHJjCXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfaWdub3JlbmV0cmMqCiBnOm5ldHJ3X2tlZXBkaXIJcGlfbmV0cncudHh0CS8qZzpuZXRyd19rZWVwZGlyKgogZzpuZXRyd19saXN0X2NtZAlwaV9uZXRydy50eHQJLypnOm5ldHJ3X2xpc3RfY21kKgpAQCAtNTYxOSw2ICs1NjU4LDcgQEAKIGc6bmV0cndfbWF4ZmlsZW5hbWVsZW4JcGlfbmV0cncudHh0CS8qZzpuZXRyd19tYXhmaWxlbmFtZWxlbioKIGc6bmV0cndfbWVudQlwaV9uZXRydy50eHQJLypnOm5ldHJ3X21lbnUqCiBnOm5ldHJ3X21rZGlyX2NtZAlwaV9uZXRydy50eHQJLypnOm5ldHJ3X21rZGlyX2NtZCoKK2c6bmV0cndfbW91c2VtYXBzCXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfbW91c2VtYXBzKgogZzpuZXRyd19ub2d4CXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfbm9neCoKIGc6bmV0cndfcHJldmlldwlwaV9uZXRydy50eHQJLypnOm5ldHJ3X3ByZXZpZXcqCiBnOm5ldHJ3X3JjcF9jbWQJcGlfbmV0cncudHh0CS8qZzpuZXRyd19yY3BfY21kKgpAQCAtNTYyOSw2ICs1NjY5LDcgQEAKIGc6bmV0cndfcnN5bmNfY21kCXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfcnN5bmNfY21kKgogZzpuZXRyd19zY3BfY21kCXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfc2NwX2NtZCoKIGc6bmV0cndfc2NwcG9ydAlwaV9uZXRydy50eHQJLypnOm5ldHJ3X3NjcHBvcnQqCitnOm5ldHJ3X3NlcGNocglwaV9uZXRydy50eHQJLypnOm5ldHJ3X3NlcGNocioKIGc6bmV0cndfc2Z0cF9jbWQJcGlfbmV0cncudHh0CS8qZzpuZXRyd19zZnRwX2NtZCoKIGc6bmV0cndfc2lsZW50CXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfc2lsZW50KgogZzpuZXRyd19zb3J0X2J5CXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfc29ydF9ieSoKQEAgLTU2NTAsNiArNTY5MSw4IEBACiBnOm5ldHJ3X3hzdHJsZW4JcGlfbmV0cncudHh0CS8qZzpuZXRyd194c3RybGVuKgogZzp0YXJfYnJvd3Nlb3B0aW9ucwlwaV90YXIudHh0CS8qZzp0YXJfYnJvd3Nlb3B0aW9ucyoKIGc6dGFyX2NtZAlwaV90YXIudHh0CS8qZzp0YXJfY21kKgorZzp0YXJfY29weWNtZAlwaV90YXIudHh0CS8qZzp0YXJfY29weWNtZCoKK2c6dGFyX2V4dHJhY3RjbWQJcGlfdGFyLnR4dAkvKmc6dGFyX2V4dHJhY3RjbWQqCiBnOnRhcl9ub21heAlwaV90YXIudHh0CS8qZzp0YXJfbm9tYXgqCiBnOnRhcl9yZWFkb3B0aW9ucwlwaV90YXIudHh0CS8qZzp0YXJfcmVhZG9wdGlvbnMqCiBnOnRhcl9zZWN1cmUJcGlfdGFyLnR4dAkvKmc6dGFyX3NlY3VyZSoKQEAgLTU2NTcsNyArNTcwMCw2IEBACiBnOnZhcglldmFsLnR4dAkvKmc6dmFyKgogZzp2aW1iYWxsX2hvbWUJcGlfdmltYmFsbC50eHQJLypnOnZpbWJhbGxfaG9tZSoKIGc6dmltYmFsbF9ta2RpcglwaV92aW1iYWxsLnR4dAkvKmc6dmltYmFsbF9ta2RpcioKLWc6dmltYmFsbF9wYXRoX2VzY2FwZQlwaV92aW1iYWxsLnR4dAkvKmc6dmltYmFsbF9wYXRoX2VzY2FwZSoKIGc6dmltc3luX2VtYmVkCXN5bnRheC50eHQJLypnOnZpbXN5bl9lbWJlZCoKIGc6dmltc3luX2ZvbGRpbmcJc3ludGF4LnR4dAkvKmc6dmltc3luX2ZvbGRpbmcqCiBnOnZpbXN5bl9tYXhsaW5lcwlzeW50YXgudHh0CS8qZzp2aW1zeW5fbWF4bGluZXMqCkBAIC02MDU0LDYgKzYwOTYsNyBAQAogaV9DVFJMLVAJaW5zZXJ0LnR4dAkvKmlfQ1RSTC1QKgogaV9DVFJMLVEJaW5zZXJ0LnR4dAkvKmlfQ1RSTC1RKgogaV9DVFJMLVIJaW5zZXJ0LnR4dAkvKmlfQ1RSTC1SKgoraV9DVFJMLVJfPQlpbnNlcnQudHh0CS8qaV9DVFJMLVJfPSoKIGlfQ1RSTC1SX0NUUkwtTwlpbnNlcnQudHh0CS8qaV9DVFJMLVJfQ1RSTC1PKgogaV9DVFJMLVJfQ1RSTC1QCWluc2VydC50eHQJLyppX0NUUkwtUl9DVFJMLVAqCiBpX0NUUkwtUl9DVFJMLVIJaW5zZXJ0LnR4dAkvKmlfQ1RSTC1SX0NUUkwtUioKQEAgLTYyMjgsNiArNjI3MSw3IEBACiBrbm93bi1idWdzCXRvZG8udHh0CS8qa25vd24tYnVncyoKIGwJbW90aW9uLnR4dAkvKmwqCiBsOnZhcglldmFsLnR4dAkvKmw6dmFyKgorbEN1cnNvcgltYnl0ZS50eHQJLypsQ3Vyc29yKgogbGFjZS52aW0Jc3ludGF4LnR4dAkvKmxhY2UudmltKgogbGFuZy12YXJpYWJsZQlldmFsLnR4dAkvKmxhbmctdmFyaWFibGUqCiBsYW5ndWFnZS1tYXBwaW5nCW1hcC50eHQJLypsYW5ndWFnZS1tYXBwaW5nKgpAQCAtNjQ4MywxMSArNjUyNywxMyBAQAogbmV0cncJcGlfbmV0cncudHh0CS8qbmV0cncqCiBuZXRydy0lCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LSUqCiBuZXRydy0tCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LS0qCituZXRydy1DCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LUMqCiBuZXRydy1ECXBpX25ldHJ3LnR4dAkvKm5ldHJ3LUQqCiBuZXRydy1PCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LU8qCiBuZXRydy1QCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LVAqCiBuZXRydy1SCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LVIqCiBuZXRydy1TCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LVMqCituZXRydy1UCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LVQqCiBuZXRydy1VCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LVUqCiBuZXRydy1hCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWEqCiBuZXRydy1hY3RpdmF0ZQlwaV9uZXRydy50eHQJLypuZXRydy1hY3RpdmF0ZSoKQEAgLTY1MDUsNiArNjU1MSw3IEBACiBuZXRydy1jaGd1cAlwaV9uZXRydy50eHQJLypuZXRydy1jaGd1cCoKIG5ldHJ3LWNsZWFuCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWNsZWFuKgogbmV0cnctY29udGVudHMJcGlfbmV0cncudHh0CS8qbmV0cnctY29udGVudHMqCituZXRydy1jb3B5cmlnaHQJcGlfbmV0cncudHh0CS8qbmV0cnctY29weXJpZ2h0KgogbmV0cnctY3IJcGlfbmV0cncudHh0CS8qbmV0cnctY3IqCiBuZXRydy1jcmVkaXRzCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWNyZWRpdHMqCiBuZXRydy1jdHJsLWgJcGlfbmV0cncudHh0CS8qbmV0cnctY3RybC1oKgpAQCAtNjUyNCwxMCArNjU3MSwxNCBAQAogbmV0cnctZXhwbG9yZS1jbWRzCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWV4cGxvcmUtY21kcyoKIG5ldHJ3LWV4dGVybmFwcAlwaV9uZXRydy50eHQJLypuZXRydy1leHRlcm5hcHAqCiBuZXRydy1maWxlCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWZpbGUqCituZXRydy1maWxpZ3JlZQlwaV9uZXRydy50eHQJLypuZXRydy1maWxpZ3JlZSoKIG5ldHJ3LWZpeHVwCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWZpeHVwKgogbmV0cnctZnRwCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWZ0cCoKK25ldHJ3LWZ0eXBlCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWZ0eXBlKgogbmV0cnctZ2IJcGlfbmV0cncudHh0CS8qbmV0cnctZ2IqCituZXRydy1nZXRmdHlwZQlwaV9uZXRydy50eHQJLypuZXRydy1nZXRmdHlwZSoKIG5ldHJ3LWdoCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWdoKgorbmV0cnctZ3AJcGlfbmV0cncudHh0CS8qbmV0cnctZ3AqCiBuZXRydy1neAlwaV9uZXRydy50eHQJLypuZXRydy1neCoKIG5ldHJ3LWhhbmRsZXIJcGlfbmV0cncudHh0CS8qbmV0cnctaGFuZGxlcioKIG5ldHJ3LWhlbHAJcGlfbmV0cncudHh0CS8qbmV0cnctaGVscCoKQEAgLTY1MzksMTAgKzY1OTAsMTIgQEAKIG5ldHJ3LWkJcGlfbmV0cncudHh0CS8qbmV0cnctaSoKIG5ldHJ3LWluY29tcGF0aWJsZQlwaV9uZXRydy50eHQJLypuZXRydy1pbmNvbXBhdGlibGUqCiBuZXRydy1pbnRyby1icm93c2UJcGlfbmV0cncudHh0CS8qbmV0cnctaW50cm8tYnJvd3NlKgorbmV0cnctbGVmdG1vdXNlCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWxlZnRtb3VzZSoKIG5ldHJ3LWxpc3QJcGlfbmV0cncudHh0CS8qbmV0cnctbGlzdCoKIG5ldHJ3LWxpc3Rib29rbWFyawlwaV9uZXRydy50eHQJLypuZXRydy1saXN0Ym9va21hcmsqCiBuZXRydy1saXN0aGFjawlwaV9uZXRydy50eHQJLypuZXRydy1saXN0aGFjayoKIG5ldHJ3LWxvZ2luCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWxvZ2luKgorbmV0cnctbUIJcGlfbmV0cncudHh0CS8qbmV0cnctbUIqCiBuZXRydy1tVAlwaV9uZXRydy50eHQJLypuZXRydy1tVCoKIG5ldHJ3LW1iCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LW1iKgogbmV0cnctbWMJcGlfbmV0cncudHh0CS8qbmV0cnctbWMqCkBAIC02NTUxLDggKzY2MDQsMTAgQEAKIG5ldHJ3LW1mCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LW1mKgogbmV0cnctbWcJcGlfbmV0cncudHh0CS8qbmV0cnctbWcqCiBuZXRydy1taAlwaV9uZXRydy50eHQJLypuZXRydy1taCoKK25ldHJ3LW1pZGRsZW1vdXNlCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LW1pZGRsZW1vdXNlKgogbmV0cnctbWxfZ2V0CXBpX25ldHJ3LnR4dAkvKm5ldHJ3LW1sX2dldCoKIG5ldHJ3LW1tCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LW1tKgorbmV0cnctbW91c2UJcGlfbmV0cncudHh0CS8qbmV0cnctbW91c2UqCiBuZXRydy1tb3ZlCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LW1vdmUqCiBuZXRydy1tcAlwaV9uZXRydy50eHQJLypuZXRydy1tcCoKIG5ldHJ3LW1yCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LW1yKgpAQCAtNjU3MSw2ICs2NjI2LDcgQEAKIG5ldHJ3LXAxCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LXAxKgogbmV0cnctcDEwCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LXAxMCoKIG5ldHJ3LXAxMQlwaV9uZXRydy50eHQJLypuZXRydy1wMTEqCituZXRydy1wMTIJcGlfbmV0cncudHh0CS8qbmV0cnctcDEyKgogbmV0cnctcDIJcGlfbmV0cncudHh0CS8qbmV0cnctcDIqCiBuZXRydy1wMwlwaV9uZXRydy50eHQJLypuZXRydy1wMyoKIG5ldHJ3LXA0CXBpX25ldHJ3LnR4dAkvKm5ldHJ3LXA0KgpAQCAtNjYwMyw2ICs2NjU5LDcgQEAKIG5ldHJ3LXJlbmFtZQlwaV9uZXRydy50eHQJLypuZXRydy1yZW5hbWUqCiBuZXRydy1yZXZlcnNlCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LXJldmVyc2UqCiBuZXRydy1yZXhwbG9yZQlwaV9uZXRydy50eHQJLypuZXRydy1yZXhwbG9yZSoKK25ldHJ3LXJpZ2h0bW91c2UJcGlfbmV0cncudHh0CS8qbmV0cnctcmlnaHRtb3VzZSoKIG5ldHJ3LXMJcGlfbmV0cncudHh0CS8qbmV0cnctcyoKIG5ldHJ3LXNldHRpbmdzCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LXNldHRpbmdzKgogbmV0cnctc2V4cGxvcmUJcGlfbmV0cncudHh0CS8qbmV0cnctc2V4cGxvcmUqCkBAIC02NjE3LDYgKzY2NzQsNyBAQAogbmV0cnctc3RhcnQJcGlfbmV0cncudHh0CS8qbmV0cnctc3RhcnQqCiBuZXRydy10CXBpX25ldHJ3LnR4dAkvKm5ldHJ3LXQqCiBuZXRydy10ZXhwbG9yZQlwaV9uZXRydy50eHQJLypuZXRydy10ZXhwbG9yZSoKK25ldHJ3LXRvZG8JcGlfbmV0cncudHh0CS8qbmV0cnctdG9kbyoKIG5ldHJ3LXRyYW5zcGFyZW50CXBpX25ldHJ3LnR4dAkvKm5ldHJ3LXRyYW5zcGFyZW50KgogbmV0cnctdQlwaV9uZXRydy50eHQJLypuZXRydy11KgogbmV0cnctdWlkcGFzcwlwaV9uZXRydy50eHQJLypuZXRydy11aWRwYXNzKgpAQCAtNjczMiw2ICs2NzkwLDcgQEAKIG9iamVjdHMJaW5kZXgudHh0CS8qb2JqZWN0cyoKIG9idGFpbmluZy1leHRlZAluZXRiZWFucy50eHQJLypvYnRhaW5pbmctZXh0ZWQqCiBvY2FtbC52aW0Jc3ludGF4LnR4dAkvKm9jYW1sLnZpbSoKK29sZGZpbGVzLXZhcmlhYmxlCWV2YWwudHh0CS8qb2xkZmlsZXMtdmFyaWFibGUqCiBvbGUtYWN0aXZhdGlvbglpZl9vbGUudHh0CS8qb2xlLWFjdGl2YXRpb24qCiBvbGUtZXZhbAlpZl9vbGUudHh0CS8qb2xlLWV2YWwqCiBvbGUtZ2V0aHduZAlpZl9vbGUudHh0CS8qb2xlLWdldGh3bmQqCkBAIC02ODUyLDcgKzY5MTEsNyBAQAogcG9zaXgJdmlfZGlmZi50eHQJLypwb3NpeCoKIHBvc2l4LWNvbXBsaWFuY2UJdmlfZGlmZi50eHQJLypwb3NpeC1jb21wbGlhbmNlKgogcG9zaXgtc2NyZWVuLXNpemUJdmlfZGlmZi50eHQJLypwb3NpeC1zY3JlZW4tc2l6ZSoKLXBvc3RncmVzCWZ0X3NxbC50eHQJLypwb3N0Z3JlcyoKK3Bvc3RncmVzcwlmdF9zcWwudHh0CS8qcG9zdGdyZXNzKgogcG9zdHNjci52aW0Jc3ludGF4LnR4dAkvKnBvc3RzY3IudmltKgogcG9zdHNjcmlwdC1jamstcHJpbnRpbmcJcHJpbnQudHh0CS8qcG9zdHNjcmlwdC1jamstcHJpbnRpbmcqCiBwb3N0c2NyaXB0LXByaW50LWVuY29kaW5nCXByaW50LnR4dAkvKnBvc3RzY3JpcHQtcHJpbnQtZW5jb2RpbmcqCkBAIC02ODg5LDYgKzY5NDgsNyBAQAogcHJvZmlsaW5nLXZhcmlhYmxlCWV2YWwudHh0CS8qcHJvZmlsaW5nLXZhcmlhYmxlKgogcHJvZ25hbWUtdmFyaWFibGUJZXZhbC50eHQJLypwcm9nbmFtZS12YXJpYWJsZSoKIHByb2dyZXNzLnZpbQlzeW50YXgudHh0CS8qcHJvZ3Jlc3MudmltKgorcHJvbm91bmNlCWludHJvLnR4dAkvKnByb25vdW5jZSoKIHBzcWwJZnRfc3FsLnR4dAkvKnBzcWwqCiBwdGNhcC52aW0Jc3ludGF4LnR4dAkvKnB0Y2FwLnZpbSoKIHB0ZXJtLW1vdXNlCW9wdGlvbnMudHh0CS8qcHRlcm0tbW91c2UqCkBAIC03MTQ5LDYgKzcyMDksNyBAQAogc2V0dGluZy1ndWlmb250CWd1aS50eHQJLypzZXR0aW5nLWd1aWZvbnQqCiBzZXR0aW5nLWd1aXRhYmxhYmVsCXRhYnBhZ2UudHh0CS8qc2V0dGluZy1ndWl0YWJsYWJlbCoKIHNldHRpbmctdGFibGluZQl0YWJwYWdlLnR4dAkvKnNldHRpbmctdGFibGluZSoKK3NldHVpZAljaGFuZ2UudHh0CS8qc2V0dWlkKgogc2V0d2ludmFyKCkJZXZhbC50eHQJLypzZXR3aW52YXIoKSoKIHNmdHAJcGlfbmV0cncudHh0CS8qc2Z0cCoKIHNnbWwudmltCXN5bnRheC50eHQJLypzZ21sLnZpbSoKQEAgLTcxNzEsNiArNzIzMiw3IEBACiBzaW4oKQlldmFsLnR4dAkvKnNpbigpKgogc2luZ2xlLXJlcGVhdAlyZXBlYXQudHh0CS8qc2luZ2xlLXJlcGVhdCoKIHNrZWxldG9uCWF1dG9jbWQudHh0CS8qc2tlbGV0b24qCitzbGljZQlldmFsLnR4dAkvKnNsaWNlKgogc2xvdy1mYXN0LXRlcm1pbmFsCXRlcm0udHh0CS8qc2xvdy1mYXN0LXRlcm1pbmFsKgogc2xvdy1zdGFydAlzdGFydGluZy50eHQJLypzbG93LXN0YXJ0Kgogc2xvdy10ZXJtaW5hbAl0ZXJtLnR4dAkvKnNsb3ctdGVybWluYWwqCkBAIC03MTk1LDYgKzcyNTcsNyBAQAogc3BlbGwtQUNDRU5UCXNwZWxsLnR4dAkvKnNwZWxsLUFDQ0VOVCoKIHNwZWxsLUFVVEhPUglzcGVsbC50eHQJLypzcGVsbC1BVVRIT1IqCiBzcGVsbC1CQUQJc3BlbGwudHh0CS8qc3BlbGwtQkFEKgorc3BlbGwtQlJFQUsJc3BlbGwudHh0CS8qc3BlbGwtQlJFQUsqCiBzcGVsbC1DSEVDS0NPTVBPVU5EQ0FTRQlzcGVsbC50eHQJLypzcGVsbC1DSEVDS0NPTVBPVU5EQ0FTRSoKIHNwZWxsLUNIRUNLQ09NUE9VTkREVVAJc3BlbGwudHh0CS8qc3BlbGwtQ0hFQ0tDT01QT1VORERVUCoKIHNwZWxsLUNIRUNLQ09NUE9VTkRQQVRURVJOCXNwZWxsLnR4dAkvKnNwZWxsLUNIRUNLQ09NUE9VTkRQQVRURVJOKgpAQCAtNzIxNCw2ICs3Mjc3LDcgQEAKIHNwZWxsLUNPTVBPVU5EUEVSTUlURkxBRwlzcGVsbC50eHQJLypzcGVsbC1DT01QT1VORFBFUk1JVEZMQUcqCiBzcGVsbC1DT01QT1VORFJPT1QJc3BlbGwudHh0CS8qc3BlbGwtQ09NUE9VTkRST09UKgogc3BlbGwtQ09NUE9VTkRSVUxFCXNwZWxsLnR4dAkvKnNwZWxsLUNPTVBPVU5EUlVMRSoKK3NwZWxsLUNPTVBPVU5EUlVMRVMJc3BlbGwudHh0CS8qc3BlbGwtQ09NUE9VTkRSVUxFUyoKIHNwZWxsLUNPTVBPVU5EU1lMTEFCTEUJc3BlbGwudHh0CS8qc3BlbGwtQ09NUE9VTkRTWUxMQUJMRSoKIHNwZWxsLUNPTVBPVU5EU1lMTUFYCXNwZWxsLnR4dAkvKnNwZWxsLUNPTVBPVU5EU1lMTUFYKgogc3BlbGwtQ09NUE9VTkRXT1JETUFYCXNwZWxsLnR4dAkvKnNwZWxsLUNPTVBPVU5EV09SRE1BWCoKQEAgLTcyMjQsNiArNzI4OCw3IEBACiBzcGVsbC1GT1JCSURERU5XT1JECXNwZWxsLnR4dAkvKnNwZWxsLUZPUkJJRERFTldPUkQqCiBzcGVsbC1IT01FCXNwZWxsLnR4dAkvKnNwZWxsLUhPTUUqCiBzcGVsbC1LRUVQQ0FTRQlzcGVsbC50eHQJLypzcGVsbC1LRUVQQ0FTRSoKK3NwZWxsLUtFWQlzcGVsbC50eHQJLypzcGVsbC1LRVkqCiBzcGVsbC1MQU5HCXNwZWxsLnR4dAkvKnNwZWxsLUxBTkcqCiBzcGVsbC1MRU1NQV9QUkVTRU5UCXNwZWxsLnR4dAkvKnNwZWxsLUxFTU1BX1BSRVNFTlQqCiBzcGVsbC1MT1cJc3BlbGwudHh0CS8qc3BlbGwtTE9XKgpAQCAtNzMxMSw5ICs3Mzc2LDExIEBACiBzcWwtcHJlZGVmaW5lZC1vYmplY3RzCWZ0X3NxbC50eHQJLypzcWwtcHJlZGVmaW5lZC1vYmplY3RzKgogc3FsLXR5cGUtZGVmYXVsdAlmdF9zcWwudHh0CS8qc3FsLXR5cGUtZGVmYXVsdCoKIHNxbC10eXBlcwlmdF9zcWwudHh0CS8qc3FsLXR5cGVzKgorc3FsLnR4dAlmdF9zcWwudHh0CS8qc3FsLnR4dCoKIHNxbC52aW0Jc3ludGF4LnR4dAkvKnNxbC52aW0qCiBzcWxhbnl3aGVyZQlmdF9zcWwudHh0CS8qc3FsYW55d2hlcmUqCiBzcWxhbnl3aGVyZS52aW0Jc3ludGF4LnR4dAkvKnNxbGFueXdoZXJlLnZpbSoKK3NxbGdldHR5cGUJZnRfc3FsLnR4dAkvKnNxbGdldHR5cGUqCiBzcWxpbmZvcm1peC52aW0Jc3ludGF4LnR4dAkvKnNxbGluZm9ybWl4LnZpbSoKIHNxbGoJZnRfc3FsLnR4dAkvKnNxbGoqCiBzcWxzZXJ2ZXIJZnRfc3FsLnR4dAkvKnNxbHNlcnZlcioKQEAgLTczNjQsMTIgKzc0MzEsMTQgQEAKIHN1Yi1yZXBsYWNlLVw9CWNoYW5nZS50eHQJLypzdWItcmVwbGFjZS1cXD0qCiBzdWItcmVwbGFjZS1leHByZXNzaW9uCWNoYW5nZS50eHQJLypzdWItcmVwbGFjZS1leHByZXNzaW9uKgogc3ViLXJlcGxhY2Utc3BlY2lhbAljaGFuZ2UudHh0CS8qc3ViLXJlcGxhY2Utc3BlY2lhbCoKK3N1Ymxpc3QJZXZhbC50eHQJLypzdWJsaXN0Kgogc3VibWF0Y2goKQlldmFsLnR4dAkvKnN1Ym1hdGNoKCkqCiBzdWJzY3JpYmUtbWFpbGxpc3QJaW50cm8udHh0CS8qc3Vic2NyaWJlLW1haWxsaXN0Kgogc3Vic3RpdHV0ZSgpCWV2YWwudHh0CS8qc3Vic3RpdHV0ZSgpKgogc3Vic3RpdHV0ZS1DUgl2ZXJzaW9uNi50eHQJLypzdWJzdGl0dXRlLUNSKgogc3VmZml4ZXMJY21kbGluZS50eHQJLypzdWZmaXhlcyoKIHN1c3BlbmQJc3RhcnRpbmcudHh0CS8qc3VzcGVuZCoKK3N3YXAtZXhpc3RzLWNob2ljZXMJdXNyXzExLnR4dAkvKnN3YXAtZXhpc3RzLWNob2ljZXMqCiBzd2FwLWZpbGUJcmVjb3Zlci50eHQJLypzd2FwLWZpbGUqCiBzd2FwY2hvaWNlLXZhcmlhYmxlCWV2YWwudHh0CS8qc3dhcGNob2ljZS12YXJpYWJsZSoKIHN3YXBjb21tYW5kLXZhcmlhYmxlCWV2YWwudHh0CS8qc3dhcGNvbW1hbmQtdmFyaWFibGUqCkBAIC03NjUwLDYgKzc3MTksNyBAQAogdGVhci1vZmYtbWVudXMJZ3VpLnR4dAkvKnRlYXItb2ZmLW1lbnVzKgogdGVsbmV0LUNUUkwtXQl0YWdzcmNoLnR4dAkvKnRlbG5ldC1DVFJMLV0qCiB0ZW1wLWZpbGUtbmFtZQlldmFsLnR4dAkvKnRlbXAtZmlsZS1uYW1lKgordGVtcGZpbGUJY2hhbmdlLnR4dAkvKnRlbXBmaWxlKgogdGVtcGxhdGUJYXV0b2NtZC50eHQJLyp0ZW1wbGF0ZSoKIHRlbXBuYW1lKCkJZXZhbC50eHQJLyp0ZW1wbmFtZSgpKgogdGVybS1kZXBlbmRlbnQtc2V0dGluZ3MJdGVybS50eHQJLyp0ZXJtLWRlcGVuZGVudC1zZXR0aW5ncyoKQEAgLTc4MTgsNiArNzg4OCw3IEBACiB2Om1vdXNlX2NvbAlldmFsLnR4dAkvKnY6bW91c2VfY29sKgogdjptb3VzZV9sbnVtCWV2YWwudHh0CS8qdjptb3VzZV9sbnVtKgogdjptb3VzZV93aW4JZXZhbC50eHQJLyp2Om1vdXNlX3dpbioKK3Y6b2xkZmlsZXMJZXZhbC50eHQJLyp2Om9sZGZpbGVzKgogdjpvcGVyYXRvcglldmFsLnR4dAkvKnY6b3BlcmF0b3IqCiB2OnByZXZjb3VudAlldmFsLnR4dAkvKnY6cHJldmNvdW50Kgogdjpwcm9maWxpbmcJZXZhbC50eHQJLyp2OnByb2ZpbGluZyoKQEAgLTc5NDIsNiArODAxMyw3IEBACiB2X3kJY2hhbmdlLnR4dAkvKnZfeSoKIHZffgljaGFuZ2UudHh0CS8qdl9+KgogdmFsLXZhcmlhYmxlCWV2YWwudHh0CS8qdmFsLXZhcmlhYmxlKgordmFsZ3JpbmQJZGVidWcudHh0CS8qdmFsZ3JpbmQqCiB2YWx1ZXMoKQlldmFsLnR4dAkvKnZhbHVlcygpKgogdmFyaWFibGVzCWV2YWwudHh0CS8qdmFyaWFibGVzKgogdmFyaW91cwl2YXJpb3VzLnR4dAkvKnZhcmlvdXMqCkBAIC04MDA4LDYgKzgwODAsNyBAQAogdmltaW5mby1maWxlLW1hcmtzCXN0YXJ0aW5nLnR4dAkvKnZpbWluZm8tZmlsZS1tYXJrcyoKIHZpbWluZm8tZmlsZS1uYW1lCXN0YXJ0aW5nLnR4dAkvKnZpbWluZm8tZmlsZS1uYW1lKgogdmltaW5mby1yZWFkCXN0YXJ0aW5nLnR4dAkvKnZpbWluZm8tcmVhZCoKK3ZpbWluZm8tcmVhZC13cml0ZQlzdGFydGluZy50eHQJLyp2aW1pbmZvLXJlYWQtd3JpdGUqCiB2aW1pbmZvLXdyaXRlCXN0YXJ0aW5nLnR4dAkvKnZpbWluZm8td3JpdGUqCiB2aW1yYwlzdGFydGluZy50eHQJLyp2aW1yYyoKIHZpbXJjLWZpbGV0eXBlCXVzcl8wNS50eHQJLyp2aW1yYy1maWxldHlwZSoKQEAgLTgxNjcsNiArODI0MCw3IEBACiB4dGVybS1tb2RpZmllci1rZXlzCXRlcm0udHh0CS8qeHRlcm0tbW9kaWZpZXIta2V5cyoKIHh0ZXJtLW1vdXNlCW9wdGlvbnMudHh0CS8qeHRlcm0tbW91c2UqCiB4dGVybS1tb3VzZS13aGVlbAlzY3JvbGwudHh0CS8qeHRlcm0tbW91c2Utd2hlZWwqCit4dGVybS1yZXNpemUJdGVybS50eHQJLyp4dGVybS1yZXNpemUqCiB4dGVybS1zYXZlLXNjcmVlbgl0aXBzLnR4dAkvKnh0ZXJtLXNhdmUtc2NyZWVuKgogeHRlcm0tc2NyZWVucwl0aXBzLnR4dAkvKnh0ZXJtLXNjcmVlbnMqCiB4dGVybS1zY3JvbGwtcmVnaW9uCXRlcm0udHh0CS8qeHRlcm0tc2Nyb2xsLXJlZ2lvbioKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RhZ3NyY2gudHh0IGIvcnVudGltZS9kb2MvdGFnc3JjaC50eHQKaW5kZXggMTI2N2ZiMS4uMTVlYmJkNCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdGFnc3JjaC50eHQKKysrIGIvcnVudGltZS9kb2MvdGFnc3JjaC50eHQKQEAgLTEsNCArMSw0IEBACi0qdGFnc3JjaC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAorKnRhZ3NyY2gudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOSBGZWIgMTgKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTE3Niw3ICsxNzYsNyBAQAogMy4gVGFnIG1hdGNoIGxpc3QJCQkJKnRhZy1tYXRjaGxpc3QqICpFNDI3KiAqRTQyOCoKIAogV2hlbiB0aGVyZSBhcmUgc2V2ZXJhbCBtYXRjaGluZyB0YWdzLCB0aGVzZSBjb21tYW5kcyBjYW4gYmUgdXNlZCB0byBqdW1wCi1iZXR3ZWVuIHRoZW0uICBOb3RlIHRoYXQgdGhlc2UgY29tbWFuZCBkb24ndCBjaGFuZ2UgdGhlIHRhZyBzdGFjaywgdGhleSBrZWVwCitiZXR3ZWVuIHRoZW0uICBOb3RlIHRoYXQgdGhlc2UgY29tbWFuZHMgZG9uJ3QgY2hhbmdlIHRoZSB0YWcgc3RhY2ssIHRoZXkga2VlcAogdGhlIHNhbWUgZW50cnkuCiAKIAkJCQkJCQkqOnRzKiAqOnRzZWxlY3QqCkBAIC00MjgsNiArNDI4LDEwIEBACiB8K2VtYWNzX3RhZ3N8IGZlYXR1cmUgZW5hYmxlZC4gIFNvcnJ5LCB0aGVyZSBpcyBubyBleHBsYW5hdGlvbiBhYm91dCBFbWFjcyB0YWcKIGZpbGVzIGhlcmUsIGl0IGlzIG9ubHkgc3VwcG9ydGVkIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSA6LSkuCiAKK0xpbmVzIGluIEVtYWNzIHRhZ3MgZmlsZXMgY2FuIGJlIHZlcnkgbG9uZy4gIFZpbSBvbmx5IGRlYWxzIHdpdGggbGluZXMgb2YgdXAKK3RvIGFib3V0IDUxMCBieXRlcy4gIFRvIHNlZSB3aGV0aGVyIGxpbmVzIGFyZSBpZ25vcmVkIHNldCAndmVyYm9zZScgdG8gNSBvcgoraGlnaGVyLgorCiAJCQkJCQkJKnRhZ3Mtb3B0aW9uKgogVGhlICd0YWdzJyBvcHRpb24gaXMgYSBsaXN0IG9mIGZpbGUgbmFtZXMuICBFYWNoIG9mIHRoZXNlIGZpbGVzIGlzIHNlYXJjaGVkCiBmb3IgdGhlIHRhZy4gIFRoaXMgY2FuIGJlIHVzZWQgdG8gdXNlIGEgZGlmZmVyZW50IHRhZ3MgZmlsZSB0aGFuIHRoZSBkZWZhdWx0CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90ZXJtLnR4dCBiL3J1bnRpbWUvZG9jL3Rlcm0udHh0CmluZGV4IDNkZjA2NTYuLmVkMzA4ZTggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Rlcm0udHh0CisrKyBiL3J1bnRpbWUvZG9jL3Rlcm0udHh0CkBAIC0xLDQgKzEsNCBAQAotKnRlcm0udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjEKKyp0ZXJtLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgTm92IDA1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC00MTAsNiArNDEwLDIxIEBACiBOb3RlOiBUaGlzIGlzIG9ubHkgZG9uZSBvbiBzdGFydHVwLiAgSWYgdGhlIHh0ZXJtIG9wdGlvbnMgYXJlIGNoYW5nZWQgYWZ0ZXIKIFZpbSBoYXMgc3RhcnRlZCwgdGhlIGVzY2FwZSBzZXF1ZW5jZXMgbWF5IG5vdCBiZSByZWNvZ25pemVkIGFueSBtb3JlLgogCisJCQkJCQkJKnh0ZXJtLXJlc2l6ZSoKK1dpbmRvdyByZXNpemluZyB3aXRoIHh0ZXJtIG9ubHkgd29ya3MgaWYgdGhlIGFsbG93V2luZG93T3BzIHJlc291cmNlIGlzCitlbmFibGVkLiAgT24gc29tZSBzeXN0ZW1zIGFuZCB2ZXJzaW9ucyBvZiB4dGVybSBpdCdzIGRpc2FibGVkIGJ5IGRlZmF1bHQKK2JlY2F1c2Ugc29tZW9uZSB0aG91Z2h0IGl0IHdvdWxkIGJlIGEgc2VjdXJpdHkgaXNzdWUuICBJdCdzIG5vdCBjbGVhciBpZiB0aGlzCitpcyBhY3R1YWxseSB0aGUgY2FzZS4KKworVG8gb3ZlcnJ1bGUgdGhlIGRlZmF1bHQsIHB1dCB0aGlzIGxpbmUgaW4geW91ciB+Ly5YZGVmYXVsdHMgb3IKK34vLlhyZXNvdXJjZXM6Cis+CisJWFRlcm0qYWxsb3dXaW5kb3dPcHM6IAkJdHJ1ZQorCitBbmQgcnVuICJ4cmRiIC1tZXJnZSAuWHJlc291cmNlcyIgdG8gbWFrZSBpdCBlZmZlY3RpdmUuICBZb3UgY2FuIGNoZWNrIHRoZQordmFsdWUgd2l0aCB0aGUgY29udGV4dCBtZW51IChyaWdodCBtb3VzZSBidXR0b24gd2hpbGUgQ1RSTCBrZXkgaXMgcHJlc3NlZCksCit0aGVyZSBzaG91bGQgYmUgYSB0aWNrIGF0IGFsbG93LXdpbmRvdy1vcHMuCisKIAkJCQkJCQkqdGVybWNhcC1jb2xvcnMqCiBOb3RlIGFib3V0IGNvbG9yczogVGhlICd0X0NvJyBvcHRpb24gdGVsbHMgVmltIHRoZSBudW1iZXIgb2YgY29sb3JzIGF2YWlsYWJsZS4KIFdoZW4gaXQgaXMgbm9uLXplcm8sIHRoZSAndF9BQicgYW5kICd0X0FGJyBvcHRpb25zIGFyZSB1c2VkIHRvIHNldCB0aGUgY29sb3IuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90aXBzLnR4dCBiL3J1bnRpbWUvZG9jL3RpcHMudHh0CmluZGV4IDVmODNlYzUuLmU1YWU0MGUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RpcHMudHh0CisrKyBiL3J1bnRpbWUvZG9jL3RpcHMudHh0CkBAIC0xLDQgKzEsNCBAQAotKnRpcHMudHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwNiBKdWwgMjQKKyp0aXBzLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgTm92IDA3CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC02LDYgKzYsMTAgQEAKIAogVGlwcyBhbmQgaWRlYXMgZm9yIHVzaW5nIFZpbQkJCQkqdGlwcyoKIAorVGhlc2UgYXJlIGp1c3QgYSBmZXcgdGhhdCB3ZSB0aG91Z2h0IHdvdWxkIGJlIGhlbHBmdWwgZm9yIG1hbnkgdXNlcnMuCitZb3UgY2FuIGZpbmQgbWFueSBtb3JlIHRpcHMgb24gdGhlIHdpa2kuICBUaGUgVVJMIGNhbiBiZSBmb3VuZCBvbgoraHR0cDovL3d3dy52aW0ub3JnCisKIERvbid0IGZvcmdldCB0byBicm93c2UgdGhlIHVzZXIgbWFudWFsLCBpdCBhbHNvIGNvbnRhaW5zIGxvdHMgb2YgdXNlZnVsIHRpcHMKIHx1c3JfdG9jLnR4dHwuCiAKQEAgLTE4LDExICsyMiwxMiBAQAogQ291bnRpbmcgd29yZHMsIGxpbmVzLCBldGMuCQkJfGNvdW50LWl0ZW1zfAogUmVzdG9yaW5nIHRoZSBjdXJzb3IgcG9zaXRpb24JCQl8cmVzdG9yZS1wb3NpdGlvbnwKIFJlbmFtaW5nIGZpbGVzCQkJCQl8cmVuYW1lLWZpbGVzfAorQ2hhbmdlIGEgbmFtZSBpbiBtdWx0aXBsZSBmaWxlcwkJCXxjaGFuZ2UtbmFtZXwKIFNwZWVkaW5nIHVwIGV4dGVybmFsIGNvbW1hbmRzCQkJfHNwZWVkLXVwfAogVXNlZnVsIG1hcHBpbmdzCQkJCQl8dXNlZnVsLW1hcHBpbmdzfAogQ29tcHJlc3NpbmcgdGhlIGhlbHAgZmlsZXMJCQl8Z3ppcC1oZWxwZmlsZXwKLUhleCBlZGl0aW5nCQkJCQl8aGV4LWVkaXRpbmd8CiBFeGVjdXRpbmcgc2hlbGwgY29tbWFuZHMgaW4gYSB3aW5kb3cJCXxzaGVsbC13aW5kb3d8CitIZXggZWRpdGluZwkJCQkJfGhleC1lZGl0aW5nfAogVXNpbmcgPD4gbm90YXRpb24gaW4gYXV0b2NvbW1hbmRzCQl8YXV0b2NtZC08PnwKIEhpZ2hsaWdodGluZyBtYXRjaGluZyBwYXJlbnMJCQl8bWF0Y2gtcGFyZW5zfAogCkBAIC0yNDYsNiArMjUxLDggQEAKIAl6dAlzY3JvbGwgdG8gbW92ZSB0aGlzIGxpbmUgdG8gdGhlIHRvcCBvZiB0aGUgd2luZG93CiAJYHMJanVtcCB0byB0aGUgb3JpZ2luYWwgcG9zaXRpb24gb2YgdGhlIGN1cnNvcgogCitGb3Igc29tZXRoaW5nIG1vcmUgYWR2YW5jZWQgc2VlIHx3aW5zYXZldmlldygpfCBhbmQgfHdpbnJlc3R2aWV3KCl8LgorCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIFJlbmFtaW5nIGZpbGVzCQkJCQkJKnJlbmFtZS1maWxlcyoKIApAQCAtMjY2LDYgKzI3MywyNSBAQAogCTpxIQogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK0NoYW5nZSBhIG5hbWUgaW4gbXVsdGlwbGUgZmlsZXMJCQkJKmNoYW5nZS1uYW1lKgorCitFeGFtcGxlIGZvciB1c2luZyBhIHNjcmlwdCBmaWxlIHRvIGNoYW5nZSBhIG5hbWUgaW4gc2V2ZXJhbCBmaWxlczoKKworCUNyZWF0ZSBhIGZpbGUgInN1YnMudmltIiBjb250YWluaW5nIHN1YnN0aXR1dGUgY29tbWFuZHMgYW5kIGEgOnVwZGF0ZQorCWNvbW1hbmQ6ID4KKwkJOiVzL0pvbmVzL1NtaXRoL2cKKwkJOiVzL0FsbGVuL1BldGVyL2cKKwkJOnVwZGF0ZQorPAorCUV4ZWN1dGUgVmltIG9uIGFsbCBmaWxlcyB5b3Ugd2FudCB0byBjaGFuZ2UsIGFuZCBzb3VyY2UgdGhlIHNjcmlwdCBmb3IKKwllYWNoIGFyZ3VtZW50OiA+CisKKwkJdmltICoubGV0CisJCWFyZ2RvIHNvdXJjZSBzdWJzLnZpbQorCitTZWUgfDphcmdkb3wuCisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogU3BlZWRpbmcgdXAgZXh0ZXJuYWwgY29tbWFuZHMJCQkJKnNwZWVkLXVwKgogCiBJbiBzb21lIHNpdHVhdGlvbnMsIGV4ZWN1dGlvbiBvZiBhbiBleHRlcm5hbCBjb21tYW5kIGNhbiBiZSB2ZXJ5IHNsb3cuICBUaGlzCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90b2RvLnR4dCBiL3J1bnRpbWUvZG9jL3RvZG8udHh0CmluZGV4IDgxNDkyYzAuLmM2ZTgyYWQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RvZG8udHh0CisrKyBiL3J1bnRpbWUvZG9jL3RvZG8udHh0CkBAIC0xLDQgKzEsNCBAQAotKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBBdWcgMDkKKyp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMTAgSmFuIDA2CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTMwLDMxICszMCwzNTkgQEAKIAkJCQkJCQkqa25vd24tYnVncyoKIC0tLS0tLS0tLS0tLS0tLS0tLS0tIEtub3duIGJ1Z3MgYW5kIGN1cnJlbnQgd29yayAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi0iOnBlZGl0ICUiIHdpdGggYSBCdWZSZWFkUHJlIGF1dG9jb21tYW5kIGNhdXNlcyB0aGUgY3Vyc29yIHRvIG1vdmUgdG8gdGhlCi1maXJzdCBsaW5lLiAoSW5nbyBLYXJrYXQsIDIwMDggSnVsIDEpICBJYW4gS2VsbGluZyBpcyB3b3JraW5nIG9uIHRoaXMuCitQYXRjaCBmcm9tIERvbWluaXF1ZSBQZWxsZSB0byBjb21tZW50IG91dCB1bnVzZWQgZnVuY3Rpb25zLiAoMjAwOSBEZWMgMjUpCiAKLUhhdmUgYSBsb29rIGF0IHBhdGNoIGZvciB1dGYtOCBsaW5lIGJyZWFraW5nLiAoWW9uZ3dlaSBXdSwgMjAwOCBNYXIgMSwgTWFyIDIzKQorRXh0ZW50aW9uIGZvciBNelNjaGVtZSBpbnRlcmZhY2UuIChTZXJnZXkgS2hvcmV2LCAyMDA5IERlYyAyMSwgdXBkYXRlIERlYyAyNikKKworUGF0Y2g6IDpjb21waWxlciBjb21tYW5kIGRvZXNuJ3QgZnVuY3Rpb24gcHJvcGVybHkgd2hlbiBpbnZva2VkIGluIGEgZnVuY3Rpb24KKyhZdWtpaGlybyBOYWthZGFpcmEpCisKK2ljb252KCkgZG9lc24ndCBmYWlsIG9uIGFuIGlsbGVnYWwgY2hhcmFjdGVyLCBhcyBkb2N1bWVudGVkLiAoWW9uZ3dlaSBXdSwgMjAwOQorTm92IDE1LCBleGFtcGxlIE5vdiAyNikgIEFkZCBhcmd1bWVudCB0byBzcGVjaWZ5IHdoZXRoZXIgaWNvbnYoKSBzaG91bGQgZmFpbAorb3IgcmVwbGFjZSB3aXRoIGEgY2hhcmFjdGVyIGFuZCBjb250aW51ZT8KKworUHJvYmxlbSB3aXRoIHdpbmRvdyBqdW1waW5nIHRvIG90aGVyIHNjcmVlbiB3aGVuIGNoYW5naW5nIGZvbnQuIChwYXRjaCBieQorTWljaGFlbCBXb29rZXksIDIwMDkgT2N0IDE2KQorQmV0dGVyOiBpZiB0aGUgd2luZG93IG9mZnNldCB3YXMgbmVnYXRpdmUgYmVmb3JlIGNoYW5naW5nIHNvbWV0aGluZywgdGhlbgorZG9uJ3QgY2hhbmdlIGl0LgorCitQYXRjaCB0byBtYWtlIENUUkwtXSB3b3JrIG9uIHNjaGVtZSBrZXl3b3Jkcy4gKFNlcmdleSBLaG9yZXYsIDIwMTAgSmFuIDUpCisKK2hhcygid2luNjQiKSByZXR1cm5zIHplcm8uICBQYXRjaCBmcm9tIFNlcmdleSBLaG9yZXYsIDIwMDkgSmFuIDUuCitPciBkZWZpbmUgV0lONjQgd2hlbiBfV0lONjQgaXMgZGVmaW5lZCwgY2hhbmdlIGFsbCBfV0lONjQgdG8gV0lONjQuCisKK0FkZCBsb2NhbCB0aW1lIGF0IHN0YXJ0IG9mIC0tc3RhcnR1cHRpbWUgb3V0cHV0LgorUmVxdWlyZXMgY29uZmlndXJlIGNoZWNrIGZvciBsb2NhbHRpbWUoKS4KK1VzZSBmb3JtYXQgeWVhci1tb250aC1kYXkgaHI6bWluOnNlYy4KKworUGF0Y2ggdG8gc3VwcG9ydCBuZXRiZWFucyBpbiBVbml4IGNvbnNvbGUgVmltLiAoWGF2aWV3IGRlIEdheWUsIDIwMDkgQXByIDI2KQorTm93IHdpdGggTWVyY3VyaWFsIHJlcG9zaXRvcnkgKDIwMTAgSmFuIDIpCisKK1NoZWxsIG5vdCByZWNvZ25pemVkIHByb3Blcmx5IGlmIGl0IGVuZHMgaW4gImNzaCAtZiIuIChKYW1lcyBWZWdhLCAyMDA5IE5vdiAzKQorRmluZCB0YWlsPyAgTWlnaHQgaGF2ZSBhIC8gaW4gYXJndW1lbnQuICBGaW5kIHNwYWNlPyAgTWlnaHQgaGF2ZSBzcGFjZSBpbgorcGF0aC4KKworQ3Jhc2ggd2hlbiBhc3NpZ25pbmcgczogdG8gdmFyaWFibGUsIHBvaW50ZXIgYmVjb21lcyBpbnZhbGlkIGxhdGVyLgorKFl1a2loaXJvIE5ha2FkYWlyYSwgMjAwOSBPY3QgMTIsIGNvbmZpcm1lZCBieSBEb21pbmlxdWUgUGVsbGUpCisKK21sX2dldCBlcnJvciB3aGVuIHVzaW5nIFNpU1Ugc3ludGF4LiAoTmF0aGFuIFRob21hcywgMjAwOSBPY3QgMjkpCisKK0NvdmVyaXR5OiBhc2sgc29tZW9uZSB0byBjcmVhdGUgbmV3IHVzZXI6IERvbWluaXF1ZS4KK2xvb2sgaW50byByZXBvcnRlZCBkZWZlY3RzOiBodHRwOi8vc2Nhbi5jb3Zlcml0eS5jb20vcnVuZzIuaHRtbAorCitCdWcgd2l0aCAnaW5jc2VhcmNoJyBnb2luZyB0byB3cm9uZyBsaW5lLiAoV29sZnJhbSBLcmVzc2UsIDIwMDkgQXVnIDE3KQorT25seSB3aXRoICJ2aW0gLXUgTk9ORSIuCisKK1Byb2JsZW0gd2l0aCBlZGl0aW5nIGZpbGUgaW4gYmluYXJ5IG1vZGUuIChJbmdvIEtyYWJiZSwgMjAwOSBPY3QgOCkKKworU3VwcG9ydCAueHogd2l0aCB0aGUgeHogcHJvZ3JhbSwgbGlrZSB3aXRoIGx6bWEuCisKK1BlcmwgcnVudGltZSBmaWxlcyB1cGRhdGUuIChBbmR5IExlc3RlciwgMjAwOSBBdWcgMjUpCisKK0d2aW1leHQgcGF0Y2ggdG8gc3VwcG9ydCB3aWRlIGZpbGUgbmFtZXMuIChTemFib2xjcyBIb3J2YXQgMjAwOCBTZXAgMTApCisKK1Byb2JsZW0gd2l0aCBzdG9wIGRpcmVjdG9yeSBpbiBmaW5kZmlsZSgpLiAoQWRhbSBTaW1wa2lucywgMjAwOSBBdWcgMjYpCisKK1BhdGNoIHRvIHN1cHBvcnQgOmJyb3dzZSBmb3IgbW9yZSBjb21tYW5kcy4gKExlY2ggTG9yZW5zLCAyMDA5IEp1bCAxOCkKKworQ2hhbmdlIHRvIEMgc3ludGF4IGZvbGRpbmcgdG8gbWFrZSBpdCB3b3JrIG11Y2ggZmFzdGVyLCBidXQgYSBiaXQgbGVzcworcmVsaWFibGUuIChMZWNoIExvcmVucywgMjAwOSBOb3YgOSkgIEVuYWJsZSB3aXRoIGFuIG9wdGlvbj8KK01vc3QgdGltZSBpcyBzcGVudCBpbiBpbl9pZF9saXN0KCkuCisKK05ldyB3b3JkbGlzdCBmb3IgRHV0Y2g6IGh0dHA6Ly93d3cub3BlbnRhYWwub3JnL2Jlc3RhbmRlbi8xXzEwL25sX05MLVBhY2sKKworQ2hlY2sgZm9yIHVudXNlZCBmdW5jdGlvbnMsIGlkZWE6CitodHRwOi8vYmxvZy5mbGFtZWV5ZXMuZXUvMjAwOC8wMS8xNy90b2RheS1ob3ctdG8taWRlbnRpZnktdW51c2VkLWV4cG9ydGVkLWZ1bmN0aW9ucy1hbmQtdmFyaWFibGVzCisKK0luIGNvbW1hbmQgbGluZSB3aW5kb3cgIjpjbG9zZSIgZG9lc24ndCB3b3JrIHByb3Blcmx5LiAoVG9ueSBNZWNoZWx5bmNrLCAyMDA5CitKdW4gMSkKKworV2h5IGRvZXMgdGhpcyBnaXZlIGEgIzcwNSBlcnJvcjoKK2xldCBYID0gZnVuY3Rpb24oJ2hhc2xvY2FsZGlyJykKK2xldCBYID0gZnVuY3Rpb24oJ2dldGN3ZCcpCitJbnNlcnRpbmcgInVubGV0IFgiIGhlbHBzLgorCitXaGVuIGE6YmFzZSBpbiAnY29tcGxldGVmdW5jJyBzdGFydHMgd2l0aCBhIG51bWJlciBpdCdzIHBhc3NlZCBhcyBhIG51bWJlciwKK25vdCBhIHN0cmluZy4gKFNlYW4gTWEpICBOZWVkIHRvIGFkZCBmbGFnIHRvIGNhbGxfZnVuY19yZXRsaXN0KCkgdG8gZm9yY2UgYQorc3RyaW5nIHZhbHVlLgorCitSZXByb2R1Y2FibGUgY3Jhc2ggaW4gc3ludGF4IEhMLiAoR2VvcmdlIFJlaWxseSwgRG9taW5pcXVlIFBlbGxlLCAyMDA5IE1heSA5KQorCitJbnZhbGlkIHJlYWQgZXJyb3IgaW4gRmFyc2kgbW9kZS4gKERvbWluaXF1ZSBQZWxsZSwgMjAwOSBBdWcgMikKKworUGF0Y2ggdG8gYWRkIGRpZmYgZnVuY3Rpb25hbGl0eSB0byAyaHRtbC52aW0uIChDaHJpc3RpYW4gQnJhYmFuZHQsIDIwMDkgRGVjCisxNSkKKworRm9yIHJ1bm5pbmcgZ3ZpbSBvbiBhbiBVU0Igc3RpY2s6IGF2b2lkIHRoZSBPTEUgcmVnaXN0cmF0aW9uLiAgVXNlIGEgY29tbWFuZAorbGluZSBhcmd1bWVudCAtbm9yZWdpc3Rlci4KKworc3VibWF0Y2goKSBtYXkgcmVtb3ZlIGJhY2tzbGFzaC4gKFNlcmdleSBHb2xkZ2FiZXIsIDIwMDkgSnVsIDYpCisKK1N0aWxsIGEgcHJvYmxlbSB3aXRoICI6bWFrZSIgaW4gdGhlIHdyb25nIGRpcmVjdG9yeS4gIENhdXNlZCBieSAiOmJ1ZmRvIi4KKyhBaml0IFRoYWtrYXIsIDIwMDkgSnVsIDEpIE1vcmUgaW5mb3JtYXRpb24gSnVsIDksIEp1bCAxNS4KK0NhdXNlZCBieSAiZG9hdXRvYWxsIHN5bnRheHNldCBCdWZFbnRlciAqIiBpbiBzeW50YXgvbm9zeW50YXgudmltID8KK1RoZXJlIGFsc28gaXMgYSBCdWZMZWF2ZS9CdWZFbnRlciBhdWNtZCB0byBzYXZlL3Jlc3RvcmUgdmlldy4KK0RvZXMgdGhlIHBhdGNoIHRvIHNhdmUvcmVzdG9yZSBnbG9iYWxkaXIgd29yaz8KKworIjpidWZkbyBub3JtYWwgZ2ciIHdoaWxlICdoaWRkZW4nIGlzIHNldCBsZWF2ZXMgYnVmZmVycyB3aXRob3V0IHN5bnRheAoraGlnaGxpZ2h0aW5nLiAgRG9uJ3QgZGlzYWJsZSBTeW50YXggYXV0b2NvbW1hbmRzIHRoZW4/ICBPciBhZGQgYSBmbGFnL21vZGlmaWVyCit0byBhdm9pZCBjaGFuZ2luZyAnZXZlbnRpZ25vcmUnPworCitQYXRjaCBmb3IgZGlzcGxheWluZyAweDIwMGMgYW5kIDB4MjAwZC4gKEFsaSBHaG9sYW1pIFJ1ZGksIDIwMDkgTWF5IDYpCitQcm9iYWJseSBuZWVkcyBhIGJpdCBvZiB3b3JrLgorCitMaXN0IG9mIGVuY29kaW5nIGFsaWFzZXMuIChUYWthbyBGdWppd2FyZSwgMjAwOSBKdWwgMTgpCitBcmUgdGhleSBhbGwgT0s/ICBVcGRhdGUgSnVsIDIyLgorCitQYXRjaCBmb3IgUnVieSBzb2NrZXRzLiAodG9kZXNraW5nL0FyaXlhIE1penV0YW5pLCAyMDA4IEp1bCAxLDI0KQorQ29uZmlybWVkIGJ5IEFudG9uIFNoYXJvbm92LCAyMDA4IERlYyAyNi4KKworUGF0Y2ggZm9yIFJ1YnkgMS45LiAoTXNha2kgU3VrZXRhLCAyMDA5IEp1bCAyMSwgSnVsIDI2KQorCitQYXRjaCBmb3IgY29tcGxldGlvbiBvZiAiOmZpbmQiIGFyZ3VtZW50cy4gKE5henJpIFJhbWxpeSwgMjAwOSBGZWIgMjIsIDI2KQorOCAgIEZvciAiOmZpbmQiIGFuZCAiOnNmaW5kIiBleHBhbmQgZmlsZXMgZm91bmQgaW4gJ3BhdGgnLgorVXBkYXRlIDIwMDkgTWFyIDI4LgorCitXaW4zMjogRXhwYW5kaW5nICdwYXRoJyBydW5zIGludG8gYSBtYXhpbXVtIHNpemUgbGltaXQuIChiZ29sZDEyLCAyMDA5IE5vdiAxNSkKKworU2V0dGluZyAndGFncycgdG8gInRhZ3NkaXIvKiIgZG9lcyBub3QgZmluZCAidGFnc2Rpci90YWdzIi4gKFN0ZXZlbiBLLiBXb25nLAorMjAwOSBKdWwgMTgpCisKKyI6ZSBkaXI8VGFiPiIgd2l0aCAnd2lsZG1vZGUnIHNldCB0byAibGlzdCIgZG9lc24ndCBoaWdobGlnaHQgZGlyZWN0b3J5IG5hbWVzCit3aXRoIGEgc3BhY2UuIChBbGV4YW5kcmUgUHJvdmVuY2lvLCAyMDA5IEp1biA5KQorCitQYXRjaCB0byBhZGQgZmFyc2kgaGFuZGxpbmcgdG8gYXJhYmljLmMgKEFsaSBHaG9sYW1pIFJ1ZGksIDIwMDkgTWF5IDIpCitBZGRlZCB0ZXN0LCB1cGRhdGVzLCBKdW5lIDIzLgorCitQYXRjaCB0byBhZGQgImZvY3Vzb25seSIgdG8gJ3Njcm9sbG9wdCcsIHNvIHRoYXQgc2Nyb2xsYmluZCBhbHNvIGFwcGxpZXMgaW4KK3dpbmRvdyB0aGF0IGRvZXNuJ3QgaGF2ZSBmb2N1cy4gKEpvbmF0aG9uIE1haCwgMjAwOSBKYW4gMTIpCitOZWVkcyBtb3JlIHdvcmsuCisKK1Byb2JsZW0gd2l0aCA8c2NyaXB0PiBtYXBwaW5ncyAoQW5keSBXb2t1bGEsIDIwMDkgTWFyIDgpCisKK1BhdGNoIHRvIHN1cHBvcnQgbmV0YmVhbnMgZm9yIE1hYy4gKEthenVraSBTYWthbW90bywgMjAwOSBKdW4gMjUpCisKK1BhdGNoIHRvIHN1cHBvcnQgY2xpYnBvYXJkIGZvciBNYWMgdGVybWluYWwuIChKamdvZCBKaWFuZywgMjAwOSBBdWcgMSkKKworV2hlbiBzdGFydGluZyBWaW0gd2l0aCAiZ3ZpbSAtZiAtdSBub25fZXhpc3RlbnRfZmlsZSA+IGZvby50eHQiIHRoZXJlIGFyZSBhCitmZXcgY29udHJvbCBjaGFyYWN0ZXJzIGluIHRoZSBvdXRwdXQuIChEYWxlIFdpbGVzLCAyMDA5IE1heSAyOCkKKworJ2NtZHdpbmhlaWdodCBpcyBvbmx5IHVzZWQgaW4gbGFzdCB3aW5kb3cgd2hlbiAnd2luaGVpZ2h0JyBpcyBhIGxhcmdlIHZhbHVlLgorKFRvbnkgTWVjaGVseW5jaywgMjAwOSBBcHIgMTUpCisKK1N0YXR1cyBsaW5lIGNvbnRhaW5pbmcgd2lubnIoKSBpc24ndCB1cGRhdGVkIHdoZW4gc3BsaXR0aW5nIHRoZSB3aW5kb3cgKENsYXJrCitKLiAgV2FuZywgMjAwOSBNYXIgMzEpCisKK1BhdGNoIGZvciB2ZXJ0aWNhbCBsaW5lIGF0IGNlcnRhaW4gY29sdW1uIHBvc2l0aW9uLCAnZ3VpZGVjb2x1bW4nIG9wdGlvbi4KKyhQYW5rYWogR2FyZywgMjAwOSBBcHIgMTQsIGFrYSBMb25lLCBBcHIgMTUpCitVcGRhdGUgMjAwOSBNYXkgMiwgJ21hcmdpbmNvbHVtbicKKworQWRkIGRpZmZlcmVudCBoaWdobGlnaHRpbmcgZm9yIGEgZm9sZCBsaW5lIGRlcGVuZGluZyBvbiB0aGUgZm9sZCBsZXZlbC4KK1BhdGNoLiAoTm9lbCBIZW5zb24sIDIwMDkgU2VwIDEzKQorCitXaGVuICdmdCcgY2hhbmdlcyByZWRyYXcgY3VzdG9tIHN0YXR1cyBsaW5lLgorCisiOnRhYiBzcGxpdCBmbmFtZSIgZG9lc24ndCBzZXQgdGhlIGFsdGVybmF0ZSBmaWxlIGluIHRoZSBvcmlnaW5hbCB3aW5kb3csCitiZWNhdXNlIHdpbl92YWxpZCgpIGFsd2F5cyByZXR1cm5zIEZBTFNFLiAgQmVsb3cgd2luX25ld190YWJwYWdlKCkgaW4KK2V4X2RvY21kLmMuCisKK1NwYWNlIGJlZm9yZSBjb21tYSBpbiBmdW5jdGlvbiBkZWZlbml0aW9uIG5vdCBhbGxvd2VkOiAiZnVuY3Rpb24geChhICwgYikiCitHaXZlIGEgbW9yZSBhcHByb3ByaWF0ZSBlcnJvciBtZXNzYWdlLiAgQWRkIGEgcmVtYXJrIHRvIHRoZSBkb2NzLgorCitzdHJpbmdfY29udmVydCgpIHNob3VsZCBiZSBhYmxlIHRvIGNvbnZlcnQgYmV0d2VlbiB1dGYtOCBhbmQgdXRmLTE2bGUuICBVc2VkCitmb3IgR1RLIGNsaXBib2FyZC4gIEF2b2lkIHJlcXVpcmVtZW50IGZvciBpY29udi4KKworTm93IHRoYXQgY29sbnJfVCBpcyBpbnQgaW5zdGVhZCBvZiB1bnNpZ25lZCwgbW9yZSB0eXBlIGNhc3RzIGNhbiBiZSByZW1vdmVkLgorCisnZGVsY29tYmluZScgZG9lcyBub3Qgd29yayBmb3IgdGhlIGNvbW1hbmQgbGluZS4gKFRvbnkgTWVjaGVseW5jaywgMjAwOSBKdWwKKzIwKQorCitVbndhbnRlZCBmaWxlIG5hbWUgZXNjYXBpbmc6ICI6ZWNobyBpbnB1dCgnZmlsZTonICwgJycsICdmaWxlJykiCitBbmQgdXNlIGZpbGUgbmFtZSBjb21wbGV0aW9uIG9uIGEgZmlsZSB3aXRoIHNwYWNlcy4gKEZyZWRlcmljIEhhcmR5LCAyMDA5IE1hcgorMjMpCisKK0Rvbid0IGxvYWQgbWFjbWFwLnZpbSBvbiBzdGFydHVwLCB0dXJuIGl0IGludG8gYSBwbHVnaW4uIChSb24gQWFyb24sCisyMDA5IEFwciA3KSAgUmVtaW5kZXIgQXByIDE0LgorCitBZGQgIm5vX2hsc2VhcmNoIiB0byB3aW5zYXZldmlldygpLgorCitDdXJzb3JsaW5lIGhpZ2hsaWdodGluZyBjb21iaW5lcyB3aXRoIFNlYXJjaCAoJ2hsc2VhcmNoJykgYnV0IG5vdCB3aXRoCitTcGVsbEJhZC4gKEppbSBLYXJzdGVuLCAyMDA5IE1hciAxOCkKKworV2hlbiAnZm9sZG1ldGhvZCcgaXMgImluZGVudCIsIHVzaW5nID4+IG9uIGEgbGluZSBqdXN0IGFib3ZlIGEgZm9sZCBtYWtlcyB0aGUKK2N1cnNvciBsaW5lIGZvbGRlZC4gKEV2YW4gTGFmb3JnZSwgMjAwOSBPY3QgMTcpCisKK1doZW4gJ2ZvbGRtZXRob2QnIGlzICJpbmRlbnQiLCBhZGRpbmcgYW4gZW1wdHkgbGluZSBiZWxvdyBhIGZvbGQgYW5kIHRoZW4KK2luZGVudGVkIHRleHQsIGNyZWF0ZXMgYSBuZXcgZm9sZCBpbnN0ZWFkIG9mIGpvaW5pbmcgaXQgd2l0aCB0aGUgcHJldmlvdXMgb25lLgorKEV2YW4gTGFmb3JnZSwgMjAwOSBPY3QgMTcpCisKK0J1ZzogV2hlbiByZWxvYWRpbmcgYSBidWZmZXIgY2hhbmdlZCBvdXRzaWRlIG9mIFZpbSwgQnVmUmVhZCBhdXRvY29tbWFuZHMKK2FyZSBhcHBsaWVkIHRvIHRoZSB3cm9uZyBidWZmZXIvd2luZG93LiAoQmVuIEZyaXR6LCAyMDA5IEFwciAyLCBNYXkgMTEpCitJZ25vcmUgd2luZG93IG9wdGlvbnMgd2hlbiBub3QgaW4gdGhlIHJpZ2h0IHdpbmRvdz8KK1BlcmhhcHMgd2UgbmVlZCB0byB1c2UgYSBoaWRkZW4gd2luZG93IGZvciBhcHBseWluZyBhdXRvY29tbWFuZHMgdG8gYSBidWZmZXIKK3RoYXQgZG9lc24ndCBoYXZlIGEgd2luZG93LgorCitXaGVuIHVzaW5nICJhYiBmb28gYmFyIiBhbmQgbWFwcGluZyA8VGFiPiB0byA8RXNjPiwgcHJlc3NpbmcgPFRhYj4gYWZ0ZXIgZm9vCitkb2Vzbid0IHRyaWdnZXIgdGhlIGFiYnJldmlhdGlvbiBsaWtlIDxFc2M+IHdvdWxkLiAoUmFtYW5hIEt1bWFyLCAyMDA5IFNlcCA2KQorCitnZXRidWZ2YXIoKSB0byBnZXQgYSB3aW5kb3ctbG9jYWwgb3B0aW9uIHZhbHVlIGZvciBhIGJ1ZmZlciB0aGF0J3Mgbm90CitkaXNwbGF5ZWQgaW4gYSB3aW5kb3cgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgdGhhdCdzIHN0b3JlZCBmb3IgdGhhdCBidWZmZXIuCisKKyI6aGUgY3RybF91IiBjYW4gYmUgYXV0by1jb3JyZWN0ZWQgdG8gIjpoZSBjdHJsLXUiLgorCitQYXRjaCB0byBtYWtlIHN5bklEYXR0cigpIHdvcmsgZm9yIEdVSSBhdHRyaWJ1dGVzIGluIFZpbSB3aXRob3V0IEdVSSBmZWF0dXJlLgorKE1hdHQgV296bmlza2ksIDIwMDkgQXByIDE1KQorCitUaGVyZSBzaG91bGQgYmUgYSB3YXkgYWZ0ZXIgYW4gYWJicmV2aWF0aW9uIGhhcyBleHBhbmRlZCB0byBnbyBiYWNrIHRvIHdoYXQKK3dhcyB0eXBlZC4gIENUUkwtRyBoID8gIFdvdWxkIGFsc28gdW5kbyBsYXN0IHdvcmQgb3IgbGluZSBicmVhayBpbnNlcnRlZAorcGVyaGFwcy4gIEFuZCB1bmRvIENUUkwtVy4gIENUUkwtRyBsIHdvdWxkIHJlZG8uCisKK1dpbjMyOiBBIC0tcmVtb3RlIGNvbW1hbmQgdGhhdCBoYXMgYSBkaXJlY3RvcnkgbmFtZSBzdGFydGluZyB3aXRoIGEgKCBkb2Vzbid0Cit3b3JrLCB0aGUgYmFja3NsYXNoIGlzIHJlbW92ZWQsIGFzc3VtaW5nIHRoYXQgaXQgZXNjYXBlcyB0aGUgKC4gKFZhbGVyeQorS29uZGFrb2ZmLCAyMDA5IE1heSAxMykKKworV2luMzIgR1VJOiBDaGFuZ2luZyBtYW5pZmVzdCBoZWxwcyBmb3IgZHBpIGNoYW5nZXMgKEpvZSBDYXN0cm8sIDIwMDkgTWFyIDI3KQorCitXaW4zMjogcGF0Y2ggZm9yIGNyb3NzIGNvbXBpbGUgeHhkIGFuZCBHdmltRXh0LiAoTWFya3VzIEhlaWRlbGJlcmcsIDIwMDkgTWFyCisxOCkgIEFsc28gdXBkYXRlIElOU1RBTExwYy50eHQ/CitQYXRjaCBmb3IgeHhkL01ha2VfY3lnLm1hay4gKENocmlzIFN1dGNsaWZmZSwgMjAwOSBKdW4gMTApIEluY2x1ZGVkIGluIHRoZQorYWJvdmU/CisKK1dpbjMyOiBwYXRjaCBmb3IgYmV0dGVyIGZvbnQgc2NhbGluZy4gKEdlb3JnZSBSZWlsbHksIDIwMDkgTWFyIDI2KQorCitXaW4zMiBHVUk6IGxhc3QgbWVzc2FnZSBmcm9tIHN0YXJ0dXAgZG9lc24ndCBzaG93IHVwIHdoZW4gdGhlcmUgaXMgYW4gZWNob2VycgorY29tbWFuZC4gKEN5cmlsIFNsb2JpbiwgMjAwOSBNYXIgMTMpCisKK1dpbjMyOiB1c2UgZGlmZmVyZW50IGFyZ3MgZm9yIFNlYXJjaFBhdGgoKT8gKFlhc3VoaXJvIE1hdHN1bW90bywgMjAwOSBKYW4gMzApCisKK1dpbjMyOiBjb21wbGV0aW9uIG9mIGZpbGUgbmFtZSAiOmUgYzpcIXRlc3QiIHJlc3VsdHMgaW4gIjplIGM6XFwhdGVzdCIsIHdoaWNoCitkb2VzIG5vdCB3b3JrLiAoTmlla28gTWFhdGplcywgMjAwOSBKYW4gOCwgSW5nbyBLYXJrYXQsIDIwMDkgSmFuIDIyKQorCitEaXJlY3Rvcnkgd3JvbmcgaW4gc2Vzc2lvbiBmaWxlLCBjYXVzZWQgYnkgIjpsY2QiIGluIEJ1ZkVudGVyIGF1dG9jb21tYW5kLgorKEZlbGl4IEthdGVyLCAyMDA5IE1hciAzKQorCittYXBhcmcoKSBkb2Vzbid0IHJldHVybiB0aGUgZmxhZ3MsIHN1Y2ggYXMgPGJ1ZmZlcj4sIDxzY3JpcHQ+LCA8c2lsZW50Pi4KK1RoZXNlIGFyZSBuZWVkZWQgdG8gc2F2ZSBhbmQgcmVzdG9yZSBhIG1hcHBpbmcuCitBbHNvOiB0aGUgcmhzIHN0cmluZyBpcyBub3QgYWx3YXlzIGNvcnJlY3QuIChIYXJpIEtyaXNobmEgRGFyYSwgMjAwOSBTZXB0IDI5KQorCitVc2luZyB+IHdvcmtzIE9LIG9uICdhJyB3aXRoIGNvbXBvc2luZyBjaGFyLCBidXQgbm90IG9uIDB4MDQxOCAgd2l0aCBjb21wb3NpbmcKK2NoYXIgMHgwMzAxLiAoVG9ueSBNZWNoZWx5bmNrLCAyMDA5IE1hciA0KQorCis2ICAgSW4gdGhlIHF1aWNrZml4IHdpbmRvdyBzdGF0dXNsaW5lIGFkZCB0aGUgY29tbWFuZCB1c2VkIHRvIGdldCB0aGUgbGlzdCBvZgorICAgIGVycm9ycywgZS5nLiAiOm1ha2UgZm9vIiwgIjpncmVwIHNvbWV0aGluZyAqLmMiLgorICAgIFBhdGNoIGJ5IExlY2ggTG9yZW5zLCAyMDA5IE1hciAyMy4KKyAgICBDb21tZW50cyBmcm9tIEFuZHJlYXMgQmVybmF1ZXIgMjR0aCwgRG9taW5pcXVlIFBlbGxlIDI0dGgKKyAgICBEb2NzIHBhdGNoIGJ5IERvbWluaXF1ZSBQZWxsZSwgTWFyIDI1CisgICAgVXBkYXRlIDIwMDkgTWFyIDI4LgorICAgIEZpeCBmb3IgaW52YWxpZCBtZW1vcnkgYWNjZXNzLiAoTGVjaCBMb3JlbnMsIDIwMDkgQXByIDE3KQorCitJbmNvbnNpc3RlbnQ6IHN0YXJ0aW5nIHdpdGggJExBTkcgc2V0IHRvIGVzX0VTLnV0Zi04IGdpdmVzIFNwYW5pc2gKK21lc3NhZ2VzLCBldmVuIHRob3VnaCBsb2NhbGUgaXMgbm90IHN1cHBvcnRlZC4gIEJ1dCAiOmxhbmcgbWVzc2FnZXMKK2VzX0VTLnV0Zi04IiBnaXZlcyBhbiBlcnJvciBhbmQgZG9lc24ndCBzd2l0Y2ggbWVzc2FnZXMuIChEb21pbmlxdWUgUGVsbGUsCisyMDA5IEphbiAyNikKKworV2hlbiAkSE9NRSBjb250YWlucyBzcGVjaWFsIGNoYXJhY3RlcnMsIHNpY2ggYXMgYSBjb21tYSwgZXNjYXBlIHRoZW0gd2hlbiB1c2VkCitpbiBhbiBvcHRpb24uIChNaWNoYWVsIEhvcmRpamssIDIwMDkgTWF5IDUpCitUdXJuICJlc2MiIGFyZ3VtZW50IG9mIGV4cGFuZF9lbnZfZXNjKCkgaW50byBzdHJpbmcgb2YgY2hhcnMgdG8gYmUgZXNjYXBlZC4KKworQ2FuICd1bmRvbGV2ZWxzJyBiZSBhIGJ1ZmZlci1sb2NhbCBvcHRpb24/ICBIZWxwcyBmb3IgbWFraW5nIGJpZyBjaGFuZ2VzIGluCitvbmUgZmlsZSBvbmx5LCBzZXQgJ3VsJyB0byAtMSBvbmx5IGZvciB0aGF0IGJ1ZmZlci4KKworU2hvdWxkIG1ha2UgJ2lnbm9yZWNhc2UnIGdsb2JhbC1sb2NhbCwgc28gdGhhdCBpdCBtYWtlcyBzZW5zZSBzZXR0aW5nIGl0IGZyb20KK2EgbW9kZWxpbmUuCisKK0FkZCBjc2NvcGUgdGFyZ2V0IHRvIE1ha2VmaWxlLiAoVG9ueSBNZWNoZWx5bmNrLCAyMDA5IEp1biAxOCwgcmVwbGllcyBieQorU2VyZ2V5IEtob3JldikKKworQ29uc2lkZXIgbWFraW5nIFlhbmtSaW5nIG9yIHNvbWV0aGluZyBlbHNlIHRoYXQga2VlcHMgYSBsaXN0IG9mIHlhbmtlZCB0ZXh0CitwYXJ0IG9mIHN0YW5kYXJkIFZpbS4gIFRoZSAiMSB0byAiOSByZWdpc3RlcnMgYXJlIG5vdCBzdWZmaWNpZW50LgogCiBuZXRydzogZHJhZ2dpbmcgc3RhdHVzIGxpbmUgY2F1c2VzIHNlbGVjdGlvbiBvZiBlbnRyeS4gIFNob3VsZCBjaGVjayByb3cKIG51bWJlciB0byBiZSBiZWxvdyBsYXN0IHZpc2libGUgbGluZS4KIAorTWFrZSBkb19kb19qb2luKCkgd29yayBmYXN0ZXIuICBDb3VsZCBhdCBsZWFzdCBkbyBhIGJpbmFyeSBzZWFyY2ggd2F5IG9mIGRvaW5nCit0aGlzLiAgSGludCBmcm9tIERvbWluaXF1ZSBQZWxsZSwgRGVjIDEwOyBMZWUgTmFpc2gsIERlYyAxMS4KK1BhdGNoIGZyb20gTWlsYW4gVmFuY3VyYSwgMjAwOCBEZWMgMjIuICBVcGRhdGUgMjAwOSBKYW4gNyBpbiB0d28gcGFydHMuCisKK0FmdGVyIGRvaW5nICJzdSIgJEhPTUUgY2FuIGJlIHRoZSBvbGQgdXNlcidzIGhvbWUsIHRodXMgfnJvb3QvZmlsZSBpcyBub3QKK2NvcnJlY3QuICBEb24ndCB1c2UgaXQgaW4gdGhlIHN3YXAgZmlsZS4KKworQ29tcGxldGlvbiBmb3IgIjpidWYiIGRvZXNuJ3Qgd29yayBwcm9wZXJseSBvbiBXaW4zMiB3aGVuICdzaGVsbHNsYXNoJyBpcyBvZmYuCisoSGVucmlrIE9obWFuLCAyMDA5LCBKYW4gMjkpCisKK0FsbG93IHBhdGNoZXMgdG8gYWRkIHNvbWV0aGluZyB0byB2ZXJzaW9uLmMsIGxpa2Ugd2l0aCBhbiBvZmZpY2lhbCBwYXRjaCwgc28KK3RoYXQgOnZlcnNpb24gb3V0cHV0IHNob3dzIHdoaWNoIHBhdGNoZXMgaGF2ZSBiZWVuIGFwcGxpZWQuCisKK0hhdmUgYSBsb29rIGF0IHBhdGNoIGZvciB1dGYtOCBsaW5lIGJyZWFraW5nLiAoWW9uZ3dlaSBXdSwgMjAwOCBNYXIgMSwgTWFyIDIzKQorTm93IGF0OiBodHRwOi8vdmltZ2FkZ2V0cy5zb3VyY2Vmb3JnZS5uZXQvbGlibGluZWJyZWFrLworCitHcmVlayBzaWdtYSBjaGFyYWN0ZXIgc2hvdWxkIGJlIGxvd2VyIGNhc2VkIGRlcGVuZGluZyBvbiB0aGUgY29udGV4dC4gIENhbiB3ZQorbWFrZSB0aGlzIHdvcms/ICAoRG9taW5pcXVlIFBlbGxlLCAyMDA5IFNlcCAyNCkKKworRGlzYWJsZSBzZXR0aW5nICdlbmNvZGluZycgZnJvbSBhIG1vZGVsaW5lPyAgSXQgdXN1YWxseSBjYXVzZXMgcHJvYmxlbXMsIGNhbid0CitkbyBhbnkgZ29vZC4gIChQYXRjaCBmcm9tIFBhdHJpY2sgVGV4aWVyLCAyMDA4IERlYyA5KQorCitXaGVuIGNoYW5naW5nICdlbmNvZGluZycgY29udmVydCBhbGwgdGhlIHN3YXAgZmlsZSBuYW1lcywgc28gdGhhdCB3ZSBjYW4KK3N0aWxsIGRlbGV0ZSB0aGVtLiAgQWxzbyBjb252ZXJ0IGFsbCBidWZmZXIgZmlsZSBuYW1lcz8KKworImdxaXAiIGluIEluc2VydCBtb2RlIGhhcyBhbiBvZmYtYnktb25lIGVycm9yLCBjYXVzaW5nIGl0IHRvIHJlZmxvdyB0ZXh0LgorKFJhdWwgQ29yb25hZG8sIDIwMDkgTm92IDIpCisKK1VwZGF0ZSBzcmMvdGVzdGRpci9tYWluLmFhcC4KKworInZpbSAtYyAnc25pZmYgY29ubmVjdCciIGhhbmdzIFZpbS4gKERvbWluaXF1ZSBQZWxsZSwgMjAwOCBEZWMgNykKKworU29tZXRoaW5nIHdyb25nIHdpdGggc2Vzc2lvbiB0aGF0IGhhcyAiY2QiIGNvbW1hbmRzIGFuZCAiYmFkZCIsIGluIHN1Y2ggYSB3YXkKK3RoYXQgVmltIGRvZXNuJ3QgZmluZCB0aGUgZWRpdGVkIGZpbGUgaW4gdGhlIGJ1ZmZlciBsaXN0LCBjYXVzaW5nIHRoZQorQVRURU5USU9OIG1lc3NhZ2U/ICAoVG9ueSBNZWNoZWx5bmNrLCAyMDA4IERlYyAxKQorQWxzbzogc3dhcCBmaWxlcyBhcmUgaW4gfi90bXAvICBPbmUgaGFzIHJlbGF0aXZlIGZpbGUgbmFtZSAiLm1vemlsbGEvLi4uIi4KKworQWRkIHY6bW90aW9uX2ZvcmNlLiAoS2FuYSBOYXRzdW5vLCAyMDA4IERlYyA2KQorCitSZWRyYXcgcHJvYmxlbSB3aGVuIGFwcGVuZGluZyBkaWdyYXBoIGNhdXNlcyBsaW5lIHRvIHdyYXAuIChKYW1lcyBWZWdhLCAyMDA3CitTZXAgMTgpICBQYXRjaCBieSBJYW4gS2VsbGluZywgMjAwOCBBdWcgOC4KKwogUnVudGltZSBmaWxlcyBmb3IgQ2xvanVyZS4gKFRvcmFsZiBXaXR0bmVyLCAyMDA4IEp1biAyNSkKIAotUGF0Y2ggdG8gYWRkIGV4dHJhIGFyZ3VtZW50IHRvIGdsb2IoKSBhbmQgZ2xvYnBhdGgoKSB0byBpZ25vcmUgJ3dpbGRpZ25vcmUnLgotKEluZ28gS2Fya2F0LCAyMDA4IEp1biAyNSkKK01TLVdpbmRvd3M6IGVkaXRpbmcgdGhlIGZpcnN0LCBlbXB0eSBidWZmZXIsICdmZnMnIHNldCB0byAidW5peCxkb3MiLCAiOmVuZXciCitkb2Vzbid0IHNldCAnZmYnIHRvICJ1bml4Ii4gIChCZW4gRnJpdHosIDIwMDggRGVjIDUpIFJldXNpbmcgdGhlIG9sZCBidWZmZXIKK3Byb2JhYmx5IGNhdXNlcyB0aGlzLgorCisnc2Nyb2xsYmluZCcgaXMgbm90IHJlc3BlY3RlZCB3aGVuIGRlbGV0aW5nIGxpbmVzIG9yIHVuZG8uIChNaWxhbiBWYW5jdXJhLAorMTAwOSBKYW4gMTYpCisKK0RvY3VtZW50IHRoYXQgZGVmYXVsdCBmb250IGluIEF0aGVuYSBjYW4gYmUgc2V0IHdpdGggcmVzb3VyY2VzOgorICAgWHREZWZhdWx0Rm9udDogIjl4MTUiCisgICBYdERlZmF1bHRGb250U2V0OiAiOXgxNSIKKyhSaWNoYXJkIFNoZXJtYW4sIDIwMDkgQXByIDEyKQorCitIYXZpbmcgIlN5bnRheCIgaW4gJ2V2ZW50aWdub3JlJyBmb3IgOmJ1ZmRvIG1heSBjYXVzZSBwcm9ibGVtcywgZS5nLiBmb3IKKyI6YnVmZG8gZSIgd2hlbiBidWZmZXJzIGFyZSBvcGVuIGluIHdpbmRvd3MuICBleF9saXN0ZG8oZWFwKSBjb3VsZCBzZXQgdGhlCitvcHRpb24gb25seSBmb3Igd2hlbiBqdW1waW5nIHRvIGFub3RoZXIgYnVmZmVyLCBub3Qgd2hlbiB0aGUgY29tbWFuZCBhcmd1bWVudAoraXMgZXhlY3V0ZWQuCiAKIENyYXNoIHdpdGggZHJhZ24tbi1kcm9wIG9mIGZpbGUgY29tYmluZWQgd2l0aCBuZXRydyAoTWFyaXVzIEdlZG1pbmFzLCAyMDA4IEp1bgogMTEpICBJIGNhbid0IHJlcHJvZHVjZSBpdC4gIEl0J3MgcHJvYmFibHkgY2F1c2VkIGJ5IGEgaGFuZGxlX2Ryb3AoKSBjYWxsCiBpbiBjb21iaW5hdGlvbiB3aXRoIGF1dG9jb21tYW5kcyB0aGF0IGludm9rZSBhICI6cmVkcmF3IiBjb21tYW5kLgogQW5vdGhlciB2YWxncmluZCBvdXRwdXQgSnVuIDMwLgogCi1XaGVuIHJlYWxsb2NhdGluZyBjbWRsaW5lIHhwX3BhdHRlcm4gYmVjb21lcyBpbnZhbGlkLiAgTW92ZSBleHBhbmRfVCB4cGMgaW50bwotY2NsaW5lPyAgKERvbWluaXF1ZSBQZWxsZSkKKyI6cGVkaXQgJSIgd2l0aCBhIEJ1ZlJlYWRQcmUgYXV0b2NvbW1hbmQgY2F1c2VzIHRoZSBjdXJzb3IgdG8gbW92ZSB0byB0aGUKK2ZpcnN0IGxpbmUuIChJbmdvIEthcmthdCwgMjAwOCBKdWwgMSkgIElhbiBLZWxsaW5nIGlzIHdvcmtpbmcgb24gdGhpcy4KIAogV2lsZG1lbnUgbm90IGRlbGV0ZWQ6ICJndmltIC11IE5PTkUiLCAiOnNldCBub2NwIHdpbGRtZW51IGNtZGhlaWdodD0zCiBsYXN0c3RhdHVzPTIiLCBDVFJMLUQgQ1RSTC1IIENUUkwtSCBDVFJMLUguIChBLlBvbGl0eiwgMjAwOCBBcHJpbCAxKQogV29ya3MgT0sgd2l0aCBWaW0gaW4gYW4geHRlcm0uCiAKK0N1cnNvciBsaW5lIG1vdmVzIGluIG90aGVyIHdpbmRvdyB3aGVuIHVzaW5nIENUUkwtVyBKIHRoYXQgZG9lc24ndCBjaGFuZ2UKK2FueXRoaW5nLiAgKERhc24sIDIwMDkgQXByIDcpCisKK09uIFVuaXggImdsb2IoJ2RvZXMgbm90IGV4aXN0ficpIiByZXR1cm5zIHRoZSBzdHJpbmcuICBXaXRob3V0IHRoZSAifiIgaXQKK2RvZXNuJ3QuIChKb2huIExpdHRsZSwgMjAwOCBOb3YgOSkKK1NoZWxsIGV4cGFuc2lvbiByZXR1cm5zIHVuZXhwYW5kZWQgc3RyaW5nPworRG9uJ3QgdXNlIHNoZWxsIHdoZW4gIn4iIGlzIG5vdCBhdCB0aGUgc3RhcnQ/CisKKyI6dW5sZXQgJFZBUiIgZG9lc24ndCB3b3JrLgorCiBXaGVuIHVzaW5nICI6ZSArK2VuYz1mb28gZmlsZSIgYW5kIHRoZSBmaWxlIGlzIGFscmVhZHkgbG9hZGVkIHdpdGgKICdmaWxlZW5jb2RpbmcnIHNldCB0byAiYmFyIiwgdGhlbiBkb19lY21kKCkgdXNlcyB0aGF0IGJ1ZmZlciwgZXZlbiB0aG91Z2ggdGhlCiBmaWxlZW5jb2RpbmcgZGlmZmVycy4gIFJlbG9hZCB0aGUgYnVmZmVyIGluIHRoaXMgc2l0dWF0aW9uPyAgTmVlZCB0byBjaGVjayBmb3IKQEAgLTYyLDggKzM5MCwyNCBAQAogVW5maW5pc2hlZCBwYXRjaCBieSBJYW4gS2VsbGluZywgMjAwOCBKdWwgMTEuICBGb2xsb3d1cCBKdWwgMTQsIG5lZWQgdG8gaGF2ZQogYW5vdGhlciBsb29rIGF0IGl0LgogCitQYXRjaCBmb3IgYy52aW0gYW5kIGNwcC52aW0gc3ludGF4IGZpbGVzLiAoQ2h1bmctY2hpZWggU2hhbiwgMjAwOCBOb3YgMjYpCisKK2MudmltOiBYWFggaW4gYSBjb21tZW50IGlzIGNvbG9yZWQgeWVsbG93LCBidXQgbm90IHdoZW4gaXQncyBhZnRlciAiI2lmIDAiLgorKElseWEgRG9nb2xhemt5LCAyMDA5IEF1ZyA3KQorCitXaW4zMjogICI6ZGlzICsiIHNob3dzIG5vdGhpbmcsIGJ1dCAiK3AgZG9lcyBpbnNlcnQgdGV4dC4gIFByb2JsZW0gd2l0aCAiKiBhbmQKKyIrIGJlaW5nIHRoZSBzYW1lIHRoaW5nPworCitZb3UgY2FuIHR5cGUgIjp3ICsrYmFkPXggZm5hbWUiLCBidXQgdGhlICsrYmFkIGFyZ3VtZW50IGlzIGlnbm9yZWQuICBHaXZlIGFuCitlcnJvciBtZXNzYWdlPyAgT3IgaXMgdGhpcyBlYXN5IHRvIGltcGxlbWVudD8gIChOYXRoYW4gU3RyYXR0b24gVHJlYWR3YXksIDIwMDgKK0F1ZyAyMCkgIFRoaXMgaXMgaW4gdWNzMmJ5dGVzKCksIHNlYXJjaCBmb3IgMHhCRi4gIFVzaW5nIHRoZSArK2JhZCBhcmd1bWVudCBpcworYXQgdGhlIG90aGVyIG1hdGNoIGZvciAweEJGLgorCiBGaXggZm9yIG1hdGNocGFyZW4gSEwgZG9lc24ndCB3b3JrLiAgYmVlcC4KIAorV2hlbiBhZGRpbmcgIi1jb21wbGV0ZT1maWxlIiB0byBhIHVzZXIgY29tbWFuZCB0aGlzIGFsc28gY2hhbmdlcyBob3cgdGhlCithcmd1bWVudCBpcyBwcm9jZXNzZWQgZm9yIDxmLWFyZ3M+LiAoSXZhbiBUaXNoY2hlbmtvLCAyMDA4IEF1ZyAxOSkKKwogV2luMzI6IGFzc29jaWF0aW5nIGEgdHlwZSB3aXRoIFZpbSBkb2Vzbid0IHRha2UgY2FyZSBvZiBzcGFjZSBhZnRlciBhCiBiYWNrc2xhc2g/IChSb2JlcnQgVmlicmFudCwgMjAwOCBKdW4gNSkKIApAQCAtNzQsMTMgKzQxOCw0MSBAQAogIjpoZWxwIHMvfiIganVtcHMgdG8gKnMvXH4qLCB3aGlsZSAiOmhlbHAgcy9cfiIgZG9lc24ndCBmaW5kIGFueXRoaW5nLiAoVGltCiBDaGFzZSkgIEZpeCBieSBJYW4gS2VsbGluZywgMjAwOCBKdWwgMTQuCiAKKyI6Y29sb3JzY2hlbWUiIHdpdGhvdXQgYXJndW1lbnRzIHNob3VsZCBlY2hvIHRoZSBjdXJyZW50IGNvbG9yIHNjaGVtZSBuYW1lLgorCitBZnRlciB1c2luZyAiOnJlY292ZXIiIG9yIHJlY292ZXJpbmcgYSBmaWxlIGluIGFub3RoZXIgd2F5LCAiOngiIGRvZXNuJ3Qgc2F2ZQord2hhdCB5b3Ugc2VlLiAgTWFyayB0aGUgYnVmZmVyIGFzIG1vZGlmaWVkPyAgT25seSB3aGVuIHRoZSB0ZXh0IGlzIGFjdHVhbGx5CitkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgZmlsZT8KKworVXNlICJcVTEyMzQ1Njc4IiBmb3IgMzIgYml0IFVuaWNvZGUgY2hhcmFjdGVycz8gIChUb255IE1lY2hlbHluY2ssIDIwMDkKK0FwciA2KSAgT3IgdXNlICJcdSgxMjM0NTYpIiwgc2ltaWxhciB0byBQZXJsLgorCitXaGVuIG1hcHBpbmcgOiB0byA7IGFuZCA7IHRvIDosIEA7IGRvZXNuJ3Qgd29yayBsaWtlIEA6IGFuZCBAOiBkb2Vzbid0IHdvcmsKK2VpdGhlci4gIE1hdHQgV296bmlza2k6ICBudl9hdCgpIGNhbGxzIGRvX2V4ZWNyZWcoKSB3aGljaCB1c2VzCitwdXRfaW5fdHlwZWJ1ZigpLiAgQ2hhciBtYXBwZWQgdHdpY2U/CisKK1BhdGNoIGZvciBjb2xvcnNjaGVtZSBzdWJtZW51LiAoSnVlcmdlbiBLcmFlbWVyLCAyMDA4IEF1ZyAyMCkKKworUGF0Y2ggZm9yIFB5dGhvbiAzIHN1cHBvcnQuIChSb2xhbmQgUHVudGFpZXIsIDIwMDkgU2VwIDIyKQorSW5jbHVkZXMgY2hhbmdlcyBmb3Igb21uaWNvbXBsZXRpb24uCitOZWVkcyB0byBiZSB0ZXN0ZWQuCisKKzggICBTb21lIGZpbGUgc3lzdGVtcyBhcmUgY2FzZS1zZW5zaXRpdmUsIHNvbWUgYXJlIG5vdC4gIFR1cm4KKyAgICBDQVNFX0lOU0VOU0lUSVZFX0ZJTEVOQU1FIGludG8gYW4gb3B0aW9uLCBhdCBsZWFzdCBmb3IgY29tcGxldGlvbi4KKworOSAgIE1ha2UgaXQgcG9zc2libGUgdG8gZHJhZyBhIHRhYiBwYWdlIGxhYmVsIHRvIGFub3RoZXIgcG9zaXRpb24gd2l0aCB0aGUKKyAgICBtb3VzZS4KK1BhdGNoIGJ5IFBhdWwgQi4gTWFob2wsIDIwMDggQXVnIDI5LgorCiBEZXNwaXRlIGFkZGluZyBzYXZlX3N1YmV4cHIoKSB0aGlzIHN0aWxsIGRvZXNuJ3Qgd29yayBwcm9wZXJseToKIFJlZ2V4cDogbWF0Y2hsaXN0KCcxMmE0YWFhJywgJ15cKC5cey19XClcKFwlNWNcQDw9YVwrXClcKC5cK1wpXD8nKQogUmV0dXJucyBbJzEyYTQnLCAnYWFhJywgJzRhYWEnXSwgc2hvdWxkIGJlIFsnMTJhNCcsICdhYWEnLCAnJ10KIEJhY2tyZWZlcmVuY2Ugbm90IGNsZWFyZWQgd2hlbiByZXRyeWluZyBhZnRlciBcQDw9IGZhaWxzPwogKEJyZXR0IFN0YWhsbWFuLCAyMDA4IE1hcmNoIDgpCiAKLVBhdGNoIGZvciAyaHRtbC52aW0gdG8gYXZvaWQgIiZhbXA7bmJzcDsiLiAoTWFya3VzIEhlaWRlbGJlcmcsIDIwMDggSnVsIDE5KQorUHJvYmxlbSB3aXRoIHJlbW90ZV9zZW5kKCkuIChDaGFybGVzIENhbXBiZWxsLCAyMDA4IEF1ZyAxMikKKworZnRwbHVnaW4gZm9yIGhlbHAgZmlsZSBzaG91bGQgc2V0ICdpc2snIHRvIGhlbHAgZmlsZSB2YWx1ZS4KIAogV2luMzI6IHJlbW90ZSBlZGl0aW5nIGZhaWxzIHdoZW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IG5hbWUgY29udGFpbnMgIlsiLgogKEl2YW4gVGlzaGNoZW5rbywgTGl1IFl1YmFvKSAgU3VnZ2VzdGVkIHBhdGNoIGJ5IENocmlzIEx1Ymluc2tpOiBBdm9pZApAQCAtODksNiArNDYxLDkgQEAKIFRoaXMgYWxzbyBmYWlscyB3aGVuIHRoZSBmaWxlIG9yIGRpcmVjdG9yeSBuYW1lIGNvbnRhaW5zICIlIi4gKFRob21sLCAyMDA4CiBKdWx5IDcpCiAKK1dpbjMyOiBUaGUgIjQ5MTMiIGZpbGUgaXMgc29tZXRpbWVzIG5vdCBkZWxldGVkLiAgUGVyaGFwcyBhbm90aGVyIHByb2dyYW0gaGFzCitvcGVuZWQgaXQ/ICBVc2UgRklMRV9GTEFHX0RFTEVURV9PTl9DTE9TRT8gKENyYWlnIEJhcmtob3VzZSwgMjAwOSBOb3YgNikKKwogVGhlIHN0cjJzcGVjaWFsKCkgZnVuY3Rpb24gZG9lc24ndCBoYW5kbGUgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzIHByb3Blcmx5LgogUGF0Y2ggZnJvbSBWbGFkaW1pciBWaWNobmlha292LCAyMDA3IEFwciAyNC4KIFNob3VsZCBjbGVhbiB1cCB0aGUgd2hvbGUgZnVuY3Rpb24uICBBbHNvIGFsbG93IG1vZGlmaWVycyBsaWtlIDxTLUNoYXItMzI+PwpAQCAtMTAyLDkgKzQ3NywxNCBAQAogT25seSBoYXBwZW5zIHdpdGggImd2aW0gLWdlb21ldHJ5ICIxNjB4MjYrNCsyNyIgLXUgTk9ORSAtVSBOT05FIHByb3AuYyIuCiAnbGluZXMnIGlzIDU0LiAoMjAwOCBNYXJjaCAyNykKIAorUHJvYmxlbSB3aXRoIHBvaW50ZXIgd3JhcHBpbmcgYXJvdW5kIGluIGdldHZjb2woKS4gKFdvbGZnYW5nIEtyb3dvcnNjaCwgMjAwOAorT2N0IDE5KSAgQ2hlY2sgZm9yICJjb2wiIGJlaW5nICJNQVhDT0wiIHNlcGFyYXRlbHk/CisKIFVuZXhwZWN0ZWRseSBpbnNlcnRpbmcgYSBkb3VibGUgcXVvdGUuIChBbnRvbiBXb2VsbGVydCwgMjAwOCBNYXIgMjMpCiBXb3JrcyBPSyB3aGVuICdjbWRoZWlnaHQnIGlzIDIuCiAKK1Rlc3Q1NCBzaG91bGQgbm90IHVzZSBzaGVsbCBjb21tYW5kcy4gIE1ha2UgaXQgcG9ydGFibGUuCisKIFRoZSB1dGYgY2xhc3MgdGFibGUgaXMgbWlzc2luZyBzb21lIGVudHJpZXM6CiAJMHgyMjEyLCBtaW51cyBzaWduIAogCTB4MjIxNywgc3RhcgpAQCAtMTE3LDYgKzQ5NywxMiBAQAogR1VJOiBJbiBOb3JtYWwgbW9kZSBjYW4ndCB5YW5rIHRoZSBtb2RlbGVzcyBzZWxlY3Rpb24uICBNYWtlICJneSIgZG8gdGhpcz8KIFdvcmtzIGxpa2UgQ1RSTC1ZIGluIENvbW1hbmQgbGluZSBtb2RlLgogCitNYWM6IE1vdmUgQ2FyYm9uIHRvZG8gaXRlbXMgdG8gb3NfbWFjLnR4dC4gIE5vdGUgdGhhdCB0aGlzIHZlcnNpb24gaXMgZnJvemVuLAordHJ5IHRoZSBDb2NvYSB2ZXJzaW9uLgorCitNYWM6IFBhdGNoIHRvIGRpc2FibGUgYW50aWFsaWFzLiAoTEMgTWksIDIwMDggQXVnIDIzKSAgVGVzdGVkIG9uIDEwLjUgYW5kCisxMC40LgorCiBNYWM6IEFmdGVyIGEgIjp2c3BsaXQiIHRoZSBsZWZ0IHNjcm9sbGJhciBkb2Vzbid0IGFwcGVhciB1bnRpbCAnY29sdW1ucycgaXMKIGNoYW5nZWQgb3IgdGhlIHdpbmRvdyBpcyByZXNpemVkLgogCkBAIC0xMzQsMTIgKzUyMCwzNyBAQAogd2l0aCAlbm4lbm4sIHdoaWNoIGlzIHRha2VuIGFzIHR3byBjaGFyYWN0ZXJzIGluc3RlYWQgb2Ygb25lLgogVHJ5IHRvIHJlcHJvZHVjZSBhdCB3b3JrLgogCitQYXRjaCBmb3IgZGVmYXVsdCBjaG9pY2UgaW4gZmlsZSBjaGFuZ2VkIGRpYWxvZy4gKEJqb3JuIFdpbmNrbGVyLCAyMDA4IE9jdCAxOSkKK0lzIHRoZXJlIGEgd2F5IHRvIGxpc3QgYWxsIHRoZSBmaWxlcyBmaXJzdD8KKworV2hlbiAnc21hcnRjYXNlJyBpcyBzZXQgYW5kIHVzaW5nIENUUkwtTCB0byBhZGQgdG8gdGhlIHNlYXJjaCBwYXR0ZXJuIGl0IG1heQorcmVzdWx0IGluIG5vIG1hdGNoZXMuICBDb252ZXJ0IGNoYXJzIHRvIGxvd2VyIGNhc2U/IChFcmlrIFdvZ25zZW4sIDIwMDkgQXByCisxNikKKwogUGF0Y2ggZm9yIHJlZG8gcmVnaXN0ZXIuIChCZW4gU2NobWlkdCwgMjAwNyBPY3QgMTkpCiBBd2FpdCByZXNwb25zZSB0byBxdWVzdGlvbiB0byBtYWtlIHRoZSByZWdpc3RlciB3cml0YWJsZS4KIAorc3JjL3Rlc3RkaXIvTWFrZV9kb3MubWFrOiBub3QgYWxsIHRlc3RzIGFyZSBpbmNsdWRlZCwgZS5nLiwgdGVzdDQ5LCB3aXRob3V0IGEKK3JlbWFyayB3aHkuCisKIFByb2JsZW0gd2l0aCAndHMnIHNldCB0byA5IGFuZCAnc2hvd2JyZWFrJyB0byAiPj4+Ii4gKE1hdHRoZXcgV2lubiwgMjAwNyBPY3QKIDEpCiAKK0luIHRoZSBzd2FwZmlsZSBkaWFsb2csIGFkZCBhIEgoZWxwKSBvcHRpb24gdGhhdCBnaXZlcyBtb3JlIGluZm8gYWJvdXQgd2hhdAorZWFjaCBjaG9pY2UgZG9lcy4gIFNpbWlsYXIgdG8gICI6aGVscCBzd2FwLWV4aXN0cy1jaG9pY2VzIgorCit0cnkvY2F0Y2ggbm90IHdvcmtpbmcgZm9yIGFyZ3VtZW50IG9mIHJldHVybi4gKE1hdHQgV296bmlza2ksIDIwMDggU2VwIDE1KQorCitSZWNvZ25pemUgYW5kIGlnbm9yZSBCT00gaW4gZXJyb3IgZmlsZS4gKEFsZWtzZXkgQmFpYmFyaW4pCisKKyI6dGFiIGhlbHAiIGFsd2F5cyBvcGVucyBhIG5ldyB0YWIsIHdoaWxlICI6aGVscCIgcmUtdXNlcyBhbiBleGlzdGluZyB3aW5kb3cuCitXb3VsZCBiZSBtb3JlIGNvbnNpc3RlbnQgd2hlbiBhbiBleGlzdGluZyB0YWIgaXMgcmUtdXNlZC4gKFRvbnkgTWVjaGVseW5jaykKKworIjp0YWIgZHJvcCBmaWxlbmFtZSIgZG9lc24ndCB3b3JrIG5pY2VseSB3aGVuICJmaWxlbmFtZSIgaXMgb3BlbiBpbiBhIHdpbmRvdworaW4gYW5vdGhlciB0YWIuIChUb255IE1lY2hlbHluY2ssIDIwMDkgRmViIDEzKQorCitBZGQgIjpub2ZvbGQiLiAgUmFuZ2Ugd2lsbCBhcHBseSB3aXRob3V0IGV4cGFuZGluZyB0byBjbG9zZWQgZm9sZC4KKwogSW5jbHVkaW5nIE5GQSByZWdleHAgY29kZToKIFVzZSAiXCUjPSB0byBzZXQgdGhlIGVuZ2luZTogMCA9IGF1dG9tYXRpYywgMSA9IGJhY2t0cmFja2luZywgMiA9IG5ldy4KIFVzZWZ1bCBpbiB0ZXN0cy4KQEAgLTE0Nyw2ICs1NTgsNyBAQAogLSB+L3ZpbS90ZXN0L3ZlcnlzbG93LmpzIChmaWxlIGZyb20gRGFuaWVsIEZldGNoaW5zb24pCiAtIH4vdmltL3Rlc3Qvc2xvd3NlYXJjaAogLSB+L3ZpbS90ZXN0L3JnYi52aW0KKy0gfi92aW0vdGV4dC9GZWlxQ2ZnLnhtbCAoZmlsZSBmcm9tIE5ldGp1bmUpCiAtIHNlYXJjaCBmb3IgIGEuKmUqZXhuICBpbiB0aGUgdmltIGV4ZWN1dGFibGUuICBHbyB0byBsYXN0IGxpbmUgdG8gdXNlCiAgICdobHNlYXJjaCcuCiAKQEAgLTE2MCw2ICs1NzIsOSBAQAogQyBzeW50YXg6IHt9IGluc2lkZSAoKSBjYXVzZXMgZm9sbG93aW5nIHt9IHRvIGJlIGhpZ2hsaWdodGVkIGFzIGVycm9yLgogKE1pY2hhbGlzIEdpYW5uYWtpZGlzLCAyMDA2IEp1biAxKQogCitDYW4ndCBlYXNpbHkgY2xvc2UgdGhlIGhlbHAgd2luZG93LCBsaWtlICI6cGMiIGNsb3NlcyB0aGUgcHJldmlldyB3aW5kb3cgYW5kCisiOmNjbCIgY2xvc2VzIHRoZSBxdWlja2ZpeCB3aW5kb3cuICBBZGQgIjpoY2xvc2UiLiAoQ2hyaXMgR2FhbCkKKwogV2hlbiAnZGlmZm9wdCcgaGFzICJjb250ZXh0OjAiIGEgc2luZ2xlIGRlbGV0ZWQgbGluZSBjYXVzZXMgdHdvIGZvbGRzIHRvIG1lcmdlCiBhbmQgbWVzcyB1cCBzeW5jaW5nLiAoQXVzdGluIEplbm5pbmdzLCAyMDA4IEphbiAzMSkKIApAQCAtMTY4LDEzICs1ODMsMjQgQEAKIAogTmV3IFBIUCBzeW50YXggZmlsZSwgdXNlIGl0PyAoUGV0ZXIgSG9kZ2UpCiAKK1BhdGNoIGdvIG1ha2UgZ3VpIGhpZ2hsaWdodCBzZXR0aW5ncyB3b3JrIGluIFZpbSB3aXRob3V0ICtndWkgZmVhdHVyZS4KKyhNYXR0IFdvem5pc2tpLCAyMDA5IE1hciAyNykKKwogJ2ZvbGRjb2x1bW4nIGluIG1vZGVsaW5lIGFwcGxpZWQgdG8gd3Jvbmcgd2luZG93IHdoZW4gdXNpbmcgYSBzZXNzaW9uLiAoVGVlbXUKIExpa29uZW4sIE1hcmNoIDE5KQogCitUZXN0IDU0IHVzZXMgc2hlbGwgY29tbWFuZHMsIHRoYXQgZG9lc24ndCB3b3JrIG9uIG5vbi1Vbml4IHN5c3RlbXMuICBVc2Ugc29tZQorb3RoZXIgd2F5IHRvIHRlc3QgYnVmZmVyLWxvY2FsIGF1dG9jb21tYW5kcy4KKwogVGhlIGRvY3VtZW50YXRpb24gbWVudGlvbnMgdGhlIHByaW9yaXR5IGZvciAiOjJtYXRjaCIgYW5kICI6M21hdGNoIiwgYnV0IGl0CiBhcHBlYXJzIHRoZSBsYXN0IG9uZSB3aW5zLiAoSm9obiBCZWNrZXR0LCAyMDA4IEp1bCAyMikgIENhdXNlZCBieSBhZGRpbmcKIG1hdGNoYWRkKCk/ICBTdWdnZXN0ZWQgcGF0Y2ggYnkgSm9obiwgMjAwOCBKdWwgMjQuCiAKK1doZW4gJ2VuY29kaW5nJyBpcyB1dGYtOCB0aGUgY29tbWFuZCBsaW5lIGlzIHJlZHJhd24gYXMgYSB3aG9sZSBvbiBldmVyeQorY2hhcmFjdGVyIHR5cGVkLiAoVHlsZXIgU3BpdmV5LCAyMDA4IFNlcCAzKSAgT25seSByZWRyYXcgY21kbGluZSBmb3IKKydhcmFiaWNzaGFwZScgd2hlbiB0aGVyZSBpcyBhIGNoYXJhY3RlciBvbiB0aGUgY29tbWFuZCBsaW5lIGZvciB3aGljaAorKEFSQUJJQ19DSEFSKHU4YykpIGlzIFRSVUUuCisKIFJlcGxhY2UgY2NvbXBsZXRlLnZpbSBieSBjcHBjb21wbGV0ZS52aW0gZnJvbSB3d3cudmltLm9yZz8gIHNjcmlwdCAxNTIwCiBieSBWaXNzYWxlIE5lYW5nLiAgKE1hcnRpbiBTdHViZW5zY2hyb3R0KQogQXNrZWQgVmlzc2FsZSB0byBtYWtlIHRoZSBzY3JpcHRzIG1vcmUgZnJpZW5kbHkgZm9yIHRoZSBWaW0gZGlzdHJpYnV0aW9uLgpAQCAtMTkyLDkgKzYxOCw2IEBACiBQcm9ibGVtIHdpdGggY29tcG91bmQgd29yZHM/ICAoQmVydCwgMjAwOCBNYXkgNikKIE5vIHdhcm5pbmcgZm9yIHdoZW4gZmxhZ3MgYXJlIGRlZmluZWQgYWZ0ZXIgdGhleSBhcmUgdXNlZCBpbiBhbiBhZmZpeC4KIAotV2l0aCBWaXN1YWwgc2VsZWN0aW9uLCAiciIgYW5kIHRoZW4gQ1RSTC1DICBWaXN1YWwgbW9kZSBpcyBzdG9wcGVkIGJ1dCB0aGUKLWhpZ2hsaWdodGluZyBpcyBub3QgcmVtb3ZlZC4KLQogU2NyZWVuIHJlZHJhd2luZyB3aGVuIGNvbnRpbnVvdXNseSB1cGRhdGluZyB0aGUgYnVmZmVyIGFuZCByZXNpemluZyB0aGUKIHRlcm1pbmFsLiAoWWFrb3YgTGVybmVyLCAyMDA2IFNlcHQgNykKIApAQCAtMjA2LDYgKzYyOSw5IEBACiAKIFdoZW4gb3BlbmluZyBxdWlja2ZpeCB3aW5kb3csIGRpc2FibGUgc3BlbGwgY2hlY2tpbmc/CiAKK1Byb2JsZW0gd2l0aCAiLmFkZCIgZmlsZXMgd2hlbiB1c2luZyB0d28gbGFuZ3VhZ2VzIGFuZCByZXN0YXJ0aW5nIFZpbS4gKFJhdWwKK0Nvcm9uYWRvLCAyMDA4IE9jdCAzMCkKKwogUG9wdXAgbWVudSByZWRyYXc6IEluc3RlYWQgb2YgZmlyc3QgcmVkcmF3aW5nIHRoZSB0ZXh0IGFuZCB0aGVuIGRyYXdpbmcgdGhlCiBwb3B1cCBtZW51IG92ZXIgaXQsIGZpcnN0IGRyYXcgdGhlIG5ldyBwb3B1cCBtZW51LCByZW1lbWJlciBpdHMgcG9zaXRpb24gYW5kCiBzaXplIGFuZCB0aGVuIHJlZHJhdyB0aGUgdGV4dCwgc2tpcHBpbmcgdGhlIGNoYXJhY3RlcnMgdW5kZXIgdGhlIHBvcHVwIG1lbnUuCkBAIC0yMTQsMTMgKzY0MCwxMyBAQAogV2hlbiB0aGUgcG9wdXAgbWVudSBpcyBjbG9zZSB0byB0aGUgZWRnZSBvZiB0aGUgd2luZG93IGl0IGlzIHRydW5jYXRlZC4gIFBhdGNoCiB0byBhbmNob3IgdGhlIHBvcHVwIG1lbnUgaW4gYSBkaWZmZXJlbnQgd2F5LiAoSmFtZXMgVmVnYSwgMjAwOCBKdWwgMzApCiAKLVNwZWxsIGNoZWNraW5nOiBBZGQgYSB3YXkgdG8gc3BlY2lmeSBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzLiAgQWRkIHRoZQotc3VwZXJzY3JpcHQgbnVtYmVycyBieSBkZWZhdWx0OiAweDIwNzAsIDB4YjksIDB4YjIsIDB4YjMsIDB4MjA3NCAtIDB4MjA3OS4KLQogV2luZG93cyA5ODogcGFzdGluZyBmcm9tIHRoZSBjbGlwYm9hcmQgd2l0aCB0ZXh0IGZyb20gYW5vdGhlciBhcHBsaWNhdGlvbiBoYXMKIGEgdHJhaWxpbmcgTlVMLiAgKEpvYWNoaW0gSG9mbWFubikgIFBlcmhhcHMgdGhlIGxlbmd0aCBzcGVjaWZpZWQgZm9yIENGX1RFWFQKIGlzbid0IHJpZ2h0PwogCitXaGVuIGEgcmVnaXN0ZXIgY29udGFpbnMgaWxsZWdhbCBieXRlcywgd3JpdGluZyB2aW1pbmZvIGluIHV0Zi04IGFuZCByZWFkaW5nCitpdCBiYWNrIGRvZXNuJ3QgcmVzdWx0IGluIHV0Zi04LiAoRGV2aW4gQmF5ZXIpCisKIENvbW1hbmQgbGluZSBjb21wbGV0aW9uOiBTY2FubmluZyBmb3IgdGFncyBkb2Vzbid0IGNoZWNrIGZvciB0eXBlZCBrZXkgbm93IGFuZAogdGhlbj8gIEhhbmdzIGZvciBhYm91dCA1IHNlY29uZHMuICBBcHBlYXJzIHRvIGJlIGNhdXNlZCBieSBmaW5kaW5nIGluY2x1ZGUKIGZpbGVzIHdpdGggImZvby8qKiIgaW4gJ3BhdGgnLiAgKEthbGlzaWFrLCAyMDA2IEp1bHkgMTUpCkBAIC0yMzksNiArNjY1LDkgQEAKIEhvd2V2ZXIsIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBlc2NhcGluZyBtaWdodCBiZSBuZWNlc3NhcnkuICBDaGVjayBpZgogdGhlIHVzZXIgcHV0IHF1b3RlcyBhcm91bmQgdGhlIGV4cGFuZGVkIGl0ZW0/CiAKK0Vycm9yIEUzMjQgY2FuIGJlIGdpdmVuIHdoZW4gYSBjcm9uIHNjcmlwdCBoYXMgd2lwZWQgb3V0IG91ciB0ZW1wIGRpcmVjdG9yeS4KK0dpdmUgYSBjbGVhciBlcnJvciBtZXNzYWdlIGFib3V0IHRoaXMgKGFuZCB0ZWxsIHRoZW0gbm90IHRvIHdpcGUgb3V0IC90bXApLgorCiBDb2xvciBmb3IgY1VzZXJMYWJlbCBzaG91bGQgZGlmZmVyIGZyb20gY2FzZSBsYWJlbCwgc28gdGhhdCBhIG1pc3Rha2UgaW4gYQogc3dpdGNoIGxpc3QgaXMgbm90aWNlZDoKICAgICBzd2l0Y2ggKGkpCkBAIC0yNTQsMjMgKzY4MywyMSBAQAogZ28gdG8gSW5zZXJ0IG1vZGUgYW5kIGFkZCBhIGZldyBsaW5lcy4gIFRoZW4gYmFja3NwYWNpbmcgZXZlcnkgb3RoZXIgdGltZQogbW92ZXMgdGhlIGN1cnNvciBpbnN0ZWFkIG9mIGRlbGV0aW5nLiAoQ2hyaXMgS2Fpc2VyLCAyMDA3IFNlcCAyNSkKIAotUmVkcmF3IHByb2JsZW0gd2hlbiBhcHBlbmRpbmcgZGlncmFwaCBjYXVzZXMgbGluZSB0byB3cmFwLiAoSmFtZXMgVmVnYSwgMjAwNwotU2VwIDE4KSAgUGF0Y2ggYnkgSWFuIEtlbGxpbmcsIDIwMDggQXVnIDguCi0KIENoYW5nZXMgZm9yIFdpbjMyIG1ha2VmaWxlLiAoTWlrZSBXaWxsaWFtcywgMjAwNyBKYW4gMjIsIEFsZXhlaSBBbGV4YW5kcm92LAogMjAwNyBGZWIgOCkKIAogUGF0Y2ggZm9yIFdpbjMyIGNsaXBib2FyZCB1bmRlciBDeWd3aW4uIChGcm9kYWsgQmFrc2lrLCBGZWIgMTUpCiAgICAgU3V0Y2xpZmZlIHNheXMgaXQgd29ya3Mgd2VsbC4KICAgICBVcGRhdGUgMjAwNyBNYXkgMjIgZm9yIFZpbSA3LjEKKyAgICBVcGRhdGUgMjAwOCBEZWMgMjAwOCBmb3IgVmltIDcuMi54eCAoU2hhcm9ub3YpCisKK1dpbjMyOiBDYW4ndCBjb21wbGV0ZSBzaGVsbCBjb21tYW5kIG5hbWVzLiAgV2h5IGlzIHNldHRpbmcgeHBfY29udGV4dCBpbgorc2V0X29uZV9jbWRfY29udGV4dCgpIGluc2lkZSAjaWZuZGVmIEJBQ0tTTEFTSF9JTl9GSUxFTkFNRT8KIAogV2luMzI6IFBhdGNoIGZvciBjb252ZXJ0X2ZpbHRlclcoKS4gKFRhcm8gTXVyYW9rYSwgMjAwNyBNYXIgMikKIAogV2luMzI6IFBhdGNoIGZvciBjc2NvcGUgZXh0ZXJuYWwgY29tbWFuZC4gKE1pa2UgV2lsbGlhbXMsIDIwMDcgQXVnIDcpCiAKLSI6Y3Njb3BlIGZpbmQgZiAgZmlsZW5hbWUiIGRvZXNuJ3Qgd29yayBiZWNhdXNlIG9mIHRoZSBleHRyYSBzcGFjZS4gKEV0aGFuCi1NYWxsb3ZlKQotCiBXaW4zMjogWFBNIHN1cHBvcnQgb25seSB3b3JrcyB3aXRoIHBhdGggd2l0aG91dCBzcGFjZXMuICBQYXRjaCBieSBNYXRoaWFzCiBNaWNoYWVsaXMsIDIwMDYgSnVuIDkuICBBbm90aGVyIHBhdGNoIGZvciBtb3JlIHBhdGggbmFtZXMsIDIwMDYgTWF5IDMxLgogTmV3IHZlcnNpb246IGh0dHA6Ly9tZW1iZXJzLnRjbmV0LmNoL21pY2hhZWxpcy92aW0vcGF0Y2hlcy56aXAgKGFsc28gZm9yIG90aGVyCkBAIC0yOTIsOSArNzE5LDYgQEAKIFdpbjMyOiB1c2luZyBDVFJMLVMgaW4gSW5zZXJ0IG1vZGUgZG9lc24ndCByZW1vdmUgdGhlICIrIiBmcm9tIHRoZSB0YWIgcGFnZXMKIGxhYmVsLiAgKFRzYWtpcmlkaXMsIDIwMDcgRmViIDE4KSAgUGF0Y2ggZnJvbSBJYW4gS2VsbGluZywgMjAwOCBBdWcgNi4KIAotV2hlbiAnYm9tYicgaXMgY2hhbmdlZCB0aGUgd2luZG93IHRpdGxlIGlzIHVwZGF0ZWQgdG8gc2hvdy9oaWRlIGEgIisiLCBidXQgdGhlCi10YWIgcGFnZSBsYWJlbCBpc24ndC4gKFBhdHJpY2sgVGV4aWVyLCAyMDA4IEp1biAyNCkKLQogV2luMzI6IHVzaW5nICJndmltIC0tcmVtb3RlLXRhYi1zaWxlbnQgZm5hbWUiIHNvbWV0aW1lcyBnaXZlcyBhbiBlbXB0eSBzY3JlZW4KIHdpdGggdGhlIG1vcmUgcHJvbXB0LiAgQ2F1c2VkIGJ5IHNldHRpbmcgdGhlIGd1aXRhYmxhYmVsPyAgKFRob21hcyBNaWNoYWVsCiBFbmdlbGtlLCAyMDA3IERlYyAyMCAtIDIwMDggSmFuIDE3KQpAQCAtMzA3LDkgKzczMSwyOCBAQAogCiBXaW4zMjogcGF0Y2ggZm9yIGZ1bGxzY3JlZW4gbW9kZS4gKExpdXNoYW9saW4sIDIwMDggQXByaWwgMTcpCiAKK1dpbjMyOiBXaGVuICdzaGVsbCcgaXMgY21kLmV4ZSB0aGlzIGNvbW1hbmQgZmFpbHM6CisJZWNobyBzeXN0ZW0oJyJjOi9wYXRoL2VjaG8uZXhlIiAiZm9vIGJhciInKQorU2hvdWxkIHdlIHNldCB0aGUgZGVmYXVsdCBmb3IgJ3NoZWxseHF1b3RlJyB0byBhIGRvdWJsZSBxdW90ZSwgd2hlbiAnc2hlbGwnCitjb250YWlucyAiY21kIiBpbiB0aGUgdGFpbD8gIChCZW5qYW1pbiBGcml0eiwgMjAwOCBPY3QgMTMpCitBbHNvIHNldCAnc2hlbGxjbWRmbGFnJyB0byBpbmNsdWRlIC9zLgorCitXaW4zMjogV2hlbiB0aGVyZSBpcyA0IEdieXRlIG9mIG1lbW9yeSBtY2hfYXZhaWxfbWVtKCkgZG9lc24ndCB3b3JrIHByb3Blcmx5LgorVW5maXNoZWQgcGF0Y2ggYnkgSmVsbGUgR2VlcnRzLCAyMDA4IEF1ZyAyNC4KK0xldCBtY2hfYXZhaWxfbWVtKCkgcmV0dXJuIEtieXRlIGluc3RlYWQ/CisKK1dpbjMyOiBXaXRoIHR3byBtb25pdG9ycywgZ3ZpbSBwYXJ0bHkgb24gYm90aCwgYW5kIGFkZGluZy9yZW1vdmluZyBhIHNjcm9sbGJhcgorVmltIHJlc2l6ZXMgYW5kIG1vdmVzIHRvIG9uZSBvZiB0aGUgbW9uaXRvcnMuIChDaHJpcyBNb25raWV3aWN6LCAyMDA4IE9jdCkKKworV2luMzI6IFdoZW4gJ3NoZWxsJyBpcyBiYXNoIHNoZWxsZXNjYXBlKCkgZG9lc24ndCBhbHdheXMgZG8gdGhlIHJpZ2h0IHRoaW5nLgorRGVwZW5kcyBvbiAnc2hlbGxzbGFzaCcsICdzaGVsbHF1b3RlJyBhbmQgJ3NoZWxseHF1b3RlJywgYnV0IHNoZWxsZXNjYXBlKCkKK29ubHkgdGFrZXMgJ3NoZWxsc2xhc2gnIGludG8gYWNjb3VudC4KKwogV2hlbiBmaWxlIGIgaXMgYSBsaW5rIHRvIGZpbGUgYSBhbmQgZWRpdGluZyBiIHR3aWNlIHlvdSBnZXQgdGhlIGNvcnJlY3QKIHdhcm5pbmcgZm9yIGV4aXN0aW5nIHN3YXAgZmlsZSwgYnV0IHdoZW4gdHJ5aW5nIHRvIHJlY292ZXIgaXQgZG9lc24ndCBmaW5kIHRoZQotc3dhcGZpbGUuIChNYXR0IFdvem5pc2tpLCAyMDA4IEF1ZyA1KQorc3dhcGZpbGUuIChNYXR0IFdvem5pc2tpLCAyMDA4IEF1ZyA1KSAgUGF0Y2ggYnkgSWFuIEtlbGxpbmcsIDIwMDggQXVnIDExLgorQW5vdGhlciBwYXRjaCBieSBKYW1lcyBWZWdhLCAyMDA4IEF1ZyAyMCwgYWdhaW4gMjAwOCBTZXAgMy4KK0Fsc28gc29sdmVzOiBQcm9ibGVtIGZpbmRpbmcgc3dhcCBmaWxlIGZvciByZWNvdmVyeS4gKEdhdXRhbSBJeWVyLCAyMDA2IE1heSAxNikKIAogUHJlc3NpbmcgdGhlICdwYXN0ZXRvZ2dsZScga2V5IGRvZXNuJ3QgdXBkYXRlIHRoZSBzdGF0dXNsaW5lLiAoSmFuIENocmlzdG9waAogRWJlcnNiYWNoLCAyMDA4IEZlYiAxKQpAQCAtMzI3LDEyICs3NzAsMTYgQEAKIAogSWYgdGhlIHZhcmlhYmxlICJnOngjeSN6IiBleGlzdHMgY29tcGxldGlvbiBhZnRlciAiOmVjaG8gZzp4IyIgZG9lc24ndCB3b3JrLgogCitGZWF0dXJlIHJlcXVlc3Q6IENvbW1hbmQgdG8gZ28gdG8gcHJldmlvdXMgdGFiLCBsaWtlIHdoYXQgQ1RSTC1XIHAgZG9lcyBmb3IKK3dpbmRvd3MuIChBZGFtIEdlb3JnZSkKKworV2hlbiB1c2luZyBpbnB1dCgpIGluIGEgbG9vcCBhbmQgdGhlbiAiOmVjaG8iIHRoZSBkaXNwbGF5IGNvbHVtbiBpc24ndCByaWdodC4KKyhCZW5qYW1pbiBGcml0eiwgMjAwOCBBdWcgMjgpICBQYXRjaCBieSBCZW4gU2NobWlkdCwgMjAwOCBTZXAgMi4KKwogRjEgLSBGNCBpbiBhbiB4dGVybSBwcm9kdWNlIGEgZGlmZmVyZW50IGVzY2FwZSBzZXF1ZW5jZSB3aGVuIHVzZWQgd2l0aCBhCiBtb2RpZmllciBrZXkuICBOZWVkIHRvIGNhdGNoIHRocmVlIGRpZmZlcmVudCBzZXF1ZW5jZXMuICBVc2UgS19aRjEsIGxpa2UKIEtfWkhPTUU/IChEaWNrZXksIDIwMDcgRGVjIDIpCiAKLVByb2JsZW0gZmluZGluZyBzd2FwIGZpbGUgZm9yIHJlY292ZXJ5LiAoR2F1dGFtIEl5ZXIsIDIwMDYgTWF5IDE2KQotCiBVVEYtODogbWFwcGluZyBhIG11bHRpLWJ5dGUga2V5IHdoZXJlIHRoZSBzZWNvbmQgYnl0ZSBpcyAweDgwIGRvZXNuJ3QgYXBwZWFyCiB0byB3b3JrLiAoVG9ueSBNZWNoZWx5bmNrLCAyMDA3IE1hcmNoIDIpCiAKQEAgLTM1MiwxMyArNzk5LDExIEBACiBDaGVjayBvdGhlciBpbnRlcmZhY2VzIGZvciBjaGFuZ2luZyBjdXJidWYgaW4gYSB3cm9uZyB3YXkuICBQYXRjaCBsaWtlIGZvcgogaWZfcnVieS5jLgogCi1Qcm9ibGVtIHdpdGggY3Vyc29yY29sdW1uIGhpZ2hsaWdodGluZyBhbmQgZm9sZHMuIChKb2huIE11bGxpbiwgMjAwOCBKdWwgMTgpCi0KLVNwZWxsIGNoZWNraW5nIGluIHBvcHVwIG1lbnU6IElmIHRoZSBvbmx5IHByb2JsZW0gaXMgdGhlIGNhc2Ugb2YgdGhlIGZpcnN0Ci1jaGFyYWN0ZXIsIGRvbid0IG9mZmVyICJpZ25vcmUiIGFuZCAiYWRkIHRvIHdvcmQgbGlzdCIuCi0KICI6aGVscGdyZXAiIHNob3VsZCB1c2UgdGhlIGRpcmVjdG9yeSBmcm9tICdoZWxwZmlsZScuCiAKK1BhdGNoIHRvIGR5bmFtaWNhbGx5IGxvYWQgUHl0aG9uIG9uIFNvbGFyaXMuIChEYW5layBEdXZhbGwsIDIwMDkgRmViIDE2KQorTmVlZHMgbW9yZSB3b3JrLgorCiBUaGUgbmVlZF9maWxlaW5mbyBmbGFnIGlzIG1lc3N5LiAgSW5zdGVhZCBtYWtlIHRoZSBtZXNzYWdlIHJpZ2h0IGF3YXkgYW5kIHB1dAogaXQgaW4ga2VlcF9tc2c/CiAKQEAgLTM2OSw3ICs4MTQsMTAgQEAKIFRlc3QgNjEgZmFpbHMgc29tZXRpbWVzLiAgVGhpcyBpcyBhIHRpbWluZyBwcm9ibGVtOiAic2xlZXAgMiIgc29tZXRpbWVzIHRha2VzCiBsb25nZXIgdGhhbiAyIHNlY29uZHMuCiAKLUNoYW5naW5nICdndWlmb250JyBpbiB0aGUgY29uc29sZSBjYXVzZXMgYW4gdW5uZWNlc3NhcnkgcmVkcmF3LgorVXNpbmcgIjphdSBDdXJzb3JNb3ZlZCAqIGNtZCIgaW52b2tlcyBtY2hfRnVsbE5hbWUoKSwgd2hpY2ggY2FuIGJlIHNsb3cuCitDYW4gdGhpcyBiZSBhdm9pZGVkPyAoVGhvbWFzIFdhYmEsIDIwMDggQXVnIDI0KQorQWxzbyBmb3IgIjp3IiB3aXRob3V0IGEgZmlsZSBuYW1lLgorVGhlIGJ1ZmZlciBoYXMgdGhlIGZ1bGwgcGF0aCBpbiBmZm5hbWUsIHNob3VsZCBwYXNzIHRoaXMgdG8gdGhlIGF1dG9jb21tYW5kLgogCiAidmltIC1DIiBvZnRlbiBoYXMgJ25vY29tcGF0aWJsZScsIGJlY2F1c2UgaXQncyBzZXQgaW4gc29tZSBzdGFydHVwIHNjcmlwdC4KIFNldCAnY29tcGF0aWJsZScgYWZ0ZXIgc3RhcnR1cCBpcyBkb25lPyAgUGF0Y2ggYnkgSmFtZXMgVmVnYSwgMjAwOCBGZWIgNy4KQEAgLTM5MywxMSArODQxLDE4IEBACiBBbm90aGVyIHByb2JsZW0gaXMgdGhhdCBmaWxlX3BhdF90b19yZWdfcGF0KCkgZG9lc24ndCByZWNvZ25pemUgIlxcIiwgc28gIlxcKCIgCiB3aWxsIGJlIHNlZW4gYXMgYSBwYXRoIHNlcGFyYXRvciBwbHVzICJcKCIuCiAKK1doZW4gZG9pbmcgIjpxdWl0IiB0aGUgTmV0YmVhbnMgImtpbGxlZCIgZXZlbnQgaXNuJ3Qgc2VudC4gIChYYXZpZXIgZGUgR2F5ZSwKKzIwMDggTm92IDEwKSAgY2FsbCBuZXRiZWFuc19maWxlX2Nsb3NlZCgpIGF0IHRoZSBlbmQgb2YgYnVmX2ZyZWVhbGwoKSwgb3IgaW4KK2FsbCBwbGFjZXMgd2hlcmUgYnVmX2ZyZWVhbGwoKSBpcyBjYWxsZWQ/CisKICI6cHl0aG9uIG9zLmNoZGlyKCcvdG1wJykiIG1ha2VzIHNob3J0IGJ1ZmZlciBuYW1lcyBpbnZhbGlkLiAoWGF2aWVyIGRlIEdheWUpCiBDaGVjayBkaXJlY3RvcnkgYW5kIGNhbGwgc2hvcnRlbl9mbmFtZXMoKT8KIAogYXVjbWRfcHJlcGJ1ZigpIHNob3VsZCBhbHNvIHVzZSBhIHdpbmRvdyBpbiBhbm90aGVyIHRhYiBwYWdlLgogCitXaGVuIHVubG9hZGluZyBhIGJ1ZmZlciBpbiBhIEJ1ZkhpZGRlbiBhdXRvY29tbWFuZCB0aGUgaGlkZGVuIGZsYWcgaXMgcmVzZXQ/CisoQm9iIEhpZXN0YW5kLCAyMDA4IEF1ZyAyNiwgQXVnIDI3KQorCiBTdWJzdGl0dXRpbmcgYW4gYXJlYSB3aXRoIGEgbGluZSBicmVhayB3aXRoIGFsbW9zdCB0aGUgc2FtZSBhcmVhIGRvZXMgY2hhbmdlCiB0aGUgVmlzdWFsIGFyZWEuICBDYW4gdGhpcyBiZSBmaXhlZD8gKEphbWVzIFZlZ2EsIDIwMDYgU2VwdCAxNSkKIApAQCAtNDA5LDEzICs4NjQsMzMgQEAKIAogR1VJOiBXaGVuIGNvbWJpbmluZyBmZyBlbiBiZyBtYWtlIHN1cmUgdGhleSBhcmUgbm90IGVxdWFsLgogCitTcGVsbCBjaGVja2luZzogQWRkIGEgd2F5IHRvIHNwZWNpZnkgcHVuY3R1YXRpb24gY2hhcmFjdGVycy4gIEFkZCB0aGUKK3N1cGVyc2NyaXB0IG51bWJlcnMgYnkgZGVmYXVsdDogMHgyMDcwLCAweGI5LCAweGIyLCAweGIzLCAweDIwNzQgLSAweDIwNzkuCisKK1NwZWxsIGNoZWNraW5nIGluIHBvcHVwIG1lbnU6IElmIHRoZSBvbmx5IHByb2JsZW0gaXMgdGhlIGNhc2Ugb2YgdGhlIGZpcnN0CitjaGFyYWN0ZXIsIGRvbid0IG9mZmVyICJpZ25vcmUiIGFuZCAiYWRkIHRvIHdvcmQgbGlzdCIuCisKIFVzZSBkaWZmZXJlbnQgcHRfYnIgZGljdGlvbmFyeSBmb3Igc3BlbGwgY2hlY2tpbmcuIChKYWNrc29uIEEuIEFxdWlubywgMjAwNgogSnVuIDUpCiAKK1VzZSBkaWZmZXJlbnQgcm9tYW5pYW4gZGljdGlvbmFyeSBmb3Igc3BlbGwgY2hlY2tpbmcuIChBbmRyZWkgUG9wZXNjdSwgTm92CisyMDA4KSAgVXNlIGh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3Jvc3BlbGwvcm9fUk8uMy4yLnppcAorT3IgdGhlIGh1bnNwZWxsLXJvLjMuMi50YXIuZ3ogZmlsZSwgaXQgYWxzbyBoYXMgYSBpc28tODg1OS0yIGxpc3QuCisKK0luIGEgQyBmaWxlIHdpdGggc3BlbGwgY2hlY2tpbmcsIGluICIlIGludGVnZXIiICJudGVnZXIiIGlzIHNlZW4gYXMgYW4gZXJyb3IsCitidXQgIl1zIiBkb2Vzbid0IGZpbmQgaXQuICAibnRlZ2VyIiBieSBpdHNlbGYgaXMgZm91bmQuIChSYWxmIFdpbGRlbmh1ZXMsIDIwMDgKK0p1bCAyMikKKworVGhlcmUgc2hvdWxkIGJlIHNvbWV0aGluZyBhYm91dCBzcGVsbCBjaGVja2luZyBpbiB0aGUgdXNlciBtYW51YWwuCisKK1NwZWxsIG1lbnU6IFdoZW4gdXNpbmcgdGhlIFBvcHVwIG1lbnUgdG8gc2VsZWN0IGEgcmVwbGFjZW1lbnQgd29yZCwKKyI6c3BlbGxyZXBlYXQiIGRvZXNuJ3Qgd29yay4gIFNwZWxsUmVwbGFjZSgpIHVzZXMgc2V0bGluZSgpLiAgQ2FuIGl0IHVzZSAiej0iCitzb21laG93PyAgT3IgdXNlIGEgbmV3IGZ1bmN0aW9uLgorCiBNYWM6IFVzaW5nIGd2aW06IG5ldHJ3IHdpbmRvdyBkaXNhcHBlYXJzLiAoTmljayBMbywgMjAwNiBKdW4gMjEpCiAKLVdoZW4gJ2ZmJyBpcyAibWFjIiB0aGVuICJnYSIgb24gYSBeSiBzaG93cyAweDBkIGluc3RlYWQgb2YgMHgwYS4gIENvbXBhcmUgd2l0aAotdXNpbmcgImdhIiBvbiBhIE5VTCB3aGVuICdmZicgaXMgInVuaXgiLiAoQW5keSBXb2t1bGEsIDIwMDggSnVsIDE2KQorTWFjOiBPUy9YIDEwLjQgd2l0aCBQeXRob24gMi41IGluc3RhbGxlZDogY29uZmlndXJlIGZpbmRzIGFuIGV4dHJhIGFyZ3VtZW50Cit0aGF0IGJyZWFrcyB0aGUgYnVpbGQuIChCcmlhbiBWaWN0b3IsIDIwMDggU2VwIDEpCiAKIEFkZCBhbiBvcHRpb24gdG8gc3BlY2lmeSB0aGUgY2hhcmFjdGVyIHRvIHVzZSB3aGVuIGEgZG91YmxlLXdpZHRoIGNoYXJhY3RlciBpcwogbW92ZWQgdG8gdGhlIG5leHQgbGluZS4gIERlZmF1bHQgJz4nLCBzZXQgdG8gYSBzcGFjZSB0byBibGFuayBpdCBvdXQuICBDaGVjawpAQCAtNDIzLDEzICs4OTgsMTMgQEAKIAogVGhlIGdlbmVyYXRlZCB2aW0uYmF0IGNhbiBhdm9pZCB0aGUgbG9vcCBmb3IgTlQuIChDYXJsIFptb2xhLCAyMDA2IFNlcCAzKQogCi1JbiBhIEMgZmlsZSB3aXRoIHNwZWxsIGNoZWNraW5nLCBpbiAiJSBpbnRlZ2VyIiAibnRlZ2VyIiBpcyBzZWVuIGFzIGFuIGVycm9yLAotYnV0ICJdcyIgZG9lc24ndCBmaW5kIGl0LiAgIm50ZWdlciIgYnkgaXRzZWxmIGlzIGZvdW5kLiAoUmFsZiBXaWxkZW5odWVzLCAyMDA4Ci1KdWwgMjIpCi0KIFNlc3Npb24gZmlsZSBjcmVhdGlvbjogJ2F1dG9jaGRpcicgY2F1c2VzIHRyb3VibGUuICBLZWVwIGl0IG9mZiB1bnRpbCBhZnRlcgogbG9hZGluZyBhbGwgZmlsZXMuCiAKK1dpbjMyOiBXaGVuICdhdXRvY2hkaXInIGlzIG9uIGFuZCAnZW5jb2RpbmcnIGlzIGNoYW5nZWQsIGZpbGVzIG9uIHRoZSBjb21tYW5kCitsaW5lIGFyZSBvcGVuZWQgYWdhaW4sIGJ1dCBmcm9tIHRoZSB3cm9uZyBkaXJlY3RvcnkuICBBcHBseSAnYXV0b2NoZGlyJyBvbmx5CithZnRlciBzdGFydGluZyB1cD8KKwogV2hlbiBzaG93aW5nIGEgZGlmZiBiZXR3ZWVuIGEgbm9uLWV4aXN0YW50IGZpbGUgYW5kIGFuIGV4aXN0aW5nIG9uZSwgd2l0aCB0aGUKIGN1cnNvciBpbiB0aGUgZW1wdHkgYnVmZmVyLCB0aGUgb3RoZXIgYnVmZmVyIG9ubHkgc2hvd3MgdGhlIGxhc3QgbGluZS4gIENoYW5nZQogdGhlICJpbnNlcnQiIGludG8gYSBjaGFuZ2UgZnJvbSBvbmUgbGluZSB0byBtYW55PyAoWWFrb3YgTGVybmVyLCAyMDA4IE1heSAyNykKQEAgLTQ0MywxMCArOTE4LDYgQEAKIGJhY2tncm91bmQgbWFrZS4gICI6YmdjYW5jZWwiIGludGVycnVwdHMgaXQuCiBBLlBvbGl0eiBtYXkgd29yayBvbiB0aGlzLgogCi1UaGUgc3BlbGxmaWxlIHBsdWdpbiBjaGVja3MgZm9yIGEgd3JpdGFibGUgInNwZWxsIiBkaXJlY3RvcnkuICBBIHVzZXIgbWF5IGhhdmUKLWEgd3JpdGFibGUgcnVudGltZSBkaXJlY3Rvcnkgd2l0aG91dCBhICJzcGVsbCIgZGlyZWN0b3J5LCBpdCBjb3VsZCBiZSBjcmVhdGVkCi10aGVuLgotCiBUaGVzZSB0d28gYWJicmV2aWF0aW9ucyBkb24ndCBnaXZlIHRoZSBzYW1lIHJlc3VsdDoKIAlsZXQgYXNkZmFzZGYgPSAieHl6XDxMZWZ0PiIKIAljYWJiciBYWFggPEMtUj49YXNkZmFzZGY8Q1I+CkBAIC00ODksNiArOTYwLDEwIEBACiAKIEFjY2Vzc2luZyBmaWxlI3ZhciBpbiBhIGZ1bmN0aW9uIHNob3VsZCBub3QgbmVlZCB0aGUgZzogcHJlcGVuZGVkLgogCitXaGVuIGV4aXRpbmcgZGV0ZWN0cyBhIG1vZGlmaWVkIGJ1ZmZlciwgaW5zdGVhZCBvZiBvcGVuaW5nIHRoZSBidWZmZXIgaW4gdGhlCitjdXJyZW50IHRhYiwgdXNlIGFuIGV4aXN0aW5nIHRhYiwgaWYgcG9zc2libGUuICBMaWtlIGZpbmRpbmcgYSB3aW5kb3cgd2hlcmUKK3RoZSBidWZmZXIgaXMgZGlzcGxheWVkLiAoQW50b25pb3MgVHNha2lyaWRpcykKKwogV2hlbiAiOmNuIiBtb3ZlcyB0byBhbiBlcnJvciBpbiB0aGUgc2FtZSBsaW5lIHRoZSBtZXNzYWdlIGlzbid0IHNob3J0ZW5lZC4KIE9ubHkgc2tpcCBzaG9ydGVuaW5nIGZvciAiOmNjIj8KIApAQCAtNTA5LDIxICs5ODQsOSBAQAogUHJvYmxlbSB3aXRoIHVzaW5nIDpyZWRpciBpbiB1c2VyIGNvbW1hbmQgY29tcGxldGlvbiBmdW5jdGlvbj8gKEhhcmkgS3Jpc2huYQogRGFyYSwgMjAwNiBKdW5lIDIxKQogCi1HVEs6IFdoZW4gbWF4aW1pemluZyBWaW0gdGhlIHJlc3VsdCBpcyBzbGlnaHRseSBzbWFsbGVyLCB0aGUgZmlsbGVyIGJvcmRlciBpcwotbm90IHRoZXJlLCBhbmQgdGhlICJtYXhpbWl6ZSIgYnV0dG9uIGlzIHN0aWxsIHRoZXJlLiAgQ2xpY2tpbmcgaXQgYWdhaW4gZG9lcwotZ2l2ZSBhIG1heGltaXplZCB3aW5kb3cuIChEYXJyZW4gSGllYmVydCkKLVByb2JsZW0gaXMgdGhhdCBndWlfbWNoX3NldF90ZXh0X2FyZWFfcG9zKCkgaXMgaW52b2tlZCB0byBjaGFuZ2UgdGhlIHRleHQgYXJlYQotc2l6ZSwgd2hpY2ggY2F1c2VzIHRoZSB0b3BsZXZlbCB3aW5kb3cgdG8gcmVzaXplLiAgV2hlbiBkb2luZyB0aGlzIHdoaWxlIHRoZQotc2l6ZSBpcyBhbHJlYWR5IHJpZ2h0IHRoZSBmaWxsZXIgcmVtYWlucyB0aGVyZS4KLURldGVjdCB1c2luZyB0aGUgbWF4aW1pemUgYnV0dG9uIChHZGtXaW5kb3dTdGF0ZSBiaXQKLUdES19XSU5ET1dfU1RBVEVfTUFYSU1JWkVEKSBhbmQgc2V0IGl0IGFnYWluPwotCiBBbm90aGVyIHJlc2l6aW5nIHByb2JsZW0gd2hlbiBzZXR0aW5nICdjb2x1bW5zJyBhbmQgJ2xpbmVzJyB0byBhIHZlcnkgbGFyZ2UKIG51bWJlci4gKFRvbnkgTWVjaGVseW5jaywgMjAwNyBGZWIgNikKIAotR1RLOiB3aGVuIHVzaW5nIHRoZSAtZ2VvbSBhcmd1bWVudCB3aXRoIGFuIG9mZnNldCBmcm9tIHRoZSByaWdodCBlZGdlIGFuZCB0aGUKLXNpemUgaXMgc21hbGxlciB0aGFuIHRoZSBkZWZhdWx0LCB0aGUgVmltIHdpbmRvdyBpcyBub3QgcG9zaXRpb25lZCBwcm9wZXJseS4KLQogQWZ0ZXIgc3RhcnRpbmcgVmltLCB1c2luZyAnMCB0byBqdW1wIHNvbWV3aGVyZSBpbiBhIGZpbGUsICI6c3AiIGRvZXNuJ3QgY2VudGVyCiB0aGUgY3Vyc29yIGxpbmUuICBJdCB3b3JrcyBPSyBhZnRlciBzb21lIG90aGVyIGNvbW1hbmRzLgogCkBAIC01MzEsOCArOTk0LDYgQEAKIERvZXMgbXVsdGktYnl0ZSBwcmludGluZyB3aXRoICI6aGFyZGNvcHkiIHdvcms/ICBBZGQgcmVtYXJrIGluIGRvY3VtZW50YXRpb24KIGFib3V0IHRoaXMuCiAKLVRoZXJlIHNob3VsZCBiZSBzb21ldGhpbmcgYWJvdXQgc3BlbGwgY2hlY2tpbmcgaW4gdGhlIHVzZXIgbWFudWFsLgotCiBDaGVjazogUnVubmluZyBWaW0gaW4gYSBjb25zb2xlIGFuZCBzdGlsbCBoYXZpbmcgY29ubmVjdCB0byB0aGUgWCBzZXJ2ZXIgZm9yCiBjb3B5L3Bhc3RlOiBpcyBzdG9wcGluZyB0aGUgWCBzZXJ2ZXIgaGFuZGxlZCBncmFjZWZ1bGx5PyAgU2hvdWxkIGNhdGNoIHRoZSBYCiBlcnJvciBhbmQgc3RvcCB1c2luZyB0aGUgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyLgpAQCAtNTQwLDE4ICsxMDAxLDM3IEBACiBQcm9ibGVtIHdpdGggJ2NkcGF0aCcgb24gTVMtV2luZG93cyB3aGVuIGEgZGlyZWN0b3J5IGlzIGVxdWFsIHRvICRIT01FLiAoMjAwNgogSnVsIDI2LCBHYXJ5IEpvaG5zb24pCiAKK1VzaW5nIFVURi04IGNoYXJhY3RlciB3aXRoICI6Y29tbWFuZCIgZG9lcyBub3Qgd29yayBwcm9wZXJseS4gKE1hdHQgV29zbmlza2ksCisyMDA4IFNlcCAyOSkKKwogSW4gdGhlIE5ldGJlYW5zIGludGVyZmFjZSBhZGQgYSAidmltZXZhbCIgZnVuY3Rpb24sIHNvIHRoYXQgdGhlIG90aGVyIHNpZGUgY2FuCiBjaGVjayB0aGUgcmVzdWx0IG9mIGhhcygicGF0Y2gxMyIpLgogCitDdXJzb3IgbGluZSBhdCBib3R0b20gb2Ygd2luZG93IGluc3RlYWQgb2YgaGFsZndheSBhZnRlciBzYXZpbmcgdmlldyBhbmQKK3Jlc3RvcmluZy4gIE9ubHkgd2l0aCAnbm93cmFwJy4gKFJvYmVydCBXZWJiLCAyMDA4IEF1ZyAyNSkKKwogQWRkIGNvbW1hbmQgbW9kaWZpZXIgdGhhdCBza2lwcyB3aWxkY2FyZCBleHBhbnNpb24sIHNvIHRoYXQgeW91IGRvbid0IG5lZWQgdG8KIHB1dCBiYWNrc2xhc2hlcyBiZWZvcmUgc3BlY2lhbCBjaGFycywgb25seSBmb3Igd2hpdGUgc3BhY2UuCiAKK1N5bnRheCBITDogb3BlbiB0d28gd2luZG93cyBvbiB0aGUgc2FtZSBDIGNvZGUsIGRlbGV0ZSBhICIpIiBpbiBvbmUgd2luZG93LAorcmVzdWx0aW5nIGluIGhpZ2hsaWdodGVkICJ7IiBpbiB0aGF0IHdpbmRvdywgbm90IGluIHRoZSBvdGhlci4KKworSW4gbXN3aW4udmltOiBJbnN0ZWFkIG9mIG1hcHBpbmcgPEMtVj4gZm9yIEluc2VydCBtb2RlIGluIGEgY29tcGxpY2F0ZWQgd2F5LAorY2FuIGl0IGJlIGRvbmUgbGlrZSAiOmltYXAgPEMtVj4gPE1pZGRsZU1vdXNlPiIgd2l0aG91dCBuZWdhdGl2ZSBzaWRlIGVmZmVjdHM/CisKIFdpbjMyOiBXaGVuIHRoZSBHVUkgdGFiIHBhZ2VzIGxpbmUgaXMgZGlzcGxheWVkIFZpbSBqdW1wcyBmcm9tIHRoZSBzZWNvbmRhcnkKIHRvIHRoZSBwcmltYXJ5IG1vbml0b3IuIChBZnRvbiBMZXdpcywgMjAwNyBNYXIgOSkgIE9sZCByZXNpemluZyBwcm9ibGVtPwogCiBHVEs6IHdoZW4gdGhlIFRhYiBwYWdlcyBiYXIgYXBwZWFycyBvciBkaXNhcHBlYXJzIHdoaWxlIHRoZSB3aW5kb3cgaXMKIG1heGltaXplZCB0aGUgd2luZG93IGlzIG5vIGxvbmdlciBtYXhpbWl6ZWQuICBQYXRjaCB0aGF0IGhhcyBzb21lIGlkZWEgYnV0CiBkb2Vzbid0IHdvcmsgZnJvbSBHZW9mZnJleSBBbnRvcywgMjAwOCBNYXkgNS4KK0Fsc286IHRoZSB3aW5kb3cgbWF5IG5vIGxvbmdlciBmaXQgb24gdGhlIHNjcmVlbiwgdGh1cyB0aGUgY29tbWFuZCBsaW5lIGlzIG5vdAordmlzaWJsZS4KKworR1RLOiB3aGVuIHNldHRpbmcgJ2NvbHVtbnMnIGluIGEgc3RhcnR1cCBzY3JpcHQgYW5kIGRvaW5nICI6dmVydGljYWwgZGlmZnNwbGl0IgordGhlIHdpbmRvdyBpc24ndCByZWRyYXduIHByb3Blcmx5LCBzZWUgdHdvIHZlcnRpY2FsIGJhcnMuCisKK0dUSzogZmlsZSBjaG9zZXIgaXMgZGlzYWJsZWQuICBQYXRjaCBieSBUaW0gU3RhcmxpbmcsIDIwMDkgTm92IDEzLgogCiBUaGUgbWFnaWMgY2xpcGJvYXJkIGZvcm1hdCAiVmltQ2xpcGJvYXJkMiIgYXBwZWFycyBpbiBzZXZlcmFsIHBsYWNlcy4gIFNob3VsZAogYmUgb25seSBvbmUuCkBAIC02MTAsMTAgKzEwOTAsNiBAQAogU3ludGF4IEhMOiBXaGVuIHVzaW5nICJuZXh0Z3JvdXAiIGFuZCB0aGUgZ3JvdXAgaGFzIGFuIGVtcHR5IG1hdGNoLCB0aGVyZSBpcwogbm8gc2VhcmNoIGF0IHRoYXQgcG9zaXRpb24gZm9yIGFub3RoZXIgbWF0Y2guIChMdWthcyBNYWksIDIwMDggQXByaWwgMTEpCiAKLVNwZWxsIG1lbnU6IFdoZW4gdXNpbmcgdGhlIFBvcHVwIG1lbnUgdG8gc2VsZWN0IGEgcmVwbGFjZW1lbnQgd29yZCwKLSI6c3BlbGxyZXBlYXQiIGRvZXNuJ3Qgd29yay4gIFNwZWxsUmVwbGFjZSgpIHVzZXMgc2V0bGluZSgpLiAgQ2FuIGl0IHVzZSAiej0iCi1zb21laG93PyAgT3IgdXNlIGEgbmV3IGZ1bmN0aW9uLgotCiBJbiBndmltIHRoZSBiYWNrc3BhY2Uga2V5IHByb2R1Y2VzIGEgYmFja3NwYWNlIGNoYXJhY3RlciwgYnV0IG9uIExpbnV4IHRoZQogVkVSQVNFIGtleSBpcyBEZWxldGUuICBTZXQgVkVSQVNFIHRvIEJhY2tzcGFjZT8gKHBhdGNoIGJ5IFN0ZXBoYW5lIENoYXplbGFzLAogMjAwNyBPY3QgMTYpCkBAIC02MjgsMTcgKzExMDQsNTEgQEAKIAogQ3JlYXRlIGEgZ3ZpbXR1dG9yLjEgZmlsZSBhbmQgY2hhbmdlIE1ha2VmaWxlcyB0byBpbnN0YWxsIGl0LgogCitXaGVuICdlbmNvZGluZycgaXMgdXRmLTggdHlwaW5nIHRleHQgYXQgdGhlIGVuZCBvZiB0aGUgbGluZSBjYXVzZXMgcHJldmlvdXNseQordHlwZWQgY2hhcmFjdGVycyB0byBiZSByZWRyYXduLiAgQ2F1c2VkIGJ5IHBhdGNoIDcuMS4zMjkuIChUeWxlciBTcGl2ZXksIDIwMDgKK1NlcCAzLCAxMSkKKworV2hlbiBWaW0gaW4gYW4geHRlcm0gb3ducyB0aGUgc2VsZWN0aW9uIGFuZCB0aGUgdXNlciBkb2VzICI6c2hlbGwiIFZpbSBkb2Vzbid0CityZXNwb25kIHRvIHNlbGVjdGlvbiByZXF1ZXN0cy4gIEludm9raW5nIFh0RGlzb3duU2VsZWN0aW9uKCkgYmVmb3JlIGV4ZWN1dGluZwordGhlIHNoZWxsIGRvZXNuJ3QgaGVscC4gIFdvdWxkIHJlcXVpcmUgZm9ya2luZyBhbmQgZG9pbmcgYSBtZXNzYWdlIGxvb3AsIGxpa2UKK3doYXQgaGFwcGVucyBmb3IgdGhlIEdVSS4KKworWDExOiBQdXR0aW5nIG1vcmUgdGhhbiBhYm91dCAyNjIwNDAgY2hhcmFjdGVycyBvZiB0ZXh0IG9uIHRoZSBjbGlwYm9hcmQgYW5kCitwYXN0aW5nIGl0IGluIGFub3RoZXIgVmltIGRvZXNuJ3Qgd29yay4gIChEb21pbmlxdWUgUGVsbGUsIDIwMDggQXVnIDIxLTIzKQorY2xpcF94MTFfcmVxdWVzdF9zZWxlY3Rpb25fY2IoKSBpcyBjYWxsZWQgd2l0aCB6ZXJvIHZhbHVlIGFuZCBsZW5ndGguCitBbHNvOiBHZXQgYW4gZXJyb3IgbWVzc2FnZSBmcm9tIGZyZWUoKSBpbiB0aGUgcHJvY2VzcyB0aGF0IG93bnMgdGhlIHNlbGVjdGlvbi4KK1NlZW1zIHRvIGhhcHBlbiB3aGVuIHRoZSBzZWxlY3Rpb24gaXMgcmVxdWVzdGVkIHRoZSBzZWNvbmQgdGltZSwgYnV0IGJlZm9yZQorY2xpcF94MTFfY29udmVydF9zZWxlY3Rpb25fY2IoKSBpcyBpbnZva2VkLCB0aHVzIGluIFggbGlicmFyeSBjb2RlLgorCitBZGQgJ2xhenlzaXplJyBvcHRpb246IEFib3ZlIHRoaXMgc2l6ZSBWaW0gZG9lc24ndCBsb2FkIGV2ZXJ5dGhpbmcgYmVmb3JlCitzdGFydGluZyB0byBlZGl0IGEgZmlsZS4gIFRoaW5ncyBsaWtlICdmaWxlZW5jb2RpbmdzJyBvbmx5IHdvcmsgdXAgdG8gdGhpcworc2l6ZSwgbW9kZWxpbmVzIG9ubHkgd29yayBhdCB0aGUgdG9wLiAgVXNlZnVsIGZvciBsYXJnZSBsb2cgZmlsZXMgd2hlcmUgeW91Citvbmx5IHdhbnQgdG8gbG9vayBhdCB0aGUgZmlyc3QgZmV3IHBhZ2VzLiAgVXNlIHplcm8gdG8gZGlzYWJsZSBpdC4KKworIjp2aW1ncmVwIiBkb2VzIG5vdCByZWNvZ25pemUgYSByZWN1cnNpdmUgc3ltbGluay4gIElzIGl0IHBvc3NpYmxlIHRvIGRldGVjdAordGhpcywgYXQgbGVhc3QgZm9yIFVuaXggKHVzaW5nIGRldmljZS9pbm9kZSk/CisKK1doZW4gc3dpdGNoaW5nIGJldHdlZW4gd2luZG93cyB0aGUgY3Vyc29yIGlzIG9mdGVuIHB1dCBpbiB0aGUgbWlkZGxlLgorUmVtZW1iZXIgdGhlIHJlbGF0aXZlIHBvc2l0aW9uIGFuZCByZXN0b3JlIHRoYXQsIGp1c3QgbGlrZSBsbnVtIGFuZCBjb2wgYXJlCityZXN0b3JlZC4gKEx1YyBTdC1Mb3VpcykKKwogCiBWaW0gNy4zOgorLSAgIFVzZSBsYXRlc3QgYXV0b2NvbmYgKDMuNjQpCistICAgVXNlIE5TSVMgMi40NSwgaXQgaW5jbHVkZXMgV2luZG93cyA3IHN1cHBvcnQuCistICAgSW5jbHVkZSBhbGwgZmlsZXMgaW4gZGlzdHJvLCBubyAiZXh0cmEiIGFuZCAibGFuZyIgcGFja2FnZS4KKy0gICBDcmVhdGUgTWVyY3VyaWFsIHJlcG9zaXRvcnkuCistICAgRWFzaWVyL3N0YW5kYXJkIHdheSB0byBkaXNhYmxlIGRlZmF1bHQgcGx1Z2lucy4KIC0gICBBZGQgcGF0Y2ggZm9yICdyZWxhdGl2ZW51bWJlcicgb3B0aW9uPyAgTWFya3VzIEhlaWRlbGJlcmcsIDIwMDggSnVuIDI3LgogLSAgIEFkZCBibG93ZmlzaCBlbmNyeXB0aW9uLiAgT3BlbnNzbCBoYXMgYW4gaW1wbGVtZW50YXRpb24uICBBbHNvIGJ5IFBhdWwKICAgICBLb2NoZXIgKExHUEwpLCBjbG9zZSB0byBvcmlnaW5hbC4gIE1vaHNpbiBhbHNvIGhhcyBzb21lIGlkZWFzLgogICAgIFRha2UgZm91ciBieXRlcyBhbmQgdHVybiB0aGVtIGludG8gdW5zaWduZWQgdG8gYXZvaWQgYnl0ZS1vcmRlciBwcm9ibGVtcy4KICAgICBOZWVkIHRvIGJ1ZmZlciB1cCB0byA3IGJ5dGVzIHRvIGFsaWduIG9uIDggYnl0ZSBib3VuZGFyaWVzLgotLSAgICI6e3JhbmdlfXNvdXJjZSI6IHNvdXJjZSB0aGUgbGluZXMgZnJvbSB0aGUgZmlsZS4KKy0gICAiOntyYW5nZX1zb3VyY2UiOiBzb3VyY2UgdGhlIGxpbmVzIGZyb20gdGhlIGN1cnJlbnQgZmlsZS4KIAlZb3UgY2FuIGFscmVhZHkgeWFuayBsaW5lcyBhbmQgdXNlIDpAIiB0byBleGVjdXRlIHRoZW0uCiAJTW9zdCBvZiBkb19zb3VyY2UoKSB3b3VsZCBub3QgYmUgdXNlZCwgbmVlZCBhIG5ldyBmdW5jdGlvbi4KIAlJdCdzIGVhc3kgd2hlbiBub3QgZG9pbmcgYnJlYWtwb2ludHMgb3IgcHJvZmlsaW5nLgorLSBQYXRjaCBmb3IgTGlzcCBzdXBwb3J0IHdpdGggRUNMIChNaWthZWwgSmFuc3NvbiwgMjAwOCBPY3QgMjUpCiAKIAogTW9yZSBwYXRjaGVzOgpAQCAtNjY5LDYgKzExNzksMTAgQEAKICAgICB2aW10dXRvci52aW0uIChKYW4gTWluYXIsIDIwMDggSnVsIDIwKQogLSAgIFdoZW4gZnN5bmMoKSBmYWlscyB0aGVyZSBpcyBubyBoaW50IGFib3V0IHdoYXQgd2VudCB3cm9uZy4gIFBhdGNoIGJ5IEJlbgogICAgIFNjaG1pZHQsIDIwMDggSnVsIDIyLgorLSAgIHRlc3RkaXIvTWFrZV9kb3Nfc2gubWFrIGZvciBydW5uaW5nIHRlc3RzIHdpdGggTWluZ1cuIChCaWxsIE1jY2FydGh5LCAyMDA4CisgICAgU2VwIDEzKQorLSAgIFBhdGNoIGZvciBhZGRpbmcgInNwYWNlIiBpdGVtIGluICdsaXN0Y2hhcnMnLiAoSsOpcsOpbWllIFJvcXVldCwgMjAwOSBPY3QgMjksCisgICAgRG9jcyBwYXRjaCBPY3QgMzApCiAKIAogQXdhaXRpbmcgdXBkYXRlZCBwYXRjaGVzOgpAQCAtNjkzLDYgKzEyMDcsNyBAQAogICAgIEhvdyBkb2VzIHRoaXMgd29yaz8gIE1pc3NpbmcgY29tbWVudHMuCiAtICAgUGF0Y2ggZm9yICdicmVha2luZGVudCcgb3B0aW9uOiByZXBlYXQgaW5kZW50IGZvciB3cmFwcGVkIGxpbmUuIChWYWNsYXYKICAgICBTbWlsYXVlciwgMjAwNCBTZXAgMTMsIGZpeCBPY3QgMzEsIHVwZGF0ZSAyMDA3IE1heSAzMCkKKyAgICBWZXJzaW9uIGZvciBsYXRlc3QgTWFjVmltOiBUb2JpYSBDb25mb3J0bywgMjAwOSBOb3YgMjMKIDggICBBZGQgYSBmZXcgbW9yZSBjb21tYW5kIG5hbWVzIHRvIHRoZSBtZW51cy4gIFBhdGNoIGZyb20gSmlyaSBCcmV6aW5hCiAgICAgKDI4IGZlYiAyMDAyKS4gIFdpbGwgbWVzcyB0aGUgdHJhbnNsYXRpb25zLi4uCiA3ICAgQVRURU5USU9OIGRpYWxvZyBjaG9pY2VzIGFyZSBtb3JlIGxvZ2ljYWwgd2hlbiAiRGVsZXRlIGl0JyBhcHBlYXJzCkBAIC0xMjIwLDggKzE3MzUsNiBAQAogOCAgICI6Z3VpIiBkb2Vzbid0IGZvcmsuICBFbmFibGluZyB0aGUgY29kZSBpbiBndWkuYyB0byBmb3JrIGNhdXNlcyBhIFNFR1YuCiA4ICAgRGVmaW5lIHZpbV9ta2RpcigpIGZvciBNYWNpbnRvc2guCiA4ICAgRGVmaW5lIG1jaF93cml0YWJsZSgpIGZvciBNYWNpbnRvc2guCi04ICAgU29tZSBmaWxlIHN5c3RlbXMgYXJlIGNhc2Utc2Vuc2l0aXZlLCBzb21lIGFyZSBub3QuICBUdXJuCi0gICAgQ0FTRV9JTlNFTlNJVElWRV9GSUxFTkFNRSBpbnRvIGFuIG9wdGlvbiwgYXQgbGVhc3QgZm9yIGNvbXBsZXRpb24uCiA5ICAgV2hlbiBEaXNrTG9jayBpcyBydW5uaW5nLCB1c2luZyBhIHN3YXAgZmlsZSBjYXVzZXMgYSBjcmFzaC4gIEFwcGVhcnMgdG8gYmUKICAgICBhIHByb2JsZW0gd2l0aCB3cml0aW5nIGEgZmlsZSB0aGF0IHN0YXJ0cyB3aXRoIGEgZG90LiAoR2lhY2Fsb25lKQogOSAgIE9uIEczIE1hYywgT1MgdmVyc2lvbiA4LCBjb250cm9sIHN0cmlwIGNhdXNlcyBjaGFyYWN0ZXJzIG1lc3NlZCB1cCB3aGVuCkBAIC0xMjM4LDYgKzE3NTEsMTMgQEAKICAgICBDVFJMLVEuICBBZGQgYW4gb3B0aW9uIGZvciBpdD8KIC0gICBXaGVuIHVzaW5nIGVfc2VjdXJlIGluIGRvX29uZV9jbWQoKSBtZW50aW9uIHRoZSBjb21tYW5kIGJlaW5nIGV4ZWN1dGVkLAogICAgIG90aGVyd2lzZSBpdCdzIG5vdCBjbGVhciB3aGVyZSBpdCBjb21lcyBmcm9tLgorLSAgIFdoZW4gdGhlIHF1aWNrZml4IHdpbmRvdyBpcyBvcGVuIGFuZCBleGVjdXRpbmcgIjplY2hvICdoZWxsbyciIHVzaW5nIHRoZQorICAgIENvbW1hbmQtbGluZSB3aW5kb3csIHRoZSB0ZXh0IGlzIGltbWVkaWF0ZWx5IHJlbW92ZWQgYnkgdGhlIHJlZHJhd2luZy4KKyAgICAoTWljaGFlbCBIZW5yeSwgMjAwOCBOb3YgMSkKKyAgICBHZW5lcmljIHNvbHV0aW9uOiBXaGVuIHJlZHJhd2luZyB3aGlsZSB0aGVyZSBpcyBhIG1lc3NhZ2Ugb24gdGhlCisgICAgY21kbGluZSwgZG9uJ3QgZXJhc2UgdGhlIGRpc3BsYXkgYnV0IGRyYXcgb3ZlciB0aGUgZXhpc3RpbmcgdGV4dC4KKyAgICBPdGhlciBzb2x1dGlvbiwgcmVkcmF3IGFmdGVyIGNsb3NpbmcgdGhlIGNtZGxpbmUgd2luZG93LCBiZWZvcmUgZXhlY3V0aW5nCisgICAgdGhlIGNvbW1hbmQuCiA5ICAgRm9yIFR1cmtpc2ggdmltX3RvbG93ZXIoKSBhbmQgdmltX3RvdXBwZXIoKSBhbHNvIG5lZWQgdG8gdXNlIHV0Zl8KICAgICBmdW5jdGlvbnMgZm9yIGNoYXJhY3RlcnMgYmVsb3cgMHg4MC4gKFNlcnRhY3lpbGRpeikKIDkgICBXaGVuIHRoZSBsYXN0IGVkaXRlZCBmaWxlIGlzIGEgaGVscCBmaWxlLCB1c2luZyAnMCBpbiBhIG5ldyBWaW0gZG9lc24ndApAQCAtMTM4Myw4ICsxOTAzLDYgQEAKIDggICBXaXRoICd2aXJ0dWFsZWRpdCcgc2V0IGFuZCAnc2VsZWN0aW9uJyAiZXhjbHVzaXZlIiwgYSBWaXN1YWwgc2VsZWN0aW9uCiAgICAgdGhhdCBlbmRzIGluIG9yIGFmdGVyIGEgdGFiLCAiZCIgZG9lc24ndCBkZWxldGUgKHBhcnQgb2YpIHRoZSB0YWIuCiAgICAgKEhlbG11dCBTdGllZ2xlcikKLTggICBXaXRoICd2aXJ0dWFsZWRpdCcgc2V0LCBhIGJsb2Nrd2lzZSBWaXN1YWwgc2VsZWN0aW9uIHRoYXQgc3RhcnRzIGFuZCBlbmRzCi0gICAgaW4gYSB0YWIsICI8IiBzaGlmdHMgdG9vIG11Y2guIChIZWxtdXQgU3RpZWdsZXIpCiA5ICAgV2hlbiBqdW1waW5nIHRvIGEgdGFnLCB0aGUgc2VhcmNoIHBhdHRlcm4gaXMgcHV0IGluIHRoZSBoaXN0b3J5LiAgV2hlbgogICAgICdtYWdpYycgaXMgb24sIHRoZSBwYXR0ZXJuIG1heSBub3Qgd29yay4gIFRyYW5zbGF0ZSB0aGUgcGF0dGVybiBkZXBlbmRpbmcKICAgICBvbiBwX21hZ2ljIHdoZW4gcHV0dGluZyBpdCBpbiB0aGUgaGlzdG9yeT8gIEFsdGVybmF0aXZlOiBTdG9yZSB2YWx1ZSBvZgpAQCAtMTYxNSw3ICsyMTMzLDEyIEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gIGV4dGVuc2lvbnMgYW5kIGltcHJvdmVtZW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAJCQkJCQkgICAgKmV4dGVuc2lvbnMtaW1wcm92ZW1lbnRzKgogCi1EaWRuJ3QgbWFrZSBpdCBpbnRvIFZpbSA3LjA6CitNb3N0IGludGVyZXN0aW5nIG5ldyBmZWF0dXJlcyB0byBiZSBhZGRlZCB3aGVuIGFsbCBidWdzIGhhdmUgYmVlbiBmaXhlZDoKKy0gICBVc2luZyAiOmV4ZSBlZGl0IGZuYW1lIiBoYXMgZXNjYXBpbmcgcHJvYmxlbXMuICBVc2UgIjplZGl0ICsrKGZuYW1lKSIuCisgICAgVGh1cyB1c2UgIisrPSIgdG8gZ2l2ZSBhcmd1bWVudHMgYXMgZXhwcmVzc2lvbnMsIGNvbW1hIHNlcGFyYXRlZCBhcyBpZgorICAgIGNhbGxpbmcgYSBmdW5jdGlvbi4KKyAgICBXaXRoIG9wdGlvbnM6ICI6ZWRpdCArKyhbJyEnLCAnKytlbmM9YWJjJ10sIFsnKy9wYXQnXSwgZm5hbWUpIi4KKyAgICBBbHRlcm5hdGl2ZTogTWFrZSBhIGZ1bmN0aW9uIGZvciBFeCBjb21tYW5kczogY21kX2VkaXQoKS4KIC0gICBBZGQgQ09MVU1OIE5VTUJFUlMgdG8gIjoiIGNvbW1hbmRzICI6bGluZTEsbGluZTJbY29sMSxjb2wyXWNtZCIuICBCbG9jawogICAgIGNhbiBiZSBzZWxlY3RlZCB3aXRoIENUUkwtVi4gIEFsbG93ICckJyAoZW5kIG9mIGxpbmUpIGZvciBjb2wyLgogLSAgIEFkZCBERUJVR0dFUiBJTlRFUkZBQ0UuICBJbXBsZW1lbnRhdGlvbiBmb3IgZ2RiIGJ5IFhhdmllciBkZSBHYXllLgpAQCAtMTY0MCwxMCArMjE2MywxMyBAQAogLSAgIFNUSUNLWSBDVVJTT1I6IEFkZCBhIHdheSBvZiBzY3JvbGxpbmcgdGhhdCBsZWF2ZXMgdGhlIGN1cnNvciB3aGVyZSBpdCBpcy4KICAgICBFc3BlY2lhbGx5IHdoZW4gdXNpbmcgdGhlIHNjcm9sbGJhci4gIFR5cGluZyBhIGN1cnNvci1tb3ZlbWVudCBjb21tYW5kCiAgICAgc2Nyb2xscyBiYWNrIHRvIHdoZXJlIHRoZSBjdXJzb3IgaXMuCistICAgU2Nyb2xsIGNvbW1hbmRzIGJ5IHNjcmVlbiBsaW5lLiBnIENUUkwtRSBhbmQgZyBDVFJMLVkgPyAgUmVxdWlyZXMgdGhlCisgICAgZmlyc3QgbGluZSB0byBiZSBhYmxlIHRvIHN0YXJ0IGhhbGZ3YXkuCiAtICAgUnVubmluZyBhIHNoZWxsIGNvbW1hbmQgZnJvbSB0aGUgR1VJIHN0aWxsIGhhcyBsaW1pdGF0aW9ucy4gIExvb2sgaW50byBob3cKICAgICB0aGUgdGVybWluYWwgZW11bGF0b3Igb2YgdGhlIFZpbSBzaGVsbCBwcm9qZWN0IGNhbiBoZWxwOgogICAgIGh0dHA6Ly92aW1zaGVsbC53YW5hLmF0Ci0tICAgQWRkIEx1YSBpbnRlcmZhY2U/IChXb2xmZ2FuZyBPZXJ0bCkKKy0gICBBZGQgTHVhIGludGVyZmFjZT8gKFdvbGZnYW5nIE9lcnRsKSBwYXRjaCBieSBMdWlzIENhcnZhbGhvLCAyMDA4IFNlcCA1CisJUGF0Y2ggZm9yIE1ha2VfbWluZy5tYWsgZnJvbSBQYXVsIE1vb3JlICgyMDA4IFNlcCAxKQogOCAgIEFkZCBhIGNvbW1hbmQgdG8ganVtcCB0byBhIGNlcnRhaW4ga2luZCBvZiB0YWcuICBBbGxvdyB0aGUgdXNlciB0byBzcGVjaWZ5CiAgICAgdmFsdWVzIGZvciB0aGUgb3B0aW9uYWwgZmllbGRzLiAgRS5nLiwgIjp0YWcgc2l6ZSB0eXBlPW0iLgogICAgIEFsc28gYWxsb3cgc3BlY2lmeWluZyB0aGUgZmlsZSBhbmQgY29tbWFuZCwgc28gdGhhdCB0aGUgcmVzdWx0IG9mCkBAIC0xNzM5LDggKzIyNjUsNiBAQAogOSAgIEdVSSBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIHRhYiBwYWdlcyBsaW5lIGZvciBvdGhlciBzeXN0ZW1zLgogNyAgIEdVSTogQ29udHJvbCBvdmVyIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSB0ZXh0IGluIHRoZSBsYWJlbHMgKGJvbGQsIGNvbG9yLAogICAgIGZvbnQsIGV0Yy4pCi05ICAgTWFrZSBpdCBwb3NzaWJsZSB0byBkcmFnIGEgdGFiIHBhZ2UgbGFiZWwgdG8gYW5vdGhlciBwb3NpdGlvbiB3aXRoIHRoZQotICAgIG1vdXNlLgogOCAgIE1ha2UgR1VJIG1lbnUgaW4gdGFiIHBhZ2VzIGxpbmUgY29uZmlndXJhYmxlLiAgTGlrZSB0aGUgcG9wdXAgbWVudS4KIDggICBiYWxsb29ucyBmb3IgdGhlIHRhYiBwYWdlIGxhYmVscyB0aGF0IGFyZSBzaG9ydGVuZWQgdG8gc2hvdyB0aGUgZnVsbCBwYXRoLgogOCAgIDp0YWJtb3ZlICtOCSBtb3ZlIHRhYiBwYWdlIE4gcGFnZXMgZm9yd2FyZApAQCAtMTc5MCw3ICsyMzE0LDYgQEAKICAgICBpbXBsZW1lbnQgQ0hFQ0tDT01QT1VORFRSSVBMRQogICAgIEFkZCBDSEVDS0NPTVBPVU5EQ0FTRTogd2hlbiBjb21wb3VuZGluZyBtYWtlIGxlYWRpbmcgY2FwaXRhbCBsb3dlciBjYXNlLgogICAgIEhvdyBpcyBpdCBzdXBwb3NlZCB0byB3b3JrPwotOCAgIGltcGxlbWVudCB1c2luZyBDSEVDS0NPTVBPVU5EUEFUVEVSTjogbWF0Y2ggd29yZHMgd2l0aCBzbF9jb21wcGF0W10uCiAtICAgQWRkIGEgY29tbWFuZCB0aGUgcmVwZWF0cyBdcyBhbmQgej0sIHNob3dpbmcgdGhlIG1pc3NwZWxsZWQgd29yZCBpbiBpdHMKICAgICBjb250ZXh0LiAgVGh1cyB0byBzcGVsbC1jaGVjayBhIHdob2xlIGZpbGUuCiAtICAgc3VnZ2VzdGlvbiBmb3IgIktHIiB0byAia2ciIHdoZW4gaXQncyBrZWVwY2FzZS4KQEAgLTE4MTMsOCArMjMzNiw2IEBACiAgICAgLSBQU0VVRE9ST09UID09IE5FRURBRkZJWAogICAgIC0gQ09NUE9VTkRST09UIC0+IENPTVBPVU5ERUQ/ICBGb3IgYSB3b3JkIHRoYXQgYWxyZWFkeSBpcyBhIGNvbXBvdW5kIHdvcmQKIAkgICAgT3IgdXNlIENPTVBPVU5ERUQyLCBDT01QT1VOREVEMywgZXRjLgotOCAgIEFsdGVybmF0ZSBEdXRjaCB3b3JkIGxpc3QgYXQgd3d3Lm5lZGVybGFuZHNld29vcmRlbi5ubCAodXNlIHNjcmlwdCB0bwotICAgIG9idGFpbikuICBCdXQgbmV3IE15c3BlbGwgd29yZGxpc3Qgd2lsbCBjb21lIChIYWdlbikKIC0gICBDSVJDVU1GSVg6IHdoZW4gYSB3b3JkIHVzZXMgYSBwcmVmaXggbWFya2VkIHdpdGggdGhlIENJUkNVTUZJWCBmbGFnLCB0aGVuCiAgICAgdGhlIHdvcmQgbXVzdCBhbHNvIGhhdmUgYSBzdWZmaXggbWFya2VkIHdpdGggdGhlIENJUkNVTUZJWCBmbGFnLiAgSXQncyBhCiAgICAgYml0IHByaW1pdGl2ZSwgc2luY2Ugb25seSBvbmUgZmxhZyBpcyB1c2VkLCB3aGljaCBkb2Vzbid0IGFsbG93IG1hdGNoaW5nCkBAIC0xODc0LDggKzIzOTUsNiBAQAogOCAgIEFkZCAiei8iIGFuZCAiej8iIGZvciBzZWFyY2hpbmcgaW4gbm90IGZvbGRlZCB0ZXh0IG9ubHkuCiA5ICAgQWRkIHNlYXJjaCBwYXR0ZXJuIGl0ZW0gdG8gb25seSBtYXRjaCBpbiBjbG9zZWQgb3Igb3BlbiBmb2xkIGFuZC9vciBmb2xkCiAgICAgd2l0aCBjZXJ0YWluIGxldmVsLiAgQWxsb3dzIGRvaW5nICI6Zy9wYXQvY21kIiB0byB3b3JrIG9uIGNsb3NlZCBmb2xkcy4KLTggICBBZGQgZGlmZmVyZW50IGhpZ2hsaWdodGluZyBmb3IgYSBmb2xkIGxpbmUgZGVwZW5kaW5nIG9uIHRoZSBmb2xkIGxldmVsLgotICAgIChOb2VsIEhlbnNvbikKIDcgICBVc2UgIisrLS0iLCAiKysrLS0iIGZvciBkaWZmZXJlbnQgbGV2ZWxzIGluc3RlYWQgb2YgIistLS0iICIrLS0tLSIuCiA4ICAgV2hlbiBhIGNsb3NlZCBmb2xkIGlzIGRpc3BsYXllZCBvcGVuIGJlY2F1c2Ugb2YgJ2ZvbGRtaW5saW5lcycsIHRoZQogICAgIGJlaGF2aW9yIG9mIGNvbW1hbmRzIGlzIHN0aWxsIGxpa2UgdGhlIGZvbGQgaXMgY2xvc2VkLiAgSG93IHRvIG1ha2UgdGhlCkBAIC0xOTg0LDE0ICsyNTAzLDEwIEBACiAgICAgU3VwcG9ydCBDVFJMLUsgX3ttbmVtb25pY31fCiA3ICAgSW4gIi0tIElOU0VSVCAobGFuZykgLS0iIHNob3cgdGhlIG5hbWUgb2YgdGhlIGtleW1hcCB1c2VkIGluc3RlYWQgb2YKICAgICAibGFuZyIuIChJbHlhIERvZ29sYXpreSkKLS0gICBNYWtlICdsYW5nbWFwJyBhY2NlcHQgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzLgotCVBhdGNoIGZyb20gS29uc3RhbnRpbiBLb3Jpa292LCAyMDA2IE9jdCAxNS4KIC0gICBNYWtlICdicmVha2F0JyBhY2NlcHQgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzLiAgUHJvYmxlbTogY2FuJ3QgdXNlIGEgbG9va3VwCiAgICAgdGFibGUgYW55bW9yZSAoYnJlYWthdF9mbGFnc1tdKS4KICAgICBTaW1wbGlzdGljIHNvbHV0aW9uOiB3aGVuICdmb3JtYXRvcHRpb25zJyBjb250YWlucyAibSIgYWxzbyBicmVhayBhIGxpbmUKICAgICBhdCBhIG11bHRpLWJ5dGUgY2hhcmFjdGVyID49IDB4MTAwLgotLSAgIERvIHdlIG5lZWQgdGhlIHJldmVyc2Ugb2YgJ2tleW1hcCcsIGxpa2UgJ2xhbmdtYXAnIGJ1dCB3aXRoIGZpbGVzIGFuZAotICAgIG11bHRpLWJ5dGUgY2hhcmFjdGVycz8gIEUuZy4sIHdoZW4gdXNpbmcgYSBSdXNzaWFuIGtleWJvYXJkLgogLSAgIEFkZCB0aGUgcG9zc2liaWxpdHkgdG8gZW50ZXIgbWFwcGluZ3Mgd2hpY2ggYXJlIHVzZWQgd2hlbmV2ZXIgbm9ybWFsIHRleHQKICAgICBjb3VsZCBiZSBlbnRlcmVkLiAgRS5nLiwgZm9yICJmIiBjb21tYW5kLiAgQnV0IG5vdCBpbiBOb3JtYWwgbW9kZS4gIFNvcnQKICAgICBvZiBvcHBvc2l0ZSBvZiAnbGFuZ21hcCcuICBVc2UgIjp0bWFwIiBjb21tYW5kPwpAQCAtMjEzMiw3ICsyNjQ3LDYgQEAKICAgICB3b3Jkcy4KIDggICBBZGQgbW9yZSBjb21tYW5kIGxpbmUgY29tcGxldGlvbiBmb3IgOnN5bnRheC4KIDggICBBZGQgbW9yZSBjb21tYW5kIGxpbmUgY29tcGxldGlvbiBmb3IgOmhpZ2hsaWdodC4KLTggICBBZGQgbW9yZSBjb21tYW5kIGxpbmUgY29tcGxldGlvbiBmb3IgOnNpZ24uCiA3ICAgU2hvdWxkIGZpbmQgYSBiZXR0ZXIgd2F5IHRvIHBhcnNlIHRoZSA6c3ludGF4IGFuZCA6aGlnaGxpZ2h0IGNvbW1hbmRzLgogICAgIFVzZSB0YWJsZXMgb3IgbGlzdHMgdGhhdCBjYW4gYmUgc2hhcmVkIGJ5IHBhcnNpbmcgZm9yIGV4ZWN1dGlvbiBhbmQKICAgICBjb21wbGV0aW9uPwpAQCAtMjI3Niw2ICsyNzkwLDcgQEAKICAgICBvcHRpb24gb3IgZW52aXJvbm1lbnQgdmFyaWFibGUuCiA4ICAgIjpsZXQgJm9wdGlvbiIgc2hvdWxkIGxpc3QgdGhlIHZhbHVlIG9mIHRoZSBvcHRpb24uCiA4ICAgIjpsZXQgRnVuYygpLmZvbyA9IHZhbHVlIiBzaG91bGQgd29yaywgYWxzbyB3aGVuICJmb28iIGRvZXNuJ3QgZXhpc3QuCisgICAgQWxzbzogIjpsZXQgRnVuYygpW2Zvb10gPSB2YWx1ZSIgc2hvdWxkIHdvcmsuICBTYW1lIGZvciBhIExpc3QuCiA3ICAgQWRkIHN5bklEbGlzdCgpLCBtYWtpbmcgdGhlIHdob2xlIGxpc3Qgb2Ygc3ludGF4IGl0ZW1zIG9uIHRoZSBzeW50YXggc3RhY2sKICAgICBhdmFpbGFibGUgYXMgYSBMaXN0LgogOCAgIEFkZCBhdXRvY29tbWFuZC1ldmVudCBmb3Igd2hlbiBhIHZhcmlhYmxlIGlzIGNoYW5nZWQ6CkBAIC0yMzI4LDggKzI4NDMsNiBAQAogICAgIHdoZW4gc3RhcnRpbmcgdXAgaW4gYSBjb2xvciB0ZXJtaW5hbC4KIDggICBBdm9pZCBhbGxvYygpIGZvciBzY3JhdGNoIGJ1ZmZlciB1c2UsIGVzcC4gaW4gc3ludGF4LmMuICBJdCdzIHZlcnkgc2xvdyBvbgogICAgIFdpbjE2LgotOSAgIFNldHRpbmcgR1VJIG9wdGlvbnMgaW4gdGhlIGNvbnNvbGUgKGUuZy4sICdndWlmb250Jykgc2hvdWxkIG5vdCBjYXVzZSBhCi0gICAgcmVkcmF3LgogOCAgIFByb2ZpbGluZyBzaG93cyB0aGF0IGluX2lkX2xpc3QoKSBpcyB1c2VkIHZlcnkgb2Z0ZW4gZm9yIEMgY29kZS4gIENhbiB0aGlzCiAgICAgZnVuY3Rpb24gYmUgaW1wcm92ZWQ/CiA4ICAgRm9yIGFuIGV4aXN0aW5nIGZpbGUsIHRoZSBwYWdlIHNpemUgb2YgdGhlIHN3YXAgZmlsZSBpcyBhbHdheXMgdGhlCkBAIC0yNTQxLDYgKzMwNTQsOSBAQAogOCAgIFVzZSBhIG1lY2hhbmlzbSBzaW1pbGFyIHRvIG9tbmkgY29tcGxldGlvbiB0byBmaWd1cmUgb3V0IHRoZSBraW5kIG9mIHRhYgogICAgIGZvciBDVFJMLV0gYW5kIGp1bXAgdG8gdGhlIGFwcHJvcHJpYXRlIG1hdGNoaW5nIHRhZyAoaWYgdGhlcmUgYXJlCiAgICAgc2V2ZXJhbCkuCisgICAgQWx0ZXJuYXRpdmU6IGJlIGFibGUgdG8gZGVmaW5lIGEgZnVuY3Rpb24gdGhhdCB0YWtlcyB0aGUgdGFnIG5hbWUgYW5kIHVzZXMKKyAgICB0YWdsaXN0KCkgdG8gZmluZCB0aGUgcmlnaHQgbG9jYXRpb24uICBXaXRoIGluZGljYXRpb24gb2YgdXNpbmcgQ1RSTC1dIHNvCisgICAgdGhhdCB0aGUgY29udGV4dCBjYW4gYmUgdGFrZW4gaW50byBhY2NvdW50LiAoUm9iZXJ0IFdlYmIpCiA3ICAgQ2FuIENUUkwtXSAoanVtcCB0byB0YWcpIGluY2x1ZGUgYSBmb2xsb3dpbmcgIi4iIGFuZCAiLT4iIHRvIHJlc3RyaWN0IHRoZQogICAgIG51bWJlciBvZiBwb3NzaWJsZSBtYXRjaGVzPyBDaGVjayB0YWdzIGZpbGUgZm9yIGFuIGl0ZW0gdGhhdCBoYXMgbWVtYmVycy4KICAgICAoRmxlbW1pbmcgTWFkc2VuKQpAQCAtMjcwMCw2ICszMjE2LDEyIEBACiAKIEF1dG9jb21tYW5kczoKIC0gICBQdXQgYXV0b2NvbW1hbmQgZXZlbnQgbmFtZXMgaW4gYSBoYXNodGFibGUgZm9yIGZhc3RlciBsb29rdXA/Cis4ICAgV2hlbiB0aGUgU3dhcEV4aXN0cyBldmVudCBpcyB0cmlnZ2VyZWQsIHByb3ZpZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlCisgICAgc3dhcCBmaWxlLCBlLmcuLCB3aGV0aGVyIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmcsIGZpbGUgd2FzIG1vZGlmaWVkLCBldGMuCisgICAgTXVzdCBiZSBwb3NzaWJsZSB0byBjaGVjayB0aGUgc2l0dWF0aW9uIHRoYXQgaXQncyBwcm9iYWJseSBPSyB0byBkZWxldGUKKyAgICB0aGUgc3dhcCBmaWxlLiAoTWFyYyBNZXJsaW4pCis4ICAgV2hlbiBhbGwgdGhlIHBhdHRlcm5zIGZvciBhbiBldmVudCBhcmUgIioiIHRoZXJlIGlzIG5vIG5lZWQgdG8gZXhwYW5kCisgICAgYnVmZmVyIG5hbWVzIHRvIGEgZnVsbCBwYXRoLiAgVGhpcyBjYW4gYmUgc2xvdyBmb3IgTkZTLgogNyAgIEZvciBhdXRvY29tbWFuZCBldmVudHMgdGhhdCB0cmlnZ2VyIG11bHRpcGxlIHRpbWVzIHBlciBidWZmZXIgKGUuZy4sCiAgICAgQ3Vyc29ySG9sZCksIGdvIHRocm91Z2ggdGhlIGxpc3Qgb25jZSBhbmQgY2FjaGUgdGhlIHJlc3VsdCBmb3IgYSBzcGVjaWZpYwogICAgIGJ1ZmZlci4gIEludmFsaWRhdGUgdGhlIGNhY2hlIHdoZW4gYWRkaW5nL2RlbGV0aW5nIGF1dG9jb21tYW5kcyBvcgpAQCAtMjc4Miw3ICszMzA0LDcgQEAKICAgICBXaW5DbG9zZQkgICAgLSBKdXN0IGJlZm9yZSBjbG9zaW5nIGEgd2luZG93CiAtICAgV3JpdGUgdGhlIGZpbGUgbm93IGFuZCB0aGVuICgnYXV0b3NhdmUnKToKIAkJCQkgIConYXV0b3NhdmUnKiAqJ2FzJyogKidub2F1dG9zYXZlJyogKidub2FzJyoKLSAgICAnYXV0b3NhdmUnICdhdycgbnVtYmVyICAoZGVmYXVsdCAwKQorICAgICdhdXRvc2F2ZScgJ2FzJyBudW1iZXIgIChkZWZhdWx0IDApCiAJICAgIEF1dG9tYXRpY2FsbHkgd3JpdGUgdGhlIGN1cnJlbnQgYnVmZmVyIHRvIGZpbGUgTiBzZWNvbmRzIGFmdGVyIHRoZQogCSAgICBsYXN0IGNoYW5nZSBoYXMgYmVlbiBtYWRlIGFuZCB3aGVuIHwnbW9kaWZpZWQnfCBpcyBzdGlsbCBzZXQuCiAJICAgIERlZmF1bHQ6IDAgPSBkbyBub3QgYXV0b3NhdmUgdGhlIGJ1ZmZlci4KQEAgLTI5MzEsNyArMzQ1Myw2IEBACiAtICAgRm9yICd3aWxkbWVudSc6IFNpbXBsaWZ5ICIuLi9iYXIiIHdoZW4gcG9zc2libGUuCiAtICAgV2hlbiB1c2luZyA8VXA+IGluIHdpbGRtZW51IG1vZGUgZm9yIGEgc3VibWVudSwgc2hvdWxkIGdvIGJhY2sgdG8gdGhlCiAgICAgY3VycmVudCBtZW51LCBub3QgdGhlIGZpcnN0IG9uZS4gIEUuZy4sICI6ZW1lbnUgRmlsZS5TYXZlPFVwPiIuCi04ICAgRm9yICI6ZmluZCIgYW5kICI6c2ZpbmQiIGV4cGFuZCBmaWxlcyBmb3VuZCBpbiAncGF0aCcuCiA4ICAgV2hlbiB1c2luZyBiYWNrdGljayBleHBhbnNpb24sIHRoZSBleHRlcm5hbCBjb21tYW5kIG1heSB3cml0ZSBhIGdyZWV0aW5nCiAgICAgbWVzc2FnZS4gIEFkZCBhbiBvcHRpb24gb3IgY29tbWFuZHMgdG8gcmVtb3ZlIGxpbmVzIHRoYXQgbWF0Y2ggYSByZWdleHA/CiA3ICAgV2hlbiBsaXN0aW5nIG1hdGNoZXMgb2YgZmlsZXMsIGRpc3BsYXkgdGhlIGNvbW1vbiBwYXRoIHNlcGFyYXRlbHkgZnJvbSB0aGUKQEAgLTI5OTksNiArMzUyMCw4IEBACiAgICAgICAgIGNvdXQgPDwgImEiCiAgICAgICAgICAgICAgICAgPDwgIikgOiIKICAgICAgICAgICAgICAgICA8PCAieSI7Cis5ICAgIn0gZWxzZSIgY2F1c2VzIGZvbGxvd2luZyBsaW5lcyB0byBiZSBpbmRlbnRlZCB0b28gbXVjaC4gKFJvdWJlbgorICAgIFJvc3RhbWlhbiwgMjAwOCBBdWcgMzApCiA4ICAgTGlzcCBpbmRlbnRpbmc6ICJcXCIgY29uZnVzZXMgdGhlIGluZGVudGVyLiAoRG9yYWkgU2l0YXJhbSwgMjAwNiBNYXkgMTcpCiA4ICAgV2h5IGFyZSBjb250aW51YXRpb24gbGluZXMgb3V0c2lkZSBvZiBhIHt9IGJsb2NrIG5vdCBpbmRlbnRlZD8gIEUuZy46CiAJbG9uZ190eXBlIGZvbyA9CkBAIC0zMDEzLDYgKzM1MzYsMTMgQEAKIAkJCSAgICAiYXNkZiIKIAkJCX0KIAkJICAgICk7Cis4ICAgSW4gQysrIGEgZnVuY3Rpb24gaXNuJ3QgcmVjb2duaXplZCBpbnNpZGUgYSBuYW1lc3BhY2U6CisgICAgKENob3cgTG9vbmcgSmluKQorCW5hbWVzcGFjZSB7CisJICAgIGludAorCQkgZnVuYyhpbnQgYXJnKSB7CisJCSB9CisJfQogNiAgIEFkZCAnY2lubycgZmxhZyBmb3IgdGhpcyBmdW5jdGlvbiBhcmd1bWVudCBsYXlvdXQ6IChTcGVuY2VyIENvbGx5ZXIpCiAJICAgIGZ1bmMoIGFyZzEKIAkgICAgICAgICwgYXJnMgpAQCAtMzA5OSw4ICszNjI5LDYgQEAKIAogVmlydHVhbCBlZGl0OgogOCAgIE1ha2UgdGhlIGhvcml6b250YWwgc2Nyb2xsYmFyIHdvcmsgdG8gbW92ZSB0aGUgdGV4dCBmdXJ0aGVyIGxlZnQuCi03ICAgQWRkIGEgbW9kZSB3aGVyZSB0aGUgY3Vyc29yIGlzIG9ubHkgYWxsb3dlZCB0byBnbyBvbmUgY2hhcmFjdGVyIGFmdGVyIHRoZQotICAgIGVuZCBvZiB0aGUgbGluZT8KIDcgICBBbGxvdyBzcGVjaWZ5aW5nIGl0IHNlcGFyYXRlbHkgZm9yIFRhYnMgYW5kIGJleW9uZCBlbmQtb2YtbGluZT8KIAogCkBAIC0zMzA3LDYgKzM4MzUsOCBAQAogICAgIFRoZSB2aXMudmltIHNjcmlwdCBoYXMgYSAiOlMiIGNvbW1hbmQgdGhhdCBkb2VzIHNvbWV0aGluZyBsaWtlIHRoaXMuCiAgICAgQ2FuIHVzZSAiZy8iIGluIE5vcm1hbCBtb2RlLCB1c2VzIHRoZSAnPCB0byAnPiBhcmVhLgogICAgIFVzZSAiJi8iIGZvciBzZWFyY2hpbmcgdGhlIHRleHQgaW4gdGhlIFZpc3VhbCBhcmVhPworOSAgIEFkZCAidiIgb2Zmc2V0OiAiL3BhdC92Ijogc2VhcmNoIGZvciBwYXR0ZXJuIGFuZCBzdGFydCBWaXN1YWwgbW9kZSBvbiB0aGUKKyAgICBtYXRjaGluZyB0ZXh0LgogOCAgIEFkZCBhIG1lY2hhbmlzbSBmb3IgcmVjdXJzaXZlbmVzczogIlxAKChbXigpXSpcQGdbXigpXSopXCkiLiAgXEBnIHN0YW5kcwogICAgIGZvciAiZ28gcmVjdXJzaXZlIGhlcmUiIGFuZCBcQCggXCkgbWFya3MgdGhlIHJlY3Vyc2l2ZSBwYXJ0LgogICAgIFBlcmwgZG9lcyBpdCB0aGlzIHdheToKQEAgLTMzMTcsNiArMzg0Nyw5IEBACiA4ICAgU2hvdyB0aGUgcHJvZ3Jlc3MgZXZlcnkgc2Vjb25kLiAgQ291bGQgdXNlIHRoZSBjb2RlIHRoYXQgY2hlY2tzIGZvciBDVFJMLUMKICAgICB0byBmaW5kIG91dCBob3cgbXVjaCB0aW1lIGhhcyBwYXNzZWQuICBPciB1c2UgU0lHQUxSTS4gIFdoZXJlIHRvIHNob3cgdGhlCiAgICAgbnVtYmVyPworOCAgIFdoZW4gdXNpbmcgYW4gZXhwcmVzc2lvbiBmb3IgIjpzIiwgc2V0IHRoZSBtYXRjaCBwb3NpdGlvbiBpbiBhIHY6CisgICAgdmFyaWFibGUuICBTbyB0aGF0IHlvdSBjYW4gZG8gIjolcy9eL1w9djpsbnVtLyIgdG8gcHV0IGEgbGluZSBudW1iZXIKKyAgICBiZWZvcmUgZWFjaCBsaW5lLgogNyAgIFN1cHBvcnQgZm9yIGFwcHJveGltYXRlLXJlZ2V4cHMgdG8gZmluZCBzaW1pbGFyIHdvcmRzIChhZ3JlcAogICAgIGh0dHA6Ly93d3cudGdyaWVzLmRlL2FncmVwLyB0cmU6IGh0dHA6Ly9sYXVyaWthcmkubmV0L3RyZS9pbmRleC5odG1sKS4KIDggICBBZGQgYW4gaXRlbSBmb3IgYSBiaWcgY2hhcmFjdGVyIHJhbmdlLCBzbyB0aGF0IG9uZSBjYW4gc2VhcmNoIGZvciBhCkBAIC0zMzI4LDcgKzM4NjEsNyBAQAogNyAgIEFkZCBhbiBvcHRpb24gdG8gYWNjZXB0IGEgbWF0Y2ggYXQgdGhlIGN1cnNvciBwb3NpdGlvbi4gIEFsc28gZm9yCiAgICAgc2VhcmNoKCkuIChCcmV0dCkKIDcgICBBZGQgYSBmbGFnIHRvICIvcGF0LyIgdG8gZGlzY2FyZCBhbiBlcnJvci4gIFVzZWZ1bCB0byBjb250aW51ZSBhIG1hcHBpbmcKLSAgICB3aGVuIGEgc2VhcmNoIGZhaWxzLiAgQ291bGQgYmUgIi9wYXQvRSIgKGUgaXMgYWxyZWFkeSB1c2VkIGZvciBhbiBvZmZzZXQpLgorICAgIHdoZW4gYSBzZWFyY2ggZmFpbHMuICBDb3VsZCBiZSAiL3BhdC9FIiAoZSBpcyBhbHJlYWR5IHVzZWQgZm9yIGVuZCBvZmZzZXQpLgogNyAgIEFkZCBwYXR0ZXJuIGl0ZW0gdG8gdXNlIHByb3BlcnRpZXMgb2YgVW5pY29kZSBjaGFyYWN0ZXJzLiAgSW4gUGVybCBpdCdzCiAgICAgIlxwe0x9IiBmb3IgYSBsZXR0ZXIuICBTZWUgUmVndWxhciBFeHByZXNzaW9uIFBvY2tldCBSZWZlcmVuY2UuCiA4ICAgV291bGQgaXQgYmUgcG9zc2libGUgdG8gYWxsb3cgIjoyMyw0NS9wYXQvZmxhZ3MiIHRvIHNlYXJjaCBmb3IgInBhdCIgaW4KQEAgLTM0NDAsNyArMzk3Myw5IEBACiAgICAgc3RvcmluZyB0aGUgZGlmZmVyZW5jZXMuCiA4ICAgU2VhcmNoIGZvciBwYXR0ZXJuIGluIHVuZG8gdHJlZSwgc2hvd2luZyB3aGVuIGl0IGhhcHBlbmVkIGFuZCB0aGUgdGV4dAogICAgIHN0YXRlLCBzbyB0aGF0IHlvdSBjYW4ganVtcCB0byBpdC4KLS0gICBQZXJzaXN0ZW50IHVuZG86IHN0b3JlIHVuZG8gaW4gYSBmaWxlLgorLSAgIFBlcnNpc3RlbnQgdW5kbzogc3RvcmUgdW5kbyBpbiBhIGZpbGUuICBQYXRjaCBieSBKb3JkYW4gTGV3aXMsIDIwMDkgRmViCisgICAgMjAuICBSZXBvc3QgMjAwOSBOb3YgMTYuCisgICAgT2xkZXIgaWRlYXM6CiAgICAgVXNlIHRpbWVzdGFtcHMsIHNvIHRoYXQgYSB2ZXJzaW9uIGEgY2VydGFpbiB0aW1lIGFnbyBjYW4gYmUgZm91bmQgYW5kIGluZm8KICAgICBiZWZvcmUgc29tZSB0aW1lL2RhdGUgY2FuIGJlIGZsdXNoZWQuICd1bmRvcGVyc2lzdCcgZ2l2ZXMgbWF4aW11bSB0aW1lIHRvCiAgICAga2VlcCB1bmRvOiAiM2giLCAiMWQiLCAiMnciLCAiMXkiLCBldGMuICBGb3IgdGhlIGZpbGUgdXNlIGRvdCBhbmQKQEAgLTM4MzEsMTYgKzQzNjYsMTUgQEAKICAgICBHb3ZpbmRhY2hhcikKIDcgICBBZGQgYSBjb21tYW5kIHRoYXQgZ29lcyBiYWNrIHRvIHRoZSBwb3NpdGlvbiBmcm9tIGJlZm9yZSBqdW1waW5nIHRvIHRoZQogICAgIGZpcnN0IHF1aWNrZml4IGxvY2F0aW9uLiAgIjpjYmVmb3JlIj8KLTYgICBJbiB0aGUgcXVpY2tmaXggd2luZG93IHN0YXR1c2xpbmUgYWRkIHRoZSBjb21tYW5kIHVzZWQgdG8gZ2V0IHRoZSBsaXN0IG9mCi0gICAgZXJyb3JzLCBlLmcuICI6bWFrZSBmb28iLCAiOmdyZXAgc29tZXRoaW5nICouYyIuCis3ICAgQWxsb3cgYSB3aW5kb3cgbm90IHRvIGhhdmUgYSBzdGF0dXNsaW5lLiAgTWFrZXMgaXQgcG9zc2libGUgdG8gdXNlIGEKKyAgICB3aW5kb3cgYXMgYSBidWZmZXItdGFiIHNlbGVjdGlvbi4KKzggICBBbGxvdyBub24tYWN0aXZlIHdpbmRvd3MgdG8gaGF2ZSBhIGRpZmZlcmVudCBzdGF0dXNsaW5lLiAoWWFrb3YgTGVybmVyKQogNiAgIFB5dGhvbiBpbnRlcmZhY2U6IGFkZCB2aW0ubWVzc2FnZSgpIGZ1bmN0aW9uLiAoTWljaGFsIFZpdGVjZWssIDIwMDIgTm92IDUpCiA3ICAgU3VwcG9ydCB1c2luZyAiOnZlcnQiIHdpdGggVXNlciBjb21tYW5kcy4gIEFkZCBleHBhbmRhYmxlIGl0ZW1zIDx2ZXJ0Pi4KICAgICBEbyB0aGUgc2FtZSBmb3IgIjpicm93c2UiIGFuZCAiOmNvbmZpcm0iPwogICAgIEZvciAiOnNpbGVudCIgYW5kICI6ZGVidWciIGFwcGx5IHRvIHRoZSB3aG9sZSB1c2VyIGNvbW1hbmQuCiAgICAgTW9yZSBnZW5lcmFsOiBuZWVkIGEgd2F5IHRvIGFjY2VzcyBjb21tYW5kIG1vZGlmaWVycyBpbiBhIHVzZXIgY29tbWFuZC4KICAgICBBc3NpZ24gdGhlbSB0byBhIHY6IHZhcmlhYmxlPwotNyAgIEFsbG93IGEgd2luZG93IG5vdCB0byBoYXZlIGEgc3RhdHVzbGluZS4gIE1ha2VzIGl0IHBvc3NpYmxlIHRvIHVzZSBhCi0gICAgd2luZG93IGFzIGEgYnVmZmVyLXRhYiBzZWxlY3Rpb24uCiA3ICAgQWRkIGFuIGludmlzaWJsZSBidWZmZXIgd2hpY2ggY2FuIGJlIGVkaXRlZC4gIEZvciB1c2UgaW4gc2NyaXB0cyB0aGF0IHdhbnQKICAgICB0byBtYW5pcHVsYXRlIHRleHQgd2l0aG91dCBjaGFuZ2luZyB0aGUgd2luZG93IGxheW91dC4KIDggICBBZGQgYSBjb21tYW5kIHRvIHJldmVydCB0byB0aGUgc2F2ZWQgdmVyc2lvbiBvZiBmaWxlOyB1bmRvIG9yIHJlZG8gdW50aWwKQEAgLTM4NjUsNyArNDM5OSw2IEBACiAgICAgZXRjLiAgQ29tYmluYXRpb25zIG9mIEFsdCwgQ3RybCBhbmQgU2hpZnQgYXJlIGFsc28gcG9zc2libGUuICBSZWNvZ25pemUKICAgICB0aGVzZSB0byBhdm9pZCBpbnNlcnRpbmcgdGhlIHJhdyBieXRlIHNlcXVlbmNlLCBoYW5kbGUgbGlrZSB0aGUga2V5CiAgICAgd2l0aG91dCBtb2RpZmllciAodW5sZXNzIG1hcHBlZCkuCi03ICAgU3VwcG9ydCAiOmJyb3dzZSBlZGl0IiBpbiBjb25zb2xlLCB1c2luZyBleHBsb3Jlci52aW0/CiA2ICAgQWRkICJnRyI6IGxpa2Ugd2hhdCAiZ2oiIGlzIHRvICJqIjogZ28gdG8gdGhlIE4ndGggd2luZG93IGxpbmUuCiA4ICAgQWRkIGNvbW1hbmQgbGlrZSAiOm5vcm1hbCIgdGhhdCBhY2NlcHRzIDxLZXk+IG5vdGF0aW9uIGxpa2UgIjptYXAiLgogOSAgIFN1cHBvcnQgQUNMcyBvbiBtb3JlIHN5c3RlbXMuCkBAIC0zOTA1LDEyICs0NDM4LDYgQEAKIDMgICBNYWtlICIyZCUiIHdvcmsgbGlrZSAiZCVkJSIgaW5zdGVhZCBvZiAiZDIlIj8KIDcgICAiZyBDVFJMLU8iIGp1bXBzIGJhY2sgdG8gbGFzdCB1c2VkIGJ1ZmZlci4JU2tpcCBDVFJMLU8ganVtcHMgaW4gdGhlIHNhbWUKICAgICBidWZmZXIuICBNYWtlIGp1bXBsaXN0IHJlbWVtYmVyIHRoZSBsYXN0IHRlbiBhY2Nlc3NlZCBidWZmZXJzPwotLSAgIEtlZXAgYSBsaXN0IG9mIG1vc3QgcmVjZW50bHkgdXNlZCBmaWxlcyBmb3IgZWFjaCB3aW5kb3csIHVzZSAiW28iIHRvIGdvCi0gICAgYmFjayAob2xkZXIgZmlsZSkgYW5kICJdbiIgdG8gZ28gZm9yd2FyZCAobmV3ZXIgZmlsZSkgKGxpa2UgXk8gYW5kIF5JIGZvcgotICAgIGp1bXBzKS4gKFdlYmIpICBVc2UgIjpmaWxlcyIgYW5kICI6bHMiIHRvIGxpc3QgdGhlIGZpbGVzIGluIGhpc3Rvcnkgb3JkZXIuCi03ICAgQWRkIGEgaGlzdG9yeSBvZiByZWNlbnRseSBhY2Nlc3NlZCBidWZmZXIuCU1heWJlIG1ha2UgIjIgQ1RSTC1eIiBqdW1wIHRvCi0gICAgdGhlIDJuZCBwcmV2aW91c2x5IHZpc2l0ZWQgYnVmZmVyLCAiMyBDVFJMLV4iIHRvIHRoZSB0aGlyZCwgZXRjLiAgT3IgdXNlCi0gICAgIjMgZyBDVFJMLV4iIGZvciB0aGlzPwogLSAgIEFkZCBjb2RlIHRvIGRpc2FibGUgdGhlIENBUFMga2V5IHdoZW4gZ29pbmcgZnJvbSBJbnNlcnQgdG8gTm9ybWFsIG1vZGUuCiAtICAgU2V0IGRhdGUvcHJvdGVjdGlvbi9ldGMuIG9mIHRoZSBwYXRjaGZpbGUgdGhlIHNhbWUgYXMgdGhlIG9yaWdpbmFsIGZpbGUuCiAtICAgVXNlIGdyb3dhcnJheSBmb3IgdGVybWNvZGVzW10gaW4gdGVybS5jCkBAIC00MDk2LDcgKzQ2MjMsNyBAQAogLSAgIFVwZGF0ZXNjcmlwdCgpIGNhbiBiZSBkb25lIGZhc3RlciB3aXRoIGEgc3RyaW5nIGluc3RlYWQgb2YgYSBjaGFyLgogLSAgIFNjcmVlbiB1cGRhdGluZyBpcyBpbmVmZmljaWVudCB3aXRoIENUUkwtRiBhbmQgQ1RSTC1CIHdoZW4gdGhlcmUgYXJlIGxvbmcKICAgICBsaW5lcy4KLS0gICBVcHBlcmNhc2UgY2hhcmFjdGVycyBpbiBleCBjb21tYW5kcyBjYW4gYmUgbWFkZSBsb3dlcmNhc2U/CistICAgVXBwZXJjYXNlIGNoYXJhY3RlcnMgaW4gRXggY29tbWFuZHMgY2FuIGJlIG1hZGUgbG93ZXJjYXNlPwogOCAgIEFkZCBvcHRpb24gdG8gc2hvdyBjaGFyYWN0ZXJzIGluIHRleHQgbm90IGFzICJ8QSIgYnV0IGFzIGRlY2ltYWwgKCJeMTI5IiksCiAgICAgaGV4ICgiXHg4MSIpIG9yIG9jdGFsICgiXDIwMSIpIG9yIG1ldGEgKE0teCkuICBOdmkgaGFzIHRoZSAnb2N0YWwnIG9wdGlvbgogICAgIHRvIHN3aXRjaCBmcm9tIGhleCB0byBvY3RhbC4gIFZpbGUgY2FuIHNob3cgdW5wcmludGFibGUgY2hhcmFjdGVycyBpbiBoZXgKQEAgLTQxNTYsNyArNDY4Myw3IEBACiAgICAgZm9yIHVzZSBpbiBtYWNybydzIGFuZCB0aGUgbGlrZS4KIC0gICBLZWVwIG91dHB1dCBmcm9tIGxpc3RpbmdzIGluIGEgd2luZG93LCBzbyB5b3UgY2FuIGhhdmUgYSBsb29rIGF0IGl0IHdoaWxlCiAgICAgd29ya2luZyBpbiBhbm90aGVyIHdpbmRvdy4gIFB1dCBjbWRsaW5lIGluIGEgc2VwYXJhdGUgd2luZG93PwotLSAgIEFkZCBwb3NzaWJpbGl0eSB0byBwdXQgb3V0cHV0IG9mIGV4IGNvbW1hbmRzIGluIGEgYnVmZmVyIG9yIGZpbGUsIGUuZy4gZm9yCistICAgQWRkIHBvc3NpYmlsaXR5IHRvIHB1dCBvdXRwdXQgb2YgRXggY29tbWFuZHMgaW4gYSBidWZmZXIgb3IgZmlsZSwgZS5nLiBmb3IKICAgICAiOnNldCBhbGwiLiAgIjpyIDpzZXQgYWxsIj8KIC0gICAnZWRpdCcgb3B0aW9uOiBXaGVuIG9mZiBjaGFuZ2luZyB0aGUgYnVmZmVyIGlzIG5vdCBwb3NzaWJsZSAoUmVhbGx5CiAgICAgcmVhZC1vbmx5IG1vZGUpLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdWdhbmRhLnR4dCBiL3J1bnRpbWUvZG9jL3VnYW5kYS50eHQKaW5kZXggOGY2ODRlOC4uNjRkNTI5NyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdWdhbmRhLnR4dAorKysgYi9ydW50aW1lL2RvYy91Z2FuZGEudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVnYW5kYS50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjEKKyp1Z2FuZGEudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgRGVjIDI3CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0xOTQsMTEgKzE5NCwxMiBAQAogCiBIb3cgZG8geW91IGtub3cgdGhhdCB0aGUgbW9uZXkgd2lsbCBiZSBzcGVudCByaWdodD8gIEZpcnN0IG9mIGFsbCB5b3UgaGF2ZSBteQogcGVyc29uYWwgZ3VhcmFudGVlIGFzIHRoZSBhdXRob3Igb2YgVmltLiAgSSB0cnVzdCB0aGUgcGVvcGxlIHRoYXQgYXJlIHdvcmtpbmcKLWF0IHRoZSBjZW50cmUsIEkga25vdyB0aGVtIHBlcnNvbmFsbHkuICBGdXJ0aGVyIG1vcmUsIHRoZSBjZW50cmUgaXMKLWNvLXNwb25zb3JlZCBhbmQgaW5zcGVjdGVkIGJ5IFdvcmxkIFZpc2lvbiwgU2F2ZSB0aGUgQ2hpbGRyZW4gRnVuZCBhbmQKLUludGVybmF0aW9uYWwgQ2hpbGQgQ2FyZSBGdW5kLiAgVGhlIGNlbnRyZSBpcyB2aXNpdGVkIGFib3V0IG9uY2UgYSB5ZWFyIHRvCi1jaGVjayB0aGUgcHJvZ3Jlc3MgKGF0IG91ciBvd24gY29zdCkuICBJIGhhdmUgdmlzaXRlZCB0aGUgY2VudHJlIG15c2VsZiBpbgotMTk5NiwgMTk5OCwgMjAwMCwgMjAwMSBhbmQgMjAwMy4gIFRoZSB2aXNpdCByZXBvcnRzIGFyZSBvbiB0aGUgSUNDRiB3ZWIgc2l0ZS4KK2F0IHRoZSBjZW50cmUsIEkga25vdyB0aGVtIHBlcnNvbmFsbHkuICBGdXJ0aGVyIG1vcmUsIHRoZSBjZW50cmUgaGFzIGJlZW4KK2NvLXNwb25zb3JlZCBhbmQgaW5zcGVjdGVkIGJ5IFdvcmxkIFZpc2lvbiwgU2F2ZSB0aGUgQ2hpbGRyZW4gRnVuZCBhbmQgaXMgbm93Cit1bmRlciB0aGUgc3VwZXJ2aXNpb24gb2YgUGFjaWZpYyBBY2FkZW15IE91dHJlYWNoIFNvY2lldHkuICBUaGUgY2VudHJlIGlzCit2aXNpdGVkIGFib3V0IG9uY2UgYSB5ZWFyIHRvIGNoZWNrIHRoZSBwcm9ncmVzcyAoYXQgb3VyIG93biBjb3N0KS4gIEkgaGF2ZQordmlzaXRlZCB0aGUgY2VudHJlIG15c2VsZiBtYW55IHRpbWVzLCBzdGFydGluZyBpbiAxOTkzLiAgVGhlIHZpc2l0IHJlcG9ydHMgYXJlCitvbiB0aGUgSUNDRiB3ZWIgc2l0ZS4KIAogSWYgeW91IGhhdmUgYW55IGZ1cnRoZXIgcXVlc3Rpb25zLCBzZW5kIG1lIGUtbWFpbDogPEJyYW1AdmltLm9yZz4uCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3VuZG8udHh0IGIvcnVudGltZS9kb2MvdW5kby50eHQKaW5kZXggYzUwZTYzOS4uMDY1OTk0OCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdW5kby50eHQKKysrIGIvcnVudGltZS9kb2MvdW5kby50eHQKQEAgLTEsNCArMSw0IEBACi0qdW5kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAzMAorKnVuZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOSBBcHIgMTIKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTEwNiw2ICsxMDYsMTAgQEAKIEFmdGVyIHRoaXMgYW4gInUiIGNvbW1hbmQgd2lsbCB1bmRvIHRoZSBkZWxldGUgY29tbWFuZCBhbmQgdGhlIHByZXZpb3VzCiBjaGFuZ2UuCiAKK1RvIGRvIHRoZSBvcHBvc2l0ZSwgYnJlYWsgYSBjaGFuZ2UgaW50byB0d28gdW5kbyBibG9ja3MsIGluIEluc2VydCBtb2RlIHVzZQorQ1RSTC1HIHUuICBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd2FudCBhbiBpbnNlcnQgY29tbWFuZCB0byBiZSB1bmRvYWJsZSBpbgorcGFydHMuICBFLmcuLCBmb3IgZWFjaCBzZW50ZW5jZS4gIHxpX0NUUkwtR191fAorCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDQuIFVuZG8gYnJhbmNoZXMJCQkJKnVuZG8tYnJhbmNoZXMqICp1bmRvLXRyZWUqCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl8wNC50eHQgYi9ydW50aW1lL2RvYy91c3JfMDQudHh0CmluZGV4IGQxYWYxMGQuLmEzYWIwZDYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl8wNC50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzA0LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfMDQudHh0KglGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDYgSnVuIDIxCisqdXNyXzA0LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA4IFNlcCAwNgogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApAQCAtMjYzLDcgKzI2Myw3IEBACiBvbmUgb2YgdGhlIG90aGVyIGNvcm5lcnMsIGRpYWdvbmFsbHkuICBVc2UgIk8iIHRvIG1vdmUgdG8gdGhlIG90aGVyIGNvcm5lciBpbgogdGhlIHNhbWUgbGluZS4KIAotTm90ZSB0aGF0ICJvIiBhbmQgIk8iIGluIFZpc3VhbCBtb2RlIHdvcmsgdmVyeSBkaWZmZXJlbnQgZnJvbSBOb3JtYWwgbW9kZSwKK05vdGUgdGhhdCAibyIgYW5kICJPIiBpbiBWaXN1YWwgbW9kZSB3b3JrIHZlcnkgZGlmZmVyZW50bHkgZnJvbSBOb3JtYWwgbW9kZSwKIHdoZXJlIHRoZXkgb3BlbiBhIG5ldyBsaW5lIGJlbG93IG9yIGFib3ZlIHRoZSBjdXJzb3IuCiAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzA1LnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8wNS50eHQKaW5kZXggMGJhYzk4OC4uODE2NDE5NiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzA1LnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMDUudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8wNS50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwNyBNYXkgMTEKKyp1c3JfMDUudHh0KglGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgSnVuIDA0CiAKIAkJICAgICBWSU0gVVNFUiBNQU5VQUwgLSBieSBCcmFtIE1vb2xlbmFhcgogCkBAIC0yMDUsOCArMjA1LDggQEAKIAogCQkJCQkJCSpyZXN0b3JlLWN1cnNvciogID4KIAlhdXRvY21kIEJ1ZlJlYWRQb3N0ICoKLQkgICAgXCBpZiBsaW5lKCInXCIiKSA+IDAgJiYgbGluZSgiJ1wiIikgPD0gbGluZSgiJCIpIHwKLQkgICAgXCAgIGV4ZSAibm9ybWFsIGdgXCIiIHwKKwkgICAgXCBpZiBsaW5lKCInXCIiKSA+IDEgJiYgbGluZSgiJ1wiIikgPD0gbGluZSgiJCIpIHwKKwkgICAgXCAgIGV4ZSAibm9ybWFsISBnYFwiIiB8CiAJICAgIFwgZW5kaWYKIAogQW5vdGhlciBhdXRvY29tbWFuZC4gIFRoaXMgdGltZSBpdCBpcyB1c2VkIGFmdGVyIHJlYWRpbmcgYW55IGZpbGUuICBUaGUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl8wNi50eHQgYi9ydW50aW1lL2RvYy91c3JfMDYudHh0CmluZGV4IGEzMzkxMjkuLjQyOTI3MmYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl8wNi50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzA2LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfMDYudHh0KglGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI0CisqdXNyXzA2LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA5IE9jdCAyOAogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApAQCAtMjQ0LDEwICsyNDQsMTQgQEAKIAogVGhpcyBhbHNvIHdvcmtzIG9uIFVuaXgsIGlmIHlvdSBoYXZlIGEgUG9zdFNjcmlwdCBwcmludGVyLiAgT3RoZXJ3aXNlLCB5b3UKIHdpbGwgaGF2ZSB0byBkbyBhIGJpdCBtb3JlIHdvcmsuICBZb3UgbmVlZCB0byBjb252ZXJ0IHRoZSB0ZXh0IHRvIEhUTUwgZmlyc3QsCi1hbmQgdGhlbiBwcmludCBpdCBmcm9tIGEgd2ViIGJyb3dzZXIgc3VjaCBhcyBOZXRzY2FwZS4KK2FuZCB0aGVuIHByaW50IGl0IGZyb20gYSB3ZWIgYnJvd3Nlci4KIAogQ29udmVydCB0aGUgY3VycmVudCBmaWxlIHRvIEhUTUwgd2l0aCB0aGlzIGNvbW1hbmQ6ID4KIAorCTpUT2h0bWwKKworSW4gY2FzZSB0aGF0IGRvZXNuJ3Qgd29yazogPgorCiAJOnNvdXJjZSAkVklNUlVOVElNRS9zeW50YXgvMmh0bWwudmltCiAKIFlvdSB3aWxsIHNlZSBpdCBjcnVuY2hpbmcgYXdheSwgdGhpcyBjYW4gdGFrZSBxdWl0ZSBhIHdoaWxlIGZvciBhIGxhcmdlIGZpbGUuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfMTEudHh0IGIvcnVudGltZS9kb2MvdXNyXzExLnR4dAppbmRleCA2NzMyODg0Li4xZjRlN2NhIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfMTEudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl8xMS50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzExLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAorKnVzcl8xMS50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOSBPY3QgMjkKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKQEAgLTYsOSArNiw5IEBACiAKIAogRGlkIHlvdXIgY29tcHV0ZXIgY3Jhc2g/ICBBbmQgeW91IGp1c3Qgc3BlbnQgaG91cnMgZWRpdGluZz8gIERvbid0IHBhbmljISAgVmltCi1rZWVwcyBlbm91Z2ggaW5mb3JtYXRpb24gb24gaGFyZGRpc2sgdG8gYmUgYWJsZSB0byByZXN0b3JlIG1vc3Qgb2YgeW91ciB3b3JrLgotVGhpcyBjaGFwdGVyIHNob3dzIHlvdSBob3cgdG8gZ2V0IHlvdXIgd29yayBiYWNrIGFuZCBleHBsYWlucyBob3cgdGhlIHN3YXAKLWZpbGUgaXMgdXNlZC4KK3N0b3JlcyBlbm91Z2ggaW5mb3JtYXRpb24gdG8gYmUgYWJsZSB0byByZXN0b3JlIG1vc3Qgb2YgeW91ciB3b3JrLiAgVGhpcworY2hhcHRlciBzaG93cyB5b3UgaG93IHRvIGdldCB5b3VyIHdvcmsgYmFjayBhbmQgZXhwbGFpbnMgaG93IHRoZSBzd2FwIGZpbGUgaXMKK3VzZWQuCiAKIHwxMS4xfAlCYXNpYyByZWNvdmVyeQogfDExLjJ8CVdoZXJlIGlzIHRoZSBzd2FwIGZpbGU/CkBAIC0xMTEsNiArMTExLDggQEAKIAl2aW0gLXIgLmhlbHAudHh0LnN3bwogCiBUaGlzIGlzIGFsc28gaGFuZHkgd2hlbiB0aGUgc3dhcCBmaWxlIGlzIGluIGFub3RoZXIgZGlyZWN0b3J5IHRoYW4gZXhwZWN0ZWQuCitWaW0gcmVjb2duaXplcyBmaWxlcyB3aXRoIHRoZSBwYXR0ZXJuICouc1t1dnddW2Etel0gYXMgc3dhcCBmaWxlcy4KKwogSWYgdGhpcyBzdGlsbCBkb2VzIG5vdCB3b3JrLCBzZWUgd2hhdCBmaWxlIG5hbWVzIFZpbSByZXBvcnRzIGFuZCByZW5hbWUgdGhlCiBmaWxlcyBhY2NvcmRpbmdseS4gIENoZWNrIHRoZSAnZGlyZWN0b3J5JyBvcHRpb24gdG8gc2VlIHdoZXJlIFZpbSBtYXkgaGF2ZQogcHV0IHRoZSBzd2FwIGZpbGUuCkBAIC0yMTQsNyArMjE2LDcgQEAKIHRoYXQgZmlsZSwgYmUgcHJlcGFyZWQgdG8gcmVkbyB5b3VyIGxhc3QgY2hhbmdlcy4KIAogCi1XSEFUIFRPIERPPworV0hBVCBUTyBETz8JCQkJCSpzd2FwLWV4aXN0cy1jaG9pY2VzKgogCiBJZiBkaWFsb2dzIGFyZSBzdXBwb3J0ZWQgeW91IHdpbGwgYmUgYXNrZWQgdG8gc2VsZWN0IG9uZSBvZiBmaXZlIGNob2ljZXM6CiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl8yNS50eHQgYi9ydW50aW1lL2RvYy91c3JfMjUudHh0CmluZGV4IDg4NTA1ZGEuLjA4OGFkMmUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl8yNS50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzI1LnR4dApAQCAtMzA0LDcgKzMwNCw3IEBACiBPbmUgaG9yaXpvbnRhbCBzY3JvbGxiYXIgd2lsbCBhcHBlYXIgYXQgdGhlIGJvdHRvbSBvZiB0aGUgVmltIHdpbmRvdy4KIAogSWYgeW91IGRvbid0IGhhdmUgYSBzY3JvbGxiYXIgb3IgZG9uJ3Qgd2FudCB0byB1c2UgaXQsIHVzZSB0aGVzZSBjb21tYW5kcyB0bwotc2Nyb2xsIHRoZSB0ZXh0LiAgVGhlIGN1cnNvciB3aWxsIHN0YXkgaW4gdGhlIHNhbWUgcGxhY2UsIGJ1dCBpdCdzIG1vdmUgYmFjaworc2Nyb2xsIHRoZSB0ZXh0LiAgVGhlIGN1cnNvciB3aWxsIHN0YXkgaW4gdGhlIHNhbWUgcGxhY2UsIGJ1dCBpdCdzIG1vdmVkIGJhY2sKIGludG8gdGhlIHZpc2libGUgdGV4dCBpZiBuZWNlc3NhcnkuCiAKIAl6aAkJc2Nyb2xsIHJpZ2h0CkBAIC01NDcsNyArNTQ3LDcgQEAKIFdoYXQgaGFwcGVucyBpcyB0aGF0IHRoZSAiZ3IiIGNvbW1hbmQgbWFrZXMgc3VyZSB0aGUgbmV3IGNoYXJhY3RlciB0YWtlcyB0aGUKIHJpZ2h0IGFtb3VudCBvZiBzY3JlZW4gc3BhY2UuICBFeHRyYSBzcGFjZXMgb3IgdGFicyBhcmUgaW5zZXJ0ZWQgdG8gZmlsbCB0aGUKIGdhcC4gIFRodXMgd2hhdCBhY3R1YWxseSBoYXBwZW5zIGlzIHRoYXQgYSB0YWIgaXMgcmVwbGFjZWQgYnkgIngiIGFuZCB0aGVuCi1ibGFua3MgYWRkZWQgdG8gbWFrZSB0aGUgdGV4dCBhZnRlciBpdCBrZWVwIGl0J3MgcGxhY2UuICBJbiB0aGlzIGNhc2UgYQorYmxhbmtzIGFkZGVkIHRvIG1ha2UgdGhlIHRleHQgYWZ0ZXIgaXQga2VlcCBpdHMgcGxhY2UuICBJbiB0aGlzIGNhc2UgYQogdGFiIGlzIGluc2VydGVkLgogICAgV2hlbiB5b3UgbmVlZCB0byByZXBsYWNlIG1vcmUgdGhhbiBvbmUgY2hhcmFjdGVyLCB5b3UgdXNlIHRoZSAiUiIgY29tbWFuZAogdG8gZ28gdG8gUmVwbGFjZSBtb2RlIChzZWUgfDA0Ljl8KS4gIFRoaXMgbWVzc2VzIHVwIHRoZSBsYXlvdXQgYW5kIHJlcGxhY2VzCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfMzEudHh0IGIvcnVudGltZS9kb2MvdXNyXzMxLnR4dAppbmRleCBmZjNkZmJjLi4yMmJhNjBmIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfMzEudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl8zMS50eHQKQEAgLTI0NSw3ICsyNDUsNyBAQAogCiAJOnNldCBsaW5lcz01NQogCi1Zb3UgZG9uJ3Qgd2FudCB0byBkbyB0aGlzIGluIGEgdGVybWluYWwsIHNpbmNlIGl0J3Mgc2l6ZSBpcyBmaXhlZCAoZXhjZXB0IGZvcgorWW91IGRvbid0IHdhbnQgdG8gZG8gdGhpcyBpbiBhIHRlcm1pbmFsLCBzaW5jZSBpdHMgc2l6ZSBpcyBmaXhlZCAoZXhjZXB0IGZvcgogYW4geHRlcm0gdGhhdCBzdXBwb3J0cyByZXNpemluZykuCiAgICBUaGUgZ3ZpbXJjIGZpbGUgaXMgc2VhcmNoZWQgZm9yIGluIHRoZSBzYW1lIGxvY2F0aW9ucyBhcyB0aGUgdmltcmMgZmlsZS4KIE5vcm1hbGx5IGl0cyBuYW1lIGlzICJ+Ly5ndmltcmMiIGZvciBVbml4IGFuZCAiJFZJTS9fZ3ZpbXJjIiBmb3IgTVMtV2luZG93cy4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl80My50eHQgYi9ydW50aW1lL2RvYy91c3JfNDMudHh0CmluZGV4IDA4OWYzYzQuLjhkN2QwM2EgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl80My50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzQzLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfNDMudHh0KglGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI0CisqdXNyXzQzLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA4IERlYyAyOAogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApAQCAtNTcsNyArNTcsOCBAQAogTGlrZXdpc2UsIHRoZSBtYXBwaW5nIGZvciAiXGMiIHdpbGwgZGlzYXBwZWFyIHdoZW4gZWRpdGluZyBhbm90aGVyIGJ1ZmZlci4KIFRoZSAiOm1hcCA8YnVmZmVyPiIgY29tbWFuZCBjcmVhdGVzIGEgbWFwcGluZyB0aGF0IGlzIGxvY2FsIHRvIHRoZSBjdXJyZW50CiBidWZmZXIuICBUaGlzIHdvcmtzIHdpdGggYW55IG1hcHBpbmcgY29tbWFuZDogIjptYXAhIiwgIjp2bWFwIiwgZXRjLiAgVGhlCi18PExvY2FsTGVhZGVyPnwgaW4gdGhlIG1hcHBpbmcgaXMgcmVwbGFjZWQgd2l0aCB0aGUgdmFsdWUgb2YgIm1hcGxvY2FsbGVhZGVyIi4KK3w8TG9jYWxMZWFkZXI+fCBpbiB0aGUgbWFwcGluZyBpcyByZXBsYWNlZCB3aXRoIHRoZSB2YWx1ZSBvZiB0aGUKKyJtYXBsb2NhbGxlYWRlciIgdmFyaWFibGUuCiAKIFlvdSBjYW4gZmluZCBleGFtcGxlcyBmb3IgZmlsZXR5cGUgcGx1Z2lucyBpbiB0aGlzIGRpcmVjdG9yeTogPgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfNDQudHh0IGIvcnVudGltZS9kb2MvdXNyXzQ0LnR4dAppbmRleCBmNTUwNmI0Li40NDhmMjYyIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfNDQudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl80NC50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzQ0LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAorKnVzcl80NC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBEZWMgMjgKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKQEAgLTQ5Myw5ICs0OTMsOSBAQAogCTpydW50aW1lISBzeW50YXgvYy52aW0KIAogVGhlICI6cnVudGltZSEiIGNvbW1hbmQgc2VhcmNoZXMgJ3J1bnRpbWVwYXRoJyBmb3IgYWxsICJzeW50YXgvYy52aW0iIGZpbGVzLgotVGhpcyBtYWtlcyB0aGUgQyBzeW50YXggYmUgZGVmaW5lZCBsaWtlIGZvciBDIGZpbGVzLiAgSWYgeW91IGhhdmUgcmVwbGFjZWQgdGhlCi1jLnZpbSBzeW50YXggZmlsZSwgb3IgYWRkZWQgaXRlbXMgd2l0aCBhbiBleHRyYSBmaWxlLCB0aGVzZSB3aWxsIGJlIGxvYWRlZCBhcwotd2VsbC4KK1RoaXMgbWFrZXMgdGhlIEMgcGFydHMgb2YgdGhlIEMrKyBzeW50YXggYmUgZGVmaW5lZCBsaWtlIGZvciBDIGZpbGVzLiAgSWYgeW91CitoYXZlIHJlcGxhY2VkIHRoZSBjLnZpbSBzeW50YXggZmlsZSwgb3IgYWRkZWQgaXRlbXMgd2l0aCBhbiBleHRyYSBmaWxlLCB0aGVzZQord2lsbCBiZSBsb2FkZWQgYXMgd2VsbC4KICAgIEFmdGVyIGxvYWRpbmcgdGhlIEMgc3ludGF4IGl0ZW1zIHRoZSBzcGVjaWZpYyBDKysgaXRlbXMgY2FuIGJlIGRlZmluZWQuCiBGb3IgZXhhbXBsZSwgYWRkIGtleXdvcmRzIHRoYXQgYXJlIG5vdCB1c2VkIGluIEM6ID4KIApAQCAtNTAzLDggKzUwMyw4IEBACiAKIFRoaXMgd29ya3MganVzdCBsaWtlIGluIGFueSBvdGhlciBzeW50YXggZmlsZS4KIAotTm93IGNvbnNpZGVyIHRoZSBQZXJsIGxhbmd1YWdlLiAgSXQgY29uc2lzdHMgb2YgdHdvIGRpc3RpbmN0IHBhcnRzOiBhCi1kb2N1bWVudGF0aW9uIHNlY3Rpb24gaW4gUE9EIGZvcm1hdCwgYW5kIGEgcHJvZ3JhbSB3cml0dGVuIGluIFBlcmwgaXRzZWxmLgorTm93IGNvbnNpZGVyIHRoZSBQZXJsIGxhbmd1YWdlLiAgQSBQZXJsIHNjcmlwdCBjb25zaXN0cyBvZiB0d28gZGlzdGluY3QgcGFydHM6CithIGRvY3VtZW50YXRpb24gc2VjdGlvbiBpbiBQT0QgZm9ybWF0LCBhbmQgYSBwcm9ncmFtIHdyaXR0ZW4gaW4gUGVybCBpdHNlbGYuCiBUaGUgUE9EIHNlY3Rpb24gc3RhcnRzIHdpdGggIj1oZWFkIiBhbmQgZW5kcyB3aXRoICI9Y3V0Ii4KICAgIFlvdSB3YW50IHRvIGRlZmluZSB0aGUgUE9EIHN5bnRheCBpbiBvbmUgZmlsZSwgYW5kIHVzZSBpdCBmcm9tIHRoZSBQZXJsCiBzeW50YXggZmlsZS4gIFRoZSAiOnN5bnRheCBpbmNsdWRlIiBjb21tYW5kIHJlYWRzIGluIGEgc3ludGF4IGZpbGUgYW5kIHN0b3JlcwpAQCAtNjYzLDcgKzY2Myw3IEBACiAKIENob29zZSBhIGdvb2QsIGRlc2NyaXB0aXZlIG5hbWUgZm9yIHlvdXIgc3ludGF4IGZpbGUuICBVc2UgbG93ZXJjYXNlIGxldHRlcnMKIGFuZCBkaWdpdHMuICBEb24ndCBtYWtlIGl0IHRvbyBsb25nLCBpdCBpcyB1c2VkIGluIG1hbnkgcGxhY2VzOiBUaGUgbmFtZSBvZgotdGhlIHN5bnRheCBmaWxlICJuYW1lLnZpbSIsICdmaWxldHlwZScsIGI6Y3VycmVudF9zeW50YXggdGhlIHN0YXJ0IG9mIGVhY2gKK3RoZSBzeW50YXggZmlsZSAibmFtZS52aW0iLCAnZmlsZXR5cGUnLCBiOmN1cnJlbnRfc3ludGF4IGFuZCB0aGUgc3RhcnQgb2YgZWFjaAogc3ludGF4IGdyb3VwIChuYW1lVHlwZSwgbmFtZVN0YXRlbWVudCwgbmFtZVN0cmluZywgZXRjKS4KIAogU3RhcnQgd2l0aCBhIGNoZWNrIGZvciAiYjpjdXJyZW50X3N5bnRheCIuICBJZiBpdCBpcyBkZWZpbmVkLCBzb21lIG90aGVyCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfNDUudHh0IGIvcnVudGltZS9kb2MvdXNyXzQ1LnR4dAppbmRleCA0MmExMWI0Li5hYzVkNjcyIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfNDUudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl80NS50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzQ1LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA4IEFwciAzMAorKnVzcl80NS50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBOb3YgMTUKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKQEAgLTI2NSw3ICsyNjUsNyBAQAogCiBTdXBwb3NlIHlvdSBoYXZlIHNldHVwIFZpbSB0byB1c2UgVW5pY29kZSwgYW5kIHlvdSB3YW50IHRvIGVkaXQgYSBmaWxlIHRoYXQgaXMKIGluIDE2LWJpdCBVbmljb2RlLiAgU291bmRzIHNpbXBsZSwgcmlnaHQ/ICBXZWxsLCBWaW0gYWN0dWFsbHkgdXNlcyB1dGYtOAotZW5jb2RpbmcgaW50ZXJuYWxseSwgdGh1cyB0aGUgMTYtYml0IGVuY29kaW5nIG11c3QgYmUgY29udmVydGVkLiAgVGh1cyB0aGVyZQorZW5jb2RpbmcgaW50ZXJuYWxseSwgdGh1cyB0aGUgMTYtYml0IGVuY29kaW5nIG11c3QgYmUgY29udmVydGVkLCBzaW5jZSB0aGVyZQogaXMgYSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGNoYXJhY3RlciBzZXQgKFVuaWNvZGUpIGFuZCB0aGUgZW5jb2RpbmcgKHV0Zi04IG9yCiAxNi1iaXQpLgogICAgVmltIHdpbGwgdHJ5IHRvIGRldGVjdCB3aGF0IGtpbmQgb2YgZmlsZSB5b3UgYXJlIGVkaXRpbmcuICBJdCB1c2VzIHRoZQpAQCAtMjgzLDcgKzI4Myw3IEBACiBXaGVuIHlvdSBzdGFydCBlZGl0aW5nIHRoYXQgMTYtYml0IFVuaWNvZGUgZmlsZSwgYW5kIGl0IGhhcyBhIEJPTSwgVmltIHdpbGwKIGRldGVjdCB0aGlzIGFuZCBjb252ZXJ0IHRoZSBmaWxlIHRvIHV0Zi04IHdoZW4gcmVhZGluZyBpdC4gIFRoZSAnZmlsZWVuY29kaW5nJwogb3B0aW9uICh3aXRob3V0IHMgYXQgdGhlIGVuZCkgaXMgc2V0IHRvIHRoZSBkZXRlY3RlZCB2YWx1ZS4gIEluIHRoaXMgY2FzZSBpdAotaXMgInVjcy0ybGUiLiAgVGhhdCBtZWFucyBpdCdzIFVuaWNvZGUsIHR3byBieXRlcyBhbmQgbGl0dGxlLWVuZGlhbi4gIFRoaXMKK2lzICJ1dGYtMTZsZSIuICBUaGF0IG1lYW5zIGl0J3MgVW5pY29kZSwgMTYtYml0IGFuZCBsaXR0bGUtZW5kaWFuLiAgVGhpcwogZmlsZSBmb3JtYXQgaXMgY29tbW9uIG9uIE1TLVdpbmRvd3MgKGUuZy4sIGZvciByZWdpc3RyeSBmaWxlcykuCiAgICBXaGVuIHdyaXRpbmcgdGhlIGZpbGUsIFZpbSB3aWxsIGNvbXBhcmUgJ2ZpbGVlbmNvZGluZycgd2l0aCAnZW5jb2RpbmcnLiAgSWYKIHRoZXkgYXJlIGRpZmZlcmVudCwgdGhlIHRleHQgd2lsbCBiZSBjb252ZXJ0ZWQuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfOTAudHh0IGIvcnVudGltZS9kb2MvdXNyXzkwLnR4dAppbmRleCA2NzAxZmU5Li40YmVmN2FhIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfOTAudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl85MC50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzkwLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAorKnVzcl85MC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBTZXAgMTAKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKQEAgLTEyNiwxMiArMTI2LDEyIEBACiAJdGVzdCByZXN1bHRzOiB+CiAJQUxMIERPTkUgfgogCi1JZiB0aGVyZSBhcmUgb25lIG9yIHR3byBtZXNzYWdlcyBhYm91dCBmYWlsZWQgdGVzdHMsIFZpbSBtaWdodCBzdGlsbCB3b3JrLCBidXQKLW5vdCBwZXJmZWN0bHkuICBJZiB5b3Ugc2VlIGEgbG90IG9mIGVycm9yIG1lc3NhZ2VzIG9yIFZpbSBkb2Vzbid0IGZpbmlzaCB1bnRpbAotdGhlIGVuZCwgdGhlcmUgbXVzdCBiZSBzb21ldGhpbmcgd3JvbmcuICBFaXRoZXIgdHJ5IHRvIGZpbmQgb3V0IHlvdXJzZWxmLCBvcgotZmluZCBzb21lb25lIHdobyBjYW4gc29sdmUgaXQuICBZb3UgY291bGQgbG9vayBpbiB0aGUgfG1haWxsaXN0LWFyY2hpdmV8IGZvciBhCi1zb2x1dGlvbi4gIElmIGV2ZXJ5dGhpbmcgZWxzZSBmYWlscywgeW91IGNvdWxkIGFzayBpbiB0aGUgdmltIHxtYWlsbGlzdHwgaWYKLXNvbWVvbmUgY2FuIGhlbHAgeW91LgorSWYgeW91IGdldCAiVEVTVCBGQUlMVVJFIiBzb21lIHRlc3QgZmFpbGVkLiAgSWYgdGhlcmUgYXJlIG9uZSBvciB0d28gbWVzc2FnZXMKK2Fib3V0IGZhaWxlZCB0ZXN0cywgVmltIG1pZ2h0IHN0aWxsIHdvcmssIGJ1dCBub3QgcGVyZmVjdGx5LiAgSWYgeW91IHNlZSBhIGxvdAorb2YgZXJyb3IgbWVzc2FnZXMgb3IgVmltIGRvZXNuJ3QgZmluaXNoIHVudGlsIHRoZSBlbmQsIHRoZXJlIG11c3QgYmUgc29tZXRoaW5nCit3cm9uZy4gIEVpdGhlciB0cnkgdG8gZmluZCBvdXQgeW91cnNlbGYsIG9yIGZpbmQgc29tZW9uZSB3aG8gY2FuIHNvbHZlIGl0LgorWW91IGNvdWxkIGxvb2sgaW4gdGhlIHxtYWlsbGlzdC1hcmNoaXZlfCBmb3IgYSBzb2x1dGlvbi4gIElmIGV2ZXJ5dGhpbmcgZWxzZQorZmFpbHMsIHlvdSBjb3VsZCBhc2sgaW4gdGhlIHZpbSB8bWFpbGxpc3R8IGlmIHNvbWVvbmUgY2FuIGhlbHAgeW91LgogCiAKIElOU1RBTExJTkcKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZhcmlvdXMudHh0IGIvcnVudGltZS9kb2MvdmFyaW91cy50eHQKaW5kZXggMTc1NWU0Yy4uZDI2MDUyMiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmFyaW91cy50eHQKKysrIGIvcnVudGltZS9kb2MvdmFyaW91cy50eHQKQEAgLTEsNCArMSw0IEBACi0qdmFyaW91cy50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA4IEF1ZyAwNgorKnZhcmlvdXMudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOSBOb3YgMTEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTE3OSw4ICsxNzksOCBAQAogCQkJKHRvIHN0YXJ0IEluc2VydCBtb2RlLCBzZWUgfDpzdGFydGluc2VydHwpLiAgQSAiOiIKIAkJCWNvbW1hbmQgbXVzdCBiZSBjb21wbGV0ZWQgYXMgd2VsbC4gIEFuZCB5b3UgY2FuJ3QgdXNlCiAJCQkiUSIgb3IgImdRIiB0byBzdGFydCBFeCBtb2RlLgotCQkJe2NvbW1hbmRzfSBjYW5ub3Qgc3RhcnQgd2l0aCBhIHNwYWNlLiAgUHV0IGEgMSAob25lKQotCQkJYmVmb3JlIGl0LCAxIHNwYWNlIGlzIG9uZSBzcGFjZS4KKwkJCXtjb21tYW5kc30gY2Fubm90IHN0YXJ0IHdpdGggYSBzcGFjZS4gIFB1dCBhIGNvdW50IG9mCisJCQkxIChvbmUpIGJlZm9yZSBpdCwgIjEgIiBpcyBvbmUgc3BhY2UuCiAJCQlUaGUgJ2luc2VydG1vZGUnIG9wdGlvbiBpcyBpZ25vcmVkIGZvciB7Y29tbWFuZHN9LgogCQkJVGhpcyBjb21tYW5kIGNhbm5vdCBiZSBmb2xsb3dlZCBieSBhbm90aGVyIGNvbW1hbmQsCiAJCQlzaW5jZSBhbnkgJ3wnIGlzIGNvbnNpZGVyZWQgcGFydCBvZiB0aGUgY29tbWFuZC4KQEAgLTM0Nyw3ICszNDcsNyBAQAogTiAgKittb3VzZV9wdGVybSoJUU5YIG9ubHk6IHB0ZXJtIG1vdXNlIGhhbmRsaW5nIHxxbngtdGVybWluYWx8CiBOICAqK21vdXNlX3N5c21vdXNlKglVbml4IG9ubHk6ICpCU0QgY29uc29sZSBtb3VzZSBoYW5kbGluZyB8c3lzbW91c2V8CiBOICAqK21vdXNlX3h0ZXJtKglVbml4IG9ubHk6IHh0ZXJtIG1vdXNlIGhhbmRsaW5nIHx4dGVybS1tb3VzZXwKLUIgICorbXVsdGlfYnl0ZSoJS29yZWFuIGFuZCBvdGhlciBsYW5ndWFnZXMgfG11bHRpYnl0ZXwKK0IgICorbXVsdGlfYnl0ZSoJMTYgYW5kIDMyIGJpdCBjaGFyYWN0ZXJzIHxtdWx0aWJ5dGV8CiAgICAqK211bHRpX2J5dGVfaW1lKglXaW4zMiBpbnB1dCBtZXRob2QgZm9yIG11bHRpYnl0ZSBjaGFycyB8bXVsdGlieXRlLWltZXwKIE4gICorbXVsdGlfbGFuZyoJbm9uLUVuZ2xpc2ggbGFuZ3VhZ2Ugc3VwcG9ydCB8bXVsdGktbGFuZ3wKIG0gICorbXpzY2hlbWUqCQlNenNjaGVtZSBpbnRlcmZhY2UgfG16c2NoZW1lfApAQCAtNjQ3LDcgKzY0Nyw3IEBACiAJCQlOb3RlIHRoYXQgdGhlIGxvbmdlciB0aGUge3N1YmplY3R9IHlvdSBnaXZlLCB0aGUgbGVzcwogCQkJbWF0Y2hlcyB3aWxsIGJlIGZvdW5kLiAgWW91IGNhbiBnZXQgYW4gaWRlYSBob3cgdGhpcwogCQkJYWxsIHdvcmtzIGJ5IHVzaW5nIGNvbW1hbmRsaW5lIGNvbXBsZXRpb24gKHR5cGUgQ1RSTC1ECi0JCQlhZnRlciAiOmhlbHAgc3ViamVjdCIpLgorCQkJYWZ0ZXIgIjpoZWxwIHN1YmplY3QiIHxjX0NUUkwtRHwpLgogCQkJSWYgdGhlcmUgYXJlIHNldmVyYWwgbWF0Y2hlcywgeW91IGNhbiBoYXZlIHRoZW0gbGlzdGVkCiAJCQlieSBoaXR0aW5nIENUUkwtRC4gIEV4YW1wbGU6ID4KIAkJCQk6aGVscCBjb250PEN0cmwtRD4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZlcnNpb241LnR4dCBiL3J1bnRpbWUvZG9jL3ZlcnNpb241LnR4dAppbmRleCAxNmQyNjU3Li4wMjhiNTc0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92ZXJzaW9uNS50eHQKKysrIGIvcnVudGltZS9kb2MvdmVyc2lvbjUudHh0CkBAIC0xLDQgKzEsNCBAQAotKnZlcnNpb241LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjgKKyp2ZXJzaW9uNS50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDggRGVjIDE3CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC00NjAsMTAgKzQ2MCwxMCBAQAogUmVndWxhciBleHByZXNzaW9uIHBhdHRlcm5zCQkJCSphZGRlZC1yZWdleHAqCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotQWRkZWQgc3BlY2lmeWluZyBhIHJhbmdlIGZvciB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgb2YgYSBhdG9tOiAiXHthLGJ9Ii4gfC9ce3wKK0FkZGVkIHNwZWNpZnlpbmcgYSByYW5nZSBmb3IgdGhlIG51bWJlciBvZiBtYXRjaGVzIG9mIGFuIGF0b206ICJce2EsYn0iLiB8L1x7fAogQWRkZWQgdGhlICJzaG9ydGVzdCBtYXRjaCIgcmVnZXhwICJcey19IiAoV2ViYikuCi1BZGRlZCAiXHMiLCBtYXRjaGVzIGEgd2hpdGUgY2hhcmFjdGVyLiAgQ2FuIHJlcGxhY2UgIlsgXHRdIi4JCXwvXHN8Ci1BZGRlZCAiXFMiLCBtYXRjaGVzIGEgbm9uLXdoaXRlIGNoYXJhY3Rlci4gIENhbiByZXBsYWNlICJbXiBcdF0iLgl8L1xTfAorQWRkZWQgIlxzIiwgbWF0Y2hlcyBhIHdoaXRlIGNoYXJhY3Rlci4gIENhbiByZXBsYWNlICJbIFx0XSIuCQkgfC9cc3wKK0FkZGVkICJcUyIsIG1hdGNoZXMgYSBub24td2hpdGUgY2hhcmFjdGVyLiAgQ2FuIHJlcGxhY2UgIlteIFx0XSIuCSB8L1xTfAogCiAKIE92ZXJsb2FkZWQgdGFncwkJCQkJCSp0YWctb3ZlcmxvYWRlZCoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZlcnNpb243LnR4dCBiL3J1bnRpbWUvZG9jL3ZlcnNpb243LnR4dAppbmRleCBmZWNhYzUzLi42MWZjODUyIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQKKysrIGIvcnVudGltZS9kb2MvdmVyc2lvbjcudHh0CkBAIC0xLDQgKzEsNCBAQAotKnZlcnNpb243LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBBdWcgMDkKKyp2ZXJzaW9uNy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgRGVjIDAyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0yMjQsNyArMjI0LDcgQEAKIFRoZSAnc3BlbGxmaWxlJyAgICBvcHRpb24gc3BlY2lmaWVzIHdoZXJlIG5ldyB3b3JkcyBhcmUgYWRkZWQKIFRoZSAnc3BlbGxzdWdnZXN0JyBvcHRpb24gc3BlY2lmaWVzIHRoZSBtZXRob2RzIHVzZWQgZm9yIG1ha2luZyBzdWdnZXN0aW9ucwogCi1UaGUgfFtzfCBhbmQgfF1zfCBjb21tYW5kcyBjYW4gYmUgdXNlZCB0byBtb3ZlIHRvIHRoZSBuZXh0IG9yIHByZXZpb3VzIGVycm9yCitUaGUgfF1zfCBhbmQgfFtzfCBjb21tYW5kcyBjYW4gYmUgdXNlZCB0byBtb3ZlIHRvIHRoZSBuZXh0IG9yIHByZXZpb3VzIGVycm9yCiBUaGUgfHpnfCBhbmQgfHp3fCBjb21tYW5kcyBjYW4gYmUgdXNlZCB0byBhZGQgZ29vZCBhbmQgd3Jvbmcgd29yZHMKIFRoZSB8ej18CSAgY29tbWFuZCBjYW4gYmUgdXNlZCB0byBsaXN0IHN1Z2dlc3Rpb25zIGFuZCBjb3JyZWN0IHRoZSB3b3JkCiBUaGUgfDpta3NwZWxsfCAgICBjb21tYW5kIGlzIHVzZWQgdG8gZ2VuZXJhdGUgYSBWaW0gc3BlbGwgZmlsZSBmcm9tIHdvcmQgbGlzdHMKQEAgLTE4NjgsNyArMTg2OCw3IEBACiBXaW4zMjogQ2Fubm90IGVkaXQgYSBmaWxlIHN0YXJ0aW5nIHdpdGggIyB3aXRoIC0tcmVtb3RlLiAgRG8gZXNjYXBlICUgYW5kICMKIHdoZW4gYnVpbGRpbmcgdGhlICI6ZHJvcCIgY29tbWFuZC4KIAotQSBjb21tZW50IG9yIHwganVzdCBhZnRlciBhIGV4cHJlc3Npb24tYmFja3RpY2sgYXJndW1lbnQgd2FzIG5vdCByZWNvZ25pemVkLgorQSBjb21tZW50IG9yIHwganVzdCBhZnRlciBhbiBleHByZXNzaW9uLWJhY2t0aWNrIGFyZ3VtZW50IHdhcyBub3QgcmVjb2duaXplZC4KIEUuZy4gaW4gOmUgYD0iZm9vImAiY29tbWVudC4KIAogIigiIGRvZXMgbm90IHN0b3AgYXQgYW4gZW1wdHkgc2VudGVuY2UgKHNpbmdsZSBkb3QgYW5kIHdoaXRlIHNwYWNlKSB3aGlsZSAiKSIKQEAgLTQ3NDEsNyArNDc0MSw3IEBACiBBZGRlZCBhcmd1bWVudCB0byBtb2RlKCkgdG8gcmV0dXJuIGEgYml0IG1vcmUgZGV0YWlsIGFib3V0IHRoZSBjdXJyZW50IG1vZGUuCiAoQmVuIFNjaG1pZHQpCiAKLUFkZGVkIHN1cHBvcnQgZm9yIEJTRCBjb25zb2xlIG1vdXNlOiB8c3lzbW91c2V8LiAgKFBhdWwgTWFob2wpCitBZGRlZCBzdXBwb3J0IGZvciBCU0QgY29uc29sZSBtb3VzZTogfHN5c21vdXNlfC4gIChQYXVsIEIuIE1haG9sKQogCiBBZGRlZCB0aGUgIm5ld3RhYiIgdmFsdWUgZm9yIHRoZSAnc3dpdGNoYnVmJyBvcHRpb24uICAocGFydGx5IGJ5IFllZ2FwcGFuCiBMYWtzaG1hbmFuKQpAQCAtNTkwMyw3ICs1OTAzLDcgQEAKIAogUGF0Y2ggNy4xLjE4OAogUHJvYmxlbTogICAgV2hlbiAnc2hvd21vZGUnIGlzIG9mZiB0aGUgbWVzc2FnZSBmb3IgY2hhbmdpbmcgYSByZWFkb25seSBmaWxlIGlzCi0JICAgIGdpdmVuIGluIHRoZSBzZWNvbmQgY29sdW1uIGluc3RlYWQgb2YgdGhlIGZpcnN0LiAgKFBheWwgQi4gIE1haG9sKQorCSAgICBnaXZlbiBpbiB0aGUgc2Vjb25kIGNvbHVtbiBpbnN0ZWFkIG9mIHRoZSBmaXJzdC4gIChQYXlsIEIuIE1haG9sKQogU29sdXRpb246ICAgUHV0IHRoZSBXMTAgbWVzc2FnZSBpbiB0aGUgZmlyc3QgY29sdW1uLgogRmlsZXM6CSAgICBzcmMvZWRpdC5jCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZpbS1mci4xIGIvcnVudGltZS9kb2MvdmltLWZyLjEKaW5kZXggM2I0OTM1MS4uNWE1YTg3MSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmltLWZyLjEKKysrIGIvcnVudGltZS9kb2MvdmltLWZyLjEKQEAgLTIsNiArMiw4IEBACiAuXCIgKHJpY2hhcmQuaGl0aWVyQGRpYWwub2xlYW5lLmNvbSkKIC5cIiBNaXNlIOAgam91ciBkZSBsYSB0cmFkdWN0aW9uIHBhciBEYXZpZCBCbGFuY2hldAogLlwiIChkYXZpZC5ibGFuY2hldEBmcmVlLmZyKSAyMDA2LTA2LTEwCisuXCIgTWlzZSDgIGpvdXIgZGUgbGEgdHJhZHVjdGlvbiBwYXIgRG9taW5pcXVlIFBlbGzpCisuXCIgKGRvbWluaXF1ZS5wZWxsZUBnbWFpbC5jb20pIDIwMDgtMTEtMjkKIC5cIgogLlRIIFZJTSAxICIyMiBG6XZyaWVyIDIwMDIiCiAuU0ggTk9NCkBAIC0xOTQsNyArMTk2LDcgQEAKIC5UUAogXC1kCiBE6W1hcnJlIGVuIG1vZGUgRGlmZi4KLURldXggb3UgdHJvaXMgbm9tcyBkZSBmaWNoaWVycyBkb2l2ZW50IOp0cmUgc3DpY2lmaelzLgorRGV1eCwgdHJvaXMgb3UgcXVhdHJlIG5vbXMgZGUgZmljaGllcnMgZG9pdmVudCDqdHJlIHNw6WNpZmnpcy4KIC5CIFZpbQogb3V2cmlyYSBhbG9ycyB0b3VzIGxlcyBmaWNoaWVycyBldCBhZmZpY2hlcmEgbGV1cnMgZGlmZulyZW5jZXMuCiBGb25jdGlvbm5lIGNvbW1lIHZpbWRpZmYoMSkuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92aW0tZnIuVVRGLTguMSBiL3J1bnRpbWUvZG9jL3ZpbS1mci5VVEYtOC4xCmluZGV4IDZlN2IxODMuLjlhOGJlYTYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZpbS1mci5VVEYtOC4xCisrKyBiL3J1bnRpbWUvZG9jL3ZpbS1mci5VVEYtOC4xCkBAIC0yLDYgKzIsOCBAQAogLlwiIChyaWNoYXJkLmhpdGllckBkaWFsLm9sZWFuZS5jb20pCiAuXCIgTWlzZSDDoCBqb3VyIGRlIGxhIHRyYWR1Y3Rpb24gcGFyIERhdmlkIEJsYW5jaGV0CiAuXCIgKGRhdmlkLmJsYW5jaGV0QGZyZWUuZnIpIDIwMDYtMDYtMTAKKy5cIiBNaXNlIMOgIGpvdXIgZGUgbGEgdHJhZHVjdGlvbiBwYXIgRG9taW5pcXVlIFBlbGzDqQorLlwiIChkb21pbmlxdWUucGVsbGVAZ21haWwuY29tKSAyMDA4LTExLTI5CiAuXCIKIC5USCBWSU0gMSAiMjIgRsOpdnJpZXIgMjAwMiIKIC5TSCBOT00KQEAgLTE5NCw3ICsxOTYsNyBAQAogLlRQCiBcLWQKIETDqW1hcnJlIGVuIG1vZGUgRGlmZi4KLURldXggb3UgdHJvaXMgbm9tcyBkZSBmaWNoaWVycyBkb2l2ZW50IMOqdHJlIHNww6ljaWZpw6lzLgorRGV1eCwgdHJvaXMgb3UgcXVhdHJlIG5vbXMgZGUgZmljaGllcnMgZG9pdmVudCDDqnRyZSBzcMOpY2lmacOpcy4KIC5CIFZpbQogb3V2cmlyYSBhbG9ycyB0b3VzIGxlcyBmaWNoaWVycyBldCBhZmZpY2hlcmEgbGV1cnMgZGlmZsOpcmVuY2VzLgogRm9uY3Rpb25uZSBjb21tZSB2aW1kaWZmKDEpLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmltLXBsLjEgYi9ydW50aW1lL2RvYy92aW0tcGwuMQppbmRleCAzZmEzNGUyLi5kNTA2YjMzIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92aW0tcGwuMQorKysgYi9ydW50aW1lL2RvYy92aW0tcGwuMQpAQCAtMSw0ICsxLDQgQEAKLS5USCBWSU0gMSAiMjAwMiBMdXQgMjIiCisuVEggVklNIDEgIjIwMDYga3dpIDExIgogLlNIIE5BTUUKIHZpbSBcLSBWaSByb3pidWRvd2FueSwgZWR5dG9yIHRla3N0dSBkbGEgcHJvZ3JhbWlzdHkKIC5TSCBTWU5PUFNJUwpAQCAtMTMsNyArMTMsNyBAQAogW29wY2plXSBcLXQgem5hY3puaWsKIC5icgogLkIgdmltCi1bb3BjamVdIFwtcSBbcGxpayBis+pkdV0KK1tvcGNqZV0gXC1xIFtwbGlrX2Kz6mR1XQogLlBQCiAuYnIKIC5CIGV4CkBAIC0zNSwxMCArMzUsMTAgQEAKIHW/eXdhbnkgZG8gZWR5Y2ppIHdzemVsa2llZ28gcm9kemFqdSBwbGlr83cgdGVrc3Rvd3ljaC4KIFW/eXRlY3pueSB6d7Nhc3pjemEgcHJ6eSBlZHljamkgcHJvZ3JhbfN3LgogLlBQCi1Qb3NpYWRhIHdpZWxlIHVzcHJhd25pZfEgdyBwb3Lzd25hbml1IHogVmk6IHdpZWxvIHBvemlvbW93ZSBjb2ZhbmllIHptaWFuLAorUG9zaWFkYSB3aWVsZSB1c3ByYXduaWXxIHcgcG9y83duYW5pdSB6IFZpOiB3aWVsb3BvemlvbW93ZSBjb2ZhbmllIHptaWFuLAogd2llbGUgb2tpZW4gaSBidWZvcvN3LCBwb2S2d2lldGxhbmllIHNrs2FkbmksIGVkeWNqYSBsaW5paSBwb2xlY2XxLAogdXp1cGWzbmlhbmllIG5hencgcGxpa/N3LCBwb21vYyBvbi1saW5lLCB3aXp1YWxuYSBzZWxla2NqYSwgaXRkLgotWm9iYWN6ICI6aGVscCB2aV9kaWZmLnR4dCIgZGxhIHBvZHN1bW93YW5pYSBy879uaeYgcG9taepkenkKK1pvYmFjeiAiOmhlbHAgdmlfZGlmZi50eHQiIGRsYSBwb2RzdW1vd2FuaWEgcvO/bmljIHBvbWnqZHp5CiAuQiBWaW1lbQogaSBWaS4KIC5QUApAQCAtODIsNyArODIsNyBAQAoge3puYWN6bmlrYX0gc3p1a2Egc2nqIHcgcGxpa3UgdGFncywgendpsXphbnkgeiBuaW0gcGxpayBzdGFqZSBzaeoKIHBsaWtpZW0gYmllv7FjeW0gaSB3eWtvbnVqZSBzaeogcG93abF6YW5lIHBvbGVjZW5pZS4KIFphend5Y3phaiB1v3l3YSBzaeogdGVnbyBzcG9zb2J1IGRsYSBwcm9ncmFt83cgdyBDLCB3IGt083J5Y2ggd3lwYWRrdQote3puYWN6bmlrfSBwb3dpbmllbiBieeYgbmF6d7EgZnVua2NqaS4KK3t6bmFjem5pa30gbW+/ZSBieeYgbmF6d7EgZnVua2NqaS4KIFcgZWZla2NpZSBwbGlrIHphd2llcmFqsWN5IG9rcmW2bG9usSBmdW5rY2rqIHN0YWplIHNp6iBwbGlraWVtCiBiaWW/sWN5bSBhIGt1cnNvciBqZXN0IHVtaWVzemN6b255IG5hIHBvY3qxdGt1IGZ1bmtjamkuCiBab2JhY3ogIjpoZWxwIHRhZy1jb21tYW5kcyIuCkBAIC05MSw3ICs5MSw3IEBACiBaYWN6bmlqIHcgdHJ5YmllIHF1aWNrRml4LgogUGxpayBbcGxpa19is+pk83ddIHpvc3RhamUgemludGVycHJldG93YW55IGkgcG9rYb9lIHNp6iBwaWVyd3N6eSBis7FkLgogSmW2bGkgYnJhayBvcGNqaSBbcGxpa19is+pk83ddIG5hendhIHBsaWt1IHpvc3RhbmllIHBvYnJhbmEgeiBvcGNqaQotJ2Vycm9yZmlsZScgKGRvbXm2bG5pZSAiQXp0ZWNDLkVyciIgZGxhIEFtaWdpLCAiZXJycm9zLmVyciIgZGxhIGlubnljaAorXCYnZXJyb3JmaWxlJyAoZG9tebZsbmllICJBenRlY0MuRXJyIiBkbGEgQW1pZ2ksICJlcnJyb3MuZXJyIiBkbGEgaW5ueWNoCiBzeXN0ZW3zdy4KIERvIGtvbGVqbnljaCBis+pk83cgbW+/bmEgcHJ6ZXNrb2N6eeYgZHpp6mtpIHBvbGVjZW5pdSAiOmNuIi4KIFpvYmFjeiAiOmhlbHAgcXVpY2tmaXgiLgpAQCAtMTQwLDggKzE0MCw4IEBACiArL3t3evNyfQogVyBwaWVyd3N6eW0gcGxpa3Uga3Vyc29yIHpvc3RhbmllIHVtaWVzemN6b255IG5hIHBpZXJ3c3p5bSB3eXN0sXBpZW5pdQoge3d683J9LgotWm9iYWN6ICI6aGVscCBzZWFyY2gtcGF0dGVybiIgYnkgZG93aWVkemll5iBzaeogamFraWUgc7EgbW+/bGl3b7ZjaQotd3pvcvN3IHd5c3p1a2l3YW5pYS4KK1pvYmFjeiAiOmhlbHAgc2VhcmNoLXBhdHRlcm4iIGJ5IGRvd2llZHppZeYgc2nqIGpha2llIHOxIG1vv2xpd2UKK3d6b3JjZSB3eXN6dWtpd2FuaWEuCiAuVFAKICt7cG9sZWNlbmllfQogLlRQCkBAIC0xNjQsNyArMTY0LDcgQEAKIFwtXC1jbWQge3BvbGVjZW5pZX0KIFBvZG9ibmUgZG8gIlwtYyIsIGFsZSBwb2xlY2VuaWUgamVzdCB3eWtvbnl3YW5lIHR1vyBwcnplZAogaW50ZXJwcmV0YWNqsSBqYWtpZWdva29sd2llayBwbGlrdSB2aW1yYy4KLU1vv25hIHW/eeYgZG8gMTAgdGFraWNoIHBvbGVjZfEsIG5pZXphbGW/bmkgb2QgcG9sZWNl8SBvZCAiXC1jIgorTW+/bmEgdb955iBkbyAxMCB0YWtpY2ggcG9sZWNl8SwgbmllemFsZb9uaWUgb2QgcG9sZWNl8SBvZCAiXC1jIgogLlRQCiBcLUEKIEpltmxpCkBAIC0xOTAsNyArMTkwLDcgQEAKIC5UUAogXC1kCiBVcnVjaG9tIHcgdHJ5YmllIGRpZmYuCi1Qb3dpbm5vIGJ55iBkd2EgbHViIHRyenkgbmF6d3kgcGxpa/N3IGpha28gYXJndW1lbnR5LgorUG93aW5ubyBzaeogdb955iBkd/NjaCwgdHJ6ZWNoIGx1YiBjenRlcmVjaCBuYXp3eSBwbGlr83cgamFrbyBhcmd1bWVudPN3LgogLkIgVmltCiBvdHdvcnp5IHdzenlzdGtpZSB0ZSBwbGlraSBpIHBva2G/ZSBy879uaWNlIG1p6mR6eSBuaW1pLgogRHppYbNhIGphayB2aW1kaWZmKDEpLgpAQCAtMjgzLDE4ICsyODMsMTggQEAKIFwtbQogWm1pYW5hIHBsaWt1IGplc3QgbmllbW+/bGl3YS4KIFByemVzdGF3aWEgb3BjauogJ3dyaXRlJy4KLU1vv25hIGNhs3kgY3phcyB6bWllbmnmIHphd2FydG+25iBidWZvcmEsIGFsZSB6YXBpc2FuaWUgcGxpa3UgbmllIGplc3QKLW1vv2xpd2EuCitNb79uYSB6bWllbmlh5iB6YXdhcnRvtuYgYnVmb3JhLCBhbGUgemFwaXNhbmllIHBsaWt1IG5pZSBqZXN0Cittb79saXdlLgogLlRQCiBcLU0KIE9wY2plICdtb2RpZmlhYmxlJyBpICd3cml0ZScgem9zdGFusSB3ebOxY3pvbmUsIHRhayB3aepjIHptaWFueQotdyBwbGlrdSBvcmF6IGljaCB6YXBpc2FuaWUgbmllIHOxIG1vv2xpd2UuIE1vv25hIHdhcnRvtuYgdHljaCBvcGNqaQordyBwbGlrdSBvcmF6IGljaCB6YXBpc2FuaWUgbmllIHOxIG1vv2xpd2UuIFdhcnRvtuYgdHljaCBvcGNqaSBtb79uYQogem1pZW5p5i4KIC5UUAogXC1OCi1UcnliIG5pZWtvbXBhdGlieWxueS4gUHJ6ZXN0YXdpYSBvcGNq6iAnY29tcGF0aWJsZScuIER6aepraSB0ZW11CitUcnliIG5pZWtvbXBhdHliaWxueS4gUHJ6ZXN0YXdpYSBvcGNq6iAnY29tcGF0aWJsZScuIER6aepraSB0ZW11CiAuQiBWaW0KLWLqZHppZSB6YWNob3d5d2GzIHNp6iBvZHJvYmlu6iBsZXBpZWosIGFsZSBtbmllaiB6Z29kem5pZSB6IFZpIG5hd2V0Citi6mR6aWUgemFjaG93eXdhsyBzaeogb2Ryb2JpbuogbGVwaWVqLCBhbGUgbW5pZWogemdvZG5pZSB6IFZpIG5hd2V0CiBqZbZsaSBuaWUgaXN0bmllamUgcGxpayAudmltcmMuCiAuVFAKIFwtbgpAQCAtMzIzLDggKzMyMyw4IEBACiBcLVIKIFRyeWIgdHlsa28gZG8gb2Rjenl0dS4KIFpvc3RhbmllIHVzdGF3aW9uYSBvcGNqYSAncmVhZG9ubHknLgotQ2GzeSBjemFzIG1vv25hIHptaWVuaWHmIGJ1Zm9yLCBhbGUgYupkemllIGlzdG5pYbNhIGJsb2thZGEgcHJ6ZWQgcHJ6eXBhZGtvd3ltCi16YXBpc2FuaWVtIHBsaWt1LgorQ2GzeSBjemFzIG1vv25hIHptaWVuaWHmIGJ1Zm9yLCBhbGUgYupkemllIGlzdG5pYbNhIGJsb2thZGEgYnkgY2hyb25p5gorcHJ6ZWQgcHJ6eXBhZGtvd3ltIHphcGlzYW5pZW0gcGxpa3UuCiBKZbZsaSBjaGNlc3ogemFwaXNh5iBwbGlrIGRvZGFqIHd5a3J6eWtuaWsgZG8gcG9sZWNlbmlhIEV4LCBucC4gIjp3ISIuCiBPcGNqYSBcLVIgaW1wbGlrdWplIG9wY2rqIFwtbiAoem9iYWN6IHBvbmm/ZWopLgogT3BjamEgJ3JlYWRvbmx5JyBtb79lIHpvc3Rh5iBwcnplc3Rhd2lvbmEgcG9wcnpleiAiOnNldCBub3JvIi4KQEAgLTQyNywxNSArNDI3LDE1IEBACiAuVFAKIFwtXC1saXRlcmFsCiBQb3RyYWt0dWogbmF6d3kgcGxpa/N3IGRvc7Nvd25pZSBpIG5pZSByb3p3abF6dWoga3dhbnR5ZmlrYXRvcvN3LiBOaWUKLW1hIHpuYWN6ZW5pYSBuYSBVbmlrc2FjaCBnZHppZSBwb3ezb2thIHJvendpsXp1amUga3dhbnR5ZmlrYXRvcvN3CittYSB6bmFjemVuaWEgbmEgVW5pa3NhY2ggZ2R6aWUgcG93s29rYSByb3p3abF6dWplIGt3YW50eWZpa2F0b3J5LgogLlRQCiBcLVwtbm9wbHVnaW4KIFBvbWnxILNhZG93YW5pZSB3dHljemVrLiBJbXBsaWtvd2FuZSBwcnp5IFwtdSBOT05FLgogLlRQCiBcLVwtcmVtb3RlCi1Qb7OxY3ogc2nqIHogc2Vyd2VyZW0gVmltYSBpIGVkeXR1aiB3IG5pbSByZXN6dOogYXJndW1lbnTzdy4gSmW2bGkgbmllCi16bmFsZXppb25vIHNlcndlcmEgem9zdGFuaWUgemezb3N6b255IGKzsWQgYSBwbGlraSBi6mSxIG90d2FydGUKLXcgYmllv7FjeW0gVmltaWUuCitQb7OxY3ogc2nqIHogc2Vyd2VyZW0gVmltYSBpIGVkeXR1aiB3IG5pbSByZXN6dOogcGxpa/N3IHBvZGFueWNoIGpha28KK2FyZ3VtZW50eS4gSmW2bGkgbmllIHpuYWxlemlvbm8gc2Vyd2VyYSB6b3N0YW5pZSB6Z7Nvc3pvbnkgYrOxZCBhIHBsaWtpIHpvc3RhbrEKK290d2FydGUgdyBiaWW/sWN5bSBWaW1pZS4KIC5UUAogXC1cLXJlbW90ZVwtZXhwciB7d3lyYb9lbmllfQogUG+zsWN6IHogc2Vyd2VyZW0gVmltYSwgcm96d2mxvyB3IG5pbSB7d3lyYb9lbmllfSBpIHd5cGlzeiByb3p3abF6YW5pZQpAQCAtNDQ5LDcgKzQ0OSw3IEBACiBzZXJ3ZXJhLgogLlRQCiBcLVwtcmVtb3RlXC13YWl0Ci1UYWsgc2FtbyBqYWsgXC1yZW1vdGUsIGFsZSBWaW0gbmllIHpha2/xY3p5IGRvcPNraSBwbGlraSBuaWUgem9zdGFusQorVGFrIHNhbW8gamFrIFwtcmVtb3RlLCBhbGUgVmltIG5pZSB6YWtv8WN6eSBkb3Dza2kgcGxpa2kgcG96b3N0YW6xCiBvdHdhcnRlLgogLlRQCiBcLVwtcmVtb3RlXC13YWl0XC1zaWxlbnQKQEAgLTQ4Nyw2ICs0ODcsOSBAQAogLkIgVmltYQogVb95aiAiOmhlbHAgZG9jXC1maWxlXC1saXN0IiBhYnkgdXp5c2th5iBwZbNusSBsaXN06i4KIC5UUAorL3Vzci9sb2NhbC9saWIvdmltL2RvYy90YWdzCitQbGlrIHpuYWN6bmlr83cgc7N1v3kgZG8gem5hamRvd2FuaWEgaW5mb3JtYWNqaSB3IHBsaWthY2ggZG9rdW1lbnRhY2ppLgorLlRQCiAvdXNyL2xvY2FsL2xpYi92aW0vc3ludGF4L3N5bnRheC52aW0KIEdsb2JhbG5lIHVydWNoYW1pYW5pZSBwb2S2d2lldGxhbmlhIHNrs2FkbmkuCiAuVFAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZpbS1wbC5VVEYtOC4xIGIvcnVudGltZS9kb2MvdmltLXBsLlVURi04LjEKaW5kZXggMzY1ZGE1YS4uZjM1NTFkMiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmltLXBsLlVURi04LjEKKysrIGIvcnVudGltZS9kb2MvdmltLXBsLlVURi04LjEKQEAgLTEsNCArMSw0IEBACi0uVEggVklNIDEgIjIwMDIgTHV0IDIyIgorLlRIIFZJTSAxICIyMDA2IGt3aSAxMSIKIC5TSCBOQU1FCiB2aW0gXC0gVmkgcm96YnVkb3dhbnksIGVkeXRvciB0ZWtzdHUgZGxhIHByb2dyYW1pc3R5CiAuU0ggU1lOT1BTSVMKQEAgLTEzLDcgKzEzLDcgQEAKIFtvcGNqZV0gXC10IHpuYWN6bmlrCiAuYnIKIC5CIHZpbQotW29wY2plXSBcLXEgW3BsaWsgYsWCxJlkdV0KK1tvcGNqZV0gXC1xIFtwbGlrX2LFgsSZZHVdCiAuUFAKIC5icgogLkIgZXgKQEAgLTM1LDEwICszNSwxMCBAQAogdcW8eXdhbnkgZG8gZWR5Y2ppIHdzemVsa2llZ28gcm9kemFqdSBwbGlrw7N3IHRla3N0b3d5Y2guCiBVxbx5dGVjem55IHp3xYJhc3pjemEgcHJ6eSBlZHljamkgcHJvZ3JhbcOzdy4KIC5QUAotUG9zaWFkYSB3aWVsZSB1c3ByYXduaWXFhCB3IHBvcsOzd25hbml1IHogVmk6IHdpZWxvIHBvemlvbW93ZSBjb2ZhbmllIHptaWFuLAorUG9zaWFkYSB3aWVsZSB1c3ByYXduaWXFhCB3IHBvcsOzd25hbml1IHogVmk6IHdpZWxvcG96aW9tb3dlIGNvZmFuaWUgem1pYW4sCiB3aWVsZSBva2llbiBpIGJ1Zm9yw7N3LCBwb2TFm3dpZXRsYW5pZSBza8WCYWRuaSwgZWR5Y2phIGxpbmlpIHBvbGVjZcWELAogdXp1cGXFgm5pYW5pZSBuYXp3IHBsaWvDs3csIHBvbW9jIG9uLWxpbmUsIHdpenVhbG5hIHNlbGVrY2phLCBpdGQuCi1ab2JhY3ogIjpoZWxwIHZpX2RpZmYudHh0IiBkbGEgcG9kc3Vtb3dhbmlhIHLDs8W8bmnEhyBwb21pxJlkenkKK1pvYmFjeiAiOmhlbHAgdmlfZGlmZi50eHQiIGRsYSBwb2RzdW1vd2FuaWEgcsOzxbxuaWMgcG9tacSZZHp5CiAuQiBWaW1lbQogaSBWaS4KIC5QUApAQCAtODIsNyArODIsNyBAQAoge3puYWN6bmlrYX0gc3p1a2Egc2nEmSB3IHBsaWt1IHRhZ3MsIHp3acSFemFueSB6IG5pbSBwbGlrIHN0YWplIHNpxJkKIHBsaWtpZW0gYmllxbzEhWN5bSBpIHd5a29udWplIHNpxJkgcG93acSFemFuZSBwb2xlY2VuaWUuCiBaYXp3eWN6YWogdcW8eXdhIHNpxJkgdGVnbyBzcG9zb2J1IGRsYSBwcm9ncmFtw7N3IHcgQywgdyBrdMOzcnljaCB3eXBhZGt1Ci17em5hY3puaWt9IHBvd2luaWVuIGJ5xIcgbmF6d8SFIGZ1bmtjamkuCit7em5hY3puaWt9IG1vxbxlIGJ5xIcgbmF6d8SFIGZ1bmtjamkuCiBXIGVmZWtjaWUgcGxpayB6YXdpZXJhasSFY3kgb2tyZcWbbG9uxIUgZnVua2NqxJkgc3RhamUgc2nEmSBwbGlraWVtCiBiaWXFvMSFY3ltIGEga3Vyc29yIGplc3QgdW1pZXN6Y3pvbnkgbmEgcG9jesSFdGt1IGZ1bmtjamkuCiBab2JhY3ogIjpoZWxwIHRhZy1jb21tYW5kcyIuCkBAIC05MSw3ICs5MSw3IEBACiBaYWN6bmlqIHcgdHJ5YmllIHF1aWNrRml4LgogUGxpayBbcGxpa19ixYLEmWTDs3ddIHpvc3RhamUgemludGVycHJldG93YW55IGkgcG9rYcW8ZSBzacSZIHBpZXJ3c3p5IGLFgsSFZC4KIEplxZtsaSBicmFrIG9wY2ppIFtwbGlrX2LFgsSZZMOzd10gbmF6d2EgcGxpa3Ugem9zdGFuaWUgcG9icmFuYSB6IG9wY2ppCi0nZXJyb3JmaWxlJyAoZG9tecWbbG5pZSAiQXp0ZWNDLkVyciIgZGxhIEFtaWdpLCAiZXJycm9zLmVyciIgZGxhIGlubnljaAorXCYnZXJyb3JmaWxlJyAoZG9tecWbbG5pZSAiQXp0ZWNDLkVyciIgZGxhIEFtaWdpLCAiZXJycm9zLmVyciIgZGxhIGlubnljaAogc3lzdGVtw7N3LgogRG8ga29sZWpueWNoIGLFgsSZZMOzdyBtb8W8bmEgcHJ6ZXNrb2N6ecSHIGR6acSZa2kgcG9sZWNlbml1ICI6Y24iLgogWm9iYWN6ICI6aGVscCBxdWlja2ZpeCIuCkBAIC0xNDAsOCArMTQwLDggQEAKICsve3d6w7NyfQogVyBwaWVyd3N6eW0gcGxpa3Uga3Vyc29yIHpvc3RhbmllIHVtaWVzemN6b255IG5hIHBpZXJ3c3p5bSB3eXN0xIVwaWVuaXUKIHt3esOzcn0uCi1ab2JhY3ogIjpoZWxwIHNlYXJjaC1wYXR0ZXJuIiBieSBkb3dpZWR6aWXEhyBzacSZIGpha2llIHPEhSBtb8W8bGl3b8WbY2kKLXd6b3LDs3cgd3lzenVraXdhbmlhLgorWm9iYWN6ICI6aGVscCBzZWFyY2gtcGF0dGVybiIgYnkgZG93aWVkemllxIcgc2nEmSBqYWtpZSBzxIUgbW/FvGxpd2UKK3d6b3JjZSB3eXN6dWtpd2FuaWEuCiAuVFAKICt7cG9sZWNlbmllfQogLlRQCkBAIC0xNjQsNyArMTY0LDcgQEAKIFwtXC1jbWQge3BvbGVjZW5pZX0KIFBvZG9ibmUgZG8gIlwtYyIsIGFsZSBwb2xlY2VuaWUgamVzdCB3eWtvbnl3YW5lIHR1xbwgcHJ6ZWQKIGludGVycHJldGFjasSFIGpha2llZ29rb2x3aWVrIHBsaWt1IHZpbXJjLgotTW/FvG5hIHXFvHnEhyBkbyAxMCB0YWtpY2ggcG9sZWNlxYQsIG5pZXphbGXFvG5pIG9kIHBvbGVjZcWEIG9kICJcLWMiCitNb8W8bmEgdcW8ecSHIGRvIDEwIHRha2ljaCBwb2xlY2XFhCwgbmllemFsZcW8bmllIG9kIHBvbGVjZcWEIG9kICJcLWMiCiAuVFAKIFwtQQogSmXFm2xpCkBAIC0xOTAsNyArMTkwLDcgQEAKIC5UUAogXC1kCiBVcnVjaG9tIHcgdHJ5YmllIGRpZmYuCi1Qb3dpbm5vIGJ5xIcgZHdhIGx1YiB0cnp5IG5hend5IHBsaWvDs3cgamFrbyBhcmd1bWVudHkuCitQb3dpbm5vIHNpxJkgdcW8ecSHIGR3w7NjaCwgdHJ6ZWNoIGx1YiBjenRlcmVjaCBuYXp3eSBwbGlrw7N3IGpha28gYXJndW1lbnTDs3cuCiAuQiBWaW0KIG90d29yenkgd3N6eXN0a2llIHRlIHBsaWtpIGkgcG9rYcW8ZSByw7PFvG5pY2UgbWnEmWR6eSBuaW1pLgogRHppYcWCYSBqYWsgdmltZGlmZigxKS4KQEAgLTI4MywxOCArMjgzLDE4IEBACiBcLW0KIFptaWFuYSBwbGlrdSBqZXN0IG5pZW1vxbxsaXdhLgogUHJ6ZXN0YXdpYSBvcGNqxJkgJ3dyaXRlJy4KLU1vxbxuYSBjYcWCeSBjemFzIHptaWVuacSHIHphd2FydG/Fm8SHIGJ1Zm9yYSwgYWxlIHphcGlzYW5pZSBwbGlrdSBuaWUgamVzdAotbW/FvGxpd2EuCitNb8W8bmEgem1pZW5pYcSHIHphd2FydG/Fm8SHIGJ1Zm9yYSwgYWxlIHphcGlzYW5pZSBwbGlrdSBuaWUgamVzdAorbW/FvGxpd2UuCiAuVFAKIFwtTQogT3BjamUgJ21vZGlmaWFibGUnIGkgJ3dyaXRlJyB6b3N0YW7EhSB3ecWCxIVjem9uZSwgdGFrIHdpxJljIHptaWFueQotdyBwbGlrdSBvcmF6IGljaCB6YXBpc2FuaWUgbmllIHPEhSBtb8W8bGl3ZS4gTW/FvG5hIHdhcnRvxZvEhyB0eWNoIG9wY2ppCit3IHBsaWt1IG9yYXogaWNoIHphcGlzYW5pZSBuaWUgc8SFIG1vxbxsaXdlLiBXYXJ0b8WbxIcgdHljaCBvcGNqaSBtb8W8bmEKIHptaWVuacSHLgogLlRQCiBcLU4KLVRyeWIgbmlla29tcGF0aWJ5bG55LiBQcnplc3Rhd2lhIG9wY2rEmSAnY29tcGF0aWJsZScuIER6acSZa2kgdGVtdQorVHJ5YiBuaWVrb21wYXR5YmlsbnkuIFByemVzdGF3aWEgb3BjasSZICdjb21wYXRpYmxlJy4gRHppxJlraSB0ZW11CiAuQiBWaW0KLWLEmWR6aWUgemFjaG93eXdhxYIgc2nEmSBvZHJvYmluxJkgbGVwaWVqLCBhbGUgbW5pZWogemdvZHpuaWUgeiBWaSBuYXdldAorYsSZZHppZSB6YWNob3d5d2HFgiBzacSZIG9kcm9iaW7EmSBsZXBpZWosIGFsZSBtbmllaiB6Z29kbmllIHogVmkgbmF3ZXQKIGplxZtsaSBuaWUgaXN0bmllamUgcGxpayAudmltcmMuCiAuVFAKIFwtbgpAQCAtMzIzLDggKzMyMyw4IEBACiBcLVIKIFRyeWIgdHlsa28gZG8gb2Rjenl0dS4KIFpvc3RhbmllIHVzdGF3aW9uYSBvcGNqYSAncmVhZG9ubHknLgotQ2HFgnkgY3phcyBtb8W8bmEgem1pZW5pYcSHIGJ1Zm9yLCBhbGUgYsSZZHppZSBpc3RuaWHFgmEgYmxva2FkYSBwcnplZCBwcnp5cGFka293eW0KLXphcGlzYW5pZW0gcGxpa3UuCitDYcWCeSBjemFzIG1vxbxuYSB6bWllbmlhxIcgYnVmb3IsIGFsZSBixJlkemllIGlzdG5pYcWCYSBibG9rYWRhIGJ5IGNocm9uacSHCitwcnplZCBwcnp5cGFka293eW0gemFwaXNhbmllbSBwbGlrdS4KIEplxZtsaSBjaGNlc3ogemFwaXNhxIcgcGxpayBkb2RhaiB3eWtyenlrbmlrIGRvIHBvbGVjZW5pYSBFeCwgbnAuICI6dyEiLgogT3BjamEgXC1SIGltcGxpa3VqZSBvcGNqxJkgXC1uICh6b2JhY3ogcG9uacW8ZWopLgogT3BjamEgJ3JlYWRvbmx5JyBtb8W8ZSB6b3N0YcSHIHByemVzdGF3aW9uYSBwb3ByemV6ICI6c2V0IG5vcm8iLgpAQCAtNDI3LDE1ICs0MjcsMTUgQEAKIC5UUAogXC1cLWxpdGVyYWwKIFBvdHJha3R1aiBuYXp3eSBwbGlrw7N3IGRvc8WCb3duaWUgaSBuaWUgcm96d2nEhXp1aiBrd2FudHlmaWthdG9yw7N3LiBOaWUKLW1hIHpuYWN6ZW5pYSBuYSBVbmlrc2FjaCBnZHppZSBwb3fFgm9rYSByb3p3acSFenVqZSBrd2FudHlmaWthdG9yw7N3CittYSB6bmFjemVuaWEgbmEgVW5pa3NhY2ggZ2R6aWUgcG93xYJva2Egcm96d2nEhXp1amUga3dhbnR5ZmlrYXRvcnkuCiAuVFAKIFwtXC1ub3BsdWdpbgogUG9tacWEIMWCYWRvd2FuaWUgd3R5Y3play4gSW1wbGlrb3dhbmUgcHJ6eSBcLXUgTk9ORS4KIC5UUAogXC1cLXJlbW90ZQotUG/FgsSFY3ogc2nEmSB6IHNlcndlcmVtIFZpbWEgaSBlZHl0dWogdyBuaW0gcmVzenTEmSBhcmd1bWVudMOzdy4gSmXFm2xpIG5pZQotem5hbGV6aW9ubyBzZXJ3ZXJhIHpvc3RhbmllIHpnxYJvc3pvbnkgYsWCxIVkIGEgcGxpa2kgYsSZZMSFIG90d2FydGUKLXcgYmllxbzEhWN5bSBWaW1pZS4KK1BvxYLEhWN6IHNpxJkgeiBzZXJ3ZXJlbSBWaW1hIGkgZWR5dHVqIHcgbmltIHJlc3p0xJkgcGxpa8OzdyBwb2RhbnljaCBqYWtvCithcmd1bWVudHkuIEplxZtsaSBuaWUgem5hbGV6aW9ubyBzZXJ3ZXJhIHpvc3RhbmllIHpnxYJvc3pvbnkgYsWCxIVkIGEgcGxpa2kgem9zdGFuxIUKK290d2FydGUgdyBiaWXFvMSFY3ltIFZpbWllLgogLlRQCiBcLVwtcmVtb3RlXC1leHByIHt3eXJhxbxlbmllfQogUG/FgsSFY3ogeiBzZXJ3ZXJlbSBWaW1hLCByb3p3acSFxbwgdyBuaW0ge3d5cmHFvGVuaWV9IGkgd3lwaXN6IHJvendpxIV6YW5pZQpAQCAtNDQ5LDcgKzQ0OSw3IEBACiBzZXJ3ZXJhLgogLlRQCiBcLVwtcmVtb3RlXC13YWl0Ci1UYWsgc2FtbyBqYWsgXC1yZW1vdGUsIGFsZSBWaW0gbmllIHpha2/FhGN6eSBkb3DDs2tpIHBsaWtpIG5pZSB6b3N0YW7EhQorVGFrIHNhbW8gamFrIFwtcmVtb3RlLCBhbGUgVmltIG5pZSB6YWtvxYRjenkgZG9ww7NraSBwbGlraSBwb3pvc3RhbsSFCiBvdHdhcnRlLgogLlRQCiBcLVwtcmVtb3RlXC13YWl0XC1zaWxlbnQKQEAgLTQ4Nyw2ICs0ODcsOSBAQAogLkIgVmltYQogVcW8eWogIjpoZWxwIGRvY1wtZmlsZVwtbGlzdCIgYWJ5IHV6eXNrYcSHIHBlxYJuxIUgbGlzdMSZLgogLlRQCisvdXNyL2xvY2FsL2xpYi92aW0vZG9jL3RhZ3MKK1BsaWsgem5hY3puaWvDs3cgc8WCdcW8eSBkbyB6bmFqZG93YW5pYSBpbmZvcm1hY2ppIHcgcGxpa2FjaCBkb2t1bWVudGFjamkuCisuVFAKIC91c3IvbG9jYWwvbGliL3ZpbS9zeW50YXgvc3ludGF4LnZpbQogR2xvYmFsbmUgdXJ1Y2hhbWlhbmllIHBvZMWbd2lldGxhbmlhIHNrxYJhZG5pLgogLlRQCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92aW0tcnUuMSBiL3J1bnRpbWUvZG9jL3ZpbS1ydS4xCmluZGV4IGJiMjU5N2YuLmRmY2IzZWMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZpbS1ydS4xCisrKyBiL3J1bnRpbWUvZG9jL3ZpbS1ydS4xCkBAIC03LDcgKzcsNyBAQAogW8vMwN7JXSBbxsHKzCAuLl0KIC5icgogLkIgdmltCi1by8zA3sldIC0KK1vLzMDeyV0gXC0KIC5icgogLkIgdmltCiBby8zA3sldIFwtdCDNxdTLwQpAQCAtNjksMTIgKzY5LDEyIEBACiDQz83P3ckgy8/Nwc7E2SAiOm5leHQiLiD+1M/C2SDQ0sHXydTYIMbByswsIMnN0SDLz9TP0s/HzyDOwd7JzsHF1NPRINMg08nN18/MwQogIsTFxsnTIiAoLSksINDF0sXEINPQydPLz80gxsHKzM/XIM7Fz8LIz8TJzc8g0M/T1MHXydTYICItLSIuCiAuVFAKLS0KK1wtCiDmwcrMIMLVxMXUINDSz97J1MHOIMnaINDP1M/LwSDT1MHOxMHS1M7Px88g19fPxMEuIOvPzcHOxNkgwtXE1dQg097J1NnXwdTY09EKIMnaINPUwc7EwdLUzs/HzyDQz9TPy8EgxMnBx87P09TJy8kgKHN0ZGVyciksIMvP1M/S2cogxM/M1sXOIMLZ1NggCiDUxdLNyc7BzM/NLgogLlRQCi0tdCB7zcXUy8F9CitcLXQge83F1MvBfQog6c3RIMbByszBIMkgzsHewczYzsHRINDP2snDydEgy9XS08/SwSDawdfJ09HUIM/UICLNxdTLySIsINDPyM/WxcogzsEgzcXUy9UgZ290by4KIHvNxdTLwX0gyd3F1NPRINcgxsHKzMUgzcXUz8ssINPPz9TXxdTT1NfVwN3JyiDGwcrMINPUwc7P18nU09EgwcvUydfO2c0sIMEgCiDTz8/U18XU09TX1cDdwdEgy8/Nwc7EwSDJ09DPzM7RxdTT0S4KQEAgLTgzLDcgKzgzLDcgQEAKIObByswsINPPxMXS1sHdycogxtXOy8PJwCwg09TBzs/XydTT0SDBy9TJ187ZzSwgwSDL1dLTz9Ig0M/Nxd3BxdTT0SDXIM7B3sHMzyDG1c7Lw8nJLgog880uICI6aGVscCB0YWctY29tbWFuZHMiLgogLlRQCi0tcSBbxsHKzCDP28nCz8tdCitcLXEgW8bByswgz9vJws/LXQog7sHewdTYINLBws/U1SDXINLF1snNxSDC2dPU0s/HzyDJ09DSwdfMxc7J0S4KIPDSySDc1M/NINPeydTZ18HF1NPRIFvGwcrMIM/bycLPy10gySDQxdLXwdEgz9vJwsvBINfZ18/EydTT0SDOwSDcy9LBzi4KIOXTzMkgW8bByswgz9vJws/LXSDOxSDVy8Hawc4sIMnN0SDGwcrMwSDCxdKj1NPRIMnaINrOwd7FzsnRIM/Qw8nJICdlcnJvcmZpbGUnCkBAIC0xMDEsMjEgKzEwMSwyMSBAQAogZXgKIPrB0NXTyyDXINLF1snNxSBFeC4g5MzRINDF0sXIz8TBINcgzs/SzcHM2M7ZyiDSxdbJzQogzsXPwsjPxMnNzyDX2dDPzM7J1Nggy8/Nwc7E1SAiOnZpIi4g8sXWyc0gRXgg18vMwN7BxdQKLdTBy9bFIMvMwN4gIi1lIi4KK9TBy9bFIMvMwN4gIlwtZSIuCiAuVFAKIHZpZXcKIPrB0NXTyyDXINLF1snNxSAi1M/M2MvPIMTM0SDe1MXOydEiLiD32SDC1cTF1MUg2sHdyd3Fztkgz9Qg08zV3sHKzs/KINrB0MnTySAKLcbByszBLiD0zyDWxSDTwc3PxSDNz9bOzyDTxMXMwdTYIMvMwN7PzSAiLVIiLgorxsHKzMEuIPTPINbFINPBzc/FIM3P1s7PINPExczB1Nggy8zA3s/NICJcLVIiLgogLlRQCiBndmltIGd2aWV3CiD3xdLTydEg0yDH0sHGyd7F08vJzSDJztTF0sbFytPPzS4g+sHQ1dPLwcXU09Eg1yDOz9fPzSDPy87FLgot9M8g1sUg08HNz8Ugzc/Wzs8g08TFzMHU2CDQ0skg2sHQ1dPLxSDTIMvMwN7PzSAiLWciLgor9M8g1sUg08HNz8Ugzc/Wzs8g08TFzMHU2CDQ0skg2sHQ1dPLxSDTIMvMwN7PzSAiXC1nIi4KIC5UUAogcnZpbSBydmlldyByZ3ZpbSByZ3ZpZXcKIOvByyDJINDSxcTZxNXdycUgy8/Nwc7E2Swgzs8g0yDPx9LBzsnexc7J0c3JLiDuxczY2tEg2sHQ1dPLwdTYIMvPzcHOxNkgz8LPzM/ey8kKIMnMySDQ0snP09TBzsHXzMnXwdTYINLBws/U1QogLkIgVmltLgot983F09TPINDSydPUwdfLySAiciIgzc/Wzs8gydPQz8zY2s/XwdTYIMvMwN4gIi1aIi4KK/fNxdPUzyDQ0snT1MHXy8kgInIiIM3P1s7PIMnT0M/M2NrP18HU2CDLzMDeICJcLVoiLgogLlNIIOvs4P7pCiDrzMDeySDNz8fV1CDC2dTYINXLwdrBztkg1yDMwMLPzSDQz9LRxMvFLCDEzyDJzMkg0M/TzMUgyc2jzgogxsHKzM/XLiDrzMDeySDCxdogwdLH1c3FztTP1yDNz8fV1CDC2dTYIM/C38XEyc7Fztkg0M/EIM/EzsnNCkBAIC0xMzIsMjEgKzEzMiwyMSBAQAogLlRQCiAre8vPzcHOxMF9CiAuVFAKLS1jIHvLz83BzsTBfQorXC1jIHvLz83BzsTBfQoge8vPzcHOxMF9IMnT0M/MztHF1NPRINDP08zFINrBx9LV2svJINDF0tfPx88gxsHKzMEgy8HLIMvPzcHOxMEgRXguCiDl08zJIHvLz83BzsTBfSDTz8TF0tbJ1CDQ0s/CxczZLCDUzyDPzsEgxM/M1s7BIMLZ1Ngg2sHLzMDexc7BINcKIMTXz8rO2cUgy8HX2d7LySAo1yDawdfJ08nNz9PUySDP1CDJ09DPzNja1cXNz8ogz8LPzM/ey8kpLgog8NLJzcXSOiB2aW0gIitzZXQgc2kiIG1haW4uYwogLmJyCi3w0snNxd7BzsnFOiDtz9bOzyDVy8Ha2dfB1NggxM8gxMXT0dTJIMvPzcHOxCAiKyIgyczJICItYyIuCivw0snNxd7BzsnFOiDtz9bOzyDVy8Ha2dfB1NggxM8gxMXT0dTJIMvPzcHOxCAiKyIgyczJICJcLWMiLgogLlRQCi0tLWNtZCB7y8/Nwc7EwX0KLevByyAiLWMiLCDOzyDLz83BzsTBIMnT0M/MztHF1NPRINDF0sXEIM/C0sHCz9TLz8ogzMDCz8fPIMbByszBCitcLVwtY21kIHvLz83BzsTBfQor68HLICJcLWMiLCDOzyDLz83BzsTBIMnT0M/MztHF1NPRINDF0sXEIM/C0sHCz9TLz8ogzMDCz8fPIMbByszBCiDOwdPU0s/FyyAodmltcmMpLgog7c/Wzs8g1cvB2tnXwdTYIMTPIMTF09HUySDUwcvJyCDLz83BzsQsIM7F2sHXydPJzc8gz9Qgy8/Myd7F09TXwQoty8/Nwc7EICItYyIuCivLz83BzsQgIlwtYyIuCiAuVFAKLS1BCitcLUEKIOXTzMkKIC5CIFZpbQogwtnMINPPwtLBziDTINDPxMTF0tbLz8ogwdLBwtPLz8fPINHa2cvBIMTM0SDQ0sHXy8kgxsHKzM/XLApAQCAtMTU4LDM0ICsxNTgsMzQgQEAKIC5CIFZpbQog2sHXxdLbwcXUINLBws/U1SDTIM/bycLLz8ouCiAuVFAKLS1iCitcLWIKIOTXz8neztnKINLF1snNLgog8NLPydrXz8TJ1NPRIM7B09TSz8rLwSDOxcvP1M/S2cggz9DDycosIMTFzMHA3cnIINfP2s3P1s7PyiDQ0sHXy9UKIMTXz8nezs/HzyDJzMkgydPQz8zO0cXNz8fPIMbByszBLgogLlRQCi0tQworXC1DCiDyxdbJzSDTz9fNxdPUyc3P09TJLiD3y8zA3sHF1CDP0MPJwCAnY29tcGF0aWJsZScuCiAuQiBWaW0KIMLVxMXUINLBws/UwdTYINDP3tTJIMvByyBWaSwgxMHWxSDF08zJINPV3cXT1NfVxdQgxsHKzCAudmltcmMuCiAuVFAKLS1kCitcLWQKIPLF1snNINDPydPLwSDSwdrMyd7Jyi4KIOTPzNbOzyDC2dTYINXLwdrBzs8gxNfBIMnMySDU0skgyc3FzskgxsHKzMEuCiAuQiBWaW0KIM/Uy9LPxdQg19PFIMbByszZIMkg0M/LwdbF1CDSwdrMyd7J0SDNxdbE1SDOyc3JCiAoy8HLIHZpbWRpZmYoMSkpLgogLlRQCi0tZCB71dPU0s/K09TXz30KK1wtZCB71dPU0s/K09TXz30KIO/Uy9LZ1Ngge9XT1NLPytPU1899IMTM0SDJ09DPzNjaz9fBzsnRINcgy8HexdPU18Ug1MXSzcnOwczBICjUz8zYy88gzsEgQW1pZ2EpLgog8NLJzcXSOgogIlwtZCBjb246MjAvMzAvNjAwLzE1MCIuCiAuVFAKLS1lCitcLWUKIPrB0NXT1MnU2AogLkIgVmltCiDXINLF1snNxSBFeCwgy8HLIMLVxNTPIMnT0M/MztHFzdnKIMbByswgyc3FxdQgyc3RICJleCIuCiAuVFAKLS1mCitcLWYKIPLF1snNIMHL1MnXzs/HzyDQ0snMz9bFzsnRLiD3xdLTydEKIC5CIFZpbQog0yDH0sHGyd7F08vJzSDJztTF0sbFytPPzSDOxSDC1cTF1CDXxdTXydTY09EgySDP1MvMwN7B1NjT0QpAQCAtMTk4LDI1ICsxOTgsMjUgQEAKINPFwc7TwSDQ0sHXy8kgKM7B0NLJzcXSLCDQ0s/H0sHNzcEgxMzRINLBws/U2SDTINzMxcvU0s/Ozs/KINDP3tTPyikuCiDuwSDQzMHUxs/SzcUgQW1pZ2Egy8/Nwc7E2SAiOnNoIiDJICI6ISIgzsUgwtXE1dQg0sHCz9TB1NguCiAuVFAKLS0tbm9mb3JrCitcLVwtbm9mb3JrCiDyxdbJzSDBy9TJ187Px88g0NLJzM/Wxc7J0S4g98XS08nRCiAuQiBWaW0KINMgx9LBxsnexdPLyc0gyc7UxdLGxcrTz80gzsUgwtXExdQg18XU18nU2NPRIMkgz9TLzMDewdTY09EKIM/UINrB0NXT1MnX28XKIMWjIM/Cz8zP3svJLgogLlRQCi0tRgorXC1GCiDl08zJCiAuQiBWaW0KIMLZzCDTz8LSwc4g0yDQz8TExdLWy8/KIEZLTUFQIMTM0SDQ0sHXy8kg1MXL09TBINPQ0sHXwSDOwczF188KIMkgzsHT1NLPxcsgy8zB18nB1NXS2SDEzNEg0drZy8EgxsHS08ksINzUz9Qgy8zA3iDawdDV08vBxdQKIC5CIFZpbQog1yDSxdbJzcUgxsHS08ksIMnOwd7FIMfP18/S0Swg0yDXy8zA3qPOztnNySDP0MPJ0c3JIAotJ2ZrbWFwJyDJICdyaWdodGxlZnQnLgorXCYnZmttYXAnIMkgJ3JpZ2h0bGVmdCcuCiD3INDSz9TJ187PzSDTzNXewcUKIC5CIFZpbQog2sHXxdLbwcXUINLBws/U1SDTINPPz8Ldxc7Jxc0gz8Igz9vJwsvFLgogLlRQCi0tZworXC1nCiDl08zJCiAuQiBWaW0KIMLZzCDTz8LSwc4g0yDQz8TExdLWy8/KIMfSwcbJ3sXTy8/HzyDJztTF0sbFytPBLCDc1M/UIMvMwN4KQEAgLTIyNCwxMyArMjI0LDEzIEBACiAuQiBWaW0KINrB18XS28HF1CDSwcLP1NUg0yDTz8/C3cXOycXNIM/CIM/bycLLxS4KIC5UUAotLWgKK1wtaAog99nXz8TJ1CDL0sHUy9XAIMnOxs/SzcHDycAgz8IgwdLH1c3FztTByCDJIMvMwN7ByCDLz83BzsTOz8og09TSz8vJLgog8M/TzMUg3NTPx88KIC5CIFZpbQog2sHXxdLbwcXUINLBws/U1S4KIC5UUAotLUgKK1wtSAog5dPMyQogLkIgVmltCiDC2cwg08/C0sHOINMg0M/ExMXS1svPyiDQ0sHXy8kg1MXL09TBINPQ0sHXwSDOwczF188KQEAgLTI0MSw2OSArMjQxLDY5IEBACiAuQiBWaW0KINrB18XS28HF1CDSwcLP1NUg0yDTz8/C3cXOycXNIM/CIM/bycLLxS4KIC5UUAotLWkge3ZpbWluZm99CitcLWkge3ZpbWluZm99CiDl08zJIMnT0M/M2NrVxdTT0SDGwcrMIHZpbWluZm8sINTPINzUz9Qgy8zA3iDawcTBo9Qgyc3RINTBy8/HzyDGwcrMwSAo183F09TPCiAifi8udmltaW5mbyIg0M8g1c3PzN7BzsnAKS4g7c/Wzs8g1MHL1sUgydrCxdbB1NggydPQz8zY2s/Xwc7J0SDGwcrMwSB2aW1pbmZvCiDQ1dSjzSDVy8Hawc7J0SDJzcXOySAiTk9ORSIuCiAuVFAKLS1MCi30zyDWxSwg3tTPIMkgLXIuCitcLUwKK/TPINbFLCDe1M8gySBcLXIuCiAuVFAKLS1sCitcLWwKIPLF1snNIExpc3AuIPfLzMDewcDU09Egz9DDyckgJ2xpc3AnIMkgJ3Nob3dtYXRjaCcuCiAuVFAKLS1tCitcLW0KIOnazcXOxc7JxSDGwcrMz9cg2sHQ0sXdxc7PLiDw0skg3NTPzSDP1MvMwN7BxdTT0SDP0MPJ0SAnd3JpdGUnLCDQz9zUz83VCiDawdDJ09ggxsHKzM/XINPUwc7P18nU09EgzsXXz9rNz9bOz8ouCiAuVFAKLS1OCitcLU4KIPLF1snNIM7F0M/Mzs/KINPP183F09TJzc/T1MkuIO/Uy8zA3sHF1NPRICdjb21wYXRpYmxlJy4KIC5CIFZpbQogwtXExdQg0sHCz9TB1NggzNXe28UsIM7PIM7FIMLVxMXUINDPzM7P09TYwCDTz9fNxdPUyc0g0yBWaSwgxMHWxSDF08zJCiDP1NPV1NPU19XF1CDGwcrMINPDxc7B0snRIM7B09TSz8XLICgudmltcmMpLgogLlRQCi0tbgorXC1uCiDuxSDJ09DPzNjaz9fB1Ngg09fP0C3GwcrMLiD3z9PT1MHOz9fMxc7JxSDQ0skg08LPxSDXINLBws/UxSDC1cTF1CDOxdfP2s3P1s7PLgog9cTPws7PIMTM0SDQ0sHXy8kgxsHKzMEgzsEgz97FztggzcXEzMXOzs/NIM7P08nUxczFICjOwdDSyc3F0iwgx8nCy8/NIMTJ08vFKS4KIPTPINbFINPBzc/FIM3P1s7PINPExczB1Nggy8/Nwc7Ez8ogIjpzZXQgdWM9MCIuIO/UzcXOwSAtLSAiOnNldCB1Yz0yMDAiLgogLlRQCi0tb1tOXQorXC1vW05dCiDv1MvS2dTYIE4gz8vPziwg0sHaxMXMo87O2cgg0M8gx8/SydrPztTBzMkuIOXTzMkgTiDOxSDVy8Hawc7PLCDUzyDP1MvS2dfBxdTT0SAKINDPIM/Ezs/N1SDPy87VIM7BIMvB1sTZyiDGwcrMLgogLlRQCi0tT1tOXQorXC1PW05dCiDv1MvS2dTYIE4gz8vPziwg0sHaxMXMo87O2cgg0M8g18XS1MnLwczJLiDl08zJIE4gzsUg1cvB2sHOzywg1M8gz9TL0tnXwcXU09EgCiDQzyDPxM7PzdUgz8vO1SDOwSDLwdbE2cogxsHKzC4KIC5UUAotLVIKK1wtUgog8sXWyc0gItTPzNjLzyDEzNEg3tTFzsnRIi4g98vMwN7BxdTT0SDP0MPJ0SAncmVhZG9ubHknLgog5sHKzCDXIMLVxsXSxSDEz9PU1dDFziDEzNEg0sXEwcvUydLP18HOydEsIM7PIMXHzyDLz9DJwCDOwSDEydPLxSDOxczY2tEKINPM1d7Bys7PINDF0sXawdDJ08HU2C4g5MzRINPPyNLBzsXOydEgxsHKzMEgzsXPwsjPxMnNzyDEz8LB18nU2CDXz9PLzMnDwdTFzNjO2coKINrOwcsgyyDTz8/U18XU09TX1cDdxcogy8/Nwc7ExSBFeCAozsHQ0snNxdIsICI6dyEiKS4KLevMwN4gIi1SIiDQz8TSwdrVzcXXwcXUINTBy9bFLCDe1M8gydPQz8zY2tXF1NPRIMkgy8zA3iAiLW4iICjTzS4g19nbxSkuCivrzMDeICJcLVIiINDPxNLB2tXNxdfBxdQg1MHL1sUsIN7UzyDJ09DPzNja1cXU09EgySDLzMDeICJcLW4iICjTzS4g19nbxSkuCiDv0MPJ0SAncmVhZG9ubHknIM3P1sXUIMLZ1Ngg19nLzMDexc7BINDPIMvPzcHOxMUgIjpzZXQgbm9ybyIuCiDzzS4gIjpoZWxwICdyZWFkb25seSciLgogLlRQCi0tcgorXC1yCiD32dfF09TJINPQydPPyyDT18/QLcbByszP1yDJIMnOxs/SzcHDycAgz8IgycggydPQz8zY2s/Xwc7JySDEzNEg18/T09TBzs/XzMXOydEg0M/TzMUg08LP0S4KIC5UUAotLXIge8bBysx9CitcLXIge8bBysx9CiDyxdbJzSDXz9PT1MHOz9fMxc7J0S4KIOTM0SDXz9PT1MHOz9fMxc7J0SDQz9PMxSDTws/RIMLVxMXUIMnT0M/M2NrP18HOINPXz9AtxsHKzC4KIPPXz9AtxsHKzCDJzcXF1CDUzyDWxSDJzdEsIN7UzyDJINTFy9PUz9fZyiDGwcrMLCDOzyDTIMTPwsHXzMXOycXNINLB09vJ0sXOydEgIi5zd3AiLgog880uICI6aGVscCByZWNvdmVyeSIuCiAuVFAKLS1zCi30ycjJyiDSxdbJzS4g9M/M2MvPINDSySDawdDV08vFIMvByyAiRXgiIMnMySDF08zJINDF0sXEICItcyIg1cvB2sHOIMvMwN4gIi1lIi4KK1wtcwor9MnIycog0sXWyc0uIPTPzNjLzyDQ0skg2sHQ1dPLxSDLwcsgIkV4IiDJzMkgxdPMySDQxdLFxCAiXC1zIiDVy8Hawc4gy8zA3iAiXC1lIi4KIC5UUAotLXMge3NjcmlwdGlufQorXC1zIHtzY3JpcHRpbn0KIPPeydTZ18HF1NPRIMbByswg08PFzsHSydEge3NjcmlwdGlufS4g8NLJINzUz80sINPPxMXS1snNz8UgxsHKzMEg18/T0NLJzsnNwcXU09EKINcg18nExSDLz83BzsQsIMvByyDF08zJIMLZIM/OySDC2czJIM7BwtLBztkgzsEgy8/O08/MyS4gCiD0zyDWxSDTwc3PxSDEz9PUycfBxdTT0SDLz83BzsTPyiAiOnNvdXJjZSEge3NjcmlwdGlufSIuCiDl08zJIMvPzsXDIMbByszBINPeydTZ18HF1NPRIMTPINrB18XS28XOydEg0sHCz9TZINLFxMHL1M/SwSwg1M8g1yDEwczYzsXK28XNIAog19fPxCDP09XdxdPU18zRxdTT0SDTIMvMwdfJwdTV0tkuCiAuVFAKLS1UIHt0ZXJtaW5hbH0KK1wtVCB7dGVybWluYWx9CiDzz8/C3cHF1AogLkIgVmltCiDUydAgydPQz8zY2tXFzc/HzyDUxdLNyc7BzMEuIO7Fz8LIz8TJzc8g1M/M2MvPINcg1MXIINPJ1NXBw8nRyCwgy8/HxMEgCkBAIC0zMTIsOTYgKzMxMiw5NiBAQAogLkIgVmltCiAo19PU0s/Fzs8g1yDOxcfPKSDJzMkgz9DSxcTFzMXOzyDXIMbByszByCB0ZXJtY2FwIMnMySB0ZXJtaW5mby4KIC5UUAotLXUge3ZpbXJjfQorXC11IHt2aW1yY30KIOnT0M/M2NrP18HU2CDLz83BzsTZIMnaIMbByszBINPDxc7B0snRIHt2aW1yY30gxMzRIM7B09TSz8rLyS4KIPfTxSDP09TBzNjO2cUgxsHKzNkgzsHT1NLPxcsg0NLP0NXTy8HA1NPRLgog9cTPws7PIMTM0SDSxcTBy9TJ0s/Xwc7J0SDT0MXDycHM2M7ZyCDUydDP1yDGwcrMz9cuCiD+1M/C2SDJ2sLF1sHU2CDJ09DPzNjaz9fBzsnRINPDxc7B0snF1yDOwdPU0s/FyyDXz8/C3cUsIM3P1s7PIMnT0M/M2NrP18HU2Aogyc3RICJOT05FIi4g880uICI6aGVscCBpbml0aWFsaXphdGlvbiIuCiAuVFAKLS1VIHtndmltcmN9CitcLVUge2d2aW1yY30KIOnT0M/M2NrP18HU2CDLz83BzsTZIMnaIMbByszBINPDxc7B0snRIHtndmltcmN9IMTM0SDOwdPU0s/Ky8kgx9LBxsnexdPLz8fPIAogyc7UxdLGxcrTwS4KIPfTxSDP09TBzNjO2cUgxsHKzNkgzsHT1NLPxcsgxMzRIMfSwcbJ3sXTy8/HzyDJztTF0sbFytPBINDSz9DV08vBwNTT0S4KIP7Uz8LZIMnawsXWwdTYIMnT0M/M2NrP18HOydEg08PFzsHSycXXIM7B09TSz8XLIMfSwcbJ3sXTy8/HzyDJztTF0sbFytPBINfPz8LdxSwgCiDNz9bOzyDJ09DPzNjaz9fB1Nggyc3RICJOT05FIi4g880uICI6aGVscCBndWktaW5pdCIuCiAuVFAKLS1WCitcLVYKICLiz8zUzMnX2coiINLF1snNLiD32dfPxMnU2CDTz8/C3cXOydEgzyDUz80sIMvBy8nFIMbByszZIN7J1MHA1NPRLCDJIM8KIN7Uxc7JyS3awdDJ08kgxsHKzMEgdmltaW5mby4KIC5UUAotLXYKK1wtdgog+sHQ1dPUydTYCiAuQiBWaW0KINcg0sXWyc3FIFZpLCDLwcsgwtXE1M8gydPQz8zO0cXN2cogxsHKzCDJzcXF1CDJzdEgInZpIi4g6c3FxdQg083Z08wg1M/M2MvPIMXTzMkKIMnT0M/MztHFzdnKIMbByswgyc3FxdQgyc3RICJleCIuCiAuVFAKLS13IHtzY3JpcHRvdXR9CitcLXcge3NjcmlwdG91dH0KIPfTxSDTyc3Xz8zZLCDX18XEo87O2cUg0yDLzMHXycHU1dLZINfQzM/U2CDEzyDNz83FztTBINrB18XS28XOydEg0sHCz9TZLCAKINrB0MnT2dfBwNTT0SDXIMbByswge3NjcmlwdG91dH0uCiD1xM/Czs8g1yDUz80g08zV3sHFLCDLz8fEwSDX2SDIz9TJ1MUg08/axMHU2CDGwcrMINPDxc7B0snRIMTM0SDQz9PMxcTVwN3Fx88gCi3J09DPzNjaz9fBzsnRINMgInZpbSAtcyIgyczJICI6c291cmNlISIuIOXTzMkgxsHKzCB7c2NyaXB0b3V0fSDV1sUg09XdxdPU19XF1CwgCivJ09DPzNjaz9fBzsnRINMgInZpbSBcLXMiIMnMySAiOnNvdXJjZSEiLiDl08zJIMbByswge3NjcmlwdG91dH0g1dbFINPV3cXT1NfVxdQsIAog1M8gzs/X2cUg08nN18/M2SDC1cTV1CDEz8LB18zRwNTT0SDXIMvPzsXDIMbByszBLgogLlRQCi0tVyB7c2NyaXB0b3V0fQot68HLICItdyIsIM7PINXWxSDT1d3F09TX1cDdycogxsHKzCDC1cTF1CDQxdLF2sHQydPBzi4KK1wtVyB7c2NyaXB0b3V0fQor68HLICJcLXciLCDOzyDV1sUg09XdxdPU19XA3cnKIMbByswgwtXExdQg0MXSxdrB0MnTwc4uCiAuVFAKLS14CitcLXgKIPvJxtLP18HU2CDawdDJ09nXwcXN2cUgxsHKzNkuIOLVxMXUINfZxMHOzyDQ0snHzMHbxc7JxSDX18XT1Mkg0MHSz8zYLgogLlRQCi0tWAorXC1YCiDuxSDQz8TLzMDewdTY09EgyyBYLdPF0tfF0tUuIPXTy8/S0cXUINrBx9LV2svVIM7BIMvPztPPzMksIM7PIMTFzMHF1CDOxdfP2s3P1s7ZzQogydPQz8zY2s/Xwc7JxSDawcfPzM/Xy8Egz8vOwSDJIMLVxsXSwSDPws3FzsEuCiAuVFAKLS1aCitcLVoKIO/H0sHOyd7Fzs7ZyiDSxdbJzS4g8sHCz9TBxdQg1MHLINbFLCDLwcsgySDQ0s/H0sHNzdksIM7B3snOwcDdycXT0SDTICJyIi4KIC5UUAotLS0KK1wtXC0KIOvPzsXDIMvMwN7Fyi4g99PFIM/T1MHM2M7ZxSDB0sfVzcXO1Nkg0sHT083B1NLJ18HA1NPRIMvByyDJzcXOwSDGwcrMz9cuCiDtz9bF1CDC2dTYIMnT0M/M2NrP18HOzyDEzNEg0NLB18vJIMbByszP1ywgyc3FzsEgy8/Uz9LZyCDOwd7JzsHA1NPRINMgxMXGydPBLgogLlRQCi0tLWhlbHAKLffZ18XT1Mkgy9LB1MvVwCDT0NLB18vVIMkg2sHXxdLbydTYINLBws/U1S4g9M8g1sUsIN7UzyDJICItaCIuCitcLVwtaGVscAor99nXxdPUySDL0sHUy9XAINPQ0sHXy9UgySDawdfF0tvJ1Ngg0sHCz9TVLiD0zyDWxSwg3tTPIMkgIlwtaCIuCiAuVFAKLS0tdmVyc2lvbgorXC1cLXZlcnNpb24KIPfZ18XT1Mkgyc7Gz9LNwcPJwCDPINfF0tPJySDQ0s/H0sHNzdkgySDawdfF0tvJ1Ngg0sHCz9TVLgogLlRQCi0tLXJlbW90ZQorXC1cLXJlbW90ZQog8M/Ey8zA3snU2NPRIMsg08XS18XS1SBWaW0gySDawdPUwdfJ1NggxcfPINDSwdfJ1NggxsHKzNksINXLwdrBzs7ZxSDXCiDQz9PMxcTVwN3JyCDB0sfVzcXO1MHILiDl08zJINPF0tfF0iDOxSDOwcrExc4sINfZ18/EydTT0SDQ0sXE1dDSxdbExc7JxSwKIMEgxsHKzNkg0NLB19HU09Eg1yDNxdPUzs/KIMvP0MnJIFZpbS4KIC5UUAotLS1yZW1vdGUtZXhwciB719nSwdbFzsnFfQorXC1cLXJlbW90ZVwtZXhwciB719nSwdbFzsnFfQog8M/Ey8zA3snU2NPRIMsg08XS18XS1SBWaW0gySDX2d7J08zJ1NggzsEgzqPNINXLwdrBzs7PxSB719nSwdbFzsnFfS4gCiDyxdrVzNjUwdQg19neydPMxc7J0SDC1cTF1CDX2dfFxMXOINcg0M/Uz8sg09TBzsTB0tTOz8fPINfZ18/EwSAoc3Rkb3V0KS4KIC5UUAotLS1yZW1vdGUtc2VuZCB7y8zA3sl9CitcLVwtcmVtb3RlXC1zZW5kIHvLzMDeyX0KIPDPxMvMwN7J1NjT0SDLINPF0tfF0tUgVmltIMkg0MXSxcTB1Nggxc3VINXLwdrBzs7ZxSB7y8zA3sl9LgogLlRQCi0tLXJlbW90ZS1zaWxlbnQKLevByyAiLS1yZW1vdGUiLCDOzyDCxdog19nXz8TBINDSxcTV0NLF1sTFzsnRLCDF08zJINPF0tfF0iDOxSDOwcrExc4uCitcLVwtcmVtb3RlXC1zaWxlbnQKK+vByyAiXC1cLXJlbW90ZSIsIM7PIMLF2iDX2dfPxMEg0NLFxNXQ0sXWxMXOydEsIMXTzMkg08XS18XSIM7FIM7BysTFzi4KIC5UUAotLS1yZW1vdGUtd2FpdAot68HLICItLXJlbW90ZSIsIM7PIFZpbSDOxSDC1cTF1CDawdfF0tvB1Ngg0sHCz9TVIMTPINTFyCDQz9IsINDPy8EgzsUgwtXExdQgCitcLVwtcmVtb3RlXC13YWl0CivrwcsgIlwtXC1yZW1vdGUiLCDOzyBWaW0gzsUgwtXExdQg2sHXxdLbwdTYINLBws/U1SDEzyDUxcgg0M/SLCDQz8vBIM7FIMLVxMXUIAog19nQz8zOxc7BINDSwdfLwSDX08XIIMbByszP1y4KIC5UUAotLS1yZW1vdGUtd2FpdC1zaWxlbnQKLevByyAiLS1yZW1vdGUtd2FpdCIsIM7PIMLF2iDX2dfPxMEg0NLFxNXQ0sXWxMXOydEsIMXTzMkg08XS18XSIM7FIM7BysTFzi4KK1wtXC1yZW1vdGVcLXdhaXRcLXNpbGVudAor68HLICJcLVwtcmVtb3RlXC13YWl0Iiwgzs8gwsXaINfZ18/EwSDQ0sXE1dDSxdbExc7J0SwgxdPMySDTxdLXxdIgzsUgzsHKxMXOLgogLlRQCi0tLXNlcnZlcmxpc3QKK1wtXC1zZXJ2ZXJsaXN0CiD32dfF09TJINPQydPPyyDX08XIIMTP09TV0M7ZyCDTxdLXxdLP1yBWaW0uCiAuVFAKLS0tc2VydmVybmFtZSB7yc3RfQorXC1cLXNlcnZlcm5hbWUge8nN0X0KIOnT0M/M2NrP18HU2CDVy8Hawc7Oz8Uge8nN0X0g1yDLwd7F09TXxSDJzcXOySDTxdLXxdLBLiDl08zJIMvMwN4gCi0iLS1yZW1vdGUiIM7FINXLwdrBziwg1M8ge8nN0X0g0NLJ09fBydfBxdTT0SDEwc7Oz8ogy8/QyckgVmltLCAKKyJcLVwtcmVtb3RlIiDOxSDVy8Hawc4sINTPIHvJzdF9INDSydPXwcnXwcXU09EgxMHOzs/KIMvP0MnJIFZpbSwgCiDXINDSz9TJ187PzSDTzNXewcUg1cvB2tnXwcXUIM7BIMnN0SDTxdLXxdLBLCDLIMvP1M/Sz83VINPMxcTVxdQgCiDQz8TLzMDeydTY09EuCiAuVFAKLS0tc29ja2V0aWQge2lkfQorXC1cLXNvY2tldGlkIHtpZH0KIPTPzNjLzyDEzNEgx9LBxsnexdPLz8fPIMnO1MXSxsXK08EgR1RLOiDJ09DPzNjaz9fB1NggzcXIwc7J2s0gR3RrUGx1ZyDEzNEKINrB0NXTy8EgZ3ZpbSDXIM/UxMXM2M7PzSDPy87FLgogLlRQCi0tLWVjaG8td2lkCitcLVwtZWNob1wtd2lkCiD0z8zYy88gxMzRIMfSwcbJ3sXTy8/HzyDJztTF0sbFytPBIEdUSzog19nXxdPUySDJxMXO1MnGycvB1M/SIM/LzsEgKFdpbmRvdyBJRCkKINcg0M/Uz8sg09TBzsTB0tTOz8fPINfZ18/EwSAoc3Rkb3V0KS4KIC5TSCD38/Ty7+Xu7uHxIPPw8uH36+EKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZpbS1ydS5VVEYtOC4xIGIvcnVudGltZS9kb2MvdmltLXJ1LlVURi04LjEKaW5kZXggNzgxMjdhMS4uZWY1MjcyMSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmltLXJ1LlVURi04LjEKKysrIGIvcnVudGltZS9kb2MvdmltLXJ1LlVURi04LjEKQEAgLTcsNyArNyw3IEBACiBb0LrQu9GO0YfQuF0gW9GE0LDQudC7IC4uXQogLmJyCiAuQiB2aW0KLVvQutC70Y7Rh9C4XSAtCitb0LrQu9GO0YfQuF0gXC0KIC5icgogLkIgdmltCiBb0LrQu9GO0YfQuF0gXC10INC80LXRgtC60LAKQEAgLTY5LDEyICs2OSwxMiBAQAog0L/QvtC80L7RidC4INC60L7QvNCw0L3QtNGLICI6bmV4dCIuINCn0YLQvtCx0Ysg0L/RgNCw0LLQuNGC0Ywg0YTQsNC50LssINC40LzRjyDQutC+0YLQvtGA0L7Qs9C+INC90LDRh9C40L3QsNC10YLRgdGPINGBINGB0LjQvNCy0L7Qu9CwCiAi0LTQtdGE0LjRgSIgKC0pLCDQv9C10YDQtdC0INGB0L/QuNGB0LrQvtC8INGE0LDQudC70L7QsiDQvdC10L7QsdGF0L7QtNC40LzQviDQv9C+0YHRgtCw0LLQuNGC0YwgIi0tIi4KIC5UUAotLQorXC0KINCk0LDQudC7INCx0YPQtNC10YIg0L/RgNC+0YfQuNGC0LDQvSDQuNC3INC/0L7RgtC+0LrQsCDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsC4g0JrQvtC80LDQvdC00Ysg0LHRg9C00YPRgiDRgdGH0LjRgtGL0LLQsNGC0YzRgdGPCiDQuNC3INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQv9C+0YLQvtC60LAg0LTQuNCw0LPQvdC+0YHRgtC40LrQuCAoc3RkZXJyKSwg0LrQvtGC0L7RgNGL0Lkg0LTQvtC70LbQtdC9INCx0YvRgtGMIAog0YLQtdGA0LzQuNC90LDQu9C+0LwuCiAuVFAKLS10IHvQvNC10YLQutCwfQorXC10IHvQvNC10YLQutCwfQog0JjQvNGPINGE0LDQudC70LAg0Lgg0L3QsNGH0LDQu9GM0L3QsNGPINC/0L7Qt9C40YbQuNGPINC60YPRgNGB0L7RgNCwINC30LDQstC40YHRj9GCINC+0YIgItC80LXRgtC60LgiLCDQv9C+0YXQvtC20LXQuSDQvdCwINC80LXRgtC60YMgZ290by4KIHvQvNC10YLQutCwfSDQuNGJ0LXRgtGB0Y8g0LIg0YTQsNC50LvQtSDQvNC10YLQvtC6LCDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC40Lkg0YTQsNC50Lsg0YHRgtCw0L3QvtCy0LjRgtGB0Y8g0LDQutGC0LjQstC90YvQvCwg0LAgCiDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidCw0Y8g0LrQvtC80LDQvdC00LAg0LjRgdC/0L7Qu9C90Y/QtdGC0YHRjy4KQEAgLTgzLDcgKzgzLDcgQEAKINCk0LDQudC7LCDRgdC+0LTQtdGA0LbQsNGJ0LjQuSDRhNGD0L3QutGG0LjRjiwg0YHRgtCw0L3QvtCy0LjRgtGB0Y8g0LDQutGC0LjQstC90YvQvCwg0LAg0LrRg9GA0YHQvtGAINC/0L7QvNC10YnQsNC10YLRgdGPINCyINC90LDRh9Cw0LvQviDRhNGD0L3QutGG0LjQuC4KINCh0LwuICI6aGVscCB0YWctY29tbWFuZHMiLgogLlRQCi0tcSBb0YTQsNC50Lsg0L7RiNC40LHQvtC6XQorXC1xIFvRhNCw0LnQuyDQvtGI0LjQsdC+0LpdCiDQndCw0YfQsNGC0Ywg0YDQsNCx0L7RgtGDINCyINGA0LXQttC40LzQtSDQsdGL0YHRgtGA0L7Qs9C+INC40YHQv9GA0LDQstC70LXQvdC40Y8uCiDQn9GA0Lgg0Y3RgtC+0Lwg0YHRh9C40YLRi9Cy0LDQtdGC0YHRjyBb0YTQsNC50Lsg0L7RiNC40LHQvtC6XSDQuCDQv9C10YDQstCw0Y8g0L7RiNC40LHQutCwINCy0YvQstC+0LTQuNGC0YHRjyDQvdCwINGN0LrRgNCw0L0uCiDQldGB0LvQuCBb0YTQsNC50Lsg0L7RiNC40LHQvtC6XSDQvdC1INGD0LrQsNC30LDQvSwg0LjQvNGPINGE0LDQudC70LAg0LHQtdGA0ZHRgtGB0Y8g0LjQtyDQt9C90LDRh9C10L3QuNGPINC+0L/RhtC40LggJ2Vycm9yZmlsZScKQEAgLTEwMSwyMSArMTAxLDIxIEBACiBleAog0JfQsNC/0YPRgdC6INCyINGA0LXQttC40LzQtSBFeC4g0JTQu9GPINC/0LXRgNC10YXQvtC00LAg0LIg0L3QvtGA0LzQsNC70YzQvdGL0Lkg0YDQtdC20LjQvAog0L3QtdC+0LHRhdC+0LTQuNC80L4g0LLRi9C/0L7Qu9C90LjRgtGMINC60L7QvNCw0L3QtNGDICI6dmkiLiDQoNC10LbQuNC8IEV4INCy0LrQu9GO0YfQsNC10YIKLdGC0LDQutC20LUg0LrQu9GO0YcgIi1lIi4KK9GC0LDQutC20LUg0LrQu9GO0YcgIlwtZSIuCiAuVFAKIHZpZXcKINCX0LDQv9GD0YHQuiDQsiDRgNC10LbQuNC80LUgItGC0L7Qu9GM0LrQviDQtNC70Y8g0YfRgtC10L3QuNGPIi4g0JLRiyDQsdGD0LTQtdGC0LUg0LfQsNGJ0LjRidC10L3RiyDQvtGCINGB0LvRg9GH0LDQudC90L7QuSDQt9Cw0L/QuNGB0LggCi3RhNCw0LnQu9CwLiDQotC+INC20LUg0YHQsNC80L7QtSDQvNC+0LbQvdC+INGB0LTQtdC70LDRgtGMINC60LvRjtGH0L7QvCAiLVIiLgor0YTQsNC50LvQsC4g0KLQviDQttC1INGB0LDQvNC+0LUg0LzQvtC20L3QviDRgdC00LXQu9Cw0YLRjCDQutC70Y7Rh9C+0LwgIlwtUiIuCiAuVFAKIGd2aW0gZ3ZpZXcKINCS0LXRgNGB0LjRjyDRgSDQs9GA0LDRhNC40YfQtdGB0LrQuNC8INC40L3RgtC10YDRhNC10LnRgdC+0LwuINCX0LDQv9GD0YHQutCw0LXRgtGB0Y8g0LIg0L3QvtCy0L7QvCDQvtC60L3QtS4KLdCi0L4g0LbQtSDRgdCw0LzQvtC1INC80L7QttC90L4g0YHQtNC10LvQsNGC0Ywg0L/RgNC4INC30LDQv9GD0YHQutC1INGBINC60LvRjtGH0L7QvCAiLWciLgor0KLQviDQttC1INGB0LDQvNC+0LUg0LzQvtC20L3QviDRgdC00LXQu9Cw0YLRjCDQv9GA0Lgg0LfQsNC/0YPRgdC60LUg0YEg0LrQu9GO0YfQvtC8ICJcLWciLgogLlRQCiBydmltIHJ2aWV3IHJndmltIHJndmlldwog0JrQsNC6INC4INC/0YDQtdC00YvQtNGD0YnQuNC1INC60L7QvNCw0L3QtNGLLCDQvdC+INGBINC+0LPRgNCw0L3QuNGH0LXQvdC40Y/QvNC4LiDQndC10LvRjNC30Y8g0LfQsNC/0YPRgdC60LDRgtGMINC60L7QvNCw0L3QtNGLINC+0LHQvtC70L7Rh9C60LgKINC40LvQuCDQv9GA0LjQvtGB0YLQsNC90LDQstC70LjQstCw0YLRjCDRgNCw0LHQvtGC0YMKIC5CIFZpbS4KLdCS0LzQtdGB0YLQviDQv9GA0LjRgdGC0LDQstC60LggInIiINC80L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC60LvRjtGHICItWiIuCivQktC80LXRgdGC0L4g0L/RgNC40YHRgtCw0LLQutC4ICJyIiDQvNC+0LbQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQutC70Y7RhyAiXC1aIi4KIC5TSCDQmtCb0K7Qp9CYCiDQmtC70Y7Rh9C4INC80L7Qs9GD0YIg0LHRi9GC0Ywg0YPQutCw0LfQsNC90Ysg0LIg0LvRjtCx0L7QvCDQv9C+0YDRj9C00LrQtSwg0LTQviDQuNC70Lgg0L/QvtGB0LvQtSDQuNC80ZHQvQog0YTQsNC50LvQvtCyLiDQmtC70Y7Rh9C4INCx0LXQtyDQsNGA0LPRg9C80LXQvdGC0L7QsiDQvNC+0LPRg9GCINCx0YvRgtGMINC+0LHRitC10LTQuNC90LXQvdGLINC/0L7QtCDQvtC00L3QuNC8CkBAIC0xMzIsMjEgKzEzMiwyMSBAQAogLlRQCiAre9C60L7QvNCw0L3QtNCwfQogLlRQCi0tYyB70LrQvtC80LDQvdC00LB9CitcLWMge9C60L7QvNCw0L3QtNCwfQoge9C60L7QvNCw0L3QtNCwfSDQuNGB0L/QvtC70L3Rj9C10YLRgdGPINC/0L7RgdC70LUg0LfQsNCz0YDRg9C30LrQuCDQv9C10YDQstC+0LPQviDRhNCw0LnQu9CwINC60LDQuiDQutC+0LzQsNC90LTQsCBFeC4KINCV0YHQu9C4IHvQutC+0LzQsNC90LTQsH0g0YHQvtC00LXRgNC20LjRgiDQv9GA0L7QsdC10LvRiywg0YLQviDQvtC90LAg0LTQvtC70LbQvdCwINCx0YvRgtGMINC30LDQutC70Y7Rh9C10L3QsCDQsgog0LTQstC+0LnQvdGL0LUg0LrQsNCy0YvRh9C60LggKNCyINC30LDQstC40YHQuNC80L7RgdGC0Lgg0L7RgiDQuNGB0L/QvtC70YzQt9GD0LXQvNC+0Lkg0L7QsdC+0LvQvtGH0LrQuCkuCiDQn9GA0LjQvNC10YA6IHZpbSAiK3NldCBzaSIgbWFpbi5jCiAuYnIKLdCf0YDQuNC80LXRh9Cw0L3QuNC1OiDQnNC+0LbQvdC+INGD0LrQsNC30YvQstCw0YLRjCDQtNC+INC00LXRgdGP0YLQuCDQutC+0LzQsNC90LQgIisiINC40LvQuCAiLWMiLgor0J/RgNC40LzQtdGH0LDQvdC40LU6INCc0L7QttC90L4g0YPQutCw0LfRi9Cy0LDRgtGMINC00L4g0LTQtdGB0Y/RgtC4INC60L7QvNCw0L3QtCAiKyIg0LjQu9C4ICJcLWMiLgogLlRQCi0tLWNtZCB70LrQvtC80LDQvdC00LB9Ci3QmtCw0LogIi1jIiwg0L3QviDQutC+0LzQsNC90LTQsCDQuNGB0L/QvtC70L3Rj9C10YLRgdGPINC/0LXRgNC10LQg0L7QsdGA0LDQsdC+0YLQutC+0Lkg0LvRjtCx0L7Qs9C+INGE0LDQudC70LAKK1wtXC1jbWQge9C60L7QvNCw0L3QtNCwfQor0JrQsNC6ICJcLWMiLCDQvdC+INC60L7QvNCw0L3QtNCwINC40YHQv9C+0LvQvdGP0LXRgtGB0Y8g0L/QtdGA0LXQtCDQvtCx0YDQsNCx0L7RgtC60L7QuSDQu9GO0LHQvtCz0L4g0YTQsNC50LvQsAog0L3QsNGB0YLRgNC+0LXQuiAodmltcmMpLgog0JzQvtC20L3QviDRg9C60LDQt9GL0LLQsNGC0Ywg0LTQviDQtNC10YHRj9GC0Lgg0YLQsNC60LjRhSDQutC+0LzQsNC90LQsINC90LXQt9Cw0LLQuNGB0LjQvNC+INC+0YIg0LrQvtC70LjRh9C10YHRgtCy0LAKLdC60L7QvNCw0L3QtCAiLWMiLgor0LrQvtC80LDQvdC0ICJcLWMiLgogLlRQCi0tQQorXC1BCiDQldGB0LvQuAogLkIgVmltCiDQsdGL0Lsg0YHQvtCx0YDQsNC9INGBINC/0L7QtNC00LXRgNC20LrQvtC5INCw0YDQsNCx0YHQutC+0LPQviDRj9C30YvQutCwINC00LvRjyDQv9GA0LDQstC60Lgg0YTQsNC50LvQvtCyLApAQCAtMTU4LDM0ICsxNTgsMzQgQEAKIC5CIFZpbQog0LfQsNCy0LXRgNGI0LDQtdGCINGA0LDQsdC+0YLRgyDRgSDQvtGI0LjQsdC60L7QuS4KIC5UUAotLWIKK1wtYgog0JTQstC+0LjRh9C90YvQuSDRgNC10LbQuNC8Lgog0J/RgNC+0LjQt9Cy0L7QtNC40YLRgdGPINC90LDRgdGC0YDQvtC50LrQsCDQvdC10LrQvtGC0L7RgNGL0YUg0L7Qv9GG0LjQuSwg0LTQtdC70LDRjtGJ0LjRhSDQstC+0LfQvNC+0LbQvdC+0Lkg0L/RgNCw0LLQutGDCiDQtNCy0L7QuNGH0L3QvtCz0L4g0LjQu9C4INC40YHQv9C+0LvQvdGP0LXQvNC+0LPQviDRhNCw0LnQu9CwLgogLlRQCi0tQworXC1DCiDQoNC10LbQuNC8INGB0L7QstC80LXRgdGC0LjQvNC+0YHRgtC4LiDQktC60LvRjtGH0LDQtdGCINC+0L/RhtC40Y4gJ2NvbXBhdGlibGUnLgogLkIgVmltCiDQsdGD0LTQtdGCINGA0LDQsdC+0YLQsNGC0Ywg0L/QvtGH0YLQuCDQutCw0LogVmksINC00LDQttC1INC10YHQu9C4INGB0YPRidC10YHRgtCy0YPQtdGCINGE0LDQudC7IC52aW1yYy4KIC5UUAotLWQKK1wtZAog0KDQtdC20LjQvCDQv9C+0LjRgdC60LAg0YDQsNC30LvQuNGH0LjQuS4KINCU0L7Qu9C20L3QviDQsdGL0YLRjCDRg9C60LDQt9Cw0L3QviDQtNCy0LAg0LjQu9C4INGC0YDQuCDQuNC80LXQvdC4INGE0LDQudC70LAuCiAuQiBWaW0KINC+0YLQutGA0L7QtdGCINCy0YHQtSDRhNCw0LnQu9GLINC4INC/0L7QutCw0LbQtdGCINGA0LDQt9C70LjRh9C40Y8g0LzQtdC20LTRgyDQvdC40LzQuAogKNC60LDQuiB2aW1kaWZmKDEpKS4KIC5UUAotLWQge9GD0YHRgtGA0L7QudGB0YLQstC+fQorXC1kIHvRg9GB0YLRgNC+0LnRgdGC0LLQvn0KINCe0YLQutGA0YvRgtGMIHvRg9GB0YLRgNC+0LnRgdGC0LLQvn0g0LTQu9GPINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPINCyINC60LDRh9C10YHRgtCy0LUg0YLQtdGA0LzQuNC90LDQu9CwICjRgtC+0LvRjNC60L4g0L3QsCBBbWlnYSkuCiDQn9GA0LjQvNC10YA6CiAiXC1kIGNvbjoyMC8zMC82MDAvMTUwIi4KIC5UUAotLWUKK1wtZQog0JfQsNC/0YPRgdGC0LjRgtGMCiAuQiBWaW0KINCyINGA0LXQttC40LzQtSBFeCwg0LrQsNC6INCx0YPQtNGC0L4g0LjRgdC/0L7Qu9C90Y/QtdC80YvQuSDRhNCw0LnQuyDQuNC80LXQtdGCINC40LzRjyAiZXgiLgogLlRQCi0tZgorXC1mCiDQoNC10LbQuNC8INCw0LrRgtC40LLQvdC+0LPQviDQv9GA0LjQu9C+0LbQtdC90LjRjy4g0JLQtdGA0YHQuNGPCiAuQiBWaW0KINGBINCz0YDQsNGE0LjRh9C10YHQutC40Lwg0LjQvdGC0LXRgNGE0LXQudGB0L7QvCDQvdC1INCx0YPQtNC10YIg0LLQtdGC0LLQuNGC0YzRgdGPINC4INC+0YLQutC70Y7Rh9Cw0YLRjNGB0Y8KQEAgLTE5OCwyNSArMTk4LDI1IEBACiDRgdC10LDQvdGB0LAg0L/RgNCw0LLQutC4ICjQvdCw0L/RgNC40LzQtdGALCDQv9GA0L7Qs9GA0LDQvNC80LAg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0L7QuSkuCiDQndCwINC/0LvQsNGC0YTQvtGA0LzQtSBBbWlnYSDQutC+0LzQsNC90LTRiyAiOnNoIiDQuCAiOiEiINC90LUg0LHRg9C00YPRgiDRgNCw0LHQvtGC0LDRgtGMLgogLlRQCi0tLW5vZm9yaworXC1cLW5vZm9yawog0KDQtdC20LjQvCDQsNC60YLQuNCy0L3QvtCz0L4g0L/RgNC40LvQvtC20LXQvdC40Y8uINCS0LXRgNGB0LjRjwogLkIgVmltCiDRgSDQs9GA0LDRhNC40YfQtdGB0LrQuNC8INC40L3RgtC10YDRhNC10LnRgdC+0Lwg0L3QtSDQsdGD0LTQtdGCINCy0LXRgtCy0LjRgtGM0YHRjyDQuCDQvtGC0LrQu9GO0YfQsNGC0YzRgdGPCiDQvtGCINC30LDQv9GD0YHRgtC40LLRiNC10Lkg0LXRkSDQvtCx0L7Qu9C+0YfQutC4LgogLlRQCi0tRgorXC1GCiDQldGB0LvQuAogLkIgVmltCiDQsdGL0Lsg0YHQvtCx0YDQsNC9INGBINC/0L7QtNC00LXRgNC20LrQvtC5IEZLTUFQINC00LvRjyDQv9GA0LDQstC60Lgg0YLQtdC60YHRgtCwINGB0L/RgNCw0LLQsCDQvdCw0LvQtdCy0L4KINC4INC90LDRgdGC0YDQvtC10Log0LrQu9Cw0LLQuNCw0YLRg9GA0Ysg0LTQu9GPINGP0LfRi9C60LAg0YTQsNGA0YHQuCwg0Y3RgtC+0YIg0LrQu9GO0Ycg0LfQsNC/0YPRgdC60LDQtdGCCiAuQiBWaW0KINCyINGA0LXQttC40LzQtSDRhNCw0YDRgdC4LCDQuNC90LDRh9C1INCz0L7QstC+0YDRjywg0YEg0LLQutC70Y7Rh9GR0L3QvdGL0LzQuCDQvtC/0YbQuNGP0LzQuCAKLSdma21hcCcg0LggJ3JpZ2h0bGVmdCcuCitcJidma21hcCcg0LggJ3JpZ2h0bGVmdCcuCiDQkiDQv9GA0L7RgtC40LLQvdC+0Lwg0YHQu9GD0YfQsNC1CiAuQiBWaW0KINC30LDQstC10YDRiNCw0LXRgiDRgNCw0LHQvtGC0YMg0YEg0YHQvtC+0LHRidC10L3QuNC10Lwg0L7QsSDQvtGI0LjQsdC60LUuCiAuVFAKLS1nCitcLWcKINCV0YHQu9C4CiAuQiBWaW0KINCx0YvQuyDRgdC+0LHRgNCw0L0g0YEg0L/QvtC00LTQtdGA0LbQutC+0Lkg0LPRgNCw0YTQuNGH0LXRgdC60L7Qs9C+INC40L3RgtC10YDRhNC10LnRgdCwLCDRjdGC0L7RgiDQutC70Y7RhwpAQCAtMjI0LDEzICsyMjQsMTMgQEAKIC5CIFZpbQog0LfQsNCy0LXRgNGI0LDQtdGCINGA0LDQsdC+0YLRgyDRgSDRgdC+0L7QsdGJ0LXQvdC40LXQvCDQvtCxINC+0YjQuNCx0LrQtS4KIC5UUAotLWgKK1wtaAog0JLRi9Cy0L7QtNC40YIg0LrRgNCw0YLQutGD0Y4g0LjQvdGE0L7RgNC80LDRhtC40Y4g0L7QsSDQsNGA0LPRg9C80LXQvdGC0LDRhSDQuCDQutC70Y7Rh9Cw0YUg0LrQvtC80LDQvdC00L3QvtC5INGB0YLRgNC+0LrQuC4KINCf0L7RgdC70LUg0Y3RgtC+0LPQvgogLkIgVmltCiDQt9Cw0LLQtdGA0YjQsNC10YIg0YDQsNCx0L7RgtGDLgogLlRQCi0tSAorXC1ICiDQldGB0LvQuAogLkIgVmltCiDQsdGL0Lsg0YHQvtCx0YDQsNC9INGBINC/0L7QtNC00LXRgNC20LrQvtC5INC/0YDQsNCy0LrQuCDRgtC10LrRgdGC0LAg0YHQv9GA0LDQstCwINC90LDQu9C10LLQvgpAQCAtMjQxLDY5ICsyNDEsNjkgQEAKIC5CIFZpbQog0LfQsNCy0LXRgNGI0LDQtdGCINGA0LDQsdC+0YLRgyDRgSDRgdC+0L7QsdGJ0LXQvdC40LXQvCDQvtCxINC+0YjQuNCx0LrQtS4KIC5UUAotLWkge3ZpbWluZm99CitcLWkge3ZpbWluZm99CiDQldGB0LvQuCDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0YTQsNC50LsgdmltaW5mbywg0YLQviDRjdGC0L7RgiDQutC70Y7RhyDQt9Cw0LTQsNGR0YIg0LjQvNGPINGC0LDQutC+0LPQviDRhNCw0LnQu9CwICjQstC80LXRgdGC0L4KICJ+Ly52aW1pbmZvIiDQv9C+INGD0LzQvtC70YfQsNC90LjRjikuINCc0L7QttC90L4g0YLQsNC60LbQtSDQuNC30LHQtdC20LDRgtGMINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPINGE0LDQudC70LAgdmltaW5mbwog0L/Rg9GC0ZHQvCDRg9C60LDQt9Cw0L3QuNGPINC40LzQtdC90LggIk5PTkUiLgogLlRQCi0tTAot0KLQviDQttC1LCDRh9GC0L4g0LggLXIuCitcLUwKK9Ci0L4g0LbQtSwg0YfRgtC+INC4IFwtci4KIC5UUAotLWwKK1wtbAog0KDQtdC20LjQvCBMaXNwLiDQktC60LvRjtGH0LDRjtGC0YHRjyDQvtC/0YbQuNC4ICdsaXNwJyDQuCAnc2hvd21hdGNoJy4KIC5UUAotLW0KK1wtbQog0JjQt9C80LXQvdC10L3QuNC1INGE0LDQudC70L7QsiDQt9Cw0L/RgNC10YnQtdC90L4uINCf0YDQuCDRjdGC0L7QvCDQvtGC0LrQu9GO0YfQsNC10YLRgdGPINC+0L/RhtC40Y8gJ3dyaXRlJywg0L/QvtGN0YLQvtC80YMKINC30LDQv9C40YHRjCDRhNCw0LnQu9C+0LIg0YHRgtCw0L3QvtCy0LjRgtGB0Y8g0L3QtdCy0L7Qt9C80L7QttC90L7QuS4KIC5UUAotLU4KK1wtTgog0KDQtdC20LjQvCDQvdC10L/QvtC70L3QvtC5INGB0L7QstC80LXRgdGC0LjQvNC+0YHRgtC4LiDQntGC0LrQu9GO0YfQsNC10YLRgdGPICdjb21wYXRpYmxlJy4KIC5CIFZpbQog0LHRg9C00LXRgiDRgNCw0LHQvtGC0LDRgtGMINC70YPRh9GI0LUsINC90L4g0L3QtSDQsdGD0LTQtdGCINC/0L7Qu9C90L7RgdGC0YzRjiDRgdC+0LLQvNC10YHRgtC40Lwg0YEgVmksINC00LDQttC1INC10YHQu9C4CiDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCINGE0LDQudC7INGB0YbQtdC90LDRgNC40Y8g0L3QsNGB0YLRgNC+0LXQuiAoLnZpbXJjKS4KIC5UUAotLW4KK1wtbgog0J3QtSDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YHQstC+0L8t0YTQsNC50LsuINCS0L7RgdGB0YLQsNC90L7QstC70LXQvdC40LUg0L/RgNC4INGB0LHQvtC1INCyINGA0LDQsdC+0YLQtSDQsdGD0LTQtdGCINC90LXQstC+0LfQvNC+0LbQvdC+Lgog0KPQtNC+0LHQvdC+INC00LvRjyDQv9GA0LDQstC60Lgg0YTQsNC50LvQsCDQvdCwINC+0YfQtdC90Ywg0LzQtdC00LvQtdC90L3QvtC8INC90L7RgdC40YLQtdC70LUgKNC90LDQv9GA0LjQvNC10YAsINCz0LjQsdC60L7QvCDQtNC40YHQutC1KS4KINCi0L4g0LbQtSDRgdCw0LzQvtC1INC80L7QttC90L4g0YHQtNC10LvQsNGC0Ywg0LrQvtC80LDQvdC00L7QuSAiOnNldCB1Yz0wIi4g0J7RgtC80LXQvdCwIC0tICI6c2V0IHVjPTIwMCIuCiAuVFAKLS1vW05dCitcLW9bTl0KINCe0YLQutGA0YvRgtGMIE4g0L7QutC+0L0sINGA0LDQt9C00LXQu9GR0L3QvdGL0YUg0L/QviDQs9C+0YDQuNC30L7QvdGC0LDQu9C4LiDQldGB0LvQuCBOINC90LUg0YPQutCw0LfQsNC90L4sINGC0L4g0L7RgtC60YDRi9Cy0LDQtdGC0YHRjyAKINC/0L4g0L7QtNC90L7QvNGDINC+0LrQvdGDINC90LAg0LrQsNC20LTRi9C5INGE0LDQudC7LgogLlRQCi0tT1tOXQorXC1PW05dCiDQntGC0LrRgNGL0YLRjCBOINC+0LrQvtC9LCDRgNCw0LfQtNC10LvRkdC90L3Ri9GFINC/0L4g0LLQtdGA0YLQuNC60LDQu9C4LiDQldGB0LvQuCBOINC90LUg0YPQutCw0LfQsNC90L4sINGC0L4g0L7RgtC60YDRi9Cy0LDQtdGC0YHRjyAKINC/0L4g0L7QtNC90L7QvNGDINC+0LrQvdGDINC90LAg0LrQsNC20LTRi9C5INGE0LDQudC7LgogLlRQCi0tUgorXC1SCiDQoNC10LbQuNC8ICLRgtC+0LvRjNC60L4g0LTQu9GPINGH0YLQtdC90LjRjyIuINCS0LrQu9GO0YfQsNC10YLRgdGPINC+0L/RhtC40Y8gJ3JlYWRvbmx5Jy4KINCk0LDQudC7INCyINCx0YPRhNC10YDQtSDQtNC+0YHRgtGD0L/QtdC9INC00LvRjyDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNGPLCDQvdC+INC10LPQviDQutC+0L/QuNGOINC90LAg0LTQuNGB0LrQtSDQvdC10LvRjNC30Y8KINGB0LvRg9GH0LDQudC90L4g0L/QtdGA0LXQt9Cw0L/QuNGB0LDRgtGMLiDQlNC70Y8g0YHQvtGF0YDQsNC90LXQvdC40Y8g0YTQsNC50LvQsCDQvdC10L7QsdGF0L7QtNC40LzQviDQtNC+0LHQsNCy0LjRgtGMINCy0L7RgdC60LvQuNGG0LDRgtC10LvRjNC90YvQuQog0LfQvdCw0Log0Log0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQtdC5INC60L7QvNCw0L3QtNC1IEV4ICjQvdCw0L/RgNC40LzQtdGALCAiOnchIikuCi3QmtC70Y7RhyAiLVIiINC/0L7QtNGA0LDQt9GD0LzQtdCy0LDQtdGCINGC0LDQutC20LUsINGH0YLQviDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0Lgg0LrQu9GO0YcgIi1uIiAo0YHQvC4g0LLRi9GI0LUpLgor0JrQu9GO0YcgIlwtUiIg0L/QvtC00YDQsNC30YPQvNC10LLQsNC10YIg0YLQsNC60LbQtSwg0YfRgtC+INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQuCDQutC70Y7RhyAiXC1uIiAo0YHQvC4g0LLRi9GI0LUpLgog0J7Qv9GG0LjRjyAncmVhZG9ubHknINC80L7QttC10YIg0LHRi9GC0Ywg0LLRi9C60LvRjtGH0LXQvdCwINC/0L4g0LrQvtC80LDQvdC00LUgIjpzZXQgbm9ybyIuCiDQodC8LiAiOmhlbHAgJ3JlYWRvbmx5JyIuCiAuVFAKLS1yCitcLXIKINCS0YvQstC10YHRgtC4INGB0L/QuNGB0L7QuiDRgdCy0L7Qvy3RhNCw0LnQu9C+0LIg0Lgg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L7QsSDQuNGFINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC4INC00LvRjyDQstC+0YHRgdGC0LDQvdC+0LLQu9C10L3QuNGPINC/0L7RgdC70LUg0YHQsdC+0Y8uCiAuVFAKLS1yIHvRhNCw0LnQu30KK1wtciB70YTQsNC50Lt9CiDQoNC10LbQuNC8INCy0L7RgdGB0YLQsNC90L7QstC70LXQvdC40Y8uCiDQlNC70Y8g0LLQvtGB0YHRgtCw0L3QvtCy0LvQtdC90LjRjyDQv9C+0YHQu9C1INGB0LHQvtGPINCx0YPQtNC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvSDRgdCy0L7Qvy3RhNCw0LnQuy4KINCh0LLQvtC/LdGE0LDQudC7INC40LzQtdC10YIg0YLQviDQttC1INC40LzRjywg0YfRgtC+INC4INGC0LXQutGB0YLQvtCy0YvQuSDRhNCw0LnQuywg0L3QviDRgSDQtNC+0LHQsNCy0LvQtdC90LjQtdC8INGA0LDRgdGI0LjRgNC10L3QuNGPICIuc3dwIi4KINCh0LwuICI6aGVscCByZWNvdmVyeSIuCiAuVFAKLS1zCi3QotC40YXQuNC5INGA0LXQttC40LwuINCi0L7Qu9GM0LrQviDQv9GA0Lgg0LfQsNC/0YPRgdC60LUg0LrQsNC6ICJFeCIg0LjQu9C4INC10YHQu9C4INC/0LXRgNC10LQgIi1zIiDRg9C60LDQt9Cw0L0g0LrQu9GO0YcgIi1lIi4KK1wtcwor0KLQuNGF0LjQuSDRgNC10LbQuNC8LiDQotC+0LvRjNC60L4g0L/RgNC4INC30LDQv9GD0YHQutC1INC60LDQuiAiRXgiINC40LvQuCDQtdGB0LvQuCDQv9C10YDQtdC0ICJcLXMiINGD0LrQsNC30LDQvSDQutC70Y7RhyAiXC1lIi4KIC5UUAotLXMge3NjcmlwdGlufQorXC1zIHtzY3JpcHRpbn0KINCh0YfQuNGC0YvQstCw0LXRgtGB0Y8g0YTQsNC50Lsg0YHRhtC10L3QsNGA0LjRjyB7c2NyaXB0aW59LiDQn9GA0Lgg0Y3RgtC+0LwsINGB0L7QtNC10YDQttC40LzQvtC1INGE0LDQudC70LAg0LLQvtGB0L/RgNC40L3QuNC80LDQtdGC0YHRjwog0LIg0LLQuNC00LUg0LrQvtC80LDQvdC0LCDQutCw0Log0LXRgdC70Lgg0LHRiyDQvtC90Lgg0LHRi9C70Lgg0L3QsNCx0YDQsNC90Ysg0L3QsCDQutC+0L3RgdC+0LvQuC4gCiDQotC+INC20LUg0YHQsNC80L7QtSDQtNC+0YHRgtC40LPQsNC10YLRgdGPINC60L7QvNCw0L3QtNC+0LkgIjpzb3VyY2UhIHtzY3JpcHRpbn0iLgog0JXRgdC70Lgg0LrQvtC90LXRhiDRhNCw0LnQu9CwINGB0YfQuNGC0YvQstCw0LXRgtGB0Y8g0LTQviDQt9Cw0LLQtdGA0YjQtdC90LjRjyDRgNCw0LHQvtGC0Ysg0YDQtdC00LDQutGC0L7RgNCwLCDRgtC+INCyINC00LDQu9GM0L3QtdC50YjQtdC8IAog0LLQstC+0LQg0L7RgdGD0YnQtdGB0YLQstC70Y/QtdGC0YHRjyDRgSDQutC70LDQstC40LDRgtGD0YDRiy4KIC5UUAotLVQge3Rlcm1pbmFsfQorXC1UIHt0ZXJtaW5hbH0KINCh0L7QvtCx0YnQsNC10YIKIC5CIFZpbQog0YLQuNC/INC40YHQv9C+0LvRjNC30YPQtdC80L7Qs9C+INGC0LXRgNC80LjQvdCw0LvQsC4g0J3QtdC+0LHRhdC+0LTQuNC80L4g0YLQvtC70YzQutC+INCyINGC0LXRhSDRgdC40YLRg9Cw0YbQuNGP0YUsINC60L7Qs9C00LAgCkBAIC0zMTIsOTYgKzMxMiw5NiBAQAogLkIgVmltCiAo0LLRgdGC0YDQvtC10L3QviDQsiDQvdC10LPQvikg0LjQu9C4INC+0L/RgNC10LTQtdC70LXQvdC+INCyINGE0LDQudC70LDRhSB0ZXJtY2FwINC40LvQuCB0ZXJtaW5mby4KIC5UUAotLXUge3ZpbXJjfQorXC11IHt2aW1yY30KINCY0YHQv9C+0LvRjNC30L7QstCw0YLRjCDQutC+0LzQsNC90LTRiyDQuNC3INGE0LDQudC70LAg0YHRhtC10L3QsNGA0LjRjyB7dmltcmN9INC00LvRjyDQvdCw0YHRgtGA0L7QudC60LguCiDQktGB0LUg0L7RgdGC0LDQu9GM0L3Ri9C1INGE0LDQudC70Ysg0L3QsNGB0YLRgNC+0LXQuiDQv9GA0L7Qv9GD0YHQutCw0Y7RgtGB0Y8uCiDQo9C00L7QsdC90L4g0LTQu9GPINGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40Y8g0YHQv9C10YbQuNCw0LvRjNC90YvRhSDRgtC40L/QvtCyINGE0LDQudC70L7Qsi4KINCn0YLQvtCx0Ysg0LjQt9Cx0LXQttCw0YLRjCDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDRgdGG0LXQvdCw0YDQuNC10LIg0L3QsNGB0YLRgNC+0LXQuiDQstC+0L7QsdGJ0LUsINC80L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMCiDQuNC80Y8gIk5PTkUiLiDQodC8LiAiOmhlbHAgaW5pdGlhbGl6YXRpb24iLgogLlRQCi0tVSB7Z3ZpbXJjfQorXC1VIHtndmltcmN9CiDQmNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LrQvtC80LDQvdC00Ysg0LjQtyDRhNCw0LnQu9CwINGB0YbQtdC90LDRgNC40Y8ge2d2aW1yY30g0LTQu9GPINC90LDRgdGC0YDQvtC50LrQuCDQs9GA0LDRhNC40YfQtdGB0LrQvtCz0L4gCiDQuNC90YLQtdGA0YTQtdC50YHQsC4KINCS0YHQtSDQvtGB0YLQsNC70YzQvdGL0LUg0YTQsNC50LvRiyDQvdCw0YHRgtGA0L7QtdC6INC00LvRjyDQs9GA0LDRhNC40YfQtdGB0LrQvtCz0L4g0LjQvdGC0LXRgNGE0LXQudGB0LAg0L/RgNC+0L/Rg9GB0LrQsNGO0YLRgdGPLgog0KfRgtC+0LHRiyDQuNC30LHQtdC20LDRgtGMINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPINGB0YbQtdC90LDRgNC40LXQsiDQvdCw0YHRgtGA0L7QtdC6INCz0YDQsNGE0LjRh9C10YHQutC+0LPQviDQuNC90YLQtdGA0YTQtdC50YHQsCDQstC+0L7QsdGJ0LUsIAog0LzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LjQvNGPICJOT05FIi4g0KHQvC4gIjpoZWxwIGd1aS1pbml0Ii4KIC5UUAotLVYKK1wtVgogItCR0L7Qu9GC0LvQuNCy0YvQuSIg0YDQtdC20LjQvC4g0JLRi9Cy0L7QtNC40YLRjCDRgdC+0L7QsdGJ0LXQvdC40Y8g0L4g0YLQvtC8LCDQutCw0LrQuNC1INGE0LDQudC70Ysg0YfQuNGC0LDRjtGC0YHRjywg0Lgg0L4KINGH0YLQtdC90LjQuC3Qt9Cw0L/QuNGB0Lgg0YTQsNC50LvQsCB2aW1pbmZvLgogLlRQCi0tdgorXC12CiDQl9Cw0L/Rg9GB0YLQuNGC0YwKIC5CIFZpbQog0LIg0YDQtdC20LjQvNC1IFZpLCDQutCw0Log0LHRg9C00YLQviDQuNGB0L/QvtC70L3Rj9C10LzRi9C5INGE0LDQudC7INC40LzQtdC10YIg0LjQvNGPICJ2aSIuINCY0LzQtdC10YIg0YHQvNGL0YHQuyDRgtC+0LvRjNC60L4g0LXRgdC70LgKINC40YHQv9C+0LvQvdGP0LXQvNGL0Lkg0YTQsNC50Lsg0LjQvNC10LXRgiDQuNC80Y8gImV4Ii4KIC5UUAotLXcge3NjcmlwdG91dH0KK1wtdyB7c2NyaXB0b3V0fQog0JLRgdC1INGB0LjQvNCy0L7Qu9GLLCDQstCy0LXQtNGR0L3QvdGL0LUg0YEg0LrQu9Cw0LLQuNCw0YLRg9GA0Ysg0LLQv9C70L7RgtGMINC00L4g0LzQvtC80LXQvdGC0LAg0LfQsNCy0LXRgNGI0LXQvdC40Y8g0YDQsNCx0L7RgtGLLCAKINC30LDQv9C40YHRi9Cy0LDRjtGC0YHRjyDQsiDRhNCw0LnQuyB7c2NyaXB0b3V0fS4KINCj0LTQvtCx0L3QviDQsiDRgtC+0Lwg0YHQu9GD0YfQsNC1LCDQutC+0LPQtNCwINCy0Ysg0YXQvtGC0LjRgtC1INGB0L7Qt9C00LDRgtGMINGE0LDQudC7INGB0YbQtdC90LDRgNC40Y8g0LTQu9GPINC/0L7RgdC70LXQtNGD0Y7RidC10LPQviAKLdC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPINGBICJ2aW0gLXMiINC40LvQuCAiOnNvdXJjZSEiLiDQldGB0LvQuCDRhNCw0LnQuyB7c2NyaXB0b3V0fSDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIsIAor0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0YEgInZpbSBcLXMiINC40LvQuCAiOnNvdXJjZSEiLiDQldGB0LvQuCDRhNCw0LnQuyB7c2NyaXB0b3V0fSDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIsIAog0YLQviDQvdC+0LLRi9C1INGB0LjQvNCy0L7Qu9GLINCx0YPQtNGD0YIg0LTQvtCx0LDQstC70Y/RjtGC0YHRjyDQsiDQutC+0L3QtdGGINGE0LDQudC70LAuCiAuVFAKLS1XIHtzY3JpcHRvdXR9Ci3QmtCw0LogIi13Iiwg0L3QviDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNC5INGE0LDQudC7INCx0YPQtNC10YIg0L/QtdGA0LXQt9Cw0L/QuNGB0LDQvS4KK1wtVyB7c2NyaXB0b3V0fQor0JrQsNC6ICJcLXciLCDQvdC+INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0Y7RidC40Lkg0YTQsNC50Lsg0LHRg9C00LXRgiDQv9C10YDQtdC30LDQv9C40YHQsNC9LgogLlRQCi0teAorXC14CiDQqNC40YTRgNC+0LLQsNGC0Ywg0LfQsNC/0LjRgdGL0LLQsNC10LzRi9C1INGE0LDQudC70YsuINCR0YPQtNC10YIg0LLRi9C00LDQvdC+INC/0YDQuNCz0LvQsNGI0LXQvdC40LUg0LLQstC10YHRgtC4INC/0LDRgNC+0LvRjC4KIC5UUAotLVgKK1wtWAog0J3QtSDQv9C+0LTQutC70Y7Rh9Cw0YLRjNGB0Y8g0LogWC3RgdC10YDQstC10YDRgy4g0KPRgdC60L7RgNGP0LXRgiDQt9Cw0LPRgNGD0LfQutGDINC90LAg0LrQvtC90YHQvtC70LgsINC90L4g0LTQtdC70LDQtdGCINC90LXQstC+0LfQvNC+0LbQvdGL0LwKINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INC30LDQs9C+0LvQvtCy0LrQsCDQvtC60L3QsCDQuCDQsdGD0YTQtdGA0LAg0L7QsdC80LXQvdCwLgogLlRQCi0tWgorXC1aCiDQntCz0YDQsNC90LjRh9C10L3QvdGL0Lkg0YDQtdC20LjQvC4g0KDQsNCx0L7RgtCw0LXRgiDRgtCw0Log0LbQtSwg0LrQsNC6INC4INC/0YDQvtCz0YDQsNC80LzRiywg0L3QsNGH0LjQvdCw0Y7RidC40LXRgdGPINGBICJyIi4KIC5UUAotLS0KK1wtXC0KINCa0L7QvdC10YYg0LrQu9GO0YfQtdC5LiDQktGB0LUg0L7RgdGC0LDQu9GM0L3Ri9C1INCw0YDQs9GD0LzQtdC90YLRiyDRgNCw0YHRgdC80LDRgtGA0LjQstCw0Y7RgtGB0Y8g0LrQsNC6INC40LzQtdC90LAg0YTQsNC50LvQvtCyLgog0JzQvtC20LXRgiDQsdGL0YLRjCDQuNGB0L/QvtC70YzQt9C+0LLQsNC90L4g0LTQu9GPINC/0YDQsNCy0LrQuCDRhNCw0LnQu9C+0LIsINC40LzQtdC90LAg0LrQvtGC0L7RgNGL0YUg0L3QsNGH0LjQvdCw0Y7RgtGB0Y8g0YEg0LTQtdGE0LjRgdCwLgogLlRQCi0tLWhlbHAKLdCS0YvQstC10YHRgtC4INC60YDQsNGC0LrRg9GOINGB0L/RgNCw0LLQutGDINC4INC30LDQstC10YDRiNC40YLRjCDRgNCw0LHQvtGC0YMuINCi0L4g0LbQtSwg0YfRgtC+INC4ICItaCIuCitcLVwtaGVscAor0JLRi9Cy0LXRgdGC0Lgg0LrRgNCw0YLQutGD0Y4g0YHQv9GA0LDQstC60YMg0Lgg0LfQsNCy0LXRgNGI0LjRgtGMINGA0LDQsdC+0YLRgy4g0KLQviDQttC1LCDRh9GC0L4g0LggIlwtaCIuCiAuVFAKLS0tdmVyc2lvbgorXC1cLXZlcnNpb24KINCS0YvQstC10YHRgtC4INC40L3RhNC+0YDQvNCw0YbQuNGOINC+INCy0LXRgNGB0LjQuCDQv9GA0L7Qs9GA0LDQvNC80Ysg0Lgg0LfQsNCy0LXRgNGI0LjRgtGMINGA0LDQsdC+0YLRgy4KIC5UUAotLS1yZW1vdGUKK1wtXC1yZW1vdGUKINCf0L7QtNC60LvRjtGH0LjRgtGM0YHRjyDQuiDRgdC10YDQstC10YDRgyBWaW0g0Lgg0LfQsNGB0YLQsNCy0LjRgtGMINC10LPQviDQv9GA0LDQstC40YLRjCDRhNCw0LnQu9GLLCDRg9C60LDQt9Cw0L3QvdGL0LUg0LIKINC/0L7RgdC70LXQtNGD0Y7RidC40YUg0LDRgNCz0YPQvNC10L3RgtCw0YUuINCV0YHQu9C4INGB0LXRgNCy0LXRgCDQvdC1INC90LDQudC00LXQvSwg0LLRi9Cy0L7QtNC40YLRgdGPINC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LUsCiDQsCDRhNCw0LnQu9GLINC/0YDQsNCy0Y/RgtGB0Y8g0LIg0LzQtdGB0YLQvdC+0Lkg0LrQvtC/0LjQuCBWaW0uCiAuVFAKLS0tcmVtb3RlLWV4cHIge9Cy0YvRgNCw0LbQtdC90LjQtX0KK1wtXC1yZW1vdGVcLWV4cHIge9Cy0YvRgNCw0LbQtdC90LjQtX0KINCf0L7QtNC60LvRjtGH0LjRgtGM0YHRjyDQuiDRgdC10YDQstC10YDRgyBWaW0g0Lgg0LLRi9GH0LjRgdC70LjRgtGMINC90LAg0L3RkdC8INGD0LrQsNC30LDQvdC90L7QtSB70LLRi9GA0LDQttC10L3QuNC1fS4gCiDQoNC10LfRg9C70YzRgtCw0YIg0LLRi9GH0LjRgdC70LXQvdC40Y8g0LHRg9C00LXRgiDQstGL0LLQtdC00LXQvSDQsiDQv9C+0YLQvtC6INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstGL0LLQvtC00LAgKHN0ZG91dCkuCiAuVFAKLS0tcmVtb3RlLXNlbmQge9C60LvRjtGH0Lh9CitcLVwtcmVtb3RlXC1zZW5kIHvQutC70Y7Rh9C4fQog0J/QvtC00LrQu9GO0YfQuNGC0YzRgdGPINC6INGB0LXRgNCy0LXRgNGDIFZpbSDQuCDQv9C10YDQtdC00LDRgtGMINC10LzRgyDRg9C60LDQt9Cw0L3QvdGL0LUge9C60LvRjtGH0Lh9LgogLlRQCi0tLXJlbW90ZS1zaWxlbnQKLdCa0LDQuiAiLS1yZW1vdGUiLCDQvdC+INCx0LXQtyDQstGL0LLQvtC00LAg0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjRjywg0LXRgdC70Lgg0YHQtdGA0LLQtdGAINC90LUg0L3QsNC50LTQtdC9LgorXC1cLXJlbW90ZVwtc2lsZW50CivQmtCw0LogIlwtXC1yZW1vdGUiLCDQvdC+INCx0LXQtyDQstGL0LLQvtC00LAg0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjRjywg0LXRgdC70Lgg0YHQtdGA0LLQtdGAINC90LUg0L3QsNC50LTQtdC9LgogLlRQCi0tLXJlbW90ZS13YWl0Ci3QmtCw0LogIi0tcmVtb3RlIiwg0L3QviBWaW0g0L3QtSDQsdGD0LTQtdGCINC30LDQstC10YDRiNCw0YLRjCDRgNCw0LHQvtGC0YMg0LTQviDRgtC10YUg0L/QvtGALCDQv9C+0LrQsCDQvdC1INCx0YPQtNC10YIgCitcLVwtcmVtb3RlXC13YWl0CivQmtCw0LogIlwtXC1yZW1vdGUiLCDQvdC+IFZpbSDQvdC1INCx0YPQtNC10YIg0LfQsNCy0LXRgNGI0LDRgtGMINGA0LDQsdC+0YLRgyDQtNC+INGC0LXRhSDQv9C+0YAsINC/0L7QutCwINC90LUg0LHRg9C00LXRgiAKINCy0YvQv9C+0LvQvdC10L3QsCDQv9GA0LDQstC60LAg0LLRgdC10YUg0YTQsNC50LvQvtCyLgogLlRQCi0tLXJlbW90ZS13YWl0LXNpbGVudAot0JrQsNC6ICItLXJlbW90ZS13YWl0Iiwg0L3QviDQsdC10Lcg0LLRi9Cy0L7QtNCwINC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40Y8sINC10YHQu9C4INGB0LXRgNCy0LXRgCDQvdC1INC90LDQudC00LXQvS4KK1wtXC1yZW1vdGVcLXdhaXRcLXNpbGVudAor0JrQsNC6ICJcLVwtcmVtb3RlXC13YWl0Iiwg0L3QviDQsdC10Lcg0LLRi9Cy0L7QtNCwINC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40Y8sINC10YHQu9C4INGB0LXRgNCy0LXRgCDQvdC1INC90LDQudC00LXQvS4KIC5UUAotLS1zZXJ2ZXJsaXN0CitcLVwtc2VydmVybGlzdAog0JLRi9Cy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INCy0YHQtdGFINC00L7RgdGC0YPQv9C90YvRhSDRgdC10YDQstC10YDQvtCyIFZpbS4KIC5UUAotLS1zZXJ2ZXJuYW1lIHvQuNC80Y99CitcLVwtc2VydmVybmFtZSB70LjQvNGPfQog0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGD0LrQsNC30LDQvdC90L7QtSB70LjQvNGPfSDQsiDQutCw0YfQtdGB0YLQstC1INC40LzQtdC90Lgg0YHQtdGA0LLQtdGA0LAuINCV0YHQu9C4INC60LvRjtGHIAotIi0tcmVtb3RlIiDQvdC1INGD0LrQsNC30LDQvSwg0YLQviB70LjQvNGPfSDQv9GA0LjRgdCy0LDQuNCy0LDQtdGC0YHRjyDQtNCw0L3QvdC+0Lkg0LrQvtC/0LjQuCBWaW0sIAorIlwtXC1yZW1vdGUiINC90LUg0YPQutCw0LfQsNC9LCDRgtC+IHvQuNC80Y99INC/0YDQuNGB0LLQsNC40LLQsNC10YLRgdGPINC00LDQvdC90L7QuSDQutC+0L/QuNC4IFZpbSwgCiDQsiDQv9GA0L7RgtC40LLQvdC+0Lwg0YHQu9GD0YfQsNC1INGD0LrQsNC30YvQstCw0LXRgiDQvdCwINC40LzRjyDRgdC10YDQstC10YDQsCwg0Log0LrQvtGC0L7RgNC+0LzRgyDRgdC70LXQtNGD0LXRgiAKINC/0L7QtNC60LvRjtGH0LjRgtGM0YHRjy4KIC5UUAotLS1zb2NrZXRpZCB7aWR9CitcLVwtc29ja2V0aWQge2lkfQog0KLQvtC70YzQutC+INC00LvRjyDQs9GA0LDRhNC40YfQtdGB0LrQvtCz0L4g0LjQvdGC0LXRgNGE0LXQudGB0LAgR1RLOiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LzQtdGF0LDQvdC40LfQvCBHdGtQbHVnINC00LvRjwog0LfQsNC/0YPRgdC60LAgZ3ZpbSDQsiDQvtGC0LTQtdC70YzQvdC+0Lwg0L7QutC90LUuCiAuVFAKLS0tZWNoby13aWQKK1wtXC1lY2hvXC13aWQKINCi0L7Qu9GM0LrQviDQtNC70Y8g0LPRgNCw0YTQuNGH0LXRgdC60L7Qs9C+INC40L3RgtC10YDRhNC10LnRgdCwIEdUSzog0LLRi9Cy0LXRgdGC0Lgg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L7QutC90LAgKFdpbmRvdyBJRCkKINCyINC/0L7RgtC+0Log0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0YvQstC+0LTQsCAoc3Rkb3V0KS4KIC5TSCDQktCh0KLQoNCe0JXQndCd0JDQryDQodCf0KDQkNCS0JrQkApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmltZGlmZi1mci4xIGIvcnVudGltZS9kb2MvdmltZGlmZi1mci4xCmluZGV4IDgzNDFiNTAuLjQ5NDgxMjYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZpbWRpZmYtZnIuMQorKysgYi9ydW50aW1lL2RvYy92aW1kaWZmLWZyLjEKQEAgLTEsMTggKzEsMTggQEAKIC5USCBWSU1ESUZGIDEgIjMwIG1hcnMgMjAwMSIKIC5TSCBOT00KLXZpbWRpZmYgXC0gb3V2cmUgZGV1eCBvdSB0cm9pcyB2ZXJzaW9ucyBkJ3VuIGZpY2hpZXIgZGFucyBWaW0gZXQgYWZmaWNoZQotbGV1cnMgZGlmZulyZW5jZXMKK3ZpbWRpZmYgXC0gb3V2cmUgZGV1eCwgdHJvaXMgb3UgcXVhdHJlIHZlcnNpb25zIGQndW4gZmljaGllciBkYW5zIFZpbSBldAorYWZmaWNoZSBsZXVycyBkaWZm6XJlbmNlcwogLlNIIFNZTk9QU0lTCiAuYnIKIC5CIHZpbWRpZmYKLVtvcHRpb25zXSBmaWNoaWVyMSBmaWNoaWVyMiBbZmljaGllcjNdCitbb3B0aW9uc10gZmljaGllcjEgZmljaGllcjIgW2ZpY2hpZXIzIFtmaWNoaWVyNF1dCiAuUFAKIC5CIGd2aW1kaWZmCiAuU0ggREVTQ1JJUFRJT04KIC5CIFZpbWRpZmYKIGTpbWFycmUKIC5CIFZpbQotYXZlYyBkZXV4IChvdSB0cm9pcykgZmljaGllcnMuCithdmVjIGRldXggKG91IHRyb2lzIG91IHF1YXRyZSkgZmljaGllcnMuCiBDaGFxdWUgZmljaGllciBlc3Qgb3V2ZXJ0IGRhbnMgc2EgcHJvcHJlIGZlbup0cmUuCiBMZXMgZGlmZulyZW5jZXMgZW50cmVzIGNlcyBmaWNoaWVycyBzb250IG1pc2VzIGVuIHN1cmJyaWxsYW5jZS4KIEMnZXN0IHVuIG91dGlsIHRy6HMgcHJhdGlxdWUgcG91ciB2aXN1YWxpc2VyIGV0IHJlcG9ydGVyIGxlcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmltZGlmZi1mci5VVEYtOC4xIGIvcnVudGltZS9kb2MvdmltZGlmZi1mci5VVEYtOC4xCmluZGV4IDVmMDllZTQuLmQxNDM1ODggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZpbWRpZmYtZnIuVVRGLTguMQorKysgYi9ydW50aW1lL2RvYy92aW1kaWZmLWZyLlVURi04LjEKQEAgLTEsMTggKzEsMTggQEAKIC5USCBWSU1ESUZGIDEgIjMwIG1hcnMgMjAwMSIKIC5TSCBOT00KLXZpbWRpZmYgXC0gb3V2cmUgZGV1eCBvdSB0cm9pcyB2ZXJzaW9ucyBkJ3VuIGZpY2hpZXIgZGFucyBWaW0gZXQgYWZmaWNoZQotbGV1cnMgZGlmZsOpcmVuY2VzCit2aW1kaWZmIFwtIG91dnJlIGRldXgsIHRyb2lzIG91IHF1YXRyZSB2ZXJzaW9ucyBkJ3VuIGZpY2hpZXIgZGFucyBWaW0gZXQKK2FmZmljaGUgbGV1cnMgZGlmZsOpcmVuY2VzCiAuU0ggU1lOT1BTSVMKIC5icgogLkIgdmltZGlmZgotW29wdGlvbnNdIGZpY2hpZXIxIGZpY2hpZXIyIFtmaWNoaWVyM10KK1tvcHRpb25zXSBmaWNoaWVyMSBmaWNoaWVyMiBbZmljaGllcjMgW2ZpY2hpZXI0XV0KIC5QUAogLkIgZ3ZpbWRpZmYKIC5TSCBERVNDUklQVElPTgogLkIgVmltZGlmZgogZMOpbWFycmUKIC5CIFZpbQotYXZlYyBkZXV4IChvdSB0cm9pcykgZmljaGllcnMuCithdmVjIGRldXggKG91IHRyb2lzIG91IHF1YXRyZSkgZmljaGllcnMuCiBDaGFxdWUgZmljaGllciBlc3Qgb3V2ZXJ0IGRhbnMgc2EgcHJvcHJlIGZlbsOqdHJlLgogTGVzIGRpZmbDqXJlbmNlcyBlbnRyZXMgY2VzIGZpY2hpZXJzIHNvbnQgbWlzZXMgZW4gc3VyYnJpbGxhbmNlLgogQydlc3QgdW4gb3V0aWwgdHLDqHMgcHJhdGlxdWUgcG91ciB2aXN1YWxpc2VyIGV0IHJlcG9ydGVyIGxlcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmltZGlmZi1wbC4xIGIvcnVudGltZS9kb2MvdmltZGlmZi1wbC4xCmluZGV4IGFjM2RlM2YuLjUzMzJmNzggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZpbWRpZmYtcGwuMQorKysgYi9ydW50aW1lL2RvYy92aW1kaWZmLXBsLjEKQEAgLTEsMTcgKzEsMTcgQEAKIC5USCBWSU1ESUZGIDEgIjIwMDEgTWFyIDMwIgogLlNIIE5BWldBCi12aW1kaWZmIFwtIGVkeXR1aiBkd2llIGx1YiB0cnp5IHdlcnNqZSBwbGlrdSB3IFZpbWllIGkgem9iYWN6IHLzv25pY2UKK3ZpbWRpZmYgXC0gZWR5dHVqIGR3aWUsIHRyenkgbHViIGN6dGVyeSB3ZXJzamUgcGxpa3UgdyBWaW1pZSBpIHpvYmFjeiBy879uaWNlCiAuU0ggU1lOT1BTSVMKIC5icgogLkIgdmltZGlmZgotW29wY2plXSBwbGlrMSBwbGlrMiBbcGxpazNdCitbb3BjamVdIHBsaWsxIHBsaWsyIFtwbGlrMyBbcGxpazRdXQogLlBQCiAuQiBndmltZGlmZgogLlNIIE9QSVMKIC5CIFZpbWRpZmYKIHVydWNob21pCiAuQiBWaW1hCi16IGR3b21hIChsdWIgdHJ6ZW1hIHBsaWthbWkpLCBrYb9keSB6IG5pY2ggd2Ugd7Nhc255bSBva25pZS4KK3ogZHdvbWEgKHRyemVtYSBsdWIgY3p0ZXJlbWEgcGxpa2FtaSksIGthv2R5IHogbmljaCB3ZSB3s2FzbnltIG9rbmllLgogUvO/bmljZSBtaepkenkgcGxpa2FtaSB6b3N0YW6xIHBvZLZ3aWV0bG9uZS4KIEplc3QgdG8gZG9icnkgc3Bvc/NiIGJ5IHByemVhbmFsaXpvd2HmIHLzv25pY2UgaSBwcnplbmlltuYgem1pYW55IHogamVkbmVqCiB3ZXJzamkgcGxpa3UgZG8gaW5uZWouCkBAIC0yNSwxNCArMjUsMTQgQEAKIFcga2G/ZHltIG9rbmllIHpvc3RhbmllIHVzdGF3aW9uYSBvcGNqYSAnZGlmZicsIGt083JhIHNwb3dvZHVqZQogcG9ktndpZXRsZW5pZSBy879uaWMuCiAuYnIKLU9wY2plICd3cmFwJyBpICdzY3JvbGxiaW5kJyB6b3N0YW6xIHVzdGF3aW9uZSBieSB0ZWtzdCBkb2JyemUgc2nqCi1wcnplZ2yxZGGzby4KK09wY2plICd3cmFwJyBpICdzY3JvbGxiaW5kJyB6b3N0YW6xIHVzdGF3aW9uZSBieSB0ZWtzdCBzaeoKK3d5Z29kbmllIHByemVnbLFkYbNvLgogLmJyCi1PcGNqYSAnZm9sZG1ldGhvZCcgem9zdGFuaWUgdXN0YXdpb25hIG5hICJkaWZmIiwgZHpp6mtpIHRlbXUKK09wY2phICdmb2xkbWV0aG9kJyB6b3N0YW5pZSB1c3Rhd2lvbmEgbmEgImRpZmYiLCBkemnqa2kgY3plbXUKIG5pZXptaWVuaW9uZSBsaW5pZSB6b3N0YW6xIHp3aW5p6nRlLiAnZm9sZGNvbHVtbicgYupkemllIHLzd25lIDIgYWJ5CiCzYXR3byB3eXN6dWtpd2HmLCBvdHdpZXJh5iBpIHphbXlrYeYgendpbmnqY2lhLgogLlNIIE9QQ0pFCi1QaW9ub3d5IHBvZHppYbMgamVzdCB1v3l0eSBkbyB3eXLzd25hbmlhIGxpbmlpLCB0YWsgamFrYnkgdb95dG8KK1Bpb25vd3kgcG9kemlhsyB6b3N0YW5pZSB1v3l0eSBkbyB3eXLzd25hbmlhIGxpbmlpLCB0YWsgamFrYnkgdb95dG8KIG9wY2ppICJcLU8iLiBBYnkgdXp5c2th5iBwb3ppb215IHBvZHppYbMgdb95aiBvcGNqaSAiXC1vIi4KIC5QUAogQWJ5IHBvem5h5iBpbm5lIG9wY2plIHpvYmFjeiB2aW0oMSkuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92aW1kaWZmLXBsLlVURi04LjEgYi9ydW50aW1lL2RvYy92aW1kaWZmLXBsLlVURi04LjEKaW5kZXggMGQ5MTg2ZS4uZDY2ZmRjOSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmltZGlmZi1wbC5VVEYtOC4xCisrKyBiL3J1bnRpbWUvZG9jL3ZpbWRpZmYtcGwuVVRGLTguMQpAQCAtMSwxNyArMSwxNyBAQAogLlRIIFZJTURJRkYgMSAiMjAwMSBNYXIgMzAiCiAuU0ggTkFaV0EKLXZpbWRpZmYgXC0gZWR5dHVqIGR3aWUgbHViIHRyenkgd2Vyc2plIHBsaWt1IHcgVmltaWUgaSB6b2JhY3ogcsOzxbxuaWNlCit2aW1kaWZmIFwtIGVkeXR1aiBkd2llLCB0cnp5IGx1YiBjenRlcnkgd2Vyc2plIHBsaWt1IHcgVmltaWUgaSB6b2JhY3ogcsOzxbxuaWNlCiAuU0ggU1lOT1BTSVMKIC5icgogLkIgdmltZGlmZgotW29wY2plXSBwbGlrMSBwbGlrMiBbcGxpazNdCitbb3BjamVdIHBsaWsxIHBsaWsyIFtwbGlrMyBbcGxpazRdXQogLlBQCiAuQiBndmltZGlmZgogLlNIIE9QSVMKIC5CIFZpbWRpZmYKIHVydWNob21pCiAuQiBWaW1hCi16IGR3b21hIChsdWIgdHJ6ZW1hIHBsaWthbWkpLCBrYcW8ZHkgeiBuaWNoIHdlIHfFgmFzbnltIG9rbmllLgoreiBkd29tYSAodHJ6ZW1hIGx1YiBjenRlcmVtYSBwbGlrYW1pKSwga2HFvGR5IHogbmljaCB3ZSB3xYJhc255bSBva25pZS4KIFLDs8W8bmljZSBtacSZZHp5IHBsaWthbWkgem9zdGFuxIUgcG9kxZt3aWV0bG9uZS4KIEplc3QgdG8gZG9icnkgc3Bvc8OzYiBieSBwcnplYW5hbGl6b3dhxIcgcsOzxbxuaWNlIGkgcHJ6ZW5pZcWbxIcgem1pYW55IHogamVkbmVqCiB3ZXJzamkgcGxpa3UgZG8gaW5uZWouCkBAIC0yNSwxNCArMjUsMTQgQEAKIFcga2HFvGR5bSBva25pZSB6b3N0YW5pZSB1c3Rhd2lvbmEgb3BjamEgJ2RpZmYnLCBrdMOzcmEgc3Bvd29kdWplCiBwb2TFm3dpZXRsZW5pZSByw7PFvG5pYy4KIC5icgotT3BjamUgJ3dyYXAnIGkgJ3Njcm9sbGJpbmQnIHpvc3RhbsSFIHVzdGF3aW9uZSBieSB0ZWtzdCBkb2JyemUgc2nEmQotcHJ6ZWdsxIVkYcWCby4KK09wY2plICd3cmFwJyBpICdzY3JvbGxiaW5kJyB6b3N0YW7EhSB1c3Rhd2lvbmUgYnkgdGVrc3Qgc2nEmQord3lnb2RuaWUgcHJ6ZWdsxIVkYcWCby4KIC5icgotT3BjamEgJ2ZvbGRtZXRob2QnIHpvc3RhbmllIHVzdGF3aW9uYSBuYSAiZGlmZiIsIGR6acSZa2kgdGVtdQorT3BjamEgJ2ZvbGRtZXRob2QnIHpvc3RhbmllIHVzdGF3aW9uYSBuYSAiZGlmZiIsIGR6acSZa2kgY3plbXUKIG5pZXptaWVuaW9uZSBsaW5pZSB6b3N0YW7EhSB6d2luacSZdGUuICdmb2xkY29sdW1uJyBixJlkemllIHLDs3duZSAyIGFieQogxYJhdHdvIHd5c3p1a2l3YcSHLCBvdHdpZXJhxIcgaSB6YW15a2HEhyB6d2luacSZY2lhLgogLlNIIE9QQ0pFCi1QaW9ub3d5IHBvZHppYcWCIGplc3QgdcW8eXR5IGRvIHd5csOzd25hbmlhIGxpbmlpLCB0YWsgamFrYnkgdcW8eXRvCitQaW9ub3d5IHBvZHppYcWCIHpvc3RhbmllIHXFvHl0eSBkbyB3eXLDs3duYW5pYSBsaW5paSwgdGFrIGpha2J5IHXFvHl0bwogb3BjamkgIlwtTyIuIEFieSB1enlza2HEhyBwb3ppb215IHBvZHppYcWCIHXFvHlqIG9wY2ppICJcLW8iLgogLlBQCiBBYnkgcG96bmHEhyBpbm5lIG9wY2plIHpvYmFjeiB2aW0oMSkuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92aW1kaWZmLXJ1LjEgYi9ydW50aW1lL2RvYy92aW1kaWZmLXJ1LjEKaW5kZXggNzUxN2Y4Ny4uMzg1NTM2NyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmltZGlmZi1ydS4xCisrKyBiL3J1bnRpbWUvZG9jL3ZpbWRpZmYtcnUuMQpAQCAtMzYsOCArMzYsOCBAQAogzsHIz8TJ1NgsIM/Uy9LZ18HU2CDJINrBy9LZ18HU2CDUwcvJxSDTy8zBxMvJLgogLlNIIOvs4P7pIPrh8PXz6+EKIOTM0SDX2dLB187J18HOydEg09TSz8sgzcXWxNUgz8vOwc3JIMnT0M/M2NrVxdTT0SDXxdLUycvBzNjOz8Ug0sHaxMXMxc7JxSDPy8/OLAoty8HLIMXTzMkgwtkgydPQz8zY2s/XwczT0SDLzMDeICItTyIuIOTM0SDUz8fPLCDe1M/C2SDJ09DPzNjaz9fB1Ngg0sHaxMXMxc7JxQotz8vPziDQzyDHz9LJ2s/O1MHMySwg08zFxNXF1CDVy8HawdTYINcgy8/Nwc7Ezs/KINPU0s/LxSDLzMDeICItbyIuCivLwcsgxdPMySDC2SDJ09DPzNjaz9fBzNPRIMvMwN4gIlwtTyIuIOTM0SDUz8fPLCDe1M/C2SDJ09DPzNjaz9fB1Ngg0sHaxMXMxc7JxQorz8vPziDQzyDHz9LJ2s/O1MHMySwg08zFxNXF1CDVy8HawdTYINcgy8/Nwc7Ezs/KINPU0s/LxSDLzMDeICJcLW8iLgogLlBQCiDv09TBzNjO2cUgy8zA3skgy8/Nwc7Ezs/KINPU0s/LySDSwdPTzcHU0snXwcDU09EgzsEg09TSwc7Jw8Ug09DSwdfP3s7Jy8EgdmltKDEpLgogLlNIIPPt7/Ty6SD04ev25QpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmltZGlmZi1ydS5VVEYtOC4xIGIvcnVudGltZS9kb2MvdmltZGlmZi1ydS5VVEYtOC4xCmluZGV4IDk3OGM5MDUuLjJmMTdlOWMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZpbWRpZmYtcnUuVVRGLTguMQorKysgYi9ydW50aW1lL2RvYy92aW1kaWZmLXJ1LlVURi04LjEKQEAgLTM2LDggKzM2LDggQEAKINC90LDRhdC+0LTQuNGC0YwsINC+0YLQutGA0YvQstCw0YLRjCDQuCDQt9Cw0LrRgNGL0LLQsNGC0Ywg0YLQsNC60LjQtSDRgdC60LvQsNC00LrQuC4KIC5TSCDQmtCb0K7Qp9CYINCX0JDQn9Cj0KHQmtCQCiDQlNC70Y8g0LLRi9GA0LDQstC90LjQstCw0L3QuNGPINGB0YLRgNC+0Log0LzQtdC20LTRgyDQvtC60L3QsNC80Lgg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINCy0LXRgNGC0LjQutCw0LvRjNC90L7QtSDRgNCw0LfQtNC10LvQtdC90LjQtSDQvtC60L7QvSwKLdC60LDQuiDQtdGB0LvQuCDQsdGLINC40YHQv9C+0LvRjNC30L7QstCw0LvRgdGPINC60LvRjtGHICItTyIuINCU0LvRjyDRgtC+0LPQviwg0YfRgtC+0LHRiyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YDQsNC30LTQtdC70LXQvdC40LUKLdC+0LrQvtC9INC/0L4g0LPQvtGA0LjQt9C+0L3RgtCw0LvQuCwg0YHQu9C10LTRg9C10YIg0YPQutCw0LfQsNGC0Ywg0LIg0LrQvtC80LDQvdC00L3QvtC5INGB0YLRgNC+0LrQtSDQutC70Y7RhyAiLW8iLgor0LrQsNC6INC10YHQu9C4INCx0Ysg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQu9GB0Y8g0LrQu9GO0YcgIlwtTyIuINCU0LvRjyDRgtC+0LPQviwg0YfRgtC+0LHRiyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YDQsNC30LTQtdC70LXQvdC40LUKK9C+0LrQvtC9INC/0L4g0LPQvtGA0LjQt9C+0L3RgtCw0LvQuCwg0YHQu9C10LTRg9C10YIg0YPQutCw0LfQsNGC0Ywg0LIg0LrQvtC80LDQvdC00L3QvtC5INGB0YLRgNC+0LrQtSDQutC70Y7RhyAiXC1vIi4KIC5QUAog0J7RgdGC0LDQu9GM0L3Ri9C1INC60LvRjtGH0Lgg0LrQvtC80LDQvdC00L3QvtC5INGB0YLRgNC+0LrQuCDRgNCw0YHRgdC80LDRgtGA0LjQstCw0Y7RgtGB0Y8g0L3QsCDRgdGC0YDQsNC90LjRhtC1INGB0L/RgNCw0LLQvtGH0L3QuNC60LAgdmltKDEpLgogLlNIINCh0JzQntCi0KDQmCDQotCQ0JrQltCVCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92aW10dXRvci1mci4xIGIvcnVudGltZS9kb2MvdmltdHV0b3ItZnIuMQppbmRleCBhYjVkMjk4Li44MzY3MTkwIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92aW10dXRvci1mci4xCisrKyBiL3J1bnRpbWUvZG9jL3ZpbXR1dG9yLWZyLjEKQEAgLTMsNyArMyw3IEBACiB2aW10dXRvciBcLSB0dXRvcmllbCBWaW0KIC5TSCBTWU5PUFNJUwogLmJyCi0uQiB2aW10dXRvciBbbGFuZ3VlXQorLkIgdmltdHV0b3IgWy1nXSBbbGFuZ3VlXQogLlNIIERFU0NSSVBUSU9OCiAuQiBWaW10dXRvcgogbGFuY2UgbGUgdHV0b3JpZWwKQEAgLTE3LDYgKzE3LDEwIEBACiAuQiBWaW0KIFwuCiAuUFAKK0wnYXJndW1lbnQgb3B0aW9ubmVsIC1nIGxhbmNlIHZpbXR1dG9yIGF2ZWMgZ3ZpbSBwbHV09HQgcXUnYXZlYyB2aW0sIHNpIGwnSUhNCitncmFwaGlxdWUgZGUgdmltIGVzdCBkaXNwb25pYmxlLCBvdSBsZSBsYW5jZSBhdmVjIHZpbSBzaSBndmltIG4nZXN0IHBhcworZGlzcG9uaWJsZS4KKy5QUAogTCdhcmd1bWVudCBvcHRpb25uZWwgW2xhbmd1ZV0gZXN0IGxlIG5vbSBkJ3VuZSBsYW5ndWUsIHNw6WNpZmnpZSBwYXIgc29uCiBzeW1ib2xlIOAgZGV1eCBsZXR0cmVzLCB0ZWxzIHF1ZSAiaXQiIG91ICJlcyIuIFNpIGwnYXJndW1lbnQgW2xhbmd1ZV0gZXN0IG9taXMsCiBsYSBsYW5ndWUgZGUgbGEgculnaW9uIGxpbmd1aXN0aXF1ZSBhY3R1ZWxsZSBzZXJhIHJldGVudWUuIFNpIGxlIHR1dG9yaWVsIGVzdApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmltdHV0b3ItZnIuVVRGLTguMSBiL3J1bnRpbWUvZG9jL3ZpbXR1dG9yLWZyLlVURi04LjEKaW5kZXggYTQxZTE2My4uOWJmNDc0ZCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmltdHV0b3ItZnIuVVRGLTguMQorKysgYi9ydW50aW1lL2RvYy92aW10dXRvci1mci5VVEYtOC4xCkBAIC0zLDcgKzMsNyBAQAogdmltdHV0b3IgXC0gdHV0b3JpZWwgVmltCiAuU0ggU1lOT1BTSVMKIC5icgotLkIgdmltdHV0b3IgW2xhbmd1ZV0KKy5CIHZpbXR1dG9yIFstZ10gW2xhbmd1ZV0KIC5TSCBERVNDUklQVElPTgogLkIgVmltdHV0b3IKIGxhbmNlIGxlIHR1dG9yaWVsCkBAIC0xNyw2ICsxNywxMCBAQAogLkIgVmltCiBcLgogLlBQCitMJ2FyZ3VtZW50IG9wdGlvbm5lbCAtZyBsYW5jZSB2aW10dXRvciBhdmVjIGd2aW0gcGx1dMO0dCBxdSdhdmVjIHZpbSwgc2kgbCdJSE0KK2dyYXBoaXF1ZSBkZSB2aW0gZXN0IGRpc3BvbmlibGUsIG91IGxlIGxhbmNlIGF2ZWMgdmltIHNpIGd2aW0gbidlc3QgcGFzCitkaXNwb25pYmxlLgorLlBQCiBMJ2FyZ3VtZW50IG9wdGlvbm5lbCBbbGFuZ3VlXSBlc3QgbGUgbm9tIGQndW5lIGxhbmd1ZSwgc3DDqWNpZmnDqWUgcGFyIHNvbgogc3ltYm9sZSDDoCBkZXV4IGxldHRyZXMsIHRlbHMgcXVlICJpdCIgb3UgImVzIi4gU2kgbCdhcmd1bWVudCBbbGFuZ3VlXSBlc3Qgb21pcywKIGxhIGxhbmd1ZSBkZSBsYSByw6lnaW9uIGxpbmd1aXN0aXF1ZSBhY3R1ZWxsZSBzZXJhIHJldGVudWUuIFNpIGxlIHR1dG9yaWVsIGVzdApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmltdHV0b3ItcGwuMSBiL3J1bnRpbWUvZG9jL3ZpbXR1dG9yLXBsLjEKaW5kZXggYTdhYzUwZi4uZTYwM2NhNSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmltdHV0b3ItcGwuMQorKysgYi9ydW50aW1lL2RvYy92aW10dXRvci1wbC4xCkBAIC0zLDEwICszLDEwIEBACiB2aW10dXRvciBcLSBuYXVjenljaWVsIFZpbWEKIC5TSCBTWU5PUFNJUwogLmJyCi0uQiB2aW10dXRvciBbaup6eWtdCisuQiB2aW10dXRvciAtZyBbaup6eWtdCiAuU0ggT1BJUwogLkIgVmltdHV0b3IKLXVydWNoYW1pYSBuYXVjenljaWUKK3VydWNoYW1pYSBuYXVjenljaWVsYQogLkIgVmltYS4KIE5hanBpZXJ3IGtvcGl1amUgd7NhtmNpd3kgcGxpaywgZHpp6mtpIHRlbXUgbW+/bmEgZ28gem1pZW5pYeYgYmV6IG9iYXcKIHV0cmF0eSB0cmW2Y2kuCkBAIC0xNSw2ICsxNSw5IEBACiBwcnp5ZGEgc2nqIGx1ZHppb20sIGt083J6eSBjaGOxIHNp6iBuYXVjennmIHBpZXJ3c3p5Y2ggcG9sZWNl8QogLkIgVmltYQogLlBQCitPcGNqb25hbG55IGFyZ3VtZW50IFwtZyB1cnVjaGFtaWEgdmltdHV0b3IgdyBndmltaWUgYSBuaWUgdyBWaW1pZSBqZbZsaQorZ3JhZmljem5hIHdlcnNqYSBWaW1hIGplc3QgZG9zdOpwbmEsIGpltmxpIG5pZSB6b3N0YW5pZSB1cnVjaG9taW9ueSBWaW0uCisuUFAKIE9wY2pvbmFsbnkgYXJndW1lbnQgW2rqenlrXSBqZXN0IGR3dSBsaXRlcm93eW0ga29kZW0gaup6eWthLCB0YWsgamFrCiAiaXQiIGx1YiAiZXMiLgogSmW2bGkgYnJhayBhcmd1bWVudHUgW2rqenlrXSB6b3N0YW5pZSB1v3l0eSBq6np5ayBiaWW/sWNlagpAQCAtMjYsNyArMjksNyBAQAogamVzdCB1cnVjaGFtaWFueSB6YXdzemUgdyB0cnliaWUga29tcGF0eWJpbG5vtmNpIHogVmkKIC5TSCBQTElLSQogLlRQIDE1Ci0vdXNyL2xvY2FsL2xpYi92aW0vdHV0b3IvdHV0b3JbLmxhbmd1YWd1ZV0KKy91c3IvbG9jYWwvbGliL3ZpbS90dXRvci90dXRvclsuaup6eWtdCiBUZWtzdG93ZSBwbGlraQogLkIgVmltdHV0b3JhLgogLlRQIDE1CkBAIC0zNSw3ICszOCw3IEBACiAuQiBWaW10dXRvcmEuCiAuU0ggQVVUT1IKIC5CIFZpbXR1dG9yCi16b3N0YbMgcG9jerF0a293byBuYXBpc2FueSBkbGEgVmltIHByemV6IE1pY2hhZWxhIEMuIFBpZXJjZSdhCit6b3N0YbMgcG9jerF0a293byBuYXBpc2FueSBkbGEgVmkgcHJ6ZXogTWljaGFlbGEgQy4gUGllcmNlJ2EKIGkgUm9iZXJ0YSBLLiBXYXJlJ2EgeiBDb2xvcmFkbyBTY2hvb2wgb2YgTWluZXMgemFpbnNwaXJvd2FuaSBwcnplegogQ2hhcmxlc2EgU21pdGhhIHogQ29sb3JhZG8gU3RhdGUgVW5pdmVyc2l0eS4KIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92aW10dXRvci1wbC5VVEYtOC4xIGIvcnVudGltZS9kb2MvdmltdHV0b3ItcGwuVVRGLTguMQppbmRleCA3OGVlMWJlLi4xOTlmY2QwIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92aW10dXRvci1wbC5VVEYtOC4xCisrKyBiL3J1bnRpbWUvZG9jL3ZpbXR1dG9yLXBsLlVURi04LjEKQEAgLTMsMTAgKzMsMTAgQEAKIHZpbXR1dG9yIFwtIG5hdWN6eWNpZWwgVmltYQogLlNIIFNZTk9QU0lTCiAuYnIKLS5CIHZpbXR1dG9yIFtqxJl6eWtdCisuQiB2aW10dXRvciAtZyBbasSZenlrXQogLlNIIE9QSVMKIC5CIFZpbXR1dG9yCi11cnVjaGFtaWEgbmF1Y3p5Y2llCit1cnVjaGFtaWEgbmF1Y3p5Y2llbGEKIC5CIFZpbWEuCiBOYWpwaWVydyBrb3BpdWplIHfFgmHFm2Npd3kgcGxpaywgZHppxJlraSB0ZW11IG1vxbxuYSBnbyB6bWllbmlhxIcgYmV6IG9iYXcKIHV0cmF0eSB0cmXFm2NpLgpAQCAtMTUsNiArMTUsOSBAQAogcHJ6eWRhIHNpxJkgbHVkemlvbSwga3TDs3J6eSBjaGPEhSBzacSZIG5hdWN6ecSHIHBpZXJ3c3p5Y2ggcG9sZWNlxYQKIC5CIFZpbWEKIC5QUAorT3Bjam9uYWxueSBhcmd1bWVudCBcLWcgdXJ1Y2hhbWlhIHZpbXR1dG9yIHcgZ3ZpbWllIGEgbmllIHcgVmltaWUgamXFm2xpCitncmFmaWN6bmEgd2Vyc2phIFZpbWEgamVzdCBkb3N0xJlwbmEsIGplxZtsaSBuaWUgem9zdGFuaWUgdXJ1Y2hvbWlvbnkgVmltLgorLlBQCiBPcGNqb25hbG55IGFyZ3VtZW50IFtqxJl6eWtdIGplc3QgZHd1IGxpdGVyb3d5bSBrb2RlbSBqxJl6eWthLCB0YWsgamFrCiAiaXQiIGx1YiAiZXMiLgogSmXFm2xpIGJyYWsgYXJndW1lbnR1IFtqxJl6eWtdIHpvc3RhbmllIHXFvHl0eSBqxJl6eWsgYmllxbzEhWNlagpAQCAtMjYsNyArMjksNyBAQAogamVzdCB1cnVjaGFtaWFueSB6YXdzemUgdyB0cnliaWUga29tcGF0eWJpbG5vxZtjaSB6IFZpCiAuU0ggUExJS0kKIC5UUCAxNQotL3Vzci9sb2NhbC9saWIvdmltL3R1dG9yL3R1dG9yWy5sYW5ndWFndWVdCisvdXNyL2xvY2FsL2xpYi92aW0vdHV0b3IvdHV0b3JbLmrEmXp5a10KIFRla3N0b3dlIHBsaWtpCiAuQiBWaW10dXRvcmEuCiAuVFAgMTUKQEAgLTM1LDcgKzM4LDcgQEAKIC5CIFZpbXR1dG9yYS4KIC5TSCBBVVRPUgogLkIgVmltdHV0b3IKLXpvc3RhxYIgcG9jesSFdGtvd28gbmFwaXNhbnkgZGxhIFZpbSBwcnpleiBNaWNoYWVsYSBDLiBQaWVyY2UnYQorem9zdGHFgiBwb2N6xIV0a293byBuYXBpc2FueSBkbGEgVmkgcHJ6ZXogTWljaGFlbGEgQy4gUGllcmNlJ2EKIGkgUm9iZXJ0YSBLLiBXYXJlJ2EgeiBDb2xvcmFkbyBTY2hvb2wgb2YgTWluZXMgemFpbnNwaXJvd2FuaSBwcnplegogQ2hhcmxlc2EgU21pdGhhIHogQ29sb3JhZG8gU3RhdGUgVW5pdmVyc2l0eS4KIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92aW10dXRvci4xIGIvcnVudGltZS9kb2MvdmltdHV0b3IuMQppbmRleCAxMmJkZTdlLi4wYWE3ZThkIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92aW10dXRvci4xCisrKyBiL3J1bnRpbWUvZG9jL3ZpbXR1dG9yLjEKQEAgLTMsNyArMyw3IEBACiB2aW10dXRvciBcLSB0aGUgVmltIHR1dG9yCiAuU0ggU1lOT1BTSVMKIC5icgotLkIgdmltdHV0b3IgWy1nXSBbbGFuZ3VhZ2VdCisuQiB2aW10dXRvciBbXC1nXSBbbGFuZ3VhZ2VdCiAuU0ggREVTQ1JJUFRJT04KIC5CIFZpbXR1dG9yCiBzdGFydHMgdGhlCkBAIC0xOCw3ICsxOCw3IEBACiAuQiBWaW0KIGNvbW1hbmRzLgogLlBQCi1UaGUgb3B0aW9uYWwgYXJndW1lbnQgLWcgc3RhcnRzIHZpbXR1dG9yIHdpdGggZ3ZpbSByYXRoZXIgdGhhbiB2aW0sIGlmIHRoZQorVGhlIG9wdGlvbmFsIGFyZ3VtZW50IFwtZyBzdGFydHMgdmltdHV0b3Igd2l0aCBndmltIHJhdGhlciB0aGFuIHZpbSwgaWYgdGhlCiBHVUkgdmVyc2lvbiBvZiB2aW0gaXMgYXZhaWxhYmxlLCBvciBmYWxscyBiYWNrIHRvIFZpbSBpZiBndmltIGlzIG5vdCBmb3VuZC4KIC5QUAogVGhlIG9wdGlvbmFsIFtsYW5ndWFnZV0gYXJndW1lbnQgaXMgdGhlIHR3by1sZXR0ZXIgbmFtZSBvZiBhIGxhbmd1YWdlLCBsaWtlCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92aW10dXRvci5tYW4gYi9ydW50aW1lL2RvYy92aW10dXRvci5tYW4KaW5kZXggNjM5OWQyMy4uOWYyMzUwYSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmltdHV0b3IubWFuCisrKyBiL3J1bnRpbWUvZG9jL3ZpbXR1dG9yLm1hbgpAQCAtMzcsOSArMzcsOSBAQAogQVVUSE9SCiAgICAgICAgVGhlICBWaW10dXRvciAgd2FzICBvcmlnaW5hbGx5ICB3cml0dGVuIGZvciBWaSBieSBNaWNoYWVsIEMuIFBpZXJjZSBhbmQKICAgICAgICBSb2JlcnQgSy4gV2FyZSwgQ29sb3JhZG8gIFNjaG9vbCAgb2YgIE1pbmVzICB1c2luZyAgaWRlYXMgIHN1cHBsaWVkICBieQotICAgICAgIENoYXJsZXMgIFNtaXRoLCAgQ29sb3JhZG8gIFN0YXRlICBVbml2ZXJzaXR5LiAgRS1tYWlsOiBid2FyZUBtaW5lcy5jb2wtCisgICAgICAgQ2hhcmxlcyAgU21pdGgsICBDb2xvcmFkbyAgU3RhdGUgIFVuaXZlcnNpdHkuICBFLW1haWw6IGJ3YXJlQG1pbmVzLmNvbOKAkAogICAgICAgIG9yYWRvLmVkdS4KLSAgICAgICBJdCB3YXMgbW9kaWZpZWQgZm9yIFZpbSBieSBCcmFtIE1vb2xlbmFhci4gIEZvciB0aGUgbmFtZXMgb2YgdGhlIHRyYW5zLQorICAgICAgIEl0IHdhcyBtb2RpZmllZCBmb3IgVmltIGJ5IEJyYW0gTW9vbGVuYWFyLiAgRm9yIHRoZSBuYW1lcyBvZiB0aGUgdHJhbnPigJAKICAgICAgICBsYXRvcnMgc2VlIHRoZSB0dXRvciBmaWxlcy4KIAogU0VFIEFMU08KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Zpc3VhbC50eHQgYi9ydW50aW1lL2RvYy92aXN1YWwudHh0CmluZGV4IGU4MTdmMDkuLmMwNGRiNGEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Zpc3VhbC50eHQKKysrIGIvcnVudGltZS9kb2MvdmlzdWFsLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp2aXN1YWwudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDYgU2VwIDI2CisqdmlzdWFsLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA5IE9jdCAxNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMjE3LDcgKzIxNyw3IEBACiAJaVsJaW5uZXIgW10gYmxvY2sJCQkJCXx2X2lbfAogCiBBZGRpdGlvbmFsbHkgdGhlIGZvbGxvd2luZyBjb21tYW5kcyBjYW4gYmUgdXNlZDoKLQk6CXN0YXJ0IGV4IGNvbW1hbmQgZm9yIGhpZ2hsaWdodGVkIGxpbmVzICgxKQl8dl86fAorCToJc3RhcnQgRXggY29tbWFuZCBmb3IgaGlnaGxpZ2h0ZWQgbGluZXMgKDEpCXx2Xzp8CiAJcgljaGFuZ2UgKDQpCQkJCQl8dl9yfAogCXMJY2hhbmdlCQkJCQkJfHZfc3wKIAlDCWNoYW5nZSAoMikoNCkJCQkJCXx2X0N8CkBAIC0zMDksOCArMzA5LDYgQEAKIExIUyBvZiB0aGUgYmxvY2sgZGV0ZXJtaW5lcyB0aGUgcG9pbnQgZnJvbSB3aGljaCB0byBhcHBseSBhIHJpZ2h0IHNoaWZ0LCBhbmQKIHBhZGRpbmcgaW5jbHVkZXMgVEFCcyBvcHRpbWFsbHkgYWNjb3JkaW5nIHRvICd0cycgYW5kICdldCcuICBUaGUgTEhTIG9mIHRoZQogYmxvY2sgZGV0ZXJtaW5lcyB0aGUgcG9pbnQgdXB0byB3aGljaCB0byBzaGlmdCBsZWZ0LgotICAgIE5vdGU6IHZfPCBwYWRkaW5nIGlzIGJ1Z2d5IGlmIHRoZSBWaXN1YWwgQmxvY2sgc3RhcnRzIGFuZCBlbmRzIGluIHRoZSBzYW1lCi0gICAgVEFCLiAoVmltIDUuNGMpCiBTZWUgfHZfYl8+X2V4YW1wbGV8LgogU2VlIHx2X2JfPF9leGFtcGxlfC4KIApAQCAtNDY1LDYgKzQ2MywxMCBAQAogbW9kZSBWaW0gYXV0b21hdGljYWxseSBzd2l0Y2hlcyB0byBWaXN1YWwgbW9kZSwgc28gdGhhdCB0aGUgc2FtZSBiZWhhdmlvciBhcwogaW4gVmlzdWFsIG1vZGUgaXMgZWZmZWN0aXZlLiAgSWYgeW91IGRvbid0IHdhbnQgdGhpcyB1c2UgfDp4bWFwfCBvciB8OnNtYXB8LgogCitVc2VycyB3aWxsIGV4cGVjdCBwcmludGFibGUgY2hhcmFjdGVycyB0byByZXBsYWNlIHRoZSBzZWxlY3RlZCBhcmVhLgorVGhlcmVmb3JlIGF2b2lkIG1hcHBpbmcgcHJpbnRhYmxlIGNoYXJhY3RlcnMgaW4gU2VsZWN0IG1vZGUuICBPciB1c2UKK3w6c3VubWFwfCAgYWZ0ZXIgfDptYXB8IGFuZCB8OnZtYXB8IHRvIHJlbW92ZSBpdCBmb3IgU2VsZWN0IG1vZGUuCisKIEFmdGVyIHRoZSBtYXBwaW5nIG9yIG1lbnUgZmluaXNoZXMsIHRoZSBzZWxlY3Rpb24gaXMgZW5hYmxlZCBhZ2FpbiBhbmQgU2VsZWN0CiBtb2RlIGVudGVyZWQsIHVubGVzcyB0aGUgc2VsZWN0ZWQgYXJlYSB3YXMgZGVsZXRlZCwgYW5vdGhlciBidWZmZXIgYmVjYW1lCiB0aGUgY3VycmVudCBvbmUgb3IgdGhlIHdpbmRvdyBsYXlvdXQgd2FzIGNoYW5nZWQuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy93aW5kb3dzLnR4dCBiL3J1bnRpbWUvZG9jL3dpbmRvd3MudHh0CmluZGV4IGIxZDgxYTMuLjA0MGJjODggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3dpbmRvd3MudHh0CisrKyBiL3J1bnRpbWUvZG9jL3dpbmRvd3MudHh0CkBAIC0xLDQgKzEsNCBAQAotKndpbmRvd3MudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOCBBdWcgMDkKKyp3aW5kb3dzLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDkgU2VwIDIzCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zNSw2ICszNSwxMSBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAxLiBJbnRyb2R1Y3Rpb24JCQkJCSp3aW5kb3dzLWludHJvKiAqd2luZG93KgogCitTdW1tYXJ5OgorICAgQSBidWZmZXIgaXMgdGhlIGluLW1lbW9yeSB0ZXh0IG9mIGEgZmlsZS4KKyAgIEEgd2luZG93IGlzIGEgdmlld3BvcnQgb24gYSBidWZmZXIuCisgICBBIHRhYiBwYWdlIGlzIGEgY29sbGVjdGlvbiBvZiB3aW5kb3dzLgorCiBBIHdpbmRvdyBpcyBhIHZpZXdwb3J0IG9udG8gYSBidWZmZXIuICBZb3UgY2FuIHVzZSBtdWx0aXBsZSB3aW5kb3dzIG9uIG9uZQogYnVmZmVyLCBvciBzZXZlcmFsIHdpbmRvd3Mgb24gZGlmZmVyZW50IGJ1ZmZlcnMuCiAKQEAgLTM0MiwxMyArMzQ3LDEzIEBACiAJCXRvcC1sZWZ0IHdpbmRvdy4KIAkJV2l0aCBjb3VudDogZ28gdG8gTnRoIHdpbmRvdyAod2luZG93cyBhcmUgbnVtYmVyZWQgZnJvbQogCQl0b3AtbGVmdCB0byBib3R0b20tcmlnaHQpLiAgVG8gb2J0YWluIHRoZSB3aW5kb3cgbnVtYmVyIHNlZQotCQl8YnVmd2lubnIoKXwgYW5kIHx3aW5ucigpfC4KKwkJfGJ1Zndpbm5yKCl8IGFuZCB8d2lubnIoKXwuICBXaGVuIE4gaXMgbGFyZ2VyIHRoYW4gdGhlIG51bWJlcgorCQlvZiB3aW5kb3dzIGdvIHRvIHRoZSBsYXN0IHdpbmRvdy4KIAogCQkJCQkJKkNUUkwtV19XKgogQ1RSTC1XIFcJV2l0aG91dCBjb3VudDogbW92ZSBjdXJzb3IgdG8gd2luZG93IGFib3ZlL2xlZnQgb2YgY3VycmVudAogCQlvbmUuICBJZiB0aGVyZSBpcyBubyB3aW5kb3cgYWJvdmUgb3IgbGVmdCwgZ28gdG8gYm90dG9tLXJpZ2h0Ci0JCXdpbmRvdy4gIFdpdGggY291bnQ6IGdvIHRvIE50aCB3aW5kb3cgKHdpbmRvd3MgYXJlIG51bWJlcmVkCi0JCWZyb20gdG9wLWxlZnQgdG8gYm90dG9tLXJpZ2h0KS4KKwkJd2luZG93LiAgV2l0aCBjb3VudDogZ28gdG8gTnRoIHdpbmRvdywgbGlrZSB3aXRoIENUUkwtVyB3LgogCiBDVFJMLVcgdAkJCQkJKkNUUkwtV190KiAqQ1RSTC1XX0NUUkwtVCoKIENUUkwtVyBDVFJMLVQJTW92ZSBjdXJzb3IgdG8gdG9wLWxlZnQgd2luZG93LgpAQCAtMTE3NSw3ICsxMTgwLDggQEAKIAkJCTpzZXRsb2NhbCBidWZ0eXBlPW5vZmlsZQogCQkJOnNldGxvY2FsIGJ1ZmhpZGRlbj1oaWRlCiAJCQk6c2V0bG9jYWwgbm9zd2FwZmlsZQotPAkJVGhlIGJ1ZmZlciBuYW1lIGNhbiBiZSB1c2VkIHRvIGlkZW50aWZ5IHRoZSBidWZmZXIuCis8CQlUaGUgYnVmZmVyIG5hbWUgY2FuIGJlIHVzZWQgdG8gaWRlbnRpZnkgdGhlIGJ1ZmZlciwgaWYgeW91CisJCWdpdmUgaXQgYSBtZWFuaW5nZnVsIG5hbWUuCiAKIAkJCQkJCSp1bmxpc3RlZC1idWZmZXIqCiB1bmxpc3RlZAlUaGUgYnVmZmVyIGlzIG5vdCBpbiB0aGUgYnVmZmVyIGxpc3QuICBJdCBpcyBub3QgdXNlZCBmb3IKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3h4ZC1mci4xIGIvcnVudGltZS9kb2MveHhkLWZyLjEKaW5kZXggZGZiYzI5MS4uMGIyNWRhNCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MveHhkLWZyLjEKKysrIGIvcnVudGltZS9kb2MveHhkLWZyLjEKQEAgLTEzNSw3ICsxMzUsNyBAQAogROlidXRlIGF1CiAuUkkgPCBk6WNhbGFnZSA+CiBhYnNvbHUgb3UgcmVsYXRpZiBkYW5zIGZpY2hpZXJfZW50cmVlLgotXGZJKyBmUmluZGlxdWUgcXVlIGxlIGTpY2FsYWdlIGVzdCByZWxhdGlmIOAgbGEgcG9zaXRpb24gY291cmFudGUgZGFucworXGZJKyBcZlJpbmRpcXVlIHF1ZSBsZSBk6WNhbGFnZSBlc3QgcmVsYXRpZiDgIGxhIHBvc2l0aW9uIGNvdXJhbnRlIGRhbnMKIGwnZW50cullIHN0YW5kYXJkIChzYW5zIGVmZmV0IHNpIGxhIGxlY3R1cmUgbidhIHBhcyBsaWV1IHN1ciBsJ2VudHLpZQogc3RhbmRhcmQpLiBcZklcLSBcZlJpbmRpcXVlIHVuIGTpY2FsYWdlIGVuIGNhcmFjdOhyZXMgZGVwdWlzIGxhIGZpbiBkZQogbCdlbnRy6WUgKHV0aWxpc+kgYXZlYyBcZkkrXGZSLCBk6XNpZ25lIGxhIHBvc2l0aW9uIGF2YW50IGxhIHBvc2l0aW9uCkBAIC0zMDgsNyArMzA4LDcgQEAKIC5QUAogQ3LpZXIgdW4gZmljaGllciBkJ3VuIG9jdGV0LCBjb250ZW5hbnQgc2V1bGVtZW50IGxlIGNhcmFjdOhyZSAnQScuCiBMZXMgbm9tYnJlcyBhcHLocyAnXC1yIFwtcycgcydham91dGVudCBhdSBudW3pcm9zIGRlIGxpZ25lcyB0cm91dullcyBkYW5zIGxlCi1maWNoaWVyIDsgWFhYIGluIGVmZmVjdHMsIGxlcyBvY3RldHMgaW5pdGlhdXggc29udCBzdXBwcmlt6XMuCitmaWNoaWVyIDsgbGVzIG9jdGV0cyBpbml0aWF1eCBzb250IHN1cHByaW3pcy4KIC5icgogXGZJJSBlY2hvICcwMTAwMDA6IDQxJyB8IHh4ZCBcLXIgXC1zIFwtMHgxMDAwMCBcPiBmaWNoaWVyXGZSCiAuUFAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3h4ZC1mci5VVEYtOC4xIGIvcnVudGltZS9kb2MveHhkLWZyLlVURi04LjEKaW5kZXggN2JkYjY1NS4uOWZjNDdkMyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MveHhkLWZyLlVURi04LjEKKysrIGIvcnVudGltZS9kb2MveHhkLWZyLlVURi04LjEKQEAgLTEzNSw3ICsxMzUsNyBAQAogRMOpYnV0ZSBhdQogLlJJIDwgZMOpY2FsYWdlID4KIGFic29sdSBvdSByZWxhdGlmIGRhbnMgZmljaGllcl9lbnRyZWUuCi1cZkkrIGZSaW5kaXF1ZSBxdWUgbGUgZMOpY2FsYWdlIGVzdCByZWxhdGlmIMOgIGxhIHBvc2l0aW9uIGNvdXJhbnRlIGRhbnMKK1xmSSsgXGZSaW5kaXF1ZSBxdWUgbGUgZMOpY2FsYWdlIGVzdCByZWxhdGlmIMOgIGxhIHBvc2l0aW9uIGNvdXJhbnRlIGRhbnMKIGwnZW50csOpZSBzdGFuZGFyZCAoc2FucyBlZmZldCBzaSBsYSBsZWN0dXJlIG4nYSBwYXMgbGlldSBzdXIgbCdlbnRyw6llCiBzdGFuZGFyZCkuIFxmSVwtIFxmUmluZGlxdWUgdW4gZMOpY2FsYWdlIGVuIGNhcmFjdMOocmVzIGRlcHVpcyBsYSBmaW4gZGUKIGwnZW50csOpZSAodXRpbGlzw6kgYXZlYyBcZkkrXGZSLCBkw6lzaWduZSBsYSBwb3NpdGlvbiBhdmFudCBsYSBwb3NpdGlvbgpAQCAtMzA4LDcgKzMwOCw3IEBACiAuUFAKIENyw6llciB1biBmaWNoaWVyIGQndW4gb2N0ZXQsIGNvbnRlbmFudCBzZXVsZW1lbnQgbGUgY2FyYWN0w6hyZSAnQScuCiBMZXMgbm9tYnJlcyBhcHLDqHMgJ1wtciBcLXMnIHMnYWpvdXRlbnQgYXUgbnVtw6lyb3MgZGUgbGlnbmVzIHRyb3V2w6llcyBkYW5zIGxlCi1maWNoaWVyIDsgWFhYIGluIGVmZmVjdHMsIGxlcyBvY3RldHMgaW5pdGlhdXggc29udCBzdXBwcmltw6lzLgorZmljaGllciA7IGxlcyBvY3RldHMgaW5pdGlhdXggc29udCBzdXBwcmltw6lzLgogLmJyCiBcZkklIGVjaG8gJzAxMDAwMDogNDEnIHwgeHhkIFwtciBcLXMgXC0weDEwMDAwIFw+IGZpY2hpZXJcZlIKIC5QUApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MveHhkLXBsLjEgYi9ydW50aW1lL2RvYy94eGQtcGwuMQppbmRleCAwMGNiYmZmLi5kOWZhOWJlIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy94eGQtcGwuMQorKysgYi9ydW50aW1lL2RvYy94eGQtcGwuMQpAQCAtMTgsNyArMTgsNyBAQAogXC1yW2V2ZXJ0XSBbb3BjamVdIFtwbGlrX3dlIFtwbGlrX3d5XV0KIC5TSCBPUElTCiAuSSB4eGQKLXR3b3J6eSB6cnp1dCBoZWtzb3d5IHBvZGFuZWdvIHBsaWt1IG5hIHN0YW5kYXJkb3dlIHd5arZjaWUuCit0d29yenkgenJ6dXQgaGVrc293eSBwb2RhbmVnbyBwbGlrdSBsdWIgc3RhbmRhcmRvd2VnbyB3ZWq2Y2lhLgogTW+/ZSB0YWu/ZSBwcnpldHdvcnp55iB6cnp1dCBoZWtzb3d5IHogcG93cm90ZW0gZG8gb3J5Z2luYWxuZWosCiBiaW5hcm5laiBmb3JteS4KIFBvZG9ibmllIGphawpAQCAtMjcsMTMgKzI3LDEzIEBACiAuQlIgdXVkZWNvZGUgKDEpCiBwb3p3YWxhIG5hIHByemVrYXphbmllIGRhbnljaCBiaW5hcm55Y2ggdyBiZXpwaWVjem5laiB3IHBvY3pjaWUgZm9ybWllCiBBU0NJSSwgYWxlIG1hIHphbGV0eSBkZWtvZG93YW5pYSBuYSBzdGFuZGFyZG93ZSB3eWq2Y2llLgotUG9uYWR0byBtb79uYSBnbyB1v3nmIGRvIHByemVwcm93YWR6ZW5pYSCzYXRhbmlhIHBsaWvzdyBiaW5hcm55Y2guCitQb25hZHRvIG1vv25hIGdvIHW/eeYgZG8gYmluYXJuZWdvILNhdGFuaWEgcGxpa/N3LgogLlNIIE9QQ0pFCiBKZbZsaSBuaWUgcG9kYW5vCiAuSSBwbGlrX3dlCi14eGQgY3p5dGEgemUgc3RhbmRhcmRvd2VnbyB3ZWq2Y2llLgoreHhkIGN6eXRhIHplIHN0YW5kYXJkb3dlZ28gd2VqtmNpYS4KIEpltmxpIG9rcmW2bG9ubwotLkkgcGxpa193eQorLkkgcGxpa193ZQogamFrbyB6bmFrCiAuUkIgXGAgXC0gJwogd3RlZHkgZGFuZSB3ZWq2Y2lvd2UgY3p5dGFuZSBzsSB6ZSBzdGFuZGFyZG93ZWdvIHdlarZjaWEuCkBAIC02Myw5ICs2Myw5IEBACiAuVFAKIC5JUiBcLWIgIiB8ICIgXC1iaXRzCiBQcnpls7FjemEgZG8genJ6dXR1IGJpdG93ZWdvIChjeWZyIGJpbmFybnljaCkgemFtaWFzdCBoZWtzb3dlZ28uCi1PcGNqYSB0YSB6YXBpc3VqZSBva3RldHkgYWprbyBvc2llbSBjeWZyIDEgbHViIDAgemFtaWFzIG5vcm1hbG5lZ28KK09wY2phIHRhIHphcGlzdWplIG9rdGV0eSBqYWtvIG9zaWVtIGN5ZnIgMSBsdWIgMCB6YW1pYXN0IG5vcm1hbG5lZ28KIHpyenV0dSBoZWtzb3dlZ28uIEthv2RhIGxpbmlhIGplc3QgcG9wcnplZHpvbmEgcHJ6ZXoKLWhla3NhZGVjeW1hbG55IG51bWVyIGxpbmlpIGEgemEgbmltIGplZ28gcmVwcmV6ZW50YWNqYSB3IGFzY2lpIChsdWIKK2hla3NhZGVjeW1hbG55IG51bWVyIGxpbmlpIGEgcG8gbmltIGplZ28gcmVwcmV6ZW50YWNqsSB3IGFzY2lpIChsdWIKIGViY2RpYykuIE9wY2plIGxpbmlpIHBvbGVjZfEgXC1yLCBcLXAsIFwtaSBuaWUgZHppYbNharEgdyB0eW0KIHRyeWJpZS4KIC5UUApAQCAtMTAzLDcgKzEwMyw3IEBACiAuVFAKIC5JUiAiXC1sIGxlbiAiIHwgIlwtbGVuIGxlbiIKIHpha2/xY3ogcG8gd3lwaXNhbml1Ci0uUkkgPCBsZW4+CisuUkkgPCBsZW4gPgogb2t0ZXTzdy4KIC5UUAogLklSIFwtcCAiIHwgIiBcLXBzICIgfCAiIFwtcG9zdHNjcmlwdCAiIHwgIiBcLXBsYWluCkBAIC0xMTcsNyArMTE3LDcgQEAKIC5JIFwtciBcLXAKIGJ5IG9kY3p5dGHmIHp3eWuzeSB6cnp1dCBoZWtzYWRlY3ltYWxueSBiZXogbnVtZXLzdyBsaW5paQogaSBva3JltmxvbmVnbyB1a7NhZHUga29sdW1uLiBEb2RhdGtvd2UgYmlhs2Ugem5ha2kgaSCzYW1hbmllIHdpZXJzenkKLXOxIGRvendvbG9uZSB3c3rqZHppZS4KK3OxIHdzeupkemllIGRvendvbG9uZS4KIC5UUAogLkkgXC1zZWVrIG9mZnNldAogS2llZHkgdb95dHkgcG8KQEAgLTEyOSwxMSArMTI5LDExIEBACiAuSSBcLXMgWytdW1wtXXNlZWsKIHphY3p5bmEgbmEKIC5SSSA8IHNlZWsgPgotYmFqdPN3IGFicy4gKGx1YiB3emcuKSBvZmZzZWNpZSBwbGlrdSB3ZWq2Y2lvd2Vnby4KLVxmSSsgZlJ3c2thenVqZSwgv2Ugc2VlayBqZXN0IHd6Z2zqZG5lIGRvIGJpZb+xY2VqIHBvenljamkgcGxpa3UgKGJlegorYmFqdPN3IGJlendnbOpkbmVnbyAobHViIHd6Z2zqZG5lZ28pIG9mZnNldHUgcGxpa3Ugd2VqtmNpb3dlZ28uCitcZkkrIFxmUndza2F6dWplLCC/ZSBzZWVrIGplc3Qgd3pnbOpkbmUgZG8gYmllv7FjZWogcG96eWNqaSBwbGlrdSAoYmV6CiB6bmFjemVuaWEgamW2bGkgbmllIHdjenl0dWplIHplIHN0YW5kYXJkb3dlZ28gd2VqtmNpYSkuIFxmSVwtIFxmUndza2F6dWplCiC/ZSBzZWVrIHBvd2lubm8gYnnmIG8gdHlsZSB6bmFr83cgb2Qga2/xY2Egd2VqtmNpYSAobHViIGpltmxpCi1wb7OxY3pvbmUgeiBcZkkrXGZSOiBwcnplemhkIGJpZb+xY7EgcG96eWNqsSBwbGlrdSBuYSBzdGFuZGFyZG93eW0KK3Bvs7Fjem9uZSB6IFxmSStcZlI6IHByemVkIGJpZb+xY7EgcG96eWNqsSBwbGlrdSBuYSBzdGFuZGFyZG93eW0KIHdlarZjaXUpLgogQmV6IG9wY2ppIFwtcyB4eGQgemFjenluYSBvZCBiaWW/sWNlaiBwb3p5Y2ppIHcgcGxpa3UuCiAuVFAKQEAgLTE1Myw3ICsxNTMsNyBAQAogc7EgdHlsa28gcHJ6ZXJ3eSwga3TzcmUgem9zdGFusSB3eXBls25pb25lIGJhanRhbWkgbnVsbC4KIC5QUAogLkkgeHhkIFwtcgotbmlnZHkgbmllIHBvZGFqZSBis+pk83cgYW5hbGl6eS4gpm1pZWNpIHOxIGlnbm9yb3dhbmUuCituaWdkeSBuaWUgcG9kYWplIGKz6mTzdyBhbmFsaXp5LiCmbWllY2kgc7EgcG8gY2ljaHUgaWdub3Jvd2FuZS4KIC5QUAogVyBjemFzaWUgZWR5Y2ppIHpyenV083cgaGVrc293eWNoLCBwcm9zeuogemF1d2G/eeYgv2UKIC5JIHh4ZCBcLXIKQEAgLTE2MSw4ICsxNjEsOCBAQAoga29sdW1uIGRhbnljaCBoZWtzYWRlY3ltYWxueWNoICh6b2JhY3ogb3BjauogXC1jKS4gT3puYWN6YSB0byB0YWu/ZSwKIL9lIHptaWFueSB3IGRydWtvd2FueWNoIGtvbHVtbmFjaCBhc2NpaSAobHViIGViY2RpYykgc7EgemF3c3plCiBpZ25vcm93YW5lLiBPZHdy82NlbmllIHp3eWuzZWdvIChsdWIgcG9zdHNjcmlwdG93ZWdvKSBzdHlsdSB6cnp1dHUKLXBvcHJ6ZXogeHhkIFwtciBcLXAgbmllIHphbGW/eSBvZCBrb2xlam5vtmNpIGtvbHVtbi4gVHV0YWogY29rb2x3aWVqCi1jbyB3eWdssWRhIGphayBwYXJhIGN5ZnIgaGVrcyBqZXN0IGludGVycHJldG93YW5lLgorcG9wcnpleiB4eGQgXC1yIFwtcCBuaWUgemFsZb95IG9kIGtvbGVqbm+2Y2kga29sdW1uLiBUdXRhaiBjb2tvbHdpZWsKK2NvIHd5Z2yxZGEgamFrIHBhcmEgem5ha/N3IGhla3MgamVzdCBpbnRlcnByZXRvd2FuZS4KIC5QUAogWmF1d2G/IHLzv25pY+ogbWnqZHp5CiAuYnIKQEAgLTE3NSw3ICsxNzUsNyBAQAogLkkgeHhkIFwtcyBcK3NlZWsKIG1vv2UgYnnmIHLzv25lIG9kCiAuSVIgInh4ZCBcLXMgc2VlayIgLAotcG9uaWV3Yb8gbHNlZWsoMikgamVzdCB1v3l0eSBkbyAicHJ6ZXdpbmnqY2llIiB3ZWq2Y2lhLiAnKycgcm9iaQorcG9uaWV3Yb8gbHNlZWsoMikgamVzdCB1v3l0eSBkbyAicHJ6ZXdpbmnqY2llIiB3ZWq2Y2lhLiAnKycgc3Rhbm93aQogcvO/bmlj6iBqZbZsaSC8cvNks2VtIHdlarZjaWEgamVzdCBzdGFuZGFyZG93ZSB3ZWq2Y2llIGkgamW2bGkgcG96eWNqYQogdyBwbGlrdSB6ZSBzdGFuZGFyZG93ZWdvIHdlarZjaWEgbmllIGplc3QgcG9jerF0a2llbSBwbGlrdSB3IGNod2lsaQogdXJ1Y2hvbWllbmlhIHh4ZC4gTmFzdOpwdWqxY2UgcHJ6eWuzYWR5IG1vZ7Egd3lqYbZuaeYgKGx1YiBiYXJkemllagpAQCAtMTg0LDE3ICsxODQsMTcgQEAKIFByemV3afEgc3RhbmRhcmRvd2Ugd2VqtmNpZSBwcnplZCBwcnplY3p5dGFuaWVtOyBwb3RyemVibmUgcG9uaWV3Yb8KIGBjYXQnIGp1vyBvZGN6eXRhsyBkbyBrb/FjYSBzdGFuZGFyZG93ZWdvIHdlarZjaWEuCiAuYnIKLVxmSSUgc2ggXC1jICdjYXQgPiB6d3lrs2Ffa29waWE7IHh4ZCBcLXMgMCA+IGhleF9rb3BpYScgPCBwbGlrCitcZkklIHNoIFwtYyAnY2F0ID4gend5a7NhX2tvcGlhOyB4eGQgXC1zIDAgPiBoZXhfa29waWEnIDwgcGxpa1xmUgogLlBQCiBacnp1dCBoZWtzb3d5IG9kIHBvenljamkgcGxpa3UgMHg0ODAgKD0xMDI0KzEyOCkgdyBwcnrzZC4KIFpuYWsgYCsnIG96bmFjemEgInd6Z2zqZG55IHdvYmVjIGJpZb+xY2VqIHBvenljamkiLCBzdLFkIGAxMjgnIGRvZGFqZQogZG8gMWsgZ2R6aWUgemFrb/FjenmzIGRkLgogLmJyCi1cZkklIHNoIFwtYyAnZGQgb2Y9cGxhaW5fc25pcHBldCBicz0xayBjb3VudD0xOyB4eGQgXC1zICsxMjggPiBoZXhfc25pcHBldCcgPCBmaWxlCitcZkklIHNoIFwtYyAnZGQgb2Y9cGxhaW5fc25pcHBldCBicz0xayBjb3VudD0xOyB4eGQgXC1zICsxMjggPiBoZXhfc25pcHBldCcgPCBmaWxlXGZSCiAuUFAKIFpyenV0IGhla3Nvd3kgb2QgcG96eWNqaSBwbGlrdSAweDEwMCAoID0gMTAyNFwtNzY4KSBkYWxlai4KIC5icgotXGZJJSBzaCBcLWMgJ2RkIG9mPXBsYWluX3NuaXBwZXQgYnM9MWsgY291bnQ9MTsgeHhkIFwtcyArLTc2OCA+IGhleF9zbmlwcGV0JyA8IGZpbGUKK1xmSSUgc2ggXC1jICdkZCBvZj1wbGFpbl9zbmlwcGV0IGJzPTFrIGNvdW50PTE7IHh4ZCBcLXMgKy03NjggPiBoZXhfc25pcHBldCcgPCBmaWxlXGZSCiAuUFAKIEpha2tvbHdpZWssIGplc3QgdG8gcnphZGthIHN5dHVhY2phIGkgdb95Y2llIGArJyBqZXN0IHJ6YWRrbwogcG90cnplYm5lLgpAQCAtMjA2LDE0ICsyMDYsMTQgQEAKIC5CIHBsaWt1CiBcLgogLmJyCi1cZkklIHh4ZCBcLXMgMHgzMCBwbGlrCitcZkklIHh4ZCBcLXMgMHgzMCBwbGlrXGZSCiAuUFAKIC5icgogV3lwaXN6IHRyenkgbGluaWUgKGhla3Nvd2UgMHgzMCBiYWp083cpIHoga2/xY2EKIC5CIHBsaWt1CiBcLgogLmJyCi1cZkklIHh4ZCBcLXMgXC0weDMwIHBsaWsKK1xmSSUgeHhkIFwtcyBcLTB4MzAgcGxpa1xmUgogLlBQCiAuYnIKIFd5cGlzeiAxMjAgYmFqdPN3IGpha28gY2mxZ7N5IHpyenV0IGhla3Nvd3kgeiAyMCBva3RldGFtaSBuYSBsaW5p6i4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3h4ZC1wbC5VVEYtOC4xIGIvcnVudGltZS9kb2MveHhkLXBsLlVURi04LjEKaW5kZXggNjY5ZmZjMi4uZTYzY2U2NCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MveHhkLXBsLlVURi04LjEKKysrIGIvcnVudGltZS9kb2MveHhkLXBsLlVURi04LjEKQEAgLTE4LDcgKzE4LDcgQEAKIFwtcltldmVydF0gW29wY2plXSBbcGxpa193ZSBbcGxpa193eV1dCiAuU0ggT1BJUwogLkkgeHhkCi10d29yenkgenJ6dXQgaGVrc293eSBwb2RhbmVnbyBwbGlrdSBuYSBzdGFuZGFyZG93ZSB3eWrFm2NpZS4KK3R3b3J6eSB6cnp1dCBoZWtzb3d5IHBvZGFuZWdvIHBsaWt1IGx1YiBzdGFuZGFyZG93ZWdvIHdlasWbY2lhLgogTW/FvGUgdGFrxbxlIHByemV0d29yennEhyB6cnp1dCBoZWtzb3d5IHogcG93cm90ZW0gZG8gb3J5Z2luYWxuZWosCiBiaW5hcm5laiBmb3JteS4KIFBvZG9ibmllIGphawpAQCAtMjcsMTMgKzI3LDEzIEBACiAuQlIgdXVkZWNvZGUgKDEpCiBwb3p3YWxhIG5hIHByemVrYXphbmllIGRhbnljaCBiaW5hcm55Y2ggdyBiZXpwaWVjem5laiB3IHBvY3pjaWUgZm9ybWllCiBBU0NJSSwgYWxlIG1hIHphbGV0eSBkZWtvZG93YW5pYSBuYSBzdGFuZGFyZG93ZSB3eWrFm2NpZS4KLVBvbmFkdG8gbW/FvG5hIGdvIHXFvHnEhyBkbyBwcnplcHJvd2FkemVuaWEgxYJhdGFuaWEgcGxpa8OzdyBiaW5hcm55Y2guCitQb25hZHRvIG1vxbxuYSBnbyB1xbx5xIcgZG8gYmluYXJuZWdvIMWCYXRhbmlhIHBsaWvDs3cuCiAuU0ggT1BDSkUKIEplxZtsaSBuaWUgcG9kYW5vCiAuSSBwbGlrX3dlCi14eGQgY3p5dGEgemUgc3RhbmRhcmRvd2VnbyB3ZWrFm2NpZS4KK3h4ZCBjenl0YSB6ZSBzdGFuZGFyZG93ZWdvIHdlasWbY2lhLgogSmXFm2xpIG9rcmXFm2xvbm8KLS5JIHBsaWtfd3kKKy5JIHBsaWtfd2UKIGpha28gem5hawogLlJCIFxgIFwtICcKIHd0ZWR5IGRhbmUgd2VqxZtjaW93ZSBjenl0YW5lIHPEhSB6ZSBzdGFuZGFyZG93ZWdvIHdlasWbY2lhLgpAQCAtNjMsOSArNjMsOSBAQAogLlRQCiAuSVIgXC1iICIgfCAiIFwtYml0cwogUHJ6ZcWCxIVjemEgZG8genJ6dXR1IGJpdG93ZWdvIChjeWZyIGJpbmFybnljaCkgemFtaWFzdCBoZWtzb3dlZ28uCi1PcGNqYSB0YSB6YXBpc3VqZSBva3RldHkgYWprbyBvc2llbSBjeWZyIDEgbHViIDAgemFtaWFzIG5vcm1hbG5lZ28KK09wY2phIHRhIHphcGlzdWplIG9rdGV0eSBqYWtvIG9zaWVtIGN5ZnIgMSBsdWIgMCB6YW1pYXN0IG5vcm1hbG5lZ28KIHpyenV0dSBoZWtzb3dlZ28uIEthxbxkYSBsaW5pYSBqZXN0IHBvcHJ6ZWR6b25hIHByemV6Ci1oZWtzYWRlY3ltYWxueSBudW1lciBsaW5paSBhIHphIG5pbSBqZWdvIHJlcHJlemVudGFjamEgdyBhc2NpaSAobHViCitoZWtzYWRlY3ltYWxueSBudW1lciBsaW5paSBhIHBvIG5pbSBqZWdvIHJlcHJlemVudGFjasSFIHcgYXNjaWkgKGx1YgogZWJjZGljKS4gT3BjamUgbGluaWkgcG9sZWNlxYQgXC1yLCBcLXAsIFwtaSBuaWUgZHppYcWCYWrEhSB3IHR5bQogdHJ5YmllLgogLlRQCkBAIC0xMDMsNyArMTAzLDcgQEAKIC5UUAogLklSICJcLWwgbGVuICIgfCAiXC1sZW4gbGVuIgogemFrb8WEY3ogcG8gd3lwaXNhbml1Ci0uUkkgPCBsZW4+CisuUkkgPCBsZW4gPgogb2t0ZXTDs3cuCiAuVFAKIC5JUiBcLXAgIiB8ICIgXC1wcyAiIHwgIiBcLXBvc3RzY3JpcHQgIiB8ICIgXC1wbGFpbgpAQCAtMTE3LDcgKzExNyw3IEBACiAuSSBcLXIgXC1wCiBieSBvZGN6eXRhxIcgend5a8WCeSB6cnp1dCBoZWtzYWRlY3ltYWxueSBiZXogbnVtZXLDs3cgbGluaWkKIGkgb2tyZcWbbG9uZWdvIHVrxYJhZHUga29sdW1uLiBEb2RhdGtvd2UgYmlhxYJlIHpuYWtpIGkgxYJhbWFuaWUgd2llcnN6eQotc8SFIGRvendvbG9uZSB3c3rEmWR6aWUuCitzxIUgd3N6xJlkemllIGRvendvbG9uZS4KIC5UUAogLkkgXC1zZWVrIG9mZnNldAogS2llZHkgdcW8eXR5IHBvCkBAIC0xMjksMTEgKzEyOSwxMSBAQAogLkkgXC1zIFsrXVtcLV1zZWVrCiB6YWN6eW5hIG5hCiAuUkkgPCBzZWVrID4KLWJhanTDs3cgYWJzLiAobHViIHd6Zy4pIG9mZnNlY2llIHBsaWt1IHdlasWbY2lvd2Vnby4KLVxmSSsgZlJ3c2thenVqZSwgxbxlIHNlZWsgamVzdCB3emdsxJlkbmUgZG8gYmllxbzEhWNlaiBwb3p5Y2ppIHBsaWt1IChiZXoKK2JhanTDs3cgYmV6d2dsxJlkbmVnbyAobHViIHd6Z2zEmWRuZWdvKSBvZmZzZXR1IHBsaWt1IHdlasWbY2lvd2Vnby4KK1xmSSsgXGZSd3NrYXp1amUsIMW8ZSBzZWVrIGplc3Qgd3pnbMSZZG5lIGRvIGJpZcW8xIVjZWogcG96eWNqaSBwbGlrdSAoYmV6CiB6bmFjemVuaWEgamXFm2xpIG5pZSB3Y3p5dHVqZSB6ZSBzdGFuZGFyZG93ZWdvIHdlasWbY2lhKS4gXGZJXC0gXGZSd3NrYXp1amUKIMW8ZSBzZWVrIHBvd2lubm8gYnnEhyBvIHR5bGUgem5ha8OzdyBvZCBrb8WEY2Egd2VqxZtjaWEgKGx1YiBqZcWbbGkKLXBvxYLEhWN6b25lIHogXGZJK1xmUjogcHJ6ZXpoZCBiaWXFvMSFY8SFIHBvenljasSFIHBsaWt1IG5hIHN0YW5kYXJkb3d5bQorcG/FgsSFY3pvbmUgeiBcZkkrXGZSOiBwcnplZCBiaWXFvMSFY8SFIHBvenljasSFIHBsaWt1IG5hIHN0YW5kYXJkb3d5bQogd2VqxZtjaXUpLgogQmV6IG9wY2ppIFwtcyB4eGQgemFjenluYSBvZCBiaWXFvMSFY2VqIHBvenljamkgdyBwbGlrdS4KIC5UUApAQCAtMTUzLDcgKzE1Myw3IEBACiBzxIUgdHlsa28gcHJ6ZXJ3eSwga3TDs3JlIHpvc3RhbsSFIHd5cGXFgm5pb25lIGJhanRhbWkgbnVsbC4KIC5QUAogLkkgeHhkIFwtcgotbmlnZHkgbmllIHBvZGFqZSBixYLEmWTDs3cgYW5hbGl6eS4gxZptaWVjaSBzxIUgaWdub3Jvd2FuZS4KK25pZ2R5IG5pZSBwb2RhamUgYsWCxJlkw7N3IGFuYWxpenkuIMWabWllY2kgc8SFIHBvIGNpY2h1IGlnbm9yb3dhbmUuCiAuUFAKIFcgY3phc2llIGVkeWNqaSB6cnp1dMOzdyBoZWtzb3d5Y2gsIHByb3N6xJkgemF1d2HFvHnEhyDFvGUKIC5JIHh4ZCBcLXIKQEAgLTE2MSw4ICsxNjEsOCBAQAoga29sdW1uIGRhbnljaCBoZWtzYWRlY3ltYWxueWNoICh6b2JhY3ogb3BjasSZIFwtYykuIE96bmFjemEgdG8gdGFrxbxlLAogxbxlIHptaWFueSB3IGRydWtvd2FueWNoIGtvbHVtbmFjaCBhc2NpaSAobHViIGViY2RpYykgc8SFIHphd3N6ZQogaWdub3Jvd2FuZS4gT2R3csOzY2VuaWUgend5a8WCZWdvIChsdWIgcG9zdHNjcmlwdG93ZWdvKSBzdHlsdSB6cnp1dHUKLXBvcHJ6ZXogeHhkIFwtciBcLXAgbmllIHphbGXFvHkgb2Qga29sZWpub8WbY2kga29sdW1uLiBUdXRhaiBjb2tvbHdpZWoKLWNvIHd5Z2zEhWRhIGphayBwYXJhIGN5ZnIgaGVrcyBqZXN0IGludGVycHJldG93YW5lLgorcG9wcnpleiB4eGQgXC1yIFwtcCBuaWUgemFsZcW8eSBvZCBrb2xlam5vxZtjaSBrb2x1bW4uIFR1dGFqIGNva29sd2llaworY28gd3lnbMSFZGEgamFrIHBhcmEgem5ha8OzdyBoZWtzIGplc3QgaW50ZXJwcmV0b3dhbmUuCiAuUFAKIFphdXdhxbwgcsOzxbxuaWPEmSBtacSZZHp5CiAuYnIKQEAgLTE3NSw3ICsxNzUsNyBAQAogLkkgeHhkIFwtcyBcK3NlZWsKIG1vxbxlIGJ5xIcgcsOzxbxuZSBvZAogLklSICJ4eGQgXC1zIHNlZWsiICwKLXBvbmlld2HFvCBsc2VlaygyKSBqZXN0IHXFvHl0eSBkbyAicHJ6ZXdpbmnEmWNpZSIgd2VqxZtjaWEuICcrJyByb2JpCitwb25pZXdhxbwgbHNlZWsoMikgamVzdCB1xbx5dHkgZG8gInByemV3aW5pxJljaWUiIHdlasWbY2lhLiAnKycgc3Rhbm93aQogcsOzxbxuaWPEmSBqZcWbbGkgxbpyw7NkxYJlbSB3ZWrFm2NpYSBqZXN0IHN0YW5kYXJkb3dlIHdlasWbY2llIGkgamXFm2xpIHBvenljamEKIHcgcGxpa3UgemUgc3RhbmRhcmRvd2VnbyB3ZWrFm2NpYSBuaWUgamVzdCBwb2N6xIV0a2llbSBwbGlrdSB3IGNod2lsaQogdXJ1Y2hvbWllbmlhIHh4ZC4gTmFzdMSZcHVqxIVjZSBwcnp5a8WCYWR5IG1vZ8SFIHd5amHFm25pxIcgKGx1YiBiYXJkemllagpAQCAtMTg0LDE3ICsxODQsMTcgQEAKIFByemV3acWEIHN0YW5kYXJkb3dlIHdlasWbY2llIHByemVkIHByemVjenl0YW5pZW07IHBvdHJ6ZWJuZSBwb25pZXdhxbwKIGBjYXQnIGp1xbwgb2Rjenl0YcWCIGRvIGtvxYRjYSBzdGFuZGFyZG93ZWdvIHdlasWbY2lhLgogLmJyCi1cZkklIHNoIFwtYyAnY2F0ID4gend5a8WCYV9rb3BpYTsgeHhkIFwtcyAwID4gaGV4X2tvcGlhJyA8IHBsaWsKK1xmSSUgc2ggXC1jICdjYXQgPiB6d3lrxYJhX2tvcGlhOyB4eGQgXC1zIDAgPiBoZXhfa29waWEnIDwgcGxpa1xmUgogLlBQCiBacnp1dCBoZWtzb3d5IG9kIHBvenljamkgcGxpa3UgMHg0ODAgKD0xMDI0KzEyOCkgdyBwcnrDs2QuCiBabmFrIGArJyBvem5hY3phICJ3emdsxJlkbnkgd29iZWMgYmllxbzEhWNlaiBwb3p5Y2ppIiwgc3TEhWQgYDEyOCcgZG9kYWplCiBkbyAxayBnZHppZSB6YWtvxYRjennFgiBkZC4KIC5icgotXGZJJSBzaCBcLWMgJ2RkIG9mPXBsYWluX3NuaXBwZXQgYnM9MWsgY291bnQ9MTsgeHhkIFwtcyArMTI4ID4gaGV4X3NuaXBwZXQnIDwgZmlsZQorXGZJJSBzaCBcLWMgJ2RkIG9mPXBsYWluX3NuaXBwZXQgYnM9MWsgY291bnQ9MTsgeHhkIFwtcyArMTI4ID4gaGV4X3NuaXBwZXQnIDwgZmlsZVxmUgogLlBQCiBacnp1dCBoZWtzb3d5IG9kIHBvenljamkgcGxpa3UgMHgxMDAgKCA9IDEwMjRcLTc2OCkgZGFsZWouCiAuYnIKLVxmSSUgc2ggXC1jICdkZCBvZj1wbGFpbl9zbmlwcGV0IGJzPTFrIGNvdW50PTE7IHh4ZCBcLXMgKy03NjggPiBoZXhfc25pcHBldCcgPCBmaWxlCitcZkklIHNoIFwtYyAnZGQgb2Y9cGxhaW5fc25pcHBldCBicz0xayBjb3VudD0xOyB4eGQgXC1zICstNzY4ID4gaGV4X3NuaXBwZXQnIDwgZmlsZVxmUgogLlBQCiBKYWtrb2x3aWVrLCBqZXN0IHRvIHJ6YWRrYSBzeXR1YWNqYSBpIHXFvHljaWUgYCsnIGplc3QgcnphZGtvCiBwb3RyemVibmUuCkBAIC0yMDYsMTQgKzIwNiwxNCBAQAogLkIgcGxpa3UKIFwuCiAuYnIKLVxmSSUgeHhkIFwtcyAweDMwIHBsaWsKK1xmSSUgeHhkIFwtcyAweDMwIHBsaWtcZlIKIC5QUAogLmJyCiBXeXBpc3ogdHJ6eSBsaW5pZSAoaGVrc293ZSAweDMwIGJhanTDs3cpIHoga2/FhGNhCiAuQiBwbGlrdQogXC4KIC5icgotXGZJJSB4eGQgXC1zIFwtMHgzMCBwbGlrCitcZkklIHh4ZCBcLXMgXC0weDMwIHBsaWtcZlIKIC5QUAogLmJyCiBXeXBpc3ogMTIwIGJhanTDs3cgamFrbyBjacSFZ8WCeSB6cnp1dCBoZWtzb3d5IHogMjAgb2t0ZXRhbWkgbmEgbGluacSZLgo=