ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2F1dG9jbWQudHh0IGIvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKaW5kZXggNjkzMmU4MS4uMzE3NTE4ZCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKKysrIGIvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKQEAgLTEsNCArMSw0IEBACi0qYXV0b2NtZC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMTUKKyphdXRvY21kLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNTEwLDYgKzUxMCwxMCBAQAogCQkJCWp1c3QgYmVmb3JlIHRoZSBjaGFuZ2UgaXMgYXBwbGllZCB0byB0aGUgdGV4dC4KIAkJCQlXQVJOSU5HOiBJZiB0aGUgYXV0b2NvbW1hbmQgbW92ZXMgdGhlIGN1cnNvcgogCQkJCXRoZSBlZmZlY3Qgb2YgdGhlIGNoYW5nZSBpcyB1bmRlZmluZWQuCisJCQkJCQkJKkU3ODgqCisJCQkJSXQgaXMgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHRvIGFub3RoZXIgYnVmZmVyCisJCQkJaGVyZS4gIFlvdSBjYW4gcmVsb2FkIHRoZSBidWZmZXIgYnV0IG5vdCBlZGl0CisJCQkJYW5vdGhlciBvbmUuCiAJCQkJCQkJKkZpbGVDaGFuZ2VkU2hlbGwqCiBGaWxlQ2hhbmdlZFNoZWxsCQlXaGVuIFZpbSBub3RpY2VzIHRoYXQgdGhlIG1vZGlmaWNhdGlvbiB0aW1lIG9mCiAJCQkJYSBmaWxlIGhhcyBjaGFuZ2VkIHNpbmNlIGVkaXRpbmcgc3RhcnRlZC4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2RpZmYudHh0IGIvcnVudGltZS9kb2MvZGlmZi50eHQKaW5kZXggM2RmNTEzZS4uMjFiMmYzYSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZGlmZi50eHQKKysrIGIvcnVudGltZS9kb2MvZGlmZi50eHQKQEAgLTEsNCArMSw0IEBACi0qZGlmZi50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMTUKKypkaWZmLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMjcyLDYgKzI3MiwxMCBAQAogTm90ZSB0aGF0IGRlbGV0ZWQgbGluZXMgYXJlIGRpc3BsYXllZCwgYnV0IG5vdCBjb3VudGVkIGFzIHRleHQgbGluZXMuICBZb3UKIGNhbid0IG1vdmUgdGhlIGN1cnNvciBpbnRvIHRoZW0uICBUbyBmaWxsIHRoZSBkZWxldGVkIGxpbmVzIHdpdGggdGhlIGxpbmVzCiBmcm9tIGFub3RoZXIgYnVmZmVyIHVzZSAiOmRpZmZnZXQiIG9uIHRoZSBsaW5lIGJlbG93IHRoZW0uCisJCQkJCQkJCSpFNzg3KgorV2hlbiB0aGUgYnVmZmVyIHRoYXQgaXMgYWJvdXQgdG8gYmUgbW9kaWZpZWQgaXMgcmVhZC1vbmx5IGFuZCB0aGUgYXV0b2NvbW1hbmQKK3RoYXQgaXMgdHJpZ2dlcmVkIGJ5IHxGaWxlQ2hhbmdlZFJPfCBjaGFuZ2VzIGJ1ZmZlcnMgdGhlIGNvbW1hbmQgd2lsbCBmYWlsLgorVGhlIGF1dG9jb21tYW5kIG11c3Qgbm90IGNoYW5nZSBidWZmZXJzLgogCiBUaGUgW2J1ZnNwZWNdIGFyZ3VtZW50IGFib3ZlIGNhbiBiZSBhIGJ1ZmZlciBudW1iZXIsIGEgcGF0dGVybiBmb3IgYSBidWZmZXIKIG5hbWUgb3IgYSBwYXJ0IG9mIGEgYnVmZmVyIG5hbWUuICBFeGFtcGxlczoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2VkaXRpbmcudHh0IGIvcnVudGltZS9kb2MvZWRpdGluZy50eHQKaW5kZXggN2E2N2E2OS4uZWVjZGQ4NiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZWRpdGluZy50eHQKKysrIGIvcnVudGltZS9kb2MvZWRpdGluZy50eHQKQEAgLTEsNCArMSw0IEBACi0qZWRpdGluZy50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMDYKKyplZGl0aW5nLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwMgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNDIyLDE0ICs0MjIsMTggQEAKIFRoZSBbKytvcHRdIGFyZ3VtZW50IGNhbiBiZSB1c2VkIHRvIGZvcmNlIHRoZSB2YWx1ZSBvZiAnZmlsZWZvcm1hdCcsCiAnZmlsZWVuY29kaW5nJyBvciAnYmluYXJ5JyB0byBhIHZhbHVlIGZvciBvbmUgY29tbWFuZCwgYW5kIHRvIHNwZWNpZnkgdGhlCiBiZWhhdmlvciBmb3IgYmFkIGNoYXJhY3RlcnMuICBUaGUgZm9ybSBpczogPgorCSsre29wdG5hbWV9CitPcjogPgogCSsre29wdG5hbWV9PXt2YWx1ZX0KIAotV2hlcmUge29wdG5hbWV9IGlzIG9uZSBvZjoJCSorK2ZmKiAqKytlbmMqICorK2JpbiogKisrbm9iaW4qCitXaGVyZSB7b3B0bmFtZX0gaXMgb25lIG9mOgkgICAgKisrZmYqICorK2VuYyogKisrYmluKiAqKytub2JpbiogKisrZWRpdCoKICAgICBmZiAgICAgb3IgIGZpbGVmb3JtYXQgICBvdmVycmlkZXMgJ2ZpbGVmb3JtYXQnCiAgICAgZW5jICAgIG9yICBlbmNvZGluZwkgICAgb3ZlcnJpZGVzICdmaWxlZW5jb2RpbmcnCiAgICAgYmluICAgIG9yICBiaW5hcnkJICAgIHNldHMgJ2JpbmFyeScKICAgICBub2JpbiAgb3IgIG5vYmluYXJ5CSAgICByZXNldHMgJ2JpbmFyeScKICAgICBiYWQgICAgICAgICAgICAgICAgICAgICBzcGVjaWZpZXMgYmVoYXZpb3IgZm9yIGJhZCBjaGFyYWN0ZXJzCisgICAgZWRpdAkJICAgIGZvciB8OnJlYWR8IG9ubHk6IGtlZXAgb3B0aW9uIHZhbHVlcyBhcyBpZiBlZGl0aW5nCisgICAgCQkJICAgIGEgZmlsZQogCiB7dmFsdWV9IGNhbm5vdCBjb250YWluIHdoaXRlIHNwYWNlLiAgSXQgY2FuIGJlIGFueSB2YWxpZCB2YWx1ZSBmb3IgdGhlc2UKIG9wdGlvbnMuICBFeGFtcGxlczogPgpAQCAtODk3LDYgKzkwMSw3IEBACiAJCQlUaGUgWyFdIGlzIG5lZWRlZCB0byBvdmVyd3JpdGUgYW4gZXhpc3RpbmcgZmlsZS4KIAkJCVdoZW4gJ2ZpbGV0eXBlJyBpcyBlbXB0eSBmaWxldHlwZSBkZXRlY3Rpb24gaXMgZG9uZQogCQkJd2l0aCB0aGUgbmV3IG5hbWUsIGJlZm9yZSB0aGUgZmlsZSBpcyB3cml0dGVuLgorCQkJV2hlbiB0aGUgd3JpdGUgd2FzIHN1Y2Nlc3NmdWwgJ3JlYWRvbmx5JyBpcyByZXNldC4KIAkJCXtub3QgaW4gVml9CiAKIAkJCQkJCQkqOnVwKiAqOnVwZGF0ZSoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2V2YWwudHh0IGIvcnVudGltZS9kb2MvZXZhbC50eHQKaW5kZXggODE0NjNiNC4uYjgzMGNhMCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZXZhbC50eHQKKysrIGIvcnVudGltZS9kb2MvZXZhbC50eHQKQEAgLTEsNCArMSw0IEBACi0qZXZhbC50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMjkKKypldmFsLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTEwLDggKzExMCw4IEBACiAJOmxldCBGbiA9IGZ1bmN0aW9uKCJNeUZ1bmMiKQogCTplY2hvIEZuKCkKIDwJCQkJCQkJKkU3MDQqICpFNzA1KiAqRTcwNyoKLUEgRnVuY3JlZiB2YXJpYWJsZSBtdXN0IHN0YXJ0IHdpdGggYSBjYXBpdGFsLCAiczoiLCAidzoiIG9yICJiOiIuICBZb3UgY2Fubm90Ci1oYXZlIGJvdGggYSBGdW5jcmVmIHZhcmlhYmxlIGFuZCBhIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUgbmFtZS4KK0EgRnVuY3JlZiB2YXJpYWJsZSBtdXN0IHN0YXJ0IHdpdGggYSBjYXBpdGFsLCAiczoiLCAidzoiLCAidDoiIG9yICJiOiIuICBZb3UKK2Nhbm5vdCBoYXZlIGJvdGggYSBGdW5jcmVmIHZhcmlhYmxlIGFuZCBhIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUgbmFtZS4KIAogQSBzcGVjaWFsIGNhc2UgaXMgZGVmaW5pbmcgYSBmdW5jdGlvbiBhbmQgZGlyZWN0bHkgYXNzaWduaW5nIGl0cyBGdW5jcmVmIHRvIGEKIERpY3Rpb25hcnkgZW50cnkuICBFeGFtcGxlOiA+CkBAIC01MDQsNyArNTA0LDcgQEAKIEl0IGlzIGFsc28gcG9zc2libGUgdG8gYWRkIGEgZnVuY3Rpb24gd2l0aG91dCB0aGUgImRpY3QiIGF0dHJpYnV0ZSBhcyBhCiBGdW5jcmVmIHRvIGEgRGljdGlvbmFyeSwgYnV0IHRoZSAic2VsZiIgdmFyaWFibGUgaXMgbm90IGF2YWlsYWJsZSB0aGVuLgogCi0JCQkJCQkqbnVtYmVyZWQtZnVuY3Rpb24qCisJCQkJKm51bWJlcmVkLWZ1bmN0aW9uKiAqYW5vbnltb3VzLWZ1bmN0aW9uKgogVG8gYXZvaWQgdGhlIGV4dHJhIG5hbWUgZm9yIHRoZSBmdW5jdGlvbiBpdCBjYW4gYmUgZGVmaW5lZCBhbmQgZGlyZWN0bHkKIGFzc2lnbmVkIHRvIGEgRGljdGlvbmFyeSBpbiB0aGlzIHdheTogPgogCTpsZXQgbXlkaWN0ID0geydkYXRhJzogWzAsIDEsIDIsIDNdfQpAQCAtMTAzMCw2ICsxMDMwLDcgQEAKIAkJKG5vdGhpbmcpIEluIGEgZnVuY3Rpb246IGxvY2FsIHRvIGEgZnVuY3Rpb247IG90aGVyd2lzZTogZ2xvYmFsCiB8YnVmZmVyLXZhcmlhYmxlfCAgICBiOgkgIExvY2FsIHRvIHRoZSBjdXJyZW50IGJ1ZmZlci4KIHx3aW5kb3ctdmFyaWFibGV8ICAgIHc6CSAgTG9jYWwgdG8gdGhlIGN1cnJlbnQgd2luZG93LgorfHRhYnBhZ2UtdmFyaWFibGV8ICAgdDoJICBMb2NhbCB0byB0aGUgY3VycmVudCB0YWIgcGFnZS4KIHxnbG9iYWwtdmFyaWFibGV8ICAgIGc6CSAgR2xvYmFsLgogfGxvY2FsLXZhcmlhYmxlfCAgICAgbDoJICBMb2NhbCB0byBhIGZ1bmN0aW9uLgogfHNjcmlwdC12YXJpYWJsZXwgICAgczoJICBMb2NhbCB0byBhIHw6c291cmNlfCdlZCBWaW0gc2NyaXB0LgpAQCAtMTA2Myw2ICsxMDY0LDExIEBACiBBIHZhcmlhYmxlIG5hbWUgdGhhdCBpcyBwcmVjZWRlZCB3aXRoICJ3OiIgaXMgbG9jYWwgdG8gdGhlIGN1cnJlbnQgd2luZG93LiAgSXQKIGlzIGRlbGV0ZWQgd2hlbiB0aGUgd2luZG93IGlzIGNsb3NlZC4KIAorCQkJCQkJKnRhYnBhZ2UtdmFyaWFibGUqICp0OnZhcioKK0EgdmFyaWFibGUgbmFtZSB0aGF0IGlzIHByZWNlZGVkIHdpdGggInQ6IiBpcyBsb2NhbCB0byB0aGUgY3VycmVudCB0YWIgcGFnZSwKK0l0IGlzIGRlbGV0ZWQgd2hlbiB0aGUgdGFiIHBhZ2UgaXMgY2xvc2VkLiB7bm90IGF2YWlsYWJsZSB3aGVuIGNvbXBpbGVkCit3aXRob3V0IHRoZSArd2luZG93cyBmZWF0dXJlfQorCiAJCQkJCQkqZ2xvYmFsLXZhcmlhYmxlKiAqZzp2YXIqCiBJbnNpZGUgZnVuY3Rpb25zIGdsb2JhbCB2YXJpYWJsZXMgYXJlIGFjY2Vzc2VkIHdpdGggImc6Ii4gIE9taXR0aW5nIHRoaXMgd2lsbAogYWNjZXNzIGEgdmFyaWFibGUgbG9jYWwgdG8gYSBmdW5jdGlvbi4gIEJ1dCAiZzoiIGNhbiBhbHNvIGJlIHVzZWQgaW4gYW55IG90aGVyCkBAIC0xNjI4LDYgKzE2MzQsNyBAQAogCQkJCVN0cmluZwljaGVjayBmb3IgbWFwcGluZ3MgbWF0Y2hpbmcge25hbWV9CiBtYXRjaCgge2V4cHJ9LCB7cGF0fVssIHtzdGFydH1bLCB7Y291bnR9XV0pCiAJCQkJTnVtYmVyCXBvc2l0aW9uIHdoZXJlIHtwYXR9IG1hdGNoZXMgaW4ge2V4cHJ9CittYXRjaGFyZygge25yfSkJCQlMaXN0CWFyZ3VtZW50cyBvZiB8Om1hdGNofAogbWF0Y2hlbmQoIHtleHByfSwge3BhdH1bLCB7c3RhcnR9Wywge2NvdW50fV1dKQogCQkJCU51bWJlcglwb3NpdGlvbiB3aGVyZSB7cGF0fSBlbmRzIGluIHtleHByfQogbWF0Y2hsaXN0KCB7ZXhwcn0sIHtwYXR9Wywge3N0YXJ0fVssIHtjb3VudH1dXSkKQEAgLTE2NDEsNiArMTY0OCw3IEBACiBtb2RlKCkJCQkJU3RyaW5nCWN1cnJlbnQgZWRpdGluZyBtb2RlCiBuZXh0bm9uYmxhbmsoIHtsbnVtfSkJCU51bWJlcglsaW5lIG5yIG9mIG5vbi1ibGFuayBsaW5lID49IHtsbnVtfQogbnIyY2hhcigge2V4cHJ9KQkJU3RyaW5nCXNpbmdsZSBjaGFyIHdpdGggQVNDSUkgdmFsdWUge2V4cHJ9CitwYXRoc2hvcnRlbigge2V4cHJ9KQkJU3RyaW5nCXNob3J0ZW4gZGlyZWN0b3J5IG5hbWVzIGluIGEgcGF0aAogcHJldm5vbmJsYW5rKCB7bG51bX0pCQlOdW1iZXIJbGluZSBuciBvZiBub24tYmxhbmsgbGluZSA8PSB7bG51bX0KIHByaW50Zigge2ZtdH0sIHtleHByMX0uLi4pCVN0cmluZyAgZm9ybWF0IHRleHQKIHB1bXZpc2libGUoKQkJCU51bWJlciAgd2hldGhlciBwb3B1cCBtZW51IGlzIHZpc2libGUKQEAgLTIyNTIsNiArMjI2MCw5IEBACiAJCWV4dGVuc2lvbi4KIAkJT24gTVMtRE9TIGFuZCBNUy1XaW5kb3dzIGl0IG9ubHkgY2hlY2tzIGlmIHRoZSBmaWxlIGV4aXN0cyBhbmQKIAkJaXMgbm90IGEgZGlyZWN0b3J5LCBub3QgaWYgaXQncyByZWFsbHkgZXhlY3V0YWJsZS4KKwkJT24gTVMtV2luZG93cyBhbiBleGVjdXRhYmxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeSBhcyBWaW0gaXMKKwkJYWx3YXlzIGZvdW5kLiAgU2luY2UgdGhpcyBkaXJlY3RvcnkgaXMgYWRkZWQgdG8gJFBBVEggaXQKKwkJc2hvdWxkIGFsc28gd29yayB0byBleGVjdXRlIGl0IHx3aW4zMi1QQVRIfC4KIAkJVGhlIHJlc3VsdCBpcyBhIE51bWJlcjoKIAkJCTEJZXhpc3RzCiAJCQkwCWRvZXMgbm90IGV4aXN0CkBAIC0yNzIwLDEwICsyNzMxLDEwIEBACiAJCU90aGVyd2lzZSB0aGUgYWN0dWFsIGZvbnQgbmFtZSBpcyByZXR1cm5lZCwgb3Ige25hbWV9IGlmIHRoZQogCQlHVUkgZG9lcyBub3Qgc3VwcG9ydCBvYnRhaW5pbmcgdGhlIHJlYWwgbmFtZS4KIAkJT25seSB3b3JrcyB3aGVuIHRoZSBHVUkgaXMgcnVubmluZywgdGh1cyBub3QgeW91IHlvdXIgdmltcmMgb3IKLQkJTm90ZSB0aGF0IHRoZSBHVEsgMiBHVUkgYWNjZXB0cyBhbnkgZm9udCBuYW1lLCB0aHVzIGNoZWNraW5nCi0JCWZvciBhIHZhbGlkIG5hbWUgZG9lcyBub3Qgd29yay4KIAkJZ3ZpbXJjIGZpbGUuICBVc2UgdGhlIHxHVUlFbnRlcnwgYXV0b2NvbW1hbmQgdG8gdXNlIHRoaXMKIAkJZnVuY3Rpb24ganVzdCBhZnRlciB0aGUgR1VJIGhhcyBzdGFydGVkLgorCQlOb3RlIHRoYXQgdGhlIEdUSyAyIEdVSSBhY2NlcHRzIGFueSBmb250IG5hbWUsIHRodXMgY2hlY2tpbmcKKwkJZm9yIGEgdmFsaWQgbmFtZSBkb2VzIG5vdCB3b3JrLgogCiBnZXRmcGVybSh7Zm5hbWV9KQkJCQkJKmdldGZwZXJtKCkqCiAJCVRoZSByZXN1bHQgaXMgYSBTdHJpbmcsIHdoaWNoIGlzIHRoZSByZWFkLCB3cml0ZSwgYW5kIGV4ZWN1dGUKQEAgLTMxMzcsOSArMzE0OCw5IEBACiAJCU5PVEU6IENvbW1hbmQtbGluZSBjb21wbGV0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuCiAKIGlucHV0bGlzdCh7dGV4dGxpc3R9KQkJCQkJKmlucHV0bGlzdCgpKgotCQl7dGV4dGxpc3R9IG11c3QgYmUgYSBsaXN0IG9mIHN0cmluZ3MuICBUaGlzIGxpc3QgaXMgZGlzcGxheWVkLAotCQlvbmUgc3RyaW5nIHBlciBsaW5lLiAgVGhlIHVzZXIgd2lsbCBiZSBwcm9tcHRlZCB0byBlbnRlciBhCi0JCW51bWJlciwgd2hpY2ggaXMgcmV0dXJuZWQuCisJCXt0ZXh0bGlzdH0gbXVzdCBiZSBhIHxMaXN0fCBvZiBzdHJpbmdzLiAgVGhpcyB8TGlzdHwgaXMKKwkJZGlzcGxheWVkLCBvbmUgc3RyaW5nIHBlciBsaW5lLiAgVGhlIHVzZXIgd2lsbCBiZSBwcm9tcHRlZCB0bworCQllbnRlciBhIG51bWJlciwgd2hpY2ggaXMgcmV0dXJuZWQuCiAJCVRoZSB1c2VyIGNhbiBhbHNvIHNlbGVjdCBhbiBpdGVtIGJ5IGNsaWNraW5nIG9uIGl0IHdpdGggdGhlCiAJCW1vdXNlLiAgRm9yIHRoZSBmaXJzdCBzdHJpbmcgMCBpcyByZXR1cm5lZC4gIFdoZW4gY2xpY2tpbmcKIAkJYWJvdmUgdGhlIGZpcnN0IGl0ZW0gYSBuZWdhdGl2ZSBudW1iZXIgaXMgcmV0dXJuZWQuICBXaGVuCkBAIC0zMTk2LDcgKzMyMDcsNyBAQAogCQlleGlzdCwgb3IgaXNuJ3QgYSBkaXJlY3RvcnksIHRoZSByZXN1bHQgaXMgRkFMU0UuICB7ZGlyZWN0b3J5fQogCQlpcyBhbnkgZXhwcmVzc2lvbiwgd2hpY2ggaXMgdXNlZCBhcyBhIFN0cmluZy4KIAotaXNsb2NrZWQoe2V4cHJ9KQkJCQkJKmlzbG9ja2VkKCkqCitpc2xvY2tlZCh7ZXhwcn0pCQkJCQkqaXNsb2NrZWQoKSogKkU3ODYqCiAJCVRoZSByZXN1bHQgaXMgYSBOdW1iZXIsIHdoaWNoIGlzIG5vbi16ZXJvIHdoZW4ge2V4cHJ9IGlzIHRoZQogCQluYW1lIG9mIGEgbG9ja2VkIHZhcmlhYmxlLgogCQl7ZXhwcn0gbXVzdCBiZSB0aGUgbmFtZSBvZiBhIHZhcmlhYmxlLCB8TGlzdHwgaXRlbSBvcgpAQCAtMzQ3OSw2ICszNDkwLDE4IEBACiAJCXRoZSBwYXR0ZXJuLiAgJ3NtYXJ0Y2FzZScgaXMgTk9UIHVzZWQuICBUaGUgbWF0Y2hpbmcgaXMgYWx3YXlzCiAJCWRvbmUgbGlrZSAnbWFnaWMnIGlzIHNldCBhbmQgJ2Nwb3B0aW9ucycgaXMgZW1wdHkuCiAKKworbWF0Y2hhcmcoe25yfSkJCQkJCQkJKm1hdGNoYXJnKCkqCisJCVNlbGVjdHMgdGhlIHtucn0gbWF0Y2ggaXRlbSwgYXMgc2V0IHdpdGggYSB8Om1hdGNofCwgCisJCXw6Mm1hdGNofCBvciB8OjNtYXRjaHwgY29tbWFuZC4KKwkJUmV0dXJuIGEgfExpc3R8IHdpdGggdHdvIGVsZW1lbnRzOgorCQkJVGhlIG5hbWUgb2YgdGhlIGhpZ2hsaWdodCBncm91cCB1c2VkCisJCQlUaGUgcGF0dGVybiB1c2VkLgorCQlXaGVuIHtucn0gaXMgbm90IDEsIDIgb3IgMyByZXR1cm5zIGFuIGVtcHR5IHxMaXN0fC4KKwkJV2hlbiB0aGVyZSBpcyBubyBtYXRjaCBpdGVtIHNldCByZXR1cm5zIFsnJywgJyddLgorCQlUaGlzIGlzIHVzZWYgdG8gc2F2ZSBhbmQgcmVzdG9yZSBhIHw6bWF0Y2h8LgorCisKIG1hdGNoZW5kKHtleHByfSwge3BhdH1bLCB7c3RhcnR9Wywge2NvdW50fV1dKQkJCSptYXRjaGVuZCgpKgogCQlTYW1lIGFzIG1hdGNoKCksIGJ1dCByZXR1cm4gdGhlIGluZGV4IG9mIGZpcnN0IGNoYXJhY3RlciBhZnRlcgogCQl0aGUgbWF0Y2guICBFeGFtcGxlOiA+CkBAIC0zNTk4LDYgKzM2MjEsMTUgQEAKIAkJCWNhbGwgc2V0cG9zKCcuJywgc2F2ZV9jdXJzb3IpCiA8CQlBbHNvIHNlZSB8c2V0cG9zKCl8LgogCitwYXRoc2hvcnRlbih7ZXhwcn0pCQkJCQkqcGF0aHNob3J0ZW4oKSoKKwkJU2hvcnRlbiBkaXJlY3RvcnkgbmFtZXMgaW4gdGhlIHBhdGgge2V4cHJ9IGFuZCByZXR1cm4gdGhlCisJCXJlc3VsdC4gIFRoZSB0YWlsLCB0aGUgZmlsZSBuYW1lLCBpcyBrZXB0IGFzLWlzLiAgVGhlIG90aGVyCisJCWNvbXBvbmVudHMgaW4gdGhlIHBhdGggYXJlIHJlZHVjZWQgdG8gc2luZ2xlIGxldHRlcnMuICBMZWFkaW5nCisJCSd+JyBhbmQgJy4nIGNoYXJhY3RlcnMgYXJlIGtlcHQuICBFeGFtcGxlOiA+CisJCQk6ZWNobyBwYXRoc2hvcnRlbignfi8udmltL2F1dG9sb2FkL215ZmlsZS52aW0nKQorPAkJCX4vLnYvYS9teWZpbGUudmltIH4KKwkJSXQgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHBhdGggZXhpc3RzIG9yIG5vdC4KKwogcHJldm5vbmJsYW5rKHtsbnVtfSkJCQkJCSpwcmV2bm9uYmxhbmsoKSoKIAkJUmV0dXJuIHRoZSBsaW5lIG51bWJlciBvZiB0aGUgZmlyc3QgbGluZSBhdCBvciBhYm92ZSB7bG51bX0KIAkJdGhhdCBpcyBub3QgYmxhbmsuICBFeGFtcGxlOiA+CkBAIC01MDM2LDcgKzUwNjgsNiBAQAogZ3VpX2F0aGVuYQkJQ29tcGlsZWQgd2l0aCBBdGhlbmEgR1VJLgogZ3VpX2d0awkJCUNvbXBpbGVkIHdpdGggR1RLKyBHVUkgKGFueSB2ZXJzaW9uKS4KIGd1aV9ndGsyCQlDb21waWxlZCB3aXRoIEdUSysgMiBHVUkgKGd1aV9ndGsgaXMgYWxzbyBkZWZpbmVkKS4KLWd1aV9rZGUJCQlDb21waWxlZCB3aXRoIEtERSBHVUkgfEtWaW18CiBndWlfbWFjCQkJQ29tcGlsZWQgd2l0aCBNYWNpbnRvc2ggR1VJLgogZ3VpX21vdGlmCQlDb21waWxlZCB3aXRoIE1vdGlmIEdVSS4KIGd1aV9waG90b24JCUNvbXBpbGVkIHdpdGggUGhvdG9uIEdVSS4KQEAgLTU2NTQsNiArNTY4NSw3IEBACiAJCQkgIGc6CWdsb2JhbCB2YXJpYWJsZXMKIAkJCSAgYjoJbG9jYWwgYnVmZmVyIHZhcmlhYmxlcwogCQkJICB3Oglsb2NhbCB3aW5kb3cgdmFyaWFibGVzCisJCQkgIHQ6CWxvY2FsIHRhYiBwYWdlIHZhcmlhYmxlcwogCQkJICBzOglzY3JpcHQtbG9jYWwgdmFyaWFibGVzCiAJCQkgIGw6CWxvY2FsIGZ1bmN0aW9uIHZhcmlhYmxlcwogCQkJICB2OglWaW0gdmFyaWFibGVzLgpAQCAtNTcxMSw4ICs1NzQzLDggQEAKIAogCQkJTm90ZSB0aGF0IHdoZW4gdHdvIHZhcmlhYmxlcyByZWZlciB0byB0aGUgc2FtZSB8TGlzdHwKIAkJCWFuZCB5b3UgbG9jayBvbmUgb2YgdGhlbSwgdGhlIHxMaXN0fCB3aWxsIGFsc28gYmUKLQkJCWxvY2tlZCB3aGVuIHVzZWQgdGhyb3VnaCB0aGUgb3RoZXIgdmFyaWFibGUuICBFeGFtcGxlOgotCQkJPgorCQkJbG9ja2VkIHdoZW4gdXNlZCB0aHJvdWdoIHRoZSBvdGhlciB2YXJpYWJsZS4KKwkJCUV4YW1wbGU6ID4KIAkJCQk6bGV0IGwgPSBbMCwgMSwgMiwgM10KIAkJCQk6bGV0IGNsID0gbAogCQkJCTpsb2NrdmFyIGwKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2d1aS50eHQgYi9ydW50aW1lL2RvYy9ndWkudHh0CmluZGV4IGQ4Mzg2ODAuLmNkMjVjMTkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2d1aS50eHQKKysrIGIvcnVudGltZS9kb2MvZ3VpLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpndWkudHh0KiAgICAgICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAyMAorKmd1aS50eHQqICAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDAyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zNiw2ICszNiwxMCBAQAogfGd1aS14MTEtc3RhcnR8LgogCiAJCQkJCSpndWktaW5pdCogKmd2aW1yYyogKi5ndmltcmMqICpfZ3ZpbXJjKgorVGhlIGd2aW1yYyBmaWxlIGlzIHdoZXJlIEdVSS1zcGVjaWZpYyBzdGFydHVwIGNvbW1hbmRzIHNob3VsZCBiZSBwbGFjZWQuICBJdAoraXMgYWx3YXlzIHNvdXJjZWQgYWZ0ZXIgdGhlIHx2aW1yY3wgZmlsZS4gIElmIHlvdSBoYXZlIG9uZSB0aGVuIHRoZSAkTVlHVklNUkMKK2Vudmlyb25tZW50IHZhcmlhYmxlIGhhcyBpdHMgbmFtZS4KKwogV2hlbiB0aGUgR1VJIHN0YXJ0cyB1cCBpbml0aWFsaXphdGlvbnMgYXJlIGNhcnJpZWQgb3V0LCBpbiB0aGlzIG9yZGVyOgogLSBUaGUgJ3Rlcm0nIG9wdGlvbiBpcyBzZXQgdG8gImJ1aWxnaW5fZ3VpIiBhbmQgdGVybWluYWwgb3B0aW9ucyBhcmUgcmVzZXQgdG8KICAgdGhlaXIgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIEdVSSB8dGVybWluYWwtb3B0aW9uc3wuCkBAIC02Niw2ICs3MCw4IEBACiAgIC0gRm9yIFdpbjMyLCB3aGVuICRIT01FIGlzIG5vdCBzZXQsICIkVklNXF9ndmltcmMiIGlzIHVzZWQuCiAgIC0gV2hlbiBhICJfZ3ZpbXJjIiBmaWxlIGlzIG5vdCBmb3VuZCwgIi5ndmltcmMiIGlzIHRyaWVkIHRvby4gIEFuZCB2aWNlCiAgICAgdmVyc2EuCisgIFRoZSBuYW1lIG9mIHRoZSBmaXJzdCBmaWxlIGZvdW5kIGlzIHN0b3JlZCBpbiAkTVlHVklNUkMsIHVubGVzcyBpdCB3YXMKKyAgYWxyZWFkeSBzZXQuCiAtIElmIHRoZSAnZXhyYycgb3B0aW9uIGlzIHNldCAod2hpY2ggaXMgTk9UIHRoZSBkZWZhdWx0KSB0aGUgZmlsZSAuLy5ndmltcmMKICAgaXMgc291cmNlZCwgaWYgaXQgZXhpc3RzIGFuZCBpc24ndCB0aGUgc2FtZSBmaWxlIGFzIHRoZSBzeXN0ZW0gb3IgdXNlcgogICBndmltcmMgZmlsZS4gIElmIHRoaXMgZmlsZSBpcyBub3Qgb3duZWQgYnkgeW91LCBzb21lIHNlY3VyaXR5IHJlc3RyaWN0aW9ucwpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaGFuZ3VsaW4udHh0IGIvcnVudGltZS9kb2MvaGFuZ3VsaW4udHh0CmluZGV4IDdlMGVjMWUuLjE4ZmRmNjAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2hhbmd1bGluLnR4dAorKysgYi9ydW50aW1lL2RvYy9oYW5ndWxpbi50eHQKQEAgLTEsNCArMSw0IEBACi0qaGFuZ3VsaW4udHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNSBNYXIgMjkKKypoYW5ndWxpbi50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwMgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBDaGktRGVvayBId2FuZyBhbmQgU3VuZy1IeXVuIE5hbQpAQCAtNDgsNyArNDgsNyBAQAogCiBIYW5ndWwgRm9udHMKIC0tLS0tLS0tLS0tLQotWW91IGNhbiBzZXQgdGV4dCBmb250IHVzaW5nICRIT01FLy5YZGVmYXVsdHMgb3IgJEhPTUUvLmd2aW1yYy4KK1lvdSBjYW4gc2V0IHRleHQgZm9udCB1c2luZyAkSE9NRS8uWGRlZmF1bHRzIG9yIGluIHlvdXIgZ3ZpbXJjIGZpbGUuCiBCdXQgdG8gdXNlIEhhbmd1bCwgeW91IHNob3VsZCBzZXQgJ2d1aWZvbnRzZXQnIGluIHlvdXIgdmltcmMuCiAKICRIT01FLy5YZGVmYXVsdHM6ID4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2hlbHAudHh0IGIvcnVudGltZS9kb2MvaGVscC50eHQKaW5kZXggZDk5ZjIxZi4uMjI5MjIwZiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvaGVscC50eHQKKysrIGIvcnVudGltZS9kb2MvaGVscC50eHQKQEAgLTEsNCArMSw0IEBACi0qaGVscC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDI0CisqaGVscC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDAyCiAKIAkJCVZJTSAtIG1haW4gaGVscCBmaWxlCiAJCQkJCQkJCQkgawpAQCAtODUsNyArODUsNyBAQAogfHVzcl85MC50eHR8ICBJbnN0YWxsaW5nIFZpbQogCiAKLVJFRkVSRU5DRSBNQU5VQUw6IFRoZXNlIGZpbGVzIGV4cGxhaW4gZXZlcnkgZGV0YWlsIG9mIFZpbS4JKnJlZi10b2MqCitSRUZFUkVOQ0UgTUFOVUFMOiBUaGVzZSBmaWxlcyBleHBsYWluIGV2ZXJ5IGRldGFpbCBvZiBWaW0uCSpyZWZlcmVuY2VfdG9jKgogCiBHZW5lcmFsIHN1YmplY3RzIH4KIHxpbnRyby50eHR8CWdlbmVyYWwgaW50cm9kdWN0aW9uIHRvIFZpbTsgbm90YXRpb24gdXNlZCBpbiBoZWxwIGZpbGVzCkBAIC0xOTUsNiArMTk1LDEyIEBACiB8cGlfemlwLnR4dHwJWmlwIGFyY2hpdmUgZXhwbG9yZXIKIAogTE9DQUwgQURESVRJT05TOgkJCQkqbG9jYWwtYWRkaXRpb25zKgorfGNlY3V0aWwudHh0fAlEckNoaXAncyBVdGlsaXRpZXMJCQkJSnVuIDExLCAyMDA0Cit8ZXhhbXBsZS50eHR8CUV4YW1wbGUgZm9yIGEgbG9jYWxseSBhZGRlZCBoZWxwIGZpbGUKK3xtYXRjaGl0LnR4dHwgICBFeHRlbmRlZCAiJSIgbWF0Y2hpbmcKK3x0ZXN0LnR4dHwJVGVzdGluZyB0aGUgaOlscCBj9m1t5W5kIG70dworfHR5cGVjb3JyLnR4dHwJUGx1Z2luIGZvciBjb3JyZWN0aW5nIHR5cGluZyBtaXN0YWtlcworfGhlbHBwLnR4dHwJRHVtbXkgbGluZSB0byBhdm9pZCBhbiBlcnJvciBtZXNzYWdlCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKmJhcnMqCQlCYXJzIGV4YW1wbGUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2hvd3RvLnR4dCBiL3J1bnRpbWUvZG9jL2hvd3RvLnR4dAppbmRleCBmOGY3NTQzLi5mNmI4MWE4IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9ob3d0by50eHQKKysrIGIvcnVudGltZS9kb2MvaG93dG8udHh0CkBAIC0xLDQgKzEsNCBAQAotKmhvd3RvLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwMSBTZXAgMDMKKypob3d0by50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDAyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTc1LDcgKzc1LDcgQEAKIHxhdXRvLXNldHRpbmd8CQlzZXQgb3B0aW9ucyBhdXRvbWF0aWNhbGx5CiB8dGVybS1kZXBlbmRlbnQtc2V0dGluZ3N8IHNldCBvcHRpb25zIGRlcGVuZGluZyBvbiB0ZXJtaW5hbCBuYW1lCiB8c2F2ZS1zZXR0aW5nc3wJCXNhdmUgc2V0dGluZ3MKLXw6cXVvdGV8CQljb21tZW50IG15IGV4cmMvdmltcmMvZ3ZpbXJjIGZpbGVzCit8OnF1b3RlfAkJY29tbWVudCBteSAudmltIGZpbGVzCiB8J2hlbHBoZWlnaHQnfAkJY2hhbmdlIHRoZSBkZWZhdWx0IGhlbHAgaGVpZ2h0CiB8J2hpZ2hsaWdodCd8CQlzZXQgdmFyaW91cyBoaWdobGlnaHRpbmcgbW9kZXMKIHwndGl0bGUnfAkJc2V0IHRoZSB3aW5kb3cgdGl0bGUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2luc2VydC50eHQgYi9ydW50aW1lL2RvYy9pbnNlcnQudHh0CmluZGV4IDRlYjRiY2YuLjQxN2E0YjMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2luc2VydC50eHQKKysrIGIvcnVudGltZS9kb2MvaW5zZXJ0LnR4dApAQCAtMSw0ICsxLDQgQEAKLSppbnNlcnQudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAyOQorKmluc2VydC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDA1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0xMDA0LDEwICsxMDA0LDEyIEBACiBFYWNoIGxpc3QgaXRlbSBjYW4gZWl0aGVyIGJlIGEgc3RyaW5nIG9yIGEgRGljdGlvbmFyeS4gIFdoZW4gaXQgaXMgYSBzdHJpbmcgaXQKIGlzIHVzZWQgYXMgdGhlIGNvbXBsZXRpb24uICBXaGVuIGl0IGlzIGEgRGljdGlvbmFyeSBpdCBjYW4gY29udGFpbiB0aGVzZQogaXRlbXM6Ci0Jd29yZAkJdGhlIGNvbXBsZXRpb24sIG1hbmRhdG9yeQotCWFiYnIJCWFiYnJldmlhdGlvbiBvZiAid29yZCIsIHRvIGJlIHVzZWQgaW4gdGhlIG1lbnUKLQltZW51CQlleHRyYSB0ZXh0IGZvciB0aGUgcG9wdXAgbWVudQotCWluZm8JCW1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGl0ZW0KKwl3b3JkCQl0aGUgdGV4dCB0aGF0IHdpbGwgYmUgaW5zZXJ0ZWQsIG1hbmRhdG9yeQorCWFiYnIJCWFiYnJldmlhdGlvbiBvZiAid29yZCI7IHdoZW4gbm90IGVtcHR5IGl0IGlzIHVzZWQgaW4KKwkJCXRoZSBtZW51IGluc3RlYWQgb2YgIndvcmQiCisJbWVudQkJZXh0cmEgdGV4dCBmb3IgdGhlIHBvcHVwIG1lbnUsIGFmdGVyICJ3b3JkIiBvciAiYWJiciIKKwlpbmZvCQltb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBpdGVtLCBjYW4gYmUgZGlzcGxheWVkIGluIGEKKwkJCXByZXZpZXcgd2luZG93CiAJa2luZAkJc2luZ2xlIGxldHRlciBpbmRpY2F0aW5nIHRoZSB0eXBlIG9mIGNvbXBsZXRpb24KIAlpY2FzZQkJd2hlbiBub24temVybyBjYXNlIGlzIHRvIGJlIGlnbm9yZWQ7IHdoZW4gb21pdHRlZAogCQkJdGhlICdpZ25vcmVjYXNlJyBvcHRpb24gaXMgdXNlZApAQCAtMTI5MSw2ICsxMjkzLDE0IEBACiAtIGFmdGVyICQgdmFyaWFibGVzIG5hbWUKICAgLSBpZiB2YXJpYWJsZSB3YXMgZGVjbGFyZWQgYXMgb2JqZWN0IGFkZCAiLT4iLCBpZiB0YWdzIGZpbGUgaXMgYXZhaWxhYmxlIHNob3cKICAgICBuYW1lIG9mIGNsYXNzCisgIC0gYWZ0ZXIgIi0+IiBjb21wbGV0ZSBvbmx5IGZ1bmN0aW9uIGFuZCB2YXJpYWJsZSBuYW1lcyBzcGVjaWZpYyBmb3IgZ2l2ZW4KKyAgICBjbGFzcy4gVG8gZmluZCBjbGFzcyBsb2NhdGlvbiBhbmQgY29udGVudHMgdGFncyBmaWxlIGlzIHJlcXVpcmVkLiBCZWNhdXNlCisgICAgUEhQIGlzbid0IHN0cm9uZ2x5IHR5cGVkIGxhbmd1YWdlIHVzZXIgY2FuIHVzZSBAdmFyIHRhZyB0byBkZWNsYXJlIGNsYXNzOiA+CisKKyAgICAJLyogQHZhciAkbXlWYXIgbXlDbGFzcyAqLworCSRteVZhci0+Cis8CisgICAgU3RpbGwsIHRvIGZpbmQgbXlDbGFzcyBjb250ZW50cyB0YWdzIGZpbGUgaXMgcmVxdWlyZWQuCiAKIC0gZnVuY3Rpb24gbmFtZXMgd2l0aCBhZGRpdG9uYWwgaW5mbzoKICAgLSBpbiBjYXNlIG9mIGJ1aWx0LWluIGZ1bmN0aW9ucyBsaXN0IG9mIHBvc3NpYmxlIGFyZ3VtZW50cyBhbmQgYWZ0ZXIgfCB0eXBlCkBAIC0xMzc1LDYgKzEzODUsMTIgQEAKIHdpdGggZGF0YSBwdWxsZWQgZGlyZWN0bHkgZnJvbSB3aXRoaW4gYSBkYXRhYmFzZS4gIEZvciBkZXRhaWxlZCBpbnN0cnVjdGlvbnMKIGFuZCBhIHR1dG9yaWFsIHNlZSB8b21uaS1zcWwtY29tcGxldGlvbnwuCiAKK1RoZSBTUUwgY29tcGxldGlvbiBwbHVnaW4gY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBvdGhlciBjb21wbGV0aW9uCitwbHVnaW5zLiAgRm9yIGV4YW1wbGUsIHRoZSBQSFAgZmlsZXR5cGUgaGFzIGl0J3Mgb3duIGNvbXBsZXRpb24gcGx1Z2luLgorU2luY2UgUEhQIGlzIG9mdGVuIHVzZWQgdG8gZ2VuZXJhdGUgZHluYW1pYyB3ZWJzaXRlIGJ5IGFjY2Vzc2luZyBhIGRhdGFiYXNlLAordGhlIFNRTCBjb21wbGV0aW9uIHBsdWdpbiBjYW4gYWxzbyBiZSBlbmFibGVkLiAgVGhpcyBhbGxvd3MgeW91IHRvIGNvbXBsZXRlCitQSFAgY29kZSBhbmQgU1FMIGNvZGUgYXQgdGhlIHNhbWUgdGltZS4KKwogCiBYTUwJCQkJCQkJKmZ0LXhtbC1vbW5pKgogCkBAIC0xNjM0LDExICsxNjUwLDE1IEBACiAxMC4gSW5zZXJ0aW5nIGEgZmlsZQkJCQkJKmluc2VydGluZy1maWxlKgogCiAJCQkJCQkJKjpyKiAqOnJlKiAqOnJlYWQqCi06cltlYWRdIFtuYW1lXQkJSW5zZXJ0IHRoZSBmaWxlIFtuYW1lXSAoZGVmYXVsdDogY3VycmVudCBmaWxlKSBiZWxvdworOnJbZWFkXSBbKytvcHRdIFtuYW1lXQorCQkJSW5zZXJ0IHRoZSBmaWxlIFtuYW1lXSAoZGVmYXVsdDogY3VycmVudCBmaWxlKSBiZWxvdwogCQkJdGhlIGN1cnNvci4KKwkJCVNlZSB8KytvcHR8IGZvciB0aGUgcG9zc2libGUgdmFsdWVzIG9mIFsrK29wdF0uCiAKLTp7cmFuZ2V9cltlYWRdIFtuYW1lXQlJbnNlcnQgdGhlIGZpbGUgW25hbWVdIChkZWZhdWx0OiBjdXJyZW50IGZpbGUpIGJlbG93Cis6e3JhbmdlfXJbZWFkXSBbKytvcHRdIFtuYW1lXQorCQkJSW5zZXJ0IHRoZSBmaWxlIFtuYW1lXSAoZGVmYXVsdDogY3VycmVudCBmaWxlKSBiZWxvdwogCQkJdGhlIHNwZWNpZmllZCBsaW5lLgorCQkJU2VlIHwrK29wdHwgZm9yIHRoZSBwb3NzaWJsZSB2YWx1ZXMgb2YgWysrb3B0XS4KIAogCQkJCQkJCSo6ciEqICo6cmVhZCEqCiA6cltlYWRdICF7Y21kfQkJRXhlY3V0ZSB7Y21kfSBhbmQgaW5zZXJ0IGl0cyBzdGFuZGFyZCBvdXRwdXQgYmVsb3cKQEAgLTE2NjMsNiArMTY4MywxNCBAQAogdXNlZCwgZm9yIGV4YW1wbGUsIHdoZW4geW91IHdhbnQgdG8gZWRpdCB0aGF0IGZpbGUgaW5zdGVhZDogIjplISAjIi4gIFRoaXMgY2FuCiBiZSBzd2l0Y2hlZCBvZmYgYnkgcmVtb3ZpbmcgdGhlICdhJyBmbGFnIGZyb20gdGhlICdjcG9wdGlvbnMnIG9wdGlvbi4KIAorT2YgdGhlIFsrK29wdF0gYXJndW1lbnRzIG9uZSBpcyBzcGVjaWZpY2FsbHkgZm9yICI6cmVhZCIsIHRoZSArK2VkaXQgYXJndW1lbnQuCitUaGlzIGlzIHVzZWZ1bCB3aGVuIHRoZSAiOnJlYWQiIGNvbW1hbmQgaXMgYWN0dWFsbHkgdXNlZCB0byByZWFkIGEgZmlsZSBpbnRvCit0aGUgYnVmZmVyIGFzIGlmIGVkaXRpbmcgdGhhdCBmaWxlLiAgVXNlIHRoaXMgY29tbWFuZCBpbiBhbiBlbXB0eSBidWZmZXI6ID4KKwk6cmVhZCArK2VkaXQgZmlsZW5hbWUKK1RoZSBlZmZlY3QgaXMgdGhhdCB0aGUgJ2ZpbGVmb3JtYXQnLCAnZmlsZWVuY29kaW5nJywgJ2JvbWInLCBldGMuIG9wdGlvbnMgYXJlCitzZXQgdG8gd2hhdCBoYXMgYmVlbiBkZXRlY3RlZCBmb3IgImZpbGVuYW1lIi4gIE5vdGUgdGhhdCBhIHNpbmdsZSBlbXB0eSBsaW5lCityZW1haW5zLCB5b3UgbWF5IHdhbnQgdG8gZGVsZXRlIGl0LgorCiAJCQkJCQkJKmZpbGUtcmVhZCoKIFRoZSAnZmlsZWZvcm1hdCcgb3B0aW9uIHNldHMgdGhlIDxFT0w+IHN0eWxlIGZvciBhIGZpbGU6CiAnZmlsZWZvcm1hdCcgICAgY2hhcmFjdGVycwkgICBuYW1lCQkJCX4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL21ieXRlLnR4dCBiL3J1bnRpbWUvZG9jL21ieXRlLnR4dAppbmRleCA3NGIyZjhlLi4zYjY5MzRiIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9tYnl0ZS50eHQKKysrIGIvcnVudGltZS9kb2MvbWJ5dGUudHh0CkBAIC0xLDQgKzEsNCBAQAotKm1ieXRlLnR4dCogICAgIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDI5CisqbWJ5dGUudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDIKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhciBldCBhbC4KQEAgLTk4NSw3ICs5ODUsNyBAQAogICAgIFRoaXMgd29ya3MgaW4gdGhlIHNhbWUgd2F5IHdoZW4gdXNpbmcgWElNLgogCiAgICAgWW91IGNhbiBzZWxlY3QgY3Vyc29yIGNvbG9yIHdoZW4gc3RhdHVzIGlzIG9uIGJ5IHVzaW5nIGhpZ2hsaWdodCBncm91cAotICAgIEN1cnNvcklNLiAgRm9yIGV4YW1wbGUsIGFkZCB0aGVzZSBsaW5lcyB0byB5b3VyIF9ndmltcmM6ID4KKyAgICBDdXJzb3JJTS4gIEZvciBleGFtcGxlLCBhZGQgdGhlc2UgbGluZXMgdG8geW91ciB8Z3ZpbXJjfDogPgogCiAJaWYgaGFzKCdtdWx0aV9ieXRlX2ltZScpCiAJICAgIGhpZ2hsaWdodCBDdXJzb3IgZ3VpZmc9Tk9ORSBndWliZz1HcmVlbgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvb3B0aW9ucy50eHQgYi9ydW50aW1lL2RvYy9vcHRpb25zLnR4dAppbmRleCBmMTc2NTY2Li5iMDRiYjU1IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vcHRpb25zLnR4dAorKysgYi9ydW50aW1lL2RvYy9vcHRpb25zLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpvcHRpb25zLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMjkKKypvcHRpb25zLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDUKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNjg0LDggKzY4NCw3IEBACiAJb3Igc2VsZWN0ZWQuCiAJVGhpcyBvcHRpb24gaXMgcHJvdmlkZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgVmltCiAJcmVsZWFzZWQgd2l0aCBTdW4gT05FIFN0dWRpbyA0IEVudGVycHJpc2UgRWRpdGlvbi4KLQlOb3RlOiBXaGVuIHRoaXMgb3B0aW9uIGlzIG9uIHNvbWUgcGx1Z2lucyBtYXkgbm90IHdvcmsuICBUaGUgZGlyZWN0b3J5Ci0JYnJvd3NlciBzZXRzIGlmIG9mZi4KKwlOb3RlOiBXaGVuIHRoaXMgb3B0aW9uIGlzIG9uIHNvbWUgcGx1Z2lucyBtYXkgbm90IHdvcmsuCiAKIAkJCQkqJ2FyYWJpYycqIConYXJhYicqIConbm9hcmFiaWMnKiAqJ25vYXJhYicqCiAnYXJhYmljJyAnYXJhYicJCWJvb2xlYW4gKGRlZmF1bHQgb2ZmKQpAQCAtMTQ4OCw4ICsxNDg3LDggQEAKIAl8Zm9sZC1tYXJrZXJ8LgogCiAJCQkqJ2NvbXBhdGlibGUnKiAqJ2NwJyogKidub2NvbXBhdGlibGUnKiAqJ25vY3AnKgotJ2NvbXBhdGlibGUnICdjcCcJYm9vbGVhbgkoZGVmYXVsdCBvbiwgb2ZmIHdoZW4gYSAudmltcmMgb3IgLmd2aW1yYyBmaWxlCi0JCQkJCQkJCWlzIGZvdW5kKQorJ2NvbXBhdGlibGUnICdjcCcJYm9vbGVhbgkoZGVmYXVsdCBvbiwgb2ZmIHdoZW4gYSB8dmltcmN8IG9yIHxndmltcmN8CisJCQkJCQkJCWZpbGUgaXMgZm91bmQpCiAJCQlnbG9iYWwKIAkJCXtub3QgaW4gVml9CiAJVGhpcyBvcHRpb24gaGFzIHRoZSBlZmZlY3Qgb2YgbWFraW5nIFZpbSBlaXRoZXIgbW9yZSBWaS1jb21wYXRpYmxlLCBvcgpAQCAtMTUwNCwxMCArMTUwMywxMCBAQAogCW9wdGlvbnMuICBUaGlzIGRlZmF1bHQgd2FzIGNob3NlbiBmb3IgdGhvc2UgcGVvcGxlIHdobyB3YW50IHRvIHVzZSBWaW0KIAlqdXN0IGxpa2UgVmksIGFuZCBkb24ndCBldmVuICh3YW50IHRvKSBrbm93IGFib3V0IHRoZSAnY29tcGF0aWJsZScKIAlvcHRpb24uCi0JV2hlbiBhICIudmltcmMiIG9yICIuZ3ZpbXJjIiBmaWxlIGlzIGZvdW5kIHdoaWxlIFZpbSBpcyBzdGFydGluZyB1cCwKKwlXaGVuIGEgfHZpbXJjfCBvciB8Z3ZpbXJjfCBmaWxlIGlzIGZvdW5kIHdoaWxlIFZpbSBpcyBzdGFydGluZyB1cCwKIAl0aGlzIG9wdGlvbiBpcyBzd2l0Y2hlZCBvZmYsIGFuZCBhbGwgb3B0aW9ucyB0aGF0IGhhdmUgbm90IGJlZW4KIAltb2RpZmllZCB3aWxsIGJlIHNldCB0byB0aGUgVmltIGRlZmF1bHRzLiAgRWZmZWN0aXZlbHksIHRoaXMgbWVhbnMKLQl0aGF0IHdoZW4gYSAiLnZpbXJjIiBvciAiLmd2aW1yYyIgZmlsZSBleGlzdHMsIFZpbSB3aWxsIHVzZSB0aGUgVmltCisJdGhhdCB3aGVuIGEgfHZpbXJjfCBvciB8Z3ZpbXJjfCBmaWxlIGV4aXN0cywgVmltIHdpbGwgdXNlIHRoZSBWaW0KIAlkZWZhdWx0cywgb3RoZXJ3aXNlIGl0IHdpbGwgdXNlIHRoZSBWaSBkZWZhdWx0cy4gIChOb3RlOiBUaGlzIGRvZXNuJ3QKIAloYXBwZW4gZm9yIHRoZSBzeXN0ZW0td2lkZSB2aW1yYyBvciBndmltcmMgZmlsZSkuICBBbHNvIHNlZQogCXxjb21wYXRpYmxlLWRlZmF1bHR8IGFuZCB8cG9zaXgtY29tcGxpYW5jZXwuCkBAIC0yNzE5LDYgKzI3MTgsOCBAQAogPAlUaGlzIGlzIHNpbWlsYXIgdG8gdGhlIGRlZmF1bHQsIGV4Y2VwdCB0aGF0IHRoZXNlIGNoYXJhY3RlcnMgd2lsbCBhbHNvCiAJYmUgdXNlZCB3aGVuIHRoZXJlIGlzIGhpZ2hsaWdodGluZy4KIAorCWZvciAic3RsIiBhbmQgInN0bG5jIiBvbmx5IHNpbmdsZS1ieXRlIHZhbHVlcyBhcmUgc3VwcG9ydGVkLgorCiAJVGhlIGhpZ2hsaWdodGluZyB1c2VkIGZvciB0aGVzZSBpdGVtczoKIAkgIGl0ZW0JCWhpZ2hsaWdodCBncm91cCB+CiAJICBzdGw6YwkJU3RhdHVzTGluZQkJfGhsLVN0YXR1c0xpbmV8CkBAIC0yODk0LDYgKzI4OTUsNyBAQAogCQlxdWlja2ZpeAkiOmNuIiwgIjpjcmV3IiwgIjptYWtlIiwgZXRjLgogCQlzZWFyY2gJCXNlYXJjaCBmb3IgYSBwYXR0ZXJuOiAiLyIsICJuIiwgIioiLCAiZ2QiLCBldGMuCiAJCQkJKG5vdCBmb3IgYSBzZWFyY2ggcGF0dGVybiBpbiBhICI6IiBjb21tYW5kKQorCQkJCUFsc28gZm9yIHxbc3wgYW5kIHxdc3wuCiAJCXRhZwkJanVtcGluZyB0byBhIHRhZzogIjp0YSIsIENUUkwtVCwgZXRjLgogCQl1bmRvCQl1bmRvIG9yIHJlZG86ICJ1IiBhbmQgQ1RSTC1SCiAJV2hlbiB0aGUgY29tbWFuZCBpcyBwYXJ0IG9mIGEgbWFwcGluZyB0aGlzIG9wdGlvbiBpcyBub3QgdXNlZC4gIEFkZApAQCAtMzMzMiw3ICszMzM0LDcgQEAKIAkJY2FuIHVzZSAiZ3ZpbSAtZiIgb3IgIjpndWkgLWYiIHRvIHN0YXJ0IHRoZSBHVUkgaW4gdGhlCiAJCWZvcmVncm91bmQuICB8Z3VpLWZvcmt8CiAJCU5vdGU6IFNldCB0aGlzIG9wdGlvbiBpbiB0aGUgdmltcmMgZmlsZS4gIFRoZSBmb3JraW5nIG1heSBoYXZlCi0JCWhhcHBlbmVkIGFscmVhZHkgd2hlbiB0aGUgZ3ZpbXJjIGZpbGUgaXMgcmVhZC4KKwkJaGFwcGVuZWQgYWxyZWFkeSB3aGVuIHRoZSB8Z3ZpbXJjfCBmaWxlIGlzIHJlYWQuCiAKIAkgICdpJwlVc2UgYSBWaW0gaWNvbi4gIEZvciBHVEsgd2l0aCBLREUgaXQgaXMgdXNlZCBpbiB0aGUgbGVmdC11cHBlcgogCQljb3JuZXIgb2YgdGhlIHdpbmRvdy4gIEl0J3MgYmxhY2smd2hpdGUgb24gbm9uLUdUSywgYmVjYXVzZSBvZgpAQCAtMzM0MSw3ICszMzQzLDcgQEAKIAkgICdtJwlNZW51IGJhciBpcyBwcmVzZW50LgogCSAgJ00nCVRoZSBzeXN0ZW0gbWVudSAiJFZJTVJVTlRJTUUvbWVudS52aW0iIGlzIG5vdCBzb3VyY2VkLiAgTm90ZQogCQl0aGF0IHRoaXMgZmxhZyBtdXN0IGJlIGFkZGVkIGluIHRoZSAudmltcmMgZmlsZSwgYmVmb3JlCi0JCXN3aXRjaGluZyBvbiBzeW50YXggb3IgZmlsZXR5cGUgcmVjb2duaXRpb24gKHdoZW4gdGhlIC5ndmltcmMKKwkJc3dpdGNoaW5nIG9uIHN5bnRheCBvciBmaWxldHlwZSByZWNvZ25pdGlvbiAod2hlbiB0aGUgfGd2aW1yY3wKIAkJZmlsZSBpcyBzb3VyY2VkIHRoZSBzeXN0ZW0gbWVudSBoYXMgYWxyZWFkeSBiZWVuIGxvYWRlZDsgdGhlCiAJCSI6c3ludGF4IG9uIiBhbmQgIjpmaWxldHlwZSBvbiIgY29tbWFuZHMgbG9hZCB0aGUgbWVudSB0b28pLgogCSAgJ2cnCUdyZXkgbWVudSBpdGVtczogTWFrZSBtZW51IGl0ZW1zIHRoYXQgYXJlIG5vdCBhY3RpdmUgZ3JleS4gIElmCkBAIC0zMzc0LDcgKzMzNzYsNyBAQAogCSAgJ3AnCVVzZSBQb2ludGVyIGNhbGxiYWNrcyBmb3IgWDExIEdVSS4gIFRoaXMgaXMgcmVxdWlyZWQgZm9yIHNvbWUKIAkJd2luZG93IG1hbmFnZXJzLiAgSWYgdGhlIGN1cnNvciBpcyBub3QgYmxpbmtpbmcgb3IgaG9sbG93IGF0CiAJCXRoZSByaWdodCBtb21lbnQsIHRyeSBhZGRpbmcgdGhpcyBmbGFnLiAgVGhpcyBtdXN0IGJlIGRvbmUKLQkJYmVmb3JlIHN0YXJ0aW5nIHRoZSBHVUkuICBTZXQgaXQgaW4geW91ciBndmltcmMuICBBZGRpbmcgb3IKKwkJYmVmb3JlIHN0YXJ0aW5nIHRoZSBHVUkuICBTZXQgaXQgaW4geW91ciB8Z3ZpbXJjfC4gIEFkZGluZyBvcgogCQlyZW1vdmluZyBpdCBhZnRlciB0aGUgR1VJIGhhcyBzdGFydGVkIGhhcyBubyBlZmZlY3QuCiAJICAnRicJQWRkIGEgZm9vdGVyLiAgT25seSBmb3IgTW90aWYuICBTZWUgfGd1aS1mb290ZXJ8LgogCkBAIC0zNDY5LDcgKzM0NzEsNyBAQAogCQkJCSAgICAgIjg6U3BlY2lhbEtleSxAOk5vblRleHQsZDpEaXJlY3RvcnksCiAJCQkJICAgICBlOkVycm9yTXNnLGk6SW5jU2VhcmNoLGw6U2VhcmNoLG06TW9yZU1zZywKIAkJCQkgICAgIE06TW9kZU1zZyxuOkxpbmVOcixyOlF1ZXN0aW9uLAotCQkJCSAgICAgczpTdGF0dXNMaW5lLFM6U3RhdHVzTGluZU5DLGM6VmVydFNwbGl0CisJCQkJICAgICBzOlN0YXR1c0xpbmUsUzpTdGF0dXNMaW5lTkMsYzpWZXJ0U3BsaXQsCiAJCQkJICAgICB0OlRpdGxlLHY6VmlzdWFsLHc6V2FybmluZ01zZyxXOldpbGRNZW51LAogCQkJCSAgICAgZjpGb2xkZWQsRjpGb2xkQ29sdW1uLEE6RGlmZkFkZCwKIAkJCQkgICAgIEM6RGlmZkNoYW5nZSxEOkRpZmZEZWxldGUsVDpEaWZmVGV4dCwKQEAgLTM1NjAsNyArMzU2Miw3IEBACiAJaGlnaGxpZ2h0IGFsbCBvZiB0aGUgbWF0Y2hlZCB0ZXh0LiAgSG93ZXZlciwgdGhpcyBkZXBlbmRzIG9uIHdoZXJlIHRoZQogCXNlYXJjaCBzdGFydHMuICBUaGlzIHdpbGwgYmUgdGhlIGZpcnN0IGxpbmUgaW4gdGhlIHdpbmRvdyBvciB0aGUgZmlyc3QKIAlsaW5lIGJlbG93IGEgY2xvc2VkIGZvbGQuICBBIG1hdGNoIGluIGEgcHJldmlvdXMgbGluZSB3aGljaCBpcyBub3QKLQlkcmF3biBtYXkgbm90IGNvbnRpbnVlIGluIGFuIG5ld2x5IGRyYXduIGxpbmUuCisJZHJhd24gbWF5IG5vdCBjb250aW51ZSBpbiBhIG5ld2x5IGRyYXduIGxpbmUuCiAJTk9URTogVGhpcyBvcHRpb24gaXMgcmVzZXQgd2hlbiAnY29tcGF0aWJsZScgaXMgc2V0LgogCiAJCQkJCQkqJ2hpc3RvcnknKiAqJ2hpJyoKQEAgLTQyNjUsNyArNDI2Nyw3IEBACiAKIAlUaGUgY2hhcmFjdGVycyAnOicgYW5kICcsJyBzaG91bGQgbm90IGJlIHVzZWQuICBVVEYtOCBjaGFyYWN0ZXJzIGNhbgogCWJlIHVzZWQgd2hlbiAnZW5jb2RpbmcnIGlzICJ1dGYtOCIsIG90aGVyd2lzZSBvbmx5IHByaW50YWJsZQotCWNoYXJhY3RlcnMgYXJlIGFsbG93ZWQuCisJY2hhcmFjdGVycyBhcmUgYWxsb3dlZC4gIEFsbCBjaGFyYWN0ZXJzIG11c3QgYmUgc2luZ2xlIHdpZHRoLgogCiAJRXhhbXBsZXM6ID4KIAkgICAgOnNldCBsY3M9dGFiOj4tLHRyYWlsOi0KQEAgLTUzNjksNiArNTM3MSw4IEBACiAJCQkgICBnb2luZyBiYWNrIHRvIHRoZSBvdGhlciB3aW5kb3csIGl0IHN0aWxsIHVzZXMgdGhlCiAJCQkgICBzYW1lIHJlbGF0aXZlIG9mZnNldC4KIAlBbHNvIHNlZSB8c2Nyb2xsLWJpbmRpbmd8LgorCVdoZW4gJ2RpZmYnIG1vZGUgaXMgYWN0aXZlIHRoZXJlIGFsd2F5cyBpcyB2ZXJ0aWNhbCBzY3JvbGwgYmluZGluZywKKwlldmVuIHdoZW4gInZlciIgaXNuJ3QgdGhlcmUuCiAKIAkJCQkJCSonc2VjdGlvbnMnKiAqJ3NlY3QnKgogJ3NlY3Rpb25zJyAnc2VjdCcJc3RyaW5nCShkZWZhdWx0ICJTSE5ISCBIVW5oc2giKQpAQCAtNTk2OSw4ICs1OTczLDkgQEAKIAl8emd8IGFuZCB8end8IGNvbW1hbmRzIGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBlYWNoLiAgVGhpcyBhbGxvd3MgdXNpbmcKIAlhIHBlcnNvbmFsIHdvcmQgbGlzdCBmaWxlIGFuZCBhIHByb2plY3Qgd29yZCBsaXN0IGZpbGUuCiAJV2hlbiBhIHdvcmQgaXMgYWRkZWQgd2hpbGUgdGhpcyBvcHRpb24gaXMgZW1wdHkgVmltIHdpbGwgc2V0IGl0IGZvcgotCXlvdTogVXNpbmcgdGhlIGZpcnN0ICJzcGVsbCIgZGlyZWN0b3J5IGluICdydW50aW1lcGF0aCcgdGhhdCBpcwotCXdyaXRhYmxlIGFuZCB0aGUgZmlyc3QgbGFuZ3VhZ2UgbmFtZSB0aGF0IGFwcGVhcnMgaW4gJ3NwZWxsbGFuZycsCisJeW91OiBVc2luZyB0aGUgZmlyc3QgZGlyZWN0b3J5IGluICdydW50aW1lcGF0aCcgdGhhdCBpcyB3cml0YWJsZS4gIElmCisJdGhlcmUgaXMgbm8gInNwZWxsIiBkaXJlY3RvcnkgeWV0IGl0IHdpbGwgYmUgY3JlYXRlZC4gIEZvciB0aGUgZmlsZQorCW5hbWUgdGhlIGZpcnN0IGxhbmd1YWdlIG5hbWUgdGhhdCBhcHBlYXJzIGluICdzcGVsbGxhbmcnIGlzIHVzZWQsCiAJaWdub3JpbmcgdGhlIHJlZ2lvbi4KIAlUaGUgcmVzdWx0aW5nICIuc3BsIiBmaWxlIHdpbGwgYmUgdXNlZCBmb3Igc3BlbGwgY2hlY2tpbmcsIGl0IGRvZXMgbm90CiAJaGF2ZSB0byBhcHBlYXIgaW4gJ3NwZWxsbGFuZycuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9vc19kb3MudHh0IGIvcnVudGltZS9kb2Mvb3NfZG9zLnR4dAppbmRleCAwMmNiMDMyLi43ZTc3MTFjIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vc19kb3MudHh0CisrKyBiL3J1bnRpbWUvZG9jL29zX2Rvcy50eHQKQEAgLTEsNCArMSw0IEBACi0qb3NfZG9zLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBGZWIgMTQKKypvc19kb3MudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAzMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNzcsMTAgKzc3LDExIEBACiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDMuIFN0YW5kYXJkIG1hcHBpbmdzCQkJCSpkb3Mtc3RhbmRhcmQtbWFwcGluZ3MqCiAKLUNUUkwtUGFnZVVwCWN1cnNvciB0byBmaXJzdCBzY3JlZW4gbGluZQkJCSo8Qy1QYWdlVXA+KgotQ1RSTC1QYWdlRG93bgljdXJzb3IgdG8gbGFzdCBzY3JlZW4gbGluZSwgbGFzdCBjaGFyYWN0ZXIJKjxDLVBhZ2VEb3duPioKK1RoZSBtYXBwaW5ncyBmb3IgQ1RSTC1QYWdlVXAgYW5kIENUUkwtUGFnZURvd24gaGF2ZSBiZWVuIHJlbW92ZWQsIHRoZXkgbm93CitqdW1wIHRvIHRoZSBuZXh0IG9yIHByZXZpb3VzIHRhYiBwYWdlIHw8Qy1QYWdlVXA+fCB8PEMtUGFnZURvd24+fAogCi1UaGVzZSBtYXBwaW5ncyBhY2NvbXBsaXNoIHRoaXM6CitJZiB5b3Ugd2FudCB0aGVtIHRvIG1vdmUgdG8gdGhlIGZpcnN0IGFuZCBsYXN0IHNjcmVlbiBsaW5lIHlvdSBjYW4gdXNlIHRoZXNlCittYXBwaW5nczoKIAoga2V5CQlrZXkgY29kZSAgICAgTm9ybWFsL1Zpc3VhbCBtb2RlCSAgICBJbnNlcnQgbW9kZSB+CiBDVFJMLVBhZ2VVcAk8TS1OPjxNLUMtRD4JICAgIEgJCSAgICA8Qy1PPkgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL29zX3dpbjMyLnR4dCBiL3J1bnRpbWUvZG9jL29zX3dpbjMyLnR4dAppbmRleCBjODk0ZjBhLi4wODYxMTI3IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vc193aW4zMi50eHQKKysrIGIvcnVudGltZS9kb2Mvb3Nfd2luMzIudHh0CkBAIC0xLDQgKzEsNCBAQAotKm9zX3dpbjMyLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDUgTWFyIDI5Cisqb3Nfd2luMzIudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDIKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgR2VvcmdlIFJlaWxseQpAQCAtODcsNiArODcsMTIgQEAKIHByb2JhYmx5IGdldCB2ZXJ5IHN0cmFuZ2UgYmVoYXZpb3IgZnJvbSBWaW0uICBUaGVyZWZvcmUgVmltIGRvZXMgbm90IG9idGFpbgogdGhlIGRlZmF1bHQgdmFsdWUgb2YgJ3Rlcm0nIGZyb20gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlICJURVJNIi4KIAorJFBBVEgJCQkJCQkJKndpbjMyLVBBVEgqCisKK1RoZSBkaXJlY3Rvcnkgb2YgdGhlIFZpbSBleGVjdXRhYmxlIGlzIGFwcGVuZGVkIHRvICRQQVRILiAgVGhpcyBpcyBtb3N0bHkgdG8KK21ha2UgIiF4eGQnIHdvcmssIGFzIGl0IGlzIGluIHRoZSBUb29scyBtZW51LiAgQW5kIGl0IGFsc28gbWVhbnMgdGhhdCB3aGVuCitleGVjdXRhYmxlKCkgcmV0dXJucyAxIHRoZSBleGVjdXRhYmxlIGNhbiBhY3R1YWxseSBiZSBleGVjdXRlZC4KKwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAzLiBSZXN0b3JlIHNjcmVlbiBjb250ZW50cwkJCQkqd2luMzItcmVzdG9yZSoKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcGF0dGVybi50eHQgYi9ydW50aW1lL2RvYy9wYXR0ZXJuLnR4dAppbmRleCBmNDE1NTc0Li4zYmQ4YzQwIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9wYXR0ZXJuLnR4dAorKysgYi9ydW50aW1lL2RvYy9wYXR0ZXJuLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpwYXR0ZXJuLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAyNQorKnBhdHRlcm4udHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDAyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0xMjIwLDYgKzEyMjAsOSBAQAogCQknaWdub3JlY2FzZScgZG9lcyBub3QgYXBwbHksIHVzZSB8L1xjfCBpbiB0aGUgcGF0dGVybiB0bwogCQlpZ25vcmUgY2FzZS4gIE90aGVyd2lzZSBjYXNlIGlzIG5vdCBpZ25vcmVkLgogCisJCUFsc28gc2VlIHxtYXRjaGFyZygpfCwgaXQgcmV0dXJucyB0aGUgaGlnaGxpZ2h0IGdyb3VwIGFuZAorCQlwYXR0ZXJuIG9mIGEgcHJldmlvdXMgOm1hdGNoIGNvbW1hbmQuCisKIAkJQW5vdGhlciBleGFtcGxlLCB3aGljaCBoaWdobGlnaHRzIGFsbCBjaGFyYWN0ZXJzIGluIHZpcnR1YWwKIAkJY29sdW1uIDcyIGFuZCBtb3JlOiA+CiAJCQk6aGlnaGxpZ2h0IHJpZ2h0TWFyZ2luIHRlcm09Ym9sZCBjdGVybWZnPWJsdWUgZ3VpZmc9Ymx1ZQpAQCAtMTIzNSwxMCArMTIzOCwxMCBAQAogCQlDbGVhciBhIHByZXZpb3VzbHkgZGVmaW5lZCBtYXRjaCBwYXR0ZXJuLgogCiAKLToybWF0W2NoXSB7Z3JvdXB9IC97cGF0dGVybn0vCis6Mm1hdFtjaF0ge2dyb3VwfSAve3BhdHRlcm59LwkJCQkJKjoybWF0Y2gqCiA6Mm1hdFtjaF0KIDoybWF0W2NoXSBub25lCi06M21hdFtjaF0ge2dyb3VwfSAve3BhdHRlcm59LworOjNtYXRbY2hdIHtncm91cH0gL3twYXR0ZXJufS8JCQkJCSo6M21hdGNoKgogOjNtYXRbY2hdCiA6M21hdFtjaF0gbm9uZQogCQlKdXN0IGxpa2UgfDptYXRjaHwgYWJvdmUsIGJ1dCBzZXQgYSBzZXBhcmF0ZSBtYXRjaC4gIFRodXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3BpX3BhcmVuLnR4dCBiL3J1bnRpbWUvZG9jL3BpX3BhcmVuLnR4dAppbmRleCBiM2ZjYjdkLi5hMzRmMzU0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9waV9wYXJlbi50eHQKKysrIGIvcnVudGltZS9kb2MvcGlfcGFyZW4udHh0CkBAIC0xLDQgKzEsNCBAQAotKnBpX3BhcmVuLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDI5CisqcGlfcGFyZW4udHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDMKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTM4LDkgKzM4LDEzIEBACiBzeW50YXggaXRlbXMgYXJlIGlnbm9yZWQuICBBbnkgc3ludGF4IGl0ZW1zIHdpdGggInN0cmluZyIgb3IgImNvbW1lbnQiCiBzb21ld2hlcmUgaW4gdGhlaXIgbmFtZSBhcmUgY29uc2lkZXJlZCBzdHJpbmcgb3IgY29tbWVudCBpdGVtcy4KIAotVGhlIHNlYXJjaCBpcyBsaW1pdGVkIHRvIHdoYXQgaXMgdmlzaWJsZSBpbiB0aGUgd2luZG93LiAgVGhlIHBsdWdpbiBkb2Vzbid0Ci1zZWFyY2ggZnVydGhlciB0aGFuIDEwMCBsaW5lcyB0byBhdm9pZCBhIGxvbmcgZGVsYXkgd2hlbiB0aGVyZSBhcmUgY2xvc2VkCi1mb2xkcy4KK1RoZSBzZWFyY2ggaXMgbGltaXRlZCB0byBhdm9pZCBhIGRlbGF5IHdoZW4gbW92aW5nIHRoZSBjdXJzb3IuICBUaGUgbGltaXRzCithcmU6CistIFdoYXQgaXMgdmlzaWJsZSBpbiB0aGUgd2luZG93LgorLSAxMDAgbGluZXMgYWJvdmUgb3IgYmVsb3cgdGhlIGN1cnNvciB0byBhdm9pZCBhIGxvbmcgZGVsYXkgd2hlbiB0aGVyZSBhcmUKKyAgY2xvc2VkIGZvbGRzLgorLSAnc3lubWF4Y29sdW1uJyB0aW1lcyAyIGJ5dGVzIGJlZm9yZSBvciBhZnRlciB0aGUgY3Vyc29yIHRvIGF2b2lkIGEgZGVsYXkKKyAgaW4gYSBsb25nIGxpbmUgd2l0aCBzeW50YXggaGlnaGxpZ2h0aW5nLgogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICB2aW06dHc9Nzg6dHM9ODpmdD1oZWxwOm5vcmw6CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9waV90YXIudHh0IGIvcnVudGltZS9kb2MvcGlfdGFyLnR4dAppbmRleCBhOTg2ZWU5Li43N2ViMTllIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9waV90YXIudHh0CisrKyBiL3J1bnRpbWUvZG9jL3BpX3Rhci50eHQKQEAgLTEsNiArMSw4IEBACiAqdGFyLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMjQKIAotCVRhciBGaWxlIEludGVyZmFjZQorICAgICAgIAkgICAgICAgCSAgICAgICArPT09PT09PT09PT09PT09PT09PT0rCisgICAgICAgCSAgICAgICAJICAgICAgIHwgVGFyIEZpbGUgSW50ZXJmYWNlIHwKKyAgICAgICAJICAgICAgIAkgICAgICAgKz09PT09PT09PT09PT09PT09PT09KwogCiBBdXRob3I6ICBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4gIDxOZHJPY2hpcEBTY2FtcGJlbGxQZmFtaWx5LkFiaXpNPgogCSAgKHJlbW92ZSBOT1NQQU0gZnJvbSBDYW1wYmVsbCdzIGVtYWlsIGZpcnN0KQpAQCAtMTIsNyArMTQsOCBAQAogMS4gQ29udGVudHMJCQkJCSp0YXIqICp0YXItY29udGVudHMqCiAgICAxLiBDb250ZW50cy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4ufHRhci1jb250ZW50c3wKICAgIDIuIFVzYWdlLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58dGFyLXVzYWdlfAotICAgMy4gSGlzdG9yeS4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnx0YXItaGlzdG9yeXwKKyAgIDMuIE9wdGlvbnMuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58dGFyLW9wdGlvbnN8CisgICA0LiBIaXN0b3J5Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4ufHRhci1oaXN0b3J5fAogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDIuIFVzYWdlCQkJCQkqdGFyLXVzYWdlKiAqdGFyLW1hbnVhbCoKQEAgLTI0LDcgKzI3LDI1IEBACiAgICB0YXIgYXJjaGl2ZXMgdmlhIHRoZSBwbHVnaW4uCiAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotMy4gSGlzdG9yeQkJCQkJCSp0YXItaGlzdG9yeSoKKzMuIE9wdGlvbnMJCQkJCQkqdGFyLW9wdGlvbnMqCisKKyAgIFRoZXNlIG9wdGlvbnMgYXJlIHZhcmlhYmxlcyB0aGF0IG9uZSBtYXkgY2hhbmdlLCB0eXBpY2FsbHkgaW4gb25lJ3MKKyAgIDwudmltcmM+IGZpbGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdAorICAgVmFyaWFibGUgICAgICAgICAgICAgICBWYWx1ZSAgIEV4cGxhbmF0aW9uCisgICAqZzp0YXJfYnJvd3Nlb3B0aW9ucyogICJQdGYiICAgdXNlZCB0byBnZXQgYSBsaXN0IG9mIGNvbnRlbnRzCisgICAqZzp0YXJfcmVhZG9wdGlvbnMqICAgICJPUHhmIiAgdXNlZCB0byBleHRyYWN0IGEgZmlsZSBmcm9tIGEgdGFyYmFsbAorICAgKmc6dGFyX2NtZCogICAgICAgICAgICAidGFyIiAgIHRoZSBuYW1lIG9mIHRoZSB0YXIgcHJvZ3JhbQorICAgKmc6dGFyX3dyaXRlb3B0aW9ucyogICAidWYiICAgIHVzZWQgdG8gdXBkYXRlL3JlcGxhY2UgYSBmaWxlCisKKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis0LiBIaXN0b3J5CQkJCQkJKnRhci1oaXN0b3J5KgorCisgICB2NyBNYXIgMjIsIDIwMDYgKiB3b3JrIG9uIG1ha2luZyB0YXIgcGx1Z2luIHdvcmsgYWNyb3NzIG5ldHdvcmsKKyAgICAgIE1hciAyNywgMjAwNiAqIGc6dGFyX2NtZCBub3cgYXZhaWxhYmxlIGZvciB1c2VycyB0byBjaGFuZ2UgdGhlIG5hbWUKKyAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSB0YXIgcHJvZ3JhbSB0byBiZSB1c2VkLiAgQnkgZGVmYXVsdCwgb2YgY291cnNlLAorCQkgICAgIGl0cyAidGFyIi4KICAgIHY2IERlYyAyMSwgMjAwNSAqIHdyaXRpbmcgdG8gZmlsZXMgbm90IGluIGRpcmVjdG9yaWVzIGNhdXNlZCBwcm9ibGVtcyAtCiAgICAgICAgICAgICAgICAgICAgICBmaXhlZCAocG9pbnRlZCBvdXQgYnkgQ2hyaXN0aWFuIFJvYmluc29uKQogICAgdjUgTm92IDIyLCAyMDA1ICogcmVwb3J0IG9wdGlvbiB3b3JrYXJvdW5kIGluc3RhbGxlZApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcGlfemlwLnR4dCBiL3J1bnRpbWUvZG9jL3BpX3ppcC50eHQKaW5kZXggOGU3MGJiZi4uZWViNWQ3NiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcGlfemlwLnR4dAorKysgYi9ydW50aW1lL2RvYy9waV96aXAudHh0CkBAIC0xLDE4ICsxLDIwIEBACi0qemlwLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMjQKKyp6aXAudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwMwogCi0JWmlwIEZpbGUgSW50ZXJmYWNlCisJCQkJKz09PT09PT09PT09PT09PT09PT09KworCQkJCXwgWmlwIEZpbGUgSW50ZXJmYWNlIHwKKwkJCQkrPT09PT09PT09PT09PT09PT09PT0rCiAKIEF1dGhvcjogIENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLiAgPE5kck9jaGlwQFNjYW1wYmVsbFBmYW1pbHkuQWJpek0+CiAJICAocmVtb3ZlIE5PU1BBTSBmcm9tIENhbXBiZWxsJ3MgZW1haWwgZmlyc3QpCi1Db3B5cmlnaHQ6ICAgIENvcHlyaWdodCAoQykgMjAwNSBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4ge3t7MSAqemlwLWNvcHlyaWdodCoKLSAgICAgICAgICAgICAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCB0byB1c2UgYW5kIGRpc3RyaWJ1dGUgdGhpcyBjb2RlLAotCSAgICAgIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBwcm92aWRlZCB0aGF0IHRoaXMgY29weXJpZ2h0Ci0JICAgICAgbm90aWNlIGlzIGNvcGllZCB3aXRoIGl0LiBMaWtlIGFueXRoaW5nIGVsc2UgdGhhdCdzIGZyZWUsCi0JICAgICAgemlwLnZpbSwgemlwUGx1Z2luLnZpbSwgYW5kIHBpX3ppcC50eHQgYXJlIHByb3ZpZGVkICphcyBpcyoKLQkgICAgICBhbmQgaXQgY29tZXMgd2l0aCBubyB3YXJyYW50eSBvZiBhbnkga2luZCwgZWl0aGVyIGV4cHJlc3NlZCBvcgotCSAgICAgIGltcGxpZWQuIEJ5IHVzaW5nIHRoaXMgcGx1Z2luLCB5b3UgYWdyZWUgdGhhdCBpbiBubyBldmVudCB3aWxsCi0JICAgICAgdGhlIGNvcHlyaWdodCBob2xkZXIgYmUgbGlhYmxlIGZvciBhbnkgZGFtYWdlcyByZXN1bHRpbmcgZnJvbQotCSAgICAgIHRoZSB1c2Ugb2YgdGhpcyBzb2Z0d2FyZS4KK0NvcHlyaWdodDogQ29weXJpZ2h0IChDKSAyMDA1LDIwMDYgQ2hhcmxlcyBFIENhbXBiZWxsLCBKciB7e3sxICp6aXAtY29weXJpZ2h0KgorICAgICAgICAgICBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIHRvIHVzZSBhbmQgZGlzdHJpYnV0ZSB0aGlzIGNvZGUsCisJICAgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIHByb3ZpZGVkIHRoYXQgdGhpcyBjb3B5cmlnaHQKKwkgICBub3RpY2UgaXMgY29waWVkIHdpdGggaXQuIExpa2UgYW55dGhpbmcgZWxzZSB0aGF0J3MgZnJlZSwKKwkgICB6aXAudmltLCB6aXBQbHVnaW4udmltLCBhbmQgcGlfemlwLnR4dCBhcmUgcHJvdmlkZWQgKmFzIGlzKgorCSAgIGFuZCBpdCBjb21lcyB3aXRoIG5vIHdhcnJhbnR5IG9mIGFueSBraW5kLCBlaXRoZXIgZXhwcmVzc2VkIG9yCisJICAgaW1wbGllZC4gQnkgdXNpbmcgdGhpcyBwbHVnaW4sIHlvdSBhZ3JlZSB0aGF0IGluIG5vIGV2ZW50IHdpbGwKKwkgICB0aGUgY29weXJpZ2h0IGhvbGRlciBiZSBsaWFibGUgZm9yIGFueSBkYW1hZ2VzIHJlc3VsdGluZyBmcm9tCisJICAgdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDEuIENvbnRlbnRzCQkJCQkqemlwKiAqemlwLWNvbnRlbnRzKgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvc3BlbGwudHh0IGIvcnVudGltZS9kb2Mvc3BlbGwudHh0CmluZGV4IGRiMDIxMGYuLmY3NmFiNTEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3NwZWxsLnR4dAorKysgYi9ydW50aW1lL2RvYy9zcGVsbC50eHQKQEAgLTEsNCArMSw0IEBACi0qc3BlbGwudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAyNworKnNwZWxsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDMKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNTAwLDcgKzUwMCw3IEBACiAJCTpta3NwZWxsIH4vLnZpbS9zcGVsbC9lbiAvdG1wL2VuX1VTIC90bXAvZW5fQ0EgL3RtcC9lbl9BVQogPAkJCVRoaXMgY29tYmluZXMgdGhlIEVuZ2xpc2ggd29yZCBsaXN0cyBmb3IgVVMsIENBIGFuZCBBVQogCQkJaW50byBvbmUgZW4uc3BsIGZpbGUuCi0JCQlVcCB0byBlaWdodCByZWdpb25zIGNhbiBiZSBjb21iaW5lZC4gKkU3NTQqICo3NTUqCisJCQlVcCB0byBlaWdodCByZWdpb25zIGNhbiBiZSBjb21iaW5lZC4gKkU3NTQqICpFNzU1KgogCQkJVGhlIFJFUCBhbmQgU0FMIGl0ZW1zIG9mIHRoZSBmaXJzdCAuYWZmIGZpbGUgd2hlcmUKIAkJCXRoZXkgYXBwZWFyIGFyZSB1c2VkLiB8c3BlbGwtUkVQfCB8c3BlbGwtU0FMfAogCkBAIC0xMDU4LDM2ICsxMDU4LDggQEAKIC0gTWFraW5nIHRoZSB3b3JkIHdpdGggdGhlIGFmZml4IHJhcmUsIGJ5IHVzaW5nIHRoZSB8c3BlbGwtUkFSRXwgZmxhZy4KIC0gRXhjbHVkZSB0aGUgd29yZCB3aXRoIHRoZSBhZmZpeCBmcm9tIGNvbXBvdW5kaW5nLCBieSB1c2luZyB0aGUKICAgfHNwZWxsLUNPTVBPVU5ERk9SQklERkxBR3wgZmxhZy4KLQotLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KLU9MRCBTVFVGRjogVGhpcyBuZWVkcyB0byBiZSByZXdyaXR0ZW4gdG8gdXNlIGFmZml4IGZsYWdzLgotCQkJCQkJCSpzcGVsbC1hZmZpeC1yYXJlKgotQW4gZXh0cmEgaXRlbSBmb3IgVmltIGlzIHRoZSAicmFyZSIgZmxhZy4gIEl0IG11c3QgY29tZSBhZnRlciB0aGUgb3RoZXIKLWZpZWxkcywgYmVmb3JlIGEgY29tbWVudC4gIFdoZW4gdXNlZCB0aGVuIGFsbCB3b3JkcyB0aGF0IHVzZSB0aGUgYWZmaXggd2lsbCBiZQotbWFya2VkIGFzIHJhcmUgd29yZHMuICBFeGFtcGxlczoKLQotCVBGWCBGIDAgbmVuZSAgLiAgIHJhcmUgfgotCVNGWCBGIDAgb2luICAgbiAgIHJhcmUgICAjIGhhcmRseSBldmVyIHVzZWQgfgotCi1Ib3dldmVyLCBpZiB0aGUgd29yZCBhbHNvIGFwcGVhcnMgYXMgYSBnb29kIHdvcmQgaW4gYW5vdGhlciB3YXkgKGUuZy4sIGluCi1hbm90aGVyIHJlZ2lvbikgaXQgd29uJ3QgYmUgbWFya2VkIGFzIHJhcmUuCi0KLQkJCQkJCQkqc3BlbGwtYWZmaXgtbm9jb21wKgotQW5vdGhlciBleHRyYSBpdGVtIGZvciBWaW0gaXMgdGhlICJub2NvbXAiIGZsYWcuICBJdCBtdXN0IGNvbWUgYWZ0ZXIgdGhlIG90aGVyCi1maWVsZHMsIGJlZm9yZSBhIGNvbW1lbnQuICBJdCBjYW4gYmUgZWl0aGVyIGJlZm9yZSBvciBhZnRlciAicmFyZSIuICBXaGVuCi1wcmVzZW50IHRoZW4gYWxsIHdvcmRzIHRoYXQgdXNlIHRoZSBhZmZpeCB3aWxsIG5vdCBiZSBwYXJ0IG9mIGEgY29tcG91bmQgd29yZC4KLUV4YW1wbGU6Ci0JYWZmaXggZmlsZToKLQkJQ09NUE9VTkRGTEFHIGMgfgotCQlTRlggYSBZIDIgfgotCQlTRlggYSAwIHMgICAuIH4KLQkJU0ZYIGEgMCBpemUgLiBub2NvbXAgfgotCWRpY3Rpb25hcnk6Ci0JCXdvcmQvYyB+Ci0JCXV0aWwvYWMgfgotCi1UaGlzIGFsbG93cyBmb3IgIndvcmR1dGlsIiBhbmQgIndvcmR1dGlscyIgYnV0IG5vdCAid29yZHV0aWxpemUiLgotLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KKy0gQWxsb3cgdGhlIHdvcmQgd2l0aCB0aGUgYWZmaXggdG8gYmUgcGFydCBvZiBhIGNvbXBvdW5kIHdvcmQgb24gdGhlIHNpZGUgb2YKKyAgdGhlIGFmZml4IHdpdGggdGhlIHxzcGVsbC1DT01QT1VORFBFUk1JVEZMQUd8LgogCiAJCQkJCQkgICAgKnNwZWxsLVBGWFBPU1RQT05FKgogV2hlbiBhbiBhZmZpeCBmaWxlIGhhcyB2ZXJ5IG1hbnkgcHJlZml4ZXMgdGhhdCBhcHBseSB0byBtYW55IHdvcmRzIGl0J3Mgbm90CkBAIC0xMTQ2LDYgKzExMTgsMTEgQEAKIGEgdHlwaW5nIG1pc3Rha2UgYW55d2F5LiAgV2hlbiB0aGUgc2FtZSB3b3JkIGlzIGZvdW5kIGFzIGdvb2QgaXQgd29uJ3QgYmUKIGhpZ2hsaWdodGVkIGFzIHJhcmUuCiAKK1RoaXMgZmxhZyBjYW4gYWxzbyBiZSB1c2VkIG9uIGFuIGFmZml4LCBzbyB0aGF0IGEgYmFzaWMgd29yZCBpcyBub3QgcmFyZSBidXQKK3RoZSBiYXNpYyB3b3JkIHBsdXMgYWZmaXggaXMgcmFyZSB8c3BlbGwtYWZmaXgtZmxhZ3N8LiAgSG93ZXZlciwgaWYgdGhlIHdvcmQKK2Fsc28gYXBwZWFycyBhcyBhIGdvb2Qgd29yZCBpbiBhbm90aGVyIHdheSAoZS5nLiwgaW4gYW5vdGhlciByZWdpb24pIGl0IHdvbid0CitiZSBtYXJrZWQgYXMgcmFyZS4KKwogCiBCQUQgV09SRFMJCQkJCQkqc3BlbGwtQkFEKgogCkBAIC0xMjQzLDYgKzEyMjAsMTIgQEAKIAogVGhpcyBhbGxvd3MgZm9yIHRoZSB3b3JkICJzdGFydC1lbmQiLCBidXQgbm90ICJzdGFydGVuZCIuCiAKK0FuIGFkZGl0aW9uYWwgaW1wbGllZCBydWxlIGlzIHRoYXQsIHdpdGhvdXQgZnVydGhlciBmbGFncywgYSB3b3JkIHdpdGggYQorcHJlZml4IGNhbm5vdCBiZSBjb21wb3VuZGVkIGFmdGVyIGFub3RoZXIgd29yZCwgYW5kIGEgd29yZCB3aXRoIGEgc3VmZml4CitjYW5ub3QgYmUgY29tcG91bmRlZCB3aXRoIGEgZm9sbG93aW5nIHdvcmQuICBUaHVzIHRoZSBhZmZpeCBjYW5ub3QgYXBwZWFyCitvbiB0aGUgaW5zaWRlIG9mIGEgY29tcG91bmQgd29yZC4gIFRoaXMgY2FuIGJlIGNoYW5nZWQgd2l0aCB0aGUKK3xzcGVsbC1DT01QT1VORFBFUk1JVEZMQUd8LgorCiAJCQkJCQkJKnNwZWxsLU5FRURDT01QT1VORCoKIFRoZSBORUVEQ09NUE9VTkQgZmxhZyBpcyB1c2VkIHRvIHJlcXVpcmUgdGhhdCBhIHdvcmQgaXMgdXNlZCBhcyBwYXJ0IG9mIGEKIGNvbXBvdW5kIHdvcmQuICBUaGUgd29yZCBpdHNlbGYgaXMgbm90IGEgZ29vZCB3b3JkLiAgRXhhbXBsZToKQEAgLTEyODIsMTMgKzEyNjUsMjQgQEAKIAogCQkJCQkJICAgICpzcGVsbC1DT01QT1VOREZPUkJJREZMQUcqCiBUaGUgQ09NUE9VTkRGT1JCSURGTEFHIHNwZWNpZmllcyBhIGZsYWcgdGhhdCBjYW4gYmUgdXNlZCBvbiBhbiBhZmZpeC4gIEl0Ci1tZWFucyB0aGF0IHRoZSB3b3JkIHBsdXMgYWZmaXggY2Fubm90IGJlIHVzZWQgaW4gYSBjb21wb3VuZCB3b3JkLgorbWVhbnMgdGhhdCB0aGUgd29yZCBwbHVzIGFmZml4IGNhbm5vdCBiZSB1c2VkIGluIGEgY29tcG91bmQgd29yZC4gIEV4YW1wbGU6CisJYWZmaXggZmlsZToKKwkJQ09NUE9VTkRGTEFHIGMgfgorCQlDT01QT1VOREZPUkJJREZMQUcgeCB+CisJCVNGWCBhIFkgMiB+CisJCVNGWCBhIDAgcyAgIC4gfgorCQlTRlggYSAwIGl6ZS94IC4gfgorCWRpY3Rpb25hcnk6CisJCXdvcmQvYyB+CisJCXV0aWwvYWMgfgorCitUaGlzIGFsbG93cyBmb3IgIndvcmR1dGlsIiBhbmQgIndvcmR1dGlscyIgYnV0IG5vdCAid29yZHV0aWxpemUiLgogCiAJCQkJCQkgICAgKnNwZWxsLUNPTVBPVU5EUEVSTUlURkxBRyoKIFRoZSBDT01QT1VORFBFUk1JVEZMQUcgc3BlY2lmaWVzIGEgZmxhZyB0aGF0IGNhbiBiZSB1c2VkIG9uIGFuIGFmZml4LiAgSXQKIG1lYW5zIHRoYXQgdGhlIHdvcmQgcGx1cyBhZmZpeCBjYW4gYWxzbyBiZSB1c2VkIGluIGEgY29tcG91bmQgd29yZCBpbiBhIHdheQotd2hlcmUgdGhlIGFmZml4IGVuZHMgdXAgaGFsZndheSB0aGUgd29yZC4KLU5PVCBJTVBMRU1FTlRFRCBZRVQuCit3aGVyZSB0aGUgYWZmaXggZW5kcyB1cCBoYWxmd2F5IHRoZSB3b3JkLiAgV2l0aG91dCB0aGlzIGZsYWcgdGhhdCBpcyBub3QKK2FsbG93ZWQuCiAKIAkJCQkJCSAgICAqc3BlbGwtQ09NUE9VTkRST09UKgogVGhlIENPTVBPVU5EUk9PVCBmbGFnIGlzIHVzZWQgZm9yIHdvcmRzIGluIHRoZSBkaWN0aW9uYXJ5IHRoYXQgYXJlIGFscmVhZHkgYQpAQCAtMTMwOSw5ICsxMzAzLDkgQEAKIAogT25seSBjYXNlLWZvbGRlZCBsZXR0ZXJzIG5lZWQgdG8gYmUgaW5jbHVkZWQuCiAKLUFib3ZlIGFub3RoZXIgd2F5IHRvIHJlc3RyaWN0IGNvbXBvdW5kaW5nIHdhcyBtZW50aW9uZWQgYWJvdmU6IGFkZGluZyAibm9jb21wIgotYWZ0ZXIgYW4gYWZmaXggY2F1c2VzIGFsbCB3b3JkcyB0aGF0IGFyZSBtYWRlIHdpdGggdGhhdCBhZmZpeCBub3QgYmUgYmUgdXNlZAotZm9yIGNvbXBvdW5kaW5nLiB8c3BlbGwtYWZmaXgtbm9jb21wfAorQWJvdmUgYW5vdGhlciB3YXkgdG8gcmVzdHJpY3QgY29tcG91bmRpbmcgd2FzIG1lbnRpb25lZCBhYm92ZTogQWRkaW5nIHRoZQorfHNwZWxsLUNPTVBPVU5ERk9SQklERkxBR3wgZmxhZyB0byBhbiBhZmZpeCBjYXVzZXMgYWxsIHdvcmRzIHRoYXQgYXJlIG1hZGUKK3dpdGggdGhhdCBhZmZpeCBub3QgYmUgYmUgdXNlZCBmb3IgY29tcG91bmRpbmcuCiAKIAogVU5MSU1JVEVEIENPTVBPVU5ESU5HCQkJCQkqc3BlbGwtTk9CUkVBSyoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3NxbC50eHQgYi9ydW50aW1lL2RvYy9zcWwudHh0CmluZGV4IDVkMDdhNWMuLjI5YTBiY2UgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3NxbC50eHQKKysrIGIvcnVudGltZS9kb2Mvc3FsLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpzcWwudHh0KiAgIAlGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiBUdWUgTWFyIDI4IDIwMDYgOTozMzoxNCBQTQorKnNxbC50eHQqICAgCUZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IE1vbiBBcHIgMDMgMjAwNiAxMDozNDowMCBQTQogCiBieSBEYXZpZCBGaXNoYnVybgogCkBAIC0yNiw3ICsyNiw4IEBACiAgICAgICAgIDQuMy4zIENvbXBsZXRlIFByb2NlZHVyZXMJCXxzcWwtY29tcGxldGlvbi1wcm9jZWR1cmVzfAogICAgICAgICA0LjMuNCBDb21wbGV0ZSBWaWV3cwkJCXxzcWwtY29tcGxldGlvbi12aWV3c3wKICAgICA0LjQgQ29tcGxldGlvbiBDdXN0b21pemF0aW9uCQl8c3FsLWNvbXBsZXRpb24tY3VzdG9taXphdGlvbnwKLSAgICA0LjUgQ3VzdG9taXppbmcgTWFwcwkJCXxzcWwtY29tcGxldGlvbi1tYXBzfAorICAgIDQuNSBTUUwgTWFwcwkgICAgICAgIAkJfHNxbC1jb21wbGV0aW9uLW1hcHN8CisgICAgNC42IFVzaW5nIHdpdGggb3RoZXIgZmlsZXR5cGVzCQl8c3FsLWNvbXBsZXRpb24tZmlsZXR5cGVzfAogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDEuIE5hdmlnYXRpb24JICAgICAgICAJCQkqc3FsLW5hdmlnYXRpb24qCkBAIC0zMjEsNDEgKzMyMiw0OCBAQAogLS0tLS0tLS0tLS0tLS0tCiBUaGUgc3RhdGljIHBvcHVwcyBjcmVhdGVkIGNvbnRhaW4gaXRlbXMgZGVmaW5lZCBieSB0aGUgYWN0aXZlIHN5bnRheCBydWxlcwogd2hpbGUgZWRpdGluZyBhIGZpbGUgd2l0aCBhIGZpbGV0eXBlIG9mIFNRTC4gIFRoZSBwbHVnaW4gZGVmaW5lcyAoYnkgZGVmYXVsdCkKLXZhcmlvdXMgbWFwcyB0byBoZWxwIHRoZSB1c2VyIHJlZmluZSB3aGljaCBsaXN0IG9mIGl0ZW1zIHRoZXkgd2lzaCBkaXNwbGF5ZWQuCit2YXJpb3VzIG1hcHMgdG8gaGVscCB0aGUgdXNlciByZWZpbmUgdGhlIGxpc3Qgb2YgaXRlbXMgdG8gYmUgZGlzcGxheWVkLgogVGhlIGRlZmF1bHRzIHN0YXRpYyBtYXBzIGFyZTogPgotICAgICAgICBpbWFwIDxidWZmZXI+IDxDLUM+YSA8Qy1cPjxDLU8+OmxldCBiOnNxbF9jb21wbF90eXBlPSdzeW50YXgnPENSPjxDLVg+PEMtTz4KLSAgICAgICAgaW1hcCA8YnVmZmVyPiA8Qy1DPnMgPEMtXD48Qy1PPjpsZXQgYjpzcWxfY29tcGxfdHlwZT0nc3FsU3RhdGVtZW50JzxDUj48Qy1YPjxDLU8+Ci0gICAgICAgIGltYXAgPGJ1ZmZlcj4gPEMtQz5mIDxDLVw+PEMtTz46bGV0IGI6c3FsX2NvbXBsX3R5cGU9J3NxbEZ1bmN0aW9uJzxDUj48Qy1YPjxDLU8+Ci0gICAgICAgIGltYXAgPGJ1ZmZlcj4gPEMtQz5rIDxDLVw+PEMtTz46bGV0IGI6c3FsX2NvbXBsX3R5cGU9J3NxbEtleXdvcmQnPENSPjxDLVg+PEMtTz4KLSAgICAgICAgaW1hcCA8YnVmZmVyPiA8Qy1DPm8gPEMtXD48Qy1PPjpsZXQgYjpzcWxfY29tcGxfdHlwZT0nc3FsT3B0aW9uJzxDUj48Qy1YPjxDLU8+Ci0gICAgICAgIGltYXAgPGJ1ZmZlcj4gPEMtQz5UIDxDLVw+PEMtTz46bGV0IGI6c3FsX2NvbXBsX3R5cGU9J3NxbFR5cGUnPENSPjxDLVg+PEMtTz4KKyAgICBpbWFwIDxidWZmZXI+IDxDLUM+YSA8Qy1cPjxDLU8+OmNhbGwgc3FsY29tcGxldGUjTWFwKCdzeW50YXgnKTxDUj48Qy1YPjxDLU8+CisgICAgaW1hcCA8YnVmZmVyPiA8Qy1DPmsgPEMtXD48Qy1PPjpjYWxsIHNxbGNvbXBsZXRlI01hcCgnc3FsS2V5d29yZCcpPENSPjxDLVg+PEMtTz4KKyAgICBpbWFwIDxidWZmZXI+IDxDLUM+ZiA8Qy1cPjxDLU8+OmNhbGwgc3FsY29tcGxldGUjTWFwKCdzcWxGdW5jdGlvbicpPENSPjxDLVg+PEMtTz4KKyAgICBpbWFwIDxidWZmZXI+IDxDLUM+byA8Qy1cPjxDLU8+OmNhbGwgc3FsY29tcGxldGUjTWFwKCdzcWxPcHRpb24nKTxDUj48Qy1YPjxDLU8+CisgICAgaW1hcCA8YnVmZmVyPiA8Qy1DPlQgPEMtXD48Qy1PPjpjYWxsIHNxbGNvbXBsZXRlI01hcCgnc3FsVHlwZScpPENSPjxDLVg+PEMtTz4KKyAgICBpbWFwIDxidWZmZXI+IDxDLUM+cyA8Qy1cPjxDLU8+OmNhbGwgc3FsY29tcGxldGUjTWFwKCdzcWxTdGF0ZW1lbnQnKTxDUj48Qy1YPjxDLU8+CiA8IAogVGhlIHN0YXRpYyBtYXBzICh3aGljaCBhcmUgYmFzZWQgb24gdGhlIHN5bnRheCBoaWdobGlnaHQgZ3JvdXBzKSBmb2xsb3cgdGhpcwogZm9ybWF0OiA+Ci0gICAgaW1hcCA8YnVmZmVyPiA8Qy1DPmsgPEMtXD48Qy1PPjpsZXQgYjpzcWxfY29tcGxfdHlwZT0nc3FsS2V5d29yZCc8Q1I+PEMtWD48Qy1PPgorICAgIGltYXAgPGJ1ZmZlcj4gPEMtQz5rIDxDLVw+PEMtTz46Y2FsbCBzcWxjb21wbGV0ZSNNYXAoJ3NxbEtleXdvcmQnKTxDUj48Qy1YPjxDLU8+CiA8CiBUaGlzIGNvbW1hbmQgYnJlYWtzIGRvd24gYXM6ID4KICAgICBpbWFwICAgICAgICAgICAgICAgICAgIC0gQ3JlYXRlIGFuIGluc2VydCBtYXAKICAgICA8YnVmZmVyPiAgICAgICAgICAgICAgIC0gT25seSBmb3IgdGhpcyBidWZmZXIKLSAgICA8Qy1DPmsgICAgICAgICAgICAgLSBZb3VyIGNob2ljZSBvZiBrZXkgbWFwCisgICAgPEMtQz5rICAgICAgICAgICAgICAgICAtIFlvdXIgY2hvaWNlIG9mIGtleSBtYXAKICAgICA8Qy1cPjxDLU8+ICAgICAgICAgICAgIC0gRXhlY3V0ZSBvbmUgY29tbWFuZCwgcmV0dXJuIHRvIEluc2VydCBtb2RlCi0gICAgOmxldCBiOnNxbF9jb21wbF90eXBlPSAtIENob29zZSB0aGUgaGlnaGxpZ2h0IGdyb3VwJ3MgZW50cmllcyB0byBkaXNwbGF5LgorICAgIDpjYWxsIHNxbGNvbXBsZXRlI01hcCggLSBBbGxvd3MgdGhlIFNRTCBjb21wbGV0aW9uIHBsdWdpbiB0byBwZXJmb3JtIHNvbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG91c2VrZWVwaW5nIGZ1bmN0aW9ucyB0byBhbGxvdyBpdCB0byBiZSB1c2VkIGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmp1bmN0aW9uIHdpdGggb3RoZXIgY29tcGxldGlvbiBwbHVnaW5zLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRpY2F0ZSB3aGljaCBpdGVtIHlvdSB3YW50IHRoZSBTUUwgY29tcGxldGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbHVnaW4gdG8gY29tcGxldGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIHRoaXMgY2FzZSB3ZSBhcmUgYXNraW5nIHRoZSBwbHVnaW4gdG8gZGlzcGxheQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcyBmcm9tIHRoZSBzeW50YXggaGlnaGxpZ2h0IGdyb3VwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzcWxLZXl3b3JkJy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWW91IGNhbiB2aWV3IGEgbGlzdCBvZiBoaWdobGlnaHQgZ3JvdXAgbmFtZXMgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hvb3NlIGZyb20gYnkgZXhlY3V0aW5nIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnN5bnRheCBsaXN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQgd2hpbGUgZWRpdGluZyBhIFNRTCBmaWxlLgogICAgICdzcWxLZXl3b3JkJyAgICAgICAgICAgLSBEaXNwbGF5IHRoZSBpdGVtcyBmb3IgdGhlIHNxbEtleXdvcmQgaGlnaGxpZ2h0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwCi0gICAgPENSPiAgICAgICAgICAgICAgICAgICAtIEV4ZWN1dGUgdGhlIDpsZXQgY29tbWFuZAorICAgICk8Q1I+ICAgICAgICAgICAgICAgICAgLSBFeGVjdXRlIHRoZSA6bGV0IGNvbW1hbmQKICAgICA8Qy1YPjxDLU8+ICAgICAgICAgICAgIC0gVHJpZ2dlciB0aGUgc3RhbmRhcmQgb21uaSBjb21wbGV0aW9uIGtleSBzdHJva2UuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5IHNldHRpbmcgdGhlIGI6c3FsX2NvbXBsX3R5cGUgdmFyaWFibGUsIHRoaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdHJ1Y3RzIHRoZSBTUUwgY29tcGxldGlvbiBwbHVnaW4gdG8gcG9wdWxhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHBvcHVwIHdpdGggaXRlbXMgZnJvbSB0aGUgc3FsS2V5d29yZCBoaWdobGlnaHQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXAuICBUaGUgcGx1Z2luIHdpbGwgYWxzbyBjYWNoZSB0aGlzIHJlc3VsdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnRpbCBWaW0gaXMgcmVzdGFydGVkLiAgVGhlIHN5bnRheCBsaXN0IGlzIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXRyaWV2ZWQgdXNpbmcgdGhlIHN5bnRheGNvbXBsZXRlIHBsdWdpbi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc2luZyBpbiAnc3FsS2V5d29yZCcgaW5zdHJ1Y3RzIHRoZSBTUUwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbiBwbHVnaW4gdG8gcG9wdWxhdGUgdGhlIHBvcHVwIHdpdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXMgZnJvbSB0aGUgc3FsS2V5d29yZCBoaWdobGlnaHQgZ3JvdXAuICBUaGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGx1Z2luIHdpbGwgYWxzbyBjYWNoZSB0aGlzIHJlc3VsdCB1bnRpbCBWaW0gaXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdGFydGVkLiAgVGhlIHN5bnRheCBsaXN0IGlzIHJldHJpZXZlZCB1c2luZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgc3ludGF4Y29tcGxldGUgcGx1Z2luLgogPAotU2V0dGluZyBiOnNxbF9jb21wbF90eXBlID0gJ3N5bnRheCcgaXMgYSBzcGVjaWFsIGNhc2UuICBUaGlzIGluc3RydWN0cyB0aGUKK1VzaW5nIHRoZSAnc3ludGF4JyBrZXl3b3JkIGlzIGEgc3BlY2lhbCBjYXNlLiAgVGhpcyBpbnN0cnVjdHMgdGhlCiBzeW50YXhjb21wbGV0ZSBwbHVnaW4gdG8gcmV0cmlldmUgYWxsIHN5bnRheCBpdGVtcy4gIFNvIHRoaXMgd2lsbCBlZmZlY3RpdmVseQogd29yayBmb3IgYW55IG9mIFZpbSdzIFNRTCBzeW50YXggZmlsZXMuICBBdCB0aGUgdGltZSBvZiB3cml0aW5nIHRoaXMgaW5jbHVkZXMKIDEwIGRpZmZlcmVudCBzeW50YXggZmlsZXMgZm9yIHRoZSBkaWZmZXJlbnQgZGlhbGVjdHMgb2YgU1FMIChzZWUgc2VjdGlvbiAzCkBAIC0zODMsNyArMzkxLDcgQEAKIHBsdWdpbiBpbnN0YWxsZWQsIChodHRwOi8vdmltLnNvdXJjZWZvcmdlLm5ldC9zY3JpcHQucGhwP3NjcmlwdF9pZD0zNTYpLgogCiBEeW5hbWljIG1vZGUgaXMgdXNlZCBieSBzZXZlcmFsIGZlYXR1cmVzIG9mIHRoZSBTUUwgY29tcGxldGlvbiBwbHVnaW4uICAKLUFmdGVyIGluc3RhbGxpbmcgdGhlIGRiZXh0IHBsdWdpbiBzZWUgdGhlIHxkYmV4dC10dXRvcmlhbHwgZm9yIGFkZGl0aW9uYWwKK0FmdGVyIGluc3RhbGxpbmcgdGhlIGRiZXh0IHBsdWdpbiBzZWUgdGhlIGRiZXh0LXR1dG9yaWFsIGZvciBhZGRpdGlvbmFsCiBjb25maWd1cmF0aW9uIGFuZCB1c2FnZS4gIFRoZSBkYmV4dCBwbHVnaW4gYWxsb3dzIHRoZSBTUUwgY29tcGxldGlvbiBwbHVnaW4KIHRvIGRpc3BsYXkgYSBsaXN0IG9mIHRhYmxlcywgcHJvY2VkdXJlcywgdmlld3MgYW5kIGNvbHVtbnMuID4KICAgICAgVGFibGUgTGlzdApAQCAtNDAzLDkgKzQxMSw3IEBACiAgICAgIFN0b3JlZCBQcm9jZWR1cmUgTGlzdCAgLSA8Qy1DPnAKICAgICAgVmlldyBMaXN0ICAgICAgICAgICAgICAtIDxDLUM+dgogICAgICBDb2x1bW4gTGlzdCAgICAgICAgICAgIC0gPEMtQz5jCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLSAuPEMtWD48Qy1PPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gSWYgPEMtWD48Qy1PPiBpcyBwcmVzc2VkIGZvbGxvd2luZyBhIHBlcmlvZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXQgaXMgYXNzdW1lZCB5b3UgYXJlIGFza2luZyBmb3IgYSBjb2x1bW4gbGlzdC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIFdpbmRvd3MgcGxhdGZvcm0gb25seQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gV2hlbiB2aWV3aW5nIGEgcG9wdXAgd2luZG93IGRpc3BsYXlpbmcgdGhlIGxpc3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRhYmxlcywgeW91IGNhbiBwcmVzcyA8Qy1SaWdodD4sIHRoaXMgd2lsbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZSB0aGUgdGFibGUgY3VycmVudGx5IGhpZ2hsaWdodGVkIHdpdGgKQEAgLTQxOCw3ICs0MjQsNyBAQAogdGhlIHBvcHVwIHdpbmRvdy4gIFRoaXMgbWFrZXMgdGhlIHJlLWRpc3BsYXlpbmcgb2YgdGhlc2UgbGlzdHMgdmVyeQogZmFzdC4gIElmIG5ldyB0YWJsZXMgb3IgY29sdW1ucyBhcmUgYWRkZWQgdG8gdGhlIGRhdGFiYXNlIGl0IG1heSBiZWNvbWUgCiBuZWNlc3NhcnkgdG8gY2xlYXIgdGhlIHBsdWdpbnMgY2FjaGUuICBUaGUgZGVmYXVsdCBtYXAgZm9yIHRoaXMgaXM6ID4KLSAgICAgICAgaW1hcCA8YnVmZmVyPiA8Qy1DPlIgPEMtTz46bGV0IGI6c3FsX2NvbXBsX3R5cGU9J1Jlc2V0Q2FjaGUnPENSPjxDLVg+PEMtTz4KKyAgICBpbWFwIDxidWZmZXI+IDxDLUM+UiA8Qy1cPjxDLU8+OmNhbGwgc3FsY29tcGxldGUjTWFwKCdSZXNldENhY2hlJyk8Q1I+PEMtWD48Qy1PPgogPAogIAogNC4zIFNRTCBUdXRvcmlhbAkJCQkqc3FsLWNvbXBsZXRpb24tdHV0b3JpYWwqCkBAIC00NzIsNyArNDc4LDcgQEAKIGRiZXh0LnZpbSBpcyB3b3JraW5nIGFzIGV4cGVjdGVkLiAgSWYgbm90LCBwbGVhc2UgY29uc3VsdCB0aGUgZGJleHQudHh0IAogZG9jdW1lbnRhdGlvbi4KIAotQXNzdW1pbmcgeW91IGhhdmUgZm9sbG93ZWQgdGhlIHxkYmV4dC10dXRvcmlhbHwgeW91IGNhbiBwcmVzcyA8Qy1DPnQgdG8KK0Fzc3VtaW5nIHlvdSBoYXZlIGZvbGxvd2VkIHRoZSBkYmV4dC10dXRvcmlhbCB5b3UgY2FuIHByZXNzIDxDLUM+dCB0bwogZGlzcGxheSBhIGxpc3Qgb2YgdGFibGVzLiAgVGhlcmUgaXMgYSBkZWxheSB3aGlsZSBkYmV4dCBpcyBjcmVhdGluZyB0aGUgdGFibGUKIGxpc3QuICBBZnRlciB0aGUgbGlzdCBpcyBkaXNwbGF5ZWQgcHJlc3MgPEMtVz4uICBUaGlzIHdpbGwgcmVtb3ZlIGJvdGggdGhlIAogcG9wdXAgd2luZG93IGFuZCB0aGUgdGFibGUgbmFtZSBhbHJlYWR5IGNob3NlbiB3aGVuIHRoZSBsaXN0IGJlY2FtZSBhY3RpdmUuID4KQEAgLTQ5Niw3ICs1MDIsNyBAQAogdG9nZXRoZXIuICBJZiB5b3Ugd2lzaCB0byBlbmFibGUgdGhpcyBmdW5jdGlvbmFsaXR5IG9uIGEgKm5peCBwbGF0Zm9ybSBjaG9vc2UKIGEga2V5IGFuZCBjcmVhdGUgdGhpcyBtYXBwaW5nIChzZWUgfHNxbC1jb21wbGV0aW9uLW1hcHN8IGZvciBmdXJ0aGVyIAogZGV0YWlscyBvbiB3aGVyZSB0byBjcmVhdGUgdGhpcyBpbWFwKTogPgotICAgIGltYXAgPGJ1ZmZlcj4gPHlvdXJfa2V5c3Ryb2tlPiAgPENSPjxDLVw+PEMtTz46bGV0IGI6c3FsX2NvbXBsX3R5cGU9J2NvbHVtbic8Q1I+PEMtWD48Qy1PPgorICAgIGltYXAgPGJ1ZmZlcj4gPHlvdXJfa2V5c3Ryb2tlPiA8Q1I+PEMtXD48Qy1PPjpjYWxsIHNxbGNvbXBsZXRlI01hcCgnY29sdW1uJyk8Q1I+PEMtWD48Qy1PPgogPAogRXhhbXBsZSBvZiB1c2luZyBjb2x1bW4gY29tcGxldGlvbjoKICAgICAgLSBQcmVzcyA8Qy1DPnQgYWdhaW4gdG8gZGlzcGxheSB0aGUgbGlzdCBvZiB0YWJsZXMuICAKQEAgLTYxMSw5ICs2MTcsNjUgQEAKICAgICAgICAgICAgICAgICAgICBNWVRBQkxFTkFNRSAtLT4gTQogPAogIAotNC41IEN1c3RvbWl6aW5nIE1hcHMJCQkJKnNxbC1jb21wbGV0aW9uLW1hcHMqCi0tLS0tLS0tLS0tLS0tLS0tLS0tLQorNC41IFNRTCBNYXBzCSAgICAgICAgCQkJKnNxbC1jb21wbGV0aW9uLW1hcHMqCistLS0tLS0tLS0tLS0KIAorVGhlIGRlZmF1bHQgU1FMIG1hcHMgaGF2ZSBiZWVuIGRlc2NyaWJlZCBpbiBvdGhlciBzZWN0aW9ucyBvZiB0aGlzIGRvY3VtZW50IGluCitncmVhdGVyIGRldGFpbC4gIEhlcmUgaXMgYSBsaXN0IG9mIHRoZSBtYXBzIHdpdGggYSBicmllZiBkZXNjcmlwdGlvbiBvZiBlYWNoLgorCitTdGF0aWMgTWFwcworLS0tLS0tLS0tLS0KK1RoZXNlIGFyZSBtYXBzIHdoaWNoIHVzZSBwb3B1bGF0ZSB0aGUgY29tcGxldGlvbiBsaXN0IHVzaW5nIFZpbSdzIHN5bnRheAoraGlnaGxpZ2h0aW5nIHJ1bGVzLiA+CisgICAgPEMtQz5hCis8ICAgICAgIC0gRGlzcGxheXMgYWxsIFNRTCBzeW50YXggaXRlbXMuID4KKyAgICA8Qy1DPmsgCis8ICAgICAgIC0gRGlzcGxheXMgYWxsIFNRTCBzeW50YXggaXRlbXMgZGVmaW5lZCBhcyAnc3FsS2V5d29yZCcuID4KKyAgICA8Qy1DPmYgCis8ICAgICAgIC0gRGlzcGxheXMgYWxsIFNRTCBzeW50YXggaXRlbXMgZGVmaW5lZCBhcyAnc3FsRnVuY3Rpb24uID4KKyAgICA8Qy1DPm8KKzwgICAgICAgLSBEaXNwbGF5cyBhbGwgU1FMIHN5bnRheCBpdGVtcyBkZWZpbmVkIGFzICdzcWxPcHRpb24nLiA+CisgICAgPEMtQz5UCis8ICAgICAgIC0gRGlzcGxheXMgYWxsIFNRTCBzeW50YXggaXRlbXMgZGVmaW5lZCBhcyAnc3FsVHlwZScuID4KKyAgICA8Qy1DPnMKKzwgICAgICAgLSBEaXNwbGF5cyBhbGwgU1FMIHN5bnRheCBpdGVtcyBkZWZpbmVkIGFzICdzcWxTdGF0ZW1lbnQnLiA+CisKK0R5bmFtaWMgTWFwcworLS0tLS0tLS0tLS0tCitUaGVzZSBhcmUgbWFwcyB3aGljaCB1c2UgcG9wdWxhdGUgdGhlIGNvbXBsZXRpb24gbGlzdCB1c2luZyB0aGUgZGJleHQudmltIHBsdWdpbi4gPgorICAgIDxDLUM+dCAgCis8ICAgICAgIC0gRGlzcGxheXMgYSBsaXN0IG9mIHRhYmxlcy4gPgorICAgIDxDLUM+cAorPCAgICAgICAtIERpc3BsYXlzIGEgbGlzdCBvZiBwcm9jZWR1cmVzLiA+CisgICAgPEMtQz52Cis8ICAgICAgIC0gRGlzcGxheXMgYSBsaXN0IG9mIHZpZXdzLiA+CisgICAgPEMtQz5jCis8ICAgICAgIC0gRGlzcGxheXMgYSBsaXN0IG9mIGNvbHVtbnMgZm9yIGEgc3BlY2lmaWMgdGFibGUuID4KKyAgICA8Qy1DPmwKKzwgICAgICAgLSBEaXNwbGF5cyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGNvbHVtbnMgZm9yIGEgc3BlY2lmaWMgdGFibGUuID4KKyAgICA8Qy1DPkwKKzwgICAgICAgLSBEaXNwbGF5cyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGNvbHVtbnMgZm9yIGEgc3BlY2lmaWMgdGFibGUuCisgICAgICAgICAgVGhpcyBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gdGhlIGNvbXBsZXRpb24gd2luZG93IGlzIGFjdGl2ZS4gPgorICAgIDxDLVJpZ2h0PgorPCAgICAgICAtIERpc3BsYXlzIGEgbGlzdCBvZiBjb2x1bW5zIGZvciB0aGUgdGFibGUgY3VycmVudGx5IGhpZ2hsaWdodGVkIGluCisgICAgICAgICAgdGhlIGNvbXBsZXRpb24gd2luZG93LiAgPEMtUmlnaHQ+IGlzIG5vdCByZWNvZ25pemVkIG9uIG1vc3QgVW5peAorICAgICAgICAgIHN5c3RlbXMsIHNvIHRoaXMgbWFwcyBpcyBvbmx5IGNyZWF0ZWQgb24gdGhlIFdpbmRvd3MgcGxhdGZvcm0uCisgICAgICAgICAgSWYgeW91IHdvdWxkIGxpa2UgdGhlIHNhbWUgZmVhdHVyZSBvbiBVbml4LCBjaG9vc2UgYSBkaWZmZXJlbnQga2V5CisgICAgICAgICAgYW5kIG1ha2UgdGhlIHNhbWUgbWFwIGluIHlvdXIgdmltcmMuCisgICAgICAgICAgVGhpcyBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gdGhlIGNvbXBsZXRpb24gd2luZG93IGlzIGFjdGl2ZS4gPgorICAgIDxDLUxlZnQ+Cis8ICAgICAgIC0gRGlzcGxheXMgdGhlIGxpc3Qgb2YgdGFibGVzLgorICAgICAgICAgIDxDLUxlZnQ+IGlzIG5vdCByZWNvZ25pemVkIG9uIG1vc3QgVW5peCBzeXN0ZW1zLCBzbyB0aGlzIG1hcHMgaXMKKyAgICAgICAgICBvbmx5IGNyZWF0ZWQgb24gdGhlIFdpbmRvd3MgcGxhdGZvcm0uICBJZiB5b3Ugd291bGQgbGlrZSB0aGUgc2FtZQorICAgICAgICAgIGZlYXR1cmUgb24gVW5peCwgY2hvb3NlIGEgZGlmZmVyZW50IGtleSBhbmQgbWFrZSB0aGUgc2FtZSBtYXAgaW4KKyAgICAgICAgICB5b3VyIHZpbXJjLgorICAgICAgICAgIFRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIHRoZSBjb21wbGV0aW9uIHdpbmRvdyBpcyBhY3RpdmUuID4KKyAgICA8Qy1DPlIKKzwgICAgICAgLSBUaGlzIG1hcHMgcmVtb3ZlcyBhbGwgY2FjaGVkIGl0ZW1zIGFuZCBmb3JjZXMgdGhlIFNRTCBjb21wbGV0aW9uIAorICAgICAgICAgIHRvIHJlZ2VuZXJhdGUgdGhlIGxpc3Qgb2YgaXRlbXMuCisKK0N1c3RvbWl6aW5nIE1hcHMKKy0tLS0tLS0tLS0tLS0tLS0KIFlvdSBjYW4gY3JlYXRlIGFzIG1hbnkgYWRkaXRpb25hbCBrZXkgbWFwcyBhcyB5b3UgbGlrZS4gIEdlbmVyYWxseSwgdGhlIG1hcHMKIHdpbGwgYmUgc3BlY2lmeWluZyBkaWZmZXJlbnQgc3ludGF4IGhpZ2hsaWdodCBncm91cHMuICAKIApAQCAtNjI0LDcgKzY4Niw3IEBACiA8IAogRG8gbm8gZWRpdCBmdHBsdWdpbi9zcWwudmltIGRpcmVjdGx5ISAgSWYgeW91IGNoYW5nZSB0aGlzIGZpbGUgeW91ciBjaGFuZ2VzCiB3aWxsIGJlIG92ZXIgd3JpdHRlbiBvbiBmdXR1cmUgdXBkYXRlcy4gIFZpbSBoYXMgYSBzcGVjaWFsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUKLXRoYXQgYWxsb3dzIHlvdSB0byBtYWtlIGN1c3RvbWl6YXRpb25zIHdpdGhvdXQgY2hhbmdpbmcgdGhlIGZpbGVzIHRoYXQgYXJlCit3aGljaCBhbGxvd3MgeW91IHRvIG1ha2UgY3VzdG9taXphdGlvbnMgd2l0aG91dCBjaGFuZ2luZyB0aGUgZmlsZXMgdGhhdCBhcmUKIGluY2x1ZGVkIHdpdGggdGhlIFZpbSBkaXN0cmlidXRpb24uICBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgdGhlIG1hcHMKIGNyZWF0ZSBhbiBhZnRlci9mdHBsdWdpbi9zcWwudmltIChzZWUgfGFmdGVyLWRpcmVjdG9yeXwpIGFuZCBwbGFjZSB0aGUgc2FtZQogbWFwcyBmcm9tIHRoZSBmdHBsdWdpbi9zcWwudmltIGluIGl0IHVzaW5nIHlvdXIgb3duIGtleSBzdHJva2VzLiAgPEMtQz4gd2FzCkBAIC02MzIsNCArNjk0LDQ0IEBACiBwbGF0Zm9ybSB5b3UgY2FuIGFsc28gdXNlIDxDLVNwYWNlPiBvciBBTFQga2V5cy4KICAKIAorNC42IFVzaW5nIHdpdGggb3RoZXIgZmlsZXR5cGVzCQkgICAgICAgICpzcWwtY29tcGxldGlvbi1maWxldHlwZXMqCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworTWFueSB0aW1lcyBTUUwgY2FuIGJlIHVzZWQgd2l0aCBkaWZmZXJlbnQgZmlsZXR5cGVzLiAgRm9yIGV4YW1wbGUgUGVybCwgSmF2YSwKK1BIUCwgSmF2YXNjcmlwdCBjYW4gYWxsIGludGVyYWN0IHdpdGggYSBkYXRhYmFzZS4gIE9mdGVuIHlvdSBuZWVkIGJvdGggdGhlIFNRTAorY29tcGxldGlvbiBhcyB3ZWxsIGFzIHRoZSBjb21wbGV0aW9uIGNhcGFiaWxpdGllcyBmb3IgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgeW91CithcmUgZWRpdGluZy4KKworVGhpcyBjYW4gYmUgZW5hYmxlZCBlYXNpbHkgd2l0aCB0aGUgZm9sbG93aW5nIHN0ZXBzIChhc3N1bWluZyBhIFBlcmwgZmlsZSk6ID4KKyAgICAxLiAgOmUgdGVzdC5wbAorICAgIDIuICA6c2V0IGZpbGV0eXBlPXNxbAorICAgIDMuICA6c2V0IGZ0PXBlcmwKKworU3RlcCAxCistLS0tLS0KK0JlZ2lucyBieSBlZGl0aW5nIGEgUGVybCBmaWxlLiAgVmltIGF1dG9tYXRpY2FsbHkgc2V0cyB0aGUgZmlsZXR5cGUgdG8KKyJwZXJsIi4gIEJ5IGRlZmF1bHQsIFZpbSBydW5zIHRoZSBhcHByb3ByaWF0ZSBmaWxldHlwZSBmaWxlCitmdHBsdWdpbi9wZXJsLnZpbS4gIElmIHlvdSBhcmUgdXNpbmcgdGhlIHN5bnRheCBjb21wbGV0aW9uIHBsdWdpbiBieSBmb2xsb3dpbmcKK3RoZSBkaXJlY3Rpb25zIGF0IHxmdC1zeW50YXgtb21uaXwgdGhlbiB0aGUgfCdvbW5pZnVuYyd8IG9wdGlvbiBoYXMgYmVlbiBzZXQgdG8KKyJzeW50YXgjQ29tcGxldGUiLiAgUHJlc3NpbmcgPEMtWD48Qy1PPiB3aWxsIGRpc3BsYXkgdGhlIG9tbmkgcG9wdXAgY29udGFpbmluZwordGhlIHN5bnRheCBpdGVtcyBmb3IgUGVybC4KKworU3RlcCAyCistLS0tLS0KK01hbnVhbGx5IHNldHRpbmcgdGhlIGZpbGV0eXBlIHRvICdzcWwnIHdpbGwgYWxzbyBmaXJlIHRoZSBhcHByb3ByaWF0ZSBmaWxldHlwZQorZmlsZXMgZnRwbHVnaW4vc3FsLnZpbS4gIFRoaXMgZmlsZSB3aWxsIGRlZmluZSBhIG51bWJlciBvZiBidWZmZXIgc3BlY2lmaWMKK21hcHMgZm9yIFNRTCBjb21wbGV0aW9uLCBzZWUgfHNxbC1jb21wbGV0aW9uLW1hcHN8LiAgTm93IHRoZXNlIG1hcHMgaGF2ZQorYmVlbiBjcmVhdGVkIGFuZCB0aGUgU1FMIGNvbXBsZXRpb24gcGx1Z2luIGhhcyBiZWVuIGluaXRpYWxpemVkLiAgQWxsIFNRTAorc3ludGF4IGl0ZW1zIGhhdmUgYmVlbiBjYWNoZWQgaW4gcHJlcGFyYXRpb24uICBUaGUgU1FMIGZpbGV0eXBlIHNjcmlwdCBkZXRlY3RzCit3ZSBhcmUgYXR0ZW1wdGluZyB0byB1c2UgdHdvIGRpZmZlcmVudCBjb21wbGV0aW9uIHBsdWdpbnMuICBTaW5jZSB0aGUgU1FMIG1hcHMKK2JlZ2luIHdpdGggPEMtQz4sIHRoZSBtYXBzIHdpbGwgdG9nZ2xlIHRoZSB8J29tbmlmdW5jJ3wgd2hlbiBpbiB1c2UuICBTbyB5b3UKK2NhbiB1c2UgPEMtWD48Qy1PPiB0byBjb250aW51ZSB1c2luZyB0aGUgY29tcGxldGlvbiBmb3IgUGVybCAodXNpbmcgdGhlIHN5bnRheAorY29tcGxldGlvbiBwbHVnaW4pIGFuZCA8Qy1DPiB0byB1c2UgdGhlIFNRTCBjb21wbGV0aW9uIGZlYXR1cmVzLgorCitTdGVwIDMKKy0tLS0tLQorU2V0dGluZyB0aGUgZmlsZXR5cGUgYmFjayB0byBQZXJsIHNldHMgYWxsIHRoZSB1c3VhbCAicGVybCIgcmVsYXRlZCBpdGVtcyBiYWNrCithcyB0aGV5IHdlcmUuCisgICAgIAorCiB2aW06dHc9Nzg6dHM9ODpmdD1oZWxwOm5vcmw6CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9zdGFydGluZy50eHQgYi9ydW50aW1lL2RvYy9zdGFydGluZy50eHQKaW5kZXggYzBmMmEwMy4uNGNhMjEzOSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvc3RhcnRpbmcudHh0CisrKyBiL3J1bnRpbWUvZG9jL3N0YXJ0aW5nLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpzdGFydGluZy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAyNgorKnN0YXJ0aW5nLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDAyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC00MTMsNyArNDEzLDcgQEAKIAkJcHJvY2VzcyBhbmQgZXhpdHMgdGhlIGN1cnJlbnQgb25lLiAgIi1mIiBzaG91bGQgYmUgdXNlZCB3aGVuCiAJCWd2aW0gaXMgc3RhcnRlZCBieSBhIHByb2dyYW0gdGhhdCB3aWxsIHdhaXQgZm9yIHRoZSBlZGl0CiAJCXNlc3Npb24gdG8gZmluaXNoIChlLmcuLCBtYWlsIG9yIHJlYWRuZXdzKS4gIElmIHlvdSB3YW50IGd2aW0KLQkJbmV2ZXIgdG8gZm9yaywgaW5jbHVkZSAnZicgaW4gJ2d1aW9wdGlvbnMnIGluIHlvdXIgLmd2aW1yYy4KKwkJbmV2ZXIgdG8gZm9yaywgaW5jbHVkZSAnZicgaW4gJ2d1aW9wdGlvbnMnIGluIHlvdXIgfGd2aW1yY3wuCiAJCUNhcmVmdWw6IFlvdSBjYW4gdXNlICItZ2YiIHRvIHN0YXJ0IHRoZSBHVUkgaW4gdGhlIGZvcmVncm91bmQsCiAJCWJ1dCAiLWZnIiBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIGZvcmVncm91bmQgY29sb3IuICB8Z3VpLWZvcmt8CiAJCXtub3QgaW4gVml9CkBAIC00MzAsNyArNDMwLDcgQEAKIDwJCUFsc28gY29uc2lkZXIgdXNpbmcgYXV0b2NvbW1hbmRzOyBzZWUgfGF1dG9jb21tYW5kfC4KIAkJV2hlbiB7dmltcmN9IGlzIGVxdWFsIHRvICJOT05FIiAoYWxsIHVwcGVyY2FzZSksIGFsbAogCQlpbml0aWFsaXphdGlvbnMgZnJvbSBmaWxlcyBhbmQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZQotCQlza2lwcGVkLCBpbmNsdWRpbmcgcmVhZGluZyB0aGUgLmd2aW1yYyBmaWxlIHdoZW4gdGhlIEdVSQorCQlza2lwcGVkLCBpbmNsdWRpbmcgcmVhZGluZyB0aGUgfGd2aW1yY3wgZmlsZSB3aGVuIHRoZSBHVUkKIAkJc3RhcnRzLiAgTG9hZGluZyBwbHVnaW5zIGlzIGFsc28gc2tpcHBlZC4KIAkJV2hlbiB7dmltcmN9IGlzIGVxdWFsIHRvICJOT1JDIiAoYWxsIHVwcGVyY2FzZSksIHRoaXMgaGFzIHRoZQogCQlzYW1lIGVmZmVjdCBhcyAiTk9ORSIsIGJ1dCBsb2FkaW5nIHBsdWdpbnMgaXMgbm90IHNraXBwZWQuCkBAIC00NDAsNyArNDQwLDcgQEAKIAkJe25vdCBpbiBWaX0KIAogCQkJCQkJCSotVSogKkUyMzAqCi0tVSB7Z3ZpbXJjfQlUaGUgZmlsZSAiZ3ZpbXJjIiBpcyByZWFkIGZvciBpbml0aWFsaXphdGlvbnMgd2hlbiB0aGUgR1VJCistVSB7Z3ZpbXJjfQlUaGUgZmlsZSB7Z3ZpbXJjfSBpcyByZWFkIGZvciBpbml0aWFsaXphdGlvbnMgd2hlbiB0aGUgR1VJCiAJCXN0YXJ0cy4gIE90aGVyIEdVSSBpbml0aWFsaXphdGlvbnMgYXJlIHNraXBwZWQuICBXaGVuIHtndmltcmN9CiAJCWlzIGVxdWFsIHRvICJOT05FIiwgbm8gZmlsZSBpcyByZWFkIGZvciBHVUkgaW5pdGlhbGl6YXRpb25zIGF0CiAJCWFsbC4gIHxndWktaW5pdHwKQEAgLTc2MSw3ICs3NjEsOCBAQAogCiAJCQkgICpWSU1JTklUKiAqLnZpbXJjKiAqX3ZpbXJjKiAqRVhJTklUKiAqLmV4cmMqICpfZXhyYyoKICAgICAgYy4gRm91ciBwbGFjZXMgYXJlIHNlYXJjaGVkIGZvciBpbml0aWFsaXphdGlvbnMuICBUaGUgZmlyc3QgdGhhdCBleGlzdHMKLQlpcyB1c2VkLCB0aGUgb3RoZXJzIGFyZSBpZ25vcmVkLgorCWlzIHVzZWQsIHRoZSBvdGhlcnMgYXJlIGlnbm9yZWQuICBUaGUgJE1ZVklNUkMgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMKKwlzZXQgdG8gdGhlIGZpbGUgdGhhdCB3YXMgZmlyc3QgZm91bmQsIHVubGVzcyAkTVlWSU1SQyB3YXMgYWxyZWFkeSBzZXQuCiAJLSAgVGhlIGVudmlyb25tZW50IHZhcmlhYmxlIFZJTUlOSVQgKHNlZSBhbHNvIHxjb21wYXRpYmxlLWRlZmF1bHR8KSAoKikKIAkgICBUaGUgdmFsdWUgb2YgJFZJTUlOSVQgaXMgdXNlZCBhcyBhbiBFeCBjb21tYW5kIGxpbmUuCiAJLSAgVGhlIHVzZXIgdmltcmMgZmlsZShzKToKQEAgLTkwNSw3ICs5MDYsOCBAQAogbm90IGJlZW4gc2V0IG9yIHJlc2V0IHdpbGwgYmUgY2hhbmdlZC4gIFRoaXMgaGFzIHRoZSBzYW1lIGVmZmVjdCBsaWtlIHRoZQogdmFsdWUgb2YgJ2NvbXBhdGlibGUnIGhhZCB0aGlzIHZhbHVlIHdoZW4gc3RhcnRpbmcgVmltLiAgTm90ZSB0aGF0IHRoaXMKIGRvZXNuJ3QgaGFwcGVuIGZvciB0aGUgc3lzdGVtLXdpZGUgdmltcmMgZmlsZS4gIEl0IGRvZXMgYWxzbyBoYXBwZW4gZm9yIGd2aW1yYwotZmlsZXMuCitmaWxlcy4gIFRoZSAkTVlWSU1SQyBvciAkTVlHVklNUkMgZmlsZSB3aWxsIGJlIHNldCB0byB0aGUgZmlyc3QgZm91bmQgdmltcmMKK2FuZC9vciBndmltcmMgZmlsZS4KIAogQnV0IHRoZXJlIGlzIGEgc2lkZSBlZmZlY3Qgb2Ygc2V0dGluZyBvciByZXNldHRpbmcgJ2NvbXBhdGlibGUnIGF0IHRoZSBtb21lbnQKIGEgLnZpbXJjIGZpbGUgaXMgZm91bmQ6IE1hcHBpbmdzIGFyZSBpbnRlcnByZXRlZCB0aGUgbW9tZW50IHRoZXkgYXJlCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9zeW50YXgudHh0IGIvcnVudGltZS9kb2Mvc3ludGF4LnR4dAppbmRleCAwZDAzN2Q2Li5hMGE1YjhkIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9zeW50YXgudHh0CisrKyBiL3J1bnRpbWUvZG9jL3N5bnRheC50eHQKQEAgLTEsNCArMSw0IEBACi0qc3ludGF4LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMjgKKypzeW50YXgudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC04MSwxNCArODEsMTQgQEAKIAogTk9URTogV2hlbiB1c2luZyByZXZlcnNlIHZpZGVvICgiZ3ZpbSAtZmcgd2hpdGUgLWJnIGJsYWNrIiksIHRoZSBkZWZhdWx0IHZhbHVlCiBvZiAnYmFja2dyb3VuZCcgd2lsbCBub3QgYmUgc2V0IHVudGlsIHRoZSBHVUkgd2luZG93IGlzIG9wZW5lZCwgd2hpY2ggaXMgYWZ0ZXIKLXJlYWRpbmcgdGhlIC5ndmltcmMuICBUaGlzIHdpbGwgY2F1c2UgdGhlIHdyb25nIGRlZmF1bHQgaGlnaGxpZ2h0aW5nIHRvIGJlCityZWFkaW5nIHRoZSB8Z3ZpbXJjfC4gIFRoaXMgd2lsbCBjYXVzZSB0aGUgd3JvbmcgZGVmYXVsdCBoaWdobGlnaHRpbmcgdG8gYmUKIHVzZWQuICBUbyBzZXQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJ2JhY2tncm91bmQnIGJlZm9yZSBzd2l0Y2hpbmcgb24KLWhpZ2hsaWdodGluZywgaW5jbHVkZSB0aGUgIjpndWkiIGNvbW1hbmQgaW4gdGhlIC5ndmltcmM6ID4KK2hpZ2hsaWdodGluZywgaW5jbHVkZSB0aGUgIjpndWkiIGNvbW1hbmQgaW4gdGhlIHxndmltcmN8OiA+CiAKICAgIDpndWkJCSIgb3BlbiB3aW5kb3cgYW5kIHNldCBkZWZhdWx0IGZvciAnYmFja2dyb3VuZCcKICAgIDpzeW50YXggb24JIiBzdGFydCBoaWdobGlnaHRpbmcsIHVzZSAnYmFja2dyb3VuZCcgdG8gc2V0IGNvbG9ycwogCi1OT1RFOiBVc2luZyAiOmd1aSIgaW4gdGhlIC5ndmltcmMgbWVhbnMgdGhhdCAiZ3ZpbSAtZiIgd29uJ3Qgc3RhcnQgaW4gdGhlCitOT1RFOiBVc2luZyAiOmd1aSIgaW4gdGhlIHxndmltcmN8IG1lYW5zIHRoYXQgImd2aW0gLWYiIHdvbid0IHN0YXJ0IGluIHRoZQogZm9yZWdyb3VuZCEgIFVzZSAiOmd1aSAtZiIgdGhlbi4KIAogCkBAIC0xMDEzLDEwICsxMDEzLDEwIEBACiBmaXhlZCBzb3VyY2UgZm9ybSBpZiB0aGUgZm9ydHJhbl9maXhlZF9zb3VyY2UgdmFyaWFibGUgaGFzIGJlZW4gc2V0LiAgSWYKIG5laXRoZXIgb2YgdGhlc2UgdmFyaWFibGVzIGhhdmUgYmVlbiBzZXQsIHRoZSBzeW50YXggc2NyaXB0IGF0dGVtcHRzIHRvCiBkZXRlcm1pbmUgd2hpY2ggc291cmNlIGZvcm0gaGFzIGJlZW4gdXNlZCBieSBleGFtaW5pbmcgdGhlIGZpcnN0IGZpdmUgY29sdW1ucwotb2YgdGhlIGZpcnN0IDI1IGxpbmVzIG9mIHlvdXIgZmlsZS4gIElmIG5vIHNpZ25zIG9mIGZyZWUgc291cmNlIGZvcm0gYXJlCitvZiB0aGUgZmlyc3QgMjUwIGxpbmVzIG9mIHlvdXIgZmlsZS4gIElmIG5vIHNpZ25zIG9mIGZyZWUgc291cmNlIGZvcm0gYXJlCiBkZXRlY3RlZCwgdGhlbiB0aGUgZmlsZSBpcyBhc3N1bWVkIHRvIGJlIGluIGZpeGVkIHNvdXJjZSBmb3JtLiAgVGhlIGFsZ29yaXRobQogc2hvdWxkIHdvcmsgaW4gdGhlIHZhc3QgbWFqb3JpdHkgb2YgY2FzZXMuICBJbiBzb21lIGNhc2VzLCBzdWNoIGFzIGEgZmlsZSB0aGF0Ci1iZWdpbnMgd2l0aCAyNSBvciBtb3JlIGZ1bGwtbGluZSBjb21tZW50cywgdGhlIHNjcmlwdCBtYXkgaW5jb3JyZWN0bHkgZGVjaWRlCitiZWdpbnMgd2l0aCAyNTAgb3IgbW9yZSBmdWxsLWxpbmUgY29tbWVudHMsIHRoZSBzY3JpcHQgbWF5IGluY29ycmVjdGx5IGRlY2lkZQogdGhhdCB0aGUgZm9ydHJhbiBjb2RlIGlzIGluIGZpeGVkIGZvcm0uICBJZiB0aGF0IGhhcHBlbnMsIGp1c3QgYWRkIGEKIG5vbi1jb21tZW50IHN0YXRlbWVudCBiZWdpbm5pbmcgYW55d2hlcmUgaW4gdGhlIGZpcnN0IGZpdmUgY29sdW1ucyBvZiB0aGUKIGZpcnN0IHR3ZW50eSBmaXZlIGxpbmVzLCBzYXZlICg6dykgYW5kIHRoZW4gcmVsb2FkICg6ZSEpIHRoZSBmaWxlLgpAQCAtMjMwNCw3ICsyMzA0LDcgQEAKIAogU0gJCSpzaC52aW0qICpmdC1zaC1zeW50YXgqICpmdC1iYXNoLXN5bnRheCogKmZ0LWtzaC1zeW50YXgqCiAKLVRoaXMgY292ZXJzIHRoZSAibm9ybWFsIiBVbml4IChCb3VybmUpIHNoLCBiYXNoIGFuZCB0aGUgS29ybiBzaGVsbC4KK1RoaXMgY292ZXJzIHRoZSAibm9ybWFsIiBVbml4IChCb3JuZSkgc2gsIGJhc2ggYW5kIHRoZSBLb3JuIHNoZWxsLgogCiBWaW0gYXR0ZW1wdHMgdG8gZGV0ZXJtaW5lIHdoaWNoIHNoZWxsIHR5cGUgaXMgaW4gdXNlIGJ5IHNwZWNpZnlpbmcgdGhhdAogdmFyaW91cyBmaWxlbmFtZXMgYXJlIG9mIHNwZWNpZmljIHR5cGVzOiA+CkBAIC0yMzI4LDYgKzIzMjgsMTEgQEAKIDwgICBzaDogPgogCWxldCBpc19zaAkgPSAxCiAKK0lmIHRoZXJlJ3Mgbm8gIiMhIC4uLiIgbGluZSwgYW5kIHRoZSB1c2VyIGhhc24ndCBhdmFpbGVkIGhpbXNlbGYvaGVyc2VsZiBvZiBhCitkZWZhdWx0IHNoLnZpbSBzeW50YXggc2V0dGluZyBhcyBqdXN0IHNob3duLCB0aGVuIHN5bnRheC9zaC52aW0gd2lsbCBhc3N1bWUKK3RoZSBCb3JuZSBzaGVsbCBzeW50YXguICBObyBuZWVkIHRvIHF1b3RlIFJGQ3Mgb3IgbWFya2V0IHBlbmV0cmF0aW9uCitzdGF0aXN0aWNzIGluIGVycm9yIHJlcG9ydHMsIHBsZWFzZS4KKwogSWYsIGluIHlvdXIgPC52aW1yYz4sIHlvdSBzZXQgPgogCWxldCBnOnNoX2ZvbGRfZW5hYmxlZD0gMQogPgpAQCAtMzc2MCw3ICszNzY1LDcgQEAKIAloYXZlIHRoZSBzYW1lIGVmZmVjdC4KIAkidW5kZXJjdXJsIiBpcyBhIGN1cmx5IHVuZGVybGluZS4gIFdoZW4gInVuZGVyY3VybCIgaXMgbm90IHBvc3NpYmxlCiAJdGhlbiAidW5kZXJsaW5lIiBpcyB1c2VkLiAgSW4gZ2VuZXJhbCAidW5kZXJjdXJsIiBpcyBvbmx5IGF2YWlsYWJsZSBpbgotCXRoZSBHVUkuCisJdGhlIEdVSS4gIFRoZSBjb2xvciBpcyBzZXQgd2l0aCB8aGlnaGxpZ2h0LWd1aXNwfC4KIAogc3RhcnQ9e3Rlcm0tbGlzdH0JCQkJKmhpZ2hsaWdodC1zdGFydCogKkU0MjIqCiBzdG9wPXt0ZXJtLWxpc3R9CQkJCSp0ZXJtLWxpc3QqICpoaWdobGlnaHQtc3RvcCoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RhYnBhZ2UudHh0IGIvcnVudGltZS9kb2MvdGFicGFnZS50eHQKaW5kZXggODdiNDJjMC4uZGI1MWQ4NCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdGFicGFnZS50eHQKKysrIGIvcnVudGltZS9kb2MvdGFicGFnZS50eHQKQEAgLTEsNCArMSw0IEBACi0qdGFicGFnZS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMDMKKyp0YWJwYWdlLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAzMQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTE5LDEyICsxMTksMTQgQEAKIGxhYmVsIHRvIHN3aXRjaCB0byB0aGF0IHRhYiBwYWdlLiAgQ2xpY2sgd2hlcmUgdGhlcmUgaXMgbm8gbGFiZWwgdG8gZ28gdG8gdGhlCiBuZXh0IHRhYiBwYWdlLiAgfCd0YWJsaW5lJ3wKIAotOnRhYm5bZXh0XQkJCQkJKjp0YWJuKiAqOnRhYm5leHQqICpndCoKLWd0CQlHbyB0byB0aGUgbmV4dCB0YWIgcGFnZS4gIFdyYXBzIGFyb3VuZCBmcm9tIHRoZSBsYXN0IHRvIHRoZQorOnRhYm5bZXh0XQkJCQkqOnRhYm4qICo6dGFibmV4dCogKmd0KgorZ3QJCQkJCSpDVFJMLTxQYWdlRG93bj4qICo8Qy1QYWdlRG93bj4qCis8Qy1QYWdlRG93bj4JR28gdG8gdGhlIG5leHQgdGFiIHBhZ2UuICBXcmFwcyBhcm91bmQgZnJvbSB0aGUgbGFzdCB0byB0aGUKIAkJZmlyc3Qgb25lLgogCiA6dGFibltleHRdIHtjb3VudH0KLXtjb3VudH1ndAlHbyB0byB0YWIgcGFnZSB7Y291bnR9LiAgVGhlIGZpcnN0IHRhYiBwYWdlIGhhcyBudW1iZXIgb25lLgore2NvdW50fWd0CQkJCSpDVFJMLTxQYWdlVXA+KiAqPEMtUGFnZVVwPioKKzxDLVBhZ2VVcD4JR28gdG8gdGFiIHBhZ2Uge2NvdW50fS4gIFRoZSBmaXJzdCB0YWIgcGFnZSBoYXMgbnVtYmVyIG9uZS4KIAogCiA6dGFicFtyZXZpb3VzXQkJCQkqOnRhYnAqICo6dGFicHJldmlvdXMqICpnVCoKQEAgLTE5OCw2ICsyMDAsOCBAQAogd2l0aGluIG9uZSB0YWIgcGFnZS4gIE90aGVyIHRhYiBwYWdlcyBjYW4gc2hvdyBkaWZmZXJlbmNlcyBiZXR3ZWVuIG90aGVyCiBmaWxlcy4KIAorVmFyaWFibGVzIGxvY2FsIHRvIGEgdGFiIHBhZ2Ugc3RhcnQgd2l0aCAidDoiLiB8dGFicGFnZS12YXJpYWJsZXwKKwogVGhlIFRhYkxlYXZlIGFuZCBUYWJFbnRlciBhdXRvY29tbWFuZCBldmVudHMgY2FuIGJlIHVzZWQgdG8gZG8gc29tZXRoaW5nIHdoZW4KIHN3aXRjaGluZyBmcm9tIG9uZSB0YWIgcGFnZSB0byBhbm90aGVyLiAgVGhlIGV4YWN0IG9yZGVyIGRlcGVuZHMgb24gd2hhdCB5b3UKIGFyZSBkb2luZy4gIFdoZW4gY3JlYXRpbmcgYSBuZXcgdGFiIHBhZ2UgdGhpcyB3b3JrcyBhcyBpZiB5b3UgY3JlYXRlIGEgbmV3CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90YWdzIGIvcnVudGltZS9kb2MvdGFncwppbmRleCAzMmUyZjBiLi4zZTJkZTQ4IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90YWdzCisrKyBiL3J1bnRpbWUvZG9jL3RhZ3MKQEAgLTEwNDIsNiArMTA0Miw3IEBACiArK2JhZAllZGl0aW5nLnR4dAkvKisrYmFkKgogKytiaW4JZWRpdGluZy50eHQJLyorK2JpbioKICsrYnVpbHRpbl90ZXJtcwl2YXJpb3VzLnR4dAkvKisrYnVpbHRpbl90ZXJtcyoKKysrZWRpdAllZGl0aW5nLnR4dAkvKisrZWRpdCoKICsrZW5jCWVkaXRpbmcudHh0CS8qKytlbmMqCiArK2ZmCWVkaXRpbmcudHh0CS8qKytmZioKICsrbm9iaW4JZWRpdGluZy50eHQJLyorK25vYmluKgpAQCAtMTY1NSw3ICsxNjU2LDYgQEAKIDQ1LjMJdXNyXzQ1LnR4dAkvKjQ1LjMqCiA0NS40CXVzcl80NS50eHQJLyo0NS40KgogNDUuNQl1c3JfNDUudHh0CS8qNDUuNSoKLTc1NQlzcGVsbC50eHQJLyo3NTUqCiA4ZzgJdmFyaW91cy50eHQJLyo4ZzgqCiA5MC4xCXVzcl85MC50eHQJLyo5MC4xKgogOTAuMgl1c3JfOTAudHh0CS8qOTAuMioKQEAgLTE2NzYsNiArMTY3Niw4IEBACiA6LgljbWRsaW5lLnR4dAkvKjouKgogOi8JY21kbGluZS50eHQJLyo6XC8qCiA6MGZpbGUJZWRpdGluZy50eHQJLyo6MGZpbGUqCis6Mm1hdGNoCXBhdHRlcm4udHh0CS8qOjJtYXRjaCoKKzozbWF0Y2gJcGF0dGVybi50eHQJLyo6M21hdGNoKgogOjouCWNtZGxpbmUudHh0CS8qOjouKgogOjo4CWNtZGxpbmUudHh0CS8qOjo4KgogOjplCWNtZGxpbmUudHh0CS8qOjplKgpAQCAtMjkwOSw4ICsyOTExLDggQEAKIDxDLUxlZnRNb3VzZT4JdGFnc3JjaC50eHQJLyo8Qy1MZWZ0TW91c2U+KgogPEMtTW91c2VEb3duPglzY3JvbGwudHh0CS8qPEMtTW91c2VEb3duPioKIDxDLU1vdXNlVXA+CXNjcm9sbC50eHQJLyo8Qy1Nb3VzZVVwPioKLTxDLVBhZ2VEb3duPglvc19kb3MudHh0CS8qPEMtUGFnZURvd24+KgotPEMtUGFnZVVwPglvc19kb3MudHh0CS8qPEMtUGFnZVVwPioKKzxDLVBhZ2VEb3duPgl0YWJwYWdlLnR4dAkvKjxDLVBhZ2VEb3duPioKKzxDLVBhZ2VVcD4JdGFicGFnZS50eHQJLyo8Qy1QYWdlVXA+KgogPEMtUmlnaHQ+CW1vdGlvbi50eHQJLyo8Qy1SaWdodD4qCiA8Qy1SaWdodE1vdXNlPgl0YWdzcmNoLnR4dAkvKjxDLVJpZ2h0TW91c2U+KgogPENSPgltb3Rpb24udHh0CS8qPENSPioKQEAgLTMxMTgsNiArMzEyMCw4IEBACiBDT01TUEVDCXN0YXJ0aW5nLnR4dAkvKkNPTVNQRUMqCiBDUi11c2VkLWZvci1OTAlwYXR0ZXJuLnR4dAkvKkNSLXVzZWQtZm9yLU5MKgogQ1RSTC02CWVkaXRpbmcudHh0CS8qQ1RSTC02KgorQ1RSTC08UGFnZURvd24+CXRhYnBhZ2UudHh0CS8qQ1RSTC08UGFnZURvd24+KgorQ1RSTC08UGFnZVVwPgl0YWJwYWdlLnR4dAkvKkNUUkwtPFBhZ2VVcD4qCiBDVFJMLUEJY2hhbmdlLnR4dAkvKkNUUkwtQSoKIENUUkwtQglzY3JvbGwudHh0CS8qQ1RSTC1CKgogQ1RSTC1DCXBhdHRlcm4udHh0CS8qQ1RSTC1DKgpAQCAtMzk2MSw2ICszOTY1LDcgQEAKIEU3NTIJc3BlbGwudHh0CS8qRTc1MioKIEU3NTMJc3BlbGwudHh0CS8qRTc1MyoKIEU3NTQJc3BlbGwudHh0CS8qRTc1NCoKK0U3NTUJc3BlbGwudHh0CS8qRTc1NSoKIEU3NTYJc3BlbGwudHh0CS8qRTc1NioKIEU3NTcJb3B0aW9ucy50eHQJLypFNzU3KgogRTc1OAlzcGVsbC50eHQJLypFNzU4KgpAQCAtMzk5NCw2ICszOTk5LDkgQEAKIEU3ODMJc3BlbGwudHh0CS8qRTc4MyoKIEU3ODQJdGFicGFnZS50eHQJLypFNzg0KgogRTc4NQlldmFsLnR4dAkvKkU3ODUqCitFNzg2CWV2YWwudHh0CS8qRTc4NioKK0U3ODcJZGlmZi50eHQJLypFNzg3KgorRTc4OAlhdXRvY21kLnR4dAkvKkU3ODgqCiBFNzkJbWVzc2FnZS50eHQJLypFNzkqCiBFODAJbWVzc2FnZS50eHQJLypFODAqCiBFODAwCWFyYWJpYy50eHQJLypFODAwKgpAQCAtNDQyOCw2ICs0NDM2LDcgQEAKIGFsdC1pbnB1dAlkZWJ1Z2dlci50eHQJLyphbHQtaW5wdXQqCiBhbHRlcm5hdGUtZmlsZQllZGl0aW5nLnR4dAkvKmFsdGVybmF0ZS1maWxlKgogYW1pZ2Etd2luZG93CXN0YXJ0aW5nLnR4dAkvKmFtaWdhLXdpbmRvdyoKK2Fub255bW91cy1mdW5jdGlvbglldmFsLnR4dAkvKmFub255bW91cy1mdW5jdGlvbioKIGFudC52aW0Jc3ludGF4LnR4dAkvKmFudC52aW0qCiBhcAltb3Rpb24udHh0CS8qYXAqCiBhcGFjaGUudmltCXN5bnRheC50eHQJLyphcGFjaGUudmltKgpAQCAtNTM5OCw2ICs1NDA3LDEwIEBACiBnOm5ldHJ3X3VzZV9udF9yY3AJcGlfbmV0cncudHh0CS8qZzpuZXRyd191c2VfbnRfcmNwKgogZzpuZXRyd193aW45NWZ0cAlwaV9uZXRydy50eHQJLypnOm5ldHJ3X3dpbjk1ZnRwKgogZzpuZXRyd193aW5zaXplCXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfd2luc2l6ZSoKK2c6dGFyX2Jyb3dzZW9wdGlvbnMJcGlfdGFyLnR4dAkvKmc6dGFyX2Jyb3dzZW9wdGlvbnMqCitnOnRhcl9jbWQJcGlfdGFyLnR4dAkvKmc6dGFyX2NtZCoKK2c6dGFyX3JlYWRvcHRpb25zCXBpX3Rhci50eHQJLypnOnRhcl9yZWFkb3B0aW9ucyoKK2c6dGFyX3dyaXRlb3B0aW9ucwlwaV90YXIudHh0CS8qZzp0YXJfd3JpdGVvcHRpb25zKgogZzp2YXIJZXZhbC50eHQJLypnOnZhcioKIGc7CW1vdGlvbi50eHQJLypnOyoKIGc8CW1lc3NhZ2UudHh0CS8qZzwqCkBAIC02MDUyLDYgKzYwNjUsNyBAQAogbWF0Y2goKQlldmFsLnR4dAkvKm1hdGNoKCkqCiBtYXRjaC1oaWdobGlnaHQJcGF0dGVybi50eHQJLyptYXRjaC1oaWdobGlnaHQqCiBtYXRjaC1wYXJlbnMJdGlwcy50eHQJLyptYXRjaC1wYXJlbnMqCittYXRjaGFyZygpCWV2YWwudHh0CS8qbWF0Y2hhcmcoKSoKIG1hdGNoZW5kKCkJZXZhbC50eHQJLyptYXRjaGVuZCgpKgogbWF0Y2hpdC1pbnN0YWxsCXVzcl8wNS50eHQJLyptYXRjaGl0LWluc3RhbGwqCiBtYXRjaGxpc3QoKQlldmFsLnR4dAkvKm1hdGNobGlzdCgpKgpAQCAtNjQyNiw2ICs2NDQwLDcgQEAKIHBhcHAudmltCXN5bnRheC50eHQJLypwYXBwLnZpbSoKIHBhcmFncmFwaAltb3Rpb24udHh0CS8qcGFyYWdyYXBoKgogcGFzY2FsLnZpbQlzeW50YXgudHh0CS8qcGFzY2FsLnZpbSoKK3BhdGhzaG9ydGVuKCkJZXZhbC50eHQJLypwYXRoc2hvcnRlbigpKgogcGF0dGVybglwYXR0ZXJuLnR4dAkvKnBhdHRlcm4qCiBwYXR0ZXJuLWF0b21zCXBhdHRlcm4udHh0CS8qcGF0dGVybi1hdG9tcyoKIHBhdHRlcm4tbXVsdGktYnl0ZQlwYXR0ZXJuLnR4dAkvKnBhdHRlcm4tbXVsdGktYnl0ZSoKQEAgLTY2MDcsOCArNjYyMiw4IEBACiByZWRvCXVuZG8udHh0CS8qcmVkbyoKIHJlZG8tcmVnaXN0ZXIJdW5kby50eHQJLypyZWRvLXJlZ2lzdGVyKgogcmVmCWludHJvLnR4dAkvKnJlZioKLXJlZi10b2MJaGVscC50eHQJLypyZWYtdG9jKgogcmVmZXJlbmNlCWludHJvLnR4dAkvKnJlZmVyZW5jZSoKK3JlZmVyZW5jZV90b2MJaGVscC50eHQJLypyZWZlcmVuY2VfdG9jKgogcmVnZXhwCXBhdHRlcm4udHh0CS8qcmVnZXhwKgogcmVnZXhwLWNoYW5nZXMtNS40CXZlcnNpb241LnR4dAkvKnJlZ2V4cC1jaGFuZ2VzLTUuNCoKIHJlZ2lzdGVyCXNwb25zb3IudHh0CS8qcmVnaXN0ZXIqCkBAIC02ODc2LDkgKzY4OTEsNyBAQAogc3BlbGwtYWZmaXgtY29tbWVudAlzcGVsbC50eHQJLypzcGVsbC1hZmZpeC1jb21tZW50Kgogc3BlbGwtYWZmaXgtZmxhZ3MJc3BlbGwudHh0CS8qc3BlbGwtYWZmaXgtZmxhZ3MqCiBzcGVsbC1hZmZpeC1tYnl0ZQlzcGVsbC50eHQJLypzcGVsbC1hZmZpeC1tYnl0ZSoKLXNwZWxsLWFmZml4LW5vY29tcAlzcGVsbC50eHQJLypzcGVsbC1hZmZpeC1ub2NvbXAqCiBzcGVsbC1hZmZpeC1ub3Qtc3VwcG9ydGVkCXNwZWxsLnR4dAkvKnNwZWxsLWFmZml4LW5vdC1zdXBwb3J0ZWQqCi1zcGVsbC1hZmZpeC1yYXJlCXNwZWxsLnR4dAkvKnNwZWxsLWFmZml4LXJhcmUqCiBzcGVsbC1hZmZpeC12aW0Jc3BlbGwudHh0CS8qc3BlbGwtYWZmaXgtdmltKgogc3BlbGwtY29tcG91bmQJc3BlbGwudHh0CS8qc3BlbGwtY29tcG91bmQqCiBzcGVsbC1kaWMtZm9ybWF0CXNwZWxsLnR4dAkvKnNwZWxsLWRpYy1mb3JtYXQqCkBAIC02OTEzLDYgKzY5MjYsNyBAQAogc3FsLWNvbXBsZXRpb24tY29sdW1ucwlzcWwudHh0CS8qc3FsLWNvbXBsZXRpb24tY29sdW1ucyoKIHNxbC1jb21wbGV0aW9uLWN1c3RvbWl6YXRpb24Jc3FsLnR4dAkvKnNxbC1jb21wbGV0aW9uLWN1c3RvbWl6YXRpb24qCiBzcWwtY29tcGxldGlvbi1keW5hbWljCXNxbC50eHQJLypzcWwtY29tcGxldGlvbi1keW5hbWljKgorc3FsLWNvbXBsZXRpb24tZmlsZXR5cGVzCXNxbC50eHQJLypzcWwtY29tcGxldGlvbi1maWxldHlwZXMqCiBzcWwtY29tcGxldGlvbi1tYXBzCXNxbC50eHQJLypzcWwtY29tcGxldGlvbi1tYXBzKgogc3FsLWNvbXBsZXRpb24tcHJvY2VkdXJlcwlzcWwudHh0CS8qc3FsLWNvbXBsZXRpb24tcHJvY2VkdXJlcyoKIHNxbC1jb21wbGV0aW9uLXN0YXRpYwlzcWwudHh0CS8qc3FsLWNvbXBsZXRpb24tc3RhdGljKgpAQCAtNzAxNSw2ICs3MDI5LDcgQEAKIHN5c3RlbS12aW1yYwlzdGFydGluZy50eHQJLypzeXN0ZW0tdmltcmMqCiBzfgljaGFuZ2UudHh0CS8qc34qCiB0CW1vdGlvbi50eHQJLyp0KgordDp2YXIJZXZhbC50eHQJLyp0OnZhcioKIHRfIzIJdGVybS50eHQJLyp0XyMyKgogdF8jNAl0ZXJtLnR4dAkvKnRfIzQqCiB0XyUxCXRlcm0udHh0CS8qdF8lMSoKQEAgLTcxNzQsNiArNzE4OSw3IEBACiB0YWItcGFnZS1vdGhlcgl0YWJwYWdlLnR4dAkvKnRhYi1wYWdlLW90aGVyKgogdGFibGluZS1tZW51CXRhYnBhZ2UudHh0CS8qdGFibGluZS1tZW51KgogdGFicGFnZQl0YWJwYWdlLnR4dAkvKnRhYnBhZ2UqCit0YWJwYWdlLXZhcmlhYmxlCWV2YWwudHh0CS8qdGFicGFnZS12YXJpYWJsZSoKIHRhYnBhZ2UudHh0CXRhYnBhZ2UudHh0CS8qdGFicGFnZS50eHQqCiB0YWJwYWdlYnVmbGlzdCgpCWV2YWwudHh0CS8qdGFicGFnZWJ1Zmxpc3QoKSoKIHRhYnBhZ2VucigpCWV2YWwudHh0CS8qdGFicGFnZW5yKCkqCkBAIC03MjEwLDYgKzcyMjYsNyBAQAogdGFyLWNvcHlyaWdodAlwaV90YXIudHh0CS8qdGFyLWNvcHlyaWdodCoKIHRhci1oaXN0b3J5CXBpX3Rhci50eHQJLyp0YXItaGlzdG9yeSoKIHRhci1tYW51YWwJcGlfdGFyLnR4dAkvKnRhci1tYW51YWwqCit0YXItb3B0aW9ucwlwaV90YXIudHh0CS8qdGFyLW9wdGlvbnMqCiB0YXItdXNhZ2UJcGlfdGFyLnR4dAkvKnRhci11c2FnZSoKIHRhci50eHQJcGlfdGFyLnR4dAkvKnRhci50eHQqCiB0Y2wJaWZfdGNsLnR4dAkvKnRjbCoKQEAgLTc2NjMsNiArNzY4MCw3IEBACiB3aW4xNi12YXJpb3VzCWd1aV93MTYudHh0CS8qd2luMTYtdmFyaW91cyoKIHdpbjMyCW9zX3dpbjMyLnR4dAkvKndpbjMyKgogd2luMzItIXN0YXJ0CWd1aV93MzIudHh0CS8qd2luMzItIXN0YXJ0Kgord2luMzItUEFUSAlvc193aW4zMi50eHQJLyp3aW4zMi1QQVRIKgogd2luMzItY29sb3JzCWd1aV93MzIudHh0CS8qd2luMzItY29sb3JzKgogd2luMzItY29tcGlsaW5nCW9zX3dpbjMyLnR4dAkvKndpbjMyLWNvbXBpbGluZyoKIHdpbjMyLWN1cmRpcglvc193aW4zMi50eHQJLyp3aW4zMi1jdXJkaXIqCkBAIC03NjgyLDYgKzc3MDAsNyBAQAogd2luMzJzCW9zX3dpbjMyLnR4dAkvKndpbjMycyoKIHdpbmJ1Zm5yKCkJZXZhbC50eHQJLyp3aW5idWZucigpKgogd2luY29sKCkJZXZhbC50eHQJLyp3aW5jb2woKSoKK3dpbmRvdwl3aW5kb3dzLnR4dAkvKndpbmRvdyoKIHdpbmRvdy1jb250ZW50cwlpbnRyby50eHQJLyp3aW5kb3ctY29udGVudHMqCiB3aW5kb3ctZXhpdAllZGl0aW5nLnR4dAkvKndpbmRvdy1leGl0Kgogd2luZG93LW1vdmUtY3Vyc29yCXdpbmRvd3MudHh0CS8qd2luZG93LW1vdmUtY3Vyc29yKgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdG9kby50eHQgYi9ydW50aW1lL2RvYy90b2RvLnR4dAppbmRleCBlNWU5MzRiLi43NWMwNTIyIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90b2RvLnR4dAorKysgYi9ydW50aW1lL2RvYy90b2RvLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAyOQorKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDA1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTMwLDIyICszMCwyMiBAQAogCQkJCQkJCSprbm93bi1idWdzKgogLS0tLS0tLS0tLS0tLS0tLS0tLS0gS25vd24gYnVncyBhbmQgY3VycmVudCB3b3JrIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVdoZW4gInNlYXJjaCIgaXMgaW4gJ2ZvbGRvcGVuJyBoYXZlIFtzIGFuZCBdcyBvcGVuIGZvbGRzLgotCiBOZXcgSHVuZ2FyaWFuIGRpY3Rpb25hcnkuIChMYWNpIE5lbWV0aCkKLSAgICB0ZXN0IENPTVBPVU5ERk9SQklERkxBRwotICAgIGltcGxlbWVudCB1c2Ugb2YgQ09NUE9VTkRQRVJNSVRGTEFHCi0gICAgaW1wbGVtZW50IHVzZSBvZiBDSEVDS0NPTVBPVU5EKiBmbGFncywgPGNvbXBvcHRpb25zPgotICAgIGltcGxlbWVudCB1c2luZyBDSEVDS0NPTVBPVU5EUEFUVEVSTjogbWF0Y2ggd29yZHMgd2l0aCBzbF9jb21wcGF0W10uCi0gICAgZXhwbGFpbiB0aGUgdXNlIG9mIGFmZml4IGZsYWdzLCByZXBsYWNlIHxzcGVsbC1hZmZpeC1yYXJlfAorLSAgIFN1cHBvcnQgZmxhZ3Mgb24gYSBzdWZmaXggdXNlZCBmb3Igc2Vjb25kIGxldmVsIGFmZml4ZXMuCisgICAgVGhlIGZsYWdzIG1heSBhbHNvIGJlIHVzZWQgZm9yIGNvbXBvdW5kaW5nLiAgRGVmYXVsdCBpcyBhbiBPUgorICAgIG1lY2hhbmlzbSB3aXRoIHRoZSBmbGFncyBvZiB0aGUgd29yZC4KKyAgICBBZGRpbmcgImNvbXBzZXQiIGZsYWcgb24gdGhlIGFmZml4ZXMgbWVhbnMgdGhlIGNvbXBvdW5kIGZsYWdzIG9mIHRoZSB3b3JkCisgICAgYXJlIG5vdCB1c2VkPwogCi0tICAgU2V0IHVzZXIgdmFyaWFibGVzIHRvIHRoZSBuYW1lcyBvZiB0aGUgYWN0dWFsbHkgdXNlZCB1c2VyIHZpbXJjIGZpbGUsCi0gICAgdGhlIGZpcnN0IGRpcmVjdG9yeSBsb29rZWQgZm9yIHVzZXIgcGx1Z2lucy9zeW50YXggZmlsZXMuCi0gICAgJE1ZVklNUkMgZm9yIC52aW1yYywgJE1ZR1ZJTVJDIGZvciAuZ3ZpbXJjLCAkTVlSVU5USU1FL3BsdWdpbiBmb3IKLSAgICBydW50aW1lIGZpbGVzPwotICAgIEFsc286IHdoZW4gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIGV4aXN0cywgdXNlIGl0LiAgSWYgaXQgZG9lc24ndAotICAgIGV4aXN0LCBzZXQgaXQuICBSZXF1aXJlcyBnb29kIG5hbWVzOiAkVklNX1VTRVJfVklNUkMgICRWSU1fVVNFUl9ESVIKLSAgICBBZGQgYSBtZW51IGl0ZW0gIlByZWZlcmVuY2VzIiB0aGF0IGRvZXMgInNwICRNWVZJTVJDIi4KKy0gICBpbXBsZW1lbnQgdXNlIG9mIENIRUNLQ09NUE9VTkQqIGZsYWdzLCA8Y29tcG9wdGlvbnM+IGluIC5zcGwgZmlsZQorCistICAgQWRkIENIRUNLQ09NUE9VTkRDQVNFOiB3aGVuIGNvbXBvdW5kaW5nIG1ha2UgbGVhZGluZyBjYXBpdGFsIGxvd2VyIGNhc2UuCisgICAgSG93IGlzIGl0IHN1cHBvc2VkIHRvIHdvcms/CisKKy0gICBpbXBsZW1lbnQgdXNpbmcgQ0hFQ0tDT01QT1VORFBBVFRFUk46IG1hdGNoIHdvcmRzIHdpdGggc2xfY29tcHBhdFtdLgorCitPYmV5ICdzd2l0Y2hidWYnICJ1c2VvcGVuIiB2YWx1ZSBmb3Igd2luZG93cyBpbiBvdGhlciB0YWJzLCBlLmcuIGZvciA6c2J1ZmZlci4KK09yIHVzZSBhbm90aGVyIHZhbHVlLCBlLmcuLCAidXNldGFiIj8KIAogQWRkIG1vcmUgdGVzdHMgZm9yIGFsbCBuZXcgZnVuY3Rpb25hbGl0eSBpbiBWaW0gNy4gIEVzcGVjaWFsbHkgbmV3IGZ1bmN0aW9ucy4KIApAQCAtNjQxLDcgKzY0MSw3IEBACiAgICAgVW54VXRpbHMuemlwIGFyY2hpdmUuCiAgICAgQWx0ZXJuYXRlIG9uZTogaHR0cDovL3d3dy5wcmFtb2R4LjIwbS5jb20vdGVlX2Zvcl93aW4zMi5odG0sIGJ1dCBXYWx0ZXIKICAgICBCcmlzY29lIHNheXMgaXQncyBub3QgYXMgZ29vZC4KLTggICAnZmlsbGNoYXJzJyBkb2Vzbid0IHdvcmsgZm9yIG11bHRpLWJ5dGUgY2hhcmFjdGVycy4KKzggICAic3RsIiBhbmQgInN0bG5jIiBpbiAnZmlsbGNoYXJzJyBkb24ndCB3b3JrIGZvciBtdWx0aS1ieXRlIGNoYXJhY3RlcnMuCiA4ICAgQ29tbWFuZCBsaW5lIGNvbXBsZXRpb246IGJ1ZmZlcnMgImZvby50eHQiIGFuZCAiLi4vYi9mb28udHh0IiwgY29tcGxldGluZwogICAgICI6YnVmIGZvbzxUYWI+IiBkb2Vzbid0IGZpbmQgdGhlIHNlY29uZCBvbmUuIChHZW9yZ2UgVi4gUmVpbGx5KQogNyAgIE91dHB1dCBmb3IgIjpzY3JpcHRuYW1lcyIgYW5kICI6YnJlYWtsaXN0IiBzaG91bGQgc2hvcnRlbiB0aGUgZmlsZSBuYW1lczoKQEAgLTEwOTAsNyArMTA5MCw2IEBACiAKIAogVGFiIHBhZ2VzOgotOSAgIFdpbjMyIEdVSTogbWVudSBmb3IgdGFiIHBhZ2VzIGxpbmUuCiA5ICAgR1VJIGltcGxlbWVudGF0aW9uIGZvciB0aGUgdGFiIHBhZ2VzIGxpbmUgZm9yIG90aGVyIHN5c3RlbXMuCiA4ICAgTWFrZSBHVUkgbWVudSBpbiB0YWIgcGFnZXMgbGluZSBjb25maWd1cmFibGUuICBMaWtlIHRoZSBwb3B1cCBtZW51LgogOCAgIHRhYiBwYWdlcyBpbiB0aGUgc2Vzc2lvbiBmaWxlLCBpZiAidGFicGFnZXMiIGluICdzZXNzaW9ub3B0aW9ucycKQEAgLTExMDYsMjggKzExMDUsMTQgQEAKIAogCiBTcGVsbCBjaGVja2luZzoKLS0gICBJbXBsZW1lbnQgQ09NUE9VTkRGT1JCSURGTEFHIC4KIC0gICBDaGVjayBvdXQgSHVuc3BlbGwgMS4xLjQuCiAgICAgVGhlIG1hbnBhZ2UgZG9lc24ndCBtYXRjaCB0aGUgc291cmNlIGNvZGUuLi4KICAgICBUcnkgdG8gbWFrZSB0aGUgbmV3bHkgYWRkZWQgZmVhdHVyZXMgY29tcGF0aWJsZS4KICAgICB3aGF0IGRvZXMgTUFYTkdSQU1TVUdTIGRvPwogICAgIGlzIENPTVBMRVhQUkVGSVhFUyBuZWNlc3Nhcnkgd2hlbiB3ZSBoYXZlIGZsYWdzIGZvciBhZmZpeGVzPwotLSAgIExvb2sgaW50byBIdW5nYXJpYW4gZGljdGlvbmFyeTogaHVfSFUtMS4wLnRhci5negotICAgIFRoaXMgb25lIGRvZXNuJ3QgbWF0Y2ggd2l0aCBIdW5zcGVsbCAxLjEuNC4KLS0gICBBZGQgQ0hFQ0tDT01QT1VORENBU0U6IHdoZW4gY29tcG91bmRpbmcgbWFrZSBsZWFkaW5nIGNhcGl0YWwgbG93ZXIgY2FzZS4KLSAgICBIb3cgaXMgaXQgc3VwcG9zZWQgdG8gd29yaz8KLS0gICBXaGVuIGNvbXBvdW5kaW5nIEh1bnNwZWxsIGRvZXNuJ3QgYWxsb3cgYWZmaXhlcyBpbnNpZGUgdGhlIGNvbXBvdW5kIHdvcmQsCi0gICAgb25seSBiZWZvcmUgYW5kIGFmdGVyIGl0LiAgQ09NUE9VTkRQRVJNSVRGTEFHIGNhbiBiZSB1c2VkIHRvIGFsbG93IGl0LgotICAgIENoZWNrIE15c3BlbGwgYW5kIEFzcGVsbCBpZiB0aGV5IGFsc28gd29yayB0aGlzIHdheS4KLSAgICBUaHVzIGEgd29yZCArIHN1ZmZpeCBuZWVkcyBhIGZsYWcgdGhhdCBpdCBjYW4ndCBiZSB1c2VkIHdpdGggYSBmb2xsb3dpbmcKLSAgICBjb21wb3VuZCwgYW5kIHdvcmQgKyBwcmVmaXggY2FuJ3QgYmUgYWZ0ZXIgYW5vdGhlciB3b3JkIGluIGEgY29tcG91bmQuCistICAgQWRkIGEgY29tbWFuZCB0aGUgcmVwZWF0cyBdcyBhbmQgej0sIHNob3dpbmcgdGhlIG1pc3NwZWxsZWQgd29yZCBpbiBpdHMKKyAgICBjb250ZXh0LiAgVGh1cyB0byBzcGVsbC1jaGVjayBhIHdob2xlIGZpbGUuCiAtICAgc3VnZ2VzdGlvbiBmb3IgIktHIiB0byAia2ciIHdoZW4gaXQncyBrZWVwY2FzZS4KLS0gICBTdXBwb3J0IGZsYWdzIG9uIGEgc3VmZml4LiAgVXNlZCBmb3Igc2Vjb25kIGxldmVsIGFmZml4ZXMsIHJhcmUgYW5kCi0gICAgbm9jb21wLiAgVGhlIGZsYWdzIG1heSBhbHNvIGJlIHVzZWQgZm9yIGNvbXBvdW5kaW5nLiAgRGVmYXVsdCBpcyBhbiBPUgotICAgIG1lY2hhbmlzbSB3aXRoIHRoZSBmbGFncyBvZiB0aGUgd29yZC4gIEFkZGluZyAiY29tcHNldCIgb24gdGhlIGFmZml4ZXMKLSAgICBtZWFucyB0aGUgY29tcG91bmQgZmxhZ3Mgb2YgdGhlIHdvcmQgYXJlIG5vdCB1c2VkLgotICAgIEluc3RlYWQgb2YgIlNGWCBhIDAgYWRkL0ZMQUdTIC4iIHdlIGNvdWxkIHVzZSAiU0ZYIGEgMCBhZGQgLiAvRkxBR1MiIChvcgotICAgIHN1cHBvcnQgYm90aCkuCiAtICAgU3VwcG9ydCBicmVha3BvaW50IGNoYXJhY3RlciA/IDB4YjcgYW5kIGlnbm9yZSBpdD8gIE1ha2VzIGl0IHBvc3NpYmxlIHRvCiAgICAgdXNlIHNhbWUgd29yZGxpc3QgZm9yIGh5cGhlbmF0aW9uLgogLSAgIENvbXBvdW5kIHdvcmQgaXMgYWNjZXB0ZWQgaWYgbnIgb2Ygd29yZHMgaXMgPD0gQ09NUE9VTkRXT1JETUFYIE9SIG5yIG9mCkBAIC0xMzM1LDYgKzEzMjAsOCBAQAogICAgIGNsdXN0ZXIgY2FuIGJlIGFkZGVkIHRvIGV4aXN0aW5nIHN5bnRheCBpdGVtcy4KIDggICBDIHN5bnRheDogRG9uJ3QgaGlnaGxpZ2h0IHt9IGFzIGVycm9ycyBpbnNpZGUgKCkgd2hlbiB1c2VkIGxpa2UgdGhpczoKICAgICAiKHsgc29tZXRoaW5nIH0pIiwgb2Z0ZW4gdXNlZCBpbiBHQ0MgY29kZS4KKzcgICBBZGQgYSAic3RhcnRncm91cCIgdG8gYSByZWdpb24uICBVc2VkIGxpa2UgIm5leHRncm91cCIgaW5zaWRlIHRoZSByZWdpb24sCisgICAgcHJlZmVycmVkIGl0ZW0gYXQgdGhlIHN0YXJ0IG9mIHRoZSByZWdpb24uIChDaGFybGVzIENhbXBiZWxsKQogOCAgIFdoZW4gZWRpdGluZyBhIG5ldyBmaWxlIHdpdGhvdXQgYSBuYW1lIGFuZCBnaXZpbmcgaXQgYSBuYW1lIChieSB3cml0aW5nCiAgICAgaXQpIGFuZCAnZmlsZXR5cGUnIGlzIG5vdCBzZXQsIGRldGVjdCB0aGUgZmlsZXR5cGUuICBBdm9pZCBkb2luZyBpdCBmb3IKICAgICAiOndxIGZpbGUiLgpAQCAtMjI0NSw2ICsyMjMyLDEyIEBACiAKIAogJ2NpbmRlbnQnLCAnc21hcnRpbmRlbnQnOgorOCAgIEFsaWduaW5nIHdpdGggImUiIG9mICJlcnJvciIgYmVjYXVzZSBvZiB0aGUgJzonIGRvZXNuJ3QgbWFrZSBzZW5zZToKKwljb3V0IDw8ICggIGEgPyBmKCkgOiAiZXJyb3IiKQorOCAgIFdyb25nIGluZGVudCB3aXRoIGRlZmF1bHQgc2V0dGluZ3Mgd2hlbiAoZGwpIGFwcGVhcnMgaW4gdGhpcyBsaW5lOgorCSAgICAoZGwpLT5iYXJiYXIoCisJCQkgZGspOworICAgIFdoZW4gIihkbCkiIGlzIGNoYW5nZWQgdG8gImRsIiBpdCB1c2VzICdzdycgKiAyIGFzIGV4cGVjdGVkLgogOCAgIFdyb25nIGluZGVudCBiZWxvdyA/IDogd2l0aCAoKToKIAlpZiAoKGEgPyAoYikgOiBjKSAhPSAwKQogCQkgICAgICAgYWxpZ25zIHdpdGggIjoiLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzA1LnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8wNS50eHQKaW5kZXggZTJjNjIwNy4uMDkwNmRjNyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzA1LnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMDUudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8wNS50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDI0CisqdXNyXzA1LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDIKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKQEAgLTI1LDI3ICsyNSwyNyBAQAogKjA1LjEqCVRoZSB2aW1yYyBmaWxlCQkJCQkqdmltcmMtaW50cm8qCiAKIFlvdSBwcm9iYWJseSBnb3QgdGlyZWQgb2YgdHlwaW5nIGNvbW1hbmRzIHRoYXQgeW91IHVzZSB2ZXJ5IG9mdGVuLiAgVG8gc3RhcnQKLXdpdGggYWxsIHlvdXIgZmF2b3JpdGUgb3B0aW9uIHNldHRpbmdzIGFuZCBtYXBwaW5ncywgeW91IHdyaXRlIHRoZW0gaW4gd2hhdCBpcwotY2FsbGVkIHRoZSB2aW1yYyBmaWxlLiAgVmltIHJlYWRzIHRoaXMgZmlsZSB3aGVuIGl0IHN0YXJ0cyB1cC4KK1ZpbSB3aXRoIGFsbCB5b3VyIGZhdm9yaXRlIG9wdGlvbiBzZXR0aW5ncyBhbmQgbWFwcGluZ3MsIHlvdSB3cml0ZSB0aGVtIGluCit3aGF0IGlzIGNhbGxlZCB0aGUgdmltcmMgZmlsZS4gIFZpbSBleGVjdXRlcyB0aGUgY29tbWFuZHMgaW4gdGhpcyBmaWxlIHdoZW4gaXQKK3N0YXJ0cyB1cC4KIAotSWYgeW91IGhhdmUgdHJvdWJsZSBmaW5kaW5nIHlvdXIgdmltcmMgZmlsZSwgdXNlIHRoaXMgY29tbWFuZDogPgorSWYgeW91IGFscmVhZHkgaGF2ZSBhIHZpbXJjIGZpbGUgKGUuZy4sIHdoZW4geW91ciBzeXNhZG1pbiBoYXMgb25lIHNldHVwIGZvcgoreW91KSwgeW91IGNhbiBlZGl0IGl0IHRoaXMgd2F5OiA+CiAKLQk6c2NyaXB0bmFtZXMKKwk6ZWRpdCAkTVlWSU1SQwogCi1PbmUgb2YgdGhlIGZpcnN0IGZpbGVzIGluIHRoZSBsaXN0IHNob3VsZCBiZSBjYWxsZWQgIi52aW1yYyIgb3IgIl92aW1yYyIgYW5kCi1pcyBsb2NhdGVkIGluIHlvdXIgaG9tZSBkaXJlY3RvcnkuCi0gICBJZiB5b3UgZG9uJ3QgaGF2ZSBhIHZpbXJjIGZpbGUgeWV0LCBzZWUgfHZpbXJjfCB0byBmaW5kIG91dCB3aGVyZSB5b3UgY2FuCitJZiB5b3UgZG9uJ3QgaGF2ZSBhIHZpbXJjIGZpbGUgeWV0LCBzZWUgfHZpbXJjfCB0byBmaW5kIG91dCB3aGVyZSB5b3UgY2FuCiBjcmVhdGUgYSB2aW1yYyBmaWxlLiAgQWxzbywgdGhlICI6dmVyc2lvbiIgY29tbWFuZCBtZW50aW9ucyB0aGUgbmFtZSBvZiB0aGUKICJ1c2VyIHZpbXJjIGZpbGUiIFZpbSBsb29rcyBmb3IuCiAKLUZvciBVbml4IHRoaXMgZmlsZSBpcyBhbHdheXMgdXNlZDogPgorRm9yIFVuaXggYW5kIE1hY2ludG9zaCB0aGlzIGZpbGUgaXMgYWx3YXlzIHVzZWQgYW5kIGlzIHJlY29tbWVuZGVkOgogCi0Jfi8udmltcmMKKwl+Ly52aW1yYyB+CiAKLUZvciBNUy1ET1MgYW5kIE1TLVdpbmRvd3MgaXQgaXMgbW9zdGx5IG9uZSBvZiB0aGVzZTogPgorRm9yIE1TLURPUyBhbmQgTVMtV2luZG93cyB5b3UgY2FuIHVzZSBvbmUgb2YgdGhlc2U6CiAKLQkkSE9NRS9fdmltcmMKLQkkVklNL192aW1yYworCSRIT01FL192aW1yYyB+CisJJFZJTS9fdmltcmMgfgogCiBUaGUgdmltcmMgZmlsZSBjYW4gY29udGFpbiBhbGwgdGhlIGNvbW1hbmRzIHRoYXQgeW91IHR5cGUgYWZ0ZXIgYSBjb2xvbi4gIFRoZQogbW9zdCBzaW1wbGUgb25lcyBhcmUgZm9yIHNldHRpbmcgb3B0aW9ucy4gIEZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCBWaW0gdG8KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl8yNC50eHQgYi9ydW50aW1lL2RvYy91c3JfMjQudHh0CmluZGV4IDM4NWJjN2UuLjg1MjFkNTkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl8yNC50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzI0LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfMjQudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA1IEFwciAwMQorKnVzcl8yNC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDAyCiAKIAkJICAgICBWSU0gVVNFUiBNQU5VQUwgLSBieSBCcmFtIE1vb2xlbmFhcgogCkBAIC0yMzIsNiArMjMyLDMyIEBACiBUaGUgcmVzdWx0cyBkZXBlbmQgb24gd2hhdCBpcyBmb3VuZCBpbiB5b3VyIGZpbGUgc3lzdGVtLCBvZiBjb3Vyc2UuICBUaGUKIG1hdGNoZXMgYXJlIHNvcnRlZCBhbHBoYWJldGljYWxseS4KIAorCitDT01QTEVUSU5HIElOIFNPVVJDRSBDT0RFCisKK1NvdXJjZSBjb2RlIGZpbGVzIGFyZSB3ZWxsIHN0cnVjdHVyZWQuICBUaGF0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIGRvCitjb21wbGV0aW9uIGluIGFuIGludGVsbGlnZW50IHdheS4gIEluIFZpbSB0aGlzIGlzIGNhbGxlZCBPbW5pIGNvbXBsZXRpb24uICBJbgorc29tZSBvdGhlciBlZGl0b3JzIGl0J3MgY2FsbGVkIGludGVsbGlzZW5zZSwgYnV0IHRoYXQgaXMgYSB0cmFkZW1hcmsuCisKK1RoZSBrZXkgdG8gT21uaSBjb21wbGV0aW9uIGlzIENUUkwtWCBDVFJMLU8uICBPYnZpb3VzbHkgdGhlIE8gc3RhbmRzIGZvciBPbW5pCitoZXJlLCBzbyB0aGF0IHlvdSBjYW4gcmVtZW1iZXIgaXQgZWFzaWVyLiAgTGV0J3MgdXNlIGFuIGV4YW1wbGUgZm9yIGVkaXRpbmcgQworc291cmNlOgorCisJeyB+CisJICAgIHN0cnVjdCBmb28gKnA7IH4KKwkgICAgcC0+IH4KKworVGhlIGN1cnNvciBpcyBhZnRlciAicC0+Ii4gIE5vdyB0eXBlIENUUkwtWCBDVFJMLU8uICBWaW0gd2lsbCBvZmZlciB5b3UgYSBsaXN0CitvZiBhbHRlcm5hdGl2ZXMsIHdoaWNoIGFyZSB0aGUgaXRlbXMgdGhhdCAic3RydWN0IGZvbyIgY29udGFpbnMuICBUaGF0IGlzCitxdWl0ZSBkaWZmZXJlbnQgZnJvbSB1c2luZyBDVFJMLVAsIHdoaWNoIHdvdWxkIGNvbXBsZXRlIGFueSB3b3JkLCB3aGlsZSBvbmx5CittZW1iZXJzIG9mICJzdHJ1Y3QgZm9vIiBhcmUgdmFsaWQgaGVyZS4KKworRm9yIE9tbmkgY29tcGxldGlvbiB0byB3b3JrIHlvdSBtYXkgbmVlZCB0byBkbyBzb21lIHNldHVwLiAgRm9yIEMgY29kZSB5b3UKK25lZWQgdG8gY3JlYXRlIGEgdGFncyBmaWxlIGFuZCBzZXQgdGhlICd0YWdzJyBvcHRpb24uICBUaGF0IGlzIGV4cGxhaW5lZAorfGZ0LWMtb21uaXwuICBGb3Igb3RoZXIgZmlsZXR5cGVzIHlvdSBtYXkgbmVlZCB0byBkbyBzb21ldGhpbmcgc2ltaWxhciwgbG9vaworYmVsb3cgfGNvbXBsLW9tbmktZmlsZXR5cGVzfC4gIEl0IG9ubHkgd29ya3MgZm9yIHNwZWNpZmljIGZpbGV0eXBlcy4gIENoZWNrCit0aGUgdmFsdWUgb2YgdGhlICdvbW5pZnVuYycgb3B0aW9uIHRvIGZpbmQgb3V0IGlmIGl0IHdvdWxkIHdvcmsuCisKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKjI0LjQqCVJlcGVhdGluZyBhbiBpbnNlcnQKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzMxLnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8zMS50eHQKaW5kZXggYTVmYzAyZS4uODZkZTQwZCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzMxLnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMzEudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8zMS50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDI0CisqdXNyXzMxLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDIKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKQEAgLTI0OSw2ICsyNDksMTEgQEAKIGFuIHh0ZXJtIHRoYXQgc3VwcG9ydHMgcmVzaXppbmcpLgogICAgVGhlIGd2aW1yYyBmaWxlIGlzIHNlYXJjaGVkIGZvciBpbiB0aGUgc2FtZSBsb2NhdGlvbnMgYXMgdGhlIHZpbXJjIGZpbGUuCiBOb3JtYWxseSBpdCdzIG5hbWUgaXMgIn4vLmd2aW1yYyIgZm9yIFVuaXggYW5kICIkVklNL19ndmltcmMiIGZvciBNUy1XaW5kb3dzLgorVGhlICRNWUdWSU1SQyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQgdG8gaXQsIHRodXMgeW91IGNhbiB1c2UgdGhpcyBjb21tYW5kCit0byBlZGl0IHRoZSBmaWxlLCBpZiB5b3UgaGF2ZSBvbmU6ID4KKworCTplZGl0ICRNWUdWSU1SQworPAogICAgSWYgZm9yIHNvbWUgcmVhc29uIHlvdSBkb24ndCB3YW50IHRvIHVzZSB0aGUgbm9ybWFsIGd2aW1yYyBmaWxlLCB5b3UgY2FuCiBzcGVjaWZ5IGFub3RoZXIgb25lIHdpdGggdGhlICItVSIgYXJndW1lbnQ6ID4KIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyX3RvYy50eHQgYi9ydW50aW1lL2RvYy91c3JfdG9jLnR4dAppbmRleCBiMjFiN2MzLi4xY2UyN2IyIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfdG9jLnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfdG9jLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfdG9jLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMjQKKyp1c3JfdG9jLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDIKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKQEAgLTQ5LDcgKzQ5LDcgQEAKIAogCiBSZWZlcmVuY2UgbWFudWFsCi18cmVmLXRvY3wgICAgIE1vcmUgZGV0YWlsZWQgaW5mb3JtYXRpb24gZm9yIGFsbCBjb21tYW5kcworfHJlZmVyZW5jZV90b2N8ICAgICBNb3JlIGRldGFpbGVkIGluZm9ybWF0aW9uIGZvciBhbGwgY29tbWFuZHMKIAogVGhlIHVzZXIgbWFudWFsIGlzIGF2YWlsYWJsZSBhcyBhIHNpbmdsZSwgcmVhZHkgdG8gcHJpbnQgSFRNTCBhbmQgUERGIGZpbGUKIGhlcmU6CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQgYi9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQKaW5kZXggNDYzNTZiMC4uOGU1NWFhYyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmVyc2lvbjcudHh0CisrKyBiL3J1bnRpbWUvZG9jL3ZlcnNpb243LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp2ZXJzaW9uNy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAyOQorKnZlcnNpb243LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDA1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC04Niw2ICs4NiwxMiBAQAogRm9yIGZpbGV0eXBlIGRldGVjdGlvbjogRm9yIG1hbnkgdHlwZXMsIGluc3RlYWQgb2Ygfi8uZGlyL2ZpbGVuYW1lIHVzZQogKi8uZGlyL2ZpbGVuYW1lLCBzbyB0aGF0IGl0IGFsc28gd29ya3MgZm9yIG90aGVyIHVzZXIncyBmaWxlcy4KIAorRm9yIHF1aXRlIGEgZmV3IGZpbGV0eXBlcyB0aGUgaW5kZW50IHNldHRpbmdzIGhhdmUgYmVlbiBtb3ZlZCBmcm9tIHRoZQorZmlsZXR5cGUgcGx1Z2luIHRvIHRoZSBpbmRlbnQgcGx1Z2luLiAgSWYgeW91IHVzZWQ6ID4KKwk6ZmlsZXR5cGUgcGx1Z2luIG9uCitUaGVuIHNvbWUgaW5kZW50IHNldHRpbmdzIG1heSBiZSBtaXNzaW5nLiAgWW91IG5lZWQgdG8gdXNlOiA+CisJOmZpbGV0eXBlIHBsdWdpbiBpbmRlbnQgb24KKwogIjowdmVyYm9zZSIgbm93IHNldHMgJ3ZlcmJvc2UnIHRvIHplcm8gaW5zdGVhZCBvZiBvbmUuCiAKIFJlbW92ZWQgdGhlIG9sZCBhbmQgaW5jb21wbGV0ZSAiVmltQnVkZHkiIGNvZGUuCkBAIC0xNTEsNiArMTU3LDEwIEBACiBhYmJyZXZpYXRlZC4gIFRoaXMgY2F1c2VkIHVuZXhwZWN0ZWQgYmVoYXZpb3IsIHN1Y2ggYXMgPGxpPiBiZWluZyByZWNvZ25pemVkCiBhcyA8bGluZTE+LiAgVGhlIGl0ZW1zIGNhbiBubyBsb25nZXIgYmUgYWJicmV2aWF0ZWQuCiAKK1doZW4gZXhlY3V0aW5nIGEgRmlsZUNoYW5nZWRSTyBhdXRvY29tbWFuZCBpdCBpcyBubyBsb25nZXIgYWxsb3dlZCB0byBzd2l0Y2gKK3RvIGFub3RoZXIgYnVmZmVyIG9yIGVkaXQgYW5vdGhlciBmaWxlLiAgVGhpcyBpcyB0byBwcmV2ZW50IGNyYXNoZXMgKHRoZSBldmVudAoraXMgdHJpZ2dlcmVkIGRlZXAgZG93biBpbiB0aGUgY29kZSB3aGVyZSBjaGFuZ2luZyBidWZmZXJzIGlzIG5vdCBhbnRpY2lwYXRlZCkuCisKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogTkVXIEZFQVRVUkVTCQkJCQkJKm5ldy03KgogCkBAIC0xNzAsNyArMTgwLDcgQEAKIGNhbiBiZSB1c2VkIHRvIHR1cm4gdGhlIHN0cmluZyBiYWNrIGludG8gdGhlIHZhcmlhYmxlIHZhbHVlLgogCiBUaGUgfDpsZXR8IGNvbW1hbmQgY2FuIG5vdyB1c2UgIis9Ii4gICI6bGV0IHZhciArPSBleHByIiB3b3JrcyBsaWtlCi0iOmxldCB2YXIgPSB2YXIgKyBleHByIi4gICItPSIgYW5kICIuPSIgd29ya3MgaW4gYSBzaW1pbGFyIHdheS4KKyI6bGV0IHZhciA9IHZhciArIGV4cHIiLiAgIi09IiBhbmQgIi49IiB3b3JrIGluIGEgc2ltaWxhciB3YXkuCiAKIFdpdGggdGhlIHw6cHJvZmlsZXwgY29tbWFuZCB5b3UgY2FuIGZpbmQgb3V0IHdoZXJlIHlvdXIgZnVuY3Rpb24gb3Igc2NyaXB0CiB3YXN0ZXMgaXRzIHRpbWUuCkBAIC0yNzcsNiArMjg3LDggQEAKIFRoZSB8LS1yZW1vdGUtdGFifCBhcmd1bWVudCBjYW4gYmUgdXNlZCB0byBlZGl0IGEgZmlsZSBpbiBhIG5ldyB0YWIgcGFnZSBpbiBhbgogYWxyZWFkeSBydW5uaW5nIFZpbSBzZXJ2ZXIuCiAKK1ZhcmlhYmxlcyBzdGFydGluZyB3aXRoICJ0OiIgYXJlIGxvY2FsIHRvIGEgdGFiIHBhZ2UuCisKIE1vcmUgaW5mbyBoZXJlOiB8dGFicGFnZXwKIFRoZSBXaW4zMiBHVUkgdGFicyB3ZXJlIGltcGxlbWVudGVkIGJ5IFllZ2FwcGFuIExha3NobWFuYW4uCiAKQEAgLTc0Nyw2ICs3NTksNyBAQAogfG1hcGFyZygpfAkJZXh0cmEgYXJndW1lbnQ6IHVzZSBhYmJyZXZpYXRpb24KIHxtYXBjaGVjaygpfAkJZXh0cmEgYXJndW1lbnQ6IHVzZSBhYmJyZXZpYXRpb24KIHxtYXRjaCgpfAkJZXh0cmEgYXJndW1lbnQ6IGNvdW50Cit8bWF0Y2hhcmcoKXwJCXJldHVybiBhcmd1bWVudHMgb2YgfDptYXRjaHwgY29tbWFuZAogfG1hdGNoZW5kKCl8CQlleHRyYSBhcmd1bWVudDogY291bnQKIHxtYXRjaGxpc3QoKXwJCWxpc3Qgd2l0aCBtYXRjaCBhbmQgc3VibWF0Y2hlcyBvZiBhIHBhdHRlcm4gaW4gYSBzdHJpbmcKIHxtYXRjaHN0cigpfAkJZXh0cmEgYXJndW1lbnQ6IGNvdW50CkBAIC05ODEsNiArOTk0LDExIEBACiAKIE90aGVyczogfgogCitUaGUgfDpyZWFkfCBjb21tYW5kIGhhcyB0aGUgfCsrZWRpdHwgYXJndW1lbnQuICBUaGlzIG1lYW5zIGl0IHdpbGwgdXNlIHRoZQorZGV0ZWN0ZWQgJ2ZpbGVmb3JtYXQnLCAnZmlsZWVuY29kaW5nJyBhbmQgb3RoZXIgb3B0aW9ucyBmb3IgdGhlIGJ1ZmZlci4gIFRoaXMKK2Fsc28gZml4ZXMgdGhlIHByb2JsZW0gdGhhdCBlZGl0aW5nIGEgY29tcHJlc3NlZCBmaWxlIGRpZG4ndCBzZXQgdGhlc2UKK29wdGlvbnMuCisKIFRoZSBOZXRiZWFucyBpbnRlcmZhY2Ugd2FzIHVwZGF0ZWQgZm9yIFN1biBTdHVkaW8gMTAuICBUaGUgcHJvdG9jb2wgbnVtYmVyCiBnb2VzIGZyb20gMi4yIHRvIDIuMy4gKEdvcmRvbiBQcmlldXIpCiAKQEAgLTEwNTYsNiArMTA3NCw5IEBACiAKIFJ1YnkgaW50ZXJmYWNlOiBhZGQgbGluZSBudW1iZXIgbWV0aG9kcy4gKFJ5YW4gUGF1bCkKIAorVGhlICRNWVZJTVJDIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCB0byB0aGUgZmlyc3QgZm91bmQgdmltcmMgZmlsZS4KK1RoZSAkTVlHVklNUkMgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0IHRvIHRoZSBmaXJzdCBmb3VuZCBndmltcmMgZmlsZS4KKwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBJTVBST1ZFTUVOVFMJCQkJCQkqaW1wcm92ZW1lbnRzLTcqCiAKQEAgLTIxODMsNyArMjIwNCw3IEBACiBSdWJ5IGludGVyZmFjZTogd2hlbiBpbnNlcnRpbmcvZGVsZXRpbmcgbGluZXMgZGlzcGxheSB3YXNuJ3QgdXBkYXRlZC4gKFJ5YW4KIFBhdWwpCiAKLS0tLSBmaXhlcyBzaW5jZSBWaW0gNi4wYiAtLS0KKy0tLSBmaXhlcyBzaW5jZSBWaW0gNy4wYiAtLS0KIAogR2V0dGluZyB0aGUgR0NDIHZlcnNpb24gaW4gY29uZmlndXJlIGRpZG4ndCB3b3JrIHdpdGggU29sYXJpcyBzZWQuICBGaXJzdAogc3RyaXAgYW55ICJkYXJ3aW4uIiBhbmQgdGhlbiBnZXQgdGhlIHZlcnNpb24gbnVtYmVyLgpAQCAtMjIxNyw3ICsyMjM4LDcgQEAKIAogVHlwaW5nIEJTIGF0IHRoZSAiej0iIHByb21wdCByZW1vdmVkIHRoZSBwcm9tcHQuCiAKLS0tLSBmaXhlcyBzaW5jZSBWaW0gNi4wYyAtLS0KKy0tLSBmaXhlcyBzaW5jZSBWaW0gNy4wYyAtLS0KIAogV2hlbiBqdW1waW5nIHRvIGFub3RoZXIgdGFiIHBhZ2UgdGhlIFZpbSB3aW5kb3cgc2l6ZSB3YXMgYWx3YXlzIHNldCwgZXZlbiB3aGVuCiBub3RoaW5nIGluIHRoZSBsYXlvdXQgY2hhbmdlZC4KQEAgLTIyNTUsNCArMjI3NiwxMTMgQEAKIFdpbjMyOiBTZXQgdGhlIGRlZmF1bHQgZm9yICdpc3ByaW50JyBiYWNrIHRvIHRoZSB3cm9uZyBkZWZhdWx0ICJALH4tMjU1IiwKIGJlY2F1c2UgbWFueSBwZW9wbGUgdXNlIFdpbmRvd3MtMTI1MiB3aGlsZSAnZW5jb2RpbmcnIGlzICJsYXRpbjEiLgogCitHVEs6IEFkZGVkIGEgd29ya2Fyb3VuZCBmb3IgZ3ZpbSBjcmFzaGluZyB3aGVuIHVzZWQgb3ZlciBhbiB1bnRydXN0ZWQgc3NoCitsaW5rLCBjYXVzZWQgYnkgR1RLIGRvaW5nIHNvbWV0aGluZyBuYXN0eS4gKEVkIENhdG11cikKKworV2luMzI6IFRoZSBmb250IHVzZWQgZm9yIHRoZSB0YWIgcGFnZSBsYWJlbHMgaXMgdG9vIGJpZy4gIFVzZSB0aGUgc3lzdGVtIG1lbnUKK2ZvbnQuIChHZW9yZ2UgUmVpbGx5KQorCitXaW4zMjogQWRqdXN0aW5nIHRoZSB3aW5kb3cgcG9zaXRpb24gYW5kIHNpemUgdG8ga2VlcCBpdCBvbiB0aGUgc2NyZWVuIGRpZG4ndAord29yayBwcm9wZXJseSB3aGVuIHRoZSB0YXNrYmFyIGlzIG9uIHRoZSBsZWZ0IG9yIHRvcCBvZiB0aGUgc2NyZWVuLgorCitUaGUgaW5zdGFsbG1hbi5zaCBhbmQgaW5zdGFsbG1sLnNoIHNjcmlwdHMgdXNlICR7MTB9LCB0aGF0IGRpZG4ndCB3b3JrIHdpdGgKK29sZCBzaGVsbHMuICBBbmQgdXNlICJ0ZXN0IC1mIiBpbnN0ZWFkIG9mICJ0ZXN0IC1lIi4KKworV2luMzI6IFdoZW4gJ2VuY29kaW5nJyB3YXMgc2V0IGluIHRoZSB2aW1yYyB0aGVuIGEgZGlyZWN0b3J5IGFyZ3VtZW50IGZvciBkaWZmCittb2RlIGRpZG4ndCB3b3JrLgorCitHVUk6IGF0IHRoZSBpbnB1dGxpc3QoKSBwcm9tcHQgdGhlIGN1cnNvcnNoYXBlIHdhcyBhZGp1c3RlZCBhcyBpZiB0aGUgd2luZG93cword2VyZSBzdGlsbCBhdCB0aGVpciBvbGQgcG9zaXRpb24uCisKK1RoZSBwYXJlbm1hdGNoIHBsdWdpbiBkaWRuJ3QgcmVtZW1iZXIgdGhlIGhpZ2hsaWdodGluZyBwZXIgd2luZG93LgorCitVc2luZyAiOmJkIiBmb3IgYSBidWZmZXIgdGhhdCdzIHRoZSBjdXJyZW50IHdpbmRvdyBpbiBhbm90aGVyIHRhYiBwYWdlIGNhdXNlZAorYSBjcmFzaC4KKworRm9yIGEgbmV3IHRhYiBwYWdlIHRoZSAnc2Nyb2xsJyBvcHRpb24gd2Fzbid0IHNldCB0byBhIGdvb2QgZGVmYXVsdC4KKworVXNpbmcgYW4gZW5kIG9mZnNldCBmb3IgYSBzZWFyY2ggIi9wYXQvZSIgZGlkbid0IHdvcmsgcHJvcGVybHkgZm9yIG11bHRpLWJ5dGUKK3RleHQuIChZdWtpaGlybyBOYWthZGFpcmEpCisKKyI6cy9cbi8sLyIgZG91YmxlZCB0aGUgdGV4dCB3aGVuIHVzZWQgb24gdGhlIGxhc3QgbGluZS4KKworV2hlbiAic2VhcmNoIiBpcyBpbiAnZm9sZG9wZW4nICJbcyIgYW5kICJdcyIgbm93IG9wZW4gZm9sZHMuCisKK1doZW4gdXNpbmcgYSBudW1iZXJlZCBmdW5jdGlvbiAiZGljdCIgY2FuIGJlIG9taXR0ZWQsIGJ1dCAic2VsZiIgZGlkbid0IHdvcmsKK3RoZW4uICBBbHdheXMgYWRkIEZDX0RJQ1QgdG8gdGhlIGZ1bmN0aW9uIGZsYWdzIHdoZW4gaXQncyBwYXJ0IG9mIGEKK2RpY3Rpb25hcnkuCisKK1doZW4gIi0tcmVtb3RlLXRhYiIgZXhlY3V0ZXMgbG9jYWxseSBpdCBsZWZ0IGFuIGVtcHR5IHRhYiBwYWdlLgorCisiZ3ZpbSAtdSBOT05FIiwgIjpzZXQgY3Vyc29yY29sdW1uIiwgIkMiIGluIHRoZSBzZWNvbmQgbGluZSBkaWRuJ3QgdXBkYXRlCit0ZXh0LiAgRG8gdXBkYXRlIGZ1cnRoZXIgbGluZXMgZXZlbiB0aG91Z2ggdGhlICIkIiBpcyBkaXNwbGF5ZWQuCisKK1ZNUzogU3VwcG9ydCBHVEsgYmV0dGVyLCBhbHNvIGVuYWJsZSArY2xpZW50c2VydmVyLiAoWm9sdGFuIEFycGFkZmZ5KQorCitXaGVuIGhpZ2hsaWdodGluZyBvZiBzdGF0dXNsaW5lIG9yIHRhYmxpbmUgaXMgY2hhbmdlZCB0aGVyZSB3YXMgbm8gcmVkcmF3IHRvCitzaG93IHRoZSBlZmZlY3QuCisKK01hYzogQWRkZWQgIkNGQnVuZGxlSWRlbnRpZmllciIgdG8gaW5mcGxpc3QueG1sLgorCitBZGRlZCB0YWJwYWdlLWxvY2FsIHZhcmlhYmxlcyB0OnZhci4KKworV2luMzI6IEFkZGVkIGRvdWJsZS1jbGljayBpbiB0YWIgcGFnZXMgbGluZSBjcmVhdGVzIG5ldyB0YWIuIChZZWdhcHBhbgorTGFrc2htYW5hbikKKworTW90aWY6IEFkZGVkIEdVSSB0YWIgcGFnZXMgbGluZS4gKFllZ2FwcGFuIExha3NobWFuYW4pCisKK0ZpeGVkIGNyYXNoIHdoZW4gJ2xpbmVzJyB3YXMgc2V0IHRvIDEwMDAgaW4gYSBtb2RlbGluZS4KKworV2hlbiBpbml0X3NwZWxsZmlsZSgpIGZpbmRzIGEgd3JpdGFibGUgZGlyZWN0b3J5IGluICdydW50aW1lcGF0aCcgYnV0IGl0Citkb2Vzbid0IGNvbnRhaW4gYSAic3BlbGwiIGRpcmVjdG9yeSwgY3JlYXRlIG9uZS4KKworV2luMzI6IGV4ZWN1dGFibGUoKSBhbHNvIGZpbmRzICJ4eGQiIGluIHRoZSBkaXJlY3Rvcnkgd2hlcmUgVmltIHdhcyBzdGFydGVkLAorYnV0ICIheHhkIiBkb2Vzbid0IHdvcmsuICBBcHBlbmQgdGhlIFZpbSBzdGFydGluZyBkaXJlY3RvcnkgdG8gJFBBVEguCisKK1RoZSB0YWIgcGFnZSBsYWJlbHMgYXJlIHNob3J0ZW5lZCwgZGlyZWN0b3J5IG5hbWVzIGFyZSByZWR1Y2VkIHRvIGEgc2luZ2xlCitsZXR0ZXIgYnkgZGVmYXVsdC4gIEFkZGVkIHRoZSBwYXRoc2hvcnRlbigpIGZ1bmN0aW9uIHRvIGFsbG93IGEgdXNlciB0byBkbyB0aGUKK3NhbWUuCisKKyI6c2F2ZWFzIiBub3cgcmVzZXRzICdyZWFkb25seScgaWYgdGhlIGZpbGUgd2FzIHN1Y2Nlc3NmdWxseSB3cml0dGVuLgorCitTZXQgJE1ZVklNUkMgZmlsZSB0byB0aGUgZmlyc3QgZm91bmQgLnZpbXJjIGZpbGUuCitTZXQgJE1ZR1ZJTVJDIGZpbGUgdG8gdGhlIGZpcnN0IGZvdW5kIC5ndmltcmMgZmlsZS4KK0FkZGVkIG1lbnUgaXRlbSAiU3RhcnR1cCBTZXR0aW5ncyIgdGhhdCBlZGl0cyB0aGUgJE1ZVklNUkMgZmlsZQorCitBZGRlZCBtYXRjaGFyZygpLgorCitFcnJvciBtZXNzYWdlIEU3NDUgYXBwZWFyZWQgdHdpY2UuICBSZW5hbWVkIG9uZSB0byBFNzg2LgorCitGaXhlZCBjcmFzaCB3aGVuIHVzaW5nICJhdSBCdWZSZWFkICogU2V4cGxvcmUiIGFuZCBkb2luZyAiOmhlbHAiLiAgV2FzIHdpcGluZworb3V0IGEgYnVmZmVyIHRoYXQncyBzdGlsbCBpbiBhIHdpbmRvdy4KKworIjpoYXJkY29weSIgcmVzdWx0ZWQgaW4gYW4gZXJyb3IgbWVzc2FnZSB3aGVuICdlbmNvZGluZycgaXMgInV0Zi04IiBhbmQKKydwcmludGVuY29kaW5nJyBpcyBlbXB0eS4gIE5vdyBpdCBhc3N1bWVzIGxhdGluMS4gKE1pa2UgV2lsbGlhbXMpCisKK1RoZSBjaGVjayBmb3IgdGhlIHRvb2xiYXIgZmVhdHVyZSBmb3IgTW90aWYsIGRlcGVuZGluZyBvbiBjZXJ0YWluIGluY2x1ZGVkCitmaWxlcywgd2Fzbid0IGRldGFpbGVkIGVub3VnaCwgY2F1c2luZyBidWlsZGluZyB0byBmYWlsIGluIGd1aV94bWVidy5jLgorCitVc2luZyBDVFJMLUUgaW4gSW5zZXJ0IG1vZGUgY29tcGxldGlvbiBhZnRlciBDVFJMLVAgaW5zZXJ0ZWQgdGhlIGZpcnN0IG1hdGNoCitpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCB0ZXh0LgorCitXaGVuIGRpc3BsYXlpbmcgYSBVVEYtOCBjaGFyYWN0ZXIgd2l0aCBhIHplcm8gbG93ZXIgYnl0ZSBWaW0gbWlnaHQgdGhpbmsgdGhlCitwcmV2aW91cyBjaGFyYWN0ZXIgaXMgZG91YmxlLXdpZGUuCisKK1RoZSAibmJzcCIgaXRlbSBvZiAnbGlzdGNoYXJzJyBkaWRuJ3Qgd29yayB3aGVuICdlbmNvZGluZycgd2FzIHV0Zi04LgorCitNb3RpZjogd2hlbiBYbS94cG0uaCBpcyBtaXNzaW5nIGd1aV94bWVidy5jIHdvdWxkIG5vdCBjb21waWxlLgorSEFWRV9YTV9VTkhJR0hMSUdIVFRfSCB3YXMgbWlzc2luZyBhIFQuCisKK01hYzogTW92ZWQgdGhlIC5pY25zIGZpbGVzIGludG8gc3JjL29zX21hY19yc3JjLCBzbyB0aGF0IHRoZXkgY2FuIGFsbCBiZQorY29waWVkIGF0IG9uY2UuICBBZGp1c3RlZCB0aGUgSW5mby5wbGlzdCBmaWxlIGZvciB0aHJlZSBpY29ucy4KKworV2hlbiBWaXN1YWwgbW9kZSBpcyBhY3RpdmUgd2hpbGUgc3dpdGNoaW5nIHRvIGFub3RoZXIgdGFicGFnZSBjb3VsZCBnZXQgbWxfZ2V0CitlcnJvcnMuCisKK1doZW4gJ2xpc3QnIGlzIHNldCwgJ25vd3JhcCcgdGhlICQgaW4gdGhlIGZpcnN0IGNvbHVtbiBjYXVzZWQgJ2N1cnNvcmNvbHVtbicKK3RvIG1vdmUgdG8gdGhlIHJpZ2h0LgorCitXaGVuIGEgbGluZSB3cmFwcywgJ2N1cnNvcmNvbHVtbicgd2FzIG5ldmVyIGRpc3BsYXllZCBwYXN0IHRoZSBlbmQgb2YgdGhlCitsaW5lLgorCiAgdmltOnR3PTc4OnRzPTg6ZnQ9aGVscDpub3JsOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmltYmFsbC50eHQgYi9ydW50aW1lL2RvYy92aW1iYWxsLnR4dAppbmRleCAzMDVhZjk2Li4xZmMxZTM2IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92aW1iYWxsLnR4dAorKysgYi9ydW50aW1lL2RvYy92aW1iYWxsLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp2aW1iYWxsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMjQKKyp2aW1iYWxsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDEKIAogCVZpbWJhbGwgQXJjaGl2ZXIKIApAQCAtNTYsNiArNTYsOSBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAzLiBWaW1iYWxsIEhpc3RvcnkJCQkJCSp2aW1iYWxsLWhpc3RvcnkqCiAKKwk0ICA6IE1hciAzMSwgMjAwNiAqIEJ1ZlJlYWRQb3N0IHNlZW1zIHRvIGZpcmUgdHdpY2U7IEJ1ZlJlYWRFbnRlcgorCSAgICAgICAgICAgICAgICAgICAgb25seSBmaXJlcyBvbmNlLCBzbyB0aGUgIlNvdXJjZSB0aGlzIGZpbGUuLi4iCisJCQkgICAgbWVzc2FnZSBpcyBub3cgaXNzdWVkIG9ubHkgb25jZS4KIAkzICA6IE1hciAyMCwgMjAwNiAqIHJlbW92ZWQgcXVlcnksIG5vdyByZXF1aXJlcyBzb3VyY2luZyB0byBiZQogCSAgICAgICAgICAgICAgICAgICAgZXh0cmFjdGVkICg6c28gJSkuICBNZXNzYWdlIHRvIHRoYXQgZWZmZWN0CiAJCQkgICAgaW5jbHVkZWQuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy93aW5kb3dzLnR4dCBiL3J1bnRpbWUvZG9jL3dpbmRvd3MudHh0CmluZGV4IDk1NDM3M2UuLmI2ZGI1NDAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3dpbmRvd3MudHh0CisrKyBiL3J1bnRpbWUvZG9jL3dpbmRvd3MudHh0CkBAIC0xLDQgKzEsNCBAQAotKndpbmRvd3MudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDExCisqd2luZG93cy50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTMzLDcgKzMzLDcgQEAKIGRpc2FibGVkIGF0IGNvbXBpbGUgdGltZX0KIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0xLiBJbnRyb2R1Y3Rpb24JCQkJCQkqd2luZG93cy1pbnRybyoKKzEuIEludHJvZHVjdGlvbgkJCQkJKndpbmRvd3MtaW50cm8qICp3aW5kb3cqCiAKIEEgd2luZG93IGlzIGEgdmlld3BvcnQgb250byBhIGJ1ZmZlci4gIFlvdSBjYW4gdXNlIG11bHRpcGxlIHdpbmRvd3Mgb24gb25lCiBidWZmZXIsIG9yIHNldmVyYWwgd2luZG93cyBvbiBkaWZmZXJlbnQgYnVmZmVycy4KQEAgLTYxOCwxMyArNjE4LDE1IEBACiAJCVRoZSB8YXJndW1lbnQtbGlzdHwgaXMgc2V0LCBsaWtlIHdpdGggdGhlIHw6bmV4dHwgY29tbWFuZC4KIAkJVGhlIHB1cnBvc2Ugb2YgdGhpcyBjb21tYW5kIGlzIHRoYXQgaXQgY2FuIGJlIHVzZWQgZnJvbSBhCiAJCXByb2dyYW0gdGhhdCB3YW50cyBWaW0gdG8gZWRpdCBhbm90aGVyIGZpbGUsIGUuZy4sIGEgZGVidWdnZXIuCisJCVdoZW4gdXNpbmcgdGhlIHw6dGFifCBtb2RpZmllciBlYWNoIGFyZ3VtZW50IGlzIG9wZW5lZCBpbiBhCisJCXRhYiBwYWdlLiAgVGhlIGxhc3Qgd2luZG93IGlzIHVzZWQgaWYgaXQncyBlbXB0eS4KIAkJe29ubHkgYXZhaWxhYmxlIHdoZW4gY29tcGlsZWQgd2l0aCB0aGUgK2d1aSBmZWF0dXJlfQogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDguIERvIGEgY29tbWFuZCBpbiBhbGwgYnVmZmVycyBvciB3aW5kb3dzCQkJKmxpc3QtcmVwZWF0KgogCiAJCQkJCQkJKjp3aW5kbyoKLTp3aW5kb1shXSB7Y21kfQkJRXhlY3V0ZSB7Y21kfSBpbiBlYWNoIHdpbmRvdy4KKzp3aW5kbyB7Y21kfQkJRXhlY3V0ZSB7Y21kfSBpbiBlYWNoIHdpbmRvdy4KIAkJCUl0IHdvcmtzIGxpa2UgZG9pbmcgdGhpczogPgogCQkJCUNUUkwtVyB0CiAJCQkJOntjbWR9Cg==