ZGlmZiAtLWdpdCBhL0xpYi9pZGxlbGliL0NSRURJVFMudHh0IGIvTGliL2lkbGVsaWIvQ1JFRElUUy50eHQKaW5kZXggZjhlMzVkNC4uNWZmNTk5ZCAxMDA2NDQKLS0tIGEvTGliL2lkbGVsaWIvQ1JFRElUUy50eHQKKysrIGIvTGliL2lkbGVsaWIvQ1JFRElUUy50eHQKQEAgLTIsOSArMiw5IEBACiBvcmlnaW5hbCBjcmVhdG9yIG9mIElETEUuICBPdGhlciBjb250cmlidXRvcnMgcHJpb3IgdG8gVmVyc2lvbiAwLjggaW5jbHVkZQogTWFyayBIYW1tb25kLCBKZXJlbXkgSHlsdG9uLCBUaW0gUGV0ZXJzLCBhbmQgTW9zaGUgWmFka2EuCiAKLUlETEUncyByZWNlbnQgZGV2ZWxvcG1lbnQgaGFzIGJlZW4gY2FycmllZCBvdXQgaW4gdGhlIElETEVmb3JrIHByb2plY3QuCi1UaGUgb2JqZWN0aXZlIHdhcyB0byBkZXZlbG9wIGEgdmVyc2lvbiBvZiBJRExFIHdoaWNoIGhhZCBhbiBleGVjdXRpb24KLWVudmlyb25tZW50IHdoaWNoIGNvdWxkIGJlIGluaXRpYWxpemVkIHByaW9yIHRvIGVhY2ggcnVuIG9mIHVzZXIgY29kZS4KK0lETEUncyByZWNlbnQgZGV2ZWxvcG1lbnQgd2FzIGNhcnJpZWQgb3V0IGluIHRoZSBTRiBJRExFZm9yayBwcm9qZWN0LiBUaGUKK29iamVjdGl2ZSB3YXMgdG8gZGV2ZWxvcCBhIHZlcnNpb24gb2YgSURMRSB3aGljaCBoYWQgYW4gZXhlY3V0aW9uIGVudmlyb25tZW50Cit3aGljaCBjb3VsZCBiZSBpbml0aWFsaXplZCBwcmlvciB0byBlYWNoIHJ1biBvZiB1c2VyIGNvZGUuCiAKIFRoZSBJRExFZm9yayBwcm9qZWN0IHdhcyBpbml0aWF0ZWQgYnkgRGF2aWQgU2NoZXJlciwgd2l0aCBzb21lIGhlbHAgZnJvbSBQZXRlcgogU2NobmVpZGVyLUthbXAgYW5kIE5pY2hvbGFzIFJpbGV5LiAgRGF2aWQgd3JvdGUgdGhlIGZpcnN0IHZlcnNpb24gb2YgdGhlIFJQQwpAQCAtMTIsNyArMTIsNyBAQAogdGhlIFJQQyBjb2RlIGFuZCBSZW1vdGUgRGVidWdnZXIgY3VycmVudGx5IGludGVncmF0ZWQgaW4gSURMRS4gIEJydWNlIFNoZXJ3b29kCiBjb250cmlidXRlZCBjb25zaWRlcmFibGUgdGltZSB0ZXN0aW5nIGFuZCBzdWdnZXN0aW5nIGltcHJvdmVtZW50cy4KIAotQmVzaWRlcyBEYXZpZCBhbmQgR3VpZG8sIHRoZSBtYWluIGRldmVsb3BlcnMgd2hvIGhhdmUgYmVlbiBhY3RpdmUgb24gSURMRWZvcmsKK0Jlc2lkZXMgRGF2aWQgYW5kIEd1aWRvLCB0aGUgbWFpbiBkZXZlbG9wZXJzIHdobyB3ZXJlIGFjdGl2ZSBvbiBJRExFZm9yawogYXJlIFN0ZXBoZW4gTS4gR2F2YSwgd2hvIGltcGxlbWVudGVkIHRoZSBjb25maWd1cmF0aW9uIEdVSSwgdGhlIG5ldwogY29uZmlndXJhdGlvbiBzeXN0ZW0sIGFuZCB0aGUgQWJvdXQgZGlhbG9nLCBhbmQgS3VydCBCLiBLYWlzZXIsIHdobyBjb21wbGV0ZWQKIHRoZSBpbnRlZ3JhdGlvbiBvZiB0aGUgUlBDIGFuZCByZW1vdGUgZGVidWdnZXIsIGltcGxlbWVudGVkIHRoZSB0aHJlYWRlZApAQCAtMjQsOCArMjQsOSBAQAogaW50ZWdyYXRpb24sIGRlYnVnZ2VyIGludGVncmF0aW9uIGFuZCBwZXJzaXN0ZW50IGJyZWFrcG9pbnRzKS4KIAogU2NvdHQgRGF2aWQgRGFuaWVscywgVGFsIEVpbmF0LCBIZXJuYW4gRm9mZmFuaSwgQ2hyaXN0b3MgR2Vvcmdpb3UsCi1KaW0gSmV3ZXR0LCBNYXJ0aW4gdi4gTMO2d2lzLCBKYXNvbiBPcmVuZG9yZmYsIEpvc2ggUm9iYiwgTmlnZWwgUm93ZSwKLUJydWNlIFNoZXJ3b29kLCBhbmQgSmVmZiBTaHV0ZSBoYXZlIHN1Ym1pdHRlZCB1c2VmdWwgcGF0Y2hlcy4gIFRoYW5rcywgZ3V5cyEKK0ppbSBKZXdldHQsIE1hcnRpbiB2LiBM9ndpcywgSmFzb24gT3JlbmRvcmZmLCBHdWlsaGVybWUgUG9sbywgSm9zaCBSb2JiLAorTmlnZWwgUm93ZSwgQnJ1Y2UgU2hlcndvb2QsIEplZmYgU2h1dGUsIGFuZCBXZWVibGUgaGF2ZSBzdWJtaXR0ZWQgdXNlZnVsCitwYXRjaGVzLiAgVGhhbmtzLCBndXlzIQogCiBGb3IgYWRkaXRpb25hbCBkZXRhaWxzIHJlZmVyIHRvIE5FV1MudHh0IGFuZCBDaGFuZ2Vsb2cuCiAKZGlmZiAtLWdpdCBhL0xpYi9pZGxlbGliL0VkaXRvcldpbmRvdy5weSBiL0xpYi9pZGxlbGliL0VkaXRvcldpbmRvdy5weQppbmRleCBjZWU3NzY3Li5hMzhjZGQxIDEwMDY0NAotLS0gYS9MaWIvaWRsZWxpYi9FZGl0b3JXaW5kb3cucHkKKysrIGIvTGliL2lkbGVsaWIvRWRpdG9yV2luZG93LnB5CkBAIC0yNCw2ICsyNCwxNiBAQAogIyBUaGUgZGVmYXVsdCB0YWIgc2V0dGluZyBmb3IgYSBUZXh0IHdpZGdldCwgaW4gYXZlcmFnZS13aWR0aCBjaGFyYWN0ZXJzLgogVEtfVEFCV0lEVEhfREVGQVVMVCA9IDgKIAorZGVmIF9zcGhpbnhfdmVyc2lvbigpOgorICAgICJGb3JtYXQgc3lzLnZlcnNpb25faW5mbyB0byBwcm9kdWNlIHRoZSBTcGhpbnggdmVyc2lvbiBzdHJpbmcgdXNlZCB0byBpbnN0YWxsIHRoZSBjaG0gZG9jcyIKKyAgICBtYWpvciwgbWlub3IsIG1pY3JvLCBsZXZlbCwgc2VyaWFsID0gc3lzLnZlcnNpb25faW5mbworICAgIHJlbGVhc2UgPSAnJXMlcycgJSAobWFqb3IsIG1pbm9yKQorICAgIGlmIG1pY3JvOgorICAgICAgICByZWxlYXNlICs9ICclcycgJSBtaWNybworICAgIGlmIGxldmVsICE9ICdmaW5hbCc6CisgICAgICAgIHJlbGVhc2UgKz0gJyVzJXMnICUgKGxldmVsWzBdLCBzZXJpYWwpCisgICAgcmV0dXJuIHJlbGVhc2UKKwogZGVmIF9maW5kX21vZHVsZShmdWxsbmFtZSwgcGF0aD1Ob25lKToKICAgICAiIiJWZXJzaW9uIG9mIGltcC5maW5kX21vZHVsZSgpIHRoYXQgaGFuZGxlcyBoaWVyYXJjaGljYWwgbW9kdWxlIG5hbWVzIiIiCiAKQEAgLTY2LDE1ICs3NiwxMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb2MnLCAnaW5kZXguaHRtbCcpCiAgICAgICAgICAgICBlbGlmIHN5cy5wbGF0Zm9ybVs6M10gPT0gJ3dpbic6CiAgICAgICAgICAgICAgICAgY2htZmlsZSA9IG9zLnBhdGguam9pbihzeXMucHJlZml4LCAnRG9jJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQeXRob24lZCVkLmNobScgJSBzeXMudmVyc2lvbl9pbmZvWzoyXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQeXRob24lcy5jaG0nICUgX3NwaGlueF92ZXJzaW9uKCkpCiAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoY2htZmlsZSk6CiAgICAgICAgICAgICAgICAgICAgIGRvY2hvbWUgPSBjaG1maWxlCi0KICAgICAgICAgICAgIGVsaWYgbWFjb3N4U3VwcG9ydC5ydW5uaW5nQXNPU1hBcHAoKToKICAgICAgICAgICAgICAgICAjIGRvY3VtZW50YXRpb24gaXMgc3RvcmVkIGluc2lkZSB0aGUgcHl0aG9uIGZyYW1ld29yawogICAgICAgICAgICAgICAgIGRvY2hvbWUgPSBvcy5wYXRoLmpvaW4oc3lzLnByZWZpeCwKICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZXMvRW5nbGlzaC5scHJvai9Eb2N1bWVudGF0aW9uL2luZGV4Lmh0bWwnKQotCiAgICAgICAgICAgICBkb2Nob21lID0gb3MucGF0aC5ub3JtcGF0aChkb2Nob21lKQogICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoZG9jaG9tZSk6CiAgICAgICAgICAgICAgICAgRWRpdG9yV2luZG93LmhlbHBfdXJsID0gZG9jaG9tZQpkaWZmIC0tZ2l0IGEvTGliL2lkbGVsaWIvTkVXUy50eHQgYi9MaWIvaWRsZWxpYi9ORVdTLnR4dAppbmRleCA5MDcyZGU1Li5jMTExMjMyIDEwMDY0NAotLS0gYS9MaWIvaWRsZWxpYi9ORVdTLnR4dAorKysgYi9MaWIvaWRsZWxpYi9ORVdTLnR4dApAQCAtMjcsNiArMjcsOSBAQAogCiAqUmVsZWFzZSBkYXRlOiBYWC1YWFgtMjAwOSoKIAorLSBXaW5kb3dzOiBWZXJzaW9uIHN0cmluZyBmb3IgdGhlIC5jaG0gaGVscCBmaWxlIGNoYW5nZWQsIGZpbGUgbm90IGJlaW5nCisgIGFjY2Vzc2VkICBQYXRjaCA1NzgzIEd1aWxoZXJtZSBQb2xvCisKIC0gQWxsb3cgbXVsdGlwbGUgSURMRSBHVUkvc3VicHJvY2VzcyBwYWlycyB0byBleGlzdCBzaW11bHRhbmVvdXNseS4gVGhhbmtzIHRvCiAgIERhdmlkIFNjaGVyZXIgZm9yIHN1Z2dlc3RpbmcgdGhlIHVzZSBvZiBhbiBlcGhlbWVyYWwgcG9ydCBmb3IgdGhlIEdVSS4KICAgUGF0Y2ggMTUyOTE0MiBXZWVibGUuCg==