From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Sergio Durigan Junior To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: - Rebase to FSF GDB 8.0.50.20171204 (8.1pre). Date: Thu, 23 Jul 2026 18:33:04 GMT Message-ID: <178483158462.1.6951805038473102091.rpms-gdb-f637971ee3a8@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: f637971ee3a84a49b66aebeea4d4818583412ab8 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGZpeC1kdXAtcGF0Y2gKICAgICAg ICAgICAgQ29tbWl0IDogZjYzNzk3MWVlM2E4NGE0OWI2NmFlYmVlYTRkNDgxODU4MzQxMmFiOAog ICAgICAgICAgICBBdXRob3IgOiBTZXJnaW8gRHVyaWdhbiBKdW5pb3IgPHNlcmdpb2RqQHJlZGhh dC5jb20+CiAgICAgICAgICAgIERhdGUgICA6IDIwMTctMTItMDdUMjM6MzE6MjYtMDU6MDAKICAg ICAgICAgICAgU3RhdHMgIDogKzk2NTYvLTE0Mzg1IGluIDE4MyBmaWxlKHMpCiAgICAgICAgICAg IFVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZ2RiL2MvZjYzNzk3 MWVlM2E4NGE0OWI2NmFlYmVlYTRkNDgxODU4MzQxMmFiOD9icmFuY2g9Zml4LWR1cC1wYXRjaAoK ICAgICAgICAgICAgTG9nOgogICAgICAgICAgICAtIFJlYmFzZSB0byBGU0YgR0RCIDguMC41MC4y MDE3MTIwNCAoOC4xcHJlKS4KLSBJbXBsZW1lbnRlZCBuZXcgbWV0aG9kIGZvciBkZWFsaW5nIHdp dGggbG9jYWwgcGF0Y2hlcy4KCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25v cmUKaW5kZXggYjlhNTRiYi4uNjIyMzliNCAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8u Z2l0aWdub3JlCkBAIC0xLDMgKzEsNCBAQAogL2dkYi1saWJzdGRjKystdjMtcHl0aG9uLTcuMS4x LTIwMTcwNTI2LnRhci54egogL3YxLjYuMS50YXIuZ3oKIC9nZGItOC4wLjEudGFyLnh6CisvZ2Ri LTguMC41MC4yMDE3MTIwNC50YXIueHoKCmRpZmYgLS1naXQgYS9SRUFETUUubG9jYWwtcGF0Y2hl cyBiL1JFQURNRS5sb2NhbC1wYXRjaGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmMxYzdhYjMKLS0tIC9kZXYvbnVsbAorKysgYi9SRUFETUUubG9jYWwtcGF0Y2hlcwpAQCAt MCwwICsxLDk2IEBACitGZWRvcmEgR0RCIGxvY2FsIHBhdGNoZXMgcG9saWN5Cis9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CisKK0luIG9yZGVyIHRvIG1ha2UgdGhpbmdzIGVhc2llciBm b3IgdGhlIEZlZG9yYSBHREIgbWFpbnRhaW5lciwgd2UKK2Nob29zZSB0byBhdXRvLWdlbmVyYXRl IHRoZSBsb2NhbCBwYXRjaGVzIGJ5IG1ha2luZyB1c2Ugb2YgYW4gdXBzdHJlYW0KK2dpdCByZXBv c2l0b3J5LiAgQmVsb3cgeW91IGNhbiBmaW5kIGEgZmV3IGluc3RydWN0aW9ucyBvbiBob3cgdG8g d29yawordXNpbmcgdGhpcyBtZXRob2QuCisKK1lvdSBuZWVkIHRvIHJ1biB0aGUgZm9sbG93aW5n IGNvbW1hbmRzIGZyb20gdGhlIGRpcmVjdG9yeSB0aGF0Citjb250YWlucyB0aGUgImdkYi5zcGVj IiBmaWxlLgorCisjIyMgSW1wb3J0aW5nIHRoZSBHREIgcGF0Y2hlcyBpbnRvIGEgZ2l0IHJlcG9z aXRvcnkKKworMSkgVGhlIGxvY2FsIHBhdGNoZXMgKCoucGF0Y2gpIG5lZWQgdG8gYmUgaW1wb3J0 ZWQgaW50byBhbiB1cHN0cmVhbQorZ2l0IHJlcG9zaXRvcnkuICBGb3IgZXhhbXBsZSwgbGV0J3Mg YXNzdW1lIHlvdSBjbG9uZWQgdGhlIHJlcG9zaXRvcnkKK2J5IGRvaW5nOgorCisgICQgZ2l0IGNs b25lIGdpdDovL3NvdXJjZXdhcmUub3JnL2dpdC9iaW51dGlscy1nZGIuZ2l0CisKKyAgIyMgVElQ OiBpZiB5b3UgYWxyZWFkeSBoYXZlIHRoZSByZXBvc2l0b3J5IGNsb25lZCBzb21ld2hlcmUgaW4g eW91cgorICAjIyBzeXN0ZW0sIHlvdSBjYW4gcGFzcyBhICItLXJlZmVyZW5jZSA8ZGlyPiIgdG8g dGhlICJnaXQgY2xvbmUiCisgICMjIGNvbW1hbmQgYW5kIGl0IHdpbGwgdXNlIHlvdXIgbG9jYWwg cmVwb3NpdG9yeSBhcyBtdWNoIGFzIHBvc3NpYmxlCisgICMjIHRvIG1ha2UgdGhlIGNsb25lLCBz cGVlZGluZyB1cCB0aGluZ3MuCisKKzIpIEFmdGVyIGNsb25pbmcgdGhlIHVwc3RyZWFtIHJlcG9z aXRvcnksIHlvdSBjYW4gaW1wb3J0IHlvdXIgcGF0Y2hlcworYnkgdXNpbmcgdGhlIHNjcmlwdCAi Z2VuZXJhdGUtZ2l0LXJlcG8tZnJvbS1wYXRjaGVzLnNoIjoKKworICAkIHNoIGdlbmVyYXRlLWdp dC1yZXBvLWZyb20tcGF0Y2hlcy5zaCA8UkVQT1NJVE9SWV9ESVI+CisKK1RoZSBzY3JpcHQgd2ls bCBiYXNpY2FsbHkgY2QgaW50byB0aGUgcmVwb3NpdG9yeSwgY2hlY2tvdXQgdGhlCityZXZpc2lv biBzcGVjaWZpZWQgaW4gdGhlIGZpbGUgIl9naXRfdXBzdHJlYW1fY29tbWl0IiwgaXRlcmF0ZSB0 aHJvdWdoCit0aGUgZmlsZSAiX3BhdGNoX29yZGVyIiBhbmQgImdpdC1hbSIgZXZlcnkgcGF0Y2gg KmluIHRoYXQgb3JkZXIqLgorVGhpcyBvcGVyYXRpb24gc2hvdWxkIGNvbXBsZXRlIHdpdGhvdXQg ZXJyb3JzOyBpZiB5b3UgZmluZCBhIHByb2JsZW0KK3dpdGggImdpdC1hbSIsIGl0IHByb2JhYmx5 IG1lYW5zIHRoYXQgdGhlIHJldmlzaW9uIHNwZWNpZmllZCBpbiB0aGUKK2ZpbGUgIl9naXRfdXBz dHJlYW1fY29tbWl0IiBpcyB3cm9uZy4KKworIyMjIFJlYmFzaW5nIHRoZSBwYXRjaGVzIGFnYWlu c3QgYSBuZXdlciB2ZXJzaW9uL3JlbGVhc2UKKworMSkgRmlyc3QsIGNkIGludG8gdGhlIHVwc3Ry ZWFtIHJlcG9zaXRvcnkuICBBbGwgeW91IGhhdmUgdG8gZG8gaXMKK2Nob29zZSB0aGUgcmV2aXNp b24gYWdhaW5zdCB3aGljaCB5b3UgcGxhbiB0byByZWJhc2UgdGhlIHBhdGNoZXMsIGFuZAorImdp dCByZWJhc2UgPFJFVklTSU9OPiIuICBnaXQgd2lsbCBkbyB0aGUgcmVzdCwgYW5kIHlvdSB3aWxs IGJlIGFibGUKK3RvIHBlcmZvcm0gY29uZmxpY3QgcmVzb2x1dGlvbiBieSBnaXQncyBhbGdvcml0 aG0sIHdoaWNoIGlzIHNtYXJ0ZXIuCisKKyMjIyBDcmVhdGluZyBuZXcgcGF0Y2hlcworCisxKSBD cmVhdGUgdGhlIG5ldyBwYXRjaCBvbiB0b3Agb2YgdGhlIHRoZSBvdGhlcnMsIGFzIHVzdWFsLiAg Tm90ZSB0aGF0Cit5b3UgY2FuIHVzZSAiZ2l0IHJlYmFzZSIgd2hlbmV2ZXIgeW91IHdhbnQgdG8g cmVvcmRlciBwYXRjaCBvcmRlciwgb3IKK2V2ZW4gdG8gZGVsZXRlIGEgcGF0Y2guCisKKzIpIFdo ZW4gd3JpdGluZyB0aGUgY29tbWl0IGxvZywgeW91IG11c3Qgb2JleSBhIGZldyBydWxlcy4gIFRo ZQorc3ViamVjdCBsaW5lIGNhbiBiZSBhbnl0aGluZywgYnV0IHRoZSBib2R5ICptdXN0KiBoYXZl IHRoZSBmb2xsb3dpbmcKK3NwZWNpYWwgbGluZToKKworICBGaWxlTmFtZTogbmFtZS1vZi10aGUt cGF0Y2gucGF0Y2gKKworVGhpcyBsaW5lIHdpbGwgYmUgdXNlZCB3aGVuIGV4cG9ydGluZyB0aGUg cGF0Y2hlcyBmcm9tIHRoZSBnaXQKK3JlcG9zaXRvcnksIGFuZCAob2J2aW91c2x5KSBpdCBnaXZl cyB0aGUgZmlsZW5hbWUgdGhhdCBzaG91bGQgYmUgdXNlZAorZm9yIHRoaXMgc3BlY2lmaWMgcGF0 Y2guCisKKzMpIFlvdSBjYW4gYWxzbyBhZGQgY29tbWVudHMgdGhhdCB3aWxsIGdvIGludG8gdGhl IGF1dG8tZ2VuZXJhdGVkCisiUGF0Y2g6IiBmaWxlIChzZWUgYmVsb3cpLiAgVG8gZG8gdGhhdCwg dXNlIHRoZSBzcGVjaWFsIG1hcmtlciAiOzsiIGF0Cit0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaW5l LiAgVGhpcyB3YXksIGEgY29tbWl0IGxvZyB0aGF0IHNheXM6CisKKyAgRmlsZU5hbWU6IHRlc3Qt cGF0Y2gucGF0Y2gKKworICA7OyBUaGlzIGlzIGEgdGVzdCBwYXRjaAorICA7OyBTZWNvbmQgbGlu ZQorCitXaWxsIGdlbmVyYXRlIHRoZSBmb2xsb3dpbmcgZW50cnkgaW4gdGhlIGF1dG8tZ2VuZXJh dGVkICJQYXRjaDoiIGZpbGU6CisKKyAgIyBUaGlzIGlzIGEgdGVzdCBwYXRjaAorICAjIFNlY29u ZCBsaW5lCisgIFBhdGNoWFlaOiB0ZXN0LXBhdGNoLnBhdGNoCisKKyMjIyBFeHBvcnRpbmcgdGhl IEdEQiBwYXRjaGVzIGZyb20gdGhlIGdpdCByZXBvc2l0b3J5CisKKzEpIFdoZW4geW91J3JlIGRv bmUgd29ya2luZyB3aXRoIHRoZSBwYXRjaGVzLCBnbyBiYWNrIHRvIHRoZSBkaXJlY3RvcnkKK3Ro YXQgY29udGFpbnMgdGhlICJnZGIuc3BlYyIgZmlsZSwgYW5kIGZyb20gdGhlcmUgeW91IHJ1bjoK KworICAkIHNoIGdlbmVyYXRlLXBhdGNoZXMtZnJvbS1naXQtcmVwby5zaCA8UkVQT1NJVE9SWV9E SVI+CisKK1RoaXMgd2lsbCByZWdlbmVyYXRlIGFsbCBvZiB0aGUgKi5wYXRjaCBmaWxlcyAoZXhj bHVkaW5nIHRoZSBvbmVzIHRoYXQKK3dlcmUgYWxzbyBleGNsdWRlZCBmcm9tIHRoZSBnaXQgcmVw b3NpdG9yeSksIGFuZCBhbHNvIHJlZ2VuZXJhdGUgYSBmZXcKK2NvbnRyb2wgZmlsZXMuICBUaGVz ZSBjb250cm9sIGZpbGVzIGFyZToKKworICAtIF9nZGIuc3BlYy5QYXRjaC5pbmNsdWRlOiBUaGlz IGZpbGUgY29udGFpbnMgdGhlICJQYXRjaDoiIGRpcmVjdGl2ZXMuCisKKyAgLSBfZ2RiLnNwZWMu cGF0Y2guaW5jbHVkZTogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSAiJXBhdGNoIiBkaXJlY3RpdmVz LgorCisgIC0gX3BhdGNoX29yZGVyOiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIHBhdGNoZXMsIGlu IHRoZSBleGFjdCBvcmRlcgorICAgIHRoYXQgdGhleSBtdXN0IGJlIGFwcGxpZWQuICBJdCBpcyB1 c2VkIHdoZW4gaW1wb3J0aW5nIHRoZSBwYXRjaGVzCisgICAgaW50byB0aGUgZ2l0IHJlcG9zaXRv cnkuCisKKyAgLSBfZ2l0X3Vwc3RyZWFtX2NvbW1pdDogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBs YXN0IHVwc3RyZWFtIGNvbW1pdAorICAgIGFnYWluc3Qgd2hpY2ggdGhlIHBhdGNoZXMgd2VyZSBy ZWJhc2VkLiAgSXQgaXMgdXNlZCB3aGVuIGltcG9ydGluZworICAgIHRoZSBwYXRjaGVzIGludG8g dGhlIGdpdCByZXBvc2l0b3J5LgoKZGlmZiAtLWdpdCBhL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRl IGIvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uYzNkZmExMwotLS0gL2Rldi9udWxsCisrKyBiL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRl CkBAIC0wLDAgKzEsNTMxIEBACisjIE1hdGNoIHRoZSBGZWRvcmEncyB2ZXJzaW9uIGluZm8uCisj PWZlZG9yYQorUGF0Y2gwMDE6IGdkYi02LjMtcmgtdGVzdHZlcnNpb24tMjAwNDEyMDIucGF0Y2gK KworIyBWTEEgKEZvcnRyYW4gZHluYW1pYyBhcnJheXMpIGZyb20gSW50ZWwgKyBhcmNoZXItamFu a3JhdG9jaHZpbC12bGEgdGVzdHMuCisjPXB1c2gKK1BhdGNoMDAyOiBnZGItdmxhLWludGVsLWZv cnRyYW4tc3RyaWRlcy5wYXRjaAorCisjPXB1c2gKK1BhdGNoMDAzOiBnZGItdmxhLWludGVsLWZv cnRyYW4tdmxhLXN0cmluZ3MucGF0Y2gKKworIz1wdXNoK2phbgorUGF0Y2gwMDQ6IGdkYi12bGEt aW50ZWwtc3RyaW5nYnQtZml4LnBhdGNoCisKKyMgV29yayBhcm91bmQgb3V0LW9mLWRhdGUgZGVq YWdudSB0aGF0IGRvZXMgbm90IGhhdmUgS0ZBSUwKKyM9cHVzaDogVGhhdCBkZWphZ251IGlzIHRv byBvbGQgdG8gYmUgc3VwcG9ydGVkLgorUGF0Y2gwMDU6IGdkYi02LjMtcmgtZHVtbXlrZmFpbC0y MDA0MTIwMi5wYXRjaAorCisjIEJldHRlciBwYXJzZSA2NC1iaXQgUFBDIHN5c3RlbSBjYWxsIHBy b2xvZ3Vlcy4KKyM9cHVzaDogV3JpdGUgbmV3IHRlc3RjYXNlLgorUGF0Y2gwMDY6IGdkYi02LjMt cHBjNjRzeXNjYWxsLTIwMDQwNjIyLnBhdGNoCisKKyMgSW5jbHVkZSB0aGUgcGMncyBzZWN0aW9u IHdoZW4gZG9pbmcgYSBzeW1ib2wgbG9va3VwIHNvIHRoYXQgdGhlCisjIGNvcnJlY3Qgc3ltYm9s IGlzIGZvdW5kLgorIz1wdXNoOiBXcml0ZSBuZXcgdGVzdGNhc2UuCitQYXRjaDAwNzogZ2RiLTYu My1wcGM2NGRpc3BsYXlzeW1ib2wtMjAwNDExMjQucGF0Y2gKKworIyBBZGQgYSB3cmFwcGVyIHNj cmlwdCB0byBHREIgdGhhdCBpbXBsZW1lbnRzIHBzdGFjayB1c2luZyB0aGUKKyMgLS1yZWFkbmV2 ZXIgb3B0aW9uLgorIz1wdXNoCitQYXRjaDAwODogZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEucGF0 Y2gKKworIyBWU1lTQ0FMTCBhbmQgUElFCisjPWZlZG9yYXRlc3QKK1BhdGNoMDA5OiBnZGItNi4z LXRlc3QtcGllLTIwMDUwMTA3LnBhdGNoCisKKyMgR2V0IHNlbGZ0ZXN0IHdvcmtpbmcgd2l0aCBz ZXAtZGVidWctaW5mbworIz1mZWRvcmF0ZXN0CitQYXRjaDAxMDogZ2RiLTYuMy10ZXN0LXNlbGYt MjAwNTAxMTAucGF0Y2gKKworIyBUZXN0IHN1cHBvcnQgb2YgbXVsdGlwbGUgZGVzdHJ1Y3RvcnMg anVzdCBsaWtlIG11bHRpcGxlIGNvbnN0cnVjdG9ycworIz1mZWRvcmF0ZXN0CitQYXRjaDAxMTog Z2RiLTYuMy10ZXN0LWR0b3JmaXgtMjAwNTAxMjEucGF0Y2gKKworIyBGaXggdG8gc3VwcG9ydCBl eGVjdXRhYmxlIG1vdmluZworIz1mZWRvcmF0ZXN0CitQYXRjaDAxMjogZ2RiLTYuMy10ZXN0LW1v dmVkaXItMjAwNTAxMjUucGF0Y2gKKworIyBUZXN0IHNpYmxpbmcgdGhyZWFkcyB0byBzZXQgdGhy ZWFkZWQgd2F0Y2hwb2ludHMgZm9yIHg4NiBhbmQgeDg2LTY0CisjPWZlZG9yYXRlc3QKK1BhdGNo MDEzOiBnZGItNi4zLXRocmVhZGVkLXdhdGNocG9pbnRzMi0yMDA1MDIyNS5wYXRjaAorCisjIE5v dGlmeSBvYnNlcnZlcnMgdGhhdCB0aGUgaW5mZXJpb3IgaGFzIGJlZW4gY3JlYXRlZAorIz1mZWRv cmF0ZXN0CitQYXRjaDAxNDogZ2RiLTYuMy1pbmZlcmlvci1ub3RpZmljYXRpb24tMjAwNTA3MjEu cGF0Y2gKKworIyBWZXJpZnkgcHJpbnRpbmcgb2YgaW5oZXJpdGVkIG1lbWJlcnMgdGVzdAorIz1m ZWRvcmF0ZXN0CitQYXRjaDAxNTogZ2RiLTYuMy1pbmhlcml0YW5jZXRlc3QtMjAwNTA3MjYucGF0 Y2gKKworIyBBZGQgcmVhZG5ldmVyIG9wdGlvbgorIz1wdXNoCitQYXRjaDAxNjogZ2RiLTYuMy1y ZWFkbmV2ZXItMjAwNTA5MDcucGF0Y2gKKworIyBGaXggZGVidWdpbmZvIGFkZHJlc3NlcyByZXNv bHZpbmcgZm9yIC0tZW1pdC1yZWxvY3MgTGludXgga2VybmVscyAoQlogMjAzNjYxKS4KKyM9cHVz aCtqYW46IFRoZXJlIHdhcyBzb21lIG1haWwgdGhyZWFkIGFib3V0IGl0LCB0aGlzIHBhdGNoIG1h eSBiZSBhIGhhY2suCitQYXRjaDAxNzogZ2RiLTYuNS1iejIwMzY2MS1lbWl0LXJlbG9jcy5wYXRj aAorCisjIFN1cHBvcnQgVExTIHN5bWJvbHMgKCtgZXJybm8nIHN1Z2dlc3Rpb24gaWYgbm8gcHRo cmVhZCBpcyBmb3VuZCkgKEJaIDE4NTMzNykuCisjPXB1c2gramFuOiBJdCBzaG91bGQgYmUgcmVw bGFjZWQgYnkgSW5maW5pdHkgcHJvamVjdC4KK1BhdGNoMDE4OiBnZGItNi41LWJ6MTg1MzM3LXJl c29sdmUtdGxzLXdpdGhvdXQtZGVidWdpbmZvLXYyLnBhdGNoCisKKyMgRml4IFRMUyBzeW1ib2xz IHJlc29sdmluZyBmb3Igc2hhcmVkIGxpYnJhcmllcyB3aXRoIGEgcmVsYXRpdmUgcGF0aG5hbWUu CisjIFRoZSB0ZXN0c3VpdGUgbmVlZHMgYGdkYi02LjUtdGxzLW9mLXNlcGFyYXRlLWRlYnVnaW5m by5wYXRjaCcuCisjPWZlZG9yYXRlc3Q6IE9uZSBzaG91bGQgcmVjaGVjayBpZiBpdCBpcyByZWFs bHkgZml4ZWQgdXBzdHJlYW0uCitQYXRjaDAxOTogZ2RiLTYuNS1zaGFyZWRsaWJyYXJ5LXBhdGgu cGF0Y2gKKworIyBJbXByb3ZlZCB0ZXN0c3VpdGUgcmVzdWx0cyBieSB0aGUgdGVzdHN1aXRlIHBy b3ZpZGVkIGJ5IHRoZSBjb3VydGVzeSBvZiBCRUEuCisjPWZlZG9yYXRlc3Q6IEZvciB1cHN0cmVh bSBpdCBzaG91bGQgYmUgcmV3cml0dGVuIGFzIGEgZGVqYWdudSB0ZXN0LCB0aGUgdGVzdCBvZiBu byAiPz8iIHdhcyB1c2VmdWwuCitQYXRjaDAyMDogZ2RiLTYuNS1CRUEtdGVzdHN1aXRlLnBhdGNo CisKKyMgVGVzdGNhc2UgZm9yIGRlYWRsb2NraW5nIG9uIGxhc3QgYWRkcmVzcyBzcGFjZSBieXRl OyBmb3IgY29ycnVwdGVkIGJhY2t0cmFjZXMuCisjPWZlZG9yYXRlc3QKK1BhdGNoMDIxOiBnZGIt Ni41LWxhc3QtYWRkcmVzcy1zcGFjZS1ieXRlLXRlc3QucGF0Y2gKKworIyBGaXggcmVhZGxpbmUg c2VnZmF1bHQgb24gZXhjZXNzaXZlbHkgbG9uZyBoYW5kLXR5cGVkIGxpbmVzLgorIz1mZWRvcmF0 ZXN0CitQYXRjaDAyMjogZ2RiLTYuNS1yZWFkbGluZS1sb25nLWxpbmUtY3Jhc2gtdGVzdC5wYXRj aAorCisjIEZpeCBib2d1cyAweDAgdW53aW5kIG9mIHRoZSB0aHJlYWQncyB0b3Btb3N0IGZ1bmN0 aW9uIGNsb25lKDMpIChCWiAyMTY3MTEpLgorIz1mZWRvcmEKK1BhdGNoMDIzOiBnZGItNi41LWJ6 MjE2NzExLWNsb25lLWlzLW91dGVybW9zdC5wYXRjaAorCisjIFRlc3Qgc2lkZWVmZmVjdHMgb2Yg c2tpcHBpbmcgcHBjIC5zbyBsaWJzIHRyYW1wb2xpbmVzIChCWiAyMTgzNzkpLgorIz1mZWRvcmF0 ZXN0CitQYXRjaDAyNDogZ2RiLTYuNS1iejIxODM3OS1wcGMtc29saWItdHJhbXBvbGluZS10ZXN0 LnBhdGNoCisKKyMgRml4IGxvY2t1cCBvbiB0cmFtcG9saW5lIHZzLiBpdHMgZnVuY3Rpb24gbG9v a3VwOyB1bnJlcHJvZHVjaWJsZSAoQlogMjE4Mzc5KS4KKyM9ZmVkb3JhCitQYXRjaDAyNTogZ2Ri LTYuNS1iejIxODM3OS1zb2xpYi10cmFtcG9saW5lLWxvb2t1cC1sb2NrLWZpeC5wYXRjaAorCisj IEZpbmQgc3ltYm9scyBwcm9wZXJseSBhdCB0aGVpciBvcmlnaW5hbCAoaW5jbHVkZWQpIGZpbGUg KEJaIDEwOTkyMSkuCisjPWZlZG9yYXRlc3QKK1BhdGNoMDI2OiBnZGItNi41LWJ6MTA5OTIxLURX X0FUX2RlY2xfZmlsZS10ZXN0LnBhdGNoCisKKyMgVXBkYXRlIFBQQyB1bndpbmRpbmcgcGF0Y2hl cyB0byB0aGVpciB1cHN0cmVhbSB2YXJpYW50cyAoQlogMTQwNTMyKS4KKyM9ZmVkb3JhdGVzdAor UGF0Y2gwMjc6IGdkYi02LjMtYnoxNDA1MzItcHBjLXVud2luZGluZy10ZXN0LnBhdGNoCisKKyMg VGVzdGNhc2UgZm9yIGV4ZWMoKSBmcm9tIHRocmVhZGVkIHByb2dyYW0gKEJaIDIwMjY4OSkuCisj PWZlZG9yYXRlc3QKK1BhdGNoMDI4OiBnZGItNi4zLWJ6MjAyNjg5LWV4ZWMtZnJvbS1wdGhyZWFk LXRlc3QucGF0Y2gKKworIyBUZXN0Y2FzZSBmb3IgUFBDIFBvd2VyNi9ERlAgaW5zdHJ1Y3Rpb25z IGRpc2Fzc2VtYmx5IChCWiAyMzAwMDApLgorIz1mZWRvcmF0ZXN0CitQYXRjaDAyOTogZ2RiLTYu Ni1iejIzMDAwMC1wb3dlcjYtZGlzYXNzZW1ibHktdGVzdC5wYXRjaAorCisjIEFsbG93IHJ1bm5p bmcgYC91c3IvYmluL2djb3JlJyB3aXRoIHByb3ZpZGVkIGJ1dCBpbmFjY2Vzc2libGUgdHR5IChC WiAyMjk1MTcpLgorIz1mZWRvcmF0ZXN0CitQYXRjaDAzMDogZ2RiLTYuNi1iejIyOTUxNy1nY29y ZS13aXRob3V0LXRlcm1pbmFsLnBhdGNoCisKKyMgTm90aWZ5IHVzZXIgb2YgYSBjaGlsZCBmb3Jr ZWQgcHJvY2VzcyBiZWluZyBkZXRhY2hlZCAoQlogMjM1MTk3KS4KKyM9cHVzaCtqYW46IFRoaXMg aXMgbW9yZSBhYm91dCBkaXNjdXNzaW9uIGlmL3doYXQgc2hvdWxkIGJlIHByaW50ZWQuCitQYXRj aDAzMTogZ2RiLTYuNi1iejIzNTE5Ny1mb3JrLWRldGFjaC1pbmZvLnBhdGNoCisKKyMgQXZvaWQg dG9vIGxvbmcgdGltZW91dHMgb24gZmFpbGluZyBjYXNlcyBvZiAiYW5ub3RhMS5leHAgYW5ub3Rh My5leHAiLgorIz1mZWRvcmF0ZXN0CitQYXRjaDAzMjogZ2RiLTYuNi10ZXN0c3VpdGUtdGltZW91 dHMucGF0Y2gKKworIyBTdXBwb3J0IGZvciBzdGVwcGluZyBvdmVyIFBQQyBhdG9taWMgaW5zdHJ1 Y3Rpb24gc2VxdWVuY2VzIChCWiAyMzc1NzIpLgorIz1mZWRvcmF0ZXN0CitQYXRjaDAzMzogZ2Ri LTYuNi1iejIzNzU3Mi1wcGMtYXRvbWljLXNlcXVlbmNlLXRlc3QucGF0Y2gKKworIyBNYWtlIHVw c3RyZWFtIGBzZXQgc2NoZWR1bGVyLWxvY2tpbmcgc3RlcCcgYXMgZGVmYXVsdC4KKyM9cHVzaCtq YW46IEhvdyBtdWNoIGlzIHNjaGVkdWxlci1sb2NraW5nIHJlbGV2YW50IGFmdGVyIG5vbi1zdG9w PworUGF0Y2gwMzQ6IGdkYi02LjYtc2NoZWR1bGVyX2xvY2tpbmctc3RlcC1pcy1kZWZhdWx0LnBh dGNoCisKKyMgVGVzdCBrZXJuZWwgVkRTTyBkZWNvZGluZyB3aGlsZSBhdHRhY2hpbmcgdG8gYW4g aTM4NiBwcm9jZXNzLgorIz1mZWRvcmF0ZXN0CitQYXRjaDAzNTogZ2RiLTYuMy1hdHRhY2gtc2Vl LXZkc28tdGVzdC5wYXRjaAorCisjIFRlc3QgbGVmdG92ZXIgem9tYmllIHByb2Nlc3MgKEJaIDI0 Mzg0NSkuCisjPWZlZG9yYXRlc3QKK1BhdGNoMDM2OiBnZGItNi41LWJ6MjQzODQ1LXN0YWxlLXRl c3Rpbmctem9tYmllLXRlc3QucGF0Y2gKKworIyBOZXcgbG9jYXRpbmcgb2YgdGhlIG1hdGNoaW5n IGJpbmFyaWVzIGZyb20gdGhlIHB1cmUgY29yZSBmaWxlIChidWlsZC1pZCkuCisjPXB1c2gramFu CitQYXRjaDAzNzogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAorCisjIEZpeCBsb2FkaW5n IG9mIGNvcmUgZmlsZXMgd2l0aG91dCBidWlsZC1pZHMgYnV0IHdpdGggYnVpbGQtaWRzIGluIGV4 ZWN1dGFibGVzLgorIyBMb2FkIHN0cmljdGx5IGJ1aWxkLWlkLWNoZWNrZWQgY29yZSBmaWxlcyBv bmx5IGlmIG5vIGV4ZWN1dGFibGUgaXMgc3BlY2lmaWVkCisjIChKYW4gS3JhdG9jaHZpbCwgUkgg QlogMTMzOTg2MikuCisjPXB1c2gramFuCitQYXRjaDAzODogZ2RiLTYuNi1idWlsZGlkLWxvY2F0 ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRjaAorCisjPXB1c2gramFuCitQYXRjaDAzOTogZ2RiLTYu Ni1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gKKworIyBGaXggZGlzcGxheWluZyBvZiBudW1lcmlj IGNoYXIgYXJyYXlzIGFzIHN0cmluZ3MgKEJaIDIyNDEyOCkuCisjPWZlZG9yYXRlc3Q6IEJ1dCBp dCBpcyBmYWlsaW5nIGFueXdheSwgb25lIHNob3VsZCBjaGVjayB0aGUgYmVoYXZpb3IgbW9yZS4K K1BhdGNoMDQwOiBnZGItNi43LWNoYXJzaWduLXRlc3QucGF0Y2gKKworIyBUZXN0IFBQQyBoaWRp bmcgb2YgY2FsbC12b2xhdGlsZSBwYXJhbWV0ZXIgcmVnaXN0ZXIuCisjPWZlZG9yYXRlc3QKK1Bh dGNoMDQxOiBnZGItNi43LXBwYy1jbG9iYmVyZWQtcmVnaXN0ZXJzLU8yLXRlc3QucGF0Y2gKKwor IyBUZXN0c3VpdGUgZml4ZXMgZm9yIG1vcmUgc3RhYmxlL2NvbXBhcmFibGUgcmVzdWx0cy4KKyM9 ZmVkb3JhdGVzdAorUGF0Y2gwNDI6IGdkYi02LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1bHRzLnBh dGNoCisKKyMgVGVzdCBpYTY0IG1lbW9yeSBsZWFrcyBvZiB0aGUgY29kZSB1c2luZyBsaWJ1bndp bmQuCisjPWZlZG9yYXRlc3QKK1BhdGNoMDQzOiBnZGItNi41LWlhNjQtbGlidW53aW5kLWxlYWst dGVzdC5wYXRjaAorCisjIFRlc3QgaGlkaW5nIHVuZXhwZWN0ZWQgYnJlYWtwb2ludHMgb24gaW50 ZW50aW9uYWwgc3RlcCBjb21tYW5kcy4KKyM9ZmVkb3JhdGVzdAorUGF0Y2gwNDQ6IGdkYi02LjUt bWlzc2VkLXRyYXAtb24tc3RlcC10ZXN0LnBhdGNoCisKKyMgVGVzdCBnY29yZSBtZW1vcnkgYW5k IHRpbWUgcmVxdWlyZW1lbnRzIGZvciBsYXJnZSBpbmZlcmlvcnMuCisjPWZlZG9yYXRlc3QKK1Bh dGNoMDQ1OiBnZGItNi41LWdjb3JlLWJ1ZmZlci1saW1pdC10ZXN0LnBhdGNoCisKKyMgVGVzdCBH Q09SRSBmb3Igc2htaWQgMCBzaGFyZWQgbWVtb3J5IG1hcHBpbmdzLgorIz1mZWRvcmF0ZXN0OiBC dXQgaXQgaXMgYnJva2VuIGFueXdheSwgc29tZXRpbWVzIHRoZSBjYXNlIGJlaW5nIHRlc3RlZCBp cyBub3QgcmVwcm9kdWNpYmxlLgorUGF0Y2gwNDY6IGdkYi02LjMtbWFwcGluZy16ZXJvLWlub2Rl LXRlc3QucGF0Y2gKKworIyBUZXN0IGEgY3Jhc2ggb24gYGZvY3VzIGNtZCcsIGBmb2N1cyBwcmV2 JyBjb21tYW5kcy4KKyM9ZmVkb3JhdGVzdAorUGF0Y2gwNDc6IGdkYi02LjMtZm9jdXMtY21kLXBy ZXYtdGVzdC5wYXRjaAorCisjIFRlc3QgdmFyaW91cyBmb3JtcyBvZiB0aHJlYWRzIHRyYWNraW5n IGFjcm9zcyBleGVjKCkgKEJaIDQ0Mjc2NSkuCisjPWZlZG9yYXRlc3QKK1BhdGNoMDQ4OiBnZGIt Ni44LWJ6NDQyNzY1LXRocmVhZGVkLWV4ZWMtdGVzdC5wYXRjaAorCisjIFNpbGVuY2UgbWVtY3B5 IGNoZWNrIHdoaWNoIHJldHVybnMgZmFsc2UgcG9zaXRpdmUgKHNwYXJjNjQpCisjPXB1c2g6IEJ1 dCBpdCBpcyBqdXN0IGEgR0NDIHdvcmthcm91bmQsIGxvb2sgdXAgdGhlIGV4aXN0aW5nIEdDQyBQ UiBmb3IgaXQuCitQYXRjaDA0OTogZ2RiLTYuOC1zcGFyYzY0LXNpbGVuY2UtbWVtY3B5LWNoZWNr LnBhdGNoCisKKyMgVGVzdCBhIGNyYXNoIG9uIGxpYnJhcmllcyBtaXNzaW5nIHRoZSAudGV4dCBz ZWN0aW9uLgorIz1mZWRvcmF0ZXN0CitQYXRjaDA1MDogZ2RiLTYuNS1zZWN0aW9uLW51bS1maXh1 cC10ZXN0LnBhdGNoCisKKyMgRml4IHJlZ2lzdGVyIGFzc2lnbm1lbnRzIHdpdGggbm8gR0RCIHN0 YWNrIGZyYW1lcyAoQlogNDM2MDM3KS4KKyM9cHVzaCtqYW46IFRoaXMgZml4IGlzIGluY29ycmVj dC4KK1BhdGNoMDUxOiBnZGItNi44LWJ6NDM2MDM3LXJlZy1uby1sb25nZXItYWN0aXZlLnBhdGNo CisKKyMgVGVzdCB0aGUgd2F0Y2hwb2ludHMgY29uZGl0aW9uYWxzIHdvcmtzLgorIz1mZWRvcmF0 ZXN0CitQYXRjaDA1MjogZ2RiLTYuOC13YXRjaHBvaW50LWNvbmRpdGlvbmFscy10ZXN0LnBhdGNo CisKKyMgRml4IHJlc29sdmluZyBvZiB2YXJpYWJsZXMgYXQgbG9jYXRpb25zIGxpc3RzIGluIHBy ZWxpbmtlZCBsaWJzIChCWiA0NjY5MDEpLgorIz1mZWRvcmF0ZXN0CitQYXRjaDA1MzogZ2RiLTYu OC1iejQ2NjkwMS1iYWNrdHJhY2UtZnVsbC1wcmVsaW5rZWQucGF0Y2gKKworIyBOZXcgdGVzdCBm b3Igc3RlcC1yZXN1bWUgYnJlYWtwb2ludCBwbGFjZWQgaW4gbXVsdGlwbGUgdGhyZWFkcyBhdCBv bmNlLgorIz1mZWRvcmF0ZXN0CitQYXRjaDA1NDogZ2RiLXNpbXVsdGFuZW91cy1zdGVwLXJlc3Vt ZS1icmVha3BvaW50LXRlc3QucGF0Y2gKKworIyBGaXggR05VL0xpbnV4IGNvcmUgb3BlbjogQ2Fu J3QgcmVhZCBwYXRobmFtZSBmb3IgbG9hZCBtYXA6IElucHV0L291dHB1dCBlcnJvci4KKyMgRml4 IHJlZ3Jlc3Npb24gb2YgdW5kaXNwbGF5ZWQgbWlzc2luZyBzaGFyZWQgbGlicmFyaWVzIGNhdXNl ZCBieSBhIGZpeCBmb3IuCisjPWZlZG9yYXRlc3Q6IEl0IHNob3VsZCBiZSBpbiBnbGliYzogbGli Yy1hbHBoYTogPDIwMDkxMDA0MTYxNzA2LkdBMjc0NTBALio+CitQYXRjaDA1NTogZ2RiLWNvcmUt b3Blbi12ZHNvLXdhcm5pbmcucGF0Y2gKKworIyBGaXggc3lzY2FsbCByZXN0YXJ0cyBmb3IgYW1k NjQtPmkzODYgYmlhcmNoLgorIz1wdXNoK2phbgorUGF0Y2gwNTY6IGdkYi14ODZfNjQtaTM4Ni1z eXNjYWxsLXJlc3RhcnQucGF0Y2gKKworIyBGaXggc3RlcHBpbmcgd2l0aCBPTVAgcGFyYWxsZWwg Rm9ydHJhbiBzZWN0aW9ucyAoQlogNTMzMTc2KS4KKyM9cHVzaCtqYW46IEl0IHJlcXVpcmVzIHNv bWUgYmV0dGVyIERXQVJGIGFubm90YXRpb25zLgorUGF0Y2gwNTc6IGdkYi1iejUzMzE3Ni1mb3J0 cmFuLW9tcC1zdGVwLnBhdGNoCisKKyMgRml4IHJlZ3Jlc3Npb24gYnkgcHl0aG9uIG9uIGlhNjQg ZHVlIHRvIHN0YWxlIGN1cnJlbnQgZnJhbWUuCisjPXB1c2gramFuCitQYXRjaDA1ODogZ2RiLWZv bGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gKKworIyBXb3JrYXJvdW5kIGNjYWNoZSBtYWtp bmcgbGluZW5vIG5vbi16ZXJvIGZvciBjb21tYW5kLWxpbmUgZGVmaW5pdGlvbnMuCisjPWZlZG9y YXRlc3Q6IGNjYWNoZSBpcyByYXJlbHkgdXNlZCBhbmQgaXQgaXMgZXZlbiBmaXhlZCBub3cuCitQ YXRjaDA1OTogZ2RiLWNjYWNoZS13b3JrYXJvdW5kLnBhdGNoCisKKyM9cHVzaCtqYW46IE1heSBn ZXQgb2Jzb2xldGVkIGJ5IFRvbSdzIHVucmVsb2NhdGVkIG9iamZpbGVzIHBhdGNoLgorUGF0Y2gw NjA6IGdkYi1hcmNoZXItcGllLWFkZG9ucy5wYXRjaAorCisjPXB1c2gramFuOiBCcmVha3BvaW50 cyBkaXNhYmxpbmcgbWF0Y2hpbmcgc2hvdWxkIG5vdCBiZSBiYXNlZCBvbiBhZGRyZXNzLgorUGF0 Y2gwNjE6IGdkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCisKKyMgVGVz dGNhc2UgZm9yICJEbyBub3QgbWFrZSB1cCBsaW5lIGluZm9ybWF0aW9uIiBmaXggYnkgRGFuaWVs IEphY29ib3dpdHouCisjPWZlZG9yYXRlc3QKK1BhdGNoMDYyOiBnZGItbGluZW5vLW1ha2V1cC10 ZXN0LnBhdGNoCisKKyMgVGVzdCBwb3dlcjcgcHBjIGRpc2Fzc2VtYmx5LgorIz1mZWRvcmF0ZXN0 CitQYXRjaDA2MzogZ2RiLXBwYy1wb3dlcjctdGVzdC5wYXRjaAorCisjIEZpeCBpMzg2K3g4Nl82 NCByd2F0Y2grYXdhdGNoIGJlZm9yZSBydW4sIHJlZ3Jlc3Npb24gYWdhaW5zdCA2LjggKEJaIDU0 MTg2NikuCisjIEZpeCBpMzg2IHJ3YXRjaCthd2F0Y2ggYmVmb3JlIHJ1biAoQlogNjg4Nzg4LCBv biB0b3Agb2YgQlogNTQxODY2KS4KKyM9cHVzaCtqYW46IEl0IHNob3VsZCBiZSBmaXhlZCBwcm9w ZXJseSBpbnN0ZWFkLgorUGF0Y2gwNjQ6IGdkYi1iejU0MTg2Ni1yd2F0Y2gtYmVmb3JlLXJ1bi5w YXRjaAorCisjIFdvcmthcm91bmQgbm9uLXN0b3AgbW9yaWJ1bmQgbG9jYXRpb25zIGV4cGxvaXRl ZCBieSBrZXJuZWwgdXRyYWNlIChCWiA1OTA2MjMpLgorIz1wdXNoK2phbjogQ3VycmVudGx5IGl0 IGlzIHN0aWxsIG5vdCBmdWxseSBzYWZlLgorUGF0Y2gwNjU6IGdkYi1tb3JpYnVuZC11dHJhY2Ut d29ya2Fyb3VuZC5wYXRjaAorCisjIEZpeCBmb2xsb3ctZXhlYyBmb3IgQysrIHByb2dyYW1zIChi dWdyZXBvcnRlZCBieSBNYXJ0aW4gU3RyYW5za3kpLgorIz1mZWRvcmF0ZXN0CitQYXRjaDA2Njog Z2RiLWFyY2hlci1uZXh0LW92ZXItdGhyb3ctY3h4LWV4ZWMucGF0Y2gKKworIyBCYWNrcG9ydCBE V0FSRi00IHN1cHBvcnQgKEJaIDYwMTg4NywgVG9tIFRyb21leSkuCisjPWZlZG9yYXRlc3QKK1Bh dGNoMDY3OiBnZGItYno2MDE4ODctZHdhcmY0LXJoLXRlc3QucGF0Y2gKKworIz1wdXNoK2phbgor UGF0Y2gwNjg6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0Y2gKKworIyBX b3JrYXJvdW5kIGxpYnJwbSBCWiA2NDMwMzEgZHVlIHRvIGl0cyB1bmV4cGVjdGVkIGV4aXQoKSBj YWxscyAoQlogNjQyODc5KS4KKyM9cHVzaCtqYW4KK1BhdGNoMDY5OiBnZGItNi42LWJ1aWxkaWQt bG9jYXRlLXJwbS1saWJycG0td29ya2Fyb3VuZC5wYXRjaAorCisjIFtkZWxheWVkLXN5bWZpbGVd IFRlc3QgYSBiYWNrdHJhY2UgcmVncmVzc2lvbiBvbiBDRklzIHdpdGhvdXQgRElFIChCWiA2MTQ2 MDQpLgorIz1mZWRvcmF0ZXN0CitQYXRjaDA3MDogZ2RiLXRlc3QtYnQtY2ZpLXdpdGhvdXQtZGll LnBhdGNoCisKKyMgUHJvdmlkZSAvdXNyL2Jpbi9nZGItYWRkLWluZGV4IGZvciBycG0tYnVpbGQg KFRvbSBUcm9tZXkpLgorIz1wdXNoOiBSZS1jaGVjayBhZ2FpbnN0IHRoZSB1cHN0cmVhbSB2ZXJz aW9uLgorUGF0Y2gwNzE6IGdkYi1nZGItYWRkLWluZGV4LXNjcmlwdC5wYXRjaAorCisjIE91dCBv ZiBtZW1vcnkgaXMganVzdCBhbiBlcnJvciwgbm90IGZhdGFsICh1bmluaXRpYWxpemVkIFZMUyB2 YXJzLCBCWiA1NjgyNDgpLgorIz1wdXNoK2phbjogSW5mZXJpb3Igb2JqZWN0cyBzaG91bGQgYmUg cmVhZCBpbiBwYXJ0cywgdGhlbiB0aGlzIHBhdGNoIGdldHMgb2Jzb2xldGVkLgorUGF0Y2gwNzI6 IGdkYi1iejU2ODI0OC1vb20taXMtZXJyb3IucGF0Y2gKKworIyBWZXJpZnkgR0RCIFB5dGhvbiBi dWlsdC1pbiBmdW5jdGlvbiBnZGIuc29saWJfYWRkcmVzcyBleGlzdHMgKEJaICMgNjM0MTA4KS4K KyM9ZmVkb3JhdGVzdAorUGF0Y2gwNzM6IGdkYi1iejYzNDEwOC1zb2xpYl9hZGRyZXNzLnBhdGNo CisKKyMgTmV3IHRlc3QgZ2RiLmFyY2gveDg2XzY0LXBpZDAtY29yZS5leHAgZm9yIGtlcm5lbCBQ SUQgMCBjb3JlcyAoQlogNjExNDM1KS4KKyM9ZmVkb3JhdGVzdAorUGF0Y2gwNzQ6IGdkYi10ZXN0 LXBpZDAtY29yZS5wYXRjaAorCisjIFthcmNoZXItdHJvbWV5LWRlbGF5ZWQtc3ltZmlsZV0gTmV3 IHRlc3QgZ2RiLmR3YXJmMi9kdzItYXJhbmdlcy5leHAuCisjPWZlZG9yYXRlc3QKK1BhdGNoMDc1 OiBnZGItdGVzdC1kdzItYXJhbmdlcy5wYXRjaAorCisjIFthcmNoZXIta2VpdGhzLWV4cHItY3Vt dWxhdGl2ZSt1cHN0cmVhbV0gSW1wb3J0IEMrKyB0ZXN0Y2FzZXMuCisjPWZlZG9yYXRlc3QKK1Bh dGNoMDc2OiBnZGItdGVzdC1leHByLWN1bXVsYXRpdmUtYXJjaGVyLnBhdGNoCisKKyMgRml4IHJl Z3Jlc3Npb25zIG9uIEMrKyBuYW1lcyByZXNvbHZpbmcgKFBSIDExNzM0LCBQUiAxMjI3MywgS2Vp dGggU2VpdHopLgorIz1mZWRvcmF0ZXN0CitQYXRjaDA3NzogZ2RiLXBoeXNuYW1lLXByMTE3MzQt dGVzdC5wYXRjaAorCisjIEZpeCByZWdyZXNzaW9ucyBvbiBDKysgbmFtZXMgcmVzb2x2aW5nIChQ UiAxMTczNCwgUFIgMTIyNzMsIEtlaXRoIFNlaXR6KS4KKyM9ZmVkb3JhdGVzdAorUGF0Y2gwNzg6 IGdkYi1waHlzbmFtZS1wcjEyMjczLXRlc3QucGF0Y2gKKworIyBUb29sY2hhaW4gb24gc3BhcmMg aXMgc2xpZ2h0bHkgYnJva2VuIGFuZCBkZWJ1Z2luZm8gZmlsZXMgYXJlIGdlbmVyYXRlZAorIyB3 aXRoIG5vbiA2NGJpdCBhbGlnbmVkIHRhYmxlcy9vZmZzZXRzLgorIyBTZWUgZm9yIGV4YW1wbGUg cmVhZGVsZiAtUyAuLi9Ydm5jLmRlYnVnLgorIworIyBBcyBhIGNvbnNlbnF1ZW5jZSBjYWxjdWxh dGlvbiBvZiBzZWN0cC0+ZmlsZXBvcyBhcyB1c2VkIGluCisjIGR3YXJmMl9yZWFkX3NlY3Rpb24g KGdkYi9kd2FyZjJyZWFkLmM6MTUyNSkgd2lsbCByZXR1cm4gYSBub24gYWxpZ25lZCBidWZmZXIK KyMgdGhhdCBjYW5ub3QgYmUgdXNlZCBkaXJlY3RseSBhcyBkb25lIHdpdGggTU1BUC4KKyMgVXNh Z2Ugd2lsbCByZXN1bHQgaW4gYSBCdXNFcnJvci4KKyMKKyMgV2hpbGUgd2UgZmlndXJlIG91dCB3 aGF0J3Mgd3JvbmcgaW4gdGhlIHRvb2xjaGFpbiBhbmQgZG8gYSBmdWxsIGFyY2hpdmUKKyMgcmVi dWlsZCB0byBmaXggaXQsIHdlIG5lZWQgdG8gYmUgYWJsZSB0byB1c2UgZ2RiIDopCisjPXB1c2gK K1BhdGNoMDc5OiBnZGItNy4yLjUwLXNwYXJjLWFkZC13b3JrYXJvdW5kLXRvLWJyb2tlbi1kZWJ1 Zy1maWxlcy5wYXRjaAorCisjIFRlc3QgR0RCIG9wY29kZXMvIGRpc2Fzc2VtYmx5IG9mIEludGVs IEl2eSBCcmlkZ2UgaW5zdHJ1Y3Rpb25zIChCWiA2OTY4OTApLgorIz1mZWRvcmF0ZXN0CitQYXRj aDA4MDogZ2RiLXRlc3QtaXZ5LWJyaWRnZS5wYXRjaAorCisjIFdvcmsgYXJvdW5kIFBSIGxpYmMv MTMwOTcgImxpbnV4LXZkc28uc28uMSIgd2FybmluZyBtZXNzYWdlLgorIz1wdXNoK2phbgorUGF0 Y2gwODE6IGdkYi1nbGliYy12ZHNvLXdvcmthcm91bmQucGF0Y2gKKworIyBIYWNrIGZvciBwcm9w ZXIgUElFIHJ1biBvZiB0aGUgdGVzdHN1aXRlLgorIz1mZWRvcmF0ZXN0CitQYXRjaDA4MjogZ2Ri LXJ1bnRlc3QtcGllLW92ZXJyaWRlLnBhdGNoCisKKyMgUHJpbnQgcmVhc29ucyBmb3IgZmFpbGVk IGF0dGFjaC9zcGF3biBpbmNsLiBTRUxpbnV4IGRlbnlfcHRyYWNlIChCWiA3ODY4NzgpLgorIz1w dXNoK2phbgorUGF0Y2gwODM6IGdkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVvZjUucGF0Y2gKKwor IyBXb3JrYXJvdW5kIGNyYXNoZXMgZnJvbSBzdGFsZSBmcmFtZV9pbmZvIHBvaW50ZXIgKEJaIDgw NDI1NikuCisjPXB1c2gramFuCitQYXRjaDA4NDogZ2RiLXN0YWxlLWZyYW1lX2luZm8ucGF0Y2gK KworIyBXb3JrYXJvdW5kIFBSIGxpYmMvMTQxNjYgZm9yIGluZmVyaW9yIGNhbGxzIG9mIHN0cnN0 ci4KKyM9ZmVkb3JhOiBDb21wYXRpYmlsaXR5IHdpdGggUkhFTHMgKHVuY2hlY2tlZCB3aGljaCBv bmVzKS4KK1BhdGNoMDg1OiBnZGItZ2xpYmMtc3Ryc3RyLXdvcmthcm91bmQucGF0Y2gKKworIyBJ bmNsdWRlIHRlc3RjYXNlIGZvciBgVW5hYmxlIHRvIHNlZSBhIHZhcmlhYmxlIGluc2lkZSBhIG1v ZHVsZSAoWExGKScgKEJaIDgyMzc4OSkuCisjPWZlZG9yYXRlc3QKK1BhdGNoMDg2OiBnZGItcmhl bDUuOS10ZXN0Y2FzZS14bGYtdmFyLWluc2lkZS1tb2QucGF0Y2gKKworIyBUZXN0Y2FzZSBmb3Ig YFNldHRpbmcgc29saWItYWJzb2x1dGUtcHJlZml4IGJyZWFrcyB2RFNPJyAoQlogODE4MzQzKS4K KyM9ZmVkb3JhdGVzdAorUGF0Y2gwODc6IGdkYi1yaGJ6LTgxODM0My1zZXQtc29saWItYWJzb2x1 dGUtcHJlZml4LXRlc3RjYXNlLnBhdGNoCisKKyMgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1 Y3QgbWVtYmVyIHdob3NlIG9mZnNldCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKKyMgKFJIIEJaIDc5 NTQyNCkuCisjPXB1c2gKK1BhdGNoMDg4OiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjBvZjI1LnBh dGNoCisKKyMgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3NlIG9mZnNl dCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKKyMgKFJIIEJaIDc5NTQyNCkuCisjPXB1c2gKK1BhdGNo MDg5OiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjFvZjI1LnBhdGNoCisKKyMgRml4IGBHREIgY2Fu bm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3NlIG9mZnNldCBpcyBsYXJnZXIgdGhhbiAyNTZN QicKKyMgKFJIIEJaIDc5NTQyNCkuCisjPXB1c2gKK1BhdGNoMDkwOiBnZGItcmhiejc5NTQyNC1i aXRwb3MtMjJvZjI1LnBhdGNoCisKKyMgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVt YmVyIHdob3NlIG9mZnNldCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKKyMgKFJIIEJaIDc5NTQyNCku CisjPXB1c2gKK1BhdGNoMDkxOiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjNvZjI1LnBhdGNoCisK KyMgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3NlIG9mZnNldCBpcyBs YXJnZXIgdGhhbiAyNTZNQicKKyMgKFJIIEJaIDc5NTQyNCkuCisjPXB1c2gKK1BhdGNoMDkyOiBn ZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1LnBhdGNoCisKKyMgRml4IGBHREIgY2Fubm90IGFj Y2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3NlIG9mZnNldCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKKyMg KFJIIEJaIDc5NTQyNCkuCisjPXB1c2gKK1BhdGNoMDkzOiBnZGItcmhiejc5NTQyNC1iaXRwb3Mt MjVvZjI1LXRlc3QucGF0Y2gKKworIyBGaXggYEdEQiBjYW5ub3QgYWNjZXNzIHN0cnVjdCBtZW1i ZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1CJworIyAoUkggQlogNzk1NDI0KS4K KyM9cHVzaAorUGF0Y2gwOTQ6IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy1sYXp5dmFsdWUucGF0Y2gK KworIyBJbXBvcnQgcmVncmVzc2lvbiB0ZXN0IGZvciBgZ2RiL2ZpbmR2YXIuYzo0MTc6IGludGVy bmFsLWVycm9yOgorIyByZWFkX3Zhcl92YWx1ZTogQXNzZXJ0aW9uIGBmcmFtZScgZmFpbGVkLicg KFJIIEJaIDk0NzU2NCkgZnJvbSBSSEVMIDYuNS4KKyM9ZmVkb3JhdGVzdAorUGF0Y2gwOTU6IGdk Yi1yaGJ6OTQ3NTY0LWZpbmR2YXItYXNzZXJ0aW9uLWZyYW1lLWZhaWxlZC10ZXN0Y2FzZS5wYXRj aAorCisjIEZpeCBjcmFzaCBvZiAtcmVhZG5vdyAvdXNyL2xpYi9kZWJ1Zy91c3IvYmluL2duYXRi aW5kLmRlYnVnIChCWiAxMDY5MjExKS4KKyM9cHVzaCtqYW4KK1BhdGNoMDk2OiBnZGItZ25hdC1k d2FyZi1jcmFzaC0zb2YzLnBhdGNoCisKKyMgRml4ICdtZW1vcnkgbGVhayBpbiBpbmZweV9yZWFk X21lbW9yeSgpJyAoUkggQlogMTAwNzYxNCkKKyM9ZmVkb3JhdGVzdAorUGF0Y2gwOTc6IGdkYi1y aGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LXRlc3QucGF0Y2gKKworIyBGaXgg J2dkYiBnaXZlcyBoaWdobHkgbWlzbGVhZGluZyBlcnJvciB3aGVuIGRlYnVnaW5mbyBwa2cgaXMg cHJlc2VudCwKKyMgYnV0IG5vdCBjb3JyZXNwb25kaW5nIGJpbmFyeSBwa2cnIChSSCBCWiA5ODEx NTQpLgorIz1wdXNoK2phbgorUGF0Y2gwOTg6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtbWlzbGVh ZGluZy13YXJuaW5nLW1pc3NpbmctZGVidWdpbmZvLXJoYno5ODExNTQucGF0Y2gKKworIz1mZWRv cmF0ZXN0CitQYXRjaDA5OTogZ2RiLWFyY2hlci12bGEtdGVzdHMucGF0Y2gKKworIz1mZWRvcmF0 ZXN0CitQYXRjaDEwMDogZ2RiLXZsYS1pbnRlbC10ZXN0cy5wYXRjaAorCisjIENvbnRpbnVlIGJh Y2t0cmFjZSBldmVuIGlmIGEgZnJhbWUgZmlsdGVyIHRocm93cyBhbiBleGNlcHRpb24gKFBoaWwg TXVsZG9vbikuCisjPXB1c2gKK1BhdGNoMTAxOiBnZGItYnRyb2J1c3QucGF0Y2gKKworIyBEaXNw bGF5IEZvcnRyYW4gc3RyaW5ncyBpbiBiYWNrdHJhY2VzLgorIz1mZWRvcmF0ZXN0CitQYXRjaDEw MjogZ2RiLWZvcnRyYW4tZnJhbWUtc3RyaW5nLnBhdGNoCisKKyMgRml4IFB5dGhvbiBHSUwgd2l0 aCBnZGIuZXhlY3V0ZSgiY29udGludWUiKSAoUGhpbCBNdWxkb29uLCBCWiAxMTE2OTU3KS4KKyM9 cHVzaAorUGF0Y2gxMDM6IGdkYi1weXRob24tZ2lsLnBhdGNoCisKKyMgVGVzdGNhc2UgZm9yICdb U0FQXSBSZWN1cnNpdmUgZGxvcGVuIGNhdXNlcyBTQVAgSEFOQSBpbnN0YWxsZXIgdG8KKyMgY3Jh c2guJyAoUkggQlogMTE1NjE5MikuCisjPWZlZG9yYXRlc3QKK1BhdGNoMTA0OiBnZGItcmhiejEx NTYxOTItcmVjdXJzaXZlLWRsb3Blbi10ZXN0LnBhdGNoCisKKyMgRml4IGppdC1yZWFkZXIuaCBm b3IgbXVsdGktbGliLgorIz1wdXNoK2phbgorUGF0Y2gxMDU6IGdkYi1qaXQtcmVhZGVyLW11bHRp bGliLnBhdGNoCisKKyMgRml4ICdgY2F0Y2ggc3lzY2FsbCcgZG9lc24ndCB3b3JrIGZvciBwYXJl bnQgYWZ0ZXIgYGZvcmsnIGlzIGNhbGxlZCcKKyMgKFBoaWxpcHBlIFdhcm9xdWllcnMsIFJIIEJa IDExNDkyMDUpLgorIz1mZWRvcmF0ZXN0CitQYXRjaDEwNjogZ2RiLXJoYnoxMTQ5MjA1LWNhdGNo LXN5c2NhbGwtYWZ0ZXItZm9yay10ZXN0LnBhdGNoCisKKyMgRml4ICdiYWNrcG9ydCBHREIgNy40 IGZpeCB0byBSSEVMIDYuNiBHREInIFtPcmlnaW5hbCBTb3VyY2V3YXJlIGJ1ZworIyBkZXNjcmlw dGlvbjogJ0MrKyAoYW5kIG9iamMpOiBJbnRlcm5hbCBlcnJvciBvbiB1bnF1YWxpZmllZCBuYW1l CisjIHJlLXNldCcsIFBSIDExNjU3XSAoUkggQlogMTE4NjQ3NikuCisjPWZlZG9yYXRlc3QKK1Bh dGNoMTA3OiBnZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1y ZS1zZXQtdGVzdC5wYXRjaAorCisjIFRlc3QgJ2luZm8gdHlwZS1wcmludGVycycgUHl0aG9uIGVy cm9yIChSSCBCWiAxMzUwNDM2KS4KKyM9ZmVkb3JhdGVzdAorUGF0Y2gxMDg6IGdkYi1yaGJ6MTM1 MDQzNi10eXBlLXByaW50ZXJzLWVycm9yLnBhdGNoCisKKyMgRml4ICdbcHBjNjRdIGFuZCBbczM5 MHhdIHdyb25nIHByb2xvZ3VlIHNraXAgb24gLU8yIC1nIGNvZGUnIChKYW4KKyMgS3JhdG9jaHZp bCwgUkggQlogMTA4NDQwNCkuCisjPWZlZG9yYXRlc3QKK1BhdGNoMTA5OiBnZGItcmhiejEwODQ0 MDQtcHBjNjQtczM5MHgtd3JvbmctcHJvbG9ndWUtc2tpcC1PMi1nLTNvZjMucGF0Y2gKKworIyBO ZXZlciBraWxsIFBJRCBvbjogZ2RiIGV4ZWMgUElEIChKYW4gS3JhdG9jaHZpbCwgUkggQlogMTIx OTc0NykuCisjPXB1c2gramFuCitQYXRjaDExMDogZ2RiLWJ6MTIxOTc0Ny1hdHRhY2gta2lsbHMu cGF0Y2gKKworIyBGb3JjZSBsaWJuY3Vyc2VzdyBvdmVyIGxpYm5jdXJzZXMgdG8gbWF0Y2ggdGhl IGluY2x1ZGVzIChSSCBCWiAxMjcwNTM0KS4KKyM9cHVzaCtqYW4KK1BhdGNoMTExOiBnZGItZmVk b3JhLWxpYm5jdXJzZXN3LnBhdGNoCisKKyMgVGVzdCBjbGZsdXNob3B0IGluc3RydWN0aW9uIGRl Y29kZSAoZm9yIFJIIEJaIDEyNjI0NzEpLgorIz1mZWRvcmF0ZXN0CitQYXRjaDExMjogZ2RiLW9w Y29kZXMtY2xmbHVzaG9wdC10ZXN0LnBhdGNoCisKKyMgW3JoZWw2XSBEVFMgYmFja3dhcmQgUHl0 aG9uIGNvbXBhdGliaWxpdHkgQVBJIChCWiAxMDIwMDA0LCBQaGlsIE11bGRvb24pLgorIz1mZWRv cmEKK1BhdGNoMTEzOiBnZGItZHRzLXJoZWw2LXB5dGhvbi1jb21wYXQucGF0Y2gKKworIyBbU0NM XSBTa2lwIGRlcHJlY2F0ZWQgLmdkYl9pbmRleCB3YXJuaW5nIGZvciBSZWQgSGF0IGJ1aWx0IGZp bGVzIChCWiA5NTM1ODUpLgorIz1wdXNoK2phbgorUGF0Y2gxMTQ6IGdkYi02LjYtYnVpbGRpZC1s b2NhdGUtcnBtLXNjbC5wYXRjaAorCisjIFdvcmsgYXJvdW5kIHJlYWRsaW5lLTYuMiBpbmNvbXBh dGliaWxpdHkgbm90IGFza2luZyBmb3IgLS1tb3JlLS0gKEJaIDcwMTEzMSkuCisjPWZlZG9yYQor UGF0Y2gxMTU6IGdkYi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCisKKyMgW1JIRUw1LFJI RUw2XSBGaXggYXR0YWNoaW5nIHRvIHN0b3BwZWQgcHJvY2Vzc2VzLgorIyBbUkhFTDVdIFdvcmth cm91bmQga2VybmVsIGZvciBkZXRhY2hpbmcgU0lHU1RPUHBlZCBwcm9jZXNzZXMgKEJaIDgwOTM4 MikuCisjPWZlZG9yYQorUGF0Y2gxMTY6IGdkYi02LjgtYXR0YWNoLXNpZ25hbGxlZC1kZXRhY2gt c3RvcHBlZC5wYXRjaAorCisjIE1ha2UgdGhlIEdEQiBxdWl0IHByb2Nlc3Npbmcgbm9uLWFib3J0 YWJsZSB0byBjbGVhbnVwIGV2ZXJ5dGhpbmcgcHJvcGVybHkuCisjPWZlZG9yYTogSXQgd2FzIHVz ZWZ1bCBvbmx5IGFmdGVyIGdkYi02LjgtYXR0YWNoLXNpZ25hbGxlZC1kZXRhY2gtc3RvcHBlZC5w YXRjaCAuCitQYXRjaDExNzogZ2RiLTYuOC1xdWl0LW5ldmVyLWFib3J0cy5wYXRjaAorCisjIFth YXJjaDY0XSBGaXggaGFyZHdhcmUgd2F0Y2hwb2ludHMgKFJIIEJaIDEyNjE1NjQpLgorIz1mZWRv cmF0ZXN0CitQYXRjaDExODogZ2RiLXJoYnoxMjYxNTY0LWFhcmNoNjQtaHctd2F0Y2hwb2ludC10 ZXN0LnBhdGNoCisKKyMgQWRkIG1lc3NhZ2VzIHN1Z2dlc3RpbmcgbW9yZSByZWNlbnQgUkhFTCBn ZGJzZXJ2ZXIgKFJIIEJaIDEzMjExMTQpLgorIz1mZWRvcmEKK1BhdGNoMTE5OiBnZGItY29udGFp bmVyLXJoLXBrZy5wYXRjaAorCisjIE5ldyB0ZXN0IGZvciBQeXRob24gIkNhbm5vdCBsb2NhdGUg b2JqZWN0IGZpbGUgZm9yIGJsb2NrIiAoZm9yIFJIIEJaIDEzMjU3OTUpLgorIz1mZWRvcmF0ZXN0 CitQYXRjaDEyMDogZ2RiLXJoYnoxMzI1Nzk1LWZyYW1lZmlsdGVycy10ZXN0LnBhdGNoCisKKyMg W2R0cytlbDddIFt4ODYqXSBCdW5kbGUgbGludXhfcGVyZi5oIGZvciBsaWJpcHQgKFJIIEJaIDEy NTY1MTMpLgorIz1mZWRvcmEKK1BhdGNoMTIxOiBnZGItbGludXhfcGVyZi1idW5kbGUucGF0Y2gK KworIyBGaXggZ2RiLWhlYWRsZXNzIC91c3IvYmluLyBleGVjdXRhYmxlcyAoQlogMTM5MDI1MSku CisjPWZlZG9yYQorUGF0Y2gxMjI6IGdkYi1saWJleGVjLWFkZC1pbmRleC5wYXRjaAorCisjIEZp eCBnZGItYWRkLWluZGV4IGZvciA0NDQgKi5kZWJ1ZyBmaWxlcy4KKyM9cHVzaCtqYW4KK1BhdGNo MTIzOiBnZGItYWRkLWluZGV4LWNobW9kLnBhdGNoCisKKyMgTmV3IHRlc3RjYXNlIGZvcjogRml4 IDx0YWI+LWNvbXBsZXRpb24gY3Jhc2ggKEdhcnkgQmVuc29uLCBSSCBCWiAxMzk4Mzg3KS4KKyM9 ZmVkb3JhdGVzdAorUGF0Y2gxMjQ6IGdkYi1yaGJ6MTM5ODM4Ny10YWItY3Jhc2gtdGVzdC5wYXRj aAorCisjIFt0ZXN0c3VpdGVdIEZpeCBmYWxzZSBzZWxmdGVzdC5leHAgRkFJTCBmcm9tIHN5c3Rl bSByZWFkbGluZS02LjMrIChQYXRyaWNrIFBhbGthKS4KKyM9ZmVkb3JhdGVzdAorUGF0Y2gxMjU6 IGdkYi10ZXN0c3VpdGUtcmVhZGxpbmU2My1zaWdpbnQucGF0Y2gKKworIyBQeXRob24gcGF0Y2hl cyBvZjogaHR0cDovL3NvdXJjZXdhcmUub3JnL2dkYi93aWtpL1Byb2plY3RBcmNoZXIKKyM9cHVz aAorUGF0Y2gxMjY6IGdkYi1hcmNoZXIucGF0Y2gKKworIyBSZXZlcnQgdXBzdHJlYW0gY29tbWl0 IDQ2OTQxMmRkOWNjYzRkZTU4NzRmZDMyOTliMTA1ODMzZjM2YjM0Y2QKK1BhdGNoMTI3OiBnZGIt dmxhLWludGVsLWZpeC1wcmludC1jaGFyLWFycmF5LnBhdGNoCisKCmRpZmYgLS1naXQgYS9fZ2Ri LnNwZWMucGF0Y2guaW5jbHVkZSBiL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRlCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4YzZkMWYKLS0tIC9kZXYvbnVsbAorKysgYi9fZ2Ri LnNwZWMucGF0Y2guaW5jbHVkZQpAQCAtMCwwICsxLDEyNyBAQAorJXBhdGNoMDAxIC1wMQorJXBh dGNoMDAyIC1wMQorJXBhdGNoMDAzIC1wMQorJXBhdGNoMDA0IC1wMQorJXBhdGNoMDA1IC1wMQor JXBhdGNoMDA2IC1wMQorJXBhdGNoMDA3IC1wMQorJXBhdGNoMDA4IC1wMQorJXBhdGNoMDA5IC1w MQorJXBhdGNoMDEwIC1wMQorJXBhdGNoMDExIC1wMQorJXBhdGNoMDEyIC1wMQorJXBhdGNoMDEz IC1wMQorJXBhdGNoMDE0IC1wMQorJXBhdGNoMDE1IC1wMQorJXBhdGNoMDE2IC1wMQorJXBhdGNo MDE3IC1wMQorJXBhdGNoMDE4IC1wMQorJXBhdGNoMDE5IC1wMQorJXBhdGNoMDIwIC1wMQorJXBh dGNoMDIxIC1wMQorJXBhdGNoMDIyIC1wMQorJXBhdGNoMDIzIC1wMQorJXBhdGNoMDI0IC1wMQor JXBhdGNoMDI1IC1wMQorJXBhdGNoMDI2IC1wMQorJXBhdGNoMDI3IC1wMQorJXBhdGNoMDI4IC1w MQorJXBhdGNoMDI5IC1wMQorJXBhdGNoMDMwIC1wMQorJXBhdGNoMDMxIC1wMQorJXBhdGNoMDMy IC1wMQorJXBhdGNoMDMzIC1wMQorJXBhdGNoMDM0IC1wMQorJXBhdGNoMDM1IC1wMQorJXBhdGNo MDM2IC1wMQorJXBhdGNoMDM3IC1wMQorJXBhdGNoMDM4IC1wMQorJXBhdGNoMDM5IC1wMQorJXBh dGNoMDQwIC1wMQorJXBhdGNoMDQxIC1wMQorJXBhdGNoMDQyIC1wMQorJXBhdGNoMDQzIC1wMQor JXBhdGNoMDQ0IC1wMQorJXBhdGNoMDQ1IC1wMQorJXBhdGNoMDQ2IC1wMQorJXBhdGNoMDQ3IC1w MQorJXBhdGNoMDQ4IC1wMQorJXBhdGNoMDQ5IC1wMQorJXBhdGNoMDUwIC1wMQorJXBhdGNoMDUx IC1wMQorJXBhdGNoMDUyIC1wMQorJXBhdGNoMDUzIC1wMQorJXBhdGNoMDU0IC1wMQorJXBhdGNo MDU1IC1wMQorJXBhdGNoMDU2IC1wMQorJXBhdGNoMDU3IC1wMQorJXBhdGNoMDU4IC1wMQorJXBh dGNoMDU5IC1wMQorJXBhdGNoMDYwIC1wMQorJXBhdGNoMDYxIC1wMQorJXBhdGNoMDYyIC1wMQor JXBhdGNoMDYzIC1wMQorJXBhdGNoMDY0IC1wMQorJXBhdGNoMDY1IC1wMQorJXBhdGNoMDY2IC1w MQorJXBhdGNoMDY3IC1wMQorJXBhdGNoMDY4IC1wMQorJXBhdGNoMDY5IC1wMQorJXBhdGNoMDcw IC1wMQorJXBhdGNoMDcxIC1wMQorJXBhdGNoMDcyIC1wMQorJXBhdGNoMDczIC1wMQorJXBhdGNo MDc0IC1wMQorJXBhdGNoMDc1IC1wMQorJXBhdGNoMDc2IC1wMQorJXBhdGNoMDc3IC1wMQorJXBh dGNoMDc4IC1wMQorJXBhdGNoMDc5IC1wMQorJXBhdGNoMDgwIC1wMQorJXBhdGNoMDgxIC1wMQor JXBhdGNoMDgyIC1wMQorJXBhdGNoMDgzIC1wMQorJXBhdGNoMDg0IC1wMQorJXBhdGNoMDg1IC1w MQorJXBhdGNoMDg2IC1wMQorJXBhdGNoMDg3IC1wMQorJXBhdGNoMDg4IC1wMQorJXBhdGNoMDg5 IC1wMQorJXBhdGNoMDkwIC1wMQorJXBhdGNoMDkxIC1wMQorJXBhdGNoMDkyIC1wMQorJXBhdGNo MDkzIC1wMQorJXBhdGNoMDk0IC1wMQorJXBhdGNoMDk1IC1wMQorJXBhdGNoMDk2IC1wMQorJXBh dGNoMDk3IC1wMQorJXBhdGNoMDk4IC1wMQorJXBhdGNoMDk5IC1wMQorJXBhdGNoMTAwIC1wMQor JXBhdGNoMTAxIC1wMQorJXBhdGNoMTAyIC1wMQorJXBhdGNoMTAzIC1wMQorJXBhdGNoMTA0IC1w MQorJXBhdGNoMTA1IC1wMQorJXBhdGNoMTA2IC1wMQorJXBhdGNoMTA3IC1wMQorJXBhdGNoMTA4 IC1wMQorJXBhdGNoMTA5IC1wMQorJXBhdGNoMTEwIC1wMQorJXBhdGNoMTExIC1wMQorJXBhdGNo MTEyIC1wMQorJXBhdGNoMTEzIC1wMQorJXBhdGNoMTE0IC1wMQorJXBhdGNoMTE1IC1wMQorJXBh dGNoMTE2IC1wMQorJXBhdGNoMTE3IC1wMQorJXBhdGNoMTE4IC1wMQorJXBhdGNoMTE5IC1wMQor JXBhdGNoMTIwIC1wMQorJXBhdGNoMTIxIC1wMQorJXBhdGNoMTIyIC1wMQorJXBhdGNoMTIzIC1w MQorJXBhdGNoMTI0IC1wMQorJXBhdGNoMTI1IC1wMQorJXBhdGNoMTI2IC1wMQorJXBhdGNoMTI3 IC1wMQoKZGlmZiAtLWdpdCBhL19naXRfdXBzdHJlYW1fY29tbWl0IGIvX2dpdF91cHN0cmVhbV9j b21taXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBlZmZkMAotLS0gL2Rl di9udWxsCisrKyBiL19naXRfdXBzdHJlYW1fY29tbWl0CkBAIC0wLDAgKzEgQEAKKzFlOTdhMjI3 OTZjY2VkOGJiYTMzNTlkZjQ2ZThjMjg4MzY1MzUxNmYKCmRpZmYgLS1naXQgYS9fcGF0Y2hfb3Jk ZXIgYi9fcGF0Y2hfb3JkZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdj OWViYQotLS0gL2Rldi9udWxsCisrKyBiL19wYXRjaF9vcmRlcgpAQCAtMCwwICsxLDEyNyBAQAor Z2RiLTYuMy1yaC10ZXN0dmVyc2lvbi0yMDA0MTIwMi5wYXRjaAorZ2RiLXZsYS1pbnRlbC1mb3J0 cmFuLXN0cmlkZXMucGF0Y2gKK2dkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRj aAorZ2RiLXZsYS1pbnRlbC1zdHJpbmdidC1maXgucGF0Y2gKK2dkYi02LjMtcmgtZHVtbXlrZmFp bC0yMDA0MTIwMi5wYXRjaAorZ2RiLTYuMy1wcGM2NHN5c2NhbGwtMjAwNDA2MjIucGF0Y2gKK2dk Yi02LjMtcHBjNjRkaXNwbGF5c3ltYm9sLTIwMDQxMTI0LnBhdGNoCitnZGItNi4zLWdzdGFjay0y MDA1MDQxMS5wYXRjaAorZ2RiLTYuMy10ZXN0LXBpZS0yMDA1MDEwNy5wYXRjaAorZ2RiLTYuMy10 ZXN0LXNlbGYtMjAwNTAxMTAucGF0Y2gKK2dkYi02LjMtdGVzdC1kdG9yZml4LTIwMDUwMTIxLnBh dGNoCitnZGItNi4zLXRlc3QtbW92ZWRpci0yMDA1MDEyNS5wYXRjaAorZ2RiLTYuMy10aHJlYWRl ZC13YXRjaHBvaW50czItMjAwNTAyMjUucGF0Y2gKK2dkYi02LjMtaW5mZXJpb3Itbm90aWZpY2F0 aW9uLTIwMDUwNzIxLnBhdGNoCitnZGItNi4zLWluaGVyaXRhbmNldGVzdC0yMDA1MDcyNi5wYXRj aAorZ2RiLTYuMy1yZWFkbmV2ZXItMjAwNTA5MDcucGF0Y2gKK2dkYi02LjUtYnoyMDM2NjEtZW1p dC1yZWxvY3MucGF0Y2gKK2dkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMtd2l0aG91dC1kZWJ1 Z2luZm8tdjIucGF0Y2gKK2dkYi02LjUtc2hhcmVkbGlicmFyeS1wYXRoLnBhdGNoCitnZGItNi41 LUJFQS10ZXN0c3VpdGUucGF0Y2gKK2dkYi02LjUtbGFzdC1hZGRyZXNzLXNwYWNlLWJ5dGUtdGVz dC5wYXRjaAorZ2RiLTYuNS1yZWFkbGluZS1sb25nLWxpbmUtY3Jhc2gtdGVzdC5wYXRjaAorZ2Ri LTYuNS1iejIxNjcxMS1jbG9uZS1pcy1vdXRlcm1vc3QucGF0Y2gKK2dkYi02LjUtYnoyMTgzNzkt cHBjLXNvbGliLXRyYW1wb2xpbmUtdGVzdC5wYXRjaAorZ2RiLTYuNS1iejIxODM3OS1zb2xpYi10 cmFtcG9saW5lLWxvb2t1cC1sb2NrLWZpeC5wYXRjaAorZ2RiLTYuNS1iejEwOTkyMS1EV19BVF9k ZWNsX2ZpbGUtdGVzdC5wYXRjaAorZ2RiLTYuMy1iejE0MDUzMi1wcGMtdW53aW5kaW5nLXRlc3Qu cGF0Y2gKK2dkYi02LjMtYnoyMDI2ODktZXhlYy1mcm9tLXB0aHJlYWQtdGVzdC5wYXRjaAorZ2Ri LTYuNi1iejIzMDAwMC1wb3dlcjYtZGlzYXNzZW1ibHktdGVzdC5wYXRjaAorZ2RiLTYuNi1iejIy OTUxNy1nY29yZS13aXRob3V0LXRlcm1pbmFsLnBhdGNoCitnZGItNi42LWJ6MjM1MTk3LWZvcmst ZGV0YWNoLWluZm8ucGF0Y2gKK2dkYi02LjYtdGVzdHN1aXRlLXRpbWVvdXRzLnBhdGNoCitnZGIt Ni42LWJ6MjM3NTcyLXBwYy1hdG9taWMtc2VxdWVuY2UtdGVzdC5wYXRjaAorZ2RiLTYuNi1zY2hl ZHVsZXJfbG9ja2luZy1zdGVwLWlzLWRlZmF1bHQucGF0Y2gKK2dkYi02LjMtYXR0YWNoLXNlZS12 ZHNvLXRlc3QucGF0Y2gKK2dkYi02LjUtYnoyNDM4NDUtc3RhbGUtdGVzdGluZy16b21iaWUtdGVz dC5wYXRjaAorZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAorZ2RiLTYuNi1idWlsZGlkLWxv Y2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRjaAorZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0u cGF0Y2gKK2dkYi02LjctY2hhcnNpZ24tdGVzdC5wYXRjaAorZ2RiLTYuNy1wcGMtY2xvYmJlcmVk LXJlZ2lzdGVycy1PMi10ZXN0LnBhdGNoCitnZGItNi43LXRlc3RzdWl0ZS1zdGFibGUtcmVzdWx0 cy5wYXRjaAorZ2RiLTYuNS1pYTY0LWxpYnVud2luZC1sZWFrLXRlc3QucGF0Y2gKK2dkYi02LjUt bWlzc2VkLXRyYXAtb24tc3RlcC10ZXN0LnBhdGNoCitnZGItNi41LWdjb3JlLWJ1ZmZlci1saW1p dC10ZXN0LnBhdGNoCitnZGItNi4zLW1hcHBpbmctemVyby1pbm9kZS10ZXN0LnBhdGNoCitnZGIt Ni4zLWZvY3VzLWNtZC1wcmV2LXRlc3QucGF0Y2gKK2dkYi02LjgtYno0NDI3NjUtdGhyZWFkZWQt ZXhlYy10ZXN0LnBhdGNoCitnZGItNi44LXNwYXJjNjQtc2lsZW5jZS1tZW1jcHktY2hlY2sucGF0 Y2gKK2dkYi02LjUtc2VjdGlvbi1udW0tZml4dXAtdGVzdC5wYXRjaAorZ2RiLTYuOC1iejQzNjAz Ny1yZWctbm8tbG9uZ2VyLWFjdGl2ZS5wYXRjaAorZ2RiLTYuOC13YXRjaHBvaW50LWNvbmRpdGlv bmFscy10ZXN0LnBhdGNoCitnZGItNi44LWJ6NDY2OTAxLWJhY2t0cmFjZS1mdWxsLXByZWxpbmtl ZC5wYXRjaAorZ2RiLXNpbXVsdGFuZW91cy1zdGVwLXJlc3VtZS1icmVha3BvaW50LXRlc3QucGF0 Y2gKK2dkYi1jb3JlLW9wZW4tdmRzby13YXJuaW5nLnBhdGNoCitnZGIteDg2XzY0LWkzODYtc3lz Y2FsbC1yZXN0YXJ0LnBhdGNoCitnZGItYno1MzMxNzYtZm9ydHJhbi1vbXAtc3RlcC5wYXRjaAor Z2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gKK2dkYi1jY2FjaGUtd29ya2Fyb3Vu ZC5wYXRjaAorZ2RiLWFyY2hlci1waWUtYWRkb25zLnBhdGNoCitnZGItYXJjaGVyLXBpZS1hZGRv bnMta2VlcC1kaXNhYmxlZC5wYXRjaAorZ2RiLWxpbmVuby1tYWtldXAtdGVzdC5wYXRjaAorZ2Ri LXBwYy1wb3dlcjctdGVzdC5wYXRjaAorZ2RiLWJ6NTQxODY2LXJ3YXRjaC1iZWZvcmUtcnVuLnBh dGNoCitnZGItbW9yaWJ1bmQtdXRyYWNlLXdvcmthcm91bmQucGF0Y2gKK2dkYi1hcmNoZXItbmV4 dC1vdmVyLXRocm93LWN4eC1leGVjLnBhdGNoCitnZGItYno2MDE4ODctZHdhcmY0LXJoLXRlc3Qu cGF0Y2gKK2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0Y2gKK2dkYi02LjYt YnVpbGRpZC1sb2NhdGUtcnBtLWxpYnJwbS13b3JrYXJvdW5kLnBhdGNoCitnZGItdGVzdC1idC1j Zmktd2l0aG91dC1kaWUucGF0Y2gKK2dkYi1nZGItYWRkLWluZGV4LXNjcmlwdC5wYXRjaAorZ2Ri LWJ6NTY4MjQ4LW9vbS1pcy1lcnJvci5wYXRjaAorZ2RiLWJ6NjM0MTA4LXNvbGliX2FkZHJlc3Mu cGF0Y2gKK2dkYi10ZXN0LXBpZDAtY29yZS5wYXRjaAorZ2RiLXRlc3QtZHcyLWFyYW5nZXMucGF0 Y2gKK2dkYi10ZXN0LWV4cHItY3VtdWxhdGl2ZS1hcmNoZXIucGF0Y2gKK2dkYi1waHlzbmFtZS1w cjExNzM0LXRlc3QucGF0Y2gKK2dkYi1waHlzbmFtZS1wcjEyMjczLXRlc3QucGF0Y2gKK2dkYi03 LjIuNTAtc3BhcmMtYWRkLXdvcmthcm91bmQtdG8tYnJva2VuLWRlYnVnLWZpbGVzLnBhdGNoCitn ZGItdGVzdC1pdnktYnJpZGdlLnBhdGNoCitnZGItZ2xpYmMtdmRzby13b3JrYXJvdW5kLnBhdGNo CitnZGItcnVudGVzdC1waWUtb3ZlcnJpZGUucGF0Y2gKK2dkYi1hdHRhY2gtZmFpbC1yZWFzb25z LTVvZjUucGF0Y2gKK2dkYi1zdGFsZS1mcmFtZV9pbmZvLnBhdGNoCitnZGItZ2xpYmMtc3Ryc3Ry LXdvcmthcm91bmQucGF0Y2gKK2dkYi1yaGVsNS45LXRlc3RjYXNlLXhsZi12YXItaW5zaWRlLW1v ZC5wYXRjaAorZ2RiLXJoYnotODE4MzQzLXNldC1zb2xpYi1hYnNvbHV0ZS1wcmVmaXgtdGVzdGNh c2UucGF0Y2gKK2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gKK2dkYi1yaGJ6Nzk1 NDI0LWJpdHBvcy0yMW9mMjUucGF0Y2gKK2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMm9mMjUucGF0 Y2gKK2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gKK2dkYi1yaGJ6Nzk1NDI0LWJp dHBvcy0yNW9mMjUucGF0Y2gKK2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUtdGVzdC5wYXRj aAorZ2RiLXJoYno3OTU0MjQtYml0cG9zLWxhenl2YWx1ZS5wYXRjaAorZ2RiLXJoYno5NDc1NjQt ZmluZHZhci1hc3NlcnRpb24tZnJhbWUtZmFpbGVkLXRlc3RjYXNlLnBhdGNoCitnZGItZ25hdC1k d2FyZi1jcmFzaC0zb2YzLnBhdGNoCitnZGItcmhiejEwMDc2MTQtbWVtbGVhay1pbmZweV9yZWFk X21lbW9yeS10ZXN0LnBhdGNoCitnZGItNi42LWJ1aWxkaWQtbG9jYXRlLW1pc2xlYWRpbmctd2Fy bmluZy1taXNzaW5nLWRlYnVnaW5mby1yaGJ6OTgxMTU0LnBhdGNoCitnZGItYXJjaGVyLXZsYS10 ZXN0cy5wYXRjaAorZ2RiLXZsYS1pbnRlbC10ZXN0cy5wYXRjaAorZ2RiLWJ0cm9idXN0LnBhdGNo CitnZGItZm9ydHJhbi1mcmFtZS1zdHJpbmcucGF0Y2gKK2dkYi1weXRob24tZ2lsLnBhdGNoCitn ZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi10ZXN0LnBhdGNoCitnZGItaml0LXJlYWRl ci1tdWx0aWxpYi5wYXRjaAorZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwtYWZ0ZXItZm9y ay10ZXN0LnBhdGNoCitnZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQt bmFtZS1yZS1zZXQtdGVzdC5wYXRjaAorZ2RiLXJoYnoxMzUwNDM2LXR5cGUtcHJpbnRlcnMtZXJy b3IucGF0Y2gKK2dkYi1yaGJ6MTA4NDQwNC1wcGM2NC1zMzkweC13cm9uZy1wcm9sb2d1ZS1za2lw LU8yLWctM29mMy5wYXRjaAorZ2RiLWJ6MTIxOTc0Ny1hdHRhY2gta2lsbHMucGF0Y2gKK2dkYi1m ZWRvcmEtbGlibmN1cnNlc3cucGF0Y2gKK2dkYi1vcGNvZGVzLWNsZmx1c2hvcHQtdGVzdC5wYXRj aAorZ2RiLWR0cy1yaGVsNi1weXRob24tY29tcGF0LnBhdGNoCitnZGItNi42LWJ1aWxkaWQtbG9j YXRlLXJwbS1zY2wucGF0Y2gKK2dkYi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCitnZGIt Ni44LWF0dGFjaC1zaWduYWxsZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2gKK2dkYi02LjgtcXVpdC1u ZXZlci1hYm9ydHMucGF0Y2gKK2dkYi1yaGJ6MTI2MTU2NC1hYXJjaDY0LWh3LXdhdGNocG9pbnQt dGVzdC5wYXRjaAorZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKK2dkYi1yaGJ6MTMyNTc5NS1m cmFtZWZpbHRlcnMtdGVzdC5wYXRjaAorZ2RiLWxpbnV4X3BlcmYtYnVuZGxlLnBhdGNoCitnZGIt bGliZXhlYy1hZGQtaW5kZXgucGF0Y2gKK2dkYi1hZGQtaW5kZXgtY2htb2QucGF0Y2gKK2dkYi1y aGJ6MTM5ODM4Ny10YWItY3Jhc2gtdGVzdC5wYXRjaAorZ2RiLXRlc3RzdWl0ZS1yZWFkbGluZTYz LXNpZ2ludC5wYXRjaAorZ2RiLWFyY2hlci5wYXRjaAorZ2RiLXZsYS1pbnRlbC1maXgtcHJpbnQt Y2hhci1hcnJheS5wYXRjaAoKZGlmZiAtLWdpdCBhL2dkYi02LjMtYXR0YWNoLXNlZS12ZHNvLXRl c3QucGF0Y2ggYi9nZGItNi4zLWF0dGFjaC1zZWUtdmRzby10ZXN0LnBhdGNoCmluZGV4IGYwZDU3 NjkuLmNlZGNmMjkgMTAwNjQ0Ci0tLSBhL2dkYi02LjMtYXR0YWNoLXNlZS12ZHNvLXRlc3QucGF0 Y2gKKysrIGIvZ2RiLTYuMy1hdHRhY2gtc2VlLXZkc28tdGVzdC5wYXRjaApAQCAtMSwxNCArMSwy NCBAQAorRnJvbSA3MjA0NjU1NTJmMzU5ZTFiNDQ2NjY1MTZkODAzMmJmZTExZDllOWNmIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVt YWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6 IGdkYi02LjMtYXR0YWNoLXNlZS12ZHNvLXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjMt YXR0YWNoLXNlZS12ZHNvLXRlc3QucGF0Y2gKIAorOzsgVGVzdCBrZXJuZWwgVkRTTyBkZWNvZGlu ZyB3aGlsZSBhdHRhY2hpbmcgdG8gYW4gaTM4NiBwcm9jZXNzLgorOzs9ZmVkb3JhdGVzdAorLS0t CisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtc2VlLXZkc28uYyAgIHwgMjUgKysrKysr KysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC1zZWUtdmRzby5leHAgfCA3MiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDk3IGluc2Vy dGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRh Y2gtc2VlLXZkc28uYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2F0dGFjaC1zZWUtdmRzby5leHAKIAotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvYXR0YWNoLXNlZS12ZHNvLmMKLT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45 MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC1zZWUtdmRzby5jCTIwMTYt MDItMTUgMjM6MjU6MzYuNzQ5NjAxMDQ1ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9hdHRhY2gtc2VlLXZkc28uYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXR0 YWNoLXNlZS12ZHNvLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5j ZjNjNzIwN2E1CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0 dGFjaC1zZWUtdmRzby5jCiBAQCAtMCwwICsxLDI1IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBw YXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTM1LDEwICs0NSwxMSBAQCBJbmRl eDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtc2Vl LXZkc28uYwogKyAgcGF1c2UgKCk7CiArICByZXR1cm4gMTsKICt9Ci1JbmRleDogZ2RiLTcuMTAu OTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtc2VlLXZkc28uZXhwCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRh Y2gtc2VlLXZkc28uZXhwCTIwMTYtMDItMTUgMjM6MjU6NDQuODg5NjU4ODQwICswMTAwCitkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtc2VlLXZkc28uZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtc2VlLXZkc28uZXhwCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMDAwMC4uZThhNTM4MDk3ZQorLS0tIC9kZXYvbnVsbAorKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtc2VlLXZkc28uZXhwCiBAQCAtMCwwICsxLDcy IEBACiArIyBDb3B5cmlnaHQgMjAwNwogKwpAQCAtMTEyLDMgKzEyMyw2IEBAIEluZGV4OiBnZGIt Ny4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC1zZWUtdmRzby5l eHAKICsjIHdvcmsuCiArICAgCiArcmVtb3RlX2V4ZWMgYnVpbGQgImtpbGwgLTkgJHt0ZXN0cGlk fSIKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi4zLWJ6MTQwNTMyLXBwYy11bndp bmRpbmctdGVzdC5wYXRjaCBiL2dkYi02LjMtYnoxNDA1MzItcHBjLXVud2luZGluZy10ZXN0LnBh dGNoCmluZGV4IDM5NWI4MjIuLjIzOWU1NWYgMTAwNjQ0Ci0tLSBhL2dkYi02LjMtYnoxNDA1MzIt cHBjLXVud2luZGluZy10ZXN0LnBhdGNoCisrKyBiL2dkYi02LjMtYnoxNDA1MzItcHBjLXVud2lu ZGluZy10ZXN0LnBhdGNoCkBAIC0xLDEzICsxLDI5IEBACitGcm9tIGMwYjI2ZGJlYTkyYmMxMDZi OTM1NmZkZTJkZDg1YzdhNDkzMDU1ZjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBG ZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3Qg MjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuMy1iejE0MDUzMi1wcGMtdW53aW5k aW5nLXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjMtYnoxNDA1MzItcHBjLXVud2luZGlu Zy10ZXN0LnBhdGNoCiAKKzs7IFVwZGF0ZSBQUEMgdW53aW5kaW5nIHBhdGNoZXMgdG8gdGhlaXIg dXBzdHJlYW0gdmFyaWFudHMgKEJaIDE0MDUzMikuCis7Oz1mZWRvcmF0ZXN0CistLS0KKyAuLi4v Z2RiLmFyY2gvcG93ZXJwYy1iY2wtcHJvbG9ndWUtYXNtMzIuUyAgICAgICAgICB8IDc4ICsrKysr KysrKysrKysrKysrCisgLi4uL2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLWFzbTY0LlMg ICAgICAgICAgfCA5OCArKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS5jICAgICAgfCAyOSArKysrKysrCisgZ2RiL3Rlc3Rz dWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS5leHAgICAgfCA3MiArKysrKysrKysr KysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXByb2xvZ3VlLmV4cCAgICAg ICAgfCAgNSArLQorIDUgZmlsZXMgY2hhbmdlZCwgMjgwIGluc2VydGlvbnMoKyksIDIgZGVsZXRp b25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJw Yy1iY2wtcHJvbG9ndWUtYXNtMzIuUworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRl L2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLWFzbTY0LlMKKyBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS5jCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1iY2wtcHJvbG9ndWUu ZXhwCiAKLWRpZmYgLXUgLXJ1TnAgZ2RiLTYuMy11bnBhdGNoZWQvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS1hc20zMi5TIGdkYi02LjMvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS1hc20zMi5TCi0tLS0gZ2RiLTYuMy11bnBhdGNo ZWQvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS1hc20zMi5TCTE5 NjktMTItMzEgMTk6MDA6MDAuMDAwMDAwMDAwIC0wNTAwCi0rKysgZ2RiLTYuMy9nZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLWFzbTMyLlMJMjAwNy0wOC0wMiAxMzoy MzoxMC4wMDAwMDAwMDAgLTA0MDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNo L3Bvd2VycGMtYmNsLXByb2xvZ3VlLWFzbTMyLlMgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bv d2VycGMtYmNsLXByb2xvZ3VlLWFzbTMyLlMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAw MDAwMDAwMDAwLi4xZTQzMDFhZjg5CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLWFzbTMyLlMKIEBAIC0wLDAgKzEsNzggQEAK ICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpA QCAtODcsOSArMTAzLDExIEBAIGRpZmYgLXUgLXJ1TnAgZ2RiLTYuMy11bnBhdGNoZWQvZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS1hc20zCiArfQogKwogKyovCi1k aWZmIC11IC1ydU5wIGdkYi02LjMtdW5wYXRjaGVkL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93 ZXJwYy1iY2wtcHJvbG9ndWUtYXNtNjQuUyBnZGItNi4zL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv cG93ZXJwYy1iY2wtcHJvbG9ndWUtYXNtNjQuUwotLS0tIGdkYi02LjMtdW5wYXRjaGVkL2dkYi90 ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1iY2wtcHJvbG9ndWUtYXNtNjQuUwkxOTY5LTEyLTMx IDE5OjAwOjAwLjAwMDAwMDAwMCAtMDUwMAotKysrIGdkYi02LjMvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS1hc202NC5TCTIwMDctMDgtMDIgMTQ6Mjg6NTYuMDAw MDAwMDAwIC0wNDAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBj LWJjbC1wcm9sb2d1ZS1hc202NC5TIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJj bC1wcm9sb2d1ZS1hc202NC5TCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAw MC4uMWFmNWMxOWExNgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS1hc202NC5TCiBAQCAtMCwwICsxLDk4IEBACiArLyogVGhp cyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTE4OSw5 ICsyMDcsMTEgQEAgZGlmZiAtdSAtcnVOcCBnZGItNi4zLXVucGF0Y2hlZC9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLWFzbTYKICt9CiArCiArKi8KLWRpZmYgLXUg LXJ1TnAgZ2RiLTYuMy11bnBhdGNoZWQvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJj bC1wcm9sb2d1ZS5jIGdkYi02LjMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1w cm9sb2d1ZS5jCi0tLS0gZ2RiLTYuMy11bnBhdGNoZWQvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9w b3dlcnBjLWJjbC1wcm9sb2d1ZS5jCTE5NjktMTItMzEgMTk6MDA6MDAuMDAwMDAwMDAwIC0wNTAw Ci0rKysgZ2RiLTYuMy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3Vl LmMJMjAwNy0wOC0wMiAxMzoyNToxMC4wMDAwMDAwMDAgLTA0MDAKK2RpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLmMgYi9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwMDAwLi42YjViYjA4ZDBmCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLmMKIEBAIC0wLDAgKzEsMjkgQEAK ICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpA QCAtMjIyLDkgKzI0MiwxMSBAQCBkaWZmIC11IC1ydU5wIGdkYi02LjMtdW5wYXRjaGVkL2dkYi90 ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1iY2wtcHJvbG9ndWUuYyBnZAogKyAgZnVuYzEgKCk7 CiArICByZXR1cm4gMDsKICt9Ci1kaWZmIC11IC1ydU5wIGdkYi02LjMtdW5wYXRjaGVkL2dkYi90 ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1iY2wtcHJvbG9ndWUuZXhwIGdkYi02LjMvZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS5leHAKLS0tLSBnZGItNi4zLXVu cGF0Y2hlZC9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLmV4cAkx OTY5LTEyLTMxIDE5OjAwOjAwLjAwMDAwMDAwMCAtMDUwMAotKysrIGdkYi02LjMvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS5leHAJMjAwNy0wOC0wMiAxNDoyMToy OS4wMDAwMDAwMDAgLTA0MDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bv d2VycGMtYmNsLXByb2xvZ3VlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1i Y2wtcHJvbG9ndWUuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4u NWY1MGM0ZWY0MworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9w b3dlcnBjLWJjbC1wcm9sb2d1ZS5leHAKIEBAIC0wLDAgKzEsNzIgQEAKICsjICAgQ29weXJpZ2h0 IDIwMDYsIDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0yOTgsMTIg KzMyMCwxMSBAQCBkaWZmIC11IC1ydU5wIGdkYi02LjMtdW5wYXRjaGVkL2dkYi90ZXN0c3VpdGUv Z2RiLmFyY2gvcG93ZXJwYy1iY2wtcHJvbG9ndWUuZXhwIAogKwlwYXNzICR0ZXN0CiArICAgIH0K ICt9Ci0KLUZpeHVwIHRoZSB0ZXN0Y2FzZSBmb3IgcHBjNjQgYmlhcmNoIEdEQi4KLQotLS0tIC4v Z2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXByb2xvZ3VlLmV4cAkyMDA4LTAxLTEzIDEz OjMyOjE5LjAwMDAwMDAwMCArMDEwMAotKysrIC4vZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dl cnBjLXByb2xvZ3VlLmV4cAkyMDA4LTAxLTAyIDAwOjA0OjEwLjAwMDAwMDAwMCArMDEwMAotQEAg LTE3LDggKzE3LDkgQEAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2Vy cGMtcHJvbG9ndWUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXByb2xvZ3Vl LmV4cAoraW5kZXggOWFiMTcyYmU3Yi4uOTFlZTNhMjliYSAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1wcm9sb2d1ZS5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmFyY2gvcG93ZXJwYy1wcm9sb2d1ZS5leHAKK0BAIC0xNiw4ICsxNiw5IEBACiAgIyBUZXN0 IFBvd2VyUEMgcHJvbG9ndWUgYW5hbHl6ZXIuCiAgCiAgIyBEbyBub3QgcnVuIG9uIEFJWCAod2hl cmUgd2Ugd29uJ3QgYmUgYWJsZSB0byBidWlsZCB0aGUgdGVzdHMgd2l0aG91dApAQCAtMzE1LDMg KzMzNiw2IEBAIEZpeHVwIHRoZSB0ZXN0Y2FzZSBmb3IgcHBjNjQgYmlhcmNoIEdEQi4KICAgICAg dmVyYm9zZSAiU2tpcHBpbmcgUG93ZXJQQyBwcm9sb2d1ZSB0ZXN0cy4iCiAgICAgIHJldHVybgog IH0KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi4zLWJ6MjAyNjg5LWV4ZWMtZnJv bS1wdGhyZWFkLXRlc3QucGF0Y2ggYi9nZGItNi4zLWJ6MjAyNjg5LWV4ZWMtZnJvbS1wdGhyZWFk LXRlc3QucGF0Y2gKaW5kZXggMzkyYTQ3NS4uZjM4NmNiZiAxMDA2NDQKLS0tIGEvZ2RiLTYuMy1i ejIwMjY4OS1leGVjLWZyb20tcHRocmVhZC10ZXN0LnBhdGNoCisrKyBiL2dkYi02LjMtYnoyMDI2 ODktZXhlYy1mcm9tLXB0aHJlYWQtdGVzdC5wYXRjaApAQCAtMSwxOSArMSwyOCBAQAorRnJvbSBk NzViN2VmMTQxYmNjM2VhOWVhZjdmYThiZDcwMjNiNjM3MmUyNWZiIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQogRnJvbTogSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+ CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItNi4z LWJ6MjAyNjg5LWV4ZWMtZnJvbS1wdGhyZWFkLXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02 LjMtYnoyMDI2ODktZXhlYy1mcm9tLXB0aHJlYWQtdGVzdC5wYXRjaAogCis7OyBUZXN0Y2FzZSBm b3IgZXhlYygpIGZyb20gdGhyZWFkZWQgcHJvZ3JhbSAoQlogMjAyNjg5KS4KKzs7PWZlZG9yYXRl c3QKIAogMjAwNy0wMS0xNyAgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5j b20+CiAKIAkqIGdkYi50aHJlYWRzL3RocmVhZGVkLWV4ZWMuZXhwLCBnZGIudGhyZWFkcy90aHJl YWRlZC1leGVjLmM6IE5ldyBmaWxlcy4KKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv dGhyZWFkZWQtZXhlYy5jICAgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGdk Yi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkZWQtZXhlYy5leHAgfCA0MSArKysrKysrKysr KysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA4NyBpbnNlcnRpb25zKCspCisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkZWQtZXhlYy5j CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkZWQt ZXhlYy5leHAKIAotCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIx MS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGVkLWV4ZWMuYwkyMDE2LTAyLTE2IDA5 OjU0OjA2LjkzNjkwNDQxOCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvdGhyZWFkZWQtZXhlYy5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRl ZC1leGVjLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi41MjJiMjQ2 NzFkCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVh ZGVkLWV4ZWMuYwogQEAgLTAsMCArMSw0NiBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBv ZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC02MSwxMCArNzAsMTEgQEAgSW5kZXg6IGdk Yi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkZWQtZXhl Yy5jCiArCWV4ZWNsICgiL2Jpbi90cnVlIiwgIi9iaW4vdHJ1ZSIsIE5VTEwpOwogKwlhYm9ydCAo KTsKICt9Ci1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhy ZWFkcy90aHJlYWRlZC1leGVjLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dk Yi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkZWQtZXhlYy5leHAJMjAxNi0wMi0xNiAwOTo1 NDoxOS45NjU5OTI1ODUgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJl YWRzL3RocmVhZGVkLWV4ZWMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRl ZC1leGVjLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjc3Yzhh N2RjODUKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhy ZWFkZWQtZXhlYy5leHAKIEBAIC0wLDAgKzEsNDEgQEAKICsjIHRocmVhZGVkLWV4ZWMuZXhwIC0t IENoZWNrIHJlc2V0IG9mIHRoZSB0cmFja2VkIHRocmVhZHMgb24gZXhlYyooMikKICsjIENvcHly aWdodCAoQykgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTEwNywzICsx MTcsNiBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhy ZWFkcy90aHJlYWRlZC1leGVjLmV4cAogKyAgICAgICBwYXNzICJQcm9ncmFtIGV4aXRlZCIKICsg ICB9CiArfQorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjMtZm9jdXMtY21kLXBy ZXYtdGVzdC5wYXRjaCBiL2dkYi02LjMtZm9jdXMtY21kLXByZXYtdGVzdC5wYXRjaAppbmRleCBm NzA5M2VlLi4zMzk1YzQyIDEwMDY0NAotLS0gYS9nZGItNi4zLWZvY3VzLWNtZC1wcmV2LXRlc3Qu cGF0Y2gKKysrIGIvZ2RiLTYuMy1mb2N1cy1jbWQtcHJldi10ZXN0LnBhdGNoCkBAIC0xLDE0ICsx LDIyIEBACitGcm9tIDI4ZTQ4NWVlOGFmYmZjN2I5M2E4Y2Y3NDAwY2Y5OTM3NDg3NDc5YzIgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRA ZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVj dDogZ2RiLTYuMy1mb2N1cy1jbWQtcHJldi10ZXN0LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi4z LWZvY3VzLWNtZC1wcmV2LXRlc3QucGF0Y2gKIAorOzsgVGVzdCBhIGNyYXNoIG9uIGBmb2N1cyBj bWQnLCBgZm9jdXMgcHJldicgY29tbWFuZHMuCis7Oz1mZWRvcmF0ZXN0CistLS0KKyBnZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2ZvY3VzLWNtZC1wcmV2LmV4cCB8IDQwICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKQorIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvY3VzLWNtZC1wcmV2LmV4cAog Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb2N1 cy1jbWQtcHJldi5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2ZvY3VzLWNtZC1wcmV2LmV4cAkyMDE3LTAzLTAyIDA5OjM5OjE0LjUwODQ2 MTA4NSArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZm9jdXMtY21k LXByZXYuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb2N1cy1jbWQtcHJldi5leHAKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5kNWE2NTNmNjg0CistLS0gL2Rl di9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvY3VzLWNtZC1wcmV2LmV4cAog QEAgLTAsMCArMSw0MCBAQAogKyMgQ29weXJpZ2h0IDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCiArCkBAIC01MCwzICs1OCw2IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIy Ni9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvY3VzLWNtZC1wcmV2LmV4cAogKwlwYXNzICR0ZXN0 CiArICAgIH0KICt9CistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuMy1nc3RhY2st MjAwNTA0MTEucGF0Y2ggYi9nZGItNi4zLWdzdGFjay0yMDA1MDQxMS5wYXRjaAppbmRleCA0ZmFj YjA0Li5jYWFhNzVkIDEwMDY0NAotLS0gYS9nZGItNi4zLWdzdGFjay0yMDA1MDQxMS5wYXRjaAor KysgYi9nZGItNi4zLWdzdGFjay0yMDA1MDQxMS5wYXRjaApAQCAtMSwyMCArMSwzNCBAQAorRnJv bSBmYjg3ZDAwMTY1ZjU2ODZiYmU1NDhjNDhiODhjM2UyNzYzZGI2ODQ1IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQogRnJvbTogQW5kcmV3IENhZ25leSA8Y2FnbmV5QGdudS5vcmc+CiBEYXRlOiBG cmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItNi4zLWdzdGFjay0y MDA1MDQxMS5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEucGF0Y2gK IAorOzsgQWRkIGEgd3JhcHBlciBzY3JpcHQgdG8gR0RCIHRoYXQgaW1wbGVtZW50cyBwc3RhY2sg dXNpbmcgdGhlCis7OyAtLXJlYWRuZXZlciBvcHRpb24uCis7Oz1wdXNoCisKIDIwMDQtMTEtMjMg IEFuZHJldyBDYWduZXkgIDxjYWduZXlAcmVkaGF0LmNvbT4KIAogCSogTWFrZWZpbGUuaW4gKHVu aW5zdGFsbC1nc3RhY2ssIGluc3RhbGwtZ3N0YWNrKTogTmV3IHJ1bGVzLCBhZGQKIAl0byBpbnN0 YWxsIGFuZCB1bmluc3RhbGwuCiAJKiBnc3RhY2suc2gsIGdzdGFjay4xOiBOZXcgZmlsZXMuCist LS0KKyBnZGIvTWFrZWZpbGUuaW4gICAgICAgICAgICAgICAgICAgfCAzNCArKysrKysrKysrKysr KysrKystLQorIGdkYi9nc3RhY2suc2ggICAgICAgICAgICAgICAgICAgICB8IDQzICsrKysrKysr KysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dzdGFjay5jICAgfCA0 MyArKysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nc3Rh Y2suZXhwIHwgNjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgNCBm aWxlcyBjaGFuZ2VkLCAxODQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKyBjcmVhdGUg bW9kZSAxMDA2NDQgZ2RiL2dzdGFjay5zaAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2dzdGFjay5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvZ3N0YWNrLmV4cAogCi1JbmRleDogZ2RiLTcuNy9nZGIvTWFrZWZpbGUuaW4KLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy43Lm9yaWcvZ2RiL01ha2VmaWxlLmluCTIwMTQtMDItMDYgMjA6 Mjk6MDkuNDAxMjE0MzM5ICswMTAwCi0rKysgZ2RiLTcuNy9nZGIvTWFrZWZpbGUuaW4JMjAxNC0w Mi0wNiAyMDoyOTowOS41MDEyMTQzNjAgKzAxMDAKLUBAIC0xMDY3LDcgKzEwNjcsNyBAQCBpbmZv IGluc3RhbGwtaW5mbyBjbGVhbi1pbmZvIGR2aSBwZGYgaW5zCitkaWZmIC0tZ2l0IGEvZ2RiL01h a2VmaWxlLmluIGIvZ2RiL01ha2VmaWxlLmluCitpbmRleCA1ODIzMDk4MDM2Li5mOTU1MDVlYTIx IDEwMDY0NAorLS0tIGEvZ2RiL01ha2VmaWxlLmluCisrKysgYi9nZGIvTWFrZWZpbGUuaW4KK0BA IC0xNzQ3LDcgKzE3NDcsNyBAQCBpbmZvIGluc3RhbGwtaW5mbyBjbGVhbi1pbmZvIGR2aSBwZGYg aW5zdGFsbC1wZGYgaHRtbCBpbnN0YWxsLWh0bWw6IGZvcmNlCiAgaW5zdGFsbDogYWxsCiAgCUAk KE1BS0UpICQoRkxBR1NfVE9fUEFTUykgaW5zdGFsbC1vbmx5CiAgCkBAIC0yMyw3ICszNyw3IEBA IEluZGV4OiBnZGItNy43L2dkYi9NYWtlZmlsZS5pbgogIAl0cmFuc2Zvcm1lZF9uYW1lPWB0PSck KHByb2dyYW1fdHJhbnNmb3JtX25hbWUpJzsgXAogIAkJCSAgZWNobyBnZGIgfCBzZWQgLWUgIiQk dCJgIDsgXAogIAkJaWYgdGVzdCAieCQkdHJhbnNmb3JtZWRfbmFtZSIgPSB4OyB0aGVuIFwKLUBA IC0xMTA0LDcgKzExMDQsMjUgQEAgaW5zdGFsbC1zdHJpcDoKK0BAIC0xNzg3LDcgKzE3ODcsMjUg QEAgaW5zdGFsbC1ndWlsZToKICBpbnN0YWxsLXB5dGhvbjoKICAJJChTSEVMTCkgJChzcmNkaXIp Ly4uL21raW5zdGFsbGRpcnMgJChERVNURElSKSQoR0RCX0RBVEFESVIpL3B5dGhvbi9nZGIKICAK QEAgLTUwLDcgKzY0LDcgQEAgSW5kZXg6IGdkYi03LjcvZ2RiL01ha2VmaWxlLmluCiAgCXRyYW5z Zm9ybWVkX25hbWU9YHQ9JyQocHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSknOyBcCiAgCQkJICBlY2hv IGdkYiB8IHNlZCAtZSAkJHRgIDsgXAogIAkJaWYgdGVzdCAieCQkdHJhbnNmb3JtZWRfbmFtZSIg PSB4OyB0aGVuIFwKLUBAIC0xMTI3LDYgKzExNDUsMTggQEAgdW5pbnN0YWxsOiBmb3JjZSAkKENP TkZJR19VTklOU1RBTEwpCitAQCAtMTgxMCw2ICsxODI4LDE4IEBAIHVuaW5zdGFsbDogZm9yY2Ug JChDT05GSUdfVU5JTlNUQUxMKQogIAlmaQogIAlAJChNQUtFKSBETz11bmluc3RhbGwgIkRPRElS Uz0kKFNVQkRJUlMpIiAkKEZMQUdTX1RPX1BBU1MpIHN1YmRpcl9kbwogIApAQCAtNjksMTAgKzgz LDExIEBAIEluZGV4OiBnZGItNy43L2dkYi9NYWtlZmlsZS5pbgogICMgVGhlIEMrKyBuYW1lIHBh cnNlciBjYW4gYmUgYnVpbHQgc3RhbmRhbG9uZSBmb3IgdGVzdGluZy4KICB0ZXN0LWNwLW5hbWUt cGFyc2VyLm86IGNwLW5hbWUtcGFyc2VyLmMKICAJJChDT01QSUxFKSAtRFRFU1RfQ1BOQU1FUyBj cC1uYW1lLXBhcnNlci5jCi1JbmRleDogZ2RiLTcuNy9nZGIvZ3N0YWNrLnNoCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysg Z2RiLTcuNy9nZGIvZ3N0YWNrLnNoCTIwMTQtMDItMDYgMjA6Mjk6MDkuNTAxMjE0MzYwICswMTAw CitkaWZmIC0tZ2l0IGEvZ2RiL2dzdGFjay5zaCBiL2dkYi9nc3RhY2suc2gKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5mN2YwNzI0OGY3CistLS0gL2Rldi9udWxsCisr KysgYi9nZGIvZ3N0YWNrLnNoCiBAQCAtMCwwICsxLDQzIEBACiArIyEvYmluL3NoCiArCkBAIC0x MTcsMTAgKzEzMiw2MCBAQCBJbmRleDogZ2RiLTcuNy9nZGIvZ3N0YWNrLnNoCiArICAgIC1lICdz L15cKChnZGIpIFwpKi8vJyBcCiArICAgIC1lICcvXiMvcCcgXAogKyAgICAtZSAnL15UaHJlYWQv cCcKLUluZGV4OiBnZGItNy43L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ3N0YWNrLmV4cAotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nc3RhY2suZXhwCTIwMTQtMDIt MDYgMjA6NDM6MTcuNzc0NzQ3MzUyICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9nc3RhY2suYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ3N0YWNrLmMKK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5kYzEwODEzZjA0CistLS0gL2Rldi9u dWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dzdGFjay5jCitAQCAtMCwwICsxLDQz IEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4K KysKKysgICBDb3B5cmlnaHQgMjAwNSwgMjAwNywgMjAwOCwgMjAwOSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj ZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAg IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRo aXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4g ICovCisrCisrI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2luY2x1ZGUgPHVuaXN0ZC5oPgorKyNpbmNs dWRlIDxzdHJpbmcuaD4KKysKKyt2b2lkCisrZnVuYyAodm9pZCkKKyt7CisrICBjb25zdCBjaGFy IG1zZ1tdID0gImxvb3BpbmdcbiI7CisrCisrICAvKiBVc2UgdGhlIG1vc3Qgc2ltcGxlIG5vdGlm aWNhdGlvbiBub3QgdG8gZ2V0IGNhdWdodCBieSBhdHRhY2ggb24gZXhpdGluZworKyAgICAgdGhl IGZ1bmN0aW9uLiAgKi8KKysgIHdyaXRlICgxLCBtc2csIHN0cmxlbiAobXNnKSk7CisrICAKKysg IGZvciAoOzspOworK30KKysKKytpbnQKKyttYWluICh2b2lkKQorK3sKKysgIGFsYXJtICg2MCk7 CisrICBuaWNlICgxMDApOworKworKyAgZnVuYyAoKTsKKysKKysgIHJldHVybiAwOworK30KK2Rp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dzdGFjay5leHAgYi9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2dzdGFjay5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwMDAwLi4xMTg2ZWM1N2JjCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2dzdGFjay5leHAKIEBAIC0wLDAgKzEsNjYgQEAKICsjIENvcHlyaWdodCAoQykgMjAx MiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTE4OCw1MSArMjUzLDYgQEAg SW5kZXg6IGdkYi03LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nc3RhY2suZXhwCiArZ2RiX2V4 aXQKICsKICtyZW1vdGVfZXhlYyBob3N0ICJraWxsIC05ICRwaWQiCi1JbmRleDogZ2RiLTcuNy9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dzdGFjay5jCi09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuNy9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2dzdGFjay5jCTIwMTQtMDItMDYgMjA6Mjk6MDkuNTAyMjE0MzYwICsw MTAwCi1AQCAtMCwwICsxLDQzIEBACi0rLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwg dGhlIEdOVSBkZWJ1Z2dlci4KLSsKLSsgICBDb3B5cmlnaHQgMjAwNSwgMjAwNywgMjAwOCwgMjAw OSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyAg IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK LSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0rI2luY2x1ZGUgPHN0ZGlvLmg+Ci0rI2luY2x1ZGUg PHVuaXN0ZC5oPgotKyNpbmNsdWRlIDxzdHJpbmcuaD4KLSsKLSt2b2lkCi0rZnVuYyAodm9pZCkK LSt7Ci0rICBjb25zdCBjaGFyIG1zZ1tdID0gImxvb3BpbmdcbiI7Ci0rCi0rICAvKiBVc2UgdGhl IG1vc3Qgc2ltcGxlIG5vdGlmaWNhdGlvbiBub3QgdG8gZ2V0IGNhdWdodCBieSBhdHRhY2ggb24g ZXhpdGluZwotKyAgICAgdGhlIGZ1bmN0aW9uLiAgKi8KLSsgIHdyaXRlICgxLCBtc2csIHN0cmxl biAobXNnKSk7Ci0rICAKLSsgIGZvciAoOzspOwotK30KLSsKLStpbnQKLSttYWluICh2b2lkKQot K3sKLSsgIGFsYXJtICg2MCk7Ci0rICBuaWNlICgxMDApOwotKwotKyAgZnVuYyAoKTsKLSsKLSsg IHJldHVybiAwOwotK30KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi4zLWluZmVy aW9yLW5vdGlmaWNhdGlvbi0yMDA1MDcyMS5wYXRjaCBiL2dkYi02LjMtaW5mZXJpb3Itbm90aWZp Y2F0aW9uLTIwMDUwNzIxLnBhdGNoCmluZGV4IGRmNzIzOWYuLmRkNDM2MDAgMTAwNjQ0Ci0tLSBh L2dkYi02LjMtaW5mZXJpb3Itbm90aWZpY2F0aW9uLTIwMDUwNzIxLnBhdGNoCisrKyBiL2dkYi02 LjMtaW5mZXJpb3Itbm90aWZpY2F0aW9uLTIwMDUwNzIxLnBhdGNoCkBAIC0xLDkgKzEsMTMgQEAK K0Zyb20gMWU0NmMxMzA3NTM5ZTc1OTRlOGI2ODA3ZWE0MTY2NWI0YjIxOGU1YyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKIEZyb206IEplZmYgSm9obnN0b24gPGpqb2huc3RuQHJlZGhhdC5jb20+ CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItNi4z LWluZmVyaW9yLW5vdGlmaWNhdGlvbi0yMDA1MDcyMS5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYu My1pbmZlcmlvci1ub3RpZmljYXRpb24tMjAwNTA3MjEucGF0Y2gKIAorOzsgTm90aWZ5IG9ic2Vy dmVycyB0aGF0IHRoZSBpbmZlcmlvciBoYXMgYmVlbiBjcmVhdGVkCis7Oz1mZWRvcmF0ZXN0CisK IDIwMDUtMDctMjEgIEplZmYgSm9obnN0b24gIDxqam9obnN0bkByZWRoYXQuY29tPgogCiAJKiBn ZGIuYmFzZS9hdHRhY2gtMzIuZXhwOiBOZXcgdGVzdCBmb3IgYXR0YWNoaW5nIGluIDMyLWJpdApA QCAtMTQsMTEgKzE4LDIwIEBAIEZpbGVOYW1lOiBnZGItNi4zLWluZmVyaW9yLW5vdGlmaWNhdGlv bi0yMDA1MDcyMS5wYXRjaAogMjAwNy0xMi0yNiAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9j aHZpbEByZWRoYXQuY29tPgogCiAJKiBnZGIuYmFzZS9hdHRhY2gtMzIuZXhwOiBGaXggZm9yZ290 dGVuICRHREJGTEFHUyBhcyBzZXQuCistLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFj aC0zMi5jICAgfCAgMjAgKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtMzIuZXhw IHwgMjQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9hdHRhY2gtMzJiLmMgIHwgIDI0ICsrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDI4 OSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvYXR0YWNoLTMyLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9hdHRhY2gtMzIuZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvYXR0YWNoLTMyYi5jCiAKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2F0dGFjaC0zMi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtMzIuYwkyMDE2LTAyLTE1IDIzOjIzOjAyLjky MzQ5OTUxMiArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXR0YWNo LTMyLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMi5jCituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMDA0MWI0NzMyZAorLS0tIC9kZXYvbnVsbAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtMzIuYwogQEAgLTAsMCArMSwyMCBAQAog Ky8qIFRoaXMgcHJvZ3JhbSBpcyBpbnRlbmRlZCB0byBiZSBzdGFydGVkIG91dHNpZGUgb2YgZ2Ri LCBhbmQgdGhlbgogKyAgIGF0dGFjaGVkIHRvIGJ5IGdkYi4gIFRodXMsIGl0IHNpbXBseSBzcGlu cyBpbiBhIGxvb3AuICBUaGUgbG9vcApAQCAtNDAsMTAgKzUzLDExIEBAIEluZGV4OiBnZGItNy4x MC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMi5jCiArICAgIH0K ICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2F0dGFjaC0zMi5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIx MS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMi5leHAJMjAxNi0wMi0xNSAyMzoyNTox MS4zODU0MjA5NTcgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0 dGFjaC0zMi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMi5leHAKK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi42N2RlZDAyY2NmCistLS0gL2Rldi9u dWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMi5leHAKIEBAIC0wLDAg KzEsMjQ1IEBACiArIyBDb3B5cmlnaHQgMjAwNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KICsKQEAgLTI5MCwxMCArMzA0LDExIEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMi5leHAKICtkb19jYWxsX2F0dGFjaF90ZXN0 cwogKwogK3JldHVybiAwCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9hdHRhY2gtMzJiLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMmIuYwkyMDE2LTAyLTE1IDIzOjIzOjAyLjky NDQ5OTUxOSArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXR0YWNo LTMyYi5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtMzJiLmMKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5hNzgwMzdlZDM4CistLS0gL2Rldi9udWxsCisr KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMmIuYwogQEAgLTAsMCArMSwyNCBA QAogKy8qIFRoaXMgcHJvZ3JhbSBpcyBpbnRlbmRlZCB0byBiZSBzdGFydGVkIG91dHNpZGUgb2Yg Z2RiLCBhbmQgdGhlbgogKyAgIGF0dGFjaGVkIHRvIGJ5IGdkYi4gIFRodXMsIGl0IHNpbXBseSBz cGlucyBpbiBhIGxvb3AuICBUaGUgbG9vcApAQCAtMzE5LDMgKzMzNCw2IEBAIEluZGV4OiBnZGIt Ny4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMmIuYwogKyAg ICB9CiArICByZXR1cm4gKDApOwogK30KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGIt Ni4zLWluaGVyaXRhbmNldGVzdC0yMDA1MDcyNi5wYXRjaCBiL2dkYi02LjMtaW5oZXJpdGFuY2V0 ZXN0LTIwMDUwNzI2LnBhdGNoCmluZGV4IDc2M2I0YTEuLjBhNDE0MjIgMTAwNjQ0Ci0tLSBhL2dk Yi02LjMtaW5oZXJpdGFuY2V0ZXN0LTIwMDUwNzI2LnBhdGNoCisrKyBiL2dkYi02LjMtaW5oZXJp dGFuY2V0ZXN0LTIwMDUwNzI2LnBhdGNoCkBAIC0xLDM2ICsxLDM1IEBACitGcm9tIDQ0NWU5YTEx MzQwNjc1MmMwMWY2MWUyNzk4N2IwNTA2NzgzMzQyOGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CiBGcm9tOiBKZWZmIEpvaG5zdG9uIDxqam9obnN0bkByZWRoYXQuY29tPgogRGF0ZTogRnJpLCAy NyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuMy1pbmhlcml0YW5jZXRl c3QtMjAwNTA3MjYucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjMtaW5oZXJpdGFuY2V0ZXN0LTIw MDUwNzI2LnBhdGNoCiAKKzs7IFZlcmlmeSBwcmludGluZyBvZiBpbmhlcml0ZWQgbWVtYmVycyB0 ZXN0Cis7Oz1mZWRvcmF0ZXN0CisKIDIwMDUtMDctMjYgIEplZmYgSm9obnN0b24gIDxqam9obnN0 bkByZWRoYXQuY29tPgogCiAJKiBnZGIuY3AvYjE0NjgzNS5leHA6IE5ldyB0ZXN0Y2FzZS4KIAkq IGdkYi5jcC9iMTQ2ODM1LmNjOiBEaXR0by4KIAkqIGdkYi5jcC9iMTQ2ODM1Yi5jYzogRGl0dG8u CiAJKiBnZGIuY3AvYjE0NjgzNS5oOiBEaXR0by4KKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmNw L2IxNDY4MzUuY2MgIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3Rz dWl0ZS9nZGIuY3AvYjE0NjgzNS5leHAgfCA0NyArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvYjE0NjgzNS5oICAgfCAzNiArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5jcC9iMTQ2ODM1 Yi5jYyB8IDExICsrKysrKysrKysKKyA0IGZpbGVzIGNoYW5nZWQsIDEyNiBpbnNlcnRpb25zKCsp CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmNwL2IxNDY4MzUuY2MKKyBj cmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvYjE0NjgzNS5leHAKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvYjE0NjgzNS5oCisgY3JlYXRlIG1v ZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmNwL2IxNDY4MzViLmNjCiAKLUluZGV4OiBnZGIt Ny4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9iMTQ2ODM1Yi5jYwotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2IxNDY4MzViLmNj CTIwMTYtMDItMTYgMDk6NDk6MDguNzQzODg2NjIwICswMTAwCi1AQCAtMCwwICsxLDExIEBACi0r I2luY2x1ZGUgImIxNDY4MzUuaCIKLSsKLStDOjpDKCkgeyBkID0gMDsgeCA9IDM7IH0KLSsKLStp bnQgQzo6eiAoY2hhciAqcykgeyByZXR1cm4gMDsgfQotKwotK0M6On5DKCkge30KLSsKLSt2b2lk IEE6OmZ1bmNEIChjbGFzcyBFICplLCBjbGFzcyBEICpkKSB7fQotK3ZvaWQgQTo6ZnVuY0UgKEUg KmUsIEQgKmQpIHt9Ci0rdm9pZCBBOjpmdW5jRiAodW5zaWduZWQgbG9uZyB4LCBEICpkKSB7fQot SW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2IxNDY4MzUu Y2MKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAw MDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9i MTQ2ODM1LmNjCTIwMTYtMDItMTYgMDk6NDk6MDguNzQ0ODg2NjI3ICswMTAwCitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvYjE0NjgzNS5jYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNw L2IxNDY4MzUuY2MKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi40MTYx ZDUyM2Y1CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9iMTQ2ODM1 LmNjCiBAQCAtMCwwICsxLDMyIEBACiArI2luY2x1ZGUgImIxNDY4MzUuaCIKICsjaW5jbHVkZSA8 aW9zdHJlYW0+CkBAIC02NCwxMCArNjMsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjEx L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2IxNDY4MzUuY2MKICsgICBmLmZvbygpOwogK30KICsKLUlu ZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9iMTQ2ODM1LmV4 cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAw MCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2Ix NDY4MzUuZXhwCTIwMTYtMDItMTYgMDk6NTE6NDguNjAxOTY4MzM5ICswMTAwCitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvYjE0NjgzNS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5j cC9iMTQ2ODM1LmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmQw MzgxNWJjZmYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2IxNDY4 MzUuZXhwCiBAQCAtMCwwICsxLDQ3IEBACiArIyBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RC LCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTE2LDEwICsxMTYsMTEgQEAgSW5kZXg6IGdkYi03 LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2IxNDY4MzUuZXhwCiArCiArIyBW ZXJpZnkgdGhhdCB3ZSBjYW4gYWNjZXNzIHRoZSBpbmhlcml0ZWQgbWVtYmVyIGQKICtnZGJfdGVz dCAicCBkIiAiID0gXFwoRCBcXCpcXCkgKjB4MCIgIlZlcmlmeSBpbmhlcml0ZWQgbWVtYmVyIGQg YWNjZXNzaWJsZSIKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dk Yi5jcC9iMTQ2ODM1LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1 aXRlL2dkYi5jcC9iMTQ2ODM1LmgJMjAxNi0wMi0xNiAwOTo0OTowOC43NDQ4ODY2MjcgKzAxMDAK K2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9iMTQ2ODM1LmggYi9nZGIvdGVzdHN1 aXRlL2dkYi5jcC9iMTQ2ODM1LmgKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw MDAwLi40OGRmN2EyOTM1CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5j cC9iMTQ2ODM1LmgKIEBAIC0wLDAgKzEsMzYgQEAKICsKICtjbGFzcyBBIHsKQEAgLTE1NywzICsx NTgsMjMgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmNw L2IxNDY4MzUuaAogKyAgIGludCB6IChjaGFyICpzKTsKICsgICB2aXJ0dWFsIH5DKCk7CiArfTsK K2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9iMTQ2ODM1Yi5jYyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmNwL2IxNDY4MzViLmNjCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAw MDAwMDAwMC4uMTg1M2MxZmEzOAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuY3AvYjE0NjgzNWIuY2MKK0BAIC0wLDAgKzEsMTEgQEAKKysjaW5jbHVkZSAiYjE0NjgzNS5o IgorKworK0M6OkMoKSB7IGQgPSAwOyB4ID0gMzsgfQorKworK2ludCBDOjp6IChjaGFyICpzKSB7 IHJldHVybiAwOyB9CisrCisrQzo6fkMoKSB7fQorKworK3ZvaWQgQTo6ZnVuY0QgKGNsYXNzIEUg KmUsIGNsYXNzIEQgKmQpIHt9Cisrdm9pZCBBOjpmdW5jRSAoRSAqZSwgRCAqZCkge30KKyt2b2lk IEE6OmZ1bmNGICh1bnNpZ25lZCBsb25nIHgsIEQgKmQpIHt9CistLSAKKzIuMTQuMworCgpkaWZm IC0tZ2l0IGEvZ2RiLTYuMy1tYXBwaW5nLXplcm8taW5vZGUtdGVzdC5wYXRjaCBiL2dkYi02LjMt bWFwcGluZy16ZXJvLWlub2RlLXRlc3QucGF0Y2gKaW5kZXggODUzODFhZC4uYmU0NmYyOCAxMDA2 NDQKLS0tIGEvZ2RiLTYuMy1tYXBwaW5nLXplcm8taW5vZGUtdGVzdC5wYXRjaAorKysgYi9nZGIt Ni4zLW1hcHBpbmctemVyby1pbm9kZS10ZXN0LnBhdGNoCkBAIC0xLDEyMCArMSwyNCBAQAorRnJv bSA3ZDgyYWJjYmE5NTQ3MzhkNTFkNzM0OTNjZTUyYWMwMDZiMjZlNDIwIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4K IERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjMt bWFwcGluZy16ZXJvLWlub2RlLXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjMtbWFwcGlu Zy16ZXJvLWlub2RlLXRlc3QucGF0Y2gKIAorOzsgVGVzdCBHQ09SRSBmb3Igc2htaWQgMCBzaGFy ZWQgbWVtb3J5IG1hcHBpbmdzLgorOzs9ZmVkb3JhdGVzdDogQnV0IGl0IGlzIGJyb2tlbiBhbnl3 YXksIHNvbWV0aW1lcyB0aGUgY2FzZSBiZWluZyB0ZXN0ZWQgaXMgbm90IHJlcHJvZHVjaWJsZS4K Ky0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtc2htaWQwLmMgICB8IDEyOCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2Nv cmUtc2htaWQwLmV4cCB8IDEwMSArKysrKysrKysrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBj aGFuZ2VkLCAyMjkgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2djb3JlLXNobWlkMC5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtc2htaWQwLmV4cAogCi1JbmRleDogZ2RiLTcuNi41MC4yMDEz MDczMS1jdnMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1zaG1pZDAuZXhwCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0r KysgZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1z aG1pZDAuZXhwCTIwMTMtMDgtMDIgMjI6MjQ6MDQuNzQ3NzQ1MTMzICswMjAwCi1AQCAtMCwwICsx LDEwMSBAQAotKyMgQ29weXJpZ2h0IDIwMDcsIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCi0rCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0r IyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyMgCi0rIyBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsj IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCi0rIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCi0rIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgotKyMgCi0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlm IG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSsjIEZvdW5kYXRpb24sIEluYy4sIDU5 IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuICAK LSsKLSsjIFRlc3QgR0RCJ3MgaGFuZGxpbmcgb2YgZ2NvcmUgZm9yIG1hcHBpbmcgd2l0aCBhIG5h bWUgYnV0IHplcm8gaW5vZGUuCi0rCi0raWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyBnY29yZS1z aG1pZDAuZXhwIGdjb3JlLXNobWlkMF0gfSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLSsjIERv ZXMgdGhpcyBnZGIgc3VwcG9ydCBnY29yZT8KLStzZXQgdGVzdCAiaGVscCBnY29yZSIKLStnZGJf dGVzdF9tdWx0aXBsZSAkdGVzdCAkdGVzdCB7Ci0rICAgIC1yZSAiVW5kZWZpbmVkIGNvbW1hbmQ6 IC5nY29yZS4qJGdkYl9wcm9tcHQgJCIgewotKwkjIGdjb3JlIGNvbW1hbmQgbm90IHN1cHBvcnRl ZCAtLSBub3RoaW5nIHRvIHRlc3QgaGVyZS4KLSsJdW5zdXBwb3J0ZWQgImdkYiBkb2VzIG5vdCBz dXBwb3J0IGdjb3JlIG9uIHRoaXMgdGFyZ2V0IgotKwlyZXR1cm4gLTE7Ci0rICAgIH0KLSsgICAg LXJlICJTYXZlIGEgY29yZSBmaWxlIC4qJGdkYl9wcm9tcHQgJCIgewotKwlwYXNzICR0ZXN0Ci0r ICAgIH0KLSt9Ci0rCi0raWYgeyAhIFsgcnVudG9fbWFpbiBdIH0gdGhlbiB7Ci0rICAgIHVudGVz dGVkIGdjb3JlLXNobWlkMC5leHAKLSsgICAgcmV0dXJuIC0xCi0rfQotKwotK2dkYl9icmVha3Bv aW50ICJpbml0aWFsaXplZCIKLStnZGJfYnJlYWtwb2ludCAidW5yZXNvbHZlZCIKLSsKLStzZXQg b2xkdGltZW91dCAkdGltZW91dAotK3NldCB0aW1lb3V0IFtleHByICRvbGR0aW1lb3V0ICsgMTIw XQotKwotK3NldCB0ZXN0ICJDb250aW51ZSB0byBpbml0aWFsaXplZC4iCi0rZ2RiX3Rlc3RfbXVs dGlwbGUgImNvbnRpbnVlIiAkdGVzdCB7Ci0rICAgIC1yZSAiQnJlYWtwb2ludCAuKiwgaW5pdGlh bGl6ZWQgLiogYXQgLipcclxuJGdkYl9wcm9tcHQgJCIgewotKwlwYXNzICR0ZXN0Ci0rICAgIH0K LSsgICAgLXJlICJCcmVha3BvaW50IC4qLCB1bnJlc29sdmVkIC4qIGF0IC4qXHJcbiRnZGJfcHJv bXB0ICQiIHsKLSsJc2V0IHRpbWVvdXQgJG9sZHRpbWVvdXQKLSsJdW5zdXBwb3J0ZWQgJHRlc3QK LSsJcmV0dXJuIC0xCi0rICAgIH0KLSt9Ci0rc2V0IHRpbWVvdXQgJG9sZHRpbWVvdXQKLSsKLStz ZXQgZXNjYXBlZGZpbGVuYW1lIFtzdHJpbmdfdG9fcmVnZXhwIFtzdGFuZGFyZF9vdXRwdXRfZmls ZSBnY29yZS1zaG1pZDAudGVzdF1dCi0rCi0rc2V0IHRlc3QgInNhdmUgYSBjb3JlZmlsZSIKLStn ZGJfdGVzdF9tdWx0aXBsZSAiZ2NvcmUgW3N0YW5kYXJkX291dHB1dF9maWxlIGdjb3JlLXNobWlk MC50ZXN0XSIgJHRlc3QgewotKyAgICAtcmUgIlNhdmVkIGNvcmVmaWxlICR7ZXNjYXBlZGZpbGVu YW1lfVxbXHJcblxdKyRnZGJfcHJvbXB0ICQiIHsKLSsJcGFzcyAkdGVzdAotKyAgICB9Ci0rICAg IC1yZSAiQ2FuJ3QgY3JlYXRlIGEgY29yZWZpbGVcW1xyXG5cXSskZ2RiX3Byb21wdCAkIiB7Ci0r CXVuc3VwcG9ydGVkICR0ZXN0Ci0rICAgIH0KLSt9Ci0rCi0rIyBCZSBzdXJlIHRvIHJlbW92ZSB0 aGUgaGFuZGxlIGZpcnN0LgotKyMgQnV0IGl0IHdvdWxkIGdldCByZW1vdmVkIGV2ZW4gb24gYSBr aWxsIGJ5IEdEQiBhcyB0aGUgaGFuZGxlIGlzIGFscmVhZHkKLSsjIGRlbGV0ZWQsIGp1c3QgaXQg aXMgc3RpbGwgYXR0YWNoZWQuCi0rZ2RiX2NvbnRpbnVlX3RvX2VuZCAiZmluaXNoIgotKwotK3Nl dCB0ZXN0ICJjb3JlLWZpbGUgY29tbWFuZCIKLStnZGJfdGVzdF9tdWx0aXBsZSAiY29yZS1maWxl IFtzdGFuZGFyZF9vdXRwdXRfZmlsZSBnY29yZS1zaG1pZDAudGVzdF0iICR0ZXN0IHsKLSsgICAg LXJlICIuKiBwcm9ncmFtIGlzIGJlaW5nIGRlYnVnZ2VkIGFscmVhZHkuKnkgb3Igbi4gJCIgewot KwkjIGdkYl9sb2FkIG1heSBjb25uZWN0IHVzIHRvIGEgZ2Ric2VydmVyLgotKwlzZW5kX2dkYiAi eVxuIgotKwlleHBfY29udGludWU7Ci0rICAgIH0KLSsgICAgLXJlICJDb3JlIHdhcyBnZW5lcmF0 ZWQgYnkgLipcclxuXCMwICAuKlxcXChcXFwpLipcclxuJGdkYl9wcm9tcHQgJCIgewotKwkjIFRo ZSBmaWxlbmFtZSBkb2VzIG5vdCBmaXQgdGhlcmUgYW55d2F5IHNvIGRvIG5vdCBjaGVjayBpdC4K LSsJcGFzcyAkdGVzdAotKyAgICB9Ci0rICAgIC1yZSAiLipyZWdpc3RlcnMgZnJvbSBjb3JlIGZp bGU6IEZpbGUgaW4gd3JvbmcgZm9ybWF0LiogJCIgewotKwlmYWlsICJjb3JlLWZpbGUgY29tbWFu ZCAoY291bGQgbm90IHJlYWQgcmVnaXN0ZXJzIGZyb20gY29yZSBmaWxlKSIKLSsgICAgfQotK30K LSsKLStzZXQgdGVzdCAiYmFja3RyYWNlIgotK2dkYl90ZXN0X211bHRpcGxlICJidCIgJHRlc3Qg ewotKyAgICAtcmUgIiMwICppbml0aWFsaXplZCBcXFwoXFxcKSBhdCAuKiMxIC4qIG1haW4gXFxc KC4qJGdkYl9wcm9tcHQgJCIgewotKwlwYXNzICR0ZXN0Ci0rICAgIH0KLSsgICAgLXJlICIjMCAq aW5pdGlhbGl6ZWQgXFxcKFxcXCkgYXQgLipDYW5ub3QgYWNjZXNzIG1lbW9yeSBhdCBhZGRyZXNz IC4qJGdkYl9wcm9tcHQgJCIgewotKwlmYWlsICR0ZXN0Ci0rICAgIH0KLSt9Ci1JbmRleDogZ2Ri LTcuNi41MC4yMDEzMDczMS1jdnMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1zaG1pZDAu YwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAw MCArMDAwMAotKysrIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvZ2NvcmUtc2htaWQwLmMJMjAxMy0wOC0wMiAyMjoyMjoxNy41NzM1OTk0OTYgKzAyMDAKK2Rp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3JlLXNobWlkMC5jIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1zaG1pZDAuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAuLmJiOTcwOWE3NWMKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtc2htaWQwLmMKIEBAIC0wLDAgKzEsMTI4IEBACiArLyogQ29w eXJpZ2h0IDIwMDcsIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0y NDQsMyArMTQ4LDExMyBAQCBJbmRleDogZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9nY29yZS1zaG1pZDAuYwogKwogKyAgcmV0dXJuIDA7CiArfQorZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtc2htaWQwLmV4cCBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtc2htaWQwLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAuLmIxZmVjNjgyYWEKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtc2htaWQwLmV4cAorQEAgLTAsMCArMSwxMDEgQEAKKysjIENv cHlyaWdodCAyMDA3LCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyMg VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjIAorKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjIAor KyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRv IHRoZSBGcmVlIFNvZnR3YXJlCisrIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2Ug LSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLiAgCisrCisrIyBUZXN0IEdE QidzIGhhbmRsaW5nIG9mIGdjb3JlIGZvciBtYXBwaW5nIHdpdGggYSBuYW1lIGJ1dCB6ZXJvIGlu b2RlLgorKworK2lmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgZ2NvcmUtc2htaWQwLmV4cCBnY29y ZS1zaG1pZDBdIH0geworKyAgICByZXR1cm4gLTEKKyt9CisrCisrIyBEb2VzIHRoaXMgZ2RiIHN1 cHBvcnQgZ2NvcmU/Cisrc2V0IHRlc3QgImhlbHAgZ2NvcmUiCisrZ2RiX3Rlc3RfbXVsdGlwbGUg JHRlc3QgJHRlc3QgeworKyAgICAtcmUgIlVuZGVmaW5lZCBjb21tYW5kOiAuZ2NvcmUuKiRnZGJf cHJvbXB0ICQiIHsKKysJIyBnY29yZSBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgLS0gbm90aGluZyB0 byB0ZXN0IGhlcmUuCisrCXVuc3VwcG9ydGVkICJnZGIgZG9lcyBub3Qgc3VwcG9ydCBnY29yZSBv biB0aGlzIHRhcmdldCIKKysJcmV0dXJuIC0xOworKyAgICB9CisrICAgIC1yZSAiU2F2ZSBhIGNv cmUgZmlsZSAuKiRnZGJfcHJvbXB0ICQiIHsKKysJcGFzcyAkdGVzdAorKyAgICB9CisrfQorKwor K2lmIHsgISBbIHJ1bnRvX21haW4gXSB9IHRoZW4geworKyAgICB1bnRlc3RlZCBnY29yZS1zaG1p ZDAuZXhwCisrICAgIHJldHVybiAtMQorK30KKysKKytnZGJfYnJlYWtwb2ludCAiaW5pdGlhbGl6 ZWQiCisrZ2RiX2JyZWFrcG9pbnQgInVucmVzb2x2ZWQiCisrCisrc2V0IG9sZHRpbWVvdXQgJHRp bWVvdXQKKytzZXQgdGltZW91dCBbZXhwciAkb2xkdGltZW91dCArIDEyMF0KKysKKytzZXQgdGVz dCAiQ29udGludWUgdG8gaW5pdGlhbGl6ZWQuIgorK2dkYl90ZXN0X211bHRpcGxlICJjb250aW51 ZSIgJHRlc3QgeworKyAgICAtcmUgIkJyZWFrcG9pbnQgLiosIGluaXRpYWxpemVkIC4qIGF0IC4q XHJcbiRnZGJfcHJvbXB0ICQiIHsKKysJcGFzcyAkdGVzdAorKyAgICB9CisrICAgIC1yZSAiQnJl YWtwb2ludCAuKiwgdW5yZXNvbHZlZCAuKiBhdCAuKlxyXG4kZ2RiX3Byb21wdCAkIiB7CisrCXNl dCB0aW1lb3V0ICRvbGR0aW1lb3V0CisrCXVuc3VwcG9ydGVkICR0ZXN0CisrCXJldHVybiAtMQor KyAgICB9CisrfQorK3NldCB0aW1lb3V0ICRvbGR0aW1lb3V0CisrCisrc2V0IGVzY2FwZWRmaWxl bmFtZSBbc3RyaW5nX3RvX3JlZ2V4cCBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgZ2NvcmUtc2htaWQw LnRlc3RdXQorKworK3NldCB0ZXN0ICJzYXZlIGEgY29yZWZpbGUiCisrZ2RiX3Rlc3RfbXVsdGlw bGUgImdjb3JlIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSBnY29yZS1zaG1pZDAudGVzdF0iICR0ZXN0 IHsKKysgICAgLXJlICJTYXZlZCBjb3JlZmlsZSAke2VzY2FwZWRmaWxlbmFtZX1cW1xyXG5cXSsk Z2RiX3Byb21wdCAkIiB7CisrCXBhc3MgJHRlc3QKKysgICAgfQorKyAgICAtcmUgIkNhbid0IGNy ZWF0ZSBhIGNvcmVmaWxlXFtcclxuXF0rJGdkYl9wcm9tcHQgJCIgeworKwl1bnN1cHBvcnRlZCAk dGVzdAorKyAgICB9CisrfQorKworKyMgQmUgc3VyZSB0byByZW1vdmUgdGhlIGhhbmRsZSBmaXJz dC4KKysjIEJ1dCBpdCB3b3VsZCBnZXQgcmVtb3ZlZCBldmVuIG9uIGEga2lsbCBieSBHREIgYXMg dGhlIGhhbmRsZSBpcyBhbHJlYWR5CisrIyBkZWxldGVkLCBqdXN0IGl0IGlzIHN0aWxsIGF0dGFj aGVkLgorK2dkYl9jb250aW51ZV90b19lbmQgImZpbmlzaCIKKysKKytzZXQgdGVzdCAiY29yZS1m aWxlIGNvbW1hbmQiCisrZ2RiX3Rlc3RfbXVsdGlwbGUgImNvcmUtZmlsZSBbc3RhbmRhcmRfb3V0 cHV0X2ZpbGUgZ2NvcmUtc2htaWQwLnRlc3RdIiAkdGVzdCB7CisrICAgIC1yZSAiLiogcHJvZ3Jh bSBpcyBiZWluZyBkZWJ1Z2dlZCBhbHJlYWR5Lip5IG9yIG4uICQiIHsKKysJIyBnZGJfbG9hZCBt YXkgY29ubmVjdCB1cyB0byBhIGdkYnNlcnZlci4KKysJc2VuZF9nZGIgInlcbiIKKysJZXhwX2Nv bnRpbnVlOworKyAgICB9CisrICAgIC1yZSAiQ29yZSB3YXMgZ2VuZXJhdGVkIGJ5IC4qXHJcblwj MCAgLipcXFwoXFxcKS4qXHJcbiRnZGJfcHJvbXB0ICQiIHsKKysJIyBUaGUgZmlsZW5hbWUgZG9l cyBub3QgZml0IHRoZXJlIGFueXdheSBzbyBkbyBub3QgY2hlY2sgaXQuCisrCXBhc3MgJHRlc3QK KysgICAgfQorKyAgICAtcmUgIi4qcmVnaXN0ZXJzIGZyb20gY29yZSBmaWxlOiBGaWxlIGluIHdy b25nIGZvcm1hdC4qICQiIHsKKysJZmFpbCAiY29yZS1maWxlIGNvbW1hbmQgKGNvdWxkIG5vdCBy ZWFkIHJlZ2lzdGVycyBmcm9tIGNvcmUgZmlsZSkiCisrICAgIH0KKyt9CisrCisrc2V0IHRlc3Qg ImJhY2t0cmFjZSIKKytnZGJfdGVzdF9tdWx0aXBsZSAiYnQiICR0ZXN0IHsKKysgICAgLXJlICIj MCAqaW5pdGlhbGl6ZWQgXFxcKFxcXCkgYXQgLiojMSAuKiBtYWluIFxcXCguKiRnZGJfcHJvbXB0 ICQiIHsKKysJcGFzcyAkdGVzdAorKyAgICB9CisrICAgIC1yZSAiIzAgKmluaXRpYWxpemVkIFxc XChcXFwpIGF0IC4qQ2Fubm90IGFjY2VzcyBtZW1vcnkgYXQgYWRkcmVzcyAuKiRnZGJfcHJvbXB0 ICQiIHsKKysJZmFpbCAkdGVzdAorKyAgICB9CisrfQorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdp dCBhL2dkYi02LjMtcHBjNjRkaXNwbGF5c3ltYm9sLTIwMDQxMTI0LnBhdGNoIGIvZ2RiLTYuMy1w cGM2NGRpc3BsYXlzeW1ib2wtMjAwNDExMjQucGF0Y2gKaW5kZXggMTAwZDhjMC4uMjdkNGI0YyAx MDA2NDQKLS0tIGEvZ2RiLTYuMy1wcGM2NGRpc3BsYXlzeW1ib2wtMjAwNDExMjQucGF0Y2gKKysr IGIvZ2RiLTYuMy1wcGM2NGRpc3BsYXlzeW1ib2wtMjAwNDExMjQucGF0Y2gKQEAgLTEsMTkgKzEs MjcgQEAKK0Zyb20gNmI2Y2RlY2U3NDY4ODViY2QwNzhlOTM4NGZiNTBkM2U1YzlhYmZhMCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFuZHJldyBDYWduZXkgPGNhZ25leUBnbnUub3Jn PgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYu My1wcGM2NGRpc3BsYXlzeW1ib2wtMjAwNDExMjQucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjMt cHBjNjRkaXNwbGF5c3ltYm9sLTIwMDQxMTI0LnBhdGNoCiAKKzs7IEluY2x1ZGUgdGhlIHBjJ3Mg c2VjdGlvbiB3aGVuIGRvaW5nIGEgc3ltYm9sIGxvb2t1cCBzbyB0aGF0IHRoZQorOzsgY29ycmVj dCBzeW1ib2wgaXMgZm91bmQuCis7Oz1wdXNoOiBXcml0ZSBuZXcgdGVzdGNhc2UuCisKIDIwMDQt MTEtMjQgIEFuZHJldyBDYWduZXkgIDxjYWduZXlAZ251Lm9yZz4KIAogCSogcHJpbnRjbWQuYyAo YnVpbGRfYWRkcmVzc19zeW1ib2xpYyk6IEZpbmQgYSBzZWN0aW9uIGZvciB0aGUKIAlhZGRyZXNz LgorLS0tCisgZ2RiL3ByaW50Y21kLmMgfCA4ICsrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDgg aW5zZXJ0aW9ucygrKQogCi1JbmRleDogZ2RiLTYuOC41MC4yMDA4MTEyOC9nZGIvcHJpbnRjbWQu YwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi02LjguNTAuMjAwODExMjgub3JpZy9nZGIvcHJpbnRjbWQu YwkyMDA4LTEyLTA0IDAxOjM2OjA1LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi02LjguNTAuMjAw ODExMjgvZ2RiL3ByaW50Y21kLmMJMjAwOC0xMi0wNCAwMTozNzoxOC4wMDAwMDAwMDAgKzAxMDAK LUBAIC02MTYsNiArNjE2LDE0IEBAIGJ1aWxkX2FkZHJlc3Nfc3ltYm9saWMgKENPUkVfQUREUiBh ZGRyLCAKK2RpZmYgLS1naXQgYS9nZGIvcHJpbnRjbWQuYyBiL2dkYi9wcmludGNtZC5jCitpbmRl eCAyZTU5NmQxZjA5Li4yMGU1YmRhMTFlIDEwMDY0NAorLS0tIGEvZ2RiL3ByaW50Y21kLmMKKysr KyBiL2dkYi9wcmludGNtZC5jCitAQCAtNjAyLDYgKzYwMiwxNCBAQCBidWlsZF9hZGRyZXNzX3N5 bWJvbGljIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAJICBhZGRyID0gb3ZlcmxheV9tYXBw ZWRfYWRkcmVzcyAoYWRkciwgc2VjdGlvbik7CiAgCX0KICAgICAgfQpAQCAtMjgsMyArMzYsNiBA QCBJbmRleDogZ2RiLTYuOC41MC4yMDA4MTEyOC9nZGIvcHJpbnRjbWQuYwogIAogICAgLyogRmly c3QgdHJ5IHRvIGZpbmQgdGhlIGFkZHJlc3MgaW4gdGhlIHN5bWJvbCB0YWJsZSwgdGhlbgogICAg ICAgaW4gdGhlIG1pbnN5bXMuICBUYWtlIHRoZSBjbG9zZXN0IG9uZS4gICovCistLSAKKzIuMTQu MworCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuMy1wcGM2NHN5c2NhbGwtMjAwNDA2MjIucGF0Y2ggYi9n ZGItNi4zLXBwYzY0c3lzY2FsbC0yMDA0MDYyMi5wYXRjaAppbmRleCAyMGE1Nzg5Li44YTU5ZTVm IDEwMDY0NAotLS0gYS9nZGItNi4zLXBwYzY0c3lzY2FsbC0yMDA0MDYyMi5wYXRjaAorKysgYi9n ZGItNi4zLXBwYzY0c3lzY2FsbC0yMDA0MDYyMi5wYXRjaApAQCAtMSw5ICsxLDEzIEBACitGcm9t IDAzMmRmY2ZjMWUxMWZlNjlhYTQ5ZTc5NzQzNzkwNDNhNmMzMDQwYzMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCiBGcm9tOiBBbmRyZXcgQ2FnbmV5IDxjYWduZXlAZ251Lm9yZz4KIERhdGU6IEZy aSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjMtcHBjNjRzeXNj YWxsLTIwMDQwNjIyLnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi4zLXBwYzY0c3lzY2FsbC0yMDA0 MDYyMi5wYXRjaAogCis7OyBCZXR0ZXIgcGFyc2UgNjQtYml0IFBQQyBzeXN0ZW0gY2FsbCBwcm9s b2d1ZXMuCis7Oz1wdXNoOiBXcml0ZSBuZXcgdGVzdGNhc2UuCisKIDIwMDQtMDYtMjIgIEFuZHJl dyBDYWduZXkgIDxjYWduZXlAZ251Lm9yZz4KIAogCSogcnM2MDAwLXRkZXAuYyAoc3RydWN0IHJz NjAwMF9mcmFtZWRhdGEpOiBBZGQgZmllbGQgImZ1bmNfc3RhcnQiLgpAQCAtMTEsMTIgKzE1LDE1 IEBAIEZpbGVOYW1lOiBnZGItNi4zLXBwYzY0c3lzY2FsbC0yMDA0MDYyMi5wYXRjaAogCSJmdW5j X3N0YXJ0Ii4gIEFkZCBsb2NhbCB2YXJpYWJsZSAibnVtX3NraXBfbGludXhfc3lzY2FsbF9pbnNu IiwKIAl1c2UgdG8gc2tpcCBvdmVyIGZpcnN0IGhhbGYgb2YgYSBHTlUvTGludXggc3lzY2FsbCBh bmQgdXBkYXRlCiAJImZ1bmNfc3RhcnQiLgorLS0tCisgZ2RiL3JzNjAwMC10ZGVwLmMgfCA1NyAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCisg MSBmaWxlIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKLUluZGV4 OiBnZGItNy4yLjUwLjIwMTEwMTE3L2dkYi9yczYwMDAtdGRlcC5jCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMi41MC4yMDExMDExNy5vcmlnL2dkYi9yczYwMDAtdGRlcC5jCTIwMTEtMDEtMTEgMjA6 MjM6MDIuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi41MC4yMDExMDExNy9nZGIvcnM2MDAw LXRkZXAuYwkyMDExLTAxLTE3IDE1OjQ4OjE5LjAwMDAwMDAwMCArMDEwMAotQEAgLTEyNiw2ICsx MjYsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqcG93ZXJwY192ZWN0b3JfYWJpX3N0CitkaWZmIC0t Z2l0IGEvZ2RiL3JzNjAwMC10ZGVwLmMgYi9nZGIvcnM2MDAwLXRkZXAuYworaW5kZXggNDU2ZGJj Y2NiMS4uZDI3Y2U3YjJhZiAxMDA2NDQKKy0tLSBhL2dkYi9yczYwMDAtdGRlcC5jCisrKysgYi9n ZGIvcnM2MDAwLXRkZXAuYworQEAgLTEzNCw2ICsxMzQsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAq cG93ZXJwY192ZWN0b3JfYWJpX3N0cmluZyA9ICJhdXRvIjsKICAKICBzdHJ1Y3QgcnM2MDAwX2Zy YW1lZGF0YQogICAgewpAQCAtMjQsNyArMzEsNyBAQCBJbmRleDogZ2RiLTcuMi41MC4yMDExMDEx Ny9nZGIvcnM2MDAwLXRkZXAuYwogICAgICBpbnQgb2Zmc2V0OwkJCS8qIHRvdGFsIHNpemUgb2Yg ZnJhbWUgLS0tIHRoZSBkaXN0YW5jZQogIAkJCQkgICBieSB3aGljaCB3ZSBkZWNyZW1lbnQgc3Ag dG8gYWxsb2NhdGUKICAJCQkJICAgdGhlIGZyYW1lICovCi1AQCAtMTQ5Niw3ICsxNDk3LDYgQEAg c3RhdGljIENPUkVfQUREUgorQEAgLTE1NzgsNyArMTU3OSw2IEBAIHN0YXRpYyBDT1JFX0FERFIK ICBza2lwX3Byb2xvZ3VlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgQ09SRV9BRERSIHBjLCBD T1JFX0FERFIgbGltX3BjLAogIAkgICAgICAgc3RydWN0IHJzNjAwMF9mcmFtZWRhdGEgKmZkYXRh KQogIHsKQEAgLTMyLDcgKzM5LDcgQEAgSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAxMTcvZ2RiL3Jz NjAwMC10ZGVwLmMKICAgIENPUkVfQUREUiBsYXN0X3Byb2xvZ3VlX3BjID0gcGM7CiAgICBDT1JF X0FERFIgbGlfZm91bmRfcGMgPSAwOwogICAgZ2RiX2J5dGUgYnVmWzRdOwotQEAgLTE1MTQsMTIg KzE1MTQsMTQgQEAgc2tpcF9wcm9sb2d1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIAorQEAg LTE1OTYsMTIgKzE1OTYsMTQgQEAgc2tpcF9wcm9sb2d1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIENPUkVfQUREUiBwYywgQ09SRV9BRERSIGxpbV9wYywKICAgIGludCBtaW5pbWFsX3RvY19s b2FkZWQgPSAwOwogICAgaW50IHByZXZfaW5zbl93YXNfcHJvbG9ndWVfaW5zbiA9IDE7CiAgICBp bnQgbnVtX3NraXBfbm9uX3Byb2xvZ3VlX2luc25zID0gMDsKQEAgLTQ3LDcgKzU0LDcgQEAgSW5k ZXg6IGdkYi03LjIuNTAuMjAxMTAxMTcvZ2RiL3JzNjAwMC10ZGVwLmMKICAgIGZkYXRhLT5zYXZl ZF9ncHIgPSAtMTsKICAgIGZkYXRhLT5zYXZlZF9mcHIgPSAtMTsKICAgIGZkYXRhLT5zYXZlZF92 ciA9IC0xOwotQEAgLTE1NTMsNiArMTU1NSw1NSBAQCBza2lwX3Byb2xvZ3VlIChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCwgCitAQCAtMTYzNSw2ICsxNjM3LDU1IEBAIHNraXBfcHJvbG9ndWUgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBDT1JFX0FERFIgcGMsIENPUkVfQUREUiBsaW1fcGMsCiAg CWJyZWFrOwogICAgICAgIG9wID0gZXh0cmFjdF91bnNpZ25lZF9pbnRlZ2VyIChidWYsIDQsIGJ5 dGVfb3JkZXIpOwogIApAQCAtMTAzLDcgKzExMCw3IEBAIEluZGV4OiBnZGItNy4yLjUwLjIwMTEw MTE3L2dkYi9yczYwMDAtdGRlcC5jCiAgICAgICAgaWYgKChvcCAmIDB4ZmMxZmZmZmYpID09IDB4 N2MwODAyYTYpCiAgCXsJCQkvKiBtZmxyIFJ4ICovCiAgCSAgLyogU2luY2Ugc2hhcmVkIGxpYnJh cnkgLyBQSUMgY29kZSwgd2hpY2ggbmVlZHMgdG8gZ2V0IGl0cwotQEAgLTE3MzQsOSArMTc4NSw5 IEBAIHNraXBfcHJvbG9ndWUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCAKK0BAIC0xODI2LDkg KzE4NzcsOSBAQCBza2lwX3Byb2xvZ3VlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgQ09SRV9B RERSIHBjLCBDT1JFX0FERFIgbGltX3BjLAogIAkgICAgIHdlIGhhdmUgbm8gbGluZSB0YWJsZSBp bmZvcm1hdGlvbiBvciB0aGUgbGluZSBpbmZvIHRlbGxzCiAgCSAgICAgdXMgdGhhdCB0aGUgc3Vi cm91dGluZSBjYWxsIGlzIG5vdCBwYXJ0IG9mIHRoZSBsaW5lCiAgCSAgICAgYXNzb2NpYXRlZCB3 aXRoIHRoZSBwcm9sb2d1ZS4gICovCkBAIC0xMTUsMyArMTIyLDYgQEAgSW5kZXg6IGdkYi03LjIu NTAuMjAxMTAxMTcvZ2RiL3JzNjAwMC10ZGVwLmMKICAJICAgICAgc3RydWN0IHN5bXRhYl9hbmRf bGluZSB0aGlzX3NhbCA9IGZpbmRfcGNfbGluZSAocGMsIDApOwogIAogIAkgICAgICBpZiAoKHBy b2xvZ3VlX3NhbC5saW5lID09IDApCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLTYu My1yZWFkbmV2ZXItMjAwNTA5MDcucGF0Y2ggYi9nZGItNi4zLXJlYWRuZXZlci0yMDA1MDkwNy5w YXRjaAppbmRleCA3Y2M3MTYxLi45NjcwMmJkIDEwMDY0NAotLS0gYS9nZGItNi4zLXJlYWRuZXZl ci0yMDA1MDkwNy5wYXRjaAorKysgYi9nZGItNi4zLXJlYWRuZXZlci0yMDA1MDkwNy5wYXRjaApA QCAtMSw5ICsxLDEzIEBACitGcm9tIGIyNDJmZjAxM2ZlODljMTI2ZTU0NGI0NzUzODYwOWIwZjkw NDc3MWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbmRyZXcgQ2FnbmV5IDxjYWdu ZXlAZ251Lm9yZz4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1Ympl Y3Q6IGdkYi02LjMtcmVhZG5ldmVyLTIwMDUwOTA3LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi4z LXJlYWRuZXZlci0yMDA1MDkwNy5wYXRjaAogCis7OyBBZGQgcmVhZG5ldmVyIG9wdGlvbgorOzs9 cHVzaAorCiAyMDA0LTExLTE4ICBBbmRyZXcgQ2FnbmV5ICA8Y2FnbmV5QGdudS5vcmc+CiAKICAg ICAgICAgKiBkd2FyZjJyZWFkLmM6IEluY2x1ZGUgInRvcC5jIi4KQEAgLTE3LDkxICsyMSwxNSBA QCBGaWxlTmFtZTogZ2RiLTYuMy1yZWFkbmV2ZXItMjAwNTA5MDcucGF0Y2gKIAogICAgICAgICAq IGdkYi50ZXhpbmZvIChGaWxlIE9wdGlvbnMpOiBEb2N1bWVudCAtLXJlYWRuZXZlci4KIAotSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kb2MvZ2RiLnRleGluZm8KLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxNy0w NC0yMCAyMjoyOTozOS4xNzk3NDAwNzYgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTctMDQtMjAgMjI6Mjk6NDAuOTI0NzUxMDk2ICswMjAwCi1A QCAtMTAzNyw2ICsxMDM3LDEyIEBACi0gdGhlIGRlZmF1bHQsIHdoaWNoIGlzIHRvIHJlYWQgaXQg aW5jcmVtZW50YWxseSBhcyBpdCBpcyBuZWVkZWQuCi0gVGhpcyBtYWtlcyBzdGFydHVwIHNsb3dl ciwgYnV0IG1ha2VzIGZ1dHVyZSBvcGVyYXRpb25zIGZhc3Rlci4KLSAKLStAaXRlbSAtLXJlYWRu ZXZlcgotK0BjaW5kZXggQGNvZGV7LS1yZWFkbmV2ZXJ9Ci0rRG8gbm90IHJlYWQgZWFjaCBzeW1i b2wgZmlsZSdzIHN5bWJvbGljIGRlYnVnIGluZm9ybWF0aW9uLiAgVGhpcyBtYWtlcwotK3N0YXJ0 dXAgZmFzdGVyIGJ1dCBhdCB0aGUgZXhwZW5zZSBvZiBub3QgYmVpbmcgYWJsZSB0byBwZXJmb3Jt Ci0rc3ltYm9saWMgZGVidWdnaW5nLgotKwotIEBlbmQgdGFibGUKLSAKLSBAbm9kZSBNb2RlIE9w dGlvbnMKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWFpbi5jCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvbWFpbi5jCTIwMTctMDQtMjAgMjI6 Mjk6MzkuMTgyNzQwMDk1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL21haW4u YwkyMDE3LTA0LTIwIDIyOjI5OjQwLjkyNTc1MTEwMyArMDIwMAotQEAgLTYxNSw2ICs2MTUsNyBA QAotICAgICAgIHsidHVpIiwgbm9fYXJndW1lbnQsIDAsIE9QVF9UVUl9LAotICAgICAgIHsiZGJ4 Iiwgbm9fYXJndW1lbnQsICZkYnhfY29tbWFuZHMsIDF9LAotICAgICAgIHsicmVhZG5vdyIsIG5v X2FyZ3VtZW50LCAmcmVhZG5vd19zeW1ib2xfZmlsZXMsIDF9LAotKyAgICAgIHsicmVhZG5ldmVy Iiwgbm9fYXJndW1lbnQsICZyZWFkbmV2ZXJfc3ltYm9sX2ZpbGVzLCAxfSwKLSAgICAgICB7InIi LCBub19hcmd1bWVudCwgJnJlYWRub3dfc3ltYm9sX2ZpbGVzLCAxfSwKLSAgICAgICB7InF1aWV0 Iiwgbm9fYXJndW1lbnQsICZxdWlldCwgMX0sCi0gICAgICAgeyJxIiwgbm9fYXJndW1lbnQsICZx dWlldCwgMX0sCi1AQCAtMTI1NCw2ICsxMjU1LDcgQEAKLSAgIC0tc2U9RklMRSAgICAgICAgICBV c2UgRklMRSBhcyBzeW1ib2wgZmlsZSBhbmQgZXhlY3V0YWJsZSBmaWxlLlxuXAotICAgLS1zeW1i b2xzPVNZTUZJTEUgIFJlYWQgc3ltYm9scyBmcm9tIFNZTUZJTEUuXG5cCi0gICAtLXJlYWRub3cg ICAgICAgICAgRnVsbHkgcmVhZCBzeW1ib2wgZmlsZXMgb24gZmlyc3QgYWNjZXNzLlxuXAotKyAg LS1yZWFkbmV2ZXIgICAgICAgIERvIG5vdCByZWFkIHN5bWJvbCBmaWxlcy5cblwKLSAgIC0td3Jp dGUgICAgICAgICAgICBTZXQgd3JpdGluZyBpbnRvIGV4ZWN1dGFibGUgYW5kIGNvcmUgZmlsZXMu XG5cblwKLSAiKSwgc3RyZWFtKTsKLSAgIGZwdXRzX3VuZmlsdGVyZWQgKF8oIlwKLUluZGV4OiBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc3ltZmlsZS5jCi09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu OTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvc3ltZmlsZS5jCTIwMTctMDQtMjAgMjI6Mjk6MzkuMTgz NzQwMTAxICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3N5bWZpbGUuYwkyMDE3 LTA0LTIwIDIyOjI5OjQwLjkyNjc1MTEwOSArMDIwMAotQEAgLTc5LDYgKzc5LDcgQEAKLSAKLSAv KiBHbG9iYWwgdmFyaWFibGVzIG93bmVkIGJ5IHRoaXMgZmlsZS4gICovCi0gaW50IHJlYWRub3df c3ltYm9sX2ZpbGVzOwkvKiBSZWFkIGZ1bGwgc3ltYm9scyBpbW1lZGlhdGVseS4gICovCi0raW50 IHJlYWRuZXZlcl9zeW1ib2xfZmlsZXM7CS8qIE5ldmVyIHJlYWQgZnVsbCBzeW1ib2xzLiAgKi8K LSAKLSAvKiBGdW5jdGlvbnMgdGhpcyBmaWxlIGRlZmluZXMuICAqLwotIAotSW5kZXg6IGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJyZWFkLmMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45 OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wNC0yMCAyMjoyOTozOS4x OTA3NDAxNDUgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYycmVhZC5j CTIwMTctMDQtMjAgMjI6Mjk6NTcuOTczODU4NzY2ICswMjAwCi1AQCAtNzMsNiArNzMsNyBAQAot ICNpbmNsdWRlICJjb21tb24vZnVuY3Rpb24tdmlldy5oIgotICNpbmNsdWRlICJjb21tb24vZ2Ri X29wdGlvbmFsLmgiCi0gI2luY2x1ZGUgImNvbW1vbi91bmRlcmx5aW5nLmgiCi0rI2luY2x1ZGUg InRvcC5oIgotIAotICNpbmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4K LUBAIC0yMjA4LDcgKzIyMDksOCBAQAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZv aWQgKikgbmFtZXMpOwotICAgICAgIGR3YXJmMl9wZXJfb2JqZmlsZS0+b2JqZmlsZSA9IG9iamZp bGU7Ci0gICAgIH0KLS0gIHJldHVybiAoIWR3YXJmMl9wZXJfb2JqZmlsZS0+aW5mby5pc192aXJ0 dWFsCi0rICByZXR1cm4gIXJlYWRuZXZlcl9zeW1ib2xfZmlsZXMgJiYKLSsJICghZHdhcmYyX3Bl cl9vYmpmaWxlLT5pbmZvLmlzX3ZpcnR1YWwKLSAJICAmJiBkd2FyZjJfcGVyX29iamZpbGUtPmlu Zm8ucy5zZWN0aW9uICE9IE5VTEwKLSAJICAmJiAhZHdhcmYyX3Blcl9vYmpmaWxlLT5hYmJyZXYu aXNfdmlydHVhbAotIAkgICYmIGR3YXJmMl9wZXJfb2JqZmlsZS0+YWJicmV2LnMuc2VjdGlvbiAh PSBOVUxMKTsKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdG9wLmgKLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi90b3AuaAkyMDE3LTA0LTIwIDIy OjI5OjM5LjE5MTc0MDE1MiArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90b3Au aAkyMDE3LTA0LTIwIDIyOjI5OjQwLjkzMjc1MTE0NyArMDIwMAotQEAgLTI2OSw2ICsyNjksNyBA QAotIAotIC8qIEZyb20gcmFuZG9tIHBsYWNlcy4gICovCi0gZXh0ZXJuIGludCByZWFkbm93X3N5 bWJvbF9maWxlczsKLStleHRlcm4gaW50IHJlYWRuZXZlcl9zeW1ib2xfZmlsZXM7Ci0gCi0gLyog UGVyZm9ybSBfaW5pdGlhbGl6ZSBpbml0aWFsaXphdGlvbi4gICovCi0gZXh0ZXJuIHZvaWQgZ2Ri X2luaXQgKGNoYXIgKik7Ci0tLS0gZ2RiLTguMC4xL2dkYi9nY29yZS5pbi1vcmlnCTIwMTctMDYt MDQgMTc6NTE6MjYuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTguMC4xL2dkYi9nY29yZS5pbgky MDE3LTA5LTI4IDE5OjQ2OjQ5LjMzNTQwNzgyNyArMDIwMAorUHVzaGVkIHVwc3RyZWFtOiBodHRw czovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1jdnMvMjAxNy0xMi9tc2cwMDAwNy5odG1sCistLS0K KyBnZGIvZ2NvcmUuaW4gfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nZGIvZ2NvcmUuaW4gYi9nZGIvZ2NvcmUuaW4K K2luZGV4IDYzMmYyMWJkZmEuLjAxNmJjYjlhMjggMTAwNjQ0CistLS0gYS9nZGIvZ2NvcmUuaW4K KysrKyBiL2dkYi9nY29yZS5pbgogQEAgLTg1LDcgKzg1LDcgQEAgZm9yIHBpZCBpbiAkKgogIGRv CiAgCSMgYDwvZGV2L251bGwnIHRvIGF2b2lkIHRvdWNoaW5nIGludGVyYWN0aXZlIHRlcm1pbmFs IGlmIGl0IGlzCkBAIC0xMTEsMyArMzksNiBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL3RvcC5oCiAgCSAgICAtZXggInNldCBwYWdpbmF0aW9uIG9mZiIgLWV4ICJzZXQgaGVpZ2h0 IDAiIC1leCAic2V0IHdpZHRoIDAiIFwKICAJICAgIC1leCAiYXR0YWNoICRwaWQiIC1leCAiZ2Nv cmUgJG5hbWUuJHBpZCIgLWV4IGRldGFjaCAtZXggcXVpdAogIAorLS0gCisyLjE0LjMKKwoKZGlm ZiAtLWdpdCBhL2dkYi02LjMtcmgtZHVtbXlrZmFpbC0yMDA0MTIwMi5wYXRjaCBiL2dkYi02LjMt cmgtZHVtbXlrZmFpbC0yMDA0MTIwMi5wYXRjaAppbmRleCBiNTllMDRmLi45NjA4OGNiIDEwMDY0 NAotLS0gYS9nZGItNi4zLXJoLWR1bW15a2ZhaWwtMjAwNDEyMDIucGF0Y2gKKysrIGIvZ2RiLTYu My1yaC1kdW1teWtmYWlsLTIwMDQxMjAyLnBhdGNoCkBAIC0xLDE2ICsxLDI1IEBACitGcm9tIDc2 MjEwMzU3ZTI2MmY3NzJjZWJhMGZmMzYyMDJkYjg4MWQ4NjFkNTUgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCiBGcm9tOiBFbGVuYSBaYW5ub25pIDxlemFubm9uaUByZWRoYXQuY29tPgogRGF0ZTog RnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuMy1yaC1kdW1t eWtmYWlsLTIwMDQxMjAyLnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi4zLXJoLWR1bW15a2ZhaWwt MjAwNDEyMDIucGF0Y2gKIAorOzsgV29yayBhcm91bmQgb3V0LW9mLWRhdGUgZGVqYWdudSB0aGF0 IGRvZXMgbm90IGhhdmUgS0ZBSUwKKzs7PXB1c2g6IFRoYXQgZGVqYWdudSBpcyB0b28gb2xkIHRv IGJlIHN1cHBvcnRlZC4KKwogMjAwMy0wNy0xMSAgRWxlbmEgWmFubm9uaSAgPGV6YW5ub25pQHJl ZGhhdC5jb20+CiAKICAgICAgICAgKiBsaWIvZ2RiLmV4cCAoc2V0dXBfa2ZhaWwsIGtmYWlsKTog UmVkZWZpbmUgcHJvY2VkdXJlcy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLS0tLSAuL2dkYi90 ZXN0c3VpdGUvbGliL2dkYi5leHAuMQkyMDA0LTExLTI0IDE1OjU5OjQ2LjEzMTM5NDcyMCAtMDUw MAotKysrIC4vZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDA0LTExLTI0IDE2OjAxOjA2LjMw NDIwNjYwMCAtMDUwMAotQEAgLTYzLDYgKzYzLDE1IEBACistLS0KKyBnZGIvdGVzdHN1aXRlL2xp Yi9nZGIuZXhwIHwgOSArKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCsp CisKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwIGIvZ2RiL3Rlc3RzdWl0 ZS9saWIvZ2RiLmV4cAoraW5kZXggZmMwMjc4YjlkYS4uMDE4MzY3YzE2MSAxMDA2NDQKKy0tLSBh L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5l eHAKK0BAIC0xMjQsNiArMTI0LDE1IEBAIHNldCB2YWxudW1fcmUgIlxcXCQkZGVjaW1hbCIKICAK ICAjIyMgT25seSBwcm9jZWR1cmVzIHNob3VsZCBjb21lIGFmdGVyIHRoaXMgcG9pbnQuCiAgCkBA IC0yNiwzICszNSw2IEBAIEZpbGVOYW1lOiBnZGItNi4zLXJoLWR1bW15a2ZhaWwtMjAwNDEyMDIu cGF0Y2gKICAjCiAgIyBnZGJfdmVyc2lvbiAtLSBleHRyYWN0IGFuZCBwcmludCB0aGUgdmVyc2lv biBudW1iZXIgb2YgR0RCCiAgIworLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjMt cmgtdGVzdHZlcnNpb24tMjAwNDEyMDIucGF0Y2ggYi9nZGItNi4zLXJoLXRlc3R2ZXJzaW9uLTIw MDQxMjAyLnBhdGNoCmluZGV4IGI0MjVhYzguLmJmOGYyNTEgMTAwNjQ0Ci0tLSBhL2dkYi02LjMt cmgtdGVzdHZlcnNpb24tMjAwNDEyMDIucGF0Y2gKKysrIGIvZ2RiLTYuMy1yaC10ZXN0dmVyc2lv bi0yMDA0MTIwMi5wYXRjaApAQCAtMSwyMCArMSwyNyBAQAotRnJvbSBmNDA4YmE4MjFmOGM4YjVh ZDY1NjRiOTg4MDY2NjZkMjQ3OGY3NTk5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBh YjFlNmNhMjkxYzQ2Nzk1M2Y1YTRiMzA4NTk1YTQyODc2MThiODM2IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQogRnJvbTogRWxlbmEgWmFubm9uaSA8ZXphbm5vbmlAcmVkaGF0LmNvbT4KIERhdGU6 IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IGdkYi5nZGIvc2VsZnRl c3QuZXhwOiBBZGQgbWF0Y2hpbmcgb24gc3BlY2lmaWMgUmVkIEhhdCBvbmx5IHZlcnNpb24gc3Ry aW5nCitTdWJqZWN0OiBnZGIuZ2RiL3NlbGZ0ZXN0LmV4cDogQWRkIG1hdGNoaW5nIG9uIHNwZWNp ZmljIFJlZCBIYXQgb25seSB2ZXJzaW9uCisgc3RyaW5nCiAKIEZpbGVOYW1lOiBnZGItNi4zLXJo LXRlc3R2ZXJzaW9uLTIwMDQxMjAyLnBhdGNoCiAKKzs7IE1hdGNoIHRoZSBGZWRvcmEncyB2ZXJz aW9uIGluZm8uCis7Oz1mZWRvcmEKKwogMjAwMy0wMi0yNCAgRWxlbmEgWmFubm9uaSAgPGV6YW5u b25pQHJlZGhhdC5jb20+CiAKICAgICAgICAgKiBnZGIuZ2RiL3NlbGZ0ZXN0LmV4cDogQWRkIG1h dGNoaW5nIG9uIHNwZWNpZmljIFJlZCBIYXQgb25seSB2ZXJzaW9uCiAgICAgICAgIHN0cmluZy4K Ky0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAgfCAzICsrKworIDEgZmls ZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAKLT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAJ MjAxNy0wMi0wNyAxOTo0NzowNi40NzI4NzQ2MjAgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3 MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwCTIwMTctMDItMDcgMTk6NDg6 MTIuNTkzMzgwNTc1ICswMTAwCi1AQCAtNTMsNiArNTMsOSBAQAorZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2Vs ZnRlc3QuZXhwCitpbmRleCA3MTIwNjBjOWFlLi5hNGE0NDZmOWRmIDEwMDY0NAorLS0tIGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu Z2RiL3NlbGZ0ZXN0LmV4cAorQEAgLTUzLDYgKzUzLDkgQEAgcHJvYyB0ZXN0X3dpdGhfc2VsZiB7 IH0gewogIAktcmUgIi5cWzAtOVxdKyA9ICsuKyArMHguKlxbMC05LlxdKy4qJGdkYl9wcm9tcHQg JCIgewogIAkgICAgcGFzcyAicHJpbnRlZCB2ZXJzaW9uIHdpdGggY2FzdCIKICAJfQpAQCAtMjQs MyArMzEsNiBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIu Z2RiL3NlbGZ0ZXN0LmV4cAogICAgICB9CiAgCiAgICAgICMgc3RhcnQgdGhlICJ4Z2RiIiBwcm9j ZXNzCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuMy10ZXN0LWR0b3JmaXgtMjAw NTAxMjEucGF0Y2ggYi9nZGItNi4zLXRlc3QtZHRvcmZpeC0yMDA1MDEyMS5wYXRjaAppbmRleCAz YTVkMzAzLi40MWU5YTVlIDEwMDY0NAotLS0gYS9nZGItNi4zLXRlc3QtZHRvcmZpeC0yMDA1MDEy MS5wYXRjaAorKysgYi9nZGItNi4zLXRlc3QtZHRvcmZpeC0yMDA1MDEyMS5wYXRjaApAQCAtMSwx NCArMSwyNCBAQAotRnJvbSBmNDA4YmE4MjFmOGM4YjVhZDY1NjRiOTg4MDY2NjZkMjQ3OGY3NTk5 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBkMTI5YTI4MDdjMzFhNDBjNWVhZWExYTdl MGQ4NTM2NDlhMWU0YWJlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdE QiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6 MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjMtdGVzdC1kdG9yZml4LTIwMDUwMTIxLnBhdGNo CiAKIEZpbGVOYW1lOiBnZGItNi4zLXRlc3QtZHRvcmZpeC0yMDA1MDEyMS5wYXRjaAogCi1JbmRl eDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvY29uc3RydWN0b3J0 ZXN0LmNjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIu Y3AvY29uc3RydWN0b3J0ZXN0LmNjCTIwMTYtMDItMTYgMDk6NDk6MDguNjgxODg2MjAxICswMTAw Cis7OyBUZXN0IHN1cHBvcnQgb2YgbXVsdGlwbGUgZGVzdHJ1Y3RvcnMganVzdCBsaWtlIG11bHRp cGxlIGNvbnN0cnVjdG9ycworOzs9ZmVkb3JhdGVzdAorLS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIu Y3AvY29uc3RydWN0b3J0ZXN0LmNjICB8ICA5OSArKysrKysrKysrKysrKysrKysrKysrKworIGdk Yi90ZXN0c3VpdGUvZ2RiLmNwL2NvbnN0cnVjdG9ydGVzdC5leHAgfCAxMzAgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgMjI5IGluc2VydGlvbnMoKykK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvY29uc3RydWN0b3J0ZXN0 LmNjCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmNwL2NvbnN0cnVjdG9y dGVzdC5leHAKKworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2NvbnN0cnVjdG9y dGVzdC5jYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2NvbnN0cnVjdG9ydGVzdC5jYworbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjlhYzg3OTNlNTAKKy0tLSAvZGV2L251 bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2NvbnN0cnVjdG9ydGVzdC5jYwogQEAgLTAs MCArMSw5OSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVi dWdnZXIuCiArCkBAIC0xMDksMTAgKzExOSwxMSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAy MTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvY29uc3RydWN0b3J0ZXN0LmNjCiArewogKyAgIHkgPSAy OyAvKiBGaXJzdCBsaW5lIEQgKi8KICt9Ci1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuY3AvY29uc3RydWN0b3J0ZXN0LmV4cAotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEw LjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2NvbnN0cnVjdG9ydGVzdC5leHAJMjAx Ni0wMi0xNiAwOTo1MjoxMi42MDkxMzA3NzkgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5jcC9jb25zdHJ1Y3RvcnRlc3QuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvY29u c3RydWN0b3J0ZXN0LmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAu LjM0MWY2Yzk5YWQKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2Nv bnN0cnVjdG9ydGVzdC5leHAKIEBAIC0wLDAgKzEsMTMwIEBACiArIyBUaGlzIHRlc3RjYXNlIGlz IHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMjQ0LDMgKzI1NSw2IEBAIElu ZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9jb25zdHJ1Y3Rv cnRlc3QuZXhwCiArfQogKwogK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJGaXJzdCBsaW5l IH5DIgorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjMtdGVzdC1tb3ZlZGlyLTIw MDUwMTI1LnBhdGNoIGIvZ2RiLTYuMy10ZXN0LW1vdmVkaXItMjAwNTAxMjUucGF0Y2gKaW5kZXgg ODUxMDgxZi4uY2Y0ZmQ5YSAxMDA2NDQKLS0tIGEvZ2RiLTYuMy10ZXN0LW1vdmVkaXItMjAwNTAx MjUucGF0Y2gKKysrIGIvZ2RiLTYuMy10ZXN0LW1vdmVkaXItMjAwNTAxMjUucGF0Y2gKQEAgLTEs MTkgKzEsMzIgQEAKK0Zyb20gZmEwMWE3YzY2NTZlYWRiYzZkZDNmZjExMjhmYjBiMmVjOTg4ZjZj ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEVsZW5hIFphbm5vbmkgPGV6YW5ub25p QHJlZGhhdC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJq ZWN0OiBnZGItNi4zLXRlc3QtbW92ZWRpci0yMDA1MDEyNS5wYXRjaAogCiBGaWxlTmFtZTogZ2Ri LTYuMy10ZXN0LW1vdmVkaXItMjAwNTAxMjUucGF0Y2gKIAorOzsgRml4IHRvIHN1cHBvcnQgZXhl Y3V0YWJsZSBtb3ZpbmcKKzs7PWZlZG9yYXRlc3QKKwogMjAwNS0wMS0yNSAgRWxlbmEgWmFubm9u aSAgPGV6YW5ub25pQHJlZGhhdC5jb20+CiAKICAgICAgICAgKiBnZGIuYmFzZS9tb3ZlLWRpci5l eHA6IE5ldyB0ZXN0LgogICAgICAgICAqIGdkYi5iYXNlL21vdmUtZGlyLmM6IERpdHRvLgogICAg ICAgICAqIGdkYi5iYXNlL21vdmUtZGlyLmg6IERpdHRvLgorLS0tCisgZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9tb3ZlLWRpci5jICAgfCAxMCArKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9tb3ZlLWRpci5leHAgfCA1NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9tb3ZlLWRpci5oICAgfCAgNyArKysrKworIDMgZmls ZXMgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVz dHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9tb3ZlLWRpci5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9tb3ZlLWRpci5oCiAKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251 bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4y MDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmMJMjAxNi0wMi0xNSAyMzoy MzowMi44OTI0OTkyODggKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L21vdmUtZGlyLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmMKK25ldyBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi44OWI2NWI0YjZhCistLS0gL2Rldi9udWxs CisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmMKIEBAIC0wLDAgKzEsMTAg QEAKICsjaW5jbHVkZSA8c3RkaW8uaD4KICsjaW5jbHVkZSA8c3RkbGliLmg+CkBAIC0yNSwxMCAr MzgsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvbW92ZS1kaXIuYwogKyAgIG90aGVyKCk7CiArfQogKwotSW5kZXg6IGdkYi03LjEwLjkwLjIw MTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbW92ZS1kaXIuZXhwCi09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2Ri LTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9tb3ZlLWRpci5leHAJMjAx Ni0wMi0xNSAyMzoyOTo1OC43Njg0NjE0MDYgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL21vdmUtZGlyLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbW92ZS1k aXIuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uZjE4OWVhNzdi OQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9tb3ZlLWRpci5l eHAKIEBAIC0wLDAgKzEsNTcgQEAKICsjICAgQ29weXJpZ2h0IDIwMDUKICsjICAgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC04NywxMCArMTAxLDExIEBAIEluZGV4OiBnZGItNy4x MC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmV4cAogKwogK3Nl dCB0aW1lb3V0ICRvbGR0aW1lb3V0CiArcmV0dXJuIDAKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2 MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmgKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4x MC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmgJMjAxNi0wMi0x NSAyMzoyMzowMi44OTI0OTkyODggKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL21vdmUtZGlyLmggYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmgKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi40YTk5NzI1YTAwCistLS0gL2Rl di9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmgKIEBAIC0wLDAg KzEsNyBAQAogKyNpbmNsdWRlIDxzdGRsaWIuaD4KICsKQEAgLTk5LDMgKzExNCw2IEBAIEluZGV4 OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmgK ICsgIHByaW50ZiAoIiVzXG4iLCBvc3RyaW5nKTs7CiArfQogKworLS0gCisyLjE0LjMKKwoKZGlm ZiAtLWdpdCBhL2dkYi02LjMtdGVzdC1waWUtMjAwNTAxMDcucGF0Y2ggYi9nZGItNi4zLXRlc3Qt cGllLTIwMDUwMTA3LnBhdGNoCmluZGV4IDdiMjg5ZmUuLjEzNGQ2YmEgMTAwNjQ0Ci0tLSBhL2dk Yi02LjMtdGVzdC1waWUtMjAwNTAxMDcucGF0Y2gKKysrIGIvZ2RiLTYuMy10ZXN0LXBpZS0yMDA1 MDEwNy5wYXRjaApAQCAtMSwxNCArMSwzNiBAQAorRnJvbSA0NzEwOGU3MDNhYzZiNzZhMTJlZTMx MDUxMmI2MDM0MmQ0NjBmNjgwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3Jh IEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcg MjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjMtdGVzdC1waWUtMjAwNTAxMDcucGF0Y2gK IAogRmlsZU5hbWU6IGdkYi02LjMtdGVzdC1waWUtMjAwNTAxMDcucGF0Y2gKIAorOzsgVlNZU0NB TEwgYW5kIFBJRQorOzs9ZmVkb3JhdGVzdAorLS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2F0 dGFjaC5jICAgICB8ICAyMCArCisgZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2F0dGFjaC5leHAgICB8 IDQxNiArKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2F0dGFjaDIuYyAg ICB8ICAyNCArCisgZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2JyZWFrLmMgICAgICB8IDE0NiArKysr KysKKyBnZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsuZXhwICAgIHwgOTU0ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsx LmMgICAgIHwgIDQ0ICsrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2NvcmVmaWxlLmV4cCB8IDIz MyArKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZW1ha2VyLmMgIHwgMTQyICsr KysrKworIDggZmlsZXMgY2hhbmdlZCwgMTk3OSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUg MTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnBpZS9hdHRhY2guYworIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBn ZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoMi5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90 ZXN0c3VpdGUvZ2RiLnBpZS9icmVhay5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3Vp dGUvZ2RiLnBpZS9icmVhay5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9n ZGIucGllL2JyZWFrMS5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnBp ZS9jb3JlZmlsZS5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIucGll L2NvcmVtYWtlci5jCiAKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRl L2dkYi5waWUvYXR0YWNoLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVz dHN1aXRlL2dkYi5waWUvYXR0YWNoLmMJMjAxNi0wMi0xNSAyMzoyMzowMi44NDM0OTg5MzYgKzAx MDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoLmMgYi9nZGIvdGVz dHN1aXRlL2dkYi5waWUvYXR0YWNoLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwMDAwLi4wMDQxYjQ3MzJkCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5waWUvYXR0YWNoLmMKIEBAIC0wLDAgKzEsMjAgQEAKICsvKiBUaGlzIHByb2dyYW0gaXMgaW50 ZW5kZWQgdG8gYmUgc3RhcnRlZCBvdXRzaWRlIG9mIGdkYiwgYW5kIHRoZW4KICsgICBhdHRhY2hl ZCB0byBieSBnZGIuICBUaHVzLCBpdCBzaW1wbHkgc3BpbnMgaW4gYSBsb29wLiAgVGhlIGxvb3AK QEAgLTMwLDM4NiArNTIsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0 c3VpdGUvZ2RiLnBpZS9hdHRhY2guYwogKyAgICB9CiArICByZXR1cm4gMDsKICt9Ci1JbmRleDog Z2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2F0dGFjaDIuYwotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9hdHRhY2gy LmMJMjAxNi0wMi0xNSAyMzoyMzowMi44NDM0OTg5MzYgKzAxMDAKLUBAIC0wLDAgKzEsMjQgQEAK LSsvKiBUaGlzIHByb2dyYW0gaXMgaW50ZW5kZWQgdG8gYmUgc3RhcnRlZCBvdXRzaWRlIG9mIGdk YiwgYW5kIHRoZW4KLSsgICBhdHRhY2hlZCB0byBieSBnZGIuICBUaHVzLCBpdCBzaW1wbHkgc3Bp bnMgaW4gYSBsb29wLiAgVGhlIGxvb3AKLSsgICBpcyBleGl0ZWQgd2hlbiAmIGlmIHRoZSB2YXJp YWJsZSAnc2hvdWxkX2V4aXQnIGlzIG5vbi16ZXJvLiAgKEl0Ci0rICAgaXMgaW5pdGlhbGl6ZWQg dG8gemVybyBpbiB0aGlzIHByb2dyYW0sIHNvIHRoZSBsb29wIHdpbGwgbmV2ZXIKLSsgICBleGl0 IHVubGVzcy91bnRpbCBnZGIgc2V0cyB0aGUgdmFyaWFibGUgdG8gbm9uLXplcm8uKQotKyAgICov Ci0rI2luY2x1ZGUgPHN0ZGlvLmg+Ci0rI2luY2x1ZGUgPHN0ZGxpYi5oPgotKyNpbmNsdWRlIDx1 bmlzdGQuaD4KLSsKLStpbnQgIHNob3VsZF9leGl0ID0gMDsKLSsKLStpbnQgbWFpbiAoKQotK3sK LSsgIGludCAgbG9jYWxfaSA9IDA7Ci0rCi0rICBzbGVlcCggMTAgKTsgLyogU3lzdGVtIGNhbGwg Y2F1c2VzIHJlZ2lzdGVyIGZldGNoIHRvIGZhaWwgKi8KLSsgICAgICAgICAgICAgICAvKiBUaGlz IGlzIGEga25vd24gSFBVWCAiZmVhdHVyZSIgICAgICAgICAgICAqLwotKyAgd2hpbGUgKCEgc2hv dWxkX2V4aXQpCi0rICAgIHsKLSsgICAgICBsb2NhbF9pKys7Ci0rICAgIH0KLSsgIHJldHVybiAo MCk7Ci0rfQotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnBp ZS9icmVhay5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9n ZGIucGllL2JyZWFrLmMJMjAxNi0wMi0xNSAyMzoyMzowMi44NDQ0OTg5NDMgKzAxMDAKLUBAIC0w LDAgKzEsMTQ2IEBACi0rLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBk ZWJ1Z2dlci4KLSsKLSsgICBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5OSwg MjAwMiwgMjAwMyBGcmVlIFNvZnR3YXJlCi0rICAgRm91bmRhdGlvbiwgSW5jLgotKwotKyAgIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsg Ci0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0 ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotKyAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQ bGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0rCi0rICAgUGxl YXNlIGVtYWlsIGFueSBidWdzLCBjb21tZW50cywgYW5kL29yIGFkZGl0aW9ucyB0byB0aGlzIGZp bGUgdG86Ci0rICAgYnVnLWdkYkBwcmVwLmFpLm1pdC5lZHUgICovCi0rCi0rI2lmZGVmIHZ4d29y a3MKLSsKLSsjICBpbmNsdWRlIDxzdGRpby5oPgotKwotKy8qIFZ4V29ya3MgZG9lcyBub3Qgc3Vw cGx5IGF0b2kuICAqLwotK3N0YXRpYyBpbnQKLSthdG9pICh6KQotKyAgICAgY2hhciAqejsKLSt7 Ci0rICBpbnQgaSA9IDA7Ci0rCi0rICB3aGlsZSAoKnogPj0gJzAnICYmICp6IDw9ICc5JykKLSsg ICAgaSA9IGkgKiAxMCArICgqeisrIC0gJzAnKTsKLSsgIHJldHVybiBpOwotK30KLSsKLSsvKiBJ IGRvbid0IGtub3cgb2YgYW55IHdheSB0byBwYXNzIGFuIGFycmF5IHRvIFZ4V29ya3MuICBUaGlz IGZ1bmN0aW9uCi0rICAgY2FuIGJlIGNhbGxlZCBkaXJlY3RseSBmcm9tIGdkYi4gICovCi0rCi0r dnhtYWluIChhcmcpCi0rY2hhciAqYXJnOwotK3sKLSsgIGNoYXIgKmFyZ3ZbMl07Ci0rCi0rICBh cmd2WzBdID0gIiI7Ci0rICBhcmd2WzFdID0gYXJnOwotKyAgbWFpbiAoMiwgYXJndiwgKGNoYXIg KiopIDApOwotK30KLSsKLSsjZWxzZSAvKiAhIHZ4d29ya3MgKi8KLSsjICBpbmNsdWRlIDxzdGRp by5oPgotKyMgIGluY2x1ZGUgPHN0ZGxpYi5oPgotKyNlbmRpZiAvKiAhIHZ4d29ya3MgKi8KLSsK LSsjaWZkZWYgUFJPVE9UWVBFUwotK2V4dGVybiBpbnQgbWFya2VyMSAodm9pZCk7Ci0rZXh0ZXJu IGludCBtYXJrZXIyIChpbnQgYSk7Ci0rZXh0ZXJuIHZvaWQgbWFya2VyMyAoY2hhciAqYSwgY2hh ciAqYik7Ci0rZXh0ZXJuIHZvaWQgbWFya2VyNCAobG9uZyBkKTsKLSsjZWxzZQotK2V4dGVybiBp bnQgbWFya2VyMSAoKTsKLStleHRlcm4gaW50IG1hcmtlcjIgKCk7Ci0rZXh0ZXJuIHZvaWQgbWFy a2VyMyAoKTsKLStleHRlcm4gdm9pZCBtYXJrZXI0ICgpOwotKyNlbmRpZgotKwotKy8qCi0rICoJ VGhpcyBzaW1wbGUgY2xhc3NpY2FsIGV4YW1wbGUgb2YgcmVjdXJzaW9uIGlzIHVzZWZ1bCBmb3IK LSsgKgl0ZXN0aW5nIHN0YWNrIGJhY2t0cmFjZXMgYW5kIHN1Y2guCi0rICovCi0rCi0rI2lmZGVm IFBST1RPVFlQRVMKLStpbnQgZmFjdG9yaWFsKGludCk7Ci0rCi0raW50Ci0rbWFpbiAoaW50IGFy Z2MsIGNoYXIgKiphcmd2LCBjaGFyICoqZW52cCkKLSsjZWxzZQotK2ludAotK21haW4gKGFyZ2Ms IGFyZ3YsIGVudnApCi0raW50IGFyZ2M7Ci0rY2hhciAqYXJndltdLCAqKmVudnA7Ci0rI2VuZGlm Ci0rewotKyNpZmRlZiB1c2VzdHVicwotKyAgICBzZXRfZGVidWdfdHJhcHMoKTsgIC8qIHNldCBi cmVha3BvaW50IDUgaGVyZSAqLwotKyAgICBicmVha3BvaW50KCk7Ci0rI2VuZGlmCi0rICAgIGlm IChhcmdjID09IDEyMzQ1KSB7ICAvKiBhbiB1bmxpa2VseSB2YWx1ZSA8IDJeMTYsIGluIGNhc2Ug dW5pbml0ZWQgKi8gLyogc2V0IGJyZWFrcG9pbnQgNiBoZXJlICovCi0rCWZwcmludGYgKHN0ZGVy ciwgInVzYWdlOiAgZmFjdG9yaWFsIDxudW1iZXI+XG4iKTsKLSsJcmV0dXJuIDE7Ci0rICAgIH0K LSsgICAgcHJpbnRmICgiJWRcbiIsIGZhY3RvcmlhbCAoYXRvaSAoIjYiKSkpOyAgLyogc2V0IGJy ZWFrcG9pbnQgMSBoZXJlICovCi0rICAgIC8qIHNldCBicmVha3BvaW50IDEyIGhlcmUgKi8KLSsg ICAgbWFya2VyMSAoKTsgIC8qIHNldCBicmVha3BvaW50IDExIGhlcmUgKi8KLSsgICAgbWFya2Vy MiAoNDMpOyAvKiBzZXQgYnJlYWtwb2ludCAyMCBoZXJlICovCi0rICAgIG1hcmtlcjMgKCJzdGFj ayIsICJ0cmFjZSIpOyAvKiBzZXQgYnJlYWtwb2ludCAyMSBoZXJlICovCi0rICAgIG1hcmtlcjQg KDE3NzYwMTk3NkwpOwotKyAgICBhcmdjID0gKGFyZ2MgPT0gMTIzNDUpOyAvKiBUaGlzIGlzIHNp bGx5LCBidXQgd2UgY2FuIHN0ZXAgb2ZmIG9mIGl0ICovIC8qIHNldCBicmVha3BvaW50IDIgaGVy ZSAqLwotKyAgICByZXR1cm4gYXJnYzsgIC8qIHNldCBicmVha3BvaW50IDEwIGhlcmUgKi8KLSt9 Ci0rCi0rI2lmZGVmIFBST1RPVFlQRVMKLStpbnQgZmFjdG9yaWFsIChpbnQgdmFsdWUpCi0rI2Vs c2UKLStpbnQgZmFjdG9yaWFsICh2YWx1ZSkKLStpbnQgdmFsdWU7Ci0rI2VuZGlmCi0rewotKyAg aWYgKHZhbHVlID4gMSkgeyAgLyogc2V0IGJyZWFrcG9pbnQgNyBoZXJlICovCi0rCXZhbHVlICo9 IGZhY3RvcmlhbCAodmFsdWUgLSAxKTsKLSsgICAgfQotKyAgICByZXR1cm4gKHZhbHVlKTsgLyog c2V0IGJyZWFrcG9pbnQgMTkgaGVyZSAqLwotK30KLSsKLSsjaWZkZWYgUFJPVE9UWVBFUwotK2lu dCBtdWx0aV9saW5lX2lmX2NvbmRpdGlvbmFsIChpbnQgYSwgaW50IGIsIGludCBjKQotKyNlbHNl Ci0raW50IG11bHRpX2xpbmVfaWZfY29uZGl0aW9uYWwgKGEsIGIsIGMpCi0rICBpbnQgYSwgYiwg YzsKLSsjZW5kaWYKLSt7Ci0rICBpZiAoYSAgICAvKiBzZXQgYnJlYWtwb2ludCAzIGhlcmUgKi8K LSsgICAgICAmJiBiCi0rICAgICAgJiYgYykKLSsgICAgcmV0dXJuIDA7Ci0rICBlbHNlCi0rICAg IHJldHVybiAxOwotK30KLSsKLSsjaWZkZWYgUFJPVE9UWVBFUwotK2ludCBtdWx0aV9saW5lX3do aWxlX2NvbmRpdGlvbmFsIChpbnQgYSwgaW50IGIsIGludCBjKQotKyNlbHNlCi0raW50IG11bHRp X2xpbmVfd2hpbGVfY29uZGl0aW9uYWwgKGEsIGIsIGMpCi0rICBpbnQgYSwgYiwgYzsKLSsjZW5k aWYKLSt7Ci0rICB3aGlsZSAoYSAvKiBzZXQgYnJlYWtwb2ludCA0IGhlcmUgKi8KLSsgICAgICAm JiBiCi0rICAgICAgJiYgYykKLSsgICAgewotKyAgICAgIGEtLSwgYi0tLCBjLS07Ci0rICAgIH0K LSsgIHJldHVybiAwOwotK30KLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1 aXRlL2dkYi5waWUvYnJlYWsxLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0w MSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIv dGVzdHN1aXRlL2dkYi5waWUvYnJlYWsxLmMJMjAxNi0wMi0xNSAyMzoyMzowMi44NDQ0OTg5NDMg KzAxMDAKLUBAIC0wLDAgKzEsNDQgQEAKLSsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RC LCB0aGUgR05VIGRlYnVnZ2VyLgotKwotKyAgIENvcHlyaWdodCAxOTkyLCAxOTkzLCAxOTk0LCAx OTk1LCAxOTk5LCAyMDAyLCAyMDAzIEZyZWUgU29mdHdhcmUKLSsgICBGb3VuZGF0aW9uLCBJbmMu Ci0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0rICAg KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKLSsgICBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsgICBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgotKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKLSsgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgotKyAKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBp ZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0rICAgRm91bmRhdGlvbiwgSW5jLiwg NTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4K LSsKLSsgICBQbGVhc2UgZW1haWwgYW55IGJ1Z3MsIGNvbW1lbnRzLCBhbmQvb3IgYWRkaXRpb25z IHRvIHRoaXMgZmlsZSB0bzoKLSsgICBidWctZ2RiQHByZXAuYWkubWl0LmVkdSAgKi8KLSsKLSsv KiBUaGUgY29kZSBmb3IgdGhpcyBmaWxlIHdhcyBleHRyYWN0ZWQgZnJvbSB0aGUgZ2RiIHRlc3Rz dWl0ZQotKyAgIHRlc3RjYXNlICJicmVhay5jIi4gKi8KLSsKLSsvKiBUaGUgZm9sbG93aW5nIGZ1 bmN0aW9ucyBkbyBub3RoaW5nIHVzZWZ1bC4gIFRoZXkgYXJlIGluY2x1ZGVkCi0rICAgc2ltcGx5 IGFzIHBsYWNlcyB0byB0cnkgc2V0dGluZyBicmVha3BvaW50cyBhdC4gIFRoZXkgYXJlCi0rICAg ZXhwbGljaXRseSAib25lLWxpbmUgZnVuY3Rpb25zIiB0byB2ZXJpZnkgdGhhdCB0aGlzIGNhc2Ug d29ya3MKLSsgICAoc29tZSB2ZXJzaW9ucyBvZiBnY2MgaGF2ZSBvciBoYXZlIGhhZCBwcm9ibGVt cyB3aXRoIHRoaXMpLgotKyAgCi0rICAgVGhlc2UgZnVuY3Rpb25zIGFyZSBpbiBhIHNlcGFyYXRl IHNvdXJjZSBmaWxlIHRvIHByZXZlbnQgYW4KLSsgICBvcHRpbWl6aW5nIGNvbXBpbGVyIGZyb20g aW5saW5pbmcgdGhlbSBhbmQgb3B0aW1pemluZyB0aGVtIGF3YXkuICovCi0rCi0rI2lmZGVmIFBS T1RPVFlQRVMKLStpbnQgbWFya2VyMSAodm9pZCkgeyByZXR1cm4gKDApOyB9CS8qIHNldCBicmVh a3BvaW50IDE1IGhlcmUgKi8KLStpbnQgbWFya2VyMiAoaW50IGEpIHsgcmV0dXJuICgxKTsgfQkv KiBzZXQgYnJlYWtwb2ludCA4IGhlcmUgKi8KLSt2b2lkIG1hcmtlcjMgKGNoYXIgKmEsIGNoYXIg KmIpIHt9CS8qIHNldCBicmVha3BvaW50IDE3IGhlcmUgKi8KLSt2b2lkIG1hcmtlcjQgKGxvbmcg ZCkge30JCS8qIHNldCBicmVha3BvaW50IDE0IGhlcmUgKi8KLSsjZWxzZQotK2ludCBtYXJrZXIx ICgpIHsgcmV0dXJuICgwKTsgfQkJLyogc2V0IGJyZWFrcG9pbnQgMTYgaGVyZSAqLwotK2ludCBt YXJrZXIyIChhKSBpbnQgYTsgeyByZXR1cm4gKDEpOyB9CS8qIHNldCBicmVha3BvaW50IDkgaGVy ZSAqLwotK3ZvaWQgbWFya2VyMyAoYSwgYikgY2hhciAqYSwgKmI7IHt9CS8qIHNldCBicmVha3Bv aW50IDE4IGhlcmUgKi8KLSt2b2lkIG1hcmtlcjQgKGQpIGxvbmcgZDsge30JCS8qIHNldCBicmVh a3BvaW50IDEzIGhlcmUgKi8KLSsjZW5kaWYKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9n ZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZW1ha2VyLmMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251 bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4y MDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZW1ha2VyLmMJMjAxNi0wMi0xNSAyMzoy MzowMi44NDQ0OTg5NDMgKzAxMDAKLUBAIC0wLDAgKzEsMTQyIEBACi0rLyogQ29weXJpZ2h0IDE5 OTIsIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTkKLSsgICBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KLSsKLSsgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCi0rCi0rICAgVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAotKyAgIHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0Ci0rICAgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyAgIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUgR05VCi0rICAgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKwot KyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCi0rICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUg dG8gdGhlIEZyZWUgU29mdHdhcmUKLSsgICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxh Y2UgLSBTdWl0ZSAzMzAsCi0rICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuICAqLwotKwot Ky8qIFNpbXBsZSBsaXR0bGUgcHJvZ3JhbSB0aGF0IGp1c3QgZ2VuZXJhdGVzIGEgY29yZSBkdW1w IGZyb20gaW5zaWRlIHNvbWUKLSsgICBuZXN0ZWQgZnVuY3Rpb24gY2FsbHMuICovCi0rCi0rI2lu Y2x1ZGUgPHN0ZGlvLmg+Ci0rI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotKyNpbmNsdWRlIDxmY250 bC5oPgotKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgotKyNpbmNsdWRlIDxzaWduYWwuaD4KLSsjaW5j bHVkZSA8c3RkbGliLmg+Ci0rI2luY2x1ZGUgPHVuaXN0ZC5oPgotKwotKyNpZm5kZWYgX19TVERD X18KLSsjZGVmaW5lCWNvbnN0CS8qKi8KLSsjZW5kaWYKLSsKLSsjZGVmaW5lIE1BUFNJWkUgKDgg KiAxMDI0KQotKwotKy8qIERvbid0IG1ha2UgdGhlc2UgYXV0b21hdGljIHZhcnMgb3Igd2Ugd2ls bCBoYXZlIHRvIHdhbGsgYmFjayB1cCB0aGUKLSsgICBzdGFjayB0byBhY2Nlc3MgdGhlbS4gKi8K LSsKLStjaGFyICpidWYxOwotK2NoYXIgKmJ1ZjI7Ci0rCi0raW50IGNvcmVtYWtlcl9kYXRhID0g MTsJLyogSW4gRGF0YSBzZWN0aW9uICovCi0raW50IGNvcmVtYWtlcl9ic3M7CS8qIEluIEJTUyBz ZWN0aW9uICovCi0rCi0rY29uc3QgaW50IGNvcmVtYWtlcl9ybyA9IDIwMTsJLyogSW4gUmVhZC1P bmx5IERhdGEgc2VjdGlvbiAqLwotKwotKy8qIE5vdGUgdGhhdCBpZiB0aGUgbWFwcGluZyBmYWls cyBmb3IgYW55IHJlYXNvbiwgd2Ugc2V0IGJ1ZjIKLSsgICB0byAtMSBhbmQgdGhlIHRlc3RzdWl0 ZSBub3RpY2VzIHRoaXMgYW5kIHJlcG9ydHMgaXQgYXMKLSsgICBhIGZhaWx1cmUgZHVlIHRvIGEg bWFwcGluZyBlcnJvci4gIFRoaXMgd2F5IHdlIGRvbid0IGhhdmUKLSsgICB0byB0ZXN0IGZvciBz cGVjaWZpYyBlcnJvcnMgd2hlbiBydW5uaW5nIHRoZSBjb3JlIG1ha2VyLiAqLwotKwotK3ZvaWQK LSttbWFwZGF0YSAoKQotK3sKLSsgIGludCBqLCBmZDsKLSsKLSsgIC8qIEFsbG9jYXRlIGFuZCBp bml0aWFsaXplIGEgYnVmZmVyIHRoYXQgd2lsbCBiZSB1c2VkIHRvIHdyaXRlCi0rICAgICB0aGUg ZmlsZSB0aGF0IGlzIGxhdGVyIG1hcHBlZCBpbi4gKi8KLSsKLSsgIGJ1ZjEgPSAoY2hhciAqKSBt YWxsb2MgKE1BUFNJWkUpOwotKyAgZm9yIChqID0gMDsgaiA8IE1BUFNJWkU7ICsraikKLSsgICAg ewotKyAgICAgIGJ1ZjFbal0gPSBqOwotKyAgICB9Ci0rCi0rICAvKiBXcml0ZSB0aGUgZmlsZSB0 byBtYXAgaW4gKi8KLSsKLSsgIGZkID0gb3BlbiAoImNvcmVtbWFwLmRhdGEiLCBPX0NSRUFUIHwg T19SRFdSLCAwNjY2KTsKLSsgIGlmIChmZCA9PSAtMSkKLSsgICAgewotKyAgICAgIHBlcnJvciAo ImNvcmVtbWFwLmRhdGEgb3BlbiBmYWlsZWQiKTsKLSsgICAgICBidWYyID0gKGNoYXIgKikgLTE7 Ci0rICAgICAgcmV0dXJuOwotKyAgICB9Ci0rICB3cml0ZSAoZmQsIGJ1ZjEsIE1BUFNJWkUpOwot KwotKyAgLyogTm93IG1hcCB0aGUgZmlsZSBpbnRvIG91ciBhZGRyZXNzIHNwYWNlIGFzIGJ1ZjIg Ki8KLSsKLSsgIGJ1ZjIgPSAoY2hhciAqKSBtbWFwICgwLCBNQVBTSVpFLCBQUk9UX1JFQUQgfCBQ Uk9UX1dSSVRFLCBNQVBfUFJJVkFURSwgZmQsIDApOwotKyAgaWYgKGJ1ZjIgPT0gKGNoYXIgKikg LTEpCi0rICAgIHsKLSsgICAgICBwZXJyb3IgKCJtbWFwIGZhaWxlZCIpOwotKyAgICAgIHJldHVy bjsKLSsgICAgfQotKwotKyAgLyogVmVyaWZ5IHRoYXQgdGhlIG9yaWdpbmFsIGRhdGEgYW5kIHRo ZSBtYXBwZWQgZGF0YSBhcmUgaWRlbnRpY2FsLgotKyAgICAgSWYgbm90LCB3ZSdkIHJhdGhlciBm YWlsIG5vdyB0aGFuIHdoZW4gdHJ5aW5nIHRvIGFjY2VzcyB0aGUgbWFwcGVkCi0rICAgICBkYXRh IGZyb20gdGhlIGNvcmUgZmlsZS4gKi8KLSsKLSsgIGZvciAoaiA9IDA7IGogPCBNQVBTSVpFOyAr K2opCi0rICAgIHsKLSsgICAgICBpZiAoYnVmMVtqXSAhPSBidWYyW2pdKQotKwl7Ci0rCSAgZnBy aW50ZiAoc3RkZXJyLCAibWFwcGVkIGRhdGEgaXMgaW5jb3JyZWN0Iik7Ci0rCSAgYnVmMiA9IChj aGFyICopIC0xOwotKwkgIHJldHVybjsKLSsJfQotKyAgICB9Ci0rfQotKwotK3ZvaWQKLStmdW5j MiAoKQotK3sKLSsgIGludCBjb3JlbWFrZXJfbG9jYWxbNV07Ci0rICBpbnQgaTsKLSsKLSsjaWZk ZWYgU0FfRlVMTERVTVAKLSsgIC8qIEZvcmNlIGEgY29yZWZpbGUgdGhhdCBpbmNsdWRlcyB0aGUg ZGF0YSBzZWN0aW9uIGZvciBBSVguICAqLwotKyAgewotKyAgICBzdHJ1Y3Qgc2lnYWN0aW9uIHNh OwotKwotKyAgICBzaWdhY3Rpb24gKFNJR0FCUlQsIChzdHJ1Y3Qgc2lnYWN0aW9uICopMCwgJnNh KTsKLSsgICAgc2Euc2FfZmxhZ3MgfD0gU0FfRlVMTERVTVA7Ci0rICAgIHNpZ2FjdGlvbiAoU0lH QUJSVCwgJnNhLCAoc3RydWN0IHNpZ2FjdGlvbiAqKTApOwotKyAgfQotKyNlbmRpZgotKwotKyAg LyogTWFrZSBzdXJlIHRoYXQgY29yZW1ha2VyX2xvY2FsIGRvZXNuJ3QgZ2V0IG9wdGltaXplZCBh d2F5LiAqLwotKyAgZm9yIChpID0gMDsgaSA8IDU7IGkrKykKLSsgICAgY29yZW1ha2VyX2xvY2Fs W2ldID0gaTsKLSsgIGNvcmVtYWtlcl9ic3MgPSAwOwotKyAgZm9yIChpID0gMDsgaSA8IDU7IGkr KykKLSsgICAgY29yZW1ha2VyX2JzcyArPSBjb3JlbWFrZXJfbG9jYWxbaV07Ci0rICBjb3JlbWFr ZXJfZGF0YSA9IGNvcmVtYWtlcl9ybyArIDE7Ci0rICBhYm9ydCAoKTsKLSt9Ci0rCi0rdm9pZAot K2Z1bmMxICgpCi0rewotKyAgZnVuYzIgKCk7Ci0rfQotKwotK2ludCBtYWluICgpCi0rewotKyAg bW1hcGRhdGEgKCk7Ci0rICBmdW5jMSAoKTsKLSsgIHJldHVybiAwOwotK30KLSsKLUluZGV4OiBn ZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoLmV4cAotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9hdHRhY2gu ZXhwCTIwMTYtMDItMTUgMjM6Mzc6MTUuMTkwNTYwMDQ4ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIucGllL2F0dGFjaC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0 YWNoLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjY0OGM5MjYw OGMKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9hdHRhY2guZXhw CiBAQCAtMCwwICsxLDQxNiBAQAogKyMgICBDb3B5cmlnaHQgMTk5NywgMTk5OSwgMjAwMiBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTgwNywzMCArNDU0LDIxMyBAQCBJbmRl eDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2F0dGFjaC5leHAK ICt9CiArCiArCi0rIyBTdGFydCB3aXRoIGEgZnJlc2ggZ2RiCi0rIwotK2dkYl9leGl0Ci0rZ2Ri X3N0YXJ0Ci0rZ2RiX3JlaW5pdGlhbGl6ZV9kaXIgJHNyY2Rpci8kc3ViZGlyCi0rZ2RiX2xvYWQg JHtiaW5maWxlfQotKwotKyMgVGhpcyBpcyBhIHRlc3Qgb2YgZ2RiJ3MgYWJpbGl0eSB0byBhdHRh Y2ggdG8gYSBydW5uaW5nIHByb2Nlc3MuCi0rIwotK2RvX2F0dGFjaF90ZXN0cwotKwotKyMgVGVz dCBhdHRhY2hpbmcgd2hlbiB0aGUgdGFyZ2V0IGlzIGluc2lkZSBhIHN5c3RlbSBjYWxsCi0rIwot K2dkYl9leGl0Ci0rZ2RiX3N0YXJ0Ci0rCi0rZ2RiX3JlaW5pdGlhbGl6ZV9kaXIgJHNyY2Rpci8k c3ViZGlyCi0rZG9fY2FsbF9hdHRhY2hfdGVzdHMKKysjIFN0YXJ0IHdpdGggYSBmcmVzaCBnZGIK KysjCisrZ2RiX2V4aXQKKytnZGJfc3RhcnQKKytnZGJfcmVpbml0aWFsaXplX2RpciAkc3JjZGly LyRzdWJkaXIKKytnZGJfbG9hZCAke2JpbmZpbGV9CisrCisrIyBUaGlzIGlzIGEgdGVzdCBvZiBn ZGIncyBhYmlsaXR5IHRvIGF0dGFjaCB0byBhIHJ1bm5pbmcgcHJvY2Vzcy4KKysjCisrZG9fYXR0 YWNoX3Rlc3RzCisrCisrIyBUZXN0IGF0dGFjaGluZyB3aGVuIHRoZSB0YXJnZXQgaXMgaW5zaWRl IGEgc3lzdGVtIGNhbGwKKysjCisrZ2RiX2V4aXQKKytnZGJfc3RhcnQKKysKKytnZGJfcmVpbml0 aWFsaXplX2RpciAkc3JjZGlyLyRzdWJkaXIKKytkb19jYWxsX2F0dGFjaF90ZXN0cworKworK3Jl dHVybiAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2F0dGFjaDIuYyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLnBpZS9hdHRhY2gyLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwMDAwLi5hNzgwMzdlZDM4CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5waWUvYXR0YWNoMi5jCitAQCAtMCwwICsxLDI0IEBACisrLyogVGhpcyBwcm9ncmFt IGlzIGludGVuZGVkIHRvIGJlIHN0YXJ0ZWQgb3V0c2lkZSBvZiBnZGIsIGFuZCB0aGVuCisrICAg YXR0YWNoZWQgdG8gYnkgZ2RiLiAgVGh1cywgaXQgc2ltcGx5IHNwaW5zIGluIGEgbG9vcC4gIFRo ZSBsb29wCisrICAgaXMgZXhpdGVkIHdoZW4gJiBpZiB0aGUgdmFyaWFibGUgJ3Nob3VsZF9leGl0 JyBpcyBub24temVyby4gIChJdAorKyAgIGlzIGluaXRpYWxpemVkIHRvIHplcm8gaW4gdGhpcyBw cm9ncmFtLCBzbyB0aGUgbG9vcCB3aWxsIG5ldmVyCisrICAgZXhpdCB1bmxlc3MvdW50aWwgZ2Ri IHNldHMgdGhlIHZhcmlhYmxlIHRvIG5vbi16ZXJvLikKKysgICAqLworKyNpbmNsdWRlIDxzdGRp by5oPgorKyNpbmNsdWRlIDxzdGRsaWIuaD4KKysjaW5jbHVkZSA8dW5pc3RkLmg+CisrCisraW50 ICBzaG91bGRfZXhpdCA9IDA7CisrCisraW50IG1haW4gKCkKKyt7CisrICBpbnQgIGxvY2FsX2kg PSAwOworKworKyAgc2xlZXAoIDEwICk7IC8qIFN5c3RlbSBjYWxsIGNhdXNlcyByZWdpc3RlciBm ZXRjaCB0byBmYWlsICovCisrICAgICAgICAgICAgICAgLyogVGhpcyBpcyBhIGtub3duIEhQVVgg ImZlYXR1cmUiICAgICAgICAgICAgKi8KKysgIHdoaWxlICghIHNob3VsZF9leGl0KQorKyAgICB7 CisrICAgICAgbG9jYWxfaSsrOworKyAgICB9CisrICByZXR1cm4gKDApOworK30KK2RpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnBp ZS9icmVhay5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYmYzOThm Y2NhOQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2JyZWFrLmMK K0BAIC0wLDAgKzEsMTQ2IEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhl IEdOVSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwg MTk5OSwgMjAwMiwgMjAwMyBGcmVlIFNvZnR3YXJlCisrICAgRm91bmRhdGlvbiwgSW5jLgorKwor KyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK KysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KKysgCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90 LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorKyAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRl bXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisrCisr ICAgUGxlYXNlIGVtYWlsIGFueSBidWdzLCBjb21tZW50cywgYW5kL29yIGFkZGl0aW9ucyB0byB0 aGlzIGZpbGUgdG86CisrICAgYnVnLWdkYkBwcmVwLmFpLm1pdC5lZHUgICovCisrCisrI2lmZGVm IHZ4d29ya3MKKysKKysjICBpbmNsdWRlIDxzdGRpby5oPgorKworKy8qIFZ4V29ya3MgZG9lcyBu b3Qgc3VwcGx5IGF0b2kuICAqLworK3N0YXRpYyBpbnQKKythdG9pICh6KQorKyAgICAgY2hhciAq ejsKKyt7CisrICBpbnQgaSA9IDA7CisrCisrICB3aGlsZSAoKnogPj0gJzAnICYmICp6IDw9ICc5 JykKKysgICAgaSA9IGkgKiAxMCArICgqeisrIC0gJzAnKTsKKysgIHJldHVybiBpOworK30KKysK KysvKiBJIGRvbid0IGtub3cgb2YgYW55IHdheSB0byBwYXNzIGFuIGFycmF5IHRvIFZ4V29ya3Mu ICBUaGlzIGZ1bmN0aW9uCisrICAgY2FuIGJlIGNhbGxlZCBkaXJlY3RseSBmcm9tIGdkYi4gICov CisrCisrdnhtYWluIChhcmcpCisrY2hhciAqYXJnOworK3sKKysgIGNoYXIgKmFyZ3ZbMl07Cisr CisrICBhcmd2WzBdID0gIiI7CisrICBhcmd2WzFdID0gYXJnOworKyAgbWFpbiAoMiwgYXJndiwg KGNoYXIgKiopIDApOworK30KKysKKysjZWxzZSAvKiAhIHZ4d29ya3MgKi8KKysjICBpbmNsdWRl IDxzdGRpby5oPgorKyMgIGluY2x1ZGUgPHN0ZGxpYi5oPgorKyNlbmRpZiAvKiAhIHZ4d29ya3Mg Ki8KKysKKysjaWZkZWYgUFJPVE9UWVBFUworK2V4dGVybiBpbnQgbWFya2VyMSAodm9pZCk7Cisr ZXh0ZXJuIGludCBtYXJrZXIyIChpbnQgYSk7CisrZXh0ZXJuIHZvaWQgbWFya2VyMyAoY2hhciAq YSwgY2hhciAqYik7CisrZXh0ZXJuIHZvaWQgbWFya2VyNCAobG9uZyBkKTsKKysjZWxzZQorK2V4 dGVybiBpbnQgbWFya2VyMSAoKTsKKytleHRlcm4gaW50IG1hcmtlcjIgKCk7CisrZXh0ZXJuIHZv aWQgbWFya2VyMyAoKTsKKytleHRlcm4gdm9pZCBtYXJrZXI0ICgpOworKyNlbmRpZgorKworKy8q CisrICoJVGhpcyBzaW1wbGUgY2xhc3NpY2FsIGV4YW1wbGUgb2YgcmVjdXJzaW9uIGlzIHVzZWZ1 bCBmb3IKKysgKgl0ZXN0aW5nIHN0YWNrIGJhY2t0cmFjZXMgYW5kIHN1Y2guCisrICovCisrCisr I2lmZGVmIFBST1RPVFlQRVMKKytpbnQgZmFjdG9yaWFsKGludCk7CisrCisraW50CisrbWFpbiAo aW50IGFyZ2MsIGNoYXIgKiphcmd2LCBjaGFyICoqZW52cCkKKysjZWxzZQorK2ludAorK21haW4g KGFyZ2MsIGFyZ3YsIGVudnApCisraW50IGFyZ2M7CisrY2hhciAqYXJndltdLCAqKmVudnA7Cisr I2VuZGlmCisreworKyNpZmRlZiB1c2VzdHVicworKyAgICBzZXRfZGVidWdfdHJhcHMoKTsgIC8q IHNldCBicmVha3BvaW50IDUgaGVyZSAqLworKyAgICBicmVha3BvaW50KCk7CisrI2VuZGlmCisr ICAgIGlmIChhcmdjID09IDEyMzQ1KSB7ICAvKiBhbiB1bmxpa2VseSB2YWx1ZSA8IDJeMTYsIGlu IGNhc2UgdW5pbml0ZWQgKi8gLyogc2V0IGJyZWFrcG9pbnQgNiBoZXJlICovCisrCWZwcmludGYg KHN0ZGVyciwgInVzYWdlOiAgZmFjdG9yaWFsIDxudW1iZXI+XG4iKTsKKysJcmV0dXJuIDE7Cisr ICAgIH0KKysgICAgcHJpbnRmICgiJWRcbiIsIGZhY3RvcmlhbCAoYXRvaSAoIjYiKSkpOyAgLyog c2V0IGJyZWFrcG9pbnQgMSBoZXJlICovCisrICAgIC8qIHNldCBicmVha3BvaW50IDEyIGhlcmUg Ki8KKysgICAgbWFya2VyMSAoKTsgIC8qIHNldCBicmVha3BvaW50IDExIGhlcmUgKi8KKysgICAg bWFya2VyMiAoNDMpOyAvKiBzZXQgYnJlYWtwb2ludCAyMCBoZXJlICovCisrICAgIG1hcmtlcjMg KCJzdGFjayIsICJ0cmFjZSIpOyAvKiBzZXQgYnJlYWtwb2ludCAyMSBoZXJlICovCisrICAgIG1h cmtlcjQgKDE3NzYwMTk3NkwpOworKyAgICBhcmdjID0gKGFyZ2MgPT0gMTIzNDUpOyAvKiBUaGlz IGlzIHNpbGx5LCBidXQgd2UgY2FuIHN0ZXAgb2ZmIG9mIGl0ICovIC8qIHNldCBicmVha3BvaW50 IDIgaGVyZSAqLworKyAgICByZXR1cm4gYXJnYzsgIC8qIHNldCBicmVha3BvaW50IDEwIGhlcmUg Ki8KKyt9CisrCisrI2lmZGVmIFBST1RPVFlQRVMKKytpbnQgZmFjdG9yaWFsIChpbnQgdmFsdWUp CisrI2Vsc2UKKytpbnQgZmFjdG9yaWFsICh2YWx1ZSkKKytpbnQgdmFsdWU7CisrI2VuZGlmCisr eworKyAgaWYgKHZhbHVlID4gMSkgeyAgLyogc2V0IGJyZWFrcG9pbnQgNyBoZXJlICovCisrCXZh bHVlICo9IGZhY3RvcmlhbCAodmFsdWUgLSAxKTsKKysgICAgfQorKyAgICByZXR1cm4gKHZhbHVl KTsgLyogc2V0IGJyZWFrcG9pbnQgMTkgaGVyZSAqLworK30KKysKKysjaWZkZWYgUFJPVE9UWVBF UworK2ludCBtdWx0aV9saW5lX2lmX2NvbmRpdGlvbmFsIChpbnQgYSwgaW50IGIsIGludCBjKQor KyNlbHNlCisraW50IG11bHRpX2xpbmVfaWZfY29uZGl0aW9uYWwgKGEsIGIsIGMpCisrICBpbnQg YSwgYiwgYzsKKysjZW5kaWYKKyt7CisrICBpZiAoYSAgICAvKiBzZXQgYnJlYWtwb2ludCAzIGhl cmUgKi8KKysgICAgICAmJiBiCisrICAgICAgJiYgYykKKysgICAgcmV0dXJuIDA7CisrICBlbHNl CisrICAgIHJldHVybiAxOworK30KICsKLStyZXR1cm4gMAotSW5kZXg6IGdkYi03LjEwLjkwLjIw MTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9icmVhay5leHAKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4x MC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsuZXhwCTIwMTYtMDItMTUg MjM6Mzc6MTUuMTkxNTYwMDU1ICswMTAwCisrI2lmZGVmIFBST1RPVFlQRVMKKytpbnQgbXVsdGlf bGluZV93aGlsZV9jb25kaXRpb25hbCAoaW50IGEsIGludCBiLCBpbnQgYykKKysjZWxzZQorK2lu dCBtdWx0aV9saW5lX3doaWxlX2NvbmRpdGlvbmFsIChhLCBiLCBjKQorKyAgaW50IGEsIGIsIGM7 CisrI2VuZGlmCisreworKyAgd2hpbGUgKGEgLyogc2V0IGJyZWFrcG9pbnQgNCBoZXJlICovCisr ICAgICAgJiYgYgorKyAgICAgICYmIGMpCisrICAgIHsKKysgICAgICBhLS0sIGItLSwgYy0tOwor KyAgICB9CisrICByZXR1cm4gMDsKKyt9CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu cGllL2JyZWFrLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9icmVhay5leHAKK25ldyBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi45N2I4NzM5N2MyCistLS0gL2Rldi9udWxs CisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsuZXhwCiBAQCAtMCwwICsxLDk1NCBA QAogKyMgICBDb3B5cmlnaHQgMTk4OCwgMTk5MCwgMTk5MSwgMTk5MiwgMTk5NCwgMTk5NSwgMTk5 NiwgMTk5NywgMTk5OCwgMTk5OSwKICsjICAgMjAwMCwgMjAwMiwgMjAwMywgMjAwNApAQCAtMTc4 NiwxMCArMTYxNiw2MSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0 ZS9nZGIucGllL2JyZWFrLmV4cAogKyAgICBzZW5kX2dkYiAic2V0IGFyZ3MgbWFpblxuIgogKyAg ICBnZGJfZXhwZWN0IC1yZSAiLiokZ2RiX3Byb21wdCAkIiB7fQogK30KLUluZGV4OiBnZGItNy4x MC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZWZpbGUuZXhwCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0r KysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2NvcmVmaWxlLmV4 cAkyMDE2LTAyLTE1IDIzOjM3OjE1LjE5MTU2MDA1NSArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvZ2RiLnBpZS9icmVhazEuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9icmVhazEu YworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjJlZDhiMmE0YTAKKy0t LSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9icmVhazEuYworQEAgLTAs MCArMSw0NCBAQAorKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVi dWdnZXIuCisrCisrICAgQ29weXJpZ2h0IDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTksIDIw MDIsIDIwMDMgRnJlZSBTb2Z0d2FyZQorKyAgIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIAor KyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUg dG8gdGhlIEZyZWUgU29mdHdhcmUKKysgICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxh Y2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorKworKyAgIFBsZWFz ZSBlbWFpbCBhbnkgYnVncywgY29tbWVudHMsIGFuZC9vciBhZGRpdGlvbnMgdG8gdGhpcyBmaWxl IHRvOgorKyAgIGJ1Zy1nZGJAcHJlcC5haS5taXQuZWR1ICAqLworKworKy8qIFRoZSBjb2RlIGZv ciB0aGlzIGZpbGUgd2FzIGV4dHJhY3RlZCBmcm9tIHRoZSBnZGIgdGVzdHN1aXRlCisrICAgdGVz dGNhc2UgImJyZWFrLmMiLiAqLworKworKy8qIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGRvIG5v dGhpbmcgdXNlZnVsLiAgVGhleSBhcmUgaW5jbHVkZWQKKysgICBzaW1wbHkgYXMgcGxhY2VzIHRv IHRyeSBzZXR0aW5nIGJyZWFrcG9pbnRzIGF0LiAgVGhleSBhcmUKKysgICBleHBsaWNpdGx5ICJv bmUtbGluZSBmdW5jdGlvbnMiIHRvIHZlcmlmeSB0aGF0IHRoaXMgY2FzZSB3b3JrcworKyAgIChz b21lIHZlcnNpb25zIG9mIGdjYyBoYXZlIG9yIGhhdmUgaGFkIHByb2JsZW1zIHdpdGggdGhpcyku CisrICAKKysgICBUaGVzZSBmdW5jdGlvbnMgYXJlIGluIGEgc2VwYXJhdGUgc291cmNlIGZpbGUg dG8gcHJldmVudCBhbgorKyAgIG9wdGltaXppbmcgY29tcGlsZXIgZnJvbSBpbmxpbmluZyB0aGVt IGFuZCBvcHRpbWl6aW5nIHRoZW0gYXdheS4gKi8KKysKKysjaWZkZWYgUFJPVE9UWVBFUworK2lu dCBtYXJrZXIxICh2b2lkKSB7IHJldHVybiAoMCk7IH0JLyogc2V0IGJyZWFrcG9pbnQgMTUgaGVy ZSAqLworK2ludCBtYXJrZXIyIChpbnQgYSkgeyByZXR1cm4gKDEpOyB9CS8qIHNldCBicmVha3Bv aW50IDggaGVyZSAqLworK3ZvaWQgbWFya2VyMyAoY2hhciAqYSwgY2hhciAqYikge30JLyogc2V0 IGJyZWFrcG9pbnQgMTcgaGVyZSAqLworK3ZvaWQgbWFya2VyNCAobG9uZyBkKSB7fQkJLyogc2V0 IGJyZWFrcG9pbnQgMTQgaGVyZSAqLworKyNlbHNlCisraW50IG1hcmtlcjEgKCkgeyByZXR1cm4g KDApOyB9CQkvKiBzZXQgYnJlYWtwb2ludCAxNiBoZXJlICovCisraW50IG1hcmtlcjIgKGEpIGlu dCBhOyB7IHJldHVybiAoMSk7IH0JLyogc2V0IGJyZWFrcG9pbnQgOSBoZXJlICovCisrdm9pZCBt YXJrZXIzIChhLCBiKSBjaGFyICphLCAqYjsge30JLyogc2V0IGJyZWFrcG9pbnQgMTggaGVyZSAq LworK3ZvaWQgbWFya2VyNCAoZCkgbG9uZyBkOyB7fQkJLyogc2V0IGJyZWFrcG9pbnQgMTMgaGVy ZSAqLworKyNlbmRpZgorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9jb3JlZmls ZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZWZpbGUuZXhwCituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uY2E0YjAxYmUzZQorLS0tIC9kZXYvbnVsbAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2NvcmVmaWxlLmV4cAogQEAgLTAsMCArMSwyMzMgQEAK ICsjIENvcHlyaWdodCAxOTkyLCAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2LCAxOTk3LCAxOTk4LCAx OTk5LCAyMDAwCiArIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTIwMjQsMyAr MTkwNSwxNTQgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2Ri LnBpZS9jb3JlZmlsZS5leHAKICtnZGJfdGVzdCAidXAiICIjXFswLTlcXSogKlxbMC05eGEtZkgn XF0qIGluIC4qIFxcKC4qXFwpLioiICJ1cCBpbiBjb3JlZmlsZS5leHAgKHJlaW5pdCkiCiArCiAr Z2RiX3Rlc3QgImNvcmUiICJObyBjb3JlIGZpbGUgbm93LiIKK2RpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5waWUvY29yZW1ha2VyLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZW1h a2VyLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5hN2ZiZDk0MTQx CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZW1ha2VyLmMK K0BAIC0wLDAgKzEsMTQyIEBACisrLyogQ29weXJpZ2h0IDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUs IDE5OTYsIDE5OTkKKysgICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBU aGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgICBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIg b2YgdGhlIExpY2Vuc2UsIG9yIChhdAorKyAgIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisrICAgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisrICAgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxv bmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUK KysgICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisrICAg Qm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuICAqLworKworKy8qIFNpbXBsZSBsaXR0bGUgcHJv Z3JhbSB0aGF0IGp1c3QgZ2VuZXJhdGVzIGEgY29yZSBkdW1wIGZyb20gaW5zaWRlIHNvbWUKKysg ICBuZXN0ZWQgZnVuY3Rpb24gY2FsbHMuICovCisrCisrI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2lu Y2x1ZGUgPHN5cy90eXBlcy5oPgorKyNpbmNsdWRlIDxmY250bC5oPgorKyNpbmNsdWRlIDxzeXMv bW1hbi5oPgorKyNpbmNsdWRlIDxzaWduYWwuaD4KKysjaW5jbHVkZSA8c3RkbGliLmg+CisrI2lu Y2x1ZGUgPHVuaXN0ZC5oPgorKworKyNpZm5kZWYgX19TVERDX18KKysjZGVmaW5lCWNvbnN0CS8q Ki8KKysjZW5kaWYKKysKKysjZGVmaW5lIE1BUFNJWkUgKDggKiAxMDI0KQorKworKy8qIERvbid0 IG1ha2UgdGhlc2UgYXV0b21hdGljIHZhcnMgb3Igd2Ugd2lsbCBoYXZlIHRvIHdhbGsgYmFjayB1 cCB0aGUKKysgICBzdGFjayB0byBhY2Nlc3MgdGhlbS4gKi8KKysKKytjaGFyICpidWYxOworK2No YXIgKmJ1ZjI7CisrCisraW50IGNvcmVtYWtlcl9kYXRhID0gMTsJLyogSW4gRGF0YSBzZWN0aW9u ICovCisraW50IGNvcmVtYWtlcl9ic3M7CS8qIEluIEJTUyBzZWN0aW9uICovCisrCisrY29uc3Qg aW50IGNvcmVtYWtlcl9ybyA9IDIwMTsJLyogSW4gUmVhZC1Pbmx5IERhdGEgc2VjdGlvbiAqLwor KworKy8qIE5vdGUgdGhhdCBpZiB0aGUgbWFwcGluZyBmYWlscyBmb3IgYW55IHJlYXNvbiwgd2Ug c2V0IGJ1ZjIKKysgICB0byAtMSBhbmQgdGhlIHRlc3RzdWl0ZSBub3RpY2VzIHRoaXMgYW5kIHJl cG9ydHMgaXQgYXMKKysgICBhIGZhaWx1cmUgZHVlIHRvIGEgbWFwcGluZyBlcnJvci4gIFRoaXMg d2F5IHdlIGRvbid0IGhhdmUKKysgICB0byB0ZXN0IGZvciBzcGVjaWZpYyBlcnJvcnMgd2hlbiBy dW5uaW5nIHRoZSBjb3JlIG1ha2VyLiAqLworKworK3ZvaWQKKyttbWFwZGF0YSAoKQorK3sKKysg IGludCBqLCBmZDsKKysKKysgIC8qIEFsbG9jYXRlIGFuZCBpbml0aWFsaXplIGEgYnVmZmVyIHRo YXQgd2lsbCBiZSB1c2VkIHRvIHdyaXRlCisrICAgICB0aGUgZmlsZSB0aGF0IGlzIGxhdGVyIG1h cHBlZCBpbi4gKi8KKysKKysgIGJ1ZjEgPSAoY2hhciAqKSBtYWxsb2MgKE1BUFNJWkUpOworKyAg Zm9yIChqID0gMDsgaiA8IE1BUFNJWkU7ICsraikKKysgICAgeworKyAgICAgIGJ1ZjFbal0gPSBq OworKyAgICB9CisrCisrICAvKiBXcml0ZSB0aGUgZmlsZSB0byBtYXAgaW4gKi8KKysKKysgIGZk ID0gb3BlbiAoImNvcmVtbWFwLmRhdGEiLCBPX0NSRUFUIHwgT19SRFdSLCAwNjY2KTsKKysgIGlm IChmZCA9PSAtMSkKKysgICAgeworKyAgICAgIHBlcnJvciAoImNvcmVtbWFwLmRhdGEgb3BlbiBm YWlsZWQiKTsKKysgICAgICBidWYyID0gKGNoYXIgKikgLTE7CisrICAgICAgcmV0dXJuOworKyAg ICB9CisrICB3cml0ZSAoZmQsIGJ1ZjEsIE1BUFNJWkUpOworKworKyAgLyogTm93IG1hcCB0aGUg ZmlsZSBpbnRvIG91ciBhZGRyZXNzIHNwYWNlIGFzIGJ1ZjIgKi8KKysKKysgIGJ1ZjIgPSAoY2hh ciAqKSBtbWFwICgwLCBNQVBTSVpFLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLCBNQVBfUFJJVkFU RSwgZmQsIDApOworKyAgaWYgKGJ1ZjIgPT0gKGNoYXIgKikgLTEpCisrICAgIHsKKysgICAgICBw ZXJyb3IgKCJtbWFwIGZhaWxlZCIpOworKyAgICAgIHJldHVybjsKKysgICAgfQorKworKyAgLyog VmVyaWZ5IHRoYXQgdGhlIG9yaWdpbmFsIGRhdGEgYW5kIHRoZSBtYXBwZWQgZGF0YSBhcmUgaWRl bnRpY2FsLgorKyAgICAgSWYgbm90LCB3ZSdkIHJhdGhlciBmYWlsIG5vdyB0aGFuIHdoZW4gdHJ5 aW5nIHRvIGFjY2VzcyB0aGUgbWFwcGVkCisrICAgICBkYXRhIGZyb20gdGhlIGNvcmUgZmlsZS4g Ki8KKysKKysgIGZvciAoaiA9IDA7IGogPCBNQVBTSVpFOyArK2opCisrICAgIHsKKysgICAgICBp ZiAoYnVmMVtqXSAhPSBidWYyW2pdKQorKwl7CisrCSAgZnByaW50ZiAoc3RkZXJyLCAibWFwcGVk IGRhdGEgaXMgaW5jb3JyZWN0Iik7CisrCSAgYnVmMiA9IChjaGFyICopIC0xOworKwkgIHJldHVy bjsKKysJfQorKyAgICB9CisrfQorKworK3ZvaWQKKytmdW5jMiAoKQorK3sKKysgIGludCBjb3Jl bWFrZXJfbG9jYWxbNV07CisrICBpbnQgaTsKKysKKysjaWZkZWYgU0FfRlVMTERVTVAKKysgIC8q IEZvcmNlIGEgY29yZWZpbGUgdGhhdCBpbmNsdWRlcyB0aGUgZGF0YSBzZWN0aW9uIGZvciBBSVgu ICAqLworKyAgeworKyAgICBzdHJ1Y3Qgc2lnYWN0aW9uIHNhOworKworKyAgICBzaWdhY3Rpb24g KFNJR0FCUlQsIChzdHJ1Y3Qgc2lnYWN0aW9uICopMCwgJnNhKTsKKysgICAgc2Euc2FfZmxhZ3Mg fD0gU0FfRlVMTERVTVA7CisrICAgIHNpZ2FjdGlvbiAoU0lHQUJSVCwgJnNhLCAoc3RydWN0IHNp Z2FjdGlvbiAqKTApOworKyAgfQorKyNlbmRpZgorKworKyAgLyogTWFrZSBzdXJlIHRoYXQgY29y ZW1ha2VyX2xvY2FsIGRvZXNuJ3QgZ2V0IG9wdGltaXplZCBhd2F5LiAqLworKyAgZm9yIChpID0g MDsgaSA8IDU7IGkrKykKKysgICAgY29yZW1ha2VyX2xvY2FsW2ldID0gaTsKKysgIGNvcmVtYWtl cl9ic3MgPSAwOworKyAgZm9yIChpID0gMDsgaSA8IDU7IGkrKykKKysgICAgY29yZW1ha2VyX2Jz cyArPSBjb3JlbWFrZXJfbG9jYWxbaV07CisrICBjb3JlbWFrZXJfZGF0YSA9IGNvcmVtYWtlcl9y byArIDE7CisrICBhYm9ydCAoKTsKKyt9CisrCisrdm9pZAorK2Z1bmMxICgpCisreworKyAgZnVu YzIgKCk7CisrfQorKworK2ludCBtYWluICgpCisreworKyAgbW1hcGRhdGEgKCk7CisrICBmdW5j MSAoKTsKKysgIHJldHVybiAwOworK30KKysKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9n ZGItNi4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRjaCBiL2dkYi02LjMtdGVzdC1zZWxmLTIwMDUw MTEwLnBhdGNoCmluZGV4IDQ2N2Y4MDQuLjljZmI4OWQgMTAwNjQ0Ci0tLSBhL2dkYi02LjMtdGVz dC1zZWxmLTIwMDUwMTEwLnBhdGNoCisrKyBiL2dkYi02LjMtdGVzdC1zZWxmLTIwMDUwMTEwLnBh dGNoCkBAIC0xLDkgKzEsMTMgQEAKK0Zyb20gN2YzMWI4YzE5NDBjNzNhMmNhODViYzkyNWQ2YjYx YTEwMTE3Y2QyYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEVsZW5hIFphbm5vbmkg PGV6YW5ub25pQHJlZGhhdC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICsw MjAwCiBTdWJqZWN0OiBnZGItNi4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRjaAogCiBGaWxlTmFt ZTogZ2RiLTYuMy10ZXN0LXNlbGYtMjAwNTAxMTAucGF0Y2gKIAorOzsgR2V0IHNlbGZ0ZXN0IHdv cmtpbmcgd2l0aCBzZXAtZGVidWctaW5mbworOzs9ZmVkb3JhdGVzdAorCiAyMDA0LTAyLTIzICBF bGVuYSBaYW5ub25pICA8ZXphbm5vbmlAcmVkaGF0LmNvbT4KIAogICAgICAgICAqIGdkYi5nZGIv c2VsZnRlc3QuZXhwOiBNYWtlIHN1cmUgdGhhdCB0aGUgZGVidWcgZGlyZWN0b3J5IGlzCkBAIC0x MSwxMiArMTUsMTUgQEAgRmlsZU5hbWU6IGdkYi02LjMtdGVzdC1zZWxmLTIwMDUwMTEwLnBhdGNo CiAgICAgICAgICogZ2RiLmdkYi9jb21wbGFpbnRzLmV4cDogRGl0dG8uCiAgICAgICAgICogZ2Ri LmdkYi94ZnVsbHBhdGguZXhwOiBEaXR0by4KICAgICAgICAgKiBnZGIuZ2RiL29ic2VydmVyLmV4 cDogRGl0dG8uCistLS0KKyBnZGIvdGVzdHN1aXRlL2xpYi9zZWxmdGVzdC1zdXBwb3J0LmV4cCB8 IDggKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9u cygtKQogCi1JbmRleDogZ2RiLTcuNi45MC4yMDE0MDEyNy9nZGIvdGVzdHN1aXRlL2xpYi9zZWxm dGVzdC1zdXBwb3J0LmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjYuOTAuMjAxNDAxMjcub3Jp Zy9nZGIvdGVzdHN1aXRlL2xpYi9zZWxmdGVzdC1zdXBwb3J0LmV4cAkyMDE0LTAxLTI3IDIyOjQy OjA0LjAyMjUzNTk2NiArMDEwMAotKysrIGdkYi03LjYuOTAuMjAxNDAxMjcvZ2RiL3Rlc3RzdWl0 ZS9saWIvc2VsZnRlc3Qtc3VwcG9ydC5leHAJMjAxNC0wMS0yNyAyMjo0Mjo0Mi42MzA1NjU2NzUg KzAxMDAKLUBAIC0xMzYsMTggKzEzNiwxOCBAQCBwcm9jIGRvX3NlbGZfdGVzdHMge2Z1bmN0aW9u IGJvZHl9IHsKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9zZWxmdGVzdC1zdXBwb3J0 LmV4cCBiL2dkYi90ZXN0c3VpdGUvbGliL3NlbGZ0ZXN0LXN1cHBvcnQuZXhwCitpbmRleCA3OThk MTlkZDg5Li5lMjZlMDk1YjE3IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvc2VsZnRl c3Qtc3VwcG9ydC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvbGliL3NlbGZ0ZXN0LXN1cHBvcnQu ZXhwCitAQCAtMTU2LDE4ICsxNTYsMTggQEAgcHJvYyBkb19zZWxmX3Rlc3RzIHtmdW5jdGlvbiBi b2R5fSB7CiAgICAgIH0KICAKICAgICAgIyBSZW1vdmUgYW55IG9sZCBjb3B5IGx5aW5nIGFyb3Vu ZC4KQEAgLTM5LDMgKzQ2LDYgQEAgSW5kZXg6IGdkYi03LjYuOTAuMjAxNDAxMjcvZ2RiL3Rlc3Rz dWl0ZS9saWIvc2VsZnRlc3Qtc3VwcG9ydC5leHAKICAKICAgICAgaWYgeyRyZXN1bHQgPCAwfSB0 aGVuIHsKICAJd2FybmluZyAiQ291bGRuJ3QgdGVzdCBzZWxmIgorLS0gCisyLjE0LjMKKwoKZGlm ZiAtLWdpdCBhL2dkYi02LjMtdGhyZWFkZWQtd2F0Y2hwb2ludHMyLTIwMDUwMjI1LnBhdGNoIGIv Z2RiLTYuMy10aHJlYWRlZC13YXRjaHBvaW50czItMjAwNTAyMjUucGF0Y2gKaW5kZXggZTNhYjk5 NS4uMGZmYWFkMyAxMDA2NDQKLS0tIGEvZ2RiLTYuMy10aHJlYWRlZC13YXRjaHBvaW50czItMjAw NTAyMjUucGF0Y2gKKysrIGIvZ2RiLTYuMy10aHJlYWRlZC13YXRjaHBvaW50czItMjAwNTAyMjUu cGF0Y2gKQEAgLTEsOSArMSwxMyBAQAorRnJvbSBhYTJiODY1NjAwNGIyOGY4ZTI3NDk2N2IyZTA3 YjdhYzlkYTQxOTE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSmVmZiBKb2huc3Rv biA8ampvaG5zdG5AcmVkaGF0LmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAg KzAyMDAKIFN1YmplY3Q6IGdkYi02LjMtdGhyZWFkZWQtd2F0Y2hwb2ludHMyLTIwMDUwMjI1LnBh dGNoCiAKIEZpbGVOYW1lOiBnZGItNi4zLXRocmVhZGVkLXdhdGNocG9pbnRzMi0yMDA1MDIyNS5w YXRjaAogCis7OyBUZXN0IHNpYmxpbmcgdGhyZWFkcyB0byBzZXQgdGhyZWFkZWQgd2F0Y2hwb2lu dHMgZm9yIHg4NiBhbmQgeDg2LTY0Cis7Oz1mZWRvcmF0ZXN0CisKIDIwMDUtMDItMjggIEplZmYg Sm9obnN0b24gIDxqam9obnN0bkByZWRoYXQuY29tPgogCiAJKiBjb25maWcvaTM4Ni9ubS1saW51 eC5oOiBDaGFuZ2UgZHIgcmVnaXN0ZXIgcm91dGluZXMgdG8KQEAgLTQ3LDExICs1MSwxOCBAQCBG aWxlTmFtZTogZ2RiLTYuMy10aHJlYWRlZC13YXRjaHBvaW50czItMjAwNTAyMjUucGF0Y2gKICAg dGVzdGNhc2Ugb2YgdGhlIHNhbWUgbmFtZS4gIF0KIAogRklYTUU6IFRoZSB0ZXN0Y2FzZSBkb2Vz IG5vdCBleHBlY3RzIG11bHRpcGxlIHdhdGNocG9pbnRzIGhpdHMgcGVyIG9uZSBzdG9wLgorLS0t CisgZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHRocmVhZHMtdGhyZWFkZWQuYyAgfCAg NjYgKysrKysrKysrKysKKyAuLi4vZ2RiLnRocmVhZHMvd2F0Y2h0aHJlYWRzLXRocmVhZGVkLmV4 cCAgICAgICAgICB8IDEyNiArKysrKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQs IDE5MiBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvd2F0Y2h0aHJlYWRzLXRocmVhZGVkLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Ri L3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHRocmVhZHMtdGhyZWFkZWQuZXhwCiAKLUluZGV4 OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNodGhy ZWFkcy10aHJlYWRlZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6 MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGhyZWFkcy93YXRjaHRocmVhZHMtdGhyZWFkZWQuYwkyMDE2LTAyLTE1IDIzOjM3 OjM5Ljc2NjczNDU0MSArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVh ZHMvd2F0Y2h0aHJlYWRzLXRocmVhZGVkLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dh dGNodGhyZWFkcy10aHJlYWRlZC5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAw MDAwMC4uMTQwMjY0MGNjZgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu dGhyZWFkcy93YXRjaHRocmVhZHMtdGhyZWFkZWQuYwogQEAgLTAsMCArMSw2NiBAQAogKy8qIFRo aXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMTks MTAgKzEzMCwxMSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy93YXRjaHRocmVhZHMtdGhyZWFkZWQuYwogKyAgICBwdGhyZWFkX2V4aXQoTlVM TCk7CiArfQogKwotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvd2F0Y2h0aHJlYWRzLXRocmVhZGVkLmV4cAotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkw LjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2h0aHJlYWRzLXRocmVhZGVk LmV4cAkyMDE2LTAyLTE1IDIzOjQwOjMyLjQ4NDk2MDg1OCArMDEwMAorZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2h0aHJlYWRzLXRocmVhZGVkLmV4cCBiL2dkYi90 ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2h0aHJlYWRzLXRocmVhZGVkLmV4cAorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmU5Y2RkNTk3NzEKKy0tLSAvZGV2L251bGwK KysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2h0aHJlYWRzLXRocmVhZGVkLmV4 cAogQEAgLTAsMCArMSwxMjYgQEAKICsjIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRo ZSBHTlUgZGVidWdnZXIuCiArCkBAIC0yNTAsMyArMjYyLDYgQEAgSW5kZXg6IGdkYi03LjEwLjkw LjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2h0aHJlYWRzLXRocmVhZGVk LmV4cAogK30gZWxzZSB7CiArICBmYWlsICRtZXNzYWdlIAogK30KKy0tIAorMi4xNC4zCisKCmRp ZmYgLS1naXQgYS9nZGItNi41LUJFQS10ZXN0c3VpdGUucGF0Y2ggYi9nZGItNi41LUJFQS10ZXN0 c3VpdGUucGF0Y2gKaW5kZXggZDNhNWFkYS4uYTM5MTYzOSAxMDA2NDQKLS0tIGEvZ2RiLTYuNS1C RUEtdGVzdHN1aXRlLnBhdGNoCisrKyBiL2dkYi02LjUtQkVBLXRlc3RzdWl0ZS5wYXRjaApAQCAt MSwxMyArMSwyOCBAQAorRnJvbSAyYjFmYjllZDE3MDJkNjljODk3YTA1OWY4ZTVmZGJkZWJjZTg1 MzNiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxp bnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAK IFN1YmplY3Q6IGdkYi02LjUtQkVBLXRlc3RzdWl0ZS5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYu NS1CRUEtdGVzdHN1aXRlLnBhdGNoCiAKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIv dGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGNyYXNoLmMKLT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45 MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGNyYXNoLmMJMjAxNi0w Mi0xNSAyMzozNzozOS44ODQ3MzUzNzkgKzAxMDAKKzs7IEltcHJvdmVkIHRlc3RzdWl0ZSByZXN1 bHRzIGJ5IHRoZSB0ZXN0c3VpdGUgcHJvdmlkZWQgYnkgdGhlIGNvdXJ0ZXN5IG9mIEJFQS4KKzs7 PWZlZG9yYXRlc3Q6IEZvciB1cHN0cmVhbSBpdCBzaG91bGQgYmUgcmV3cml0dGVuIGFzIGEgZGVq YWdudSB0ZXN0LCB0aGUgdGVzdCBvZiBubyAiPz8iIHdhcyB1c2VmdWwuCistLS0KKyBnZGIvdGVz dHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGNyYXNoLmMgICAgICAgfCAzMDEgKysrKysrKysrKysr KysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRjcmFzaC5leHAg ICAgIHwgIDM3ICsrKworIGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkY3Jhc2guc2gg ICAgICB8IDMyNCArKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvdGhyZWFkY3Jhc2guc2gtb3JpZyB8IDI0OCArKysrKysrKysrKysrKysrKysrKwor IDQgZmlsZXMgY2hhbmdlZCwgOTEwIGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQg Z2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRjcmFzaC5jCisgY3JlYXRlIG1vZGUgMTAw NjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkY3Jhc2guZXhwCisgY3JlYXRlIG1v ZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkY3Jhc2guc2gKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRjcmFzaC5zaC1v cmlnCisKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGNyYXNo LmMgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGNyYXNoLmMKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi44MGM1OTlkMGZiCistLS0gL2Rldi9udWxsCisr KysgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGNyYXNoLmMKIEBAIC0wLDAgKzEs MzAxIEBACiArLyoKICsgKiBUaGUgcG9pbnQgb2YgdGhpcyBwcm9ncmFtIGlzIHRvIGNyYXNoIGlu IGEgbXVsdGktdGhyZWFkZWQgYXBwLgpAQCAtMzEwLDEwICszMjUsMTEgQEAgSW5kZXg6IGdkYi03 LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkY3Jhc2guYwog KyAgIAogKyAgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIv dGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGNyYXNoLmV4cAotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEw LjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkY3Jhc2guZXhwCTIw MTYtMDItMTUgMjM6Mzg6NTguNDg2MjkzNDU4ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGhyZWFkcy90aHJlYWRjcmFzaC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJl YWRzL3RocmVhZGNyYXNoLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAw MDAuLmFmNmI5MTlmNTgKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvdGhyZWFkY3Jhc2guZXhwCiBAQCAtMCwwICsxLDM3IEBACiArIyB0aHJlYWRjcmFzaC5l eHAgLSBUaGUgcG9pbnQgb2YgdGhpcyBwcm9ncmFtIGlzIHRvIGNyYXNoIGluIGEgbXVsdGktdGhy ZWFkZWQgYXBwLgogKwpAQCAtMzUyLDEwICszNjgsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIw MTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkY3Jhc2guZXhwCiArfQogKwog K3JldHVybiAwCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIu dGhyZWFkcy90aHJlYWRjcmFzaC5zaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dk Yi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkY3Jhc2guc2gJMjAxNi0wMi0xNSAyMzozNzoz OS44ODU3MzUzODYgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRz L3RocmVhZGNyYXNoLnNoIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRjcmFzaC5z aAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjdmN2U2NTIwZDYKKy0t LSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkY3Jhc2gu c2gKIEBAIC0wLDAgKzEsMzI0IEBACiArIyEgL2Jpbi9iYXNoCiArCkBAIC02ODEsMTAgKzY5OCwx MSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFk cy90aHJlYWRjcmFzaC5zaAogK3JtIC1yZiAkV09SS0RJUgogKwogK2V4aXQgJEZBSUxVUkVTCi1J bmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJl YWRjcmFzaC5zaC1vcmlnCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6 MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGhyZWFkcy90aHJlYWRjcmFzaC5zaC1vcmlnCTIwMTYtMDItMTUgMjM6Mzc6Mzku ODg1NzM1Mzg2ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90 aHJlYWRjcmFzaC5zaC1vcmlnIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRjcmFz aC5zaC1vcmlnCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uZWI2MDIw MzZjMgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJl YWRjcmFzaC5zaC1vcmlnCiBAQCAtMCwwICsxLDI0OCBAQAogKyMhIC9iaW4vYmFzaAogKwpAQCAt OTM0LDMgKzk1Miw2IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRl L2dkYi50aHJlYWRzL3RocmVhZGNyYXNoLnNoLW9yaWcKICtybSAtcmYgJFdPUktESVIKICsKICtl eGl0ICRGQUlMVVJFUworLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjUtYnoxMDk5 MjEtRFdfQVRfZGVjbF9maWxlLXRlc3QucGF0Y2ggYi9nZGItNi41LWJ6MTA5OTIxLURXX0FUX2Rl Y2xfZmlsZS10ZXN0LnBhdGNoCmluZGV4IGIyMGQzYzUuLmI0MzkzYmUgMTAwNjQ0Ci0tLSBhL2dk Yi02LjUtYnoxMDk5MjEtRFdfQVRfZGVjbF9maWxlLXRlc3QucGF0Y2gKKysrIGIvZ2RiLTYuNS1i ejEwOTkyMS1EV19BVF9kZWNsX2ZpbGUtdGVzdC5wYXRjaApAQCAtMSw5ICsxLDEyIEBACitGcm9t IGQzZmNmODJhNjJkODIwZjI1YjQyMzk4YTRmNjYyM2M3YWQ3ZWE0ZDEgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCiBGcm9tOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02 LjUtYnoxMDk5MjEtRFdfQVRfZGVjbF9maWxlLXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02 LjUtYnoxMDk5MjEtRFdfQVRfZGVjbF9maWxlLXRlc3QucGF0Y2gKIAorOzsgRmluZCBzeW1ib2xz IHByb3Blcmx5IGF0IHRoZWlyIG9yaWdpbmFsIChpbmNsdWRlZCkgZmlsZSAoQlogMTA5OTIxKS4K Kzs7PWZlZG9yYXRlc3QKIAogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhL3No b3dfYnVnLmNnaT9pZD0xMDk5MjEKIApAQCAtMjIsMTEgKzI1LDIwIEBAIGh0dHA6Ly9zb3VyY2V3 YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDA3LTAxL21zZzAwNDM0Lmh0bWwKIAogCSogZ2RiLmR3 YXJmMi9kdzItaW5jbHVkZWQuZXhwLCBnZGIuZHdhcmYyL2R3Mi1pbmNsdWRlZC5jLAogCWdkYi5k d2FyZjIvZHcyLWluY2x1ZGVkLmg6IE5ldyBmaWxlcy4KKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2Ri LmR3YXJmMi9kdzItaW5jbHVkZWQuYyAgIHwgMjYgKysrKysrKysrKysrKysrKysKKyBnZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvZHcyLWluY2x1ZGVkLmV4cCB8IDQ3ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWluY2x1ZGVkLmgg ICB8IDIwICsrKysrKysrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDkzIGluc2VydGlvbnMoKykK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1pbmNsdWRl ZC5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItaW5j bHVkZWQuZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9k dzItaW5jbHVkZWQuaAogCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZHdhcmYyL2R3Mi1pbmNsdWRlZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5 NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAy MTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1pbmNsdWRlZC5jCTIwMTYtMDItMTYgMDk6 NTI6MjkuODYxMjQ3NTM0ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdh cmYyL2R3Mi1pbmNsdWRlZC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1pbmNsdWRl ZC5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMjhlNTRmYjkzMgor LS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1pbmNsdWRl ZC5jCiBAQCAtMCwwICsxLDI2IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwg dGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTU0LDEwICs2NiwxMSBAQCBJbmRleDogZ2RiLTcuMTAu OTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1pbmNsdWRlZC5jCiArewog KyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3Vp dGUvZ2RiLmR3YXJmMi9kdzItaW5jbHVkZWQuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAx NjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1pbmNsdWRlZC5leHAJMjAxNi0wMi0x NiAwOTo1MjozNi40ODEyOTIzMzAgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHcyLWluY2x1ZGVkLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzIt aW5jbHVkZWQuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uOWFh ZjhlOTc3MgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3 Mi1pbmNsdWRlZC5leHAKIEBAIC0wLDAgKzEsNDcgQEAKICsjIENvcHlyaWdodCAyMDA2IEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTA2LDEwICsxMTksMTEgQEAgSW5kZXg6 IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItaW5jbHVk ZWQuZXhwCiArZ2RiX3Rlc3QgInB0eXBlIGludGVnZXIiICJ0eXBlID0gaW50XHIiCiArIyBQYXRo IHZhcmllcyBkZXBlbmRpbmcgb24gdGhlIGJ1aWxkIGxvY2F0aW9uLgogK2dkYl90ZXN0ICJpbmZv IHZhcmlhYmxlcyBpbnRlZ2VyIiAiXHJcbkZpbGUgXFteXHJcblxdKi9nZGIuZHdhcmYyL2R3Mi1p bmNsdWRlZC5oOlxyXG5pbnQgaW50ZWdlcjtcciIKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIx MS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWluY2x1ZGVkLmgKLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGIt Ny4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWluY2x1ZGVkLmgJ MjAxNi0wMi0xNiAwOTo1MjoyOS44NjIyNDc1NDEgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvZHcyLWluY2x1ZGVkLmggYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2Fy ZjIvZHcyLWluY2x1ZGVkLmgKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAw Li5mMzEzNDhhYjRmCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2Fy ZjIvZHcyLWluY2x1ZGVkLmgKIEBAIC0wLDAgKzEsMjAgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlz IHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTMxLDMgKzE0NSw2IEBAIElu ZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWlu Y2x1ZGVkLmgKICsgICBVU0EuICAqLwogKwogK2ludCBpbnRlZ2VyOworLS0gCisyLjE0LjMKKwoK ZGlmZiAtLWdpdCBhL2dkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMtd2l0aG91dC1kZWJ1Z2lu Zm8tdjIucGF0Y2ggYi9nZGItNi41LWJ6MTg1MzM3LXJlc29sdmUtdGxzLXdpdGhvdXQtZGVidWdp bmZvLXYyLnBhdGNoCmluZGV4IDFkZmFlZDEuLmRmNmFmODYgMTAwNjQ0Ci0tLSBhL2dkYi02LjUt YnoxODUzMzctcmVzb2x2ZS10bHMtd2l0aG91dC1kZWJ1Z2luZm8tdjIucGF0Y2gKKysrIGIvZ2Ri LTYuNS1iejE4NTMzNy1yZXNvbHZlLXRscy13aXRob3V0LWRlYnVnaW5mby12Mi5wYXRjaApAQCAt MSw5ICsxLDEzIEBACitGcm9tIDU5OWJlNTg3YmI1ZWVkOGE4YzM5MDhmNTJkNzVjMWU5MzU0M2Vl NWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKYW4gS3JhdG9jaHZpbCA8amFuLmty YXRvY2h2aWxAcmVkaGF0LmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAy MDAKIFN1YmplY3Q6IGdkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMtd2l0aG91dC1kZWJ1Z2lu Zm8tdjIucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMtd2l0 aG91dC1kZWJ1Z2luZm8tdjIucGF0Y2gKIAorOzsgU3VwcG9ydCBUTFMgc3ltYm9scyAoK2BlcnJu bycgc3VnZ2VzdGlvbiBpZiBubyBwdGhyZWFkIGlzIGZvdW5kKSAoQlogMTg1MzM3KS4KKzs7PXB1 c2gramFuOiBJdCBzaG91bGQgYmUgcmVwbGFjZWQgYnkgSW5maW5pdHkgcHJvamVjdC4KKwogaHR0 cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xODUzMzcK IAogMjAwOC0wMi0yNCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29t PgpAQCAtMzAsNyArMzQsNiBAQCBjYWxsIGludmFsaWRhdGVzIGBzdHJ1Y3QgZnJhbWUgKicgaW4g dGhlIGNhbGxlcnMgLSBSSCBCWiA2OTA5MDguCiAKIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNv bS9zaG93X2J1Zy5jZ2k/aWQ9MTE2NjU0OQogCi0KIDIwMDctMTEtMDMgIEphbiBLcmF0b2Nodmls ICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIAogCSogLi9nZGIvZHdhcmYycmVhZC5jIChy ZWFkX3BhcnRpYWxfZGllLCBkd2FyZjJfbGlua2FnZV9uYW1lKTogUHJlZmVyCkBAIC0zOSwxMiAr NDIsMjMgQEAgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMTY2 NTQ5CiBnbGliYy1kZWJ1Z2luZm8tMi43LTIueDg2XzY0OiAvdXNyL2xpYi9kZWJ1Zy9saWI2NC9s aWJjLnNvLjYuZGVidWc6CiAgIDw4MWEyPiAgICAgRFdfQVRfbmFtZSAgICAgICAgOiAoaW5kaXJl Y3Qgc3RyaW5nLCBvZmZzZXQ6IDB4MjgwZSk6IF9fZXJybm9fbG9jYXRpb24KICAgPDgxYTg+ICAg ICBEV19BVF9NSVBTX2xpbmthZ2VfbmFtZTogKGluZGlyZWN0IHN0cmluZywgb2Zmc2V0OiAweDI4 MDgpOiAqX19HSV9fX2Vycm5vX2xvY2F0aW9uCistLS0KKyBnZGIvcHJpbnRjbWQuYyAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgNCArKworIGdkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzIt ZXJybm8uYyAgICB8IDI4ICsrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIv ZHcyLWVycm5vLmV4cCAgfCA2MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rl c3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1lcnJubzIuYyAgIHwgMjggKysrKysrKysrKysrKworIGdk Yi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJybm8yLmV4cCB8IDcxICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKworIDUgZmlsZXMgY2hhbmdlZCwgMTkxIGluc2VydGlvbnMoKykK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1lcnJuby5j CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJybm8u ZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJy bm8yLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1l cnJubzIuZXhwCiAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcHJpbnRjbWQuYwot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3ByaW50Y21kLmMJ MjAxNy0wMi0wNyAyMTowNjoyMC4xOTY1OTM4ODQgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3 MDIwNy9nZGIvcHJpbnRjbWQuYwkyMDE3LTAyLTA3IDIxOjA3OjEwLjIzMDk3MzkwNiArMDEwMAot QEAgLTEyNTgsNiArMTI1OCwxMCBAQAorZGlmZiAtLWdpdCBhL2dkYi9wcmludGNtZC5jIGIvZ2Ri L3ByaW50Y21kLmMKK2luZGV4IDIwZTViZGExMWUuLjM4NjQyNjQxYjkgMTAwNjQ0CistLS0gYS9n ZGIvcHJpbnRjbWQuYworKysrIGIvZ2RiL3ByaW50Y21kLmMKK0BAIC0xMjEwLDYgKzEyMTAsMTAg QEAgcHJpbnRfY29tbWFuZF8xIChjb25zdCBjaGFyICpleHAsIGludCB2b2lkcHJpbnQpCiAgCiAg ICBpZiAoZXhwICYmICpleHApCiAgICAgIHsKQEAgLTU1LDEwICs2OSwxMSBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3ByaW50Y21kLmMKICAgICAgICBleHByZXNzaW9uX3VwIGV4 cHIgPSBwYXJzZV9leHByZXNzaW9uIChleHApOwogICAgICAgIHZhbCA9IGV2YWx1YXRlX2V4cHJl c3Npb24gKGV4cHIuZ2V0ICgpKTsKICAgICAgfQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJybm8uYwotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJybm8uYwkyMDE3LTAy LTA3IDIxOjA2OjIwLjE5NjU5Mzg4NCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9kdzItZXJybm8uYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJy bm8uYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjdiZDEwZDA5NzgK Ky0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJybm8u YwogQEAgLTAsMCArMSwyOCBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRo ZSBHTlUgZGVidWdnZXIuCiArCkBAIC04OCwxMCArMTAzLDExIEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vLmMKICsKICsgIHJl dHVybiAwOwkvKiBicmVha3BvaW50ICovCiArfQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJybm8uZXhwCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu MTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1lcnJuby5leHAJMjAx Ny0wMi0wNyAyMTowNjoyMC4xOTY1OTM4ODQgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9k dzItZXJybm8uZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMWYx M2NjMTMyMworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3 Mi1lcnJuby5leHAKIEBAIC0wLDAgKzEsNjAgQEAKICsjIENvcHlyaWdodCAyMDA3IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTUzLDEwICsxNjksMTEgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJybm8uZXhw CiArCiArIyBUT0RPOiBUZXN0IHRoZSBlcnJvciBvbiByZXNvbHZpbmcgRVJSTk8gd2l0aCBvbmx5 IGxpYmMgbG9hZGVkLgogKyMgSnVzdCBob3cgdG8gZmluZCB0aGUgY3VycmVudCBsaWJjIGZpbGVu YW1lPwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJm Mi9kdzItZXJybm8yLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1 aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vMi5jCTIwMTctMDItMDcgMjE6MDY6MjAuMTk2NTkzODg0 ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1lcnJubzIu YyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJybm8yLmMKK25ldyBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi43YmQxMGQwOTc4CistLS0gL2Rldi9udWxsCisrKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vMi5jCiBAQCAtMCwwICsxLDI4IEBA CiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsK QEAgLTE4NiwxMCArMjAzLDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vMi5jCiArCiArICByZXR1cm4gMDsJLyogYnJlYWtw b2ludCAqLwogK30KLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHcyLWVycm5vMi5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vMi5leHAJMjAxNy0wMi0wNyAyMTowNjoy MC4xOTc1OTM4OTIgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIv ZHcyLWVycm5vMi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vMi5leHAK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4wZjZlNjY4NzBiCistLS0g L2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vMi5leHAK IEBAIC0wLDAgKzEsNzEgQEAKICsjIENvcHlyaWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKwpAQCAtMjMxLDcgKzI0OSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vMi5leHAKICsgICAgaWYgJGRv X3hmYWlsIHsKICsJc2V0dXBfeGZhaWwgIiotKi0qIgogKyAgICB9Ci0rICAgIGdkYl90ZXN0ICJw cmludCBlcnJubyIgIi4qID0gNDIiICJwcmludCBlcnJubyBmb3IgY29yZSIKKysgICAgZ2RiX3Rl c3QgInByaW50IChpbnQpIGVycm5vIiAiLiogPSA0MiIgInByaW50IGVycm5vIGZvciBjb3JlIgog K319CiArCiArc2V0IHZhcmlhbnQgZzJ0aHJOCkBAIC0yNjIsMyArMjgwLDYgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJybm8yLmV4 cAogKwogKyMgVE9ETzogVGVzdCB0aGUgZXJyb3Igb24gcmVzb2x2aW5nIEVSUk5PIHdpdGggb25s eSBsaWJjIGxvYWRlZC4KICsjIEp1c3QgaG93IHRvIGZpbmQgdGhlIGN1cnJlbnQgbGliYyBmaWxl bmFtZT8KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi41LWJ6MjAzNjYxLWVtaXQt cmVsb2NzLnBhdGNoIGIvZ2RiLTYuNS1iejIwMzY2MS1lbWl0LXJlbG9jcy5wYXRjaAppbmRleCBk ZWYwODFhLi4xYzgxNjk4IDEwMDY0NAotLS0gYS9nZGItNi41LWJ6MjAzNjYxLWVtaXQtcmVsb2Nz LnBhdGNoCisrKyBiL2dkYi02LjUtYnoyMDM2NjEtZW1pdC1yZWxvY3MucGF0Y2gKQEAgLTEsMTQg KzEsMjEgQEAKK0Zyb20gZTQxMTBkNDBiODBiZjM3NTk1YzlmMTg5YWY3M2Q2ZGVkYjExMzI1OSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxp ZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJq ZWN0OiBnZGItNi41LWJ6MjAzNjYxLWVtaXQtcmVsb2NzLnBhdGNoCiAKIEZpbGVOYW1lOiBnZGIt Ni41LWJ6MjAzNjYxLWVtaXQtcmVsb2NzLnBhdGNoCiAKLUluZGV4OiBnZGItNy40LjUwLjIwMTIw NjAyL2dkYi9zeW1maWxlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIwNjAyLm9y aWcvZ2RiL3N5bWZpbGUuYwkyMDEyLTA2LTAyIDE4OjI1OjIwLjAwMDAwMDAwMCArMDIwMAotKysr IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL3N5bWZpbGUuYwkyMDEyLTA2LTAyIDE4OjI2OjM2LjE0 NTIzMjA1NyArMDIwMAotQEAgLTM2MzAsNiArMzYzMCwxMiBAQCBkZWZhdWx0X3N5bWZpbGVfcmVs b2NhdGUgKHN0cnVjdCBvYmpmaWxlCis7OyBGaXggZGVidWdpbmZvIGFkZHJlc3NlcyByZXNvbHZp bmcgZm9yIC0tZW1pdC1yZWxvY3MgTGludXgga2VybmVscyAoQlogMjAzNjYxKS4KKzs7PXB1c2gr amFuOiBUaGVyZSB3YXMgc29tZSBtYWlsIHRocmVhZCBhYm91dCBpdCwgdGhpcyBwYXRjaCBtYXkg YmUgYSBoYWNrLgorLS0tCisgZ2RiL3N5bWZpbGUuYyB8IDYgKysrKysrCisgMSBmaWxlIGNoYW5n ZWQsIDYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZ2RiL3N5bWZpbGUuYyBiL2dkYi9z eW1maWxlLmMKK2luZGV4IDhmNDVkNDVkODUuLjM3YTMxOTUwYTIgMTAwNjQ0CistLS0gYS9nZGIv c3ltZmlsZS5jCisrKysgYi9nZGIvc3ltZmlsZS5jCitAQCAtMzYzNCw2ICszNjM0LDEyIEBAIGRl ZmF1bHRfc3ltZmlsZV9yZWxvY2F0ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGFzZWN0aW9u ICpzZWN0cCwKICAgICAgIERXTyBmaWxlLiAgKi8KICAgIGJmZCAqYWJmZCA9IHNlY3RwLT5vd25l cjsKICAKQEAgLTIxLDMgKzI4LDYgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL3N5 bWZpbGUuYwogICAgLyogV2UncmUgb25seSBpbnRlcmVzdGVkIGluIHNlY3Rpb25zIHdpdGggcmVs b2NhdGlvbgogICAgICAgaW5mb3JtYXRpb24uICAqLwogICAgaWYgKChzZWN0cC0+ZmxhZ3MgJiBT RUNfUkVMT0MpID09IDApCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNS1iejIx NjcxMS1jbG9uZS1pcy1vdXRlcm1vc3QucGF0Y2ggYi9nZGItNi41LWJ6MjE2NzExLWNsb25lLWlz LW91dGVybW9zdC5wYXRjaAppbmRleCBjYzYzZjZlLi5hZGNlZjIwIDEwMDY0NAotLS0gYS9nZGIt Ni41LWJ6MjE2NzExLWNsb25lLWlzLW91dGVybW9zdC5wYXRjaAorKysgYi9nZGItNi41LWJ6MjE2 NzExLWNsb25lLWlzLW91dGVybW9zdC5wYXRjaApAQCAtMSw5ICsxLDEyIEBACitGcm9tIGMwZjc1 ODQzYWM3YjMxMWJjOGUwZmFlZjFkN2QzZDVlMmU1NDlkZjMgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCiBGcm9tOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIERh dGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjUtYnoy MTY3MTEtY2xvbmUtaXMtb3V0ZXJtb3N0LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi41LWJ6MjE2 NzExLWNsb25lLWlzLW91dGVybW9zdC5wYXRjaAogCis7OyBGaXggYm9ndXMgMHgwIHVud2luZCBv ZiB0aGUgdGhyZWFkJ3MgdG9wbW9zdCBmdW5jdGlvbiBjbG9uZSgzKSAoQlogMjE2NzExKS4KKzs7 PWZlZG9yYQogCiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vYnVnemlsbGEvc2hvd19idWcu Y2dpP2lkPTIxNjcxMQogCkBAIC0yOSwxMiArMzIsMjIgQEAgaW5zdGVhZC4KIDIwMDctMTAtMTYg IEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIAogCVBvcnQgdG8g R0RCLTYuNy4KKy0tLQorIGdkYi9hbWQ2NC1saW51eC10ZGVwLmMgICAgICAgICAgICAgICAgICAg ICAgfCA3NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi9hbWQ2NC10ZGVwLmMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKworIGdkYi9pMzg2LXRkZXAuYyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKworIGdkYi9pMzg2LXRkZXAuaCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKworIGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVh ZHMvYnQtY2xvbmUtc3RvcC5jICAgfCAzOSArKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRl L2dkYi50aHJlYWRzL2J0LWNsb25lLXN0b3AuZXhwIHwgNjEgKysrKysrKysrKysrKysrKysrKysr KysKKyA2IGZpbGVzIGNoYW5nZWQsIDE5MyBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAw NjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYnQtY2xvbmUtc3RvcC5jCisgY3JlYXRlIG1v ZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYnQtY2xvbmUtc3RvcC5leHAKIAot SW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi9hbWQ2NC1saW51eC10ZGVwLmMKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4xMC45MC4yMDE2MDIxMS5vcmlnL2dkYi9hbWQ2NC1saW51eC10ZGVw LmMJMjAxNi0wMi0xNSAyMzozNzowNi45MzY1MDE0NDMgKzAxMDAKLSsrKyBnZGItNy4xMC45MC4y MDE2MDIxMS9nZGIvYW1kNjQtbGludXgtdGRlcC5jCTIwMTYtMDItMTUgMjM6Mzc6MzkuOTI4NzM1 NjkxICswMTAwCi1AQCAtMjkyLDYgKzI5Miw4MCBAQAorZGlmZiAtLWdpdCBhL2dkYi9hbWQ2NC1s aW51eC10ZGVwLmMgYi9nZGIvYW1kNjQtbGludXgtdGRlcC5jCitpbmRleCA4N2YwOWE0NTQyLi4y YTcwNWVhNDFhIDEwMDY0NAorLS0tIGEvZ2RiL2FtZDY0LWxpbnV4LXRkZXAuYworKysrIGIvZ2Ri L2FtZDY0LWxpbnV4LXRkZXAuYworQEAgLTI5MSw2ICsyOTEsODAgQEAgYW1kNjRfbGludXhfcmVn aXN0ZXJfcmVnZ3JvdXBfcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIGludCByZWdudW0sCiAg CiAgLyogU2V0IHRoZSBwcm9ncmFtIGNvdW50ZXIgZm9yIHByb2Nlc3MgUFRJRCB0byBQQy4gICov CiAgCkBAIC0xMTUsNyArMTI4LDcgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi9h bWQ2NC1saW51eC10ZGVwLmMKICBzdGF0aWMgdm9pZAogIGFtZDY0X2xpbnV4X3dyaXRlX3BjIChz dHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBDT1JFX0FERFIgcGMpCiAgewotQEAgLTE4MDAsNiAr MTg3NCw4IEBACitAQCAtMTgwMiw2ICsxODc2LDggQEAgYW1kNjRfbGludXhfaW5pdF9hYmlfY29t bW9uKHN0cnVjdCBnZGJhcmNoX2luZm8gaW5mbywgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gpCiAg CiAgICB0ZGVwLT54c2F2ZV94Y3IwX29mZnNldCA9IEkzODZfTElOVVhfWFNBVkVfWENSMF9PRkZT RVQ7CiAgCkBAIC0xMjQsMTEgKzEzNywxMSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEv Z2RiL2FtZDY0LWxpbnV4LXRkZXAuYwogICAgLyogQWRkIHRoZSAlb3JpZ19yYXggcmVnaXN0ZXIg dXNlZCBmb3Igc3lzY2FsbCByZXN0YXJ0aW5nLiAgKi8KICAgIHNldF9nZGJhcmNoX3dyaXRlX3Bj IChnZGJhcmNoLCBhbWQ2NF9saW51eF93cml0ZV9wYyk7CiAgCi1JbmRleDogZ2RiLTcuMTAuOTAu MjAxNjAyMTEvZ2RiL2FtZDY0LXRkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjkwLjIw MTYwMjExLm9yaWcvZ2RiL2FtZDY0LXRkZXAuYwkyMDE2LTAyLTE1IDIzOjM3OjA2LjkzNjUwMTQ0 MyArMDEwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi9hbWQ2NC10ZGVwLmMJMjAxNi0w Mi0xNSAyMzozNzozOS45Mjk3MzU2OTggKzAxMDAKLUBAIC0yNDk0LDYgKzI0OTQsNyBAQAorZGlm ZiAtLWdpdCBhL2dkYi9hbWQ2NC10ZGVwLmMgYi9nZGIvYW1kNjQtdGRlcC5jCitpbmRleCBiY2Qz N2VmMDQ4Li44MWZiZTUyNzk1IDEwMDY0NAorLS0tIGEvZ2RiL2FtZDY0LXRkZXAuYworKysrIGIv Z2RiL2FtZDY0LXRkZXAuYworQEAgLTI1NTUsNiArMjU1NSw3IEBAIGFtZDY0X2ZyYW1lX3Vud2lu ZF9zdG9wX3JlYXNvbiAoc3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUsCiAgewogICAgc3Ry dWN0IGFtZDY0X2ZyYW1lX2NhY2hlICpjYWNoZSA9CiAgICAgIGFtZDY0X2ZyYW1lX2NhY2hlICh0 aGlzX2ZyYW1lLCB0aGlzX2NhY2hlKTsKQEAgLTEzNiw3ICsxNDksNyBAQCBJbmRleDogZ2RiLTcu MTAuOTAuMjAxNjAyMTEvZ2RiL2FtZDY0LXRkZXAuYwogIAogICAgaWYgKCFjYWNoZS0+YmFzZV9w KQogICAgICByZXR1cm4gVU5XSU5EX1VOQVZBSUxBQkxFOwotQEAgLTI1MDIsNiArMjUwMywxMCBA QAorQEAgLTI1NjMsNiArMjU2NCwxMCBAQCBhbWQ2NF9mcmFtZV91bndpbmRfc3RvcF9yZWFzb24g KHN0cnVjdCBmcmFtZV9pbmZvICp0aGlzX2ZyYW1lLAogICAgaWYgKGNhY2hlLT5iYXNlID09IDAp CiAgICAgIHJldHVybiBVTldJTkRfT1VURVJNT1NUOwogIApAQCAtMTQ3LDcgKzE2MCw3IEBAIElu ZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvYW1kNjQtdGRlcC5jCiAgICByZXR1cm4gVU5X SU5EX05PX1JFQVNPTjsKICB9CiAgCi1AQCAtMjYzNiw2ICsyNjQxLDcgQEAKK0BAIC0yNjk3LDYg KzI3MDIsNyBAQCBhbWQ2NF9zaWd0cmFtcF9mcmFtZV90aGlzX2lkIChzdHJ1Y3QgZnJhbWVfaW5m byAqdGhpc19mcmFtZSwKICB7CiAgICBzdHJ1Y3QgYW1kNjRfZnJhbWVfY2FjaGUgKmNhY2hlID0K ICAgICAgYW1kNjRfc2lndHJhbXBfZnJhbWVfY2FjaGUgKHRoaXNfZnJhbWUsIHRoaXNfY2FjaGUp OwpAQCAtMTU1LDcgKzE2OCw3IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvYW1k NjQtdGRlcC5jCiAgCiAgICBpZiAoIWNhY2hlLT5iYXNlX3ApCiAgICAgICgqdGhpc19pZCkgPSBm cmFtZV9pZF9idWlsZF91bmF2YWlsYWJsZV9zdGFjayAoZ2V0X2ZyYW1lX3BjICh0aGlzX2ZyYW1l KSk7Ci1AQCAtMjY0NCw2ICsyNjUwLDExIEBACitAQCAtMjcwNSw2ICsyNzExLDExIEBAIGFtZDY0 X3NpZ3RyYW1wX2ZyYW1lX3RoaXNfaWQgKHN0cnVjdCBmcmFtZV9pbmZvICp0aGlzX2ZyYW1lLAog ICAgICAgIC8qIFRoaXMgbWFya3MgdGhlIG91dGVybW9zdCBmcmFtZS4gICovCiAgICAgICAgcmV0 dXJuOwogICAgICB9CkBAIC0xNjcsMTEgKzE4MCwxMSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAx NjAyMTEvZ2RiL2FtZDY0LXRkZXAuYwogICAgZWxzZQogICAgICAoKnRoaXNfaWQpID0gZnJhbWVf aWRfYnVpbGQgKGNhY2hlLT5iYXNlICsgMTYsIGdldF9mcmFtZV9wYyAodGhpc19mcmFtZSkpOwog IH0KLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvaTM4Ni10ZGVwLmMKLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMC45MC4yMDE2MDIxMS5vcmlnL2dkYi9pMzg2LXRkZXAuYwkyMDE2LTAy LTE1IDIzOjM3OjA2LjkzNjUwMTQ0MyArMDEwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dk Yi9pMzg2LXRkZXAuYwkyMDE2LTAyLTE1IDIzOjM3OjM5LjkzMTczNTcxMyArMDEwMAotQEAgLTgz MDUsNiArODMwNSw5IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2kzODYtdGRlcC5jIGIvZ2RiL2kzODYt dGRlcC5jCitpbmRleCA4MTA0ODA4MWFkLi4yOTBiMWM4MzY4IDEwMDY0NAorLS0tIGEvZ2RiL2kz ODYtdGRlcC5jCisrKysgYi9nZGIvaTM4Ni10ZGVwLmMKK0BAIC04NDAxLDYgKzg0MDEsOSBAQCBp Mzg2X2dkYmFyY2hfaW5pdCAoc3RydWN0IGdkYmFyY2hfaW5mbyBpbmZvLCBzdHJ1Y3QgZ2RiYXJj aF9saXN0ICphcmNoZXMpCiAgCiAgICB0ZGVwLT54c2F2ZV94Y3IwX29mZnNldCA9IC0xOwogIApA QCAtMTgxLDExICsxOTQsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi9pMzg2 LXRkZXAuYwogICAgdGRlcC0+cmVjb3JkX3JlZ21hcCA9IGkzODZfcmVjb3JkX3JlZ21hcDsKICAK ICAgIHNldF9nZGJhcmNoX2xvbmdfbG9uZ19hbGlnbl9iaXQgKGdkYmFyY2gsIDMyKTsKLUluZGV4 OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvaTM4Ni10ZGVwLmgKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy4xMC45MC4yMDE2MDIxMS5vcmlnL2dkYi9pMzg2LXRkZXAuaAkyMDE2LTAyLTE1IDIzOjM3 OjA2LjkzNjUwMTQ0MyArMDEwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi9pMzg2LXRk ZXAuaAkyMDE2LTAyLTE1IDIzOjM3OjM5LjkzMjczNTcyMCArMDEwMAotQEAgLTI0MCw2ICsyNDAs OSBAQAorZGlmZiAtLWdpdCBhL2dkYi9pMzg2LXRkZXAuaCBiL2dkYi9pMzg2LXRkZXAuaAoraW5k ZXggZjE5MGJiMzAwMi4uNmZiNDVjYTU5YyAxMDA2NDQKKy0tLSBhL2dkYi9pMzg2LXRkZXAuaAor KysrIGIvZ2RiL2kzODYtdGRlcC5oCitAQCAtMjUxLDYgKzI1MSw5IEBAIHN0cnVjdCBnZGJhcmNo X3RkZXAKICAKICAgIC8qIFJlZ3NldHMuICovCiAgICBjb25zdCBzdHJ1Y3QgcmVnc2V0ICpmcHJl Z3NldDsKQEAgLTE5NSwxMCArMjA4LDExIEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9n ZGIvaTM4Ni10ZGVwLmgKICB9OwogIAogIC8qIEZsb2F0aW5nLXBvaW50IHJlZ2lzdGVycy4gICov Ci1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9i dC1jbG9uZS1zdG9wLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1 aXRlL2dkYi50aHJlYWRzL2J0LWNsb25lLXN0b3AuYwkyMDE2LTAyLTE1IDIzOjM3OjM5LjkzMjcz NTcyMCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYnQtY2xv bmUtc3RvcC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9idC1jbG9uZS1zdG9wLmMKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4yYWM5M2Y4NjY0CistLS0gL2Rl di9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2J0LWNsb25lLXN0b3AuYwog QEAgLTAsMCArMSwzOSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBH TlUgZGVidWdnZXIuCiArCkBAIC0yMzksMTAgKzI1MywxMSBAQCBJbmRleDogZ2RiLTcuMTAuOTAu MjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9idC1jbG9uZS1zdG9wLmMKICsJZm9y ICg7OykKICsJCXBhdXNlKCk7CiArfQotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90 ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYnQtY2xvbmUtc3RvcC5leHAKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4x MC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2J0LWNsb25lLXN0b3AuZXhw CTIwMTYtMDItMTUgMjM6Mzc6NTYuMTk3ODUxMjA0ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIudGhyZWFkcy9idC1jbG9uZS1zdG9wLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvYnQtY2xvbmUtc3RvcC5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAw MDAwMDAwMDAwLi4wMjcyOGUwNWI5CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRl L2dkYi50aHJlYWRzL2J0LWNsb25lLXN0b3AuZXhwCiBAQCAtMCwwICsxLDYxIEBACiArIyBDb3B5 cmlnaHQgMjAwNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTMwNSwzICsz MjAsNiBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhy ZWFkcy9idC1jbG9uZS1zdG9wLmV4cAogKyAgICAJcGFzcyAiMHgwIGVudHJ5IG5vdCBmb3VuZCIK ICsgICAgfQogK30KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi41LWJ6MjE4Mzc5 LXBwYy1zb2xpYi10cmFtcG9saW5lLXRlc3QucGF0Y2ggYi9nZGItNi41LWJ6MjE4Mzc5LXBwYy1z b2xpYi10cmFtcG9saW5lLXRlc3QucGF0Y2gKaW5kZXggOWU3ODE0Ni4uZDA1NGE4NSAxMDA2NDQK LS0tIGEvZ2RiLTYuNS1iejIxODM3OS1wcGMtc29saWItdHJhbXBvbGluZS10ZXN0LnBhdGNoCisr KyBiL2dkYi02LjUtYnoyMTgzNzktcHBjLXNvbGliLXRyYW1wb2xpbmUtdGVzdC5wYXRjaApAQCAt MSwxNyArMSw2MCBAQAorRnJvbSA1YzBhZTAwM2U0NDEyZjI1YmZhZmE1YWIwMDczODUyYmI2YzI5 NWJhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxp bnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAK IFN1YmplY3Q6IGdkYi02LjUtYnoyMTgzNzktcHBjLXNvbGliLXRyYW1wb2xpbmUtdGVzdC5wYXRj aAogCiBGaWxlTmFtZTogZ2RiLTYuNS1iejIxODM3OS1wcGMtc29saWItdHJhbXBvbGluZS10ZXN0 LnBhdGNoCiAKKzs7IFRlc3Qgc2lkZWVmZmVjdHMgb2Ygc2tpcHBpbmcgcHBjIC5zbyBsaWJzIHRy YW1wb2xpbmVzIChCWiAyMTgzNzkpLgorOzs9ZmVkb3JhdGVzdAogCiBodHRwczovL2J1Z3ppbGxh LnJlZGhhdC5jb20vYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTIxODM3OQorLS0tCisgZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9zdGVwLW92ZXItdHJhbXBvbGluZS5jICAgfCAyOCArKysrKysrKysr KysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGVwLW92ZXItdHJhbXBvbGluZS5leHAgfCA1 NCArKysrKysrKysrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA4MiBpbnNlcnRp b25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RlcC1v dmVyLXRyYW1wb2xpbmUuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3N0ZXAtb3Zlci10cmFtcG9saW5lLmV4cAogCi0KLUluZGV4OiBnZGItNy4xMC45MC4yMDE2 MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3N0ZXAtb3Zlci10cmFtcG9saW5lLmV4cAotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RlcC1v dmVyLXRyYW1wb2xpbmUuZXhwCTIwMTYtMDItMTUgMjM6MzE6NDcuMzEyMjMyMDc4ICswMTAwCitk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGVwLW92ZXItdHJhbXBvbGluZS5j IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGVwLW92ZXItdHJhbXBvbGluZS5jCituZXcgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYTAxMmRhMTAzMQorLS0tIC9kZXYvbnVs bAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGVwLW92ZXItdHJhbXBvbGluZS5jCitA QCAtMCwwICsxLDI4IEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdO VSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAwNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg b3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisrIAorKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKysgICBGb3VuZGF0aW9u LCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMw NywgVVNBLgorKworKyAgIFBsZWFzZSBlbWFpbCBhbnkgYnVncywgY29tbWVudHMsIGFuZC9vciBh ZGRpdGlvbnMgdG8gdGhpcyBmaWxlIHRvOgorKyAgIGJ1Zy1nZGJAcHJlcC5haS5taXQuZWR1ICAq LworKworKyNpbmNsdWRlIDxzdGRpby5oPgorKworK2ludCBtYWluICh2b2lkKQorK3sKKysJcHV0 cyAoImhlbGxvIHdvcmxkIik7CisrCXJldHVybiAwOworK30KK2RpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3N0ZXAtb3Zlci10cmFtcG9saW5lLmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2Uvc3RlcC1vdmVyLXRyYW1wb2xpbmUuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMDAwMC4uYTE4M2UzNjI2MworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9zdGVwLW92ZXItdHJhbXBvbGluZS5leHAKIEBAIC0wLDAgKzEsNTQg QEAKICsjIENvcHlyaWdodCAyMDA2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpA QCAtNjcsMzYgKzExMCw2IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL3N0ZXAtb3Zlci10cmFtcG9saW5lLmV4cAogKwkJZmFpbCAic3RlcHBlZCBp bnRvIHRyYW1wb2xpbmUiCiArCX0KICt9Ci1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGVwLW92ZXItdHJhbXBvbGluZS5jCi09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2Ri LTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGVwLW92ZXItdHJhbXBv bGluZS5jCTIwMTYtMDItMTUgMjM6MzA6NTQuNjk4ODU4NTE4ICswMTAwCi1AQCAtMCwwICsxLDI4 IEBACi0rLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4K LSsKLSsgICBDb3B5cmlnaHQgMjAwNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsK LSsgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Ci0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCi0rIAotKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5v dCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSsgICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBU ZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgotKwot KyAgIFBsZWFzZSBlbWFpbCBhbnkgYnVncywgY29tbWVudHMsIGFuZC9vciBhZGRpdGlvbnMgdG8g dGhpcyBmaWxlIHRvOgotKyAgIGJ1Zy1nZGJAcHJlcC5haS5taXQuZWR1ICAqLwotKwotKyNpbmNs dWRlIDxzdGRpby5oPgotKwotK2ludCBtYWluICh2b2lkKQotK3sKLSsJcHV0cyAoImhlbGxvIHdv cmxkIik7Ci0rCXJldHVybiAwOwotK30KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGIt Ni41LWJ6MjE4Mzc5LXNvbGliLXRyYW1wb2xpbmUtbG9va3VwLWxvY2stZml4LnBhdGNoIGIvZ2Ri LTYuNS1iejIxODM3OS1zb2xpYi10cmFtcG9saW5lLWxvb2t1cC1sb2NrLWZpeC5wYXRjaAppbmRl eCBlY2Q5ZWJmLi5kZGEyYzZlIDEwMDY0NAotLS0gYS9nZGItNi41LWJ6MjE4Mzc5LXNvbGliLXRy YW1wb2xpbmUtbG9va3VwLWxvY2stZml4LnBhdGNoCisrKyBiL2dkYi02LjUtYnoyMTgzNzktc29s aWItdHJhbXBvbGluZS1sb29rdXAtbG9jay1maXgucGF0Y2gKQEAgLTEsMTggKzEsMjMgQEAKK0Zy b20gYWE0YTVkMmY1N2I3NDhhODAxOThjMjAxNWFhYWU4MWU2ZDRmZjgwZCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+ CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItNi41 LWJ6MjE4Mzc5LXNvbGliLXRyYW1wb2xpbmUtbG9va3VwLWxvY2stZml4LnBhdGNoCiAKIEZpbGVO YW1lOiBnZGItNi41LWJ6MjE4Mzc5LXNvbGliLXRyYW1wb2xpbmUtbG9va3VwLWxvY2stZml4LnBh dGNoCiAKKzs7IEZpeCBsb2NrdXAgb24gdHJhbXBvbGluZSB2cy4gaXRzIGZ1bmN0aW9uIGxvb2t1 cDsgdW5yZXByb2R1Y2libGUgKEJaIDIxODM3OSkuCis7Oz1mZWRvcmEKIAogaHR0cHM6Ly9idWd6 aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yMTgzNzkKKy0tLQorIGdk Yi9zeW10YWIuYyB8IDcgKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykK IAotCi1JbmRleDogZ2RiLTcuNy45MC4yMDE0MDYxMy9nZGIvc3ltdGFiLmMKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy43LjkwLjIwMTQwNjEzLm9yaWcvZ2RiL3N5bXRhYi5jCTIwMTQtMDYtMTMgMjE6 NTI6MDYuMjE5MzM4NDAxICswMjAwCi0rKysgZ2RiLTcuNy45MC4yMDE0MDYxMy9nZGIvc3ltdGFi LmMJMjAxNC0wNi0xMyAyMTo1NTowMi43NTM1MzE4ODUgKzAyMDAKLUBAIC0yMzk0LDYgKzIzOTQs MTMgQEAgZmluZF9wY19zZWN0X2xpbmUgKENPUkVfQUREUiBwYywgc3RydWN0CitkaWZmIC0tZ2l0 IGEvZ2RiL3N5bXRhYi5jIGIvZ2RiL3N5bXRhYi5jCitpbmRleCBkZDc0MzRlZDUwLi5kNzMxYTU0 MjFiIDEwMDY0NAorLS0tIGEvZ2RiL3N5bXRhYi5jCisrKysgYi9nZGIvc3ltdGFiLmMKK0BAIC0z MTQxLDYgKzMxNDEsMTMgQEAgZmluZF9wY19zZWN0X2xpbmUgKENPUkVfQUREUiBwYywgc3RydWN0 IG9ial9zZWN0aW9uICpzZWN0aW9uLCBpbnQgbm90Y3VycmVudCkKICAJICAgICBTWU1CT0xfTElO S0FHRV9OQU1FIChtc3ltYm9sKSk7ICovCiAgCSAgOwogIAkvKiBmYWxsIHRocm91Z2ggKi8KQEAg LTI2LDMgKzMxLDYgQEAgSW5kZXg6IGdkYi03LjcuOTAuMjAxNDA2MTMvZ2RiL3N5bXRhYi5jCiAg CWVsc2UKICAJICByZXR1cm4gZmluZF9wY19saW5lIChCTVNZTUJPTF9WQUxVRV9BRERSRVNTICht ZnVuc3ltKSwgMCk7CiAgICAgICAgfQorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02 LjUtYnoyNDM4NDUtc3RhbGUtdGVzdGluZy16b21iaWUtdGVzdC5wYXRjaCBiL2dkYi02LjUtYnoy NDM4NDUtc3RhbGUtdGVzdGluZy16b21iaWUtdGVzdC5wYXRjaAppbmRleCAzN2M3YWE4Li5hNDgz NjEyIDEwMDY0NAotLS0gYS9nZGItNi41LWJ6MjQzODQ1LXN0YWxlLXRlc3Rpbmctem9tYmllLXRl c3QucGF0Y2gKKysrIGIvZ2RiLTYuNS1iejI0Mzg0NS1zdGFsZS10ZXN0aW5nLXpvbWJpZS10ZXN0 LnBhdGNoCkBAIC0xLDEzICsxLDIyIEBACitGcm9tIGUxZjE3YzJmZDY0ZGVhMmVlZDgxMGNhNDJj ZjY4N2ZiYTNmZDg1MTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RC IHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTow Nzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuNS1iejI0Mzg0NS1zdGFsZS10ZXN0aW5nLXpvbWJp ZS10ZXN0LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi41LWJ6MjQzODQ1LXN0YWxlLXRlc3Rpbmct em9tYmllLXRlc3QucGF0Y2gKIAorOzsgVGVzdCBsZWZ0b3ZlciB6b21iaWUgcHJvY2VzcyAoQlog MjQzODQ1KS4KKzs7PWZlZG9yYXRlc3QKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdHJh Y2Vmb3JrLXpvbWJpZS5leHAgfCA3NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEg ZmlsZSBjaGFuZ2VkLCA3NSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvdHJhY2Vmb3JrLXpvbWJpZS5leHAKIAotZGlmZiAtdSAtcnVOcCBn ZGItNi4zLXVucGF0Y2hlZC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3RyYWNlZm9yay16b21iaWUu ZXhwIGdkYi02LjMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS90cmFjZWZvcmstem9tYmllLmV4cAot LS0tIGdkYi02LjMtdW5wYXRjaGVkL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdHJhY2Vmb3JrLXpv bWJpZS5leHAJMTk2OS0xMi0zMSAxOTowMDowMC4wMDAwMDAwMDAgLTA1MDAKLSsrKyBnZGItNi4z L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdHJhY2Vmb3JrLXpvbWJpZS5leHAJMjAwNy0wNy0zMSAx MzowNDoxMi4wMDAwMDAwMDAgLTA0MDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3RyYWNlZm9yay16b21iaWUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS90cmFjZWZv cmstem9tYmllLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjU4 MDcwNDA4NDAKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdHJh Y2Vmb3JrLXpvbWJpZS5leHAKIEBAIC0wLDAgKzEsNzUgQEAKICsjIENvcHlyaWdodCAyMDA3IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtODQsMyArOTMsNiBAQCBkaWZmIC11 IC1ydU5wIGdkYi02LjMtdW5wYXRjaGVkL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdHJhY2Vmb3Jr LXpvbWJpZS5leHAgZ2RiLQogK30gZWxzZSB7CiArICAgIGZhaWwgJHRlc3QKICt9CistLSAKKzIu MTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNS1nY29yZS1idWZmZXItbGltaXQtdGVzdC5wYXRj aCBiL2dkYi02LjUtZ2NvcmUtYnVmZmVyLWxpbWl0LXRlc3QucGF0Y2gKaW5kZXggMWNmYjcyOC4u NWFlZjM4MiAxMDA2NDQKLS0tIGEvZ2RiLTYuNS1nY29yZS1idWZmZXItbGltaXQtdGVzdC5wYXRj aAorKysgYi9nZGItNi41LWdjb3JlLWJ1ZmZlci1saW1pdC10ZXN0LnBhdGNoCkBAIC0xLDE0ICsx LDI0IEBACitGcm9tIGUzMTY4MGJjZjFjZmQwZmJmYWQwMGU5MmNkYjUwMjlhMzE3YzA5M2MgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRA ZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVj dDogZ2RiLTYuNS1nY29yZS1idWZmZXItbGltaXQtdGVzdC5wYXRjaAogCiBGaWxlTmFtZTogZ2Ri LTYuNS1nY29yZS1idWZmZXItbGltaXQtdGVzdC5wYXRjaAogCis7OyBUZXN0IGdjb3JlIG1lbW9y eSBhbmQgdGltZSByZXF1aXJlbWVudHMgZm9yIGxhcmdlIGluZmVyaW9ycy4KKzs7PWZlZG9yYXRl c3QKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtZXhjZXNzaXZlLW1lbW9yeS5j ICAgfCAzNyArKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3JlLWV4Y2Vzc2l2 ZS1tZW1vcnkuZXhwIHwgOTQgKysrKysrKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5n ZWQsIDEzMSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvZ2NvcmUtZXhjZXNzaXZlLW1lbW9yeS5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtZXhjZXNzaXZlLW1lbW9yeS5leHAKIAotSW5kZXg6 IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtZXhjZXNz aXZlLW1lbW9yeS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6 MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9nY29yZS1leGNlc3NpdmUtbWVtb3J5LmMJMjAxNi0wMi0xNSAyMzoyODoxNS45 NDM3MzEzNDAgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3Jl LWV4Y2Vzc2l2ZS1tZW1vcnkuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtZXhjZXNz aXZlLW1lbW9yeS5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNTZi NGQzYTYzYQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29y ZS1leGNlc3NpdmUtbWVtb3J5LmMKIEBAIC0wLDAgKzEsMzcgQEAKICsvKiBUaGlzIHRlc3RjYXNl IGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtNDcsMTAgKzU3LDExIEBA IEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3Jl LWV4Y2Vzc2l2ZS1tZW1vcnkuYwogKwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjEw LjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtZXhjZXNzaXZlLW1lbW9y eS5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAw MDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2djb3JlLWV4Y2Vzc2l2ZS1tZW1vcnkuZXhwCTIwMTYtMDItMTUgMjM6Mjg6MjIuNzIwNzc5 NDU4ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1leGNl c3NpdmUtbWVtb3J5LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtZXhjZXNzaXZl LW1lbW9yeS5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi40ZTcx YjU1MzRlCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3Jl LWV4Y2Vzc2l2ZS1tZW1vcnkuZXhwCiBAQCAtMCwwICsxLDk0IEBACiArIyBDb3B5cmlnaHQgMjAw OCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTE0NiwzICsxNTcsNiBAQCBJ bmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1l eGNlc3NpdmUtbWVtb3J5LmV4cAogKwogKyMgQ2xlYW51cC4KICtleGVjIGtpbGwgLTkgJHBpZF9v Zl9iaW4KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi41LWlhNjQtbGlidW53aW5k LWxlYWstdGVzdC5wYXRjaCBiL2dkYi02LjUtaWE2NC1saWJ1bndpbmQtbGVhay10ZXN0LnBhdGNo CmluZGV4IGQ1YmU5YTcuLjA2NzRiZjQgMTAwNjQ0Ci0tLSBhL2dkYi02LjUtaWE2NC1saWJ1bndp bmQtbGVhay10ZXN0LnBhdGNoCisrKyBiL2dkYi02LjUtaWE2NC1saWJ1bndpbmQtbGVhay10ZXN0 LnBhdGNoCkBAIC0xLDE0ICsxLDI0IEBACitGcm9tIDU0MmZkODg0MzhhM2I5NjZiZjE4ZDRiNDBi ZjczZmUxMDcyNjIxM2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RC IHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTow Nzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuNS1pYTY0LWxpYnVud2luZC1sZWFrLXRlc3QucGF0 Y2gKIAogRmlsZU5hbWU6IGdkYi02LjUtaWE2NC1saWJ1bndpbmQtbGVhay10ZXN0LnBhdGNoCiAK Kzs7IFRlc3QgaWE2NCBtZW1vcnkgbGVha3Mgb2YgdGhlIGNvZGUgdXNpbmcgbGlidW53aW5kLgor Ozs9ZmVkb3JhdGVzdAorLS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS91bndpbmQtbGVhay5j ICAgfCAyOSArKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3Vud2luZC1sZWFr LmV4cCB8IDgzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNo YW5nZWQsIDExMiBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvdW53aW5kLWxlYWsuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL3Vud2luZC1sZWFrLmV4cAogCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAy MTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS91bndpbmQtbGVhay5jCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu MTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS91bndpbmQtbGVhay5jCTIwMTYt MDItMTUgMjM6MzI6MTEuMzA3NDAyNDQ2ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS91bndpbmQtbGVhay5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS91bndpbmQt bGVhay5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNThlMzRmYjI2 NAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS91bndpbmQtbGVh ay5jCiBAQCAtMCwwICsxLDI5IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwg dGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTM5LDEwICs0OSwxMSBAQCBJbmRleDogZ2RiLTcuMTAu OTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS91bndpbmQtbGVhay5jCiArICAgIGFs YXJtICgwKTsKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3Vud2luZC1sZWFrLmV4cAotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEw LjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdW53aW5kLWxlYWsuZXhwCTIwMTYt MDItMTUgMjM6MzI6MTguNTU5NDUzOTM3ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS91bndpbmQtbGVhay5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3Vud2lu ZC1sZWFrLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjA5ODk2 MmE1N2MKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdW53aW5k LWxlYWsuZXhwCiBAQCAtMCwwICsxLDgzIEBACiArIyBDb3B5cmlnaHQgMjAwNyBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEyNywzICsxMzgsNiBAQCBJbmRleDogZ2RiLTcu MTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS91bndpbmQtbGVhay5leHAKICsJ ZmFpbCAkdGVzdAogKyAgICB9CiArfQorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02 LjUtbGFzdC1hZGRyZXNzLXNwYWNlLWJ5dGUtdGVzdC5wYXRjaCBiL2dkYi02LjUtbGFzdC1hZGRy ZXNzLXNwYWNlLWJ5dGUtdGVzdC5wYXRjaAppbmRleCBmNzA3MWUyLi5mYmU4Mzk4IDEwMDY0NAot LS0gYS9nZGItNi41LWxhc3QtYWRkcmVzcy1zcGFjZS1ieXRlLXRlc3QucGF0Y2gKKysrIGIvZ2Ri LTYuNS1sYXN0LWFkZHJlc3Mtc3BhY2UtYnl0ZS10ZXN0LnBhdGNoCkBAIC0xLDE1ICsxLDIyIEBA CitGcm9tIDk1MzE5YzE0YjBjYzVmNGY0NGNhMDA4OGRlNWZkZDQ0YzRkYjVkNWUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwu Y29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2Ri LTYuNS1sYXN0LWFkZHJlc3Mtc3BhY2UtYnl0ZS10ZXN0LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGIt Ni41LWxhc3QtYWRkcmVzcy1zcGFjZS1ieXRlLXRlc3QucGF0Y2gKIAotSW5kZXg6IC4vZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9sYXJnZWNvcmUtbGFzdC1hZGRyZXNzLWxvY2suZXhwCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci1SQ1MgZmlsZTogLi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xhcmdlY29yZS1sYXN0LWFk ZHJlc3MtbG9jay5leHAKLWRpZmYgLU4gLi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xhcmdlY29y ZS1sYXN0LWFkZHJlc3MtbG9jay5leHAKLS0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDow MCAtMDAwMAotKysrIC4vZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sYXJnZWNvcmUtbGFzdC1hZGRy ZXNzLWxvY2suZXhwCTE1IE5vdiAyMDA2IDIxOjQzOjI0IC0wMDAwCis7OyBUZXN0Y2FzZSBmb3Ig ZGVhZGxvY2tpbmcgb24gbGFzdCBhZGRyZXNzIHNwYWNlIGJ5dGU7IGZvciBjb3JydXB0ZWQgYmFj a3RyYWNlcy4KKzs7PWZlZG9yYXRlc3QKKy0tLQorIC4uLi9nZGIuYmFzZS9sYXJnZWNvcmUtbGFz dC1hZGRyZXNzLWxvY2suZXhwICAgICAgIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKworIDEg ZmlsZSBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvbGFyZ2Vjb3JlLWxhc3QtYWRkcmVzcy1sb2NrLmV4cAorCitkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sYXJnZWNvcmUtbGFzdC1hZGRyZXNzLWxv Y2suZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sYXJnZWNvcmUtbGFzdC1hZGRyZXNzLWxv Y2suZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uOGE1OTdlOWIx NQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sYXJnZWNvcmUt bGFzdC1hZGRyZXNzLWxvY2suZXhwCiBAQCAtMCwwICsxLDQ5IEBACiArIyBDb3B5cmlnaHQgMjAw NiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTYwLDMgKzY3LDYgQEAgZGlm ZiAtTiAuL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGFyZ2Vjb3JlLWxhc3QtYWRkcmVzcy1sb2Nr LmV4cAogKyAgICAgICAgICJSZWFkIHRoZSBsYXN0IGFkZHJlc3Mgc3BhY2UgYnl0ZSIKICsKICtz ZXQgdGltZW91dCAke3RpbWVvdXRvbGR9CistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2Ri LTYuNS1taXNzZWQtdHJhcC1vbi1zdGVwLXRlc3QucGF0Y2ggYi9nZGItNi41LW1pc3NlZC10cmFw LW9uLXN0ZXAtdGVzdC5wYXRjaAppbmRleCA3NzZkODA2Li5jZWE5NDUwIDEwMDY0NAotLS0gYS9n ZGItNi41LW1pc3NlZC10cmFwLW9uLXN0ZXAtdGVzdC5wYXRjaAorKysgYi9nZGItNi41LW1pc3Nl ZC10cmFwLW9uLXN0ZXAtdGVzdC5wYXRjaApAQCAtMSwxNyArMSw2MyBAQAorRnJvbSAxMjAzY2Iw MGIzYWMyZDNmMTRmOTYwMWUyZWU3NDk5NzY2MTdmMDA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZy aSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjUtbWlzc2VkLXRy YXAtb24tc3RlcC10ZXN0LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi41LW1pc3NlZC10cmFwLW9u LXN0ZXAtdGVzdC5wYXRjaAogCis7OyBUZXN0IGhpZGluZyB1bmV4cGVjdGVkIGJyZWFrcG9pbnRz IG9uIGludGVudGlvbmFsIHN0ZXAgY29tbWFuZHMuCis7Oz1mZWRvcmF0ZXN0CiAKIEZpeCBoYXMg YmVlbiBjb21taXR0ZWQgdG86CiAJZ2RiLTYuNi1zY2hlZHVsZXJfbG9ja2luZy1zdGVwLXN3LXdh dGNocG9pbnRzMi5wYXRjaAorLS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50 LWR1cmluZy1zdGVwLmMgICB8IDMwICsrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3dhdGNocG9pbnQtZHVyaW5nLXN0ZXAuZXhwIHwgNDQgKysrKysrKysrKysrKysrKysr KysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDc0IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAx MDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50LWR1cmluZy1zdGVwLmMKKyBj cmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50LWR1cmlu Zy1zdGVwLmV4cAogCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS93YXRjaHBvaW50LWR1cmluZy1zdGVwLmV4cAotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkw LjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1kdXJpbmctc3RlcC5l eHAJMjAxNi0wMi0xNSAyMzozNDoxMC40NTUyNDg0MDggKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtZHVyaW5nLXN0ZXAuYyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1kdXJpbmctc3RlcC5jCituZXcgZmlsZSBtb2RlIDEwMDY0 NAoraW5kZXggMDAwMDAwMDAwMC4uMTA3ZWFlNDVhMAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50LWR1cmluZy1zdGVwLmMKK0BAIC0wLDAgKzEs MzAgQEAKKysvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2Vy LgorKworKyAgIENvcHlyaWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgor KworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKysgCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYg bm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorKyAgIEZvdW5kYXRpb24sIEluYy4sIDU5 IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisr CisrICAgUGxlYXNlIGVtYWlsIGFueSBidWdzLCBjb21tZW50cywgYW5kL29yIGFkZGl0aW9ucyB0 byB0aGlzIGZpbGUgdG86CisrICAgYnVnLWdkYkBwcmVwLmFpLm1pdC5lZHUgICovCisrCisrc3Rh dGljIGludCB2YXI7CisrCisraW50IG1haW4oKQorK3sKKysgIHZhciA9IDE7CisrICB2YXIgPSAy OworKyAgdmFyID0gMzsKKysgIHJldHVybiAwOworK30KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtZHVyaW5nLXN0ZXAuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS93YXRjaHBvaW50LWR1cmluZy1zdGVwLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDAwMDAwMDAwMDAuLjEyYmE5OWYxYTkKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1kdXJpbmctc3RlcC5leHAKIEBAIC0wLDAgKzEs NDQgQEAKICsjIENvcHlyaWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KwpAQCAtNTcsMzggKzEwMyw2IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtZHVyaW5nLXN0ZXAuZXhwCiArIyB3ZSBzdGVwIGZy b20gYXMgaW4gdGhpcyBjYXNlIGl0IGlzIGEgdmFsaWQgdXBzdHJlYW0gS0ZBSUwgZ2RiLzM4CiAr CiArZ2RiX3Rlc3QgInN0ZXAiICIuKk9sZCB2YWx1ZSA9IDIuKk5ldyB2YWx1ZSA9IDMuKiIgIkNh dGNoIHRoZSB3YXRjaHBvaW50IgotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1kdXJpbmctc3RlcC5jCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu MTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50LWR1cmluZy1z dGVwLmMJMjAxNi0wMi0xNSAyMzozMjo1MS44NDY2OTAyNzkgKzAxMDAKLUBAIC0wLDAgKzEsMzAg QEAKLSsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgot KwotKyAgIENvcHlyaWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwot KyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK LSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KLSsgCi0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90 LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotKyAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRl bXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0rCi0r ICAgUGxlYXNlIGVtYWlsIGFueSBidWdzLCBjb21tZW50cywgYW5kL29yIGFkZGl0aW9ucyB0byB0 aGlzIGZpbGUgdG86Ci0rICAgYnVnLWdkYkBwcmVwLmFpLm1pdC5lZHUgICovCi0rCi0rc3RhdGlj IGludCB2YXI7Ci0rCi0raW50IG1haW4oKQotK3sKLSsgIHZhciA9IDE7Ci0rICB2YXIgPSAyOwot KyAgdmFyID0gMzsKLSsgIHJldHVybiAwOwotK30KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQg YS9nZGItNi41LXJlYWRsaW5lLWxvbmctbGluZS1jcmFzaC10ZXN0LnBhdGNoIGIvZ2RiLTYuNS1y ZWFkbGluZS1sb25nLWxpbmUtY3Jhc2gtdGVzdC5wYXRjaAppbmRleCBiYTgzNDMxLi5jN2Y2MGI0 IDEwMDY0NAotLS0gYS9nZGItNi41LXJlYWRsaW5lLWxvbmctbGluZS1jcmFzaC10ZXN0LnBhdGNo CisrKyBiL2dkYi02LjUtcmVhZGxpbmUtbG9uZy1saW5lLWNyYXNoLXRlc3QucGF0Y2gKQEAgLTEs MTcgKzEsMjQgQEAKK0Zyb20gMmI0ZmYzMmI4YzE0Mzg4Nzc0N2M0OWE2N2QzMmY5NDU0MTIyNzhi OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52 YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBT dWJqZWN0OiBnZGItNi41LXJlYWRsaW5lLWxvbmctbGluZS1jcmFzaC10ZXN0LnBhdGNoCiAKIEZp bGVOYW1lOiBnZGItNi41LXJlYWRsaW5lLWxvbmctbGluZS1jcmFzaC10ZXN0LnBhdGNoCiAKKzs7 IEZpeCByZWFkbGluZSBzZWdmYXVsdCBvbiBleGNlc3NpdmVseSBsb25nIGhhbmQtdHlwZWQgbGlu ZXMuCis7Oz1mZWRvcmF0ZXN0CiAKIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9idWd6aWxs YS9zaG93X2J1Zy5jZ2k/aWQ9MjE0MTk2CistLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3Jl YWRsaW5lLW92ZXJmbG93LmV4cCB8IDEyNiArKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAx IGZpbGUgY2hhbmdlZCwgMTI2IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9yZWFkbGluZS1vdmVyZmxvdy5leHAKIAotCi1JbmRleDogZ2Ri LTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9yZWFkbGluZS1vdmVyZmxv dy5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAw MDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3JlYWRsaW5lLW92ZXJmbG93LmV4cAkyMDE2LTAyLTE1IDIzOjMwOjI5LjE5MTY3NzQxNCAr MDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvcmVhZGxpbmUtb3ZlcmZs b3cuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9yZWFkbGluZS1vdmVyZmxvdy5leHAKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi41ZTQ2ODE2ZDIxCistLS0gL2Rl di9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3JlYWRsaW5lLW92ZXJmbG93LmV4 cAogQEAgLTAsMCArMSwxMjYgQEAKICsjIENvcHlyaWdodCAyMDA2IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgogKwpAQCAtMTM5LDMgKzE0Niw2IEBAIEluZGV4OiBnZGItNy4xMC45MC4y MDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3JlYWRsaW5lLW92ZXJmbG93LmV4cAogK30K ICtzZXQgdGltZW91dCAkb2xkdGltZW91dDEKICsKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQg YS9nZGItNi41LXNlY3Rpb24tbnVtLWZpeHVwLXRlc3QucGF0Y2ggYi9nZGItNi41LXNlY3Rpb24t bnVtLWZpeHVwLXRlc3QucGF0Y2gKaW5kZXggMTE1NzQyNS4uMjFlYmM2NiAxMDA2NDQKLS0tIGEv Z2RiLTYuNS1zZWN0aW9uLW51bS1maXh1cC10ZXN0LnBhdGNoCisrKyBiL2dkYi02LjUtc2VjdGlv bi1udW0tZml4dXAtdGVzdC5wYXRjaApAQCAtMSwxNCArMSwyNiBAQAorRnJvbSA4OTA5MDE4ZmEx ODE1ZjAzMjM5NzA2MTZjYjM0MDM2NTEyMDk1YTVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQog RnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwg MjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjUtc2VjdGlvbi1udW0t Zml4dXAtdGVzdC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuNS1zZWN0aW9uLW51bS1maXh1cC10 ZXN0LnBhdGNoCiAKKzs7IFRlc3QgYSBjcmFzaCBvbiBsaWJyYXJpZXMgbWlzc2luZyB0aGUgLnRl eHQgc2VjdGlvbi4KKzs7PWZlZG9yYXRlc3QKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv ZGF0YWxpYi1saWIuYyAgfCAyMiArKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2RhdGFsaWItbWFpbi5jIHwgMjYgKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9kYXRhbGliLmV4cCAgICB8IDUxICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCA5OSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1v ZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGF0YWxpYi1saWIuYworIGNyZWF0ZSBt b2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RhdGFsaWItbWFpbi5jCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGF0YWxpYi5leHAKIAotSW5kZXg6 IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGF0YWxpYi1saWIu YwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAw MCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv ZGF0YWxpYi1saWIuYwkyMDE2LTAyLTE1IDIzOjI3OjE5LjY1NDMzMTY4MCArMDEwMAorZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGF0YWxpYi1saWIuYyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvZGF0YWxpYi1saWIuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAw MDAwMDAwMDAuLmRkMzllMjM3NDYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvZGF0YWxpYi1saWIuYwogQEAgLTAsMCArMSwyMiBAQAogKy8qIFRoaXMgdGVzdGNh c2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0zMiwxMCArNDQsMTEg QEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGF0 YWxpYi1saWIuYwogKyAgIGJ1Zy1nZGJAcHJlcC5haS5taXQuZWR1ICAqLwogKwogK2ludCB2YXI7 Ci1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kYXRh bGliLW1haW4uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAw LjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvZGF0YWxpYi1tYWluLmMJMjAxNi0wMi0xNSAyMzoyNzoxOS42NTQzMzE2ODAgKzAx MDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RhdGFsaWItbWFpbi5jIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kYXRhbGliLW1haW4uYworbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAwMDAuLjRlMGI4MGQyZDYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGF0YWxpYi1tYWluLmMKIEBAIC0wLDAgKzEsMjYgQEAKICsv KiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAt NjMsMTAgKzc2LDExIEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2RhdGFsaWItbWFpbi5jCiArewogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdk Yi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGF0YWxpYi5leHAKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RhdGFs aWIuZXhwCTIwMTYtMDItMTUgMjM6Mjc6MjUuOTY4Mzc2NTEwICswMTAwCitkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kYXRhbGliLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvZGF0YWxpYi5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4z ODU3MTZkOTAxCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Rh dGFsaWIuZXhwCiBAQCAtMCwwICsxLDUxIEBACiArIyBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTExOSwzICsxMzMsNiBAQCBJbmRleDogZ2RiLTcu MTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kYXRhbGliLmV4cAogK2dkYl90 ZXN0ICJzdGFydCIgXAogKyAgICAgICAgICJtYWluIFxcKFxcKSBhdCAuKiR7c3JjZmlsZW1haW59 LioiIFwKICsgICAgICAgICAic3RhcnQiCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2Ri LTYuNS1zaGFyZWRsaWJyYXJ5LXBhdGgucGF0Y2ggYi9nZGItNi41LXNoYXJlZGxpYnJhcnktcGF0 aC5wYXRjaAppbmRleCBmOWI1OTc3Li4zYzE3YTY3IDEwMDY0NAotLS0gYS9nZGItNi41LXNoYXJl ZGxpYnJhcnktcGF0aC5wYXRjaAorKysgYi9nZGItNi41LXNoYXJlZGxpYnJhcnktcGF0aC5wYXRj aApAQCAtMSwyMSArMSwyMyBAQAorRnJvbSA5MjljZWNhMDk3YmVjNWE1ZjUxODJlODVjNWFiOWE3 ZWYzOGZlMzllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSmFuIEtyYXRvY2h2aWwg PGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3 OjUwICswMjAwCiBTdWJqZWN0OiBnZGItNi41LXNoYXJlZGxpYnJhcnktcGF0aC5wYXRjaAogCiBG aWxlTmFtZTogZ2RiLTYuNS1zaGFyZWRsaWJyYXJ5LXBhdGgucGF0Y2gKIAorOzsgRml4IFRMUyBz eW1ib2xzIHJlc29sdmluZyBmb3Igc2hhcmVkIGxpYnJhcmllcyB3aXRoIGEgcmVsYXRpdmUgcGF0 aG5hbWUuCis7OyBUaGUgdGVzdHN1aXRlIG5lZWRzIGBnZGItNi41LXRscy1vZi1zZXBhcmF0ZS1k ZWJ1Z2luZm8ucGF0Y2gnLgorOzs9ZmVkb3JhdGVzdDogT25lIHNob3VsZCByZWNoZWNrIGlmIGl0 IGlzIHJlYWxseSBmaXhlZCB1cHN0cmVhbS4KKwogSWYgeW91IHByb3ZpZGVkIHNvbWUgcmVsYXRp dmUgcGF0aCB0byB0aGUgc2hhcmVkIGxpYnJhcnksIHN1Y2ggYXMgd2l0aAogCWV4cG9ydCBMRF9M SUJSQVJZX1BBVEg9LgogdGhlbiBnZGIgd291bGQgZmFpbCB0byBtYXRjaCB0aGUgc2hhcmVkIGxp YnJhcnkgbmFtZSBkdXJpbmcgdGhlIFRMUyBsb29rdXAuCiAKLQogRHJvcHBlZCB0aGUgd29ya2Fy b3VuZC9maXggZm9yIGdkYi02LjguNTAuMjAwODExMjggLSBpcyBpdCBzdGlsbCBuZWVkZWQ/CiAK LQogVGhlIHRlc3RzdWl0ZSBuZWVkcyBgZ2RiLTYuMy1iejE0NjgxMC1zb2xpYl9hYnNvbHV0ZV9w cmVmaXhfaXNfZW1wdHkucGF0Y2gnLgogVGhlIHRlc3RzdWl0ZSBuZWVkcyBgZ2RiLTYuNS10bHMt b2Ytc2VwYXJhdGUtZGVidWdpbmZvLnBhdGNoJy4KIAotCiAyMDA2LTA5LTAxICBKYW4gS3JhdG9j aHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CiAKIAkqIHNvbGliLXN2cjQuYyAoc3Zy NF9mZXRjaF9vYmpmaWxlX2xpbmtfbWFwKTogTWF0Y2ggZXZlbiBhYnNvbHV0ZQpAQCAtMjgsMTEg KzMwLDIwIEBAIFRoZSB0ZXN0c3VpdGUgbmVlZHMgYGdkYi02LjUtdGxzLW9mLXNlcGFyYXRlLWRl YnVnaW5mby5wYXRjaCcuCiAyMDA4LTAyLTI3ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2No dmlsQHJlZGhhdC5jb20+CiAKIAlQb3J0IHRvIGdkYi02LjcuNTAuMjAwODAyMjcuCistLS0KKyBn ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1zZXBkZWJ1Zy1tYWluLmMgICB8IDI1ICsrKysr KysKKyBnZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1zZXBkZWJ1Zy1zaGFyZWQuYyB8IDIy ICsrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1zZXBkZWJ1Zy5leHAgICAg ICB8IDg3ICsrKysrKysrKysrKysrKysrKysrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDEzNCBp bnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVh ZHMvdGxzLXNlcGRlYnVnLW1haW4uYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRl L2dkYi50aHJlYWRzL3Rscy1zZXBkZWJ1Zy1zaGFyZWQuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBn ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1zZXBkZWJ1Zy5leHAKIAotSW5kZXg6IGdkYi03 LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLXNlcGRlYnVnLW1h aW4uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvdGxzLXNlcGRlYnVnLW1haW4uYwkyMDE2LTAyLTE2IDEwOjE2OjEyLjYyOTg3NTA3MyAr MDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLXNlcGRlYnVn LW1haW4uYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLXNlcGRlYnVnLW1haW4uYwor bmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmVhNWQwMTc0ZDYKKy0tLSAv ZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLXNlcGRlYnVnLW1h aW4uYwogQEAgLTAsMCArMSwyNSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIs IHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC01OSwxMCArNzAsMTEgQEAgSW5kZXg6IGdkYi03LjEw LjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLXNlcGRlYnVnLW1haW4u YwogK3sKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIv dGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1zZXBkZWJ1Zy1zaGFyZWQuYwotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLXNlcGRlYnVn LXNoYXJlZC5jCTIwMTYtMDItMTYgMTA6MTY6MTIuNjMwODc1MDgwICswMTAwCitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtc2VwZGVidWctc2hhcmVkLmMgYi9nZGIv dGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1zZXBkZWJ1Zy1zaGFyZWQuYworbmV3IGZpbGUgbW9k ZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjYxYjQ5MjUxYmEKKy0tLSAvZGV2L251bGwKKysr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLXNlcGRlYnVnLXNoYXJlZC5jCiBAQCAt MCwwICsxLDIyIEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBk ZWJ1Z2dlci4KICsKQEAgLTg2LDEwICs5OCwxMSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAy MTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtc2VwZGVidWctc2hhcmVkLmMKICsgICBi dWctZ2RiQHByZXAuYWkubWl0LmVkdSAgKi8KICsKICtfX3RocmVhZCBpbnQgdmFyID0gNDI7Ci1J bmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMt c2VwZGVidWcuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6 MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0 ZS9nZGIudGhyZWFkcy90bHMtc2VwZGVidWcuZXhwCTIwMTYtMDItMTYgMTA6MTY6MzEuMjQxMDAx MDEwICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtc2Vw ZGVidWcuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtc2VwZGVidWcuZXhwCitu ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMDA3NzNmNzhmMgorLS0tIC9k ZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtc2VwZGVidWcuZXhw CiBAQCAtMCwwICsxLDg3IEBACiArIyBDb3B5cmlnaHQgMjAwNiBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KICsKQEAgLTE3OCwzICsxOTEsNiBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAx NjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtc2VwZGVidWcuZXhwCiArICAgICAg ICAgICAgICJcXFwkMSA9IFxbMC05XF0uKiIgXAogKyAgICAgICAgICAgICAicHJpbnQgVExTIHZh cmlhYmxlIGZyb20gYSBzaGFyZWQgbGlicmFyeSB3aXRoICRuYW1lLWRpcmVjdG9yeSBzZXBhcmF0 ZSBkZWJ1ZyBpbmZvIGZpbGUiCiArfQorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02 LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0Y2ggYi9nZGItNi42LWJ1aWxkaWQtbG9j YXRlLWNvcmUtYXMtYXJnLnBhdGNoCmluZGV4IDQzODFlYjAuLjNhZDJjZDUgMTAwNjQ0Ci0tLSBh L2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0Y2gKKysrIGIvZ2RiLTYuNi1i dWlsZGlkLWxvY2F0ZS1jb3JlLWFzLWFyZy5wYXRjaApAQCAtMSw5ICsxLDExIEBACitGcm9tIGMz OTYzZjI5ZWY5YmU2ZTQ4ZGVlOGIwNThkYTY0Njg2Nzc1NzgxMGMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0 ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogUmU6IFtwYXRjaF0g cHJpbnQgYSBtb3JlIHVzZWZ1bCBlcnJvciBtZXNzYWdlIGZvciAiZ2RiIGNvcmUiCitTdWJqZWN0 OiBwcmludCBhIG1vcmUgdXNlZnVsIGVycm9yIG1lc3NhZ2UgZm9yICJnZGIgY29yZSIKIAogRmls ZU5hbWU6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0Y2gKIAorOzs9cHVz aCtqYW4KIAogaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTAtMDEvbXNn MDA1NTguaHRtbAogCkBAIC0zNywxNiArMzksMTMgQEAgYXV0b2RldGVjdGlvbnMuICBUaGUgc2Vj b25kIGNvbW1hbmQgbGluZSBhcmd1bWVudAogKGNhcHR1cmVkX21haW4tPnBpZF9vcl9jb3JlX2Fy ZykgaXMgYWxzbyBhdXRvZGV0ZWN0ZWQgKGZvciBQSUQgb3IgQ09SRSkgYnV0CiBuZWl0aGVyICJh dHRhY2giIGFjY2VwdHMgYSBjb3JlIGZpbGUgbm9yICJjb3JlLWZpbGUiIGFjY2VwdHMgYSBQSUQu CiAKLQogVGhlIHBhdGNoIG1ha2VzIHNlbnNlIG9ubHkgd2l0aCB0aGUgYnVpbGQtaWQgcGF0Y2hz ZXQgc28gdGhpcyBpcyBub3Qgc3VibWl0CiBmb3IgRlNGIEdEQiBpbmNsdXNpb24geWV0LiAgSSBh bSBmaW5lIHdpdGggeW91ciBwYXRjaCAoKy8tIEh1aSBaaHUncyBwZW5kaW5nCiBiZmRfY2hlY2tf Zm9ybWF0X21hdGNoZXMpIGFzIHRoZSBwYXRjaCBiZWxvdyBpcyBpdHMgbmF0dXJhbCBleHRlbnNp b24uCiAKLQogU29ycnkgZm9yIHRoZSBkZWxheSwKIEphbgogCi0KIDIwMTAtMDEtMjUgIEphbiBL cmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIAogCSogZXhjZXB0aW9ucy5o IChlbnVtIGVycm9ycyA8SVNfQ09SRV9FUlJPUj4pOiBOZXcuCkBAIC02MywxMSArNjIsMzAgQEAg SHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTAtMDEvbXNnMDA1MTcuaHRt bAogCiAJKiBleGVjLmMgKGV4ZWNfZmlsZV9hdHRhY2gpOiBQcmludCBhIG1vcmUgdXNlZnVsIGVy cm9yIG1lc3NhZ2UgaWYgdGhlCiAJdXNlciBkaWQgImdkYiBjb3JlIi4KLQotSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9leGVjLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4y MDE3MDIyNi5vcmlnL2dkYi9leGVjLmMJMjAxNy0wMi0yNyAyMjoxODowMC45NDUwMjYyMTEgKzAx MDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZXhlYy5jCTIwMTctMDItMjcgMjI6MTg6 MDguMTExMDc2MzUwICswMTAwCistLS0KKyBnZGIvY29tbW9uL2NvbW1vbi1leGNlcHRpb25zLmgg fCAgMyArKysKKyBnZGIvZXhlYy5jICAgICAgICAgICAgICAgICAgICAgfCAyMiArKysrKysrKysr KysrKystLS0KKyBnZGIvbWFpbi5jICAgICAgICAgICAgICAgICAgICAgfCA1MyArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDcyIGlu c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nZGIvY29tbW9uL2Nv bW1vbi1leGNlcHRpb25zLmggYi9nZGIvY29tbW9uL2NvbW1vbi1leGNlcHRpb25zLmgKK2luZGV4 IDk5YWE4NzZkZmMuLjNiOWVkM2VlNzEgMTAwNjQ0CistLS0gYS9nZGIvY29tbW9uL2NvbW1vbi1l eGNlcHRpb25zLmgKKysrKyBiL2dkYi9jb21tb24vY29tbW9uLWV4Y2VwdGlvbnMuaAorQEAgLTEw NCw2ICsxMDQsOSBAQCBlbnVtIGVycm9ycyB7CisgICAgICAiX0VSUk9SIiBpcyBhcHBlbmRlZCB0 byB0aGUgbmFtZS4gICovCisgICBNQVhfQ09NUExFVElPTlNfUkVBQ0hFRF9FUlJPUiwKKyAKKysg IC8qIEF0dGVtcHQgdG8gbG9hZCBhIGNvcmUgZmlsZSBhcyBleGVjdXRhYmxlLiAgKi8KKysgIElT X0NPUkVfRVJST1IsCisrCisgICAvKiBBZGQgbW9yZSBlcnJvcnMgaGVyZS4gICovCisgICBOUl9F UlJPUlMKKyB9OworZGlmZiAtLWdpdCBhL2dkYi9leGVjLmMgYi9nZGIvZXhlYy5jCitpbmRleCA0 ZmJlOWRkNjM1Li5hNzhhYjk5ZmM3IDEwMDY0NAorLS0tIGEvZ2RiL2V4ZWMuYworKysrIGIvZ2Ri L2V4ZWMuYwogQEAgLTM1LDYgKzM1LDcgQEAKICAjaW5jbHVkZSAicHJvZ3NwYWNlLmgiCiAgI2lu Y2x1ZGUgImdkYl9iZmQuaCIKQEAgLTc2LDcgKzk0LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi9leGVjLmMKICAKICAjaW5jbHVkZSA8ZmNudGwuaD4KICAjaW5jbHVkZSAicmVh ZGxpbmUvcmVhZGxpbmUuaCIKLUBAIC0zNTksMTIgKzM2MCwyNyBAQAorQEAgLTM0NiwxMiArMzQ3 LDI3IEBAIGV4ZWNfZmlsZV9hdHRhY2ggKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgZnJvbV90 dHkpCiAgCiAgICAgICAgaWYgKCFiZmRfY2hlY2tfZm9ybWF0X21hdGNoZXMgKGV4ZWNfYmZkLCBi ZmRfb2JqZWN0LCAmbWF0Y2hpbmcpKQogIAl7CkBAIC0xMDcsMTEgKzEyNSwxMSBAQCBJbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2V4ZWMuYwogIAl9CiAgCiAgICAgICAgaWYgKGJ1aWxk X3NlY3Rpb25fdGFibGUgKGV4ZWNfYmZkLCAmc2VjdGlvbnMsICZzZWN0aW9uc19lbmQpKQotSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9tYWluLmMKLT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9tYWluLmMJMjAxNy0wMi0yNyAyMjoxODowMC45NDUw MjYyMTEgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbWFpbi5jCTIwMTctMDIt MjcgMjI6MTg6MDguMTEyMDc2MzU3ICswMTAwCi1AQCAtNDU5LDYgKzQ1OSwzNyBAQAorZGlmZiAt LWdpdCBhL2dkYi9tYWluLmMgYi9nZGIvbWFpbi5jCitpbmRleCA4ZjA0ZGExMDdhLi5kNWI0YzNh ZGI5IDEwMDY0NAorLS0tIGEvZ2RiL21haW4uYworKysrIGIvZ2RiL21haW4uYworQEAgLTQ0Niw2 ICs0NDYsMzcgQEAgc3RydWN0IGNtZGFyZwogICAgY2hhciAqc3RyaW5nOwogIH07CiAgCkBAIC0x NDcsOSArMTY1LDkgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9tYWluLmMKICt9 CiArCiAgc3RhdGljIHZvaWQKLSBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWlu X2FyZ3MgKmNvbnRleHQsIGludCAmcHl0aG9uX3NjcmlwdCkKKyBjYXB0dXJlZF9tYWluXzEgKHN0 cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCiAgewotQEAgLTkxMCw2ICs5NDEsOCBA QAorQEAgLTg4MSw2ICs5MTIsOCBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9t YWluX2FyZ3MgKmNvbnRleHQpCiAgCXsKICAJICBzeW1hcmcgPSBhcmd2W29wdGluZF07CiAgCSAg ZXhlY2FyZyA9IGFyZ3Zbb3B0aW5kXTsKQEAgLTE1OCw3ICsxNzYsNyBAQCBJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL21haW4uYwogIAkgIG9wdGluZCsrOwogIAl9CiAgCi1AQCAtMTA2 MCwxMSArMTA5MywyNSBAQAorQEAgLTEwMzEsMTEgKzEwNjQsMjUgQEAgY2FwdHVyZWRfbWFpbl8x IChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQogICAgICAgICYmIHN5bWFyZyAh PSBOVUxMCiAgICAgICAgJiYgc3RyY21wIChleGVjYXJnLCBzeW1hcmcpID09IDApCiAgICAgIHsK QEAgLTE3NywyNyArMTk1LDE2IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbWFp bi5jCiAgICAgICAgLyogVGhlIGV4ZWMgZmlsZSBhbmQgdGhlIHN5bWJvbC1maWxlIGFyZSB0aGUg c2FtZS4gIElmIHdlIGNhbid0CiAgICAgICAgICAgb3BlbiBpdCwgYmV0dGVyIG9ubHkgcHJpbnQg b25lIGVycm9yIG1lc3NhZ2UuCiAtICAgICAgICAgY2F0Y2hfY29tbWFuZF9lcnJvcnMgcmV0dXJu cyBub24temVybyBvbiBzdWNjZXNzISAgKi8KLS0gICAgICBpZiAoY2F0Y2hfY29tbWFuZF9lcnJv cnNfY29uc3QgKGV4ZWNfZmlsZV9hdHRhY2gsIGV4ZWNhcmcsCi0tCQkJCSAgICAgICFiYXRjaF9m bGFnKSkKKy0gICAgICBpZiAoY2F0Y2hfY29tbWFuZF9lcnJvcnMgKGV4ZWNfZmlsZV9hdHRhY2gs IGV4ZWNhcmcsCistCQkJCSFiYXRjaF9mbGFnKSkKICsgICAgICAgICBjYXRjaF9jb21tYW5kX2Vy cm9ycyByZXR1cm5zIG5vbi16ZXJvIG9uIHN1Y2Nlc3MhCiArCSBEbyBub3QgbG9hZCBFWEVDQVJH IGFzIGEgc3ltYm9sIGZpbGUgaWYgaXQgaGFzIGJlZW4gYWxyZWFkeSBwcm9jZXNzZWQKICsJIGFz IGEgY29yZSBmaWxlLiAgKi8KLSsgICAgICBpZiAoY2F0Y2hfY29tbWFuZF9lcnJvcnNfY29uc3Qg KGZ1bmMsIGV4ZWNhcmcsICFiYXRjaF9mbGFnKQorKyAgICAgIGlmIChjYXRjaF9jb21tYW5kX2Vy cm9ycyAoZnVuYywgZXhlY2FyZywgIWJhdGNoX2ZsYWcpCiArCSAgJiYgY29yZV9iZmQgPT0gTlVM TCkKLSAJY2F0Y2hfY29tbWFuZF9lcnJvcnNfY29uc3QgKHN5bWJvbF9maWxlX2FkZF9tYWluX2Fk YXB0ZXIsIHN5bWFyZywKLSAJCQkJICAgICFiYXRjaF9mbGFnKTsKKyAJY2F0Y2hfY29tbWFuZF9l cnJvcnMgKHN5bWJvbF9maWxlX2FkZF9tYWluX2FkYXB0ZXIsIHN5bWFyZywKKyAJCQkgICAgICAh YmF0Y2hfZmxhZyk7CiAgICAgIH0KLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvY29t bW9uL2NvbW1vbi1leGNlcHRpb25zLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3 MDIyNi5vcmlnL2dkYi9jb21tb24vY29tbW9uLWV4Y2VwdGlvbnMuaAkyMDE3LTAyLTI3IDIyOjE4 OjAwLjk0NjAyNjIxOCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9jb21tb24v Y29tbW9uLWV4Y2VwdGlvbnMuaAkyMDE3LTAyLTI3IDIyOjE4OjA4LjExMjA3NjM1NyArMDEwMAot QEAgLTEwNiw2ICsxMDYsOSBAQAotICAgICAgIl9FUlJPUiIgaXMgYXBwZW5kZWQgdG8gdGhlIG5h bWUuICAqLwotICAgTUFYX0NPTVBMRVRJT05TX1JFQUNIRURfRVJST1IsCi0gCi0rICAvKiBBdHRl bXB0IHRvIGxvYWQgYSBjb3JlIGZpbGUgYXMgZXhlY3V0YWJsZS4gICovCi0rICBJU19DT1JFX0VS Uk9SLAotKwotICAgLyogQWRkIG1vcmUgZXJyb3JzIGhlcmUuICAqLwotICAgTlJfRVJST1JTCi0g fTsKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLW1p c2xlYWRpbmctd2FybmluZy1taXNzaW5nLWRlYnVnaW5mby1yaGJ6OTgxMTU0LnBhdGNoIGIvZ2Ri LTYuNi1idWlsZGlkLWxvY2F0ZS1taXNsZWFkaW5nLXdhcm5pbmctbWlzc2luZy1kZWJ1Z2luZm8t cmhiejk4MTE1NC5wYXRjaAppbmRleCAzZGM4NWE2Li5jMTBlOGYxIDEwMDY0NAotLS0gYS9nZGIt Ni42LWJ1aWxkaWQtbG9jYXRlLW1pc2xlYWRpbmctd2FybmluZy1taXNzaW5nLWRlYnVnaW5mby1y aGJ6OTgxMTU0LnBhdGNoCisrKyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtbWlzbGVhZGluZy13 YXJuaW5nLW1pc3NpbmctZGVidWdpbmZvLXJoYno5ODExNTQucGF0Y2gKQEAgLTEsOSArMSwxNSBA QAorRnJvbSBlZTk1ZjFlMTY1ODk2Zjg2MDI2OGI0NmUwNGZjMTcxMTM3NGFmMDE5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWls LmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IGdk Yi02LjYtYnVpbGRpZC1sb2NhdGUtbWlzbGVhZGluZy13YXJuaW5nLW1pc3NpbmctZGVidWdpbmZv LXJoYno5ODExNTQucGF0Y2gKK1N1YmplY3Q6IAorIGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtbWlz bGVhZGluZy13YXJuaW5nLW1pc3NpbmctZGVidWdpbmZvLXJoYno5ODExNTQucGF0Y2gKIAogRmls ZU5hbWU6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtbWlzbGVhZGluZy13YXJuaW5nLW1pc3Npbmct ZGVidWdpbmZvLXJoYno5ODExNTQucGF0Y2gKIAorOzsgRml4ICdnZGIgZ2l2ZXMgaGlnaGx5IG1p c2xlYWRpbmcgZXJyb3Igd2hlbiBkZWJ1Z2luZm8gcGtnIGlzIHByZXNlbnQsCis7OyBidXQgbm90 IGNvcnJlc3BvbmRpbmcgYmluYXJ5IHBrZycgKFJIIEJaIDk4MTE1NCkuCis7Oz1wdXNoK2phbgor CiBDb21tZW50cyBieSBTZXJnaW8gRHVyaWdhbiBKdW5pb3IgPHNlcmdpb2RqQHJlZGhhdC5jb20+ OgogCiAgIFRoaXMgaXMgdGhlIGZpeCBmb3IgUkggQlogIzk4MTE1NApAQCAtMjAsMTEgKzI2LDMz IEBAIENvbW1lbnRzIGJ5IFNlcmdpbyBEdXJpZ2FuIEp1bmlvciA8c2VyZ2lvZGpAcmVkaGF0LmNv bT46CiAgIGFuZCBoYWQgYSBsaXR0bGUgdGhpbmtvIHRoZXJlLiAgVGhlIHZhcmlhYmxlICdmaWxl bmFtZScgbmVlZHMgdG8gYmUgc2V0IHRvCiAgIE5VTEwgYWZ0ZXIgaXQgaXMgZnJlZSdkLCBvdGhl cndpc2UgdGhlIGNvZGUgYmVsb3cgdGhpbmtzIHRoYXQgaXQgaXMgc3RpbGwKICAgdmFsaWQgYW5k IGRvZXNuJ3QgcHJpbnQgdGhlIG5lY2Vzc2FyeSB3YXJuaW5nICgiVHJ5OiB5dW0gaW5zdGFsbCAu Li4iKS4KKy0tLQorIGdkYi9idWlsZC1pZC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDUgKy0KKyAuLi4vcmhiejk4MTE1NC1taXNsZWFkaW5nLXl1bS1pbnN0YWxsLXdh cm5pbmcuZXhwICB8IDk3ICsrKysrKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQs IDEwMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdk Yi90ZXN0c3VpdGUvZ2RiLmJhc2Uvcmhiejk4MTE1NC1taXNsZWFkaW5nLXl1bS1pbnN0YWxsLXdh cm5pbmcuZXhwCiAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3JoYno5ODExNTQtbWlzbGVhZGluZy15dW0taW5zdGFsbC13YXJuaW5nLmV4cAotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvcmhiejk4 MTE1NC1taXNsZWFkaW5nLXl1bS1pbnN0YWxsLXdhcm5pbmcuZXhwCTIwMTctMDItMjYgMTk6MTQ6 NTguNDkyNjA5NjU5ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVp bGQtaWQuYworaW5kZXggYTFmZDNiZmFhYi4uODMxZjE2NDU5ZiAxMDA2NDQKKy0tLSBhL2dkYi9i dWlsZC1pZC5jCisrKysgYi9nZGIvYnVpbGQtaWQuYworQEAgLTU5Miw3ICs1OTIsMTAgQEAgYnVp bGRfaWRfdG9fZGVidWdfYmZkIChzaXplX3QgYnVpbGRfaWRfbGVuLCBjb25zdCBiZmRfYnl0ZSAq YnVpbGRfaWQsCisgCSAgZG9fY2xlYW51cHMgKGlubmVyKTsKKyAKKyAJICBpZiAoYWJmZCA9PSBO VUxMKQorLQkgICAgY29udGludWU7CisrCSAgICB7CisrCSAgICAgIGZpbGVuYW1lID0gTlVMTDsK KysJICAgICAgY29udGludWU7CisrCSAgICB9CisgCisgCSAgaWYgKGJ1aWxkX2lkX3ZlcmlmeSAo YWJmZC5nZXQoKSwgYnVpbGRfaWRfbGVuLCBidWlsZF9pZCkpCisgCSAgICBicmVhazsKK2RpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3JoYno5ODExNTQtbWlzbGVhZGluZy15dW0t aW5zdGFsbC13YXJuaW5nLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvcmhiejk4MTE1NC1t aXNsZWFkaW5nLXl1bS1pbnN0YWxsLXdhcm5pbmcuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMDAwMC4uYmI3MGM1Y2Y0NAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9yaGJ6OTgxMTU0LW1pc2xlYWRpbmcteXVtLWluc3RhbGwtd2Fybmlu Zy5leHAKIEBAIC0wLDAgKzEsOTcgQEAKICsjICAgQ29weXJpZ2h0IChDKSAyMDE0ICBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEyMywxOSArMTUxLDYgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvcmhiejk4MTE1NC1taXNs ZWFkaW5nLXl1bS1pbnMKICsKICsjIExlYXZpbmcgdGhlIGxpbmsgdGhlcmUgd2lsbCBjYXVzZSBi cmVha2FnZSBpbiB0aGUgbmV4dCBydW4uCiArcmVtb3RlX2V4ZWMgYnVpbGQgInJtIC1mIFtzdGFu ZGFyZF9vdXRwdXRfZmlsZSAke2J1aWxkX2lkX3dpdGhvdXRfZGVidWd9XSIKLUluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIwNy9nZGIvYnVpbGQtaWQuYwotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEy LjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL2J1aWxkLWlkLmMJMjAxNy0wMi0yNiAxOToxNDo1MS45NDM1 NjI3OTkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvYnVpbGQtaWQuYwkyMDE3 LTAyLTI2IDE5OjE0OjU4LjQ5MjYwOTY1OSArMDEwMAotQEAgLTU4OSw3ICs1ODksMTAgQEAKLSAJ ICBkb19jbGVhbnVwcyAoaW5uZXIpOwotIAotIAkgIGlmIChhYmZkID09IE5VTEwpCi0tCSAgICBj b250aW51ZTsKLSsJICAgIHsKLSsJICAgICAgZmlsZW5hbWUgPSBOVUxMOwotKwkgICAgICBjb250 aW51ZTsKLSsJICAgIH0KLSAKLSAJICBpZiAoYnVpbGRfaWRfdmVyaWZ5IChhYmZkLmdldCgpLCBi dWlsZF9pZF9sZW4sIGJ1aWxkX2lkKSkKLSAJICAgIGJyZWFrOworLS0gCisyLjE0LjMKKwoKZGlm ZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLWxpYnJwbS13b3JrYXJvdW5kLnBh dGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gK aW5kZXggYWVkMWZmZi4uZjM4ZWFkMyAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0 ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0 ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKQEAgLTEsMjcgKzEsMjIgQEAKK0Zyb20gZjE5 M2M0MTc1N2FhYjgxMGQxMTMzOWMxYTAwMWI2ZWEzM2I5NTc1ZiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRl OiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItNi42LWJ1aWxk aWQtbG9jYXRlLXJwbS1saWJycG0td29ya2Fyb3VuZC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYu Ni1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKIAorOzsgV29ya2Fy b3VuZCBsaWJycG0gQlogNjQzMDMxIGR1ZSB0byBpdHMgdW5leHBlY3RlZCBleGl0KCkgY2FsbHMg KEJaIDY0Mjg3OSkuCis7Oz1wdXNoK2phbgorLS0tCisgZ2RiL2J1aWxkLWlkLmMgICAgICAgIHwg MTMgKysrKysrKysrKysrKworIGdkYi9wcm9jLXNlcnZpY2UubGlzdCB8ICAzICsrKworIDIgZmls ZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKQogCi1JbmRleDogZ2RiLTcuNi45MC4yMDE0MDEy Ny9nZGIvcHJvYy1zZXJ2aWNlLmxpc3QKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy42LjkwLjIwMTQw MTI3Lm9yaWcvZ2RiL3Byb2Mtc2VydmljZS5saXN0CTIwMTQtMDItMDYgMTc6MzI6NDIuODEwNjQw MzIwICswMTAwCi0rKysgZ2RiLTcuNi45MC4yMDE0MDEyNy9nZGIvcHJvYy1zZXJ2aWNlLmxpc3QJ MjAxNC0wMi0wNiAxNzozMzozNS40MDY2OTY5NjQgKzAxMDAKLUBAIC0zNyw0ICszNyw3IEBACi0g ICBwc19wc3RvcDsKLSAgIHBzX3B0cmVhZDsKLSAgIHBzX3B0d3JpdGU7Ci0rCi0rICAvKiBnZGIt Ni42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaCAqLwotKyAgcnBtc3FFbmFibGU7Ci0gfTsKLUlu ZGV4OiBnZGItNy42LjkwLjIwMTQwMTI3L2dkYi9idWlsZC1pZC5jCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuNi45MC4yMDE0MDEyNy5vcmlnL2dkYi9idWlsZC1pZC5jCTIwMTQtMDItMDYgMTc6MzA6 MTQuMjMwNDgwMjY0ICswMTAwCi0rKysgZ2RiLTcuNi45MC4yMDE0MDEyNy9nZGIvYnVpbGQtaWQu YwkyMDE0LTAyLTA2IDE3OjM0OjI4Ljg0Njc1NDI4MyArMDEwMAotQEAgLTY3Nyw2ICs2NzcsMTkg QEAgYnVpbGRfaWRfdG9fZmlsZW5hbWUgKGNvbnN0IHN0cnVjdCBlbGZfYgorZGlmZiAtLWdpdCBh L2dkYi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMKK2luZGV4IGQ0MjBlM2Y5ZTcuLmExZmQz YmZhYWIgMTAwNjQ0CistLS0gYS9nZGIvYnVpbGQtaWQuYworKysrIGIvZ2RiL2J1aWxkLWlkLmMK K0BAIC02NzgsNiArNjc4LDE5IEBAIGJ1aWxkX2lkX3RvX2ZpbGVuYW1lIChjb25zdCBzdHJ1Y3Qg YmZkX2J1aWxkX2lkICpidWlsZF9pZCwgY2hhciAqKmxpbmtfcmV0dXJuKQogICNpbmNsdWRlIDxk bGZjbi5oPgogICNlbmRpZgogIApAQCAtNDEsMyArMzYsMTggQEAgSW5kZXg6IGdkYi03LjYuOTAu MjAxNDAxMjcvZ2RiL2J1aWxkLWlkLmMKICAvKiBUaGlzIE1JU1NJTkdfUlBNX0hBU0ggdHJhY2tl ciBpcyB1c2VkIHRvIGNvbGxlY3QgYWxsIHRoZSBtaXNzaW5nIHJwbSBmaWxlcwogICAgIGFuZCBh dm9pZCB0aGVpciBkdXBsaWNpdGllcyBkdXJpbmcgYSBzaW5nbGUgaW5mZXJpb3IgcnVuLiAgKi8K ICAKK2RpZmYgLS1naXQgYS9nZGIvcHJvYy1zZXJ2aWNlLmxpc3QgYi9nZGIvcHJvYy1zZXJ2aWNl Lmxpc3QKK2luZGV4IDc5YzJlNWI3ZmMuLmFjODM2NDkyOGMgMTAwNjQ0CistLS0gYS9nZGIvcHJv Yy1zZXJ2aWNlLmxpc3QKKysrKyBiL2dkYi9wcm9jLXNlcnZpY2UubGlzdAorQEAgLTM3LDQgKzM3 LDcgQEAKKyAgIHBzX3BzdG9wOworICAgcHNfcHRyZWFkOworICAgcHNfcHR3cml0ZTsKKysKKysg IC8qIGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoICovCisrICBycG1zcUVuYWJsZTsK KyB9OworLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUt cnBtLXNjbC5wYXRjaCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLXNjbC5wYXRjaAppbmRl eCBmMzc1MmViLi43M2Y2OTAwIDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJw bS1zY2wucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tc2NsLnBhdGNoCkBA IC0xLDE2ICsxLDI1IEBACitGcm9tIDFlZGMxOTkwN2EzZmY2NjEzMmNjYTY5YzU0YjBjZGZlYWYy MWEyYjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMg PGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIw MAogU3ViamVjdDogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tc2NsLnBhdGNoCiAKIEZpbGVO YW1lOiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKIAorOzsgW1NDTF0gU2tp cCBkZXByZWNhdGVkIC5nZGJfaW5kZXggd2FybmluZyBmb3IgUmVkIEhhdCBidWlsdCBmaWxlcyAo QlogOTUzNTg1KS4KKzs7PXB1c2gramFuCisKIHdhcm5pbmc6IFNraXBwaW5nIGRlcHJlY2F0ZWQg LmdkYl9pbmRleCBzZWN0aW9uCiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcu Y2dpP2lkPTk1MzU4NQorLS0tCisgZ2RiL2J1aWxkLWlkLmMgICB8IDU0ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi9kd2FyZjJyZWFk LmMgfCAxNCArKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygr KQogCi1kaWZmIC1kdXAgLXJ1cCBnZGItNy4xMC41MC4yMDE2MDEwNi1vcmlnL2dkYi9idWlsZC1p ZC5jIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9idWlsZC1pZC5jCi0tLS0gZ2RiLTcuMTAuNTAu MjAxNjAxMDYtb3JpZy9nZGIvYnVpbGQtaWQuYwkyMDE2LTAxLTA5IDE0OjQwOjM5LjQyMDM4NTI0 MSArMDEwMAotKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9idWlsZC1pZC5jCTIwMTYtMDEt MDkgMTQ6NDE6MDUuOTQ0NTQ5MzkzICswMTAwCi1AQCAtNzEzLDcgKzcxMywxMSBAQCBzdGF0aWMg aW50IG1pc3NpbmdfcnBtX2xpc3RfZW50cmllczsKK2RpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQu YyBiL2dkYi9idWlsZC1pZC5jCitpbmRleCA4MzFmMTY0NTlmLi41MzFlNjUyZTc1IDEwMDY0NAor LS0tIGEvZ2RiL2J1aWxkLWlkLmMKKysrKyBiL2dkYi9idWlsZC1pZC5jCitAQCAtNzE1LDcgKzcx NSwxMSBAQCBzdGF0aWMgaW50IG1pc3NpbmdfcnBtX2xpc3RfZW50cmllczsKICAvKiBSZXR1cm5z IHRoZSBjb3VudCBvZiBuZXdseSBhZGRlZCBycG1zLiAgKi8KICAKICBzdGF0aWMgaW50CkBAIC0y Miw3ICszMSw3IEBAIGRpZmYgLWR1cCAtcnVwIGdkYi03LjEwLjUwLjIwMTYwMTA2LW9yaWcvZ2Ri L2J1aWxkLWlkLmMgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiCiAgewogICAgc3RhdGljIGludCBy cG1faW5pdF9kb25lID0gMDsKICAgIHJwbXRzIHRzOwotQEAgLTgxNyw3ICs4MjEsMTEgQEAgbWlz c2luZ19ycG1fZW5saXN0IChjb25zdCBjaGFyICpmaWxlbmFtZQorQEAgLTgyMiw3ICs4MjYsMTEg QEAgbWlzc2luZ19ycG1fZW5saXN0IChjb25zdCBjaGFyICpmaWxlbmFtZSkKICAgIG1pID0gcnBt dHNJbml0SXRlcmF0b3JfcCAodHMsIFJQTVRBR19CQVNFTkFNRVMsIGZpbGVuYW1lLCAwKTsKICAg IGlmIChtaSAhPSBOVUxMKQogICAgICB7CkBAIC0zNCw3ICs0Myw3IEBAIGRpZmYgLWR1cCAtcnVw IGdkYi03LjEwLjUwLjIwMTYwMTA2LW9yaWcvZ2RiL2J1aWxkLWlkLmMgZ2RiLTcuMTAuNTAuMjAx NjAxMDYvZ2RiCiAgCXsKICAJICBIZWFkZXIgaDsKICAJICBjaGFyICpkZWJ1Z2luZm8sICoqc2xv dCwgKnMsICpzMjsKLUBAIC05MzUsNiArOTQzLDM3IEBAIG1pc3NpbmdfcnBtX2VubGlzdCAoY29u c3QgY2hhciAqZmlsZW5hbWUKK0BAIC05NDAsNiArOTQ4LDM3IEBAIG1pc3NpbmdfcnBtX2VubGlz dCAoY29uc3QgY2hhciAqZmlsZW5hbWUpCiAgCSAgICB4ZnJlZSAoZGVidWdpbmZvKTsKICAJICBj b3VudCsrOwogIAl9CkBAIC03Miw3ICs4MSw3IEBAIGRpZmYgLWR1cCAtcnVwIGdkYi03LjEwLjUw LjIwMTYwMTA2LW9yaWcvZ2RiL2J1aWxkLWlkLmMgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiCiAg CiAgICAgICAgcnBtZGJGcmVlSXRlcmF0b3JfcCAobWkpOwogICAgICB9Ci1AQCAtOTQ1LDYgKzk4 NCwyMSBAQCBtaXNzaW5nX3JwbV9lbmxpc3QgKGNvbnN0IGNoYXIgKmZpbGVuYW1lCitAQCAtOTUw LDYgKzk4OSwyMSBAQCBtaXNzaW5nX3JwbV9lbmxpc3QgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQog IH0KICAKICBzdGF0aWMgaW50CkBAIC05NCwxMCArMTAzLDExIEBAIGRpZmYgLWR1cCAtcnVwIGdk Yi03LjEwLjUwLjIwMTYwMTA2LW9yaWcvZ2RiL2J1aWxkLWlkLmMgZ2RiLTcuMTAuNTAuMjAxNjAx MDYvZ2RiCiAgbWlzc2luZ19ycG1fbGlzdF9jb21wYXIgKGNvbnN0IGNoYXIgKmNvbnN0ICphcCwg Y29uc3QgY2hhciAqY29uc3QgKmJwKQogIHsKICAgIHJldHVybiBzdHJjb2xsICgqYXAsICpicCk7 Ci1kaWZmIC1kdXAgLXJ1cCBnZGItNy4xMC41MC4yMDE2MDEwNi1vcmlnL2dkYi9kd2FyZjJyZWFk LmMgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2R3YXJmMnJlYWQuYwotLS0tIGdkYi03LjEwLjUw LjIwMTYwMTA2LW9yaWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDE2LTAxLTA5IDE0OjQwOjM5LjQxNjM4 NTIxNiArMDEwMAotKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9kd2FyZjJyZWFkLmMJMjAx Ni0wMS0wOSAxNDo0MTowNS45NDI1NDkzODEgKzAxMDAKLUBAIC0zMTExLDYgKzMxMTEsMTYgQEAg cmVhZF9pbmRleF9mcm9tX3NlY3Rpb24gKHN0cnVjdCBvYmpmaWxlCitkaWZmIC0tZ2l0IGEvZ2Ri L2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKK2luZGV4IDQ5YjI2NThhZGUuLmU0NDg0 NGZiZDcgMTAwNjQ0CistLS0gYS9nZGIvZHdhcmYycmVhZC5jCisrKysgYi9nZGIvZHdhcmYycmVh ZC5jCitAQCAtMzM3Myw2ICszMzczLDE2IEBAIHJlYWRfaW5kZXhfZnJvbV9zZWN0aW9uIChzdHJ1 Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAgICAgICJzZXQgdXNlLWRlcHJlY2F0ZWQtaW5kZXgtc2Vj dGlvbnMgb24iLiAgKi8KICAgIGlmICh2ZXJzaW9uIDwgNiAmJiAhZGVwcmVjYXRlZF9vaykKICAg ICAgewpAQCAtMTE0LDcgKzEyNCw3IEBAIGRpZmYgLWR1cCAtcnVwIGdkYi03LjEwLjUwLjIwMTYw MTA2LW9yaWcvZ2RiL2R3YXJmMnJlYWQuYyBnZGItNy4xMC41MC4yMDE2MDEwNi9nCiAgICAgICAg c3RhdGljIGludCB3YXJuaW5nX3ByaW50ZWQgPSAwOwogICAgICAgIGlmICghd2FybmluZ19wcmlu dGVkKQogIAl7Ci1AQCAtMzEyMiw2ICszMTMyLDEwIEBAIHRvIHVzZSB0aGUgc2VjdGlvbiBhbnl3 YXkuIiksCitAQCAtMzM4NCw2ICszMzk0LDEwIEBAIHRvIHVzZSB0aGUgc2VjdGlvbiBhbnl3YXku IiksCiAgCSAgd2FybmluZ19wcmludGVkID0gMTsKICAJfQogICAgICAgIHJldHVybiAwOwpAQCAt MTI1LDMgKzEzNSw2IEBAIGRpZmYgLWR1cCAtcnVwIGdkYi03LjEwLjUwLjIwMTYwMTA2LW9yaWcv Z2RiL2R3YXJmMnJlYWQuYyBnZGItNy4xMC41MC4yMDE2MDEwNi9nCiAgICAgIH0KICAgIC8qIFZl cnNpb24gNyBpbmRpY2VzIGdlbmVyYXRlZCBieSBnb2xkIHJlZmVyIHRvIHRoZSBDVSBmb3IgYSBz eW1ib2wgaW5zdGVhZAogICAgICAgb2YgdGhlIFRVIChmb3Igc3ltYm9scyBjb21pbmcgZnJvbSBU VXMpLAorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUt cnBtLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gKaW5kZXggZGE4NDgz Ni4uZjEwNjdiZCAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gK KysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gKQEAgLTEsNjEgKzEsMjcgQEAK K0Zyb20gODg4MjcxNjUxMmEyYTY1NmVkZjhhNjAwYWY3OWY1MzYzMGU1NjMyYyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5j b20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGIt Ni42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuNi1idWlsZGlk LWxvY2F0ZS1ycG0ucGF0Y2gKIAorOzs9cHVzaCtqYW4KKy0tLQorIGdkYi9hY2xvY2FsLm00ICAg fCAyMTUgKysrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvYnVpbGQtaWQuYyAgIHwgNDA3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCisgZ2RiL2NvbmZpZy5p biAgICB8ICAgNiArCisgZ2RiL2NvbmZpZ3VyZSAgICB8IDUwOCArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL2NvbmZpZ3VyZS5hYyB8 IDE5MyArKysrKysrKysrKysrKysrKysrKysKKyBnZGIvY29yZWxvdy5jICAgIHwgICAyICstCisg Z2RiL2V2ZW50LXRvcC5jICB8ICAgOCArLQorIGdkYi9zeW1maWxlLmggICAgfCAgIDIgKworIDgg ZmlsZXMgY2hhbmdlZCwgMTMzMSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKIAotSW5k ZXg6IGdkYi03LjExLjUwLjIwMTYwNjMwL2dkYi9ldmVudC10b3AuYwotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjExLjUwLjIwMTYwNjMwLm9yaWcvZ2RiL2V2ZW50LXRvcC5jCTIwMTYtMDctMDIgMjM6 NDM6MjQuMDg1MjE0MTQ0ICswMjAwCi0rKysgZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL2V2ZW50 LXRvcC5jCTIwMTYtMDctMDMgMTQ6Mzc6MTIuNTcyMTMwNzM0ICswMjAwCi1AQCAtNDAsNiArNDAs NyBAQAotICNpbmNsdWRlICJidWZmZXIuaCIKLSAjaW5jbHVkZSAic2VyLWV2ZW50LmgiCi0gI2lu Y2x1ZGUgImdkYl9zZWxlY3QuaCIKLSsjaW5jbHVkZSAic3ltZmlsZS5oIgotIAotIC8qIHJlYWRs aW5lIGluY2x1ZGUgZmlsZXMuICAqLwotICNpbmNsdWRlICJyZWFkbGluZS9yZWFkbGluZS5oIgot QEAgLTM0Nyw2ICszNDgsOCBAQAotICAgLyogUmVzZXQgdGhlIG5lc3RpbmcgZGVwdGggdXNlZCB3 aGVuIHRyYWNlLWNvbW1hbmRzIGlzIHNldC4gICovCi0gICByZXNldF9jb21tYW5kX25lc3RfZGVw dGggKCk7Ci0gCi0rICBkZWJ1Z19mbHVzaF9taXNzaW5nICgpOwotKwotICAgb2xkX2NoYWluID0g bWFrZV9jbGVhbnVwIChmcmVlX2N1cnJlbnRfY29udGVudHMsICZhY3R1YWxfZ2RiX3Byb21wdCk7 Ci0gCi0gICAvKiBEbyBub3QgY2FsbCB0aGUgcHl0aG9uIGhvb2sgb24gYW4gZXhwbGljaXQgcHJv bXB0IGNoYW5nZSBhcwotQEAgLTc5NCw3ICs3OTcsMTAgQEAKLSAgICAgICBjb21tYW5kX2hhbmRs ZXIgKGNtZCk7Ci0gCi0gICAgICAgaWYgKHVpLT5wcm9tcHRfc3RhdGUgIT0gUFJPTVBURUQpCi0t CWRpc3BsYXlfZ2RiX3Byb21wdCAoMCk7Ci0rCXsKLSsJICBkZWJ1Z19mbHVzaF9taXNzaW5nICgp OwotKwkgIGRpc3BsYXlfZ2RiX3Byb21wdCAoMCk7Ci0rCX0KLSAgICAgfQotIH0KLSAKLUluZGV4 OiBnZGItNy4xMS41MC4yMDE2MDYzMC9nZGIvc3ltZmlsZS5oCi09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTEuNTAuMjAxNjA2MzAub3JpZy9nZGIvc3ltZmlsZS5oCTIwMTYtMDctMDMgMTQ6MzQ6MzIu MDMyNzUzNjY4ICswMjAwCi0rKysgZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL3N5bWZpbGUuaAky MDE2LTA3LTAzIDE0OjM3OjEyLjU3MzEzMDc0MiArMDIwMAotQEAgLTU5Miw2ICs1OTIsOCBAQAot IC8qIGJ1aWxkLWlkIHN1cHBvcnQuICAqLwotIGV4dGVybiBzdHJ1Y3QgYmZkX2J1aWxkX2lkICpi dWlsZF9pZF9hZGRyX2dldCAoQ09SRV9BRERSIGFkZHIpOwotIGV4dGVybiB2b2lkIGRlYnVnX3By aW50X21pc3NpbmcgKGNvbnN0IGNoYXIgKmJpbmFyeSwgY29uc3QgY2hhciAqZGVidWcpOwotK2V4 dGVybiB2b2lkIGRlYnVnX2ZsdXNoX21pc3NpbmcgKHZvaWQpOwotKyNkZWZpbmUgQlVJTERfSURf TUFJTl9FWEVDVVRBQkxFX0ZJTEVOQU1FIF8oInRoZSBtYWluIGV4ZWN1dGFibGUgZmlsZSIpCi0g Ci0gLyogRnJvbSBkd2FyZjJyZWFkLmMgKi8KLSAKLUluZGV4OiBnZGItNy4xMS41MC4yMDE2MDYz MC9nZGIvYWNsb2NhbC5tNAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjExLjUwLjIwMTYwNjMwLm9y aWcvZ2RiL2FjbG9jYWwubTQJMjAxNi0wNy0wMiAyMzo0MzoyNC4wODUyMTQxNDQgKzAyMDAKLSsr KyBnZGItNy4xMS41MC4yMDE2MDYzMC9nZGIvYWNsb2NhbC5tNAkyMDE2LTA3LTAzIDE0OjM3OjEy LjU3NjEzMDc2OCArMDIwMAotQEAgLTExLDYgKzExLDIyMSBAQAorZGlmZiAtLWdpdCBhL2dkYi9h Y2xvY2FsLm00IGIvZ2RiL2FjbG9jYWwubTQKK2luZGV4IGUwZDM4ZWEyNjcuLmRhNWFjMzEzZTMg MTAwNjQ0CistLS0gYS9nZGIvYWNsb2NhbC5tNAorKysrIGIvZ2RiL2FjbG9jYWwubTQKK0BAIC0x Miw2ICsxMiwyMjEgQEAKICAjIGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEKICAjIFBBUlRJQ1VMQVIgUFVSUE9TRS4KICAKQEAgLTI3 Niw1OTIgKzI0Miw1MzkgQEAgSW5kZXg6IGdkYi03LjExLjUwLjIwMTYwNjMwL2dkYi9hY2xvY2Fs Lm00CiArCiAgIyBBTV9BVVhfRElSX0VYUEFORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLSotIEF1dG9jb25mIC0qLQogIAotICMgQ29weXJpZ2h0IChDKSAyMDAxLCAy MDAzLCAyMDA1ICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLUluZGV4OiBnZGItNy4x MS41MC4yMDE2MDYzMC9nZGIvY29uZmlnLmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuNTAu MjAxNjA2MzAub3JpZy9nZGIvY29uZmlnLmluCTIwMTYtMDctMDIgMjM6NDM6MjQuMDg1MjE0MTQ0 ICswMjAwCi0rKysgZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL2NvbmZpZy5pbgkyMDE2LTA3LTAz IDE0OjM3OjEyLjU3NjEzMDc2OCArMDIwMAotQEAgLTMzLDYgKzMzLDkgQEAKLSAvKiBEZWZpbmUg dG8gQkZEJ3MgZGVmYXVsdCB0YXJnZXQgdmVjdG9yLiAqLwotICN1bmRlZiBERUZBVUxUX0JGRF9W RUMKKyAjIENvcHlyaWdodCAoQykgMjAwMSwgMjAwMywgMjAwNSwgMjAxMSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KK2RpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWls ZC1pZC5jCitpbmRleCAxMWQzNzc0ZDllLi5kNDIwZTNmOWU3IDEwMDY0NAorLS0tIGEvZ2RiL2J1 aWxkLWlkLmMKKysrKyBiL2dkYi9idWlsZC1pZC5jCitAQCAtMzUsNiArMzUsOCBAQAorICNpbmNs dWRlICJlbGYvY29tbW9uLmgiCisgI2luY2x1ZGUgImVsZi1iZmQuaCIKKyAjaW5jbHVkZSA8c3lz L3N0YXQuaD4KKysjaW5jbHVkZSAiZWxmL2V4dGVybmFsLmgiCisrI2luY2x1ZGUgImluZmVyaW9y LmgiCiAgCi0rLyogbGlicnBtIHZlcnNpb24gc3BlY2lmaWMgbGlicmFyeSBuYW1lIHRvIGRsb3Bl bi4gKi8KLSsjdW5kZWYgRExPUEVOX0xJQlJQTQotKwotIC8qIERlZmluZSB0byAxIGlmIHRyYW5z bGF0aW9uIG9mIHByb2dyYW0gbWVzc2FnZXMgdG8gdGhlIHVzZXIncyBuYXRpdmUKLSAgICBsYW5n dWFnZSBpcyByZXF1ZXN0ZWQuICovCi0gI3VuZGVmIEVOQUJMRV9OTFMKLUBAIC0yNjEsNiArMjY0 LDkgQEAKLSAvKiBEZWZpbmUgaWYgUHl0aG9uIDIuNyBpcyBiZWluZyB1c2VkLiAqLwotICN1bmRl ZiBIQVZFX0xJQlBZVEhPTjJfNworICNkZWZpbmUgQlVJTERfSURfVkVSQk9TRV9OT05FIDAKKyAj ZGVmaW5lIEJVSUxEX0lEX1ZFUkJPU0VfRklMRU5BTUVTIDEKK0BAIC02NjYsOCArNjY4LDM2NiBA QCBidWlsZF9pZF90b19maWxlbmFtZSAoY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRf aWQsIGNoYXIgKipsaW5rX3JldHVybikKKyAgIHJldHVybiByZXN1bHQ7CisgfQogIAotKy8qIERl ZmluZSBpZiBsaWJycG0gbGlicmFyeSBpcyBiZWluZyB1c2VkLiAqLwotKyN1bmRlZiBIQVZFX0xJ QlJQTQorKyNpZmRlZiBIQVZFX0xJQlJQTQogKwotIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl IHRoZSA8bGlidW53aW5kLWlhNjQuaD4gaGVhZGVyIGZpbGUuICovCi0gI3VuZGVmIEhBVkVfTElC VU5XSU5EX0lBNjRfSAotIAotSW5kZXg6IGdkYi03LjExLjUwLjIwMTYwNjMwL2dkYi9jb25maWd1 cmUKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMS41MC4yMDE2MDYzMC5vcmlnL2dkYi9jb25maWd1 cmUJMjAxNi0wNy0wMiAyMzo0MzoyNC4wODUyMTQxNDQgKzAyMDAKLSsrKyBnZGItNy4xMS41MC4y MDE2MDYzMC9nZGIvY29uZmlndXJlCTIwMTYtMDctMDMgMTQ6Mzc6MTIuNTgxMTMwODExICswMjAw Ci1AQCAtNzA1LDYgKzcwNSwxMSBAQAotIEhBVkVfTkFUSVZFX0dDT1JFX1RBUkdFVAotIFRBUkdF VF9PQlMKLSBzdWJkaXJzCi0rUlBNX0xJQlMKLStSUE1fQ0ZMQUdTCi0rUEtHX0NPTkZJR19MSUJE SVIKLStQS0dfQ09ORklHX1BBVEgKLStQS0dfQ09ORklHCi0gR0RCX0RBVEFESVIKLSBERUJVR0RJ UgotIE1BS0VJTkZPX0VYVFJBX0ZMQUdTCi1AQCAtODE0LDYgKzgxOSw3IEBACi0gd2l0aF9yZWxv Y2F0ZWRfc291cmNlcwotIHdpdGhfYXV0b19sb2FkX2RpcgotIHdpdGhfYXV0b19sb2FkX3NhZmVf cGF0aAotK3dpdGhfcnBtCi0gZW5hYmxlX3RhcmdldHMKLSBlbmFibGVfNjRfYml0X2JmZAotIGVu YWJsZV9nZGJjbGkKLUBAIC04NzAsNiArODc2LDExIEBACi0gQ1BQCi0gTUFLRUlORk8KLSBNQUtF SU5GT0ZMQUdTCi0rUEtHX0NPTkZJRwotK1BLR19DT05GSUdfUEFUSAotK1BLR19DT05GSUdfTElC RElSCi0rUlBNX0NGTEFHUwotK1JQTV9MSUJTCi0gWUFDQwotIFlGTEFHUwotIFhNS01GJwotQEAg LTE1NDEsNiArMTU1Miw4IEBACi0gICAgICAgICAgICAgICAgICAgICAgICAgICBbLS13aXRoLWF1 dG8tbG9hZC1kaXJdCi0gICAtLXdpdGhvdXQtYXV0by1sb2FkLXNhZmUtcGF0aAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IGF1dG8tbG9hZGVkIGZpbGVzIGxvY2F0 aW9ucwotKyAgLS13aXRoLXJwbSAgICAgICAgICAgICAgcXVlcnkgcnBtIGRhdGFiYXNlIGZvciBt aXNzaW5nIGRlYnVnaW5mb3MgKHllcy9ubywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgIGRl Zi4gYXV0bz1saWJycG0uc28pCi0gICAtLXdpdGgtbGlidW53aW5kLWlhNjQgICB1c2UgbGlidW53 aW5kIGZyYW1lIHVud2luZGluZyBmb3IgaWE2NCB0YXJnZXRzCi0gICAtLXdpdGgtY3Vyc2VzICAg ICAgICAgICB1c2UgdGhlIGN1cnNlcyBsaWJyYXJ5IGluc3RlYWQgb2YgdGhlIHRlcm1jYXAKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcnkKLUBAIC0xNTk1LDYgKzE2MDgsMTMgQEAK LSAgIE1BS0VJTkZPICAgIFBhcmVudCBjb25maWd1cmUgZGV0ZWN0cyBpZiBpdCBpcyBvZiBzdWZm aWNpZW50IHZlcnNpb24uCi0gICBNQUtFSU5GT0ZMQUdTCi0gICAgICAgICAgICAgICBQYXJhbWV0 ZXJzIGZvciBNQUtFSU5GTy4KLSsgIFBLR19DT05GSUcgIHBhdGggdG8gcGtnLWNvbmZpZyB1dGls aXR5Ci0rICBQS0dfQ09ORklHX1BBVEgKLSsgICAgICAgICAgICAgIGRpcmVjdG9yaWVzIHRvIGFk ZCB0byBwa2ctY29uZmlnJ3Mgc2VhcmNoIHBhdGgKLSsgIFBLR19DT05GSUdfTElCRElSCi0rICAg ICAgICAgICAgICBwYXRoIG92ZXJyaWRpbmcgcGtnLWNvbmZpZydzIGJ1aWx0LWluIHNlYXJjaCBw YXRoCi0rICBSUE1fQ0ZMQUdTICBDIGNvbXBpbGVyIGZsYWdzIGZvciBSUE0sIG92ZXJyaWRpbmcg cGtnLWNvbmZpZwotKyAgUlBNX0xJQlMgICAgbGlua2VyIGZsYWdzIGZvciBSUE0sIG92ZXJyaWRp bmcgcGtnLWNvbmZpZwotICAgWUFDQyAgICAgICAgVGhlIGBZZXQgQW5vdGhlciBDIENvbXBpbGVy JyBpbXBsZW1lbnRhdGlvbiB0byB1c2UuIERlZmF1bHRzIHRvCi0gICAgICAgICAgICAgICB0aGUg Zmlyc3QgcHJvZ3JhbSBmb3VuZCBvdXQgb2Y6IGBiaXNvbiAteScsIGBieWFjYycsIGB5YWNjJy4K LSAgIFlGTEFHUyAgICAgIFRoZSBsaXN0IG9mIGFyZ3VtZW50cyB0aGF0IHdpbGwgYmUgcGFzc2Vk IGJ5IGRlZmF1bHQgdG8gJFlBQ0MuCi1AQCAtNTYxMyw2ICs1NjMzLDQ5NCBAQAotIHsgJGFzX2Vj aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkd2l0aF9hdXRvX2xvYWRf c2FmZV9wYXRoIiA+JjUKLSAkYXNfZWNobyAiJHdpdGhfYXV0b19sb2FkX3NhZmVfcGF0aCIgPiY2 OyB9Ci0gCi0rIyBJbnRlZ3JhdGlvbiB3aXRoIHJwbSBsaWJyYXJ5IHRvIHN1cHBvcnQgbWlzc2lu ZyBkZWJ1Z2luZm8gc3VnZ2VzdGlvbnMuCi0rIyAtLXdpdGhvdXQtcnBtOiBEaXNhYmxlIGFueSBy cG0gc3VwcG9ydC4KLSsjIC0td2l0aC1ycG09bGlibmFtZS5zbzogVHJ5IHRvIGR5bmFtaWNhbGx5 IG9wZW4gYGxpYm5hbWUuc28nIGR1cmluZyBydW50aW1lLgotKyMgICBFdmVuIHdpdGggcnVudGlt ZSBtaXNzaW5nIGBsaWJuYW1lLnNvJyBHREIgd2lsbCBzdGlsbCBvdGhlciBydW4gY29ycmVjdGx5 LgotKyMgICBNaXNzaW5nIGBsaWJuYW1lLnNvJyBkdXJpbmcgLi9jb25maWd1cmUgd2lsbCBhYm9y dCB0aGUgY29uZmlndXJhdGlvbi4KLSsjIC0td2l0aC1ycG09bGlicnBtLnNvOiBMaWtlIGAtLXdp dGgtcnBtPWxpYm5hbWUuc28nIGJ1dCB0cnkgdG8gZmluZCBzcGVjaWZpYwotKyMgICBtaW5vciB2 ZXJzaW9uIGZpcnN0IHN1Y2ggYXMgYGxpYnJwbS00LjYuc28nIGFzIG1pbm9yIHZlcnNpb24gZGlm ZmVyZW5jZXMKLSsjICAgbWVhbiBBUEkrQUJJIGluY29tcGF0aWJpbGl0eS4gIElmIHRoZSBzcGVj aWZpYyBtYXRjaCB2ZXJzaW9uZWQgbGlicmFyeSBuYW1lCi0rIyAgIGNvdWxkIG5vdCBiZSBmb3Vu ZCBzdGlsbCBvcGVuIGR5bmFtaWNhbGx5IGF0IGxlYXN0IGBsaWJycG0uc28nLgotKyMgLS13aXRo LXJwbTogTGlrZSBgLS13aXRoLXJwbT1saWJycG0uc28nIGJ1dCBpZiBhbnkgb2YgaXRzIGRldGVj dGlvbiBmYWlscyB0cnkKLSsjICAgdG8gZmluZCBsaWJycG0gZm9yIGNvbXBpbGF0aW9uLXRpbWUg bGlua2luZyBieSBwa2ctY29uZmlnLiAgR0RCIGJpbmFyeSB3aWxsCi0rIyAgIGJlIHByb2JhYmx5 IGxpbmtlZCB3aXRoIHRoZSB2ZXJzaW9uIHNwZWNpZmljIGxpYnJhcnkgKGFzIGBsaWJycG0tNC42 LnNvJykuCi0rIyAgIEZhaWx1cmUgdG8gZmluZCBsaWJycG0gYnkgcGtnLWNvbmZpZyB3aWxsIGFi b3J0IHRoZSBjb25maWd1cmF0aW9uLgotKyMgKGRlZmF1bHQpIC0td2l0aC1ycG09YXV0bzogTGlr ZSBgLS13aXRoLXJwbT1saWJycG0uc28nIGJ1dCBpZiBldmVuIHBrZy1jb25maWcKLSsjICAgY2Fu bm90IGZpbmQgbGlicnBtIHVzZSB0byB0aGUgcnBtbGVzcyBjb21waWxhdGlvbiAobGlrZSBgLS13 aXRob3V0LXJwbScpLgorKyNpbmNsdWRlIDxycG0vcnBtbGliLmg+CisrI2luY2x1ZGUgPHJwbS9y cG10cy5oPgorKyNpbmNsdWRlIDxycG0vcnBtZGIuaD4KKysjaW5jbHVkZSA8cnBtL2hlYWRlci5o PgorKyNpZmRlZiBETE9QRU5fTElCUlBNCisrI2luY2x1ZGUgPGRsZmNuLmg+CisrI2VuZGlmCiAr CisrLyogVGhpcyBNSVNTSU5HX1JQTV9IQVNIIHRyYWNrZXIgaXMgdXNlZCB0byBjb2xsZWN0IGFs bCB0aGUgbWlzc2luZyBycG0gZmlsZXMKKysgICBhbmQgYXZvaWQgdGhlaXIgZHVwbGljaXRpZXMg ZHVyaW5nIGEgc2luZ2xlIGluZmVyaW9yIHJ1bi4gICovCiArCi0rIyBDaGVjayB3aGV0aGVyIC0t d2l0aC1ycG0gd2FzIGdpdmVuLgotK2lmIHRlc3QgIiR7d2l0aF9ycG0rc2V0fSIgPSBzZXQ7IHRo ZW4gOgotKyAgd2l0aHZhbD0kd2l0aF9ycG07Ci0rZWxzZQotKyAgd2l0aF9ycG09ImF1dG8iCi0r ZmkKKytzdGF0aWMgc3RydWN0IGh0YWIgKm1pc3NpbmdfcnBtX2hhc2g7CiArCisrLyogVGhpcyBN SVNTSU5HX1JQTV9MSVNUIHRyYWNrZXIgaXMgdXNlZCB0byBjb2xsZWN0IGFuZCBwcmludCBhcyBh IHNpbmdsZSBsaW5lCisrICAgYWxsIHRoZSBycG1zIHJpZ2h0IGJlZm9yZSB0aGUgbmVhcmVzdCBH REIgcHJvbXB0LiAgSXQgZ2V0cyBjbGVhcmVkIGFmdGVyCisrICAgZWFjaCBzdWNoIHByaW50IChp dCBpcyBxdWVzdGlvbmFibGUgaWYgd2Ugc2hvdWxkIGNsZWFyIGl0IGFmdGVyIHRoZSBwcmludCku CisrICAgKi8KICsKKytzdHJ1Y3QgbWlzc2luZ19ycG0KKysgIHsKKysgICAgc3RydWN0IG1pc3Np bmdfcnBtICpuZXh0OworKyAgICBjaGFyIHJwbVsxXTsKKysgIH07Cisrc3RhdGljIHN0cnVjdCBt aXNzaW5nX3JwbSAqbWlzc2luZ19ycG1fbGlzdDsKKytzdGF0aWMgaW50IG1pc3NpbmdfcnBtX2xp c3RfZW50cmllczsKICsKKysvKiBSZXR1cm5zIHRoZSBjb3VudCBvZiBuZXdseSBhZGRlZCBycG1z LiAgKi8KICsKLStpZiB0ZXN0ICJ4JHdpdGhfcnBtIiAhPSAieG5vIjsgdGhlbgotKyAgaWYgdGVz dCAieCR3aXRoX3JwbSIgPSAieHllcyI7IHRoZW4KLSsgICAgTElCUlBNPSJsaWJycG0uc28iCi0r ICAgIFJQTV9SRVFVSVJFPXRydWUKLSsgICAgRExPUEVOX1JFUVVJUkU9ZmFsc2UKLSsgIGVsaWYg dGVzdCAieCR3aXRoX3JwbSIgPSAieGF1dG8iOyB0aGVuCi0rICAgIExJQlJQTT0ibGlicnBtLnNv IgotKyAgICBSUE1fUkVRVUlSRT1mYWxzZQotKyAgICBETE9QRU5fUkVRVUlSRT1mYWxzZQotKyAg ZWxzZQotKyAgICBMSUJSUE09IiR3aXRoX3JwbSIKLSsgICAgUlBNX1JFUVVJUkU9dHJ1ZQotKyAg ICBETE9QRU5fUkVRVUlSRT10cnVlCi0rICBmaQotKyAgTElCUlBNX1NUUklORz0nIiciJExJQlJQ TSInIicKKytzdGF0aWMgaW50CisrbWlzc2luZ19ycG1fZW5saXN0IChjb25zdCBjaGFyICpmaWxl bmFtZSkKKyt7CisrICBzdGF0aWMgaW50IHJwbV9pbml0X2RvbmUgPSAwOworKyAgcnBtdHMgdHM7 CisrICBycG1kYk1hdGNoSXRlcmF0b3IgbWk7CisrICBpbnQgY291bnQgPSAwOwogKwotKyAgeyAk YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBzcGVjaWZpYyBs aWJycG0gdmVyc2lvbiIgPiY1Ci0rJGFzX2VjaG9fbiAiY2hlY2tpbmcgc3BlY2lmaWMgbGlicnBt IHZlcnNpb24uLi4gIiA+JjY7IH0KLSsgIEhBVkVfRExPUEVOX0xJQlJQTT1mYWxzZQotKyAgc2F2 ZV9MSUJTPSIkTElCUyIKLSsgIExJQlM9IiRMSUJTIC1sZGwiCi0rICBpZiB0ZXN0ICIkY3Jvc3Nf Y29tcGlsaW5nIiA9IHllczsgdGhlbiA6Ci0rICB7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp bmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjUKLSskYXNfZWNobyAiJGFz X21lOiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mMjt9Ci0rYXNfZm5fZXJyb3IgImNhbm5vdCBy dW4gdGVzdCBwcm9ncmFtIHdoaWxlIGNyb3NzIGNvbXBpbGluZwotK1NlZSBcYGNvbmZpZy5sb2cn IGZvciBtb3JlIGRldGFpbHMuIiAiJExJTkVOTyIgNTsgfQotK2Vsc2UKLSsgIGNhdCBjb25mZGVm cy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLSsvKiBlbmQgY29uZmRlZnMuaC4gICov CisrI2lmZGVmIERMT1BFTl9MSUJSUE0KKysgIC8qIER1cGxpY2F0ZSBoZXJlIHRoZSBkZWNsYXJh dGlvbnMgdG8gdmVyaWZ5IHRoZXkgbWF0Y2guICBUaGUgc2FtZSBzYW5pdHkKKysgICAgIGNoZWNr IGlzIHByZXNlbnQgYWxzbyBpbiBgY29uZmlndXJlLmFjJy4gICovCisrICBleHRlcm4gY2hhciAq IGhlYWRlckZvcm1hdChIZWFkZXIgaCwgY29uc3QgY2hhciAqIGZtdCwgZXJybXNnX3QgKiBlcnJt c2cpOworKyAgc3RhdGljIGNoYXIgKigqaGVhZGVyRm9ybWF0X3ApIChIZWFkZXIgaCwgY29uc3Qg Y2hhciAqIGZtdCwgZXJybXNnX3QgKmVycm1zZyk7CisrICBleHRlcm4gaW50IHJwbVJlYWRDb25m aWdGaWxlcyhjb25zdCBjaGFyICogZmlsZSwgY29uc3QgY2hhciAqIHRhcmdldCk7CisrICBzdGF0 aWMgaW50ICgqcnBtUmVhZENvbmZpZ0ZpbGVzX3ApIChjb25zdCBjaGFyICogZmlsZSwgY29uc3Qg Y2hhciAqIHRhcmdldCk7CisrICBleHRlcm4gcnBtZGJNYXRjaEl0ZXJhdG9yIHJwbWRiRnJlZUl0 ZXJhdG9yKHJwbWRiTWF0Y2hJdGVyYXRvciBtaSk7CisrICBzdGF0aWMgcnBtZGJNYXRjaEl0ZXJh dG9yICgqcnBtZGJGcmVlSXRlcmF0b3JfcCkgKHJwbWRiTWF0Y2hJdGVyYXRvciBtaSk7CisrICBl eHRlcm4gSGVhZGVyIHJwbWRiTmV4dEl0ZXJhdG9yKHJwbWRiTWF0Y2hJdGVyYXRvciBtaSk7Cisr ICBzdGF0aWMgSGVhZGVyICgqcnBtZGJOZXh0SXRlcmF0b3JfcCkgKHJwbWRiTWF0Y2hJdGVyYXRv ciBtaSk7CisrICBleHRlcm4gcnBtdHMgcnBtdHNDcmVhdGUodm9pZCk7CisrICBzdGF0aWMgcnBt dHMgKCpycG10c0NyZWF0ZV9wKSAodm9pZCk7CisrICBleHRlcm4gcnBtdHMgcnBtdHNGcmVlKHJw bXRzIHRzKTsKKysgIHN0YXRpYyBycG10cyAoKnJwbXRzRnJlZV9wKSAocnBtdHMgdHMpOworKyAg ZXh0ZXJuIHJwbWRiTWF0Y2hJdGVyYXRvciBycG10c0luaXRJdGVyYXRvcihjb25zdCBycG10cyB0 cywgcnBtVGFnIHJwbXRhZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3Qgdm9pZCAqIGtleXAsIHNpemVfdCBrZXlsZW4pOworKyAgc3RhdGljIHJw bWRiTWF0Y2hJdGVyYXRvciAoKnJwbXRzSW5pdEl0ZXJhdG9yX3ApIChjb25zdCBycG10cyB0cywK KysJCQkJCQkgICAgcnBtVGFnIHJwbXRhZywKKysJCQkJCQkgICAgY29uc3Qgdm9pZCAqa2V5cCwK KysJCQkJCQkgICAgc2l6ZV90IGtleWxlbik7CisrI2Vsc2UJLyogIURMT1BFTl9MSUJSUE0gKi8K KysjIGRlZmluZSBoZWFkZXJGb3JtYXRfcCBoZWFkZXJGb3JtYXQKKysjIGRlZmluZSBycG1SZWFk Q29uZmlnRmlsZXNfcCBycG1SZWFkQ29uZmlnRmlsZXMKKysjIGRlZmluZSBycG1kYkZyZWVJdGVy YXRvcl9wIHJwbWRiRnJlZUl0ZXJhdG9yCisrIyBkZWZpbmUgcnBtZGJOZXh0SXRlcmF0b3JfcCBy cG1kYk5leHRJdGVyYXRvcgorKyMgZGVmaW5lIHJwbXRzQ3JlYXRlX3AgcnBtdHNDcmVhdGUKKysj IGRlZmluZSBycG10c0ZyZWVfcCBycG10c0ZyZWUKKysjIGRlZmluZSBycG10c0luaXRJdGVyYXRv cl9wIHJwbXRzSW5pdEl0ZXJhdG9yCisrI2VuZGlmCS8qICFETE9QRU5fTElCUlBNICovCiArCi0r I2luY2x1ZGUgPHJwbS9ycG1saWIuaD4KLSsjaW5jbHVkZSA8ZGxmY24uaD4KLSsjaW5jbHVkZSA8 ZXJybm8uaD4KKysgIGdkYl9hc3NlcnQgKGZpbGVuYW1lICE9IE5VTEwpOwogKwotK2ludAotK21h aW4gKCkKLSt7CisrICBpZiAoc3RyY21wIChmaWxlbmFtZSwgQlVJTERfSURfTUFJTl9FWEVDVVRB QkxFX0ZJTEVOQU1FKSA9PSAwKQorKyAgICByZXR1cm4gMDsKICsKLSsgICAgdm9pZCAqaDsKLSsg ICAgY29uc3QgY2hhciAqY29uc3QgKnJwbXZlcnA7Ci0rICAgIEZJTEUgKmY7CisrICBpZiAoaXNf dGFyZ2V0X2ZpbGVuYW1lIChmaWxlbmFtZSkpCisrICAgIHJldHVybiAwOwogKwotKyAgICBmID0g Zm9wZW4gKCJjb25mdGVzdC5vdXQiLCAidyIpOwotKyAgICBpZiAoIWYpCisrICBpZiAoZmlsZW5h bWVbMF0gIT0gJy8nKQorKyAgICB7CisrICAgICAgd2FybmluZyAoXygiSWdub3Jpbmcgbm9uLWFi c29sdXRlIGZpbGVuYW1lOiA8JXM+IiksIGZpbGVuYW1lKTsKKysgICAgICByZXR1cm4gMDsKKysg ICAgfQorKworKyAgaWYgKCFycG1faW5pdF9kb25lKQorKyAgICB7CisrICAgICAgc3RhdGljIGlu dCBpbml0X3RyaWVkOworKworKyAgICAgIC8qIEFscmVhZHkgZmFpbGVkIHRoZSBpbml0aWFsaXph dGlvbiBiZWZvcmU/ICAqLworKyAgICAgIGlmIChpbml0X3RyaWVkKQorKyAgICAgIAlyZXR1cm4g MDsKKysgICAgICBpbml0X3RyaWVkID0gMTsKKysKKysjaWZkZWYgRExPUEVOX0xJQlJQTQogKyAg ICAgIHsKLSsJZnByaW50ZiAoc3RkZXJyLCAiQ2Fubm90IHdyaXRlIFwiJXNcIjogJXNcbiIsICJj b25mdGVzdC5vdXQiLAotKwkJIHN0cmVycm9yIChlcnJubykpOwotKwlyZXR1cm4gMTsKLSsgICAg ICB9Ci0rICAgIGggPSBkbG9wZW4gKCRMSUJSUE1fU1RSSU5HLCBSVExEX0xBWlkpOwotKyAgICBp ZiAoIWgpCi0rICAgICAgewotKwlmcHJpbnRmIChzdGRlcnIsICJkbG9wZW4gKFwiJXNcIik6ICVz XG4iLCAkTElCUlBNX1NUUklORywgZGxlcnJvciAoKSk7Ci0rCXJldHVybiAxOwotKyAgICAgIH0K LSsgICAgcnBtdmVycCA9IGRsc3ltIChoLCAiUlBNVkVSU0lPTiIpOwotKyAgICBpZiAoIXJwbXZl cnApCi0rICAgICAgewotKwlmcHJpbnRmIChzdGRlcnIsICJkbHN5bSAoXCJSUE1WRVJTSU9OXCIp OiAlc1xuIiwgZGxlcnJvciAoKSk7Ci0rCXJldHVybiAxOwotKyAgICAgIH0KLSsgICAgZnByaW50 ZiAoc3RkZXJyLCAiUlBNVkVSU0lPTiBpczogXCIiKTsKLSsgICAgZnByaW50ZiAoc3RkZXJyLCAi JXNcIlxuIiwgKnJwbXZlcnApOwotKwotKyAgICAvKiBUcnkgdG8gZmluZCB0aGUgc3BlY2lmaWMg bGlicnBtIHZlcnNpb24gb25seSBmb3IgImxpYnJwbS5zbyIgYXMgd2UgZG8KLSsgICAgICAgbm90 IGtub3cgaG93IHRvIGFzc2VtYmxlIHRoZSB2ZXJzaW9uIHN0cmluZyBvdGhlcndpc2UuICAqLwot KwotKyAgICBpZiAoc3RyY21wICgibGlicnBtLnNvIiwgJExJQlJQTV9TVFJJTkcpICE9IDApCi0r ICAgICAgewotKwlmcHJpbnRmIChmLCAiJXNcbiIsICRMSUJSUE1fU1RSSU5HKTsKLSsJcmV0dXJu IDA7Ci0rICAgICAgfQotKyAgICBlbHNlCi0rICAgICAgewotKwljaGFyICpoMl9uYW1lOwotKwl2 b2lkICpoMjsKLSsJaW50IG1ham9yLCBtaW5vcjsKKysJdm9pZCAqaDsKICsKLSsJaWYgKHNzY2Fu ZiAoKnJwbXZlcnAsICIlZC4lZCIsICZtYWpvciwgJm1pbm9yKSAhPSAyKQotKwkgIHsKLSsJICAg IGZwcmludGYgKHN0ZGVyciwgIlVuYWJsZSB0byBwYXJzZSBSUE1WRVJTSU9OLlxuIik7Ci0rCSAg ICBmcHJpbnRmIChmLCAiJXNcbiIsICRMSUJSUE1fU1RSSU5HKTsKLSsJICAgIHJldHVybiAwOwot KwkgIH0KLSsJLyogQXZvaWQgdGhlIHNxdWFyZSBicmFja2V0cyBieSBtYWxsb2MuICAqLwotKwlo Ml9uYW1lID0gbWFsbG9jICg2NCk7Ci0rCXNwcmludGYgKGgyX25hbWUsICJsaWJycG0tJWQuJWQu c28iLCBtYWpvciwgbWlub3IpOwotKwloMiA9IGRsb3BlbiAoaDJfbmFtZSwgUlRMRF9MQVpZKTsK LSsJaWYgKCFoMikKKysJaCA9IGRsb3BlbiAoRExPUEVOX0xJQlJQTSwgUlRMRF9MQVpZKTsKKysJ aWYgKCFoKQogKwkgIHsKLSsJICAgIGZwcmludGYgKHN0ZGVyciwgImRsb3BlbiAoXCIlc1wiKTog JXNcbiIsIGgyX25hbWUsIGRsZXJyb3IgKCkpOwotKwkgICAgZnByaW50ZiAoZiwgIiVzXG4iLCAk TElCUlBNX1NUUklORyk7CisrCSAgICB3YXJuaW5nIChfKCJVbmFibGUgdG8gb3BlbiBcIiVzXCIg KCVzKSwgIgorKwkJICAgICAgIm1pc3NpbmcgZGVidWdpbmZvcyBub3RpZmljYXRpb25zIHdpbGwg bm90IGJlIGRpc3BsYXllZCIpLAorKwkJICAgICBETE9QRU5fTElCUlBNLCBkbGVycm9yICgpKTsK ICsJICAgIHJldHVybiAwOwogKwkgIH0KLSsJaWYgKGgyICE9IGgpCisrCisrCWlmICghKChoZWFk ZXJGb3JtYXRfcCA9IChjaGFyICooKikgKEhlYWRlciBoLCBjb25zdCBjaGFyICogZm10LCBlcnJt c2dfdCAqZXJybXNnKSkgZGxzeW0gKGgsICJoZWFkZXJGb3JtYXQiKSkKKysJICAgICAgJiYgKHJw bVJlYWRDb25maWdGaWxlc19wID0gKGludCAoKikgKGNvbnN0IGNoYXIgKiBmaWxlLCBjb25zdCBj aGFyICogdGFyZ2V0KSkgZGxzeW0gKGgsICJycG1SZWFkQ29uZmlnRmlsZXMiKSkKKysJICAgICAg JiYgKHJwbWRiRnJlZUl0ZXJhdG9yX3AgPSAocnBtZGJNYXRjaEl0ZXJhdG9yICgqKSAocnBtZGJN YXRjaEl0ZXJhdG9yIG1pKSkgZGxzeW0gKGgsICJycG1kYkZyZWVJdGVyYXRvciIpKQorKwkgICAg ICAmJiAocnBtZGJOZXh0SXRlcmF0b3JfcCA9IChIZWFkZXIgKCopIChycG1kYk1hdGNoSXRlcmF0 b3IgbWkpKSBkbHN5bSAoaCwgInJwbWRiTmV4dEl0ZXJhdG9yIikpCisrCSAgICAgICYmIChycG10 c0NyZWF0ZV9wID0gKHJwbXRzICgqKSAodm9pZCkpIGRsc3ltIChoLCAicnBtdHNDcmVhdGUiKSkK KysJICAgICAgJiYgKHJwbXRzRnJlZV9wID0gKHJwbXRzICgqKSAocnBtdHMgdHMpKSBkbHN5bSAo aCwgInJwbXRzRnJlZSIpKQorKwkgICAgICAmJiAocnBtdHNJbml0SXRlcmF0b3JfcCA9IChycG1k Yk1hdGNoSXRlcmF0b3IgKCopIChjb25zdCBycG10cyB0cywgcnBtVGFnIHJwbXRhZywgY29uc3Qg dm9pZCAqa2V5cCwgc2l6ZV90IGtleWxlbikpIGRsc3ltIChoLCAicnBtdHNJbml0SXRlcmF0b3Ii KSkpKQogKwkgIHsKLSsJICAgIGZwcmludGYgKHN0ZGVyciwgImRsb3BlbiBvZiBcIiVzXCIgYW5k IFwiJXNcIiBhcmUgZGlmZmVyZW50LlxuIiwKLSsJCSAgICAgJExJQlJQTV9TVFJJTkcsIGgyX25h bWUpOwotKwkgICAgZnByaW50ZiAoZiwgIiVzXG4iLCAkTElCUlBNX1NUUklORyk7CisrCSAgICB3 YXJuaW5nIChfKCJPcGVuZWQgbGlicmFyeSBcIiVzXCIgaXMgaW5jb21wYXRpYmxlICglcyksICIK KysJCSAgICAgICJtaXNzaW5nIGRlYnVnaW5mb3Mgbm90aWZpY2F0aW9ucyB3aWxsIG5vdCBiZSBk aXNwbGF5ZWQiKSwKKysJCSAgICAgRExPUEVOX0xJQlJQTSwgZGxlcnJvciAoKSk7CisrCSAgICBp ZiAoZGxjbG9zZSAoaCkpCisrCSAgICAgIHdhcm5pbmcgKF8oIkVycm9yIGNsb3NpbmcgbGlicmFy eSBcIiVzXCI6ICVzXG4iKSwgRExPUEVOX0xJQlJQTSwKKysJCSAgICAgICBkbGVycm9yICgpKTsK ICsJICAgIHJldHVybiAwOwogKwkgIH0KLSsJLyogRm91bmQgdGhlIHZhbGlkIC5zbyBuYW1lIHdp dGggYSBzcGVjaWZpYyB2ZXJzaW9uLiAgKi8KLSsJZnByaW50ZiAoZiwgIiVzXG4iLCBoMl9uYW1l KTsKLSsJcmV0dXJuIDA7CiArICAgICAgfQorKyNlbmRpZgkvKiBETE9QRU5fTElCUlBNICovCiAr Ci0rICA7Ci0rICByZXR1cm4gMDsKLSt9Ci0rX0FDRU9GCi0raWYgYWNfZm5fY190cnlfcnVuICIk TElORU5PIjsgdGhlbiA6CisrICAgICAgaWYgKHJwbVJlYWRDb25maWdGaWxlc19wIChOVUxMLCBO VUxMKSAhPSAwKQorKwl7CisrCSAgd2FybmluZyAoXygiRXJyb3IgcmVhZGluZyB0aGUgcnBtIGNv bmZpZ3VyYXRpb24gZmlsZXMiKSk7CisrCSAgcmV0dXJuIDA7CisrCX0KICsKLSsgICAgRExPUEVO X0xJQlJQTT0iYGNhdCBjb25mdGVzdC5vdXRgIgotKyAgICBpZiB0ZXN0ICJ4JERMT1BFTl9MSUJS UE0iICE9ICJ4IjsgdGhlbgotKyAgICAgIEhBVkVfRExPUEVOX0xJQlJQTT10cnVlCi0rICAgICAg eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRETE9QRU5f TElCUlBNIiA+JjUKLSskYXNfZWNobyAiJERMT1BFTl9MSUJSUE0iID4mNjsgfQotKyAgICBmaQor KyAgICAgIHJwbV9pbml0X2RvbmUgPSAxOworKyAgICB9CiArCi0rZmkKLStybSAtZiBjb3JlICou Y29yZSBjb3JlLmNvbmZ0ZXN0LiogZ21vbi5vdXQgYmIub3V0IGNvbmZ0ZXN0JGFjX2V4ZWV4dCBc Ci0rICBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LmJlYW0gY29uZnRlc3QuJGFjX2V4dAot K2ZpCisrICB0cyA9IHJwbXRzQ3JlYXRlX3AgKCk7CiArCi0rICBybSAtZiBjb25mdGVzdC5vdXQK KysgIG1pID0gcnBtdHNJbml0SXRlcmF0b3JfcCAodHMsIFJQTVRBR19CQVNFTkFNRVMsIGZpbGVu YW1lLCAwKTsKKysgIGlmIChtaSAhPSBOVUxMKQorKyAgICB7CisrICAgICAgZm9yICg7OykKKysJ eworKwkgIEhlYWRlciBoOworKwkgIGNoYXIgKmRlYnVnaW5mbywgKipzbG90LCAqcywgKnMyOwor KwkgIGVycm1zZ190IGVycjsKKysJICBzaXplX3Qgc3JjcnBtbGVuID0gc2l6ZW9mICgiLnNyYy5y cG0iKSAtIDE7CisrCSAgc2l6ZV90IGRlYnVnaW5mb2xlbiA9IHNpemVvZiAoIi1kZWJ1Z2luZm8i KSAtIDE7CisrCSAgcnBtZGJNYXRjaEl0ZXJhdG9yIG1pX2RlYnVnaW5mbzsKICsKKysJICBoID0g cnBtZGJOZXh0SXRlcmF0b3JfcCAobWkpOworKwkgIGlmIChoID09IE5VTEwpCisrCSAgICBicmVh azsKICsKKysJICAvKiBWZXJpZnkgdGhlIGRlYnVnaW5mbyBmaWxlIGlzIG5vdCBhbHJlYWR5IGlu c3RhbGxlZC4gICovCiArCi0rICBpZiAkSEFWRV9ETE9QRU5fTElCUlBNOyB0aGVuCisrCSAgZGVi dWdpbmZvID0gaGVhZGVyRm9ybWF0X3AgKGgsICIle3NvdXJjZXJwbX0tZGVidWdpbmZvLiV7YXJj aH0iLAorKwkJCQkgICAgICAmZXJyKTsKKysJICBpZiAoIWRlYnVnaW5mbykKKysJICAgIHsKKysJ ICAgICAgd2FybmluZyAoXygiRXJyb3IgcXVlcnlpbmcgdGhlIHJwbSBmaWxlIGAlcyc6ICVzIiks IGZpbGVuYW1lLAorKwkgICAgICAgICAgICAgICBlcnIpOworKwkgICAgICBjb250aW51ZTsKKysJ ICAgIH0KKysJICAvKiBzID0gYC5zcmMucnBtLWRlYnVnaW5mby4le2FyY2h9JyAqLworKwkgIHMg PSBzdHJyY2hyIChkZWJ1Z2luZm8sICctJykgLSBzcmNycG1sZW47CisrCSAgczIgPSBOVUxMOwor KwkgIGlmIChzID4gZGVidWdpbmZvICYmIG1lbWNtcCAocywgIi5zcmMucnBtIiwgc3JjcnBtbGVu KSA9PSAwKQorKwkgICAgeworKwkgICAgICAvKiBzMiA9IGAtJXtyZWxlYXNlfS5zcmMucnBtLWRl YnVnaW5mby4le2FyY2h9JyAqLworKwkgICAgICBzMiA9IChjaGFyICopIG1lbXJjaHIgKGRlYnVn aW5mbywgJy0nLCBzIC0gZGVidWdpbmZvKTsKKysJICAgIH0KKysJICBpZiAoczIpCisrCSAgICB7 CisrCSAgICAgIC8qIHMyID0gYC0le3ZlcnNpb259LSV7cmVsZWFzZX0uc3JjLnJwbS1kZWJ1Z2lu Zm8uJXthcmNofScgKi8KKysJICAgICAgczIgPSAoY2hhciAqKSBtZW1yY2hyIChkZWJ1Z2luZm8s ICctJywgczIgLSBkZWJ1Z2luZm8pOworKwkgICAgfQorKwkgIGlmICghczIpCisrCSAgICB7Cisr CSAgICAgIHdhcm5pbmcgKF8oIkVycm9yIHF1ZXJ5aW5nIHRoZSBycG0gZmlsZSBgJXMnOiAlcyIp LCBmaWxlbmFtZSwKKysJICAgICAgICAgICAgICAgZGVidWdpbmZvKTsKKysJICAgICAgeGZyZWUg KGRlYnVnaW5mbyk7CisrCSAgICAgIGNvbnRpbnVlOworKwkgICAgfQorKwkgIC8qIHMgPSBgLnNy Yy5ycG0tZGVidWdpbmZvLiV7YXJjaH0nICovCisrCSAgLyogczIgPSBgLSV7dmVyc2lvbn0tJXty ZWxlYXNlfS5zcmMucnBtLWRlYnVnaW5mby4le2FyY2h9JyAqLworKwkgIG1lbW1vdmUgKHMyICsg ZGVidWdpbmZvbGVuLCBzMiwgcyAtIHMyKTsKKysJICBtZW1jcHkgKHMyLCAiLWRlYnVnaW5mbyIs IGRlYnVnaW5mb2xlbik7CisrCSAgLyogcyA9IGBYWFhYLiV7YXJjaH0nICovCisrCSAgLyogc3Ry bGVuICgiWFhYWCIpID09IHNyY3JwbWxlbiArIGRlYnVnaW5mb2xlbiAqLworKwkgIC8qIHMyID0g YC1kZWJ1Z2luZm8tJXt2ZXJzaW9ufS0le3JlbGVhc2V9WFguJXthcmNofScgKi8KKysJICAvKiBz dHJsZW4gKCJYWCIpID09IHNyY3JwbWxlbiAqLworKwkgIG1lbW1vdmUgKHMgKyBkZWJ1Z2luZm9s ZW4sIHMgKyBzcmNycG1sZW4gKyBkZWJ1Z2luZm9sZW4sCisrCQkgICBzdHJsZW4gKHMgKyBzcmNy cG1sZW4gKyBkZWJ1Z2luZm9sZW4pICsgMSk7CisrCSAgLyogcyA9IGAtZGVidWdpbmZvLSV7dmVy c2lvbn0tJXtyZWxlYXNlfS4le2FyY2h9JyAqLwogKwotKyAgICB7ICRhc19lY2hvICIkYXNfbWU6 JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHJwbSBsaWJyYXJ5IEFQSSBjb21wYXRpYmls aXR5IiA+JjUKLSskYXNfZWNob19uICJjaGVja2luZyBycG0gbGlicmFyeSBBUEkgY29tcGF0aWJp bGl0eS4uLiAiID4mNjsgfQotKyAgICAjIFRoZSBjb21waWxhdGlvbiByZXF1aXJlcyAtV2Vycm9y IHRvIHZlcmlmeSBhbnl0aGluZy4KLSsgICAgc2F2ZV9DRkxBR1M9IiRDRkxBR1MiCi0rICAgIENG TEFHUz0iJENGTEFHUyAtV2Vycm9yIgotKyAgICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5j b25mdGVzdC4kYWNfZXh0Ci0rLyogZW5kIGNvbmZkZWZzLmguICAqLworKwkgIC8qIFJQTURCSV9Q QUNLQUdFUyByZXF1aXJlcyBrZXlsZW4gPT0gc2l6ZW9mIChpbnQpLiAgKi8KKysJICAvKiBSUE1E QklfTEFCRUwgaXMgYW4gaW50ZXJmYWNlIGZvciBOVlItYmFzZWQgZGJpRmluZEJ5TGFiZWwoKS4g ICovCisrCSAgbWlfZGVidWdpbmZvID0gcnBtdHNJbml0SXRlcmF0b3JfcCAodHMsIChycG1UYWcp IFJQTURCSV9MQUJFTCwgZGVidWdpbmZvLCAwKTsKKysJICB4ZnJlZSAoZGVidWdpbmZvKTsKKysJ ICBpZiAobWlfZGVidWdpbmZvKQorKwkgICAgeworKwkgICAgICBycG1kYkZyZWVJdGVyYXRvcl9w IChtaV9kZWJ1Z2luZm8pOworKwkgICAgICBjb3VudCA9IDA7CisrCSAgICAgIGJyZWFrOworKwkg ICAgfQogKwotKy8qIER1cGxpY2F0ZSBoZXJlIHRoZSBkZWNsYXJhdGlvbnMgdG8gdmVyaWZ5IHRo ZXkgbWF0Y2ggImVsZnJlYWQuYyIuICAqLwotKyNpbmNsdWRlIDxycG0vcnBtbGliLmg+Ci0rI2lu Y2x1ZGUgPHJwbS9ycG10cy5oPgotKyNpbmNsdWRlIDxycG0vcnBtZGIuaD4KLSsjaW5jbHVkZSA8 cnBtL2hlYWRlci5oPgotK2V4dGVybiBjaGFyICogaGVhZGVyRm9ybWF0KEhlYWRlciBoLCBjb25z dCBjaGFyICogZm10LCBlcnJtc2dfdCAqIGVycm1zZyk7Ci0rZXh0ZXJuIGludCBycG1SZWFkQ29u ZmlnRmlsZXMoY29uc3QgY2hhciAqIGZpbGUsIGNvbnN0IGNoYXIgKiB0YXJnZXQpOwotK2V4dGVy biBycG1kYk1hdGNoSXRlcmF0b3IgcnBtZGJGcmVlSXRlcmF0b3IocnBtZGJNYXRjaEl0ZXJhdG9y IG1pKTsKLStleHRlcm4gSGVhZGVyIHJwbWRiTmV4dEl0ZXJhdG9yKHJwbWRiTWF0Y2hJdGVyYXRv ciBtaSk7Ci0rZXh0ZXJuIHJwbXRzIHJwbXRzQ3JlYXRlKHZvaWQpOwotK2V4dGVybiBycG10cyBy cG10c0ZyZWUocnBtdHMgdHMpOwotK2V4dGVybiBycG1kYk1hdGNoSXRlcmF0b3IgcnBtdHNJbml0 SXRlcmF0b3IoY29uc3QgcnBtdHMgdHMsIHJwbVRhZyBycG10YWcsCi0rCQkJCQkgICAgY29uc3Qg dm9pZCAqIGtleXAsIHNpemVfdCBrZXlsZW4pOworKwkgIC8qIFRoZSBhbGxvY2F0ZWQgbWVtb3J5 IGdldHMgdXRpbGl6ZWQgYmVsb3cgZm9yIE1JU1NJTkdfUlBNX0hBU0guICAqLworKwkgIGRlYnVn aW5mbyA9IGhlYWRlckZvcm1hdF9wIChoLAorKwkJCQkgICAgICAiJXtuYW1lfS0le3ZlcnNpb259 LSV7cmVsZWFzZX0uJXthcmNofSIsCisrCQkJCSAgICAgICZlcnIpOworKwkgIGlmICghZGVidWdp bmZvKQorKwkgICAgeworKwkgICAgICB3YXJuaW5nIChfKCJFcnJvciBxdWVyeWluZyB0aGUgcnBt IGZpbGUgYCVzJzogJXMiKSwgZmlsZW5hbWUsCisrCSAgICAgICAgICAgICAgIGVycik7CisrCSAg ICAgIGNvbnRpbnVlOworKwkgICAgfQogKwotK2ludAotK21haW4gKCkKLSt7CisrCSAgLyogQmFz ZSBwYWNrYWdlIG5hbWUgZm9yIGBkZWJ1Z2luZm8taW5zdGFsbCcuICBXZSBkbyBub3QgdXNlIHRo ZQorKwkgICAgIGB5dW0nIGNvbW1hbmQgZGlyZWN0bHkgYXMgdGhlIGxpbmUKKysJCSB5dW0gLS1l bmFibGVyZXBvPScqZGVidWcqJyBpbnN0YWxsIE5BTUUtZGVidWdpbmZvLkFSQ0gKKysJICAgICB3 b3VsZCBiZSBtb3JlIGNvbXBsaWNhdGVkIHRoYW4ganVzdDoKKysJCSBkZWJ1Z2luZm8taW5zdGFs bCBOQU1FLVZFUlNJT04tUkVMRUFTRS5BUkNICisrCSAgICAgRG8gbm90IHN1cHBseSB0aGUgcnBt IGJhc2UgbmFtZSAoZGVyaXZlZCBmcm9tIC5zcmMucnBtIG5hbWUpIGFzCisrCSAgICAgZGVidWdp bmZvLWluc3RhbGwgaXMgdW5hYmxlIHRvIGluc3RhbGwgdGhlIGRlYnVnaW5mbyBwYWNrYWdlIGlm CisrCSAgICAgdGhlIGJhc2UgbmFtZSBQS0cgYmluYXJ5IHJwbSBpcyBub3QgaW5zdGFsbGVkIHdo aWxlIGZvciBleGFtcGxlCisrCSAgICAgUEtHLWxpYnMgd291bGQgYmUgaW5zdGFsbGVkIChSSCBC dWcgNDY3OTAxKS4KKysJICAgICBGVVRVUkU6IEFmdGVyIG11bHRpcGxlIGRlYnVnaW5mbyB2ZXJz aW9ucyBzaW11bHRhbmVvdXNseSBpbnN0YWxsZWQKKysJICAgICBnZXQgc3VwcG9ydGVkIHRoZSBz dXBwb3J0IGZvciB0aGUgVkVSU0lPTi1SRUxFQVNFIHRhZ3MgaGFuZGxpbmcKKysJICAgICBtYXkg bmVlZCBhbiB1cGRhdGUuICAqLwogKwotKyAgOwotKyAgcmV0dXJuIDA7Ci0rfQotK19BQ0VPRgot K2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKysJICBpZiAobWlzc2lu Z19ycG1faGFzaCA9PSBOVUxMKQorKwkgICAgeworKwkgICAgICAvKiBERUxfRiBpcyBwYXNzZWQg TlVMTCBhcyBNSVNTSU5HX1JQTV9MSVNUJ3MgSFRBQl9ERUxFVEUKKysJCSBzaG91bGQgbm90IGRl YWxsb2NhdGUgdGhlIGVudHJpZXMuICAqLwogKwotKyAgICAgIExJQlJQTV9DT01QQVQ9dHJ1ZQot KyAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5 ZXMiID4mNQotKyRhc19lY2hvICJ5ZXMiID4mNjsgfQorKwkgICAgICBtaXNzaW5nX3JwbV9oYXNo ID0gaHRhYl9jcmVhdGVfYWxsb2MgKDY0LCBodGFiX2hhc2hfc3RyaW5nLAorKwkJCSAgICAgICAo aW50ICgqKSAoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopKSBzdHJlcSwKKysJCQkJCQkgICAg TlVMTCwgeGNhbGxvYywgeGZyZWUpOworKwkgICAgfQorKwkgIHNsb3QgPSAoY2hhciAqKikgaHRh Yl9maW5kX3Nsb3QgKG1pc3NpbmdfcnBtX2hhc2gsIGRlYnVnaW5mbywgSU5TRVJUKTsKKysJICAv KiBYQ0FMTE9DIG5ldmVyIHJldHVybnMgTlVMTC4gICovCisrCSAgZ2RiX2Fzc2VydCAoc2xvdCAh PSBOVUxMKTsKKysJICBpZiAoKnNsb3QgPT0gTlVMTCkKKysJICAgIHsKKysJICAgICAgc3RydWN0 IG1pc3NpbmdfcnBtICptaXNzaW5nX3JwbTsKICsKLStlbHNlCisrCSAgICAgICpzbG90ID0gZGVi dWdpbmZvOwogKwotKyAgICAgIExJQlJQTV9DT01QQVQ9ZmFsc2UKLSsgICAgICB7ICRhc19lY2hv ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQotKyRhc19lY2hv ICJubyIgPiY2OyB9CisrCSAgICAgIG1pc3NpbmdfcnBtID0gKHN0cnVjdCBtaXNzaW5nX3JwbSAq KSB4bWFsbG9jIChzaXplb2YgKCptaXNzaW5nX3JwbSkgKyBzdHJsZW4gKGRlYnVnaW5mbykpOwor KwkgICAgICBzdHJjcHkgKG1pc3NpbmdfcnBtLT5ycG0sIGRlYnVnaW5mbyk7CisrCSAgICAgIG1p c3NpbmdfcnBtLT5uZXh0ID0gbWlzc2luZ19ycG1fbGlzdDsKKysJICAgICAgbWlzc2luZ19ycG1f bGlzdCA9IG1pc3NpbmdfcnBtOworKwkgICAgICBtaXNzaW5nX3JwbV9saXN0X2VudHJpZXMrKzsK KysJICAgIH0KKysJICBlbHNlCisrCSAgICB4ZnJlZSAoZGVidWdpbmZvKTsKKysJICBjb3VudCsr OworKwl9CiArCi0rZmkKLStybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2Jq ZXh0IGNvbmZ0ZXN0LiRhY19leHQKLSsgICAgQ0ZMQUdTPSIkc2F2ZV9DRkxBR1MiCisrICAgICAg cnBtZGJGcmVlSXRlcmF0b3JfcCAobWkpOworKyAgICB9CiArCi0rICAgIGlmICEgJExJQlJQTV9D T01QQVQ7IHRoZW4KLSsgICAgICBIQVZFX0RMT1BFTl9MSUJSUE09ZmFsc2UKLSsgICAgZmkKLSsg IGZpCisrICBycG10c0ZyZWVfcCAodHMpOwogKwotKyAgaWYgJEhBVkVfRExPUEVOX0xJQlJQTTsg dGhlbgotKyAgICBETE9QRU5fTElCUlBNX1NUUklORz0nIiciJERMT1BFTl9MSUJSUE0iJyInCisr ICByZXR1cm4gY291bnQ7CisrfQogKwotK2NhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSsjZGVm aW5lIERMT1BFTl9MSUJSUE0gJERMT1BFTl9MSUJSUE1fU1RSSU5HCi0rX0FDRU9GCi0rCi0rCi0r JGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9MSUJSUE0gMSIgPj5jb25mZGVmcy5oCi0rCi0rICBlbHNl Ci0rICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBu byIgPiY1Ci0rJGFzX2VjaG8gIm5vIiA+JjY7IH0KLSsgICAgTElCUz0iJHNhdmVfTElCUyIKLSsg ICAgaWYgJERMT1BFTl9SRVFVSVJFOyB0aGVuCi0rICAgICAgYXNfZm5fZXJyb3IgIlNwZWNpZmlj IG5hbWUgJExJQlJQTSB3YXMgcmVxdWVzdGVkIGJ1dCBpdCBjb3VsZCBub3QgYmUgb3BlbmVkLiIg IiRMSU5FTk8iIDUKLSsgICAgZmkKLSsKLSsKLSsKLSsKLSsKLSsKLSsKLStpZiB0ZXN0ICJ4JGFj X2N2X2Vudl9QS0dfQ09ORklHX3NldCIgIT0gInhzZXQiOyB0aGVuCi0rCWlmIHRlc3QgLW4gIiRh Y190b29sX3ByZWZpeCI7IHRoZW4KLSsgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHth Y190b29sX3ByZWZpeH1wa2ctY29uZmlnIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdp dGggYXJncy4KLStzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1wa2ctY29uZmlnOyBhY193b3Jk PSQyCi0reyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBm b3IgJGFjX3dvcmQiID4mNQotKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAi ID4mNjsgfQotK2lmIHRlc3QgIiR7YWNfY3ZfcGF0aF9QS0dfQ09ORklHK3NldH0iID0gc2V0OyB0 aGVuIDoKLSsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci0rZWxzZQotKyAgY2FzZSAkUEtH X0NPTkZJRyBpbgotKyAgW1xcL10qIHwgPzpbXFwvXSopCi0rICBhY19jdl9wYXRoX1BLR19DT05G SUc9IiRQS0dfQ09ORklHIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdCB3aXRoIGEg cGF0aC4KLSsgIDs7Ci0rICAqKQotKyAgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFS QVRPUgotK2ZvciBhc19kaXIgaW4gJFBBVEgKLStkbwotKyAgSUZTPSRhc19zYXZlX0lGUwotKyAg dGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KLSsgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcn ICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0rICBpZiB7IHRlc3QgLWYgIiRhc19kaXIv JGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNf ZXhlY19leHQiOyB9OyB0aGVuCi0rICAgIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz0iJGFzX2Rpci8k YWNfd29yZCRhY19leGVjX2V4dCIKLSsgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k TElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1Ci0rICAgIGJy ZWFrIDIKLSsgIGZpCi0rZG9uZQotKyAgZG9uZQotK0lGUz0kYXNfc2F2ZV9JRlMKLSsKLSsgIDs7 Ci0rZXNhYwotK2ZpCi0rUEtHX0NPTkZJRz0kYWNfY3ZfcGF0aF9QS0dfQ09ORklHCi0raWYgdGVz dCAtbiAiJFBLR19DT05GSUciOyB0aGVuCi0rICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l bm8tJExJTkVOT306IHJlc3VsdDogJFBLR19DT05GSUciID4mNQotKyRhc19lY2hvICIkUEtHX0NP TkZJRyIgPiY2OyB9Ci0rZWxzZQotKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM SU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKLSskYXNfZWNobyAibm8iID4mNjsgfQotK2ZpCi0rCi0r Ci0rZmkKLStpZiB0ZXN0IC16ICIkYWNfY3ZfcGF0aF9QS0dfQ09ORklHIjsgdGhlbgotKyAgYWNf cHRfUEtHX0NPTkZJRz0kUEtHX0NPTkZJRwotKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9m ICJwa2ctY29uZmlnIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLStz ZXQgZHVtbXkgcGtnLWNvbmZpZzsgYWNfd29yZD0kMgotK3sgJGFzX2VjaG8gIiRhc19tZToke2Fz X2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKLSskYXNfZWNob19u ICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLStpZiB0ZXN0ICIke2FjX2N2X3Bh dGhfYWNfcHRfUEtHX0NPTkZJRytzZXR9IiA9IHNldDsgdGhlbiA6Ci0rICAkYXNfZWNob19uICIo Y2FjaGVkKSAiID4mNgotK2Vsc2UKLSsgIGNhc2UgJGFjX3B0X1BLR19DT05GSUcgaW4KLSsgIFtc XC9dKiB8ID86W1xcL10qKQotKyAgYWNfY3ZfcGF0aF9hY19wdF9QS0dfQ09ORklHPSIkYWNfcHRf UEtHX0NPTkZJRyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGgu Ci0rICA7OwotKyAgKikKLSsgIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IK LStmb3IgYXNfZGlyIGluICRQQVRICi0rZG8KLSsgIElGUz0kYXNfc2F2ZV9JRlMKLSsgIHRlc3Qg LXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0rICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNf ZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotKyAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193 b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf ZXh0IjsgfTsgdGhlbgotKyAgICBhY19jdl9wYXRoX2FjX3B0X1BLR19DT05GSUc9IiRhc19kaXIv JGFjX3dvcmQkYWNfZXhlY19leHQiCi0rICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t JExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQotKyAgICBi cmVhayAyCi0rICBmaQotK2RvbmUKLSsgIGRvbmUKLStJRlM9JGFzX3NhdmVfSUZTCi0rCi0rICA7 OwotK2VzYWMKLStmaQotK2FjX3B0X1BLR19DT05GSUc9JGFjX2N2X3BhdGhfYWNfcHRfUEtHX0NP TkZJRwotK2lmIHRlc3QgLW4gIiRhY19wdF9QS0dfQ09ORklHIjsgdGhlbgotKyAgeyAkYXNfZWNo byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19wdF9QS0dfQ09ORklH IiA+JjUKLSskYXNfZWNobyAiJGFjX3B0X1BLR19DT05GSUciID4mNjsgfQotK2Vsc2UKLSsgIHsg JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0r JGFzX2VjaG8gIm5vIiA+JjY7IH0KLStmaQotKwotKyAgaWYgdGVzdCAieCRhY19wdF9QS0dfQ09O RklHIiA9IHg7IHRoZW4KLSsgICAgUEtHX0NPTkZJRz0iIgotKyAgZWxzZQotKyAgICBjYXNlICRj cm9zc19jb21waWxpbmc6JGFjX3Rvb2xfd2FybmVkIGluCi0reWVzOikKLSt7ICRhc19lY2hvICIk YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5v dCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1Ci0rJGFzX2VjaG8gIiRhc19tZTogV0FS TklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+ JjI7fQotK2FjX3Rvb2xfd2FybmVkPXllcyA7OwotK2VzYWMKLSsgICAgUEtHX0NPTkZJRz0kYWNf cHRfUEtHX0NPTkZJRwotKyAgZmkKLStlbHNlCi0rICBQS0dfQ09ORklHPSIkYWNfY3ZfcGF0aF9Q S0dfQ09ORklHIgotK2ZpCi0rCi0rZmkKLStpZiB0ZXN0IC1uICIkUEtHX0NPTkZJRyI7IHRoZW4K LSsJX3BrZ19taW5fdmVyc2lvbj0wLjkuMAotKwl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l bm8tJExJTkVOT306IGNoZWNraW5nIHBrZy1jb25maWcgaXMgYXQgbGVhc3QgdmVyc2lvbiAkX3Br Z19taW5fdmVyc2lvbiIgPiY1Ci0rJGFzX2VjaG9fbiAiY2hlY2tpbmcgcGtnLWNvbmZpZyBpcyBh dCBsZWFzdCB2ZXJzaW9uICRfcGtnX21pbl92ZXJzaW9uLi4uICIgPiY2OyB9Ci0rCWlmICRQS0df Q09ORklHIC0tYXRsZWFzdC1wa2djb25maWctdmVyc2lvbiAkX3BrZ19taW5fdmVyc2lvbjsgdGhl bgotKwkJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IHll cyIgPiY1Ci0rJGFzX2VjaG8gInllcyIgPiY2OyB9Ci0rCWVsc2UKLSsJCXsgJGFzX2VjaG8gIiRh c19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0rJGFzX2VjaG8gIm5v IiA+JjY7IH0KLSsJCVBLR19DT05GSUc9IiIKLSsJZmkKLStmaQotKwotK3BrZ19mYWlsZWQ9bm8K LSt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBS UE0iID4mNQotKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBSUE0uLi4gIiA+JjY7IH0KKytzdGF0 aWMgaW50CisrbWlzc2luZ19ycG1fbGlzdF9jb21wYXIgKGNvbnN0IGNoYXIgKmNvbnN0ICphcCwg Y29uc3QgY2hhciAqY29uc3QgKmJwKQorK3sKKysgIHJldHVybiBzdHJjb2xsICgqYXAsICpicCk7 CisrfQogKwotK2lmIHRlc3QgLW4gIiRSUE1fQ0ZMQUdTIjsgdGhlbgotKyAgICBwa2dfY3ZfUlBN X0NGTEFHUz0iJFJQTV9DRkxBR1MiCi0rIGVsaWYgdGVzdCAtbiAiJFBLR19DT05GSUciOyB0aGVu Ci0rICAgIGlmIHRlc3QgLW4gIiRQS0dfQ09ORklHIiAmJiBcCi0rICAgIHsgeyAkYXNfZWNobyAi JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmlu dC1lcnJvcnMgXCJycG1cIiI7IH0gPiY1Ci0rICAoJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmlu dC1lcnJvcnMgInJwbSIpIDI+JjUKLSsgIGFjX3N0YXR1cz0kPwotKyAgJGFzX2VjaG8gIiRhc19t ZToke2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1Ci0rICB0ZXN0ICRh Y19zdGF0dXMgPSAwOyB9OyB0aGVuCi0rICBwa2dfY3ZfUlBNX0NGTEFHUz1gJFBLR19DT05GSUcg LS1jZmxhZ3MgInJwbSIgMj4vZGV2L251bGxgCi0rCQkgICAgICB0ZXN0ICJ4JD8iICE9ICJ4MCIg JiYgcGtnX2ZhaWxlZD15ZXMKLStlbHNlCi0rICBwa2dfZmFpbGVkPXllcwotK2ZpCi0rIGVsc2UK LSsgICAgcGtnX2ZhaWxlZD11bnRyaWVkCi0rZmkKLStpZiB0ZXN0IC1uICIkUlBNX0xJQlMiOyB0 aGVuCi0rICAgIHBrZ19jdl9SUE1fTElCUz0iJFJQTV9MSUJTIgotKyBlbGlmIHRlc3QgLW4gIiRQ S0dfQ09ORklHIjsgdGhlbgotKyAgICBpZiB0ZXN0IC1uICIkUEtHX0NPTkZJRyIgJiYgXAotKyAg ICB7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogXCRQS0dfQ09ORklH IC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzIFwicnBtXCIiOyB9ID4mNQotKyAgKCRQS0dfQ09ORklH IC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJycG0iKSAyPiY1Ci0rICBhY19zdGF0dXM9JD8KLSsg ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkPyA9ICRhY19zdGF0dXMi ID4mNQotKyAgdGVzdCAkYWNfc3RhdHVzID0gMDsgfTsgdGhlbgotKyAgcGtnX2N2X1JQTV9MSUJT PWAkUEtHX0NPTkZJRyAtLWxpYnMgInJwbSIgMj4vZGV2L251bGxgCi0rCQkgICAgICB0ZXN0ICJ4 JD8iICE9ICJ4MCIgJiYgcGtnX2ZhaWxlZD15ZXMKLStlbHNlCi0rICBwa2dfZmFpbGVkPXllcwot K2ZpCi0rIGVsc2UKLSsgICAgcGtnX2ZhaWxlZD11bnRyaWVkCi0rZmkKKysvKiBJdCByZXR1cm5z IGEgTlVMTC10ZXJtaW5hdGVkIGFycmF5IG9mIHN0cmluZ3MgbmVlZGluZyB0byBiZSBGUkVFZC4g IEl0IG1heQorKyAgIGFsc28gcmV0dXJuIG9ubHkgTlVMTC4gICovCiArCisrc3RhdGljIHZvaWQK KyttaXNzaW5nX3JwbV9saXN0X3ByaW50ICh2b2lkKQorK3sKKysgIGNoYXIgKiphcnJheSwgKiph cnJheV9pdGVyOworKyAgc3RydWN0IG1pc3NpbmdfcnBtICpsaXN0X2l0ZXI7CisrICBzdHJ1Y3Qg Y2xlYW51cCAqY2xlYW51cHM7CiArCisrICBpZiAobWlzc2luZ19ycG1fbGlzdF9lbnRyaWVzID09 IDApCisrICAgIHJldHVybjsKICsKLStpZiB0ZXN0ICRwa2dfZmFpbGVkID0geWVzOyB0aGVuCi0r ICAgCXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIg PiY1Ci0rJGFzX2VjaG8gIm5vIiA+JjY7IH0KKysgIGFycmF5ID0gKGNoYXIgKiopIHhtYWxsb2Mg KHNpemVvZiAoKmFycmF5KSAqIG1pc3NpbmdfcnBtX2xpc3RfZW50cmllcyk7CisrICBjbGVhbnVw cyA9IG1ha2VfY2xlYW51cCAoeGZyZWUsIGFycmF5KTsKICsKLStpZiAkUEtHX0NPTkZJRyAtLWF0 bGVhc3QtcGtnY29uZmlnLXZlcnNpb24gMC4yMDsgdGhlbgotKyAgICAgICAgX3BrZ19zaG9ydF9l cnJvcnNfc3VwcG9ydGVkPXllcwotK2Vsc2UKLSsgICAgICAgIF9wa2dfc2hvcnRfZXJyb3JzX3N1 cHBvcnRlZD1ubwotK2ZpCi0rICAgICAgICBpZiB0ZXN0ICRfcGtnX3Nob3J0X2Vycm9yc19zdXBw b3J0ZWQgPSB5ZXM7IHRoZW4KLSsJICAgICAgICBSUE1fUEtHX0VSUk9SUz1gJFBLR19DT05GSUcg LS1zaG9ydC1lcnJvcnMgLS1wcmludC1lcnJvcnMgLS1jZmxhZ3MgLS1saWJzICJycG0iIDI+JjFg Ci0rICAgICAgICBlbHNlCi0rCSAgICAgICAgUlBNX1BLR19FUlJPUlM9YCRQS0dfQ09ORklHIC0t cHJpbnQtZXJyb3JzIC0tY2ZsYWdzIC0tbGlicyAicnBtIiAyPiYxYAotKyAgICAgICAgZmkKLSsJ IyBQdXQgdGhlIG5hc3R5IGVycm9yIG1lc3NhZ2UgaW4gY29uZmlnLmxvZyB3aGVyZSBpdCBiZWxv bmdzCi0rCWVjaG8gIiRSUE1fUEtHX0VSUk9SUyIgPiY1CisrICBhcnJheV9pdGVyID0gYXJyYXk7 CisrICBmb3IgKGxpc3RfaXRlciA9IG1pc3NpbmdfcnBtX2xpc3Q7IGxpc3RfaXRlciAhPSBOVUxM OworKyAgICAgICBsaXN0X2l0ZXIgPSBsaXN0X2l0ZXItPm5leHQpCisrICAgIHsKKysgICAgICAq YXJyYXlfaXRlcisrID0gbGlzdF9pdGVyLT5ycG07CisrICAgIH0KKysgIGdkYl9hc3NlcnQgKGFy cmF5X2l0ZXIgPT0gYXJyYXkgKyBtaXNzaW5nX3JwbV9saXN0X2VudHJpZXMpOwogKwotKwlIQVZF X0xJQlJQTT1mYWxzZQotK2VsaWYgdGVzdCAkcGtnX2ZhaWxlZCA9IHVudHJpZWQ7IHRoZW4KLSsg ICAgIAl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8i ID4mNQotKyRhc19lY2hvICJubyIgPiY2OyB9Ci0rCUhBVkVfTElCUlBNPWZhbHNlCi0rZWxzZQot KwlSUE1fQ0ZMQUdTPSRwa2dfY3ZfUlBNX0NGTEFHUwotKwlSUE1fTElCUz0kcGtnX2N2X1JQTV9M SUJTCi0rICAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl c3VsdDogeWVzIiA+JjUKLSskYXNfZWNobyAieWVzIiA+JjY7IH0KLSsJSEFWRV9MSUJSUE09dHJ1 ZQotK2ZpCisrICBxc29ydCAoYXJyYXksIG1pc3NpbmdfcnBtX2xpc3RfZW50cmllcywgc2l6ZW9m ICgqYXJyYXkpLAorKwkgKGludCAoKikgKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKSkgbWlz c2luZ19ycG1fbGlzdF9jb21wYXIpOwogKwotKyAgICBpZiAkSEFWRV9MSUJSUE07IHRoZW4KKysg IHByaW50Zl91bmZpbHRlcmVkIChfKCJNaXNzaW5nIHNlcGFyYXRlIGRlYnVnaW5mb3MsIHVzZTog JXMiKSwKKysjaWZkZWYgRE5GX0RFQlVHSU5GT19JTlNUQUxMCisrCQkgICAgICJkbmYgIgorKyNl bmRpZgorKwkJICAgICAiZGVidWdpbmZvLWluc3RhbGwiKTsKKysgIGZvciAoYXJyYXlfaXRlciA9 IGFycmF5OyBhcnJheV9pdGVyIDwgYXJyYXkgKyBtaXNzaW5nX3JwbV9saXN0X2VudHJpZXM7Cisr ICAgICAgIGFycmF5X2l0ZXIrKykKKysgICAgeworKyAgICAgIHB1dGNoYXJfdW5maWx0ZXJlZCAo JyAnKTsKKysgICAgICBwdXRzX3VuZmlsdGVyZWQgKCphcnJheV9pdGVyKTsKKysgICAgfQorKyAg cHV0Y2hhcl91bmZpbHRlcmVkICgnXG4nKTsKICsKLSsgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7 YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBycG0gbGlicmFyeSBBUEkgY29tcGF0aWJpbGl0 eSIgPiY1Ci0rJGFzX2VjaG9fbiAiY2hlY2tpbmcgcnBtIGxpYnJhcnkgQVBJIGNvbXBhdGliaWxp dHkuLi4gIiA+JjY7IH0KLSsgICAgIyBUaGUgY29tcGlsYXRpb24gcmVxdWlyZXMgLVdlcnJvciB0 byB2ZXJpZnkgYW55dGhpbmcuCi0rICAgIHNhdmVfQ0ZMQUdTPSIkQ0ZMQUdTIgotKyAgICBDRkxB R1M9IiRDRkxBR1MgLVdlcnJvciIKLSsgICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29u ZnRlc3QuJGFjX2V4dAotKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKysgIHdoaWxlIChtaXNzaW5n X3JwbV9saXN0ICE9IE5VTEwpCisrICAgIHsKKysgICAgICBsaXN0X2l0ZXIgPSBtaXNzaW5nX3Jw bV9saXN0OworKyAgICAgIG1pc3NpbmdfcnBtX2xpc3QgPSBsaXN0X2l0ZXItPm5leHQ7CisrICAg ICAgeGZyZWUgKGxpc3RfaXRlcik7CisrICAgIH0KKysgIG1pc3NpbmdfcnBtX2xpc3RfZW50cmll cyA9IDA7CiArCi0rLyogRHVwbGljYXRlIGhlcmUgdGhlIGRlY2xhcmF0aW9ucyB0byB2ZXJpZnkg dGhleSBtYXRjaCAiZWxmcmVhZC5jIi4gICovCi0rI2luY2x1ZGUgPHJwbS9ycG1saWIuaD4KLSsj aW5jbHVkZSA8cnBtL3JwbXRzLmg+Ci0rI2luY2x1ZGUgPHJwbS9ycG1kYi5oPgotKyNpbmNsdWRl IDxycG0vaGVhZGVyLmg+Ci0rZXh0ZXJuIGNoYXIgKiBoZWFkZXJGb3JtYXQoSGVhZGVyIGgsIGNv bnN0IGNoYXIgKiBmbXQsIGVycm1zZ190ICogZXJybXNnKTsKLStleHRlcm4gaW50IHJwbVJlYWRD b25maWdGaWxlcyhjb25zdCBjaGFyICogZmlsZSwgY29uc3QgY2hhciAqIHRhcmdldCk7Ci0rZXh0 ZXJuIHJwbWRiTWF0Y2hJdGVyYXRvciBycG1kYkZyZWVJdGVyYXRvcihycG1kYk1hdGNoSXRlcmF0 b3IgbWkpOwotK2V4dGVybiBIZWFkZXIgcnBtZGJOZXh0SXRlcmF0b3IocnBtZGJNYXRjaEl0ZXJh dG9yIG1pKTsKLStleHRlcm4gcnBtdHMgcnBtdHNDcmVhdGUodm9pZCk7Ci0rZXh0ZXJuIHJwbXRz IHJwbXRzRnJlZShycG10cyB0cyk7Ci0rZXh0ZXJuIHJwbWRiTWF0Y2hJdGVyYXRvciBycG10c0lu aXRJdGVyYXRvcihjb25zdCBycG10cyB0cywgcnBtVGFnIHJwbXRhZywKLSsJCQkJCSAgICBjb25z dCB2b2lkICoga2V5cCwgc2l6ZV90IGtleWxlbik7CisrICBkb19jbGVhbnVwcyAoY2xlYW51cHMp OworK30KICsKLStpbnQKLSttYWluICgpCisrc3RhdGljIHZvaWQKKyttaXNzaW5nX3JwbV9jaGFu Z2UgKHZvaWQpCiAreworKyAgZGVidWdfZmx1c2hfbWlzc2luZyAoKTsKICsKLSsgIDsKLSsgIHJl dHVybiAwOworKyAgZ2RiX2Fzc2VydCAobWlzc2luZ19ycG1fbGlzdCA9PSBOVUxMKTsKKysgIGlm IChtaXNzaW5nX3JwbV9oYXNoICE9IE5VTEwpCisrICAgIHsKKysgICAgICBodGFiX2RlbGV0ZSAo bWlzc2luZ19ycG1faGFzaCk7CisrICAgICAgbWlzc2luZ19ycG1faGFzaCA9IE5VTEw7CisrICAg IH0KICt9Ci0rX0FDRU9GCi0raWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4g OgogKwotKyAgICAgIExJQlJQTV9DT01QQVQ9dHJ1ZQotKyAgICAgIHsgJGFzX2VjaG8gIiRhc19t ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMiID4mNQotKyRhc19lY2hvICJ5ZXMi ID4mNjsgfQotKwotK2Vsc2UKLSsKLSsgICAgICBMSUJSUE1fQ09NUEFUPWZhbHNlCi0rICAgICAg eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUK LSskYXNfZWNobyAibm8iID4mNjsgfQotKwotK2ZpCi0rcm0gLWYgY29yZSBjb25mdGVzdC5lcnIg Y29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Ci0rICAgIENGTEFHUz0iJHNhdmVf Q0ZMQUdTIgorK2VudW0gbWlzc2luZ19leGVjCisrICB7CisrICAgIC8qIEluaXQgc3RhdGUuICBF WEVDX0JGRCBhbHNvIHN0aWxsIGNvdWxkIGJlIE5VTEwuICAqLworKyAgICBNSVNTSU5HX0VYRUNf Tk9UX1RSSUVELAorKyAgICAvKiBXZSBzYXcgYSBub24tTlVMTCBFWEVDX0JGRCBidXQgUlBNIGhh cyBubyBpbmZvIGFib3V0IGl0LiAgKi8KKysgICAgTUlTU0lOR19FWEVDX05PVF9GT1VORCwKKysg ICAgLyogV2UgZm91bmQgRVhFQ19CRkQgYnkgUlBNIGFuZCB3ZSBlaXRoZXIgaGF2ZSBpdHMgc3lt Ym9scyAoZWl0aGVyIGVtYmVkZGVkCisrICAgICAgIG9yIHNlcGFyYXRlKSBvciB0aGUgbWFpbiBl eGVjdXRhYmxlJ3MgUlBNIGlzIG5vdyBjb250YWluZWQgaW4KKysgICAgICAgTUlTU0lOR19SUE1f SEFTSC4gICovCisrICAgIE1JU1NJTkdfRVhFQ19FTkxJU1RFRAorKyAgfTsKKytzdGF0aWMgZW51 bSBtaXNzaW5nX2V4ZWMgbWlzc2luZ19leGVjID0gTUlTU0lOR19FWEVDX05PVF9UUklFRDsKICsK LSsgICAgICBpZiAhICRMSUJSUE1fQ09NUEFUOyB0aGVuCi0rCUhBVkVfTElCUlBNPWZhbHNlCi0r CVJQTV9QS0dfRVJST1JTPSJGb3VuZCAkTElCUlBNIEFQSSBpcyBpbmNvbXBhdGliaWxlIHdpdGgg dGhpcyBHREIiCi0rICAgICAgZmkKLSsgICAgZmkKKysjZW5kaWYJLyogSEFWRV9MSUJSUE0gKi8K ICsKLSsgICAgaWYgJEhBVkVfTElCUlBNOyB0aGVuCisrdm9pZAorK2RlYnVnX2ZsdXNoX21pc3Np bmcgKHZvaWQpCisreworKyNpZmRlZiBIQVZFX0xJQlJQTQorKyAgbWlzc2luZ19ycG1fbGlzdF9w cmludCAoKTsKKysjZW5kaWYKKyt9CiArCi0rJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9MSUJSUE0g MSIgPj5jb25mZGVmcy5oCisgLyogVGhpcyBNSVNTSU5HX0ZJTEVQQUlSX0hBU0ggdHJhY2tlciBp cyB1c2VkIG9ubHkgZm9yIHRoZSBkdXBsaWNpdGUgbWVzc2FnZXMKKy0gICAgIFRyeSB0byBpbnN0 YWxsIHRoZSBoYXNoIGZpbGUgLi4uCisrICAgICB5dW0gLS1lbmFibGVyZXBvPScqZGVidWcqJyBp bnN0YWxsIC4uLgorICAgIGF2b2lkYW5jZS4gICovCisgCisgc3RydWN0IG1pc3NpbmdfZmlsZXBh aXIKK0BAIC03MjEsMTEgKzEwODEsMTcgQEAgbWlzc2luZ19maWxlcGFpcl9jaGFuZ2UgKHZvaWQp CisgICAgICAgLyogQWxsIHRoZWlyIG1lbW9yeSBjYW1lIGp1c3QgZnJvbSBtaXNzaW5nX2ZpbGVw YWlyX09CU1RBQ0suICAqLworICAgICAgIG1pc3NpbmdfZmlsZXBhaXJfaGFzaCA9IE5VTEw7Cisg ICAgIH0KKysjaWZkZWYgSEFWRV9MSUJSUE0KKysgIG1pc3NpbmdfZXhlYyA9IE1JU1NJTkdfRVhF Q19OT1RfVFJJRUQ7CisrI2VuZGlmCisgfQorIAorIHN0YXRpYyB2b2lkCisgZGVidWdfcHJpbnRf ZXhlY3V0YWJsZV9jaGFuZ2VkICh2b2lkKQorIHsKKysjaWZkZWYgSEFWRV9MSUJSUE0KKysgIG1p c3NpbmdfcnBtX2NoYW5nZSAoKTsKKysjZW5kaWYKKyAgIG1pc3NpbmdfZmlsZXBhaXJfY2hhbmdl ICgpOworIH0KKyAKK0BAIC03OTIsMTQgKzExNTgsMzkgQEAgZGVidWdfcHJpbnRfbWlzc2luZyAo Y29uc3QgY2hhciAqYmluYXJ5LCBjb25zdCBjaGFyICpkZWJ1ZykKKyAKKyAgICpzbG90ID0gbWlz c2luZ19maWxlcGFpcjsKKyAKKy0gIC8qIFdlIGRvIG5vdCBjb2xsZWN0IGFuZCBmbHVzaCB0aGVz ZSBtZXNzYWdlcyBhcyBlYWNoIHN1Y2ggbWVzc2FnZQorLSAgICAgYWxyZWFkeSByZXF1aXJlcyBp dHMgb3duIHNlcGFyYXRlIGxpbmVzLiAgKi8KKysjaWZkZWYgSEFWRV9MSUJSUE0KKysgIGlmICht aXNzaW5nX2V4ZWMgPT0gTUlTU0lOR19FWEVDX05PVF9UUklFRCkKKysgICAgeworKyAgICAgIGNo YXIgKmV4ZWNmaWxlbmFtZTsKKyAKKy0gIGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywK Ky0JCSAgICAgIF8oIk1pc3Npbmcgc2VwYXJhdGUgZGVidWdpbmZvIGZvciAlc1xuIiksIGJpbmFy eSk7CistICBpZiAoZGVidWcgIT0gTlVMTCkKKy0gICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJf c3RkbG9nLCBfKCJUcnkgdG8gaW5zdGFsbCB0aGUgaGFzaCBmaWxlICVzXG4iKSwKKy0JCQlkZWJ1 Zyk7CisrICAgICAgZXhlY2ZpbGVuYW1lID0gZ2V0X2V4ZWNfZmlsZSAoMCk7CisrICAgICAgaWYg KGV4ZWNmaWxlbmFtZSAhPSBOVUxMKQorKwl7CisrCSAgaWYgKG1pc3NpbmdfcnBtX2VubGlzdCAo ZXhlY2ZpbGVuYW1lKSA9PSAwKQorKwkgICAgbWlzc2luZ19leGVjID0gTUlTU0lOR19FWEVDX05P VF9GT1VORDsKKysJICBlbHNlCisrCSAgICBtaXNzaW5nX2V4ZWMgPSBNSVNTSU5HX0VYRUNfRU5M SVNURUQ7CisrCX0KKysgICAgfQorKyAgaWYgKG1pc3NpbmdfZXhlYyAhPSBNSVNTSU5HX0VYRUNf RU5MSVNURUQpCisrICAgIGlmICgoYmluYXJ5WzBdID09IDAgfHwgbWlzc2luZ19ycG1fZW5saXN0 IChiaW5hcnkpID09IDApCisrCSYmIChkZWJ1ZyA9PSBOVUxMIHx8IG1pc3NpbmdfcnBtX2VubGlz dCAoZGVidWcpID09IDApKQorKyNlbmRpZgkvKiBIQVZFX0xJQlJQTSAqLworKyAgICAgIHsKKysJ LyogV2UgZG8gbm90IGNvbGxlY3QgYW5kIGZsdXNoIHRoZXNlIG1lc3NhZ2VzIGFzIGVhY2ggc3Vj aCBtZXNzYWdlCisrCSAgIGFscmVhZHkgcmVxdWlyZXMgaXRzIG93biBzZXBhcmF0ZSBsaW5lcy4g ICovCiArCi0rICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTICRSUE1fQ0ZMQUdTIgotKyAgICAgIExJQlM9 IiRMSUJTICRSUE1fTElCUyIKLSsgICAgZWxzZQotKyAgICAgIGlmICRSUE1fUkVRVUlSRTsgdGhl bgotKwlhc19mbl9lcnJvciAiJFJQTV9QS0dfRVJST1JTIiAiJExJTkVOTyIgNQotKyAgICAgIGVs c2UKLSsJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiAk UlBNX1BLR19FUlJPUlMiID4mNQotKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6ICRSUE1fUEtH X0VSUk9SUyIgPiYyO30KLSsgICAgICBmaQotKyAgICBmaQotKyAgZmkKLStmaQorKwlmcHJpbnRm X3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csCisrCQkJICAgIF8oIk1pc3Npbmcgc2VwYXJhdGUgZGVi dWdpbmZvIGZvciAlc1xuIiksIGJpbmFyeSk7CisrICAgICAgICBpZiAoZGVidWcgIT0gTlVMTCkK KysJICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csIF8oIlRyeTogJXMgJXNcbiIpLAor KyNpZmRlZiBETkZfREVCVUdJTkZPX0lOU1RBTEwKKysJCQkgICAgICAiZG5mIgorKyNlbHNlCisr CQkJICAgICAgInl1bSIKKysjZW5kaWYKKysJCQkgICAgICAiIC0tZW5hYmxlcmVwbz0nKmRlYnVn KicgaW5zdGFsbCIsIGRlYnVnKTsKKysgICAgICB9CisgfQorIAorIC8qIFNlZSBidWlsZC1pZC5o LiAgKi8KK2RpZmYgLS1naXQgYS9nZGIvY29uZmlnLmluIGIvZ2RiL2NvbmZpZy5pbgoraW5kZXgg MWQxMWE5NzA4MC4uZWRkNzAyOGY3NiAxMDA2NDQKKy0tLSBhL2dkYi9jb25maWcuaW4KKysrKyBi L2dkYi9jb25maWcuaW4KK0BAIC0zMyw2ICszMyw5IEBACisgLyogRGVmaW5lIHRvIEJGRCdzIGRl ZmF1bHQgdGFyZ2V0IHZlY3Rvci4gKi8KKyAjdW5kZWYgREVGQVVMVF9CRkRfVkVDCisgCisrLyog bGlicnBtIHZlcnNpb24gc3BlY2lmaWMgbGlicmFyeSBuYW1lIHRvIGRsb3Blbi4gKi8KKysjdW5k ZWYgRExPUEVOX0xJQlJQTQogKworIC8qIERlZmluZSB0byAxIGlmIHRyYW5zbGF0aW9uIG9mIHBy b2dyYW0gbWVzc2FnZXMgdG8gdGhlIHVzZXIncyBuYXRpdmUKKyAgICBsYW5ndWFnZSBpcyByZXF1 ZXN0ZWQuICovCisgI3VuZGVmIEVOQUJMRV9OTFMKK0BAIC0yNjQsNiArMjY3LDkgQEAKKyAvKiBE ZWZpbmUgaWYgUHl0aG9uIDIuNyBpcyBiZWluZyB1c2VkLiAqLworICN1bmRlZiBIQVZFX0xJQlBZ VEhPTjJfNwogIAorKy8qIERlZmluZSBpZiBsaWJycG0gbGlicmFyeSBpcyBiZWluZyB1c2VkLiAq LworKyN1bmRlZiBIQVZFX0xJQlJQTQorKworIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo ZSA8bGlidW53aW5kLWlhNjQuaD4gaGVhZGVyIGZpbGUuICovCisgI3VuZGVmIEhBVkVfTElCVU5X SU5EX0lBNjRfSAogIAotIHN1YmRpcnM9IiRzdWJkaXJzIHRlc3RzdWl0ZSIKLUluZGV4OiBnZGIt Ny4xMS41MC4yMDE2MDYzMC9nZGIvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu MTEuNTAuMjAxNjA2MzAub3JpZy9nZGIvY29uZmlndXJlLmFjCTIwMTYtMDctMDIgMjM6NDM6MjQu MDg1MjE0MTQ0ICswMjAwCi0rKysgZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL2NvbmZpZ3VyZS5h YwkyMDE2LTA3LTAzIDE0OjM3OjEyLjU4MjEzMDgxOSArMDIwMAotQEAgLTE3Nyw2ICsxNzcsMTk5 IEBACi0gCSAgICAgIFtEaXJlY3RvcmllcyBzYWZlIHRvIGhvbGQgYXV0by1sb2FkZWQgZmlsZXMu XSkKLSBBQ19NU0dfUkVTVUxUKFskd2l0aF9hdXRvX2xvYWRfc2FmZV9wYXRoXSkKK2RpZmYgLS1n aXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQoraW5kZXggN2IyNTAwNzlkZS4uZTMx NGUyOGZmMyAxMDA3NTUKKy0tLSBhL2dkYi9jb25maWd1cmUKKysrKyBiL2dkYi9jb25maWd1cmUK K0BAIC03MTYsNiArNzE2LDExIEBAIFBLR1ZFUlNJT04KKyBIQVZFX05BVElWRV9HQ09SRV9UQVJH RVQKKyBUQVJHRVRfT0JTCisgc3ViZGlycworK1JQTV9MSUJTCisrUlBNX0NGTEFHUworK1BLR19D T05GSUdfTElCRElSCisrUEtHX0NPTkZJR19QQVRICisrUEtHX0NPTkZJRworIEdEQl9EQVRBRElS CisgREVCVUdESVIKKyBNQUtFSU5GT19FWFRSQV9GTEFHUworQEAgLTgyMCw2ICs4MjUsNyBAQCB3 aXRoX2dkYl9kYXRhZGlyCisgd2l0aF9yZWxvY2F0ZWRfc291cmNlcworIHdpdGhfYXV0b19sb2Fk X2RpcgorIHdpdGhfYXV0b19sb2FkX3NhZmVfcGF0aAorK3dpdGhfcnBtCisgZW5hYmxlX3Rhcmdl dHMKKyBlbmFibGVfNjRfYml0X2JmZAorIGVuYWJsZV9nZGJjbGkKK0BAIC04NzgsNiArODg0LDEx IEBAIENDQworIENQUAorIE1BS0VJTkZPCisgTUFLRUlORk9GTEFHUworK1BLR19DT05GSUcKKytQ S0dfQ09ORklHX1BBVEgKKytQS0dfQ09ORklHX0xJQkRJUgorK1JQTV9DRkxBR1MKKytSUE1fTElC UworIFlBQ0MKKyBZRkxBR1MKKyBYTUtNRicKK0BAIC0xNTQ4LDYgKzE1NTksOCBAQCBPcHRpb25h bCBQYWNrYWdlczoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFstLXdpdGgtYXV0by1sb2Fk LWRpcl0KKyAgIC0td2l0aG91dC1hdXRvLWxvYWQtc2FmZS1wYXRoCisgICAgICAgICAgICAgICAg ICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgYXV0by1sb2FkZWQgZmlsZXMgbG9jYXRpb25zCisr ICAtLXdpdGgtcnBtICAgICAgICAgICAgICBxdWVyeSBycG0gZGF0YWJhc2UgZm9yIG1pc3Npbmcg ZGVidWdpbmZvcyAoeWVzL25vLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmLiBhdXRv PWxpYnJwbS5zbykKKyAgIC0td2l0aC1saWJ1bndpbmQtaWE2NCAgIHVzZSBsaWJ1bndpbmQgZnJh bWUgdW53aW5kaW5nIGZvciBpYTY0IHRhcmdldHMKKyAgIC0td2l0aC1jdXJzZXMgICAgICAgICAg IHVzZSB0aGUgY3Vyc2VzIGxpYnJhcnkgaW5zdGVhZCBvZiB0aGUgdGVybWNhcAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGlicmFyeQorQEAgLTE2MDUsNiArMTYxOCwxMyBAQCBTb21lIGlu Zmx1ZW50aWFsIGVudmlyb25tZW50IHZhcmlhYmxlczoKKyAgIE1BS0VJTkZPICAgIFBhcmVudCBj b25maWd1cmUgZGV0ZWN0cyBpZiBpdCBpcyBvZiBzdWZmaWNpZW50IHZlcnNpb24uCisgICBNQUtF SU5GT0ZMQUdTCisgICAgICAgICAgICAgICBQYXJhbWV0ZXJzIGZvciBNQUtFSU5GTy4KKysgIFBL R19DT05GSUcgIHBhdGggdG8gcGtnLWNvbmZpZyB1dGlsaXR5CisrICBQS0dfQ09ORklHX1BBVEgK KysgICAgICAgICAgICAgIGRpcmVjdG9yaWVzIHRvIGFkZCB0byBwa2ctY29uZmlnJ3Mgc2VhcmNo IHBhdGgKKysgIFBLR19DT05GSUdfTElCRElSCisrICAgICAgICAgICAgICBwYXRoIG92ZXJyaWRp bmcgcGtnLWNvbmZpZydzIGJ1aWx0LWluIHNlYXJjaCBwYXRoCisrICBSUE1fQ0ZMQUdTICBDIGNv bXBpbGVyIGZsYWdzIGZvciBSUE0sIG92ZXJyaWRpbmcgcGtnLWNvbmZpZworKyAgUlBNX0xJQlMg ICAgbGlua2VyIGZsYWdzIGZvciBSUE0sIG92ZXJyaWRpbmcgcGtnLWNvbmZpZworICAgWUFDQyAg ICAgICAgVGhlIGBZZXQgQW5vdGhlciBDIENvbXBpbGVyJyBpbXBsZW1lbnRhdGlvbiB0byB1c2Uu IERlZmF1bHRzIHRvCisgICAgICAgICAgICAgICB0aGUgZmlyc3QgcHJvZ3JhbSBmb3VuZCBvdXQg b2Y6IGBiaXNvbiAteScsIGBieWFjYycsIGB5YWNjJy4KKyAgIFlGTEFHUyAgICAgIFRoZSBsaXN0 IG9mIGFyZ3VtZW50cyB0aGF0IHdpbGwgYmUgcGFzc2VkIGJ5IGRlZmF1bHQgdG8gJFlBQ0MuCitA QCAtNjQ4Niw2ICs2NTA2LDQ5NCBAQCBfQUNFT0YKKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s aW5lbm8tJExJTkVOT306IHJlc3VsdDogJHdpdGhfYXV0b19sb2FkX3NhZmVfcGF0aCIgPiY1Cisg JGFzX2VjaG8gIiR3aXRoX2F1dG9fbG9hZF9zYWZlX3BhdGgiID4mNjsgfQogIAogKyMgSW50ZWdy YXRpb24gd2l0aCBycG0gbGlicmFyeSB0byBzdXBwb3J0IG1pc3NpbmcgZGVidWdpbmZvIHN1Z2dl c3Rpb25zLgogKyMgLS13aXRob3V0LXJwbTogRGlzYWJsZSBhbnkgcnBtIHN1cHBvcnQuCkBAIC04 NzksMTIgKzc5MiwxNyBAQCBJbmRleDogZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL2NvbmZpZ3Vy ZS5hYwogKyMgKGRlZmF1bHQpIC0td2l0aC1ycG09YXV0bzogTGlrZSBgLS13aXRoLXJwbT1saWJy cG0uc28nIGJ1dCBpZiBldmVuIHBrZy1jb25maWcKICsjICAgY2Fubm90IGZpbmQgbGlicnBtIHVz ZSB0byB0aGUgcnBtbGVzcyBjb21waWxhdGlvbiAobGlrZSBgLS13aXRob3V0LXJwbScpLgogKwot K0FDX0FSR19XSVRIKFtycG1dLAotKyAgW0FTX0hFTFBfU1RSSU5HKFstLXdpdGgtcnBtXSwKLSsg ICAgICAgICAgICAgICAgICBbcXVlcnkgcnBtIGRhdGFiYXNlIGZvciBtaXNzaW5nIGRlYnVnaW5m b3MgKHllcy9ubywgZGVmLiBhdXRvPWxpYnJwbS5zbyldKV0sIFtdLCBbd2l0aF9ycG09ImF1dG8i XSkKICsKLSttNF9wYXR0ZXJuX2FsbG93KFteQUNfTVNHX0VSUk9SJF0pCi0rbTRfcGF0dGVybl9h bGxvdyhbXkFDX01TR19XQVJOJF0pCisrIyBDaGVjayB3aGV0aGVyIC0td2l0aC1ycG0gd2FzIGdp dmVuLgorK2lmIHRlc3QgIiR7d2l0aF9ycG0rc2V0fSIgPSBzZXQ7IHRoZW4gOgorKyAgd2l0aHZh bD0kd2l0aF9ycG07CisrZWxzZQorKyAgd2l0aF9ycG09ImF1dG8iCisrZmkKKysKKysKKysKKysK ICtpZiB0ZXN0ICJ4JHdpdGhfcnBtIiAhPSAieG5vIjsgdGhlbgogKyAgaWYgdGVzdCAieCR3aXRo X3JwbSIgPSAieHllcyI7IHRoZW4KICsgICAgTElCUlBNPSJsaWJycG0uc28iCkBAIC05MDEsMTUg KzgxOSwyOCBAQCBJbmRleDogZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL2NvbmZpZ3VyZS5hYwog KyAgZmkKICsgIExJQlJQTV9TVFJJTkc9JyInIiRMSUJSUE0iJyInCiArCi0rICBBQ19NU0dfQ0hF Q0tJTkcoW3NwZWNpZmljIGxpYnJwbSB2ZXJzaW9uXSkKKysgIHsgJGFzX2VjaG8gIiRhc19tZTok e2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgc3BlY2lmaWMgbGlicnBtIHZlcnNpb24iID4m NQorKyRhc19lY2hvX24gImNoZWNraW5nIHNwZWNpZmljIGxpYnJwbSB2ZXJzaW9uLi4uICIgPiY2 OyB9CiArICBIQVZFX0RMT1BFTl9MSUJSUE09ZmFsc2UKICsgIHNhdmVfTElCUz0iJExJQlMiCiAr ICBMSUJTPSIkTElCUyAtbGRsIgotKyAgQUNfUlVOX0lGRUxTRShBQ19MQU5HX1BST0dSQU0oW1sK KysgIGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuIDoKKysgIHsgeyAkYXNf ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogaW4gXGAkYWNfcHdkJzoi ID4mNQorKyRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30KKyth c19mbl9lcnJvciAiY2Fubm90IHJ1biB0ZXN0IHByb2dyYW0gd2hpbGUgY3Jvc3MgY29tcGlsaW5n CisrU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscy4iICIkTElORU5PIiA1OyB9Cisr ZWxzZQorKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorKy8q IGVuZCBjb25mZGVmcy5oLiAgKi8KKysKICsjaW5jbHVkZSA8cnBtL3JwbWxpYi5oPgogKyNpbmNs dWRlIDxkbGZjbi5oPgogKyNpbmNsdWRlIDxlcnJuby5oPgotKyAgXV0sIFtbCisrCisraW50Cisr bWFpbiAoKQorK3sKKysKICsgICAgdm9pZCAqaDsKICsgICAgY29uc3QgY2hhciAqY29uc3QgKnJw bXZlcnA7CiArICAgIEZJTEUgKmY7CkBAIC05NzcsMjEgKzkwOCwzOSBAQCBJbmRleDogZ2RiLTcu MTEuNTAuMjAxNjA2MzAvZ2RiL2NvbmZpZ3VyZS5hYwogKwlmcHJpbnRmIChmLCAiJXNcbiIsIGgy X25hbWUpOwogKwlyZXR1cm4gMDsKICsgICAgICB9Ci0rICBdXSksIFsKKysKKysgIDsKKysgIHJl dHVybiAwOworK30KKytfQUNFT0YKKytpZiBhY19mbl9jX3RyeV9ydW4gIiRMSU5FTk8iOyB0aGVu IDoKKysKICsgICAgRExPUEVOX0xJQlJQTT0iYGNhdCBjb25mdGVzdC5vdXRgIgogKyAgICBpZiB0 ZXN0ICJ4JERMT1BFTl9MSUJSUE0iICE9ICJ4IjsgdGhlbgogKyAgICAgIEhBVkVfRExPUEVOX0xJ QlJQTT10cnVlCi0rICAgICAgQUNfTVNHX1JFU1VMVCgkRExPUEVOX0xJQlJQTSkKKysgICAgICB7 ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJERMT1BFTl9M SUJSUE0iID4mNQorKyRhc19lY2hvICIkRExPUEVOX0xJQlJQTSIgPiY2OyB9CiArICAgIGZpCi0r ICBdKQorKworK2ZpCisrcm0gLWYgY29yZSAqLmNvcmUgY29yZS5jb25mdGVzdC4qIGdtb24ub3V0 IGJiLm91dCBjb25mdGVzdCRhY19leGVleHQgXAorKyAgY29uZnRlc3QuJGFjX29iamV4dCBjb25m dGVzdC5iZWFtIGNvbmZ0ZXN0LiRhY19leHQKKytmaQorKwogKyAgcm0gLWYgY29uZnRlc3Qub3V0 CiArCi0rICBtNF9kZWZpbmUoW0NIRUNLX0xJQlJQTV9DT01QQVRdLCBbCi0rICAgIEFDX01TR19D SEVDS0lORyhbcnBtIGxpYnJhcnkgQVBJIGNvbXBhdGliaWxpdHldKQorKworKworKyAgaWYgJEhB VkVfRExPUEVOX0xJQlJQTTsgdGhlbgorKworKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s aW5lbm8tJExJTkVOT306IGNoZWNraW5nIHJwbSBsaWJyYXJ5IEFQSSBjb21wYXRpYmlsaXR5IiA+ JjUKKyskYXNfZWNob19uICJjaGVja2luZyBycG0gbGlicmFyeSBBUEkgY29tcGF0aWJpbGl0eS4u LiAiID4mNjsgfQogKyAgICAjIFRoZSBjb21waWxhdGlvbiByZXF1aXJlcyAtV2Vycm9yIHRvIHZl cmlmeSBhbnl0aGluZy4KICsgICAgc2F2ZV9DRkxBR1M9IiRDRkxBR1MiCiArICAgIENGTEFHUz0i JENGTEFHUyAtV2Vycm9yIgotKyAgICBBQ19DT01QSUxFX0lGRUxTRShBQ19MQU5HX1BST0dSQU0o W1sKKysgICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorKy8q IGVuZCBjb25mZGVmcy5oLiAgKi8KKysKICsvKiBEdXBsaWNhdGUgaGVyZSB0aGUgZGVjbGFyYXRp b25zIHRvIHZlcmlmeSB0aGV5IG1hdGNoICJlbGZyZWFkLmMiLiAgKi8KICsjaW5jbHVkZSA8cnBt L3JwbWxpYi5oPgogKyNpbmNsdWRlIDxycG0vcnBtdHMuaD4KQEAgLTEwMDUsMTggKzk1NCwzMSBA QCBJbmRleDogZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL2NvbmZpZ3VyZS5hYwogK2V4dGVybiBy cG10cyBycG10c0ZyZWUocnBtdHMgdHMpOwogK2V4dGVybiBycG1kYk1hdGNoSXRlcmF0b3IgcnBt dHNJbml0SXRlcmF0b3IoY29uc3QgcnBtdHMgdHMsIHJwbVRhZyBycG10YWcsCiArCQkJCQkgICAg Y29uc3Qgdm9pZCAqIGtleXAsIHNpemVfdCBrZXlsZW4pOwotKyAgICBdXSksIFsKKysKKytpbnQK KyttYWluICgpCisreworKworKyAgOworKyAgcmV0dXJuIDA7CisrfQorK19BQ0VPRgorK2lmIGFj X2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKysKICsgICAgICBMSUJSUE1fQ09N UEFUPXRydWUKLSsgICAgICBBQ19NU0dfUkVTVUxUKHllcykKLSsgICAgXSwgWworKyAgICAgIHsg JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMiID4mNQor KyRhc19lY2hvICJ5ZXMiID4mNjsgfQorKworK2Vsc2UKKysKICsgICAgICBMSUJSUE1fQ09NUEFU PWZhbHNlCi0rICAgICAgQUNfTVNHX1JFU1VMVChubykKLSsgICAgXSkKKysgICAgICB7ICRhc19l Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorKyRhc19l Y2hvICJubyIgPiY2OyB9CisrCisrZmkKKytybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVz dC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKICsgICAgQ0ZMQUdTPSIkc2F2ZV9DRkxBR1Mi Ci0rICBdKQogKwotKyAgaWYgJEhBVkVfRExPUEVOX0xJQlJQTTsgdGhlbgotKyAgICBDSEVDS19M SUJSUE1fQ09NUEFUCiArICAgIGlmICEgJExJQlJQTV9DT01QQVQ7IHRoZW4KICsgICAgICBIQVZF X0RMT1BFTl9MSUJSUE09ZmFsc2UKICsgICAgZmkKQEAgLTEwMjQsNDk2ICs5ODYsNTUwIEBAIElu ZGV4OiBnZGItNy4xMS41MC4yMDE2MDYzMC9nZGIvY29uZmlndXJlLmFjCiArCiArICBpZiAkSEFW RV9ETE9QRU5fTElCUlBNOyB0aGVuCiArICAgIERMT1BFTl9MSUJSUE1fU1RSSU5HPSciJyIkRExP UEVOX0xJQlJQTSInIicKLSsgICAgQUNfREVGSU5FX1VOUVVPVEVEKERMT1BFTl9MSUJSUE0sICRE TE9QRU5fTElCUlBNX1NUUklORywgW2xpYnJwbSB2ZXJzaW9uIHNwZWNpZmljIGxpYnJhcnkgbmFt ZSB0byBkbG9wZW4uXSkKLSsgICAgQUNfREVGSU5FKEhBVkVfTElCUlBNLCAxLCBbRGVmaW5lIGlm IGxpYnJwbSBsaWJyYXJ5IGlzIGJlaW5nIHVzZWQuXSkKLSsgIGVsc2UKLSsgICAgQUNfTVNHX1JF U1VMVChubykKLSsgICAgTElCUz0iJHNhdmVfTElCUyIKLSsgICAgaWYgJERMT1BFTl9SRVFVSVJF OyB0aGVuCi0rICAgICAgQUNfTVNHX0VSUk9SKFtTcGVjaWZpYyBuYW1lICRMSUJSUE0gd2FzIHJl cXVlc3RlZCBidXQgaXQgY291bGQgbm90IGJlIG9wZW5lZC5dKQotKyAgICBmaQotKyAgICBQS0df Q0hFQ0tfTU9EVUxFUyhSUE0sIHJwbSwgW0hBVkVfTElCUlBNPXRydWVdLCBbSEFWRV9MSUJSUE09 ZmFsc2VdKQotKwotKyAgICBpZiAkSEFWRV9MSUJSUE07IHRoZW4KLSsgICAgICBDSEVDS19MSUJS UE1fQ09NUEFUCi0rICAgICAgaWYgISAkTElCUlBNX0NPTVBBVDsgdGhlbgotKwlIQVZFX0xJQlJQ TT1mYWxzZQotKwlSUE1fUEtHX0VSUk9SUz0iRm91bmQgJExJQlJQTSBBUEkgaXMgaW5jb21wYXRp YmlsZSB3aXRoIHRoaXMgR0RCIgotKyAgICAgIGZpCi0rICAgIGZpCi0rCi0rICAgIGlmICRIQVZF X0xJQlJQTTsgdGhlbgotKyAgICAgIEFDX0RFRklORShIQVZFX0xJQlJQTSwgMSwgW0RlZmluZSBp ZiBsaWJycG0gbGlicmFyeSBpcyBiZWluZyB1c2VkLl0pCi0rICAgICAgQ0ZMQUdTPSIkQ0ZMQUdT ICRSUE1fQ0ZMQUdTIgotKyAgICAgIExJQlM9IiRMSUJTICRSUE1fTElCUyIKLSsgICAgZWxzZQot KyAgICAgIGlmICRSUE1fUkVRVUlSRTsgdGhlbgotKwlBQ19NU0dfRVJST1IoJFJQTV9QS0dfRVJS T1JTKQotKyAgICAgIGVsc2UKLSsJQUNfTVNHX1dBUk4oJFJQTV9QS0dfRVJST1JTKQotKyAgICAg IGZpCi0rICAgIGZpCi0rICBmaQotK2ZpCi0rIAotIEFDX0NPTkZJR19TVUJESVJTKHRlc3RzdWl0 ZSkKLSAKLSAjIENoZWNrIHdoZXRoZXIgdG8gc3VwcG9ydCBhbHRlcm5hdGl2ZSB0YXJnZXQgY29u ZmlndXJhdGlvbnMKLUluZGV4OiBnZGItNy4xMS41MC4yMDE2MDYzMC9nZGIvY29yZWxvdy5jCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuNTAuMjAxNjA2MzAub3JpZy9nZGIvY29yZWxvdy5jCTIw MTYtMDctMDMgMTQ6MzQ6MzIuMDIyNzUzNTgyICswMjAwCi0rKysgZ2RiLTcuMTEuNTAuMjAxNjA2 MzAvZ2RiL2NvcmVsb3cuYwkyMDE2LTA3LTAzIDE0OjM3OjEyLjU4MjEzMDgxOSArMDIwMAotQEAg LTMxMCw3ICszMTAsNyBAQAotICAgICAgICAgc3ltZmlsZV9vYmpmaWxlLT5mbGFncyB8PSBPQkpG X0JVSUxEX0lEX0NPUkVfTE9BREVEOwotICAgICB9Ci0gICBlbHNlCi0tICAgIGRlYnVnX3ByaW50 X21pc3NpbmcgKF8oInRoZSBtYWluIGV4ZWN1dGFibGUgZmlsZSIpLCBidWlsZF9pZF9maWxlbmFt ZSk7Ci0rICAgIGRlYnVnX3ByaW50X21pc3NpbmcgKEJVSUxEX0lEX01BSU5fRVhFQ1VUQUJMRV9G SUxFTkFNRSwgYnVpbGRfaWRfZmlsZW5hbWUpOwotIAotICAgZG9fY2xlYW51cHMgKGJhY2tfdG8p OwotIAotSW5kZXg6IGdkYi03LjExLjUwLjIwMTYwNjMwL2dkYi9idWlsZC1pZC5jCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTEuNTAuMjAxNjA2MzAub3JpZy9nZGIvYnVpbGQtaWQuYwkyMDE2LTA3 LTAzIDE0OjM2OjUwLjEyNDkzODE4NyArMDIwMAotKysrIGdkYi03LjExLjUwLjIwMTYwNjMwL2dk Yi9idWlsZC1pZC5jCTIwMTYtMDctMDMgMTQ6NDI6MjUuMTcxODEyMTM0ICswMjAwCi1AQCAtMzUs NiArMzUsNyBAQAotICNpbmNsdWRlICJlbGYvY29tbW9uLmgiCi0gI2luY2x1ZGUgImVsZi1iZmQu aCIKLSAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSsjaW5jbHVkZSAiZWxmL2V4dGVybmFsLmgiCi0g Ci0gI2RlZmluZSBCVUlMRF9JRF9WRVJCT1NFX05PTkUgMAotICNkZWZpbmUgQlVJTERfSURfVkVS Qk9TRV9GSUxFTkFNRVMgMQotQEAgLTY2NSw4ICs2NjYsMzY2IEBACi0gICByZXR1cm4gcmVzdWx0 OwotIH0KLSAKLSsjaWZkZWYgSEFWRV9MSUJSUE0KLSsKLSsjaW5jbHVkZSA8cnBtL3JwbWxpYi5o PgotKyNpbmNsdWRlIDxycG0vcnBtdHMuaD4KLSsjaW5jbHVkZSA8cnBtL3JwbWRiLmg+Ci0rI2lu Y2x1ZGUgPHJwbS9oZWFkZXIuaD4KLSsjaWZkZWYgRExPUEVOX0xJQlJQTQotKyNpbmNsdWRlIDxk bGZjbi5oPgotKyNlbmRpZgotKwotKy8qIFRoaXMgTUlTU0lOR19SUE1fSEFTSCB0cmFja2VyIGlz IHVzZWQgdG8gY29sbGVjdCBhbGwgdGhlIG1pc3NpbmcgcnBtIGZpbGVzCi0rICAgYW5kIGF2b2lk IHRoZWlyIGR1cGxpY2l0aWVzIGR1cmluZyBhIHNpbmdsZSBpbmZlcmlvciBydW4uICAqLwotKwot K3N0YXRpYyBzdHJ1Y3QgaHRhYiAqbWlzc2luZ19ycG1faGFzaDsKLSsKLSsvKiBUaGlzIE1JU1NJ TkdfUlBNX0xJU1QgdHJhY2tlciBpcyB1c2VkIHRvIGNvbGxlY3QgYW5kIHByaW50IGFzIGEgc2lu Z2xlIGxpbmUKLSsgICBhbGwgdGhlIHJwbXMgcmlnaHQgYmVmb3JlIHRoZSBuZWFyZXN0IEdEQiBw cm9tcHQuICBJdCBnZXRzIGNsZWFyZWQgYWZ0ZXIKLSsgICBlYWNoIHN1Y2ggcHJpbnQgKGl0IGlz IHF1ZXN0aW9uYWJsZSBpZiB3ZSBzaG91bGQgY2xlYXIgaXQgYWZ0ZXIgdGhlIHByaW50KS4KLSsg ICAqLwotKwotK3N0cnVjdCBtaXNzaW5nX3JwbQotKyAgewotKyAgICBzdHJ1Y3QgbWlzc2luZ19y cG0gKm5leHQ7Ci0rICAgIGNoYXIgcnBtWzFdOwotKyAgfTsKLStzdGF0aWMgc3RydWN0IG1pc3Np bmdfcnBtICptaXNzaW5nX3JwbV9saXN0OwotK3N0YXRpYyBpbnQgbWlzc2luZ19ycG1fbGlzdF9l bnRyaWVzOwotKwotKy8qIFJldHVybnMgdGhlIGNvdW50IG9mIG5ld2x5IGFkZGVkIHJwbXMuICAq LwogKwotK3N0YXRpYyBpbnQKLSttaXNzaW5nX3JwbV9lbmxpc3QgKGNvbnN0IGNoYXIgKmZpbGVu YW1lKQotK3sKLSsgIHN0YXRpYyBpbnQgcnBtX2luaXRfZG9uZSA9IDA7Ci0rICBycG10cyB0czsK LSsgIHJwbWRiTWF0Y2hJdGVyYXRvciBtaTsKLSsgIGludCBjb3VudCA9IDA7CisrY2F0ID4+Y29u ZmRlZnMuaCA8PF9BQ0VPRgorKyNkZWZpbmUgRExPUEVOX0xJQlJQTSAkRExPUEVOX0xJQlJQTV9T VFJJTkcKKytfQUNFT0YKICsKLSsjaWZkZWYgRExPUEVOX0xJQlJQTQotKyAgLyogRHVwbGljYXRl IGhlcmUgdGhlIGRlY2xhcmF0aW9ucyB0byB2ZXJpZnkgdGhleSBtYXRjaC4gIFRoZSBzYW1lIHNh bml0eQotKyAgICAgY2hlY2sgaXMgcHJlc2VudCBhbHNvIGluIGBjb25maWd1cmUuYWMnLiAgKi8K LSsgIGV4dGVybiBjaGFyICogaGVhZGVyRm9ybWF0KEhlYWRlciBoLCBjb25zdCBjaGFyICogZm10 LCBlcnJtc2dfdCAqIGVycm1zZyk7Ci0rICBzdGF0aWMgY2hhciAqKCpoZWFkZXJGb3JtYXRfcCkg KEhlYWRlciBoLCBjb25zdCBjaGFyICogZm10LCBlcnJtc2dfdCAqZXJybXNnKTsKLSsgIGV4dGVy biBpbnQgcnBtUmVhZENvbmZpZ0ZpbGVzKGNvbnN0IGNoYXIgKiBmaWxlLCBjb25zdCBjaGFyICog dGFyZ2V0KTsKLSsgIHN0YXRpYyBpbnQgKCpycG1SZWFkQ29uZmlnRmlsZXNfcCkgKGNvbnN0IGNo YXIgKiBmaWxlLCBjb25zdCBjaGFyICogdGFyZ2V0KTsKLSsgIGV4dGVybiBycG1kYk1hdGNoSXRl cmF0b3IgcnBtZGJGcmVlSXRlcmF0b3IocnBtZGJNYXRjaEl0ZXJhdG9yIG1pKTsKLSsgIHN0YXRp YyBycG1kYk1hdGNoSXRlcmF0b3IgKCpycG1kYkZyZWVJdGVyYXRvcl9wKSAocnBtZGJNYXRjaEl0 ZXJhdG9yIG1pKTsKLSsgIGV4dGVybiBIZWFkZXIgcnBtZGJOZXh0SXRlcmF0b3IocnBtZGJNYXRj aEl0ZXJhdG9yIG1pKTsKLSsgIHN0YXRpYyBIZWFkZXIgKCpycG1kYk5leHRJdGVyYXRvcl9wKSAo cnBtZGJNYXRjaEl0ZXJhdG9yIG1pKTsKLSsgIGV4dGVybiBycG10cyBycG10c0NyZWF0ZSh2b2lk KTsKLSsgIHN0YXRpYyBycG10cyAoKnJwbXRzQ3JlYXRlX3ApICh2b2lkKTsKLSsgIGV4dGVybiBy cG10cyBycG10c0ZyZWUocnBtdHMgdHMpOwotKyAgc3RhdGljIHJwbXRzICgqcnBtdHNGcmVlX3Ap IChycG10cyB0cyk7Ci0rICBleHRlcm4gcnBtZGJNYXRjaEl0ZXJhdG9yIHJwbXRzSW5pdEl0ZXJh dG9yKGNvbnN0IHJwbXRzIHRzLCBycG1UYWcgcnBtdGFnLAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICoga2V5cCwgc2l6ZV90IGtleWxl bik7Ci0rICBzdGF0aWMgcnBtZGJNYXRjaEl0ZXJhdG9yICgqcnBtdHNJbml0SXRlcmF0b3JfcCkg KGNvbnN0IHJwbXRzIHRzLAotKwkJCQkJCSAgICBycG1UYWcgcnBtdGFnLAotKwkJCQkJCSAgICBj b25zdCB2b2lkICprZXlwLAotKwkJCQkJCSAgICBzaXplX3Qga2V5bGVuKTsKLSsjZWxzZQkvKiAh RExPUEVOX0xJQlJQTSAqLwotKyMgZGVmaW5lIGhlYWRlckZvcm1hdF9wIGhlYWRlckZvcm1hdAot KyMgZGVmaW5lIHJwbVJlYWRDb25maWdGaWxlc19wIHJwbVJlYWRDb25maWdGaWxlcwotKyMgZGVm aW5lIHJwbWRiRnJlZUl0ZXJhdG9yX3AgcnBtZGJGcmVlSXRlcmF0b3IKLSsjIGRlZmluZSBycG1k Yk5leHRJdGVyYXRvcl9wIHJwbWRiTmV4dEl0ZXJhdG9yCi0rIyBkZWZpbmUgcnBtdHNDcmVhdGVf cCBycG10c0NyZWF0ZQotKyMgZGVmaW5lIHJwbXRzRnJlZV9wIHJwbXRzRnJlZQotKyMgZGVmaW5l IHJwbXRzSW5pdEl0ZXJhdG9yX3AgcnBtdHNJbml0SXRlcmF0b3IKLSsjZW5kaWYJLyogIURMT1BF Tl9MSUJSUE0gKi8KICsKLSsgIGdkYl9hc3NlcnQgKGZpbGVuYW1lICE9IE5VTEwpOworKyRhc19l Y2hvICIjZGVmaW5lIEhBVkVfTElCUlBNIDEiID4+Y29uZmRlZnMuaAogKwotKyAgaWYgKHN0cmNt cCAoZmlsZW5hbWUsIEJVSUxEX0lEX01BSU5fRVhFQ1VUQUJMRV9GSUxFTkFNRSkgPT0gMCkKLSsg ICAgcmV0dXJuIDA7CisrICBlbHNlCisrICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu by0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CisrJGFzX2VjaG8gIm5vIiA+JjY7IH0KKysgICAg TElCUz0iJHNhdmVfTElCUyIKKysgICAgaWYgJERMT1BFTl9SRVFVSVJFOyB0aGVuCisrICAgICAg YXNfZm5fZXJyb3IgIlNwZWNpZmljIG5hbWUgJExJQlJQTSB3YXMgcmVxdWVzdGVkIGJ1dCBpdCBj b3VsZCBub3QgYmUgb3BlbmVkLiIgIiRMSU5FTk8iIDUKKysgICAgZmkKICsKLSsgIGlmIChpc190 YXJnZXRfZmlsZW5hbWUgKGZpbGVuYW1lKSkKLSsgICAgcmV0dXJuIDA7CiArCi0rICBpZiAoZmls ZW5hbWVbMF0gIT0gJy8nKQotKyAgICB7Ci0rICAgICAgd2FybmluZyAoXygiSWdub3Jpbmcgbm9u LWFic29sdXRlIGZpbGVuYW1lOiA8JXM+IiksIGZpbGVuYW1lKTsKLSsgICAgICByZXR1cm4gMDsK LSsgICAgfQogKwotKyAgaWYgKCFycG1faW5pdF9kb25lKQotKyAgICB7Ci0rICAgICAgc3RhdGlj IGludCBpbml0X3RyaWVkOwogKwotKyAgICAgIC8qIEFscmVhZHkgZmFpbGVkIHRoZSBpbml0aWFs aXphdGlvbiBiZWZvcmU/ICAqLwotKyAgICAgIGlmIChpbml0X3RyaWVkKQotKyAgICAgIAlyZXR1 cm4gMDsKLSsgICAgICBpbml0X3RyaWVkID0gMTsKICsKLSsjaWZkZWYgRExPUEVOX0xJQlJQTQot KyAgICAgIHsKLSsJdm9pZCAqaDsKICsKLSsJaCA9IGRsb3BlbiAoRExPUEVOX0xJQlJQTSwgUlRM RF9MQVpZKTsKLSsJaWYgKCFoKQotKwkgIHsKLSsJICAgIHdhcm5pbmcgKF8oIlVuYWJsZSB0byBv cGVuIFwiJXNcIiAoJXMpLCAiCi0rCQkgICAgICAibWlzc2luZyBkZWJ1Z2luZm9zIG5vdGlmaWNh dGlvbnMgd2lsbCBub3QgYmUgZGlzcGxheWVkIiksCi0rCQkgICAgIERMT1BFTl9MSUJSUE0sIGRs ZXJyb3IgKCkpOwotKwkgICAgcmV0dXJuIDA7Ci0rCSAgfQogKwotKwlpZiAoISgoaGVhZGVyRm9y bWF0X3AgPSAoY2hhciAqKCopIChIZWFkZXIgaCwgY29uc3QgY2hhciAqIGZtdCwgZXJybXNnX3Qg KmVycm1zZykpIGRsc3ltIChoLCAiaGVhZGVyRm9ybWF0IikpCi0rCSAgICAgICYmIChycG1SZWFk Q29uZmlnRmlsZXNfcCA9IChpbnQgKCopIChjb25zdCBjaGFyICogZmlsZSwgY29uc3QgY2hhciAq IHRhcmdldCkpIGRsc3ltIChoLCAicnBtUmVhZENvbmZpZ0ZpbGVzIikpCi0rCSAgICAgICYmIChy cG1kYkZyZWVJdGVyYXRvcl9wID0gKHJwbWRiTWF0Y2hJdGVyYXRvciAoKikgKHJwbWRiTWF0Y2hJ dGVyYXRvciBtaSkpIGRsc3ltIChoLCAicnBtZGJGcmVlSXRlcmF0b3IiKSkKLSsJICAgICAgJiYg KHJwbWRiTmV4dEl0ZXJhdG9yX3AgPSAoSGVhZGVyICgqKSAocnBtZGJNYXRjaEl0ZXJhdG9yIG1p KSkgZGxzeW0gKGgsICJycG1kYk5leHRJdGVyYXRvciIpKQotKwkgICAgICAmJiAocnBtdHNDcmVh dGVfcCA9IChycG10cyAoKikgKHZvaWQpKSBkbHN5bSAoaCwgInJwbXRzQ3JlYXRlIikpCi0rCSAg ICAgICYmIChycG10c0ZyZWVfcCA9IChycG10cyAoKikgKHJwbXRzIHRzKSkgZGxzeW0gKGgsICJy cG10c0ZyZWUiKSkKLSsJICAgICAgJiYgKHJwbXRzSW5pdEl0ZXJhdG9yX3AgPSAocnBtZGJNYXRj aEl0ZXJhdG9yICgqKSAoY29uc3QgcnBtdHMgdHMsIHJwbVRhZyBycG10YWcsIGNvbnN0IHZvaWQg KmtleXAsIHNpemVfdCBrZXlsZW4pKSBkbHN5bSAoaCwgInJwbXRzSW5pdEl0ZXJhdG9yIikpKSkK LSsJICB7Ci0rCSAgICB3YXJuaW5nIChfKCJPcGVuZWQgbGlicmFyeSBcIiVzXCIgaXMgaW5jb21w YXRpYmxlICglcyksICIKLSsJCSAgICAgICJtaXNzaW5nIGRlYnVnaW5mb3Mgbm90aWZpY2F0aW9u cyB3aWxsIG5vdCBiZSBkaXNwbGF5ZWQiKSwKLSsJCSAgICAgRExPUEVOX0xJQlJQTSwgZGxlcnJv ciAoKSk7Ci0rCSAgICBpZiAoZGxjbG9zZSAoaCkpCi0rCSAgICAgIHdhcm5pbmcgKF8oIkVycm9y IGNsb3NpbmcgbGlicmFyeSBcIiVzXCI6ICVzXG4iKSwgRExPUEVOX0xJQlJQTSwKLSsJCSAgICAg ICBkbGVycm9yICgpKTsKLSsJICAgIHJldHVybiAwOwotKwkgIH0KLSsgICAgICB9Ci0rI2VuZGlm CS8qIERMT1BFTl9MSUJSUE0gKi8KKytpZiB0ZXN0ICJ4JGFjX2N2X2Vudl9QS0dfQ09ORklHX3Nl dCIgIT0gInhzZXQiOyB0aGVuCisrCWlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4K KysgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1wa2ctY29u ZmlnIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKytzZXQgZHVtbXkg JHthY190b29sX3ByZWZpeH1wa2ctY29uZmlnOyBhY193b3JkPSQyCisreyAkYXNfZWNobyAiJGFz X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorKyRh c19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQorK2lmIHRlc3QgIiR7 YWNfY3ZfcGF0aF9QS0dfQ09ORklHK3NldH0iID0gc2V0OyB0aGVuIDoKKysgICRhc19lY2hvX24g IihjYWNoZWQpICIgPiY2CisrZWxzZQorKyAgY2FzZSAkUEtHX0NPTkZJRyBpbgorKyAgW1xcL10q IHwgPzpbXFwvXSopCisrICBhY19jdl9wYXRoX1BLR19DT05GSUc9IiRQS0dfQ09ORklHIiAjIExl dCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdCB3aXRoIGEgcGF0aC4KKysgIDs7CisrICAqKQor KyAgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorK2ZvciBhc19kaXIgaW4g JFBBVEgKKytkbworKyAgSUZTPSRhc19zYXZlX0lGUworKyAgdGVzdCAteiAiJGFzX2RpciIgJiYg YXNfZGlyPS4KKysgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVu c2lvbnM7IGRvCisrICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQi ICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCisr ICAgIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIK KysgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rp ci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisrICAgIGJyZWFrIDIKKysgIGZpCisrZG9uZQor KyAgZG9uZQorK0lGUz0kYXNfc2F2ZV9JRlMKICsKLSsgICAgICBpZiAocnBtUmVhZENvbmZpZ0Zp bGVzX3AgKE5VTEwsIE5VTEwpICE9IDApCi0rCXsKLSsJICB3YXJuaW5nIChfKCJFcnJvciByZWFk aW5nIHRoZSBycG0gY29uZmlndXJhdGlvbiBmaWxlcyIpKTsKLSsJICByZXR1cm4gMDsKLSsJfQor KyAgOzsKKytlc2FjCisrZmkKKytQS0dfQ09ORklHPSRhY19jdl9wYXRoX1BLR19DT05GSUcKKytp ZiB0ZXN0IC1uICIkUEtHX0NPTkZJRyI7IHRoZW4KKysgIHsgJGFzX2VjaG8gIiRhc19tZToke2Fz X2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkUEtHX0NPTkZJRyIgPiY1CisrJGFzX2VjaG8gIiRQ S0dfQ09ORklHIiA+JjY7IH0KKytlbHNlCisrICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l bm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorKyRhc19lY2hvICJubyIgPiY2OyB9CisrZmkK ICsKLSsgICAgICBycG1faW5pdF9kb25lID0gMTsKLSsgICAgfQogKwotKyAgdHMgPSBycG10c0Ny ZWF0ZV9wICgpOworK2ZpCisraWYgdGVzdCAteiAiJGFjX2N2X3BhdGhfUEtHX0NPTkZJRyI7IHRo ZW4KKysgIGFjX3B0X1BLR19DT05GSUc9JFBLR19DT05GSUcKKysgICMgRXh0cmFjdCB0aGUgZmly c3Qgd29yZCBvZiAicGtnLWNvbmZpZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRo IGFyZ3MuCisrc2V0IGR1bW15IHBrZy1jb25maWc7IGFjX3dvcmQ9JDIKKyt7ICRhc19lY2hvICIk YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1Cisr JGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CisraWYgdGVzdCAi JHthY19jdl9wYXRoX2FjX3B0X1BLR19DT05GSUcrc2V0fSIgPSBzZXQ7IHRoZW4gOgorKyAgJGFz X2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKKytlbHNlCisrICBjYXNlICRhY19wdF9QS0dfQ09ORklH IGluCisrICBbXFwvXSogfCA/OltcXC9dKikKKysgIGFjX2N2X3BhdGhfYWNfcHRfUEtHX0NPTkZJ Rz0iJGFjX3B0X1BLR19DT05GSUciICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdp dGggYSBwYXRoLgorKyAgOzsKKysgICopCisrICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhf U0VQQVJBVE9SCisrZm9yIGFzX2RpciBpbiAkUEFUSAorK2RvCisrICBJRlM9JGFzX3NhdmVfSUZT CisrICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorKyAgICBmb3IgYWNfZXhlY19leHQg aW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKysgIGlmIHsgdGVzdCAtZiAiJGFz X2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29y ZCRhY19leGVjX2V4dCI7IH07IHRoZW4KKysgICAgYWNfY3ZfcGF0aF9hY19wdF9QS0dfQ09ORklH PSIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IgorKyAgICAkYXNfZWNobyAiJGFzX21lOiR7 YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+ JjUKKysgICAgYnJlYWsgMgorKyAgZmkKKytkb25lCisrICBkb25lCisrSUZTPSRhc19zYXZlX0lG UwogKwotKyAgbWkgPSBycG10c0luaXRJdGVyYXRvcl9wICh0cywgUlBNVEFHX0JBU0VOQU1FUywg ZmlsZW5hbWUsIDApOwotKyAgaWYgKG1pICE9IE5VTEwpCi0rICAgIHsKLSsgICAgICBmb3IgKDs7 KQotKwl7Ci0rCSAgSGVhZGVyIGg7Ci0rCSAgY2hhciAqZGVidWdpbmZvLCAqKnNsb3QsICpzLCAq czI7Ci0rCSAgZXJybXNnX3QgZXJyOwotKwkgIHNpemVfdCBzcmNycG1sZW4gPSBzaXplb2YgKCIu c3JjLnJwbSIpIC0gMTsKLSsJICBzaXplX3QgZGVidWdpbmZvbGVuID0gc2l6ZW9mICgiLWRlYnVn aW5mbyIpIC0gMTsKLSsJICBycG1kYk1hdGNoSXRlcmF0b3IgbWlfZGVidWdpbmZvOworKyAgOzsK Kytlc2FjCisrZmkKKythY19wdF9QS0dfQ09ORklHPSRhY19jdl9wYXRoX2FjX3B0X1BLR19DT05G SUcKKytpZiB0ZXN0IC1uICIkYWNfcHRfUEtHX0NPTkZJRyI7IHRoZW4KKysgIHsgJGFzX2VjaG8g IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfcHRfUEtHX0NPTkZJRyIg PiY1CisrJGFzX2VjaG8gIiRhY19wdF9QS0dfQ09ORklHIiA+JjY7IH0KKytlbHNlCisrICB7ICRh c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorKyRh c19lY2hvICJubyIgPiY2OyB9CisrZmkKICsKLSsJICBoID0gcnBtZGJOZXh0SXRlcmF0b3JfcCAo bWkpOwotKwkgIGlmIChoID09IE5VTEwpCi0rCSAgICBicmVhazsKKysgIGlmIHRlc3QgIngkYWNf cHRfUEtHX0NPTkZJRyIgPSB4OyB0aGVuCisrICAgIFBLR19DT05GSUc9IiIKKysgIGVsc2UKKysg ICAgY2FzZSAkY3Jvc3NfY29tcGlsaW5nOiRhY190b29sX3dhcm5lZCBpbgorK3llczopCisreyAk YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiB1c2luZyBjcm9z cyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mNQorKyRhc19lY2hvICIk YXNfbWU6IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3Qg dHJpcGxldCIgPiYyO30KKythY190b29sX3dhcm5lZD15ZXMgOzsKKytlc2FjCisrICAgIFBLR19D T05GSUc9JGFjX3B0X1BLR19DT05GSUcKKysgIGZpCisrZWxzZQorKyAgUEtHX0NPTkZJRz0iJGFj X2N2X3BhdGhfUEtHX0NPTkZJRyIKKytmaQogKwotKwkgIC8qIFZlcmlmeSB0aGUgZGVidWdpbmZv IGZpbGUgaXMgbm90IGFscmVhZHkgaW5zdGFsbGVkLiAgKi8KKytmaQorK2lmIHRlc3QgLW4gIiRQ S0dfQ09ORklHIjsgdGhlbgorKwlfcGtnX21pbl92ZXJzaW9uPTAuOS4wCisrCXsgJGFzX2VjaG8g IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgcGtnLWNvbmZpZyBpcyBhdCBs ZWFzdCB2ZXJzaW9uICRfcGtnX21pbl92ZXJzaW9uIiA+JjUKKyskYXNfZWNob19uICJjaGVja2lu ZyBwa2ctY29uZmlnIGlzIGF0IGxlYXN0IHZlcnNpb24gJF9wa2dfbWluX3ZlcnNpb24uLi4gIiA+ JjY7IH0KKysJaWYgJFBLR19DT05GSUcgLS1hdGxlYXN0LXBrZ2NvbmZpZy12ZXJzaW9uICRfcGtn X21pbl92ZXJzaW9uOyB0aGVuCisrCQl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ TkVOT306IHJlc3VsdDogeWVzIiA+JjUKKyskYXNfZWNobyAieWVzIiA+JjY7IH0KKysJZWxzZQor KwkJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+ JjUKKyskYXNfZWNobyAibm8iID4mNjsgfQorKwkJUEtHX0NPTkZJRz0iIgorKwlmaQorK2ZpCiAr Ci0rCSAgZGVidWdpbmZvID0gaGVhZGVyRm9ybWF0X3AgKGgsICIle3NvdXJjZXJwbX0tZGVidWdp bmZvLiV7YXJjaH0iLAotKwkJCQkgICAgICAmZXJyKTsKLSsJICBpZiAoIWRlYnVnaW5mbykKLSsJ ICAgIHsKLSsJICAgICAgd2FybmluZyAoXygiRXJyb3IgcXVlcnlpbmcgdGhlIHJwbSBmaWxlIGAl cyc6ICVzIiksIGZpbGVuYW1lLAotKwkgICAgICAgICAgICAgICBlcnIpOwotKwkgICAgICBjb250 aW51ZTsKLSsJICAgIH0KLSsJICAvKiBzID0gYC5zcmMucnBtLWRlYnVnaW5mby4le2FyY2h9JyAq LwotKwkgIHMgPSBzdHJyY2hyIChkZWJ1Z2luZm8sICctJykgLSBzcmNycG1sZW47Ci0rCSAgczIg PSBOVUxMOwotKwkgIGlmIChzID4gZGVidWdpbmZvICYmIG1lbWNtcCAocywgIi5zcmMucnBtIiwg c3JjcnBtbGVuKSA9PSAwKQotKwkgICAgewotKwkgICAgICAvKiBzMiA9IGAtJXtyZWxlYXNlfS5z cmMucnBtLWRlYnVnaW5mby4le2FyY2h9JyAqLwotKwkgICAgICBzMiA9IChjaGFyICopIG1lbXJj aHIgKGRlYnVnaW5mbywgJy0nLCBzIC0gZGVidWdpbmZvKTsKLSsJICAgIH0KLSsJICBpZiAoczIp Ci0rCSAgICB7Ci0rCSAgICAgIC8qIHMyID0gYC0le3ZlcnNpb259LSV7cmVsZWFzZX0uc3JjLnJw bS1kZWJ1Z2luZm8uJXthcmNofScgKi8KLSsJICAgICAgczIgPSAoY2hhciAqKSBtZW1yY2hyIChk ZWJ1Z2luZm8sICctJywgczIgLSBkZWJ1Z2luZm8pOwotKwkgICAgfQotKwkgIGlmICghczIpCi0r CSAgICB7Ci0rCSAgICAgIHdhcm5pbmcgKF8oIkVycm9yIHF1ZXJ5aW5nIHRoZSBycG0gZmlsZSBg JXMnOiAlcyIpLCBmaWxlbmFtZSwKLSsJICAgICAgICAgICAgICAgZGVidWdpbmZvKTsKLSsJICAg ICAgeGZyZWUgKGRlYnVnaW5mbyk7Ci0rCSAgICAgIGNvbnRpbnVlOwotKwkgICAgfQotKwkgIC8q IHMgPSBgLnNyYy5ycG0tZGVidWdpbmZvLiV7YXJjaH0nICovCi0rCSAgLyogczIgPSBgLSV7dmVy c2lvbn0tJXtyZWxlYXNlfS5zcmMucnBtLWRlYnVnaW5mby4le2FyY2h9JyAqLwotKwkgIG1lbW1v dmUgKHMyICsgZGVidWdpbmZvbGVuLCBzMiwgcyAtIHMyKTsKLSsJICBtZW1jcHkgKHMyLCAiLWRl YnVnaW5mbyIsIGRlYnVnaW5mb2xlbik7Ci0rCSAgLyogcyA9IGBYWFhYLiV7YXJjaH0nICovCi0r CSAgLyogc3RybGVuICgiWFhYWCIpID09IHNyY3JwbWxlbiArIGRlYnVnaW5mb2xlbiAqLwotKwkg IC8qIHMyID0gYC1kZWJ1Z2luZm8tJXt2ZXJzaW9ufS0le3JlbGVhc2V9WFguJXthcmNofScgKi8K LSsJICAvKiBzdHJsZW4gKCJYWCIpID09IHNyY3JwbWxlbiAqLwotKwkgIG1lbW1vdmUgKHMgKyBk ZWJ1Z2luZm9sZW4sIHMgKyBzcmNycG1sZW4gKyBkZWJ1Z2luZm9sZW4sCi0rCQkgICBzdHJsZW4g KHMgKyBzcmNycG1sZW4gKyBkZWJ1Z2luZm9sZW4pICsgMSk7Ci0rCSAgLyogcyA9IGAtZGVidWdp bmZvLSV7dmVyc2lvbn0tJXtyZWxlYXNlfS4le2FyY2h9JyAqLworK3BrZ19mYWlsZWQ9bm8KKyt7 ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBSUE0i ID4mNQorKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBSUE0uLi4gIiA+JjY7IH0KKysKKytpZiB0 ZXN0IC1uICIkUlBNX0NGTEFHUyI7IHRoZW4KKysgICAgcGtnX2N2X1JQTV9DRkxBR1M9IiRSUE1f Q0ZMQUdTIgorKyBlbGlmIHRlc3QgLW4gIiRQS0dfQ09ORklHIjsgdGhlbgorKyAgICBpZiB0ZXN0 IC1uICIkUEtHX0NPTkZJRyIgJiYgXAorKyAgICB7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp bmVuby0kTElORU5PfTogXCRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzIFwicnBt XCIiOyB9ID4mNQorKyAgKCRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJycG0i KSAyPiY1CisrICBhY19zdGF0dXM9JD8KKysgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t JExJTkVOT306IFwkPyA9ICRhY19zdGF0dXMiID4mNQorKyAgdGVzdCAkYWNfc3RhdHVzID0gMDsg fTsgdGhlbgorKyAgcGtnX2N2X1JQTV9DRkxBR1M9YCRQS0dfQ09ORklHIC0tY2ZsYWdzICJycG0i IDI+L2Rldi9udWxsYAorKwkJICAgICAgdGVzdCAieCQ/IiAhPSAieDAiICYmIHBrZ19mYWlsZWQ9 eWVzCisrZWxzZQorKyAgcGtnX2ZhaWxlZD15ZXMKKytmaQorKyBlbHNlCisrICAgIHBrZ19mYWls ZWQ9dW50cmllZAorK2ZpCisraWYgdGVzdCAtbiAiJFJQTV9MSUJTIjsgdGhlbgorKyAgICBwa2df Y3ZfUlBNX0xJQlM9IiRSUE1fTElCUyIKKysgZWxpZiB0ZXN0IC1uICIkUEtHX0NPTkZJRyI7IHRo ZW4KKysgICAgaWYgdGVzdCAtbiAiJFBLR19DT05GSUciICYmIFwKKysgICAgeyB7ICRhc19lY2hv ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXBy aW50LWVycm9ycyBcInJwbVwiIjsgfSA+JjUKKysgICgkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXBy aW50LWVycm9ycyAicnBtIikgMj4mNQorKyAgYWNfc3RhdHVzPSQ/CisrICAkYXNfZWNobyAiJGFz X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKysgIHRlc3Qg JGFjX3N0YXR1cyA9IDA7IH07IHRoZW4KKysgIHBrZ19jdl9SUE1fTElCUz1gJFBLR19DT05GSUcg LS1saWJzICJycG0iIDI+L2Rldi9udWxsYAorKwkJICAgICAgdGVzdCAieCQ/IiAhPSAieDAiICYm IHBrZ19mYWlsZWQ9eWVzCisrZWxzZQorKyAgcGtnX2ZhaWxlZD15ZXMKKytmaQorKyBlbHNlCisr ICAgIHBrZ19mYWlsZWQ9dW50cmllZAorK2ZpCiArCi0rCSAgLyogUlBNREJJX1BBQ0tBR0VTIHJl cXVpcmVzIGtleWxlbiA9PSBzaXplb2YgKGludCkuICAqLwotKwkgIC8qIFJQTURCSV9MQUJFTCBp cyBhbiBpbnRlcmZhY2UgZm9yIE5WUi1iYXNlZCBkYmlGaW5kQnlMYWJlbCgpLiAgKi8KLSsJICBt aV9kZWJ1Z2luZm8gPSBycG10c0luaXRJdGVyYXRvcl9wICh0cywgKHJwbVRhZykgUlBNREJJX0xB QkVMLCBkZWJ1Z2luZm8sIDApOwotKwkgIHhmcmVlIChkZWJ1Z2luZm8pOwotKwkgIGlmIChtaV9k ZWJ1Z2luZm8pCi0rCSAgICB7Ci0rCSAgICAgIHJwbWRiRnJlZUl0ZXJhdG9yX3AgKG1pX2RlYnVn aW5mbyk7Ci0rCSAgICAgIGNvdW50ID0gMDsKLSsJICAgICAgYnJlYWs7Ci0rCSAgICB9CiArCi0r CSAgLyogVGhlIGFsbG9jYXRlZCBtZW1vcnkgZ2V0cyB1dGlsaXplZCBiZWxvdyBmb3IgTUlTU0lO R19SUE1fSEFTSC4gICovCi0rCSAgZGVidWdpbmZvID0gaGVhZGVyRm9ybWF0X3AgKGgsCi0rCQkJ CSAgICAgICIle25hbWV9LSV7dmVyc2lvbn0tJXtyZWxlYXNlfS4le2FyY2h9IiwKLSsJCQkJICAg ICAgJmVycik7Ci0rCSAgaWYgKCFkZWJ1Z2luZm8pCi0rCSAgICB7Ci0rCSAgICAgIHdhcm5pbmcg KF8oIkVycm9yIHF1ZXJ5aW5nIHRoZSBycG0gZmlsZSBgJXMnOiAlcyIpLCBmaWxlbmFtZSwKLSsJ ICAgICAgICAgICAgICAgZXJyKTsKLSsJICAgICAgY29udGludWU7Ci0rCSAgICB9CiArCi0rCSAg LyogQmFzZSBwYWNrYWdlIG5hbWUgZm9yIGBkZWJ1Z2luZm8taW5zdGFsbCcuICBXZSBkbyBub3Qg dXNlIHRoZQotKwkgICAgIGB5dW0nIGNvbW1hbmQgZGlyZWN0bHkgYXMgdGhlIGxpbmUKLSsJCSB5 dW0gLS1lbmFibGVyZXBvPScqZGVidWcqJyBpbnN0YWxsIE5BTUUtZGVidWdpbmZvLkFSQ0gKLSsJ ICAgICB3b3VsZCBiZSBtb3JlIGNvbXBsaWNhdGVkIHRoYW4ganVzdDoKLSsJCSBkZWJ1Z2luZm8t aW5zdGFsbCBOQU1FLVZFUlNJT04tUkVMRUFTRS5BUkNICi0rCSAgICAgRG8gbm90IHN1cHBseSB0 aGUgcnBtIGJhc2UgbmFtZSAoZGVyaXZlZCBmcm9tIC5zcmMucnBtIG5hbWUpIGFzCi0rCSAgICAg ZGVidWdpbmZvLWluc3RhbGwgaXMgdW5hYmxlIHRvIGluc3RhbGwgdGhlIGRlYnVnaW5mbyBwYWNr YWdlIGlmCi0rCSAgICAgdGhlIGJhc2UgbmFtZSBQS0cgYmluYXJ5IHJwbSBpcyBub3QgaW5zdGFs bGVkIHdoaWxlIGZvciBleGFtcGxlCi0rCSAgICAgUEtHLWxpYnMgd291bGQgYmUgaW5zdGFsbGVk IChSSCBCdWcgNDY3OTAxKS4KLSsJICAgICBGVVRVUkU6IEFmdGVyIG11bHRpcGxlIGRlYnVnaW5m byB2ZXJzaW9ucyBzaW11bHRhbmVvdXNseSBpbnN0YWxsZWQKLSsJICAgICBnZXQgc3VwcG9ydGVk IHRoZSBzdXBwb3J0IGZvciB0aGUgVkVSU0lPTi1SRUxFQVNFIHRhZ3MgaGFuZGxpbmcKLSsJICAg ICBtYXkgbmVlZCBhbiB1cGRhdGUuICAqLworK2lmIHRlc3QgJHBrZ19mYWlsZWQgPSB5ZXM7IHRo ZW4KKysgICAJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6 IG5vIiA+JjUKKyskYXNfZWNobyAibm8iID4mNjsgfQogKwotKwkgIGlmIChtaXNzaW5nX3JwbV9o YXNoID09IE5VTEwpCi0rCSAgICB7Ci0rCSAgICAgIC8qIERFTF9GIGlzIHBhc3NlZCBOVUxMIGFz IE1JU1NJTkdfUlBNX0xJU1QncyBIVEFCX0RFTEVURQotKwkJIHNob3VsZCBub3QgZGVhbGxvY2F0 ZSB0aGUgZW50cmllcy4gICovCisraWYgJFBLR19DT05GSUcgLS1hdGxlYXN0LXBrZ2NvbmZpZy12 ZXJzaW9uIDAuMjA7IHRoZW4KKysgICAgICAgIF9wa2dfc2hvcnRfZXJyb3JzX3N1cHBvcnRlZD15 ZXMKKytlbHNlCisrICAgICAgICBfcGtnX3Nob3J0X2Vycm9yc19zdXBwb3J0ZWQ9bm8KKytmaQor KyAgICAgICAgaWYgdGVzdCAkX3BrZ19zaG9ydF9lcnJvcnNfc3VwcG9ydGVkID0geWVzOyB0aGVu CisrCSAgICAgICAgUlBNX1BLR19FUlJPUlM9YCRQS0dfQ09ORklHIC0tc2hvcnQtZXJyb3JzIC0t cHJpbnQtZXJyb3JzIC0tY2ZsYWdzIC0tbGlicyAicnBtIiAyPiYxYAorKyAgICAgICAgZWxzZQor KwkgICAgICAgIFJQTV9QS0dfRVJST1JTPWAkUEtHX0NPTkZJRyAtLXByaW50LWVycm9ycyAtLWNm bGFncyAtLWxpYnMgInJwbSIgMj4mMWAKKysgICAgICAgIGZpCisrCSMgUHV0IHRoZSBuYXN0eSBl cnJvciBtZXNzYWdlIGluIGNvbmZpZy5sb2cgd2hlcmUgaXQgYmVsb25ncworKwllY2hvICIkUlBN X1BLR19FUlJPUlMiID4mNQogKwotKwkgICAgICBtaXNzaW5nX3JwbV9oYXNoID0gaHRhYl9jcmVh dGVfYWxsb2MgKDY0LCBodGFiX2hhc2hfc3RyaW5nLAotKwkJCSAgICAgICAoaW50ICgqKSAoY29u c3Qgdm9pZCAqLCBjb25zdCB2b2lkICopKSBzdHJlcSwKLSsJCQkJCQkgICAgTlVMTCwgeGNhbGxv YywgeGZyZWUpOwotKwkgICAgfQotKwkgIHNsb3QgPSAoY2hhciAqKikgaHRhYl9maW5kX3Nsb3Qg KG1pc3NpbmdfcnBtX2hhc2gsIGRlYnVnaW5mbywgSU5TRVJUKTsKLSsJICAvKiBYQ0FMTE9DIG5l dmVyIHJldHVybnMgTlVMTC4gICovCi0rCSAgZ2RiX2Fzc2VydCAoc2xvdCAhPSBOVUxMKTsKLSsJ ICBpZiAoKnNsb3QgPT0gTlVMTCkKLSsJICAgIHsKLSsJICAgICAgc3RydWN0IG1pc3NpbmdfcnBt ICptaXNzaW5nX3JwbTsKKysJSEFWRV9MSUJSUE09ZmFsc2UKKytlbGlmIHRlc3QgJHBrZ19mYWls ZWQgPSB1bnRyaWVkOyB0aGVuCisrICAgICAJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v LSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyskYXNfZWNobyAibm8iID4mNjsgfQorKwlIQVZF X0xJQlJQTT1mYWxzZQorK2Vsc2UKKysJUlBNX0NGTEFHUz0kcGtnX2N2X1JQTV9DRkxBR1MKKysJ UlBNX0xJQlM9JHBrZ19jdl9SUE1fTElCUworKyAgICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7 YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IHllcyIgPiY1CisrJGFzX2VjaG8gInllcyIgPiY2 OyB9CisrCUhBVkVfTElCUlBNPXRydWUKKytmaQogKwotKwkgICAgICAqc2xvdCA9IGRlYnVnaW5m bzsKKysgICAgaWYgJEhBVkVfTElCUlBNOyB0aGVuCiArCi0rCSAgICAgIG1pc3NpbmdfcnBtID0g KHN0cnVjdCBtaXNzaW5nX3JwbSAqKSB4bWFsbG9jIChzaXplb2YgKCptaXNzaW5nX3JwbSkgKyBz dHJsZW4gKGRlYnVnaW5mbykpOwotKwkgICAgICBzdHJjcHkgKG1pc3NpbmdfcnBtLT5ycG0sIGRl YnVnaW5mbyk7Ci0rCSAgICAgIG1pc3NpbmdfcnBtLT5uZXh0ID0gbWlzc2luZ19ycG1fbGlzdDsK LSsJICAgICAgbWlzc2luZ19ycG1fbGlzdCA9IG1pc3NpbmdfcnBtOwotKwkgICAgICBtaXNzaW5n X3JwbV9saXN0X2VudHJpZXMrKzsKLSsJICAgIH0KLSsJICBlbHNlCi0rCSAgICB4ZnJlZSAoZGVi dWdpbmZvKTsKLSsJICBjb3VudCsrOwotKwl9CisrICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2Fz X2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgcnBtIGxpYnJhcnkgQVBJIGNvbXBhdGliaWxpdHki ID4mNQorKyRhc19lY2hvX24gImNoZWNraW5nIHJwbSBsaWJyYXJ5IEFQSSBjb21wYXRpYmlsaXR5 Li4uICIgPiY2OyB9CisrICAgICMgVGhlIGNvbXBpbGF0aW9uIHJlcXVpcmVzIC1XZXJyb3IgdG8g dmVyaWZ5IGFueXRoaW5nLgorKyAgICBzYXZlX0NGTEFHUz0iJENGTEFHUyIKKysgICAgQ0ZMQUdT PSIkQ0ZMQUdTIC1XZXJyb3IiCisrICAgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0 ZXN0LiRhY19leHQKKysvKiBlbmQgY29uZmRlZnMuaC4gICovCiArCi0rICAgICAgcnBtZGJGcmVl SXRlcmF0b3JfcCAobWkpOwotKyAgICB9CisrLyogRHVwbGljYXRlIGhlcmUgdGhlIGRlY2xhcmF0 aW9ucyB0byB2ZXJpZnkgdGhleSBtYXRjaCAiZWxmcmVhZC5jIi4gICovCisrI2luY2x1ZGUgPHJw bS9ycG1saWIuaD4KKysjaW5jbHVkZSA8cnBtL3JwbXRzLmg+CisrI2luY2x1ZGUgPHJwbS9ycG1k Yi5oPgorKyNpbmNsdWRlIDxycG0vaGVhZGVyLmg+CisrZXh0ZXJuIGNoYXIgKiBoZWFkZXJGb3Jt YXQoSGVhZGVyIGgsIGNvbnN0IGNoYXIgKiBmbXQsIGVycm1zZ190ICogZXJybXNnKTsKKytleHRl cm4gaW50IHJwbVJlYWRDb25maWdGaWxlcyhjb25zdCBjaGFyICogZmlsZSwgY29uc3QgY2hhciAq IHRhcmdldCk7CisrZXh0ZXJuIHJwbWRiTWF0Y2hJdGVyYXRvciBycG1kYkZyZWVJdGVyYXRvcihy cG1kYk1hdGNoSXRlcmF0b3IgbWkpOworK2V4dGVybiBIZWFkZXIgcnBtZGJOZXh0SXRlcmF0b3Io cnBtZGJNYXRjaEl0ZXJhdG9yIG1pKTsKKytleHRlcm4gcnBtdHMgcnBtdHNDcmVhdGUodm9pZCk7 CisrZXh0ZXJuIHJwbXRzIHJwbXRzRnJlZShycG10cyB0cyk7CisrZXh0ZXJuIHJwbWRiTWF0Y2hJ dGVyYXRvciBycG10c0luaXRJdGVyYXRvcihjb25zdCBycG10cyB0cywgcnBtVGFnIHJwbXRhZywK KysJCQkJCSAgICBjb25zdCB2b2lkICoga2V5cCwgc2l6ZV90IGtleWxlbik7CiArCi0rICBycG10 c0ZyZWVfcCAodHMpOworK2ludAorK21haW4gKCkKKyt7CiArCi0rICByZXR1cm4gY291bnQ7Cisr ICA7CisrICByZXR1cm4gMDsKICt9CisrX0FDRU9GCisraWYgYWNfZm5fY190cnlfY29tcGlsZSAi JExJTkVOTyI7IHRoZW4gOgogKwotK3N0YXRpYyBpbnQKLSttaXNzaW5nX3JwbV9saXN0X2NvbXBh ciAoY29uc3QgY2hhciAqY29uc3QgKmFwLCBjb25zdCBjaGFyICpjb25zdCAqYnApCi0rewotKyAg cmV0dXJuIHN0cmNvbGwgKCphcCwgKmJwKTsKLSt9CisrICAgICAgTElCUlBNX0NPTVBBVD10cnVl CisrICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6 IHllcyIgPiY1CisrJGFzX2VjaG8gInllcyIgPiY2OyB9CiArCi0rLyogSXQgcmV0dXJucyBhIE5V TEwtdGVybWluYXRlZCBhcnJheSBvZiBzdHJpbmdzIG5lZWRpbmcgdG8gYmUgRlJFRWQuICBJdCBt YXkKLSsgICBhbHNvIHJldHVybiBvbmx5IE5VTEwuICAqLworK2Vsc2UKICsKLStzdGF0aWMgdm9p ZAotK21pc3NpbmdfcnBtX2xpc3RfcHJpbnQgKHZvaWQpCi0rewotKyAgY2hhciAqKmFycmF5LCAq KmFycmF5X2l0ZXI7Ci0rICBzdHJ1Y3QgbWlzc2luZ19ycG0gKmxpc3RfaXRlcjsKLSsgIHN0cnVj dCBjbGVhbnVwICpjbGVhbnVwczsKKysgICAgICBMSUJSUE1fQ09NUEFUPWZhbHNlCisrICAgICAg eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUK KyskYXNfZWNobyAibm8iID4mNjsgfQogKwotKyAgaWYgKG1pc3NpbmdfcnBtX2xpc3RfZW50cmll cyA9PSAwKQotKyAgICByZXR1cm47CisrZmkKKytybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25m dGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKysgICAgQ0ZMQUdTPSIkc2F2ZV9DRkxB R1MiCiArCi0rICBhcnJheSA9IChjaGFyICoqKSB4bWFsbG9jIChzaXplb2YgKCphcnJheSkgKiBt aXNzaW5nX3JwbV9saXN0X2VudHJpZXMpOwotKyAgY2xlYW51cHMgPSBtYWtlX2NsZWFudXAgKHhm cmVlLCBhcnJheSk7CisrICAgICAgaWYgISAkTElCUlBNX0NPTVBBVDsgdGhlbgorKwlIQVZFX0xJ QlJQTT1mYWxzZQorKwlSUE1fUEtHX0VSUk9SUz0iRm91bmQgJExJQlJQTSBBUEkgaXMgaW5jb21w YXRpYmlsZSB3aXRoIHRoaXMgR0RCIgorKyAgICAgIGZpCisrICAgIGZpCiArCi0rICBhcnJheV9p dGVyID0gYXJyYXk7Ci0rICBmb3IgKGxpc3RfaXRlciA9IG1pc3NpbmdfcnBtX2xpc3Q7IGxpc3Rf aXRlciAhPSBOVUxMOwotKyAgICAgICBsaXN0X2l0ZXIgPSBsaXN0X2l0ZXItPm5leHQpCi0rICAg IHsKLSsgICAgICAqYXJyYXlfaXRlcisrID0gbGlzdF9pdGVyLT5ycG07Ci0rICAgIH0KLSsgIGdk Yl9hc3NlcnQgKGFycmF5X2l0ZXIgPT0gYXJyYXkgKyBtaXNzaW5nX3JwbV9saXN0X2VudHJpZXMp OworKyAgICBpZiAkSEFWRV9MSUJSUE07IHRoZW4KICsKLSsgIHFzb3J0IChhcnJheSwgbWlzc2lu Z19ycG1fbGlzdF9lbnRyaWVzLCBzaXplb2YgKCphcnJheSksCi0rCSAoaW50ICgqKSAoY29uc3Qg dm9pZCAqLCBjb25zdCB2b2lkICopKSBtaXNzaW5nX3JwbV9saXN0X2NvbXBhcik7CisrJGFzX2Vj aG8gIiNkZWZpbmUgSEFWRV9MSUJSUE0gMSIgPj5jb25mZGVmcy5oCiArCi0rICBwcmludGZfdW5m aWx0ZXJlZCAoXygiTWlzc2luZyBzZXBhcmF0ZSBkZWJ1Z2luZm9zLCB1c2U6ICVzIiksCi0rI2lm ZGVmIERORl9ERUJVR0lORk9fSU5TVEFMTAotKwkJICAgICAiZG5mICIKLSsjZW5kaWYKLSsJCSAg ICAgImRlYnVnaW5mby1pbnN0YWxsIik7Ci0rICBmb3IgKGFycmF5X2l0ZXIgPSBhcnJheTsgYXJy YXlfaXRlciA8IGFycmF5ICsgbWlzc2luZ19ycG1fbGlzdF9lbnRyaWVzOwotKyAgICAgICBhcnJh eV9pdGVyKyspCi0rICAgIHsKLSsgICAgICBwdXRjaGFyX3VuZmlsdGVyZWQgKCcgJyk7Ci0rICAg ICAgcHV0c191bmZpbHRlcmVkICgqYXJyYXlfaXRlcik7Ci0rICAgIH0KLSsgIHB1dGNoYXJfdW5m aWx0ZXJlZCAoJ1xuJyk7CisrICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTICRSUE1fQ0ZMQUdTIgorKyAg ICAgIExJQlM9IiRMSUJTICRSUE1fTElCUyIKKysgICAgZWxzZQorKyAgICAgIGlmICRSUE1fUkVR VUlSRTsgdGhlbgorKwlhc19mbl9lcnJvciAiJFJQTV9QS0dfRVJST1JTIiAiJExJTkVOTyIgNQor KyAgICAgIGVsc2UKKysJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBX QVJOSU5HOiAkUlBNX1BLR19FUlJPUlMiID4mNQorKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6 ICRSUE1fUEtHX0VSUk9SUyIgPiYyO30KKysgICAgICBmaQorKyAgICBmaQorKyAgZmkKKytmaQor KworIAorIAorIHN1YmRpcnM9IiRzdWJkaXJzIHRlc3RzdWl0ZSIKK2RpZmYgLS1naXQgYS9nZGIv Y29uZmlndXJlLmFjIGIvZ2RiL2NvbmZpZ3VyZS5hYworaW5kZXggOGU3MDZiNmUyNy4uOWRlNDQx ZmU3OSAxMDA2NDQKKy0tLSBhL2dkYi9jb25maWd1cmUuYWMKKysrKyBiL2dkYi9jb25maWd1cmUu YWMKK0BAIC0xNjcsNiArMTY3LDE5OSBAQCBBQ19ERUZJTkVfRElSKEFVVE9fTE9BRF9TQUZFX1BB VEgsIGVzY2FwZV9kaXIsCisgCSAgICAgIFtEaXJlY3RvcmllcyBzYWZlIHRvIGhvbGQgYXV0by1s b2FkZWQgZmlsZXMuXSkKKyBBQ19NU0dfUkVTVUxUKFskd2l0aF9hdXRvX2xvYWRfc2FmZV9wYXRo XSkKKyAKKysjIEludGVncmF0aW9uIHdpdGggcnBtIGxpYnJhcnkgdG8gc3VwcG9ydCBtaXNzaW5n IGRlYnVnaW5mbyBzdWdnZXN0aW9ucy4KKysjIC0td2l0aG91dC1ycG06IERpc2FibGUgYW55IHJw bSBzdXBwb3J0LgorKyMgLS13aXRoLXJwbT1saWJuYW1lLnNvOiBUcnkgdG8gZHluYW1pY2FsbHkg b3BlbiBgbGlibmFtZS5zbycgZHVyaW5nIHJ1bnRpbWUuCisrIyAgIEV2ZW4gd2l0aCBydW50aW1l IG1pc3NpbmcgYGxpYm5hbWUuc28nIEdEQiB3aWxsIHN0aWxsIG90aGVyIHJ1biBjb3JyZWN0bHku CisrIyAgIE1pc3NpbmcgYGxpYm5hbWUuc28nIGR1cmluZyAuL2NvbmZpZ3VyZSB3aWxsIGFib3J0 IHRoZSBjb25maWd1cmF0aW9uLgorKyMgLS13aXRoLXJwbT1saWJycG0uc286IExpa2UgYC0td2l0 aC1ycG09bGlibmFtZS5zbycgYnV0IHRyeSB0byBmaW5kIHNwZWNpZmljCisrIyAgIG1pbm9yIHZl cnNpb24gZmlyc3Qgc3VjaCBhcyBgbGlicnBtLTQuNi5zbycgYXMgbWlub3IgdmVyc2lvbiBkaWZm ZXJlbmNlcworKyMgICBtZWFuIEFQSStBQkkgaW5jb21wYXRpYmlsaXR5LiAgSWYgdGhlIHNwZWNp ZmljIG1hdGNoIHZlcnNpb25lZCBsaWJyYXJ5IG5hbWUKKysjICAgY291bGQgbm90IGJlIGZvdW5k IHN0aWxsIG9wZW4gZHluYW1pY2FsbHkgYXQgbGVhc3QgYGxpYnJwbS5zbycuCisrIyAtLXdpdGgt cnBtOiBMaWtlIGAtLXdpdGgtcnBtPWxpYnJwbS5zbycgYnV0IGlmIGFueSBvZiBpdHMgZGV0ZWN0 aW9uIGZhaWxzIHRyeQorKyMgICB0byBmaW5kIGxpYnJwbSBmb3IgY29tcGlsYXRpb24tdGltZSBs aW5raW5nIGJ5IHBrZy1jb25maWcuICBHREIgYmluYXJ5IHdpbGwKKysjICAgYmUgcHJvYmFibHkg bGlua2VkIHdpdGggdGhlIHZlcnNpb24gc3BlY2lmaWMgbGlicmFyeSAoYXMgYGxpYnJwbS00LjYu c28nKS4KKysjICAgRmFpbHVyZSB0byBmaW5kIGxpYnJwbSBieSBwa2ctY29uZmlnIHdpbGwgYWJv cnQgdGhlIGNvbmZpZ3VyYXRpb24uCisrIyAoZGVmYXVsdCkgLS13aXRoLXJwbT1hdXRvOiBMaWtl IGAtLXdpdGgtcnBtPWxpYnJwbS5zbycgYnV0IGlmIGV2ZW4gcGtnLWNvbmZpZworKyMgICBjYW5u b3QgZmluZCBsaWJycG0gdXNlIHRvIHRoZSBycG1sZXNzIGNvbXBpbGF0aW9uIChsaWtlIGAtLXdp dGhvdXQtcnBtJykuCisrCisrQUNfQVJHX1dJVEgoW3JwbV0sCisrICBbQVNfSEVMUF9TVFJJTkco Wy0td2l0aC1ycG1dLAorKyAgICAgICAgICAgICAgICAgIFtxdWVyeSBycG0gZGF0YWJhc2UgZm9y IG1pc3NpbmcgZGVidWdpbmZvcyAoeWVzL25vLCBkZWYuIGF1dG89bGlicnBtLnNvKV0pXSwgW10s IFt3aXRoX3JwbT0iYXV0byJdKQorKworK200X3BhdHRlcm5fYWxsb3coW15BQ19NU0dfRVJST1Ik XSkKKyttNF9wYXR0ZXJuX2FsbG93KFteQUNfTVNHX1dBUk4kXSkKKytpZiB0ZXN0ICJ4JHdpdGhf cnBtIiAhPSAieG5vIjsgdGhlbgorKyAgaWYgdGVzdCAieCR3aXRoX3JwbSIgPSAieHllcyI7IHRo ZW4KKysgICAgTElCUlBNPSJsaWJycG0uc28iCisrICAgIFJQTV9SRVFVSVJFPXRydWUKKysgICAg RExPUEVOX1JFUVVJUkU9ZmFsc2UKKysgIGVsaWYgdGVzdCAieCR3aXRoX3JwbSIgPSAieGF1dG8i OyB0aGVuCisrICAgIExJQlJQTT0ibGlicnBtLnNvIgorKyAgICBSUE1fUkVRVUlSRT1mYWxzZQor KyAgICBETE9QRU5fUkVRVUlSRT1mYWxzZQorKyAgZWxzZQorKyAgICBMSUJSUE09IiR3aXRoX3Jw bSIKKysgICAgUlBNX1JFUVVJUkU9dHJ1ZQorKyAgICBETE9QRU5fUkVRVUlSRT10cnVlCisrICBm aQorKyAgTElCUlBNX1NUUklORz0nIiciJExJQlJQTSInIicKKysKKysgIEFDX01TR19DSEVDS0lO Ryhbc3BlY2lmaWMgbGlicnBtIHZlcnNpb25dKQorKyAgSEFWRV9ETE9QRU5fTElCUlBNPWZhbHNl CisrICBzYXZlX0xJQlM9IiRMSUJTIgorKyAgTElCUz0iJExJQlMgLWxkbCIKKysgIEFDX1JVTl9J RkVMU0UoQUNfTEFOR19QUk9HUkFNKFtbCisrI2luY2x1ZGUgPHJwbS9ycG1saWIuaD4KKysjaW5j bHVkZSA8ZGxmY24uaD4KKysjaW5jbHVkZSA8ZXJybm8uaD4KKysgIF1dLCBbWworKyAgICB2b2lk ICpoOworKyAgICBjb25zdCBjaGFyICpjb25zdCAqcnBtdmVycDsKKysgICAgRklMRSAqZjsKKysK KysgICAgZiA9IGZvcGVuICgiY29uZnRlc3Qub3V0IiwgInciKTsKKysgICAgaWYgKCFmKQorKyAg ICAgIHsKKysJZnByaW50ZiAoc3RkZXJyLCAiQ2Fubm90IHdyaXRlIFwiJXNcIjogJXNcbiIsICJj b25mdGVzdC5vdXQiLAorKwkJIHN0cmVycm9yIChlcnJubykpOworKwlyZXR1cm4gMTsKKysgICAg ICB9CisrICAgIGggPSBkbG9wZW4gKCRMSUJSUE1fU1RSSU5HLCBSVExEX0xBWlkpOworKyAgICBp ZiAoIWgpCisrICAgICAgeworKwlmcHJpbnRmIChzdGRlcnIsICJkbG9wZW4gKFwiJXNcIik6ICVz XG4iLCAkTElCUlBNX1NUUklORywgZGxlcnJvciAoKSk7CisrCXJldHVybiAxOworKyAgICAgIH0K KysgICAgcnBtdmVycCA9IGRsc3ltIChoLCAiUlBNVkVSU0lPTiIpOworKyAgICBpZiAoIXJwbXZl cnApCisrICAgICAgeworKwlmcHJpbnRmIChzdGRlcnIsICJkbHN5bSAoXCJSUE1WRVJTSU9OXCIp OiAlc1xuIiwgZGxlcnJvciAoKSk7CisrCXJldHVybiAxOworKyAgICAgIH0KKysgICAgZnByaW50 ZiAoc3RkZXJyLCAiUlBNVkVSU0lPTiBpczogXCIiKTsKKysgICAgZnByaW50ZiAoc3RkZXJyLCAi JXNcIlxuIiwgKnJwbXZlcnApOwogKwotKyAgd2hpbGUgKG1pc3NpbmdfcnBtX2xpc3QgIT0gTlVM TCkKLSsgICAgewotKyAgICAgIGxpc3RfaXRlciA9IG1pc3NpbmdfcnBtX2xpc3Q7Ci0rICAgICAg bWlzc2luZ19ycG1fbGlzdCA9IGxpc3RfaXRlci0+bmV4dDsKLSsgICAgICB4ZnJlZSAobGlzdF9p dGVyKTsKLSsgICAgfQotKyAgbWlzc2luZ19ycG1fbGlzdF9lbnRyaWVzID0gMDsKKysgICAgLyog VHJ5IHRvIGZpbmQgdGhlIHNwZWNpZmljIGxpYnJwbSB2ZXJzaW9uIG9ubHkgZm9yICJsaWJycG0u c28iIGFzIHdlIGRvCisrICAgICAgIG5vdCBrbm93IGhvdyB0byBhc3NlbWJsZSB0aGUgdmVyc2lv biBzdHJpbmcgb3RoZXJ3aXNlLiAgKi8KICsKLSsgIGRvX2NsZWFudXBzIChjbGVhbnVwcyk7Ci0r fQorKyAgICBpZiAoc3RyY21wICgibGlicnBtLnNvIiwgJExJQlJQTV9TVFJJTkcpICE9IDApCisr ICAgICAgeworKwlmcHJpbnRmIChmLCAiJXNcbiIsICRMSUJSUE1fU1RSSU5HKTsKKysJcmV0dXJu IDA7CisrICAgICAgfQorKyAgICBlbHNlCisrICAgICAgeworKwljaGFyICpoMl9uYW1lOworKwl2 b2lkICpoMjsKKysJaW50IG1ham9yLCBtaW5vcjsKICsKLStzdGF0aWMgdm9pZAotK21pc3Npbmdf cnBtX2NoYW5nZSAodm9pZCkKLSt7Ci0rICBkZWJ1Z19mbHVzaF9taXNzaW5nICgpOworKwlpZiAo c3NjYW5mICgqcnBtdmVycCwgIiVkLiVkIiwgJm1ham9yLCAmbWlub3IpICE9IDIpCisrCSAgewor KwkgICAgZnByaW50ZiAoc3RkZXJyLCAiVW5hYmxlIHRvIHBhcnNlIFJQTVZFUlNJT04uXG4iKTsK KysJICAgIGZwcmludGYgKGYsICIlc1xuIiwgJExJQlJQTV9TVFJJTkcpOworKwkgICAgcmV0dXJu IDA7CisrCSAgfQorKwkvKiBBdm9pZCB0aGUgc3F1YXJlIGJyYWNrZXRzIGJ5IG1hbGxvYy4gICov CisrCWgyX25hbWUgPSBtYWxsb2MgKDY0KTsKKysJc3ByaW50ZiAoaDJfbmFtZSwgImxpYnJwbS0l ZC4lZC5zbyIsIG1ham9yLCBtaW5vcik7CisrCWgyID0gZGxvcGVuIChoMl9uYW1lLCBSVExEX0xB WlkpOworKwlpZiAoIWgyKQorKwkgIHsKKysJICAgIGZwcmludGYgKHN0ZGVyciwgImRsb3BlbiAo XCIlc1wiKTogJXNcbiIsIGgyX25hbWUsIGRsZXJyb3IgKCkpOworKwkgICAgZnByaW50ZiAoZiwg IiVzXG4iLCAkTElCUlBNX1NUUklORyk7CisrCSAgICByZXR1cm4gMDsKKysJICB9CisrCWlmICho MiAhPSBoKQorKwkgIHsKKysJICAgIGZwcmludGYgKHN0ZGVyciwgImRsb3BlbiBvZiBcIiVzXCIg YW5kIFwiJXNcIiBhcmUgZGlmZmVyZW50LlxuIiwKKysJCSAgICAgJExJQlJQTV9TVFJJTkcsIGgy X25hbWUpOworKwkgICAgZnByaW50ZiAoZiwgIiVzXG4iLCAkTElCUlBNX1NUUklORyk7CisrCSAg ICByZXR1cm4gMDsKKysJICB9CisrCS8qIEZvdW5kIHRoZSB2YWxpZCAuc28gbmFtZSB3aXRoIGEg c3BlY2lmaWMgdmVyc2lvbi4gICovCisrCWZwcmludGYgKGYsICIlc1xuIiwgaDJfbmFtZSk7Cisr CXJldHVybiAwOworKyAgICAgIH0KKysgIF1dKSwgWworKyAgICBETE9QRU5fTElCUlBNPSJgY2F0 IGNvbmZ0ZXN0Lm91dGAiCisrICAgIGlmIHRlc3QgIngkRExPUEVOX0xJQlJQTSIgIT0gIngiOyB0 aGVuCisrICAgICAgSEFWRV9ETE9QRU5fTElCUlBNPXRydWUKKysgICAgICBBQ19NU0dfUkVTVUxU KCRETE9QRU5fTElCUlBNKQorKyAgICBmaQorKyAgXSkKKysgIHJtIC1mIGNvbmZ0ZXN0Lm91dAog KwotKyAgZ2RiX2Fzc2VydCAobWlzc2luZ19ycG1fbGlzdCA9PSBOVUxMKTsKLSsgIGlmIChtaXNz aW5nX3JwbV9oYXNoICE9IE5VTEwpCi0rICAgIHsKLSsgICAgICBodGFiX2RlbGV0ZSAobWlzc2lu Z19ycG1faGFzaCk7Ci0rICAgICAgbWlzc2luZ19ycG1faGFzaCA9IE5VTEw7Ci0rICAgIH0KLSt9 CisrICBtNF9kZWZpbmUoW0NIRUNLX0xJQlJQTV9DT01QQVRdLCBbCisrICAgIEFDX01TR19DSEVD S0lORyhbcnBtIGxpYnJhcnkgQVBJIGNvbXBhdGliaWxpdHldKQorKyAgICAjIFRoZSBjb21waWxh dGlvbiByZXF1aXJlcyAtV2Vycm9yIHRvIHZlcmlmeSBhbnl0aGluZy4KKysgICAgc2F2ZV9DRkxB R1M9IiRDRkxBR1MiCisrICAgIENGTEFHUz0iJENGTEFHUyAtV2Vycm9yIgorKyAgICBBQ19DT01Q SUxFX0lGRUxTRShBQ19MQU5HX1BST0dSQU0oW1sKKysvKiBEdXBsaWNhdGUgaGVyZSB0aGUgZGVj bGFyYXRpb25zIHRvIHZlcmlmeSB0aGV5IG1hdGNoICJlbGZyZWFkLmMiLiAgKi8KKysjaW5jbHVk ZSA8cnBtL3JwbWxpYi5oPgorKyNpbmNsdWRlIDxycG0vcnBtdHMuaD4KKysjaW5jbHVkZSA8cnBt L3JwbWRiLmg+CisrI2luY2x1ZGUgPHJwbS9oZWFkZXIuaD4KKytleHRlcm4gY2hhciAqIGhlYWRl ckZvcm1hdChIZWFkZXIgaCwgY29uc3QgY2hhciAqIGZtdCwgZXJybXNnX3QgKiBlcnJtc2cpOwor K2V4dGVybiBpbnQgcnBtUmVhZENvbmZpZ0ZpbGVzKGNvbnN0IGNoYXIgKiBmaWxlLCBjb25zdCBj aGFyICogdGFyZ2V0KTsKKytleHRlcm4gcnBtZGJNYXRjaEl0ZXJhdG9yIHJwbWRiRnJlZUl0ZXJh dG9yKHJwbWRiTWF0Y2hJdGVyYXRvciBtaSk7CisrZXh0ZXJuIEhlYWRlciBycG1kYk5leHRJdGVy YXRvcihycG1kYk1hdGNoSXRlcmF0b3IgbWkpOworK2V4dGVybiBycG10cyBycG10c0NyZWF0ZSh2 b2lkKTsKKytleHRlcm4gcnBtdHMgcnBtdHNGcmVlKHJwbXRzIHRzKTsKKytleHRlcm4gcnBtZGJN YXRjaEl0ZXJhdG9yIHJwbXRzSW5pdEl0ZXJhdG9yKGNvbnN0IHJwbXRzIHRzLCBycG1UYWcgcnBt dGFnLAorKwkJCQkJICAgIGNvbnN0IHZvaWQgKiBrZXlwLCBzaXplX3Qga2V5bGVuKTsKKysgICAg XV0pLCBbCisrICAgICAgTElCUlBNX0NPTVBBVD10cnVlCisrICAgICAgQUNfTVNHX1JFU1VMVCh5 ZXMpCisrICAgIF0sIFsKKysgICAgICBMSUJSUE1fQ09NUEFUPWZhbHNlCisrICAgICAgQUNfTVNH X1JFU1VMVChubykKKysgICAgXSkKKysgICAgQ0ZMQUdTPSIkc2F2ZV9DRkxBR1MiCisrICBdKQog KwotK2VudW0gbWlzc2luZ19leGVjCi0rICB7Ci0rICAgIC8qIEluaXQgc3RhdGUuICBFWEVDX0JG RCBhbHNvIHN0aWxsIGNvdWxkIGJlIE5VTEwuICAqLwotKyAgICBNSVNTSU5HX0VYRUNfTk9UX1RS SUVELAotKyAgICAvKiBXZSBzYXcgYSBub24tTlVMTCBFWEVDX0JGRCBidXQgUlBNIGhhcyBubyBp bmZvIGFib3V0IGl0LiAgKi8KLSsgICAgTUlTU0lOR19FWEVDX05PVF9GT1VORCwKLSsgICAgLyog V2UgZm91bmQgRVhFQ19CRkQgYnkgUlBNIGFuZCB3ZSBlaXRoZXIgaGF2ZSBpdHMgc3ltYm9scyAo ZWl0aGVyIGVtYmVkZGVkCi0rICAgICAgIG9yIHNlcGFyYXRlKSBvciB0aGUgbWFpbiBleGVjdXRh YmxlJ3MgUlBNIGlzIG5vdyBjb250YWluZWQgaW4KLSsgICAgICAgTUlTU0lOR19SUE1fSEFTSC4g ICovCi0rICAgIE1JU1NJTkdfRVhFQ19FTkxJU1RFRAotKyAgfTsKLStzdGF0aWMgZW51bSBtaXNz aW5nX2V4ZWMgbWlzc2luZ19leGVjID0gTUlTU0lOR19FWEVDX05PVF9UUklFRDsKKysgIGlmICRI QVZFX0RMT1BFTl9MSUJSUE07IHRoZW4KKysgICAgQ0hFQ0tfTElCUlBNX0NPTVBBVAorKyAgICBp ZiAhICRMSUJSUE1fQ09NUEFUOyB0aGVuCisrICAgICAgSEFWRV9ETE9QRU5fTElCUlBNPWZhbHNl CisrICAgIGZpCisrICBmaQogKwotKyNlbmRpZgkvKiBIQVZFX0xJQlJQTSAqLworKyAgaWYgJEhB VkVfRExPUEVOX0xJQlJQTTsgdGhlbgorKyAgICBETE9QRU5fTElCUlBNX1NUUklORz0nIiciJERM T1BFTl9MSUJSUE0iJyInCisrICAgIEFDX0RFRklORV9VTlFVT1RFRChETE9QRU5fTElCUlBNLCAk RExPUEVOX0xJQlJQTV9TVFJJTkcsIFtsaWJycG0gdmVyc2lvbiBzcGVjaWZpYyBsaWJyYXJ5IG5h bWUgdG8gZGxvcGVuLl0pCisrICAgIEFDX0RFRklORShIQVZFX0xJQlJQTSwgMSwgW0RlZmluZSBp ZiBsaWJycG0gbGlicmFyeSBpcyBiZWluZyB1c2VkLl0pCisrICBlbHNlCisrICAgIEFDX01TR19S RVNVTFQobm8pCisrICAgIExJQlM9IiRzYXZlX0xJQlMiCisrICAgIGlmICRETE9QRU5fUkVRVUlS RTsgdGhlbgorKyAgICAgIEFDX01TR19FUlJPUihbU3BlY2lmaWMgbmFtZSAkTElCUlBNIHdhcyBy ZXF1ZXN0ZWQgYnV0IGl0IGNvdWxkIG5vdCBiZSBvcGVuZWQuXSkKKysgICAgZmkKKysgICAgUEtH X0NIRUNLX01PRFVMRVMoUlBNLCBycG0sIFtIQVZFX0xJQlJQTT10cnVlXSwgW0hBVkVfTElCUlBN PWZhbHNlXSkKICsKLSt2b2lkCi0rZGVidWdfZmx1c2hfbWlzc2luZyAodm9pZCkKLSt7Ci0rI2lm ZGVmIEhBVkVfTElCUlBNCi0rICBtaXNzaW5nX3JwbV9saXN0X3ByaW50ICgpOwotKyNlbmRpZgot K30KKysgICAgaWYgJEhBVkVfTElCUlBNOyB0aGVuCisrICAgICAgQ0hFQ0tfTElCUlBNX0NPTVBB VAorKyAgICAgIGlmICEgJExJQlJQTV9DT01QQVQ7IHRoZW4KKysJSEFWRV9MSUJSUE09ZmFsc2UK KysJUlBNX1BLR19FUlJPUlM9IkZvdW5kICRMSUJSUE0gQVBJIGlzIGluY29tcGF0aWJpbGUgd2l0 aCB0aGlzIEdEQiIKKysgICAgICBmaQorKyAgICBmaQogKwotIC8qIFRoaXMgTUlTU0lOR19GSUxF UEFJUl9IQVNIIHRyYWNrZXIgaXMgdXNlZCBvbmx5IGZvciB0aGUgZHVwbGljaXRlIG1lc3NhZ2Vz Ci0tICAgICBUcnkgdG8gaW5zdGFsbCB0aGUgaGFzaCBmaWxlIC4uLgotKyAgICAgeXVtIC0tZW5h YmxlcmVwbz0nKmRlYnVnKicgaW5zdGFsbCAuLi4KLSAgICBhdm9pZGFuY2UuICAqLworKyAgICBp ZiAkSEFWRV9MSUJSUE07IHRoZW4KKysgICAgICBBQ19ERUZJTkUoSEFWRV9MSUJSUE0sIDEsIFtE ZWZpbmUgaWYgbGlicnBtIGxpYnJhcnkgaXMgYmVpbmcgdXNlZC5dKQorKyAgICAgIENGTEFHUz0i JENGTEFHUyAkUlBNX0NGTEFHUyIKKysgICAgICBMSUJTPSIkTElCUyAkUlBNX0xJQlMiCisrICAg IGVsc2UKKysgICAgICBpZiAkUlBNX1JFUVVJUkU7IHRoZW4KKysJQUNfTVNHX0VSUk9SKCRSUE1f UEtHX0VSUk9SUykKKysgICAgICBlbHNlCisrCUFDX01TR19XQVJOKCRSUE1fUEtHX0VSUk9SUykK KysgICAgICBmaQorKyAgICBmaQorKyAgZmkKKytmaQorKyAKKyBBQ19DT05GSUdfU1VCRElSUyh0 ZXN0c3VpdGUpCiAgCi0gc3RydWN0IG1pc3NpbmdfZmlsZXBhaXIKLUBAIC03MjAsMTEgKzEwNzks MTcgQEAKLSAgICAgICAvKiBBbGwgdGhlaXIgbWVtb3J5IGNhbWUganVzdCBmcm9tIG1pc3Npbmdf ZmlsZXBhaXJfT0JTVEFDSy4gICovCi0gICAgICAgbWlzc2luZ19maWxlcGFpcl9oYXNoID0gTlVM TDsKKyAjIENoZWNrIHdoZXRoZXIgdG8gc3VwcG9ydCBhbHRlcm5hdGl2ZSB0YXJnZXQgY29uZmln dXJhdGlvbnMKK2RpZmYgLS1naXQgYS9nZGIvY29yZWxvdy5jIGIvZ2RiL2NvcmVsb3cuYworaW5k ZXggYjZlOWRkYzY1Mi4uNTQ3MzEzYzRiNSAxMDA2NDQKKy0tLSBhL2dkYi9jb3JlbG93LmMKKysr KyBiL2dkYi9jb3JlbG93LmMKK0BAIC0zMDksNyArMzA5LDcgQEAgYnVpbGRfaWRfbG9jYXRlX2V4 ZWMgKGludCBmcm9tX3R0eSkKKyAgICAgICAgIHN5bWZpbGVfb2JqZmlsZS0+ZmxhZ3MgfD0gT0JK Rl9CVUlMRF9JRF9DT1JFX0xPQURFRDsKICAgICAgfQotKyNpZmRlZiBIQVZFX0xJQlJQTQotKyAg bWlzc2luZ19leGVjID0gTUlTU0lOR19FWEVDX05PVF9UUklFRDsKLSsjZW5kaWYKLSB9CisgICBl bHNlCistICAgIGRlYnVnX3ByaW50X21pc3NpbmcgKF8oInRoZSBtYWluIGV4ZWN1dGFibGUgZmls ZSIpLCBidWlsZF9pZF9maWxlbmFtZSk7CisrICAgIGRlYnVnX3ByaW50X21pc3NpbmcgKEJVSUxE X0lEX01BSU5fRVhFQ1VUQUJMRV9GSUxFTkFNRSwgYnVpbGRfaWRfZmlsZW5hbWUpOwogIAotIHN0 YXRpYyB2b2lkCi0gZGVidWdfcHJpbnRfZXhlY3V0YWJsZV9jaGFuZ2VkICh2b2lkKQotIHsKLSsj aWZkZWYgSEFWRV9MSUJSUE0KLSsgIG1pc3NpbmdfcnBtX2NoYW5nZSAoKTsKLSsjZW5kaWYKLSAg IG1pc3NpbmdfZmlsZXBhaXJfY2hhbmdlICgpOwotIH0KKyAgIGRvX2NsZWFudXBzIChiYWNrX3Rv KTsKICAKLUBAIC03OTEsMTQgKzExNTYsMzkgQEAKK2RpZmYgLS1naXQgYS9nZGIvZXZlbnQtdG9w LmMgYi9nZGIvZXZlbnQtdG9wLmMKK2luZGV4IDg5OTM2OTY1YTkuLmExODY2ZjBjODggMTAwNjQ0 CistLS0gYS9nZGIvZXZlbnQtdG9wLmMKKysrKyBiL2dkYi9ldmVudC10b3AuYworQEAgLTQwLDYg KzQwLDcgQEAKKyAjaW5jbHVkZSAiYnVmZmVyLmgiCisgI2luY2x1ZGUgInNlci1ldmVudC5oIgor ICNpbmNsdWRlICJnZGJfc2VsZWN0LmgiCisrI2luY2x1ZGUgInN5bWZpbGUuaCIKICAKLSAgICpz bG90ID0gbWlzc2luZ19maWxlcGFpcjsKKyAvKiByZWFkbGluZSBpbmNsdWRlIGZpbGVzLiAgKi8K KyAjaW5jbHVkZSAicmVhZGxpbmUvcmVhZGxpbmUuaCIKK0BAIC0zNTksNiArMzYwLDggQEAgZGlz cGxheV9nZGJfcHJvbXB0IChjb25zdCBjaGFyICpuZXdfcHJvbXB0KQorICAgLyogUmVzZXQgdGhl IG5lc3RpbmcgZGVwdGggdXNlZCB3aGVuIHRyYWNlLWNvbW1hbmRzIGlzIHNldC4gICovCisgICBy ZXNldF9jb21tYW5kX25lc3RfZGVwdGggKCk7CiAgCi0tICAvKiBXZSBkbyBub3QgY29sbGVjdCBh bmQgZmx1c2ggdGhlc2UgbWVzc2FnZXMgYXMgZWFjaCBzdWNoIG1lc3NhZ2UKLS0gICAgIGFscmVh ZHkgcmVxdWlyZXMgaXRzIG93biBzZXBhcmF0ZSBsaW5lcy4gICovCi0rI2lmZGVmIEhBVkVfTElC UlBNCi0rICBpZiAobWlzc2luZ19leGVjID09IE1JU1NJTkdfRVhFQ19OT1RfVFJJRUQpCi0rICAg IHsKLSsgICAgICBjaGFyICpleGVjZmlsZW5hbWU7CisrICBkZWJ1Z19mbHVzaF9taXNzaW5nICgp OworKworICAgLyogRG8gbm90IGNhbGwgdGhlIHB5dGhvbiBob29rIG9uIGFuIGV4cGxpY2l0IHBy b21wdCBjaGFuZ2UgYXMKKyAgICAgIHBhc3NlZCB0byB0aGlzIGZ1bmN0aW9uLCBhcyB0aGlzIGZv cm1zIGEgc2Vjb25kYXJ5L2xvY2FsIHByb21wdCwKKyAgICAgIElFLCBkaXNwbGF5ZWQgYnV0IG5v dCBzZXQuICAqLworQEAgLTc3Myw3ICs3NzYsMTAgQEAgY29tbWFuZF9saW5lX2hhbmRsZXIgKGNo YXIgKnJsKQorICAgICAgIGNvbW1hbmRfaGFuZGxlciAoY21kKTsKICAKLS0gIGZwcmludGZfdW5m aWx0ZXJlZCAoZ2RiX3N0ZGxvZywKLS0JCSAgICAgIF8oIk1pc3Npbmcgc2VwYXJhdGUgZGVidWdp bmZvIGZvciAlc1xuIiksIGJpbmFyeSk7Ci0tICBpZiAoZGVidWcgIT0gTlVMTCkKLS0gICAgZnBy aW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLCBfKCJUcnkgdG8gaW5zdGFsbCB0aGUgaGFzaCBm aWxlICVzXG4iKSwKLS0JCQlkZWJ1Zyk7Ci0rICAgICAgZXhlY2ZpbGVuYW1lID0gZ2V0X2V4ZWNf ZmlsZSAoMCk7Ci0rICAgICAgaWYgKGV4ZWNmaWxlbmFtZSAhPSBOVUxMKQorICAgICAgIGlmICh1 aS0+cHJvbXB0X3N0YXRlICE9IFBST01QVEVEKQorLQlkaXNwbGF5X2dkYl9wcm9tcHQgKDApOwog Kwl7Ci0rCSAgaWYgKG1pc3NpbmdfcnBtX2VubGlzdCAoZXhlY2ZpbGVuYW1lKSA9PSAwKQotKwkg ICAgbWlzc2luZ19leGVjID0gTUlTU0lOR19FWEVDX05PVF9GT1VORDsKLSsJICBlbHNlCi0rCSAg ICBtaXNzaW5nX2V4ZWMgPSBNSVNTSU5HX0VYRUNfRU5MSVNURUQ7CisrCSAgZGVidWdfZmx1c2hf bWlzc2luZyAoKTsKKysJICBkaXNwbGF5X2dkYl9wcm9tcHQgKDApOwogKwl9Ci0rICAgIH0KLSsg IGlmIChtaXNzaW5nX2V4ZWMgIT0gTUlTU0lOR19FWEVDX0VOTElTVEVEKQotKyAgICBpZiAoKGJp bmFyeVswXSA9PSAwIHx8IG1pc3NpbmdfcnBtX2VubGlzdCAoYmluYXJ5KSA9PSAwKQotKwkmJiAo ZGVidWcgPT0gTlVMTCB8fCBtaXNzaW5nX3JwbV9lbmxpc3QgKGRlYnVnKSA9PSAwKSkKLSsjZW5k aWYJLyogSEFWRV9MSUJSUE0gKi8KLSsgICAgICB7Ci0rCS8qIFdlIGRvIG5vdCBjb2xsZWN0IGFu ZCBmbHVzaCB0aGVzZSBtZXNzYWdlcyBhcyBlYWNoIHN1Y2ggbWVzc2FnZQotKwkgICBhbHJlYWR5 IHJlcXVpcmVzIGl0cyBvd24gc2VwYXJhdGUgbGluZXMuICAqLwotKwotKwlmcHJpbnRmX3VuZmls dGVyZWQgKGdkYl9zdGRsb2csCi0rCQkJICAgIF8oIk1pc3Npbmcgc2VwYXJhdGUgZGVidWdpbmZv IGZvciAlc1xuIiksIGJpbmFyeSk7Ci0rICAgICAgICBpZiAoZGVidWcgIT0gTlVMTCkKLSsJICBm cHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csIF8oIlRyeTogJXMgJXNcbiIpLAotKyNpZmRl ZiBETkZfREVCVUdJTkZPX0lOU1RBTEwKLSsJCQkgICAgICAiZG5mIgotKyNlbHNlCi0rCQkJICAg ICAgInl1bSIKLSsjZW5kaWYKLSsJCQkgICAgICAiIC0tZW5hYmxlcmVwbz0nKmRlYnVnKicgaW5z dGFsbCIsIGRlYnVnKTsKLSsgICAgICB9CisgICAgIH0KICB9CiAgCi0gLyogU2VlIGJ1aWxkLWlk LmguICAqLworZGlmZiAtLWdpdCBhL2dkYi9zeW1maWxlLmggYi9nZGIvc3ltZmlsZS5oCitpbmRl eCA0NWJiZTBhMjI5Li42OWVlYWQyMGQ5IDEwMDY0NAorLS0tIGEvZ2RiL3N5bWZpbGUuaAorKysr IGIvZ2RiL3N5bWZpbGUuaAorQEAgLTU0Niw2ICs1NDYsOCBAQCB2b2lkIG1hcF9zeW1ib2xfZmls ZW5hbWVzIChzeW1ib2xfZmlsZW5hbWVfZnR5cGUgKmZ1biwgdm9pZCAqZGF0YSwKKyAvKiBidWls ZC1pZCBzdXBwb3J0LiAgKi8KKyBleHRlcm4gc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWRf YWRkcl9nZXQgKENPUkVfQUREUiBhZGRyKTsKKyBleHRlcm4gdm9pZCBkZWJ1Z19wcmludF9taXNz aW5nIChjb25zdCBjaGFyICpiaW5hcnksIGNvbnN0IGNoYXIgKmRlYnVnKTsKKytleHRlcm4gdm9p ZCBkZWJ1Z19mbHVzaF9taXNzaW5nICh2b2lkKTsKKysjZGVmaW5lIEJVSUxEX0lEX01BSU5fRVhF Q1VUQUJMRV9GSUxFTkFNRSBfKCJ0aGUgbWFpbiBleGVjdXRhYmxlIGZpbGUiKQorIAorIC8qIEZy b20gZHdhcmYycmVhZC5jICovCisgCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLTYu Ni1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRjaCBiL2dkYi02LjYtYnVpbGRp ZC1sb2NhdGUtc29saWItbWlzc2luZy1pZHMucGF0Y2gKaW5kZXggMDhkOTAxZS4uNzJhNTc0YiAx MDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRj aAorKysgYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNvbGliLW1pc3NpbmctaWRzLnBhdGNoCkBA IC0xLDE4ICsxLDMyIEBACitGcm9tIGQyNzk2M2Y4MWQwOTU2NDhkNDljNjIzZDU1NjdkYzFhYTk2 NDI5ZTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMg PGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIw MAogU3ViamVjdDogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRj aAogCiBGaWxlTmFtZTogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5w YXRjaAogCis7OyBGaXggbG9hZGluZyBvZiBjb3JlIGZpbGVzIHdpdGhvdXQgYnVpbGQtaWRzIGJ1 dCB3aXRoIGJ1aWxkLWlkcyBpbiBleGVjdXRhYmxlcy4KKzs7IExvYWQgc3RyaWN0bHkgYnVpbGQt aWQtY2hlY2tlZCBjb3JlIGZpbGVzIG9ubHkgaWYgbm8gZXhlY3V0YWJsZSBpcyBzcGVjaWZpZWQK Kzs7IChKYW4gS3JhdG9jaHZpbCwgUkggQlogMTMzOTg2MikuCis7Oz1wdXNoK2phbgogCiBnZGIg cmV0dXJucyBhbiBpbmNvcnJlY3QgYmFjayB0cmFjZSB3aGVuIGFwcGx5aW5nIGEgZGVidWdpbmZv CiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTEzMzk4NjIKKy0t LQorIGdkYi9zb2xpYi1zdnI0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDM1ICsrKystLS0KKyAuLi4vZ2NvcmUtYnVpbGRpZC1leGVjLWJ1dC1ub3Qtc29saWItbGliLmMg ICAgICAgICB8ICAyMSArKysrKworIC4uLi9nY29yZS1idWlsZGlkLWV4ZWMtYnV0LW5vdC1zb2xp Yi1tYWluLmMgICAgICAgIHwgIDI1ICsrKysrCisgLi4uL2dkYi5iYXNlL2djb3JlLWJ1aWxkaWQt ZXhlYy1idXQtbm90LXNvbGliLmV4cCAgfCAxMDUgKysrKysrKysrKysrKysrKysrKysrCisgNCBm aWxlcyBjaGFuZ2VkLCAxNjcgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtYnVpbGRpZC1leGVjLWJ1 dC1ub3Qtc29saWItbGliLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9nY29yZS1idWlsZGlkLWV4ZWMtYnV0LW5vdC1zb2xpYi1tYWluLmMKKyBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1idWlsZGlkLWV4ZWMtYnV0LW5v dC1zb2xpYi5leHAKIAotSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3NvbGliLXN2cjQu YwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvc29saWItc3Zy NC5jCTIwMTUtMDctMDkgMTg6MTg6NTQuNTI2NDE3NzY2ICswMjAwCi0rKysgZ2RiLTcuOS45MC4y MDE1MDcwOS9nZGIvc29saWItc3ZyNC5jCTIwMTUtMDctMDkgMTg6MTk6MzMuMDc0NzQ2NTg2ICsw MjAwCi1AQCAtMTM4MSwxNCArMTM4MSwyNyBAQCBzdnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERS IGxtLCBDT1JFX0FECitkaWZmIC0tZ2l0IGEvZ2RiL3NvbGliLXN2cjQuYyBiL2dkYi9zb2xpYi1z dnI0LmMKK2luZGV4IDA4Nzg4MDkyZGMuLjEyMjA3YWM2ZTkgMTAwNjQ0CistLS0gYS9nZGIvc29s aWItc3ZyNC5jCisrKysgYi9nZGIvc29saWItc3ZyNC5jCitAQCAtMTM4NywxNCArMTM4NywyNyBA QCBzdnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBDT1JFX0FERFIgcHJldl9sbSwKICAJ fQogIAogICAgICAgIHsKQEAgLTM4LDExICs1MiwxMSBAQCBJbmRleDogZ2RiLTcuOS45MC4yMDE1 MDcwOS9nZGIvc29saWItc3ZyNC5jCiArCSAgIHRvIHRoZSBvbmx5IGV4aXN0aW5nIGZpbGUgbG9h ZGVkIHRoYXQgdGltZSAtIHRoZSBleGVjdXRhYmxlLiAgKi8KICsJaWYgKHN5bWZpbGVfb2JqZmls ZSAhPSBOVUxMCiArCSAgICAmJiAoc3ltZmlsZV9vYmpmaWxlLT5mbGFncyAmIE9CSkZfQlVJTERf SURfQ09SRV9MT0FERUQpICE9IDApCi0rCSAgYnVpbGRfaWQgPSBidWlsZF9pZF9hZGRyX2dldCAo bmV3b2JqLT5sbV9pbmZvLT5sX2xkKTsKKysJICBidWlsZF9pZCA9IGJ1aWxkX2lkX2FkZHJfZ2V0 IChsaS0+bF9sZCk7CiAgCWlmIChidWlsZF9pZCAhPSBOVUxMKQogIAkgIHsKICAJICAgIGNoYXIg Km5hbWUsICpidWlsZF9pZF9maWxlbmFtZTsKLUBAIC0xNDAzLDIzICsxNDE2LDcgQEAgc3ZyNF9y ZWFkX3NvX2xpc3QgKENPUkVfQUREUiBsbSwgQ09SRV9BRAorQEAgLTE0MDksMjMgKzE0MjIsNyBA QCBzdnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBDT1JFX0FERFIgcHJldl9sbSwKICAJ CXhmcmVlIChuYW1lKTsKICAJICAgICAgfQogIAkgICAgZWxzZQpAQCAtNjcsOCArODEsNjkgQEAg SW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3NvbGliLXN2cjQuYwogIAogIAkgICAgeGZy ZWUgKGJ1aWxkX2lkX2ZpbGVuYW1lKTsKICAJICAgIHhmcmVlIChidWlsZF9pZCk7Ci0tLS0gL2Rl di9udWxsCTIwMTYtMDctMDIgMjA6Mjk6MDEuNjc5NDA0OTQzICswMjAwCi0rKysgZ2RiLTcuMTEu NTAuMjAxNjA3MjEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1idWlsZGlkLWV4ZWMtYnV0 LW5vdC1zb2xpYi5leHAJMjAxNi0wNy0zMSAyMzowNDo0OS4wNjI3NTM3MjIgKzAyMDAKK2RpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3JlLWJ1aWxkaWQtZXhlYy1idXQtbm90 LXNvbGliLWxpYi5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1idWlsZGlkLWV4ZWMt YnV0LW5vdC1zb2xpYi1saWIuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAw MDAuLmQ3NGI2OTBjNzMKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvZ2NvcmUtYnVpbGRpZC1leGVjLWJ1dC1ub3Qtc29saWItbGliLmMKK0BAIC0wLDAgKzEsMjEg QEAKKysvKiBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysK KysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgICBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisr ICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uICAqLworKworK3ZvaWQKKytsaWIgKHZvaWQpCisreworK30KK2RpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3JlLWJ1aWxkaWQtZXhlYy1idXQtbm90 LXNvbGliLW1haW4uYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtYnVpbGRpZC1leGVj LWJ1dC1ub3Qtc29saWItbWFpbi5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAw MDAwMC4uNDZiOWRmZTE2MQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9nY29yZS1idWlsZGlkLWV4ZWMtYnV0LW5vdC1zb2xpYi1tYWluLmMKK0BAIC0wLDAgKzEs MjUgQEAKKysvKiBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K KysKKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCisrCisrICAgVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysg ICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2 ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworK2V4dGVybiB2b2lkIGxpYiAodm9pZCk7CisrCisr aW50CisrbWFpbiAodm9pZCkKKyt7CisrICBsaWIgKCk7CisrICByZXR1cm4gMDsKKyt9CitkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1idWlsZGlkLWV4ZWMtYnV0LW5v dC1zb2xpYi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3JlLWJ1aWxkaWQtZXhlYy1i dXQtbm90LXNvbGliLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAu LjBjNDY0ODlmMzEKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv Z2NvcmUtYnVpbGRpZC1leGVjLWJ1dC1ub3Qtc29saWIuZXhwCiBAQCAtMCwwICsxLDEwNSBAQAog KyMgQ29weXJpZ2h0IDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0x NzUsNTUgKzI1MCw2IEBAIEluZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9zb2xpYi1zdnI0 LmMKICsKICtnZGJfdGVzdCAiYnQiCiArZ2RiX3Rlc3QgImluZm8gc2hhcmVkIgotLS0tIC9kZXYv bnVsbAkyMDE2LTA3LTAyIDIwOjI5OjAxLjY3OTQwNDk0MyArMDIwMAotKysrIGdkYi03LjExLjUw LjIwMTYwNzIxL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtYnVpbGRpZC1leGVjLWJ1dC1u b3Qtc29saWItbWFpbi5jCTIwMTYtMDctMjggMjE6MDY6NDAuOTc3Nzg2OTIyICswMjAwCi1AQCAt MCwwICsxLDI1IEBACi0rLyogQ29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCi0rCi0rICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR0RCLgotKwotKyAgIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0r ICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLStleHRlcm4gdm9pZCBsaWIgKHZvaWQp OwotKwotK2ludAotK21haW4gKHZvaWQpCi0rewotKyAgbGliICgpOwotKyAgcmV0dXJuIDA7Ci0r fQotLS0tIC9kZXYvbnVsbAkyMDE2LTA3LTAyIDIwOjI5OjAxLjY3OTQwNDk0MyArMDIwMAotKysr IGdkYi03LjExLjUwLjIwMTYwNzIxL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtYnVpbGRp ZC1leGVjLWJ1dC1ub3Qtc29saWItbGliLmMJMjAxNi0wNy0yOCAyMTowNjo0MC45Nzc3ODY5MjIg KzAyMDAKLUBAIC0wLDAgKzEsMjEgQEAKLSsvKiBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCi0rCi0r ICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rICAgKGF0IHlv dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsgICBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgot KyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKLSsgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgotKwotKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCi0rICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwotKwotK3ZvaWQKLStsaWIg KHZvaWQpCi0rewotK30KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxk aWQtbG9jYXRlLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAppbmRleCAwYTY1 NDYyLi40NjA1OTRjIDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCisr KyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKQEAgLTEsMzU5ICsxLDM0IEBACitGcm9t IGIzOGQ4NjMwZWNjZTI4MzliMzVlMThlYzg0MjBmY2U2YWFjYzA0ZTUgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgog RGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuNi1i dWlsZGlkLWxvY2F0ZS5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5w YXRjaAogCis7OyBOZXcgbG9jYXRpbmcgb2YgdGhlIG1hdGNoaW5nIGJpbmFyaWVzIGZyb20gdGhl IHB1cmUgY29yZSBmaWxlIChidWlsZC1pZCkuCis7Oz1wdXNoK2phbgorLS0tCisgZ2RiL2J1aWxk LWlkLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA3NTMgKysrKysrKysrKysr KysrKysrKysrKystCisgZ2RiL2J1aWxkLWlkLmggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMTUgKy0KKyBnZGIvY29mZnJlYWQuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgMiArLQorIGdkYi9jb3JlbG93LmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDY3ICsrKworIGdkYi9kb2MvZ2RiLnRleGluZm8gICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDIxICsKKyBnZGIvZHdhcmYycmVhZC5jICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgMiArLQorIGdkYi9lbGZyZWFkLmMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICA3ICstCisgZ2RiL29iamZpbGVzLmggICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDQgKworIGdkYi9weXRob24vcHktb2JqZmlsZS5jICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICA0ICstCisgZ2RiL3NvbGliLXN2cjQuYyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgNTAgKy0KKyBnZGIvc3ltZmlsZS5oICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgNCArCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9j b3JlZmlsZS5leHAgICAgICAgICAgICAgfCAgMzAgKworIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv bmV3LXVpLXBlbmRpbmctaW5wdXQuZXhwIHwgICAxICsKKyBnZGIvdGVzdHN1aXRlL2xpYi9nZGIu ZXhwICAgICAgICAgICAgICAgICAgICAgICB8ICAxMCArCisgZ2RiL3Rlc3RzdWl0ZS9saWIvbWkt c3VwcG9ydC5leHAgICAgICAgICAgICAgICAgfCAgMTAgKworIDE1IGZpbGVzIGNoYW5nZWQsIDk0 MCBpbnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9jb3JlbG93LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQy MC5vcmlnL2dkYi9jb3JlbG93LmMJMjAxNy0wNC0yMCAyMzowMDozNS40MTU1ODQ0MjYgKzAyMDAK LSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvY29yZWxvdy5jCTIwMTctMDQtMjAgMjM6MDA6 NDMuMzU4NjI5MTgzICswMjAwCi1AQCAtNDUsNiArNDUsMTAgQEAKLSAjaW5jbHVkZSAiZ2RiX2Jm ZC5oIgotICNpbmNsdWRlICJjb21wbGV0ZXIuaCIKLSAjaW5jbHVkZSAiZmlsZXN0dWZmLmgiCi0r I2luY2x1ZGUgImF1eHYuaCIKLSsjaW5jbHVkZSAiZWxmL2NvbW1vbi5oIgotKyNpbmNsdWRlICJn ZGJjbWQuaCIKLSsjaW5jbHVkZSAiYnVpbGQtaWQuaCIKLSAKLSAjaWZuZGVmIE9fTEFSR0VGSUxF Ci0gI2RlZmluZSBPX0xBUkdFRklMRSAwCi1AQCAtMjY2LDYgKzI3MCw1NCBAQAotICAgICBpbmZl cmlvcl9wdGlkID0gcHRpZDsJCQkvKiBZZXMsIG1ha2UgaXQgY3VycmVudC4gICovCi0gfQotIAot K3N0YXRpYyBpbnQgYnVpbGRfaWRfY29yZV9sb2FkcyA9IDE7Ci0rCi0rc3RhdGljIHZvaWQKLSti dWlsZF9pZF9sb2NhdGVfZXhlYyAoaW50IGZyb21fdHR5KQotK3sKLSsgIENPUkVfQUREUiBhdF9l bnRyeTsKLSsgIHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkOwotKyAgY2hhciAqZXhlY2Zp bGVuYW1lLCAqZGVidWdfZmlsZW5hbWU7Ci0rICBjaGFyICpidWlsZF9pZF9maWxlbmFtZTsKLSsg IHN0cnVjdCBjbGVhbnVwICpiYWNrX3RvOwotKwotKyAgaWYgKGV4ZWNfYmZkICE9IE5VTEwgfHwg c3ltZmlsZV9vYmpmaWxlICE9IE5VTEwpCi0rICAgIHJldHVybjsKLSsKLSsgIGlmICh0YXJnZXRf YXV4dl9zZWFyY2ggKCZjdXJyZW50X3RhcmdldCwgQVRfRU5UUlksICZhdF9lbnRyeSkgPD0gMCkK LSsgICAgcmV0dXJuOwotKwotKyAgYnVpbGRfaWQgPSBidWlsZF9pZF9hZGRyX2dldCAoYXRfZW50 cnkpOwotKyAgaWYgKGJ1aWxkX2lkID09IE5VTEwpCi0rICAgIHJldHVybjsKLSsgIGJhY2tfdG8g PSBtYWtlX2NsZWFudXAgKHhmcmVlLCBidWlsZF9pZCk7Ci0rCi0rICAvKiBTWU1GSUxFX09CSkZJ TEUgc2hvdWxkIHJlZmVyIHRvIHRoZSBtYWluIGV4ZWN1dGFibGUgKG5vdCBvbmx5IHRvIGl0cwot KyAgICAgc2VwYXJhdGUgZGVidWcgaW5mbyBmaWxlKS4gIGdjYzQ0KyBrZWVwcyAuZWhfZnJhbWUg b25seSBpbiB0aGUgbWFpbgotKyAgICAgZXhlY3V0YWJsZSB3aXRob3V0IGl0cyBkdXBsaWNhdGUg LmRlYnVnX2ZyYW1lIGluIHRoZSBzZXBhcmF0ZSBkZWJ1ZyBpbmZvCi0rICAgICBmaWxlIC0gc3Vj aCAuZWhfZnJhbWUgd291bGQgbm90IGJlIGZvdW5kIGlmIFNZTUZJTEVfT0JKRklMRSB3b3VsZCBy ZWZlcgotKyAgICAgZGlyZWN0bHkgdG8gdGhlIHNlcGFyYXRlIGRlYnVnIGluZm8gZmlsZS4gICov Ci0rCi0rICBleGVjZmlsZW5hbWUgPSBidWlsZF9pZF90b19maWxlbmFtZSAoYnVpbGRfaWQsICZi dWlsZF9pZF9maWxlbmFtZSk7Ci0rICBtYWtlX2NsZWFudXAgKHhmcmVlLCBidWlsZF9pZF9maWxl bmFtZSk7Ci0rCi0rICBpZiAoZXhlY2ZpbGVuYW1lICE9IE5VTEwpCi0rICAgIHsKLSsgICAgICBt YWtlX2NsZWFudXAgKHhmcmVlLCBleGVjZmlsZW5hbWUpOwotKyAgICAgIGV4ZWNfZmlsZV9hdHRh Y2ggKGV4ZWNmaWxlbmFtZSwgZnJvbV90dHkpOwotKyAgICAgIHN5bWJvbF9maWxlX2FkZF9tYWlu IChleGVjZmlsZW5hbWUsCi0rCQkJICAgIHN5bWZpbGVfYWRkX2ZsYWcgKCFmcm9tX3R0eSA/IDAg OiBTWU1GSUxFX1ZFUkJPU0UpKTsKLSsgICAgICBpZiAoc3ltZmlsZV9vYmpmaWxlICE9IE5VTEwp Ci0rICAgICAgICBzeW1maWxlX29iamZpbGUtPmZsYWdzIHw9IE9CSkZfQlVJTERfSURfQ09SRV9M T0FERUQ7Ci0rICAgIH0KLSsgIGVsc2UKLSsgICAgZGVidWdfcHJpbnRfbWlzc2luZyAoXygidGhl IG1haW4gZXhlY3V0YWJsZSBmaWxlIiksIGJ1aWxkX2lkX2ZpbGVuYW1lKTsKLSsKLSsgIGRvX2Ns ZWFudXBzIChiYWNrX3RvKTsKLSsKLSsgIC8qIE5vIGF1dG9tYXRpYyBTT0xJQl9BREQgYXMgdGhl IGxpYnJhcmllcyB3b3VsZCBnZXQgcmVhZCB0d2ljZS4gICovCi0rfQotKwotIC8qIFRoaXMgcm91 dGluZSBvcGVucyBhbmQgc2V0cyB1cCB0aGUgY29yZSBmaWxlIGJmZC4gICovCi0gCi0gc3RhdGlj IHZvaWQKLUBAIC00MDIsNiArNDU0LDE0IEBACi0gCXN3aXRjaF90b190aHJlYWQgKHRocmVhZC0+ cHRpZCk7Ci0gICAgIH0KLSAKLSsgIC8qIEZpbmQgdGhlIGJ1aWxkX2lkIGlkZW50aWZpZXJzLiAg SWYgaXQgZ2V0cyBleGVjdXRlZCBhZnRlcgotKyAgICAgUE9TVF9DUkVBVEVfSU5GRVJJT1Igd2Ug d291bGQgY2xhc2ggd2l0aCBhc2tpbmcgdG8gZGlzY2FyZCB0aGUgYWxyZWFkeQotKyAgICAgbG9h ZGVkIFZEU08gc3ltYm9scy4gIElmIGl0IGdldHMgZXhlY3V0ZWQgYmVmb3JlIGJmZF9tYXBfb3Zl cl9zZWN0aW9ucwotKyAgICAgSU5GRVJJT1JfUFRJRCBpcyBzdGlsbCBub3Qgc2V0IGFuZCBsaWJ0 aHJlYWRfZGIgaW5pdGlhbGl6YXRpb24gY3Jhc2hlcyBvbgotKyAgICAgUElEID09IDAgaW4gcHNf cGdsb2JhbF9sb29rdXAuICAqLwotKyAgaWYgKGJ1aWxkX2lkX2NvcmVfbG9hZHMgIT0gMCkKLSsg ICAgYnVpbGRfaWRfbG9jYXRlX2V4ZWMgKGZyb21fdHR5KTsKLSsKLSAgIHBvc3RfY3JlYXRlX2lu ZmVyaW9yICgmY29yZV9vcHMsIGZyb21fdHR5KTsKLSAKLSAgIC8qIE5vdyBnbyB0aHJvdWdoIHRo ZSB0YXJnZXQgc3RhY2sgbG9va2luZyBmb3IgdGhyZWFkcyBzaW5jZSB0aGVyZQotQEAgLTEwNzks NCArMTEzOSwxMSBAQAotICAgaW5pdF9jb3JlX29wcyAoKTsKLSAKLSAgIGFkZF90YXJnZXRfd2l0 aF9jb21wbGV0ZXIgKCZjb3JlX29wcywgZmlsZW5hbWVfY29tcGxldGVyKTsKLSsKLSsgIGFkZF9z ZXRzaG93X2Jvb2xlYW5fY21kICgiYnVpbGQtaWQtY29yZS1sb2FkcyIsIGNsYXNzX2ZpbGVzLAot KwkJCSAgICZidWlsZF9pZF9jb3JlX2xvYWRzLCBfKCJcCi0rU2V0IHdoZXRoZXIgQ09SRS1GSUxF IGxvYWRzIHRoZSBidWlsZC1pZCBhc3NvY2lhdGVkIGZpbGVzIGF1dG9tYXRpY2FsbHkuIiksIF8o IlwKLStTaG93IHdoZXRoZXIgQ09SRS1GSUxFIGxvYWRzIHRoZSBidWlsZC1pZCBhc3NvY2lhdGVk IGZpbGVzIGF1dG9tYXRpY2FsbHkuIiksCi0rCQkJICAgTlVMTCwgTlVMTCwgTlVMTCwKLSsJCQkg ICAmc2V0bGlzdCwgJnNob3dsaXN0KTsKLSB9Ci1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2RvYy9nZGIudGV4aW5mbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIw Lm9yaWcvZ2RiL2RvYy9nZGIudGV4aW5mbwkyMDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiAr MDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxNy0w NC0yMCAyMzowMDo0My4zNjY2MjkyMjggKzAyMDAKLUBAIC0xODk4Nyw2ICsxODk4NywyNyBAQAot IAotIEBlbmQgdGFibGUKLSAKLStZb3UgY2FuIGFsc28gYWRqdXN0IHRoZSBjdXJyZW50IHZlcmJv c2l0eSBvZiB0aGUgQGRmbntidWlsZCBpZH0gbG9jYXRpbmcuCi0rCi0rQHRhYmxlIEBjb2RlCi0r Ci0rQGtpbmRleCBzZXQgYnVpbGQtaWQtdmVyYm9zZQotK0BpdGVtIHNldCBidWlsZC1pZC12ZXJi b3NlIDAKLStObyBhZGRpdGlvbmFsIG1lc3NhZ2VzIGFyZSBwcmludGVkLgotKwotK0BpdGVtIHNl dCBidWlsZC1pZC12ZXJib3NlIDEKLStNaXNzaW5nIHNlcGFyYXRlIGRlYnVnIGZpbGVuYW1lcyBh cmUgcHJpbnRlZC4KLSsKLStAaXRlbSBzZXQgYnVpbGQtaWQtdmVyYm9zZSAyCi0rTWlzc2luZyBz ZXBhcmF0ZSBkZWJ1ZyBmaWxlbmFtZXMgYXJlIHByaW50ZWQgYW5kIGFsc28gYWxsIHRoZSBwYXJz aW5nIG9mIHRoZQotK2JpbmFyaWVzIHRvIGZpbmQgdGhlaXIgQGRmbntidWlsZCBpZH0gY29udGVu dCBpcyBwcmludGVkLgotKwotK0BraW5kZXggc2hvdyBidWlsZC1pZC12ZXJib3NlCi0rQGl0ZW0g c2hvdyBidWlsZC1pZC12ZXJib3NlCi0rU2hvdyB0aGUgY3VycmVudCB2ZXJib3NpdHkgdmFsdWUg Zm9yIHRoZSBAZGZue2J1aWxkIGlkfSBjb250ZW50IGxvY2F0aW5nLgotKwotK0BlbmQgdGFibGUK LSsKLSBAY2luZGV4IEBjb2Rley5nbnVfZGVidWdsaW5rfSBzZWN0aW9ucwotIEBjaW5kZXggZGVi dWcgbGluayBzZWN0aW9ucwotIEEgZGVidWcgbGluayBpcyBhIHNwZWNpYWwgc2VjdGlvbiBvZiB0 aGUgZXhlY3V0YWJsZSBmaWxlIG5hbWVkCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L3NvbGliLXN2cjQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcv Z2RiL3NvbGliLXN2cjQuYwkyMDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiArMDIwMAotKysr IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zb2xpYi1zdnI0LmMJMjAxNy0wNC0yMCAyMzowMDo0 My4zNjc2MjkyMzQgKzAyMDAKLUBAIC00NSw2ICs0NSw3IEBACi0gI2luY2x1ZGUgImF1eHYuaCIK LSAjaW5jbHVkZSAiZ2RiX2JmZC5oIgotICNpbmNsdWRlICJwcm9iZS5oIgotKyNpbmNsdWRlICJi dWlsZC1pZC5oIgotIAotIHN0YXRpYyBzdHJ1Y3QgbGlua19tYXBfb2Zmc2V0cyAqc3ZyNF9mZXRj aF9saW5rX21hcF9vZmZzZXRzICh2b2lkKTsKLSBzdGF0aWMgaW50IHN2cjRfaGF2ZV9saW5rX21h cF9vZmZzZXRzICh2b2lkKTsKLUBAIC0xNDIwLDkgKzE0MjEsNTIgQEAKLSAJICBjb250aW51ZTsK LSAJfQotIAotLSAgICAgIHN0cm5jcHkgKG5ld29iai0+c29fbmFtZSwgYnVmZmVyLCBTT19OQU1F X01BWF9QQVRIX1NJWkUgLSAxKTsKLS0gICAgICBuZXdvYmotPnNvX25hbWVbU09fTkFNRV9NQVhf UEFUSF9TSVpFIC0gMV0gPSAnXDAnOwotLSAgICAgIHN0cmNweSAobmV3b2JqLT5zb19vcmlnaW5h bF9uYW1lLCBuZXdvYmotPnNvX25hbWUpOwotKyAgICAgIHsKLSsJc3RydWN0IGJmZF9idWlsZF9p ZCAqYnVpbGRfaWQ7Ci0rCi0rCXN0cm5jcHkgKG5ld29iai0+c29fb3JpZ2luYWxfbmFtZSwgYnVm ZmVyLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKLSsJbmV3b2JqLT5zb19vcmlnaW5hbF9u YW1lW1NPX05BTUVfTUFYX1BBVEhfU0laRSAtIDFdID0gJ1wwJzsKLSsJLyogTWF5IGdldCBvdmVy d3JpdHRlbiBiZWxvdy4gICovCi0rCXN0cmNweSAobmV3b2JqLT5zb19uYW1lLCBuZXdvYmotPnNv X29yaWdpbmFsX25hbWUpOwotKwotKwlidWlsZF9pZCA9IGJ1aWxkX2lkX2FkZHJfZ2V0IChuZXdv YmotPmxtX2luZm8tPmxfbGQpOwotKwlpZiAoYnVpbGRfaWQgIT0gTlVMTCkKLSsJICB7Ci0rCSAg ICBjaGFyICpuYW1lLCAqYnVpbGRfaWRfZmlsZW5hbWU7Ci0rCi0rCSAgICAvKiBNaXNzaW5nIHRo ZSBidWlsZC1pZCBtYXRjaGluZyBzZXBhcmF0ZSBkZWJ1ZyBpbmZvIGZpbGUKLSsJICAgICAgIHdv dWxkIGJlIGhhbmRsZWQgd2hpbGUgU09fTkFNRSBnZXRzIGxvYWRlZC4gICovCi0rCSAgICBuYW1l ID0gYnVpbGRfaWRfdG9fZmlsZW5hbWUgKGJ1aWxkX2lkLCAmYnVpbGRfaWRfZmlsZW5hbWUpOwot KwkgICAgaWYgKG5hbWUgIT0gTlVMTCkKLSsJICAgICAgewotKwkJc3RybmNweSAobmV3b2JqLT5z b19uYW1lLCBuYW1lLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKLSsJCW5ld29iai0+c29f bmFtZVtTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxXSA9ICdcMCc7Ci0rCQl4ZnJlZSAobmFtZSk7 Ci0rCSAgICAgIH0KLSsJICAgIGVsc2UKLSsJICAgICAgewotKwkJZGVidWdfcHJpbnRfbWlzc2lu ZyAobmV3b2JqLT5zb19uYW1lLCBidWlsZF9pZF9maWxlbmFtZSk7Ci0rCi0rCQkvKiBJbiB0aGUg Y2FzZSB0aGUgbWFpbiBleGVjdXRhYmxlIHdhcyBmb3VuZCBhY2NvcmRpbmcgdG8KLSsJCSAgIGl0 cyBidWlsZC1pZCAoZnJvbSBhIGNvcmUgZmlsZSkgcHJldmVudCBsb2FkaW5nCi0rCQkgICBhIGRp ZmZlcmVudCBidWlsZCBvZiBhIGxpYnJhcnkgd2l0aCBhY2NpZGVudGFsbHkgdGhlCi0rCQkgICBz YW1lIFNPX05BTUUuCi0rCi0rCQkgICBJdCBzdXBwcmVzc2VzIGJvZ3VzIGJhY2t0cmFjZXMgKGFu ZCBwcmludHMgIj8/IiB0aGVyZQotKwkJICAgaW5zdGVhZCkgaWYgdGhlIG9uLWRpc2sgZmlsZXMg bm8gbG9uZ2VyIG1hdGNoIHRoZQotKwkJICAgcnVubmluZyBwcm9ncmFtIHZlcnNpb24uICAqLwot KwotKwkJaWYgKHN5bWZpbGVfb2JqZmlsZSAhPSBOVUxMCi0rCQkgICAgJiYgKHN5bWZpbGVfb2Jq ZmlsZS0+ZmxhZ3MKLSsJCQkmIE9CSkZfQlVJTERfSURfQ09SRV9MT0FERUQpICE9IDApCi0rCQkg IG5ld29iai0+c29fbmFtZVswXSA9IDA7Ci0rCSAgICAgIH0KLSsKLSsJICAgIHhmcmVlIChidWls ZF9pZF9maWxlbmFtZSk7Ci0rCSAgICB4ZnJlZSAoYnVpbGRfaWQpOwotKwkgIH0KLSsgICAgICB9 Ci0rCi0gICAgICAgeGZyZWUgKGJ1ZmZlcik7Ci0gCi0gICAgICAgLyogSWYgdGhpcyBlbnRyeSBo YXMgbm8gbmFtZSwgb3IgaXRzIG5hbWUgbWF0Y2hlcyB0aGUgbmFtZQotSW5kZXg6IGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9lbGZyZWFkLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4y MDE3MDQyMC5vcmlnL2dkYi9lbGZyZWFkLmMJMjAxNy0wNC0yMCAyMzowMDozNS40MTU1ODQ0MjYg KzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZWxmcmVhZC5jCTIwMTctMDQtMjAg MjM6MDA6NDMuMzY3NjI5MjM0ICswMjAwCi1AQCAtMTI2NSw4ICsxMjY1LDkgQEAKLSAJICAgJiYg b2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZSA9PSBOVUxMCi0gCSAgICYmIG9iamZpbGUt PnNlcGFyYXRlX2RlYnVnX29iamZpbGVfYmFja2xpbmsgPT0gTlVMTCkKLSAgICAgewotKyAgICAg IGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+IGJ1aWxkX2lkX2ZpbGVuYW1lOwotICAgICAg IGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+IGRlYnVnZmlsZQotLQkoZmluZF9zZXBhcmF0 ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKG9iamZpbGUpKTsKLSsJKGZpbmRfc2VwYXJhdGVfZGVi dWdfZmlsZV9ieV9idWlsZGlkIChvYmpmaWxlLCAmYnVpbGRfaWRfZmlsZW5hbWUpKTsKLSAKLSAg ICAgICBpZiAoZGVidWdmaWxlID09IE5VTEwpCi0gCWRlYnVnZmlsZS5yZXNldCAoZmluZF9zZXBh cmF0ZV9kZWJ1Z19maWxlX2J5X2RlYnVnbGluayAob2JqZmlsZSkpOwotQEAgLTEyNzgsNiArMTI3 OSwxMCBAQAotIAkgIHN5bWJvbF9maWxlX2FkZF9zZXBhcmF0ZSAoYWJmZC5nZXQgKCksIGRlYnVn ZmlsZS5nZXQgKCksCi0gCQkJCSAgICBzeW1maWxlX2ZsYWdzLCBvYmpmaWxlKTsKLSAJfQotKyAg ICAgIC8qIENoZWNrIGlmIGFueSBzZXBhcmF0ZSBkZWJ1ZyBpbmZvIGhhcyBiZWVuIGV4dHJhY3Rl ZCBvdXQuICAqLwotKyAgICAgIGVsc2UgaWYgKGJmZF9nZXRfc2VjdGlvbl9ieV9uYW1lIChvYmpm aWxlLT5vYmZkLCAiLmdudV9kZWJ1Z2xpbmsiKQotKwkgICAgICAgIT0gTlVMTCkKLSsJZGVidWdf cHJpbnRfbWlzc2luZyAob2JqZmlsZV9uYW1lIChvYmpmaWxlKSwgYnVpbGRfaWRfZmlsZW5hbWUu Z2V0ICgpKTsKLSAgICAgfQotIH0KLSAKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv c3ltZmlsZS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIv c3ltZmlsZS5oCTIwMTctMDQtMjAgMjM6MDA6MzUuNDE1NTg0NDI2ICswMjAwCi0rKysgZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL3N5bWZpbGUuaAkyMDE3LTA0LTIwIDIzOjAwOjQzLjM2ODYyOTI0 MCArMDIwMAotQEAgLTU2Nyw2ICs1NjcsMTAgQEAKLSB2b2lkIG1hcF9zeW1ib2xfZmlsZW5hbWVz IChzeW1ib2xfZmlsZW5hbWVfZnR5cGUgKmZ1biwgdm9pZCAqZGF0YSwKLSAJCQkgICBpbnQgbmVl ZF9mdWxsbmFtZSk7Ci0gCi0rLyogYnVpbGQtaWQgc3VwcG9ydC4gICovCi0rZXh0ZXJuIHN0cnVj dCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkX2FkZHJfZ2V0IChDT1JFX0FERFIgYWRkcik7Ci0rZXh0 ZXJuIHZvaWQgZGVidWdfcHJpbnRfbWlzc2luZyAoY29uc3QgY2hhciAqYmluYXJ5LCBjb25zdCBj aGFyICpkZWJ1Zyk7Ci0rCi0gLyogRnJvbSBkd2FyZjJyZWFkLmMgKi8KLSAKLSAvKiBOYW1lcyBm b3IgYSBkd2FyZjIgZGVidWdnaW5nIHNlY3Rpb24uICBUaGUgZmllbGQgTk9STUFMIGlzIHRoZSBu b3JtYWwKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2xpYi9nZGIu ZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdGVzdHN1 aXRlL2xpYi9nZGIuZXhwCTIwMTctMDQtMjAgMjM6MDA6MzUuNDE1NTg0NDI2ICswMjAwCi0rKysg Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDE3LTA0LTIw IDIzOjAwOjQzLjM2OTYyOTI0NSArMDIwMAotQEAgLTE2NDYsNiArMTY0NiwxNiBAQAotIAkgICAg d2FybmluZyAiQ291bGRuJ3Qgc2V0IHRoZSB3aWR0aCB0byAwLiIKLSAJfQotICAgICB9Ci0rICAg ICMgVHVybiBvZmYgdGhlIG1pc3Npbmcgd2FybmluZ3MgYXMgdGhlIHRlc3RzdWl0ZSBkb2VzIG5v dCBleHBlY3QgaXQuCi0rICAgIHNlbmRfZ2RiICJzZXQgYnVpbGQtaWQtdmVyYm9zZSAwXG4iCi0r ICAgIGdkYl9leHBlY3QgMTAgewotKwktcmUgIiRnZGJfcHJvbXB0ICQiIHsKLSsJICAgIHZlcmJv c2UgIkRpc2FibGVkIHRoZSBtaXNzaW5nIGRlYnVnIGluZm9zIHdhcm5pbmdzLiIgMgotKwl9Ci0r CXRpbWVvdXQgewotKwkgICAgd2FybmluZyAiQ291bGQgbm90IGRpc2FibGUgdGhlIG1pc3Npbmcg ZGVidWcgaW5mb3Mgd2FybmluZ3MuLiIKLSsJfQotKyAgICB9Ci0gICAgIHJldHVybiAwCi0gfQot IAotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBv cnQuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdGVz dHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAkyMDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiAr MDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBv cnQuZXhwCTIwMTctMDQtMjAgMjM6MDA6NDMuMzY5NjI5MjQ1ICswMjAwCi1AQCAtMzA5LDYgKzMw OSwxNiBAQAotIAkgICAgd2FybmluZyAiQ291bGRuJ3Qgc2V0IHRoZSB3aWR0aCB0byAwLiIKLSAJ fQotICAgICB9Ci0rICAgICMgVHVybiBvZmYgdGhlIG1pc3Npbmcgd2FybmluZ3MgYXMgdGhlIHRl c3RzdWl0ZSBkb2VzIG5vdCBleHBlY3QgaXQuCi0rICAgIHNlbmRfZ2RiICIxOTAtZ2RiLXNldCBi dWlsZC1pZC12ZXJib3NlIDBcbiIKLSsgICAgZ2RiX2V4cGVjdCAxMCB7Ci0rCS1yZSAiLioxOTAt Z2RiLXNldCBidWlsZC1pZC12ZXJib3NlIDBcclxuMTkwXFxcXmRvbmVcclxuJG1pX2dkYl9wcm9t cHQkIiB7Ci0rCSAgICB2ZXJib3NlICJEaXNhYmxlZCB0aGUgbWlzc2luZyBkZWJ1ZyBpbmZvcyB3 YXJuaW5ncy4iIDIKLSsJfQotKwl0aW1lb3V0IHsKLSsJICAgIHdhcm5pbmcgIkNvdWxkIG5vdCBk aXNhYmxlIHRoZSBtaXNzaW5nIGRlYnVnIGluZm9zIHdhcm5pbmdzLi4iCi0rCX0KLSsgICAgfQot IAotICAgICBpZiB7ICRzZXBhcmF0ZV9pbmZlcmlvcl9wdHkgfSB7Ci0gCW1pX2NyZWF0ZV9pbmZl cmlvcl9wdHkKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL25ldy11aS1wZW5kaW5nLWlucHV0LmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5Ljkw LjIwMTcwNDIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9uZXctdWktcGVuZGluZy1pbnB1 dC5leHAJMjAxNy0wNC0yMCAyMzowMDozNS40MTU1ODQ0MjYgKzAyMDAKLSsrKyBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL25ldy11aS1wZW5kaW5nLWlucHV0LmV4 cAkyMDE3LTA0LTIwIDIzOjAwOjQzLjM2OTYyOTI0NSArMDIwMAotQEAgLTYyLDYgKzYyLDcgQEAK LSAgICAgc2V0IG9wdGlvbnMgIiIKLSAgICAgYXBwZW5kIG9wdGlvbnMgIiAtaWV4IFwic2V0IGhl aWdodCAwXCIiCi0gICAgIGFwcGVuZCBvcHRpb25zICIgLWlleCBcInNldCB3aWR0aCAwXCIiCi0r ICAgIGFwcGVuZCBvcHRpb25zICIgLWlleCBcInNldCBidWlsZC1pZC12ZXJib3NlIDBcIiIKLSAg ICAgYXBwZW5kIG9wdGlvbnMgIiAtaWV4IFwibmV3LXVpIGNvbnNvbGUgJGV4dHJhX3R0eV9uYW1l XCIiCi0gICAgIGFwcGVuZCBvcHRpb25zICIgLWV4IFwiYiAkYnBsaW5lXCIiCi0gICAgIGFwcGVu ZCBvcHRpb25zICIgLWV4IFwicnVuXCIiCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L29iamZpbGVzLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dk Yi9vYmpmaWxlcy5oCTIwMTctMDQtMjAgMjM6MDA6MzUuNDE1NTg0NDI2ICswMjAwCi0rKysgZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL29iamZpbGVzLmgJMjAxNy0wNC0yMCAyMzowMDo0My4zNzA2 MjkyNTEgKzAyMDAKLUBAIC00NDQsNiArNDQ0LDEwIEBACi0gICBodGFiX3Qgc3RhdGljX2xpbmtz OwotIH07Ci0gCi0rLyogVGhpcyBmaWxlIHdhcyBsb2FkZWQgYWNjb3JkaW5nIHRvIHRoZSBCVUlM RF9JRF9DT1JFX0xPQURTIHJ1bGVzLiAgKi8KLSsKLSsjZGVmaW5lIE9CSkZfQlVJTERfSURfQ09S RV9MT0FERUQgc3RhdGljX2Nhc3Q8ZW51bSBvYmpmaWxlX2ZsYWc+KDEgPDwgMTIpCi0rCi0gLyog RGVjbGFyYXRpb25zIGZvciBmdW5jdGlvbnMgZGVmaW5lZCBpbiBvYmpmaWxlcy5jICovCi0gCi0g ZXh0ZXJuIHN0cnVjdCBvYmpmaWxlICphbGxvY2F0ZV9vYmpmaWxlIChiZmQgKiwgY29uc3QgY2hh ciAqbmFtZSwKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2NvcmVmaWxlLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9y aWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmlsZS5leHAJMjAxNy0wNC0yMCAyMzowMDoz NS40MTU1ODQ0MjYgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2NvcmVmaWxlLmV4cAkyMDE3LTA0LTIwIDIzOjAwOjQzLjM3MDYyOTI1MSArMDIw MAotQEAgLTI5MywzICsyOTMsMzMgQEAKLSAJcGFzcyAkdGVzdAotICAgICB9Ci0gfQotKwotKwot KyMgVGVzdCBhdXRvLWxvYWRpbmcgb2YgYmluYXJ5IGZpbGVzIHRocm91Z2ggYnVpbGQtaWQgZnJv bSB0aGUgY29yZSBmaWxlLgotK3NldCBidWlsZGlkIFtidWlsZF9pZF9kZWJ1Z19maWxlbmFtZV9n ZXQgJGJpbmZpbGVdCi0rc2V0IHdob2xldGVzdCAiYmluZmlsZSBmb3VuZCBieSBidWlsZC1pZCIK LStpZiB7JGJ1aWxkaWQgPT0gIiJ9IHsKLSsgICAgdW50ZXN0ZWQgIiR3aG9sZXRlc3QgKGJpbmFy eSBoYXMgbm8gYnVpbGQtaWQpIgotK30gZWxzZSB7Ci0rICAgIGdkYl9leGl0Ci0rICAgIGdkYl9z dGFydAotKwotKyAgICByZWdzdWIge1wuZGVidWckfSAkYnVpbGRpZCB7fSBidWlsZGlkCi0rICAg IHNldCBkZWJ1Z2RpciBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJHt0ZXN0ZmlsZX0tZGVidWdkaXJd Ci0rICAgIGZpbGUgZGVsZXRlIC1mb3JjZSAtLSAkZGVidWdkaXIKLSsgICAgZmlsZSBta2RpciAk ZGVidWdkaXIvW2ZpbGUgZGlybmFtZSAkYnVpbGRpZF0KLSsgICAgZmlsZSBjb3B5ICRiaW5maWxl ICRkZWJ1Z2Rpci8kYnVpbGRpZAotKwotKyAgICBzZXQgdGVzdCAic2hvdyBkZWJ1Zy1maWxlLWRp cmVjdG9yeSIKLSsgICAgZ2RiX3Rlc3RfbXVsdGlwbGUgJHRlc3QgJHRlc3QgewotKwktcmUgIlRo ZSBkaXJlY3Rvcnkgd2hlcmUgc2VwYXJhdGUgZGVidWcgc3ltYm9scyBhcmUgc2VhcmNoZWQgZm9y IGlzIFwiKC4qKVwiXFwuXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsJICAgIHNldCBkZWJ1Z2Rpcl9v cmlnICRleHBlY3Rfb3V0KDEsc3RyaW5nKQotKwkgICAgcGFzcyAkdGVzdAotKwl9Ci0rICAgIH0K LSsgICAgZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgZGVidWctZmlsZS1kaXJlY3RvcnkgJGRlYnVn ZGlyOiRkZWJ1Z2Rpcl9vcmlnIiAic2V0IGRlYnVnLWZpbGUtZGlyZWN0b3J5IgotKyAgICBnZGJf dGVzdCAic2hvdyBidWlsZC1pZC1jb3JlLWxvYWRzIiB7V2hldGhlciBDT1JFLUZJTEUgbG9hZHMg dGhlIGJ1aWxkLWlkIGFzc29jaWF0ZWQgZmlsZXMgYXV0b21hdGljYWxseSBpcyBvblwufQotKyAg ICBnZGJfdGVzdCAiY29yZS1maWxlICRjb3JlZmlsZSIgIlxyXG5Qcm9ncmFtIHRlcm1pbmF0ZWQg d2l0aCAuKiIgImNvcmUtZmlsZSB3aXRob3V0IGV4ZWN1dGFibGUiCi0rICAgIGdkYl90ZXN0ICJp bmZvIGZpbGVzIiAiTG9jYWwgZXhlYyBmaWxlOlxyXG5cWyBcdFxdKmBbc3RyaW5nX3RvX3JlZ2V4 cCAkZGVidWdkaXIvJGJ1aWxkaWRdJywgZmlsZSB0eXBlIC4qIgotKyAgICBwYXNzICR3aG9sZXRl c3QKLSt9Ci1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2J1aWxkLWlkLmMKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9idWlsZC1pZC5jCTIwMTct MDQtMjAgMjM6MDA6MzUuNDE1NTg0NDI2ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2J1aWxkLWlkLmMJMjAxNy0wNC0yMCAyMzowMzowMC4wNjAzOTk0NzQgKzAyMDAKK2RpZmYg LS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCitpbmRleCA0YjJiNjNlY2I0 Li4xMWQzNzc0ZDllIDEwMDY0NAorLS0tIGEvZ2RiL2J1aWxkLWlkLmMKKysrKyBiL2dkYi9idWls ZC1pZC5jCiBAQCAtMjYsMTEgKzI2LDY3IEBACiAgI2luY2x1ZGUgIm9iamZpbGVzLmgiCiAgI2lu Y2x1ZGUgImZpbGVuYW1lcy5oIgpAQCAtNDIzLDcgKzk4LDcgQEAgSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9idWlsZC1pZC5jCiAgewogICAgaWYgKCFiZmRfY2hlY2tfZm9ybWF0IChh YmZkLCBiZmRfb2JqZWN0KSkKICAgICAgcmV0dXJuIE5VTEw7Ci1AQCAtNDIsNiArOTgsMzQ4IEBA CitAQCAtNDIsNiArOTgsMzQ4IEBAIGJ1aWxkX2lkX2JmZF9nZXQgKGJmZCAqYWJmZCkKICAgIHJl dHVybiBOVUxMOwogIH0KICAKQEAgLTc3Miw3ICs0NDcsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL2J1aWxkLWlkLmMKICAvKiBTZWUgYnVpbGQtaWQuaC4gICovCiAgCiAgaW50 Ci1AQCAtNTAsNyArNDQ4LDcgQEAKK0BAIC01MCw3ICs0NDgsNyBAQCBidWlsZF9pZF92ZXJpZnkg KGJmZCAqYWJmZCwgc2l6ZV90IGNoZWNrX2xlbiwgY29uc3QgYmZkX2J5dGUgKmNoZWNrKQogICAg Y29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqZm91bmQ7CiAgICBpbnQgcmV0dmFsID0gMDsKICAK QEAgLTc4MSw3ICs0NTYsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2J1aWxk LWlkLmMKICAKICAgIGlmIChmb3VuZCA9PSBOVUxMKQogICAgICB3YXJuaW5nIChfKCJGaWxlIFwi JXNcIiBoYXMgbm8gYnVpbGQtaWQsIGZpbGUgc2tpcHBlZCIpLAotQEAgLTY1LDIzICs0NjMsNTQg QEAKK0BAIC02NSwyMyArNDYzLDU0IEBAIGJ1aWxkX2lkX3ZlcmlmeSAoYmZkICphYmZkLCBzaXpl X3QgY2hlY2tfbGVuLCBjb25zdCBiZmRfYnl0ZSAqY2hlY2spCiAgICByZXR1cm4gcmV0dmFsOwog IH0KICAKQEAgLTg0Myw3ICs1MTgsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L2J1aWxkLWlkLmMKICAKICAgIC8qIEtlZXAgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBzbyB0aGF0 IERFQlVHX0ZJTEVfRElSRUNUT1JZIGJlaW5nICIiIHdpbGwKICAgICAgIGNhdXNlICIvLmJ1aWxk LWlkLy4uLiIgbG9va3Vwcy4gICovCi1AQCAtOTQsOSArNTIzLDEyIEBACitAQCAtOTQsOSArNTIz LDEyIEBAIGJ1aWxkX2lkX3RvX2RlYnVnX2JmZCAoc2l6ZV90IGJ1aWxkX2lkX2xlbiwgY29uc3Qg YmZkX2J5dGUgKmJ1aWxkX2lkKQogICAgICAgIHNpemVfdCBkZWJ1Z2Rpcl9sZW4gPSBzdHJsZW4g KGRlYnVnZGlyKTsKICAgICAgICBjb25zdCBnZGJfYnl0ZSAqZGF0YSA9IGJ1aWxkX2lkOwogICAg ICAgIHNpemVfdCBzaXplID0gYnVpbGRfaWRfbGVuOwpAQCAtODU3LDE4ICs1MzIsMjIgQEAgSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9idWlsZC1pZC5jCiAgCiAgICAgICAgbWVtY3B5 IChsaW5rLCBkZWJ1Z2RpciwgZGVidWdkaXJfbGVuKTsKICAgICAgICBzID0gJmxpbmtbZGVidWdk aXJfbGVuXTsKLUBAIC0xMTAsNDUgKzU0MiwyOTAgQEAKK0BAIC0xMTAsNTIgKzU0MiwyOTkgQEAg YnVpbGRfaWRfdG9fZGVidWdfYmZkIChzaXplX3QgYnVpbGRfaWRfbGVuLCBjb25zdCBiZmRfYnl0 ZSAqYnVpbGRfaWQpCiAgCSpzKysgPSAnLyc7CiAgICAgICAgd2hpbGUgKHNpemUtLSA+IDApCiAg CXMgKz0gc3ByaW50ZiAocywgIiUwMngiLCAodW5zaWduZWQpICpkYXRhKyspOwogLSAgICAgIHN0 cmNweSAocywgIi5kZWJ1ZyIpOwotKyAgICAgIGZvciAoc2Vxbm8gPSAwOzsgc2Vxbm8rKykKLSsJ ewotKwkgIGNoYXIgKnMyOworIAorICAgICAgIGlmIChzZXBhcmF0ZV9kZWJ1Z19maWxlX2RlYnVn KQorIAlwcmludGZfdW5maWx0ZXJlZCAoXygiICBUcnlpbmcgJXNcbiIpLCBsaW5rKTsKICAKIC0g ICAgICAvKiBscmVhbHBhdGgoKSBpcyBleHBlbnNpdmUgZXZlbiBmb3IgdGhlIHVzdWFsbHkgbm9u LWV4aXN0ZW50IGZpbGVzLiAgKi8KIC0gICAgICBpZiAoYWNjZXNzIChsaW5rLCBGX09LKSA9PSAw KQogLQlmaWxlbmFtZSA9IGxyZWFscGF0aCAobGluayk7CisrICAgICAgZm9yIChzZXFubyA9IDA7 OyBzZXFubysrKQorKwl7CisrCSAgY2hhciAqczI7CisrCiArCSAgaWYgKHNlcW5vKQogKwkgICAg ewogKwkgICAgICAvKiBUaGVyZSBjYW4gYmUgbXVsdGlwbGUgYnVpbGQtaWQgc3ltbGlua3MgcG9p bnRpbmcgdG8gcmVhbCBmaWxlcwpAQCAtOTEwLDI1ICs1ODksMTcgQEAgSW5kZXg6IGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9idWlsZC1pZC5jCiArCiArCSAgaWYgKGFiZmQgPT0gTlVMTCkKICsJ ICAgIGNvbnRpbnVlOwotIAotLSAgICAgIGlmIChmaWxlbmFtZSA9PSBOVUxMKQotLQljb250aW51 ZTsKKysKICsJICBpZiAoYnVpbGRfaWRfdmVyaWZ5IChhYmZkLmdldCgpLCBidWlsZF9pZF9sZW4s IGJ1aWxkX2lkKSkKICsJICAgIGJyZWFrOwotIAotLSAgICAgIC8qIFdlIGV4cGVjdCB0byBiZSBz aWxlbnQgb24gdGhlIG5vbi1leGlzdGluZyBmaWxlcy4gICovCi0tICAgICAgaW5uZXIgPSBtYWtl X2NsZWFudXAgKHhmcmVlLCBmaWxlbmFtZSk7Ci0tICAgICAgYWJmZCA9IGdkYl9iZmRfb3BlbiAo ZmlsZW5hbWUsIGdudXRhcmdldCwgLTEpOwotLSAgICAgIGRvX2NsZWFudXBzIChpbm5lcik7Cisr CiArCSAgYWJmZC5yZWxlYXNlICgpOwotIAotLSAgICAgIGlmIChhYmZkID09IE5VTEwpCi0tCWNv bnRpbnVlOworKwogKwkgIGZpbGVuYW1lID0gTlVMTDsKICsJfQogIAotLSAgICAgIGlmIChidWls ZF9pZF92ZXJpZnkgKGFiZmQuZ2V0KCksIGJ1aWxkX2lkX2xlbiwgYnVpbGRfaWQpKQotLQlicmVh azsKKy0gICAgICBpZiAoZmlsZW5hbWUgPT0gTlVMTCkKKy0JY29udGludWU7CiArICAgICAgaWYg KGZpbGVuYW1lICE9IE5VTEwpCiArCXsKICsJICAvKiBMSU5LX0FMTCBpcyBub3QgdXNlZCBiZWxv dyBpbiB0aGlzIG5vbi1OVUxMIEZJTEVOQU1FIGNhc2UuICAqLwpAQCAtOTM2LDIyICs2MDcsMzAg QEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9idWlsZC1pZC5jCiArCSAgYnJlYWs7 CiArCX0KICAKLS0gICAgICBhYmZkLnJlbGVhc2UgKCk7CistICAgICAgLyogV2UgZXhwZWN0IHRv IGJlIHNpbGVudCBvbiB0aGUgbm9uLWV4aXN0aW5nIGZpbGVzLiAgKi8KKy0gICAgICBpbm5lciA9 IG1ha2VfY2xlYW51cCAoeGZyZWUsIGZpbGVuYW1lKTsKKy0gICAgICBhYmZkID0gZ2RiX2JmZF9v cGVuIChmaWxlbmFtZSwgZ251dGFyZ2V0LCAtMSk7CistICAgICAgZG9fY2xlYW51cHMgKGlubmVy KTsKICsgICAgICAvKiBJZiB0aGUgc3ltbGluayBoYXMgdGFyZ2V0IHJlcXVlc3QgdG8gaW5zdGFs bCB0aGUgdGFyZ2V0LgogKyAgICAgICAgIEJBU0UtZGVidWdpbmZvLnJwbSBjb250YWlucyB0aGUg c3ltbGluayBidXQgQkFTRS5ycG0gbWF5IGJlIG1pc3NpbmcuCiArICAgICAgICAgaHR0cHM6Ly9i dWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD05ODExNTQgICovCiArICAgICAgbGlu azBfcmVzb2x2ZWQgPSBsaW5rX3Jlc29sdmUgKGxpbmswLCAwKTsKICsgICAgICB4ZnJlZSAobGlu azApOwotKworIAorLSAgICAgIGlmIChhYmZkID09IE5VTEwpCistCWNvbnRpbnVlOwogKyAgICAg IGlmIChsaW5rX2FsbCA9PSBOVUxMKQogKwlsaW5rX2FsbCA9IGxpbmswX3Jlc29sdmVkOwogKyAg ICAgIGVsc2UKICsJewogKwkgIHNpemVfdCBsZW5fb3JpZyA9IHN0cmxlbiAobGlua19hbGwpOwot KworIAorLSAgICAgIGlmIChidWlsZF9pZF92ZXJpZnkgKGFiZmQuZ2V0KCksIGJ1aWxkX2lkX2xl biwgYnVpbGRfaWQpKQorLQlicmVhazsKICsJICBsaW5rX2FsbCA9IChjaGFyICopIHhyZWFsbG9j IChsaW5rX2FsbCwKICsJCQkJCWxlbl9vcmlnICsgMSArIHN0cmxlbiAobGluazBfcmVzb2x2ZWQp ICsgMSk7Ci0rCisgCistICAgICAgYWJmZC5yZWxlYXNlICgpOwogKwkgIC8qIFVzZSB3aGl0ZXNw YWNlIGluc3RlYWQgb2YgRElSTkFNRV9TRVBBUkFUT1IgdG8gYmUgY29tcGF0aWJsZSB3aXRoCiAr CSAgICAgaXRzIHBvc3NpYmxlIHVzZSBhcyBhbiBhcmd1bWVudCBmb3IgaW5zdGFsbGF0aW9uIGNv bW1hbmQuICAqLwogKwkgIGxpbmtfYWxsW2xlbl9vcmlnXSA9ICcgJzsKQEAgLTExNDgsNiArODI3 LDEwIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYnVpbGQtaWQuYwogKyAgYnVp bGRfaWQgPSBidWlsZF9pZF9iZmRfc2hkcl9nZXQgKG9iamZpbGUtPm9iZmQpOwogICAgaWYgKGJ1 aWxkX2lkICE9IE5VTEwpCiAgICAgIHsKKyAgICAgICBpZiAoc2VwYXJhdGVfZGVidWdfZmlsZV9k ZWJ1ZykKKyAJcHJpbnRmX3VuZmlsdGVyZWQgKF8oIlxuTG9va2luZyBmb3Igc2VwYXJhdGUgZGVi dWcgaW5mbyAoYnVpbGQtaWQpIGZvciAiCisgCQkJICAgICAiJXNcbiIpLCBvYmpmaWxlX25hbWUg KG9iamZpbGUpKTsKKyAKICsgICAgICBjaGFyICpidWlsZF9pZF9maWxlbmFtZV9jc3RyID0gTlVM TDsKICAgICAgICBnZGJfYmZkX3JlZl9wdHIgYWJmZCAoYnVpbGRfaWRfdG9fZGVidWdfYmZkIChi dWlsZF9pZC0+c2l6ZSwKIC0JCQkJCQkgICBidWlsZF9pZC0+ZGF0YSkpOwpAQCAtMTE2MywxMCAr ODQ2LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYnVpbGQtaWQuYwogKwkg ICAgICBidWlsZF9pZF9maWxlbmFtZV9jc3RyID0gTlVMTDsKICsJICAgIH0KICsJfQorKwogICAg ICAgIC8qIFByZXZlbnQgbG9vcGluZyBvbiBhIHN0cmlwcGVkIC5kZWJ1ZyBmaWxlLiAgKi8KICAg ICAgICBpZiAoYWJmZCAhPSBOVUxMCiAgCSAgJiYgZmlsZW5hbWVfY21wIChiZmRfZ2V0X2ZpbGVu YW1lIChhYmZkLmdldCAoKSksCi1AQCAtMTYwLDMgKzgzNywyMSBAQAorQEAgLTE2NywzICs4NDYs MjEgQEAgZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKHN0cnVjdCBvYmpmaWxl ICpvYmpmaWxlKQogICAgICB9CiAgICByZXR1cm4gTlVMTDsKICB9CkBAIC0xMTg2LDUyICs4NzAs MTk0IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYnVpbGQtaWQuYwogKwkJCSAg ICBzaG93X2J1aWxkX2lkX3ZlcmJvc2UsCiArCQkJICAgICZzZXRsaXN0LCAmc2hvd2xpc3QpOwog KwotKyAgb2JzZXJ2ZXJfYXR0YWNoX2V4ZWN1dGFibGVfY2hhbmdlZCAoZGVidWdfcHJpbnRfZXhl Y3V0YWJsZV9jaGFuZ2VkKTsKKysgIG9ic2VydmVyX2F0dGFjaF9leGVjdXRhYmxlX2NoYW5nZWQg KGRlYnVnX3ByaW50X2V4ZWN1dGFibGVfY2hhbmdlZCk7CisrfQorZGlmZiAtLWdpdCBhL2dkYi9i dWlsZC1pZC5oIGIvZ2RiL2J1aWxkLWlkLmgKK2luZGV4IDEzN2Q5ZTE4YzUuLmM5MDQ3MmQ2M2Eg MTAwNjQ0CistLS0gYS9nZGIvYnVpbGQtaWQuaAorKysrIGIvZ2RiL2J1aWxkLWlkLmgKK0BAIC0y Miw5ICsyMiwxMCBAQAorIAorICNpbmNsdWRlICJnZGJfYmZkLmgiCisgCistLyogTG9jYXRlIE5U X0dOVV9CVUlMRF9JRCBmcm9tIEFCRkQgYW5kIHJldHVybiBpdHMgY29udGVudC4gICovCisrLyog U2VwYXJhdGUgZGVidWdpbmZvIGZpbGVzIGhhdmUgY29ycnVwdGVkIFBIRFIgYnV0IFNIRFIgaXMg Y29ycmVjdCB0aGVyZS4KKysgICBMb2NhdGUgTlRfR05VX0JVSUxEX0lEIGZyb20gQUJGRCBhbmQg cmV0dXJuIGl0cyBjb250ZW50LiAgKi8KKyAKKy1leHRlcm4gY29uc3Qgc3RydWN0IGJmZF9idWls ZF9pZCAqYnVpbGRfaWRfYmZkX2dldCAoYmZkICphYmZkKTsKKytleHRlcm4gY29uc3Qgc3RydWN0 IGJmZF9idWlsZF9pZCAqYnVpbGRfaWRfYmZkX3NoZHJfZ2V0IChiZmQgKmFiZmQpOworIAorIC8q IFJldHVybiB0cnVlIGlmIEFCRkQgaGFzIE5UX0dOVV9CVUlMRF9JRCBtYXRjaGluZyB0aGUgQ0hF Q0sgdmFsdWUuCisgICAgT3RoZXJ3aXNlLCBpc3N1ZSBhIHdhcm5pbmcgYW5kIHJldHVybiBmYWxz ZS4gICovCitAQCAtMzgsMTMgKzM5LDE5IEBAIGV4dGVybiBpbnQgYnVpbGRfaWRfdmVyaWZ5IChi ZmQgKmFiZmQsCisgICAgdGhlIGNhbGxlci4gICovCisgCisgZXh0ZXJuIGdkYl9iZmRfcmVmX3B0 ciBidWlsZF9pZF90b19kZWJ1Z19iZmQgKHNpemVfdCBidWlsZF9pZF9sZW4sCistCQkJCQkgICAg ICBjb25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQpOworKwkJCQkJICAgICAgY29uc3QgYmZkX2J5dGUg KmJ1aWxkX2lkLAorKwkJCQkJICAgICAgY2hhciAqKmxpbmtfcmV0dXJuLAorKwkJCQkJICAgICAg aW50IGFkZF9kZWJ1Z19zdWZmaXgpOworKworK2V4dGVybiBjaGFyICpidWlsZF9pZF90b19maWxl bmFtZSAoY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQsCisrCQkJCSAgIGNoYXIg KipsaW5rX3JldHVybik7CisgCisgLyogRmluZCB0aGUgc2VwYXJhdGUgZGVidWcgZmlsZSBmb3Ig T0JKRklMRSwgYnkgdXNpbmcgdGhlIGJ1aWxkLWlkCisgICAgYXNzb2NpYXRlZCB3aXRoIE9CSkZJ TEUncyBCRkQuICBJZiBzdWNjZXNzZnVsLCByZXR1cm5zIGEgbWFsbG9jJ2QKKyAgICBmaWxlIG5h bWUgZm9yIHRoZSBzZXBhcmF0ZSBkZWJ1ZyBmaWxlLiAgVGhlIGNhbGxlciBtdXN0IGZyZWUgdGhp cy4KKyAgICBPdGhlcndpc2UsIHJldHVybnMgTlVMTC4gICovCisgCistZXh0ZXJuIGNoYXIgKmZp bmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmls ZSk7CisrZXh0ZXJuIGNoYXIgKmZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChz dHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKKysJCSAgICAgICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0 cjxjaGFyPiAqYnVpbGRfaWRfZmlsZW5hbWVfcmV0dXJuKTsKKyAKKyAjZW5kaWYgLyogQlVJTERf SURfSCAqLworZGlmZiAtLWdpdCBhL2dkYi9jb2ZmcmVhZC5jIGIvZ2RiL2NvZmZyZWFkLmMKK2lu ZGV4IDk4ZjZlZWM4MjAuLmYyMmIyYjdkZjEgMTAwNjQ0CistLS0gYS9nZGIvY29mZnJlYWQuYwor KysrIGIvZ2RiL2NvZmZyZWFkLmMKK0BAIC03MzUsNyArNzM1LDcgQEAgY29mZl9zeW1maWxlX3Jl YWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBzeW1maWxlX2FkZF9mbGFncyBzeW1maWxlX2Zs YWdzKQorICAgICB7CisgICAgICAgY2hhciAqZGVidWdmaWxlOworIAorLSAgICAgIGRlYnVnZmls ZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChvYmpmaWxlKTsKKysgICAg ICBkZWJ1Z2ZpbGUgPSBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAob2JqZmls ZSwgTlVMTCk7CisgCisgICAgICAgaWYgKGRlYnVnZmlsZSA9PSBOVUxMKQorIAlkZWJ1Z2ZpbGUg PSBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfZGVidWdsaW5rIChvYmpmaWxlKTsKK2RpZmYg LS1naXQgYS9nZGIvY29yZWxvdy5jIGIvZ2RiL2NvcmVsb3cuYworaW5kZXggNjgwMDkwNTRhMC4u YjZlOWRkYzY1MiAxMDA2NDQKKy0tLSBhL2dkYi9jb3JlbG93LmMKKysrKyBiL2dkYi9jb3JlbG93 LmMKK0BAIC00NSw2ICs0NSwxMCBAQAorICNpbmNsdWRlICJnZGJfYmZkLmgiCisgI2luY2x1ZGUg ImNvbXBsZXRlci5oIgorICNpbmNsdWRlICJmaWxlc3R1ZmYuaCIKKysjaW5jbHVkZSAiYXV4di5o IgorKyNpbmNsdWRlICJlbGYvY29tbW9uLmgiCisrI2luY2x1ZGUgImdkYmNtZC5oIgorKyNpbmNs dWRlICJidWlsZC1pZC5oIgorIAorICNpZm5kZWYgT19MQVJHRUZJTEUKKyAjZGVmaW5lIE9fTEFS R0VGSUxFIDAKK0BAIC0yNjQsNiArMjY4LDU0IEBAIGFkZF90b190aHJlYWRfbGlzdCAoYmZkICph YmZkLCBhc2VjdGlvbiAqYXNlY3QsIHZvaWQgKnJlZ19zZWN0X2FyZykKKyAgICAgaW5mZXJpb3Jf cHRpZCA9IHB0aWQ7CQkJLyogWWVzLCBtYWtlIGl0IGN1cnJlbnQuICAqLworIH0KKyAKKytzdGF0 aWMgaW50IGJ1aWxkX2lkX2NvcmVfbG9hZHMgPSAxOworKworK3N0YXRpYyB2b2lkCisrYnVpbGRf aWRfbG9jYXRlX2V4ZWMgKGludCBmcm9tX3R0eSkKKyt7CisrICBDT1JFX0FERFIgYXRfZW50cnk7 CisrICBzdHJ1Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZDsKKysgIGNoYXIgKmV4ZWNmaWxlbmFt ZSwgKmRlYnVnX2ZpbGVuYW1lOworKyAgY2hhciAqYnVpbGRfaWRfZmlsZW5hbWU7CisrICBzdHJ1 Y3QgY2xlYW51cCAqYmFja190bzsKKysKKysgIGlmIChleGVjX2JmZCAhPSBOVUxMIHx8IHN5bWZp bGVfb2JqZmlsZSAhPSBOVUxMKQorKyAgICByZXR1cm47CisrCisrICBpZiAodGFyZ2V0X2F1eHZf c2VhcmNoICgmY3VycmVudF90YXJnZXQsIEFUX0VOVFJZLCAmYXRfZW50cnkpIDw9IDApCisrICAg IHJldHVybjsKKysKKysgIGJ1aWxkX2lkID0gYnVpbGRfaWRfYWRkcl9nZXQgKGF0X2VudHJ5KTsK KysgIGlmIChidWlsZF9pZCA9PSBOVUxMKQorKyAgICByZXR1cm47CisrICBiYWNrX3RvID0gbWFr ZV9jbGVhbnVwICh4ZnJlZSwgYnVpbGRfaWQpOworKworKyAgLyogU1lNRklMRV9PQkpGSUxFIHNo b3VsZCByZWZlciB0byB0aGUgbWFpbiBleGVjdXRhYmxlIChub3Qgb25seSB0byBpdHMKKysgICAg IHNlcGFyYXRlIGRlYnVnIGluZm8gZmlsZSkuICBnY2M0NCsga2VlcHMgLmVoX2ZyYW1lIG9ubHkg aW4gdGhlIG1haW4KKysgICAgIGV4ZWN1dGFibGUgd2l0aG91dCBpdHMgZHVwbGljYXRlIC5kZWJ1 Z19mcmFtZSBpbiB0aGUgc2VwYXJhdGUgZGVidWcgaW5mbworKyAgICAgZmlsZSAtIHN1Y2ggLmVo X2ZyYW1lIHdvdWxkIG5vdCBiZSBmb3VuZCBpZiBTWU1GSUxFX09CSkZJTEUgd291bGQgcmVmZXIK KysgICAgIGRpcmVjdGx5IHRvIHRoZSBzZXBhcmF0ZSBkZWJ1ZyBpbmZvIGZpbGUuICAqLworKwor KyAgZXhlY2ZpbGVuYW1lID0gYnVpbGRfaWRfdG9fZmlsZW5hbWUgKGJ1aWxkX2lkLCAmYnVpbGRf aWRfZmlsZW5hbWUpOworKyAgbWFrZV9jbGVhbnVwICh4ZnJlZSwgYnVpbGRfaWRfZmlsZW5hbWUp OworKworKyAgaWYgKGV4ZWNmaWxlbmFtZSAhPSBOVUxMKQorKyAgICB7CisrICAgICAgbWFrZV9j bGVhbnVwICh4ZnJlZSwgZXhlY2ZpbGVuYW1lKTsKKysgICAgICBleGVjX2ZpbGVfYXR0YWNoIChl eGVjZmlsZW5hbWUsIGZyb21fdHR5KTsKKysgICAgICBzeW1ib2xfZmlsZV9hZGRfbWFpbiAoZXhl Y2ZpbGVuYW1lLAorKwkJCSAgICBzeW1maWxlX2FkZF9mbGFnICghZnJvbV90dHkgPyAwIDogU1lN RklMRV9WRVJCT1NFKSk7CisrICAgICAgaWYgKHN5bWZpbGVfb2JqZmlsZSAhPSBOVUxMKQorKyAg ICAgICAgc3ltZmlsZV9vYmpmaWxlLT5mbGFncyB8PSBPQkpGX0JVSUxEX0lEX0NPUkVfTE9BREVE OworKyAgICB9CisrICBlbHNlCisrICAgIGRlYnVnX3ByaW50X21pc3NpbmcgKF8oInRoZSBtYWlu IGV4ZWN1dGFibGUgZmlsZSIpLCBidWlsZF9pZF9maWxlbmFtZSk7CisrCisrICBkb19jbGVhbnVw cyAoYmFja190byk7CisrCisrICAvKiBObyBhdXRvbWF0aWMgU09MSUJfQUREIGFzIHRoZSBsaWJy YXJpZXMgd291bGQgZ2V0IHJlYWQgdHdpY2UuICAqLwogK30KLUluZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvYnVpbGQtaWQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcw NDIwLm9yaWcvZ2RiL2J1aWxkLWlkLmgJMjAxNy0wNC0yMCAyMzowMDozNS40MTU1ODQ0MjYgKzAy MDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYnVpbGQtaWQuaAkyMDE3LTA0LTIwIDIz OjAwOjQzLjM3MTYyOTI1NyArMDIwMAotQEAgLTIyLDkgKzIyLDEwIEBACi0gCi0gI2luY2x1ZGUg ImdkYl9iZmQuaCIKKysKKyAvKiBUaGlzIHJvdXRpbmUgb3BlbnMgYW5kIHNldHMgdXAgdGhlIGNv cmUgZmlsZSBiZmQuICAqLwogIAotLS8qIExvY2F0ZSBOVF9HTlVfQlVJTERfSUQgZnJvbSBBQkZE IGFuZCByZXR1cm4gaXRzIGNvbnRlbnQuICAqLwotKy8qIFNlcGFyYXRlIGRlYnVnaW5mbyBmaWxl cyBoYXZlIGNvcnJ1cHRlZCBQSERSIGJ1dCBTSERSIGlzIGNvcnJlY3QgdGhlcmUuCi0rICAgTG9j YXRlIE5UX0dOVV9CVUlMRF9JRCBmcm9tIEFCRkQgYW5kIHJldHVybiBpdHMgY29udGVudC4gICov Cisgc3RhdGljIHZvaWQKK0BAIC0zOTIsNiArNDQ0LDE0IEBAIGNvcmVfb3BlbiAoY29uc3QgY2hh ciAqYXJnLCBpbnQgZnJvbV90dHkpCisgCXN3aXRjaF90b190aHJlYWQgKHRocmVhZC0+cHRpZCk7 CisgICAgIH0KICAKLS1leHRlcm4gY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWRf YmZkX2dldCAoYmZkICphYmZkKTsKLStleHRlcm4gY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAq YnVpbGRfaWRfYmZkX3NoZHJfZ2V0IChiZmQgKmFiZmQpOworKyAgLyogRmluZCB0aGUgYnVpbGRf aWQgaWRlbnRpZmllcnMuICBJZiBpdCBnZXRzIGV4ZWN1dGVkIGFmdGVyCisrICAgICBQT1NUX0NS RUFURV9JTkZFUklPUiB3ZSB3b3VsZCBjbGFzaCB3aXRoIGFza2luZyB0byBkaXNjYXJkIHRoZSBh bHJlYWR5CisrICAgICBsb2FkZWQgVkRTTyBzeW1ib2xzLiAgSWYgaXQgZ2V0cyBleGVjdXRlZCBi ZWZvcmUgYmZkX21hcF9vdmVyX3NlY3Rpb25zCisrICAgICBJTkZFUklPUl9QVElEIGlzIHN0aWxs IG5vdCBzZXQgYW5kIGxpYnRocmVhZF9kYiBpbml0aWFsaXphdGlvbiBjcmFzaGVzIG9uCisrICAg ICBQSUQgPT0gMCBpbiBwc19wZ2xvYmFsX2xvb2t1cC4gICovCisrICBpZiAoYnVpbGRfaWRfY29y ZV9sb2FkcyAhPSAwKQorKyAgICBidWlsZF9pZF9sb2NhdGVfZXhlYyAoZnJvbV90dHkpOworKwor ICAgcG9zdF9jcmVhdGVfaW5mZXJpb3IgKCZjb3JlX29wcywgZnJvbV90dHkpOwogIAotIC8qIFJl dHVybiB0cnVlIGlmIEFCRkQgaGFzIE5UX0dOVV9CVUlMRF9JRCBtYXRjaGluZyB0aGUgQ0hFQ0sg dmFsdWUuCi0gICAgT3RoZXJ3aXNlLCBpc3N1ZSBhIHdhcm5pbmcgYW5kIHJldHVybiBmYWxzZS4g ICovCi1AQCAtMzgsMTMgKzM5LDE5IEBACi0gICAgdGhlIGNhbGxlci4gICovCisgICAvKiBOb3cg Z28gdGhyb3VnaCB0aGUgdGFyZ2V0IHN0YWNrIGxvb2tpbmcgZm9yIHRocmVhZHMgc2luY2UgdGhl cmUKK0BAIC0xMDQxLDQgKzExMDEsMTEgQEAgX2luaXRpYWxpemVfY29yZWxvdyAodm9pZCkKKyAg IGluaXRfY29yZV9vcHMgKCk7CiAgCi0gZXh0ZXJuIGdkYl9iZmRfcmVmX3B0ciBidWlsZF9pZF90 b19kZWJ1Z19iZmQgKHNpemVfdCBidWlsZF9pZF9sZW4sCi0tCQkJCQkgICAgICBjb25zdCBiZmRf Ynl0ZSAqYnVpbGRfaWQpOwotKwkJCQkJICAgICAgY29uc3QgYmZkX2J5dGUgKmJ1aWxkX2lkLAot KwkJCQkJICAgICAgY2hhciAqKmxpbmtfcmV0dXJuLAotKwkJCQkJICAgICAgaW50IGFkZF9kZWJ1 Z19zdWZmaXgpOworICAgYWRkX3RhcmdldF93aXRoX2NvbXBsZXRlciAoJmNvcmVfb3BzLCBmaWxl bmFtZV9jb21wbGV0ZXIpOwogKwotK2V4dGVybiBjaGFyICpidWlsZF9pZF90b19maWxlbmFtZSAo Y29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQsCi0rCQkJCSAgIGNoYXIgKipsaW5r X3JldHVybik7Ci0gCi0gLyogRmluZCB0aGUgc2VwYXJhdGUgZGVidWcgZmlsZSBmb3IgT0JKRklM RSwgYnkgdXNpbmcgdGhlIGJ1aWxkLWlkCi0gICAgYXNzb2NpYXRlZCB3aXRoIE9CSkZJTEUncyBC RkQuICBJZiBzdWNjZXNzZnVsLCByZXR1cm5zIGEgbWFsbG9jJ2QKLSAgICBmaWxlIG5hbWUgZm9y IHRoZSBzZXBhcmF0ZSBkZWJ1ZyBmaWxlLiAgVGhlIGNhbGxlciBtdXN0IGZyZWUgdGhpcy4KLSAg ICBPdGhlcndpc2UsIHJldHVybnMgTlVMTC4gICovCisrICBhZGRfc2V0c2hvd19ib29sZWFuX2Nt ZCAoImJ1aWxkLWlkLWNvcmUtbG9hZHMiLCBjbGFzc19maWxlcywKKysJCQkgICAmYnVpbGRfaWRf Y29yZV9sb2FkcywgXygiXAorK1NldCB3aGV0aGVyIENPUkUtRklMRSBsb2FkcyB0aGUgYnVpbGQt aWQgYXNzb2NpYXRlZCBmaWxlcyBhdXRvbWF0aWNhbGx5LiIpLCBfKCJcCisrU2hvdyB3aGV0aGVy IENPUkUtRklMRSBsb2FkcyB0aGUgYnVpbGQtaWQgYXNzb2NpYXRlZCBmaWxlcyBhdXRvbWF0aWNh bGx5LiIpLAorKwkJCSAgIE5VTEwsIE5VTEwsIE5VTEwsCisrCQkJICAgJnNldGxpc3QsICZzaG93 bGlzdCk7CisgfQorZGlmZiAtLWdpdCBhL2dkYi9kb2MvZ2RiLnRleGluZm8gYi9nZGIvZG9jL2dk Yi50ZXhpbmZvCitpbmRleCAwMDVmZWQ4OWM1Li5kMTgxYWViMWMwIDEwMDY0NAorLS0tIGEvZ2Ri L2RvYy9nZGIudGV4aW5mbworKysrIGIvZ2RiL2RvYy9nZGIudGV4aW5mbworQEAgLTE5MjcxLDYg KzE5MjcxLDI3IEBAIGluZm9ybWF0aW9uIGZpbGVzLgogIAotLWV4dGVybiBjaGFyICpmaW5kX3Nl cGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUpOwot K2V4dGVybiBjaGFyICpmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAoc3RydWN0 IG9iamZpbGUgKm9iamZpbGUsCi0rCQkgICAgICAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hh cj4gKmJ1aWxkX2lkX2ZpbGVuYW1lX3JldHVybik7CisgQGVuZCB0YWJsZQogIAotICNlbmRpZiAv KiBCVUlMRF9JRF9IICovCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMnJl YWQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2R3YXJm MnJlYWQuYwkyMDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiArMDIwMAotKysrIGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wNC0yMCAyMzowMDo0My4zNzU2Mjky NzkgKzAyMDAKLUBAIC0yNjcxLDcgKzI2NzEsNyBAQAorK1lvdSBjYW4gYWxzbyBhZGp1c3QgdGhl IGN1cnJlbnQgdmVyYm9zaXR5IG9mIHRoZSBAZGZue2J1aWxkIGlkfSBsb2NhdGluZy4KKysKKytA dGFibGUgQGNvZGUKKysKKytAa2luZGV4IHNldCBidWlsZC1pZC12ZXJib3NlCisrQGl0ZW0gc2V0 IGJ1aWxkLWlkLXZlcmJvc2UgMAorK05vIGFkZGl0aW9uYWwgbWVzc2FnZXMgYXJlIHByaW50ZWQu CisrCisrQGl0ZW0gc2V0IGJ1aWxkLWlkLXZlcmJvc2UgMQorK01pc3Npbmcgc2VwYXJhdGUgZGVi dWcgZmlsZW5hbWVzIGFyZSBwcmludGVkLgorKworK0BpdGVtIHNldCBidWlsZC1pZC12ZXJib3Nl IDIKKytNaXNzaW5nIHNlcGFyYXRlIGRlYnVnIGZpbGVuYW1lcyBhcmUgcHJpbnRlZCBhbmQgYWxz byBhbGwgdGhlIHBhcnNpbmcgb2YgdGhlCisrYmluYXJpZXMgdG8gZmluZCB0aGVpciBAZGZue2J1 aWxkIGlkfSBjb250ZW50IGlzIHByaW50ZWQuCisrCisrQGtpbmRleCBzaG93IGJ1aWxkLWlkLXZl cmJvc2UKKytAaXRlbSBzaG93IGJ1aWxkLWlkLXZlcmJvc2UKKytTaG93IHRoZSBjdXJyZW50IHZl cmJvc2l0eSB2YWx1ZSBmb3IgdGhlIEBkZm57YnVpbGQgaWR9IGNvbnRlbnQgbG9jYXRpbmcuCisr CisrQGVuZCB0YWJsZQorKworIEBjaW5kZXggQGNvZGV7LmdudV9kZWJ1Z2xpbmt9IHNlY3Rpb25z CisgQGNpbmRleCBkZWJ1ZyBsaW5rIHNlY3Rpb25zCisgQSBkZWJ1ZyBsaW5rIGlzIGEgc3BlY2lh bCBzZWN0aW9uIG9mIHRoZSBleGVjdXRhYmxlIGZpbGUgbmFtZWQKK2RpZmYgLS1naXQgYS9nZGIv ZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYworaW5kZXggZmRkMWQ5ZDY4OC4uZWY2MjRh ZGEzMyAxMDA2NDQKKy0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKKysrKyBiL2dkYi9kd2FyZjJyZWFk LmMKK0BAIC0yNzg3LDcgKzI3ODcsNyBAQCBkd2FyZjJfZ2V0X2R3el9maWxlICh2b2lkKQogICAg ICB9CiAgCiAgICBpZiAoZHd6X2JmZCA9PSBOVUxMKQpAQCAtMTI0MCwxMSArMTA2Niw1MiBAQCBJ bmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMnJlYWQuYwogIAogICAgaWYgKGR3 el9iZmQgPT0gTlVMTCkKICAgICAgZXJyb3IgKF8oImNvdWxkIG5vdCBmaW5kICcuZ251X2RlYnVn YWx0bGluaycgZmlsZSBmb3IgJXMiKSwKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv cHl0aG9uL3B5LW9iamZpbGUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIw Lm9yaWcvZ2RiL3B5dGhvbi9weS1vYmpmaWxlLmMJMjAxNy0wNC0yMCAyMzowMDozNS40MTU1ODQ0 MjYgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcHl0aG9uL3B5LW9iamZpbGUu YwkyMDE3LTA0LTIwIDIzOjAwOjQzLjM3NTYyOTI3OSArMDIwMAotQEAgLTEzNyw3ICsxMzcsNyBA QAorZGlmZiAtLWdpdCBhL2dkYi9lbGZyZWFkLmMgYi9nZGIvZWxmcmVhZC5jCitpbmRleCBiODA2 Y2EzYjQwLi45Nzg0YTQ0YjVhIDEwMDY0NAorLS0tIGEvZ2RiL2VsZnJlYWQuYworKysrIGIvZ2Ri L2VsZnJlYWQuYworQEAgLTEyNDgsOCArMTI0OCw5IEBAIGVsZl9zeW1maWxlX3JlYWQgKHN0cnVj dCBvYmpmaWxlICpvYmpmaWxlLCBzeW1maWxlX2FkZF9mbGFncyBzeW1maWxlX2ZsYWdzKQorIAkg ICAmJiBvYmpmaWxlLT5zZXBhcmF0ZV9kZWJ1Z19vYmpmaWxlID09IE5VTEwKKyAJICAgJiYgb2Jq ZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayA9PSBOVUxMKQorICAgICB7Cisr ICAgICAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gYnVpbGRfaWRfZmlsZW5hbWU7Cisg ICAgICAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gZGVidWdmaWxlCistCShmaW5kX3Nl cGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAob2JqZmlsZSkpOworKwkoZmluZF9zZXBhcmF0 ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKG9iamZpbGUsICZidWlsZF9pZF9maWxlbmFtZSkpOwor IAorICAgICAgIGlmIChkZWJ1Z2ZpbGUgPT0gTlVMTCkKKyAJZGVidWdmaWxlLnJlc2V0IChmaW5k X3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfZGVidWdsaW5rIChvYmpmaWxlKSk7CitAQCAtMTI2MSw2 ICsxMjYyLDEwIEBAIGVsZl9zeW1maWxlX3JlYWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBz eW1maWxlX2FkZF9mbGFncyBzeW1maWxlX2ZsYWdzKQorIAkgIHN5bWJvbF9maWxlX2FkZF9zZXBh cmF0ZSAoYWJmZC5nZXQgKCksIGRlYnVnZmlsZS5nZXQgKCksCisgCQkJCSAgICBzeW1maWxlX2Zs YWdzLCBvYmpmaWxlKTsKKyAJfQorKyAgICAgIC8qIENoZWNrIGlmIGFueSBzZXBhcmF0ZSBkZWJ1 ZyBpbmZvIGhhcyBiZWVuIGV4dHJhY3RlZCBvdXQuICAqLworKyAgICAgIGVsc2UgaWYgKGJmZF9n ZXRfc2VjdGlvbl9ieV9uYW1lIChvYmpmaWxlLT5vYmZkLCAiLmdudV9kZWJ1Z2xpbmsiKQorKwkg ICAgICAgIT0gTlVMTCkKKysJZGVidWdfcHJpbnRfbWlzc2luZyAob2JqZmlsZV9uYW1lIChvYmpm aWxlKSwgYnVpbGRfaWRfZmlsZW5hbWUuZ2V0ICgpKTsKKyAgICAgfQorIH0KKyAKK2RpZmYgLS1n aXQgYS9nZGIvb2JqZmlsZXMuaCBiL2dkYi9vYmpmaWxlcy5oCitpbmRleCA2MmJkNDU0MDBkLi44 MWNmMGY1NDJiIDEwMDY0NAorLS0tIGEvZ2RiL29iamZpbGVzLmgKKysrKyBiL2dkYi9vYmpmaWxl cy5oCitAQCAtNDcwLDYgKzQ3MCwxMCBAQCBzdHJ1Y3Qgb2JqZmlsZQorICAgaHRhYl90IHN0YXRp Y19saW5rcyB7fTsKKyB9OworIAorKy8qIFRoaXMgZmlsZSB3YXMgbG9hZGVkIGFjY29yZGluZyB0 byB0aGUgQlVJTERfSURfQ09SRV9MT0FEUyBydWxlcy4gICovCisrCisrI2RlZmluZSBPQkpGX0JV SUxEX0lEX0NPUkVfTE9BREVEIHN0YXRpY19jYXN0PGVudW0gb2JqZmlsZV9mbGFnPigxIDw8IDEy KQorKworIC8qIERlY2xhcmF0aW9ucyBmb3IgZnVuY3Rpb25zIGRlZmluZWQgaW4gb2JqZmlsZXMu YyAqLworIAorIGV4dGVybiBzdHJ1Y3QgZ2RiYXJjaCAqZ2V0X29iamZpbGVfYXJjaCAoY29uc3Qg c3RydWN0IG9iamZpbGUgKik7CitkaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9weS1vYmpmaWxlLmMg Yi9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYworaW5kZXggNTJmMmUxZjc5Mi4uNDE4MDg2ZmE4YiAx MDA2NDQKKy0tLSBhL2dkYi9weXRob24vcHktb2JqZmlsZS5jCisrKysgYi9nZGIvcHl0aG9uL3B5 LW9iamZpbGUuYworQEAgLTEzNyw3ICsxMzcsNyBAQCBvYmpmcHlfZ2V0X2J1aWxkX2lkIChQeU9i amVjdCAqc2VsZiwgdm9pZCAqY2xvc3VyZSkKICAKICAgIFRSWQogICAgICB7CkBAIC0xMjUzLDcg KzExMjAsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3B5dGhvbi9weS1vYmpm aWxlLmMKICAgICAgfQogICAgQ0FUQ0ggKGV4Y2VwdCwgUkVUVVJOX01BU0tfQUxMKQogICAgICB7 Ci1AQCAtNTQ0LDcgKzU0NCw3IEBACitAQCAtNTQ0LDcgKzU0NCw3IEBAIG9iamZweV9sb29rdXBf b2JqZmlsZV9ieV9idWlsZF9pZCAoY29uc3QgY2hhciAqYnVpbGRfaWQpCiAgICAgICAgLyogRG9u J3QgcmV0dXJuIHNlcGFyYXRlIGRlYnVnIGZpbGVzLiAgKi8KICAgICAgICBpZiAob2JqZmlsZS0+ c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayAhPSBOVUxMKQogIAljb250aW51ZTsKQEAg LTEyNjIsMTYgKzExMjksMTgxIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcHl0 aG9uL3B5LW9iamZpbGUuYwogICAgICAgIGlmIChvYmZkX2J1aWxkX2lkID09IE5VTEwpCiAgCWNv bnRpbnVlOwogICAgICAgIGlmIChvYmpmcHlfYnVpbGRfaWRfbWF0Y2hlcyAob2JmZF9idWlsZF9p ZCwgYnVpbGRfaWQpKQotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9jb2ZmcmVhZC5j Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvY29mZnJlYWQu YwkyMDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9jb2ZmcmVhZC5jCTIwMTctMDQtMjAgMjM6MDA6NDMuMzc2NjI5Mjg1ICswMjAw Ci1AQCAtNzM0LDcgKzczNCw3IEBACi0gICAgIHsKLSAgICAgICBjaGFyICpkZWJ1Z2ZpbGU7Citk aWZmIC0tZ2l0IGEvZ2RiL3NvbGliLXN2cjQuYyBiL2dkYi9zb2xpYi1zdnI0LmMKK2luZGV4IDZl ODM0ZmI1ZDcuLjA4Nzg4MDkyZGMgMTAwNjQ0CistLS0gYS9nZGIvc29saWItc3ZyNC5jCisrKysg Yi9nZGIvc29saWItc3ZyNC5jCitAQCAtNDUsNiArNDUsNyBAQAorICNpbmNsdWRlICJhdXh2Lmgi CisgI2luY2x1ZGUgImdkYl9iZmQuaCIKKyAjaW5jbHVkZSAicHJvYmUuaCIKKysjaW5jbHVkZSAi YnVpbGQtaWQuaCIKICAKLS0gICAgICBkZWJ1Z2ZpbGUgPSBmaW5kX3NlcGFyYXRlX2RlYnVnX2Zp bGVfYnlfYnVpbGRpZCAob2JqZmlsZSk7Ci0rICAgICAgZGVidWdmaWxlID0gZmluZF9zZXBhcmF0 ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKG9iamZpbGUsIE5VTEwpOworIHN0YXRpYyBzdHJ1Y3Qg bGlua19tYXBfb2Zmc2V0cyAqc3ZyNF9mZXRjaF9saW5rX21hcF9vZmZzZXRzICh2b2lkKTsKKyBz dGF0aWMgaW50IHN2cjRfaGF2ZV9saW5rX21hcF9vZmZzZXRzICh2b2lkKTsKK0BAIC0xMzg1LDkg KzEzODYsNTIgQEAgc3ZyNF9yZWFkX3NvX2xpc3QgKENPUkVfQUREUiBsbSwgQ09SRV9BRERSIHBy ZXZfbG0sCisgCSAgY29udGludWU7CisgCX0KICAKLSAgICAgICBpZiAoZGVidWdmaWxlID09IE5V TEwpCi0gCWRlYnVnZmlsZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9kZWJ1Z2xpbmsg KG9iamZpbGUpOworLSAgICAgIHN0cm5jcHkgKG5ld29iai0+c29fbmFtZSwgYnVmZmVyLCBTT19O QU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKKy0gICAgICBuZXdvYmotPnNvX25hbWVbU09fTkFNRV9N QVhfUEFUSF9TSVpFIC0gMV0gPSAnXDAnOworLSAgICAgIHN0cmNweSAobmV3b2JqLT5zb19vcmln aW5hbF9uYW1lLCBuZXdvYmotPnNvX25hbWUpOworKyAgICAgIHsKKysJc3RydWN0IGJmZF9idWls ZF9pZCAqYnVpbGRfaWQ7CisrCisrCXN0cm5jcHkgKG5ld29iai0+c29fb3JpZ2luYWxfbmFtZSwg YnVmZmVyLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKKysJbmV3b2JqLT5zb19vcmlnaW5h bF9uYW1lW1NPX05BTUVfTUFYX1BBVEhfU0laRSAtIDFdID0gJ1wwJzsKKysJLyogTWF5IGdldCBv dmVyd3JpdHRlbiBiZWxvdy4gICovCisrCXN0cmNweSAobmV3b2JqLT5zb19uYW1lLCBuZXdvYmot PnNvX29yaWdpbmFsX25hbWUpOworKworKwlidWlsZF9pZCA9IGJ1aWxkX2lkX2FkZHJfZ2V0IChu ZXdvYmotPmxtX2luZm8tPmxfbGQpOworKwlpZiAoYnVpbGRfaWQgIT0gTlVMTCkKKysJICB7Cisr CSAgICBjaGFyICpuYW1lLCAqYnVpbGRfaWRfZmlsZW5hbWU7CisrCisrCSAgICAvKiBNaXNzaW5n IHRoZSBidWlsZC1pZCBtYXRjaGluZyBzZXBhcmF0ZSBkZWJ1ZyBpbmZvIGZpbGUKKysJICAgICAg IHdvdWxkIGJlIGhhbmRsZWQgd2hpbGUgU09fTkFNRSBnZXRzIGxvYWRlZC4gICovCisrCSAgICBu YW1lID0gYnVpbGRfaWRfdG9fZmlsZW5hbWUgKGJ1aWxkX2lkLCAmYnVpbGRfaWRfZmlsZW5hbWUp OworKwkgICAgaWYgKG5hbWUgIT0gTlVMTCkKKysJICAgICAgeworKwkJc3RybmNweSAobmV3b2Jq LT5zb19uYW1lLCBuYW1lLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKKysJCW5ld29iai0+ c29fbmFtZVtTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxXSA9ICdcMCc7CisrCQl4ZnJlZSAobmFt ZSk7CisrCSAgICAgIH0KKysJICAgIGVsc2UKKysJICAgICAgeworKwkJZGVidWdfcHJpbnRfbWlz c2luZyAobmV3b2JqLT5zb19uYW1lLCBidWlsZF9pZF9maWxlbmFtZSk7CisrCisrCQkvKiBJbiB0 aGUgY2FzZSB0aGUgbWFpbiBleGVjdXRhYmxlIHdhcyBmb3VuZCBhY2NvcmRpbmcgdG8KKysJCSAg IGl0cyBidWlsZC1pZCAoZnJvbSBhIGNvcmUgZmlsZSkgcHJldmVudCBsb2FkaW5nCisrCQkgICBh IGRpZmZlcmVudCBidWlsZCBvZiBhIGxpYnJhcnkgd2l0aCBhY2NpZGVudGFsbHkgdGhlCisrCQkg ICBzYW1lIFNPX05BTUUuCisrCisrCQkgICBJdCBzdXBwcmVzc2VzIGJvZ3VzIGJhY2t0cmFjZXMg KGFuZCBwcmludHMgIj8/IiB0aGVyZQorKwkJICAgaW5zdGVhZCkgaWYgdGhlIG9uLWRpc2sgZmls ZXMgbm8gbG9uZ2VyIG1hdGNoIHRoZQorKwkJICAgcnVubmluZyBwcm9ncmFtIHZlcnNpb24uICAq LworKworKwkJaWYgKHN5bWZpbGVfb2JqZmlsZSAhPSBOVUxMCisrCQkgICAgJiYgKHN5bWZpbGVf b2JqZmlsZS0+ZmxhZ3MKKysJCQkmIE9CSkZfQlVJTERfSURfQ09SRV9MT0FERUQpICE9IDApCisr CQkgIG5ld29iai0+c29fbmFtZVswXSA9IDA7CisrCSAgICAgIH0KKysKKysJICAgIHhmcmVlIChi dWlsZF9pZF9maWxlbmFtZSk7CisrCSAgICB4ZnJlZSAoYnVpbGRfaWQpOworKwkgIH0KKysgICAg ICB9CisrCisgICAgICAgeGZyZWUgKGJ1ZmZlcik7CisgCisgICAgICAgLyogSWYgdGhpcyBlbnRy eSBoYXMgbm8gbmFtZSwgb3IgaXRzIG5hbWUgbWF0Y2hlcyB0aGUgbmFtZQorZGlmZiAtLWdpdCBh L2dkYi9zeW1maWxlLmggYi9nZGIvc3ltZmlsZS5oCitpbmRleCBmYTM4YWJmNDk2Li40NWJiZTBh MjI5IDEwMDY0NAorLS0tIGEvZ2RiL3N5bWZpbGUuaAorKysrIGIvZ2RiL3N5bWZpbGUuaAorQEAg LTU0Myw2ICs1NDMsMTAgQEAgdm9pZCBleHBhbmRfc3ltdGFic19tYXRjaGluZworIHZvaWQgbWFw X3N5bWJvbF9maWxlbmFtZXMgKHN5bWJvbF9maWxlbmFtZV9mdHlwZSAqZnVuLCB2b2lkICpkYXRh LAorIAkJCSAgIGludCBuZWVkX2Z1bGxuYW1lKTsKKyAKKysvKiBidWlsZC1pZCBzdXBwb3J0LiAg Ki8KKytleHRlcm4gc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWRfYWRkcl9nZXQgKENPUkVf QUREUiBhZGRyKTsKKytleHRlcm4gdm9pZCBkZWJ1Z19wcmludF9taXNzaW5nIChjb25zdCBjaGFy ICpiaW5hcnksIGNvbnN0IGNoYXIgKmRlYnVnKTsKKysKKyAvKiBGcm9tIGR3YXJmMnJlYWQuYyAq LworIAorIC8qIE5hbWVzIGZvciBhIGR3YXJmMiBkZWJ1Z2dpbmcgc2VjdGlvbi4gIFRoZSBmaWVs ZCBOT1JNQUwgaXMgdGhlIG5vcm1hbAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvY29yZWZpbGUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmlsZS5leHAKK2lu ZGV4IDliZTRhZWY3ZjQuLjU0Y2I1ZDBkNDIgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2NvcmVmaWxlLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmls ZS5leHAKK0BAIC0zMTEsMyArMzExLDMzIEBAIGdkYl90ZXN0X211bHRpcGxlICJjb3JlLWZpbGUg JGNvcmVmaWxlIiAkdGVzdCB7CisgCXBhc3MgJHRlc3QKKyAgICAgfQorIH0KKysKKysKKysjIFRl c3QgYXV0by1sb2FkaW5nIG9mIGJpbmFyeSBmaWxlcyB0aHJvdWdoIGJ1aWxkLWlkIGZyb20gdGhl IGNvcmUgZmlsZS4KKytzZXQgYnVpbGRpZCBbYnVpbGRfaWRfZGVidWdfZmlsZW5hbWVfZ2V0ICRi aW5maWxlXQorK3NldCB3aG9sZXRlc3QgImJpbmZpbGUgZm91bmQgYnkgYnVpbGQtaWQiCisraWYg eyRidWlsZGlkID09ICIifSB7CisrICAgIHVudGVzdGVkICIkd2hvbGV0ZXN0IChiaW5hcnkgaGFz IG5vIGJ1aWxkLWlkKSIKKyt9IGVsc2UgeworKyAgICBnZGJfZXhpdAorKyAgICBnZGJfc3RhcnQK KysKKysgICAgcmVnc3ViIHtcLmRlYnVnJH0gJGJ1aWxkaWQge30gYnVpbGRpZAorKyAgICBzZXQg ZGVidWdkaXIgW3N0YW5kYXJkX291dHB1dF9maWxlICR7dGVzdGZpbGV9LWRlYnVnZGlyXQorKyAg ICBmaWxlIGRlbGV0ZSAtZm9yY2UgLS0gJGRlYnVnZGlyCisrICAgIGZpbGUgbWtkaXIgJGRlYnVn ZGlyL1tmaWxlIGRpcm5hbWUgJGJ1aWxkaWRdCisrICAgIGZpbGUgY29weSAkYmluZmlsZSAkZGVi dWdkaXIvJGJ1aWxkaWQKKysKKysgICAgc2V0IHRlc3QgInNob3cgZGVidWctZmlsZS1kaXJlY3Rv cnkiCisrICAgIGdkYl90ZXN0X211bHRpcGxlICR0ZXN0ICR0ZXN0IHsKKysJLXJlICJUaGUgZGly ZWN0b3J5IHdoZXJlIHNlcGFyYXRlIGRlYnVnIHN5bWJvbHMgYXJlIHNlYXJjaGVkIGZvciBpcyBc IiguKilcIlxcLlxyXG4kZ2RiX3Byb21wdCAkIiB7CisrCSAgICBzZXQgZGVidWdkaXJfb3JpZyAk ZXhwZWN0X291dCgxLHN0cmluZykKKysJICAgIHBhc3MgJHRlc3QKKysJfQorKyAgICB9CisrICAg IGdkYl90ZXN0X25vX291dHB1dCAic2V0IGRlYnVnLWZpbGUtZGlyZWN0b3J5ICRkZWJ1Z2Rpcjok ZGVidWdkaXJfb3JpZyIgInNldCBkZWJ1Zy1maWxlLWRpcmVjdG9yeSIKKysgICAgZ2RiX3Rlc3Qg InNob3cgYnVpbGQtaWQtY29yZS1sb2FkcyIge1doZXRoZXIgQ09SRS1GSUxFIGxvYWRzIHRoZSBi dWlsZC1pZCBhc3NvY2lhdGVkIGZpbGVzIGF1dG9tYXRpY2FsbHkgaXMgb25cLn0KKysgICAgZ2Ri X3Rlc3QgImNvcmUtZmlsZSAkY29yZWZpbGUiICJcclxuUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGgg LioiICJjb3JlLWZpbGUgd2l0aG91dCBleGVjdXRhYmxlIgorKyAgICBnZGJfdGVzdCAiaW5mbyBm aWxlcyIgIkxvY2FsIGV4ZWMgZmlsZTpcclxuXFsgXHRcXSpgW3N0cmluZ190b19yZWdleHAgJGRl YnVnZGlyLyRidWlsZGlkXScsIGZpbGUgdHlwZSAuKiIKKysgICAgcGFzcyAkd2hvbGV0ZXN0Cisr fQorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbmV3LXVpLXBlbmRpbmctaW5w dXQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9uZXctdWktcGVuZGluZy1pbnB1dC5leHAK K2luZGV4IDM3ZDZlNGE2NzAuLjM4NzA2ZWQzNDEgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL25ldy11aS1wZW5kaW5nLWlucHV0LmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9uZXctdWktcGVuZGluZy1pbnB1dC5leHAKK0BAIC02Miw2ICs2Miw3IEBAIHByb2Mg dGVzdF9jb21tYW5kX2xpbmVfbmV3X3VpX3BlbmRpbmdfaW5wdXQge30geworICAgICBzZXQgb3B0 aW9ucyAiIgorICAgICBhcHBlbmQgb3B0aW9ucyAiIC1pZXggXCJzZXQgaGVpZ2h0IDBcIiIKKyAg ICAgYXBwZW5kIG9wdGlvbnMgIiAtaWV4IFwic2V0IHdpZHRoIDBcIiIKKysgICAgYXBwZW5kIG9w dGlvbnMgIiAtaWV4IFwic2V0IGJ1aWxkLWlkLXZlcmJvc2UgMFwiIgorICAgICBhcHBlbmQgb3B0 aW9ucyAiIC1pZXggXCJuZXctdWkgY29uc29sZSAkZXh0cmFfdHR5X25hbWVcIiIKKyAgICAgYXBw ZW5kIG9wdGlvbnMgIiAtZXggXCJiICRicGxpbmVcIiIKKyAgICAgYXBwZW5kIG9wdGlvbnMgIiAt ZXggXCJydW5cIiIKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAoraW5kZXggMDE4MzY3YzE2MS4uZmY4MjE4YmYzZCAxMDA2 NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUv bGliL2dkYi5leHAKK0BAIC0xNzAzLDYgKzE3MDMsMTYgQEAgcHJvYyBkZWZhdWx0X2dkYl9zdGFy dCB7IH0geworIAkgICAgd2FybmluZyAiQ291bGRuJ3Qgc2V0IHRoZSB3aWR0aCB0byAwLiIKKyAJ fQorICAgICB9CisrICAgICMgVHVybiBvZmYgdGhlIG1pc3Npbmcgd2FybmluZ3MgYXMgdGhlIHRl c3RzdWl0ZSBkb2VzIG5vdCBleHBlY3QgaXQuCisrICAgIHNlbmRfZ2RiICJzZXQgYnVpbGQtaWQt dmVyYm9zZSAwXG4iCisrICAgIGdkYl9leHBlY3QgMTAgeworKwktcmUgIiRnZGJfcHJvbXB0ICQi IHsKKysJICAgIHZlcmJvc2UgIkRpc2FibGVkIHRoZSBtaXNzaW5nIGRlYnVnIGluZm9zIHdhcm5p bmdzLiIgMgorKwl9CisrCXRpbWVvdXQgeworKwkgICAgd2FybmluZyAiQ291bGQgbm90IGRpc2Fi bGUgdGhlIG1pc3NpbmcgZGVidWcgaW5mb3Mgd2FybmluZ3MuLiIKKysJfQorKyAgICB9CisgICAg IHJldHVybiAwCisgfQorIAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBv cnQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAKK2luZGV4IDU2ODJiN2Uy ZTEuLjYwZTRmN2RiNTUgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0 LmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAKK0BAIC0zMDksNiAr MzA5LDE2IEBAIHByb2MgZGVmYXVsdF9taV9nZGJfc3RhcnQgeyBhcmdzIH0geworIAkgICAgd2Fy bmluZyAiQ291bGRuJ3Qgc2V0IHRoZSB3aWR0aCB0byAwLiIKKyAJfQorICAgICB9CisrICAgICMg VHVybiBvZmYgdGhlIG1pc3Npbmcgd2FybmluZ3MgYXMgdGhlIHRlc3RzdWl0ZSBkb2VzIG5vdCBl eHBlY3QgaXQuCisrICAgIHNlbmRfZ2RiICIxOTAtZ2RiLXNldCBidWlsZC1pZC12ZXJib3NlIDBc biIKKysgICAgZ2RiX2V4cGVjdCAxMCB7CisrCS1yZSAiLioxOTAtZ2RiLXNldCBidWlsZC1pZC12 ZXJib3NlIDBcclxuMTkwXFxcXmRvbmVcclxuJG1pX2dkYl9wcm9tcHQkIiB7CisrCSAgICB2ZXJi b3NlICJEaXNhYmxlZCB0aGUgbWlzc2luZyBkZWJ1ZyBpbmZvcyB3YXJuaW5ncy4iIDIKKysJfQor Kwl0aW1lb3V0IHsKKysJICAgIHdhcm5pbmcgIkNvdWxkIG5vdCBkaXNhYmxlIHRoZSBtaXNzaW5n IGRlYnVnIGluZm9zIHdhcm5pbmdzLi4iCisrCX0KKysgICAgfQorIAorICAgICBpZiB7ICRzZXBh cmF0ZV9pbmZlcmlvcl9wdHkgfSB7CisgCW1pX2NyZWF0ZV9pbmZlcmlvcl9wdHkKKy0tIAorMi4x NC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ6MjI5NTE3LWdjb3JlLXdpdGhvdXQtdGVybWlu YWwucGF0Y2ggYi9nZGItNi42LWJ6MjI5NTE3LWdjb3JlLXdpdGhvdXQtdGVybWluYWwucGF0Y2gK aW5kZXggYzI5NGM0MS4uNjcwYmMxNCAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1iejIyOTUxNy1nY29y ZS13aXRob3V0LXRlcm1pbmFsLnBhdGNoCisrKyBiL2dkYi02LjYtYnoyMjk1MTctZ2NvcmUtd2l0 aG91dC10ZXJtaW5hbC5wYXRjaApAQCAtMSw5ICsxLDEyIEBACitGcm9tIDhiN2RkNGZmMGZjZmIx MTYxMTQzZmIzOWYzNjM1NTMzMzY3NGY5MDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9t OiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIERhdGU6IEZyaSwg MjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjYtYnoyMjk1MTctZ2Nv cmUtd2l0aG91dC10ZXJtaW5hbC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuNi1iejIyOTUxNy1n Y29yZS13aXRob3V0LXRlcm1pbmFsLnBhdGNoCiAKKzs7IEFsbG93IHJ1bm5pbmcgYC91c3IvYmlu L2djb3JlJyB3aXRoIHByb3ZpZGVkIGJ1dCBpbmFjY2Vzc2libGUgdHR5IChCWiAyMjk1MTcpLgor Ozs9ZmVkb3JhdGVzdAogCiAyMDA3LTA0LTIyICBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2 aWxAcmVkaGF0LmNvbT4KIApAQCAtMTIsMTIgKzE1LDE4IEBAIEZpbGVOYW1lOiBnZGItNi42LWJ6 MjI5NTE3LWdjb3JlLXdpdGhvdXQtdGVybWluYWwucGF0Y2gKIDIwMDctMDQtMjIgIEphbiBLcmF0 b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgogCiAJKiBnZGIuYmFzZS9nY29yZWJn LmV4cCwgZ2RiLmJhc2UvZ2NvcmViZy5jOiBOZXcgZmlsZXMuCistLS0KKyBnZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2djb3JlYmcuYyAgIHwgIDQ5ICsrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2djb3JlYmcuZXhwIHwgMTEzICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDE2MiBpbnNlcnRpb25zKCspCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmViZy5jCisgY3JlYXRlIG1v ZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmViZy5leHAKIAotCi1JbmRleDog Z2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZWJnLmMKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3Jl YmcuYwkyMDE2LTAyLTE2IDEwOjQ0OjQ4Ljk5ODUyNzI1OSArMDEwMAorZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmViZy5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9n Y29yZWJnLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi40MjdlYmU5 YjRmCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3JlYmcu YwogQEAgLTAsMCArMSw0OSBAQAogKyNpbmNsdWRlIDxzdGRpby5oPgogKyNpbmNsdWRlIDxzeXMv dHlwZXMuaD4KQEAgLTY4LDEwICs3NywxMSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZWJnLmMKICsKICsgIHJldHVybiAwOwogK30KLUlu ZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3JlYmcu ZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAw MDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9nY29yZWJnLmV4cAkyMDE2LTAyLTE2IDEwOjQ0OjQ4Ljk5OTUyNzI2NSArMDEwMAorZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmViZy5leHAgYi9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2djb3JlYmcuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAw MDAwMC4uYTU0NzFiYTVkZgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9nY29yZWJnLmV4cAogQEAgLTAsMCArMSwxMTMgQEAKICsjIENvcHlyaWdodCAyMDA3IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTg2LDMgKzE5Niw2IEBAIEluZGV4 OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3JlYmcuZXhw CiArCiArc2V0IGVudihQQVRIKSAkb2xkcGF0aAogK3JlbW90ZV9maWxlIHRhcmdldCBkZWxldGUg Ii4vZ2RiIgorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnoyMzAwMDAtcG93 ZXI2LWRpc2Fzc2VtYmx5LXRlc3QucGF0Y2ggYi9nZGItNi42LWJ6MjMwMDAwLXBvd2VyNi1kaXNh c3NlbWJseS10ZXN0LnBhdGNoCmluZGV4IGRjMGMxMDEuLjdhODdjMGUgMTAwNjQ0Ci0tLSBhL2dk Yi02LjYtYnoyMzAwMDAtcG93ZXI2LWRpc2Fzc2VtYmx5LXRlc3QucGF0Y2gKKysrIGIvZ2RiLTYu Ni1iejIzMDAwMC1wb3dlcjYtZGlzYXNzZW1ibHktdGVzdC5wYXRjaApAQCAtMSwyMSArMSwzMCBA QAorRnJvbSAyMDI3ODMyNzMyYmIxZGJhNTYwZTE3MzQ4YzhkZjJmYzA5YjZjNjk4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWls LmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdk Yi02LjYtYnoyMzAwMDAtcG93ZXI2LWRpc2Fzc2VtYmx5LXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6 IGdkYi02LjYtYnoyMzAwMDAtcG93ZXI2LWRpc2Fzc2VtYmx5LXRlc3QucGF0Y2gKIAorOzsgVGVz dGNhc2UgZm9yIFBQQyBQb3dlcjYvREZQIGluc3RydWN0aW9ucyBkaXNhc3NlbWJseSAoQlogMjMw MDAwKS4KKzs7PWZlZG9yYXRlc3QKIAogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1Z3pp bGxhL3Nob3dfYnVnLmNnaT9pZD0yMzAwMDAKIAogVGhlIG9yaWdpbmFsIHRlc3RjYXNlCiAJaHR0 cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yMzAwMDAj YzEKIHJlcXVpcmVzIHRvbyByZWNlbnQgR0NDLgorLS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC9wb3dlcnBjLXBvd2VyNi5leHAgfCA1NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyNi5zICAgfCAxNiArKysrKysr KysKKyAyIGZpbGVzIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyNi5leHAKKyBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyNi5zCiAKLQotSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBv d2VyNi5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gvcG93ZXJwYy1wb3dlcjYuZXhwCTIwMTMtMDItMjUgMTQ6MzE6MDYuNjU4ODI3MTc3ICsw MTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyNi5l eHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtcG93ZXI2LmV4cAorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjA4MmE0Yjc4MDIKKy0tLSAvZGV2L251bGwK KysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1wb3dlcjYuZXhwCiBAQCAtMCww ICsxLDU0IEBACiArIyBDb3B5cmlnaHQgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KICsKQEAgLTcxLDEwICs4MCwxMSBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIv dGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtcG93ZXI2LmV4cAogK2dkYl90ZXN0ICJkaXNhc3Mg ZnVuYyIgIjpcdGRkaXZxICAqZjAsZjIsZjBcclxuLioiICJQb3dlcjYgZGlzYXNzZW1ibHkgZGRp dnEiCiArZ2RiX3Rlc3QgImRpc2FzcyBmdW5jIiAiOlx0ZGNtcHUgICpjcjEsZjIsZjFcclxuLioi ICJQb3dlcjYgZGlzYXNzZW1ibHkgZGNtcHUiCiArZ2RiX3Rlc3QgImRpc2FzcyBmdW5jIiAiOlx0 ZGNtcHVxICAqY3IxLGYyLGYwXHJcbi4qIiAiUG93ZXI2IGRpc2Fzc2VtYmx5IGRjbXB1cSIKLUlu ZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1w b3dlcjYucwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9wb3dlcnBjLXBvd2VyNi5zCTIwMTMtMDItMjUgMTQ6MzE6MDYuNjU5ODI3MTc4ICswMTAw CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyNi5zIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyNi5zCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNjY5NGIyMzdhYgorLS0tIC9kZXYvbnVsbAorKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyNi5zCiBAQCAtMCwwICsxLDE2IEBA CiArCS50ZXh0CiArCS5nbG9ibAlmdW5jCkBAIC05MiwzICsxMDIsNiBAQCBJbmRleDogZ2RiLTcu NS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtcG93ZXI2LnMKICsJ LmxvbmcJMHhmYzAyMDQ0NAkvKiBkZGl2cQlmMCxmMixmMAkqLwogKwkubG9uZwkweGVjODIwZDA0 CS8qIGRjbXB1CWNyMSxmMixmMQkqLwogKwkubG9uZwkweGZjODIwNTA0CS8qIGRjbXB1cQljcjEs ZjIsZjAJKi8KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ6MjM1MTk3LWZv cmstZGV0YWNoLWluZm8ucGF0Y2ggYi9nZGItNi42LWJ6MjM1MTk3LWZvcmstZGV0YWNoLWluZm8u cGF0Y2gKaW5kZXggNDBiYWYwMC4uYWU2NzJkMiAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1iejIzNTE5 Ny1mb3JrLWRldGFjaC1pbmZvLnBhdGNoCisrKyBiL2dkYi02LjYtYnoyMzUxOTctZm9yay1kZXRh Y2gtaW5mby5wYXRjaApAQCAtMSwxOSArMSw2NiBAQAorRnJvbSA1N2U2YjE0YWJjM2FjZGUzMzIx MDExYjEyYTNiYTA0NDgzMTE5YWJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSmFu IEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CiBEYXRlOiBGcmksIDI3IE9j dCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItNi42LWJ6MjM1MTk3LWZvcmstZGV0 YWNoLWluZm8ucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjYtYnoyMzUxOTctZm9yay1kZXRhY2gt aW5mby5wYXRjaAogCis7OyBOb3RpZnkgdXNlciBvZiBhIGNoaWxkIGZvcmtlZCBwcm9jZXNzIGJl aW5nIGRldGFjaGVkIChCWiAyMzUxOTcpLgorOzs9cHVzaCtqYW46IFRoaXMgaXMgbW9yZSBhYm91 dCBkaXNjdXNzaW9uIGlmL3doYXQgc2hvdWxkIGJlIHByaW50ZWQuCiAKIDIwMDgtMDMtMDEgIEph biBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIAogCVBvcnQgdG8gR0RC LTYuOHByZS4KIAlSZW1vdmUgdGhlIGBbJyBjaGFyYWN0ZXIgZnJvbSB0aGUgR0RCLTYuOCBkZWZh dWx0IG1lc3NhZ2UuCistLS0KKyBnZGIvaW5mcnVuLmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDIgKy0KKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NhdGNoLXN5c2NhbGwuZXhwIHwg IDQgKy0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb3JrLWRldGFjaC5jICAgICB8IDU3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9m b3JrLWRldGFjaC5leHAgICB8IDM2ICsrKysrKysrKysrKysrKysrKysrCisgNCBmaWxlcyBjaGFu Z2VkLCA5NiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcmstZGV0YWNoLmMKKyBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb3JrLWRldGFjaC5leHAKIAotSW5kZXg6IGdkYi03 LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZm9yay1kZXRhY2guYwotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZm9yay1k ZXRhY2guYwkyMDE2LTAyLTE1IDIzOjI1OjM2LjY4NjYwMDU5OCArMDEwMAorZGlmZiAtLWdpdCBh L2dkYi9pbmZydW4uYyBiL2dkYi9pbmZydW4uYworaW5kZXggZDdkZjNjN2Q1Ny4uYThhMjZmYzM2 ZCAxMDA2NDQKKy0tLSBhL2dkYi9pbmZydW4uYworKysrIGIvZ2RiL2luZnJ1bi5jCitAQCAtNDYx LDcgKzQ2MSw3IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0b3BwZWQuICBUcnkgXCJzZXQgZGV0YWNo LW9uLWZvcmtcIiBvciBcCisgCSAgICAgIHJlbW92ZV9icmVha3BvaW50c19waWQgKHB0aWRfZ2V0 X3BpZCAoaW5mZXJpb3JfcHRpZCkpOworIAkgICAgfQorIAorLQkgIGlmIChpbmZvX3ZlcmJvc2Ug fHwgZGVidWdfaW5mcnVuKQorKwkgIGlmICgxIC8qIEZlZG9yYSBCdWcgMjM1MTk3ICovIHx8IGlu Zm9fdmVyYm9zZSB8fCBkZWJ1Z19pbmZydW4pCisgCSAgICB7CisgCSAgICAgIC8qIEVuc3VyZSB0 aGF0IHdlIGhhdmUgYSBwcm9jZXNzIHB0aWQuICAqLworIAkgICAgICBwdGlkX3QgcHJvY2Vzc19w dGlkID0gcGlkX3RvX3B0aWQgKHB0aWRfZ2V0X3BpZCAoY2hpbGRfcHRpZCkpOworZGlmZiAtLWdp dCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2F0Y2gtc3lzY2FsbC5leHAgYi9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2NhdGNoLXN5c2NhbGwuZXhwCitpbmRleCA1OTVjY2JlYWUwLi5jOWRiYzNh YmEyIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jYXRjaC1zeXNjYWxsLmV4 cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jYXRjaC1zeXNjYWxsLmV4cAorQEAgLTE3 OSw3ICsxNzksNyBAQCBwcm9jIGNoZWNrX2Zvcl9wcm9ncmFtX2VuZCB7fSB7CisgICAgICMgRGVs ZXRpbmcgdGhlIGNhdGNocG9pbnRzCisgICAgIGRlbGV0ZV9icmVha3BvaW50cworIAorLSAgICBn ZGJfY29udGludWVfdG9fZW5kCisrICAgIGdkYl9jb250aW51ZV90b19lbmQgIiIgY29udGludWUg MQorIH0KKyAKKyBwcm9jIHRlc3RfY2F0Y2hfc3lzY2FsbF93aXRob3V0X2FyZ3Mge30geworQEAg LTI1MCw3ICsyNTAsNyBAQCBwcm9jIHRlc3RfY2F0Y2hfc3lzY2FsbF93aXRoX3dyb25nX2FyZ3Mg e30geworIAkjIElmIGl0IGRvZXNuJ3QsIGV2ZXJ5dGhpbmcgaXMgcmlnaHQgKHNpbmNlIHdlIGRv bid0IGhhdmUKKyAJIyBhIHN5c2NhbGwgbmFtZWQgIm1sb2NrIiBpbiBpdCkuICBPdGhlcndpc2Us IHRoaXMgaXMgYSBmYWlsdXJlLgorIAlzZXQgdGhpc3Rlc3QgImNhdGNoIHN5c2NhbGwgd2l0aCB1 bnVzZWQgc3lzY2FsbCAoJHN5c2NhbGxfbmFtZSkiCistCWdkYl9jb250aW51ZV90b19lbmQgJHRo aXN0ZXN0CisrCWdkYl9jb250aW51ZV90b19lbmQgJHRoaXN0ZXN0IGNvbnRpbnVlIDEKKyAgICAg fQorIH0KKyAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcmstZGV0YWNo LmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcmstZGV0YWNoLmMKK25ldyBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4wYmE4ZjQ2NWYzCistLS0gL2Rldi9udWxsCisrKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcmstZGV0YWNoLmMKIEBAIC0wLDAgKzEsNTcgQEAK ICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpA QCAtNzIsMTAgKzExOSwxMSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9mb3JrLWRldGFjaC5jCiArICAgIH0KICsgIHJldHVybiAwOwogK30KLUlu ZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcmstZGV0 YWNoLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvZm9yay1kZXRhY2guZXhwCTIwMTYtMDItMTUgMjM6Mjc6NTUuNzkyNTg4MjY1ICswMTAw CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb3JrLWRldGFjaC5leHAgYi9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcmstZGV0YWNoLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAwMDAuLjFmMWZjZWY2YzQKKy0tLSAvZGV2L251bGwKKysrKyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvZm9yay1kZXRhY2guZXhwCiBAQCAtMCwwICsxLDM2IEBACiAr IyBDb3B5cmlnaHQgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEx MywzOCArMTYxLDYgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvZm9yay1kZXRhY2guZXhwCiArZ2RiX3Rlc3QgIiIgXAogKyAgICAgICAgICJEZXRh Y2hpbmcgYWZ0ZXIgZm9yayBmcm9tIGNoaWxkIHByb2Nlc3MuKlxcXFtJbmZlcmlvciAuKiBleGl0 ZWQgbm9ybWFsbHlcXFxdIiBcCiArICAgICAgICAgIkluZm8gbWVzc2FnZSBjYXVnaHQiCi1JbmRl eDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL2luZnJ1bi5jCi09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTAuOTAuMjAxNjAyMTEub3JpZy9nZGIvaW5mcnVuLmMJMjAxNi0wMi0xNSAyMzoyNTowMS40 MzIzNTAyODkgKzAxMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvaW5mcnVuLmMJMjAx Ni0wMi0xNSAyMzoyNzo0OS4yNzQ1NDE5ODYgKzAxMDAKLUBAIC00NzgsNyArNDc4LDcgQEAKLSAJ ICAgICAgcmVtb3ZlX2JyZWFrcG9pbnRzX3BpZCAocHRpZF9nZXRfcGlkIChpbmZlcmlvcl9wdGlk KSk7Ci0gCSAgICB9Ci0gCi0tCSAgaWYgKGluZm9fdmVyYm9zZSB8fCBkZWJ1Z19pbmZydW4pCi0r CSAgaWYgKDEgLyogRmVkb3JhIEJ1ZyAyMzUxOTcgKi8gfHwgaW5mb192ZXJib3NlIHx8IGRlYnVn X2luZnJ1bikKLSAJICAgIHsKLSAJICAgICAgLyogRW5zdXJlIHRoYXQgd2UgaGF2ZSBhIHByb2Nl c3MgcHRpZC4gICovCi0gCSAgICAgIHB0aWRfdCBwcm9jZXNzX3B0aWQgPSBwaWRfdG9fcHRpZCAo cHRpZF9nZXRfcGlkIChjaGlsZF9wdGlkKSk7Ci1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jYXRjaC1zeXNjYWxsLmV4cAotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjEwLjkwLjIwMTYwMjExLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jYXRjaC1z eXNjYWxsLmV4cAkyMDE2LTAyLTE1IDIzOjI1OjAxLjQzMjM1MDI4OSArMDEwMAotKysrIGdkYi03 LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2F0Y2gtc3lzY2FsbC5leHAJ MjAxNi0wMi0xNSAyMzoyNTozNi42ODk2MDA2MTkgKzAxMDAKLUBAIC0xNjUsNyArMTY1LDcgQEAK LSAgICAgIyBEZWxldGluZyB0aGUgY2F0Y2hwb2ludHMKLSAgICAgZGVsZXRlX2JyZWFrcG9pbnRz Ci0gCi0tICAgIGdkYl9jb250aW51ZV90b19lbmQKLSsgICAgZ2RiX2NvbnRpbnVlX3RvX2VuZCAi IiBjb250aW51ZSAxCi0gfQotIAotIHByb2MgdGVzdF9jYXRjaF9zeXNjYWxsX3dpdGhvdXRfYXJn cyB7fSB7Ci1AQCAtMjM2LDcgKzIzNiw3IEBACi0gCSMgSWYgaXQgZG9lc24ndCwgZXZlcnl0aGlu ZyBpcyByaWdodCAoc2luY2Ugd2UgZG9uJ3QgaGF2ZQotIAkjIGEgc3lzY2FsbCBuYW1lZCAibWxv Y2siIGluIGl0KS4gIE90aGVyd2lzZSwgdGhpcyBpcyBhIGZhaWx1cmUuCi0gCXNldCB0aGlzdGVz dCAiY2F0Y2ggc3lzY2FsbCB3aXRoIHVudXNlZCBzeXNjYWxsICgkc3lzY2FsbF9uYW1lKSIKLS0J Z2RiX2NvbnRpbnVlX3RvX2VuZCAkdGhpc3Rlc3QKLSsJZ2RiX2NvbnRpbnVlX3RvX2VuZCAkdGhp c3Rlc3QgY29udGludWUgMQotICAgICB9Ci0gfQotIAorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdp dCBhL2dkYi02LjYtYnoyMzc1NzItcHBjLWF0b21pYy1zZXF1ZW5jZS10ZXN0LnBhdGNoIGIvZ2Ri LTYuNi1iejIzNzU3Mi1wcGMtYXRvbWljLXNlcXVlbmNlLXRlc3QucGF0Y2gKaW5kZXggMGMzNDJj Zi4uZTFjYzY5MCAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1iejIzNzU3Mi1wcGMtYXRvbWljLXNlcXVl bmNlLXRlc3QucGF0Y2gKKysrIGIvZ2RiLTYuNi1iejIzNzU3Mi1wcGMtYXRvbWljLXNlcXVlbmNl LXRlc3QucGF0Y2gKQEAgLTEsMTkgKzEsMjkgQEAKK0Zyb20gNzQxMzU1M2JjYzgwM2ZkNmM5YWMx ZDY0N2RmMmU0Zjg3MjE0YTY5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEphbiBL cmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgogRGF0ZTogRnJpLCAyNyBPY3Qg MjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuNi1iejIzNzU3Mi1wcGMtYXRvbWlj LXNlcXVlbmNlLXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjYtYnoyMzc1NzItcHBjLWF0 b21pYy1zZXF1ZW5jZS10ZXN0LnBhdGNoCiAKKzs7IFN1cHBvcnQgZm9yIHN0ZXBwaW5nIG92ZXIg UFBDIGF0b21pYyBpbnN0cnVjdGlvbiBzZXF1ZW5jZXMgKEJaIDIzNzU3MikuCis7Oz1mZWRvcmF0 ZXN0CiAKIDIwMDctMDYtMjUgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0 LmNvbT4KIAogCSogZ2RiLnRocmVhZHMvYXRvbWljLXNlcS10aHJlYWRlZC5jLAogCWdkYi50aHJl YWRzL2F0b21pYy1zZXEtdGhyZWFkZWQuZXhwOiBOZXcgZmlsZXMuCistLS0KKyBnZGIvdGVzdHN1 aXRlL2dkYi50aHJlYWRzL2F0b21pYy1zZXEtdGhyZWFkZWQuYyAgIHwgMTcxICsrKysrKysrKysr KysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0b21pYy1zZXEtdGhyZWFk ZWQuZXhwIHwgIDg0ICsrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAyNTUgaW5zZXJ0aW9u cygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0b21p Yy1zZXEtdGhyZWFkZWQuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi50 aHJlYWRzL2F0b21pYy1zZXEtdGhyZWFkZWQuZXhwCiAKLUluZGV4OiBnZGItNi44LjUwLjIwMDgx MTI4L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXRvbWljLXNlcS10aHJlYWRlZC5jCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTYuOC41MC4yMDA4MTEyOC9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0b21p Yy1zZXEtdGhyZWFkZWQuYwkyMDA4LTEyLTA4IDIyOjI3OjAxLjAwMDAwMDAwMCArMDEwMAorZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXRvbWljLXNlcS10aHJlYWRlZC5j IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9hdG9taWMtc2VxLXRocmVhZGVkLmMKK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4wNGY5OThiZmE2CistLS0gL2Rldi9u dWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0b21pYy1zZXEtdGhyZWFkZWQu YwogQEAgLTAsMCArMSwxNzEgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0 aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTg2LDEwICsxOTYsMTEgQEAgSW5kZXg6IGdkYi02Ljgu NTAuMjAwODExMjgvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9hdG9taWMtc2VxLXRocmVhZGVk LmMKICsKICsgIHJldHVybiAwOwkJCQkJCS8qIF9leGl0XyAqLwogK30KLUluZGV4OiBnZGItNi44 LjUwLjIwMDgxMTI4L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXRvbWljLXNlcS10aHJlYWRl ZC5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAw MDAwMDAgKzAwMDAKLSsrKyBnZGItNi44LjUwLjIwMDgxMTI4L2dkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvYXRvbWljLXNlcS10aHJlYWRlZC5leHAJMjAwOC0xMi0wOCAyMjozMTowMS4wMDAwMDAw MDAgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0b21pYy1z ZXEtdGhyZWFkZWQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9hdG9taWMtc2VxLXRo cmVhZGVkLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmViNDlk YjUwNmUKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXRv bWljLXNlcS10aHJlYWRlZC5leHAKIEBAIC0wLDAgKzEsODQgQEAKICsjIGF0b21pYy1zZXEtdGhy ZWFkZWQuZXhwIC0tIFRlc3QgY2FzZSBmb3Igc3RlcHBpbmcgb3ZlciBSSVNDIGF0b21pYyBjb2Rl IHNlcXMuCiArIyBUaGlzIHZhcmlhbnQgdGVzdGNhc2VzIHRoZSBjb2RlIGZvciBzdGVwcGluZyBh bm90aGVyIHRocmVhZCB3aGlsZSBza2lwcGluZwpAQCAtMjc1LDMgKzI4Niw2IEBAIEluZGV4OiBn ZGItNi44LjUwLjIwMDgxMTI4L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXRvbWljLXNlcS10 aHJlYWRlZC5leHAKICtnZGJfdGVzdCAiYyIgXAogKwkgIi4qUHJvZ3JhbSBleGl0ZWQgbm9ybWFs bHlcXC4uKiIgXAogKwkgInJ1biB0aWxsIHByb2dyYW0gZXhpdCIKKy0tIAorMi4xNC4zCisKCmRp ZmYgLS1naXQgYS9nZGItNi42LXNjaGVkdWxlcl9sb2NraW5nLXN0ZXAtaXMtZGVmYXVsdC5wYXRj aCBiL2dkYi02LjYtc2NoZWR1bGVyX2xvY2tpbmctc3RlcC1pcy1kZWZhdWx0LnBhdGNoCmluZGV4 IGQxYmIzYTEuLjc4ZTNjZDkgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtc2NoZWR1bGVyX2xvY2tpbmct c3RlcC1pcy1kZWZhdWx0LnBhdGNoCisrKyBiL2dkYi02LjYtc2NoZWR1bGVyX2xvY2tpbmctc3Rl cC1pcy1kZWZhdWx0LnBhdGNoCkBAIC0xLDE1ICsxLDI1IEBACitGcm9tIDBiYmE3MjAzNjg1ZmVm OGM1YzE5YjhjOWY1NDg2MTFiNzgxMzhmMWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9t OiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBP Y3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuNi1zY2hlZHVsZXJfbG9ja2lu Zy1zdGVwLWlzLWRlZmF1bHQucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjYtc2NoZWR1bGVyX2xv Y2tpbmctc3RlcC1pcy1kZWZhdWx0LnBhdGNoCiAKKzs7IE1ha2UgdXBzdHJlYW0gYHNldCBzY2hl ZHVsZXItbG9ja2luZyBzdGVwJyBhcyBkZWZhdWx0LgorOzs9cHVzaCtqYW46IEhvdyBtdWNoIGlz IHNjaGVkdWxlci1sb2NraW5nIHJlbGV2YW50IGFmdGVyIG5vbi1zdG9wPworLS0tCisgZ2RiL2lu ZnJ1bi5jICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBnZGIvdGVzdHN1aXRlL2dk Yi5taS9taS1jbGkuZXhwICAgICAgIHwgMiArLQorIGdkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLWNv bnNvbGUuZXhwICAgfCAzICsrKworIGdkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLWxvZ2dpbmcuZXhw ICAgfCA0ICsrLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5vcHQvaW5saW5lLWNtZHMuZXhwIHwgMiAr LQorIDUgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQogCi1J bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2luZnJ1bi5jCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvaW5mcnVuLmMJMjAxNy0wMi0wNyAyMTowNzo0 MC4zMjEyMDI0NDggKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvaW5mcnVuLmMJ MjAxNy0wMi0wNyAyMTowNzo0Mi42ODAyMjAzNjUgKzAxMDAKLUBAIC0yMjE4LDcgKzIyMTgsNyBA QAorZGlmZiAtLWdpdCBhL2dkYi9pbmZydW4uYyBiL2dkYi9pbmZydW4uYworaW5kZXggYThhMjZm YzM2ZC4uZGI3NDJmNzM5OCAxMDA2NDQKKy0tLSBhL2dkYi9pbmZydW4uYworKysrIGIvZ2RiL2lu ZnJ1bi5jCitAQCAtMjIwMiw3ICsyMjAyLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHNj aGVkdWxlcl9lbnVtc1tdID0gewogICAgc2NoZWRsb2NrX3JlcGxheSwKICAgIE5VTEwKICB9OwpA QCAtMTgsMTEgKzI4LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvaW5mcnVu LmMKICBzdGF0aWMgdm9pZAogIHNob3dfc2NoZWR1bGVyX21vZGUgKHN0cnVjdCB1aV9maWxlICpm aWxlLCBpbnQgZnJvbV90dHksCiAgCQkgICAgIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpjLCBj b25zdCBjaGFyICp2YWx1ZSkKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1 aXRlL2dkYi5taS9taS1jbGkuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAy MDcub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS1jbGkuZXhwCTIwMTctMDItMDcgMjE6MDc6 NDAuMzIyMjAyNDU1ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0 ZS9nZGIubWkvbWktY2xpLmV4cAkyMDE3LTAyLTA3IDIxOjA3OjQyLjY4MDIyMDM2NSArMDEwMAot QEAgLTE5OSw3ICsxOTksNyBAQAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21p LWNsaS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS1jbGkuZXhwCitpbmRleCAzYTllMWMz NTRmLi4wZjM5ODI3NmU5IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktY2xp LmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktY2xpLmV4cAorQEAgLTE5OSw3ICsx OTksNyBAQCBtaV9leHBlY3Rfc3RvcCAiYnJlYWtwb2ludC1oaXQiICJtYWluIiAiIiAiLipiYXNp Y3MuYyIgXAogICMgVGVzdCB0aGF0IHRoZSB0b2tlbiBpcyBvdXRwdXQgZXZlbiBmb3IgQ0xJIGNv bW1hbmRzCiAgIyBBbHNvIHRlc3QgdGhhdCAqc3RvcHBlZCBpbmNsdWRlcyBmcmFtZSBpbmZvcm1h dGlvbi4KICBtaV9nZGJfdGVzdCAiMzQgbmV4dCIgXApAQCAtMzEsMTEgKzQxLDI1IEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS1jbGkuZXhwCiAg ICAgICIzNCBuZXh0OiBydW4iCiAgCiAgIyBUZXN0IHRoYXQgdGhlIG5ldyBjdXJyZW50IHNvdXJj ZSBsaW5lIGlzIG91dHB1dCB0byB0aGUgY29uc29sZQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLWxvZ2dpbmcuZXhwCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS1sb2dnaW5n LmV4cAkyMDE3LTAyLTA3IDIxOjA3OjQyLjY4MTIyMDM3MiArMDEwMAotKysrIGdkYi03LjEyLjUw LjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLWxvZ2dpbmcuZXhwCTIwMTctMDItMDcg MjE6MDk6MzYuOTUwMDg4MjY5ICswMTAwCi1AQCAtNTMsNyArNTMsNyBAQAorZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLWNvbnNvbGUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu bWkvbWktY29uc29sZS5leHAKK2luZGV4IGFlOTljOTNiOGEuLjM3OGEyNzQ5ZTQgMTAwNjQ0Cist LS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS1jb25zb2xlLmV4cAorKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIubWkvbWktY29uc29sZS5leHAKK0BAIC02MCw2ICs2MCw5IEBAIGlmICB7IFtnZGJf Y29tcGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5maWxlfSIgZXhl Y3V0YWJsZSB7ZGViCisgCisgbWlfcnVuX3RvX21haW4KKyAKKysjIHRocmVhZC1pZD1cImFsbFwi IHZzLiB0aHJlYWQtaWQ9XCIxXCIgYmVsb3c6CisrbWlfZ2RiX3Rlc3QgIjIxMC1nZGItc2V0IHNj aGVkdWxlci1sb2NraW5nIG9mZiIgIjIxMFxcXmRvbmUiICJzZXQgc2NoZWR1bGVyLWxvY2tpbmcg b2ZmIgorKworICMgVGhlIG91dHB1dCB3ZSBnZXQgZnJvbSB0aGUgdGFyZ2V0IGRlcGVuZHMgb24g aG93IGl0IGlzIGhvc3RlZC4gIElmCisgIyB3ZSBhcmUgc2VtaWhvc3RlZCAoZS5nLiwgdGhlIHNp bSBvciBhIHJlbW90ZSB0YXJnZXQgdGhhdCBzdXBwb3J0cworICMgdGhlIEZpbGUgSS9PIHJlbW90 ZSBwcm90b2NvbCBleHRlbnNpb24pLCB3ZSBzZWUgdGhlIHRhcmdldCBJL08KK2RpZmYgLS1naXQg YS9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS1sb2dnaW5nLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2Ri Lm1pL21pLWxvZ2dpbmcuZXhwCitpbmRleCAwN2VhZmY5MGQxLi5hZTFhMGMxYjQxIDEwMDY0NAor LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktbG9nZ2luZy5leHAKKysrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLm1pL21pLWxvZ2dpbmcuZXhwCitAQCAtNTMsNyArNTMsNyBAQCBjbG9zZSAkY2hh bgogIAogIHNldCBtaV9sb2dfcHJvbXB0ICJcWyhcXWdkYlxbKVxdIFxbXHJcblxdKyIKICAKQEAg LTQ0LDcgKzY4LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUv Z2RiLm1pL21pLWxvZ2dpbmcuZXhwCiAgICAgIHBhc3MgImxvZyBmaWxlIGNvbnRlbnRzIgogIH0g ZWxzZSB7CiAgICAgIGZhaWwgImxvZyBmaWxlIGNvbnRlbnRzIgotQEAgLTc2LDcgKzc2LDcgQEAK K0BAIC03Niw3ICs3Niw3IEBAIHNldCBjaGFuIFtvcGVuICRtaWxvZ2ZpbGVdCiAgc2V0IGxvZ2Nv bnRlbnQgW3JlYWQgJGNoYW5dCiAgY2xvc2UgJGNoYW4KICAKQEAgLTUzLDI1ICs3NywxMSBAQCBJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktbG9nZ2lu Zy5leHAKICAgICAgcGFzcyAicmVkaXJlY3QgbG9nIGZpbGUgY29udGVudHMiCiAgfSBlbHNlIHsK ICAgICAgZmFpbCAicmVkaXJlY3QgbG9nIGZpbGUgY29udGVudHMiCi1JbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktY29uc29sZS5leHAKLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21p LWNvbnNvbGUuZXhwCTIwMTctMDItMDcgMjE6MDc6NDAuMzIzMjAyNDYzICswMTAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktY29uc29sZS5leHAJMjAx Ny0wMi0wNyAyMTowNzo0Mi42ODEyMjAzNzIgKzAxMDAKLUBAIC02MCw2ICs2MCw5IEBACi0gCi0g bWlfcnVuX3RvX21haW4KLSAKLSsjIHRocmVhZC1pZD1cImFsbFwiIHZzLiB0aHJlYWQtaWQ9XCIx XCIgYmVsb3c6Ci0rbWlfZ2RiX3Rlc3QgIjIxMC1nZGItc2V0IHNjaGVkdWxlci1sb2NraW5nIG9m ZiIgIjIxMFxcXmRvbmUiICJzZXQgc2NoZWR1bGVyLWxvY2tpbmcgb2ZmIgotKwotICMgVGhlIG91 dHB1dCB3ZSBnZXQgZnJvbSB0aGUgdGFyZ2V0IGRlcGVuZHMgb24gaG93IGl0IGlzIGhvc3RlZC4g IElmCi0gIyB3ZSBhcmUgc2VtaWhvc3RlZCAoZS5nLiwgdGhlIHNpbSBvciBhIHJlbW90ZSB0YXJn ZXQgdGhhdCBzdXBwb3J0cwotICMgdGhlIEZpbGUgSS9PIHJlbW90ZSBwcm90b2NvbCBleHRlbnNp b24pLCB3ZSBzZWUgdGhlIHRhcmdldCBJL08KLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvdGVzdHN1aXRlL2dkYi5vcHQvaW5saW5lLWNtZHMuZXhwCi09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvaW5saW5lLWNtZHMu ZXhwCTIwMTctMDItMDcgMjE6MDc6NDAuMzIzMjAyNDYzICswMTAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2lubGluZS1jbWRzLmV4cAkyMDE3LTAyLTA3 IDIxOjA3OjQyLjY4MTIyMDM3MiArMDEwMAotQEAgLTMzMSw3ICszMzEsNyBAQAorZGlmZiAtLWdp dCBhL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9pbmxpbmUtY21kcy5leHAgYi9nZGIvdGVzdHN1aXRl L2dkYi5vcHQvaW5saW5lLWNtZHMuZXhwCitpbmRleCA4YmQ5MmMyZDU5Li5lNjlmM2Q0YmJmIDEw MDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2lubGluZS1jbWRzLmV4cAorKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2lubGluZS1jbWRzLmV4cAorQEAgLTMzMSw3ICszMzEsNyBA QCBwcm9jIG1pX2NsaV9zdGVwIHtjbGlfb3V0cHV0X3JlIG1lc3NhZ2V9IHsKICAKICAgICAgc2Vu ZF9nZGIgImludGVycHJldGVyLWV4ZWMgY29uc29sZSBcInN0ZXBcIlxuIgogICAgICBnZGJfZXhw ZWN0IHsKQEAgLTgwLDMgKzkwLDYgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90 ZXN0c3VpdGUvZ2RiLm9wdC9pbmxpbmUtY21kcy5leHAKICAJICAgIHBhc3MgJG1lc3NhZ2UKICAJ fQogIAl0aW1lb3V0IHsKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi42LXRlc3Rz dWl0ZS10aW1lb3V0cy5wYXRjaCBiL2dkYi02LjYtdGVzdHN1aXRlLXRpbWVvdXRzLnBhdGNoCmlu ZGV4IGUzNmJkYTUuLjYzOTI0YzUgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtdGVzdHN1aXRlLXRpbWVv dXRzLnBhdGNoCisrKyBiL2dkYi02LjYtdGVzdHN1aXRlLXRpbWVvdXRzLnBhdGNoCkBAIC0xLDE1 ICsxLDIyIEBACitGcm9tIGM3MDZkNDExMTliNmU4ZmY4NDE0YTU2Zjc1MjhlOGVjNTMxN2ViZTgg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFs aWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3Vi amVjdDogZ2RiLTYuNi10ZXN0c3VpdGUtdGltZW91dHMucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02 LjYtdGVzdHN1aXRlLXRpbWVvdXRzLnBhdGNoCiAKKzs7IEF2b2lkIHRvbyBsb25nIHRpbWVvdXRz IG9uIGZhaWxpbmcgY2FzZXMgb2YgImFubm90YTEuZXhwIGFubm90YTMuZXhwIi4KKzs7PWZlZG9y YXRlc3QKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYW5ub3RhMS5leHAgfCAyICsrCisg Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5vdGEzLmV4cCB8IDIgKysKKyAyIGZpbGVzIGNoYW5n ZWQsIDQgaW5zZXJ0aW9ucygrKQogCi1JbmRleDogZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5vdGExLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjYu NTAuMjAxMzA3MzEtY3ZzLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5vdGExLmV4cAky MDEzLTA4LTAyIDE2OjIzOjI2LjU1OTkzNjI1OCArMDIwMAotKysrIGdkYi03LjYuNTAuMjAxMzA3 MzEtY3ZzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYW5ub3RhMS5leHAJMjAxMy0wOC0wMiAxNjoy Mzo1Ni41OTA5NzY0MTggKzAyMDAKLUBAIC00MSw2ICs0MSw4IEBAIGlmICB7IFtnZGJfY29tcGls ZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2Fubm90YTEuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5vdGExLmV4cAoraW5k ZXggYmIzZGMyZmZhZS4uNzA4MGYyNjRmYyAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvYW5ub3RhMS5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYW5ub3RhMS5l eHAKK0BAIC0zOSw2ICszOSw4IEBAIGlmICB7IFtnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7c3Vi ZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5maWxlfSIgZXhlY3V0YWJsZSB7ZGViCiAgCiAgY2xlYW5f cmVzdGFydCAke2JpbmZpbGV9CiAgCkBAIC0xOCwxMSArMjUsMTEgQEAgSW5kZXg6IGdkYi03LjYu NTAuMjAxMzA3MzEtY3ZzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYW5ub3RhMS5leHAKICAjIFRo ZSBjb21tYW5kcyB3ZSB0ZXN0IGhlcmUgcHJvZHVjZSBtYW55IGxpbmVzIG9mIG91dHB1dDsgZGlz YWJsZSAicHJlc3MgCiAgIyA8cmV0dXJuPiB0byBjb250aW51ZSIgcHJvbXB0cy4KICBnZGJfdGVz dF9ub19vdXRwdXQgInNldCBoZWlnaHQgMCIKLUluZGV4OiBnZGItNy42LjUwLjIwMTMwNzMxLWN2 cy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Fubm90YTMuZXhwCi09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuNi41MC4yMDEzMDczMS1jdnMub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Fubm90YTMu ZXhwCTIwMTMtMDgtMDIgMTY6MjM6MjYuNTYwOTM2MjU5ICswMjAwCi0rKysgZ2RiLTcuNi41MC4y MDEzMDczMS1jdnMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5vdGEzLmV4cAkyMDEzLTA4LTAy IDE2OjI0OjExLjY1NDk5NjI2NyArMDIwMAotQEAgLTQwLDYgKzQwLDggQEAgaWYgIHsgW2dkYl9j b21waWxlICIke3NyY2Rpcn0vJHtzdWJkaXJ9LworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvYW5ub3RhMy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Fubm90YTMuZXhw CitpbmRleCA1YTk3MWYwMDE4Li4wZWU1YzM1NWRiIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9hbm5vdGEzLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5v dGEzLmV4cAorQEAgLTM4LDYgKzM4LDggQEAgaWYgIHsgW2dkYl9jb21waWxlICIke3NyY2Rpcn0v JHtzdWJkaXJ9LyR7c3JjZmlsZX0iICIke2JpbmZpbGV9IiBleGVjdXRhYmxlIHtkZWIKICAKICBj bGVhbl9yZXN0YXJ0ICR7YmluZmlsZX0KICAKQEAgLTMxLDMgKzM4LDYgQEAgSW5kZXg6IGdkYi03 LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYW5ub3RhMy5leHAKICAj IFRoZSBjb21tYW5kcyB3ZSB0ZXN0IGhlcmUgcHJvZHVjZSBtYW55IGxpbmVzIG9mIG91dHB1dDsg ZGlzYWJsZSAicHJlc3MgCiAgIyA8cmV0dXJuPiB0byBjb250aW51ZSIgcHJvbXB0cy4KICBnZGJf dGVzdF9ub19vdXRwdXQgInNldCBoZWlnaHQgMCIKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQg YS9nZGItNi42LXRocmVhZHMtc3RhdGljLXRlc3QucGF0Y2ggYi9nZGItNi42LXRocmVhZHMtc3Rh dGljLXRlc3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlkZTg1ODcuLjAw MDAwMDAKLS0tIGEvZ2RiLTYuNi10aHJlYWRzLXN0YXRpYy10ZXN0LnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMjUgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVt YWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6 IGdkYi02LjYtdGhyZWFkcy1zdGF0aWMtdGVzdC5wYXRjaAotCi1GaWxlTmFtZTogZ2RiLTYuNi10 aHJlYWRzLXN0YXRpYy10ZXN0LnBhdGNoCi0KLQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc3RhdGljdGhyZWFkcy5leHAKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv c3RhdGljdGhyZWFkcy5leHAJMjAxNy0wMi0yNiAxNzoyNDo0OC4zOTIzMTYwNDUgKzAxMDAKLSsr KyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3N0YXRpY3Ro cmVhZHMuZXhwCTIwMTctMDItMjYgMTc6MjU6MzguNjQ5Njc3NTk1ICswMTAwCi1AQCAtNDEsNiAr NDEsMTMgQEAKLSAjIFNlZSBpZiB0aGUgc3RhdGljIG11bHRpLXRocmVhZGVkIHByb2dyYW0gcnVu cy4KLSAKLSBydW50b19tYWluCi0rCi0rIyBTZWUgaWYgd2UgZ2V0IGV4Y2Vzc2l2ZSBMV1AgdGhl cmUgKHBhdGNoZWQgZ2xpYmMgd2l0aCB1bnBhdGNoZWQgR0RCKToKLSsjICogMiBUaHJlYWQgMTM1 NjYxNjY0IChMV1AgMzg1NikgIG1haW4gKCkgYXQgdGhyZWFkbG9vcC5jOjQxCi0rIyAgIDEgcHJv Y2VzcyAzODU2ICBtYWluICgpIGF0IHRocmVhZGxvb3AuYzo0MQotKwotK2dkYl90ZXN0ICJpbmZv IHRocmVhZHMiICJeaW5mbyB0aHJlYWRzXHJcblxbIFx0XF0qSWRcWyBcdFxdK1RhcmdldCBJZFxb IFx0XF0rRnJhbWVcWyBcdFxdKlxyXG5cW15cclxuXF0qIFRocmVhZCBcW15cclxuXF0qIiAiaW5m byB0aHJlYWRzIG9uIHN0YXJ0IgotKwotIGdkYl90ZXN0ICJicmVhayBzZW1fcG9zdCIKLSBzZXQg dGVzdCAiY29udGludWUgdG8gbWFpbidzIGNhbGwgb2Ygc2VtX3Bvc3QiCi0gZ2RiX3Rlc3RfbXVs dGlwbGUgImNvbnRpbnVlIiAiJHRlc3QiIHsKCmRpZmYgLS1naXQgYS9nZGItNi43LWNoYXJzaWdu LXRlc3QucGF0Y2ggYi9nZGItNi43LWNoYXJzaWduLXRlc3QucGF0Y2gKaW5kZXggMDliZDkyMy4u ZDc4NzAxMiAxMDA2NDQKLS0tIGEvZ2RiLTYuNy1jaGFyc2lnbi10ZXN0LnBhdGNoCisrKyBiL2dk Yi02LjctY2hhcnNpZ24tdGVzdC5wYXRjaApAQCAtMSw5ICsxLDEzIEBACitGcm9tIDc3ODE0YWI0 NmEwYjc3YTQ1YTY4ZjJmZWZlMzAwZWJjODk3ZjAzMjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CiBGcm9tOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIERhdGU6 IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjctY2hhcnNp Z24tdGVzdC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuNy1jaGFyc2lnbi10ZXN0LnBhdGNoCiAK Kzs7IEZpeCBkaXNwbGF5aW5nIG9mIG51bWVyaWMgY2hhciBhcnJheXMgYXMgc3RyaW5ncyAoQlog MjI0MTI4KS4KKzs7PWZlZG9yYXRlc3Q6IEJ1dCBpdCBpcyBmYWlsaW5nIGFueXdheSwgb25lIHNo b3VsZCBjaGVjayB0aGUgYmVoYXZpb3IgbW9yZS4KKwogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQu Y29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yMjQxMjgKIAogMjAwNy0wMS0yNSAgSmFuIEty YXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CkBAIC0xNSwxMSArMTksMTggQEAg aHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yMjQx MjgKIAogCVBvcnQgdG8gR0RCLTYuNyAtIG9ubHkgdGhlIHRlc3RjYXNlIGxlZnQsIHBhdGNoIGhh cyBiZWVuIHJldmVydGVkLAogCWNoYXItdmVjdG9ycyByZXN0cmljdGVkLgorLS0tCisgZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9jaGFyc2lnbi5jICAgfCAzNyArKysrKysrKysrKysrKysrKysrKysr CisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jaGFyc2lnbi5leHAgfCA2MyArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAxMDAgaW5zZXJ0aW9u cygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NoYXJzaWdu LmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jaGFyc2lnbi5l eHAKIAotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv Y2hhcnNpZ24uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAw LjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvY2hhcnNpZ24uYwkyMDE2LTAyLTE1IDIzOjI2OjA2LjQyOTgxMTc3OCArMDEwMAor ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2hhcnNpZ24uYyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvY2hhcnNpZ24uYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAw MDAwMDAwMDAuLjQxZDE3NWZmOWQKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvY2hhcnNpZ24uYwogQEAgLTAsMCArMSwzNyBAQAogKy8qIFRoaXMgdGVzdGNhc2Ug aXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC01OCwxMCArNjksMTEgQEAg SW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2hhcnNp Z24uYwogK2NoYXJfbiBuX3R5cGVkW109IkEiOwogK2NoYXJfcyBzX3R5cGVkW109IkEiOwogK2No YXJfdSB1X3R5cGVkW109IkEiOwotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvY2hhcnNpZ24uZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5 NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAy MTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jaGFyc2lnbi5leHAJMjAxNi0wMi0xNSAyMzoyNjox Mi40MDk4NTQyMzcgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2No YXJzaWduLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2hhcnNpZ24uZXhwCituZXcgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYjVmYTU4MDQ5MAorLS0tIC9kZXYvbnVs bAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jaGFyc2lnbi5leHAKIEBAIC0wLDAgKzEs NjMgQEAKICsjIENvcHlyaWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KwpAQCAtMTI2LDMgKzEzOCw2IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2NoYXJzaWduLmV4cAogK2RvX3Rlc3Qge30KICtkb190ZXN0IHstZnNp Z25lZC1jaGFyfQogK2RvX3Rlc3Qgey1mdW5zaWduZWQtY2hhcn0KKy0tIAorMi4xNC4zCisKCmRp ZmYgLS1naXQgYS9nZGItNi43LXBwYy1jbG9iYmVyZWQtcmVnaXN0ZXJzLU8yLXRlc3QucGF0Y2gg Yi9nZGItNi43LXBwYy1jbG9iYmVyZWQtcmVnaXN0ZXJzLU8yLXRlc3QucGF0Y2gKaW5kZXggZWIz NmFhNC4uMjRjMTZhOCAxMDA2NDQKLS0tIGEvZ2RiLTYuNy1wcGMtY2xvYmJlcmVkLXJlZ2lzdGVy cy1PMi10ZXN0LnBhdGNoCisrKyBiL2dkYi02LjctcHBjLWNsb2JiZXJlZC1yZWdpc3RlcnMtTzIt dGVzdC5wYXRjaApAQCAtMSw5ICsxLDEyIEBACitGcm9tIGUxOTQwNjk1ZGIwZTE4NWZmOWU2Njk2 YWVjYWU1NzUxMGY5M2QwOWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKYW4gS3Jh dG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIw MTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjctcHBjLWNsb2JiZXJlZC1yZWdpc3Rl cnMtTzItdGVzdC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuNy1wcGMtY2xvYmJlcmVkLXJlZ2lz dGVycy1PMi10ZXN0LnBhdGNoCiAKKzs7IFRlc3QgUFBDIGhpZGluZyBvZiBjYWxsLXZvbGF0aWxl IHBhcmFtZXRlciByZWdpc3Rlci4KKzs7PWZlZG9yYXRlc3QKIAogMjAwNy0xMS0wNCAgSmFuIEty YXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgogCkBAIC0xOSw5ICsyMiwxOCBA QCBodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAwNy0wOS9tc2cwMDIyOC5o dG1sCiAJKiByczYwMDAtdGRlcC5jIChwcGNfZHdhcmYyX2ZyYW1lX2luaXRfcmVnKTogTmV3IGZ1 bmN0aW9uLgogCSogKHJzNjAwMF9nZGJhcmNoX2luaXQpOiBJbnN0YWxsIHBwY19kd2FyZjJfZnJh bWVfaW5pdF9yZWcgYXMKIAlkZWZhdWx0IGR3YXJmMl9mcmFtZV9zZXRfaW5pdF9yZWcgZnVuY3Rp b24uCistLS0KKyAuLi4vZ2RiLmFyY2gvcHBjLWNsb2JiZXJlZC1yZWdpc3RlcnMtTzIuYyAgICAg ICAgICB8IDIxICsrKysrKysrKworIC4uLi9nZGIuYXJjaC9wcGMtY2xvYmJlcmVkLXJlZ2lzdGVy cy1PMi5leHAgICAgICAgIHwgNTQgKysrKysrKysrKysrKysrKysrKysrKworIDIgZmlsZXMgY2hh bmdlZCwgNzUgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRl L2dkYi5hcmNoL3BwYy1jbG9iYmVyZWQtcmVnaXN0ZXJzLU8yLmMKKyBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wcGMtY2xvYmJlcmVkLXJlZ2lzdGVycy1PMi5leHAK IAotLS0tIC9kZXYvbnVsbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCi0rKysgLi9nZGIvdGVz dHN1aXRlL2dkYi5hcmNoL3BwYy1jbG9iYmVyZWQtcmVnaXN0ZXJzLU8yLmMJMyBOb3YgMjAwNyAy MjoyMjoyOCAtMDAwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcHBjLWNs b2JiZXJlZC1yZWdpc3RlcnMtTzIuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcHBjLWNsb2Ji ZXJlZC1yZWdpc3RlcnMtTzIuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAw MDAuLjY5OGZmOGEwYjUKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFy Y2gvcHBjLWNsb2JiZXJlZC1yZWdpc3RlcnMtTzIuYwogQEAgLTAsMCArMSwyMSBAQAogKwogK3Vu c2lnbmVkICogX19hdHRyaWJ1dGVfXygobm9pbmxpbmUpKQpAQCAtNDQsOCArNTYsMTEgQEAgaHR0 cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMDctMDkvbXNnMDAyMjguaHRtbAog KyAgeSA9IDE0OwogKyAgcmV0dXJuIChpbnQpZ2VuX21vdnNkICgmeCwgJnkpOwogK30KLS0tLSAv ZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAotKysrIC4vZ2RiL3Rlc3RzdWl0ZS9n ZGIuYXJjaC9wcGMtY2xvYmJlcmVkLXJlZ2lzdGVycy1PMi5leHAJMyBOb3YgMjAwNyAyMjoyMjoy OCAtMDAwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcHBjLWNsb2JiZXJl ZC1yZWdpc3RlcnMtTzIuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wcGMtY2xvYmJlcmVk LXJlZ2lzdGVycy1PMi5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAw Li5jOWViZDBlNTIyCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNo L3BwYy1jbG9iYmVyZWQtcmVnaXN0ZXJzLU8yLmV4cAogQEAgLTAsMCArMSw1NCBAQAogKyMgQ29w eXJpZ2h0IDIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIwpAQCAtMTAxLDMg KzExNiw2IEBAIGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDA3LTA5L21z ZzAwMjI4Lmh0bWwKICsKICtnZGJfdGVzdCBiYWNrdHJhY2UgIi4qb3BlcmFuZDA9PHZhbHVlIG9w dGltaXplZCBvdXQ+LipvcGVyYW5kMT08dmFsdWUgb3B0aW1pemVkIG91dD4uKiIgXAogKyAgIkNo ZWNrIHZhbHVlIG9mIGNhbGwgY2xvYmJlcmVkIHJlZ2lzdGVycyIKKy0tIAorMi4xNC4zCisKCmRp ZmYgLS1naXQgYS9nZGItNi43LXRlc3RzdWl0ZS1zdGFibGUtcmVzdWx0cy5wYXRjaCBiL2dkYi02 LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1bHRzLnBhdGNoCmluZGV4IDkwNDM5NGQuLjQxNWY1OWIg MTAwNjQ0Ci0tLSBhL2dkYi02LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1bHRzLnBhdGNoCisrKyBi L2dkYi02LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1bHRzLnBhdGNoCkBAIC0xLDkgKzEsMTIgQEAK K0Zyb20gNGZiYWMyMDM5ODM2NTMyYjYyMWExYTBhYTY4NjE4NmUwZGI0YTBiYyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKIEZyb206IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRo YXQuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDog Z2RiLTYuNy10ZXN0c3VpdGUtc3RhYmxlLXJlc3VsdHMucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02 LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1bHRzLnBhdGNoCiAKKzs7IFRlc3RzdWl0ZSBmaXhlcyBm b3IgbW9yZSBzdGFibGUvY29tcGFyYWJsZSByZXN1bHRzLgorOzs9ZmVkb3JhdGVzdAogCiBnZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2ZpbGVpby5jOgogZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9maWxl aW8uZXhwOgpAQCAtMTUsMjMgKzE4LDI0IEBAIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZmlsZWlv LmV4cDoKIAkqIGdkYi5iYXNlL2ZpbGVpby5leHA6IENoYW5nZSB0aGUgc3RhcnR1cCBhbmQgZmlu aXNoIGNsZWFudXAuCiAJQ2hhbmdlIHRoZSB0ZXN0IGZpbGUgcmVmZXJlbmNlIHRvIGJlIGludG8g dGhlIGBmaWxlaW8uZGlyJyBkaXJlY3RvcnkuCiAKLQogc291cmNlcy9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2R1bXAuZXhwOgogRm91bmQgb24gUkhFTC01LnMzOTB4LgogCi0KIGdkYi02LjguNTAu MjAwOTAyMDkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdXh2LmV4cDoKIHJhbmRvbSBGQUlMOiBn ZGIuYmFzZS9hdXh2LmV4cDogbWF0Y2hpbmcgYXV4diBkYXRhIGZyb20gbGl2ZSBhbmQgZ2NvcmUK IAotCiBnZGItNi44LjUwLjIwMDkwMjA5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYW5ub3RhMS5l eHA6CiBmcmFtZXMtaW52YWxpZCBjYW4gaGFwcGVuIGFzeW5jaHJvbm91c2x5LgorLS0tCisgZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9maWxlaW8uYyAgIHwgMjIgKysrKysrKysrKysrKysrKysrKysr KworIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZmlsZWlvLmV4cCB8IDEzICsrKysrKy0tLS0tLS0K KyAyIGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCiAKLUlu ZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZpbGVpby5jCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuMTIub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZpbGVpby5jCTIwMTYt MDgtMDEgMTc6NTA6MjEuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9maWxlaW8uYwkyMDE2LTEwLTA3IDIyOjQ5OjIwLjY4OTM0NjkxNCArMDIwMAot QEAgLTU1Niw2ICs1NTYsMjggQEAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2ZpbGVpby5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9maWxlaW8uYworaW5kZXggN2Y0ODJh MzRkMy4uMWNhYWRiYWU4NCAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZmls ZWlvLmMKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZmlsZWlvLmMKK0BAIC01NjAsNiAr NTYwLDI4IEBAIHN0cmVycm5vIChpbnQgZXJyKQogIGludAogIG1haW4gKCkKICB7CkBAIC02MCwx MSArNjQsMTEgQEAgSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZmlsZWlv LmMKICAgIC8qIERvbid0IGNoYW5nZSB0aGUgb3JkZXIgb2YgdGhlIGNhbGxzLiAgVGhleSBwYXJ0 bHkgZGVwZW5kIG9uIGVhY2ggb3RoZXIgKi8KICAgIHRlc3Rfb3BlbiAoKTsKICAgIHRlc3Rfd3Jp dGUgKCk7Ci1JbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9maWxlaW8uZXhw Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Zp bGVpby5leHAJMjAxNi0wOC0wMSAxNzo1MDoyMS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4x Mi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZpbGVpby5leHAJMjAxNi0xMC0wNyAyMjo1NDo0NC42 ODAwNzE5MDYgKzAyMDAKLUBAIC0yNCw5ICsyNCw5IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9maWxlaW8uZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9maWxlaW8u ZXhwCitpbmRleCA5OWFmYWZmYjA1Li45MmU5NzQzYzc5IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9maWxlaW8uZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Zp bGVpby5leHAKK0BAIC0yNCw5ICsyNCw5IEBAIGlmIFt0YXJnZXRfaW5mbyBleGlzdHMgZ2RiLG5v ZmlsZWlvXSB7CiAgc3RhbmRhcmRfdGVzdGZpbGUKICAKICBpZiB7W2lzX3JlbW90ZSBob3N0XX0g ewpAQCAtNzYsNyArODAsNyBAQCBJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9maWxlaW8uZXhwCiAgfQogIAogIGlmICB7IFtnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7c3Vi ZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5maWxlfSIgXAotQEAgLTQ3LDcgKzQ3LDggQEAKK0BAIC00 Nyw3ICs0Nyw4IEBAIHNldCBkaXIyIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSBkaXIyLmZpbGVpby50 ZXN0XQogIGlmIHtbZmlsZSBleGlzdHMgJGRpcjJdICYmICFbZmlsZSB3cml0YWJsZSAkZGlyMl19 IHsKICAgICAgc3lzdGVtICJjaG1vZCArdyAkZGlyMiIKICB9CkBAIC04Niw3ICs5MCw3IEBAIElu ZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZpbGVpby5leHAKICAKICBzZXQg b2xkdGltZW91dCAkdGltZW91dAogIHNldCB0aW1lb3V0IFtleHByICIkdGltZW91dCArIDYwIl0K LUBAIC04OSw3ICs5MCw3IEBACitAQCAtODksNyArOTAsNyBAQCBnZGJfdGVzdCBjb250aW51ZSBc CiAgCiAgZ2RiX3Rlc3QgImNvbnRpbnVlIiAiLioiICIiCiAgCkBAIC05NSw3ICs5OSw3IEBAIElu ZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZpbGVpby5leHAKICAKICBnZGJf dGVzdCBjb250aW51ZSBcCiAgIkNvbnRpbnVpbmdcXC4uKm9wZW4gNTouKkVBQ0NFUyRzdG9wX21z ZyIgXAotQEAgLTI3Niw5ICsyNzcsNyBAQAorQEAgLTI3Niw5ICsyNzcsNyBAQCBnZGJfdGVzdCBj b250aW51ZSBcCiAgZ2RiX2V4aXQKICAKICAjIE1ha2UgZGlyMiB3cml0YWJsZSBhZ2FpbiBzbyBy bSAtcmYgb2YgYSBidWlsZCB0cmVlIEp1c3QgV29ya3MuCkBAIC0xMDYsMyArMTEwLDYgQEAgSW5k ZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZmlsZWlvLmV4cAogIAogIHNldCB0 aW1lb3V0ICRvbGR0aW1lb3V0CiAgcmV0dXJuIDAKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQg YS9nZGItNi44LWF0dGFjaC1zaWduYWxsZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2ggYi9nZGItNi44 LWF0dGFjaC1zaWduYWxsZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2gKaW5kZXggNGQ3N2IxMS4uZmE4 OGM5MSAxMDA2NDQKLS0tIGEvZ2RiLTYuOC1hdHRhY2gtc2lnbmFsbGVkLWRldGFjaC1zdG9wcGVk LnBhdGNoCisrKyBiL2dkYi02LjgtYXR0YWNoLXNpZ25hbGxlZC1kZXRhY2gtc3RvcHBlZC5wYXRj aApAQCAtMSwxNCArMSwyNCBAQAorRnJvbSAyZTRlZmJiYzg2MTE4NmU1Zjg3YzdiMjYxOWIxNzFi ODdhOTRjYTljIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRj aGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAg KzAyMDAKIFN1YmplY3Q6IGdkYi02LjgtYXR0YWNoLXNpZ25hbGxlZC1kZXRhY2gtc3RvcHBlZC5w YXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuOC1hdHRhY2gtc2lnbmFsbGVkLWRldGFjaC1zdG9wcGVk LnBhdGNoCiAKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvaW5mcnVuLmMKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9pbmZydW4uYwkyMDE3LTA0 LTIwIDIzOjE5OjE2LjA1NjQzNDMwOSArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9pbmZydW4uYwkyMDE3LTA0LTIwIDIzOjE5OjIyLjkzMjQ4MDM2NyArMDIwMAotQEAgLTYyMCw2 ICs2MjAsMTMgQEAKKzs7IFtSSEVMNSxSSEVMNl0gRml4IGF0dGFjaGluZyB0byBzdG9wcGVkIHBy b2Nlc3Nlcy4KKzs7IFtSSEVMNV0gV29ya2Fyb3VuZCBrZXJuZWwgZm9yIGRldGFjaGluZyBTSUdT VE9QcGVkIHByb2Nlc3NlcyAoQlogODA5MzgyKS4KKzs7PWZlZG9yYQorLS0tCisgZ2RiL2luZnJ1 bi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNyArKysrCisgZ2RiL2xpbnV4 LW5hdC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA0NSArKysrKysrKysrKysrKysr KysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cCB8IDYw ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0KKyAzIGZpbGVzIGNoYW5nZWQsIDExMSBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nZGIvaW5mcnVuLmMgYi9n ZGIvaW5mcnVuLmMKK2luZGV4IGMyMGEwMmU2MDAuLjI5OTU4NWYzNTAgMTAwNjQ0CistLS0gYS9n ZGIvaW5mcnVuLmMKKysrKyBiL2dkYi9pbmZydW4uYworQEAgLTYwNiw2ICs2MDYsMTMgQEAgaG9s ZGluZyB0aGUgY2hpbGQgc3RvcHBlZC4gIFRyeSBcInNldCBkZXRhY2gtb24tZm9ya1wiIG9yIFwK ICAJCQkJdGFyZ2V0X3BpZF90b19zdHIgKHByb2Nlc3NfcHRpZCkpOwogIAkgICAgfQogIApAQCAt MjIsMTEgKzMyLDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvaW5mcnVuLmMK ICAJICB0YXJnZXRfZGV0YWNoIChOVUxMLCAwKTsKICAJfQogIAotSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9saW51eC1uYXQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIw MTcwNDIwLm9yaWcvZ2RiL2xpbnV4LW5hdC5jCTIwMTctMDQtMjAgMjM6MTk6MTYuMDU4NDM0MzIy ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2xpbnV4LW5hdC5jCTIwMTctMDQt MjAgMjM6MTk6MjIuOTMzNDgwMzczICswMjAwCi1AQCAtMTk0LDYgKzE5NCwxMSBAQAorZGlmZiAt LWdpdCBhL2dkYi9saW51eC1uYXQuYyBiL2dkYi9saW51eC1uYXQuYworaW5kZXggNjA0MGMxZjEy OS4uNjY3ZTYxZTcwMSAxMDA2NDQKKy0tLSBhL2dkYi9saW51eC1uYXQuYworKysrIGIvZ2RiL2xp bnV4LW5hdC5jCitAQCAtMTk0LDYgKzE5NCwxMSBAQCBlbnVtIHRyaWJvb2wgaGF2ZV9wdHJhY2Vf Z2V0cmVnc2V0ID0gVFJJQk9PTF9VTktOT1dOOwogIHN0YXRpYyBzdHJ1Y3QgdGFyZ2V0X29wcyAq bGludXhfb3BzOwogIHN0YXRpYyBzdHJ1Y3QgdGFyZ2V0X29wcyBsaW51eF9vcHNfc2F2ZWQ7CiAg CkBAIC0zOCw3ICs0OCw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbGludXgt bmF0LmMKICAvKiBUaGUgbWV0aG9kIHRvIGNhbGwsIGlmIGFueSwgd2hlbiBhIG5ldyB0aHJlYWQg aXMgYXR0YWNoZWQuICAqLwogIHN0YXRpYyB2b2lkICgqbGludXhfbmF0X25ld190aHJlYWQpIChz dHJ1Y3QgbHdwX2luZm8gKik7CiAgCi1AQCAtMTA1NSw2ICsxMDYwLDkgQEAKK0BAIC0xMDY1LDYg KzEwNzAsOSBAQCBsaW51eF9uYXRfcG9zdF9hdHRhY2hfd2FpdCAocHRpZF90IHB0aWQsIGludCAq c2lnbmFsbGVkKQogICAgICAgIGlmIChkZWJ1Z19saW51eF9uYXQpCiAgCWZwcmludGZfdW5maWx0 ZXJlZCAoZ2RiX3N0ZGxvZywKICAJCQkgICAgIkxOUEFXOiBBdHRhY2hpbmcgdG8gYSBzdG9wcGVk IHByb2Nlc3NcbiIpOwpAQCAtNDgsNyArNTgsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL2xpbnV4LW5hdC5jCiAgCiAgICAgICAgLyogVGhlIHByb2Nlc3MgaXMgZGVmaW5pdGVs eSBzdG9wcGVkLiAgSXQgaXMgaW4gYSBqb2IgY29udHJvbAogIAkgc3RvcCwgdW5sZXNzIHRoZSBr ZXJuZWwgcHJlZGF0ZXMgdGhlIFRBU0tfU1RPUFBFRCAvCi1AQCAtMTQxMiw2ICsxNDIwLDI1IEBA CitAQCAtMTQyMCw2ICsxNDI4LDI1IEBAIGdldF9kZXRhY2hfc2lnbmFsIChzdHJ1Y3QgbHdwX2lu Zm8gKmxwKQogICAgICAgIHJldHVybiBnZGJfc2lnbmFsX3RvX2hvc3QgKHNpZ25vKTsKICAgICAg fQogIApAQCAtNzQsNyArODQsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2xp bnV4LW5hdC5jCiAgICByZXR1cm4gMDsKICB9CiAgCi1AQCAtMTU3MCw2ICsxNTk3LDEwIEBACitA QCAtMTU3OCw2ICsxNjA1LDEwIEBAIGxpbnV4X25hdF9kZXRhY2ggKHN0cnVjdCB0YXJnZXRfb3Bz ICpvcHMsIGNvbnN0IGNoYXIgKmFyZ3MsIGludCBmcm9tX3R0eSkKICAgICAgICBkZXRhY2hfb25l X2x3cCAobWFpbl9sd3AsICZzaWdubyk7CiAgCiAgICAgICAgaW5mX3B0cmFjZV9kZXRhY2hfc3Vj Y2VzcyAob3BzKTsKQEAgLTg1LDcgKzk1LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9saW51eC1uYXQuYwogICAgICB9CiAgfQogIAotQEAgLTE4MzAsNiArMTg2MSwxNiBAQAor QEAgLTE4MzgsNiArMTg2OSwxNiBAQCBsaW51eF9uYXRfcmVzdW1lIChzdHJ1Y3QgdGFyZ2V0X29w cyAqb3BzLAogICAgICAgIHJldHVybjsKICAgICAgfQogIApAQCAtMTAyLDcgKzExMiw3IEBAIElu ZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbGludXgtbmF0LmMKICAgIGlmIChyZXN1bWVf bWFueSkKICAgICAgaXRlcmF0ZV9vdmVyX2x3cHMgKHB0aWQsIGxpbnV4X25hdF9yZXN1bWVfY2Fs bGJhY2ssIGxwKTsKICAKLUBAIC0zODI2LDYgKzM4NjcsMTAgQEAKK0BAIC0zODMwLDYgKzM4NzEs MTAgQEAgbGludXhfbmF0X21vdXJuX2luZmVyaW9yIChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzKQog IAogICAgLyogTGV0IHRoZSBhcmNoLXNwZWNpZmljIG5hdGl2ZSBjb2RlIGtub3cgdGhpcyBwcm9j ZXNzIGlzIGdvbmUuICAqLwogICAgbGludXhfbmF0X2ZvcmdldF9wcm9jZXNzIChwaWQpOwpAQCAt MTEzLDExICsxMjMsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9saW51eC1u YXQuYwogIH0KICAKICAvKiBDb252ZXJ0IGEgbmF0aXZlL2hvc3Qgc2lnaW5mbyBvYmplY3QsIGlu dG8vZnJvbSB0aGUgc2lnaW5mbyBpbiB0aGUKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cAotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9h dHRhY2gtc3RvcHBlZC5leHAJMjAxNy0wNC0yMCAyMzoxOToxNi4wNTk0MzQzMjkgKzAyMDAKLSsr KyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0dGFjaC1z dG9wcGVkLmV4cAkyMDE3LTA0LTIwIDIzOjE5OjIyLjkzMzQ4MDM3MyArMDIwMAotQEAgLTU2LDcg KzU2LDY1IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9hdHRhY2gt c3RvcHBlZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4 cAoraW5kZXggMTVhMDM1MmZjNy4uMzBkZWU5OTg5MyAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3Vp dGUvZ2RiLnRocmVhZHMvYXR0YWNoLXN0b3BwZWQuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi50aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cAorQEAgLTU2LDcgKzU2LDY1IEBAIHByb2MgY29y ZWZ1bmMgeyB0aHJlYWR0eXBlIH0gewogICAgICBnZGJfcmVpbml0aWFsaXplX2RpciAkc3JjZGly LyRzdWJkaXIKICAgICAgZ2RiX2xvYWQgJHtiaW5maWxlfQogIApAQCAtMTg0LDMgKzE5NCw2IEBA IEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0 dGFjaC1zdG9wcGVkLmV4cAogICAgICAgICAKICAgICAgc2V0IHRlc3QgIiR0aHJlYWR0eXBlOiBh dHRhY2gyIHRvIHN0b3BwZWQsIGFmdGVyIHNldHRpbmcgZmlsZSIKICAgICAgZ2RiX3Rlc3RfbXVs dGlwbGUgImF0dGFjaCAkdGVzdHBpZCIgIiR0ZXN0IiB7CistLSAKKzIuMTQuMworCgpkaWZmIC0t Z2l0IGEvZ2RiLTYuOC1iejQzNjAzNy1yZWctbm8tbG9uZ2VyLWFjdGl2ZS5wYXRjaCBiL2dkYi02 LjgtYno0MzYwMzctcmVnLW5vLWxvbmdlci1hY3RpdmUucGF0Y2gKaW5kZXggZjg5ZGRjYS4uMWFm OTcxNyAxMDA2NDQKLS0tIGEvZ2RiLTYuOC1iejQzNjAzNy1yZWctbm8tbG9uZ2VyLWFjdGl2ZS5w YXRjaAorKysgYi9nZGItNi44LWJ6NDM2MDM3LXJlZy1uby1sb25nZXItYWN0aXZlLnBhdGNoCkBA IC0xLDE1ICsxLDIxIEBACitGcm9tIGYzYzEzY2JkMjAxMGY5MDY1NTRjODQwNjNlM2E0YTEzOGMy YmU4NDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMg PGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIw MAogU3ViamVjdDogZ2RiLTYuOC1iejQzNjAzNy1yZWctbm8tbG9uZ2VyLWFjdGl2ZS5wYXRjaAog CiBGaWxlTmFtZTogZ2RiLTYuOC1iejQzNjAzNy1yZWctbm8tbG9uZ2VyLWFjdGl2ZS5wYXRjaAog Cis7OyBGaXggcmVnaXN0ZXIgYXNzaWdubWVudHMgd2l0aCBubyBHREIgc3RhY2sgZnJhbWVzIChC WiA0MzYwMzcpLgorOzs9cHVzaCtqYW46IFRoaXMgZml4IGlzIGluY29ycmVjdC4KKy0tLQorIGdk Yi92YWxvcHMuYyB8IDEyICsrKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQogCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L3ZhbG9wcy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIv dmFsb3BzLmMJMjAxNy0wMi0yNiAxNzoyNjo0My44MzkxNDY1NjUgKzAxMDAKLSsrKyBnZGItNy4x Mi41MC4yMDE3MDIwNy9nZGIvdmFsb3BzLmMJMjAxNy0wMi0yNiAxNzoyODo0MC44NDA5ODgyNzIg KzAxMDAKLUBAIC0xMTEyLDYgKzExMTIsOCBAQAorZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBi L2dkYi92YWxvcHMuYworaW5kZXggNGVjZmE5ZmQ5Ni4uMzA2MjNlZmM2ZSAxMDA2NDQKKy0tLSBh L2dkYi92YWxvcHMuYworKysrIGIvZ2RiL3ZhbG9wcy5jCitAQCAtMTEwMyw2ICsxMTAzLDggQEAg dmFsdWVfYXNzaWduIChzdHJ1Y3QgdmFsdWUgKnRvdmFsLCBzdHJ1Y3QgdmFsdWUgKmZyb212YWwp CiAgCXN0cnVjdCBnZGJhcmNoICpnZGJhcmNoOwogIAlpbnQgdmFsdWVfcmVnOwogIApAQCAtMTgs NyArMjQsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3ZhbG9wcy5jCiAgCS8q IEZpZ3VyZSBvdXQgd2hpY2ggZnJhbWUgdGhpcyBpcyBpbiBjdXJyZW50bHkuCiAgCQogIAkgICBX ZSB1c2UgVkFMVUVfRlJBTUVfSUQgZm9yIG9idGFpbmluZyB0aGUgdmFsdWUncyBmcmFtZSBpZCBp bnN0ZWFkIG9mCi1AQCAtMTEyMSw4ICsxMTIzLDE0IEBACitAQCAtMTExMiw4ICsxMTE0LDE0IEBA IHZhbHVlX2Fzc2lnbiAoc3RydWN0IHZhbHVlICp0b3ZhbCwgc3RydWN0IHZhbHVlICpmcm9tdmFs KQogIAkgICBmcmFtZS4gICovCiAgCWZyYW1lID0gZnJhbWVfZmluZF9ieV9pZCAoVkFMVUVfRlJB TUVfSUQgKHRvdmFsKSk7CiAgCkBAIC0zNSwzICs0MSw2IEBAIEluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIwNy9nZGIvdmFsb3BzLmMKICAJaWYgKCFmcmFtZSkKICAJICBlcnJvciAoXygiVmFsdWUg YmVpbmcgYXNzaWduZWQgdG8gaXMgbm8gbG9uZ2VyIGFjdGl2ZS4iKSk7CiAgCistLSAKKzIuMTQu MworCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuOC1iejQ0Mjc2NS10aHJlYWRlZC1leGVjLXRlc3QucGF0 Y2ggYi9nZGItNi44LWJ6NDQyNzY1LXRocmVhZGVkLWV4ZWMtdGVzdC5wYXRjaAppbmRleCBhZjZj YjM4Li44YmU1YWQ5IDEwMDY0NAotLS0gYS9nZGItNi44LWJ6NDQyNzY1LXRocmVhZGVkLWV4ZWMt dGVzdC5wYXRjaAorKysgYi9nZGItNi44LWJ6NDQyNzY1LXRocmVhZGVkLWV4ZWMtdGVzdC5wYXRj aApAQCAtMSwxNiArMSwyMyBAQAorRnJvbSBmYmM2MTU4Yzc2ZDgwOWFhYWZkNDNhMDgzMDExZjEz M2Y2YmM2NGY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRj aGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAg KzAyMDAKIFN1YmplY3Q6IGdkYi02LjgtYno0NDI3NjUtdGhyZWFkZWQtZXhlYy10ZXN0LnBhdGNo CiAKIEZpbGVOYW1lOiBnZGItNi44LWJ6NDQyNzY1LXRocmVhZGVkLWV4ZWMtdGVzdC5wYXRjaAog Cis7OyBUZXN0IHZhcmlvdXMgZm9ybXMgb2YgdGhyZWFkcyB0cmFja2luZyBhY3Jvc3MgZXhlYygp IChCWiA0NDI3NjUpLgorOzs9ZmVkb3JhdGVzdAogCiBUZXN0IHZhcmlvdXMgZm9ybXMgb2YgdGhy ZWFkcyB0cmFja2luZyBhY3Jvc3MgZXhlYygyKS4KKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvdGhyZWFkZWQtZXhlYy5jICAgfCAxMTEgKysrKysrKysrKysrKysrKysrKysrKysrKyst LQorIGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkZWQtZXhlYy5leHAgfCAgMTMgKysr LQorIDIgZmlsZXMgY2hhbmdlZCwgMTE1IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCiAK LUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Ro cmVhZGVkLWV4ZWMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjkwLjIwMTYwMjExLm9yaWcv Z2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmMJMjAxNi0wMi0xNiAwOTo1 NDo0NS4xNTcxNjMwNDkgKzAxMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1 aXRlL2dkYi50aHJlYWRzL3RocmVhZGVkLWV4ZWMuYwkyMDE2LTAyLTE2IDA5OjU0OjQ2LjIxMDE3 MDE3NSArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFk ZWQtZXhlYy5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmMKK2lu ZGV4IDUyMmIyNDY3MWQuLjcwNzkzMTdkM2EgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dk Yi50aHJlYWRzL3RocmVhZGVkLWV4ZWMuYworKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFk cy90aHJlYWRlZC1leGVjLmMKIEBAIC0xOCwyMSArMTgsOTUgQEAKICAgICBCb3N0b24sIE1BIDAy MTExLTEzMDcsIFVTQS4gICovCiAgCkBAIC0xMTAsNyArMTE3LDcgQEAgSW5kZXg6IGdkYi03LjEw LjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkZWQtZXhlYy5jCiAg CXB0aHJlYWRfdCB0MTsKICAJaW50IGk7CiAgCi1AQCAtNDAsNyArMTE0LDM0IEBACitAQCAtNDAs NyArMTE0LDM0IEBAIG1haW4gKHZvaWQpCiAgCWFzc2VydCAoaSA9PSAwKTsKICAJaSA9IHB0aHJl YWRfam9pbiAodDEsIE5VTEwpOwogIAlhc3NlcnQgKGkgPT0gMCk7CkBAIC0xNDcsMTAgKzE1NCwx MCBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFk cy90aHJlYWRlZC1leGVjLmMKICsgIGV4ZWNsIChjbWQsIGNtZCwgZXhlY19ub3RocmVhZHMsIGV4 ZWNfdGhyZWFkcywgcGhhc2VfcywgTlVMTCk7CiArICBhc3NlcnQgKDApOwogIH0KLUluZGV4OiBn ZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGVkLWV4 ZWMuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuOTAuMjAxNjAyMTEub3JpZy9nZGIvdGVz dHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGVkLWV4ZWMuZXhwCTIwMTYtMDItMTYgMDk6NTQ6NDUu MTU3MTYzMDQ5ICswMTAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmV4cAkyMDE2LTAyLTE2IDA5OjU1OjI3LjM5NzQ0ODg3 OSArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkZWQt ZXhlYy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGVkLWV4ZWMuZXhwCitp bmRleCA3N2M4YTdkYzg1Li44YzQzMTYyYjM2IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhy ZWFkcy90aHJlYWRlZC1leGVjLmV4cAogQEAgLTIwLDkgKzIwLDE0IEBACiAgCiAgc2V0IHRlc3Rm aWxlIHRocmVhZGVkLWV4ZWMKQEAgLTE2OCw3ICsxNzUsNyBAQCBJbmRleDogZ2RiLTcuMTAuOTAu MjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmV4cAogICAg ICByZXR1cm4gLTEKICB9CiAgCi1AQCAtMzAsOSArMzUsOSBAQAorQEAgLTMwLDkgKzM1LDkgQEAg Z2RiX2V4aXQKICBnZGJfc3RhcnQKICBnZGJfcmVpbml0aWFsaXplX2RpciAkc3JjZGlyLyRzdWJk aXIKICAKQEAgLTE4MCwzICsxODcsNiBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2Ri L3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmV4cAogIAogIGdkYl90ZXN0X211 bHRpcGxlIHt9ICJQcm9ncmFtIGV4aXRlZCIgewogICAgIC1yZSAiXHJcblxcXFtJbmZlcmlvciAu KiBleGl0ZWQgbm9ybWFsbHlcXFxdXHJcbiRnZGJfcHJvbXB0ICQiIHsKKy0tIAorMi4xNC4zCisK CmRpZmYgLS1naXQgYS9nZGItNi44LWJ6NDY2OTAxLWJhY2t0cmFjZS1mdWxsLXByZWxpbmtlZC5w YXRjaCBiL2dkYi02LjgtYno0NjY5MDEtYmFja3RyYWNlLWZ1bGwtcHJlbGlua2VkLnBhdGNoCmlu ZGV4IDQzMzc4ZmQuLjAxMzdhMGEgMTAwNjQ0Ci0tLSBhL2dkYi02LjgtYno0NjY5MDEtYmFja3Ry YWNlLWZ1bGwtcHJlbGlua2VkLnBhdGNoCisrKyBiL2dkYi02LjgtYno0NjY5MDEtYmFja3RyYWNl LWZ1bGwtcHJlbGlua2VkLnBhdGNoCkBAIC0xLDE1NCArMSwyOCBAQAorRnJvbSBhM2MzZTJhMjcx MWFjMGQ3ZGVkMzczNTk3MzQ4YTFlODg5Yjg0NzhhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQog RnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwg MjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjgtYno0NjY5MDEtYmFj a3RyYWNlLWZ1bGwtcHJlbGlua2VkLnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi44LWJ6NDY2OTAx LWJhY2t0cmFjZS1mdWxsLXByZWxpbmtlZC5wYXRjaAogCis7OyBGaXggcmVzb2x2aW5nIG9mIHZh cmlhYmxlcyBhdCBsb2NhdGlvbnMgbGlzdHMgaW4gcHJlbGlua2VkIGxpYnMgKEJaIDQ2NjkwMSku Cis7Oz1mZWRvcmF0ZXN0CiAKIEZpeCByZXNvbHZpbmcgb2YgdmFyaWFibGVzIGF0IGxvY2F0aW9u cyBsaXN0cyBpbiBwcmVsaW5rZWQgbGlicyAoQlogNDY2OTAxKS4KKy0tLQorIC4uLi9nZGIuZHdh cmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtlZC1mdW5jLlMgICAgICAgIHwgMzI4ICsrKysrKysrKysr KysrKysrKysrKworIC4uLi9nZGIuZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtlZC1tYWluLmMg ICAgICAgIHwgIDI2ICsrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1sb2NsaXN0LXBy ZWxpbmtlZC5leHAgfCAxMDIgKysrKysrKworIDMgZmlsZXMgY2hhbmdlZCwgNDU2IGluc2VydGlv bnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1s b2NsaXN0LXByZWxpbmtlZC1mdW5jLlMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0 ZS9nZGIuZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtlZC1tYWluLmMKKyBjcmVhdGUgbW9kZSAx MDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtlZC5leHAK IAotSW5kZXg6IGdkYi02LjguNTAuMjAwOTA5MDkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3 Mi1sb2NsaXN0LXByZWxpbmtlZC5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNi44LjUwLjIwMDkwOTA5L2dk Yi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItbG9jbGlzdC1wcmVsaW5rZWQuZXhwCTIwMDktMDkt MDkgMjA6MTA6MzUuMDAwMDAwMDAwICswMjAwCi1AQCAtMCwwICsxLDEwMiBAQAotKyMgQ29weXJp Z2h0IDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0rIyBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQotKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0rIyAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgotKyMgCi0rIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rIyBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKyMgCi0rIyBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUg U29mdHdhcmUKLSsjIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMz MCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0rCi0rIyBNaW5pbWFsIERXQVJGLTIgdW5p dCB0ZXN0Ci0rCi0rIyBUaGlzIHRlc3QgY2FuIG9ubHkgYmUgcnVuIG9uIGkzODYveDg2XzY0IHRh cmdldHMgd2hpY2ggc3VwcG9ydCBEV0FSRi0yLgotKyMgRm9yIG5vdyBwaWNrIGEgc2FtcGxpbmcg b2YgbGlrZWx5IHRhcmdldHMuCi0raWYgeyghW2lzdGFyZ2V0ICotKi1saW51eCpdCi0rICAgICAm JiAhW2lzdGFyZ2V0ICotKi1nbnUqXQotKyAgICAgJiYgIVtpc3RhcmdldCAqLSotZWxmKl0KLSsg ICAgICYmICFbaXN0YXJnZXQgKi0qLW9wZW5ic2QqXSkKLSsgICAgfHwgKCFbaXN0YXJnZXQgImk/ ODYtKi0qIl0gJiYgIVtpc3RhcmdldCAieDg2XzY0LSotKiJdKX0gewotKyAgICByZXR1cm4gMCAg Ci0rfQotKwotK3NldCB0ZXN0ZmlsZSAiZHcyLWxvY2xpc3QtcHJlbGlua2VkIgotK3NldCBzcmNm dW5jZmlsZSAke3Rlc3RmaWxlfS1mdW5jLlMKLStzZXQgYmluc2hhcmVkZnVuY2ZpbGUgW3N0YW5k YXJkX291dHB1dF9maWxlICR7dGVzdGZpbGV9LnNvXQotK3NldCBzcmNtYWluZmlsZSAke3Rlc3Rm aWxlfS1tYWluLmMKLStzZXQgYmluZmlsZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJHt0ZXN0Zmls ZX1dCi0rCi0rcmVtb3RlX2V4ZWMgYnVpbGQgInJtIC1mICR7YmluZmlsZX0iCi0rCi0rIyBnZXQg dGhlIHZhbHVlIG9mIGdjY19jb21waWxlZAotK2lmIFtnZXRfY29tcGlsZXJfaW5mbyAke2JpbmZp bGV9XSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLSsjIFRoaXMgdGVzdCBjYW4gb25seSBiZSBy dW4gb24gZ2NjIGFzIHdlIHVzZSBhZGRpdGlvbmFsX2ZsYWdzPUZJWE1FCi0raWYgeyRnY2NfY29t cGlsZWQgPT0gMH0gewotKyAgICByZXR1cm4gMAotK30KLSsKLStpZiAgeyBbZ2RiX2NvbXBpbGVf c2hsaWIgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNmdW5jZmlsZX0iICIke2JpbnNoYXJlZGZ1 bmNmaWxlfSIge2RlYnVnIGFkZGl0aW9uYWxfZmxhZ3M9LW0zMn1dICE9ICIiIH0gewotKyAgICB1 bnRlc3RlZCAiQ291bGRuJ3QgY29tcGlsZSB0ZXN0IGxpYnJhcnkiCi0rICAgIHJldHVybiAtMQot K30KLSsKLSsjIFRoZSBuZXcgc2VwYXJhdGUgZGVidWcgaW5mbyBmaWxlIHdpbGwgYmUgc3RvcmVk IGluIHRoZSAuZGVidWcgc3ViZGlyZWN0b3J5LgotKwotK2lmIFtnZGJfZ251X3N0cmlwX2RlYnVn ICR7Ymluc2hhcmVkZnVuY2ZpbGV9XSB7Ci0rICAgICMgY2hlY2sgdGhhdCB5b3UgaGF2ZSBhIHJl Y2VudCB2ZXJzaW9uIG9mIHN0cmlwIGFuZCBvYmpjb3B5IGluc3RhbGxlZAotKyAgICB1bnN1cHBv cnRlZCAiY2Fubm90IHByb2R1Y2Ugc2VwYXJhdGUgZGVidWcgaW5mbyBmaWxlcyIKLSsgICAgcmV0 dXJuIC0xCi0rfQotKwotK2lmIHtbY2F0Y2ggInN5c3RlbSBcIi91c3Ivc2Jpbi9wcmVsaW5rIC1x TlIgLS1uby1leGVjLXNoaWVsZCAke2JpbnNoYXJlZGZ1bmNmaWxlfVwiIl0gIT0gMH0gewotKyAg ICAjIE1heWJlIHdlIGRvbid0IGhhdmUgcHJlbGluay4KLSsgICAgcmV0dXJuIC0xCi0rfQotKwot K2lmICB7IFtnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY21haW5maWxlfSIg XAotKwkJICAgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUgW2xpc3QgZGVidWcgYWRkaXRpb25hbF9m bGFncz0tbTMyIHNobGliPSR7Ymluc2hhcmVkZnVuY2ZpbGV9XV0gIT0gIiIgfSB7Ci0rICAgIHJl dHVybiAtMQotK30KLSsKLStnZGJfZXhpdAotK2dkYl9zdGFydAotK2dkYl9yZWluaXRpYWxpemVf ZGlyICRzcmNkaXIvJHN1YmRpcgotK2dkYl9sb2FkICR7YmluZmlsZX0KLSsKLStnZGJfcnVuX2Nt ZAotKwotK2dkYl90ZXN0ICIiICJQcm9ncmFtIHJlY2VpdmVkIHNpZ25hbCBTSUdBQlJULCBBYm9y dGVkLi4qIiAiRW50ZXIgYWJvcnQoKSIKLSsKLSsjIEluY29ycmVjdDoKLSsjICMwICAweDAwMTEw NDMwIGluIF9fa2VybmVsX3ZzeXNjYWxsICgpCi0rIyBObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFp bGFibGUuCi0rIyAjMSAgMHgwMDNkNDRjMCBpbiByYWlzZSAoKSBmcm9tIC9saWIvbGliYy5zby42 Ci0rIyBObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuCi0rIyAjMiAgMHgwMDNkNWU4OCBp biBhYm9ydCAoKSBmcm9tIC9saWIvbGliYy5zby42Ci0rIyBObyBzeW1ib2wgdGFibGUgaW5mbyBh dmFpbGFibGUuCi0rIyAjMyAgMHg0NGYxMDQzNyBpbiBmdW5jICgpIGF0IGR3Mi1sb2NsaXN0LXBy ZWxpbmtlZC5jOjgKLSsjIAlpID0gQ291bGQgbm90IGZpbmQgdGhlIGZyYW1lIGJhc2UgZm9yICJm dW5jIi4KLSsKLSsjIENvcnJlY3Q6Ci0rIyAjMCAgMHgwMDExMDQzMCBpbiBfX2tlcm5lbF92c3lz Y2FsbCAoKQotKyMgTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgotKyMgIzEgIDB4MDAz ZDQ0YzAgaW4gcmFpc2UgKCkgZnJvbSAvbGliL2xpYmMuc28uNgotKyMgTm8gc3ltYm9sIHRhYmxl IGluZm8gYXZhaWxhYmxlLgotKyMgIzIgIDB4MDAzZDVlODggaW4gYWJvcnQgKCkgZnJvbSAvbGli L2xpYmMuc28uNgotKyMgTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgotKyMgIzMgIDB4 NGFlMzY0MzcgaW4gZnVuYyAoKSBhdCBkdzItbG9jbGlzdC1wcmVsaW5rZWQuYzo4Ci0rIyAJaSA9 IDM4MjcyODgKLSsjICM0ICAweDA4MDQ4NTFhIGluIG1haW4gKCkgYXQgLi4vLi4vLi4vZ2RiL3Rl c3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtlZC1tYWluLmM6MjQKLSsjIE5v IGxvY2Fscy4KLSsKLSsjIGBhYm9ydCcgY2FuIGdldCBleHByZXNzZWQgYXMgYCpfX0dJX2Fib3J0 Jy4KLStnZGJfdGVzdCAiYnQgZnVsbCIgImluIFxbXiBcXSphYm9ydCBcXCguKmluIGZ1bmMgXFwo LipcclxuXFtcdCBcXStpID0gLT9cWzAtOVxdLippbiBtYWluIFxcKC4qIiAiQmFja3RyYWNlIGFm dGVyIGFib3J0KCkiCi1JbmRleDogZ2RiLTYuOC41MC4yMDA5MDkwOS9nZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHcyLWxvY2xpc3QtcHJlbGlua2VkLW1haW4uYwotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi02Ljgu NTAuMjAwOTA5MDkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtl ZC1tYWluLmMJMjAwOS0wOS0wOSAyMDoxMDozNS4wMDAwMDAwMDAgKzAyMDAKLUBAIC0wLDAgKzEs MjYgQEAKLSsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2Vy LgotKwotKyAgIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgot KwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLSsvKiBkdzIt bG9jbGlzdC1wcmVsaW5rZWQtZnVuYy5TICovCi0rZXh0ZXJuIHZvaWQgZnVuYyAodm9pZCk7Ci0r Ci0raW50Ci0rbWFpbiAodm9pZCkKLSt7Ci0rICBmdW5jICgpOwotKyAgcmV0dXJuIDA7Ci0rfQot SW5kZXg6IGdkYi02LjguNTAuMjAwOTA5MDkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1s b2NsaXN0LXByZWxpbmtlZC1mdW5jLlMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNi44LjUwLjIwMDkwOTA5L2dk Yi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItbG9jbGlzdC1wcmVsaW5rZWQtZnVuYy5TCTIwMDkt MDktMDkgMjA6MTA6MzUuMDAwMDAwMDAwICswMjAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtlZC1mdW5jLlMgYi9nZGIvdGVzdHN1aXRl L2dkYi5kd2FyZjIvZHcyLWxvY2xpc3QtcHJlbGlua2VkLWZ1bmMuUworbmV3IGZpbGUgbW9kZSAx MDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjQ0MmM0ZDAwYTEKKy0tLSAvZGV2L251bGwKKysrKyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItbG9jbGlzdC1wcmVsaW5rZWQtZnVuYy5TCiBA QCAtMCwwICsxLDMyOCBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBH TlUgZGVidWdnZXIuCiArCkBAIC00NzgsMyArMzUyLDE0NiBAQCBJbmRleDogZ2RiLTYuOC41MC4y MDA5MDkwOS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWxvY2xpc3QtcHJlbGlua2VkLWZ1 bmMuUwogKwkuc3RyaW5nCSJzaG9ydCBpbnQiCiArCS5pZGVudAkiR0NDOiAoR05VKSA0LjMuMiAy MDA4MTAwNyAoUmVkIEhhdCA0LjMuMi02KSIKICsJLnNlY3Rpb24JLm5vdGUuR05VLXN0YWNrLCIi LEBwcm9nYml0cworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItbG9j bGlzdC1wcmVsaW5rZWQtbWFpbi5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1sb2Ns aXN0LXByZWxpbmtlZC1tYWluLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw MDAwLi41NzM4Njk5OWNlCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5k d2FyZjIvZHcyLWxvY2xpc3QtcHJlbGlua2VkLW1haW4uYworQEAgLTAsMCArMSwyNiBAQAorKy8q IFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAg Q29weXJpZ2h0IDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAgVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKKysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKwor KyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8 aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworKy8qIGR3Mi1sb2NsaXN0LXBy ZWxpbmtlZC1mdW5jLlMgKi8KKytleHRlcm4gdm9pZCBmdW5jICh2b2lkKTsKKysKKytpbnQKKytt YWluICh2b2lkKQorK3sKKysgIGZ1bmMgKCk7CisrICByZXR1cm4gMDsKKyt9CitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtlZC5leHAgYi9n ZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWxvY2xpc3QtcHJlbGlua2VkLmV4cAorbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjMwZDA0NzMzMzYKKy0tLSAvZGV2L251 bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItbG9jbGlzdC1wcmVsaW5rZWQu ZXhwCitAQCAtMCwwICsxLDEwMiBAQAorKyMgQ29weXJpZ2h0IDIwMDggRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu c2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMgCisrIyBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgorKyMgCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKysjIEZvdW5kYXRpb24s IEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3 LCBVU0EuCisrCisrIyBNaW5pbWFsIERXQVJGLTIgdW5pdCB0ZXN0CisrCisrIyBUaGlzIHRlc3Qg Y2FuIG9ubHkgYmUgcnVuIG9uIGkzODYveDg2XzY0IHRhcmdldHMgd2hpY2ggc3VwcG9ydCBEV0FS Ri0yLgorKyMgRm9yIG5vdyBwaWNrIGEgc2FtcGxpbmcgb2YgbGlrZWx5IHRhcmdldHMuCisraWYg eyghW2lzdGFyZ2V0ICotKi1saW51eCpdCisrICAgICAmJiAhW2lzdGFyZ2V0ICotKi1nbnUqXQor KyAgICAgJiYgIVtpc3RhcmdldCAqLSotZWxmKl0KKysgICAgICYmICFbaXN0YXJnZXQgKi0qLW9w ZW5ic2QqXSkKKysgICAgfHwgKCFbaXN0YXJnZXQgImk/ODYtKi0qIl0gJiYgIVtpc3RhcmdldCAi eDg2XzY0LSotKiJdKX0geworKyAgICByZXR1cm4gMCAgCisrfQorKworK3NldCB0ZXN0ZmlsZSAi ZHcyLWxvY2xpc3QtcHJlbGlua2VkIgorK3NldCBzcmNmdW5jZmlsZSAke3Rlc3RmaWxlfS1mdW5j LlMKKytzZXQgYmluc2hhcmVkZnVuY2ZpbGUgW3N0YW5kYXJkX291dHB1dF9maWxlICR7dGVzdGZp bGV9LnNvXQorK3NldCBzcmNtYWluZmlsZSAke3Rlc3RmaWxlfS1tYWluLmMKKytzZXQgYmluZmls ZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJHt0ZXN0ZmlsZX1dCisrCisrcmVtb3RlX2V4ZWMgYnVp bGQgInJtIC1mICR7YmluZmlsZX0iCisrCisrIyBnZXQgdGhlIHZhbHVlIG9mIGdjY19jb21waWxl ZAorK2lmIFtnZXRfY29tcGlsZXJfaW5mbyAke2JpbmZpbGV9XSB7CisrICAgIHJldHVybiAtMQor K30KKysKKysjIFRoaXMgdGVzdCBjYW4gb25seSBiZSBydW4gb24gZ2NjIGFzIHdlIHVzZSBhZGRp dGlvbmFsX2ZsYWdzPUZJWE1FCisraWYgeyRnY2NfY29tcGlsZWQgPT0gMH0geworKyAgICByZXR1 cm4gMAorK30KKysKKytpZiAgeyBbZ2RiX2NvbXBpbGVfc2hsaWIgIiR7c3JjZGlyfS8ke3N1YmRp cn0vJHtzcmNmdW5jZmlsZX0iICIke2JpbnNoYXJlZGZ1bmNmaWxlfSIge2RlYnVnIGFkZGl0aW9u YWxfZmxhZ3M9LW0zMn1dICE9ICIiIH0geworKyAgICB1bnRlc3RlZCAiQ291bGRuJ3QgY29tcGls ZSB0ZXN0IGxpYnJhcnkiCisrICAgIHJldHVybiAtMQorK30KKysKKysjIFRoZSBuZXcgc2VwYXJh dGUgZGVidWcgaW5mbyBmaWxlIHdpbGwgYmUgc3RvcmVkIGluIHRoZSAuZGVidWcgc3ViZGlyZWN0 b3J5LgorKworK2lmIFtnZGJfZ251X3N0cmlwX2RlYnVnICR7Ymluc2hhcmVkZnVuY2ZpbGV9XSB7 CisrICAgICMgY2hlY2sgdGhhdCB5b3UgaGF2ZSBhIHJlY2VudCB2ZXJzaW9uIG9mIHN0cmlwIGFu ZCBvYmpjb3B5IGluc3RhbGxlZAorKyAgICB1bnN1cHBvcnRlZCAiY2Fubm90IHByb2R1Y2Ugc2Vw YXJhdGUgZGVidWcgaW5mbyBmaWxlcyIKKysgICAgcmV0dXJuIC0xCisrfQorKworK2lmIHtbY2F0 Y2ggInN5c3RlbSBcIi91c3Ivc2Jpbi9wcmVsaW5rIC1xTlIgLS1uby1leGVjLXNoaWVsZCAke2Jp bnNoYXJlZGZ1bmNmaWxlfVwiIl0gIT0gMH0geworKyAgICAjIE1heWJlIHdlIGRvbid0IGhhdmUg cHJlbGluay4KKysgICAgcmV0dXJuIC0xCisrfQorKworK2lmICB7IFtnZGJfY29tcGlsZSAiJHtz cmNkaXJ9LyR7c3ViZGlyfS8ke3NyY21haW5maWxlfSIgXAorKwkJICAgIiR7YmluZmlsZX0iIGV4 ZWN1dGFibGUgW2xpc3QgZGVidWcgYWRkaXRpb25hbF9mbGFncz0tbTMyIHNobGliPSR7Ymluc2hh cmVkZnVuY2ZpbGV9XV0gIT0gIiIgfSB7CisrICAgIHJldHVybiAtMQorK30KKysKKytnZGJfZXhp dAorK2dkYl9zdGFydAorK2dkYl9yZWluaXRpYWxpemVfZGlyICRzcmNkaXIvJHN1YmRpcgorK2dk Yl9sb2FkICR7YmluZmlsZX0KKysKKytnZGJfcnVuX2NtZAorKworK2dkYl90ZXN0ICIiICJQcm9n cmFtIHJlY2VpdmVkIHNpZ25hbCBTSUdBQlJULCBBYm9ydGVkLi4qIiAiRW50ZXIgYWJvcnQoKSIK KysKKysjIEluY29ycmVjdDoKKysjICMwICAweDAwMTEwNDMwIGluIF9fa2VybmVsX3ZzeXNjYWxs ICgpCisrIyBObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuCisrIyAjMSAgMHgwMDNkNDRj MCBpbiByYWlzZSAoKSBmcm9tIC9saWIvbGliYy5zby42CisrIyBObyBzeW1ib2wgdGFibGUgaW5m byBhdmFpbGFibGUuCisrIyAjMiAgMHgwMDNkNWU4OCBpbiBhYm9ydCAoKSBmcm9tIC9saWIvbGli Yy5zby42CisrIyBObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuCisrIyAjMyAgMHg0NGYx MDQzNyBpbiBmdW5jICgpIGF0IGR3Mi1sb2NsaXN0LXByZWxpbmtlZC5jOjgKKysjIAlpID0gQ291 bGQgbm90IGZpbmQgdGhlIGZyYW1lIGJhc2UgZm9yICJmdW5jIi4KKysKKysjIENvcnJlY3Q6Cisr IyAjMCAgMHgwMDExMDQzMCBpbiBfX2tlcm5lbF92c3lzY2FsbCAoKQorKyMgTm8gc3ltYm9sIHRh YmxlIGluZm8gYXZhaWxhYmxlLgorKyMgIzEgIDB4MDAzZDQ0YzAgaW4gcmFpc2UgKCkgZnJvbSAv bGliL2xpYmMuc28uNgorKyMgTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgorKyMgIzIg IDB4MDAzZDVlODggaW4gYWJvcnQgKCkgZnJvbSAvbGliL2xpYmMuc28uNgorKyMgTm8gc3ltYm9s IHRhYmxlIGluZm8gYXZhaWxhYmxlLgorKyMgIzMgIDB4NGFlMzY0MzcgaW4gZnVuYyAoKSBhdCBk dzItbG9jbGlzdC1wcmVsaW5rZWQuYzo4CisrIyAJaSA9IDM4MjcyODgKKysjICM0ICAweDA4MDQ4 NTFhIGluIG1haW4gKCkgYXQgLi4vLi4vLi4vZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1s b2NsaXN0LXByZWxpbmtlZC1tYWluLmM6MjQKKysjIE5vIGxvY2Fscy4KKysKKysjIGBhYm9ydCcg Y2FuIGdldCBleHByZXNzZWQgYXMgYCpfX0dJX2Fib3J0Jy4KKytnZGJfdGVzdCAiYnQgZnVsbCIg ImluIFxbXiBcXSphYm9ydCBcXCguKmluIGZ1bmMgXFwoLipcclxuXFtcdCBcXStpID0gLT9cWzAt OVxdLippbiBtYWluIFxcKC4qIiAiQmFja3RyYWNlIGFmdGVyIGFib3J0KCkiCistLSAKKzIuMTQu MworCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuOC1xdWl0LW5ldmVyLWFib3J0cy5wYXRjaCBiL2dkYi02 LjgtcXVpdC1uZXZlci1hYm9ydHMucGF0Y2gKaW5kZXggZTBiOGU2Ny4uZTRkNTdkZCAxMDA2NDQK LS0tIGEvZ2RiLTYuOC1xdWl0LW5ldmVyLWFib3J0cy5wYXRjaAorKysgYi9nZGItNi44LXF1aXQt bmV2ZXItYWJvcnRzLnBhdGNoCkBAIC0xLDIxICsxLDMxIEBACitGcm9tIDZmOTU2MGFkODMwZGJh ZDgzNDI5ODU5YjIzOTI4MzE0NjNmMGZjOTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9t OiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBP Y3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuOC1xdWl0LW5ldmVyLWFib3J0 cy5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuOC1xdWl0LW5ldmVyLWFib3J0cy5wYXRjaAogCis7 OyBNYWtlIHRoZSBHREIgcXVpdCBwcm9jZXNzaW5nIG5vbi1hYm9ydGFibGUgdG8gY2xlYW51cCBl dmVyeXRoaW5nIHByb3Blcmx5LgorOzs9ZmVkb3JhOiBJdCB3YXMgdXNlZnVsIG9ubHkgYWZ0ZXIg Z2RiLTYuOC1hdHRhY2gtc2lnbmFsbGVkLWRldGFjaC1zdG9wcGVkLnBhdGNoIC4KKwogV2UgbWF5 IGFib3J0IHRoZSBwcm9jZXNzIG9mIGRldGFjaGluZyB0aHJlYWRzIHdpdGggbXVsdGlwbGUgU0lH SU5UcyAtIHdoaWNoIGFyZQogYmVpbmcgc2VudCBkdXJpbmcgYSB0ZXN0Y2FzZSB0ZXJtaW5hdGlu ZyBpdHMgY2hpbGQgR0RCLgogCiBTb21lIG9mIHRoZSB0aHJlYWRzIG1heSBub3QgYmUgcHJvcGVy bHkgUFRSQUNFX0RFVEFDSGVkIHdoaWNoIGh1cnRzIGlmIHRoZXkKIHNob3VsZCBoYXZlIGJlZW4g ZGV0YWNoZWQgd2l0aCBTSUdTVE9QIChhcyB0aGV5IGFyZSBhY2NpZGVudGFsbHkgbGVmdCBydW5u aW5nCiBvbiB0aGUgZGVidWdnZXIgdGVybWluYXRpb24pLgorLS0tCisgZ2RiL2RlZnMuaCAgICAg IHwgNCArKysrCisgZ2RiL2V4dGVuc2lvbi5jIHwgNSArKysrKworIGdkYi90b3AuYyAgICAgICB8 IDYgKysrKysrCisgZ2RiL3V0aWxzLmMgICAgIHwgNyArKysrKysrCisgNCBmaWxlcyBjaGFuZ2Vk LCAyMiBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvZGVm cy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvZGVmcy5o CTIwMTctMDItMjYgMjE6MTE6MzUuNjU0MzUwNTgwICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAx NzAyMDcvZ2RiL2RlZnMuaAkyMDE3LTAyLTI2IDIxOjExOjUyLjkzMjQ3MzEyOSArMDEwMAotQEAg LTE2OSw2ICsxNjksMTAgQEAKK2RpZmYgLS1naXQgYS9nZGIvZGVmcy5oIGIvZ2RiL2RlZnMuaAor aW5kZXggMjdmM2JlY2FiMC4uOTUzOTViNDFhMyAxMDA2NDQKKy0tLSBhL2dkYi9kZWZzLmgKKysr KyBiL2dkYi9kZWZzLmgKK0BAIC0xNjgsNiArMTY4LDEwIEBAIGV4dGVybiB2b2lkIGRlZmF1bHRf cXVpdF9oYW5kbGVyICh2b2lkKTsKICAvKiBGbGFnIHRoYXQgZnVuY3Rpb24gcXVpdCBzaG91bGQg Y2FsbCBxdWl0X2ZvcmNlLiAgKi8KICBleHRlcm4gdm9sYXRpbGUgaW50IHN5bmNfcXVpdF9mb3Jj ZV9ydW47CiAgCkBAIC0yNiwxMSArMzYsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi9kZWZzLmgKICBleHRlcm4gdm9pZCBxdWl0ICh2b2lkKTsKICAKICAvKiBIZWxwZXIgZm9y IHRoZSBRVUlUIG1hY3JvLiAgKi8KLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvZXh0 ZW5zaW9uLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9l eHRlbnNpb24uYwkyMDE3LTAyLTI2IDIxOjExOjM1LjY1NTM1MDU4NyArMDEwMAotKysrIGdkYi03 LjEyLjUwLjIwMTcwMjA3L2dkYi9leHRlbnNpb24uYwkyMDE3LTAyLTI2IDIxOjExOjUyLjkzMzQ3 MzEzNiArMDEwMAotQEAgLTgzMCw2ICs4MzAsMTEgQEAKK2RpZmYgLS1naXQgYS9nZGIvZXh0ZW5z aW9uLmMgYi9nZGIvZXh0ZW5zaW9uLmMKK2luZGV4IDRmZmFkMDM4YzkuLmQwMjlhMmYyM2QgMTAw NjQ0CistLS0gYS9nZGIvZXh0ZW5zaW9uLmMKKysrKyBiL2dkYi9leHRlbnNpb24uYworQEAgLTgz MCw2ICs4MzAsMTEgQEAgY2hlY2tfcXVpdF9mbGFnICh2b2lkKQogICAgaW50IGksIHJlc3VsdCA9 IDA7CiAgICBjb25zdCBzdHJ1Y3QgZXh0ZW5zaW9uX2xhbmd1YWdlX2RlZm4gKmV4dGxhbmc7CiAg CkBAIC00MiwxMSArNTIsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9leHRl bnNpb24uYwogICAgQUxMX0VOQUJMRURfRVhURU5TSU9OX0xBTkdVQUdFUyAoaSwgZXh0bGFuZykK ICAgICAgewogICAgICAgIGlmIChleHRsYW5nLT5vcHMtPmNoZWNrX3F1aXRfZmxhZyAhPSBOVUxM KQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90b3AuYwotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3RvcC5jCTIwMTctMDItMjYgMjE6MTE6MzUu NjU1MzUwNTg3ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3RvcC5jCTIwMTct MDItMjYgMjE6MTE6NTIuOTMzNDczMTM2ICswMTAwCi1AQCAtMTYxOSw3ICsxNjE5LDEzIEBACitk aWZmIC0tZ2l0IGEvZ2RiL3RvcC5jIGIvZ2RiL3RvcC5jCitpbmRleCA4Y2Q3Yzk5MzQ2Li4zMjZj MjM5OWIzIDEwMDY0NAorLS0tIGEvZ2RiL3RvcC5jCisrKysgYi9nZGIvdG9wLmMKK0BAIC0xNTgz LDcgKzE1ODMsMTMgQEAgcXVpdF9mb3JjZSAoaW50ICpleGl0X2FyZywgaW50IGZyb21fdHR5KQog ICAgcXQuYXJncyA9IE5VTEw7CiAgICBxdC5mcm9tX3R0eSA9IGZyb21fdHR5OwogIApAQCAtNjAs MTMgKzcwLDEzIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdG9wLmMKICAKICAg IC8qIEdldCBvdXQgb2YgdGZpbmQgbW9kZSwgYW5kIGtpbGwgb3IgZGV0YWNoIGFsbCBpbmZlcmlv cnMuICAqLwogICAgVFJZCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3V0aWxzLmMK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi91dGlscy5jCTIw MTctMDItMjYgMjE6MTE6MzUuNjU3MzUwNjAxICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAy MDcvZ2RiL3V0aWxzLmMJMjAxNy0wMi0yNiAyMToxMTo1Mi45MzQ0NzMxNDMgKzAxMDAKLUBAIC0x MDYsNiArMTA2LDEzIEBACitkaWZmIC0tZ2l0IGEvZ2RiL3V0aWxzLmMgYi9nZGIvdXRpbHMuYwor aW5kZXggZjcyZGRhYjk5Mi4uMjZhOTIzZDhiMyAxMDA2NDQKKy0tLSBhL2dkYi91dGlscy5jCisr KysgYi9nZGIvdXRpbHMuYworQEAgLTEwNyw2ICsxMDcsMTMgQEAgc3RhdGljIHN0ZDo6Y2hyb25v OjpzdGVhZHlfY2xvY2s6OmR1cmF0aW9uIHByb21wdF9mb3JfY29udGludWVfd2FpdF90aW1lOwog IAotIGludCBqb2JfY29udHJvbDsKKyBzdGF0aWMgaW50IGRlYnVnX3RpbWVzdGFtcCA9IDA7CiAg CiArI2lmZGVmIE5FRURfREVUQUNIX1NJR1NUT1AKICsvKiBOb256ZXJvIG1lYW5zIHdlIGFyZSBh bHJlYWR5IHByb2Nlc3NpbmcgdGhlIHF1aXR0aW5nIGNsZWFudXBzIGFuZCB3ZSBzaG91bGQKQEAg LTc4LDMgKzg4LDYgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi91dGlscy5jCiAg LyogTm9uemVybyBtZWFucyB0aGF0IHN0cmluZ3Mgd2l0aCBjaGFyYWN0ZXIgdmFsdWVzID4weDdG IHNob3VsZCBiZSBwcmludGVkCiAgICAgYXMgb2N0YWwgZXNjYXBlcy4gIFplcm8gbWVhbnMganVz dCBwcmludCB0aGUgdmFsdWUgKGUuZy4gaXQncyBhbgogICAgIGludGVybmF0aW9uYWwgY2hhcmFj dGVyLCBhbmQgdGhlIHRlcm1pbmFsIG9yIHdpbmRvdyBjYW4gY29wZS4pICAqLworLS0gCisyLjE0 LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02Ljgtc3BhcmM2NC1zaWxlbmNlLW1lbWNweS1jaGVjay5w YXRjaCBiL2dkYi02Ljgtc3BhcmM2NC1zaWxlbmNlLW1lbWNweS1jaGVjay5wYXRjaAppbmRleCA0 Y2MzNDU0Li40M2YzZTYyIDEwMDY0NAotLS0gYS9nZGItNi44LXNwYXJjNjQtc2lsZW5jZS1tZW1j cHktY2hlY2sucGF0Y2gKKysrIGIvZ2RiLTYuOC1zcGFyYzY0LXNpbGVuY2UtbWVtY3B5LWNoZWNr LnBhdGNoCkBAIC0xLDE1ICsxLDIxIEBACitGcm9tIDI3ZDJjYzUzN2ZkYTc2NDBhYTQ2NTY5MWNm OThiMWJmZTQyNGYyMmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RC IHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTow Nzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuOC1zcGFyYzY0LXNpbGVuY2UtbWVtY3B5LWNoZWNr LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi44LXNwYXJjNjQtc2lsZW5jZS1tZW1jcHktY2hlY2su cGF0Y2gKIAorOzsgU2lsZW5jZSBtZW1jcHkgY2hlY2sgd2hpY2ggcmV0dXJucyBmYWxzZSBwb3Np dGl2ZSAoc3BhcmM2NCkKKzs7PXB1c2g6IEJ1dCBpdCBpcyBqdXN0IGEgR0NDIHdvcmthcm91bmQs IGxvb2sgdXAgdGhlIGV4aXN0aW5nIEdDQyBQUiBmb3IgaXQuCistLS0KKyBnZGIvc3BhcmMtdGRl cC5jIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCiAKLUluZGV4OiBnZGIt Ny40LjUwLjIwMTExMjE4L2dkYi9zcGFyYy10ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40 LjUwLjIwMTExMjE4Lm9yaWcvZ2RiL3NwYXJjLXRkZXAuYwkyMDExLTA5LTI4IDE5OjU5OjQyLjAw MDAwMDAwMCArMDIwMAotKysrIGdkYi03LjQuNTAuMjAxMTEyMTgvZ2RiL3NwYXJjLXRkZXAuYwky MDExLTEyLTE5IDAxOjI1OjI5LjI5NDA0NjE5OSArMDEwMAotQEAgLTEzMTYsNiArMTMxNiw3IEBA IHNwYXJjMzJfc3RvcmVfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgdHlwZQorZGlmZiAtLWdpdCBhL2dk Yi9zcGFyYy10ZGVwLmMgYi9nZGIvc3BhcmMtdGRlcC5jCitpbmRleCA4MDljYjlhYzJlLi4zMjFj OTI0NGE5IDEwMDY0NAorLS0tIGEvZ2RiL3NwYXJjLXRkZXAuYworKysrIGIvZ2RiL3NwYXJjLXRk ZXAuYworQEAgLTE0NDQsNiArMTQ0NCw3IEBAIHNwYXJjMzJfc3RvcmVfcmV0dXJuX3ZhbHVlIChz dHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKICAgIGlmIChzcGFy Y19mbG9hdGluZ19wICh0eXBlKSB8fCBzcGFyY19jb21wbGV4X2Zsb2F0aW5nX3AgKHR5cGUpKQog ICAgICB7CiAgICAgICAgLyogRmxvYXRpbmcgcmV0dXJuIHZhbHVlcy4gICovCkBAIC0xNywzICsy Myw2IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTExMjE4L2dkYi9zcGFyYy10ZGVwLmMKICAgICAg ICBtZW1jcHkgKGJ1ZiwgdmFsYnVmLCBsZW4pOwogICAgICAgIHJlZ2NhY2hlX2Nvb2tlZF93cml0 ZSAocmVnY2FjaGUsIFNQQVJDX0YwX1JFR05VTSwgYnVmKTsKICAgICAgICBpZiAobGVuID4gNCkK Ky0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi44LXdhdGNocG9pbnQtY29uZGl0aW9u YWxzLXRlc3QucGF0Y2ggYi9nZGItNi44LXdhdGNocG9pbnQtY29uZGl0aW9uYWxzLXRlc3QucGF0 Y2gKaW5kZXggYjI5MDJlMC4uNmQ0ZGE3MSAxMDA2NDQKLS0tIGEvZ2RiLTYuOC13YXRjaHBvaW50 LWNvbmRpdGlvbmFscy10ZXN0LnBhdGNoCisrKyBiL2dkYi02Ljgtd2F0Y2hwb2ludC1jb25kaXRp b25hbHMtdGVzdC5wYXRjaApAQCAtMSwxOCArMSw2NSBAQAorRnJvbSA4ZGJkNzU3Y2IxNDRhOTVm NGM2NzZmNTYxYjk0MGFkZmE5Y2FlOTVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTog RmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0 IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02Ljgtd2F0Y2hwb2ludC1jb25kaXRp b25hbHMtdGVzdC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuOC13YXRjaHBvaW50LWNvbmRpdGlv bmFscy10ZXN0LnBhdGNoCiAKKzs7IFRlc3QgdGhlIHdhdGNocG9pbnRzIGNvbmRpdGlvbmFscyB3 b3Jrcy4KKzs7PWZlZG9yYXRlc3QKIAogRm9yOgogaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dk Yi1wYXRjaGVzLzIwMDgtMDQvbXNnMDAzNzkuaHRtbAogaHR0cDovL3NvdXJjZXdhcmUub3JnL21s L2dkYi1jdnMvMjAwOC0wNC9tc2cwMDEwNC5odG1sCistLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3dhdGNocG9pbnQtY29uZC5jICAgfCAzMSArKysrKysrKysrKysrKysrKysrKysrKysrCisg Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50LWNvbmQuZXhwIHwgMzcgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCsp CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1j b25kLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBv aW50LWNvbmQuZXhwCiAKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL3dhdGNocG9pbnQtY29uZC5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2 MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtY29uZC5leHAJMjAxNi0wMi0x NSAyMzozMzo0OS41MTkwOTk3NTkgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3dhdGNocG9pbnQtY29uZC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBv aW50LWNvbmQuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmQ0ZWM1 ODE5NDYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hw b2ludC1jb25kLmMKK0BAIC0wLDAgKzEsMzEgQEAKKysvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQg b2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKworKyAgIENvcHlyaWdodCAyMDA4IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNl bnNlcy8+LgorKworKyAgIFBsZWFzZSBlbWFpbCBhbnkgYnVncywgY29tbWVudHMsIGFuZC9vciBh ZGRpdGlvbnMgdG8gdGhpcyBmaWxlIHRvOgorKyAgIGJ1Zy1nZGJAcHJlcC5haS5taXQuZWR1ICAq LworKworK2ludAorK21haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKKyt7CisrICBzdGF0aWMg aW50IGkgPSAwOyAvKiBgc3RhdGljJyB0byBzdGFydCBpbml0aWFsaXplZC4gICovCisrICBpbnQg aiA9IDI7CisrCisrICBmb3IgKGogPSAwOyBqIDwgMzA7IGorKykKKysgICAgaSA9IDMwIC0gajsK KysKKysgIHJldHVybiAwOworK30KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L3dhdGNocG9pbnQtY29uZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQt Y29uZC5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4zMWQ1YjYw MmFhCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9p bnQtY29uZC5leHAKIEBAIC0wLDAgKzEsMzcgQEAKICsjIENvcHlyaWdodCAyMDA4IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtNTEsMzkgKzk4LDYgQEAgSW5kZXg6IGdkYi03 LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1jb25kLmV4 cAogKwogK2dkYl90ZXN0ICJ3YXRjaCBpIGlmIGkgPCAyMCIgImF0Y2hwb2ludCBcWzAtOVxdKzog aSIKICtnZGJfdGVzdCAiY29udCIgImF0Y2hwb2ludCBcWzAtOVxdKzogaS4qT2xkIHZhbHVlID0g MjAuKk5ldyB2YWx1ZSA9IDE5LioiCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50LWNvbmQuYwotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkw LjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1jb25kLmMJMjAxNi0w Mi0xNSAyMzozMjo1MS45NzQ2OTExODggKzAxMDAKLUBAIC0wLDAgKzEsMzEgQEAKLSsvKiBUaGlz IHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgotKwotKyAgIENvcHly aWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0r ICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwotKyAgIFBsZWFzZSBlbWFpbCBhbnkgYnVncywg Y29tbWVudHMsIGFuZC9vciBhZGRpdGlvbnMgdG8gdGhpcyBmaWxlIHRvOgotKyAgIGJ1Zy1nZGJA cHJlcC5haS5taXQuZWR1ICAqLwotKwotK2ludAotK21haW4gKGludCBhcmdjLCBjaGFyICoqYXJn dikKLSt7Ci0rICBzdGF0aWMgaW50IGkgPSAwOyAvKiBgc3RhdGljJyB0byBzdGFydCBpbml0aWFs aXplZC4gICovCi0rICBpbnQgaiA9IDI7Ci0rCi0rICBmb3IgKGogPSAwOyBqIDwgMzA7IGorKykK LSsgICAgaSA9IDMwIC0gajsKLSsKLSsgIHJldHVybiAwOwotK30KKy0tIAorMi4xNC4zCisKCmRp ZmYgLS1naXQgYS9nZGItNy4yLjUwLXNwYXJjLWFkZC13b3JrYXJvdW5kLXRvLWJyb2tlbi1kZWJ1 Zy1maWxlcy5wYXRjaCBiL2dkYi03LjIuNTAtc3BhcmMtYWRkLXdvcmthcm91bmQtdG8tYnJva2Vu LWRlYnVnLWZpbGVzLnBhdGNoCmluZGV4IGQxNDA1MmYuLmM2MzA2YzggMTAwNjQ0Ci0tLSBhL2dk Yi03LjIuNTAtc3BhcmMtYWRkLXdvcmthcm91bmQtdG8tYnJva2VuLWRlYnVnLWZpbGVzLnBhdGNo CisrKyBiL2dkYi03LjIuNTAtc3BhcmMtYWRkLXdvcmthcm91bmQtdG8tYnJva2VuLWRlYnVnLWZp bGVzLnBhdGNoCkBAIC0xLDE0ICsxLDMwIEBACitGcm9tIGU4MDNkYTk1ZWI1ODVkMzJmOGM4Zjc5 MzQ0NTk4MjgyNzI1NWY2ZGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEg R0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAy MTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTcuMi41MC1zcGFyYy1hZGQtd29ya2Fyb3VuZC10 by1icm9rZW4tZGVidWctZmlsZXMucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi03LjIuNTAtc3BhcmMt YWRkLXdvcmthcm91bmQtdG8tYnJva2VuLWRlYnVnLWZpbGVzLnBhdGNoCiAKKzs7IFRvb2xjaGFp biBvbiBzcGFyYyBpcyBzbGlnaHRseSBicm9rZW4gYW5kIGRlYnVnaW5mbyBmaWxlcyBhcmUgZ2Vu ZXJhdGVkCis7OyB3aXRoIG5vbiA2NGJpdCBhbGlnbmVkIHRhYmxlcy9vZmZzZXRzLgorOzsgU2Vl IGZvciBleGFtcGxlIHJlYWRlbGYgLVMgLi4vWHZuYy5kZWJ1Zy4KKzs7Cis7OyBBcyBhIGNvbnNl bnF1ZW5jZSBjYWxjdWxhdGlvbiBvZiBzZWN0cC0+ZmlsZXBvcyBhcyB1c2VkIGluCis7OyBkd2Fy ZjJfcmVhZF9zZWN0aW9uIChnZGIvZHdhcmYycmVhZC5jOjE1MjUpIHdpbGwgcmV0dXJuIGEgbm9u IGFsaWduZWQgYnVmZmVyCis7OyB0aGF0IGNhbm5vdCBiZSB1c2VkIGRpcmVjdGx5IGFzIGRvbmUg d2l0aCBNTUFQLgorOzsgVXNhZ2Ugd2lsbCByZXN1bHQgaW4gYSBCdXNFcnJvci4KKzs7Cis7OyBX aGlsZSB3ZSBmaWd1cmUgb3V0IHdoYXQncyB3cm9uZyBpbiB0aGUgdG9vbGNoYWluIGFuZCBkbyBh IGZ1bGwgYXJjaGl2ZQorOzsgcmVidWlsZCB0byBmaXggaXQsIHdlIG5lZWQgdG8gYmUgYWJsZSB0 byB1c2UgZ2RiIDopCis7Oz1wdXNoCistLS0KKyBnZGIvZ2RiX2JmZC5jIHwgNiArKysrKysKKyAx IGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBnZGItNy45LjkwLjIwMTUw NzA5L2dkYi9nZGJfYmZkLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9y aWcvZ2RiL2dkYl9iZmQuYwkyMDE1LTA3LTA5IDE4OjIzOjU5LjM0NDAxNzg4MiArMDIwMAotKysr IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2dkYl9iZmQuYwkyMDE1LTA3LTA5IDE4OjI0OjA2Ljk4 NjA4MzA3MSArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi9nZGJfYmZkLmMgYi9nZGIvZ2RiX2JmZC5j CitpbmRleCBjYzAyNzQwYzFhLi4yNDE1NWU3YzU1IDEwMDY0NAorLS0tIGEvZ2RiL2dkYl9iZmQu YworKysrIGIvZ2RiL2dkYl9iZmQuYwogQEAgLTI0LDEyICsyNCwxNCBAQAogICNpbmNsdWRlICJo YXNodGFiLmgiCiAgI2luY2x1ZGUgImZpbGVzdHVmZi5oIgpAQCAtMjQsNyArNDAsNyBAQCBJbmRl eDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvZ2RiX2JmZC5jCiAgI2luY2x1ZGUgInRhcmdldC5o IgogICNpbmNsdWRlICJnZGIvZmlsZWlvLmgiCiAgI2luY2x1ZGUgImluZmVyaW9yLmgiCi1AQCAt Mzk3LDYgKzM5OSw3IEBAIGZyZWVfb25lX2JmZF9zZWN0aW9uIChiZmQgKmFiZmQsIGFzZWN0aW8K K0BAIC00ODQsNiArNDg2LDcgQEAgZnJlZV9vbmVfYmZkX3NlY3Rpb24gKGJmZCAqYWJmZCwgYXNl Y3Rpb24gKnNlY3RwLCB2b2lkICppZ25vcmUpCiAgCiAgICBpZiAoc2VjdCAhPSBOVUxMICYmIHNl Y3QtPmRhdGEgIT0gTlVMTCkKICAgICAgewpAQCAtMzIsMTUgKzQ4LDE1IEBAIEluZGV4OiBnZGIt Ny45LjkwLjIwMTUwNzA5L2dkYi9nZGJfYmZkLmMKICAjaWZkZWYgSEFWRV9NTUFQCiAgICAgICAg aWYgKHNlY3QtPm1hcF9hZGRyICE9IE5VTEwpCiAgCXsKLUBAIC00MDcsNiArNDEwLDcgQEAgZnJl ZV9vbmVfYmZkX3NlY3Rpb24gKGJmZCAqYWJmZCwgYXNlY3RpbworQEAgLTQ5Myw2ICs0OTYsNyBA QCBmcmVlX29uZV9iZmRfc2VjdGlvbiAoYmZkICphYmZkLCBhc2VjdGlvbiAqc2VjdHAsIHZvaWQg Kmlnbm9yZSkKKyAJICBnZGJfYXNzZXJ0IChyZXMgPT0gMCk7CiAgCX0KICAgICAgICBlbHNlCi0g I2VuZGlmCiArI2VuZGlmCisgI2VuZGlmCiAgCXhmcmVlIChzZWN0LT5kYXRhKTsKICAgICAgfQot IH0KLUBAIC01NTgsNiArNTYyLDcgQEAgZ2RiX2JmZF9tYXBfc2VjdGlvbiAoYXNlY3Rpb24gKnNl Y3RwLCBiZgorQEAgLTY1OSw2ICs2NjMsNyBAQCBnZGJfYmZkX21hcF9zZWN0aW9uIChhc2VjdGlv biAqc2VjdHAsIGJmZF9zaXplX3R5cGUgKnNpemUpCiAgICBpZiAoZGVzY3JpcHRvci0+ZGF0YSAh PSBOVUxMKQogICAgICBnb3RvIGRvbmU7CiAgCkBAIC00OCw3ICs2NCw3IEBAIEluZGV4OiBnZGIt Ny45LjkwLjIwMTUwNzA5L2dkYi9nZGJfYmZkLmMKICAjaWZkZWYgSEFWRV9NTUFQCiAgICBpZiAo IWJmZF9pc19zZWN0aW9uX2NvbXByZXNzZWQgKGFiZmQsIHNlY3RwKSkKICAgICAgewotQEAgLTU5 Miw2ICs1OTcsNyBAQCBnZGJfYmZkX21hcF9zZWN0aW9uIChhc2VjdGlvbiAqc2VjdHAsIGJmCitA QCAtNjkzLDYgKzY5OCw3IEBAIGdkYl9iZmRfbWFwX3NlY3Rpb24gKGFzZWN0aW9uICpzZWN0cCwg YmZkX3NpemVfdHlwZSAqc2l6ZSkKICAJfQogICAgICB9CiAgI2VuZGlmIC8qIEhBVkVfTU1BUCAq LwpAQCAtNTYsMyArNzIsNiBAQCBJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvZ2RiX2Jm ZC5jCiAgCiAgICAvKiBIYW5kbGUgY29tcHJlc3NlZCBzZWN0aW9ucywgb3Igb3JkaW5hcnkgdW5j b21wcmVzc2VkIHNlY3Rpb25zIGluCiAgICAgICB0aGUgbm8tbW1hcCBjYXNlLiAgKi8KKy0tIAor Mi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItYWRkLWluZGV4LWNobW9kLnBhdGNoIGIvZ2RiLWFk ZC1pbmRleC1jaG1vZC5wYXRjaApvbGQgbW9kZSAxMDA3NTUKbmV3IG1vZGUgMTAwNjQ0CmluZGV4 IGJiYTg1ZGYuLmUwYmU2NDEKLS0tIGEvZ2RiLWFkZC1pbmRleC1jaG1vZC5wYXRjaAorKysgYi9n ZGItYWRkLWluZGV4LWNobW9kLnBhdGNoCkBAIC0xLDEyICsxLDE0IEBACitGcm9tIDBiZTU5NWY0 Njk0NTM2YzM0OGMzN2IwZTcyMGNjYTA2NTEzYTAwMWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJp LCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogW3BhdGNoXSBjb250cmliL2dk Yi1hZGQtaW5kZXguc2g6IGNobW9kIHUrdworU3ViamVjdDogY29udHJpYi9nZGItYWRkLWluZGV4 LnNoOiBjaG1vZCB1K3cKIAogRmlsZU5hbWU6IGdkYi1hZGQtaW5kZXgtY2htb2QucGF0Y2gKIAot aHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTctMDEvbXNnMDAxMTAuaHRt bAotCis7OyBGaXggZ2RiLWFkZC1pbmRleCBmb3IgNDQ0ICouZGVidWcgZmlsZXMuCis7Oz1wdXNo K2phbgogCitodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxNy0wMS9tc2cw MDExMC5odG1sCiAKIC0tQWhobExib0xka3VnV1U0UwogQ29udGVudC1UeXBlOiB0ZXh0L3BsYWlu OyBjaGFyc2V0PXVzLWFzY2lpCkBAIC0yNiw3ICsyOCw2IEBAIHRoYXQgdGltZSB3aGlsZSBpbiBG ZWRvcmEgMjUgdGhleSBhcmUgYXBwYXJlbnRseSBubyBsb25nZXIgdy4KIAogT0sgZm9yIGNoZWNr LWluPwogCi0KIEphbgogCiAtLUFoaGxMYm9MZGt1Z1dVNFMKQEAgLTM3LDEyICszOCwxNSBAQCBn ZGIvQ2hhbmdlTG9nCiAyMDE3LTAxLTA2ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2Nodmls QHJlZGhhdC5jb20+CiAKIAkqIGNvbnRyaWIvZ2RiLWFkZC1pbmRleC5zaDogVXNlIGNobW9kIHUr dyBmb3IgJGZpbGUuCistLS0KKyBnZGIvY29udHJpYi9nZGItYWRkLWluZGV4LnNoIHwgMTAgKysr KysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p CiAKIGRpZmYgLS1naXQgYS9nZGIvY29udHJpYi9nZGItYWRkLWluZGV4LnNoIGIvZ2RiL2NvbnRy aWIvZ2RiLWFkZC1pbmRleC5zaAotaW5kZXggMGNkNGNlMy4uNWExOTBhMCAxMDA3NTUKK2luZGV4 IGMzNDA1OGQxZDYuLmJiZWMxODRiNWQgMTAwNzU1CiAtLS0gYS9nZGIvY29udHJpYi9nZGItYWRk LWluZGV4LnNoCiArKysgYi9nZGIvY29udHJpYi9nZGItYWRkLWluZGV4LnNoCi1AQCAtMzgsMTAg KzM4LDExIEBAIGZpCitAQCAtNDMsMTAgKzQzLDExIEBAIGZpCiAgZGlyPSIke2ZpbGUlLyp9Igog IHRlc3QgIiRkaXIiID0gIiRmaWxlIiAmJiBkaXI9Ii4iCiAgaW5kZXg9IiR7ZmlsZX0uZ2RiLWlu ZGV4IgpAQCAtNTYsNyArNjAsNyBAQCBpbmRleCAwY2Q0Y2UzLi41YTE5MGEwIDEwMDc1NQogIAog ICRHREIgLS1iYXRjaCAtbnggLWlleCAnc2V0IGF1dG8tbG9hZCBubycgXAogICAgICAtZXggImZp bGUgJGZpbGUiIC1leCAic2F2ZSBnZGItaW5kZXggJGRpciIgfHwgewotQEAgLTU4LDggKzU5LDEz IEBAICRHREIgLS1iYXRjaCAtbnggLWlleCAnc2V0IGF1dG8tbG9hZCBubycgXAorQEAgLTYzLDgg KzY0LDEzIEBAICRHREIgLS1iYXRjaCAtbnggLWlleCAnc2V0IGF1dG8tbG9hZCBubycgXAogIHN0 YXR1cz0wCiAgCiAgaWYgdGVzdCAtZiAiJGluZGV4IjsgdGhlbgpAQCAtNzAsNiArNzQsNiBAQCBp bmRleCAwY2Q0Y2UzLi41YTE5MGEwIDEwMDc1NQogICAgICBzdGF0dXM9JD8KICBlbHNlCiAgICAg IGVjaG8gIiRteW5hbWU6IE5vIGluZGV4IHdhcyBjcmVhdGVkIGZvciAkZmlsZSIgMT4mMgotCi0t LUFoaGxMYm9MZGt1Z1dVNFMtLQorLS0gCisyLjE0LjMKIAoKZGlmZiAtLWdpdCBhL2dkYi1hcmNo ZXItbmV4dC1vdmVyLXRocm93LWN4eC1leGVjLnBhdGNoIGIvZ2RiLWFyY2hlci1uZXh0LW92ZXIt dGhyb3ctY3h4LWV4ZWMucGF0Y2gKaW5kZXggNTg5ZTc3OS4uZGU3MzJkMiAxMDA2NDQKLS0tIGEv Z2RiLWFyY2hlci1uZXh0LW92ZXItdGhyb3ctY3h4LWV4ZWMucGF0Y2gKKysrIGIvZ2RiLWFyY2hl ci1uZXh0LW92ZXItdGhyb3ctY3h4LWV4ZWMucGF0Y2gKQEAgLTEsMTUgKzEsMjcgQEAKK0Zyb20g YmQxYzMxZmYyODM3ODZkNzU5M2EzNmEyNjI3M2I3N2QyZGIyYzZmZSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBE YXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItYXJjaGVy LW5leHQtb3Zlci10aHJvdy1jeHgtZXhlYy5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLWFyY2hlci1u ZXh0LW92ZXItdGhyb3ctY3h4LWV4ZWMucGF0Y2gKIAorOzsgRml4IGZvbGxvdy1leGVjIGZvciBD KysgcHJvZ3JhbXMgKGJ1Z3JlcG9ydGVkIGJ5IE1hcnRpbiBTdHJhbnNreSkuCis7Oz1mZWRvcmF0 ZXN0CiAKIEFyY2hlci11cHN0cmVhbWVkOgogaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2FyY2hl ci8yMDEwLXEyL21zZzAwMDMxLmh0bWwKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmNwL2N4eGV4 ZWMuY2MgIHwgMjUgKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5jcC9j eHhleGVjLmV4cCB8IDUxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK KyAyIGZpbGVzIGNoYW5nZWQsIDc2IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQg Z2RiL3Rlc3RzdWl0ZS9nZGIuY3AvY3h4ZXhlYy5jYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIv dGVzdHN1aXRlL2dkYi5jcC9jeHhleGVjLmV4cAogCi0tLS0gLi9nZGIvdGVzdHN1aXRlL2dkYi5j cC9jeHhleGVjLmNjCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCi0rKysgLi9n ZGIvdGVzdHN1aXRlL2dkYi5jcC9jeHhleGVjLmNjCTIwMTAtMDUtMjkgMDE6MTg6NTYuMDAwMDAw MDAwICswMjAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvY3h4ZXhlYy5jYyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2N4eGV4ZWMuY2MKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwMDAwLi40OGZkNjNlOWQzCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5jcC9jeHhleGVjLmNjCiBAQCAtMCwwICsxLDI1IEBACiArLyogVGhpcyB0ZXN0 IHNjcmlwdCBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTM2LDggKzQ4 LDExIEBAIGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9hcmNoZXIvMjAxMC1xMi9tc2cwMDAzMS5o dG1sCiArICBleGVjbHAgKCJ0cnVlIiwgInRydWUiLCBOVUxMKTsKICsgIHJldHVybiAxOwogK30K LS0tLSAuL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2N4eGV4ZWMuZXhwCTE5NzAtMDEtMDEgMDE6MDA6 MDAuMDAwMDAwMDAwICswMTAwCi0rKysgLi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9jeHhleGVjLmV4 cAkyMDEwLTA1LTI5IDAxOjI5OjI1LjAwMDAwMDAwMCArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvZ2RiLmNwL2N4eGV4ZWMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvY3h4ZXhl Yy5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5jODVkZDAxMjlk CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9jeHhleGVjLmV4cAog QEAgLTAsMCArMSw1MSBAQAogKyMgQ29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCiArCkBAIC05MCwzICsxMDUsNiBAQCBodHRwOi8vc291cmNld2FyZS5vcmcvbWwv YXJjaGVyLzIwMTAtcTIvbXNnMDAwMzEuaHRtbAogKwogKyMgYGluZm8gaW5mZXJpb3JzJyBjYW4g c2hvdyA8bnVsbD4gb24gb2xkZXIgR0RCcy4KICtnZGJfdGVzdCAiaW5mbyB0aHJlYWRzIiAiaW5m byB0aHJlYWRzIiAicHJvZ3JhbSBmaW5pc2hlZCIKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQg YS9nZGItYXJjaGVyLXBpZS1hZGRvbnMta2VlcC1kaXNhYmxlZC5wYXRjaCBiL2dkYi1hcmNoZXIt cGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCmluZGV4IDhiMWVkMmUuLmRkNzg3NjYgMTAw NjQ0Ci0tLSBhL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCisrKyBi L2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCkBAIC0xLDE4ICsxLDI2 IEBACitGcm9tIGNhY2E1NjQ3NDE0YTI1MDZiMDg0ZWEwZmIxZmEwNjdkMjEyYzlmYTAgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1h aWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDog Z2RiLWFyY2hlci1waWUtYWRkb25zLWtlZXAtZGlzYWJsZWQucGF0Y2gKIAogRmlsZU5hbWU6IGdk Yi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCiAKKzs7PXB1c2gramFuOiBC cmVha3BvaW50cyBkaXNhYmxpbmcgbWF0Y2hpbmcgc2hvdWxkIG5vdCBiZSBiYXNlZCBvbiBhZGRy ZXNzLgorLS0tCisgZ2RiL2JyZWFrcG9pbnQuYyB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCisgZ2RiL2JyZWFrcG9pbnQuaCB8ICAzICsrKworIGdkYi9v YmpmaWxlcy5jICAgfCAgNSArKysrKworIDMgZmlsZXMgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygr KQogCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2JyZWFrcG9pbnQuYwotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2JyZWFrcG9pbnQuYwkyMDE3 LTA0LTIwIDIzOjA0OjM5LjYyNzk2MDUyMyArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9icmVha3BvaW50LmMJMjAxNy0wNC0yMCAyMzowNzoyOS44NTQ5MTk3MjUgKzAyMDAKLUBA IC0xNjA4Niw2ICsxNjA4Niw1MCBAQAorZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmMgYi9n ZGIvYnJlYWtwb2ludC5jCitpbmRleCBkNGQwOTVkODdlLi5iYzAxMzRkYjM2IDEwMDY0NAorLS0t IGEvZ2RiL2JyZWFrcG9pbnQuYworKysrIGIvZ2RiL2JyZWFrcG9pbnQuYworQEAgLTE1NjA3LDYg KzE1NjA3LDUwIEBAIGluaXRpYWxpemVfYnJlYWtwb2ludF9vcHMgKHZvaWQpCisgCiAgc3RhdGlj IHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICplbmFibGVicmVha2xpc3QgPSBOVUxMOwogIAotIHZv aWQKKyt2b2lkCiArYnJlYWtwb2ludHNfcmVsb2NhdGUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxl LCBzdHJ1Y3Qgc2VjdGlvbl9vZmZzZXRzICpkZWx0YSkKICt7CiArICBzdHJ1Y3QgYnBfbG9jYXRp b24gKmJsLCAqKmJscF90bXA7CkBAIC01NiwyNyArNjQsMjggQEAgSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9icmVha3BvaW50LmMKICsJICAgYnBfbG9jYXRpb25zX2NvbXBhcmUpOwog K30KICsKLSt2b2lkCisgdm9pZAogIF9pbml0aWFsaXplX2JyZWFrcG9pbnQgKHZvaWQpCiAgewot ICAgc3RydWN0IGNtZF9saXN0X2VsZW1lbnQgKmM7Ci1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL2JyZWFrcG9pbnQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIw Lm9yaWcvZ2RiL2JyZWFrcG9pbnQuaAkyMDE3LTA0LTIwIDIzOjA0OjM5LjYyNzk2MDUyMyArMDIw MAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9icmVha3BvaW50LmgJMjAxNy0wNC0yMCAy MzowNDo0OC4zMzEwMDk1NjMgKzAyMDAKLUBAIC0xNjQ2LDQgKzE2NDYsNyBAQAorZGlmZiAtLWdp dCBhL2dkYi9icmVha3BvaW50LmggYi9nZGIvYnJlYWtwb2ludC5oCitpbmRleCA2NDA2YTFkMzJi Li5lZWQyYzk2OGYyIDEwMDY0NAorLS0tIGEvZ2RiL2JyZWFrcG9pbnQuaAorKysrIGIvZ2RiL2Jy ZWFrcG9pbnQuaAorQEAgLTE2NTYsNiArMTY1Niw5IEBAIGV4dGVybiBjb25zdCBjaGFyICplcF9w YXJzZV9vcHRpb25hbF9pZl9jbGF1c2UgKGNvbnN0IGNoYXIgKiphcmcpOwogICAgIFVJT1VUIGlm ZiBkZWJ1Z2dpbmcgbXVsdGlwbGUgdGhyZWFkcy4gICovCiAgZXh0ZXJuIHZvaWQgbWF5YmVfcHJp bnRfdGhyZWFkX2hpdF9icmVha3BvaW50IChzdHJ1Y3QgdWlfb3V0ICp1aW91dCk7CiAgCiArZXh0 ZXJuIHZvaWQgYnJlYWtwb2ludHNfcmVsb2NhdGUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAog KwkJCQkgIHN0cnVjdCBzZWN0aW9uX29mZnNldHMgKmRlbHRhKTsKICsKLSAjZW5kaWYgLyogIWRl ZmluZWQgKEJSRUFLUE9JTlRfSCkgKi8KLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv b2JqZmlsZXMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2Ri L29iamZpbGVzLmMJMjAxNy0wNC0yMCAyMzowNDozOS42Mjc5NjA1MjMgKzAyMDAKLSsrKyBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvb2JqZmlsZXMuYwkyMDE3LTA0LTIwIDIzOjA0OjQ4LjMzMjAw OTU2OSArMDIwMAotQEAgLTkwOSw2ICs5MDksMTEgQEAKKyAvKiBQcmludCB0aGUgc3BlY2lmaWVk IGJyZWFrcG9pbnQuICAqLworIGV4dGVybiB2b2lkIHByaW50X2JyZWFrcG9pbnQgKGJyZWFrcG9p bnQgKmJwKTsKKyAKK2RpZmYgLS1naXQgYS9nZGIvb2JqZmlsZXMuYyBiL2dkYi9vYmpmaWxlcy5j CitpbmRleCBlZGRlMzk5ODAyLi4xZDI0ZmE5NWJhIDEwMDY0NAorLS0tIGEvZ2RiL29iamZpbGVz LmMKKysrKyBiL2dkYi9vYmpmaWxlcy5jCitAQCAtODc5LDYgKzg3OSwxMSBAQCBvYmpmaWxlX3Jl bG9jYXRlMSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCQkJCW9ial9zZWN0aW9uX2FkZHIg KHMpKTsKICAgICAgfQogIApAQCAtODgsMyArOTcsNiBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL29iamZpbGVzLmMKICAgIC8qIERhdGEgY2hhbmdlZC4gICovCiAgICByZXR1cm4g MTsKICB9CistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLWFyY2hlci1waWUtYWRkb25z LnBhdGNoIGIvZ2RiLWFyY2hlci1waWUtYWRkb25zLnBhdGNoCmluZGV4IDNmNmFhM2EuLmI2N2Vj ZDggMTAwNjQ0Ci0tLSBhL2dkYi1hcmNoZXItcGllLWFkZG9ucy5wYXRjaAorKysgYi9nZGItYXJj aGVyLXBpZS1hZGRvbnMucGF0Y2gKQEAgLTEsMTUgKzEsMjEgQEAKK0Zyb20gNTc1NmE2ZDM4NWNm YjQ1MWI3NTJjNmE3NzI1MmYyYmVmZDQzNDkzZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZy b206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3 IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItYXJjaGVyLXBpZS1hZGRvbnMu cGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1hcmNoZXItcGllLWFkZG9ucy5wYXRjaAogCis7Oz1wdXNo K2phbjogTWF5IGdldCBvYnNvbGV0ZWQgYnkgVG9tJ3MgdW5yZWxvY2F0ZWQgb2JqZmlsZXMgcGF0 Y2guCistLS0KKyBnZGIvZ2RidHlwZXMuaCB8IDUgKysrKysKKyBnZGIvdmFsdWUuYyAgICB8IDMg KystCisgMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAot SW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2dkYnR5cGVzLmgKLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL2dkYnR5cGVzLmgJMjAxNS0wNS0zMSAxNjo1 NToyOS43MjM0NzU0ODUgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9nZGJ0eXBl cy5oCTIwMTUtMDUtMzEgMTY6NTU6NDkuNzE2NjAxNjY5ICswMjAwCi1AQCAtNDYyLDYgKzQ2Miw3 IEBAIGVudW0gZmllbGRfbG9jX2tpbmQKK2RpZmYgLS1naXQgYS9nZGIvZ2RidHlwZXMuaCBiL2dk Yi9nZGJ0eXBlcy5oCitpbmRleCBlMjZhMDliNDU2Li5kOTJmZmMyMjhiIDEwMDY0NAorLS0tIGEv Z2RiL2dkYnR5cGVzLmgKKysrKyBiL2dkYi9nZGJ0eXBlcy5oCitAQCAtNDQwLDYgKzQ0MCw3IEBA IGVudW0gZmllbGRfbG9jX2tpbmQKICAgIHsKICAgICAgRklFTERfTE9DX0tJTkRfQklUUE9TLAkv Kio8IGJpdHBvcyAqLwogICAgICBGSUVMRF9MT0NfS0lORF9FTlVNVkFMLAkvKio8IGVudW12YWwg Ki8KQEAgLTE3LDcgKzIzLDcgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2dkYnR5 cGVzLmgKICAgICAgRklFTERfTE9DX0tJTkRfUEhZU0FERFIsCS8qKjwgcGh5c2FkZHIgKi8KICAg ICAgRklFTERfTE9DX0tJTkRfUEhZU05BTUUsCS8qKjwgcGh5c25hbWUgKi8KICAgICAgRklFTERf TE9DX0tJTkRfRFdBUkZfQkxPQ0sJLyoqPCBkd2FyZl9ibG9jayAqLwotQEAgLTUxMyw2ICs1MTQs NyBAQCB1bmlvbiBmaWVsZF9sb2NhdGlvbgorQEAgLTQ5MSw2ICs0OTIsNyBAQCB1bmlvbiBmaWVs ZF9sb2NhdGlvbgogICAgICAgZmllbGQuICBPdGhlcndpc2UsIHBoeXNuYW1lIGlzIHRoZSBtYW5n bGVkIGxhYmVsIG9mIHRoZQogICAgICAgc3RhdGljIGZpZWxkLiAgKi8KICAKQEAgLTI1LDcgKzMx LDcgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2dkYnR5cGVzLmgKICAgIENPUkVf QUREUiBwaHlzYWRkcjsKICAgIGNvbnN0IGNoYXIgKnBoeXNuYW1lOwogIAotQEAgLTEzODYsNiAr MTM4OCw3IEBAIGV4dGVybiB2b2lkIHNldF90eXBlX3ZwdHJfYmFzZXR5cGUgKHN0cnUKK0BAIC0x MzMyLDYgKzEzMzQsNyBAQCBleHRlcm4gdm9pZCBzZXRfdHlwZV92cHRyX2Jhc2V0eXBlIChzdHJ1 Y3QgdHlwZSAqLCBzdHJ1Y3QgdHlwZSAqKTsKICAjZGVmaW5lIEZJRUxEX0VOVU1WQUxfTFZBTCh0 aGlzZmxkKSAoKHRoaXNmbGQpLmxvYy5lbnVtdmFsKQogICNkZWZpbmUgRklFTERfRU5VTVZBTCh0 aGlzZmxkKSAoRklFTERfRU5VTVZBTF9MVkFMICh0aGlzZmxkKSArIDApCiAgI2RlZmluZSBGSUVM RF9TVEFUSUNfUEhZU05BTUUodGhpc2ZsZCkgKCh0aGlzZmxkKS5sb2MucGh5c25hbWUpCkBAIC0z Myw3ICszOSw3IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9nZGJ0eXBlcy5oCiAg I2RlZmluZSBGSUVMRF9TVEFUSUNfUEhZU0FERFIodGhpc2ZsZCkgKCh0aGlzZmxkKS5sb2MucGh5 c2FkZHIpCiAgI2RlZmluZSBGSUVMRF9EV0FSRl9CTE9DSyh0aGlzZmxkKSAoKHRoaXNmbGQpLmxv Yy5kd2FyZl9ibG9jaykKICAjZGVmaW5lIFNFVF9GSUVMRF9CSVRQT1ModGhpc2ZsZCwgYml0cG9z KQkJCVwKLUBAIC0xMzk3LDYgKzE0MDAsNyBAQCBleHRlcm4gdm9pZCBzZXRfdHlwZV92cHRyX2Jh c2V0eXBlIChzdHJ1CitAQCAtMTM0Myw2ICsxMzQ2LDcgQEAgZXh0ZXJuIHZvaWQgc2V0X3R5cGVf dnB0cl9iYXNldHlwZSAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHR5cGUgKik7CiAgI2RlZmluZSBT RVRfRklFTERfUEhZU05BTUUodGhpc2ZsZCwgbmFtZSkJCQlcCiAgICAoRklFTERfTE9DX0tJTkQg KHRoaXNmbGQpID0gRklFTERfTE9DX0tJTkRfUEhZU05BTUUsCQlcCiAgICAgRklFTERfU1RBVElD X1BIWVNOQU1FICh0aGlzZmxkKSA9IChuYW1lKSkKQEAgLTQxLDcgKzQ3LDcgQEAgSW5kZXg6IGdk Yi03LjkuNTAuMjAxNTA1MjAvZ2RiL2dkYnR5cGVzLmgKICAjZGVmaW5lIFNFVF9GSUVMRF9QSFlT QUREUih0aGlzZmxkLCBhZGRyKQkJCVwKICAgIChGSUVMRF9MT0NfS0lORCAodGhpc2ZsZCkgPSBG SUVMRF9MT0NfS0lORF9QSFlTQUREUiwJCVwKICAgICBGSUVMRF9TVEFUSUNfUEhZU0FERFIgKHRo aXNmbGQpID0gKGFkZHIpKQotQEAgLTE0MTMsNiArMTQxNyw3IEBAIGV4dGVybiB2b2lkIHNldF90 eXBlX3ZwdHJfYmFzZXR5cGUgKHN0cnUKK0BAIC0xMzU5LDYgKzEzNjMsNyBAQCBleHRlcm4gdm9p ZCBzZXRfdHlwZV92cHRyX2Jhc2V0eXBlIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdHlwZSAqKTsK ICAjZGVmaW5lIFRZUEVfRklFTERfQklUUE9TKHRoaXN0eXBlLCBuKSBGSUVMRF9CSVRQT1MgKFRZ UEVfRklFTEQgKHRoaXN0eXBlLCBuKSkKICAjZGVmaW5lIFRZUEVfRklFTERfRU5VTVZBTCh0aGlz dHlwZSwgbikgRklFTERfRU5VTVZBTCAoVFlQRV9GSUVMRCAodGhpc3R5cGUsIG4pKQogICNkZWZp bmUgVFlQRV9GSUVMRF9TVEFUSUNfUEhZU05BTUUodGhpc3R5cGUsIG4pIEZJRUxEX1NUQVRJQ19Q SFlTTkFNRSAoVFlQRV9GSUVMRCAodGhpc3R5cGUsIG4pKQpAQCAtNDksMTEgKzU1LDExIEBAIElu ZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9nZGJ0eXBlcy5oCiAgI2RlZmluZSBUWVBFX0ZJ RUxEX1NUQVRJQ19QSFlTQUREUih0aGlzdHlwZSwgbikgRklFTERfU1RBVElDX1BIWVNBRERSIChU WVBFX0ZJRUxEICh0aGlzdHlwZSwgbikpCiAgI2RlZmluZSBUWVBFX0ZJRUxEX0RXQVJGX0JMT0NL KHRoaXN0eXBlLCBuKSBGSUVMRF9EV0FSRl9CTE9DSyAoVFlQRV9GSUVMRCAodGhpc3R5cGUsIG4p KQogICNkZWZpbmUgVFlQRV9GSUVMRF9BUlRJRklDSUFMKHRoaXN0eXBlLCBuKSBGSUVMRF9BUlRJ RklDSUFMKFRZUEVfRklFTEQodGhpc3R5cGUsbikpCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUy MC9nZGIvdmFsdWUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9n ZGIvdmFsdWUuYwkyMDE1LTA1LTMxIDE2OjU1OjI5LjcyNTQ3NTQ5NyArMDIwMAotKysrIGdkYi03 LjkuNTAuMjAxNTA1MjAvZ2RiL3ZhbHVlLmMJMjAxNS0wNS0zMSAxNjo1NTozMC44MjE0ODI0MTUg KzAyMDAKLUBAIC0yOTUxLDcgKzI5NTEsOCBAQCB2YWx1ZV9zdGF0aWNfZmllbGQgKHN0cnVjdCB0 eXBlICp0eXBlLCBpCitkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHVlLmMgYi9nZGIvdmFsdWUuYworaW5k ZXggM2UwY2EyNWZhNy4uYTYxZjcyODU1MCAxMDA2NDQKKy0tLSBhL2dkYi92YWx1ZS5jCisrKysg Yi9nZGIvdmFsdWUuYworQEAgLTI5NjYsNyArMjk2Niw4IEBAIHZhbHVlX3N0YXRpY19maWVsZCAo c3RydWN0IHR5cGUgKnR5cGUsIGludCBmaWVsZG5vKQogICAgICB7CiAgICAgIGNhc2UgRklFTERf TE9DX0tJTkRfUEhZU0FERFI6CiAgICAgICAgcmV0dmFsID0gdmFsdWVfYXRfbGF6eSAoVFlQRV9G SUVMRF9UWVBFICh0eXBlLCBmaWVsZG5vKSwKQEAgLTYzLDMgKzY5LDYgQEAgSW5kZXg6IGdkYi03 LjkuNTAuMjAxNTA1MjAvZ2RiL3ZhbHVlLmMKICAgICAgICBicmVhazsKICAgICAgY2FzZSBGSUVM RF9MT0NfS0lORF9QSFlTTkFNRToKICAgICAgeworLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBh L2dkYi1hcmNoZXItdmxhLXRlc3RzLnBhdGNoIGIvZ2RiLWFyY2hlci12bGEtdGVzdHMucGF0Y2gK aW5kZXggNWVmMDYzOS4uYTI2MGFiNSAxMDA2NDQKLS0tIGEvZ2RiLWFyY2hlci12bGEtdGVzdHMu cGF0Y2gKKysrIGIvZ2RiLWFyY2hlci12bGEtdGVzdHMucGF0Y2gKQEAgLTEsMTQgKzEsMTA2IEBA CitGcm9tIGQ0NzI1YWEzYjNjZWM0MzA1MjcwMjEyN2NhN2NjZGQzZjM4MGFkZDcgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwu Y29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2Ri LWFyY2hlci12bGEtdGVzdHMucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1hcmNoZXItdmxhLXRlc3Rz LnBhdGNoCiAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5h ZGEvcGFja2VkX2FycmF5LmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3 Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYWRhL3BhY2tlZF9hcnJheS5leHAJMjAxNy0wMi0yNiAx OToxNToyOC41NTI4MjQ3NTEgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVz dHN1aXRlL2dkYi5hZGEvcGFja2VkX2FycmF5LmV4cAkyMDE3LTAyLTI2IDE5OjE1OjM2LjU5Nzg4 MjMxNiArMDEwMAotQEAgLTU2LDUgKzU2LDExIEBACis7Oz1mZWRvcmF0ZXN0CistLS0KKyBnZGIv dGVzdHN1aXRlL2dkYi5hZGEvcGFja2VkX2FycmF5LmV4cCAgICAgICAgICAgICB8ICAgNiArCisg Z2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXItZm9vLlMgICAgfCAzNTgg KysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2lu dGVyLmMgICAgICAgIHwgIDQ1ICsrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxh LXBvaW50ZXIuZXhwICAgICAgfCAgNjUgKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZf NjQtdmxhLXR5cGVkZWYtZm9vLlMgICAgfCA0NTUgKysrKysrKysrKysrKysrKysrKysrCisgZ2Ri L3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYuYyAgICAgICAgfCAgNDUgKysK KyBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5leHAgICAgICB8ICA2 NCArKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMgICAgICAgICAgICAgICAg ICB8ICAgNyArCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAgICAgICAgICAg ICAgICAgfCAgMTAgKy0KKyAuLi4vZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3Mu YyAgICAgICAgICB8ICAyMCArCisgLi4uL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRy ZXNzLmV4cCAgICAgICAgfCAgMjYgKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1mcmFt ZS5jICAgICAgICAgICAgICAgICB8ICAzMSArKworIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvdmxh LWZyYW1lLmV4cCAgICAgICAgICAgICAgIHwgIDM4ICsrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS92bGEtb3ZlcmZsb3cuYyAgICAgICAgICAgICAgfCAgMzAgKysKKyBnZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3ZsYS1vdmVyZmxvdy5leHAgICAgICAgICAgICB8IDEwOSArKysrKworIGdkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvdmxhLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDU1ICsrKworIGdk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmV4cCAgICAgICAgICAgICAgICAgICAgIHwgIDYyICsr KworIGdkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYjk1OTMuY2MgICAgICAgICAgICAgICAgICAgIHwg MTgwICsrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiOTU5My5leHAgICAgICAgICAg ICAgICAgICAgfCAxODIgKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1i b3VuZC1sb2NsaXN0LlMgICAgICAgfCAyNDYgKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuZXhwICAgICB8ICA2NiArKysKKyBnZGIvdGVzdHN1 aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmMgICAgICAgICAgICB8ICA0MiArKworIGdkYi90 ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RyaXBwZWQuZXhwICAgICAgICAgIHwgIDc5ICsrKysK KyAuLi4vZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0aW9uLlMgICB8ICA4 MyArKysrCisgLi4uL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5l eHAgfCAgMzcgKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN1YnJhbmdlLW5vLXR5 cGUuUyAgICB8IDEyMSArKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN1YnJh bmdlLW5vLXR5cGUuZXhwICB8ICAzOSArKworIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdh cmYtc3RyaWRlLmV4cCAgICAgICAgIHwgIDQyICsrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9kd2FyZi1zdHJpZGUuZjkwICAgICAgICAgfCAgNDAgKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2R5bmFtaWMuZXhwICAgICAgICAgICAgICB8IDE1NCArKysrKysrCisgZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmY5MCAgICAgICAgICAgICAgfCAgOTggKysrKysKKyBn ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5leHAgICAgICAgICAgICAgICB8ICA1OSAr KysKKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5mOTAgICAgICAgICAgICAgICB8 ICAzNyArKworIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZXhwICAgICAgICAg ICAgIHwgIDcyICsrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdlLmY5MCAg ICAgICAgICAgICB8ICAyOCArKworIGdkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUt dHlwZS5jICAgICAgICAgIHwgIDI2ICsrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1z dGFsZS10eXBlLmV4cCAgICAgICAgfCAgNTcgKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2Fy cmF5LWZyb20tcmVnaXN0ZXItZnVuYy5jICAgfCAgMjIgKworIGdkYi90ZXN0c3VpdGUvZ2RiLm9w dC9hcnJheS1mcm9tLXJlZ2lzdGVyLmMgICAgICAgIHwgIDI4ICsrCisgZ2RiL3Rlc3RzdWl0ZS9n ZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwICAgICAgfCAgMzMgKysKKyBnZGIvdGVzdHN1 aXRlL2dkYi5vcHQvZm9ydHJhbi1zdHJpbmcuZXhwICAgICAgICAgICB8ICAzOSArKworIGdkYi90 ZXN0c3VpdGUvZ2RiLm9wdC9mb3J0cmFuLXN0cmluZy5mOTAgICAgICAgICAgIHwgIDI4ICsrCisg Z2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5leHAgICAgICAgICAgICAgICAgfCAxMDQg KysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLnBhcyAgICAgICAgICAgICAg ICB8ICA4MiArKysrCisgZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cCAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDUgKworIGdkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDE3ICsKKyA0NiBmaWxlcyBjaGFuZ2VkLCAzNDcxIGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC94ODZfNjQtdmxhLXBvaW50ZXItZm9vLlMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYworIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci5leHAKKyBjcmVhdGUg bW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYtZm9v LlMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxh LXR5cGVkZWYuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4 Nl82NC12bGEtdHlwZWRlZi5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3MuZXhwCisg Y3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLWZyYW1lLmMKKyBj cmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtZnJhbWUuZXhwCisg Y3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmMK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cu ZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMKKyBj cmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuZXhwCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYjk1OTMuY2MKKyBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiOTU5My5leHAKKyBjcmVhdGUgbW9kZSAx MDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LlMKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0 LmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0 cmlwcGVkLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3 Mi1zdHJpcHBlZC5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdh cmYyL2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24uUworIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlv bi5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1z dWJyYW5nZS1uby10eXBlLlMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIu ZHdhcmYyL2R3Mi1zdWJyYW5nZS1uby10eXBlLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5leHAKKyBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZjkwCisgY3JlYXRlIG1v ZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5leHAKKyBjcmVhdGUg bW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmY5MAorIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5leHAKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwCisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZXhwCisg Y3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZjkw CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUt dHlwZS5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXIt c3RhbGUtdHlwZS5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0 L2FycmF5LWZyb20tcmVnaXN0ZXItZnVuYy5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0 c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQg Z2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwCisgY3JlYXRlIG1v ZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLm9wdC9mb3J0cmFuLXN0cmluZy5leHAKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2ZvcnRyYW4tc3RyaW5nLmY5MAor IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLmV4cAor IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLnBhcwor CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYWRhL3BhY2tlZF9hcnJheS5leHAgYi9n ZGIvdGVzdHN1aXRlL2dkYi5hZGEvcGFja2VkX2FycmF5LmV4cAoraW5kZXggMzIyMmE5NWZhYS4u OGRhZmI2NWNmOSAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFkYS9wYWNrZWRfYXJy YXkuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hZGEvcGFja2VkX2FycmF5LmV4cAorQEAg LTU2LDUgKzU2LDExIEBAIGdkYl90ZXN0X211bHRpcGxlICIkdGVzdCIgIiR0ZXN0IiB7CiAgICAg ICAgICAjIGFyZS4gIE9ic2VydmVkIHdpdGggKEZTRiBHTlUgQWRhIDQuNS4zIDIwMTEwMTI0KS4K ICAgICAgICAgIHhmYWlsICR0ZXN0CiAgICAgIH0KQEAgLTIwLDEwICsxMTIsMTEgQEAgSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmFkYS9wYWNrZWRfYXJyYXku ZXhwCiArICAgIH0KICB9CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXItZm9vLlMKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4x Mi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci1m b28uUwkyMDE3LTAyLTI2IDE5OjE1OjM2LjU5ODg4MjMyMyArMDEwMAorZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLWZvby5TIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXItZm9vLlMKK25ldyBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCAwMDAwMDAwMDAwLi4zYTk4M2U2YjIyCistLS0gL2Rldi9udWxsCisrKysgYi9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci1mb28uUwogQEAgLTAsMCAr MSwzNTggQEAKICsJLmZpbGUJIng4Nl82NC12bGEtcG9pbnRlci5jIgogKwkudGV4dApAQCAtMzgz LDEwICs0NzYsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUv Z2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLWZvby5TCiArCS5zdHJpbmcJImFycmF5IgogKwku aWRlbnQJIkdDQzogKEdOVSkgNi4yLjEgMjAxNjA5MTYgKFJlZCBIYXQgNi4yLjEtMikiCiArCS5z ZWN0aW9uCS5ub3RlLkdOVS1zdGFjaywiIixAcHJvZ2JpdHMKLUluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci5jCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQt dmxhLXBvaW50ZXIuYwkyMDE3LTAyLTI2IDE5OjE1OjM2LjU5ODg4MjMyMyArMDEwMAorZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLmMgYi9nZGIv dGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci5jCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMDAwMC4uOThlZTQzYmJmMgorLS0tIC9kZXYvbnVsbAorKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYwogQEAgLTAsMCArMSw0 NSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIu CiArCkBAIC00MzMsMTAgKzUyNywxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYwogK30KICsKICsjZW5kaWYK LUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82 NC12bGEtcG9pbnRlci5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVz dHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci5leHAJMjAxNy0wMi0yNiAxOToxNToz Ni41OTg4ODIzMjMgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4 Nl82NC12bGEtcG9pbnRlci5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEt cG9pbnRlci5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4zZTJl NjRhNmFiCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82 NC12bGEtcG9pbnRlci5leHAKIEBAIC0wLDAgKzEsNjUgQEAKICsjIENvcHlyaWdodCAyMDA5IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtNTAzLDEwICs1OTgsMTEgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZs YS1wb2ludGVyLmV4cAogK2dkYl90ZXN0ICJ3aGF0aXMgYXJyYXkiICJ0eXBlID0gYXJyYXlfdCIg InNlY29uZDogd2hhdGlzIGFycmF5IgogK2dkYl90ZXN0ICJ3aGF0aXMgYXJyYXlfdCIgInR5cGUg PSBjaGFyIFxcXFt2YXJpYWJsZSBsZW5ndGhcXFxdIiAic2Vjb25kOiB3aGF0aXMgYXJyYXlfdCIK ICtnZGJfdGVzdCAicHR5cGUgYXJyYXkiICJ0eXBlID0gY2hhciBcXFxbNzhcXFxdIiAic2Vjb25k OiBwdHlwZSBhcnJheSIKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi1mb28uUwotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUw LjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLWZvby5T CTIwMTctMDItMjYgMTk6MTU6MzYuNTk4ODgyMzIzICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYtZm9vLlMgYi9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi1mb28uUworbmV3IGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDAwMDAwMDAwMDAuLjY2ZjdhMzk5YmYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLWZvby5TCiBAQCAtMCwwICsxLDQ1 NSBAQAogKwkuZmlsZQkieDg2XzY0LXZsYS10eXBlZGVmLmMiCiArCS5zZWN0aW9uCS5kZWJ1Z19h YmJyZXYsIiIsQHByb2diaXRzCkBAIC05NjMsMTAgKzEwNTksMTEgQEAgSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLWZv by5TCiArCS5zdHJpbmcJIkdOVSBDIDQuMy4yIDIwMDgxMTA1IChSZWQgSGF0IDQuMy4yLTcpIgog KwkuaWRlbnQJIkdDQzogKEdOVSkgNC4zLjIgMjAwODExMDUgKFJlZCBIYXQgNC4zLjItNykiCiAr CS5zZWN0aW9uCS5ub3RlLkdOVS1zdGFjaywiIixAcHJvZ2JpdHMKLUluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5jCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZf NjQtdmxhLXR5cGVkZWYuYwkyMDE3LTAyLTI2IDE5OjE1OjM2LjU5OTg4MjMzMCArMDEwMAorZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmMgYi9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5jCituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNDAwOTllOWQzOQorLS0tIC9kZXYvbnVsbAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYuYwogQEAgLTAsMCAr MSw0NSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdn ZXIuCiArCkBAIC0xMDEzLDEwICsxMTEwLDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIw Ny9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5jCiArfQogKwogKyNl bmRpZgotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv eDg2XzY0LXZsYS10eXBlZGVmLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAkyMDE3LTAyLTI2IDE5 OjE1OjM2LjU5OTg4MjMzMCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFy Y2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0 LXZsYS10eXBlZGVmLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAu LjRlZjYyMTQ2MjkKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv eDg2XzY0LXZsYS10eXBlZGVmLmV4cAogQEAgLTAsMCArMSw2NCBAQAogKyMgQ29weXJpZ2h0IDIw MDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMDgyLDEwICsxMTgwLDEw IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4 Nl82NC12bGEtdHlwZWRlZi5leHAKICtnZGJfdGVzdCAid2hhdGlzIGFycmF5IiAidHlwZSA9IGFy cmF5X3QiICJzZWNvbmQ6IHdoYXRpcyBhcnJheSIKICsKICtnZGJfdGVzdCAicHR5cGUgYXJyYXki ICJ0eXBlID0gY2hhciBcXFxbNzhcXFxdIiAic2Vjb25kOiBwdHlwZSBhcnJheSIKLUluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvYXJyYXlpZHguYwkyMDE3LTAyLTI2IDE5OjE1OjI4LjU1NTgyNDc3MiArMDEwMAotKysr IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguYwky MDE3LTAyLTI2IDE5OjE1OjM2LjU5OTg4MjMzMCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlp ZHguYworaW5kZXggNTExYjg2YjcyOC4uZTExMTQ3OWJiMyAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguYworKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9h cnJheWlkeC5jCiBAQCAtMTcsNiArMTcsMTMgQEAKICAKICBpbnQgYXJyYXlbXSA9IHsxLCAyLCAz LCA0fTsKQEAgLTExMDAsMTEgKzExOTgsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguYwogIGludAogIG1haW4gKHZvaWQpCiAg ewotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJy YXlpZHguZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4cAkyMDE3LTAyLTI2IDE5OjE1OjI4LjU1NTgy NDc3MiArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvYXJyYXlpZHguZXhwCTIwMTctMDItMjYgMTk6MTU6MzYuNTk5ODgyMzMwICswMTAwCi1AQCAt NDksNCArNDksMTIgQEAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5 aWR4LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguZXhwCitpbmRleCBjMmQ0 ZmQ5NThkLi42OWVkNDUwYWUzIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9h cnJheWlkeC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguZXhwCitA QCAtNDksNCArNDksMTIgQEAgZ2RiX3Rlc3QgInByaW50IGFycmF5IiBcCiAgICAgICAgICAgIlxc e1xcXFswXFxcXSA9IDEsIFxcXFsxXFxcXSA9IDIsIFxcXFsyXFxcXSA9IDMsIFxcXFszXFxcXSA9 IDRcXH0iIFwKICAgICAgICAgICAicHJpbnQgYXJyYXkgd2l0aCBhcnJheS1pbmRleGVzIG9uIgog IApAQCAtMTExOCwxMCArMTIxNiwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAKICsJdW5zdXBwb3J0ZWQgIiR0ZXN0IChu byBHQ0MpIgogKyAgICB9CiArfQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3MuYwotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZp ZWxkLWFkZHJlc3MuYwkyMDE3LTAyLTI2IDE5OjE1OjM2LjU5OTg4MjMzMCArMDEwMAorZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3Mu YyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3MuYwor bmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmVlYjdiODUwMWMKKy0tLSAv ZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxk LWFkZHJlc3MuYwogQEAgLTAsMCArMSwyMCBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBv ZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMTQzLDEwICsxMjQyLDExIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZh ci1maWVsZC1hZGRyZXNzLmMKICtzdHJ1Y3QgewogKyAgaW50IGZpZWxkOwogK30gc3RhdGljc3Ry dWN0ID0geyAxIH07Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5leHAKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4x Mi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1h ZGRyZXNzLmV4cAkyMDE3LTAyLTI2IDE5OjE1OjM2LjYwMDg4MjMzNyArMDEwMAorZGlmZiAtLWdp dCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3MuZXhw IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5leHAK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4zM2M5ZTk0ZWVlCistLS0g L2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVs ZC1hZGRyZXNzLmV4cAogQEAgLTAsMCArMSwyNiBAQAogKyMgQ29weXJpZ2h0IDIwMDkgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMTc0LDEwICsxMjc0LDExIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZh ci1maWVsZC1hZGRyZXNzLmV4CiArCiArZ2RiX3Rlc3Qge3NldCAkdmFyc3RydWN0ID0gc3RhdGlj c3RydWN0fQogK2dkYl90ZXN0IHtwICR2YXJzdHJ1Y3QuZmllbGR9ICIgPSAxIgotSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLWZyYW1lLmMKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1m cmFtZS5jCTIwMTctMDItMjYgMTk6MTU6MzYuNjAwODgyMzM3ICswMTAwCitkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtZnJhbWUuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvdmxhLWZyYW1lLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi41 NzUwZjY4YjNkCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3Zs YS1mcmFtZS5jCiBAQCAtMCwwICsxLDMxIEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9m IEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTEyMTAsMTAgKzEzMTEsMTEgQEAgSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLWZyYW1lLmMK ICsgIGYgKHMpOwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLWZyYW1lLmV4cAotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLWZyYW1lLmV4cAkyMDE3LTAy LTI2IDE5OjE1OjM2LjYwMDg4MjMzNyArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvdmxhLWZyYW1lLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLWZyYW1l LmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjQ3NzM2Yzc2MjUK Ky0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLWZyYW1lLmV4 cAogQEAgLTAsMCArMSwzOCBAQAogKyMgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCiArIwpAQCAtMTI1MywxMCArMTM1NSwxMSBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtZnJhbWUuZXhwCiArfQogKwog K2dkYl90ZXN0ICJidCBmdWxsIiAiXHJcbiArcyA9IFwiWFxcXFwwMDBcIlxyXG4uKiIKLUluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1vdmVyZmxv dy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAw MDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS92bGEtb3ZlcmZsb3cuYwkyMDE3LTAyLTI2IDE5OjE1OjM2LjYwMDg4MjMzNyArMDEwMAorZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmMgYi9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3ZsYS1vdmVyZmxvdy5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMDAwMC4uYzVkNWVlMGJiOQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuYwogQEAgLTAsMCArMSwzMCBAQAogKy8qIFRoaXMg dGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMjg4LDEw ICsxMzkxLDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3ZsYS1vdmVyZmxvdy5jCiArCiArICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuZXhwCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEt b3ZlcmZsb3cuZXhwCTIwMTctMDItMjYgMTk6MTU6MzYuNjAwODgyMzM3ICswMTAwCitkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuZXhwIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMDAwMC4uNDNhNTgyNTk3OQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuZXhwCiBAQCAtMCwwICsxLDEwOSBAQAogKyMgQ29w eXJpZ2h0IDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xNDAyLDEw ICsxNTA2LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3ZsYS1vdmVyZmxvdy5leHAKICtnZGJfdGVzdCAiYnQiICJpbiBcW14gXF0qYWJvcnQg XFwoLiogaW4gbWFpbiBcXCguKiIgIkJhY2t0cmFjZSBhZnRlciBhYm9ydCgpIgogKwogK3ZlcmJv c2UgLWxvZyAia2JfZm91bmQgaW4gYnQgYWZ0ZXIgYWJvcnQoKSA9IFtleHByIFttZW1vcnlfdl9w YWdlc19nZXRdICogJHBhZ2VzaXplIC8gMTAyNF0iCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuYwotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIw MTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMJMjAxNy0wMi0yNiAxOToxNTozNi42 MDA4ODIzMzcgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS5j IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAuLmUxZjNlZDE3ODAKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvdmxhLmMKIEBAIC0wLDAgKzEsNTUgQEAKICsvKiBUaGlzIHRlc3RjYXNl IGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTQ2MiwxMCArMTU2Nywx MSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92 bGEuYwogKyAgZm9vICg3OCk7CiArICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuZXhwCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu MTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuZXhwCTIwMTctMDItMjYg MTk6MTU6MzYuNjAwODgyMzM3ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS92bGEuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuZXhwCituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNzFmZTYzNzI3MgorLS0tIC9kZXYvbnVsbAor KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuZXhwCiBAQCAtMCwwICsxLDYyIEBACiAr IyBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTE1 MjksMTAgKzE2MzUsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvdmxhLmV4cAogK2dkYl90ZXN0ICJwIHRlbXAxIiAiID0gJzEnIDxyZXBlYXRz IDc4IHRpbWVzPiIgInNlY29uZDogcHJpbnQgdGVtcDEiCiArZ2RiX3Rlc3QgInAgdGVtcDIiICIg PSAnMicgPHJlcGVhdHMgNzggdGltZXM+IiAic2Vjb25kOiBwcmludCB0ZW1wMiIKICtnZGJfdGVz dCAicCB0ZW1wMyIgIiA9ICczJyA8cmVwZWF0cyA0OCB0aW1lcz4iICJzZWNvbmQ6IHByaW50IHRl bXAzIgotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dk Yjk1OTMuY2MKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dk Yi5jcC9nZGI5NTkzLmNjCTIwMTctMDItMjYgMTk6MTU6MzYuNjAxODgyMzQ0ICswMTAwCitkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiOTU5My5jYyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmNwL2dkYjk1OTMuY2MKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAw Li43ODNjOTYyMmE4CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9n ZGI5NTkzLmNjCiBAQCAtMCwwICsxLDE4MCBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBv ZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xNzE0LDEwICsxODIxLDExIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9nZGI5NTkzLmNjCiAr ICAgIH0KICt9CiArCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9n ZGIuY3AvZ2RiOTU5My5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVz dHN1aXRlL2dkYi5jcC9nZGI5NTkzLmV4cAkyMDE3LTAyLTI2IDE5OjE1OjM2LjYwMTg4MjM0NCAr MDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYjk1OTMuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiOTU5My5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwMDAwLi5lZjQwNDI0NDAyCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5jcC9nZGI5NTkzLmV4cAogQEAgLTAsMCArMSwxODIgQEAKICsjIENvcHlyaWdodCAy MDA4LCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTkwMSwxMCAr MjAwOSwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIu Y3AvZ2RiOTU5My5leHAKICtnZGJfdGVzdCAiYWR2YW5jZSAkbGluZSIgXAogKyAgIi4qY2F0Y2gg KC4uLikuKiIgXAogKyAgImFkdmFuY2Utb3Zlci10aHJvdyIKLUluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuUwotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzIt Ym91bmQtbG9jbGlzdC5TCTIwMTctMDItMjYgMTk6MTU6MzYuNjAxODgyMzQ0ICswMTAwCitkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LlMgYi9n ZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuUworbmV3IGZpbGUgbW9k ZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmFhYzNiYWFkOGEKKy0tLSAvZGV2L251bGwKKysr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYm91bmQtbG9jbGlzdC5TCiBAQCAtMCww ICsxLDI0NiBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVi dWdnZXIuCiArCkBAIC0yMTUyLDEwICsyMjYxLDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuUwogKwkuc3Ry aW5nCQkiY2hhciIKICsuTHVpbnRfc3RyOgogKwkuc3RyaW5nCQkidW5zaWduZWQgaW50IgotSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYm91 bmQtbG9jbGlzdC5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1 aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuZXhwCTIwMTctMDItMjYgMTk6MTU6MzYu NjAyODgyMzUyICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3 Mi1ib3VuZC1sb2NsaXN0LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYm91bmQt bG9jbGlzdC5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4zOWU2 OWI0NzBmCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcy LWJvdW5kLWxvY2xpc3QuZXhwCiBAQCAtMCwwICsxLDY2IEBACiArIyBDb3B5cmlnaHQgMjAxMCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTIyMjMsMTAgKzIzMzMsMTEgQEAg SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzIt Ym91bmQtbG9jbGlzdC5leHAKICsKICsjIFRoZSByZWdpc3RlciBjb250YWlucyB1bnByZWRpY3Rh YmxlIHZhbHVlIC0gdGhlIGFycmF5IHNpemUuCiArZ2RiX3Rlc3QgInB0eXBlIHJlZ19zdHJpbmci IHt0eXBlID0gY2hhciBcWy0/WzAtOV0rXF19Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcv Z2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5jCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu MTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5jCTIw MTctMDItMjYgMTk6MTU6MzYuNjAyODgyMzUyICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYy L2R3Mi1zdHJpcHBlZC5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4u MWYwMmQ5MGVlYgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYy L2R3Mi1zdHJpcHBlZC5jCiBAQCAtMCwwICsxLDQyIEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBw YXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTIyNzAsMTAgKzIzODEsMTEgQEAg SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzIt c3RyaXBwZWQuYwogKyAgZnVuYzEgKDEsIDIpOwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RyaXBwZWQu ZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAw MDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdh cmYyL2R3Mi1zdHJpcHBlZC5leHAJMjAxNy0wMi0yNiAxOToxNTozNi42MDI4ODIzNTIgKzAxMDAK K2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RyaXBwZWQuZXhwCituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uOTMzNmUwMzE1NworLS0tIC9kZXYvbnVsbAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5leHAKIEBAIC0wLDAgKzEs NzkgQEAKICsjIENvcHlyaWdodCAyMDA2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KwpAQCAtMjM1NCwxMCArMjQ2NiwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5leHAKICtnZGJfdGVzdCAic3RlcCIg XAogKyAgICAgICAgICJmdW5jLiogXFwoLipcXCkgYXQgLioiIFwKICsgICAgICAgICAic3RlcCIK LUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcy LXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5TCi09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAx NzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9j YXRpb24uUwkyMDE3LTAyLTI2IDE5OjE1OjM2LjYwMjg4MjM1MiArMDEwMAorZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0aW9u LlMgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2Nh dGlvbi5TCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNWZjZGQ4NDk4 NgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1 Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24uUwogQEAgLTAsMCArMSw4MyBAQAogKy8qIFRoaXMgdGVz dGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0yNDQyLDEwICsy NTU1LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5k d2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhCiArCiArCS5ieXRlCQkweDAJCQkvKiBU ZXJtaW5hdG9yICovCiArCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5hdG9yICovCi1JbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3QtbWVt YmVyLWRhdGEtbG9jYXRpb24uZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24uZXhw CTIwMTctMDItMjYgMTk6MTU6MzYuNjAyODgyMzUyICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24uZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24u ZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYmMzNTIwOWZlNQor LS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3Qt bWVtYmVyLWRhdGEtbG9jYXRpb24uZXhwCiBAQCAtMCwwICsxLDM3IEBACiArIyBDb3B5cmlnaHQg MjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTI0ODQsMTAgKzI1OTgs MTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJm Mi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2EKICtjbGVhbl9yZXN0YXJ0ICRiaW5maWxlCiAr CiArZ2RiX3Rlc3QgInB0eXBlIHN0cnVjdCBzb21lX3N0cnVjdCIgInR5cGUgPSBzdHJ1Y3Qgc29t ZV9zdHJ1Y3Qge1xbXHJcbiBcdFxdKnZvaWQgZmllbGQ7XFtcclxuIFx0XF0qfSIKLUluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN1YnJhbmdl LW5vLXR5cGUuUwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAw LjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9kdzItc3VicmFuZ2Utbm8tdHlwZS5TCTIwMTctMDItMjYgMTk6MTU6MzYuNjAy ODgyMzUyICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1z dWJyYW5nZS1uby10eXBlLlMgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN1YnJhbmdl LW5vLXR5cGUuUworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjlkYmJm M2MzZTEKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzIt c3VicmFuZ2Utbm8tdHlwZS5TCiBAQCAtMCwwICsxLDEyMSBAQAogKy8qIFRoaXMgdGVzdGNhc2Ug aXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0yNjEwLDEwICsyNzI1LDEx IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIv ZHcyLXN1YnJhbmdlLW5vLXR5cGUuUwogKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLwog KwogKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLwotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3VicmFuZ2Utbm8tdHlwZS5leHAK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAg KzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIv ZHcyLXN1YnJhbmdlLW5vLXR5cGUuZXhwCTIwMTctMDItMjYgMTk6MTU6MzYuNjAzODgyMzU5ICsw MTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdWJyYW5nZS1u by10eXBlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3VicmFuZ2Utbm8tdHlw ZS5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5jZWM2NzNjZDM5 CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN1YnJh bmdlLW5vLXR5cGUuZXhwCiBAQCAtMCwwICsxLDM5IEBACiArIyBDb3B5cmlnaHQgMjAxMiBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTI2NTQsMTAgKzI3NzAsMTEgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3Vi cmFuZ2Utbm8tdHlwZS5leHAKICsKICtnZGJfdGVzdCAicHR5cGUgbm90eXBlX3N0cmluZyIge3R5 cGUgPSBjaGFyIFxbMTI5XF19CiArZ2RiX3Rlc3QgInAgbm90eXBlX3N0cmluZyIgIiA9ICd4JyA8 cmVwZWF0cyAxMjkgdGltZXM+IgotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmV4cAotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUw LjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmV4cAkyMDE3 LTAyLTI2IDE5OjE1OjM2LjYwMzg4MjM1OSArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vZHdhcmYtc3RyaWRlLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAw MDAuLmQ3YjhiZWE4ZGIKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vZHdhcmYtc3RyaWRlLmV4cAogQEAgLTAsMCArMSw0MiBAQAogKyMgQ29weXJpZ2h0IDIw MDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0yNzAxLDEwICsyODE4LDEx IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2R3YXJmLXN0cmlkZS5leHAKICtnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAiYnJlYWstaGVy ZSIgIi4qYnJlYWstaGVyZS4qIgogK2dkYl90ZXN0ICJwIGM0MHB0KDEpIiAiID0gJzAtaGVsbG8u KiIKICtnZGJfdGVzdCAicCBjNDBwdCgyKSIgIiA9ICcxLWhlbGxvLioiCi1JbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZjkw Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAw ICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9kd2FyZi1zdHJpZGUuZjkwCTIwMTctMDItMjYgMTk6MTU6MzYuNjAzODgyMzU5ICswMTAwCitk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZjkwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZjkwCituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uZTQ5MmIzYWY0MgorLS0tIC9kZXYvbnVsbAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZjkwCiBAQCAtMCwwICsx LDQwIEBACiArISBDb3B5cmlnaHQgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K ICshCkBAIC0yNzQ2LDEwICsyODY0LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5mOTAKICsgIHByaW50ICosIGM0 MHB0ICAhIGJyZWFrLWhlcmUKICsKICtlbmQgcHJvZ3JhbSByZXBybwotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5leHAKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK LSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFt aWMuZXhwCTIwMTctMDItMjYgMTk6MTU6MzYuNjAzODgyMzU5ICswMTAwCitkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vZHluYW1pYy5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw MDAwLi4zN2Q0MzVmNzk5CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2R5bmFtaWMuZXhwCiBAQCAtMCwwICsxLDE1NCBAQAogKyMgQ29weXJpZ2h0IDIwMDcg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0yOTA1LDEwICszMDI0LDExIEBA IEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5 bmFtaWMuZXhwCiArZ2RiX3Rlc3QgInAgdmFydCgzLDgpIiAiXFwkXFswLTlcXSogPSA5IgogKyMg bWFwcyB0byBmb286OnZhcnkoMSwzKQogK2dkYl90ZXN0ICJwIHZhcnQoMiw5KSIgIlxcJFxbMC05 XF0qID0gMTAiCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9keW5hbWljLmY5MAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5mOTAJMjAxNy0wMi0yNiAxOToxNTozNi42MDM4 ODIzNTkgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFt aWMuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmY5MAorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjBmNDM1NjQzNzgKKy0tLSAvZGV2L251bGwK KysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5mOTAKIEBAIC0wLDAgKzEs OTggQEAKICshIENvcHlyaWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KyEKQEAgLTMwMDgsMTAgKzMxMjgsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5mOTAKICsgIGlmICh4ICgxLCAxKSAubmUu IDggLm9yLiB4ICgyLCAyKSAubmUuIDkgLm9yLiB4ICgxLCAyKSAubmUuIDQpIGNhbGwgYWJvcnQK ICsgIGlmICh4ICgzLCAxKSAubmUuIDEwKSBjYWxsIGFib3J0CiArZW5kCi1JbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZXhwCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJp bmcuZXhwCTIwMTctMDItMjYgMTk6MTU6MzYuNjA0ODgyMzY2ICswMTAwCitkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9zdHJpbmcuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAw MC4uMWI3YzBkYmY3MworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9zdHJpbmcuZXhwCiBAQCAtMCwwICsxLDU5IEBACiArIyBDb3B5cmlnaHQgMjAwOCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTMwNzIsMTAgKzMxOTMsMTEgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RyaW5n LmV4cAogK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2YXItZmluaXNoIgogK2dkYl90ZXN0 ICJwIGUiICJcXCRcWzAtOVxdKiA9ICdlICAgJyIgInAgZSByZS1zZXQiCiArZ2RiX3Rlc3QgInAg ZiIgIlxcJFxbMC05XF0qID0gXFwoXFwoICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywg J2YgICAnLCAnZiAgICcsICdmICAgJ1xcKSBcXCggJ2YyICAnLCAnZiAgICcsICdmICAgJywgJ2Yg ICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnXFwpIFxcKCAnZiAgICcsICdmICAgJywgJ2YgICAn LCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICdcXCkgXFwpIiAicCAqZiByZS1zZXQiCi1J bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJp bmcuZjkwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9zdHJpbmcuZjkwCTIwMTctMDItMjYgMTk6MTU6MzYuNjA0ODgyMzY2ICswMTAwCitk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMDAwMC4uMjI2ZGM1ZDBmZgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwCiBAQCAtMCwwICsxLDM3IEBACiArISBDb3B5cmln aHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICshCkBAIC0zMTE0LDEwICsz MjM2LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3N0cmluZy5mOTAKICsgIGggPSAnaCcKICsgIGNhbGwgZm9vIChnLCBoKQogK2VuZAot SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3Vi cmFuZ2UuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9zdWJyYW5nZS5leHAJMjAxNy0wMi0yNiAxOToxNTozNi42MDQ4ODIzNjYgKzAx MDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdlLmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZXhwCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYzEyMWFiOTc1MQorLS0tIC9kZXYvbnVsbAorKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5leHAKIEBAIC0wLDAgKzEsNzIgQEAK ICsjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAt MzE5MSwxMCArMzMxNCwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5leHAKICtnZGJfdW5sb2FkCiArc2V0dXBfa2ZhaWwg IiotKi0qIiAidmxhcmVncmVzc2lvbi85OTk5IgogK2dkYl90ZXN0IHtwICRhICgzLCAyOjIpfSB7 ID0gXCgyM1wpfQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vc3VicmFuZ2UuZjkwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5mOTAJMjAxNy0wMi0yNiAxOToxNTozNi42 MDQ4ODIzNjYgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1 YnJhbmdlLmY5MCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZjkwCituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNDc0N2VhOTc0NgorLS0tIC9kZXYv bnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5mOTAKIEBAIC0w LDAgKzEsMjggQEAKICshIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgogKyEKQEAgLTMyMjQsMTAgKzMzNDgsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZjkwCiArICBwdHIgPT4gYQog KyAgd3JpdGUgKCosKikgYSAgICAgICAgICAgICAgICAgISBicmVhay1zdGF0aWMKICtlbmQKLUlu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0 YWxlLXR5cGUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAw LjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUv Z2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5jCTIwMTctMDItMjYgMTk6MTU6MzYuNjA0ODgyMzY2 ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10 eXBlLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0YWxlLXR5cGUuYworbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmViY2VkM2MwNDIKKy0tLSAvZGV2L251 bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5jCiBAQCAt MCwwICsxLDI2IEBACiArLyogQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCiArCkBAIC0zMjU1LDEwICszMzgwLDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0YWxlLXR5cGUuYwogKwogKyAgcmV0 dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2Ri Lm1pL21pMi12YXItc3RhbGUtdHlwZS5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIw Ny9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0YWxlLXR5cGUuZXhwCTIwMTctMDItMjYg MTk6MTU6MzYuNjA0ODgyMzY2ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu bWkvbWkyLXZhci1zdGFsZS10eXBlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXIt c3RhbGUtdHlwZS5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi44 ODMyNmMwMzkwCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTIt dmFyLXN0YWxlLXR5cGUuZXhwCiBAQCAtMCwwICsxLDU3IEBACiArIyBDb3B5cmlnaHQgMjAxMSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsjCkBAIC0zMzE3LDEwICszNDQzLDExIEBA IEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFy LXN0YWxlLXR5cGUuZXhwCiArbWlfY3JlYXRlX3Zhcm9iaiAidmxhIiAidmxhIiAiY3JlYXRlIGxv Y2FsIHZhcmlhYmxlIHZsYSIKICsKICttaV9nZGJfdGVzdCAiLXZhci11cGRhdGUgKiIgIlxcXmRv bmUsY2hhbmdlbGlzdD0uKiIgIi12YXItdXBkYXRlICoiCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXItZnVuYy5jCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5 LWZyb20tcmVnaXN0ZXItZnVuYy5jCTIwMTctMDItMjYgMTk6MTU6MzYuNjA0ODgyMzY2ICswMTAw CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIt ZnVuYy5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXItZnVuYy5j CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNzI5ZjQ1N2M4MgorLS0t IC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0 ZXItZnVuYy5jCiBAQCAtMCwwICsxLDIyIEBACiArLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgR0RC LCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMzM0NCwxMCArMzQ3MSwxMSBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0 ZXItZnVuYy5jCiArewogKyAgcmV0dXJuIGFyclswXTsKICt9Ci1JbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuYwotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1m cm9tLXJlZ2lzdGVyLmMJMjAxNy0wMi0yNiAxOToxNTozNi42MDU4ODIzNzMgKzAxMDAKK2RpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5jIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuYworbmV3IGZpbGUgbW9kZSAx MDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjMwOTBlN2U2MzEKKy0tLSAvZGV2L251bGwKKysrKyBi L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmMKIEBAIC0wLDAgKzEs MjggQEAKICsvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiAr CkBAIC0zMzc3LDEwICszNTA1LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv dGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5jCiArCiArICByZXR1cm4gMDsK ICt9Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2Fy cmF5LWZyb20tcmVnaXN0ZXIuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwCTIwMTctMDItMjYgMTk6 MTU6MzYuNjA1ODgyMzczICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0 L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZy b20tcmVnaXN0ZXIuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4u ZjJkZTcxOGJjMworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2Fy cmF5LWZyb20tcmVnaXN0ZXIuZXhwCiBAQCAtMCwwICsxLDMzIEBACiArIyBDb3B5cmlnaHQgMjAw OSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsjCkBAIC0zNDE1LDEwICszNTQ0LDEx IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJy YXktZnJvbS1yZWdpc3Rlci5leHAKICsjIFNlZW4gcmVncmVzc2lvbjoKICsjIEFkZHJlc3MgcmVx dWVzdGVkIGZvciBpZGVudGlmaWVyICJhcnIiIHdoaWNoIGlzIGluIHJlZ2lzdGVyICRyZGkKICtn ZGJfdGVzdCAicCBhcnJcWzBcXSIgIlxcJFxbMC05XF0rID0gNDIiCi1JbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2ZvcnRyYW4tc3RyaW5nLmV4cAotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9mb3J0cmFu LXN0cmluZy5leHAJMjAxNy0wMi0yNiAxOToxNTozNi42MDU4ODIzNzMgKzAxMDAKK2RpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvZm9ydHJhbi1zdHJpbmcuZXhwIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIub3B0L2ZvcnRyYW4tc3RyaW5nLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAuLjkwYTJiZGYyMTIKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLm9wdC9mb3J0cmFuLXN0cmluZy5leHAKIEBAIC0wLDAgKzEsMzkgQEAKICsjIENv cHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMzQ1OSwx MCArMzU4OSwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9n ZGIub3B0L2ZvcnRyYW4tc3RyaW5nLmV4cAogK2dkYl90ZXN0ICJmcmFtZSIgIi4qcz0nZm9vJy4q IgogK2dkYl90ZXN0ICJwdHlwZSBzIiAidHlwZSA9IGNoYXJhY3RlclxcKjMiCiArZ2RiX3Rlc3Qg InAgcyIgIlxcJFxbMC05XF0qID0gJ2ZvbyciCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcv Z2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2ZvcnRyYW4tc3RyaW5nLmY5MAotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03 LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9mb3J0cmFuLXN0cmluZy5mOTAJ MjAxNy0wMi0yNiAxOToxNTozNi42MDU4ODIzNzMgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5vcHQvZm9ydHJhbi1zdHJpbmcuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0 L2ZvcnRyYW4tc3RyaW5nLmY5MAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAw MDAuLmU0OGQ1MjAwODUKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm9w dC9mb3J0cmFuLXN0cmluZy5mOTAKIEBAIC0wLDAgKzEsMjggQEAKICshIENvcHlyaWdodCAyMDA5 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKQEAgLTM0OTIsMTAgKzM2MjMsMTEg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9mb3J0 cmFuLXN0cmluZy5mOTAKICsgIHByb2dyYW0gbWFpbgogKyAgY2FsbCBmICgnZm9vJykKICsgIGVu ZAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9h cnJheXMuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9n ZGIucGFzY2FsL2FycmF5cy5leHAJMjAxNy0wMi0yNiAxOToxNTozNi42MDU4ODIzNzMgKzAxMDAK K2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLmV4cCBiL2dkYi90 ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMDAwMC4uMjJhY2RiODZkOAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIucGFzY2FsL2FycmF5cy5leHAKIEBAIC0wLDAgKzEsMTA0IEBACiArIyBDb3B5cmln aHQgMjAwOCwgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsjCkBAIC0zNjAx LDEwICszNzMzLDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRl L2dkYi5wYXNjYWwvYXJyYXlzLmV4cAogK30KICtnZGJfdGVzdCAicHJpbnQgRHluQXJyQ2hhciIg Ii4qID0gJ2FiY2RlZmdoaWprbG0nIiAiUHJpbnQgZHluYW1pYyBhcnJheSBvZiBjaGFyIgogKwot SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJh eXMucGFzCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIu cGFzY2FsL2FycmF5cy5wYXMJMjAxNy0wMi0yNiAxOToxNTozNi42MDU4ODIzNzMgKzAxMDAKK2Rp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLnBhcyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMucGFzCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMDAwMC4uMjk1NjAyZDY4YworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIucGFzY2FsL2FycmF5cy5wYXMKIEBAIC0wLDAgKzEsODIgQEAKICt7CiArIENvcHlyaWdo dCAyMDA4LCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpAQCAtMzY4OCwxMSAr MzgyMSwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIu cGFzY2FsL2FycmF5cy5wYXMKICsgIHMgOj0gJ3Rlc3QnIzAnc3RyaW5nJzsKICsgIHdyaXRlbG4o cyk7IHsgc2V0IGJyZWFrcG9pbnQgMiBoZXJlIH0KICtlbmQuCi1JbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDE3LTAyLTI2 IDE5OjE1OjI4LjU2NDgyNDgzNiArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90 ZXN0c3VpdGUvbGliL2dkYi5leHAJMjAxNy0wMi0yNiAxOToxNTozNi42MDc4ODIzODcgKzAxMDAK LUBAIC0xNzgsNiArMTc4LDExIEBACitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2Ri LmV4cCBiL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKK2luZGV4IGZmODIxOGJmM2QuLmM1OTI0 Zjk3YWYgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCisrKysgYi9nZGIv dGVzdHN1aXRlL2xpYi9nZGIuZXhwCitAQCAtMTc4LDYgKzE3OCwxMSBAQCBwcm9jIGdkYl91bmxv YWQge30gewogIAkgICAgc2VuZF9nZGIgInlcbiIKICAJICAgIGV4cF9jb250aW51ZQogIAl9CkBA IC0zNzA0LDExICszODM3LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVz dHN1aXRlL2xpYi9nZGIuZXhwCiAgCS1yZSAiRGlzY2FyZCBzeW1ib2wgdGFibGUgZnJvbSAuKnkg b3Igbi4qJCIgewogIAkgICAgc2VuZF9nZGIgInlcbiIKICAJICAgIGV4cF9jb250aW51ZQotSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi90ZXN0c3VpdGUvbGli L3Bhc2NhbC5leHAJMjAxNy0wMi0yNiAxOToxNToyOC41NjU4MjQ4NDQgKzAxMDAKLSsrKyBnZGIt Ny4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwCTIwMTctMDItMjYg MTk6MTU6MzYuNjA3ODgyMzg3ICswMTAwCi1AQCAtMzcsNiArMzcsOSBAQAorZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAgYi9nZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwu ZXhwCitpbmRleCBhMDU2MmMzZmU1Li44ZjAyNTcxOTZmIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3Rz dWl0ZS9saWIvcGFzY2FsLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFzY2FsLmV4cAor QEAgLTM3LDYgKzM3LDkgQEAgcHJvYyBwYXNjYWxfaW5pdCB7fSB7CiAgICAgIGdsb2JhbCBwYXNj YWxfY29tcGlsZXJfaXNfZnBjCiAgICAgIGdsb2JhbCBncGNfY29tcGlsZXIKICAgICAgZ2xvYmFs IGZwY19jb21waWxlcgpAQCAtMzcxOCw3ICszODUxLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjA3L2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAKICAgICAgZ2xvYmFsIGVudgogICAK ICAgICAgaWYgeyAkcGFzY2FsX2luaXRfZG9uZSA9PSAxIH0gewotQEAgLTY0LDYgKzY3LDIwIEBA CitAQCAtNjQsNiArNjcsMjAgQEAgcHJvYyBwYXNjYWxfaW5pdCB7fSB7CiAgCSAgICBzZXQgcGFz Y2FsX2NvbXBpbGVyX2lzX2ZwYyAxCiAgCSAgICB2ZXJib3NlIC1sb2cgIkZyZWUgUGFzY2FsIGNv bXBpbGVyIGZvdW5kIgogIAl9CkBAIC0zNzM5LDMgKzM4NzIsNiBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFzY2FsLmV4cAogICAgICB9CiAgICAgIHNl dCBwYXNjYWxfaW5pdF9kb25lIDEKICB9ICAgCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEv Z2RiLWFyY2hlci5wYXRjaCBiL2dkYi1hcmNoZXIucGF0Y2gKaW5kZXggYzNjOGRhNi4uMTQ1YzQ2 ZCAxMDA2NDQKLS0tIGEvZ2RiLWFyY2hlci5wYXRjaAorKysgYi9nZGItYXJjaGVyLnBhdGNoCkBA IC0xLDMgKzEsMTMgQEAKK0Zyb20gYTMzYmU1YmE5NTkxN2VjNDlmYzAxNTM4N2JmYzkxNzZmYzc4 MTgwYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8 aW52YWxpZEBlbWFpbC5jb20+CitEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAw CitTdWJqZWN0OiBnZGItYXJjaGVyLnBhdGNoCisKK0ZpbGVOYW1lOiBnZGItYXJjaGVyLnBhdGNo CisKKzs7IFB5dGhvbiBwYXRjaGVzIG9mOiBodHRwOi8vc291cmNld2FyZS5vcmcvZ2RiL3dpa2kv UHJvamVjdEFyY2hlcgorOzs9cHVzaAorCiBodHRwOi8vc291cmNld2FyZS5vcmcvZ2RiL3dpa2kv UHJvamVjdEFyY2hlcgogaHR0cDovL3NvdXJjZXdhcmUub3JnL2dkYi93aWtpL0FyY2hlckJyYW5j aE1hbmFnZW1lbnQKIApAQCAtNSwyMSArMTUsMzMgQEAgR0lUIHNuYXBzaG90OgogY29tbWl0IDcx OGExNjE4YjJmNjkxYTdmNDA3MjEzYmI1MGYxMDBhYzU5ZjkxYzMKIAogdHJvbWV5L3B5dGhvbgor LS0tCisgZ2RiL01ha2VmaWxlLmluICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNiAr KworIGdkYi9kYXRhLWRpcmVjdG9yeS9NYWtlZmlsZS5pbiAgICAgICAgICAgICAgfCAgIDQgKwor IGdkYi9kb2MvZ2RiLnRleGluZm8gICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTAgKysrCisg Z2RiL2RvYy9weXRob24udGV4aSAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiAtCisgZ2Ri L2dkYi1nZGIuZ2RiLmluICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxMCArKysKKyBnZGIv bWFpbi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDkzICsrKysrKysrKysr KysrKysrKy0tLS0tCisgZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvaWdub3JlX2Vycm9ycy5w eSB8ICAzNyArKysrKysrKysKKyBnZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9wYWhvbGUucHkg ICAgICAgIHwgIDgxICsrKysrKysrKysrKysrKysrKysrCisgZ2RiL3B5dGhvbi9saWIvZ2RiL2Z1 bmN0aW9uL2luX3Njb3BlLnB5ICAgICB8ICA0NyArKysrKysrKysrKysKKyBnZGIvcHl0aG9uL3B5 dGhvbi1pbnRlcm5hbC5oICAgICAgICAgICAgICAgIHwgICAzICsKKyBnZGIvcHl0aG9uL3B5dGhv bi5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTEzICsrKysrKysrKysrKysrKysrKysrKysr KysrKysKKyBnZGIvcHl0aG9uL3B5dGhvbi5oICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAy ICsKKyBnZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWUuZXhwICAgICAgIHwgICAyICsK KyBnZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdmFsdWUuZXhwICAgICAgIHwgIDEwICsrKwor IGdkYi92YXJvYmouYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDggKysKKyBn ZGIvdmFyb2JqLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICsKKyAxNiBm aWxlcyBjaGFuZ2VkLCA0MTEgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGdkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2lnbm9yZV9lcnJvcnMucHkK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvcGFob2xlLnB5 CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9pbl9zY29w ZS5weQogCi0KLWRpZmYgLS1naXQgYS9SRUFETUUuYXJjaGVyIGIvUkVBRE1FLmFyY2hlcgotbmV3 IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjE3M2I4ZWEKLS0tLSAvZGV2L251bGwK LSsrKyBiL1JFQURNRS5hcmNoZXIKLUBAIC0wLDAgKzEsMiBAQAotK1RoaXMgYnJhbmNoIG9yaWdp bmFsbHkgaGVsZCB0aGUgUHl0aG9uIGNvZGUgZm9yIGdkYi4gIEl0IHN0aWxsIGV4aXN0cwotK2Jl Y2F1c2UgYSBzbWFsbCBhbW91bnQgb2YgY29kZSBoZXJlIGhhcyBub3QgeWV0IGJlZW4gbWVyZ2Vk IHVwc3RyZWFtLgogZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dkYi9NYWtlZmlsZS5p bgotaW5kZXggMjkxYjFhMC4uMTUwYThlZiAxMDA2NDQKK2luZGV4IGVkZDBiMjM5ZDQuLjBjM2Y4 OWFhN2UgMTAwNjQ0CiAtLS0gYS9nZGIvTWFrZWZpbGUuaW4KICsrKyBiL2dkYi9NYWtlZmlsZS5p bgotQEAgLTIzNTAsNiArMjM1MCwxMiBAQCBzdGFtcC1oOiAkKHNyY2RpcikvY29uZmlnLmluIGNv bmZpZy5zdGF0dXMKK0BAIC0yMTEzLDYgKzIxMTMsMTIgQEAgc3RhbXAtaDogJChzcmNkaXIpL2Nv bmZpZy5pbiBjb25maWcuc3RhdHVzCiAgCSAgQ09ORklHX0xJTktTPSBcCiAgCSAgJChTSEVMTCkg Y29uZmlnLnN0YXR1cwogIApAQCAtMzMsMjIgKzU1LDE5IEBAIGluZGV4IDI5MWIxYTAuLjE1MGE4 ZWYgMTAwNjQ0CiAgCSQoU0hFTEwpIGNvbmZpZy5zdGF0dXMgLS1yZWNoZWNrCiAgCiBkaWZmIC0t Z2l0IGEvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluIGIvZ2RiL2RhdGEtZGlyZWN0b3J5 L01ha2VmaWxlLmluCi1pbmRleCAzMDRkNGIwLi5kMjAwN2E0IDEwMDY0NAoraW5kZXggZGFkZGU4 ODk1YS4uMTllNDM2ZDcyNSAxMDA2NDQKIC0tLSBhL2dkYi9kYXRhLWRpcmVjdG9yeS9NYWtlZmls ZS5pbgogKysrIGIvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCi1AQCAtNzcsNyArNzcs MTEgQEAgUFlUSE9OX0ZJTEVfTElTVCA9IFwKLSAJZ2RiL3R5cGVzLnB5IFwKK0BAIC04MCw2ICs4 MCw4IEBAIFBZVEhPTl9GSUxFX0xJU1QgPSBcCiAgCWdkYi91bndpbmRlci5weSBcCiAgCWdkYi94 bWV0aG9kLnB5IFwKLSsJZ2RiL3R5cGVzLnB5IFwKICAJZ2RiL2NvbW1hbmQvX19pbml0X18ucHkg XAogKwlnZGIvY29tbWFuZC9pZ25vcmVfZXJyb3JzLnB5IFwKICsJZ2RiL2NvbW1hbmQvcGFob2xl LnB5IFwKLSsJZ2RiL2NvbW1hbmQveG1ldGhvZHMucHkgXAogIAlnZGIvY29tbWFuZC9leHBsb3Jl LnB5IFwKKyAJZ2RiL2NvbW1hbmQvYmFja3RyYWNlLnB5IFwKICAJZ2RiL2NvbW1hbmQvZnJhbWVf ZmlsdGVycy5weSBcCi0gCWdkYi9jb21tYW5kL3ByZXR0eV9wcmludGVycy5weSBcCi1AQCAtODks NiArOTMsOCBAQCBQWVRIT05fRklMRV9MSVNUID0gXAorQEAgLTkyLDYgKzk0LDggQEAgUFlUSE9O X0ZJTEVfTElTVCA9IFwKICAJZ2RiL2Z1bmN0aW9uL2FzX3N0cmluZy5weSBcCiAgCWdkYi9mdW5j dGlvbi9jYWxsZXJfaXMucHkgXAogIAlnZGIvZnVuY3Rpb24vc3RyZm5zLnB5IFwKQEAgLTU4LDEw ICs3NywxMCBAQCBpbmRleCAzMDRkNGIwLi5kMjAwN2E0IDEwMDY0NAogIAlnZGIvcHJpbnRlci9i b3VuZF9yZWdpc3RlcnMucHkKICAKIGRpZmYgLS1naXQgYS9nZGIvZG9jL2dkYi50ZXhpbmZvIGIv Z2RiL2RvYy9nZGIudGV4aW5mbwotaW5kZXggMzAwZDc4ZS4uNjk5ZjJjYiAxMDA2NDQKK2luZGV4 IGE3OWM2ODZmMGIuLmQxM2Q0ZGQ5NDUgMTAwNjQ0CiAtLS0gYS9nZGIvZG9jL2dkYi50ZXhpbmZv CiArKysgYi9nZGIvZG9jL2dkYi50ZXhpbmZvCi1AQCAtMTIzMCw2ICsxMjMwLDE2IEBAIGZvciBy ZW1vdGUgZGVidWdnaW5nLgorQEAgLTEyNDAsNiArMTI0MCwxNiBAQCBmb3IgcmVtb3RlIGRlYnVn Z2luZy4KICBSdW4gdXNpbmcgQHZhcntkZXZpY2V9IGZvciB5b3VyIHByb2dyYW0ncyBzdGFuZGFy ZCBpbnB1dCBhbmQgb3V0cHV0LgogIEBjIEZJWE1FOiBraW5nZG9uIHRoaW5rcyB0aGVyZSBpcyBt b3JlIHRvIC10dHkuICBJbnZlc3RpZ2F0ZS4KICAKQEAgLTc5LDcgKzk4LDcgQEAgaW5kZXggMzAw ZDc4ZS4uNjk5ZjJjYiAxMDA2NDQKICBAaXRlbSAtdHVpCiAgQGNpbmRleCBAY29kZXstLXR1aX0K IGRpZmYgLS1naXQgYS9nZGIvZG9jL3B5dGhvbi50ZXhpIGIvZ2RiL2RvYy9weXRob24udGV4aQot aW5kZXggY2U1ODEwZS4uNGNlYjEwOCAxMDA2NDQKK2luZGV4IDAxMjQzYzdjN2QuLmViN2JmM2Nh MDUgMTAwNjQ0CiAtLS0gYS9nZGIvZG9jL3B5dGhvbi50ZXhpCiArKysgYi9nZGIvZG9jL3B5dGhv bi50ZXhpCiBAQCAtODgsOCArODgsNiBAQCBjb250YWluaW5nIEBjb2Rle2VuZH0uICBGb3IgZXhh bXBsZToKQEAgLTkyLDcgKzExMSw3IEBAIGluZGV4IGNlNTgxMGUuLjRjZWIxMDggMTAwNjQ0CiAg PmVuZAogIDIzCiBkaWZmIC0tZ2l0IGEvZ2RiL2dkYi1nZGIuZ2RiLmluIGIvZ2RiL2dkYi1nZGIu Z2RiLmluCi1pbmRleCAwNWEzOGIyLi45ODAxZmRmIDEwMDY0NAoraW5kZXggMDVhMzhiMjY3MC4u OTgwMWZkZmY2NyAxMDA2NDQKIC0tLSBhL2dkYi9nZGItZ2RiLmdkYi5pbgogKysrIGIvZ2RiL2dk Yi1nZGIuZ2RiLmluCiBAQCAtMSw1ICsxLDE1IEBACkBAIC0xMTIsNyArMTMxLDcgQEAgaW5kZXgg MDVhMzhiMi4uOTgwMWZkZiAxMDA2NDQKICAgIHNldCB2YXJpYWJsZSAkZ2RiX2luaXRfZG9uZSA9 IDEKICAKIGRpZmYgLS1naXQgYS9nZGIvbWFpbi5jIGIvZ2RiL21haW4uYwotaW5kZXggZGY0YjEx MS4uNmFjYThiMCAxMDA2NDQKK2luZGV4IGRmMWYxMmJkNzkuLmE1MzBhNjMyYmYgMTAwNjQ0CiAt LS0gYS9nZGIvbWFpbi5jCiArKysgYi9nZGIvbWFpbi5jCiBAQCAtMzMsNiArMzMsNyBAQApAQCAt MTIzLDggKzE0Miw4IEBAIGluZGV4IGRmNGIxMTEuLjZhY2E4YjAgMTAwNjQ0CiAgI2luY2x1ZGUg InNvdXJjZS5oIgogICNpbmNsdWRlICJjbGkvY2xpLWNtZHMuaCIKICAjaW5jbHVkZSAib2JqZmls ZXMuaCIKLUBAIC00NTksNyArNDYwLDcgQEAgc3RydWN0IGNtZGFyZwotIH07CitAQCAtNDc4LDcg KzQ3OSw3IEBAIGV4ZWNfb3JfY29yZV9maWxlX2F0dGFjaCAoY29uc3QgY2hhciAqZmlsZW5hbWUs IGludCBmcm9tX3R0eSkKKyB9CiAgCiAgc3RhdGljIHZvaWQKIC1jYXB0dXJlZF9tYWluXzEgKHN0 cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCkBAIC0xMzIsNyArMTUxLDcgQEAgaW5k ZXggZGY0YjExMS4uNmFjYThiMCAxMDA2NDQKICB7CiAgICBpbnQgYXJnYyA9IGNvbnRleHQtPmFy Z2M7CiAgICBjaGFyICoqYXJndiA9IGNvbnRleHQtPmFyZ3Y7Ci1AQCAtNjc2LDEwICs2NzcsMTQg QEAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQor QEAgLTY5NSwxMCArNjk2LDE0IEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21h aW5fYXJncyAqY29udGV4dCkKICAgICAgICB7ImFyZ3MiLCBub19hcmd1bWVudCwgJnNldF9hcmdz LCAxfSwKICAgICAgICB7ImwiLCByZXF1aXJlZF9hcmd1bWVudCwgMCwgJ2wnfSwKICAgICAgICB7 InJldHVybi1jaGlsZC1yZXN1bHQiLCBub19hcmd1bWVudCwgJnJldHVybl9jaGlsZF9yZXN1bHQs IDF9LApAQCAtMTQ4LDcgKzE2Nyw3IEBAIGluZGV4IGRmNGIxMTEuLjZhY2E4YjAgMTAwNjQ0CiAg ICAgICAgewogIAlpbnQgb3B0aW9uX2luZGV4OwogIAotQEAgLTY5Nyw2ICs3MDIsOSBAQCBjYXB0 dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCitAQCAtNzE2 LDYgKzcyMSw5IEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAq Y29udGV4dCkKICAJICBjYXNlIDA6CiAgCSAgICAvKiBMb25nIG9wdGlvbiB0aGF0IGp1c3Qgc2V0 cyBhIGZsYWcuICAqLwogIAkgICAgYnJlYWs7CkBAIC0xNTgsNyArMTc3LDcgQEAgaW5kZXggZGY0 YjExMS4uNmFjYThiMCAxMDA2NDQKICAJICBjYXNlIE9QVF9TRToKICAJICAgIHN5bWFyZyA9IG9w dGFyZzsKICAJICAgIGV4ZWNhcmcgPSBvcHRhcmc7Ci1AQCAtODU1LDcgKzg2MywzMSBAQCBjYXB0 dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCitAQCAtODg4 LDcgKzg5NiwzMSBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3Mg KmNvbnRleHQpCiAgCiAgICAvKiBOb3cgdGhhdCBnZGJfaW5pdCBoYXMgY3JlYXRlZCB0aGUgaW5p dGlhbCBpbmZlcmlvciwgd2UncmUgaW4KICAgICAgIHBvc2l0aW9uIHRvIHNldCBhcmdzIGZvciB0 aGF0IGluZmVyaW9yLiAgKi8KQEAgLTE5MSw3ICsyMTAsNyBAQCBpbmRleCBkZjRiMTExLi42YWNh OGIwIDEwMDY0NAogICAgICB7CiAgICAgICAgLyogVGhlIHJlbWFpbmluZyBvcHRpb25zIGFyZSB0 aGUgY29tbWFuZC1saW5lIG9wdGlvbnMgZm9yIHRoZQogIAkgaW5mZXJpb3IuICBUaGUgZmlyc3Qg b25lIGlzIHRoZSBzeW0vZXhlYyBmaWxlLCBhbmQgdGhlIHJlc3QKLUBAIC0xMTI1LDcgKzExNTcs OCBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQp CitAQCAtMTE3OCw3ICsxMjEwLDggQEAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRf bWFpbl9hcmdzICpjb250ZXh0KQogIAogICAgLyogUmVhZCBpbiB0aGUgb2xkIGhpc3RvcnkgYWZ0 ZXIgYWxsIHRoZSBjb21tYW5kIGZpbGVzIGhhdmUgYmVlbgogICAgICAgcmVhZC4gICovCkBAIC0y MDEsNyArMjIwLDcgQEAgaW5kZXggZGY0YjExMS4uNmFjYThiMCAxMDA2NDQKICAKICAgIGlmIChi YXRjaF9mbGFnKQogICAgICB7Ci1AQCAtMTEzOCwxNiArMTE3MSwyOSBAQCBzdGF0aWMgdm9pZAor QEAgLTExOTEsMjQgKzEyMjQsMzcgQEAgc3RhdGljIHZvaWQKICBjYXB0dXJlZF9tYWluICh2b2lk ICpkYXRhKQogIHsKICAgIHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQgPSAoc3Ry dWN0IGNhcHR1cmVkX21haW5fYXJncyAqKSBkYXRhOwpAQCAtMjE3LDcgKzIzNiwxMiBAQCBpbmRl eCBkZjRiMTExLi42YWNhOGIwIDEwMDY0NAogLSAgd2hpbGUgKDEpCiArI2lmIEhBVkVfUFlUSE9O CiArICBpZiAocHl0aG9uX3NjcmlwdCkKLSsgICAgeworICAgICB7CistICAgICAgVFJZCistCXsK Ky0JICBjYXB0dXJlZF9jb21tYW5kX2xvb3AgKCk7CistCX0KKy0gICAgICBDQVRDSCAoZXgsIFJF VFVSTl9NQVNLX0FMTCkKICsgICAgICBleHRlcm4gaW50IHBhZ2luYXRpb25fZW5hYmxlZDsKICsg ICAgICBwYWdpbmF0aW9uX2VuYWJsZWQgPSAwOwogKyAgICAgIHJ1bl9weXRob25fc2NyaXB0IChj b250ZXh0LT5hcmdjIC0gb3B0aW5kLCAmY29udGV4dC0+YXJndltvcHRpbmRdKTsKQEAgLTIyNSwy MCArMjQ5LDI5IEBAIGluZGV4IGRmNGIxMTEuLjZhY2E4YjAgMTAwNjQ0CiArICAgIH0KICsgIGVs c2UKICsjZW5kaWYKLSAgICAgewotLSAgICAgIGNhdGNoX2Vycm9ycyAoY2FwdHVyZWRfY29tbWFu ZF9sb29wLCAwLCAiIiwgUkVUVVJOX01BU0tfQUxMKTsKKysgICAgewogKyAgICAgIC8qIE5PVEU6 IGNhZ25leS8xOTk5LTExLTA3OiBUaGVyZSBpcyBwcm9iYWJseSBubyByZWFzb24gZm9yIG5vdAog KwkgbW92aW5nIHRoaXMgbG9vcCBhbmQgdGhlIGNvZGUgZm91bmQgaW4gY2FwdHVyZWRfY29tbWFu ZF9sb29wKCkKICsJIGludG8gdGhlIGNvbW1hbmRfbG9vcCgpIHByb3Blci4gIFRoZSBtYWluIHRo aW5nIGhvbGRpbmcgYmFjayB0aGF0CiArCSBjaGFuZ2UgLSBTRVRfVE9QX0xFVkVMKCkgLSBoYXMg YmVlbiBlbGltaW5hdGVkLiAqLwogKyAgICAgIHdoaWxlICgxKQotKwl7Ci0rCSAgY2F0Y2hfZXJy b3JzIChjYXB0dXJlZF9jb21tYW5kX2xvb3AsIDAsICIiLCBSRVRVUk5fTUFTS19BTEwpOwotKwl9 CisgCXsKKy0JICBleGNlcHRpb25fcHJpbnQgKGdkYl9zdGRlcnIsIGV4KTsKKysJICBUUlkKKysJ ICAgIHsKKysJICAgICAgY2FwdHVyZWRfY29tbWFuZF9sb29wICgpOworKwkgICAgfQorKwkgIENB VENIIChleCwgUkVUVVJOX01BU0tfQUxMKQorKwkgICAgeworKwkgICAgICBleGNlcHRpb25fcHJp bnQgKGdkYl9zdGRlcnIsIGV4KTsKKysJICAgIH0KKysJICBFTkRfQ0FUQ0gKKyAJfQorLSAgICAg IEVORF9DQVRDSAogICAgICB9CiAgICAvKiBObyBleGl0IC0tIGV4aXQgaXMgdGhyb3VnaCBxdWl0 X2NvbW1hbmQuICAqLwogIH0KLUBAIC0xMTkwLDYgKzEyMzYsMTIgQEAgcHJpbnRfZ2RiX2hlbHAg KHN0cnVjdCB1aV9maWxlICpzdHJlYW0pCitAQCAtMTI1MSw2ICsxMjk3LDEyIEBAIHByaW50X2dk Yl9oZWxwIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQogICAgZnB1dHNfdW5maWx0ZXJlZCAoXygi XAogIFRoaXMgaXMgdGhlIEdOVSBkZWJ1Z2dlci4gIFVzYWdlOlxuXG5cCiAgICAgIGdkYiBbb3B0 aW9uc10gW2V4ZWN1dGFibGUtZmlsZSBbY29yZS1maWxlIG9yIHByb2Nlc3MtaWRdXVxuXApAQCAt MjUxLDcgKzI4NCw3IEBAIGluZGV4IGRmNGIxMTEuLjZhY2E4YjAgMTAwNjQ0CiAgICAgIGdkYiBb b3B0aW9uc10gLS1hcmdzIGV4ZWN1dGFibGUtZmlsZSBbaW5mZXJpb3ItYXJndW1lbnRzIC4uLl1c blxuXAogICIpLCBzdHJlYW0pOwogICAgZnB1dHNfdW5maWx0ZXJlZCAoXygiXAotQEAgLTEyMzQs NiArMTI4NiwxMyBAQCBPdXRwdXQgYW5kIHVzZXIgaW50ZXJmYWNlIGNvbnRyb2w6XG5cblwKK0BA IC0xMjk2LDYgKzEzNDgsMTMgQEAgT3V0cHV0IGFuZCB1c2VyIGludGVyZmFjZSBjb250cm9sOlxu XG5cCiAgI2VuZGlmCiAgICBmcHV0c191bmZpbHRlcmVkIChfKCJcCiAgICAtLWRieCAgICAgICAg ICAgICAgREJYIGNvbXBhdGliaWxpdHkgbW9kZS5cblwKQEAgLTI2Nyw3ICszMDAsNyBAQCBpbmRl eCBkZjRiMTExLi42YWNhOGIwIDEwMDY0NAogICIpLCBzdHJlYW0pOwogZGlmZiAtLWdpdCBhL2dk Yi9weXRob24vbGliL2dkYi9jb21tYW5kL2lnbm9yZV9lcnJvcnMucHkgYi9nZGIvcHl0aG9uL2xp Yi9nZGIvY29tbWFuZC9pZ25vcmVfZXJyb3JzLnB5CiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5k ZXggMDAwMDAwMC4uNmZhNDhmZgoraW5kZXggMDAwMDAwMDAwMC4uNmZhNDhmZjA4MQogLS0tIC9k ZXYvbnVsbAogKysrIGIvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvaWdub3JlX2Vycm9ycy5w eQogQEAgLTAsMCArMSwzNyBAQApAQCAtMzEwLDcgKzM0Myw3IEBAIGluZGV4IDAwMDAwMDAuLjZm YTQ4ZmYKICtJZ25vcmVFcnJvcnNDb21tYW5kICgpCiBkaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9s aWIvZ2RiL2NvbW1hbmQvcGFob2xlLnB5IGIvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvcGFo b2xlLnB5CiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uZTA4ZWFmNQoraW5k ZXggMDAwMDAwMDAwMC4uZTA4ZWFmNWNhOAogLS0tIC9kZXYvbnVsbAogKysrIGIvZ2RiL3B5dGhv bi9saWIvZ2RiL2NvbW1hbmQvcGFob2xlLnB5CiBAQCAtMCwwICsxLDgxIEBACkBAIC0zOTcsNyAr NDMwLDcgQEAgaW5kZXggMDAwMDAwMC4uZTA4ZWFmNQogK1BhaG9sZSgpCiBkaWZmIC0tZ2l0IGEv Z2RiL3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL2luX3Njb3BlLnB5IGIvZ2RiL3B5dGhvbi9saWIv Z2RiL2Z1bmN0aW9uL2luX3Njb3BlLnB5CiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAw MDAwMC4uODc0MjY4MAoraW5kZXggMDAwMDAwMDAwMC4uODc0MjY4MDYxNAogLS0tIC9kZXYvbnVs bAogKysrIGIvZ2RiL3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL2luX3Njb3BlLnB5CiBAQCAtMCww ICsxLDQ3IEBACkBAIC00NDksMTAgKzQ4MiwxMCBAQCBpbmRleCAwMDAwMDAwLi44NzQyNjgwCiAr CiArSW5TY29wZSAoKQogZGlmZiAtLWdpdCBhL2dkYi9weXRob24vcHl0aG9uLWludGVybmFsLmgg Yi9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oCi1pbmRleCBlODRjOGQyLi42OTMwNWI0IDEw MDY0NAoraW5kZXggZjA5OWFlNDM3Zi4uNDY4YjBlYmQ5MiAxMDA2NDQKIC0tLSBhL2dkYi9weXRo b24vcHl0aG9uLWludGVybmFsLmgKICsrKyBiL2dkYi9weXRob24vcHl0aG9uLWludGVybmFsLmgK LUBAIC02NzIsNiArNjcyLDkgQEAgY2xhc3MgZ2RicHlfZW50ZXJfdmFyb2JqIDogcHVibGljIGdk YnB5X2VudGVyCitAQCAtNjUxLDYgKzY1MSw5IEBAIGNsYXNzIGdkYnB5X2VudGVyX3Zhcm9iaiA6 IHB1YmxpYyBnZGJweV9lbnRlcgogIAogIH07CiAgCkBAIC00NjMsNyArNDk2LDcgQEAgaW5kZXgg ZTg0YzhkMi4uNjkzMDViNCAxMDA2NDQKICBleHRlcm4gY29uc3Qgc3RydWN0IGxhbmd1YWdlX2Rl Zm4gKnB5dGhvbl9sYW5ndWFnZTsKICAKIGRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5dGhvbi5j IGIvZ2RiL3B5dGhvbi9weXRob24uYwotaW5kZXggN2UwYzUwNy4uYTY3ZmJjMyAxMDA2NDQKK2lu ZGV4IDBmNzFhNDMzNWUuLjAzZjZjNTVkNDAgMTAwNjQ0CiAtLS0gYS9nZGIvcHl0aG9uL3B5dGhv bi5jCiArKysgYi9nZGIvcHl0aG9uL3B5dGhvbi5jCiBAQCAtOTUsNiArOTUsOCBAQCBjb25zdCBz dHJ1Y3QgZXh0ZW5zaW9uX2xhbmd1YWdlX2RlZm4gZXh0ZW5zaW9uX2xhbmd1YWdlX3B5dGhvbiA9 CkBAIC01MDUsNyArNTM4LDcgQEAgaW5kZXggN2UwYzUwNy4uYTY3ZmJjMyAxMDA2NDQKICAvKiBT ZXQgdGhlIHF1aXQgZmxhZy4gICovCiAgCiAgc3RhdGljIHZvaWQKLUBAIC0xMTg3LDYgKzEyMTIs OTIgQEAgZ2RicHlfcHJpbnRfc3RhY2sgKHZvaWQpCitAQCAtMTM1Niw2ICsxMzgxLDkyIEBAIGdk YnB5X3ByaW50X3N0YWNrICh2b2lkKQogIAogIC8qIFJldHVybiB0aGUgY3VycmVudCBQcm9nc3Bh Y2UuCiAgICAgVGhlcmUgYWx3YXlzIGlzIG9uZS4gICovCkBAIC01OTgsNyArNjMxLDcgQEAgaW5k ZXggN2UwYzUwNy4uYTY3ZmJjMyAxMDA2NDQKICAKICBzdGF0aWMgUHlPYmplY3QgKgogIGdkYnB5 X2dldF9jdXJyZW50X3Byb2dzcGFjZSAoUHlPYmplY3QgKnVudXNlZDEsIFB5T2JqZWN0ICp1bnVz ZWQyKQotQEAgLTE4ODEsNiArMTk5Miw4IEBAIFB5TWV0aG9kRGVmIHB5dGhvbl9HZGJNZXRob2Rz W10gPQorQEAgLTIwMzUsNiArMjE0Niw4IEBAIFB5TWV0aG9kRGVmIHB5dGhvbl9HZGJNZXRob2Rz W10gPQogIEV2YWx1YXRlIGNvbW1hbmQsIGEgc3RyaW5nLCBhcyBhIGdkYiBDTEkgY29tbWFuZC4g IE9wdGlvbmFsbHkgcmV0dXJuc1xuXAogIGEgUHl0aG9uIFN0cmluZyBjb250YWluaW5nIHRoZSBv dXRwdXQgb2YgdGhlIGNvbW1hbmQgaWYgdG9fc3RyaW5nIGlzXG5cCiAgc2V0IHRvIFRydWUuIiB9 LApAQCAtNjA4LDcgKzY0MSw3IEBAIGluZGV4IDdlMGM1MDcuLmE2N2ZiYzMgMTAwNjQ0CiAgICAg ICJSZXR1cm4gYSBnZGIgcGFyYW1ldGVyJ3MgdmFsdWUiIH0sCiAgCiBkaWZmIC0tZ2l0IGEvZ2Ri L3B5dGhvbi9weXRob24uaCBiL2dkYi9weXRob24vcHl0aG9uLmgKLWluZGV4IGU0MDdmYWEuLmZj MWM2MzIgMTAwNjQ0CitpbmRleCBlNDA3ZmFhYmZkLi5mYzFjNjMyNmEyIDEwMDY0NAogLS0tIGEv Z2RiL3B5dGhvbi9weXRob24uaAogKysrIGIvZ2RiL3B5dGhvbi9weXRob24uaAogQEAgLTI1LDQg KzI1LDYgQEAKQEAgLTYxOSw3ICs2NTIsNyBAQCBpbmRleCBlNDA3ZmFhLi5mYzFjNjMyIDEwMDY0 NAogKwogICNlbmRpZiAvKiBHREJfUFlUSE9OX0ggKi8KIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5weXRob24vcHktZnJhbWUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5 LWZyYW1lLmV4cAotaW5kZXggZjVkNGEzYy4uMzU0NmY3YiAxMDA2NDQKK2luZGV4IGY1ZDRhM2Nj MTIuLjM1NDZmN2JhMmEgMTAwNjQ0CiAtLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHkt ZnJhbWUuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWUuZXhwCiBA QCAtOTUsNiArOTUsOCBAQCBnZGJfdGVzdCAicHl0aG9uIHByaW50ICgncmVzdWx0ID0gJXMnICUg ZjAucmVhZF92YXIgKCdhJykpIiAiID0gMSIgInRlc3QgRnJhbWUucgpAQCAtNjMyLDcgKzY2NSw3 IEBAIGluZGV4IGY1ZDRhM2MuLjM1NDZmN2IgMTAwNjQ0CiAgZ2RiX3Rlc3QgInB5dGhvbiBwcmlu dCAoJ3Jlc3VsdCA9ICVzJyAlIChnZGIuc2VsZWN0ZWRfZnJhbWUgKCkucmVhZF9yZWdpc3RlciAo J3NwJykgPT0gZ2RiLnBhcnNlX2FuZF9ldmFsICgnXCRzcCcpKSkiIFwKICAgICIgPSBUcnVlIiBc CiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS12YWx1ZS5leHAKLWluZGV4IDE3ODE4ODcuLjhhMmRk ZDYgMTAwNjQ0CitpbmRleCAxNzgxODg3YzRhLi44YTJkZGQ2ZmFlIDEwMDY0NAogLS0tIGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIucHl0aG9uL3B5LXZhbHVlLmV4cAogQEAgLTM4NCw2ICszODQsMTUgQEAgcHJvYyB0ZXN0X3Zh bHVlX2FmdGVyX2RlYXRoIHt9IHsKQEAgLTY2MCwxMCArNjkzLDEwIEBAIGluZGV4IDE3ODE4ODcu LjhhMmRkZDYgMTAwNjQ0CiAgIyBUZXN0IGVpdGhlciBDIG9yIEMrKyB2YWx1ZXMuIAogIAogZGlm ZiAtLWdpdCBhL2dkYi92YXJvYmouYyBiL2dkYi92YXJvYmouYwotaW5kZXggNWYyMWQ4NC4uMTg1 MDZmMSAxMDA2NDQKK2luZGV4IDkzYjk3ZjZmNzAuLjc1M2M2NTk2YjMgMTAwNjQ0CiAtLS0gYS9n ZGIvdmFyb2JqLmMKICsrKyBiL2dkYi92YXJvYmouYwotQEAgLTIyNiw2ICsyMjYsMTQgQEAgaXNf cm9vdF9wIChjb25zdCBzdHJ1Y3QgdmFyb2JqICp2YXIpCitAQCAtMjE3LDYgKzIxNywxNCBAQCBp c19yb290X3AgKGNvbnN0IHN0cnVjdCB2YXJvYmogKnZhcikKICB9CiAgCiAgI2lmZGVmIEhBVkVf UFlUSE9OCkBAIC02NzksMTUgKzcxMiwxOCBAQCBpbmRleCA1ZjIxZDg0Li4xODUwNmYxIDEwMDY0 NAogIC8qIFNlZSBweXRob24taW50ZXJuYWwuaC4gICovCiAgZ2RicHlfZW50ZXJfdmFyb2JqOjpn ZGJweV9lbnRlcl92YXJvYmogKGNvbnN0IHN0cnVjdCB2YXJvYmogKnZhcikKIGRpZmYgLS1naXQg YS9nZGIvdmFyb2JqLmggYi9nZGIvdmFyb2JqLmgKLWluZGV4IGUzNWMxYjguLjEyMzM5ZDEgMTAw NjQ0CitpbmRleCA5MTYzYTM0ZmQwLi5lZDUxYjZhZDM0IDEwMDY0NAogLS0tIGEvZ2RiL3Zhcm9i ai5oCiArKysgYi9nZGIvdmFyb2JqLmgKLUBAIC0zMjAsNiArMzIwLDggQEAgZXh0ZXJuIGludCB2 YXJvYmpfaGFzX21vcmUgKGNvbnN0IHN0cnVjdCB2YXJvYmogKnZhciwgaW50IHRvKTsKK0BAIC0z MjcsNiArMzI3LDggQEAgZXh0ZXJuIGJvb2wgdmFyb2JqX2hhc19tb3JlIChjb25zdCBzdHJ1Y3Qg dmFyb2JqICp2YXIsIGludCB0byk7CiAgCi0gZXh0ZXJuIGludCB2YXJvYmpfaXNfZHluYW1pY19w IChjb25zdCBzdHJ1Y3QgdmFyb2JqICp2YXIpOworIGV4dGVybiBib29sIHZhcm9ial9pc19keW5h bWljX3AgKGNvbnN0IHN0cnVjdCB2YXJvYmogKnZhcik7CiAgCiArZXh0ZXJuIHN0cnVjdCBjbGVh bnVwICp2YXJvYmpfZW5zdXJlX3B5dGhvbl9lbnYgKGNvbnN0IHN0cnVjdCB2YXJvYmogKnZhcik7 CiArCi0gZXh0ZXJuIGludCB2YXJvYmpfZGVmYXVsdF92YWx1ZV9pc19jaGFuZ2VhYmxlX3AgKGNv bnN0IHN0cnVjdCB2YXJvYmogKnZhcik7Ci0gZXh0ZXJuIGludCB2YXJvYmpfdmFsdWVfaXNfY2hh bmdlYWJsZV9wIChjb25zdCBzdHJ1Y3QgdmFyb2JqICp2YXIpOworIGV4dGVybiBib29sIHZhcm9i al9kZWZhdWx0X3ZhbHVlX2lzX2NoYW5nZWFibGVfcCAoY29uc3Qgc3RydWN0IHZhcm9iaiAqdmFy KTsKKyBleHRlcm4gYm9vbCB2YXJvYmpfdmFsdWVfaXNfY2hhbmdlYWJsZV9wIChjb25zdCBzdHJ1 Y3QgdmFyb2JqICp2YXIpOwogIAorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1hdHRh Y2gtZmFpbC1yZWFzb25zLTVvZjUucGF0Y2ggYi9nZGItYXR0YWNoLWZhaWwtcmVhc29ucy01b2Y1 LnBhdGNoCmluZGV4IGJlNmM5YzguLjkzMzQ1NWUgMTAwNjQ0Ci0tLSBhL2dkYi1hdHRhY2gtZmFp bC1yZWFzb25zLTVvZjUucGF0Y2gKKysrIGIvZ2RiLWF0dGFjaC1mYWlsLXJlYXNvbnMtNW9mNS5w YXRjaApAQCAtMSwxMyArMSwxNSBAQAorRnJvbSAyZjhmOTA1M2E1YjI2MzA0MDhjMmEzMmZmNmJh MDRhNTA2N2FiOGY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBw YXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6 NTAgKzAyMDAKLVN1YmplY3Q6IFtwYXRjaCAzLzNdIGF0dGFjaC1mYWlsLXJlYXNvbnM6IFNFTGlu dXggZGVueV9wdHJhY2UKK1N1YmplY3Q6IGF0dGFjaC1mYWlsLXJlYXNvbnM6IFNFTGludXggZGVu eV9wdHJhY2UKIAogRmlsZU5hbWU6IGdkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVvZjUucGF0Y2gK IAorOzsgUHJpbnQgcmVhc29ucyBmb3IgZmFpbGVkIGF0dGFjaC9zcGF3biBpbmNsLiBTRUxpbnV4 IGRlbnlfcHRyYWNlIChCWiA3ODY4NzgpLgorOzs9cHVzaCtqYW4KIAogaHR0cDovL3NvdXJjZXdh cmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTItMDMvbXNnMDAxNzEuaHRtbAogCi0KIEhpLAogCiBh bmQgaGVyZSBpcyB0aGUgbGFzdCBiaXQgZm9yIG5ldyBTRUxpbnV4ICdkZW55X3B0cmFjZSc6CkBA IC0xNiwxMSArMTgsOSBAQCBhbmQgaGVyZSBpcyB0aGUgbGFzdCBiaXQgZm9yIG5ldyBTRUxpbnV4 ICdkZW55X3B0cmFjZSc6CiBBcyBldmVuIFBUUkFDRV9UUkFDRU1FIGZhaWxzIGluIHN1Y2ggY2Fz ZSBpdCBuZWVkcyB0byBpbnN0YWxsIGhvb2sgZm9yIGV2ZW4KIHRoYXQgZXZlbnQuCiAKLQogVGhh bmtzLAogSmFuCiAKLQogZ2RiLwogMjAxMi0wMy0wNiAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3Jh dG9jaHZpbEByZWRoYXQuY29tPgogCkBAIC00MywxODUgKzQzLDIzIEBAIGdkYi9nZGJzZXJ2ZXIv CiAJKiBsaW51eC1sb3cuYyAobGludXhfdHJhY2VtZSk6IE5ldyBmdW5jdGlvbi4KIAkobGludXhf Y3JlYXRlX2luZmVyaW9yLCBsaW51eF90cmFjZWZvcmtfY2hpbGQpOiBDYWxsIGl0IGluc3RlYWQg b2YKIAlkaXJlY3QgcHRyYWNlLgorLS0tCisgZ2RiL2NvbmZpZy5pbiAgICAgICAgICAgICAgfCAg NiArKysrKworIGdkYi9jb25maWd1cmUgICAgICAgICAgICAgIHwgNTggKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi9jb25maWd1cmUuYWMgICAgICAg ICAgIHwgIDQgKysrKworIGdkYi9nZGJzZXJ2ZXIvY29uZmlnLmluICAgIHwgIDYgKysrKysKKyBn ZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZSAgICB8IDU4ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKKyBnZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5hYyB8ICA0ICsr KysKKyBnZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jICB8IDE2ICsrKysrKysrKysrKy0KKyBnZGIv bGludXgtbmF0LmMgICAgICAgICAgICB8IDI0ICsrKysrKysrKysrKysrKysrKy0KKyBnZGIvbmF0 L2xpbnV4LXB0cmFjZS5jICAgICB8IDIyICsrKysrKysrKysrKysrKysrKworIGdkYi9uYXQvbGlu dXgtcHRyYWNlLmggICAgIHwgIDEgKworIDEwIGZpbGVzIGNoYW5nZWQsIDE5NyBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQogCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL25h dC9saW51eC1wdHJhY2UuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9y aWcvZ2RiL25hdC9saW51eC1wdHJhY2UuYwkyMDE3LTAyLTI2IDIxOjI3OjE0Ljc4MDAwOTQ0OSAr MDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9uYXQvbGludXgtcHRyYWNlLmMJMjAx Ny0wMi0yNiAyMToyNzoxOC44MzgwMzgxOTMgKzAxMDAKLUBAIC0yNyw2ICsyNywxMCBAQAotICNp bmNsdWRlIDxzeXMvcHJvY2ZzLmg+Ci0gI2VuZGlmCi0gCi0rI2lmZGVmIEhBVkVfU0VMSU5VWF9T RUxJTlVYX0gKLSsjIGluY2x1ZGUgPHNlbGludXgvc2VsaW51eC5oPgotKyNlbmRpZiAvKiBIQVZF X1NFTElOVVhfU0VMSU5VWF9IICovCi0rCi0gLyogU3RvcmVzIHRoZSBwdHJhY2Ugb3B0aW9ucyBz dXBwb3J0ZWQgYnkgdGhlIHJ1bm5pbmcga2VybmVsLgotICAgIEEgdmFsdWUgb2YgLTEgbWVhbnMg d2UgZGlkIG5vdCBjaGVjayBmb3IgZmVhdHVyZXMgeWV0LiAgQSB2YWx1ZQotICAgIG9mIDAgbWVh bnMgdGhlcmUgYXJlIG5vIHN1cHBvcnRlZCBmZWF0dXJlcy4gICovCi1AQCAtNTEsNiArNTUsOCBA QAotICAgICBidWZmZXJfeG1sX3ByaW50ZiAoYnVmZmVyLCBfKCJwcm9jZXNzICVkIGlzIGEgem9t YmllICIKLSAJCQkJICItIHRoZSBwcm9jZXNzIGhhcyBhbHJlYWR5IHRlcm1pbmF0ZWQiKSwKLSAJ CSAgICAgICAoaW50KSBwaWQpOwotKwotKyAgbGludXhfcHRyYWNlX2NyZWF0ZV93YXJuaW5ncyAo YnVmZmVyKTsKLSB9Ci0gCi0gLyogU2VlIGxpbnV4LXB0cmFjZS5oLiAgKi8KLUBAIC01OTQsNiAr NjAwLDIyIEBACi0gICBsaW51eF9wdHJhY2VfdGVzdF9yZXRfdG9fbnggKCk7Ci0gfQotIAotKy8q IFByaW50IGFsbCBwb3NzaWJsZSByZWFzb25zIHdlIGNvdWxkIGZhaWwgdG8gY3JlYXRlIGEgdHJh Y2VkIHByb2Nlc3MuICAqLwotKwotK3ZvaWQKLStsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdz IChzdHJ1Y3QgYnVmZmVyICpidWZmZXIpCi0rewotKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKLSsg IC8qIC0xIGlzIHJldHVybmVkIGZvciBlcnJvcnMsIDAgaWYgaXQgaGFzIG5vIGVmZmVjdCwgMSBp ZiBQVFJBQ0VfQVRUQUNIIGlzCi0rICAgICBmb3JiaWRkZW4uICAqLwotKyAgaWYgKHNlY3VyaXR5 X2dldF9ib29sZWFuX2FjdGl2ZSAoImRlbnlfcHRyYWNlIikgPT0gMSkKLSsgICAgYnVmZmVyX3ht bF9wcmludGYgKGJ1ZmZlciwKLSsJCSAgICAgICBfKCJ0aGUgU0VMaW51eCBib29sZWFuICdkZW55 X3B0cmFjZScgaXMgZW5hYmxlZCwgIgotKwkJCSAieW91IGNhbiBkaXNhYmxlIHRoaXMgcHJvY2Vz cyBhdHRhY2ggcHJvdGVjdGlvbiBieTogIgotKwkJCSAiKGdkYikgc2hlbGwgc3VkbyBzZXRzZWJv b2wgZGVueV9wdHJhY2U9MCIpKTsKLSsjZW5kaWYgLyogSEFWRV9MSUJTRUxJTlVYICovCi0rfQot KwotIC8qIEV4dHJhY3QgZXh0ZW5kZWQgcHRyYWNlIGV2ZW50IGZyb20gd2FpdCBzdGF0dXMuICAq LwotIAotIGludAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9uYXQvbGludXgtcHRy YWNlLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9uYXQv bGludXgtcHRyYWNlLmgJMjAxNy0wMi0yNiAyMToyNzoxNC43ODAwMDk0NDkgKzAxMDAKLSsrKyBn ZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbmF0L2xpbnV4LXB0cmFjZS5oCTIwMTctMDItMjYgMjE6 Mjc6MTguODM4MDM4MTkzICswMTAwCi1AQCAtMTg1LDYgKzE4NSw3IEBACi0gZXh0ZXJuIGNoYXIg KmxpbnV4X3B0cmFjZV9hdHRhY2hfZmFpbF9yZWFzb25fc3RyaW5nIChwdGlkX3QgcHRpZCwgaW50 IGVycik7Ci0gCi0gZXh0ZXJuIHZvaWQgbGludXhfcHRyYWNlX2luaXRfd2FybmluZ3MgKHZvaWQp OwotK2V4dGVybiB2b2lkIGxpbnV4X3B0cmFjZV9jcmVhdGVfd2FybmluZ3MgKHN0cnVjdCBidWZm ZXIgKmJ1ZmZlcik7Ci0gZXh0ZXJuIHZvaWQgbGludXhfY2hlY2tfcHRyYWNlX2ZlYXR1cmVzICh2 b2lkKTsKLSBleHRlcm4gdm9pZCBsaW51eF9lbmFibGVfZXZlbnRfcmVwb3J0aW5nIChwaWRfdCBw aWQsIGludCBhdHRhY2hlZCk7Ci0gZXh0ZXJuIHZvaWQgbGludXhfZGlzYWJsZV9ldmVudF9yZXBv cnRpbmcgKHBpZF90IHBpZCk7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2NvbmZp Z3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL2Nv bmZpZ3VyZS5hYwkyMDE3LTAyLTI2IDIxOjI3OjE0Ljc4MTAwOTQ1NiArMDEwMAotKysrIGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9jb25maWd1cmUuYWMJMjAxNy0wMi0yNiAyMToyNzoxOC44Mzkw MzgyMDAgKzAxMDAKLUBAIC0yMDkyLDYgKzIwOTIsMTAgQEAKLSBlc2FjCi0gQUNfREVGSU5FX1VO UVVPVEVEKEdEQklOSVQsIiRnZGJpbml0IixbVGhlIC5nZGJpbml0IGZpbGVuYW1lLl0pCi0gCi0r ZG5sIENoZWNrIHNlY3VyaXR5X2dldF9ib29sZWFuX2FjdGl2ZSBhdmFpbGFiaWxpdHkuCi0rQUNf Q0hFQ0tfSEVBREVSUyhzZWxpbnV4L3NlbGludXguaCkKLStBQ19DSEVDS19MSUIoc2VsaW51eCwg c2VjdXJpdHlfZ2V0X2Jvb2xlYW5fYWN0aXZlKQotKwotIGRubCBIYW5kbGUgb3B0aW9uYWwgZmVh dHVyZXMgdGhhdCBjYW4gYmUgZW5hYmxlZC4KLSAKLSAjIFN1cHBvcnQgZm9yIC0td2l0aC1zeXNy b290IGlzIGEgY29weSBvZiBHREJfQUNfV0lUSF9ESVIsCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUuYWMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4x Mi41MC4yMDE3MDIyNi5vcmlnL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjCTIwMTctMDItMjYg MjE6Mjc6MTQuNzgxMDA5NDU2ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dk YnNlcnZlci9jb25maWd1cmUuYWMJMjAxNy0wMi0yNiAyMToyNzoxOC44MzkwMzgyMDAgKzAxMDAK LUBAIC00NjksNiArNDY5LDEwIEBACi0gICAgZmkKLSBmaQotIAotK2RubCBDaGVjayBzZWN1cml0 eV9nZXRfYm9vbGVhbl9hY3RpdmUgYXZhaWxhYmlsaXR5LgotK0FDX0NIRUNLX0hFQURFUlMoc2Vs aW51eC9zZWxpbnV4LmgpCi0rQUNfQ0hFQ0tfTElCKHNlbGludXgsIHNlY3VyaXR5X2dldF9ib29s ZWFuX2FjdGl2ZSkKLSsKLSBBQ19TVUJTVChHREJTRVJWRVJfREVQRklMRVMpCi0gQUNfU1VCU1Qo R0RCU0VSVkVSX0xJQlMpCi0gQUNfU1VCU1Qoc3J2X3htbGJ1aWx0aW4pCi1JbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cuYwotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cuYwkyMDE3 LTAyLTI2IDIxOjI3OjE0Ljc4MzAwOTQ3MCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2 L2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMJMjAxNy0wMi0yNiAyMToyNzoxOC44NDEwMzgyMTQg KzAxMDAKLUBAIC05NDYsNiArOTQ2LDI5IEBACi0gICByZXR1cm4gbHdwOwotIH0KLSAKLSsvKiBF eGVjdXRlIFBUUkFDRV9UUkFDRU1FIHdpdGggZXJyb3IgY2hlY2tpbmcuICAqLwotKwotK3N0YXRp YyB2b2lkCi0rbGludXhfdHJhY2VtZSAoY29uc3QgY2hhciAqcHJvZ3JhbSkKLSt7Ci0rICBpbnQg c2F2ZV9lcnJubzsKLSsgIHN0cnVjdCBidWZmZXIgYnVmZmVyOwotKwotKyAgZXJybm8gPSAwOwot KyAgaWYgKHB0cmFjZSAoUFRSQUNFX1RSQUNFTUUsIDAsCi0rCSAgICAgIChQVFJBQ0VfVFlQRV9B UkczKSAwLCAoUFRSQUNFX1RZUEVfQVJHNCkgMCkgPT0gMCkKLSsgICAgcmV0dXJuOwotKwotKyAg c2F2ZV9lcnJubyA9IGVycm5vOwotKyAgYnVmZmVyX2luaXQgKCZidWZmZXIpOwotKyAgbGludXhf cHRyYWNlX2NyZWF0ZV93YXJuaW5ncyAoJmJ1ZmZlcik7Ci0rICBidWZmZXJfZ3Jvd19zdHIwICgm YnVmZmVyLCAiIik7Ci0rICBmcHJpbnRmIChzdGRlcnIsIF8oIiVzQ2Fubm90IHRyYWNlIGNyZWF0 ZWQgcHJvY2VzcyAlczogJXMuXG4iKSwKLSsJICAgYnVmZmVyX2ZpbmlzaCAoJmJ1ZmZlciksIHBy b2dyYW0sIHN0cmVycm9yIChzYXZlX2Vycm5vKSk7Ci0rICBmZmx1c2ggKHN0ZGVycik7Ci0rICBf ZXhpdCAoMDE3Nyk7Ci0rfQotKwotIC8qIFN0YXJ0IGFuIGluZmVyaW9yIHByb2Nlc3MgYW5kIHJl dHVybnMgaXRzIHBpZC4KLSAgICBBTExBUkdTIGlzIGEgdmVjdG9yIG9mIHByb2dyYW0tbmFtZSBh bmQgYXJncy4gKi8KLSAKLUBAIC05NjksNyArOTkyLDcgQEAKLSAgIGlmIChwaWQgPT0gMCkKLSAg ICAgewotICAgICAgIGNsb3NlX21vc3RfZmRzICgpOwotLSAgICAgIHB0cmFjZSAoUFRSQUNFX1RS QUNFTUUsIDAsIChQVFJBQ0VfVFlQRV9BUkczKSAwLCAoUFRSQUNFX1RZUEVfQVJHNCkgMCk7Ci0r ICAgICAgbGludXhfdHJhY2VtZSAocHJvZ3JhbSk7Ci0gCi0gICAgICAgc2V0cGdpZCAoMCwgMCk7 Ci0gCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2xpbnV4LW5hdC5jCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvbGludXgtbmF0LmMJMjAxNy0w Mi0yNiAyMToyNzoxNC43ODUwMDk0ODQgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9n ZGIvbGludXgtbmF0LmMJMjAxNy0wMi0yNiAyMToyNzoxOC44NDIwMzgyMjEgKzAxMDAKLUBAIC0x MTEwLDYgKzExMTAsNyBAQAotIHsKLSAgIHN0cnVjdCBjbGVhbnVwICpyZXN0b3JlX3BlcnNvbmFs aXR5Ci0gICAgID0gbWF5YmVfZGlzYWJsZV9hZGRyZXNzX3NwYWNlX3JhbmRvbWl6YXRpb24gKGRp c2FibGVfcmFuZG9taXphdGlvbik7Ci0rICB2b2xhdGlsZSBzdHJ1Y3QgZ2RiX2V4Y2VwdGlvbiBl eDsKLSAKLSAgIC8qIFRoZSBmb3JrX2NoaWxkIG1lY2hhbmlzbSBpcyBzeW5jaHJvbm91cyBhbmQg Y2FsbHMgdGFyZ2V0X3dhaXQsIHNvCi0gICAgICB3ZSBoYXZlIHRvIG1hc2sgdGhlIGFzeW5jIG1v ZGUuICAqLwotQEAgLTExMTcsNyArMTExOCwyOCBAQAotICAgLyogTWFrZSBzdXJlIHdlIHJlcG9y dCBhbGwgc2lnbmFscyBkdXJpbmcgc3RhcnR1cC4gICovCi0gICBsaW51eF9uYXRfcGFzc19zaWdu YWxzIChvcHMsIDAsIE5VTEwpOwotIAotLSAgbGludXhfb3BzLT50b19jcmVhdGVfaW5mZXJpb3Ig KG9wcywgZXhlY19maWxlLCBhbGxhcmdzLCBlbnYsIGZyb21fdHR5KTsKLSsgIFRSWQotKyAgICB7 Ci0rICAgICAgbGludXhfb3BzLT50b19jcmVhdGVfaW5mZXJpb3IgKG9wcywgZXhlY19maWxlLCBh bGxhcmdzLCBlbnYsIGZyb21fdHR5KTsKLSsgICAgfQotKyAgQ0FUQ0ggKGV4LCBSRVRVUk5fTUFT S19FUlJPUikKLSsgICAgewotKyAgICAgIHN0cnVjdCBidWZmZXIgYnVmZmVyOwotKyAgICAgIGNo YXIgKm1lc3NhZ2UsICpidWZmZXJfczsKLSsKLSsgICAgICBtZXNzYWdlID0geHN0cmR1cCAoZXgu bWVzc2FnZSk7Ci0rICAgICAgbWFrZV9jbGVhbnVwICh4ZnJlZSwgbWVzc2FnZSk7Ci0rCi0rICAg ICAgYnVmZmVyX2luaXQgKCZidWZmZXIpOwotKyAgICAgIGxpbnV4X3B0cmFjZV9jcmVhdGVfd2Fy bmluZ3MgKCZidWZmZXIpOwotKwotKyAgICAgIGJ1ZmZlcl9ncm93X3N0cjAgKCZidWZmZXIsICIi KTsKLSsgICAgICBidWZmZXJfcyA9IGJ1ZmZlcl9maW5pc2ggKCZidWZmZXIpOwotKyAgICAgIG1h a2VfY2xlYW51cCAoeGZyZWUsIGJ1ZmZlcl9zKTsKLSsKLSsgICAgICB0aHJvd19lcnJvciAoZXgu ZXJyb3IsICIlcyVzIiwgYnVmZmVyX3MsIG1lc3NhZ2UpOwotKyAgICB9Ci0rICBFTkRfQ0FUQ0gK LSAKLSAgIGRvX2NsZWFudXBzIChyZXN0b3JlX3BlcnNvbmFsaXR5KTsKLSB9Ci1JbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2NvbmZpZy5pbgotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEy LjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL2NvbmZpZy5pbgkyMDE3LTAyLTI2IDIxOjI3OjE0Ljc4NjAw OTQ5MSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9jb25maWcuaW4JMjAxNy0w Mi0yNiAyMToyNzoxOC44NDIwMzgyMjEgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvY29uZmlnLmlu IGIvZ2RiL2NvbmZpZy5pbgoraW5kZXggZWRkNzAyOGY3Ni4uNGRlM2U4NDJkMSAxMDA2NDQKKy0t LSBhL2dkYi9jb25maWcuaW4KKysrKyBiL2dkYi9jb25maWcuaW4KIEBAIC0yNzAsNiArMjcwLDkg QEAKICAvKiBEZWZpbmUgaWYgbGlicnBtIGxpYnJhcnkgaXMgYmVpbmcgdXNlZC4gKi8KICAjdW5k ZWYgSEFWRV9MSUJSUE0KQEAgLTIzMiw3ICs3MCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvY29uZmlnLmluCiAgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsaWJ1 bndpbmQtaWE2NC5oPiBoZWFkZXIgZmlsZS4gKi8KICAjdW5kZWYgSEFWRV9MSUJVTldJTkRfSUE2 NF9ICiAgCi1AQCAtNDAyLDYgKzQwNSw5IEBACitAQCAtMzkzLDYgKzM5Niw5IEBACiAgLyogRGVm aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzY21fbmV3X3Ntb2InIGZ1bmN0aW9uLiAqLwogICN1 bmRlZiBIQVZFX1NDTV9ORVdfU01PQgogIApAQCAtMjQyLDExICs4MCwxMSBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2NvbmZpZy5pbgogIC8qIERlZmluZSB0byAxIGlmIHlvdSBo YXZlIHRoZSBgc2V0bG9jYWxlJyBmdW5jdGlvbi4gKi8KICAjdW5kZWYgSEFWRV9TRVRMT0NBTEUK ICAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvY29uZmlndXJlCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvY29uZmlndXJlCTIwMTctMDItMjYg MjE6Mjc6MTQuNzkwMDA5NTE5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2Nv bmZpZ3VyZQkyMDE3LTAyLTI2IDIxOjI3OjE4Ljg0NjAzODI0OSArMDEwMAotQEAgLTE1NDkyLDYg KzE1NDkyLDY0IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1cmUK K2luZGV4IGUzMTRlMjhmZjMuLmQ5OWYyOGI5ZjIgMTAwNzU1CistLS0gYS9nZGIvY29uZmlndXJl CisrKysgYi9nZGIvY29uZmlndXJlCitAQCAtMTU2NzksNiArMTU2NzksNjQgQEAgY2F0ID4+Y29u ZmRlZnMuaCA8PF9BQ0VPRgogIF9BQ0VPRgogIAogIApAQCAtMzExLDExICsxNDksMjYgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9jb25maWd1cmUKICAKICAjIFN1cHBvcnQgZm9y IC0td2l0aC1zeXNyb290IGlzIGEgY29weSBvZiBHREJfQUNfV0lUSF9ESVIsCiAgIyBleGNlcHQg dGhhdCB0aGUgYXJndW1lbnQgdG8gLS13aXRoLXN5c3Jvb3QgaXMgb3B0aW9uYWwuCi1JbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4KLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9nZGJzZXJ2ZXIvY29uZmlnLmluCTIw MTctMDItMjYgMjE6Mjc6MTQuNzkxMDA5NTI3ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4JMjAxNy0wMi0yNiAyMToyNzoxOC44NDYwMzgyNDkg KzAxMDAKLUBAIC0xMjMsNiArMTIzLDkgQEAKK2RpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlLmFj IGIvZ2RiL2NvbmZpZ3VyZS5hYworaW5kZXggOWRlNDQxZmU3OS4uODMwNjE4ZGJlNSAxMDA2NDQK Ky0tLSBhL2dkYi9jb25maWd1cmUuYWMKKysrKyBiL2dkYi9jb25maWd1cmUuYWMKK0BAIC0yMDQy LDYgKzIwNDIsMTAgQEAgY2FzZSAkaG9zdF9vcyBpbgorIGVzYWMKKyBBQ19ERUZJTkVfVU5RVU9U RUQoR0RCSU5JVCwiJGdkYmluaXQiLFtUaGUgLmdkYmluaXQgZmlsZW5hbWUuXSkKKyAKKytkbmwg Q2hlY2sgc2VjdXJpdHlfZ2V0X2Jvb2xlYW5fYWN0aXZlIGF2YWlsYWJpbGl0eS4KKytBQ19DSEVD S19IRUFERVJTKHNlbGludXgvc2VsaW51eC5oKQorK0FDX0NIRUNLX0xJQihzZWxpbnV4LCBzZWN1 cml0eV9nZXRfYm9vbGVhbl9hY3RpdmUpCisrCisgZG5sIEhhbmRsZSBvcHRpb25hbCBmZWF0dXJl cyB0aGF0IGNhbiBiZSBlbmFibGVkLgorIAorICMgU3VwcG9ydCBmb3IgLS13aXRoLXN5c3Jvb3Qg aXMgYSBjb3B5IG9mIEdEQl9BQ19XSVRIX0RJUiwKK2RpZmYgLS1naXQgYS9nZGIvZ2Ric2VydmVy L2NvbmZpZy5pbiBiL2dkYi9nZGJzZXJ2ZXIvY29uZmlnLmluCitpbmRleCBkZGE3YzFmMTUwLi5i MmEzNGI5MmNlIDEwMDY0NAorLS0tIGEvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4KKysrKyBiL2dk Yi9nZGJzZXJ2ZXIvY29uZmlnLmluCitAQCAtMTI2LDYgKzEyNiw5IEBACiAgLyogRGVmaW5lIHRv IDEgaWYgeW91IGhhdmUgdGhlIGBtY2hlY2snIGxpYnJhcnkgKC1sbWNoZWNrKS4gKi8KICAjdW5k ZWYgSEFWRV9MSUJNQ0hFQ0sKICAKQEAgLTMyNSw3ICsxNzgsNyBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4KICAvKiBEZWZpbmUgaWYgdGhlIHRh cmdldCBzdXBwb3J0cyBicmFuY2ggdHJhY2luZy4gKi8KICAjdW5kZWYgSEFWRV9MSU5VWF9CVFJB Q0UKICAKLUBAIC0xOTksNiArMjAyLDkgQEAKK0BAIC0yMDIsNiArMjA1LDkgQEAKICAvKiBEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHB3cml0ZScgZnVuY3Rpb24uICovCiAgI3VuZGVmIEhB VkVfUFdSSVRFCiAgCkBAIC0zMzUsMTEgKzE4OCwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4KICAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2 ZSB0aGUgYHNldG5zJyBmdW5jdGlvbi4gKi8KICAjdW5kZWYgSEFWRV9TRVROUwogIAotSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZQky MDE3LTAyLTI2IDIxOjI3OjE0Ljc5MzAwOTU0MSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlCTIwMTctMDItMjYgMjE6Mjc6MTguODQ4MDM4MjYz ICswMTAwCi1AQCAtODQyOSw2ICs4NDI5LDY0IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2dkYnNlcnZl ci9jb25maWd1cmUgYi9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZQoraW5kZXggODM1ZGNjYTMxNC4u OTAyOGM4MmIwMSAxMDA3NTUKKy0tLSBhL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlCisrKysgYi9n ZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZQorQEAgLTg0NTIsNiArODQ1Miw2NCBAQCBpZiAkd2FudF9p cGEgOyB0aGVuCiAgICAgZmkKICBmaQogIApAQCAtNDA0LDMgKzI1NywxNDIgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlCiAgCiAgCiAgCitkaWZm IC0tZ2l0IGEvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUuYWMgYi9nZGIvZ2Ric2VydmVyL2NvbmZp Z3VyZS5hYworaW5kZXggNDU2ZDNiMzYwYS4uMDA3NGM0MzdmMSAxMDA2NDQKKy0tLSBhL2dkYi9n ZGJzZXJ2ZXIvY29uZmlndXJlLmFjCisrKysgYi9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5hYwor QEAgLTQ4Niw2ICs0ODYsMTAgQEAgaWYgJHdhbnRfaXBhIDsgdGhlbgorICAgIGZpCisgZmkKKyAK KytkbmwgQ2hlY2sgc2VjdXJpdHlfZ2V0X2Jvb2xlYW5fYWN0aXZlIGF2YWlsYWJpbGl0eS4KKytB Q19DSEVDS19IRUFERVJTKHNlbGludXgvc2VsaW51eC5oKQorK0FDX0NIRUNLX0xJQihzZWxpbnV4 LCBzZWN1cml0eV9nZXRfYm9vbGVhbl9hY3RpdmUpCisrCisgQUNfU1VCU1QoR0RCU0VSVkVSX0RF UEZJTEVTKQorIEFDX1NVQlNUKEdEQlNFUlZFUl9MSUJTKQorIEFDX1NVQlNUKHNydl94bWxidWls dGluKQorZGlmZiAtLWdpdCBhL2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMgYi9nZGIvZ2Ric2Vy dmVyL2xpbnV4LWxvdy5jCitpbmRleCBmNmE1MmQ1ODU5Li5hYjNiZTI3MTQyIDEwMDY0NAorLS0t IGEvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cuYworKysrIGIvZ2RiL2dkYnNlcnZlci9saW51eC1s b3cuYworQEAgLTk2Myw3ICs5NjMsMjEgQEAgbGludXhfcHRyYWNlX2Z1biAoKQorIHsKKyAgIGlm IChwdHJhY2UgKFBUUkFDRV9UUkFDRU1FLCAwLCAoUFRSQUNFX1RZUEVfQVJHMykgMCwKKyAJICAg ICAgKFBUUkFDRV9UWVBFX0FSRzQpIDApIDwgMCkKKy0gICAgdHJhY2Vfc3RhcnRfZXJyb3Jfd2l0 aF9uYW1lICgicHRyYWNlIik7CisrICAgIHsKKysgICAgICBpbnQgc2F2ZV9lcnJubyA9IGVycm5v OworKyAgICAgIHN0cnVjdCBidWZmZXIgYnVmZmVyOworKworKyAgICAgIGJ1ZmZlcl9pbml0ICgm YnVmZmVyKTsKKysgICAgICBsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzICgmYnVmZmVyKTsK KysgICAgICBidWZmZXJfZ3Jvd19zdHIwICgmYnVmZmVyLCAiIik7CisrCisrICAgICAgc3RkOjpz dHJpbmcgbXNnCisrCT0gc3RyaW5nX3ByaW50ZiAoXygiJXNDYW5ub3QgdHJhY2UgY3JlYXRlZCBw cm9jZXNzIiksCisrCQkJIGJ1ZmZlcl9maW5pc2ggKCZidWZmZXIpKTsKKysKKysgICAgICBlcnJu byA9IHNhdmVfZXJybm87CisrICAgICAgdHJhY2Vfc3RhcnRfZXJyb3Jfd2l0aF9uYW1lIChtc2cu Y19zdHIgKCkpOworKyAgICB9CisgCisgICBpZiAoc2V0cGdpZCAoMCwgMCkgPCAwKQorICAgICB0 cmFjZV9zdGFydF9lcnJvcl93aXRoX25hbWUgKCJzZXRwZ2lkIik7CitkaWZmIC0tZ2l0IGEvZ2Ri L2xpbnV4LW5hdC5jIGIvZ2RiL2xpbnV4LW5hdC5jCitpbmRleCA5NmNiMjFhMmNmLi42MDQwYzFm MTI5IDEwMDY0NAorLS0tIGEvZ2RiL2xpbnV4LW5hdC5jCisrKysgYi9nZGIvbGludXgtbmF0LmMK K0BAIC0xMTI3LDcgKzExMjcsMjkgQEAgbGludXhfbmF0X2NyZWF0ZV9pbmZlcmlvciAoc3RydWN0 IHRhcmdldF9vcHMgKm9wcywKKyAgIC8qIE1ha2Ugc3VyZSB3ZSByZXBvcnQgYWxsIHNpZ25hbHMg ZHVyaW5nIHN0YXJ0dXAuICAqLworICAgbGludXhfbmF0X3Bhc3Nfc2lnbmFscyAob3BzLCAwLCBO VUxMKTsKKyAKKy0gIGxpbnV4X29wcy0+dG9fY3JlYXRlX2luZmVyaW9yIChvcHMsIGV4ZWNfZmls ZSwgYWxsYXJncywgZW52LCBmcm9tX3R0eSk7CisrICB2b2xhdGlsZSBzdHJ1Y3QgZ2RiX2V4Y2Vw dGlvbiBleDsKKysgIFRSWQorKyAgICB7CisrICAgICAgbGludXhfb3BzLT50b19jcmVhdGVfaW5m ZXJpb3IgKG9wcywgZXhlY19maWxlLCBhbGxhcmdzLCBlbnYsIGZyb21fdHR5KTsKKysgICAgfQor KyAgQ0FUQ0ggKGV4LCBSRVRVUk5fTUFTS19FUlJPUikKKysgICAgeworKyAgICAgIHN0cnVjdCBi dWZmZXIgYnVmZmVyOworKyAgICAgIGNoYXIgKm1lc3NhZ2UsICpidWZmZXJfczsKKysKKysgICAg ICBtZXNzYWdlID0geHN0cmR1cCAoZXgubWVzc2FnZSk7CisrICAgICAgbWFrZV9jbGVhbnVwICh4 ZnJlZSwgbWVzc2FnZSk7CisrCisrICAgICAgYnVmZmVyX2luaXQgKCZidWZmZXIpOworKyAgICAg IGxpbnV4X3B0cmFjZV9jcmVhdGVfd2FybmluZ3MgKCZidWZmZXIpOworKworKyAgICAgIGJ1ZmZl cl9ncm93X3N0cjAgKCZidWZmZXIsICIiKTsKKysgICAgICBidWZmZXJfcyA9IGJ1ZmZlcl9maW5p c2ggKCZidWZmZXIpOworKyAgICAgIG1ha2VfY2xlYW51cCAoeGZyZWUsIGJ1ZmZlcl9zKTsKKysK KysgICAgICB0aHJvd19lcnJvciAoZXguZXJyb3IsICIlcyVzIiwgYnVmZmVyX3MsIG1lc3NhZ2Up OworKyAgICB9CisrICBFTkRfQ0FUQ0gKKyB9CisgCisgLyogQ2FsbGJhY2sgZm9yIGxpbnV4X3By b2NfYXR0YWNoX3RnaWRfdGhyZWFkcy4gIEF0dGFjaCB0byBQVElEIGlmIG5vdAorZGlmZiAtLWdp dCBhL2dkYi9uYXQvbGludXgtcHRyYWNlLmMgYi9nZGIvbmF0L2xpbnV4LXB0cmFjZS5jCitpbmRl eCA0MzgxNzdmYTc2Li5hYjZhZTg2NDAwIDEwMDY0NAorLS0tIGEvZ2RiL25hdC9saW51eC1wdHJh Y2UuYworKysrIGIvZ2RiL25hdC9saW51eC1wdHJhY2UuYworQEAgLTI3LDYgKzI3LDEwIEBACisg I2luY2x1ZGUgPHN5cy9wcm9jZnMuaD4KKyAjZW5kaWYKKyAKKysjaWZkZWYgSEFWRV9TRUxJTlVY X1NFTElOVVhfSAorKyMgaW5jbHVkZSA8c2VsaW51eC9zZWxpbnV4Lmg+CisrI2VuZGlmIC8qIEhB VkVfU0VMSU5VWF9TRUxJTlVYX0ggKi8KKysKKyAvKiBTdG9yZXMgdGhlIHB0cmFjZSBvcHRpb25z IHN1cHBvcnRlZCBieSB0aGUgcnVubmluZyBrZXJuZWwuCisgICAgQSB2YWx1ZSBvZiAtMSBtZWFu cyB3ZSBkaWQgbm90IGNoZWNrIGZvciBmZWF0dXJlcyB5ZXQuICBBIHZhbHVlCisgICAgb2YgMCBt ZWFucyB0aGVyZSBhcmUgbm8gc3VwcG9ydGVkIGZlYXR1cmVzLiAgKi8KK0BAIC01MSw2ICs1NSw4 IEBAIGxpbnV4X3B0cmFjZV9hdHRhY2hfZmFpbF9yZWFzb24gKHBpZF90IHBpZCwgc3RydWN0IGJ1 ZmZlciAqYnVmZmVyKQorICAgICBidWZmZXJfeG1sX3ByaW50ZiAoYnVmZmVyLCBfKCJwcm9jZXNz ICVkIGlzIGEgem9tYmllICIKKyAJCQkJICItIHRoZSBwcm9jZXNzIGhhcyBhbHJlYWR5IHRlcm1p bmF0ZWQiKSwKKyAJCSAgICAgICAoaW50KSBwaWQpOworKworKyAgbGludXhfcHRyYWNlX2NyZWF0 ZV93YXJuaW5ncyAoYnVmZmVyKTsKKyB9CisgCisgLyogU2VlIGxpbnV4LXB0cmFjZS5oLiAgKi8K K0BAIC01OTQsNiArNjAwLDIyIEBAIGxpbnV4X3B0cmFjZV9pbml0X3dhcm5pbmdzICh2b2lkKQor ICAgbGludXhfcHRyYWNlX3Rlc3RfcmV0X3RvX254ICgpOworIH0KKyAKKysvKiBQcmludCBhbGwg cG9zc2libGUgcmVhc29ucyB3ZSBjb3VsZCBmYWlsIHRvIGNyZWF0ZSBhIHRyYWNlZCBwcm9jZXNz LiAgKi8KKysKKyt2b2lkCisrbGludXhfcHRyYWNlX2NyZWF0ZV93YXJuaW5ncyAoc3RydWN0IGJ1 ZmZlciAqYnVmZmVyKQorK3sKKysjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisrICAvKiAtMSBpcyBy ZXR1cm5lZCBmb3IgZXJyb3JzLCAwIGlmIGl0IGhhcyBubyBlZmZlY3QsIDEgaWYgUFRSQUNFX0FU VEFDSCBpcworKyAgICAgZm9yYmlkZGVuLiAgKi8KKysgIGlmIChzZWN1cml0eV9nZXRfYm9vbGVh bl9hY3RpdmUgKCJkZW55X3B0cmFjZSIpID09IDEpCisrICAgIGJ1ZmZlcl94bWxfcHJpbnRmIChi dWZmZXIsCisrCQkgICAgICAgXygidGhlIFNFTGludXggYm9vbGVhbiAnZGVueV9wdHJhY2UnIGlz IGVuYWJsZWQsICIKKysJCQkgInlvdSBjYW4gZGlzYWJsZSB0aGlzIHByb2Nlc3MgYXR0YWNoIHBy b3RlY3Rpb24gYnk6ICIKKysJCQkgIihnZGIpIHNoZWxsIHN1ZG8gc2V0c2Vib29sIGRlbnlfcHRy YWNlPTAiKSk7CisrI2VuZGlmIC8qIEhBVkVfTElCU0VMSU5VWCAqLworK30KKysKKyAvKiBFeHRy YWN0IGV4dGVuZGVkIHB0cmFjZSBldmVudCBmcm9tIHdhaXQgc3RhdHVzLiAgKi8KKyAKKyBpbnQK K2RpZmYgLS1naXQgYS9nZGIvbmF0L2xpbnV4LXB0cmFjZS5oIGIvZ2RiL25hdC9saW51eC1wdHJh Y2UuaAoraW5kZXggNTk1NDk0NTJjMC4uYjk1MTQ5MjEwMiAxMDA2NDQKKy0tLSBhL2dkYi9uYXQv bGludXgtcHRyYWNlLmgKKysrKyBiL2dkYi9uYXQvbGludXgtcHRyYWNlLmgKK0BAIC0xODUsNiAr MTg1LDcgQEAgZXh0ZXJuIHZvaWQgbGludXhfcHRyYWNlX2F0dGFjaF9mYWlsX3JlYXNvbiAocGlk X3QgcGlkLCBzdHJ1Y3QgYnVmZmVyICpidWZmZXIpOworIGV4dGVybiBjaGFyICpsaW51eF9wdHJh Y2VfYXR0YWNoX2ZhaWxfcmVhc29uX3N0cmluZyAocHRpZF90IHB0aWQsIGludCBlcnIpOworIAor IGV4dGVybiB2b2lkIGxpbnV4X3B0cmFjZV9pbml0X3dhcm5pbmdzICh2b2lkKTsKKytleHRlcm4g dm9pZCBsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzIChzdHJ1Y3QgYnVmZmVyICpidWZmZXIp OworIGV4dGVybiB2b2lkIGxpbnV4X2NoZWNrX3B0cmFjZV9mZWF0dXJlcyAodm9pZCk7CisgZXh0 ZXJuIHZvaWQgbGludXhfZW5hYmxlX2V2ZW50X3JlcG9ydGluZyAocGlkX3QgcGlkLCBpbnQgYXR0 YWNoZWQpOworIGV4dGVybiB2b2lkIGxpbnV4X2Rpc2FibGVfZXZlbnRfcmVwb3J0aW5nIChwaWRf dCBwaWQpOworLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1idHJvYnVzdC5wYXRjaCBi L2dkYi1idHJvYnVzdC5wYXRjaAppbmRleCBjMzlmZTVjLi5kZmFmMzM2IDEwMDY0NAotLS0gYS9n ZGItYnRyb2J1c3QucGF0Y2gKKysrIGIvZ2RiLWJ0cm9idXN0LnBhdGNoCkBAIC0xLDE5ICsxLDI2 IEBACitGcm9tIGEwMjAyMmNlNGM3YTE4NDE1MThlOWNmMTdkMWQ5YjdjYWRlMTM0ODMgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1h aWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDog Z2RiLWJ0cm9idXN0LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItYnRyb2J1c3QucGF0Y2gKIAorOzsg Q29udGludWUgYmFja3RyYWNlIGV2ZW4gaWYgYSBmcmFtZSBmaWx0ZXIgdGhyb3dzIGFuIGV4Y2Vw dGlvbiAoUGhpbCBNdWxkb29uKS4KKzs7PXB1c2gKKwogVGhpcyBzaG91bGQgZml4IHRoZSBlcnJv ciAgd2l0aCBnbGliLiAgQW4gZXJyb3IgbWVzc2FnZSB3aWxsIHN0aWxsIGJlCiBwcmludGVkLCBi dXQgYSBkZWZhdWx0IGJhY2t0cmFjZSB3aWxsIG9jY3VyIGluIHRoaXMgY2FzZS4KIAogLS0KKy0t LQorIGdkYi9weXRob24vcHktZnJhbWVmaWx0ZXIuYyB8IDQgKysrLQorIDEgZmlsZSBjaGFuZ2Vk LCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi9weXRob24vcHktZnJhbWVmaWx0ZXIuYwotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3B5dGhvbi9weS1mcmFtZWZpbHRlci5jCTIwMTctMDIt MjYgMjE6MzM6MjMuMTUwNjE4NzA4ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L3B5dGhvbi9weS1mcmFtZWZpbHRlci5jCTIwMTctMDItMjYgMjE6MzM6MjkuOTkzNjY3MTc5ICsw MTAwCi1AQCAtMTM4OCw2ICsxMzg4LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5LWZy YW1lZmlsdGVyLmMgYi9nZGIvcHl0aG9uL3B5LWZyYW1lZmlsdGVyLmMKK2luZGV4IDc1YjA1NWM5 OGMuLjlmMzNhN2FhYjkgMTAwNjQ0CistLS0gYS9nZGIvcHl0aG9uL3B5LWZyYW1lZmlsdGVyLmMK KysrKyBiL2dkYi9weXRob24vcHktZnJhbWVmaWx0ZXIuYworQEAgLTEzODgsNiArMTM4OCw3IEBA IGdkYnB5X2FwcGx5X2ZyYW1lX2ZpbHRlciAoY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9sYW5ndWFn ZV9kZWZuICpleHRsYW5nLAogIAkJCQkgICAgICAgaHRhYl9lcV9wb2ludGVyLAogIAkJCQkgICAg ICAgTlVMTCkpOwogIApAQCAtMjEsNyArMjgsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL3B5dGhvbi9weS1mcmFtZWZpbHRlci5jCiAgICB3aGlsZSAodHJ1ZSkKICAgICAgewog ICAgICAgIGdkYnB5X3JlZjw+IGl0ZW0gKFB5SXRlcl9OZXh0IChpdGVyYWJsZS5nZXQgKCkpKTsK LUBAIC0xMzk3LDcgKzEzOTgsNyBAQAorQEAgLTEzOTcsNyArMTM5OCw3IEBAIGdkYnB5X2FwcGx5 X2ZyYW1lX2ZpbHRlciAoY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9sYW5ndWFnZV9kZWZuICpleHRs YW5nLAogIAkgIGlmIChQeUVycl9PY2N1cnJlZCAoKSkKICAJICAgIHsKICAJICAgICAgZ2RicHlf cHJpbnRfc3RhY2sgKCk7CkBAIC0zMCw3ICszNyw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvcHl0aG9uL3B5LWZyYW1lZmlsdGVyLmMKICAJICAgIH0KICAJICBicmVhazsKICAJ fQotQEAgLTE0MDksNiArMTQxMCw3IEBACitAQCAtMTQwOSw2ICsxNDEwLDcgQEAgZ2RicHlfYXBw bHlfZnJhbWVfZmlsdGVyIChjb25zdCBzdHJ1Y3QgZXh0ZW5zaW9uX2xhbmd1YWdlX2RlZm4gKmV4 dGxhbmcsCiAgCSBlcnJvciBhbmQgY29udGludWUgd2l0aCBvdGhlciBmcmFtZXMuICAqLwogICAg ICAgIGlmIChzdWNjZXNzID09IEVYVF9MQU5HX0JUX0VSUk9SKQogIAlnZGJweV9wcmludF9zdGFj ayAoKTsKQEAgLTM4LDMgKzQ1LDYgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9w eXRob24vcHktZnJhbWVmaWx0ZXIuYwogICAgICB9CiAgCiAgICByZXR1cm4gc3VjY2VzczsKKy0t IAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItYnoxMjE5NzQ3LWF0dGFjaC1raWxscy5wYXRj aCBiL2dkYi1iejEyMTk3NDctYXR0YWNoLWtpbGxzLnBhdGNoCmluZGV4IGE2OTdiZmYuLmU5YjBk ZWIgMTAwNjQ0Ci0tLSBhL2dkYi1iejEyMTk3NDctYXR0YWNoLWtpbGxzLnBhdGNoCisrKyBiL2dk Yi1iejEyMTk3NDctYXR0YWNoLWtpbGxzLnBhdGNoCkBAIC0xLDExICsxLDE0IEBACitGcm9tIDNk ZDNiY2ZiYmZmOWNhZWZkMzk0Mzg1YWFjMGQ4MmU0ZmNhMGY0MjIgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0 ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogW1BBVENIIDEvM10g TmV2ZXIga2lsbCBQSUQgb246IGdkYiBleGVjIFBJRAorU3ViamVjdDogTmV2ZXIga2lsbCBQSUQg b246IGdkYiBleGVjIFBJRAogCiBGaWxlTmFtZTogZ2RiLWJ6MTIxOTc0Ny1hdHRhY2gta2lsbHMu cGF0Y2gKIAotaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTUtMTAvbXNn MDAzMDEuaHRtbAorOzsgTmV2ZXIga2lsbCBQSUQgb246IGdkYiBleGVjIFBJRCAoSmFuIEtyYXRv Y2h2aWwsIFJIIEJaIDEyMTk3NDcpLgorOzs9cHVzaCtqYW4KIAoraHR0cDovL3NvdXJjZXdhcmUu b3JnL21sL2dkYi1wYXRjaGVzLzIwMTUtMTAvbXNnMDAzMDEuaHRtbAogCiBIaSwKIApAQCAtMjIs MjUgKzI1LDEzIEBAIEEgcHJvZ3JhbSBpcyBiZWluZyBkZWJ1Z2dlZCBhbHJlYWR5LiAgS2lsbCBp dD8gKHkgb3IgbikgXwogCiBUaGUgZmlyc3QgYXR0YWNobWVudCBvZiAiL3RtcC9zbGVlcCIgY29t bWFuZGxpbmUgYXJndW1lbnQgZXJyb3JzIGF0OgogCi0jMCAgdGhyb3dfZXJyb3IgKGVycm9yPUdF TkVSSUNfRVJST1IsIGZtdD0weDExNmQxMzUgIiVzLiIpIGF0IC4vY29tbW9uL2NvbW1vbi1leGNl cHRpb25zLmM6MzcxCi0jMSAgaW4gdGhyb3dfcGVycm9yX3dpdGhfbmFtZSAoZXJyY29kZT1HRU5F UklDX0VSUk9SLCBzdHJpbmc9MHg3ZmZmZmZmZmRiOTYgIi9kZnNmZHMiKSBhdCB1dGlscy5jOjk3 NAotIzIgIGluIHBlcnJvcl93aXRoX25hbWUgKHN0cmluZz0weDdmZmZmZmZmZGI5NiAiL2Rmc2Zk cyIpIGF0IHV0aWxzLmM6OTgyCi0jMyAgaW4gZXhlY19maWxlX2F0dGFjaCAoZmlsZW5hbWU9MHg3 ZmZmZmZmZmRiOTYgIi9kZnNmZHMiLCBmcm9tX3R0eT0xKSBhdCBleGVjLmM6MjY4CiAyNjcgICAg ICAgICAgICAgICBpZiAoc2NyYXRjaF9jaGFuIDwgMCkKIDI2OCAgICAgICAgICAgICAgICAgcGVy cm9yX3dpdGhfbmFtZSAoZmlsZW5hbWUpOwotIzQgIGluIGNhdGNoX2NvbW1hbmRfZXJyb3JzX2Nv bnN0IChjb21tYW5kPTB4ODBmNTlmIDxleGVjX2ZpbGVfYXR0YWNoPiwgYXJnPTB4N2ZmZmZmZmZk Yjk2ICIvZGZzZmRzIiwgZnJvbV90dHk9MSkgYXQgbWFpbi5jOjM5NQotIzUgIGluIGNhcHR1cmVk X21haW4gKGRhdGE9MHg3ZmZmZmZmZmQ2ZjApIGF0IG1haW4uYzoxMDUxCiAxMDUxICAgICAgICAg IGlmIChjYXRjaF9jb21tYW5kX2Vycm9yc19jb25zdCAoZXhlY19maWxlX2F0dGFjaCwgZXhlY2Fy ZywKIDEwNTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhYmF0Y2hf ZmxhZykpCiAKIFRoZW4gR0RCIHRyaWVzIHRvIGF0dGFjaCB0byB0aGUgcHJvY2VzcyAkcDoKIAot IzAgIGluZmVyaW9yX2FwcGVhcmVkIChpbmY9MHgyNDBlMGIwLCBwaWQ9MjkyMTApIGF0IGluZmVy aW9yLmM6MzA1Ci0jMSAgaW4gaW5mX3B0cmFjZV9hdHRhY2ggKG9wcz0weDIzMzk1NDAsIGFyZ3M9 MHgyMWRjZGMwICIyOTIxMCIsIGZyb21fdHR5PTEpIGF0IGluZi1wdHJhY2UuYzoyMDYKLSMyICBp biBsaW51eF9uYXRfYXR0YWNoIChvcHM9MHgyMzM5NTQwLCBhcmdzPTB4MjFkY2RjMCAiMjkyMTAi LCBmcm9tX3R0eT0xKSBhdCBsaW51eC1uYXQuYzoxMjc4Ci0jMyAgaW4gYXR0YWNoX2NvbW1hbmQg KGFyZ3M9MHgyMWRjZGMwICIyOTIxMCIsIGZyb21fdHR5PTEpIGF0IGluZmNtZC5jOjI3NDgKLSM0 ICBpbiBjYXRjaF9jb21tYW5kX2Vycm9ycyAoY29tbWFuZD0weDc5ZDdlNSA8YXR0YWNoX2NvbW1h bmQ+LCBhcmc9MHg3ZmZmZmZmZmRiOWUgIjI5MjEwIiwgZnJvbV90dHk9MSkgYXQgbWFpbi5jOjM2 OAotIzUgIGluIGNhcHR1cmVkX21haW4gKGRhdGE9MHg3ZmZmZmZmZmQ2ZjApIGF0IG1haW4uYzox MDgyCiAxMDgyICAgICAgICAgICAgICBpZiAoY2F0Y2hfY29tbWFuZF9lcnJvcnMgKGF0dGFjaF9j b21tYW5kLCBwaWRfb3JfY29yZV9hcmcsCiAxMDgzICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICFiYXRjaF9mbGFnKSA9PSAwKQogCkBAIC01MSwzNyArNDIsMTQgQEAgdGhl IGxpbmVzCiBzdGlsbCBmYWlsIGJlY2F1c2UgY29uc2VxdWVudGx5IGF0dGFjaF9jb21tYW5kKCkg ZmFpbHMgdG8gZmluZCB0aGUgYXNzb2NpYXRlZAogZXhlY3V0YWJsZSBmaWxlOgogCi0jMCAgdGhy b3dfZXJyb3IgKGVycm9yPUdFTkVSSUNfRVJST1IsIGZtdD0weDExNmQxMzUgIiVzLiIpIGF0IC4v Y29tbW9uL2NvbW1vbi1leGNlcHRpb25zLmM6MzcxCi0jMSAgaW4gdGhyb3dfcGVycm9yX3dpdGhf bmFtZSAoZXJyY29kZT1HRU5FUklDX0VSUk9SLCBzdHJpbmc9MHgyNDc3ODYwICIvdG1wL3NsZWVw IChkZWxldGVkKSIpIGF0IHV0aWxzLmM6OTc0Ci0jMiAgaW4gcGVycm9yX3dpdGhfbmFtZSAoc3Ry aW5nPTB4MjQ3Nzg2MCAiL3RtcC9zbGVlcCAoZGVsZXRlZCkiKSBhdCB1dGlscy5jOjk4MgotIzMg IGluIGV4ZWNfZmlsZV9hdHRhY2ggKGZpbGVuYW1lPTB4MjQ3Nzg2MCAiL3RtcC9zbGVlcCAoZGVs ZXRlZCkiLCBmcm9tX3R0eT0xKSBhdCBleGVjLmM6MjY4CiAyNjcgICAgICAgICAgICAgICBpZiAo c2NyYXRjaF9jaGFuIDwgMCkKIDI2OCAgICAgICAgICAgICAgICAgcGVycm9yX3dpdGhfbmFtZSAo ZmlsZW5hbWUpOwotIzQgIGluIGV4ZWNfZmlsZV9sb2NhdGVfYXR0YWNoIChwaWQ9MjkyMTAsIGZy b21fdHR5PTEpIGF0IGV4ZWMuYzoxNzMKLSM1ICBpbiBhdHRhY2hfY29tbWFuZF9wb3N0X3dhaXQg KGFyZ3M9MHgyNDczOWIwICIyOTIxMCIsIGZyb21fdHR5PTEsIGFzeW5jX2V4ZWM9MCkgYXQgaW5m Y21kLmM6MjYyOAotIzYgIGluIGF0dGFjaF9jb21tYW5kX2NvbnRpbnVhdGlvbiAoYXJncz0weDI0 NzM1OTAsIGVycj0wKSBhdCBpbmZjbWQuYzoyNzAwCi0jNyAgaW4gZG9fbXlfY29udGludWF0aW9u c18xIChwbXlfY2hhaW49MHg3ZmZmZmZmZmQxOTAsIGVycj0wKSBhdCBjb250aW51YXRpb25zLmM6 NTkKLSM4ICBpbiBkb19teV9jb250aW51YXRpb25zIChsaXN0PTB4MjQwZTEzMCwgZXJyPTApIGF0 IGNvbnRpbnVhdGlvbnMuYzo4MwotIzkgIGluIGRvX2FsbF9pbmZlcmlvcl9jb250aW51YXRpb25z IChlcnI9MCkgYXQgY29udGludWF0aW9ucy5jOjEyNQotIzEwIGluIGluZmVyaW9yX2V2ZW50X2hh bmRsZXIgKGV2ZW50X3R5cGU9SU5GX0VYRUNfQ09NUExFVEUsIGNsaWVudF9kYXRhPTB4MCkgYXQg aW5mLWxvb3AuYzo2MAotIzExIGluIGZldGNoX2luZmVyaW9yX2V2ZW50IChjbGllbnRfZGF0YT0w eDApIGF0IGluZnJ1bi5jOjM5MjkKLSMxMiBpbiBpbmZlcmlvcl9ldmVudF9oYW5kbGVyIChldmVu dF90eXBlPUlORl9SRUdfRVZFTlQsIGNsaWVudF9kYXRhPTB4MCkgYXQgaW5mLWxvb3AuYzo0NAot IzEzIGluIGhhbmRsZV90YXJnZXRfZXZlbnQgKGVycm9yPTAsIGNsaWVudF9kYXRhPTB4MCkgYXQg bGludXgtbmF0LmM6NDY4MQotIzE0IGluIGhhbmRsZV9maWxlX2V2ZW50IChmaWxlX3B0cj0weDIx ZTQxNzAsIHJlYWR5X21hc2s9MSkgYXQgZXZlbnQtbG9vcC5jOjcwOAotIzE1IGluIGdkYl93YWl0 X2Zvcl9ldmVudCAoYmxvY2s9MCkgYXQgZXZlbnQtbG9vcC5jOjgzNAotIzE2IGluIGdkYl9kb19v bmVfZXZlbnQgKCkgYXQgZXZlbnQtbG9vcC5jOjI5OAotIzE3IGluIHdhaXRfc3luY19jb21tYW5k X2RvbmUgKCkgYXQgdG9wLmM6MzczCi0jMTggaW4gbWF5YmVfd2FpdF9zeW5jX2NvbW1hbmRfZG9u ZSAod2FzX3N5bmM9MCkgYXQgdG9wLmM6Mzg4Ci0jMTkgaW4gY2F0Y2hfY29tbWFuZF9lcnJvcnMg KGNvbW1hbmQ9MHg3OWQ3ZTUgPGF0dGFjaF9jb21tYW5kPiwgYXJnPTB4N2ZmZmZmZmZkYjllICIy OTIxMCIsIGZyb21fdHR5PTEpIGF0IG1haW4uYzozNzAKLSMyMCBpbiBjYXB0dXJlZF9tYWluIChk YXRhPTB4N2ZmZmZmZmZkNmYwKSBhdCBtYWluLmM6MTA4MgogMTA4MiAgICAgICAgICAgICAgaWYg KGNhdGNoX2NvbW1hbmRfZXJyb3JzIChhdHRhY2hfY29tbWFuZCwgcGlkX29yX2NvcmVfYXJnLAog MTA4MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhYmF0Y2hfZmxhZykg PT0gMCkKIAogYW5kIHRoZXJlZm9yZSBHREIgZXhlY3V0ZXMgdGhlIGZvbGxvd2luZzoKIAogKGdk YikgYnQKLSM1ICBpbiBxdWVyeSAoY3Rsc3RyPTB4MTE0MWFlOCAiQSBwcm9ncmFtIGlzIGJlaW5n IGRlYnVnZ2VkIGFscmVhZHkuICBLaWxsIGl0PyAiKSBhdCB1dGlscy5jOjEzNzEKLSM2ICBpbiB0 YXJnZXRfcHJlb3BlbiAoZnJvbV90dHk9MSkgYXQgdGFyZ2V0LmM6MjE4MwogMjE3OQkgIGlmICho YXZlX2luZmVyaW9ycyAoKSkKIDIxODAJICAgIHsKIDIxODEJICAgICAgaWYgKCFmcm9tX3R0eQpA QCAtOTEsMjAgKzU5LDE0IEBAIGFuZCB0aGVyZWZvcmUgR0RCIGV4ZWN1dGVzIHRoZSBmb2xsb3dp bmc6CiAyMTg1CSAgICAgIGVsc2UKIDIxODYJCWVycm9yIChfKCJQcm9ncmFtIG5vdCBraWxsZWQu IikpOwogMjE4NwkgICAgfQotIzcgIGluIGNvcmVfb3BlbiAoYXJnPTB4N2ZmZmZmZmZkYjlmICI5 Njk0IiwgZnJvbV90dHk9MSkgYXQgY29yZWxvdy5jOjI4MwotIzggIGluIGNvcmVfZmlsZV9jb21t YW5kIChmaWxlbmFtZT0weDdmZmZmZmZmZGI5ZiAiOTY5NCIsIGZyb21fdHR5PTEpIGF0IGNvcmVm aWxlLmM6NzcKLSM5ICBpbiBjYXRjaF9jb21tYW5kX2Vycm9ycyAoY29tbWFuZD0weDg2Y2ExNiA8 Y29yZV9maWxlX2NvbW1hbmQ+LCBhcmc9MHg3ZmZmZmZmZmRiOWYgIjk2OTQiLCBmcm9tX3R0eT0x KSBhdCBtYWluLmM6MzY4Ci0jMTAgaW4gY2FwdHVyZWRfbWFpbiAoZGF0YT0weDdmZmZmZmZmZDZm MCkgYXQgbWFpbi5jOjEwODQKIDEwODQJCSAgICBjYXRjaF9jb21tYW5kX2Vycm9ycyAoY29yZV9m aWxlX2NvbW1hbmQsIHBpZF9vcl9jb3JlX2FyZywKIDEwODUJCQkJCSAgIWJhdGNoX2ZsYWcpOwog CiBObyByZWdyZXNzaW9ucyBvbiB7eDg2XzY0LHg4Nl82NC1tMzIsaTY4Nn0tZmVkb3JhMjRwcmUt bGludXgtZ251LgogCi0KIFRoYW5rcywKIEphbgogCi0KIGdkYi9DaGFuZ2VMb2cKIDIwMTUtMTAt MTYgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIApAQCAtMTE3 LDE3ICs3OSwxOCBAQCBnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwogCSogZ2RiLmJhc2UvYXR0YWNo LWtpbGxzLmM6IE5ldy4KIAkqIGdkYi5iYXNlL2F0dGFjaC1raWxscy5leHA6IE5ldy4KIC0tLQot IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXR0YWNoLWtpbGxzLmMgICB8ICAgMjUgKysrKysrKysr KysrKysrKwotIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXR0YWNoLWtpbGxzLmV4cCB8ICAgNDkg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgNzQgaW5z ZXJ0aW9ucygrKQorIGdkYi9tYWluLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1 ICsrKy0KKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC1raWxscy5jICAgfCAyNSArKysr KysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXR0YWNoLWtpbGxzLmV4cCB8 IDQ5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDMgZmlsZXMgY2hhbmdlZCwg NzggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC1raWxscy5jCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXR0YWNoLWtpbGxzLmV4cAogCiBkaWZmIC0tZ2l0IGEvZ2Ri L21haW4uYyBiL2dkYi9tYWluLmMKLWluZGV4IDQ5YzliNjguLmJjMTk2OTkgMTAwNjQ0CitpbmRl eCBkNWI0YzNhZGI5Li5kZjFmMTJiZDc5IDEwMDY0NAogLS0tIGEvZ2RiL21haW4uYwogKysrIGIv Z2RiL21haW4uYwotQEAgLTEwODAsNyArMTA4MCwxMCBAQCBjYXB0dXJlZF9tYWluICh2b2lkICpk YXRhKQorQEAgLTExMTMsNyArMTExMywxMCBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0 dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCiAgICAgICAgaWYgKGlzZGlnaXQgKHBpZF9vcl9jb3Jl X2FyZ1swXSkpCiAgCXsKICAJICBpZiAoY2F0Y2hfY29tbWFuZF9lcnJvcnMgKGF0dGFjaF9jb21t YW5kLCBwaWRfb3JfY29yZV9hcmcsCkBAIC0xNDEsNyArMTA0LDcgQEAgaW5kZXggNDljOWI2OC4u YmMxOTY5OSAxMDA2NDQKICAJfQogZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv YXR0YWNoLWtpbGxzLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC1raWxscy5jCiBu ZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uMjM5OGYwMAoraW5kZXggMDAwMDAw MDAwMC4uMjM5OGYwMDQ0MgogLS0tIC9kZXYvbnVsbAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9hdHRhY2gta2lsbHMuYwogQEAgLTAsMCArMSwyNSBAQApAQCAtMTcyLDcgKzEzNSw3IEBA IGluZGV4IDAwMDAwMDAuLjIzOThmMDAKICt9CiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9hdHRhY2gta2lsbHMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gt a2lsbHMuZXhwCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uOWE5M2NiNwor aW5kZXggMDAwMDAwMDAwMC4uOWE5M2NiNzU4NAogLS0tIC9kZXYvbnVsbAogKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gta2lsbHMuZXhwCiBAQCAtMCwwICsxLDQ5IEBACkBAIC0y MjUsNCArMTg4LDYgQEAgaW5kZXggMDAwMDAwMC4uOWE5M2NiNwogK30KICsKICtraWxsX3dhaXRf c3Bhd25lZF9wcm9jZXNzICR0ZXN0X3NwYXduX2lkCistLSAKKzIuMTQuMwogCgpkaWZmIC0tZ2l0 IGEvZ2RiLWJ6NTMzMTc2LWZvcnRyYW4tb21wLXN0ZXAucGF0Y2ggYi9nZGItYno1MzMxNzYtZm9y dHJhbi1vbXAtc3RlcC5wYXRjaAppbmRleCAzMmQ2MGI5Li4wMWI5MGQ4IDEwMDY0NAotLS0gYS9n ZGItYno1MzMxNzYtZm9ydHJhbi1vbXAtc3RlcC5wYXRjaAorKysgYi9nZGItYno1MzMxNzYtZm9y dHJhbi1vbXAtc3RlcC5wYXRjaApAQCAtMSw5ICsxLDEyIEBACitGcm9tIDAyZTUyYmZmMDlkYmY3 MzRlMTZmNTdjMGM3NTcyMGFmMjcyMDIzYzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9t OiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBP Y3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLWJ6NTMzMTc2LWZvcnRyYW4tb21w LXN0ZXAucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1iejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBh dGNoCiAKKzs7IEZpeCBzdGVwcGluZyB3aXRoIE9NUCBwYXJhbGxlbCBGb3J0cmFuIHNlY3Rpb25z IChCWiA1MzMxNzYpLgorOzs9cHVzaCtqYW46IEl0IHJlcXVpcmVzIHNvbWUgYmV0dGVyIERXQVJG IGFubm90YXRpb25zLgogCiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dp P2lkPTUzMzE3NiNjNAogCkBAIC0yNSwxNCArMjgsMTkgQEAgdXBzdHJlYW0pIG9yICJzdGVwIiAo ZGVmYXVsdCBpbiBGL1JIRUwpIHRoZSBzaW11bHRhbmVvdXMgZXhlY3V0aW9uIG9mIHRoZQogdGhy ZWFkcyBpcyBpbmNvbnZlbmllbnQuICBTZXR0aW5nIGl0IHRvICJvbiIgd2lsbCBsb2NrdXAgdGhl IGRlYnVnZ2luZyBhcyB0aGUKIHRocmVhZHMgbmVlZCB0byBnZXQgc3luY2hyb25pemVkIGF0IHNv bWUgcG9pbnQuICBUaGlzIGlzIGEgbW9yZSBnZW5lcmFsCiBkZWJ1Z2dpbmcgcHJvYmxlbSBvZiBH T01QIG91dHNpZGUgb2YgdGhlIHNjb3BlIG9mIHRoaXMgQnVnLgorLS0tCisgZ2RiL2luZnJ1bi5j ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKysrKysrKworIGdkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vb21wLXN0ZXAuZXhwIHwgMzEgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vb21wLXN0ZXAuZjkwIHwgMzIgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDc0IGluc2Vy dGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9v bXAtc3RlcC5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9vbXAtc3RlcC5mOTAKIAotCi0KLUluZGV4OiBnZGItNy43LjkwLjIwMTQwNjEzL2dkYi9pbmZy dW4uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjcuOTAuMjAxNDA2MTMub3JpZy9nZGIvaW5mcnVu LmMJMjAxNC0wNi0xMyAyMTo1OToxMC44MzU4MDU1MTIgKzAyMDAKLSsrKyBnZGItNy43LjkwLjIw MTQwNjEzL2dkYi9pbmZydW4uYwkyMDE0LTA2LTEzIDIxOjU5OjMxLjA2NDgyOTEyMSArMDIwMAot QEAgLTQ4MjAsNiArNDgyMCwxNiBAQCBwcm9jZXNzX2V2ZW50X3N0b3BfdGVzdCAoc3RydWN0IGV4 ZWN1dGlvCitkaWZmIC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2luZnJ1bi5jCitpbmRleCBk Yjc0MmY3Mzk4Li44YzJjNDI0ODgzIDEwMDY0NAorLS0tIGEvZ2RiL2luZnJ1bi5jCisrKysgYi9n ZGIvaW5mcnVuLmMKK0BAIC02NjYzLDYgKzY2NjMsMTYgQEAgcHJvY2Vzc19ldmVudF9zdG9wX3Rl c3QgKHN0cnVjdCBleGVjdXRpb25fY29udHJvbF9zdGF0ZSAqZWNzKQogIAogICAgICAgIGlmIChl Y3MtPmV2ZW50X3RocmVhZC0+Y29udHJvbC5zdGVwX292ZXJfY2FsbHMgPT0gU1RFUF9PVkVSX0FM TCkKICAJewpAQCAtNDksNyArNTcsNyBAQCBJbmRleDogZ2RiLTcuNy45MC4yMDE0MDYxMy9nZGIv aW5mcnVuLmMKICAJICAvKiBXZSdyZSBkb2luZyBhICJuZXh0Ii4KICAKICAJICAgICBOb3JtYWwg KGZvcndhcmQpIGV4ZWN1dGlvbjogc2V0IGEgYnJlYWtwb2ludCBhdCB0aGUKLUBAIC00ODU1LDYg KzQ4NjUsNyBAQCBwcm9jZXNzX2V2ZW50X3N0b3BfdGVzdCAoc3RydWN0IGV4ZWN1dGlvCitAQCAt NjY5Niw2ICs2NzA2LDcgQEAgcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3QgKHN0cnVjdCBleGVjdXRp b25fY29udHJvbF9zdGF0ZSAqZWNzKQogIAogIAkgIGtlZXBfZ29pbmcgKGVjcyk7CiAgCSAgcmV0 dXJuOwpAQCAtNTcsMTAgKzY1LDExIEBAIEluZGV4OiBnZGItNy43LjkwLjIwMTQwNjEzL2dkYi9p bmZydW4uYwogIAl9CiAgCiAgICAgICAgLyogSWYgd2UgYXJlIGluIGEgZnVuY3Rpb24gY2FsbCB0 cmFtcG9saW5lIChhIHN0dWIgYmV0d2VlbiB0aGUKLUluZGV4OiBnZGItNy43LjkwLjIwMTQwNjEz L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vb21wLXN0ZXAuZXhwCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu Ny45MC4yMDE0MDYxMy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL29tcC1zdGVwLmV4cAkyMDE0 LTA2LTEzIDIxOjU5OjIyLjgwMTgxOTQ4MSArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vb21wLXN0ZXAuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9v bXAtc3RlcC5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi42NjQ0 MGE3NTA3CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL29t cC1zdGVwLmV4cAogQEAgLTAsMCArMSwzMSBAQAogKyMgQ29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC05MywxMCArMTAyLDExIEBAIEluZGV4OiBnZGIt Ny43LjkwLjIwMTQwNjEzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vb21wLXN0ZXAuZXhwCiAr CiArZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInN1Y2Nlc3MiXQogK2dkYl9j b250aW51ZV90b19icmVha3BvaW50ICJzdWNjZXNzIiAiLipzdWNjZXNzLioiCi1JbmRleDogZ2Ri LTcuNy45MC4yMDE0MDYxMy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL29tcC1zdGVwLmY5MAot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAotKysrIGdkYi03LjcuOTAuMjAxNDA2MTMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9v bXAtc3RlcC5mOTAJMjAxNC0wNi0xMyAyMTo1OToyMi44MDE4MTk0ODEgKzAyMDAKK2RpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL29tcC1zdGVwLmY5MCBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vb21wLXN0ZXAuZjkwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMDAwMC4uYTBjZmIzNzAxNAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9vbXAtc3RlcC5mOTAKIEBAIC0wLDAgKzEsMzIgQEAKICshIENvcHlyaWdo dCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTMwLDMgKzE0MCw2 IEBAIEluZGV4OiBnZGItNy43LjkwLjIwMTQwNjEzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v b21wLXN0ZXAuZjkwCiArICAgICAgZW5kIGRvCiArICAgICAgcHJpbnQgKiwgInN1Y2Nlc3MiCiAr ICAgICAgZW5kCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLWJ6NTQxODY2LXJ3YXRj aC1iZWZvcmUtcnVuLnBhdGNoIGIvZ2RiLWJ6NTQxODY2LXJ3YXRjaC1iZWZvcmUtcnVuLnBhdGNo CmluZGV4IDAzOGJkMTQuLjhiMDNkZTQgMTAwNjQ0Ci0tLSBhL2dkYi1iejU0MTg2Ni1yd2F0Y2gt YmVmb3JlLXJ1bi5wYXRjaAorKysgYi9nZGItYno1NDE4NjYtcndhdGNoLWJlZm9yZS1ydW4ucGF0 Y2gKQEAgLTEsMzkgKzEsNTIgQEAKK0Zyb20gNTg0NjYyN2VmNjYyMjIzYTNhMjNmMjllMmU4ZGEx Yzk2YjBmNDNjOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0 Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUw ICswMjAwCiBTdWJqZWN0OiBnZGItYno1NDE4NjYtcndhdGNoLWJlZm9yZS1ydW4ucGF0Y2gKIAog RmlsZU5hbWU6IGdkYi1iejU0MTg2Ni1yd2F0Y2gtYmVmb3JlLXJ1bi5wYXRjaAogCis7OyBGaXgg aTM4Nit4ODZfNjQgcndhdGNoK2F3YXRjaCBiZWZvcmUgcnVuLCByZWdyZXNzaW9uIGFnYWluc3Qg Ni44IChCWiA1NDE4NjYpLgorOzsgRml4IGkzODYgcndhdGNoK2F3YXRjaCBiZWZvcmUgcnVuIChC WiA2ODg3ODgsIG9uIHRvcCBvZiBCWiA1NDE4NjYpLgorOzs9cHVzaCtqYW46IEl0IHNob3VsZCBi ZSBmaXhlZCBwcm9wZXJseSBpbnN0ZWFkLgorLS0tCisgZ2RiL2JyZWFrcG9pbnQuYyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLS0KKyBnZGIvY29uZmlnL2kzODYvbm0t bGludXguaCAgICAgICAgICAgICAgICAgICAgICAgICB8IDI4ICsrKysrKysrKysrKysrKworIGdk Yi9jb25maWcvaTM4Ni9ubS1saW51eDY0LmggICAgICAgICAgICAgICAgICAgICAgIHwgMjggKysr KysrKysrKysrKysrCisgZ2RiL2NvbmZpZ3VyZS5uYXQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMiArKworIGdkYi90YXJnZXQuaCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDIgKysKKyAuLi4vZ2RiLmJhc2Uvd2F0Y2hwb2ludC1ody1iZWZvcmUt cnVuLmV4cCAgICAgICAgICB8IDQwICsrKysrKysrKysrKysrKysrKysrKysKKyA2IGZpbGVzIGNo YW5nZWQsIDEwMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEw MDY0NCBnZGIvY29uZmlnL2kzODYvbm0tbGludXguaAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIv Y29uZmlnL2kzODYvbm0tbGludXg2NC5oCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3Vp dGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1ody1iZWZvcmUtcnVuLmV4cAogCi1JbmRleDogZ2RiLTcu MTEuOTAuMjAxNjA4MDcvZ2RiL2NvbmZpZy9pMzg2L2xpbnV4NjQubWgKLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4xMS45MC4yMDE2MDgwNy5vcmlnL2dkYi9jb25maWcvaTM4Ni9saW51eDY0Lm1oCTIw MTYtMDgtMDcgMjI6Mjc6MTMuODg5Mjg1Mjc0ICswMjAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4 MDcvZ2RiL2NvbmZpZy9pMzg2L2xpbnV4NjQubWgJMjAxNi0wOC0wNyAyMjoyOToyMC40NTEzMTEx MjQgKzAyMDAKLUBAIC03LDcgKzcsNyBAQAotIAlsaW51eC1wcm9jZnMubyBsaW51eC1wdHJhY2Uu byBsaW51eC1idHJhY2UubyBcCi0gCWxpbnV4LXdhaXRwaWQubyBsaW51eC1wZXJzb25hbGl0eS5v IHg4Ni1saW51eC5vIFwKLSAJeDg2LWxpbnV4LWRyZWdzLm8gYW1kNjQtbGludXgtc2lnaW5mby5v IGxpbnV4LW5hbWVzcGFjZXMubwotLU5BVF9GSUxFPSBjb25maWcvbm0tbGludXguaAotK05BVF9G SUxFPSBubS1saW51eDY0LmgKLSBOQVRfQ0RFUFMgPSAkKHNyY2RpcikvcHJvYy1zZXJ2aWNlLmxp c3QKK2RpZmYgLS1naXQgYS9nZGIvYnJlYWtwb2ludC5jIGIvZ2RiL2JyZWFrcG9pbnQuYworaW5k ZXggYmMwMTM0ZGIzNi4uMjY5OTI4YTc5NCAxMDA2NDQKKy0tLSBhL2dkYi9icmVha3BvaW50LmMK KysrKyBiL2dkYi9icmVha3BvaW50LmMKK0BAIC04ODc5LDcgKzg4NzksNyBAQCBpbml0X2JyZWFr cG9pbnRfc2FsIChzdHJ1Y3QgYnJlYWtwb2ludCAqYiwgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs CisgCQkgICAgIGludCBlbmFibGVkLCBpbnQgaW50ZXJuYWwsIHVuc2lnbmVkIGZsYWdzLAorIAkJ ICAgICBpbnQgZGlzcGxheV9jYW5vbmljYWwpCisgeworLSAgaW50IGk7CisrICBpbnQgaSBBVFRS SUJVVEVfVU5VU0VEOwogIAotICMgVGhlIGR5bmFtaWNhbGx5IGxvYWRlZCBsaWJ0aHJlYWRfZGIg bmVlZHMgYWNjZXNzIHRvIHN5bWJvbHMgaW4gdGhlCi1JbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4 MDcvZ2RiL2NvbmZpZy9pMzg2L2xpbnV4Lm1oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAu MjAxNjA4MDcub3JpZy9nZGIvY29uZmlnL2kzODYvbGludXgubWgJMjAxNi0wOC0wNyAyMjoyNzox My44ODkyODUyNzQgKzAyMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvY29uZmlnL2kz ODYvbGludXgubWgJMjAxNi0wOC0wNyAyMjoyOToyMC40NTEzMTExMjQgKzAyMDAKLUBAIC0xLDYg KzEsNiBAQAotICMgSG9zdDogSW50ZWwgMzg2IHJ1bm5pbmcgR05VL0xpbnV4LgorICAgaWYgKHR5 cGUgPT0gYnBfaGFyZHdhcmVfYnJlYWtwb2ludCkKKyAgICAgeworQEAgLTE0NDQyLDcgKzE0NDQy LDcgQEAgZW5hYmxlX2JyZWFrcG9pbnRfZGlzcCAoc3RydWN0IGJyZWFrcG9pbnQgKmJwdCwgZW51 bSBicGRpc3AgZGlzcG9zaXRpb24sCiAgCi0tTkFUX0ZJTEU9IGNvbmZpZy9ubS1saW51eC5oCi0r TkFUX0ZJTEU9IG5tLWxpbnV4LmgKLSBOQVRERVBGSUxFUz0gaW5mLXB0cmFjZS5vIGZvcmstY2hp bGQubyBcCi0gCXg4Ni1uYXQubyB4ODYtZHJlZ3MubyBpMzg2LWxpbnV4LW5hdC5vIHg4Ni1saW51 eC1uYXQubyBcCi0gCXByb2Mtc2VydmljZS5vIGxpbnV4LXRocmVhZC1kYi5vIFwKLUluZGV4OiBn ZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvY29uZmlnL2kzODYvbm0tbGludXguaAotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysr IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi9jb25maWcvaTM4Ni9ubS1saW51eC5oCTIwMTYtMDgt MDcgMjI6Mjk6MjAuNDUxMzExMTI0ICswMjAwCisgICBpZiAoYnB0LT50eXBlID09IGJwX2hhcmR3 YXJlX2JyZWFrcG9pbnQpCisgICAgIHsKKy0gICAgICBpbnQgaTsKKysgICAgICBpbnQgaSBBVFRS SUJVVEVfVU5VU0VEOworICAgICAgIGkgPSBod19icmVha3BvaW50X3VzZWRfY291bnQgKCk7Cisg ICAgICAgdGFyZ2V0X3Jlc291cmNlc19vayA9IAorIAl0YXJnZXRfY2FuX3VzZV9oYXJkd2FyZV93 YXRjaHBvaW50IChicF9oYXJkd2FyZV9icmVha3BvaW50LCAKK2RpZmYgLS1naXQgYS9nZGIvY29u ZmlnL2kzODYvbm0tbGludXguaCBiL2dkYi9jb25maWcvaTM4Ni9ubS1saW51eC5oCituZXcgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMzhlOTRiYWFiMQorLS0tIC9kZXYvbnVs bAorKysrIGIvZ2RiL2NvbmZpZy9pMzg2L25tLWxpbnV4LmgKIEBAIC0wLDAgKzEsMjggQEAKICsv KiBOYXRpdmUgc3VwcG9ydCBmb3IgR05VL0xpbnV4IGkzODYuCiArCkBAIC02MywxMCArNzYsMTEg QEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi9jb25maWcvaTM4Ni9ubS1saW51eC5o CiArI2RlZmluZSB0YXJnZXRfY2FuX3VzZV9oYXJkd2FyZV93YXRjaHBvaW50KHR5cGUsIGNudCwg b3QpIDEKICsKICsjZW5kaWYgLyogTk1fTElOVVg2NF9IICovCi1JbmRleDogZ2RiLTcuMTEuOTAu MjAxNjA4MDcvZ2RiL2NvbmZpZy9pMzg2L25tLWxpbnV4NjQuaAotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEx LjkwLjIwMTYwODA3L2dkYi9jb25maWcvaTM4Ni9ubS1saW51eDY0LmgJMjAxNi0wOC0wNyAyMjoy OToyMC40NTEzMTExMjQgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvY29uZmlnL2kzODYvbm0tbGlu dXg2NC5oIGIvZ2RiL2NvbmZpZy9pMzg2L25tLWxpbnV4NjQuaAorbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAwMDAuLjIxMmRhYmE0NzcKKy0tLSAvZGV2L251bGwKKysrKyBiL2dk Yi9jb25maWcvaTM4Ni9ubS1saW51eDY0LmgKIEBAIC0wLDAgKzEsMjggQEAKICsvKiBOYXRpdmUg c3VwcG9ydCBmb3IgR05VL0xpbnV4IGFtZDY0LgogKwpAQCAtOTYsMTEgKzExMCwzMSBAQCBJbmRl eDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL2NvbmZpZy9pMzg2L25tLWxpbnV4NjQuaAogKyNk ZWZpbmUgdGFyZ2V0X2Nhbl91c2VfaGFyZHdhcmVfd2F0Y2hwb2ludCh0eXBlLCBjbnQsIG90KSAx CiArCiArI2VuZGlmIC8qIE5NX0xJTlVYNjRfSCAqLwotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYw ODA3L2dkYi90YXJnZXQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjExLjkwLjIwMTYwODA3Lm9y aWcvZ2RiL3RhcmdldC5oCTIwMTYtMDgtMDcgMjI6Mjc6MTMuODg5Mjg1Mjc0ICswMjAwCi0rKysg Z2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3RhcmdldC5oCTIwMTYtMDgtMDcgMjI6Mjk6MjAuNDUy MzExMTMyICswMjAwCi1AQCAtMTkzOSw5ICsxOTM5LDExIEBACitkaWZmIC0tZ2l0IGEvZ2RiL2Nv bmZpZ3VyZS5uYXQgYi9nZGIvY29uZmlndXJlLm5hdAoraW5kZXggOTYyYWJkNmVkZi4uNDA0YjZj OGRlYiAxMDA2NDQKKy0tLSBhL2dkYi9jb25maWd1cmUubmF0CisrKysgYi9nZGIvY29uZmlndXJl Lm5hdAorQEAgLTIzNyw2ICsyMzcsNyBAQCBjYXNlICR7Z2RiX2hvc3R9IGluCisgCQk7OworIAkg ICAgaTM4NikKKyAJCSMgSG9zdDogSW50ZWwgMzg2IHJ1bm5pbmcgR05VL0xpbnV4LgorKwkJTkFU X0ZJTEU9IiR7c3JjZGlyfS9jb25maWcvJHtnZGJfaG9zdF9jcHV9L25tLWxpbnV4LmgiCisgCQlO QVRERVBGSUxFUz0iJHtOQVRERVBGSUxFU30geDg2LW5hdC5vIHg4Ni1kcmVncy5vIFwKKyAJCWkz ODYtbGludXgtbmF0Lm8geDg2LWxpbnV4LW5hdC5vIGxpbnV4LWJ0cmFjZS5vIFwKKyAJCXg4Ni1s aW51eC5vIHg4Ni1saW51eC1kcmVncy5vIgorQEAgLTI4OSw2ICsyOTAsNyBAQCBjYXNlICR7Z2Ri X2hvc3R9IGluCisgCWNhc2UgJHtnZGJfaG9zdF9jcHV9IGluCisgCSAgICBpMzg2KQorIAkJIyBI b3N0OiBHTlUvTGludXggeDg2LTY0CisrCQlOQVRfRklMRT0iJHtzcmNkaXJ9L2NvbmZpZy8ke2dk Yl9ob3N0X2NwdX0vbm0tbGludXg2NC5oIgorIAkJTkFUREVQRklMRVM9IiR7TkFUREVQRklMRVN9 IHg4Ni1uYXQubyB4ODYtZHJlZ3MubyBcCisgCQlhbWQ2NC1uYXQubyBhbWQ2NC1saW51eC1uYXQu byB4ODYtbGludXgtbmF0Lm8gbGludXgtYnRyYWNlLm8gXAorIAkJeDg2LWxpbnV4Lm8geDg2LWxp bnV4LWRyZWdzLm8gYW1kNjQtbGludXgtc2lnaW5mby5vIgorZGlmZiAtLWdpdCBhL2dkYi90YXJn ZXQuaCBiL2dkYi90YXJnZXQuaAoraW5kZXggNjM4ZTJmMDZlNi4uOTk5NTQxZDVkMiAxMDA2NDQK Ky0tLSBhL2dkYi90YXJnZXQuaAorKysrIGIvZ2RiL3RhcmdldC5oCitAQCAtMTkyNyw5ICsxOTI3 LDExIEBAIGV4dGVybiBzdHJ1Y3QgdGhyZWFkX2luZm8gKnRhcmdldF90aHJlYWRfaGFuZGxlX3Rv X3RocmVhZF9pbmZvCiAgICAgb25lLiAgT1RIRVJUWVBFIGlzIHRoZSBudW1iZXIgb2Ygd2F0Y2hw b2ludHMgb2Ygb3RoZXIgdHlwZXMgdGhhbgogICAgIHRoaXMgb25lIHVzZWQgc28gZmFyLiAgKi8K ICAKQEAgLTExMiwxMCArMTQ2LDExIEBAIEluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIv dGFyZ2V0LmgKICAKICAvKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZGVidWcgcmVnaXN0ZXJzIG5l ZWRlZCB0byB3YXRjaCB0aGUgZ2l2ZW4KICAgICBtZW1vcnkgcmVnaW9uLCBvciB6ZXJvIGlmIG5v dCBzdXBwb3J0ZWQuICAqLwotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1ody1iZWZvcmUtcnVuLmV4cAotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03 LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1ody1iZWZv cmUtcnVuLmV4cAkyMDE2LTA4LTA3IDIyOjI5OjIwLjQ1MjMxMTEzMiArMDIwMAorZGlmZiAtLWdp dCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1ody1iZWZvcmUtcnVuLmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1ody1iZWZvcmUtcnVuLmV4cAorbmV3 IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjRjZTk5OTdlNGEKKy0tLSAvZGV2 L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1ody1iZWZvcmUt cnVuLmV4cAogQEAgLTAsMCArMSw0MCBAQAogKyMgQ29weXJpZ2h0IDIwMDksIDIwMTAgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xNTcsMTYgKzE5Miw2IEBAIEluZGV4OiBn ZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtaHct YmVmb3JlLXJ1bi5leHAKICtnZGJfdGVzdCAiIiAibWFpbiAuKiBhdCAuKiIgInN0YXJ0IgogKwog K2dkYl90ZXN0ICJjb250aW51ZSIgIkNvbnRpbnVpbmcuXHJcblxyXG5IYXJkd2FyZSByZWFkIHdh dGNocG9pbnQgXFswLTlcXSs6IHdhdGNoZWVcclxuXHJcblZhbHVlID0gMFxyXG4uKiIKLUluZGV4 OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvYnJlYWtwb2ludC5jCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMTEuOTAuMjAxNjA4MDcub3JpZy9nZGIvYnJlYWtwb2ludC5jCTIwMTYtMDgtMDcgMjI6 MzM6MzguODM1NDA1NDU4ICswMjAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL2JyZWFr cG9pbnQuYwkyMDE2LTA4LTA3IDIyOjM0OjQ1LjAyMzk0MTk1MCArMDIwMAotQEAgLTE0OTUzLDcg KzE0OTUzLDcgQEAKLSAKLSAgIGlmIChicHQtPnR5cGUgPT0gYnBfaGFyZHdhcmVfYnJlYWtwb2lu dCkKLSAgICAgewotLSAgICAgIGludCBpOwotKyAgICAgIGludCBpIEFUVFJJQlVURV9VTlVTRUQ7 Ci0gICAgICAgaSA9IGh3X2JyZWFrcG9pbnRfdXNlZF9jb3VudCAoKTsKLSAgICAgICB0YXJnZXRf cmVzb3VyY2VzX29rID0gCi0gCXRhcmdldF9jYW5fdXNlX2hhcmR3YXJlX3dhdGNocG9pbnQgKGJw X2hhcmR3YXJlX2JyZWFrcG9pbnQsIAorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1i ejU2ODI0OC1vb20taXMtZXJyb3IucGF0Y2ggYi9nZGItYno1NjgyNDgtb29tLWlzLWVycm9yLnBh dGNoCmluZGV4IDJhZGJjZWYuLjE0NDhhODUgMTAwNjQ0Ci0tLSBhL2dkYi1iejU2ODI0OC1vb20t aXMtZXJyb3IucGF0Y2gKKysrIGIvZ2RiLWJ6NTY4MjQ4LW9vbS1pcy1lcnJvci5wYXRjaApAQCAt MSw5ICsxLDEyIEBACitGcm9tIDU0MDUyODE5Njg3MzM2ZDlhYzRmNzI4ZTQ5ZWQ3YWUxZTVlODQ3 ZTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGlu dmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAot U3ViamVjdDogW3JmYyBwYXRjaF0gbm9tZW06IGludGVybmFsX2Vycm9yIC0+IGVycm9yCitTdWJq ZWN0OiBub21lbTogaW50ZXJuYWxfZXJyb3IgLT4gZXJyb3IKIAogRmlsZU5hbWU6IGdkYi1iejU2 ODI0OC1vb20taXMtZXJyb3IucGF0Y2gKIAorOzsgT3V0IG9mIG1lbW9yeSBpcyBqdXN0IGFuIGVy cm9yLCBub3QgZmF0YWwgKHVuaW5pdGlhbGl6ZWQgVkxTIHZhcnMsIEJaIDU2ODI0OCkuCis7Oz1w dXNoK2phbjogSW5mZXJpb3Igb2JqZWN0cyBzaG91bGQgYmUgcmVhZCBpbiBwYXJ0cywgdGhlbiB0 aGlzIHBhdGNoIGdldHMgb2Jzb2xldGVkLgogCiBodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2Ri LXBhdGNoZXMvMjAxMC0wNi9tc2cwMDAwNS5odG1sCiAKQEAgLTMwLDcgKzMzLDYgQEAgSXQgaXMg YXBwYXJlbnRseSBiZWNhdXNlIGJvdW5kYXJ5IGZvciB0aGUgdmFyaWFibGUgYGEnIGlzIG5vdCBp bml0aWFsaXplZAogdGhlcmUuICBVc2VycyBub3RpY2UgaXQgZHVlIHRvIEVjbGlwc2UtQ0RUIHRy eWluZyB0byBhdXRvbWF0aWNhbGx5IGRpc3BsYXkgYWxsCiB0aGUgbG9jYWwgdmFyaWFibGVzIG9u IGVhY2ggc3RlcC4KIAotCiBBcHBhcmVudGwgbm8gcmVncmVzc2lvbnMgb24ge3g4Nl82NCx4ODZf NjQtbTMyLGk2ODZ9LWZlZG9yYTEzLWxpbnV4LWdudS4KIEJ1dCBpcyBhbm9uZSBhd2FyZSBvZiB0 aGUgcmVhc29ucyB0byB1c2UgaW50ZXJuYWxfZXJyb3IgdGhlcmU/CiBJIGZpbmQgc2ltcGxlIGVy cm9yIGFzIGEgcGVyZmVjdGx5IHJlYXNvbmFibGUgdGhlcmUuCkBAIC00MSwyMiArNDMsMjMgQEAg SUlSQyB0aGlzIGlkZWEgaGFzIGJlZW4gZGlzY3Vzc2VkIHdpdGggVG9tIFRyb21leSwgbm90IHN1 cmUgb2YgaXRzIG9yaWdpbi4KIEkgdW5kZXJzdGFuZCBpdCBtYXkgYmUgb2ZmdG9waWMgZm9yIEZT RiBHREIgYnV0IGZyb20gc29tZSBHREIgY3Jhc2hlcyBJIGFtIG5vdAogc3VyZSBpZiBpdCBjYW4g aGFwcGVuIG9ubHkgZHVlIHRvIHRoZSBWTEEgdmFyaWFibGVzLgogCi0KIFRoYW5rcywKIEphbgog Ci0KIGdkYi8KIDIwMTAtMDYtMDEgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVk aGF0LmNvbT4KIAkgICAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgogCiAJKiB1dGls cy5jIChub21lbSk6IENoYW5nZSBpbnRlcm5hbF9lcnJvciB0byBlcnJvci4KLQotSW5kZXg6IGdk Yi03LjMuNTAuMjAxMTA3MjIvZ2RiL3V0aWxzLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4zLjUw LjIwMTEwNzIyLm9yaWcvZ2RiL3V0aWxzLmMJMjAxMS0wNy0yMiAxOToyODo1OC4wMDAwMDAwMDAg KzAyMDAKLSsrKyBnZGItNy4zLjUwLjIwMTEwNzIyL2dkYi91dGlscy5jCTIwMTEtMDctMjIgMTk6 MzQ6MjUuMDAwMDAwMDAwICswMjAwCi1AQCAtMTIxOSwxMyArMTIxOSwxMSBAQCBtYWxsb2NfZmFp bHVyZSAobG9uZyBzaXplKQorLS0tCisgZ2RiL3V0aWxzLmMgfCA2ICsrLS0tLQorIDEgZmlsZSBj aGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9n ZGIvdXRpbHMuYyBiL2dkYi91dGlscy5jCitpbmRleCA5OGVmNmFjNDU3Li41ZTk5YTRkNTAxIDEw MDY0NAorLS0tIGEvZ2RiL3V0aWxzLmMKKysrKyBiL2dkYi91dGlscy5jCitAQCAtNzc2LDEzICs3 NzYsMTEgQEAgbWFsbG9jX2ZhaWx1cmUgKGxvbmcgc2l6ZSkKICB7CiAgICBpZiAoc2l6ZSA+IDAp CiAgICAgIHsKQEAgLTcyLDMgKzc1LDYgQEAgSW5kZXg6IGdkYi03LjMuNTAuMjAxMTA3MjIvZ2Ri L3V0aWxzLmMKICAgICAgfQogIH0KICAKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGIt Yno2MDE4ODctZHdhcmY0LXJoLXRlc3QucGF0Y2ggYi9nZGItYno2MDE4ODctZHdhcmY0LXJoLXRl c3QucGF0Y2gKaW5kZXggMDAyZjU1Zi4uOGU2MjdmZCAxMDA2NDQKLS0tIGEvZ2RiLWJ6NjAxODg3 LWR3YXJmNC1yaC10ZXN0LnBhdGNoCisrKyBiL2dkYi1iejYwMTg4Ny1kd2FyZjQtcmgtdGVzdC5w YXRjaApAQCAtMSwxNCArMSwyNiBAQAorRnJvbSBiM2U2YTdhN2VjNzkyMDg2NzIyZDgzMmFhMzdh NDg1ZDhlNzRjOWU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBw YXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6 NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1iejYwMTg4Ny1kd2FyZjQtcmgtdGVzdC5wYXRjaAogCiBG aWxlTmFtZTogZ2RiLWJ6NjAxODg3LWR3YXJmNC1yaC10ZXN0LnBhdGNoCiAKKzs7IEJhY2twb3J0 IERXQVJGLTQgc3VwcG9ydCAoQlogNjAxODg3LCBUb20gVHJvbWV5KS4KKzs7PWZlZG9yYXRlc3QK Ky0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9yaC1kd2FyZjQteDg2XzY0LlMgICB8IDE2 NyArKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9y aC1kd2FyZjQteDg2XzY0LmMgICB8ICAyMiArKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYy L3JoLWR3YXJmNC14ODZfNjQuZXhwIHwgIDQyICsrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDIz MSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmR3 YXJmMi9yaC1kd2FyZjQteDg2XzY0LlMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0 ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIv dGVzdHN1aXRlL2dkYi5kd2FyZjIvcmgtZHdhcmY0LXg4Nl82NC5leHAKIAotSW5kZXg6IGdkYi03 LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQuUwotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysr IGdkYi03LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQuUwkyMDE0 LTAyLTA2IDIyOjAyOjIxLjk4MTQ0OTU1NSArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmR3YXJmMi9yaC1kd2FyZjQteDg2XzY0LlMgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2Fy ZjIvcmgtZHdhcmY0LXg4Nl82NC5TCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAw MDAwMC4uNDhiMWJiZjNlMQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu ZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQuUwogQEAgLTAsMCArMSwxNjcgQEAKICsvKiBUaGlzIHRl c3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTc3LDEwICsx ODksMTEgQEAgSW5kZXg6IGdkYi03LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJm NC14ODZfNjQuUwogKwkuc3RyaW5nCSJtYWluIgogKwkuaWRlbnQJIkdDQzogKEdOVSkgNC40LjQg MjAxMDA1MDMgKFJlZCBIYXQgNC40LjQtMikiCiArCS5zZWN0aW9uCS5ub3RlLkdOVS1zdGFjaywi IixAcHJvZ2JpdHMKLUluZGV4OiBnZGItNy43L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9yaC1k d2FyZjQteDg2XzY0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy43L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJm Mi9yaC1kd2FyZjQteDg2XzY0LmMJMjAxNC0wMi0wNiAyMjowMjoyMS45ODE0NDk1NTUgKzAxMDAK K2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvcmgtZHdhcmY0LXg4Nl82NC5j IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQuYworbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjQ2ZmNkMTIwZjQKKy0tLSAvZGV2L251bGwK KysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9yaC1kd2FyZjQteDg2XzY0LmMKIEBAIC0w LDAgKzEsMjIgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRl YnVnZ2VyLgogKwpAQCAtMjA0LDEwICsyMTcsMTEgQEAgSW5kZXg6IGdkYi03LjcvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQuYwogK3sKICsgIHJldHVybiAwOwogK30K LUluZGV4OiBnZGItNy43L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9yaC1kd2FyZjQteDg2XzY0 LmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAotKysrIGdkYi03LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJm NC14ODZfNjQuZXhwCTIwMTQtMDItMDYgMjI6MTI6MTAuNzg4MDMyNDE3ICswMTAwCitkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQuZXhwCituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYTcyOGY5YzVlZAorLS0tIC9kZXYvbnVsbAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQuZXhwCiBAQCAtMCww ICsxLDQyIEBACiArIyBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KICsKQEAgLTI1MSwzICsyNjUsNiBAQCBJbmRleDogZ2RiLTcuNy9nZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvcmgtZHdhcmY0LXg4Nl82NC5leHAKICtjbGVhbl9yZXN0YXJ0ICRleGVjdXRhYmxl CiArCiArZ2RiX3Rlc3QgInB0eXBlIG1haW4iIHt0eXBlID0gaW50IFwodm9pZFwpfQorLS0gCisy LjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1iejYzNDEwOC1zb2xpYl9hZGRyZXNzLnBhdGNoIGIv Z2RiLWJ6NjM0MTA4LXNvbGliX2FkZHJlc3MucGF0Y2gKaW5kZXggMjJjNGRkMi4uZDM1NjNmNiAx MDA2NDQKLS0tIGEvZ2RiLWJ6NjM0MTA4LXNvbGliX2FkZHJlc3MucGF0Y2gKKysrIGIvZ2RiLWJ6 NjM0MTA4LXNvbGliX2FkZHJlc3MucGF0Y2gKQEAgLTEsMTQgKzEsMjQgQEAKK0Zyb20gYzVhOTc2 NDgxYTUwOTI4ZmJjNjM4N2FkYmVhOGIzYmM4NmY3NTk1OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBG cmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItYno2MzQxMDgtc29s aWJfYWRkcmVzcy5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLWJ6NjM0MTA4LXNvbGliX2FkZHJlc3Mu cGF0Y2gKIAorOzsgVmVyaWZ5IEdEQiBQeXRob24gYnVpbHQtaW4gZnVuY3Rpb24gZ2RiLnNvbGli X2FkZHJlc3MgZXhpc3RzIChCWiAjIDYzNDEwOCkuCis7Oz1mZWRvcmF0ZXN0CiAKIEZpeCBnZGIu c29saWJfYWRkcmVzcyAoZml4IGJ5IFBoaWwgTXVsZG9vbikuCiAKIHMvc29saWJfYWRkcmVzcy9z b2xpYl9uYW1lLyBkdXJpbmcgdXBzdHJlYW1pbmcuCistLS0KKyAuLi4vZ2RiLnB5dGhvbi9yaDYz NDEwOC1zb2xpYl9hZGRyZXNzLmV4cCAgICAgICAgICB8IDI0ICsrKysrKysrKysrKysrKysrKysr KysKKyAxIGZpbGUgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcmg2MzQxMDgtc29saWJfYWRkcmVzcy5leHAKIAor ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9yaDYzNDEwOC1zb2xpYl9hZGRy ZXNzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9yaDYzNDEwOC1zb2xpYl9hZGRyZXNz LmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmMwNDUxY2YwOWUK IC0tLSAvZGV2L251bGwKICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9yaDYzNDEwOC1z b2xpYl9hZGRyZXNzLmV4cAogQEAgLTAsMCArMSwyNCBAQApAQCAtMzYsMyArNDYsNiBAQCBzL3Nv bGliX2FkZHJlc3Mvc29saWJfbmFtZS8gZHVyaW5nIHVwc3RyZWFtaW5nLgogK2lmIHsgW3NraXBf cHl0aG9uX3Rlc3RzXSB9IHsgY29udGludWUgfQogKwogK2dkYl90ZXN0ICJweXRob24gcHJpbnQg Z2RiLnNvbGliX25hbWUoLTEpIiAiTm9uZSIgImdkYi5zb2xpYl9uYW1lIGV4aXN0cyIKKy0tIAor Mi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItY2NhY2hlLXdvcmthcm91bmQucGF0Y2ggYi9nZGIt Y2NhY2hlLXdvcmthcm91bmQucGF0Y2gKaW5kZXggMTQxMTlhMi4uZGEzZjIwYyAxMDA2NDQKLS0t IGEvZ2RiLWNjYWNoZS13b3JrYXJvdW5kLnBhdGNoCisrKyBiL2dkYi1jY2FjaGUtd29ya2Fyb3Vu ZC5wYXRjaApAQCAtMSwxMyArMSwyMSBAQAorRnJvbSAzMGU2N2RhNDExNzZmNzYxM2M3MjBiNTQ3 NGRlYzRjNGJjMzhkNzY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdE QiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6 MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1jY2FjaGUtd29ya2Fyb3VuZC5wYXRjaAogCiBGaWxl TmFtZTogZ2RiLWNjYWNoZS13b3JrYXJvdW5kLnBhdGNoCiAKKzs7IFdvcmthcm91bmQgY2NhY2hl IG1ha2luZyBsaW5lbm8gbm9uLXplcm8gZm9yIGNvbW1hbmQtbGluZSBkZWZpbml0aW9ucy4KKzs7 PWZlZG9yYXRlc3Q6IGNjYWNoZSBpcyByYXJlbHkgdXNlZCBhbmQgaXQgaXMgZXZlbiBmaXhlZCBu b3cuCistLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21hY3NjcC5leHAgfCA4ICsrKysrKysr CisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQogCitkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9tYWNzY3AuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9tYWNz Y3AuZXhwCitpbmRleCBkNDI0MmNjZWIxLi42NjAyYmM1OTFhIDEwMDY0NAogLS0tIGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9tYWNzY3AuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L21hY3NjcC5leHAKLUBAIC0zMyw2ICszMywxNCBAQCBpZiBbdGVzdF9jb21waWxlcl9pbmZvIGdj YypdIHsKK0BAIC0yNSw2ICsyNSwxNCBAQCBpZiB7IFt0ZXN0X2NvbXBpbGVyX2luZm8gImdjYy0q Il0gfHwgW3Rlc3RfY29tcGlsZXJfaW5mbyAiY2xhbmctKiJdIH0gewogICAgICBsYXBwZW5kIG9w dGlvbnMgYWRkaXRpb25hbF9mbGFncz0tZzMKICB9CiAgCkBAIC0yMiwzICszMCw2IEBAIEZpbGVO YW1lOiBnZGItY2NhY2hlLXdvcmthcm91bmQucGF0Y2gKICAjIEdlbmVyYXRlIHRoZSBpbnRlcm1l ZGlhdGUgb2JqZWN0IGZpbGUuICBUaGlzIGlzIHJlcXVpcmVkIGJ5IERhcndpbiB0bwogICMgaGF2 ZSBhY2Nlc3MgdG8gdGhlIC5kZWJ1Z19tYWNpbmZvIHNlY3Rpb24uCiAgaWYgIHtbZ2RiX2NvbXBp bGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0vbWFjc2NwMS5jIiAiJHtvYmpmaWxlfSIgXAorLS0gCisy LjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1jb250YWluZXItcmgtcGtnLnBhdGNoIGIvZ2RiLWNv bnRhaW5lci1yaC1wa2cucGF0Y2gKaW5kZXggYTFiZmUyMS4uMDBlMWE3MSAxMDA2NDQKLS0tIGEv Z2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKKysrIGIvZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0 Y2gKQEAgLTEsMTIgKzEsMjEgQEAKK0Zyb20gMWE2ZDQwYmMwZGExNzY3MWM4MjU5ZWU0NGY3N2E2 NGE0NDJhODJmZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0 Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUw ICswMjAwCiBTdWJqZWN0OiBnZGItY29udGFpbmVyLXJoLXBrZy5wYXRjaAogCiBGaWxlTmFtZTog Z2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKIAotLS0tIGdkYi03LjExL2dkYi9yZW1vdGUuYy1v cmlnCTIwMTYtMDQtMDYgMTc6NDY6NTIuNDI4OTIxNDk2ICswMjAwCi0rKysgZ2RiLTcuMTEvZ2Ri L3JlbW90ZS5jCTIwMTYtMDQtMDYgMTg6Mjg6MjYuNzgxOTIzNTE2ICswMjAwCi1AQCAtMTMwMDIs NyArMTMwMDIsMTcgQEAgcmVtb3RlX3BpZF90b19leGVjX2ZpbGUgKHN0cnVjdCB0YXJnZXRfbwor OzsgQWRkIG1lc3NhZ2VzIHN1Z2dlc3RpbmcgbW9yZSByZWNlbnQgUkhFTCBnZGJzZXJ2ZXIgKFJI IEJaIDEzMjExMTQpLgorOzs9ZmVkb3JhCistLS0KKyBnZGIvcmVtb3RlLmMgfCAxMiArKysrKysr KysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQor CitkaWZmIC0tZ2l0IGEvZ2RiL3JlbW90ZS5jIGIvZ2RiL3JlbW90ZS5jCitpbmRleCAzMDNmY2Rk ZDhhLi42ZjgyNGU1MzJiIDEwMDY0NAorLS0tIGEvZ2RiL3JlbW90ZS5jCisrKysgYi9nZGIvcmVt b3RlLmMKK0BAIC0xMzQzMiw3ICsxMzQzMiwxNyBAQCByZW1vdGVfcGlkX3RvX2V4ZWNfZmlsZSAo c3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIGludCBwaWQpCiAgICBjaGFyICphbm5leCA9IE5VTEw7 CiAgCiAgICBpZiAocGFja2V0X3N1cHBvcnQgKFBBQ0tFVF9xWGZlcl9leGVjX2ZpbGUpICE9IFBB Q0tFVF9FTkFCTEUpCkBAIC0yMyw1ICszMiw4IEBAIEZpbGVOYW1lOiBnZGItY29udGFpbmVyLXJo LXBrZy5wYXRjaAogKyAgICAgIHJldHVybiBOVUxMOwogKyAgICB9CiAgCi0gICBpZiAoZmlsZW5h bWUgIT0gTlVMTCkKLSAgICAgeGZyZWUgKGZpbGVuYW1lKTsKKyAgIGluZiA9IGZpbmRfaW5mZXJp b3JfcGlkIChwaWQpOworICAgaWYgKGluZiA9PSBOVUxMKQorLS0gCisyLjE0LjMKKwoKZGlmZiAt LWdpdCBhL2dkYi1jb3JlLW9wZW4tdmRzby13YXJuaW5nLnBhdGNoIGIvZ2RiLWNvcmUtb3Blbi12 ZHNvLXdhcm5pbmcucGF0Y2gKaW5kZXggMWFiOGZlMy4uNTdiMzBjOCAxMDA2NDQKLS0tIGEvZ2Ri LWNvcmUtb3Blbi12ZHNvLXdhcm5pbmcucGF0Y2gKKysrIGIvZ2RiLWNvcmUtb3Blbi12ZHNvLXdh cm5pbmcucGF0Y2gKQEAgLTEsOSArMSwxMyBAQAorRnJvbSA3Yzc5MTJkYTE0ZDEyOGQzMTE3MDE2 NTg3NGEwZjIzZTFhNTNkYjQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3Jh IEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcg MjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1jb3JlLW9wZW4tdmRzby13YXJuaW5nLnBhdGNo CiAKIEZpbGVOYW1lOiBnZGItY29yZS1vcGVuLXZkc28td2FybmluZy5wYXRjaAogCis7OyBGaXgg R05VL0xpbnV4IGNvcmUgb3BlbjogQ2FuJ3QgcmVhZCBwYXRobmFtZSBmb3IgbG9hZCBtYXA6IElu cHV0L291dHB1dCBlcnJvci4KKzs7IEZpeCByZWdyZXNzaW9uIG9mIHVuZGlzcGxheWVkIG1pc3Np bmcgc2hhcmVkIGxpYnJhcmllcyBjYXVzZWQgYnkgYSBmaXggZm9yLgorOzs9ZmVkb3JhdGVzdDog SXQgc2hvdWxkIGJlIGluIGdsaWJjOiBsaWJjLWFscGhhOiA8MjAwOTEwMDQxNjE3MDYuR0EyNzQ1 MEAuKj4KIAogaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMDktMTAvbXNn MDAxNDIuaHRtbAogU3ViamVjdDogW3BhdGNoXSBGaXggR05VL0xpbnV4IGNvcmUgb3BlbjogQ2Fu J3QgcmVhZCBwYXRobmFtZSBmb3IgbG9hZCBtYXA6ICBJbnB1dC9vdXRwdXQgZXJyb3IuCkBAIC0x MywxMSArMTcsMTQgQEAgU3ViamVjdDogW3BhdGNoXSBGaXggR05VL0xpbnV4IGNvcmUgb3Blbjog Q2FuJ3QgcmVhZCBwYXRobmFtZSBmb3IgbG9hZCBtYXA6ICBJbnAKIGNvbW1pdCA3ZDc2MDA1MWZm YjhhMjNjZGM1MTM0MmQ0ZTYyNDNmYmM0NjJmNzNmCiBBdXRob3I6IFVscmljaCBXZWlnYW5kIDx1 d2VpZ2FuZEBkZS5pYm0uY29tPgogRGF0ZTogICBXZWQgU2VwIDI1IDExOjUyOjUwIDIwMTMgKzAw MDAKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItc3ltYm9sLmV4cCB8IDIzICsr KysrKysrKysrKysrKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3NvbGliLXN5bWJvbC5leHAKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy42 LjUwLjIwMTMwNzMxLWN2cy5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItc3ltYm9s LmV4cAkyMDEzLTA4LTAyIDE2OjI3OjI4LjgzMzI1OTQ3MSArMDIwMAotKysrIGdkYi03LjYuNTAu MjAxMzA3MzEtY3ZzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItc3ltYm9sLmV4cAkyMDEz LTA4LTAyIDE2OjI4OjIyLjU0OTMzMDk3MyArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2Uvc29saWItc3ltYm9sLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29s aWItc3ltYm9sLmV4cAoraW5kZXggZGQyZjZjNzdkNC4uNTM4MjRmODE0MiAxMDA2NDQKKy0tLSBh L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItc3ltYm9sLmV4cAorKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9zb2xpYi1zeW1ib2wuZXhwCiBAQCAtMjksNiArMjksNyBAQCBzZXQgdGVz dGZpbGUgInNvbGliLXN5bWJvbC1tYWluIgogIHNldCBzcmNmaWxlICR7c3JjZGlyfS8ke3N1YmRp cn0vJHt0ZXN0ZmlsZX0uYwogIHNldCBiaW5maWxlIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAke3Rl c3RmaWxlfV0KQEAgLTU1LDMgKzYyLDYgQEAgSW5kZXg6IGdkYi03LjYuNTAuMjAxMzA3MzEtY3Zz L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItc3ltYm9sLmV4cAogK2dkYl9ydW5fY21kCiAr Z2RiX3Rlc3QgIiIgIndhcm5pbmc6IENvdWxkIG5vdCBsb2FkIHNoYXJlZCBsaWJyYXJ5IHN5bWJv bHMgZm9yIFxbMC05XF0rIGxpYnJhcmllcywuKlxyXG5CcmVha3BvaW50IFxbMC05XF0rLCBtYWlu IC4qIiBcCiArCSAid2FybmluZyBmb3IgbWlzc2luZyBsaWJyYXJpZXMiCistLSAKKzIuMTQuMwor CgpkaWZmIC0tZ2l0IGEvZ2RiLWR0cy1yaGVsNi1weXRob24tY29tcGF0LnBhdGNoIGIvZ2RiLWR0 cy1yaGVsNi1weXRob24tY29tcGF0LnBhdGNoCmluZGV4IGZkZmQ5YWEuLjdiOWNkYzkgMTAwNjQ0 Ci0tLSBhL2dkYi1kdHMtcmhlbDYtcHl0aG9uLWNvbXBhdC5wYXRjaAorKysgYi9nZGItZHRzLXJo ZWw2LXB5dGhvbi1jb21wYXQucGF0Y2gKQEAgLTEsMTYgKzEsMjkgQEAKK0Zyb20gODY0N2FhYmI4 NjRkZDE4YzUxYmI5YjMwMDZmZGIwMjk0Y2U5NDIzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK IEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmks IDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItZHRzLXJoZWw2LXB5dGhv bi1jb21wYXQucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1kdHMtcmhlbDYtcHl0aG9uLWNvbXBhdC5w YXRjaAogCis7OyBbcmhlbDZdIERUUyBiYWNrd2FyZCBQeXRob24gY29tcGF0aWJpbGl0eSBBUEkg KEJaIDEwMjAwMDQsIFBoaWwgTXVsZG9vbikuCis7Oz1mZWRvcmEKKwogaHR0cHM6Ly9idWd6aWxs YS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMDIwMDA0CistLS0KKyBnZGIvZGF0YS1kaXJl Y3RvcnkvTWFrZWZpbGUuaW4gICAgICAgICAgfCAgIDMgKworIGdkYi9weXRob24vbGliL2dkYi9G cmFtZVdyYXBwZXIucHkgICAgICB8IDEyMiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KworIGdkYi9weXRob24vbGliL2dkYi9iYWNrdHJhY2UucHkgICAgICAgICB8ICA0MiArKysrKysr KysrKworIGdkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2JhY2t0cmFjZS5weSB8IDEwNiArKysr KysrKysrKysrKysrKysrKysrKysrKysKKyA0IGZpbGVzIGNoYW5nZWQsIDI3MyBpbnNlcnRpb25z KCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi9weXRob24vbGliL2dkYi9GcmFtZVdyYXBwZXIu cHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3B5dGhvbi9saWIvZ2RiL2JhY2t0cmFjZS5weQor IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2Uu cHkKIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9kYXRhLWRpcmVjdG9yeS9NYWtl ZmlsZS5pbgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL2Rh dGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCTIwMTctMDItMjYgMjE6MTA6MzEuNDE4ODk0OTc1ICsw MTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxl LmluCTIwMTctMDItMjYgMjE6MTE6MDcuMDgzMTQ3OTMwICswMTAwCi1AQCAtNzEsNiArNzEsOCBA QAorZGlmZiAtLWdpdCBhL2dkYi9kYXRhLWRpcmVjdG9yeS9NYWtlZmlsZS5pbiBiL2dkYi9kYXRh LWRpcmVjdG9yeS9NYWtlZmlsZS5pbgoraW5kZXggMzA0ZDRiMDVjMC4uZGFkZGU4ODk1YSAxMDA2 NDQKKy0tLSBhL2dkYi9kYXRhLWRpcmVjdG9yeS9NYWtlZmlsZS5pbgorKysrIGIvZ2RiL2RhdGEt ZGlyZWN0b3J5L01ha2VmaWxlLmluCitAQCAtNzEsNiArNzEsOCBAQCBQWVRIT05fRklMRV9MSVNU ID0gXAogIAlnZGIvX19pbml0X18ucHkgXAogIAlnZGIvRnJhbWVEZWNvcmF0b3IucHkgXAogIAln ZGIvRnJhbWVJdGVyYXRvci5weSBcCkBAIC0xOSwxOCArMzIsMTkgQEAgSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi9kYXRhLWRpcmVjdG9yeS9NYWtlZmlsZS5pbgogIAlnZGIvZnJhbWVz LnB5IFwKICAJZ2RiL3ByaW50aW5nLnB5IFwKICAJZ2RiL3Byb21wdC5weSBcCi1AQCAtODMsNiAr ODUsNyBAQAotIAlnZGIvY29tbWFuZC9wYWhvbGUucHkgXAotIAlnZGIvY29tbWFuZC94bWV0aG9k cy5weSBcCitAQCAtNzksNiArODEsNyBAQCBQWVRIT05fRklMRV9MSVNUID0gXAorIAlnZGIveG1l dGhvZC5weSBcCisgCWdkYi9jb21tYW5kL19faW5pdF9fLnB5IFwKICAJZ2RiL2NvbW1hbmQvZXhw bG9yZS5weSBcCiArCWdkYi9jb21tYW5kL2JhY2t0cmFjZS5weSBcCiAgCWdkYi9jb21tYW5kL2Zy YW1lX2ZpbHRlcnMucHkgXAogIAlnZGIvY29tbWFuZC9wcmV0dHlfcHJpbnRlcnMucHkgXAogIAln ZGIvY29tbWFuZC9wcm9tcHQucHkgXAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9w eXRob24vbGliL2dkYi9GcmFtZVdyYXBwZXIucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3 MDIwNy9nZGIvcHl0aG9uL2xpYi9nZGIvRnJhbWVXcmFwcGVyLnB5CTIwMTctMDItMjYgMjE6MTA6 MzEuNDE5ODk0OTgzICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9saWIvZ2RiL0ZyYW1l V3JhcHBlci5weSBiL2dkYi9weXRob24vbGliL2dkYi9GcmFtZVdyYXBwZXIucHkKK25ldyBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4zNGJhNGEyYTEyCistLS0gL2Rldi9udWxs CisrKysgYi9nZGIvcHl0aG9uL2xpYi9nZGIvRnJhbWVXcmFwcGVyLnB5CiBAQCAtMCwwICsxLDEy MiBAQAogKyMgV3JhcHBlciBBUEkgZm9yIGZyYW1lcy4KICsKQEAgLTE1NCwxMCArMTY4LDExIEBA IEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcHl0aG9uL2xpYi9nZGIvRnJhbWVXcmFw cGVyLnB5CiArCiArICAgIGRlZiBfX2dldGF0dHJfXyAoc2VsZiwgbmFtZSk6CiArICAgICAgICBy ZXR1cm4gZ2V0YXR0ciAoc2VsZi5mcmFtZSwgbmFtZSkKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIwNy9nZGIvcHl0aG9uL2xpYi9nZGIvYmFja3RyYWNlLnB5Ci09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rl di9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL3B5dGhvbi9saWIvZ2RiL2JhY2t0cmFjZS5weQkyMDE3LTAyLTI2IDIx OjEwOjMxLjQxOTg5NDk4MyArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi9weXRob24vbGliL2dkYi9i YWNrdHJhY2UucHkgYi9nZGIvcHl0aG9uL2xpYi9nZGIvYmFja3RyYWNlLnB5CituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMDZjODkzZjIzOQorLS0tIC9kZXYvbnVsbAor KysrIGIvZ2RiL3B5dGhvbi9saWIvZ2RiL2JhY2t0cmFjZS5weQogQEAgLTAsMCArMSw0MiBAQAog KyMgRmlsdGVyaW5nIGJhY2t0cmFjZS4KICsKQEAgLTIwMSwxMCArMjE2LDExIEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcHl0aG9uL2xpYi9nZGIvYmFja3RyYWNlLnB5CiArICAg ICAgICByZXR1cm4gaXRlcgogKyAgICByZXR1cm4gb2xkX2ZyYW1lX2ZpbHRlciAoaXRlcikKICsK LUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9i YWNrdHJhY2UucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDow MC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcHl0aG9uL2xp Yi9nZGIvY29tbWFuZC9iYWNrdHJhY2UucHkJMjAxNy0wMi0yNiAyMToxMDozMS40MTk4OTQ5ODMg KzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2Uu cHkgYi9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2UucHkKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5lZWVhOTA5M2U4CistLS0gL2Rldi9udWxsCisr KysgYi9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2UucHkKIEBAIC0wLDAgKzEs MTA2IEBACiArIyBOZXcgYmFja3RyYWNlIGNvbW1hbmQuCiArCkBAIC0zMTIsMyArMzI4LDYgQEAg SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2Jh Y2t0cmFjZS5weQogKyAgICAgICAgICAgIHBhaXJbMV0uZGVzY3JpYmUgKHN5cy5zdGRvdXQsIGZ1 bGwpCiArCiArRmlsdGVyaW5nQmFja3RyYWNlKCkKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQg YS9nZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoIGIvZ2RiLWZlZG9yYS1saWJuY3Vyc2Vzdy5w YXRjaAppbmRleCAyOTBiYzZmLi5mNTgyNDIzIDEwMDY0NAotLS0gYS9nZGItZmVkb3JhLWxpYm5j dXJzZXN3LnBhdGNoCisrKyBiL2dkYi1mZWRvcmEtbGlibmN1cnNlc3cucGF0Y2gKQEAgLTEsMTYg KzEsMjUgQEAKK0Zyb20gMDc2YzBhZDJlMjViNDUyZTFiOThiMWM5NGUwZjExM2Q2MjIxNTU2YSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxp ZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJq ZWN0OiBnZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItZmVkb3Jh LWxpYm5jdXJzZXN3LnBhdGNoCiAKKzs7IEZvcmNlIGxpYm5jdXJzZXN3IG92ZXIgbGlibmN1cnNl cyB0byBtYXRjaCB0aGUgaW5jbHVkZXMgKFJIIEJaIDEyNzA1MzQpLgorOzs9cHVzaCtqYW4KKwog RmVkb3JhOiBGb3JjZSBsaWJuY3Vyc2VzdyBvdmVyIGxpYm5jdXJzZXMgdG8gbWF0Y2ggdGhlIGlu Y2x1ZGVzLgogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMjcw NTM0CistLS0KKyBnZGIvY29uZmlndXJlICAgIHwgNiArKysrLS0KKyBnZGIvY29uZmlndXJlLmFj IHwgNiArKysrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv bnMoLSkKIAotZGlmZiAtZHVwIC1ydXAgZ2RiLTcuMTAuNTAuMjAxNTExMTMtb3JpZy9nZGIvY29u ZmlndXJlIGdkYi03LjEwLjUwLjIwMTUxMTEzL2dkYi9jb25maWd1cmUKLS0tLSBnZGItNy4xMC41 MC4yMDE1MTExMy1vcmlnL2dkYi9jb25maWd1cmUJMjAxNS0xMS0xNCAxNjoxNDowNC40MDQxMTgz MTIgKzAxMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTExMy9nZGIvY29uZmlndXJlCTIwMTUtMTEt MTQgMTY6MTc6NTkuMDc0NTY2MDQ3ICswMTAwCi1AQCAtODQ2Myw2ICs4NDYzLDcgQEAgaWYgdGVz dCB4IiRwcmVmZXJfY3Vyc2VzIiA9IHh5ZXM7IHRoZW4KK2RpZmYgLS1naXQgYS9nZGIvY29uZmln dXJlIGIvZ2RiL2NvbmZpZ3VyZQoraW5kZXggMDEyMTBhZmNjYy4uYzExODZmZDI5NCAxMDA3NTUK Ky0tLSBhL2dkYi9jb25maWd1cmUKKysrKyBiL2dkYi9jb25maWd1cmUKK0BAIC05MjM4LDYgKzky MzgsNyBAQCBpZiB0ZXN0IHgiJHByZWZlcl9jdXJzZXMiID0geHllczsgdGhlbgogICAgIyBzZWFy Y2ggL3Vzci9sb2NhbC9pbmNsdWRlLCBpZiBuY3Vyc2VzIGlzIGluc3RhbGxlZCBpbiAvdXNyL2xv Y2FsLiAgQQogICAgIyBkZWZhdWx0IGluc3RhbGxhdGlvbiBvZiBuY3Vyc2VzIG9uIGFscGhhKi1k ZWMtb3NmKiB3aWxsIGxlYWQgdG8gc3VjaAogICAgIyBhIHNpdHVhdGlvbi4KQEAgLTE4LDE2ICsy NywxNiBAQCBkaWZmIC1kdXAgLXJ1cCBnZGItNy4xMC41MC4yMDE1MTExMy1vcmlnL2dkYi9jb25m aWd1cmUgZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiLwogICAgeyAkYXNfZWNobyAiJGFzX21lOiR7 YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHdhZGRz dHIiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgd2Fk ZHN0ci4uLiAiID4mNjsgfQogIGlmIHRlc3QgIiR7YWNfY3Zfc2VhcmNoX3dhZGRzdHIrc2V0fSIg PSBzZXQ7IHRoZW4gOgotQEAgLTg0ODcsNyArODQ4OCw3IEBAIHJldHVybiB3YWRkc3RyICgpOwor QEAgLTkyNjIsNyArOTI2Myw3IEBAIHJldHVybiB3YWRkc3RyICgpOwogICAgcmV0dXJuIDA7CiAg fQogIF9BQ0VPRgotLWZvciBhY19saWIgaW4gJycgbmN1cnNlcyBjdXJzZXNYIGN1cnNlczsgZG8K Ky1mb3IgYWNfbGliIGluICcnIG5jdXJzZXN3IG5jdXJzZXMgY3Vyc2VzWCBjdXJzZXM7IGRvCiAr Zm9yIGFjX2xpYiBpbiAnJyBuY3Vyc2VzdzsgZG8KICAgIGlmIHRlc3QgLXogIiRhY19saWIiOyB0 aGVuCiAgICAgIGFjX3Jlcz0ibm9uZSByZXF1aXJlZCIKICAgIGVsc2UKLUBAIC04NTYxLDYgKzg1 NjIsNyBAQCBjYXNlICRob3N0X29zIGluCitAQCAtOTMzNiw2ICs5MzM3LDcgQEAgY2FzZSAkaG9z dF9vcyBpbgogIGVzYWMKICAKICAjIFRoZXNlIGFyZSB0aGUgbGlicmFyaWVzIGNoZWNrZWQgYnkg UmVhZGxpbmUuCkBAIC0zNSwzNSArNDQsMzkgQEAgZGlmZiAtZHVwIC1ydXAgZ2RiLTcuMTAuNTAu MjAxNTExMTMtb3JpZy9nZGIvY29uZmlndXJlIGdkYi03LjEwLjUwLjIwMTUxMTEzL2dkYi8KICB7 ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBsaWJy YXJ5IGNvbnRhaW5pbmcgdGdldGVudCIgPiY1CiAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGxp YnJhcnkgY29udGFpbmluZyB0Z2V0ZW50Li4uICIgPiY2OyB9CiAgaWYgdGVzdCAiJHthY19jdl9z ZWFyY2hfdGdldGVudCtzZXR9IiA9IHNldDsgdGhlbiA6Ci1AQCAtODU4NSw3ICs4NTg3LDcgQEAg cmV0dXJuIHRnZXRlbnQgKCk7CitAQCAtOTM2MCw3ICs5MzYyLDcgQEAgcmV0dXJuIHRnZXRlbnQg KCk7CiAgICByZXR1cm4gMDsKICB9CiAgX0FDRU9GCi0tZm9yIGFjX2xpYiBpbiAnJyB0ZXJtY2Fw IHRpbmZvIGN1cnNlcyBuY3Vyc2VzOyBkbworLWZvciBhY19saWIgaW4gJycgdGVybWNhcCB0aW5m byBjdXJzZXMgbmN1cnNlc3cgbmN1cnNlczsgZG8KICtmb3IgYWNfbGliIGluICcnIHRlcm1jYXAg dGluZm8gbmN1cnNlc3c7IGRvCiAgICBpZiB0ZXN0IC16ICIkYWNfbGliIjsgdGhlbgogICAgICBh Y19yZXM9Im5vbmUgcmVxdWlyZWQiCiAgICBlbHNlCi1kaWZmIC1kdXAgLXJ1cCBnZGItNy4xMC41 MC4yMDE1MTExMy1vcmlnL2dkYi9jb25maWd1cmUuYWMgZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2Ri L2NvbmZpZ3VyZS5hYwotLS0tIGdkYi03LjEwLjUwLjIwMTUxMTEzLW9yaWcvZ2RiL2NvbmZpZ3Vy ZS5hYwkyMDE1LTExLTE0IDE2OjE0OjA0LjQwNDExODMxMiArMDEwMAotKysrIGdkYi03LjEwLjUw LjIwMTUxMTEzL2dkYi9jb25maWd1cmUuYWMJMjAxNS0xMS0xNCAxNjoxNzo1NC44OTg1NDAyODQg KzAxMDAKLUBAIC03NzEsNyArNzcxLDggQEAgaWYgdGVzdCB4IiRwcmVmZXJfY3Vyc2VzIiA9IHh5 ZXM7IHRoZW4KK2RpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlLmFjIGIvZ2RiL2NvbmZpZ3VyZS5h YworaW5kZXggOGM2YTVmN2QxZS4uYzdkNWYyZGU5OSAxMDA2NDQKKy0tLSBhL2dkYi9jb25maWd1 cmUuYWMKKysrKyBiL2dkYi9jb25maWd1cmUuYWMKK0BAIC03NTUsNyArNzU1LDggQEAgaWYgdGVz dCB4IiRwcmVmZXJfY3Vyc2VzIiA9IHh5ZXM7IHRoZW4KICAgICMgc2VhcmNoIC91c3IvbG9jYWwv aW5jbHVkZSwgaWYgbmN1cnNlcyBpcyBpbnN0YWxsZWQgaW4gL3Vzci9sb2NhbC4gIEEKICAgICMg ZGVmYXVsdCBpbnN0YWxsYXRpb24gb2YgbmN1cnNlcyBvbiBhbHBoYSotZGVjLW9zZiogd2lsbCBs ZWFkIHRvIHN1Y2gKICAgICMgYSBzaXR1YXRpb24uCi0tICBBQ19TRUFSQ0hfTElCUyh3YWRkc3Ry LCBbbmN1cnNlcyBjdXJzZXNYIGN1cnNlc10pCistICBBQ19TRUFSQ0hfTElCUyh3YWRkc3RyLCBb bmN1cnNlc3cgbmN1cnNlcyBjdXJzZXNYIGN1cnNlc10pCiArICAjIEZlZG9yYTogRm9yY2UgbGli bmN1cnNlc3cgb3ZlciBsaWJuY3Vyc2VzIHRvIG1hdGNoIHRoZSBpbmNsdWRlcy4KICsgIEFDX1NF QVJDSF9MSUJTKHdhZGRzdHIsIFtuY3Vyc2Vzd10pCiAgCiAgICBpZiB0ZXN0ICIkYWNfY3Zfc2Vh cmNoX3dhZGRzdHIiICE9IG5vOyB0aGVuCiAgICAgIGN1cnNlc19mb3VuZD15ZXMKLUBAIC04MTMs NyArODE0LDggQEAgY2FzZSAkaG9zdF9vcyBpbgorQEAgLTc5Nyw3ICs3OTgsOCBAQCBjYXNlICRo b3N0X29zIGluCiAgZXNhYwogIAogICMgVGhlc2UgYXJlIHRoZSBsaWJyYXJpZXMgY2hlY2tlZCBi eSBSZWFkbGluZS4KLS1BQ19TRUFSQ0hfTElCUyh0Z2V0ZW50LCBbdGVybWNhcCB0aW5mbyBjdXJz ZXMgbmN1cnNlc10pCistQUNfU0VBUkNIX0xJQlModGdldGVudCwgW3Rlcm1jYXAgdGluZm8gY3Vy c2VzIG5jdXJzZXN3IG5jdXJzZXNdKQogKyMgRmVkb3JhOiBGb3JjZSBsaWJuY3Vyc2VzdyBvdmVy IGxpYm5jdXJzZXMgdG8gbWF0Y2ggdGhlIGluY2x1ZGVzLgogK0FDX1NFQVJDSF9MSUJTKHRnZXRl bnQsIFt0ZXJtY2FwIHRpbmZvIG5jdXJzZXN3XSkKICAKICBpZiB0ZXN0ICIkYWNfY3Zfc2VhcmNo X3RnZXRlbnQiID0gbm87IHRoZW4KICAgIENPTkZJR19PQlM9IiRDT05GSUdfT0JTIHN0dWItdGVy bWNhcC5vIgorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1mb2xsb3ctY2hpbGQtc3Rh bGUtcGFyZW50LnBhdGNoIGIvZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gKaW5k ZXggZTdhMDIzNS4uNDQ5MjdmYyAxMDA2NDQKLS0tIGEvZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1w YXJlbnQucGF0Y2gKKysrIGIvZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gKQEAg LTEsOSArMSwxMiBAQAorRnJvbSAzNzUwM2NkNzdhMWFiYTMyOWIxMGJiOWNjZDM0ZmIwMWU3NDQ5 ZTM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxp bnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAK IFN1YmplY3Q6IGdkYi1mb2xsb3ctY2hpbGQtc3RhbGUtcGFyZW50LnBhdGNoCiAKIEZpbGVOYW1l OiBnZGItZm9sbG93LWNoaWxkLXN0YWxlLXBhcmVudC5wYXRjaAogCis7OyBGaXggcmVncmVzc2lv biBieSBweXRob24gb24gaWE2NCBkdWUgdG8gc3RhbGUgY3VycmVudCBmcmFtZS4KKzs7PXB1c2gr amFuCiAKIFByb2JsZW0gb2NjdXJzIHdpdGggcHl0aG9uIGFuZCBpdHMgZ2V0X2N1cnJlbnRfYXJj aCAoKSBhcyBpdCBzZWxlY3RzCiBzZWxlY3RlZF9mcmFtZSBhbmQgY3VycmVudF9mcmFtZSB3aGls ZSBzdGlsbCBpbmZlcmlvcl9wdGlkIGlzIHZhbGlkIGZvciB0aGUKQEAgLTE5LDEwICsyMiwxNSBA QCB1bndpbmRlcnMgdHJ5IHRvIGFjY2VzcyBpdCwgYnJlYWtpbmc6CiAgICtGQUlMOiBnZGIudGhy ZWFkcy93YXRjaHBvaW50LWZvcmsuZXhwOiBjaGlsZDogc2luZ2xldGhyZWFkZWQ6IGJyZWFrcG9p bnQgYWZ0ZXIgdGhlIHNlY29uZCBmb3JrCiAgICtGQUlMOiBnZGIudGhyZWFkcy93YXRjaHBvaW50 LWZvcmsuZXhwOiBjaGlsZDogc2luZ2xldGhyZWFkZWQ6IHdhdGNocG9pbnQgYWZ0ZXIgdGhlIHNl Y29uZCBmb3JrCiAgICtGQUlMOiBnZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuZXhwOiBjaGls ZDogc2luZ2xldGhyZWFkZWQ6IGZpbmlzaAorLS0tCisgZ2RiL2luZnJ1bi5jIHwgMyArKysKKyAx IGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCiAKLS0tLSAuL2dkYi9pbmZydW4uYwkyMDA5 LTEyLTIxIDIwOjI2OjMwLjAwMDAwMDAwMCArMDEwMAotKysrIC4vZ2RiL2luZnJ1bi5jCTIwMDkt MTItMjEgMjA6MjY6MTEuMDAwMDAwMDAwICswMTAwCi1AQCAtMzc1LDYgKzM3NSw5IEBAIGZvbGxv d19mb3JrICh2b2lkKQorZGlmZiAtLWdpdCBhL2dkYi9pbmZydW4uYyBiL2dkYi9pbmZydW4uYwor aW5kZXggOGMyYzQyNDg4My4uYzIwYTAyZTYwMCAxMDA2NDQKKy0tLSBhL2dkYi9pbmZydW4uYwor KysrIGIvZ2RiL2luZnJ1bi5jCitAQCAtNzQ5LDYgKzc0OSw5IEBAIGZvbGxvd19mb3JrICh2b2lk KQogIAkgIH0KICAJZWxzZQogIAkgIHsKQEAgLTMyLDMgKzQwLDYgQEAgdW53aW5kZXJzIHRyeSB0 byBhY2Nlc3MgaXQsIGJyZWFraW5nOgogIAkgICAgLyogVGhpcyBwZW5kaW5nIGZvbGxvdyBmb3Jr IGV2ZW50IGlzIG5vdyBoYW5kbGVkLCBvbmUgd2F5CiAgCSAgICAgICBvciBhbm90aGVyLiAgVGhl IHByZXZpb3VzIHNlbGVjdGVkIHRocmVhZCBtYXkgYmUgZ29uZQogIAkgICAgICAgZnJvbSB0aGUg bGlzdHMgYnkgbm93LCBidXQgaWYgaXQgaXMgc3RpbGwgYXJvdW5kLCBuZWVkCistLSAKKzIuMTQu MworCgpkaWZmIC0tZ2l0IGEvZ2RiLWZvcnRyYW4tZnJhbWUtc3RyaW5nLnBhdGNoIGIvZ2RiLWZv cnRyYW4tZnJhbWUtc3RyaW5nLnBhdGNoCmluZGV4IDJjN2VlOTcuLjk3MTAyZDggMTAwNjQ0Ci0t LSBhL2dkYi1mb3J0cmFuLWZyYW1lLXN0cmluZy5wYXRjaAorKysgYi9nZGItZm9ydHJhbi1mcmFt ZS1zdHJpbmcucGF0Y2gKQEAgLTEsMjEgKzEsMjEgQEAKK0Zyb20gZTNjYjA3MGEyYTNmZjE0N2Qw OTk0N2JlZTZmNjY4YmQ4NmFkZTRmNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZl ZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAy MDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBbcGF0Y2hdIERpc3BsYXkgRm9ydHJhbiBzdHJp bmdzIGluIGJhY2t0cmFjZXMKK1N1YmplY3Q6IERpc3BsYXkgRm9ydHJhbiBzdHJpbmdzIGluIGJh Y2t0cmFjZXMKIAogRmlsZU5hbWU6IGdkYi1mb3J0cmFuLWZyYW1lLXN0cmluZy5wYXRjaAogCi1o dHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxNC0wNy9tc2cwMDcwOS5odG1s Ci0KKzs7IERpc3BsYXkgRm9ydHJhbiBzdHJpbmdzIGluIGJhY2t0cmFjZXMuCis7Oz1mZWRvcmF0 ZXN0CiAKK2h0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDE0LTA3L21zZzAw NzA5Lmh0bWwKIAogSGksCiAKIGZvciBGb3J0cmFuIGl0IGZpeGVzIGRpc3BsYXlpbmcgbm9ybWFs IHN0cmluZ3MgYWxzbyBpbiBmcmFtZXMvYmFja3RyYWNlczoKIAogKGdkYikgZnJhbWUKLSMwICBm IChzPS4uLiwgX3M9MykgYXQgLi9nZGIuZm9ydHJhbi9mb3J0cmFuLWZyYW1lLXN0cmluZy5mOTA6 MjQKIC0+Ci0jMCAgZiAocz0nZm9vJywgX3M9MykgYXQgLi9nZGIuZm9ydHJhbi9mb3J0cmFuLWZy YW1lLXN0cmluZy5mOTA6MjQKIAogVGhlIHBhdGNoIGlzIHNpbXBsZSBhbmQgSSBkbyBub3Qgc2Vl IHdoeSBpdCBzaG91bGQgbm90IGJlIHRoaXMgd2F5LgogCkBAIC0yNywxNCArMjcsMTggQEAgdGhl IEludGVsIFZMQSBwYXRjaHNldCBhcyBpdCBpbiBmYWN0IGlzIGNvbXBsZXRlbHkgdW5yZWxhdGVk IHRvICJWTEEiLgogCiBObyByZWdyZXNzaW9ucyBvbiB7eDg2XzY0LHg4Nl82NC1tMzIsaTY4Nn0t ZmVkb3JhMjJwcmUtbGludXgtZ251LgogCi0KIFRoYW5rcywKIEphbgotCistLS0KKyBnZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2ZvcnRyYW4tZnJhbWUtc3RyaW5nLmV4cCB8IDM2ICsrKysrKysr KysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2ZvcnRyYW4tZnJhbWUt c3RyaW5nLmY5MCB8IDI4ICsrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA2NCBp bnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vZm9ydHJhbi1mcmFtZS1zdHJpbmcuZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vZm9ydHJhbi1mcmFtZS1zdHJpbmcuZjkwCiAKIGRpZmYgLS1naXQg YS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2ZvcnRyYW4tZnJhbWUtc3RyaW5nLmV4cCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZm9ydHJhbi1mcmFtZS1zdHJpbmcuZXhwCiBuZXcgZmls ZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uNGI3ODI2NgoraW5kZXggMDAwMDAwMDAwMC4u NzExNGFmZDQ0MAogLS0tIC9kZXYvbnVsbAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9mb3J0cmFuLWZyYW1lLXN0cmluZy5leHAKIEBAIC0wLDAgKzEsMzYgQEAKQEAgLTc2LDcgKzgw LDcgQEAgaW5kZXggMDAwMDAwMC4uNGI3ODI2NgogK2dkYl90ZXN0ICJmcmFtZSIgeyBcKHM9J2Zv bycsIC4qfQogZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZm9ydHJhbi1m cmFtZS1zdHJpbmcuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9mb3J0cmFuLWZyYW1l LXN0cmluZy5mOTAKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi4zZDE1NzZm CitpbmRleCAwMDAwMDAwMDAwLi4zZDE1NzZmYjFmCiAtLS0gL2Rldi9udWxsCiArKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2ZvcnRyYW4tZnJhbWUtc3RyaW5nLmY5MAogQEAgLTAsMCAr MSwyOCBAQApAQCAtMTA4LDMgKzExMiw2IEBAIGluZGV4IDAwMDAwMDAuLjNkMTU3NmYKICsgIHBy b2dyYW0gbWFpbgogKyAgY2FsbCBmICgnZm9vJykKICsgIGVuZAorLS0gCisyLjE0LjMKKwoKZGlm ZiAtLWdpdCBhL2dkYi1nZGItYWRkLWluZGV4LXNjcmlwdC5wYXRjaCBiL2dkYi1nZGItYWRkLWlu ZGV4LXNjcmlwdC5wYXRjaAppbmRleCBmYjllM2VhLi42MmE0MGE2IDEwMDY0NAotLS0gYS9nZGIt Z2RiLWFkZC1pbmRleC1zY3JpcHQucGF0Y2gKKysrIGIvZ2RiLWdkYi1hZGQtaW5kZXgtc2NyaXB0 LnBhdGNoCkBAIC0xLDExICsxLDE0IEBACitGcm9tIGYyYzNmOGMwMmFiMGExYzRjMDJmNmQ5NTQx NDEyNjZiZDU4OTBmMjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RC IHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTow Nzo1MCArMDIwMAotU3ViamVjdDogUmU6IFswLzRdIFJGQzogYWRkIERXQVJGIGluZGV4IHN1cHBv cnQKK1N1YmplY3Q6IFJGQzogYWRkIERXQVJGIGluZGV4IHN1cHBvcnQKIAogRmlsZU5hbWU6IGdk Yi1nZGItYWRkLWluZGV4LXNjcmlwdC5wYXRjaAogCi1odHRwOi8vc291cmNld2FyZS5vcmcvbWwv Z2RiLXBhdGNoZXMvMjAxMC0wNy9tc2cwMDE4NC5odG1sCis7OyBQcm92aWRlIC91c3IvYmluL2dk Yi1hZGQtaW5kZXggZm9yIHJwbS1idWlsZCAoVG9tIFRyb21leSkuCis7Oz1wdXNoOiBSZS1jaGVj ayBhZ2FpbnN0IHRoZSB1cHN0cmVhbSB2ZXJzaW9uLgogCitodHRwOi8vc291cmNld2FyZS5vcmcv bWwvZ2RiLXBhdGNoZXMvMjAxMC0wNy9tc2cwMDE4NC5odG1sCiAKIEphbiBLcmF0b2NodmlsOiBG aXhlZCAkZCAtPiAkZGlyLgogSmFuIEtyYXRvY2h2aWw6IFJlbW92ZSAvZGV2L251bGwgcmVkaXJl Y3Rpb24uCkBAIC0zNiwyMSArMzksMTcgQEAgRnJvbTogVG9tIFRyb21leSA8dHJvbWV5QHJlZGhh dC5jb20+CiBEYXRlOiBGcmksIDkgSnVsIDIwMTAgMTE6MTc6NTQgLTA2MDAKIFN1YmplY3Q6IFtQ QVRDSCA0LzRdIGFkZCBnZGItYWRkLWluZGV4CiBTdWJqZWN0OiBbUEFUQ0ggNC80XSBhZGQgZ2Ri LWFkZC1pbmRleAotCiAtLS0KLSBnZGIvQ2hhbmdlTG9nICAgICAgIHwgICAgNSArKysrKwotIGdk Yi9NYWtlZmlsZS5pbiAgICAgfCAgIDExICsrKysrKysrKystCi0gZ2RiL2RvYy9DaGFuZ2VMb2cg ICB8ICAgIDQgKysrKwotIGdkYi9kb2MvZ2RiLnRleGluZm8gfCAgICA4ICsrKysrKysrCi0gZ2Ri L2dkYi1hZGQtaW5kZXggICB8ICAgMzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0g NSBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQotIGNyZWF0 ZSBtb2RlIDEwMDc1NSBnZGIvZ2RiLWFkZC1pbmRleAotCi1JbmRleDogZ2RiLTcuNi45MC4yMDE0 MDEyNy9nZGIvTWFrZWZpbGUuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy42LjkwLjIwMTQwMTI3 Lm9yaWcvZ2RiL01ha2VmaWxlLmluCTIwMTQtMDItMDYgMTc6Mzc6NTQuNTU1OTc1OTU4ICswMTAw Ci0rKysgZ2RiLTcuNi45MC4yMDE0MDEyNy9nZGIvTWFrZWZpbGUuaW4JMjAxNC0wMi0wNiAxNzoz ODo1Mi4xMTAwMzg0MTUgKzAxMDAKLUBAIC0xMDkzLDYgKzEwOTMsMTUgQEAgaW5zdGFsbC1vbmx5 OiBpbnN0YWxsLWdzdGFjayAkKENPTkZJR19JTgorIGdkYi9NYWtlZmlsZS5pbiAgICAgfCAgOSAr KysrKysrKysKKyBnZGIvZG9jL01ha2VmaWxlLmluIHwgIDkgKysrKysrKystCisgZ2RiL2RvYy9n ZGIudGV4aW5mbyB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCA3NCBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nZGIvTWFrZWZpbGUuaW4gYi9nZGIvTWFrZWZpbGUuaW4K K2luZGV4IGY5NTUwNWVhMjEuLmVkZDBiMjM5ZDQgMTAwNjQ0CistLS0gYS9nZGIvTWFrZWZpbGUu aW4KKysrKyBiL2dkYi9NYWtlZmlsZS5pbgorQEAgLTE3NzMsNiArMTc3MywxNSBAQCBpbnN0YWxs LW9ubHk6IGluc3RhbGwtZ3N0YWNrICQoQ09ORklHX0lOU1RBTEwpCiAgCQkgICQoSU5TVEFMTF9T Q1JJUFQpIGdjb3JlIFwKICAJCQkgICQoREVTVERJUikkKGJpbmRpcikvJCR0cmFuc2Zvcm1lZF9u YW1lOyBcCiAgCWZpCkBAIC02NiwxMSArNjUsMzggQEAgSW5kZXg6IGdkYi03LjYuOTAuMjAxNDAx MjcvZ2RiL01ha2VmaWxlLmluCiAgCUAkKE1BS0UpIERPPWluc3RhbGwgIkRPRElSUz0kKFNVQkRJ UlMpIiAkKEZMQUdTX1RPX1BBU1MpIHN1YmRpcl9kbwogIAogIGluc3RhbGwtc3RyaXA6Ci1JbmRl eDogZ2RiLTcuNi45MC4yMDE0MDEyNy9nZGIvZG9jL2dkYi50ZXhpbmZvCi09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuNi45MC4yMDE0MDEyNy5vcmlnL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxNC0wMi0w NiAxNzozNzo1MC44MjI5NzE5NDAgKzAxMDAKLSsrKyBnZGItNy42LjkwLjIwMTQwMTI3L2dkYi9k b2MvZ2RiLnRleGluZm8JMjAxNC0wMi0wNiAxNzozNzo1NC41NjU5NzU5NjggKzAxMDAKLUBAIC0x Nzc0OSw2ICsxNzc0OSwxNCBAQCBUaGVyZSBhcmUgY3VycmVudGx5IHNvbWUgbGltaXRhdGlvbiBv biBpCitkaWZmIC0tZ2l0IGEvZ2RiL2RvYy9NYWtlZmlsZS5pbiBiL2dkYi9kb2MvTWFrZWZpbGUu aW4KK2luZGV4IGUwZTUwYzE2NmUuLjNjZGNiYmQ1NjcgMTAwNjQ0CistLS0gYS9nZGIvZG9jL01h a2VmaWxlLmluCisrKysgYi9nZGIvZG9jL01ha2VmaWxlLmluCitAQCAtMTc0LDcgKzE3NCw3IEBA IFBPRDJNQU41ID0gcG9kMm1hbiAtLWNlbnRlcj0iR05VIERldmVsb3BtZW50IFRvb2xzIiBcCisg CQkgICAtLXJlbGVhc2U9ImdkYi1gc2VkIHEgdmVyc2lvbi5zdWJzdGAiIC0tc2VjdGlvbj01Cisg CisgIyBMaXN0IG9mIG1hbiBwYWdlcyBnZW5lcmF0ZWQgZnJvbSBnZGIudGV4aQorLU1BTjFTID0g Z2RiLjEgZ2Ric2VydmVyLjEgZ2NvcmUuMQorK01BTjFTID0gZ2RiLjEgZ2Ric2VydmVyLjEgZ2Nv cmUuMSBnZGItYWRkLWluZGV4LjEKKyBNQU41UyA9IGdkYmluaXQuNQorIE1BTlMgPSAkKE1BTjFT KSAkKE1BTjVTKQorIAorQEAgLTYzMyw2ICs2MzMsMTMgQEAgZ2NvcmUuMTogJChHREJfRE9DX0ZJ TEVTKQorIAkJbXYgLWYgJEAuVCQkJCQgJEApIHx8IChybSAtZiAkQC5UJCQkJCAmJiBleGl0IDEp CisgCXJtIC1mIGdjb3JlLnBvZAorIAorK2dkYi1hZGQtaW5kZXguMTogJChHREJfRE9DX0ZJTEVT KQorKwl0b3VjaCAkQAorKwktJChURVhJMlBPRCkgJChNQU5DT05GKSAtRGdkYi1hZGQtaW5kZXgg PCAkKHNyY2RpcikvZ2RiLnRleGluZm8gPiBnZGItYWRkLWluZGV4LnBvZAorKwktKCQoUE9EMk1B TjEpIGdkYi1hZGQtaW5kZXgucG9kIHwgc2VkIC1lICcvXi5pZiBuIC5uYS9kJyA+ICRALlQkJCQk ICYmIFwKKysJCW12IC1mICRALlQkJCQkICRAKSB8fCAocm0gLWYgJEAuVCQkJCQgJiYgZXhpdCAx KQorKwlybSAtZiBnZGItYWRkLWluZGV4LnBvZAorKworIGdkYmluaXQuNTogJChHREJfRE9DX0ZJ TEVTKQorIAl0b3VjaCAkQAorIAktJChURVhJMlBPRCkgJChNQU5DT05GKSAtRGdkYmluaXQgPCAk KHNyY2RpcikvZ2RiLnRleGluZm8gPiBnZGJpbml0LnBvZAorZGlmZiAtLWdpdCBhL2dkYi9kb2Mv Z2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvCitpbmRleCBkMTgxYWViMWMwLi5hNzlj Njg2ZjBiIDEwMDY0NAorLS0tIGEvZ2RiL2RvYy9nZGIudGV4aW5mbworKysrIGIvZ2RiL2RvYy9n ZGIudGV4aW5mbworQEAgLTE5NjA2LDYgKzE5NjA2LDE0IEBAIFRoZXJlIGFyZSBjdXJyZW50bHkg c29tZSBsaW1pdGF0aW9uIG9uIGluZGljZXMuICBUaGV5IG9ubHkgd29yayB3aGVuCiAgZm9yIERX QVJGIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiwgbm90IHN0YWJzLiAgQW5kLCB0aGV5IGRvIG5vdAog IGN1cnJlbnRseSB3b3JrIGZvciBwcm9ncmFtcyB1c2luZyBBZGEuCiAgCkBAIC04NSw3ICsxMTEs NyBAQCBJbmRleDogZ2RiLTcuNi45MC4yMDE0MDEyNy9nZGIvZG9jL2dkYi50ZXhpbmZvCiAgQG5v ZGUgU3ltYm9sIEVycm9ycwogIEBzZWN0aW9uIEVycm9ycyBSZWFkaW5nIFN5bWJvbCBGaWxlcwog IAotQEAgLTQzODc4LDYgKzQzODg2LDcgQEAgc3dpdGNoIChkaWUtPnRhZykKK0BAIC00MjUyNCw2 ICs0MjUzMiw3IEBAIHN3aXRjaCAoZGllLT50YWcpCiAgKiBnZGJzZXJ2ZXIgbWFuOjogICAgICAg ICAgICAgICBSZW1vdGUgU2VydmVyIGZvciB0aGUgR05VIERlYnVnZ2VyIG1hbiBwYWdlCiAgKiBn Y29yZSBtYW46OiAgICAgICAgICAgICAgICAgICBHZW5lcmF0ZSBhIGNvcmUgZmlsZSBvZiBhIHJ1 bm5pbmcgcHJvZ3JhbQogICogZ2RiaW5pdCBtYW46OiAgICAgICAgICAgICAgICAgZ2RiaW5pdCBz Y3JpcHRzCkBAIC05MywyMiArMTE5LDEwIEBAIEluZGV4OiBnZGItNy42LjkwLjIwMTQwMTI3L2dk Yi9kb2MvZ2RiLnRleGluZm8KICBAZW5kIG1lbnUKICAKICBAbm9kZSBnZGIgbWFuCi1AQCAtNDQ1 MzAsNiArNDQ1MzksNTQgQEAgZ2RiKDEpLCBAY29kZXtpbmZvIC1mIGdkYiAtbiBTdGFydHVwfQot IFRoZSBmdWxsIGRvY3VtZW50YXRpb24gZm9yIEB2YWx1ZXtHREJOfSBpcyBtYWludGFpbmVkIGFz IGEgVGV4aW5mbyBtYW51YWwuCi0gSWYgdGhlIEBjb2Rle2luZm99IGFuZCBAY29kZXtnZGJ9IHBy b2dyYW1zIGFuZCBAdmFsdWV7R0RCTn0ncyBUZXhpbmZvCi0gZG9jdW1lbnRhdGlvbiBhcmUgcHJv cGVybHkgaW5zdGFsbGVkIGF0IHlvdXIgc2l0ZSwgdGhlIGNvbW1hbmQKLSsKLStAc21hbGxleGFt cGxlCi0raW5mbyBnZGIKLStAZW5kIHNtYWxsZXhhbXBsZQotKwotK3Nob3VsZCBnaXZlIHlvdSBh Y2Nlc3MgdG8gdGhlIGNvbXBsZXRlIG1hbnVhbC4KLSsKLStAY2l0ZXtVc2luZyBHREI6IEEgR3Vp ZGUgdG8gdGhlIEdOVSBTb3VyY2UtTGV2ZWwgRGVidWdnZXJ9LAotK1JpY2hhcmQgTS4gU3RhbGxt YW4gYW5kIFJvbGFuZCBILiBQZXNjaCwgSnVseSAxOTkxLgotK0BlbmQgaWZzZXQKLStAYyBtYW4g ZW5kCi0rCitAQCAtNDMxOTMsNiArNDMyMDIsNTQgQEAgUmljaGFyZCBNLiBTdGFsbG1hbiBhbmQg Um9sYW5kIEguIFBlc2NoLCBKdWx5IDE5OTEuCisgQGVuZCBpZnNldAorIEBjIG1hbiBlbmQKKyAK ICtAbm9kZSBnZGItYWRkLWluZGV4IG1hbgogK0BoZWFkaW5nIGdkYi1hZGQtaW5kZXgKICsKQEAg LTE0NSwzMyArMTU5LDIxIEBAIEluZGV4OiBnZGItNy42LjkwLjIwMTQwMTI3L2dkYi9kb2MvZ2Ri LnRleGluZm8KICtUaGUgZnVsbCBkb2N1bWVudGF0aW9uIGZvciBAdmFsdWV7R0RCTn0gaXMgbWFp bnRhaW5lZCBhcyBhIFRleGluZm8gbWFudWFsLgogK0lmIHRoZSBAY29kZXtpbmZvfSBhbmQgQGNv ZGV7Z2RifSBwcm9ncmFtcyBhbmQgQHZhbHVle0dEQk59J3MgVGV4aW5mbwogK2RvY3VtZW50YXRp b24gYXJlIHByb3Blcmx5IGluc3RhbGxlZCBhdCB5b3VyIHNpdGUsIHRoZSBjb21tYW5kCi0gCi0g QHNtYWxsZXhhbXBsZQotIGluZm8gZ2RiCi1JbmRleDogZ2RiLTcuNi45MC4yMDE0MDEyNy9nZGIv ZG9jL01ha2VmaWxlLmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNi45MC4yMDE0MDEyNy5vcmln L2dkYi9kb2MvTWFrZWZpbGUuaW4JMjAxNC0wMi0wNiAxNzozNzo1MC44MjQ5NzE5NDIgKzAxMDAK LSsrKyBnZGItNy42LjkwLjIwMTQwMTI3L2dkYi9kb2MvTWFrZWZpbGUuaW4JMjAxNC0wMi0wNiAx NzozNzo1NC41NjU5NzU5NjggKzAxMDAKLUBAIC0xNjUsNyArMTY1LDcgQEAgUE9EMk1BTjUgPSBw b2QybWFuIC0tY2VudGVyPSJHTlUgRGV2ZWxvcAotIAkJICAgLS1yZWxlYXNlPSJnZGItYHNlZCBx IHZlcnNpb24uc3Vic3RgIiAtLXNlY3Rpb249NQotIAotICMgTGlzdCBvZiBtYW4gcGFnZXMgZ2Vu ZXJhdGVkIGZyb20gZ2RiLnRleGkKLS1NQU4xUyA9IGdkYi4xIGdkYnNlcnZlci4xIGdjb3JlLjEK LStNQU4xUyA9IGdkYi4xIGdkYnNlcnZlci4xIGdjb3JlLjEgZ2RiLWFkZC1pbmRleC4xCi0gTUFO NVMgPSBnZGJpbml0LjUKLSBNQU5TID0gJChNQU4xUykgJChNQU41UykKLSAKLUBAIC01OTAsNiAr NTkwLDEzIEBAIGdjb3JlLjE6ICQoR0RCX0RPQ19GSUxFUykKLSAJCW12IC1mICRALlQkJCQkICRA KSB8fCAocm0gLWYgJEAuVCQkJCQgJiYgZXhpdCAxKQotIAlybSAtZiBnY29yZS5wb2QKLSAKLStn ZGItYWRkLWluZGV4LjE6ICQoR0RCX0RPQ19GSUxFUykKLSsJdG91Y2ggJEAKLSsJLSQoVEVYSTJQ T0QpICQoTUFOQ09ORikgLURnZGItYWRkLWluZGV4IDwgJChzcmNkaXIpL2dkYi50ZXhpbmZvID4g Z2RiLWFkZC1pbmRleC5wb2QKLSsJLSgkKFBPRDJNQU4xKSBnZGItYWRkLWluZGV4LnBvZCB8IHNl ZCAtZSAnL14uaWYgbiAubmEvZCcgPiAkQC5UJCQkJCAmJiBcCi0rCQltdiAtZiAkQC5UJCQkJCAk QCkgfHwgKHJtIC1mICRALlQkJCQkICYmIGV4aXQgMSkKLSsJcm0gLWYgZ2RiLWFkZC1pbmRleC5w b2QKICsKLSBnZGJpbml0LjU6ICQoR0RCX0RPQ19GSUxFUykKLSAJdG91Y2ggJEAKLSAJLSQoVEVY STJQT0QpICQoTUFOQ09ORikgLURnZGJpbml0IDwgJChzcmNkaXIpL2dkYi50ZXhpbmZvID4gZ2Ri aW5pdC5wb2QKKytAc21hbGxleGFtcGxlCisraW5mbyBnZGIKKytAZW5kIHNtYWxsZXhhbXBsZQor KworK3Nob3VsZCBnaXZlIHlvdSBhY2Nlc3MgdG8gdGhlIGNvbXBsZXRlIG1hbnVhbC4KKysKKytA Y2l0ZXtVc2luZyBHREI6IEEgR3VpZGUgdG8gdGhlIEdOVSBTb3VyY2UtTGV2ZWwgRGVidWdnZXJ9 LAorK1JpY2hhcmQgTS4gU3RhbGxtYW4gYW5kIFJvbGFuZCBILiBQZXNjaCwgSnVseSAxOTkxLgor K0BlbmQgaWZzZXQKKytAYyBtYW4gZW5kCisrCisgQGluY2x1ZGUgZ3BsLnRleGkKKyAKKyBAbm9k ZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1n aXQgYS9nZGItZ2xpYmMtc3Ryc3RyLXdvcmthcm91bmQucGF0Y2ggYi9nZGItZ2xpYmMtc3Ryc3Ry LXdvcmthcm91bmQucGF0Y2gKaW5kZXggNDQwYzhkZi4uNTkxZjAxZSAxMDA2NDQKLS0tIGEvZ2Ri LWdsaWJjLXN0cnN0ci13b3JrYXJvdW5kLnBhdGNoCisrKyBiL2dkYi1nbGliYy1zdHJzdHItd29y a2Fyb3VuZC5wYXRjaApAQCAtMSwxNSArMSwyMyBAQAorRnJvbSAwN2ZlMGRjMjY0NDMwMTY2ZWIz ODBkM2JkMGY2MzVmNTdlOGNkY2MzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVk b3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIw MTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1nbGliYy1zdHJzdHItd29ya2Fyb3VuZC5w YXRjaAogCiBGaWxlTmFtZTogZ2RiLWdsaWJjLXN0cnN0ci13b3JrYXJvdW5kLnBhdGNoCiAKKzs7 IFdvcmthcm91bmQgUFIgbGliYy8xNDE2NiBmb3IgaW5mZXJpb3IgY2FsbHMgb2Ygc3Ryc3RyLgor Ozs9ZmVkb3JhOiBDb21wYXRpYmlsaXR5IHdpdGggUkhFTHMgKHVuY2hlY2tlZCB3aGljaCBvbmVz KS4KKy0tLQorIGdkYi9kd2FyZjJyZWFkLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDIwICsrKysKKyAuLi4vZ2RiLmJhc2UvZ251LWlmdW5jLXN0cnN0ci13b3JrYXJvdW5k LmV4cCAgICAgICB8IDEwOCArKysrKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQs IDEyOCBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvZ251LWlmdW5jLXN0cnN0ci13b3JrYXJvdW5kLmV4cAogCi1JbmRleDogZ2RiLTcuNy45 MC4yMDE0MDYxMy9nZGIvZHdhcmYycmVhZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNy45MC4y MDE0MDYxMy5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNC0wNi0xMyAyMTo1Njo1NC43NDQ2NTM0 NDMgKzAyMDAKLSsrKyBnZGItNy43LjkwLjIwMTQwNjEzL2dkYi9kd2FyZjJyZWFkLmMJMjAxNC0w Ni0xMyAyMjowMTo1MS41Mjk5OTA2ODQgKzAyMDAKLUBAIC0xNzY5NSw2ICsxNzY5NSwyNiBAQCBu ZXdfc3ltYm9sX2Z1bGwgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCitkaWZmIC0tZ2l0IGEvZ2Ri L2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKK2luZGV4IGVmNjI0YWRhMzMuLjcyZDE1 YTk0ZDggMTAwNjQ0CistLS0gYS9nZGIvZHdhcmYycmVhZC5jCisrKysgYi9nZGIvZHdhcmYycmVh ZC5jCitAQCAtMjAwODIsNiArMjAwODIsMjYgQEAgbmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGll X2luZm8gKmRpZSwgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1LAogICAg ICAgIC8qIENhY2hlIHRoaXMgc3ltYm9sJ3MgbmFtZSBhbmQgdGhlIG5hbWUncyBkZW1hbmdsZWQg Zm9ybSAoaWYgYW55KS4gICovCiAgICAgICAgU1lNQk9MX1NFVF9MQU5HVUFHRSAoc3ltLCBjdS0+ bGFuZ3VhZ2UsICZvYmpmaWxlLT5vYmpmaWxlX29ic3RhY2spOwogICAgICAgIGxpbmthZ2VuYW1l ID0gZHdhcmYyX3BoeXNuYW1lIChuYW1lLCBkaWUsIGN1KTsKQEAgLTM2LDEwICs0NCwxMSBAQCBJ bmRleDogZ2RiLTcuNy45MC4yMDE0MDYxMy9nZGIvZHdhcmYycmVhZC5jCiAgICAgICAgU1lNQk9M X1NFVF9OQU1FUyAoc3ltLCBsaW5rYWdlbmFtZSwgc3RybGVuIChsaW5rYWdlbmFtZSksIDAsIG9i amZpbGUpOwogIAogICAgICAgIC8qIEZvcnRyYW4gZG9lcyBub3QgaGF2ZSBtYW5nbGluZyBzdGFu ZGFyZCBhbmQgdGhlIG1hbmdsaW5nIGRvZXMgZGlmZmVyCi1JbmRleDogZ2RiLTcuNy45MC4yMDE0 MDYxMy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dudS1pZnVuYy1zdHJzdHItd29ya2Fyb3VuZC5l eHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAw MDAgKzAwMDAKLSsrKyBnZGItNy43LjkwLjIwMTQwNjEzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv Z251LWlmdW5jLXN0cnN0ci13b3JrYXJvdW5kLmV4cAkyMDE0LTA2LTEzIDIxOjU5OjQxLjE3NDg0 MDg3MSArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ251LWlmdW5j LXN0cnN0ci13b3JrYXJvdW5kLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ251LWlmdW5j LXN0cnN0ci13b3JrYXJvdW5kLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAw MDAwMDAuLjU0NjljZDczNTQKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvZ251LWlmdW5jLXN0cnN0ci13b3JrYXJvdW5kLmV4cAogQEAgLTAsMCArMSwxMDggQEAK ICsjIENvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsK QEAgLTE0OSwzICsxNTgsNiBAQCBJbmRleDogZ2RiLTcuNy45MC4yMDE0MDYxMy9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2dudS1pZnVuYy1zdHJzdHItd29ya2Fyb3VuZC5leAogKwogK2dkYl90ZXN0 IHtwcmludCBzdHJzdHIoImFiYyIsImIiKX0geyA9IDB4WzAtOWEtZl0rICJiYyJ9CiArZ2RiX3Rl c3Qge3ByaW50IHN0cnN0cigiZGVmIiwiZSIpfSB7ID0gMHhbMC05YS1mXSsgImVmIn0KKy0tIAor Mi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItZ2xpYmMtdmRzby13b3JrYXJvdW5kLnBhdGNoIGIv Z2RiLWdsaWJjLXZkc28td29ya2Fyb3VuZC5wYXRjaAppbmRleCBiMDAzMWVjLi5mM2E2OGNhIDEw MDY0NAotLS0gYS9nZGItZ2xpYmMtdmRzby13b3JrYXJvdW5kLnBhdGNoCisrKyBiL2dkYi1nbGli Yy12ZHNvLXdvcmthcm91bmQucGF0Y2gKQEAgLTEsMTMgKzEsMTUgQEAKK0Zyb20gYzFkNzQ0ZmU1 NGFhMmM4M2UwMDM3YTFkMmE3MmZkYzU3MTYzMjI1ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK IEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmks IDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBbUkZDXSBXb3JrIGFyb3VuZCBQ UiBsaWJjLzEzMDk3ICJsaW51eC12ZHNvLnNvLjEiICMyCitTdWJqZWN0OiBXb3JrIGFyb3VuZCBQ UiBsaWJjLzEzMDk3ICJsaW51eC12ZHNvLnNvLjEiICMyCiAKIEZpbGVOYW1lOiBnZGItZ2xpYmMt dmRzby13b3JrYXJvdW5kLnBhdGNoCiAKKzs7IFdvcmsgYXJvdW5kIFBSIGxpYmMvMTMwOTcgImxp bnV4LXZkc28uc28uMSIgd2FybmluZyBtZXNzYWdlLgorOzs9cHVzaCtqYW4KIAogaHR0cDovL3Nv dXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTEtMDgvbXNnMDAzMzEuaHRtbAogCi0KIEhp LAogCiBtaXNzZWQgdGhlIHg4Nl82NC1tMzIgY2FzZToKQEAgLTE3LDEyICsxOSwxNSBAQCBnZGIv CiAKIAlXb3JrIGFyb3VuZCBQUiBsaWJjLzEzMDk3LgogCSogc29saWIuYyAodXBkYXRlX3NvbGli X2xpc3QpOiBJZ25vcmUgImxpbnV4LXZkc28uc28uMSIuCi0KLUluZGV4OiBnZGItNy45LjUwLjIw MTUwNTIwL2dkYi9zb2xpYi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5v cmlnL2dkYi9zb2xpYi5jCTIwMTUtMDUtMzEgMTc6MDQ6MTYuODcwODAyNDkzICswMjAwCi0rKysg Z2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvc29saWIuYwkyMDE1LTA1LTMxIDE3OjA0OjM4LjgyNDk0 MTA1NCArMDIwMAotQEAgLTg5Myw4ICs4OTMsMTEgQEAgdXBkYXRlX3NvbGliX2xpc3QgKGludCBm cm9tX3R0eSwgc3RydWN0CistLS0KKyBnZGIvc29saWIuYyB8IDcgKysrKystLQorIDEgZmlsZSBj aGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9n ZGIvc29saWIuYyBiL2dkYi9zb2xpYi5jCitpbmRleCBjYjdhNWMwYjUxLi41MTE2NzFlYTlkIDEw MDY0NAorLS0tIGEvZ2RiL3NvbGliLmMKKysrKyBiL2dkYi9zb2xpYi5jCitAQCAtODg0LDggKzg4 NCwxMSBAQCB1cGRhdGVfc29saWJfbGlzdCAoaW50IGZyb21fdHR5KQogIAogIAkgIFRSWQogIAkg ICAgewpAQCAtMzYsMyArNDEsNiBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvc29s aWIuYwogIAkJewogIAkJICBub3RfZm91bmQrKzsKICAJCSAgaWYgKG5vdF9mb3VuZF9maWxlbmFt ZSA9PSBOVUxMKQorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1nbmF0LWR3YXJmLWNy YXNoLTNvZjMucGF0Y2ggYi9nZGItZ25hdC1kd2FyZi1jcmFzaC0zb2YzLnBhdGNoCmluZGV4IGQx YTc4YmMuLmFkOGM2NDggMTAwNjQ0Ci0tLSBhL2dkYi1nbmF0LWR3YXJmLWNyYXNoLTNvZjMucGF0 Y2gKKysrIGIvZ2RiLWduYXQtZHdhcmYtY3Jhc2gtM29mMy5wYXRjaApAQCAtMSwxMiArMSwxNCBA QAorRnJvbSBjYWYxYzE0ZjBmZDBhNGUwOTcyNjU3MDNjNmZmNDdkOTU5MDJhODkwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWls LmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IFtw YXRjaF0gZ2RiX2Fzc2VydCAtPiBjb21wbGFpbnQgZm9yIHdlaXJkIERXQVJGCitTdWJqZWN0OiBn ZGJfYXNzZXJ0IC0+IGNvbXBsYWludCBmb3Igd2VpcmQgRFdBUkYKIAogRmlsZU5hbWU6IGdkYi1n bmF0LWR3YXJmLWNyYXNoLTNvZjMucGF0Y2gKIAotaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dk Yi1wYXRjaGVzLzIwMTQtMDIvbXNnMDA3MzEuaHRtbAotCis7OyBGaXggY3Jhc2ggb2YgLXJlYWRu b3cgL3Vzci9saWIvZGVidWcvdXNyL2Jpbi9nbmF0YmluZC5kZWJ1ZyAoQlogMTA2OTIxMSkuCis7 Oz1wdXNoK2phbgogCitodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxNC0w Mi9tc2cwMDczMS5odG1sCiAKIC0tNlRybmx0U3RYVzRpd21pMAogQ29udGVudC1UeXBlOiB0ZXh0 L3BsYWluOyBjaGFyc2V0PXVzLWFzY2lpCkBAIC0yNyw3ICsyOSw2IEBAIEZlZG9yYSBHQ0MgYnVp bGQsIG5vdCBpbiBGU0YgR0NDIGJ1aWxkLCBtb3JlIGluZm8gYXQ6CiAJaHR0cHM6Ly9idWd6aWxs YS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMDY5MzgyCiAJaHR0cDovL3Blb3BsZS5yZWRo YXQuY29tL2prcmF0b2NoL2djYy1kZWJ1Z2luZm8tNC44LjItNy5mYzIwLng4Nl82NC1nbmF0Ymlu ZC5kZWJ1ZwogCi0KIFRoYW5rcywKIEphbgogCkBAIC0zOSwxNiArNDAsMTggQEAgZ2RiLwogMjAx NC0wMi0yNCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgogCiAJ KiBkd2FyZjJyZWFkLmMgKHByb2Nlc3NfZGllKTogQ2hhbmdlIGdkYl9hc3NlcnQgdG8gY29tcGxh aW50LgorLS0tCisgZ2RiL2R3YXJmMnJlYWQuYyB8IDggKysrKysrKysKKyAxIGZpbGUgY2hhbmdl ZCwgOCBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdh cmYycmVhZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIv ZHdhcmYycmVhZC5jCTIwMTctMDQtMjAgMjM6MTU6MjYuNTc4ODk3MjEwICswMjAwCi0rKysgZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMnJlYWQuYwkyMDE3LTA0LTIwIDIzOjE1OjU3Ljgw NTEwNjM3MSArMDIwMAotQEAgLTg0MjYsNyArODQyNiwxMyBAQAotICAgc3RydWN0IGNsZWFudXAg KmluX3Byb2Nlc3M7Ci0gCi0gICAvKiBXZSBzaG91bGQgb25seSBiZSBwcm9jZXNzaW5nIHRob3Nl IG5vdCBhbHJlYWR5IGluIHByb2Nlc3MuICAqLwotLSAgZ2RiX2Fzc2VydCAoIWRpZS0+aW5fcHJv Y2Vzcyk7CitkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMK K2luZGV4IGYxNGY1YjU2M2EuLjQ5YjI2NThhZGUgMTAwNjQ0CistLS0gYS9nZGIvZHdhcmYycmVh ZC5jCisrKysgYi9nZGIvZHdhcmYycmVhZC5jCitAQCAtOTQyNCw2ICs5NDI0LDE0IEBAIHByaXZh dGU6Cisgc3RhdGljIHZvaWQKKyBwcm9jZXNzX2RpZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0 cnVjdCBkd2FyZjJfY3UgKmN1KQorIHsKICsgIGlmIChkaWUtPmluX3Byb2Nlc3MpCiArICAgIHsK ICsgICAgICBjb21wbGFpbnQgKCZzeW1maWxlX2NvbXBsYWludHMsCkBAIC01Niw2ICs1OSwxMCBA QCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMnJlYWQuYwogKwkJIHRvX3Vu ZGVybHlpbmcgKGRpZS0+c2VjdF9vZmYpKTsKICsgICAgICByZXR1cm47CiArICAgIH0KKysKKyAg IHByb2Nlc3NfZGllX3Njb3BlIHNjb3BlIChkaWUsIGN1KTsKICAKLSAgIGRpZS0+aW5fcHJvY2Vz cyA9IDE7Ci0gICBpbl9wcm9jZXNzID0gbWFrZV9jbGVhbnVwIChyZXNldF9kaWVfaW5fcHJvY2Vz cyxkaWUpOworICAgc3dpdGNoIChkaWUtPnRhZykKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQg YS9nZGItaml0LXJlYWRlci1tdWx0aWxpYi5wYXRjaCBiL2dkYi1qaXQtcmVhZGVyLW11bHRpbGli LnBhdGNoCmluZGV4IDRlZDAxN2IuLmE5MzQ0ZDQgMTAwNjQ0Ci0tLSBhL2dkYi1qaXQtcmVhZGVy LW11bHRpbGliLnBhdGNoCisrKyBiL2dkYi1qaXQtcmVhZGVyLW11bHRpbGliLnBhdGNoCkBAIC0x LDE0ICsxLDIyIEBACitGcm9tIDdmNTI2MmMzMjlmODEwOTQyOWE0YjM3M2VkNGNhOTkxYzQ0YTI3 MDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGlu dmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAog U3ViamVjdDogZ2RiLWppdC1yZWFkZXItbXVsdGlsaWIucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1q aXQtcmVhZGVyLW11bHRpbGliLnBhdGNoCiAKKzs7IEZpeCBqaXQtcmVhZGVyLmggZm9yIG11bHRp LWxpYi4KKzs7PXB1c2gramFuCistLS0KKyBnZGIvY29uZmlndXJlICAgIHwgOCArKysrKy0tLQor IGdkYi9jb25maWd1cmUuYWMgfCA4ICsrKysrLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNl cnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZSBi L2dkYi9jb25maWd1cmUKLWluZGV4IDdmZjc0YmEuLjAwYTViNWIgMTAwNzU1CitpbmRleCBkOTlm MjhiOWYyLi4wMTIxMGFmY2NjIDEwMDc1NQogLS0tIGEvZ2RiL2NvbmZpZ3VyZQogKysrIGIvZ2Ri L2NvbmZpZ3VyZQotQEAgLTczODIsMTAgKzczODIsMTIgQEAgX0FDRU9GCitAQCAtOTUyOCwxMCAr OTUyOCwxMiBAQCBfQUNFT0YKICAKICAKICAKQEAgLTI1LDEwICszMywxMCBAQCBpbmRleCA3ZmY3 NGJhLi4wMGE1YjViIDEwMDc1NQogICAgVEFSR0VUX1BUUj0idW5zaWduZWQgX19pbnQxMjgiCiAg ZWxzZQogZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUuYWMgYi9nZGIvY29uZmlndXJlLmFjCi1p bmRleCBlYzc3NmQ3Li5jMDJhY2U5IDEwMDY0NAoraW5kZXggODMwNjE4ZGJlNS4uOGM2YTVmN2Qx ZSAxMDA2NDQKIC0tLSBhL2dkYi9jb25maWd1cmUuYWMKICsrKyBiL2dkYi9jb25maWd1cmUuYWMK LUBAIC02NDgsMTAgKzY0OCwxMiBAQCBBQ19DSEVDS19TSVpFT0YodW5zaWduZWQgbG9uZyBsb25n KQorQEAgLTgzMiwxMCArODMyLDEyIEBAIEFDX0NIRUNLX1NJWkVPRih1bnNpZ25lZCBsb25nIGxv bmcpCiAgQUNfQ0hFQ0tfU0laRU9GKHVuc2lnbmVkIGxvbmcpCiAgQUNfQ0hFQ0tfU0laRU9GKHVu c2lnbmVkIF9faW50MTI4KQogIApAQCAtNDQsMyArNTIsNiBAQCBpbmRleCBlYzc3NmQ3Li5jMDJh Y2U5IDEwMDY0NAogIGVsaWYgdGVzdCAieCR7YWNfY3Zfc2l6ZW9mX3Vuc2lnbmVkX19faW50MTI4 fSIgPSAieDE2IjsgdGhlbgogICAgVEFSR0VUX1BUUj0idW5zaWduZWQgX19pbnQxMjgiCiAgZWxz ZQorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1saWJleGVjLWFkZC1pbmRleC5wYXRj aCBiL2dkYi1saWJleGVjLWFkZC1pbmRleC5wYXRjaAppbmRleCAzMDQ0MTBhLi42NDBhMTc5IDEw MDY0NAotLS0gYS9nZGItbGliZXhlYy1hZGQtaW5kZXgucGF0Y2gKKysrIGIvZ2RiLWxpYmV4ZWMt YWRkLWluZGV4LnBhdGNoCkBAIC0xLDExICsxLDE4IEBACitGcm9tIDY1ZWVlYjBlYmMyYjBmZGQ1 N2NmODBjZjRkMzYxODU5OTg4ZmE5MDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBG ZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3Qg MjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLWxpYmV4ZWMtYWRkLWluZGV4LnBhdGNo CiAKIEZpbGVOYW1lOiBnZGItbGliZXhlYy1hZGQtaW5kZXgucGF0Y2gKIAorOzsgRml4IGdkYi1o ZWFkbGVzcyAvdXNyL2Jpbi8gZXhlY3V0YWJsZXMgKEJaIDEzOTAyNTEpLgorOzs9ZmVkb3JhCist LS0KKyBnZGIvY29udHJpYi9nZGItYWRkLWluZGV4LnNoIHwgNSArKysrKworIDEgZmlsZSBjaGFu Z2VkLCA1IGluc2VydGlvbnMoKykKKwogZGlmZiAtLWdpdCBhL2dkYi9jb250cmliL2dkYi1hZGQt aW5kZXguc2ggYi9nZGIvY29udHJpYi9nZGItYWRkLWluZGV4LnNoCi1pbmRleCBjY2E3MTUzLi43 MzE4MWVjIDEwMDc1NQoraW5kZXggMGNkNGNlM2M5ZC4uYzM0MDU4ZDFkNiAxMDA3NTUKIC0tLSBh L2dkYi9jb250cmliL2dkYi1hZGQtaW5kZXguc2gKICsrKyBiL2dkYi9jb250cmliL2dkYi1hZGQt aW5kZXguc2gKIEBAIC0yMSw2ICsyMSwxMSBAQApAQCAtMjAsMyArMjcsNiBAQCBpbmRleCBjY2E3 MTUzLi43MzE4MWVjIDEwMDc1NQogIG15bmFtZT0iJHswIyMqL30iCiAgCiAgaWYgdGVzdCAkIyAh PSAxOyB0aGVuCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLWxpbmVuby1tYWtldXAt dGVzdC5wYXRjaCBiL2dkYi1saW5lbm8tbWFrZXVwLXRlc3QucGF0Y2gKaW5kZXggYThiZTZlMS4u ODdiNDM3NCAxMDA2NDQKLS0tIGEvZ2RiLWxpbmVuby1tYWtldXAtdGVzdC5wYXRjaAorKysgYi9n ZGItbGluZW5vLW1ha2V1cC10ZXN0LnBhdGNoCkBAIC0xLDkgKzEsMTIgQEAKK0Zyb20gZWZhNTA0 YTYzZjNlOWVjMmZhMGVjM2YzOGU1MjUxMjIwMzBlNDExMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBG cmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItbGluZW5vLW1ha2V1 cC10ZXN0LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItbGluZW5vLW1ha2V1cC10ZXN0LnBhdGNoCiAK Kzs7IFRlc3RjYXNlIGZvciAiRG8gbm90IG1ha2UgdXAgbGluZSBpbmZvcm1hdGlvbiIgZml4IGJ5 IERhbmllbCBKYWNvYm93aXR6LgorOzs9ZmVkb3JhdGVzdAogCiBOZXcgdGVzdGNhc2UgZm9yOgog aHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD00NjYyMjIKQEAgLTEy LDExICsxNSwyMCBAQCBhbmQgdGhlIHVwc3RyZWFtIGZpeDoKIGh0dHA6Ly9zb3VyY2V3YXJlLm9y Zy9tbC9nZGItcGF0Y2hlcy8yMDA2LTExL21zZzAwMjUzLmh0bWwKIAlbcmZjXSBEbyBub3QgbWFr ZSB1cCBsaW5lIGluZm9ybWF0aW9uCiBodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLWN2cy8y MDA2LTExL21zZzAwMTI3Lmh0bWwKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGluZW5v LW1ha2V1cC1mdW5jLmMgfCAyMSArKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGlu ZW5vLW1ha2V1cC5jICAgICAgfCAzNSArKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9saW5lbm8tbWFrZXVwLmV4cCAgICB8IDc4ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrCisgMyBmaWxlcyBjaGFuZ2VkLCAxMzQgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEw MDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xpbmVuby1tYWtldXAtZnVuYy5jCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGluZW5vLW1ha2V1cC5jCisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGluZW5vLW1ha2V1cC5leHAK IAotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGlu ZW5vLW1ha2V1cC1mdW5jLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2xpbmVuby1tYWtldXAtZnVuYy5jCTIwMTYtMDItMTUgMjM6Mjk6MTYu NTk1MTYxOTcxICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9saW5l bm8tbWFrZXVwLWZ1bmMuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGluZW5vLW1ha2V1cC1m dW5jLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4xYTAyMjBlYTUy CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xpbmVuby1tYWtl dXAtZnVuYy5jCiBAQCAtMCwwICsxLDIxIEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9m IEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTM5LDEwICs1MSwxMSBAQCBJbmRleDogZ2Ri LTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9saW5lbm8tbWFrZXVwLWZ1 bmMuYwogK2Z1bmMgKHZvaWQpCiArewogK30KLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xpbmVuby1tYWtldXAuYwotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEw LjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGluZW5vLW1ha2V1cC5jCTIwMTYt MDItMTUgMjM6Mjk6MjMuODczMjEzNjQ2ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9saW5lbm8tbWFrZXVwLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xpbmVu by1tYWtldXAuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjVkNGJl OTA5OTkKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGluZW5v LW1ha2V1cC5jCiBAQCAtMCwwICsxLDM1IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9m IEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTc5LDEwICs5MiwxMSBAQCBJbmRleDogZ2Ri LTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9saW5lbm8tbWFrZXVwLmMK ICsgIGZ1bmMgKCk7CiArICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAy MTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9saW5lbm8tbWFrZXVwLmV4cAotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGluZW5vLW1ha2V1cC5l eHAJMjAxNi0wMi0xNSAyMzoyOToyMy44NzMyMTM2NDYgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2xpbmVuby1tYWtldXAuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9saW5lbm8tbWFrZXVwLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAw MDAwMDAuLjllMTFkNzhiZjkKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvbGluZW5vLW1ha2V1cC5leHAKIEBAIC0wLDAgKzEsNzggQEAKICsjIENvcHlyaWdodCAy MDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTYyLDMgKzE3Niw2IEBA IEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xpbmVu by1tYWtldXAuZXhwCiArCWZhaWwgJHRlc3QKICsgICAgfQogK30KKy0tIAorMi4xNC4zCisKCmRp ZmYgLS1naXQgYS9nZGItbGludXhfcGVyZi1idW5kbGUucGF0Y2ggYi9nZGItbGludXhfcGVyZi1i dW5kbGUucGF0Y2gKaW5kZXggZjc5YTdhNC4uOTFiNDY5ZiAxMDA2NDQKLS0tIGEvZ2RiLWxpbnV4 X3BlcmYtYnVuZGxlLnBhdGNoCisrKyBiL2dkYi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaApAQCAt MSwxMyArMSw3MyBAQAorRnJvbSAzYWI4OGQ5ZTY5YjJjNzVhM2NiYmU5YTdiZmNiMTQ4YTBmMGIy NzI5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxp bnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAK IFN1YmplY3Q6IGdkYi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLWxp bnV4X3BlcmYtYnVuZGxlLnBhdGNoCiAKLUluZGV4OiBnZGItNy4xMS45MC4yMDE2MDkwNC9nZGIv bmF0L2xpbnV4LWJ0cmFjZS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAuMjAxNjA5MDQu b3JpZy9nZGIvbmF0L2xpbnV4LWJ0cmFjZS5oCTIwMTYtMDktMDQgMDQ6MDI6MTMuMDAwMDAwMDAw ICswMjAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA5MDQvZ2RiL25hdC9saW51eC1idHJhY2UuaAky MDE2LTA5LTA0IDIwOjExOjQ3LjM3NTI3NTQ5MiArMDIwMAorOzsgW2R0cytlbDddIFt4ODYqXSBC dW5kbGUgbGludXhfcGVyZi5oIGZvciBsaWJpcHQgKFJIIEJaIDEyNTY1MTMpLgorOzs9ZmVkb3Jh CistLS0KKyBnZGIvY29uZmlndXJlICAgICAgICAgIHwgICAyICstCisgZ2RiL2NvbmZpZ3VyZS5h YyAgICAgICB8ICAgMiArLQorIGdkYi9nZGIuYyAgICAgICAgICAgICAgfCAgIDggKysrCisgZ2Ri L25hdC9saW51eC1idHJhY2UuaCB8IDE3MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCAxODEgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUgYi9nZGIvY29uZmln dXJlCitpbmRleCBjMTE4NmZkMjk0Li4xY2MyMjBkMjgxIDEwMDc1NQorLS0tIGEvZ2RiL2NvbmZp Z3VyZQorKysrIGIvZ2RiL2NvbmZpZ3VyZQorQEAgLTExOTA3LDcgKzExOTA3LDcgQEAgZWxzZQor IAorICNpbmNsdWRlIDxsaW51eC9wZXJmX2V2ZW50Lmg+CisgI2lmbmRlZiBQRVJGX0FUVFJfU0la RV9WRVI1CistIyBlcnJvcgorKy8vIGVycm9yIC8vIFBFUkZfQVRUUl9TSVpFX1ZFUjVfQlVORExF IGlzIG5vdCBhdmFpbGFibGUgaGVyZSAtIEZlZG9yYStSSEVMCisgI2VuZGlmCisgCisgX0FDRU9G CitkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZS5hYyBiL2dkYi9jb25maWd1cmUuYWMKK2luZGV4 IGM3ZDVmMmRlOTkuLjBiZDlmY2FjZTkgMTAwNjQ0CistLS0gYS9nZGIvY29uZmlndXJlLmFjCisr KysgYi9nZGIvY29uZmlndXJlLmFjCitAQCAtMTQ2Niw3ICsxNDY2LDcgQEAgZWxzZQorICAgQUNf UFJFUFJPQ19JRkVMU0UoQUNfTEFOR19TT1VSQ0UoW1sKKyAjaW5jbHVkZSA8bGludXgvcGVyZl9l dmVudC5oPgorICNpZm5kZWYgUEVSRl9BVFRSX1NJWkVfVkVSNQorLSMgZXJyb3IKKysvLyBlcnJv ciAvLyBQRVJGX0FUVFJfU0laRV9WRVI1X0JVTkRMRSBpcyBub3QgYXZhaWxhYmxlIGhlcmUgLSBG ZWRvcmErUkhFTAorICNlbmRpZgorICAgXV0pLCBbcGVyZl9ldmVudD15ZXNdLCBbcGVyZl9ldmVu dD1ub10pCisgICBpZiB0ZXN0ICIkcGVyZl9ldmVudCIgIT0geWVzOyB0aGVuCitkaWZmIC0tZ2l0 IGEvZ2RiL2dkYi5jIGIvZ2RiL2dkYi5jCitpbmRleCBmYmY2NzExMjAzLi44ZGNkZTRlNmQ4IDEw MDY0NAorLS0tIGEvZ2RiL2dkYi5jCisrKysgYi9nZGIvZ2RiLmMKK0BAIC0yMCwxMSArMjAsMTkg QEAKKyAjaW5jbHVkZSAibWFpbi5oIgorICNpbmNsdWRlICJpbnRlcnBzLmgiCisgCisrI2lmZGVm IFBFUkZfQVRUUl9TSVpFX1ZFUjVfQlVORExFCisrZXh0ZXJuICJDIiB2b2lkIF9fbGliaXB0X2lu aXQodm9pZCk7CisrI2VuZGlmCisrCisgaW50CisgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2 KQorIHsKKyAgIHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgYXJnczsKKyAKKysjaWZkZWYgUEVS Rl9BVFRSX1NJWkVfVkVSNV9CVU5ETEUKKysgIF9fbGliaXB0X2luaXQoKTsKKysjZW5kaWYKKysK KyAgIG1lbXNldCAoJmFyZ3MsIDAsIHNpemVvZiBhcmdzKTsKKyAgIGFyZ3MuYXJnYyA9IGFyZ2M7 CisgICBhcmdzLmFyZ3YgPSBhcmd2OworZGlmZiAtLWdpdCBhL2dkYi9uYXQvbGludXgtYnRyYWNl LmggYi9nZGIvbmF0L2xpbnV4LWJ0cmFjZS5oCitpbmRleCBjMDhiMmViOWFlLi40YjRmMjJmNWVj IDEwMDY0NAorLS0tIGEvZ2RiL25hdC9saW51eC1idHJhY2UuaAorKysrIGIvZ2RiL25hdC9saW51 eC1idHJhY2UuaAogQEAgLTI4LDYgKzI4LDE3NyBAQAogICMgIGluY2x1ZGUgPGxpbnV4L3BlcmZf ZXZlbnQuaD4KICAjZW5kaWYKQEAgLTE4Niw1MyArMjQ2LDYgQEAgSW5kZXg6IGdkYi03LjExLjkw LjIwMTYwOTA0L2dkYi9uYXQvbGludXgtYnRyYWNlLmgKICBzdHJ1Y3QgdGFyZ2V0X29wczsKICAK ICAjaWYgSEFWRV9MSU5VWF9QRVJGX0VWRU5UX0gKLUluZGV4OiBnZGItNy4xMS45MC4yMDE2MDkw NC9nZGIvY29uZmlndXJlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAuMjAxNjA5MDQub3Jp Zy9nZGIvY29uZmlndXJlCTIwMTYtMDktMDQgMjA6MTE6NDcuMjM4Mjc0Mjg1ICswMjAwCi0rKysg Z2RiLTcuMTEuOTAuMjAxNjA5MDQvZ2RiL2NvbmZpZ3VyZQkyMDE2LTA5LTA0IDIwOjExOjQ3LjM3 ODI3NTUxOSArMDIwMAotQEAgLTEwNjAxLDcgKzEwNjAxLDcgQEAKLSAKLSAjaW5jbHVkZSA8bGlu dXgvcGVyZl9ldmVudC5oPgotICNpZm5kZWYgUEVSRl9BVFRSX1NJWkVfVkVSNQotLSMgZXJyb3IK LSsvLyBlcnJvciAvLyBQRVJGX0FUVFJfU0laRV9WRVI1X0JVTkRMRSBpcyBub3QgYXZhaWxhYmxl IGhlcmUgLSBGZWRvcmErUkhFTAotICNlbmRpZgotIAotIF9BQ0VPRgotSW5kZXg6IGdkYi03LjEx LjkwLjIwMTYwOTA0L2dkYi9jb25maWd1cmUuYWMKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMS45 MC4yMDE2MDkwNC5vcmlnL2dkYi9jb25maWd1cmUuYWMJMjAxNi0wOS0wNCAyMDoxMTo0Ny4yMzgy NzQyODUgKzAyMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDkwNC9nZGIvY29uZmlndXJlLmFjCTIw MTYtMDktMDQgMjA6MTE6NDcuMzc5Mjc1NTI4ICswMjAwCi1AQCAtMTQ2MSw3ICsxNDYxLDcgQEAK LSAgIEFDX1BSRVBST0NfSUZFTFNFKEFDX0xBTkdfU09VUkNFKFtbCi0gI2luY2x1ZGUgPGxpbnV4 L3BlcmZfZXZlbnQuaD4KLSAjaWZuZGVmIFBFUkZfQVRUUl9TSVpFX1ZFUjUKLS0jIGVycm9yCi0r Ly8gZXJyb3IgLy8gUEVSRl9BVFRSX1NJWkVfVkVSNV9CVU5ETEUgaXMgbm90IGF2YWlsYWJsZSBo ZXJlIC0gRmVkb3JhK1JIRUwKLSAjZW5kaWYKLSAgIF1dKSwgW3BlcmZfZXZlbnQ9eWVzXSwgW3Bl cmZfZXZlbnQ9bm9dKQotICAgaWYgdGVzdCAiJHBlcmZfZXZlbnQiICE9IHllczsgdGhlbgotSW5k ZXg6IGdkYi03LjExLjkwLjIwMTYwOTA0L2dkYi9nZGIuYwotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjExLjkwLjIwMTYwOTA0Lm9yaWcvZ2RiL2dkYi5jCTIwMTYtMDktMDQgMDQ6MDI6MTMuMDAwMDAw MDAwICswMjAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA5MDQvZ2RiL2dkYi5jCTIwMTYtMDktMDQg MjA6MTI6MjguMDE4NjMzNTUyICswMjAwCi1AQCAtMjAsMTEgKzIwLDE5IEBACi0gI2luY2x1ZGUg Im1haW4uaCIKLSAjaW5jbHVkZSAiaW50ZXJwcy5oIgotIAotKyNpZmRlZiBQRVJGX0FUVFJfU0la RV9WRVI1X0JVTkRMRQotK2V4dGVybiAiQyIgdm9pZCBfX2xpYmlwdF9pbml0KHZvaWQpOwotKyNl bmRpZgotKwotIGludAotIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKLSB7Ci0gICBzdHJ1 Y3QgY2FwdHVyZWRfbWFpbl9hcmdzIGFyZ3M7Ci0gCi0rI2lmZGVmIFBFUkZfQVRUUl9TSVpFX1ZF UjVfQlVORExFCi0rICBfX2xpYmlwdF9pbml0KCk7Ci0rI2VuZGlmCi0rCi0gICBtZW1zZXQgKCZh cmdzLCAwLCBzaXplb2YgYXJncyk7Ci0gICBhcmdzLmFyZ2MgPSBhcmdjOwotICAgYXJncy5hcmd2 ID0gYXJndjsKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItbW9yaWJ1bmQtdXRyYWNl LXdvcmthcm91bmQucGF0Y2ggYi9nZGItbW9yaWJ1bmQtdXRyYWNlLXdvcmthcm91bmQucGF0Y2gK aW5kZXggZjc1ZjEyOS4uMDMxNjg0ZiAxMDA2NDQKLS0tIGEvZ2RiLW1vcmlidW5kLXV0cmFjZS13 b3JrYXJvdW5kLnBhdGNoCisrKyBiL2dkYi1tb3JpYnVuZC11dHJhY2Utd29ya2Fyb3VuZC5wYXRj aApAQCAtMSwxOCArMSwyNiBAQAorRnJvbSA1M2U3MDU2YzY1M2NkNDllNTU4ZTAwOGUzYTBjZDc3 Y2I5MTk3OWRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRj aGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAg KzAyMDAKIFN1YmplY3Q6IGdkYi1tb3JpYnVuZC11dHJhY2Utd29ya2Fyb3VuZC5wYXRjaAogCiBG aWxlTmFtZTogZ2RiLW1vcmlidW5kLXV0cmFjZS13b3JrYXJvdW5kLnBhdGNoCiAKKzs7IFdvcmth cm91bmQgbm9uLXN0b3AgbW9yaWJ1bmQgbG9jYXRpb25zIGV4cGxvaXRlZCBieSBrZXJuZWwgdXRy YWNlIChCWiA1OTA2MjMpLgorOzs9cHVzaCtqYW46IEN1cnJlbnRseSBpdCBpcyBzdGlsbCBub3Qg ZnVsbHkgc2FmZS4KIAogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9p ZD01OTA2MjMKIGh0dHA6Ly9zb3VyY2VzLnJlZGhhdC5jb20vYnVnemlsbGEvc2hvd19idWcuY2dp P2lkPTExNTkzCiAKIEJ1ZyBpbiBGU0YgR0RCIGV4cGxvaXRlZCBieSB0aGUgcHRyYWNlLW9uLXV0 cmFjZSBpbnRlcmFjdGlvbi4KKy0tLQorIGdkYi9icmVha3BvaW50LmMgfCAyICsrCisgMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQogCitkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQu YyBiL2dkYi9icmVha3BvaW50LmMKK2luZGV4IDI2OTkyOGE3OTQuLmZiMTI5YmYzOGEgMTAwNjQ0 CiAtLS0gYS9nZGIvYnJlYWtwb2ludC5jCiArKysgYi9nZGIvYnJlYWtwb2ludC5jCi1AQCAtOTA4 NCw2ICs5MDg0LDggQEAgdXBkYXRlX2dsb2JhbF9sb2NhdGlvbl9saXN0IChpbnQgc2hvdWxkX2lu c2VydCkKK0BAIC0xMjEwNSw2ICsxMjEwNSw4IEBAIHVwZGF0ZV9nbG9iYWxfbG9jYXRpb25fbGlz dCAoZW51bSB1Z2xsX2luc2VydF9tb2RlIGluc2VydF9tb2RlKQogIAkJIHRyYXBzIHdlIGNhbiBu byBsb25nZXIgZXhwbGFpbi4gICovCiAgCiAgCSAgICAgIG9sZF9sb2MtPmV2ZW50c190aWxsX3Jl dGlyZW1lbnQgPSAzICogKHRocmVhZF9jb3VudCAoKSArIDEpOwpAQCAtMjEsMyArMjksNiBAQCBC dWcgaW4gRlNGIEdEQiBleHBsb2l0ZWQgYnkgdGhlIHB0cmFjZS1vbi11dHJhY2UgaW50ZXJhY3Rp b24uCiAgCSAgICAgIG9sZF9sb2MtPm93bmVyID0gTlVMTDsKICAKICAJICAgICAgVkVDX3NhZmVf cHVzaCAoYnBfbG9jYXRpb25fcCwgbW9yaWJ1bmRfbG9jYXRpb25zLCBvbGRfbG9jKTsKKy0tIAor Mi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItb3Bjb2Rlcy1jbGZsdXNob3B0LXRlc3QucGF0Y2gg Yi9nZGItb3Bjb2Rlcy1jbGZsdXNob3B0LXRlc3QucGF0Y2gKaW5kZXggZWVhNTA0OC4uMThiMDU1 NCAxMDA2NDQKLS0tIGEvZ2RiLW9wY29kZXMtY2xmbHVzaG9wdC10ZXN0LnBhdGNoCisrKyBiL2dk Yi1vcGNvZGVzLWNsZmx1c2hvcHQtdGVzdC5wYXRjaApAQCAtMSwxMSArMSw0OSBAQAorRnJvbSA4 OTQ3MTlmOGEzOTc5YWZhMDgyY2UzNzdjZTdkOTUzNmRiNTUyYjVjIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERh dGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1vcGNvZGVz LWNsZmx1c2hvcHQtdGVzdC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLW9wY29kZXMtY2xmbHVzaG9w dC10ZXN0LnBhdGNoCiAKLS0tLSAvZGV2L251bGwJMjAxNi0wMS0xNiAyMTo1MDo1NS43MzI4MTIy MjkgKzAxMDAKLSsrKyBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1jbGZs dXNob3B0LmV4cAkyMDE2LTAxLTE2IDIyOjQ5OjE5Ljk1MDY4MzkxOCArMDEwMAorOzsgVGVzdCBj bGZsdXNob3B0IGluc3RydWN0aW9uIGRlY29kZSAoZm9yIFJIIEJaIDEyNjI0NzEpLgorOzs9ZmVk b3JhdGVzdAorLS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1jbGZsdXNob3B0LlMg ICB8IDE5ICsrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0 LWNsZmx1c2hvcHQuZXhwIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKysrKworIDIgZmlsZXMg Y2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL2FtZDY0LWNsZmx1c2hvcHQuUworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIv dGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWNsZmx1c2hvcHQuZXhwCisKK2RpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWNsZmx1c2hvcHQuUyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmFyY2gvYW1kNjQtY2xmbHVzaG9wdC5TCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMDAwMC4uZGVlNGYwMDZkYworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC9hbWQ2NC1jbGZsdXNob3B0LlMKK0BAIC0wLDAgKzEsMTkgQEAKKysvKiBDb3B5 cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQor KyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRw Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0 aGUgZ2RiIHRlc3RzdWl0ZS4gICovCisrCisrX3N0YXJ0OgkuZ2xvYmwJX3N0YXJ0CisrCWNsZmx1 c2hvcHQgKCVlZGkpCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1j bGZsdXNob3B0LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtY2xmbHVzaG9wdC5l eHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4yMmE5ZGVjZWUyCist LS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWNsZmx1c2hv cHQuZXhwCiBAQCAtMCwwICsxLDI1IEBACiArIyBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTMyLDI1ICs3MCw2IEBAIEZpbGVOYW1lOiBnZGItb3Bj b2Rlcy1jbGZsdXNob3B0LXRlc3QucGF0Y2gKICt9CiArCiArZ2RiX3Rlc3QgImRpc2FzIF9zdGFy dCIgIkR1bXAgb2YgYXNzZW1ibGVyIGNvZGUgZm9yIGZ1bmN0aW9uIF9zdGFydDpcclxuICoweFxb MC05YS1mXF0rIDxcWytcXTA+Olx0Y2xmbHVzaG9wdCBcXCglZWRpXFwpXHJcbkVuZCBvZiBhc3Nl bWJsZXIgZHVtcFxcLiIgImNsZmx1c2hvcHQiCi0tLS0gL2Rldi9udWxsCTIwMTYtMDEtMTYgMjE6 NTA6NTUuNzMyODEyMjI5ICswMTAwCi0rKysgZ2RiLTcuNi4xL2dkYi90ZXN0c3VpdGUvZ2RiLmFy Y2gvYW1kNjQtY2xmbHVzaG9wdC5TCTIwMTYtMDEtMTYgMjI6NDk6MjYuMzk4NzI1MjA5ICswMTAw Ci1AQCAtMCwwICsxLDE5IEBACi0rLyogQ29weXJpZ2h0IDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu c2UsIG9yCi0rICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKLSsgICBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKLSsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgotKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgotKwotKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv cHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rICAgYWxvbmcgd2l0aCB0aGlz IHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0r Ci0rICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGdkYiB0ZXN0c3VpdGUuICAqLwotKwotK19z dGFydDoJLmdsb2JsCV9zdGFydAotKwljbGZsdXNob3B0ICglZWRpKQorLS0gCisyLjE0LjMKKwoK ZGlmZiAtLWdpdCBhL2dkYi1waHlzbmFtZS1wcjExNzM0LXRlc3QucGF0Y2ggYi9nZGItcGh5c25h bWUtcHIxMTczNC10ZXN0LnBhdGNoCmluZGV4IDk4Njk5OTguLjhmOTU2OTMgMTAwNjQ0Ci0tLSBh L2dkYi1waHlzbmFtZS1wcjExNzM0LXRlc3QucGF0Y2gKKysrIGIvZ2RiLXBoeXNuYW1lLXByMTE3 MzQtdGVzdC5wYXRjaApAQCAtMSwxNiArMSwzNCBAQAorRnJvbSA5OWExMGM4YzViNDFkZTE5ZDBm MTliOGViNjM5NDE5NTQ1ZjRhMDgwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVk b3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIw MTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1waHlzbmFtZS1wcjExNzM0LXRlc3QucGF0 Y2gKIAogRmlsZU5hbWU6IGdkYi1waHlzbmFtZS1wcjExNzM0LXRlc3QucGF0Y2gKIAorOzsgRml4 IHJlZ3Jlc3Npb25zIG9uIEMrKyBuYW1lcyByZXNvbHZpbmcgKFBSIDExNzM0LCBQUiAxMjI3Mywg S2VpdGggU2VpdHopLgorOzs9ZmVkb3JhdGVzdAogCiBodHRwOi8vc291cmNld2FyZS5vcmcvbWwv Z2RiLXBhdGNoZXMvMjAxMC0xMi9tc2cwMDI2My5odG1sCistLS0KKyBnZGIvdGVzdHN1aXRlL2dk Yi5jcC9wcjExNzM0LTEuY2MgfCAzMCArKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1 aXRlL2dkYi5jcC9wcjExNzM0LTIuY2MgfCAyNyArKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rl c3RzdWl0ZS9nZGIuY3AvcHIxMTczNC0zLmNjIHwgMjcgKysrKysrKysrKysrKysrKysrKworIGdk Yi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtNC5jYyB8IDI3ICsrKysrKysrKysrKysrKysrKysK KyBnZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LmV4cCAgfCA1NSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0Lmgg ICAgfCAyOCArKysrKysrKysrKysrKysrKysrKworIDYgZmlsZXMgY2hhbmdlZCwgMTk0IGluc2Vy dGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTcz NC0xLmNjCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQt Mi5jYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LTMu Y2MKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC00LmNj CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQuZXhwCisg Y3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQuaAogCi1JbmRl eDogZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LTEuY2MKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBn ZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMS5jYwkyMDExLTAyLTAzIDIyOjI4 OjAxLjAwMDAwMDAwMCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3By MTE3MzQtMS5jYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMS5jYworbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmYzNDgwY2U5NzcKKy0tLSAvZGV2L251bGwK KysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMS5jYwogQEAgLTAsMCArMSwzMCBA QAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiAr CkBAIC00MiwxMCArNjAsMTEgQEAgSW5kZXg6IGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3Av cHIxMTczNC0xLmNjCiArICByZXR1cm4gMDsKICt9CiArCi1JbmRleDogZ2RiLTcuMi9nZGIvdGVz dHN1aXRlL2dkYi5jcC9wcjExNzM0LTIuY2MKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yL2dkYi90ZXN0c3Vp dGUvZ2RiLmNwL3ByMTE3MzQtMi5jYwkyMDExLTAyLTAzIDIyOjI4OjAxLjAwMDAwMDAwMCArMDEw MAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMi5jYyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMi5jYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAwMDAuLmRiZWJlODI4MWEKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmNwL3ByMTE3MzQtMi5jYwogQEAgLTAsMCArMSwyNyBAQAogKy8qIFRoaXMgdGVzdGNh c2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC03NCwxMCArOTMsMTEg QEAgSW5kZXg6IGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC0yLmNjCiArewog K30KICsKLUluZGV4OiBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMy5jYwot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAotKysrIGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC0zLmNjCTIwMTEt MDItMDMgMjI6Mjg6MDEuMDAwMDAwMDAwICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuY3AvcHIxMTczNC0zLmNjIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC0zLmNj CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uZmFhZWZmYzlkZAorLS0t IC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC0zLmNjCiBAQCAt MCwwICsxLDI3IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBk ZWJ1Z2dlci4KICsKQEAgLTEwNiwxMCArMTI2LDExIEBAIEluZGV4OiBnZGItNy4yL2dkYi90ZXN0 c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMy5jYwogK3sKICt9CiArCi1JbmRleDogZ2RiLTcuMi9nZGIv dGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LTQuY2MKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yL2dkYi90ZXN0 c3VpdGUvZ2RiLmNwL3ByMTE3MzQtNC5jYwkyMDExLTAyLTAzIDIyOjI4OjAxLjAwMDAwMDAwMCAr MDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtNC5jYyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtNC5jYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAuLjZlZGY4MTEwZjEKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmNwL3ByMTE3MzQtNC5jYwogQEAgLTAsMCArMSwyNyBAQAogKy8qIFRoaXMgdGVz dGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMzgsMTAgKzE1 OSwxMSBAQCBJbmRleDogZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LTQuY2MK ICt7CiArfQogKwotSW5kZXg6IGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC5l eHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAw MDAgKzAwMDAKLSsrKyBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQuZXhwCTIw MTEtMDItMDMgMjI6Mjg6MDEuMDAwMDAwMDAwICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuY3AvcHIxMTczNC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LmV4 cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmU3MzFkNDIyZjYKKy0t LSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQuZXhwCiBAQCAt MCwwICsxLDU1IEBACiArIyBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KICsjCkBAIC0xOTgsMTAgKzIyMCwxMSBAQCBJbmRleDogZ2RiLTcuMi9nZGIvdGVzdHN1 aXRlL2dkYi5jcC9wcjExNzM0LmV4cAogKwogK2dkYl9leGl0CiArcmV0dXJuIDAKLUluZGV4OiBn ZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQuaAotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIv Z2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC5oCTIwMTEtMDItMDMgMjI6Mjg6MDEuMDAwMDAw MDAwICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC5oIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMDAwMC4uN2Y2ZTcyYTY4NQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuY3AvcHIxMTczNC5oCiBAQCAtMCwwICsxLDI4IEBACiArLyogVGhpcyB0ZXN0Y2Fz ZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTIzMSwzICsyNTQsNiBA QCBJbmRleDogZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LmgKICsgIHZvaWQg Zm9vIChjaGFyICopOwogK307CiArCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLXBo eXNuYW1lLXByMTIyNzMtdGVzdC5wYXRjaCBiL2dkYi1waHlzbmFtZS1wcjEyMjczLXRlc3QucGF0 Y2gKaW5kZXggNGM5NWM3OS4uYzBlNzFjOCAxMDA2NDQKLS0tIGEvZ2RiLXBoeXNuYW1lLXByMTIy NzMtdGVzdC5wYXRjaAorKysgYi9nZGItcGh5c25hbWUtcHIxMjI3My10ZXN0LnBhdGNoCkBAIC0x LDE2ICsxLDI2IEBACitGcm9tIGJlNTczNmQ1NmY4NGQ5MjRiZDRkZDgyYmYyY2ZiYzdmMGMwN2Jj NzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGlu dmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAog U3ViamVjdDogZ2RiLXBoeXNuYW1lLXByMTIyNzMtdGVzdC5wYXRjaAogCiBGaWxlTmFtZTogZ2Ri LXBoeXNuYW1lLXByMTIyNzMtdGVzdC5wYXRjaAogCis7OyBGaXggcmVncmVzc2lvbnMgb24gQysr IG5hbWVzIHJlc29sdmluZyAoUFIgMTE3MzQsIFBSIDEyMjczLCBLZWl0aCBTZWl0eikuCis7Oz1m ZWRvcmF0ZXN0CiAKIGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEwLTEy L21zZzAwMjY0Lmh0bWwKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTIyNzMuY2MgIHwg MzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5j cC9wcjEyMjczLmV4cCB8IDQ2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKKyAyIGZpbGVzIGNoYW5nZWQsIDgzIGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMjI3My5jYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBn ZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjEyMjczLmV4cAogCi1JbmRleDogZ2RiLTcuMi9nZGIvdGVz dHN1aXRlL2dkYi5jcC9wcjEyMjczLmNjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi9nZGIvdGVzdHN1aXRl L2dkYi5jcC9wcjEyMjczLmNjCTIwMTEtMDItMDMgMjI6MzE6MDEuMDAwMDAwMDAwICswMTAwCitk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMjI3My5jYyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmNwL3ByMTIyNzMuY2MKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw MDAwLi43OWRkN2JhZDc0CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5j cC9wcjEyMjczLmNjCiBAQCAtMCwwICsxLDM3IEBACiArLyogVGhpcyB0ZXN0IGNhc2UgaXMgcGFy dCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC00OSwxMCArNTksMTEgQEAgSW5kZXg6 IGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMjI3My5jYwogKwkrIEdEQjxjaGFyPjo6 ZXZlbl9oYXJkZXI8aW50PiAoJ2EnKTsKICsgICByZXR1cm4gR0RCPGludD46OnNpbXBsZSAoKTsK ICt9Ci1JbmRleDogZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjEyMjczLmV4cAotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMjI3My5leHAJMjAxMS0wMi0w MyAyMjozMTowMS4wMDAwMDAwMDAgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5jcC9wcjEyMjczLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTIyNzMuZXhwCituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uOWQ3MTQ4Mjc0MgorLS0tIC9kZXYv bnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMjI3My5leHAKIEBAIC0wLDAgKzEs NDYgQEAKICsjIENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KyMKQEAgLTEwMCwzICsxMTEsNiBAQCBJbmRleDogZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5j cC9wcjEyMjczLmV4cAogK30KICsKICtnZGJfZXhpdAorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdp dCBhL2dkYi1wcGMtcG93ZXI3LXRlc3QucGF0Y2ggYi9nZGItcHBjLXBvd2VyNy10ZXN0LnBhdGNo CmluZGV4IGQ3ZTI2YjUuLjNlNjYzNjggMTAwNjQ0Ci0tLSBhL2dkYi1wcGMtcG93ZXI3LXRlc3Qu cGF0Y2gKKysrIGIvZ2RiLXBwYy1wb3dlcjctdGVzdC5wYXRjaApAQCAtMSwxMCArMSwyMiBAQAor RnJvbSA2NGFjZDE0YTQ1MzFkYjIyNzFlYTJhYmE5MjRmZWE5MGQ1MmNjYjAyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNv bT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1w cGMtcG93ZXI3LXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1wcGMtcG93ZXI3LXRlc3QucGF0 Y2gKIAorOzsgVGVzdCBwb3dlcjcgcHBjIGRpc2Fzc2VtYmx5LgorOzs9ZmVkb3JhdGVzdAorLS0t CisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyN3JoLmV4cCB8IDE3OCArKysr KysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBj LXBvd2VyN3JoLnMgICB8IDEwNyArKysrKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwg Mjg1IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9wb3dlcnBjLXBvd2VyN3JoLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL3Bvd2VycGMtcG93ZXI3cmgucwogCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyN3JoLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFy Y2gvcG93ZXJwYy1wb3dlcjdyaC5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwMDAwLi4wYzJiYmRhZWRlCiAtLS0gL2Rldi9udWxsCiArKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5hcmNoL3Bvd2VycGMtcG93ZXI3cmguZXhwCiBAQCAtMCwwICsxLDE3OCBAQApAQCAtMTg2LDYg KzE5OCw5IEBAIEZpbGVOYW1lOiBnZGItcHBjLXBvd2VyNy10ZXN0LnBhdGNoCiArZnVuY19jaGVj ayAweDE5NCAiZnJzcXJ0ZXMgZjE0LGYxNSIKICtmdW5jX2NoZWNrIDB4MTk4ICJmcnNxcnRlcy4g ZjE0LGYxNSIKICtmdW5jX2NoZWNrIDB4MTljICJpc2VsICAgIHIyLHIzLHI0LDI4IgorZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1wb3dlcjdyaC5zIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyN3JoLnMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0 CitpbmRleCAwMDAwMDAwMDAwLi45OGIyZTc5N2U3CiAtLS0gL2Rldi9udWxsCiArKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtcG93ZXI3cmgucwogQEAgLTAsMCArMSwxMDcgQEAK QEAgLTI5NiwzICszMTEsNiBAQCBGaWxlTmFtZTogZ2RiLXBwYy1wb3dlcjctdGVzdC5wYXRjaAog KwkubG9uZwkweGVkYzA3ODM0CS8qIDE5NDogZnJzcXJ0ZXMgZjE0LGYxNSAgICAgICAgICAqLwog KwkubG9uZwkweGVkYzA3ODM1CS8qIDE5ODogZnJzcXJ0ZXMuIGYxNCxmMTUgICAgICAgICAqLwog KwkubG9uZwkweDdjNDMyNzFlCS8qIDE5YzogaXNlbCAgICByMixyMyxyNCwyOCAgICAgICAqLwor LS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1weXRob24tZ2lsLnBhdGNoIGIvZ2RiLXB5 dGhvbi1naWwucGF0Y2gKaW5kZXggMTUzOGExNC4uYWJiOTFjYyAxMDA2NDQKLS0tIGEvZ2RiLXB5 dGhvbi1naWwucGF0Y2gKKysrIGIvZ2RiLXB5dGhvbi1naWwucGF0Y2gKQEAgLTEsMTQgKzEsMjkg QEAKK0Zyb20gOGM0MDQwOGRhZGQ4NmJjYmIzMTkxNzNiYWI2NjViOWZjNmQxMmY3MiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFp bC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBn ZGItcHl0aG9uLWdpbC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLXB5dGhvbi1naWwucGF0Y2gKIAot SW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kb2MvcHl0aG9uLnRleGkKLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9kb2MvcHl0aG9uLnRleGkJMjAx Ny0wNC0yMCAyMzoxNjozMC44OTUzMjgwMTggKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvZG9jL3B5dGhvbi50ZXhpCTIwMTctMDQtMjAgMjM6MTY6MzUuNjkwMzYwMTM2ICswMjAw Ci1AQCAtMjMwLDYgKzIzMCwxNCBAQAorOzsgRml4IFB5dGhvbiBHSUwgd2l0aCBnZGIuZXhlY3V0 ZSgiY29udGludWUiKSAoUGhpbCBNdWxkb29uLCBCWiAxMTE2OTU3KS4KKzs7PXB1c2gKKy0tLQor IGdkYi9kb2MvcHl0aG9uLnRleGkgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOCArKysrCisg Z2RiL3B5dGhvbi9weXRob24taW50ZXJuYWwuaCAgICAgICAgICAgICAgICB8ICAyICsKKyBnZGIv cHl0aG9uL3B5dGhvbi5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgNDIgKysrKysrKysrKysr KysrLS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdpbC1tdGhyZWFkLmMgICB8IDEz ICsrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5leHAgfCA2 OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLnB5dGhv bi9weS1naWwtbXRocmVhZC5weSAgfCAyOCArKysrKysrKysrKysKKyA2IGZpbGVzIGNoYW5nZWQs IDE1NyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBn ZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2lsLW10aHJlYWQuYworIGNyZWF0ZSBtb2RlIDEw MDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2lsLW10aHJlYWQuZXhwCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5weQor CitkaWZmIC0tZ2l0IGEvZ2RiL2RvYy9weXRob24udGV4aSBiL2dkYi9kb2MvcHl0aG9uLnRleGkK K2luZGV4IGY0MTFmNjBkN2UuLjAxMjQzYzdjN2QgMTAwNjQ0CistLS0gYS9nZGIvZG9jL3B5dGhv bi50ZXhpCisrKysgYi9nZGIvZG9jL3B5dGhvbi50ZXhpCitAQCAtMjMyLDYgKzIzMiwxNCBAQCBy ZXR1cm5lZCBhcyBhIHN0cmluZy4gIFRoZSBkZWZhdWx0IGlzIEBjb2Rle0ZhbHNlfSwgaW4gd2hp Y2ggY2FzZSB0aGUKICByZXR1cm4gdmFsdWUgaXMgQGNvZGV7Tm9uZX0uICBJZiBAdmFye3RvX3N0 cmluZ30gaXMgQGNvZGV7VHJ1ZX0sIHRoZQogIEB2YWx1ZXtHREJOfSB2aXJ0dWFsIHRlcm1pbmFs IHdpbGwgYmUgdGVtcG9yYXJpbHkgc2V0IHRvIHVubGltaXRlZCB3aWR0aAogIGFuZCBoZWlnaHQs IGFuZCBpdHMgcGFnaW5hdGlvbiB3aWxsIGJlIGRpc2FibGVkOyBAcHhyZWZ7U2NyZWVuIFNpemV9 LgpAQCAtMjMsMTEgKzM4LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZG9j L3B5dGhvbi50ZXhpCiAgQGVuZCBkZWZ1bgogIAogIEBmaW5kZXggZ2RiLmJyZWFrcG9pbnRzCi1J bmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3B5dGhvbi9weXRob24taW50ZXJuYWwuaAot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3B5dGhvbi9weXRo b24taW50ZXJuYWwuaAkyMDE3LTA0LTIwIDIzOjE2OjMwLjg5NjMyODAyNCArMDIwMAotKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9weXRob24vcHl0aG9uLWludGVybmFsLmgJMjAxNy0wNC0y MCAyMzoxNjozNS42OTAzNjAxMzYgKzAyMDAKLUBAIC0xNDIsNiArMTQyLDggQEAKK2RpZmYgLS1n aXQgYS9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oIGIvZ2RiL3B5dGhvbi9weXRob24taW50 ZXJuYWwuaAoraW5kZXggOGZjOGNjNWE1ZC4uZjA5OWFlNDM3ZiAxMDA2NDQKKy0tLSBhL2dkYi9w eXRob24vcHl0aG9uLWludGVybmFsLmgKKysrKyBiL2dkYi9weXRob24vcHl0aG9uLWludGVybmFs LmgKK0BAIC0xNDIsNiArMTQyLDggQEAgdHlwZWRlZiBpbnQgUHlfc3NpemVfdDsKICAjZGVmaW5l IFB5R0lMU3RhdGVfUmVsZWFzZShBUkcpICgodm9pZCkoQVJHKSkKICAjZGVmaW5lIFB5RXZhbF9J bml0VGhyZWFkcygpCiAgI2RlZmluZSBQeVRocmVhZFN0YXRlX1N3YXAoQVJHKSAoKHZvaWQpKEFS RykpCkBAIC0zNiwxMSArNTEsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9w eXRob24vcHl0aG9uLWludGVybmFsLmgKICAjZGVmaW5lIFB5RXZhbF9SZWxlYXNlTG9jaygpCiAg I2VuZGlmCiAgCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3B5dGhvbi9weXRob24u YwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3B5dGhvbi9w eXRob24uYwkyMDE3LTA0LTIwIDIzOjE2OjMwLjg5NzMyODAzMSArMDIwMAotKysrIGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9weXRob24vcHl0aG9uLmMJMjAxNy0wNC0yMCAyMzoxODoxMS4zNzcw MDEwNzAgKzAyMDAKLUBAIC01OTQsMTIgKzU5NCwxNiBAQAorZGlmZiAtLWdpdCBhL2dkYi9weXRo b24vcHl0aG9uLmMgYi9nZGIvcHl0aG9uL3B5dGhvbi5jCitpbmRleCBjMjlhNDZiNDQ4Li4wZjcx YTQzMzVlIDEwMDY0NAorLS0tIGEvZ2RiL3B5dGhvbi9weXRob24uYworKysrIGIvZ2RiL3B5dGhv bi9weXRob24uYworQEAgLTU1NCwxMiArNTU0LDE2IEBAIGV4ZWN1dGVfZ2RiX2NvbW1hbmQgKFB5 T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3KQogIHsKICAgIGNvbnN0 IGNoYXIgKmFyZzsKICAgIFB5T2JqZWN0ICpmcm9tX3R0eV9vYmogPSBOVUxMLCAqdG9fc3RyaW5n X29iaiA9IE5VTEw7CkBAIC02MSw3ICs3Niw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvcHl0aG9uL3B5dGhvbi5jCiAgICAgIHJldHVybiBOVUxMOwogIAogICAgZnJvbV90dHkg PSAwOwotQEAgLTYyMCw2ICs2MjQsMTUgQEAKK0BAIC01ODAsMTIgKzU4NCwyOCBAQCBleGVjdXRl X2dkYl9jb21tYW5kIChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICpr dykKICAgICAgICB0b19zdHJpbmcgPSBjbXA7CiAgICAgIH0KICAKQEAgLTc3LDggKzkyLDcgQEAg SW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9weXRob24vcHl0aG9uLmMKICAgIHN0ZDo6 c3RyaW5nIHRvX3N0cmluZ19yZXM7CiAgCiAgICBUUlkKLUBAIC02MjgsNiArNjQxLDEzIEBACi0g ICAgICAgc3RkOjpzdHJpbmcgY29weSAoYXJnKTsKKyAgICAgewogICAgICAgIHN0cnVjdCBpbnRl cnAgKmludGVycDsKICAKICsgICAgICAvKiBJbiB0aGUgY2FzZSBvZiBsb25nIHJ1bm5pbmcgR0RC IGNvbW1hbmRzLCBhbGxvdyB0aGUgdXNlciB0bwpAQCAtOTEsMTAgKzEwNSwxMCBAQCBJbmRleDog Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3B5dGhvbi9weXRob24uYwogICAgICAgIHNjb3BlZF9y ZXN0b3JlIHNhdmVfYXN5bmMgPSBtYWtlX3Njb3BlZF9yZXN0b3JlICgmY3VycmVudF91aS0+YXN5 bmMsIDApOwogIAogICAgICAgIHNjb3BlZF9yZXN0b3JlIHNhdmVfdWlvdXQgPSBtYWtlX3Njb3Bl ZF9yZXN0b3JlICgmY3VycmVudF91aW91dCk7Ci1AQCAtNjQyLDEwICs2NjIsMjIgQEAKLSAJdG9f c3RyaW5nX3JlcyA9IGV4ZWN1dGVfY29tbWFuZF90b19zdHJpbmcgKCZjb3B5WzBdLCBmcm9tX3R0 eSk7CitAQCAtNjAwLDEwICs2MjAsMjIgQEAgZXhlY3V0ZV9nZGJfY29tbWFuZCAoUHlPYmplY3Qg KnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3cpCisgCXRvX3N0cmluZ19yZXMgPSBl eGVjdXRlX2NvbW1hbmRfdG9fc3RyaW5nIChhcmcsIGZyb21fdHR5KTsKICAgICAgICBlbHNlCi0g CWV4ZWN1dGVfY29tbWFuZCAoJmNvcHlbMF0sIGZyb21fdHR5KTsKKyAJZXhlY3V0ZV9jb21tYW5k IChhcmcsIGZyb21fdHR5KTsKICsKICsgICAgICAvKiBSZWFjcXVpcmUgdGhlIEdJTCBpZiBpdCB3 YXMgcmVsZWFzZWQgZWFybGllci4gICovCiArICAgICAgaWYgKHJlbGVhc2VfZ2lsKQpAQCAtMTE1 LDEwICsxMjksMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9weXRob24vcHl0 aG9uLmMKICAgICAgfQogICAgRU5EX0NBVENICiAgCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdpbC1tdGhyZWFkLmMKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2lsLW10aHJl YWQuYwkyMDE3LTA0LTIwIDIzOjE2OjM1LjY5MTM2MDE0MyArMDIwMAorZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5jIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIucHl0aG9uL3B5LWdpbC1tdGhyZWFkLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAw MDAwMDAwMDAwLi4xYTEyZmM5YzZkCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5weXRob24vcHktZ2lsLW10aHJlYWQuYwogQEAgLTAsMCArMSwxMyBAQAogKyNpbmNsdWRl IDxzdGRpby5oPgogKyNpbmNsdWRlIDx1bmlzdGQuaD4KQEAgLTEzMywxMCArMTQ4LDExIEBAIElu ZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2ls LW10aHJlYWQuYwogKyAgICAgIHByaW50ZiAoIlNsZWVwaW5nICVkXG4iLCBpKTsKICsgICAgfQog K30KLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24v cHktZ2lsLW10aHJlYWQuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rl c3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdpbC1tdGhyZWFkLmV4cAkyMDE3LTA0LTIwIDIzOjE2OjM1 LjY5MTM2MDE0MyArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9w eS1naWwtbXRocmVhZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2lsLW10aHJl YWQuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYTg5YzE2YTQ1 YgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdpbC1t dGhyZWFkLmV4cAogQEAgLTAsMCArMSw2OSBAQAogKyMgQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMjA3LDEwICsyMjMsMTEgQEAgSW5kZXg6 IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRo cmVhZC5leHAKICsJfQogKyAgICB9CiArfQotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5weQotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5w eQkyMDE3LTA0LTIwIDIzOjE2OjM1LjY5MjM2MDE0OSArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5weSBiL2dkYi90ZXN0c3VpdGUvZ2Ri LnB5dGhvbi9weS1naWwtbXRocmVhZC5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAw MDAwMDAwMDAuLjZhODk5NjQxMzkKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5weQogQEAgLTAsMCArMSwyOCBAQAogK3RyeToKICsg ICBpbXBvcnQgdGhyZWFkCkBAIC0yNDAsMyArMjU3LDYgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5weQogKwogK3do aWxlIDE6CiArICAgcGFzcworLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1yZWFkbGlu ZTYyLWFzay1tb3JlLXJoLnBhdGNoIGIvZ2RiLXJlYWRsaW5lNjItYXNrLW1vcmUtcmgucGF0Y2gK aW5kZXggZDdjZjE1NC4uYWM4ZGJiOSAxMDA2NDQKLS0tIGEvZ2RiLXJlYWRsaW5lNjItYXNrLW1v cmUtcmgucGF0Y2gKKysrIGIvZ2RiLXJlYWRsaW5lNjItYXNrLW1vcmUtcmgucGF0Y2gKQEAgLTEs MTQgKzEsMjEgQEAKK0Zyb20gZDQxZjkyMDQ3YThmMmMxZTFmMzFmZjg5MzliMjIxNTg2MmJjZTE4 MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52 YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBT dWJqZWN0OiBnZGItcmVhZGxpbmU2Mi1hc2stbW9yZS1yaC5wYXRjaAogCiBGaWxlTmFtZTogZ2Ri LXJlYWRsaW5lNjItYXNrLW1vcmUtcmgucGF0Y2gKIAotSW5kZXg6IGdkYi03LjExLjUwLjIwMTYw NjMwL2dkYi9ldmVudC10b3AuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjExLjUwLjIwMTYwNjMw Lm9yaWcvZ2RiL2V2ZW50LXRvcC5jCTIwMTYtMDctMDMgMTY6MzI6MzYuMTA4MzQyMTU5ICswMjAw Ci0rKysgZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL2V2ZW50LXRvcC5jCTIwMTYtMDctMDMgMTY6 MzI6NTkuNzg3NTIzNzMzICswMjAwCi1AQCAtMTI1Miw2ICsxMjUyLDEzIEBACis7OyBXb3JrIGFy b3VuZCByZWFkbGluZS02LjIgaW5jb21wYXRpYmlsaXR5IG5vdCBhc2tpbmcgZm9yIC0tbW9yZS0t IChCWiA3MDExMzEpLgorOzs9ZmVkb3JhCistLS0KKyBnZGIvZXZlbnQtdG9wLmMgfCA3ICsrKysr KysKKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nZGIv ZXZlbnQtdG9wLmMgYi9nZGIvZXZlbnQtdG9wLmMKK2luZGV4IGExODY2ZjBjODguLmU3ZDNjMWZj MjAgMTAwNjQ0CistLS0gYS9nZGIvZXZlbnQtdG9wLmMKKysrKyBiL2dkYi9ldmVudC10b3AuYwor QEAgLTExODIsNiArMTE4MiwxMyBAQCBnZGJfc2V0dXBfcmVhZGxpbmUgKGludCBlZGl0aW5nKQog IHsKICAgIHN0cnVjdCB1aSAqdWkgPSBjdXJyZW50X3VpOwogIApAQCAtMjIsMyArMjksNiBAQCBJ bmRleDogZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL2V2ZW50LXRvcC5jCiAgICAvKiBUaGlzIGZ1 bmN0aW9uIGlzIGEgbm9vcCBmb3IgdGhlIHN5bmMgY2FzZS4gIFRoZSBhc3N1bXB0aW9uIGlzCiAg ICAgICB0aGF0IHRoZSBzeW5jIHNldHVwIGlzIEFMTCBkb25lIGluIGdkYl9pbml0LCBhbmQgd2Ug d291bGQgb25seQogICAgICAgbWVzcyBpdCB1cCBoZXJlLiAgVGhlIHN5bmMgc3R1ZmYgc2hvdWxk IHJlYWxseSBnbyBhd2F5IG92ZXIKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItcmhi ei04MTgzNDMtc2V0LXNvbGliLWFic29sdXRlLXByZWZpeC10ZXN0Y2FzZS5wYXRjaCBiL2dkYi1y aGJ6LTgxODM0My1zZXQtc29saWItYWJzb2x1dGUtcHJlZml4LXRlc3RjYXNlLnBhdGNoCmluZGV4 IGU2ZWUxMjAuLjUyMTk3N2UgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6LTgxODM0My1zZXQtc29saWIt YWJzb2x1dGUtcHJlZml4LXRlc3RjYXNlLnBhdGNoCisrKyBiL2dkYi1yaGJ6LTgxODM0My1zZXQt c29saWItYWJzb2x1dGUtcHJlZml4LXRlc3RjYXNlLnBhdGNoCkBAIC0xLDE0ICsxLDI0IEBACitG cm9tIGMyYWQxMTdhMDliMDJiYTdlYzA0ZjZmM2UxMDA5NjlmNDMyM2ZlOGYgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29t PgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLXJo YnotODE4MzQzLXNldC1zb2xpYi1hYnNvbHV0ZS1wcmVmaXgtdGVzdGNhc2UucGF0Y2gKIAogRmls ZU5hbWU6IGdkYi1yaGJ6LTgxODM0My1zZXQtc29saWItYWJzb2x1dGUtcHJlZml4LXRlc3RjYXNl LnBhdGNoCiAKKzs7IFRlc3RjYXNlIGZvciBgU2V0dGluZyBzb2xpYi1hYnNvbHV0ZS1wcmVmaXgg YnJlYWtzIHZEU08nIChCWiA4MTgzNDMpLgorOzs9ZmVkb3JhdGVzdAorLS0tCisgZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9zZXQtc29saWItYWJzb2x1dGUtcHJlZml4LmMgfCAyNiArKysrKysrKysr KysrKysKKyAuLi4vZ2RiLmJhc2Uvc2V0LXNvbGliLWFic29sdXRlLXByZWZpeC5leHAgICAgICAg ICB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDY1IGluc2Vy dGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zZXQt c29saWItYWJzb2x1dGUtcHJlZml4LmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9zZXQtc29saWItYWJzb2x1dGUtcHJlZml4LmV4cAogCi1JbmRleDogZ2RiLTcu MC4xL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc2V0LXNvbGliLWFic29sdXRlLXByZWZpeC5jCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zZXQtc29saWIt YWJzb2x1dGUtcHJlZml4LmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3NldC1zb2xpYi1hYnNv bHV0ZS1wcmVmaXguYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjI2 NzVhMzRmMWEKIC0tLSAvZGV2L251bGwKLSsrKyBnZGItNy4wLjEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9zZXQtc29saWItYWJzb2x1dGUtcHJlZml4LmMKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2Uvc2V0LXNvbGliLWFic29sdXRlLXByZWZpeC5jCiBAQCAtMCwwICsxLDI2IEBACiArLyog Q29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAt MzYsMTAgKzQ2LDExIEBAIEluZGV4OiBnZGItNy4wLjEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9z ZXQtc29saWItYWJzb2x1dGUtcHJlZml4LmMKICsgIHByaW50ZiAoIkhlbGxvLCBXb3JsZC5cbiIp OwogKyAgYWJvcnQgKCk7CiArfQotSW5kZXg6IGdkYi03LjAuMS9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3NldC1zb2xpYi1hYnNvbHV0ZS1wcmVmaXguZXhwCi09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zZXQtc29saWItYWJzb2x1dGUtcHJlZml4LmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc2V0LXNvbGliLWFic29sdXRlLXByZWZpeC5leHAKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5iYjRjOGI5NjJiCiAtLS0gL2Rl di9udWxsCi0rKysgZ2RiLTcuMC4xL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc2V0LXNvbGliLWFi c29sdXRlLXByZWZpeC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc2V0LXNvbGli LWFic29sdXRlLXByZWZpeC5leHAKIEBAIC0wLDAgKzEsMzkgQEAKICsjIENvcHlyaWdodCAyMDEy IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtODAsMyArOTEsNiBAQCBJbmRl eDogZ2RiLTcuMC4xL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc2V0LXNvbGliLWFic29sdXRlLXBy ZWZpeC5leHAKICsgICAgIi4qd2FybmluZzogVW5hYmxlIHRvIGZpbmQgZHluYW1pYyBsaW5rZXIg YnJlYWtwb2ludCBmdW5jdGlvbi4qIiBcCiArICAgICJzZXQgc29saWItYWJzb2x1dGUtcHJlZml4 IgogK2dkYl90ZXN0ICJidCIgIl9fa2VybmVsX3ZzeXNjYWxsLioiICJiYWNrdHJhY2Ugd2l0aCBf X2tlcm5lbF92c3lzY2FsbCIKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItcmhiejEw MDc2MTQtbWVtbGVhay1pbmZweV9yZWFkX21lbW9yeS10ZXN0LnBhdGNoIGIvZ2RiLXJoYnoxMDA3 NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9tZW1vcnktdGVzdC5wYXRjaAppbmRleCBkMTg4YmU0Li5h MzFmZDFlIDEwMDY0NAotLS0gYS9nZGItcmhiejEwMDc2MTQtbWVtbGVhay1pbmZweV9yZWFkX21l bW9yeS10ZXN0LnBhdGNoCisrKyBiL2dkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRf bWVtb3J5LXRlc3QucGF0Y2gKQEAgLTEsOSArMSwxMyBAQAorRnJvbSA1M2Y2MGNlZTI1YjhlMzMw N2ViZWJkYWE4MjZiMjk5ZGI2ZTRkOGQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTog RmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0 IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWlu ZnB5X3JlYWRfbWVtb3J5LXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1yaGJ6MTAwNzYxNC1t ZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LXRlc3QucGF0Y2gKIAorOzsgRml4ICdtZW1vcnkgbGVh ayBpbiBpbmZweV9yZWFkX21lbW9yeSgpJyAoUkggQlogMTAwNzYxNCkKKzs7PWZlZG9yYXRlc3QK KwogT3JpZ2luYWwgbWVzc2FnZSBieSBUb20gVHJvbWV5OgogCiAgIDxodHRwczovL3NvdXJjZXdh cmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTItMDMvbXNnMDA5NTUuaHRtbD4KQEAgLTI1LDExICsy OSwyMCBAQCBEYXRlOiAgIFdlZCBNYXIgMjggMTc6Mzg6MDggMjAxMiArMDAwMAogICAgIAkqIHB5 dGhvbi9weS1pbmZlcmlvci5jIChpbmZweV9yZWFkX21lbW9yeSk6IFJlbW92ZSBjbGVhbnVwcyBh bmQKICAgICAJZXhwbGljaXRseSBmcmVlICdidWZmZXInIG9uIGV4aXQgcGF0aHMuICBEZWNyZWYg J21lbWJ1Zl9vYmplY3QnCiAgICAgCWJlZm9yZSByZXR1cm5pbmcuCistLS0KKyAuLi4vcHktZ2Ri LXJoYnoxMDA3NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9tZW1vcnkuYyB8IDI3ICsrKysrKysrKwor IC4uLnktZ2RiLXJoYnoxMDA3NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9tZW1vcnkuZXhwIHwgNjgg KysrKysrKysrKysrKysrKysrKysrKworIC4uLnB5LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWlu ZnB5X3JlYWRfbWVtb3J5LnB5IHwgMzAgKysrKysrKysrKworIDMgZmlsZXMgY2hhbmdlZCwgMTI1 IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0 aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LmMKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYx NC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIv dGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2RiLXJoYnoxMDA3NjE0LW1lbWxlYWstaW5mcHlfcmVh ZF9tZW1vcnkucHkKIAotSW5kZXg6IGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5 LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LmMKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K K2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2RiLXJoYnoxMDA3NjE0 LW1lbWxlYWstaW5mcHlfcmVhZF9tZW1vcnkuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9w eS1nZGItcmhiejEwMDc2MTQtbWVtbGVhay1pbmZweV9yZWFkX21lbW9yeS5jCituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uZjI2OTdlZmE5YQogLS0tIC9kZXYvbnVsbAot KysrIGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1t ZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LmMKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhv bi9weS1nZGItcmhiejEwMDc2MTQtbWVtbGVhay1pbmZweV9yZWFkX21lbW9yeS5jCiBAQCAtMCww ICsxLDI3IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1 Z2dlci4KICsKQEAgLTU4LDEwICs3MSwxMSBAQCBJbmRleDogZ2RiLTcuMi9nZGIvdGVzdHN1aXRl L2dkYi5weXRob24vcHktZ2RiLXJoYnoxMDA3NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9tZQogK3sK ICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhv bi9weS1nZGItcmhiejEwMDc2MTQtbWVtbGVhay1pbmZweV9yZWFkX21lbW9yeS5leHAKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2RiLXJoYnox MDA3NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9tZW1vcnkuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LmV4cAor bmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjJlNjc4NmQ0OTkKIC0tLSAv ZGV2L251bGwKLSsrKyBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1nZGItcmhi ejEwMDc2MTQtbWVtbGVhay1pbmZweV9yZWFkX21lbW9yeS5leHAKKysrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLnB5dGhvbi9weS1nZGItcmhiejEwMDc2MTQtbWVtbGVhay1pbmZweV9yZWFkX21lbW9y eS5leHAKIEBAIC0wLDAgKzEsNjggQEAKICsjIENvcHlyaWdodCAyMDE0IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTMxLDEwICsxNDUsMTEgQEAgSW5kZXg6IGdkYi03LjIv Z2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5 X3JlYWRfbWUKICt9IGVsc2UgewogKyAgICBwYXNzICJ0aGVyZSBpcyBub3QgYSBtZW1vcnkgbGVh ayBvbiBHREIgKFJIQlogMTAwNzYxNCkiCiArfQotSW5kZXg6IGdkYi03LjIvZ2RiL3Rlc3RzdWl0 ZS9nZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5 LnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5 LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LnB5IGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVt b3J5LnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uZTgwNzcyODA0 NwogLS0tIC9kZXYvbnVsbAotKysrIGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5 LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LnB5CisrKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2RiLXJoYnoxMDA3NjE0LW1lbWxlYWstaW5mcHlfcmVh ZF9tZW1vcnkucHkKIEBAIC0wLDAgKzEsMzAgQEAKICsjIENvcHlyaWdodCAoQykgMjAxNCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTE2NiwzICsxODEsNiBAQCBJbmRleDog Z2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2RiLXJoYnoxMDA3NjE0LW1lbWxl YWstaW5mcHlfcmVhZF9tZQogKyAgICAgICAgcHJpbnQgIkhlbGxvLCBXb3JsZCEiCiArCiArSGVs bG9Xb3JsZCAoKQorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTA4NDQwNC1w cGM2NC1zMzkweC13cm9uZy1wcm9sb2d1ZS1za2lwLU8yLWctM29mMy5wYXRjaCBiL2dkYi1yaGJ6 MTA4NDQwNC1wcGM2NC1zMzkweC13cm9uZy1wcm9sb2d1ZS1za2lwLU8yLWctM29mMy5wYXRjaApp bmRleCBjOGVjODQ5Li41NmRmNWI3IDEwMDY0NAotLS0gYS9nZGItcmhiejEwODQ0MDQtcHBjNjQt czM5MHgtd3JvbmctcHJvbG9ndWUtc2tpcC1PMi1nLTNvZjMucGF0Y2gKKysrIGIvZ2RiLXJoYnox MDg0NDA0LXBwYzY0LXMzOTB4LXdyb25nLXByb2xvZ3VlLXNraXAtTzItZy0zb2YzLnBhdGNoCkBA IC0xLDEyNSArMSwzMyBAQAorRnJvbSBmYWFkYzQ3MWFiYTI5ZTlkYmY1ZjEzNGQwYmYxZDUzZWQx ZDQ4OGI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVz IDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAy MDAKIFN1YmplY3Q6IGdkYi1yaGJ6MTA4NDQwNC1wcGM2NC1zMzkweC13cm9uZy1wcm9sb2d1ZS1z a2lwLU8yLWctM29mMy5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLXJoYnoxMDg0NDA0LXBwYzY0LXMz OTB4LXdyb25nLXByb2xvZ3VlLXNraXAtTzItZy0zb2YzLnBhdGNoCiAKKzs7IEZpeCAnW3BwYzY0 XSBhbmQgW3MzOTB4XSB3cm9uZyBwcm9sb2d1ZSBza2lwIG9uIC1PMiAtZyBjb2RlJyAoSmFuCis7 OyBLcmF0b2NodmlsLCBSSCBCWiAxMDg0NDA0KS4KKzs7PWZlZG9yYXRlc3QKKwogVGhlc2UgdGVz dGNhc2VzIGhhdmUgYmVlbiBjcmVhdGVkIGJ5IGNvbXBpbGluZyBnbGliYy0yLjE3LTc4IG9uCiBS SEVMLTcuMSBzMzkweC9wcGM2NCBib3hlcywgYW5kIHRoZW4gdGFraW5nIHRoZSAic2VsZWN0Lm8i IGZpbGUKIHByZXNlbnQgYXQgJGJ1aWxkZGlyL21pc2Mvc2VsZWN0Lm8uCistLS0KKyBnZGIvdGVz dHN1aXRlL2dkYi5hcmNoL3BwYzY0LXByb2xvZ3VlLXNraXAuZXhwICB8IDM0ICsrKysrKysrKysr KworIGdkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcHBjNjQtcHJvbG9ndWUtc2tpcC5vLnV1IHwgNzAg KysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvczM5MHgt cHJvbG9ndWUtc2tpcC5leHAgIHwgMzQgKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9zMzkweC1wcm9sb2d1ZS1za2lwLm8udXUgfCA2NCArKysrKysrKysrKysrKysrKysrKysr CisgNCBmaWxlcyBjaGFuZ2VkLCAyMDIgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3BwYzY0LXByb2xvZ3VlLXNraXAuZXhwCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcHBjNjQtcHJvbG9ndWUtc2tpcC5v LnV1CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvczM5MHgtcHJv bG9ndWUtc2tpcC5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC9zMzkweC1wcm9sb2d1ZS1za2lwLm8udXUKIAotSW5kZXg6IGdkYi03LjYuMS9nZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL3MzOTB4LXByb2xvZ3VlLXNraXAuZXhwCi09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rl di9udWxsCi0rKysgZ2RiLTcuNi4xL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvczM5MHgtcHJvbG9n dWUtc2tpcC5leHAKLUBAIC0wLDAgKzEsMzQgQEAKLSsjIENvcHlyaWdodCAyMDE1IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsjIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 Ci0rIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo ZSBMaWNlbnNlLCBvcgotKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsj Ci0rIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKLSsjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKyMKLSsjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rIyBhbG9uZyB3aXRoIHRo aXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4K LSsKLStpZiB7ICFbaXN0YXJnZXQgczM5MHgtKmxpbnV4LSpdIHx8ICFbaXNfbHA2NF90YXJnZXRd IH0gewotKyAgICB2ZXJib3NlICJTa2lwcGluZyBzMzkweC1wcm9sb2d1ZS1za2lwLmV4cCIKLSsg ICAgcmV0dXJuCi0rfQotKwotK3NldCB0ZXN0ZmlsZSAiczM5MHgtcHJvbG9ndWUtc2tpcCIKLStz ZXQgdXVmaWxlICIke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7dGVzdGZpbGV9Lm8udXUiCi0rc2V0IG9m aWxlICIke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7dGVzdGZpbGV9Lm8iCi0rCi0raWYgeyBbY2F0Y2gg InN5c3RlbSBcInV1ZGVjb2RlIC1vICR7b2ZpbGV9ICR7dXVmaWxlfVwiIiBdICE9IDAgfSB7Ci0r ICAgIHVudGVzdGVkICJmYWlsZWQgdXVkZWNvZGUiCi0rICAgIHJldHVybiAtMQotK30KLSsKLStn ZGJfZXhpdAotK2dkYl9zdGFydAotK2dkYl9sb2FkICRvZmlsZQotKwotK2dkYl90ZXN0ICJicmVh ayBzZWxlY3QiICJCcmVha3BvaW50ICRkZWNpbWFsIGF0IDB4NDg6IGZpbGUgLi4vc3lzZGVwcy91 bml4L3N5c2NhbGwtdGVtcGxhdGUuUywgbGluZSA4MS4iICJicmVha3BvaW50IG9uIHNlbGVjdCIK LUluZGV4OiBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9zMzkweC1wcm9sb2d1ZS1z a2lwLm8udXUKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwKLSsrKyBnZGItNy42LjEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC9zMzkweC1wcm9sb2d1ZS1za2lwLm8udXUKLUBAIC0wLDAgKzEsNjQg QEAKLStiZWdpbiA2NDQgczM5MHgtcHJvbG9ndWUtc2tpcC5vLnV1Ci0rTT9UNSwxQCgiYDBgYGBg YGBgYGBgYGBgIWAhOGBgYGAhYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYAotK01gYCtgYGBg YGBgIWBgYGBgYGAhYGAhKGAjXkxFXCFgYCkuTz9cJkBgKStEJGAuXkdeX11AWF4jUGBgYEQKLStN UC40YGBgYGBOMDBgYE5MRVwrYGAhYEouTjAwYFRLRCRgIiNgWTBgYGBgIlkhYGBNWl1fUSJgYCRJ XzBgCi0rTSJMYDBgYGBgYCtcLyRgIkc9L183IkhaRzI/YCFOMiRgKSwiVGBgYGBgYD9eYGBgYDVA YCJgYGBgLjAkIQotK01eUFgtYGAkIWAwJGBgYGAhYGBgIStCWE88V0VTOSY1UDxSXVU7RkVYYGAh Uz43LUM4NlFMKzcxRTs3IUwKLStNODcxRStFLGBgMGBgYGBgKWBAYGBgYGBgYGBgYGBdYGBgMClG JFAoImBgJCFgYGBgQ1BgImBgYGBgYEAhCi0rTWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYE4r Ql1TPjctRDk3IVMrVzVOOjdATzxXRVM4ViVMOyJVVAotK005NlVQOyYlVDkyWTNgIl1SO1ZdVCtW PUw6NilDK1Y9TDo2KUMrMyhOLDM8TS1TQE45NlBXK0ctUjhSXUcKLStNOyZFQjhSVFIrQyRXKzYs Vy0zQUEtQ0BWK1ZVSTxWLGAxVFk1KCQlMygjKE4sQyxOLTMoTiwiWFFgKGAhCi0rTWAxJGAkYDgx YDEoIWBQQDsiIjQoJFA0YGBgYGBgYGBgYGBgYGBgYGArYGAiYGBgYGBgQGBgYGBgYGBgYAotK01g YGBgYGBgYGBgYGBgYGBgYCZAYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYCVgYGBgYGAhPkUoYGA3 QC4KLStNYDFMLCNaYCFgYGBgYGBgYCZgYGBgIVBgYGBgYGBgYGAxYCEsQ1A2LiFIVCcyYFtgYEBg YGAhYGBgYGBYCi0rTWBgYGBgYGBgYCJgYGBgYGBgIllTPjZVVDg2KGArRy1UPEcxQThAYE48VkFT PScpVDg2KGArRylFOyYkTgotK009JjVYPWBgTjkmJVQ4MGBOOEctU2AiWU47VzFFK0Q9LjUyVVM9 JiVDOlBgTjxGNUw4MllEOTYpVTlVXUwKLStNOjZZRWAiWVI5NlFBK0YxRThHNUc3VkVOOUZcYCtG MUU4RzVHN1YlQjhHKUU9QGBOPEY1TDgyWUQ5NilVCi0rTTlVXUE8RiVOOVY1U2AiWVI5NlFBK0Y1 SDdWOVI4NlVFYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYAotK01gYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAKLStNYGBgYGBgYGAo YGBgYGAkYGBgYGBgYGBgIUBgYGBgYGBgYGBgYGBgYGBgYGBgJGBgYGBgYGBgYGA6YGBgCi0rTWBg YGBgYGBgYGBgYGBgYGBgYDBgYGBgYGBgYGBgYGBgYCFMYGBgYCRgYGBgYGBgYGBgYGBgYGBgYGBg YAotK01gYGBgYGBgYGBgRmBgYGBgYGBgYGAmYGBgYGAwYGBgYGAwYGBgYGBgYGBgKGBgYGBgYGBg YCFAYGBgYEYKLStNYGBgYGAwYGBgYGBgYGBgI2BgYGBgYGBgYGBgYGBgYGBgYGBgSmBgYGBgYGBg YGBgYGBgYGBgYGBgYGBgCi0rTWBgYGBgYGBgIWBgYGBgYGBgYGBgYGBgYCtgYGBgYEBgYGBgYGBg YGBgUGBgYGBgYGBgYGBgYGBgYGBgYAotK01gKkBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgMGBgYGBgYGBgYGBgYGBgIyRgYGBgIWBgYGAKLStNYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg YGAiSGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAhCi0rTWBgYGBgYGBgYGBgYGBgISZg YGBgYDBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBKYGBgYGBgYAotK01gYCE6YGBgYGBg YGBgYGBgYGBgYGBgYGBgMGBgYGBgYGBgYGBgYGBgMDBgYGBgMGBgYGBgYGBgYGBgYGAKLStNYGBg YGBgYGBgYGBgYGBgYCI+YGBgYGBgYGBgYCZgYGBgIWBgYGBgJmBgYGBgYGBgYGBAYGBgYGBgYGBg Ci0rTSZgYGBgJTxgYGBgIWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYCQiYGBgYGBgYGBg KSxgYGBgYAotK01gYGBgYGBgYGBgYGBgYGAhYGBgYGBgYGBgYGBgYGAhMmBgYGAhYGBgYGBgYGBg YGBgYGBgYGBgYGBgYGAKLStNYGBgYGBgYCleYGBgYGBgYGBgIUBgYGBgJGBgYGBgQGBgYGBgYGBg YCJgYGBgYGBgYGBgOGBgYGA4UGBgCi0rTWBgJGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg YDk0YGBgYGBgYGBgJWBgYGBgYGBgYGBgYGBgYAotK01gYGBgYGAkYGBgYGBgYGBgYGBgYGAnOGBg YGAhYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgJlAKLStNYGBgYGBgYGBgI2BgYGBgYGBg YGBgYGBgYGBgYGBgYDBgYGBgYGBgYGBgYGBgYCFRYGBgYCFgYGBgYGBgCi0rTWBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgKjZgYGBgYGBgYGBgUGBgYGAkYGBgYGBMYGBgYGBgYGBgImBgYAotK01gYGBg YGBgOGBgYGBCQGBgYGAkYGBgYGBgYGBgYEBgYGBgYGBgYGBgYGBgYGBgYGBgPmBgYGBgYGBgYGAK LStNMmBgYGBgYGBgYGBgYGBgYGBgYGBgYEBgYGBgYGBgYGBgYGBgYCg0YGBgYCRgYGBgYGBgYGBg YGBgYGBgCi0rTWBgYGBgYGBgYGBgYGBgSihgYGBgYGBgYGAjYGBgYGAwYGBgYCMwYGBgYGBgYGBg KGBgYGBgYGBgYCFAYAotK01gYGAxYGBgYGBQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAi KmBgYGBgYGBgYCI0YGBgYGBgYGAKLStNYGBgYGBgYGBgYGBgYDBgYGBgYGBgYGBgYGBgYGAwYGBg YChgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgCi0rTWBgYGAhVGBgYGBgYGBgYCFMYGBgYCEkYGBg YCpgYGBgYGBgYGBgQGBgYGBgYGBgYCZgYGBgYERgYGBgIwotK01gYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBDUGBgYGBgYGBgYChYYGBgYGBgYGBgYGBgYGBgYGAKLStNYGBgIWBgYGBgYGBg YGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBQYGBgMGBgCi0rTWBgYGBg YGBgYGBgYGBgYGBgYGBgYGBgYGBQYGBgUGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYFBgYAot K00hYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYFBgYCJgYGBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGAKLStNYFBgYCJAYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgUGBgIUBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgCi0rTWBgYGBgUGBgIlBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBQYGAj MGBgYGBgYGBgYGBgYGBgYGBgYAotK01gYGBgYGBgYGBQYGAhMGBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGAhJGBgYGBgYGBgYGBgYGBgYGBgYGAKLStNYGBgYGBgYGBgYGA7JGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgYGBgYFYkQGBgYDBgYGBgYGBgYCEoCi0rTWBgYGBgYGBgYCJgYGBgYF8kYGBg YGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAhNyRAYGBgMGBgYGBgYAotK01gYCE2YGBgYGBgYGBg IWBgYGAhSSRgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYCFZKEBgYGAwYGAKLStNYGBgYGBg IShgYGBgYGBgYGAiYGBgYCInKEBgYGAwYGBgYGBgYGAhKGBgYGBgYGBgYCJgYDdVXUw6NilDCi0r TTdWNU44NilMOTVdQTxXRU44Vi1BO0YtRTtgIT83VlFJOEYtPzkmRVM4NilMOTVdQTxXRU44Vi1B O0YtRQotK007YCE/N1ctRTsmNUM9YCE/N1ZRSThGLT87NzVMPSZFUDsmNT89JkFSOTYlRDxQIT83 Vy1FOyY1Qz0lXU4KLStNO1YtQTtGLUU7YCE/N1ctWTxWLUE7JlE/OTcpUjtXKGA3VV1MOjYpQzdX LUU7JjVDPWAhUzk2UUU4VzBgCi0rTWBgYGBgYGBgYGBgYCdgYGBgYEhgYGBgM2BgYGBgYGBgYGAo YGBgYGBgYGBgLUBgYGBgTGBgYGAzYGBgYAotK01gYGBgYGAoYGBgYGBgYGBgMkBgYGBgVGBgYGAz YGBgYGBgYGBgYChgYGBgYGBgYGA4QGBgYGBcYGBgYDMKLStNYGBgYGBgYGBgYChgYGBgYGBgYGAx QGBgYGAkYGBgYDZgYGBgYGBgYGBgYGBgYGBgYGBgYCFAYGBgYDRgCi0rTWBgYCRgYGBgYGBgYGBg YGBgYGBgYGBgYCNgYGBgYDhgYGBgJGBgYGBgYGBgYGBgYGBgYGBgYGBgJGBgYAotK01gYCRgYGBg NmBgYGBgYGBgYGBgYGBgYGBgYGBgJmBgYGBgJGBgYGA2YGBgYGBgYGBgJkBgYGBgYGBgYGAKLStN IUBgYGBgMGBgYGAkYGBgYGBgYGBgYGBgYGBgYGBgYGAkYGBgYGAkYGBgYDZgYGBgYGBgYGBgYGBg YGBgCi0rTGBgYGAoYGBgYGAkYGBgYCVgYGBgYGBgYGBgYGBgYGBgYGBgYC9gYGBgYCRgYGBgJWBg YGBgYGBgYCRAYAotK2AKLStlbmQKLUluZGV4OiBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9wcGM2NC1wcm9sb2d1ZS1za2lwLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gvcHBjNjQtcHJvbG9ndWUtc2tpcC5leHAgYi9nZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL3BwYzY0LXByb2xvZ3VlLXNraXAuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0 NAoraW5kZXggMDAwMDAwMDAwMC4uMmY1NGMxZjk4MQogLS0tIC9kZXYvbnVsbAotKysrIGdkYi03 LjYuMS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3BwYzY0LXByb2xvZ3VlLXNraXAuZXhwCisrKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3BwYzY0LXByb2xvZ3VlLXNraXAuZXhwCiBAQCAtMCww ICsxLDM0IEBACiArIyBDb3B5cmlnaHQgMjAxNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KICsKQEAgLTE1NSwxMCArNjMsMTEgQEAgSW5kZXg6IGdkYi03LjYuMS9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL3BwYzY0LXByb2xvZ3VlLXNraXAuZXhwCiArZ2RiX2xvYWQgJG9maWxlCiArCiAr Z2RiX3Rlc3QgImJyZWFrIF9fX25ld3NlbGVjdF9ub2NhbmNlbCIgIkJyZWFrcG9pbnQgJGRlY2lt YWwgYXQgMHhjOiBmaWxlIC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBsYXRlLlMsIGxpbmUg ODEuIiAiYnJlYWtwb2ludCBvbiBfX19uZXdzZWxlY3Rfbm9jYW5jZWwiCi1JbmRleDogZ2RiLTcu Ni4xL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcHBjNjQtcHJvbG9ndWUtc2tpcC5vLnV1Ci09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wcGM2NC1wcm9sb2d1 ZS1za2lwLm8udXUgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3BwYzY0LXByb2xvZ3VlLXNraXAu by51dQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjkxOTZiYmFjNDcK IC0tLSAvZGV2L251bGwKLSsrKyBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wcGM2 NC1wcm9sb2d1ZS1za2lwLm8udXUKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcHBjNjQt cHJvbG9ndWUtc2tpcC5vLnV1CiBAQCAtMCwwICsxLDcwIEBACiArYmVnaW4gNjQ0IHBwYzY0LXNr aXAtcHJvbG9ndWUuby51dQogK00/VDUsMUAoImAwYGBgYGBgYGBgYGBgYCFgITRgYGBgIWBgYGBg YGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAKQEAgLTIzMCwzICsxMzksMTE2IEBAIEluZGV4OiBnZGIt Ny42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wcGM2NC1wcm9sb2d1ZS1za2lwLm8udXUKICs2 YGBgYGBgYDxgYGBgYDBgYGAhSGBgYGBgYGBgYGBgYGAKICtgCiArZW5kCitkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9zMzkweC1wcm9sb2d1ZS1za2lwLmV4cCBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gvczM5MHgtcHJvbG9ndWUtc2tpcC5leHAKK25ldyBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCAwMDAwMDAwMDAwLi5kZjNhY2Y4YzAyCistLS0gL2Rldi9udWxsCisrKysgYi9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3MzOTB4LXByb2xvZ3VlLXNraXAuZXhwCitAQCAtMCwwICsx LDM0IEBACisrIyBDb3B5cmlnaHQgMjAxNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K KysKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor KyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisraWYgeyAhW2lzdGFyZ2V0IHMz OTB4LSpsaW51eC0qXSB8fCAhW2lzX2xwNjRfdGFyZ2V0XSB9IHsKKysgICAgdmVyYm9zZSAiU2tp cHBpbmcgczM5MHgtcHJvbG9ndWUtc2tpcC5leHAiCisrICAgIHJldHVybgorK30KKysKKytzZXQg dGVzdGZpbGUgInMzOTB4LXByb2xvZ3VlLXNraXAiCisrc2V0IHV1ZmlsZSAiJHtzcmNkaXJ9LyR7 c3ViZGlyfS8ke3Rlc3RmaWxlfS5vLnV1IgorK3NldCBvZmlsZSAiJHtzcmNkaXJ9LyR7c3ViZGly fS8ke3Rlc3RmaWxlfS5vIgorKworK2lmIHsgW2NhdGNoICJzeXN0ZW0gXCJ1dWRlY29kZSAtbyAk e29maWxlfSAke3V1ZmlsZX1cIiIgXSAhPSAwIH0geworKyAgICB1bnRlc3RlZCAiZmFpbGVkIHV1 ZGVjb2RlIgorKyAgICByZXR1cm4gLTEKKyt9CisrCisrZ2RiX2V4aXQKKytnZGJfc3RhcnQKKytn ZGJfbG9hZCAkb2ZpbGUKKysKKytnZGJfdGVzdCAiYnJlYWsgc2VsZWN0IiAiQnJlYWtwb2ludCAk ZGVjaW1hbCBhdCAweDQ4OiBmaWxlIC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBsYXRlLlMs IGxpbmUgODEuIiAiYnJlYWtwb2ludCBvbiBzZWxlY3QiCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYXJjaC9zMzkweC1wcm9sb2d1ZS1za2lwLm8udXUgYi9nZGIvdGVzdHN1aXRlL2dk Yi5hcmNoL3MzOTB4LXByb2xvZ3VlLXNraXAuby51dQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAuLjY0NDJlNjA0OGQKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gvczM5MHgtcHJvbG9ndWUtc2tpcC5vLnV1CitAQCAtMCwwICsxLDY0IEBA CisrYmVnaW4gNjQ0IHMzOTB4LXByb2xvZ3VlLXNraXAuby51dQorK00/VDUsMUAoImAwYGBgYGBg YGBgYGBgYCFgIThgYGBgIWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAKKytNYGArYGBgYGBg YCFgYGBgYGBgIWBgIShgI15MRVwhYGApLk8/XCZAYCkrRCRgLl5HXl9dQFheI1BgYGBECisrTVAu NGBgYGBgTjAwYGBOTEVcK2BgIWBKLk4wMGBUS0QkYCIjYFkwYGBgYCJZIWBgTVpdX1EiYGAkSV8w YAorK00iTGAwYGBgYGArXC8kYCJHPS9fNyJIWkcyP2AhTjIkYCksIlRgYGBgYGA/XmBgYGA1QGAi YGBgYC4wJCEKKytNXlBYLWBgJCFgMCRgYGBgIWBgYCErQlhPPFdFUzkmNVA8Ul1VO0ZFWGBgIVM+ Ny1DODZRTCs3MUU7NyFMCisrTTg3MUUrRSxgYDBgYGBgYClgQGBgYGBgYGBgYGBgXWBgYDApRiRQ KCJgYCQhYGBgYENQYCJgYGBgYGBAIQorK01gYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBOK0Jd Uz43LUQ5NyFTK1c1Tjo3QE88V0VTOFYlTDsiVVQKKytNOTZVUDsmJVQ5MlkzYCJdUjtWXVQrVj1M OjYpQytWPUw6NilDKzMoTiwzPE0tU0BOOTZQVytHLVI4Ul1HCisrTTsmRUI4UlRSK0MkVys2LFct M0FBLUNAVitWVUk8VixgMVRZNSgkJTMoIyhOLEMsTi0zKE4sIlhRYChgIQorK01gMSRgJGA4MWAx KCFgUEA7IiI0KCRQNGBgYGBgYGBgYGBgYGBgYGBgK2BgImBgYGBgYEBgYGBgYGBgYGAKKytNYGBg YGBgYGBgYGBgYGBgYGAmQGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAlYGBgYGBgIT5FKGBgN0Au CisrTWAxTCwjWmAhYGBgYGBgYGAmYGBgYCFQYGBgYGBgYGBgMWAhLENQNi4hSFQnMmBbYGBAYGBg IWBgYGBgWAorK01gYGBgYGBgYGAiYGBgYGBgYCJZUz42VVQ4NihgK0ctVDxHMUE4QGBOPFZBUz0n KVQ4NihgK0cpRTsmJE4KKytNPSY1WD1gYE45JiVUODBgTjhHLVNgIllOO1cxRStEPS41MlVTPSYl QzpQYE48RjVMODJZRDk2KVU5VV1MCisrTTo2WUVgIllSOTZRQStGMUU4RzVHN1ZFTjlGXGArRjFF OEc1RzdWJUI4RylFPUBgTjxGNUw4MllEOTYpVQorK005VV1BPEYlTjlWNVNgIllSOTZRQStGNUg3 VjlSODZVRWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAKKytNYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgCisrTWBgYGBgYGBgKGBg YGBgJGBgYGBgYGBgYCFAYGBgYGBgYGBgYGBgYGBgYGBgYCRgYGBgYGBgYGBgOmBgYAorK01gYGBg YGBgYGBgYGBgYGBgYGAwYGBgYGBgYGBgYGBgYGAhTGBgYGAkYGBgYGBgYGBgYGBgYGBgYGBgYGAK KytNYGBgYGBgYGBgYEZgYGBgYGBgYGBgJmBgYGBgMGBgYGBgMGBgYGBgYGBgYChgYGBgYGBgYGAh QGBgYGBGCisrTWBgYGBgMGBgYGBgYGBgYCNgYGBgYGBgYGBgYGBgYGBgYGBgYEpgYGBgYGBgYGBg YGBgYGBgYGBgYGBgYAorK01gYGBgYGBgYCFgYGBgYGBgYGBgYGBgYGArYGBgYGBAYGBgYGBgYGBg YFBgYGBgYGBgYGBgYGBgYGBgYGAKKytNYCpAYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg YDBgYGBgYGBgYGBgYGBgYCMkYGBgYCFgYGBgCisrTWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg IkhgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgIQorK01gYGBgYGBgYGBgYGBgYCEmYGBg YGAwYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgSmBgYGBgYGAKKytNYGAhOmBgYGBgYGBg YGBgYGBgYGBgYGBgYDBgYGBgYGBgYGBgYGBgYDAwYGBgYDBgYGBgYGBgYGBgYGBgCisrTWBgYGBg YGBgYGBgYGBgYGAiPmBgYGBgYGBgYGAmYGBgYCFgYGBgYCZgYGBgYGBgYGBgQGBgYGBgYGBgYAor K00mYGBgYCU8YGBgYCFgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAkImBgYGBgYGBgYCks YGBgYGAKKytNYGBgYGBgYGBgYGBgYGBgIWBgYGBgYGBgYGBgYGBgITJgYGBgIWBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgCisrTWBgYGBgYGApXmBgYGBgYGBgYCFAYGBgYCRgYGBgYEBgYGBgYGBgYGAi YGBgYGBgYGBgYDhgYGBgOFBgYAorK01gYCRgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGA5 NGBgYGBgYGBgYCVgYGBgYGBgYGBgYGBgYGAKKytNYGBgYGBgJGBgYGBgYGBgYGBgYGBgJzhgYGBg IWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYCZQCisrTWBgYGBgYGBgYCNgYGBgYGBgYGBg YGBgYGBgYGBgYGAwYGBgYGBgYGBgYGBgYGAhUWBgYGAhYGBgYGBgYAorK01gYGBgYGBgYGBgYGBg YGBgYGBgYGBgYCo2YGBgYGBgYGBgYFBgYGBgJGBgYGBgTGBgYGBgYGBgYCJgYGAKKytNYGBgYGBg YDhgYGBgQkBgYGBgJGBgYGBgYGBgYGBAYGBgYGBgYGBgYGBgYGBgYGBgYD5gYGBgYGBgYGBgCisr TTJgYGBgYGBgYGBgYGBgYGBgYGBgYGBAYGBgYGBgYGBgYGBgYGAoNGBgYGAkYGBgYGBgYGBgYGBg YGBgYAorK01gYGBgYGBgYGBgYGBgYEooYGBgYGBgYGBgI2BgYGBgMGBgYGAjMGBgYGBgYGBgYChg YGBgYGBgYGAhQGAKKytNYGBgMWBgYGBgUGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgIipg YGBgYGBgYGAiNGBgYGBgYGBgCisrTWBgYGBgYGBgYGBgYGAwYGBgYGBgYGBgYGBgYGBgMGBgYGAo YGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYAorK01gYGBgIVRgYGBgYGBgYGAhTGBgYGAhJGBgYGAq YGBgYGBgYGBgYEBgYGBgYGBgYGAmYGBgYGBEYGBgYCMKKytNYGBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgQ1BgYGBgYGBgYGAoWGBgYGBgYGBgYGBgYGBgYGBgCisrTWBgYCFgYGBgYGBgYGBg YGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgUGBgYDBgYAorK01gYGBgYGBg YGBgYGBgYGBgYGBgYGBgYGBgUGBgYFBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBQYGAKKytN IWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBQYGAiYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgCisrTWBQYGAiQGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYFBgYCFAYGBgYGBgYGBgYGBg YGBgYGBgYGBgYAorK01gYGBgYFBgYCJQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgUGBgIzBg YGBgYGBgYGBgYGBgYGBgYGAKKytNYGBgYGBgYGBgUGBgITBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgISRgYGBgYGBgYGBgYGBgYGBgYGBgCisrTWBgYGBgYGBgYGBgOyRgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgYGBWJEBgYGAwYGBgYGBgYGAhKAorK01gYGBgYGBgYGAiYGBgYGBfJGBgYGBg YGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgITckQGBgYDBgYGBgYGAKKytNYGAhNmBgYGBgYGBgYCFg YGBgIUkkYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAhWShAYGBgMGBgCisrTWBgYGBgYCEo YGBgYGBgYGBgImBgYGAiJyhAYGBgMGBgYGBgYGBgIShgYGBgYGBgYGAiYGA3VV1MOjYpQworK003 VjVOODYpTDk1XUE8V0VOOFYtQTtGLUU7YCE/N1ZRSThGLT85JkVTODYpTDk1XUE8V0VOOFYtQTtG LUUKKytNO2AhPzdXLUU7JjVDPWAhPzdWUUk4Ri0/Ozc1TD0mRVA7JjU/PSZBUjk2JUQ8UCE/N1ct RTsmNUM9JV1OCisrTTtWLUE7Ri1FO2AhPzdXLVk8Vi1BOyZRPzk3KVI7VyhgN1VdTDo2KUM3Vy1F OyY1Qz1gIVM5NlFFOFcwYAorK01gYGBgYGBgYGBgYGAnYGBgYGBIYGBgYDNgYGBgYGBgYGBgKGBg YGBgYGBgYC1AYGBgYExgYGBgM2BgYGAKKytNYGBgYGBgKGBgYGBgYGBgYDJAYGBgYFRgYGBgM2Bg YGBgYGBgYGAoYGBgYGBgYGBgOEBgYGBgXGBgYGAzCisrTWBgYGBgYGBgYGAoYGBgYGBgYGBgMUBg YGBgJGBgYGA2YGBgYGBgYGBgYGBgYGBgYGBgYGAhQGBgYGA0YAorK01gYGAkYGBgYGBgYGBgYGBg YGBgYGBgYGAjYGBgYGA4YGBgYCRgYGBgYGBgYGBgYGBgYGBgYGBgYCRgYGAKKytNYGAkYGBgYDZg YGBgYGBgYGBgYGBgYGBgYGBgYCZgYGBgYCRgYGBgNmBgYGBgYGBgYCZAYGBgYGBgYGBgCisrTSFA YGBgYDBgYGBgJGBgYGBgYGBgYGBgYGBgYGBgYGBgJGBgYGBgJGBgYGA2YGBgYGBgYGBgYGBgYGBg YAorK0xgYGBgKGBgYGBgJGBgYGAlYGBgYGBgYGBgYGBgYGBgYGBgYGAvYGBgYGAkYGBgYCVgYGBg YGBgYGAkQGAKKytgCisrZW5kCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnox MTQ5MjA1LWNhdGNoLXN5c2NhbGwtYWZ0ZXItZm9yay10ZXN0LnBhdGNoIGIvZ2RiLXJoYnoxMTQ5 MjA1LWNhdGNoLXN5c2NhbGwtYWZ0ZXItZm9yay10ZXN0LnBhdGNoCmluZGV4IDI1NmZmOTAuLjZi YWMyNDMgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6MTE0OTIwNS1jYXRjaC1zeXNjYWxsLWFmdGVyLWZv cmstdGVzdC5wYXRjaAorKysgYi9nZGItcmhiejExNDkyMDUtY2F0Y2gtc3lzY2FsbC1hZnRlci1m b3JrLXRlc3QucGF0Y2gKQEAgLTEsOSArMSwxNCBAQAorRnJvbSAyZWY1NDMxYTM2OWEyNzY4NDM3 NjU5Y2FiNjQ0YmJkOTgzZjNlZGMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVk b3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIw MTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1yaGJ6MTE0OTIwNS1jYXRjaC1zeXNjYWxs LWFmdGVyLWZvcmstdGVzdC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLXJoYnoxMTQ5MjA1LWNhdGNo LXN5c2NhbGwtYWZ0ZXItZm9yay10ZXN0LnBhdGNoCiAKKzs7IEZpeCAnYGNhdGNoIHN5c2NhbGwn IGRvZXNuJ3Qgd29yayBmb3IgcGFyZW50IGFmdGVyIGBmb3JrJyBpcyBjYWxsZWQnCis7OyAoUGhp bGlwcGUgV2Fyb3F1aWVycywgUkggQlogMTE0OTIwNSkuCis7Oz1mZWRvcmF0ZXN0CisKIFVSTDog PGh0dHBzOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMy0wNS9tc2cwMDM2NC5o dG1sPgogTWVzc2FnZS1JRDogPDEzNjgxMzY1ODIuMzAwNTguNy5jYW1lbEBzb2xlaWw+CiAKQEAg LTM4LDExICs0MywxOCBAQCBBdXRob3I6IFBoaWxpcHBlIFdhcm9xdWllcnMgPHBoaWxpcHBlQHNv dXJjZXdhcmUub3JnPgogRGF0ZTogICBUdWUgTWF5IDIxIDE4OjQ3OjA1IDIwMTMgKzAwMDAKIAog ICAgIEZpeCBpbnRlcm5hbCBlcnJvciBjYXVzZWQgYnkgaW50ZXJhY3Rpb24gYmV0d2VlbiBjYXRj aCBzaWduYWwgYW5kIGZvcmsKKy0tLQorIC4uLi9nZGIuYmFzZS9nZGItcmhiejExNDkyMDUtY2F0 Y2gtc3lzY2FsbC1mb3JrLmMgIHwgMTEgKysrKworIC4uLi9nZGItcmhiejExNDkyMDUtY2F0Y2gt c3lzY2FsbC1mb3JrLmV4cCAgICAgICAgIHwgNTggKysrKysrKysrKysrKysrKysrKysrKworIDIg ZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE0OTIwNS1jYXRjaC1zeXNjYWxsLWZvcmsuYwor IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE0OTIw NS1jYXRjaC1zeXNjYWxsLWZvcmsuZXhwCiAKLUluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2dkYi1yaGJ6MTE0OTIwNS1jYXRjaC1zeXNjYWxsLWZvcmsuYwotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysr IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5 c2NhbGwtZm9yay5jCTIwMTYtMTAtMjAgMjE6MDM6MDkuNTg0MjcyNjk1ICswMjAwCitkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nZGItcmhiejExNDkyMDUtY2F0Y2gtc3lzY2Fs bC1mb3JrLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE0OTIwNS1jYXRjaC1z eXNjYWxsLWZvcmsuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjk0 NzI1OGUyMmYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2Ri LXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwtZm9yay5jCiBAQCAtMCwwICsxLDExIEBACiArI2lu Y2x1ZGUgPHN0ZGlvLmg+CiArI2luY2x1ZGUgPHVuaXN0ZC5oPgpAQCAtNTUsMTAgKzY3LDExIEBA IEluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE0OTIwNS1j YXRjaC1zeXNjYWxsLWZvcmsuYwogKyAgY2hkaXIgKCIuIik7CiArICByZXR1cm4gMDsKICt9Ci1J bmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nZGItcmhiejExNDkyMDUtY2F0 Y2gtc3lzY2FsbC1mb3JrLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwtZm9yay5leHAJMjAxNi0xMC0yMCAy MTowNDoxMy4zMzc3NzExNzQgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2dkYi1yaGJ6MTE0OTIwNS1jYXRjaC1zeXNjYWxsLWZvcmsuZXhwIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9nZGItcmhiejExNDkyMDUtY2F0Y2gtc3lzY2FsbC1mb3JrLmV4cAorbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjk2ZDMxZDcwMTgKKy0tLSAvZGV2L251 bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5 c2NhbGwtZm9yay5leHAKIEBAIC0wLDAgKzEsNTggQEAKICsjIENvcHlyaWdodCAyMDE1IEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTE4LDMgKzEzMSw2IEBAIEluZGV4OiBn ZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE0OTIwNS1jYXRjaC1zeXNj YWxsLWZvcmsuZXhwCiArZ2RiX3Rlc3QgImNvbnRpbnVlIiBcCiArICAiQ29udGludWluZ1wuXHJc bi4qXHJcbkNhdGNocG9pbnQgJGRlY2ltYWwgXFxcKGNhbGwgdG8gc3lzY2FsbCAuP2NoZGlyLj8u KiIgXAogKyAgImNvbnRpbnVlIGZyb20gY2F0Y2ggc3lzY2FsbCBhZnRlciBmb3JrIgorLS0gCisy LjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLXRl c3QucGF0Y2ggYi9nZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi10ZXN0LnBhdGNoCmlu ZGV4IDM0OTdiNjcuLjlkOTM1ODggMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNp dmUtZGxvcGVuLXRlc3QucGF0Y2gKKysrIGIvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9w ZW4tdGVzdC5wYXRjaApAQCAtMSwxMyArMSwyOSBAQAorRnJvbSA0YTk3MDlkNzQ1YWVhOTAwYzE5 NTU0ZjUxY2Y1MjY4MDBkYjAyMGRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVk b3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIw MTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxv cGVuLXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxv cGVuLXRlc3QucGF0Y2gKIAotSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv Z2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4tbGliYmFyLmMKLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGIt Ny4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxv cGVuLWxpYmJhci5jCTIwMTYtMTAtMjIgMjI6MTA6MTMuMjYyNjM0MTQ0ICswMjAwCis7OyBUZXN0 Y2FzZSBmb3IgJ1tTQVBdIFJlY3Vyc2l2ZSBkbG9wZW4gY2F1c2VzIFNBUCBIQU5BIGluc3RhbGxl ciB0bworOzsgY3Jhc2guJyAoUkggQlogMTE1NjE5MikuCis7Oz1mZWRvcmF0ZXN0CistLS0KKyAu Li4vZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4tbGliYmFyLmMgICAgICB8ICAzMCAr KysrKworIC4uLi9nZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi1saWJmb28uYyAgICAg IHwgIDMwICsrKysrCisgLi4uL2dkYi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxv cGVuLmMgICAgfCAxMjQgKysrKysrKysrKysrKysrKysrKworIC4uLi9nZGIuYmFzZS9nZGItcmhi ejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi5leHAgIHwgMTM3ICsrKysrKysrKysrKysrKysrKysr KworIDQgZmlsZXMgY2hhbmdlZCwgMzIxIGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Bl bi1saWJiYXIuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dk Yi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLWxpYmZvby5jCisgY3JlYXRlIG1vZGUgMTAw NjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9w ZW4uYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6 MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLmV4cAorCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9nZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi1saWJiYXIuYyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4tbGli YmFyLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi42ZWNmNTBkMmFk CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE1 NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLWxpYmJhci5jCiBAQCAtMCwwICsxLDMwIEBACiArLyogVGVz dGNhc2UgZm9yIHJlY3Vyc2l2ZSBkbG9wZW4gY2FsbHMuCiArCkBAIC0zOSwxMCArNTUsMTEgQEAg SW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJl Y3Vyc2l2ZS1kbG9wZW4tbGliYmFyLmMKICt7CiArICBwcmludGYgKCJDYWxsZWQgYmFyLlxuIik7 CiArfQotSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2 MTkyLXJlY3Vyc2l2ZS1kbG9wZW4tbGliZm9vLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLWxpYmZvby5j CTIwMTYtMTAtMjIgMjI6MTA6MTMuMjYyNjM0MTQ0ICswMjAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9nZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi1saWJmb28u YyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9w ZW4tbGliZm9vLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5lNDUy MzkzM2RiCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1y aGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLWxpYmZvby5jCiBAQCAtMCwwICsxLDMwIEBACiAr LyogVGVzdGNhc2UgZm9yIHJlY3Vyc2l2ZSBkbG9wZW4gY2FsbHMuCiArCkBAIC03NCwxMCArOTEs MTEgQEAgSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2 MTkyLXJlY3Vyc2l2ZS1kbG9wZW4tbGliZm9vLmMKICt7CiArICBwcmludGYgKCJDYWxsZWQgZm9v LlxuIik7CiArfQotSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJo YnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4uYwkyMDE2LTEw LTIyIDIyOjEwOjEzLjI2MjYzNDE0NCArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4uYyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4uYworbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjE3YjI5OTA0ZWYKKy0tLSAvZGV2L251bGwK KysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1k bG9wZW4uYwogQEAgLTAsMCArMSwxMjQgQEAKICsvKiBUZXN0Y2FzZSBmb3IgcmVjdXJzaXZlIGRs b3BlbiBjYWxscy4KICsKQEAgLTIwMywxMCArMjIxLDExIEBAIEluZGV4OiBnZGItNy4xMi9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLmMKICsK ICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLmV4cAotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEy L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4u ZXhwCTIwMTYtMTAtMjQgMjM6MjE6NTguMDQzMDY0MTc3ICswMjAwCitkaWZmIC0tZ2l0IGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9nZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi5leHAg Yi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVu LmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjJjMzI2NzZlNTAK Ky0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2 MTkyLXJlY3Vyc2l2ZS1kbG9wZW4uZXhwCiBAQCAtMCwwICsxLDEzNyBAQAogKyMgQ29weXJpZ2h0 IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIwpAQCAtMzQ1LDMgKzM2NCw2 IEBAIEluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE1NjE5 Mi1yZWN1cnNpdmUtZGxvcGVuLmV4cAogK30KICsKICt0ZXN0X3N0b3Bfb25fc29saWJfZXZlbnRz CistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxMTg2NDc2LWludGVybmFsLWVy cm9yLXVucXVhbGlmaWVkLW5hbWUtcmUtc2V0LXRlc3QucGF0Y2ggYi9nZGItcmhiejExODY0NzYt aW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQtdGVzdC5wYXRjaAppbmRleCBk YjA5M2M2Li41ZDdjODkwIDEwMDY0NAotLS0gYS9nZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJy b3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQtdGVzdC5wYXRjaAorKysgYi9nZGItcmhiejExODY0 NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQtdGVzdC5wYXRjaApAQCAt MSw5ICsxLDE1IEBACitGcm9tIDhhMTY5ZDVmYmUwNTc2NWRlY2VmZDdmMzM2OTFkNTdmZWM5NjMy MTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGlu dmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAog U3ViamVjdDogZ2RiLXJoYnoxMTg2NDc2LWludGVybmFsLWVycm9yLXVucXVhbGlmaWVkLW5hbWUt cmUtc2V0LXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1l cnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC10ZXN0LnBhdGNoCiAKKzs7IEZpeCAnYmFja3Bv cnQgR0RCIDcuNCBmaXggdG8gUkhFTCA2LjYgR0RCJyBbT3JpZ2luYWwgU291cmNld2FyZSBidWcK Kzs7IGRlc2NyaXB0aW9uOiAnQysrIChhbmQgb2JqYyk6IEludGVybmFsIGVycm9yIG9uIHVucXVh bGlmaWVkIG5hbWUKKzs7IHJlLXNldCcsIFBSIDExNjU3XSAoUkggQlogMTE4NjQ3NikuCis7Oz1m ZWRvcmF0ZXN0CisKIENvbW1lbnRzIGZyb20gU2VyZ2lvIER1cmlnYW4gSnVuaW9yOgogCiAgIFRo ZSAicHJvcGVyIiBmaXggZm9yIHRoaXMgd2hvbGUgcHJvYmxlbSB3b3VsZCBiZSB0byBiYWNrcG9y dCB0aGUKQEAgLTE0LDExICsyMCwyMCBAQCBDb21tZW50cyBmcm9tIFNlcmdpbyBEdXJpZ2FuIEp1 bmlvcjoKICAgYWxsb3dzIHRoZSB1c2VyIHRvIGNvbnRpbnVlIHRoZSBkZWJ1Z2dpbmcgc2Vzc2lv biksIGFuZCB0ZWxsIHRoZQogICB1c2VyIHRoYXQsIGFsdGhvdWdoIG1vcmUgdGhhbiBvbmUgbG9j YXRpb24gd2FzIGZvdW5kIGZvciBoaXMvaGVyCiAgIGJyZWFrcG9pbnQsIG9ubHkgb25lIHdpbGwg YmUgdXNlZC4KKy0tLQorIC4uLi1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNl dC1tYWluLmNjIHwgMjIgKysrKysrKysrKworIC4uLjg2NDc2LWludGVybmFsLWVycm9yLXVucXVh bGlmaWVkLW5hbWUtcmUtc2V0LmNjIHwgMjYgKysrKysrKysrKysKKyAuLi42NDc2LWludGVybmFs LWVycm9yLXVucXVhbGlmaWVkLW5hbWUtcmUtc2V0LmV4cCB8IDUxICsrKysrKysrKysrKysrKysr KysrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDk5IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAx MDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiLXJoYnoxMTg2NDc2LWludGVybmFsLWVycm9y LXVucXVhbGlmaWVkLW5hbWUtcmUtc2V0LW1haW4uY2MKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Ri L3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiLXJoYnoxMTg2NDc2LWludGVybmFsLWVycm9yLXVucXVhbGlm aWVkLW5hbWUtcmUtc2V0LmNjCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2Ri LmNwL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNl dC5leHAKIAotSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYi1yaGJ6MTE4 NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC1tYWluLmNjCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiLXJoYnoxMTg2NDc2LWludGVy bmFsLWVycm9yLXVucXVhbGlmaWVkLW5hbWUtcmUtc2V0LW1haW4uY2MJMjAxNi0xMC0yMCAyMTow NjozMS44NDk4NTQxODAgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9n ZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQtbWFp bi5jYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJv ci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC1tYWluLmNjCituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMDAwMC4uMWM5ZjhlYWJjMQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuY3AvZ2RiLXJoYnoxMTg2NDc2LWludGVybmFsLWVycm9yLXVucXVhbGlmaWVk LW5hbWUtcmUtc2V0LW1haW4uY2MKIEBAIC0wLDAgKzEsMjIgQEAKICsvKiBUaGlzIHRlc3RjYXNl IGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtNDIsMTAgKzU3LDExIEBA IEluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9nZGItcmhiejExODY0NzYtaW50 ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtCiArewogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdk Yi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJv ci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC5jYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyL2dkYi90ZXN0 c3VpdGUvZ2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1u YW1lLXJlLXNldC5jYwkyMDE2LTEwLTIwIDIxOjA2OjMxLjg1MDg1NDE4OCArMDIwMAorZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJv ci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC5jYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYi1y aGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC5jYworbmV3 IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjAwNzg1NGIwYzQKKy0tLSAvZGV2 L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5h bC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC5jYwogQEAgLTAsMCArMSwyNiBAQAogKy8q IFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC03 MywxMCArODksMTEgQEAgSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYi1y aGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC0KICsKICtDIGE7CiArQyBiICgx KTsKLUluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9nZGItcmhiejExODY0NzYt aW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQuZXhwCi09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2Ri LTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiLXJoYnoxMTg2NDc2LWludGVybmFsLWVycm9y LXVucXVhbGlmaWVkLW5hbWUtcmUtc2V0LmV4cAkyMDE2LTEwLTIwIDIxOjA5OjMzLjQwODI3MDUy NiArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYi1yaGJ6MTE4NjQ3 Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC5leHAgYi9nZGIvdGVzdHN1 aXRlL2dkYi5jcC9nZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFt ZS1yZS1zZXQuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMTli MjUzMDk2OQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiLXJo YnoxMTg2NDc2LWludGVybmFsLWVycm9yLXVucXVhbGlmaWVkLW5hbWUtcmUtc2V0LmV4cAogQEAg LTAsMCArMSw1MSBAQAogKyMgQ29weXJpZ2h0IDIwMTUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCiArCkBAIC0xMjksMyArMTQ2LDYgQEAgSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3Vp dGUvZ2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC0KICtn ZGJfdGVzdCAicnVuIgogKwogK2dkYl90ZXN0ICJpbmZvIGJyZWFrIiAiIGluIEM6OkNcXChcXCkg YXQgLiogaW4gQzo6Q1xcKGludFxcKSBhdCAuKiIKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQg YS9nZGItcmhiejEyMjg1NTYtYnB0LWlubGluZWQtZnVuYy1uYW1lLTFvZjIucGF0Y2ggYi9nZGIt cmhiejEyMjg1NTYtYnB0LWlubGluZWQtZnVuYy1uYW1lLTFvZjIucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDY2YjVmOTEuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxMjI4NTU2 LWJwdC1pbmxpbmVkLWZ1bmMtbmFtZS0xb2YyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTQy ICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1E YXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejEy Mjg1NTYtYnB0LWlubGluZWQtZnVuYy1uYW1lLTFvZjIucGF0Y2gKLQotRmlsZU5hbWU6IGdkYi1y aGJ6MTIyODU1Ni1icHQtaW5saW5lZC1mdW5jLW5hbWUtMW9mMi5wYXRjaAotCi1jb21taXQgMDY4 NzFhZTg0MDk2ZWQxNjcyZWI3NmY0NGNlYTRkNWRiZTc5YWUyNAotQXV0aG9yOiBQZWRybyBBbHZl cyA8cGFsdmVzQHJlZGhhdC5jb20+Ci1EYXRlOiAgIFdlZCBTZXAgMjAgMTY6MTI6NTQgMjAxNyAr MDEwMAotCi0gICAgTWFrZSAibGlzdCBhbWJpZ3VvdXMiIHNob3cgc3ltYm9sIG5hbWVzIHRvbwot ICAgIAotICAgIEN1cnJlbnRseSwgd2l0aCBhbiBhbWJpZ3VvdXMgImxpc3QgZmlyc3QsbGFzdCIs IHdlIGdldDoKLSAgICAKLSAgICAgIChnZGIpIGxpc3QgYmFyLG1haW4KLSAgICAgIFNwZWNpZmll ZCBmaXJzdCBsaW5lICdiYXInIGlzIGFtYmlndW91czoKLSAgICAgIGZpbGU6ICJzcmMvZ2RiL3Rl c3RzdWl0ZS9nZGIuY3Avb3ZlcmxvYWQuY2MiLCBsaW5lIG51bWJlcjogOTcKLSAgICAgIGZpbGU6 ICJzcmMvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3Avb3ZlcmxvYWQuY2MiLCBsaW5lIG51bWJlcjogOTgK LSAgICAKLSAgICBUaGlzIGNvbW1pdCBtYWtlcyBnZGIncyBvdXRwdXQgYWJvdmUgYSBiaXQgY2xl YXJlciBieSBwcmludGluZyB0aGUKLSAgICBzeW1ib2wgbmFtZSBhcyB3ZWxsOgotICAgIAotICAg ICAgKGdkYikgbGlzdCBiYXIsbWFpbgotICAgICAgU3BlY2lmaWVkIGZpcnN0IGxpbmUgJ2Jhcicg aXMgYW1iaWd1b3VzOgotICAgICAgZmlsZTogInNyYy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9vdmVy bG9hZC5jYyIsIGxpbmUgbnVtYmVyOiA5Nywgc3ltYm9sOiAiYmFyKEEpIgotICAgICAgZmlsZTog InNyYy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9vdmVybG9hZC5jYyIsIGxpbmUgbnVtYmVyOiA5OCwg c3ltYm9sOiAiYmFyKEIpIgotICAgIAotICAgIEFuZCB3aGlsZSBhdCBpdCwgbWFrZXMgZ2RiIHBy aW50IHRoZSBzeW1ib2wgbmFtZSB3aGVuIGFjdHVhbGx5IGxpc3RpbmcKLSAgICBtdWx0aXBsZSBs b2NhdGlvbnMgdG9vLiAgSS5lLiwgYmVmb3JlICh3aXRoICJzZXQgbGlzdHNpemUgMiIpOgotICAg IAotICAgICAgKGdkYikgbGlzdCBiYXIKLSAgICAgIGZpbGU6ICJzcmMvZ2RiL3Rlc3RzdWl0ZS9n ZGIuY3Avb3ZlcmxvYWQuY2MiLCBsaW5lIG51bWJlcjogOTcKLSAgICAgIDk2Ci0gICAgICA5NyAg ICAgIGludCBiYXIgKEEpIHsgcmV0dXJuIDExOyB9Ci0gICAgICBmaWxlOiAic3JjL2dkYi90ZXN0 c3VpdGUvZ2RiLmNwL292ZXJsb2FkLmNjIiwgbGluZSBudW1iZXI6IDk4Ci0gICAgICA5NyAgICAg IGludCBiYXIgKEEpIHsgcmV0dXJuIDExOyB9Ci0gICAgICA5OCAgICAgIGludCBiYXIgKEIpIHsg cmV0dXJuIDIyOyB9Ci0gICAgCi0gICAgQWZ0ZXI6Ci0gICAgCi0gICAgICAoZ2RiKSBsaXN0IGJh cgotICAgICAgZmlsZTogInNyYy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9vdmVybG9hZC5jYyIsIGxp bmUgbnVtYmVyOiA5Nywgc3ltYm9sOiAiYmFyKEEpIgotICAgICAgOTYKLSAgICAgIDk3ICAgICAg aW50IGJhciAoQSkgeyByZXR1cm4gMTE7IH0KLSAgICAgIGZpbGU6ICJzcmMvZ2RiL3Rlc3RzdWl0 ZS9nZGIuY3Avb3ZlcmxvYWQuY2MiLCBsaW5lIG51bWJlcjogOTgsIHN5bWJvbDogImJhcihCKSIK LSAgICAgIDk3ICAgICAgaW50IGJhciAoQSkgeyByZXR1cm4gMTE7IH0KLSAgICAgIDk4ICAgICAg aW50IGJhciAoQikgeyByZXR1cm4gMjI7IH0KLSAgICAKLSAgICBDdXJyZW50bHksIHRoZSByZXN1 bHQgb2YgZGVjb2RpbmcgYSBsaW5lc3BlYyBsb3NlcyBpbmZvcm1hdGlvbiBhYm91dAotICAgIHRo ZSBvcmlnaW5hbCBzeW1ib2wgdGhhdCB3YXMgZm91bmQuICBBbGwgd2UgZW5kIHVwIHdpdGggaXMg YW4gYWRkcmVzcy4KLSAgICBUaGlzIG1ha2VzIGl0IGRpZmZpY3VsdCB0byBmaW5kIHRoZSBvcmln aW5hbCBzeW1ib2wgYWdhaW4gdG8gZ2V0IGF0Ci0gICAgaXRzIHByaW50IG5hbWUuICBGaXggdGhh dCBieSBzdG9yaW5nIGEgcG9pbnRlciB0byB0aGUgc3ltYm9sIGluIHRoZQotICAgIHNhbC4gIFdl IGFscmVhZHkgc3RvcmUgdGhlIHN5bXRhYiBhbmQgb2JqX3NlY3Rpb24sIHNvIGl0IGZlZWxzIGxp a2UgYQotICAgIG5hdHVyYWwgcHJvZ3Jlc3Npb24gdG8gbWUuICBUaGlzIGF2b2lkcyBoYXZpbmcg dG8gZG8gYW55IGV4dHJhIHN5bWJvbAotICAgIGxvb2t1cCB0b28uCi0gICAgCi0gICAgZ2RiL0No YW5nZUxvZzoKLSAgICAyMDE3LTA5LTIwICBQZWRybyBBbHZlcyAgPHBhbHZlc0ByZWRoYXQuY29t PgotICAgIAotICAgICAgICAgICAgKiBjbGkvY2xpLWNtZHMuYyAobGlzdF9jb21tYW5kKTogVXNl IHByaW50X3NhbF9sb2NhdGlvbi4KLSAgICAgICAgICAgIChwcmludF9zYWxfbG9jYXRpb24pOiBO ZXcgZnVuY3Rpb24uCi0gICAgICAgICAgICAoYW1iaWd1b3VzX2xpbmVfc3BlYyk6IFVzZSBwcmlu dF9zYWxfbG9jYXRpb24uCi0gICAgICAgICAgICAqIGxpbmVzcGVjLmMgKHN5bWJvbF90b19zYWwp OiBSZWNvcmQgdGhlIHN5bWJvbCBpbiB0aGUgc2FsLgotICAgICAgICAgICAgKiBzeW10YWIuYyAo ZmluZF9mdW5jdGlvbl9zdGFydF9zYWwpOiBMaWtld2lzZS4KLSAgICAgICAgICAgICogc3ltdGFi LmggKHN5bXRhYl9hbmRfbGluZTo6c3ltYm9sKTogTmV3IGZpZWxkLgotICAgIAotICAgIGdkYi90 ZXN0c3VpdGUvQ2hhbmdlTG9nOgotICAgIDIwMTctMDktMjAgIFBlZHJvIEFsdmVzICA8cGFsdmVz QHJlZGhhdC5jb20+Ci0gICAgCi0gICAgICAgICAgICAqIGdkYi5iYXNlL2xpc3QtYW1iaWd1b3Vz LmV4cCAodGVzdF9saXN0X2FtYmlndW91c19zeW1ib2wpOiBFeHBlY3QKLSAgICAgICAgICAgIHN5 bWJvbCBuYW1lcyBpbiBnZGIncyBvdXRwdXQuCi0gICAgICAgICAgICAqIGdkYi5jcC9vdmVybG9h ZC5leHAgKCJsaXN0IGFsbCBvdmVybG9hZHMiKTogTGlrZXdpc2UuCi0KLSMjIyBhL2dkYi9DaGFu Z2VMb2cKLSMjIyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTQgQEAKLSAyMDE3LTA5LTIw ICBQZWRybyBBbHZlcyAgPHBhbHZlc0ByZWRoYXQuY29tPgotIAotKwkqIGNsaS9jbGktY21kcy5j IChsaXN0X2NvbW1hbmQpOiBVc2UgcHJpbnRfc2FsX2xvY2F0aW9uLgotKwkocHJpbnRfc2FsX2xv Y2F0aW9uKTogTmV3IGZ1bmN0aW9uLgotKwkoYW1iaWd1b3VzX2xpbmVfc3BlYyk6IFVzZSBwcmlu dF9zYWxfbG9jYXRpb24uCi0rCSogbGluZXNwZWMuYyAoc3ltYm9sX3RvX3NhbCk6IFJlY29yZCB0 aGUgc3ltYm9sIGluIHRoZSBzYWwuCi0rCSogc3ltdGFiLmMgKGZpbmRfZnVuY3Rpb25fc3RhcnRf c2FsKTogTGlrZXdpc2UuCi0rCSogc3ltdGFiLmggKHN5bXRhYl9hbmRfbGluZTo6c3ltYm9sKTog TmV3IGZpZWxkLgotKwotKzIwMTctMDktMjAgIFBlZHJvIEFsdmVzICA8cGFsdmVzQHJlZGhhdC5j b20+Ci0rCi0gCSogbGluZXNwZWMuYyAobWluc3ltX2ZvdW5kKTogSGFuZGxlIG5vbi10ZXh0IG1p bnN5bXMuCi0gCShzeW1ib2xfdG9fc2FsKTogUmVjb3JkIGEgc2FsLnBjIGZvciBub24tYmxvY2ss IG5vbi1sYWJlbCBzeW1ib2xzLgotIAotSW5kZXg6IGdkYi04LjAuMS9nZGIvbGluZXNwZWMuYwot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi04LjAuMS5vcmlnL2dkYi9saW5lc3BlYy5jCTIwMTctMTAtMjAg MjE6Mjg6MTguNDQ0NjA5Nzc2ICswMjAwCi0rKysgZ2RiLTguMC4xL2dkYi9saW5lc3BlYy5jCTIw MTctMTAtMjAgMjE6Mjk6MTIuMzgyMDk0MTA0ICswMjAwCi1AQCAtMzg2NCw2ICszODY0LDcgQEAK LSAJewotIAkgIGluaXRfc2FsIChyZXN1bHQpOwotIAkgIHJlc3VsdC0+c3ltdGFiID0gc3ltYm9s X3N5bXRhYiAoc3ltKTsKLSsJICByZXN1bHQtPnN5bWJvbCA9IHN5bTsKLSAJICByZXN1bHQtPmxp bmUgPSBTWU1CT0xfTElORSAoc3ltKTsKLSAJICByZXN1bHQtPnBjID0gU1lNQk9MX1ZBTFVFX0FE RFJFU1MgKHN5bSk7Ci0gCSAgcmVzdWx0LT5wc3BhY2UgPSBTWU1UQUJfUFNQQUNFIChyZXN1bHQt PnN5bXRhYik7Ci1AQCAtMzg3OSw2ICszODgwLDcgQEAKLSAJICAvKiBXZSBrbm93IGl0cyBsaW5l IG51bWJlci4gICovCi0gCSAgaW5pdF9zYWwgKHJlc3VsdCk7Ci0gCSAgcmVzdWx0LT5zeW10YWIg PSBzeW1ib2xfc3ltdGFiIChzeW0pOwotKwkgIHJlc3VsdC0+c3ltYm9sID0gc3ltOwotIAkgIHJl c3VsdC0+bGluZSA9IFNZTUJPTF9MSU5FIChzeW0pOwotIAkgIHJlc3VsdC0+cHNwYWNlID0gU1lN VEFCX1BTUEFDRSAocmVzdWx0LT5zeW10YWIpOwotIAkgIHJldHVybiAxOwotSW5kZXg6IGdkYi04 LjAuMS9nZGIvc3ltdGFiLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLjEub3JpZy9nZGIvc3lt dGFiLmMJMjAxNy0xMC0yMCAyMToyODoxOC40NDY2MDk3OTQgKzAyMDAKLSsrKyBnZGItOC4wLjEv Z2RiL3N5bXRhYi5jCTIwMTctMTAtMjAgMjE6Mjk6NTEuMzkwNDQ0Mzc3ICswMjAwCi1AQCAtMzQ3 OCw2ICszNDc4LDcgQEAKLSAgIGZpeHVwX3N5bWJvbF9zZWN0aW9uIChzeW0sIE5VTEwpOwotICAg c2VjdGlvbiA9IFNZTUJPTF9PQkpfU0VDVElPTiAoc3ltYm9sX29iamZpbGUgKHN5bSksIHN5bSk7 Ci0gICBzYWwgPSBmaW5kX3BjX3NlY3RfbGluZSAoQkxPQ0tfU1RBUlQgKFNZTUJPTF9CTE9DS19W QUxVRSAoc3ltKSksIHNlY3Rpb24sIDApOwotKyAgc2FsLnN5bWJvbCA9IHN5bTsKLSAKLSAgIGlm IChmdW5maXJzdGxpbmUgJiYgc2FsLnN5bXRhYiAhPSBOVUxMCi0gICAgICAgJiYgKENPTVBVTklU X0xPQ0FUSU9OU19WQUxJRCAoU1lNVEFCX0NPTVBVTklUIChzYWwuc3ltdGFiKSkKLUBAIC0zNTAx LDYgKzM1MDIsNyBAQAotICAgICAgIHNhbC5wc3BhY2UgPSBjdXJyZW50X3Byb2dyYW1fc3BhY2U7 Ci0gICAgICAgc2FsLnBjID0gQkxPQ0tfU1RBUlQgKFNZTUJPTF9CTE9DS19WQUxVRSAoc3ltKSk7 Ci0gICAgICAgc2FsLnNlY3Rpb24gPSBzZWN0aW9uOwotKyAgICAgIHNhbC5zeW1ib2wgPSBzeW07 Ci0gICAgIH0KLSAKLSAgIGlmIChmdW5maXJzdGxpbmUpCi1JbmRleDogZ2RiLTguMC4xL2dkYi9z eW10YWIuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAuMS5vcmlnL2dkYi9zeW10YWIuaAkyMDE3 LTEwLTIwIDIxOjI4OjIxLjIwNTYzNDU2OSArMDIwMAotKysrIGdkYi04LjAuMS9nZGIvc3ltdGFi LmgJMjAxNy0xMC0yMCAyMToyODo0MC45MzM4MTE3MTYgKzAyMDAKLUBAIC0xNDIwLDYgKzE0MjAs NyBAQAotICAgc3RydWN0IHByb2dyYW1fc3BhY2UgKnBzcGFjZTsKLSAKLSAgIHN0cnVjdCBzeW10 YWIgKnN5bXRhYjsKLSsgIHN0cnVjdCBzeW1ib2wgKnN5bWJvbCA9IE5VTEw7Ci0gICBzdHJ1Y3Qg b2JqX3NlY3Rpb24gKnNlY3Rpb247Ci0gICAvKiBMaW5lIG51bWJlci4gIExpbmUgbnVtYmVycyBz dGFydCBhdCAxIGFuZCBwcm9jZWVkIHRocm91Z2ggc3ltdGFiLT5ubGluZXMuCi0gICAgICAwIGlz IG5ldmVyIGEgdmFsaWQgbGluZSBudW1iZXI7IGl0IGlzIHVzZWQgdG8gaW5kaWNhdGUgdGhhdCBs aW5lIG51bWJlcgoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTIyODU1Ni1icHQtaW5saW5lZC1mdW5j LW5hbWUtMm9mMi5wYXRjaCBiL2dkYi1yaGJ6MTIyODU1Ni1icHQtaW5saW5lZC1mdW5jLW5hbWUt Mm9mMi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTM0MDJlZC4uMDAwMDAw MAotLS0gYS9nZGItcmhiejEyMjg1NTYtYnB0LWlubGluZWQtZnVuYy1uYW1lLTJvZjIucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwyMTggKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVz IDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAy MDAKLVN1YmplY3Q6IGdkYi1yaGJ6MTIyODU1Ni1icHQtaW5saW5lZC1mdW5jLW5hbWUtMm9mMi5w YXRjaAotCi1GaWxlTmFtZTogZ2RiLXJoYnoxMjI4NTU2LWJwdC1pbmxpbmVkLWZ1bmMtbmFtZS0y b2YyLnBhdGNoCi0KLWNvbW1pdCA0YTI3ZjExOWY1OWE0NDM5NWUwYTM0YjE1MjZjZWU3MDllMWQz ZmNlCi1BdXRob3I6IEtlaXRoIFNlaXR6IDxrZWl0aHNAcmVkaGF0LmNvbT4KLURhdGU6ICAgRnJp IE9jdCAyNyAxMDo1NzoyMyAyMDE3IC0wNzAwCi0KLSAgICBVc2UgU2FMIHN5bWJvbCBuYW1lIHdo ZW4gcmVwb3J0aW5nIGJyZWFrcG9pbnQgbG9jYXRpb25zCi0gICAgCi0gICAgQ3VycmVudGx5LCAi aW5mbyBicmVhayIgY2FuIHNob3cgc29tZSAocGVyaGFwcykgdW5leHBlY3RlZCByZXN1bHRzIHdo ZW4KLSAgICBzZXR0aW5nIGEgYnJlYWtwb2ludCBvbiBhbiBpbmxpbmVkIGZ1bmN0aW9uOgotICAg IAotICAgIChnZGIpIGxpc3QKLSAgICAxICAgICAgICNpbmNsdWRlIDxzdGRpby5oPgotICAgIDIK LSAgICAzICAgICAgIHN0YXRpYyBpbmxpbmUgdm9pZCBmb28oKQotICAgIDQgICAgICAgewotICAg IDUgICAgICAgICAgICAgICBwcmludGYoIkhlbGxvIHdvcmxkXG4iKTsKLSAgICA2ICAgICAgIH0K LSAgICA3Ci0gICAgOCAgICAgICBpbnQgbWFpbigpCi0gICAgOSAgICAgICB7Ci0gICAgMTAgICAg ICAgICAgICAgIGZvbygpOwotICAgIDExICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAxMiAg ICAgIH0KLSAgICAxMwotICAgIChnZGIpIGIgZm9vCi0gICAgQnJlYWtwb2ludCAxIGF0IDB4NDAw NDM0OiBmaWxlIGZvby5jLCBsaW5lIDUuCi0gICAgKGdkYikgaSBiCi0gICAgTnVtICAgICBUeXBl ICAgICAgICAgICBEaXNwIEVuYiBBZGRyZXNzICAgICAgICAgICAgV2hhdAotICAgIDEgICAgICAg YnJlYWtwb2ludCAgICAga2VlcCB5ICAgMHgwMDAwMDAwMDAwNDAwNDM0IGluIG1haW4gYXQgZm9v LmM6NQotICAgIAotICAgIEdEQiByZXBvcnRlZCB0aGF0IHdlIHVuZGVyc3Rvb2Qgd2hhdCAiZm9v IiB3YXMsIGJ1dCB3ZSB0aGVuIHJlcG9ydCB0aGF0IHRoZQotICAgIGJyZWFrcG9pbnQgaXMgYWN0 dWFsbHkgc2V0IGluIG1haW4uIFdoaWxlIHRoYXQgaXMgbGl0ZXJhbGx5IHRydWUsIHdlIGNhbgot ICAgIGRvIGEgbGl0dGxlIGJldHRlci4KLSAgICAKLSAgICBUaGlzIGlzIGFjY29tcGxpc2hlZCBi eSBjb3B5aW5nIHRoZSBzeW1ib2wgZm9yIHdoaWNoIHRoZSBicmVha3BvaW50IHdhcyBzZXQKLSAg ICBpbnRvIHRoZSBicF9sb2NhdGlvbi4gIEZyb20gdGhlcmUsIHByaW50X2JyZWFrcG9pbnRfbG9j YXRpb24gY2FuIHVzZSB0aGlzCi0gICAgaW5mb3JtYXRpb24gdG8gcHJpbnQgb3V0IHN5bWJvbCBp bmZvcm1hdGlvbiAoaWYgYXZhaWxhYmxlKSBpbnN0ZWFkIG9mIGNhbGxpbmcKLSAgICBmaW5kX3Bj X3NlY3RfZnVuY3Rpb24uCi0gICAgCi0gICAgV2l0aCB0aGUgcGF0Y2ggaW5zdGFsbGVkLAotICAg IAotICAgIChnZGIpIGkgYgotICAgIE51bSAgICAgVHlwZSAgICAgICAgICAgRGlzcCBFbmIgQWRk cmVzcyAgICAgICAgICAgIFdoYXQKLSAgICAxICAgICAgIGJyZWFrcG9pbnQgICAgIGtlZXAgeSAg IDB4MDAwMDAwMDAwMDQwMDQzNCBpbiBmb28gYXQgZm9vLmM6NQotICAgIAotICAgIGdkYi9DaGFu Z2VMb2c6Ci0gICAgCi0gICAgICAgICAgICAqIGJyZWFrcG9pbnQuYyAocHJpbnRfYnJlYWtwb2lu dF9sb2NhdGlvbik6IFVzZSB0aGUgc3ltYm9sIHNhdmVkCi0gICAgICAgICAgICBpbiB0aGUgYnBf bG9jYXRpb24sIGZhbGxpbmcgYmFjayB0byBmaW5kX3BjX3NlY3RfZnVuY3Rpb24gd2hlbgotICAg ICAgICAgICAgbmVlZGVkLgotICAgICAgICAgICAgKGFkZF9sb2NhdGlvbl90b19icmVha3BvaW50 KTogU2F2ZSBzYWwtPnN5bWJvbC4KLSAgICAgICAgICAgICogYnJlYWtwb2ludC5oIChzdHJ1Y3Qg YnBfbG9jYXRpb24pIDxzeW1ib2w+OiBOZXcgZmllbGQuCi0gICAgICAgICAgICAqIHN5bXRhYi5j IChmaW5kX2Z1bmN0aW9uX3N0YXJ0X3NhbCk6IFNhdmUgdGhlIHN5bWJvbCBpbnRvIHRoZSBTYUwu Ci0gICAgICAgICAgICAqIHN5bXRhYi5oIChzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5lKSA8c3ltYm9s PjogTmV3IGZpZWxkLgotICAgIAotICAgIGdkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nOgotICAgIAot ICAgICAgICAgICAgKiBnZGIub3B0L2lubGluZS1icmVhay5leHAgKGJyZWFrX2luZm9fMSk6IE5l dyBwcm9jZWR1cmUuCi0gICAgICAgICAgICBUZXN0ICJpbmZvIGJyZWFrIiBmb3IgZXZlcnkgaW5s aW5lZCBmdW5jdGlvbiBicmVha3BvaW50LgotCi0jIyMgYS9nZGIvQ2hhbmdlTG9nCi0jIyMgYi9n ZGIvQ2hhbmdlTG9nCi0jIyAtMSwzICsxLDEzIEBACi0rMjAxNy0xMC0yNyAgS2VpdGggU2VpdHog IDxrZWl0aHNAcmVkaGF0LmNvbT4KLSsKLSsJKiBicmVha3BvaW50LmMgKHByaW50X2JyZWFrcG9p bnRfbG9jYXRpb24pOiBVc2UgdGhlIHN5bWJvbCBzYXZlZAotKwlpbiB0aGUgYnBfbG9jYXRpb24s IGZhbGxpbmcgYmFjayB0byBmaW5kX3BjX3NlY3RfZnVuY3Rpb24gd2hlbgotKwluZWVkZWQuCi0r CShhZGRfbG9jYXRpb25fdG9fYnJlYWtwb2ludCk6IFNhdmUgc2FsLT5zeW1ib2wuCi0rCSogYnJl YWtwb2ludC5oIChzdHJ1Y3QgYnBfbG9jYXRpb24pIDxzeW1ib2w+OiBOZXcgZmllbGQuCi0rCSog c3ltdGFiLmMgKGZpbmRfZnVuY3Rpb25fc3RhcnRfc2FsKTogU2F2ZSB0aGUgc3ltYm9sIGludG8g dGhlIFNhTC4KLSsJKiBzeW10YWIuaCAoc3RydWN0IHN5bXRhYl9hbmRfbGluZSkgPHN5bWJvbD46 IE5ldyBmaWVsZC4KLSsKLSAyMDE3LTEwLTI2ICBQYXRyaWNrIEZyYW50cyAgPG9zc2NvbnRyaWJ1 dGVAZ21haWwuY29tPgotIAotIAlQUiBnZGIvMTM2NjkKLS0tLSBhL2dkYi9icmVha3BvaW50LmMK LSsrKyBiL2dkYi9icmVha3BvaW50LmMKLUBAIC01OTU2LDggKzU5NTYsMTEgQEAgcHJpbnRfYnJl YWtwb2ludF9sb2NhdGlvbiAoc3RydWN0IGJyZWFrcG9pbnQgKmIsCi0gICAgIHVpb3V0LT5maWVs ZF9zdHJpbmcgKCJ3aGF0IiwgZXZlbnRfbG9jYXRpb25fdG9fc3RyaW5nIChiLT5sb2NhdGlvbi5n ZXQgKCkpKTsKLSAgIGVsc2UgaWYgKGxvYyAmJiBsb2MtPnN5bXRhYikKLSAgICAgewotLSAgICAg IHN0cnVjdCBzeW1ib2wgKnN5bSAKLS0JPSBmaW5kX3BjX3NlY3RfZnVuY3Rpb24gKGxvYy0+YWRk cmVzcywgbG9jLT5zZWN0aW9uKTsKLSsgICAgICBjb25zdCBzdHJ1Y3Qgc3ltYm9sICpzeW0gPSBs b2MtPnN5bWJvbDsKLSsKLSsgICAgICBpZiAoc3ltID09IE5VTEwpCi0rCXN5bSA9IGZpbmRfcGNf c2VjdF9mdW5jdGlvbiAobG9jLT5hZGRyZXNzLCBsb2MtPnNlY3Rpb24pOwotKwotICAgICAgIGlm IChzeW0pCi0gCXsKLSAJICB1aW91dC0+dGV4dCAoImluICIpOwotQEAgLTg3NDMsNiArODc0Niw3 IEBAIGFkZF9sb2NhdGlvbl90b19icmVha3BvaW50IChzdHJ1Y3QgYnJlYWtwb2ludCAqYiwKLSAg IGxvYy0+Z2RiYXJjaCA9IGxvY19nZGJhcmNoOwotICAgbG9jLT5saW5lX251bWJlciA9IHNhbC0+ bGluZTsKLSAgIGxvYy0+c3ltdGFiID0gc2FsLT5zeW10YWI7Ci0rICBsb2MtPnN5bWJvbCA9IHNh bC0+c3ltYm9sOwotIAotICAgc2V0X2JyZWFrcG9pbnRfbG9jYXRpb25fZnVuY3Rpb24gKGxvYywK LSAJCQkJICAgIHNhbC0+ZXhwbGljaXRfcGMgfHwgc2FsLT5leHBsaWNpdF9saW5lKTsKLS0tLSBh L2dkYi9icmVha3BvaW50LmgKLSsrKyBiL2dkYi9icmVha3BvaW50LmgKLUBAIC00ODYsNiArNDg2 LDExIEBAIHB1YmxpYzoKLSAgICAgIHRvIGZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIGZp bGUgbmFtZS4gICovCi0gCi0gICBzdHJ1Y3Qgc3ltdGFiICpzeW10YWI7Ci0rCi0rICAvKiBUaGUg c3ltYm9sIGZvdW5kIGJ5IHRoZSBsb2NhdGlvbiBwYXJzZXIsIGlmIGFueS4gIFRoaXMgbWF5IGJl IHVzZWQgdG8KLSsgICAgIGFzY2VydGFpbiB3aGVuIGFuIGV2ZW50IGxvY2F0aW9uIHdhcyBzZXQg YXQgYSBkaWZmZXJlbnQgbG9jYXRpb24gdGhhbgotKyAgICAgdGhlIG9uZSBvcmlnaW5hbGx5IHNl bGVjdGVkIGJ5IHBhcnNpbmcsIGUuZy4sIGlubGluZWQgc3ltYm9scy4gICovCi0rICBjb25zdCBz dHJ1Y3Qgc3ltYm9sICpzeW1ib2wgPSBOVUxMOwotIH07Ci0gCi0gLyogVGhlIHBvc3NpYmxlIHJl dHVybiB2YWx1ZXMgZm9yIHByaW50X2Jwc3RhdCwgcHJpbnRfaXRfbm9ybWFsLAotIyMjIGEvZ2Ri L3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKLSMjIyBiL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCi0jIyAt MSwzICsxLDggQEAKLSsyMDE3LTEwLTI3ICBLZWl0aCBTZWl0eiAgPGtlaXRoc0ByZWRoYXQuY29t PgotKwotKwkqIGdkYi5vcHQvaW5saW5lLWJyZWFrLmV4cCAoYnJlYWtfaW5mb18xKTogTmV3IHBy b2NlZHVyZS4KLSsJVGVzdCAiaW5mbyBicmVhayIgZm9yIGV2ZXJ5IGlubGluZWQgZnVuY3Rpb24g YnJlYWtwb2ludC4KLSsKLSAyMDE3LTEwLTI3ICBZYW8gUWkgIDx5YW8ucWlAbGluYXJvLm9yZz4K LSAKLSAJKiBnZGIuYXJjaC9pbnNuLXJlbG9jLmMgKGNhbl9yZWxvY2F0ZV9ibCk6IE1hcmsgIngz MCIgY2xvYmJlcmVkLgotLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2lubGluZS1icmVhay5l eHAKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9pbmxpbmUtYnJlYWsuZXhwCi1AQCAtMjQs NiArMjQsNjIgQEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUi ICR0ZXN0ZmlsZSAkc3JjZmlsZSBcCi0gICAgIHJldHVybiAtMQotIH0KLSAKLSsjIFJldHVybiBh IHN0cmluZyB0aGF0IG1heSBiZSB1c2VkIHRvIG1hdGNoIHRoZSBvdXRwdXQgb2YgImluZm8gYnJl YWsgTlVNIi4KLSsjCi0rIyBPcHRpb25hbCBhcmd1bWVudHM6Ci0rIwotKyMgc291cmNlICAgIC0g dGhlIG5hbWUgb2YgdGhlIHNvdXJjZSBmaWxlCi0rIyBmdW5jICAgICAgLSB0aGUgbmFtZSBvZiB0 aGUgZnVuY3Rpb24KLSsjIGRpc3AgICAgICAtIHRoZSBldmVudCBkaXNwb3NpdGlvbgotKyMgZW5h YmxlZCAgIC0gZW5hYmxlIHN0YXRlCi0rIyBsb2NzICAgICAgLSBudW1iZXIgb2YgbG9jYXRpb25z Ci0rIyBsaW5lICAgICAgLSBzb3VyY2UgbGluZSBudW1iZXIgKGlnbm9yZWQgd2l0aG91dCAtc291 cmNlKQotKwotK3Byb2MgYnJlYWtfaW5mb18xIHtudW0gYXJnc30gewotKyAgICBnbG9iYWwgZGVj aW1hbAotKwotKyAgICAjIENvbHVtbiBkZWxpbWl0ZXIKLSsgICAgc2V0IGMge1tcdCBdK30KLSsK LSsgICAgIyBSb3cgZGVsaW1pdGVyCi0rICAgIHNldCBlbmQge1tcclxuIFx0XSt9Ci0rCi0rICAg ICMgVGFibGUgaGVhZGVyCi0rICAgIHNldCBoZWFkZXIgIltqb2luIFtsaXN0IE51bSBUeXBlIERp c3AgRW5iIEFkZHJlc3MgV2hhdF0gJHtjfV0iCi0rCi0rICAgICMgR2V0L2NvbmZpZ3VyZSBhbnkg b3B0aW9uYWwgcGFyYW1ldGVycy4KLSsgICAgcGFyc2VfYXJncyBbbGlzdCB7c291cmNlICIifSB7 ZnVuYyAiLioifSB7ZGlzcCAia2VlcCJ9IFwKLSsJCSAgICB7ZW5hYmxlZCAieSJ9IHtsb2NzIDF9 IFtsaXN0IGxpbmUgJGRlY2ltYWxdIFwKLSsJCSAgICB7dHlwZSAiYnJlYWtwb2ludCJ9XQotKwot KyAgICBpZiB7JHNvdXJjZSAhPSAiIn0gewotKwlzZXQgc291cmNlICIkc291cmNlOiRsaW5lIgot KyAgICB9Ci0rCi0rICAgICMgUmVzdWx0IHN0YXJ0cyB3aXRoIHRoZSBzdGFuZGFyZCBoZWFkZXIu Ci0rICAgIHNldCByZXN1bHQgIiRoZWFkZXIke2VuZH0iCi0rCi0rICAgICMgU2V0IHVwIGZvciBt dWx0aS1sb2NhdGlvbiBicmVha3BvaW50IG1hcmtlci4KLSsgICAgaWYgeyRsb2NzID09IDF9IHsK LSsJc2V0IG11bHRpICIuKiIKLSsgICAgfSBlbHNlIHsKLSsJc2V0IG11bHRpICI8TVVMVElQTEU+ JHtlbmR9IgotKyAgICB9Ci0rICAgIGFwcGVuZCByZXN1bHQgIltqb2luIFtsaXN0ICRudW0gJHR5 cGUgJGRpc3AgJGVuYWJsZWQgJG11bHRpXSAkY10iCi0rCi0rICAgICMgQWRkIGxvY2F0aW9uIGlu Zm8uCi0rICAgIGZvciB7c2V0IGkgMX0geyRpIDw9ICRsb2NzfSB7aW5jciBpfSB7Ci0rCWlmIHsk bG9jcyA+IDF9IHsKLSsJICAgIGFwcGVuZCByZXN1bHQgIltqb2luIFtsaXN0ICRudW0uJGkgJGVu YWJsZWRdICRjXS4qIgotKwl9Ci0rCi0rCSMgIEFkZCBmdW5jdGlvbi9zb3VyY2UgZmlsZSBpbmZv LgotKwlhcHBlbmQgcmVzdWx0ICJpbiAkZnVuYyBhdCAuKiRzb3VyY2Uke2VuZH0iCi0rICAgIH0K LSsKLSsgICAgcmV0dXJuICRyZXN1bHQKLSt9Ci0rCi0gIwotICMgZnVuYzEgaXMgYSBzdGF0aWMg aW5saW5lZCBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBvbmNlLgotICMgVGhlIHJlc3VsdCBzaG91 bGQgYmUgYSBzaW5nbGUtbG9jYXRpb24gYnJlYWtwb2ludC4KLUBAIC0xMTEsMyArMTY3LDIyIEBA IGdkYl90ZXN0ICJwcmludCBmdW5jMSIgXAotICMKLSBnZGJfdGVzdCAicHJpbnQgZnVuYzIiIFwK LSAgICAgIlxcXCQuKiA9IHtpbnQgXFwoaW50XFwpfSAuKiA8ZnVuYzI+IgotKwotKyMgVGVzdCB0 aGF0ICJpbmZvIGJyZWFrIiByZXBvcnRzIHRoZSBsb2NhdGlvbiBvZiB0aGUgYnJlYWtwb2ludHMg Imluc2lkZSIKLSsjIHRoZSBpbmxpbmVkIGZ1bmN0aW9ucwotKwotK3NldCByZXN1bHRzKDEpIFti cmVha19pbmZvXzEgMSAtc291cmNlICRzcmNmaWxlIC1mdW5jICJmdW5jMSJdCi0rc2V0IHJlc3Vs dHMoMikgW2JyZWFrX2luZm9fMSAyIC1sb2NzIDIgLXNvdXJjZSAkc3JjZmlsZSAtZnVuYyAiZnVu YzIiXQotK3NldCByZXN1bHRzKDMpIFticmVha19pbmZvXzEgMyAtc291cmNlICRzcmNmaWxlIC1m dW5jICJmdW5jM2IiXQotK3NldCByZXN1bHRzKDQpIFticmVha19pbmZvXzEgNCAtbG9jcyAyIC1z b3VyY2UgJHNyY2ZpbGUgLWZ1bmMgImZ1bmM0YiJdCi0rc2V0IHJlc3VsdHMoNSkgW2JyZWFrX2lu Zm9fMSA1IC1sb2NzIDIgLXNvdXJjZSAkc3JjZmlsZSAtZnVuYyAiZnVuYzViIl0KLStzZXQgcmVz dWx0cyg2KSBbYnJlYWtfaW5mb18xIDYgLWxvY3MgMyAtc291cmNlICRzcmNmaWxlIC1mdW5jICJm dW5jNmIiXQotK3NldCByZXN1bHRzKDcpIFticmVha19pbmZvXzEgNyAtbG9jcyAyIC1zb3VyY2Ug JHNyY2ZpbGUgLWZ1bmMgImZ1bmM3YiJdCi0rc2V0IHJlc3VsdHMoOCkgW2JyZWFrX2luZm9fMSA4 IC1sb2NzIDMgLXNvdXJjZSAkc3JjZmlsZSAtZnVuYyAiZnVuYzhiIl0KLSsKLStmb3Ige3NldCBp IDF9IHskaSA8PSBbYXJyYXkgc2l6ZSByZXN1bHRzXX0ge2luY3IgaX0gewotKyAgICBzZW5kX2xv ZyAiRXhwZWN0aW5nOiAkcmVzdWx0cygkaSlcbiIKLSsgICAgZ2RiX3Rlc3QgImluZm8gYnJlYWsg JGkiICRyZXN1bHRzKCRpKQotK30KLSsKLSt1bnNldCAtbm9jb21wbGFpbiByZXN1bHRzCgpkaWZm IC0tZ2l0IGEvZ2RiLXJoYnoxMjYxNTY0LWFhcmNoNjQtaHctd2F0Y2hwb2ludC10ZXN0LnBhdGNo IGIvZ2RiLXJoYnoxMjYxNTY0LWFhcmNoNjQtaHctd2F0Y2hwb2ludC10ZXN0LnBhdGNoCmluZGV4 IGFkMDU2NTcuLmExYzJkODkgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6MTI2MTU2NC1hYXJjaDY0LWh3 LXdhdGNocG9pbnQtdGVzdC5wYXRjaAorKysgYi9nZGItcmhiejEyNjE1NjQtYWFyY2g2NC1ody13 YXRjaHBvaW50LXRlc3QucGF0Y2gKQEAgLTEsMTMgKzEsNjMgQEAKK0Zyb20gYzA5Y2UwNDAzOWRi YzJkODhjZmJlZjFiYmNiOWY2OTg1M2JhNGRiMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZy b206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3 IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItcmhiejEyNjE1NjQtYWFyY2g2 NC1ody13YXRjaHBvaW50LXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1yaGJ6MTI2MTU2NC1h YXJjaDY0LWh3LXdhdGNocG9pbnQtdGVzdC5wYXRjaAogCi1JbmRleDogZ2RiLTcuNi4xL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvcmhiejEyNjE1NjQtYWFyY2g2NC13YXRjaHBvaW50LmV4cAotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjYuMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3JoYnoxMjYxNTY0LWFhcmNo NjQtd2F0Y2hwb2ludC5leHAJMjAxNi0wMy0xMCAyMjozMTozMS4xNTIwOTQwODAgKzAxMDAKKzs7 IFthYXJjaDY0XSBGaXggaGFyZHdhcmUgd2F0Y2hwb2ludHMgKFJIIEJaIDEyNjE1NjQpLgorOzs9 ZmVkb3JhdGVzdAorLS0tCisgLi4uL2dkYi5iYXNlL3JoYnoxMjYxNTY0LWFhcmNoNjQtd2F0Y2hw b2ludC5jICAgICAgfCAzMyArKysrKysrKysrKysrKworIC4uLi9nZGIuYmFzZS9yaGJ6MTI2MTU2 NC1hYXJjaDY0LXdhdGNocG9pbnQuZXhwICAgIHwgNTMgKysrKysrKysrKysrKysrKysrKysrKwor IDIgZmlsZXMgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBn ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3JoYnoxMjYxNTY0LWFhcmNoNjQtd2F0Y2hwb2ludC5jCisg Y3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvcmhiejEyNjE1NjQtYWFy Y2g2NC13YXRjaHBvaW50LmV4cAorCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9yaGJ6MTI2MTU2NC1hYXJjaDY0LXdhdGNocG9pbnQuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvcmhiejEyNjE1NjQtYWFyY2g2NC13YXRjaHBvaW50LmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0 CitpbmRleCAwMDAwMDAwMDAwLi4wODUwMDFkN2YzCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL3JoYnoxMjYxNTY0LWFhcmNoNjQtd2F0Y2hwb2ludC5jCitAQCAt MCwwICsxLDMzIEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBk ZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IK KysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor KyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh bS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisrCisr X19hdHRyaWJ1dGVfXygoYWxpZ25lZCgxNikpKSBzdHJ1Y3QKKyt7CisrICBpbnQgdmFyMCwgdmFy NCwgdmFyODsKKyt9IGFsaWduZWQ7CisrCisraW50CisrbWFpbiAodm9pZCkKKyt7CisrICBhbGln bmVkLnZhcjAgPSAxOworKyAgYWxpZ25lZC52YXI0ID0gMjsKKysgIGFsaWduZWQudmFyOCA9IDM7 CisrCisrICBhbGlnbmVkLnZhcjQgPSBhbGlnbmVkLnZhcjA7CisrCisrICByZXR1cm4gMDsKKyt9 CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9yaGJ6MTI2MTU2NC1hYXJjaDY0 LXdhdGNocG9pbnQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9yaGJ6MTI2MTU2NC1hYXJj aDY0LXdhdGNocG9pbnQuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAw MC4uNDliYjk3NTYwMgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9yaGJ6MTI2MTU2NC1hYXJjaDY0LXdhdGNocG9pbnQuZXhwCiBAQCAtMCwwICsxLDUzIEBACiAr IyBDb3B5cmlnaHQgKEMpIDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBA IC02Miw0MSArMTEyLDYgQEAgSW5kZXg6IGdkYi03LjYuMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L3JoYnoxMjYxNTY0LWFhcmNoNjQtd2F0Y2hwb2ludC5leHAKICtzZXR1cF94ZmFpbCAicG93ZXJw YyotKi0qIgogKwogK2dkYl9jb250aW51ZV90b19lbmQKLUluZGV4OiBnZGItNy42LjEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9yaGJ6MTI2MTU2NC1hYXJjaDY0LXdhdGNocG9pbnQuYwotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjYuMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3JoYnoxMjYxNTY0LWFhcmNoNjQt d2F0Y2hwb2ludC5jCTIwMTYtMDMtMTAgMjI6MzE6MzEuMTUyMDk0MDgwICswMTAwCi1AQCAtMCww ICsxLDMzIEBACi0rLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1 Z2dlci4KLSsKLSsgICBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsg ICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAg IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCi0rCi0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0rX19h dHRyaWJ1dGVfXygoYWxpZ25lZCgxNikpKSBzdHJ1Y3QKLSt7Ci0rICBpbnQgdmFyMCwgdmFyNCwg dmFyODsKLSt9IGFsaWduZWQ7Ci0rCi0raW50Ci0rbWFpbiAodm9pZCkKLSt7Ci0rICBhbGlnbmVk LnZhcjAgPSAxOwotKyAgYWxpZ25lZC52YXI0ID0gMjsKLSsgIGFsaWduZWQudmFyOCA9IDM7Ci0r Ci0rICBhbGlnbmVkLnZhcjQgPSBhbGlnbmVkLnZhcjA7Ci0rCi0rICByZXR1cm4gMDsKLSt9Cist LSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxMzI1Nzk1LWZyYW1lZmlsdGVycy10 ZXN0LnBhdGNoIGIvZ2RiLXJoYnoxMzI1Nzk1LWZyYW1lZmlsdGVycy10ZXN0LnBhdGNoCmluZGV4 IGRkMjAzYjMuLjlkYWJjMzMgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6MTMyNTc5NS1mcmFtZWZpbHRl cnMtdGVzdC5wYXRjaAorKysgYi9nZGItcmhiejEzMjU3OTUtZnJhbWVmaWx0ZXJzLXRlc3QucGF0 Y2gKQEAgLTEsMTEgKzEsMjYgQEAKK0Zyb20gNWY4ZmMwMDJlOWMwNzk1ZDg3NjFjNDMyM2Q2ODdi Y2YwZTRjYzE2ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0 Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUw ICswMjAwCiBTdWJqZWN0OiBnZGItcmhiejEzMjU3OTUtZnJhbWVmaWx0ZXJzLXRlc3QucGF0Y2gK IAogRmlsZU5hbWU6IGdkYi1yaGJ6MTMyNTc5NS1mcmFtZWZpbHRlcnMtdGVzdC5wYXRjaAogCi0t LS0gL2Rldi9udWxsCTIwMTYtMDktMTIgMjE6Mzc6MDUuMzMyNjkzOTI3ICswMjAwCi0rKysgZ2Ri LTcuMTEuOTAuMjAxNjA5MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lZmlsdGVy LXRocmVhZC5jCTIwMTYtMDktMTIgMjE6NDM6NTYuNDQ4Njk1NTEzICswMjAwCis7OyBOZXcgdGVz dCBmb3IgUHl0aG9uICJDYW5ub3QgbG9jYXRlIG9iamVjdCBmaWxlIGZvciBibG9jayIgKGZvciBS SCBCWiAxMzI1Nzk1KS4KKzs7PWZlZG9yYXRlc3QKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLnB5 dGhvbi9weS1mcmFtZWZpbHRlci10aHJlYWQuYyAgIHwgMzkgKysrKysrKysrKysrKysKKyBnZGIv dGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWVmaWx0ZXItdGhyZWFkLmV4cCB8IDU0ICsrKysr KysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWVmaWx0ZXIt dGhyZWFkLnB5ICB8IDYwICsrKysrKysrKysrKysrKysrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQs IDE1MyBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2Ri LnB5dGhvbi9weS1mcmFtZWZpbHRlci10aHJlYWQuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIv dGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWVmaWx0ZXItdGhyZWFkLmV4cAorIGNyZWF0ZSBt b2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWVmaWx0ZXItdGhyZWFk LnB5CisKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWVmaWx0 ZXItdGhyZWFkLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWVmaWx0ZXItdGhy ZWFkLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi42Y2ViYWJiNjdh CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWVm aWx0ZXItdGhyZWFkLmMKIEBAIC0wLDAgKzEsMzkgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBh cnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtNDYsOCArNjEsMTEgQEAgRmlsZU5h bWU6IGdkYi1yaGJ6MTMyNTc5NS1mcmFtZWZpbHRlcnMtdGVzdC5wYXRjaAogKwogKyAgcmV0dXJu IDA7CiArfQotLS0tIC9kZXYvbnVsbAkyMDE2LTA5LTEyIDIxOjM3OjA1LjMzMjY5MzkyNyArMDIw MAotKysrIGdkYi03LjExLjkwLjIwMTYwOTA3L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1m cmFtZWZpbHRlci10aHJlYWQuZXhwCTIwMTYtMDktMTIgMjE6NDY6NTQuNjIzNDI4NDkzICswMjAw CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lZmlsdGVyLXRo cmVhZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWVmaWx0ZXItdGhyZWFk LmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjcxZjk3NDYzMzcK Ky0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1mcmFtZWZp bHRlci10aHJlYWQuZXhwCiBAQCAtMCwwICsxLDU0IEBACiArIyBDb3B5cmlnaHQgKEMpIDIwMTYg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC05NCwxNyArMTEyLDIwIEBAIEZp bGVOYW1lOiBnZGItcmhiejEzMjU3OTUtZnJhbWVmaWx0ZXJzLXRlc3QucGF0Y2gKICsKICsjICMy ICAweDAwMDA3ZmZmZjc1ZjIyOGQgaW4gOTQxNTk1MzQzNzM3MDQxICgpIGF0IC4uL3N5c2RlcHMv dW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjExM15NCiArIyB2cy4KLSsjICMyICAweDAw MDA3ZmZmZjc1ZjIyOGQgaW4gOTQxNTk1MzQzNzM3MDQxVHJhY2ViYWNrIChtb3N0IHJlY2VudCBj YWxsIGxhc3QpOg0KLSsjICAgRmlsZSAiL2hvbWUvamtyYXRvY2gvcmVkaGF0L3JoZWwvZ2RiL3Jo ZWwtNy4zL2dkYi03LjYuMS9nZGIvdGVzdHN1aXRlLy4uL2RhdGEtZGlyZWN0b3J5L3B5dGhvbi9n ZGIvRnJhbWVEZWNvcmF0b3IucHkiLCBsaW5lIDE0NSwgaW4gZnJhbWVfYXJncw0KLSsjICAgICBy ZXR1cm4gc2VsZi5fYmFzZS5mcmFtZV9hcmdzKCkNCi0rIyAgIEZpbGUgIi9ob21lL2prcmF0b2No L3JlZGhhdC9yaGVsL2dkYi9yaGVsLTcuMy9nZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS8uLi9kYXRh LWRpcmVjdG9yeS9weXRob24vZ2RiL0ZyYW1lRGVjb3JhdG9yLnB5IiwgbGluZSAxNTIsIGluIGZy YW1lX2FyZ3MNCi0rIyAgICAgcmV0dXJuIGFyZ3MuZmV0Y2hfZnJhbWVfYXJncygpDQotKyMgICBG aWxlICIvaG9tZS9qa3JhdG9jaC9yZWRoYXQvcmhlbC9nZGIvcmhlbC03LjMvZ2RiLTcuNi4xL2dk Yi90ZXN0c3VpdGUvLi4vZGF0YS1kaXJlY3RvcnkvcHl0aG9uL2dkYi9GcmFtZURlY29yYXRvci5w eSIsIGxpbmUgMjc2LCBpbiBmZXRjaF9mcmFtZV9hcmdzDQotKyMgICAgIGJsb2NrID0gc2VsZi5m cmFtZS5ibG9jaygpDQotKyMgUnVudGltZUVycm9yOiBDYW5ub3QgbG9jYXRlIG9iamVjdCBmaWxl IGZvciBibG9jay4NCisrIyAjMiAgMHgwMDAwN2ZmZmY3NWYyMjhkIGluIDk0MTU5NTM0MzczNzA0 MVRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKysjICAgRmlsZSAiL2hvbWUvamty YXRvY2gvcmVkaGF0L3JoZWwvZ2RiL3JoZWwtNy4zL2dkYi03LjYuMS9nZGIvdGVzdHN1aXRlLy4u L2RhdGEtZGlyZWN0b3J5L3B5dGhvbi9nZGIvRnJhbWVEZWNvcmF0b3IucHkiLCBsaW5lIDE0NSwg aW4gZnJhbWVfYXJncworKyMgICAgIHJldHVybiBzZWxmLl9iYXNlLmZyYW1lX2FyZ3MoKQorKyMg ICBGaWxlICIvaG9tZS9qa3JhdG9jaC9yZWRoYXQvcmhlbC9nZGIvcmhlbC03LjMvZ2RiLTcuNi4x L2dkYi90ZXN0c3VpdGUvLi4vZGF0YS1kaXJlY3RvcnkvcHl0aG9uL2dkYi9GcmFtZURlY29yYXRv ci5weSIsIGxpbmUgMTUyLCBpbiBmcmFtZV9hcmdzCisrIyAgICAgcmV0dXJuIGFyZ3MuZmV0Y2hf ZnJhbWVfYXJncygpCisrIyAgIEZpbGUgIi9ob21lL2prcmF0b2NoL3JlZGhhdC9yaGVsL2dkYi9y aGVsLTcuMy9nZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS8uLi9kYXRhLWRpcmVjdG9yeS9weXRob24v Z2RiL0ZyYW1lRGVjb3JhdG9yLnB5IiwgbGluZSAyNzYsIGluIGZldGNoX2ZyYW1lX2FyZ3MKKysj ICAgICBibG9jayA9IHNlbGYuZnJhbWUuYmxvY2soKQorKyMgUnVudGltZUVycm9yOiBDYW5ub3Qg bG9jYXRlIG9iamVjdCBmaWxlIGZvciBibG9jay4KICtnZGJfdGVzdCAiYnQiICIgaW4gXFswLTlc XSsgXFteXHJcblxdKiIgImJ0IHdpdGggZmlsdGVycyIKLS0tLSAvZGV2L251bGwJMjAxNi0wOS0x MiAyMTozNzowNS4zMzI2OTM5MjcgKzAyMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDkwNy9nZGIv dGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWVmaWx0ZXItdGhyZWFkLnB5CTIwMTYtMDktMTIg MjE6NDk6MTYuMTUwNzk1MjM1ICswMjAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5LWZyYW1lZmlsdGVyLXRocmVhZC5weSBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhv bi9weS1mcmFtZWZpbHRlci10aHJlYWQucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAw MDAwMDAwMDAwLi44OTY0Nzk5NDA4CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5weXRob24vcHktZnJhbWVmaWx0ZXItdGhyZWFkLnB5CiBAQCAtMCwwICsxLDYwIEBACiAr IyBDb3B5cmlnaHQgKEMpIDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBA IC0xNjYsMyArMTg3LDYgQEAgRmlsZU5hbWU6IGdkYi1yaGJ6MTMyNTc5NS1mcmFtZWZpbHRlcnMt dGVzdC5wYXRjaAogKyAgICAgICAgcmV0dXJuIGZyYW1lX2l0ZXIKICsKICtGcmFtZUZpbHRlcigp CistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxMzUwNDM2LXR5cGUtcHJpbnRl cnMtZXJyb3IucGF0Y2ggYi9nZGItcmhiejEzNTA0MzYtdHlwZS1wcmludGVycy1lcnJvci5wYXRj aAppbmRleCAxMTRkYTBhLi5jZWJiOTEzIDEwMDY0NAotLS0gYS9nZGItcmhiejEzNTA0MzYtdHlw ZS1wcmludGVycy1lcnJvci5wYXRjaAorKysgYi9nZGItcmhiejEzNTA0MzYtdHlwZS1wcmludGVy cy1lcnJvci5wYXRjaApAQCAtMSwxOCArMSwyOCBAQAorRnJvbSBhNTBiNGY3MDMyMjdiMWM4YjJj ZWIwYzRjN2IwNThkNTFjYmJiMDA2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVk b3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIw MTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1yaGJ6MTM1MDQzNi10eXBlLXByaW50ZXJz LWVycm9yLnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItcmhiejEzNTA0MzYtdHlwZS1wcmludGVycy1l cnJvci5wYXRjaAogCis7OyBUZXN0ICdpbmZvIHR5cGUtcHJpbnRlcnMnIFB5dGhvbiBlcnJvciAo UkggQlogMTM1MDQzNikuCis7Oz1mZWRvcmF0ZXN0CisKIFR5cG8gaW4gUHl0aG9uIHN1cHBvcnQg YnJlYWtzIGluZm8gdHlwZS1wcmludGVycyBjb21tYW5kCiBodHRwczovL2J1Z3ppbGxhLnJlZGhh dC5jb20vc2hvd19idWcuY2dpP2lkPTEzNTA0MzYKIAogW3Rlc3RzdWl0ZSBwYXRjaF0gUFIgcHl0 aG9uLzE3MTM2OiAnaW5mbyB0eXBlLXByaW50ZXJzJyBjYXVzZXMgYW4gZXhjZXB0aW9uIHdoZW4g dGhlcmUgYXJlIHBlci1vYmpmaWxlIHByaW50ZXJzCiBodHRwczovL3NvdXJjZXdhcmUub3JnL21s L2dkYi1wYXRjaGVzLzIwMTYtMDYvbXNnMDA0NTUuaHRtbAorLS0tCisgZ2RiL3Rlc3RzdWl0ZS9n ZGIucHl0aG9uL3B5LXR5cGVwcmludC5jYyAgfCAgNiArKysrKysKKyBnZGIvdGVzdHN1aXRlL2dk Yi5weXRob24vcHktdHlwZXByaW50LmV4cCB8ICA0ICsrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5w eXRob24vcHktdHlwZXByaW50LnB5ICB8IDI0ICsrKysrKysrKysrKysrKysrKysrKystLQorIDMg ZmlsZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAotZGlmZiAt ZHVwIC1ydXAgZ2RiLTcuNi4xL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi1vcmlnL3B5LXR5cGVw cmludC5jYyBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXR5cGVwcmludC5j YwotLS0tIGdkYi03LjYuMS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24tb3JpZy9weS10eXBlcHJp bnQuY2MJMjAxMy0wMS0wMSAwNzo0MToyNi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy42LjEv Z2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXR5cGVwcmludC5jYwkyMDE2LTA2LTI3IDIyOjU3 OjU4LjE2ODY0MjQ3MCArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhv bi9weS10eXBlcHJpbnQuY2MgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdHlwZXByaW50 LmNjCitpbmRleCA5YWI2YzQ2NDNkLi4zOTA3OWZiZDNhIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIucHl0aG9uL3B5LXR5cGVwcmludC5jYworKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5LXR5cGVwcmludC5jYwogQEAgLTMxLDYgKzMxLDEyIEBAIHRlbXBsPGJhc2ljX3N0 cmluZz4gczsKICAKICBiYXNpY19zdHJpbmcgYnM7CkBAIC0yNiwxMCArMzYsMTEgQEAgZGlmZiAt ZHVwIC1ydXAgZ2RiLTcuNi4xL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi1vcmlnL3B5LXR5cGVw cmludC5jYyBnZGItNy42LjEKICBpbnQgbWFpbigpCiAgewogICAgcmV0dXJuIDA7Ci1kaWZmIC1k dXAgLXJ1cCBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uLW9yaWcvcHktdHlwZXBy aW50LmV4cCBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXR5cGVwcmludC5l eHAKLS0tLSBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uLW9yaWcvcHktdHlwZXBy aW50LmV4cAkyMDEzLTAxLTAxIDA3OjQxOjI2LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjYu MS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdHlwZXByaW50LmV4cAkyMDE2LTA2LTI3IDIy OjU4OjEzLjg0Njc4NTIwOCArMDIwMAotQEAgLTUxLDMgKzUxLDcgQEAgZ2RiX3Rlc3Rfbm9fb3V0 cHV0ICJlbmFibGUgdHlwZS1wcmludGVyCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5LXR5cGVwcmludC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdHlw ZXByaW50LmV4cAoraW5kZXggMjhlNTA1MzMxZi4uNzVlNTAyYjE1YyAxMDA2NDQKKy0tLSBhL2dk Yi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS10eXBlcHJpbnQuZXhwCisrKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5weXRob24vcHktdHlwZXByaW50LmV4cAorQEAgLTUwLDMgKzUwLDcgQEAgZ2RiX3Rl c3Rfbm9fb3V0cHV0ICJlbmFibGUgdHlwZS1wcmludGVyIHN0cmluZyIKICBnZGJfdGVzdCAid2hh dGlzIGJzIiAic3RyaW5nIiAid2hhdGlzIHdpdGggZW5hYmxlZCBwcmludGVyIgogIAogIGdkYl90 ZXN0ICJ3aGF0aXMgcyIgInRlbXBsPHN0cmluZz4iCkBAIC0zNyw5ICs0OCwxMCBAQCBkaWZmIC1k dXAgLXJ1cCBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uLW9yaWcvcHktdHlwZXBy aW50LmV4cCBnZGItNy42LgogK2dkYl90ZXN0ICJpbmZvIHR5cGUtcHJpbnRlcnMiICJUeXBlIHBy aW50ZXJzIGZvciBcW15cclxuXF0qL3B5LXR5cGVwcmludDpcclxuICpvdGhlclxyXG4uKiIgXAog KwkgImluZm8gdHlwZS1wcmludGVycyBmb3Igb3RoZXIiCiArZ2RiX3Rlc3QgIndoYXRpcyBvdmFy IiAidHlwZSA9IEFub3RoZXIiCi1kaWZmIC1kdXAgLXJ1cCBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0 ZS9nZGIucHl0aG9uLW9yaWcvcHktdHlwZXByaW50LnB5IGdkYi03LjYuMS9nZGIvdGVzdHN1aXRl L2dkYi5weXRob24vcHktdHlwZXByaW50LnB5Ci0tLS0gZ2RiLTcuNi4xL2dkYi90ZXN0c3VpdGUv Z2RiLnB5dGhvbi1vcmlnL3B5LXR5cGVwcmludC5weQkyMDEzLTAxLTAxIDA3OjQxOjI2LjAwMDAw MDAwMCArMDEwMAotKysrIGdkYi03LjYuMS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdHlw ZXByaW50LnB5CTIwMTYtMDYtMjcgMjI6NTc6NTguMTY5NjQyNDc5ICswMjAwCitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXR5cGVwcmludC5weSBiL2dkYi90ZXN0c3Vp dGUvZ2RiLnB5dGhvbi9weS10eXBlcHJpbnQucHkKK2luZGV4IGNmOWMxY2U4YjkuLjdlMjhkZjJi OWUgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdHlwZXByaW50LnB5 CisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdHlwZXByaW50LnB5CiBAQCAtMTUs NyArMTUsNyBAQAogIAogIGltcG9ydCBnZGIKQEAgLTc3LDMgKzg5LDYgQEAgZGlmZiAtZHVwIC1y dXAgZ2RiLTcuNi4xL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi1vcmlnL3B5LXR5cGVwcmludC5w eSBnZGItNy42LjEKICsKICtpbXBvcnQgZ2RiLnR5cGVzCiArZ2RiLnR5cGVzLnJlZ2lzdGVyX3R5 cGVfcHJpbnRlcihnZGIub2JqZmlsZXMoKVswXSwgT3RoZXJUeXBlUHJpbnRlcigpKQorLS0gCisy LjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTM5ODM4Ny10YWItY3Jhc2gtdGVzdC5wYXRj aCBiL2dkYi1yaGJ6MTM5ODM4Ny10YWItY3Jhc2gtdGVzdC5wYXRjaAppbmRleCA5YWY3ZWIxLi4w YmZkNTZkIDEwMDY0NAotLS0gYS9nZGItcmhiejEzOTgzODctdGFiLWNyYXNoLXRlc3QucGF0Y2gK KysrIGIvZ2RiLXJoYnoxMzk4Mzg3LXRhYi1jcmFzaC10ZXN0LnBhdGNoCkBAIC0xLDEyICsxLDIy IEBACitGcm9tIGVlMjNmM2RhNjE3OThhOGNmY2NjMTU1YzUyY2IwNGM2ZTI0N2U1MDUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1h aWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDog Z2RiLXJoYnoxMzk4Mzg3LXRhYi1jcmFzaC10ZXN0LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItcmhi ejEzOTgzODctdGFiLWNyYXNoLXRlc3QucGF0Y2gKIAorOzsgTmV3IHRlc3RjYXNlIGZvcjogRml4 IDx0YWI+LWNvbXBsZXRpb24gY3Jhc2ggKEdhcnkgQmVuc29uLCBSSCBCWiAxMzk4Mzg3KS4KKzs7 PWZlZG9yYXRlc3QKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdGFiLWNyYXNoLmJ6Mi51 dSB8IDM5MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvdGFiLWNyYXNoLmV4cCAgICB8ICA0MyArKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA0 MzYgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3RhYi1jcmFzaC5iejIudXUKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS90YWItY3Jhc2guZXhwCisKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3RhYi1jcmFzaC5iejIudXUgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3RhYi1jcmFzaC5i ejIudXUKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5lNTVlYzUwCitpbmRl eCAwMDAwMDAwMDAwLi5lNTVlYzUwMTFiCiAtLS0gL2Rldi9udWxsCiArKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL3RhYi1jcmFzaC5iejIudXUKIEBAIC0wLDAgKzEsMzkzIEBACkBAIC00MDUs NyArNDE1LDcgQEAgaW5kZXggMDAwMDAwMC4uZTU1ZWM1MAogK2VuZAogZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvdGFiLWNyYXNoLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvdGFiLWNyYXNoLmV4cAogbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjk0 OGMxZTcKK2luZGV4IDAwMDAwMDAwMDAuLjkxYzQ1YWEzNjYKIC0tLSAvZGV2L251bGwKICsrKyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdGFiLWNyYXNoLmV4cAogQEAgLTAsMCArMSw0MyBAQApA QCAtNDUyLDMgKzQ2Miw2IEBAIGluZGV4IDAwMDAwMDAuLjk0OGMxZTcKICtjbGVhbl9yZXN0YXJ0 ICR7ZGVidWdmaWxlfQogKwogK2dkYl90ZXN0ICJjb21wbGV0ZSBwIHNpIiAiY29tcGxldGUgcCBz aVxyXG5wIHNpemVfb2ZfZW5jb2RlZF92YWx1ZSIKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQg YS9nZGItcmhiejE0MjAzMDQtczM5MHgtMDFvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIwMzA0LXMz OTB4LTAxb2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWZhOTI2MC4u MDAwMDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMDFvZjM1LnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsNjkgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlk QGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1Ympl Y3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0wMW9mMzUucGF0Y2gKLQotRmlsZU5hbWU6IGdkYi1y aGJ6MTQyMDMwNC1zMzkweC0wMW9mMzUucGF0Y2gKLQotCi1jb21taXQgZDdhYjQ5MTFmOGFhM2Ux Y2QwNmVjZTQwZjc0ZDBiNGE1MzJkNmExMAotQXV0aG9yOiBBbmRyZWFzIEtyZWJiZWwgPGtyZWJi ZWxAbGludXgudm5ldC5pYm0uY29tPgotRGF0ZTogICBNb24gTWF5IDggMTk6MTA6NDIgMjAxNyAr MDIwMAotCi0gICAgUy8zOTA6IEZpeCBpZnVuYyBtaXNzaW5nIHJ1bnRpbWUgcmVsb2MKLSAgICAK LSAgICBUaGlzIGZpeGVzIGEgcHJvYmxlbSB3aXRoIGEgbWlzc2luZyBSXzM5MF82NCByZWxvYyBh Z2FpbnN0IC5kYXRhIGZvciBhCi0gICAgZnVuY3Rpb24gcG9pbnRlciB0byBhbiBpZnVuYyBmdW5j dGlvbi4KLSAgICAKLSAgICBObyByZWdyZXNzaW9ucyBvbiBzMzkweC4KLSAgICAKLSAgICBQdXNo ZWQgdG8gbWFpbmxpbmUuCi0gICAgCi0gICAgYmZkL0NoYW5nZUxvZzoKLSAgICAKLSAgICAyMDE3 LTA1LTA4ICBBbmRyZWFzIEtyZWJiZWwgIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAg ICAKLSAgICAgICAgICAgICogZWxmLXMzOTAtY29tbW9uLmM6IERvbid0IGNoZWNrIG5vbl9nb3Rf cmVmIGZsYWcuCi0gICAgICAgICAgICAqIGVsZjMyLXMzOTAuYyAoZWxmX3MzOTBfcmVsb2NhdGVf c2VjdGlvbik6IExpa2V3aXNlLgotICAgICAgICAgICAgKiBlbGY2NC1zMzkwLmMgKGVsZl9zMzkw X3JlbG9jYXRlX3NlY3Rpb24pOiBMaWtld2lzZS4KLQotLS0tIGEvYmZkL2VsZi1zMzkwLWNvbW1v bi5jCi0rKysgYi9iZmQvZWxmLXMzOTAtY29tbW9uLmMKLUBAIC0xNjEsOSArMTYxLDcgQEAga2Vl cDoKLSAgICAgICBoLT50eXBlID0gU1RUX0ZVTkM7Ci0gICAgIH0KLSAKLS0gIC8qIFdlIG5lZWQg ZHluYW1pYyByZWxvY2F0aW9uIGZvciBTVFRfR05VX0lGVU5DIHN5bWJvbCBvbmx5IHdoZW4KLS0g ICAgIHRoZXJlIGlzIGEgbm9uLUdPVCByZWZlcmVuY2UgaW4gYSBzaGFyZWQgb2JqZWN0LiAgKi8K LS0gIGlmICghYmZkX2xpbmtfcGljIChpbmZvKSB8fCAhaC0+bm9uX2dvdF9yZWYpCi0rICBpZiAo IWJmZF9saW5rX3BpYyAoaW5mbykpCi0gICAgICpoZWFkID0gTlVMTDsKLSAKLSAgIC8qIEZpbmFs bHksIGFsbG9jYXRlIHNwYWNlLiAgKi8KLS0tLSBhL2JmZC9lbGYzMi1zMzkwLmMKLSsrKyBiL2Jm ZC9lbGYzMi1zMzkwLmMKLUBAIC0yNzc0LDcgKzI3NzQsNyBAQCBlbGZfczM5MF9yZWxvY2F0ZV9z ZWN0aW9uIChiZmQgKm91dHB1dF9iZmQsCi0gCSAgICAgICYmIHMzOTBfaXNfaWZ1bmNfc3ltYm9s X3AgKGgpCi0gCSAgICAgICYmIGgtPmRlZl9yZWd1bGFyKQotIAkgICAgewotLQkgICAgICBpZiAo IWJmZF9saW5rX3BpYyAoaW5mbykgfHwgIWgtPm5vbl9nb3RfcmVmKQotKwkgICAgICBpZiAoIWJm ZF9saW5rX3BpYyAoaW5mbykpCi0gCQl7Ci0gCQkgIC8qIEZvciBhIG5vbi1zaGFyZWQgb2JqZWN0 IFNUVF9HTlVfSUZVTkMgc3ltYm9sIG11c3QKLSAJCSAgICAgZ28gdGhyb3VnaCBQTFQuICAqLwot LS0tIGEvYmZkL2VsZjY0LXMzOTAuYwotKysrIGIvYmZkL2VsZjY0LXMzOTAuYwotQEAgLTI3Mzcs MTAgKzI3MzcsMTEgQEAgZWxmX3MzOTBfcmVsb2NhdGVfc2VjdGlvbiAoYmZkICpvdXRwdXRfYmZk LAotIAkgICAgICAmJiBzMzkwX2lzX2lmdW5jX3N5bWJvbF9wIChoKQotIAkgICAgICAmJiBoLT5k ZWZfcmVndWxhcikKLSAJICAgIHsKLS0JICAgICAgaWYgKCFiZmRfbGlua19waWMgKGluZm8pIHx8 ICFoLT5ub25fZ290X3JlZikKLSsJICAgICAgaWYgKCFiZmRfbGlua19waWMgKGluZm8pKQotIAkJ ewotLQkJICAvKiBGb3IgYSBub24tc2hhcmVkIG9iamVjdCBTVFRfR05VX0lGVU5DIHN5bWJvbCBt dXN0Ci0tCQkgICAgIGdvIHRocm91Z2ggUExULiAgKi8KLSsJCSAgLyogRm9yIGEgbm9uLXNoYXJl ZCBvYmplY3QgdGhlIHN5bWJvbCB3aWxsIG5vdAotKwkJICAgICBjaGFuZ2UuICBIZW5jZSB3ZSBj YW4gd3JpdGUgdGhlIGFkZHJlc3Mgb2YgdGhlCi0rCQkgICAgIHRhcmdldCBJUExUIHNsb3Qgbm93 LiAgKi8KLSAJCSAgcmVsb2NhdGlvbiA9IChodGFiLT5lbGYuaXBsdC0+b3V0cHV0X3NlY3Rpb24t PnZtYQotIAkJCQkrIGh0YWItPmVsZi5pcGx0LT5vdXRwdXRfb2Zmc2V0Ci0gCQkJCSsgaCAtPnBs dC5vZmZzZXQpOwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0wMm9mMzUucGF0 Y2ggYi9nZGItcmhiejE0MjAzMDQtczM5MHgtMDJvZjM1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCBhODljOTE5Li4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkw eC0wMm9mMzUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tOiBGZWRv cmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAx NyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTAyb2YzNS5w YXRjaAotCi1GaWxlTmFtZTogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTAyb2YzNS5wYXRjaAotCi0K LWNvbW1pdCBhMGExMTBiMGRkNTA3NzM3M2M0MTAyZDE1MDIxMzBlYjE1OWMzNjZiCi1BdXRob3I6 IEFuZHJlYXMgS3JlYmJlbCA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci1EYXRlOiAgIFdl ZCBNYXkgMTcgMTI6Mzk6MzkgMjAxNyArMDIwMAotCi0gICAgUy8zOTA6IEZpeCBhcmNoIGxldmVs IG9mIHBja21vIGluc3RydWN0aW9uLgotICAgIAotICAgIEZpeCB3cm9uZyBhcmNoaXRlY3R1cmUg bGV2ZWwgb2YgUENLTU8gaW5zdHJ1Y3Rpb24uCi0gICAgCi0gICAgQ29tbWl0dGVkIHRvIG1haW5s aW5lLgotICAgIAotICAgIG9wY29kZXMvQ2hhbmdlTG9nOgotICAgIAotICAgIDIwMTctMDUtMTcg IEFuZHJlYXMgS3JlYmJlbCAgPGtyZWJiZWxAbGludXgudm5ldC5pYm0uY29tPgotICAgIAotICAg ICAgICAgICAgKiBzMzkwLW9wYy50eHQ6IFBDS01PIGNoYW5nZSBhcmNoIGxldmVsIHRvIHoxOTYu Ci0gICAgCi0gICAgZ2FzL0NoYW5nZUxvZzoKLSAgICAKLSAgICAyMDE3LTA1LTE3ICBBbmRyZWFz IEtyZWJiZWwgIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAgICAKLSAgICAgICAgICAg ICogdGVzdHN1aXRlL2dhcy9zMzkwL3phcmNoLXoxMC5kOiBSZW1vdmUgcGNrbW8uCi0gICAgICAg ICAgICAqIHRlc3RzdWl0ZS9nYXMvczM5MC96YXJjaC16MTAuczogUmVtb3ZlIHBja21vLgotICAg ICAgICAgICAgKiB0ZXN0c3VpdGUvZ2FzL3MzOTAvemFyY2gtejE5Ni5kOiBBZGQgcGNrbW8uCi0g ICAgICAgICAgICAqIHRlc3RzdWl0ZS9nYXMvczM5MC96YXJjaC16MTk2LnM6IEFkZCBwY2ttby4K LQotLS0tIGEvb3Bjb2Rlcy9zMzkwLW9wYy50eHQKLSsrKyBiL29wY29kZXMvczM5MC1vcGMudHh0 Ci1AQCAtOTc2LDcgKzk3Niw2IEBAIGIyODYgcXNpIFNfUkQgInF1ZXJ5IHNhbXBsaW5nIGluZm9y bWF0aW9uIiB6MTAgemFyY2gKLSBiMmUwIHNjY3RyIFJSRV9SUiAic2V0IGNwdSBjb3VudGVyIiB6 MTAgemFyY2gKLSBiMmUxIHNwY3RyIFJSRV9SUiAic2V0IHBlcmlwaGVyYWwgY291bnRlciIgejEw IHphcmNoCi0gYjI4MCBscHAgU19SRCAibG9hZCBwcm9ncmFtIHBhcmFtZXRlciIgejEwIHphcmNo Ci0tYjkyOCBwY2ttbyBSUkVfMDAgInBlcmZvcm0gY3J5cHRvZ3JhcGhpYyBrZXkgbWFuYWdlbWVu dCBvcGVyYXRpb24iIHoxMCB6YXJjaAotIAotICMgVGhlIG5ldyBpbnN0cnVjdGlvbnMgb2YgdGhl IElCTSB6RW50ZXJwcmlzZSB6MTk2Ci0gYjljOCBhaGhociBSUkZfUjBSUjIgImFkZCBoaWdoIGhp Z2giIHoxOTYgemFyY2gKLUBAIC0xMTE2LDYgKzExMTUsNyBAQCBiOTJhIGttZiBSUkVfUlIgImNp cGhlciBtZXNzYWdlIHdpdGggQ0ZCIiB6MTk2IHphcmNoCi0gYjkyYiBrbW8gUlJFX1JSICJjaXBo ZXIgbWVzc2FnZSB3aXRoIE9GQiIgejE5NiB6YXJjaAotIGI5MmMgcGNjIFJSRV8wMCAicGVyZm9y bSBjcnlwdG9ncmFwaGljIGNvbXB1dGF0aW9uIiB6MTk2IHphcmNoCi0gYjkyZCBrbWN0ciBSUkZf UjBSUiAiY2lwaGVyIG1lc3NhZ2Ugd2l0aCBjb3VudGVyIiB6MTk2IHphcmNoCi0rYjkyOCBwY2tt byBSUkVfMDAgInBlcmZvcm0gY3J5cHRvZ3JhcGhpYyBrZXkgbWFuYWdlbWVudCBvcGVyYXRpb24i IHoxOTYgemFyY2gKLSAKLSAjIFRoZSBuZXcgaW5zdHJ1Y3Rpb25zIG9mIHRoZSBJQk0gekVudGVy cHJpc2UgRUMxMgotIGIyZWMgZXRuZCBSUkVfUjAgImV4dHJhY3QgdHJhbnNhY3Rpb24gbmVzdGlu ZyBkZXB0aCIgekVDMTIgemFyY2ggaHRtCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMz OTB4LTAzb2YzNS5wYXRjaCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0wM29mMzUucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3OThiMmEuLjAwMDAwMDAKLS0tIGEvZ2RiLXJo YnoxNDIwMzA0LXMzOTB4LTAzb2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAg QEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBG cmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQt czM5MHgtMDNvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMDNv ZjM1LnBhdGNoCi0KLQotY29tbWl0IGJmY2ZiZTYxMWI0ZDdlNjUwMjM2ZjhiOGJhN2QwNzA2Y2Zl NmEwYjcKLUF1dGhvcjogQW5kcmVhcyBLcmViYmVsIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNv bT4KLURhdGU6ICAgTW9uIE1heSAyOSAxMjozMzoxNSAyMDE3ICswMjAwCi0KLSAgICBTLzM5MDog UmVtb3ZlIG9wdGlvbmFsIG9wZXJhbmQgZmxhZy4KLSAgICAKLSAgICBUaGUgcGVyIG9wZXJhbmQg b3B0aW9uYWwgZmxhZyBoYXNuJ3QgYmVlbiB1c2VkIGZvciBxdWl0ZSBzb21lIHRpbWUuCi0gICAg Q2xlYW51cCBzb21lIHJlbWFpbnMuCi0gICAgCi0gICAgaW5jbHVkZS9DaGFuZ2VMb2c6Ci0gICAg Ci0gICAgMjAxNy0wNS0zMCAgQW5kcmVhcyBLcmViYmVsICA8a3JlYmJlbEBsaW51eC52bmV0Lmli bS5jb20+Ci0gICAgCi0gICAgICAgICAgICAqIG9wY29kZS9zMzkwLmg6IFJlbW92ZSBTMzkwX09Q RVJBTkRfT1BUSU9OQUwuCi0gICAgCi0gICAgZ2FzL0NoYW5nZUxvZzoKLSAgICAKLSAgICAyMDE3 LTA1LTMwICBBbmRyZWFzIEtyZWJiZWwgIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAg ICAKLSAgICAgICAgICAgICogY29uZmlnL3RjLXMzOTAuYyAobWRfZ2F0aGVyX29wZXJhbmRzKTog UmVtb3ZlIGNvZGUgZGVhbGluZyB3aXRoCi0gICAgICAgICAgICBTMzkwX09QRVJBTkRfT1BUSU9O QUwuCi0KLS0tLSBhL2luY2x1ZGUvb3Bjb2RlL3MzOTAuaAotKysrIGIvaW5jbHVkZS9vcGNvZGUv czM5MC5oCi1AQCAtMTU2LDIxICsxNTYsMTcgQEAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBzMzkwX29w ZXJhbmQgczM5MF9vcGVyYW5kc1tdOwotIC8qIFRoaXMgb3BlcmFuZCBpcyBhIGxlbmd0aC4gICov Ci0gI2RlZmluZSBTMzkwX09QRVJBTkRfTEVOR1RIIDB4MjAwCi0gCi0tLyogVGhpcyBvcGVyYW5k IGlzIG9wdGlvbmFsLiBPbmx5IGEgc2luZ2xlIG9wZXJhbmQgYXQgdGhlIGVuZCBvZgotLSAgIHRo ZSBpbnN0cnVjdGlvbiBtYXkgYmUgb3B0aW9uYWwuICAqLwotLSNkZWZpbmUgUzM5MF9PUEVSQU5E X09QVElPTkFMIDB4NDAwCi0tCi0gLyogVGhlIG9wZXJhbmQgbmVlZHMgdG8gYmUgYSB2YWxpZCBH UCBvciBGUCByZWdpc3RlciBwYWlyLiAgKi8KLS0jZGVmaW5lIFMzOTBfT1BFUkFORF9SRUdfUEFJ UiAweDgwMAotKyNkZWZpbmUgUzM5MF9PUEVSQU5EX1JFR19QQUlSIDB4NDAwCi0gCi0gLyogVGhp cyBvcGVyYW5kIG5hbWVzIGEgdmVjdG9yIHJlZ2lzdGVyLiAgVGhlIGRpc2Fzc2VtYmxlciB1c2Vz IHRoaXMKLSAgICB0byBwcmludCByZWdpc3RlciBuYW1lcyB3aXRoIGEgbGVhZGluZyAndicuICAq LwotLSNkZWZpbmUgUzM5MF9PUEVSQU5EX1ZSIDB4MTAwMAotKyNkZWZpbmUgUzM5MF9PUEVSQU5E X1ZSIDB4ODAwCi0gCi0tI2RlZmluZSBTMzkwX09QRVJBTkRfQ1AxNiAweDIwMDAKLSsjZGVmaW5l IFMzOTBfT1BFUkFORF9DUDE2IDB4MTAwMAotIAotLSNkZWZpbmUgUzM5MF9PUEVSQU5EX09SMSAw eDQwMDAKLS0jZGVmaW5lIFMzOTBfT1BFUkFORF9PUjIgMHg4MDAwCi0tI2RlZmluZSBTMzkwX09Q RVJBTkRfT1I4IDB4MTAwMDAKLSsjZGVmaW5lIFMzOTBfT1BFUkFORF9PUjEgMHgyMDAwCi0rI2Rl ZmluZSBTMzkwX09QRVJBTkRfT1IyIDB4NDAwMAotKyNkZWZpbmUgUzM5MF9PUEVSQU5EX09SOCAw eDgwMDAKLSAKLSAjZW5kaWYgLyogUzM5MF9IICovCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIw MzA0LXMzOTB4LTA0b2YzNS5wYXRjaCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0wNG9mMzUucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhODRhZTYuLjAwMDAwMDAKLS0tIGEv Z2RiLXJoYnoxNDIwMzA0LXMzOTB4LTA0b2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEw NCArMCwwIEBACi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgot RGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2RiLXJoYnox NDIwMzA0LXMzOTB4LTA0b2YzNS5wYXRjaAotCi1GaWxlTmFtZTogZ2RiLXJoYnoxNDIwMzA0LXMz OTB4LTA0b2YzNS5wYXRjaAotCi0KLWNvbW1pdCBhMDlmMjU4NjAxN2FlZWQ4MmZhMDdjOGJmZWE2 Yzc1ODU5Mjk1YmQ5Ci1BdXRob3I6IEFuZHJlYXMgS3JlYmJlbCA8a3JlYmJlbEBsaW51eC52bmV0 LmlibS5jb20+Ci1EYXRlOiAgIE1vbiBNYXkgMjkgMTI6MzQ6NTYgMjAxNyArMDIwMAotCi0gICAg Uy8zOTA6IEltcHJvdmUgZXJyb3IgY2hlY2tpbmcgZm9yIG9wdGlvbmFsIG9wZXJhbmRzCi0gICAg Ci0gICAgU28gZmFyIHdlIG9ubHkgaGFkIGFuIGluc3RydWN0aW9uIGZsYWcgd2hpY2ggbWFkZSBh biBhcmJpdHJhcnkgbnVtYmVyCi0gICAgb2Ygb3BlcmFuZHMgb3B0aW9uYWwuICBUaGlzIGxpbWl0 cyBlcnJvciBjaGVja2luZyBjYXBhYmlsaXRpZXMgZm9yCi0gICAgaW5zdHJ1Y3Rpb25zIG1hcmtl ZCB0aGF0IHdheS4gIFdpdGggdGhpcyBwYXRjaCB0aGUgb3B0cGFybSBmbGFnIG9ubHkKLSAgICBh bGxvd3MgYSBzaW5nbGUgb3B0aW9uYWwgcGFyYW1ldGVyIGFuZCBhbm90aGVyIG9uZSBpcyBhZGRl ZCAob3B0cGFybTIpCi0gICAgYWxsb3dpbmcgMiBvcHRpb25hbCBhcmd1bWVudHMuICBIb3BlZnVs bHkgd2Ugd29uJ3QgbmVlZCBtb3JlIHRoYW4gdGhhdAotICAgIGluIHRoZSBmdXR1cmUuIFNvIGZh ciB0aGVyZSB3aWxsIGJlIG9ubHkgYSBzaW5nbGUgdXNlIG9mIG9wdHBhcm0yLgotICAgIAotICAg IGdhcy9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgMjAxNy0wNS0zMCAgQW5kcmVhcyBLcmViYmVsICA8 a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci0gICAgCi0gICAgICAgICAgICAqIGNvbmZpZy90 Yy1zMzkwLmMgKG1kX2dhdGhlcl9vcGVyYW5kcyk6IFN1cHBvcnQgbmV3IG9wdHBhcm0yCi0gICAg ICAgICAgICBpbnN0cnVjdGlvbiBmbGFnLgotICAgIAotICAgIGluY2x1ZGUvQ2hhbmdlTG9nOgot ICAgIAotICAgIDIwMTctMDUtMzAgIEFuZHJlYXMgS3JlYmJlbCAgPGtyZWJiZWxAbGludXgudm5l dC5pYm0uY29tPgotICAgIAotICAgICAgICAgICAgKiBvcGNvZGUvczM5MC5oOiBBZGQgbmV3IGlu c3RydWN0aW9uIGZsYWdzIG9wdHBhcm0yLgotICAgIAotICAgIG9wY29kZXMvQ2hhbmdlTG9nOgot ICAgIAotICAgIDIwMTctMDUtMzAgIEFuZHJlYXMgS3JlYmJlbCAgPGtyZWJiZWxAbGludXgudm5l dC5pYm0uY29tPgotICAgIAotICAgICAgICAgICAgKiBzMzkwLWRpcy5jIChzMzkwX3ByaW50X2lu c25fd2l0aF9vcGNvZGUpOiBTdXBwb3J0IG5ldyBvcHRwYXJtMgotICAgICAgICAgICAgaW5zdHJ1 Y3Rpb24gZmxhZy4KLSAgICAgICAgICAgICogczM5MC1ta29wYy5jIChtYWluKTogUmVjb2duaXpl IHRoZSBuZXcgaW5zdHJ1Y3Rpb24gZmxhZyB3aGVuCi0gICAgICAgICAgICBwYXJzaW5nIGluc3Ry dWN0aW9uIGxpc3QuCi0KLS0tLSBhL2luY2x1ZGUvb3Bjb2RlL3MzOTAuaAotKysrIGIvaW5jbHVk ZS9vcGNvZGUvczM5MC5oCi1AQCAtNDgsMTAgKzQ4LDExIEBAIGVudW0gczM5MF9vcGNvZGVfY3B1 X3ZhbAotIAotIC8qIEluc3RydWN0aW9uIHNwZWNpZmljIGZsYWdzLiAgKi8KLSAjZGVmaW5lIFMz OTBfSU5TVFJfRkxBR19PUFRQQVJNIDB4MQotKyNkZWZpbmUgUzM5MF9JTlNUUl9GTEFHX09QVFBB Uk0yIDB4MgotIAotLSNkZWZpbmUgUzM5MF9JTlNUUl9GTEFHX0hUTSAweDIKLS0jZGVmaW5lIFMz OTBfSU5TVFJfRkxBR19WWCAweDQKLS0jZGVmaW5lIFMzOTBfSU5TVFJfRkxBR19GQUNJTElUWV9N QVNLIDB4NgotKyNkZWZpbmUgUzM5MF9JTlNUUl9GTEFHX0hUTSAweDQKLSsjZGVmaW5lIFMzOTBf SU5TVFJfRkxBR19WWCAweDgKLSsjZGVmaW5lIFMzOTBfSU5TVFJfRkxBR19GQUNJTElUWV9NQVNL IDB4YwotIAotIC8qIFRoZSBvcGNvZGUgdGFibGUgaXMgYW4gYXJyYXkgb2Ygc3RydWN0IHMzOTBf b3Bjb2RlLiAgKi8KLSAKLS0tLSBhL29wY29kZXMvczM5MC1kaXMuYwotKysrIGIvb3Bjb2Rlcy9z MzkwLWRpcy5jCi1AQCAtMjA2LDExICsyMDYsMjAgQEAgczM5MF9wcmludF9pbnNuX3dpdGhfb3Bj b2RlIChiZmRfdm1hIG1lbWFkZHIsCi0gCi0gICAgICAgLyogRm9yIGluc3RydWN0aW9ucyB3aXRo IGEgbGFzdCBvcHRpb25hbCBvcGVyYW5kIGRvbid0IHByaW50IGl0Ci0gCSBpZiB6ZXJvLiAgKi8K LS0gICAgICBpZiAoKG9wY29kZS0+ZmxhZ3MgJiBTMzkwX0lOU1RSX0ZMQUdfT1BUUEFSTSkKLSsg ICAgICBpZiAoKG9wY29kZS0+ZmxhZ3MgJiAoUzM5MF9JTlNUUl9GTEFHX09QVFBBUk0gfCBTMzkw X0lOU1RSX0ZMQUdfT1BUUEFSTTIpKQotIAkgICYmIHZhbC51ID09IDAKLSAJICAmJiBvcGluZGV4 WzFdID09IDApCi0gCWJyZWFrOwotIAotKyAgICAgIGlmICgob3Bjb2RlLT5mbGFncyAmIFMzOTBf SU5TVFJfRkxBR19PUFRQQVJNMikKLSsJICAmJiB2YWwudSA9PSAwICYmIG9waW5kZXhbMV0gIT0g MCAmJiBvcGluZGV4WzJdID09IDApCi0rCXsKLSsJICB1bmlvbiBvcGVyYW5kX3ZhbHVlIG5leHRf b3BfdmFsID0KLSsJICAgIHMzOTBfZXh0cmFjdF9vcGVyYW5kIChidWZmZXIsIHMzOTBfb3BlcmFu ZHMgKyBvcGluZGV4WzFdKTsKLSsJICBpZiAobmV4dF9vcF92YWwudSA9PSAwKQotKwkgICAgYnJl YWs7Ci0rCX0KLSsKLSAgICAgICBpZiAoZmxhZ3MgJiBTMzkwX09QRVJBTkRfR1BSKQotIAlpbmZv LT5mcHJpbnRmX2Z1bmMgKGluZm8tPnN0cmVhbSwgIiVjJSVyJXUiLCBzZXBhcmF0b3IsIHZhbC51 KTsKLSAgICAgICBlbHNlIGlmIChmbGFncyAmIFMzOTBfT1BFUkFORF9GUFIpCi0tLS0gYS9vcGNv ZGVzL3MzOTAtbWtvcGMuYwotKysrIGIvb3Bjb2Rlcy9zMzkwLW1rb3BjLmMKLUBAIC00MTEsMTIg KzQxMSwxNiBAQCBtYWluICh2b2lkKQotIAkJJiYgKHN0cls3XSA9PSAwIHx8IHN0cls3XSA9PSAn LCcpKSB7Ci0gCSAgICAgIGZsYWdfYml0cyB8PSBTMzkwX0lOU1RSX0ZMQUdfT1BUUEFSTTsKLSAJ ICAgICAgc3RyICs9IDc7Ci0rCSAgICB9IGVsc2UgaWYgKHN0cm5jbXAgKHN0ciwgIm9wdHBhcm0y IiwgOCkgPT0gMAotKwkJICAgICAgICYmIChzdHJbOF0gPT0gMCB8fCBzdHJbOF0gPT0gJywnKSkg ewotKwkgICAgICBmbGFnX2JpdHMgfD0gUzM5MF9JTlNUUl9GTEFHX09QVFBBUk0yOwotKwkgICAg ICBzdHIgKz0gODsKLSAJICAgIH0gZWxzZSBpZiAoc3RybmNtcCAoc3RyLCAiaHRtIiwgMykgPT0g MAotLQkJJiYgKHN0clszXSA9PSAwIHx8IHN0clszXSA9PSAnLCcpKSB7Ci0rCQkgICAgICAgJiYg KHN0clszXSA9PSAwIHx8IHN0clszXSA9PSAnLCcpKSB7Ci0gCSAgICAgIGZsYWdfYml0cyB8PSBT MzkwX0lOU1RSX0ZMQUdfSFRNOwotIAkgICAgICBzdHIgKz0gMzsKLSAJICAgIH0gZWxzZSBpZiAo c3RybmNtcCAoc3RyLCAidngiLCAyKSA9PSAwCi0tCQkmJiAoc3RyWzJdID09IDAgfHwgc3RyWzJd ID09ICcsJykpIHsKLSsJCSAgICAgICAmJiAoc3RyWzJdID09IDAgfHwgc3RyWzJdID09ICcsJykp IHsKLSAJICAgICAgZmxhZ19iaXRzIHw9IFMzOTBfSU5TVFJfRkxBR19WWDsKLSAJICAgICAgc3Ry ICs9IDI7Ci0gCSAgICB9IGVsc2UgewoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkw eC0wNW9mMzUucGF0Y2ggYi9nZGItcmhiejE0MjAzMDQtczM5MHgtMDVvZjM1LnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWE3OTI5Li4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6 MTQyMDMwNC1zMzkweC0wNW9mMzUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBA Ci1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJp LCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2RiLXJoYnoxNDIwMzA0LXMz OTB4LTA1b2YzNS5wYXRjaAotCi1GaWxlTmFtZTogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTA1b2Yz NS5wYXRjaAotCi0KLWNvbW1pdCBmZmM2MWM1ZGUxYTVhODllM2UzN2ZiOTM3NjcyNWMzMmE4Mzlj MzRkCi1BdXRob3I6IEFuZHJlYXMgS3JlYmJlbCA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+ Ci1EYXRlOiAgIE1vbiBNYXkgMjkgMTI6MzY6NTcgMjAxNyArMDIwMAotCi0gICAgUy8zOTA6IEFk ZCBpcHRlL2lkdGUgdmFyaWFudHMgd2l0aCBvcHRpb25hbCBvcGVyYW5kcwotICAgIAotICAgIFRo aXMgcGF0Y2ggYWRkcyBtaXNzaW5nIHZhcmlhbnRzIG9mIGlwdGUgYW5kIGlkdGUgaW5zdHJ1Y3Rp b25zIGFkZGVkIHdpdGggbGF0ZXIgQ1BVCi0gICAgZ2VuZXJhdGlvbnMuCi0gICAgCi0gICAgaXB0 ZSBnb3QgYW4gb3B0aW9uYWwgb3BlcmFuZCB3aXRoIHoxOTYgYW5kIGFub3RoZXIgb25lIHdpdGgg ekVDMTIuCi0gICAgaWR0ZSBnb3QgYW4gb3B0aW9uYWwgb3BlcmFuZCB3aXRoIHpFQzEyCi0gICAg Ci0gICAgb3Bjb2Rlcy9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgMjAxNy0wNS0zMCAgQW5kcmVhcyBL cmViYmVsICA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci0gICAgCi0gICAgICAgICAgICAq IHMzOTAtb3BjLmM6IEFkZCBuZXcgaWR0ZS9pcHRlIHZhcmlhbnRzLgotICAgICAgICAgICAgKiBz MzkwLW9wYy50eHQ6IExpa2V3aXNlLgotICAgIAotICAgIGdhcy9DaGFuZ2VMb2c6Ci0gICAgCi0g ICAgMjAxNy0wNS0zMCAgQW5kcmVhcyBLcmViYmVsICA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5j b20+Ci0gICAgCi0gICAgICAgICAgICAqIHRlc3RzdWl0ZS9nYXMvczM5MC96YXJjaC16MTk2LmQ6 IEFkZCBuZXcgaWR0ZS9pcHRlIHZhcmlhbnRzLgotICAgICAgICAgICAgKiB0ZXN0c3VpdGUvZ2Fz L3MzOTAvemFyY2gtejE5Ni5zOiBMaWtld2lzZS4KLSAgICAgICAgICAgICogdGVzdHN1aXRlL2dh cy9zMzkwL3phcmNoLXpFQzEyLmQ6IExpa2V3aXNlLgotICAgICAgICAgICAgKiB0ZXN0c3VpdGUv Z2FzL3MzOTAvemFyY2gtekVDMTIuczogTGlrZXdpc2UuCi0KLS0tLSBhL29wY29kZXMvczM5MC1v cGMuYwotKysrIGIvb3Bjb2Rlcy9zMzkwLW9wYy5jCi1AQCAtMzU1LDcgKzM1NSw3IEBAIGNvbnN0 IHN0cnVjdCBzMzkwX29wZXJhbmQgczM5MF9vcGVyYW5kc1tdID0KLSAjZGVmaW5lIElOU1RSX1JS Rl9GRVVGRUZFICA0LCB7IEZFXzI0LEZFXzE2LEZFXzI4LFU0XzIwLDAsMCB9ICAgIC8qIGUuZy4g cWF4dHIgKi8KLSAjZGVmaW5lIElOU1RSX1JSRl9GVUZGMiAgICA0LCB7IEZfMjQsRl8yOCxGXzE2 LFU0XzIwLDAsMCB9ICAgICAgIC8qIGUuZy4gYWR0cmEgKi8KLSAjZGVmaW5lIElOU1RSX1JSRl9G RVVGRUZFMiA0LCB7IEZFXzI0LEZFXzI4LEZFXzE2LFU0XzIwLDAsMCB9ICAgIC8qIGUuZy4gYXh0 cmEgKi8KLS0jZGVmaW5lIElOU1RSX1JSRl9SVVJSICAgICA0LCB7IFJfMjQsUl8yOCxSXzE2LFU0 XzIwLDAsMCB9ICAgICAgIC8qIGUuZy4gLmluc24gKi8KLSsjZGVmaW5lIElOU1RSX1JSRl9SVVJS ICAgICA0LCB7IFJfMjQsUl8yOCxSXzE2LFU0XzIwLDAsMCB9ICAgICAgIC8qIGUuZy4gaXB0ZSAg Ki8KLSAjZGVmaW5lIElOU1RSX1JSRl9SVVJSMiAgICA0LCB7IFJfMjQsUl8xNixSXzI4LFU0XzIw LDAsMCB9ICAgICAgIC8qIGUuZy4gbHB0ZWEgKi8KLSAjZGVmaW5lIElOU1RSX1JSRl9SMFJSICAg ICA0LCB7IFJfMjQsUl8xNixSXzI4LDAsMCwwIH0gICAgICAgICAgIC8qIGUuZy4gaWR0ZSAgKi8K LSAjZGVmaW5lIElOU1RSX1JSRl9SMFJSMiAgICA0LCB7IFJfMjQsUl8yOCxSXzE2LDAsMCwwIH0g ICAgICAgICAgIC8qIGUuZy4gYXJrICAgKi8KLS0tLSBhL29wY29kZXMvczM5MC1vcGMudHh0Ci0r KysgYi9vcGNvZGVzL3MzOTAtb3BjLnR4dAotQEAgLTExMTYsNiArMTExNiw3IEBAIGI5MmIga21v IFJSRV9SUiAiY2lwaGVyIG1lc3NhZ2Ugd2l0aCBPRkIiIHoxOTYgemFyY2gKLSBiOTJjIHBjYyBS UkVfMDAgInBlcmZvcm0gY3J5cHRvZ3JhcGhpYyBjb21wdXRhdGlvbiIgejE5NiB6YXJjaAotIGI5 MmQga21jdHIgUlJGX1IwUlIgImNpcGhlciBtZXNzYWdlIHdpdGggY291bnRlciIgejE5NiB6YXJj aAotIGI5MjggcGNrbW8gUlJFXzAwICJwZXJmb3JtIGNyeXB0b2dyYXBoaWMga2V5IG1hbmFnZW1l bnQgb3BlcmF0aW9uIiB6MTk2IHphcmNoCi0rYjIyMSBpcHRlIFJSRl9SMFJSMiAiaW52YWxpZGF0 ZSBwYWdlIHRhYmxlIGVudHJ5IiB6MTk2IHphcmNoIG9wdHBhcm0KLSAKLSAjIFRoZSBuZXcgaW5z dHJ1Y3Rpb25zIG9mIHRoZSBJQk0gekVudGVycHJpc2UgRUMxMgotIGIyZWMgZXRuZCBSUkVfUjAg ImV4dHJhY3QgdHJhbnNhY3Rpb24gbmVzdGluZyBkZXB0aCIgekVDMTIgemFyY2ggaHRtCi1AQCAt MTE0Myw2ICsxMTQ0LDggQEAgZWQwMDAwMDAwMGFhIGNkenQgUlNMX0xSREZVICJjb252ZXJ0IGZy b20gem9uZWQgbG9uZyIgekVDMTIgemFyY2gKLSBlZDAwMDAwMDAwYWIgY3h6dCBSU0xfTFJERkVV ICJjb252ZXJ0IGZyb20gem9uZWQgZXh0ZW5kZWQiIHpFQzEyIHphcmNoCi0gZWQwMDAwMDAwMGE4 IGN6ZHQgUlNMX0xSREZVICJjb252ZXJ0IHRvIHpvbmVkIGxvbmciIHpFQzEyIHphcmNoCi0gZWQw MDAwMDAwMGE5IGN6eHQgUlNMX0xSREZFVSAiY29udmVydCB0byB6b25lZCBleHRlbmRlZCIgekVD MTIgemFyY2gKLStiOThlIGlkdGUgUlJGX1JVUlIyICJpbnZhbGlkYXRlIGRhdCB0YWJsZSBlbnRy eSIgekVDMTIgemFyY2ggb3B0cGFybQotK2IyMjEgaXB0ZSBSUkZfUlVSUiAiaW52YWxpZGF0ZSBw YWdlIHRhYmxlIGVudHJ5IiB6RUMxMiB6YXJjaCBvcHRwYXJtMgotIAotICMgVGhlIG5ldyBpbnN0 cnVjdGlvbnMgb2YgSUJNIHoxMwotIAoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkw eC0wNm9mMzUucGF0Y2ggYi9nZGItcmhiejE0MjAzMDQtczM5MHgtMDZvZjM1LnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiN2VkZTQyLi4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6 MTQyMDMwNC1zMzkweC0wNm9mMzUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBA Ci1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJp LCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2RiLXJoYnoxNDIwMzA0LXMz OTB4LTA2b2YzNS5wYXRjaAotCi1GaWxlTmFtZTogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTA2b2Yz NS5wYXRjaAotCi0KLWNvbW1pdCA2N2FhOGJlNGNiNDNjZDk0YmMzMjJmZWQ4YmRiYTQ4YjNjODcx OWM0Ci1BdXRob3I6IEFuZHJlYXMgS3JlYmJlbCA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+ Ci1EYXRlOiAgIE1vbiBNYXkgMjkgMTI6Mzg6MTEgMjAxNyArMDIwMAotCi0gICAgUy8zOTA6IEFk ZCBtaXNzaW5nIG9wZXJhbmQgdG8gdGIgaW5zdHJ1Y3Rpb24KLSAgICAKLSAgICBnYXMvQ2hhbmdl TG9nOgotICAgIAotICAgIDIwMTctMDUtMzAgIEFuZHJlYXMgS3JlYmJlbCAgPGtyZWJiZWxAbGlu dXgudm5ldC5pYm0uY29tPgotICAgIAotICAgICAgICAgICAgKiB0ZXN0c3VpdGUvZ2FzL3MzOTAv ZXNhLWc1LmQ6IEFkZCBtaXNzaW5nIG9wZXJhbmQgdG8gdGIKLSAgICAgICAgICAgIGluc3RydWN0 aW9uLgotICAgICAgICAgICAgKiB0ZXN0c3VpdGUvZ2FzL3MzOTAvZXNhLWc1LnM6IExpa2V3aXNl LgotICAgIAotICAgIG9wY29kZXMvQ2hhbmdlTG9nOgotICAgIAotICAgIDIwMTctMDUtMzAgIEFu ZHJlYXMgS3JlYmJlbCAgPGtyZWJiZWxAbGludXgudm5ldC5pYm0uY29tPgotICAgIAotICAgICAg ICAgICAgKiBzMzkwLW9wYy50eHQ6IEFkZCBtaXNzaW5nIG9wZXJhbmQgdG8gdGIgaW5zdHJ1Y3Rp b24uCi0KLS0tLSBhL29wY29kZXMvczM5MC1vcGMudHh0Ci0rKysgYi9vcGNvZGVzL3MzOTAtb3Bj LnR4dAotQEAgLTIyOCw3ICsyMjgsNyBAQCBiMjQ2IHN0dXJhIFJSRV9SUiAic3RvcmUgdXNpbmcg cmVhbCBhZGRyZXNzIiBnNSBlc2EsemFyY2gKLSAyZiBzd3IgUlJfRkYgInN1YnRyYWN0IHVubm9y bWFsaXplZCAobG9uZykiIGc1IGVzYSx6YXJjaAotIDM3IHN4ciBSUl9GRUZFICJzdWJ0cmFjdCBu b3JtYWxpemVkIChleHQuKSIgZzUgZXNhLHphcmNoCi0gYjI0YyB0YXIgUlJFX0FSICJ0ZXN0IGFj Y2VzcyIgZzUgZXNhLHphcmNoCi0tYjIyYyB0YiBSUkVfMFIgInRlc3QgYmxvY2siIGc1IGVzYSx6 YXJjaAotK2IyMmMgdGIgUlJFX1JSICJ0ZXN0IGJsb2NrIiBnNSBlc2EsemFyY2gKLSA5MSB0bSBT SV9VUkQgInRlc3QgdW5kZXIgbWFzayIgZzUgZXNhLHphcmNoCi0gYjIzNiB0cGkgU19SRCAidGVz dCBwZW5kaW5nIGludGVycnVwdGlvbiIgZzUgZXNhLHphcmNoCi0gZTUwMSB0cHJvdCBTU0VfUkRS RCAidGVzdCBwcm90ZWN0aW9uIiBnNSBlc2EsemFyY2gKCmRpZmYgLS1naXQgYS9nZGItcmhiejE0 MjAzMDQtczM5MHgtMDdvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTA3b2YzNS5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjc0NTQ5Ny4uMDAwMDAwMAotLS0g YS9nZGItcmhiejE0MjAzMDQtczM5MHgtMDdvZjM1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs NjAgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4K LURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IGdkYi1yaGJ6 MTQyMDMwNC1zMzkweC0wN29mMzUucGF0Y2gKLQotRmlsZU5hbWU6IGdkYi1yaGJ6MTQyMDMwNC1z MzkweC0wN29mMzUucGF0Y2gKLQotCi1jb21taXQgY2E4N2FlNzQxZmU5YzhhYWQ5ZGIxYWZiZjEw OWRjMDcwZDAxNjhjZgotQXV0aG9yOiBBbmRyZWFzIEtyZWJiZWwgPGtyZWJiZWxAbGludXgudm5l dC5pYm0uY29tPgotRGF0ZTogICBNb24gTWF5IDI5IDEyOjM4OjQyIDIwMTcgKzAyMDAKLQotICAg IFMvMzkwOiBGaXggaW5zdHJ1Y3Rpb24gdHlwZXMgb2YgY3NkdHIgYW5kIGNzeHRyCi0gICAgCi0g ICAgb3Bjb2Rlcy9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgMjAxNy0wNS0zMCAgQW5kcmVhcyBLcmVi YmVsICA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci0gICAgCi0gICAgICAgICAgICAqIHMz OTAtb3BjLmM6IEFkZCBuZXcgaW5zdHJ1Y3Rpb24gdHlwZXMgUlJGXzBVUkYgYW5kIFJSRl8wVVJF RkUuCi0gICAgICAgICAgICAqIHMzOTAtb3BjLnR4dDogRml4IGluc3RydWN0aW9uIHR5cHMgb2Yg Y3NkdHIgYW5kIGNzeHRyLgotICAgIAotICAgIGdhcy9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgMjAx Ny0wNS0zMCAgQW5kcmVhcyBLcmViYmVsICA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci0g ICAgCi0gICAgICAgICAgICAqIHRlc3RzdWl0ZS9nYXMvczM5MC96YXJjaC16OS1lYy5kOiBBZGp1 c3QgY3NkdHIgYW5kIGNzeHRyLgotICAgICAgICAgICAgKiB0ZXN0c3VpdGUvZ2FzL3MzOTAvemFy Y2gtejktZWMuczogTGlrZXdpc2UuCi0KLS0tLSBhL29wY29kZXMvczM5MC1vcGMuYwotKysrIGIv b3Bjb2Rlcy9zMzkwLW9wYy5jCi1AQCAtMzc0LDYgKzM3NCw4IEBAIGNvbnN0IHN0cnVjdCBzMzkw X29wZXJhbmQgczM5MF9vcGVyYW5kc1tdID0KLSAjZGVmaW5lIElOU1RSX1JSRl9VMFJFUiAgICA0 LCB7IFJFXzI0LFJfMjgsVTRfMTYsMCwwLDAgfSAgICAgICAgIC8qIGUuZy4gdHJ0ZSAgKi8KLSAj ZGVmaW5lIElOU1RSX1JSRl9VMFJFUkUgICA0LCB7IFJFXzI0LFJFXzI4LFU0XzE2LDAsMCwwIH0g ICAgICAgIC8qIGUuZy4gY3UyNCAgKi8KLSAjZGVmaW5lIElOU1RSX1JSRl8wMFJSICAgICA0LCB7 IFJfMjQsUl8yOCwwLDAsMCwwIH0gICAgICAgICAgICAgIC8qIGUuZy4gY2xydG5lICovCi0rI2Rl ZmluZSBJTlNUUl9SUkZfMFVSRiAgICAgNCwgeyBSXzI0LEZfMjgsVTRfMjAsMCwwLDAgfSAgICAg ICAgICAvKiBlLmcuIGNzZHRyICAqLwotKyNkZWZpbmUgSU5TVFJfUlJGXzBVUkVGRSAgIDQsIHsg UkVfMjQsRkVfMjgsVTRfMjAsMCwwLDAgfSAgICAgICAgLyogZS5nLiBjc3h0ciAgKi8KLSAjZGVm aW5lIElOU1RSX1JSRl9VVUZSICAgICA0LCB7IEZfMjQsVTRfMTYsUl8yOCxVNF8yMCwwLDAgfSAg ICAgIC8qIGUuZy4gY2RndHJhICovCi0gI2RlZmluZSBJTlNUUl9SUkZfVVVGRVIgICAgNCwgeyBG RV8yNCxVNF8xNixSXzI4LFU0XzIwLDAsMCB9ICAgICAvKiBlLmcuIGN4ZmJyYSAqLwotICNkZWZp bmUgSU5TVFJfUlJGX1VVUkYgICAgIDQsIHsgUl8yNCxVNF8xNixGXzI4LFU0XzIwLDAsMCB9ICAg ICAgLyogZS5nLiBjZ2R0cmEgKi8KLUBAIC01OTAsNiArNTkyLDggQEAgY29uc3Qgc3RydWN0IHMz OTBfb3BlcmFuZCBzMzkwX29wZXJhbmRzW10gPQotICNkZWZpbmUgTUFTS19SUkZfVTBSRVIgICAg eyAweGZmLCAweGZmLCAweDBmLCAweDAwLCAweDAwLCAweDAwIH0KLSAjZGVmaW5lIE1BU0tfUlJG X1UwUkVSRSAgIHsgMHhmZiwgMHhmZiwgMHgwZiwgMHgwMCwgMHgwMCwgMHgwMCB9Ci0gI2RlZmlu ZSBNQVNLX1JSRl8wMFJSICAgICB7IDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAg fQotKyNkZWZpbmUgTUFTS19SUkZfMFVSRiAgICAgeyAweGZmLCAweGZmLCAweGYwLCAweDAwLCAw eDAwLCAweDAwIH0KLSsjZGVmaW5lIE1BU0tfUlJGXzBVUkVGRSAgIHsgMHhmZiwgMHhmZiwgMHhm MCwgMHgwMCwgMHgwMCwgMHgwMCB9Ci0gI2RlZmluZSBNQVNLX1JSRl9VVUZSICAgICB7IDB4ZmYs IDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgfQotICNkZWZpbmUgTUFTS19SUkZfVVVGRVIg ICAgeyAweGZmLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDAwIH0KLSAjZGVmaW5lIE1BU0tf UlJGX1VVUkYgICAgIHsgMHhmZiwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCB9Ci0tLS0g YS9vcGNvZGVzL3MzOTAtb3BjLnR4dAotKysrIGIvb3Bjb2Rlcy9zMzkwLW9wYy50eHQKLUBAIC04 MTcsOCArODE3LDggQEAgYjNmMiBjZHV0ciBSUkVfRlIgImNvbnZlcnQgZnJvbSB1bnNpZ25lZCBi Y2QgdG8gbG9uZyBkZnAiIHo5LWVjIHphcmNoCi0gYjNmYSBjeHV0ciBSUkVfRkVSICJjb252ZXJ0 IGZyb20gdW5zaWduZWQgYmNkIHRvIGV4dGVuZGVkIGRmcCIgejktZWMgemFyY2gKLSBiM2UxIGNn ZHRyIFJSRl9VMFJGICJjb252ZXJ0IGZyb20gbG9uZyBkZnAgdG8gZml4ZWQiIHo5LWVjIHphcmNo Ci0gYjNlOSBjZ3h0ciBSUkZfVTBSRkUgImNvbnZlcnQgZnJvbSBleHRlbmRlZCBkZnAgdG8gZml4 ZWQiIHo5LWVjIHphcmNoCi0tYjNlMyBjc2R0ciBSUkVfUkYgImNvbnZlcnQgZnJvbSBsb25nIGRm cCB0byBzaWduZWQgYmNkIiB6OS1lYyB6YXJjaAotLWIzZWIgY3N4dHIgUlJFX1JGRSAiY29udmVy dCBmcm9tIGV4dGVuZGVkIGRmcCB0byBzaWduZWQgYmNkIiB6OS1lYyB6YXJjaAotK2IzZTMgY3Nk dHIgUlJGXzBVUkYgImNvbnZlcnQgZnJvbSBsb25nIGRmcCB0byBzaWduZWQgYmNkIiB6OS1lYyB6 YXJjaAotK2IzZWIgY3N4dHIgUlJGXzBVUkVGRSAiY29udmVydCBmcm9tIGV4dGVuZGVkIGRmcCB0 byBzaWduZWQgYmNkIiB6OS1lYyB6YXJjaAotIGIzZTIgY3VkdHIgUlJFX1JGICJjb252ZXJ0IGZy b20gbG9uZyBkZnAgdG8gdW5zaWduZWQgYmNkIiB6OS1lYyB6YXJjaAotIGIzZWEgY3V4dHIgUlJF X1JGRSAiY29udmVydCBmcm9tIGV4dGVuZGVkIGRmcCB0byB1bnNpZ25lZCBiY2QiIHo5LWVjIHph cmNoCi0gYjNkMSBkZHRyIFJSUl9GMEZGICJkaXZpZGUgbG9uZyBkZnAiIHo5LWVjIHphcmNoCgpk aWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTA4b2YzNS5wYXRjaCBiL2dkYi1yaGJ6 MTQyMDMwNC1zMzkweC0wOG9mMzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDk1NmU2NTguLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTA4b2YzNS5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDgzICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hl cyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICsw MjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMDhvZjM1LnBhdGNoCi0KLUZpbGVO YW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMDhvZjM1LnBhdGNoCi0KLQotY29tbWl0IDE5ZmIz MWMwMDYwZjY0NmE5Zjg0YmUxYTg0ZWQxYmVhMDRlN2VkNTcKLUF1dGhvcjogQW5kcmVhcyBLcmVi YmVsIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgVGh1IEp1biAxIDEzOjQ2 OjE1IDIwMTcgKzAyMDAKLQotICAgIFMvMzkwOiBpZHRlL2lwdGUgZml4ZXMKLSAgICAKLSAgICBM YXRlciBDUFUgZ2VuZXJhdGlvbnMgYWRkZWQgb3B0aW9uYWwgb3BlcmFuZHMgdG8gdGhlIGlwdGUv aWR0ZQotICAgIGluc3RydWN0aW9ucy4gIEkndmUgYWRkZWQgdGhlc2Ugd2l0aDoKLSAgICBodHRw czovL3NvdXJjZXdhcmUub3JnL21sL2JpbnV0aWxzLzIwMTctMDUvbXNnMDAzMTYuaHRtbCAuLi4g YnV0Ci0gICAgc3VwcG9ydGVkIHRoZSBvcHRpb25hbCBvcGVyYW5kcyBvbmx5IHdpdGggdGhlIHNw ZWNpZmljIGhhcmR3YXJlCi0gICAgbGV2ZWxzLiAgSG93ZXZlciwgaXQgaXMgbW9yZSB1c2VmdWwg dG8gaGF2ZSB0aGUgb3B0aW9uYWwgb3BlcmFuZHMKLSAgICBhbHJlYWR5IGluIHRoZSBmaXJzdCB2 ZXJzaW9ucy4gIE9mIGNvdXJzZSB0aGV5IG5lZWQgdG8gYmUgemVybyB0aGVyZS4KLSAgICAKLSAg ICBSZWdyZXNzaW9uLXRlc3RlZCB3aXRoIG9uIHMzOTAgYW5kIHMzOTB4LiAgQ29tbWl0dGVkIHRv IG1haW5saW5lLgotICAgIAotICAgIEJ5ZSwKLSAgICAKLSAgICAtQW5kcmVhcy0KLSAgICAKLSAg ICBvcGNvZGVzL0NoYW5nZUxvZzoKLSAgICAKLSAgICAyMDE3LTA2LTAxICBBbmRyZWFzIEtyZWJi ZWwgIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAgICAKLSAgICAgICAgICAgICogczM5 MC1vcGMudHh0OiBTdXBwb3J0IHRoZSBvcHRpb25hbCBwYXJhbWV0ZXJzIHdpdGggdGhlIGZpcnN0 Ci0gICAgICAgICAgICB2ZXJzaW9ucyBvZiBpcHRlL2lkdGUuCi0gICAgCi0gICAgZ2FzL0NoYW5n ZUxvZzoKLSAgICAKLSAgICAyMDE3LTA2LTAxICBBbmRyZWFzIEtyZWJiZWwgIDxrcmViYmVsQGxp bnV4LnZuZXQuaWJtLmNvbT4KLSAgICAKLSAgICAgICAgICAgICogdGVzdHN1aXRlL2dhcy9zMzkw L2VzYS1nNS5kOiBBZGQgaXB0ZSB0ZXN0cy4KLSAgICAgICAgICAgICogdGVzdHN1aXRlL2dhcy9z MzkwL2VzYS1nNS5zOiBMaWtld2lzZS4KLSAgICAgICAgICAgICogdGVzdHN1aXRlL2dhcy9zMzkw L3phcmNoLXoxOTYuZDogUmVtb3ZlIGlwdGUgdGVzdHMuCi0gICAgICAgICAgICAqIHRlc3RzdWl0 ZS9nYXMvczM5MC96YXJjaC16MTk2LnM6IExpa2V3aXNlLgotICAgICAgICAgICAgKiB0ZXN0c3Vp dGUvZ2FzL3MzOTAvemFyY2gtejk5MC5kOiBBZGQgaWR0ZSB0ZXN0cy4KLSAgICAgICAgICAgICog dGVzdHN1aXRlL2dhcy9zMzkwL3phcmNoLXo5OTAuczogTGlrZXdpc2UuCi0gICAgICAgICAgICAq IHRlc3RzdWl0ZS9nYXMvczM5MC96YXJjaC16RUMxMi5kOiBSZW1vdmUgaXB0ZS9pZHRlIHRlc3Rz LgotICAgICAgICAgICAgKiB0ZXN0c3VpdGUvZ2FzL3MzOTAvemFyY2gtekVDMTIuczogTGlrZXdp c2UuCi0KLS0tLSBhL29wY29kZXMvczM5MC1vcGMudHh0Ci0rKysgYi9vcGNvZGVzL3MzOTAtb3Bj LnR4dAotQEAgLTc5LDcgKzc5LDcgQEAgYjIyNCBpYWMgUlJFX1IwICJpbnNlcnQgYWRkcmVzcyBz cGFjZSBjb250cm9sIiBnNSBlc2EsemFyY2gKLSBiZiBpY20gUlNfUlVSRCAiaW5zZXJ0IGNoYXJh Y3RlcnMgdW5kZXIgbWFzayIgZzUgZXNhLHphcmNoCi0gYjIwYiBpcGsgU18wMCAiaW5zZXJ0IFBT VyBrZXkiIGc1IGVzYSx6YXJjaAotIGIyMjIgaXBtIFJSRV9SMCAiaW5zZXJ0IHByb2dyYW0gbWFz ayIgZzUgZXNhLHphcmNoCi0tYjIyMSBpcHRlIFJSRV9SUiAiaW52YWxpZGF0ZSBwYWdlIHRhYmxl IGVudHJ5IiBnNSBlc2EsemFyY2gKLStiMjIxIGlwdGUgUlJGX1JVUlIgImludmFsaWRhdGUgcGFn ZSB0YWJsZSBlbnRyeSIgZzUgZXNhLHphcmNoIG9wdHBhcm0yCi0gYjIyOSBpc2tlIFJSRV9SUiAi aW5zZXJ0IHN0b3JhZ2Uga2V5IGV4dGVuZGVkIiBnNSBlc2EsemFyY2gKLSBiMjIzIGl2c2sgUlJF X1JSICJpbnNlcnQgdmlydHVhbCBzdG9yYWdlIGtleSIgZzUgZXNhLHphcmNoCi0gNTggbCBSWF9S UlJEICJsb2FkIiBnNSBlc2EsemFyY2gKLUBAIC03MDAsNyArNzAwLDcgQEAgZWIwMDAwMDAwMDhm IGNsY2x1IFJTWV9SUlJEICJjb21wYXJlIGxvZ2ljYWwgbG9uZyB1bmljb2RlIHdpdGggbG9uZyBv ZmZzZXQiIHo5OTAKLSBlYjAwMDAwMDAwOTYgbG1oIFJTWV9SUlJEICJsb2FkIG11bHRpcGxlIGhp Z2giIHo5OTAgemFyY2gKLSAjIG5ldyB6OTkwIGluc3RydWN0aW9ucwotIGI5OGEgY3NwZyBSUkVf UlIgImNvbXBhcmUgYW5kIHN3YXAgYW5kIHB1cmdlIiB6OTkwIHphcmNoCi0tYjk4ZSBpZHRlIFJS Rl9SMFJSICJpbnZhbGlkYXRlIGRhdCB0YWJsZSBlbnRyeSIgejk5MCB6YXJjaAotK2I5OGUgaWR0 ZSBSUkZfUlVSUjIgImludmFsaWRhdGUgZGF0IHRhYmxlIGVudHJ5IiB6OTkwIHphcmNoIG9wdHBh cm0KLSBiMzNlIG1hZHIgUlJGX0YwRkYgIm11bHRpcGx5IGFuZCBhZGQgbG9uZyBoZnAiIHo5OTAg ZXNhLHphcmNoCi0gZWQwMDAwMDAwMDNlIG1hZCBSWEZfRlJSREYgIm11bHRpcGx5IGFuZCBhZGQg bG9uZyBoZnAiIHo5OTAgZXNhLHphcmNoCi0gYjMyZSBtYWVyIFJSRl9GMEZGICJtdWx0aXBseSBh bmQgYWRkIHNob3J0IGhmcCIgejk5MCBlc2EsemFyY2gKLUBAIC0xMTE2LDcgKzExMTYsNiBAQCBi OTJiIGttbyBSUkVfUlIgImNpcGhlciBtZXNzYWdlIHdpdGggT0ZCIiB6MTk2IHphcmNoCi0gYjky YyBwY2MgUlJFXzAwICJwZXJmb3JtIGNyeXB0b2dyYXBoaWMgY29tcHV0YXRpb24iIHoxOTYgemFy Y2gKLSBiOTJkIGttY3RyIFJSRl9SMFJSICJjaXBoZXIgbWVzc2FnZSB3aXRoIGNvdW50ZXIiIHox OTYgemFyY2gKLSBiOTI4IHBja21vIFJSRV8wMCAicGVyZm9ybSBjcnlwdG9ncmFwaGljIGtleSBt YW5hZ2VtZW50IG9wZXJhdGlvbiIgejE5NiB6YXJjaAotLWIyMjEgaXB0ZSBSUkZfUjBSUjIgImlu dmFsaWRhdGUgcGFnZSB0YWJsZSBlbnRyeSIgejE5NiB6YXJjaCBvcHRwYXJtCi0gCi0gIyBUaGUg bmV3IGluc3RydWN0aW9ucyBvZiB0aGUgSUJNIHpFbnRlcnByaXNlIEVDMTIKLSBiMmVjIGV0bmQg UlJFX1IwICJleHRyYWN0IHRyYW5zYWN0aW9uIG5lc3RpbmcgZGVwdGgiIHpFQzEyIHphcmNoIGh0 bQotQEAgLTExNDQsOCArMTE0Myw2IEBAIGVkMDAwMDAwMDBhYSBjZHp0IFJTTF9MUkRGVSAiY29u dmVydCBmcm9tIHpvbmVkIGxvbmciIHpFQzEyIHphcmNoCi0gZWQwMDAwMDAwMGFiIGN4enQgUlNM X0xSREZFVSAiY29udmVydCBmcm9tIHpvbmVkIGV4dGVuZGVkIiB6RUMxMiB6YXJjaAotIGVkMDAw MDAwMDBhOCBjemR0IFJTTF9MUkRGVSAiY29udmVydCB0byB6b25lZCBsb25nIiB6RUMxMiB6YXJj aAotIGVkMDAwMDAwMDBhOSBjenh0IFJTTF9MUkRGRVUgImNvbnZlcnQgdG8gem9uZWQgZXh0ZW5k ZWQiIHpFQzEyIHphcmNoCi0tYjk4ZSBpZHRlIFJSRl9SVVJSMiAiaW52YWxpZGF0ZSBkYXQgdGFi bGUgZW50cnkiIHpFQzEyIHphcmNoIG9wdHBhcm0KLS1iMjIxIGlwdGUgUlJGX1JVUlIgImludmFs aWRhdGUgcGFnZSB0YWJsZSBlbnRyeSIgekVDMTIgemFyY2ggb3B0cGFybTIKLSAKLSAjIFRoZSBu ZXcgaW5zdHJ1Y3Rpb25zIG9mIElCTSB6MTMKLSAKCmRpZmYgLS1naXQgYS9nZGItcmhiejE0MjAz MDQtczM5MHgtMDlvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTA5b2YzNS5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWMxYjE5Ni4uMDAwMDAwMAotLS0gYS9n ZGItcmhiejE0MjAzMDQtczM5MHgtMDlvZjM1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTMw ICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1E YXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0 MjAzMDQtczM5MHgtMDlvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5 MHgtMDlvZjM1LnBhdGNoCi0KLQotY29tbWl0IDM3MDRlMzU4OWQzZDE4N2ZiZjc2ZTY4ODM4OGIx YTkyZmQ2MjdjOGQKLUF1dGhvcjogQW5kcmVhcyBLcmViYmVsIDxrcmViYmVsQGxpbnV4LnZuZXQu aWJtLmNvbT4KLURhdGU6ICAgRnJpIEp1biA5IDExOjE5OjAxIDIwMTcgKzAyMDAKLQotICAgIFMv MzkwOiBSZXR1cm4gd2l0aCBhbiBlcnJvciBmb3IgYnJva2VuIHRscyByZXdyaXRlcwotICAgIAot ICAgIGJmZC9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgMjAxNy0wNi0xMiAgQW5kcmVhcyBLcmViYmVs ICA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci0gICAgCi0gICAgICAgICAgICAqIGVsZjMy LXMzOTAuYyAoZWxmX3MzOTBfcmVsb2NhdGVfc2VjdGlvbik6IFJldHVybiBmYWxzZSBpbiBjYXNl Ci0gICAgICAgICAgICB0aGUgcmV3cml0aW5nIGZhaWxzLgotICAgICAgICAgICAgKiBlbGY2NC1z MzkwLmMgKGVsZl9zMzkwX3JlbG9jYXRlX3NlY3Rpb24pOiBMaWtld2lzZS4KLQotLS0tIGEvYmZk L2VsZjMyLXMzOTAuYwotKysrIGIvYmZkL2VsZjMyLXMzOTAuYwotQEAgLTMyMzEsNyArMzIzMSw2 IEBAIGVsZl9zMzkwX3JlbG9jYXRlX3NlY3Rpb24gKGJmZCAqb3V0cHV0X2JmZCwKLSAJCSAgdW5z aWduZWQgaW50IGluc24sIHJ5OwotIAotIAkJICBpbnNuID0gYmZkX2dldF8zMiAoaW5wdXRfYmZk LCBjb250ZW50cyArIHJlbC0+cl9vZmZzZXQpOwotLQkJICByeSA9IDA7Ci0gCQkgIGlmICgoaW5z biAmIDB4ZmYwMGYwMDApID09IDB4NTgwMDAwMDApCi0gCQkgICAgLyogbCAlcngsMCglcnksMCkg LT4gbHIgJXJ4LCVyeSArIGJjciAwLDAgICovCi0gCQkgICAgcnkgPSAoaW5zbiAmIDB4MDAwZjAw MDApOwotQEAgLTMyNDUsNyArMzI0NCwxMCBAQCBlbGZfczM5MF9yZWxvY2F0ZV9zZWN0aW9uIChi ZmQgKm91dHB1dF9iZmQsCi0gCQkgICAgLyogbCAlcngsMCglcjEyLCVyeSkgLT4gbHIgJXJ4LCVy eSArIGJjciAwLDAgICovCi0gCQkgICAgcnkgPSAoaW5zbiAmIDB4MDAwMGYwMDApIDw8IDQ7Ci0g CQkgIGVsc2UKLS0JCSAgICBpbnZhbGlkX3Rsc19pbnNuIChpbnB1dF9iZmQsIGlucHV0X3NlY3Rp b24sIHJlbCk7Ci0rCQkgICAgewotKwkJICAgICAgaW52YWxpZF90bHNfaW5zbiAoaW5wdXRfYmZk LCBpbnB1dF9zZWN0aW9uLCByZWwpOwotKwkJICAgICAgcmV0dXJuIEZBTFNFOwotKwkJICAgIH0K LSAJCSAgaW5zbiA9IDB4MTgwMDA3MDAgfCAoaW5zbiAmIDB4MDBmMDAwMDApIHwgcnk7Ci0gCQkg IGJmZF9wdXRfMzIgKG91dHB1dF9iZmQsIGluc24sIGNvbnRlbnRzICsgcmVsLT5yX29mZnNldCk7 Ci0gCQl9Ci1AQCAtMzI1OCw3ICszMjYwLDEwIEBAIGVsZl9zMzkwX3JlbG9jYXRlX3NlY3Rpb24g KGJmZCAqb3V0cHV0X2JmZCwKLSAJICAgICAgaWYgKChpbnNuICYgMHhmZjAwMGZmZikgIT0gMHg0 ZDAwMDAwMCAmJgotIAkJICAoaW5zbiAmIDB4ZmZmZjAwMDApICE9IDB4YzBlNTAwMDAgJiYKLSAJ CSAgKGluc24gJiAweGZmMDAwMDAwKSAhPSAweDBkMDAwMDAwKQotLQkJaW52YWxpZF90bHNfaW5z biAoaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLCByZWwpOwotKwkJewotKwkJICBpbnZhbGlkX3Rs c19pbnNuIChpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sIHJlbCk7Ci0rCQkgIHJldHVybiBGQUxT RTsKLSsJCX0KLSAJICAgICAgaWYgKCFiZmRfbGlua19waWMgKGluZm8pICYmIChoID09IE5VTEwg fHwgaC0+ZHluaW5keCA9PSAtMSkpCi0gCQl7Ci0gCQkgIGlmICgoaW5zbiAmIDB4ZmYwMDAwMDAp ID09IDB4MGQwMDAwMDApCi1AQCAtMzI4Nyw3ICszMjkyLDEwIEBAIGVsZl9zMzkwX3JlbG9jYXRl X3NlY3Rpb24gKGJmZCAqb3V0cHV0X2JmZCwKLSAJCSAgLyogSWYgYmFzciBpcyB1c2VkIGluIHRo ZSBwaWMgY2FzZSB0byBpbnZva2UKLSAJCSAgICAgX3Rsc19nZXRfb2Zmc2V0LCBzb21ldGhpbmcg d2VudCB3cm9uZyBiZWZvcmUuICAqLwotIAkJICBpZiAoKGluc24gJiAweGZmMDAwMDAwKSA9PSAw eDBkMDAwMDAwKQotLQkJICAgIGludmFsaWRfdGxzX2luc24gKGlucHV0X2JmZCwgaW5wdXRfc2Vj dGlvbiwgcmVsKTsKLSsJCSAgICB7Ci0rCQkgICAgICBpbnZhbGlkX3Rsc19pbnNuIChpbnB1dF9i ZmQsIGlucHV0X3NlY3Rpb24sIHJlbCk7Ci0rCQkgICAgICByZXR1cm4gRkFMU0U7Ci0rCQkgICAg fQotIAotIAkJICBpZiAoKGluc24gJiAweGZmMDAwMDAwKSA9PSAweDRkMDAwMDAwKQotIAkJICAg IHsKLUBAIC0zMzE3LDcgKzMzMjUsMTAgQEAgZWxmX3MzOTBfcmVsb2NhdGVfc2VjdGlvbiAoYmZk ICpvdXRwdXRfYmZkLAotIAkJICBpZiAoKGluc24gJiAweGZmMDAwZmZmKSAhPSAweDRkMDAwMDAw ICYmCi0gCQkgICAgICAoaW5zbiAmIDB4ZmZmZjAwMDApICE9IDB4YzBlNTAwMDAgJiYKLSAJCSAg ICAgIChpbnNuICYgMHhmZjAwMDAwMCkgIT0gMHgwZDAwMDAwMCkKLS0JCSAgICBpbnZhbGlkX3Rs c19pbnNuIChpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sIHJlbCk7Ci0rCQkgICAgewotKwkJICAg ICAgaW52YWxpZF90bHNfaW5zbiAoaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLCByZWwpOwotKwkJ ICAgICAgcmV0dXJuIEZBTFNFOwotKwkJICAgIH0KLSAKLSAJCSAgaWYgKChpbnNuICYgMHhmZjAw MDAwMCkgPT0gMHgwZDAwMDAwMCkKLSAJCSAgICB7Ci0tLS0gYS9iZmQvZWxmNjQtczM5MC5jCi0r KysgYi9iZmQvZWxmNjQtczM5MC5jCi1AQCAtMzE5Nyw4ICszMTk3LDEwIEBAIGVsZl9zMzkwX3Jl bG9jYXRlX3NlY3Rpb24gKGJmZCAqb3V0cHV0X2JmZCwKLSAJCSAgaW5zbjAgPSBiZmRfZ2V0XzMy IChpbnB1dF9iZmQsIGNvbnRlbnRzICsgcmVsLT5yX29mZnNldCk7Ci0gCQkgIGluc24xID0gYmZk X2dldF8xNiAoaW5wdXRfYmZkLCBjb250ZW50cyArIHJlbC0+cl9vZmZzZXQgKyA0KTsKLSAJCSAg aWYgKGluc24xICE9IDB4MDAwNCkKLS0JCSAgICBpbnZhbGlkX3Rsc19pbnNuIChpbnB1dF9iZmQs IGlucHV0X3NlY3Rpb24sIHJlbCk7Ci0tCQkgIHJ5ID0gMDsKLSsJCSAgICB7Ci0rCQkgICAgICBp bnZhbGlkX3Rsc19pbnNuIChpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sIHJlbCk7Ci0rCQkgICAg ICByZXR1cm4gRkFMU0U7Ci0rCQkgICAgfQotIAkJICBpZiAoKGluc24wICYgMHhmZjAwZjAwMCkg PT0gMHhlMzAwMDAwMCkKLSAJCSAgICAvKiBsZyAlcngsMCglcnksMCkgLT4gc2xsZyAlcngsJXJ5 LDAgICovCi0gCQkgICAgcnkgPSAoaW5zbjAgJiAweDAwMGYwMDAwKTsKLUBAIC0zMjEyLDcgKzMy MTQsMTAgQEAgZWxmX3MzOTBfcmVsb2NhdGVfc2VjdGlvbiAoYmZkICpvdXRwdXRfYmZkLAotIAkJ ICAgIC8qIGxnICVyeCwwKCVyMTIsJXJ5KSAtPiBzbGxnICVyeCwlcnksMCAgKi8KLSAJCSAgICBy eSA9IChpbnNuMCAmIDB4MDAwMGYwMDApIDw8IDQ7Ci0gCQkgIGVsc2UKLS0JCSAgICBpbnZhbGlk X3Rsc19pbnNuIChpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sIHJlbCk7Ci0rCQkgICAgewotKwkJ ICAgICAgaW52YWxpZF90bHNfaW5zbiAoaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLCByZWwpOwot KwkJICAgICAgcmV0dXJuIEZBTFNFOwotKwkJICAgIH0KLSAJCSAgaW5zbjAgPSAweGViMDAwMDAw IHwgKGluc24wICYgMHgwMGYwMDAwMCkgfCByeTsKLSAJCSAgaW5zbjEgPSAweDAwMGQ7Ci0gCQkg IGJmZF9wdXRfMzIgKG91dHB1dF9iZmQsIGluc24wLCBjb250ZW50cyArIHJlbC0+cl9vZmZzZXQp OwotQEAgLTMyMjYsNyArMzIzMSwxMCBAQCBlbGZfczM5MF9yZWxvY2F0ZV9zZWN0aW9uIChiZmQg Km91dHB1dF9iZmQsCi0gCSAgICAgIGluc24wID0gYmZkX2dldF8zMiAoaW5wdXRfYmZkLCBjb250 ZW50cyArIHJlbC0+cl9vZmZzZXQpOwotIAkgICAgICBpbnNuMSA9IGJmZF9nZXRfMTYgKGlucHV0 X2JmZCwgY29udGVudHMgKyByZWwtPnJfb2Zmc2V0ICsgNCk7Ci0gCSAgICAgIGlmICgoaW5zbjAg JiAweGZmZmYwMDAwKSAhPSAweGMwZTUwMDAwKQotLQkJaW52YWxpZF90bHNfaW5zbiAoaW5wdXRf YmZkLCBpbnB1dF9zZWN0aW9uLCByZWwpOwotKwkJewotKwkJICBpbnZhbGlkX3Rsc19pbnNuIChp bnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sIHJlbCk7Ci0rCQkgIHJldHVybiBGQUxTRTsKLSsJCX0K LSAJICAgICAgaWYgKCFiZmRfbGlua19waWMgKGluZm8pICYmIChoID09IE5VTEwgfHwgaC0+ZHlu aW5keCA9PSAtMSkpCi0gCQl7Ci0gCQkgIC8qIEdELT5MRSB0cmFuc2l0aW9uLgotQEAgLTMyNTMs NyArMzI2MSwxMCBAQCBlbGZfczM5MF9yZWxvY2F0ZV9zZWN0aW9uIChiZmQgKm91dHB1dF9iZmQs Ci0gCQkgIGluc24wID0gYmZkX2dldF8zMiAoaW5wdXRfYmZkLCBjb250ZW50cyArIHJlbC0+cl9v ZmZzZXQpOwotIAkJICBpbnNuMSA9IGJmZF9nZXRfMTYgKGlucHV0X2JmZCwgY29udGVudHMgKyBy ZWwtPnJfb2Zmc2V0ICsgNCk7Ci0gCQkgIGlmICgoaW5zbjAgJiAweGZmZmYwMDAwKSAhPSAweGMw ZTUwMDAwKQotLQkJICAgIGludmFsaWRfdGxzX2luc24gKGlucHV0X2JmZCwgaW5wdXRfc2VjdGlv biwgcmVsKTsKLSsJCSAgICB7Ci0rCQkgICAgICBpbnZhbGlkX3Rsc19pbnNuIChpbnB1dF9iZmQs IGlucHV0X3NlY3Rpb24sIHJlbCk7Ci0rCQkgICAgICByZXR1cm4gRkFMU0U7Ci0rCQkgICAgfQot IAkJICAvKiBMRC0+TEUgdHJhbnNpdGlvbi4KLSAJCSAgICAgYnJhc2wgJXIxNCxfX3Rsc19nZXRf YWRkckBwbHQgLT4gYnJjbCAwLC4gKi8KLSAJCSAgaW5zbjAgPSAweGMwMDQwMDAwOwoKZGlmZiAt LWdpdCBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0xMG9mMzUucGF0Y2ggYi9nZGItcmhiejE0MjAz MDQtczM5MHgtMTBvZjM1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMmU2 NTJiLi4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0xMG9mMzUucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwyNzcgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxp bnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAK LVN1YmplY3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0xMG9mMzUucGF0Y2gKLQotRmlsZU5hbWU6 IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0xMG9mMzUucGF0Y2gKLQotCi1jb21taXQgMDU2N2M5ODYx ZTExM2E1NzNjYzkwNTAwMmE1OWNiMWJjM2Q3ODQ1MAotQXV0aG9yOiBBbmRyZWFzIEFybmV6IDxh cm5lekBsaW51eC52bmV0LmlibS5jb20+Ci1EYXRlOiAgIFR1ZSBKdW4gMTMgMTU6MjA6MjUgMjAx NyArMDIwMAotCi0gICAgQWRkIHRlc3QgZm9yIG1vZGlmaWFibGUgRFdBUkYgbG9jYXRpb25zCi0g ICAgCi0gICAgVGhpcyBhZGRzIGEgdGVzdCBmb3IgcmVhZC93cml0ZSBhY2Nlc3MgdG8gdmFyaWFi bGVzIHdpdGggdmFyaW91cyB0eXBlcyBvZgotICAgIERXQVJGIGxvY2F0aW9ucy4gIEl0IHVzZXMg cmVnaXN0ZXItIGFuZCBtZW1vcnkgbG9jYXRpb25zIGFuZCBjb21wb3NpdGUKLSAgICBsb2NhdGlv bnMgd2l0aCByZWdpc3Rlci0gYW5kIG1lbW9yeSBwaWVjZXMuCi0gICAgCi0gICAgU2luY2UgdGhl IG5ldyB0ZXN0IGNhbGxzIGdkYl90ZXN0X25vX291dHB1dCB3aXRoIGNvbW1hbmRzIHRoYXQgY29u dGFpbgotICAgIGJyYWNlcywgaXQgaXMgbmVjZXNzYXJ5IGZvciBzdHJpbmdfdG9fcmVnZXhwIHRv IHF1b3RlIGJyYWNlcyBhcyB3ZWxsLgotICAgIFRoaXMgd2FzIG5vdCBkb25lIGJlZm9yZS4KLSAg ICAKLSAgICBnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZzoKLSAgICAKLSAgICAgICAgICAgICogZ2Ri LmR3YXJmMi92YXItYWNjZXNzLmM6IE5ldyBmaWxlLgotICAgICAgICAgICAgKiBnZGIuZHdhcmYy L3Zhci1hY2Nlc3MuZXhwOiBOZXcgdGVzdC4KLSAgICAgICAgICAgICogbGliL2dkYi11dGlscy5l eHAgKHN0cmluZ190b19yZWdleHApOiBRdW90ZSBicmFjZXMgYXMgd2VsbC4KLQotIyMjIGEvZ2Ri L3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKLSMjIyBiL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCi0jIyAt MSwzICsxLDkgQEAKLSsyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5l dC5pYm0uY29tPgotKwotKwkqIGdkYi5kd2FyZjIvdmFyLWFjY2Vzcy5jOiBOZXcgZmlsZS4KLSsJ KiBnZGIuZHdhcmYyL3Zhci1hY2Nlc3MuZXhwOiBOZXcgdGVzdC4KLSsJKiBsaWIvZ2RiLXV0aWxz LmV4cCAoc3RyaW5nX3RvX3JlZ2V4cCk6IFF1b3RlIGJyYWNlcyBhcyB3ZWxsLgotKwotIDIwMTct MDYtMTIgIFRvbSBUcm9tZXkgIDx0b21AdHJvbWV5LmNvbT4KLSAKLSAJKiBnZGIuZHdhcmYyL2Zv cm1kYXRhMTYuZXhwOiBBZGQgdGVzdHMuCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5kd2FyZjIvdmFyLWFjY2Vzcy5jCi1AQCAtMCwwICsxLDI1IEBACi0rLyogVGhpcyB0 ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KLSsKLSsgICBDb3B5cmln aHQgMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAg IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0rY2hhciBidWZbXSA9IHswLCAxLCAyLCAz LCA0LCA1LCA2LCA3fTsKLSsKLStpbnQKLSttYWluICh2b2lkKQotK3sKLSsgIGFzbSB2b2xhdGls ZSAoIm1haW5fbGFiZWw6IC5nbG9ibCBtYWluX2xhYmVsIik7Ci0rICByZXR1cm4gMDsKLSt9Ci0t LS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvdmFyLWFjY2Vzcy5l eHAKLUBAIC0wLDAgKzEsMTk3IEBACi0rIyBDb3B5cmlnaHQgMjAxNyBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KLSsKLSsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyMgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z ZSwgb3IKLSsjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rIwotKyMgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCi0rIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KLSsjCi0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dy YW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0rCi0rIyBU ZXN0IHJlYWRpbmcvd3JpdGluZyB2YXJpYWJsZXMgd2l0aCBub24tdHJpdmlhbCBEV0FSRiBsb2Nh dGlvbnMuICBJbgotKyMgcGFydGljdWxhciB0aGUgdGVzdCB1c2VzIHJlZ2lzdGVyLSBhbmQgbWVt b3J5IGxvY2F0aW9ucyBhcyB3ZWxsIGFzCi0rIyBjb21wb3NpdGUgbG9jYXRpb25zIHdpdGggcmVn aXN0ZXItIGFuZCBtZW1vcnkgcGllY2VzLgotKwotK2xvYWRfbGliIGR3YXJmLmV4cAotKwotKyMg VGhpcyB0ZXN0IGNhbiBvbmx5IGJlIHJ1biBvbiB0YXJnZXRzIHdoaWNoIHN1cHBvcnQgRFdBUkYt MiBhbmQgdXNlIGdhcy4KLStpZiB7IVtkd2FyZjJfc3VwcG9ydF19IHsKLSsgICAgcmV0dXJuIDAK LSt9Ci0rCi0rIyBDaG9vc2Ugc3VpdGFibGUgaW50ZWdlciByZWdpc3RlcnMgZm9yIHRoZSB0ZXN0 LgotKwotK3NldCBkd2FyZl9yZWdudW0gezAgMX0KLSsKLStpZiB7IFtpc3RhcmdldCAiYWFyY2g2 NCotKi0qIl0gfSB7Ci0rICAgIHNldCByZWduYW1lIHt4MCB4MX0KLSt9IGVsc2VpZiB7IFtpc3Rh cmdldCAiYXJtKi0qLSoiXQotKwkgICB8fCBbaXN0YXJnZXQgInMzOTAqLSotKiIgXQotKwkgICB8 fCBbaXN0YXJnZXQgInBvd2VycGMqLSotKiJdCi0rCSAgIHx8IFtpc3RhcmdldCAicnM2MDAwKi0q LWFpeCoiXSB9IHsKLSsgICAgc2V0IHJlZ25hbWUge3IwIHIxfQotK30gZWxzZWlmIHsgW2lzdGFy Z2V0ICJpPzg2LSotKiJdIH0gewotKyAgICBzZXQgcmVnbmFtZSB7ZWF4IGVkeH0KLSt9IGVsc2Vp ZiB7IFtpc3RhcmdldCAieDg2XzY0LSotKiJdIH0gewotKyAgICBzZXQgcmVnbmFtZSB7cmF4IHJk eH0KLSt9IGVsc2UgewotKyAgICB2ZXJib3NlICJTa2lwcGluZyB0ZXN0cyBmb3IgYWNjZXNzaW5n IERXQVJGLWRlc2NyaWJlZCB2YXJpYWJsZXMuIgotKyAgICByZXR1cm4KLSt9Ci0rCi0rc3RhbmRh cmRfdGVzdGZpbGUgLmMgJHtnZGJfdGVzdF9maWxlX25hbWV9LWR3LlMKLSsKLSsjIE1ha2Ugc29t ZSBEV0FSRiBmb3IgdGhlIHRlc3QuCi0rCi0rc2V0IGFzbV9maWxlIFtzdGFuZGFyZF9vdXRwdXRf ZmlsZSAkc3JjZmlsZTJdCi0rRHdhcmY6OmFzc2VtYmxlICRhc21fZmlsZSB7Ci0rICAgIGdsb2Jh bCBzcmNkaXIgc3ViZGlyIHNyY2ZpbGUKLSsgICAgZ2xvYmFsIGR3YXJmX3JlZ251bSByZWduYW1l Ci0rCi0rICAgIHNldCBidWZfdmFyIFtnZGJfdGFyZ2V0X3N5bWJvbCBidWZdCi0rCi0rICAgIGN1 IHt9IHsKLSsJRFdfVEFHX2NvbXBpbGVfdW5pdCB7Ci0rCQl7RFdfQVRfbmFtZSB2YXItcGllY2Vz LWR3LmN9Ci0rCQl7RFdfQVRfY29tcF9kaXIgL3RtcH0KLSsJfSB7Ci0rCSAgICBkZWNsYXJlX2xh YmVscyBjaGFyX3R5cGVfbGFiZWwKLSsJICAgIGRlY2xhcmVfbGFiZWxzIGludF90eXBlX2xhYmVs IHNob3J0X3R5cGVfbGFiZWwKLSsJICAgIGRlY2xhcmVfbGFiZWxzIGFycmF5X2E4X2xhYmVsIHN0 cnVjdF9zX2xhYmVsCi0rCi0rCSAgICAjIGNoYXIKLSsJICAgIGNoYXJfdHlwZV9sYWJlbDogYmFz ZV90eXBlIHsKLSsJCXtuYW1lICJjaGFyIn0KLSsJCXtlbmNvZGluZyBARFdfQVRFX3Vuc2lnbmVk X2NoYXJ9Ci0rCQl7Ynl0ZV9zaXplIDEgRFdfRk9STV9zZGF0YX0KLSsJICAgIH0KLSsKLSsJICAg ICMgaW50Ci0rCSAgICBpbnRfdHlwZV9sYWJlbDogYmFzZV90eXBlIHsKLSsJCXtuYW1lICJpbnQi fQotKwkJe2VuY29kaW5nIEBEV19BVEVfc2lnbmVkfQotKwkJe2J5dGVfc2l6ZSA0IERXX0ZPUk1f c2RhdGF9Ci0rCSAgICB9Ci0rCi0rCSAgICAjIGNoYXIgWzhdCi0rCSAgICBhcnJheV9hOF9sYWJl bDogYXJyYXlfdHlwZSB7Ci0rCQl7dHlwZSA6JGNoYXJfdHlwZV9sYWJlbH0KLSsJICAgIH0gewot KwkJc3VicmFuZ2VfdHlwZSB7Ci0rCQkgICAge3R5cGUgOiRpbnRfdHlwZV9sYWJlbH0KLSsJCSAg ICB7dXBwZXJfYm91bmQgNyBEV19GT1JNX3VkYXRhfQotKwkJfQotKwkgICAgfQotKwotKwkgICAg IyBzdHJ1Y3QgcyB7IGNoYXIgYSwgYiwgYywgZDsgfTsKLSsJICAgIHN0cnVjdF9zX2xhYmVsOiBz dHJ1Y3R1cmVfdHlwZSB7Ci0rCQl7bmFtZSAicyJ9Ci0rCQl7Ynl0ZV9zaXplIDQgRFdfRk9STV9z ZGF0YX0KLSsJICAgIH0gewotKwkJbWVtYmVyIHsKLSsJCSAgICB7bmFtZSAiYSJ9Ci0rCQkgICAg e3R5cGUgOiRjaGFyX3R5cGVfbGFiZWx9Ci0rCQkgICAge2RhdGFfbWVtYmVyX2xvY2F0aW9uIDAg RFdfRk9STV91ZGF0YX0KLSsJCX0KLSsJCW1lbWJlciB7Ci0rCQkgICAge25hbWUgImIifQotKwkJ ICAgIHt0eXBlIDokY2hhcl90eXBlX2xhYmVsfQotKwkJICAgIHtkYXRhX21lbWJlcl9sb2NhdGlv biAxIERXX0ZPUk1fdWRhdGF9Ci0rCQl9Ci0rCQltZW1iZXIgewotKwkJICAgIHtuYW1lICJjIn0K LSsJCSAgICB7dHlwZSA6JGNoYXJfdHlwZV9sYWJlbH0KLSsJCSAgICB7ZGF0YV9tZW1iZXJfbG9j YXRpb24gMiBEV19GT1JNX3VkYXRhfQotKwkJfQotKwkJbWVtYmVyIHsKLSsJCSAgICB7bmFtZSAi ZCJ9Ci0rCQkgICAge3R5cGUgOiRjaGFyX3R5cGVfbGFiZWx9Ci0rCQkgICAge2RhdGFfbWVtYmVy X2xvY2F0aW9uIDMgRFdfRk9STV91ZGF0YX0KLSsJCX0KLSsJICAgIH0KLSsKLSsJICAgIERXX1RB R19zdWJwcm9ncmFtIHsKLSsJCXtNQUNST19BVF9mdW5jIHsgbWFpbiAke3NyY2Rpcn0vJHtzdWJk aXJ9LyR7c3JjZmlsZX0gfX0KLSsJCXtEV19BVF9leHRlcm5hbCAxIGZsYWd9Ci0rCSAgICB9IHsK LSsJCSMgU2ltcGxlIG1lbW9yeSBsb2NhdGlvbi4KLSsJCURXX1RBR192YXJpYWJsZSB7Ci0rCQkg ICAge25hbWUgImEifQotKwkJICAgIHt0eXBlIDokYXJyYXlfYThfbGFiZWx9Ci0rCQkgICAge2xv Y2F0aW9uIHsKLSsJCQlhZGRyICRidWZfdmFyCi0rCQkgICAgfSBTUEVDSUFMX2V4cHJ9Ci0rCQl9 Ci0rCQkjIE1lbW9yeSBwaWVjZXM6IHR3byBieXRlcyBmcm9tICZidWZbMl0sIGFuZCB0d28gYnl0 ZXMKLSsJCSMgZnJvbSAmYnVmWzBdLgotKwkJRFdfVEFHX3ZhcmlhYmxlIHsKLSsJCSAgICB7bmFt ZSAiczEifQotKwkJICAgIHt0eXBlIDokc3RydWN0X3NfbGFiZWx9Ci0rCQkgICAge2xvY2F0aW9u IHsKLSsJCQlhZGRyICRidWZfdmFyCi0rCQkJcGx1c191Y29uc3QgMgotKwkJCXBpZWNlIDIKLSsJ CQlhZGRyICRidWZfdmFyCi0rCQkJcGllY2UgMgotKwkJICAgIH0gU1BFQ0lBTF9leHByfQotKwkJ fQotKwkJIyBSZWdpc3Rlci0gYW5kIG1lbW9yeSBwaWVjZXM6IG9uZSBieXRlIGVhY2ggZnJvbSBy MCwKLSsJCSMgJmJ1Zls0XSwgcjEsIGFuZCAmYnVmWzVdLgotKwkJRFdfVEFHX3ZhcmlhYmxlIHsK LSsJCSAgICB7bmFtZSAiczIifQotKwkJICAgIHt0eXBlIDokc3RydWN0X3NfbGFiZWx9Ci0rCQkg ICAge2xvY2F0aW9uIHsKLSsJCQlyZWd4IFtsaW5kZXggJGR3YXJmX3JlZ251bSAwXQotKwkJCXBp ZWNlIDEKLSsJCQlhZGRyICIkYnVmX3ZhciArIDQiCi0rCQkJcGllY2UgMQotKwkJCXJlZ3ggW2xp bmRleCAkZHdhcmZfcmVnbnVtIDFdCi0rCQkJcGllY2UgMQotKwkJCWFkZHIgIiRidWZfdmFyICsg NSIKLSsJCQlwaWVjZSAxCi0rCQkgICAgfSBTUEVDSUFMX2V4cHJ9Ci0rCQl9Ci0rCSAgICB9Ci0r CX0KLSsgICAgfQotK30KLSsKLStpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICR7dGVzdGZpbGV9 LmV4cCAke3Rlc3RmaWxlfSBcCi0rCSAgW2xpc3QgJHNyY2ZpbGUgJGFzbV9maWxlXSB7bm9kZWJ1 Z31dIH0gewotKyAgICByZXR1cm4gLTEKLSt9Ci0rCi0raWYgIVtydW50b19tYWluXSB7Ci0rICAg IHJldHVybiAtMQotK30KLSsKLSsjIEJ5dGUtYWxpZ25lZCBtZW1vcnkgcGllY2VzLgotK2dkYl90 ZXN0ICJwcmludC9kIHMxIiAiID0gXFx7YSA9IDIsIGIgPSAzLCBjID0gMCwgZCA9IDFcXH0iIFwK LSsgICAgInMxID09IHJlLW9yZGVyZWQgYnVmIgotK2dkYl90ZXN0X25vX291dHB1dCAic2V0IHZh ciBzMS5hID0gNjMiCi0rZ2RiX3Rlc3QgInByaW50L2QgczEiICIgPSBcXHthID0gNjMsIGIgPSAz LCBjID0gMCwgZCA9IDFcXH0iIFwKLSsgICAgInZlcmlmeSBzMS5hIgotK2dkYl90ZXN0ICJwcmlu dC9kIGEiICIgPSBcXHswLCAxLCA2MywgMywgNCwgNSwgNiwgN1xcfSIgXAotKyAgICAidmVyaWZ5 IHMxLmEgdGhyb3VnaCBhIgotKwotKyMgQnl0ZS1hbGlnbmVkIHJlZ2lzdGVyLSBhbmQgbWVtb3J5 IHBpZWNlcy4KLStnZGJfdGVzdF9ub19vdXRwdXQgInNldCB2YXIgXCRbbGluZGV4ICRyZWduYW1l IDBdID0gODEiIFwKLSsgICAgImluaXQgcmVnIGZvciBzMi5hIgotK2dkYl90ZXN0X25vX291dHB1 dCAic2V0IHZhciBcJFtsaW5kZXggJHJlZ25hbWUgMV0gPSAyOCIgXAotKyAgICAiaW5pdCByZWcg Zm9yIHMyLmMiCi0rZ2RiX3Rlc3QgInByaW50L2QgczIiICIgPSBcXHthID0gODEsIGIgPSA0LCBj ID0gMjgsIGQgPSA1XFx9IiBcCi0rICAgICJpbml0aWFsaXplZCBzMiBmcm9tIG1lbSBhbmQgcmVn cyIKLStnZGJfdGVzdF9ub19vdXRwdXQgInNldCB2YXIgczIuYyArPSBzMi5hICsgczIuYiAtIHMy LmQiCi0rZ2RiX3Rlc3QgInByaW50L2QgczIiICIgPSBcXHthID0gODEsIGIgPSA0LCBjID0gMTA4 LCBkID0gNVxcfSIgXAotKyAgICAidmVyaWZ5IHMyLmMiCi0rZ2RiX3Rlc3QgInByaW50L2QgXCRb bGluZGV4ICRyZWduYW1lIDFdIiAiID0gMTA4IiBcCi0rICAgICJ2ZXJpZnkgczIuYyB0aHJvdWdo IHJlZyIKLStnZGJfdGVzdF9ub19vdXRwdXQgInNldCB2YXIgczIgPSB7MTkxLCA3MywgMjMxLCAx MjN9IiBcCi0rICAgICJyZS1pbml0aWFsaXplIHMyIgotK2dkYl90ZXN0ICJwcmludC9kIHMyIiAg IiA9IFxce2EgPSAxOTEsIGIgPSA3MywgYyA9IDIzMSwgZCA9IDEyM1xcfSIgXAotKyAgICAidmVy aWZ5IHJlLWluaXRpYWxpemVkIHMyIgotLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLXV0aWxz LmV4cAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLXV0aWxzLmV4cAotQEAgLTM0LDYgKzM0 LDYgQEAgcHJvYyBnZGJfaW5pdF9jb21tYW5kcyB7fSB7Ci0gCi0gcHJvYyBzdHJpbmdfdG9fcmVn ZXhwIHtzdHJ9IHsKLSAgICAgc2V0IHJlc3VsdCAkc3RyCi0tICAgIHJlZ3N1YiAtYWxsIHtbXSor LnwoKV4kXFtcXF19ICRzdHIge1xcJn0gcmVzdWx0Ci0rICAgIHJlZ3N1YiAtYWxsIHtbXSorLnwo KXt9XiRcW1xcXX0gJHN0ciB7XFwmfSByZXN1bHQKLSAgICAgcmV0dXJuICRyZXN1bHQKLSB9Cgpk aWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTExb2YzNS5wYXRjaCBiL2dkYi1yaGJ6 MTQyMDMwNC1zMzkweC0xMW9mMzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IGVmNWFkZmMuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTExb2YzNS5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDExMyArMCwwIEBACi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNo ZXMgPGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCAr MDIwMAotU3ViamVjdDogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTExb2YzNS5wYXRjaAotCi1GaWxl TmFtZTogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTExb2YzNS5wYXRjaAotCi0KLWNvbW1pdCBkNWQx MTYzZWZmMjQxNWEwMTg5NWYxY2ZmOGJiZWUzMmIzZjBhYjY2Ci1BdXRob3I6IEFuZHJlYXMgQXJu ZXogPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgVHVlIEp1biAxMyAxNToyMDoy NiAyMDE3ICswMjAwCi0KLSAgICB3cml0ZV9waWVjZWRfdmFsdWU6IEZpeCBzaXplIGNhcHBpbmcg bG9naWMKLSAgICAKLSAgICBBIGZpZWxkIGYgaW4gYSBzdHJ1Y3R1cmUgY29tcG9zZWQgb2YgRFdB UkYgcGllY2VzIG1heSBiZSBsb2NhdGVkIGluCi0gICAgbXVsdGlwbGUgcGllY2VzLCB3aGVyZSB0 aGUgZmlyc3QgYW5kIGxhc3Qgb2YgdGhvc2UgbWF5IGNvbnRhaW4gYml0cyBmcm9tCi0gICAgb3Ro ZXIgZmllbGRzIGFzIHdlbGwuICBTbyB3aGVuIHdyaXRpbmcgdG8gZiwgdGhlIGJlZ2lubmluZyBv ZiB0aGUgZmlyc3QKLSAgICBhbmQgdGhlIGVuZCBvZiB0aGUgbGFzdCBvZiB0aG9zZSBwaWVjZXMg bWF5IGhhdmUgdG8gYmUgc2tpcHBlZC4gIEJ1dCB0aGUKLSAgICBsb2dpYyBpbiB3cml0ZV9waWVj ZWRfdmFsdWUgZm9yIGhhbmRsaW5nIG9uZSBvZiB0aG9zZSBwaWVjZXMgaXMgZmxhd2VkCi0gICAg d2hlbiB0aGUgZmlyc3QgYW5kIGxhc3QgcGllY2UgYXJlIHRoZSBzYW1lLCBpLmUuLCBmIGlzIGNv bnRhaW5lZCBpbiBhCi0gICAgc2luZ2xlIHBpZWNlOgotICAgIAotICAgICAgPCAtIC0gLSAtIC0g LSAtIC0gLSBwaWVjZV9zaXplIC0gLSAtIC0gLSAtIC0gLSAtIC0+Ci0gICAgICArLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLSAgICAgIHwgc2tpcHBl ZF9iaXRzIHwgICBmX2JpdHMgICB8IC8gLyAvIC8gLyAvIC8gLyAvIC8gfAotICAgICAgKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi0gICAgCi0gICAg VGhlIGN1cnJlbnQgbG9naWMgZGV0ZXJtaW5lcyB0aGUgc2l6ZSBvZiB0aGUgc3ViLXBpZWNlIHRv IG9wZXJhdGUgb24gYnkKLSAgICBsaW1pdGluZyB0aGUgcGllY2Ugc2l6ZSB0byB0aGUgYml0IHNp emUgb2YgZiBhbmQgdGhlbiBzdWJ0cmFjdGluZyB0aGUKLSAgICBza2lwcGVkIGJpdHM6Ci0gICAg Ci0gICAgICBtaW4gKHBpZWNlX3NpemUsIGZfYml0cykgLSBza2lwcGVkX2JpdHMKLSAgICAKLSAg ICBJbnN0ZWFkIG9mOgotICAgIAotICAgICAgbWluIChwaWVjZV9zaXplIC0gc2tpcHBlZF9iaXRz LCBmX2JpdHMpCi0gICAgCi0gICAgU28gdGhlIHJlc3VsdGluZyBzdWItcGllY2Ugc2l6ZSBpcyBj b3JydXB0ZWQsIGxlYWRpbmcgdG8gd3JvbmcgaGFuZGxpbmcgb2YKLSAgICB0aGlzIHBpZWNlIGlu IHdyaXRlX3BpZWNlZF92YWx1ZS4KLSAgICAKLSAgICBOb3RlIHRoYXQgdGhlIHNhbWUgYnVnIHdh cyBhbHJlYWR5IGZvdW5kIGluIHJlYWRfcGllY2VkX3ZhbHVlIGFuZCBmaXhlZAotICAgIHRoZXJl IChidXQgbm90IGluIHdyaXRlX3BpZWNlZF92YWx1ZSksIHNlZSBQUiAxNTM5MS4KLSAgICAKLSAg ICBUaGlzIHBhdGNoIHN3YXBzIHRoZSBjYWxjdWxhdGlvbnMsIGJyaW5naW5nIHRoZW0gaW50byB0 aGUgc2FtZSAoY29ycmVjdCkKLSAgICBvcmRlciBhcyBpbiByZWFkX3BpZWNlZF92YWx1ZS4KLSAg ICAKLSAgICBnZGIvQ2hhbmdlTG9nOgotICAgIAotICAgICAgICAgICAgKiBkd2FyZjJsb2MuYyAo d3JpdGVfcGllY2VkX3ZhbHVlKTogRml4IG9yZGVyIG9mIGNhbGN1bGF0aW9ucyBmb3IKLSAgICAg ICAgICAgIHNpemUgY2FwcGluZy4KLSAgICAKLSAgICBnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZzoK LSAgICAKLSAgICAgICAgICAgICogZ2RiLmR3YXJmMi92YXItcGllY2VzLmV4cDogQWRkIHRlc3Qg Y2FzZSBmb3IgbW9kaWZ5aW5nIGEKLSAgICAgICAgICAgIHZhcmlhYmxlIGF0IG5vbnplcm8gb2Zm c2V0LgotCi0jIyMgYS9nZGIvQ2hhbmdlTG9nCi0jIyMgYi9nZGIvQ2hhbmdlTG9nCi0jIyAtMSwz ICsxLDggQEAKLSsyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5p Ym0uY29tPgotKwotKwkqIGR3YXJmMmxvYy5jICh3cml0ZV9waWVjZWRfdmFsdWUpOiBGaXggb3Jk ZXIgb2YgY2FsY3VsYXRpb25zIGZvcgotKwlzaXplIGNhcHBpbmcuCi0rCi0gMjAxNy0wNi0xMyAg WWFvIFFpICA8eWFvLnFpQGxpbmFyby5vcmc+Ci0gCi0gCSogbWlwcy1saW51eC1uYXQuYzogTW92 ZSBpbmNsdWRlIGZlYXR1cmVzL21pcHMqLWxpbnV4LmMgdG8KLS0tLSBhL2dkYi9kd2FyZjJsb2Mu YwotKysrIGIvZ2RiL2R3YXJmMmxvYy5jCi1AQCAtMTk2NCw4ICsxOTY0LDYgQEAgd3JpdGVfcGll Y2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnRvLCBzdHJ1Y3QgdmFsdWUgKmZyb20pCi0gCSAgYml0 c190b19za2lwIC09IHRoaXNfc2l6ZV9iaXRzOwotIAkgIGNvbnRpbnVlOwotIAl9Ci0tICAgICAg aWYgKHRoaXNfc2l6ZV9iaXRzID4gdHlwZV9sZW4gLSBvZmZzZXQpCi0tCXRoaXNfc2l6ZV9iaXRz ID0gdHlwZV9sZW4gLSBvZmZzZXQ7Ci0gICAgICAgaWYgKGJpdHNfdG9fc2tpcCA+IDApCi0gCXsK LSAJICBkZXN0X29mZnNldF9iaXRzID0gYml0c190b19za2lwOwotQEAgLTE5NzgsNiArMTk3Niw4 IEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3RydWN0IHZhbHVlICpm cm9tKQotIAkgIGRlc3Rfb2Zmc2V0X2JpdHMgPSAwOwotIAkgIHNvdXJjZV9vZmZzZXRfYml0cyA9 IG9mZnNldDsKLSAJfQotKyAgICAgIGlmICh0aGlzX3NpemVfYml0cyA+IHR5cGVfbGVuIC0gb2Zm c2V0KQotKwl0aGlzX3NpemVfYml0cyA9IHR5cGVfbGVuIC0gb2Zmc2V0OwotIAotICAgICAgIHRo aXNfc2l6ZSA9ICh0aGlzX3NpemVfYml0cyArIHNvdXJjZV9vZmZzZXRfYml0cyAlIDggKyA3KSAv IDg7Ci0gICAgICAgc291cmNlX29mZnNldCA9IHNvdXJjZV9vZmZzZXRfYml0cyAvIDg7Ci0jIyMg YS9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwotIyMjIGIvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cK LSMjIC0xLDUgKzEsMTAgQEAKLSAyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGlu dXgudm5ldC5pYm0uY29tPgotIAotKwkqIGdkYi5kd2FyZjIvdmFyLXBpZWNlcy5leHA6IEFkZCB0 ZXN0IGNhc2UgZm9yIG1vZGlmeWluZyBhCi0rCXZhcmlhYmxlIGF0IG5vbnplcm8gb2Zmc2V0Lgot KwotKzIwMTctMDYtMTMgIEFuZHJlYXMgQXJuZXogIDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+ Ci0rCi0gCSogZ2RiLmR3YXJmMi92YXItYWNjZXNzLmM6IE5ldyBmaWxlLgotIAkqIGdkYi5kd2Fy ZjIvdmFyLWFjY2Vzcy5leHA6IE5ldyB0ZXN0LgotIAkqIGxpYi9nZGItdXRpbHMuZXhwIChzdHJp bmdfdG9fcmVnZXhwKTogUXVvdGUgYnJhY2VzIGFzIHdlbGwuCi0tLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5kd2FyZjIvdmFyLWFjY2Vzcy5leHAKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJm Mi92YXItYWNjZXNzLmV4cAotQEAgLTE3OCw2ICsxNzgsMTEgQEAgZ2RiX3Rlc3QgInByaW50L2Qg czEiICIgPSBcXHthID0gNjMsIGIgPSAzLCBjID0gMCwgZCA9IDFcXH0iIFwKLSAgICAgInZlcmlm eSBzMS5hIgotIGdkYl90ZXN0ICJwcmludC9kIGEiICIgPSBcXHswLCAxLCA2MywgMywgNCwgNSwg NiwgN1xcfSIgXAotICAgICAidmVyaWZ5IHMxLmEgdGhyb3VnaCBhIgotK2dkYl90ZXN0X25vX291 dHB1dCAic2V0IHZhciBzMS5iID0gNDIiCi0rZ2RiX3Rlc3QgInByaW50L2QgczEiICIgPSBcXHth ID0gNjMsIGIgPSA0MiwgYyA9IDAsIGQgPSAxXFx9IiBcCi0rICAgICJ2ZXJpZnkgczEuYiIKLStn ZGJfdGVzdCAicHJpbnQvZCBhIiAiID0gXFx7MCwgMSwgNjMsIDQyLCA0LCA1LCA2LCA3XFx9IiBc Ci0rICAgICJ2ZXJpZnkgczEuYiB0aHJvdWdoIGEiCi0gCi0gIyBCeXRlLWFsaWduZWQgcmVnaXN0 ZXItIGFuZCBtZW1vcnkgcGllY2VzLgotIGdkYl90ZXN0X25vX291dHB1dCAic2V0IHZhciBcJFts aW5kZXggJHJlZ25hbWUgMF0gPSA4MSIgXAoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTQyMDMwNC1z MzkweC0xMm9mMzUucGF0Y2ggYi9nZGItcmhiejE0MjAzMDQtczM5MHgtMTJvZjM1LnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNGJkNzg3Li4wMDAwMDAwCi0tLSBhL2dkYi1y aGJ6MTQyMDMwNC1zMzkweC0xMm9mMzUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOTYgKzAs MCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6 IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IGdkYi1yaGJ6MTQyMDMw NC1zMzkweC0xMm9mMzUucGF0Y2gKLQotRmlsZU5hbWU6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0x Mm9mMzUucGF0Y2gKLQotCi1jb21taXQgZTkzNTIzMjQ1YjcwNGJjMTI2NzA1NjIwOTY5YjQ3MzZi MDAzNTBjNQotQXV0aG9yOiBBbmRyZWFzIEFybmV6IDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+ Ci1EYXRlOiAgIFR1ZSBKdW4gMTMgMTU6MjA6MjYgMjAxNyArMDIwMAotCi0gICAgUFIgZ2RiLzIx MjI2OiBUYWtlIERXQVJGIHN0YWNrIHZhbHVlIHBpZWNlcyBmcm9tIExTQiBlbmQKLSAgICAKLSAg ICBXaGVuIHRha2luZyBhIERXX09QX3BpZWNlIG9yIERXX09QX2JpdF9waWVjZSBmcm9tIGEgRFdf T1Bfc3RhY2tfdmFsdWUsIHRoZQotICAgIGV4aXN0aW5nIGxvZ2ljIGFsd2F5cyB0YWtlcyB0aGUg cGllY2UgZnJvbSB0aGUgbG93ZXN0LWFkZHJlc3NlZCBlbmQsIHdoaWNoCi0gICAgaXMgd3Jvbmcg b24gYmlnLWVuZGlhbiB0YXJnZXRzLiAgVGhlIERXQVJGIHN0YW5kYXJkIHN0YXRlcyB0aGF0IHRo ZQotICAgICJEV19PUF9iaXRfcGllY2Ugb3BlcmF0aW9uIGRlc2NyaWJlcyBhIHNlcXVlbmNlIG9m IGJpdHMgdXNpbmcgdGhlIGxlYXN0Ci0gICAgc2lnbmlmaWNhbnQgYml0cyBvZiB0aGF0IHZhbHVl IiwgYW5kIHRoaXMgYWxzbyBtYXRjaGVzIHRoZSBjdXJyZW50IGxvZ2ljCi0gICAgaW4gR0NDLiAg Rm9yIGluc3RhbmNlLCB0aGUgR0NDIGd1YWxpdHkgdGVzdCBjYXNlIHByNTQ5NzAuYyBmYWlscyBv biBzMzkweAotICAgIGJlY2F1c2Ugb2YgdGhpcy4KLSAgICAKLSAgICBUaGlzIGZpeCBhZGp1c3Rz IHRoZSBwaWVjZSBhY2NvcmRpbmdseSBvbiBiaWctZW5kaWFuIHRhcmdldHMuICBJdCBpcwotICAg IGFzc3VtZWQgdGhhdDoKLSAgICAKLSAgICAqIERXX09QX3BpZWNlIHNoYWxsIHRha2UgdGhlIHBp ZWNlIGZyb20gdGhlIExTQiBlbmQgYXMgd2VsbDsKLSAgICAKLSAgICAqIHBpZWNlcyByZWFjaGlu ZyBvdXRzaWRlIHRoZSBzdGFjayB2YWx1ZSBiaXRzIGFyZSBjb25zaWRlcmVkIHVuZGVmaW5lZCwK LSAgICAgIGFuZCBhIHplcm8gdmFsdWUgY2FuIGJlIHVzZWQgaW5zdGVhZC4KLSAgICAKLSAgICBn ZGIvQ2hhbmdlTG9nOgotICAgIAotICAgICAgICAgICAgUFIgZ2RiLzIxMjI2Ci0gICAgICAgICAg ICAqIGR3YXJmMmxvYy5jIChyZWFkX3BpZWNlZF92YWx1ZSk6IEFuY2hvciBzdGFjayB2YWx1ZSBw aWVjZXMgYXQKLSAgICAgICAgICAgIHRoZSBMU0IgZW5kLCBpbmRlcGVuZGVudCBvZiBlbmRpYW5u ZXNzLgotICAgIAotICAgIGdkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nOgotICAgIAotICAgICAgICAg ICAgUFIgZ2RiLzIxMjI2Ci0gICAgICAgICAgICAqIGdkYi5kd2FyZjIvbm9udmFyLWFjY2Vzcy5l eHA6IEFkZCBjaGVja3MgZm9yIHZlcmlmeWluZyB0aGF0Ci0gICAgICAgICAgICBzdGFjayB2YWx1 ZSBwaWVjZXMgYXJlIHRha2VuIGZyb20gdGhlIExTQiBlbmQuCi0KLSMjIyBhL2dkYi9DaGFuZ2VM b2cKLSMjIyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTEgQEAKLSAyMDE3LTA2LTEzICBB bmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAotKwlQUiBnZGIvMjEy MjYKLSsJKiBkd2FyZjJsb2MuYyAocmVhZF9waWVjZWRfdmFsdWUpOiBBbmNob3Igc3RhY2sgdmFs dWUgcGllY2VzIGF0Ci0rCXRoZSBMU0IgZW5kLCBpbmRlcGVuZGVudCBvZiBlbmRpYW5uZXNzLgot KwotKzIwMTctMDYtMTMgIEFuZHJlYXMgQXJuZXogIDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+ Ci0rCi0gCSogZHdhcmYybG9jLmMgKHdyaXRlX3BpZWNlZF92YWx1ZSk6IEZpeCBvcmRlciBvZiBj YWxjdWxhdGlvbnMgZm9yCi0gCXNpemUgY2FwcGluZy4KLSAKLS0tLSBhL2dkYi9kd2FyZjJsb2Mu YwotKysrIGIvZ2RiL2R3YXJmMmxvYy5jCi1AQCAtMTg1OCw2ICsxODU4LDEwIEBAIHJlYWRfcGll Y2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYpCi0gCQlpZiAodW5hdmFpbCkKLSAJCSAgbWFya192 YWx1ZV9iaXRzX3VuYXZhaWxhYmxlICh2LCBvZmZzZXQsIHRoaXNfc2l6ZV9iaXRzKTsKLSAJICAg ICAgfQotKwotKwkgICAgY29weV9iaXR3aXNlIChjb250ZW50cywgZGVzdF9vZmZzZXRfYml0cywK LSsJCQkgIGludGVybWVkaWF0ZV9idWZmZXIsIHNvdXJjZV9vZmZzZXRfYml0cyAlIDgsCi0rCQkJ ICB0aGlzX3NpemVfYml0cywgYml0c19iaWdfZW5kaWFuKTsKLSAJICB9Ci0gCSAgYnJlYWs7Ci0g Ci1AQCAtMTg2NiwyNiArMTg3MCwzMCBAQCByZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVl ICp2KQotIAkJCSAgICAgcC0+di5tZW0uaW5fc3RhY2tfbWVtb3J5LAotIAkJCSAgICAgcC0+di5t ZW0uYWRkciArIHNvdXJjZV9vZmZzZXQsCi0gCQkJICAgICBidWZmZXIuZGF0YSAoKSwgdGhpc19z aXplKTsKLSsJICBjb3B5X2JpdHdpc2UgKGNvbnRlbnRzLCBkZXN0X29mZnNldF9iaXRzLAotKwkJ CWludGVybWVkaWF0ZV9idWZmZXIsIHNvdXJjZV9vZmZzZXRfYml0cyAlIDgsCi0rCQkJdGhpc19z aXplX2JpdHMsIGJpdHNfYmlnX2VuZGlhbik7Ci0gCSAgYnJlYWs7Ci0gCi0gCWNhc2UgRFdBUkZf VkFMVUVfU1RBQ0s6Ci0gCSAgewotLQkgICAgc2l6ZV90IG4gPSB0aGlzX3NpemU7Ci0rCSAgICBz dHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSA9IGR3YXJmMl9wZXJfY3Vfb2JqZmlsZSAoYy0+cGVyX2N1 KTsKLSsJICAgIHN0cnVjdCBnZGJhcmNoICpvYmpmaWxlX2dkYmFyY2ggPSBnZXRfb2JqZmlsZV9h cmNoIChvYmpmaWxlKTsKLSsJICAgIFVMT05HRVNUIHN0YWNrX3ZhbHVlX3NpemVfYml0cwotKwkg ICAgICA9IDggKiBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAocC0+di52YWx1ZSkpOwotIAotLQkg ICAgaWYgKG4gPiBjLT5hZGRyX3NpemUgLSBzb3VyY2Vfb2Zmc2V0KQotLQkgICAgICBuID0gKGMt PmFkZHJfc2l6ZSA+PSBzb3VyY2Vfb2Zmc2V0Ci0tCQkgICA/IGMtPmFkZHJfc2l6ZSAtIHNvdXJj ZV9vZmZzZXQKLS0JCSAgIDogMCk7Ci0tCSAgICBpZiAobiA9PSAwKQotLQkgICAgICB7Ci0tCQkv KiBOb3RoaW5nLiAgKi8KLS0JICAgICAgfQotLQkgICAgZWxzZQotLQkgICAgICB7Ci0tCQljb25z dCBnZGJfYnl0ZSAqdmFsX2J5dGVzID0gdmFsdWVfY29udGVudHNfYWxsIChwLT52LnZhbHVlKTsK LSsJICAgIC8qIFVzZSB6ZXJvZXMgaWYgcGllY2UgcmVhY2hlcyBiZXlvbmQgc3RhY2sgdmFsdWUu ICAqLwotKwkgICAgaWYgKHAtPnNpemUgPiBzdGFja192YWx1ZV9zaXplX2JpdHMpCi0rCSAgICAg IGJyZWFrOwotIAotLQkJaW50ZXJtZWRpYXRlX2J1ZmZlciA9IHZhbF9ieXRlcyArIHNvdXJjZV9v ZmZzZXQ7Ci0tCSAgICAgIH0KLSsJICAgIC8qIFBpZWNlIGlzIGFuY2hvcmVkIGF0IGxlYXN0IHNp Z25pZmljYW50IGJpdCBlbmQuICAqLwotKwkgICAgaWYgKGdkYmFyY2hfYnl0ZV9vcmRlciAob2Jq ZmlsZV9nZGJhcmNoKSA9PSBCRkRfRU5ESUFOX0JJRykKLSsJICAgICAgc291cmNlX29mZnNldF9i aXRzICs9IHN0YWNrX3ZhbHVlX3NpemVfYml0cyAtIHAtPnNpemU7Ci0rCi0rCSAgICBjb3B5X2Jp dHdpc2UgKGNvbnRlbnRzLCBkZXN0X29mZnNldF9iaXRzLAotKwkJCSAgdmFsdWVfY29udGVudHNf YWxsIChwLT52LnZhbHVlKSwKLSsJCQkgIHNvdXJjZV9vZmZzZXRfYml0cywKLSsJCQkgIHRoaXNf c2l6ZV9iaXRzLCBiaXRzX2JpZ19lbmRpYW4pOwotIAkgIH0KLSAJICBicmVhazsKLSAKLUBAIC0x ODk5LDYgKzE5MDcsMTAgQEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdikKLSAJ CSAgIDogMCk7Ci0gCSAgICBpZiAobiAhPSAwKQotIAkgICAgICBpbnRlcm1lZGlhdGVfYnVmZmVy ID0gcC0+di5saXRlcmFsLmRhdGEgKyBzb3VyY2Vfb2Zmc2V0OwotKwotKwkgICAgY29weV9iaXR3 aXNlIChjb250ZW50cywgZGVzdF9vZmZzZXRfYml0cywKLSsJCQkgIGludGVybWVkaWF0ZV9idWZm ZXIsIHNvdXJjZV9vZmZzZXRfYml0cyAlIDgsCi0rCQkJICB0aGlzX3NpemVfYml0cywgYml0c19i aWdfZW5kaWFuKTsKLSAJICB9Ci0gCSAgYnJlYWs7Ci0gCi1AQCAtMTkxNSwxMiArMTkyNyw2IEBA IHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYpCi0gCSAgaW50ZXJuYWxfZXJyb3Ig KF9fRklMRV9fLCBfX0xJTkVfXywgXygiaW52YWxpZCBsb2NhdGlvbiB0eXBlIikpOwotIAl9Ci0g Ci0tICAgICAgaWYgKHAtPmxvY2F0aW9uICE9IERXQVJGX1ZBTFVFX09QVElNSVpFRF9PVVQKLS0J ICAmJiBwLT5sb2NhdGlvbiAhPSBEV0FSRl9WQUxVRV9JTVBMSUNJVF9QT0lOVEVSKQotLQljb3B5 X2JpdHdpc2UgKGNvbnRlbnRzLCBkZXN0X29mZnNldF9iaXRzLAotLQkJICAgICAgaW50ZXJtZWRp YXRlX2J1ZmZlciwgc291cmNlX29mZnNldF9iaXRzICUgOCwKLS0JCSAgICAgIHRoaXNfc2l6ZV9i aXRzLCBiaXRzX2JpZ19lbmRpYW4pOwotLQotICAgICAgIG9mZnNldCArPSB0aGlzX3NpemVfYml0 czsKLSAgICAgfQotIH0KLSMjIyBhL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCi0jIyMgYi9nZGIv dGVzdHN1aXRlL0NoYW5nZUxvZwotIyMgLTEsNSArMSwxMSBAQAotIDIwMTctMDYtMTMgIEFuZHJl YXMgQXJuZXogIDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci0gCi0rCVBSIGdkYi8yMTIyNgot KwkqIGdkYi5kd2FyZjIvbm9udmFyLWFjY2Vzcy5leHA6IEFkZCBjaGVja3MgZm9yIHZlcmlmeWlu ZyB0aGF0Ci0rCXN0YWNrIHZhbHVlIHBpZWNlcyBhcmUgdGFrZW4gZnJvbSB0aGUgTFNCIGVuZC4K LSsKLSsyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29t PgotKwotIAkqIGdkYi5kd2FyZjIvdmFyLXBpZWNlcy5leHA6IEFkZCB0ZXN0IGNhc2UgZm9yIG1v ZGlmeWluZyBhCi0gCXZhcmlhYmxlIGF0IG5vbnplcm8gb2Zmc2V0LgotIAotLS0tIGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuZHdhcmYyL25vbnZhci1hY2Nlc3MuZXhwCi0rKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5kd2FyZjIvbm9udmFyLWFjY2Vzcy5leHAKLUBAIC0xMjgsMTQgKzEyOCwyNiBAQCBEd2Fy Zjo6YXNzZW1ibGUgJGFzbV9maWxlIHsKLSAJCSAgICB7bmFtZSBkZWZfdH0KLSAJCSAgICB7dHlw ZSA6JHN0cnVjdF90X2xhYmVsfQotIAkJICAgIHtsb2NhdGlvbiB7Ci0tCQkJY29uc3QxdSAwCi0r CQkJY29uc3QycyAtMTg0Ci0gCQkJc3RhY2tfdmFsdWUKLSAJCQliaXRfcGllY2UgOSAwCi0tCQkJ Y29uc3QxcyAtMQotKwkJCWNvbnN0NHUgMTc1MjI4NgotIAkJCXN0YWNrX3ZhbHVlCi0gCQkJYml0 X3BpZWNlIDIzIDAKLSAJCSAgICB9IFNQRUNJQUxfZXhwcn0KLSAJCX0KLSsJCSMgQ29tcG9zaXRl IGxvY2F0aW9uIHdpdGggc29tZSBlbXB0eSBwaWVjZXMuCi0rCQlEV19UQUdfdmFyaWFibGUgewot KwkJICAgIHtuYW1lIHBhcnRfZGVmX2F9Ci0rCQkgICAge3R5cGUgOiRhcnJheV9hOV9sYWJlbH0K LSsJCSAgICB7bG9jYXRpb24gewotKwkJCXBpZWNlIDMKLSsJCQljb25zdDR1IDB4ZjE5MjczMTQK LSsJCQlzdGFja192YWx1ZQotKwkJCXBpZWNlIDQKLSsJCQlwaWVjZSAyCi0rCQkgICAgfSBTUEVD SUFMX2V4cHJ9Ci0rCQl9Ci0gCQkjIEltcGxpY2l0IGxvY2F0aW9uOiBpbW1lZGlhdGUgdmFsdWUu Ci0gCQlEV19UQUdfdmFyaWFibGUgewotIAkJICAgIHtuYW1lIGRlZl9pbXBsaWNpdF9zfQotQEAg LTIyMSw5ICsyMzMsMTIgQEAgZ2RiX3Rlc3QgInByaW50L3ggKmltcGxpY2l0X2JfcHRyIiAiID0g JHZhbCIKLSAKLSAjIEJ5dGUtYWxpZ25lZCBmaWVsZHMsIHBpZWNlZCB0b2dldGhlciBmcm9tIERX QVJGIHN0YWNrIHZhbHVlcy4KLSBnZGJfdGVzdCAicHJpbnQgZGVmX3MiICIgPSBcXHthID0gMCwg YiA9IC0xXFx9IgotK3N3aXRjaCAkZW5kaWFuIHsgYmlnIHtzZXQgdmFsIDB4OTJ9IGxpdHRsZSB7 c2V0IHZhbCAweDczfSB9Ci0rZ2RiX3Rlc3QgInByaW50L3ggcGFydF9kZWZfYVxbNFxdIiAiID0g JHZhbCIKLStnZGJfdGVzdCAicHJpbnQveCBwYXJ0X2RlZl9hXFs4XF0iICIgPSA8b3B0aW1pemVk IG91dD4iCi0gCi0gIyBOb24tYnl0ZS1hbGlnbmVkIGZpZWxkcywgcGllY2VkIHRvZ2V0aGVyIGZy b20gRFdBUkYgc3RhY2sgdmFsdWVzLgotLWdkYl90ZXN0ICJwcmludCBkZWZfdCIgIiA9IFxce2Eg PSAwLCBiID0gLTFcXH0iCi0rZ2RiX3Rlc3QgInByaW50IGRlZl90IiAiID0gXFx7YSA9IC0xODQs IGIgPSAxNzUyMjg2XFx9IgotIAotICMgU2ltcGxlIHZhcmlhYmxlIHdpdGhvdXQgbG9jYXRpb24u Ci0gZ2RiX3Rlc3QgInByaW50IHVuZGVmX2ludCIgIiA9IDxvcHRpbWl6ZWQgb3V0PiIKCmRpZmYg LS1naXQgYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMTNvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIw MzA0LXMzOTB4LTEzb2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWNi MWIxNi4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMTNvZjM1LnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsNzkgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxp bnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAK LVN1YmplY3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0xM29mMzUucGF0Y2gKLQotRmlsZU5hbWU6 IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0xM29mMzUucGF0Y2gKLQotCi1jb21taXQgODA1YWNjYTA0 MmFmZWQ4ZTg0MzFjOTJhYjAzMTE2N2IwMzQ3NTY3NgotQXV0aG9yOiBBbmRyZWFzIEFybmV6IDxh cm5lekBsaW51eC52bmV0LmlibS5jb20+Ci1EYXRlOiAgIFR1ZSBKdW4gMTMgMTU6MjA6MjYgMjAx NyArMDIwMAotCi0gICAgZ2RiL3Rlc3RzdWl0ZTogQWRkICJnZXRfZW5kaWFubmVzcyIgY29udmVu aWVuY2UgcHJvYwotICAgIAotICAgIFRoZSB0ZXN0IHN1aXRlIGNvbnRhaW5zIG11bHRpcGxlIGlu c3RhbmNlcyBvZiBkZXRlcm1pbmluZyB0aGUgdGFyZ2V0J3MKLSAgICBlbmRpYW5uZXNzIHdpdGgg R0RCJ3MgInNob3cgZW5kaWFuIiBjb21tYW5kLiAgVGhpcyBwYXRjaCByZXBsYWNlcyB0aGVzZSBi eQotICAgIGFuIGludm9jYXRpb24gb2YgYSBuZXcgY29udmVuaWVuY2UgcHJvYyAnZ2V0X2VuZGlh bm5lc3MnLgotICAgIAotICAgIGdkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nOgotICAgIAotICAgICAg ICAgICAgKiBsaWIvZ2RiLmV4cCAoZ2V0X2VuZGlhbm5lc3MpOiBOZXcgcHJvYy4KLSAgICAgICAg ICAgICogZ2RiLmFyY2gvYWFyY2g2NC1mcC5leHA6IFVzZSBpdC4KLSAgICAgICAgICAgICogZ2Ri LmFyY2gvYWx0aXZlYy1yZWdzLmV4cDogTGlrZXdpc2UuCi0gICAgICAgICAgICAqIGdkYi5hcmNo L2U1MDAtcmVncy5leHA6IExpa2V3aXNlLgotICAgICAgICAgICAgKiBnZGIuYXJjaC92c3gtcmVn cy5leHA6IExpa2V3aXNlLgotICAgICAgICAgICAgKiBnZGIuYmFzZS9kdW1wLmV4cDogTGlrZXdp c2UuCi0gICAgICAgICAgICAqIGdkYi5iYXNlL2Z1bmNhcmdzLmV4cDogTGlrZXdpc2UuCi0gICAg ICAgICAgICAqIGdkYi5iYXNlL2dudV92ZWN0b3IuZXhwOiBMaWtld2lzZS4KLSAgICAgICAgICAg ICogZ2RiLmR3YXJmMi9mb3JtZGF0YTE2LmV4cDogTGlrZXdpc2UuCi0gICAgICAgICAgICAqIGdk Yi5kd2FyZjIvaW1wbHB0cnBpZWNlLmV4cDogTGlrZXdpc2UuCi0gICAgICAgICAgICAqIGdkYi5k d2FyZjIvbm9udmFyLWFjY2Vzcy5leHA6IExpa2V3aXNlLgotICAgICAgICAgICAgKiBnZGIucHl0 aG9uL3B5LWluZmVyaW9yLmV4cDogTGlrZXdpc2UuCi0gICAgICAgICAgICAqIGdkYi50cmFjZS91 bmF2YWlsYWJsZS1kd2FyZi1waWVjZS5leHA6IExpa2V3aXNlLgotCi0jIyMgYS9nZGIvdGVzdHN1 aXRlL0NoYW5nZUxvZwotIyMjIGIvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEs MjEgQEAKLSAyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0u Y29tPgotIAotKwkqIGxpYi9nZGIuZXhwIChnZXRfZW5kaWFubmVzcyk6IE5ldyBwcm9jLgotKwkq IGdkYi5hcmNoL2FhcmNoNjQtZnAuZXhwOiBVc2UgaXQuCi0rCSogZ2RiLmFyY2gvYWx0aXZlYy1y ZWdzLmV4cDogTGlrZXdpc2UuCi0rCSogZ2RiLmFyY2gvZTUwMC1yZWdzLmV4cDogTGlrZXdpc2Uu Ci0rCSogZ2RiLmFyY2gvdnN4LXJlZ3MuZXhwOiBMaWtld2lzZS4KLSsJKiBnZGIuYmFzZS9kdW1w LmV4cDogTGlrZXdpc2UuCi0rCSogZ2RiLmJhc2UvZnVuY2FyZ3MuZXhwOiBMaWtld2lzZS4KLSsJ KiBnZGIuYmFzZS9nbnVfdmVjdG9yLmV4cDogTGlrZXdpc2UuCi0rCSogZ2RiLmR3YXJmMi9mb3Jt ZGF0YTE2LmV4cDogTGlrZXdpc2UuCi0rCSogZ2RiLmR3YXJmMi9pbXBscHRycGllY2UuZXhwOiBM aWtld2lzZS4KLSsJKiBnZGIuZHdhcmYyL25vbnZhci1hY2Nlc3MuZXhwOiBMaWtld2lzZS4KLSsJ KiBnZGIucHl0aG9uL3B5LWluZmVyaW9yLmV4cDogTGlrZXdpc2UuCi0rCSogZ2RiLnRyYWNlL3Vu YXZhaWxhYmxlLWR3YXJmLXBpZWNlLmV4cDogTGlrZXdpc2UuCi0rCi0rMjAxNy0wNi0xMyAgQW5k cmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSsKLSAJUFIgZ2RiLzIxMjI2 Ci0gCSogZ2RiLmR3YXJmMi9ub252YXItYWNjZXNzLmV4cDogQWRkIGNoZWNrcyBmb3IgdmVyaWZ5 aW5nIHRoYXQKLSAJc3RhY2sgdmFsdWUgcGllY2VzIGFyZSB0YWtlbiBmcm9tIHRoZSBMU0IgZW5k LgotLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9s aWIvZ2RiLmV4cAotQEAgLTU2NzEsNiArNTY3MSwxOSBAQCBwcm9jIHNldF9yZW1vdGV0aW1lb3V0 IHsgdGltZW91dCB9IHsKLSAgICAgfQotIH0KLSAKLSsjIEdldCB0aGUgdGFyZ2V0J3MgY3VycmVu dCBlbmRpYW5uZXNzIGFuZCByZXR1cm4gaXQuCi0rcHJvYyBnZXRfZW5kaWFubmVzcyB7IH0gewot KyAgICBnbG9iYWwgZ2RiX3Byb21wdAotKwotKyAgICBnZGJfdGVzdF9tdWx0aXBsZSAic2hvdyBl bmRpYW4iICJkZXRlcm1pbmUgZW5kaWFubmVzcyIgewotKwktcmUgIi4qIChsaXR0bGV8YmlnKSBl bmRpYW4uKlxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rCSAgICAjIFBhc3Mgc2lsZW50bHkuCi0rCSAg ICByZXR1cm4gJGV4cGVjdF9vdXQoMSxzdHJpbmcpCi0rCX0KLSsgICAgfQotKyAgICByZXR1cm4g ImxpdHRsZSIKLSt9Ci0rCi0gIyBST09UIGFuZCBGVUxMIGFyZSBmaWxlIG5hbWVzLiAgUmV0dXJu cyB0aGUgcmVsYXRpdmUgcGF0aCBmcm9tIFJPT1QKLSAjIHRvIEZVTEwuICBOb3RlIHRoYXQgRlVM TCBtdXN0IGJlIGluIGEgc3ViZGlyZWN0b3J5IG9mIFJPT1QuCi0gIyBGb3IgZXhhbXBsZSwgZ2l2 ZW4gUk9PVCA9IC91c3IvYmluIGFuZCBGVUxMID0gL3Vzci9iaW4vbHMsIHRoaXMKCmRpZmYgLS1n aXQgYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMTRvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIwMzA0 LXMzOTB4LTE0b2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2NhZTM0 MS4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMTRvZjM1LnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZh bGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1 YmplY3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0xNG9mMzUucGF0Y2gKLQotRmlsZU5hbWU6IGdk Yi1yaGJ6MTQyMDMwNC1zMzkweC0xNG9mMzUucGF0Y2gKLQotCi1jb21taXQgYWY1NDdhOTYxNDk2 OWUxZDFlYTZmY2VjNmI1OWNkNzdhNjA2MzgwZgotQXV0aG9yOiBBbmRyZWFzIEFybmV6IDxhcm5l ekBsaW51eC52bmV0LmlibS5jb20+Ci1EYXRlOiAgIFR1ZSBKdW4gMTMgMTU6MjA6MjcgMjAxNyAr MDIwMAotCi0gICAgcmVhZC93cml0ZV9waWVjZWRfdmFsdWU6IFJlc3BlY3QgdmFsdWUgcGFyZW50 J3Mgb2Zmc2V0Ci0gICAgCi0gICAgSW4gdGhlIGNhc2Ugb2YgdGFyZ2V0aW5nIGEgYml0LWZpZWxk LCByZWFkX3BpZWNlZF92YWx1ZSBhbmQKLSAgICB3cml0ZV9waWVjZWRfdmFsdWUgY2FsY3VsYXRl IHRoZSBudW1iZXIgb2YgYml0cyBwcmVjZWRpbmcgdGhlIGJpdC1maWVsZAotICAgIHdpdGhvdXQg Y29uc2lkZXJpbmcgdGhlIHJlbGF0aXZlIG9mZnNldCBvZiB0aGUgdmFsdWUncyBwYXJlbnQuICBU aGlzIGlzCi0gICAgcmVsZXZhbnQgZm9yIGEgc3RydWN0dXJlIHZhcmlhYmxlIGxpa2UgdGhpczoK LSAgICAKLSAgICAgIHN0cnVjdCBzIHsKLSAgICAgICAgICB1aW50NjRfdCBmb287Ci0gICAgICAg ICAgc3RydWN0IHsKLSAgICAgICAgICAgICAgdWludDMyX3QgYmFyOwotICAgICAgICAgICAgICB1 aW50MzJfdCBiZiA6IDEwOyAgLyogPC0tIHRhcmdldCBiaXQtZmllbGQgKi8KLSAgICAgICAgICB9 IGJhejsKLSAgICAgIH0gczsKLSAgICAKLSAgICBJbiB0aGlzIHNjZW5hcmlvLCBpZiAndmFsJyBp cyBhIEdEQiB2YWx1ZSByZXByZXNlbnRpbmcgcy5iYXouYmYsCi0gICAgdmFsLT5wYXJlbnQgcmVw cmVzZW50cyB0aGUgd2hvbGUgcy5iYXogc3RydWN0dXJlLCBhbmQgdGhlIGZvbGxvd2luZyBob2xk czoKLSAgICAKLSAgICAgIC0gdmFsdWVfb2Zmc2V0ICh2YWwpID09IHNpemVvZiBzLmJhei5iYXIg PT0gNAotICAgICAgLSB2YWx1ZV9vZmZzZXQgKHZhbC0+cGFyZW50KSA9PSBzaXplb2Ygcy5mb28g PT0gOAotICAgIAotICAgIFRoZSBjdXJyZW50IGxvZ2ljIHdvdWxkIG9ubHkgdXNlIHZhbHVlX29m ZnNldCh2YWwpLCByZXN1bHRpbmcgaW4gdGhlIHdyb25nCi0gICAgb2Zmc2V0IGludG8gdGhlIHRh cmdldCB2YWx1ZS4gIFRoaXMgaXMgZml4ZWQuCi0gICAgCi0gICAgZ2RiL0NoYW5nZUxvZzoKLSAg ICAKLSAgICAgICAgICAgICogZHdhcmYybG9jLmMgKHJlYWRfcGllY2VkX3ZhbHVlKTogUmVzcGVj dCBwYXJlbnQgdmFsdWUncyBvZmZzZXQKLSAgICAgICAgICAgIHdoZW4gdGFyZ2V0aW5nIGEgYml0 LWZpZWxkLgotICAgICAgICAgICAgKHdyaXRlX3BpZWNlZF92YWx1ZSk6IExpa2V3aXNlLgotCi0j IyMgYS9nZGIvQ2hhbmdlTG9nCi0jIyMgYi9nZGIvQ2hhbmdlTG9nCi0jIyAtMSw1ICsxLDExIEBA Ci0gMjAxNy0wNi0xMyAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4K LSAKLSsJKiBkd2FyZjJsb2MuYyAocmVhZF9waWVjZWRfdmFsdWUpOiBSZXNwZWN0IHBhcmVudCB2 YWx1ZSdzIG9mZnNldAotKwl3aGVuIHRhcmdldGluZyBhIGJpdC1maWVsZC4KLSsJKHdyaXRlX3Bp ZWNlZF92YWx1ZSk6IExpa2V3aXNlLgotKwotKzIwMTctMDYtMTMgIEFuZHJlYXMgQXJuZXogIDxh cm5lekBsaW51eC52bmV0LmlibS5jb20+Ci0rCi0gCSogZHdhcmYybG9jLmMgKHN0cnVjdCBwaWVj ZV9jbG9zdXJlKSA8YWRkcl9zaXplPjogUmVtb3ZlIGZpZWxkLgotIAkoYWxsb2NhdGVfcGllY2Vf Y2xvc3VyZSk6IERyb3AgYWRkcl9zaXplIHBhcmFtZXRlci4KLSAJKGR3YXJmMl9ldmFsdWF0ZV9s b2NfZGVzY19mdWxsKTogQWRqdXN0IGNhbGwgdG8KLS0tLSBhL2dkYi9kd2FyZjJsb2MuYwotKysr IGIvZ2RiL2R3YXJmMmxvYy5jCi1AQCAtMTc3Niw3ICsxNzc2LDggQEAgcmVhZF9waWVjZWRfdmFs dWUgKHN0cnVjdCB2YWx1ZSAqdikKLSAgIGJpdHNfdG9fc2tpcCA9IDggKiB2YWx1ZV9vZmZzZXQg KHYpOwotICAgaWYgKHZhbHVlX2JpdHNpemUgKHYpKQotICAgICB7Ci0tICAgICAgYml0c190b19z a2lwICs9IHZhbHVlX2JpdHBvcyAodik7Ci0rICAgICAgYml0c190b19za2lwICs9ICg4ICogdmFs dWVfb2Zmc2V0ICh2YWx1ZV9wYXJlbnQgKHYpKQotKwkJICAgICAgICsgdmFsdWVfYml0cG9zICh2 KSk7Ci0gICAgICAgdHlwZV9sZW4gPSB2YWx1ZV9iaXRzaXplICh2KTsKLSAgICAgfQotICAgZWxz ZQotQEAgLTE5NDYsNyArMTk0Nyw4IEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVl ICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotICAgYml0c190b19za2lwID0gOCAqIHZhbHVlX29m ZnNldCAodG8pOwotICAgaWYgKHZhbHVlX2JpdHNpemUgKHRvKSkKLSAgICAgewotLSAgICAgIGJp dHNfdG9fc2tpcCArPSB2YWx1ZV9iaXRwb3MgKHRvKTsKLSsgICAgICBiaXRzX3RvX3NraXAgKz0g KDggKiB2YWx1ZV9vZmZzZXQgKHZhbHVlX3BhcmVudCAodG8pKQotKwkJICAgICAgICsgdmFsdWVf Yml0cG9zICh0bykpOwotICAgICAgIHR5cGVfbGVuID0gdmFsdWVfYml0c2l6ZSAodG8pOwotICAg ICB9Ci0gICBlbHNlCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE1b2YzNS5w YXRjaCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0xNW9mMzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDI1NTA0MWMuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMz OTB4LTE1b2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLUZyb206IEZl ZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAy MDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMTVvZjM1 LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMTVvZjM1LnBhdGNoCi0K LQotY29tbWl0IGNkYWFjMzIwZmQ2MmJmZjc1NTYyYWFhM2U0NjY0OTRkYzcyZGQxNzUKLUF1dGhv cjogQW5kcmVhcyBBcm5leiA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotRGF0ZTogICBUdWUg SnVuIDEzIDE1OjIwOjI3IDIwMTcgKzAyMDAKLQotICAgIHdyaXRlX3BpZWNlZF92YWx1ZTogRml4 IGNvcHkvcGFzdGUgZXJyb3IgaW4gc2l6ZSBjYWxjdWxhdGlvbgotICAgIAotICAgIEluIHdyaXRl X3BpZWNlZF92YWx1ZSwgdGhlIG51bWJlciBvZiBieXRlcyBjb250YWluaW5nIGEgcG9ydGlvbiBv ZiB0aGUKLSAgICBiaXQtZmllbGQgaW4gYSBnaXZlbiBwaWVjZSBpcyBjYWxjdWxhdGVkIHdpdGgg dGhlIHdyb25nIHN0YXJ0aW5nIG9mZnNldDsKLSAgICB0aHVzIHRoZSByZXN1bHQgbWF5IGJlIG9m ZiBieSBvbmUuICBUaGlzIGJ1ZyB3YXMgcHJvYmFibHkgaW50cm9kdWNlZCB3aGVuCi0gICAgY29w eWluZyB0aGlzIGxvZ2ljIGZyb20gcmVhZF9waWVjZWRfdmFsdWUuICBGaXggaXQuCi0gICAgCi0g ICAgZ2RiL0NoYW5nZUxvZzoKLSAgICAKLSAgICAgICAgICAgICogZHdhcmYybG9jLmMgKHdyaXRl X3BpZWNlZF92YWx1ZSk6IEZpeCBjb3B5L3Bhc3RlIGVycm9yIGluIHRoZQotICAgICAgICAgICAg Y2FsY3VsYXRpb24gb2YgdGhpc19zaXplLgotCi0jIyMgYS9nZGIvQ2hhbmdlTG9nCi0jIyMgYi9n ZGIvQ2hhbmdlTG9nCi0jIyAtMSw1ICsxLDEwIEBACi0gMjAxNy0wNi0xMyAgQW5kcmVhcyBBcm5l eiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAKLSsJKiBkd2FyZjJsb2MuYyAod3JpdGVf cGllY2VkX3ZhbHVlKTogRml4IGNvcHkvcGFzdGUgZXJyb3IgaW4gdGhlCi0rCWNhbGN1bGF0aW9u IG9mIHRoaXNfc2l6ZS4KLSsKLSsyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGlu dXgudm5ldC5pYm0uY29tPgotKwotIAkqIGR3YXJmMmxvYy5jIChyZWFkX3BpZWNlZF92YWx1ZSk6 IFJlc3BlY3QgcGFyZW50IHZhbHVlJ3Mgb2Zmc2V0Ci0gCXdoZW4gdGFyZ2V0aW5nIGEgYml0LWZp ZWxkLgotIAkod3JpdGVfcGllY2VkX3ZhbHVlKTogTGlrZXdpc2UuCi0tLS0gYS9nZGIvZHdhcmYy bG9jLmMKLSsrKyBiL2dkYi9kd2FyZjJsb2MuYwotQEAgLTE5ODMsNyArMTk4Myw3IEBAIHdyaXRl X3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotICAg ICAgIGlmICh0aGlzX3NpemVfYml0cyA+IHR5cGVfbGVuIC0gb2Zmc2V0KQotIAl0aGlzX3NpemVf Yml0cyA9IHR5cGVfbGVuIC0gb2Zmc2V0OwotIAotLSAgICAgIHRoaXNfc2l6ZSA9ICh0aGlzX3Np emVfYml0cyArIHNvdXJjZV9vZmZzZXRfYml0cyAlIDggKyA3KSAvIDg7Ci0rICAgICAgdGhpc19z aXplID0gKHRoaXNfc2l6ZV9iaXRzICsgZGVzdF9vZmZzZXRfYml0cyAlIDggKyA3KSAvIDg7Ci0g ICAgICAgc291cmNlX29mZnNldCA9IHNvdXJjZV9vZmZzZXRfYml0cyAvIDg7Ci0gICAgICAgZGVz dF9vZmZzZXQgPSBkZXN0X29mZnNldF9iaXRzIC8gODsKLSAgICAgICBpZiAoZGVzdF9vZmZzZXRf Yml0cyAlIDggPT0gMCAmJiBzb3VyY2Vfb2Zmc2V0X2JpdHMgJSA4ID09IDApCgpkaWZmIC0tZ2l0 IGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE2b2YzNS5wYXRjaCBiL2dkYi1yaGJ6MTQyMDMwNC1z MzkweC0xNm9mMzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkOGQxNzgu LjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE2b2YzNS5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxp ZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJq ZWN0OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMTZvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGIt cmhiejE0MjAzMDQtczM5MHgtMTZvZjM1LnBhdGNoCi0KLWNvbW1pdCBmMWNjOTg3NDIwZDlkMjQ4 OWViNDUzYmQxYzg3MTM5NjY2Y2JlN2ZkCi1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6QGxp bnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgVHVlIEp1biAxMyAxNToyMDoyNyAyMDE3ICswMjAw Ci0KLSAgICB3cml0ZV9waWVjZWRfdmFsdWU6IEluY2x1ZGUgdHJhbnNmZXIgc2l6ZSBpbiBieXRl LXdpc2UgY2hlY2sKLSAgICAKLSAgICBJbiB3cml0ZV9waWVjZWRfdmFsdWUsIHdoZW4gY2hlY2tp bmcgd2hldGhlciB0aGUgZGF0YSBjYW4gYmUgdHJhbnNmZXJyZWQKLSAgICBieXRlLXdpc2UsIHRo ZSBjdXJyZW50IGxvZ2ljIHZlcmlmaWVzIHRoZSBzb3VyY2UtIGFuZCBkZXN0aW5hdGlvbiBvZmZz ZXRzCi0gICAgdG8gYmUgYnl0ZS1hbGlnbmVkLCBidXQgbm90IHRoZSB0cmFuc2ZlciBzaXplLiAg VGhpcyBpcyBmaXhlZC4KLSAgICAKLSAgICBnZGIvQ2hhbmdlTG9nOgotICAgIAotICAgICAgICAg ICAgKiBkd2FyZjJsb2MuYyAod3JpdGVfcGllY2VkX3ZhbHVlKTogSW5jbHVkZSB0cmFuc2ZlciBz aXplIGluCi0gICAgICAgICAgICBieXRlLXdpc2UgY2hlY2suCi0KLSMjIyBhL2dkYi9DaGFuZ2VM b2cKLSMjIyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTAgQEAKLSAyMDE3LTA2LTEzICBB bmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAotKwkqIGR3YXJmMmxv Yy5jICh3cml0ZV9waWVjZWRfdmFsdWUpOiBJbmNsdWRlIHRyYW5zZmVyIHNpemUgaW4KLSsJYnl0 ZS13aXNlIGNoZWNrLgotKwotKzIwMTctMDYtMTMgIEFuZHJlYXMgQXJuZXogIDxhcm5lekBsaW51 eC52bmV0LmlibS5jb20+Ci0rCi0gCSogZHdhcmYybG9jLmMgKHdyaXRlX3BpZWNlZF92YWx1ZSk6 IEZpeCBjb3B5L3Bhc3RlIGVycm9yIGluIHRoZQotIAljYWxjdWxhdGlvbiBvZiB0aGlzX3NpemUu Ci0gCi0tLS0gYS9nZGIvZHdhcmYybG9jLmMKLSsrKyBiL2dkYi9kd2FyZjJsb2MuYwotQEAgLTE5 ODYsNyArMTk4NiwxMCBAQCB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdG8sIHN0 cnVjdCB2YWx1ZSAqZnJvbSkKLSAgICAgICB0aGlzX3NpemUgPSAodGhpc19zaXplX2JpdHMgKyBk ZXN0X29mZnNldF9iaXRzICUgOCArIDcpIC8gODsKLSAgICAgICBzb3VyY2Vfb2Zmc2V0ID0gc291 cmNlX29mZnNldF9iaXRzIC8gODsKLSAgICAgICBkZXN0X29mZnNldCA9IGRlc3Rfb2Zmc2V0X2Jp dHMgLyA4OwotLSAgICAgIGlmIChkZXN0X29mZnNldF9iaXRzICUgOCA9PSAwICYmIHNvdXJjZV9v ZmZzZXRfYml0cyAlIDggPT0gMCkKLSsKLSsgICAgICAvKiBDaGVjayB3aGV0aGVyIHRoZSBkYXRh IGNhbiBiZSB0cmFuc2ZlcnJlZCBieXRlLXdpc2UuICAqLwotKyAgICAgIGlmIChkZXN0X29mZnNl dF9iaXRzICUgOCA9PSAwICYmIHNvdXJjZV9vZmZzZXRfYml0cyAlIDggPT0gMAotKwkgICYmIHRo aXNfc2l6ZV9iaXRzICUgOCA9PSAwKQotIAl7Ci0gCSAgc291cmNlX2J1ZmZlciA9IGNvbnRlbnRz ICsgc291cmNlX29mZnNldDsKLSAJICBuZWVkX2JpdHdpc2UgPSAwOwoKZGlmZiAtLWdpdCBhL2dk Yi1yaGJ6MTQyMDMwNC1zMzkweC0xN29mMzUucGF0Y2ggYi9nZGItcmhiejE0MjAzMDQtczM5MHgt MTdvZjM1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMGI1ZTU1Li4wMDAw MDAwCi0tLSBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0xN29mMzUucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSw0OCArMCwwIEBACi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1h aWwuY29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDog Z2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE3b2YzNS5wYXRjaAotCi1GaWxlTmFtZTogZ2RiLXJoYnox NDIwMzA0LXMzOTB4LTE3b2YzNS5wYXRjaAotCi1jb21taXQgMDdjOWNhM2JkOGU2ZjgzYmNlYzQ5 YzkyMmI1MjQyMmM1MzhmNjBmNwotQXV0aG9yOiBBbmRyZWFzIEFybmV6IDxhcm5lekBsaW51eC52 bmV0LmlibS5jb20+Ci1EYXRlOiAgIFR1ZSBKdW4gMTMgMTU6MjA6MjggMjAxNyArMDIwMAotCi0g ICAgd3JpdGVfcGllY2VkX3ZhbHVlOiBGaXggYnVmZmVyIG9mZnNldCBmb3IgbWVtb3J5IHBpZWNl cwotICAgIAotICAgIEluIHdyaXRlX3BpZWNlZF92YWx1ZSwgd2hlbiB0cmFuc2ZlcnJpbmcgdGhl IGRhdGEgdG8gdGFyZ2V0IG1lbW9yeSB2aWEgYQotICAgIGJ1ZmZlciwgdGhlIGJpdCBvZmZzZXQg d2l0aGluIHRoZSB0YXJnZXQgdmFsdWUgaXMgbm90IHJlZHVjZWQgdG8gaXRzCi0gICAgc3ViLWJ5 dGUgZnJhY3Rpb24gYmVmb3JlIHVzaW5nIGl0IGFzIGEgYml0IG9mZnNldCBpbnRvIHRoZSBidWZm ZXIuICBUaGlzCi0gICAgaXMgZml4ZWQuCi0gICAgCi0gICAgZ2RiL0NoYW5nZUxvZzoKLSAgICAK LSAgICAgICAgICAgICogZHdhcmYybG9jLmMgKHdyaXRlX3BpZWNlZF92YWx1ZSk6IEluIERXQVJG X1ZBTFVFX01FTU9SWSwKLSAgICAgICAgICAgIHRydW5jYXRlIGZ1bGwgYnl0ZXMgZnJvbSBkZXN0 X29mZnNldF9iaXRzIGJlZm9yZSB1c2luZyBpdCBhcyBhbgotICAgICAgICAgICAgb2Zmc2V0IGlu dG8gdGhlIGJ1ZmZlci4KLQotIyMjIGEvZ2RiL0NoYW5nZUxvZwotIyMjIGIvZ2RiL0NoYW5nZUxv ZwotIyMgLTEsNSArMSwxMSBAQAotIDIwMTctMDYtMTMgIEFuZHJlYXMgQXJuZXogIDxhcm5lekBs aW51eC52bmV0LmlibS5jb20+Ci0gCi0rCSogZHdhcmYybG9jLmMgKHdyaXRlX3BpZWNlZF92YWx1 ZSk6IEluIERXQVJGX1ZBTFVFX01FTU9SWSwKLSsJdHJ1bmNhdGUgZnVsbCBieXRlcyBmcm9tIGRl c3Rfb2Zmc2V0X2JpdHMgYmVmb3JlIHVzaW5nIGl0IGFzIGFuCi0rCW9mZnNldCBpbnRvIHRoZSBi dWZmZXIuCi0rCi0rMjAxNy0wNi0xMyAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQu aWJtLmNvbT4KLSsKLSAJKiBkd2FyZjJsb2MuYyAod3JpdGVfcGllY2VkX3ZhbHVlKTogSW5jbHVk ZSB0cmFuc2ZlciBzaXplIGluCi0gCWJ5dGUtd2lzZSBjaGVjay4KLSAKLS0tLSBhL2dkYi9kd2Fy ZjJsb2MuYwotKysrIGIvZ2RiL2R3YXJmMmxvYy5jCi1AQCAtMjA1OCw3ICsyMDU4LDcgQEAgd3Jp dGVfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnRvLCBzdHJ1Y3QgdmFsdWUgKmZyb20pCi0g CSAgICAgIHJlYWRfbWVtb3J5IChwLT52Lm1lbS5hZGRyICsgZGVzdF9vZmZzZXQsIGJ1ZmZlci5k YXRhICgpLCAxKTsKLSAJICAgICAgcmVhZF9tZW1vcnkgKHAtPnYubWVtLmFkZHIgKyBkZXN0X29m ZnNldCArIHRoaXNfc2l6ZSAtIDEsCi0gCQkJICAgJmJ1ZmZlclt0aGlzX3NpemUgLSAxXSwgMSk7 Ci0tCSAgICAgIGNvcHlfYml0d2lzZSAoYnVmZmVyLmRhdGEgKCksIGRlc3Rfb2Zmc2V0X2JpdHMs Ci0rCSAgICAgIGNvcHlfYml0d2lzZSAoYnVmZmVyLmRhdGEgKCksIGRlc3Rfb2Zmc2V0X2JpdHMg JSA4LAotIAkJCSAgICBjb250ZW50cywgc291cmNlX29mZnNldF9iaXRzLAotIAkJCSAgICB0aGlz X3NpemVfYml0cywKLSAJCQkgICAgYml0c19iaWdfZW5kaWFuKTsKCmRpZmYgLS1naXQgYS9nZGIt cmhiejE0MjAzMDQtczM5MHgtMThvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE4 b2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjcxMzM1ZC4uMDAwMDAw MAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMThvZjM1LnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMTcyICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFp bC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBn ZGItcmhiejE0MjAzMDQtczM5MHgtMThvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0 MjAzMDQtczM5MHgtMThvZjM1LnBhdGNoCi0KLWNvbW1pdCAzNTliMTliYjI0ZDA0ODc1MGFhNTM2 N2FkNTZhMzMyNjczMDBkMWE4Ci1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZu ZXQuaWJtLmNvbT4KLURhdGU6ICAgVHVlIEp1biAxMyAxNToyMDoyOCAyMDE3ICswMjAwCi0KLSAg ICB3cml0ZV9waWVjZWRfdmFsdWU6IFRyYW5zZmVyIGxlYXN0IHNpZ25pZmljYW50IGJpdHMgaW50 byBiaXQtZmllbGQKLSAgICAKLSAgICBPbiBiaWctZW5kaWFuIHRhcmdldHMsIHdoZW4gdGFyZ2V0 aW5nIGEgYml0LWZpZWxkLCB3cml0ZV9waWVjZWRfdmFsdWUKLSAgICBjdXJyZW50bHkgdHJhbnNm ZXJzIHRoZSBzb3VyY2UgdmFsdWUncyAqbW9zdCogc2lnbmlmaWNhbnQgYml0cyB0byB0aGUKLSAg ICB0YXJnZXQgdmFsdWUsIGluc3RlYWQgb2YgaXRzIGxlYXN0IHNpZ25pZmljYW50IGJpdHMuICBU aGlzIGlzIGZpeGVkLgotICAgIAotICAgIEluIHBhcnRpY3VsYXIgdGhlIGZpeCBhZGp1c3RzIHRo ZSBpbml0aWFsIHZhbHVlIG9mICdvZmZzZXQnLCB3aGljaCBjYW4gbm93Ci0gICAgcG90ZW50aWFs bHkgYmUgbm9uemVyby4gIFRodXMgdGhlIHZhcmlhYmxlICd0eXBlX2xlbicgaXMgcmVuYW1lZCB0 bwotICAgICdtYXhfb2Zmc2V0JywgdG8gYXZvaWQgY29uZnVzaW9uLiAgQW5kIGZvciBjb25zaXN0 ZW5jeSwgdGhlIGFmZmVjdGVkIGxvZ2ljCi0gICAgdGhhdCB3YXMgbWlycm9yZWQgaW4gcmVhZF9w aWVjZWRfdmFsdWUgaXMgY2hhbmdlZCB0aGVyZSBpbiB0aGUgc2FtZSB3YXkuCi0gICAgCi0gICAg Z2RiL0NoYW5nZUxvZzoKLSAgICAKLSAgICAgICAgICAgICogZHdhcmYybG9jLmMgKHdyaXRlX3Bp ZWNlZF92YWx1ZSk6IFdoZW4gd3JpdGluZyB0byBhIGJpdC1maWVsZCwKLSAgICAgICAgICAgIHRy YW5zZmVyIHRoZSBzb3VyY2UgdmFsdWUncyBsZWFzdCBzaWduaWZpY2FudCBiaXRzLCBpbnN0ZWFk IG9mIGl0cwotICAgICAgICAgICAgbG93ZXN0LWFkZHJlc3NlZCBvbmVzLiAgUmVuYW1lIHR5cGVf bGVuIHRvIG1heF9vZmZzZXQuCi0gICAgICAgICAgICAocmVhZF9waWVjZWRfdmFsdWUpOiBNaXJy b3IgYWJvdmUgY2hhbmdlcyB0byB3cml0ZV9waWVjZWRfdmFsdWUgYXMKLSAgICAgICAgICAgIGFw cGxpY2FibGUuCi0KLSMjIyBhL2dkYi9DaGFuZ2VMb2cKLSMjIyBiL2dkYi9DaGFuZ2VMb2cKLSMj IC0xLDUgKzEsMTMgQEAKLSAyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgu dm5ldC5pYm0uY29tPgotIAotKwkqIGR3YXJmMmxvYy5jICh3cml0ZV9waWVjZWRfdmFsdWUpOiBX aGVuIHdyaXRpbmcgdG8gYSBiaXQtZmllbGQsCi0rCXRyYW5zZmVyIHRoZSBzb3VyY2UgdmFsdWUn cyBsZWFzdCBzaWduaWZpY2FudCBiaXRzLCBpbnN0ZWFkIG9mIGl0cwotKwlsb3dlc3QtYWRkcmVz c2VkIG9uZXMuICBSZW5hbWUgdHlwZV9sZW4gdG8gbWF4X29mZnNldC4KLSsJKHJlYWRfcGllY2Vk X3ZhbHVlKTogTWlycm9yIGFib3ZlIGNoYW5nZXMgdG8gd3JpdGVfcGllY2VkX3ZhbHVlIGFzCi0r CWFwcGxpY2FibGUuCi0rCi0rMjAxNy0wNi0xMyAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4 LnZuZXQuaWJtLmNvbT4KLSsKLSAJKiBkd2FyZjJsb2MuYyAod3JpdGVfcGllY2VkX3ZhbHVlKTog SW4gRFdBUkZfVkFMVUVfTUVNT1JZLAotIAl0cnVuY2F0ZSBmdWxsIGJ5dGVzIGZyb20gZGVzdF9v ZmZzZXRfYml0cyBiZWZvcmUgdXNpbmcgaXQgYXMgYW4KLSAJb2Zmc2V0IGludG8gdGhlIGJ1ZmZl ci4KLS0tLSBhL2dkYi9kd2FyZjJsb2MuYwotKysrIGIvZ2RiL2R3YXJmMmxvYy5jCi1AQCAtMTc1 NiwxMiArMTc1NiwxMSBAQCBzdGF0aWMgdm9pZAotIHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3Qg dmFsdWUgKnYpCi0gewotICAgaW50IGk7Ci0tICBsb25nIG9mZnNldCA9IDA7Ci0rICBMT05HRVNU IG9mZnNldCA9IDAsIG1heF9vZmZzZXQ7Ci0gICBVTE9OR0VTVCBiaXRzX3RvX3NraXA7Ci0gICBn ZGJfYnl0ZSAqY29udGVudHM7Ci0gICBzdHJ1Y3QgcGllY2VfY2xvc3VyZSAqYwotICAgICA9IChz dHJ1Y3QgcGllY2VfY2xvc3VyZSAqKSB2YWx1ZV9jb21wdXRlZF9jbG9zdXJlICh2KTsKLS0gIHNp emVfdCB0eXBlX2xlbjsKLSAgIHNpemVfdCBidWZmZXJfc2l6ZSA9IDA7Ci0gICBzdGQ6OnZlY3Rv cjxnZGJfYnl0ZT4gYnVmZmVyOwotICAgaW50IGJpdHNfYmlnX2VuZGlhbgotQEAgLTE3NzgsMTIg KzE3NzcsMTIgQEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdikKLSAgICAgewot ICAgICAgIGJpdHNfdG9fc2tpcCArPSAoOCAqIHZhbHVlX29mZnNldCAodmFsdWVfcGFyZW50ICh2 KSkKLSAJCSAgICAgICArIHZhbHVlX2JpdHBvcyAodikpOwotLSAgICAgIHR5cGVfbGVuID0gdmFs dWVfYml0c2l6ZSAodik7Ci0rICAgICAgbWF4X29mZnNldCA9IHZhbHVlX2JpdHNpemUgKHYpOwot ICAgICB9Ci0gICBlbHNlCi0tICAgIHR5cGVfbGVuID0gOCAqIFRZUEVfTEVOR1RIICh2YWx1ZV90 eXBlICh2KSk7Ci0rICAgIG1heF9vZmZzZXQgPSA4ICogVFlQRV9MRU5HVEggKHZhbHVlX3R5cGUg KHYpKTsKLSAKLS0gIGZvciAoaSA9IDA7IGkgPCBjLT5uX3BpZWNlcyAmJiBvZmZzZXQgPCB0eXBl X2xlbjsgaSsrKQotKyAgZm9yIChpID0gMDsgaSA8IGMtPm5fcGllY2VzICYmIG9mZnNldCA8IG1h eF9vZmZzZXQ7IGkrKykKLSAgICAgewotICAgICAgIHN0cnVjdCBkd2FyZl9leHByX3BpZWNlICpw ID0gJmMtPnBpZWNlc1tpXTsKLSAgICAgICBzaXplX3QgdGhpc19zaXplLCB0aGlzX3NpemVfYml0 czsKLUBAIC0xNzk4LDIwICsxNzk3LDEzIEBAIHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFs dWUgKnYpCi0gCSAgYml0c190b19za2lwIC09IHRoaXNfc2l6ZV9iaXRzOwotIAkgIGNvbnRpbnVl OwotIAl9Ci0tICAgICAgaWYgKGJpdHNfdG9fc2tpcCA+IDApCi0tCXsKLS0JICBkZXN0X29mZnNl dF9iaXRzID0gMDsKLS0JICBzb3VyY2Vfb2Zmc2V0X2JpdHMgPSBiaXRzX3RvX3NraXA7Ci0tCSAg dGhpc19zaXplX2JpdHMgLT0gYml0c190b19za2lwOwotLQkgIGJpdHNfdG9fc2tpcCA9IDA7Ci0t CX0KLS0gICAgICBlbHNlCi0tCXsKLS0JICBkZXN0X29mZnNldF9iaXRzID0gb2Zmc2V0OwotLQkg IHNvdXJjZV9vZmZzZXRfYml0cyA9IDA7Ci0tCX0KLS0gICAgICBpZiAodGhpc19zaXplX2JpdHMg PiB0eXBlX2xlbiAtIG9mZnNldCkKLS0JdGhpc19zaXplX2JpdHMgPSB0eXBlX2xlbiAtIG9mZnNl dDsKLSsgICAgICBzb3VyY2Vfb2Zmc2V0X2JpdHMgPSBiaXRzX3RvX3NraXA7Ci0rICAgICAgdGhp c19zaXplX2JpdHMgLT0gYml0c190b19za2lwOwotKyAgICAgIGJpdHNfdG9fc2tpcCA9IDA7Ci0r ICAgICAgZGVzdF9vZmZzZXRfYml0cyA9IG9mZnNldDsKLSsKLSsgICAgICBpZiAodGhpc19zaXpl X2JpdHMgPiBtYXhfb2Zmc2V0IC0gb2Zmc2V0KQotKwl0aGlzX3NpemVfYml0cyA9IG1heF9vZmZz ZXQgLSBvZmZzZXQ7Ci0gCi0gICAgICAgdGhpc19zaXplID0gKHRoaXNfc2l6ZV9iaXRzICsgc291 cmNlX29mZnNldF9iaXRzICUgOCArIDcpIC8gODsKLSAgICAgICBzb3VyY2Vfb2Zmc2V0ID0gc291 cmNlX29mZnNldF9iaXRzIC8gODsKLUBAIC0xOTMyLDEyICsxOTI0LDExIEBAIHN0YXRpYyB2b2lk Ci0gd3JpdGVfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnRvLCBzdHJ1Y3QgdmFsdWUgKmZy b20pCi0gewotICAgaW50IGk7Ci0tICBsb25nIG9mZnNldCA9IDA7Ci0gICBVTE9OR0VTVCBiaXRz X3RvX3NraXA7Ci0rICBMT05HRVNUIG9mZnNldCA9IDAsIG1heF9vZmZzZXQ7Ci0gICBjb25zdCBn ZGJfYnl0ZSAqY29udGVudHM7Ci0gICBzdHJ1Y3QgcGllY2VfY2xvc3VyZSAqYwotICAgICA9IChz dHJ1Y3QgcGllY2VfY2xvc3VyZSAqKSB2YWx1ZV9jb21wdXRlZF9jbG9zdXJlICh0byk7Ci0tICBz aXplX3QgdHlwZV9sZW47Ci0gICBzaXplX3QgYnVmZmVyX3NpemUgPSAwOwotICAgc3RkOjp2ZWN0 b3I8Z2RiX2J5dGU+IGJ1ZmZlcjsKLSAgIGludCBiaXRzX2JpZ19lbmRpYW4KLUBAIC0xOTQ5LDEy ICsxOTQwLDIwIEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3RydWN0 IHZhbHVlICpmcm9tKQotICAgICB7Ci0gICAgICAgYml0c190b19za2lwICs9ICg4ICogdmFsdWVf b2Zmc2V0ICh2YWx1ZV9wYXJlbnQgKHRvKSkKLSAJCSAgICAgICArIHZhbHVlX2JpdHBvcyAodG8p KTsKLS0gICAgICB0eXBlX2xlbiA9IHZhbHVlX2JpdHNpemUgKHRvKTsKLS0gICAgfQotKyAgICAg IC8qIFVzZSB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0cyBvZiBGUk9NLiAgKi8KLSsgICAgICBp ZiAoZ2RiYXJjaF9ieXRlX29yZGVyIChnZXRfdHlwZV9hcmNoICh2YWx1ZV90eXBlIChmcm9tKSkp Ci0rCSAgPT0gQkZEX0VORElBTl9CSUcpCi0rCXsKLSsJICBtYXhfb2Zmc2V0ID0gOCAqIFRZUEVf TEVOR1RIICh2YWx1ZV90eXBlIChmcm9tKSk7Ci0rCSAgb2Zmc2V0ID0gbWF4X29mZnNldCAtIHZh bHVlX2JpdHNpemUgKHRvKTsKLSsJfQotKyAgICAgIGVsc2UKLSsJbWF4X29mZnNldCA9IHZhbHVl X2JpdHNpemUgKHRvKTsKLSsgICB9Ci0gICBlbHNlCi0tICAgIHR5cGVfbGVuID0gOCAqIFRZUEVf TEVOR1RIICh2YWx1ZV90eXBlICh0bykpOwotKyAgICBtYXhfb2Zmc2V0ID0gOCAqIFRZUEVfTEVO R1RIICh2YWx1ZV90eXBlICh0bykpOwotIAotLSAgZm9yIChpID0gMDsgaSA8IGMtPm5fcGllY2Vz ICYmIG9mZnNldCA8IHR5cGVfbGVuOyBpKyspCi0rICBmb3IgKGkgPSAwOyBpIDwgYy0+bl9waWVj ZXMgJiYgb2Zmc2V0IDwgbWF4X29mZnNldDsgaSsrKQotICAgICB7Ci0gICAgICAgc3RydWN0IGR3 YXJmX2V4cHJfcGllY2UgKnAgPSAmYy0+cGllY2VzW2ldOwotICAgICAgIHNpemVfdCB0aGlzX3Np emVfYml0cywgdGhpc19zaXplOwotQEAgLTE5NjgsMjAgKzE5NjcsMTMgQEAgd3JpdGVfcGllY2Vk X3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnRvLCBzdHJ1Y3QgdmFsdWUgKmZyb20pCi0gCSAgYml0c190 b19za2lwIC09IHRoaXNfc2l6ZV9iaXRzOwotIAkgIGNvbnRpbnVlOwotIAl9Ci0tICAgICAgaWYg KGJpdHNfdG9fc2tpcCA+IDApCi0tCXsKLS0JICBkZXN0X29mZnNldF9iaXRzID0gYml0c190b19z a2lwOwotLQkgIHNvdXJjZV9vZmZzZXRfYml0cyA9IDA7Ci0tCSAgdGhpc19zaXplX2JpdHMgLT0g Yml0c190b19za2lwOwotLQkgIGJpdHNfdG9fc2tpcCA9IDA7Ci0tCX0KLS0gICAgICBlbHNlCi0t CXsKLS0JICBkZXN0X29mZnNldF9iaXRzID0gMDsKLS0JICBzb3VyY2Vfb2Zmc2V0X2JpdHMgPSBv ZmZzZXQ7Ci0tCX0KLS0gICAgICBpZiAodGhpc19zaXplX2JpdHMgPiB0eXBlX2xlbiAtIG9mZnNl dCkKLS0JdGhpc19zaXplX2JpdHMgPSB0eXBlX2xlbiAtIG9mZnNldDsKLSsgICAgICBkZXN0X29m ZnNldF9iaXRzID0gYml0c190b19za2lwOwotKyAgICAgIHRoaXNfc2l6ZV9iaXRzIC09IGJpdHNf dG9fc2tpcDsKLSsgICAgICBiaXRzX3RvX3NraXAgPSAwOwotKyAgICAgIHNvdXJjZV9vZmZzZXRf Yml0cyA9IG9mZnNldDsKLSsKLSsgICAgICBpZiAodGhpc19zaXplX2JpdHMgPiBtYXhfb2Zmc2V0 IC0gb2Zmc2V0KQotKwl0aGlzX3NpemVfYml0cyA9IG1heF9vZmZzZXQgLSBvZmZzZXQ7Ci0gCi0g ICAgICAgdGhpc19zaXplID0gKHRoaXNfc2l6ZV9iaXRzICsgZGVzdF9vZmZzZXRfYml0cyAlIDgg KyA3KSAvIDg7Ci0gICAgICAgc291cmNlX29mZnNldCA9IHNvdXJjZV9vZmZzZXRfYml0cyAvIDg7 CgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE5b2YzNS5wYXRjaCBiL2dkYi1y aGJ6MTQyMDMwNC1zMzkweC0xOW9mMzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDQ3NGI3MzkuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE5b2YzNS5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0OCArMCwwIEBACi1Gcm9tOiBGZWRvcmEgR0RCIHBh dGNoZXMgPGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1 MCArMDIwMAotU3ViamVjdDogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE5b2YzNS5wYXRjaAotCi1G aWxlTmFtZTogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE5b2YzNS5wYXRjaAotCi1jb21taXQgM2Jm MzEwMTEwNzIyYjAzZDlmZjljNGYzNGY1OTIwYTliZTI4NzhkMAotQXV0aG9yOiBBbmRyZWFzIEFy bmV6IDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci1EYXRlOiAgIFR1ZSBKdW4gMTMgMTU6MjA6 MjkgMjAxNyArMDIwMAotCi0gICAgQWRkIERXQVJGIHBpZWNlIHRlc3QgY2FzZXMgZm9yIGJpdC1m aWVsZCBhY2Nlc3MKLSAgICAKLSAgICBUaGlzIHZlcmlmaWVzIHNvbWUgb2YgdGhlIHByZXZpb3Vz IGZpeGVzIHRvIHRoZSBsb2dpYyBpbgotICAgIHdyaXRlX3BpZWNlZF92YWx1ZSB3aGVuIGFjY2Vz c2luZyBiaXQtZmllbGRzLgotICAgIAotICAgIGdkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nOgotICAg IAotICAgICAgICAgICAgKiBnZGIuZHdhcmYyL3Zhci1hY2Nlc3MuZXhwOiBBZGQgdGVzdHMgZm9y IGFjY2Vzc2luZyBiaXQtZmllbGRzCi0gICAgICAgICAgICBsb2NhdGVkIGluIG9uZSBvciBtb3Jl IERXQVJGIHBpZWNlcy4KLQotIyMjIGEvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKLSMjIyBiL2dk Yi90ZXN0c3VpdGUvQ2hhbmdlTG9nCi0jIyAtMSw1ICsxLDEwIEBACi0gMjAxNy0wNi0xMyAgQW5k cmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAKLSsJKiBnZGIuZHdhcmYy L3Zhci1hY2Nlc3MuZXhwOiBBZGQgdGVzdHMgZm9yIGFjY2Vzc2luZyBiaXQtZmllbGRzCi0rCWxv Y2F0ZWQgaW4gb25lIG9yIG1vcmUgRFdBUkYgcGllY2VzLgotKwotKzIwMTctMDYtMTMgIEFuZHJl YXMgQXJuZXogIDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci0rCi0gCSogbGliL2dkYi5leHAg KGdldF9lbmRpYW5uZXNzKTogTmV3IHByb2MuCi0gCSogZ2RiLmFyY2gvYWFyY2g2NC1mcC5leHA6 IFVzZSBpdC4KLSAJKiBnZGIuYXJjaC9hbHRpdmVjLXJlZ3MuZXhwOiBMaWtld2lzZS4KLS0tLSBh L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi92YXItYWNjZXNzLmV4cAotKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZHdhcmYyL3Zhci1hY2Nlc3MuZXhwCi1AQCAtNjIsNyArNjIsOCBAQCBEd2FyZjo6 YXNzZW1ibGUgJGFzbV9maWxlIHsKLSAJfSB7Ci0gCSAgICBkZWNsYXJlX2xhYmVscyBjaGFyX3R5 cGVfbGFiZWwKLSAJICAgIGRlY2xhcmVfbGFiZWxzIGludF90eXBlX2xhYmVsIHNob3J0X3R5cGVf bGFiZWwKLS0JICAgIGRlY2xhcmVfbGFiZWxzIGFycmF5X2E4X2xhYmVsIHN0cnVjdF9zX2xhYmVs Ci0rCSAgICBkZWNsYXJlX2xhYmVscyBhcnJheV9hOF9sYWJlbCBzdHJ1Y3Rfc19sYWJlbCBzdHJ1 Y3RfdF9sYWJlbAotKwkgICAgZGVjbGFyZV9sYWJlbHMgc3RydWN0X3N0X2xhYmVsCi0gCi0gCSAg ICAjIGNoYXIKLSAJICAgIGNoYXJfdHlwZV9sYWJlbDogYmFzZV90eXBlIHsKLUBAIC0xMTUsNiAr MTE2LDUxIEBAIER3YXJmOjphc3NlbWJsZSAkYXNtX2ZpbGUgewotIAkJfQotIAkgICAgfQotIAot KwkgICAgIyBzdHJ1Y3QgdCB7IGludCB1LCB4OjksIHk6MTMsIHo6MTA7IH07Ci0rCSAgICBzdHJ1 Y3RfdF9sYWJlbDogc3RydWN0dXJlX3R5cGUgewotKwkJe25hbWUgInQifQotKwkJe2J5dGVfc2l6 ZSA4IERXX0ZPUk1fc2RhdGF9Ci0rCSAgICB9IHsKLSsJCW1lbWJlciB7Ci0rCQkgICAge25hbWUg InUifQotKwkJICAgIHt0eXBlIDokaW50X3R5cGVfbGFiZWx9Ci0rCQl9Ci0rCQltZW1iZXIgewot KwkJICAgIHtuYW1lICJ4In0KLSsJCSAgICB7dHlwZSA6JGludF90eXBlX2xhYmVsfQotKwkJICAg IHtkYXRhX21lbWJlcl9sb2NhdGlvbiA0IERXX0ZPUk1fdWRhdGF9Ci0rCQkgICAge2JpdF9zaXpl IDkgRFdfRk9STV91ZGF0YX0KLSsJCX0KLSsJCW1lbWJlciB7Ci0rCQkgICAge25hbWUgInkifQot KwkJICAgIHt0eXBlIDokaW50X3R5cGVfbGFiZWx9Ci0rCQkgICAge2RhdGFfYml0X29mZnNldCA0 MSBEV19GT1JNX3VkYXRhfQotKwkJICAgIHtiaXRfc2l6ZSAxMyBEV19GT1JNX3VkYXRhfQotKwkJ fQotKwkJbWVtYmVyIHsKLSsJCSAgICB7bmFtZSAieiJ9Ci0rCQkgICAge3R5cGUgOiRpbnRfdHlw ZV9sYWJlbH0KLSsJCSAgICB7ZGF0YV9iaXRfb2Zmc2V0IDU0IERXX0ZPUk1fdWRhdGF9Ci0rCQkg ICAge2JpdF9zaXplIDEwIERXX0ZPUk1fdWRhdGF9Ci0rCQl9Ci0rCSAgICB9Ci0rCi0rCSAgICAj IHN0cnVjdCBzdCB7IHN0cnVjdCBzIHM7IHN0cnVjdCB0IHQ7IH07Ci0rCSAgICBzdHJ1Y3Rfc3Rf bGFiZWw6IHN0cnVjdHVyZV90eXBlIHsKLSsJCXtuYW1lICJzdCJ9Ci0rCQl7Ynl0ZV9zaXplIDEy IERXX0ZPUk1fdWRhdGF9Ci0rCSAgICB9IHsKLSsJCW1lbWJlciB7Ci0rCQkgICAge25hbWUgInMi fQotKwkJICAgIHt0eXBlIDokc3RydWN0X3NfbGFiZWx9Ci0rCQl9Ci0rCQltZW1iZXIgewotKwkJ ICAgIHtuYW1lICJ0In0KLSsJCSAgICB7dHlwZSA6JHN0cnVjdF90X2xhYmVsfQotKwkJICAgIHtk YXRhX21lbWJlcl9sb2NhdGlvbiA0IERXX0ZPUk1fdWRhdGF9Ci0rCQl9Ci0rCSAgICB9Ci0rCi0g CSAgICBEV19UQUdfc3VicHJvZ3JhbSB7Ci0gCQl7TUFDUk9fQVRfZnVuYyB7IG1haW4gJHtzcmNk aXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IH19Ci0gCQl7RFdfQVRfZXh0ZXJuYWwgMSBmbGFnfQot QEAgLTE1Niw2ICsyMDIsMTkgQEAgRHdhcmY6OmFzc2VtYmxlICRhc21fZmlsZSB7Ci0gCQkJcGll Y2UgMQotIAkJICAgIH0gU1BFQ0lBTF9leHByfQotIAkJfQotKwkJIyBNZW1vcnkgcGllY2VzIGZv ciBiaXRmaWVsZCBhY2Nlc3M6IDggYnl0ZXMgb3B0aW1pemVkCi0rCQkjIG91dCwgMyBieXRlcyBm cm9tICZidWZbM10sIGFuZCAxIGJ5dGUgZnJvbSAmYnVmWzFdLgotKwkJRFdfVEFHX3ZhcmlhYmxl IHsKLSsJCSAgICB7bmFtZSAic3QxIn0KLSsJCSAgICB7dHlwZSA6JHN0cnVjdF9zdF9sYWJlbH0K LSsJCSAgICB7bG9jYXRpb24gewotKwkJCXBpZWNlIDgKLSsJCQlhZGRyICIkYnVmX3ZhciArIDMi Ci0rCQkJcGllY2UgMwotKwkJCWFkZHIgIiRidWZfdmFyICsgMSIKLSsJCQlwaWVjZSAxCi0rCQkg ICAgfSBTUEVDSUFMX2V4cHJ9Ci0rCQl9Ci0gCSAgICB9Ci0gCX0KLSAgICAgfQotQEAgLTE3MCw2 ICsyMjksOSBAQCBpZiAhW3J1bnRvX21haW5dIHsKLSAgICAgcmV0dXJuIC0xCi0gfQotIAotKyMg RGV0ZXJtaW5lIGJ5dGUgb3JkZXIuCi0rc2V0IGVuZGlhbiBbZ2V0X2VuZGlhbm5lc3NdCi0rCi0g IyBCeXRlLWFsaWduZWQgbWVtb3J5IHBpZWNlcy4KLSBnZGJfdGVzdCAicHJpbnQvZCBzMSIgIiA9 IFxce2EgPSAyLCBiID0gMywgYyA9IDAsIGQgPSAxXFx9IiBcCi0gICAgICJzMSA9PSByZS1vcmRl cmVkIGJ1ZiIKLUBAIC0yMDAsMyArMjYyLDIwIEBAIGdkYl90ZXN0X25vX291dHB1dCAic2V0IHZh ciBzMiA9IHsxOTEsIDczLCAyMzEsIDEyM30iIFwKLSAgICAgInJlLWluaXRpYWxpemUgczIiCi0g Z2RiX3Rlc3QgInByaW50L2QgczIiICAiID0gXFx7YSA9IDE5MSwgYiA9IDczLCBjID0gMjMxLCBk ID0gMTIzXFx9IiBcCi0gICAgICJ2ZXJpZnkgcmUtaW5pdGlhbGl6ZWQgczIiCi0rCi0rIyBVbmFs aWduZWQgYml0ZmllbGQgYWNjZXNzIHRocm91Z2ggYnl0ZS1hbGlnbmVkIHBpZWNlcy4KLStnZGJf dGVzdF9ub19vdXRwdXQgInNldCB2YXIgYSA9IHsgMCB9IgotK2dkYl90ZXN0X25vX291dHB1dCAi c2V0IHZhciBzdDEudC54ID0gLTciCi0rZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgdmFyIHN0MS50 LnogPSAzNDAiCi0rZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgdmFyIHN0MS50LnkgPSAxMjM0Igot K2dkYl90ZXN0ICJwcmludCBzdDEudCIgIiA9IFxce3UgPSA8b3B0aW1pemVkIG91dD4sIHggPSAt NywgeSA9IDEyMzQsIHogPSAzNDBcXH0iIFwKLSsgICAgInZlcmlmeSBzdDEudCIKLStzd2l0Y2gg JGVuZGlhbiB7Ci0rICAgIGxpdHRsZSB7c2V0IHZhbCAiMHg1NSwgMHgwLCAweGY5LCAweGE1LCAw eDkifQotKyAgICBiaWcge3NldCB2YWwgIjB4NTQsIDB4MCwgMHhmYywgMHg5MywgMHg0OSJ9Ci0r fQotKyMgfCAtLSB8IHo6Mi05IHwgLS0gfCB4OjAtNyB8IHg6OCB5OjAtNiB8IHk6Ny0xMiB6OjAt MSB8IC0tIHwgLS0gfAotKyMgICAgICBcX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18vCi0rIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsCi0rZ2Ri X3Rlc3QgInByaW50L3ggYSIgIiA9IFxcezB4MCwgJHt2YWx9LCAweDAsIDB4MFxcfSIgXAotKyAg ICAidmVyaWZ5IHN0MSB0aHJvdWdoIGEiCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMz OTB4LTIwb2YzNS5wYXRjaCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0yMG9mMzUucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhOTIwYzMuLjAwMDAwMDAKLS0tIGEvZ2RiLXJo YnoxNDIwMzA0LXMzOTB4LTIwb2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgwICswLDAg QEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBG cmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQt czM5MHgtMjBvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMjBv ZjM1LnBhdGNoCi0KLWNvbW1pdCA4NDA5ODljMTEzNDMzYzA2OWY1NDg3MmQ3ZTA1MWUxNTcyMjAy MzI2Ci1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURh dGU6ICAgVHVlIEp1biAxMyAxNToyMDozMCAyMDE3ICswMjAwCi0KLSAgICByZWFkL3dyaXRlX3Bp ZWNlZF92YWx1ZTogRHJvcCAnYnVmZmVyX3NpemUnIHZhcmlhYmxlCi0gICAgCi0gICAgV2hlbiB0 aGUgdmFyaWFibGUgJ2J1ZmZlcl9zaXplJyBpbiByZWFkX3BpZWNlZF92YWx1ZSBhbmQKLSAgICB3 cml0ZV9waWVjZWRfdmFsdWUgd2FzIGludHJvZHVjZWQsIGl0IHdhcyBuZWVkZWQgZm9yIHRyYWNr aW5nIHRoZSBidWZmZXIncwotICAgIGFsbG9jYXRlZCBzaXplLiAgTm93IHRoYXQgdGhlIGJ1ZmZl cidzIGRhdGEgdHlwZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIGEKLSAgICBzdGQ6OnZlY3RvciwgdGhl IHZhcmlhYmxlIGlzIG5vIGxvbmdlciBuZWNlc3Nhcnk7IHNvIHJlbW92ZSBpdC4KLSAgICAKLSAg ICBnZGIvQ2hhbmdlTG9nOgotICAgIAotICAgICAgICAgICAgKiBkd2FyZjJsb2MuYyAocmVhZF9w aWVjZWRfdmFsdWUpOiBSZW1vdmUgYnVmZmVyX3NpemUgdmFyaWFibGUuCi0gICAgICAgICAgICAo d3JpdGVfcGllY2VkX3ZhbHVlKTogTGlrZXdpc2UuCi0KLSMjIyBhL2dkYi9DaGFuZ2VMb2cKLSMj IyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTAgQEAKLSAyMDE3LTA2LTEzICBBbmRyZWFz IEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAotKwkqIGR3YXJmMmxvYy5jIChy ZWFkX3BpZWNlZF92YWx1ZSk6IFJlbW92ZSBidWZmZXJfc2l6ZSB2YXJpYWJsZS4KLSsJKHdyaXRl X3BpZWNlZF92YWx1ZSk6IExpa2V3aXNlLgotKwotKzIwMTctMDYtMTMgIEFuZHJlYXMgQXJuZXog IDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci0rCi0gCSogZHdhcmYybG9jLmMgKHdyaXRlX3Bp ZWNlZF92YWx1ZSk6IFdoZW4gd3JpdGluZyB0byBhIGJpdC1maWVsZCwKLSAJdHJhbnNmZXIgdGhl IHNvdXJjZSB2YWx1ZSdzIGxlYXN0IHNpZ25pZmljYW50IGJpdHMsIGluc3RlYWQgb2YgaXRzCi0g CWxvd2VzdC1hZGRyZXNzZWQgb25lcy4gIFJlbmFtZSB0eXBlX2xlbiB0byBtYXhfb2Zmc2V0Lgot LS0tIGEvZ2RiL2R3YXJmMmxvYy5jCi0rKysgYi9nZGIvZHdhcmYybG9jLmMKLUBAIC0xNzYxLDcg KzE3NjEsNiBAQCByZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotICAgZ2RiX2J5 dGUgKmNvbnRlbnRzOwotICAgc3RydWN0IHBpZWNlX2Nsb3N1cmUgKmMKLSAgICAgPSAoc3RydWN0 IHBpZWNlX2Nsb3N1cmUgKikgdmFsdWVfY29tcHV0ZWRfY2xvc3VyZSAodik7Ci0tICBzaXplX3Qg YnVmZmVyX3NpemUgPSAwOwotICAgc3RkOjp2ZWN0b3I8Z2RiX2J5dGU+IGJ1ZmZlcjsKLSAgIGlu dCBiaXRzX2JpZ19lbmRpYW4KLSAgICAgPSBnZGJhcmNoX2JpdHNfYmlnX2VuZGlhbiAoZ2V0X3R5 cGVfYXJjaCAodmFsdWVfdHlwZSAodikpKTsKLUBAIC0xODA2LDEyICsxODA1LDggQEAgcmVhZF9w aWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdikKLSAJdGhpc19zaXplX2JpdHMgPSBtYXhfb2Zm c2V0IC0gb2Zmc2V0OwotIAotICAgICAgIHRoaXNfc2l6ZSA9ICh0aGlzX3NpemVfYml0cyArIHNv dXJjZV9vZmZzZXRfYml0cyAlIDggKyA3KSAvIDg7Ci0rICAgICAgYnVmZmVyLnJlc2VydmUgKHRo aXNfc2l6ZSk7Ci0gICAgICAgc291cmNlX29mZnNldCA9IHNvdXJjZV9vZmZzZXRfYml0cyAvIDg7 Ci0tICAgICAgaWYgKGJ1ZmZlcl9zaXplIDwgdGhpc19zaXplKQotLQl7Ci0tCSAgYnVmZmVyX3Np emUgPSB0aGlzX3NpemU7Ci0tCSAgYnVmZmVyLnJlc2VydmUgKGJ1ZmZlcl9zaXplKTsKLS0JfQot ICAgICAgIGludGVybWVkaWF0ZV9idWZmZXIgPSBidWZmZXIuZGF0YSAoKTsKLSAKLSAgICAgICAv KiBDb3B5IGZyb20gdGhlIHNvdXJjZSB0byBERVNUX0JVRkZFUi4gICovCi1AQCAtMTkyOSw3ICsx OTI0LDYgQEAgd3JpdGVfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnRvLCBzdHJ1Y3QgdmFs dWUgKmZyb20pCi0gICBjb25zdCBnZGJfYnl0ZSAqY29udGVudHM7Ci0gICBzdHJ1Y3QgcGllY2Vf Y2xvc3VyZSAqYwotICAgICA9IChzdHJ1Y3QgcGllY2VfY2xvc3VyZSAqKSB2YWx1ZV9jb21wdXRl ZF9jbG9zdXJlICh0byk7Ci0tICBzaXplX3QgYnVmZmVyX3NpemUgPSAwOwotICAgc3RkOjp2ZWN0 b3I8Z2RiX2J5dGU+IGJ1ZmZlcjsKLSAgIGludCBiaXRzX2JpZ19lbmRpYW4KLSAgICAgPSBnZGJh cmNoX2JpdHNfYmlnX2VuZGlhbiAoZ2V0X3R5cGVfYXJjaCAodmFsdWVfdHlwZSAodG8pKSk7Ci1A QCAtMTk4OCwxMSArMTk4Miw3IEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0 bywgc3RydWN0IHZhbHVlICpmcm9tKQotIAl9Ci0gICAgICAgZWxzZQotIAl7Ci0tCSAgaWYgKGJ1 ZmZlcl9zaXplIDwgdGhpc19zaXplKQotLQkgICAgewotLQkgICAgICBidWZmZXJfc2l6ZSA9IHRo aXNfc2l6ZTsKLS0JICAgICAgYnVmZmVyLnJlc2VydmUgKGJ1ZmZlcl9zaXplKTsKLS0JICAgIH0K LSsJICBidWZmZXIucmVzZXJ2ZSAodGhpc19zaXplKTsKLSAJICBzb3VyY2VfYnVmZmVyID0gYnVm ZmVyLmRhdGEgKCk7Ci0gCSAgbmVlZF9iaXR3aXNlID0gMTsKLSAJfQoKZGlmZiAtLWdpdCBhL2dk Yi1yaGJ6MTQyMDMwNC1zMzkweC0yMW9mMzUucGF0Y2ggYi9nZGItcmhiejE0MjAzMDQtczM5MHgt MjFvZjM1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOGRjMDA4Li4wMDAw MDAwCi0tLSBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0yMW9mMzUucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwyMzMgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVt YWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6 IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0yMW9mMzUucGF0Y2gKLQotRmlsZU5hbWU6IGdkYi1yaGJ6 MTQyMDMwNC1zMzkweC0yMW9mMzUucGF0Y2gKLQotY29tbWl0IDAzYzhhZjE4ZDFhOGYzNTlmZDAy MzY5Njg0OGJkYTQ4ODExOWRhNjAKLUF1dGhvcjogQW5kcmVhcyBBcm5leiA8YXJuZXpAbGludXgu dm5ldC5pYm0uY29tPgotRGF0ZTogICBUdWUgSnVuIDEzIDE1OjIwOjMwIDIwMTcgKzAyMDAKLQot ICAgIEZpeCBoYW5kbGluZyBvZiBEV0FSRiByZWdpc3RlciBwaWVjZXMgb24gYmlnLWVuZGlhbiB0 YXJnZXRzCi0gICAgCi0gICAgRm9yIGJpZy1lbmRpYW4gdGFyZ2V0cyB0aGUgbG9naWMgaW4gcmVh ZC93cml0ZV9waWVjZWRfdmFsdWUgdHJpZXMgdG8gdGFrZQotICAgIGEgcmVnaXN0ZXIgcGllY2Ug ZnJvbSB0aGUgTFNCIGVuZC4gIFRoaXMgcmVxdWlyZXMgb2Zmc2V0cyBhbmQgc2l6ZXMgdG8gYmUK LSAgICBhZGp1c3RlZCBhY2NvcmRpbmdseSwgYW5kIHRoYXQncyB3aGVyZSB0aGUgY3VycmVudCBp bXBsZW1lbnRhdGlvbiBoYXMgc29tZQotICAgIGlzc3VlczoKLSAgICAKLSAgICAqIFRoZSBmb3Jt dWxhcyBmb3IgcmVjYWxjdWxhdGluZyB0aGUgYml0LSBhbmQgYnl0ZS1vZmZzZXRzIGludG8gdGhl Ci0gICAgICByZWdpc3RlciBhcmUgd3JvbmcuICBUaGV5IGp1c3QgaGFwcGVuIHRvIHlpZWxkIGNv cnJlY3QgcmVzdWx0cyBpZgotICAgICAgZXZlcnl0aGluZyBpcyBieXRlLWFsaWduZWQgYW5kIHRo ZSBwaWVjZSdzIGxhc3QgYnl0ZSBiZWxvbmdzIHRvIHRoZQotICAgICAgZ2l2ZW4gdmFsdWUuCi0g ICAgCi0gICAgKiBBZnRlciByZWNhbGN1bGF0aW5nIHRoZSBiaXQgb2Zmc2V0IGludG8gdGhlIHJl Z2lzdGVyLCB0aGUgbnVtYmVyIG9mCi0gICAgICBieXRlcyB0byBiZSBjb3BpZWQgZnJvbSB0aGUg cmVnaXN0ZXIgaXMgbm90IHJlY2FsY3VsYXRlZC4gIE9mIGNvdXJzZQotICAgICAgdGhpcyBkb2Vz IG5vdCBtYXR0ZXIgaWYgZXZlcnl0aGluZyAocGFydGljdWxhcmx5IHRoZSBwaWVjZSBzaXplKSBp cwotICAgICAgYnl0ZS1hbGlnbmVkLgotICAgIAotICAgIFRoZXNlIGlzc3VlcyBhcmUgZml4ZWQu ICBUaGUgc2l6ZSBjYWxjdWxhdGlvbiBpcyBwZXJmb3JtZWQgd2l0aCBhIG5ldwotICAgIGhlbHBl ciBmdW5jdGlvbiBiaXRzX3RvX2J5dGVzKCkuCi0gICAgCi0gICAgZ2RiL0NoYW5nZUxvZzoKLSAg ICAKLSAgICAgICAgICAgICogZHdhcmYybG9jLmMgKGJpdHNfdG9fYnl0ZXMpOiBOZXcgZnVuY3Rp b24uCi0gICAgICAgICAgICAocmVhZF9waWVjZWRfdmFsdWUpOiBGaXggb2Zmc2V0IGNhbGN1bGF0 aW9ucyBmb3IgcmVnaXN0ZXIgcGllY2VzCi0gICAgICAgICAgICBvbiBiaWctZW5kaWFuIHRhcmdl dHMuCi0gICAgICAgICAgICAod3JpdGVfcGllY2VkX3ZhbHVlKTogTGlrZXdpc2UuCi0gICAgCi0g ICAgZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgICAgICAgICAqIGdkYi5kd2Fy ZjIvdmFyLWFjY2Vzcy5leHA6IEFkZCB0ZXN0IGZvciBub24tYnl0ZS1hbGlnbmVkCi0gICAgICAg ICAgICByZWdpc3RlciBwaWVjZXMuCi0KLSMjIyBhL2dkYi9DaGFuZ2VMb2cKLSMjIyBiL2dkYi9D aGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTIgQEAKLSAyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8 YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAotKwkqIGR3YXJmMmxvYy5jIChiaXRzX3RvX2J5 dGVzKTogTmV3IGZ1bmN0aW9uLgotKwkocmVhZF9waWVjZWRfdmFsdWUpOiBGaXggb2Zmc2V0IGNh bGN1bGF0aW9ucyBmb3IgcmVnaXN0ZXIgcGllY2VzCi0rCW9uIGJpZy1lbmRpYW4gdGFyZ2V0cy4K LSsJKHdyaXRlX3BpZWNlZF92YWx1ZSk6IExpa2V3aXNlLgotKwotKzIwMTctMDYtMTMgIEFuZHJl YXMgQXJuZXogIDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci0rCi0gCSogZHdhcmYybG9jLmMg KHJlYWRfcGllY2VkX3ZhbHVlKTogUmVtb3ZlIGJ1ZmZlcl9zaXplIHZhcmlhYmxlLgotIAkod3Jp dGVfcGllY2VkX3ZhbHVlKTogTGlrZXdpc2UuCi0gCi0tLS0gYS9nZGIvZHdhcmYybG9jLmMKLSsr KyBiL2dkYi9kd2FyZjJsb2MuYwotQEAgLTE3NTIsNiArMTc1MiwxNSBAQCBjb3B5X2JpdHdpc2Vf dGVzdHMgKHZvaWQpCi0gCi0gI2VuZGlmIC8qIEdEQl9TRUxGX1RFU1QgKi8KLSAKLSsvKiBSZXR1 cm4gdGhlIG51bWJlciBvZiBieXRlcyBvdmVybGFwcGluZyBhIGNvbnRpZ3VvdXMgY2h1bmsgb2Yg Tl9CSVRTCi0rICAgYml0cyB3aG9zZSBmaXJzdCBiaXQgaXMgbG9jYXRlZCBhdCBiaXQgb2Zmc2V0 IFNUQVJULiAgKi8KLSsKLStzdGF0aWMgc2l6ZV90Ci0rYml0c190b19ieXRlcyAoVUxPTkdFU1Qg c3RhcnQsIFVMT05HRVNUIG5fYml0cykKLSt7Ci0rICByZXR1cm4gKHN0YXJ0ICUgOCArIG5fYml0 cyArIDcpIC8gODsKLSt9Ci0rCi0gc3RhdGljIHZvaWQKLSByZWFkX3BpZWNlZF92YWx1ZSAoc3Ry dWN0IHZhbHVlICp2KQotIHsKLUBAIC0xODA0LDcgKzE4MTMsNyBAQCByZWFkX3BpZWNlZF92YWx1 ZSAoc3RydWN0IHZhbHVlICp2KQotICAgICAgIGlmICh0aGlzX3NpemVfYml0cyA+IG1heF9vZmZz ZXQgLSBvZmZzZXQpCi0gCXRoaXNfc2l6ZV9iaXRzID0gbWF4X29mZnNldCAtIG9mZnNldDsKLSAK LS0gICAgICB0aGlzX3NpemUgPSAodGhpc19zaXplX2JpdHMgKyBzb3VyY2Vfb2Zmc2V0X2JpdHMg JSA4ICsgNykgLyA4OwotKyAgICAgIHRoaXNfc2l6ZSA9IGJpdHNfdG9fYnl0ZXMgKHNvdXJjZV9v ZmZzZXRfYml0cywgdGhpc19zaXplX2JpdHMpOwotICAgICAgIGJ1ZmZlci5yZXNlcnZlICh0aGlz X3NpemUpOwotICAgICAgIHNvdXJjZV9vZmZzZXQgPSBzb3VyY2Vfb2Zmc2V0X2JpdHMgLyA4Owot ICAgICAgIGludGVybWVkaWF0ZV9idWZmZXIgPSBidWZmZXIuZGF0YSAoKTsKLUBAIC0xODE3LDIw ICsxODI2LDIwIEBAIHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYpCi0gCSAgICBz dHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUgPSBmcmFtZV9maW5kX2J5X2lkIChjLT5mcmFtZV9pZCk7 Ci0gCSAgICBzdHJ1Y3QgZ2RiYXJjaCAqYXJjaCA9IGdldF9mcmFtZV9hcmNoIChmcmFtZSk7Ci0g CSAgICBpbnQgZ2RiX3JlZ251bSA9IGR3YXJmX3JlZ190b19yZWdudW1fb3JfZXJyb3IgKGFyY2gs IHAtPnYucmVnbm8pOwotKwkgICAgVUxPTkdFU1QgcmVnX2JpdHMgPSA4ICogcmVnaXN0ZXJfc2l6 ZSAoYXJjaCwgZ2RiX3JlZ251bSk7Ci0gCSAgICBpbnQgb3B0aW0sIHVuYXZhaWw7Ci0tCSAgICBM T05HRVNUIHJlZ19vZmZzZXQgPSBzb3VyY2Vfb2Zmc2V0OwotIAotIAkgICAgaWYgKGdkYmFyY2hf Ynl0ZV9vcmRlciAoYXJjaCkgPT0gQkZEX0VORElBTl9CSUcKLS0JCSYmIHRoaXNfc2l6ZSA8IHJl Z2lzdGVyX3NpemUgKGFyY2gsIGdkYl9yZWdudW0pKQotKwkJJiYgcC0+c2l6ZSA8IHJlZ19iaXRz KQotIAkgICAgICB7Ci0gCQkvKiBCaWctZW5kaWFuLCBhbmQgd2Ugd2FudCBsZXNzIHRoYW4gZnVs bCBzaXplLiAgKi8KLS0JCXJlZ19vZmZzZXQgPSByZWdpc3Rlcl9zaXplIChhcmNoLCBnZGJfcmVn bnVtKSAtIHRoaXNfc2l6ZTsKLS0JCS8qIFdlIHdhbnQgdGhlIGxvd2VyLW9yZGVyIFRISVNfU0la RV9CSVRTIG9mIHRoZSBieXRlcwotLQkJICAgd2UgZXh0cmFjdCBmcm9tIHRoZSByZWdpc3Rlci4g ICovCi0tCQlzb3VyY2Vfb2Zmc2V0X2JpdHMgKz0gOCAqIHRoaXNfc2l6ZSAtIHRoaXNfc2l6ZV9i aXRzOwotKwkJc291cmNlX29mZnNldF9iaXRzICs9IHJlZ19iaXRzIC0gcC0+c2l6ZTsKLSAJICAg ICAgfQotKwkgICAgdGhpc19zaXplID0gYml0c190b19ieXRlcyAoc291cmNlX29mZnNldF9iaXRz LCB0aGlzX3NpemVfYml0cyk7Ci0rCSAgICBidWZmZXIucmVzZXJ2ZSAodGhpc19zaXplKTsKLSAK LS0JICAgIGlmICghZ2V0X2ZyYW1lX3JlZ2lzdGVyX2J5dGVzIChmcmFtZSwgZ2RiX3JlZ251bSwg cmVnX29mZnNldCwKLSsJICAgIGlmICghZ2V0X2ZyYW1lX3JlZ2lzdGVyX2J5dGVzIChmcmFtZSwg Z2RiX3JlZ251bSwKLSsJCQkJCSAgIHNvdXJjZV9vZmZzZXRfYml0cyAvIDgsCi0gCQkJCQkgICB0 aGlzX3NpemUsIGJ1ZmZlci5kYXRhICgpLAotIAkJCQkJICAgJm9wdGltLCAmdW5hdmFpbCkpCi0g CSAgICAgIHsKLUBAIC0xODQ0LDcgKzE4NTMsNyBAQCByZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0 IHZhbHVlICp2KQotIAkgICAgICB9Ci0gCi0gCSAgICBjb3B5X2JpdHdpc2UgKGNvbnRlbnRzLCBk ZXN0X29mZnNldF9iaXRzLAotLQkJCSAgaW50ZXJtZWRpYXRlX2J1ZmZlciwgc291cmNlX29mZnNl dF9iaXRzICUgOCwKLSsJCQkgIGJ1ZmZlci5kYXRhICgpLCBzb3VyY2Vfb2Zmc2V0X2JpdHMgJSA4 LAotIAkJCSAgdGhpc19zaXplX2JpdHMsIGJpdHNfYmlnX2VuZGlhbik7Ci0gCSAgfQotIAkgIGJy ZWFrOwotQEAgLTE5NjksNyArMTk3OCw3IEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZh bHVlICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotICAgICAgIGlmICh0aGlzX3NpemVfYml0cyA+ IG1heF9vZmZzZXQgLSBvZmZzZXQpCi0gCXRoaXNfc2l6ZV9iaXRzID0gbWF4X29mZnNldCAtIG9m ZnNldDsKLSAKLS0gICAgICB0aGlzX3NpemUgPSAodGhpc19zaXplX2JpdHMgKyBkZXN0X29mZnNl dF9iaXRzICUgOCArIDcpIC8gODsKLSsgICAgICB0aGlzX3NpemUgPSBiaXRzX3RvX2J5dGVzIChk ZXN0X29mZnNldF9iaXRzLCB0aGlzX3NpemVfYml0cyk7Ci0gICAgICAgc291cmNlX29mZnNldCA9 IHNvdXJjZV9vZmZzZXRfYml0cyAvIDg7Ci0gICAgICAgZGVzdF9vZmZzZXQgPSBkZXN0X29mZnNl dF9iaXRzIC8gODsKLSAKLUBAIC0xOTk0LDIwICsyMDAzLDI1IEBAIHdyaXRlX3BpZWNlZF92YWx1 ZSAoc3RydWN0IHZhbHVlICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotIAkgICAgc3RydWN0IGZy YW1lX2luZm8gKmZyYW1lID0gZnJhbWVfZmluZF9ieV9pZCAoYy0+ZnJhbWVfaWQpOwotIAkgICAg c3RydWN0IGdkYmFyY2ggKmFyY2ggPSBnZXRfZnJhbWVfYXJjaCAoZnJhbWUpOwotIAkgICAgaW50 IGdkYl9yZWdudW0gPSBkd2FyZl9yZWdfdG9fcmVnbnVtX29yX2Vycm9yIChhcmNoLCBwLT52LnJl Z25vKTsKLS0JICAgIGludCByZWdfb2Zmc2V0ID0gZGVzdF9vZmZzZXQ7Ci0rCSAgICBVTE9OR0VT VCByZWdfYml0cyA9IDggKiByZWdpc3Rlcl9zaXplIChhcmNoLCBnZGJfcmVnbnVtKTsKLSAKLSAJ ICAgIGlmIChnZGJhcmNoX2J5dGVfb3JkZXIgKGFyY2gpID09IEJGRF9FTkRJQU5fQklHCi0tCQkm JiB0aGlzX3NpemUgPD0gcmVnaXN0ZXJfc2l6ZSAoYXJjaCwgZ2RiX3JlZ251bSkpCi0rCQkmJiBw LT5zaXplIDw9IHJlZ19iaXRzKQotIAkgICAgICB7Ci0gCQkvKiBCaWctZW5kaWFuLCBhbmQgd2Ug d2FudCBsZXNzIHRoYW4gZnVsbCBzaXplLiAgKi8KLS0JCXJlZ19vZmZzZXQgPSByZWdpc3Rlcl9z aXplIChhcmNoLCBnZGJfcmVnbnVtKSAtIHRoaXNfc2l6ZTsKLSsJCWRlc3Rfb2Zmc2V0X2JpdHMg Kz0gcmVnX2JpdHMgLSBwLT5zaXplOwotIAkgICAgICB9Ci0rCSAgICB0aGlzX3NpemUgPSBiaXRz X3RvX2J5dGVzIChkZXN0X29mZnNldF9iaXRzLCB0aGlzX3NpemVfYml0cyk7Ci0rCSAgICBidWZm ZXIucmVzZXJ2ZSAodGhpc19zaXplKTsKLSAKLS0JICAgIGlmIChuZWVkX2JpdHdpc2UpCi0rCSAg ICBpZiAoZGVzdF9vZmZzZXRfYml0cyAlIDggIT0gMCB8fCB0aGlzX3NpemVfYml0cyAlIDggIT0g MCkKLSAJICAgICAgewotKwkJLyogRGF0YSBpcyBjb3BpZWQgbm9uLWJ5dGUtYWxpZ25lZCBpbnRv IHRoZSByZWdpc3Rlci4KLSsJCSAgIE5lZWQgc29tZSBiaXRzIGZyb20gb3JpZ2luYWwgcmVnaXN0 ZXIgdmFsdWUuICAqLwotIAkJaW50IG9wdGltLCB1bmF2YWlsOwotIAotLQkJaWYgKCFnZXRfZnJh bWVfcmVnaXN0ZXJfYnl0ZXMgKGZyYW1lLCBnZGJfcmVnbnVtLCByZWdfb2Zmc2V0LAotKwkJaWYg KCFnZXRfZnJhbWVfcmVnaXN0ZXJfYnl0ZXMgKGZyYW1lLCBnZGJfcmVnbnVtLAotKwkJCQkJICAg ICAgIGRlc3Rfb2Zmc2V0X2JpdHMgLyA4LAotIAkJCQkJICAgICAgIHRoaXNfc2l6ZSwgYnVmZmVy LmRhdGEgKCksCi0gCQkJCQkgICAgICAgJm9wdGltLCAmdW5hdmFpbCkpCi0gCQkgIHsKLUBAIC0y MDIyLDE0ICsyMDM2LDE0IEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywg c3RydWN0IHZhbHVlICpmcm9tKQotIAkJCQkgICAgICJiaXRmaWVsZDsgY29udGFpbmluZyB3b3Jk ICIKLSAJCQkJICAgICAiaXMgdW5hdmFpbGFibGUiKSk7Ci0gCQkgIH0KLS0JCWNvcHlfYml0d2lz ZSAoYnVmZmVyLmRhdGEgKCksIGRlc3Rfb2Zmc2V0X2JpdHMsCi0tCQkJICAgICAgY29udGVudHMs IHNvdXJjZV9vZmZzZXRfYml0cywKLS0JCQkgICAgICB0aGlzX3NpemVfYml0cywKLS0JCQkgICAg ICBiaXRzX2JpZ19lbmRpYW4pOwotIAkgICAgICB9Ci0gCi0tCSAgICBwdXRfZnJhbWVfcmVnaXN0 ZXJfYnl0ZXMgKGZyYW1lLCBnZGJfcmVnbnVtLCByZWdfb2Zmc2V0LCAKLS0JCQkJICAgICAgdGhp c19zaXplLCBzb3VyY2VfYnVmZmVyKTsKLSsJICAgIGNvcHlfYml0d2lzZSAoYnVmZmVyLmRhdGEg KCksIGRlc3Rfb2Zmc2V0X2JpdHMgJSA4LAotKwkJCSAgY29udGVudHMsIHNvdXJjZV9vZmZzZXRf Yml0cywKLSsJCQkgIHRoaXNfc2l6ZV9iaXRzLCBiaXRzX2JpZ19lbmRpYW4pOwotKwkgICAgcHV0 X2ZyYW1lX3JlZ2lzdGVyX2J5dGVzIChmcmFtZSwgZ2RiX3JlZ251bSwKLSsJCQkJICAgICAgZGVz dF9vZmZzZXRfYml0cyAvIDgsCi0rCQkJCSAgICAgIHRoaXNfc2l6ZSwgYnVmZmVyLmRhdGEgKCkp OwotIAkgIH0KLSAJICBicmVhazsKLSAJY2FzZSBEV0FSRl9WQUxVRV9NRU1PUlk6Ci0jIyMgYS9n ZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwotIyMjIGIvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKLSMj IC0xLDUgKzEsMTAgQEAKLSAyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgu dm5ldC5pYm0uY29tPgotIAotKwkqIGdkYi5kd2FyZjIvdmFyLWFjY2Vzcy5leHA6IEFkZCB0ZXN0 IGZvciBub24tYnl0ZS1hbGlnbmVkCi0rCXJlZ2lzdGVyIHBpZWNlcy4KLSsKLSsyMDE3LTA2LTEz ICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotKwotIAkqIGdkYi5k d2FyZjIvdmFyLWFjY2Vzcy5leHA6IEFkZCB0ZXN0cyBmb3IgYWNjZXNzaW5nIGJpdC1maWVsZHMK LSAJbG9jYXRlZCBpbiBvbmUgb3IgbW9yZSBEV0FSRiBwaWVjZXMuCi0gCi0tLS0gYS9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvdmFyLWFjY2Vzcy5leHAKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmR3YXJmMi92YXItYWNjZXNzLmV4cAotQEAgLTIxNSw2ICsyMTUsMTkgQEAgRHdhcmY6OmFzc2Vt YmxlICRhc21fZmlsZSB7Ci0gCQkJcGllY2UgMQotIAkJICAgIH0gU1BFQ0lBTF9leHByfQotIAkJ fQotKwkJIyBSZWdpc3RlciBwaWVjZXMgZm9yIGJpdGZpZWxkIGFjY2VzczogNCBieXRlcyBvcHRp bWl6ZWQKLSsJCSMgb3V0LCAzIGJ5dGVzIGZyb20gcjAsIGFuZCAxIGJ5dGUgZnJvbSByMS4KLSsJ CURXX1RBR192YXJpYWJsZSB7Ci0rCQkgICAge25hbWUgInQyIn0KLSsJCSAgICB7dHlwZSA6JHN0 cnVjdF90X2xhYmVsfQotKwkJICAgIHtsb2NhdGlvbiB7Ci0rCQkJcGllY2UgNAotKwkJCXJlZ3gg W2xpbmRleCAkZHdhcmZfcmVnbnVtIDBdCi0rCQkJcGllY2UgMwotKwkJCXJlZ3ggW2xpbmRleCAk ZHdhcmZfcmVnbnVtIDFdCi0rCQkJcGllY2UgMQotKwkJICAgIH0gU1BFQ0lBTF9leHByfQotKwkJ fQotIAkgICAgfQotIAl9Ci0gICAgIH0KLUBAIC0yNzksMyArMjkyLDE1IEBAIHN3aXRjaCAkZW5k aWFuIHsKLSAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwKLSBnZGJfdGVzdCAicHJp bnQveCBhIiAiID0gXFx7MHgwLCAke3ZhbH0sIDB4MCwgMHgwXFx9IiBcCi0gICAgICJ2ZXJpZnkg c3QxIHRocm91Z2ggYSIKLSsKLStzd2l0Y2ggJGVuZGlhbiB7IGJpZyB7c2V0IHZhbCAweDdmZmN9 IGxpdHRsZSB7c2V0IHZhbCAweDNmZmUwMH0gfQotK2dkYl90ZXN0X25vX291dHB1dCAic2V0IHZh ciBcJFtsaW5kZXggJHJlZ25hbWUgMF0gPSAkdmFsIiBcCi0rICAgICJpbml0IHQyLCBmaXJzdCBw aWVjZSIKLStnZGJfdGVzdF9ub19vdXRwdXQgInNldCB2YXIgXCRbbGluZGV4ICRyZWduYW1lIDFd ID0gMCIgXAotKyAgICAiaW5pdCB0Miwgc2Vjb25kIHBpZWNlIgotK2dkYl90ZXN0ICJwcmludC9k IHQyIiAiID0gXFx7dSA9IDxvcHRpbWl6ZWQgb3V0PiwgeCA9IDAsIHkgPSAtMSwgeiA9IDBcXH0i IFwKLSsgICAgImluaXRpYWxpemVkIHQyIGZyb20gcmVncyIKLStnZGJfdGVzdF9ub19vdXRwdXQg InNldCB2YXIgdDIueSA9IDI2NDEiCi0rZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgdmFyIHQyLnog PSAtNDAwIgotK2dkYl90ZXN0X25vX291dHB1dCAic2V0IHZhciB0Mi54ID0gMjAwIgotK2dkYl90 ZXN0ICJwcmludCB0Mi54ICsgdDIueSArIHQyLnoiICIgPSAyNDQxIgoKZGlmZiAtLWdpdCBhL2dk Yi1yaGJ6MTQyMDMwNC1zMzkweC0yMm9mMzUucGF0Y2ggYi9nZGItcmhiejE0MjAzMDQtczM5MHgt MjJvZjM1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODBiYTVkLi4wMDAw MDAwCi0tLSBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0yMm9mMzUucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwyMjYgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVt YWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6 IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0yMm9mMzUucGF0Y2gKLQotRmlsZU5hbWU6IGdkYi1yaGJ6 MTQyMDMwNC1zMzkweC0yMm9mMzUucGF0Y2gKLQotY29tbWl0IDI0MmQzMWFiN2MzOTAxZTAyYmQ2 OGMxODI0ZDFkMzYxMGUwMjU2MmIKLUF1dGhvcjogQW5kcmVhcyBBcm5leiA8YXJuZXpAbGludXgu dm5ldC5pYm0uY29tPgotRGF0ZTogICBUdWUgSnVuIDEzIDE1OjIwOjMwIDIwMTcgKzAyMDAKLQot ICAgIHJlYWQvd3JpdGVfcGllY2VkX3ZhbHVlOiBJbXByb3ZlIGxvZ2ljIGZvciBidWZmZXIgYWxs b2NhdGlvbgotICAgIAotICAgIFNvIGZhciB0aGUgbWFpbiBsb29wIGluIHJlYWRfcGllY2VkX3Zh bHVlIGFuZCB3cml0ZV9waWVjZWRfdmFsdWUgaXMKLSAgICBzdHJ1Y3R1cmVkIGxpa2UgdGhpczoK LSAgICAKLSAgICAoMSkgUHJlcGFyZSBhIGJ1ZmZlciBhbmQgc29tZSB2YXJpYWJsZXMgd2UgbWF5 IG5lZWQ7Ci0gICAgCi0gICAgKDIpIGRlcGVuZGluZyBvbiB0aGUgRFdBUkYgcGllY2UgdHlwZSB0 byBiZSBoYW5kbGVkLCB1c2UgdGhlIGJ1ZmZlciBhbmQKLSAgICAgICAgdGhlIHByZXBhcmVkIHZh cmlhYmxlcywgaWdub3JlIHRoZW0sIG9yIGV2ZW4gcmVjYWxjdWxhdGUgdGhlbS4KLSAgICAKLSAg ICBUaGlzIGFwcHJvYWNoIHJlZHVjZXMgcmVhZGFiaWxpdHkgYW5kIG1heSBhbHNvIGxlYWQgdG8g dW5uZWNlc3NhcnkgY29weWluZwotICAgIG9mIGRhdGEuICBUaGlzIHBhdGNoIG1vdmVzIHRoZSBw cmVwYXJhdGlvbnMgdG8gdGhlIHBsYWNlcyB3aGVyZSBzdWZmaWNpZW50Ci0gICAgaW5mb3JtYXRp b24gaXMgYXZhaWxhYmxlIGFuZCByZW1vdmVzIHNvbWUgb2YgdGhlIHZhcmlhYmxlcyBpbnZvbHZl ZC4KLSAgICAKLSAgICBnZGIvQ2hhbmdlTG9nOgotICAgIAotICAgICAgICAgICAgKiBkd2FyZjJs b2MuYyAocmVhZF9waWVjZWRfdmFsdWUpOiBNb3ZlIHRoZSBidWZmZXIgYWxsb2NhdGlvbiBhbmQK LSAgICAgICAgICAgIHNvbWUgb3RoZXIgcHJlcGFyYXRpb25zIHRvIHRoZSBwbGFjZXMgd2hlcmUg c3VmZmljaWVudCBpbmZvcm1hdGlvbgotICAgICAgICAgICAgaXMgYXZhaWxhYmxlLgotICAgICAg ICAgICAgKHdyaXRlX3BpZWNlZF92YWx1ZSk6IExpa2V3aXNlLgotCi0jIyMgYS9nZGIvQ2hhbmdl TG9nCi0jIyMgYi9nZGIvQ2hhbmdlTG9nCi0jIyAtMSw1ICsxLDEyIEBACi0gMjAxNy0wNi0xMyAg QW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAKLSsJKiBkd2FyZjJs b2MuYyAocmVhZF9waWVjZWRfdmFsdWUpOiBNb3ZlIHRoZSBidWZmZXIgYWxsb2NhdGlvbiBhbmQK LSsJc29tZSBvdGhlciBwcmVwYXJhdGlvbnMgdG8gdGhlIHBsYWNlcyB3aGVyZSBzdWZmaWNpZW50 IGluZm9ybWF0aW9uCi0rCWlzIGF2YWlsYWJsZS4KLSsJKHdyaXRlX3BpZWNlZF92YWx1ZSk6IExp a2V3aXNlLgotKwotKzIwMTctMDYtMTMgIEFuZHJlYXMgQXJuZXogIDxhcm5lekBsaW51eC52bmV0 LmlibS5jb20+Ci0rCi0gCSogZHdhcmYybG9jLmMgKGJpdHNfdG9fYnl0ZXMpOiBOZXcgZnVuY3Rp b24uCi0gCShyZWFkX3BpZWNlZF92YWx1ZSk6IEZpeCBvZmZzZXQgY2FsY3VsYXRpb25zIGZvciBy ZWdpc3RlciBwaWVjZXMKLSAJb24gYmlnLWVuZGlhbiB0YXJnZXRzLgotLS0tIGEvZ2RiL2R3YXJm MmxvYy5jCi0rKysgYi9nZGIvZHdhcmYybG9jLmMKLUBAIC0xNzk0LDggKzE3OTQsNyBAQCByZWFk X3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotICAgICB7Ci0gICAgICAgc3RydWN0IGR3 YXJmX2V4cHJfcGllY2UgKnAgPSAmYy0+cGllY2VzW2ldOwotICAgICAgIHNpemVfdCB0aGlzX3Np emUsIHRoaXNfc2l6ZV9iaXRzOwotLSAgICAgIGxvbmcgZGVzdF9vZmZzZXRfYml0cywgc291cmNl X29mZnNldF9iaXRzLCBzb3VyY2Vfb2Zmc2V0OwotLSAgICAgIGNvbnN0IGdkYl9ieXRlICppbnRl cm1lZGlhdGVfYnVmZmVyOwotKyAgICAgIGxvbmcgZGVzdF9vZmZzZXRfYml0cywgc291cmNlX29m ZnNldF9iaXRzOwotIAotICAgICAgIC8qIENvbXB1dGUgc2l6ZSwgc291cmNlLCBhbmQgZGVzdGlu YXRpb24gb2Zmc2V0cyBmb3IgY29weWluZywgaW4KLSAJIGJpdHMuICAqLwotQEAgLTE4MTMsMTEg KzE4MTIsNiBAQCByZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotICAgICAgIGlm ICh0aGlzX3NpemVfYml0cyA+IG1heF9vZmZzZXQgLSBvZmZzZXQpCi0gCXRoaXNfc2l6ZV9iaXRz ID0gbWF4X29mZnNldCAtIG9mZnNldDsKLSAKLS0gICAgICB0aGlzX3NpemUgPSBiaXRzX3RvX2J5 dGVzIChzb3VyY2Vfb2Zmc2V0X2JpdHMsIHRoaXNfc2l6ZV9iaXRzKTsKLS0gICAgICBidWZmZXIu cmVzZXJ2ZSAodGhpc19zaXplKTsKLS0gICAgICBzb3VyY2Vfb2Zmc2V0ID0gc291cmNlX29mZnNl dF9iaXRzIC8gODsKLS0gICAgICBpbnRlcm1lZGlhdGVfYnVmZmVyID0gYnVmZmVyLmRhdGEgKCk7 Ci0tCi0gICAgICAgLyogQ29weSBmcm9tIHRoZSBzb3VyY2UgdG8gREVTVF9CVUZGRVIuICAqLwot ICAgICAgIHN3aXRjaCAocC0+bG9jYXRpb24pCi0gCXsKLUBAIC0xODQzLDEzICsxODM3LDExIEBA IHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYpCi0gCQkJCQkgICB0aGlzX3NpemUs IGJ1ZmZlci5kYXRhICgpLAotIAkJCQkJICAgJm9wdGltLCAmdW5hdmFpbCkpCi0gCSAgICAgIHsK LS0JCS8qIEp1c3Qgc28gZ2FyYmFnZSBkb2Vzbid0IGV2ZXIgc2hpbmUgdGhyb3VnaC4gICovCi0t CQltZW1zZXQgKGJ1ZmZlci5kYXRhICgpLCAwLCB0aGlzX3NpemUpOwotLQotIAkJaWYgKG9wdGlt KQotIAkJICBtYXJrX3ZhbHVlX2JpdHNfb3B0aW1pemVkX291dCAodiwgb2Zmc2V0LCB0aGlzX3Np emVfYml0cyk7Ci0gCQlpZiAodW5hdmFpbCkKLSAJCSAgbWFya192YWx1ZV9iaXRzX3VuYXZhaWxh YmxlICh2LCBvZmZzZXQsIHRoaXNfc2l6ZV9iaXRzKTsKLSsJCWJyZWFrOwotIAkgICAgICB9Ci0g Ci0gCSAgICBjb3B5X2JpdHdpc2UgKGNvbnRlbnRzLCBkZXN0X29mZnNldF9iaXRzLAotQEAgLTE4 NTksMTIgKzE4NTEsMTUgQEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdikKLSAJ ICBicmVhazsKLSAKLSAJY2FzZSBEV0FSRl9WQUxVRV9NRU1PUlk6Ci0rCSAgdGhpc19zaXplID0g Yml0c190b19ieXRlcyAoc291cmNlX29mZnNldF9iaXRzLCB0aGlzX3NpemVfYml0cyk7Ci0rCSAg YnVmZmVyLnJlc2VydmUgKHRoaXNfc2l6ZSk7Ci0rCi0gCSAgcmVhZF92YWx1ZV9tZW1vcnkgKHYs IG9mZnNldCwKLSAJCQkgICAgIHAtPnYubWVtLmluX3N0YWNrX21lbW9yeSwKLS0JCQkgICAgIHAt PnYubWVtLmFkZHIgKyBzb3VyY2Vfb2Zmc2V0LAotKwkJCSAgICAgcC0+di5tZW0uYWRkciArIHNv dXJjZV9vZmZzZXRfYml0cyAvIDgsCi0gCQkJICAgICBidWZmZXIuZGF0YSAoKSwgdGhpc19zaXpl KTsKLSAJICBjb3B5X2JpdHdpc2UgKGNvbnRlbnRzLCBkZXN0X29mZnNldF9iaXRzLAotLQkJCWlu dGVybWVkaWF0ZV9idWZmZXIsIHNvdXJjZV9vZmZzZXRfYml0cyAlIDgsCi0rCQkJYnVmZmVyLmRh dGEgKCksIHNvdXJjZV9vZmZzZXRfYml0cyAlIDgsCi0gCQkJdGhpc19zaXplX2JpdHMsIGJpdHNf YmlnX2VuZGlhbik7Ci0gCSAgYnJlYWs7Ci0gCi1AQCAtMTg5MiwxOCArMTg4NywxOCBAQCByZWFk X3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotIAotIAljYXNlIERXQVJGX1ZBTFVFX0xJ VEVSQUw6Ci0gCSAgewotLQkgICAgc2l6ZV90IG4gPSB0aGlzX3NpemU7Ci0rCSAgICBVTE9OR0VT VCBsaXRlcmFsX3NpemVfYml0cyA9IDggKiBwLT52LmxpdGVyYWwubGVuZ3RoOwotKwkgICAgc2l6 ZV90IG4gPSB0aGlzX3NpemVfYml0czsKLSAKLS0JICAgIGlmIChuID4gcC0+di5saXRlcmFsLmxl bmd0aCAtIHNvdXJjZV9vZmZzZXQpCi0tCSAgICAgIG4gPSAocC0+di5saXRlcmFsLmxlbmd0aCA+ PSBzb3VyY2Vfb2Zmc2V0Ci0tCQkgICA/IHAtPnYubGl0ZXJhbC5sZW5ndGggLSBzb3VyY2Vfb2Zm c2V0Ci0tCQkgICA6IDApOwotLQkgICAgaWYgKG4gIT0gMCkKLS0JICAgICAgaW50ZXJtZWRpYXRl X2J1ZmZlciA9IHAtPnYubGl0ZXJhbC5kYXRhICsgc291cmNlX29mZnNldDsKLSsJICAgIC8qIEN1 dCBvZmYgYXQgdGhlIGVuZCBvZiB0aGUgaW1wbGljaXQgdmFsdWUuICAqLwotKwkgICAgaWYgKHNv dXJjZV9vZmZzZXRfYml0cyA+PSBsaXRlcmFsX3NpemVfYml0cykKLSsJICAgICAgYnJlYWs7Ci0r CSAgICBpZiAobiA+IGxpdGVyYWxfc2l6ZV9iaXRzIC0gc291cmNlX29mZnNldF9iaXRzKQotKwkg ICAgICBuID0gbGl0ZXJhbF9zaXplX2JpdHMgLSBzb3VyY2Vfb2Zmc2V0X2JpdHM7Ci0gCi0gCSAg ICBjb3B5X2JpdHdpc2UgKGNvbnRlbnRzLCBkZXN0X29mZnNldF9iaXRzLAotLQkJCSAgaW50ZXJt ZWRpYXRlX2J1ZmZlciwgc291cmNlX29mZnNldF9iaXRzICUgOCwKLS0JCQkgIHRoaXNfc2l6ZV9i aXRzLCBiaXRzX2JpZ19lbmRpYW4pOwotKwkJCSAgcC0+di5saXRlcmFsLmRhdGEsIHNvdXJjZV9v ZmZzZXRfYml0cywKLSsJCQkgIG4sIGJpdHNfYmlnX2VuZGlhbik7Ci0gCSAgfQotIAkgIGJyZWFr OwotIAotQEAgLTE5NjAsOSArMTk1NSw3IEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZh bHVlICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotICAgICB7Ci0gICAgICAgc3RydWN0IGR3YXJm X2V4cHJfcGllY2UgKnAgPSAmYy0+cGllY2VzW2ldOwotICAgICAgIHNpemVfdCB0aGlzX3NpemVf Yml0cywgdGhpc19zaXplOwotLSAgICAgIGxvbmcgZGVzdF9vZmZzZXRfYml0cywgc291cmNlX29m ZnNldF9iaXRzLCBkZXN0X29mZnNldCwgc291cmNlX29mZnNldDsKLS0gICAgICBpbnQgbmVlZF9i aXR3aXNlOwotLSAgICAgIGNvbnN0IGdkYl9ieXRlICpzb3VyY2VfYnVmZmVyOwotKyAgICAgIGxv bmcgZGVzdF9vZmZzZXRfYml0cywgc291cmNlX29mZnNldF9iaXRzOwotIAotICAgICAgIHRoaXNf c2l6ZV9iaXRzID0gcC0+c2l6ZTsKLSAgICAgICBpZiAoYml0c190b19za2lwID4gMCAmJiBiaXRz X3RvX3NraXAgPj0gdGhpc19zaXplX2JpdHMpCi1AQCAtMTk3OCwyNCArMTk3MSw2IEBAIHdyaXRl X3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotICAg ICAgIGlmICh0aGlzX3NpemVfYml0cyA+IG1heF9vZmZzZXQgLSBvZmZzZXQpCi0gCXRoaXNfc2l6 ZV9iaXRzID0gbWF4X29mZnNldCAtIG9mZnNldDsKLSAKLS0gICAgICB0aGlzX3NpemUgPSBiaXRz X3RvX2J5dGVzIChkZXN0X29mZnNldF9iaXRzLCB0aGlzX3NpemVfYml0cyk7Ci0tICAgICAgc291 cmNlX29mZnNldCA9IHNvdXJjZV9vZmZzZXRfYml0cyAvIDg7Ci0tICAgICAgZGVzdF9vZmZzZXQg PSBkZXN0X29mZnNldF9iaXRzIC8gODsKLS0KLS0gICAgICAvKiBDaGVjayB3aGV0aGVyIHRoZSBk YXRhIGNhbiBiZSB0cmFuc2ZlcnJlZCBieXRlLXdpc2UuICAqLwotLSAgICAgIGlmIChkZXN0X29m ZnNldF9iaXRzICUgOCA9PSAwICYmIHNvdXJjZV9vZmZzZXRfYml0cyAlIDggPT0gMAotLQkgICYm IHRoaXNfc2l6ZV9iaXRzICUgOCA9PSAwKQotLQl7Ci0tCSAgc291cmNlX2J1ZmZlciA9IGNvbnRl bnRzICsgc291cmNlX29mZnNldDsKLS0JICBuZWVkX2JpdHdpc2UgPSAwOwotLQl9Ci0tICAgICAg ZWxzZQotLQl7Ci0tCSAgYnVmZmVyLnJlc2VydmUgKHRoaXNfc2l6ZSk7Ci0tCSAgc291cmNlX2J1 ZmZlciA9IGJ1ZmZlci5kYXRhICgpOwotLQkgIG5lZWRfYml0d2lzZSA9IDE7Ci0tCX0KLS0KLSAg ICAgICBzd2l0Y2ggKHAtPmxvY2F0aW9uKQotIAl7Ci0gCWNhc2UgRFdBUkZfVkFMVUVfUkVHSVNU RVI6Ci1AQCAtMjA0NywyMSArMjAyMiw0NCBAQCB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVjdCB2 YWx1ZSAqdG8sIHN0cnVjdCB2YWx1ZSAqZnJvbSkKLSAJICB9Ci0gCSAgYnJlYWs7Ci0gCWNhc2Ug RFdBUkZfVkFMVUVfTUVNT1JZOgotLQkgIGlmIChuZWVkX2JpdHdpc2UpCi0tCSAgICB7Ci0tCSAg ICAgIC8qIE9ubHkgdGhlIGZpcnN0IGFuZCBsYXN0IGJ5dGVzIGNhbiBwb3NzaWJseSBoYXZlIGFu eQotLQkJIGJpdHMgcmV1c2VkLiAgKi8KLS0JICAgICAgcmVhZF9tZW1vcnkgKHAtPnYubWVtLmFk ZHIgKyBkZXN0X29mZnNldCwgYnVmZmVyLmRhdGEgKCksIDEpOwotLQkgICAgICByZWFkX21lbW9y eSAocC0+di5tZW0uYWRkciArIGRlc3Rfb2Zmc2V0ICsgdGhpc19zaXplIC0gMSwKLS0JCQkgICAm YnVmZmVyW3RoaXNfc2l6ZSAtIDFdLCAxKTsKLS0JICAgICAgY29weV9iaXR3aXNlIChidWZmZXIu ZGF0YSAoKSwgZGVzdF9vZmZzZXRfYml0cyAlIDgsCi0tCQkJICAgIGNvbnRlbnRzLCBzb3VyY2Vf b2Zmc2V0X2JpdHMsCi0tCQkJICAgIHRoaXNfc2l6ZV9iaXRzLAotLQkJCSAgICBiaXRzX2JpZ19l bmRpYW4pOwotLQkgICAgfQotKwkgIHsKLSsJICAgIENPUkVfQUREUiBzdGFydF9hZGRyID0gcC0+ di5tZW0uYWRkciArIGRlc3Rfb2Zmc2V0X2JpdHMgLyA4OwotKwotKwkgICAgaWYgKGRlc3Rfb2Zm c2V0X2JpdHMgJSA4ID09IDAgJiYgdGhpc19zaXplX2JpdHMgJSA4ID09IDAKLSsJCSYmIHNvdXJj ZV9vZmZzZXRfYml0cyAlIDggPT0gMCkKLSsJICAgICAgewotKwkJLyogRXZlcnl0aGluZyBpcyBi eXRlLWFsaWduZWQ7IG5vIGJ1ZmZlciBuZWVkZWQuICAqLwotKwkJd3JpdGVfbWVtb3J5IChzdGFy dF9hZGRyLAotKwkJCSAgICAgIGNvbnRlbnRzICsgc291cmNlX29mZnNldF9iaXRzIC8gOCwKLSsJ CQkgICAgICB0aGlzX3NpemVfYml0cyAvIDgpOwotKwkJYnJlYWs7Ci0rCSAgICAgIH0KLSsKLSsJ ICAgIHRoaXNfc2l6ZSA9IGJpdHNfdG9fYnl0ZXMgKGRlc3Rfb2Zmc2V0X2JpdHMsIHRoaXNfc2l6 ZV9iaXRzKTsKLSsJICAgIGJ1ZmZlci5yZXNlcnZlICh0aGlzX3NpemUpOwotIAotLQkgIHdyaXRl X21lbW9yeSAocC0+di5tZW0uYWRkciArIGRlc3Rfb2Zmc2V0LAotLQkJCXNvdXJjZV9idWZmZXIs IHRoaXNfc2l6ZSk7Ci0rCSAgICBpZiAoZGVzdF9vZmZzZXRfYml0cyAlIDggIT0gMCB8fCB0aGlz X3NpemVfYml0cyAlIDggIT0gMCkKLSsJICAgICAgewotKwkJaWYgKHRoaXNfc2l6ZSA8PSA4KQot KwkJICB7Ci0rCQkgICAgLyogUGVyZm9ybSBhIHNpbmdsZSByZWFkIGZvciBzbWFsbCBzaXplcy4g ICovCi0rCQkgICAgcmVhZF9tZW1vcnkgKHN0YXJ0X2FkZHIsIGJ1ZmZlci5kYXRhICgpLCB0aGlz X3NpemUpOwotKwkJICB9Ci0rCQllbHNlCi0rCQkgIHsKLSsJCSAgICAvKiBPbmx5IHRoZSBmaXJz dCBhbmQgbGFzdCBieXRlcyBjYW4gcG9zc2libHkgaGF2ZSBhbnkKLSsJCSAgICAgICBiaXRzIHJl dXNlZC4gICovCi0rCQkgICAgcmVhZF9tZW1vcnkgKHN0YXJ0X2FkZHIsIGJ1ZmZlci5kYXRhICgp LCAxKTsKLSsJCSAgICByZWFkX21lbW9yeSAoc3RhcnRfYWRkciArIHRoaXNfc2l6ZSAtIDEsCi0r CQkJCSAmYnVmZmVyW3RoaXNfc2l6ZSAtIDFdLCAxKTsKLSsJCSAgfQotKwkgICAgICB9Ci0rCi0r CSAgICBjb3B5X2JpdHdpc2UgKGJ1ZmZlci5kYXRhICgpLCBkZXN0X29mZnNldF9iaXRzICUgOCwK LSsJCQkgIGNvbnRlbnRzLCBzb3VyY2Vfb2Zmc2V0X2JpdHMsCi0rCQkJICB0aGlzX3NpemVfYml0 cywgYml0c19iaWdfZW5kaWFuKTsKLSsJICAgIHdyaXRlX21lbW9yeSAoc3RhcnRfYWRkciwgYnVm ZmVyLmRhdGEgKCksIHRoaXNfc2l6ZSk7Ci0rCSAgfQotIAkgIGJyZWFrOwotIAlkZWZhdWx0Ogot IAkgIG1hcmtfdmFsdWVfYnl0ZXNfb3B0aW1pemVkX291dCAodG8sIDAsIFRZUEVfTEVOR1RIICh2 YWx1ZV90eXBlICh0bykpKTsKCmRpZmYgLS1naXQgYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMjNv ZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTIzb2YzNS5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggNWNmOGYxMC4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0MjAz MDQtczM5MHgtMjNvZjM1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTczICswLDAgQEAKLUZy b206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3 IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5MHgt MjNvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMjNvZjM1LnBh dGNoCi0KLWNvbW1pdCA2NWQ4NGI3NjE2NGRjOGVjMWExZjBmMGUwZmQ0MTY2NzA2NWZmZDRlCi1B dXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAg VHVlIEp1biAxMyAxNToyMDozMSAyMDE3ICswMjAwCi0KLSAgICBSZXNwZWN0IHBpZWNlIG9mZnNl dCBmb3IgRFdfT1BfYml0X3BpZWNlCi0gICAgCi0gICAgU28gZmFyIEdEQiBpZ25vcmVzIHRoZSBw aWVjZSBvZmZzZXQgb2YgYWxsIGtpbmRzIG9mIERXQVJGIGJpdAotICAgIHBpZWNlcyAoRFdfT1Bf Yml0X3BpZWNlKSBhbmQgdHJlYXRzIHN1Y2ggcGllY2VzIGFzIGlmIHRoZSBvZmZzZXQgd2FzIHpl cm8uCi0gICAgCi0gICAgVGhpcyBpcyBmaXhlZCwgYW5kIGFuIGFwcHJvcHJpYXRlIHRlc3QgaXMg YWRkZWQuCi0gICAgCi0gICAgZ2RiL0NoYW5nZUxvZzoKLSAgICAKLSAgICAgICAgICAgICogZHdh cmYybG9jLmMgKHJlYWRfcGllY2VkX3ZhbHVlKTogUmVzcGVjdCB0aGUgcGllY2Ugb2Zmc2V0LCBh cwotICAgICAgICAgICAgZ2l2ZW4gYnkgRFdfT1BfYml0X3BpZWNlLgotICAgICAgICAgICAgKHdy aXRlX3BpZWNlZF92YWx1ZSk6IExpa2V3aXNlLgotICAgIAotICAgICAgQW5kcmVhcyBBcm5leiAg PGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAgICAKLSAgICAgICAgICAgICogZ2RiLmR3YXJm Mi92YXItYWNjZXNzLmV4cDogQWRkIHRlc3QgZm9yIGNvbXBvc2l0ZSBsb2NhdGlvbiB3aXRoCi0g ICAgICAgICAgICBub256ZXJvIHBpZWNlIG9mZnNldHMuCi0KLSMjIyBhL2dkYi9DaGFuZ2VMb2cK LSMjIyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTEgQEAKLSAyMDE3LTA2LTEzICBBbmRy ZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAotKwkqIGR3YXJmMmxvYy5j IChyZWFkX3BpZWNlZF92YWx1ZSk6IFJlc3BlY3QgdGhlIHBpZWNlIG9mZnNldCwgYXMKLSsJZ2l2 ZW4gYnkgRFdfT1BfYml0X3BpZWNlLgotKwkod3JpdGVfcGllY2VkX3ZhbHVlKTogTGlrZXdpc2Uu Ci0rCi0rMjAxNy0wNi0xMyAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNv bT4KLSsKLSAJKiBkd2FyZjJsb2MuYyAocmVhZF9waWVjZWRfdmFsdWUpOiBNb3ZlIHRoZSBidWZm ZXIgYWxsb2NhdGlvbiBhbmQKLSAJc29tZSBvdGhlciBwcmVwYXJhdGlvbnMgdG8gdGhlIHBsYWNl cyB3aGVyZSBzdWZmaWNpZW50IGluZm9ybWF0aW9uCi0gCWlzIGF2YWlsYWJsZS4KLS0tLSBhL2dk Yi9kd2FyZjJsb2MuYwotKysrIGIvZ2RiL2R3YXJmMmxvYy5jCi1AQCAtMTgyNCwxMSArMTgyNCwx NCBAQCByZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotIAkgICAgaW50IG9wdGlt LCB1bmF2YWlsOwotIAotIAkgICAgaWYgKGdkYmFyY2hfYnl0ZV9vcmRlciAoYXJjaCkgPT0gQkZE X0VORElBTl9CSUcKLS0JCSYmIHAtPnNpemUgPCByZWdfYml0cykKLSsJCSYmIHAtPm9mZnNldCAr IHAtPnNpemUgPCByZWdfYml0cykKLSAJICAgICAgewotIAkJLyogQmlnLWVuZGlhbiwgYW5kIHdl IHdhbnQgbGVzcyB0aGFuIGZ1bGwgc2l6ZS4gICovCi0tCQlzb3VyY2Vfb2Zmc2V0X2JpdHMgKz0g cmVnX2JpdHMgLSBwLT5zaXplOwotKwkJc291cmNlX29mZnNldF9iaXRzICs9IHJlZ19iaXRzIC0g KHAtPm9mZnNldCArIHAtPnNpemUpOwotIAkgICAgICB9Ci0rCSAgICBlbHNlCi0rCSAgICAgIHNv dXJjZV9vZmZzZXRfYml0cyArPSBwLT5vZmZzZXQ7Ci0rCi0gCSAgICB0aGlzX3NpemUgPSBiaXRz X3RvX2J5dGVzIChzb3VyY2Vfb2Zmc2V0X2JpdHMsIHRoaXNfc2l6ZV9iaXRzKTsKLSAJICAgIGJ1 ZmZlci5yZXNlcnZlICh0aGlzX3NpemUpOwotIAotQEAgLTE4NTEsNiArMTg1NCw3IEBAIHJlYWRf cGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYpCi0gCSAgYnJlYWs7Ci0gCi0gCWNhc2UgRFdB UkZfVkFMVUVfTUVNT1JZOgotKwkgIHNvdXJjZV9vZmZzZXRfYml0cyArPSBwLT5vZmZzZXQ7Ci0g CSAgdGhpc19zaXplID0gYml0c190b19ieXRlcyAoc291cmNlX29mZnNldF9iaXRzLCB0aGlzX3Np emVfYml0cyk7Ci0gCSAgYnVmZmVyLnJlc2VydmUgKHRoaXNfc2l6ZSk7Ci0gCi1AQCAtMTg3MSwx MiArMTg3NSwxNSBAQCByZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotIAkgICAg ICA9IDggKiBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAocC0+di52YWx1ZSkpOwotIAotIAkgICAg LyogVXNlIHplcm9lcyBpZiBwaWVjZSByZWFjaGVzIGJleW9uZCBzdGFjayB2YWx1ZS4gICovCi0t CSAgICBpZiAocC0+c2l6ZSA+IHN0YWNrX3ZhbHVlX3NpemVfYml0cykKLSsJICAgIGlmIChwLT5v ZmZzZXQgKyBwLT5zaXplID4gc3RhY2tfdmFsdWVfc2l6ZV9iaXRzKQotIAkgICAgICBicmVhazsK LSAKLSAJICAgIC8qIFBpZWNlIGlzIGFuY2hvcmVkIGF0IGxlYXN0IHNpZ25pZmljYW50IGJpdCBl bmQuICAqLwotIAkgICAgaWYgKGdkYmFyY2hfYnl0ZV9vcmRlciAob2JqZmlsZV9nZGJhcmNoKSA9 PSBCRkRfRU5ESUFOX0JJRykKLS0JICAgICAgc291cmNlX29mZnNldF9iaXRzICs9IHN0YWNrX3Zh bHVlX3NpemVfYml0cyAtIHAtPnNpemU7Ci0rCSAgICAgIHNvdXJjZV9vZmZzZXRfYml0cyArPSAo c3RhY2tfdmFsdWVfc2l6ZV9iaXRzCi0rCQkJCSAgICAgLSBwLT5vZmZzZXQgLSBwLT5zaXplKTsK LSsJICAgIGVsc2UKLSsJICAgICAgc291cmNlX29mZnNldF9iaXRzICs9IHAtPm9mZnNldDsKLSAK LSAJICAgIGNvcHlfYml0d2lzZSAoY29udGVudHMsIGRlc3Rfb2Zmc2V0X2JpdHMsCi0gCQkJICB2 YWx1ZV9jb250ZW50c19hbGwgKHAtPnYudmFsdWUpLAotQEAgLTE4OTEsNiArMTg5OCw3IEBAIHJl YWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYpCi0gCSAgICBzaXplX3QgbiA9IHRoaXNf c2l6ZV9iaXRzOwotIAotIAkgICAgLyogQ3V0IG9mZiBhdCB0aGUgZW5kIG9mIHRoZSBpbXBsaWNp dCB2YWx1ZS4gICovCi0rCSAgICBzb3VyY2Vfb2Zmc2V0X2JpdHMgKz0gcC0+b2Zmc2V0OwotIAkg ICAgaWYgKHNvdXJjZV9vZmZzZXRfYml0cyA+PSBsaXRlcmFsX3NpemVfYml0cykKLSAJICAgICAg YnJlYWs7Ci0gCSAgICBpZiAobiA+IGxpdGVyYWxfc2l6ZV9iaXRzIC0gc291cmNlX29mZnNldF9i aXRzKQotQEAgLTE5ODEsMTEgKzE5ODksMTQgQEAgd3JpdGVfcGllY2VkX3ZhbHVlIChzdHJ1Y3Qg dmFsdWUgKnRvLCBzdHJ1Y3QgdmFsdWUgKmZyb20pCi0gCSAgICBVTE9OR0VTVCByZWdfYml0cyA9 IDggKiByZWdpc3Rlcl9zaXplIChhcmNoLCBnZGJfcmVnbnVtKTsKLSAKLSAJICAgIGlmIChnZGJh cmNoX2J5dGVfb3JkZXIgKGFyY2gpID09IEJGRF9FTkRJQU5fQklHCi0tCQkmJiBwLT5zaXplIDw9 IHJlZ19iaXRzKQotKwkJJiYgcC0+b2Zmc2V0ICsgcC0+c2l6ZSA8IHJlZ19iaXRzKQotIAkgICAg ICB7Ci0gCQkvKiBCaWctZW5kaWFuLCBhbmQgd2Ugd2FudCBsZXNzIHRoYW4gZnVsbCBzaXplLiAg Ki8KLS0JCWRlc3Rfb2Zmc2V0X2JpdHMgKz0gcmVnX2JpdHMgLSBwLT5zaXplOwotKwkJZGVzdF9v ZmZzZXRfYml0cyArPSByZWdfYml0cyAtIChwLT5vZmZzZXQgKyBwLT5zaXplKTsKLSAJICAgICAg fQotKwkgICAgZWxzZQotKwkgICAgICBkZXN0X29mZnNldF9iaXRzICs9IHAtPm9mZnNldDsKLSsK LSAJICAgIHRoaXNfc2l6ZSA9IGJpdHNfdG9fYnl0ZXMgKGRlc3Rfb2Zmc2V0X2JpdHMsIHRoaXNf c2l6ZV9iaXRzKTsKLSAJICAgIGJ1ZmZlci5yZXNlcnZlICh0aGlzX3NpemUpOwotIAotQEAgLTIw MjMsNiArMjAzNCw4IEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3Ry dWN0IHZhbHVlICpmcm9tKQotIAkgIGJyZWFrOwotIAljYXNlIERXQVJGX1ZBTFVFX01FTU9SWToK LSAJICB7Ci0rCSAgICBkZXN0X29mZnNldF9iaXRzICs9IHAtPm9mZnNldDsKLSsKLSAJICAgIENP UkVfQUREUiBzdGFydF9hZGRyID0gcC0+di5tZW0uYWRkciArIGRlc3Rfb2Zmc2V0X2JpdHMgLyA4 OwotIAotIAkgICAgaWYgKGRlc3Rfb2Zmc2V0X2JpdHMgJSA4ID09IDAgJiYgdGhpc19zaXplX2Jp dHMgJSA4ID09IDAKLS0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi92YXItYWNjZXNzLmV4 cAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3Zhci1hY2Nlc3MuZXhwCi1AQCAtMjI4 LDYgKzIyOCwyNCBAQCBEd2FyZjo6YXNzZW1ibGUgJGFzbV9maWxlIHsKLSAJCQlwaWVjZSAxCi0g CQkgICAgfSBTUEVDSUFMX2V4cHJ9Ci0gCQl9Ci0rCQkjIE9uZSBwaWVjZSBwZXIgYml0ZmllbGQs IHVzaW5nIHBpZWNlIG9mZnNldHM6IDMyIGJpdHMgb2YKLSsJCSMgYW4gaW1wbGljaXQgdmFsdWUs IDkgYml0cyBvZiBhIHN0YWNrIHZhbHVlLCAxMyBiaXRzIG9mCi0rCQkjIHIwLCBhbmQgMTAgYml0 cyBvZiBidWYuCi0rCQlEV19UQUdfdmFyaWFibGUgewotKwkJICAgIHtuYW1lICJ0MyJ9Ci0rCQkg ICAge3R5cGUgOiRzdHJ1Y3RfdF9sYWJlbH0KLSsJCSAgICB7bG9jYXRpb24gewotKwkJCWltcGxp Y2l0X3ZhbHVlIDB4MTIgMHgzNCAweDU2IDB4NzggMHg5YQotKwkJCWJpdF9waWVjZSAzMiA0Ci0r CQkJY29uc3QycyAtMjgwCi0rCQkJc3RhY2tfdmFsdWUKLSsJCQliaXRfcGllY2UgOSAyCi0rCQkJ cmVneCBbbGluZGV4ICRkd2FyZl9yZWdudW0gMF0KLSsJCQliaXRfcGllY2UgMTMgMTQKLSsJCQlh ZGRyICRidWZfdmFyCi0rCQkJYml0X3BpZWNlIDEwIDQyCi0rCQkgICAgfSBTUEVDSUFMX2V4cHJ9 Ci0rCQl9Ci0gCSAgICB9Ci0gCX0KLSAgICAgfQotQEAgLTMwNCwzICszMjIsMjQgQEAgZ2RiX3Rl c3Rfbm9fb3V0cHV0ICJzZXQgdmFyIHQyLnkgPSAyNjQxIgotIGdkYl90ZXN0X25vX291dHB1dCAi c2V0IHZhciB0Mi56ID0gLTQwMCIKLSBnZGJfdGVzdF9ub19vdXRwdXQgInNldCB2YXIgdDIueCA9 IDIwMCIKLSBnZGJfdGVzdCAicHJpbnQgdDIueCArIHQyLnkgKyB0Mi56IiAiID0gMjQ0MSIKLSsK LSsjIEJpdGZpZWxkIGFjY2VzcyB0aHJvdWdoIHBpZWNlcyB3aXRoIG5vbnplcm8gcGllY2Ugb2Zm c2V0cy4KLStnZGJfdGVzdF9ub19vdXRwdXQgInNldCB2YXIgXCRbbGluZGV4ICRyZWduYW1lIDBd ID0gMHhhODAwMCIgXAotKyAgICAiaW5pdCByZWcgZm9yIHQzLnkiCi0rZ2RiX3Rlc3Rfbm9fb3V0 cHV0ICJzZXQgdmFyICooY2hhciBcWzJcXSAqKSAoYSArIDUpID0geyA3MCwgODIgfSIgXAotKyAg ICAiaW5pdCBtZW0gZm9yIHQzLnoiCi0rc3dpdGNoICRlbmRpYW4gewotKyAgICBsaXR0bGUge3Nl dCB2YWwgInUgPSAtMTQ4NDQzMDUyNywgeCA9IC03MCwgeSA9IDQyLCB6ID0gMTQ1In0KLSsgICAg YmlnIHtzZXQgdmFsICJ1ID0gNTkxNzUxMDQ5LCB4ID0gLTcwLCB5ID0gNDIsIHogPSAxMDEifQot K30KLStnZGJfdGVzdCAicHJpbnQgdDMiICIgPSBcXHskdmFsXFx9IiBcCi0rICAgICJpbml0aWFs aXplZCB0MyBmcm9tIHJlZyBhbmQgbWVtIgotK2dkYl90ZXN0X25vX291dHB1dCAic2V0IHZhciB0 My55ID0gLTEiIFwKLSsgICAgIm92ZXJ3cml0ZSB0My55IgotK2dkYl90ZXN0ICJwcmludC94IFwk W2xpbmRleCAkcmVnbmFtZSAwXSIgIiA9IDB4N2ZmYzAwMCIgXAotKyAgICAidmVyaWZ5IHQzLnkg dGhyb3VnaCByZWciCi0rZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgdmFyIHQzLnogPSAtNjE0IiBc Ci0rICAgICJvdmVyd3JpdGUgdDMueiIKLStzd2l0Y2ggJGVuZGlhbiB7YmlnIHtzZXQgdmFsICIw eDU5LCAweGEyIn0gbGl0dGxlIHtzZXQgdmFsICIweDZhLCAweDU2In19Ci0rZ2RiX3Rlc3QgInBy aW50L3ggKihjaGFyIFxbMlxdICopIChhICsgNSkiICIgPSBcXHskdmFsXFx9IiBcCi0rICAgICJ2 ZXJpZnkgdDMueiB0aHJvdWdoIG1lbSIKCmRpZmYgLS1naXQgYS9nZGItcmhiejE0MjAzMDQtczM5 MHgtMjRvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTI0b2YzNS5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmM2YjNmYi4uMDAwMDAwMAotLS0gYS9nZGItcmhi ejE0MjAzMDQtczM5MHgtMjRvZjM1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjk2ICswLDAg QEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBG cmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQt czM5MHgtMjRvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMjRv ZjM1LnBhdGNoCi0KLWNvbW1pdCBmMjM2NTMzZTNjNmEyNjkzYmVhODc5YjJhNGQyNGQxMjI5ODY0 YWM5Ci1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURh dGU6ICAgVHVlIEp1biAxMyAxNToyMDozMSAyMDE3ICswMjAwCi0KLSAgICByZWFkL3dyaXRlX3Bp ZWNlZF92YWx1ZTogUmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlIGNvcGllcwotICAgIAotICAg IEluIHJlYWRfcGllY2VkX3ZhbHVlJ3MgbWFpbiBsb29wLCB0aGUgdmFyaWFibGVzIGBkZXN0X29m ZnNldF9iaXRzJyBhbmQKLSAgICBgc291cmNlX29mZnNldF9iaXRzJyBhcmUgYmFzaWNhbGx5IGp1 c3QgY29waWVzIG9mIGBvZmZzZXQnIGFuZAotICAgIGBiaXRzX3RvX3NraXAnLCByZXNwZWN0aXZl bHkuICBJbiB3cml0ZV9waWVjZWRfdmFsdWUgdGhlIGNvcGllcyBhcmUKLSAgICByZXZlcnNlZC4g IFRoaXMgaXMgbm90IHZlcnkgaGVscGZ1bCB3aGVuIHRyeWluZyB0byBrZWVwIHRoZSBsb2dpYyBi ZXR3ZWVuCi0gICAgdGhlc2UgZnVuY3Rpb25zIGluIHN5bmMuICBTaW5jZSB0aGUgY29waWVzIGFy ZSB1bm5lY2Vzc2FyeSwgdGhpcyBwYXRjaAotICAgIGp1c3QgcmVtb3ZlcyB0aGVtLgotICAgIAot ICAgIGdkYi9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgICAgICAgICAqIGR3YXJmMmxvYy5jIChyZWFk X3BpZWNlZF92YWx1ZSk6IFJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZXMKLSAgICAgICAgICAg IGRlc3Rfb2Zmc2V0X2JpdHMgYW5kIHNvdXJjZV9vZmZzZXRfYml0cy4KLSAgICAgICAgICAgICh3 cml0ZV9waWVjZWRfdmFsdWUpOiBMaWtld2lzZS4KLQotIyMjIGEvZ2RiL0NoYW5nZUxvZwotIyMj IGIvZ2RiL0NoYW5nZUxvZwotIyMgLTEsNSArMSwxMSBAQAotIDIwMTctMDYtMTMgIEFuZHJlYXMg QXJuZXogIDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci0gCi0rCSogZHdhcmYybG9jLmMgKHJl YWRfcGllY2VkX3ZhbHVlKTogUmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlcwotKwlkZXN0X29m ZnNldF9iaXRzIGFuZCBzb3VyY2Vfb2Zmc2V0X2JpdHMuCi0rCSh3cml0ZV9waWVjZWRfdmFsdWUp OiBMaWtld2lzZS4KLSsKLSsyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgu dm5ldC5pYm0uY29tPgotKwotIAkqIGR3YXJmMmxvYy5jIChyZWFkX3BpZWNlZF92YWx1ZSk6IFJl c3BlY3QgdGhlIHBpZWNlIG9mZnNldCwgYXMKLSAJZ2l2ZW4gYnkgRFdfT1BfYml0X3BpZWNlLgot IAkod3JpdGVfcGllY2VkX3ZhbHVlKTogTGlrZXdpc2UuCi0tLS0gYS9nZGIvZHdhcmYybG9jLmMK LSsrKyBiL2dkYi9kd2FyZjJsb2MuYwotQEAgLTE3OTAsMjUgKzE3OTAsMTYgQEAgcmVhZF9waWVj ZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdikKLSAgIGVsc2UKLSAgICAgbWF4X29mZnNldCA9IDgg KiBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAodikpOwotIAotLSAgZm9yIChpID0gMDsgaSA8IGMt Pm5fcGllY2VzICYmIG9mZnNldCA8IG1heF9vZmZzZXQ7IGkrKykKLSsgIC8qIEFkdmFuY2UgdG8g dGhlIGZpcnN0IG5vbi1za2lwcGVkIHBpZWNlLiAgKi8KLSsgIGZvciAoaSA9IDA7IGkgPCBjLT5u X3BpZWNlcyAmJiBiaXRzX3RvX3NraXAgPj0gYy0+cGllY2VzW2ldLnNpemU7IGkrKykKLSsgICAg Yml0c190b19za2lwIC09IGMtPnBpZWNlc1tpXS5zaXplOwotKwotKyAgZm9yICg7IGkgPCBjLT5u X3BpZWNlcyAmJiBvZmZzZXQgPCBtYXhfb2Zmc2V0OyBpKyspCi0gICAgIHsKLSAgICAgICBzdHJ1 Y3QgZHdhcmZfZXhwcl9waWVjZSAqcCA9ICZjLT5waWVjZXNbaV07Ci0gICAgICAgc2l6ZV90IHRo aXNfc2l6ZSwgdGhpc19zaXplX2JpdHM7Ci0tICAgICAgbG9uZyBkZXN0X29mZnNldF9iaXRzLCBz b3VyY2Vfb2Zmc2V0X2JpdHM7Ci0tCi0tICAgICAgLyogQ29tcHV0ZSBzaXplLCBzb3VyY2UsIGFu ZCBkZXN0aW5hdGlvbiBvZmZzZXRzIGZvciBjb3B5aW5nLCBpbgotLQkgYml0cy4gICovCi0tICAg ICAgdGhpc19zaXplX2JpdHMgPSBwLT5zaXplOwotLSAgICAgIGlmIChiaXRzX3RvX3NraXAgPiAw ICYmIGJpdHNfdG9fc2tpcCA+PSB0aGlzX3NpemVfYml0cykKLS0JewotLQkgIGJpdHNfdG9fc2tp cCAtPSB0aGlzX3NpemVfYml0czsKLS0JICBjb250aW51ZTsKLS0JfQotLSAgICAgIHNvdXJjZV9v ZmZzZXRfYml0cyA9IGJpdHNfdG9fc2tpcDsKLS0gICAgICB0aGlzX3NpemVfYml0cyAtPSBiaXRz X3RvX3NraXA7Ci0tICAgICAgYml0c190b19za2lwID0gMDsKLS0gICAgICBkZXN0X29mZnNldF9i aXRzID0gb2Zmc2V0OwotIAotKyAgICAgIHRoaXNfc2l6ZV9iaXRzID0gcC0+c2l6ZSAtIGJpdHNf dG9fc2tpcDsKLSAgICAgICBpZiAodGhpc19zaXplX2JpdHMgPiBtYXhfb2Zmc2V0IC0gb2Zmc2V0 KQotIAl0aGlzX3NpemVfYml0cyA9IG1heF9vZmZzZXQgLSBvZmZzZXQ7Ci0gCi1AQCAtMTgyNywx NiArMTgxOCwxNiBAQCByZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotIAkJJiYg cC0+b2Zmc2V0ICsgcC0+c2l6ZSA8IHJlZ19iaXRzKQotIAkgICAgICB7Ci0gCQkvKiBCaWctZW5k aWFuLCBhbmQgd2Ugd2FudCBsZXNzIHRoYW4gZnVsbCBzaXplLiAgKi8KLS0JCXNvdXJjZV9vZmZz ZXRfYml0cyArPSByZWdfYml0cyAtIChwLT5vZmZzZXQgKyBwLT5zaXplKTsKLSsJCWJpdHNfdG9f c2tpcCArPSByZWdfYml0cyAtIChwLT5vZmZzZXQgKyBwLT5zaXplKTsKLSAJICAgICAgfQotIAkg ICAgZWxzZQotLQkgICAgICBzb3VyY2Vfb2Zmc2V0X2JpdHMgKz0gcC0+b2Zmc2V0OwotKwkgICAg ICBiaXRzX3RvX3NraXAgKz0gcC0+b2Zmc2V0OwotIAotLQkgICAgdGhpc19zaXplID0gYml0c190 b19ieXRlcyAoc291cmNlX29mZnNldF9iaXRzLCB0aGlzX3NpemVfYml0cyk7Ci0rCSAgICB0aGlz X3NpemUgPSBiaXRzX3RvX2J5dGVzIChiaXRzX3RvX3NraXAsIHRoaXNfc2l6ZV9iaXRzKTsKLSAJ ICAgIGJ1ZmZlci5yZXNlcnZlICh0aGlzX3NpemUpOwotIAotIAkgICAgaWYgKCFnZXRfZnJhbWVf cmVnaXN0ZXJfYnl0ZXMgKGZyYW1lLCBnZGJfcmVnbnVtLAotLQkJCQkJICAgc291cmNlX29mZnNl dF9iaXRzIC8gOCwKLSsJCQkJCSAgIGJpdHNfdG9fc2tpcCAvIDgsCi0gCQkJCQkgICB0aGlzX3Np emUsIGJ1ZmZlci5kYXRhICgpLAotIAkJCQkJICAgJm9wdGltLCAmdW5hdmFpbCkpCi0gCSAgICAg IHsKLUBAIC0xODQ2LDI0ICsxODM3LDIzIEBAIHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFs dWUgKnYpCi0gCQkgIG1hcmtfdmFsdWVfYml0c191bmF2YWlsYWJsZSAodiwgb2Zmc2V0LCB0aGlz X3NpemVfYml0cyk7Ci0gCQlicmVhazsKLSAJICAgICAgfQotLQotLQkgICAgY29weV9iaXR3aXNl IChjb250ZW50cywgZGVzdF9vZmZzZXRfYml0cywKLS0JCQkgIGJ1ZmZlci5kYXRhICgpLCBzb3Vy Y2Vfb2Zmc2V0X2JpdHMgJSA4LAotKwkgICAgY29weV9iaXR3aXNlIChjb250ZW50cywgb2Zmc2V0 LAotKwkJCSAgYnVmZmVyLmRhdGEgKCksIGJpdHNfdG9fc2tpcCAlIDgsCi0gCQkJICB0aGlzX3Np emVfYml0cywgYml0c19iaWdfZW5kaWFuKTsKLSAJICB9Ci0gCSAgYnJlYWs7Ci0gCi0gCWNhc2Ug RFdBUkZfVkFMVUVfTUVNT1JZOgotLQkgIHNvdXJjZV9vZmZzZXRfYml0cyArPSBwLT5vZmZzZXQ7 Ci0tCSAgdGhpc19zaXplID0gYml0c190b19ieXRlcyAoc291cmNlX29mZnNldF9iaXRzLCB0aGlz X3NpemVfYml0cyk7Ci0rCSAgYml0c190b19za2lwICs9IHAtPm9mZnNldDsKLSsJICB0aGlzX3Np emUgPSBiaXRzX3RvX2J5dGVzIChiaXRzX3RvX3NraXAsIHRoaXNfc2l6ZV9iaXRzKTsKLSAJICBi dWZmZXIucmVzZXJ2ZSAodGhpc19zaXplKTsKLSAKLSAJICByZWFkX3ZhbHVlX21lbW9yeSAodiwg b2Zmc2V0LAotIAkJCSAgICAgcC0+di5tZW0uaW5fc3RhY2tfbWVtb3J5LAotLQkJCSAgICAgcC0+ di5tZW0uYWRkciArIHNvdXJjZV9vZmZzZXRfYml0cyAvIDgsCi0rCQkJICAgICBwLT52Lm1lbS5h ZGRyICsgYml0c190b19za2lwIC8gOCwKLSAJCQkgICAgIGJ1ZmZlci5kYXRhICgpLCB0aGlzX3Np emUpOwotLQkgIGNvcHlfYml0d2lzZSAoY29udGVudHMsIGRlc3Rfb2Zmc2V0X2JpdHMsCi0tCQkJ YnVmZmVyLmRhdGEgKCksIHNvdXJjZV9vZmZzZXRfYml0cyAlIDgsCi0rCSAgY29weV9iaXR3aXNl IChjb250ZW50cywgb2Zmc2V0LAotKwkJCWJ1ZmZlci5kYXRhICgpLCBiaXRzX3RvX3NraXAgJSA4 LAotIAkJCXRoaXNfc2l6ZV9iaXRzLCBiaXRzX2JpZ19lbmRpYW4pOwotIAkgIGJyZWFrOwotIAot QEAgLTE4ODAsMTQgKzE4NzAsMTMgQEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAq dikKLSAKLSAJICAgIC8qIFBpZWNlIGlzIGFuY2hvcmVkIGF0IGxlYXN0IHNpZ25pZmljYW50IGJp dCBlbmQuICAqLwotIAkgICAgaWYgKGdkYmFyY2hfYnl0ZV9vcmRlciAob2JqZmlsZV9nZGJhcmNo KSA9PSBCRkRfRU5ESUFOX0JJRykKLS0JICAgICAgc291cmNlX29mZnNldF9iaXRzICs9IChzdGFj a192YWx1ZV9zaXplX2JpdHMKLS0JCQkJICAgICAtIHAtPm9mZnNldCAtIHAtPnNpemUpOwotKwkg ICAgICBiaXRzX3RvX3NraXAgKz0gc3RhY2tfdmFsdWVfc2l6ZV9iaXRzIC0gcC0+b2Zmc2V0IC0g cC0+c2l6ZTsKLSAJICAgIGVsc2UKLS0JICAgICAgc291cmNlX29mZnNldF9iaXRzICs9IHAtPm9m ZnNldDsKLSsJICAgICAgYml0c190b19za2lwICs9IHAtPm9mZnNldDsKLSAKLS0JICAgIGNvcHlf Yml0d2lzZSAoY29udGVudHMsIGRlc3Rfb2Zmc2V0X2JpdHMsCi0rCSAgICBjb3B5X2JpdHdpc2Ug KGNvbnRlbnRzLCBvZmZzZXQsCi0gCQkJICB2YWx1ZV9jb250ZW50c19hbGwgKHAtPnYudmFsdWUp LAotLQkJCSAgc291cmNlX29mZnNldF9iaXRzLAotKwkJCSAgYml0c190b19za2lwLAotIAkJCSAg dGhpc19zaXplX2JpdHMsIGJpdHNfYmlnX2VuZGlhbik7Ci0gCSAgfQotIAkgIGJyZWFrOwotQEAg LTE4OTgsMTQgKzE4ODcsMTQgQEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdikK LSAJICAgIHNpemVfdCBuID0gdGhpc19zaXplX2JpdHM7Ci0gCi0gCSAgICAvKiBDdXQgb2ZmIGF0 IHRoZSBlbmQgb2YgdGhlIGltcGxpY2l0IHZhbHVlLiAgKi8KLS0JICAgIHNvdXJjZV9vZmZzZXRf Yml0cyArPSBwLT5vZmZzZXQ7Ci0tCSAgICBpZiAoc291cmNlX29mZnNldF9iaXRzID49IGxpdGVy YWxfc2l6ZV9iaXRzKQotKwkgICAgYml0c190b19za2lwICs9IHAtPm9mZnNldDsKLSsJICAgIGlm IChiaXRzX3RvX3NraXAgPj0gbGl0ZXJhbF9zaXplX2JpdHMpCi0gCSAgICAgIGJyZWFrOwotLQkg ICAgaWYgKG4gPiBsaXRlcmFsX3NpemVfYml0cyAtIHNvdXJjZV9vZmZzZXRfYml0cykKLS0JICAg ICAgbiA9IGxpdGVyYWxfc2l6ZV9iaXRzIC0gc291cmNlX29mZnNldF9iaXRzOwotKwkgICAgaWYg KG4gPiBsaXRlcmFsX3NpemVfYml0cyAtIGJpdHNfdG9fc2tpcCkKLSsJICAgICAgbiA9IGxpdGVy YWxfc2l6ZV9iaXRzIC0gYml0c190b19za2lwOwotIAotLQkgICAgY29weV9iaXR3aXNlIChjb250 ZW50cywgZGVzdF9vZmZzZXRfYml0cywKLS0JCQkgIHAtPnYubGl0ZXJhbC5kYXRhLCBzb3VyY2Vf b2Zmc2V0X2JpdHMsCi0rCSAgICBjb3B5X2JpdHdpc2UgKGNvbnRlbnRzLCBvZmZzZXQsCi0rCQkJ ICBwLT52LmxpdGVyYWwuZGF0YSwgYml0c190b19za2lwLAotIAkJCSAgbiwgYml0c19iaWdfZW5k aWFuKTsKLSAJICB9Ci0gCSAgYnJlYWs7Ci1AQCAtMTkyNCw2ICsxOTEzLDcgQEAgcmVhZF9waWVj ZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdikKLSAJfQotIAotICAgICAgIG9mZnNldCArPSB0aGlz X3NpemVfYml0czsKLSsgICAgICBiaXRzX3RvX3NraXAgPSAwOwotICAgICB9Ci0gfQotIAotQEAg LTE5NTksMjMgKzE5NDksMTYgQEAgd3JpdGVfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnRv LCBzdHJ1Y3QgdmFsdWUgKmZyb20pCi0gICBlbHNlCi0gICAgIG1heF9vZmZzZXQgPSA4ICogVFlQ RV9MRU5HVEggKHZhbHVlX3R5cGUgKHRvKSk7Ci0gCi0tICBmb3IgKGkgPSAwOyBpIDwgYy0+bl9w aWVjZXMgJiYgb2Zmc2V0IDwgbWF4X29mZnNldDsgaSsrKQotKyAgLyogQWR2YW5jZSB0byB0aGUg Zmlyc3Qgbm9uLXNraXBwZWQgcGllY2UuICAqLwotKyAgZm9yIChpID0gMDsgaSA8IGMtPm5fcGll Y2VzICYmIGJpdHNfdG9fc2tpcCA+PSBjLT5waWVjZXNbaV0uc2l6ZTsgaSsrKQotKyAgICBiaXRz X3RvX3NraXAgLT0gYy0+cGllY2VzW2ldLnNpemU7Ci0rCi0rICBmb3IgKDsgaSA8IGMtPm5fcGll Y2VzICYmIG9mZnNldCA8IG1heF9vZmZzZXQ7IGkrKykKLSAgICAgewotICAgICAgIHN0cnVjdCBk d2FyZl9leHByX3BpZWNlICpwID0gJmMtPnBpZWNlc1tpXTsKLSAgICAgICBzaXplX3QgdGhpc19z aXplX2JpdHMsIHRoaXNfc2l6ZTsKLS0gICAgICBsb25nIGRlc3Rfb2Zmc2V0X2JpdHMsIHNvdXJj ZV9vZmZzZXRfYml0czsKLS0KLS0gICAgICB0aGlzX3NpemVfYml0cyA9IHAtPnNpemU7Ci0tICAg ICAgaWYgKGJpdHNfdG9fc2tpcCA+IDAgJiYgYml0c190b19za2lwID49IHRoaXNfc2l6ZV9iaXRz KQotLQl7Ci0tCSAgYml0c190b19za2lwIC09IHRoaXNfc2l6ZV9iaXRzOwotLQkgIGNvbnRpbnVl OwotLQl9Ci0tICAgICAgZGVzdF9vZmZzZXRfYml0cyA9IGJpdHNfdG9fc2tpcDsKLS0gICAgICB0 aGlzX3NpemVfYml0cyAtPSBiaXRzX3RvX3NraXA7Ci0tICAgICAgYml0c190b19za2lwID0gMDsK LS0gICAgICBzb3VyY2Vfb2Zmc2V0X2JpdHMgPSBvZmZzZXQ7Ci0gCi0rICAgICAgdGhpc19zaXpl X2JpdHMgPSBwLT5zaXplIC0gYml0c190b19za2lwOwotICAgICAgIGlmICh0aGlzX3NpemVfYml0 cyA+IG1heF9vZmZzZXQgLSBvZmZzZXQpCi0gCXRoaXNfc2l6ZV9iaXRzID0gbWF4X29mZnNldCAt IG9mZnNldDsKLSAKLUBAIC0xOTkyLDIyICsxOTc1LDIyIEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAo c3RydWN0IHZhbHVlICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotIAkJJiYgcC0+b2Zmc2V0ICsg cC0+c2l6ZSA8IHJlZ19iaXRzKQotIAkgICAgICB7Ci0gCQkvKiBCaWctZW5kaWFuLCBhbmQgd2Ug d2FudCBsZXNzIHRoYW4gZnVsbCBzaXplLiAgKi8KLS0JCWRlc3Rfb2Zmc2V0X2JpdHMgKz0gcmVn X2JpdHMgLSAocC0+b2Zmc2V0ICsgcC0+c2l6ZSk7Ci0rCQliaXRzX3RvX3NraXAgKz0gcmVnX2Jp dHMgLSAocC0+b2Zmc2V0ICsgcC0+c2l6ZSk7Ci0gCSAgICAgIH0KLSAJICAgIGVsc2UKLS0JICAg ICAgZGVzdF9vZmZzZXRfYml0cyArPSBwLT5vZmZzZXQ7Ci0rCSAgICAgIGJpdHNfdG9fc2tpcCAr PSBwLT5vZmZzZXQ7Ci0gCi0tCSAgICB0aGlzX3NpemUgPSBiaXRzX3RvX2J5dGVzIChkZXN0X29m ZnNldF9iaXRzLCB0aGlzX3NpemVfYml0cyk7Ci0rCSAgICB0aGlzX3NpemUgPSBiaXRzX3RvX2J5 dGVzIChiaXRzX3RvX3NraXAsIHRoaXNfc2l6ZV9iaXRzKTsKLSAJICAgIGJ1ZmZlci5yZXNlcnZl ICh0aGlzX3NpemUpOwotIAotLQkgICAgaWYgKGRlc3Rfb2Zmc2V0X2JpdHMgJSA4ICE9IDAgfHwg dGhpc19zaXplX2JpdHMgJSA4ICE9IDApCi0rCSAgICBpZiAoYml0c190b19za2lwICUgOCAhPSAw IHx8IHRoaXNfc2l6ZV9iaXRzICUgOCAhPSAwKQotIAkgICAgICB7Ci0gCQkvKiBEYXRhIGlzIGNv cGllZCBub24tYnl0ZS1hbGlnbmVkIGludG8gdGhlIHJlZ2lzdGVyLgotIAkJICAgTmVlZCBzb21l IGJpdHMgZnJvbSBvcmlnaW5hbCByZWdpc3RlciB2YWx1ZS4gICovCi0gCQlpbnQgb3B0aW0sIHVu YXZhaWw7Ci0gCi0gCQlpZiAoIWdldF9mcmFtZV9yZWdpc3Rlcl9ieXRlcyAoZnJhbWUsIGdkYl9y ZWdudW0sCi0tCQkJCQkgICAgICAgZGVzdF9vZmZzZXRfYml0cyAvIDgsCi0rCQkJCQkgICAgICAg Yml0c190b19za2lwIC8gOCwKLSAJCQkJCSAgICAgICB0aGlzX3NpemUsIGJ1ZmZlci5kYXRhICgp LAotIAkJCQkJICAgICAgICZvcHRpbSwgJnVuYXZhaWwpKQotIAkJICB7Ci1AQCAtMjAyNCwzNCAr MjAwNywzNCBAQCB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdG8sIHN0cnVjdCB2 YWx1ZSAqZnJvbSkKLSAJCSAgfQotIAkgICAgICB9Ci0gCi0tCSAgICBjb3B5X2JpdHdpc2UgKGJ1 ZmZlci5kYXRhICgpLCBkZXN0X29mZnNldF9iaXRzICUgOCwKLS0JCQkgIGNvbnRlbnRzLCBzb3Vy Y2Vfb2Zmc2V0X2JpdHMsCi0rCSAgICBjb3B5X2JpdHdpc2UgKGJ1ZmZlci5kYXRhICgpLCBiaXRz X3RvX3NraXAgJSA4LAotKwkJCSAgY29udGVudHMsIG9mZnNldCwKLSAJCQkgIHRoaXNfc2l6ZV9i aXRzLCBiaXRzX2JpZ19lbmRpYW4pOwotIAkgICAgcHV0X2ZyYW1lX3JlZ2lzdGVyX2J5dGVzIChm cmFtZSwgZ2RiX3JlZ251bSwKLS0JCQkJICAgICAgZGVzdF9vZmZzZXRfYml0cyAvIDgsCi0rCQkJ CSAgICAgIGJpdHNfdG9fc2tpcCAvIDgsCi0gCQkJCSAgICAgIHRoaXNfc2l6ZSwgYnVmZmVyLmRh dGEgKCkpOwotIAkgIH0KLSAJICBicmVhazsKLSAJY2FzZSBEV0FSRl9WQUxVRV9NRU1PUlk6Ci0g CSAgewotLQkgICAgZGVzdF9vZmZzZXRfYml0cyArPSBwLT5vZmZzZXQ7Ci0rCSAgICBiaXRzX3Rv X3NraXAgKz0gcC0+b2Zmc2V0OwotIAotLQkgICAgQ09SRV9BRERSIHN0YXJ0X2FkZHIgPSBwLT52 Lm1lbS5hZGRyICsgZGVzdF9vZmZzZXRfYml0cyAvIDg7Ci0rCSAgICBDT1JFX0FERFIgc3RhcnRf YWRkciA9IHAtPnYubWVtLmFkZHIgKyBiaXRzX3RvX3NraXAgLyA4OwotIAotLQkgICAgaWYgKGRl c3Rfb2Zmc2V0X2JpdHMgJSA4ID09IDAgJiYgdGhpc19zaXplX2JpdHMgJSA4ID09IDAKLS0JCSYm IHNvdXJjZV9vZmZzZXRfYml0cyAlIDggPT0gMCkKLSsJICAgIGlmIChiaXRzX3RvX3NraXAgJSA4 ID09IDAgJiYgdGhpc19zaXplX2JpdHMgJSA4ID09IDAKLSsJCSYmIG9mZnNldCAlIDggPT0gMCkK LSAJICAgICAgewotIAkJLyogRXZlcnl0aGluZyBpcyBieXRlLWFsaWduZWQ7IG5vIGJ1ZmZlciBu ZWVkZWQuICAqLwotIAkJd3JpdGVfbWVtb3J5IChzdGFydF9hZGRyLAotLQkJCSAgICAgIGNvbnRl bnRzICsgc291cmNlX29mZnNldF9iaXRzIC8gOCwKLSsJCQkgICAgICBjb250ZW50cyArIG9mZnNl dCAvIDgsCi0gCQkJICAgICAgdGhpc19zaXplX2JpdHMgLyA4KTsKLSAJCWJyZWFrOwotIAkgICAg ICB9Ci0gCi0tCSAgICB0aGlzX3NpemUgPSBiaXRzX3RvX2J5dGVzIChkZXN0X29mZnNldF9iaXRz LCB0aGlzX3NpemVfYml0cyk7Ci0rCSAgICB0aGlzX3NpemUgPSBiaXRzX3RvX2J5dGVzIChiaXRz X3RvX3NraXAsIHRoaXNfc2l6ZV9iaXRzKTsKLSAJICAgIGJ1ZmZlci5yZXNlcnZlICh0aGlzX3Np emUpOwotIAotLQkgICAgaWYgKGRlc3Rfb2Zmc2V0X2JpdHMgJSA4ICE9IDAgfHwgdGhpc19zaXpl X2JpdHMgJSA4ICE9IDApCi0rCSAgICBpZiAoYml0c190b19za2lwICUgOCAhPSAwIHx8IHRoaXNf c2l6ZV9iaXRzICUgOCAhPSAwKQotIAkgICAgICB7Ci0gCQlpZiAodGhpc19zaXplIDw9IDgpCi0g CQkgIHsKLUBAIC0yMDY4LDggKzIwNTEsOCBAQCB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVjdCB2 YWx1ZSAqdG8sIHN0cnVjdCB2YWx1ZSAqZnJvbSkKLSAJCSAgfQotIAkgICAgICB9Ci0gCi0tCSAg ICBjb3B5X2JpdHdpc2UgKGJ1ZmZlci5kYXRhICgpLCBkZXN0X29mZnNldF9iaXRzICUgOCwKLS0J CQkgIGNvbnRlbnRzLCBzb3VyY2Vfb2Zmc2V0X2JpdHMsCi0rCSAgICBjb3B5X2JpdHdpc2UgKGJ1 ZmZlci5kYXRhICgpLCBiaXRzX3RvX3NraXAgJSA4LAotKwkJCSAgY29udGVudHMsIG9mZnNldCwK LSAJCQkgIHRoaXNfc2l6ZV9iaXRzLCBiaXRzX2JpZ19lbmRpYW4pOwotIAkgICAgd3JpdGVfbWVt b3J5IChzdGFydF9hZGRyLCBidWZmZXIuZGF0YSAoKSwgdGhpc19zaXplKTsKLSAJICB9Ci1AQCAt MjA3OSw2ICsyMDYyLDcgQEAgd3JpdGVfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnRvLCBz dHJ1Y3QgdmFsdWUgKmZyb20pCi0gCSAgYnJlYWs7Ci0gCX0KLSAgICAgICBvZmZzZXQgKz0gdGhp c19zaXplX2JpdHM7Ci0rICAgICAgYml0c190b19za2lwID0gMDsKLSAgICAgfQotIH0KLSAKCmRp ZmYgLS1naXQgYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMjVvZjM1LnBhdGNoIGIvZ2RiLXJoYnox NDIwMzA0LXMzOTB4LTI1b2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg Y2I0ODhmNS4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMjVvZjM1LnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsODIgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVz IDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAy MDAKLVN1YmplY3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0yNW9mMzUucGF0Y2gKLQotRmlsZU5h bWU6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0yNW9mMzUucGF0Y2gKLQotY29tbWl0IDIzZjk0NWJm OGNlYmYzNDgxNTRhZmY0Mzc4MmRlMmUxOTc3ZTkyMzAKLUF1dGhvcjogQW5kcmVhcyBBcm5leiA8 YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotRGF0ZTogICBUdWUgSnVuIDEzIDE1OjIwOjMxIDIw MTcgKzAyMDAKLQotICAgIEZpeCBiaXQtL2J5dGUtb2Zmc2V0IG1pc21hdGNoIGluIHBhcmFtZXRl ciB0byByZWFkX3ZhbHVlX21lbW9yeQotICAgIAotICAgIFRoZSBmdW5jdGlvbiByZWFkX3ZhbHVl X21lbW9yeSBhY2NlcHRzIGEgcGFyYW1ldGVyIGVtYmVkZGVkX29mZnNldCBhbmQKLSAgICBleHBl Y3RzIGl0IHRvIHJlcHJlc2VudCB0aGUgYnl0ZSBvZmZzZXQgaW50byB0aGUgZ2l2ZW4gdmFsdWUu ICBIb3dldmVyLAotICAgIHRoZSBvbmx5IGludm9jYXRpb24gd2l0aCBhIHBvc3NpYmx5IG5vbi16 ZXJvIGVtYmVkZGVkX29mZnNldCBoYXBwZW5zIGluCi0gICAgcmVhZF9waWVjZWRfdmFsdWUsIHdo ZXJlIGEgYml0IG9mZnNldCBpcyBwYXNzZWQgaW5zdGVhZC4KLSAgICAKLSAgICBBZGp1c3QgdGhl IGltcGxlbWVudGF0aW9uIG9mIHJlYWRfdmFsdWVfbWVtb3J5IHRvIG1lZXQgdGhlIGNhbGxlcidz Ci0gICAgZXhwZWN0YXRpb24uICBUaGlzIGltcGxpY2l0bHkgZml4ZXMgdGhlIGludm9jYXRpb24g aW4gcmVhZF9waWVjZWRfdmFsdWUuCi0gICAgCi0gICAgZ2RiL0NoYW5nZUxvZzoKLSAgICAKLSAg ICAgICAgICAgICogdmFsb3BzLmMgKHJlYWRfdmFsdWVfbWVtb3J5KTogQ2hhbmdlIGVtYmVkZGVk X29mZnNldCB0bwotICAgICAgICAgICAgcmVwcmVzZW50IGEgYml0IG9mZnNldCBpbnN0ZWFkIG9m IGEgYnl0ZSBvZmZzZXQuCi0gICAgICAgICAgICAqIHZhbHVlLmggKHJlYWRfdmFsdWVfbWVtb3J5 KTogQWRqdXN0IGNvbW1lbnQuCi0KLSMjIyBhL2dkYi9DaGFuZ2VMb2cKLSMjIyBiL2dkYi9DaGFu Z2VMb2cKLSMjIC0xLDUgKzEsMTEgQEAKLSAyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJu ZXpAbGludXgudm5ldC5pYm0uY29tPgotIAotKwkqIHZhbG9wcy5jIChyZWFkX3ZhbHVlX21lbW9y eSk6IENoYW5nZSBlbWJlZGRlZF9vZmZzZXQgdG8KLSsJcmVwcmVzZW50IGEgYml0IG9mZnNldCBp bnN0ZWFkIG9mIGEgYnl0ZSBvZmZzZXQuCi0rCSogdmFsdWUuaCAocmVhZF92YWx1ZV9tZW1vcnkp OiBBZGp1c3QgY29tbWVudC4KLSsKLSsyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpA bGludXgudm5ldC5pYm0uY29tPgotKwotIAkqIGR3YXJmMmxvYy5jIChyZWFkX3BpZWNlZF92YWx1 ZSk6IFJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZXMKLSAJZGVzdF9vZmZzZXRfYml0cyBhbmQg c291cmNlX29mZnNldF9iaXRzLgotIAkod3JpdGVfcGllY2VkX3ZhbHVlKTogTGlrZXdpc2UuCi0t LS0gYS9nZGIvdmFsb3BzLmMKLSsrKyBiL2dkYi92YWxvcHMuYwotQEAgLTk1OCw3ICs5NTgsNyBA QCB2YWx1ZV9hdF9sYXp5IChzdHJ1Y3QgdHlwZSAqdHlwZSwgQ09SRV9BRERSIGFkZHIpCi0gfQot IAotIHZvaWQKLS1yZWFkX3ZhbHVlX21lbW9yeSAoc3RydWN0IHZhbHVlICp2YWwsIExPTkdFU1Qg ZW1iZWRkZWRfb2Zmc2V0LAotK3JlYWRfdmFsdWVfbWVtb3J5IChzdHJ1Y3QgdmFsdWUgKnZhbCwg TE9OR0VTVCBiaXRfb2Zmc2V0LAotIAkJICAgaW50IHN0YWNrLCBDT1JFX0FERFIgbWVtYWRkciwK LSAJCSAgIGdkYl9ieXRlICpidWZmZXIsIHNpemVfdCBsZW5ndGgpCi0gewotQEAgLTk4NCw4ICs5 ODQsOSBAQCByZWFkX3ZhbHVlX21lbW9yeSAoc3RydWN0IHZhbHVlICp2YWwsIExPTkdFU1QgZW1i ZWRkZWRfb2Zmc2V0LAotICAgICAgIGlmIChzdGF0dXMgPT0gVEFSR0VUX1hGRVJfT0spCi0gCS8q IG5vdGhpbmcgKi87Ci0gICAgICAgZWxzZSBpZiAoc3RhdHVzID09IFRBUkdFVF9YRkVSX1VOQVZB SUxBQkxFKQotLQltYXJrX3ZhbHVlX2J5dGVzX3VuYXZhaWxhYmxlICh2YWwsIGVtYmVkZGVkX29m ZnNldCArIHhmZXJlZF90b3RhbCwKLS0JCQkJICAgICAgeGZlcmVkX3BhcnRpYWwpOwotKwltYXJr X3ZhbHVlX2JpdHNfdW5hdmFpbGFibGUgKHZhbCwgKHhmZXJlZF90b3RhbCAqIEhPU1RfQ0hBUl9C SVQKLSsJCQkJCSAgICsgYml0X29mZnNldCksCi0rCQkJCSAgICAgeGZlcmVkX3BhcnRpYWwgKiBI T1NUX0NIQVJfQklUKTsKLSAgICAgICBlbHNlIGlmIChzdGF0dXMgPT0gVEFSR0VUX1hGRVJfRU9G KQotIAltZW1vcnlfZXJyb3IgKFRBUkdFVF9YRkVSX0VfSU8sIG1lbWFkZHIgKyB4ZmVyZWRfdG90 YWwpOwotICAgICAgIGVsc2UKLS0tLSBhL2dkYi92YWx1ZS5oCi0rKysgYi9nZGIvdmFsdWUuaAot QEAgLTU4MSwxMiArNTgxLDExIEBAIGV4dGVybiBpbnQgdmFsdWVfY29udGVudHNfZXEgKGNvbnN0 IHN0cnVjdCB2YWx1ZSAqdmFsMSwgTE9OR0VTVCBvZmZzZXQxLAotIAotIC8qIFJlYWQgTEVOR1RI IGFkZHJlc3NhYmxlIG1lbW9yeSB1bml0cyBzdGFydGluZyBhdCBNRU1BRERSIGludG8gQlVGRkVS LAotICAgIHdoaWNoIGlzIChvciB3aWxsIGJlIGNvcGllZCB0bykgVkFMJ3MgY29udGVudHMgYnVm ZmVyIG9mZnNldCBieQotLSAgIEVNQkVEREVEX09GRlNFVCAodGhhdCBpcywgdG8gJlZBTC0+Y29u dGVudHNbRU1CRURERURfT0ZGU0VUXSkuCi0tICAgTWFya3MgdmFsdWUgY29udGVudHMgcmFuZ2Vz IGFzIHVuYXZhaWxhYmxlIGlmIHRoZSBjb3JyZXNwb25kaW5nCi0tICAgbWVtb3J5IGlzIGxpa2V3 aXNlIHVuYXZhaWxhYmxlLiAgU1RBQ0sgaW5kaWNhdGVzIHdoZXRoZXIgdGhlIG1lbW9yeQotLSAg IGlzIGtub3duIHRvIGJlIHN0YWNrIG1lbW9yeS4gICovCi0rICAgQklUX09GRlNFVCBiaXRzLiAg TWFya3MgdmFsdWUgY29udGVudHMgcmFuZ2VzIGFzIHVuYXZhaWxhYmxlIGlmCi0rICAgdGhlIGNv cnJlc3BvbmRpbmcgbWVtb3J5IGlzIGxpa2V3aXNlIHVuYXZhaWxhYmxlLiAgU1RBQ0sgaW5kaWNh dGVzCi0rICAgd2hldGhlciB0aGUgbWVtb3J5IGlzIGtub3duIHRvIGJlIHN0YWNrIG1lbW9yeS4g ICovCi0gCi0tZXh0ZXJuIHZvaWQgcmVhZF92YWx1ZV9tZW1vcnkgKHN0cnVjdCB2YWx1ZSAqdmFs LCBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwKLStleHRlcm4gdm9pZCByZWFkX3ZhbHVlX21lbW9y eSAoc3RydWN0IHZhbHVlICp2YWwsIExPTkdFU1QgYml0X29mZnNldCwKLSAJCQkgICAgICAgaW50 IHN0YWNrLCBDT1JFX0FERFIgbWVtYWRkciwKLSAJCQkgICAgICAgZ2RiX2J5dGUgKmJ1ZmZlciwg c2l6ZV90IGxlbmd0aCk7Ci0gCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTI2 b2YzNS5wYXRjaCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0yNm9mMzUucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxMDZhNGYuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDIw MzA0LXMzOTB4LTI2b2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLUZy b206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3 IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5MHgt MjZvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMjZvZjM1LnBh dGNoCi0KLWNvbW1pdCBmNjVlMjA0NDI1YjViNDZhNTkyN2Q5NTAxYzQyZjI1ZDk4YTg2NmNlCi1B dXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAg VHVlIEp1biAxMyAxNToyMDozMiAyMDE3ICswMjAwCi0KLSAgICB3cml0ZV9waWVjZWRfdmFsdWU6 IE5vdGlmeSBtZW1vcnlfY2hhbmdlZCBvYnNlcnZlcnMKLSAgICAKLSAgICBTbyBmYXIgd3JpdGVf cGllY2VkX3ZhbHVlIHVzZXMgd3JpdGVfbWVtb3J5IHdoZW4gd3JpdGluZyBtZW1vcnkgcGllY2Vz IHRvCi0gICAgdGhlIHRhcmdldC4gIEhvd2V2ZXIsIHRoaXMgaXMgYSBjYXNlIHdoZXJlIEdEQiBw b3RlbnRpYWxseSBvdmVyd3JpdGVzIGEKLSAgICB3YXRjaHBvaW50IHZhbHVlLiAgSW4gc3VjaCBh IGNhc2Ugd3JpdGVfbWVtb3J5X3dpdGhfbm90aWZpY2F0aW9uIHNob3VsZCBiZQotICAgIHVzZWQg aW5zdGVhZCwgc28gdGhhdCBtZW1vcnlfY2hhbmdlZCBvYnNlcnZlcnMgZ2V0IG5vdGlmaWVkLgot ICAgIAotICAgIGdkYi9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgICAgICAgICAqIGR3YXJmMmxvYy5j ICh3cml0ZV9waWVjZWRfdmFsdWUpOiBXaGVuIHdyaXRpbmcgdGhlIGRhdGEgZm9yIGEKLSAgICAg ICAgICAgIG1lbW9yeSBwaWVjZSwgdXNlIHdyaXRlX21lbW9yeV93aXRoX25vdGlmaWNhdGlvbiBp bnN0ZWFkIG9mCi0gICAgICAgICAgICB3cml0ZV9tZW1vcnkuCi0KLSMjIyBhL2dkYi9DaGFuZ2VM b2cKLSMjIyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTEgQEAKLSAyMDE3LTA2LTEzICBB bmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAotKwkqIGR3YXJmMmxv Yy5jICh3cml0ZV9waWVjZWRfdmFsdWUpOiBXaGVuIHdyaXRpbmcgdGhlIGRhdGEgZm9yIGEKLSsJ bWVtb3J5IHBpZWNlLCB1c2Ugd3JpdGVfbWVtb3J5X3dpdGhfbm90aWZpY2F0aW9uIGluc3RlYWQg b2YKLSsJd3JpdGVfbWVtb3J5LgotKwotKzIwMTctMDYtMTMgIEFuZHJlYXMgQXJuZXogIDxhcm5l ekBsaW51eC52bmV0LmlibS5jb20+Ci0rCi0gCSogdmFsb3BzLmMgKHJlYWRfdmFsdWVfbWVtb3J5 KTogQ2hhbmdlIGVtYmVkZGVkX29mZnNldCB0bwotIAlyZXByZXNlbnQgYSBiaXQgb2Zmc2V0IGlu c3RlYWQgb2YgYSBieXRlIG9mZnNldC4KLSAJKiB2YWx1ZS5oIChyZWFkX3ZhbHVlX21lbW9yeSk6 IEFkanVzdCBjb21tZW50LgotLS0tIGEvZ2RiL2R3YXJmMmxvYy5jCi0rKysgYi9nZGIvZHdhcmYy bG9jLmMKLUBAIC0yMDI1LDkgKzIwMjUsOSBAQCB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVjdCB2 YWx1ZSAqdG8sIHN0cnVjdCB2YWx1ZSAqZnJvbSkKLSAJCSYmIG9mZnNldCAlIDggPT0gMCkKLSAJ ICAgICAgewotIAkJLyogRXZlcnl0aGluZyBpcyBieXRlLWFsaWduZWQ7IG5vIGJ1ZmZlciBuZWVk ZWQuICAqLwotLQkJd3JpdGVfbWVtb3J5IChzdGFydF9hZGRyLAotLQkJCSAgICAgIGNvbnRlbnRz ICsgb2Zmc2V0IC8gOCwKLS0JCQkgICAgICB0aGlzX3NpemVfYml0cyAvIDgpOwotKwkJd3JpdGVf bWVtb3J5X3dpdGhfbm90aWZpY2F0aW9uIChzdGFydF9hZGRyLAotKwkJCQkJCWNvbnRlbnRzICsg b2Zmc2V0IC8gOCwKLSsJCQkJCQl0aGlzX3NpemVfYml0cyAvIDgpOwotIAkJYnJlYWs7Ci0gCSAg ICAgIH0KLSAKLUBAIC0yMDU0LDcgKzIwNTQsOCBAQCB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVj dCB2YWx1ZSAqdG8sIHN0cnVjdCB2YWx1ZSAqZnJvbSkKLSAJICAgIGNvcHlfYml0d2lzZSAoYnVm ZmVyLmRhdGEgKCksIGJpdHNfdG9fc2tpcCAlIDgsCi0gCQkJICBjb250ZW50cywgb2Zmc2V0LAot IAkJCSAgdGhpc19zaXplX2JpdHMsIGJpdHNfYmlnX2VuZGlhbik7Ci0tCSAgICB3cml0ZV9tZW1v cnkgKHN0YXJ0X2FkZHIsIGJ1ZmZlci5kYXRhICgpLCB0aGlzX3NpemUpOwotKwkgICAgd3JpdGVf bWVtb3J5X3dpdGhfbm90aWZpY2F0aW9uIChzdGFydF9hZGRyLCBidWZmZXIuZGF0YSAoKSwKLSsJ CQkJCSAgICB0aGlzX3NpemUpOwotIAkgIH0KLSAJICBicmVhazsKLSAJZGVmYXVsdDoKCmRpZmYg LS1naXQgYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMjdvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIw MzA0LXMzOTB4LTI3b2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjJm NjRlMi4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMjdvZjM1LnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsNDg3ICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8 aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAw Ci1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMjdvZjM1LnBhdGNoCi0KLUZpbGVOYW1l OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMjdvZjM1LnBhdGNoCi0KLWNvbW1pdCA1NWFjZGYyMjQy MzcyYWU1MmFiYjI1YzgwZGI4ZTc1ZGY1NTc4YjIzCi1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFy bmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgVHVlIEp1biAxMyAxNToyMDozMiAyMDE3 ICswMjAwCi0KLSAgICByZWFkL3dyaXRlX3BpZWNlZF92YWx1ZTogTWVyZ2UgaW50byBvbmUgZnVu Y3Rpb24KLSAgICAKLSAgICBTaW5jZSByZWFkX3BpZWNlZF92YWx1ZSBhbmQgd3JpdGVfcGllY2Vk X3ZhbHVlIHNoYXJlIHNpZ25pZmljYW50IGxvZ2ljLAotICAgIHRoaXMgcGF0Y2ggbWVyZ2VzIHRo ZW0gaW50byBhIHNpbmdsZSBmdW5jdGlvbiByd19waWVjZWRfdmFsdWUuCi0gICAgCi0gICAgZ2Ri L0NoYW5nZUxvZzoKLSAgICAKLSAgICAgICAgICAgICogZHdhcmYybG9jLmMgKHJ3X3BpZWNlZF92 YWx1ZSk6IE5ldy4gIE1lcmdlIGxvZ2ljIGZyb20uLi4KLSAgICAgICAgICAgIChyZWFkX3BpZWNl ZF92YWx1ZSwgd3JpdGVfcGllY2VkX3ZhbHVlKTogLi4uaGVyZS4gIFJlZHVjZSB0bwotICAgICAg ICAgICAgd3JhcHBlcnMgdGhhdCBqdXN0IGNhbGwgcndfcGllY2VkX3ZhbHVlLgotCi0jIyMgYS9n ZGIvQ2hhbmdlTG9nCi0jIyMgYi9nZGIvQ2hhbmdlTG9nCi0jIyAtMSw1ICsxLDExIEBACi0gMjAx Ny0wNi0xMyAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAKLSsJ KiBkd2FyZjJsb2MuYyAocndfcGllY2VkX3ZhbHVlKTogTmV3LiAgTWVyZ2UgbG9naWMgZnJvbS4u LgotKwkocmVhZF9waWVjZWRfdmFsdWUsIHdyaXRlX3BpZWNlZF92YWx1ZSk6IC4uLmhlcmUuICBS ZWR1Y2UgdG8KLSsJd3JhcHBlcnMgdGhhdCBqdXN0IGNhbGwgcndfcGllY2VkX3ZhbHVlLgotKwot KzIwMTctMDYtMTMgIEFuZHJlYXMgQXJuZXogIDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci0r Ci0gCSogZHdhcmYybG9jLmMgKHdyaXRlX3BpZWNlZF92YWx1ZSk6IFdoZW4gd3JpdGluZyB0aGUg ZGF0YSBmb3IgYQotIAltZW1vcnkgcGllY2UsIHVzZSB3cml0ZV9tZW1vcnlfd2l0aF9ub3RpZmlj YXRpb24gaW5zdGVhZCBvZgotIAl3cml0ZV9tZW1vcnkuCi0tLS0gYS9nZGIvZHdhcmYybG9jLmMK LSsrKyBiL2dkYi9kd2FyZjJsb2MuYwotQEAgLTE3NjEsMzEgKzE3NjEsNTUgQEAgYml0c190b19i eXRlcyAoVUxPTkdFU1Qgc3RhcnQsIFVMT05HRVNUIG5fYml0cykKLSAgIHJldHVybiAoc3RhcnQg JSA4ICsgbl9iaXRzICsgNykgLyA4OwotIH0KLSAKLSsvKiBSZWFkIG9yIHdyaXRlIGEgcGllY2Vk IHZhbHVlIFYuICBJZiBGUk9NICE9IE5VTEwsIG9wZXJhdGUgaW4gIndyaXRlCi0rICAgbW9kZSI6 IGNvcHkgRlJPTSBpbnRvIHRoZSBwaWVjZXMgY29tcHJpc2luZyBWLiAgSWYgRlJPTSA9PSBOVUxM LAotKyAgIG9wZXJhdGUgaW4gInJlYWQgbW9kZSI6IGZldGNoIHRoZSBjb250ZW50cyBvZiB0aGUg KGxhenkpIHZhbHVlIFYgYnkKLSsgICBjb21wb3NpbmcgaXQgZnJvbSBpdHMgcGllY2VzLiAgKi8K LSsKLSBzdGF0aWMgdm9pZAotLXJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYpCi0r cndfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYsIHN0cnVjdCB2YWx1ZSAqZnJvbSkKLSB7 Ci0gICBpbnQgaTsKLSAgIExPTkdFU1Qgb2Zmc2V0ID0gMCwgbWF4X29mZnNldDsKLSAgIFVMT05H RVNUIGJpdHNfdG9fc2tpcDsKLS0gIGdkYl9ieXRlICpjb250ZW50czsKLSsgIGdkYl9ieXRlICp2 X2NvbnRlbnRzOwotKyAgY29uc3QgZ2RiX2J5dGUgKmZyb21fY29udGVudHM7Ci0gICBzdHJ1Y3Qg cGllY2VfY2xvc3VyZSAqYwotICAgICA9IChzdHJ1Y3QgcGllY2VfY2xvc3VyZSAqKSB2YWx1ZV9j b21wdXRlZF9jbG9zdXJlICh2KTsKLSAgIHN0ZDo6dmVjdG9yPGdkYl9ieXRlPiBidWZmZXI7Ci0g ICBpbnQgYml0c19iaWdfZW5kaWFuCi0gICAgID0gZ2RiYXJjaF9iaXRzX2JpZ19lbmRpYW4gKGdl dF90eXBlX2FyY2ggKHZhbHVlX3R5cGUgKHYpKSk7Ci0gCi0tICBpZiAodmFsdWVfdHlwZSAodikg IT0gdmFsdWVfZW5jbG9zaW5nX3R5cGUgKHYpKQotLSAgICBpbnRlcm5hbF9lcnJvciAoX19GSUxF X18sIF9fTElORV9fLAotLQkJICAgIF8oIlNob3VsZCBub3QgYmUgYWJsZSB0byBjcmVhdGUgYSBs YXp5IHZhbHVlIHdpdGggIgotLQkJICAgICAgImFuIGVuY2xvc2luZyB0eXBlIikpOwotKyAgaWYg KGZyb20gIT0gTlVMTCkKLSsgICAgewotKyAgICAgIGZyb21fY29udGVudHMgPSB2YWx1ZV9jb250 ZW50cyAoZnJvbSk7Ci0rICAgICAgdl9jb250ZW50cyA9IE5VTEw7Ci0rICAgIH0KLSsgIGVsc2UK LSsgICAgewotKyAgICAgIGlmICh2YWx1ZV90eXBlICh2KSAhPSB2YWx1ZV9lbmNsb3NpbmdfdHlw ZSAodikpCi0rCWludGVybmFsX2Vycm9yIChfX0ZJTEVfXywgX19MSU5FX18sCi0rCQkJXygiU2hv dWxkIG5vdCBiZSBhYmxlIHRvIGNyZWF0ZSBhIGxhenkgdmFsdWUgd2l0aCAiCi0rCQkJICAiYW4g ZW5jbG9zaW5nIHR5cGUiKSk7Ci0rICAgICAgdl9jb250ZW50cyA9IHZhbHVlX2NvbnRlbnRzX3Jh dyAodik7Ci0rICAgICAgZnJvbV9jb250ZW50cyA9IE5VTEw7Ci0rICAgIH0KLSAKLS0gIGNvbnRl bnRzID0gdmFsdWVfY29udGVudHNfcmF3ICh2KTsKLSAgIGJpdHNfdG9fc2tpcCA9IDggKiB2YWx1 ZV9vZmZzZXQgKHYpOwotICAgaWYgKHZhbHVlX2JpdHNpemUgKHYpKQotICAgICB7Ci0gICAgICAg Yml0c190b19za2lwICs9ICg4ICogdmFsdWVfb2Zmc2V0ICh2YWx1ZV9wYXJlbnQgKHYpKQotIAkJ ICAgICAgICsgdmFsdWVfYml0cG9zICh2KSk7Ci0tICAgICAgbWF4X29mZnNldCA9IHZhbHVlX2Jp dHNpemUgKHYpOwotKyAgICAgIGlmIChmcm9tICE9IE5VTEwKLSsJICAmJiAoZ2RiYXJjaF9ieXRl X29yZGVyIChnZXRfdHlwZV9hcmNoICh2YWx1ZV90eXBlIChmcm9tKSkpCi0rCSAgICAgID09IEJG RF9FTkRJQU5fQklHKSkKLSsJewotKwkgIC8qIFVzZSB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0 cyBvZiBGUk9NLiAgKi8KLSsJICBtYXhfb2Zmc2V0ID0gOCAqIFRZUEVfTEVOR1RIICh2YWx1ZV90 eXBlIChmcm9tKSk7Ci0rCSAgb2Zmc2V0ID0gbWF4X29mZnNldCAtIHZhbHVlX2JpdHNpemUgKHYp OwotKwl9Ci0rICAgICAgZWxzZQotKwltYXhfb2Zmc2V0ID0gdmFsdWVfYml0c2l6ZSAodik7Ci0g ICAgIH0KLSAgIGVsc2UKLSAgICAgbWF4X29mZnNldCA9IDggKiBUWVBFX0xFTkdUSCAodmFsdWVf dHlwZSAodikpOwotQEAgLTE3OTcsMTMgKzE4MjEsMTIgQEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0 cnVjdCB2YWx1ZSAqdikKLSAgIGZvciAoOyBpIDwgYy0+bl9waWVjZXMgJiYgb2Zmc2V0IDwgbWF4 X29mZnNldDsgaSsrKQotICAgICB7Ci0gICAgICAgc3RydWN0IGR3YXJmX2V4cHJfcGllY2UgKnAg PSAmYy0+cGllY2VzW2ldOwotLSAgICAgIHNpemVfdCB0aGlzX3NpemUsIHRoaXNfc2l6ZV9iaXRz OwotKyAgICAgIHNpemVfdCB0aGlzX3NpemVfYml0cywgdGhpc19zaXplOwotIAotICAgICAgIHRo aXNfc2l6ZV9iaXRzID0gcC0+c2l6ZSAtIGJpdHNfdG9fc2tpcDsKLSAgICAgICBpZiAodGhpc19z aXplX2JpdHMgPiBtYXhfb2Zmc2V0IC0gb2Zmc2V0KQotIAl0aGlzX3NpemVfYml0cyA9IG1heF9v ZmZzZXQgLSBvZmZzZXQ7Ci0gCi0tICAgICAgLyogQ29weSBmcm9tIHRoZSBzb3VyY2UgdG8gREVT VF9CVUZGRVIuICAqLwotICAgICAgIHN3aXRjaCAocC0+bG9jYXRpb24pCi0gCXsKLSAJY2FzZSBE V0FSRl9WQUxVRV9SRUdJU1RFUjoKLUBAIC0xODI2LDM5ICsxODQ5LDEzNyBAQCByZWFkX3BpZWNl ZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotIAkgICAgdGhpc19zaXplID0gYml0c190b19ieXRl cyAoYml0c190b19za2lwLCB0aGlzX3NpemVfYml0cyk7Ci0gCSAgICBidWZmZXIucmVzZXJ2ZSAo dGhpc19zaXplKTsKLSAKLS0JICAgIGlmICghZ2V0X2ZyYW1lX3JlZ2lzdGVyX2J5dGVzIChmcmFt ZSwgZ2RiX3JlZ251bSwKLS0JCQkJCSAgIGJpdHNfdG9fc2tpcCAvIDgsCi0tCQkJCQkgICB0aGlz X3NpemUsIGJ1ZmZlci5kYXRhICgpLAotLQkJCQkJICAgJm9wdGltLCAmdW5hdmFpbCkpCi0rCSAg ICBpZiAoZnJvbSA9PSBOVUxMKQotIAkgICAgICB7Ci0tCQlpZiAob3B0aW0pCi0tCQkgIG1hcmtf dmFsdWVfYml0c19vcHRpbWl6ZWRfb3V0ICh2LCBvZmZzZXQsIHRoaXNfc2l6ZV9iaXRzKTsKLS0J CWlmICh1bmF2YWlsKQotLQkJICBtYXJrX3ZhbHVlX2JpdHNfdW5hdmFpbGFibGUgKHYsIG9mZnNl dCwgdGhpc19zaXplX2JpdHMpOwotLQkJYnJlYWs7Ci0rCQkvKiBSZWFkIG1vZGUuICAqLwotKwkJ aWYgKCFnZXRfZnJhbWVfcmVnaXN0ZXJfYnl0ZXMgKGZyYW1lLCBnZGJfcmVnbnVtLAotKwkJCQkJ ICAgICAgIGJpdHNfdG9fc2tpcCAvIDgsCi0rCQkJCQkgICAgICAgdGhpc19zaXplLCBidWZmZXIu ZGF0YSAoKSwKLSsJCQkJCSAgICAgICAmb3B0aW0sICZ1bmF2YWlsKSkKLSsJCSAgewotKwkJICAg IGlmIChvcHRpbSkKLSsJCSAgICAgIG1hcmtfdmFsdWVfYml0c19vcHRpbWl6ZWRfb3V0ICh2LCBv ZmZzZXQsCi0rCQkJCQkJICAgICB0aGlzX3NpemVfYml0cyk7Ci0rCQkgICAgaWYgKHVuYXZhaWwp Ci0rCQkgICAgICBtYXJrX3ZhbHVlX2JpdHNfdW5hdmFpbGFibGUgKHYsIG9mZnNldCwKLSsJCQkJ CQkgICB0aGlzX3NpemVfYml0cyk7Ci0rCQkgICAgYnJlYWs7Ci0rCQkgIH0KLSsKLSsJCWNvcHlf Yml0d2lzZSAodl9jb250ZW50cywgb2Zmc2V0LAotKwkJCSAgICAgIGJ1ZmZlci5kYXRhICgpLCBi aXRzX3RvX3NraXAgJSA4LAotKwkJCSAgICAgIHRoaXNfc2l6ZV9iaXRzLCBiaXRzX2JpZ19lbmRp YW4pOwotKwkgICAgICB9Ci0rCSAgICBlbHNlCi0rCSAgICAgIHsKLSsJCS8qIFdyaXRlIG1vZGUu ICAqLwotKwkJaWYgKGJpdHNfdG9fc2tpcCAlIDggIT0gMCB8fCB0aGlzX3NpemVfYml0cyAlIDgg IT0gMCkKLSsJCSAgewotKwkJICAgIC8qIERhdGEgaXMgY29waWVkIG5vbi1ieXRlLWFsaWduZWQg aW50byB0aGUgcmVnaXN0ZXIuCi0rCQkgICAgICAgTmVlZCBzb21lIGJpdHMgZnJvbSBvcmlnaW5h bCByZWdpc3RlciB2YWx1ZS4gICovCi0rCQkgICAgZ2V0X2ZyYW1lX3JlZ2lzdGVyX2J5dGVzIChm cmFtZSwgZ2RiX3JlZ251bSwKLSsJCQkJCSAgICAgIGJpdHNfdG9fc2tpcCAvIDgsCi0rCQkJCQkg ICAgICB0aGlzX3NpemUsIGJ1ZmZlci5kYXRhICgpLAotKwkJCQkJICAgICAgJm9wdGltLCAmdW5h dmFpbCk7Ci0rCQkgICAgaWYgKG9wdGltKQotKwkJICAgICAgdGhyb3dfZXJyb3IgKE9QVElNSVpF RF9PVVRfRVJST1IsCi0rCQkJCSAgIF8oIkNhbid0IGRvIHJlYWQtbW9kaWZ5LXdyaXRlIHRvICIK LSsJCQkJICAgICAidXBkYXRlIGJpdGZpZWxkOyBjb250YWluaW5nIHdvcmQgIgotKwkJCQkgICAg ICJoYXMgYmVlbiBvcHRpbWl6ZWQgb3V0IikpOwotKwkJICAgIGlmICh1bmF2YWlsKQotKwkJICAg ICAgdGhyb3dfZXJyb3IgKE5PVF9BVkFJTEFCTEVfRVJST1IsCi0rCQkJCSAgIF8oIkNhbid0IGRv IHJlYWQtbW9kaWZ5LXdyaXRlIHRvICIKLSsJCQkJICAgICAidXBkYXRlIGJpdGZpZWxkOyBjb250 YWluaW5nIHdvcmQgIgotKwkJCQkgICAgICJpcyB1bmF2YWlsYWJsZSIpKTsKLSsJCSAgfQotKwot KwkJY29weV9iaXR3aXNlIChidWZmZXIuZGF0YSAoKSwgYml0c190b19za2lwICUgOCwKLSsJCQkg ICAgICBmcm9tX2NvbnRlbnRzLCBvZmZzZXQsCi0rCQkJICAgICAgdGhpc19zaXplX2JpdHMsIGJp dHNfYmlnX2VuZGlhbik7Ci0rCQlwdXRfZnJhbWVfcmVnaXN0ZXJfYnl0ZXMgKGZyYW1lLCBnZGJf cmVnbnVtLAotKwkJCQkJICBiaXRzX3RvX3NraXAgLyA4LAotKwkJCQkJICB0aGlzX3NpemUsIGJ1 ZmZlci5kYXRhICgpKTsKLSAJICAgICAgfQotLQkgICAgY29weV9iaXR3aXNlIChjb250ZW50cywg b2Zmc2V0LAotLQkJCSAgYnVmZmVyLmRhdGEgKCksIGJpdHNfdG9fc2tpcCAlIDgsCi0tCQkJICB0 aGlzX3NpemVfYml0cywgYml0c19iaWdfZW5kaWFuKTsKLSAJICB9Ci0gCSAgYnJlYWs7Ci0gCi0g CWNhc2UgRFdBUkZfVkFMVUVfTUVNT1JZOgotLQkgIGJpdHNfdG9fc2tpcCArPSBwLT5vZmZzZXQ7 Ci0tCSAgdGhpc19zaXplID0gYml0c190b19ieXRlcyAoYml0c190b19za2lwLCB0aGlzX3NpemVf Yml0cyk7Ci0tCSAgYnVmZmVyLnJlc2VydmUgKHRoaXNfc2l6ZSk7Ci0tCi0tCSAgcmVhZF92YWx1 ZV9tZW1vcnkgKHYsIG9mZnNldCwKLS0JCQkgICAgIHAtPnYubWVtLmluX3N0YWNrX21lbW9yeSwK LS0JCQkgICAgIHAtPnYubWVtLmFkZHIgKyBiaXRzX3RvX3NraXAgLyA4LAotLQkJCSAgICAgYnVm ZmVyLmRhdGEgKCksIHRoaXNfc2l6ZSk7Ci0tCSAgY29weV9iaXR3aXNlIChjb250ZW50cywgb2Zm c2V0LAotLQkJCWJ1ZmZlci5kYXRhICgpLCBiaXRzX3RvX3NraXAgJSA4LAotLQkJCXRoaXNfc2l6 ZV9iaXRzLCBiaXRzX2JpZ19lbmRpYW4pOwotKwkgIHsKLSsJICAgIGJpdHNfdG9fc2tpcCArPSBw LT5vZmZzZXQ7Ci0rCi0rCSAgICBDT1JFX0FERFIgc3RhcnRfYWRkciA9IHAtPnYubWVtLmFkZHIg KyBiaXRzX3RvX3NraXAgLyA4OwotKwotKwkgICAgaWYgKGJpdHNfdG9fc2tpcCAlIDggPT0gMCAm JiB0aGlzX3NpemVfYml0cyAlIDggPT0gMAotKwkJJiYgb2Zmc2V0ICUgOCA9PSAwKQotKwkgICAg ICB7Ci0rCQkvKiBFdmVyeXRoaW5nIGlzIGJ5dGUtYWxpZ25lZDsgbm8gYnVmZmVyIG5lZWRlZC4g ICovCi0rCQlpZiAoZnJvbSAhPSBOVUxMKQotKwkJICB3cml0ZV9tZW1vcnlfd2l0aF9ub3RpZmlj YXRpb24gKHN0YXJ0X2FkZHIsCi0rCQkJCQkJICAoZnJvbV9jb250ZW50cwotKwkJCQkJCSAgICsg b2Zmc2V0IC8gOCksCi0rCQkJCQkJICB0aGlzX3NpemVfYml0cyAvIDgpOwotKwkJZWxzZQotKwkJ ICByZWFkX3ZhbHVlX21lbW9yeSAodiwgb2Zmc2V0LAotKwkJCQkgICAgIHAtPnYubWVtLmluX3N0 YWNrX21lbW9yeSwKLSsJCQkJICAgICBwLT52Lm1lbS5hZGRyICsgYml0c190b19za2lwIC8gOCwK LSsJCQkJICAgICB2X2NvbnRlbnRzICsgb2Zmc2V0IC8gOCwKLSsJCQkJICAgICB0aGlzX3NpemVf Yml0cyAvIDgpOwotKwkJYnJlYWs7Ci0rCSAgICAgIH0KLSsKLSsJICAgIHRoaXNfc2l6ZSA9IGJp dHNfdG9fYnl0ZXMgKGJpdHNfdG9fc2tpcCwgdGhpc19zaXplX2JpdHMpOwotKwkgICAgYnVmZmVy LnJlc2VydmUgKHRoaXNfc2l6ZSk7Ci0rCi0rCSAgICBpZiAoZnJvbSA9PSBOVUxMKQotKwkgICAg ICB7Ci0rCQkvKiBSZWFkIG1vZGUuICAqLwotKwkJcmVhZF92YWx1ZV9tZW1vcnkgKHYsIG9mZnNl dCwKLSsJCQkJICAgcC0+di5tZW0uaW5fc3RhY2tfbWVtb3J5LAotKwkJCQkgICBwLT52Lm1lbS5h ZGRyICsgYml0c190b19za2lwIC8gOCwKLSsJCQkJICAgYnVmZmVyLmRhdGEgKCksIHRoaXNfc2l6 ZSk7Ci0rCQljb3B5X2JpdHdpc2UgKHZfY29udGVudHMsIG9mZnNldCwKLSsJCQkgICAgICBidWZm ZXIuZGF0YSAoKSwgYml0c190b19za2lwICUgOCwKLSsJCQkgICAgICB0aGlzX3NpemVfYml0cywg Yml0c19iaWdfZW5kaWFuKTsKLSsJICAgICAgfQotKwkgICAgZWxzZQotKwkgICAgICB7Ci0rCQkv KiBXcml0ZSBtb2RlLiAgKi8KLSsJCWlmIChiaXRzX3RvX3NraXAgJSA4ICE9IDAgfHwgdGhpc19z aXplX2JpdHMgJSA4ICE9IDApCi0rCQkgIHsKLSsJCSAgICBpZiAodGhpc19zaXplIDw9IDgpCi0r CQkgICAgICB7Ci0rCQkJLyogUGVyZm9ybSBhIHNpbmdsZSByZWFkIGZvciBzbWFsbCBzaXplcy4g ICovCi0rCQkJcmVhZF9tZW1vcnkgKHN0YXJ0X2FkZHIsIGJ1ZmZlci5kYXRhICgpLAotKwkJCQkg ICAgIHRoaXNfc2l6ZSk7Ci0rCQkgICAgICB9Ci0rCQkgICAgZWxzZQotKwkJICAgICAgewotKwkJ CS8qIE9ubHkgdGhlIGZpcnN0IGFuZCBsYXN0IGJ5dGVzIGNhbiBwb3NzaWJseSBoYXZlCi0rCQkJ ICAgYW55IGJpdHMgcmV1c2VkLiAgKi8KLSsJCQlyZWFkX21lbW9yeSAoc3RhcnRfYWRkciwgYnVm ZmVyLmRhdGEgKCksIDEpOwotKwkJCXJlYWRfbWVtb3J5IChzdGFydF9hZGRyICsgdGhpc19zaXpl IC0gMSwKLSsJCQkJICAgICAmYnVmZmVyW3RoaXNfc2l6ZSAtIDFdLCAxKTsKLSsJCSAgICAgIH0K LSsJCSAgfQotKwotKwkJY29weV9iaXR3aXNlIChidWZmZXIuZGF0YSAoKSwgYml0c190b19za2lw ICUgOCwKLSsJCQkgICAgICBmcm9tX2NvbnRlbnRzLCBvZmZzZXQsCi0rCQkJICAgICAgdGhpc19z aXplX2JpdHMsIGJpdHNfYmlnX2VuZGlhbik7Ci0rCQl3cml0ZV9tZW1vcnlfd2l0aF9ub3RpZmlj YXRpb24gKHN0YXJ0X2FkZHIsCi0rCQkJCQkJYnVmZmVyLmRhdGEgKCksCi0rCQkJCQkJdGhpc19z aXplKTsKLSsJICAgICAgfQotKwkgIH0KLSAJICBicmVhazsKLSAKLSAJY2FzZSBEV0FSRl9WQUxV RV9TVEFDSzoKLSAJICB7Ci0rCSAgICBpZiAoZnJvbSAhPSBOVUxMKQotKwkgICAgICB7Ci0rCQlt YXJrX3ZhbHVlX2JpdHNfb3B0aW1pemVkX291dCAodiwgb2Zmc2V0LCB0aGlzX3NpemVfYml0cyk7 Ci0rCQlicmVhazsKLSsJICAgICAgfQotKwotIAkgICAgc3RydWN0IG9iamZpbGUgKm9iamZpbGUg PSBkd2FyZjJfcGVyX2N1X29iamZpbGUgKGMtPnBlcl9jdSk7Ci0gCSAgICBzdHJ1Y3QgZ2RiYXJj aCAqb2JqZmlsZV9nZGJhcmNoID0gZ2V0X29iamZpbGVfYXJjaCAob2JqZmlsZSk7Ci0gCSAgICBV TE9OR0VTVCBzdGFja192YWx1ZV9zaXplX2JpdHMKLUBAIC0xODc0LDcgKzE5OTUsNyBAQCByZWFk X3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotIAkgICAgZWxzZQotIAkgICAgICBiaXRz X3RvX3NraXAgKz0gcC0+b2Zmc2V0OwotIAotLQkgICAgY29weV9iaXR3aXNlIChjb250ZW50cywg b2Zmc2V0LAotKwkgICAgY29weV9iaXR3aXNlICh2X2NvbnRlbnRzLCBvZmZzZXQsCi0gCQkJICB2 YWx1ZV9jb250ZW50c19hbGwgKHAtPnYudmFsdWUpLAotIAkJCSAgYml0c190b19za2lwLAotIAkJ CSAgdGhpc19zaXplX2JpdHMsIGJpdHNfYmlnX2VuZGlhbik7Ci1AQCAtMTg4Myw2ICsyMDA0LDEy IEBAIHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYpCi0gCi0gCWNhc2UgRFdBUkZf VkFMVUVfTElURVJBTDoKLSAJICB7Ci0rCSAgICBpZiAoZnJvbSAhPSBOVUxMKQotKwkgICAgICB7 Ci0rCQltYXJrX3ZhbHVlX2JpdHNfb3B0aW1pemVkX291dCAodiwgb2Zmc2V0LCB0aGlzX3NpemVf Yml0cyk7Ci0rCQlicmVhazsKLSsJICAgICAgfQotKwotIAkgICAgVUxPTkdFU1QgbGl0ZXJhbF9z aXplX2JpdHMgPSA4ICogcC0+di5saXRlcmFsLmxlbmd0aDsKLSAJICAgIHNpemVfdCBuID0gdGhp c19zaXplX2JpdHM7Ci0gCi1AQCAtMTg5MywxNSArMjAyMCwyMSBAQCByZWFkX3BpZWNlZF92YWx1 ZSAoc3RydWN0IHZhbHVlICp2KQotIAkgICAgaWYgKG4gPiBsaXRlcmFsX3NpemVfYml0cyAtIGJp dHNfdG9fc2tpcCkKLSAJICAgICAgbiA9IGxpdGVyYWxfc2l6ZV9iaXRzIC0gYml0c190b19za2lw OwotIAotLQkgICAgY29weV9iaXR3aXNlIChjb250ZW50cywgb2Zmc2V0LAotKwkgICAgY29weV9i aXR3aXNlICh2X2NvbnRlbnRzLCBvZmZzZXQsCi0gCQkJICBwLT52LmxpdGVyYWwuZGF0YSwgYml0 c190b19za2lwLAotIAkJCSAgbiwgYml0c19iaWdfZW5kaWFuKTsKLSAJICB9Ci0gCSAgYnJlYWs7 Ci0gCi0tCSAgLyogVGhlc2UgYml0cyBzaG93IHVwIGFzIHplcm9zIC0tIGJ1dCBkbyBub3QgY2F1 c2UgdGhlIHZhbHVlCi0tCSAgICAgdG8gYmUgY29uc2lkZXJlZCBvcHRpbWl6ZWQtb3V0LiAgKi8K LSAJY2FzZSBEV0FSRl9WQUxVRV9JTVBMSUNJVF9QT0lOVEVSOgotKwkgICAgaWYgKGZyb20gIT0g TlVMTCkKLSsJICAgICAgewotKwkJbWFya192YWx1ZV9iaXRzX29wdGltaXplZF9vdXQgKHYsIG9m ZnNldCwgdGhpc19zaXplX2JpdHMpOwotKwkJYnJlYWs7Ci0rCSAgICAgIH0KLSsKLSsJICAvKiBU aGVzZSBiaXRzIHNob3cgdXAgYXMgemVyb3MgLS0gYnV0IGRvIG5vdCBjYXVzZSB0aGUgdmFsdWUg dG8KLSsJICAgICBiZSBjb25zaWRlcmVkIG9wdGltaXplZC1vdXQuICAqLwotIAkgIGJyZWFrOwot IAotIAljYXNlIERXQVJGX1ZBTFVFX09QVElNSVpFRF9PVVQ6Ci1AQCAtMTkxNywxNTQgKzIwNTAs MTcgQEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdikKLSAgICAgfQotIH0KLSAK LSsKLSBzdGF0aWMgdm9pZAotLXdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywg c3RydWN0IHZhbHVlICpmcm9tKQotK3JlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYp Ci0gewotLSAgaW50IGk7Ci0tICBVTE9OR0VTVCBiaXRzX3RvX3NraXA7Ci0tICBMT05HRVNUIG9m ZnNldCA9IDAsIG1heF9vZmZzZXQ7Ci0tICBjb25zdCBnZGJfYnl0ZSAqY29udGVudHM7Ci0tICBz dHJ1Y3QgcGllY2VfY2xvc3VyZSAqYwotLSAgICA9IChzdHJ1Y3QgcGllY2VfY2xvc3VyZSAqKSB2 YWx1ZV9jb21wdXRlZF9jbG9zdXJlICh0byk7Ci0tICBzdGQ6OnZlY3RvcjxnZGJfYnl0ZT4gYnVm ZmVyOwotLSAgaW50IGJpdHNfYmlnX2VuZGlhbgotLSAgICA9IGdkYmFyY2hfYml0c19iaWdfZW5k aWFuIChnZXRfdHlwZV9hcmNoICh2YWx1ZV90eXBlICh0bykpKTsKLS0KLS0gIGNvbnRlbnRzID0g dmFsdWVfY29udGVudHMgKGZyb20pOwotLSAgYml0c190b19za2lwID0gOCAqIHZhbHVlX29mZnNl dCAodG8pOwotLSAgaWYgKHZhbHVlX2JpdHNpemUgKHRvKSkKLS0gICAgewotLSAgICAgIGJpdHNf dG9fc2tpcCArPSAoOCAqIHZhbHVlX29mZnNldCAodmFsdWVfcGFyZW50ICh0bykpCi0tCQkgICAg ICAgKyB2YWx1ZV9iaXRwb3MgKHRvKSk7Ci0tICAgICAgLyogVXNlIHRoZSBsZWFzdCBzaWduaWZp Y2FudCBiaXRzIG9mIEZST00uICAqLwotLSAgICAgIGlmIChnZGJhcmNoX2J5dGVfb3JkZXIgKGdl dF90eXBlX2FyY2ggKHZhbHVlX3R5cGUgKGZyb20pKSkKLS0JICA9PSBCRkRfRU5ESUFOX0JJRykK LS0JewotLQkgIG1heF9vZmZzZXQgPSA4ICogVFlQRV9MRU5HVEggKHZhbHVlX3R5cGUgKGZyb20p KTsKLS0JICBvZmZzZXQgPSBtYXhfb2Zmc2V0IC0gdmFsdWVfYml0c2l6ZSAodG8pOwotLQl9Ci0t ICAgICAgZWxzZQotLQltYXhfb2Zmc2V0ID0gdmFsdWVfYml0c2l6ZSAodG8pOwotLSAgIH0KLS0g IGVsc2UKLS0gICAgbWF4X29mZnNldCA9IDggKiBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAodG8p KTsKLS0KLS0gIC8qIEFkdmFuY2UgdG8gdGhlIGZpcnN0IG5vbi1za2lwcGVkIHBpZWNlLiAgKi8K LS0gIGZvciAoaSA9IDA7IGkgPCBjLT5uX3BpZWNlcyAmJiBiaXRzX3RvX3NraXAgPj0gYy0+cGll Y2VzW2ldLnNpemU7IGkrKykKLS0gICAgYml0c190b19za2lwIC09IGMtPnBpZWNlc1tpXS5zaXpl OwotLQotLSAgZm9yICg7IGkgPCBjLT5uX3BpZWNlcyAmJiBvZmZzZXQgPCBtYXhfb2Zmc2V0OyBp KyspCi0tICAgIHsKLS0gICAgICBzdHJ1Y3QgZHdhcmZfZXhwcl9waWVjZSAqcCA9ICZjLT5waWVj ZXNbaV07Ci0tICAgICAgc2l6ZV90IHRoaXNfc2l6ZV9iaXRzLCB0aGlzX3NpemU7Ci0tCi0tICAg ICAgdGhpc19zaXplX2JpdHMgPSBwLT5zaXplIC0gYml0c190b19za2lwOwotLSAgICAgIGlmICh0 aGlzX3NpemVfYml0cyA+IG1heF9vZmZzZXQgLSBvZmZzZXQpCi0tCXRoaXNfc2l6ZV9iaXRzID0g bWF4X29mZnNldCAtIG9mZnNldDsKLS0KLS0gICAgICBzd2l0Y2ggKHAtPmxvY2F0aW9uKQotLQl7 Ci0tCWNhc2UgRFdBUkZfVkFMVUVfUkVHSVNURVI6Ci0tCSAgewotLQkgICAgc3RydWN0IGZyYW1l X2luZm8gKmZyYW1lID0gZnJhbWVfZmluZF9ieV9pZCAoYy0+ZnJhbWVfaWQpOwotLQkgICAgc3Ry dWN0IGdkYmFyY2ggKmFyY2ggPSBnZXRfZnJhbWVfYXJjaCAoZnJhbWUpOwotLQkgICAgaW50IGdk Yl9yZWdudW0gPSBkd2FyZl9yZWdfdG9fcmVnbnVtX29yX2Vycm9yIChhcmNoLCBwLT52LnJlZ25v KTsKLS0JICAgIFVMT05HRVNUIHJlZ19iaXRzID0gOCAqIHJlZ2lzdGVyX3NpemUgKGFyY2gsIGdk Yl9yZWdudW0pOwotLQotLQkgICAgaWYgKGdkYmFyY2hfYnl0ZV9vcmRlciAoYXJjaCkgPT0gQkZE X0VORElBTl9CSUcKLS0JCSYmIHAtPm9mZnNldCArIHAtPnNpemUgPCByZWdfYml0cykKLS0JICAg ICAgewotLQkJLyogQmlnLWVuZGlhbiwgYW5kIHdlIHdhbnQgbGVzcyB0aGFuIGZ1bGwgc2l6ZS4g ICovCi0tCQliaXRzX3RvX3NraXAgKz0gcmVnX2JpdHMgLSAocC0+b2Zmc2V0ICsgcC0+c2l6ZSk7 Ci0tCSAgICAgIH0KLS0JICAgIGVsc2UKLS0JICAgICAgYml0c190b19za2lwICs9IHAtPm9mZnNl dDsKLS0KLS0JICAgIHRoaXNfc2l6ZSA9IGJpdHNfdG9fYnl0ZXMgKGJpdHNfdG9fc2tpcCwgdGhp c19zaXplX2JpdHMpOwotLQkgICAgYnVmZmVyLnJlc2VydmUgKHRoaXNfc2l6ZSk7Ci0tCi0tCSAg ICBpZiAoYml0c190b19za2lwICUgOCAhPSAwIHx8IHRoaXNfc2l6ZV9iaXRzICUgOCAhPSAwKQot LQkgICAgICB7Ci0tCQkvKiBEYXRhIGlzIGNvcGllZCBub24tYnl0ZS1hbGlnbmVkIGludG8gdGhl IHJlZ2lzdGVyLgotLQkJICAgTmVlZCBzb21lIGJpdHMgZnJvbSBvcmlnaW5hbCByZWdpc3RlciB2 YWx1ZS4gICovCi0tCQlpbnQgb3B0aW0sIHVuYXZhaWw7Ci0tCi0tCQlpZiAoIWdldF9mcmFtZV9y ZWdpc3Rlcl9ieXRlcyAoZnJhbWUsIGdkYl9yZWdudW0sCi0tCQkJCQkgICAgICAgYml0c190b19z a2lwIC8gOCwKLS0JCQkJCSAgICAgICB0aGlzX3NpemUsIGJ1ZmZlci5kYXRhICgpLAotLQkJCQkJ ICAgICAgICZvcHRpbSwgJnVuYXZhaWwpKQotLQkJICB7Ci0tCQkgICAgaWYgKG9wdGltKQotLQkJ ICAgICAgdGhyb3dfZXJyb3IgKE9QVElNSVpFRF9PVVRfRVJST1IsCi0tCQkJCSAgIF8oIkNhbid0 IGRvIHJlYWQtbW9kaWZ5LXdyaXRlIHRvICIKLS0JCQkJICAgICAidXBkYXRlIGJpdGZpZWxkOyBj b250YWluaW5nIHdvcmQgIgotLQkJCQkgICAgICJoYXMgYmVlbiBvcHRpbWl6ZWQgb3V0IikpOwot LQkJICAgIGlmICh1bmF2YWlsKQotLQkJICAgICAgdGhyb3dfZXJyb3IgKE5PVF9BVkFJTEFCTEVf RVJST1IsCi0tCQkJCSAgIF8oIkNhbid0IGRvIHJlYWQtbW9kaWZ5LXdyaXRlIHRvIHVwZGF0ZSAi Ci0tCQkJCSAgICAgImJpdGZpZWxkOyBjb250YWluaW5nIHdvcmQgIgotLQkJCQkgICAgICJpcyB1 bmF2YWlsYWJsZSIpKTsKLS0JCSAgfQotLQkgICAgICB9Ci0tCi0tCSAgICBjb3B5X2JpdHdpc2Ug KGJ1ZmZlci5kYXRhICgpLCBiaXRzX3RvX3NraXAgJSA4LAotLQkJCSAgY29udGVudHMsIG9mZnNl dCwKLS0JCQkgIHRoaXNfc2l6ZV9iaXRzLCBiaXRzX2JpZ19lbmRpYW4pOwotLQkgICAgcHV0X2Zy YW1lX3JlZ2lzdGVyX2J5dGVzIChmcmFtZSwgZ2RiX3JlZ251bSwKLS0JCQkJICAgICAgYml0c190 b19za2lwIC8gOCwKLS0JCQkJICAgICAgdGhpc19zaXplLCBidWZmZXIuZGF0YSAoKSk7Ci0tCSAg fQotLQkgIGJyZWFrOwotLQljYXNlIERXQVJGX1ZBTFVFX01FTU9SWToKLS0JICB7Ci0tCSAgICBi aXRzX3RvX3NraXAgKz0gcC0+b2Zmc2V0OwotLQotLQkgICAgQ09SRV9BRERSIHN0YXJ0X2FkZHIg PSBwLT52Lm1lbS5hZGRyICsgYml0c190b19za2lwIC8gODsKLS0KLS0JICAgIGlmIChiaXRzX3Rv X3NraXAgJSA4ID09IDAgJiYgdGhpc19zaXplX2JpdHMgJSA4ID09IDAKLS0JCSYmIG9mZnNldCAl IDggPT0gMCkKLS0JICAgICAgewotLQkJLyogRXZlcnl0aGluZyBpcyBieXRlLWFsaWduZWQ7IG5v IGJ1ZmZlciBuZWVkZWQuICAqLwotLQkJd3JpdGVfbWVtb3J5X3dpdGhfbm90aWZpY2F0aW9uIChz dGFydF9hZGRyLAotLQkJCQkJCWNvbnRlbnRzICsgb2Zmc2V0IC8gOCwKLS0JCQkJCQl0aGlzX3Np emVfYml0cyAvIDgpOwotLQkJYnJlYWs7Ci0tCSAgICAgIH0KLS0KLS0JICAgIHRoaXNfc2l6ZSA9 IGJpdHNfdG9fYnl0ZXMgKGJpdHNfdG9fc2tpcCwgdGhpc19zaXplX2JpdHMpOwotLQkgICAgYnVm ZmVyLnJlc2VydmUgKHRoaXNfc2l6ZSk7Ci0tCi0tCSAgICBpZiAoYml0c190b19za2lwICUgOCAh PSAwIHx8IHRoaXNfc2l6ZV9iaXRzICUgOCAhPSAwKQotLQkgICAgICB7Ci0tCQlpZiAodGhpc19z aXplIDw9IDgpCi0tCQkgIHsKLS0JCSAgICAvKiBQZXJmb3JtIGEgc2luZ2xlIHJlYWQgZm9yIHNt YWxsIHNpemVzLiAgKi8KLS0JCSAgICByZWFkX21lbW9yeSAoc3RhcnRfYWRkciwgYnVmZmVyLmRh dGEgKCksIHRoaXNfc2l6ZSk7Ci0tCQkgIH0KLS0JCWVsc2UKLS0JCSAgewotLQkJICAgIC8qIE9u bHkgdGhlIGZpcnN0IGFuZCBsYXN0IGJ5dGVzIGNhbiBwb3NzaWJseSBoYXZlIGFueQotLQkJICAg ICAgIGJpdHMgcmV1c2VkLiAgKi8KLS0JCSAgICByZWFkX21lbW9yeSAoc3RhcnRfYWRkciwgYnVm ZmVyLmRhdGEgKCksIDEpOwotLQkJICAgIHJlYWRfbWVtb3J5IChzdGFydF9hZGRyICsgdGhpc19z aXplIC0gMSwKLS0JCQkJICZidWZmZXJbdGhpc19zaXplIC0gMV0sIDEpOwotLQkJICB9Ci0tCSAg ICAgIH0KLSsgIHJ3X3BpZWNlZF92YWx1ZSAodiwgTlVMTCk7Ci0rfQotIAotLQkgICAgY29weV9i aXR3aXNlIChidWZmZXIuZGF0YSAoKSwgYml0c190b19za2lwICUgOCwKLS0JCQkgIGNvbnRlbnRz LCBvZmZzZXQsCi0tCQkJICB0aGlzX3NpemVfYml0cywgYml0c19iaWdfZW5kaWFuKTsKLS0JICAg IHdyaXRlX21lbW9yeV93aXRoX25vdGlmaWNhdGlvbiAoc3RhcnRfYWRkciwgYnVmZmVyLmRhdGEg KCksCi0tCQkJCQkgICAgdGhpc19zaXplKTsKLS0JICB9Ci0tCSAgYnJlYWs7Ci0tCWRlZmF1bHQ6 Ci0tCSAgbWFya192YWx1ZV9ieXRlc19vcHRpbWl6ZWRfb3V0ICh0bywgMCwgVFlQRV9MRU5HVEgg KHZhbHVlX3R5cGUgKHRvKSkpOwotLQkgIGJyZWFrOwotLQl9Ci0tICAgICAgb2Zmc2V0ICs9IHRo aXNfc2l6ZV9iaXRzOwotLSAgICAgIGJpdHNfdG9fc2tpcCA9IDA7Ci0tICAgIH0KLStzdGF0aWMg dm9pZAotK3dyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3RydWN0IHZhbHVl ICpmcm9tKQotK3sKLSsgIHJ3X3BpZWNlZF92YWx1ZSAodG8sIGZyb20pOwotIH0KLSAKLSAvKiBB biBpbXBsZW1lbnRhdGlvbiBvZiBhbiBsdmFsX2Z1bmNzIG1ldGhvZCB0byBzZWUgd2hldGhlciBh IHZhbHVlIGlzCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTI4b2YzNS5wYXRj aCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0yOG9mMzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IGYyOGRlYzIuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4 LTI4b2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAKLUZyb206IEZlZG9y YSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3 IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMjhvZjM1LnBh dGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMjhvZjM1LnBhdGNoCi0KLWNv bW1pdCA1NTI0YjUyNTBlMzE5ZjQxOTMzNjA1NDIwZTk1MjZmYjc0Y2ZiOWFlCi1BdXRob3I6IEFu ZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgV2VkIEp1biAx NCAxNDoyNDowMyAyMDE3ICswMjAwCi0KLSAgICBGaXggcmVnaXN0ZXIgc2VsZWN0aW9uIGluIHZh ci1hY2Nlc3MuZXhwCi0gICAgCi0gICAgVGhlIG5ldyB0ZXN0IHZhci1hY2Nlc3MuZXhwIGNhdXNl cyBGQUlMcyBvbiBpNjg2LiAgVGhpcyBpcyBiZWNhdXNlIHRoZQotICAgIHRlc3QgY2hvb3NlcyB0 aGUgd3JvbmcgbmFtZSBmb3IgRFdBUkYgcmVnaXN0ZXIgbnVtYmVyIDE6IEl0IHVzZXMKLSAgICAi ZWR4IiAod2hpY2ggY29ycmVzcG9uZHMgdG8gRFdBUkYgcmVnaXN0ZXIgbnVtYmVyIDIpLCBidXQg c2hvdWxkIGhhdmUgdXNlZAotICAgICJlY3giIGluc3RlYWQuCi0gICAgCi0gICAgQWxzbywgdGhl IGN1cnJlbnQgbG9naWMgaW4gdmFyLWFjY2Vzcy5leHAgZG9lcyBub3QgY29ycmVjdGx5IGRpc3Rp bmd1aXNoCi0gICAgYmV0d2VlbiBhIDY0LWJpdCBhbmQgYSAzMi1iaXQgcHJvZ3JhbSBvbiBhbiB4 ODYtNjQgdGFyZ2V0LiAgSXQgdXNlcyB0aGUKLSAgICA2NC1iaXQgcmVnaXN0ZXIgbmFtZXMgZm9y IGJvdGguCi0gICAgCi0gICAgVGhlc2UgcHJvYmxlbXMgYXJlIGZpeGVkLiAgSW4gb3JkZXIgdG8g YWRkcmVzcyB0aGUgbGF0dGVyLCB0aGUgY29udmVuaWVuY2UKLSAgICBtYWNyb3MgaXNfKl90YXJn ZXQgYXJlIGV4cGxvaXRlZCB3aGVyZSBhcHByb3ByaWF0ZS4KLSAgICAKLSAgICBnZGIvdGVzdHN1 aXRlL0NoYW5nZUxvZzoKLSAgICAKLSAgICAgICAgICAgICogZ2RiLmR3YXJmMi92YXItYWNjZXNz LmV4cDogVXNlIHJlZ2lzdGVyIG5hbWUgZWN4IGluc3RlYWQgb2YgZWR4Ci0gICAgICAgICAgICBv biAzMi1iaXQgeDg2IHRhcmdldHMuICBFeHBsb2l0IGlzXypfdGFyZ2V0IG1hY3JvcyB3aGVyZQot ICAgICAgICAgICAgYXBwcm9wcmlhdGUuCi0KLSMjIyBhL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9n Ci0jIyMgYi9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwotIyMgLTEsMyArMSw5IEBACi0rMjAxNy0w Ni0xNCAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSsKLSsJKiBn ZGIuZHdhcmYyL3Zhci1hY2Nlc3MuZXhwOiBVc2UgcmVnaXN0ZXIgbmFtZSBlY3ggaW5zdGVhZCBv ZiBlZHgKLSsJb24gMzItYml0IHg4NiB0YXJnZXRzLiAgRXhwbG9pdCBpc18qX3RhcmdldCBtYWNy b3Mgd2hlcmUKLSsJYXBwcm9wcmlhdGUuCi0rCi0gMjAxNy0wNi0xMyAgQW5kcmVhcyBBcm5leiAg PGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAKLSAJKiBnZGIuZHdhcmYyL3Zhci1hY2Nlc3Mu ZXhwOiBBZGQgdGVzdCBmb3Igbm9uLWJ5dGUtYWxpZ25lZAotLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZHdhcmYyL3Zhci1hY2Nlc3MuZXhwCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIv dmFyLWFjY2Vzcy5leHAKLUBAIC0yOCwxNiArMjgsMTYgQEAgaWYgeyFbZHdhcmYyX3N1cHBvcnRd fSB7Ci0gCi0gc2V0IGR3YXJmX3JlZ251bSB7MCAxfQotIAotLWlmIHsgW2lzdGFyZ2V0ICJhYXJj aDY0Ki0qLSoiXSB9IHsKLStpZiB7IFtpc19hYXJjaDY0X3RhcmdldF0gfSB7Ci0gICAgIHNldCBy ZWduYW1lIHt4MCB4MX0KLS19IGVsc2VpZiB7IFtpc3RhcmdldCAiYXJtKi0qLSoiXQotK30gZWxz ZWlmIHsgW2lzX2FhcmNoMzJfdGFyZ2V0XQotIAkgICB8fCBbaXN0YXJnZXQgInMzOTAqLSotKiIg XQotIAkgICB8fCBbaXN0YXJnZXQgInBvd2VycGMqLSotKiJdCi0gCSAgIHx8IFtpc3RhcmdldCAi cnM2MDAwKi0qLWFpeCoiXSB9IHsKLSAgICAgc2V0IHJlZ25hbWUge3IwIHIxfQotLX0gZWxzZWlm IHsgW2lzdGFyZ2V0ICJpPzg2LSotKiJdIH0gewotLSAgICBzZXQgcmVnbmFtZSB7ZWF4IGVkeH0K LS19IGVsc2VpZiB7IFtpc3RhcmdldCAieDg2XzY0LSotKiJdIH0gewotK30gZWxzZWlmIHsgW2lz X3g4Nl9saWtlX3RhcmdldF0gfSB7Ci0rICAgIHNldCByZWduYW1lIHtlYXggZWN4fQotK30gZWxz ZWlmIHsgW2lzX2FtZDY0X3JlZ3NfdGFyZ2V0XSB9IHsKLSAgICAgc2V0IHJlZ25hbWUge3JheCBy ZHh9Ci0gfSBlbHNlIHsKLSAgICAgdmVyYm9zZSAiU2tpcHBpbmcgdGVzdHMgZm9yIGFjY2Vzc2lu ZyBEV0FSRi1kZXNjcmliZWQgdmFyaWFibGVzLiIKCmRpZmYgLS1naXQgYS9nZGItcmhiejE0MjAz MDQtczM5MHgtMjlvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTI5b2YzNS5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Y5NDg5ZS4uMDAwMDAwMAotLS0gYS9n ZGItcmhiejE0MjAzMDQtczM5MHgtMjlvZjM1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjAz ICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1E YXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0 MjAzMDQtczM5MHgtMjlvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5 MHgtMjlvZjM1LnBhdGNoCi0KLWNvbW1pdCBiNGNiYmU4ZjcyOTQwNzBjYzkzYTcxYWNlNzhmMTM0 OTY1ZGRhZDgyCi1BdXRob3I6IEFuZHJlYXMgS3JlYmJlbCA8a3JlYmJlbEBsaW51eC52bmV0Lmli bS5jb20+Ci1EYXRlOiAgIFRodSBKdW4gOCAxNzoyNDo1MCAyMDE3ICswMjAwCi0KLSAgICBTLzM5 MDogQWRkIHN1cHBvcnQgZm9yIHBnc3RlIG1hcmtlcgotICAgIAotICAgIFRoaXMgcGF0Y2ggYWRk cyBhIG5ldyBTLzM5MCBzcGVjaWZpYyBzZWdtZW50IHR5cGU6IFBUX1MzOTBfUEdTVEUuICBGb3IK LSAgICBiaW5hcmllcyBtYXJrZWQgd2l0aCB0aGF0IHNlZ21lbnQgdGhlIGtlcm5lbCB3aWxsIGFs bG9jYXRlIDRrIHBhZ2UKLSAgICB0YWJsZXMuICBUaGUgb25seSB1c2VyIHNvIGZhciB3aWxsIGJl IHFlbXUuCi0gICAgCi0gICAgbGQvQ2hhbmdlTG9nOgotICAgIAotICAgIDIwMTctMDYtMjMgIEFu ZHJlYXMgS3JlYmJlbCAgPGtyZWJiZWxAbGludXgudm5ldC5pYm0uY29tPgotICAgIAotICAgICAg ICAgICAgKiBNYWtlZmlsZS5pbjogQWRkIHMzOTAuZW0gYXMgYnVpbGQgZGVwZW5kZW5jeS4KLSAg ICAgICAgICAgICogZW11bHBhcmFtcy9lbGY2NF9zMzkwLnNoIChFWFRSQV9FTV9GSUxFKTogQWRk IHMzOTAuZW0uCi0gICAgICAgICAgICAqIGVtdWx0ZW1wbC9zMzkwLmVtOiBOZXcgZmlsZS4KLSAg ICAgICAgICAgICogZ2VuLWRvYy50ZXhpOiBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgLS1zMzkwLXBn c3RlIG9wdGlvbi4KLSAgICAgICAgICAgICogbGQudGV4aW5mbzogTGlrZXdpc2UuCi0gICAgCi0g ICAgaW5jbHVkZS9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgMjAxNy0wNi0yMyAgQW5kcmVhcyBLcmVi YmVsICA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci0gICAgCi0gICAgICAgICAgICAqIGVs Zi9zMzkwLmggKFBUX1MzOTBfUEdTVEUpOiBEZWZpbmUgbWFjcm8uCi0gICAgCi0gICAgYmludXRp bHMvQ2hhbmdlTG9nOgotICAgIAotICAgIDIwMTctMDYtMjMgIEFuZHJlYXMgS3JlYmJlbCAgPGty ZWJiZWxAbGludXgudm5ldC5pYm0uY29tPgotICAgIAotICAgICAgICAgICAgKiByZWFkZWxmLmMg KGdldF9zMzkwX3NlZ21lbnRfdHlwZSk6IEFkZCBzdXBwb3J0IGZvciB0aGUgbmV3Ci0gICAgICAg ICAgICBzZWdtZW50IHR5cGUgUFRfUzM5MF9QR1NURS4KLSAgICAgICAgICAgIChnZXRfc2VnbWVu dF90eXBlKTogQ2FsbCBnZXRfczM5MF9zZWdtZW50X3R5cGUuCi0gICAgCi0gICAgZWxmY3BwL0No YW5nZUxvZzoKLSAgICAKLSAgICAyMDE3LTA2LTIzICBBbmRyZWFzIEtyZWJiZWwgIDxrcmViYmVs QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAgICAKLSAgICAgICAgICAgICogZWxmY3BwLmggKGVudW0g UFQpOiBBZGQgUFRfUzM5MF9QR1NURSB0byBlbnVtLgotICAgIAotICAgIGJmZC9DaGFuZ2VMb2c6 Ci0gICAgCi0gICAgMjAxNy0wNi0yMyAgQW5kcmVhcyBLcmViYmVsICA8a3JlYmJlbEBsaW51eC52 bmV0LmlibS5jb20+Ci0gICAgCi0gICAgICAgICAgICAqIGVsZi1zMzkwLmg6IE5ldyBmaWxlLgot ICAgICAgICAgICAgKiBlbGY2NC1zMzkwLmMgKHN0cnVjdCBlbGZfczM5MF9saW5rX2hhc2hfdGFi bGUpOiBBZGQgcGFyYW1zCi0gICAgICAgICAgICBmaWVsZC4KLSAgICAgICAgICAgIChlbGZfczM5 MF9hZGRpdGlvbmFsX3Byb2dyYW1faGVhZGVycyk6IE5ldyBmdW5jdGlvbi4KLSAgICAgICAgICAg IChlbGZfczM5MF9tb2RpZnlfc2VnbWVudF9tYXApOiBOZXcgZnVuY3Rpb24uCi0gICAgICAgICAg ICAoYmZkX2VsZl9zMzkwX3NldF9vcHRpb25zKTogTmV3IGZ1bmN0aW9uLgotICAgICAgICAgICAg KGVsZl9iYWNrZW5kX2FkZGl0aW9uYWxfcHJvZ3JhbV9oZWFkZXJzKQotICAgICAgICAgICAgKGVs Zl9iYWNrZW5kX21vZGlmeV9zZWdtZW50X21hcCk6IEFkZCBtYWNybyBkZWZpbml0aW9ucy4KLQot LS0tIC9kZXYvbnVsbAotKysrIGIvYmZkL2VsZi1zMzkwLmgKLUBAIC0wLDAgKzEsMjkgQEAKLSsv KiBTLzM5MC1zcGVjaWZpYyBzdXBwb3J0IGZvciBFTEYuCi0rICAgQ29weXJpZ2h0IChDKSAyMDE3 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMgZmlsZSBpcyBwYXJ0 IG9mIEJGRCwgdGhlIEJpbmFyeSBGaWxlIERlc2NyaXB0b3IgbGlicmFyeS4KLSsKLSsgICBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0r ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0 byB0aGUgRnJlZSBTb2Z0d2FyZQotKyAgIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0 cmVldCAtIEZpZnRoIEZsb29yLCBCb3N0b24sCi0rICAgTUEgMDIxMTAtMTMwMSwgVVNBLiAgKi8K LSsKLSsvKiBVc2VkIHRvIHBhc3MgaW5mbyBiZXR3ZWVuIGxkIGFuZCBiZmQuICAqLwotK3N0cnVj dCBzMzkwX2VsZl9wYXJhbXMKLSt7Ci0rICAvKiBUZWxsIHRoZSBrZXJuZWwgdG8gYWxsb2NhdGUg NGsgcGFnZSB0YWJsZXMuICAqLwotKyAgaW50IHBnc3RlOwotK307Ci0rCi0rYmZkX2Jvb2xlYW4g YmZkX2VsZl9zMzkwX3NldF9vcHRpb25zIChzdHJ1Y3QgYmZkX2xpbmtfaW5mbyAqaW5mbywKLSsJ CQkJICAgICAgc3RydWN0IHMzOTBfZWxmX3BhcmFtcyAqcGFyYW1zKTsKLS0tLSBhL2JmZC9lbGY2 NC1zMzkwLmMKLSsrKyBiL2JmZC9lbGY2NC1zMzkwLmMKLUBAIC0yNSw2ICsyNSw3IEBACi0gI2lu Y2x1ZGUgImxpYmJmZC5oIgotICNpbmNsdWRlICJlbGYtYmZkLmgiCi0gI2luY2x1ZGUgImVsZi9z MzkwLmgiCi0rI2luY2x1ZGUgImVsZi1zMzkwLmgiCi0gI2luY2x1ZGUgPHN0ZGFyZy5oPgotIAot IC8qIEluIGNhc2Ugd2UncmUgb24gYSAzMi1iaXQgbWFjaGluZSwgY29uc3RydWN0IGEgNjQtYml0 ICItMSIgdmFsdWUKLUBAIC02NjAsNiArNjYxLDkgQEAgc3RydWN0IGVsZl9zMzkwX2xpbmtfaGFz aF90YWJsZQotIAotICAgLyogU21hbGwgbG9jYWwgc3ltIGNhY2hlLiAgKi8KLSAgIHN0cnVjdCBz eW1fY2FjaGUgc3ltX2NhY2hlOwotKwotKyAgLyogT3B0aW9ucyBwYXNzZWQgZnJvbSB0aGUgbGlu a2VyLiAgKi8KLSsgIHN0cnVjdCBzMzkwX2VsZl9wYXJhbXMgKnBhcmFtczsKLSB9OwotIAotIC8q IEdldCB0aGUgczM5MCBFTEYgbGlua2VyIGhhc2ggdGFibGUgZnJvbSBhIGxpbmtfaW5mbyBzdHJ1 Y3R1cmUuICAqLwotQEAgLTM5NjYsNiArMzk3MCw3MCBAQCBlbGY2NF9zMzkwX21lcmdlX3ByaXZh dGVfYmZkX2RhdGEgKGJmZCAqaWJmZCwgc3RydWN0IGJmZF9saW5rX2luZm8gKmluZm8pCi0gICBy ZXR1cm4gZWxmX3MzOTBfbWVyZ2Vfb2JqX2F0dHJpYnV0ZXMgKGliZmQsIGluZm8pOwotIH0KLSAK LSsvKiBXZSBtYXkgYWRkIGEgUFRfUzM5MF9QR1NURSBwcm9ncmFtIGhlYWRlci4gICovCi0rCi0r c3RhdGljIGludAotK2VsZl9zMzkwX2FkZGl0aW9uYWxfcHJvZ3JhbV9oZWFkZXJzIChiZmQgKmFi ZmQgQVRUUklCVVRFX1VOVVNFRCwKLSsJCQkJICAgICBzdHJ1Y3QgYmZkX2xpbmtfaW5mbyAqaW5m bykKLSt7Ci0rICBzdHJ1Y3QgZWxmX3MzOTBfbGlua19oYXNoX3RhYmxlICpodGFiOwotKwotKyAg aHRhYiA9IGVsZl9zMzkwX2hhc2hfdGFibGUgKGluZm8pOwotKyAgcmV0dXJuIGh0YWItPnBhcmFt cy0+cGdzdGU7Ci0rfQotKwotKwotKy8qIEFkZCB0aGUgUFRfUzM5MF9QR1NURSBwcm9ncmFtIGhl YWRlci4gICovCi0rCi0rc3RhdGljIGJmZF9ib29sZWFuCi0rZWxmX3MzOTBfbW9kaWZ5X3NlZ21l bnRfbWFwIChiZmQgKmFiZmQgQVRUUklCVVRFX1VOVVNFRCwKLSsJCQkgICAgIHN0cnVjdCBiZmRf bGlua19pbmZvICppbmZvKQotK3sKLSsgIHN0cnVjdCBlbGZfczM5MF9saW5rX2hhc2hfdGFibGUg Kmh0YWI7Ci0rICBzdHJ1Y3QgZWxmX3NlZ21lbnRfbWFwICptLCAqcG0gPSBOVUxMOwotKwotKyAg aHRhYiA9IGVsZl9zMzkwX2hhc2hfdGFibGUgKGluZm8pOwotKyAgaWYgKCFodGFiLT5wYXJhbXMt PnBnc3RlKQotKyAgICByZXR1cm4gVFJVRTsKLSsKLSsgIC8qIElmIHRoZXJlIGlzIGFscmVhZHkg YSBQVF9TMzkwX1BHU1RFIGhlYWRlciwgYXZvaWQgYWRkaW5nCi0rICAgICBhbm90aGVyLiAgKi8K LSsgIG0gPSBlbGZfc2VnX21hcCAoYWJmZCk7Ci0rICB3aGlsZSAobSAmJiBtLT5wX3R5cGUgIT0g UFRfUzM5MF9QR1NURSkKLSsgICAgewotKyAgICAgIHBtID0gbTsKLSsgICAgICBtID0gbS0+bmV4 dDsKLSsgICAgfQotKwotKyAgaWYgKG0pCi0rICAgIHJldHVybiBUUlVFOwotKwotKyAgbSA9IChz dHJ1Y3QgZWxmX3NlZ21lbnRfbWFwICopCi0rICAgIGJmZF96YWxsb2MgKGFiZmQsIHNpemVvZiAo c3RydWN0IGVsZl9zZWdtZW50X21hcCkpOwotKyAgaWYgKG0gPT0gTlVMTCkKLSsgICAgcmV0dXJu IEZBTFNFOwotKyAgbS0+cF90eXBlID0gUFRfUzM5MF9QR1NURTsKLSsgIG0tPmNvdW50ID0gMDsK LSsgIG0tPm5leHQgPSBOVUxMOwotKyAgaWYgKHBtKQotKyAgICBwbS0+bmV4dCA9IG07Ci0rCi0r ICByZXR1cm4gVFJVRTsKLSt9Ci0rCi0rYmZkX2Jvb2xlYW4KLStiZmRfZWxmX3MzOTBfc2V0X29w dGlvbnMgKHN0cnVjdCBiZmRfbGlua19pbmZvICppbmZvLAotKwkJCSAgc3RydWN0IHMzOTBfZWxm X3BhcmFtcyAqcGFyYW1zKQotK3sKLSsgIHN0cnVjdCBlbGZfczM5MF9saW5rX2hhc2hfdGFibGUg Kmh0YWI7Ci0rCi0rICBodGFiID0gZWxmX3MzOTBfaGFzaF90YWJsZSAoaW5mbyk7Ci0rICBodGFi LT5wYXJhbXMgPSBwYXJhbXM7Ci0rCi0rICByZXR1cm4gVFJVRTsKLSt9Ci0rCi0rCi0gLyogV2h5 IHdhcyB0aGUgaGFzaCB0YWJsZSBlbnRyeSBzaXplIGRlZmluaXRpb24gY2hhbmdlZCBmcm9tCi0g ICAgQVJDSF9TSVpFLzggdG8gND8gVGhpcyBicmVha3MgdGhlIDY0IGJpdCBkeW5hbWljIGxpbmtl ciBhbmQKLSAgICB0aGlzIGlzIHRoZSBvbmx5IHJlYXNvbiBmb3IgdGhlIHMzOTBfZWxmNjRfc2l6 ZV9pbmZvIHN0cnVjdHVyZS4gICovCi1AQCAtNDA0Niw2ICs0MTE0LDggQEAgY29uc3Qgc3RydWN0 IGVsZl9zaXplX2luZm8gczM5MF9lbGY2NF9zaXplX2luZm8gPQotICNkZWZpbmUgZWxmX2JhY2tl bmRfcGx0X3N5bV92YWwJCSAgICAgIGVsZl9zMzkwX3BsdF9zeW1fdmFsCi0gI2RlZmluZSBlbGZf YmFja2VuZF9hZGRfc3ltYm9sX2hvb2sgICAgICAgICAgIGVsZl9zMzkwX2FkZF9zeW1ib2xfaG9v awotICNkZWZpbmUgZWxmX2JhY2tlbmRfc29ydF9yZWxvY3NfcCAgICAgICAgICAgICBlbGZfczM5 MF9lbGZfc29ydF9yZWxvY3NfcAotKyNkZWZpbmUgZWxmX2JhY2tlbmRfYWRkaXRpb25hbF9wcm9n cmFtX2hlYWRlcnMgZWxmX3MzOTBfYWRkaXRpb25hbF9wcm9ncmFtX2hlYWRlcnMKLSsjZGVmaW5l IGVsZl9iYWNrZW5kX21vZGlmeV9zZWdtZW50X21hcAkgICAgICBlbGZfczM5MF9tb2RpZnlfc2Vn bWVudF9tYXAKLSAKLSAjZGVmaW5lIGJmZF9lbGY2NF9ta29iamVjdAkJZWxmX3MzOTBfbWtvYmpl Y3QKLSAjZGVmaW5lIGVsZl9iYWNrZW5kX29iamVjdF9wCQllbGZfczM5MF9vYmplY3RfcAotLS0t IGEvaW5jbHVkZS9lbGYvczM5MC5oCi0rKysgYi9pbmNsdWRlL2VsZi9zMzkwLmgKLUBAIC0zNyw2 ICszNyw5IEBACi0gCi0gI2RlZmluZSBFRl9TMzkwX0hJR0hfR1BSUyAgICAgICAgMHgwMDAwMDAw MQotIAotKy8qIFJlcXVlc3QgNGsgcGFnZSB0YWJsZSBzaXplLiAgKi8KLSsjZGVmaW5lIFBUX1Mz OTBfUEdTVEUgKFBUX0xPUFJPQyArIDApCi0rCi0gLyogUmVsb2NhdGlvbiB0eXBlcy4gICovCi0g Ci0gU1RBUlRfUkVMT0NfTlVNQkVSUyAoZWxmX3MzOTBfcmVsb2NfdHlwZSkKCmRpZmYgLS1naXQg YS9nZGItcmhiejE0MjAzMDQtczM5MHgtMzBvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIwMzA0LXMz OTB4LTMwb2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWRkNGE4Yi4u MDAwMDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMzBvZjM1LnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsOTEgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlk QGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1Ympl Y3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0zMG9mMzUucGF0Y2gKLQotRmlsZU5hbWU6IGdkYi1y aGJ6MTQyMDMwNC1zMzkweC0zMG9mMzUucGF0Y2gKLQotY29tbWl0IDkzZWM1ZTIzNzY2YTlmNzVh YTQ5NTA3NDhjZjczOTY0MDI4YThkMWIKLUF1dGhvcjogQW5kcmVhcyBLcmViYmVsIDxrcmViYmVs QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgTW9uIEp1biAyNiAxMTowMTo1OCAyMDE3ICsw MjAwCi0KLSAgICBTLzM5MDogRml4IHRlc3RzdWl0ZSBzZWdmYXVsdCBhZGRlZCB3aXRoIHJlY2Vu dCBwZ3N0ZSBwYXRjaC4KLSAgICAKLSAgICBUaGUgcmVjZW50IHBnc3RlIHBhdGNoIGNhdXNlZCBz ZXZlcmFsIHRlc3RjYXNlcyB0byBmYWlsIHdpdGggYQotICAgIHNlZ2ZhdWx0LiAgRml4ZWQgd2l0 aCB0aGlzIHBhdGNoIGJ5IGFkZGluZyBOVUxMIHBvaW50ZXIgY2hlY2tzLgotICAgIAotICAgIHJl Z3Jlc3Npb24tdGVzdGVkIG9uIHMzOTB4LgotICAgIAotICAgIGJmZC9DaGFuZ2VMb2c6Ci0gICAg Ci0gICAgMjAxNy0wNi0yNiAgQW5kcmVhcyBLcmViYmVsICA8a3JlYmJlbEBsaW51eC52bmV0Lmli bS5jb20+Ci0gICAgCi0gICAgICAgICAgICAqIGVsZjY0LXMzOTAuYyAoZWxmX3MzOTBfYWRkaXRp b25hbF9wcm9ncmFtX2hlYWRlcnMpOiBBZGQgTlVMTAotICAgICAgICAgICAgcG9pbnRlciBjaGVj a3MuCi0gICAgICAgICAgICAoZWxmX3MzOTBfbW9kaWZ5X3NlZ21lbnRfbWFwKTogTGlrZXdpc2Uu Ci0gICAgICAgICAgICAoYmZkX2VsZl9zMzkwX3NldF9vcHRpb25zKTogTGlzZXdpc2UuCi0KLSMj IyBhL2JmZC9DaGFuZ2VMb2cKLSMjIyBiL2JmZC9DaGFuZ2VMb2cKLSMjIC0xLDMgKzEsMTAgQEAK LSsyMDE3LTA2LTI2ICBBbmRyZWFzIEtyZWJiZWwgIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNv bT4KLSsKLSsJKiBlbGY2NC1zMzkwLmMgKGVsZl9zMzkwX2FkZGl0aW9uYWxfcHJvZ3JhbV9oZWFk ZXJzKTogQWRkIE5VTEwKLSsJcG9pbnRlciBjaGVja3MuCi0rCShlbGZfczM5MF9tb2RpZnlfc2Vn bWVudF9tYXApOiBMaWtld2lzZS4KLSsJKGJmZF9lbGZfczM5MF9zZXRfb3B0aW9ucyk6IExpc2V3 aXNlLgotKwotIDIwMTctMDYtMjYgIEFsYW4gTW9kcmEgIDxhbW9kcmFAZ21haWwuY29tPgotIAot IAkqIGVsZmxpbmsuYyAoX2JmZF9lbGZfbGlua19jcmVhdGVfZHluc3RydGFiKTogRG9uJ3QgbWFr ZSBkeW5vYmoKLS0tLSBhL2JmZC9lbGY2NC1zMzkwLmMKLSsrKyBiL2JmZC9lbGY2NC1zMzkwLmMK LUBAIC0zOTc4LDIyICszOTc4LDI5IEBAIGVsZl9zMzkwX2FkZGl0aW9uYWxfcHJvZ3JhbV9oZWFk ZXJzIChiZmQgKmFiZmQgQVRUUklCVVRFX1VOVVNFRCwKLSB7Ci0gICBzdHJ1Y3QgZWxmX3MzOTBf bGlua19oYXNoX3RhYmxlICpodGFiOwotIAotLSAgaHRhYiA9IGVsZl9zMzkwX2hhc2hfdGFibGUg KGluZm8pOwotLSAgcmV0dXJuIGh0YWItPnBhcmFtcy0+cGdzdGU7Ci0rICBpZiAoaW5mbykKLSsg ICAgewotKyAgICAgIGh0YWIgPSBlbGZfczM5MF9oYXNoX3RhYmxlIChpbmZvKTsKLSsgICAgICBp ZiAoaHRhYikKLSsJcmV0dXJuIGh0YWItPnBhcmFtcy0+cGdzdGU7Ci0rICAgIH0KLSsgIHJldHVy biAwOwotIH0KLSAKLSAKLSAvKiBBZGQgdGhlIFBUX1MzOTBfUEdTVEUgcHJvZ3JhbSBoZWFkZXIu ICAqLwotIAotIHN0YXRpYyBiZmRfYm9vbGVhbgotLWVsZl9zMzkwX21vZGlmeV9zZWdtZW50X21h cCAoYmZkICphYmZkIEFUVFJJQlVURV9VTlVTRUQsCi0tCQkJICAgICBzdHJ1Y3QgYmZkX2xpbmtf aW5mbyAqaW5mbykKLStlbGZfczM5MF9tb2RpZnlfc2VnbWVudF9tYXAgKGJmZCAqYWJmZCwgc3Ry dWN0IGJmZF9saW5rX2luZm8gKmluZm8pCi0gewotICAgc3RydWN0IGVsZl9zMzkwX2xpbmtfaGFz aF90YWJsZSAqaHRhYjsKLSAgIHN0cnVjdCBlbGZfc2VnbWVudF9tYXAgKm0sICpwbSA9IE5VTEw7 Ci0gCi0rICBpZiAoIWFiZmQgfHwgIWluZm8pCi0rICAgIHJldHVybiBUUlVFOwotKwotICAgaHRh YiA9IGVsZl9zMzkwX2hhc2hfdGFibGUgKGluZm8pOwotLSAgaWYgKCFodGFiLT5wYXJhbXMtPnBn c3RlKQotKyAgaWYgKCFodGFiIHx8ICFodGFiLT5wYXJhbXMtPnBnc3RlKQotICAgICByZXR1cm4g VFJVRTsKLSAKLSAgIC8qIElmIHRoZXJlIGlzIGFscmVhZHkgYSBQVF9TMzkwX1BHU1RFIGhlYWRl ciwgYXZvaWQgYWRkaW5nCi1AQCAtNDAyNyw4ICs0MDM0LDEyIEBAIGJmZF9lbGZfczM5MF9zZXRf b3B0aW9ucyAoc3RydWN0IGJmZF9saW5rX2luZm8gKmluZm8sCi0gewotICAgc3RydWN0IGVsZl9z MzkwX2xpbmtfaGFzaF90YWJsZSAqaHRhYjsKLSAKLS0gIGh0YWIgPSBlbGZfczM5MF9oYXNoX3Rh YmxlIChpbmZvKTsKLS0gIGh0YWItPnBhcmFtcyA9IHBhcmFtczsKLSsgIGlmIChpbmZvKQotKyAg ICB7Ci0rICAgICAgaHRhYiA9IGVsZl9zMzkwX2hhc2hfdGFibGUgKGluZm8pOwotKyAgICAgIGlm IChodGFiKQotKwlodGFiLT5wYXJhbXMgPSBwYXJhbXM7Ci0rICAgIH0KLSAKLSAgIHJldHVybiBU UlVFOwotIH0KCmRpZmYgLS1naXQgYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMzFvZjM1LnBhdGNo IGIvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTMxb2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggZDM0YTYyOC4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgt MzFvZjM1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTc1ICswLDAgQEAKLUZyb206IEZlZG9y YSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3 IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMzFvZjM1LnBh dGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMzFvZjM1LnBhdGNoCi0KLWNv bW1pdCA4OGFiOTBlODYwYTQ2YTExMjNmY2ZkMTNiZmU1MWNkMzYwZTljM2Y3Ci1BdXRob3I6IEFu ZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgVGh1IEp1biAy OSAxMDozMDowOSAyMDE3ICswMjAwCi0KLSAgICBTMzkwOiBTdXBwb3J0IGd1YXJkZWQtc3RvcmFn ZSBjb3JlIG5vdGUgc2VjdGlvbnMKLSAgICAKLSAgICBOZXdlciBMaW51eCBrZXJuZWwgdmVyc2lv bnMgb2ZmZXIgdHdvIG5ldyByZWdpc3RlciBzZXRzIGluIHN1cHBvcnQgb2YgdGhlCi0gICAgei9B cmNoaXRlY3R1cmUncyBndWFyZGVkIHN0b3JhZ2UgZmFjaWxpdHk6IE5UX1MzOTBfR1NfQ0IsIHRo ZQotICAgICJndWFyZGVkLXN0b3JhZ2UgcmVnaXN0ZXJzIiwgYW5kIE5UX1MzOTBfR1NfQkMsIHRo ZSAiZ3VhcmRlZC1zdG9yYWdlCi0gICAgYnJvYWRjYXN0IGNvbnRyb2wgYmxvY2siLiAgVGhpcyBw YXRjaCBhZGRzIHN1cHBvcnQgZm9yIHRoZSByZXNwZWN0aXZlIGNvcmUKLSAgICBub3RlcyBzZWN0 aW9ucyB0byBiaW51dGlscy4KLSAgICAKLSAgICBiZmQvQ2hhbmdlTG9nOgotICAgICAgICAgICAg KiBlbGYtYmZkLmggKGVsZmNvcmVfd3JpdGVfczM5MF9nc19jYik6IEFkZCBwcm90b3R5cGUuCi0g ICAgICAgICAgICAoZWxmY29yZV93cml0ZV9zMzkwX2dzX2JjKTogTGlrZXdpc2UuCi0gICAgICAg ICAgICAqIGVsZi5jIChlbGZjb3JlX2dyb2tfczM5MF9nc19jYik6IE5ldyBmdW5jdGlvbi4KLSAg ICAgICAgICAgIChlbGZjb3JlX2dyb2tfczM5MF9nc19iYyk6IE5ldyBmdW5jdGlvbi4KLSAgICAg ICAgICAgIChlbGZjb3JlX2dyb2tfbm90ZSk6IENhbGwgdGhlbS4KLSAgICAgICAgICAgIChlbGZj b3JlX3dyaXRlX3MzOTBfZ3NfY2IpOiBOZXcgZnVuY3Rpb24uCi0gICAgICAgICAgICAoZWxmY29y ZV93cml0ZV9zMzkwX2dzX2JjKTogTmV3IGZ1bmN0aW9uLgotICAgICAgICAgICAgKGVsZmNvcmVf d3JpdGVfcmVnaXN0ZXJfbm90ZSk6IENhbGwgdGhlbS4KLSAgICAKLSAgICBiaW51dGlscy9DaGFu Z2VMb2c6Ci0gICAgICAgICAgICAqIHJlYWRlbGYuYyAoZ2V0X25vdGVfdHlwZSk6IEFkZCBOVF9T MzkwX0dTX0NCIGFuZCBOVF9TMzkwX0dTX0JDLgotICAgIAotICAgIGluY2x1ZGUvQ2hhbmdlTG9n OgotICAgICAgICAgICAgKiBlbGYvY29tbW9uLmggKE5UX1MzOTBfR1NfQ0IpOiBOZXcgbWFjcm8u Ci0gICAgICAgICAgICAoTlRfUzM5MF9HU19CQyk6IExpa2V3aXNlLgotCi0jIyMgYS9iZmQvQ2hh bmdlTG9nCi0jIyMgYi9iZmQvQ2hhbmdlTG9nCi0jIyAtMSwzICsxLDE0IEBACi0rMjAxNy0wNi0y OSAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSsKLSsJKiBlbGYt YmZkLmggKGVsZmNvcmVfd3JpdGVfczM5MF9nc19jYik6IEFkZCBwcm90b3R5cGUuCi0rCShlbGZj b3JlX3dyaXRlX3MzOTBfZ3NfYmMpOiBMaWtld2lzZS4KLSsJKiBlbGYuYyAoZWxmY29yZV9ncm9r X3MzOTBfZ3NfY2IpOiBOZXcgZnVuY3Rpb24uCi0rCShlbGZjb3JlX2dyb2tfczM5MF9nc19iYyk6 IE5ldyBmdW5jdGlvbi4KLSsJKGVsZmNvcmVfZ3Jva19ub3RlKTogQ2FsbCB0aGVtLgotKwkoZWxm Y29yZV93cml0ZV9zMzkwX2dzX2NiKTogTmV3IGZ1bmN0aW9uLgotKwkoZWxmY29yZV93cml0ZV9z MzkwX2dzX2JjKTogTmV3IGZ1bmN0aW9uLgotKwkoZWxmY29yZV93cml0ZV9yZWdpc3Rlcl9ub3Rl KTogQ2FsbCB0aGVtLgotKwotIDIwMTctMDYtMjggIEguSi4gTHUgIDxob25naml1Lmx1QGludGVs LmNvbT4KLSAKLSAJKiBsaWJiZmQuYyAoX2JmZF9nZW5lcmljX2dldF9zZWN0aW9uX2NvbnRlbnRz KTogRG9uJ3QgY2FsbAotLS0tIGEvYmZkL2VsZi1iZmQuaAotKysrIGIvYmZkL2VsZi1iZmQuaAot QEAgLTI1MzMsNiArMjUzMywxMCBAQCBleHRlcm4gY2hhciAqZWxmY29yZV93cml0ZV9zMzkwX3Z4 cnNfbG93Ci0gICAoYmZkICosIGNoYXIgKiwgaW50ICosIGNvbnN0IHZvaWQgKiwgaW50KTsKLSBl eHRlcm4gY2hhciAqZWxmY29yZV93cml0ZV9zMzkwX3Z4cnNfaGlnaAotICAgKGJmZCAqLCBjaGFy ICosIGludCAqLCBjb25zdCB2b2lkICosIGludCk7Ci0rZXh0ZXJuIGNoYXIgKmVsZmNvcmVfd3Jp dGVfczM5MF9nc19jYgotKyAgKGJmZCAqLCBjaGFyICosIGludCAqLCBjb25zdCB2b2lkICosIGlu dCk7Ci0rZXh0ZXJuIGNoYXIgKmVsZmNvcmVfd3JpdGVfczM5MF9nc19iYwotKyAgKGJmZCAqLCBj aGFyICosIGludCAqLCBjb25zdCB2b2lkICosIGludCk7Ci0gZXh0ZXJuIGNoYXIgKmVsZmNvcmVf d3JpdGVfYXJtX3ZmcAotICAgKGJmZCAqLCBjaGFyICosIGludCAqLCBjb25zdCB2b2lkICosIGlu dCk7Ci0gZXh0ZXJuIGNoYXIgKmVsZmNvcmVfd3JpdGVfYWFyY2hfdGxzCi0tLS0gYS9iZmQvZWxm LmMKLSsrKyBiL2JmZC9lbGYuYwotQEAgLTkxOTEsNiArOTE5MSwxOCBAQCBlbGZjb3JlX2dyb2tf czM5MF92eHJzX2hpZ2ggKGJmZCAqYWJmZCwgRWxmX0ludGVybmFsX05vdGUgKm5vdGUpCi0gfQot IAotIHN0YXRpYyBiZmRfYm9vbGVhbgotK2VsZmNvcmVfZ3Jva19zMzkwX2dzX2NiIChiZmQgKmFi ZmQsIEVsZl9JbnRlcm5hbF9Ob3RlICpub3RlKQotK3sKLSsgIHJldHVybiBlbGZjb3JlX21ha2Vf bm90ZV9wc2V1ZG9zZWN0aW9uIChhYmZkLCAiLnJlZy1zMzkwLWdzLWNiIiwgbm90ZSk7Ci0rfQot KwotK3N0YXRpYyBiZmRfYm9vbGVhbgotK2VsZmNvcmVfZ3Jva19zMzkwX2dzX2JjIChiZmQgKmFi ZmQsIEVsZl9JbnRlcm5hbF9Ob3RlICpub3RlKQotK3sKLSsgIHJldHVybiBlbGZjb3JlX21ha2Vf bm90ZV9wc2V1ZG9zZWN0aW9uIChhYmZkLCAiLnJlZy1zMzkwLWdzLWJjIiwgbm90ZSk7Ci0rfQot KwotK3N0YXRpYyBiZmRfYm9vbGVhbgotIGVsZmNvcmVfZ3Jva19hcm1fdmZwIChiZmQgKmFiZmQs IEVsZl9JbnRlcm5hbF9Ob3RlICpub3RlKQotIHsKLSAgIHJldHVybiBlbGZjb3JlX21ha2Vfbm90 ZV9wc2V1ZG9zZWN0aW9uIChhYmZkLCAiLnJlZy1hcm0tdmZwIiwgbm90ZSk7Ci1AQCAtOTY2OCw2 ICs5NjgwLDIwIEBAIGVsZmNvcmVfZ3Jva19ub3RlIChiZmQgKmFiZmQsIEVsZl9JbnRlcm5hbF9O b3RlICpub3RlKQotICAgICAgIGVsc2UKLSAJcmV0dXJuIFRSVUU7Ci0gCi0rICAgIGNhc2UgTlRf UzM5MF9HU19DQjoKLSsgICAgICBpZiAobm90ZS0+bmFtZXN6ID09IDYKLSsJICAmJiBzdHJjbXAg KG5vdGUtPm5hbWVkYXRhLCAiTElOVVgiKSA9PSAwKQotKwlyZXR1cm4gZWxmY29yZV9ncm9rX3Mz OTBfZ3NfYmMgKGFiZmQsIG5vdGUpOwotKyAgICAgIGVsc2UKLSsJcmV0dXJuIFRSVUU7Ci0rCi0r ICAgIGNhc2UgTlRfUzM5MF9HU19CQzoKLSsgICAgICBpZiAobm90ZS0+bmFtZXN6ID09IDYKLSsJ ICAmJiBzdHJjbXAgKG5vdGUtPm5hbWVkYXRhLCAiTElOVVgiKSA9PSAwKQotKwlyZXR1cm4gZWxm Y29yZV9ncm9rX3MzOTBfZ3NfY2IgKGFiZmQsIG5vdGUpOwotKyAgICAgIGVsc2UKLSsJcmV0dXJu IFRSVUU7Ci0rCi0gICAgIGNhc2UgTlRfQVJNX1ZGUDoKLSAgICAgICBpZiAobm90ZS0+bmFtZXN6 ID09IDYKLSAJICAmJiBzdHJjbXAgKG5vdGUtPm5hbWVkYXRhLCAiTElOVVgiKSA9PSAwKQotQEAg LTEwNzI4LDYgKzEwNzU0LDMyIEBAIGVsZmNvcmVfd3JpdGVfczM5MF92eHJzX2hpZ2ggKGJmZCAq YWJmZCwKLSB9Ci0gCi0gY2hhciAqCi0rZWxmY29yZV93cml0ZV9zMzkwX2dzX2NiIChiZmQgKmFi ZmQsCi0rCQkJICBjaGFyICpidWYsCi0rCQkJICBpbnQgKmJ1ZnNpeiwKLSsJCQkgIGNvbnN0IHZv aWQgKnMzOTBfZ3NfY2IsCi0rCQkJICBpbnQgc2l6ZSkKLSt7Ci0rICBjaGFyICpub3RlX25hbWUg PSAiTElOVVgiOwotKyAgcmV0dXJuIGVsZmNvcmVfd3JpdGVfbm90ZSAoYWJmZCwgYnVmLCBidWZz aXosCi0rCQkJICAgICBub3RlX25hbWUsIE5UX1MzOTBfR1NfQ0IsCi0rCQkJICAgICBzMzkwX2dz X2NiLCBzaXplKTsKLSt9Ci0rCi0rY2hhciAqCi0rZWxmY29yZV93cml0ZV9zMzkwX2dzX2JjIChi ZmQgKmFiZmQsCi0rCQkJICBjaGFyICpidWYsCi0rCQkJICBpbnQgKmJ1ZnNpeiwKLSsJCQkgIGNv bnN0IHZvaWQgKnMzOTBfZ3NfYmMsCi0rCQkJICBpbnQgc2l6ZSkKLSt7Ci0rICBjaGFyICpub3Rl X25hbWUgPSAiTElOVVgiOwotKyAgcmV0dXJuIGVsZmNvcmVfd3JpdGVfbm90ZSAoYWJmZCwgYnVm LCBidWZzaXosCi0rCQkJICAgICBub3RlX25hbWUsIE5UX1MzOTBfR1NfQkMsCi0rCQkJICAgICBz MzkwX2dzX2JjLCBzaXplKTsKLSt9Ci0rCi0rY2hhciAqCi0gZWxmY29yZV93cml0ZV9hcm1fdmZw IChiZmQgKmFiZmQsCi0gCQkgICAgICAgY2hhciAqYnVmLAotIAkJICAgICAgIGludCAqYnVmc2l6 LAotQEAgLTEwODE1LDYgKzEwODY3LDEwIEBAIGVsZmNvcmVfd3JpdGVfcmVnaXN0ZXJfbm90ZSAo YmZkICphYmZkLAotICAgICByZXR1cm4gZWxmY29yZV93cml0ZV9zMzkwX3Z4cnNfbG93IChhYmZk LCBidWYsIGJ1ZnNpeiwgZGF0YSwgc2l6ZSk7Ci0gICBpZiAoc3RyY21wIChzZWN0aW9uLCAiLnJl Zy1zMzkwLXZ4cnMtaGlnaCIpID09IDApCi0gICAgIHJldHVybiBlbGZjb3JlX3dyaXRlX3MzOTBf dnhyc19oaWdoIChhYmZkLCBidWYsIGJ1ZnNpeiwgZGF0YSwgc2l6ZSk7Ci0rICBpZiAoc3RyY21w IChzZWN0aW9uLCAiLnJlZy1zMzkwLWdzLWNiIikgPT0gMCkKLSsgICAgcmV0dXJuIGVsZmNvcmVf d3JpdGVfczM5MF9nc19jYiAoYWJmZCwgYnVmLCBidWZzaXosIGRhdGEsIHNpemUpOwotKyAgaWYg KHN0cmNtcCAoc2VjdGlvbiwgIi5yZWctczM5MC1ncy1iYyIpID09IDApCi0rICAgIHJldHVybiBl bGZjb3JlX3dyaXRlX3MzOTBfZ3NfYmMgKGFiZmQsIGJ1ZiwgYnVmc2l6LCBkYXRhLCBzaXplKTsK LSAgIGlmIChzdHJjbXAgKHNlY3Rpb24sICIucmVnLWFybS12ZnAiKSA9PSAwKQotICAgICByZXR1 cm4gZWxmY29yZV93cml0ZV9hcm1fdmZwIChhYmZkLCBidWYsIGJ1ZnNpeiwgZGF0YSwgc2l6ZSk7 Ci0gICBpZiAoc3RyY21wIChzZWN0aW9uLCAiLnJlZy1hYXJjaC10bHMiKSA9PSAwKQotIyMjIGEv aW5jbHVkZS9DaGFuZ2VMb2cKLSMjIyBiL2luY2x1ZGUvQ2hhbmdlTG9nCi0jIyAtMSwzICsxLDgg QEAKLSsyMDE3LTA2LTI5ICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29t PgotKwotKwkqIGVsZi9jb21tb24uaCAoTlRfUzM5MF9HU19DQik6IE5ldyBtYWNyby4KLSsJKE5U X1MzOTBfR1NfQkMpOiBMaWtld2lzZS4KLSsKLSAyMDE3LTA2LTI4ICBUYW1hciBDaHJpc3RpbmEg IDx0YW1hci5jaHJpc3RpbmFAYXJtLmNvbT4KLSAKLSAJKiBvcGNvZGUvYWFyY2g2NC5oOiAoQUFS Q0g2NF9GRUFUVVJFX0RPVFBST0QpOiBOZXcuCi0tLS0gYS9pbmNsdWRlL2VsZi9jb21tb24uaAot KysrIGIvaW5jbHVkZS9lbGYvY29tbW9uLmgKLUBAIC01OTgsNiArNTk4LDEwIEBACi0gCQkJCQkv KiAgIG5vdGUgbmFtZSBtdXN0IGJlICJMSU5VWCIuICAqLwotICNkZWZpbmUgTlRfUzM5MF9WWFJT X0hJR0gJMHgzMGEJLyogUzM5MCB2ZWN0b3IgcmVnaXN0ZXJzIDE2LTMxICovCi0gCQkJCQkvKiAg IG5vdGUgbmFtZSBtdXN0IGJlICJMSU5VWCIuICAqLwotKyNkZWZpbmUgTlRfUzM5MF9HU19DQgkw eDMwYgkJLyogczM5MCBndWFyZGVkIHN0b3JhZ2UgcmVnaXN0ZXJzICovCi0rCQkJCQkvKiAgIG5v dGUgbmFtZSBtdXN0IGJlICJMSU5VWCIuICAqLwotKyNkZWZpbmUgTlRfUzM5MF9HU19CQwkweDMw YwkJLyogczM5MCBndWFyZGVkIHN0b3JhZ2UgYnJvYWRjYXN0IGNvbnRyb2wgYmxvY2sgKi8KLSsJ CQkJCS8qICAgbm90ZSBuYW1lIG11c3QgYmUgIkxJTlVYIi4gICovCi0gI2RlZmluZSBOVF9BUk1f VkZQCTB4NDAwCQkvKiBBUk0gVkZQIHJlZ2lzdGVycyAqLwotIC8qIFRoZSBmb2xsb3dpbmcgZGVm aW5pdGlvbnMgc2hvdWxkIHJlYWxseSB1c2UgTlRfQUFSQ0hfLi4uLCBidXQgZGVmaW5lZAotICAg IHRoaXMgd2F5IGZvciBjb21wYXRpYmlsaXR5IHdpdGggTGludXguICAqLwoKZGlmZiAtLWdpdCBh L2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0zMm9mMzUucGF0Y2ggYi9nZGItcmhiejE0MjAzMDQtczM5 MHgtMzJvZjM1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxM2Y0OTIyLi4w MDAwMDAwCi0tLSBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0zMm9mMzUucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwzODYgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlk QGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1Ympl Y3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0zMm9mMzUucGF0Y2gKLQotRmlsZU5hbWU6IGdkYi1y aGJ6MTQyMDMwNC1zMzkweC0zMm9mMzUucGF0Y2gKLQotY29tbWl0IDU1ZWZjZWFiYzYxNDllOTYx MzRjMTA2NzZhZGIyYjFlNzllMGFlMTMKLUF1dGhvcjogQW5kcmVhcyBBcm5leiA8YXJuZXpAbGlu dXgudm5ldC5pYm0uY29tPgotRGF0ZTogICBUaHUgSnVsIDEzIDIwOjE3OjAzIDIwMTcgKzAyMDAK LQotICAgIFMzOTA6IEFkZCByZWNvcmQvcmVwbGF5IHN1cHBvcnQgZm9yIGFyY2gxMiBpbnN0cnVj dGlvbnMKLSAgICAKLSAgICBTdXBwb3J0IHJlY29yZC9yZXBsYXkgb2YgdGhlIHovQXJjaGl0ZWN0 dXJlIGluc3RydWN0aW9ucyB0aGF0IHdlcmUKLSAgICBpbnRyb2R1Y2VkIHdpdGggYXJjaDEyLgot ICAgIAotICAgIGdkYi9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgICAgICAgICAqIHMzOTAtbGludXgt dGRlcC5jIChzMzkwX3Byb2Nlc3NfcmVjb3JkKTogQWRkIHN1cHBvcnQgZm9yCi0gICAgICAgICAg ICBpbnN0cnVjdGlvbnMgbmV3IGluIGFyY2gxMi4KLQotIyMjIGEvZ2RiL0NoYW5nZUxvZwotIyMj IGIvZ2RiL0NoYW5nZUxvZwotIyMgLTEsMyArMSw4IEBACi0rMjAxNy0wNy0xMyAgQW5kcmVhcyBB cm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSsKLSsJKiBzMzkwLWxpbnV4LXRkZXAu YyAoczM5MF9wcm9jZXNzX3JlY29yZCk6IEFkZCBzdXBwb3J0IGZvcgotKwlpbnN0cnVjdGlvbnMg bmV3IGluIGFyY2gxMi4KLSsKLSAyMDE3LTA3LTExICBKb2huIEJhbGR3aW4gIDxqaGJARnJlZUJT RC5vcmc+Ci0gCi0gCSogYW1kNjQtYnNkLW5hdC5jIChhbWQ2NGJzZF9mZXRjaF9pbmZlcmlvcl9y ZWdpc3RlcnMpOiBVc2UKLS0tLSBhL2dkYi9zMzkwLWxpbnV4LXRkZXAuYwotKysrIGIvZ2RiL3Mz OTAtbGludXgtdGRlcC5jCi1AQCAtNDk5Miw2ICs0OTkyLDggQEAgZXg6Ci0gICAgICAgICBjYXNl IDB4YjllOTogLyogU0dSSyAtIHN1YnRyYWN0ICovCi0gICAgICAgICBjYXNlIDB4YjllYTogLyog QUxHUksgLSBhZGQgbG9naWNhbCAqLwotICAgICAgICAgY2FzZSAweGI5ZWI6IC8qIFNMR1JLIC0g c3VidHJhY3QgbG9naWNhbCAqLwotKwljYXNlIDB4YjllZDogLyogTVNHUktDIC0gbXVsdGlwbHkg c2luZ2xlIDY0eDY0IC0+IDY0ICovCi0rCWNhc2UgMHhiOWZkOiAvKiBNU1JLQyAtIG11bHRpcGx5 IHNpbmdsZSAzMngzMiAtPiAzMiAqLwotICAgICAgICAgICAvKiA2NC1iaXQgZ3ByIGRlc3RpbmF0 aW9uICsgZmxhZ3MgKi8KLSAgICAgICAgICAgaWYgKHMzOTBfcmVjb3JkX2dwcl9nIChnZGJhcmNo LCByZWdjYWNoZSwgaW5pYls2XSkpCi0gICAgICAgICAgICAgcmV0dXJuIC0xOwotQEAgLTUwMTks NyArNTAyMSw3IEBAIGV4OgotICAgICAgICAgY2FzZSAweGI5MTQ6IC8qIExHRlIgLSBsb2FkICov Ci0gICAgICAgICBjYXNlIDB4YjkxNjogLyogTExHRlIgLSBsb2FkIGxvZ2ljYWwgKi8KLSAgICAg ICAgIGNhc2UgMHhiOTE3OiAvKiBMTEdUUiAtIGxvYWQgbG9naWNhbCB0aGlydHkgb25lIGJpdHMg Ki8KLS0gICAgICAgIGNhc2UgMHhiOTFjOiAvKiBNU0dGUiAtIGxvYWQgKi8KLSsJY2FzZSAweGI5 MWM6IC8qIE1TR0ZSIC0gbXVsdGlwbHkgc2luZ2xlIDY0PDMyICovCi0gICAgICAgICBjYXNlIDB4 Yjk0NjogLyogQkNUR1IgLSBicmFuY2ggb24gY291bnQgKi8KLSAgICAgICAgIGNhc2UgMHhiOTg0 OiAvKiBMTEdDUiAtIGxvYWQgbG9naWNhbCBjaGFyYWN0ZXIgKi8KLSAgICAgICAgIGNhc2UgMHhi OTg1OiAvKiBMTEdIUiAtIGxvYWQgbG9naWNhbCBoYWxmd29yZCAqLwotQEAgLTUwMzgsNiArNTA0 MCw3IEBAIGV4OgotICAgICAgICAgY2FzZSAweGI5MWQ6IC8qIERTR0ZSIC0gZGl2aWRlIHNpbmds ZSAqLwotICAgICAgICAgY2FzZSAweGI5ODY6IC8qIE1MR1IgLSBtdWx0aXBseSBsb2dpY2FsICov Ci0gICAgICAgICBjYXNlIDB4Yjk4NzogLyogRExHUiAtIGRpdmlkZSBsb2dpY2FsICovCi0rCWNh c2UgMHhiOWVjOiAvKiBNR1JLIC0gbXVsdGlwbHkgNjR4NjQgLT4gMTI4ICovCi0gICAgICAgICAg IC8qIDY0LWJpdCBncHIgcGFpciBkZXN0aW5hdGlvbiAgKi8KLSAgICAgICAgICAgaWYgKHMzOTBf cmVjb3JkX2dwcl9nIChnZGJhcmNoLCByZWdjYWNoZSwgaW5pYls2XSkpCi0gICAgICAgICAgICAg cmV0dXJuIC0xOwotQEAgLTUxMDYsOCArNTEwOSw4IEBAIGV4OgotICAgICAgICAgLyogMHhiOTIy LTB4YjkyNCB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8qIDB4YjkyNSBwcml2aWxlZ2VkICovCi0g ICAgICAgICAvKiAweGI5MjggcHJpdmlsZWdlZCAqLwotLSAgICAgICAgLyogMHhiOTI5IHVuZGVm aW5lZCAqLwotIAotKwljYXNlIDB4YjkyOTogLyogS01BIC0gY2lwaGVyIG1lc3NhZ2Ugd2l0aCBh dXRoZW50aWNhdGlvbiAqLwotICAgICAgICAgY2FzZSAweGI5MmE6IC8qIEtNRiAtIGNpcGhlciBt ZXNzYWdlIHdpdGggY2lwaGVyIGZlZWRiYWNrIFtwYXJ0aWFsXSAqLwotICAgICAgICAgY2FzZSAw eGI5MmI6IC8qIEtNTyAtIGNpcGhlciBtZXNzYWdlIHdpdGggb3V0cHV0IGZlZWRiYWNrIFtwYXJ0 aWFsXSAqLwotICAgICAgICAgY2FzZSAweGI5MmY6IC8qIEtNQyAtIGNpcGhlciBtZXNzYWdlIHdp dGggY2hhaW5pbmcgW3BhcnRpYWxdICovCi1AQCAtNTE3MCw2ICs1MTczLDE1IEBAIGV4OgotICAg ICAgICAgICAgICAgaWYgKHJlY29yZF9mdWxsX2FyY2hfbGlzdF9hZGRfcmVnIChyZWdjYWNoZSwg UzM5MF9SMF9SRUdOVU0gKyAoaW5pYls3XSB8IDEpKSkKLSAgICAgICAgICAgICAgICAgcmV0dXJu IC0xOwotICAgICAgICAgICAgIH0KLSsJICBpZiAodG1wICE9IDAgJiYgaW5zblswXSA9PSAweGI5 MjkpCi0rCSAgICB7Ci0rCSAgICAgIGlmIChyZWNvcmRfZnVsbF9hcmNoX2xpc3RfYWRkX3JlZyAo cmVnY2FjaGUsCi0rCQkJCQkJIFMzOTBfUjBfUkVHTlVNICsgaW5pYls0XSkpCi0rCQlyZXR1cm4g LTE7Ci0rCSAgICAgIGlmIChyZWNvcmRfZnVsbF9hcmNoX2xpc3RfYWRkX3JlZyAocmVnY2FjaGUs Ci0rCQkJCQkJIFMzOTBfUjBfUkVHTlVNICsgKGluaWJbNF0gfCAxKSkpCi0rCQlyZXR1cm4gLTE7 Ci0rCSAgICB9Ci0gICAgICAgICAgIGlmIChyZWNvcmRfZnVsbF9hcmNoX2xpc3RfYWRkX3JlZyAo cmVnY2FjaGUsIFMzOTBfUFNXTV9SRUdOVU0pKQotICAgICAgICAgICAgIHJldHVybiAtMTsKLSAg ICAgICAgICAgYnJlYWs7Ci1AQCAtNTU3MSwxMCArNTU4MywxMSBAQCBleDoKLSAKLSAgICAgICAg IC8qIDB4YjllMyB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8qIDB4YjllNSB1bmRlZmluZWQgKi8K LS0gICAgICAgIC8qIDB4YjllYy0weGI5ZjEgdW5kZWZpbmVkICovCi0rCS8qIDB4YjllZS0weGI5 ZjEgdW5kZWZpbmVkICovCi0gICAgICAgICAvKiAweGI5ZjMgdW5kZWZpbmVkICovCi0gICAgICAg ICAvKiAweGI5ZjUgdW5kZWZpbmVkICovCi0tICAgICAgICAvKiAweGI5ZmMtMHhiOWZmIHVuZGVm aW5lZCAqLwotKwkvKiAweGI5ZmMgdW5kZWZpbmVkICovCi0rCS8qIDB4YjlmZSAtMHhiOWZmIHVu ZGVmaW5lZCAqLwotIAotICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgZ290byBVTktOT1dO X09QOwotQEAgLTU5NjIsNiArNTk3NSw3IEBAIGV4OgotICAgICAgIGJyZWFrOwotIAotICAgICBj YXNlIDB4ZTM6Ci0rICAgIGNhc2UgMHhlNjoKLSAgICAgY2FzZSAweGU3OgotICAgICBjYXNlIDB4 ZWI6Ci0gICAgIGNhc2UgMHhlZDoKLUBAIC02MDA2LDYgKzYwMjAsNyBAQCBleDoKLSAgICAgICAg IGNhc2UgMHhlMzFjOiAvKiBNU0dGIC0gbXVsdGlwbHkgc2luZ2xlICovCi0gICAgICAgICBjYXNl IDB4ZTMyYTogLyogTFpSRyAtIGxvYWQgYW5kIHplcm8gcmlnaHRtb3N0IGJ5dGUgKi8KLSAgICAg ICAgIGNhc2UgMHhlMzNhOiAvKiBMTFpSR0YgLSBsb2FkIGxvZ2ljYWwgYW5kIHplcm8gcmlnaHRt b3N0IGJ5dGUgKi8KLSsJY2FzZSAweGUzM2M6IC8qIE1HSCAtIG11bHRpcGx5IGhhbGZ3b3JkIDY0 eDE2bWVtIC0+IDY0ICovCi0gICAgICAgICBjYXNlIDB4ZTM0NjogLyogQkNURyAtIGJyYW5jaCBv biBjb3VudCAqLwotICAgICAgICAgY2FzZSAweGUzNzc6IC8qIExHQiAtIGxvYWQgYnl0ZSAqLwot ICAgICAgICAgY2FzZSAweGUzOTA6IC8qIExMR0MgLSBsb2FkIGxvZ2ljYWwgY2hhcmFjdGVyICov Ci1AQCAtNjAzNiw2ICs2MDUxLDcgQEAgZXg6Ci0gCi0gICAgICAgICBjYXNlIDB4ZTMwZDogLyog RFNHIC0gZGl2aWRlIHNpbmdsZSAqLwotICAgICAgICAgY2FzZSAweGUzMWQ6IC8qIERTR0YgLSBk aXZpZGUgc2luZ2xlICovCi0rCWNhc2UgMHhlMzg0OiAvKiBNRyAtIG11bHRpcGx5IDY0eDY0bWVt IC0+IDEyOCAqLwotICAgICAgICAgY2FzZSAweGUzODY6IC8qIE1MRyAtIG11bHRpcGx5IGxvZ2lj YWwgKi8KLSAgICAgICAgIGNhc2UgMHhlMzg3OiAvKiBETEcgLSBkaXZpZGUgbG9naWNhbCAqLwot ICAgICAgICAgY2FzZSAweGUzOGY6IC8qIExQUSAtIGxvYWQgcGFpciBmcm9tIHF1YWR3b3JkICov Ci1AQCAtNjA1Nyw2ICs2MDczLDkgQEAgZXg6Ci0gICAgICAgICAvKiAweGUzMTAtMHhlMzExIHVu ZGVmaW5lZCAqLwotIAotICAgICAgICAgY2FzZSAweGUzMTI6IC8qIExUIC0gbG9hZCBhbmQgdGVz dCAqLwotKwljYXNlIDB4ZTMzODogLyogQUdIIC0gYWRkIGhhbGZ3b3JkIHRvIDY0IGJpdCB2YWx1 ZSAqLwotKwljYXNlIDB4ZTMzOTogLyogU0dIIC0gc3VidHJhY3QgaGFsZndvcmQgZnJvbSA2NCBi aXQgdmFsdWUgKi8KLSsJY2FzZSAweGUzNTM6IC8qIE1TQyAtIG11bHRpcGx5IHNpbmdsZSAzMngz Mm1lbSAtPiAzMiAqLwotICAgICAgICAgY2FzZSAweGUzNTQ6IC8qIE5ZIC0gYW5kICovCi0gICAg ICAgICBjYXNlIDB4ZTM1NjogLyogT1kgLSBvciAqLwotICAgICAgICAgY2FzZSAweGUzNTc6IC8q IFhZIC0geG9yICovCi1AQCAtNjA2NiwxMyArNjA4NSwxNCBAQCBleDoKLSAgICAgICAgIGNhc2Ug MHhlMzVmOiAvKiBTTFkgLSBzdWJ0cmFjdCBsb2dpY2FsICovCi0gICAgICAgICBjYXNlIDB4ZTM3 YTogLyogQUhZIC0gYWRkIGhhbGZ3b3JkICovCi0gICAgICAgICBjYXNlIDB4ZTM3YjogLyogU0hZ IC0gc3VidHJhY3QgaGFsZndvcmQgKi8KLSsJY2FzZSAweGUzODM6IC8qIE1TR0MgLSBtdWx0aXBs eSBzaW5nbGUgNjR4NjRtZW0gLT4gNjQgKi8KLSAgICAgICAgIGNhc2UgMHhlMzk4OiAvKiBBTEMg LSBhZGQgbG9naWNhbCB3aXRoIGNhcnJ5ICovCi0gICAgICAgICBjYXNlIDB4ZTM5OTogLyogU0xC IC0gc3VidHJhY3QgbG9naWNhbCB3aXRoIGJvcnJvdyAqLwotICAgICAgICAgY2FzZSAweGU3Mjc6 IC8qIExDQkIgLSBsb2FkIGNvdW50IHRvIGJsb2NrIGJvdW5kdWFyeSAqLwotICAgICAgICAgY2Fz ZSAweGViODE6IC8qIElDTVkgLSBpbnNlcnQgY2hhcmFjdGVycyB1bmRlciBtYXNrICovCi0gICAg ICAgICBjYXNlIDB4ZWJkYzogLyogU1JBSyAtIHNoaWZ0IGxlZnQgc2luZ2xlICovCi0gICAgICAg ICBjYXNlIDB4ZWJkZDogLyogU0xBSyAtIHNoaWZ0IGxlZnQgc2luZ2xlICovCi0tICAgICAgICAg IC8qIDMyLWJpdCBncHIgZGVzdGluYXRpb24gKyBmbGFncyAqLwotKwkgIC8qIDMyLzY0LWJpdCBn cHIgZGVzdGluYXRpb24gKyBmbGFncyAqLwotICAgICAgICAgICBpZiAocmVjb3JkX2Z1bGxfYXJj aF9saXN0X2FkZF9yZWcgKHJlZ2NhY2hlLCBTMzkwX1IwX1JFR05VTSArIGluaWJbMl0pKQotICAg ICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgaWYgKHJlY29yZF9mdWxsX2FyY2hfbGlz dF9hZGRfcmVnIChyZWdjYWNoZSwgUzM5MF9QU1dNX1JFR05VTSkpCi1AQCAtNjE2MCw3ICs2MTgw LDcgQEAgZXg6Ci0gICAgICAgICBjYXNlIDB4ZTMzNjogLyogUEZEIC0gcHJlZmV0Y2ggZGF0YSAq LwotICAgICAgICAgICBicmVhazsKLSAKLS0gICAgICAgIC8qIDB4ZTMzNy0weGUzMzkgdW5kZWZp bmVkICovCi0rCS8qIDB4ZTMzNyB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8qIDB4ZTMzYy0weGUz M2QgdW5kZWZpbmVkICovCi0gCi0gICAgICAgICBjYXNlIDB4ZTMzZTogLyogU1RSViAtIHN0b3Jl IHJldmVyc2VkICovCi1AQCAtNjE4Myw4ICs2MjAzLDEyIEBAIGV4OgotICAgICAgICAgICBicmVh azsKLSAKLSAgICAgICAgIC8qIDB4ZTM0MC0weGUzNDUgdW5kZWZpbmVkICovCi0tICAgICAgICAv KiAweGUzNDctMHhlMzRmIHVuZGVmaW5lZCAqLwotLSAgICAgICAgLyogMHhlMzUyLTB4ZTM1MyB1 bmRlZmluZWQgKi8KLSsKLSsJY2FzZSAweGUzNDc6IC8qIEJJQyAtIGJyYW5jaCBpbmRpcmVjdCBv biBjb25kaXRpb24gKi8KLSsJICBicmVhazsKLSsKLSsJLyogMHhlMzQ4LTB4ZTM0ZiB1bmRlZmlu ZWQgKi8KLSsJLyogMHhlMzUyIHVuZGVmaW5lZCAqLwotIAotICAgICAgICAgY2FzZSAweGUzNWM6 IC8qIE1GWSAtIG11bHRpcGx5ICovCi0gICAgICAgICBjYXNlIDB4ZTM5NjogLyogTUwgLSBtdWx0 aXBseSBsb2dpY2FsICovCi1AQCAtNjIxNiwxMSArNjI0MCwxMiBAQCBleDoKLSAgICAgICAgICAg YnJlYWs7Ci0gCi0gICAgICAgICAvKiAweGUzN2QtMHhlMzdmIHVuZGVmaW5lZCAqLwotLSAgICAg ICAgLyogMHhlMzgzLTB4ZTM4NCB1bmRlZmluZWQgKi8KLSAKLSAgICAgICAgIGNhc2UgMHhlMzg1 OiAvKiBMR0FUIC0gbG9hZCBhbmQgdHJhcCAqLwotICAgICAgICAgY2FzZSAweGUzOWM6IC8qIExM R1RBVCAtIGxvYWQgbG9naWNhbCB0aGlydHkgb25lIGJpdHMgYW5kIHRyYXAgKi8KLSAgICAgICAg IGNhc2UgMHhlMzlkOiAvKiBMTEdGQVQgLSBsb2FkIGxvZ2ljYWwgYW5kIHRyYXAgKi8KLSsJY2Fz ZSAweGU2NTA6IC8qIFZDVkIgLSB2ZWN0b3IgY29udmVydCB0byBiaW5hcnkgMzIgYml0Ki8KLSsJ Y2FzZSAweGU2NTI6IC8qIFZDVkJHIC0gdmVjdG9yIGNvbnZlcnQgdG8gYmluYXJ5IDY0IGJpdCov Ci0gICAgICAgICBjYXNlIDB4ZTcyMTogLyogVkxHViAtIHZlY3RvciBsb2FkIGdyIGZyb20gdnIg ZWxlbWVudCAqLwotICAgICAgICAgICAvKiA2NC1iaXQgZ3ByIGRlc3RpbmF0aW9uICsgZnBjIGZv ciBwb3NzaWJsZSBEWEMgd3JpdGUgKi8KLSAgICAgICAgICAgaWYgKHMzOTBfcmVjb3JkX2dwcl9n IChnZGJhcmNoLCByZWdjYWNoZSwgaW5pYlsyXSkpCi1AQCAtNjI3MSw2ICs2Mjk2LDEwIEBAIGV4 OgotICAgICAgICAgLyogMHhlM2NlIHVuZGVmaW5lZCAqLwotICAgICAgICAgLyogMHhlM2QwLTB4 ZTNmZiB1bmRlZmluZWQgKi8KLSAKLSsJY2FzZSAweGU2MzQ6IC8qIFZQS1ogLSB2ZWN0b3IgcGFj ayB6b25lZCAqLwotKwljYXNlIDB4ZTYzNTogLyogVkxSTCAtIHZlY3RvciBsb2FkIHJpZ2h0bW9z dCB3aXRoIGltbWVkLiBsZW5ndGggKi8KLSsJY2FzZSAweGU2Mzc6IC8qIFZMUkxSIC0gdmVjdG9y IGxvYWQgcmlnaHRtb3N0IHdpdGggbGVuZ3RoICovCi0rCWNhc2UgMHhlNjQ5OiAvKiBWTElQIC0g dmVjdG9yIGxvYWQgaW1tZWRpYXRlIGRlY2ltYWwgKi8KLSAgICAgICAgIGNhc2UgMHhlNzAwOiAv KiBWTEVCIC0gdmVjdG9yIGxvYWQgZWxlbWVudCAqLwotICAgICAgICAgY2FzZSAweGU3MDE6IC8q IFZMRUggLSB2ZWN0b3IgbG9hZCBlbGVtZW50ICovCi0gICAgICAgICBjYXNlIDB4ZTcwMjogLyog VkxFRyAtIHZlY3RvciBsb2FkIGVsZW1lbnQgKi8KLUBAIC02MzExLDcgKzYzNDAsMTAgQEAgZXg6 Ci0gICAgICAgICBjYXNlIDB4ZTc2OTogLyogVk5DIC0gdmVjdG9yIGFuZCB3aXRoIGNvbXBsZW1l bnQgKi8KLSAgICAgICAgIGNhc2UgMHhlNzZhOiAvKiBWTyAtIHZlY3RvciBvciAqLwotICAgICAg ICAgY2FzZSAweGU3NmI6IC8qIFZOTyAtIHZlY3RvciBub3IgKi8KLSsJY2FzZSAweGU3NmM6IC8q IFZOWCAtIHZlY3RvciBub3QgZXhjbHVzaXZlIG9yICovCi0gICAgICAgICBjYXNlIDB4ZTc2ZDog LyogVlggLSB2ZWN0b3IgeG9yICovCi0rCWNhc2UgMHhlNzZlOiAvKiBWTk4gLSB2ZWN0b3IgbmFu ZCAqLwotKwljYXNlIDB4ZTc2ZjogLyogVk9DIC0gdmVjdG9yIG9yIHdpdGggY29tcGxlbWVudCAq LwotICAgICAgICAgY2FzZSAweGU3NzA6IC8qIFZFU0xWIC0gdmVjdG9yIGVsZW1lbnQgc2hpZnQg bGVmdCAqLwotICAgICAgICAgY2FzZSAweGU3NzI6IC8qIFZFUklNIC0gdmVjdG9yIGVsZW1lbnQg cm90YXRlIGFuZCBpbnNlcnQgdW5kZXIgbWFzayAqLwotICAgICAgICAgY2FzZSAweGU3NzM6IC8q IFZFUkxMViAtIHZlY3RvciBlbGVtZW50IHJvdGF0ZSBsZWZ0IGxvZ2ljYWwgKi8KLUBAIC02MzI1 LDExICs2MzU3LDE0IEBAIGV4OgotICAgICAgICAgY2FzZSAweGU3N2U6IC8qIFZTUkEgLSB2ZWN0 b3Igc2hpZnQgcmlnaHQgYXJpdGhtZXRpYyAqLwotICAgICAgICAgY2FzZSAweGU3N2Y6IC8qIFZT UkFCIC0gdmVjdG9yIHNoaWZ0IHJpZ2h0IGFyaXRobWV0aWMgYnkgYnl0ZSAqLwotICAgICAgICAg Y2FzZSAweGU3ODQ6IC8qIFZQREkgLSB2ZWN0b3IgcGVybXV0ZSBkb3VibGV3b3JkIGltbWVkaWF0 ZSAqLwotKwljYXNlIDB4ZTc4NTogLyogVkJQRVJNIC0gdmVjdG9yIGJpdCBwZXJtdXRlICovCi0g ICAgICAgICBjYXNlIDB4ZTc4YzogLyogVlBFUk0gLSB2ZWN0b3IgcGVybXV0ZSAqLwotICAgICAg ICAgY2FzZSAweGU3OGQ6IC8qIFZTRUwgLSB2ZWN0b3Igc2VsZWN0ICovCi0gICAgICAgICBjYXNl IDB4ZTc4ZTogLyogVkZNUyAtIHZlY3RvciBmcCBtdWx0aXBseSBhbmQgc3VidHJhY3QgKi8KLSAg ICAgICAgIGNhc2UgMHhlNzhmOiAvKiBWRk1BIC0gdmVjdG9yIGZwIG11bHRpcGx5IGFuZCBhZGQg Ki8KLSAgICAgICAgIGNhc2UgMHhlNzk0OiAvKiBWUEsgLSB2ZWN0b3IgcGFjayAqLwotKwljYXNl IDB4ZTc5ZTogLyogVkZOTVMgLSB2ZWN0b3IgZnAgbmVnYXRpdmUgbXVsdGlwbHkgYW5kIHN1YnRy YWN0ICovCi0rCWNhc2UgMHhlNzlmOiAvKiBWRk5NQSAtIHZlY3RvciBmcCBuZWdhdGl2ZSBtdWx0 aXBseSBhbmQgYWRkICovCi0gICAgICAgICBjYXNlIDB4ZTdhMTogLyogVk1MSCAtIHZlY3RvciBt dWx0aXBseSBsb2dpY2FsIGhpZ2ggKi8KLSAgICAgICAgIGNhc2UgMHhlN2EyOiAvKiBWTUwgLSB2 ZWN0b3IgbXVsdGlwbHkgbG93ICovCi0gICAgICAgICBjYXNlIDB4ZTdhMzogLyogVk1IIC0gdmVj dG9yIG11bHRpcGx5IGhpZ2ggKi8KLUBAIC02MzQ1LDYgKzYzODAsNyBAQCBleDoKLSAgICAgICAg IGNhc2UgMHhlN2FlOiAvKiBWTUFFIC0gdmVjdG9yIG11bHRpcGx5IGFuZCBhZGQgZXZlbiAqLwot ICAgICAgICAgY2FzZSAweGU3YWY6IC8qIFZNQU8gLSB2ZWN0b3IgbXVsdGlwbHkgYW5kIGFkZCBv ZGQgKi8KLSAgICAgICAgIGNhc2UgMHhlN2I0OiAvKiBWR0ZNIC0gdmVjdG9yIEdhbG9pcyBmaWVs ZCBtdWx0aXBseSBzdW0gKi8KLSsJY2FzZSAweGU3Yjg6IC8qIFZNU0wgLSB2ZWN0b3IgbXVsdGlw bHkgc3VtIGxvZ2ljYWwgKi8KLSAgICAgICAgIGNhc2UgMHhlN2I5OiAvKiBWQUNDQyAtIHZlY3Rv ciBhZGQgd2l0aCBjYXJyeSBjb21wdXRlIGNhcnJ5ICovCi0gICAgICAgICBjYXNlIDB4ZTdiYjog LyogVkFDIC0gdmVjdG9yIGFkZCB3aXRoIGNhcnJ5ICovCi0gICAgICAgICBjYXNlIDB4ZTdiYzog LyogVkdGTUEgLSB2ZWN0b3IgR2Fsb2lzIGZpZWxkIG11bHRpcGx5IHN1bSBhbmQgYWNjdW11bGF0 ZSAqLwotQEAgLTYzNTQsOCArNjM5MCw4IEBAIGV4OgotICAgICAgICAgY2FzZSAweGU3YzE6IC8q IFZDRExHIC0gdmVjdG9yIGNvbnZlcnQgZnJvbSBsb2dpY2FsIDY0LWJpdCAqLwotICAgICAgICAg Y2FzZSAweGU3YzI6IC8qIFZDR0QgLSB2ZWN0b3IgY29udmVydCB0byBmaXhlZCA2NC1iaXQgKi8K LSAgICAgICAgIGNhc2UgMHhlN2MzOiAvKiBWQ0RHIC0gdmVjdG9yIGNvbnZlcnQgZnJvbSBmaXhl ZCA2NC1iaXQgKi8KLS0gICAgICAgIGNhc2UgMHhlN2M0OiAvKiBWTERFIC0gdmVjdG9yIGZwIGxv YWQgbGVuZ3RoZW5lZCAqLwotLSAgICAgICAgY2FzZSAweGU3YzU6IC8qIFZMRUQgLSB2ZWN0b3Ig ZnAgbG9hZCByb3VuZGVkICovCi0rCWNhc2UgMHhlN2M0OiAvKiBWTERFL1ZGTEwgLSB2ZWN0b3Ig ZnAgbG9hZCBsZW5ndGhlbmVkICovCi0rCWNhc2UgMHhlN2M1OiAvKiBWTEVEL1ZGTFIgLSB2ZWN0 b3IgZnAgbG9hZCByb3VuZGVkICovCi0gICAgICAgICBjYXNlIDB4ZTdjNzogLyogVkZJIC0gdmVj dG9yIGxvYWQgZnAgaW50ZWdlciAqLwotICAgICAgICAgY2FzZSAweGU3Y2M6IC8qIFZGUFNPIC0g dmVjdG9yIGZwIHBlcmZvcm0gc2lnbiBvcGVyYXRpb24gKi8KLSAgICAgICAgIGNhc2UgMHhlN2Nl OiAvKiBWRlNRIC0gdmVjdG9yIGZwIHNxdWFyZSByb290ICovCi1AQCAtNjM2OSw2ICs2NDA1LDgg QEAgZXg6Ci0gICAgICAgICBjYXNlIDB4ZTdlMzogLyogVkZBIC0gdmVjdG9yIGZwIGFkZCAqLwot ICAgICAgICAgY2FzZSAweGU3ZTU6IC8qIFZGRCAtIHZlY3RvciBmcCBkaXZpZGUgKi8KLSAgICAg ICAgIGNhc2UgMHhlN2U3OiAvKiBWRk0gLSB2ZWN0b3IgZnAgbXVsdGlwbHkgKi8KLSsJY2FzZSAw eGU3ZWU6IC8qIFZGTUlOIC0gdmVjdG9yIGZwIG1pbmltdW0gKi8KLSsJY2FzZSAweGU3ZWY6IC8q IFZGTUFYIC0gdmVjdG9yIGZwIG1heGltdW0gKi8KLSAgICAgICAgIGNhc2UgMHhlN2YwOiAvKiBW QVZHTCAtIHZlY3RvciBhdmVyYWdlIGxvZ2ljYWwgKi8KLSAgICAgICAgIGNhc2UgMHhlN2YxOiAv KiBWQUNDIC0gdmVjdG9yIGFkZCBhbmQgY29tcHV0ZSBjYXJyeSAqLwotICAgICAgICAgY2FzZSAw eGU3ZjI6IC8qIFZBVkcgLSB2ZWN0b3IgYXZlcmFnZSAqLwotQEAgLTYzODYsNiArNjQyNCwxNCBA QCBleDoKLSAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgIGJyZWFrOwotIAotKwlj YXNlIDB4ZTYzZDogLyogVlNUUkwgLSB2ZWN0b3Igc3RvcmUgcmlnaHRtb3N0IHdpdGggaW1tZWQu IGxlbmd0aCAqLwotKwkgIG9hZGRyID0gczM5MF9yZWNvcmRfY2FsY19kaXNwIChnZGJhcmNoLCBy ZWdjYWNoZSwgMCwgaW5zblsxXSwgMCk7Ci0rCSAgaWYgKHJlY29yZF9mdWxsX2FyY2hfbGlzdF9h ZGRfbWVtIChvYWRkciwgaW5pYlszXSArIDEpKQotKwkgICAgcmV0dXJuIC0xOwotKwkgIGlmIChy ZWNvcmRfZnVsbF9hcmNoX2xpc3RfYWRkX3JlZyAocmVnY2FjaGUsIFMzOTBfRlBDX1JFR05VTSkp Ci0rCSAgICByZXR1cm4gLTE7Ci0rCSAgYnJlYWs7Ci0rCi0gICAgICAgICBjYXNlIDB4ZTcwODog LyogVlNURUIgLSB2ZWN0b3Igc3RvcmUgZWxlbWVudCAqLwotICAgICAgICAgICBvYWRkciA9IHMz OTBfcmVjb3JkX2NhbGNfZGlzcCAoZ2RiYXJjaCwgcmVnY2FjaGUsIGluaWJbM10sIGluc25bMV0s IDApOwotICAgICAgICAgICBpZiAocmVjb3JkX2Z1bGxfYXJjaF9saXN0X2FkZF9tZW0gKG9hZGRy LCAxKSkKLUBAIC02NDgwLDEzICs2NTI2LDIyIEBAIGV4OgotICAgICAgICAgICAgIHJldHVybiAt MTsKLSAgICAgICAgICAgYnJlYWs7Ci0gCi0rCWNhc2UgMHhlNjNjOiAvKiBWVVBLWiAtIHZlY3Rv ciB1bnBhY2sgem9uZWQgKi8KLSsJICBvYWRkciA9IHMzOTBfcmVjb3JkX2NhbGNfZGlzcCAoZ2Ri YXJjaCwgcmVnY2FjaGUsIDAsIGluc25bMV0sIDApOwotKwkgIGlmIChyZWNvcmRfZnVsbF9hcmNo X2xpc3RfYWRkX21lbSAob2FkZHIsIChpYnl0ZVsxXSArIDEpICYgMzEpKQotKwkgICAgcmV0dXJu IC0xOwotKwkgIGlmIChyZWNvcmRfZnVsbF9hcmNoX2xpc3RfYWRkX3JlZyAocmVnY2FjaGUsIFMz OTBfUFNXTV9SRUdOVU0pKQotKwkgICAgcmV0dXJuIC0xOwotKwkgIGJyZWFrOwotKwotKwljYXNl IDB4ZTYzZjogLyogVlNUUkxSIC0gdmVjdG9yIHN0b3JlIHJpZ2h0bW9zdCB3aXRoIGxlbmd0aCAq LwotICAgICAgICAgY2FzZSAweGU3M2Y6IC8qIFZTVEwgLSB2ZWN0b3Igc3RvcmUgd2l0aCBsZW5n dGggKi8KLSAgICAgICAgICAgb2FkZHIgPSBzMzkwX3JlY29yZF9jYWxjX2Rpc3AgKGdkYmFyY2gs IHJlZ2NhY2hlLCAwLCBpbnNuWzFdLCAwKTsKLSAgICAgICAgICAgcmVnY2FjaGVfcmF3X3JlYWRf dW5zaWduZWQgKHJlZ2NhY2hlLCBTMzkwX1IwX1JFR05VTSArIGluaWJbM10sICZ0bXApOwotICAg ICAgICAgICB0bXAgJj0gMHhmZmZmZmZmZnU7Ci0tICAgICAgICAgIGlmICh0bXAgPiAxNikKLS0g ICAgICAgICAgICB0bXAgPSAxNjsKLS0gICAgICAgICAgaWYgKHJlY29yZF9mdWxsX2FyY2hfbGlz dF9hZGRfbWVtIChvYWRkciwgdG1wKSkKLSsJICBpZiAodG1wID4gMTUpCi0rCSAgICB0bXAgPSAx NTsKLSsJICBpZiAocmVjb3JkX2Z1bGxfYXJjaF9saXN0X2FkZF9tZW0gKG9hZGRyLCB0bXAgKyAx KSkKLSAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgIGlmIChyZWNvcmRfZnVsbF9h cmNoX2xpc3RfYWRkX3JlZyAocmVnY2FjaGUsIFMzOTBfRlBDX1JFR05VTSkpCi0gICAgICAgICAg ICAgcmV0dXJuIC0xOwotQEAgLTY0OTQsNiArNjU0OSwxNyBAQCBleDoKLSAKLSAgICAgICAgIC8q IDB4ZTc0Ny0weGU3NDkgdW5kZWZpbmVkICovCi0gCi0rCWNhc2UgMHhlNjU4OiAvKiBWQ1ZEIC0g dmVjdG9yIGNvbnZlcnQgdG8gZGVjaW1hbCAzMiBiaXQgKi8KLSsJY2FzZSAweGU2NTk6IC8qIFZT UlAgLSB2ZWN0b3Igc2hpZnQgYW5kIHJvdW5kIGRlY2ltYWwgKi8KLSsJY2FzZSAweGU2NWE6IC8q IFZDVkRHIC0gdmVjdG9yIGNvbnZlcnQgdG8gZGVjaW1hbCA2NCBiaXQqLwotKwljYXNlIDB4ZTY1 YjogLyogVlBTT1AgLSB2ZWN0b3IgcGVyZm9ybSBzaWduIG9wZXJhdGlvbiBkZWNpbWFsICovCi0r CWNhc2UgMHhlNjcxOiAvKiBWQVAgLSB2ZWN0b3IgYWRkIGRlY2ltYWwgKi8KLSsJY2FzZSAweGU2 NzM6IC8qIFZTUCAtIHZlY3RvciBzdWJ0cmFjdCBkZWNpbWFsICovCi0rCWNhc2UgMHhlNjc4OiAv KiBWTVAgLSB2ZWN0b3IgbXVsdGlwbHkgZGVjaW1hbCAqLwotKwljYXNlIDB4ZTY3OTogLyogVk1T UCAtIHZlY3RvciBtdWx0aXBseSBkZWNpbWFsICovCi0rCWNhc2UgMHhlNjdhOiAvKiBWRFAgLSB2 ZWN0b3IgZGl2aWRlIGRlY2ltYWwgKi8KLSsJY2FzZSAweGU2N2I6IC8qIFZSUCAtIHZlY3RvciBy ZW1haW5kZXIgZGVjaW1hbCAqLwotKwljYXNlIDB4ZTY3ZTogLyogVlNEUCAtIHZlY3RvciBzaGlm dCBhbmQgZGl2aWRlIGRlY2ltYWwgKi8KLSAgICAgICAgIGNhc2UgMHhlNzRhOiAvKiBWRlRDSSAt IHZlY3RvciBmcCB0ZXN0IGRhdGEgY2xhc3MgaW1tZWRpYXRlICovCi0gICAgICAgICBjYXNlIDB4 ZTc1YzogLyogVklTVFIgLSB2ZWN0b3IgaXNvbGF0ZSBzdHJpbmcgKi8KLSAgICAgICAgIGNhc2Ug MHhlNzgwOiAvKiBWRkVFIC0gdmVjdG9yIGZpbmQgZWxlbWVudCBlcXVhbCAqLwotQEAgLTY1MDQs NyArNjU3MCw3IEBAIGV4OgotICAgICAgICAgY2FzZSAweGU3OTc6IC8qIFZQS1MgLSB2ZWN0b3Ig cGFjayBzYXR1cmF0ZSAqLwotICAgICAgICAgY2FzZSAweGU3ZTg6IC8qIFZGQ0UgLSB2ZWN0b3Ig ZnAgY29tcGFyZSBlcXVhbCAqLwotICAgICAgICAgY2FzZSAweGU3ZWE6IC8qIFZGQ0hFIC0gdmVj dG9yIGZwIGNvbXBhcmUgaGlnaCBvciBlcXVhbCAqLwotLSAgICAgICAgY2FzZSAweGU3ZWI6IC8q IFZGQ0UgLSB2ZWN0b3IgZnAgY29tcGFyZSBoaWdoICovCi0rCWNhc2UgMHhlN2ViOiAvKiBWRkNI IC0gdmVjdG9yIGZwIGNvbXBhcmUgaGlnaCAqLwotICAgICAgICAgY2FzZSAweGU3Zjg6IC8qIFZD RVEgLSB2ZWN0b3IgY29tcGFyZSBlcXVhbCAqLwotICAgICAgICAgY2FzZSAweGU3Zjk6IC8qIFZD SEwgLSB2ZWN0b3IgY29tcGFyZSBoaWdoIGxvZ2ljYWwgKi8KLSAgICAgICAgIGNhc2UgMHhlN2Zi OiAvKiBWQ0ggLSB2ZWN0b3IgY29tcGFyZSBoaWdoICovCi1AQCAtNjUxNyw2ICs2NTgzLDE0IEBA IGV4OgotICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgYnJlYWs7Ci0gCi0rCWNh c2UgMHhlNjVmOiAvKiBWVFAgLSB2ZWN0b3IgdGVzdCBkZWNpbWFsICovCi0rCSAgLyogZmxhZ3Mg KyBGUEMgKi8KLSsJICBpZiAocmVjb3JkX2Z1bGxfYXJjaF9saXN0X2FkZF9yZWcgKHJlZ2NhY2hl LCBTMzkwX1BTV01fUkVHTlVNKSkKLSsJICAgIHJldHVybiAtMTsKLSsJICBpZiAocmVjb3JkX2Z1 bGxfYXJjaF9saXN0X2FkZF9yZWcgKHJlZ2NhY2hlLCBTMzkwX0ZQQ19SRUdOVU0pKQotKwkgICAg cmV0dXJuIC0xOwotKwkgIGJyZWFrOwotKwotICAgICAgICAgLyogMHhlNzRiLTB4ZTc0YyB1bmRl ZmluZWQgKi8KLSAgICAgICAgIC8qIDB4ZTc0ZS0weGU3NGYgdW5kZWZpbmVkICovCi0gICAgICAg ICAvKiAweGU3NTEgdW5kZWZpbmVkICovCi1AQCAtNjUyNCwyNiArNjU5OCwyNiBAQCBleDoKLSAg ICAgICAgIC8qIDB4ZTc1Ny0weGU3NWIgdW5kZWZpbmVkICovCi0gICAgICAgICAvKiAweGU3NWQt MHhlNzVlIHVuZGVmaW5lZCAqLwotICAgICAgICAgLyogMHhlNzYzIHVuZGVmaW5lZCAqLwotLSAg ICAgICAgLyogMHhlNzZjIHVuZGVmaW5lZCAqLwotLSAgICAgICAgLyogMHhlNzZlLTB4ZTc2ZiB1 bmRlZmluZWQgKi8KLSAgICAgICAgIC8qIDB4ZTc3MSB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8q IDB4ZTc3NiB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8qIDB4ZTc3OSB1bmRlZmluZWQgKi8KLSAg ICAgICAgIC8qIDB4ZTc3YiB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8qIDB4ZTc4MyB1bmRlZmlu ZWQgKi8KLS0gICAgICAgIC8qIDB4ZTc4NS0weGU3ODkgdW5kZWZpbmVkICovCi0rCS8qIDB4ZTc4 Ni0weGU3ODkgdW5kZWZpbmVkICovCi0gICAgICAgICAvKiAweGU3OGIgdW5kZWZpbmVkICovCi0g ICAgICAgICAvKiAweGU3OTAtMHhlNzkzIHVuZGVmaW5lZCAqLwotICAgICAgICAgLyogMHhlNzk2 IHVuZGVmaW5lZCAqLwotLSAgICAgICAgLyogMHhlNzk4LTB4ZTdhMCB1bmRlZmluZWQgKi8KLS0g ICAgICAgIC8qIDB4ZTdhOCB1bmRlZmluZWQgKi8KLSsJLyogMHhlNzk4LTB4ZTc5ZCB1bmRlZmlu ZWQgKi8KLSsJLyogMHhlN2EwIHVuZGVmaW5lZCAqLwotKwkvKiAweGU3YTggdW5kZWZpbmVkICov Ci0gICAgICAgICAvKiAweGU3YjAtMHhlN2IzIHVuZGVmaW5lZCAqLwotLSAgICAgICAgLyogMHhl N2I1LTB4ZTdiOCB1bmRlZmluZWQgKi8KLSsJLyogMHhlN2I1LTB4ZTdiNyB1bmRlZmluZWQgKi8K LSAgICAgICAgIC8qIDB4ZTdiYSB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8qIDB4ZTdiZSB1bmRl ZmluZWQgKi8KLSAgICAgICAgIC8qIDB4ZTdjNiB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8qIDB4 ZTdjOC0weGU3YzkgdW5kZWZpbmVkICovCi0gCi0rCWNhc2UgMHhlNjc3OiAvKiBWQ1AgLSB2ZWN0 b3IgY29tcGFyZSBkZWNpbWFsICovCi0gICAgICAgICBjYXNlIDB4ZTdjYTogLyogV0ZLIC0gdmVj dG9yIGZwIGNvbXBhcmUgYW5kIHNpZ25hbCBzY2FsYXIgKi8KLSAgICAgICAgIGNhc2UgMHhlN2Ni OiAvKiBXRkMgLSB2ZWN0b3IgZnAgY29tcGFyZSBzY2FsYXIgKi8KLSAgICAgICAgIGNhc2UgMHhl N2Q4OiAvKiBWVE0gLSB2ZWN0b3IgdGVzdCB1bmRlciBtYXNrICovCi1AQCAtNjU2OCw3ICs2NjQy LDcgQEAgZXg6Ci0gICAgICAgICAvKiAweGU3ZTQgdW5kZWZpbmVkICovCi0gICAgICAgICAvKiAw eGU3ZTYgdW5kZWZpbmVkICovCi0gICAgICAgICAvKiAweGU3ZTkgdW5kZWZpbmVkICovCi0tICAg ICAgICAvKiAweGU3ZWMtMHhlN2VmIHVuZGVmaW5lZCAqLwotKwkvKiAweGU3ZWMtMHhlN2VkIHVu ZGVmaW5lZCAqLwotICAgICAgICAgLyogMHhlN2Y0IHVuZGVmaW5lZCAqLwotICAgICAgICAgLyog MHhlN2Y2IHVuZGVmaW5lZCAqLwotICAgICAgICAgLyogMHhlN2ZhIHVuZGVmaW5lZCAqLwotQEAg LTcwNDgsOCArNzEyMiw2IEBAIGV4OgotICAgICAgICAgfQotICAgICAgIGJyZWFrOwotIAotLSAg ICAvKiAweGU2IHVuZGVmaW5lZCAqLwotLQotICAgICBjYXNlIDB4ZWM6Ci0gICAgICAgLyogUklF L1JJUy9SUlMtZm9ybWF0IGluc3RydWN0aW9uICovCi0gICAgICAgc3dpdGNoIChpYnl0ZVswXSA8 PCA4IHwgaWJ5dGVbNV0pCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTMzb2Yz NS5wYXRjaCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0zM29mMzUucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IGQyYzExNzAuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDIwMzA0 LXMzOTB4LTMzb2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLUZyb206 IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9j dCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMzNv ZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMzNvZjM1LnBhdGNo Ci0KLWNvbW1pdCA0NzgyNmNkYmVjMjU0OGNkMWQyNWFjZjRjZmFmOTA4YWU4OGYzMzI1Ci1BdXRo b3I6IEFuZHJlYXMgS3JlYmJlbCA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci1EYXRlOiAg IEZyaSBKdWwgMjEgMTA6NTQ6MDYgMjAxNyArMDIwMAotCi0gICAgUy8zOTA6IFN1cHBvcnQgejE0 IGFzIENQVSBuYW1lLgotICAgIAotICAgIFdpdGggSUJNIHoxNCBvZmZpY2lhbGx5IGFubm91bmNl ZCBJIGNhbiBhZGQgejE0IGFzIENQVSBuYW1lLgotICAgIAotICAgIE5vIHJlZ3Jlc3Npb25zIHdp dGggdGhhdCBwYXRjaCBvbiBzMzkweC4KLSAgICAKLSAgICBnYXMvQ2hhbmdlTG9nOgotICAgIAot ICAgIDIwMTctMDctMjEgIEFuZHJlYXMgS3JlYmJlbCAgPGtyZWJiZWxAbGludXgudm5ldC5pYm0u Y29tPgotICAgIAotICAgICAgICAgICAgKiBjb25maWcvdGMtczM5MC5jIChzMzkwX3BhcnNlX2Nw dSk6IEFkZCB6MTQgYXMgYWx0ZXJuYXRlIENQVQotICAgICAgICAgICAgbmFtZS4KLSAgICAgICAg ICAgICogZG9jL2FzLnRleGluZm86IEFkZCB6MTQgdG8gQ1BVIHN0cmluZyBsaXN0LgotICAgICAg ICAgICAgKiBkb2MvYy1zMzkwLnRleGk6IExpa2V3aXNlLgotICAgIAotICAgIG9wY29kZXMvQ2hh bmdlTG9nOgotICAgIAotICAgIDIwMTctMDctMjEgIEFuZHJlYXMgS3JlYmJlbCAgPGtyZWJiZWxA bGludXgudm5ldC5pYm0uY29tPgotICAgIAotICAgICAgICAgICAgKiBzMzkwLW1rb3BjLmMgKG1h aW4pOiBFbmFibGUgejE0IGFzIENQVSBzdHJpbmcgaW4gdGhlIG9wY29kZQotICAgICAgICAgICAg dGFibGUuCi0KLSMjIyBhL29wY29kZXMvQ2hhbmdlTG9nCi0jIyMgYi9vcGNvZGVzL0NoYW5nZUxv ZwotIyMgLTEsMyArMSw4IEBACi0rMjAxNy0wNy0yMSAgQW5kcmVhcyBLcmViYmVsICA8a3JlYmJl bEBsaW51eC52bmV0LmlibS5jb20+Ci0rCi0rCSogczM5MC1ta29wYy5jIChtYWluKTogRW5hYmxl IHoxNCBhcyBDUFUgc3RyaW5nIGluIHRoZSBvcGNvZGUKLSsJdGFibGUuCi0rCi0gMjAxNy0wNy0y MCAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KLSAKLSAJKiBwby9kZS5wbzogVXBk YXRlZCBHZXJtYW4gdHJhbnNsYXRpb24uCi0tLS0gYS9vcGNvZGVzL3MzOTAtbWtvcGMuYwotKysr IGIvb3Bjb2Rlcy9zMzkwLW1rb3BjLmMKLUBAIC0zNzQsNyArMzc0LDggQEAgbWFpbiAodm9pZCkK LSAgICAgICBlbHNlIGlmIChzdHJjbXAgKGNwdV9zdHJpbmcsICJ6MTMiKSA9PSAwCi0gCSAgICAg ICB8fCBzdHJjbXAgKGNwdV9zdHJpbmcsICJhcmNoMTEiKSA9PSAwKQotIAltaW5fY3B1ID0gUzM5 MF9PUENPREVfWjEzOwotLSAgICAgIGVsc2UgaWYgKHN0cmNtcCAoY3B1X3N0cmluZywgImFyY2gx MiIpID09IDApCi0rICAgICAgZWxzZSBpZiAoc3RyY21wIChjcHVfc3RyaW5nLCAiejE0IikgPT0g MAotKwkgICAgICAgfHwgc3RyY21wIChjcHVfc3RyaW5nLCAiYXJjaDEyIikgPT0gMCkKLSAJbWlu X2NwdSA9IFMzOTBfT1BDT0RFX0FSQ0gxMjsKLSAgICAgICBlbHNlIHsKLSAJZnByaW50ZiAoc3Rk ZXJyLCAiQ291bGRuJ3QgcGFyc2UgY3B1IHN0cmluZyAlc1xuIiwgY3B1X3N0cmluZyk7CgpkaWZm IC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTM0b2YzNS5wYXRjaCBiL2dkYi1yaGJ6MTQy MDMwNC1zMzkweC0zNG9mMzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgy NDJmMWIuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTM0b2YzNS5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8 aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAw Ci1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMzRvZjM1LnBhdGNoCi0KLUZpbGVOYW1l OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMzRvZjM1LnBhdGNoCi0KLWNvbW1pdCA3OWMxMmZhZWVh NTdlNjEzNjRiNmE3YTNlNDExYjA5NmVkY2U5ODljCi1BdXRob3I6IEFuZHJlYXMgS3JlYmJlbCA8 a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci1EYXRlOiAgIEZyaSBKdWwgMjggMTc6NTk6MjUg MjAxNyArMDIwMAotCi0gICAgUy8zOTA6IEZpeCBzZWdmYXVsdCB3aGVuIGxpbmtpbmcgLXNoYXJl ZCAtbm9zdGFydGZpbGVzCi0gICAgCi0gICAgUmVncmVzc2lvbi10ZXN0ZWQgb24gczM5MHguCi0g ICAgCi0gICAgYmZkL0NoYW5nZUxvZzoKLSAgICAKLSAgICAyMDE3LTA3LTI4ICBBbmRyZWFzIEty ZWJiZWwgIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAgICAKLSAgICAgICAgICAgICog ZWxmMzItczM5MC5jIChlbGZfczM5MF9maW5pc2hfZHluYW1pY19zZWN0aW9ucyk6IEFkZCBOVUxM Ci0gICAgICAgICAgICBwb2ludGVyIGNoZWNrIGZvciBodGFiLT5lbGYuaXJlbHBsdC4KLSAgICAg ICAgICAgICogZWxmNjQtczM5MC5jIChlbGZfczM5MF9maW5pc2hfZHluYW1pY19zZWN0aW9ucyk6 IExpa2V3aXNlLgotCi0tLS0gYS9iZmQvZWxmMzItczM5MC5jCi0rKysgYi9iZmQvZWxmMzItczM5 MC5jCi1AQCAtMzk0MSw3ICszOTQxLDkgQEAgZWxmX3MzOTBfZmluaXNoX2R5bmFtaWNfc2VjdGlv bnMgKGJmZCAqb3V0cHV0X2JmZCwKLSAJICAgICAgYnJlYWs7Ci0gCi0gCSAgICBjYXNlIERUX1BM VFJFTFNaOgotLQkgICAgICBkeW4uZF91bi5kX3ZhbCA9IGh0YWItPmVsZi5zcmVscGx0LT5zaXpl ICsgaHRhYi0+ZWxmLmlyZWxwbHQtPnNpemU7Ci0rCSAgICAgIGR5bi5kX3VuLmRfdmFsID0gaHRh Yi0+ZWxmLnNyZWxwbHQtPnNpemU7Ci0rCSAgICAgIGlmIChodGFiLT5lbGYuaXJlbHBsdCkKLSsJ CWR5bi5kX3VuLmRfdmFsICs9IGh0YWItPmVsZi5pcmVscGx0LT5zaXplOwotIAkgICAgICBicmVh azsKLSAJICAgIH0KLSAKLS0tLSBhL2JmZC9lbGY2NC1zMzkwLmMKLSsrKyBiL2JmZC9lbGY2NC1z MzkwLmMKLUBAIC0zNzQ1LDcgKzM3NDUsOSBAQCBlbGZfczM5MF9maW5pc2hfZHluYW1pY19zZWN0 aW9ucyAoYmZkICpvdXRwdXRfYmZkLAotIAkgICAgICBicmVhazsKLSAKLSAJICAgIGNhc2UgRFRf UExUUkVMU1o6Ci0tCSAgICAgIGR5bi5kX3VuLmRfdmFsID0gaHRhYi0+ZWxmLnNyZWxwbHQtPnNp emUgKyBodGFiLT5lbGYuaXJlbHBsdC0+c2l6ZTsKLSsJICAgICAgZHluLmRfdW4uZF92YWwgPSBo dGFiLT5lbGYuc3JlbHBsdC0+c2l6ZTsKLSsJICAgICAgaWYgKGh0YWItPmVsZi5pcmVscGx0KQot KwkJZHluLmRfdW4uZF92YWwgKz0gaHRhYi0+ZWxmLmlyZWxwbHQtPnNpemU7Ci0gCSAgICAgIGJy ZWFrOwotIAotIAkgICAgY2FzZSBEVF9SRUxBU1o6Ci1AQCAtMzc1Niw3ICszNzU4LDkgQEAgZWxm X3MzOTBfZmluaXNoX2R5bmFtaWNfc2VjdGlvbnMgKGJmZCAqb3V0cHV0X2JmZCwKLSAJCSBsaW5r ZXIgc2NyaXB0IGFycmFuZ2VzIGZvciAucmVsYS5wbHQgdG8gZm9sbG93IGFsbAotIAkJIG90aGVy IHJlbG9jYXRpb24gc2VjdGlvbnMsIHdlIGRvbid0IGhhdmUgdG8gd29ycnkKLSAJCSBhYm91dCBj aGFuZ2luZyB0aGUgRFRfUkVMQSBlbnRyeS4gICovCi0tCSAgICAgIGR5bi5kX3VuLmRfdmFsIC09 IGh0YWItPmVsZi5zcmVscGx0LT5zaXplICsgaHRhYi0+ZWxmLmlyZWxwbHQtPnNpemU7Ci0rCSAg ICAgIGR5bi5kX3VuLmRfdmFsIC09IGh0YWItPmVsZi5zcmVscGx0LT5zaXplOwotKwkgICAgICBp ZiAoaHRhYi0+ZWxmLmlyZWxwbHQpCi0rCQlkeW4uZF91bi5kX3ZhbCAtPSBodGFiLT5lbGYuaXJl bHBsdC0+c2l6ZTsKLSAJICAgICAgYnJlYWs7Ci0gCSAgICB9Ci0gCgpkaWZmIC0tZ2l0IGEvZ2Ri LXJoYnoxNDIwMzA0LXMzOTB4LTM1b2YzNS5wYXRjaCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0z NW9mMzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlMGEwZTAuLjAwMDAw MDAKLS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTM1b2YzNS5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDczICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFp bC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBn ZGItcmhiejE0MjAzMDQtczM5MHgtMzVvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0 MjAzMDQtczM5MHgtMzVvZjM1LnBhdGNoCi0KLWNvbW1pdCAxZWY2OTJlYTIzNzE0ODc2Y2MzMGIx YTNhYjNlZjMzYTEzNjlmMTdhCi1BdXRob3I6IEFuZHJlYXMgS3JlYmJlbCA8a3JlYmJlbEBsaW51 eC52bmV0LmlibS5jb20+Ci1EYXRlOiAgIFR1ZSBBdWcgMSAxNToxMzo0MCAyMDE3ICswMjAwCi0K LSAgICBTLzM5MDogRml4IGNsYWltZmlsZSBmYWlsdXJlcwotICAgIAotICAgIFRoaXMgZml4ZXMg YSBzZWdmYXVsdCB3aGVuIHRyeWluZyB0byBhY2Nlc3MgdGhlIGxvY2FsX3BsdCBmaWVsZCBpbiB0 aGUKLSAgICBzMzkwIHNwZWNpZmljIGVsZiBkYXRhIGFsdGhvdWcgdGhlIHVuZGVybGF5aW5nIG9i amVjdCBpcyBhIGdlbmVyaWMgZWxmCi0gICAgb2JqZWN0LgotICAgIAotICAgIFRoaXMgZml4ZXMg dGhlIGZvbGxvd2luZyB0ZXN0c3VpdGUgZmFpbHVyZXM6Ci0gICAgCi0gICAgPCBGQUlMOiBwbHVn aW4gY2xhaW1maWxlIHJlcGxhY2Ugc3ltYm9sIHdpdGggc291cmNlCi0gICAgPCBGQUlMOiBwbHVn aW4gY2xhaW1maWxlIHJlc29sdmUgc3ltYm9sIHdpdGggc291cmNlCi0gICAgPCBGQUlMOiBwbHVn aW4gY2xhaW1maWxlIHJlcGxhY2UgZmlsZSB3aXRoIHNvdXJjZQotICAgIDwgRkFJTDogcGx1Z2lu IHNldCBzeW1ib2wgdmlzaWJpbGl0eSB3aXRoIHNvdXJjZQotICAgIDwgRkFJTDogcGx1Z2luIGln bm9yZSBsaWIgd2l0aCBzb3VyY2UKLSAgICA8IEZBSUw6IHBsdWdpbiBjbGFpbWZpbGUgcmVwbGFj ZSBsaWIgd2l0aCBzb3VyY2UKLSAgICA8IEZBSUw6IHBsdWdpbiAyIHdpdGggc291cmNlIGxpYgot ICAgIDwgRkFJTDogbG9hZCBwbHVnaW4gMiB3aXRoIHNvdXJjZQotICAgIDwgRkFJTDogcGx1Z2lu IDMgd2l0aCBzb3VyY2UgbGliCi0gICAgPCBGQUlMOiBsb2FkIHBsdWdpbiAzIHdpdGggc291cmNl Ci0gICAgCi0gICAgYmZkL0NoYW5nZUxvZzoKLSAgICAKLSAgICAyMDE3LTA4LTAxICBBbmRyZWFz IEtyZWJiZWwgIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAgICAKLSAgICAgICAgICAg ICogZWxmMzItczM5MC5jIChlbGZfczM5MF9maW5pc2hfZHluYW1pY19zZWN0aW9ucyk6IFNraXAg aWYgaXQKLSAgICAgICAgICAgIGlzbid0IHRoZSBTLzM5MCBzcGVjaWZpYyBlbGYgZGF0YS4KLSAg ICAgICAgICAgICogZWxmNjQtczM5MC5jIChlbGZfczM5MF9maW5pc2hfZHluYW1pY19zZWN0aW9u cyk6IExpa2V3aXNlLgotCi0jIyMgYS9iZmQvQ2hhbmdlTG9nCi0jIyMgYi9iZmQvQ2hhbmdlTG9n Ci0jIyAtMSwzICsxLDkgQEAKLSsyMDE3LTA4LTAxICBBbmRyZWFzIEtyZWJiZWwgIDxrcmViYmVs QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSsKLSsJKiBlbGYzMi1zMzkwLmMgKGVsZl9zMzkwX2Zpbmlz aF9keW5hbWljX3NlY3Rpb25zKTogU2tpcCBpZiBpdAotKwlpc24ndCB0aGUgUy8zOTAgc3BlY2lm aWMgZWxmIGRhdGEuCi0rCSogZWxmNjQtczM5MC5jIChlbGZfczM5MF9maW5pc2hfZHluYW1pY19z ZWN0aW9ucyk6IExpa2V3aXNlLgotKwotIDIwMTctMDctMzEgIEt1YW4tTGluIENoZW4gIDxydWZ1 c0BhbmRlc3RlY2guY29tPgotIAotIAkqIGVsZnh4LXJpc2N2LmMgKHJpc2N2X2VsZl9hZGRfc3Vi X3JlbG9jKTogTmV3IGZ1bmN0aW9uLgotLS0tIGEvYmZkL2VsZjMyLXMzOTAuYwotKysrIGIvYmZk L2VsZjMyLXMzOTAuYwotQEAgLTQwMDEsNiArNDAwMSw5IEBAIGVsZl9zMzkwX2ZpbmlzaF9keW5h bWljX3NlY3Rpb25zIChiZmQgKm91dHB1dF9iZmQsCi0gCi0gICAgICAgc3ltdGFiX2hkciA9ICZl bGZfc3ltdGFiX2hkciAoaWJmZCk7Ci0gCi0rICAgICAgaWYgKCFpc19zMzkwX2VsZiAoaWJmZCkp Ci0rCWNvbnRpbnVlOwotKwotICAgICAgIGxvY2FsX3BsdCA9IGVsZl9zMzkwX2xvY2FsX3BsdCAo aWJmZCk7Ci0gICAgICAgaWYgKGxvY2FsX3BsdCAhPSBOVUxMKQotIAlmb3IgKGkgPSAwOyBpIDwg c3ltdGFiX2hkci0+c2hfaW5mbzsgaSsrKQotLS0tIGEvYmZkL2VsZjY0LXMzOTAuYwotKysrIGIv YmZkL2VsZjY0LXMzOTAuYwotQEAgLTM4MTQsNiArMzgxNCw5IEBAIGVsZl9zMzkwX2ZpbmlzaF9k eW5hbWljX3NlY3Rpb25zIChiZmQgKm91dHB1dF9iZmQsCi0gCi0gICAgICAgc3ltdGFiX2hkciA9 ICZlbGZfc3ltdGFiX2hkciAoaWJmZCk7Ci0gCi0rICAgICAgaWYgKCFpc19zMzkwX2VsZiAoaWJm ZCkpCi0rCWNvbnRpbnVlOwotKwotICAgICAgIGxvY2FsX3BsdCA9IGVsZl9zMzkwX2xvY2FsX3Bs dCAoaWJmZCk7Ci0gICAgICAgaWYgKGxvY2FsX3BsdCAhPSBOVUxMKQotIAlmb3IgKGkgPSAwOyBp IDwgc3ltdGFiX2hkci0+c2hfaW5mbzsgaSsrKQoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTQ5ODc1 OC0xb2Y1LnBhdGNoIGIvZ2RiLXJoYnoxNDk4NzU4LTFvZjUucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNzU1CmluZGV4IDRkNjhlMjIuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDk4NzU4LTFv ZjUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi1Gcm9tOiBGZWRvcmEgR0RC IHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTow Nzo1MCArMDIwMAotU3ViamVjdDogZ2RiLXJoYnoxNDk4NzU4LTFvZjUucGF0Y2gKLQotRmlsZU5h bWU6IGdkYi1yaGJ6MTQ5ODc1OC0xb2Y1LnBhdGNoCi0KLWNvbW1pdCA4ZmUwOWQ3NDIxZGI1MWJj MTNjOTIyODU0N2Q2M2U2MzE1YmQ2YmQwCi1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6QGxp bnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgVGh1IFNlcCAyMSAxNzo0NToxOCAyMDE3ICswMjAw Ci0KLSAgICBTLzM5MDogRml4IEVsZiBub3RlIHN3YXAgczM5MF9nc19iYyB2cy4gczM5MF9nc19j YgotICAgIAotICAgIEZpeCB0d28gdHlwb3MgdGhhdCByZXN1bHRlZCBpbiBzd2FwcGluZyB0aGUg QkZEIG5hbWVzIGZvciB0aGUgY29yZSBub3RlCi0gICAgcmVnaXN0ZXIgc2VjdGlvbnMgTlRfUzM5 MF9HU19DQiBhbmQgTlRfUzM5MF9HU19CQy4KLSAgICAKLSAgICBiZmQvQ2hhbmdlTG9nOgotICAg IAotICAgICAgICAgICAgKiBlbGYuYyAoZWxmY29yZV9ncm9rX25vdGUpOiBGb3IgdGhlIGNhc2Vz IE5UX1MzOTBfR1NfQ0IgYW5kCi0gICAgICAgICAgICBOVF9TMzkwX0dTX0JDLCBjb3JyZWN0IHRo ZSBwcmV2aW91c2x5IHN3YXBwZWQgaW52b2NhdGlvbnMgb2YKLSAgICAgICAgICAgIGVsZmNvcmVf Z3Jva19zMzkwX2dzX2JjIGFuZCBlbGZjb3JlX2dyb2tfczM5MF9nc19jYi4KLQotIyMjIGEvYmZk L0NoYW5nZUxvZwotIyMjIGIvYmZkL0NoYW5nZUxvZwotIyMgLTEsMyArMSw5IEBACi0rMjAxNy0w OS0yMSAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSsKLSsJKiBl bGYuYyAoZWxmY29yZV9ncm9rX25vdGUpOiBGb3IgdGhlIGNhc2VzIE5UX1MzOTBfR1NfQ0IgYW5k Ci0rCU5UX1MzOTBfR1NfQkMsIGNvcnJlY3QgdGhlIHByZXZpb3VzbHkgc3dhcHBlZCBpbnZvY2F0 aW9ucyBvZgotKwllbGZjb3JlX2dyb2tfczM5MF9nc19iYyBhbmQgZWxmY29yZV9ncm9rX3MzOTBf Z3NfY2IuCi0rCi0gMjAxNy0wOS0xOSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBnbWFpbC5jb20+Ci0g Ci0gCVBSIDIxNDQxCi0tLS0gYS9iZmQvZWxmLmMKLSsrKyBiL2JmZC9lbGYuYwotQEAgLTk2OTgs MTQgKzk2OTgsMTQgQEAgZWxmY29yZV9ncm9rX25vdGUgKGJmZCAqYWJmZCwgRWxmX0ludGVybmFs X05vdGUgKm5vdGUpCi0gICAgIGNhc2UgTlRfUzM5MF9HU19DQjoKLSAgICAgICBpZiAobm90ZS0+ bmFtZXN6ID09IDYKLSAJICAmJiBzdHJjbXAgKG5vdGUtPm5hbWVkYXRhLCAiTElOVVgiKSA9PSAw KQotLQlyZXR1cm4gZWxmY29yZV9ncm9rX3MzOTBfZ3NfYmMgKGFiZmQsIG5vdGUpOwotKwlyZXR1 cm4gZWxmY29yZV9ncm9rX3MzOTBfZ3NfY2IgKGFiZmQsIG5vdGUpOwotICAgICAgIGVsc2UKLSAJ cmV0dXJuIFRSVUU7Ci0gCi0gICAgIGNhc2UgTlRfUzM5MF9HU19CQzoKLSAgICAgICBpZiAobm90 ZS0+bmFtZXN6ID09IDYKLSAJICAmJiBzdHJjbXAgKG5vdGUtPm5hbWVkYXRhLCAiTElOVVgiKSA9 PSAwKQotLQlyZXR1cm4gZWxmY29yZV9ncm9rX3MzOTBfZ3NfY2IgKGFiZmQsIG5vdGUpOwotKwly ZXR1cm4gZWxmY29yZV9ncm9rX3MzOTBfZ3NfYmMgKGFiZmQsIG5vdGUpOwotICAgICAgIGVsc2UK LSAJcmV0dXJuIFRSVUU7Ci0gCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDk4NzU4LTJvZjUucGF0 Y2ggYi9nZGItcmhiejE0OTg3NTgtMm9mNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUK aW5kZXggN2M2ZGJjZS4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0OTg3NTgtMm9mNS5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDgyMiArMCwwIEBACi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMg PGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIw MAotU3ViamVjdDogZ2RiLXJoYnoxNDk4NzU4LTJvZjUucGF0Y2gKLQotRmlsZU5hbWU6IGdkYi1y aGJ6MTQ5ODc1OC0yb2Y1LnBhdGNoCi0KLWNvbW1pdCA5NjIzNWRjMWFjMzczMGM0ZTQ5MGQxOWRi MmU4Mjg3YzBhNDBmMzA3Ci1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQu aWJtLmNvbT4KLURhdGU6ICAgTW9uIFNlcCAyNSAxNjowMjoyMyAyMDE3ICswMjAwCi0KLSAgICBT MzkwOiBBZGQgZ3VhcmRlZC1zdG9yYWdlIHJlZ2lzdGVyIGRlZmluaXRpb25zIGFuZCB0ZGVzY3MK LSAgICAKLSAgICBOZXdlciBMaW51eCBrZXJuZWwgdmVyc2lvbnMgb2ZmZXIgdHdvIG5ldyByZWdp c3RlciBzZXRzIGluIHN1cHBvcnQgb2YgdGhlCi0gICAgei9BcmNoaXRlY3R1cmUncyBndWFyZGVk IHN0b3JhZ2UgZmFjaWxpdHkuICBUaGlzIHBhdGNoIGFkZHMgWE1MCi0gICAgZGVzY3JpcHRpb25z IGFuZCB0aGUgcmVzcGVjdGl2ZSBhdXRvZ2VuZXJhdGVkIC5jIGFuZCAuZGF0IGZpbGVzIGZvcgot ICAgIHMzOTAvczM5MHggdGFyZ2V0cyB3aXRoIHRoaXMgZmVhdHVyZS4KLSAgICAKLSAgICBnZGIv Q2hhbmdlTG9nOgotICAgIAotICAgICAgICAgICAgKiBmZWF0dXJlcy9zMzkwLWdzLWxpbnV4NjQu eG1sOiBOZXcgZmlsZS4KLSAgICAgICAgICAgICogZmVhdHVyZXMvczM5MC1ncy54bWw6IE5ldyBm aWxlLgotICAgICAgICAgICAgKiBmZWF0dXJlcy9zMzkwLWdzYmMueG1sOiBOZXcgZmlsZS4KLSAg ICAgICAgICAgICogZmVhdHVyZXMvczM5MHgtZ3MtbGludXg2NC54bWw6IE5ldyBmaWxlLgotICAg ICAgICAgICAgKiBmZWF0dXJlcy9NYWtlZmlsZSAoV0hJQ0gpOiBBZGQgczM5MC1ncy1saW51eDY0 IGFuZAotICAgICAgICAgICAgczM5MHgtZ3MtbGludXg2NC4KLSAgICAgICAgICAgIChzMzkwLWdz LWxpbnV4NjQtZXhwZWRpdGUsIHMzOTB4LWdzLWxpbnV4NjQtZXhwZWRpdGUpOiBOZXcgbWFjcm9z LgotICAgICAgICAgICAgKFhNTFRPQyk6IEFkZCBzMzkwLWdzLWxpbnV4NjQueG1sIGFuZCBzMzkw eC1saW51eDY0LnhtbC4KLSAgICAgICAgICAgICogZmVhdHVyZXMvczM5MC1ncy1saW51eDY0LmM6 IE5ldyBnZW5lcmF0ZWQgZmlsZS4KLSAgICAgICAgICAgICogZmVhdHVyZXMvczM5MHgtZ3MtbGlu dXg2NC5jOiBOZXcgZmlsZS4KLSAgICAgICAgICAgICogcmVnZm9ybWF0cy9zMzkwLWdzLWxpbnV4 NjQuZGF0OiBOZXcgZmlsZS4KLSAgICAgICAgICAgICogcmVnZm9ybWF0cy9zMzkweC1ncy1saW51 eDY0LmRhdDogTmV3IGZpbGUuCi0KLSMjIyBhL2dkYi9DaGFuZ2VMb2cKLSMjIyBiL2dkYi9DaGFu Z2VMb2cKLSMjIC0xLDMgKzEsMTggQEAKLSsyMDE3LTA5LTI1ICBBbmRyZWFzIEFybmV6ICA8YXJu ZXpAbGludXgudm5ldC5pYm0uY29tPgotKwotKwkqIGZlYXR1cmVzL3MzOTAtZ3MtbGludXg2NC54 bWw6IE5ldyBmaWxlLgotKwkqIGZlYXR1cmVzL3MzOTAtZ3MueG1sOiBOZXcgZmlsZS4KLSsJKiBm ZWF0dXJlcy9zMzkwLWdzYmMueG1sOiBOZXcgZmlsZS4KLSsJKiBmZWF0dXJlcy9zMzkweC1ncy1s aW51eDY0LnhtbDogTmV3IGZpbGUuCi0rCSogZmVhdHVyZXMvTWFrZWZpbGUgKFdISUNIKTogQWRk IHMzOTAtZ3MtbGludXg2NCBhbmQKLSsJczM5MHgtZ3MtbGludXg2NC4KLSsJKHMzOTAtZ3MtbGlu dXg2NC1leHBlZGl0ZSwgczM5MHgtZ3MtbGludXg2NC1leHBlZGl0ZSk6IE5ldyBtYWNyb3MuCi0r CShYTUxUT0MpOiBBZGQgczM5MC1ncy1saW51eDY0LnhtbCBhbmQgczM5MHgtbGludXg2NC54bWwu Ci0rCSogZmVhdHVyZXMvczM5MC1ncy1saW51eDY0LmM6IE5ldyBnZW5lcmF0ZWQgZmlsZS4KLSsJ KiBmZWF0dXJlcy9zMzkweC1ncy1saW51eDY0LmM6IE5ldyBmaWxlLgotKwkqIHJlZ2Zvcm1hdHMv czM5MC1ncy1saW51eDY0LmRhdDogTmV3IGZpbGUuCi0rCSogcmVnZm9ybWF0cy9zMzkweC1ncy1s aW51eDY0LmRhdDogTmV3IGZpbGUuCi0rCi0gMjAxNy0wOS0yMyAgVG9tIFRyb21leSAgPHRvbUB0 cm9tZXkuY29tPgotIAotIAkqIGRlZnMuaCAobWFrZV9jbGVhbnVwX292ZXJyaWRlX3F1aXRfaGFu ZGxlcik6IERvbid0IGRlY2xhcmUuCi0tLS0gYS9nZGIvZmVhdHVyZXMvTWFrZWZpbGUKLSsrKyBi L2dkYi9mZWF0dXJlcy9NYWtlZmlsZQotQEAgLTc4LDYgKzc4LDcgQEAgV0hJQ0ggPSBhYXJjaDY0 IFwKLSAJczM5MC1saW51eDMydjIgczM5MC1saW51eDY0djIgczM5MHgtbGludXg2NHYyIFwKLSAJ czM5MC10ZS1saW51eDY0IHMzOTB4LXRlLWxpbnV4NjQgczM5MC12eC1saW51eDY0IHMzOTB4LXZ4 LWxpbnV4NjQgXAotIAlzMzkwLXRldngtbGludXg2NCBzMzkweC10ZXZ4LWxpbnV4NjQgXAotKwlz MzkwLWdzLWxpbnV4NjQgczM5MHgtZ3MtbGludXg2NCBcCi0gCXRpYzZ4LWM2NHhwIHRpYzZ4LWM2 NHggdGljNngtYzYyeCBcCi0gCXRpYzZ4LWM2NHhwLWxpbnV4IHRpYzZ4LWM2NHgtbGludXggdGlj NngtYzYyeC1saW51eAotIAotQEAgLTEwNSwxMiArMTA2LDE0IEBAIHMzOTAtbGludXg2NHYyLWV4 cGVkaXRlID0gcjE0bCxyMTVsLHBzd2EKLSBzMzkwLXRlLWxpbnV4NjQtZXhwZWRpdGUgPSByMTRs LHIxNWwscHN3YQotIHMzOTAtdngtbGludXg2NC1leHBlZGl0ZSA9IHIxNGwscjE1bCxwc3dhCi0g czM5MC10ZXZ4LWxpbnV4NjQtZXhwZWRpdGUgPSByMTRsLHIxNWwscHN3YQotK3MzOTAtZ3MtbGlu dXg2NC1leHBlZGl0ZSA9IHIxNCxyMTUscHN3YQotIHMzOTB4LWxpbnV4NjQtZXhwZWRpdGUgPSBy MTQscjE1LHBzd2EKLSBzMzkweC1saW51eDY0djEtZXhwZWRpdGUgPSByMTQscjE1LHBzd2EKLSBz MzkweC1saW51eDY0djItZXhwZWRpdGUgPSByMTQscjE1LHBzd2EKLSBzMzkweC10ZS1saW51eDY0 LWV4cGVkaXRlID0gcjE0LHIxNSxwc3dhCi0gczM5MHgtdngtbGludXg2NC1leHBlZGl0ZSA9IHIx NCxyMTUscHN3YQotIHMzOTB4LXRldngtbGludXg2NC1leHBlZGl0ZSA9IHIxNCxyMTUscHN3YQot K3MzOTB4LWdzLWxpbnV4NjQtZXhwZWRpdGUgPSByMTQscjE1LHBzd2EKLSB0aWM2eC1jNjR4cC1l eHBlZGl0ZSA9IEExNSxQQwotIHRpYzZ4LWM2NHgtZXhwZWRpdGUgPSBBMTUsUEMKLSB0aWM2eC1j NjJ4LWV4cGVkaXRlID0gQTE1LFBDCi1AQCAtMTk2LDYgKzE5OSw4IEBAIFhNTFRPQyA9IFwKLSAJ czM5MC12eC1saW51eDY0LnhtbCBcCi0gCXMzOTB4LXRldngtbGludXg2NC54bWwgXAotIAlzMzkw eC12eC1saW51eDY0LnhtbCBcCi0rCXMzOTAtZ3MtbGludXg2NC54bWwgXAotKwlzMzkweC1ncy1s aW51eDY0LnhtbCBcCi0gCXRpYzZ4LWM2MngtbGludXgueG1sIFwKLSAJdGljNngtYzYyeC54bWwg XAotIAl0aWM2eC1jNjR4LWxpbnV4LnhtbCBcCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvZmVh dHVyZXMvczM5MC1ncy1saW51eDY0LmMKLUBAIC0wLDAgKzEsMTk4IEBACi0rLyogVEhJUyBGSUxF IElTIEdFTkVSQVRFRC4gIC0qLSBidWZmZXItcmVhZC1vbmx5OiB0IC0qLSB2aTpzZXQgcm86Ci0r ICBPcmlnaW5hbDogczM5MC1ncy1saW51eDY0LnhtbCAqLwotKwotKyNpbmNsdWRlICJkZWZzLmgi Ci0rI2luY2x1ZGUgIm9zYWJpLmgiCi0rI2luY2x1ZGUgInRhcmdldC1kZXNjcmlwdGlvbnMuaCIK LSsKLStzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjX3MzOTBfZ3NfbGludXg2NDsKLStzdGF0aWMg dm9pZAotK2luaXRpYWxpemVfdGRlc2NfczM5MF9nc19saW51eDY0ICh2b2lkKQotK3sKLSsgIHN0 cnVjdCB0YXJnZXRfZGVzYyAqcmVzdWx0ID0gYWxsb2NhdGVfdGFyZ2V0X2Rlc2NyaXB0aW9uICgp OwotKyAgc3RydWN0IHRkZXNjX2ZlYXR1cmUgKmZlYXR1cmU7Ci0rICBzdHJ1Y3QgdGRlc2NfdHlw ZSAqZmllbGRfdHlwZTsKLSsgIHN0cnVjdCB0ZGVzY190eXBlICp0eXBlOwotKwotKyAgc2V0X3Rk ZXNjX2FyY2hpdGVjdHVyZSAocmVzdWx0LCBiZmRfc2Nhbl9hcmNoICgiczM5MDozMS1iaXQiKSk7 Ci0rCi0rICBmZWF0dXJlID0gdGRlc2NfY3JlYXRlX2ZlYXR1cmUgKHJlc3VsdCwgIm9yZy5nbnUu Z2RiLnMzOTAuY29yZSIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInBzd20iLCAw LCAxLCAicHN3IiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJwc3dhIiwgMSwgMSwgInBzdyIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVn IChmZWF0dXJlLCAicjBoIiwgMiwgMSwgInVwcGVyIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNj X2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMGwiLCAzLCAxLCAibG93ZXIiLCAzMiwgInVpbnQzMiIp OwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIxaCIsIDQsIDEsICJ1cHBlciIsIDMy LCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjFsIiwgNSwgMSwg Imxvd2VyIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJy MmgiLCA2LCAxLCAidXBwZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgInIybCIsIDcsIDEsICJsb3dlciIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19j cmVhdGVfcmVnIChmZWF0dXJlLCAicjNoIiwgOCwgMSwgInVwcGVyIiwgMzIsICJ1aW50MzIiKTsK LSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyM2wiLCA5LCAxLCAibG93ZXIiLCAzMiwg InVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI0aCIsIDEwLCAxLCAi dXBwZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI0 bCIsIDExLCAxLCAibG93ZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgInI1aCIsIDEyLCAxLCAidXBwZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgInI1bCIsIDEzLCAxLCAibG93ZXIiLCAzMiwgInVpbnQzMiIp OwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI2aCIsIDE0LCAxLCAidXBwZXIiLCAz MiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI2bCIsIDE1LCAx LCAibG93ZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwg InI3aCIsIDE2LCAxLCAidXBwZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3Jl ZyAoZmVhdHVyZSwgInI3bCIsIDE3LCAxLCAibG93ZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI4aCIsIDE4LCAxLCAidXBwZXIiLCAzMiwgInVpbnQz MiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI4bCIsIDE5LCAxLCAibG93ZXIi LCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI5aCIsIDIw LCAxLCAidXBwZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgInI5bCIsIDIxLCAxLCAibG93ZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgInIxMGgiLCAyMiwgMSwgInVwcGVyIiwgMzIsICJ1aW50MzIiKTsKLSsg IHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMTBsIiwgMjMsIDEsICJsb3dlciIsIDMyLCAi dWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjExaCIsIDI0LCAxLCAi dXBwZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIx MWwiLCAyNSwgMSwgImxvd2VyIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcg KGZlYXR1cmUsICJyMTJoIiwgMjYsIDEsICJ1cHBlciIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVz Y19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjEybCIsIDI3LCAxLCAibG93ZXIiLCAzMiwgInVpbnQz MiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIxM2giLCAyOCwgMSwgInVwcGVy IiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMTNsIiwg MjksIDEsICJsb3dlciIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0 dXJlLCAicjE0aCIsIDMwLCAxLCAidXBwZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3Jl YXRlX3JlZyAoZmVhdHVyZSwgInIxNGwiLCAzMSwgMSwgImxvd2VyIiwgMzIsICJ1aW50MzIiKTsK LSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMTVoIiwgMzIsIDEsICJ1cHBlciIsIDMy LCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjE1bCIsIDMzLCAx LCAibG93ZXIiLCAzMiwgInVpbnQzMiIpOwotKwotKyAgZmVhdHVyZSA9IHRkZXNjX2NyZWF0ZV9m ZWF0dXJlIChyZXN1bHQsICJvcmcuZ251LmdkYi5zMzkwLmFjciIpOwotKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgImFjcjAiLCAzNCwgMSwgImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0r ICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYWNyMSIsIDM1LCAxLCAiYWNjZXNzIiwgMzIs ICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJhY3IyIiwgMzYsIDEs ICJhY2Nlc3MiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwg ImFjcjMiLCAzNywgMSwgImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVf cmVnIChmZWF0dXJlLCAiYWNyNCIsIDM4LCAxLCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsg IHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJhY3I1IiwgMzksIDEsICJhY2Nlc3MiLCAzMiwg InVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImFjcjYiLCA0MCwgMSwg ImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi YWNyNyIsIDQxLCAxLCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9y ZWcgKGZlYXR1cmUsICJhY3I4IiwgNDIsIDEsICJhY2Nlc3MiLCAzMiwgInVpbnQzMiIpOwotKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImFjcjkiLCA0MywgMSwgImFjY2VzcyIsIDMyLCAi dWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYWNyMTAiLCA0NCwgMSwg ImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi YWNyMTEiLCA0NSwgMSwgImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVf cmVnIChmZWF0dXJlLCAiYWNyMTIiLCA0NiwgMSwgImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0r ICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYWNyMTMiLCA0NywgMSwgImFjY2VzcyIsIDMy LCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYWNyMTQiLCA0OCwg MSwgImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJl LCAiYWNyMTUiLCA0OSwgMSwgImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0rCi0rICBmZWF0dXJl ID0gdGRlc2NfY3JlYXRlX2ZlYXR1cmUgKHJlc3VsdCwgIm9yZy5nbnUuZ2RiLnMzOTAuZnByIik7 Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZnBjIiwgNTAsIDEsICJmbG9hdCIsIDMy LCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjAiLCA1MSwgMSwg ImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgImYxIiwgNTIsIDEsICJmbG9hdCIsIDY0LCAiaWVlZV9kb3VibGUiKTsKLSsgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJmMiIsIDUzLCAxLCAiZmxvYXQiLCA2NCwgImllZWVfZG91Ymxl Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjMiLCA1NCwgMSwgImZsb2F0Iiwg NjQsICJpZWVlX2RvdWJsZSIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImY0Iiwg NTUsIDEsICJmbG9hdCIsIDY0LCAiaWVlZV9kb3VibGUiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcg KGZlYXR1cmUsICJmNSIsIDU2LCAxLCAiZmxvYXQiLCA2NCwgImllZWVfZG91YmxlIik7Ci0rICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjYiLCA1NywgMSwgImZsb2F0IiwgNjQsICJpZWVl X2RvdWJsZSIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImY3IiwgNTgsIDEsICJm bG9hdCIsIDY0LCAiaWVlZV9kb3VibGUiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJmOCIsIDU5LCAxLCAiZmxvYXQiLCA2NCwgImllZWVfZG91YmxlIik7Ci0rICB0ZGVzY19jcmVh dGVfcmVnIChmZWF0dXJlLCAiZjkiLCA2MCwgMSwgImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIp OwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImYxMCIsIDYxLCAxLCAiZmxvYXQiLCA2 NCwgImllZWVfZG91YmxlIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjExIiwg NjIsIDEsICJmbG9hdCIsIDY0LCAiaWVlZV9kb3VibGUiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcg KGZlYXR1cmUsICJmMTIiLCA2MywgMSwgImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIpOwotKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImYxMyIsIDY0LCAxLCAiZmxvYXQiLCA2NCwgImll ZWVfZG91YmxlIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjE0IiwgNjUsIDEs ICJmbG9hdCIsIDY0LCAiaWVlZV9kb3VibGUiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1 cmUsICJmMTUiLCA2NiwgMSwgImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIpOwotKwotKyAgZmVh dHVyZSA9IHRkZXNjX2NyZWF0ZV9mZWF0dXJlIChyZXN1bHQsICJvcmcuZ251LmdkYi5zMzkwLmxp bnV4Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAib3JpZ19yMiIsIDY3LCAxLCAi c3lzdGVtIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJs YXN0X2JyZWFrIiwgNjgsIDAsICJzeXN0ZW0iLCAzMiwgImNvZGVfcHRyIik7Ci0rICB0ZGVzY19j cmVhdGVfcmVnIChmZWF0dXJlLCAic3lzdGVtX2NhbGwiLCA2OSwgMSwgInN5c3RlbSIsIDMyLCAi dWludDMyIik7Ci0rCi0rICBmZWF0dXJlID0gdGRlc2NfY3JlYXRlX2ZlYXR1cmUgKHJlc3VsdCwg Im9yZy5nbnUuZ2RiLnMzOTAudGRiIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi dGRiMCIsIDcwLCAxLCAidGRiIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcg KGZlYXR1cmUsICJ0YWMiLCA3MSwgMSwgInRkYiIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19j cmVhdGVfcmVnIChmZWF0dXJlLCAidGN0IiwgNzIsIDEsICJ0ZGIiLCA2NCwgInVpbnQ2NCIpOwot KyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImF0aWEiLCA3MywgMSwgInRkYiIsIDY0LCAi dWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidHIwIiwgNzQsIDEsICJ0 ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInRyMSIs IDc1LCAxLCAidGRiIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1 cmUsICJ0cjIiLCA3NiwgMSwgInRkYiIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVf cmVnIChmZWF0dXJlLCAidHIzIiwgNzcsIDEsICJ0ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInRyNCIsIDc4LCAxLCAidGRiIiwgNjQsICJ1aW50NjQi KTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ0cjUiLCA3OSwgMSwgInRkYiIsIDY0 LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidHI2IiwgODAsIDEs ICJ0ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInRy NyIsIDgxLCAxLCAidGRiIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZl YXR1cmUsICJ0cjgiLCA4MiwgMSwgInRkYiIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVh dGVfcmVnIChmZWF0dXJlLCAidHI5IiwgODMsIDEsICJ0ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInRyMTAiLCA4NCwgMSwgInRkYiIsIDY0LCAidWlu dDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidHIxMSIsIDg1LCAxLCAidGRi IiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ0cjEyIiwg ODYsIDEsICJ0ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgInRyMTMiLCA4NywgMSwgInRkYiIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVf cmVnIChmZWF0dXJlLCAidHIxNCIsIDg4LCAxLCAidGRiIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRk ZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ0cjE1IiwgODksIDEsICJ0ZGIiLCA2NCwgInVpbnQ2 NCIpOwotKwotKyAgZmVhdHVyZSA9IHRkZXNjX2NyZWF0ZV9mZWF0dXJlIChyZXN1bHQsICJvcmcu Z251LmdkYi5zMzkwLnZ4Iik7Ci0rICBmaWVsZF90eXBlID0gdGRlc2NfbmFtZWRfdHlwZSAoZmVh dHVyZSwgImllZWVfc2luZ2xlIik7Ci0rICB0ZGVzY19jcmVhdGVfdmVjdG9yIChmZWF0dXJlLCAi djRmIiwgZmllbGRfdHlwZSwgNCk7Ci0rCi0rICBmaWVsZF90eXBlID0gdGRlc2NfbmFtZWRfdHlw ZSAoZmVhdHVyZSwgImllZWVfZG91YmxlIik7Ci0rICB0ZGVzY19jcmVhdGVfdmVjdG9yIChmZWF0 dXJlLCAidjJkIiwgZmllbGRfdHlwZSwgMik7Ci0rCi0rICBmaWVsZF90eXBlID0gdGRlc2NfbmFt ZWRfdHlwZSAoZmVhdHVyZSwgImludDgiKTsKLSsgIHRkZXNjX2NyZWF0ZV92ZWN0b3IgKGZlYXR1 cmUsICJ2MTZpOCIsIGZpZWxkX3R5cGUsIDE2KTsKLSsKLSsgIGZpZWxkX3R5cGUgPSB0ZGVzY19u YW1lZF90eXBlIChmZWF0dXJlLCAiaW50MTYiKTsKLSsgIHRkZXNjX2NyZWF0ZV92ZWN0b3IgKGZl YXR1cmUsICJ2OGkxNiIsIGZpZWxkX3R5cGUsIDgpOwotKwotKyAgZmllbGRfdHlwZSA9IHRkZXNj X25hbWVkX3R5cGUgKGZlYXR1cmUsICJpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3ZlY3RvciAo ZmVhdHVyZSwgInY0aTMyIiwgZmllbGRfdHlwZSwgNCk7Ci0rCi0rICBmaWVsZF90eXBlID0gdGRl c2NfbmFtZWRfdHlwZSAoZmVhdHVyZSwgImludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfdmVjdG9y IChmZWF0dXJlLCAidjJpNjQiLCBmaWVsZF90eXBlLCAyKTsKLSsKLSsgIHR5cGUgPSB0ZGVzY19j cmVhdGVfdW5pb24gKGZlYXR1cmUsICJ2ZWMxMjgiKTsKLSsgIGZpZWxkX3R5cGUgPSB0ZGVzY19u YW1lZF90eXBlIChmZWF0dXJlLCAidjRmIik7Ci0rICB0ZGVzY19hZGRfZmllbGQgKHR5cGUsICJ2 NF9mbG9hdCIsIGZpZWxkX3R5cGUpOwotKyAgZmllbGRfdHlwZSA9IHRkZXNjX25hbWVkX3R5cGUg KGZlYXR1cmUsICJ2MmQiKTsKLSsgIHRkZXNjX2FkZF9maWVsZCAodHlwZSwgInYyX2RvdWJsZSIs IGZpZWxkX3R5cGUpOwotKyAgZmllbGRfdHlwZSA9IHRkZXNjX25hbWVkX3R5cGUgKGZlYXR1cmUs ICJ2MTZpOCIpOwotKyAgdGRlc2NfYWRkX2ZpZWxkICh0eXBlLCAidjE2X2ludDgiLCBmaWVsZF90 eXBlKTsKLSsgIGZpZWxkX3R5cGUgPSB0ZGVzY19uYW1lZF90eXBlIChmZWF0dXJlLCAidjhpMTYi KTsKLSsgIHRkZXNjX2FkZF9maWVsZCAodHlwZSwgInY4X2ludDE2IiwgZmllbGRfdHlwZSk7Ci0r ICBmaWVsZF90eXBlID0gdGRlc2NfbmFtZWRfdHlwZSAoZmVhdHVyZSwgInY0aTMyIik7Ci0rICB0 ZGVzY19hZGRfZmllbGQgKHR5cGUsICJ2NF9pbnQzMiIsIGZpZWxkX3R5cGUpOwotKyAgZmllbGRf dHlwZSA9IHRkZXNjX25hbWVkX3R5cGUgKGZlYXR1cmUsICJ2Mmk2NCIpOwotKyAgdGRlc2NfYWRk X2ZpZWxkICh0eXBlLCAidjJfaW50NjQiLCBmaWVsZF90eXBlKTsKLSsgIGZpZWxkX3R5cGUgPSB0 ZGVzY19uYW1lZF90eXBlIChmZWF0dXJlLCAidWludDEyOCIpOwotKyAgdGRlc2NfYWRkX2ZpZWxk ICh0eXBlLCAidWludDEyOCIsIGZpZWxkX3R5cGUpOwotKwotKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgInYwbCIsIDkwLCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3Jl YXRlX3JlZyAoZmVhdHVyZSwgInYxbCIsIDkxLCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOwotKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYybCIsIDkyLCAxLCBOVUxMLCA2NCwgInVpbnQ2 NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYzbCIsIDkzLCAxLCBOVUxMLCA2 NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInY0bCIsIDk0LCAx LCBOVUxMLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInY1 bCIsIDk1LCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgInY2bCIsIDk2LCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgInY3bCIsIDk3LCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInY4bCIsIDk4LCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIp OwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInY5bCIsIDk5LCAxLCBOVUxMLCA2NCwg InVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYxMGwiLCAxMDAsIDEs IE5VTEwsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjEx bCIsIDEwMSwgMSwgTlVMTCwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZl YXR1cmUsICJ2MTJsIiwgMTAyLCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3Jl YXRlX3JlZyAoZmVhdHVyZSwgInYxM2wiLCAxMDMsIDEsIE5VTEwsIDY0LCAidWludDY0Iik7Ci0r ICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjE0bCIsIDEwNCwgMSwgTlVMTCwgNjQsICJ1 aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MTVsIiwgMTA1LCAxLCBO VUxMLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYxNiIs IDEwNiwgMSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0 dXJlLCAidjE3IiwgMTA3LCAxLCBOVUxMLCAxMjgsICJ2ZWMxMjgiKTsKLSsgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJ2MTgiLCAxMDgsIDEsIE5VTEwsIDEyOCwgInZlYzEyOCIpOwotKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYxOSIsIDEwOSwgMSwgTlVMTCwgMTI4LCAidmVj MTI4Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjIwIiwgMTEwLCAxLCBOVUxM LCAxMjgsICJ2ZWMxMjgiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MjEiLCAx MTEsIDEsIE5VTEwsIDEyOCwgInZlYzEyOCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgInYyMiIsIDExMiwgMSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7Ci0rICB0ZGVzY19jcmVhdGVf cmVnIChmZWF0dXJlLCAidjIzIiwgMTEzLCAxLCBOVUxMLCAxMjgsICJ2ZWMxMjgiKTsKLSsgIHRk ZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MjQiLCAxMTQsIDEsIE5VTEwsIDEyOCwgInZlYzEy OCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYyNSIsIDExNSwgMSwgTlVMTCwg MTI4LCAidmVjMTI4Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjI2IiwgMTE2 LCAxLCBOVUxMLCAxMjgsICJ2ZWMxMjgiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJ2MjciLCAxMTcsIDEsIE5VTEwsIDEyOCwgInZlYzEyOCIpOwotKyAgdGRlc2NfY3JlYXRlX3Jl ZyAoZmVhdHVyZSwgInYyOCIsIDExOCwgMSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7Ci0rICB0ZGVz Y19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjI5IiwgMTE5LCAxLCBOVUxMLCAxMjgsICJ2ZWMxMjgi KTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MzAiLCAxMjAsIDEsIE5VTEwsIDEy OCwgInZlYzEyOCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYzMSIsIDEyMSwg MSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7Ci0rCi0rICBmZWF0dXJlID0gdGRlc2NfY3JlYXRlX2Zl YXR1cmUgKHJlc3VsdCwgIm9yZy5nbnUuZ2RiLnMzOTAuZ3MiKTsKLSsgIHRkZXNjX2NyZWF0ZV9y ZWcgKGZlYXR1cmUsICJnc2QiLCAxMjIsIDEsICJncyIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVz Y19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZ3NzbSIsIDEyMywgMSwgImdzIiwgNjQsICJ1aW50NjQi KTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJnc2VwbGEiLCAxMjQsIDEsICJncyIs IDY0LCAiZGF0YV9wdHIiKTsKLSsKLSsgIGZlYXR1cmUgPSB0ZGVzY19jcmVhdGVfZmVhdHVyZSAo cmVzdWx0LCAib3JnLmdudS5nZGIuczM5MC5nc2JjIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChm ZWF0dXJlLCAiYmNfZ3NkIiwgMTI1LCAxLCAiZ3MiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgImJjX2dzc20iLCAxMjYsIDEsICJncyIsIDY0LCAidWludDY0 Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYmNfZ3NlcGxhIiwgMTI3LCAxLCAi Z3MiLCA2NCwgImRhdGFfcHRyIik7Ci0rCi0rICB0ZGVzY19zMzkwX2dzX2xpbnV4NjQgPSByZXN1 bHQ7Ci0rfQotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL2ZlYXR1cmVzL3MzOTAtZ3MtbGludXg2 NC54bWwKLUBAIC0wLDAgKzEsMjggQEAKLSs8P3htbCB2ZXJzaW9uPSIxLjAiPz4KLSs8IS0tIENv cHlyaWdodCAoQykgMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICAg IENvcHlpbmcgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpbGUsIHdpdGggb3Igd2l0aG91dCBt b2RpZmljYXRpb24sCi0rICAgICBhcmUgcGVybWl0dGVkIGluIGFueSBtZWRpdW0gd2l0aG91dCBy b3lhbHR5IHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQKLSsgICAgIG5vdGljZSBhbmQgdGhpcyBub3Rp Y2UgYXJlIHByZXNlcnZlZC4gIC0tPgotKwotKzwhLS0gUy8zOTAgMzEtYml0IHVzZXItbGV2ZWwg Y29kZSBvbiBhIG1hY2hpbmUgb3BlcmF0aW5nCi0rICAgICBpbiB6L0FyY2hpdGVjdHVyZSBtb2Rl LiAgLS0+Ci0rCi0rPCFET0NUWVBFIHRhcmdldCBTWVNURU0gImdkYi10YXJnZXQuZHRkIj4KLSs8 dGFyZ2V0PgotKyAgPGFyY2hpdGVjdHVyZT5zMzkwOjMxLWJpdDwvYXJjaGl0ZWN0dXJlPgotKyAg PHhpOmluY2x1ZGUgaHJlZj0iczM5MC1jb3JlNjQueG1sIi8+Ci0rICA8eGk6aW5jbHVkZSBocmVm PSJzMzkwLWFjci54bWwiLz4KLSsgIDx4aTppbmNsdWRlIGhyZWY9InMzOTAtZnByLnhtbCIvPgot KwotKyAgPGZlYXR1cmUgbmFtZT0ib3JnLmdudS5nZGIuczM5MC5saW51eCI+Ci0rICAgIDxyZWcg bmFtZT0ib3JpZ19yMiIgYml0c2l6ZT0iMzIiIHR5cGU9InVpbnQzMiIgZ3JvdXA9InN5c3RlbSIv PgotKyAgICA8cmVnIG5hbWU9Imxhc3RfYnJlYWsiIGJpdHNpemU9IjMyIiB0eXBlPSJjb2RlX3B0 ciIgZ3JvdXA9InN5c3RlbSIgc2F2ZS1yZXN0b3JlPSJubyIvPgotKyAgICA8cmVnIG5hbWU9InN5 c3RlbV9jYWxsIiBiaXRzaXplPSIzMiIgdHlwZT0idWludDMyIiBncm91cD0ic3lzdGVtIi8+Ci0r ICA8L2ZlYXR1cmU+Ci0rCi0rICA8eGk6aW5jbHVkZSBocmVmPSJzMzkwLXRkYi54bWwiLz4KLSsg IDx4aTppbmNsdWRlIGhyZWY9InMzOTAtdngueG1sIi8+Ci0rICA8eGk6aW5jbHVkZSBocmVmPSJz MzkwLWdzLnhtbCIvPgotKyAgPHhpOmluY2x1ZGUgaHJlZj0iczM5MC1nc2JjLnhtbCIvPgotKzwv dGFyZ2V0PgotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL2ZlYXR1cmVzL3MzOTAtZ3MueG1sCi1A QCAtMCwwICsxLDEzIEBACi0rPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci0rPCEtLSBDb3B5cmlnaHQg KEMpIDIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0rICAgICBDb3B5aW5n IGFuZCBkaXN0cmlidXRpb24gb2YgdGhpcyBmaWxlLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0 aW9uLAotKyAgICAgYXJlIHBlcm1pdHRlZCBpbiBhbnkgbWVkaXVtIHdpdGhvdXQgcm95YWx0eSBw cm92aWRlZCB0aGUgY29weXJpZ2h0Ci0rICAgICBub3RpY2UgYW5kIHRoaXMgbm90aWNlIGFyZSBw cmVzZXJ2ZWQuICAtLT4KLSsKLSs8IURPQ1RZUEUgZmVhdHVyZSBTWVNURU0gImdkYi10YXJnZXQu ZHRkIj4KLSs8ZmVhdHVyZSBuYW1lPSJvcmcuZ251LmdkYi5zMzkwLmdzIj4KLSsgIDxyZWcgbmFt ZT0iZ3NkIiBiaXRzaXplPSI2NCIgdHlwZT0idWludDY0IiBncm91cD0iZ3MiLz4KLSsgIDxyZWcg bmFtZT0iZ3NzbSIgYml0c2l6ZT0iNjQiIHR5cGU9InVpbnQ2NCIgZ3JvdXA9ImdzIi8+Ci0rICA8 cmVnIG5hbWU9ImdzZXBsYSIgYml0c2l6ZT0iNjQiIHR5cGU9ImRhdGFfcHRyIiBncm91cD0iZ3Mi Lz4KLSs8L2ZlYXR1cmU+Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvZmVhdHVyZXMvczM5MC1n c2JjLnhtbAotQEAgLTAsMCArMSwxMyBAQAotKzw/eG1sIHZlcnNpb249IjEuMCI/PgotKzwhLS0g Q29weXJpZ2h0IChDKSAyMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyAg ICAgQ29weWluZyBhbmQgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlsZSwgd2l0aCBvciB3aXRob3V0 IG1vZGlmaWNhdGlvbiwKLSsgICAgIGFyZSBwZXJtaXR0ZWQgaW4gYW55IG1lZGl1bSB3aXRob3V0 IHJveWFsdHkgcHJvdmlkZWQgdGhlIGNvcHlyaWdodAotKyAgICAgbm90aWNlIGFuZCB0aGlzIG5v dGljZSBhcmUgcHJlc2VydmVkLiAgLS0+Ci0rCi0rPCFET0NUWVBFIGZlYXR1cmUgU1lTVEVNICJn ZGItdGFyZ2V0LmR0ZCI+Ci0rPGZlYXR1cmUgbmFtZT0ib3JnLmdudS5nZGIuczM5MC5nc2JjIj4K LSsgIDxyZWcgbmFtZT0iYmNfZ3NkIiBiaXRzaXplPSI2NCIgdHlwZT0idWludDY0IiBncm91cD0i Z3MiLz4KLSsgIDxyZWcgbmFtZT0iYmNfZ3NzbSIgYml0c2l6ZT0iNjQiIHR5cGU9InVpbnQ2NCIg Z3JvdXA9ImdzIi8+Ci0rICA8cmVnIG5hbWU9ImJjX2dzZXBsYSIgYml0c2l6ZT0iNjQiIHR5cGU9 ImRhdGFfcHRyIiBncm91cD0iZ3MiLz4KLSs8L2ZlYXR1cmU+Ci0tLS0gL2Rldi9udWxsCi0rKysg Yi9nZGIvZmVhdHVyZXMvczM5MHgtZ3MtbGludXg2NC5jCi1AQCAtMCwwICsxLDE4MiBAQAotKy8q IFRISVMgRklMRSBJUyBHRU5FUkFURUQuICAtKi0gYnVmZmVyLXJlYWQtb25seTogdCAtKi0gdmk6 c2V0IHJvOgotKyAgT3JpZ2luYWw6IHMzOTB4LWdzLWxpbnV4NjQueG1sICovCi0rCi0rI2luY2x1 ZGUgImRlZnMuaCIKLSsjaW5jbHVkZSAib3NhYmkuaCIKLSsjaW5jbHVkZSAidGFyZ2V0LWRlc2Ny aXB0aW9ucy5oIgotKwotK3N0cnVjdCB0YXJnZXRfZGVzYyAqdGRlc2NfczM5MHhfZ3NfbGludXg2 NDsKLStzdGF0aWMgdm9pZAotK2luaXRpYWxpemVfdGRlc2NfczM5MHhfZ3NfbGludXg2NCAodm9p ZCkKLSt7Ci0rICBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnJlc3VsdCA9IGFsbG9jYXRlX3RhcmdldF9k ZXNjcmlwdGlvbiAoKTsKLSsgIHN0cnVjdCB0ZGVzY19mZWF0dXJlICpmZWF0dXJlOwotKyAgc3Ry dWN0IHRkZXNjX3R5cGUgKmZpZWxkX3R5cGU7Ci0rICBzdHJ1Y3QgdGRlc2NfdHlwZSAqdHlwZTsK LSsKLSsgIHNldF90ZGVzY19hcmNoaXRlY3R1cmUgKHJlc3VsdCwgYmZkX3NjYW5fYXJjaCAoInMz OTA6NjQtYml0IikpOwotKwotKyAgZmVhdHVyZSA9IHRkZXNjX2NyZWF0ZV9mZWF0dXJlIChyZXN1 bHQsICJvcmcuZ251LmdkYi5zMzkwLmNvcmUiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1 cmUsICJwc3dtIiwgMCwgMSwgInBzdyIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVf cmVnIChmZWF0dXJlLCAicHN3YSIsIDEsIDEsICJwc3ciLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIwIiwgMiwgMSwgImdlbmVyYWwiLCA2NCwgInVpbnQ2 NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIxIiwgMywgMSwgImdlbmVyYWwi LCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIyIiwgNCwg MSwgImdlbmVyYWwiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgInIzIiwgNSwgMSwgImdlbmVyYWwiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgInI0IiwgNiwgMSwgImdlbmVyYWwiLCA2NCwgInVpbnQ2NCIpOwotKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI1IiwgNywgMSwgImdlbmVyYWwiLCA2NCwgInVp bnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI2IiwgOCwgMSwgImdlbmVy YWwiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI3Iiwg OSwgMSwgImdlbmVyYWwiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgInI4IiwgMTAsIDEsICJnZW5lcmFsIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJyOSIsIDExLCAxLCAiZ2VuZXJhbCIsIDY0LCAidWludDY0Iik7 Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjEwIiwgMTIsIDEsICJnZW5lcmFsIiwg NjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMTEiLCAxMywg MSwgImdlbmVyYWwiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgInIxMiIsIDE0LCAxLCAiZ2VuZXJhbCIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVh dGVfcmVnIChmZWF0dXJlLCAicjEzIiwgMTUsIDEsICJnZW5lcmFsIiwgNjQsICJ1aW50NjQiKTsK LSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMTQiLCAxNiwgMSwgImdlbmVyYWwiLCA2 NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIxNSIsIDE3LCAx LCAiZ2VuZXJhbCIsIDY0LCAidWludDY0Iik7Ci0rCi0rICBmZWF0dXJlID0gdGRlc2NfY3JlYXRl X2ZlYXR1cmUgKHJlc3VsdCwgIm9yZy5nbnUuZ2RiLnMzOTAuYWNyIik7Ci0rICB0ZGVzY19jcmVh dGVfcmVnIChmZWF0dXJlLCAiYWNyMCIsIDE4LCAxLCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsK LSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJhY3IxIiwgMTksIDEsICJhY2Nlc3MiLCAz MiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImFjcjIiLCAyMCwg MSwgImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJl LCAiYWNyMyIsIDIxLCAxLCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJhY3I0IiwgMjIsIDEsICJhY2Nlc3MiLCAzMiwgInVpbnQzMiIpOwot KyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImFjcjUiLCAyMywgMSwgImFjY2VzcyIsIDMy LCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYWNyNiIsIDI0LCAx LCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJhY3I3IiwgMjUsIDEsICJhY2Nlc3MiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgImFjcjgiLCAyNiwgMSwgImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0r ICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYWNyOSIsIDI3LCAxLCAiYWNjZXNzIiwgMzIs ICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJhY3IxMCIsIDI4LCAx LCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJhY3IxMSIsIDI5LCAxLCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJhY3IxMiIsIDMwLCAxLCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsK LSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJhY3IxMyIsIDMxLCAxLCAiYWNjZXNzIiwg MzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJhY3IxNCIsIDMy LCAxLCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1 cmUsICJhY3IxNSIsIDMzLCAxLCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsKLSsgIGZlYXR1 cmUgPSB0ZGVzY19jcmVhdGVfZmVhdHVyZSAocmVzdWx0LCAib3JnLmdudS5nZGIuczM5MC5mcHIi KTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmcGMiLCAzNCwgMSwgImZsb2F0Iiwg MzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmMCIsIDM1LCAx LCAiZmxvYXQiLCA2NCwgImllZWVfZG91YmxlIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0 dXJlLCAiZjEiLCAzNiwgMSwgImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIpOwotKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgImYyIiwgMzcsIDEsICJmbG9hdCIsIDY0LCAiaWVlZV9kb3Vi bGUiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmMyIsIDM4LCAxLCAiZmxvYXQi LCA2NCwgImllZWVfZG91YmxlIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjQi LCAzOSwgMSwgImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIpOwotKyAgdGRlc2NfY3JlYXRlX3Jl ZyAoZmVhdHVyZSwgImY1IiwgNDAsIDEsICJmbG9hdCIsIDY0LCAiaWVlZV9kb3VibGUiKTsKLSsg IHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmNiIsIDQxLCAxLCAiZmxvYXQiLCA2NCwgImll ZWVfZG91YmxlIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjciLCA0MiwgMSwg ImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgImY4IiwgNDMsIDEsICJmbG9hdCIsIDY0LCAiaWVlZV9kb3VibGUiKTsKLSsgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJmOSIsIDQ0LCAxLCAiZmxvYXQiLCA2NCwgImllZWVfZG91Ymxl Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjEwIiwgNDUsIDEsICJmbG9hdCIs IDY0LCAiaWVlZV9kb3VibGUiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmMTEi LCA0NiwgMSwgImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIpOwotKyAgdGRlc2NfY3JlYXRlX3Jl ZyAoZmVhdHVyZSwgImYxMiIsIDQ3LCAxLCAiZmxvYXQiLCA2NCwgImllZWVfZG91YmxlIik7Ci0r ICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjEzIiwgNDgsIDEsICJmbG9hdCIsIDY0LCAi aWVlZV9kb3VibGUiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmMTQiLCA0OSwg MSwgImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgImYxNSIsIDUwLCAxLCAiZmxvYXQiLCA2NCwgImllZWVfZG91YmxlIik7Ci0rCi0rICBm ZWF0dXJlID0gdGRlc2NfY3JlYXRlX2ZlYXR1cmUgKHJlc3VsdCwgIm9yZy5nbnUuZ2RiLnMzOTAu bGludXgiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJvcmlnX3IyIiwgNTEsIDEs ICJzeXN0ZW0iLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwg Imxhc3RfYnJlYWsiLCA1MiwgMCwgInN5c3RlbSIsIDY0LCAiY29kZV9wdHIiKTsKLSsgIHRkZXNj X2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJzeXN0ZW1fY2FsbCIsIDUzLCAxLCAic3lzdGVtIiwgMzIs ICJ1aW50MzIiKTsKLSsKLSsgIGZlYXR1cmUgPSB0ZGVzY19jcmVhdGVfZmVhdHVyZSAocmVzdWx0 LCAib3JnLmdudS5nZGIuczM5MC50ZGIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJ0ZGIwIiwgNTQsIDEsICJ0ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3Jl ZyAoZmVhdHVyZSwgInRhYyIsIDU1LCAxLCAidGRiIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNj X2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ0Y3QiLCA1NiwgMSwgInRkYiIsIDY0LCAidWludDY0Iik7 Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYXRpYSIsIDU3LCAxLCAidGRiIiwgNjQs ICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ0cjAiLCA1OCwgMSwg InRkYiIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidHIx IiwgNTksIDEsICJ0ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgInRyMiIsIDYwLCAxLCAidGRiIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJ0cjMiLCA2MSwgMSwgInRkYiIsIDY0LCAidWludDY0Iik7Ci0rICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidHI0IiwgNjIsIDEsICJ0ZGIiLCA2NCwgInVpbnQ2 NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInRyNSIsIDYzLCAxLCAidGRiIiwg NjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ0cjYiLCA2NCwg MSwgInRkYiIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi dHI3IiwgNjUsIDEsICJ0ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgInRyOCIsIDY2LCAxLCAidGRiIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJ0cjkiLCA2NywgMSwgInRkYiIsIDY0LCAidWludDY0Iik7Ci0r ICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidHIxMCIsIDY4LCAxLCAidGRiIiwgNjQsICJ1 aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ0cjExIiwgNjksIDEsICJ0 ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInRyMTIi LCA3MCwgMSwgInRkYiIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0 dXJlLCAidHIxMyIsIDcxLCAxLCAidGRiIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJ0cjE0IiwgNzIsIDEsICJ0ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInRyMTUiLCA3MywgMSwgInRkYiIsIDY0LCAidWlu dDY0Iik7Ci0rCi0rICBmZWF0dXJlID0gdGRlc2NfY3JlYXRlX2ZlYXR1cmUgKHJlc3VsdCwgIm9y Zy5nbnUuZ2RiLnMzOTAudngiKTsKLSsgIGZpZWxkX3R5cGUgPSB0ZGVzY19uYW1lZF90eXBlIChm ZWF0dXJlLCAiaWVlZV9zaW5nbGUiKTsKLSsgIHRkZXNjX2NyZWF0ZV92ZWN0b3IgKGZlYXR1cmUs ICJ2NGYiLCBmaWVsZF90eXBlLCA0KTsKLSsKLSsgIGZpZWxkX3R5cGUgPSB0ZGVzY19uYW1lZF90 eXBlIChmZWF0dXJlLCAiaWVlZV9kb3VibGUiKTsKLSsgIHRkZXNjX2NyZWF0ZV92ZWN0b3IgKGZl YXR1cmUsICJ2MmQiLCBmaWVsZF90eXBlLCAyKTsKLSsKLSsgIGZpZWxkX3R5cGUgPSB0ZGVzY19u YW1lZF90eXBlIChmZWF0dXJlLCAiaW50OCIpOwotKyAgdGRlc2NfY3JlYXRlX3ZlY3RvciAoZmVh dHVyZSwgInYxNmk4IiwgZmllbGRfdHlwZSwgMTYpOwotKwotKyAgZmllbGRfdHlwZSA9IHRkZXNj X25hbWVkX3R5cGUgKGZlYXR1cmUsICJpbnQxNiIpOwotKyAgdGRlc2NfY3JlYXRlX3ZlY3RvciAo ZmVhdHVyZSwgInY4aTE2IiwgZmllbGRfdHlwZSwgOCk7Ci0rCi0rICBmaWVsZF90eXBlID0gdGRl c2NfbmFtZWRfdHlwZSAoZmVhdHVyZSwgImludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfdmVjdG9y IChmZWF0dXJlLCAidjRpMzIiLCBmaWVsZF90eXBlLCA0KTsKLSsKLSsgIGZpZWxkX3R5cGUgPSB0 ZGVzY19uYW1lZF90eXBlIChmZWF0dXJlLCAiaW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV92ZWN0 b3IgKGZlYXR1cmUsICJ2Mmk2NCIsIGZpZWxkX3R5cGUsIDIpOwotKwotKyAgdHlwZSA9IHRkZXNj X2NyZWF0ZV91bmlvbiAoZmVhdHVyZSwgInZlYzEyOCIpOwotKyAgZmllbGRfdHlwZSA9IHRkZXNj X25hbWVkX3R5cGUgKGZlYXR1cmUsICJ2NGYiKTsKLSsgIHRkZXNjX2FkZF9maWVsZCAodHlwZSwg InY0X2Zsb2F0IiwgZmllbGRfdHlwZSk7Ci0rICBmaWVsZF90eXBlID0gdGRlc2NfbmFtZWRfdHlw ZSAoZmVhdHVyZSwgInYyZCIpOwotKyAgdGRlc2NfYWRkX2ZpZWxkICh0eXBlLCAidjJfZG91Ymxl IiwgZmllbGRfdHlwZSk7Ci0rICBmaWVsZF90eXBlID0gdGRlc2NfbmFtZWRfdHlwZSAoZmVhdHVy ZSwgInYxNmk4Iik7Ci0rICB0ZGVzY19hZGRfZmllbGQgKHR5cGUsICJ2MTZfaW50OCIsIGZpZWxk X3R5cGUpOwotKyAgZmllbGRfdHlwZSA9IHRkZXNjX25hbWVkX3R5cGUgKGZlYXR1cmUsICJ2OGkx NiIpOwotKyAgdGRlc2NfYWRkX2ZpZWxkICh0eXBlLCAidjhfaW50MTYiLCBmaWVsZF90eXBlKTsK LSsgIGZpZWxkX3R5cGUgPSB0ZGVzY19uYW1lZF90eXBlIChmZWF0dXJlLCAidjRpMzIiKTsKLSsg IHRkZXNjX2FkZF9maWVsZCAodHlwZSwgInY0X2ludDMyIiwgZmllbGRfdHlwZSk7Ci0rICBmaWVs ZF90eXBlID0gdGRlc2NfbmFtZWRfdHlwZSAoZmVhdHVyZSwgInYyaTY0Iik7Ci0rICB0ZGVzY19h ZGRfZmllbGQgKHR5cGUsICJ2Ml9pbnQ2NCIsIGZpZWxkX3R5cGUpOwotKyAgZmllbGRfdHlwZSA9 IHRkZXNjX25hbWVkX3R5cGUgKGZlYXR1cmUsICJ1aW50MTI4Iik7Ci0rICB0ZGVzY19hZGRfZmll bGQgKHR5cGUsICJ1aW50MTI4IiwgZmllbGRfdHlwZSk7Ci0rCi0rICB0ZGVzY19jcmVhdGVfcmVn IChmZWF0dXJlLCAidjBsIiwgNzQsIDEsIE5VTEwsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19j cmVhdGVfcmVnIChmZWF0dXJlLCAidjFsIiwgNzUsIDEsIE5VTEwsIDY0LCAidWludDY0Iik7Ci0r ICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjJsIiwgNzYsIDEsIE5VTEwsIDY0LCAidWlu dDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjNsIiwgNzcsIDEsIE5VTEws IDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjRsIiwgNzgs IDEsIE5VTEwsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi djVsIiwgNzksIDEsIE5VTEwsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChm ZWF0dXJlLCAidjZsIiwgODAsIDEsIE5VTEwsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVh dGVfcmVnIChmZWF0dXJlLCAidjdsIiwgODEsIDEsIE5VTEwsIDY0LCAidWludDY0Iik7Ci0rICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjhsIiwgODIsIDEsIE5VTEwsIDY0LCAidWludDY0 Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjlsIiwgODMsIDEsIE5VTEwsIDY0 LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjEwbCIsIDg0LCAx LCBOVUxMLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYx MWwiLCA4NSwgMSwgTlVMTCwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZl YXR1cmUsICJ2MTJsIiwgODYsIDEsIE5VTEwsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVh dGVfcmVnIChmZWF0dXJlLCAidjEzbCIsIDg3LCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOwotKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYxNGwiLCA4OCwgMSwgTlVMTCwgNjQsICJ1aW50 NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MTVsIiwgODksIDEsIE5VTEws IDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjE2IiwgOTAs IDEsIE5VTEwsIDEyOCwgInZlYzEyOCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwg InYxNyIsIDkxLCAxLCBOVUxMLCAxMjgsICJ2ZWMxMjgiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcg KGZlYXR1cmUsICJ2MTgiLCA5MiwgMSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7Ci0rICB0ZGVzY19j cmVhdGVfcmVnIChmZWF0dXJlLCAidjE5IiwgOTMsIDEsIE5VTEwsIDEyOCwgInZlYzEyOCIpOwot KyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYyMCIsIDk0LCAxLCBOVUxMLCAxMjgsICJ2 ZWMxMjgiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MjEiLCA5NSwgMSwgTlVM TCwgMTI4LCAidmVjMTI4Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjIyIiwg OTYsIDEsIE5VTEwsIDEyOCwgInZlYzEyOCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgInYyMyIsIDk3LCAxLCBOVUxMLCAxMjgsICJ2ZWMxMjgiKTsKLSsgIHRkZXNjX2NyZWF0ZV9y ZWcgKGZlYXR1cmUsICJ2MjQiLCA5OCwgMSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7Ci0rICB0ZGVz Y19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjI1IiwgOTksIDEsIE5VTEwsIDEyOCwgInZlYzEyOCIp OwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYyNiIsIDEwMCwgMSwgTlVMTCwgMTI4 LCAidmVjMTI4Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjI3IiwgMTAxLCAx LCBOVUxMLCAxMjgsICJ2ZWMxMjgiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2 MjgiLCAxMDIsIDEsIE5VTEwsIDEyOCwgInZlYzEyOCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgInYyOSIsIDEwMywgMSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7Ci0rICB0ZGVzY19j cmVhdGVfcmVnIChmZWF0dXJlLCAidjMwIiwgMTA0LCAxLCBOVUxMLCAxMjgsICJ2ZWMxMjgiKTsK LSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MzEiLCAxMDUsIDEsIE5VTEwsIDEyOCwg InZlYzEyOCIpOwotKwotKyAgZmVhdHVyZSA9IHRkZXNjX2NyZWF0ZV9mZWF0dXJlIChyZXN1bHQs ICJvcmcuZ251LmdkYi5zMzkwLmdzIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi Z3NkIiwgMTA2LCAxLCAiZ3MiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgImdzc20iLCAxMDcsIDEsICJncyIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19j cmVhdGVfcmVnIChmZWF0dXJlLCAiZ3NlcGxhIiwgMTA4LCAxLCAiZ3MiLCA2NCwgImRhdGFfcHRy Iik7Ci0rCi0rICBmZWF0dXJlID0gdGRlc2NfY3JlYXRlX2ZlYXR1cmUgKHJlc3VsdCwgIm9yZy5n bnUuZ2RiLnMzOTAuZ3NiYyIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImJjX2dz ZCIsIDEwOSwgMSwgImdzIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZl YXR1cmUsICJiY19nc3NtIiwgMTEwLCAxLCAiZ3MiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgImJjX2dzZXBsYSIsIDExMSwgMSwgImdzIiwgNjQsICJkYXRh X3B0ciIpOwotKwotKyAgdGRlc2NfczM5MHhfZ3NfbGludXg2NCA9IHJlc3VsdDsKLSt9Ci0tLS0g L2Rldi9udWxsCi0rKysgYi9nZGIvZmVhdHVyZXMvczM5MHgtZ3MtbGludXg2NC54bWwKLUBAIC0w LDAgKzEsMjcgQEAKLSs8P3htbCB2ZXJzaW9uPSIxLjAiPz4KLSs8IS0tIENvcHlyaWdodCAoQykg MjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICAgIENvcHlpbmcgYW5k IGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpbGUsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s Ci0rICAgICBhcmUgcGVybWl0dGVkIGluIGFueSBtZWRpdW0gd2l0aG91dCByb3lhbHR5IHByb3Zp ZGVkIHRoZSBjb3B5cmlnaHQKLSsgICAgIG5vdGljZSBhbmQgdGhpcyBub3RpY2UgYXJlIHByZXNl cnZlZC4gIC0tPgotKwotKzwhLS0gUy8zOTAgNjQtYml0IHVzZXItbGV2ZWwgY29kZS4gIC0tPgot KwotKzwhRE9DVFlQRSB0YXJnZXQgU1lTVEVNICJnZGItdGFyZ2V0LmR0ZCI+Ci0rPHRhcmdldD4K LSsgIDxhcmNoaXRlY3R1cmU+czM5MDo2NC1iaXQ8L2FyY2hpdGVjdHVyZT4KLSsgIDx4aTppbmNs dWRlIGhyZWY9InMzOTB4LWNvcmU2NC54bWwiLz4KLSsgIDx4aTppbmNsdWRlIGhyZWY9InMzOTAt YWNyLnhtbCIvPgotKyAgPHhpOmluY2x1ZGUgaHJlZj0iczM5MC1mcHIueG1sIi8+Ci0rCi0rICA8 ZmVhdHVyZSBuYW1lPSJvcmcuZ251LmdkYi5zMzkwLmxpbnV4Ij4KLSsgICAgPHJlZyBuYW1lPSJv cmlnX3IyIiBiaXRzaXplPSI2NCIgdHlwZT0idWludDY0IiBncm91cD0ic3lzdGVtIi8+Ci0rICAg IDxyZWcgbmFtZT0ibGFzdF9icmVhayIgYml0c2l6ZT0iNjQiIHR5cGU9ImNvZGVfcHRyIiBncm91 cD0ic3lzdGVtIiBzYXZlLXJlc3RvcmU9Im5vIi8+Ci0rICAgIDxyZWcgbmFtZT0ic3lzdGVtX2Nh bGwiIGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50MzIiIGdyb3VwPSJzeXN0ZW0iLz4KLSsgIDwvZmVh dHVyZT4KLSsKLSsgIDx4aTppbmNsdWRlIGhyZWY9InMzOTAtdGRiLnhtbCIvPgotKyAgPHhpOmlu Y2x1ZGUgaHJlZj0iczM5MC12eC54bWwiLz4KLSsgIDx4aTppbmNsdWRlIGhyZWY9InMzOTAtZ3Mu eG1sIi8+Ci0rICA8eGk6aW5jbHVkZSBocmVmPSJzMzkwLWdzYmMueG1sIi8+Ci0rPC90YXJnZXQ+ Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvcmVnZm9ybWF0cy9zMzkwLWdzLWxpbnV4NjQuZGF0 Ci1AQCAtMCwwICsxLDEzMyBAQAotKyMgVEhJUyBGSUxFIElTIEdFTkVSQVRFRC4gIC0qLSBidWZm ZXItcmVhZC1vbmx5OiB0IC0qLSB2aSA6c2V0IHJvOgotKyMgR2VuZXJhdGVkIGZyb206IHMzOTAt Z3MtbGludXg2NC54bWwKLStuYW1lOnMzOTBfZ3NfbGludXg2NAotK3htbHRhcmdldDpzMzkwLWdz LWxpbnV4NjQueG1sCi0rZXhwZWRpdGU6cjE0LHIxNSxwc3dhCi0rMzI6cHN3bQotKzMyOnBzd2EK LSszMjpyMGgKLSszMjpyMGwKLSszMjpyMWgKLSszMjpyMWwKLSszMjpyMmgKLSszMjpyMmwKLSsz MjpyM2gKLSszMjpyM2wKLSszMjpyNGgKLSszMjpyNGwKLSszMjpyNWgKLSszMjpyNWwKLSszMjpy NmgKLSszMjpyNmwKLSszMjpyN2gKLSszMjpyN2wKLSszMjpyOGgKLSszMjpyOGwKLSszMjpyOWgK LSszMjpyOWwKLSszMjpyMTBoCi0rMzI6cjEwbAotKzMyOnIxMWgKLSszMjpyMTFsCi0rMzI6cjEy aAotKzMyOnIxMmwKLSszMjpyMTNoCi0rMzI6cjEzbAotKzMyOnIxNGgKLSszMjpyMTRsCi0rMzI6 cjE1aAotKzMyOnIxNWwKLSszMjphY3IwCi0rMzI6YWNyMQotKzMyOmFjcjIKLSszMjphY3IzCi0r MzI6YWNyNAotKzMyOmFjcjUKLSszMjphY3I2Ci0rMzI6YWNyNwotKzMyOmFjcjgKLSszMjphY3I5 Ci0rMzI6YWNyMTAKLSszMjphY3IxMQotKzMyOmFjcjEyCi0rMzI6YWNyMTMKLSszMjphY3IxNAot KzMyOmFjcjE1Ci0rMzI6ZnBjCi0rNjQ6ZjAKLSs2NDpmMQotKzY0OmYyCi0rNjQ6ZjMKLSs2NDpm NAotKzY0OmY1Ci0rNjQ6ZjYKLSs2NDpmNwotKzY0OmY4Ci0rNjQ6ZjkKLSs2NDpmMTAKLSs2NDpm MTEKLSs2NDpmMTIKLSs2NDpmMTMKLSs2NDpmMTQKLSs2NDpmMTUKLSszMjpvcmlnX3IyCi0rMzI6 bGFzdF9icmVhawotKzMyOnN5c3RlbV9jYWxsCi0rNjQ6dGRiMAotKzY0OnRhYwotKzY0OnRjdAot KzY0OmF0aWEKLSs2NDp0cjAKLSs2NDp0cjEKLSs2NDp0cjIKLSs2NDp0cjMKLSs2NDp0cjQKLSs2 NDp0cjUKLSs2NDp0cjYKLSs2NDp0cjcKLSs2NDp0cjgKLSs2NDp0cjkKLSs2NDp0cjEwCi0rNjQ6 dHIxMQotKzY0OnRyMTIKLSs2NDp0cjEzCi0rNjQ6dHIxNAotKzY0OnRyMTUKLSs2NDp2MGwKLSs2 NDp2MWwKLSs2NDp2MmwKLSs2NDp2M2wKLSs2NDp2NGwKLSs2NDp2NWwKLSs2NDp2NmwKLSs2NDp2 N2wKLSs2NDp2OGwKLSs2NDp2OWwKLSs2NDp2MTBsCi0rNjQ6djExbAotKzY0OnYxMmwKLSs2NDp2 MTNsCi0rNjQ6djE0bAotKzY0OnYxNWwKLSsxMjg6djE2Ci0rMTI4OnYxNwotKzEyODp2MTgKLSsx Mjg6djE5Ci0rMTI4OnYyMAotKzEyODp2MjEKLSsxMjg6djIyCi0rMTI4OnYyMwotKzEyODp2MjQK LSsxMjg6djI1Ci0rMTI4OnYyNgotKzEyODp2MjcKLSsxMjg6djI4Ci0rMTI4OnYyOQotKzEyODp2 MzAKLSsxMjg6djMxCi0rNjQ6Z3NkCi0rNjQ6Z3NzbQotKzY0OmdzZXBsYQotKzY0OmJjX2dzZAot KzY0OmJjX2dzc20KLSs2NDpiY19nc2VwbGEKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi9yZWdm b3JtYXRzL3MzOTB4LWdzLWxpbnV4NjQuZGF0Ci1AQCAtMCwwICsxLDExNyBAQAotKyMgVEhJUyBG SUxFIElTIEdFTkVSQVRFRC4gIC0qLSBidWZmZXItcmVhZC1vbmx5OiB0IC0qLSB2aSA6c2V0IHJv OgotKyMgR2VuZXJhdGVkIGZyb206IHMzOTB4LWdzLWxpbnV4NjQueG1sCi0rbmFtZTpzMzkweF9n c19saW51eDY0Ci0reG1sdGFyZ2V0OnMzOTB4LWdzLWxpbnV4NjQueG1sCi0rZXhwZWRpdGU6cjE0 LHIxNSxwc3dhCi0rNjQ6cHN3bQotKzY0OnBzd2EKLSs2NDpyMAotKzY0OnIxCi0rNjQ6cjIKLSs2 NDpyMwotKzY0OnI0Ci0rNjQ6cjUKLSs2NDpyNgotKzY0OnI3Ci0rNjQ6cjgKLSs2NDpyOQotKzY0 OnIxMAotKzY0OnIxMQotKzY0OnIxMgotKzY0OnIxMwotKzY0OnIxNAotKzY0OnIxNQotKzMyOmFj cjAKLSszMjphY3IxCi0rMzI6YWNyMgotKzMyOmFjcjMKLSszMjphY3I0Ci0rMzI6YWNyNQotKzMy OmFjcjYKLSszMjphY3I3Ci0rMzI6YWNyOAotKzMyOmFjcjkKLSszMjphY3IxMAotKzMyOmFjcjEx Ci0rMzI6YWNyMTIKLSszMjphY3IxMwotKzMyOmFjcjE0Ci0rMzI6YWNyMTUKLSszMjpmcGMKLSs2 NDpmMAotKzY0OmYxCi0rNjQ6ZjIKLSs2NDpmMwotKzY0OmY0Ci0rNjQ6ZjUKLSs2NDpmNgotKzY0 OmY3Ci0rNjQ6ZjgKLSs2NDpmOQotKzY0OmYxMAotKzY0OmYxMQotKzY0OmYxMgotKzY0OmYxMwot KzY0OmYxNAotKzY0OmYxNQotKzY0Om9yaWdfcjIKLSs2NDpsYXN0X2JyZWFrCi0rMzI6c3lzdGVt X2NhbGwKLSs2NDp0ZGIwCi0rNjQ6dGFjCi0rNjQ6dGN0Ci0rNjQ6YXRpYQotKzY0OnRyMAotKzY0 OnRyMQotKzY0OnRyMgotKzY0OnRyMwotKzY0OnRyNAotKzY0OnRyNQotKzY0OnRyNgotKzY0OnRy NwotKzY0OnRyOAotKzY0OnRyOQotKzY0OnRyMTAKLSs2NDp0cjExCi0rNjQ6dHIxMgotKzY0OnRy MTMKLSs2NDp0cjE0Ci0rNjQ6dHIxNQotKzY0OnYwbAotKzY0OnYxbAotKzY0OnYybAotKzY0OnYz bAotKzY0OnY0bAotKzY0OnY1bAotKzY0OnY2bAotKzY0OnY3bAotKzY0OnY4bAotKzY0OnY5bAot KzY0OnYxMGwKLSs2NDp2MTFsCi0rNjQ6djEybAotKzY0OnYxM2wKLSs2NDp2MTRsCi0rNjQ6djE1 bAotKzEyODp2MTYKLSsxMjg6djE3Ci0rMTI4OnYxOAotKzEyODp2MTkKLSsxMjg6djIwCi0rMTI4 OnYyMQotKzEyODp2MjIKLSsxMjg6djIzCi0rMTI4OnYyNAotKzEyODp2MjUKLSsxMjg6djI2Ci0r MTI4OnYyNwotKzEyODp2MjgKLSsxMjg6djI5Ci0rMTI4OnYzMAotKzEyODp2MzEKLSs2NDpnc2QK LSs2NDpnc3NtCi0rNjQ6Z3NlcGxhCi0rNjQ6YmNfZ3NkCi0rNjQ6YmNfZ3NzbQotKzY0OmJjX2dz ZXBsYQoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTQ5ODc1OC0zb2Y1LnBhdGNoIGIvZ2RiLXJoYnox NDk4NzU4LTNvZjUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDIxNzliMmIu LjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDk4NzU4LTNvZjUucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSwzOTEgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWls LmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IGdk Yi1yaGJ6MTQ5ODc1OC0zb2Y1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0OTg3NTgtM29m NS5wYXRjaAotCi1jb21taXQgMWI2MzQ5MGM5MTczZjhjOTc3MGI3ODg1ZGVmNzIwNTE2YWE5Yjlm OAotQXV0aG9yOiBBbmRyZWFzIEFybmV6IDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci1EYXRl OiAgIE1vbiBTZXAgMjUgMTY6MDI6MjMgMjAxNyArMDIwMAotCi0gICAgUzM5MDogQWRkIGd1YXJk ZWQtc3RvcmFnZSByZWdpc3RlciBzdXBwb3J0IHRvIEdEQgotICAgIAotICAgIFJlY29nbml6ZSB0 YXJnZXRzIHdpdGggdGhlIG5ldyBndWFyZGVkLXN0b3JhZ2UgZmVhdHVyZSBhbmQgdGhlbiBwcmVz ZW50Ci0gICAgdGhlIGd1YXJkZWQtc3RvcmFnZSByZWdpc3RlcnMgYW5kIHRoZSBMaW51eC1zcGVj aWZpYyBndWFyZGVkLXN0b3JhZ2UKLSAgICBicm9hZGNhc3QgY29udHJvbCBibG9jayBhcHByb3By aWF0ZWx5LgotICAgIAotICAgIGdkYi9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgICAgICAgICAqIHMz OTAtbGludXgtbmF0LmMgKGhhdmVfcmVnc2V0X2dzKTogTmV3IHN0YXRpYyB2YXJpYWJsZS4KLSAg ICAgICAgICAgIChzMzkwX2xpbnV4X2ZldGNoX2luZmVyaW9yX3JlZ2lzdGVycyk6IEhhbmRsZSBn dWFyZGVkLXN0b3JhZ2UKLSAgICAgICAgICAgIGNvbnRyb2wgYmxvY2sgYW5kIGd1YXJkZWQtc3Rv cmFnZSBicm9hZGNhc3QgY29udHJvbCByZWdzZXRzLgotICAgICAgICAgICAgKHMzOTBfcmVhZF9k ZXNjcmlwdGlvbik6IERldGVjdCB3aGV0aGVyIHRoZSB0YXJnZXQgaGFzCi0gICAgICAgICAgICBn dWFyZGVkLXN0b3JhZ2Ugc3VwcG9ydCwgcmV0dXJuIGFwcHJvcHJpYXRlIHRkZXNjLgotICAgICAg ICAgICAgKiBzMzkwLWxpbnV4LXRkZXAuYyAoZmVhdHVyZXMvczM5MC1ncy1saW51eDY0LmMpOiBO ZXcgaW5jbHVkZS4KLSAgICAgICAgICAgIChmZWF0dXJlcy9zMzkweC1ncy1saW51eDY0LmMpOiBM aWtld2lzZS4KLSAgICAgICAgICAgIChzdHJ1Y3QgZ2RiYXJjaF90ZGVwKSA8aGF2ZV9ncz46IE5l dyBmaWVsZC4KLSAgICAgICAgICAgIChzMzkwX3JlZ21hcF9ncywgczM5MF9yZWdtYXBfZ3NiYywg czM5MF9nc19yZWdzZXQpCi0gICAgICAgICAgICAoczM5MF9nc2JjX3JlZ3NldCk6IE5ldyB2YXJp YWJsZXMuCi0gICAgICAgICAgICAoczM5MF9pdGVyYXRlX292ZXJfcmVnc2V0X3NlY3Rpb25zKTog SXRlcmF0ZSBvdmVyIHMzOTBfZ3NfcmVnc2V0Ci0gICAgICAgICAgICBhbmQgczM5MF9nc2JjX3Jl Z3NldCwgaWYgYXBwbGljYWJsZS4KLSAgICAgICAgICAgIChzMzkwX2NvcmVfcmVhZF9kZXNjcmlw dGlvbik6IENoZWNrIHdoZXRoZXIgY29yZSBmaWxlIHdhcyBmcm9tIGEKLSAgICAgICAgICAgIHRh cmdldCB3aXRoIGd1YXJkZWQtc3RvcmFnZSBzdXBwb3J0OyBpbmNsdWRlIGFwcHJvcHJpYXRlIHJl Z3NldHMuCi0gICAgICAgICAgICAoczM5MF9nZGJhcmNoX2luaXQpOiBBZGQgcmVnaXN0ZXJzIGZv ciBndWFyZGVkLXN0b3JhZ2Ugc3VwcG9ydC4KLSAgICAgICAgICAgIChfaW5pdGlhbGl6ZV9zMzkw X3RkZXApOiBJbml0aWFsaXplIG5ldyB0YXJnZXQgZGVzY3JpcHRpb25zIHRoYXQKLSAgICAgICAg ICAgIGluY2x1ZGUgcmVnaXN0ZXJzIGZvciBndWFyZGVkLXN0b3JhZ2Ugc3VwcG9ydC4KLSAgICAg ICAgICAgICogczM5MC1saW51eC10ZGVwLmggKEhXQ0FQX1MzOTBfR1MsIFMzOTBfR1NEX1JFR05V TSkKLSAgICAgICAgICAgIChTMzkwX0dTU01fUkVHTlVNLCBTMzkwX0dTRVBMQV9SRUdOVU0pCi0g ICAgICAgICAgICAoUzM5MF9CQ19HU0RfUkVHTlVNLCBTMzkwX0JDX0dTU01fUkVHTlVNKTogTmV3 IGRlZmluZXMuCi0gICAgICAgICAgICAoUzM5MF9OVU1fUkVHUyk6IEFkanVzdCBtYWNybyBkZWZp bml0aW9uLgotICAgICAgICAgICAgKHMzOTBfZ3NfcmVnc2V0LCBzMzkwX2dzYmNfcmVnc2V0LCB0 ZGVzY19zMzkwX2dzX2xpbnV4NjQpCi0gICAgICAgICAgICAodGRlc2NfczM5MHhfZ3NfbGludXg2 NCk6IE5ldyBkZWNsYXJhdGlvbnMuCi0KLSMjIyBhL2dkYi9DaGFuZ2VMb2cKLSMjIyBiL2dkYi9D aGFuZ2VMb2cKLSMjIC0xLDUgKzEsMzEgQEAKLSAyMDE3LTA5LTI1ICBBbmRyZWFzIEFybmV6ICA8 YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAotKwkqIHMzOTAtbGludXgtbmF0LmMgKGhhdmVf cmVnc2V0X2dzKTogTmV3IHN0YXRpYyB2YXJpYWJsZS4KLSsJKHMzOTBfbGludXhfZmV0Y2hfaW5m ZXJpb3JfcmVnaXN0ZXJzKTogSGFuZGxlIGd1YXJkZWQtc3RvcmFnZQotKwljb250cm9sIGJsb2Nr IGFuZCBndWFyZGVkLXN0b3JhZ2UgYnJvYWRjYXN0IGNvbnRyb2wgcmVnc2V0cy4KLSsJKHMzOTBf cmVhZF9kZXNjcmlwdGlvbik6IERldGVjdCB3aGV0aGVyIHRoZSB0YXJnZXQgaGFzCi0rCWd1YXJk ZWQtc3RvcmFnZSBzdXBwb3J0LCByZXR1cm4gYXBwcm9wcmlhdGUgdGRlc2MuCi0rCSogczM5MC1s aW51eC10ZGVwLmMgKGZlYXR1cmVzL3MzOTAtZ3MtbGludXg2NC5jKTogTmV3IGluY2x1ZGUuCi0r CShmZWF0dXJlcy9zMzkweC1ncy1saW51eDY0LmMpOiBMaWtld2lzZS4KLSsJKHN0cnVjdCBnZGJh cmNoX3RkZXApIDxoYXZlX2dzPjogTmV3IGZpZWxkLgotKwkoczM5MF9yZWdtYXBfZ3MsIHMzOTBf cmVnbWFwX2dzYmMsIHMzOTBfZ3NfcmVnc2V0KQotKwkoczM5MF9nc2JjX3JlZ3NldCk6IE5ldyB2 YXJpYWJsZXMuCi0rCShzMzkwX2l0ZXJhdGVfb3Zlcl9yZWdzZXRfc2VjdGlvbnMpOiBJdGVyYXRl IG92ZXIgczM5MF9nc19yZWdzZXQKLSsJYW5kIHMzOTBfZ3NiY19yZWdzZXQsIGlmIGFwcGxpY2Fi bGUuCi0rCShzMzkwX2NvcmVfcmVhZF9kZXNjcmlwdGlvbik6IENoZWNrIHdoZXRoZXIgY29yZSBm aWxlIHdhcyBmcm9tIGEKLSsJdGFyZ2V0IHdpdGggZ3VhcmRlZC1zdG9yYWdlIHN1cHBvcnQ7IGlu Y2x1ZGUgYXBwcm9wcmlhdGUgcmVnc2V0cy4KLSsJKHMzOTBfZ2RiYXJjaF9pbml0KTogQWRkIHJl Z2lzdGVycyBmb3IgZ3VhcmRlZC1zdG9yYWdlIHN1cHBvcnQuCi0rCShfaW5pdGlhbGl6ZV9zMzkw X3RkZXApOiBJbml0aWFsaXplIG5ldyB0YXJnZXQgZGVzY3JpcHRpb25zIHRoYXQKLSsJaW5jbHVk ZSByZWdpc3RlcnMgZm9yIGd1YXJkZWQtc3RvcmFnZSBzdXBwb3J0LgotKwkqIHMzOTAtbGludXgt dGRlcC5oIChIV0NBUF9TMzkwX0dTLCBTMzkwX0dTRF9SRUdOVU0pCi0rCShTMzkwX0dTU01fUkVH TlVNLCBTMzkwX0dTRVBMQV9SRUdOVU0pCi0rCShTMzkwX0JDX0dTRF9SRUdOVU0sIFMzOTBfQkNf R1NTTV9SRUdOVU0pOiBOZXcgZGVmaW5lcy4KLSsJKFMzOTBfTlVNX1JFR1MpOiBBZGp1c3QgbWFj cm8gZGVmaW5pdGlvbi4KLSsJKHMzOTBfZ3NfcmVnc2V0LCBzMzkwX2dzYmNfcmVnc2V0LCB0ZGVz Y19zMzkwX2dzX2xpbnV4NjQpCi0rCSh0ZGVzY19zMzkweF9nc19saW51eDY0KTogTmV3IGRlY2xh cmF0aW9ucy4KLSsKLSsyMDE3LTA5LTI1ICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5l dC5pYm0uY29tPgotKwotIAkqIGZlYXR1cmVzL3MzOTAtZ3MtbGludXg2NC54bWw6IE5ldyBmaWxl LgotIAkqIGZlYXR1cmVzL3MzOTAtZ3MueG1sOiBOZXcgZmlsZS4KLSAJKiBmZWF0dXJlcy9zMzkw LWdzYmMueG1sOiBOZXcgZmlsZS4KLS0tLSBhL2dkYi9zMzkwLWxpbnV4LW5hdC5jCi0rKysgYi9n ZGIvczM5MC1saW51eC1uYXQuYwotQEAgLTU0LDYgKzU0LDcgQEAgc3RhdGljIGludCBoYXZlX3Jl Z3NldF9sYXN0X2JyZWFrID0gMDsKLSBzdGF0aWMgaW50IGhhdmVfcmVnc2V0X3N5c3RlbV9jYWxs ID0gMDsKLSBzdGF0aWMgaW50IGhhdmVfcmVnc2V0X3RkYiA9IDA7Ci0gc3RhdGljIGludCBoYXZl X3JlZ3NldF92eHJzID0gMDsKLStzdGF0aWMgaW50IGhhdmVfcmVnc2V0X2dzID0gMDsKLSAKLSAv KiBSZWdpc3RlciBtYXAgZm9yIDMyLWJpdCBleGVjdXRhYmxlcyBydW5uaW5nIHVuZGVyIGEgNjQt Yml0Ci0gICAga2VybmVsLiAgKi8KLUBAIC00MDYsNiArNDA3LDE4IEBAIHMzOTBfbGludXhfZmV0 Y2hfaW5mZXJpb3JfcmVnaXN0ZXJzIChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzLAotIAlmZXRjaF9y ZWdzZXQgKHJlZ2NhY2hlLCB0aWQsIE5UX1MzOTBfVlhSU19ISUdILCAxNiAqIDE2LAotIAkJICAg ICAgJnMzOTBfdnhyc19oaWdoX3JlZ3NldCk7Ci0gICAgIH0KLSsKLSsgIGlmIChoYXZlX3JlZ3Nl dF9ncykKLSsgICAgewotKyAgICAgIGlmIChyZWdudW0gPT0gLTEgfHwgKHJlZ251bSA+PSBTMzkw X0dTRF9SRUdOVU0KLSsJCQkgICAmJiByZWdudW0gPD0gUzM5MF9HU0VQTEFfUkVHTlVNKSkKLSsJ ZmV0Y2hfcmVnc2V0IChyZWdjYWNoZSwgdGlkLCBOVF9TMzkwX0dTX0NCLCA0ICogOCwKLSsJCSAg ICAgICZzMzkwX2dzX3JlZ3NldCk7Ci0rICAgICAgaWYgKHJlZ251bSA9PSAtMSB8fCAocmVnbnVt ID49IFMzOTBfQkNfR1NEX1JFR05VTQotKwkJCSAgICYmIHJlZ251bSA8PSBTMzkwX0JDX0dTRVBM QV9SRUdOVU0pKQotKwlmZXRjaF9yZWdzZXQgKHJlZ2NhY2hlLCB0aWQsIE5UX1MzOTBfR1NfQkMs IDQgKiA4LAotKwkJICAgICAgJnMzOTBfZ3NiY19yZWdzZXQpOwotKyAgICB9Ci0gfQotIAotIC8q IFN0b3JlIHJlZ2lzdGVyIFJFR05VTSBiYWNrIGludG8gdGhlIGNoaWxkIHByb2Nlc3MuICBJZiBS RUdOVU0gaXMKLUBAIC05NzQsOCArOTg3LDEzIEBAIHMzOTBfcmVhZF9kZXNjcmlwdGlvbiAoc3Ry dWN0IHRhcmdldF9vcHMgKm9wcykKLSAgICAgICAmJiBjaGVja19yZWdzZXQgKHRpZCwgTlRfUzM5 MF9WWFJTX0xPVywgMTYgKiA4KQotICAgICAgICYmIGNoZWNrX3JlZ3NldCAodGlkLCBOVF9TMzkw X1ZYUlNfSElHSCwgMTYgKiAxNik7Ci0gCi0rICAgIGhhdmVfcmVnc2V0X2dzID0gKGh3Y2FwICYg SFdDQVBfUzM5MF9HUykKLSsgICAgICAmJiBjaGVja19yZWdzZXQgKHRpZCwgTlRfUzM5MF9HU19D QiwgNCAqIDgpCi0rICAgICAgJiYgY2hlY2tfcmVnc2V0ICh0aWQsIE5UX1MzOTBfR1NfQkMsIDQg KiA4KTsKLSsKLSAgICAgaWYgKHMzOTBfdGFyZ2V0X3dvcmRzaXplICgpID09IDgpCi0tICAgICAg cmV0dXJuIChoYXZlX3JlZ3NldF92eHJzID8KLSsgICAgICByZXR1cm4gKGhhdmVfcmVnc2V0X2dz ID8gdGRlc2NfczM5MHhfZ3NfbGludXg2NCA6Ci0rCSAgICAgIGhhdmVfcmVnc2V0X3Z4cnMgPwot IAkgICAgICAoaGF2ZV9yZWdzZXRfdGRiID8gdGRlc2NfczM5MHhfdGV2eF9saW51eDY0IDoKLSAJ ICAgICAgIHRkZXNjX3MzOTB4X3Z4X2xpbnV4NjQpIDoKLSAJICAgICAgaGF2ZV9yZWdzZXRfdGRi ID8gdGRlc2NfczM5MHhfdGVfbGludXg2NCA6Ci1AQCAtOTg0LDcgKzEwMDIsOCBAQCBzMzkwX3Jl YWRfZGVzY3JpcHRpb24gKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMpCi0gCSAgICAgIHRkZXNjX3Mz OTB4X2xpbnV4NjQpOwotIAotICAgICBpZiAoaHdjYXAgJiBIV0NBUF9TMzkwX0hJR0hfR1BSUykK LS0gICAgICByZXR1cm4gKGhhdmVfcmVnc2V0X3Z4cnMgPwotKyAgICAgIHJldHVybiAoaGF2ZV9y ZWdzZXRfZ3MgPyB0ZGVzY19zMzkwX2dzX2xpbnV4NjQgOgotKwkgICAgICBoYXZlX3JlZ3NldF92 eHJzID8KLSAJICAgICAgKGhhdmVfcmVnc2V0X3RkYiA/IHRkZXNjX3MzOTBfdGV2eF9saW51eDY0 IDoKLSAJICAgICAgIHRkZXNjX3MzOTBfdnhfbGludXg2NCkgOgotIAkgICAgICBoYXZlX3JlZ3Nl dF90ZGIgPyB0ZGVzY19zMzkwX3RlX2xpbnV4NjQgOgotLS0tIGEvZ2RiL3MzOTAtbGludXgtdGRl cC5jCi0rKysgYi9nZGIvczM5MC1saW51eC10ZGVwLmMKLUBAIC02OSwxMiArNjksMTQgQEAKLSAj aW5jbHVkZSAiZmVhdHVyZXMvczM5MC10ZS1saW51eDY0LmMiCi0gI2luY2x1ZGUgImZlYXR1cmVz L3MzOTAtdngtbGludXg2NC5jIgotICNpbmNsdWRlICJmZWF0dXJlcy9zMzkwLXRldngtbGludXg2 NC5jIgotKyNpbmNsdWRlICJmZWF0dXJlcy9zMzkwLWdzLWxpbnV4NjQuYyIKLSAjaW5jbHVkZSAi ZmVhdHVyZXMvczM5MHgtbGludXg2NC5jIgotICNpbmNsdWRlICJmZWF0dXJlcy9zMzkweC1saW51 eDY0djEuYyIKLSAjaW5jbHVkZSAiZmVhdHVyZXMvczM5MHgtbGludXg2NHYyLmMiCi0gI2luY2x1 ZGUgImZlYXR1cmVzL3MzOTB4LXRlLWxpbnV4NjQuYyIKLSAjaW5jbHVkZSAiZmVhdHVyZXMvczM5 MHgtdngtbGludXg2NC5jIgotICNpbmNsdWRlICJmZWF0dXJlcy9zMzkweC10ZXZ4LWxpbnV4NjQu YyIKLSsjaW5jbHVkZSAiZmVhdHVyZXMvczM5MHgtZ3MtbGludXg2NC5jIgotIAotICNkZWZpbmUg WE1MX1NZU0NBTExfRklMRU5BTUVfUzM5MCAic3lzY2FsbHMvczM5MC1saW51eC54bWwiCi0gI2Rl ZmluZSBYTUxfU1lTQ0FMTF9GSUxFTkFNRV9TMzkwWCAic3lzY2FsbHMvczM5MHgtbGludXgueG1s IgotQEAgLTExMyw2ICsxMTUsNyBAQCBzdHJ1Y3QgZ2RiYXJjaF90ZGVwCi0gICBpbnQgaGF2ZV9s aW51eF92MTsKLSAgIGludCBoYXZlX2xpbnV4X3YyOwotICAgaW50IGhhdmVfdGRiOwotKyAgYm9v bCBoYXZlX2dzOwotIH07Ci0gCi0gCi1AQCAtODM0LDYgKzgzNywyNCBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IHJlZ2NhY2hlX21hcF9lbnRyeSBzMzkwX3JlZ21hcF92eHJzX2hpZ2hbXSA9Ci0gICAg IHsgMCB9Ci0gICB9OwotIAotK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnY2FjaGVfbWFwX2VudHJ5 IHMzOTBfcmVnbWFwX2dzW10gPQotKyAgewotKyAgICB7IDEsIFJFR0NBQ0hFX01BUF9TS0lQLCA4 IH0sCi0rICAgIHsgMSwgUzM5MF9HU0RfUkVHTlVNLCA4IH0sCi0rICAgIHsgMSwgUzM5MF9HU1NN X1JFR05VTSwgOCB9LAotKyAgICB7IDEsIFMzOTBfR1NFUExBX1JFR05VTSwgOCB9LAotKyAgICB7 IDAgfQotKyAgfTsKLSsKLStzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ2NhY2hlX21hcF9lbnRyeSBz MzkwX3JlZ21hcF9nc2JjW10gPQotKyAgewotKyAgICB7IDEsIFJFR0NBQ0hFX01BUF9TS0lQLCA4 IH0sCi0rICAgIHsgMSwgUzM5MF9CQ19HU0RfUkVHTlVNLCA4IH0sCi0rICAgIHsgMSwgUzM5MF9C Q19HU1NNX1JFR05VTSwgOCB9LAotKyAgICB7IDEsIFMzOTBfQkNfR1NFUExBX1JFR05VTSwgOCB9 LAotKyAgICB7IDAgfQotKyAgfTsKLSsKLSAKLSAvKiBTdXBwbHkgdGhlIFREQiByZWdzZXQuICBM aWtlIHJlZ2NhY2hlX3N1cHBseV9yZWdzZXQsIGJ1dCBpbnZhbGlkYXRlCi0gICAgdGhlIFREQiBy ZWdpc3RlcnMgdW5sZXNzIHRoZSBUREIgZm9ybWF0IGZpZWxkIGlzIHZhbGlkLiAgKi8KLUBAIC05 MDUsNiArOTI2LDE4IEBAIGNvbnN0IHN0cnVjdCByZWdzZXQgczM5MF92eHJzX2hpZ2hfcmVnc2V0 ID0gewotICAgcmVnY2FjaGVfY29sbGVjdF9yZWdzZXQKLSB9OwotIAotK2NvbnN0IHN0cnVjdCBy ZWdzZXQgczM5MF9nc19yZWdzZXQgPSB7Ci0rICBzMzkwX3JlZ21hcF9ncywKLSsgIHJlZ2NhY2hl X3N1cHBseV9yZWdzZXQsCi0rICByZWdjYWNoZV9jb2xsZWN0X3JlZ3NldAotK307Ci0rCi0rY29u c3Qgc3RydWN0IHJlZ3NldCBzMzkwX2dzYmNfcmVnc2V0ID0gewotKyAgczM5MF9yZWdtYXBfZ3Ni YywKLSsgIHJlZ2NhY2hlX3N1cHBseV9yZWdzZXQsCi0rICByZWdjYWNoZV9jb2xsZWN0X3JlZ3Nl dAotK307Ci0rCi0gLyogSXRlcmF0ZSBvdmVyIHN1cHBvcnRlZCBjb3JlIGZpbGUgcmVnaXN0ZXIg bm90ZSBzZWN0aW9ucy4gKi8KLSAKLSBzdGF0aWMgdm9pZAotQEAgLTk1MSw2ICs5ODQsMjMgQEAg czM5MF9pdGVyYXRlX292ZXJfcmVnc2V0X3NlY3Rpb25zIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwKLSAgICAgICBjYiAoIi5yZWctczM5MC12eHJzLWhpZ2giLCAxNiAqIDE2LCAmczM5MF92eHJz X2hpZ2hfcmVnc2V0LAotIAkgICJzMzkwIHZlY3RvciByZWdpc3RlcnMgMTYtMzEiLCBjYl9kYXRh KTsKLSAgICAgfQotKwotKyAgLyogSXRlcmF0ZSBvdmVyIHRoZSBndWFyZGVkLXN0b3JhZ2UgcmVn c2V0cyBpZiBpbiAicmVhZCIgbW9kZSwgb3IgaWYKLSsgICAgIHRoZWlyIHJlZ2lzdGVycyBhcmUg YXZhaWxhYmxlLiAgKi8KLSsgIGlmICh0ZGVwLT5oYXZlX2dzKQotKyAgICB7Ci0rICAgICAgaWYg KHJlZ2NhY2hlID09IE5VTEwKLSsJICB8fCBSRUdfVkFMSUQgPT0gcmVnY2FjaGVfcmVnaXN0ZXJf c3RhdHVzIChyZWdjYWNoZSwKLSsJCQkJCQkgICAgUzM5MF9HU0RfUkVHTlVNKSkKLSsJY2IgKCIu cmVnLXMzOTAtZ3MtY2IiLCA0ICogOCwgJnMzOTBfZ3NfcmVnc2V0LAotKwkgICAgInMzOTAgZ3Vh cmRlZC1zdG9yYWdlIHJlZ2lzdGVycyIsIGNiX2RhdGEpOwotKwotKyAgICAgIGlmIChyZWdjYWNo ZSA9PSBOVUxMCi0rCSAgfHwgUkVHX1ZBTElEID09IHJlZ2NhY2hlX3JlZ2lzdGVyX3N0YXR1cyAo cmVnY2FjaGUsCi0rCQkJCQkJICAgIFMzOTBfQkNfR1NEX1JFR05VTSkpCi0rCWNiICgiLnJlZy1z MzkwLWdzLWJjIiwgNCAqIDgsICZzMzkwX2dzYmNfcmVnc2V0LAotKwkgICAgInMzOTAgZ3VhcmRl ZC1zdG9yYWdlIGJyb2FkY2FzdCBjb250cm9sIiwgY2JfZGF0YSk7Ci0rICAgIH0KLSB9Ci0gCi0g c3RhdGljIGNvbnN0IHN0cnVjdCB0YXJnZXRfZGVzYyAqCi1AQCAtOTU5LDcgKzEwMDksNyBAQCBz MzkwX2NvcmVfcmVhZF9kZXNjcmlwdGlvbiAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gewot ICAgYXNlY3Rpb24gKnNlY3Rpb24gPSBiZmRfZ2V0X3NlY3Rpb25fYnlfbmFtZSAoYWJmZCwgIi5y ZWciKTsKLSAgIENPUkVfQUREUiBod2NhcCA9IDA7Ci0tICBpbnQgaGlnaF9ncHJzLCB2MSwgdjIs IHRlLCB2eDsKLSsgIGJvb2wgaGlnaF9ncHJzLCB2MSwgdjIsIHRlLCB2eCwgZ3M7Ci0gCi0gICB0 YXJnZXRfYXV4dl9zZWFyY2ggKHRhcmdldCwgQVRfSFdDQVAsICZod2NhcCk7Ci0gICBpZiAoIXNl Y3Rpb24pCi1AQCAtOTcxLDEyICsxMDIxLDE0IEBAIHMzOTBfY29yZV9yZWFkX2Rlc2NyaXB0aW9u IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLSAgIHYyID0gKGJmZF9nZXRfc2VjdGlvbl9ieV9u YW1lIChhYmZkLCAiLnJlZy1zMzkwLXN5c3RlbS1jYWxsIikgIT0gTlVMTCk7Ci0gICB2eCA9ICho d2NhcCAmIEhXQ0FQX1MzOTBfVlgpOwotICAgdGUgPSAoaHdjYXAgJiBIV0NBUF9TMzkwX1RFKTsK LSsgIGdzID0gKGh3Y2FwICYgSFdDQVBfUzM5MF9HUyk7Ci0gCi0gICBzd2l0Y2ggKGJmZF9zZWN0 aW9uX3NpemUgKGFiZmQsIHNlY3Rpb24pKQotICAgICB7Ci0gICAgIGNhc2UgczM5MF9zaXplb2Zf Z3JlZ3NldDoKLSAgICAgICBpZiAoaGlnaF9ncHJzKQotLQlyZXR1cm4gKHRlICYmIHZ4ID8gdGRl c2NfczM5MF90ZXZ4X2xpbnV4NjQgOgotKwlyZXR1cm4gKGdzID8gdGRlc2NfczM5MF9nc19saW51 eDY0IDoKLSsJCXRlICYmIHZ4ID8gdGRlc2NfczM5MF90ZXZ4X2xpbnV4NjQgOgotIAkJdnggPyB0 ZGVzY19zMzkwX3Z4X2xpbnV4NjQgOgotIAkJdGUgPyB0ZGVzY19zMzkwX3RlX2xpbnV4NjQgOgot IAkJdjIgPyB0ZGVzY19zMzkwX2xpbnV4NjR2MiA6Ci1AQCAtOTg2LDcgKzEwMzgsOCBAQCBzMzkw X2NvcmVfcmVhZF9kZXNjcmlwdGlvbiAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gCQl2MSA/ IHRkZXNjX3MzOTBfbGludXgzMnYxIDogdGRlc2NfczM5MF9saW51eDMyKTsKLSAKLSAgICAgY2Fz ZSBzMzkweF9zaXplb2ZfZ3JlZ3NldDoKLS0gICAgICByZXR1cm4gKHRlICYmIHZ4ID8gdGRlc2Nf czM5MHhfdGV2eF9saW51eDY0IDoKLSsgICAgICByZXR1cm4gKGdzID8gdGRlc2NfczM5MHhfZ3Nf bGludXg2NCA6Ci0rCSAgICAgIHRlICYmIHZ4ID8gdGRlc2NfczM5MHhfdGV2eF9saW51eDY0IDoK LSAJICAgICAgdnggPyB0ZGVzY19zMzkweF92eF9saW51eDY0IDoKLSAJICAgICAgdGUgPyB0ZGVz Y19zMzkweF90ZV9saW51eDY0IDoKLSAJICAgICAgdjIgPyB0ZGVzY19zMzkweF9saW51eDY0djIg OgotQEAgLTc3NjcsNiArNzgyMCw3IEBAIHMzOTBfZ2RiYXJjaF9pbml0IChzdHJ1Y3QgZ2RiYXJj aF9pbmZvIGluZm8sIHN0cnVjdCBnZGJhcmNoX2xpc3QgKmFyY2hlcykKLSAgIGludCBoYXZlX2xp bnV4X3YyID0gMDsKLSAgIGludCBoYXZlX3RkYiA9IDA7Ci0gICBpbnQgaGF2ZV92eCA9IDA7Ci0r ICBpbnQgaGF2ZV9ncyA9IDA7Ci0gICBpbnQgZmlyc3RfcHNldWRvX3JlZywgbGFzdF9wc2V1ZG9f cmVnOwotICAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YXBfcmVnaXN0ZXJfcHJlZml4ZXNb XSA9IHsgIiUiLCBOVUxMIH07Ci0gICBzdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgc3RhcF9yZWdp c3Rlcl9pbmRpcmVjdGlvbl9wcmVmaXhlc1tdID0geyAiKCIsCi1AQCAtNzgzNCw2ICs3ODg4LDEy IEBAIHMzOTBfZ2RiYXJjaF9pbml0IChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sIHN0cnVjdCBn ZGJhcmNoX2xpc3QgKmFyY2hlcykKLSAJInYxNiIsICJ2MTciLCAidjE4IiwgInYxOSIsICJ2MjAi LCAidjIxIiwgInYyMiIsICJ2MjMiLCAidjI0IiwKLSAJInYyNSIsICJ2MjYiLCAidjI3IiwgInYy OCIsICJ2MjkiLCAidjMwIiwgInYzMSIsCi0gICAgICAgfTsKLSsgICAgICBzdGF0aWMgY29uc3Qg Y2hhciAqY29uc3QgZ3NfY2JbXSA9IHsKLSsJImdzZCIsICJnc3NtIiwgImdzZXBsYSIsCi0rICAg ICAgfTsKLSsgICAgICBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgZ3NfYmNbXSA9IHsKLSsJImJj X2dzZCIsICJiY19nc3NtIiwgImJjX2dzZXBsYSIsCi0rICAgICAgfTsKLSAgICAgICBjb25zdCBz dHJ1Y3QgdGRlc2NfZmVhdHVyZSAqZmVhdHVyZTsKLSAgICAgICBpbnQgaSwgdmFsaWRfcCA9IDE7 Ci0gCi1AQCAtNzkzNyw2ICs3OTk3LDI5IEBAIHMzOTBfZ2RiYXJjaF9pbml0IChzdHJ1Y3QgZ2Ri YXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJhcmNoX2xpc3QgKmFyY2hlcykKLSAJICBoYXZlX3Z4 ID0gMTsKLSAJfQotIAotKyAgICAgIC8qIEd1YXJkZWQtc3RvcmFnZSByZWdpc3RlcnMuICAqLwot KyAgICAgIGZlYXR1cmUgPSB0ZGVzY19maW5kX2ZlYXR1cmUgKHRkZXNjLCAib3JnLmdudS5nZGIu czM5MC5ncyIpOwotKyAgICAgIGlmIChmZWF0dXJlKQotKwl7Ci0rCSAgZm9yIChpID0gMDsgaSA8 IDM7IGkrKykKLSsJICAgIHZhbGlkX3AgJj0gdGRlc2NfbnVtYmVyZWRfcmVnaXN0ZXIgKGZlYXR1 cmUsIHRkZXNjX2RhdGEsCi0rCQkJCQkJUzM5MF9HU0RfUkVHTlVNICsgaSwKLSsJCQkJCQlnc19j YltpXSk7Ci0rCSAgaGF2ZV9ncyA9IDE7Ci0rCX0KLSsKLSsgICAgICAvKiBHdWFyZGVkLXN0b3Jh Z2UgYnJvYWRjYXN0IGNvbnRyb2wuICAqLwotKyAgICAgIGZlYXR1cmUgPSB0ZGVzY19maW5kX2Zl YXR1cmUgKHRkZXNjLCAib3JnLmdudS5nZGIuczM5MC5nc2JjIik7Ci0rICAgICAgaWYgKGZlYXR1 cmUpCi0rCXsKLSsJICB2YWxpZF9wICY9IGhhdmVfZ3M7Ci0rCi0rCSAgZm9yIChpID0gMDsgaSA8 IDM7IGkrKykKLSsJICAgIHZhbGlkX3AgJj0gdGRlc2NfbnVtYmVyZWRfcmVnaXN0ZXIgKGZlYXR1 cmUsIHRkZXNjX2RhdGEsCi0rCQkJCQkJUzM5MF9CQ19HU0RfUkVHTlVNICsgaSwKLSsJCQkJCQln c19iY1tpXSk7Ci0rCX0KLSsKLSAgICAgICBpZiAoIXZhbGlkX3ApCi0gCXsKLSAJICB0ZGVzY19k YXRhX2NsZWFudXAgKHRkZXNjX2RhdGEpOwotQEAgLTc5NzAsNiArODA1Myw4IEBAIHMzOTBfZ2Ri YXJjaF9pbml0IChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJhcmNoX2xpc3Qg KmFyY2hlcykKLSAJY29udGludWU7Ci0gICAgICAgaWYgKCh0ZGVwLT5ncHJfZnVsbF9yZWdudW0g IT0gLTEpICE9IGhhdmVfdXBwZXIpCi0gCWNvbnRpbnVlOwotKyAgICAgIGlmICh0ZGVwLT5oYXZl X2dzICE9IGhhdmVfZ3MpCi0rCWNvbnRpbnVlOwotICAgICAgIGlmICh0ZGVzY19kYXRhICE9IE5V TEwpCi0gCXRkZXNjX2RhdGFfY2xlYW51cCAodGRlc2NfZGF0YSk7Ci0gICAgICAgcmV0dXJuIGFy Y2hlcy0+Z2RiYXJjaDsKLUBAIC03OTgyLDYgKzgwNjcsNyBAQCBzMzkwX2dkYmFyY2hfaW5pdCAo c3RydWN0IGdkYmFyY2hfaW5mbyBpbmZvLCBzdHJ1Y3QgZ2RiYXJjaF9saXN0ICphcmNoZXMpCi0g ICB0ZGVwLT5oYXZlX2xpbnV4X3YxID0gaGF2ZV9saW51eF92MTsKLSAgIHRkZXAtPmhhdmVfbGlu dXhfdjIgPSBoYXZlX2xpbnV4X3YyOwotICAgdGRlcC0+aGF2ZV90ZGIgPSBoYXZlX3RkYjsKLSsg IHRkZXAtPmhhdmVfZ3MgPSBoYXZlX2dzOwotICAgZ2RiYXJjaCA9IGdkYmFyY2hfYWxsb2MgKCZp bmZvLCB0ZGVwKTsKLSAKLSAgIHNldF9nZGJhcmNoX2JlbGlldmVfcGNjX3Byb21vdGlvbiAoZ2Ri YXJjaCwgMCk7Ci1AQCAtODE1NywxMCArODI0MywxMiBAQCBfaW5pdGlhbGl6ZV9zMzkwX3RkZXAg KHZvaWQpCi0gICBpbml0aWFsaXplX3RkZXNjX3MzOTBfdGVfbGludXg2NCAoKTsKLSAgIGluaXRp YWxpemVfdGRlc2NfczM5MF92eF9saW51eDY0ICgpOwotICAgaW5pdGlhbGl6ZV90ZGVzY19zMzkw X3RldnhfbGludXg2NCAoKTsKLSsgIGluaXRpYWxpemVfdGRlc2NfczM5MF9nc19saW51eDY0ICgp OwotICAgaW5pdGlhbGl6ZV90ZGVzY19zMzkweF9saW51eDY0ICgpOwotICAgaW5pdGlhbGl6ZV90 ZGVzY19zMzkweF9saW51eDY0djEgKCk7Ci0gICBpbml0aWFsaXplX3RkZXNjX3MzOTB4X2xpbnV4 NjR2MiAoKTsKLSAgIGluaXRpYWxpemVfdGRlc2NfczM5MHhfdGVfbGludXg2NCAoKTsKLSAgIGlu aXRpYWxpemVfdGRlc2NfczM5MHhfdnhfbGludXg2NCAoKTsKLSAgIGluaXRpYWxpemVfdGRlc2Nf czM5MHhfdGV2eF9saW51eDY0ICgpOwotKyAgaW5pdGlhbGl6ZV90ZGVzY19zMzkweF9nc19saW51 eDY0ICgpOwotIH0KLS0tLSBhL2dkYi9zMzkwLWxpbnV4LXRkZXAuaAotKysrIGIvZ2RiL3MzOTAt bGludXgtdGRlcC5oCi1AQCAtMzMsNiArMzMsMTAgQEAKLSAjZGVmaW5lIEhXQ0FQX1MzOTBfVlgg MjA0OAotICNlbmRpZgotIAotKyNpZm5kZWYgSFdDQVBfUzM5MF9HUwotKyNkZWZpbmUgSFdDQVBf UzM5MF9HUyAxNjM4NAotKyNlbmRpZgotKwotIC8qIFJlZ2lzdGVyIGluZm9ybWF0aW9uLiAgKi8K LSAKLSAvKiBQcm9ncmFtIFN0YXR1cyBXb3JkLiAgKi8KLUBAIC0xNjYsOCArMTcwLDE0IEBACi0g I2RlZmluZSBTMzkwX1YyOV9SRUdOVU0gMTE5Ci0gI2RlZmluZSBTMzkwX1YzMF9SRUdOVU0gMTIw Ci0gI2RlZmluZSBTMzkwX1YzMV9SRUdOVU0gMTIxCi0rI2RlZmluZSBTMzkwX0dTRF9SRUdOVU0g MTIyCi0rI2RlZmluZSBTMzkwX0dTU01fUkVHTlVNIDEyMwotKyNkZWZpbmUgUzM5MF9HU0VQTEFf UkVHTlVNIDEyNAotKyNkZWZpbmUgUzM5MF9CQ19HU0RfUkVHTlVNIDEyNQotKyNkZWZpbmUgUzM5 MF9CQ19HU1NNX1JFR05VTSAxMjYKLSsjZGVmaW5lIFMzOTBfQkNfR1NFUExBX1JFR05VTSAxMjcK LSAvKiBUb3RhbC4gICovCi0tI2RlZmluZSBTMzkwX05VTV9SRUdTIDEyMgotKyNkZWZpbmUgUzM5 MF9OVU1fUkVHUyAxMjgKLSAKLSAvKiBTcGVjaWFsIHJlZ2lzdGVyIHVzYWdlLiAgKi8KLSAjZGVm aW5lIFMzOTBfU1BfUkVHTlVNIFMzOTBfUjE1X1JFR05VTQotQEAgLTE5OCw2ICsyMDgsOCBAQCBl eHRlcm4gY29uc3Qgc3RydWN0IHJlZ3NldCBzMzkwX3RkYl9yZWdzZXQ7Ci0gI2RlZmluZSBzMzkw X3NpemVvZl90ZGJyZWdzZXQgMHgxMDAKLSBleHRlcm4gY29uc3Qgc3RydWN0IHJlZ3NldCBzMzkw X3Z4cnNfbG93X3JlZ3NldDsKLSBleHRlcm4gY29uc3Qgc3RydWN0IHJlZ3NldCBzMzkwX3Z4cnNf aGlnaF9yZWdzZXQ7Ci0rZXh0ZXJuIGNvbnN0IHN0cnVjdCByZWdzZXQgczM5MF9nc19yZWdzZXQ7 Ci0rZXh0ZXJuIGNvbnN0IHN0cnVjdCByZWdzZXQgczM5MF9nc2JjX3JlZ3NldDsKLSAKLSAvKiBH TlUvTGludXggdGFyZ2V0IGRlc2NyaXB0aW9ucy4gICovCi0gZXh0ZXJuIHN0cnVjdCB0YXJnZXRf ZGVzYyAqdGRlc2NfczM5MF9saW51eDMyOwotQEAgLTIwOSwxMSArMjIxLDEzIEBAIGV4dGVybiBz dHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjX3MzOTBfbGludXg2NHYyOwotIGV4dGVybiBzdHJ1Y3Qg dGFyZ2V0X2Rlc2MgKnRkZXNjX3MzOTBfdGVfbGludXg2NDsKLSBleHRlcm4gc3RydWN0IHRhcmdl dF9kZXNjICp0ZGVzY19zMzkwX3Z4X2xpbnV4NjQ7Ci0gZXh0ZXJuIHN0cnVjdCB0YXJnZXRfZGVz YyAqdGRlc2NfczM5MF90ZXZ4X2xpbnV4NjQ7Ci0rZXh0ZXJuIHN0cnVjdCB0YXJnZXRfZGVzYyAq dGRlc2NfczM5MF9nc19saW51eDY0OwotIGV4dGVybiBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNj X3MzOTB4X2xpbnV4NjQ7Ci0gZXh0ZXJuIHN0cnVjdCB0YXJnZXRfZGVzYyAqdGRlc2NfczM5MHhf bGludXg2NHYxOwotIGV4dGVybiBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjX3MzOTB4X2xpbnV4 NjR2MjsKLSBleHRlcm4gc3RydWN0IHRhcmdldF9kZXNjICp0ZGVzY19zMzkweF90ZV9saW51eDY0 OwotIGV4dGVybiBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjX3MzOTB4X3Z4X2xpbnV4NjQ7Ci0g ZXh0ZXJuIHN0cnVjdCB0YXJnZXRfZGVzYyAqdGRlc2NfczM5MHhfdGV2eF9saW51eDY0OwotK2V4 dGVybiBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjX3MzOTB4X2dzX2xpbnV4NjQ7Ci0gCi0gI2Vu ZGlmCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDk4NzU4LTRvZjUucGF0Y2ggYi9nZGItcmhiejE0 OTg3NTgtNG9mNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggNTA2Mzk0OS4u MDAwMDAwMAotLS0gYS9nZGItcmhiejE0OTg3NTgtNG9mNS5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDI4MSArMCwwIEBACi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwu Y29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2Ri LXJoYnoxNDk4NzU4LTRvZjUucGF0Y2gKLQotRmlsZU5hbWU6IGdkYi1yaGJ6MTQ5ODc1OC00b2Y1 LnBhdGNoCi0KLWNvbW1pdCBhZDMzOTYzNDhlMGViYjYxZmRmNzFjZmYzMDdiYWMwODE3NWVkMzY2 Ci1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6 ICAgTW9uIFNlcCAyNSAxNjowMjoyMyAyMDE3ICswMjAwCi0KLSAgICBTMzkwOiBBZGQgZ3VhcmRl ZC1zdG9yYWdlIHJlZ2lzdGVyIHN1cHBvcnQgdG8gZ2Ric2VydmVyCi0gICAgCi0gICAgRW5hYmxl IGdkYnNlcnZlciB0byBkZWFsIHdpdGggdGhlIG5ldyBndWFyZGVkLXN0b3JhZ2UgcmVnaXN0ZXIg c2V0cy4KLSAgICAKLSAgICBnZGIvZ2Ric2VydmVyL0NoYW5nZUxvZzoKLSAgICAKLSAgICAgICAg ICAgICogY29uZmlndXJlLnNydiAoczM5MCotKi1saW51eCopOiBBZGQgczM5MC1ncy1saW51eDY0 Lm8gYW5kCi0gICAgICAgICAgICBzMzkweC1ncy1saW51eDY0Lm8gdG8gc3J2X3JlZ29iai4gIEFk ZCBzMzkwLWdzLWxpbnV4NjQueG1sLAotICAgICAgICAgICAgczM5MHgtZ3MtbGludXg2NC54bWws IHMzOTAtZ3MueG1sLCBhbmQgczM5MC1nc2JjLnhtbCB0bwotICAgICAgICAgICAgc3J2X3htbGZp bGVzLiAgQWRkIHMzOTAtZ3MtbGludXg2NC1pcGEubyBhbmQKLSAgICAgICAgICAgIHMzOTB4LWdz LWxpbnV4NjQtaXBhLm8gdG8gaXBhX29iai4KLSAgICAgICAgICAgICogbGludXgtczM5MC1sb3cu YyAoSFdDQVBfUzM5MF9HUyk6IE5ldyBkZWZpbmUuCi0gICAgICAgICAgICAoczM5MF9maWxsX2dz LCBzMzkwX3N0b3JlX2dzLCBzMzkwX2ZpbGxfZ3NiYywgczM5MF9zdG9yZV9nc2JjKToKLSAgICAg ICAgICAgIE5ldyBmdW5jdGlvbnMuCi0gICAgICAgICAgICAoczM5MF9yZWdzZXRzKTogQWRkIHJl Z3NldHMgZm9yIE5UX1MzOTBfR1NfQ0IgYW5kIE5UX1MzOTBfR1NfQkMuCi0gICAgICAgICAgICAo czM5MF9hcmNoX3NldHVwKTogQ2hlY2sgZm9yIGd1YXJkZWQtc3RvcmFnZSBzdXBwb3J0IGFuZCBj aG9vc2UKLSAgICAgICAgICAgIGFwcHJvcHJpYXRlIHRkZXNjLgotICAgICAgICAgICAgKGluaXRp YWxpemVfbG93X2FyY2gpOiBJbnZva2UgaW5pdF9yZWdpc3RlcnNfczM5MF9nc19saW51eDY0IGFu ZAotICAgICAgICAgICAgaW5pdF9yZWdpc3RlcnNfczM5MHhfZ3NfbGludXg2NC4KLSAgICAgICAg ICAgICogbGludXgtczM5MC10ZGVzYy5oIChlbnVtIHMzOTBfbGludXhfdGRlc2MpIDxTMzkwX1RE RVNDX0dTPjogTmV3Ci0gICAgICAgICAgICBlbnVtIHZhbHVlLgotICAgICAgICAgICAgKGluaXRf cmVnaXN0ZXJzX3MzOTB4X2dzX2xpbnV4NjQsIHRkZXNjX3MzOTB4X2dzX2xpbnV4NjQpCi0gICAg ICAgICAgICAoaW5pdF9yZWdpc3RlcnNfczM5MF9nc19saW51eDY0LCB0ZGVzY19zMzkwX2dzX2xp bnV4NjQpOiBEZWNsYXJlLgotCi0jIyMgYS9nZGIvZ2Ric2VydmVyL0NoYW5nZUxvZwotIyMjIGIv Z2RiL2dkYnNlcnZlci9DaGFuZ2VMb2cKLSMjIC0xLDMgKzEsMjMgQEAKLSsyMDE3LTA5LTI1ICBB bmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotKwotKwkqIGNvbmZpZ3Vy ZS5zcnYgKHMzOTAqLSotbGludXgqKTogQWRkIHMzOTAtZ3MtbGludXg2NC5vIGFuZAotKwlzMzkw eC1ncy1saW51eDY0Lm8gdG8gc3J2X3JlZ29iai4gIEFkZCBzMzkwLWdzLWxpbnV4NjQueG1sLAot KwlzMzkweC1ncy1saW51eDY0LnhtbCwgczM5MC1ncy54bWwsIGFuZCBzMzkwLWdzYmMueG1sIHRv Ci0rCXNydl94bWxmaWxlcy4gIEFkZCBzMzkwLWdzLWxpbnV4NjQtaXBhLm8gYW5kCi0rCXMzOTB4 LWdzLWxpbnV4NjQtaXBhLm8gdG8gaXBhX29iai4KLSsJKiBsaW51eC1zMzkwLWxvdy5jIChIV0NB UF9TMzkwX0dTKTogTmV3IGRlZmluZS4KLSsJKHMzOTBfZmlsbF9ncywgczM5MF9zdG9yZV9ncywg czM5MF9maWxsX2dzYmMsIHMzOTBfc3RvcmVfZ3NiYyk6Ci0rCU5ldyBmdW5jdGlvbnMuCi0rCShz MzkwX3JlZ3NldHMpOiBBZGQgcmVnc2V0cyBmb3IgTlRfUzM5MF9HU19DQiBhbmQgTlRfUzM5MF9H U19CQy4KLSsJKHMzOTBfYXJjaF9zZXR1cCk6IENoZWNrIGZvciBndWFyZGVkLXN0b3JhZ2Ugc3Vw cG9ydCBhbmQgY2hvb3NlCi0rCWFwcHJvcHJpYXRlIHRkZXNjLgotKwkoaW5pdGlhbGl6ZV9sb3df YXJjaCk6IEludm9rZSBpbml0X3JlZ2lzdGVyc19zMzkwX2dzX2xpbnV4NjQgYW5kCi0rCWluaXRf cmVnaXN0ZXJzX3MzOTB4X2dzX2xpbnV4NjQuCi0rCSogbGludXgtczM5MC10ZGVzYy5oIChlbnVt IHMzOTBfbGludXhfdGRlc2MpIDxTMzkwX1RERVNDX0dTPjogTmV3Ci0rCWVudW0gdmFsdWUuCi0r CShpbml0X3JlZ2lzdGVyc19zMzkweF9nc19saW51eDY0LCB0ZGVzY19zMzkweF9nc19saW51eDY0 KQotKwkoaW5pdF9yZWdpc3RlcnNfczM5MF9nc19saW51eDY0LCB0ZGVzY19zMzkwX2dzX2xpbnV4 NjQpOiBEZWNsYXJlLgotKwotIDIwMTctMDktMjIgIFNpbW9uIE1hcmNoaSAgPHNpbW9uLm1hcmNo aUBlcmljc3Nvbi5jb20+Ci0gCi0gCSogd2luMzItaTM4Ni1sb3cuYyAoaTM4Nl9hcmNoX3NldHVw KTogQ2FsbCBpbml0X3RhcmdldF9kZXNjLgotLS0tIGEvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUu c3J2Ci0rKysgYi9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5zcnYKLUBAIC0yODUsMTIgKzI4NSwx NCBAQCBjYXNlICIke3RhcmdldH0iIGluCi0gCQkJc3J2X3JlZ29iaj0iJHtzcnZfcmVnb2JqfSBz MzkwLXRlLWxpbnV4NjQubyIKLSAJCQlzcnZfcmVnb2JqPSIke3Nydl9yZWdvYmp9IHMzOTAtdngt bGludXg2NC5vIgotIAkJCXNydl9yZWdvYmo9IiR7c3J2X3JlZ29ian0gczM5MC10ZXZ4LWxpbnV4 NjQubyIKLSsJCQlzcnZfcmVnb2JqPSIke3Nydl9yZWdvYmp9IHMzOTAtZ3MtbGludXg2NC5vIgot IAkJCXNydl9yZWdvYmo9IiR7c3J2X3JlZ29ian0gczM5MHgtbGludXg2NC5vIgotIAkJCXNydl9y ZWdvYmo9IiR7c3J2X3JlZ29ian0gczM5MHgtbGludXg2NHYxLm8iCi0gCQkJc3J2X3JlZ29iaj0i JHtzcnZfcmVnb2JqfSBzMzkweC1saW51eDY0djIubyIKLSAJCQlzcnZfcmVnb2JqPSIke3Nydl9y ZWdvYmp9IHMzOTB4LXRlLWxpbnV4NjQubyIKLSAJCQlzcnZfcmVnb2JqPSIke3Nydl9yZWdvYmp9 IHMzOTB4LXZ4LWxpbnV4NjQubyIKLSAJCQlzcnZfcmVnb2JqPSIke3Nydl9yZWdvYmp9IHMzOTB4 LXRldngtbGludXg2NC5vIgotKwkJCXNydl9yZWdvYmo9IiR7c3J2X3JlZ29ian0gczM5MHgtZ3Mt bGludXg2NC5vIgotIAkJCXNydl90Z3RvYmo9IiRzcnZfbGludXhfb2JqIGxpbnV4LXMzOTAtbG93 Lm8iCi0gCQkJc3J2X3htbGZpbGVzPSJzMzkwLWxpbnV4MzIueG1sIgotIAkJCXNydl94bWxmaWxl cz0iJHtzcnZfeG1sZmlsZXN9IHMzOTAtbGludXgzMnYxLnhtbCIKLUBAIC0zMDEsMTIgKzMwMywx NCBAQCBjYXNlICIke3RhcmdldH0iIGluCi0gCQkJc3J2X3htbGZpbGVzPSIke3Nydl94bWxmaWxl c30gczM5MC10ZS1saW51eDY0LnhtbCIKLSAJCQlzcnZfeG1sZmlsZXM9IiR7c3J2X3htbGZpbGVz fSBzMzkwLXZ4LWxpbnV4NjQueG1sIgotIAkJCXNydl94bWxmaWxlcz0iJHtzcnZfeG1sZmlsZXN9 IHMzOTAtdGV2eC1saW51eDY0LnhtbCIKLSsJCQlzcnZfeG1sZmlsZXM9IiR7c3J2X3htbGZpbGVz fSBzMzkwLWdzLWxpbnV4NjQueG1sIgotIAkJCXNydl94bWxmaWxlcz0iJHtzcnZfeG1sZmlsZXN9 IHMzOTB4LWxpbnV4NjQueG1sIgotIAkJCXNydl94bWxmaWxlcz0iJHtzcnZfeG1sZmlsZXN9IHMz OTB4LWxpbnV4NjR2MS54bWwiCi0gCQkJc3J2X3htbGZpbGVzPSIke3Nydl94bWxmaWxlc30gczM5 MHgtbGludXg2NHYyLnhtbCIKLSAJCQlzcnZfeG1sZmlsZXM9IiR7c3J2X3htbGZpbGVzfSBzMzkw eC10ZS1saW51eDY0LnhtbCIKLSAJCQlzcnZfeG1sZmlsZXM9IiR7c3J2X3htbGZpbGVzfSBzMzkw eC12eC1saW51eDY0LnhtbCIKLSAJCQlzcnZfeG1sZmlsZXM9IiR7c3J2X3htbGZpbGVzfSBzMzkw eC10ZXZ4LWxpbnV4NjQueG1sIgotKwkJCXNydl94bWxmaWxlcz0iJHtzcnZfeG1sZmlsZXN9IHMz OTB4LWdzLWxpbnV4NjQueG1sIgotIAkJCXNydl94bWxmaWxlcz0iJHtzcnZfeG1sZmlsZXN9IHMz OTAtY29yZTMyLnhtbCIKLSAJCQlzcnZfeG1sZmlsZXM9IiR7c3J2X3htbGZpbGVzfSBzMzkwLWNv cmU2NC54bWwiCi0gCQkJc3J2X3htbGZpbGVzPSIke3Nydl94bWxmaWxlc30gczM5MHgtY29yZTY0 LnhtbCIKLUBAIC0zMTQsNiArMzE4LDggQEAgY2FzZSAiJHt0YXJnZXR9IiBpbgotIAkJCXNydl94 bWxmaWxlcz0iJHtzcnZfeG1sZmlsZXN9IHMzOTAtZnByLnhtbCIKLSAJCQlzcnZfeG1sZmlsZXM9 IiR7c3J2X3htbGZpbGVzfSBzMzkwLXRkYi54bWwiCi0gCQkJc3J2X3htbGZpbGVzPSIke3Nydl94 bWxmaWxlc30gczM5MC12eC54bWwiCi0rCQkJc3J2X3htbGZpbGVzPSIke3Nydl94bWxmaWxlc30g czM5MC1ncy54bWwiCi0rCQkJc3J2X3htbGZpbGVzPSIke3Nydl94bWxmaWxlc30gczM5MC1nc2Jj LnhtbCIKLSAJCQlzcnZfbGludXhfdXNycmVncz15ZXMKLSAJCQlzcnZfbGludXhfcmVnc2V0cz15 ZXMKLSAJCQlzcnZfbGludXhfdGhyZWFkX2RiPXllcwotQEAgLTMyNywxMiArMzMzLDE0IEBAIGNh c2UgIiR7dGFyZ2V0fSIgaW4KLSAJCQlpcGFfb2JqPSIke2lwYV9vYmp9IHMzOTAtdngtbGludXg2 NC1pcGEubyIKLSAJCQlpcGFfb2JqPSIke2lwYV9vYmp9IHMzOTAtdGUtbGludXg2NC1pcGEubyIK LSAJCQlpcGFfb2JqPSIke2lwYV9vYmp9IHMzOTAtdGV2eC1saW51eDY0LWlwYS5vIgotKwkJCWlw YV9vYmo9IiR7aXBhX29ian0gczM5MC1ncy1saW51eDY0LWlwYS5vIgotIAkJCWlwYV9vYmo9IiR7 aXBhX29ian0gczM5MHgtbGludXg2NC1pcGEubyIKLSAJCQlpcGFfb2JqPSIke2lwYV9vYmp9IHMz OTB4LWxpbnV4NjR2MS1pcGEubyIKLSAJCQlpcGFfb2JqPSIke2lwYV9vYmp9IHMzOTB4LWxpbnV4 NjR2Mi1pcGEubyIKLSAJCQlpcGFfb2JqPSIke2lwYV9vYmp9IHMzOTB4LXZ4LWxpbnV4NjQtaXBh Lm8iCi0gCQkJaXBhX29iaj0iJHtpcGFfb2JqfSBzMzkweC10ZS1saW51eDY0LWlwYS5vIgotIAkJ CWlwYV9vYmo9IiR7aXBhX29ian0gczM5MHgtdGV2eC1saW51eDY0LWlwYS5vIgotKwkJCWlwYV9v Ymo9IiR7aXBhX29ian0gczM5MHgtZ3MtbGludXg2NC1pcGEubyIKLSAJCQk7OwotICAgc2gqLSot bGludXgqKQkJc3J2X3JlZ29iaj1yZWctc2gubwotIAkJCXNydl90Z3RvYmo9IiRzcnZfbGludXhf b2JqIGxpbnV4LXNoLWxvdy5vIgotLS0tIGEvZ2RiL2dkYnNlcnZlci9saW51eC1zMzkwLWxvdy5j Ci0rKysgYi9nZGIvZ2Ric2VydmVyL2xpbnV4LXMzOTAtbG93LmMKLUBAIC00NSw2ICs0NSwxMCBA QAotICNkZWZpbmUgSFdDQVBfUzM5MF9WWCAyMDQ4Ci0gI2VuZGlmCi0gCi0rI2lmbmRlZiBIV0NB UF9TMzkwX0dTCi0rI2RlZmluZSBIV0NBUF9TMzkwX0dTIDE2Mzg0Ci0rI2VuZGlmCi0rCi0gI2Rl ZmluZSBzMzkwX251bV9yZWdzIDUyCi0gCi0gc3RhdGljIGludCBzMzkwX3JlZ21hcFtdID0gewot QEAgLTM3MCw2ICszNzQsNDYgQEAgczM5MF9zdG9yZV92eHJzX2hpZ2ggKHN0cnVjdCByZWdjYWNo ZSAqcmVnY2FjaGUsIGNvbnN0IHZvaWQgKmJ1ZikKLSAgICAgc3VwcGx5X3JlZ2lzdGVyIChyZWdj YWNoZSwgdjE2ICsgaSwgKGNvbnN0IGNoYXIgKikgYnVmICsgMTYgKiBpKTsKLSB9Ci0gCi0rc3Rh dGljIHZvaWQKLStzMzkwX2ZpbGxfZ3MgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIHZvaWQg KmJ1ZikKLSt7Ci0rICBpbnQgZ3NkID0gZmluZF9yZWdubyAocmVnY2FjaGUtPnRkZXNjLCAiZ3Nk Iik7Ci0rICBpbnQgaTsKLSsKLSsgIGZvciAoaSA9IDA7IGkgPCAzOyBpKyspCi0rICAgIGNvbGxl Y3RfcmVnaXN0ZXIgKHJlZ2NhY2hlLCBnc2QgKyBpLCAoY2hhciAqKSBidWYgKyA4ICogKGkgKyAx KSk7Ci0rfQotKwotK3N0YXRpYyB2b2lkCi0rczM5MF9zdG9yZV9ncyAoc3RydWN0IHJlZ2NhY2hl ICpyZWdjYWNoZSwgY29uc3Qgdm9pZCAqYnVmKQotK3sKLSsgIGludCBnc2QgPSBmaW5kX3JlZ25v IChyZWdjYWNoZS0+dGRlc2MsICJnc2QiKTsKLSsgIGludCBpOwotKwotKyAgZm9yIChpID0gMDsg aSA8IDM7IGkrKykKLSsgICAgc3VwcGx5X3JlZ2lzdGVyIChyZWdjYWNoZSwgZ3NkICsgaSwgKGNv bnN0IGNoYXIgKikgYnVmICsgOCAqIChpICsgMSkpOwotK30KLSsKLStzdGF0aWMgdm9pZAotK3Mz OTBfZmlsbF9nc2JjIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCB2b2lkICpidWYpCi0rewot KyAgaW50IGJjX2dzZCA9IGZpbmRfcmVnbm8gKHJlZ2NhY2hlLT50ZGVzYywgImJjX2dzZCIpOwot KyAgaW50IGk7Ci0rCi0rICBmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKQotKyAgICBjb2xsZWN0X3Jl Z2lzdGVyIChyZWdjYWNoZSwgYmNfZ3NkICsgaSwgKGNoYXIgKikgYnVmICsgOCAqIChpICsgMSkp OwotK30KLSsKLStzdGF0aWMgdm9pZAotK3MzOTBfc3RvcmVfZ3NiYyAoc3RydWN0IHJlZ2NhY2hl ICpyZWdjYWNoZSwgY29uc3Qgdm9pZCAqYnVmKQotK3sKLSsgIGludCBiY19nc2QgPSBmaW5kX3Jl Z25vIChyZWdjYWNoZS0+dGRlc2MsICJiY19nc2QiKTsKLSsgIGludCBpOwotKwotKyAgZm9yIChp ID0gMDsgaSA8IDM7IGkrKykKLSsgICAgc3VwcGx5X3JlZ2lzdGVyIChyZWdjYWNoZSwgYmNfZ3Nk ICsgaSwgKGNvbnN0IGNoYXIgKikgYnVmICsgOCAqIChpICsgMSkpOwotK30KLSsKLSBzdGF0aWMg c3RydWN0IHJlZ3NldF9pbmZvIHMzOTBfcmVnc2V0c1tdID0gewotICAgeyAwLCAwLCAwLCAwLCBH RU5FUkFMX1JFR1MsIHMzOTBfZmlsbF9ncmVnc2V0LCBOVUxMIH0sCi0gI2lmbmRlZiBfX3MzOTB4 X18KLUBAIC0zODgsNiArNDMyLDEwIEBAIHN0YXRpYyBzdHJ1Y3QgcmVnc2V0X2luZm8gczM5MF9y ZWdzZXRzW10gPSB7Ci0gICAgIEVYVEVOREVEX1JFR1MsIHMzOTBfZmlsbF92eHJzX2xvdywgczM5 MF9zdG9yZV92eHJzX2xvdyB9LAotICAgeyBQVFJBQ0VfR0VUUkVHU0VULCBQVFJBQ0VfU0VUUkVH U0VULCBOVF9TMzkwX1ZYUlNfSElHSCwgMCwKLSAgICAgRVhURU5ERURfUkVHUywgczM5MF9maWxs X3Z4cnNfaGlnaCwgczM5MF9zdG9yZV92eHJzX2hpZ2ggfSwKLSsgIHsgUFRSQUNFX0dFVFJFR1NF VCwgUFRSQUNFX1NFVFJFR1NFVCwgTlRfUzM5MF9HU19DQiwgMCwKLSsgICAgRVhURU5ERURfUkVH UywgczM5MF9maWxsX2dzLCBzMzkwX3N0b3JlX2dzIH0sCi0rICB7IFBUUkFDRV9HRVRSRUdTRVQs IFBUUkFDRV9TRVRSRUdTRVQsIE5UX1MzOTBfR1NfQkMsIDAsCi0rICAgIEVYVEVOREVEX1JFR1Ms IHMzOTBfZmlsbF9nc2JjLCBzMzkwX3N0b3JlX2dzYmMgfSwKLSAgIE5VTExfUkVHU0VUCi0gfTsK LSAKLUBAIC01MDEsNiArNTQ5LDggQEAgczM5MF9hcmNoX3NldHVwICh2b2lkKQotICAgaW50IGhh dmVfcmVnc2V0X3RkYiA9IHMzOTBfY2hlY2tfcmVnc2V0IChwaWQsIE5UX1MzOTBfVERCLCAyNTYp OwotICAgaW50IGhhdmVfcmVnc2V0X3Z4cnMgPSBzMzkwX2NoZWNrX3JlZ3NldCAocGlkLCBOVF9T MzkwX1ZYUlNfTE9XLCAxMjgpCi0gICAgICYmIHMzOTBfY2hlY2tfcmVnc2V0IChwaWQsIE5UX1Mz OTBfVlhSU19ISUdILCAyNTYpOwotKyAgaW50IGhhdmVfcmVnc2V0X2dzID0gczM5MF9jaGVja19y ZWdzZXQgKHBpZCwgTlRfUzM5MF9HU19DQiwgMzIpCi0rICAgICYmIHMzOTBfY2hlY2tfcmVnc2V0 IChwaWQsIE5UX1MzOTBfR1NfQkMsIDMyKTsKLSAKLSAgIC8qIEFzc3VtZSAzMS1iaXQgaW5mZXJp b3IgcHJvY2Vzcy4gICovCi0gICBpZiAoaGF2ZV9yZWdzZXRfc3lzdGVtX2NhbGwpCi1AQCAtNTI5 LDggKzU3OSwxMyBAQCBzMzkwX2FyY2hfc2V0dXAgKHZvaWQpCi0gCWlmIChoYXZlX3JlZ3NldF92 eHJzKQotIAkgIGhhdmVfcmVnc2V0X3Z4cnMgPQotIAkgICAgKHMzOTBfZ2V0X2h3Y2FwICh0ZGVz Y19zMzkweF9saW51eDY0djIpICYgSFdDQVBfUzM5MF9WWCkgIT0gMDsKLSsJaWYgKGhhdmVfcmVn c2V0X2dzKQotKwkgIGhhdmVfcmVnc2V0X2dzID0KLSsJICAgIChzMzkwX2dldF9od2NhcCAodGRl c2NfczM5MHhfbGludXg2NHYyKSAmIEhXQ0FQX1MzOTBfR1MpICE9IDA7Ci0gCi0tCWlmIChoYXZl X3JlZ3NldF92eHJzKQotKwlpZiAoaGF2ZV9yZWdzZXRfZ3MpCi0rCSAgdGRlc2MgPSB0ZGVzY19z MzkweF9nc19saW51eDY0OwotKwllbHNlIGlmIChoYXZlX3JlZ3NldF92eHJzKQotIAkgIHRkZXNj ID0gKGhhdmVfcmVnc2V0X3RkYiA/IHRkZXNjX3MzOTB4X3RldnhfbGludXg2NCA6Ci0gCQkgICB0 ZGVzY19zMzkweF92eF9saW51eDY0KTsKLSAJZWxzZSBpZiAoaGF2ZV9yZWdzZXRfdGRiKQotQEAg LTU1NCw4ICs2MDksMTIgQEAgczM5MF9hcmNoX3NldHVwICh2b2lkKQotIAkgIGhhdmVfcmVnc2V0 X3RkYiA9IChzMzkwX2dldF9od2NhcCAodGRlc2MpICYgSFdDQVBfUzM5MF9URSkgIT0gMDsKLSAJ aWYgKGhhdmVfcmVnc2V0X3Z4cnMpCi0gCSAgaGF2ZV9yZWdzZXRfdnhycyA9IChzMzkwX2dldF9o d2NhcCAodGRlc2MpICYgSFdDQVBfUzM5MF9WWCkgIT0gMDsKLSsJaWYgKGhhdmVfcmVnc2V0X2dz KQotKwkgIGhhdmVfcmVnc2V0X2dzID0gKHMzOTBfZ2V0X2h3Y2FwICh0ZGVzYykgJiBIV0NBUF9T MzkwX0dTKSAhPSAwOwotIAotLQlpZiAoaGF2ZV9yZWdzZXRfdnhycykKLSsJaWYgKGhhdmVfcmVn c2V0X2dzKQotKwkgIHRkZXNjID0gdGRlc2NfczM5MF9nc19saW51eDY0OwotKwllbHNlIGlmICho YXZlX3JlZ3NldF92eHJzKQotIAkgIHRkZXNjID0gKGhhdmVfcmVnc2V0X3RkYiA/IHRkZXNjX3Mz OTBfdGV2eF9saW51eDY0IDoKLSAJCSAgIHRkZXNjX3MzOTBfdnhfbGludXg2NCk7Ci0gCWVsc2Ug aWYgKGhhdmVfcmVnc2V0X3RkYikKLUBAIC01OTYsNiArNjU1LDkgQEAgczM5MF9hcmNoX3NldHVw ICh2b2lkKQotIAljYXNlIE5UX1MzOTBfVlhSU19ISUdIOgotIAkgIHJlZ3NldC0+c2l6ZSA9IGhh dmVfcmVnc2V0X3Z4cnMgPyAyNTYgOiAwOwotIAkgIGJyZWFrOwotKwljYXNlIE5UX1MzOTBfR1Nf Q0I6Ci0rCWNhc2UgTlRfUzM5MF9HU19CQzoKLSsJICByZWdzZXQtPnNpemUgPSBoYXZlX3JlZ3Nl dF9ncyA/IDMyIDogMDsKLSAJZGVmYXVsdDoKLSAJICBicmVhazsKLSAJfQotQEAgLTI3OTcsNiAr Mjg1OSw3IEBAIGluaXRpYWxpemVfbG93X2FyY2ggKHZvaWQpCi0gICBpbml0X3JlZ2lzdGVyc19z MzkwX3RlX2xpbnV4NjQgKCk7Ci0gICBpbml0X3JlZ2lzdGVyc19zMzkwX3Z4X2xpbnV4NjQgKCk7 Ci0gICBpbml0X3JlZ2lzdGVyc19zMzkwX3RldnhfbGludXg2NCAoKTsKLSsgIGluaXRfcmVnaXN0 ZXJzX3MzOTBfZ3NfbGludXg2NCAoKTsKLSAjaWZkZWYgX19zMzkweF9fCi0gICBpbml0X3JlZ2lz dGVyc19zMzkweF9saW51eDY0ICgpOwotICAgaW5pdF9yZWdpc3RlcnNfczM5MHhfbGludXg2NHYx ICgpOwotQEAgLTI4MDQsNiArMjg2Nyw3IEBAIGluaXRpYWxpemVfbG93X2FyY2ggKHZvaWQpCi0g ICBpbml0X3JlZ2lzdGVyc19zMzkweF90ZV9saW51eDY0ICgpOwotICAgaW5pdF9yZWdpc3RlcnNf czM5MHhfdnhfbGludXg2NCAoKTsKLSAgIGluaXRfcmVnaXN0ZXJzX3MzOTB4X3RldnhfbGludXg2 NCAoKTsKLSsgIGluaXRfcmVnaXN0ZXJzX3MzOTB4X2dzX2xpbnV4NjQgKCk7Ci0gI2VuZGlmCi0g Ci0gICBpbml0aWFsaXplX3JlZ3NldHNfaW5mbyAoJnMzOTBfcmVnc2V0c19pbmZvKTsKLS0tLSBh L2dkYi9nZGJzZXJ2ZXIvbGludXgtczM5MC10ZGVzYy5oCi0rKysgYi9nZGIvZ2Ric2VydmVyL2xp bnV4LXMzOTAtdGRlc2MuaAotQEAgLTMxLDYgKzMxLDcgQEAgZW51bSBzMzkwX2xpbnV4X3RkZXNj IHsKLSAgIFMzOTBfVERFU0NfVEUsCi0gICBTMzkwX1RERVNDX1ZYLAotICAgUzM5MF9UREVTQ19U RVZYLAotKyAgUzM5MF9UREVTQ19HUywKLSB9OwotIAotICNpZmRlZiBfX3MzOTB4X18KLUBAIC01 OSw2ICs2MCwxMCBAQCBleHRlcm4gY29uc3Qgc3RydWN0IHRhcmdldF9kZXNjICp0ZGVzY19zMzkw eF92eF9saW51eDY0OwotIHZvaWQgaW5pdF9yZWdpc3RlcnNfczM5MHhfdGV2eF9saW51eDY0ICh2 b2lkKTsKLSBleHRlcm4gY29uc3Qgc3RydWN0IHRhcmdldF9kZXNjICp0ZGVzY19zMzkweF90ZXZ4 X2xpbnV4NjQ7Ci0gCi0rLyogRGVmaW5lZCBpbiBhdXRvLWdlbmVyYXRlZCBmaWxlIHMzOTB4LWdz LWxpbnV4NjQuYy4gICovCi0rdm9pZCBpbml0X3JlZ2lzdGVyc19zMzkweF9nc19saW51eDY0ICh2 b2lkKTsKLStleHRlcm4gY29uc3Qgc3RydWN0IHRhcmdldF9kZXNjICp0ZGVzY19zMzkweF9nc19s aW51eDY0OwotKwotICNlbmRpZgotIAotICNpZiAhZGVmaW5lZCBfX3MzOTB4X18gfHwgIWRlZmlu ZWQgSU5fUFJPQ0VTU19BR0VOVAotQEAgLTk5LDQgKzEwNCw4IEBAIGV4dGVybiBjb25zdCBzdHJ1 Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjX3MzOTBfdnhfbGludXg2NDsKLSB2b2lkIGluaXRfcmVnaXN0 ZXJzX3MzOTBfdGV2eF9saW51eDY0ICh2b2lkKTsKLSBleHRlcm4gY29uc3Qgc3RydWN0IHRhcmdl dF9kZXNjICp0ZGVzY19zMzkwX3RldnhfbGludXg2NDsKLSAKLSsvKiBEZWZpbmVkIGluIGF1dG8t Z2VuZXJhdGVkIGZpbGUgczM5MC1ncy1saW51eDY0LmMuICAqLwotK3ZvaWQgaW5pdF9yZWdpc3Rl cnNfczM5MF9nc19saW51eDY0ICh2b2lkKTsKLStleHRlcm4gY29uc3Qgc3RydWN0IHRhcmdldF9k ZXNjICp0ZGVzY19zMzkwX2dzX2xpbnV4NjQ7Ci0rCi0gI2VuZGlmCgpkaWZmIC0tZ2l0IGEvZ2Ri LXJoYnoxNDk4NzU4LTVvZjUucGF0Y2ggYi9nZGItcmhiejE0OTg3NTgtNW9mNS5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzJkZGNlYy4uMDAwMDAwMAotLS0gYS9nZGItcmhi ejE0OTg3NTgtNW9mNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLUZyb206 IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9j dCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0OTg3NTgtNW9mNS5wYXRj aAotCi1GaWxlTmFtZTogZ2RiLXJoYnoxNDk4NzU4LTVvZjUucGF0Y2gKLQotY29tbWl0IDI4OWUy M2FhMDMwODRiMjJjNzNlYmRjZjE4MzcxZjFlNjY2NmVhZDAKLUF1dGhvcjogQW5kcmVhcyBBcm5l eiA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotRGF0ZTogICBNb24gU2VwIDI1IDE2OjAyOjI0 IDIwMTcgKzAyMDAKLQotICAgIFMzOTA6IERvY3VtZW50IGd1YXJkZWQtc3RvcmFnZSByZWdpc3Rl ciBzdXBwb3J0Ci0gICAgCi0gICAgVGhpcyBkb2N1bWVudHMgdGhlIG5ld2x5IGFkZGVkIHN1cHBv cnQgZm9yIGd1YXJkZWQtc3RvcmFnZSByZWdpc3RlcnMgb24KLSAgICBJQk0gei4KLSAgICAKLSAg ICBnZGIvQ2hhbmdlTG9nOgotICAgIAotICAgICAgICAgICAgKiBORVdTOiBBZHZlcnRpc2Ugc3Vw cG9ydCBmb3IgZ3VhcmRlZC1zdG9yYWdlIHJlZ2lzdGVycyBvbiBJQk0gei4KLSAgICAKLSAgICBn ZGIvZG9jL0NoYW5nZUxvZzoKLSAgICAKLSAgICAgICAgICAgICogZ2RiLnRleGluZm8gKFMvMzkw IGFuZCBTeXN0ZW0geiBGZWF0dXJlcyk6IERvY3VtZW50IHRoZSBuZXcKLSAgICAgICAgICAgIGZl YXR1cmVzIG9yZy5nbnUuZ2RiLnMzOTAuZ3MgYW5kIG9yZy5nbnUuZ2RiLnMzOTAuZ3NiYy4KLQot IyMjIGEvZ2RiL0NoYW5nZUxvZwotIyMjIGIvZ2RiL0NoYW5nZUxvZwotIyMgLTEsNSArMSw5IEBA Ci0gMjAxNy0wOS0yNSAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4K LSAKLSsJKiBORVdTOiBBZHZlcnRpc2Ugc3VwcG9ydCBmb3IgZ3VhcmRlZC1zdG9yYWdlIHJlZ2lz dGVycyBvbiBJQk0gei4KLSsKLSsyMDE3LTA5LTI1ICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGlu dXgudm5ldC5pYm0uY29tPgotKwotIAkqIHMzOTAtbGludXgtbmF0LmMgKGhhdmVfcmVnc2V0X2dz KTogTmV3IHN0YXRpYyB2YXJpYWJsZS4KLSAJKHMzOTBfbGludXhfZmV0Y2hfaW5mZXJpb3JfcmVn aXN0ZXJzKTogSGFuZGxlIGd1YXJkZWQtc3RvcmFnZQotIAljb250cm9sIGJsb2NrIGFuZCBndWFy ZGVkLXN0b3JhZ2UgYnJvYWRjYXN0IGNvbnRyb2wgcmVnc2V0cy4KLUluZGV4OiBnZGItOC4wLjEv Z2RiL05FV1MKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLjEub3JpZy9nZGIvTkVXUwkyMDE3LTEw LTA3IDE1OjU0OjQ4LjY0OTE2NTY0NCArMDIwMAotKysrIGdkYi04LjAuMS9nZGIvTkVXUwkyMDE3 LTEwLTA3IDE1OjU1OjAxLjAwNjI2NDEyOSArMDIwMAotQEAgLTMsNiArMyw5IEBACi0gCi0gKiBG b3J0cmFuOiBTdXBwb3J0IHBvaW50ZXJzIHRvIGR5bmFtaWMgdHlwZXMuCi0gCi0rKiBHREIgbm93 IHN1cHBvcnRzIGFjY2VzcyB0byB0aGUgZ3VhcmRlZC1zdG9yYWdlLWNvbnRyb2wgcmVnaXN0ZXJz IGFuZCB0aGUKLSsgIHNvZnR3YXJlLWJhc2VkIGd1YXJkZWQtc3RvcmFnZSBicm9hZGNhc3QgY29u dHJvbCByZWdpc3RlcnMgb24gSUJNIHoxNC4KLSsKLSAqKiogQ2hhbmdlcyBpbiBHREIgOC4wCi0g Ci0gKiBHREIgbm93IHN1cHBvcnRzIGFjY2VzcyB0byB0aGUgUEtVIHJlZ2lzdGVyIG9uIEdOVS9M aW51eC4gVGhlIHJlZ2lzdGVyIGlzCi1JbmRleDogZ2RiLTguMC4xL2dkYi9kb2MvZ2RiLnRleGlu Zm8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLjEub3JpZy9nZGIvZG9jL2dkYi50ZXhpbmZvCTIw MTctMTAtMDcgMTU6NTQ6NDQuODkxMTM1NjkyICswMjAwCi0rKysgZ2RiLTguMC4xL2dkYi9kb2Mv Z2RiLnRleGluZm8JMjAxNy0xMC0wNyAxNTo1NDo0OC42NjAxNjU3MzEgKzAyMDAKLUBAIC00MTUx Miw2ICs0MTUxMiwxNCBAQAotIGNvbnRhaW4gdGhlIDEyOC1iaXQgd2lkZSB2ZWN0b3IgcmVnaXN0 ZXJzIEBzYW1we3YxNn0gdGhyb3VnaAotIEBzYW1we3YzMX0uCi0gCi0rVGhlIEBzYW1we29yZy5n bnUuZ2RiLnMzOTAuZ3N9IGZlYXR1cmUgaXMgb3B0aW9uYWwuICBJdCBzaG91bGQgY29udGFpbgot K3RoZSA2NC1iaXQgd2lkZSBndWFyZGVkLXN0b3JhZ2UtY29udHJvbCByZWdpc3RlcnMgQHNhbXB7 Z3NkfSwKLStAc2FtcHtnc3NtfSwgYW5kIEBzYW1we2dzZXBsYX0uCi0rCi0rVGhlIEBzYW1we29y Zy5nbnUuZ2RiLnMzOTAuZ3NiY30gZmVhdHVyZSBpcyBvcHRpb25hbC4gIEl0IHNob3VsZCBjb250 YWluCi0rdGhlIDY0LWJpdCB3aWRlIGd1YXJkZWQtc3RvcmFnZSBicm9hZGNhc3QgY29udHJvbCBy ZWdpc3RlcnMKLStAc2FtcHtiY19nc2R9LCBAc2FtcHtiY19nc3NtfSwgYW5kIEBzYW1we2JjX2dz ZXBsYX0uCi0rCi0gQG5vZGUgU3BhcmMgRmVhdHVyZXMKLSBAc3Vic2VjdGlvbiBTcGFyYyBGZWF0 dXJlcwotIEBjaW5kZXggdGFyZ2V0IGRlc2NyaXB0aW9ucywgc3BhcmMzMiBmZWF0dXJlcwoKZGlm ZiAtLWdpdCBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2ggYi9nZGItcmhiejc5 NTQyNC1iaXRwb3MtMjBvZjI1LnBhdGNoCmluZGV4IGFkMjk1NTkuLjA5ZDFlZTEgMTAwNjQ0Ci0t LSBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gKKysrIGIvZ2RiLXJoYno3OTU0 MjQtYml0cG9zLTIwb2YyNS5wYXRjaApAQCAtMSwxMiArMSwxNSBAQAorRnJvbSA1NDUwNTM2YTFl ZmVkYzQwOTU1NmU1MmJmZDI0NmI2YjI2NTU3MzY0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQog RnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwg MjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzRdIEV4cGFuZCBi aXRwb3MgYW5kIHR5cGUubGVuZ3RoIHRvIExPTkdFU1QgYW5kIFVMT05HRVNUCitTdWJqZWN0OiBF eHBhbmQgYml0cG9zIGFuZCB0eXBlLmxlbmd0aCB0byBMT05HRVNUIGFuZCBVTE9OR0VTVAogCiBG aWxlTmFtZTogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIwb2YyNS5wYXRjaAogCi1odHRwOi8vc291 cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMi0wOS9tc2cwMDYzMS5odG1sCi0KKzs7IEZp eCBgR0RCIGNhbm5vdCBhY2Nlc3Mgc3RydWN0IG1lbWJlciB3aG9zZSBvZmZzZXQgaXMgbGFyZ2Vy IHRoYW4gMjU2TUInCis7OyAoUkggQlogNzk1NDI0KS4KKzs7PXB1c2gKIAoraHR0cDovL3NvdXJj ZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTItMDkvbXNnMDA2MzEuaHRtbAogCiAtLU1QXy95 cDVmK1dfRUQySnRVbFN5Qmk4eHVqcgogQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0 PVVTLUFTQ0lJCkBAIC00NjgsMTIgKzQ3MSwxMTAgQEAgZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6 CiBDb250ZW50LVR5cGU6IHRleHQveC1wYXRjaAogQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog N2JpdAogQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9Yml0cG9zLW1h aW4ucGF0Y2gKKy0tLQorIGdkYi9hYXJjaDY0LWxpbnV4LW5hdC5jICAgICAgICAgfCAgIDIgKy0K KyBnZGIvYWRhLWxhbmcuYyAgICAgICAgICAgICAgICAgIHwgMTA1ICsrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KKyBnZGIvYWRhLWxhbmcuaCAgICAgICAgICAgICAgICAg IHwgICA2ICstLQorIGdkYi9hZGEtdHlwZXByaW50LmMgICAgICAgICAgICAgfCAgIDcgKy0tCisg Z2RiL2FkYS12YWxwcmludC5jICAgICAgICAgICAgICB8ICAzOSArKysrKysrLS0tLS0tLS0KKyBn ZGIvYW1kNjQtdGRlcC5jICAgICAgICAgICAgICAgIHwgICA4ICstLQorIGdkYi9hbm5vdGF0ZS5j ICAgICAgICAgICAgICAgICAgfCAgIDggKy0tCisgZ2RiL2Fubm90YXRlLmggICAgICAgICAgICAg ICAgICB8ICAgNCArLQorIGdkYi9hcmNoLXV0aWxzLmMgICAgICAgICAgICAgICAgfCAgIDIgKy0K KyBnZGIvYXJjaC11dGlscy5oICAgICAgICAgICAgICAgIHwgICAyICstCisgZ2RiL2FybS1saW51 eC1uYXQuYyAgICAgICAgICAgICB8ICAgMiArLQorIGdkYi9heC1nZGIuYyAgICAgICAgICAgICAg ICAgICAgfCAgMzAgKysrKysrLS0tLS0tCisgZ2RiL2F4LWdlbmVyYWwuYyAgICAgICAgICAgICAg ICB8ICAgMiArLQorIGdkYi9heC5oICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KKyBn ZGIvYnJlYWtwb2ludC5jICAgICAgICAgICAgICAgIHwgICA4ICstLQorIGdkYi9icmVha3BvaW50 LmggICAgICAgICAgICAgICAgfCAgIDQgKy0KKyBnZGIvYy1sYW5nLmMgICAgICAgICAgICAgICAg ICAgIHwgICA2ICstLQorIGdkYi9jLWxhbmcuaCAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0K KyBnZGIvYy12YWxwcmludC5jICAgICAgICAgICAgICAgIHwgIDEwICsrLS0KKyBnZGIvY29tcGls ZS9jb21waWxlLWMtc3VwcG9ydC5jIHwgICA0ICstCisgZ2RiL2NwLWFiaS5jICAgICAgICAgICAg ICAgICAgICB8ICAgNiArLS0KKyBnZGIvY3AtYWJpLmggICAgICAgICAgICAgICAgICAgIHwgIDIw ICsrKystLS0tCisgZ2RiL2NwLXZhbHByaW50LmMgICAgICAgICAgICAgICB8ICAgMiArLQorIGdk Yi9kLWxhbmcuaCAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KKyBnZGIvZC12YWxwcmludC5j ICAgICAgICAgICAgICAgIHwgICAyICstCisgZ2RiL2R3YXJmMmxvYy5jICAgICAgICAgICAgICAg ICB8ICAxOCArKystLS0tCisgZ2RiL2R3YXJmMnJlYWQuYyAgICAgICAgICAgICAgICB8ICAxMiAr Ky0tLQorIGdkYi9ldmFsLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMTUgKysrLS0tCisgZ2Ri L2YtbGFuZy5jICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQorIGdkYi9mLWxhbmcuaCAgICAg ICAgICAgICAgICAgICAgfCAgIDIgKy0KKyBnZGIvZi12YWxwcmludC5jICAgICAgICAgICAgICAg IHwgIDE0ICsrKy0tLQorIGdkYi9maW5kdmFyLmMgICAgICAgICAgICAgICAgICAgfCAgIDYgKy0t CisgZ2RiL2ZyYW1lLmMgICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQorIGdkYi9mcmFtZS5o ICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KKyBnZGIvZ2RiYXJjaC5jICAgICAgICAgICAg ICAgICAgIHwgICAyICstCisgZ2RiL2dkYmFyY2guaCAgICAgICAgICAgICAgICAgICB8ICAgNCAr LQorIGdkYi9nZGJhcmNoLnNoICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KKyBnZGIvZ2RidHlw ZXMuYyAgICAgICAgICAgICAgICAgIHwgIDE0ICsrKy0tLQorIGdkYi9nZGJ0eXBlcy5oICAgICAg ICAgICAgICAgICAgfCAgIDYgKy0tCisgZ2RiL2dudS12Mi1hYmkuYyAgICAgICAgICAgICAgICB8 ICAgOSArKy0tCisgZ2RiL2dudS12My1hYmkuYyAgICAgICAgICAgICAgICB8ICAxNCArKystLS0K KyBnZGIvZ28tbGFuZy5oICAgICAgICAgICAgICAgICAgIHwgICAyICstCisgZ2RiL2dvLXZhbHBy aW50LmMgICAgICAgICAgICAgICB8ICAgMiArLQorIGdkYi9pMzg2LXRkZXAuYyAgICAgICAgICAg ICAgICAgfCAgIDIgKy0KKyBnZGIvbGFuZ3VhZ2UuYyAgICAgICAgICAgICAgICAgIHwgICA0ICst CisgZ2RiL2xhbmd1YWdlLmggICAgICAgICAgICAgICAgICB8ICAgNCArLQorIGdkYi9tMi1sYW5n LmMgICAgICAgICAgICAgICAgICAgfCAgMTAgKystLQorIGdkYi9tMi1sYW5nLmggICAgICAgICAg ICAgICAgICAgfCAgIDIgKy0KKyBnZGIvbTItdHlwZXByaW50LmMgICAgICAgICAgICAgIHwgICA5 ICsrLS0KKyBnZGIvbTItdmFscHJpbnQuYyAgICAgICAgICAgICAgIHwgIDE2ICsrKy0tLQorIGdk Yi9tZW1yYW5nZS5jICAgICAgICAgICAgICAgICAgfCAgIDQgKy0KKyBnZGIvbWVtcmFuZ2UuaCAg ICAgICAgICAgICAgICAgIHwgICA4ICstLQorIGdkYi9taXBzLWxpbnV4LW5hdC5jICAgICAgICAg ICAgfCAgIDIgKy0KKyBnZGIvbmF0L3g4Ni1kcmVncy5jICAgICAgICAgICAgIHwgICA0ICstCisg Z2RiL25hdC94ODYtZHJlZ3MuaCAgICAgICAgICAgICB8ICAgMiArLQorIGdkYi9vcGVuY2wtbGFu Zy5jICAgICAgICAgICAgICAgfCAgMjYgKysrKystLS0tLQorIGdkYi9wLWxhbmcuYyAgICAgICAg ICAgICAgICAgICAgfCAgMTQgKysrLS0tCisgZ2RiL3AtbGFuZy5oICAgICAgICAgICAgICAgICAg ICB8ICAgNiArLS0KKyBnZGIvcC12YWxwcmludC5jICAgICAgICAgICAgICAgIHwgICA2ICstLQor IGdkYi9wcGMtbGludXgtbmF0LmMgICAgICAgICAgICAgfCAgIDIgKy0KKyBnZGIvcHBjLWxpbnV4 LXRkZXAuYyAgICAgICAgICAgIHwgICAyICstCisgZ2RiL3ByaW50Y21kLmMgICAgICAgICAgICAg ICAgICB8ICAgNCArLQorIGdkYi9wcm9jZnMuYyAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0K KyBnZGIvcmVnY2FjaGUuYyAgICAgICAgICAgICAgICAgIHwgIDE5ICsrKystLS0tCisgZ2RiL3Jl Z2NhY2hlLmggICAgICAgICAgICAgICAgICB8ICAyMyArKysrLS0tLS0KKyBnZGIvcmVtb3RlLmMg ICAgICAgICAgICAgICAgICAgIHwgICAyICstCisgZ2RiL3J1c3QtbGFuZy5jICAgICAgICAgICAg ICAgICB8ICAgNCArLQorIGdkYi9zMzkwLWxpbnV4LW5hdC5jICAgICAgICAgICAgfCAgIDIgKy0K KyBnZGIvc3B1LW11bHRpYXJjaC5jICAgICAgICAgICAgIHwgICAyICstCisgZ2RiL3N0YWNrLmMg ICAgICAgICAgICAgICAgICAgICB8ICAxMCArKy0tCisgZ2RiL3N5bW1pc2MuYyAgICAgICAgICAg ICAgICAgICB8ICAgNiArLS0KKyBnZGIvdGFyZ2V0LWRlbGVnYXRlcy5jICAgICAgICAgIHwgICA2 ICstLQorIGdkYi90YXJnZXQuYyAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0KKyBnZGIvdGFy Z2V0LmggICAgICAgICAgICAgICAgICAgIHwgICAyICstCisgZ2RiL3RyYWNlcG9pbnQuYyAgICAg ICAgICAgICAgICB8ICAzMiArKysrKystLS0tLS0KKyBnZGIvdHJhY2Vwb2ludC5oICAgICAgICAg ICAgICAgIHwgICAyICstCisgZ2RiL3ZhbGFyaXRoLmMgICAgICAgICAgICAgICAgICB8ICAxMiAr Ky0tLQorIGdkYi92YWxvcHMuYyAgICAgICAgICAgICAgICAgICAgfCAgMTggKysrLS0tLQorIGdk Yi92YWxwcmludC5jICAgICAgICAgICAgICAgICAgfCAgMTggKysrLS0tLQorIGdkYi92YWxwcmlu dC5oICAgICAgICAgICAgICAgICAgfCAgIDggKy0tCisgZ2RiL3ZhbHVlLmMgICAgICAgICAgICAg ICAgICAgICB8ICAxMCArKy0tCisgZ2RiL3ZhbHVlLmggICAgICAgICAgICAgICAgICAgICB8ICAx NSArKystLS0KKyBnZGIveDg2LW5hdC5jICAgICAgICAgICAgICAgICAgIHwgICAyICstCisgODMg ZmlsZXMgY2hhbmdlZCwgMzgxIGluc2VydGlvbnMoKyksIDM2MiBkZWxldGlvbnMoLSkKIAotSW5k ZXg6IGdkYi04LjAvZ2RiL2FkYS1sYW5nLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcv Z2RiL2FkYS1sYW5nLmMJMjAxNy0wOC0xOSAyMDowNDo1OS43ODU3ODA1MDEgKzAyMDAKLSsrKyBn ZGItOC4wL2dkYi9hZGEtbGFuZy5jCTIwMTctMDgtMTkgMjA6MDU6MTAuMDU2ODc2NTg5ICswMjAw Ci1AQCAtNzYsNyArNzYsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5j IGIvZ2RiL2FhcmNoNjQtbGludXgtbmF0LmMKK2luZGV4IDllMzE3YzA0ZTQuLjg2MDYxMTFjMDAg MTAwNjQ0CistLS0gYS9nZGIvYWFyY2g2NC1saW51eC1uYXQuYworKysrIGIvZ2RiL2FhcmNoNjQt bGludXgtbmF0LmMKK0BAIC03MDgsNyArNzA4LDcgQEAgYWFyY2g2NF9saW51eF9yZW1vdmVfd2F0 Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCisgCisgc3RhdGljIGludAorIGFhcmNo NjRfbGludXhfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAq c2VsZiwKKy0JCQkJCSAgIENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKQorKwkJCQkJICAgQ09SRV9B RERSIGFkZHIsIExPTkdFU1QgbGVuKQorIHsKKyAgIHJldHVybiBhYXJjaDY0X2xpbnV4X3JlZ2lv bl9va19mb3Jfd2F0Y2hwb2ludCAoYWRkciwgbGVuKTsKKyB9CitkaWZmIC0tZ2l0IGEvZ2RiL2Fk YS1sYW5nLmMgYi9nZGIvYWRhLWxhbmcuYworaW5kZXggYzU2MzZiOTJmMy4uOGIxOGEwMTFhYyAx MDA2NDQKKy0tLSBhL2dkYi9hZGEtbGFuZy5jCisrKysgYi9nZGIvYWRhLWxhbmcuYworQEAgLTc4 LDcgKzc4LDcgQEAgc3RhdGljIHN0cnVjdCB0eXBlICpkZXNjX2JvdW5kc190eXBlIChzdHJ1Y3Qg dHlwZSAqKTsKICAKICBzdGF0aWMgc3RydWN0IHZhbHVlICpkZXNjX2JvdW5kcyAoc3RydWN0IHZh bHVlICopOwogIApAQCAtNDgyLDcgKzU4Myw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFu Zy5jCiAgCiAgc3RhdGljIGludCBmYXRfcG50cl9ib3VuZHNfYml0c2l6ZSAoc3RydWN0IHR5cGUg Kik7CiAgCi1AQCAtODQsMTMgKzg0LDEzIEBACitAQCAtODYsMTMgKzg2LDEzIEBAIHN0YXRpYyBz dHJ1Y3QgdHlwZSAqZGVzY19kYXRhX3RhcmdldF90eXBlIChzdHJ1Y3QgdHlwZSAqKTsKICAKICBz dGF0aWMgc3RydWN0IHZhbHVlICpkZXNjX2RhdGEgKHN0cnVjdCB2YWx1ZSAqKTsKICAKQEAgLTQ5 OCw3ICs1OTksNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwogIAogIHN0YXRpYyBp bnQgZGVzY19ib3VuZF9iaXRzaXplIChzdHJ1Y3QgdHlwZSAqLCBpbnQsIGludCk7CiAgCi1AQCAt MTczLDcgKzE3Myw3IEBACitAQCAtMTc1LDcgKzE3NSw3IEBAIHN0YXRpYyBzdHJ1Y3QgdHlwZSAq c3RhdGljX3Vud3JhcF90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSk7CiAgCiAgc3RhdGljIHN0cnVj dCB2YWx1ZSAqdW53cmFwX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKik7CiAgCkBAIC01MDcsNyArNjA4 LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS1sYW5nLmMKICAKICBzdGF0aWMgc3RydWN0IHR5 cGUgKmRlY29kZV9jb25zdHJhaW5lZF9wYWNrZWRfYXJyYXlfdHlwZSAoc3RydWN0IHR5cGUgKik7 CiAgCi1AQCAtMTg4LDcgKzE4OCw4IEBACitAQCAtMTkwLDcgKzE5MCw4IEBAIHN0YXRpYyBpbnQg YWRhX2lzX3VuY29uc3RyYWluZWRfcGFja2VkX2FycmF5X3R5cGUgKHN0cnVjdCB0eXBlICopOwog IHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKnZhbHVlX3N1YnNjcmlwdF9wYWNrZWQgKHN0cnVjdCB2YWx1 ZSAqLCBpbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IHZhbHVlICoqKTsKICAKQEAgLTUxNyw3ICs2MTgsNyBAQCBJbmRleDogZ2RiLTguMC9n ZGIvYWRhLWxhbmcuYwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKmNvZXJjZV91bnNwZWNfdmFs X3RvX3R5cGUgKHN0cnVjdCB2YWx1ZSAqLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICopOwotQEAgLTIxNiwxNCArMjE3LDE0IEBA CitAQCAtMjE2LDE0ICsyMTcsMTQgQEAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqdmFsdWVfdmFsX2F0 ciAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHZhbHVlICopOwogIHN0YXRpYyBzdHJ1Y3Qgc3ltYm9s ICpzdGFuZGFyZF9sb29rdXAgKGNvbnN0IGNoYXIgKiwgY29uc3Qgc3RydWN0IGJsb2NrICosCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluX2VudW0pOwogIApA QCAtNTM2LDcgKzYzNyw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgCiAgc3Rh dGljIHN0cnVjdCB2YWx1ZSAqYWRhX3RvX2ZpeGVkX3ZhbHVlX2NyZWF0ZSAoc3RydWN0IHR5cGUg KiwgQ09SRV9BRERSLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCB2YWx1ZSAqKTsKLUBAIC0yMzcsNyArMjM4LDcgQEAKK0BAIC0yMzcsNyAr MjM4LDcgQEAgc3RhdGljIGludCBhZGFfaXNfZGlyZWN0X2FycmF5X3R5cGUgKHN0cnVjdCB0eXBl ICopOwogIHN0YXRpYyB2b2lkIGFkYV9sYW5ndWFnZV9hcmNoX2luZm8gKHN0cnVjdCBnZGJhcmNo ICosCiAgCQkJCSAgICBzdHJ1Y3QgbGFuZ3VhZ2VfYXJjaF9pbmZvICopOwogIApAQCAtNTQ1LDcg KzY0Niw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgCQkJCQkgICAgIHN0cnVj dCB0eXBlICopOwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKmFzc2lnbl9hZ2dyZWdhdGUgKHN0 cnVjdCB2YWx1ZSAqLCBzdHJ1Y3QgdmFsdWUgKiwgCi1AQCAtNjk5LDcgKzcwMCw3IEBACitAQCAt NzAwLDcgKzcwMSw3IEBAIGNvZXJjZV91bnNwZWNfdmFsX3RvX3R5cGUgKHN0cnVjdCB2YWx1ZSAq dmFsLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICB9CiAgCiAgc3RhdGljIGNvbnN0IGdkYl9ieXRlICoK QEAgLTU1NCw3ICs2NTUsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwogIHsKICAg IGlmICh2YWxhZGRyID09IE5VTEwpCiAgICAgIHJldHVybiBOVUxMOwotQEAgLTcwOCw3ICs3MDks NyBAQAorQEAgLTcwOSw3ICs3MTAsNyBAQCBjb25kX29mZnNldF9ob3N0IChjb25zdCBnZGJfYnl0 ZSAqdmFsYWRkciwgbG9uZyBvZmZzZXQpCiAgfQogIAogIHN0YXRpYyBDT1JFX0FERFIKQEAgLTU2 Myw3ICs2NjQsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwogIHsKICAgIGlmIChh ZGRyZXNzID09IDApCiAgICAgIHJldHVybiAwOwotQEAgLTE3NTUsNyArMTc1Niw3IEBACitAQCAt MTc0Nyw3ICsxNzQ4LDcgQEAgZGVzY19ib3VuZHMgKHN0cnVjdCB2YWx1ZSAqYXJyKQogIC8qIElm IFRZUEUgaXMgdGhlIHR5cGUgb2YgYW4gYXJyYXktZGVzY3JpcHRvciAoZmF0IHBvaW50ZXIpLCAg dGhlIGJpdAogICAgIHBvc2l0aW9uIG9mIHRoZSBmaWVsZCBjb250YWluaW5nIHRoZSBhZGRyZXNz IG9mIHRoZSBib3VuZHMgZGF0YS4gICovCiAgCkBAIC01NzIsNyArNjczLDcgQEAgSW5kZXg6IGdk Yi04LjAvZ2RiL2FkYS1sYW5nLmMKICBmYXRfcG50cl9ib3VuZHNfYml0cG9zIChzdHJ1Y3QgdHlw ZSAqdHlwZSkKICB7CiAgICByZXR1cm4gVFlQRV9GSUVMRF9CSVRQT1MgKGRlc2NfYmFzZV90eXBl ICh0eXBlKSwgMSk7Ci1AQCAtMTgyMSw3ICsxODIyLDcgQEAKK0BAIC0xODEzLDcgKzE4MTQsNyBA QCBkZXNjX2RhdGEgKHN0cnVjdCB2YWx1ZSAqYXJyKQogIC8qIElmIFRZUEUgaXMgdGhlIHR5cGUg b2YgYW4gYXJyYXktZGVzY3JpcHRvciAoZmF0IHBvaW50ZXIpLCB0aGUgYml0CiAgICAgcG9zaXRp b24gb2YgdGhlIGZpZWxkIGNvbnRhaW5pbmcgdGhlIGFkZHJlc3Mgb2YgdGhlIGRhdGEuICAqLwog IApAQCAtNTgxLDcgKzY4Miw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgZmF0 X3BudHJfZGF0YV9iaXRwb3MgKHN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIHJldHVybiBUWVBF X0ZJRUxEX0JJVFBPUyAoZGVzY19iYXNlX3R5cGUgKHR5cGUpLCAwKTsKLUBAIC0xODU2LDcgKzE4 NTcsNyBAQAorQEAgLTE4NDgsNyArMTg0OSw3IEBAIGRlc2Nfb25lX2JvdW5kIChzdHJ1Y3QgdmFs dWUgKmJvdW5kcywgaW50IGksIGludCB3aGljaCkKICAgICBvZiB0aGUgSXRoIGxvd2VyIGJvdW5k IHN0b3JlZCBpbiBpdCwgaWYgV0hJQ0ggaXMgMCwgYW5kIHRoZSBJdGggdXBwZXIKICAgICBib3Vu ZCwgaWYgV0hJQ0ggaXMgMS4gIFRoZSBmaXJzdCBib3VuZCBpcyBJPTEuICAqLwogIApAQCAtNTkw LDcgKzY5MSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgZGVzY19ib3VuZF9i aXRwb3MgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgaSwgaW50IHdoaWNoKQogIHsKICAgIHJldHVy biBUWVBFX0ZJRUxEX0JJVFBPUyAoZGVzY19iYXNlX3R5cGUgKHR5cGUpLCAyICogaSArIHdoaWNo IC0gMik7Ci1AQCAtMjA0Niw3ICsyMDQ3LDcgQEAKK0BAIC0yMDM4LDcgKzIwMzksNyBAQCBhZGFf dHlwZV9vZl9hcnJheSAoc3RydWN0IHZhbHVlICphcnIsIGludCBib3VuZHMpCiAgCSAgICAgICAg IHplcm8sIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlY29tcHV0ZWQuICAqLwogIAkgICAgICBp ZiAobG8gPCBoaSkKICAJCXsKQEAgLTU5OSw3ICs3MDAsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIv YWRhLWxhbmcuYwogIAkJICAgICAgICAoaGkgLSBsbyArIDEpICogVFlQRV9GSUVMRF9CSVRTSVpF IChlbHRfdHlwZSwgMCk7CiAgCiAgCQkgIFRZUEVfTEVOR1RIIChhcnJheV90eXBlKSA9IChhcnJh eV9iaXRzaXplICsgNykgLyA4OwotQEAgLTIyMDYsNyArMjIwNyw3IEBACitAQCAtMjE5OCw3ICsy MTk5LDcgQEAgZGVjb2RlX3BhY2tlZF9hcnJheV9iaXRzaXplIChzdHJ1Y3QgdHlwZSAqdHlwZSkK ICAgICB0aGUgbGVuZ3RoIGlzIGFyYml0cmFyeS4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB0eXBl ICoKQEAgLTYwOCw3ICs3MDksNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwogIHsK ICAgIHN0cnVjdCB0eXBlICpuZXdfZWx0X3R5cGU7CiAgICBzdHJ1Y3QgdHlwZSAqbmV3X3R5cGU7 Ci1AQCAtMjI2MCw3ICsyMjYxLDcgQEAKK0BAIC0yMjUyLDcgKzIyNTMsNyBAQCBkZWNvZGVfY29u c3RyYWluZWRfcGFja2VkX2FycmF5X3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlKQogICAgY2hhciAq bmFtZTsKICAgIGNvbnN0IGNoYXIgKnRhaWw7CiAgICBzdHJ1Y3QgdHlwZSAqc2hhZG93X3R5cGU7 CkBAIC02MTcsNyArNzE4LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS1sYW5nLmMKICAKICAg IGlmICghcmF3X25hbWUpCiAgICAgIHJhd19uYW1lID0gYWRhX3R5cGVfbmFtZSAoZGVzY19iYXNl X3R5cGUgKHR5cGUpKTsKLUBAIC0yMzMxLDcgKzIzMzIsOCBAQAorQEAgLTIzMjMsNyArMjMyNCw4 IEBAIGRlY29kZV9jb25zdHJhaW5lZF9wYWNrZWRfYXJyYXkgKHN0cnVjdCB2YWx1ZSAqYXJyKQog ICAJIGFycmF5IHdpdGggbm8gd3JhcHBlci4gIEluIG9yZGVyIHRvIGludGVycHJldCB0aGUgdmFs dWUgdGhyb3VnaAogICAJIHRoZSAobGVmdC1qdXN0aWZpZWQpIHBhY2tlZCBhcnJheSB0eXBlIHdl IGp1c3QgYnVpbHQsIHdlIG11c3QKICAgCSBmaXJzdCBsZWZ0LWp1c3RpZnkgaXQuICAqLwpAQCAt NjI3LDcgKzcyOCw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgICAgICAgVUxP TkdFU1QgbW9kOwogIAogICAgICAgIG1vZCA9IGFkYV9tb2R1bHVzICh2YWx1ZV90eXBlIChhcnIp KSAtIDE7Ci1AQCAtMjU1OSw3ICsyNTYxLDcgQEAKK0BAIC0yNTUxLDcgKzI1NTMsNyBAQCBhZGFf dW5wYWNrX2Zyb21fY29udGVudHMgKGNvbnN0IGdkYl9ieXRlICpzcmMsIGludCBiaXRfb2Zmc2V0 LCBpbnQgYml0X3NpemUsCiAgCiAgc3RydWN0IHZhbHVlICoKICBhZGFfdmFsdWVfcHJpbWl0aXZl X3BhY2tlZF92YWwgKHN0cnVjdCB2YWx1ZSAqb2JqLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwK QEAgLTYzNiw3ICs3MzcsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUpCiAgewogICAgc3Ry dWN0IHZhbHVlICp2OwotQEAgLTI2MzAsNyArMjYzMiw3IEBACitAQCAtMjYyMSw3ICsyNjIzLDcg QEAgYWRhX3ZhbHVlX3ByaW1pdGl2ZV9wYWNrZWRfdmFsIChzdHJ1Y3QgdmFsdWUgKm9iaiwgY29u c3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAgCiAgICBpZiAob2JqICE9IE5VTEwpCiAgICAgIHsKQEAg LTY0NSw3ICs3NDYsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwogIAogICAgICAg IHNldF92YWx1ZV9jb21wb25lbnRfbG9jYXRpb24gKHYsIG9iaik7CiAgICAgICAgc2V0X3ZhbHVl X2JpdHBvcyAodiwgYml0X29mZnNldCArIHZhbHVlX2JpdHBvcyAob2JqKSk7Ci1AQCAtMjY3Niw3 ICsyNjc4LDcgQEAKK0BAIC0yNjY3LDcgKzI2NjksNyBAQCBhZGFfdmFsdWVfcHJpbWl0aXZlX3Bh Y2tlZF92YWwgKHN0cnVjdCB2YWx1ZSAqb2JqLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAg ICBub3Qgb3ZlcmxhcC4gICovCiAgc3RhdGljIHZvaWQKICBtb3ZlX2JpdHMgKGdkYl9ieXRlICp0 YXJnZXQsIGludCB0YXJnX29mZnNldCwgY29uc3QgZ2RiX2J5dGUgKnNvdXJjZSwKQEAgLTY1NCw3 ICs3NTUsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwogIHsKICAgIHVuc2lnbmVk IGludCBhY2N1bSwgbWFzazsKICAgIGludCBhY2N1bV9iaXRzLCBjaHVua19zaXplOwotQEAgLTI3 NjYsNyArMjc2OCw3IEBACitAQCAtMjc1Nyw3ICsyNzU5LDcgQEAgYWRhX3ZhbHVlX2Fzc2lnbiAo c3RydWN0IHZhbHVlICp0b3ZhbCwgc3RydWN0IHZhbHVlICpmcm9tdmFsKQogICAgICB7CiAgICAg ICAgaW50IGxlbiA9ICh2YWx1ZV9iaXRwb3MgKHRvdmFsKQogIAkJICsgYml0cyArIEhPU1RfQ0hB Ul9CSVQgLSAxKSAvIEhPU1RfQ0hBUl9CSVQ7CkBAIC02NjMsNyArNzY0LDcgQEAgSW5kZXg6IGdk Yi04LjAvZ2RiL2FkYS1sYW5nLmMKICAgICAgICBnZGJfYnl0ZSAqYnVmZmVyID0gKGdkYl9ieXRl ICopIGFsbG9jYSAobGVuKTsKICAgICAgICBzdHJ1Y3QgdmFsdWUgKnZhbDsKICAgICAgICBDT1JF X0FERFIgdG9fYWRkciA9IHZhbHVlX2FkZHJlc3MgKHRvdmFsKTsKLUBAIC0yODE3LDcgKzI4MTks NyBAQAorQEAgLTI4MDgsNyArMjgxMCw3IEBAIHZhbHVlX2Fzc2lnbl90b19jb21wb25lbnQgKHN0 cnVjdCB2YWx1ZSAqY29udGFpbmVyLCBzdHJ1Y3QgdmFsdWUgKmNvbXBvbmVudCwKICAgICAgKExP TkdFU1QpICAodmFsdWVfYWRkcmVzcyAoY29tcG9uZW50KSAtIHZhbHVlX2FkZHJlc3MgKGNvbnRh aW5lcikpOwogICAgaW50IGJpdF9vZmZzZXRfaW5fY29udGFpbmVyID0KICAgICAgdmFsdWVfYml0 cG9zIChjb21wb25lbnQpIC0gdmFsdWVfYml0cG9zIChjb250YWluZXIpOwpAQCAtNjcyLDcgKzc3 Myw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgCiAgICB2YWwgPSB2YWx1ZV9j YXN0ICh2YWx1ZV90eXBlIChjb21wb25lbnQpLCB2YWwpOwogIAotQEAgLTQ0NjgsNyArNDQ3MCw3 IEBACitAQCAtNDQ3Myw3ICs0NDc1LDcgQEAgZW5zdXJlX2x2YWwgKHN0cnVjdCB2YWx1ZSAqdmFs KQogICAgaWYgKFZBTFVFX0xWQUwgKHZhbCkgPT0gbm90X2x2YWwKICAgICAgICB8fCBWQUxVRV9M VkFMICh2YWwpID09IGx2YWxfaW50ZXJuYWx2YXIpCiAgICAgIHsKQEAgLTY4MSw3ICs3ODIsNyBA QCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwogICAgICAgIGNvbnN0IENPUkVfQUREUiBh ZGRyID0KICAgICAgICAgIHZhbHVlX2FzX2xvbmcgKHZhbHVlX2FsbG9jYXRlX3NwYWNlX2luX2lu ZmVyaW9yIChsZW4pKTsKICAKLUBAIC00NTUyLDcgKzQ1NTQsNyBAQAorQEAgLTQ1NTcsNyArNDU1 OSw3IEBAIHN0YXRpYyBDT1JFX0FERFIKICB2YWx1ZV9wb2ludGVyIChzdHJ1Y3QgdmFsdWUgKnZh bHVlLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CiAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9 IGdldF90eXBlX2FyY2ggKHR5cGUpOwpAQCAtNjkwLDcgKzc5MSw3IEBAIEluZGV4OiBnZGItOC4w L2dkYi9hZGEtbGFuZy5jCiAgICBnZGJfYnl0ZSAqYnVmID0gKGdkYl9ieXRlICopIGFsbG9jYSAo bGVuKTsKICAgIENPUkVfQUREUiBhZGRyOwogIAotQEAgLTY3NTIsNyArNjc1NCw3IEBACitAQCAt NjcwNCw3ICs2NzA2LDcgQEAgdmFsdWVfdGFnX2Zyb21fY29udGVudHNfYW5kX2FkZHJlc3MgKHN0 cnVjdCB0eXBlICp0eXBlLAogIAkJCQkgICAgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT1JFX0FERFIgYWRkcmVzcykKICB7 CkBAIC02OTksNyArODAwLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS1sYW5nLmMKICAgIHN0 cnVjdCB0eXBlICp0YWdfdHlwZTsKICAKICAgIGlmIChmaW5kX3N0cnVjdF9maWVsZCAoIl90YWci LCB0eXBlLCAwLCAmdGFnX3R5cGUsICZ0YWdfYnl0ZV9vZmZzZXQsCi1AQCAtNzIzMyw3ICs3MjM1 LDcgQEAKK0BAIC03MTg1LDcgKzcxODcsNyBAQCBhZGFfaW5fdmFyaWFudCAoTE9OR0VTVCB2YWws IHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgZmllbGRfbnVtKQogICAgIG9ubHkgaW4gdGhhdCBpdCBj YW4gaGFuZGxlIHBhY2tlZCB2YWx1ZXMgb2YgYXJiaXRyYXJ5IHR5cGUuICAqLwogIAogIHN0YXRp YyBzdHJ1Y3QgdmFsdWUgKgpAQCAtNzA4LDcgKzgwOSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9h ZGEtbGFuZy5jCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHR5cGUgKmFyZ190 eXBlKQogIHsKICAgIHN0cnVjdCB0eXBlICp0eXBlOwotQEAgLTcyNDUsNyArNzI0Nyw3IEBACitA QCAtNzE5Nyw3ICs3MTk5LDcgQEAgYWRhX3ZhbHVlX3ByaW1pdGl2ZV9maWVsZCAoc3RydWN0IHZh bHVlICphcmcxLCBpbnQgb2Zmc2V0LCBpbnQgZmllbGRubywKICAKICAgIGlmIChUWVBFX0ZJRUxE X0JJVFNJWkUgKGFyZ190eXBlLCBmaWVsZG5vKSAhPSAwKQogICAgICB7CkBAIC03MTcsNyArODE4 LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS1sYW5nLmMKICAgICAgICBpbnQgYml0X3NpemUg PSBUWVBFX0ZJRUxEX0JJVFNJWkUgKGFyZ190eXBlLCBmaWVsZG5vKTsKICAKICAgICAgICByZXR1 cm4gYWRhX3ZhbHVlX3ByaW1pdGl2ZV9wYWNrZWRfdmFsIChhcmcxLCB2YWx1ZV9jb250ZW50cyAo YXJnMSksCi1AQCAtNzI3Miw5ICs3Mjc0LDkgQEAKK0BAIC03MjI0LDkgKzcyMjYsOSBAQCBhZGFf dmFsdWVfcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKmFyZzEsIGludCBvZmZzZXQsIGlu dCBmaWVsZG5vLAogICAgIFJldHVybnMgMSBpZiBmb3VuZCwgMCBvdGhlcndpc2UuICAqLwogIAog IHN0YXRpYyBpbnQKQEAgLTcyOSw3ICs4MzAsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxh bmcuYwogIAkJICAgaW50ICppbmRleF9wKQogIHsKICAgIGludCBpOwotQEAgLTcyOTIsOCArNzI5 NCw4IEBACitAQCAtNzI0NCw4ICs3MjQ2LDggQEAgZmluZF9zdHJ1Y3RfZmllbGQgKGNvbnN0IGNo YXIgKm5hbWUsIHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgb2Zmc2V0LAogIAogICAgZm9yIChpID0g MDsgaSA8IFRZUEVfTkZJRUxEUyAodHlwZSk7IGkgKz0gMSkKICAgICAgewpAQCAtNzQwLDcgKzg0 MSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgICAgICAgY29uc3QgY2hhciAq dF9maWVsZF9uYW1lID0gVFlQRV9GSUVMRF9OQU1FICh0eXBlLCBpKTsKICAKICAgICAgICBpZiAo dF9maWVsZF9uYW1lID09IE5VTEwpCi1AQCAtNzM2Myw3ICs3MzY1LDcgQEAKK0BAIC03MzE1LDcg KzczMTcsNyBAQCBudW1fdmlzaWJsZV9maWVsZHMgKHN0cnVjdCB0eXBlICp0eXBlKQogICAgIFNl YXJjaGVzIHJlY3Vyc2l2ZWx5IHRocm91Z2ggd3JhcHBlciBmaWVsZHMgKGUuZy4sICdfcGFyZW50 JykuICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgpAQCAtNzQ5LDcgKzg1MCw3IEBAIElu ZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIGludCBpOwotQEAgLTczOTYsNyArNzM5OCw3IEBACitA QCAtNzM0OCw3ICs3MzUwLDcgQEAgYWRhX3NlYXJjaF9zdHJ1Y3RfZmllbGQgKGNvbnN0IGNoYXIg Km5hbWUsIHN0cnVjdCB2YWx1ZSAqYXJnLCBpbnQgb2Zmc2V0LAogICAgICAgICAgICBpbnQgajsK ICAgICAgICAgICAgc3RydWN0IHR5cGUgKmZpZWxkX3R5cGUgPSBhZGFfY2hlY2tfdHlwZWRlZiAo VFlQRV9GSUVMRF9UWVBFICh0eXBlLAogIAkJCQkJCQkJCWkpKTsKQEAgLTc1OCw3ICs4NTksNyBA QCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwogIAogICAgICAgICAgICBmb3IgKGogPSAw OyBqIDwgVFlQRV9ORklFTERTIChmaWVsZF90eXBlKTsgaiArPSAxKQogICAgICAgICAgICAgIHsK LUBAIC03NDE0LDggKzc0MTYsOCBAQAorQEAgLTczNjYsOCArNzM2OCw4IEBAIGFkYV9zZWFyY2hf c3RydWN0X2ZpZWxkIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgdmFsdWUgKmFyZywgaW50IG9m ZnNldCwKICAgIHJldHVybiBOVUxMOwogIH0KICAKQEAgLTc2OSw3ICs4NzAsNyBAQCBJbmRleDog Z2RiLTguMC9nZGIvYWRhLWxhbmcuYwogIAogIAogIC8qIFJldHVybiBmaWVsZCAjSU5ERVggaW4g QVJHLCB3aGVyZSB0aGUgaW5kZXggaXMgdGhhdCByZXR1cm5lZCBieQotQEAgLTc0MjQsNyArNzQy Niw3IEBACitAQCAtNzM3Niw3ICs3Mzc4LDcgQEAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqYWRhX2lu ZGV4X3N0cnVjdF9maWVsZF8xIChpbnQgKiwgc3RydWN0IHZhbHVlICosCiAgICogSWYgZm91bmQs IHJldHVybiB2YWx1ZSwgZWxzZSByZXR1cm4gTlVMTC4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB2 YWx1ZSAqCkBAIC03NzgsNyArODc5LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS1sYW5nLmMK ICAJCQlzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CiAgICByZXR1cm4gYWRhX2luZGV4X3N0cnVjdF9m aWVsZF8xICgmaW5kZXgsIGFyZywgb2Zmc2V0LCB0eXBlKTsKLUBAIC03NDM2LDcgKzc0MzgsNyBA QAorQEAgLTczODgsNyArNzM5MCw3IEBAIGFkYV9pbmRleF9zdHJ1Y3RfZmllbGQgKGludCBpbmRl eCwgc3RydWN0IHZhbHVlICphcmcsIGludCBvZmZzZXQsCiAgICogKklOREVYX1AuICAqLwogIAog IHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgpAQCAtNzg3LDcgKzg4OCw3IEBAIEluZGV4OiBnZGItOC4w L2dkYi9hZGEtbGFuZy5jCiAgCQkJICBzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CiAgICBpbnQgaTsK LUBAIC03NTI2LDcgKzc1MjgsOCBAQAorQEAgLTc0NzgsNyArNzQ4MCw4IEBAIGFkYV92YWx1ZV9z dHJ1Y3RfZWx0IChzdHJ1Y3QgdmFsdWUgKmFyZywgY29uc3QgY2hhciAqbmFtZSwgaW50IG5vX2Vy cikKICAgICAgdiA9IGFkYV9zZWFyY2hfc3RydWN0X2ZpZWxkIChuYW1lLCBhcmcsIDAsIHQpOwog ICAgZWxzZQogICAgICB7CkBAIC03OTcsNyArODk4LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2Fk YS1sYW5nLmMKICAgICAgICBzdHJ1Y3QgdHlwZSAqZmllbGRfdHlwZTsKICAgICAgICBDT1JFX0FE RFIgYWRkcmVzczsKICAKLUBAIC03ODMyLDggKzc4MzUsOCBAQAorQEAgLTc3NjksOCArNzc3Miw4 IEBAIGFkYV9jb2VyY2VfcmVmIChzdHJ1Y3QgdmFsdWUgKnZhbDApCiAgLyogUmV0dXJuIE9GRiBy b3VuZGVkIHVwd2FyZCBpZiBuZWNlc3NhcnkgdG8gYSBtdWx0aXBsZSBvZgogICAgIEFMSUdOTUVO VCAoYSBwb3dlciBvZiAyKS4gICovCiAgCkBAIC04MDgsNyArOTA5LDcgQEAgSW5kZXg6IGdkYi04 LjAvZ2RiL2FkYS1sYW5nLmMKICB7CiAgICByZXR1cm4gKG9mZiArIGFsaWdubWVudCAtIDEpICYg fihhbGlnbm1lbnQgLSAxKTsKICB9Ci1AQCAtODIyNywxMCArODIzMCw5IEBACitAQCAtODE2NCwx MCArODE2Nyw5IEBAIGFkYV90ZW1wbGF0ZV90b19maXhlZF9yZWNvcmRfdHlwZV8xIChzdHJ1Y3Qg dHlwZSAqdHlwZSwKICAgIHN0cnVjdCB2YWx1ZSAqbWFyayA9IHZhbHVlX21hcmsgKCk7CiAgICBz dHJ1Y3QgdmFsdWUgKmR2YWw7CiAgICBzdHJ1Y3QgdHlwZSAqcnR5cGU7CkBAIC04MjEsNyArOTIy LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS1sYW5nLmMKICAgIGludCBmOwogIAogICAgLyog Q29tcHV0ZSB0aGUgbnVtYmVyIG9mIGZpZWxkcyBpbiB0aGlzIHJlY29yZCB0eXBlIHRoYXQgYXJl IGdvaW5nCi1AQCAtODMwOCw3ICs4MzEwLDcgQEAKK0BAIC04MjQ1LDcgKzgyNDcsNyBAQCBhZGFf dGVtcGxhdGVfdG9fZml4ZWRfcmVjb3JkX3R5cGVfMSAoc3RydWN0IHR5cGUgKnR5cGUsCiAgCSAg ICAgdGhhdCBmb2xsb3cgdGhpcyBvbmUuICAqLwogIAkgIGlmIChhZGFfaXNfYWxpZ25lcl90eXBl IChmaWVsZF90eXBlKSkKICAJICAgIHsKQEAgLTgzMCw3ICs5MzEsNyBAQCBJbmRleDogZ2RiLTgu MC9nZGIvYWRhLWxhbmcuYwogIAogIAkgICAgICBmaWVsZF92YWxhZGRyID0gY29uZF9vZmZzZXRf aG9zdCAoZmllbGRfdmFsYWRkciwgZmllbGRfb2Zmc2V0KTsKICAJICAgICAgZmllbGRfYWRkcmVz cyA9IGNvbmRfb2Zmc2V0X3RhcmdldCAoZmllbGRfYWRkcmVzcywgZmllbGRfb2Zmc2V0KTsKLUBA IC04NDQ0LDExICs4NDQ2LDExIEBACitAQCAtODM4MSwxMSArODM4MywxMSBAQCBhZGFfdGVtcGxh dGVfdG9fZml4ZWRfcmVjb3JkX3R5cGVfMSAoc3RydWN0IHR5cGUgKnR5cGUsCiAgICBpZiAoVFlQ RV9MRU5HVEggKHR5cGUpIDw9IDApCiAgICAgIHsKICAgICAgICBpZiAoVFlQRV9OQU1FIChydHlw ZSkpCkBAIC04NDYsNyArOTQ3LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS1sYW5nLmMKICAg ICAgfQogICAgZWxzZQogICAgICB7Ci1AQCAtODkxNSw3ICs4OTE3LDggQEAKK0BAIC04ODUyLDcg Kzg4NTQsOCBAQCB0b19maXhlZF9hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZTAsIHN0cnVj dCB2YWx1ZSAqZHZhbCwKICAJIHR5cGUgd2FzIGEgcmVndWxhciAobm9uLXBhY2tlZCkgYXJyYXkg dHlwZS4gIEFzIGEgcmVzdWx0LCB0aGUKICAJIGJpdHNpemUgb2YgdGhlIGFycmF5IGVsZW1lbnRz IG5lZWRzIHRvIGJlIHNldCBhZ2FpbiwgYW5kIHRoZSBhcnJheQogIAkgbGVuZ3RoIG5lZWRzIHRv IGJlIHJlY29tcHV0ZWQgYmFzZWQgb24gdGhhdCBiaXRzaXplLiAgKi8KQEAgLTg1NiwxMSArOTU3 LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgICAgICAgaW50IGVsdF9iaXRz aXplID0gVFlQRV9GSUVMRF9CSVRTSVpFICh0eXBlMCwgMCk7CiAgCiAgICAgICAgVFlQRV9GSUVM RF9CSVRTSVpFIChyZXN1bHQsIDApID0gVFlQRV9GSUVMRF9CSVRTSVpFICh0eXBlMCwgMCk7Ci1J bmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3Jp Zy9nZGIvYWRhLWxhbmcuaAkyMDE3LTA4LTE5IDIwOjA0OjU5Ljc4Njc4MDUxMCArMDIwMAotKysr IGdkYi04LjAvZ2RiL2FkYS1sYW5nLmgJMjAxNy0wOC0xOSAyMDowNToxMC4wNTY4NzY1ODkgKzAy MDAKLUBAIC0xNjgsNyArMTY4LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvYWRhLWxhbmcuaCBiL2dk Yi9hZGEtbGFuZy5oCitpbmRleCAwNTMwZTlhYWNkLi4zMjMwZGU3OTQwIDEwMDY0NAorLS0tIGEv Z2RiL2FkYS1sYW5nLmgKKysrKyBiL2dkYi9hZGEtbGFuZy5oCitAQCAtMTc0LDcgKzE3NCw3IEBA IGV4dGVybiB2b2lkIGFkYV9wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAqLCBjb25zdCBjaGFyICos IHN0cnVjdCB1aV9maWxlICosIGludCwKICBleHRlcm4gdm9pZCBhZGFfcHJpbnRfdHlwZWRlZiAo c3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBzeW1ib2wgKm5ld19zeW1ib2wsCiAgCQkJICAgICAg IHN0cnVjdCB1aV9maWxlICpzdHJlYW0pOwogIApAQCAtODY5LDcgKzk3MCw3IEBAIEluZGV4OiBn ZGItOC4wL2dkYi9hZGEtbGFuZy5oCiAgCQkJICAgc3RydWN0IHVpX2ZpbGUgKiwgaW50LAogIAkJ CSAgIHN0cnVjdCB2YWx1ZSAqLAogIAkJCSAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRp b25zICopOwotQEAgLTE4Myw3ICsxODMsNyBAQAorQEAgLTE4OSw3ICsxODksNyBAQCBleHRlcm4g dm9pZCBhZGFfZW1pdF9jaGFyIChpbnQsIHN0cnVjdCB0eXBlICosIHN0cnVjdCB1aV9maWxlICos IGludCwgaW50KTsKICBleHRlcm4gdm9pZCBhZGFfcHJpbnRjaGFyIChpbnQsIHN0cnVjdCB0eXBl ICosIHN0cnVjdCB1aV9maWxlICopOwogIAogIGV4dGVybiB2b2lkIGFkYV9wcmludHN0ciAoc3Ry dWN0IHVpX2ZpbGUgKiwgc3RydWN0IHR5cGUgKiwgY29uc3QgZ2RiX2J5dGUgKiwKQEAgLTg3OCw3 ICs5NzksNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuaAogIAkJCSAgY29uc3Qgc3Ry dWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKik7CiAgCiAgc3RydWN0IHZhbHVlICphZGFfY29udmVy dF9hY3R1YWwgKHN0cnVjdCB2YWx1ZSAqYWN0dWFsLAotQEAgLTI1NSw3ICsyNTUsNyBAQAorQEAg LTI2MSw3ICsyNjEsNyBAQCBleHRlcm4gaW50IGFkYV9pc19jb25zdHJhaW5lZF9wYWNrZWRfYXJy YXlfdHlwZSAoc3RydWN0IHR5cGUgKik7CiAgCiAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqYWRhX3Zh bHVlX3ByaW1pdGl2ZV9wYWNrZWRfdmFsIChzdHJ1Y3QgdmFsdWUgKiwKICAJCQkJCQkgICAgIGNv bnN0IGdkYl9ieXRlICosCkBAIC04ODcsMTEgKzk4OCwxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIv YWRhLWxhbmcuaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IHR5cGUgKik7CiAgCiAgZXh0ZXJuIHN0cnVjdCB0eXBlICphZGFfY29l cmNlX3RvX3NpbXBsZV9hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAqKTsKLUluZGV4OiBnZGItOC4w L2dkYi9hZGEtdHlwZXByaW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2Fk YS10eXBlcHJpbnQuYwkyMDE3LTA4LTE5IDIwOjA0OjU5Ljc4Njc4MDUxMCArMDIwMAotKysrIGdk Yi04LjAvZ2RiL2FkYS10eXBlcHJpbnQuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA1Nzg3NjU5OCAr MDIwMAotQEAgLTg5MSw4ICs4OTEsOCBAQAorZGlmZiAtLWdpdCBhL2dkYi9hZGEtdHlwZXByaW50 LmMgYi9nZGIvYWRhLXR5cGVwcmludC5jCitpbmRleCA5ZDIzMzAyODY1Li5lNDM3Y2YxYTBlIDEw MDY0NAorLS0tIGEvZ2RiL2FkYS10eXBlcHJpbnQuYworKysrIGIvZ2RiL2FkYS10eXBlcHJpbnQu YworQEAgLTg5Niw4ICs4OTYsOCBAQCBhZGFfcHJpbnRfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUw LCBjb25zdCBjaGFyICp2YXJzdHJpbmcsCiAgCSAgICBjb25zdCBjaGFyICpuYW1lID0gYWRhX3R5 cGVfbmFtZSAodHlwZSk7CiAgCiAgCSAgICBpZiAoIWFkYV9pc19yYW5nZV90eXBlX25hbWUgKG5h bWUpKQpAQCAtOTAyLDcgKzEwMDMsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLXR5cGVwcmlu dC5jCiAgCSAgICBlbHNlCiAgCSAgICAgIHsKICAJCWZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwg InJhbmdlICIpOwotQEAgLTkxMyw3ICs5MTMsOCBAQAorQEAgLTkxOCw3ICs5MTgsOCBAQCBhZGFf cHJpbnRfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUwLCBjb25zdCBjaGFyICp2YXJzdHJpbmcsCiAg CSAgfQogIAlicmVhazsKICAgICAgICBjYXNlIFRZUEVfQ09ERV9GTFQ6CkBAIC05MTIsMTIgKzEw MTMsMTIgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS10eXBlcHJpbnQuYwogIAlicmVhazsKICAg ICAgICBjYXNlIFRZUEVfQ09ERV9FTlVNOgogIAlpZiAoc2hvdyA8IDApCi1JbmRleDogZ2RiLTgu MC9nZGIvYWRhLXZhbHByaW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2Fk YS12YWxwcmludC5jCTIwMTctMDgtMTkgMjA6MDQ6NTkuNzg3NzgwNTIwICswMjAwCi0rKysgZ2Ri LTguMC9nZGIvYWRhLXZhbHByaW50LmMJMjAxNy0wOC0xOSAyMDowNToxMC4wNTc4NzY1OTggKzAy MDAKLUBAIC0zMywxMSArMzMsMTEgQEAKLSAjaW5jbHVkZSAib2JqZmlsZXMuaCIKK2RpZmYgLS1n aXQgYS9nZGIvYWRhLXZhbHByaW50LmMgYi9nZGIvYWRhLXZhbHByaW50LmMKK2luZGV4IDkxZGMz MDFhZjUuLjRhYTRkN2E3OWYgMTAwNjQ0CistLS0gYS9nZGIvYWRhLXZhbHByaW50LmMKKysrKyBi L2dkYi9hZGEtdmFscHJpbnQuYworQEAgLTM0LDExICszNCwxMSBAQAorICNpbmNsdWRlICJ0YXJn ZXQtZmxvYXQuaCIKICAKICBzdGF0aWMgaW50IHByaW50X2ZpZWxkX3ZhbHVlcyAoc3RydWN0IHR5 cGUgKiwgY29uc3QgZ2RiX2J5dGUgKiwKIC0JCQkgICAgICAgaW50LApAQCAtOTMwLDcgKzEwMzEs NyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLXZhbHByaW50LmMKICAJCQkgICAgICAgY29uc3Qg c3RydWN0IGxhbmd1YWdlX2RlZm4gKik7CiAgDAogIAotQEAgLTI3OSw3ICsyNzksNyBAQAorQEAg LTI4MCw3ICsyODAsNyBAQCBhZGFfZW1pdF9jaGFyIChpbnQgYywgc3RydWN0IHR5cGUgKnR5cGUs IHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAgICAgb2YgYSBjaGFyYWN0ZXIuICAqLwogIAogIHN0 YXRpYyBpbnQKQEAgLTkzOSw3ICsxMDQwLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS12YWxw cmludC5jCiAgCSBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlcikKICB7CiAgICBpZiAodHlwZV9s ZW4gPT0gMSkKLUBAIC00MzksMTEgKzQzOSwxMSBAQAorQEAgLTQ0MCwxMSArNDQwLDExIEBAIGFk YV9wcmludF9zY2FsYXIgKHN0cnVjdCB0eXBlICp0eXBlLCBMT05HRVNUIHZhbCwgc3RydWN0IHVp X2ZpbGUgKnN0cmVhbSkKICAKICBzdGF0aWMgdm9pZAogIHByaW50c3RyIChzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqZWx0dHlwZSwgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywK QEAgLTk1Myw3ICsxMDU0LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS12YWxwcmludC5jCiAg ICB1bnNpZ25lZCBpbnQgdGhpbmdzX3ByaW50ZWQgPSAwOwogICAgaW50IGluX3F1b3RlcyA9IDA7 CiAgICBpbnQgbmVlZF9jb21tYSA9IDA7Ci1AQCAtNDU4LDkgKzQ1OCw5IEBACitAQCAtNDU5LDkg KzQ1OSw5IEBAIHByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAq ZWx0dHlwZSwgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywKICAgICAgewogICAgICAgIC8qIFBvc2l0 aW9uIG9mIHRoZSBjaGFyYWN0ZXIgd2UgYXJlIGV4YW1pbmluZwogICAgICAgICAgIHRvIHNlZSB3 aGV0aGVyIGl0IGlzIHJlcGVhdGVkLiAgKi8KQEAgLTk2NSw3ICsxMDY2LDcgQEAgSW5kZXg6IGdk Yi04LjAvZ2RiL2FkYS12YWxwcmludC5jCiAgCiAgICAgICAgUVVJVDsKICAKLUBAIC00OTEsNyAr NDkxLDggQEAKK0BAIC00OTIsNyArNDkyLDggQEAgcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpz dHJlYW0sIHN0cnVjdCB0eXBlICplbHR0eXBlLCBjb25zdCBnZGJfYnl0ZSAqc3RyaW5nLAogIAkg IGFkYV9lbWl0X2NoYXIgKGNoYXJfYXQgKHN0cmluZywgaSwgdHlwZV9sZW4sIGJ5dGVfb3JkZXIp LAogIAkJCSBlbHR0eXBlLCBzdHJlYW0sICdcJycsIHR5cGVfbGVuKTsKICAJICBmcHV0c19maWx0 ZXJlZCAoIiciLCBzdHJlYW0pOwpAQCAtOTc1LDcgKzEwNzYsNyBAQCBJbmRleDogZ2RiLTguMC9n ZGIvYWRhLXZhbHByaW50LmMKICAJICBpID0gcmVwMSAtIDE7CiAgCSAgdGhpbmdzX3ByaW50ZWQg Kz0gb3B0aW9ucy0+cmVwZWF0X2NvdW50X3RocmVzaG9sZDsKICAJICBuZWVkX2NvbW1hID0gMTsK LUBAIC01MTksNyArNTIwLDcgQEAKK0BAIC01MjAsNyArNTIxLDcgQEAgcHJpbnRzdHIgKHN0cnVj dCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICplbHR0eXBlLCBjb25zdCBnZGJfYnl0ZSAq c3RyaW5nLAogIAogIHZvaWQKICBhZGFfcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0s IHN0cnVjdCB0eXBlICp0eXBlLApAQCAtOTg0LDcgKzEwODUsNyBAQCBJbmRleDogZ2RiLTguMC9n ZGIvYWRhLXZhbHByaW50LmMKICAJICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3Jj ZV9lbGxpcHNlcywKICAJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9w dGlvbnMpCiAgewotQEAgLTUyOSwxMiArNTMwLDEyIEBACitAQCAtNTMwLDEyICs1MzEsMTIgQEAg YWRhX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwK ICAKICBzdGF0aWMgaW50CiAgcHJpbnRfdmFyaWFudF9wYXJ0IChzdHJ1Y3QgdHlwZSAqdHlwZSwg aW50IGZpZWxkX251bSwKQEAgLTk5OSw3ICsxMTAwLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2Fk YS12YWxwcmludC5jCiAgCQkgICAgY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4gKmxhbmd1YWdl KQogIHsKICAgIHN0cnVjdCB0eXBlICp2YXJfdHlwZSA9IFRZUEVfRklFTERfVFlQRSAodHlwZSwg ZmllbGRfbnVtKTsKLUBAIC01NzAsMTEgKzU3MSwxMSBAQAorQEAgLTU3MSwxMSArNTcyLDExIEBA IHByaW50X3ZhcmlhbnRfcGFydCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBmaWVsZF9udW0sCiAg CiAgc3RhdGljIGludAogIHByaW50X2ZpZWxkX3ZhbHVlcyAoc3RydWN0IHR5cGUgKnR5cGUsIGNv bnN0IGdkYl9ieXRlICp2YWxhZGRyLApAQCAtMTAxMyw3ICsxMTE0LDcgQEAgSW5kZXg6IGdkYi04 LjAvZ2RiL2FkYS12YWxwcmludC5jCiAgCQkgICAgY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4g Kmxhbmd1YWdlKQogIHsKICAgIGludCBpLCBsZW47Ci1AQCAtNjQwLDcgKzY0MSw3IEBACitAQCAt NjQxLDcgKzY0Miw3IEBAIHByaW50X2ZpZWxkX3ZhbHVlcyAoc3RydWN0IHR5cGUgKnR5cGUsIGNv bnN0IGdkYl9ieXRlICp2YWxhZGRyLAogIAkgIGVsc2UKICAJICAgIHsKICAJICAgICAgc3RydWN0 IHZhbHVlICp2OwpAQCAtMTAyMiw3ICsxMTIzLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS12 YWxwcmludC5jCiAgCSAgICAgIGludCBiaXRfc2l6ZSA9IFRZUEVfRklFTERfQklUU0laRSAodHlw ZSwgaSk7CiAgCSAgICAgIHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zIG9wdHM7CiAgCi1AQCAt Njg1LDggKzY4Niw4IEBACitAQCAtNjg2LDggKzY4Nyw4IEBAIGFkYV92YWxfcHJpbnRfc3RyaW5n IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAgewogICAgZW51 bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdldF90eXBlX2Fy Y2ggKHR5cGUpKTsKICAgIHN0cnVjdCB0eXBlICplbHR0eXBlID0gVFlQRV9UQVJHRVRfVFlQRSAo dHlwZSk7CkBAIC0xMDMzLDcgKzExMzQsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLXZhbHBy aW50LmMKICAKICAgIC8qIFdlIGtub3cgdGhhdCBFTFRUWVBFIGNhbm5vdCBwb3NzaWJseSBiZSBu dWxsLCBiZWNhdXNlIHdlIGFzc3VtZQogICAgICAgdGhhdCB3ZSdyZSBjYWxsZWQgb25seSB3aGVu IFRZUEUgaXMgYSBzdHJpbmctbGlrZSB0eXBlLgotQEAgLTcwNSw3ICs3MDYsNyBAQAorQEAgLTcw Niw3ICs3MDcsNyBAQCBhZGFfdmFsX3ByaW50X3N0cmluZyAoc3RydWN0IHR5cGUgKnR5cGUsIGNv bnN0IGdkYl9ieXRlICp2YWxhZGRyLAogICAgICAgZWxlbWVudHMgdXAgdG8gaXQuICAqLwogICAg aWYgKG9wdGlvbnMtPnN0b3BfcHJpbnRfYXRfbnVsbCkKICAgICAgewpAQCAtMTA0Miw3ICsxMTQz LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS12YWxwcmludC5jCiAgCiAgICAgICAgLyogTG9v ayBmb3IgYSBOVUxMIGNoYXIuICAqLwogICAgICAgIGZvciAodGVtcF9sZW4gPSAwOwotQEAgLTEw NzIsNyArMTA3Myw3IEBACitAQCAtMTA3OSw3ICsxMDgwLDcgQEAgYWRhX3ZhbF9wcmludF9yZWYg KHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAKICBzdGF0aWMg dm9pZAogIGFkYV92YWxfcHJpbnRfMSAoc3RydWN0IHR5cGUgKnR5cGUsCkBAIC0xMDUxLDcgKzEx NTIsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLXZhbHByaW50LmMKICAJCSBzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJCSBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3Zh bHVlLAogIAkJIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAotQEAg LTExNTYsNyArMTE1Nyw3IEBACitAQCAtMTE2Myw3ICsxMTY0LDcgQEAgYWRhX3ZhbF9wcmludF8x IChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAKICB2b2lkCiAgYWRhX3ZhbF9wcmludCAoc3RydWN0IHR5 cGUgKnR5cGUsCkBAIC0xMDYwLDExICsxMTYxLDQwIEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEt dmFscHJpbnQuYwogIAkgICAgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2Us CiAgCSAgICAgICBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1 ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotSW5kZXg6IGdkYi04LjAvZ2RiL2Fubm90YXRlLmMK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2Fubm90YXRlLmMJMjAxNy0wOC0xOSAy MDowNDo1OS43ODc3ODA1MjAgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9hbm5vdGF0ZS5jCTIwMTct MDgtMTkgMjA6MDU6MTAuMDU3ODc2NTk4ICswMjAwCi1AQCAtNTMzLDIxICs1MzMsMjEgQEAKK2Rp ZmYgLS1naXQgYS9nZGIvYW1kNjQtdGRlcC5jIGIvZ2RiL2FtZDY0LXRkZXAuYworaW5kZXggODFm YmU1Mjc5NS4uNmY5OThkMjMwMyAxMDA2NDQKKy0tLSBhL2dkYi9hbWQ2NC10ZGVwLmMKKysrKyBi L2dkYi9hbWQ2NC10ZGVwLmMKK0BAIC03MjcsNyArNzI3LDcgQEAgYW1kNjRfcmV0dXJuX3ZhbHVl IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKKyAJCSAg ICBnZGJfYnl0ZSAqcmVhZGJ1ZiwgY29uc3QgZ2RiX2J5dGUgKndyaXRlYnVmKQorIHsKKyAgIGVu dW0gYW1kNjRfcmVnX2NsYXNzIHRoZWNsYXNzWzJdOworLSAgaW50IGxlbiA9IFRZUEVfTEVOR1RI ICh0eXBlKTsKKysgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOworICAgc3RhdGlj IGludCBpbnRlZ2VyX3JlZ251bVtdID0geyBBTUQ2NF9SQVhfUkVHTlVNLCBBTUQ2NF9SRFhfUkVH TlVNIH07CisgICBzdGF0aWMgaW50IHNzZV9yZWdudW1bXSA9IHsgQU1ENjRfWE1NMF9SRUdOVU0s IEFNRDY0X1hNTTFfUkVHTlVNIH07CisgICBpbnQgaW50ZWdlcl9yZWcgPSAwOworQEAgLTg0Mywx MSArODQzLDEzIEBAIGFtZDY0X3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs IHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCisgCisgICAgICAgZ2RiX2Fzc2VydCAocmVnbnVtICE9 IC0xKTsKKyAKKysgICAgICBMT05HRVNUIG5sZW4gPSBsZW4gPCA4ID8gbGVuIDogODsKKysKKyAg ICAgICBpZiAocmVhZGJ1ZikKKy0JcmVnY2FjaGVfcmF3X3JlYWRfcGFydCAocmVnY2FjaGUsIHJl Z251bSwgb2Zmc2V0LCBzdGQ6Om1pbiAobGVuLCA4KSwKKysJcmVnY2FjaGVfcmF3X3JlYWRfcGFy dCAocmVnY2FjaGUsIHJlZ251bSwgb2Zmc2V0LCBubGVuLAorIAkJCQlyZWFkYnVmICsgaSAqIDgp OworICAgICAgIGlmICh3cml0ZWJ1ZikKKy0JcmVnY2FjaGVfcmF3X3dyaXRlX3BhcnQgKHJlZ2Nh Y2hlLCByZWdudW0sIG9mZnNldCwgc3RkOjptaW4gKGxlbiwgOCksCisrCXJlZ2NhY2hlX3Jhd193 cml0ZV9wYXJ0IChyZWdjYWNoZSwgcmVnbnVtLCBvZmZzZXQsIG5sZW4sCisgCQkJCSB3cml0ZWJ1 ZiArIGkgKiA4KTsKKyAgICAgfQorIAorZGlmZiAtLWdpdCBhL2dkYi9hbm5vdGF0ZS5jIGIvZ2Ri L2Fubm90YXRlLmMKK2luZGV4IDZhMDJmNzMyOTkuLjRjNjA5NjcyZTAgMTAwNjQ0CistLS0gYS9n ZGIvYW5ub3RhdGUuYworKysrIGIvZ2RiL2Fubm90YXRlLmMKK0BAIC01MzEsMjEgKzUzMSwyMSBA QCBhbm5vdGF0ZV9mcmFtZV9lbmQgKHZvaWQpCiAgfQogIAwKICB2b2lkCkBAIC0xMDkwLDExICsx MjIwLDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9hbm5vdGF0ZS5jCiAgfQogIAogIHZvaWQKLUlu ZGV4OiBnZGItOC4wL2dkYi9hbm5vdGF0ZS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmln L2dkYi9hbm5vdGF0ZS5oCTIwMTctMDgtMTkgMjA6MDQ6NTkuNzg4NzgwNTI5ICswMjAwCi0rKysg Z2RiLTguMC9nZGIvYW5ub3RhdGUuaAkyMDE3LTA4LTE5IDIwOjA1OjEwLjA1ODg3NjYwNyArMDIw MAotQEAgLTkyLDggKzkyLDggQEAKK2RpZmYgLS1naXQgYS9nZGIvYW5ub3RhdGUuaCBiL2dkYi9h bm5vdGF0ZS5oCitpbmRleCA4YTlhNjQxNDdkLi45MWE0YmNiZTlhIDEwMDY0NAorLS0tIGEvZ2Ri L2Fubm90YXRlLmgKKysrKyBiL2dkYi9hbm5vdGF0ZS5oCitAQCAtMTAyLDggKzEwMiw4IEBAIGV4 dGVybiB2b2lkIGFubm90YXRlX2ZyYW1lX3NvdXJjZV9lbmQgKHZvaWQpOwogIGV4dGVybiB2b2lk IGFubm90YXRlX2ZyYW1lX3doZXJlICh2b2lkKTsKICBleHRlcm4gdm9pZCBhbm5vdGF0ZV9mcmFt ZV9lbmQgKHZvaWQpOwogIApAQCAtMTEwNSwxMSArMTIzNSwzNyBAQCBJbmRleDogZ2RiLTguMC9n ZGIvYW5ub3RhdGUuaAogIGV4dGVybiB2b2lkIGFubm90YXRlX2VsdF9yZXBfZW5kICh2b2lkKTsK ICBleHRlcm4gdm9pZCBhbm5vdGF0ZV9lbHQgKHZvaWQpOwogIGV4dGVybiB2b2lkIGFubm90YXRl X2FycmF5X3NlY3Rpb25fZW5kICh2b2lkKTsKLUluZGV4OiBnZGItOC4wL2dkYi9hcm0tbGludXgt bmF0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2FybS1saW51eC1uYXQuYwky MDE3LTA4LTE5IDIwOjA0OjU5Ljc4ODc4MDUyOSArMDIwMAotKysrIGdkYi04LjAvZ2RiL2FybS1s aW51eC1uYXQuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA1ODg3NjYwNyArMDIwMAotQEAgLTEwNjcs NyArMTA2Nyw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2FyY2gtdXRpbHMuYyBiL2dkYi9hcmNoLXV0 aWxzLmMKK2luZGV4IDZjMGUwYjMyNzYuLmIyMjAzNDMyMmIgMTAwNjQ0CistLS0gYS9nZGIvYXJj aC11dGlscy5jCisrKysgYi9nZGIvYXJjaC11dGlscy5jCitAQCAtMjI4LDcgKzIyOCw3IEBAIGxl Z2FjeV92aXJ0dWFsX2ZyYW1lX3BvaW50ZXIgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorIAor IGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKgorIGRlZmF1bHRfZmxvYXRmb3JtYXRfZm9yX3R5 cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorLQkJCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUs IGludCBsZW4pCisrCQkJICAgICAgY29uc3QgY2hhciAqbmFtZSwgTE9OR0VTVCBsZW4pCisgewor ICAgY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqZm9ybWF0ID0gTlVMTDsKKyAKK2RpZmYgLS1n aXQgYS9nZGIvYXJjaC11dGlscy5oIGIvZ2RiL2FyY2gtdXRpbHMuaAoraW5kZXggNmQzYzM2Mjll Zi4uNTFhNjdlNjlmMyAxMDA2NDQKKy0tLSBhL2dkYi9hcmNoLXV0aWxzLmgKKysrKyBiL2dkYi9h cmNoLXV0aWxzLmgKK0BAIC0xMzEsNyArMTMxLDcgQEAgZXh0ZXJuIGdkYmFyY2hfdmlydHVhbF9m cmFtZV9wb2ludGVyX2Z0eXBlIGxlZ2FjeV92aXJ0dWFsX2ZyYW1lX3BvaW50ZXI7CisgLyogRGVm YXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBnZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zvcl90eXBlLiAgKi8K KyBleHRlcm4gY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqCisgICBkZWZhdWx0X2Zsb2F0Zm9y bWF0X2Zvcl90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKKy0JCQkJY29uc3QgY2hhciAq bmFtZSwgaW50IGxlbik7CisrCQkJCWNvbnN0IGNoYXIgKm5hbWUsIExPTkdFU1QgbGVuKTsKKyAK KyBleHRlcm4gQ09SRV9BRERSIGdlbmVyaWNfc2tpcF90cmFtcG9saW5lX2NvZGUgKHN0cnVjdCBm cmFtZV9pbmZvICpmcmFtZSwKKyAJCQkJCSAgICAgICBDT1JFX0FERFIgcGMpOworZGlmZiAtLWdp dCBhL2dkYi9hcm0tbGludXgtbmF0LmMgYi9nZGIvYXJtLWxpbnV4LW5hdC5jCitpbmRleCBjYzdh NjdhNDAyLi5iNTczMmNiNDhlIDEwMDY0NAorLS0tIGEvZ2RiL2FybS1saW51eC1uYXQuYworKysr IGIvZ2RiL2FybS1saW51eC1uYXQuYworQEAgLTEwNjcsNyArMTA2Nyw3IEBAIGFybV9saW51eF9y ZW1vdmVfaHdfYnJlYWtwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCiAgICAgQUREUj8g ICovCiAgc3RhdGljIGludAogIGFybV9saW51eF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQg KHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLApAQCAtMTExOCwxMSArMTI3NCwxMSBAQCBJbmRleDog Z2RiLTguMC9nZGIvYXJtLWxpbnV4LW5hdC5jCiAgewogICAgY29uc3Qgc3RydWN0IGFybV9saW51 eF9od2JwX2NhcCAqY2FwID0gYXJtX2xpbnV4X2dldF9od2JwX2NhcCAoKTsKICAgIENPUkVfQURE UiBtYXhfd3BfbGVuZ3RoLCBhbGlnbmVkX2FkZHI7Ci1JbmRleDogZ2RiLTguMC9nZGIvYXgtZ2Ri LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2F4LWdkYi5jCTIwMTctMDgtMTkg MjA6MDQ6NTkuNzg5NzgwNTM4ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvYXgtZ2RiLmMJMjAxNy0w OC0xOSAyMDowNToxMC4wNTk4NzY2MTcgKzAyMDAKLUBAIC04MywxMiArODMsMTIgQEAKK2RpZmYg LS1naXQgYS9nZGIvYXgtZ2RiLmMgYi9nZGIvYXgtZ2RiLmMKK2luZGV4IDUwMjdmNmE0NjQuLmMy ZWY3YmFhNDggMTAwNjQ0CistLS0gYS9nZGIvYXgtZ2RiLmMKKysrKyBiL2dkYi9heC1nZGIuYwor QEAgLTgyLDEyICs4MiwxMiBAQCBzdGF0aWMgdm9pZCBnZW5fdHJhY2VkX3BvcCAoc3RydWN0IGFn ZW50X2V4cHIgKiwgc3RydWN0IGF4c192YWx1ZSAqKTsKICBzdGF0aWMgdm9pZCBnZW5fc2lnbl9l eHRlbmQgKHN0cnVjdCBhZ2VudF9leHByICosIHN0cnVjdCB0eXBlICopOwogIHN0YXRpYyB2b2lk IGdlbl9leHRlbmQgKHN0cnVjdCBhZ2VudF9leHByICosIHN0cnVjdCB0eXBlICopOwogIHN0YXRp YyB2b2lkIGdlbl9mZXRjaCAoc3RydWN0IGFnZW50X2V4cHIgKiwgc3RydWN0IHR5cGUgKik7CkBA IC0xMTMwLDMzICsxMjg2LDMxIEBAIEluZGV4OiBnZGItOC4wL2dkYi9heC1nZGIuYwogK3N0YXRp YyB2b2lkIGdlbl9sZWZ0X3NoaWZ0IChzdHJ1Y3QgYWdlbnRfZXhwciAqLCBMT05HRVNUKTsKICAK ICAKLSBzdGF0aWMgdm9pZCBnZW5fZnJhbWVfYXJnc19hZGRyZXNzIChzdHJ1Y3QgZ2RiYXJjaCAq LCBzdHJ1Y3QgYWdlbnRfZXhwciAqKTsKLSBzdGF0aWMgdm9pZCBnZW5fZnJhbWVfbG9jYWxzX2Fk ZHJlc3MgKHN0cnVjdCBnZGJhcmNoICosIHN0cnVjdCBhZ2VudF9leHByICopOworIHN0YXRpYyB2 b2lkIGdlbl9mcmFtZV9hcmdzX2FkZHJlc3MgKHN0cnVjdCBhZ2VudF9leHByICopOworIHN0YXRp YyB2b2lkIGdlbl9mcmFtZV9sb2NhbHNfYWRkcmVzcyAoc3RydWN0IGFnZW50X2V4cHIgKik7CiAt c3RhdGljIHZvaWQgZ2VuX29mZnNldCAoc3RydWN0IGFnZW50X2V4cHIgKmF4LCBpbnQgb2Zmc2V0 KTsKICtzdGF0aWMgdm9pZCBnZW5fb2Zmc2V0IChzdHJ1Y3QgYWdlbnRfZXhwciAqYXgsIExPTkdF U1Qgb2Zmc2V0KTsKICBzdGF0aWMgdm9pZCBnZW5fc3ltX29mZnNldCAoc3RydWN0IGFnZW50X2V4 cHIgKiwgc3RydWN0IHN5bWJvbCAqKTsKLSBzdGF0aWMgdm9pZCBnZW5fdmFyX3JlZiAoc3RydWN0 IGdkYmFyY2ggKiwgc3RydWN0IGFnZW50X2V4cHIgKmF4LAotIAkJCSBzdHJ1Y3QgYXhzX3ZhbHVl ICp2YWx1ZSwgc3RydWN0IHN5bWJvbCAqdmFyKTsKLUBAIC0xMzcsMTUgKzEzNywxNSBAQAotIHN0 YXRpYyB2b2lkIGdlbl9hZGRyZXNzX29mIChzdHJ1Y3QgYWdlbnRfZXhwciAqLCBzdHJ1Y3QgYXhz X3ZhbHVlICopOwotIHN0YXRpYyB2b2lkIGdlbl9iaXRmaWVsZF9yZWYgKHN0cnVjdCBleHByZXNz aW9uICpleHAsIHN0cnVjdCBhZ2VudF9leHByICpheCwKLSAJCQkgICAgICBzdHJ1Y3QgYXhzX3Zh bHVlICp2YWx1ZSwKKyBzdGF0aWMgdm9pZCBnZW5fdmFyX3JlZiAoc3RydWN0IGFnZW50X2V4cHIg KmF4LCBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSwKKyAJCQkgc3RydWN0IHN5bWJvbCAqdmFyKTsK K0BAIC0xMzIsMTMgKzEzMiwxMyBAQCBzdGF0aWMgdm9pZCBnZW5fY29tcGxlbWVudCAoc3RydWN0 IGFnZW50X2V4cHIgKmF4LCBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSk7Cisgc3RhdGljIHZvaWQg Z2VuX2RlcmVmIChzdHJ1Y3QgYXhzX3ZhbHVlICopOworIHN0YXRpYyB2b2lkIGdlbl9hZGRyZXNz X29mIChzdHJ1Y3QgYXhzX3ZhbHVlICopOworIHN0YXRpYyB2b2lkIGdlbl9iaXRmaWVsZF9yZWYg KHN0cnVjdCBhZ2VudF9leHByICpheCwgc3RydWN0IGF4c192YWx1ZSAqdmFsdWUsCiAtCQkJICAg ICAgc3RydWN0IHR5cGUgKnR5cGUsIGludCBzdGFydCwgaW50IGVuZCk7CiArCQkJICAgICAgc3Ry dWN0IHR5cGUgKnR5cGUsIExPTkdFU1Qgc3RhcnQsIExPTkdFU1QgZW5kKTsKLSBzdGF0aWMgdm9p ZCBnZW5fcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLAotIAkJCQkgc3Ry dWN0IGFnZW50X2V4cHIgKmF4LAorIHN0YXRpYyB2b2lkIGdlbl9wcmltaXRpdmVfZmllbGQgKHN0 cnVjdCBhZ2VudF9leHByICpheCwKICAJCQkJIHN0cnVjdCBheHNfdmFsdWUgKnZhbHVlLAogLQkJ CQkgaW50IG9mZnNldCwgaW50IGZpZWxkbm8sIHN0cnVjdCB0eXBlICp0eXBlKTsKICsJCQkJIExP TkdFU1Qgb2Zmc2V0LCBpbnQgZmllbGRubywgc3RydWN0IHR5cGUgKnR5cGUpOwotIHN0YXRpYyBp bnQgZ2VuX3N0cnVjdF9yZWZfcmVjdXJzaXZlIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLAotIAkJ CQkgICAgIHN0cnVjdCBhZ2VudF9leHByICpheCwKKyBzdGF0aWMgaW50IGdlbl9zdHJ1Y3RfcmVm X3JlY3Vyc2l2ZSAoc3RydWN0IGFnZW50X2V4cHIgKmF4LAogIAkJCQkgICAgIHN0cnVjdCBheHNf dmFsdWUgKnZhbHVlLAogLQkJCQkgICAgIGNvbnN0IGNoYXIgKmZpZWxkLCBpbnQgb2Zmc2V0LAog KwkJCQkgICAgIGNvbnN0IGNoYXIgKmZpZWxkLCBMT05HRVNUIG9mZnNldCwKICAJCQkJICAgICBz dHJ1Y3QgdHlwZSAqdHlwZSk7Ci0gc3RhdGljIHZvaWQgZ2VuX3N0cnVjdF9yZWYgKHN0cnVjdCBl eHByZXNzaW9uICpleHAsIHN0cnVjdCBhZ2VudF9leHByICpheCwKKyBzdGF0aWMgdm9pZCBnZW5f c3RydWN0X3JlZiAoc3RydWN0IGFnZW50X2V4cHIgKmF4LAogIAkJCSAgICBzdHJ1Y3QgYXhzX3Zh bHVlICp2YWx1ZSwKLUBAIC01NDEsNyArNTQxLDcgQEAKK0BAIC01MjksNyArNTI5LDcgQEAgZ2Vu X2ZldGNoIChzdHJ1Y3QgYWdlbnRfZXhwciAqYXgsIHN0cnVjdCB0eXBlICp0eXBlKQogICAgIHJp Z2h0IHNoaWZ0IGl0IGJ5IC1ESVNUQU5DRSBiaXRzIGlmIERJU1RBTkNFIDwgMC4gIFRoaXMgZ2Vu ZXJhdGVzCiAgICAgdW5zaWduZWQgKGxvZ2ljYWwpIHJpZ2h0IHNoaWZ0cy4gICovCiAgc3RhdGlj IHZvaWQKQEAgLTExNjUsNyArMTMxOSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9heC1nZGIuYwog IHsKICAgIGlmIChkaXN0YW5jZSA+IDApCiAgICAgIHsKLUBAIC01OTUsNyArNTk1LDcgQEAKK0BA IC01ODMsNyArNTgzLDcgQEAgZ2VuX2ZyYW1lX2xvY2Fsc19hZGRyZXNzIChzdHJ1Y3QgYWdlbnRf ZXhwciAqYXgpCiAgICAgcHJvZ3JhbW1pbmcgaW4gTUwsIGl0IHdvdWxkIGJlIGNsZWFyZXIgd2h5 IHRoZXNlIGFyZSB0aGUgc2FtZQogICAgIHRoaW5nLiAgKi8KICBzdGF0aWMgdm9pZApAQCAtMTE3 NCwxNiArMTMyOCwxNiBAQCBJbmRleDogZ2RiLTguMC9nZGIvYXgtZ2RiLmMKICB7CiAgICAvKiBJ dCB3b3VsZCBzdWZmaWNlIHRvIHNpbXBseSBwdXNoIHRoZSBvZmZzZXQgYW5kIGFkZCBpdCwgYnV0 IHRoaXMKICAgICAgIG1ha2VzIGl0IGVhc2llciB0byByZWFkIHBvc2l0aXZlIGFuZCBuZWdhdGl2 ZSBvZmZzZXRzIGluIHRoZQotQEAgLTEyNTEsNyArMTI1MSw3IEBACitAQCAtMTI1NCw3ICsxMjU0 LDcgQEAgZ2VuX2FkZHJlc3Nfb2YgKHN0cnVjdCBheHNfdmFsdWUgKnZhbHVlKQorICAgIHN0cnVj dHVyZS4gICovCiAgc3RhdGljIHZvaWQKLSBnZW5fYml0ZmllbGRfcmVmIChzdHJ1Y3QgZXhwcmVz c2lvbiAqZXhwLCBzdHJ1Y3QgYWdlbnRfZXhwciAqYXgsCi0gCQkgIHN0cnVjdCBheHNfdmFsdWUg KnZhbHVlLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKLS0JCSAgaW50IHN0YXJ0LCBpbnQgZW5kKQotKwkJ ICBMT05HRVNUIHN0YXJ0LCBMT05HRVNUIGVuZCkKKyBnZW5fYml0ZmllbGRfcmVmIChzdHJ1Y3Qg YWdlbnRfZXhwciAqYXgsIHN0cnVjdCBheHNfdmFsdWUgKnZhbHVlLAorLQkJICBzdHJ1Y3QgdHlw ZSAqdHlwZSwgaW50IHN0YXJ0LCBpbnQgZW5kKQorKwkJICBzdHJ1Y3QgdHlwZSAqdHlwZSwgTE9O R0VTVCBzdGFydCwgTE9OR0VTVCAgZW5kKQogIHsKICAgIC8qIE5vdGUgdGhhdCBvcHNbaV0gZmV0 Y2hlcyA4IDw8IGkgYml0cy4gICovCiAgICBzdGF0aWMgZW51bSBhZ2VudF9vcCBvcHNbXQotQEAg LTEyODYsMTMgKzEyODYsMTMgQEAKK0BAIC0xMjg5LDEzICsxMjg5LDEzIEBAIGdlbl9iaXRmaWVs ZF9yZWYgKHN0cnVjdCBhZ2VudF9leHByICpheCwgc3RydWN0IGF4c192YWx1ZSAqdmFsdWUsCiAg CiAgICAvKiBUaGUgZmlyc3QgYW5kIG9uZS1hZnRlci1sYXN0IGJpdHMgaW4gdGhlIGZpZWxkLCBi dXQgcm91bmRlZCBkb3duCiAgICAgICBhbmQgdXAgdG8gYnl0ZSBib3VuZGFyaWVzLiAgKi8KQEAg LTEyMDIsMjkgKzEzNTYsMjkgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2F4LWdkYi5jCiAgCiAgICAv KiBUaGUgaW5kZXggaW4gb3BzIG9mIHRoZSBvcGNvZGUgd2UncmUgY29uc2lkZXJpbmcuICAqLwog ICAgaW50IG9wOwotQEAgLTE0MTEsNyArMTQxMSw3IEBACitAQCAtMTQxMyw3ICsxNDEzLDcgQEAg Z2VuX2JpdGZpZWxkX3JlZiAoc3RydWN0IGFnZW50X2V4cHIgKmF4LCBzdHJ1Y3QgYXhzX3ZhbHVl ICp2YWx1ZSwKKyAKICBzdGF0aWMgdm9pZAotIGdlbl9wcmltaXRpdmVfZmllbGQgKHN0cnVjdCBl eHByZXNzaW9uICpleHAsCi0gCQkgICAgIHN0cnVjdCBhZ2VudF9leHByICpheCwgc3RydWN0IGF4 c192YWx1ZSAqdmFsdWUsCisgZ2VuX3ByaW1pdGl2ZV9maWVsZCAoc3RydWN0IGFnZW50X2V4cHIg KmF4LCBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSwKIC0JCSAgICAgaW50IG9mZnNldCwgaW50IGZp ZWxkbm8sIHN0cnVjdCB0eXBlICp0eXBlKQogKwkJICAgICBMT05HRVNUIG9mZnNldCwgaW50IGZp ZWxkbm8sIHN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIC8qIElzIHRoaXMgYSBiaXRmaWVsZD8g ICovCiAgICBpZiAoVFlQRV9GSUVMRF9QQUNLRUQgKHR5cGUsIGZpZWxkbm8pKQotQEAgLTE0MzYs NyArMTQzNiw3IEBACitAQCAtMTQzNyw3ICsxNDM3LDcgQEAgZ2VuX3ByaW1pdGl2ZV9maWVsZCAo c3RydWN0IGFnZW50X2V4cHIgKmF4LCBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSwKKyAKICBzdGF0 aWMgaW50Ci0gZ2VuX3N0cnVjdF9yZWZfcmVjdXJzaXZlIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhw LCBzdHJ1Y3QgYWdlbnRfZXhwciAqYXgsCi0gCQkJICBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSwK KyBnZW5fc3RydWN0X3JlZl9yZWN1cnNpdmUgKHN0cnVjdCBhZ2VudF9leHByICpheCwgc3RydWN0 IGF4c192YWx1ZSAqdmFsdWUsCiAtCQkJICBjb25zdCBjaGFyICpmaWVsZCwgaW50IG9mZnNldCwg c3RydWN0IHR5cGUgKnR5cGUpCiArCQkJICBjb25zdCBjaGFyICpmaWVsZCwgTE9OR0VTVCBvZmZz ZXQsIHN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIGludCBpLCByc2x0OwogICAgaW50IG5iYXNl cyA9IFRZUEVfTl9CQVNFQ0xBU1NFUyAodHlwZSk7Ci1JbmRleDogZ2RiLTguMC9nZGIvYXgtZ2Vu ZXJhbC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9heC1nZW5lcmFsLmMJMjAx Ny0wOC0xOSAyMDowNDo1OS43ODk3ODA1MzggKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9heC1nZW5l cmFsLmMJMjAxNy0wOC0xOSAyMDowNToxMC4wNTk4NzY2MTcgKzAyMDAKLUBAIC0xNzcsNyArMTc3 LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvYXgtZ2VuZXJhbC5jIGIvZ2RiL2F4LWdlbmVyYWwuYwor aW5kZXggZTA3YTQ2OTc5Ny4uMzUyOThkZDY4NiAxMDA2NDQKKy0tLSBhL2dkYi9heC1nZW5lcmFs LmMKKysrKyBiL2dkYi9heC1nZW5lcmFsLmMKK0BAIC0xNzcsNyArMTc3LDcgQEAgYXhfemVyb19l eHQgKHN0cnVjdCBhZ2VudF9leHByICp4LCBpbnQgbikKICAKICAvKiBBcHBlbmQgYSB0cmFjZV9x dWljayBpbnN0cnVjdGlvbiB0byBFWFBSLCB0byByZWNvcmQgTiBieXRlcy4gICovCiAgdm9pZApA QCAtMTIzMywxMSArMTM4NywxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvYXgtZ2VuZXJhbC5jCiAg ewogICAgLyogTiBtdXN0IGZpdCBpbiBhIGJ5dGUuICAqLwogICAgaWYgKG4gPCAwIHx8IG4gPiAy NTUpCi1JbmRleDogZ2RiLTguMC9nZGIvYXguaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3Jp Zy9nZGIvYXguaAkyMDE3LTA4LTE5IDIwOjA0OjU5Ljc4OTc4MDUzOCArMDIwMAotKysrIGdkYi04 LjAvZ2RiL2F4LmgJMjAxNy0wOC0xOSAyMDowNToxMC4wNTk4NzY2MTcgKzAyMDAKLUBAIC0yMDUs NyArMjA1LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvYXguaCBiL2dkYi9heC5oCitpbmRleCAwNjZj NWVlMjFlLi5lNDA3YjViNjY1IDEwMDY0NAorLS0tIGEvZ2RiL2F4LmgKKysrKyBiL2dkYi9heC5o CitAQCAtMTkzLDcgKzE5Myw3IEBAIGV4dGVybiB2b2lkIGF4X2V4dCAoc3RydWN0IGFnZW50X2V4 cHIgKkVYUFIsIGludCBOKTsKICBleHRlcm4gdm9pZCBheF96ZXJvX2V4dCAoc3RydWN0IGFnZW50 X2V4cHIgKkVYUFIsIGludCBOKTsKICAKICAvKiBBcHBlbmQgYSB0cmFjZV9xdWljayBpbnN0cnVj dGlvbiB0byBFWFBSLCB0byByZWNvcmQgTiBieXRlcy4gICovCkBAIC0xMjQ2LDExICsxNDAwLDEx IEBAIEluZGV4OiBnZGItOC4wL2dkYi9heC5oCiAgCiAgLyogQXBwZW5kIGEgZ290byBvcCB0byBF WFBSLiAgT1AgaXMgdGhlIGFjdHVhbCBvcCAobXVzdCBiZSBhb3BfZ290byBvcgogICAgIGFvcF9p Zl9nb3RvKS4gIFdlIGFzc3VtZSB3ZSBkb24ndCBrbm93IHRoZSB0YXJnZXQgb2Zmc2V0IHlldCwK LUluZGV4OiBnZGItOC4wL2dkYi9icmVha3BvaW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4w Lm9yaWcvZ2RiL2JyZWFrcG9pbnQuYwkyMDE3LTA4LTE5IDIwOjA0OjU5Ljc5Mjc4MDU2NiArMDIw MAotKysrIGdkYi04LjAvZ2RiL2JyZWFrcG9pbnQuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA2Mzg3 NjY1NCArMDIwMAotQEAgLTIyMjUsOSArMjIyNSw5IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFr cG9pbnQuYyBiL2dkYi9icmVha3BvaW50LmMKK2luZGV4IGZiMTI5YmYzOGEuLjdmNDdhZjk0MWMg MTAwNjQ0CistLS0gYS9nZGIvYnJlYWtwb2ludC5jCisrKysgYi9nZGIvYnJlYWtwb2ludC5jCitA QCAtMjA2OCw5ICsyMDY4LDkgQEAgc2hvdWxkX2JlX2luc2VydGVkIChzdHJ1Y3QgYnBfbG9jYXRp b24gKmJsKQogIAl7CiAgCSAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLAogIAkJCSAg ICAgICJpbmZydW46IHN0ZXBwaW5nIHBhc3Qgbm9uLXN0ZXBwYWJsZSB3YXRjaHBvaW50LiAiCkBA IC0xMjYyLDE2ICsxNDE2LDE2IEBAIEluZGV4OiBnZGItOC4wL2dkYi9icmVha3BvaW50LmMKICAJ fQogICAgICAgIHJldHVybiAwOwogICAgICB9Ci1AQCAtNzE1MSw3ICs3MTUxLDcgQEAKLSAKK0BA IC02ODY2LDcgKzY4NjYsNyBAQCBicmVha3BvaW50X2FkZHJlc3NfbWF0Y2ggKGNvbnN0IGFkZHJl c3Nfc3BhY2UgKmFzcGFjZTEsIENPUkVfQUREUiBhZGRyMSwKICBzdGF0aWMgaW50Ci0gYnJlYWtw b2ludF9hZGRyZXNzX21hdGNoX3JhbmdlIChzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqYXNwYWNlMSwg Q09SRV9BRERSIGFkZHIxLAotLQkJCQlpbnQgbGVuMSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKmFz cGFjZTIsCi0rCQkJCUxPTkdFU1QgbGVuMSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKmFzcGFjZTIs CisgYnJlYWtwb2ludF9hZGRyZXNzX21hdGNoX3JhbmdlIChjb25zdCBhZGRyZXNzX3NwYWNlICph c3BhY2UxLAorIAkJCQlDT1JFX0FERFIgYWRkcjEsCistCQkJCWludCBsZW4xLCBjb25zdCBhZGRy ZXNzX3NwYWNlICphc3BhY2UyLAorKwkJCQlMT05HRVNUIGxlbjEsIGNvbnN0IGFkZHJlc3Nfc3Bh Y2UgKmFzcGFjZTIsCiAgCQkJCUNPUkVfQUREUiBhZGRyMikKICB7CiAgICByZXR1cm4gKChnZGJh cmNoX2hhc19nbG9iYWxfYnJlYWtwb2ludHMgKHRhcmdldF9nZGJhcmNoICgpKQotQEAgLTExNDQ0 LDcgKzExNDQ0LDcgQEAKK0BAIC0xMDk5Myw3ICsxMDk5Myw3IEBAIGNhbl91c2VfaGFyZHdhcmVf d2F0Y2hwb2ludCAoc3RydWN0IHZhbHVlICp2KQogIAkJICAgICAgJiYgVFlQRV9DT0RFICh2dHlw ZSkgIT0gVFlQRV9DT0RFX0FSUkFZKSkKICAJCXsKICAJCSAgQ09SRV9BRERSIHZhZGRyID0gdmFs dWVfYWRkcmVzcyAodik7CkBAIC0xMjgwLDExICsxNDM0LDExIEBAIEluZGV4OiBnZGItOC4wL2dk Yi9icmVha3BvaW50LmMKICAJCSAgaW50IG51bV9yZWdzOwogIAogIAkJICBsZW4gPSAodGFyZ2V0 X2V4YWN0X3dhdGNocG9pbnRzCi1JbmRleDogZ2RiLTguMC9nZGIvYnJlYWtwb2ludC5oCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9icmVha3BvaW50LmgJMjAxNy0wOC0xOSAyMDow NDo1OS43OTM3ODA1NzYgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9icmVha3BvaW50LmgJMjAxNy0w OC0xOSAyMDowNToxMC4wNjM4NzY2NTQgKzAyMDAKLUBAIC0yNTAsNyArMjUwLDcgQEAKK2RpZmYg LS1naXQgYS9nZGIvYnJlYWtwb2ludC5oIGIvZ2RiL2JyZWFrcG9pbnQuaAoraW5kZXggZWVkMmM5 NjhmMi4uNDhlMjhhOGZlYyAxMDA2NDQKKy0tLSBhL2dkYi9icmVha3BvaW50LmgKKysrKyBiL2dk Yi9icmVha3BvaW50LmgKK0BAIC0yNTIsNyArMjUyLDcgQEAgc3RydWN0IGJwX3RhcmdldF9pbmZv CiAgCiAgICAvKiBJZiB0aGlzIGlzIGEgcmFuZ2VkIGJyZWFrcG9pbnQsIHRoZW4gdGhpcyBmaWVs ZCBjb250YWlucyB0aGUKICAgICAgIGxlbmd0aCBvZiB0aGUgcmFuZ2UgdGhhdCB3aWxsIGJlIHdh dGNoZWQgZm9yIGV4ZWN1dGlvbi4gICovCkBAIC0xMjkzLDIwICsxNDQ3LDIwIEBAIEluZGV4OiBn ZGItOC4wL2dkYi9icmVha3BvaW50LmgKICAKICAgIC8qIElmIHRoZSBicmVha3BvaW50IGxpdmVz IGluIG1lbW9yeSBhbmQgcmVhZGluZyB0aGF0IG1lbW9yeSB3b3VsZAogICAgICAgZ2l2ZSBiYWNr IHRoZSBicmVha3BvaW50LCBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCBjb250ZW50cywgdGhlbgot QEAgLTQyMiw3ICs0MjIsNyBAQAorQEAgLTQyOSw3ICs0MjksNyBAQCBwdWJsaWM6CiAgICAvKiBG b3IgaGFyZHdhcmUgd2F0Y2hwb2ludHMsIHRoZSBzaXplIG9mIHRoZSBtZW1vcnkgcmVnaW9uIGJl aW5nCiAgICAgICB3YXRjaGVkLiAgRm9yIGhhcmR3YXJlIHJhbmdlZCBicmVha3BvaW50cywgdGhl IHNpemUgb2YgdGhlCiAgICAgICBicmVha3BvaW50IHJhbmdlLiAgKi8KLS0gIGludCBsZW5ndGg7 Ci0rICBMT05HRVNUIGxlbmd0aDsKKy0gIGludCBsZW5ndGggPSAwOworKyAgTE9OR0VTVCBsZW5n dGggPSAwOwogIAogICAgLyogVHlwZSBvZiBoYXJkd2FyZSB3YXRjaHBvaW50LiAgKi8KLSAgIGVu dW0gdGFyZ2V0X2h3X2JwX3R5cGUgd2F0Y2hwb2ludF90eXBlOwotSW5kZXg6IGdkYi04LjAvZ2Ri L2MtbGFuZy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9jLWxhbmcuYwkyMDE3 LTA4LTE5IDIwOjA0OjU5Ljc5Mzc4MDU3NiArMDIwMAotKysrIGdkYi04LjAvZ2RiL2MtbGFuZy5j CTIwMTctMDgtMTkgMjA6MDU6MTAuMDY0ODc2NjYzICswMjAwCi1AQCAtMTg2LDcgKzE4Niw3IEBA CisgICB0YXJnZXRfaHdfYnBfdHlwZSB3YXRjaHBvaW50X3R5cGUge307CitkaWZmIC0tZ2l0IGEv Z2RiL2MtbGFuZy5jIGIvZ2RiL2MtbGFuZy5jCitpbmRleCA4ZDk2Zjk0Y2JiLi5lYzk1NmY0NWMy IDEwMDY0NAorLS0tIGEvZ2RiL2MtbGFuZy5jCisrKysgYi9nZGIvYy1sYW5nLmMKK0BAIC0xODQs NyArMTg0LDcgQEAgY19wcmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0 IHVpX2ZpbGUgKnN0cmVhbSkKICAKICB2b2lkCiAgY19wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUg KnN0cmVhbSwgc3RydWN0IHR5cGUgKnR5cGUsIApAQCAtMTMxNSw3ICsxNDY5LDcgQEAgSW5kZXg6 IGdkYi04LjAvZ2RiL2MtbGFuZy5jCiAgCSAgICBjb25zdCBjaGFyICp1c2VyX2VuY29kaW5nLCBp bnQgZm9yY2VfZWxsaXBzZXMsCiAgCSAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9u cyAqb3B0aW9ucykKICB7Ci1AQCAtNjcyLDcgKzY3Miw3IEBACitAQCAtNjY2LDcgKzY2Niw3IEBA IGV2YWx1YXRlX3N1YmV4cF9jIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsIHN0cnVjdCBleHBy ZXNzaW9uICpleHAsCiAgCSAgfQogIAllbHNlCiAgCSAgewpAQCAtMTMyNCw3ICsxNDc4LDcgQEAg SW5kZXg6IGdkYi04LjAvZ2RiL2MtbGFuZy5jCiAgCiAgCSAgICAvKiBXcml0ZSB0aGUgdGVybWlu YXRpbmcgY2hhcmFjdGVyLiAgKi8KICAJICAgIGZvciAoaSA9IDA7IGkgPCBUWVBFX0xFTkdUSCAo dHlwZSk7ICsraSkKLUBAIC02ODEsNyArNjgxLDcgQEAKK0BAIC02NzUsNyArNjc1LDcgQEAgZXZh bHVhdGVfc3ViZXhwX2MgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwgc3RydWN0IGV4cHJlc3Np b24gKmV4cCwKICAJICAgIGlmIChzYXRpc2Z5X2V4cGVjdGVkKQogIAkgICAgICB7CiAgCQlMT05H RVNUIGxvd19ib3VuZCwgaGlnaF9ib3VuZDsKQEAgLTEzMzMsMTEgKzE0ODcsMTEgQEAgSW5kZXg6 IGdkYi04LjAvZ2RiL2MtbGFuZy5jCiAgCiAgCQlpZiAoZ2V0X2Rpc2NyZXRlX2JvdW5kcyAoVFlQ RV9JTkRFWF9UWVBFIChleHBlY3RfdHlwZSksCiAgCQkJCQkgJmxvd19ib3VuZCwgJmhpZ2hfYm91 bmQpIDwgMCkKLUluZGV4OiBnZGItOC4wL2dkYi9jLWxhbmcuaAotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi04LjAub3JpZy9nZGIvYy1sYW5nLmgJMjAxNy0wOC0xOSAyMDowNDo1OS43OTM3ODA1NzYgKzAy MDAKLSsrKyBnZGItOC4wL2dkYi9jLWxhbmcuaAkyMDE3LTA4LTE5IDIwOjA1OjEwLjA2NDg3NjY2 MyArMDIwMAotQEAgLTc3LDcgKzc3LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvYy1sYW5nLmggYi9n ZGIvYy1sYW5nLmgKK2luZGV4IDVjZTY0ODYxYzQuLjdiODUxODgwYjcgMTAwNjQ0CistLS0gYS9n ZGIvYy1sYW5nLmgKKysrKyBiL2dkYi9jLWxhbmcuaAorQEAgLTc3LDcgKzc3LDcgQEAgZXh0ZXJu IHZvaWQgY19wcmludF90eXBlZGVmIChzdHJ1Y3QgdHlwZSAqLAogIAkJCSAgICAgc3RydWN0IHVp X2ZpbGUgKik7CiAgCiAgZXh0ZXJuIHZvaWQgY192YWxfcHJpbnQgKHN0cnVjdCB0eXBlICosCkBA IC0xMzQ2LDcgKzE1MDAsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYy1sYW5nLmgKICAJCQkgc3Ry dWN0IHVpX2ZpbGUgKiwgaW50LAogIAkJCSBzdHJ1Y3QgdmFsdWUgKiwKICAJCQkgY29uc3Qgc3Ry dWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKik7Ci1AQCAtOTcsNyArOTcsNyBAQAorQEAgLTk3LDcg Kzk3LDcgQEAgZXh0ZXJuIHZvaWQgY19wcmludGNoYXIgKGludCwgc3RydWN0IHR5cGUgKiwgc3Ry dWN0IHVpX2ZpbGUgKik7CiAgZXh0ZXJuIHZvaWQgY19wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUg KiBzdHJlYW0sCiAgCQkJc3RydWN0IHR5cGUgKmVsdHR5cGUsCiAgCQkJY29uc3QgZ2RiX2J5dGUg KnN0cmluZywKQEAgLTEzNTUsMTEgKzE1MDksMTEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2MtbGFu Zy5oCiAgCQkJY29uc3QgY2hhciAqdXNlcl9lbmNvZGluZywKICAJCQlpbnQgZm9yY2VfZWxsaXBz ZXMsCiAgCQkJY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpOwotSW5k ZXg6IGdkYi04LjAvZ2RiL2MtdmFscHJpbnQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3Jp Zy9nZGIvYy12YWxwcmludC5jCTIwMTctMDgtMTkgMjA6MDQ6NTkuNzk0NzgwNTg1ICswMjAwCi0r KysgZ2RiLTguMC9nZGIvYy12YWxwcmludC5jCTIwMTctMDgtMTkgMjA6MDU6MTAuMDY0ODc2NjYz ICswMjAwCi1AQCAtMjQ0LDcgKzI0NCw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2MtdmFscHJpbnQu YyBiL2dkYi9jLXZhbHByaW50LmMKK2luZGV4IDk2ZTZjNTk3Y2YuLjA0NjQ2OWQ3YTQgMTAwNjQ0 CistLS0gYS9nZGIvYy12YWxwcmludC5jCisrKysgYi9nZGIvYy12YWxwcmludC5jCitAQCAtMjQ0 LDcgKzI0NCw3IEBAIGNfdmFsX3ByaW50X2FycmF5IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3Qg Z2RiX2J5dGUgKnZhbGFkZHIsCiAgICBpZiAoVFlQRV9MRU5HVEggKHR5cGUpID4gMCAmJiBUWVBF X0xFTkdUSCAodW5yZXNvbHZlZF9lbHR0eXBlKSA+IDApCiAgICAgIHsKICAgICAgICBMT05HRVNU IGxvd19ib3VuZCwgaGlnaF9ib3VuZDsKQEAgLTEzNjgsNyArMTUyMiw3IEBAIEluZGV4OiBnZGIt OC4wL2dkYi9jLXZhbHByaW50LmMKICAgICAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdl dF90eXBlX2FyY2ggKHR5cGUpOwogICAgICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0g Z2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgICAgICB1bnNpZ25lZCBpbnQgaSA9IDA7 CS8qIE51bWJlciBvZiBjaGFyYWN0ZXJzIHByaW50ZWQuICAqLwotQEAgLTMxOCw4ICszMTgsOCBA QAorQEAgLTMxOCw4ICszMTgsOCBAQCBjX3ZhbF9wcmludF9hcnJheSAoc3RydWN0IHR5cGUgKnR5 cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogIAkgIGlmIChjcF9pc192dGJsX3B0cl90eXBl IChlbHR0eXBlKSkKICAJICAgIHsKICAJICAgICAgaSA9IDE7CkBAIC0xMzc5LDcgKzE1MzMsNyBA QCBJbmRleDogZ2RiLTguMC9nZGIvYy12YWxwcmludC5jCiAgCSAgICB9CiAgCSAgZWxzZQogIAkg ICAgewotQEAgLTM5Niw3ICszOTYsNyBAQAorQEAgLTM5Niw3ICszOTYsNyBAQCBjX3ZhbF9wcmlu dF9zdHJ1Y3QgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAJ IC1mdnRhYmxlX3RodW5rcy4gIChPdGhlcndpc2UsIGxvb2sgdW5kZXIKICAJIFRZUEVfQ09ERV9Q VFIuKSAgKi8KICAgICAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF90eXBlX2FyY2gg KHR5cGUpOwpAQCAtMTM4OCw3ICsxNTQyLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2MtdmFscHJp bnQuYwogIAkJICAgICsgVFlQRV9GSUVMRF9CSVRQT1MgKHR5cGUsCiAgCQkJCQkgVlRCTF9GTkFE RFJfT0ZGU0VUKSAvIDgpOwogICAgICAgIHN0cnVjdCB0eXBlICpmaWVsZF90eXBlID0gVFlQRV9G SUVMRF9UWVBFICh0eXBlLCBWVEJMX0ZOQUREUl9PRkZTRVQpOwotQEAgLTQ5NSw3ICs0OTUsNyBA QAorQEAgLTQ5NSw3ICs0OTUsNyBAQCBjX3ZhbF9wcmludF9tZW1iZXJwdHIgKHN0cnVjdCB0eXBl ICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAKICB2b2lkCiAgY192YWxfcHJpbnQg KHN0cnVjdCB0eXBlICp0eXBlLApAQCAtMTM5NywxMSArMTU1MSwyOSBAQCBJbmRleDogZ2RiLTgu MC9nZGIvYy12YWxwcmludC5jCiAgCSAgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJl Y3Vyc2UsCiAgCSAgICAgc3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKICAJICAgICBjb25z dCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUluZGV4OiBnZGItOC4wL2dk Yi9jcC1hYmkuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvY3AtYWJpLmMJMjAx Ny0wOC0xOSAyMDowNDo1OS43OTQ3ODA1ODUgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9jcC1hYmku YwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA2NTg3NjY3MyArMDIwMAotQEAgLTY0LDEyICs2NCwxMiBA QAorZGlmZiAtLWdpdCBhL2dkYi9jb21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMgYi9nZGIvY29t cGlsZS9jb21waWxlLWMtc3VwcG9ydC5jCitpbmRleCA2Zjc1OWFiYjU0Li4xNGZjZWMzNGFjIDEw MDY0NAorLS0tIGEvZ2RiL2NvbXBpbGUvY29tcGlsZS1jLXN1cHBvcnQuYworKysrIGIvZ2RiL2Nv bXBpbGUvY29tcGlsZS1jLXN1cHBvcnQuYworQEAgLTMwNywxMSArMzA3LDExIEBAIGdlbmVyYXRl X3JlZ2lzdGVyX3N0cnVjdCAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsCisgCisgCSAgICAgIGRlZmF1bHQ6CisgCQlmcHJpbnRmX3VuZmlsdGVyZWQgKHN0 cmVhbSwKKy0JCQkJICAgICIgIHVuc2lnbmVkIGNoYXIgJXNbJWRdIgorKwkJCQkgICAgIiAgdW5z aWduZWQgY2hhciAlc1slc10iCisgCQkJCSAgICAiIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9f KCIKKyAJCQkJICAgICJfX0JJR0dFU1RfQUxJR05NRU5UX18pKSkiLAorIAkJCQkgICAgcmVnbmFt ZS5jX3N0ciAoKSwKKy0JCQkJICAgIFRZUEVfTEVOR1RIIChyZWd0eXBlKSk7CisrCQkJCSAgICBw dWxvbmdlc3QgKFRZUEVfTEVOR1RIIChyZWd0eXBlKSkpOworIAkgICAgICB9CisgCSAgICBmcHV0 c191bmZpbHRlcmVkICgiO1xuIiwgc3RyZWFtKTsKKyAJICB9CitkaWZmIC0tZ2l0IGEvZ2RiL2Nw LWFiaS5jIGIvZ2RiL2NwLWFiaS5jCitpbmRleCAxMWI4NDI0ODU2Li4xOTljZGFjMjZlIDEwMDY0 NAorLS0tIGEvZ2RiL2NwLWFiaS5jCisrKysgYi9nZGIvY3AtYWJpLmMKK0BAIC02NCwxMiArNjQs MTIgQEAgaXNfb3BlcmF0b3JfbmFtZSAoY29uc3QgY2hhciAqbmFtZSkKICAgIHJldHVybiAoKmN1 cnJlbnRfY3BfYWJpLmlzX29wZXJhdG9yX25hbWUpIChuYW1lKTsKICB9CiAgCkBAIC0xNDE2LDcg KzE1ODgsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvY3AtYWJpLmMKICAKICAgIGdkYl9hc3NlcnQg KGN1cnJlbnRfY3BfYWJpLmJhc2VjbGFzc19vZmZzZXQgIT0gTlVMTCk7CiAgCi1AQCAtOTYsNyAr OTYsNyBAQAorQEAgLTk2LDcgKzk2LDcgQEAgYmFzZWNsYXNzX29mZnNldCAoc3RydWN0IHR5cGUg KnR5cGUsIGludCBpbmRleCwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAgc3RydWN0IHZhbHVl ICoKICB2YWx1ZV92aXJ0dWFsX2ZuX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKiphcmcxcCwKICAJCQlz dHJ1Y3QgZm5fZmllbGQgKmYsIGludCBqLApAQCAtMTQyNSwxMSArMTU5NywxMSBAQCBJbmRleDog Z2RiLTguMC9nZGIvY3AtYWJpLmMKICB7CiAgICBpZiAoKGN1cnJlbnRfY3BfYWJpLnZpcnR1YWxf Zm5fZmllbGQpID09IE5VTEwpCiAgICAgIHJldHVybiBOVUxMOwotSW5kZXg6IGdkYi04LjAvZ2Ri L2NwLWFiaS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9jcC1hYmkuaAkyMDE3 LTA4LTE5IDIwOjA0OjU5Ljc5NDc4MDU4NSArMDIwMAotKysrIGdkYi04LjAvZ2RiL2NwLWFiaS5o CTIwMTctMDgtMTkgMjA6MDU6MTAuMDY1ODc2NjczICswMjAwCi1AQCAtMTA4LDcgKzEwOCw3IEBA CitkaWZmIC0tZ2l0IGEvZ2RiL2NwLWFiaS5oIGIvZ2RiL2NwLWFiaS5oCitpbmRleCA2YjgyZWFj ZDAxLi4xNTRjNGM4M2IxIDEwMDY0NAorLS0tIGEvZ2RiL2NwLWFiaS5oCisrKysgYi9nZGIvY3At YWJpLmgKK0BAIC0xMDgsNyArMTA4LDcgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfdmly dHVhbF9mbl9maWVsZCAoc3RydWN0IHZhbHVlICoqdmFsdWVwLAogIAkJCQkJICAgICBzdHJ1Y3Qg Zm5fZmllbGQgKmYsCiAgCQkJCQkgICAgIGludCBqLAogIAkJCQkJICAgICBzdHJ1Y3QgdHlwZSAq dHlwZSwKQEAgLTE0MzgsNyArMTYxMCw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9jcC1hYmkuaAog IAogIAogIC8qIFRyeSB0byBmaW5kIHRoZSBydW4tdGltZSB0eXBlIG9mIFZBTFVFLCB1c2luZyBD KysgcnVuLXRpbWUgdHlwZQotQEAgLTE0NCwxMSArMTQ0LDExIEBACitAQCAtMTQ0LDExICsxNDQs MTEgQEAgZXh0ZXJuIHN0cnVjdCB0eXBlICp2YWx1ZV9ydHRpX3R5cGUgKHN0cnVjdCB2YWx1ZSAq dmFsdWUsCiAgICAgY29udGVudHMgb2YgVkFMLiAgVGhlIHJlc3VsdCBpcyB0aGUgb2Zmc2V0IG9m IHRoZSBiYXNlY2xhc3MgdmFsdWUKICAgICByZWxhdGl2ZSB0byAodGhlIGFkZHJlc3Mgb2YpKEFS RykgKyBPRkZTRVQuICAqLwogIApAQCAtMTQ1NSw3ICsxNjI3LDcgQEAgSW5kZXg6IGdkYi04LjAv Z2RiL2NwLWFiaS5oCiAgCiAgLyogRGVzY3JpYmUgdGhlIHRhcmdldCBvZiBhIHBvaW50ZXIgdG8g bWV0aG9kLiAgQ09OVEVOVFMgaXMgdGhlIGJ5dGUKICAgICBwYXR0ZXJuIHJlcHJlc2VudGluZyB0 aGUgcG9pbnRlciB0byBtZXRob2QuICBUWVBFIGlzIHRoZSBwb2ludGVyIHRvCi1AQCAtMjI2LDEy ICsyMjYsMTIgQEAKK0BAIC0yMjYsMTIgKzIyNiwxMiBAQCBzdHJ1Y3QgY3BfYWJpX29wcwogICAg c3RydWN0IHZhbHVlICooKnZpcnR1YWxfZm5fZmllbGQpIChzdHJ1Y3QgdmFsdWUgKiphcmcxcCwK ICAJCQkJICAgICBzdHJ1Y3QgZm5fZmllbGQgKiBmLAogIAkJCQkgICAgIGludCBqLCBzdHJ1Y3Qg dHlwZSAqIHR5cGUsCkBAIC0xNDcyLDExICsxNjQ0LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9j cC1hYmkuaAogICAgdm9pZCAoKnByaW50X21ldGhvZF9wdHIpIChjb25zdCBnZGJfYnl0ZSAqY29u dGVudHMsCiAgCQkJICAgIHN0cnVjdCB0eXBlICp0eXBlLAogIAkJCSAgICBzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtKTsKLUluZGV4OiBnZGItOC4wL2dkYi9jcC12YWxwcmludC5jCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9jcC12YWxwcmludC5jCTIwMTctMDgtMTkgMjA6MDQ6NTku Nzk0NzgwNTg1ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvY3AtdmFscHJpbnQuYwkyMDE3LTA4LTE5 IDIwOjA1OjEwLjA2NTg3NjY3MyArMDIwMAotQEAgLTMzNiw3ICszMzYsNyBAQAorZGlmZiAtLWdp dCBhL2dkYi9jcC12YWxwcmludC5jIGIvZ2RiL2NwLXZhbHByaW50LmMKK2luZGV4IDYwOWRhYmI2 NjAuLjM4YmViNGQ2MmEgMTAwNjQ0CistLS0gYS9nZGIvY3AtdmFscHJpbnQuYworKysrIGIvZ2Ri L2NwLXZhbHByaW50LmMKK0BAIC0zMzUsNyArMzM1LDcgQEAgY3BfcHJpbnRfdmFsdWVfZmllbGRz IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHR5cGUgKnJlYWxfdHlwZSwKICAJCX0KICAJICAg ICAgZWxzZSBpZiAoaSA9PSB2cHRyX2ZpZWxkbm8gJiYgdHlwZSA9PSB2cHRyX2Jhc2V0eXBlKQog IAkJewpAQCAtMTQ4NSwxMSArMTY1NywxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvY3AtdmFscHJp bnQuYwogIAkJICBzdHJ1Y3QgdHlwZSAqaV90eXBlID0gVFlQRV9GSUVMRF9UWVBFICh0eXBlLCBp KTsKICAKICAJCSAgaWYgKHZhbHByaW50X2NoZWNrX3ZhbGlkaXR5IChzdHJlYW0sIGlfdHlwZSwg aV9vZmZzZXQsIHZhbCkpCi1JbmRleDogZ2RiLTguMC9nZGIvZC1sYW5nLmgKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItOC4wLm9yaWcvZ2RiL2QtbGFuZy5oCTIwMTctMDgtMTkgMjA6MDQ6NTkuNzk0Nzgw NTg1ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvZC1sYW5nLmgJMjAxNy0wOC0xOSAyMDowNToxMC4w NjU4NzY2NzMgKzAyMDAKLUBAIC04MSw3ICs4MSw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2QtbGFu Zy5oIGIvZ2RiL2QtbGFuZy5oCitpbmRleCBmNDcwNTBhYTMwLi42OWQ0ODI5ZGU2IDEwMDY0NAor LS0tIGEvZ2RiL2QtbGFuZy5oCisrKysgYi9nZGIvZC1sYW5nLmgKK0BAIC04MSw3ICs4MSw3IEBA IGV4dGVybiBzdHJ1Y3QgYmxvY2tfc3ltYm9sIGRfbG9va3VwX25lc3RlZF9zeW1ib2wgKHN0cnVj dCB0eXBlICosIGNvbnN0IGNoYXIgKiwKICAvKiBEZWZpbmVkIGluIGQtdmFscHJpbnQuYyAgKi8K ICAKICBleHRlcm4gdm9pZCBkX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsCkBAIC0xNDk4 LDExICsxNjcwLDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9kLWxhbmcuaAogIAkJCSBzdHJ1Y3Qg dWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJCQkgc3RydWN0IHZhbHVlICp2YWwsCiAg CQkJIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKTsKLUluZGV4OiBn ZGItOC4wL2dkYi9kLXZhbHByaW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2Ri L2QtdmFscHJpbnQuYwkyMDE3LTA4LTE5IDIwOjA0OjU5Ljc5NDc4MDU4NSArMDIwMAotKysrIGdk Yi04LjAvZ2RiL2QtdmFscHJpbnQuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA2NTg3NjY3MyArMDIw MAotQEAgLTczLDcgKzczLDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvZC12YWxwcmludC5jIGIvZ2Ri L2QtdmFscHJpbnQuYworaW5kZXggOWUxOGIyMmZmMS4uNDg3NzBiNjVhOCAxMDA2NDQKKy0tLSBh L2dkYi9kLXZhbHByaW50LmMKKysrKyBiL2dkYi9kLXZhbHByaW50LmMKK0BAIC03Myw3ICs3Myw3 IEBAIGR5bmFtaWNfYXJyYXlfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsCiAgCiAgLyogSW1wbGVt ZW50cyB0aGUgbGFfdmFsX3ByaW50IHJvdXRpbmUgZm9yIGxhbmd1YWdlIEQuICAqLwogIHZvaWQK QEAgLTE1MTEsMTIgKzE2ODMsMTIgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2QtdmFscHJpbnQuYwog ICAgICAgICAgICAgICBDT1JFX0FERFIgYWRkcmVzcywgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwg aW50IHJlY3Vyc2UsCiAgCSAgICAgc3RydWN0IHZhbHVlICp2YWwsCiAgICAgICAgICAgICAgIGNv bnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotSW5kZXg6IGdkYi04LjAv Z2RiL2R3YXJmMmxvYy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9kd2FyZjJs b2MuYwkyMDE3LTA4LTE5IDIwOjA0OjU5Ljc5Njc4MDYwNCArMDIwMAotKysrIGdkYi04LjAvZ2Ri L2R3YXJmMmxvYy5jCTIwMTctMDgtMTkgMjA6MDc6MDAuNjkyOTExNjA1ICswMjAwCi1AQCAtMTgy Niw3ICsxODI2LDcgQEAKLSAgIGZvciAoOyBpIDwgYy0+bl9waWVjZXMgJiYgb2Zmc2V0IDwgbWF4 X29mZnNldDsgaSsrKQorZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJsb2MuYyBiL2dkYi9kd2FyZjJs b2MuYworaW5kZXggZDI3NDJiYmQ5MS4uZDQwYTUyYzRlMCAxMDA2NDQKKy0tLSBhL2dkYi9kd2Fy ZjJsb2MuYworKysrIGIvZ2RiL2R3YXJmMmxvYy5jCitAQCAtMTgxOCw3ICsxODE4LDcgQEAgcndf cGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYsIHN0cnVjdCB2YWx1ZSAqZnJvbSkKKyAgIGZv ciAoOyBpIDwgYy0+cGllY2VzLnNpemUgKCkgJiYgb2Zmc2V0IDwgbWF4X29mZnNldDsgaSsrKQog ICAgICB7CiAgICAgICAgc3RydWN0IGR3YXJmX2V4cHJfcGllY2UgKnAgPSAmYy0+cGllY2VzW2ld OwogLSAgICAgIHNpemVfdCB0aGlzX3NpemVfYml0cywgdGhpc19zaXplOwpAQCAtMTUyNCw3ICsx Njk2LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2R3YXJmMmxvYy5jCiAgCiAgICAgICAgdGhpc19z aXplX2JpdHMgPSBwLT5zaXplIC0gYml0c190b19za2lwOwogICAgICAgIGlmICh0aGlzX3NpemVf Yml0cyA+IG1heF9vZmZzZXQgLSBvZmZzZXQpCi1AQCAtMjA3Myw3ICsyMDczLDcgQEAKK0BAIC0y MDY1LDcgKzIwNjUsNyBAQCB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdG8sIHN0 cnVjdCB2YWx1ZSAqZnJvbSkKICAKICBzdGF0aWMgaW50CiAgY2hlY2tfcGllY2VkX3N5bnRoZXRp Y19wb2ludGVyIChjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbHVlLCBMT05HRVNUIGJpdF9vZmZzZXQs CkBAIC0xNTMzLDggKzE3MDUsOCBAQCBJbmRleDogZ2RiLTguMC9nZGIvZHdhcmYybG9jLmMKICB7 CiAgICBzdHJ1Y3QgcGllY2VfY2xvc3VyZSAqYwogICAgICA9IChzdHJ1Y3QgcGllY2VfY2xvc3Vy ZSAqKSB2YWx1ZV9jb21wdXRlZF9jbG9zdXJlICh2YWx1ZSk7Ci1AQCAtMjA4Niw3ICsyMDg2LDcg QEAKLSAgIGZvciAoaSA9IDA7IGkgPCBjLT5uX3BpZWNlcyAmJiBiaXRfbGVuZ3RoID4gMDsgaSsr KQorQEAgLTIwNzgsNyArMjA3OCw3IEBAIGNoZWNrX3BpZWNlZF9zeW50aGV0aWNfcG9pbnRlciAo Y29uc3Qgc3RydWN0IHZhbHVlICp2YWx1ZSwgTE9OR0VTVCBiaXRfb2Zmc2V0LAorICAgZm9yIChp ID0gMDsgaSA8IGMtPnBpZWNlcy5zaXplICgpICYmIGJpdF9sZW5ndGggPiAwOyBpKyspCiAgICAg IHsKICAgICAgICBzdHJ1Y3QgZHdhcmZfZXhwcl9waWVjZSAqcCA9ICZjLT5waWVjZXNbaV07CiAt ICAgICAgc2l6ZV90IHRoaXNfc2l6ZV9iaXRzID0gcC0+c2l6ZTsKQEAgLTE1NDIsNyArMTcxNCw3 IEBAIEluZGV4OiBnZGItOC4wL2dkYi9kd2FyZjJsb2MuYwogIAogICAgICAgIGlmIChiaXRfb2Zm c2V0ID4gMCkKICAJewotQEAgLTIxOTQsOCArMjE5NCw4IEBACitAQCAtMjE4MSw4ICsyMTgxLDgg QEAgaW5kaXJlY3RfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnZhbHVlKQogICAgc3RydWN0 IHR5cGUgKnR5cGU7CiAgICBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWU7CiAgICBzdHJ1Y3QgZHdh cmYyX2xvY2V4cHJfYmF0b24gYmF0b247CkBAIC0xNTUzLDggKzE3MjUsOCBAQCBJbmRleDogZ2Ri LTguMC9nZGIvZHdhcmYybG9jLmMKICAgIHN0cnVjdCBkd2FyZl9leHByX3BpZWNlICpwaWVjZSA9 IE5VTEw7CiAgICBMT05HRVNUIGJ5dGVfb2Zmc2V0OwogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVf b3JkZXI7Ci1AQCAtMjIxMiw3ICsyMjEyLDcgQEAKLSAgIGZvciAoaSA9IDA7IGkgPCBjLT5uX3Bp ZWNlcyAmJiBiaXRfbGVuZ3RoID4gMDsgaSsrKQorQEAgLTIxOTksNyArMjE5OSw3IEBAIGluZGly ZWN0X3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2YWx1ZSkKKyAgIGZvciAoaSA9IDA7IGkg PCBjLT5waWVjZXMuc2l6ZSAoKSAmJiBiaXRfbGVuZ3RoID4gMDsgaSsrKQogICAgICB7CiAgICAg ICAgc3RydWN0IGR3YXJmX2V4cHJfcGllY2UgKnAgPSAmYy0+cGllY2VzW2ldOwogLSAgICAgIHNp emVfdCB0aGlzX3NpemVfYml0cyA9IHAtPnNpemU7CkBAIC0xNTYyLDcgKzE3MzQsNyBAQCBJbmRl eDogZ2RiLTguMC9nZGIvZHdhcmYybG9jLmMKICAKICAgICAgICBpZiAoYml0X29mZnNldCA+IDAp CiAgCXsKLUBAIC0yNTAzLDkgKzI1MDMsOSBAQAorQEAgLTI0ODksOSArMjQ4OSw5IEBAIGlmIChm cmFtZSAhPSBOVUxMKSBzZWxlY3RfZnJhbWUgKGZyYW1lKTsKICAJY2FzZSBEV0FSRl9WQUxVRV9T VEFDSzoKICAJICB7CiAgCSAgICBzdHJ1Y3QgdmFsdWUgKnZhbHVlID0gY3R4LmZldGNoICgwKTsK QEAgLTE1NzMsMTMgKzE3NDUsMTMgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2R3YXJmMmxvYy5jCiAr CSAgICBVTE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdUSCAoc3Vib2JqX3R5cGUpOwogKwkgICAgVUxP TkdFU1QgbWF4ID0gVFlQRV9MRU5HVEggKHR5cGUpOwogIAkgICAgc3RydWN0IGdkYmFyY2ggKm9i amZpbGVfZ2RiYXJjaCA9IGdldF9vYmpmaWxlX2FyY2ggKG9iamZpbGUpOwotIAkgICAgc3RydWN0 IGNsZWFudXAgKmNsZWFudXA7CiAgCi1JbmRleDogZ2RiLTguMC9nZGIvZHdhcmYycmVhZC5jCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wOC0xOSAy MDowNDo1OS44MDA3ODA2NDEgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9kd2FyZjJyZWFkLmMJMjAx Ny0wOC0xOSAyMDowNToxMC4wNzI4NzY3MzggKzAyMDAKLUBAIC0yMDY0LDEyICsyMDY0LDEyIEBA CisgCSAgICBpZiAoc3Vib2JqX2J5dGVfb2Zmc2V0ICsgbGVuID4gbWF4KQorZGlmZiAtLWdpdCBh L2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCitpbmRleCA3MmQxNWE5NGQ4Li5m MTRmNWI1NjNhIDEwMDY0NAorLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYworKysrIGIvZ2RiL2R3YXJm MnJlYWQuYworQEAgLTIxNjUsMTIgKzIxNjUsMTIgQEAgZHdhcmYyX2NvbXBsZXhfbG9jYXRpb25f ZXhwcl9jb21wbGFpbnQgKHZvaWQpCiAgfQogIAogIHN0YXRpYyB2b2lkCkBAIC0xNTk2LDcgKzE3 NjgsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZHdhcmYycmVhZC5jCiAgfQogIAogIHN0YXRpYyB2 b2lkCi1AQCAtMTI4NjMsOCArMTI4NjMsOCBAQAorQEAgLTEzOTEwLDggKzEzOTEwLDggQEAgZHdh cmYyX2FkZF9maWVsZCAoc3RydWN0IGZpZWxkX2luZm8gKmZpcCwgc3RydWN0IGRpZV9pbmZvICpk aWUsCiAgCSAgICAgICAgIG9iamVjdCwgYW5kIHRoZW4gc3VidHJhY3Qgb2ZmIHRoZSBudW1iZXIg b2YgYml0cyBvZgogIAkgICAgICAgICB0aGUgZmllbGQgaXRzZWxmLiAgVGhlIHJlc3VsdCBpcyB0 aGUgYml0IG9mZnNldCBvZgogIAkgICAgICAgICB0aGUgTFNCIG9mIHRoZSBmaWVsZC4gICovCkBA IC0xNjA3LDExICsxNzc5LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9kd2FyZjJyZWFkLmMKICAK ICAJICAgICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2J5dGVfc2l6ZSwgY3UpOwog IAkgICAgICBpZiAoYXR0cikKLUluZGV4OiBnZGItOC4wL2dkYi9ldmFsLmMKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItOC4wLm9yaWcvZ2RiL2V2YWwuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgwMTc4MDY1 MSArMDIwMAotKysrIGdkYi04LjAvZ2RiL2V2YWwuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA3Mzg3 Njc0OCArMDIwMAotQEAgLTI5Nyw3ICsyOTcsOCBAQAorZGlmZiAtLWdpdCBhL2dkYi9ldmFsLmMg Yi9nZGIvZXZhbC5jCitpbmRleCA0NGY3YTRlZGZlLi5mM2FjY2E2YTY5IDEwMDY0NAorLS0tIGEv Z2RiL2V2YWwuYworKysrIGIvZ2RiL2V2YWwuYworQEAgLTMwMiw3ICszMDIsOCBAQCBldmFsdWF0 ZV9zdHJ1Y3RfdHVwbGUgKHN0cnVjdCB2YWx1ZSAqc3RydWN0X3ZhbCwKICAgIHdoaWxlICgtLW5h cmdzID49IDApCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdmFsdWUgKnZhbCA9IE5VTEw7CkBAIC0x NjIxLDcgKzE3OTMsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZXZhbC5jCiAgICAgICAgYmZkX2J5 dGUgKmFkZHI7CiAgCiAgICAgICAgZmllbGRubysrOwotQEAgLTM1OCw3ICszNTksNyBAQAorQEAg LTM2Myw3ICszNjQsNyBAQCBpbml0X2FycmF5X2VsZW1lbnQgKHN0cnVjdCB2YWx1ZSAqYXJyYXks IHN0cnVjdCB2YWx1ZSAqZWxlbWVudCwKICAJCSAgICBlbnVtIG5vc2lkZSBub3NpZGUsIExPTkdF U1QgbG93X2JvdW5kLCBMT05HRVNUIGhpZ2hfYm91bmQpCiAgewogICAgTE9OR0VTVCBpbmRleDsK QEAgLTE2MzAsNyArMTgwMiw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9ldmFsLmMKICAKICAgIGlm IChleHAtPmVsdHNbKnBvc10ub3Bjb2RlID09IEJJTk9QX0NPTU1BKQogICAgICB7Ci1AQCAtODAy LDExICs4MDMsMTEgQEAKK0BAIC04MDcsMTEgKzgwOCwxMSBAQCBiaW5vcF9wcm9tb3RlIChjb25z dCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbiAqbGFuZ3VhZ2UsIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNo LAogICAgICAvKiBGSVhNRTogQWxzbyBtaXhlZCBpbnRlZ3JhbC9ib29sZWFucywgd2l0aCByZXN1 bHQgYW4gaW50ZWdlci4gICovCiAgICAgIHsKICAgICAgICBjb25zdCBzdHJ1Y3QgYnVpbHRpbl90 eXBlICpidWlsdGluID0gYnVpbHRpbl90eXBlIChnZGJhcmNoKTsKQEAgLTE2NDUsMTYgKzE4MTcs MTYgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2V2YWwuYwogICAgICAgIGludCB1bnNpZ25lZF9vcGVy YXRpb247CiAgCiAgICAgICAgLyogRGV0ZXJtaW5lIHR5cGUgbGVuZ3RoIGFuZCBzaWduZWRuZXNz IGFmdGVyIHByb21vdGlvbiBmb3IKLUBAIC05ODgsNyArOTg5LDcgQEAKK0BAIC0xNTQ4LDcgKzE1 NDksNyBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlw ZSwKICAgIHN0cnVjdCB2YWx1ZSAqKmFyZ3ZlYzsKICAgIGludCBjb2RlOwogICAgaW50IGl4Owog LSAgbG9uZyBtZW1fb2Zmc2V0OwogKyAgTE9OR0VTVCBtZW1fb2Zmc2V0OwogICAgc3RydWN0IHR5 cGUgKiphcmdfdHlwZXM7Ci0gICBpbnQgc2F2ZV9wb3MxOwotICAgc3RydWN0IHN5bWJvbCAqZnVu Y3Rpb24gPSBOVUxMOwotQEAgLTExNjcsNyArMTE2OCw3IEBACisgCisgICBwYyA9ICgqcG9zKSsr OworQEAgLTE3MzEsNyArMTczMiw3IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0 IHR5cGUgKmV4cGVjdF90eXBlLAogIAkgIHN0cnVjdCB0eXBlICpyYW5nZV90eXBlID0gVFlQRV9J TkRFWF9UWVBFICh0eXBlKTsKICAJICBzdHJ1Y3QgdHlwZSAqZWxlbWVudF90eXBlID0gVFlQRV9U QVJHRVRfVFlQRSAodHlwZSk7CiAgCSAgc3RydWN0IHZhbHVlICphcnJheSA9IGFsbG9jYXRlX3Zh bHVlIChleHBlY3RfdHlwZSk7CkBAIC0xNjYzLDExICsxODM1LDExIEBAIEluZGV4OiBnZGItOC4w L2dkYi9ldmFsLmMKICAJICBMT05HRVNUIGxvd19ib3VuZCwgaGlnaF9ib3VuZCwgaW5kZXg7CiAg CiAgCSAgaWYgKGdldF9kaXNjcmV0ZV9ib3VuZHMgKHJhbmdlX3R5cGUsICZsb3dfYm91bmQsICZo aWdoX2JvdW5kKSA8IDApCi1JbmRleDogZ2RiLTguMC9nZGIvZi1sYW5nLmMKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItOC4wLm9yaWcvZ2RiL2YtbGFuZy5jCTIwMTctMDgtMTkgMjA6MDQ6NTkuODAxNzgw NjUxICswMjAwCi0rKysgZ2RiLTguMC9nZGIvZi1sYW5nLmMJMjAxNy0wOC0xOSAyMDowNToxMC4w NzM4NzY3NDggKzAyMDAKLUBAIC0xMDMsNyArMTAzLDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvZi1s YW5nLmMgYi9nZGIvZi1sYW5nLmMKK2luZGV4IGZlOTA5ZmYwZjAuLmM2NDAzYmZiMTUgMTAwNjQ0 CistLS0gYS9nZGIvZi1sYW5nLmMKKysrKyBiL2dkYi9mLWxhbmcuYworQEAgLTEwMSw3ICsxMDEs NyBAQCBmX3ByaW50Y2hhciAoaW50IGMsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtKQogIAogIHN0YXRpYyB2b2lkCiAgZl9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUg KnN0cmVhbSwgc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsCkBAIC0x Njc2LDExICsxODQ4LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9mLWxhbmcuYwogIAkgICAgY29u c3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiAgewogICAgY29uc3QgY2hh ciAqdHlwZV9lbmNvZGluZyA9IGZfZ2V0X2VuY29kaW5nICh0eXBlKTsKLUluZGV4OiBnZGItOC4w L2dkYi9mLWxhbmcuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvZi1sYW5nLmgJ MjAxNy0wOC0xOSAyMDowNDo1OS44MDI3ODA2NjAgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9mLWxh bmcuaAkyMDE3LTA4LTE5IDIwOjA1OjEwLjA3Mzg3Njc0OCArMDIwMAotQEAgLTMwLDcgKzMwLDcg QEAKK2RpZmYgLS1naXQgYS9nZGIvZi1sYW5nLmggYi9nZGIvZi1sYW5nLmgKK2luZGV4IDU2MzNi NDEyMWQuLmZiMDBmMzc0ODYgMTAwNjQ0CistLS0gYS9nZGIvZi1sYW5nLmgKKysrKyBiL2dkYi9m LWxhbmcuaAorQEAgLTMwLDcgKzMwLDcgQEAgZXh0ZXJuIHZvaWQgZl95eWVycm9yIChjb25zdCBj aGFyICopOwkvKiBEZWZpbmVkIGluIGYtZXhwLnkgKi8KICBleHRlcm4gdm9pZCBmX3ByaW50X3R5 cGUgKHN0cnVjdCB0eXBlICosIGNvbnN0IGNoYXIgKiwgc3RydWN0IHVpX2ZpbGUgKiwgaW50LAog IAkJCSAgaW50LCBjb25zdCBzdHJ1Y3QgdHlwZV9wcmludF9vcHRpb25zICopOwogIApAQCAtMTY4 OSwxMiArMTg2MSwxMiBAQCBJbmRleDogZ2RiLTguMC9nZGIvZi1sYW5nLmgKICAJCQkgc3RydWN0 IHVpX2ZpbGUgKiwgaW50LAogIAkJCSBzdHJ1Y3QgdmFsdWUgKiwKICAJCQkgY29uc3Qgc3RydWN0 IHZhbHVlX3ByaW50X29wdGlvbnMgKik7Ci1JbmRleDogZ2RiLTguMC9nZGIvZi12YWxwcmludC5j Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9mLXZhbHByaW50LmMJMjAxNy0wOC0x OSAyMDowNDo1OS44MDI3ODA2NjAgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9mLXZhbHByaW50LmMJ MjAxNy0wOC0xOSAyMDowNToxMC4wNzM4NzY3NDggKzAyMDAKLUBAIC0zOCw3ICszOCw3IEBACi0g c3RhdGljIHZvaWQgaW5mb19jb21tb25fY29tbWFuZCAoY2hhciAqLCBpbnQpOworZGlmZiAtLWdp dCBhL2dkYi9mLXZhbHByaW50LmMgYi9nZGIvZi12YWxwcmludC5jCitpbmRleCBiODc4ZDUyYjYy Li40Y2U3OGIxZDUyIDEwMDY0NAorLS0tIGEvZ2RiL2YtdmFscHJpbnQuYworKysrIGIvZ2RiL2Yt dmFscHJpbnQuYworQEAgLTM2LDcgKzM2LDcgQEAKKyAKICBzdGF0aWMgdm9pZCBmNzdfZ2V0X2R5 bmFtaWNfbGVuZ3RoX29mX2FnZ3JlZ2F0ZSAoc3RydWN0IHR5cGUgKik7CiAgCiAtaW50IGY3N19h cnJheV9vZmZzZXRfdGJsW01BWF9GT1JUUkFOX0RJTVMgKyAxXVsyXTsKQEAgLTE3MDIsNyArMTg3 NCw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9mLXZhbHByaW50LmMKICAKICAvKiBBcnJheSB3aGlj aCBob2xkcyBvZmZzZXRzIHRvIGJlIGFwcGxpZWQgdG8gZ2V0IGEgcm93J3MgZWxlbWVudHMKICAg ICBmb3IgYSBnaXZlbiBhcnJheS4gIEFycmF5IGFsc28gaG9sZHMgdGhlIHNpemUgb2YgZWFjaCBz dWJhcnJheS4gICovCi1AQCAtNzMsOCArNzMsOCBAQAorQEAgLTcxLDggKzcxLDggQEAgZjc3X2dl dF91cHBlcmJvdW5kIChzdHJ1Y3QgdHlwZSAqdHlwZSkKICBzdGF0aWMgdm9pZAogIGY3N19nZXRf ZHluYW1pY19sZW5ndGhfb2ZfYWdncmVnYXRlIChzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CkBAIC0x NzEzLDcgKzE4ODUsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZi12YWxwcmludC5jCiAgCiAgICAv KiBSZWN1cnNpdmVseSBnbyBhbGwgdGhlIHdheSBkb3duIGludG8gYSBwb3NzaWJseSBtdWx0aS1k aW1lbnNpb25hbAogICAgICAgRjc3IGFycmF5IGFuZCBnZXQgdGhlIGJvdW5kcy4gIEZvciBzaW1w bGUgYXJyYXlzLCB0aGlzIGlzIHByZXR0eQotQEAgLTEwNiw3ICsxMDYsNyBAQAorQEAgLTEwNCw3 ICsxMDQsNyBAQCBmNzdfZ2V0X2R5bmFtaWNfbGVuZ3RoX29mX2FnZ3JlZ2F0ZSAoc3RydWN0IHR5 cGUgKnR5cGUpCiAgc3RhdGljIHZvaWQKICBmNzdfcHJpbnRfYXJyYXlfMSAoaW50IG5zcywgaW50 IG5kaW1lbnNpb25zLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJCSAgIGNvbnN0IGdkYl9ieXRlICp2 YWxhZGRyLApAQCAtMTcyMiw3ICsxODk0LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2YtdmFscHJp bnQuYwogIAkJICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCiAgCQkgICBj b25zdCBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJCSAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9v cHRpb25zICpvcHRpb25zLAotQEAgLTExNSw3ICsxMTUsNyBAQAorQEAgLTExMyw3ICsxMTMsNyBA QCBmNzdfcHJpbnRfYXJyYXlfMSAoaW50IG5zcywgaW50IG5kaW1lbnNpb25zLCBzdHJ1Y3QgdHlw ZSAqdHlwZSwKICAgIHN0cnVjdCB0eXBlICpyYW5nZV90eXBlID0gVFlQRV9JTkRFWF9UWVBFIChj aGVja190eXBlZGVmICh0eXBlKSk7CiAgICBDT1JFX0FERFIgYWRkciA9IGFkZHJlc3MgKyBlbWJl ZGRlZF9vZmZzZXQ7CiAgICBMT05HRVNUIGxvd2VyYm91bmQsIHVwcGVyYm91bmQ7CkBAIC0xNzMx LDcgKzE5MDMsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZi12YWxwcmludC5jCiAgCiAgICBnZXRf ZGlzY3JldGVfYm91bmRzIChyYW5nZV90eXBlLCAmbG93ZXJib3VuZCwgJnVwcGVyYm91bmQpOwog IAotQEAgLTE3Nyw3ICsxNzcsNyBAQAorQEAgLTE3NSw3ICsxNzUsNyBAQCBmNzdfcHJpbnRfYXJy YXlfMSAoaW50IG5zcywgaW50IG5kaW1lbnNpb25zLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKICAKICBz dGF0aWMgdm9pZAogIGY3N19wcmludF9hcnJheSAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdk Yl9ieXRlICp2YWxhZGRyLApAQCAtMTc0MCw3ICsxOTEyLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2Ri L2YtdmFscHJpbnQuYwogIAkJIENPUkVfQUREUiBhZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3Ry ZWFtLAogIAkJIGludCByZWN1cnNlLAogIAkJIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsLAotQEAg LTIxNiw3ICsyMTYsNyBAQAorQEAgLTIxNCw3ICsyMTQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGdlbmVyaWNfdmFsX3ByaW50X2RlY29yYXRpb25zIGZfZGVjb3JhdGlvbnMgPQogICAgIGZ1bmN0 aW9uOyB0aGV5IGFyZSBpZGVudGljYWwuICAqLwogIAogIHZvaWQKQEAgLTE3NDksMTEgKzE5MjEs MTEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2YtdmFscHJpbnQuYwogIAkgICAgIENPUkVfQUREUiBh ZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJICAgICBzdHJ1 Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAogIAkgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmlu dF9vcHRpb25zICpvcHRpb25zKQotSW5kZXg6IGdkYi04LjAvZ2RiL2ZpbmR2YXIuYwotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvZmluZHZhci5jCTIwMTctMDgtMTkgMjA6MDQ6NTku ODAyNzgwNjYwICswMjAwCi0rKysgZ2RiLTguMC9nZGIvZmluZHZhci5jCTIwMTctMDgtMTkgMjA6 MDU6MTAuMDc0ODc2NzU3ICswMjAwCi1AQCAtODE3LDcgKzgxNyw3IEBACitkaWZmIC0tZ2l0IGEv Z2RiL2ZpbmR2YXIuYyBiL2dkYi9maW5kdmFyLmMKK2luZGV4IDJiYzIwOTViZjcuLmNlZDg0MTg2 NTkgMTAwNjQ0CistLS0gYS9nZGIvZmluZHZhci5jCisrKysgYi9nZGIvZmluZHZhci5jCitAQCAt ODIxLDcgKzgyMSw3IEBAIHN0cnVjdCB2YWx1ZSAqCiAgZGVmYXVsdF92YWx1ZV9mcm9tX3JlZ2lz dGVyIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHR5cGUgKnR5cGUsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVnbnVtLCBzdHJ1Y3QgZnJhbWVfaWQgZnJhbWVf aWQpCiAgewpAQCAtMTc2Miw3ICsxOTM0LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2ZpbmR2YXIu YwogICAgc3RydWN0IHZhbHVlICp2YWx1ZSA9IGFsbG9jYXRlX3ZhbHVlICh0eXBlKTsKICAgIHN0 cnVjdCBmcmFtZV9pbmZvICpmcmFtZTsKICAKLUBAIC04NjEsNyArODYxLDcgQEAKK0BAIC04NjUs NyArODY1LDcgQEAgcmVhZF9mcmFtZV9yZWdpc3Rlcl92YWx1ZSAoc3RydWN0IHZhbHVlICp2YWx1 ZSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lKQogICAgTE9OR0VTVCBvZmZzZXQgPSAwOwogICAg TE9OR0VTVCByZWdfb2Zmc2V0ID0gdmFsdWVfb2Zmc2V0ICh2YWx1ZSk7CiAgICBpbnQgcmVnbnVt ID0gVkFMVUVfUkVHTlVNICh2YWx1ZSk7CkBAIC0xNzcxLDcgKzE5NDMsNyBAQCBJbmRleDogZ2Ri LTguMC9nZGIvZmluZHZhci5jCiAgCiAgICBnZGJfYXNzZXJ0IChWQUxVRV9MVkFMICh2YWx1ZSkg PT0gbHZhbF9yZWdpc3Rlcik7CiAgCi1AQCAtODc2LDcgKzg3Niw3IEBACitAQCAtODgwLDcgKzg4 MCw3IEBAIHJlYWRfZnJhbWVfcmVnaXN0ZXJfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdmFsdWUsIHN0 cnVjdCBmcmFtZV9pbmZvICpmcmFtZSkKICAgIHdoaWxlIChsZW4gPiAwKQogICAgICB7CiAgICAg ICAgc3RydWN0IHZhbHVlICpyZWd2YWwgPSBnZXRfZnJhbWVfcmVnaXN0ZXJfdmFsdWUgKGZyYW1l LCByZWdudW0pOwpAQCAtMTc4MCwxMSArMTk1MiwxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvZmlu ZHZhci5jCiAgCiAgICAgICAgLyogSWYgdGhlIHJlZ2lzdGVyIGxlbmd0aCBpcyBsYXJnZXIgdGhh biB0aGUgbnVtYmVyIG9mIGJ5dGVzCiAgICAgICAgICAgcmVtYWluaW5nIHRvIGNvcHksIHRoZW4g b25seSBjb3B5IHRoZSBhcHByb3ByaWF0ZSBieXRlcy4gICovCi1JbmRleDogZ2RiLTguMC9nZGIv ZnJhbWUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvZnJhbWUuYwkyMDE3LTA4 LTE5IDIwOjA0OjU5LjgwMzc4MDY2OSArMDIwMAotKysrIGdkYi04LjAvZ2RiL2ZyYW1lLmMJMjAx Ny0wOC0xOSAyMDowNToxMC4wNzQ4NzY3NTcgKzAyMDAKLUBAIC0xMzc1LDcgKzEzNzUsNyBAQAor ZGlmZiAtLWdpdCBhL2dkYi9mcmFtZS5jIGIvZ2RiL2ZyYW1lLmMKK2luZGV4IGU2NDM4MjM3MTYu Ljk1ZTZiMjMyNTQgMTAwNjQ0CistLS0gYS9nZGIvZnJhbWUuYworKysrIGIvZ2RiL2ZyYW1lLmMK K0BAIC0xMzg2LDcgKzEzODYsNyBAQCBkZXByZWNhdGVkX2ZyYW1lX3JlZ2lzdGVyX3JlYWQgKHN0 cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgaW50IHJlZ251bSwKICAKICBpbnQKICBnZXRfZnJhbWVf cmVnaXN0ZXJfYnl0ZXMgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgaW50IHJlZ251bSwKQEAg LTE3OTMsNyArMTk2NSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9mcmFtZS5jCiAgCQkJICBpbnQg Km9wdGltaXplZHAsIGludCAqdW5hdmFpbGFibGVwKQogIHsKICAgIHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoID0gZ2V0X2ZyYW1lX2FyY2ggKGZyYW1lKTsKLUBAIC0xNDA0LDcgKzE0MDQsNyBAQAor QEAgLTE0MTUsNyArMTQxNSw3IEBAIGdldF9mcmFtZV9yZWdpc3Rlcl9ieXRlcyAoc3RydWN0IGZy YW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLAogICAgICB9CiAgICBpZiAobGVuID4gbWF4c2l6 ZSkKICAgICAgZXJyb3IgKF8oIkJhZCBkZWJ1ZyBpbmZvcm1hdGlvbiBkZXRlY3RlZDogIgpAQCAt MTgwMiwxMSArMTk3NCwxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvZnJhbWUuYwogIAogICAgLyog Q29weSB0aGUgZGF0YS4gICovCiAgICB3aGlsZSAobGVuID4gMCkKLUluZGV4OiBnZGItOC4wL2dk Yi9mcmFtZS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9mcmFtZS5oCTIwMTct MDgtMTkgMjA6MDQ6NTkuODAzNzgwNjY5ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvZnJhbWUuaAky MDE3LTA4LTE5IDIwOjA1OjEwLjA3NDg3Njc1NyArMDIwMAotQEAgLTYwMCw3ICs2MDAsNyBAQAor ZGlmZiAtLWdpdCBhL2dkYi9mcmFtZS5oIGIvZ2RiL2ZyYW1lLmgKK2luZGV4IDBlZDdhMTRkMDMu LjQ3MDU4MDVjNmUgMTAwNjQ0CistLS0gYS9nZGIvZnJhbWUuaAorKysrIGIvZ2RiL2ZyYW1lLmgK K0BAIC02MDEsNyArNjAxLDcgQEAgZXh0ZXJuIHZvaWQgcHV0X2ZyYW1lX3JlZ2lzdGVyIChzdHJ1 Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGludCByZWdudW0sCiAgICAgY29udGVudHMgYXJlIG9wdGlt aXplZCBvdXQgb3IgdW5hdmFpbGFibGUsIHNldCAqT1BUSU1JWkVEUCwKICAgICAqVU5BVkFJTEFC TEVQIGFjY29yZGluZ2x5LiAgKi8KICBleHRlcm4gaW50IGdldF9mcmFtZV9yZWdpc3Rlcl9ieXRl cyAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLApAQCAtMTgxNSwyMCArMTk4 Nyw2MSBAQCBJbmRleDogZ2RiLTguMC9nZGIvZnJhbWUuaAogIAkJCQkgICAgIGdkYl9ieXRlICpt eWFkZHIsCiAgCQkJCSAgICAgaW50ICpvcHRpbWl6ZWRwLCBpbnQgKnVuYXZhaWxhYmxlcCk7CiAg Ci1JbmRleDogZ2RiLTguMC9nZGIvZ2RidHlwZXMuYwotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAu b3JpZy9nZGIvZ2RidHlwZXMuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgwNDc4MDY3OSArMDIwMAot KysrIGdkYi04LjAvZ2RiL2dkYnR5cGVzLmMJMjAxNy0wOC0xOSAyMDowNToxMC4wNzU4NzY3NjYg KzAyMDAKLUBAIC0yODA3LDcgKzI4MDcsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9nZGJhcmNoLmMg Yi9nZGIvZ2RiYXJjaC5jCitpbmRleCAwMDczOTJjZDZhLi5kZThkYjE5YzQ0IDEwMDY0NAorLS0t IGEvZ2RiL2dkYmFyY2guYworKysrIGIvZ2RiL2dkYmFyY2guYworQEAgLTE4MDUsNyArMTgwNSw3 IEBAIHNldF9nZGJhcmNoX3djaGFyX3NpZ25lZCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCisg fQorIAorIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKgorLWdkYmFyY2hfZmxvYXRmb3JtYXRf Zm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBjb25zdCBjaGFyICpuYW1lLCBpbnQg bGVuZ3RoKQorK2dkYmFyY2hfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBjb25zdCBjaGFyICpuYW1lLCBMT05HRVNUIGxlbmd0aCkKKyB7CisgICBnZGJfYXNz ZXJ0IChnZGJhcmNoICE9IE5VTEwpOworICAgZ2RiX2Fzc2VydCAoZ2RiYXJjaC0+ZmxvYXRmb3Jt YXRfZm9yX3R5cGUgIT0gTlVMTCk7CitkaWZmIC0tZ2l0IGEvZ2RiL2dkYmFyY2guaCBiL2dkYi9n ZGJhcmNoLmgKK2luZGV4IGQyZTZiNmY2M2UuLmNiZjMzODVkYjcgMTAwNjQ0CistLS0gYS9nZGIv Z2RiYXJjaC5oCisrKysgYi9nZGIvZ2RiYXJjaC5oCitAQCAtMTk4LDggKzE5OCw4IEBAIGV4dGVy biB2b2lkIHNldF9nZGJhcmNoX3djaGFyX3NpZ25lZCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs IGludCB3Y2hhcl9zaWduZWQpCisgICAgTkFNRSwgaWYgbm9uLU5VTEwsIGlzIHRoZSB0eXBlIG5h bWUsIHdoaWNoIG1heSBiZSB1c2VkIHRvIGRpc3Rpbmd1aXNoCisgICAgZGlmZmVyZW50IHRhcmdl dCBmb3JtYXRzIG9mIHRoZSBzYW1lIGxlbmd0aC4gKi8KKyAKKy10eXBlZGVmIGNvbnN0IHN0cnVj dCBmbG9hdGZvcm1hdCAqKiAoZ2RiYXJjaF9mbG9hdGZvcm1hdF9mb3JfdHlwZV9mdHlwZSkgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuZ3RoKTsKKy1l eHRlcm4gY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqIGdkYmFyY2hfZmxvYXRmb3JtYXRfZm9y X3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVu Z3RoKTsKKyt0eXBlZGVmIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKiAoZ2RiYXJjaF9mbG9h dGZvcm1hdF9mb3JfdHlwZV9mdHlwZSkgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBjb25zdCBj aGFyICpuYW1lLCBMT05HRVNUIGxlbmd0aCk7CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBmbG9hdGZv cm1hdCAqKiBnZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zvcl90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwgY29uc3QgY2hhciAqbmFtZSwgTE9OR0VTVCBsZW5ndGgpOworIGV4dGVybiB2b2lkIHNl dF9nZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zvcl90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwg Z2RiYXJjaF9mbG9hdGZvcm1hdF9mb3JfdHlwZV9mdHlwZSAqZmxvYXRmb3JtYXRfZm9yX3R5cGUp OworIAorIC8qIEZvciBtb3N0IHRhcmdldHMsIGEgcG9pbnRlciBvbiB0aGUgdGFyZ2V0IGFuZCBp dHMgcmVwcmVzZW50YXRpb24gYXMgYW4KK2RpZmYgLS1naXQgYS9nZGIvZ2RiYXJjaC5zaCBiL2dk Yi9nZGJhcmNoLnNoCitpbmRleCA2NDU5YjEyNzQ3Li4wYjcyYWNlZWExIDEwMDc1NQorLS0tIGEv Z2RiL2dkYmFyY2guc2gKKysrKyBiL2dkYi9nZGJhcmNoLnNoCitAQCAtMzg4LDcgKzM4OCw3IEBA IHY7aW50O3djaGFyX3NpZ25lZDs7OzE7LTE7MQorICMgUmV0dXJucyB0aGUgZmxvYXRpbmctcG9p bnQgZm9ybWF0IHRvIGJlIHVzZWQgZm9yIHZhbHVlcyBvZiBsZW5ndGggTEVOR1RILgorICMgTkFN RSwgaWYgbm9uLU5VTEwsIGlzIHRoZSB0eXBlIG5hbWUsIHdoaWNoIG1heSBiZSB1c2VkIHRvIGRp c3Rpbmd1aXNoCisgIyBkaWZmZXJlbnQgdGFyZ2V0IGZvcm1hdHMgb2YgdGhlIHNhbWUgbGVuZ3Ro LgorLW07Y29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqO2Zsb2F0Zm9ybWF0X2Zvcl90eXBlO2Nv bnN0IGNoYXIgKm5hbWUsIGludCBsZW5ndGg7bmFtZSwgbGVuZ3RoOzA7ZGVmYXVsdF9mbG9hdGZv cm1hdF9mb3JfdHlwZTs7MAorK207Y29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqO2Zsb2F0Zm9y bWF0X2Zvcl90eXBlO2NvbnN0IGNoYXIgKm5hbWUsIExPTkdFU1QgbGVuZ3RoO25hbWUsIGxlbmd0 aDswO2RlZmF1bHRfZmxvYXRmb3JtYXRfZm9yX3R5cGU7OzAKKyAKKyAjIEZvciBtb3N0IHRhcmdl dHMsIGEgcG9pbnRlciBvbiB0aGUgdGFyZ2V0IGFuZCBpdHMgcmVwcmVzZW50YXRpb24gYXMgYW4K KyAjIGFkZHJlc3MgaW4gR0RCIGhhdmUgdGhlIHNhbWUgc2l6ZSBhbmQgImxvb2sgdGhlIHNhbWUi LiAgRm9yIHN1Y2ggYQorZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5jIGIvZ2RiL2dkYnR5cGVz LmMKK2luZGV4IGEyNWUwYTg0ZTkuLjc3NWYxMjA4NDUgMTAwNjQ0CistLS0gYS9nZGIvZ2RidHlw ZXMuYworKysrIGIvZ2RiL2dkYnR5cGVzLmMKK0BAIC0yODE4LDcgKzI4MTgsNyBAQCBmbG9hdGZv cm1hdF9mcm9tX3R5cGUgKGNvbnN0IHN0cnVjdCB0eXBlICp0eXBlKQogICAgIGxlYXN0IGFzIGxv bmcgYXMgT0JKRklMRS4gICovCiAgCiAgc3RydWN0IHR5cGUgKgotLWluaXRfdHlwZSAoc3RydWN0 IG9iamZpbGUgKm9iamZpbGUsIGVudW0gdHlwZV9jb2RlIGNvZGUsIGludCBsZW5ndGgsCi0raW5p dF90eXBlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgZW51bSB0eXBlX2NvZGUgY29kZSwgTE9O R0VTVCBsZW5ndGgsCistaW5pdF90eXBlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgZW51bSB0 eXBlX2NvZGUgY29kZSwgaW50IGJpdCwKKytpbml0X3R5cGUgKHN0cnVjdCBvYmpmaWxlICpvYmpm aWxlLCBlbnVtIHR5cGVfY29kZSBjb2RlLCBMT05HRVNUIGJpdCwKICAJICAgY29uc3QgY2hhciAq bmFtZSkKICB7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKLUBAIC0zMTE2LDggKzMxMTYsOCBAQAor QEAgLTMxNTAsOCArMzE1MCw4IEBAIGlzX3B1YmxpY19hbmNlc3RvciAoc3RydWN0IHR5cGUgKmJh c2UsIHN0cnVjdCB0eXBlICpkY2xhc3MpCiAgCiAgc3RhdGljIGludAogIGlzX3VuaXF1ZV9hbmNl c3Rvcl93b3JrZXIgKHN0cnVjdCB0eXBlICpiYXNlLCBzdHJ1Y3QgdHlwZSAqZGNsYXNzLApAQCAt MTgzOSw3ICsyMDUyLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2dkYnR5cGVzLmMKICAJCQkgICBD T1JFX0FERFIgYWRkcmVzcywgc3RydWN0IHZhbHVlICp2YWwpCiAgewogICAgaW50IGksIGNvdW50 ID0gMDsKLUBAIC0zMTI4LDcgKzMxMjgsNyBAQAorQEAgLTMxNjIsNyArMzE2Miw3IEBAIGlzX3Vu aXF1ZV9hbmNlc3Rvcl93b3JrZXIgKHN0cnVjdCB0eXBlICpiYXNlLCBzdHJ1Y3QgdHlwZSAqZGNs YXNzLAogICAgZm9yIChpID0gMDsgaSA8IFRZUEVfTl9CQVNFQ0xBU1NFUyAoZGNsYXNzKSAmJiBj b3VudCA8IDI7ICsraSkKICAgICAgewogICAgICAgIHN0cnVjdCB0eXBlICppdGVyOwpAQCAtMTg0 OCw3ICsyMDYxLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2dkYnR5cGVzLmMKICAKICAgICAgICBp dGVyID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9CQVNFQ0xBU1MgKGRjbGFzcywgaSkpOwogIAotQEAg LTMxNjksNyArMzE2OSw3IEBACitAQCAtMzIwMyw3ICszMjAzLDcgQEAgaXNfdW5pcXVlX2FuY2Vz dG9yX3dvcmtlciAoc3RydWN0IHR5cGUgKmJhc2UsIHN0cnVjdCB0eXBlICpkY2xhc3MsCiAgaW50 CiAgaXNfdW5pcXVlX2FuY2VzdG9yIChzdHJ1Y3QgdHlwZSAqYmFzZSwgc3RydWN0IHZhbHVlICp2 YWwpCiAgewpAQCAtMTg1Nyw3ICsyMDcwLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2dkYnR5cGVz LmMKICAKICAgIHJldHVybiBpc191bmlxdWVfYW5jZXN0b3Jfd29ya2VyIChiYXNlLCB2YWx1ZV90 eXBlICh2YWwpLCAmb2Zmc2V0LAogIAkJCQkgICAgdmFsdWVfY29udGVudHNfZm9yX3ByaW50aW5n ICh2YWwpLAotQEAgLTQ0MTUsNyArNDQxNSw3IEBACitAQCAtNDQ0OSw3ICs0NDQ5LDcgQEAgcmVj dXJzaXZlX2R1bXBfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBzcGFjZXMpCiAgICAgICAg YnJlYWs7CiAgICAgIH0KICAgIHB1dHNfZmlsdGVyZWQgKCJcbiIpOwpAQCAtMTg2NiwyMCArMjA3 OSwyMCBAQCBJbmRleDogZ2RiLTguMC9nZGIvZ2RidHlwZXMuYwogICAgaWYgKFRZUEVfT0JKRklM RV9PV05FRCAodHlwZSkpCiAgICAgIHsKICAgICAgICBwcmludGZpX2ZpbHRlcmVkIChzcGFjZXMs ICJvYmpmaWxlICIpOwotQEAgLTQ4NzUsNyArNDg3NSw3IEBACitAQCAtNDg5MCw3ICs0ODkwLDcg QEAgY29weV90eXBlIChjb25zdCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICAKICBzdHJ1Y3QgdHlwZSAq CiAgYXJjaF90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLS0JICAgZW51bSB0eXBlX2Nv ZGUgY29kZSwgaW50IGxlbmd0aCwgY29uc3QgY2hhciAqbmFtZSkKLSsJICAgZW51bSB0eXBlX2Nv ZGUgY29kZSwgTE9OR0VTVCBsZW5ndGgsIGNvbnN0IGNoYXIgKm5hbWUpCistCSAgIGVudW0gdHlw ZV9jb2RlIGNvZGUsIGludCBiaXQsIGNvbnN0IGNoYXIgKm5hbWUpCisrCSAgIGVudW0gdHlwZV9j b2RlIGNvZGUsIExPTkdFU1QgYml0LCBjb25zdCBjaGFyICpuYW1lKQogIHsKICAgIHN0cnVjdCB0 eXBlICp0eXBlOwogIAotSW5kZXg6IGdkYi04LjAvZ2RiL2dkYnR5cGVzLmgKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItOC4wLm9yaWcvZ2RiL2dkYnR5cGVzLmgJMjAxNy0wOC0xOSAyMDowNDo1OS44MDU3 ODA2ODggKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9nZGJ0eXBlcy5oCTIwMTctMDgtMTkgMjA6MDU6 MTAuMDc2ODc2Nzc2ICswMjAwCi1AQCAtNzg3LDcgKzc4Nyw3IEBACitkaWZmIC0tZ2l0IGEvZ2Ri L2dkYnR5cGVzLmggYi9nZGIvZ2RidHlwZXMuaAoraW5kZXggZDkyZmZjMjI4Yi4uYzdlY2YzMDU1 NCAxMDA2NDQKKy0tLSBhL2dkYi9nZGJ0eXBlcy5oCisrKysgYi9nZGIvZ2RidHlwZXMuaAorQEAg LTc4Miw3ICs3ODIsNyBAQCBzdHJ1Y3QgdHlwZQogICAgICAgdHlwZV9sZW5ndGhfdW5pdHMgZnVu Y3Rpb24gc2hvdWxkIGJlIHVzZWQgaW4gb3JkZXIgdG8gZ2V0IHRoZSBsZW5ndGgKICAgICAgIGV4 cHJlc3NlZCBpbiB0YXJnZXQgYWRkcmVzc2FibGUgbWVtb3J5IHVuaXRzLiAgKi8KICAKQEAgLTE4 ODgsNyArMjEwMSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9nZGJ0eXBlcy5oCiAgCiAgICAvKiAq IENvcmUgdHlwZSwgc2hhcmVkIGJ5IGEgZ3JvdXAgb2YgcXVhbGlmaWVkIHR5cGVzLiAgKi8KICAK LUBAIC0xNjY1LDcgKzE2NjUsNyBAQAorQEAgLTE2NjIsNyArMTY2Miw3IEBAIGV4dGVybiB1bnNp Z25lZCBpbnQgdHlwZV9sZW5ndGhfdW5pdHMgKHN0cnVjdCB0eXBlICp0eXBlKTsKICAKICAvKiAq IEhlbHBlciBmdW5jdGlvbiB0byBjb25zdHJ1Y3Qgb2JqZmlsZS1vd25lZCB0eXBlcy4gICovCiAg CkBAIC0xODk3LDcgKzIxMTAsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZ2RidHlwZXMuaAogIAkJ CSAgICAgICBjb25zdCBjaGFyICopOwogIGV4dGVybiBzdHJ1Y3QgdHlwZSAqaW5pdF9pbnRlZ2Vy X3R5cGUgKHN0cnVjdCBvYmpmaWxlICosIGludCwgaW50LAogIAkJCQkgICAgICAgY29uc3QgY2hh ciAqKTsKLUBAIC0xNjgyLDcgKzE2ODIsNyBAQAorQEAgLTE2NzksNyArMTY3OSw3IEBAIGV4dGVy biBzdHJ1Y3QgdHlwZSAqaW5pdF9wb2ludGVyX3R5cGUgKHN0cnVjdCBvYmpmaWxlICosIGludCwg Y29uc3QgY2hhciAqLAogIAkJCQkgICAgICAgc3RydWN0IHR5cGUgKik7CiAgCiAgLyogSGVscGVy IGZ1bmN0aW9ucyB0byBjb25zdHJ1Y3QgYXJjaGl0ZWN0dXJlLW93bmVkIHR5cGVzLiAgKi8KQEAg LTE5MDYsMTEgKzIxMTksMTEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2dkYnR5cGVzLmgKICAJCQkg ICAgICAgY29uc3QgY2hhciAqKTsKICBleHRlcm4gc3RydWN0IHR5cGUgKmFyY2hfaW50ZWdlcl90 eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqLCBpbnQsIGludCwKICAJCQkJICAgICAgIGNvbnN0IGNoYXIg Kik7Ci1JbmRleDogZ2RiLTguMC9nZGIvZ251LXYyLWFiaS5jCi09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTguMC5vcmlnL2dkYi9nbnUtdjItYWJpLmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MDU3ODA2ODgg KzAyMDAKLSsrKyBnZGItOC4wL2dkYi9nbnUtdjItYWJpLmMJMjAxNy0wOC0xOSAyMDowNToxMC4w NzY4NzY3NzYgKzAyMDAKLUBAIC04Miw3ICs4Miw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2dudS12 Mi1hYmkuYyBiL2dkYi9nbnUtdjItYWJpLmMKK2luZGV4IGMyNWIyMzA4OWMuLjAwYzUxYzRiODYg MTAwNjQ0CistLS0gYS9nZGIvZ251LXYyLWFiaS5jCisrKysgYi9nZGIvZ251LXYyLWFiaS5jCitA QCAtODIsNyArODIsNyBAQCBnbnV2Ml9pc19vcGVyYXRvcl9uYW1lIChjb25zdCBjaGFyICpuYW1l KQogICAgIFRZUEUgaXMgdGhlIHR5cGUgaW4gd2hpY2ggRiBpcyBsb2NhdGVkLiAgKi8KICBzdGF0 aWMgc3RydWN0IHZhbHVlICoKICBnbnV2Ml92aXJ0dWFsX2ZuX2ZpZWxkIChzdHJ1Y3QgdmFsdWUg KiphcmcxcCwgc3RydWN0IGZuX2ZpZWxkICogZiwgaW50IGosCkBAIC0xOTE5LDcgKzIxMzIsNyBA QCBJbmRleDogZ2RiLTguMC9nZGIvZ251LXYyLWFiaS5jCiAgewogICAgc3RydWN0IHZhbHVlICph cmcxID0gKmFyZzFwOwogICAgc3RydWN0IHR5cGUgKnR5cGUxID0gY2hlY2tfdHlwZWRlZiAodmFs dWVfdHlwZSAoYXJnMSkpOwotQEAgLTMzOCw3ICszMzgsNyBAQAorQEAgLTMzOCw3ICszMzgsNyBA QCB2Yl9tYXRjaCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBpbmRleCwgc3RydWN0IHR5cGUgKmJh c2V0eXBlKQogICAgIHRhcmdldCkuICBUaGUgcmVzdWx0IGlzIHRoZSBvZmZzZXQgb2YgdGhlIGJh c2VjbGFzcyB2YWx1ZSByZWxhdGl2ZQogICAgIHRvICh0aGUgYWRkcmVzcyBvZikoQVJHKSArIE9G RlNFVC4gICovCiAgCkBAIC0xOTI4LDcgKzIxNDEsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZ251 LXYyLWFiaS5jCiAgZ251djJfYmFzZWNsYXNzX29mZnNldCAoc3RydWN0IHR5cGUgKnR5cGUsIGlu dCBpbmRleCwKICAJCQljb25zdCBiZmRfYnl0ZSAqdmFsYWRkciwgTE9OR0VTVCBlbWJlZGRlZF9v ZmZzZXQsCiAgCQkJQ09SRV9BRERSIGFkZHJlc3MsIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsKQot QEAgLTM1OCw4ICszNTgsNyBAQAorQEAgLTM1OCw4ICszNTgsNyBAQCBnbnV2Ml9iYXNlY2xhc3Nf b2Zmc2V0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGluZGV4LAogIAkgIGlmICh2Yl9tYXRjaCAo dHlwZSwgaSwgYmFzZXR5cGUpKQogIAkgICAgewogIAkgICAgICBzdHJ1Y3QgdHlwZSAqZmllbGRf dHlwZTsKQEAgLTE5MzgsNyArMjE1MSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9nbnUtdjItYWJp LmMKICAJICAgICAgQ09SRV9BRERSIGFkZHI7CiAgCiAgCSAgICAgIGZpZWxkX3R5cGUgPSBjaGVj a190eXBlZGVmIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkpKTsKLUBAIC0zODMsNyArMzgyLDcg QEAKK0BAIC0zODMsNyArMzgyLDcgQEAgZ251djJfYmFzZWNsYXNzX29mZnNldCAoc3RydWN0IHR5 cGUgKnR5cGUsIGludCBpbmRleCwKICAJICAvKiBEb24ndCBnbyB0aHJvdWdoIGJhc2VjbGFzc19v ZmZzZXQsIGFzIHRoYXQgd3JhcHMKICAJICAgICBleGNlcHRpb25zLCB0aHVzLCBpbm5lciBleGNl cHRpb25zIHdvdWxkIGJlIHdyYXBwZWQgbW9yZQogIAkgICAgIHRoYW4gb25jZS4gICovCkBAIC0x OTQ3LDExICsyMTYwLDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9nbnUtdjItYWJpLmMKICAJICAg IGdudXYyX2Jhc2VjbGFzc19vZmZzZXQgKHR5cGUsIGksIHZhbGFkZHIsCiAgCQkJCSAgICBlbWJl ZGRlZF9vZmZzZXQsIGFkZHJlc3MsIHZhbCk7CiAgCi1JbmRleDogZ2RiLTguMC9nZGIvZ251LXYz LWFiaS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9nbnUtdjMtYWJpLmMJMjAx Ny0wOC0xOSAyMDowNDo1OS44MDY3ODA2OTggKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9nbnUtdjMt YWJpLmMJMjAxNy0wOC0xOSAyMDowNToxMC4wNzc4NzY3ODUgKzAyMDAKLUBAIC0xMDksNyArMTA5 LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvZ251LXYzLWFiaS5jIGIvZ2RiL2dudS12My1hYmkuYwor aW5kZXggMmFjY2M2MGVmYy4uYTQyYzRkNDg3ZiAxMDA2NDQKKy0tLSBhL2dkYi9nbnUtdjMtYWJp LmMKKysrKyBiL2dkYi9nbnUtdjMtYWJpLmMKK0BAIC0xMDksNyArMTA5LDcgQEAgYnVpbGRfZ2Ri X3Z0YWJsZV90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqYXJjaCkKICB7CiAgICBzdHJ1Y3QgdHlwZSAq dDsKICAgIHN0cnVjdCBmaWVsZCAqZmllbGRfbGlzdCwgKmZpZWxkOwpAQCAtMTk2MCw3ICsyMTcz LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2dudS12My1hYmkuYwogIAogICAgc3RydWN0IHR5cGUg KnZvaWRfcHRyX3R5cGUKICAgICAgPSBidWlsdGluX3R5cGUgKGFyY2gpLT5idWlsdGluX2RhdGFf cHRyOwotQEAgLTE4NSw3ICsxODUsNyBAQAorQEAgLTE4NSw3ICsxODUsNyBAQCB2dGFibGVfcHRy ZGlmZl90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCkKICAvKiBSZXR1cm4gdGhlIG9mZnNl dCBmcm9tIHRoZSBzdGFydCBvZiB0aGUgaW1hZ2luYXJ5IGBzdHJ1Y3QKICAgICBnZGJfZ251X3Yz X2FiaV92dGFibGUnIG9iamVjdCB0byB0aGUgdnRhYmxlJ3MgImFkZHJlc3MgcG9pbnQiCiAgICAg KGkuZS4sIHdoZXJlIG9iamVjdHMnIHZpcnR1YWwgdGFibGUgcG9pbnRlcnMgcG9pbnQpLiAgKi8K QEAgLTE5NjksNyArMjE4Miw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9nbnUtdjMtYWJpLmMKICB2 dGFibGVfYWRkcmVzc19wb2ludF9vZmZzZXQgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQogIHsK ICAgIHN0cnVjdCB0eXBlICp2dGFibGVfdHlwZQotQEAgLTQwOCw3ICs0MDgsNyBAQAorQEAgLTQw OCw3ICs0MDgsNyBAQCBnbnV2M19nZXRfdmlydHVhbF9mbiAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIHN0cnVjdCB2YWx1ZSAqY29udGFpbmVyLAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgogIGdu dXYzX3ZpcnR1YWxfZm5fZmllbGQgKHN0cnVjdCB2YWx1ZSAqKnZhbHVlX3AsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGZuX2ZpZWxkICpmLCBpbnQgaiwKQEAgLTE5NzgsNyArMjE5 MSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9nbnUtdjMtYWJpLmMKICB7CiAgICBzdHJ1Y3QgdHlw ZSAqdmFsdWVzX3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlICgqdmFsdWVfcCkpOwog ICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2g7Ci1AQCAtNDM4LDcgKzQzOCw3IEBACitAQCAtNDM4 LDcgKzQzOCw3IEBAIGdudXYzX3ZpcnR1YWxfZm5fZmllbGQgKHN0cnVjdCB2YWx1ZSAqKnZhbHVl X3AsCiAgCiAgICAgLTEgaXMgcmV0dXJuZWQgb24gZXJyb3IuICAqLwogIApAQCAtMTk4Nyw3ICsy MjAwLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2dudS12My1hYmkuYwogIGdudXYzX2Jhc2VjbGFz c19vZmZzZXQgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgaW5kZXgsCiAgCQkJY29uc3QgYmZkX2J5 dGUgKnZhbGFkZHIsIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAogIAkJCUNPUkVfQUREUiBhZGRy ZXNzLCBjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbCkKLUBAIC00NDcsNyArNDQ3LDcgQEAKK0BAIC00 NDcsNyArNDQ3LDcgQEAgZ251djNfYmFzZWNsYXNzX29mZnNldCAoc3RydWN0IHR5cGUgKnR5cGUs IGludCBpbmRleCwKICAgIHN0cnVjdCB0eXBlICpwdHJfdHlwZTsKICAgIHN0cnVjdCB2YWx1ZSAq dnRhYmxlOwogICAgc3RydWN0IHZhbHVlICp2YmFzZV9hcnJheTsKQEAgLTE5OTYsNyArMjIwOSw3 IEBAIEluZGV4OiBnZGItOC4wL2dkYi9nbnUtdjMtYWJpLmMKICAKICAgIC8qIERldGVybWluZSBh cmNoaXRlY3R1cmUuICAqLwogICAgZ2RiYXJjaCA9IGdldF90eXBlX2FyY2ggKHR5cGUpOwotQEAg LTQ3MCw3ICs0NzAsNyBAQAorQEAgLTQ3MCw3ICs0NzAsNyBAQCBnbnV2M19iYXNlY2xhc3Nfb2Zm c2V0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGluZGV4LAogICAgY3VyX2Jhc2Vfb2Zmc2V0ID0g Y3VyX2Jhc2Vfb2Zmc2V0ICsgdnRhYmxlX2FkZHJlc3NfcG9pbnRfb2Zmc2V0IChnZGJhcmNoKTsK ICAgIGlmICgoLSBjdXJfYmFzZV9vZmZzZXQpICUgVFlQRV9MRU5HVEggKHB0cl90eXBlKSAhPSAw KQogICAgICBlcnJvciAoXygiTWlzYWxpZ25lZCB2YmFzZSBvZmZzZXQuIikpOwpAQCAtMjAwNSw3 ICsyMjE4LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2dudS12My1hYmkuYwogIAogICAgdnRhYmxl ID0gZ251djNfZ2V0X3Z0YWJsZSAoZ2RiYXJjaCwgdHlwZSwgYWRkcmVzcyArIGVtYmVkZGVkX29m ZnNldCk7CiAgICBnZGJfYXNzZXJ0ICh2dGFibGUgIT0gTlVMTCk7Ci1AQCAtNTE0LDcgKzUxNCw3 IEBACitAQCAtNTE0LDcgKzUxNCw3IEBAIGdudXYzX2ZpbmRfbWV0aG9kX2luIChzdHJ1Y3QgdHlw ZSAqZG9tYWluLCBDT1JFX0FERFIgdm9mZnNldCwKICAgICAgIHdlJ3JlIG91dCBvZiBsdWNrLiAg Ki8KICAgIGZvciAoaSA9IDA7IGkgPCBUWVBFX05fQkFTRUNMQVNTRVMgKGRvbWFpbik7IGkrKykK ICAgICAgewpAQCAtMjAxNCwxMSArMjIyNywxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvZ251LXYz LWFiaS5jCiAgICAgICAgc3RydWN0IHR5cGUgKmJhc2V0eXBlOwogIAogICAgICAgIGlmIChCQVNF VFlQRV9WSUFfVklSVFVBTCAoZG9tYWluLCBpKSkKLUluZGV4OiBnZGItOC4wL2dkYi9nby1sYW5n LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2dvLWxhbmcuaAkyMDE3LTA4LTE5 IDIwOjA0OjU5LjgwNjc4MDY5OCArMDIwMAotKysrIGdkYi04LjAvZ2RiL2dvLWxhbmcuaAkyMDE3 LTA4LTE5IDIwOjA1OjEwLjA3Nzg3Njc4NSArMDIwMAotQEAgLTg1LDcgKzg1LDcgQEAKK2RpZmYg LS1naXQgYS9nZGIvZ28tbGFuZy5oIGIvZ2RiL2dvLWxhbmcuaAoraW5kZXggZTA4YjJmMGE4MC4u NWZiOWI1ZDkwZCAxMDA2NDQKKy0tLSBhL2dkYi9nby1sYW5nLmgKKysrKyBiL2dkYi9nby1sYW5n LmgKK0BAIC04NSw3ICs4NSw3IEBAIGV4dGVybiB2b2lkIGdvX3ByaW50X3R5cGUgKHN0cnVjdCB0 eXBlICp0eXBlLCBjb25zdCBjaGFyICp2YXJzdHJpbmcsCiAgLyogRGVmaW5lZCBpbiBnby12YWxw cmludC5jLiAgKi8KICAKICBleHRlcm4gdm9pZCBnb192YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0 eXBlLApAQCAtMjAyNywxMSArMjI0MCwxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvZ28tbGFuZy5o CiAgCQkJICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJCQkgIHN0cnVj dCB2YWx1ZSAqdmFsLAogIAkJCSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9w dGlvbnMpOwotSW5kZXg6IGdkYi04LjAvZ2RiL2dvLXZhbHByaW50LmMKLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItOC4wLm9yaWcvZ2RiL2dvLXZhbHByaW50LmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MDY3 ODA2OTggKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9nby12YWxwcmludC5jCTIwMTctMDgtMTkgMjA6 MDU6MTAuMDc3ODc2Nzg1ICswMjAwCi1AQCAtODYsNyArODYsNyBAQAorZGlmZiAtLWdpdCBhL2dk Yi9nby12YWxwcmludC5jIGIvZ2RiL2dvLXZhbHByaW50LmMKK2luZGV4IDc3ZDM3Mzg3YWQuLjg5 NmE3MTkxMWUgMTAwNjQ0CistLS0gYS9nZGIvZ28tdmFscHJpbnQuYworKysrIGIvZ2RiL2dvLXZh bHByaW50LmMKK0BAIC04Niw3ICs4Niw3IEBAIHByaW50X2dvX3N0cmluZyAoc3RydWN0IHR5cGUg KnR5cGUsCiAgLyogSW1wbGVtZW50cyB0aGUgbGFfdmFsX3ByaW50IHJvdXRpbmUgZm9yIGxhbmd1 YWdlIEdvLiAgKi8KICAKICB2b2lkCkBAIC0yMDQwLDExICsyMjUzLDI0IEBAIEluZGV4OiBnZGIt OC4wL2dkYi9nby12YWxwcmludC5jCiAgCSAgICAgIENPUkVfQUREUiBhZGRyZXNzLCBzdHJ1Y3Qg dWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJICAgICAgc3RydWN0IHZhbHVlICp2YWws CiAgCSAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotSW5k ZXg6IGdkYi04LjAvZ2RiL2xhbmd1YWdlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcv Z2RiL2xhbmd1YWdlLmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MDY3ODA2OTggKzAyMDAKLSsrKyBn ZGItOC4wL2dkYi9sYW5ndWFnZS5jCTIwMTctMDgtMTkgMjA6MDU6MTAuMDc3ODc2Nzg1ICswMjAw Ci1AQCAtNzUzLDcgKzc1Myw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2kzODYtdGRlcC5jIGIvZ2Ri L2kzODYtdGRlcC5jCitpbmRleCAyOTBiMWM4MzY4Li5kNGY2MWVlYzc2IDEwMDY0NAorLS0tIGEv Z2RiL2kzODYtdGRlcC5jCisrKysgYi9nZGIvaTM4Ni10ZGVwLmMKK0BAIC04MTc1LDcgKzgxNzUs NyBAQCBpMzg2X2Zhc3RfdHJhY2Vwb2ludF92YWxpZF9hdCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIENPUkVfQUREUiBhZGRyLAorIAorIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKgorIGkz ODZfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorLQkJCSAg IGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pCisrCQkJICAgY29uc3QgY2hhciAqbmFtZSwgTE9O R0VTVCBsZW4pCisgeworICAgaWYgKGxlbiA9PSAxMjggJiYgbmFtZSkKKyAgICAgaWYgKHN0cmNt cCAobmFtZSwgIl9fZmxvYXQxMjgiKSA9PSAwCitkaWZmIC0tZ2l0IGEvZ2RiL2xhbmd1YWdlLmMg Yi9nZGIvbGFuZ3VhZ2UuYworaW5kZXggYzM4NzJmYzlhNi4uYTg1MWY0Yzk2NiAxMDA2NDQKKy0t LSBhL2dkYi9sYW5ndWFnZS5jCisrKysgYi9nZGIvbGFuZ3VhZ2UuYworQEAgLTc2Niw3ICs3NjYs NyBAQCB1bmtfbGFuZ19wcmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0 IHVpX2ZpbGUgKnN0cmVhbSkKICAKICBzdGF0aWMgdm9pZAogIHVua19sYW5nX3ByaW50c3RyIChz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTIwNTMsNyArMjI3 OSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9sYW5ndWFnZS5jCiAgCQkgICBjb25zdCBjaGFyICpl bmNvZGluZywgaW50IGZvcmNlX2VsbGlwc2VzLAogIAkJICAgY29uc3Qgc3RydWN0IHZhbHVlX3By aW50X29wdGlvbnMgKm9wdGlvbnMpCiAgewotQEAgLTc3Miw3ICs3NzIsNyBAQAorQEAgLTc4NSw3 ICs3ODUsNyBAQCB1bmtfbGFuZ19wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3Qg Y2hhciAqdmFyc3RyaW5nLAogIAogIHN0YXRpYyB2b2lkCiAgdW5rX2xhbmdfdmFsX3ByaW50IChz dHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTIwNjIsMTEgKzIyODgsMTEgQEAgSW5kZXg6IGdkYi04LjAv Z2RiL2xhbmd1YWdlLmMKICAJCSAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJz ZSwKICAJCSAgICBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJCSAgICBjb25zdCBzdHJ1Y3QgdmFsdWVf cHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUluZGV4OiBnZGItOC4wL2dkYi9sYW5ndWFnZS5oCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9sYW5ndWFnZS5oCTIwMTctMDgtMTkgMjA6 MDQ6NTkuODA2NzgwNjk4ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvbGFuZ3VhZ2UuaAkyMDE3LTA4 LTE5IDIwOjA1OjEwLjA3Nzg3Njc4NSArMDIwMAotQEAgLTE5Nyw3ICsxOTcsNyBAQAorZGlmZiAt LWdpdCBhL2dkYi9sYW5ndWFnZS5oIGIvZ2RiL2xhbmd1YWdlLmgKK2luZGV4IDQ3YWQ4ZGEwNWQu LjBjNGU1M2YwZGUgMTAwNjQ0CistLS0gYS9nZGIvbGFuZ3VhZ2UuaAorKysrIGIvZ2RiL2xhbmd1 YWdlLmgKK0BAIC0xODgsNyArMTg4LDcgQEAgc3RydWN0IGxhbmd1YWdlX2RlZm4KICAJCQkgIHN0 cnVjdCB1aV9maWxlICogc3RyZWFtKTsKICAKICAgICAgdm9pZCAoKmxhX3ByaW50c3RyKSAoc3Ry dWN0IHVpX2ZpbGUgKiBzdHJlYW0sIHN0cnVjdCB0eXBlICplbHR0eXBlLApAQCAtMjA3NSw3ICsy MzAxLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2xhbmd1YWdlLmgKICAJCQkgY29uc3QgY2hhciAq ZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKICAJCQkgY29uc3Qgc3RydWN0IHZhbHVlX3By aW50X29wdGlvbnMgKik7CiAgCi1AQCAtMjM1LDcgKzIzNSw3IEBACitAQCAtMjI2LDcgKzIyNiw3 IEBAIHN0cnVjdCBsYW5ndWFnZV9kZWZuCiAgICAgICAgIHByaW50aW5nLiAgKi8KICAKICAgICAg dm9pZCAoKmxhX3ZhbF9wcmludCkgKHN0cnVjdCB0eXBlICp0eXBlLApAQCAtMjA4NCwxMSArMjMx MCwxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvbGFuZ3VhZ2UuaAogIAkJCSAgc3RydWN0IHVpX2Zp bGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCiAgCQkJICBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJCQkg IGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKTsKLUluZGV4OiBnZGIt OC4wL2dkYi9tMi1sYW5nLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL20yLWxh bmcuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgwNzc4MDcwNyArMDIwMAotKysrIGdkYi04LjAvZ2Ri L20yLWxhbmcuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA3ODg3Njc5NSArMDIwMAotQEAgLTEwNCwx MCArMTA0LDEwIEBACitkaWZmIC0tZ2l0IGEvZ2RiL20yLWxhbmcuYyBiL2dkYi9tMi1sYW5nLmMK K2luZGV4IDA5MDUwYzA0ODAuLmRhYjAxMzY1MzMgMTAwNjQ0CistLS0gYS9nZGIvbTItbGFuZy5j CisrKysgYi9nZGIvbTItbGFuZy5jCitAQCAtMTAzLDEwICsxMDMsMTAgQEAgbTJfcHJpbnRjaGFy IChpbnQgYywgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0pCiAgCiAg c3RhdGljIHZvaWQKICBtMl9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0 IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsCkBAIC0yMTAxLDcgKzIzMjcsNyBA QCBJbmRleDogZ2RiLTguMC9nZGIvbTItbGFuZy5jCiAgICB1bnNpZ25lZCBpbnQgdGhpbmdzX3By aW50ZWQgPSAwOwogICAgaW50IGluX3F1b3RlcyA9IDA7CiAgICBpbnQgbmVlZF9jb21tYSA9IDA7 Ci1AQCAtMTIyLDkgKzEyMiw5IEBACitAQCAtMTIxLDkgKzEyMSw5IEBAIG0yX3ByaW50c3RyIChz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUg KnN0cmluZywKICAgICAgewogICAgICAgIC8qIFBvc2l0aW9uIG9mIHRoZSBjaGFyYWN0ZXIgd2Ug YXJlIGV4YW1pbmluZwogICAgICAgICAgIHRvIHNlZSB3aGV0aGVyIGl0IGlzIHJlcGVhdGVkLiAg Ki8KQEAgLTIxMTMsNyArMjMzOSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9tMi1sYW5nLmMKICAK ICAgICAgICBRVUlUOwogIAotQEAgLTE1MCw3ICsxNTAsNyBAQAorQEAgLTE0OSw3ICsxNDksNyBA QCBtMl9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0IHR5cGUgKnR5cGUs IGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsCiAgCSAgICAgIGluX3F1b3RlcyA9IDA7CiAgCSAgICB9 CiAgCSAgbTJfcHJpbnRjaGFyIChzdHJpbmdbaV0sIHR5cGUsIHN0cmVhbSk7CkBAIC0yMTIyLDEx ICsyMzQ4LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9tMi1sYW5nLmMKICAJICBpID0gcmVwMSAt IDE7CiAgCSAgdGhpbmdzX3ByaW50ZWQgKz0gb3B0aW9ucy0+cmVwZWF0X2NvdW50X3RocmVzaG9s ZDsKICAJICBuZWVkX2NvbW1hID0gMTsKLUluZGV4OiBnZGItOC4wL2dkYi9tMi1sYW5nLmgKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL20yLWxhbmcuaAkyMDE3LTA4LTE5IDIwOjA0 OjU5LjgwNzc4MDcwNyArMDIwMAotKysrIGdkYi04LjAvZ2RiL20yLWxhbmcuaAkyMDE3LTA4LTE5 IDIwOjA1OjEwLjA3ODg3Njc5NSArMDIwMAotQEAgLTM0LDcgKzM0LDcgQEAKK2RpZmYgLS1naXQg YS9nZGIvbTItbGFuZy5oIGIvZ2RiL20yLWxhbmcuaAoraW5kZXggMzBmZGRkN2I0Yi4uMDc2NGU3 ZGQ1YSAxMDA2NDQKKy0tLSBhL2dkYi9tMi1sYW5nLmgKKysrKyBiL2dkYi9tMi1sYW5nLmgKK0BA IC0zNCw3ICszNCw3IEBAIGV4dGVybiB2b2lkIG0yX3ByaW50X3R5cGVkZWYgKHN0cnVjdCB0eXBl ICosIHN0cnVjdCBzeW1ib2wgKiwKICBleHRlcm4gaW50IG0yX2lzX2xvbmdfc2V0IChzdHJ1Y3Qg dHlwZSAqdHlwZSk7CiAgZXh0ZXJuIGludCBtMl9pc191bmJvdW5kZWRfYXJyYXkgKHN0cnVjdCB0 eXBlICp0eXBlKTsKICAKQEAgLTIxMzUsMTEgKzIzNjEsMTEgQEAgSW5kZXg6IGdkYi04LjAvZ2Ri L20yLWxhbmcuaAogIAkJCSAgc3RydWN0IHVpX2ZpbGUgKiwgaW50LAogIAkJCSAgc3RydWN0IHZh bHVlICosCiAgCQkJICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqKTsKLUluZGV4 OiBnZGItOC4wL2dkYi9tMi10eXBlcHJpbnQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3Jp Zy9nZGIvbTItdHlwZXByaW50LmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MDc3ODA3MDcgKzAyMDAK LSsrKyBnZGItOC4wL2dkYi9tMi10eXBlcHJpbnQuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA3ODg3 Njc5NSArMDIwMAotQEAgLTIzNCw5ICsyMzQsMTIgQEAKK2RpZmYgLS1naXQgYS9nZGIvbTItdHlw ZXByaW50LmMgYi9nZGIvbTItdHlwZXByaW50LmMKK2luZGV4IDBkZDZmMTlmYzcuLjM3MDFmYmI3 MjggMTAwNjQ0CistLS0gYS9nZGIvbTItdHlwZXByaW50LmMKKysrKyBiL2dkYi9tMi10eXBlcHJp bnQuYworQEAgLTIzNCw5ICsyMzQsMTIgQEAgc3RhdGljIHZvaWQgbTJfYXJyYXkgKHN0cnVjdCB0 eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogIAkgIG0yX3ByaW50X2JvdW5kcyAo VFlQRV9JTkRFWF9UWVBFICh0eXBlKSwgc3RyZWFtLCBzaG93LCAtMSwgMSk7CiAgCX0KICAgICAg ICBlbHNlCkBAIC0yMTU1LDExICsyMzgxLDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9tMi10eXBl cHJpbnQuYwogICAgICB9CiAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICJdIE9GICIpOwog ICAgbTJfcHJpbnRfdHlwZSAoVFlQRV9UQVJHRVRfVFlQRSAodHlwZSksICIiLCBzdHJlYW0sIHNo b3csIGxldmVsLCBmbGFncyk7Ci1JbmRleDogZ2RiLTguMC9nZGIvbTItdmFscHJpbnQuYwotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvbTItdmFscHJpbnQuYwkyMDE3LTA4LTE5IDIw OjA0OjU5LjgwNzc4MDcwNyArMDIwMAotKysrIGdkYi04LjAvZ2RiL20yLXZhbHByaW50LmMJMjAx Ny0wOC0xOSAyMDowNToxMC4wNzg4NzY3OTUgKzAyMDAKLUBAIC0zNSw3ICszNSw3IEBACitkaWZm IC0tZ2l0IGEvZ2RiL20yLXZhbHByaW50LmMgYi9nZGIvbTItdmFscHJpbnQuYworaW5kZXggOTY2 MGZlN2MwMy4uNzEyN2FmMjZmMiAxMDA2NDQKKy0tLSBhL2dkYi9tMi12YWxwcmludC5jCisrKysg Yi9nZGIvbTItdmFscHJpbnQuYworQEAgLTM1LDcgKzM1LDcgQEAgc3RhdGljIGludCBwcmludF91 bnBhY2tlZF9wb2ludGVyIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJCQkJICAgc3RydWN0IHVpX2Zp bGUgKnN0cmVhbSk7CiAgc3RhdGljIHZvaWQKICBtMl9wcmludF9hcnJheV9jb250ZW50cyAoc3Ry dWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLApAQCAtMjE2OCw3ICsyMzk0 LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL20yLXZhbHByaW50LmMKICAJCQkgc3RydWN0IHVpX2Zp bGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCiAgCQkJIHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJCSBj b25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucywKLUBAIC02Nyw3ICs2Nyw3 IEBACitAQCAtNjcsNyArNjcsNyBAQCBnZXRfbG9uZ19zZXRfYm91bmRzIChzdHJ1Y3QgdHlwZSAq dHlwZSwgTE9OR0VTVCAqbG93LCBMT05HRVNUICpoaWdoKQogIAogIHN0YXRpYyB2b2lkCiAgbTJf cHJpbnRfbG9uZ19zZXQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRk ciwKQEAgLTIxNzcsNyArMjQwMyw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9tMi12YWxwcmludC5j CiAgCQkgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQogIHsKICAgIGludCBlbXB0eV9zZXQgICAg ICAgID0gMTsKLUBAIC0xNTgsNyArMTU4LDcgQEAKK0BAIC0xNTgsNyArMTU4LDcgQEAgbTJfcHJp bnRfbG9uZ19zZXQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwK ICAKICBzdGF0aWMgdm9pZAogIG0yX3ByaW50X3VuYm91bmRlZF9hcnJheSAoc3RydWN0IHR5cGUg KnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLApAQCAtMjE4Niw3ICsyNDEyLDcgQEAgSW5k ZXg6IGdkYi04LjAvZ2RiL20yLXZhbHByaW50LmMKICAJCQkgIHN0cnVjdCB1aV9maWxlICpzdHJl YW0sIGludCByZWN1cnNlLAogIAkJCSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMg Km9wdGlvbnMpCiAgewotQEAgLTI2MCw3ICsyNjAsNyBAQAorQEAgLTI2MCw3ICsyNjAsNyBAQCBw cmludF92YXJpYWJsZV9hdF9hZGRyZXNzIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAKICBzdGF0aWMg dm9pZAogIG0yX3ByaW50X2FycmF5X2NvbnRlbnRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3Qg Z2RiX2J5dGUgKnZhbGFkZHIsCkBAIC0yMTk1LDcgKzI0MjEsNyBAQCBJbmRleDogZ2RiLTguMC9n ZGIvbTItdmFscHJpbnQuYwogIAkJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJz ZSwKICAJCQkgc3RydWN0IHZhbHVlICp2YWwsCiAgCQkJIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmlu dF9vcHRpb25zICpvcHRpb25zLAotQEAgLTMwOCwxMyArMzA4LDEzIEBACitAQCAtMzA4LDEzICsz MDgsMTMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBnZW5lcmljX3ZhbF9wcmludF9kZWNvcmF0aW9u cyBtMl9kZWNvcmF0aW9ucyA9CiAgICAgZnVuY3Rpb247IHRoZXkgYXJlIGlkZW50aWNhbC4gICov CiAgCiAgdm9pZApAQCAtMjIxMSw3ICsyNDM3LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL20yLXZh bHByaW50LmMKICAgIHN0cnVjdCB0eXBlICplbHR0eXBlOwogICAgQ09SRV9BRERSIGFkZHI7CiAg ICBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciA9IHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZyAo b3JpZ2luYWxfdmFsdWUpOwotQEAgLTM0MCw3ICszNDAsNyBAQAorQEAgLTM0MCw3ICszNDAsNyBA QCBtMl92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAog IAkgICAgICAgICBlbGVtZW50cyB1cCB0byBpdC4gICovCiAgCSAgICAgIGlmIChvcHRpb25zLT5z dG9wX3ByaW50X2F0X251bGwpCiAgCQl7CkBAIC0yMjIwLDcgKzI0NDYsNyBAQCBJbmRleDogZ2Ri LTguMC9nZGIvbTItdmFscHJpbnQuYwogIAogIAkJICAvKiBMb29rIGZvciBhIE5VTEwgY2hhci4g ICovCiAgCQkgIGZvciAodGVtcF9sZW4gPSAwOwotQEAgLTQxNiw3ICs0MTYsNyBAQAorQEAgLTQx Niw3ICs0MTYsNyBAQCBtMl92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgZW1iZWRk ZWRfb2Zmc2V0LAogIAl7CiAgCSAgc3RydWN0IHR5cGUgKnJhbmdlID0gZWx0dHlwZTsKICAJICBM T05HRVNUIGxvd19ib3VuZCwgaGlnaF9ib3VuZDsKQEAgLTIyMjksMTAgKzI0NTUsMTAgQEAgSW5k ZXg6IGdkYi04LjAvZ2RiL20yLXZhbHByaW50LmMKICAJICBpbnQgbmVlZF9jb21tYSA9IDA7CiAg CiAgCSAgZnB1dHNfZmlsdGVyZWQgKCJ7Iiwgc3RyZWFtKTsKLUluZGV4OiBnZGItOC4wL2dkYi9t ZW1yYW5nZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9tZW1yYW5nZS5jCTIw MTctMDgtMTkgMjA6MDQ6NTkuODA3NzgwNzA3ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvbWVtcmFu Z2UuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA3ODg3Njc5NSArMDIwMAorZGlmZiAtLWdpdCBhL2dk Yi9tZW1yYW5nZS5jIGIvZ2RiL21lbXJhbmdlLmMKK2luZGV4IDM0ZmVhYzUzYWIuLjAwMmEzNTkx OTkgMTAwNjQ0CistLS0gYS9nZGIvbWVtcmFuZ2UuYworKysrIGIvZ2RiL21lbXJhbmdlLmMKIEBA IC0yMiw4ICsyMiw4IEBACiAgI2luY2x1ZGUgPGFsZ29yaXRobT4KICAKQEAgLTIyNDQsMTEgKzI0 NzAsMjAgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL21lbXJhbmdlLmMKICB7CiAgICBVTE9OR0VTVCBo LCBsOwogIAotSW5kZXg6IGdkYi04LjAvZ2RiL21lbXJhbmdlLmgKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItOC4wLm9yaWcvZ2RiL21lbXJhbmdlLmgJMjAxNy0wOC0xOSAyMDowNDo1OS44MDg3ODA3MTYg KzAyMDAKLSsrKyBnZGItOC4wL2dkYi9tZW1yYW5nZS5oCTIwMTctMDgtMTkgMjA6MDU6MTAuMDc5 ODc2ODA0ICswMjAwCi1AQCAtMzAsNyArMzAsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9tZW1yYW5n ZS5oIGIvZ2RiL21lbXJhbmdlLmgKK2luZGV4IGZiMTBjZGEyYjcuLmM2NjQ3YjMyMTEgMTAwNjQ0 CistLS0gYS9nZGIvbWVtcmFuZ2UuaAorKysrIGIvZ2RiL21lbXJhbmdlLmgKK0BAIC0yOCw3ICsy OCw3IEBAIHN0cnVjdCBtZW1fcmFuZ2UKKyB7CisgICBtZW1fcmFuZ2UgKCkgPSBkZWZhdWx0Owor IAorLSAgbWVtX3JhbmdlIChDT1JFX0FERFIgc3RhcnRfLCBpbnQgbGVuZ3RoXykKKysgIG1lbV9y YW5nZSAoQ09SRV9BRERSIHN0YXJ0XywgTE9OR0VTVCBsZW5ndGhfKQorICAgOiBzdGFydCAoc3Rh cnRfKSwgbGVuZ3RoIChsZW5ndGhfKQorICAge30KKyAKK0BAIC00NywxNCArNDcsMTQgQEAgc3Ry dWN0IG1lbV9yYW5nZQogICAgQ09SRV9BRERSIHN0YXJ0OwogIAogICAgLyogTGVuZ3RoIG9mIHRo ZSByYW5nZS4gICovCkBAIC0yMjU2LDggKzI0OTEsNiBAQCBJbmRleDogZ2RiLTguMC9nZGIvbWVt cmFuZ2UuaAogKyAgTE9OR0VTVCBsZW5ndGg7CiAgfTsKICAKLSB0eXBlZGVmIHN0cnVjdCBtZW1f cmFuZ2UgbWVtX3JhbmdlX3M7Ci1AQCAtNDAsOCArNDAsOCBAQAogIC8qIFJldHVybnMgdHJ1ZSBp ZiB0aGUgcmFuZ2VzIGRlZmluZWQgYnkgW3N0YXJ0MSwgc3RhcnQxK2xlbjEpIGFuZAogICAgIFtz dGFydDIsIHN0YXJ0MitsZW4yKSBvdmVybGFwLiAgKi8KICAKQEAgLTIyNjgsMTEgKzI1MDEsMTEg QEAgSW5kZXg6IGdkYi04LjAvZ2RiL21lbXJhbmdlLmgKICAKICAvKiBSZXR1cm5zIHRydWUgaWYg QUREUiBpcyBpbiBSQU5HRS4gICovCiAgCi1JbmRleDogZ2RiLTguMC9nZGIvbWlwcy1saW51eC1u YXQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvbWlwcy1saW51eC1uYXQuYwky MDE3LTA4LTE5IDIwOjA0OjU5LjgwODc4MDcxNiArMDIwMAotKysrIGdkYi04LjAvZ2RiL21pcHMt bGludXgtbmF0LmMJMjAxNy0wOC0xOSAyMDowNToxMC4wNzk4NzY4MDQgKzAyMDAKLUBAIC01ODQs NyArNTg0LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvbWlwcy1saW51eC1uYXQuYyBiL2dkYi9taXBz LWxpbnV4LW5hdC5jCitpbmRleCBlNmVmNWE2MTcwLi5mOTVkMTY3ZDMwIDEwMDY0NAorLS0tIGEv Z2RiL21pcHMtbGludXgtbmF0LmMKKysrKyBiL2dkYi9taXBzLWxpbnV4LW5hdC5jCitAQCAtNTc5 LDcgKzU3OSw3IEBAIG1pcHNfbGludXhfc3RvcHBlZF9kYXRhX2FkZHJlc3MgKHN0cnVjdCB0YXJn ZXRfb3BzICp0LCBDT1JFX0FERFIgKnBhZGRyKQogIAogIHN0YXRpYyBpbnQKICBtaXBzX2xpbnV4 X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCkBA IC0yMjgxLDExICsyNTE0LDQ2IEBAIEluZGV4OiBnZGItOC4wL2dkYi9taXBzLWxpbnV4LW5hdC5j CiAgewogICAgc3RydWN0IHB0X3dhdGNoX3JlZ3MgZHVtbXlfcmVnczsKICAgIGludCBpOwotSW5k ZXg6IGdkYi04LjAvZ2RiL29wZW5jbC1sYW5nLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9y aWcvZ2RiL29wZW5jbC1sYW5nLmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MDg3ODA3MTYgKzAyMDAK LSsrKyBnZGItOC4wL2dkYi9vcGVuY2wtbGFuZy5jCTIwMTctMDgtMTkgMjA6MDU6MTAuMDc5ODc2 ODA0ICswMjAwCi1AQCAtNzgsMTEgKzc4LDExIEBACitkaWZmIC0tZ2l0IGEvZ2RiL25hdC94ODYt ZHJlZ3MuYyBiL2dkYi9uYXQveDg2LWRyZWdzLmMKK2luZGV4IDQ3OGFhOTEzZTkuLjA1ZWEyYWJm NjIgMTAwNjQ0CistLS0gYS9nZGIvbmF0L3g4Ni1kcmVncy5jCisrKysgYi9nZGIvbmF0L3g4Ni1k cmVncy5jCitAQCAtMzgwLDcgKzM4MCw3IEBAIHg4Nl9yZW1vdmVfYWxpZ25lZF93YXRjaHBvaW50 IChzdHJ1Y3QgeDg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCisgCisgc3RhdGljIGludAorIHg4 Nl9oYW5kbGVfbm9uYWxpZ25lZF93YXRjaHBvaW50IChzdHJ1Y3QgeDg2X2RlYnVnX3JlZ19zdGF0 ZSAqc3RhdGUsCistCQkJCSAgeDg2X3dwX29wX3Qgd2hhdCwgQ09SRV9BRERSIGFkZHIsIGludCBs ZW4sCisrCQkJCSAgeDg2X3dwX29wX3Qgd2hhdCwgQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVu LAorIAkJCQkgIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSkKKyB7CisgICBpbnQgcmV0dmFs ID0gMDsKK0BAIC01NDgsNyArNTQ4LDcgQEAgeDg2X2RyX3JlbW92ZV93YXRjaHBvaW50IChzdHJ1 Y3QgeDg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCisgCisgaW50CisgeDg2X2RyX3JlZ2lvbl9v a19mb3Jfd2F0Y2hwb2ludCAoc3RydWN0IHg4Nl9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAorLQkJ CQkgQ09SRV9BRERSIGFkZHIsIGludCBsZW4pCisrCQkJCSBDT1JFX0FERFIgYWRkciwgTE9OR0VT VCBsZW4pCisgeworICAgaW50IG5yZWdzOworIAorZGlmZiAtLWdpdCBhL2dkYi9uYXQveDg2LWRy ZWdzLmggYi9nZGIvbmF0L3g4Ni1kcmVncy5oCitpbmRleCA3ZjdkNzBhNjc4Li45Y2Y0NzRkYjI5 IDEwMDY0NAorLS0tIGEvZ2RiL25hdC94ODYtZHJlZ3MuaAorKysrIGIvZ2RiL25hdC94ODYtZHJl Z3MuaAorQEAgLTExNiw3ICsxMTYsNyBAQCBleHRlcm4gaW50IHg4Nl9kcl9yZW1vdmVfd2F0Y2hw b2ludCAoc3RydWN0IHg4Nl9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAorIC8qIFJldHVybiBub24t emVybyBpZiB3ZSBjYW4gd2F0Y2ggYSBtZW1vcnkgcmVnaW9uIHRoYXQgc3RhcnRzIGF0CisgICAg YWRkcmVzcyBBRERSIGFuZCB3aG9zZSBsZW5ndGggaXMgTEVOIGJ5dGVzLiAgKi8KKyBleHRlcm4g aW50IHg4Nl9kcl9yZWdpb25fb2tfZm9yX3dhdGNocG9pbnQgKHN0cnVjdCB4ODZfZGVidWdfcmVn X3N0YXRlICpzdGF0ZSwKKy0JCQkJCSAgICBDT1JFX0FERFIgYWRkciwgaW50IGxlbik7CisrCQkJ CQkgICAgQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuKTsKKyAKKyAvKiBJZiB0aGUgaW5mZXJp b3IgaGFzIHNvbWUgYnJlYWsvd2F0Y2hwb2ludCB0aGF0IHRyaWdnZXJlZCwgc2V0IHRoZQorICAg IGFkZHJlc3MgYXNzb2NpYXRlZCB3aXRoIHRoYXQgYnJlYWsvd2F0Y2hwb2ludCBhbmQgcmV0dXJu IHRydWUuCitkaWZmIC0tZ2l0IGEvZ2RiL29wZW5jbC1sYW5nLmMgYi9nZGIvb3BlbmNsLWxhbmcu YworaW5kZXggMTI2Nzc2MDViMi4uMjYyYTRlN2ViOSAxMDA2NDQKKy0tLSBhL2dkYi9vcGVuY2wt bGFuZy5jCisrKysgYi9nZGIvb3BlbmNsLWxhbmcuYworQEAgLTc2LDExICs3NiwxMSBAQCBidWls dGluX29wZW5jbF90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCkKICAKICBzdGF0aWMgc3Ry dWN0IHR5cGUgKgogIGxvb2t1cF9vcGVuY2xfdmVjdG9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBlbnVtIHR5cGVfY29kZSBjb2RlLApAQCAtMjI5OSw3ICsyNTY3LDcgQEAgSW5kZXg6 IGdkYi04LjAvZ2RiL29wZW5jbC1sYW5nLmMKICAgIHN0cnVjdCB0eXBlICp0eXBlID0gTlVMTDsK ICAgIHN0cnVjdCB0eXBlICoqdHlwZXMgPSBidWlsdGluX29wZW5jbF90eXBlIChnZGJhcmNoKTsK ICAKLUBAIC0xNzQsNyArMTc0LDcgQEAKK0BAIC0xNzIsNyArMTcyLDcgQEAgbHZhbF9mdW5jX3Jl YWQgKHN0cnVjdCB2YWx1ZSAqdikKICAgIHN0cnVjdCB0eXBlICplbHR5cGUgPSBUWVBFX1RBUkdF VF9UWVBFIChjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChjLT52YWwpKSk7CiAgICBMT05HRVNU IG9mZnNldCA9IHZhbHVlX29mZnNldCAodik7CiAgICBMT05HRVNUIGVsc2l6ZSA9IFRZUEVfTEVO R1RIIChlbHR5cGUpOwpAQCAtMjMwOCw3ICsyNTc2LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL29w ZW5jbC1sYW5nLmMKICAgIExPTkdFU1QgbG93YiA9IDA7CiAgICBMT05HRVNUIGhpZ2hiID0gMDsK ICAKLUBAIC0yMDMsNyArMjAzLDcgQEAKK0BAIC0yMDEsNyArMjAxLDcgQEAgbHZhbF9mdW5jX3dy aXRlIChzdHJ1Y3QgdmFsdWUgKnYsIHN0cnVjdCB2YWx1ZSAqZnJvbXZhbCkKICAgIHN0cnVjdCB0 eXBlICplbHR5cGUgPSBUWVBFX1RBUkdFVF9UWVBFIChjaGVja190eXBlZGVmICh2YWx1ZV90eXBl IChjLT52YWwpKSk7CiAgICBMT05HRVNUIG9mZnNldCA9IHZhbHVlX29mZnNldCAodik7CiAgICBM T05HRVNUIGVsc2l6ZSA9IFRZUEVfTEVOR1RIIChlbHR5cGUpOwpAQCAtMjMxNyw3ICsyNTg1LDcg QEAgSW5kZXg6IGdkYi04LjAvZ2RiL29wZW5jbC1sYW5nLmMKICAgIExPTkdFU1QgbG93YiA9IDA7 CiAgICBMT05HRVNUIGhpZ2hiID0gMDsKICAKLUBAIC0yNDMsMTcgKzI0MywxNyBAQAorQEAgLTI0 MSwxNyArMjQxLDE3IEBAIGx2YWxfZnVuY193cml0ZSAoc3RydWN0IHZhbHVlICp2LCBzdHJ1Y3Qg dmFsdWUgKmZyb212YWwpCiAgCiAgc3RhdGljIGludAogIGx2YWxfZnVuY19jaGVja19zeW50aGV0 aWNfcG9pbnRlciAoY29uc3Qgc3RydWN0IHZhbHVlICp2LApAQCAtMjM0Miw3ICsyNjEwLDcgQEAg SW5kZXg6IGdkYi04LjAvZ2RiL29wZW5jbC1sYW5nLmMKICAKICAgIGlmIChlbmRyZXN0KQogICAg ICBlbmQrKzsKLUBAIC0yNjMsOCArMjYzLDggQEAKK0BAIC0yNjEsOCArMjYxLDggQEAgbHZhbF9m dW5jX2NoZWNrX3N5bnRoZXRpY19wb2ludGVyIChjb25zdCBzdHJ1Y3QgdmFsdWUgKnYsCiAgCiAg ICBmb3IgKGkgPSBzdGFydDsgaSA8IGVuZDsgaSsrKQogICAgICB7CkBAIC0yMzUzLDExICsyNjIx LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9vcGVuY2wtbGFuZy5jCiAgCiAgICAgICAgaWYgKCF2 YWx1ZV9iaXRzX3N5bnRoZXRpY19wb2ludGVyIChjLT52YWwsCiAgCQkJCQkgYy0+aW5kaWNlc1tp XSAqIGVsc2l6ZSArIGNvbXBfb2Zmc2V0LAotSW5kZXg6IGdkYi04LjAvZ2RiL3AtbGFuZy5jCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9wLWxhbmcuYwkyMDE3LTA4LTE5IDIwOjA0 OjU5LjgwODc4MDcxNiArMDIwMAotKysrIGdkYi04LjAvZ2RiL3AtbGFuZy5jCTIwMTctMDgtMTkg MjA6MDU6MTAuMDc5ODc2ODA0ICswMjAwCi1AQCAtOTUsOCArOTUsOCBAQAorZGlmZiAtLWdpdCBh L2dkYi9wLWxhbmcuYyBiL2dkYi9wLWxhbmcuYworaW5kZXggZTkzYzE1Yjk1Zi4uNWM4MjgyYjRl NCAxMDA2NDQKKy0tLSBhL2dkYi9wLWxhbmcuYworKysrIGIvZ2RiL3AtbGFuZy5jCitAQCAtOTMs OCArOTMsOCBAQCBwYXNjYWxfbWFpbl9uYW1lICh2b2lkKQogICAgIGFyZSBub3QgbXVsdGlwbGUg b2YgVEFSR0VUX0NIQVJfQklUIHRoZW4gdGhlIHJlc3VsdHMgYXJlIHdyb25nCiAgICAgYnV0IHRo aXMgZG9lcyBub3QgaGFwcGVuIGZvciBGcmVlIFBhc2NhbCBub3IgZm9yIEdQQy4gICovCiAgaW50 CkBAIC0yMzY4LDcgKzI2MzYsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvcC1sYW5nLmMKICAJCSAg ICAgICBzdHJ1Y3QgdHlwZSAqKmNoYXJfdHlwZSwKICAJCSAgICAgICBjb25zdCBjaGFyICoqYXJy YXluYW1lKQogIHsKLUBAIC0yMTYsMTIgKzIxNiwxMiBAQAorQEAgLTIxNCwxMiArMjE0LDEyIEBA IHBhc2NhbF9wcmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2Zp bGUgKnN0cmVhbSkKICAKICB2b2lkCiAgcGFzY2FsX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAq c3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTIzODMsNyArMjY1MSw3IEBAIEluZGV4OiBn ZGItOC4wL2dkYi9wLWxhbmcuYwogICAgdW5zaWduZWQgaW50IHRoaW5nc19wcmludGVkID0gMDsK ICAgIGludCBpbl9xdW90ZXMgPSAwOwogICAgaW50IG5lZWRfY29tbWEgPSAwOwotQEAgLTI0OSw5 ICsyNDksOSBAQAorQEAgLTI0Nyw5ICsyNDcsOSBAQCBwYXNjYWxfcHJpbnRzdHIgKHN0cnVjdCB1 aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICp0eXBlLAogICAgICB7CiAgICAgICAgLyogUG9z aXRpb24gb2YgdGhlIGNoYXJhY3RlciB3ZSBhcmUgZXhhbWluaW5nCiAgICAgICAgICAgdG8gc2Vl IHdoZXRoZXIgaXQgaXMgcmVwZWF0ZWQuICAqLwpAQCAtMjM5NSw3ICsyNjYzLDcgQEAgSW5kZXg6 IGdkYi04LjAvZ2RiL3AtbGFuZy5jCiAgICAgICAgdW5zaWduZWQgbG9uZyBpbnQgY3VycmVudF9j aGFyOwogIAogICAgICAgIFFVSVQ7Ci1AQCAtMjgzLDcgKzI4Myw3IEBACitAQCAtMjgxLDcgKzI4 MSw3IEBAIHBhc2NhbF9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0IHR5 cGUgKnR5cGUsCiAgCSAgICAgIGluX3F1b3RlcyA9IDA7CiAgCSAgICB9CiAgCSAgcGFzY2FsX3By aW50Y2hhciAoY3VycmVudF9jaGFyLCB0eXBlLCBzdHJlYW0pOwpAQCAtMjQwNCwxMSArMjY3Miwx MSBAQCBJbmRleDogZ2RiLTguMC9nZGIvcC1sYW5nLmMKICAJICBpID0gcmVwMSAtIDE7CiAgCSAg dGhpbmdzX3ByaW50ZWQgKz0gb3B0aW9ucy0+cmVwZWF0X2NvdW50X3RocmVzaG9sZDsKICAJICBu ZWVkX2NvbW1hID0gMTsKLUluZGV4OiBnZGItOC4wL2dkYi9wLWxhbmcuaAotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi04LjAub3JpZy9nZGIvcC1sYW5nLmgJMjAxNy0wOC0xOSAyMDowNDo1OS44MDk3ODA3 MjYgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9wLWxhbmcuaAkyMDE3LTA4LTE5IDIwOjA1OjEwLjA4 MDg3NjgxMyArMDIwMAotQEAgLTM2LDcgKzM2LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvcC1sYW5n LmggYi9nZGIvcC1sYW5nLmgKK2luZGV4IDFmODJjMWFjMWYuLmRiZTc3MDNmZDggMTAwNjQ0Cist LS0gYS9nZGIvcC1sYW5nLmgKKysrKyBiL2dkYi9wLWxhbmcuaAorQEAgLTM2LDcgKzM2LDcgQEAg ZXh0ZXJuIHZvaWQgcGFzY2FsX3ByaW50X3R5cGUgKHN0cnVjdCB0eXBlICosIGNvbnN0IGNoYXIg Kiwgc3RydWN0IHVpX2ZpbGUgKiwKICBleHRlcm4gdm9pZCBwYXNjYWxfcHJpbnRfdHlwZWRlZiAo c3RydWN0IHR5cGUgKiwgc3RydWN0IHN5bWJvbCAqLAogIAkJCQkgIHN0cnVjdCB1aV9maWxlICop OwogIApAQCAtMjQxNyw3ICsyNjg1LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3AtbGFuZy5oCiAg CQkJICAgICAgQ09SRV9BRERSLCBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCiAgCQkJICAgICAgc3Ry dWN0IHZhbHVlICosCiAgCQkJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMg Kik7Ci1AQCAtNTAsMTMgKzUwLDEzIEBACitAQCAtNTAsMTMgKzUwLDEzIEBAIGV4dGVybiB2b2lk IHBhc2NhbF90eXBlX3ByaW50X21ldGhvZF9hcmdzIChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIg KiwKICAvKiBUaGVzZSBhcmUgaW4gcC1sYW5nLmM6ICovCiAgCiAgZXh0ZXJuIGludApAQCAtMjQz MiwxMiArMjcwMCwxMiBAQCBJbmRleDogZ2RiLTguMC9nZGIvcC1sYW5nLmgKICsJCQkgICAgIFVM T05HRVNULCBjb25zdCBjaGFyICosIGludCwKICAJCQkgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9w cmludF9vcHRpb25zICopOwogIAotIGV4dGVybiBzdHJ1Y3QgdHlwZSAqKmNvbnN0IChwYXNjYWxf YnVpbHRpbl90eXBlc1tdKTsKLUluZGV4OiBnZGItOC4wL2dkYi9wLXZhbHByaW50LmMKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3AtdmFscHJpbnQuYwkyMDE3LTA4LTE5IDIwOjA0 OjU5LjgwOTc4MDcyNiArMDIwMAotKysrIGdkYi04LjAvZ2RiL3AtdmFscHJpbnQuYwkyMDE3LTA4 LTE5IDIwOjA1OjEwLjA4MDg3NjgxMyArMDIwMAotQEAgLTU5LDcgKzU5LDcgQEAKKyBleHRlcm4g c3RydWN0IHR5cGUgKipjb25zdCBwYXNjYWxfYnVpbHRpbl90eXBlc1tdOworZGlmZiAtLWdpdCBh L2dkYi9wLXZhbHByaW50LmMgYi9nZGIvcC12YWxwcmludC5jCitpbmRleCBkMTJiNjM2MzhiLi4z Y2RjODQ3ZmUzIDEwMDY0NAorLS0tIGEvZ2RiL3AtdmFscHJpbnQuYworKysrIGIvZ2RiL3AtdmFs cHJpbnQuYworQEAgLTYwLDcgKzYwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBnZW5lcmljX3Zh bF9wcmludF9kZWNvcmF0aW9ucyBwX2RlY29yYXRpb25zID0KICAKICB2b2lkCiAgcGFzY2FsX3Zh bF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsCkBAIC0yNDQ2LDcgKzI3MTQsNyBAQCBJbmRleDog Z2RiLTguMC9nZGIvcC12YWxwcmludC5jCiAgCQkgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGlu dCByZWN1cnNlLAogIAkJICBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAogIAkJICBjb25z dCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUBAIC03MCw4ICs3MCw4IEBA CitAQCAtNzEsOCArNzEsOCBAQCBwYXNjYWxfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwK ICAgIHVuc2lnbmVkIGxlbjsKICAgIExPTkdFU1QgbG93X2JvdW5kLCBoaWdoX2JvdW5kOwogICAg c3RydWN0IHR5cGUgKmVsdHR5cGU7CkBAIC0yNDU3LDExICsyNzI1LDExIEBAIEluZGV4OiBnZGIt OC4wL2dkYi9wLXZhbHByaW50LmMKICAgIHN0cnVjdCB0eXBlICpjaGFyX3R5cGU7CiAgICBDT1JF X0FERFIgYWRkcjsKICAgIGludCB3YW50X3NwYWNlID0gMDsKLUluZGV4OiBnZGItOC4wL2dkYi9w cGMtbGludXgtbmF0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3BwYy1saW51 eC1uYXQuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgwOTc4MDcyNiArMDIwMAotKysrIGdkYi04LjAv Z2RiL3BwYy1saW51eC1uYXQuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA4MDg3NjgxMyArMDIwMAot QEAgLTE0NDUsNyArMTQ0NSw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3BwYy1saW51eC1uYXQuYyBi L2dkYi9wcGMtbGludXgtbmF0LmMKK2luZGV4IGY2NDUyMjFjYjQuLjQyOWI5YzYyMzEgMTAwNjQ0 CistLS0gYS9nZGIvcHBjLWxpbnV4LW5hdC5jCisrKysgYi9nZGIvcHBjLWxpbnV4LW5hdC5jCitA QCAtMTQ0NSw3ICsxNDQ1LDcgQEAgcHBjX2xpbnV4X2Nhbl91c2VfaHdfYnJlYWtwb2ludCAoc3Ry dWN0IHRhcmdldF9vcHMgKnNlbGYsCiAgCiAgc3RhdGljIGludAogIHBwY19saW51eF9yZWdpb25f b2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLApAQCAtMjQ3MCwx MSArMjczOCwyNCBAQCBJbmRleDogZ2RiLTguMC9nZGIvcHBjLWxpbnV4LW5hdC5jCiAgewogICAg LyogSGFuZGxlIHN1Yi04LWJ5dGUgcXVhbnRpdGllcy4gICovCiAgICBpZiAobGVuIDw9IDApCi1J bmRleDogZ2RiLTguMC9nZGIvcHJpbnRjbWQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3Jp Zy9nZGIvcHJpbnRjbWQuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgxMDc4MDczNSArMDIwMAotKysr IGdkYi04LjAvZ2RiL3ByaW50Y21kLmMJMjAxNy0wOC0xOSAyMDowNToxMC4wODE4NzY4MjMgKzAy MDAKLUBAIC0yODAsNyArMjgwLDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvcHBjLWxpbnV4LXRkZXAu YyBiL2dkYi9wcGMtbGludXgtdGRlcC5jCitpbmRleCAwZTQzYTY0YjY5Li4yMGJlMmRhNjNiIDEw MDY0NAorLS0tIGEvZ2RiL3BwYy1saW51eC10ZGVwLmMKKysrKyBiL2dkYi9wcGMtbGludXgtdGRl cC5jCitAQCAtMTYyMCw3ICsxNjIwLDcgQEAgcHBjX2luaXRfbGludXhfcmVjb3JkX3RkZXAgKHN0 cnVjdCBsaW51eF9yZWNvcmRfdGRlcCAqcmVjb3JkX3RkZXAsCisgCisgY29uc3Qgc3RydWN0IGZs b2F0Zm9ybWF0ICoqCisgcHBjX2Zsb2F0Zm9ybWF0X2Zvcl90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIGlu dCBsZW4pCisrICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLCBMT05H RVNUIGxlbikKKyB7CisgICBpZiAobGVuID09IDEyOCAmJiBuYW1lKQorICAgICB7CitkaWZmIC0t Z2l0IGEvZ2RiL3ByaW50Y21kLmMgYi9nZGIvcHJpbnRjbWQuYworaW5kZXggMzg2NDI2NDFiOS4u ZDU3M2ZjOTA5ZSAxMDA2NDQKKy0tLSBhL2dkYi9wcmludGNtZC5jCisrKysgYi9nZGIvcHJpbnRj bWQuYworQEAgLTI3Nyw3ICsyNzcsNyBAQCBwcmludF9mb3JtYXR0ZWQgKHN0cnVjdCB2YWx1ZSAq dmFsLCBpbnQgc2l6ZSwKICAJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQogIHsKICAgIHN0cnVj dCB0eXBlICp0eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAodmFsKSk7CkBAIC0yNDgz LDIwICsyNzY0LDIwIEBAIEluZGV4OiBnZGItOC4wL2dkYi9wcmludGNtZC5jCiAgCiAgICBpZiAo VkFMVUVfTFZBTCAodmFsKSA9PSBsdmFsX21lbW9yeSkKICAgICAgbmV4dF9hZGRyZXNzID0gdmFs dWVfYWRkcmVzcyAodmFsKSArIGxlbjsKLUBAIC0zNTcsNyArMzU3LDcgQEAKK0BAIC0zNTMsNyAr MzUzLDcgQEAgcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAoY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIs IHN0cnVjdCB0eXBlICp0eXBlLAorIAkJCWludCBzaXplLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt KQogIHsKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X3R5cGVfYXJjaCAodHlwZSk7 Ci0gICBMT05HRVNUIHZhbF9sb25nID0gMDsKIC0gIHVuc2lnbmVkIGludCBsZW4gPSBUWVBFX0xF TkdUSCAodHlwZSk7CiArICBVTE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7CiAgICBl bnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7 CiAgCiAgICAvKiBTdHJpbmcgcHJpbnRpbmcgc2hvdWxkIGdvIHRocm91Z2ggdmFsX3ByaW50X3Nj YWxhcl9mb3JtYXR0ZWQuICAqLwotSW5kZXg6IGdkYi04LjAvZ2RiL3Byb2Nmcy5jCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9wcm9jZnMuYwkyMDE3LTA4LTE5IDIwOjA0OjU5Ljgx MTc4MDc0NCArMDIwMAotKysrIGdkYi04LjAvZ2RiL3Byb2Nmcy5jCTIwMTctMDgtMTkgMjA6MDU6 MTAuMDgyODc2ODMyICswMjAwCi1AQCAtNDg2NCw3ICs0ODY0LDcgQEAKK2RpZmYgLS1naXQgYS9n ZGIvcHJvY2ZzLmMgYi9nZGIvcHJvY2ZzLmMKK2luZGV4IDg4OGRjNjk1YzUuLjFkZDM4M2FlY2Ig MTAwNjQ0CistLS0gYS9nZGIvcHJvY2ZzLmMKKysrKyBiL2dkYi9wcm9jZnMuYworQEAgLTMzOTks NyArMzM5OSw3IEBAIHByb2Nmc19yZW1vdmVfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMg KnNlbGYsCiAgCiAgc3RhdGljIGludAogIHByb2Nmc19yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9p bnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLApAQCAtMjUwNSw2MCArMjc4Niw5MCBAQCBJbmRl eDogZ2RiLTguMC9nZGIvcHJvY2ZzLmMKICB7CiAgICAvKiBUaGUgbWFuIHBhZ2UgZm9yIHByb2Mo NCkgb24gU29sYXJpcyAyLjYgYW5kIHVwIHNheXMgdGhhdCB0aGUKICAgICAgIHN5c3RlbSBjYW4g c3VwcG9ydCAidGhvdXNhbmRzIiBvZiBoYXJkd2FyZSB3YXRjaHBvaW50cywgYnV0IGdpdmVzCi1J bmRleDogZ2RiLTguMC9nZGIvcmVnY2FjaGUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3Jp Zy9nZGIvcmVnY2FjaGUuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgxMTc4MDc0NCArMDIwMAotKysr IGdkYi04LjAvZ2RiL3JlZ2NhY2hlLmMJMjAxNy0wOC0xOSAyMDowNToxMC4wODI4NzY4MzIgKzAy MDAKLUBAIC05ODgsNyArOTg4LDcgQEAKLSAKLSBzdGF0aWMgZW51bSByZWdpc3Rlcl9zdGF0dXMK LSByZWdjYWNoZV94ZmVyX3BhcnQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdu dW0sCi0tCQkgICAgaW50IG9mZnNldCwgaW50IGxlbiwgdm9pZCAqaW4sIGNvbnN0IHZvaWQgKm91 dCwKLSsJCSAgICBMT05HRVNUIG9mZnNldCwgTE9OR0VTVCBsZW4sIHZvaWQgKmluLCBjb25zdCB2 b2lkICpvdXQsCi0gCQkgICAgZW51bSByZWdpc3Rlcl9zdGF0dXMgKCpyZWFkKSAoc3RydWN0IHJl Z2NhY2hlICpyZWdjYWNoZSwKLSAJCQkJCQkgIGludCByZWdudW0sCi0gCQkJCQkJICBnZGJfYnl0 ZSAqYnVmKSwKLUBAIC0xMDMzLDcgKzEwMzMsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9yZWdjYWNo ZS5jIGIvZ2RiL3JlZ2NhY2hlLmMKK2luZGV4IGFjOTA1YzZlNDkuLjdhZWE5ZGYwNmEgMTAwNjQ0 CistLS0gYS9nZGIvcmVnY2FjaGUuYworKysrIGIvZ2RiL3JlZ2NhY2hlLmMKK0BAIC04OTcsNyAr ODk3LDcgQEAgdHlwZWRlZiB2b2lkIChyZWdjYWNoZV93cml0ZV9mdHlwZSkgKHN0cnVjdCByZWdj YWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0sCisgCQkJCSAgICAgY29uc3Qgdm9pZCAqYnVmKTsK KyAKKyBlbnVtIHJlZ2lzdGVyX3N0YXR1cworLXJlZ2NhY2hlOjp4ZmVyX3BhcnQgKGludCByZWdu dW0sIGludCBvZmZzZXQsIGludCBsZW4sIHZvaWQgKmluLAorK3JlZ2NhY2hlOjp4ZmVyX3BhcnQg KGludCByZWdudW0sIExPTkdFU1Qgb2Zmc2V0LCBMT05HRVNUIGxlbiwgdm9pZCAqaW4sCisgCQkg ICAgIGNvbnN0IHZvaWQgKm91dCwgYm9vbCBpc19yYXcpCisgeworICAgc3RydWN0IGdkYmFyY2gg KmdkYmFyY2ggPSBhcmNoICgpOworQEAgLTk0MSwxMyArOTQxLDEzIEBAIHJlZ2NhY2hlOjp4ZmVy X3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sIHZvaWQgKmluLAogIAogIGVu dW0gcmVnaXN0ZXJfc3RhdHVzCiAgcmVnY2FjaGVfcmF3X3JlYWRfcGFydCAoc3RydWN0IHJlZ2Nh Y2hlICpyZWdjYWNoZSwgaW50IHJlZ251bSwKIC0JCQlpbnQgb2Zmc2V0LCBpbnQgbGVuLCBnZGJf Ynl0ZSAqYnVmKQogKwkJCWludCBvZmZzZXQsIExPTkdFU1QgbGVuLCBnZGJfYnl0ZSAqYnVmKQog IHsKLSAgIHN0cnVjdCByZWdjYWNoZV9kZXNjciAqZGVzY3IgPSByZWdjYWNoZS0+ZGVzY3I7Cisg ICByZXR1cm4gcmVnY2FjaGUtPnJhd19yZWFkX3BhcnQgKHJlZ251bSwgb2Zmc2V0LCBsZW4sIGJ1 Zik7CisgfQogIAotQEAgLTEwNDQsNyArMTA0NCw3IEBACisgZW51bSByZWdpc3Rlcl9zdGF0dXMK Ky1yZWdjYWNoZTo6cmF3X3JlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxl biwgZ2RiX2J5dGUgKmJ1ZikKKytyZWdjYWNoZTo6cmF3X3JlYWRfcGFydCAoaW50IHJlZ251bSwg aW50IG9mZnNldCwgTE9OR0VTVCBsZW4sIGdkYl9ieXRlICpidWYpCisgeworICAgYXNzZXJ0X3Jl Z251bSAocmVnbnVtKTsKKyAgIHJldHVybiB4ZmVyX3BhcnQgKHJlZ251bSwgb2Zmc2V0LCBsZW4s IGJ1ZiwgTlVMTCwgdHJ1ZSk7CitAQCAtOTU1LDEzICs5NTUsMTMgQEAgcmVnY2FjaGU6OnJhd19y ZWFkX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sIGdkYl9ieXRlICpidWYp CiAgCiAgdm9pZAogIHJlZ2NhY2hlX3Jhd193cml0ZV9wYXJ0IChzdHJ1Y3QgcmVnY2FjaGUgKnJl Z2NhY2hlLCBpbnQgcmVnbnVtLAogLQkJCSBpbnQgb2Zmc2V0LCBpbnQgbGVuLCBjb25zdCBnZGJf Ynl0ZSAqYnVmKQogKwkJCSBpbnQgb2Zmc2V0LCBMT05HRVNUIGxlbiwgY29uc3QgZ2RiX2J5dGUg KmJ1ZikKICB7Ci0gICBzdHJ1Y3QgcmVnY2FjaGVfZGVzY3IgKmRlc2NyID0gcmVnY2FjaGUtPmRl c2NyOworICAgcmVnY2FjaGUtPnJhd193cml0ZV9wYXJ0IChyZWdudW0sIG9mZnNldCwgbGVuLCBi dWYpOworIH0KICAKLUBAIC0xMDU1LDcgKzEwNTUsNyBAQAorIHZvaWQKKy1yZWdjYWNoZTo6cmF3 X3dyaXRlX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCisrcmVnY2FjaGU6 OnJhd193cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBMT05HRVNUIGxlbiwKKyAJ CQkgIGNvbnN0IGdkYl9ieXRlICpidWYpCisgeworICAgYXNzZXJ0X3JlZ251bSAocmVnbnVtKTsK K0BAIC05NzAsMTQgKzk3MCwxNSBAQCByZWdjYWNoZTo6cmF3X3dyaXRlX3BhcnQgKGludCByZWdu dW0sIGludCBvZmZzZXQsIGludCBsZW4sCiAgCiAgZW51bSByZWdpc3Rlcl9zdGF0dXMKICByZWdj YWNoZV9jb29rZWRfcmVhZF9wYXJ0IChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgcmVn bnVtLAogLQkJCSAgIGludCBvZmZzZXQsIGludCBsZW4sIGdkYl9ieXRlICpidWYpCiArCQkJICAg TE9OR0VTVCBvZmZzZXQsIExPTkdFU1QgbGVuLCBnZGJfYnl0ZSAqYnVmKQogIHsKLSAgIHN0cnVj dCByZWdjYWNoZV9kZXNjciAqZGVzY3IgPSByZWdjYWNoZS0+ZGVzY3I7CisgICByZXR1cm4gcmVn Y2FjaGUtPmNvb2tlZF9yZWFkX3BhcnQgKHJlZ251bSwgb2Zmc2V0LCBsZW4sIGJ1Zik7CisgfQog IAotQEAgLTEwNjYsNyArMTA2Niw3IEBACisgCisgZW51bSByZWdpc3Rlcl9zdGF0dXMKKy1yZWdj YWNoZTo6Y29va2VkX3JlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwg Z2RiX2J5dGUgKmJ1ZikKKytyZWdjYWNoZTo6Y29va2VkX3JlYWRfcGFydCAoaW50IHJlZ251bSwg TE9OR0VTVCBvZmZzZXQsIExPTkdFU1QgbGVuLAorKwkJCSAgICBnZGJfYnl0ZSAqYnVmKQorIHsK KyAgIGdkYl9hc3NlcnQgKHJlZ251bSA+PSAwICYmIHJlZ251bSA8IG1fZGVzY3ItPm5yX2Nvb2tl ZF9yZWdpc3RlcnMpOworICAgcmV0dXJuIHhmZXJfcGFydCAocmVnbnVtLCBvZmZzZXQsIGxlbiwg YnVmLCBOVUxMLCBmYWxzZSk7CitAQCAtOTg1LDEzICs5ODYsMTMgQEAgcmVnY2FjaGU6OmNvb2tl ZF9yZWFkX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sIGdkYl9ieXRlICpi dWYpCiAgCiAgdm9pZAogIHJlZ2NhY2hlX2Nvb2tlZF93cml0ZV9wYXJ0IChzdHJ1Y3QgcmVnY2Fj aGUgKnJlZ2NhY2hlLCBpbnQgcmVnbnVtLAogLQkJCSAgICBpbnQgb2Zmc2V0LCBpbnQgbGVuLCBj b25zdCBnZGJfYnl0ZSAqYnVmKQogKwkJCSAgICBMT05HRVNUIG9mZnNldCwgTE9OR0VTVCBsZW4s IGNvbnN0IGdkYl9ieXRlICpidWYpCiAgewotICAgc3RydWN0IHJlZ2NhY2hlX2Rlc2NyICpkZXNj ciA9IHJlZ2NhY2hlLT5kZXNjcjsKKyAgIHJlZ2NhY2hlLT5jb29rZWRfd3JpdGVfcGFydCAocmVn bnVtLCBvZmZzZXQsIGxlbiwgYnVmKTsKKyB9CiAgCi1JbmRleDogZ2RiLTguMC9nZGIvcmVnY2Fj aGUuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvcmVnY2FjaGUuaAkyMDE3LTA4 LTE5IDIwOjA0OjU5LjgxMjc4MDc1NCArMDIwMAotKysrIGdkYi04LjAvZ2RiL3JlZ2NhY2hlLmgJ MjAxNy0wOC0xOSAyMDowNToxMC4wODM4NzY4NDEgKzAyMDAKLUBAIC05NCw5ICs5NCw5IEBACisg dm9pZAorLXJlZ2NhY2hlOjpjb29rZWRfd3JpdGVfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNl dCwgaW50IGxlbiwKKytyZWdjYWNoZTo6Y29va2VkX3dyaXRlX3BhcnQgKGludCByZWdudW0sIExP TkdFU1Qgb2Zmc2V0LCBMT05HRVNUIGxlbiwKKyAJCQkgICAgIGNvbnN0IGdkYl9ieXRlICpidWYp CisgeworICAgZ2RiX2Fzc2VydCAocmVnbnVtID49IDAgJiYgcmVnbnVtIDwgbV9kZXNjci0+bnJf Y29va2VkX3JlZ2lzdGVycyk7CitkaWZmIC0tZ2l0IGEvZ2RiL3JlZ2NhY2hlLmggYi9nZGIvcmVn Y2FjaGUuaAoraW5kZXggYzVlZjQxYjdhNi4uMGQ0ZjJjZGNjYyAxMDA2NDQKKy0tLSBhL2dkYi9y ZWdjYWNoZS5oCisrKysgYi9nZGIvcmVnY2FjaGUuaAorQEAgLTgyLDkgKzgyLDkgQEAgZXh0ZXJu IHZvaWQgcmVnY2FjaGVfcmF3X3NldF9jYWNoZWRfdmFsdWUKICAKICBleHRlcm4gZW51bSByZWdp c3Rlcl9zdGF0dXMKICAgIHJlZ2NhY2hlX3Jhd19yZWFkX3BhcnQgKHN0cnVjdCByZWdjYWNoZSAq cmVnY2FjaGUsIGludCByZWdudW0sCkBAIC0yNTcwLDcgKzI4ODEsNyBAQCBJbmRleDogZ2RiLTgu MC9nZGIvcmVnY2FjaGUuaAogIAogIHZvaWQgcmVnY2FjaGVfaW52YWxpZGF0ZSAoc3RydWN0IHJl Z2NhY2hlICpyZWdjYWNoZSwgaW50IHJlZ251bSk7CiAgCi1AQCAtMTMzLDEwICsxMzMsMTEgQEAK K0BAIC0xMjEsMTAgKzEyMSwxMSBAQCBleHRlcm4gdm9pZCByZWdjYWNoZV9jb29rZWRfd3JpdGVf dW5zaWduZWQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsCiAgICAgd3JpdGUgc3R5bGUgb3Bl cmF0aW9ucy4gICovCiAgCiAgZW51bSByZWdpc3Rlcl9zdGF0dXMgcmVnY2FjaGVfY29va2VkX3Jl YWRfcGFydCAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKQEAgLTI1ODUsMTEgKzI4OTYsNDIg QEAgSW5kZXg6IGdkYi04LjAvZ2RiL3JlZ2NhY2hlLmgKICAKICAvKiBTcGVjaWFsIHJvdXRpbmVz IHRvIHJlYWQvd3JpdGUgdGhlIFBDLiAgKi8KICAKLUluZGV4OiBnZGItOC4wL2dkYi9yZW1vdGUu YwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvcmVtb3RlLmMJMjAxNy0wOC0xOSAy MDowNDo1OS44MTQ3ODA3NzIgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9yZW1vdGUuYwkyMDE3LTA4 LTE5IDIwOjA1OjEwLjA4NTg3Njg2MCArMDIwMAotQEAgLTk5MTUsNyArOTkxNSw3IEBACitAQCAt MzAyLDE1ICszMDMsMTUgQEAgcHVibGljOgorIAorICAgdm9pZCBpbnZhbGlkYXRlIChpbnQgcmVn bnVtKTsKKyAKKy0gIGVudW0gcmVnaXN0ZXJfc3RhdHVzIHJhd19yZWFkX3BhcnQgKGludCByZWdu dW0sIGludCBvZmZzZXQsIGludCBsZW4sCisrICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyByYXdfcmVh ZF9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBMT05HRVNUIGxlbiwKKyAJCQkJICAgICAg Z2RiX2J5dGUgKmJ1Zik7CisgCistICB2b2lkIHJhd193cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBp bnQgb2Zmc2V0LCBpbnQgbGVuLCBjb25zdCBnZGJfYnl0ZSAqYnVmKTsKKysgIHZvaWQgcmF3X3dy aXRlX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIExPTkdFU1QgbGVuLCBjb25zdCBnZGJf Ynl0ZSAqYnVmKTsKKyAKKy0gIGVudW0gcmVnaXN0ZXJfc3RhdHVzIGNvb2tlZF9yZWFkX3BhcnQg KGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCisrICBlbnVtIHJlZ2lzdGVyX3N0YXR1 cyBjb29rZWRfcmVhZF9wYXJ0IChpbnQgcmVnbnVtLCBMT05HRVNUIG9mZnNldCwgTE9OR0VTVCBs ZW4sCisgCQkJCQkgZ2RiX2J5dGUgKmJ1Zik7CisgCistICB2b2lkIGNvb2tlZF93cml0ZV9wYXJ0 IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLAorKyAgdm9pZCBjb29rZWRfd3JpdGVf cGFydCAoaW50IHJlZ251bSwgTE9OR0VTVCBvZmZzZXQsIExPTkdFU1QgbGVuLAorIAkJCSAgY29u c3QgZ2RiX2J5dGUgKmJ1Zik7CisgCisgICB2b2lkIHN1cHBseV9yZWdzZXQgKGNvbnN0IHN0cnVj dCByZWdzZXQgKnJlZ3NldCwKK0BAIC0zNDksOCArMzUwLDggQEAgcHJpdmF0ZToKKyAKKyAgIHZv aWQgcmVzdG9yZSAoc3RydWN0IHJlZ2NhY2hlICpzcmMpOworIAorLSAgZW51bSByZWdpc3Rlcl9z dGF0dXMgeGZlcl9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLCB2b2lkICpp biwKKy0JCQkJICBjb25zdCB2b2lkICpvdXQsIGJvb2wgaXNfcmF3KTsKKysgIGVudW0gcmVnaXN0 ZXJfc3RhdHVzIHhmZXJfcGFydCAoaW50IHJlZ251bSwgTE9OR0VTVCBvZmZzZXQsIExPTkdFU1Qg bGVuLAorKwkJCQkgIHZvaWQgKmluLCBjb25zdCB2b2lkICpvdXQsIGJvb2wgaXNfcmF3KTsKKyAK KyAgIHZvaWQgdHJhbnNmZXJfcmVnc2V0IChjb25zdCBzdHJ1Y3QgcmVnc2V0ICpyZWdzZXQsCisg CQkJc3RydWN0IHJlZ2NhY2hlICpvdXRfcmVnY2FjaGUsCitkaWZmIC0tZ2l0IGEvZ2RiL3JlbW90 ZS5jIGIvZ2RiL3JlbW90ZS5jCitpbmRleCAwYTYyYWUwMGU1Li40N2QzYTA0ZGQ5IDEwMDY0NAor LS0tIGEvZ2RiL3JlbW90ZS5jCisrKysgYi9nZGIvcmVtb3RlLmMKK0BAIC05OTY0LDcgKzk5NjQs NyBAQCBpbnQgcmVtb3RlX2h3X2JyZWFrcG9pbnRfbGltaXQgPSAtMTsKICAKICBzdGF0aWMgaW50 CiAgcmVtb3RlX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMg KnNlbGYsCkBAIC0yNTk4LDExICsyOTQwLDQ2IEBAIEluZGV4OiBnZGItOC4wL2dkYi9yZW1vdGUu YwogIHsKICAgIGlmIChyZW1vdGVfaHdfd2F0Y2hwb2ludF9sZW5ndGhfbGltaXQgPT0gMCkKICAg ICAgcmV0dXJuIDA7Ci1JbmRleDogZ2RiLTguMC9nZGIvc3B1LW11bHRpYXJjaC5jCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9zcHUtbXVsdGlhcmNoLmMJMjAxNy0wOC0xOSAyMDow NDo1OS44MTQ3ODA3NzIgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9zcHUtbXVsdGlhcmNoLmMJMjAx Ny0wOC0xOSAyMDowNToxMC4wODU4NzY4NjAgKzAyMDAKLUBAIC0xMjcsNyArMTI3LDcgQEAKK2Rp ZmYgLS1naXQgYS9nZGIvcnVzdC1sYW5nLmMgYi9nZGIvcnVzdC1sYW5nLmMKK2luZGV4IDE4NTNm NjgzZTkuLjVkNjQ5NzZmNjEgMTAwNjQ0CistLS0gYS9nZGIvcnVzdC1sYW5nLmMKKysrKyBiL2dk Yi9ydXN0LWxhbmcuYworQEAgLTQ3Miw3ICs0NzIsNyBAQCBydXN0X3ByaW50Y2hhciAoaW50IGMs IHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQorIAorIHN0YXRpYyB2 b2lkCisgcnVzdF9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0IHR5cGUg KnR5cGUsCistCSAgICAgICBjb25zdCBnZGJfYnl0ZSAqc3RyaW5nLCB1bnNpZ25lZCBpbnQgbGVu Z3RoLAorKwkgICAgICAgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywgVUxPTkdFU1QgbGVuZ3RoLAor IAkgICAgICAgY29uc3QgY2hhciAqdXNlcl9lbmNvZGluZywgaW50IGZvcmNlX2VsbGlwc2VzLAor IAkgICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCisgewor QEAgLTYxOCw3ICs2MTgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGdlbmVyaWNfdmFsX3ByaW50 X2RlY29yYXRpb25zIHJ1c3RfZGVjb3JhdGlvbnMgPQorIC8qIGxhX3ZhbF9wcmludCBpbXBsZW1l bnRhdGlvbiBmb3IgUnVzdC4gICovCisgCisgc3RhdGljIHZvaWQKKy1ydXN0X3ZhbF9wcmludCAo c3RydWN0IHR5cGUgKnR5cGUsIGludCBlbWJlZGRlZF9vZmZzZXQsCisrcnVzdF92YWxfcHJpbnQg KHN0cnVjdCB0eXBlICp0eXBlLCBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwKKyAJCUNPUkVfQURE UiBhZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKKyAJCXN0cnVj dCB2YWx1ZSAqdmFsLAorIAkJY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlv bnMpCitkaWZmIC0tZ2l0IGEvZ2RiL3MzOTAtbGludXgtbmF0LmMgYi9nZGIvczM5MC1saW51eC1u YXQuYworaW5kZXggMDNiMTRhOWVjYy4uMmY4NGI0MTI0NCAxMDA2NDQKKy0tLSBhL2dkYi9zMzkw LWxpbnV4LW5hdC5jCisrKysgYi9nZGIvczM5MC1saW51eC1uYXQuYworQEAgLTkyMSw3ICs5MjEs NyBAQCBzMzkwX3JlbW92ZV9od19icmVha3BvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwK KyAKKyBzdGF0aWMgaW50CisgczM5MF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVj dCB0YXJnZXRfb3BzICpzZWxmLAorLQkJCQkgIENPUkVfQUREUiBhZGRyLCBpbnQgY250KQorKwkJ CQkgIENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGNudCkKKyB7CisgICByZXR1cm4gMTsKKyB9Citk aWZmIC0tZ2l0IGEvZ2RiL3NwdS1tdWx0aWFyY2guYyBiL2dkYi9zcHUtbXVsdGlhcmNoLmMKK2lu ZGV4IDM5Mjk5NTkwMGUuLmExNzRiZjVjYjIgMTAwNjQ0CistLS0gYS9nZGIvc3B1LW11bHRpYXJj aC5jCisrKysgYi9nZGIvc3B1LW11bHRpYXJjaC5jCitAQCAtMTI4LDcgKzEyOCw3IEBAIHNwdV90 aHJlYWRfYXJjaGl0ZWN0dXJlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzLCBwdGlkX3QgcHRpZCkK ICAvKiBPdmVycmlkZSB0aGUgdG9fcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IHJvdXRpbmUu ICAqLwogIHN0YXRpYyBpbnQKICBzcHVfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1 Y3QgdGFyZ2V0X29wcyAqc2VsZiwKQEAgLTI2MTEsMTEgKzI5ODgsMTEgQEAgSW5kZXg6IGdkYi04 LjAvZ2RiL3NwdS1tdWx0aWFyY2guYwogIHsKICAgIHN0cnVjdCB0YXJnZXRfb3BzICpvcHNfYmVu ZWF0aCA9IGZpbmRfdGFyZ2V0X2JlbmVhdGggKHNlbGYpOwogIAotSW5kZXg6IGdkYi04LjAvZ2Ri L3N0YWNrLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3N0YWNrLmMJMjAxNy0w OC0xOSAyMDowNDo1OS44MTU3ODA3ODIgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9zdGFjay5jCTIw MTctMDgtMTkgMjA6MDU6MTAuMDg2ODc2ODY5ICswMjAwCi1AQCAtMTg5LDcgKzE4OSw3IEBACitk aWZmIC0tZ2l0IGEvZ2RiL3N0YWNrLmMgYi9nZGIvc3RhY2suYworaW5kZXggNmJkMGQ0NWMzMi4u YjI3ZmQxNThlNyAxMDA2NDQKKy0tLSBhL2dkYi9zdGFjay5jCisrKysgYi9nZGIvc3RhY2suYwor QEAgLTE5MCw3ICsxOTAsNyBAQCBwcmludF9zdGFja19mcmFtZSAoc3RydWN0IGZyYW1lX2luZm8g KmZyYW1lLCBpbnQgcHJpbnRfbGV2ZWwsCiAgICAgYXJndW1lbnQgKG5vdCBqdXN0IHRoZSBmaXJz dCBuYW1lbGVzcyBhcmd1bWVudCkuICAqLwogIAogIHN0YXRpYyB2b2lkCkBAIC0yNjI0LDcgKzMw MDEsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvc3RhY2suYwogIAkJCSAgIGludCBmaXJzdCwgc3Ry dWN0IHVpX2ZpbGUgKnN0cmVhbSkKICB7CiAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdl dF9mcmFtZV9hcmNoIChmcmFtZSk7Ci1AQCAtNTQ2LDcgKzU0Niw3IEBACitAQCAtNTQwLDcgKzU0 MCw3IEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVjdCBzeW1ib2wgKmZ1bmMsIHN0cnVjdCBmcmFt ZV9pbmZvICpmcmFtZSwKICAgIC8qIE9mZnNldCBvZiBuZXh0IHN0YWNrIGFyZ3VtZW50IGJleW9u ZCB0aGUgb25lIHdlIGhhdmUgc2VlbiB0aGF0IGlzCiAgICAgICBhdCB0aGUgaGlnaGVzdCBvZmZz ZXQsIG9yIC0xIGlmIHdlIGhhdmVuJ3QgY29tZSB0byBhIHN0YWNrCiAgICAgICBhcmd1bWVudCB5 ZXQuICAqLwpAQCAtMjYzMyw3ICszMDEwLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3N0YWNrLmMK ICAgIC8qIE51bWJlciBvZiBpbnRzIG9mIGFyZ3VtZW50cyB0aGF0IHdlIGhhdmUgcHJpbnRlZCBz byBmYXIuICAqLwogICAgaW50IGFyZ3NfcHJpbnRlZCA9IDA7CiAgICAvKiBUcnVlIGlmIHdlIHNo b3VsZCBwcmludCBhcmd1bWVudHMsIGZhbHNlIG90aGVyd2lzZS4gICovCi1AQCAtNTc1LDggKzU3 NSw4IEBACitAQCAtNTY5LDggKzU2OSw4IEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVjdCBzeW1i b2wgKmZ1bmMsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKICAJICAgIGNhc2UgTE9DX0FSRzoK ICAJICAgIGNhc2UgTE9DX1JFRl9BUkc6CiAgCSAgICAgIHsKQEAgLTI2NDQsNyArMzAyMSw3IEBA IEluZGV4OiBnZGItOC4wL2dkYi9zdGFjay5jCiAgCiAgCQkvKiBDb21wdXRlIGFkZHJlc3Mgb2Yg bmV4dCBhcmd1bWVudCBieSBhZGRpbmcgdGhlIHNpemUgb2YKICAJCSAgIHRoaXMgYXJndW1lbnQg YW5kIHJvdW5kaW5nIHRvIGFuIGludCBib3VuZGFyeS4gICovCi1AQCAtNzExLDcgKzcxMSw3IEBA CitAQCAtNzA1LDcgKzcwNSw3IEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVjdCBzeW1ib2wgKmZ1 bmMsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKICAgICAgIGVub3VnaCBhYm91dCB0aGUgc3Rh Y2sgdG8gZmluZCB0aGVtLiAgKi8KICAgIGlmIChudW0gIT0gLTEpCiAgICAgIHsKQEAgLTI2NTMs MTEgKzMwMzAsMTEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3N0YWNrLmMKICAKICAgICAgICBpZiAo aGlnaGVzdF9vZmZzZXQgPT0gLTEpCiAgCXN0YXJ0ID0gZ2RiYXJjaF9mcmFtZV9hcmdzX3NraXAg KGdldF9mcmFtZV9hcmNoIChmcmFtZSkpOwotSW5kZXg6IGdkYi04LjAvZ2RiL3N5bW1pc2MuYwot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvc3ltbWlzYy5jCTIwMTctMDgtMTkgMjA6 MDQ6NTkuODE1NzgwNzgyICswMjAwCi0rKysgZ2RiLTguMC9nZGIvc3ltbWlzYy5jCTIwMTctMDgt MTkgMjA6MDU6MTAuMDg2ODc2ODY5ICswMjAwCi1AQCAtNjA0LDExICs2MDQsMTEgQEAKK2RpZmYg LS1naXQgYS9nZGIvc3ltbWlzYy5jIGIvZ2RiL3N5bW1pc2MuYworaW5kZXggOTZhYTMwZjRmYi4u ZWE3NjBlMTBlNSAxMDA2NDQKKy0tLSBhL2dkYi9zeW1taXNjLmMKKysrKyBiL2dkYi9zeW1taXNj LmMKK0BAIC01ODUsMTEgKzU4NSwxMSBAQCBwcmludF9zeW1ib2wgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBzdHJ1Y3Qgc3ltYm9sICpzeW1ib2wsCiAgCiAgCWNhc2UgTE9DX0NPTlNUX0JZVEVT OgogIAkgIHsKQEAgLTI2NzIsMTEgKzMwNDksNDEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3N5bW1p c2MuYwogIAkgICAgZm9yIChpID0gMDsgaSA8IFRZUEVfTEVOR1RIICh0eXBlKTsgaSsrKQogIAkg ICAgICBmcHJpbnRmX2ZpbHRlcmVkIChvdXRmaWxlLCAiICUwMngiLAogIAkJCQkodW5zaWduZWQp IFNZTUJPTF9WQUxVRV9CWVRFUyAoc3ltYm9sKVtpXSk7Ci1JbmRleDogZ2RiLTguMC9nZGIvdGFy Z2V0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3RhcmdldC5jCTIwMTctMDgt MTkgMjA6MDQ6NTkuODE2NzgwNzkxICswMjAwCi0rKysgZ2RiLTguMC9nZGIvdGFyZ2V0LmMJMjAx Ny0wOC0xOSAyMDowNToxMC4wODc4NzY4NzkgKzAyMDAKLUBAIC01Nyw3ICs1Nyw3IEBACitkaWZm IC0tZ2l0IGEvZ2RiL3RhcmdldC1kZWxlZ2F0ZXMuYyBiL2dkYi90YXJnZXQtZGVsZWdhdGVzLmMK K2luZGV4IDk2OTEwNzRiZmUuLjA0Y2FkYzFkNGIgMTAwNjQ0CistLS0gYS9nZGIvdGFyZ2V0LWRl bGVnYXRlcy5jCisrKysgYi9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCitAQCAtNzYwLDE0ICs3NjAs MTQgQEAgZGVidWdfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydWN0IHRhcmdldF9v cHMgKnNlbGYsIENPUkVfQUREUiBhcmcxLCBDT1IKKyB9CisgCisgc3RhdGljIGludAorLWRlbGVn YXRlX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYs IENPUkVfQUREUiBhcmcxLCBpbnQgYXJnMikKKytkZWxlZ2F0ZV9yZWdpb25fb2tfZm9yX2h3X3dh dGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgYXJnMSwgTE9OR0VT VCBhcmcyKQorIHsKKyAgIHNlbGYgPSBzZWxmLT5iZW5lYXRoOworICAgcmV0dXJuIHNlbGYtPnRv X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc2VsZiwgYXJnMSwgYXJnMik7CisgfQorIAor IHN0YXRpYyBpbnQKKy1kZWJ1Z19yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0 YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgYXJnMSwgaW50IGFyZzIpCisrZGVidWdfcmVnaW9u X29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwgQ09SRV9BRERS IGFyZzEsIExPTkdFU1QgYXJnMikKKyB7CisgICBpbnQgcmVzdWx0OworICAgZnByaW50Zl91bmZp bHRlcmVkIChnZGJfc3RkbG9nLCAiLT4gJXMtPnRvX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2lu dCAoLi4uKVxuIiwgZGVidWdfdGFyZ2V0LnRvX3Nob3J0bmFtZSk7CitAQCAtNzc3LDcgKzc3Nyw3 IEBAIGRlYnVnX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMg KnNlbGYsIENPUkVfQUREUiBhcmcxLCBpbnQKKyAgIGZwdXRzX3VuZmlsdGVyZWQgKCIsICIsIGdk Yl9zdGRsb2cpOworICAgdGFyZ2V0X2RlYnVnX3ByaW50X0NPUkVfQUREUiAoYXJnMSk7CisgICBm cHV0c191bmZpbHRlcmVkICgiLCAiLCBnZGJfc3RkbG9nKTsKKy0gIHRhcmdldF9kZWJ1Z19wcmlu dF9pbnQgKGFyZzIpOworKyAgdGFyZ2V0X2RlYnVnX3ByaW50X0xPTkdFU1QgKGFyZzIpOworICAg ZnB1dHNfdW5maWx0ZXJlZCAoIikgPSAiLCBnZGJfc3RkbG9nKTsKKyAgIHRhcmdldF9kZWJ1Z19w cmludF9pbnQgKHJlc3VsdCk7CisgICBmcHV0c191bmZpbHRlcmVkICgiXG4iLCBnZGJfc3RkbG9n KTsKK2RpZmYgLS1naXQgYS9nZGIvdGFyZ2V0LmMgYi9nZGIvdGFyZ2V0LmMKK2luZGV4IDNiZmM4 YjVhZWYuLmM5NDcxZjYxZmIgMTAwNjQ0CistLS0gYS9nZGIvdGFyZ2V0LmMKKysrKyBiL2dkYi90 YXJnZXQuYworQEAgLTU2LDcgKzU2LDcgQEAgc3RhdGljIGludCBkZWZhdWx0X3dhdGNocG9pbnRf YWRkcl93aXRoaW5fcmFuZ2UgKHN0cnVjdCB0YXJnZXRfb3BzICosCiAgCQkJCQkJIENPUkVfQURE UiwgQ09SRV9BRERSLCBpbnQpOwogIAogIHN0YXRpYyBpbnQgZGVmYXVsdF9yZWdpb25fb2tfZm9y X2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICosCkBAIC0yNjg1LDcgKzMwOTIsNyBA QCBJbmRleDogZ2RiLTguMC9nZGIvdGFyZ2V0LmMKICAKICBzdGF0aWMgdm9pZCBkZWZhdWx0X3Jj bWQgKHN0cnVjdCB0YXJnZXRfb3BzICosIGNvbnN0IGNoYXIgKiwgc3RydWN0IHVpX2ZpbGUgKik7 CiAgCi1AQCAtMzIyOCw3ICszMjI4LDcgQEAKK0BAIC0zMTEyLDcgKzMxMTIsNyBAQCB0YXJnZXRf ZmlsZWlvX3JlYWRfc3RyYWxsb2MgKHN0cnVjdCBpbmZlcmlvciAqaW5mLCBjb25zdCBjaGFyICpm aWxlbmFtZSkKICAKICBzdGF0aWMgaW50CiAgZGVmYXVsdF9yZWdpb25fb2tfZm9yX2h3X3dhdGNo cG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLApAQCAtMjY5NCwxMSArMzEwMSwxMSBAQCBJ bmRleDogZ2RiLTguMC9nZGIvdGFyZ2V0LmMKICB7CiAgICByZXR1cm4gKGxlbiA8PSBnZGJhcmNo X3B0cl9iaXQgKHRhcmdldF9nZGJhcmNoICgpKSAvIFRBUkdFVF9DSEFSX0JJVCk7CiAgfQotSW5k ZXg6IGdkYi04LjAvZ2RiL3RhcmdldC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dk Yi90YXJnZXQuaAkyMDE3LTA4LTE5IDIwOjA0OjU5LjgxNjc4MDc5MSArMDIwMAotKysrIGdkYi04 LjAvZ2RiL3RhcmdldC5oCTIwMTctMDgtMTkgMjA6MDU6MTAuMDg4ODc2ODg4ICswMjAwCi1AQCAt NTU1LDcgKzU1NSw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3RhcmdldC5oIGIvZ2RiL3RhcmdldC5o CitpbmRleCA5OTk1NDFkNWQyLi4zNDllODdkZTZmIDEwMDY0NAorLS0tIGEvZ2RiL3RhcmdldC5o CisrKysgYi9nZGIvdGFyZ2V0LmgKK0BAIC01NTAsNyArNTUwLDcgQEAgc3RydWN0IHRhcmdldF9v cHMKICAgICAgLyogRG9jdW1lbnRhdGlvbiBvZiB0aGlzIHJvdXRpbmUgaXMgcHJvdmlkZWQgd2l0 aCB0aGUgY29ycmVzcG9uZGluZwogICAgICAgICB0YXJnZXRfKiBtYWNyby4gICovCiAgICAgIGlu dCAoKnRvX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCkgKHN0cnVjdCB0YXJnZXRfb3BzICos CkBAIC0yNzA3LDExICszMTE0LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi90YXJnZXQuaAogICAg ICAgIFRBUkdFVF9ERUZBVUxUX0ZVTkMgKGRlZmF1bHRfcmVnaW9uX29rX2Zvcl9od193YXRjaHBv aW50KTsKICAKICAgICAgaW50ICgqdG9fY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uKSAo c3RydWN0IHRhcmdldF9vcHMgKiwKLUluZGV4OiBnZGItOC4wL2dkYi90cmFjZXBvaW50LmMKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3RyYWNlcG9pbnQuYwkyMDE3LTA4LTE5IDIw OjA0OjU5LjgxNzc4MDgwMCArMDIwMAotKysrIGdkYi04LjAvZ2RiL3RyYWNlcG9pbnQuYwkyMDE3 LTA4LTE5IDIwOjA1OjEwLjA4ODg3Njg4OCArMDIwMAotQEAgLTkwNCwxMCArOTA0LDEwIEBACitk aWZmIC0tZ2l0IGEvZ2RiL3RyYWNlcG9pbnQuYyBiL2dkYi90cmFjZXBvaW50LmMKK2luZGV4IDc2 ZDA1ZGZjMTMuLmRkOTRlYThjOGEgMTAwNjQ0CistLS0gYS9nZGIvdHJhY2Vwb2ludC5jCisrKysg Yi9nZGIvdHJhY2Vwb2ludC5jCitAQCAtODUyLDEwICs4NTIsMTAgQEAgY29sbGVjdGlvbl9saXN0 OjphZGRfcmVnaXN0ZXIgKHVuc2lnbmVkIGludCByZWdubykKICB2b2lkCiAgY29sbGVjdGlvbl9s aXN0OjphZGRfbWVtcmFuZ2UgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAogIAkJCSAgICAgICBp bnQgdHlwZSwgYmZkX3NpZ25lZF92bWEgYmFzZSwKQEAgLTI3MjQsNyArMzEzMSw3IEBAIEluZGV4 OiBnZGItOC4wL2dkYi90cmFjZXBvaW50LmMKICAKICAgIC8qIHR5cGU6IG1lbXJhbmdlX2Fic29s dXRlID09IG1lbW9yeSwgb3RoZXIgbiA9PSBiYXNlcmVnICovCiAgICAvKiBiYXNlOiBhZGRyIGlm IG1lbW9yeSwgb2Zmc2V0IGlmIHJlZyByZWxhdGl2ZS4gICovCi1AQCAtOTI3LDcgKzkyNyw3IEBA CitAQCAtODc1LDcgKzg3NSw3IEBAIGNvbGxlY3Rpb25fbGlzdDo6Y29sbGVjdF9zeW1ib2wgKHN0 cnVjdCBzeW1ib2wgKnN5bSwKICAJCQkJIENPUkVfQUREUiBzY29wZSwKICAJCQkJIGludCB0cmFj ZV9zdHJpbmcpCiAgewpAQCAtMjczMyw3ICszMTQwLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3Ry YWNlcG9pbnQuYwogICAgdW5zaWduZWQgaW50IHJlZzsKICAgIGJmZF9zaWduZWRfdm1hIG9mZnNl dDsKICAgIGludCB0cmVhdF9hc19leHByID0gMDsKLUBAIC05NDgsOCArOTQ4LDggQEAKK0BAIC04 OTYsOCArODk2LDggQEAgY29sbGVjdGlvbl9saXN0Ojpjb2xsZWN0X3N5bWJvbCAoc3RydWN0IHN5 bWJvbCAqc3ltLAogICAgICAgIG9mZnNldCA9IFNZTUJPTF9WQUxVRV9BRERSRVNTIChzeW0pOwog ICAgICAgIGlmIChpbmZvX3ZlcmJvc2UpCiAgCXsKQEAgLTI3NDQsNyArMzE1MSw3IEBAIEluZGV4 OiBnZGItOC4wL2dkYi90cmFjZXBvaW50LmMKICAJCQkgICBwYWRkcmVzcyAoZ2RiYXJjaCwgb2Zm c2V0KSk7CiAgCX0KICAgICAgICAvKiBBIHN0cnVjdCBtYXkgYmUgYSBDKysgY2xhc3Mgd2l0aCBz dGF0aWMgZmllbGRzLCBnbyB0byBnZW5lcmFsCi1AQCAtOTgxLDkgKzk4MSw5IEBACitAQCAtOTI5 LDkgKzkyOSw5IEBAIGNvbGxlY3Rpb25fbGlzdDo6Y29sbGVjdF9zeW1ib2wgKHN0cnVjdCBzeW1i b2wgKnN5bSwKICAgICAgICBvZmZzZXQgPSBmcmFtZV9vZmZzZXQgKyBTWU1CT0xfVkFMVUUgKHN5 bSk7CiAgICAgICAgaWYgKGluZm9fdmVyYm9zZSkKICAJewpAQCAtMjc1Niw3ICszMTYzLDcgQEAg SW5kZXg6IGdkYi04LjAvZ2RiL3RyYWNlcG9pbnQuYwogIAkJCSAgIHBhZGRyZXNzIChnZGJhcmNo LCBvZmZzZXQpLCByZWcpOwogIAl9CiAgICAgICAgYWRkX21lbXJhbmdlIChnZGJhcmNoLCByZWcs IG9mZnNldCwgbGVuKTsKLUBAIC05OTMsOSArOTkzLDkgQEAKK0BAIC05NDEsOSArOTQxLDkgQEAg Y29sbGVjdGlvbl9saXN0Ojpjb2xsZWN0X3N5bWJvbCAoc3RydWN0IHN5bWJvbCAqc3ltLAogICAg ICAgIG9mZnNldCA9IDA7CiAgICAgICAgaWYgKGluZm9fdmVyYm9zZSkKICAJewpAQCAtMjc2OCw3 ICszMTc1LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3RyYWNlcG9pbnQuYwogIAkJCSAgIHBhZGRy ZXNzIChnZGJhcmNoLCBvZmZzZXQpLCByZWcpOwogIAl9CiAgICAgICAgYWRkX21lbXJhbmdlIChn ZGJhcmNoLCByZWcsIG9mZnNldCwgbGVuKTsKLUBAIC0xMDA1LDkgKzEwMDUsOSBAQAorQEAgLTk1 Myw5ICs5NTMsOSBAQCBjb2xsZWN0aW9uX2xpc3Q6OmNvbGxlY3Rfc3ltYm9sIChzdHJ1Y3Qgc3lt Ym9sICpzeW0sCiAgICAgICAgb2Zmc2V0ID0gZnJhbWVfb2Zmc2V0ICsgU1lNQk9MX1ZBTFVFIChz eW0pOwogICAgICAgIGlmIChpbmZvX3ZlcmJvc2UpCiAgCXsKQEAgLTI3ODAsMTcgKzMxODcsMTcg QEAgSW5kZXg6IGdkYi04LjAvZ2RiL3RyYWNlcG9pbnQuYwogIAkJCSAgIHBhZGRyZXNzIChnZGJh cmNoLCBvZmZzZXQpLCByZWcpOwogIAl9CiAgICAgICAgYWRkX21lbXJhbmdlIChnZGJhcmNoLCBy ZWcsIG9mZnNldCwgbGVuKTsKLUBAIC0yNTg1LDcgKzI1ODUsOCBAQAorQEAgLTI1MDAsNyArMjUw MCw4IEBAIGluZm9fc2NvcGVfY29tbWFuZCAoY29uc3QgY2hhciAqYXJnc19pbiwgaW50IGZyb21f dHR5KQogICAgY29uc3QgY2hhciAqc3ltbmFtZTsKLSAgIGNoYXIgKnNhdmVfYXJncyA9IGFyZ3M7 CisgICBjb25zdCBjaGFyICpzYXZlX2FyZ3MgPSBhcmdzX2luOwogICAgc3RydWN0IGJsb2NrX2l0 ZXJhdG9yIGl0ZXI7CiAtICBpbnQgaiwgY291bnQgPSAwOwogKyAgaW50IGNvdW50ID0gMDsKICsg IExPTkdFU1QgajsKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoOwogICAgaW50IHJlZ25vOwot IAotQEAgLTI3MjcsOCArMjcyOCwxMSBAQAorICAgY29uc3QgY2hhciAqYXJncyA9IGFyZ3NfaW47 CitAQCAtMjY0NCw4ICsyNjQ1LDExIEBAIGluZm9fc2NvcGVfY29tbWFuZCAoY29uc3QgY2hhciAq YXJnc19pbiwgaW50IGZyb21fdHR5KQogIAkJfQogIAkgICAgfQogIAkgIGlmIChTWU1CT0xfVFlQ RSAoc3ltKSkKQEAgLTI4MDQsMTEgKzMyMTEsMjQgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3RyYWNl cG9pbnQuYwogIAl9CiAgICAgICAgaWYgKEJMT0NLX0ZVTkNUSU9OIChibG9jaykpCiAgCWJyZWFr OwotSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbGFyaXRoLmMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4w Lm9yaWcvZ2RiL3ZhbGFyaXRoLmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MTg3ODA4MTAgKzAyMDAK LSsrKyBnZGItOC4wL2dkYi92YWxhcml0aC5jCTIwMTctMDgtMTkgMjA6MDU6MTAuMDg5ODc2ODk3 ICswMjAwCi1AQCAtMTg4LDcgKzE4OCw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3RyYWNlcG9pbnQu aCBiL2dkYi90cmFjZXBvaW50LmgKK2luZGV4IDYwY2FhN2FkMzkuLmY2NzA3OWNkY2YgMTAwNjQ0 CistLS0gYS9nZGIvdHJhY2Vwb2ludC5oCisrKysgYi9nZGIvdHJhY2Vwb2ludC5oCitAQCAtMjU1 LDcgKzI1NSw3IEBAIHB1YmxpYzoKKyAgIHZvaWQgYWRkX3JlZ2lzdGVyICh1bnNpZ25lZCBpbnQg cmVnbm8pOworICAgdm9pZCBhZGRfbWVtcmFuZ2UgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAor IAkJICAgICBpbnQgdHlwZSwgYmZkX3NpZ25lZF92bWEgYmFzZSwKKy0JCSAgICAgdW5zaWduZWQg bG9uZyBsZW4pOworKwkJICAgICBVTE9OR0VTVCBsZW4pOworICAgdm9pZCBjb2xsZWN0X3N5bWJv bCAoc3RydWN0IHN5bWJvbCAqc3ltLAorIAkJICAgICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNo LAorIAkJICAgICAgIGxvbmcgZnJhbWVfcmVnbm8sIGxvbmcgZnJhbWVfb2Zmc2V0LAorZGlmZiAt LWdpdCBhL2dkYi92YWxhcml0aC5jIGIvZ2RiL3ZhbGFyaXRoLmMKK2luZGV4IDU5YWY5ZmNkZTQu LjkwMDI0MzAyYmMgMTAwNjQ0CistLS0gYS9nZGIvdmFsYXJpdGguYworKysrIGIvZ2RiL3ZhbGFy aXRoLmMKK0BAIC0xODQsNyArMTg0LDcgQEAgdmFsdWVfc3Vic2NyaXB0IChzdHJ1Y3QgdmFsdWUg KmFycmF5LCBMT05HRVNUIGluZGV4KQogICAgIHRvIGRvdWJsZXMsIGJ1dCBubyBsb25nZXIgZG9l cy4gICovCiAgCiAgc3RydWN0IHZhbHVlICoKQEAgLTI4MTcsNyArMzIzNyw3IEBAIEluZGV4OiBn ZGItOC4wL2dkYi92YWxhcml0aC5jCiAgewogICAgc3RydWN0IHR5cGUgKmFycmF5X3R5cGUgPSBj aGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcnJheSkpOwogICAgc3RydWN0IHR5cGUgKmVsdF90 eXBlID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9UQVJHRVRfVFlQRSAoYXJyYXlfdHlwZSkpOwotQEAg LTY2NSw3ICs2NjUsNyBAQAorQEAgLTY2MSw3ICs2NjEsNyBAQCB2YWx1ZV9jb25jYXQgKHN0cnVj dCB2YWx1ZSAqYXJnMSwgc3RydWN0IHZhbHVlICphcmcyKQogICAgc3RydWN0IHZhbHVlICppbnZh bDE7CiAgICBzdHJ1Y3QgdmFsdWUgKmludmFsMjsKICAgIHN0cnVjdCB2YWx1ZSAqb3V0dmFsID0g TlVMTDsKQEAgLTI4MjYsNyArMzI0Niw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi92YWxhcml0aC5j CiAgICBpbnQgY291bnQsIGlkeDsKICAgIGNoYXIgKnB0cjsKICAgIGNoYXIgaW5jaGFyOwotQEAg LTE1MTgsNyArMTUxOCw3IEBACitAQCAtMTQyMiw3ICsxNDIyLDcgQEAgdmFsdWVfYmlub3AgKHN0 cnVjdCB2YWx1ZSAqYXJnMSwgc3RydWN0IHZhbHVlICphcmcyLCBlbnVtIGV4cF9vcGNvZGUgb3Ap CiAgaW50CiAgdmFsdWVfbG9naWNhbF9ub3QgKHN0cnVjdCB2YWx1ZSAqYXJnMSkKICB7CkBAIC0y ODM1LDcgKzMyNTUsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvdmFsYXJpdGguYwogICAgY29uc3Qg Z2RiX2J5dGUgKnA7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTE7CiAgCi1AQCAtMTU0OSwxMSArMTU0 OSwxMSBAQAorQEAgLTE0NTAsMTEgKzE0NTAsMTEgQEAgdmFsdWVfbG9naWNhbF9ub3QgKHN0cnVj dCB2YWx1ZSAqYXJnMSkKICBzdGF0aWMgaW50CiAgdmFsdWVfc3RyY21wIChzdHJ1Y3QgdmFsdWUg KmFyZzEsIHN0cnVjdCB2YWx1ZSAqYXJnMikKICB7CkBAIC0yODUwLDExICszMjcwLDExIEBAIElu ZGV4OiBnZGItOC4wL2dkYi92YWxhcml0aC5jCiAgCiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBp KyspCiAgICAgIHsKLUluZGV4OiBnZGItOC4wL2dkYi92YWxvcHMuYwotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi04LjAub3JpZy9nZGIvdmFsb3BzLmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MTk3ODA4MTkg KzAyMDAKLSsrKyBnZGItOC4wL2dkYi92YWxvcHMuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA5MDg3 NjkwNyArMDIwMAotQEAgLTc5LDcgKzc5LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMg Yi9nZGIvdmFsb3BzLmMKK2luZGV4IDMwNjIzZWZjNmUuLmE3YzM2MTNkODQgMTAwNjQ0CistLS0g YS9nZGIvdmFsb3BzLmMKKysrKyBiL2dkYi92YWxvcHMuYworQEAgLTgwLDcgKzgwLDcgQEAgb2xv YWRfY2xhc3NpZmljYXRpb24gY2xhc3NpZnlfb2xvYWRfbWF0Y2ggKHN0cnVjdCBiYWRuZXNzX3Zl Y3RvciAqLAogIAkJCQkJICAgaW50LCBpbnQpOwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKnZh bHVlX3N0cnVjdF9lbHRfZm9yX3JlZmVyZW5jZSAoc3RydWN0IHR5cGUgKiwKQEAgLTI4NjMsNyAr MzI4Myw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi92YWxvcHMuYwogIAkJCQkJCSAgICAgY29uc3Qg Y2hhciAqLAogIAkJCQkJCSAgICAgc3RydWN0IHR5cGUgKiwKICAJCQkJCQkgICAgIGludCwgZW51 bSBub3NpZGUpOwotQEAgLTE4Myw3ICsxODMsNyBAQAorQEAgLTE4Miw3ICsxODIsNyBAQCBmaW5k X2Z1bmN0aW9uX2luX2luZmVyaW9yIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgb2JqZmlsZSAq Km9iamZfcCkKICAgICBzcGFjZS4gICovCiAgCiAgc3RydWN0IHZhbHVlICoKQEAgLTI4NzIsNyAr MzI5Miw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi92YWxvcHMuYwogIHsKICAgIHN0cnVjdCBvYmpm aWxlICpvYmpmOwogICAgc3RydWN0IHZhbHVlICp2YWwgPSBmaW5kX2Z1bmN0aW9uX2luX2luZmVy aW9yICgibWFsbG9jIiwgJm9iamYpOwotQEAgLTM5MywxMiArMzkzLDEyIEBACitAQCAtMzk3LDEy ICszOTcsMTIgQEAgdmFsdWVfY2FzdCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB2YWx1ZSAq YXJnMikKICAgIGlmIChjb2RlMSA9PSBUWVBFX0NPREVfQVJSQVkpCiAgICAgIHsKICAgICAgICBz dHJ1Y3QgdHlwZSAqZWxlbWVudF90eXBlID0gVFlQRV9UQVJHRVRfVFlQRSAodHlwZSk7CkBAIC0y ODg3LDcgKzMzMDcsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvdmFsb3BzLmMKICAJICBMT05HRVNU IGxvd19ib3VuZCwgaGlnaF9ib3VuZCwgbmV3X2xlbmd0aDsKICAKICAJICBpZiAoZ2V0X2Rpc2Ny ZXRlX2JvdW5kcyAocmFuZ2VfdHlwZSwgJmxvd19ib3VuZCwgJmhpZ2hfYm91bmQpIDwgMCkKLUBA IC0xMDY1LDcgKzEwNjUsNyBAQAorQEAgLTEwNTQsNyArMTA1NCw3IEBAIHZhbHVlX2Fzc2lnbiAo c3RydWN0IHZhbHVlICp0b3ZhbCwgc3RydWN0IHZhbHVlICpmcm9tdmFsKQogICAgICAgIHsKICAJ Y29uc3QgZ2RiX2J5dGUgKmRlc3RfYnVmZmVyOwogIAlDT1JFX0FERFIgY2hhbmdlZF9hZGRyOwpA QCAtMjg5Niw3ICszMzE2LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbG9wcy5jCiAgICAgICAg ICBnZGJfYnl0ZSBidWZmZXJbc2l6ZW9mIChMT05HRVNUKV07CiAgCiAgCWlmICh2YWx1ZV9iaXRz aXplICh0b3ZhbCkpCi1AQCAtMzM0MCw3ICszMzQwLDcgQEAKK0BAIC0zMzI1LDcgKzMzMjUsNyBA QCBjb21wYXJlX3BhcmFtZXRlcnMgKHN0cnVjdCB0eXBlICp0MSwgc3RydWN0IHR5cGUgKnQyLCBp bnQgc2tpcF9hcnRpZmljaWFsKQogICAgIHRoZSBmb3JtICJET01BSU46Ok5BTUUiLiAgKi8KICAK ICBzdGF0aWMgc3RydWN0IHZhbHVlICoKQEAgLTI5MDUsNyArMzMyNSw3IEBAIEluZGV4OiBnZGIt OC4wL2dkYi92YWxvcHMuYwogIAkJCQlzdHJ1Y3QgdHlwZSAqY3VydHlwZSwgY29uc3QgY2hhciAq bmFtZSwKICAJCQkJc3RydWN0IHR5cGUgKmludHlwZSwgCiAgCQkJCWludCB3YW50X2FkZHJlc3Ms Ci1AQCAtMzM3NCw3ICszMzc0LDcgQEAKK0BAIC0zMzU5LDcgKzMzNTksNyBAQCB2YWx1ZV9zdHJ1 Y3RfZWx0X2Zvcl9yZWZlcmVuY2UgKHN0cnVjdCB0eXBlICpkb21haW4sIGludCBvZmZzZXQsCiAg CSAgaWYgKHdhbnRfYWRkcmVzcykKICAJICAgIHJldHVybiB2YWx1ZV9mcm9tX2xvbmdlc3QKICAJ ICAgICAgKGxvb2t1cF9tZW1iZXJwdHJfdHlwZSAoVFlQRV9GSUVMRF9UWVBFICh0LCBpKSwgZG9t YWluKSwKQEAgLTI5MTQsNyArMzMzNCw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi92YWxvcHMuYwog IAkgIGVsc2UgaWYgKG5vc2lkZSAhPSBFVkFMX05PUk1BTCkKICAJICAgIHJldHVybiBhbGxvY2F0 ZV92YWx1ZSAoVFlQRV9GSUVMRF9UWVBFICh0LCBpKSk7CiAgCSAgZWxzZQotQEAgLTM1NDIsNyAr MzU0Miw3IEBACitAQCAtMzUzMiw3ICszNTMyLDcgQEAgdmFsdWVfc3RydWN0X2VsdF9mb3JfcmVm ZXJlbmNlIChzdHJ1Y3QgdHlwZSAqZG9tYWluLCBpbnQgb2Zmc2V0LAogICAgZm9yIChpID0gVFlQ RV9OX0JBU0VDTEFTU0VTICh0KSAtIDE7IGkgPj0gMDsgaS0tKQogICAgICB7CiAgICAgICAgc3Ry dWN0IHZhbHVlICp2OwpAQCAtMjkyMyw3ICszMzQzLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3Zh bG9wcy5jCiAgCiAgICAgICAgaWYgKEJBU0VUWVBFX1ZJQV9WSVJUVUFMICh0LCBpKSkKICAJYmFz ZV9vZmZzZXQgPSAwOwotQEAgLTM2OTEsNyArMzY5MSw3IEBACitAQCAtMzY4MSw3ICszNjgxLDcg QEAgdmFsdWVfcnR0aV9pbmRpcmVjdF90eXBlIChzdHJ1Y3QgdmFsdWUgKnYsIGludCAqZnVsbCwK ICBzdHJ1Y3QgdmFsdWUgKgogIHZhbHVlX2Z1bGxfb2JqZWN0IChzdHJ1Y3QgdmFsdWUgKmFyZ3As IAogIAkJICAgc3RydWN0IHR5cGUgKnJ0eXBlLCAKQEAgLTI5MzIsMTEgKzMzNTIsMTEgQEAgSW5k ZXg6IGdkYi04LjAvZ2RiL3ZhbG9wcy5jCiAgCQkgICBpbnQgeHVzaW5nX2VuYykKICB7CiAgICBz dHJ1Y3QgdHlwZSAqcmVhbF90eXBlOwotSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbHByaW50LmMKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3ZhbHByaW50LmMJMjAxNy0wOC0xOSAyMDow NDo1OS44MjA3ODA4MjggKzAyMDAKLSsrKyBnZGItOC4wL2dkYi92YWxwcmludC5jCTIwMTctMDgt MTkgMjA6MDU6MTAuMDkwODc2OTA3ICswMjAwCi1AQCAtOTMzLDcgKzkzMyw3IEBACitkaWZmIC0t Z2l0IGEvZ2RiL3ZhbHByaW50LmMgYi9nZGIvdmFscHJpbnQuYworaW5kZXggMjBlM2E0MTc4Yi4u ZTM0ODc0YzQ2MSAxMDA2NDQKKy0tLSBhL2dkYi92YWxwcmludC5jCisrKysgYi9nZGIvdmFscHJp bnQuYworQEAgLTg4Miw3ICs4ODIsNyBAQCBnZW5lcmljX3ZhbF9wcmludF9jb21wbGV4IChzdHJ1 Y3QgdHlwZSAqdHlwZSwKICAKICB2b2lkCiAgZ2VuZXJpY192YWxfcHJpbnQgKHN0cnVjdCB0eXBl ICp0eXBlLApAQCAtMjk0NSwxNiArMzM2NSwxNiBAQCBJbmRleDogZ2RiLTguMC9nZGIvdmFscHJp bnQuYwogIAkJICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCiAgCQkgICBz dHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAogIAkJICAgY29uc3Qgc3RydWN0IHZhbHVlX3By aW50X29wdGlvbnMgKm9wdGlvbnMsCi1AQCAtMTg3Myw3ICsxODczLDcgQEAKK0BAIC0xNzc2LDcg KzE3NzYsNyBAQCBwcmludF9kZWNpbWFsX2NoYXJzIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBj b25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAKICB2b2lkCiAgcHJpbnRfaGV4X2NoYXJzIChzdHJ1 Y3QgdWlfZmlsZSAqc3RyZWFtLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKLS0JCSB1bnNpZ25l ZCBsZW4sIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyKQotKwkJIFVMT05HRVNUIGxlbiwgZW51 bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIpCistCQkgdW5zaWduZWQgbGVuLCBlbnVtIGJmZF9lbmRp YW4gYnl0ZV9vcmRlciwKKysJCSBVTE9OR0VTVCBsZW4sIGVudW0gYmZkX2VuZGlhbiBieXRlX29y ZGVyLAorIAkJIGJvb2wgemVyb19wYWQpCiAgewogICAgY29uc3QgZ2RiX2J5dGUgKnA7Ci0gCi1A QCAtMTk5NSwxNyArMTk5NSwxNyBAQAorQEAgLTE5MjksMTcgKzE5MjksMTcgQEAgdmFsX3ByaW50 X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJCQkgIGludCByZWN1cnNlLAog IAkJCSAgc3RydWN0IHZhbHVlICp2YWwsCiAgCQkJICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRf b3B0aW9ucyAqb3B0aW9ucywKQEAgLTI5NzcsNyArMzM5Nyw3IEBAIEluZGV4OiBnZGItOC4wL2dk Yi92YWxwcmludC5jCiAgICBMT05HRVNUIGxvd19ib3VuZCwgaGlnaF9ib3VuZDsKICAgIExPTkdF U1QgbG93X3BvcywgaGlnaF9wb3M7CiAgCi1AQCAtMjA5NSw3ICsyMDk1LDcgQEAKK0BAIC0yMDI5 LDcgKzIwMjksNyBAQCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMgKHN0cnVjdCB0eXBlICp0eXBl LAogIAkJICAgICBhZGRyZXNzLCBzdHJlYW0sIHJlY3Vyc2UgKyAxLCB2YWwsIG9wdGlvbnMsCiAg CQkgICAgIGN1cnJlbnRfbGFuZ3VhZ2UpOwogIAkgIGFubm90YXRlX2VsdF9yZXAgKHJlcHMpOwpA QCAtMjk4Niw3ICszNDA2LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbHByaW50LmMKICAJICBh bm5vdGF0ZV9lbHRfcmVwX2VuZCAoKTsKICAKICAJICBpID0gcmVwMSAtIDE7Ci1AQCAtMjc0Nyw3 ICsyNzQ3LDcgQEAKK0BAIC0yNjc1LDcgKzI2NzUsNyBAQCBwcmludF9jb252ZXJ0ZWRfY2hhcnNf dG9fb2JzdGFjayAoc3RydWN0IG9ic3RhY2sgKm9ic3RhY2ssCiAgCiAgdm9pZAogIGdlbmVyaWNf cHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICp0eXBlLCAKQEAg LTI5OTUsMjkgKzM0MTUsMjkgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbHByaW50LmMKICAJCSAg Y29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKICAJCSAgaW50IHF1b3Rl X2NoYXIsIGludCBjX3N0eWxlX3Rlcm1pbmF0b3IsCiAgCQkgIGNvbnN0IHN0cnVjdCB2YWx1ZV9w cmludF9vcHRpb25zICpvcHRpb25zKQotSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbHByaW50LmgKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3ZhbHByaW50LmgJMjAxNy0wOC0xOSAyMDow NDo1OS44MjA3ODA4MjggKzAyMDAKLSsrKyBnZGItOC4wL2dkYi92YWxwcmludC5oCTIwMTctMDgt MTkgMjA6MDU6MTAuMDkwODc2OTA3ICswMjAwCi1AQCAtMTE5LDcgKzExOSw3IEBACitkaWZmIC0t Z2l0IGEvZ2RiL3ZhbHByaW50LmggYi9nZGIvdmFscHJpbnQuaAoraW5kZXggMzAyNjI2ZDlkNi4u YTkyYWNmYWNlYyAxMDA2NDQKKy0tLSBhL2dkYi92YWxwcmludC5oCisrKysgYi9nZGIvdmFscHJp bnQuaAorQEAgLTExOSw3ICsxMTksNyBAQCBleHRlcm4gdm9pZCB2YWxfcHJpbnRfYXJyYXlfZWxl bWVudHMgKHN0cnVjdCB0eXBlICosIExPTkdFU1QsCiAgCQkJCSAgICAgIENPUkVfQUREUiwgc3Ry dWN0IHVpX2ZpbGUgKiwgaW50LAogIAkJCQkgICAgICBzdHJ1Y3QgdmFsdWUgKiwKICAJCQkJICAg ICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKiwKIC0JCQkJICAgICAgdW5zaWdu ZWQgaW50KTsKICsJCQkJICAgICAgVUxPTkdFU1QpOwogIAotIGV4dGVybiB2b2lkIHZhbF9wcmlu dF90eXBlX2NvZGVfaW50IChzdHJ1Y3QgdHlwZSAqLCBjb25zdCBnZGJfYnl0ZSAqLAotIAkJCQkg ICAgIHN0cnVjdCB1aV9maWxlICopOwotQEAgLTE0MSw3ICsxNDEsNyBAQAotIAkJCQkgdW5zaWdu ZWQgaW50LCBlbnVtIGJmZF9lbmRpYW4pOworIGV4dGVybiB2b2lkIHZhbF9wcmludF9zY2FsYXJf Zm9ybWF0dGVkIChzdHJ1Y3QgdHlwZSAqLAorIAkJCQkJTE9OR0VTVCwKK0BAIC0xMzgsNyArMTM4 LDcgQEAgZXh0ZXJuIHZvaWQgcHJpbnRfZGVjaW1hbF9jaGFycyAoc3RydWN0IHVpX2ZpbGUgKiwg Y29uc3QgZ2RiX2J5dGUgKiwKKyAJCQkJIHVuc2lnbmVkIGludCwgYm9vbCwgZW51bSBiZmRfZW5k aWFuKTsKICAKICBleHRlcm4gdm9pZCBwcmludF9oZXhfY2hhcnMgKHN0cnVjdCB1aV9maWxlICos IGNvbnN0IGdkYl9ieXRlICosCi0tCQkJICAgICB1bnNpZ25lZCBpbnQsIGVudW0gYmZkX2VuZGlh bik7Ci0rCQkJICAgICBVTE9OR0VTVCwgZW51bSBiZmRfZW5kaWFuKTsKKy0JCQkgICAgIHVuc2ln bmVkIGludCwgZW51bSBiZmRfZW5kaWFuLCBib29sKTsKKysJCQkgICAgIFVMT05HRVNULCBlbnVt IGJmZF9lbmRpYW4sIGJvb2wpOwogIAogIGV4dGVybiB2b2lkIHByaW50X2NoYXJfY2hhcnMgKHN0 cnVjdCB1aV9maWxlICosIHN0cnVjdCB0eXBlICosCiAgCQkJICAgICAgY29uc3QgZ2RiX2J5dGUg KiwgdW5zaWduZWQgaW50LCBlbnVtIGJmZF9lbmRpYW4pOwotQEAgLTE5NCw3ICsxOTQsNyBAQAor QEAgLTE5MSw3ICsxOTEsNyBAQCBzdHJ1Y3QgZ2VuZXJpY192YWxfcHJpbnRfZGVjb3JhdGlvbnMK ICAKICAKICBleHRlcm4gdm9pZCBnZW5lcmljX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUs CkBAIC0zMDI2LDcgKzM0NDYsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvdmFscHJpbnQuaAogIAkJ CSAgICAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJCQkgICAgICAg c3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKICAJCQkgICAgICAgY29uc3Qgc3RydWN0IHZh bHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCi1AQCAtMjA0LDcgKzIwNCw3IEBACitAQCAtMjAx LDcgKzIwMSw3IEBAIGV4dGVybiB2b2lkIGdlbmVyaWNfZW1pdF9jaGFyIChpbnQgYywgc3RydWN0 IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAgCQkJICAgICAgIGludCBxdW90 ZXIsIGNvbnN0IGNoYXIgKmVuY29kaW5nKTsKICAKICBleHRlcm4gdm9pZCBnZW5lcmljX3ByaW50 c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgCkBAIC0zMDM1 LDExICszNDU1LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi92YWxwcmludC5oCiAgCQkJICAgICAg Y29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKICAJCQkgICAgICBpbnQg cXVvdGVfY2hhciwgaW50IGNfc3R5bGVfdGVybWluYXRvciwKICAJCQkgICAgICBjb25zdCBzdHJ1 Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucyk7Ci1JbmRleDogZ2RiLTguMC9nZGIvdmFs dWUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvdmFsdWUuYwkyMDE3LTA4LTE5 IDIwOjA0OjU5LjgyMTc4MDgzOCArMDIwMAotKysrIGdkYi04LjAvZ2RiL3ZhbHVlLmMJMjAxNy0w OC0xOSAyMDowNToxMC4wOTE4NzY5MTYgKzAyMDAKLUBAIC0zNjcsNyArMzY3LDggQEAKK2RpZmYg LS1naXQgYS9nZGIvdmFsdWUuYyBiL2dkYi92YWx1ZS5jCitpbmRleCBhNjFmNzI4NTUwLi4wYzg3 YWU3NWVlIDEwMDY0NAorLS0tIGEvZ2RiL3ZhbHVlLmMKKysrKyBiL2dkYi92YWx1ZS5jCitAQCAt MzYzLDcgKzM2Myw4IEBAIHZhbHVlX2J5dGVzX2F2YWlsYWJsZSAoY29uc3Qgc3RydWN0IHZhbHVl ICp2YWx1ZSwKICB9CiAgCiAgaW50CkBAIC0zMDQ5LDIwICszNDY5LDE4IEBAIEluZGV4OiBnZGIt OC4wL2dkYi92YWx1ZS5jCiAgewogICAgZ2RiX2Fzc2VydCAoIXZhbHVlLT5sYXp5KTsKICAKLUBA IC04MTMsOSArODE0LDkgQEAKK0BAIC04MDksOCArODEwLDggQEAgZmluZF9maXJzdF9yYW5nZV9v dmVybGFwX2FuZF9tYXRjaCAoc3RydWN0IHJhbmdlc19hbmRfaWR4ICpycDEsCiAgICAgUmV0dXJu IHRydWUgaWYgdGhlIGF2YWlsYWJsZSBiaXRzIG1hdGNoLiAgKi8KICAKLSBzdGF0aWMgaW50Cisg c3RhdGljIGJvb2wKIC12YWx1ZV9jb250ZW50c19iaXRzX2VxIChjb25zdCBzdHJ1Y3QgdmFsdWUg KnZhbDEsIGludCBvZmZzZXQxLAogLQkJCWNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsMiwgaW50IG9m ZnNldDIsCi0tCQkJaW50IGxlbmd0aCkKICt2YWx1ZV9jb250ZW50c19iaXRzX2VxIChjb25zdCBz dHJ1Y3QgdmFsdWUgKnZhbDEsIExPTkdFU1Qgb2Zmc2V0MSwKICsJCQljb25zdCBzdHJ1Y3QgdmFs dWUgKnZhbDIsIExPTkdFU1Qgb2Zmc2V0MiwKLSsJCQlMT05HRVNUIGxlbmd0aCkKKyAJCQlpbnQg bGVuZ3RoKQogIHsKICAgIC8qIEVhY2ggYXJyYXkgZWxlbWVudCBjb3JyZXNwb25kcyB0byBhIHJh bmdlcyBzb3VyY2UgKHVuYXZhaWxhYmxlLAotICAgICAgb3B0aW1pemVkIG91dCkuICAnMScgaXMg Zm9yIFZBTDEsICcyJyBmb3IgVkFMMi4gICovCi1AQCAtMTQ1NSw3ICsxNDU2LDggQEAKK0BAIC0x NDQ1LDcgKzE0NDYsOCBAQCB2YWx1ZV9vcHRpbWl6ZWRfb3V0IChzdHJ1Y3QgdmFsdWUgKnZhbHVl KQogICAgIHRoZSBmb2xsb3dpbmcgTEVOR1RIIGJ5dGVzLiAgKi8KICAKICB2b2lkCkBAIC0zMDcy LDExICszNDkwLDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi92YWx1ZS5jCiAgewogICAgbWFya192 YWx1ZV9iaXRzX29wdGltaXplZF9vdXQgKHZhbHVlLAogIAkJCQkgb2Zmc2V0ICogVEFSR0VUX0NI QVJfQklULAotSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbHVlLmgKLT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt OC4wLm9yaWcvZ2RiL3ZhbHVlLmgJMjAxNy0wOC0xOSAyMDowNDo1OS44MjI3ODA4NDcgKzAyMDAK LSsrKyBnZGItOC4wL2dkYi92YWx1ZS5oCTIwMTctMDgtMTkgMjA6MDU6MTAuMDkyODc2OTI1ICsw MjAwCi1AQCAtMjQ2LDcgKzI0Niw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHVlLmggYi9nZGIv dmFsdWUuaAoraW5kZXggOGU4NTQ1Mjk2OS4uNWM4NTk3ZjM4YyAxMDA2NDQKKy0tLSBhL2dkYi92 YWx1ZS5oCisrKysgYi9nZGIvdmFsdWUuaAorQEAgLTI0NSw3ICsyNDUsNyBAQCBzdHJ1Y3QgbHZh bF9mdW5jcwogICAgLyogSWYgbm9uLU5VTEwsIHRoaXMgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hl dGhlciB0aGUgaW5kaWNhdGVkIGJpdHMKICAgICAgIG9mIFZBTFVFIGFyZSBhIHN5bnRoZXRpYyBw b2ludGVyLiAgKi8KICAgIGludCAoKmNoZWNrX3N5bnRoZXRpY19wb2ludGVyKSAoY29uc3Qgc3Ry dWN0IHZhbHVlICp2YWx1ZSwKQEAgLTMwODUsNyArMzUwMyw3IEBAIEluZGV4OiBnZGItOC4wL2dk Yi92YWx1ZS5oCiAgCiAgICAvKiBSZXR1cm4gYSBkdXBsaWNhdGUgb2YgVkFMVUUncyBjbG9zdXJl LCBmb3IgdXNlIGluIGEgbmV3IHZhbHVlLgogICAgICAgVGhpcyBtYXkgc2ltcGx5IHJldHVybiB0 aGUgc2FtZSBjbG9zdXJlLCBpZiBWQUxVRSdzIGlzCi1AQCAtMzc3LDcgKzM3Nyw4IEBACitAQCAt Mzc2LDcgKzM3Niw4IEBAIGV4dGVybiBpbnQgdmFsdWVfb3B0aW1pemVkX291dCAoc3RydWN0IHZh bHVlICp2YWx1ZSk7CiAgICAgb3RoZXJ3aXNlLiAgKi8KICAKICBleHRlcm4gaW50IHZhbHVlX2Jp dHNfYW55X29wdGltaXplZF9vdXQgKGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsdWUsCkBAIC0zMDk1 LDcgKzM1MTMsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvdmFsdWUuaAogIAogIC8qIExpa2UgdmFs dWVfb3B0aW1pemVkX291dCwgYnV0IHJldHVybiB0cnVlIGlmZiB0aGUgd2hvbGUgdmFsdWUgaXMK ICAgICBvcHRpbWl6ZWQgb3V0LiAgKi8KLUBAIC0zODcsNyArMzg4LDcgQEAKK0BAIC0zODYsNyAr Mzg3LDcgQEAgZXh0ZXJuIGludCB2YWx1ZV9lbnRpcmVseV9vcHRpbWl6ZWRfb3V0IChzdHJ1Y3Qg dmFsdWUgKnZhbHVlKTsKICAgICBMRU5HVEggYnl0ZXMgYXMgb3B0aW1pemVkIG91dC4gICovCiAg CiAgZXh0ZXJuIHZvaWQgbWFya192YWx1ZV9ieXRlc19vcHRpbWl6ZWRfb3V0IChzdHJ1Y3QgdmFs dWUgKnZhbHVlLApAQCAtMzEwNCw3ICszNTIyLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbHVl LmgKICAKICAvKiBNYXJrIFZBTFVFJ3MgY29udGVudCBiaXRzIHN0YXJ0aW5nIGF0IE9GRlNFVCBh bmQgZXh0ZW5kaW5nIGZvcgogICAgIExFTkdUSCBiaXRzIGFzIG9wdGltaXplZCBvdXQuICAqLwot QEAgLTgxOSwxMiArODIwLDExIEBACitAQCAtODIwLDEyICs4MjEsMTEgQEAgZXh0ZXJuIHN0cnVj dCB2YWx1ZSAqdmFsdWVfcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKmFyZzEsIExPTkdF U1Qgb2Zmc2V0LAogIAkJCQkJICAgIGludCBmaWVsZG5vLAogIAkJCQkJICAgIHN0cnVjdCB0eXBl ICphcmdfdHlwZSk7CiAgCkBAIC0zMTE4LDcgKzM1MzYsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIv dmFsdWUuaAogIAogIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2Nhc3RfcG9pbnRlcnMgKHN0 cnVjdCB0eXBlICosIHN0cnVjdCB2YWx1ZSAqLCBpbnQpOwogIAotQEAgLTExMTMsMTAgKzExMTMs MTEgQEAKK0BAIC0xMTM2LDEwICsxMTM2LDExIEBAIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVl X2xpdGVyYWxfY29tcGxleCAoc3RydWN0IHZhbHVlICosIHN0cnVjdCB2YWx1ZSAqLAogIGV4dGVy biBzdHJ1Y3QgdmFsdWUgKmZpbmRfZnVuY3Rpb25faW5faW5mZXJpb3IgKGNvbnN0IGNoYXIgKiwK ICAJCQkJCQlzdHJ1Y3Qgb2JqZmlsZSAqKik7CiAgCkBAIC0zMTMyLDEyMCArMzU1MCwxMSBAQCBJ bmRleDogZ2RiLTguMC9nZGIvdmFsdWUuaAogIAogIC8qIFVzZXIgZnVuY3Rpb24gaGFuZGxlci4g ICovCiAgCi1JbmRleDogZ2RiLTguMC9nZGIvczM5MC1saW51eC1uYXQuYwotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi04LjAub3JpZy9nZGIvczM5MC1saW51eC1uYXQuYwkyMDE3LTA4LTE5IDIwOjA0OjU5 LjgyMjc4MDg0NyArMDIwMAotKysrIGdkYi04LjAvZ2RiL3MzOTAtbGludXgtbmF0LmMJMjAxNy0w OC0xOSAyMDowNToxMC4wOTI4NzY5MjUgKzAyMDAKLUBAIC05MDAsNyArOTAwLDcgQEAKLSAKLSBz dGF0aWMgaW50Ci0gczM5MF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJn ZXRfb3BzICpzZWxmLAotLQkJCQkgIENPUkVfQUREUiBhZGRyLCBpbnQgY250KQotKwkJCQkgIENP UkVfQUREUiBhZGRyLCBMT05HRVNUIGNudCkKLSB7Ci0gICByZXR1cm4gMTsKLSB9Ci1JbmRleDog Z2RiLTguMC9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5v cmlnL2dkYi90YXJnZXQtZGVsZWdhdGVzLmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MjM3ODA4NTYg KzAyMDAKLSsrKyBnZGItOC4wL2dkYi90YXJnZXQtZGVsZWdhdGVzLmMJMjAxNy0wOC0xOSAyMDow NToxMC4wOTM4NzY5MzUgKzAyMDAKLUBAIC03NjAsMTQgKzc2MCwxNCBAQAotIH0KLSAKLSBzdGF0 aWMgaW50Ci0tZGVsZWdhdGVfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFy Z2V0X29wcyAqc2VsZiwgQ09SRV9BRERSIGFyZzEsIGludCBhcmcyKQotK2RlbGVnYXRlX3JlZ2lv bl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVfQURE UiBhcmcxLCBMT05HRVNUIGFyZzIpCi0gewotICAgc2VsZiA9IHNlbGYtPmJlbmVhdGg7Ci0gICBy ZXR1cm4gc2VsZi0+dG9fcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzZWxmLCBhcmcxLCBh cmcyKTsKLSB9Ci0gCi0gc3RhdGljIGludAotLWRlYnVnX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hw b2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiBhcmcxLCBpbnQgYXJnMikK LStkZWJ1Z19yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpz ZWxmLCBDT1JFX0FERFIgYXJnMSwgTE9OR0VTVCBhcmcyKQotIHsKLSAgIGludCByZXN1bHQ7Ci0g ICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csICItPiAlcy0+dG9fcmVnaW9uX29rX2Zv cl9od193YXRjaHBvaW50ICguLi4pXG4iLCBkZWJ1Z190YXJnZXQudG9fc2hvcnRuYW1lKTsKLUBA IC03NzcsNyArNzc3LDcgQEAKLSAgIGZwdXRzX3VuZmlsdGVyZWQgKCIsICIsIGdkYl9zdGRsb2cp OwotICAgdGFyZ2V0X2RlYnVnX3ByaW50X0NPUkVfQUREUiAoYXJnMSk7Ci0gICBmcHV0c191bmZp bHRlcmVkICgiLCAiLCBnZGJfc3RkbG9nKTsKLS0gIHRhcmdldF9kZWJ1Z19wcmludF9pbnQgKGFy ZzIpOwotKyAgdGFyZ2V0X2RlYnVnX3ByaW50X0xPTkdFU1QgKGFyZzIpOwotICAgZnB1dHNfdW5m aWx0ZXJlZCAoIikgPSAiLCBnZGJfc3RkbG9nKTsKLSAgIHRhcmdldF9kZWJ1Z19wcmludF9pbnQg KHJlc3VsdCk7Ci0gICBmcHV0c191bmZpbHRlcmVkICgiXG4iLCBnZGJfc3RkbG9nKTsKLUluZGV4 OiBnZGItOC4wL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCi09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTgu MC5vcmlnL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCTIwMTctMDgtMTkgMjA6MDQ6NTkuODIzNzgw ODU2ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvYWFyY2g2NC1saW51eC1uYXQuYwkyMDE3LTA4LTE5 IDIwOjA1OjEwLjA5Mzg3NjkzNSArMDIwMAotQEAgLTcwOCw3ICs3MDgsNyBAQAotIAotIHN0YXRp YyBpbnQKLSBhYXJjaDY0X2xpbnV4X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0 IHRhcmdldF9vcHMgKnNlbGYsCi0tCQkJCQkgICBDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLSsJ CQkJCSAgIENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKLSB7Ci0gICByZXR1cm4gYWFyY2g2 NF9saW51eF9yZWdpb25fb2tfZm9yX3dhdGNocG9pbnQgKGFkZHIsIGxlbik7Ci0gfQotSW5kZXg6 IGdkYi04LjAvZ2RiL25hdC94ODYtZHJlZ3MuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3Jp Zy9nZGIvbmF0L3g4Ni1kcmVncy5jCTIwMTctMDgtMTkgMjA6MDQ6NTkuODIzNzgwODU2ICswMjAw Ci0rKysgZ2RiLTguMC9nZGIvbmF0L3g4Ni1kcmVncy5jCTIwMTctMDgtMTkgMjA6MDU6MTAuMDkz ODc2OTM1ICswMjAwCi1AQCAtMzg0LDcgKzM4NCw3IEBACi0gCi0gc3RhdGljIGludAotIHg4Nl9o YW5kbGVfbm9uYWxpZ25lZF93YXRjaHBvaW50IChzdHJ1Y3QgeDg2X2RlYnVnX3JlZ19zdGF0ZSAq c3RhdGUsCi0tCQkJCSAgeDg2X3dwX29wX3Qgd2hhdCwgQ09SRV9BRERSIGFkZHIsIGludCBsZW4s Ci0rCQkJCSAgeDg2X3dwX29wX3Qgd2hhdCwgQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuLAot IAkJCQkgIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSkKLSB7Ci0gICBpbnQgcmV0dmFsID0g MDsKLUBAIC01NTIsNyArNTUyLDcgQEAKLSAKLSBpbnQKLSB4ODZfZHJfcmVnaW9uX29rX2Zvcl93 YXRjaHBvaW50IChzdHJ1Y3QgeDg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCi0tCQkJCSBDT1JF X0FERFIgYWRkciwgaW50IGxlbikKLSsJCQkJIENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikK LSB7Ci0gICBpbnQgbnJlZ3M7Ci0gCi1JbmRleDogZ2RiLTguMC9nZGIvY29tcGlsZS9jb21waWxl LWMtc3VwcG9ydC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9jb21waWxlL2Nv bXBpbGUtYy1zdXBwb3J0LmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MjQ3ODA4NjYgKzAyMDAKLSsr KyBnZGItOC4wL2dkYi9jb21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMJMjAxNy0wOC0xOSAyMDow NToxMC4wOTM4NzY5MzUgKzAyMDAKLUBAIC0zMDksMTEgKzMwOSwxMSBAQAotIAotIAkgICAgICBk ZWZhdWx0OgotIAkJZnByaW50Zl91bmZpbHRlcmVkIChzdHJlYW0sCi0tCQkJCSAgICAiICB1bnNp Z25lZCBjaGFyICVzWyVkXSIKLSsJCQkJICAgICIgIHVuc2lnbmVkIGNoYXIgJXNbJXNdIgotIAkJ CQkgICAgIiBfX2F0dHJpYnV0ZV9fKChfX2FsaWduZWRfXygiCi0gCQkJCSAgICAiX19CSUdHRVNU X0FMSUdOTUVOVF9fKSkpIiwKLSAJCQkJICAgIHJlZ25hbWUsCi0tCQkJCSAgICBUWVBFX0xFTkdU SCAocmVndHlwZSkpOwotKwkJCQkgICAgcHVsb25nZXN0IChUWVBFX0xFTkdUSCAocmVndHlwZSkp KTsKLSAJICAgICAgfQotIAkgICAgZnB1dHNfdW5maWx0ZXJlZCAoIjtcbiIsIHN0cmVhbSk7Ci0g Ci1JbmRleDogZ2RiLTguMC9nZGIvbmF0L3g4Ni1kcmVncy5oCi09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTguMC5vcmlnL2dkYi9uYXQveDg2LWRyZWdzLmgJMjAxNy0wOC0xOSAyMDowNDo1OS44MjQ3ODA4 NjYgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9uYXQveDg2LWRyZWdzLmgJMjAxNy0wOC0xOSAyMDow NToxMC4wOTQ4NzY5NDQgKzAyMDAKLUBAIC0xMTYsNyArMTE2LDcgQEAKLSAvKiBSZXR1cm4gbm9u LXplcm8gaWYgd2UgY2FuIHdhdGNoIGEgbWVtb3J5IHJlZ2lvbiB0aGF0IHN0YXJ0cyBhdAotICAg IGFkZHJlc3MgQUREUiBhbmQgd2hvc2UgbGVuZ3RoIGlzIExFTiBieXRlcy4gICovCi0gZXh0ZXJu IGludCB4ODZfZHJfcmVnaW9uX29rX2Zvcl93YXRjaHBvaW50IChzdHJ1Y3QgeDg2X2RlYnVnX3Jl Z19zdGF0ZSAqc3RhdGUsCi0tCQkJCQkgICAgQ09SRV9BRERSIGFkZHIsIGludCBsZW4pOwotKwkJ CQkJICAgIENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbik7Ci0gCi0gLyogSWYgdGhlIGluZmVy aW9yIGhhcyBzb21lIGJyZWFrL3dhdGNocG9pbnQgdGhhdCB0cmlnZ2VyZWQsIHNldCB0aGUKLSAg ICBhZGRyZXNzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGJyZWFrL3dhdGNocG9pbnQgYW5kIHJldHVy biB0cnVlLgotSW5kZXg6IGdkYi04LjAvZ2RiL3g4Ni1uYXQuYwotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi04LjAub3JpZy9nZGIveDg2LW5hdC5jCTIwMTctMDgtMTkgMjA6MDQ6NTkuODI0NzgwODY2ICsw MjAwCi0rKysgZ2RiLTguMC9nZGIveDg2LW5hdC5jCTIwMTctMDgtMTkgMjA6MDU6MTAuMDk0ODc2 OTQ0ICswMjAwCi1AQCAtMTc0LDcgKzE3NCw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3g4Ni1uYXQu YyBiL2dkYi94ODYtbmF0LmMKK2luZGV4IGEyNjY4NTkxNGEuLjI1NWNkNTc0OWYgMTAwNjQ0Cist LS0gYS9nZGIveDg2LW5hdC5jCisrKysgYi9nZGIveDg2LW5hdC5jCitAQCAtMTc0LDcgKzE3NCw3 IEBAIHg4Nl9yZW1vdmVfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVf QUREUiBhZGRyLCBpbnQgbGVuLAogIAogIHN0YXRpYyBpbnQKICB4ODZfcmVnaW9uX29rX2Zvcl93 YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwKQEAgLTMyNTQsMTQ0ICszNTYzLDYg QEAgSW5kZXg6IGdkYi04LjAvZ2RiL3g4Ni1uYXQuYwogIHsKICAgIHN0cnVjdCB4ODZfZGVidWdf cmVnX3N0YXRlICpzdGF0ZQogICAgICA9IHg4Nl9kZWJ1Z19yZWdfc3RhdGUgKHB0aWRfZ2V0X3Bp ZCAoaW5mZXJpb3JfcHRpZCkpOwotSW5kZXg6IGdkYi04LjAvZ2RiL3J1c3QtbGFuZy5jCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9ydXN0LWxhbmcuYwkyMDE3LTA4LTE5IDIwOjA0 OjU5LjgyNDc4MDg2NiArMDIwMAotKysrIGdkYi04LjAvZ2RiL3J1c3QtbGFuZy5jCTIwMTctMDgt MTkgMjA6MDU6MTAuMDk0ODc2OTQ0ICswMjAwCi1AQCAtNDM5LDcgKzQzOSw3IEBACi0gCi0gc3Rh dGljIHZvaWQKLSBydXN0X3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3Qg dHlwZSAqdHlwZSwKLS0JICAgICAgIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsIHVuc2lnbmVkIGlu dCBsZW5ndGgsCi0rCSAgICAgICBjb25zdCBnZGJfYnl0ZSAqc3RyaW5nLCBVTE9OR0VTVCBsZW5n dGgsCi0gCSAgICAgICBjb25zdCBjaGFyICp1c2VyX2VuY29kaW5nLCBpbnQgZm9yY2VfZWxsaXBz ZXMsCi0gCSAgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykK LSB7Ci1AQCAtNTYzLDcgKzU2Myw3IEBACi0gLyogbGFfdmFsX3ByaW50IGltcGxlbWVudGF0aW9u IGZvciBSdXN0LiAgKi8KLSAKLSBzdGF0aWMgdm9pZAotLXJ1c3RfdmFsX3ByaW50IChzdHJ1Y3Qg dHlwZSAqdHlwZSwgaW50IGVtYmVkZGVkX29mZnNldCwKLStydXN0X3ZhbF9wcmludCAoc3RydWN0 IHR5cGUgKnR5cGUsIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAotIAkJQ09SRV9BRERSIGFkZHJl c3MsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAotIAkJc3RydWN0IHZhbHVl ICp2YWwsCi0gCQljb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUlu ZGV4OiBnZGItOC4wL2dkYi9hcmNoLXV0aWxzLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9y aWcvZ2RiL2FyY2gtdXRpbHMuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgyNTc4MDg3NSArMDIwMAot KysrIGdkYi04LjAvZ2RiL2FyY2gtdXRpbHMuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA5NTg3Njk1 MyArMDIwMAotQEAgLTI0Nyw3ICsyNDcsNyBAQAotIAotIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1h dCAqKgotIGRlZmF1bHRfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoLAotLQkJCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pCi0rCQkJICAgICAgY29u c3QgY2hhciAqbmFtZSwgTE9OR0VTVCBsZW4pCi0gewotICAgY29uc3Qgc3RydWN0IGZsb2F0Zm9y bWF0ICoqZm9ybWF0ID0gTlVMTDsKLSAKLUluZGV4OiBnZGItOC4wL2dkYi9hcmNoLXV0aWxzLmgK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2FyY2gtdXRpbHMuaAkyMDE3LTA4LTE5 IDIwOjA0OjU5LjgyNTc4MDg3NSArMDIwMAotKysrIGdkYi04LjAvZ2RiL2FyY2gtdXRpbHMuaAky MDE3LTA4LTE5IDIwOjA1OjEwLjA5NTg3Njk1MyArMDIwMAotQEAgLTE0NCw3ICsxNDQsNyBAQAot IC8qIERlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgZ2RiYXJjaF9mbG9hdGZvcm1hdF9mb3JfdHlw ZS4gICovCi0gZXh0ZXJuIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKgotICAgZGVmYXVsdF9m bG9hdGZvcm1hdF9mb3JfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0tCQkJCWNvbnN0 IGNoYXIgKm5hbWUsIGludCBsZW4pOwotKwkJCQljb25zdCBjaGFyICpuYW1lLCBMT05HRVNUIGxl bik7Ci0gCi0gZXh0ZXJuIENPUkVfQUREUiBnZW5lcmljX3NraXBfdHJhbXBvbGluZV9jb2RlIChz dHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCi0gCQkJCQkgICAgICAgQ09SRV9BRERSIHBjKTsKLUlu ZGV4OiBnZGItOC4wL2dkYi9maW5kY21kLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcv Z2RiL2ZpbmRjbWQuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgyNTc4MDg3NSArMDIwMAotKysrIGdk Yi04LjAvZ2RiL2ZpbmRjbWQuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA5NTg3Njk1MyArMDIwMAot QEAgLTE4MCw3ICsxODAsNyBAQAotIAkgbmVlZCB0byBncm93IHRoZSBwYXR0ZXJuIGJ1Zi4gICov Ci0gICAgICAgcGF0dGVybl9idWZfc2l6ZV9uZWVkID0gKHBhdHRlcm5fYnVmX2VuZCAtIHBhdHRl cm5fYnVmCi0gCQkJICAgICAgICsgc3RkOjptYXggKFRZUEVfTEVOR1RIICh0KSwKLS0JCQkJCSAg ICh1bnNpZ25lZCkgc2l6ZW9mIChpbnQ2NF90KSkpOwotKwkJCQkJICAgKFVMT05HRVNUKSBzaXpl b2YgKGludDY0X3QpKSk7Ci0gICAgICAgaWYgKHBhdHRlcm5fYnVmX3NpemVfbmVlZCA+IHBhdHRl cm5fYnVmX3NpemUpCi0gCXsKLSAJICBzaXplX3QgY3VycmVudF9vZmZzZXQgPSBwYXR0ZXJuX2J1 Zl9lbmQgLSBwYXR0ZXJuX2J1ZjsKLUluZGV4OiBnZGItOC4wL2dkYi9nZGJhcmNoLmMKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2dkYmFyY2guYwkyMDE3LTA4LTE5IDIwOjA0OjU5 LjgyNjc4MDg4NSArMDIwMAotKysrIGdkYi04LjAvZ2RiL2dkYmFyY2guYwkyMDE3LTA4LTE5IDIw OjA1OjEwLjA5Njg3Njk2MyArMDIwMAotQEAgLTE4MDYsNyArMTgwNiw3IEBACi0gfQotIAotIGNv bnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKgotLWdkYmFyY2hfZmxvYXRmb3JtYXRfZm9yX3R5cGUg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuZ3RoKQot K2dkYmFyY2hfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBj b25zdCBjaGFyICpuYW1lLCBMT05HRVNUIGxlbmd0aCkKLSB7Ci0gICBnZGJfYXNzZXJ0IChnZGJh cmNoICE9IE5VTEwpOwotICAgZ2RiX2Fzc2VydCAoZ2RiYXJjaC0+ZmxvYXRmb3JtYXRfZm9yX3R5 cGUgIT0gTlVMTCk7Ci1JbmRleDogZ2RiLTguMC9nZGIvZ2RiYXJjaC5oCi09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTguMC5vcmlnL2dkYi9nZGJhcmNoLmgJMjAxNy0wOC0xOSAyMDowNDo1OS44MjY3ODA4 ODUgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9nZGJhcmNoLmgJMjAxNy0wOC0xOSAyMDowNToxMC4w OTY4NzY5NjMgKzAyMDAKLUBAIC0yMDMsOCArMjAzLDggQEAKLSAgICBOQU1FLCBpZiBub24tTlVM TCwgaXMgdGhlIHR5cGUgbmFtZSwgd2hpY2ggbWF5IGJlIHVzZWQgdG8gZGlzdGluZ3Vpc2gKLSAg ICBkaWZmZXJlbnQgdGFyZ2V0IGZvcm1hdHMgb2YgdGhlIHNhbWUgbGVuZ3RoLiAqLwotIAotLXR5 cGVkZWYgY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqIChnZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zv cl90eXBlX2Z0eXBlKSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIGNvbnN0IGNoYXIgKm5hbWUs IGludCBsZW5ndGgpOwotLWV4dGVybiBjb25zdCBzdHJ1Y3QgZmxvYXRmb3JtYXQgKiogZ2RiYXJj aF9mbG9hdGZvcm1hdF9mb3JfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIGNvbnN0IGNo YXIgKm5hbWUsIGludCBsZW5ndGgpOwotK3R5cGVkZWYgY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0 ICoqIChnZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zvcl90eXBlX2Z0eXBlKSAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsIGNvbnN0IGNoYXIgKm5hbWUsIExPTkdFU1QgbGVuZ3RoKTsKLStleHRlcm4gY29u c3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqIGdkYmFyY2hfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBjb25zdCBjaGFyICpuYW1lLCBMT05HRVNUIGxlbmd0aCk7 Ci0gZXh0ZXJuIHZvaWQgc2V0X2dkYmFyY2hfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLCBnZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zvcl90eXBlX2Z0eXBlICpmbG9h dGZvcm1hdF9mb3JfdHlwZSk7Ci0gCi0gLyogRm9yIG1vc3QgdGFyZ2V0cywgYSBwb2ludGVyIG9u IHRoZSB0YXJnZXQgYW5kIGl0cyByZXByZXNlbnRhdGlvbiBhcyBhbgotSW5kZXg6IGdkYi04LjAv Z2RiL2dkYmFyY2guc2gKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2dkYmFyY2gu c2gJMjAxNy0wOC0xOSAyMDowNDo1OS44Mjc3ODA4OTQgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9n ZGJhcmNoLnNoCTIwMTctMDgtMTkgMjA6MDU6MTAuMDk3ODc2OTcyICswMjAwCi1AQCAtMzkyLDcg KzM5Miw3IEBACi0gIyBSZXR1cm5zIHRoZSBmbG9hdGluZy1wb2ludCBmb3JtYXQgdG8gYmUgdXNl ZCBmb3IgdmFsdWVzIG9mIGxlbmd0aCBMRU5HVEguCi0gIyBOQU1FLCBpZiBub24tTlVMTCwgaXMg dGhlIHR5cGUgbmFtZSwgd2hpY2ggbWF5IGJlIHVzZWQgdG8gZGlzdGluZ3Vpc2gKLSAjIGRpZmZl cmVudCB0YXJnZXQgZm9ybWF0cyBvZiB0aGUgc2FtZSBsZW5ndGguCi0tbTpjb25zdCBzdHJ1Y3Qg ZmxvYXRmb3JtYXQgKio6ZmxvYXRmb3JtYXRfZm9yX3R5cGU6Y29uc3QgY2hhciAqbmFtZSwgaW50 IGxlbmd0aDpuYW1lLCBsZW5ndGg6MDpkZWZhdWx0X2Zsb2F0Zm9ybWF0X2Zvcl90eXBlOjowCi0r bTpjb25zdCBzdHJ1Y3QgZmxvYXRmb3JtYXQgKio6ZmxvYXRmb3JtYXRfZm9yX3R5cGU6Y29uc3Qg Y2hhciAqbmFtZSwgTE9OR0VTVCBsZW5ndGg6bmFtZSwgbGVuZ3RoOjA6ZGVmYXVsdF9mbG9hdGZv cm1hdF9mb3JfdHlwZTo6MAotIAotICMgRm9yIG1vc3QgdGFyZ2V0cywgYSBwb2ludGVyIG9uIHRo ZSB0YXJnZXQgYW5kIGl0cyByZXByZXNlbnRhdGlvbiBhcyBhbgotICMgYWRkcmVzcyBpbiBHREIg aGF2ZSB0aGUgc2FtZSBzaXplIGFuZCAibG9vayB0aGUgc2FtZSIuICBGb3Igc3VjaCBhCi1JbmRl eDogZ2RiLTguMC9nZGIvaTM4Ni10ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcv Z2RiL2kzODYtdGRlcC5jCTIwMTctMDgtMTkgMjA6MDQ6NTkuODI4NzgwOTAzICswMjAwCi0rKysg Z2RiLTguMC9nZGIvaTM4Ni10ZGVwLmMJMjAxNy0wOC0xOSAyMDowNToxMC4wOTg4NzY5ODIgKzAy MDAKLUBAIC04MTgwLDcgKzgxODAsNyBAQAotIAotIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAq KgotIGkzODZfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAot LQkJCSAgIGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pCi0rCQkJICAgY29uc3QgY2hhciAqbmFt ZSwgTE9OR0VTVCBsZW4pCi0gewotICAgaWYgKGxlbiA9PSAxMjggJiYgbmFtZSkKLSAgICAgaWYg KHN0cmNtcCAobmFtZSwgIl9fZmxvYXQxMjgiKSA9PSAwCi1JbmRleDogZ2RiLTguMC9nZGIvcHBj LWxpbnV4LXRkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvcHBjLWxpbnV4 LXRkZXAuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgyOTc4MDkxMyArMDIwMAotKysrIGdkYi04LjAv Z2RiL3BwYy1saW51eC10ZGVwLmMJMjAxNy0wOC0xOSAyMDowNToxMC4wOTg4NzY5ODIgKzAyMDAK LUBAIC0xNjMyLDcgKzE2MzIsNyBAQAotIAotIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKgot IHBwY19mbG9hdGZvcm1hdF9mb3JfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0tICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuKQotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbmFtZSwgTE9OR0VTVCBsZW4pCi0gewot ICAgaWYgKGxlbiA9PSAxMjggJiYgbmFtZSkKLSAgICAgaWYgKHN0cmNtcCAobmFtZSwgIl9fZmxv YXQxMjgiKSA9PSAwCi1JbmRleDogZ2RiLTguMC9nZGIvdHJhY2Vwb2ludC5oCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi90cmFjZXBvaW50LmgJMjAxNy0wOC0xOSAyMDowNDo1OS44 Mjk3ODA5MTMgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi90cmFjZXBvaW50LmgJMjAxNy0wOC0xOSAy MDowNToxMC4wOTk4NzY5OTEgKzAyMDAKLUBAIC0yNTQsNyArMjU0LDcgQEAKLSAgIHZvaWQgYWRk X3JlZ2lzdGVyICh1bnNpZ25lZCBpbnQgcmVnbm8pOwotICAgdm9pZCBhZGRfbWVtcmFuZ2UgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLAotIAkJICAgICBpbnQgdHlwZSwgYmZkX3NpZ25lZF92bWEg YmFzZSwKLS0JCSAgICAgdW5zaWduZWQgbG9uZyBsZW4pOwotKwkJICAgICBVTE9OR0VTVCBsZW4p OwotICAgdm9pZCBjb2xsZWN0X3N5bWJvbCAoc3RydWN0IHN5bWJvbCAqc3ltLAotIAkJICAgICAg IHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAotIAkJICAgICAgIGxvbmcgZnJhbWVfcmVnbm8sIGxv bmcgZnJhbWVfb2Zmc2V0LAorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6Nzk1 NDI0LWJpdHBvcy0yMW9mMjUucGF0Y2ggYi9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjFvZjI1LnBh dGNoCmluZGV4IDExNWZmMGQuLmM1MWQ1MmMgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6Nzk1NDI0LWJp dHBvcy0yMW9mMjUucGF0Y2gKKysrIGIvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIxb2YyNS5wYXRj aApAQCAtMSwxMiArMSwxNSBAQAorRnJvbSA4OTE2MzhkZTk4YTVjMWFjYTQyNTMzYmRhMTViZTFh YzgwYmI0YzIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRj aGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAg KzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzRdIEFkZCBhIGNoZWNrIHRvIGVuc3VyZSB0aGF0IGEg dHlwZSBtYXkgZml0IGludG8gaG9zdCBtZW1vcnkKK1N1YmplY3Q6IEFkZCBhIGNoZWNrIHRvIGVu c3VyZSB0aGF0IGEgdHlwZSBtYXkgZml0IGludG8gaG9zdCBtZW1vcnkKIAogRmlsZU5hbWU6IGdk Yi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMW9mMjUucGF0Y2gKIAotaHR0cDovL3NvdXJjZXdhcmUub3Jn L21sL2dkYi1wYXRjaGVzLzIwMTItMDkvbXNnMDA2MzIuaHRtbAotCis7OyBGaXggYEdEQiBjYW5u b3QgYWNjZXNzIHN0cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1C JworOzsgKFJIIEJaIDc5NTQyNCkuCis7Oz1wdXNoCiAKK2h0dHA6Ly9zb3VyY2V3YXJlLm9yZy9t bC9nZGItcGF0Y2hlcy8yMDEyLTA5L21zZzAwNjMyLmh0bWwKIAogLS1NUF8vUG5MNmwzTFVzWFdw Wi9vbHFhd1dsemIKIENvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VUy1BU0NJSQpA QCAtNTcsMTIgKzYwLDIyIEBAIGdkYi9DaGFuZ2VMb2cKIENvbnRlbnQtVHlwZTogdGV4dC94LXBh dGNoCiBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0CiBDb250ZW50LURpc3Bvc2l0aW9u OiBhdHRhY2htZW50OyBmaWxlbmFtZT1iaXRwb3MtZW5zdXJlLXNpemVfdC5wYXRjaAorLS0tCisg Z2RiL2FscGhhLXRkZXAuYyAgfCAgNyArKysrKysrCisgZ2RiL2NwLXZhbHByaW50LmMgfCAgMSAr CisgZ2RiL2RlZnMuaCAgICAgICAgfCAgMiArKworIGdkYi9wLXZhbHByaW50LmMgIHwgIDEgKwor IGdkYi91dGlscy5jICAgICAgIHwgMTIgKysrKysrKysrKysrCisgZ2RiL3ZhbG9wcy5jICAgICAg fCAgMSArCisgZ2RiL3ZhbHVlLmMgICAgICAgfCAgNCArKysrCisgZ2RiL3ZheC10ZGVwLmMgICAg fCAgMSArCisgOCBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBnZGIt OC4wL2dkYi9hbHBoYS10ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2Fs cGhhLXRkZXAuYwkyMDE3LTA4LTE5IDIwOjA3OjQ1LjQ2OTMzMDQ5NiArMDIwMAotKysrIGdkYi04 LjAvZ2RiL2FscGhhLXRkZXAuYwkyMDE3LTA4LTE5IDIwOjA3OjUwLjY3MDM3OTE1MiArMDIwMAot QEAgLTQxNCw2ICs0MTQsMTMgQEAKK2RpZmYgLS1naXQgYS9nZGIvYWxwaGEtdGRlcC5jIGIvZ2Ri L2FscGhhLXRkZXAuYworaW5kZXggMzEwMGQ3MmFkMS4uNmZiZjQxYmNkYyAxMDA2NDQKKy0tLSBh L2dkYi9hbHBoYS10ZGVwLmMKKysrKyBiL2dkYi9hbHBoYS10ZGVwLmMKK0BAIC00MTUsNiArNDE1 LDEzIEBAIGFscGhhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0 cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgICAgIGFjY3VtdWxhdGVfc2l6ZSA9IDA7CiAgICBlbHNl CiAgICAgIGFjY3VtdWxhdGVfc2l6ZSAtPSBzaXplb2YoYXJnX3JlZ19idWZmZXIpOwpAQCAtNzYs NDggKzg5LDQ2IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hbHBoYS10ZGVwLmMKICAgIHNwIC09IGFj Y3VtdWxhdGVfc2l6ZTsKICAKICAgIC8qIEtlZXAgc3AgYWxpZ25lZCB0byBhIG11bHRpcGxlIG9m IDE2IGFzIHRoZSBBQkkgcmVxdWlyZXMuICAqLwotSW5kZXg6IGdkYi04LjAvZ2RiL2NwLXZhbHBy aW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2NwLXZhbHByaW50LmMJMjAx Ny0wOC0xOSAyMDowNzo0NS40NzAzMzA1MDUgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9jcC12YWxw cmludC5jCTIwMTctMDgtMTkgMjA6MDc6NTAuNjcwMzc5MTUyICswMjAwCi1AQCAtNTM3LDYgKzUz Nyw4IEBACi0gCQkgIGdkYl9ieXRlICpidWY7Ci0gCQkgIHN0cnVjdCBjbGVhbnVwICpiYWNrX3Rv OwotIAorZGlmZiAtLWdpdCBhL2dkYi9jcC12YWxwcmludC5jIGIvZ2RiL2NwLXZhbHByaW50LmMK K2luZGV4IDM4YmViNGQ2MmEuLmJjYjU5NTA3YmQgMTAwNjQ0CistLS0gYS9nZGIvY3AtdmFscHJp bnQuYworKysrIGIvZ2RiL2NwLXZhbHByaW50LmMKK0BAIC01MjksNiArNTI5LDcgQEAgY3BfcHJp bnRfdmFsdWUgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdHlwZSAqcmVhbF90eXBlLAorIAkg ICAgICBpZiAoKGJvZmZzZXQgKyBvZmZzZXQpIDwgMAorIAkJICB8fCAoYm9mZnNldCArIG9mZnNl dCkgPj0gVFlQRV9MRU5HVEggKHJlYWxfdHlwZSkpCisgCQl7CiArCQkgIHVsb25nZXN0X2ZpdHNf aG9zdF9vcl9lcnJvciAoVFlQRV9MRU5HVEggKGJhc2VjbGFzcykpOwotKwotIAkJICBidWYgPSAo Z2RiX2J5dGUgKikgeG1hbGxvYyAoVFlQRV9MRU5HVEggKGJhc2VjbGFzcykpOwotIAkJICBiYWNr X3RvID0gbWFrZV9jbGVhbnVwICh4ZnJlZSwgYnVmKTsKKyAJCSAgZ2RiOjpieXRlX3ZlY3RvciBi dWYgKFRZUEVfTEVOR1RIIChiYXNlY2xhc3MpKTsKICAKLUluZGV4OiBnZGItOC4wL2dkYi9maW5k Y21kLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2ZpbmRjbWQuYwkyMDE3LTA4 LTE5IDIwOjA3OjQ1LjQ3MjMzMDUyNCArMDIwMAotKysrIGdkYi04LjAvZ2RiL2ZpbmRjbWQuYwky MDE3LTA4LTE5IDIwOjA3OjUwLjY3MjM3OTE3MSArMDIwMAotQEAgLTE4Niw2ICsxODYsNyBAQAot IAkgIHNpemVfdCBjdXJyZW50X29mZnNldCA9IHBhdHRlcm5fYnVmX2VuZCAtIHBhdHRlcm5fYnVm OworIAkJICBpZiAodGFyZ2V0X3JlYWRfbWVtb3J5IChhZGRyZXNzICsgYm9mZnNldCwgYnVmLmRh dGEgKCksCitkaWZmIC0tZ2l0IGEvZ2RiL2RlZnMuaCBiL2dkYi9kZWZzLmgKK2luZGV4IGY3NjI5 M2ZlZGYuLjI3ZjNiZWNhYjAgMTAwNjQ0CistLS0gYS9nZGIvZGVmcy5oCisrKysgYi9nZGIvZGVm cy5oCitAQCAtNzA1LDQgKzcwNSw2IEBAIERFRl9FTlVNX0ZMQUdTX1RZUEUgKGVudW0gdXNlcl9z ZWxlY3RlZF93aGF0X2ZsYWcsIHVzZXJfc2VsZWN0ZWRfd2hhdCk7CiAgCi0gCSAgcGF0dGVybl9i dWZfc2l6ZSA9IHBhdHRlcm5fYnVmX3NpemVfbmVlZCAqIDI7Ci0rCSAgdWxvbmdlc3RfZml0c19o b3N0X29yX2Vycm9yIChwYXR0ZXJuX2J1Zl9zaXplKTsKLSAJICBwYXR0ZXJuX2J1ZiA9IChnZGJf Ynl0ZSAqKSB4cmVhbGxvYyAocGF0dGVybl9idWYsIHBhdHRlcm5fYnVmX3NpemUpOwotIAkgIHBh dHRlcm5fYnVmX2VuZCA9IHBhdHRlcm5fYnVmICsgY3VycmVudF9vZmZzZXQ7Ci0gCX0KLUluZGV4 OiBnZGItOC4wL2dkYi9wLXZhbHByaW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcv Z2RiL3AtdmFscHJpbnQuYwkyMDE3LTA4LTE5IDIwOjA3OjQ1LjQ3MjMzMDUyNCArMDIwMAotKysr IGdkYi04LjAvZ2RiL3AtdmFscHJpbnQuYwkyMDE3LTA4LTE5IDIwOjA3OjUwLjY3MzM3OTE4MCAr MDIwMAotQEAgLTc3Miw2ICs3NzIsNyBAQAotIAkgICAgICBnZGJfYnl0ZSAqYnVmOwotIAkgICAg ICBzdHJ1Y3QgY2xlYW51cCAqYmFja190bzsKKyAjaW5jbHVkZSAidXRpbHMuaCIKICAKKytleHRl cm4gdm9pZCB1bG9uZ2VzdF9maXRzX2hvc3Rfb3JfZXJyb3IgKFVMT05HRVNUIG51bSk7CisrCisg I2VuZGlmIC8qICNpZm5kZWYgREVGU19IICovCitkaWZmIC0tZ2l0IGEvZ2RiL3AtdmFscHJpbnQu YyBiL2dkYi9wLXZhbHByaW50LmMKK2luZGV4IDNjZGM4NDdmZTMuLjhkNWIzOTVhZmQgMTAwNjQ0 CistLS0gYS9nZGIvcC12YWxwcmludC5jCisrKysgYi9nZGIvcC12YWxwcmludC5jCitAQCAtNzcx LDYgKzc3MSw3IEBAIHBhc2NhbF9vYmplY3RfcHJpbnRfdmFsdWUgKHN0cnVjdCB0eXBlICp0eXBl LCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKKyAKKyAJICBpZiAoYm9mZnNldCA8IDAgfHwgYm9m ZnNldCA+PSBUWVBFX0xFTkdUSCAodHlwZSkpCisgCSAgICB7CiArCSAgICAgIHVsb25nZXN0X2Zp dHNfaG9zdF9vcl9lcnJvciAoVFlQRV9MRU5HVEggKGJhc2VjbGFzcykpOwotIAkgICAgICBidWYg PSAoZ2RiX2J5dGUgKikgeG1hbGxvYyAoVFlQRV9MRU5HVEggKGJhc2VjbGFzcykpOwotIAkgICAg ICBiYWNrX3RvID0gbWFrZV9jbGVhbnVwICh4ZnJlZSwgYnVmKTsKKyAJICAgICAgYnVmLnJlc2l6 ZSAoVFlQRV9MRU5HVEggKGJhc2VjbGFzcykpOwogIAotSW5kZXg6IGdkYi04LjAvZ2RiL3V0aWxz LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3V0aWxzLmMJMjAxNy0wOC0xOSAy MDowNzo0NS40NzMzMzA1MzMgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi91dGlscy5jCTIwMTctMDgt MTkgMjA6MDc6NTAuNjczMzc5MTgwICswMjAwCi1AQCAtMjc3Niw2ICsyNzc2LDE4IEBACisgCSAg ICAgIGJhc2VfdmFsYWRkciA9IGJ1Zi5kYXRhICgpOworZGlmZiAtLWdpdCBhL2dkYi91dGlscy5j IGIvZ2RiL3V0aWxzLmMKK2luZGV4IDVlOTlhNGQ1MDEuLmY3MmRkYWI5OTIgMTAwNjQ0CistLS0g YS9nZGIvdXRpbHMuYworKysrIGIvZ2RiL3V0aWxzLmMKK0BAIC0yODIyLDYgKzI4MjIsMTggQEAg c3RyaW5nX3RvX2NvcmVfYWRkciAoY29uc3QgY2hhciAqbXlfc3RyaW5nKQogICAgcmV0dXJuIGFk ZHI7CiAgfQogIApAQCAtMTMzLDI2ICsxNDQsMjYgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3V0aWxz LmMKICsJICAgcHVsb25nZXN0IChTSVpFX01BWCAvIDgpKTsKICt9CiArCi0gY2hhciAqCisgZ2Ri Ojp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4KICBnZGJfcmVhbHBhdGggKGNvbnN0IGNoYXIgKmZp bGVuYW1lKQogIHsKLUluZGV4OiBnZGItOC4wL2dkYi92YWxvcHMuYwotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi04LjAub3JpZy9nZGIvdmFsb3BzLmMJMjAxNy0wOC0xOSAyMDowNzo0NS40NzQzMzA1NDIg KzAyMDAKLSsrKyBnZGItOC4wL2dkYi92YWxvcHMuYwkyMDE3LTA4LTE5IDIwOjA3OjUwLjY3NDM3 OTE5MCArMDIwMAotQEAgLTIxMDAsNiArMjEwMCw3IEBACi0gCSAgICAgIHN0cnVjdCBjbGVhbnVw ICpiYWNrX3RvOworZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYworaW5k ZXggYTdjMzYxM2Q4NC4uZWViY2I4ZTVlMSAxMDA2NDQKKy0tLSBhL2dkYi92YWxvcHMuYworKysr IGIvZ2RiL3ZhbG9wcy5jCitAQCAtMjA4Nyw2ICsyMDg3LDcgQEAgc2VhcmNoX3N0cnVjdF9tZXRo b2QgKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCB2YWx1ZSAqKmFyZzFwLAorIAkgICAgewogIAkg ICAgICBDT1JFX0FERFIgYWRkcmVzczsKICAKICsJICAgICAgdWxvbmdlc3RfZml0c19ob3N0X29y X2Vycm9yIChUWVBFX0xFTkdUSCAoYmFzZWNsYXNzKSk7Ci0gCSAgICAgIHRtcCA9IChnZGJfYnl0 ZSAqKSB4bWFsbG9jIChUWVBFX0xFTkdUSCAoYmFzZWNsYXNzKSk7Ci0gCSAgICAgIGJhY2tfdG8g PSBtYWtlX2NsZWFudXAgKHhmcmVlLCB0bXApOworIAkgICAgICBnZGI6OmJ5dGVfdmVjdG9yIHRt cCAoVFlQRV9MRU5HVEggKGJhc2VjbGFzcykpOwogIAkgICAgICBhZGRyZXNzID0gdmFsdWVfYWRk cmVzcyAoKmFyZzFwKTsKLUluZGV4OiBnZGItOC4wL2dkYi92YWx1ZS5jCi09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTguMC5vcmlnL2dkYi92YWx1ZS5jCTIwMTctMDgtMTkgMjA6MDc6NDUuNDc2MzMwNTYx ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvdmFsdWUuYwkyMDE3LTA4LTE5IDIwOjA3OjUwLjY3NTM3 OTE5OSArMDIwMAotQEAgLTkzNiw2ICs5MzYsNyBAQAorIAorZGlmZiAtLWdpdCBhL2dkYi92YWx1 ZS5jIGIvZ2RiL3ZhbHVlLmMKK2luZGV4IDBjODdhZTc1ZWUuLjEwNWMyOGJlYTcgMTAwNjQ0Cist LS0gYS9nZGIvdmFsdWUuYworKysrIGIvZ2RiL3ZhbHVlLmMKK0BAIC05MjYsNiArOTI2LDcgQEAg YWxsb2NhdGVfdmFsdWVfbGF6eSAoc3RydWN0IHR5cGUgKnR5cGUpCiAgICAgICBkZXNjcmlwdGlv biBjb3JyZWN0bHkuICAqLwogICAgY2hlY2tfdHlwZWRlZiAodHlwZSk7CiAgCkBAIC0xNjAsNyAr MTcxLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbHVlLmMKICAgIHZhbCA9IFhDTkVXIChzdHJ1 Y3QgdmFsdWUpOwogICAgdmFsLT5jb250ZW50cyA9IE5VTEw7CiAgICB2YWwtPm5leHQgPSBhbGxf dmFsdWVzOwotQEAgLTEwMzMsNiArMTAzNCw4IEBACitAQCAtMTAyMyw2ICsxMDI0LDggQEAgY2hl Y2tfdHlwZV9sZW5ndGhfYmVmb3JlX2FsbG9jIChjb25zdCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICBz dGF0aWMgdm9pZAogIGFsbG9jYXRlX3ZhbHVlX2NvbnRlbnRzIChzdHJ1Y3QgdmFsdWUgKnZhbCkK ICB7CkBAIC0xNjksNyArMTgwLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbHVlLmMKICAgIGlm ICghdmFsLT5jb250ZW50cykKICAgICAgewogICAgICAgIGNoZWNrX3R5cGVfbGVuZ3RoX2JlZm9y ZV9hbGxvYyAodmFsLT5lbmNsb3NpbmdfdHlwZSk7Ci1AQCAtMzA5Myw2ICszMDk2LDcgQEAKK0BA IC0zMDE1LDYgKzMwMTgsNyBAQCBzZXRfdmFsdWVfZW5jbG9zaW5nX3R5cGUgKHN0cnVjdCB2YWx1 ZSAqdmFsLCBzdHJ1Y3QgdHlwZSAqbmV3X2VuY2xfdHlwZSkKICAgIGlmIChUWVBFX0xFTkdUSCAo bmV3X2VuY2xfdHlwZSkgPiBUWVBFX0xFTkdUSCAodmFsdWVfZW5jbG9zaW5nX3R5cGUgKHZhbCkp KQogICAgICB7CiAgICAgICAgY2hlY2tfdHlwZV9sZW5ndGhfYmVmb3JlX2FsbG9jIChuZXdfZW5j bF90eXBlKTsKQEAgLTE3NywxMSArMTg4LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi92YWx1ZS5j CiAgICAgICAgdmFsLT5jb250ZW50cwogIAk9IChnZGJfYnl0ZSAqKSB4cmVhbGxvYyAodmFsLT5j b250ZW50cywgVFlQRV9MRU5HVEggKG5ld19lbmNsX3R5cGUpKTsKICAgICAgfQotSW5kZXg6IGdk Yi04LjAvZ2RiL3ZheC10ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3Zh eC10ZGVwLmMJMjAxNy0wOC0xOSAyMDowNzo0NS40NzYzMzA1NjEgKzAyMDAKLSsrKyBnZGItOC4w L2dkYi92YXgtdGRlcC5jCTIwMTctMDgtMTkgMjA6MDc6NTAuNjc1Mzc5MTk5ICswMjAwCi1AQCAt MjE5LDYgKzIxOSw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3ZheC10ZGVwLmMgYi9nZGIvdmF4LXRk ZXAuYworaW5kZXggYzFmMTBjOGI2NS4uZjMxYWNjOGYwMSAxMDA2NDQKKy0tLSBhL2dkYi92YXgt dGRlcC5jCisrKysgYi9nZGIvdmF4LXRkZXAuYworQEAgLTIxOCw2ICsyMTgsNyBAQCB2YXhfcmV0 dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlv biwKICAJICBVTE9OR0VTVCBhZGRyOwogIAogIAkgIHJlZ2NhY2hlX3Jhd19yZWFkX3Vuc2lnbmVk IChyZWdjYWNoZSwgVkFYX1IwX1JFR05VTSwgJmFkZHIpOwpAQCAtMTg5LDE0ICsyMDAsNiBAQCBJ bmRleDogZ2RiLTguMC9nZGIvdmF4LXRkZXAuYwogIAkgIHJlYWRfbWVtb3J5IChhZGRyLCByZWFk YnVmLCBsZW4pOwogIAl9CiAgCi1JbmRleDogZ2RiLTguMC9nZGIvZGVmcy5oCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9kZWZzLmgJMjAxNy0wOC0xOSAyMDowNzo0NS40NzYzMzA1 NjEgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9kZWZzLmgJMjAxNy0wOC0xOSAyMDowNzo1MC42NzYz NzkyMDggKzAyMDAKLUBAIC03NTAsNCArNzUwLDYgQEAKLSAKLSAjaW5jbHVkZSAidXRpbHMuaCIK LSAKLStleHRlcm4gdm9pZCB1bG9uZ2VzdF9maXRzX2hvc3Rfb3JfZXJyb3IgKFVMT05HRVNUIG51 bSk7Ci0rCi0gI2VuZGlmIC8qICNpZm5kZWYgREVGU19IICovCistLSAKKzIuMTQuMworCgpkaWZm IC0tZ2l0IGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIyb2YyNS5wYXRjaCBiL2dkYi1yaGJ6Nzk1 NDI0LWJpdHBvcy0yMm9mMjUucGF0Y2gKaW5kZXggMGI3NGZhNC4uODJlNGM1ZiAxMDA2NDQKLS0t IGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIyb2YyNS5wYXRjaAorKysgYi9nZGItcmhiejc5NTQy NC1iaXRwb3MtMjJvZjI1LnBhdGNoCkBAIC0xLDEyICsxLDE1IEBACitGcm9tIDBkMjgzYTAxMjkz NGEzNmFkYWRlOWMzZjBjNTA0NDI0YTA3OGJjNTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBG cm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAy NyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogW1BBVENIIDMvNF0gRXhwYW5kIHdh dGNocG9pbnQgbGVuZ3RocyB0byBMT05HRVNUCitTdWJqZWN0OiBFeHBhbmQgd2F0Y2hwb2ludCBs ZW5ndGhzIHRvIExPTkdFU1QKIAogRmlsZU5hbWU6IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMm9m MjUucGF0Y2gKIAotaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTItMDkv bXNnMDA2MjkuaHRtbAotCis7OyBGaXggYEdEQiBjYW5ub3QgYWNjZXNzIHN0cnVjdCBtZW1iZXIg d2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1CJworOzsgKFJIIEJaIDc5NTQyNCkuCis7 Oz1wdXNoCiAKK2h0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEyLTA5L21z ZzAwNjI5Lmh0bWwKIAogLS1NUF8vNkhSbEg2dnB5cXRTeTRDWXlNclg2YjIKIENvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VUy1BU0NJSQpAQCAtMTAxLDEyICsxMDQsMzcgQEAgZ2Ri L0NoYW5nZUxvZzoKIENvbnRlbnQtVHlwZTogdGV4dC94LXBhdGNoCiBDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA3Yml0CiBDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFt ZT1iaXRwb3Mtd3AucGF0Y2gKKy0tLQorIGdkYi9hYXJjaDY0LWxpbnV4LW5hdC5jICAgICAgICAg IHwgIDIgKy0KKyBnZGIvYXJtLWxpbnV4LW5hdC5jICAgICAgICAgICAgICB8ICAyICstCisgZ2Ri L25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50LmMgfCAyMSArKysrKysrKysrKy0tLS0tLS0tLS0K KyBnZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuaCB8ICA0ICsrLS0KKyBnZGIvcHBjLWxp bnV4LW5hdC5jICAgICAgICAgICAgICB8IDE0ICsrKysrKystLS0tLS0tCisgZ2RiL3Byb2Nmcy5j ICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCisgZ2RiL3JlbW90ZS5jICAgICAgICAgICAg ICAgICAgICAgfCAgNiArKystLS0KKyBnZGIvdGFyZ2V0LWRlbGVnYXRlcy5jICAgICAgICAgICB8 IDE0ICsrKysrKystLS0tLS0tCisgZ2RiL3RhcmdldC5jICAgICAgICAgICAgICAgICAgICAgfCAg NCArKy0tCisgZ2RiL3RhcmdldC5oICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCisgMTAg ZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCiAKLUluZGV4 OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvYXJtLWxpbnV4LW5hdC5jCi09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjcub3JpZy9nZGIvYXJtLWxpbnV4LW5hdC5jCTIwMTUtMTEt MDggMTA6MzY6MzMuMDUwMDcxODEyICswMTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2Ri L2FybS1saW51eC1uYXQuYwkyMDE1LTExLTA4IDEwOjM2OjMzLjA5NDA3MjExMCArMDEwMAotQEAg LTEyMDksNyArMTIwOSw3IEBAIGFybV9saW51eF9zdG9wcGVkX2J5X3dhdGNocG9pbnQgKHN0cnVj dAorZGlmZiAtLWdpdCBhL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jIGIvZ2RiL2FhcmNoNjQtbGlu dXgtbmF0LmMKK2luZGV4IDg2MDYxMTFjMDAuLjlhMjk0NDUzMjAgMTAwNjQ0CistLS0gYS9nZGIv YWFyY2g2NC1saW51eC1uYXQuYworKysrIGIvZ2RiL2FhcmNoNjQtbGludXgtbmF0LmMKK0BAIC03 NjcsNyArNzY3LDcgQEAgYWFyY2g2NF9saW51eF9zdG9wcGVkX2J5X3dhdGNocG9pbnQgKHN0cnVj dCB0YXJnZXRfb3BzICpvcHMpCisgc3RhdGljIGludAorIGFhcmNoNjRfbGludXhfd2F0Y2hwb2lu dF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydWN0IHRhcmdldF9vcHMgKnRhcmdldCwKKyAJCQkJCSAg ICBDT1JFX0FERFIgYWRkciwKKy0JCQkJCSAgICBDT1JFX0FERFIgc3RhcnQsIGludCBsZW5ndGgp CisrCQkJCQkgICAgQ09SRV9BRERSIHN0YXJ0LCBMT05HRVNUIGxlbmd0aCkKKyB7CisgICByZXR1 cm4gc3RhcnQgPD0gYWRkciAmJiBzdGFydCArIGxlbmd0aCAtIDEgPj0gYWRkcjsKKyB9CitkaWZm IC0tZ2l0IGEvZ2RiL2FybS1saW51eC1uYXQuYyBiL2dkYi9hcm0tbGludXgtbmF0LmMKK2luZGV4 IGI1NzMyY2I0OGUuLmY3MjQ5ZmE3OTkgMTAwNjQ0CistLS0gYS9nZGIvYXJtLWxpbnV4LW5hdC5j CisrKysgYi9nZGIvYXJtLWxpbnV4LW5hdC5jCitAQCAtMTE3Nyw3ICsxMTc3LDcgQEAgYXJtX2xp bnV4X3N0b3BwZWRfYnlfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKm9wcykKICBzdGF0 aWMgaW50CiAgYXJtX2xpbnV4X3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKHN0cnVjdCB0 YXJnZXRfb3BzICp0YXJnZXQsCiAgCQkJCQlDT1JFX0FERFIgYWRkciwKQEAgLTExNSwxMSArMTQz LDEwNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2FybS1saW51eC1uYXQuYwog IHsKICAgIHJldHVybiBzdGFydCA8PSBhZGRyICYmIHN0YXJ0ICsgbGVuZ3RoIC0gMSA+PSBhZGRy OwogIH0KLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvcHBjLWxpbnV4LW5hdC5jCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjcub3JpZy9nZGIvcHBjLWxpbnV4LW5h dC5jCTIwMTUtMTEtMDggMTA6MzY6MzMuMDY0MDcxOTA3ICswMTAwCi0rKysgZ2RiLTcuMTAuNTAu MjAxNTEwMjcvZ2RiL3BwYy1saW51eC1uYXQuYwkyMDE1LTExLTA4IDEwOjM2OjMzLjA5NTA3MjEx NyArMDEwMAotQEAgLTE4MDcsMTEgKzE4MDcsMTEgQEAgY2FuX3VzZV93YXRjaHBvaW50X2NvbmRf YWNjZWwgKHZvaWQpCitkaWZmIC0tZ2l0IGEvZ2RiL25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50 LmMgYi9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuYworaW5kZXggOTgwMGQ5YTU5Yy4u ZWUxZWE0MDY2NCAxMDA2NDQKKy0tLSBhL2dkYi9uYXQvYWFyY2g2NC1saW51eC1ody1wb2ludC5j CisrKysgYi9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuYworQEAgLTExMSw3ICsxMTEs NyBAQCBhYXJjaDY0X3BvaW50X2VuY29kZV9jdHJsX3JlZyAoZW51bSB0YXJnZXRfaHdfYnBfdHlw ZSB0eXBlLCBpbnQgbGVuKQorICAgIFJldHVybiAwIGZvciBhbnkgbm9uLWNvbXBsaWFudCBBRERS IGFuZC9vciBMRU47IHJldHVybiAxIG90aGVyd2lzZS4gICovCisgCisgc3RhdGljIGludAorLWFh cmNoNjRfcG9pbnRfaXNfYWxpZ25lZCAoaW50IGlzX3dhdGNocG9pbnQsIENPUkVfQUREUiBhZGRy LCBpbnQgbGVuKQorK2FhcmNoNjRfcG9pbnRfaXNfYWxpZ25lZCAoaW50IGlzX3dhdGNocG9pbnQs IENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKKyB7CisgICB1bnNpZ25lZCBpbnQgYWxpZ25t ZW50ID0gMDsKKyAKK0BAIC0xODAsOSArMTgwLDEwIEBAIGFhcmNoNjRfcG9pbnRfaXNfYWxpZ25l ZCAoaW50IGlzX3dhdGNocG9pbnQsIENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKQorICAgIGxpbWl0 YXRpb25zIGNhbiBiZSBsYXJnZWx5IHJlbGF4ZWQgd2l0aCBzb21lIGZ1cnRoZXIgd29yay4gICov CisgCisgc3RhdGljIHZvaWQKKy1hYXJjaDY0X2FsaWduX3dhdGNocG9pbnQgKENPUkVfQUREUiBh ZGRyLCBpbnQgbGVuLCBDT1JFX0FERFIgKmFsaWduZWRfYWRkcl9wLAorK2FhcmNoNjRfYWxpZ25f d2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuLAorKwkJCSAgQ09SRV9BRERS ICphbGlnbmVkX2FkZHJfcCwKKyAJCQkgIGludCAqYWxpZ25lZF9sZW5fcCwgQ09SRV9BRERSICpu ZXh0X2FkZHJfcCwKKy0JCQkgIGludCAqbmV4dF9sZW5fcCkKKysJCQkgIExPTkdFU1QgKm5leHRf bGVuX3ApCisgeworICAgaW50IGFsaWduZWRfbGVuOworICAgdW5zaWduZWQgaW50IG9mZnNldDsK K0BAIC01MDEsNyArNTAyLDcgQEAgYWFyY2g2NF9oYW5kbGVfYWxpZ25lZF93YXRjaHBvaW50IChl bnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsCisgCisgc3RhdGljIGludAorIGFhcmNoNjRfaGFu ZGxlX3VuYWxpZ25lZF93YXRjaHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsCist CQkJCSAgICAgQ09SRV9BRERSIGFkZHIsIGludCBsZW4sIGludCBpc19pbnNlcnQsCisrCQkJCSAg ICAgQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuLCBpbnQgaXNfaW5zZXJ0LAorIAkJCQkgICAg IHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUpCisgeworICAgd2hpbGUgKGxl biA+IDApCitAQCAtNTI0LDkgKzUyNSw5IEBAIGFhcmNoNjRfaGFuZGxlX3VuYWxpZ25lZF93YXRj aHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsCisgCQkgICAgICAiICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiCisgCQkgICAgICAiYWxpZ25lZF9hZGRyOiAlcywgYWxpZ25l ZF9sZW46ICVkXG4iCisgCQkgICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi CistCQkgICAgICAibmV4dF9hZGRyOiAlcywgICAgbmV4dF9sZW46ICVkXG4iLAorKwkJICAgICAg Im5leHRfYWRkcjogJXMsICAgIG5leHRfbGVuOiAlc1xuIiwKKyAJCSAgICAgIGlzX2luc2VydCwg Y29yZV9hZGRyX3RvX3N0cmluZ19ueiAoYWxpZ25lZF9hZGRyKSwKKy0JCSAgICAgIGFsaWduZWRf bGVuLCBjb3JlX2FkZHJfdG9fc3RyaW5nX256IChhZGRyKSwgbGVuKTsKKysJCSAgICAgIGFsaWdu ZWRfbGVuLCBjb3JlX2FkZHJfdG9fc3RyaW5nX256IChhZGRyKSwgcGxvbmdlc3QgKGxlbikpOwor IAorICAgICAgIGlmIChyZXQgIT0gMCkKKyAJcmV0dXJuIHJldDsKK0BAIC01MzcsNyArNTM4LDcg QEAgYWFyY2g2NF9oYW5kbGVfdW5hbGlnbmVkX3dhdGNocG9pbnQgKGVudW0gdGFyZ2V0X2h3X2Jw X3R5cGUgdHlwZSwKKyAKKyBpbnQKKyBhYXJjaDY0X2hhbmRsZV93YXRjaHBvaW50IChlbnVtIHRh cmdldF9od19icF90eXBlIHR5cGUsIENPUkVfQUREUiBhZGRyLAorLQkJCSAgIGludCBsZW4sIGlu dCBpc19pbnNlcnQsCisrCQkJICAgTE9OR0VTVCBsZW4sIGludCBpc19pbnNlcnQsCisgCQkJICAg c3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSkKKyB7CisgICBpZiAoYWFyY2g2 NF9wb2ludF9pc19hbGlnbmVkICgxIC8qIGlzX3dhdGNocG9pbnQgKi8gLCBhZGRyLCBsZW4pKQor QEAgLTU4OCwxNCArNTg5LDE0IEBAIGFhcmNoNjRfbGludXhfc2V0X2RlYnVnX3JlZ3MgKGNvbnN0 IHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCisgdm9pZAorIGFhcmNoNjRf c2hvd19kZWJ1Z19yZWdfc3RhdGUgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3Rh dGUsCisgCQkJICAgICAgY29uc3QgY2hhciAqZnVuYywgQ09SRV9BRERSIGFkZHIsCistCQkJICAg ICAgaW50IGxlbiwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlKQorKwkJCSAgICAgIExPTkdF U1QgbGVuLCBlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUpCisgeworICAgaW50IGk7CisgCisg ICBkZWJ1Z19wcmludGYgKCIlcyIsIGZ1bmMpOworICAgaWYgKGFkZHIgfHwgbGVuKQorLSAgICBk ZWJ1Z19wcmludGYgKCIgKGFkZHI9MHglMDhseCwgbGVuPSVkLCB0eXBlPSVzKSIsCistCQkgICh1 bnNpZ25lZCBsb25nKSBhZGRyLCBsZW4sCisrICAgIGRlYnVnX3ByaW50ZiAoIiAoYWRkcj0weCUw OGx4LCBsZW49JXMsIHR5cGU9JXMpIiwKKysJCSAgKHVuc2lnbmVkIGxvbmcpIGFkZHIsIHBsb25n ZXN0IChsZW4pLAorIAkJICB0eXBlID09IGh3X3dyaXRlID8gImh3LXdyaXRlLXdhdGNocG9pbnQi CisgCQkgIDogKHR5cGUgPT0gaHdfcmVhZCA/ICJody1yZWFkLXdhdGNocG9pbnQiCisgCQkgICAg IDogKHR5cGUgPT0gaHdfYWNjZXNzID8gImh3LWFjY2Vzcy13YXRjaHBvaW50IgorZGlmZiAtLWdp dCBhL2dkYi9uYXQvYWFyY2g2NC1saW51eC1ody1wb2ludC5oIGIvZ2RiL25hdC9hYXJjaDY0LWxp bnV4LWh3LXBvaW50LmgKK2luZGV4IDYxMGE1ZjEyMTUuLjE4ZTFjODI2YzMgMTAwNjQ0CistLS0g YS9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuaAorKysrIGIvZ2RiL25hdC9hYXJjaDY0 LWxpbnV4LWh3LXBvaW50LmgKK0BAIC0xNzIsNyArMTcyLDcgQEAgaW50IGFhcmNoNjRfaGFuZGxl X2JyZWFrcG9pbnQgKGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwgQ09SRV9BRERSIGFkZHIs CisgCQkJICAgICAgIGludCBsZW4sIGludCBpc19pbnNlcnQsCisgCQkJICAgICAgIHN0cnVjdCBh YXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUpOworIGludCBhYXJjaDY0X2hhbmRsZV93YXRj aHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsIENPUkVfQUREUiBhZGRyLAorLQkJ CSAgICAgICBpbnQgbGVuLCBpbnQgaXNfaW5zZXJ0LAorKwkJCSAgICAgICBMT05HRVNUIGxlbiwg aW50IGlzX2luc2VydCwKKyAJCQkgICAgICAgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRl ICpzdGF0ZSk7CisgCisgdm9pZCBhYXJjaDY0X2xpbnV4X3NldF9kZWJ1Z19yZWdzIChjb25zdCBz dHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAorQEAgLTE4MCw3ICsxODAsNyBA QCB2b2lkIGFhcmNoNjRfbGludXhfc2V0X2RlYnVnX3JlZ3MgKGNvbnN0IHN0cnVjdCBhYXJjaDY0 X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCisgCisgdm9pZCBhYXJjaDY0X3Nob3dfZGVidWdfcmVn X3N0YXRlIChzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAorIAkJCQkgICBj b25zdCBjaGFyICpmdW5jLCBDT1JFX0FERFIgYWRkciwKKy0JCQkJICAgaW50IGxlbiwgZW51bSB0 YXJnZXRfaHdfYnBfdHlwZSB0eXBlKTsKKysJCQkJICAgTE9OR0VTVCBsZW4sIGVudW0gdGFyZ2V0 X2h3X2JwX3R5cGUgdHlwZSk7CisgCisgdm9pZCBhYXJjaDY0X2xpbnV4X2dldF9kZWJ1Z19yZWdf Y2FwYWNpdHkgKGludCB0aWQpOworIAorZGlmZiAtLWdpdCBhL2dkYi9wcGMtbGludXgtbmF0LmMg Yi9nZGIvcHBjLWxpbnV4LW5hdC5jCitpbmRleCA0MjliOWM2MjMxLi4zOTAwNGMxYTc3IDEwMDY0 NAorLS0tIGEvZ2RiL3BwYy1saW51eC1uYXQuYworKysrIGIvZ2RiL3BwYy1saW51eC1uYXQuYwor QEAgLTE3OTgsMTEgKzE3OTgsMTEgQEAgY2FuX3VzZV93YXRjaHBvaW50X2NvbmRfYWNjZWwgKHZv aWQpCiAgICAgQ09ORElUSU9OX1ZBTFVFIHdpbGwgaG9sZCB0aGUgdmFsdWUgd2hpY2ggc2hvdWxk IGJlIHB1dCBpbiB0aGUKICAgICBEVkMgcmVnaXN0ZXIuICAqLwogIHN0YXRpYyB2b2lkCkBAIC0x MzQsNyArMjU4LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9wcGMtbGludXgt bmF0LmMKICAgIENPUkVfQUREUiBhZGRyX2VuZF9kYXRhLCBhZGRyX2VuZF9kdmM7CiAgCiAgICAv KiBUaGUgRFZDIHJlZ2lzdGVyIGNvbXBhcmVzIGJ5dGVzIHdpdGhpbiBmaXhlZC1sZW5ndGggd2lu ZG93cyB3aGljaAotQEAgLTE4OTgsNyArMTg5OCw3IEBAIG51bV9tZW1vcnlfYWNjZXNzZXMgKHN0 cnVjdCB2YWx1ZSAqdikKK0BAIC0xODg5LDcgKzE4ODksNyBAQCBudW1fbWVtb3J5X2FjY2Vzc2Vz IChzdHJ1Y3QgdmFsdWUgKnYpCiAgICAgb2YgdGhlIGNvbnN0YW50LiAgKi8KICBzdGF0aWMgaW50 CiAgY2hlY2tfY29uZGl0aW9uIChDT1JFX0FERFIgd2F0Y2hfYWRkciwgc3RydWN0IGV4cHJlc3Np b24gKmNvbmQsCkBAIC0xNDMsNyArMjY3LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3 L2dkYi9wcGMtbGludXgtbmF0LmMKICB7CiAgICBpbnQgcGMgPSAxLCBudW1fYWNjZXNzZXNfbGVm dCwgbnVtX2FjY2Vzc2VzX3JpZ2h0OwogICAgc3RydWN0IHZhbHVlICpsZWZ0X3ZhbCwgKnJpZ2h0 X3ZhbCwgKmxlZnRfY2hhaW4sICpyaWdodF9jaGFpbjsKLUBAIC0xOTY2LDcgKzE5NjYsNyBAQCBj aGVja19jb25kaXRpb24gKENPUkVfQUREUiB3YXRjaF9hZGRyLCBzCitAQCAtMTk1Nyw3ICsxOTU3 LDcgQEAgY2hlY2tfY29uZGl0aW9uIChDT1JFX0FERFIgd2F0Y2hfYWRkciwgc3RydWN0IGV4cHJl c3Npb24gKmNvbmQsCiAgICAgdHJ1ZS4gICovCiAgc3RhdGljIGludAogIHBwY19saW51eF9jYW5f YWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLApAQCAt MTUyLDcgKzI3Niw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvcHBjLWxpbnV4 LW5hdC5jCiAgCQkJCQkgIHN0cnVjdCBleHByZXNzaW9uICpjb25kKQogIHsKICAgIENPUkVfQURE UiBkYXRhX3ZhbHVlOwotQEAgLTE5ODMsNyArMTk4Myw3IEBAIHBwY19saW51eF9jYW5fYWNjZWxf d2F0Y2hwb2ludF9jb25kaXRpb24KK0BAIC0xOTc0LDcgKzE5NzQsNyBAQCBwcGNfbGludXhfY2Fu X2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwKICAK ICBzdGF0aWMgdm9pZAogIGNyZWF0ZV93YXRjaHBvaW50X3JlcXVlc3QgKHN0cnVjdCBwcGNfaHdf YnJlYWtwb2ludCAqcCwgQ09SRV9BRERSIGFkZHIsCkBAIC0xNjEsNyArMjg1LDcgQEAgSW5kZXg6 IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9wcGMtbGludXgtbmF0LmMKICAJCQkgICBzdHJ1Y3Qg ZXhwcmVzc2lvbiAqY29uZCwgaW50IGluc2VydCkKICB7CiAgICBpZiAobGVuID09IDEKLUBAIC0y MjQ5LDcgKzIyNDksNyBAQCBwcGNfbGludXhfc3RvcHBlZF9ieV93YXRjaHBvaW50IChzdHJ1Y3QK K0BAIC0yMjQwLDcgKzIyNDAsNyBAQCBwcGNfbGludXhfc3RvcHBlZF9ieV93YXRjaHBvaW50IChz dHJ1Y3QgdGFyZ2V0X29wcyAqb3BzKQogIHN0YXRpYyBpbnQKICBwcGNfbGludXhfd2F0Y2hwb2lu dF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydWN0IHRhcmdldF9vcHMgKnRhcmdldCwKICAJCQkJCUNP UkVfQUREUiBhZGRyLApAQCAtMTcwLDIwICsyOTQsMjAgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIw MTUxMDI3L2dkYi9wcGMtbGludXgtbmF0LmMKICB7CiAgICBpbnQgbWFzazsKICAKLUluZGV4OiBn ZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvcHJvY2ZzLmMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4x MC41MC4yMDE1MTAyNy5vcmlnL2dkYi9wcm9jZnMuYwkyMDE1LTExLTA4IDEwOjM2OjMzLjA2NTA3 MTkxMyArMDEwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9wcm9jZnMuYwkyMDE1LTEx LTA4IDEwOjM2OjMzLjA5NjA3MjEyMyArMDEwMAotQEAgLTI0MjcsNyArMjQyNyw3IEBAIHByb2Nm c19hZGRyZXNzX3RvX2hvc3RfcG9pbnRlciAoQ09SRV9BREQKLSAjZW5kaWYKK2RpZmYgLS1naXQg YS9nZGIvcHJvY2ZzLmMgYi9nZGIvcHJvY2ZzLmMKK2luZGV4IDFkZDM4M2FlY2IuLmRiYjk4YzE2 NWQgMTAwNjQ0CistLS0gYS9nZGIvcHJvY2ZzLmMKKysrKyBiL2dkYi9wcm9jZnMuYworQEAgLTE1 NjMsNyArMTU2Myw3IEBAIHByb2Nmc19hZGRyZXNzX3RvX2hvc3RfcG9pbnRlciAoQ09SRV9BRERS IGFkZHIpCisgfQogIAogIHN0YXRpYyBpbnQKIC1wcm9jX3NldF93YXRjaHBvaW50IChwcm9jaW5m byAqcGksIENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBpbnQgd2ZsYWdzKQogK3Byb2Nfc2V0X3dh dGNocG9pbnQgKHByb2NpbmZvICpwaSwgQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuLCBpbnQg d2ZsYWdzKQogIHsKLSAjaWYgIWRlZmluZWQgKFBDV0FUQ0gpICYmICFkZWZpbmVkIChQSU9DU1dB VENIKQotICAgLyogSWYgbmVpdGhlciBvciB0aGVzZSBpcyBkZWZpbmVkLCB3ZSBjYW4ndCBzdXBw b3J0IHdhdGNocG9pbnRzLgotQEAgLTQ3MDYsNyArNDcwNiw3IEBAIHByb2Nmc19waWRfdG9fc3Ry IChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3AKKyAgIHN0cnVjdCB7CisgICAgIHByb2Nmc19jdGxfdCBj bWQ7CitAQCAtMzI1MCw3ICszMjUwLDcgQEAgcHJvY2ZzX3BpZF90b19zdHIgKHN0cnVjdCB0YXJn ZXRfb3BzICpvcHMsIHB0aWRfdCBwdGlkKQogIC8qIEluc2VydCBhIHdhdGNocG9pbnQuICAqLwog IAogIHN0YXRpYyBpbnQKQEAgLTE5MSwxMiArMzE1LDEyIEBAIEluZGV4OiBnZGItNy4xMC41MC4y MDE1MTAyNy9nZGIvcHJvY2ZzLmMKICtwcm9jZnNfc2V0X3dhdGNocG9pbnQgKHB0aWRfdCBwdGlk LCBDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4sIGludCByd2ZsYWcsCiAgCQkgICAgICAgaW50 IGFmdGVyKQogIHsKLSAjaWZuZGVmIEFJWDUKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9n ZGIvcmVtb3RlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAyNy5vcmlnL2dk Yi9yZW1vdGUuYwkyMDE1LTExLTA4IDEwOjM2OjMzLjA2NzA3MTkyNyArMDEwMAotKysrIGdkYi03 LjEwLjUwLjIwMTUxMDI3L2dkYi9yZW1vdGUuYwkyMDE1LTExLTA4IDEwOjM2OjMzLjA5NzA3MjEz MCArMDEwMAotQEAgLTkwODUsNyArOTA4NSw3IEBAIHJlbW90ZV9pbnNlcnRfd2F0Y2hwb2ludCAo c3RydWN0IHRhcmdldF8KKyAgIGludCAgICAgICBwZmxhZ3MgPSAwOworZGlmZiAtLWdpdCBhL2dk Yi9yZW1vdGUuYyBiL2dkYi9yZW1vdGUuYworaW5kZXggNDdkM2EwNGRkOS4uMzAzZmNkZGQ4YSAx MDA2NDQKKy0tLSBhL2dkYi9yZW1vdGUuYworKysrIGIvZ2RiL3JlbW90ZS5jCitAQCAtOTg5Miw3 ICs5ODkyLDcgQEAgcmVtb3RlX2luc2VydF93YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAq c2VsZiwgQ09SRV9BRERSIGFkZHIsIGludCBsZW4sCiAgICBwID0gc3RyY2hyIChycy0+YnVmLCAn XDAnKTsKICAgIGFkZHIgPSByZW1vdGVfYWRkcmVzc19tYXNrZWQgKGFkZHIpOwogICAgcCArPSBo ZXhudW1zdHIgKHAsIChVTE9OR0VTVCkgYWRkcik7CkBAIC0yMDUsNyArMzI5LDcgQEAgSW5kZXg6 IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9yZW1vdGUuYwogIAogICAgcHV0cGt0IChycy0+YnVm KTsKICAgIGdldHBrdCAoJnJzLT5idWYsICZycy0+YnVmX3NpemUsIDApOwotQEAgLTkxMDUsNyAr OTEwNSw3IEBAIHJlbW90ZV9pbnNlcnRfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF8KK0BAIC05 OTEyLDcgKzk5MTIsNyBAQCByZW1vdGVfaW5zZXJ0X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRf b3BzICpzZWxmLCBDT1JFX0FERFIgYWRkciwgaW50IGxlbiwKICAKICBzdGF0aWMgaW50CiAgcmVt b3RlX3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKHN0cnVjdCB0YXJnZXRfb3BzICp0YXJn ZXQsIENPUkVfQUREUiBhZGRyLApAQCAtMjE0LDcgKzMzOCw3IEBAIEluZGV4OiBnZGItNy4xMC41 MC4yMDE1MTAyNy9nZGIvcmVtb3RlLmMKICB7CiAgICBDT1JFX0FERFIgZGlmZiA9IHJlbW90ZV9h ZGRyZXNzX21hc2tlZCAoYWRkciAtIHN0YXJ0KTsKICAKLUBAIC05MTM0LDcgKzkxMzQsNyBAQCBy ZW1vdGVfcmVtb3ZlX3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfCitAQCAtOTk0MSw3ICs5OTQx LDcgQEAgcmVtb3RlX3JlbW92ZV93YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwg Q09SRV9BRERSIGFkZHIsIGludCBsZW4sCiAgICBwID0gc3RyY2hyIChycy0+YnVmLCAnXDAnKTsK ICAgIGFkZHIgPSByZW1vdGVfYWRkcmVzc19tYXNrZWQgKGFkZHIpOwogICAgcCArPSBoZXhudW1z dHIgKHAsIChVTE9OR0VTVCkgYWRkcik7CkBAIC0yMjMsNjggKzM0NywxMSBAQCBJbmRleDogZ2Ri LTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3JlbW90ZS5jCiAgICBwdXRwa3QgKHJzLT5idWYpOwogICAg Z2V0cGt0ICgmcnMtPmJ1ZiwgJnJzLT5idWZfc2l6ZSwgMCk7CiAgCi1JbmRleDogZ2RiLTcuMTAu NTAuMjAxNTEwMjcvZ2RiL3RhcmdldC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAx NTEwMjcub3JpZy9nZGIvdGFyZ2V0LmMJMjAxNS0xMS0wOCAxMDozNjozMy4wNjkwNzE5NDEgKzAx MDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGFyZ2V0LmMJMjAxNS0xMS0wOCAxMDoz NjozMy4wOTgwNzIxMzcgKzAxMDAKLUBAIC01MSw3ICs1MSw3IEBAIHN0YXRpYyB2b2lkIGdlbmVy aWNfdGxzX2Vycm9yICh2b2lkKSBBVFQKLSBzdGF0aWMgdm9pZCBkZWZhdWx0X3Rlcm1pbmFsX2lu Zm8gKHN0cnVjdCB0YXJnZXRfb3BzICosIGNvbnN0IGNoYXIgKiwgaW50KTsKLSAKLSBzdGF0aWMg aW50IGRlZmF1bHRfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydWN0IHRhcmdldF9v cHMgKiwKLS0JCQkJCQkgQ09SRV9BRERSLCBDT1JFX0FERFIsIGludCk7Ci0rCQkJCQkJIENPUkVf QUREUiwgQ09SRV9BRERSLCBMT05HRVNUKTsKLSAKLSBzdGF0aWMgaW50IGRlZmF1bHRfcmVnaW9u X29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqLAotIAkJCQkJCUNPUkVf QUREUiwgTE9OR0VTVCk7Ci1AQCAtMzE0MCw3ICszMTQwLDcgQEAgZGVmYXVsdF9yZWdpb25fb2tf Zm9yX2h3X3dhdGNocG9pbnQgKHN0cgotIHN0YXRpYyBpbnQKLSBkZWZhdWx0X3dhdGNocG9pbnRf YWRkcl93aXRoaW5fcmFuZ2UgKHN0cnVjdCB0YXJnZXRfb3BzICp0YXJnZXQsCi0gCQkJCSAgICAg IENPUkVfQUREUiBhZGRyLAotLQkJCQkgICAgICBDT1JFX0FERFIgc3RhcnQsIGludCBsZW5ndGgp Ci0rCQkJCSAgICAgIENPUkVfQUREUiBzdGFydCwgTE9OR0VTVCBsZW5ndGgpCi0gewotICAgcmV0 dXJuIGFkZHIgPj0gc3RhcnQgJiYgYWRkciA8IHN0YXJ0ICsgbGVuZ3RoOwotIH0KLUluZGV4OiBn ZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGFyZ2V0LmgKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4x MC41MC4yMDE1MTAyNy5vcmlnL2dkYi90YXJnZXQuaAkyMDE1LTExLTA4IDEwOjM2OjMzLjA2OTA3 MTk0MSArMDEwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi90YXJnZXQuaAkyMDE1LTEx LTA4IDEwOjM2OjMzLjA5ODA3MjEzNyArMDEwMAotQEAgLTU0Myw3ICs1NDMsNyBAQCBzdHJ1Y3Qg dGFyZ2V0X29wcwotICAgICBpbnQgKCp0b19zdG9wcGVkX2RhdGFfYWRkcmVzcykgKHN0cnVjdCB0 YXJnZXRfb3BzICosIENPUkVfQUREUiAqKQotICAgICAgIFRBUkdFVF9ERUZBVUxUX1JFVFVSTiAo MCk7Ci0gICAgIGludCAoKnRvX3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UpIChzdHJ1Y3Qg dGFyZ2V0X29wcyAqLAotLQkJCQkJICAgIENPUkVfQUREUiwgQ09SRV9BRERSLCBpbnQpCi0rCQkJ CQkgICAgQ09SRV9BRERSLCBDT1JFX0FERFIsIExPTkdFU1QpCi0gICAgICAgVEFSR0VUX0RFRkFV TFRfRlVOQyAoZGVmYXVsdF93YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlKTsKLSAKLSAgICAg LyogRG9jdW1lbnRhdGlvbiBvZiB0aGlzIHJvdXRpbmUgaXMgcHJvdmlkZWQgd2l0aCB0aGUgY29y cmVzcG9uZGluZwotQEAgLTU1Myw3ICs1NTMsNyBAQCBzdHJ1Y3QgdGFyZ2V0X29wcwotICAgICAg IFRBUkdFVF9ERUZBVUxUX0ZVTkMgKGRlZmF1bHRfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50 KTsKLSAKLSAgICAgaW50ICgqdG9fY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uKSAoc3Ry dWN0IHRhcmdldF9vcHMgKiwKLS0JCQkJCSAgICAgIENPUkVfQUREUiwgaW50LCBpbnQsCi0rCQkJ CQkgICAgICBDT1JFX0FERFIsIExPTkdFU1QsIGludCwKLSAJCQkJCSAgICAgIHN0cnVjdCBleHBy ZXNzaW9uICopCi0gICAgICAgVEFSR0VUX0RFRkFVTFRfUkVUVVJOICgwKTsKLSAgICAgaW50ICgq dG9fbWFza2VkX3dhdGNoX251bV9yZWdpc3RlcnMpIChzdHJ1Y3QgdGFyZ2V0X29wcyAqLAotSW5k ZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjcub3JpZy9nZGIvYWFyY2g2NC1saW51eC1uYXQu YwkyMDE1LTExLTA4IDEwOjM2OjMzLjA3NDA3MTk3NSArMDEwMAotKysrIGdkYi03LjEwLjUwLjIw MTUxMDI3L2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCTIwMTUtMTEtMDggMTA6MzY6MzMuMDk4MDcy MTM3ICswMTAwCi1AQCAtNzk1LDcgKzc5NSw3IEBAIGFhcmNoNjRfbGludXhfc3RvcHBlZF9ieV93 YXRjaHBvaW50IChzdHIKLSBzdGF0aWMgaW50Ci0gYWFyY2g2NF9saW51eF93YXRjaHBvaW50X2Fk ZHJfd2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqdGFyZ2V0LAotIAkJCQkJICAgIENP UkVfQUREUiBhZGRyLAotLQkJCQkJICAgIENPUkVfQUREUiBzdGFydCwgaW50IGxlbmd0aCkKLSsJ CQkJCSAgICBDT1JFX0FERFIgc3RhcnQsIExPTkdFU1QgbGVuZ3RoKQotIHsKLSAgIHJldHVybiBz dGFydCA8PSBhZGRyICYmIHN0YXJ0ICsgbGVuZ3RoIC0gMSA+PSBhZGRyOwotIH0KLUluZGV4OiBn ZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCi09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjcub3JpZy9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCTIwMTUt MTEtMDggMTA6MzY6MzMuMDczMDcxOTY4ICswMTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjcv Z2RiL3RhcmdldC1kZWxlZ2F0ZXMuYwkyMDE1LTExLTA4IDEwOjM2OjMzLjA5OTA3MjE0NCArMDEw MAotQEAgLTcwOSwxNCArNzA5LDE0IEBAIGRlYnVnX3N0b3BwZWRfZGF0YV9hZGRyZXNzIChzdHJ1 Y3QgdGFyZ2UKK2RpZmYgLS1naXQgYS9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jIGIvZ2RiL3Rhcmdl dC1kZWxlZ2F0ZXMuYworaW5kZXggMDRjYWRjMWQ0Yi4uMDUyNjM4YjkyYiAxMDA2NDQKKy0tLSBh L2dkYi90YXJnZXQtZGVsZWdhdGVzLmMKKysrKyBiL2dkYi90YXJnZXQtZGVsZWdhdGVzLmMKK0BA IC03MzMsMTQgKzczMywxNCBAQCBkZWJ1Z19zdG9wcGVkX2RhdGFfYWRkcmVzcyAoc3RydWN0IHRh cmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiAqYXJnMSkKICB9CiAgCiAgc3RhdGljIGludApAQCAt MzAxLDcgKzM2OCw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGFyZ2V0LWRl bGVnYXRlcy5jCiAgewogICAgaW50IHJlc3VsdDsKICAgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2Ri X3N0ZGxvZywgIi0+ICVzLT50b193YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlICguLi4pXG4i LCBkZWJ1Z190YXJnZXQudG9fc2hvcnRuYW1lKTsKLUBAIC03MjgsNyArNzI4LDcgQEAgZGVidWdf d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydQorQEAgLTc1Miw3ICs3NTIsNyBAQCBk ZWJ1Z193YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2Vs ZiwgQ09SRV9BRERSIGFyZzEsIENPUgogICAgZnB1dHNfdW5maWx0ZXJlZCAoIiwgIiwgZ2RiX3N0 ZGxvZyk7CiAgICB0YXJnZXRfZGVidWdfcHJpbnRfQ09SRV9BRERSIChhcmcyKTsKICAgIGZwdXRz X3VuZmlsdGVyZWQgKCIsICIsIGdkYl9zdGRsb2cpOwpAQCAtMzEwLDcgKzM3Nyw3IEBAIEluZGV4 OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCiAgICBmcHV0c191 bmZpbHRlcmVkICgiKSA9ICIsIGdkYl9zdGRsb2cpOwogICAgdGFyZ2V0X2RlYnVnX3ByaW50X2lu dCAocmVzdWx0KTsKICAgIGZwdXRzX3VuZmlsdGVyZWQgKCJcbiIsIGdkYl9zdGRsb2cpOwotQEAg LTc2MSwyMCArNzYxLDIwIEBAIGRlYnVnX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3Ry dWMKK0BAIC03ODUsMjAgKzc4NSwyMCBAQCBkZWJ1Z19yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9p bnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgYXJnMSwgTE9ORwogIH0KICAK ICBzdGF0aWMgaW50CkBAIC0zMzQsNyArNDAxLDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUx MDI3L2dkYi90YXJnZXQtZGVsZWdhdGVzLmMKICB7CiAgICBpbnQgcmVzdWx0OwogICAgZnByaW50 Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLCAiLT4gJXMtPnRvX2Nhbl9hY2NlbF93YXRjaHBvaW50 X2NvbmRpdGlvbiAoLi4uKVxuIiwgZGVidWdfdGFyZ2V0LnRvX3Nob3J0bmFtZSk7Ci1AQCAtNzg0 LDcgKzc4NCw3IEBAIGRlYnVnX2Nhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoc3QKK0BA IC04MDgsNyArODA4LDcgQEAgZGVidWdfY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChz dHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwgQ09SRV9BRERSIGFyZzEsIGkKICAgIGZwdXRzX3VuZmls dGVyZWQgKCIsICIsIGdkYl9zdGRsb2cpOwogICAgdGFyZ2V0X2RlYnVnX3ByaW50X0NPUkVfQURE UiAoYXJnMSk7CiAgICBmcHV0c191bmZpbHRlcmVkICgiLCAiLCBnZGJfc3RkbG9nKTsKQEAgLTM0 Myw5OSArNDEwLDUwIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGFyZ2V0LWRl bGVnYXRlcy5jCiAgICBmcHV0c191bmZpbHRlcmVkICgiLCAiLCBnZGJfc3RkbG9nKTsKICAgIHRh cmdldF9kZWJ1Z19wcmludF9pbnQgKGFyZzMpOwogICAgZnB1dHNfdW5maWx0ZXJlZCAoIiwgIiwg Z2RiX3N0ZGxvZyk7Ci1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL25hdC9hYXJjaDY0 LWxpbnV4LWh3LXBvaW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAyNy5v cmlnL2dkYi9uYXQvYWFyY2g2NC1saW51eC1ody1wb2ludC5jCTIwMTUtMTAtMjcgMDI6NDg6MzEu MDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL25hdC9hYXJjaDY0 LWxpbnV4LWh3LXBvaW50LmMJMjAxNS0xMS0wOCAxMDozNjozMy4wOTkwNzIxNDQgKzAxMDAKLUBA IC0xMTEsNyArMTExLDcgQEAgYWFyY2g2NF9wb2ludF9lbmNvZGVfY3RybF9yZWcgKGVudW0gdGFy ZwotICAgIFJldHVybiAwIGZvciBhbnkgbm9uLWNvbXBsaWFudCBBRERSIGFuZC9vciBMRU47IHJl dHVybiAxIG90aGVyd2lzZS4gICovCi0gCi0gc3RhdGljIGludAotLWFhcmNoNjRfcG9pbnRfaXNf YWxpZ25lZCAoaW50IGlzX3dhdGNocG9pbnQsIENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKQotK2Fh cmNoNjRfcG9pbnRfaXNfYWxpZ25lZCAoaW50IGlzX3dhdGNocG9pbnQsIENPUkVfQUREUiBhZGRy LCBMT05HRVNUIGxlbikKLSB7Ci0gICB1bnNpZ25lZCBpbnQgYWxpZ25tZW50ID0gMDsKLSAKLUBA IC0xODAsOSArMTgwLDEwIEBAIGFhcmNoNjRfcG9pbnRfaXNfYWxpZ25lZCAoaW50IGlzX3dhdGNo cG8KLSAgICBsaW1pdGF0aW9ucyBjYW4gYmUgbGFyZ2VseSByZWxheGVkIHdpdGggc29tZSBmdXJ0 aGVyIHdvcmsuICAqLworZGlmZiAtLWdpdCBhL2dkYi90YXJnZXQuYyBiL2dkYi90YXJnZXQuYwor aW5kZXggYzk0NzFmNjFmYi4uYmNjNjdhOWI0YiAxMDA2NDQKKy0tLSBhL2dkYi90YXJnZXQuYwor KysrIGIvZ2RiL3RhcmdldC5jCitAQCAtNTMsNyArNTMsNyBAQCBzdGF0aWMgdm9pZCBnZW5lcmlj X3Rsc19lcnJvciAodm9pZCkgQVRUUklCVVRFX05PUkVUVVJOOworIHN0YXRpYyB2b2lkIGRlZmF1 bHRfdGVybWluYWxfaW5mbyAoc3RydWN0IHRhcmdldF9vcHMgKiwgY29uc3QgY2hhciAqLCBpbnQp OwogIAotIHN0YXRpYyB2b2lkCi0tYWFyY2g2NF9hbGlnbl93YXRjaHBvaW50IChDT1JFX0FERFIg YWRkciwgaW50IGxlbiwgQ09SRV9BRERSICphbGlnbmVkX2FkZHJfcCwKLSthYXJjaDY0X2FsaWdu X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbiwKLSsJCQkgIENPUkVfQURE UiAqYWxpZ25lZF9hZGRyX3AsCi0gCQkJICBpbnQgKmFsaWduZWRfbGVuX3AsIENPUkVfQUREUiAq bmV4dF9hZGRyX3AsCi0tCQkJICBpbnQgKm5leHRfbGVuX3ApCi0rCQkJICBMT05HRVNUICpuZXh0 X2xlbl9wKQotIHsKLSAgIGludCBhbGlnbmVkX2xlbjsKLSAgIHVuc2lnbmVkIGludCBvZmZzZXQ7 Ci1AQCAtNDk0LDcgKzQ5NSw3IEBAIGFhcmNoNjRfaGFuZGxlX2FsaWduZWRfd2F0Y2hwb2ludCAo ZW51bQorIHN0YXRpYyBpbnQgZGVmYXVsdF93YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChz dHJ1Y3QgdGFyZ2V0X29wcyAqLAorLQkJCQkJCSBDT1JFX0FERFIsIENPUkVfQUREUiwgaW50KTsK KysJCQkJCQkgQ09SRV9BRERSLCBDT1JFX0FERFIsIExPTkdFU1QpOwogIAorIHN0YXRpYyBpbnQg ZGVmYXVsdF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICos CisgCQkJCQkJQ09SRV9BRERSLCBMT05HRVNUKTsKK0BAIC0zMTIwLDcgKzMxMjAsNyBAQCBkZWZh dWx0X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYs CiAgc3RhdGljIGludAotIGFhcmNoNjRfaGFuZGxlX3VuYWxpZ25lZF93YXRjaHBvaW50IChlbnVt IHRhcmdldF9od19icF90eXBlIHR5cGUsCi0tCQkJCSAgICAgQ09SRV9BRERSIGFkZHIsIGludCBs ZW4sIGludCBpc19pbnNlcnQsCi0rCQkJCSAgICAgQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVu LCBpbnQgaXNfaW5zZXJ0LAotIAkJCQkgICAgIHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0 ZSAqc3RhdGUpCi0gewotICAgd2hpbGUgKGxlbiA+IDApCi1AQCAtNTE3LDkgKzUxOCw5IEBAIGFh cmNoNjRfaGFuZGxlX3VuYWxpZ25lZF93YXRjaHBvaW50IChlbnUKLSAJCSAgICAgICIgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICIKLSAJCSAgICAgICJhbGlnbmVkX2FkZHI6ICVzLCBhbGln bmVkX2xlbjogJWRcbiIKLSAJCSAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICIKLS0JCSAgICAgICJuZXh0X2FkZHI6ICVzLCAgICBuZXh0X2xlbjogJWRcbiIsCi0rCQkgICAg ICAibmV4dF9hZGRyOiAlcywgICAgbmV4dF9sZW46ICVzXG4iLAotIAkJICAgICAgaXNfaW5zZXJ0 LCBjb3JlX2FkZHJfdG9fc3RyaW5nX256IChhbGlnbmVkX2FkZHIpLAotLQkJICAgICAgYWxpZ25l ZF9sZW4sIGNvcmVfYWRkcl90b19zdHJpbmdfbnogKGFkZHIpLCBsZW4pOwotKwkJICAgICAgYWxp Z25lZF9sZW4sIGNvcmVfYWRkcl90b19zdHJpbmdfbnogKGFkZHIpLCBwbG9uZ2VzdCAobGVuKSk7 Ci0gCi0gICAgICAgaWYgKHJldCAhPSAwKQotIAlyZXR1cm4gcmV0OwotQEAgLTUzMCw3ICs1MzEs NyBAQCBhYXJjaDY0X2hhbmRsZV91bmFsaWduZWRfd2F0Y2hwb2ludCAoZW51Ci0gCi0gaW50Ci0g YWFyY2g2NF9oYW5kbGVfd2F0Y2hwb2ludCAoZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlLCBD T1JFX0FERFIgYWRkciwKLS0JCQkgICBpbnQgbGVuLCBpbnQgaXNfaW5zZXJ0LAotKwkJCSAgIExP TkdFU1QgbGVuLCBpbnQgaXNfaW5zZXJ0LAotIAkJCSAgIHN0cnVjdCBhYXJjaDY0X2RlYnVnX3Jl Z19zdGF0ZSAqc3RhdGUpCi0gewotICAgaWYgKGFhcmNoNjRfcG9pbnRfaXNfYWxpZ25lZCAoMSAv KiBpc193YXRjaHBvaW50ICovICwgYWRkciwgbGVuKSkKLUBAIC01ODEsMTQgKzU4MiwxNCBAQCBh YXJjaDY0X2xpbnV4X3NldF9kZWJ1Z19yZWdzIChjb25zdCBzdHJ1Ci0gdm9pZAotIGFhcmNoNjRf c2hvd19kZWJ1Z19yZWdfc3RhdGUgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3Rh dGUsCi0gCQkJICAgICAgY29uc3QgY2hhciAqZnVuYywgQ09SRV9BRERSIGFkZHIsCi0tCQkJICAg ICAgaW50IGxlbiwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlKQotKwkJCSAgICAgIExPTkdF U1QgbGVuLCBlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUpCisgZGVmYXVsdF93YXRjaHBvaW50 X2FkZHJfd2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqdGFyZ2V0LAorIAkJCQkgICAg ICBDT1JFX0FERFIgYWRkciwKKy0JCQkJICAgICAgQ09SRV9BRERSIHN0YXJ0LCBpbnQgbGVuZ3Ro KQorKwkJCQkgICAgICBDT1JFX0FERFIgc3RhcnQsIExPTkdFU1QgbGVuZ3RoKQogIHsKLSAgIGlu dCBpOwotIAotICAgZGVidWdfcHJpbnRmICgiJXMiLCBmdW5jKTsKLSAgIGlmIChhZGRyIHx8IGxl bikKLS0gICAgZGVidWdfcHJpbnRmICgiIChhZGRyPTB4JTA4bHgsIGxlbj0lZCwgdHlwZT0lcyki LAotLQkJICAodW5zaWduZWQgbG9uZykgYWRkciwgbGVuLAotKyAgICBkZWJ1Z19wcmludGYgKCIg KGFkZHI9MHglMDhseCwgbGVuPSVzLCB0eXBlPSVzKSIsCi0rCQkgICh1bnNpZ25lZCBsb25nKSBh ZGRyLCBwbG9uZ2VzdCAobGVuKSwKLSAJCSAgdHlwZSA9PSBod193cml0ZSA/ICJody13cml0ZS13 YXRjaHBvaW50IgotIAkJICA6ICh0eXBlID09IGh3X3JlYWQgPyAiaHctcmVhZC13YXRjaHBvaW50 IgotIAkJICAgICA6ICh0eXBlID09IGh3X2FjY2VzcyA/ICJody1hY2Nlc3Mtd2F0Y2hwb2ludCIK LUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9p bnQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMDI3Lm9yaWcvZ2RiL25hdC9h YXJjaDY0LWxpbnV4LWh3LXBvaW50LmgJMjAxNS0xMC0yNyAwMjo0ODozMS4wMDAwMDAwMDAgKzAx MDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9p bnQuaAkyMDE1LTExLTA4IDEwOjM2OjQ3LjY1NjE3MDgzOSArMDEwMAotQEAgLTE2OCw3ICsxNjgs NyBAQCBpbnQgYWFyY2g2NF9oYW5kbGVfYnJlYWtwb2ludCAoZW51bSB0YXJnCi0gCQkJICAgICAg IGludCBsZW4sIGludCBpc19pbnNlcnQsCi0gCQkJICAgICAgIHN0cnVjdCBhYXJjaDY0X2RlYnVn X3JlZ19zdGF0ZSAqc3RhdGUpOwotIGludCBhYXJjaDY0X2hhbmRsZV93YXRjaHBvaW50IChlbnVt IHRhcmdldF9od19icF90eXBlIHR5cGUsIENPUkVfQUREUiBhZGRyLAotLQkJCSAgICAgICBpbnQg bGVuLCBpbnQgaXNfaW5zZXJ0LAotKwkJCSAgICAgICBMT05HRVNUIGxlbiwgaW50IGlzX2luc2Vy dCwKLSAJCQkgICAgICAgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSk7Ci0g Ci0gdm9pZCBhYXJjaDY0X2xpbnV4X3NldF9kZWJ1Z19yZWdzIChjb25zdCBzdHJ1Y3QgYWFyY2g2 NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotQEAgLTE3Niw3ICsxNzYsNyBAQCB2b2lkIGFhcmNo NjRfbGludXhfc2V0X2RlYnVnX3JlZ3MgKGNvbnN0Ci0gCi0gdm9pZCBhYXJjaDY0X3Nob3dfZGVi dWdfcmVnX3N0YXRlIChzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotIAkJ CQkgICBjb25zdCBjaGFyICpmdW5jLCBDT1JFX0FERFIgYWRkciwKLS0JCQkJICAgaW50IGxlbiwg ZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlKTsKLSsJCQkJICAgTE9OR0VTVCBsZW4sIGVudW0g dGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSk7CisgICByZXR1cm4gYWRkciA+PSBzdGFydCAmJiBhZGRy IDwgc3RhcnQgKyBsZW5ndGg7CisgfQorZGlmZiAtLWdpdCBhL2dkYi90YXJnZXQuaCBiL2dkYi90 YXJnZXQuaAoraW5kZXggMzQ5ZTg3ZGU2Zi4uOTdjZTE2Y2FmNCAxMDA2NDQKKy0tLSBhL2dkYi90 YXJnZXQuaAorKysrIGIvZ2RiL3RhcmdldC5oCitAQCAtNTQ0LDcgKzU0NCw3IEBAIHN0cnVjdCB0 YXJnZXRfb3BzCisgICAgIGludCAoKnRvX3N0b3BwZWRfZGF0YV9hZGRyZXNzKSAoc3RydWN0IHRh cmdldF9vcHMgKiwgQ09SRV9BRERSICopCisgICAgICAgVEFSR0VUX0RFRkFVTFRfUkVUVVJOICgw KTsKKyAgICAgaW50ICgqdG9fd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSkgKHN0cnVjdCB0 YXJnZXRfb3BzICosCistCQkJCQkgICAgQ09SRV9BRERSLCBDT1JFX0FERFIsIGludCkKKysJCQkJ CSAgICBDT1JFX0FERFIsIENPUkVfQUREUiwgTE9OR0VTVCkKKyAgICAgICBUQVJHRVRfREVGQVVM VF9GVU5DIChkZWZhdWx0X3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UpOwogIAotIHZvaWQg YWFyY2g2NF9saW51eF9nZXRfZGVidWdfcmVnX2NhcGFjaXR5IChpbnQgdGlkKTsKKyAgICAgLyog RG9jdW1lbnRhdGlvbiBvZiB0aGlzIHJvdXRpbmUgaXMgcHJvdmlkZWQgd2l0aCB0aGUgY29ycmVz cG9uZGluZworQEAgLTU1NCw3ICs1NTQsNyBAQCBzdHJ1Y3QgdGFyZ2V0X29wcworICAgICAgIFRB UkdFVF9ERUZBVUxUX0ZVTkMgKGRlZmF1bHRfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50KTsK ICAKKyAgICAgaW50ICgqdG9fY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uKSAoc3RydWN0 IHRhcmdldF9vcHMgKiwKKy0JCQkJCSAgICAgIENPUkVfQUREUiwgaW50LCBpbnQsCisrCQkJCQkg ICAgICBDT1JFX0FERFIsIExPTkdFU1QsIGludCwKKyAJCQkJCSAgICAgIHN0cnVjdCBleHByZXNz aW9uICopCisgICAgICAgVEFSR0VUX0RFRkFVTFRfUkVUVVJOICgwKTsKKyAgICAgaW50ICgqdG9f bWFza2VkX3dhdGNoX251bV9yZWdpc3RlcnMpIChzdHJ1Y3QgdGFyZ2V0X29wcyAqLAorLS0gCisy LjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gg Yi9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjNvZjI1LnBhdGNoCmluZGV4IDMwODAzMDIuLmRmNTU0 ZmUgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gKKysrIGIv Z2RiLXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRjaApAQCAtMSwxMiArMSwxNSBAQAorRnJv bSA2OTQxMjNhYWQ2YmRmM2ExY2I3NTNlMzgwZjJiODY2ZGUxMTljZWQ3IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4K IERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCA0 LzRdIEJpdHBvcyBleHBhbnNpb24gLSB0ZGVwIGNoYW5nZXMKK1N1YmplY3Q6IEJpdHBvcyBleHBh bnNpb24gLSB0ZGVwIGNoYW5nZXMKIAogRmlsZU5hbWU6IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0y M29mMjUucGF0Y2gKIAotaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTIt MDkvbXNnMDA2MzAuaHRtbAotCis7OyBGaXggYEdEQiBjYW5ub3QgYWNjZXNzIHN0cnVjdCBtZW1i ZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1CJworOzsgKFJIIEJaIDc5NTQyNCku Cis7Oz1wdXNoCiAKK2h0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEyLTA5 L21zZzAwNjMwLmh0bWwKIAogLS1NUF8vWF9XakRPdnovQl9mdmxzcm1Dd1JkeGUKIENvbnRlbnQt VHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VUy1BU0NJSQpAQCAtMTQyLDEyICsxNDUsNDggQEAg Z2RiL0NoYW5nZUxvZwogQ29udGVudC1UeXBlOiB0ZXh0L3gtcGF0Y2gKIENvbnRlbnQtVHJhbnNm ZXItRW5jb2Rpbmc6IDdiaXQKIENvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVu YW1lPWJpdHBvcy10ZGVwLnBhdGNoCistLS0KKyBnZGIvYWxwaGEtdGRlcC5jICAgICAgICAgfCAx NCArKysrKysrLS0tLS0tLQorIGdkYi9hbWQ2NC10ZGVwLmMgICAgICAgICB8ICA4ICsrKystLS0t CisgZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jIHwgIDIgKy0KKyBnZGIvYXJtLXRkZXAuYyAgICAg ICAgICAgfCAyMCArKysrKysrKysrKy0tLS0tLS0tLQorIGdkYi9hdnItdGRlcC5jICAgICAgICAg ICB8IDEwICsrKysrLS0tLS0KKyBnZGIvYmZpbi10ZGVwLmMgICAgICAgICAgfCAgNCArKy0tCisg Z2RiL2NyaXMtdGRlcC5jICAgICAgICAgIHwgMTIgKysrKysrLS0tLS0tCisgZ2RiL2g4MzAwLXRk ZXAuYyAgICAgICAgIHwgIDggKysrKy0tLS0KKyBnZGIvaHBwYS10ZGVwLmMgICAgICAgICAgfCAg NCArKy0tCisgZ2RiL2kzODYtZGFyd2luLXRkZXAuYyAgIHwgIDIgKy0KKyBnZGIvaTM4Ni10ZGVw LmMgICAgICAgICAgfCAxNCArKysrKysrLS0tLS0tLQorIGdkYi9pcTIwMDAtdGRlcC5jICAgICAg ICB8ICA1ICsrKy0tCisgZ2RiL20zMnItdGRlcC5jICAgICAgICAgIHwgIDIgKy0KKyBnZGIvbTY4 ay10ZGVwLmMgICAgICAgICAgfCAgOCArKysrLS0tLQorIGdkYi9tODhrLXRkZXAuYyAgICAgICAg ICB8ICA4ICsrKystLS0tCisgZ2RiL21lcC10ZGVwLmMgICAgICAgICAgIHwgIDIgKy0KKyBnZGIv bWlwcy10ZGVwLmMgICAgICAgICAgfCA0OCArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyBnZGIvbW4xMDMwMC10ZGVwLmMgICAgICAgfCAgMiArLQorIGdk Yi9tdC10ZGVwLmMgICAgICAgICAgICB8ICA0ICsrLS0KKyBnZGIvcHBjLXN5c3YtdGRlcC5jICAg ICAgfCAyMyArKysrKysrKysrKystLS0tLS0tLS0tLQorIGdkYi9ybDc4LXRkZXAuYyAgICAgICAg ICB8ICA0ICsrLS0KKyBnZGIvcnM2MDAwLWFpeC10ZGVwLmMgICAgfCAgNiArKystLS0KKyBnZGIv czM5MC1saW51eC10ZGVwLmMgICAgfCAgNiArKystLS0KKyBnZGIvc2NvcmUtdGRlcC5jICAgICAg ICAgfCAgMiArLQorIGdkYi9zaC10ZGVwLmMgICAgICAgICAgICB8IDEwICsrKysrKy0tLS0KKyBn ZGIvc2g2NC10ZGVwLmMgICAgICAgICAgfCAgNCArKy0tCisgZ2RiL3NwYXJjNjQtdGRlcC5jICAg ICAgIHwgMTIgKysrKysrLS0tLS0tCisgZ2RiL3NwdS10ZGVwLmMgICAgICAgICAgIHwgIDQgKyst LQorIGdkYi90aWM2eC10ZGVwLmMgICAgICAgICB8ICA5ICsrKysrLS0tLQorIGdkYi90aWxlZ3gt dGRlcC5jICAgICAgICB8ICAyICstCisgZ2RiL3Y4NTAtdGRlcC5jICAgICAgICAgIHwgIDQgKyst LQorIGdkYi92YXgtdGRlcC5jICAgICAgICAgICB8ICA0ICsrLS0KKyBnZGIveHN0b3JteTE2LXRk ZXAuYyAgICAgfCAgNSArKystLQorIGdkYi94dGVuc2EtdGRlcC5jICAgICAgICB8IDIyICsrKysr KysrKysrLS0tLS0tLS0tLS0KKyAzNCBmaWxlcyBjaGFuZ2VkLCAxNTEgaW5zZXJ0aW9ucygrKSwg MTQzIGRlbGV0aW9ucygtKQogCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2FscGhh LXRkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2Fs cGhhLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3Ljg5NDU2NjM3MSArMDIwMAotKysrIGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi9hbHBoYS10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMjg1 ODg3MDMgKzAyMDAKLUBAIC0zMDAsMTcgKzMwMCwxNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9hbHBo YS10ZGVwLmMgYi9nZGIvYWxwaGEtdGRlcC5jCitpbmRleCA2ZmJmNDFiY2RjLi5lOWVhMGI0YmEx IDEwMDY0NAorLS0tIGEvZ2RiL2FscGhhLXRkZXAuYworKysrIGIvZ2RiL2FscGhhLXRkZXAuYwor QEAgLTMwMSwxNyArMzAxLDE3IEBAIGFscGhhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgewogICAgZW51bSBiZmRfZW5k aWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgaW50IGk7 CkBAIC0xNjksNyArMjA4LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hbHBo YS10ZGVwLmMKICAgIENPUkVfQUREUiBmdW5jX2FkZHIgPSBmaW5kX2Z1bmN0aW9uX2FkZHIgKGZ1 bmN0aW9uLCBOVUxMKTsKICAKICAgIC8qIFRoZSBBQkkgcGxhY2VzIHRoZSBhZGRyZXNzIG9mIHRo ZSBjYWxsZWQgZnVuY3Rpb24gaW4gVDEyLiAgKi8KLUBAIC00MzAsOCArNDMwLDggQEAKK0BAIC00 MzEsOCArNDMxLDggQEAgYWxwaGFfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAgIGZvciAoaSA9IG5hcmdzOyBtX2FyZy0t LCAtLWkgPj0gMDspCiAgICAgIHsKICAgICAgICBjb25zdCBnZGJfYnl0ZSAqY29udGVudHMgPSBt X2FyZy0+Y29udGVudHM7CkBAIC0xODAsNyArMjE5LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9hbHBoYS10ZGVwLmMKICAKICAgICAgICAvKiBDb3B5IHRoZSBieXRlcyBkZXN0 aW5lZCBmb3IgcmVnaXN0ZXJzIGludG8gYXJnX3JlZ19idWZmZXIuICAqLwogICAgICAgIGlmIChv ZmZzZXQgPCBzaXplb2YoYXJnX3JlZ19idWZmZXIpKQotQEAgLTQ0Myw3ICs0NDMsNyBAQAorQEAg LTQ0NCw3ICs0NDQsNyBAQCBhbHBoYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogIAkgICAgfQogIAkgIGVsc2UKICAJICAg IHsKQEAgLTE4OSwzMyArMjI4LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv YWxwaGEtdGRlcC5jCiAgCSAgICAgIG1lbWNweSAoYXJnX3JlZ19idWZmZXIgKyBvZmZzZXQsIGNv bnRlbnRzLCB0bGVuKTsKICAJICAgICAgb2Zmc2V0ICs9IHRsZW47CiAgCSAgICAgIGNvbnRlbnRz ICs9IHRsZW47Ci1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2FtZDY0LXRkZXAuYwot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2FtZDY0LXRkZXAu YwkyMDE3LTA0LTIwIDIzOjEyOjA3Ljg5NzU2NjM5MSArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9hbWQ2NC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMjk1ODg3MTAgKzAy MDAKLUBAIC03MzUsNyArNzM1LDcgQEAKLSAJCSAgICBnZGJfYnl0ZSAqcmVhZGJ1ZiwgY29uc3Qg Z2RiX2J5dGUgKndyaXRlYnVmKQotIHsKLSAgIGVudW0gYW1kNjRfcmVnX2NsYXNzIHRoZWNsYXNz WzJdOwotLSAgaW50IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSsgIExPTkdFU1QgbGVuID0g VFlQRV9MRU5HVEggKHR5cGUpOwotICAgc3RhdGljIGludCBpbnRlZ2VyX3JlZ251bVtdID0geyBB TUQ2NF9SQVhfUkVHTlVNLCBBTUQ2NF9SRFhfUkVHTlVNIH07Ci0gICBzdGF0aWMgaW50IHNzZV9y ZWdudW1bXSA9IHsgQU1ENjRfWE1NMF9SRUdOVU0sIEFNRDY0X1hNTTFfUkVHTlVNIH07Ci0gICBp bnQgaW50ZWdlcl9yZWcgPSAwOwotQEAgLTg1MiwxMCArODUyLDEwIEBACi0gICAgICAgZ2RiX2Fz c2VydCAocmVnbnVtICE9IC0xKTsKLSAKLSAgICAgICBpZiAocmVhZGJ1ZikKLS0JcmVnY2FjaGVf cmF3X3JlYWRfcGFydCAocmVnY2FjaGUsIHJlZ251bSwgb2Zmc2V0LCBzdGQ6Om1pbiAobGVuLCA4 KSwKLSsJcmVnY2FjaGVfcmF3X3JlYWRfcGFydCAocmVnY2FjaGUsIHJlZ251bSwgb2Zmc2V0LCBz dGQ6Om1pbiAobGVuLCAoTE9OR0VTVCkgOCksCi0gCQkJCXJlYWRidWYgKyBpICogOCk7Ci0gICAg ICAgaWYgKHdyaXRlYnVmKQotLQlyZWdjYWNoZV9yYXdfd3JpdGVfcGFydCAocmVnY2FjaGUsIHJl Z251bSwgb2Zmc2V0LCBzdGQ6Om1pbiAobGVuLCA4KSwKLSsJcmVnY2FjaGVfcmF3X3dyaXRlX3Bh cnQgKHJlZ2NhY2hlLCByZWdudW0sIG9mZnNldCwgc3RkOjptaW4gKGxlbiwgKExPTkdFU1QpIDgp LAotIAkJCQkgd3JpdGVidWYgKyBpICogOCk7Ci0gICAgIH0KLSAKLUBAIC04ODYsOCArODg2LDgg QEAKK2RpZmYgLS1naXQgYS9nZGIvYW1kNjQtdGRlcC5jIGIvZ2RiL2FtZDY0LXRkZXAuYworaW5k ZXggNmY5OThkMjMwMy4uMDBjOGRkOTBkMCAxMDA2NDQKKy0tLSBhL2dkYi9hbWQ2NC10ZGVwLmMK KysrKyBiL2dkYi9hbWQ2NC10ZGVwLmMKK0BAIC04ODAsOCArODgwLDggQEAgYW1kNjRfcHVzaF9h cmd1bWVudHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKICAgIH07CiAg ICBzdHJ1Y3QgdmFsdWUgKipzdGFja19hcmdzID0gWEFMTE9DQVZFQyAoc3RydWN0IHZhbHVlICos IG5hcmdzKTsKICAgIGludCBudW1fc3RhY2tfYXJncyA9IDA7CkBAIC0yMjYsNyArMjQzLDcgQEAg SW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hbWQ2NC10ZGVwLmMKICAgIGludCBpbnRl Z2VyX3JlZyA9IDA7CiAgICBpbnQgc3NlX3JlZyA9IDA7CiAgICBpbnQgaTsKLUBAIC04OTksNyAr ODk5LDcgQEAKK0BAIC04OTMsNyArODkzLDcgQEAgYW1kNjRfcHVzaF9hcmd1bWVudHMgKHN0cnVj dCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKICAgIGZvciAoaSA9IDA7IGkgPCBuYXJn czsgaSsrKQogICAgICB7CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChh cmdzW2ldKTsKQEAgLTIzNSw3ICsyNTIsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2FtZDY0LXRkZXAuYwogICAgICAgIGVudW0gYW1kNjRfcmVnX2NsYXNzIHRoZWNsYXNzWzJd OwogICAgICAgIGludCBuZWVkZWRfaW50ZWdlcl9yZWdzID0gMDsKICAgICAgICBpbnQgbmVlZGVk X3NzZV9yZWdzID0gMDsKLUBAIC05NjMsNyArOTYzLDcgQEAKK0BAIC05NTcsNyArOTU3LDcgQEAg YW1kNjRfcHVzaF9hcmd1bWVudHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuYXJn cywKICAKICAJICAgICAgZ2RiX2Fzc2VydCAocmVnbnVtICE9IC0xKTsKICAJICAgICAgbWVtc2V0 IChidWYsIDAsIHNpemVvZiBidWYpOwpAQCAtMjQ0LDExICsyNjEsMTEgQEAgSW5kZXg6IGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi9hbWQ2NC10ZGVwLmMKICAJICAgICAgcmVnY2FjaGVfcmF3X3dy aXRlX3BhcnQgKHJlZ2NhY2hlLCByZWdudW0sIG9mZnNldCwgOCwgYnVmKTsKICAJICAgIH0KICAJ fQotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hbWQ2NC13aW5kb3dzLXRkZXAuYwot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2FtZDY0LXdpbmRv d3MtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuODk3NTY2MzkxICswMjAwCi0rKysgZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6 MTEuMjMwNTg4NzE3ICswMjAwCi1AQCAtMjkwLDcgKzI5MCw3IEBACitkaWZmIC0tZ2l0IGEvZ2Ri L2FtZDY0LXdpbmRvd3MtdGRlcC5jIGIvZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jCitpbmRleCA5 NzVjNjg0OGE0Li5hMGVlZGIyYTliIDEwMDY0NAorLS0tIGEvZ2RiL2FtZDY0LXdpbmRvd3MtdGRl cC5jCisrKysgYi9nZGIvYW1kNjQtd2luZG93cy10ZGVwLmMKK0BAIC0yOTEsNyArMjkxLDcgQEAg YW1kNjRfd2luZG93c19yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1 Y3QgdmFsdWUgKmZ1bmN0aW9uLAogIAkJCSAgICBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHJl Z2NhY2hlICpyZWdjYWNoZSwKICAJCQkgICAgZ2RiX2J5dGUgKnJlYWRidWYsIGNvbnN0IGdkYl9i eXRlICp3cml0ZWJ1ZikKICB7CkBAIC0yNTcsMTEgKzI3NCwxMSBAQCBJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jCiAgICBpbnQgcmVnbnVtID0gLTE7 CiAgCiAgICAvKiBTZWUgaWYgb3VyIHZhbHVlIGlzIHJldHVybmVkIHRocm91Z2ggYSByZWdpc3Rl ci4gIElmIGl0IGlzLCB0aGVuCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2FybS10 ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9hcm0t dGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTA1NTY2NDQ1ICswMjAwCi0rKysgZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2FybS10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMzM1ODg3Mzcg KzAyMDAKLUBAIC0zNDkyLDcgKzM0OTIsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9hcm0tdGRlcC5j IGIvZ2RiL2FybS10ZGVwLmMKK2luZGV4IDU0YzYzOTJiYTcuLjM5ZGNkYjczZmYgMTAwNjQ0Cist LS0gYS9nZGIvYXJtLXRkZXAuYworKysrIGIvZ2RiL2FybS10ZGVwLmMKK0BAIC0zNDc3LDcgKzM0 NzcsNyBAQCBhcm1fdmZwX2NwcmNfcmVnX2NoYXIgKGVudW0gYXJtX3ZmcF9jcHJjX2Jhc2VfdHlw ZSBiKQogICAgIGFycmF5KS4gIFZlY3RvciB0eXBlcyBhcmUgbm90IGN1cnJlbnRseSBzdXBwb3J0 ZWQsIG1hdGNoaW5nIHRoZQogICAgIGdlbmVyaWMgQUFQQ1Mgc3VwcG9ydC4gICovCiAgCkBAIC0y NzAsNyArMjg3LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hcm0tdGRlcC5j CiAgYXJtX3ZmcF9jcHJjX3N1Yl9jYW5kaWRhdGUgKHN0cnVjdCB0eXBlICp0LAogIAkJCSAgICBl bnVtIGFybV92ZnBfY3ByY19iYXNlX3R5cGUgKmJhc2VfdHlwZSkKICB7Ci1AQCAtMzU3NSw3ICsz NTc1LDcgQEAKK0BAIC0zNTYwLDcgKzM1NjAsNyBAQCBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0 ZSAoc3RydWN0IHR5cGUgKnQsCiAgCSAgfQogIAllbHNlCiAgCSAgewpAQCAtMjc5LDcgKzI5Niw3 IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYXJtLXRkZXAuYwogIAkgICAgdW5z aWduZWQgdW5pdGxlbjsKICAKICAJICAgIGNvdW50ID0gYXJtX3ZmcF9jcHJjX3N1Yl9jYW5kaWRh dGUgKFRZUEVfVEFSR0VUX1RZUEUgKHQpLAotQEAgLTM1OTgsMTIgKzM1OTgsMTIgQEAKK0BAIC0z NTgzLDEyICszNTgzLDEyIEBAIGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChzdHJ1Y3QgdHlw ZSAqdCwKICAKICAgICAgY2FzZSBUWVBFX0NPREVfU1RSVUNUOgogICAgICAgIHsKQEAgLTI5NCw3 ICszMTEsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2FybS10ZGVwLmMKICAK ICAJICAgIGlmICghZmllbGRfaXNfc3RhdGljICgmVFlQRV9GSUVMRCAodCwgaSkpKQogIAkgICAg ICBzdWJfY291bnQgPSBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoVFlQRV9GSUVMRF9UWVBF ICh0LCBpKSwKLUBAIC0zNjI3LDEzICszNjI3LDE1IEBACitAQCAtMzYxMiwxMyArMzYxMiwxNSBA QCBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoc3RydWN0IHR5cGUgKnQsCiAgCiAgICAgIGNh c2UgVFlQRV9DT0RFX1VOSU9OOgogICAgICAgIHsKQEAgLTMxMyw3ICszMzAsNyBAQCBJbmRleDog Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2FybS10ZGVwLmMKICAJICAgIGlmIChzdWJfY291bnQg PT0gLTEpCiAgCSAgICAgIHJldHVybiAtMTsKICAJICAgIGNvdW50ID0gKGNvdW50ID4gc3ViX2Nv dW50ID8gY291bnQgOiBzdWJfY291bnQpOwotQEAgLTM2NjksNyArMzY3MSw3IEBACitAQCAtMzY1 NCw3ICszNjU2LDcgQEAgYXJtX3ZmcF9jYWxsX2NhbmRpZGF0ZSAoc3RydWN0IHR5cGUgKnQsIGVu dW0gYXJtX3ZmcF9jcHJjX2Jhc2VfdHlwZSAqYmFzZV90eXBlLAogIAkJCWludCAqY291bnQpCiAg ewogICAgZW51bSBhcm1fdmZwX2NwcmNfYmFzZV90eXBlIGIgPSBWRlBfQ1BSQ19VTktOT1dOOwpA QCAtMzIyLDcgKzMzOSw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYXJtLXRk ZXAuYwogICAgaWYgKGMgPD0gMCB8fCBjID4gNCkKICAgICAgcmV0dXJuIDA7CiAgICAqYmFzZV90 eXBlID0gYjsKLUBAIC0zNzUwLDcgKzM3NTIsNyBAQAorQEAgLTM3MzUsNyArMzczNyw3IEBAIGFy bV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUg KmZ1bmN0aW9uLAogIAogICAgZm9yIChhcmdudW0gPSAwOyBhcmdudW0gPCBuYXJnczsgYXJnbnVt KyspCiAgICAgIHsKQEAgLTMzMSwxMSArMzQ4LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvYXJtLXRkZXAuYwogICAgICAgIHN0cnVjdCB0eXBlICphcmdfdHlwZTsKICAgICAg ICBzdHJ1Y3QgdHlwZSAqdGFyZ2V0X3R5cGU7CiAgICAgICAgZW51bSB0eXBlX2NvZGUgdHlwZWNv ZGU7Ci1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2F2ci10ZGVwLmMKLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9hdnItdGRlcC5jCTIwMTctMDQt MjAgMjM6MTI6MDcuOTA3NTY2NDU4ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L2F2ci10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMzQ1ODg3NDMgKzAyMDAKLUBAIC0xMTkx LDEzICsxMTkxLDEzIEBACitkaWZmIC0tZ2l0IGEvZ2RiL2F2ci10ZGVwLmMgYi9nZGIvYXZyLXRk ZXAuYworaW5kZXggZjRjZTI3MDZkNC4uOWJkNTFmZDY0MyAxMDA2NDQKKy0tLSBhL2dkYi9hdnIt dGRlcC5jCisrKysgYi9nZGIvYXZyLXRkZXAuYworQEAgLTExOTEsMTMgKzExOTEsMTMgQEAgYXZy X2R1bW15X2lkIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IGZyYW1lX2luZm8gKnRo aXNfZnJhbWUpCiAgCiAgc3RydWN0IHN0YWNrX2l0ZW0KICB7CkBAIC0zNTEsNyArMzY4LDcgQEAg SW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hdnItdGRlcC5jCiAgewogICAgc3RydWN0 IHN0YWNrX2l0ZW0gKnNpOwogICAgc2kgPSBYTkVXIChzdHJ1Y3Qgc3RhY2tfaXRlbSk7Ci1AQCAt MTI4NSwxMiArMTI4NSwxMiBAQAorQEAgLTEyODUsMTIgKzEyODUsMTIgQEAgYXZyX3B1c2hfZHVt bXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24s CiAgCiAgICBmb3IgKGkgPSAwOyBpIDwgbmFyZ3M7IGkrKykKICAgICAgewpAQCAtMzY3LDExICsz ODQsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hdnItdGRlcC5jCiAgCiAg ICAgICAgLyogQ2FsY3VsYXRlIHRoZSBwb3RlbnRpYWwgbGFzdCByZWdpc3RlciBuZWVkZWQuCiAg ICAgICAgICAgRS5nLiBGb3IgbGVuZ3RoIDIsIHJlZ2lzdGVycyByZWdudW0gYW5kIHJlZ251bS0x IChzYXkgMjUgYW5kIDI0KQotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9iZmluLXRk ZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2JmaW4t dGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTA3NTY2NDU4ICswMjAwCi0rKysgZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2JmaW4tdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEuMjM0NTg4NzQz ICswMjAwCi1AQCAtNTA0LDcgKzUwNCw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2JmaW4tdGRlcC5j IGIvZ2RiL2JmaW4tdGRlcC5jCitpbmRleCBmOTU5NGQ3OTQ3Li4xNjI4ZjJhODIwIDEwMDY0NAor LS0tIGEvZ2RiL2JmaW4tdGRlcC5jCisrKysgYi9nZGIvYmZpbi10ZGVwLmMKK0BAIC01MDQsNyAr NTA0LDcgQEAgYmZpbl9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAog ICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFy Y2gpOwogICAgaW50IGk7CiAgICBsb25nIHJlZ19yMCwgcmVnX3IxLCByZWdfcjI7CkBAIC0zODAs NyArMzk3LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9iZmluLXRkZXAuYwog IAogICAgZm9yIChpID0gbmFyZ3MgLSAxOyBpID49IDA7IGktLSkKICAgICAgewotQEAgLTUyNiw3 ICs1MjYsNyBAQAorQEAgLTUyNiw3ICs1MjYsNyBAQCBiZmluX3B1c2hfZHVtbXlfY2FsbCAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqdmFsdWVf dHlwZSA9IHZhbHVlX2VuY2xvc2luZ190eXBlIChhcmdzW2ldKTsKICAgICAgICBzdHJ1Y3QgdHlw ZSAqYXJnX3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlKTsKQEAgLTM4OSwxMSArNDA2 LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYmZpbi10ZGVwLmMKICAKICAg ICAgICBzcCAtPSBjb250YWluZXJfbGVuOwogICAgICAgIHdyaXRlX21lbW9yeSAoc3AsIHZhbHVl X2NvbnRlbnRzIChhcmdzW2ldKSwgY29udGFpbmVyX2xlbik7Ci1JbmRleDogZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL2NyaXMtdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAx NzA0MjAub3JpZy9nZGIvY3Jpcy10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MDk1NjY0NzEg KzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvY3Jpcy10ZGVwLmMJMjAxNy0wNC0y MCAyMzoxMjoxMS4yMzU1ODg3NTAgKzAyMDAKLUBAIC02NjMsMTMgKzY2MywxMyBAQAorZGlmZiAt LWdpdCBhL2dkYi9jcmlzLXRkZXAuYyBiL2dkYi9jcmlzLXRkZXAuYworaW5kZXggOWZiYjhiNGZh Yy4uODJmMjUwODRiZCAxMDA2NDQKKy0tLSBhL2dkYi9jcmlzLXRkZXAuYworKysrIGIvZ2RiL2Ny aXMtdGRlcC5jCitAQCAtNjYzLDEzICs2NjMsMTMgQEAgc3RhdGljIENPUkVfQUREUiBjcmlzX3Vu d2luZF9zcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgCiAgc3RydWN0IHN0YWNrX2l0ZW0K ICB7CkBAIC00MDksNyArNDI2LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9j cmlzLXRkZXAuYwogIHsKICAgIHN0cnVjdCBzdGFja19pdGVtICpzaSA9IFhORVcgKHN0cnVjdCBz dGFja19pdGVtKTsKICAgIHNpLT5kYXRhID0gKGdkYl9ieXRlICopIHhtYWxsb2MgKGxlbik7Ci1A QCAtODMzLDEzICs4MzMsMTMgQEAKK0BAIC04MzMsMTMgKzgzMywxMyBAQCBjcmlzX3B1c2hfZHVt bXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24s CiAgCiAgICBmb3IgKGFyZ251bSA9IDA7IGFyZ251bSA8IG5hcmdzOyBhcmdudW0rKykKICAgICAg ewpAQCAtNDI3LDExICs0NDQsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9j cmlzLXRkZXAuYwogICAgICAgIAogICAgICAgIC8qIEhvdyBtYXkgcmVnaXN0ZXJzIHdvcnRoIG9m IHN0b3JhZ2UgZG8gd2UgbmVlZCBmb3IgdGhpcyBhcmd1bWVudD8gICovCiAgICAgICAgcmVnX2Rl bWFuZCA9IChsZW4gLyA0KSArIChsZW4gJSA0ICE9IDAgPyAxIDogMCk7Ci1JbmRleDogZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL2g4MzAwLXRkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5 LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2g4MzAwLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3Ljkx MDU2NjQ3OCArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9oODMwMC10ZGVwLmMJ MjAxNy0wNC0yMCAyMzoxMjoxMS4yMzU1ODg3NTAgKzAyMDAKLUBAIC02MzcsNyArNjM3LDcgQEAK K2RpZmYgLS1naXQgYS9nZGIvaDgzMDAtdGRlcC5jIGIvZ2RiL2g4MzAwLXRkZXAuYworaW5kZXgg YWNjMmRhOTNhNC4uOWUzODBlMTJiYSAxMDA2NDQKKy0tLSBhL2dkYi9oODMwMC10ZGVwLmMKKysr KyBiL2dkYi9oODMwMC10ZGVwLmMKK0BAIC02MzcsNyArNjM3LDcgQEAgaDgzMDBfcHVzaF9kdW1t eV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwK ICAJCSAgICAgICBpbnQgc3RydWN0X3JldHVybiwgQ09SRV9BRERSIHN0cnVjdF9hZGRyKQogIHsK ICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJh cmNoKTsKQEAgLTQ0MCw5ICs0NTcsOSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L2g4MzAwLXRkZXAuYwogICAgaW50IHdvcmRzaXplID0gQklOV09SRCAoZ2RiYXJjaCk7CiAgICBp bnQgcmVnID0gRV9BUkcwX1JFR05VTTsKICAgIGludCBhcmd1bWVudDsKLUBAIC02NjQsMTEgKzY2 NCwxMSBAQAorQEAgLTY2MywxMSArNjYzLDExIEBAIGg4MzAwX3B1c2hfZHVtbXlfY2FsbCAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCisgICBmb3IgKGFy Z3VtZW50ID0gMDsgYXJndW1lbnQgPCBuYXJnczsgYXJndW1lbnQrKykKICAgICAgewotICAgICAg IHN0cnVjdCBjbGVhbnVwICpiYWNrX3RvOwogICAgICAgIHN0cnVjdCB0eXBlICp0eXBlID0gdmFs dWVfdHlwZSAoYXJnc1thcmd1bWVudF0pOwogLSAgICAgIGludCBsZW4gPSBUWVBFX0xFTkdUSCAo dHlwZSk7CiArICAgICAgc3NpemVfdCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7CkBAIC00NTEs MTAgKzQ2OCwxMCBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2g4MzAwLXRkZXAu YwogICAgICAgIC8qIFBhZCB0aGUgYXJndW1lbnQgYXBwcm9wcmlhdGVseS4gICovCiAtICAgICAg aW50IHBhZGRlZF9sZW4gPSBhbGlnbl91cCAobGVuLCB3b3Jkc2l6ZSk7CiArICAgICAgc3NpemVf dCBwYWRkZWRfbGVuID0gYWxpZ25fdXAgKGxlbiwgd29yZHNpemUpOwotICAgICAgIGdkYl9ieXRl ICpwYWRkZWQgPSAoZ2RiX2J5dGUgKikgeG1hbGxvYyAocGFkZGVkX2xlbik7Ci0gICAgICAgYmFj a190byA9IG1ha2VfY2xlYW51cCAoeGZyZWUsIHBhZGRlZCk7CisgICAgICAgLyogVXNlIHN0ZDo6 dmVjdG9yIGhlcmUgdG8gZ2V0IHplcm8gaW5pdGlhbGl6YXRpb24uICAqLworICAgICAgIHN0ZDo6 dmVjdG9yPGdkYl9ieXRlPiBwYWRkZWQgKHBhZGRlZF9sZW4pOwogIAotQEAgLTY5Nyw3ICs2OTcs NyBAQAorQEAgLTY5Niw3ICs2OTYsNyBAQCBoODMwMF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogIAkgICAgICAvKiBIZWF2 ZW5zIHRvIEJldHN5IC0tLSBpdCdzIHJlYWxseSBnb2luZyBpbiByZWdpc3RlcnMhCiAgCSAgICAg ICAgIE5vdGUgdGhhdCBvbiB0aGUgaDgvMzAwcywgdGhlcmUgYXJlIGdhcHMgYmV0d2VlbiB0aGUK ICAJICAgICAgICAgcmVnaXN0ZXJzIGluIHRoZSByZWdpc3RlciBmaWxlLiAgKi8KQEAgLTQ2Mywx MSArNDgwLDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvaDgzMDAtdGRlcC5j CiAgCiAgCSAgICAgIGZvciAob2Zmc2V0ID0gMDsgb2Zmc2V0IDwgcGFkZGVkX2xlbjsgb2Zmc2V0 ICs9IHdvcmRzaXplKQogIAkJewotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ocHBh LXRkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2hw cGEtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTExNTY2NDg1ICswMjAwCi0rKysgZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL2hwcGEtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEuMjM2NTg4 NzU3ICswMjAwCi1AQCAtOTg5LDcgKzk4OSw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2hwcGEtdGRl cC5jIGIvZ2RiL2hwcGEtdGRlcC5jCitpbmRleCAxNDEzOTlmNmEzLi44MjIzZjg0ZGE0IDEwMDY0 NAorLS0tIGEvZ2RiL2hwcGEtdGRlcC5jCisrKysgYi9nZGIvaHBwYS10ZGVwLmMKK0BAIC05ODks NyArOTg5LDcgQEAgaHBwYTY0X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdmFsdWUg KmFyZyA9IGFyZ3NbaV07CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChh cmcpOwpAQCAtNDc2LDcgKzQ5Myw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv aHBwYS10ZGVwLmMKICAgICAgICBjb25zdCBiZmRfYnl0ZSAqdmFsYnVmOwogICAgICAgIGJmZF9i eXRlIGZwdHJidWZbOF07CiAgICAgICAgaW50IHJlZ251bTsKLUBAIC0xMTg0LDcgKzExODQsNyBA QAorQEAgLTExODQsNyArMTE4NCw3IEBAIGhwcGE2NF9yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogIAkJICAgICBzdHJ1Y3QgdHlw ZSAqdHlwZSwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKICAJCSAgICAgZ2RiX2J5dGUgKnJl YWRidWYsIGNvbnN0IGdkYl9ieXRlICp3cml0ZWJ1ZikKICB7CkBAIC00ODUsMTEgKzUwMiwxMSBA QCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2hwcGEtdGRlcC5jCiAgICBpbnQgcmVn bnVtLCBvZmZzZXQ7CiAgCiAgICBpZiAobGVuID4gMTYpCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL2kzODYtZGFyd2luLXRkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5Ljkw LjIwMTcwNDIwLm9yaWcvZ2RiL2kzODYtZGFyd2luLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3 LjkxMjU2NjQ5MiArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9pMzg2LWRhcndp bi10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMzc1ODg3NjMgKzAyMDAKLUBAIC0xNjcsNyAr MTY3LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvaTM4Ni1kYXJ3aW4tdGRlcC5jIGIvZ2RiL2kzODYt ZGFyd2luLXRkZXAuYworaW5kZXggYzY0MjA0MDQzMi4uMWIzMGE1MDYzOSAxMDA2NDQKKy0tLSBh L2dkYi9pMzg2LWRhcndpbi10ZGVwLmMKKysrKyBiL2dkYi9pMzg2LWRhcndpbi10ZGVwLmMKK0BA IC0xNjYsNyArMTY2LDcgQEAgaTM4Nl9kYXJ3aW5fcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAKICAgIGZvciAod3JpdGVf cGFzcyA9IDA7IHdyaXRlX3Bhc3MgPCAyOyB3cml0ZV9wYXNzKyspCiAgICAgIHsKQEAgLTQ5OCwx MSArNTE1LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvaTM4Ni1kYXJ3aW4t dGRlcC5jCiAgICAgICAgaW50IG51bV9tMTI4ID0gMDsKICAKICAgICAgICBpZiAoc3RydWN0X3Jl dHVybikKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvaTM4Ni10ZGVwLmMKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9pMzg2LXRkZXAuYwkyMDE3 LTA0LTIwIDIzOjEyOjA3LjkxNzU2NjUyNSArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9pMzg2LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjIzOTU4ODc3NyArMDIwMAotQEAg LTI2ODIsNyArMjY4Miw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2kzODYtdGRlcC5jIGIvZ2RiL2kz ODYtdGRlcC5jCitpbmRleCBkNGY2MWVlYzc2Li41ZjZlMzFjOWIzIDEwMDY0NAorLS0tIGEvZ2Ri L2kzODYtdGRlcC5jCisrKysgYi9nZGIvaTM4Ni10ZGVwLmMKK0BAIC0yNjc3LDcgKzI2NzcsNyBA QCBpMzg2X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2 YWx1ZSAqZnVuY3Rpb24sCiAgICBnZGJfYnl0ZSBidWZbNF07CiAgICBpbnQgaTsKICAgIGludCB3 cml0ZV9wYXNzOwpAQCAtNTExLDcgKzUyOCw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvaTM4Ni10ZGVwLmMKICAKICAgIC8qIEJORCByZWdpc3RlcnMgY2FuIGJlIGluIGFyYml0 cmFyeSB2YWx1ZXMgYXQgdGhlIG1vbWVudCBvZiB0aGUKICAgICAgIGluZmVyaW9yIGNhbGwuICBU aGlzIGNhbiBjYXVzZSBib3VuZGFyeSB2aW9sYXRpb25zIHRoYXQgYXJlIG5vdAotQEAgLTI2OTcs NyArMjY5Nyw3IEBACitAQCAtMjY5Miw3ICsyNjkyLDcgQEAgaTM4Nl9wdXNoX2R1bW15X2NhbGwg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogIAogICAg Zm9yICh3cml0ZV9wYXNzID0gMDsgd3JpdGVfcGFzcyA8IDI7IHdyaXRlX3Bhc3MrKykKICAgICAg ewpAQCAtNTIwLDcgKzUzNyw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvaTM4 Ni10ZGVwLmMKICAKICAgICAgICBpZiAoc3RydWN0X3JldHVybikKICAJewotQEAgLTI3MTQsNyAr MjcxNCw3IEBACitAQCAtMjcwOSw3ICsyNzA5LDcgQEAgaTM4Nl9wdXNoX2R1bW15X2NhbGwgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogIAogICAgICAg IGZvciAoaSA9IDA7IGkgPCBuYXJnczsgaSsrKQogIAl7CkBAIC01MjksNyArNTQ2LDcgQEAgSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9pMzg2LXRkZXAuYwogIAogIAkgIGlmICh3cml0 ZV9wYXNzKQogIAkgICAgewotQEAgLTI5MjEsNyArMjkyMSw3IEBACitAQCAtMjkxNiw3ICsyOTE2 LDcgQEAgaTM4Nl9yZWdfc3RydWN0X3JldHVybl9wIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwg c3RydWN0IHR5cGUgKnR5cGUpCiAgewogICAgc3RydWN0IGdkYmFyY2hfdGRlcCAqdGRlcCA9IGdk YmFyY2hfdGRlcCAoZ2RiYXJjaCk7CiAgICBlbnVtIHR5cGVfY29kZSBjb2RlID0gVFlQRV9DT0RF ICh0eXBlKTsKQEAgLTUzOCw3ICs1NTUsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2kzODYtdGRlcC5jCiAgCiAgICBnZGJfYXNzZXJ0IChjb2RlID09IFRZUEVfQ09ERV9TVFJV Q1QKICAgICAgICAgICAgICAgIHx8IGNvZGUgPT0gVFlQRV9DT0RFX1VOSU9OCi1AQCAtMzc0Myw3 ICszNzQzLDcgQEAKK0BAIC0zNzM4LDcgKzM3MzgsNyBAQCBzdGF0aWMgaW50CiAgaTM4Nl9jb252 ZXJ0X3JlZ2lzdGVyX3AgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAogIAkJCSBpbnQgcmVnbnVt LCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CkBAIC01NDcsNyArNTY0LDcgQEAgSW5kZXg6IGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi9pMzg2LXRkZXAuYwogIAogICAgLyogVmFsdWVzIG1heSBiZSBz cHJlYWQgYWNyb3NzIG11bHRpcGxlIHJlZ2lzdGVycy4gIE1vc3QgZGVidWdnaW5nCiAgICAgICBm b3JtYXRzIGFyZW4ndCBleHByZXNzaXZlIGVub3VnaCB0byBzcGVjaWZ5IHRoZSBsb2NhdGlvbnMs IHNvCi1AQCAtMzc3Niw3ICszNzc2LDcgQEAKK0BAIC0zNzcxLDcgKzM3NzEsNyBAQCBpMzg2X3Jl Z2lzdGVyX3RvX3ZhbHVlIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGludCByZWdudW0sCiAg CQkJaW50ICpvcHRpbWl6ZWRwLCBpbnQgKnVuYXZhaWxhYmxlcCkKICB7CiAgICBzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCA9IGdldF9mcmFtZV9hcmNoIChmcmFtZSk7CkBAIC01NTYsNyArNTczLDcg QEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9pMzg2LXRkZXAuYwogIAogICAgaWYg KGkzODZfZnBfcmVnbnVtX3AgKGdkYmFyY2gsIHJlZ251bSkpCiAgICAgIHJldHVybiBpMzg3X3Jl Z2lzdGVyX3RvX3ZhbHVlIChmcmFtZSwgcmVnbnVtLCB0eXBlLCB0bywKLUBAIC0zODEyLDcgKzM4 MTIsNyBAQAorQEAgLTM4MDcsNyArMzgwNyw3IEBAIHN0YXRpYyB2b2lkCiAgaTM4Nl92YWx1ZV90 b19yZWdpc3RlciAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLAogIAkJCXN0 cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqZnJvbSkKICB7CkBAIC01NjUsMTEgKzU4 MiwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2kzODYtdGRlcC5jCiAgCiAg ICBpZiAoaTM4Nl9mcF9yZWdudW1fcCAoZ2V0X2ZyYW1lX2FyY2ggKGZyYW1lKSwgcmVnbnVtKSkK ICAgICAgewotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9pcTIwMDAtdGRlcC5jCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvaXEyMDAwLXRkZXAu YwkyMDE3LTA0LTIwIDIzOjEyOjA3LjkxODU2NjUzMiArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9pcTIwMDAtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEuMjM5NTg4Nzc3ICsw MjAwCi1AQCAtNjUxLDggKzY1MSw5IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2lxMjAwMC10ZGVwLmMg Yi9nZGIvaXEyMDAwLXRkZXAuYworaW5kZXggZTQ3Y2MwNmExZi4uN2RjOTk5ZDEwZSAxMDA2NDQK Ky0tLSBhL2dkYi9pcTIwMDAtdGRlcC5jCisrKysgYi9nZGIvaXEyMDAwLXRkZXAuYworQEAgLTY1 MSw4ICs2NTEsOSBAQCBpcTIwMDBfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAgIGNvbnN0IGJmZF9ieXRlICp2YWw7CiAg ICBiZmRfYnl0ZSBidWZbNF07CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKQEAgLTU4MSwxMSArNTk4 LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvaXEyMDAwLXRkZXAuYwogICAg LyogVXNlZCB0byBjb3B5IHN0cnVjdCBhcmd1bWVudHMgaW50byB0aGUgc3RhY2suICAqLwogICAg Q09SRV9BRERSIHN0cnVjdF9wdHI7CiAgCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L20zMnItdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9n ZGIvbTMyci10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMzk1ODg3NzcgKzAyMDAKLSsrKyBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbTMyci10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjozMC4z ODU3MTcwMjMgKzAyMDAKLUBAIC02ODEsNyArNjgxLDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvbTMy ci10ZGVwLmMgYi9nZGIvbTMyci10ZGVwLmMKK2luZGV4IGMwMDQ1NWJiNWYuLjY2M2NhMjA0ODYg MTAwNjQ0CistLS0gYS9nZGIvbTMyci10ZGVwLmMKKysrKyBiL2dkYi9tMzJyLXRkZXAuYworQEAg LTY3OSw3ICs2NzksNyBAQCBtMzJyX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgICBDT1JFX0FERFIgcmVndmFsOwogICAg Z2RiX2J5dGUgKnZhbDsKICAgIGdkYl9ieXRlIHZhbGJ1ZltNMzJSX0FSR19SRUdJU1RFUl9TSVpF XTsKQEAgLTU5NCwxMSArNjExLDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv bTMyci10ZGVwLmMKICAKICAgIC8qIEZpcnN0IGZvcmNlIHNwIHRvIGEgNC1ieXRlIGFsaWdubWVu dC4gICovCiAgICBzcCA9IHNwICYgfjM7Ci1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L202OGstdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9n ZGIvbTY4ay10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MTk1NjY1MzggKzAyMDAKLSsrKyBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbTY4ay10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4y NDA1ODg3ODMgKzAyMDAKLUBAIC0zNzcsNyArMzc3LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvbTY4 ay10ZGVwLmMgYi9nZGIvbTY4ay10ZGVwLmMKK2luZGV4IDlkYzFmZTZmMDEuLjE5Yzc1ZjIxZDMg MTAwNjQ0CistLS0gYS9nZGIvbTY4ay10ZGVwLmMKKysrKyBiL2dkYi9tNjhrLXRkZXAuYworQEAg LTM3Myw3ICszNzMsNyBAQCBtNjhrX3JlZ19zdHJ1Y3RfcmV0dXJuX3AgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CiAgICBzdHJ1Y3QgZ2RiYXJjaF90ZGVw ICp0ZGVwID0gZ2RiYXJjaF90ZGVwIChnZGJhcmNoKTsKICAgIGVudW0gdHlwZV9jb2RlIGNvZGUg PSBUWVBFX0NPREUgKHR5cGUpOwpAQCAtNjA3LDcgKzYyNCw3IEBAIEluZGV4OiBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvbTY4ay10ZGVwLmMKICAKICAgIGdkYl9hc3NlcnQgKGNvZGUgPT0gVFlQ RV9DT0RFX1NUUlVDVCB8fCBjb2RlID09IFRZUEVfQ09ERV9VTklPTgogIAkgICAgICB8fCBjb2Rl ID09IFRZUEVfQ09ERV9DT01QTEVYKTsKLUBAIC01MDksOSArNTA5LDkgQEAKK0BAIC01MDUsOSAr NTA1LDkgQEAgbTY4a19wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBz dHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogICAgZm9yIChpID0gbmFyZ3MgLSAxOyBpID49IDA7IGkt LSkKICAgICAgewogICAgICAgIHN0cnVjdCB0eXBlICp2YWx1ZV90eXBlID0gdmFsdWVfZW5jbG9z aW5nX3R5cGUgKGFyZ3NbaV0pOwpAQCAtNjIwLDEzICs2MzcsMTMgQEAgSW5kZXg6IGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9tNjhrLXRkZXAuYwogIAogICAgICAgIC8qIE5vbi1zY2FsYXJzIGJp Z2dlciB0aGFuIDQgYnl0ZXMgYXJlIGxlZnQgYWxpZ25lZCwgb3RoZXJzIGFyZQogIAkgcmlnaHQg YWxpZ25lZC4gICovCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL204OGstdGRlcC5j Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvbTg4ay10ZGVw LmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MTk1NjY1MzggKzAyMDAKLSsrKyBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvbTg4ay10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNDA1ODg3ODMgKzAy MDAKLUBAIC0yNTQsMTMgKzI1NCwxMyBAQAorZGlmZiAtLWdpdCBhL2dkYi9tODhrLXRkZXAuYyBi L2dkYi9tODhrLXRkZXAuYworaW5kZXggNmJlMjdhOTZjNi4uOGYxODZjNzVhMiAxMDA2NDQKKy0t LSBhL2dkYi9tODhrLXRkZXAuYworKysrIGIvZ2RiL204OGstdGRlcC5jCitAQCAtMjU0LDEzICsy NTQsMTMgQEAgbTg4a19zdG9yZV9hcmd1bWVudHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUs IGludCBuYXJncywKICB7Ci0gICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9yZWdjYWNo ZV9hcmNoIChyZWdjYWNoZSk7CisgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IHJlZ2NhY2hl LT5hcmNoICgpOwogICAgaW50IG51bV9yZWdpc3Rlcl93b3JkcyA9IDA7CiAtICBpbnQgbnVtX3N0 YWNrX3dvcmRzID0gMDsKICsgIExPTkdFU1QgbnVtX3N0YWNrX3dvcmRzID0gMDsKQEAgLTY0MCw3 ICs2NTcsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL204OGstdGRlcC5jCiAg CiAgICAgICAgaWYgKG04OGtfaW50ZWdyYWxfb3JfcG9pbnRlcl9wICh0eXBlKSAmJiBsZW4gPCA0 KQogIAl7Ci1AQCAtMzAyLDggKzMwMiw4IEBACitAQCAtMzAyLDggKzMwMiw4IEBAIG04OGtfc3Rv cmVfYXJndW1lbnRzIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgbmFyZ3MsCiAgICAg IHsKICAgICAgICBjb25zdCBiZmRfYnl0ZSAqdmFsYnVmID0gdmFsdWVfY29udGVudHMgKGFyZ3Nb aV0pOwogICAgICAgIHN0cnVjdCB0eXBlICp0eXBlID0gdmFsdWVfdHlwZSAoYXJnc1tpXSk7CkBA IC02NTEsMTEgKzY2OCwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL204OGst dGRlcC5jCiAgCiAgICAgICAgaWYgKG04OGtfaW5fcmVnaXN0ZXJfcCAodHlwZSkpCiAgCXsKLUlu ZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWVwLXRkZXAuYwotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL21lcC10ZGVwLmMJMjAxNy0wNC0yMCAyMzox MjowNy45MjA1NjY1NDUgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWVwLXRk ZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjI0MTU4ODc5MCArMDIwMAotQEAgLTIyNjIsNyArMjI2 Miw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL21lcC10ZGVwLmMgYi9nZGIvbWVwLXRkZXAuYworaW5k ZXggYmYwOGNhMTRkMi4uMjI0NjQyZmU0MiAxMDA2NDQKKy0tLSBhL2dkYi9tZXAtdGRlcC5jCisr KysgYi9nZGIvbWVwLXRkZXAuYworQEAgLTIyNTYsNyArMjI1Niw3IEBAIHB1c2hfbGFyZ2VfYXJn dW1lbnRzIChDT1JFX0FERFIgc3AsIGludCBhcmdjLCBzdHJ1Y3QgdmFsdWUgKiphcmd2LAogIAog ICAgZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykKICAgICAgewpAQCAtNjY0LDExICs2ODEsMTEg QEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tZXAtdGRlcC5jCiAgCiAgICAgICAg aWYgKGFyZ19sZW4gPiBNRVBfR1BSX1NJWkUpCiAgICAgICAgICB7Ci1JbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL21pcHMtdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAu MjAxNzA0MjAub3JpZy9nZGIvbWlwcy10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45Mjg1NjY1 OTkgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWlwcy10ZGVwLmMJMjAxNy0w NC0yMCAyMzoxMjoxMS4yNDM1ODg4MDQgKzAyMDAKLUBAIC00NzQsNyArNDc0LDcgQEAKK2RpZmYg LS1naXQgYS9nZGIvbWlwcy10ZGVwLmMgYi9nZGIvbWlwcy10ZGVwLmMKK2luZGV4IDgzMDUzNWY3 M2QuLjBhY2E4Y2UzZTAgMTAwNjQ0CistLS0gYS9nZGIvbWlwcy10ZGVwLmMKKysrKyBiL2dkYi9t aXBzLXRkZXAuYworQEAgLTQ3Nyw3ICs0NzcsNyBAQCBzdGF0aWMgdm9pZAogIG1pcHNfeGZlcl9y ZWdpc3RlciAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCByZWdjYWNoZSAqcmVnY2Fj aGUsCiAgCQkgICAgaW50IHJlZ19udW0sIGludCBsZW5ndGgsCiAgCQkgICAgZW51bSBiZmRfZW5k aWFuIGVuZGlhbiwgZ2RiX2J5dGUgKmluLApAQCAtNjc3LDcgKzY5NCw3IEBAIEluZGV4OiBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvbWlwcy10ZGVwLmMKICB7CiAgICBpbnQgcmVnX29mZnNldCA9 IDA7CiAgCi1AQCAtNDk3LDggKzQ5Nyw4IEBACitAQCAtNTAwLDggKzUwMCw4IEBAIG1pcHNfeGZl cl9yZWdpc3RlciAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCByZWdjYWNoZSAqcmVn Y2FjaGUsCiAgICAgIH0KICAgIGlmIChtaXBzX2RlYnVnKQogICAgICBmcHJpbnRmX3VuZmlsdGVy ZWQgKGdkYl9zdGRlcnIsCkBAIC02ODgsOCArNzA1LDggQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9taXBzLXRkZXAuYwogICAgaWYgKG1pcHNfZGVidWcgJiYgb3V0ICE9IE5VTEwp CiAgICAgIHsKICAgICAgICBpbnQgaTsKLUBAIC00NTMwLDEzICs0NTMwLDEzIEBACi0gICAgICAg Z2RiX2J5dGUgdmFsYnVmW01BWF9SRUdJU1RFUl9TSVpFXTsKK0BAIC00NTM0LDEzICs0NTM0LDEz IEBAIG1pcHNfZWFiaV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBz dHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAorICAgICAgIGdkYl9ieXRlIHJlZl92YWxidWZbTUFYX01J UFNfQUJJX1JFR1NJWkVdOwogICAgICAgIHN0cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1thcmdudW1d OwogICAgICAgIHN0cnVjdCB0eXBlICphcmdfdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5 cGUgKGFyZykpOwogLSAgICAgIGludCBsZW4gPSBUWVBFX0xFTkdUSCAoYXJnX3R5cGUpOwpAQCAt NzA1LDcgKzcyMiw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWlwcy10ZGVw LmMKICAKICAgICAgICAvKiBUaGUgRUFCSSBwYXNzZXMgc3RydWN0dXJlcyB0aGF0IGRvIG5vdCBm aXQgaW4gYSByZWdpc3RlciBieQogICAgICAgICAgIHJlZmVyZW5jZS4gICovCi1AQCAtNDgwNSw3 ICs0ODA1LDcgQEAKK0BAIC00ODEwLDcgKzQ4MTAsNyBAQCBtaXBzX2VhYmlfcmV0dXJuX3ZhbHVl IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAKICBz dGF0aWMgaW50CiAgbWlwc19uMzJuNjRfZnBfYXJnX2NodW5rX3AgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGUsCkBAIC03MTQsNyArNzMxLDcgQEAgSW5kZXg6 IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9taXBzLXRkZXAuYwogIHsKICAgIGludCBpOwogIAot QEAgLTQ4MjAsNyArNDgyMCw3IEBACitAQCAtNDgyNSw3ICs0ODI1LDcgQEAgbWlwc19uMzJuNjRf ZnBfYXJnX2NodW5rX3AgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdHlwZSAqYXJn X3R5cGUsCiAgCiAgICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9ORklFTERTIChhcmdfdHlwZSk7IGkr KykKICAgICAgewpAQCAtNzIzLDcgKzc0MCw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvbWlwcy10ZGVwLmMKICAgICAgICBzdHJ1Y3QgdHlwZSAqZmllbGRfdHlwZTsKICAKICAg ICAgICAvKiBXZSdyZSBvbmx5IGxvb2tpbmcgYXQgbm9ybWFsIGZpZWxkcy4gICovCi1AQCAtNDg2 Miw3ICs0ODYyLDcgQEAKK0BAIC00ODY3LDcgKzQ4NjcsNyBAQCBtaXBzX24zMm42NF9wdXNoX2R1 bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9u LAogICAgaW50IGFyZ3JlZzsKICAgIGludCBmbG9hdF9hcmdyZWc7CiAgICBpbnQgYXJnbnVtOwpA QCAtNzMyLDcgKzc0OSw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWlwcy10 ZGVwLmMKICAgIGludCBzdGFja19vZmZzZXQgPSAwOwogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVf b3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgQ09SRV9BRERSIGZ1bmNf YWRkciA9IGZpbmRfZnVuY3Rpb25fYWRkciAoZnVuY3Rpb24sIE5VTEwpOwotQEAgLTUyMTMsMTEg KzUyMTMsMTEgQEAKK0BAIC01MjE4LDExICs1MjE4LDExIEBAIG1pcHNfbjMybjY0X3JldHVybl92 YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAg CQkJCTogTUlQU19WMF9SRUdOVU0pOwogIAkgICBmaWVsZCA8IFRZUEVfTkZJRUxEUyAodHlwZSk7 IGZpZWxkKyssIHJlZ251bSArPSAyKQogIAl7CkBAIC03NDgsNyArNzY1LDcgQEAgSW5kZXg6IGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9taXBzLXRkZXAuYwogIAkgIGlmIChUWVBFX0xFTkdUSCAo VFlQRV9GSUVMRF9UWVBFICh0eXBlLCBmaWVsZCkpID09IDE2KQogIAkgICAgewogIAkgICAgICAv KiBBIDE2LWJ5dGUgbG9uZyBkb3VibGUgZmllbGQgZ29lcyBpbiB0d28gY29uc2VjdXRpdmUKLUBA IC01MjU5LDggKzUyNTksOCBAQAorQEAgLTUyNjQsOCArNTI2NCw4IEBAIG1pcHNfbjMybjY0X3Jl dHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rp b24sCiAgCSAgaWYgKG9mZnNldCArIHhmZXIgPiBUWVBFX0xFTkdUSCAodHlwZSkpCiAgCSAgICB4 ZmVyID0gVFlQRV9MRU5HVEggKHR5cGUpIC0gb2Zmc2V0OwogIAkgIGlmIChtaXBzX2RlYnVnKQpA QCAtNzU5LDcgKzc3Niw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWlwcy10 ZGVwLmMKICAJICBtaXBzX3hmZXJfcmVnaXN0ZXIgKGdkYmFyY2gsIHJlZ2NhY2hlLAogIAkJCSAg ICAgIGdkYmFyY2hfbnVtX3JlZ3MgKGdkYmFyY2gpICsgcmVnbnVtLAogIAkJCSAgICAgIHhmZXIs IEJGRF9FTkRJQU5fVU5LTk9XTiwgcmVhZGJ1Ziwgd3JpdGVidWYsCi1AQCAtNTMxOCw3ICs1MzE4 LDcgQEAKK0BAIC01MzIzLDcgKzUzMjMsNyBAQCBtaXBzX28zMl9wdXNoX2R1bW15X2NhbGwgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogICAgaW50IGFy Z3JlZzsKICAgIGludCBmbG9hdF9hcmdyZWc7CiAgICBpbnQgYXJnbnVtOwpAQCAtNzY4LDcgKzc4 NSw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWlwcy10ZGVwLmMKICAgIGlu dCBzdGFja19vZmZzZXQgPSAwOwogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJh cmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgQ09SRV9BRERSIGZ1bmNfYWRkciA9IGZpbmRf ZnVuY3Rpb25fYWRkciAoZnVuY3Rpb24sIE5VTEwpOwotQEAgLTUzODIsMTMgKzUzODIsMTMgQEAK K0BAIC01Mzg3LDEzICs1Mzg3LDEzIEBAIG1pcHNfbzMyX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgICAgICAgY29uc3Qg Z2RiX2J5dGUgKnZhbDsKICAgICAgICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbYXJnbnVtXTsK ICAgICAgICBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBl IChhcmcpKTsKQEAgLTc4NSw3ICs4MDIsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL21pcHMtdGRlcC5jCiAgCiAgICAgICAgdmFsID0gdmFsdWVfY29udGVudHMgKGFyZyk7CiAg Ci1AQCAtNTg0Myw4ICs1ODQzLDggQEAKK0BAIC01ODQ3LDggKzU4NDcsOCBAQCBtaXBzX282NF9w dXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1 bmN0aW9uLAogICAgaW50IGFyZ3JlZzsKICAgIGludCBmbG9hdF9hcmdyZWc7CiAgICBpbnQgYXJn bnVtOwpAQCAtNzk2LDcgKzgxMyw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv bWlwcy10ZGVwLmMKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRl X29yZGVyIChnZGJhcmNoKTsKICAgIENPUkVfQUREUiBmdW5jX2FkZHIgPSBmaW5kX2Z1bmN0aW9u X2FkZHIgKGZ1bmN0aW9uLCBOVUxMKTsKICAKLUBAIC01OTA0LDEzICs1OTA0LDEzIEBACitAQCAt NTkwOCwxMyArNTkwOCwxMyBAQCBtaXBzX282NF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogICAgICAgIGNvbnN0IGdkYl9i eXRlICp2YWw7CiAgICAgICAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2FyZ251bV07CiAgICAg ICAgc3RydWN0IHR5cGUgKmFyZ190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJn KSk7CkBAIC04MTMsMTEgKzgzMCwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L21pcHMtdGRlcC5jCiAgCiAgICAgICAgdmFsID0gdmFsdWVfY29udGVudHMgKGFyZyk7CiAgCi1J bmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL21uMTAzMDAtdGRlcC5jCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvbW4xMDMwMC10ZGVwLmMJMjAxNy0w NC0yMCAyMzoxMjowNy45Mjk1NjY2MDUgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvbW4xMDMwMC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNDM1ODg4MDQgKzAyMDAKLUBA IC0xMjIwLDcgKzEyMjAsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9tbjEwMzAwLXRkZXAuYyBiL2dk Yi9tbjEwMzAwLXRkZXAuYworaW5kZXggZWFkYmJiMzY3ZS4uMzlkMjRiMmFkMSAxMDA2NDQKKy0t LSBhL2dkYi9tbjEwMzAwLXRkZXAuYworKysrIGIvZ2RiL21uMTAzMDAtdGRlcC5jCitAQCAtMTIx Miw3ICsxMjEyLDcgQEAgbW4xMDMwMF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLAogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3Jk ZXIgKGdkYmFyY2gpOwogICAgY29uc3QgaW50IHB1c2hfc2l6ZSA9IHJlZ2lzdGVyX3NpemUgKGdk YmFyY2gsIEVfUENfUkVHTlVNKTsKICAgIGludCByZWdzX3VzZWQ7CkBAIC04MjYsMTEgKzg0Mywx MSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL21uMTAzMDAtdGRlcC5jCiAgICBp bnQgc3RhY2tfb2Zmc2V0ID0gMDsKICAgIGludCBhcmdudW07CiAgICBjb25zdCBnZGJfYnl0ZSAq dmFsOwotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tdC10ZGVwLmMKLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9tdC10ZGVwLmMJMjAxNy0wNC0y MCAyMzoxMjowNy45MzA1NjY2MTIgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv bXQtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEuMjQ0NTg4ODEwICswMjAwCi1AQCAtNzg4LDkg Kzc4OCw5IEBACitkaWZmIC0tZ2l0IGEvZ2RiL210LXRkZXAuYyBiL2dkYi9tdC10ZGVwLmMKK2lu ZGV4IDc5OTIzOTRjYTIuLjVkZDIwY2E4YjAgMTAwNjQ0CistLS0gYS9nZGIvbXQtdGRlcC5jCisr KysgYi9nZGIvbXQtdGRlcC5jCitAQCAtNzg5LDkgKzc4OSw5IEBAIG10X3B1c2hfZHVtbXlfY2Fs bCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgICBn ZGJfYnl0ZSBidWZbTVRfTUFYX1NUUlVDVF9TSVpFXTsKICAgIGludCBhcmdyZWcgPSBNVF8xU1Rf QVJHUkVHOwogICAgaW50IHNwbGl0X3BhcmFtX2xlbiA9IDA7CkBAIC04NDIsMTEgKzg1OSwxMSBA QCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL210LXRkZXAuYwogICAgaW50IGksIGo7 CiAgCiAgICAvKiBGaXJzdCBoYW5kbGUgaG93ZXZlciBtYW55IGFyZ3Mgd2UgY2FuIGZpdCBpbnRv IE1UXzFTVF9BUkdSRUcgdGhydQotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9wcGMt c3lzdi10ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dk Yi9wcGMtc3lzdi10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MzE1NjY2MTkgKzAyMDAKLSsr KyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcHBjLXN5c3YtdGRlcC5jCTIwMTctMDQtMjAgMjM6 MTI6MTEuMjQ1NTg4ODE3ICswMjAwCi1AQCAtNjcsNyArNjcsNyBAQAorZGlmZiAtLWdpdCBhL2dk Yi9wcGMtc3lzdi10ZGVwLmMgYi9nZGIvcHBjLXN5c3YtdGRlcC5jCitpbmRleCBiNDNmMjJkYTE3 Li4yNDgyMGZhNmFiIDEwMDY0NAorLS0tIGEvZ2RiL3BwYy1zeXN2LXRkZXAuYworKysrIGIvZ2Ri L3BwYy1zeXN2LXRkZXAuYworQEAgLTY4LDcgKzY4LDcgQEAgcHBjX3N5c3ZfYWJpX3B1c2hfZHVt bXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24s CiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2Ri YXJjaCk7CiAgICBpbnQgb3BlbmNsX2FiaSA9IHBwY19zeXN2X3VzZV9vcGVuY2xfYWJpICh2YWx1 ZV90eXBlIChmdW5jdGlvbikpOwogICAgVUxPTkdFU1Qgc2F2ZWRfc3A7CkBAIC04NTUsNyArODcy LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9wcGMtc3lzdi10ZGVwLmMKICAg IGludCB3cml0ZV9wYXNzOwogIAogICAgZ2RiX2Fzc2VydCAodGRlcC0+d29yZHNpemUgPT0gNCk7 Ci1AQCAtOTgsOSArOTgsOSBAQAorQEAgLTk5LDkgKzk5LDkgQEAgcHBjX3N5c3ZfYWJpX3B1c2hf ZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rp b24sCiAgICAgICAgLyogTmV4dCBhdmFpbGFibGUgdmVjdG9yIHJlZ2lzdGVyIGZvciB2ZWN0b3Ig YXJndW1lbnRzLiAgKi8KICAgICAgICBpbnQgdnJlZyA9IDI7CiAgICAgICAgLyogQXJndW1lbnRz IHN0YXJ0IGFib3ZlIHRoZSAiTFIgc2F2ZSB3b3JkIiBhbmQgIkJhY2sgY2hhaW4iLiAgKi8KQEAg LTg2Nyw3ICs4ODQsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3BwYy1zeXN2 LXRkZXAuYwogIAogICAgICAgIC8qIElmIHRoZSBmdW5jdGlvbiBpcyByZXR1cm5pbmcgYSBgc3Ry dWN0JywgdGhlbiB0aGUgZmlyc3Qgd29yZAogICAgICAgICAgICh3aGljaCB3aWxsIGJlIHBhc3Nl ZCBpbiByMykgaXMgdXNlZCBmb3Igc3RydWN0IHJldHVybgotQEAgLTExOSw3ICsxMTksNyBAQAor QEAgLTEyMCw3ICsxMjAsNyBAQCBwcGNfc3lzdl9hYmlfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAJewogIAkgIHN0cnVj dCB2YWx1ZSAqYXJnID0gYXJnc1thcmdub107CiAgCSAgc3RydWN0IHR5cGUgKnR5cGUgPSBjaGVj a190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKQEAgLTg3Niw3ICs4OTMsNyBAQCBJbmRleDog Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3BwYy1zeXN2LXRkZXAuYwogIAkgIGNvbnN0IGJmZF9i eXRlICp2YWwgPSB2YWx1ZV9jb250ZW50cyAoYXJnKTsKICAKICAJICBpZiAoVFlQRV9DT0RFICh0 eXBlKSA9PSBUWVBFX0NPREVfRkxUICYmIGxlbiA8PSA4Ci1AQCAtMTI4NCwxMSArMTI4NCwxMSBA QAorQEAgLTEyODUsMTEgKzEyODUsMTEgQEAgc3RydWN0IHBwYzY0X3N5c3ZfYXJncG9zCiAgCiAg c3RhdGljIHZvaWQKICBwcGM2NF9zeXN2X2FiaV9wdXNoX3ZhbCAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsCkBAIC04ODYsMTUgKzkwMyw2MSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL3BwYy1zeXN2LXRkZXAuYwogIHsKICAgIHN0cnVjdCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBn ZGJhcmNoX3RkZXAgKGdkYmFyY2gpOwogLSAgaW50IG9mZnNldCA9IDA7Ci0rICBzc2l6ZV90IG9m ZnNldCA9IDA7CisrICBMT05HRVNUIG9mZnNldCA9IDA7CiAgCiAgICAvKiBFbmZvcmNlIGFsaWdu bWVudCBvZiBzdGFjayBsb2NhdGlvbiwgaWYgcmVxdWVzdGVkLiAgKi8KICAgIGlmIChhbGlnbiA+ IHRkZXAtPndvcmRzaXplKQotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ybDc4LXRk ZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3JsNzgt dGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTMxNTY2NjE5ICswMjAwCi0rKysgZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL3JsNzgtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEuMjQ1NTg4ODE3 ICswMjAwCi1AQCAtMTM1Miw4ICsxMzUyLDggQEAKK0BAIC0xMzI3LDcgKzEzMjcsNyBAQCBwcGM2 NF9zeXN2X2FiaV9wdXNoX3ZhbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCisgICAgICAgaWYg KGFyZ3Bvcy0+cmVnY2FjaGUgJiYgYXJncG9zLT5ncmVnIDw9IDEwKQorIAlyZWdjYWNoZV9jb29r ZWRfd3JpdGVfcGFydCAoYXJncG9zLT5yZWdjYWNoZSwKKyAJCQkJICAgIHRkZXAtPnBwY19ncDBf cmVnbnVtICsgYXJncG9zLT5ncmVnLAorLQkJCQkgICAgb2Zmc2V0LCBsZW4sIHZhbCk7CisrCQkJ CSAgICBvZmZzZXQsIChMT05HRVNUKSBsZW4sIHZhbCk7CisgICAgICAgYXJncG9zLT5ncmVnKys7 CisgICAgIH0KKyB9CitAQCAtMTM4Niw3ICsxMzg2LDcgQEAgcHBjNjRfc3lzdl9hYmlfcHVzaF9m cmVnIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKKyAgICAgICBpZiAoYXJncG9zLT5yZWdjYWNo ZSAmJiBhcmdwb3MtPmZyZWcgPD0gMTMpCisgCXsKKyAJICBpbnQgcmVnbnVtID0gdGRlcC0+cHBj X2ZwMF9yZWdudW0gKyBhcmdwb3MtPmZyZWc7CistCSAgaW50IG9mZnNldCA9IDA7CisrCSAgTE9O R0VTVCBvZmZzZXQgPSAwOworIAorIAkgIGlmIChnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gp ID09IEJGRF9FTkRJQU5fQklHKQorIAkgICAgb2Zmc2V0ID0gOCAtIFRZUEVfTEVOR1RIICh0eXBl KTsKK0BAIC0xODM2LDcgKzE4MzYsNyBAQCBwcGM2NF9zeXN2X2FiaV9yZXR1cm5fdmFsdWVfYmFz ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB0eXBlICp2YWx0eXBlLAorICAgICAg ICYmIFRZUEVfQ09ERSAodmFsdHlwZSkgPT0gVFlQRV9DT0RFX0RFQ0ZMT0FUKQorICAgICB7Cisg ICAgICAgaW50IHJlZ251bSA9IHRkZXAtPnBwY19mcDBfcmVnbnVtICsgMSArIGluZGV4OworLSAg ICAgIGludCBvZmZzZXQgPSAwOworKyAgICAgIExPTkdFU1Qgb2Zmc2V0ID0gMDsKKyAKKyAgICAg ICBpZiAoZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKSA9PSBCRkRfRU5ESUFOX0JJRykKKyAJ b2Zmc2V0ID0gOCAtIFRZUEVfTEVOR1RIICh2YWx0eXBlKTsKK0BAIC0xOTEyLDcgKzE5MTIsNyBA QCBwcGM2NF9zeXN2X2FiaV9yZXR1cm5fdmFsdWVfYmFzZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIHN0cnVjdCB0eXBlICp2YWx0eXBlLAorICAgICAgICYmIFRZUEVfQ09ERSAodmFsdHlwZSkg PT0gVFlQRV9DT0RFX0FSUkFZICYmIFRZUEVfVkVDVE9SICh2YWx0eXBlKSkKKyAgICAgeworICAg ICAgIGludCByZWdudW0gPSB0ZGVwLT5wcGNfZ3AwX3JlZ251bSArIDMgKyBpbmRleDsKKy0gICAg ICBpbnQgb2Zmc2V0ID0gMDsKKysgICAgICBMT05HRVNUIG9mZnNldCA9IDA7CisgCisgICAgICAg aWYgKGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCkgPT0gQkZEX0VORElBTl9CSUcpCisgCW9m ZnNldCA9IDggLSBUWVBFX0xFTkdUSCAodmFsdHlwZSk7CitAQCAtMjAyMCw3ICsyMDIwLDggQEAg cHBjNjRfc3lzdl9hYmlfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3Ry dWN0IHZhbHVlICpmdW5jdGlvbiwKKyAgICAgICAmJiBUWVBFX0xFTkdUSCAoVFlQRV9UQVJHRVRf VFlQRSAodmFsdHlwZSkpID09IDEpCisgICAgIHsKKyAgICAgICBpbnQgcmVnbnVtID0gdGRlcC0+ cHBjX2dwMF9yZWdudW0gKyAzOworLSAgICAgIGludCBvZmZzZXQgPSAocmVnaXN0ZXJfc2l6ZSAo Z2RiYXJjaCwgcmVnbnVtKSAtIFRZUEVfTEVOR1RIICh2YWx0eXBlKSk7CisrICAgICAgTE9OR0VT VCBvZmZzZXQKKysJPSAocmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgcmVnbnVtKSAtIFRZUEVfTEVO R1RIICh2YWx0eXBlKSk7CisgCisgICAgICAgaWYgKHdyaXRlYnVmICE9IE5VTEwpCisgCXJlZ2Nh Y2hlX2Nvb2tlZF93cml0ZV9wYXJ0IChyZWdjYWNoZSwgcmVnbnVtLAorZGlmZiAtLWdpdCBhL2dk Yi9ybDc4LXRkZXAuYyBiL2dkYi9ybDc4LXRkZXAuYworaW5kZXggMTlmODA5OGI3Yi4uOTJhNDhi YTUxMyAxMDA2NDQKKy0tLSBhL2dkYi9ybDc4LXRkZXAuYworKysrIGIvZ2RiL3JsNzgtdGRlcC5j CitAQCAtMTM0Nyw4ICsxMzQ3LDggQEAgcmw3OF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogICAgZm9yIChpID0gbmFyZ3Mg LSAxOyBpID49IDA7IGktLSkKICAgICAgewogICAgICAgIHN0cnVjdCB0eXBlICp2YWx1ZV90eXBl ID0gdmFsdWVfZW5jbG9zaW5nX3R5cGUgKGFyZ3NbaV0pOwpAQCAtOTA1LDExICs5NjgsMTEgQEAg SW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ybDc4LXRkZXAuYwogIAogICAgICAgIHNw IC09IGNvbnRhaW5lcl9sZW47CiAgICAgICAgd3JpdGVfbWVtb3J5IChybDc4X21ha2VfZGF0YV9h ZGRyZXNzIChzcCksCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3JzNjAwMC1haXgt dGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvcnM2 MDAwLWFpeC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MzI1NjY2MjYgKzAyMDAKLSsrKyBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcnM2MDAwLWFpeC10ZGVwLmMJMjAxNy0wNC0yMCAyMzox MjoxMS4yNDU1ODg4MTcgKzAyMDAKLUBAIC0xODYsOSArMTg2LDkgQEAKK2RpZmYgLS1naXQgYS9n ZGIvcnM2MDAwLWFpeC10ZGVwLmMgYi9nZGIvcnM2MDAwLWFpeC10ZGVwLmMKK2luZGV4IDhjYzc1 MzlhOGMuLmZjOTUzYzMzZDQgMTAwNjQ0CistLS0gYS9nZGIvcnM2MDAwLWFpeC10ZGVwLmMKKysr KyBiL2dkYi9yczYwMDAtYWl4LXRkZXAuYworQEAgLTE4Nyw5ICsxODcsOSBAQCByczYwMDBfcHVz aF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5j dGlvbiwKICAgIHN0cnVjdCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFy Y2gpOwogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIg KGdkYmFyY2gpOwogICAgaW50IGlpOwpAQCAtOTIxLDcgKzk4NCw3IEBAIEluZGV4OiBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvcnM2MDAwLWFpeC10ZGVwLmMKICAgIGdkYl9ieXRlIHRtcF9idWZm ZXJbNTBdOwogICAgaW50IGZfYXJnbm8gPSAwOwkJLyogY3VycmVudCBmbG9hdGluZyBwb2ludCBh cmdubyAqLwogICAgaW50IHdvcmRzaXplID0gZ2RiYXJjaF90ZGVwIChnZGJhcmNoKS0+d29yZHNp emU7Ci1AQCAtMzE5LDcgKzMxOSw3IEBACitAQCAtMzE5LDcgKzMxOSw3IEBAIHJhbl9vdXRfb2Zf cmVnaXN0ZXJzX2Zvcl9hcmd1bWVudHM6CiAgCiAgICBpZiAoKGFyZ25vIDwgbmFyZ3MpIHx8IGFy Z2J5dGVzKQogICAgICB7CkBAIC05MzAsMTEgKzk5MywxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL3JzNjAwMC1haXgtdGRlcC5jCiAgCiAgICAgICAgaWYgKGFyZ2J5dGVzKQog IAl7Ci1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3MzOTAtbGludXgtdGRlcC5jCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvczM5MC1saW51eC10 ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MzQ1NjY2MzkgKzAyMDAKLSsrKyBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvczM5MC1saW51eC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNDc1 ODg4MzAgKzAyMDAKLUBAIC0zMDgxLDcgKzMwODEsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9zMzkw LWxpbnV4LXRkZXAuYyBiL2dkYi9zMzkwLWxpbnV4LXRkZXAuYworaW5kZXggYTBkNGNkZDc0MC4u MjYxNzkxOWU4YSAxMDA2NDQKKy0tLSBhL2dkYi9zMzkwLWxpbnV4LXRkZXAuYworKysrIGIvZ2Ri L3MzOTAtbGludXgtdGRlcC5jCitAQCAtMzEzMiw3ICszMTMyLDcgQEAgczM5MF9mdW5jdGlvbl9h cmdfdmVjdG9yIChzdHJ1Y3QgdHlwZSAqdHlwZSkKICAvKiBEZXRlcm1pbmUgd2hldGhlciBOIGlz IGEgcG93ZXIgb2YgdHdvLiAgKi8KICAKICBzdGF0aWMgaW50CkBAIC05NDMsMjAgKzEwMDYsMjkg QEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zMzkwLWxpbnV4LXRkZXAuYwogIHsK ICAgIHJldHVybiBuICYmICgobiAmIChuIC0gMSkpID09IDApOwogIH0KLUBAIC0zMTM4LDcgKzMx MzgsNyBAQAorQEAgLTMxODksNyArMzE4OSw3IEBAIHMzOTBfaGFuZGxlX2FyZyAoc3RydWN0IHMz OTBfYXJnX3N0YXRlICphcywgc3RydWN0IHZhbHVlICphcmcsCiAgCQkgZW51bSBiZmRfZW5kaWFu IGJ5dGVfb3JkZXIsIGludCBpc191bm5hbWVkKQogIHsKICAgIHN0cnVjdCB0eXBlICp0eXBlID0g Y2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7CiAtICB1bnNpZ25lZCBpbnQgbGVuZ3Ro ID0gVFlQRV9MRU5HVEggKHR5cGUpOwotKyAgVUxPTkdFU1QgbGVuZ3RoID0gVFlQRV9MRU5HVEgg KHR5cGUpOworKyAgTE9OR0VTVCBsZW5ndGggPSBUWVBFX0xFTkdUSCAodHlwZSk7CiAgICBpbnQg d3JpdGVfbW9kZSA9IGFzLT5yZWdjYWNoZSAhPSBOVUxMOwogIAogICAgaWYgKHMzOTBfZnVuY3Rp b25fYXJnX2Zsb2F0ICh0eXBlKSkKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc2Nv cmUtdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIv c2NvcmUtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTM1NTY2NjQ2ICswMjAwCi0rKysgZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Njb3JlLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjI0 ODU4ODgzNyArMDIwMAotQEAgLTUyNSw3ICs1MjUsNyBAQAorQEAgLTM0NTIsNyArMzQ1Miw3IEBA IHMzOTBfcmVnaXN0ZXJfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3Ry dWN0IHR5cGUgKnR5cGUsCisgeworICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJh cmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOworICAgaW50IHdvcmRfc2l6ZSA9IGdkYmFyY2hfcHRy X2JpdCAoZ2RiYXJjaCkgLyA4OworLSAgaW50IGxlbmd0aCA9IFRZUEVfTEVOR1RIICh0eXBlKTsK KysgIExPTkdFU1QgbGVuZ3RoID0gVFlQRV9MRU5HVEggKHR5cGUpOworICAgaW50IGNvZGUgPSBU WVBFX0NPREUgKHR5cGUpOworIAorICAgaWYgKGNvZGUgPT0gVFlQRV9DT0RFX0ZMVCB8fCBjb2Rl ID09IFRZUEVfQ09ERV9ERUNGTE9BVCkKK2RpZmYgLS1naXQgYS9nZGIvc2NvcmUtdGRlcC5jIGIv Z2RiL3Njb3JlLXRkZXAuYworaW5kZXggNWI2OGEyYjMzMi4uOWExNmNjODA5ZSAxMDA2NDQKKy0t LSBhL2dkYi9zY29yZS10ZGVwLmMKKysrKyBiL2dkYi9zY29yZS10ZGVwLmMKK0BAIC01MTYsNyAr NTE2LDcgQEAgc2NvcmVfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwg c3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0g Z2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIGludCBhcmdudW07CiAgICBpbnQgYXJn cmVnOwpAQCAtOTY1LDExICsxMDM3LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvc2NvcmUtdGRlcC5jCiAgICBDT1JFX0FERFIgc3RhY2tfb2Zmc2V0ID0gMDsKICAgIENPUkVf QUREUiBhZGRyID0gMDsKICAKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc2gtdGRl cC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvc2gtdGRl cC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTM2NTY2NjUyICswMjAwCi0rKysgZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL3NoLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjI0ODU4ODgzNyArMDIw MAotQEAgLTgxNCw3ICs4MTQsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9zaC10ZGVwLmMgYi9nZGIv c2gtdGRlcC5jCitpbmRleCAyMzY3NWJiNmNjLi42MGNjNmQzZjRlIDEwMDY0NAorLS0tIGEvZ2Ri L3NoLXRkZXAuYworKysrIGIvZ2RiL3NoLXRkZXAuYworQEAgLTgxMyw3ICs4MTMsNyBAQCBzaF9z a2lwX3Byb2xvZ3VlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgQ09SRV9BRERSIHBjKQogIHN0 YXRpYyBpbnQKICBzaF91c2Vfc3RydWN0X2NvbnZlbnRpb24gKGludCByZW5lc2FzX2FiaSwgc3Ry dWN0IHR5cGUgKnR5cGUpCiAgewpAQCAtOTc4LDcgKzEwNTAsNyBAQCBJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL3NoLXRkZXAuYwogICAgaW50IG5lbGVtID0gVFlQRV9ORklFTERTICh0 eXBlKTsKICAKICAgIC8qIFRoZSBSZW5lc2FzIEFCSSByZXR1cm5zIGFnZ3JlZ2F0ZSB0eXBlcyBh bHdheXMgb24gc3RhY2suICAqLwotQEAgLTkxNiw3ICs5MTYsNyBAQAorQEAgLTkxNSw3ICs5MTUs NyBAQCBzaF9mcmFtZV9hbGlnbiAoc3RydWN0IGdkYmFyY2ggKmlnbm9yZSwgQ09SRV9BRERSIHNw KQogIAogIC8qIEhlbHBlciBmdW5jdGlvbiB0byBqdXN0aWZ5IHZhbHVlIGluIHJlZ2lzdGVyIGFj Y29yZGluZyB0byBlbmRpYW5lc3MuICAqLwogIHN0YXRpYyBjb25zdCBnZGJfYnl0ZSAqCkBAIC05 ODcsNyArMTA1OSw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc2gtdGRlcC5j CiAgewogICAgc3RhdGljIGdkYl9ieXRlIHZhbGJ1Zls0XTsKICAKLUBAIC0xMDc2LDcgKzEwNzYs OCBAQAorQEAgLTEwNzUsNyArMTA3NSw4IEBAIHNoX3B1c2hfZHVtbXlfY2FsbF9mcHUgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLAogICAgc3RydWN0IHR5cGUgKnR5cGU7CiAgICBDT1JFX0FERFIg cmVndmFsOwogICAgY29uc3QgZ2RiX2J5dGUgKnZhbDsKQEAgLTk5Nyw3ICsxMDY5LDcgQEAgSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zaC10ZGVwLmMKICAgIGludCBwYXNzX29uX3N0 YWNrID0gMDsKICAgIGludCB0cmVhdF9hc19mbHQ7CiAgICBpbnQgbGFzdF9yZWdfYXJnID0gSU5U X01BWDsKLUBAIC0xMjE3LDcgKzEyMTgsOCBAQAorQEAgLTEyMTYsNyArMTIxNyw4IEBAIHNoX3B1 c2hfZHVtbXlfY2FsbF9ub2ZwdSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgICBzdHJ1Y3Qg dHlwZSAqdHlwZTsKICAgIENPUkVfQUREUiByZWd2YWw7CiAgICBjb25zdCBnZGJfYnl0ZSAqdmFs OwpAQCAtMTAwNywxMSArMTA3OSwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L3NoLXRkZXAuYwogICAgaW50IHBhc3Nfb25fc3RhY2sgPSAwOwogICAgaW50IGxhc3RfcmVnX2Fy ZyA9IElOVF9NQVg7CiAgCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3NoNjQtdGRl cC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvc2g2NC10 ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45Mzc1NjY2NTkgKzAyMDAKLSsrKyBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvc2g2NC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNDk1ODg4NDQg KzAyMDAKLUBAIC0xMDYyLDcgKzEwNjIsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9zaDY0LXRkZXAu YyBiL2dkYi9zaDY0LXRkZXAuYworaW5kZXggMzAwNGYxNWIwMy4uMDFkMGNhODcwYyAxMDA2NDQK Ky0tLSBhL2dkYi9zaDY0LXRkZXAuYworKysrIGIvZ2RiL3NoNjQtdGRlcC5jCitAQCAtMTA3OSw3 ICsxMDc5LDcgQEAgc2g2NF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNo LAogIAkJICAgICAgQ09SRV9BRERSIHN0cnVjdF9hZGRyKQogIHsKICAgIGVudW0gYmZkX2VuZGlh biBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKQEAgLTEwMjAsNyAr MTA5Miw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc2g2NC10ZGVwLmMKICAg IGludCBpbnRfYXJncmVnOwogICAgaW50IGZsb2F0X2FyZ19pbmRleCA9IDA7CiAgICBpbnQgZG91 YmxlX2FyZ19pbmRleCA9IDA7Ci1AQCAtMTA3MSw3ICsxMDcxLDcgQEAKK0BAIC0xMDg4LDcgKzEw ODgsNyBAQCBzaDY0X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAg ICBDT1JFX0FERFIgcmVndmFsOwogICAgY29uc3QgZ2RiX2J5dGUgKnZhbDsKICAgIGdkYl9ieXRl IHZhbGJ1Zls4XTsKQEAgLTEwMjksMzQgKzExMDEsMjAgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9zaDY0LXRkZXAuYwogICAgaW50IGFyZ3JlZ19zaXplOwogICAgaW50IGZwX2Fy Z3NbMTJdOwogIAotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zcGFyYy10ZGVwLmMK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9zcGFyYy10ZGVw LmMJMjAxNy0wNC0yMCAyMzoxMjowNy45Mzg1NjY2NjYgKzAyMDAKLSsrKyBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvc3BhcmMtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEuMjQ5NTg4ODQ0ICsw MjAwCi1AQCAtNTY3LDcgKzU2Nyw3IEBACi0gICBmb3IgKGkgPSAwOyBpIDwgbmFyZ3M7IGkrKykK LSAgICAgewotICAgICAgIHN0cnVjdCB0eXBlICp0eXBlID0gdmFsdWVfdHlwZSAoYXJnc1tpXSk7 Ci0tICAgICAgaW50IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSsgICAgICBMT05HRVNUIGxl biA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAKLSAgICAgICBpZiAoc3BhcmNfc3RydWN0dXJlX29y X3VuaW9uX3AgKHR5cGUpCi0gCSAgfHwgKHNwYXJjX2Zsb2F0aW5nX3AgKHR5cGUpICYmIGxlbiA9 PSAxNikKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc3BhcmM2NC10ZGVwLmMKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9zcGFyYzY0LXRkZXAu YwkyMDE3LTA0LTIwIDIzOjEyOjA3LjkzOTU2NjY3MiArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9zcGFyYzY0LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjI1MDU4ODg1MSAr MDIwMAotQEAgLTY5Niw3ICs2OTYsOCBAQAorZGlmZiAtLWdpdCBhL2dkYi9zcGFyYzY0LXRkZXAu YyBiL2dkYi9zcGFyYzY0LXRkZXAuYworaW5kZXggNTVhZWYxMzJkOS4uY2UxY2Y0MWQyZiAxMDA2 NDQKKy0tLSBhL2dkYi9zcGFyYzY0LXRkZXAuYworKysrIGIvZ2RiL3NwYXJjNjQtdGRlcC5jCitA QCAtMTIwNSw3ICsxMjA1LDcgQEAgc3BhcmM2NF8xNl9ieXRlX2FsaWduX3AgKHN0cnVjdCB0eXBl ICp0eXBlKQogIAogIHN0YXRpYyB2b2lkCiAgc3BhcmM2NF9zdG9yZV9mbG9hdGluZ19maWVsZHMg KHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIHN0cnVjdCB0eXBlICp0eXBlLAogLQkJCSAgICAg ICBjb25zdCBnZGJfYnl0ZSAqdmFsYnVmLCBpbnQgZWxlbWVudCwgaW50IGJpdHBvcykKLSsJCQkg ICAgICAgY29uc3QgZ2RiX2J5dGUgKnZhbGJ1ZiwgaW50IGVsZW1lbnQsCi0rCQkJICAgICAgIExP TkdFU1QgYml0cG9zKQorKwkJCSAgICAgICBjb25zdCBnZGJfYnl0ZSAqdmFsYnVmLCBpbnQgZWxl bWVudCwgTE9OR0VTVCBiaXRwb3MpCiAgewotICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBn ZXRfcmVnY2FjaGVfYXJjaCAocmVnY2FjaGUpOworICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gg PSByZWdjYWNoZS0+YXJjaCAoKTsKICAgIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci1A QCAtNzQwLDcgKzc0MSw3IEBACitAQCAtMTI2NSw3ICsxMjY1LDcgQEAgc3BhcmM2NF9zdG9yZV9m bG9hdGluZ19maWVsZHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIHN0cnVjdCB0eXBlICp0 eXBlLAogICAgICAgIGZvciAoaSA9IDA7IGkgPCBUWVBFX05GSUVMRFMgKHR5cGUpOyBpKyspCiAg CXsKICAJICBzdHJ1Y3QgdHlwZSAqc3VidHlwZSA9IGNoZWNrX3R5cGVkZWYgKFRZUEVfRklFTERf VFlQRSAodHlwZSwgaSkpOwpAQCAtMTA2NSwxNiArMTEyMywxNiBAQCBJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL3NwYXJjNjQtdGRlcC5jCiAgCiAgCSAgc3BhcmM2NF9zdG9yZV9mbG9h dGluZ19maWVsZHMgKHJlZ2NhY2hlLCBzdWJ0eXBlLCB2YWxidWYsCiAgCQkJCQkgZWxlbWVudCwg c3VicG9zKTsKLUBAIC03NzIsNyArNzczLDcgQEAKK0BAIC0xMjk3LDcgKzEyOTcsNyBAQCBzcGFy YzY0X3N0b3JlX2Zsb2F0aW5nX2ZpZWxkcyAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgc3Ry dWN0IHR5cGUgKnR5cGUsCiAgCiAgc3RhdGljIHZvaWQKICBzcGFyYzY0X2V4dHJhY3RfZmxvYXRp bmdfZmllbGRzIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBzdHJ1Y3QgdHlwZSAqdHlwZSwK IC0JCQkJIGdkYl9ieXRlICp2YWxidWYsIGludCBiaXRwb3MpCiArCQkJCSBnZGJfYnl0ZSAqdmFs YnVmLCBMT05HRVNUIGJpdHBvcykKICB7Ci0gICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdl dF9yZWdjYWNoZV9hcmNoIChyZWdjYWNoZSk7CisgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9 IHJlZ2NhY2hlLT5hcmNoICgpOwogIAotQEAgLTgxMiw3ICs4MTMsNyBAQAorQEAgLTEzNTMsNyAr MTM1Myw3IEBAIHNwYXJjNjRfZXh0cmFjdF9mbG9hdGluZ19maWVsZHMgKHN0cnVjdCByZWdjYWNo ZSAqcmVnY2FjaGUsIHN0cnVjdCB0eXBlICp0eXBlLAogICAgICAgIGZvciAoaSA9IDA7IGkgPCBU WVBFX05GSUVMRFMgKHR5cGUpOyBpKyspCiAgCXsKICAJICBzdHJ1Y3QgdHlwZSAqc3VidHlwZSA9 IGNoZWNrX3R5cGVkZWYgKFRZUEVfRklFTERfVFlQRSAodHlwZSwgaSkpOwpAQCAtMTA4Myw3ICsx MTQxLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zcGFyYzY0LXRkZXAuYwog IAogIAkgIHNwYXJjNjRfZXh0cmFjdF9mbG9hdGluZ19maWVsZHMgKHJlZ2NhY2hlLCBzdWJ0eXBl LCB2YWxidWYsIHN1YnBvcyk7CiAgCX0KLUBAIC04NDUsNyArODQ2LDcgQEAKK0BAIC0xMzg2LDcg KzEzODYsNyBAQCBzcGFyYzY0X3N0b3JlX2FyZ3VtZW50cyAoc3RydWN0IHJlZ2NhY2hlICpyZWdj YWNoZSwgaW50IG5hcmdzLAogICAgZm9yIChpID0gMDsgaSA8IG5hcmdzOyBpKyspCiAgICAgIHsK ICAgICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IHZhbHVlX3R5cGUgKGFyZ3NbaV0pOwpAQCAtMTA5 Miw3ICsxMTUwLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zcGFyYzY0LXRk ZXAuYwogIAogICAgICAgIGlmIChzcGFyYzY0X3N0cnVjdHVyZV9vcl91bmlvbl9wICh0eXBlKQog IAkgIHx8IChzcGFyYzY0X2NvbXBsZXhfZmxvYXRpbmdfcCAodHlwZSkgJiYgbGVuID09IDMyKSkK LUBAIC05NDUsNyArOTQ2LDcgQEAKK0BAIC0xNDg2LDcgKzE0ODYsNyBAQCBzcGFyYzY0X3N0b3Jl X2FyZ3VtZW50cyAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgaW50IG5hcmdzLAogICAgICB7 CiAgICAgICAgY29uc3QgZ2RiX2J5dGUgKnZhbGJ1ZiA9IHZhbHVlX2NvbnRlbnRzIChhcmdzW2ld KTsKICAgICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IHZhbHVlX3R5cGUgKGFyZ3NbaV0pOwpAQCAt MTEwMSwxMSArMTE1OSwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3NwYXJj NjQtdGRlcC5jCiAgICAgICAgaW50IHJlZ251bSA9IC0xOwogICAgICAgIGdkYl9ieXRlIGJ1Zlsx Nl07CiAgCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3NwdS10ZGVwLmMKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9zcHUtdGRlcC5jCTIwMTct MDQtMjAgMjM6MTI6MDcuOTQwNTY2Njc5ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL3NwdS10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNTE1ODg4NTcgKzAyMDAKLUBAIC0x NDMxLDcgKzE0MzEsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9zcHUtdGRlcC5jIGIvZ2RiL3NwdS10 ZGVwLmMKK2luZGV4IDM0YTUzNmEyNjAuLjRiMzliMTc4NWUgMTAwNjQ0CistLS0gYS9nZGIvc3B1 LXRkZXAuYworKysrIGIvZ2RiL3NwdS10ZGVwLmMKK0BAIC0xNDMwLDcgKzE0MzAsNyBAQCBzcHVf cHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpm dW5jdGlvbiwKICAgICAgICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07CiAgICAgICAgc3Ry dWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKICAgICAg ICBjb25zdCBnZGJfYnl0ZSAqY29udGVudHMgPSB2YWx1ZV9jb250ZW50cyAoYXJnKTsKQEAgLTEx MTQsNyArMTE3Miw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc3B1LXRkZXAu YwogIAogICAgICAgIC8qIElmIHRoZSBhcmd1bWVudCBkb2Vzbid0IHdob2xseSBmaXQgaW50byBy ZWdpc3RlcnMsIGl0IGFuZAogIAkgYWxsIHN1YnNlcXVlbnQgYXJndW1lbnRzIGdvIHRvIHRoZSBz dGFjay4gICovCi1AQCAtMTQ2Myw3ICsxNDYzLDcgQEAKK0BAIC0xNDYyLDcgKzE0NjIsNyBAQCBz cHVfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVl ICpmdW5jdGlvbiwKICAJewogIAkgIHN0cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1tpXTsKICAJICBz dHJ1Y3QgdHlwZSAqdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFyZykpOwpAQCAt MTEyMywxMSArMTE4MSwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3NwdS10 ZGVwLmMKICAJICBpbnQgcHJlZmVycmVkX3Nsb3Q7CiAgCSAgCiAgCSAgaWYgKHNwdV9zY2FsYXJf dmFsdWVfcCAodHlwZSkpCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3RpYzZ4LXRk ZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3RpYzZ4 LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3Ljk0MDU2NjY3OSArMDIwMAotKysrIGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi90aWM2eC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNTE1ODg4 NTcgKzAyMDAKLUBAIC04OTksNyArODk5LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvdGljNngtdGRl cC5jIGIvZ2RiL3RpYzZ4LXRkZXAuYworaW5kZXggNjZmMjI1OTYxMi4uM2M3ZjU1ZjUwMCAxMDA2 NDQKKy0tLSBhL2dkYi90aWM2eC10ZGVwLmMKKysrKyBiL2dkYi90aWM2eC10ZGVwLmMKK0BAIC04 ODMsNyArODgzLDcgQEAgdGljNnhfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAgIGludCBhcmdyZWcgPSAwOwogICAgaW50 IGFyZ251bTsKICAgIGludCBzdGFja19vZmZzZXQgPSA0OwpAQCAtMTEzNiw3ICsxMTk0LDcgQEAg SW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90aWM2eC10ZGVwLmMKICAgIENPUkVfQURE UiBmdW5jX2FkZHIgPSBmaW5kX2Z1bmN0aW9uX2FkZHIgKGZ1bmN0aW9uLCBOVUxMKTsKICAgIGVu dW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsK ICAgIHN0cnVjdCB0eXBlICpmdW5jX3R5cGUgPSB2YWx1ZV90eXBlIChmdW5jdGlvbik7Ci1AQCAt OTMzLDcgKzkzMyw3IEBACitAQCAtOTE3LDcgKzkxNyw3IEBAIHRpYzZ4X3B1c2hfZHVtbXlfY2Fs bCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgICAv KiBOb3cgbWFrZSBzcGFjZSBvbiB0aGUgc3RhY2sgZm9yIHRoZSBhcmdzLiAgKi8KICAgIGZvciAo YXJnbnVtID0gMDsgYXJnbnVtIDwgbmFyZ3M7IGFyZ251bSsrKQogICAgICB7CkBAIC0xMTQ1LDcg KzEyMDMsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3RpYzZ4LXRkZXAuYwog ICAgICAgIGlmIChhcmdudW0gPj0gMTAgLSBhcmdyZWcpCiAgCXJlZmVyZW5jZXNfb2Zmc2V0ICs9 IGxlbjsKICAgICAgICBzdGFja19vZmZzZXQgKz0gbGVuOwotQEAgLTk1Miw3ICs5NTIsNyBAQAor QEAgLTkzNiw3ICs5MzYsNyBAQCB0aWM2eF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogICAgICAgIGNvbnN0IGdkYl9ieXRl ICp2YWw7CiAgICAgICAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2FyZ251bV07CiAgICAgICAg c3RydWN0IHR5cGUgKmFyZ190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7 CkBAIC0xMTU0LDcgKzEyMTIsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rp YzZ4LXRkZXAuYwogICAgICAgIGVudW0gdHlwZV9jb2RlIHR5cGVjb2RlID0gVFlQRV9DT0RFIChh cmdfdHlwZSk7CiAgCiAgICAgICAgdmFsID0gdmFsdWVfY29udGVudHMgKGFyZyk7Ci1AQCAtMTEx Miw3ICsxMTEyLDggQEAKK0BAIC0xMDk2LDcgKzEwOTYsOCBAQCB0aWM2eF9wdXNoX2R1bW15X2Nh bGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogIAkg ICAgfQogIAkgIGVsc2UKICAJICAgIGludGVybmFsX2Vycm9yIChfX0ZJTEVfXywgX19MSU5FX18s CkBAIC0xMTY0LDExICsxMjIyLDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv dGljNngtdGRlcC5jCiAgCiAgCSAgYWRkciA9IHNwICsgc3RhY2tfb2Zmc2V0OwogIAkgIHdyaXRl X21lbW9yeSAoYWRkciwgdmFsLCBsZW4pOwotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi90aWxlZ3gtdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3Jp Zy9nZGIvdGlsZWd4LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3Ljk0MTU2NjY4NiArMDIwMAot KysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90aWxlZ3gtdGRlcC5jCTIwMTctMDQtMjAgMjM6 MTI6MTEuMjUxNTg4ODU3ICswMjAwCi1AQCAtMjg5LDcgKzI4OSw3IEBACitkaWZmIC0tZ2l0IGEv Z2RiL3RpbGVneC10ZGVwLmMgYi9nZGIvdGlsZWd4LXRkZXAuYworaW5kZXggM2E2MzBjMzNkOC4u MzNhM2NhYWZjZiAxMDA2NDQKKy0tLSBhL2dkYi90aWxlZ3gtdGRlcC5jCisrKysgYi9nZGIvdGls ZWd4LXRkZXAuYworQEAgLTI4OCw3ICsyODgsNyBAQCB0aWxlZ3hfcHVzaF9kdW1teV9jYWxsIChz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAgIENPUkVfQUREUiBzdGFja19kZXN0ID0gc3A7CiAg ICBpbnQgYXJncmVnID0gVElMRUdYX1IwX1JFR05VTTsKICAgIGludCBpLCBqOwpAQCAtMTE3Nywx MSArMTIzNSwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3RpbGVneC10ZGVw LmMKICAgIHN0YXRpYyBjb25zdCBnZGJfYnl0ZSBmb3VyX3plcm9fd29yZHNbMTZdID0geyAwIH07 CiAgCiAgICAvKiBJZiBzdHJ1Y3RfcmV0dXJuIGlzIDEsIHRoZW4gdGhlIHN0cnVjdCByZXR1cm4g YWRkcmVzcyB3aWxsCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Y4NTAtdGRlcC5j Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdjg1MC10ZGVw LmMJMjAxNy0wNC0yMCAyMzoxMjowNy45NDE1NjY2ODYgKzAyMDAKLSsrKyBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvdjg1MC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNTI1ODg4NjQgKzAy MDAKLUBAIC0xMDE5LDcgKzEwMTksNyBAQAorZGlmZiAtLWdpdCBhL2dkYi92ODUwLXRkZXAuYyBi L2dkYi92ODUwLXRkZXAuYworaW5kZXggMDY1Y2M5Yjg4Mi4uNzliODc3MzI1YiAxMDA2NDQKKy0t LSBhL2dkYi92ODUwLXRkZXAuYworKysrIGIvZ2RiL3Y4NTAtdGRlcC5jCitAQCAtMTAxOSw3ICsx MDE5LDcgQEAgdjg1MF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAog ICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFy Y2gpOwogICAgaW50IGFyZ3JlZzsKICAgIGludCBhcmdudW07CkBAIC0xMTkwLDcgKzEyNDgsNyBA QCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Y4NTAtdGRlcC5jCiAgICBpbnQgc3Rh Y2tfb2Zmc2V0OwogIAogICAgaWYgKGdkYmFyY2hfdGRlcCAoZ2RiYXJjaCktPmFiaSA9PSBWODUw X0FCSV9SSDg1MCkKLUBAIC0xMDQ3LDcgKzEwNDcsNyBAQAorQEAgLTEwNDcsNyArMTA0Nyw3IEBA IHY4NTBfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAgICAgIGlu IGZvdXIgcmVnaXN0ZXJzIGF2YWlsYWJsZS4gIExvb3AgdGhydSBhcmdzIGZyb20gZmlyc3QgdG8g bGFzdC4gICovCiAgICBmb3IgKGFyZ251bSA9IDA7IGFyZ251bSA8IG5hcmdzOyBhcmdudW0rKykK ICAgICAgewpAQCAtMTE5OSwxMiArMTI1NywxMiBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL3Y4NTAtdGRlcC5jCiAgICAgICAgZ2RiX2J5dGUgKnZhbDsKICAgICAgICBnZGJfYnl0 ZSB2YWxidWZbdjg1MF9yZWdfc2l6ZV07CiAgCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL3ZheC10ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmln L2dkYi92YXgtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTQyNTY2NjkyICswMjAwCi0rKysg Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZheC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4y NTI1ODg4NjQgKzAyMDAKLUBAIC0xMTEsNyArMTExLDcgQEAKLSAgIHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoID0gZ2V0X3JlZ2NhY2hlX2FyY2ggKHJlZ2NhY2hlKTsKK2RpZmYgLS1naXQgYS9nZGIv dmF4LXRkZXAuYyBiL2dkYi92YXgtdGRlcC5jCitpbmRleCBmMzFhY2M4ZjAxLi4wM2Q3YzYxZGNk IDEwMDY0NAorLS0tIGEvZ2RiL3ZheC10ZGVwLmMKKysrKyBiL2dkYi92YXgtdGRlcC5jCitAQCAt MTEwLDcgKzExMCw3IEBAIHZheF9zdG9yZV9hcmd1bWVudHMgKHN0cnVjdCByZWdjYWNoZSAqcmVn Y2FjaGUsIGludCBuYXJncywKKyAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gcmVnY2FjaGUt PmFyY2ggKCk7CiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9v cmRlciAoZ2RiYXJjaCk7CiAgICBnZGJfYnl0ZSBidWZbNF07CiAtICBpbnQgY291bnQgPSAwOwpA QCAtMTIxMiw3ICsxMjcwLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92YXgt dGRlcC5jCiAgICBpbnQgaTsKICAKICAgIC8qIFdlIGNyZWF0ZSBhbiBhcmd1bWVudCBsaXN0IG9u IHRoZSBzdGFjaywgYW5kIG1ha2UgdGhlIGFyZ3VtZW50Ci1AQCAtMTIwLDcgKzEyMCw3IEBACitA QCAtMTE5LDcgKzExOSw3IEBAIHZheF9zdG9yZV9hcmd1bWVudHMgKHN0cnVjdCByZWdjYWNoZSAq cmVnY2FjaGUsIGludCBuYXJncywKICAgIC8qIFB1c2ggYXJndW1lbnRzIGluIHJldmVyc2Ugb3Jk ZXIuICAqLwogICAgZm9yIChpID0gbmFyZ3MgLSAxOyBpID49IDA7IGktLSkKICAgICAgewpAQCAt MTIyMSwxMSArMTI3OSwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZheC10 ZGVwLmMKICAKICAgICAgICBzcCAtPSAobGVuICsgMykgJiB+MzsKICAgICAgICBjb3VudCArPSAo bGVuICsgMykgLyA0OwotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi94c3Rvcm15MTYt dGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIveHN0 b3JteTE2LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3Ljk0MjU2NjY5MiArMDIwMAotKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi94c3Rvcm15MTYtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6 MTEuMjUyNTg4ODY0ICswMjAwCi1AQCAtMjMzLDggKzIzMyw5IEBACitkaWZmIC0tZ2l0IGEvZ2Ri L3hzdG9ybXkxNi10ZGVwLmMgYi9nZGIveHN0b3JteTE2LXRkZXAuYworaW5kZXggMTUzMzc1YTFi ZC4uNWFlMTg2ZDdmYiAxMDA2NDQKKy0tLSBhL2dkYi94c3Rvcm15MTYtdGRlcC5jCisrKysgYi9n ZGIveHN0b3JteTE2LXRkZXAuYworQEAgLTIzMiw4ICsyMzIsOSBAQCB4c3Rvcm15MTZfcHVzaF9k dW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAgIGVudW0gYmZkX2VuZGlhbiBi eXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIENPUkVfQUREUiBz dGFja19kZXN0ID0gc3A7CiAgICBpbnQgYXJncmVnID0gRV8xU1RfQVJHX1JFR05VTTsKQEAgLTEy MzcsMTEgKzEyOTUsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi94c3Rvcm15 MTYtdGRlcC5jCiAgICBjb25zdCBnZGJfYnl0ZSAqdmFsOwogICAgZ2RiX2J5dGUgYnVmW3hzdG9y bXkxNl9wY19zaXplXTsKICAKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIveHRlbnNh LXRkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3h0 ZW5zYS10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45NDQ1NjY3MDYgKzAyMDAKLSsrKyBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIveHRlbnNhLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjI1 MzU4ODg3MCArMDIwMAotQEAgLTE2MzcsOCArMTYzNyw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3h0 ZW5zYS10ZGVwLmMgYi9nZGIveHRlbnNhLXRkZXAuYworaW5kZXggMGIwZWMyZTQxNi4uOWI1Mzhj NmQ3ZCAxMDA2NDQKKy0tLSBhL2dkYi94dGVuc2EtdGRlcC5jCisrKysgYi9nZGIveHRlbnNhLXRk ZXAuYworQEAgLTE2MzIsOCArMTYzMiw3IEBAIHh0ZW5zYV9zdG9yZV9yZXR1cm5fdmFsdWUgKHN0 cnVjdCB0eXBlICp0eXBlLAogIAogICAgICAgIGlmIChsZW4gPiAoY2FsbHNpemUgPiA4ID8gOCA6 IDE2KSkKICAJaW50ZXJuYWxfZXJyb3IgKF9fRklMRV9fLCBfX0xJTkVfXywKQEAgLTEyNTEsNyAr MTMwOSw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIveHRlbnNhLXRkZXAuYwog ICAgICAgIGFyZWcgPSBhcnJlZ19udW1iZXIgKGdkYmFyY2gsCiAgCQkJICAgZ2RiYXJjaF90ZGVw IChnZGJhcmNoKS0+YTBfYmFzZSArIDIgKyBjYWxsc2l6ZSwgd2IpOwogIAotQEAgLTE3MTIsMTgg KzE3MTEsMTggQEAKK0BAIC0xNzA3LDE4ICsxNzA2LDE4IEBAIHh0ZW5zYV9wdXNoX2R1bW15X2Nh bGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAogIHsKICAgIGVudW0gYmZkX2VuZGlhbiBieXRl X29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIGludCBpOwpAQCAtMTI3 Myw3ICsxMzMxLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi94dGVuc2EtdGRl cC5jCiAgICAgICAgaW50IHJlZ25vOwkJLyogcmVnbm8gaWYgaW4gcmVnaXN0ZXIuICAqLwogICAg ICB9IHU7CiAgICB9OwotQEAgLTE3NDcsOSArMTc0NiwxMCBAQAorQEAgLTE3NDIsOSArMTc0MSwx MCBAQCB4dGVuc2FfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAg ICAgICAgIHsKICAJICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07CiAgCSAgc3RydWN0IHR5 cGUgKmFyZ190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7CkBAIC0xMjg3 LDcgKzEzNDUsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3h0ZW5zYS10ZGVw LmMKICAJICBzd2l0Y2ggKFRZUEVfQ09ERSAoYXJnX3R5cGUpKQogIAkgICAgewogIAkgICAgY2Fz ZSBUWVBFX0NPREVfSU5UOgotQEAgLTE4MTksOCArMTgxOSw4IEBACitAQCAtMTgxNCw4ICsxODE0 LDggQEAgeHRlbnNhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAg CSAgaW5mby0+YWxpZ24gPSBUWVBFX0xFTkdUSCAoYnVpbHRpbl90eXBlIChnZGJhcmNoKS0+YnVp bHRpbl9sb25nKTsKICAJICBicmVhazsKICAJfQpAQCAtMTI5Nyw3ICsxMzU1LDcgQEAgSW5kZXg6 IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi94dGVuc2EtdGRlcC5jCiAgCiAgICAgICAgLyogQWxp Z24gc2l6ZSBhbmQgb25zdGFja19zaXplLiAgKi8KICAgICAgICBzaXplID0gKHNpemUgKyBpbmZv LT5hbGlnbiAtIDEpICYgfihpbmZvLT5hbGlnbiAtIDEpOwotQEAgLTE4NjUsNyArMTg2NSw3IEBA CitAQCAtMTg2MCw3ICsxODYwLDcgQEAgeHRlbnNhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsCiAgCiAgICAgICAgaWYgKGluZm8tPm9uc3RhY2spCiAgCXsKQEAgLTEz MDYsNyArMTM2NCw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIveHRlbnNhLXRk ZXAuYwogIAkgIENPUkVfQUREUiBvZmZzZXQgPSBzcCArIGluZm8tPnUub2Zmc2V0OwogIAogIAkg IC8qIE9kZC1zaXplZCBzdHJ1Y3RzIGFyZSBhbGlnbmVkIHRvIHRoZSBsb3dlciBzaWRlIG9mIGEg bWVtb3J5Ci1AQCAtMTg4MSw3ICsxODgxLDcgQEAKK0BAIC0xODc2LDcgKzE4NzYsNyBAQCB4dGVu c2FfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAJfQogICAgICAg IGVsc2UKICAJewpAQCAtMTMxNSwzICsxMzczLDYgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi94dGVuc2EtdGRlcC5jCiAgCSAgY29uc3QgYmZkX2J5dGUgKmNwID0gaW5mby0+Y29u dGVudHM7CiAgCSAgaW50IHIgPSBpbmZvLT51LnJlZ25vOwogIAorLS0gCisyLjE0LjMKKwoKZGlm ZiAtLWdpdCBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUtdGVzdC5wYXRjaCBiL2dkYi1y aGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUtdGVzdC5wYXRjaAppbmRleCAzZTRmYjIzLi5jNWI2ODNi IDEwMDY0NAotLS0gYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1LXRlc3QucGF0Y2gKKysr IGIvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTI1b2YyNS10ZXN0LnBhdGNoCkBAIC0xLDExICsxLDE1 IEBACitGcm9tIDI0ZTE2ZDQzNmM5YWNmYTQ0MTA2ZjgzZGM0MzU5ZjMzYWUzNmIzN2MgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1h aWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDog UmU6IFtQQVRDSF0gRXhwYW5kIGZvcnRyYW4gYXJyYXkgYm91bmRzIHNpemVzIHRvIExPTkdFU1QK K1N1YmplY3Q6IEV4cGFuZCBmb3J0cmFuIGFycmF5IGJvdW5kcyBzaXplcyB0byBMT05HRVNUCiAK IEZpbGVOYW1lOiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1LXRlc3QucGF0Y2gKIAotaHR0 cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTItMTAvbXNnMDAyMzEuaHRtbAor OzsgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3NlIG9mZnNldCBpcyBs YXJnZXIgdGhhbiAyNTZNQicKKzs7IChSSCBCWiA3OTU0MjQpLgorOzs9cHVzaAogCitodHRwOi8v c291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMi0xMC9tc2cwMDIzMS5odG1sCiAKIE9u IE1vbiwgMTUgT2N0IDIwMTIgMTU6MjU6NTUgKzAyMDAsIEphbiBLcmF0b2NodmlsIHdyb3RlOgog PiBJIGhhdmUgZmlsZWQgZm9yIGl0IG5vdzoKQEAgLTE1LDkxICsxOSwyOSBAQCBPbiBNb24sIDE1 IE9jdCAyMDEyIDE1OjI1OjU1ICswMjAwLCBKYW4gS3JhdG9jaHZpbCB3cm90ZToKIFRoZXJlZm9y ZSBpdCBsb29rcyBhcyBhIHZhbGlkIGdmb3J0cmFuIEZTRiBHQ0MgSEVBRCBidWcgc28gcHJvdmlk ZWQKIGEgaGFuZC1wYXRjaGVkIC5TIGZpbGUgZm9yIGkzODY7IHBhdGNoZWQgR0RCIFBBU1NlcyB3 aXRoIGl0LgogCi0KIFRoYW5rcywKIEphbgogCi0KIDIwMTItMTAtMTUgIFNpZGRoZXNoIFBveWFy ZWthciAgPHNpZGRoZXNoQHJlZGhhdC5jb20+CiAJICAgIEphbiBLcmF0b2NodmlsICA8amFuLmty YXRvY2h2aWxAcmVkaGF0LmNvbT4KIAogCSogZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmV4cDog TmV3IHRlc3QgZmlsZS4KIAkqIGdkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5mOiBOZXcgdGVzdCBm aWxlLgogCSogZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLlM6IE5ldyB0ZXN0IGZpbGUuCistLS0K KyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5TICAgfCA1MjkgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5 LWJvdW5kcy5leHAgfCAgNDMgKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1i b3VuZHMuZiAgIHwgIDIyICsrCisgMyBmaWxlcyBjaGFuZ2VkLCA1OTQgaW5zZXJ0aW9ucygrKQor IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LWJvdW5k cy5TCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXkt Ym91bmRzLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2FycmF5LWJvdW5kcy5mCiAKLS0tLSAvZGV2L251bGwJMjAxMi0wOS0yNiAxNTozMjoxNi4wOTg1 MDYzMTAgKzAyMDAKLSsrKyBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXkt Ym91bmRzLmV4cAkyMDEyLTEwLTE1IDIwOjUzOjI2LjQyNzA3MjU4MyArMDIwMAotQEAgLTAsMCAr MSw0MyBAQAotKyMgQ29weXJpZ2h0IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu Ci0rCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rIyAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyMKLSsjIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyMgYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK LSsjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKLSsjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu Ci0rIwotKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKLSsjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBz ZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwotKyMgVGhpcyBmaWxlIGlzIHBh cnQgb2YgdGhlIGdkYiB0ZXN0c3VpdGUuICBJdCBjb250YWlucyB0ZXN0IHRvIGVuc3VyZSB0aGF0 Ci0rIyBhcnJheSBib3VuZHMgYWNjZXB0IExPTkdFU1QuCi0rCi0raWYgeyBbc2tpcF9mb3J0cmFu X3Rlc3RzXSB9IHsgcmV0dXJuIC0xIH0KLSsKLStzZXQgdGVzdGZpbGUgImFycmF5LWJvdW5kcyIK LSsKLStpZiB7IFtpc19pbHAzMl90YXJnZXRdICYmIChbaXN0YXJnZXQgImlcWzM0NTY3XF04Ni0q LWxpbnV4KiJdCi0rCQkJICAgfHwgW2lzdGFyZ2V0ICJ4ODZfNjQtKi1saW51eCoiXSkgfSB7Ci0r ICAgIHNldCBzcmNmaWxlICR7dGVzdGZpbGV9LlMKLSsgICAgc2V0IG9wdHMge25vZGVidWcgZjkw fQotK30gZWxzZSB7Ci0rICAgIHNldCBzcmNmaWxlICR7dGVzdGZpbGV9LmYKLSsgICAgc2V0IG9w dHMge2RlYnVnIGY5MH0KLSt9Ci0rCi0raWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICR0ZXN0Zmls ZS5leHAgJHRlc3RmaWxlICRzcmNmaWxlICRvcHRzXX0gewotKyAgICBwcmludCAiY29tcGlsZSBm YWlsZWQiCi0rICAgIHJldHVybiAtMQotK30KLSsKLStpZiB7ICFbcnVudG8gTUFJTl9fXSB9IHsK LSsgICAgcGVycm9yICJDb3VsZCBub3QgcnVuIHRvIGJyZWFrcG9pbnQgYE1BSU5fXycuIgotKyAg ICBjb250aW51ZQotK30KLSsKLStnZGJfdGVzdCAicHJpbnQgJmZvbyIgey4qXCg0Mjk0OTY3Mjk2 OjQyOTQ5NjcyOTdcKS4qfQotK2dkYl90ZXN0ICJwcmludCAmYmFyIiB7LipcKC00Mjk0OTY3Mjk3 Oi00Mjk0OTY3Mjk2XCkuKn0KLS0tLSAvZGV2L251bGwJMjAxMi0wOS0yNiAxNTozMjoxNi4wOTg1 MDYzMTAgKzAyMDAKLSsrKyBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXkt Ym91bmRzLmYJMjAxMi0xMC0xNSAxOTozNToxMi41MDAyNTQyNjEgKzAyMDAKLUBAIC0wLDAgKzEs MjIgQEAKLStjIENvcHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgot KwotK2MgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKLStjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rYyB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotK2MgKGF0IHlv dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLStjCi0rYyBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLStjIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0r YyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCi0rYyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgot K2MKLStjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCi0rYyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2Vl IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSsKLSsgICAgICAgIGRpbWVuc2lvbiBm b28oNDI5NDk2NzI5Nl84OjQyOTQ5NjcyOTdfOCkKLSsgICAgICAgIGRpbWVuc2lvbiBiYXIoLTQy OTQ5NjcyOTdfODotNDI5NDk2NzI5Nl84KQotKyAgICAgICAgYmFyID0gNDIKLSsgICAgICAgIGZv bz1iYXIKLSsgICAgICAgIHN0b3AKLSsgICAgICAgIGVuZAotKwotLS0tIC9kZXYvbnVsbAkyMDEy LTA5LTI2IDE1OjMyOjE2LjA5ODUwNjMxMCArMDIwMAotKysrIGdkYi03LjIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuUwkyMDEyLTEwLTE1IDIwOjUyOjM2Ljg1MTExODIx NSArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91 bmRzLlMgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5TCituZXcgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNDYzYTQyNzY1MAorLS0tIC9kZXYvbnVs bAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuUwogQEAgLTAs MCArMSw1MjkgQEAKICsvKiBDb3B5cmlnaHQgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KICsKQEAgLTYzMCw0ICs1NzIsODMgQEAgSmFuCiArCS5zdHJpbmcJImFyZ3YiCiArCS5p ZGVudAkiR0NDOiAoR05VKSA0LjguMCAyMDEyMTAxNSAoZXhwZXJpbWVudGFsKSIKICsJLnNlY3Rp b24JLm5vdGUuR05VLXN0YWNrLCIiLEBwcm9nYml0cworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vYXJyYXktYm91bmRzLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAw MDAuLmJhMGViZTEzYjgKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vYXJyYXktYm91bmRzLmV4cAorQEAgLTAsMCArMSw0MyBAQAorKyMgQ29weXJpZ2h0IDIw MTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgorKworKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGdkYiB0ZXN0c3VpdGUu ICBJdCBjb250YWlucyB0ZXN0IHRvIGVuc3VyZSB0aGF0CisrIyBhcnJheSBib3VuZHMgYWNjZXB0 IExPTkdFU1QuCisrCisraWYgeyBbc2tpcF9mb3J0cmFuX3Rlc3RzXSB9IHsgcmV0dXJuIC0xIH0K KysKKytzZXQgdGVzdGZpbGUgImFycmF5LWJvdW5kcyIKKysKKytpZiB7IFtpc19pbHAzMl90YXJn ZXRdICYmIChbaXN0YXJnZXQgImlcWzM0NTY3XF04Ni0qLWxpbnV4KiJdCisrCQkJICAgfHwgW2lz dGFyZ2V0ICJ4ODZfNjQtKi1saW51eCoiXSkgfSB7CisrICAgIHNldCBzcmNmaWxlICR7dGVzdGZp bGV9LlMKKysgICAgc2V0IG9wdHMge25vZGVidWcgZjkwfQorK30gZWxzZSB7CisrICAgIHNldCBz cmNmaWxlICR7dGVzdGZpbGV9LmYKKysgICAgc2V0IG9wdHMge2RlYnVnIGY5MH0KKyt9CisrCisr aWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNmaWxl ICRvcHRzXX0geworKyAgICBwcmludCAiY29tcGlsZSBmYWlsZWQiCisrICAgIHJldHVybiAtMQor K30KKysKKytpZiB7ICFbcnVudG8gTUFJTl9fXSB9IHsKKysgICAgcGVycm9yICJDb3VsZCBub3Qg cnVuIHRvIGJyZWFrcG9pbnQgYE1BSU5fXycuIgorKyAgICBjb250aW51ZQorK30KKysKKytnZGJf dGVzdCAicHJpbnQgJmZvbyIgey4qXCg0Mjk0OTY3Mjk2OjQyOTQ5NjcyOTdcKS4qfQorK2dkYl90 ZXN0ICJwcmludCAmYmFyIiB7LipcKC00Mjk0OTY3Mjk3Oi00Mjk0OTY3Mjk2XCkuKn0KK2RpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5mIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZgorbmV3IGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDAwMDAwMDAwMDAuLjc4YjM2ZTZjMjcKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmYKK0BAIC0wLDAgKzEsMjIgQEAKKytj IENvcHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworK2MgVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKKytjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrYyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorK2MgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKytjCisrYyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKytjIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrYyBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisr YyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorK2MKKytjIFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCisrYyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKysgICAgICAgIGRpbWVuc2lvbiBmb28oNDI5NDk2 NzI5Nl84OjQyOTQ5NjcyOTdfOCkKKysgICAgICAgIGRpbWVuc2lvbiBiYXIoLTQyOTQ5NjcyOTdf ODotNDI5NDk2NzI5Nl84KQorKyAgICAgICAgYmFyID0gNDIKKysgICAgICAgIGZvbz1iYXIKKysg ICAgICAgIHN0b3AKKysgICAgICAgIGVuZAorKworLS0gCisyLjE0LjMKIAoKZGlmZiAtLWdpdCBh L2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUucGF0Y2ggYi9nZGItcmhiejc5NTQyNC1iaXRw b3MtMjVvZjI1LnBhdGNoCmluZGV4IDc4MjA2NmMuLjNlMzA3NmIgMTAwNjQ0Ci0tLSBhL2dkYi1y aGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUucGF0Y2gKKysrIGIvZ2RiLXJoYno3OTU0MjQtYml0cG9z LTI1b2YyNS5wYXRjaApAQCAtMSwxMiArMSwxNSBAQAorRnJvbSBmNDg3ZjUxOWZhNTk2NWY0MDA0 OWU4MDJjNTBiY2ViMzIxMTUzYmUyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVk b3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIw MTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gRXhwYW5kIGZvcnRyYW4gYXJyYXkg Ym91bmRzIHNpemVzIHRvIExPTkdFU1QKK1N1YmplY3Q6IEV4cGFuZCBmb3J0cmFuIGFycmF5IGJv dW5kcyBzaXplcyB0byBMT05HRVNUCiAKIEZpbGVOYW1lOiBnZGItcmhiejc5NTQyNC1iaXRwb3Mt MjVvZjI1LnBhdGNoCiAKLWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEy LTA4L21zZzAwNTYyLmh0bWwKLQorOzsgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVt YmVyIHdob3NlIG9mZnNldCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKKzs7IChSSCBCWiA3OTU0MjQp LgorOzs9cHVzaAogCitodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMi0w OC9tc2cwMDU2Mi5odG1sCiAKIC0tTVBfLzkwSjdiY2syZnFEeVNFWDlKa1p0YXFMCiBDb250ZW50 LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVMtQVNDSUkKQEAgLTUyLDEyICs1NSwxNyBAQCB0 ZXN0c3VpdGUvQ2hhbmdlTG9nOgogQ29udGVudC1UeXBlOiB0ZXh0L3gtcGF0Y2gKIENvbnRlbnQt VHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKIENvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7 IGZpbGVuYW1lPWY3Ny1ib3VuZHMucGF0Y2gKKy0tLQorIGdkYi9mLWxhbmcuaCAgICAgIHwgIDQg KystLQorIGdkYi9mLXR5cGVwcmludC5jIHwgMTAgKysrKystLS0tLQorIGdkYi9mLXZhbHByaW50 LmMgIHwgIDQgKystLQorIDMgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA5IGRlbGV0 aW9ucygtKQogCi1JbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA5MDcvZ2RiL2YtbGFuZy5oCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAuMjAxNjA5MDcub3JpZy9nZGIvZi1sYW5nLmgJMjAxNi0w OS0wNyAyMTo0ODozMy4zMDg2MjQwMTkgKzAyMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDkwNy9n ZGIvZi1sYW5nLmgJMjAxNi0wOS0wNyAyMTo0ODo0MC45Njc2OTI0NjkgKzAyMDAKLUBAIC00OSw5 ICs0OSw5IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2YtbGFuZy5oIGIvZ2RiL2YtbGFuZy5oCitpbmRl eCBmYjAwZjM3NDg2Li42MjVhZjk2ZTE2IDEwMDY0NAorLS0tIGEvZ2RiL2YtbGFuZy5oCisrKysg Yi9nZGIvZi1sYW5nLmgKK0BAIC00OSw5ICs0OSw5IEBAIHN0cnVjdCBjb21tb25fYmxvY2sKICAg IHN0cnVjdCBzeW1ib2wgKmNvbnRlbnRzWzFdOwogIH07CiAgCkBAIC02OSwxMSArNzcsMTEgQEAg SW5kZXg6IGdkYi03LjExLjkwLjIwMTYwOTA3L2dkYi9mLWxhbmcuaAogIAogIGV4dGVybiB2b2lk IGY3N19nZXRfZHluYW1pY19hcnJheV9sZW5ndGggKHN0cnVjdCB0eXBlICopOwogIAotSW5kZXg6 IGdkYi03LjExLjkwLjIwMTYwOTA3L2dkYi9mLXR5cGVwcmludC5jCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMTEuOTAuMjAxNjA5MDcub3JpZy9nZGIvZi10eXBlcHJpbnQuYwkyMDE2LTA5LTA3IDIx OjQ4OjMzLjMwOTYyNDAyOCArMDIwMAotKysrIGdkYi03LjExLjkwLjIwMTYwOTA3L2dkYi9mLXR5 cGVwcmludC5jCTIwMTYtMDktMDcgMjE6NDg6NDAuOTY3NjkyNDY5ICswMjAwCi1AQCAtMTQ3LDcg KzE0Nyw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2YtdHlwZXByaW50LmMgYi9nZGIvZi10eXBlcHJp bnQuYworaW5kZXggZGNjZGZlNzljNi4uNDE4NjkzZWFiYSAxMDA2NDQKKy0tLSBhL2dkYi9mLXR5 cGVwcmludC5jCisrKysgYi9nZGIvZi10eXBlcHJpbnQuYworQEAgLTE0OSw3ICsxNDksNyBAQCBm X3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtLAogIAkJCSAgICAgaW50IHNob3csIGludCBwYXNzZWRfYV9wdHIsIGludCBk ZW1hbmdsZWRfYXJncywKICAJCQkgICAgIGludCBhcnJheXByaW50X3JlY3Vyc2VfbGV2ZWwsIGlu dCBwcmludF9yYW5rX29ubHkpCiAgewpAQCAtODIsNyArOTAsNyBAQCBJbmRleDogZ2RiLTcuMTEu OTAuMjAxNjA5MDcvZ2RiL2YtdHlwZXByaW50LmMKICAKICAgIC8qIE5vIHN0YXRpYyB2YXJpYWJs ZXMgYXJlIHBlcm1pdHRlZCBhcyBhbiBlcnJvciBjYWxsIG1heSBvY2N1ciBkdXJpbmcKICAgICAg IGV4ZWN1dGlvbiBvZiB0aGlzIGZ1bmN0aW9uLiAgKi8KLUBAIC0xOTQsNyArMTk0LDcgQEAKK0BA IC0xOTYsNyArMTk2LDcgQEAgZl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChzdHJ1Y3QgdHlw ZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKICAJewogIAkgIGxvd2VyX2JvdW5kID0g Zjc3X2dldF9sb3dlcmJvdW5kICh0eXBlKTsKICAJICBpZiAobG93ZXJfYm91bmQgIT0gMSkJLyog Tm90IHRoZSBkZWZhdWx0LiAgKi8KQEAgLTkxLDcgKzk5LDcgQEAgSW5kZXg6IGdkYi03LjExLjkw LjIwMTYwOTA3L2dkYi9mLXR5cGVwcmludC5jCiAgCiAgCSAgLyogTWFrZSBzdXJlIHRoYXQsIGlm IHdlIGhhdmUgYW4gYXNzdW1lZCBzaXplIGFycmF5LCB3ZQogIAkgICAgICAgcHJpbnQgb3V0IGEg d2FybmluZyBhbmQgcHJpbnQgdGhlIHVwcGVyYm91bmQgYXMgJyonLiAgKi8KLUBAIC0yMDQsNyAr MjA0LDcgQEAKK0BAIC0yMDYsNyArMjA2LDcgQEAgZl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4 IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKICAJICBlbHNlCiAg CSAgICB7CiAgCSAgICAgIHVwcGVyX2JvdW5kID0gZjc3X2dldF91cHBlcmJvdW5kICh0eXBlKTsK QEAgLTEwMCw3ICsxMDgsNyBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA5MDcvZ2RiL2YtdHlw ZXByaW50LmMKICAJICAgIH0KICAJfQogIAotQEAgLTI3Niw3ICsyNzYsNyBAQAorQEAgLTI3OCw3 ICsyNzgsNyBAQCB2b2lkCiAgZl90eXBlX3ByaW50X2Jhc2UgKHN0cnVjdCB0eXBlICp0eXBlLCBz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgc2hvdywKICAJCSAgIGludCBsZXZlbCkKICB7CkBA IC0xMDksNyArMTE3LDcgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwOTA3L2dkYi9mLXR5cGVw cmludC5jCiAgICBpbnQgaW5kZXg7CiAgCiAgICBRVUlUOwotQEAgLTM1OCw3ICszNTgsNyBAQAor QEAgLTM2NSw3ICszNjUsNyBAQCBmX3R5cGVfcHJpbnRfYmFzZSAoc3RydWN0IHR5cGUgKnR5cGUs IHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCBzaG93LAogICAgICAgIGVsc2UKICAJewogIAkg IHVwcGVyX2JvdW5kID0gZjc3X2dldF91cHBlcmJvdW5kICh0eXBlKTsKQEAgLTExOCwxMSArMTI2 LDExIEBAIEluZGV4OiBnZGItNy4xMS45MC4yMDE2MDkwNy9nZGIvZi10eXBlcHJpbnQuYwogIAl9 CiAgICAgICAgYnJlYWs7CiAgCi1JbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA5MDcvZ2RiL2YtdmFs cHJpbnQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjExLjkwLjIwMTYwOTA3Lm9yaWcvZ2RiL2Yt dmFscHJpbnQuYwkyMDE2LTA5LTA3IDIxOjQ4OjMzLjMwOTYyNDAyOCArMDIwMAotKysrIGdkYi03 LjExLjkwLjIwMTYwOTA3L2dkYi9mLXZhbHByaW50LmMJMjAxNi0wOS0wNyAyMTo0ODo0MC45Njc2 OTI0NjkgKzAyMDAKLUBAIC00Myw3ICs0Myw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2YtdmFscHJp bnQuYyBiL2dkYi9mLXZhbHByaW50LmMKK2luZGV4IDRjZTc4YjFkNTIuLjEwYzU3NGM3ZmEgMTAw NjQ0CistLS0gYS9nZGIvZi12YWxwcmludC5jCisrKysgYi9nZGIvZi12YWxwcmludC5jCitAQCAt NDEsNyArNDEsNyBAQCBMT05HRVNUIGY3N19hcnJheV9vZmZzZXRfdGJsW01BWF9GT1JUUkFOX0RJ TVMgKyAxXVsyXTsKICAvKiBBcnJheSB3aGljaCBob2xkcyBvZmZzZXRzIHRvIGJlIGFwcGxpZWQg dG8gZ2V0IGEgcm93J3MgZWxlbWVudHMKICAgICBmb3IgYSBnaXZlbiBhcnJheS4gIEFycmF5IGFs c28gaG9sZHMgdGhlIHNpemUgb2YgZWFjaCBzdWJhcnJheS4gICovCiAgCkBAIC0xMzEsNyArMTM5 LDcgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwOTA3L2dkYi9mLXZhbHByaW50LmMKICBmNzdf Z2V0X2xvd2VyYm91bmQgKHN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIGlmIChUWVBFX0FSUkFZ X0xPV0VSX0JPVU5EX0lTX1VOREVGSU5FRCAodHlwZSkpCi1AQCAtNTIsNyArNTIsNyBAQAorQEAg LTUwLDcgKzUwLDcgQEAgZjc3X2dldF9sb3dlcmJvdW5kIChzdHJ1Y3QgdHlwZSAqdHlwZSkKICAg IHJldHVybiBUWVBFX0FSUkFZX0xPV0VSX0JPVU5EX1ZBTFVFICh0eXBlKTsKICB9CiAgCkBAIC0x NDAsMyArMTQ4LDYgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwOTA3L2dkYi9mLXZhbHByaW50 LmMKICBmNzdfZ2V0X3VwcGVyYm91bmQgKHN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIGlmIChU WVBFX0FSUkFZX1VQUEVSX0JPVU5EX0lTX1VOREVGSU5FRCAodHlwZSkpCistLSAKKzIuMTQuMwor CgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLWxhenl2YWx1ZS5wYXRjaCBiL2dk Yi1yaGJ6Nzk1NDI0LWJpdHBvcy1sYXp5dmFsdWUucGF0Y2gKaW5kZXggMGZkMDE2Mi4uZDZmNGVj NiAxMDA2NDQKLS0tIGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLWxhenl2YWx1ZS5wYXRjaAorKysg Yi9nZGItcmhiejc5NTQyNC1iaXRwb3MtbGF6eXZhbHVlLnBhdGNoCkBAIC0xLDExMCArMSwyOSBA QAorRnJvbSA1NzlmZDA5YjQyMjNkMWEzYTA1NTczZDdkMzhkZGFlZmI0YzAxYTg3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWls LmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdk Yi1yaGJ6Nzk1NDI0LWJpdHBvcy1sYXp5dmFsdWUucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1yaGJ6 Nzk1NDI0LWJpdHBvcy1sYXp5dmFsdWUucGF0Y2gKIAotSW5kZXg6IGdkYi03LjExLjUwLjIwMTYw NjMwL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5leHAKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK LSsrKyBnZGItNy4xMS41MC4yMDE2MDYzMC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xvbmdlc3Qt dHlwZXMtNjRiaXQuZXhwCTIwMTYtMDctMDMgMTU6MDA6NTcuNjE3MzQ3ODUwICswMjAwCi1AQCAt MCwwICsxLDU5IEBACi0rIyBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRl YnVnZ2VyLgotKwotKyMgQ29weXJpZ2h0IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCi0rCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rIyAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyMKLSsjIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyMgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKLSsjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKLSsjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCi0rIwotKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKLSsjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90 LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwotK3N0YW5kYXJkX3Rlc3Rm aWxlIC5jIGxvbmdlc3QtdHlwZXMtNjRiaXQuUwotKwotK3Byb2MgdGVzdCB7IG5hbWUgfSB7IHdp dGhfdGVzdF9wcmVmaXggJG5hbWUgewotKyAgICAjIDY0LWJpdCBhcnJheSBzaXplIHNob3VsZCBu b3Qgb3ZlcmZsb3cKLSsgICAgZ2RiX3Rlc3QgInByaW50ICZmLT5idWYiIHs9IFwoY2hhciBcKFwq XClcWzEwOTk0OTQ4NTA1NjBcXVwpIDB4MH0KLSsKLSsgICAgIyBUaGUgb2Zmc2V0IHNob3VsZCBu b3Qgb3ZlcmZsb3cKLSsgICAgZ2RiX3Rlc3QgInByaW50ICZmLT5idWYyIiB7PSBcKGNoYXIgXChc KlwpXFsyXF1cKSAweGZmZmYwMDAwMDB9Ci0rfX0KLSsKLSsKLSsjIFRlc3QgNjQtYml0IGZpbGUg Zmlyc3QgYXMgaXQgaXMgbm90IGNvbXBpbGVkIHNvIGl0cyBjb21waWxhdGlvbiBuZXZlciBmYWls cy4KLSsKLStzZXQgZmlsZTY0Yml0YnoydXUgJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3Rlc3RmaWxl fS5iejIudXUKLStzZXQgZmlsZTY0Yml0IFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAke3Rlc3RmaWxl fV0KLSsKLStpZiB7W2NhdGNoICJzeXN0ZW0gXCJ1dWRlY29kZSAtbyAtICR7ZmlsZTY0Yml0Ynoy dXV9IHwgYnppcDIgLWRjID4ke2ZpbGU2NGJpdH1cIiJdICE9IDB9IHsKLSsgICAgdW50ZXN0ZWQg ImZhaWxlZCB1dWRlY29kZSBvciBiemlwMiIKLSsgICAgcmV0dXJuIC0xCi0rfQotK2ZpbGUgc3Rh dCAke2ZpbGU2NGJpdH0gZmlsZTY0Yml0c3RhdAotK2lmIHskZmlsZTY0Yml0c3RhdChzaXplKSAh PSA5NTAxfSB7Ci0rICAgIHVudGVzdGVkICJ1dWRlY29kZSBvciBiemlwMiBwcm9kdWNlIGludmFs aWQgcmVzdWx0IgotKyAgICByZXR1cm4gLTEKLSt9Ci0rCi0rY2xlYW5fcmVzdGFydCAke2ZpbGU2 NGJpdH0KLSsKLSsjaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxlfS5leHAgJHt0 ZXN0ZmlsZX0gJHNyY2ZpbGUyIHtub2RlYnVnfV0gfSB7Ci0rIyAgICByZXR1cm4gLTEKLSsjfQot KwotK3Rlc3QgIjY0Yml0IgotKwotKwotKyMgQW5kIGhlcmUgaXMgdGhlIG5hdGl2ZSBidWlsZCB0 ZXN0LgotKwotK2lmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVz dGZpbGV9ICRzcmNmaWxlIHtkZWJ1ZyBxdWlldH1dIH0gewotKyAgICByZXR1cm4gLTEKLSt9Ci0r Ci0rdGVzdCAibmF0aXZlIgotSW5kZXg6IGdkYi03LjExLjUwLjIwMTYwNjMwL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5jCi09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9u dWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTEuNTAu MjAxNjA2MzAvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LmMJMjAx Ni0wNy0wMyAxNTowMDo1Ny42MTgzNDc4NTkgKzAyMDAKLUBAIC0wLDAgKzEsMjggQEAKLSsvKiBU aGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgotKwotKyAgIENv cHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl Ci0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLSsg ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0 dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLStzdHJ1Y3QgZm9vCi0rewotKyAg Y2hhciBidWZbMHhmZmZmMDAwMDAwXTsKLSsgIGNoYXIgYnVmMlsyXTsKLSt9ICpmOwotKwotK2lu dAotK21haW4gKHZvaWQpCi0rewotKyAgcmV0dXJuIDA7Ci0rfQotSW5kZXg6IGdkYi03LjExLjUw LjIwMTYwNjMwL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5TCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCi0rKysgZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sb25n ZXN0LXR5cGVzLTY0Yml0LlMJMjAxNi0wNy0wMyAxNTowMDo1Ny42MTgzNDc4NTkgKzAyMDAKKzs7 IEZpeCBgR0RCIGNhbm5vdCBhY2Nlc3Mgc3RydWN0IG1lbWJlciB3aG9zZSBvZmZzZXQgaXMgbGFy Z2VyIHRoYW4gMjU2TUInCis7OyAoUkggQlogNzk1NDI0KS4KKzs7PXB1c2gKKy0tLQorIGdkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5TICAgICAgfCAyNDkgKysrKysr KysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02 NGJpdC5iejIudXUgfCAgNjcgKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sb25nZXN0 LXR5cGVzLTY0Yml0LmMgICAgICB8ICAyOCArKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xv bmdlc3QtdHlwZXMtNjRiaXQuZXhwICAgIHwgIDU5ICsrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCA0 MDMgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuUworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuYnoyLnV1CisgY3JlYXRlIG1vZGUgMTAw NjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5jCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5l eHAKKworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02 NGJpdC5TIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LlMKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4zMzZkM2ZkYjdhCistLS0gL2Rl di9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQu UwogQEAgLTAsMCArMSwyNDkgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0 aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMzU1LDEwICsyNzQsMTEgQEAgSW5kZXg6IGdkYi03LjEx LjUwLjIwMTYwNjMwL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5T CiArCS5zdHJpbmcJImNoYXIiCiArCS5pZGVudAkiR0NDOiAoR05VKSA0LjcuMyAyMDEyMTEwOSAo cHJlcmVsZWFzZSkiCiArCS5zZWN0aW9uCS5ub3RlLkdOVS1zdGFjaywiIixAcHJvZ2JpdHMKLUlu ZGV4OiBnZGItNy4xMS41MC4yMDE2MDYzMC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xvbmdlc3Qt dHlwZXMtNjRiaXQuYnoyLnV1Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LmJ6Mi51dQkyMDE2LTA3LTAzIDE1 OjAwOjU3LjYxODM0Nzg1OSArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvbG9uZ2VzdC10eXBlcy02NGJpdC5iejIudXUgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xv bmdlc3QtdHlwZXMtNjRiaXQuYnoyLnV1CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAw MDAwMDAwMC4uNDAwN2RhMjkxNworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LmJ6Mi51dQogQEAgLTAsMCArMSw2NyBAQAogK2Jl Z2luIDc1NSBnZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LmJ6MgogK00wRUlILjMlITYyOTM2 PCdOI09IYCJHL19fX19fX19fXl9fX19fXz9fWV9fX19fXy8vXTdTUUQ1J14vXyUKQEAgLTQyNywz ICszNDcsMTA1IEBAIEluZGV4OiBnZGItNy4xMS41MC4yMDE2MDYzMC9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuYnoyLnV1CiArPzw1NSEyXjZfOEokKS1PPD5cSDBV LzZRXj5VRzAlVyklLiUiMFA+WC5eQGBgCiArYAogK2VuZAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAw MDAwMDAwMDAwLi4xMzk0YzA4YmRjCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuYworQEAgLTAsMCArMSwyOCBAQAorKy8qIFRo aXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAgQ29w eXJpZ2h0IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAgVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK KysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAg IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0 cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworK3N0cnVjdCBmb28KKyt7CisrICBj aGFyIGJ1ZlsweGZmZmYwMDAwMDBdOworKyAgY2hhciBidWYyWzJdOworK30gKmY7CisrCisraW50 CisrbWFpbiAodm9pZCkKKyt7CisrICByZXR1cm4gMDsKKyt9CitkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwMDAwLi40ODcxZGVjNzJmCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuZXhwCitAQCAtMCwwICsxLDU5IEBA CisrIyBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKwor KyMgQ29weXJpZ2h0IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK KysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKworK3N0YW5kYXJkX3Rlc3RmaWxlIC5jIGxvbmdl c3QtdHlwZXMtNjRiaXQuUworKworK3Byb2MgdGVzdCB7IG5hbWUgfSB7IHdpdGhfdGVzdF9wcmVm aXggJG5hbWUgeworKyAgICAjIDY0LWJpdCBhcnJheSBzaXplIHNob3VsZCBub3Qgb3ZlcmZsb3cK KysgICAgZ2RiX3Rlc3QgInByaW50ICZmLT5idWYiIHs9IFwoY2hhciBcKFwqXClcWzEwOTk0OTQ4 NTA1NjBcXVwpIDB4MH0KKysKKysgICAgIyBUaGUgb2Zmc2V0IHNob3VsZCBub3Qgb3ZlcmZsb3cK KysgICAgZ2RiX3Rlc3QgInByaW50ICZmLT5idWYyIiB7PSBcKGNoYXIgXChcKlwpXFsyXF1cKSAw eGZmZmYwMDAwMDB9CisrfX0KKysKKysKKysjIFRlc3QgNjQtYml0IGZpbGUgZmlyc3QgYXMgaXQg aXMgbm90IGNvbXBpbGVkIHNvIGl0cyBjb21waWxhdGlvbiBuZXZlciBmYWlscy4KKysKKytzZXQg ZmlsZTY0Yml0YnoydXUgJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3Rlc3RmaWxlfS5iejIudXUKKytz ZXQgZmlsZTY0Yml0IFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAke3Rlc3RmaWxlfV0KKysKKytpZiB7 W2NhdGNoICJzeXN0ZW0gXCJ1dWRlY29kZSAtbyAtICR7ZmlsZTY0Yml0YnoydXV9IHwgYnppcDIg LWRjID4ke2ZpbGU2NGJpdH1cIiJdICE9IDB9IHsKKysgICAgdW50ZXN0ZWQgImZhaWxlZCB1dWRl Y29kZSBvciBiemlwMiIKKysgICAgcmV0dXJuIC0xCisrfQorK2ZpbGUgc3RhdCAke2ZpbGU2NGJp dH0gZmlsZTY0Yml0c3RhdAorK2lmIHskZmlsZTY0Yml0c3RhdChzaXplKSAhPSA5NTAxfSB7Cisr ICAgIHVudGVzdGVkICJ1dWRlY29kZSBvciBiemlwMiBwcm9kdWNlIGludmFsaWQgcmVzdWx0Igor KyAgICByZXR1cm4gLTEKKyt9CisrCisrY2xlYW5fcmVzdGFydCAke2ZpbGU2NGJpdH0KKysKKysj aWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxlfS5leHAgJHt0ZXN0ZmlsZX0gJHNy Y2ZpbGUyIHtub2RlYnVnfV0gfSB7CisrIyAgICByZXR1cm4gLTEKKysjfQorKworK3Rlc3QgIjY0 Yml0IgorKworKworKyMgQW5kIGhlcmUgaXMgdGhlIG5hdGl2ZSBidWlsZCB0ZXN0LgorKworK2lm IHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVzdGZpbGV9ICRzcmNm aWxlIHtkZWJ1ZyBxdWlldH1dIH0geworKyAgICByZXR1cm4gLTEKKyt9CisrCisrdGVzdCAibmF0 aXZlIgorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6OTQ3NTY0LWZpbmR2YXIt YXNzZXJ0aW9uLWZyYW1lLWZhaWxlZC10ZXN0Y2FzZS5wYXRjaCBiL2dkYi1yaGJ6OTQ3NTY0LWZp bmR2YXItYXNzZXJ0aW9uLWZyYW1lLWZhaWxlZC10ZXN0Y2FzZS5wYXRjaAppbmRleCBiZWEzN2Mz Li5kNjBjZTFhIDEwMDY0NAotLS0gYS9nZGItcmhiejk0NzU2NC1maW5kdmFyLWFzc2VydGlvbi1m cmFtZS1mYWlsZWQtdGVzdGNhc2UucGF0Y2gKKysrIGIvZ2RiLXJoYno5NDc1NjQtZmluZHZhci1h c3NlcnRpb24tZnJhbWUtZmFpbGVkLXRlc3RjYXNlLnBhdGNoCkBAIC0xLDEzICsxLDI1IEBACitG cm9tIGQzMTQwMzE5MTRlM2ViMDljYmQ5ODMzZTNiNGY0MmYzZTQyOGJjOTIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29t PgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLXJo Yno5NDc1NjQtZmluZHZhci1hc3NlcnRpb24tZnJhbWUtZmFpbGVkLXRlc3RjYXNlLnBhdGNoCiAK IEZpbGVOYW1lOiBnZGItcmhiejk0NzU2NC1maW5kdmFyLWFzc2VydGlvbi1mcmFtZS1mYWlsZWQt dGVzdGNhc2UucGF0Y2gKIAotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3Vp dGUvZ2RiLnRocmVhZHMvdGxzLXJoYno5NDc1NjQuY2MKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251 bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4y MDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1yaGJ6OTQ3NTY0LmNjCTIwMTYt MDItMTUgMjM6Mzk6MjEuNzkxNDU4OTI3ICswMTAwCis7OyBJbXBvcnQgcmVncmVzc2lvbiB0ZXN0 IGZvciBgZ2RiL2ZpbmR2YXIuYzo0MTc6IGludGVybmFsLWVycm9yOgorOzsgcmVhZF92YXJfdmFs dWU6IEFzc2VydGlvbiBgZnJhbWUnIGZhaWxlZC4nIChSSCBCWiA5NDc1NjQpIGZyb20gUkhFTCA2 LjUuCis7Oz1mZWRvcmF0ZXN0CistLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1y aGJ6OTQ3NTY0LmNjICB8IDUzICsrKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy90bHMtcmhiejk0NzU2NC5leHAgfCA3NSArKysrKysrKysrKysrKysrKysrKysr KysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAxMjggaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1yaGJ6OTQ3NTY0LmNjCisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLXJoYno5NDc1NjQu ZXhwCisKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1yaGJ6OTQ3 NTY0LmNjIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtcmhiejk0NzU2NC5jYworbmV3 IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmVmYjI1YWI5MjYKKy0tLSAvZGV2 L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLXJoYno5NDc1NjQuY2MK IEBAIC0wLDAgKzEsNTMgQEAKICsjaW5jbHVkZSA8aW9zdHJlYW0+CiArI2luY2x1ZGUgPHB0aHJl YWQuaD4KQEAgLTYyLDEwICs3NCwxMSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2Ri L3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtcmhiejk0NzU2NC5jYwogKwogKyAgcmV0dXJuIDA7 CiArfQotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVh ZHMvdGxzLXJoYno5NDc1NjQuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2Ri L3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtcmhiejk0NzU2NC5leHAJMjAxNi0wMi0xNSAyMzoz OTozMC4wMjk1MTc0MTggKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJl YWRzL3Rscy1yaGJ6OTQ3NTY0LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLXJo Yno5NDc1NjQuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uZTgx MTJlOTY1ZAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90 bHMtcmhiejk0NzU2NC5leHAKIEBAIC0wLDAgKzEsNzUgQEAKICsjIENvcHlyaWdodCAoQykgMjAx MyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTE0MiwzICsxNTUsNiBAQCBJ bmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMt cmhiejk0NzU2NC5leHAKICt9IGVsc2UgewogKyAgICBmYWlsICJkaWZmZXJlbnQgdmFsdWVzIGZv ciBUTFMgdmFyaWFibGUiCiArfQorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1yaGVs NS45LXRlc3RjYXNlLXhsZi12YXItaW5zaWRlLW1vZC5wYXRjaCBiL2dkYi1yaGVsNS45LXRlc3Rj YXNlLXhsZi12YXItaW5zaWRlLW1vZC5wYXRjaAppbmRleCBiZTY0MGU5Li42NDYzYzFmIDEwMDY0 NAotLS0gYS9nZGItcmhlbDUuOS10ZXN0Y2FzZS14bGYtdmFyLWluc2lkZS1tb2QucGF0Y2gKKysr IGIvZ2RiLXJoZWw1LjktdGVzdGNhc2UteGxmLXZhci1pbnNpZGUtbW9kLnBhdGNoCkBAIC0xLDE0 ICsxLDI2IEBACitGcm9tIDk5OGFhZGUzN2U3ZThmZmFmNjA1MDNlMmZhMWI0NTczYTFkNDY5NTMg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFs aWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3Vi amVjdDogZ2RiLXJoZWw1LjktdGVzdGNhc2UteGxmLXZhci1pbnNpZGUtbW9kLnBhdGNoCiAKIEZp bGVOYW1lOiBnZGItcmhlbDUuOS10ZXN0Y2FzZS14bGYtdmFyLWluc2lkZS1tb2QucGF0Y2gKIAor OzsgSW5jbHVkZSB0ZXN0Y2FzZSBmb3IgYFVuYWJsZSB0byBzZWUgYSB2YXJpYWJsZSBpbnNpZGUg YSBtb2R1bGUgKFhMRiknIChCWiA4MjM3ODkpLgorOzs9ZmVkb3JhdGVzdAorLS0tCisgZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi94bGYtdmFyaWFibGUuUyAgIHwgNjM4ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi94bGYtdmFyaWFibGUu ZXhwIHwgIDM3ICsrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi94bGYtdmFyaWFibGUuZiAg IHwgIDMzICsrCisgMyBmaWxlcyBjaGFuZ2VkLCA3MDggaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBt b2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3hsZi12YXJpYWJsZS5TCisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4veGxmLXZhcmlhYmxlLmV4 cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3hsZi12YXJp YWJsZS5mCiAKLUluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4veGxmLXZhcmlhYmxlLlMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3hsZi12YXJpYWJsZS5TIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi94bGYtdmFyaWFibGUuUworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAu LmU4MjZjODQ0YzcKIC0tLSAvZGV2L251bGwKLSsrKyBnZGItNy40LjUwLjIwMTIwNjAzL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4veGxmLXZhcmlhYmxlLlMKKysrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4veGxmLXZhcmlhYmxlLlMKIEBAIC0wLDAgKzEsNjM4IEBACiArLyogQ29weXJp Z2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtNjQ4LDEw ICs2NjAsMTEgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi94bGYtdmFyaWFibGUuUwogKwkubG9uZyAweDAwMDAwMDAwCiArCiArCS5jb21tICAg X19OX19tb2QxLDQsMTYKLUluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAzL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4veGxmLXZhcmlhYmxlLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4veGxmLXZhcmlhYmxlLmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4veGxmLXZhcmlhYmxlLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAwMDAuLjA4NWRhMTI1NjcKIC0tLSAvZGV2L251bGwKLSsrKyBnZGItNy40LjUwLjIw MTIwNjAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4veGxmLXZhcmlhYmxlLmV4cAorKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi94bGYtdmFyaWFibGUuZXhwCiBAQCAtMCwwICsxLDM3 IEBACiArIyBDb3B5cmlnaHQgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsK QEAgLTY5MCwxMCArNzAzLDExIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAzL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4veGxmLXZhcmlhYmxlLmV4cAogK2dkYl90ZXN0ICJzdGVwIiAiLipu dWxsaWZ5IFxcKHlcXCkuKiIgIm51bGxpZnkgKHkpIgogK2dkYl90ZXN0ICJwcmludCB6IiAiPSAz IiAieiA9IDMiCiArZ2RiX3Rlc3QgInB0eXBlIHoiICI9IFJFQUwiICJ6IGlzIFJFQUwiCi1JbmRl eDogZ2RiLTcuNC41MC4yMDEyMDYwMy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3hsZi12YXJp YWJsZS5mCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi94bGYtdmFyaWFibGUuZiBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4veGxmLXZhcmlhYmxl LmYKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4wYjQ1OGY4YjBjCiAt LS0gL2Rldi9udWxsCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMy9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3hsZi12YXJpYWJsZS5mCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3hs Zi12YXJpYWJsZS5mCiBAQCAtMCwwICsxLDMzIEBACiArYyBDb3B5cmlnaHQgMjAxMiBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICtjCkBAIC03MjgsMyArNzQyLDYgQEAgSW5kZXg6IGdk Yi03LjQuNTAuMjAxMjA2MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi94bGYtdmFyaWFibGUu ZgogKyAgICAgICAgdXNlIG1vZDEKICsgICAgICAgIGNhbGwgc3ViMQogKyAgICAgICAgZW5kCist LSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLXJ1bnRlc3QtcGllLW92ZXJyaWRlLnBhdGNo IGIvZ2RiLXJ1bnRlc3QtcGllLW92ZXJyaWRlLnBhdGNoCmluZGV4IDFiZGE1YmIuLmJlZDVkNjkg MTAwNjQ0Ci0tLSBhL2dkYi1ydW50ZXN0LXBpZS1vdmVycmlkZS5wYXRjaAorKysgYi9nZGItcnVu dGVzdC1waWUtb3ZlcnJpZGUucGF0Y2gKQEAgLTEsOSArMSwxMiBAQAorRnJvbSA3NjUyOGRhYjZm Njk3MWYzNzUzNzI3YjJmY2E3YjllZDgzMjU4ODllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQog RnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwg MjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1ydW50ZXN0LXBpZS1vdmVy cmlkZS5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLXJ1bnRlc3QtcGllLW92ZXJyaWRlLnBhdGNoCiAK Kzs7IEhhY2sgZm9yIHByb3BlciBQSUUgcnVuIG9mIHRoZSB0ZXN0c3VpdGUuCis7Oz1mZWRvcmF0 ZXN0CiAKIG1ha2UgY2hlY2svL3VuaXgvLWZQSUUvLXBpZSBSVU5URVNURkxBR1M9c29saWItZGlz cGxheS5leHAKIApAQCAtMjAsMTAgKzIzLDE1IEBAIG1ha2UgY2hlY2svL3VuaXggUlVOVEVTVEZM QUdTPSdDQ19GT1JfVEFSR0VUPWdjY1wgLWZQSUNcIC1waWUgQ1hYX0ZPUl9UQVJHRVQ9ZysrCiAK IEJ1dCB0aGVyZSBpcyBhIHByb2JsZW0gd2l0aCB0ZXN0c3VpdGUudW5peCBub24tdW5pcXVlIHN1 YmRpciBuYW1lIGFuZCBhbHNvCiBhIHByb2JsZW0gd2l0aCBtYWtlIC1qIHBhcmFsbGVsaXphdGlv biBvZiB0aGUgdGVzdHN1aXRlLgotCi0tLS0gZ2RiLTcuMy41MC4yMDExMDcyMi9nZGIvdGVzdHN1 aXRlL2xpYi9mdXR1cmUuZXhwCTIwMTEtMTAtMTEgMTY6NDQ6MDUuMDAwMDAwMDAwICswMjAwCi0r KysgZ2RiLTcuMy41MC4yMDExMDcyMi9nZGIvdGVzdHN1aXRlL2xpYi9mdXR1cmUuZXhwCTIwMTEt MTAtMTEgMTY6NDQ6MTAuMDAwMDAwMDAwICswMjAwCi1AQCAtNzcsNiArNzcsMTAgQEAgcHJvYyBn ZGJfZGVmYXVsdF90YXJnZXRfY29tcGlsZSB7c291cmNlCistLS0KKyBnZGIvdGVzdHN1aXRlL2xp Yi9mdXR1cmUuZXhwIHwgOCArKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9mdXR1 cmUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZnV0dXJlLmV4cAoraW5kZXggYWVkMmNmZDQ3Ni4u MjQwZDIyNTNlYyAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvbGliL2Z1dHVyZS5leHAKKysr KyBiL2dkYi90ZXN0c3VpdGUvbGliL2Z1dHVyZS5leHAKK0BAIC0xODUsNiArMTg1LDEwIEBAIHBy b2MgZ2RiX2RlZmF1bHRfdGFyZ2V0X2NvbXBpbGUge3NvdXJjZSBkZXN0ZmlsZSB0eXBlIG9wdGlv bnN9IHsKICAgICAgc2V0IGxkZmxhZ3MgIiIKICAgICAgc2V0IGRlc3QgW3RhcmdldF9pbmZvIG5h bWVdCiAgCkBAIC0zNCw3ICs0Miw3IEBAIGEgcHJvYmxlbSB3aXRoIG1ha2UgLWogcGFyYWxsZWxp emF0aW9uIG9mIHRoZSB0ZXN0c3VpdGUuCiAgICAgIGlmIHtbaW5mbyBleGlzdHMgQ0ZMQUdTX0ZP Ul9UQVJHRVRdfSB7CiAgCWFwcGVuZCBhZGRfZmxhZ3MgIiAkQ0ZMQUdTX0ZPUl9UQVJHRVQiCiAg ICAgIH0KLUBAIC0zMzMsMTAgKzMzNyw2IEBAIHByb2MgZ2RiX2RlZmF1bHRfdGFyZ2V0X2NvbXBp bGUge3NvdXJjZQorQEAgLTUxOSwxMCArNTIzLDYgQEAgcHJvYyBnZGJfZGVmYXVsdF90YXJnZXRf Y29tcGlsZSB7c291cmNlIGRlc3RmaWxlIHR5cGUgb3B0aW9uc30gewogIAl9CiAgICAgIH0KICAK QEAgLTQ1LDMgKzUzLDYgQEAgYSBwcm9ibGVtIHdpdGggbWFrZSAtaiBwYXJhbGxlbGl6YXRpb24g b2YgdGhlIHRlc3RzdWl0ZS4KICAgICAgdmVyYm9zZSAiZG9pbmcgY29tcGlsZSIKICAKICAgICAg c2V0IHNvdXJjZXMgIiIKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItc2ltdWx0YW5l b3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQtdGVzdC5wYXRjaCBiL2dkYi1zaW11bHRhbmVvdXMt c3RlcC1yZXN1bWUtYnJlYWtwb2ludC10ZXN0LnBhdGNoCmluZGV4IDIwNTI1MWIuLjFmNWRhZmQg MTAwNjQ0Ci0tLSBhL2dkYi1zaW11bHRhbmVvdXMtc3RlcC1yZXN1bWUtYnJlYWtwb2ludC10ZXN0 LnBhdGNoCisrKyBiL2dkYi1zaW11bHRhbmVvdXMtc3RlcC1yZXN1bWUtYnJlYWtwb2ludC10ZXN0 LnBhdGNoCkBAIC0xLDg0ICsxLDI0IEBACitGcm9tIDkxYzI1MjE0NGYzYTQyNTZhYWFkNzQ3MzJi YjZmYTAxYWE2NGU2NDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RC IHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTow Nzo1MCArMDIwMAogU3ViamVjdDogZ2RiLXNpbXVsdGFuZW91cy1zdGVwLXJlc3VtZS1icmVha3Bv aW50LXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1zaW11bHRhbmVvdXMtc3RlcC1yZXN1bWUt YnJlYWtwb2ludC10ZXN0LnBhdGNoCiAKKzs7IE5ldyB0ZXN0IGZvciBzdGVwLXJlc3VtZSBicmVh a3BvaW50IHBsYWNlZCBpbiBtdWx0aXBsZSB0aHJlYWRzIGF0IG9uY2UuCis7Oz1mZWRvcmF0ZXN0 CistLS0KKyAuLi4vc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQuYyAgICAgICAg ICB8IDc5ICsrKysrKysrKysrKysrKysrKysrKysKKyAuLi4vc2ltdWx0YW5lb3VzLXN0ZXAtcmVz dW1lLWJyZWFrcG9pbnQuZXhwICAgICAgICB8IDY1ICsrKysrKysrKysrKysrKysrKworIDIgZmls ZXMgY2hhbmdlZCwgMTQ0IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rl c3RzdWl0ZS9nZGIudGhyZWFkcy9zaW11bHRhbmVvdXMtc3RlcC1yZXN1bWUtYnJlYWtwb2ludC5j CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc2ltdWx0YW5l b3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQuZXhwCiAKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2 MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3NpbXVsdGFuZW91cy1zdGVwLXJlc3VtZS1i cmVha3BvaW50LmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAw OjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3Vp dGUvZ2RiLnRocmVhZHMvc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQuZXhwCTIw MTYtMDItMTUgMjM6Mzg6MjMuMzY2MDQ0MTAxICswMTAwCi1AQCAtMCwwICsxLDY1IEBACi0rIyBD b3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0rIyBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rIyAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyMKLSsjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyMgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsjIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK LSsjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rIwotKyMg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UKLSsjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLSsjIFRlc3QgbXVsdGlwbGUgdGhyZWFk cyBzdGVwcGluZyBpbnRvIGEgLmRlYnVnX2xpbmUtbGVzcyBmdW5jdGlvbiB3aXRoCi0rIyBhIGJy ZWFrcG9pbnQgcGxhY2VkIG9uIGl0cyByZXR1cm4tdG8tY2FsbGVyIHBvaW50LgotKwotK3NldCB0 ZXN0ZmlsZSBzaW11bHRhbmVvdXMtc3RlcC1yZXN1bWUtYnJlYWtwb2ludAotK3NldCBzcmNmaWxl ICR7dGVzdGZpbGV9LmMKLStzZXQgYmluZmlsZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJHt0ZXN0 ZmlsZX1dCi0rCi0raWYge1tnZGJfY29tcGlsZV9wdGhyZWFkcyAiJHtzcmNkaXJ9LyR7c3ViZGly fS8ke3NyY2ZpbGV9IiAiJHtiaW5maWxlfSIgZXhlY3V0YWJsZSB7ZGVidWd9XSAhPSAiIiB9IHsK LSsgICAgcmV0dXJuIC0xCi0rfQotKwotK2dkYl9leGl0Ci0rZ2RiX3N0YXJ0Ci0rZ2RiX3JlaW5p dGlhbGl6ZV9kaXIgJHNyY2Rpci8kc3ViZGlyCi0rCi0rIyBFbnN1cmUgd2UgaGF2ZSBubyBkZWJ1 Z2luZm8gZm9yIHRoZSBgc2xlZXAnIGNhbGwgaXRzZWxmICg9Zm9yIGxpYmMpLgotK2dkYl90ZXN0 ICJzZXQgZGVidWctZmlsZS1kaXJlY3RvcnkgL0RvZXNOb3RFeGlzdCIKLSsKLStnZGJfbG9hZCAk e2JpbmZpbGV9Ci0raWYgIVtydW50b19tYWluXSB7Ci0rICAgcmV0dXJuIC0xCi0rfQotKwotKyMg UmVkIEhhdCB2ZW5kb3IgcGF0Y2ggZG9lcyBzZXQgaXQgdG8gInN0ZXAiIGJ5IGRlZmF1bHQuCi0r Z2RiX3Rlc3QgInNldCBzY2hlZHVsZXItbG9ja2luZyBvZmYiCi0rCi0rZ2RiX2JyZWFrcG9pbnQg W2dkYl9nZXRfbGluZV9udW1iZXIgImZpbmFsLWV4aXQiXQotKwotK2dkYl9icmVha3BvaW50IFtn ZGJfZ2V0X2xpbmVfbnVtYmVyICJzbGVlcC1jYWxsIl0KLStnZGJfY29udGludWVfdG9fYnJlYWtw b2ludCAic2xlZXAtY2FsbCIKLSsKLStnZGJfdGVzdCAic3RlcCIgInNsZWVwLWNhbGwuKiIgInN0 ZXAgdGhyZWFkIDEiCi0rZ2RiX3Rlc3QgInN0ZXAiICJzbGVlcC1jYWxsLioiICJzdGVwIHRocmVh ZCAyIgotK2dkYl90ZXN0ICJzdGVwIiAic2xlZXAtYWZ0ZXIuKiIgInN0ZXAgdGhyZWFkIDMiCi0r Ci0rc2V0IHRlc3QgImZpcnN0IGNvbnRpbnVlIgotK2dkYl90ZXN0X211bHRpcGxlICJjb250aW51 ZSIgJHRlc3QgewotKyAgICAtcmUgImZpbmFsLWV4aXQuKiRnZGJfcHJvbXB0ICQiIHsKLSsJIyBn ZGItNy4wLgotKwlwYXNzICR0ZXN0Ci0rCXJldHVybgotKyAgICB9Ci0rICAgIC1yZSAic2xlZXAt YWZ0ZXIuKiRnZGJfcHJvbXB0ICQiIHsKLSsJIyBGZWRvcmEvUkhFTCBicmFuY2guCi0rCXBhc3Mg JHRlc3QKLSsgICAgfQotK30KLSsKLStnZGJfdGVzdCAiY29udGludWUiICJzbGVlcC1hZnRlci4q IiAic2Vjb25kIGNvbnRpbnVlIgotK2dkYl90ZXN0ICJjb250aW51ZSIgImZpbmFsLWV4aXQuKiIg InRoaXJkIGNvbnRpbnVlIgotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3Vp dGUvZ2RiLnRocmVhZHMvc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQuYwotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc2lt dWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQuYwkyMDE2LTAyLTE1IDIzOjM4OjE4LjI1 NzAwNzgyNiArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc2lt dWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQuYworbmV3IGZpbGUgbW9k ZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjFmMzJiYmY4ODkKKy0tLSAvZGV2L251bGwKKysr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJy ZWFrcG9pbnQuYwogQEAgLTAsMCArMSw3OSBAQAogKy8qIENvcHlyaWdodCAyMDA5IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTU5LDMgKzk5LDc3IEBAIEluZGV4OiBnZGIt Ny4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3NpbXVsdGFuZW91cy1z dGVwLXJlc3VtZS1iCiArCiArICByZXR1cm4gMDsJLyogZmluYWwtZXhpdCAqLwogK30KK2RpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3NpbXVsdGFuZW91cy1zdGVwLXJlc3Vt ZS1icmVha3BvaW50LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc2ltdWx0YW5lb3Vz LXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMDAwMC4uYWM1MTExYzVjZQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIudGhyZWFkcy9zaW11bHRhbmVvdXMtc3RlcC1yZXN1bWUtYnJlYWtwb2ludC5leHAKK0BA IC0wLDAgKzEsNjUgQEAKKysjIENvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KKysKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws CisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0u ICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworKyMg VGVzdCBtdWx0aXBsZSB0aHJlYWRzIHN0ZXBwaW5nIGludG8gYSAuZGVidWdfbGluZS1sZXNzIGZ1 bmN0aW9uIHdpdGgKKysjIGEgYnJlYWtwb2ludCBwbGFjZWQgb24gaXRzIHJldHVybi10by1jYWxs ZXIgcG9pbnQuCisrCisrc2V0IHRlc3RmaWxlIHNpbXVsdGFuZW91cy1zdGVwLXJlc3VtZS1icmVh a3BvaW50Cisrc2V0IHNyY2ZpbGUgJHt0ZXN0ZmlsZX0uYworK3NldCBiaW5maWxlIFtzdGFuZGFy ZF9vdXRwdXRfZmlsZSAke3Rlc3RmaWxlfV0KKysKKytpZiB7W2dkYl9jb21waWxlX3B0aHJlYWRz ICIke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7c3JjZmlsZX0iICIke2JpbmZpbGV9IiBleGVjdXRhYmxl IHtkZWJ1Z31dICE9ICIiIH0geworKyAgICByZXR1cm4gLTEKKyt9CisrCisrZ2RiX2V4aXQKKytn ZGJfc3RhcnQKKytnZGJfcmVpbml0aWFsaXplX2RpciAkc3JjZGlyLyRzdWJkaXIKKysKKysjIEVu c3VyZSB3ZSBoYXZlIG5vIGRlYnVnaW5mbyBmb3IgdGhlIGBzbGVlcCcgY2FsbCBpdHNlbGYgKD1m b3IgbGliYykuCisrZ2RiX3Rlc3QgInNldCBkZWJ1Zy1maWxlLWRpcmVjdG9yeSAvRG9lc05vdEV4 aXN0IgorKworK2dkYl9sb2FkICR7YmluZmlsZX0KKytpZiAhW3J1bnRvX21haW5dIHsKKysgICBy ZXR1cm4gLTEKKyt9CisrCisrIyBSZWQgSGF0IHZlbmRvciBwYXRjaCBkb2VzIHNldCBpdCB0byAi c3RlcCIgYnkgZGVmYXVsdC4KKytnZGJfdGVzdCAic2V0IHNjaGVkdWxlci1sb2NraW5nIG9mZiIK KysKKytnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5lX251bWJlciAiZmluYWwtZXhpdCJdCisr CisrZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInNsZWVwLWNhbGwiXQorK2dk Yl9jb250aW51ZV90b19icmVha3BvaW50ICJzbGVlcC1jYWxsIgorKworK2dkYl90ZXN0ICJzdGVw IiAic2xlZXAtY2FsbC4qIiAic3RlcCB0aHJlYWQgMSIKKytnZGJfdGVzdCAic3RlcCIgInNsZWVw LWNhbGwuKiIgInN0ZXAgdGhyZWFkIDIiCisrZ2RiX3Rlc3QgInN0ZXAiICJzbGVlcC1hZnRlci4q IiAic3RlcCB0aHJlYWQgMyIKKysKKytzZXQgdGVzdCAiZmlyc3QgY29udGludWUiCisrZ2RiX3Rl c3RfbXVsdGlwbGUgImNvbnRpbnVlIiAkdGVzdCB7CisrICAgIC1yZSAiZmluYWwtZXhpdC4qJGdk Yl9wcm9tcHQgJCIgeworKwkjIGdkYi03LjAuCisrCXBhc3MgJHRlc3QKKysJcmV0dXJuCisrICAg IH0KKysgICAgLXJlICJzbGVlcC1hZnRlci4qJGdkYl9wcm9tcHQgJCIgeworKwkjIEZlZG9yYS9S SEVMIGJyYW5jaC4KKysJcGFzcyAkdGVzdAorKyAgICB9CisrfQorKworK2dkYl90ZXN0ICJjb250 aW51ZSIgInNsZWVwLWFmdGVyLioiICJzZWNvbmQgY29udGludWUiCisrZ2RiX3Rlc3QgImNvbnRp bnVlIiAiZmluYWwtZXhpdC4qIiAidGhpcmQgY29udGludWUiCistLSAKKzIuMTQuMworCgpkaWZm IC0tZ2l0IGEvZ2RiLXN0YWxlLWZyYW1lX2luZm8ucGF0Y2ggYi9nZGItc3RhbGUtZnJhbWVfaW5m by5wYXRjaAppbmRleCAzOTIxYmZmLi5hYjEzZWJjIDEwMDY0NAotLS0gYS9nZGItc3RhbGUtZnJh bWVfaW5mby5wYXRjaAorKysgYi9nZGItc3RhbGUtZnJhbWVfaW5mby5wYXRjaApAQCAtMSwxMyAr MSwxNSBAQAorRnJvbSA3OGVkNzg1ODQ4NzZjMWM3ZTJhYWRhMmY5NjE0ZmFiYjM0NTk3MzI1IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlk QGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1Ympl Y3Q6IFtkb3duc3RyZWFtIHBhdGNoIEZZSV0gd29ya2Fyb3VuZCBzdGFsZSBmcmFtZV9pbmZvICog KFBSIDEzODY2KQorU3ViamVjdDogd29ya2Fyb3VuZCBzdGFsZSBmcmFtZV9pbmZvICogKFBSIDEz ODY2KQogCiBGaWxlTmFtZTogZ2RiLXN0YWxlLWZyYW1lX2luZm8ucGF0Y2gKIAorOzsgV29ya2Fy b3VuZCBjcmFzaGVzIGZyb20gc3RhbGUgZnJhbWVfaW5mbyBwb2ludGVyIChCWiA4MDQyNTYpLgor Ozs9cHVzaCtqYW4KIAogaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTIt MDQvbXNnMDAwNTguaHRtbAogCi0KIEhpLAogCiBJIGRpZCBub3QgbG9vayBhdCB3aGljaCBjb21t aXQgY2F1c2VkIHRoaXMgcmVncmVzc2lvbiBidXQgYXBwYXJlbnRseSBpdCB3YXMKQEAgLTI4LDM5 ICszMCw0MSBAQCB0ZXN0c3VpdGUgdW5kZXIgdmFsZ3JpbmQgSSBkaWQgbm90IGZpbmQgZmVhc2li bGUuCiAKIE5vIHJlZ3Jlc3Npb25zIG9uIHt4ODZfNjQseDg2XzY0LW0zMixpNjg2fS1mZWRvcmEx Ny1saW51eC1nbnUuCiAKLQogVGhhbmtzLAogSmFuCiAKLQogZ2RiLwogMjAxMi0wNC0wNCAgSmFu IEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgogCiAJV29ya2Fyb3VuZCBQ UiBiYWNrdHJhY2UvMTM4NjYuCiAJKiBwcm9nc3BhY2UuYyAoc3dpdGNoX3RvX3Byb2dyYW1fc3Bh Y2VfYW5kX3RocmVhZCk6IFRyeSBub3QgdG8gY2FsbAogCXN3aXRjaF90b190aHJlYWQuCi0KLS0t LSBhL2dkYi9wcm9nc3BhY2UuYwotKysrIGIvZ2RiL3Byb2dzcGFjZS5jCi1AQCAtNDgxLDE3ICs0 ODEsMjggQEAgc2F2ZV9jdXJyZW50X3NwYWNlX2FuZF90aHJlYWQgKHZvaWQpCistLS0KKyBnZGIv cHJvZ3NwYWNlLWFuZC10aHJlYWQuYyB8IDE4ICsrKysrKysrKysrKysrKystLQorIDEgZmlsZSBj aGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEv Z2RiL3Byb2dzcGFjZS1hbmQtdGhyZWFkLmMgYi9nZGIvcHJvZ3NwYWNlLWFuZC10aHJlYWQuYwor aW5kZXggYTQ4ZmFhMGY5Ni4uODQ0NmJmYTMzNiAxMDA2NDQKKy0tLSBhL2dkYi9wcm9nc3BhY2Ut YW5kLXRocmVhZC5jCisrKysgYi9nZGIvcHJvZ3NwYWNlLWFuZC10aHJlYWQuYworQEAgLTIzLDE1 ICsyMywyOSBAQAogIHZvaWQKLSBzd2l0Y2hfdG9fcHJvZ3JhbV9zcGFjZV9hbmRfdGhyZWFkIChz dHJ1Y3QgcHJvZ3JhbV9zcGFjZSAqcHNwYWNlKQorIHN3aXRjaF90b19wcm9ncmFtX3NwYWNlX2Fu ZF90aHJlYWQgKHByb2dyYW1fc3BhY2UgKnBzcGFjZSkKICB7Ci0tICBzdHJ1Y3QgaW5mZXJpb3Ig KmluZjsKLSsgIHN0cnVjdCBpbmZlcmlvciAqaW5mID0gY3VycmVudF9pbmZlcmlvciAoKTsKLSAK LS0gIGluZiA9IGZpbmRfaW5mZXJpb3JfZm9yX3Byb2dyYW1fc3BhY2UgKHBzcGFjZSk7CistICBp bmZlcmlvciAqaW5mID0gZmluZF9pbmZlcmlvcl9mb3JfcHJvZ3JhbV9zcGFjZSAocHNwYWNlKTsK KysgIGluZmVyaW9yICppbmYgPSBjdXJyZW50X2luZmVyaW9yICgpOworKwogKyAgaWYgKGluZi0+ cHNwYWNlICE9IHBzcGFjZSkKICsgICAgaW5mID0gZmluZF9pbmZlcmlvcl9mb3JfcHJvZ3JhbV9z cGFjZSAocHNwYWNlKTsKKyAKICAgIGlmIChpbmYgIT0gTlVMTCAmJiBpbmYtPnBpZCAhPSAwKQog ICAgICB7Ci0tICAgICAgc3RydWN0IHRocmVhZF9pbmZvICp0cDsKLSsgICAgICBzdHJ1Y3QgdGhy ZWFkX2luZm8gKnRwLCAqY3VycmVudF90cCA9IE5VTEw7CisgICAgICAgdGhyZWFkX2luZm8gKnRw ID0gYW55X2xpdmVfdGhyZWFkX29mX3Byb2Nlc3MgKGluZi0+cGlkKTsKKysgICAgICB0aHJlYWRf aW5mbyAqY3VycmVudF90cCA9IE5VTEw7CiArCiArICAgICAgaWYgKHB0aWRfZ2V0X3BpZCAoaW5m ZXJpb3JfcHRpZCkgPT0gaW5mLT5waWQpCiArCWN1cnJlbnRfdHAgPSBmaW5kX3RocmVhZF9wdGlk IChpbmZlcmlvcl9wdGlkKTsKICAKLSAgICAgICB0cCA9IGFueV9saXZlX3RocmVhZF9vZl9wcm9j ZXNzIChpbmYtPnBpZCk7CiAgICAgICAgaWYgKHRwICE9IE5VTEwpCiAgCXsKIC0JICBzd2l0Y2hf dG9fdGhyZWFkICh0cC0+cHRpZCk7CkBAIC03NSwxMDcgKzc5LDYgQEAgZ2RiLwogIAkgIC8qIFN3 aXRjaGluZyB0aHJlYWQgc3dpdGNoZXMgcHNwYWNlIGltcGxpY2l0bHkuICBXZSdyZQogIAkgICAg IGRvbmUuICAqLwogIAkgIHJldHVybjsKKy0tIAorMi4xNC4zCiAKLQotUmVwcm9kdWNlciB3aXRo OgotLi9nZGIgLW54IH4vdC90aHJlYWQgLWV4ICdiIDI0JyAtZXggciAtZXggJ3VudGlsIDI1Jwot QnJlYWtwb2ludCAxLCBtYWluICgpIGF0IC9ob21lL2prcmF0b2NoL3QvdGhyZWFkLmM6MjQKLTI0 CSAgdisrOwotU2VnbWVudGF0aW9uIGZhdWx0IChjb3JlIGR1bXBlZCkKLQotI2luY2x1ZGUgPHB0 aHJlYWQuaD4KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDx1bmlzdGQuaD4KLQotc3Rh dGljIGludCB2OwotCi1zdGF0aWMgdm9pZCAqc3RhcnQgKHZvaWQgKmFyZykKLXsKLSAgdisrOwot ICB2Kys7Ci0gIHYrKzsKLSAgdisrOwotICBzbGVlcCAoMTAwKTsKLSAgcmV0dXJuIGFyZzsKLX0K LQotaW50IG1haW4gKHZvaWQpCi17Ci0gIHB0aHJlYWRfdCB0aHJlYWQxOwotICBpbnQgaTsKLQot ICBpID0gcHRocmVhZF9jcmVhdGUgKCZ0aHJlYWQxLCBOVUxMLCBzdGFydCwgTlVMTCk7Ci0gIGFz c2VydCAoaSA9PSAwKTsKLSAgdisrOwotICB2Kys7Ci0gIHYrKzsKLSAgdisrOwotICBpID0gcHRo cmVhZF9qb2luICh0aHJlYWQxLCBOVUxMKTsKLSAgYXNzZXJ0IChpID09IDApOwotCi0gIHJldHVy biAwOwotfQotIyMjIC0tLSBhL2dkYi9mcmFtZS5jCi0jIyMgKysrIGIvZ2RiL2ZyYW1lLmMKLSMj IyBAQCAtMTUyMiwxMiArMTUyMiwzMCBAQCBmcmFtZV9vYnNlcnZlcl90YXJnZXRfY2hhbmdlZCAo c3RydWN0IHRhcmdldF9vcHMgKnRhcmdldCkKLSMjIyAgICByZWluaXRfZnJhbWVfY2FjaGUgKCk7 Ci0jIyMgIH0KLSMjIyAgCi0jIyMgK3R5cGVkZWYgc3RydWN0IG9ic3RhY2sgb2JzdGFja19zOwot IyMjICtERUZfVkVDX08gKG9ic3RhY2tfcyk7Ci0jIyMgK3N0YXRpYyBWRUMgKG9ic3RhY2tfcykg KmZyYW1lX3BvaXNvbl92ZWM7Ci0jIyMgKwotIyMjICt2b2lkIGZyYW1lX2dhcmJhZ2VfY29sbGVj dGlvbiAodm9pZCk7Ci0jIyMgK3ZvaWQKLSMjIyArZnJhbWVfZ2FyYmFnZV9jb2xsZWN0aW9uICh2 b2lkKQotIyMjICt7Ci0jIyMgKyAgc3RydWN0IG9ic3RhY2sgKm9ic3RhY2tfcDsKLSMjIyArICBp bnQgaXg7Ci0jIyMgKwotIyMjICsgIGZvciAoaXggPSAwOyBWRUNfaXRlcmF0ZSAob2JzdGFja19z LCBmcmFtZV9wb2lzb25fdmVjLCBpeCwgb2JzdGFja19wKTsgaXgrKykKLSMjIyArICAgIG9ic3Rh Y2tfZnJlZSAob2JzdGFja19wLCAwKTsKLSMjIyArCi0jIyMgKyAgVkVDX2ZyZWUgKG9ic3RhY2tf cywgZnJhbWVfcG9pc29uX3ZlYyk7Ci0jIyMgKyAgZnJhbWVfcG9pc29uX3ZlYyA9IE5VTEw7Ci0j IyMgK30KLSMjIyArCi0jIyMgIC8qIEZsdXNoIHRoZSBlbnRpcmUgZnJhbWUgY2FjaGUuICAqLwot IyMjICAKLSMjIyAgdm9pZAotIyMjICByZWluaXRfZnJhbWVfY2FjaGUgKHZvaWQpCi0jIyMgIHsK LSMjIyAtICBzdHJ1Y3QgZnJhbWVfaW5mbyAqZmk7Ci0jIyMgKyAgc3RydWN0IGZyYW1lX2luZm8g KmZpLCAqZmlfcHJldjsKLSMjIyAgCi0jIyMgICAgLyogVGVhciBkb3duIGFsbCBmcmFtZSBjYWNo ZXMuICAqLwotIyMjICAgIGZvciAoZmkgPSBjdXJyZW50X2ZyYW1lOyBmaSAhPSBOVUxMOyBmaSA9 IGZpLT5wcmV2KQotIyMjIEBAIC0xNTM4LDggKzE1NTYsMTQgQEAgcmVpbml0X2ZyYW1lX2NhY2hl ICh2b2lkKQotIyMjICAJZmktPmJhc2UtPnVud2luZC0+ZGVhbGxvY19jYWNoZSAoZmksIGZpLT5i YXNlX2NhY2hlKTsKLSMjIyAgICAgIH0KLSMjIyAgCi0jIyMgKyAgZm9yIChmaSA9IGN1cnJlbnRf ZnJhbWU7IGZpICE9IE5VTEw7IGZpID0gZmlfcHJldikKLSMjIyArICAgIHsKLSMjIyArICAgICAg ZmlfcHJldiA9IGZpLT5wcmV2OwotIyMjICsgICAgICBtZW1zZXQgKGZpLCAwLCBzaXplb2YgKCpm aSkpOwotIyMjICsgICAgfQotIyMjICsgIFZFQ19zYWZlX3B1c2ggKG9ic3RhY2tfcywgZnJhbWVf cG9pc29uX3ZlYywgJmZyYW1lX2NhY2hlX29ic3RhY2spOwotIyMjICsKLSMjIyAgICAvKiBTaW5j ZSB3ZSBjYW4ndCByZWFsbHkgYmUgc3VyZSB3aGF0IHRoZSBmaXJzdCBvYmplY3QgYWxsb2NhdGVk IHdhcy4gICovCi0jIyMgLSAgb2JzdGFja19mcmVlICgmZnJhbWVfY2FjaGVfb2JzdGFjaywgMCk7 Ci0jIyMgICAgb2JzdGFja19pbml0ICgmZnJhbWVfY2FjaGVfb2JzdGFjayk7Ci0jIyMgIAotIyMj ICAgIGlmIChjdXJyZW50X2ZyYW1lICE9IE5VTEwpCi0jIyMgLS0tIGEvZ2RiL3RvcC5jCi0jIyMg KysrIGIvZ2RiL3RvcC5jCi0jIyMgQEAgLTM1OSw2ICszNTksMTEgQEAgcHJlcGFyZV9leGVjdXRl X2NvbW1hbmQgKHZvaWQpCi0jIyMgICAgaWYgKG5vbl9zdG9wKQotIyMjICAgICAgdGFyZ2V0X2Rj YWNoZV9pbnZhbGlkYXRlICgpOwotIyMjICAKLSMjIyArICB7Ci0jIyMgKyAgICBleHRlcm4gdm9p ZCBmcmFtZV9nYXJiYWdlX2NvbGxlY3Rpb24gKHZvaWQpOwotIyMjICsgICAgZnJhbWVfZ2FyYmFn ZV9jb2xsZWN0aW9uICgpOwotIyMjICsgIH0KLSMjIyArCi0jIyMgICAgcmV0dXJuIGNsZWFudXA7 Ci0jIyMgIH0KLSMjIyAgCgpkaWZmIC0tZ2l0IGEvZ2RiLXRlc3QtYnQtY2ZpLXdpdGhvdXQtZGll LnBhdGNoIGIvZ2RiLXRlc3QtYnQtY2ZpLXdpdGhvdXQtZGllLnBhdGNoCmluZGV4IDM5ZWY3MTku LjBjZDc1MmIgMTAwNjQ0Ci0tLSBhL2dkYi10ZXN0LWJ0LWNmaS13aXRob3V0LWRpZS5wYXRjaAor KysgYi9nZGItdGVzdC1idC1jZmktd2l0aG91dC1kaWUucGF0Y2gKQEAgLTEsMTcgKzEsMjAgQEAK K0Zyb20gY2NjNmZhZDE1YmZlOGQ3ZTgzM2QyZDg0ZDIzNjczYmUzYjlmNTk1YSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5j b20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBbZGVs YXllZC1zeW1maWxlXSBbY29tbWl0XSBGaXggYSByZWdyZXNzaW9uIG9uIENGSSB3aXRob3V0IERJ RSAgW1JlOgorU3ViamVjdDogRml4IGEgcmVncmVzc2lvbiBvbiBDRkkgd2l0aG91dCBESUUgW1Jl OgogCiBGaWxlTmFtZTogZ2RiLXRlc3QtYnQtY2ZpLXdpdGhvdXQtZGllLnBhdGNoCiAKKzs7IFtk ZWxheWVkLXN5bWZpbGVdIFRlc3QgYSBiYWNrdHJhY2UgcmVncmVzc2lvbiBvbiBDRklzIHdpdGhv dXQgRElFIChCWiA2MTQ2MDQpLgorOzs9ZmVkb3JhdGVzdAogCiBodHRwOi8vc291cmNld2FyZS5v cmcvbWwvYXJjaGVyLzIwMTAtcTMvbXNnMDAwMjguaHRtbAogCiBPbiBXZWQsIDI1IEZlYiAyMDA5 IDAwOjE0OjI5ICswMTAwLCBKYW4gS3JhdG9jaHZpbCB3cm90ZToKID4gY29tbWl0IDZhMzdjMmI5 OTYyMjU4ZWNmOTI5OWNjMzRhNjUwZTY0YTA2YWNhYTUKLT4gCis+CiA+IFRoZXJlIHdhcyBhIHJl Z3Jlc3Npb24gb24gZ2RiLmJhc2Uvc2F2ZWRyZWdzLmV4cC4KLT4gCis+CiA+IHF1aWNrX2FkZHJt YXAvcmVxdWlyZV9wYXJ0aWFsX3N5bWJvbHMgc2hvdWxkIGJlIHVzZWQgZXZlbiBmb3IgdGhlIHVu d2luZCBkZWJ1ZwogPiBpbmZvIGNoZWNraW5nIGFzIGl0cyBsb2FkIGhhcyBiZWVuIGFsc28gZGVs YXllZCBieSB0aGlzIGJyYW5jaC4KIFsuLi5dCkBAIC0yMSw3ICsyNCw3IEBAIE9uIFdlZCwgMjUg RmViIDIwMDkgMDA6MTQ6MjkgKzAxMDAsIEphbiBLcmF0b2NodmlsIHdyb3RlOgogPiBAQCAtMTQ5 OSw2ICsxNTAwLDE0IEBAIGR3YXJmMl9mcmFtZV9maW5kX2ZkZSAoQ09SRV9BRERSICpwYykKID4g ICAgICAgIHN0cnVjdCBkd2FyZjJfZmRlICpmZGU7CiA+ICAgICAgICBDT1JFX0FERFIgb2Zmc2V0 OwotPiAgCis+CiA+ICsgICAgICBpZiAob2JqZmlsZS0+cXVpY2tfYWRkcm1hcCkKID4gKwl7CiA+ ICsJICBpZiAoIWFkZHJtYXBfZmluZCAob2JqZmlsZS0+cXVpY2tfYWRkcm1hcCwgKnBjKSkKQEAg LTQ4LDExICs1MSw5IEBAIE5vIHJlZ3Jlc3Npb25zIG9uIHt4ODZfNjQseDg2XzY0LW0zMixpNjg2 fS1mZWRvcmExMy1saW51eC1nbnUuCiAKIENoZWNrZWQtaW4uCiAKLQogVGhhbmtzLAogSmFuCiAK LQogZWI4ZGY4NTY2YWNjMWVkOTYzZTNlOWI3N2MxM2I5YzJjM2RiMDNmYgogCiBUZXN0IENGSSBp cyBwYXJzZWQgZXZlbiBmb3IgcmFuZ2UgKGZ1bmN0aW9uKSBub3QgZGVzY3JpYmVkIGJ5IGFueSBE SUUuCkBAIC02NywxOSArNjgsMTkgQEAgZ2RiL3Rlc3RzdWl0ZS8KIAkqIGdkYi5iYXNlL2NmaS13 aXRob3V0LWRpZS5leHAsIGdkYi5iYXNlL2NmaS13aXRob3V0LWRpZS1tYWluLmMsCiAJZ2RiLmJh c2UvY2ZpLXdpdGhvdXQtZGllLWNhbGxlci5jOiBOZXcgZmlsZXMuCiAtLS0KLSBnZGIvZHdhcmYy LWZyYW1lLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDggKy0tCi0gZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9jZmktd2l0aG91dC1kaWUtY2FsbGVyLmMgfCAgIDI4ICsrKysrKysr KysKLSBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRpZS1tYWluLmMgICB8ICAg MzIgKysrKysrKysrKysKLSBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRpZS5l eHAgICAgICB8ICAgNjcgKysrKysrKysrKysrKysrKysrKysrKysKLSA0IGZpbGVzIGNoYW5nZWQs IDEzMCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorIGdkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvY2ZpLXdpdGhvdXQtZGllLWNhbGxlci5jIHwgMjggKysrKysrKysrKworIGdkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLW1haW4uYyAgIHwgMzIgKysrKysrKysrKysKKyBn ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRpZS5leHAgICAgICB8IDcxICsrKysr KysrKysrKysrKysrKysrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDEzMSBpbnNlcnRpb25zKCsp CiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQt ZGllLWNhbGxlci5jCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv Y2ZpLXdpdGhvdXQtZGllLW1haW4uYwogIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2NmaS13aXRob3V0LWRpZS5leHAKIAotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYw MTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLWNhbGxlci5jCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jZmktd2l0 aG91dC1kaWUtY2FsbGVyLmMJMjAxNi0wMS0wOCAyMToxMDoxNS40OTgwNzk1ODcgKzAxMDAKK2Rp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRpZS1jYWxsZXIu YyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLWNhbGxlci5jCituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYWZkZmQ1MzMxYQorLS0tIC9kZXYv bnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jZmktd2l0aG91dC1kaWUtY2FsbGVy LmMKIEBAIC0wLDAgKzEsMjggQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0 aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTA5LDEwICsxMTAsMTEgQEAgSW5kZXg6IGdkYi03LjEw LjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLWNhbGxl ci5jCiArICAvKiBNb2RpZnkgdGhlIHJldHVybiB2YWx1ZSB0byBwcmV2ZW50IGFueSB0YWlsLWNh bGwgb3B0aW1pemF0aW9uLiAgKi8KICsgIHJldHVybiAoKmNhbGxiYWNrKSAoKSAtIG9uZTsKICt9 Ci1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jZmkt d2l0aG91dC1kaWUtbWFpbi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9jZmktd2l0aG91dC1kaWUtbWFpbi5jCTIwMTYtMDEtMDggMjE6MTA6 MTUuNDk4MDc5NTg3ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9j Zmktd2l0aG91dC1kaWUtbWFpbi5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jZmktd2l0aG91 dC1kaWUtbWFpbi5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uODQ1 MWM0YmU3MAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jZmkt d2l0aG91dC1kaWUtbWFpbi5jCiBAQCAtMCwwICsxLDMyIEBACiArLyogVGhpcyB0ZXN0Y2FzZSBp cyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTE0NiwxMCArMTQ4LDExIEBA IEluZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13 aXRob3V0LWRpZS1tYWluLmMKICt7CiArICByZXR1cm4gY2FsbGVyIChjYWxsYmFjayk7CiArfQot SW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdp dGhvdXQtZGllLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAw OjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLmV4cAkyMDE2LTAxLTA4IDIxOjEzOjA0LjUyOTk5 ODAwOSArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhv dXQtZGllLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLmV4cAor bmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjU4ODBkNDZmNmQKKy0tLSAv ZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLmV4 cAogQEAgLTAsMCArMSw3MSBAQAogKyMgQ29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCiArCkBAIC0yMjIsMyArMjI1LDYgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIw MTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLmV4cAogKyMgIzEg IDB4MDAwMDAwMDAwMDQwMDRlOSBpbiBjYWxsZXIgKCkKICsjICMyICAweDAwMDAwMDAwMDA0MDA0 Y2QgaW4gbWFpbiAoKSBhdCAuLi4KICtnZGJfdGVzdCAiYnQiICIjMCArY2FsbGJhY2sgXFteXHJc blxdK1xyXG4jMSBcW15cclxuXF0rIGluIGNhbGxlciBcW15cclxuXF0rXHJcbiMyIFxbXlxyXG5c XSsgaW4gbWFpbiBcW15cclxuXF0rIiAidmVyaWZ5IHVud2luZGluIHdvcmtzIGZvciBDRkkgd2l0 aG91dCBESUVzIgorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi10ZXN0LWR3Mi1hcmFu Z2VzLnBhdGNoIGIvZ2RiLXRlc3QtZHcyLWFyYW5nZXMucGF0Y2gKaW5kZXggNGVkYjM2OC4uYzdk M2M5MiAxMDA2NDQKLS0tIGEvZ2RiLXRlc3QtZHcyLWFyYW5nZXMucGF0Y2gKKysrIGIvZ2RiLXRl c3QtZHcyLWFyYW5nZXMucGF0Y2gKQEAgLTEsOSArMSwxMiBAQAorRnJvbSBmMzkwNjNjYzE1OGY0 Yzc0NzUwNmJmNTQ4Zjk1NmRhYjVjMDhiMjA3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJv bTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcg T2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi10ZXN0LWR3Mi1hcmFuZ2VzLnBh dGNoCiAKIEZpbGVOYW1lOiBnZGItdGVzdC1kdzItYXJhbmdlcy5wYXRjaAogCis7OyBbYXJjaGVy LXRyb21leS1kZWxheWVkLXN5bWZpbGVdIE5ldyB0ZXN0IGdkYi5kd2FyZjIvZHcyLWFyYW5nZXMu ZXhwLgorOzs9ZmVkb3JhdGVzdAogCiBbYXJjaGVyLXRyb21leS1kZWxheWVkLXN5bWZpbGVdCiAK QEAgLTEyLDI1ICsxNSwzMiBAQCBBdXRob3I6IEphbiBLcmF0b2NodmlsIDxqa3JhdG9jaEBob3N0 MS5keW4uamFua3JhdG9jaHZpbC5uZXQ+CiBEYXRlOiAgIFNhdCBBdWcgMTUgMTU6MDU6NTQgMjAw OSArMDIwMAogCiAgICAgVGVzdCBmb3IgImhhbmRsZSBpbmNvcnJlY3QgYXJhbmdlcyIuCi0gICAg CisKICAgICByZWFkZWxmOgogICAgIENvbnRlbnRzIG9mIHRoZSAuZGVidWdfYXJhbmdlcyBzZWN0 aW9uOgotICAgIAorCiAgICAgICBMZW5ndGg6ICAgICAgICAgICAgICAgICAgIDgKICAgICAgIFZl cnNpb246ICAgICAgICAgICAgICAgICAgMgogICAgICAgT2Zmc2V0IGludG8gLmRlYnVnX2luZm86 ICAweDAKICAgICAgIFBvaW50ZXIgU2l6ZTogICAgICAgICAgICAgMAogICAgICAgU2VnbWVudCBT aXplOiAgICAgICAgICAgICAwCi0gICAgCisKICAgICAgICAgQWRkcmVzcyAgICBMZW5ndGgKICAg ICBGbG9hdGluZyBwb2ludCBleGNlcHRpb24KLSAgICAKKwogICAgIAkqIGdkYi5kd2FyZjIvZHcy LWFyYW5nZXMuZXhwLCBnZGIuZHdhcmYyL2R3Mi1hcmFuZ2VzLlM6IE5ldyBmaWxlcy4KKy0tLQor IGdkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYXJhbmdlcy5TICAgfCAxNDAgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYXJh bmdlcy5leHAgfCAgNDAgKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAxODAgaW5zZXJ0aW9u cygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWFy YW5nZXMuUworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcy LWFyYW5nZXMuZXhwCiAKLUluZGV4OiBnZGItNy43L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9k dzItYXJhbmdlcy5TCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6 MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIv ZHcyLWFyYW5nZXMuUwkyMDE0LTAyLTA2IDIyOjAyOjIyLjA4NzQ0OTY2MCArMDEwMAorZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYXJhbmdlcy5TIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZHdhcmYyL2R3Mi1hcmFuZ2VzLlMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwMDAwLi5kNWI5Y2E1YTNjCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5kd2FyZjIvZHcyLWFyYW5nZXMuUwogQEAgLTAsMCArMSwxNDAgQEAKICsvKiBUaGlz IHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTcyLDEw ICsxODIsMTEgQEAgSW5kZXg6IGdkYi03LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1h cmFuZ2VzLlMKICsJLmJ5dGUJCTAJCQkvKiBhcmFuZ2VzIHNlZ21lbnRfc2l6ZSAqLwogKwogKy5M YXJhbmdlc19lbmQ6Ci1JbmRleDogZ2RiLTcuNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcy LWFyYW5nZXMuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6 MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIv ZHcyLWFyYW5nZXMuZXhwCTIwMTQtMDItMDYgMjI6MDk6MDguMzIyODUyNzcxICswMTAwCitkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1hcmFuZ2VzLmV4cCBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYXJhbmdlcy5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0 CitpbmRleCAwMDAwMDAwMDAwLi5mOTViZGU0YzM1CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWFyYW5nZXMuZXhwCiBAQCAtMCwwICsxLDQwIEBACiAr IyBDb3B5cmlnaHQgMjAwNCwgMjAwNSwgMjAwNywgMjAwOCwgMjAwOSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KICsKQEAgLTIxNywzICsyMjgsNiBAQCBJbmRleDogZ2RiLTcuNy9nZGIv dGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWFyYW5nZXMuZXhwCiArCiArIyBGYWlsZWQgZ2RiX2xv YWQgd291bGQgYWJvcnQgdGhlIHRlc3RjYXNlIGV4ZWN1dGlvbiBlYXJsaWVyLgogK3Bhc3MgImZp bGUgbG9hZGVkIgorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi10ZXN0LWV4cHItY3Vt dWxhdGl2ZS1hcmNoZXIucGF0Y2ggYi9nZGItdGVzdC1leHByLWN1bXVsYXRpdmUtYXJjaGVyLnBh dGNoCmluZGV4IGFmMTU4YjkuLjAyYjMwYjQgMTAwNjQ0Ci0tLSBhL2dkYi10ZXN0LWV4cHItY3Vt dWxhdGl2ZS1hcmNoZXIucGF0Y2gKKysrIGIvZ2RiLXRlc3QtZXhwci1jdW11bGF0aXZlLWFyY2hl ci5wYXRjaApAQCAtMSwxNyArMSwzMSBAQAorRnJvbSA0NWYzN2E3OGJiMzExZTE1NDBmY2ZiMGM4 YTgwMGVjY2JkMWEzYjhmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdE QiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6 MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi10ZXN0LWV4cHItY3VtdWxhdGl2ZS1hcmNoZXIucGF0 Y2gKIAogRmlsZU5hbWU6IGdkYi10ZXN0LWV4cHItY3VtdWxhdGl2ZS1hcmNoZXIucGF0Y2gKIAor OzsgW2FyY2hlci1rZWl0aHMtZXhwci1jdW11bGF0aXZlK3Vwc3RyZWFtXSBJbXBvcnQgQysrIHRl c3RjYXNlcy4KKzs7PWZlZG9yYXRlc3QKIAogYXJjaGVyIGFyY2hlci1rZWl0aHMtZXhwci1jdW11 bGF0aXZlCiBiNWE3NDk3MzQwYjI0MTk5ZjBjN2JhN2ZkZjBkNTRkNGRmNDRkNmJjCistLS0KKyBn ZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2UtbmVzdGVkLWltcG9ydHMuY2MgIHwgMzYgKysr KysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvbmFtZXNwYWNlLW5lc3RlZC1pbXBvcnRz LmV4cCB8IDUwICsrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3Bh Y2Utbm8taW1wb3J0cy5jYyAgICAgIHwgMzcgKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9n ZGIuY3AvbmFtZXNwYWNlLW5vLWltcG9ydHMuZXhwICAgICB8IDY5ICsrKysrKysrKysrKysrKysr KysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCAxOTIgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2UtbmVzdGVkLWltcG9ydHMuY2MK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvbmFtZXNwYWNlLW5lc3Rl ZC1pbXBvcnRzLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5jcC9u YW1lc3BhY2Utbm8taW1wb3J0cy5jYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRl L2dkYi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0cy5leHAKIAotSW5kZXg6IGdkYi03LjEwLjkwLjIw MTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25hbWVzcGFjZS1uZXN0ZWQtaW1wb3J0cy5jYwot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25hbWVz cGFjZS1uZXN0ZWQtaW1wb3J0cy5jYwkyMDE2LTAyLTE1IDIzOjM0OjMyLjE5NjQwMjc3MyArMDEw MAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25hbWVzcGFjZS1uZXN0ZWQtaW1w b3J0cy5jYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25hbWVzcGFjZS1uZXN0ZWQtaW1wb3J0cy5j YworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjk3MjNmODc0ZDkKKy0t LSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25hbWVzcGFjZS1uZXN0ZWQt aW1wb3J0cy5jYwogQEAgLTAsMCArMSwzNiBAQAogK25hbWVzcGFjZSBBCiArewpAQCAtNDksMTAg KzYzLDExIEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5j cC9uYW1lc3BhY2UtbmVzdGVkLWltcG9ydHMuY2MKICsgIC8vYWI7CiArICByZXR1cm4gQzo6Zmly c3QoKTsKICt9Ci1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIu Y3AvbmFtZXNwYWNlLW5lc3RlZC1pbXBvcnRzLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIw MTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25hbWVzcGFjZS1uZXN0ZWQtaW1wb3J0cy5leHAJ MjAxNi0wMi0xNSAyMzozNDo1MS45MjY1NDI4NTkgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5jcC9uYW1lc3BhY2UtbmVzdGVkLWltcG9ydHMuZXhwIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuY3AvbmFtZXNwYWNlLW5lc3RlZC1pbXBvcnRzLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAwMDAuLmE2MDZjNDNjYjMKKy0tLSAvZGV2L251bGwKKysrKyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmNwL25hbWVzcGFjZS1uZXN0ZWQtaW1wb3J0cy5leHAKIEBAIC0wLDAg KzEsNTAgQEAKICsjIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogKwpAQCAtMTA0LDEwICsxMTksMTEgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dk Yi90ZXN0c3VpdGUvZ2RiLmNwL25hbWVzcGFjZS1uZXN0ZWQtaW1wb3J0cy5leHAKICtnZGJfY29u dGludWVfdG9fYnJlYWtwb2ludCAiQzo6RDo6c2Vjb25kIgogKwogK2dkYl90ZXN0ICJwcmludCBh YiIgIj0gMTEiCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIu Y3AvbmFtZXNwYWNlLW5vLWltcG9ydHMuY2MKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIx MS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0cy5jYwkyMDE2LTAyLTE1 IDIzOjM0OjMyLjE5NjQwMjc3MyArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmNwL25hbWVzcGFjZS1uby1pbXBvcnRzLmNjIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvbmFtZXNw YWNlLW5vLWltcG9ydHMuY2MKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAw Li5kMWM2OGFiYWVhCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9u YW1lc3BhY2Utbm8taW1wb3J0cy5jYwogQEAgLTAsMCArMSwzNyBAQAogKwogK25hbWVzcGFjZSBB CkBAIC0xNDYsMTAgKzE2MiwxMSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rl c3RzdWl0ZS9nZGIuY3AvbmFtZXNwYWNlLW5vLWltcG9ydHMuY2MKICsgIEE6OkI6OkM6OmFiYzsK ICsgIHJldHVybiBBOjpCOjpmaXJzdCgpOwogK30KLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIx MS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0cy5leHAKLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsr KyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2Utbm8t aW1wb3J0cy5leHAJMjAxNi0wMi0xNSAyMzozNDo1MS45MjY1NDI4NTkgKzAxMDAKK2RpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0cy5leHAgYi9nZGIv dGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0cy5leHAKK25ldyBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5hNGFlOWIzY2QyCistLS0gL2Rldi9udWxsCisrKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0cy5leHAKIEBAIC0wLDAg KzEsNjkgQEAKICsjIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogKwpAQCAtMjIwLDMgKzIzNyw2IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIv dGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0cy5leHAKICtnZGJfdGVzdCAicHJp bnQgX2EiICI9IDExIgogK2dkYl90ZXN0ICJwcmludCBhYiIgIj0gMjIiCiArZ2RiX3Rlc3QgInBy aW50IGFiYyIgIj0gMzMiCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLXRlc3QtaXZ5 LWJyaWRnZS5wYXRjaCBiL2dkYi10ZXN0LWl2eS1icmlkZ2UucGF0Y2gKaW5kZXggNGQ5NzNhOC4u NDEwODM0NCAxMDA2NDQKLS0tIGEvZ2RiLXRlc3QtaXZ5LWJyaWRnZS5wYXRjaAorKysgYi9nZGIt dGVzdC1pdnktYnJpZGdlLnBhdGNoCkBAIC0xLDE0ICsxLDEzMiBAQAorRnJvbSBmNGNlNzRiZTNj OTZmNDEwNTdjMmU4ODQzYjY2OGM1MTlhNzdmYjAzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQog RnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwg MjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi10ZXN0LWl2eS1icmlkZ2Uu cGF0Y2gKIAogRmlsZU5hbWU6IGdkYi10ZXN0LWl2eS1icmlkZ2UucGF0Y2gKIAorOzsgVGVzdCBH REIgb3Bjb2Rlcy8gZGlzYXNzZW1ibHkgb2YgSW50ZWwgSXZ5IEJyaWRnZSBpbnN0cnVjdGlvbnMg KEJaIDY5Njg5MCkuCis7Oz1mZWRvcmF0ZXN0CistLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5hcmNo L2FtZDY0LWl2eS1icmlkZ2UuUyAgIHwgIDk4ICsrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL2FtZDY0LWl2eS1icmlkZ2UuZXhwIHwgMTcwICsrKysrKysrKysrKysrKysr KysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtaXZ5LWJyaWRnZS5TICAg IHwgIDY3ICsrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9pMzg2LWl2eS1icmlk Z2UuZXhwICB8IDEwNiArKysrKysrKysrKysrKysrKworIDQgZmlsZXMgY2hhbmdlZCwgNDQxIGlu c2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9h bWQ2NC1pdnktYnJpZGdlLlMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9hbWQ2NC1pdnktYnJpZGdlLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL2kzODYtaXZ5LWJyaWRnZS5TCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90 ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni1pdnktYnJpZGdlLmV4cAogCi1JbmRleDogZ2RiLTcuMTIv Z2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1pdnktYnJpZGdlLmV4cAotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtaXZ5LWJyaWRnZS5leHAJMjAxNi0x MC0yMCAyMDo1NzozMS42NTI2MzA0NTUgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL2FtZDY0LWl2eS1icmlkZ2UuUyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1k NjQtaXZ5LWJyaWRnZS5TCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4u MjRlNDFjMGUwMgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9h bWQ2NC1pdnktYnJpZGdlLlMKK0BAIC0wLDAgKzEsOTggQEAKKysvKiBDb3B5cmlnaHQgMjAxMSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp b24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysg ICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4KKysKKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgZ2RiIHRlc3Rz dWl0ZS4gICovCisrCisrCS5nbG9ibCBfc3RhcnQKKytfc3RhcnQ6CS50ZXh0CisrCisrLyogZ2Fz L2kzODYveDg2LTY0LXJkcm5kLnMgKi8KKysJLmF0dF9zeW50YXggcHJlZml4CisrCXJkcmFuZCAl YngKKysJcmRyYW5kICVlYngKKysJcmRyYW5kICVyYngKKysJcmRyYW5kICVyOHcKKysJcmRyYW5k ICVyOGQKKysJcmRyYW5kICVyOAorKworKwkuaW50ZWxfc3ludGF4IG5vcHJlZml4CisrCXJkcmFu ZCBieAorKwlyZHJhbmQgZWJ4CisrCXJkcmFuZCByYngKKysJcmRyYW5kIHI4dworKwlyZHJhbmQg cjhkCisrCXJkcmFuZCByOAorKworKy8qIGdhcy9pMzg2L3g4Ni02NC1mMTZjLnMgKi8KKysJLmF0 dF9zeW50YXggcHJlZml4CisrCXZjdnRwaDJwcyAleG1tNCwleW1tNAorKwl2Y3Z0cGgycHMgKCVy OCksJXltbTgKKysJdmN2dHBoMnBzICV4bW00LCV4bW02CisrCXZjdnRwaDJwcyAoJXJjeCksJXht bTQKKysJdmN2dHBzMnBoICQweDIsJXltbTQsJXhtbTQKKysJdmN2dHBzMnBoICQweDIsJXltbTgs KCVyOCkKKysJdmN2dHBzMnBoICQweDIsJXhtbTQsJXhtbTQKKysJdmN2dHBzMnBoICQweDIsJXht bTQsKCVyY3gpIAorKworKwkuaW50ZWxfc3ludGF4IG5vcHJlZml4CisrCXZjdnRwaDJwcyB5bW00 LHhtbTQKKysJdmN2dHBoMnBzIHltbTgsWE1NV09SRCBQVFIgW3I4XQorKwl2Y3Z0cGgycHMgeW1t NCxbcmN4XQorKwl2Y3Z0cGgycHMgeG1tNix4bW00CisrCXZjdnRwaDJwcyB4bW00LFFXT1JEIFBU UiBbcmN4XSAgICAgICAgICAKKysJdmN2dHBoMnBzIHhtbTQsW3JjeF0KKysJdmN2dHBzMnBoIHht bTQseW1tNCwweDIKKysJdmN2dHBzMnBoIFhNTVdPUkQgUFRSIFtyY3hdLHltbTQsMHgyICAgIAor Kwl2Y3Z0cHMycGggW3JjeF0seW1tNCwweDIgCisrCXZjdnRwczJwaCB4bW00LHhtbTQsMHgyCisr CXZjdnRwczJwaCBRV09SRCBQVFIgW3I4XSx4bW04LDB4MiAgICAgICAKKysJdmN2dHBzMnBoIFty Y3hdLHhtbTQsMHgyIAorKworKy8qIGdhcy9pMzg2L3g4Ni02NC1mc2dzLnMgKi8KKysJLmF0dF9z eW50YXggcHJlZml4CisrCXJkZnNiYXNlICVlYngKKysJcmRmc2Jhc2UgJXJieAorKwlyZGZzYmFz ZSAlcjhkCisrCXJkZnNiYXNlICVyOAorKwlyZGdzYmFzZSAlZWJ4CisrCXJkZ3NiYXNlICVyYngg ICAKKysJcmRnc2Jhc2UgJXI4ZCAgIAorKwlyZGdzYmFzZSAlcjggICAgCisrCXdyZnNiYXNlICVl YnggICAKKysJd3Jmc2Jhc2UgJXJieCAgIAorKwl3cmZzYmFzZSAlcjhkICAgCisrCXdyZnNiYXNl ICVyOCAgICAKKysJd3Jnc2Jhc2UgJWVieCAgIAorKwl3cmdzYmFzZSAlcmJ4ICAgCisrCXdyZ3Ni YXNlICVyOGQgICAKKysJd3Jnc2Jhc2UgJXI4ICAgIAorKworKwkuaW50ZWxfc3ludGF4IG5vcHJl Zml4CisrCXJkZnNiYXNlIGVieCAgICAKKysJcmRmc2Jhc2UgcmJ4ICAgIAorKwlyZGZzYmFzZSBy OGQgICAgCisrCXJkZnNiYXNlIHI4CisrCXJkZ3NiYXNlIGVieCAgICAKKysJcmRnc2Jhc2UgcmJ4 ICAgIAorKwlyZGdzYmFzZSByOGQgICAgCisrCXJkZ3NiYXNlIHI4CisrCXdyZnNiYXNlIGVieCAg ICAKKysJd3Jmc2Jhc2UgcmJ4ICAgIAorKwl3cmZzYmFzZSByOGQgICAgCisrCXdyZnNiYXNlIHI4 CisrCXdyZ3NiYXNlIGVieCAgICAKKysJd3Jnc2Jhc2UgcmJ4ICAgIAorKwl3cmdzYmFzZSByOGQg ICAgCisrCXdyZ3NiYXNlIHI4CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9h bWQ2NC1pdnktYnJpZGdlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtaXZ5LWJy aWRnZS5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5kMWIxZjI3 ZGI0CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWl2 eS1icmlkZ2UuZXhwCiBAQCAtMCwwICsxLDE3MCBAQAogKyMgQ29weXJpZ2h0IDIwMTEgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xODAsMTAgKzI5OCw4NCBAQCBJbmRleDog Z2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1pdnktYnJpZGdlLmV4cAogK1xb XlxyXG5cXSs6XHRmMyA0MSAwZiBhZSBkOFx0XCggICAgICAgICAgXCk/d3Jnc2Jhc2UgcjhkXHIK ICtcW15cclxuXF0rOlx0ZjMgNDkgMGYgYWUgZDhcdFwoICAgICAgICAgIFwpP3dyZ3NiYXNlIHI4 XHIKICtFbmQgb2YgYXNzZW1ibGVyIGR1bXBcXC4iICJpbnRlbCIKLUluZGV4OiBnZGItNy4xMi9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtaXZ5LWJyaWRnZS5leHAKLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGIt Ny4xMi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtaXZ5LWJyaWRnZS5leHAJMjAxNi0xMC0y MCAyMDo1Nzo0My4yNTE3MjExNDcgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5hcmNoL2kzODYtaXZ5LWJyaWRnZS5TIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9pMzg2LWl2 eS1icmlkZ2UuUworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmZmOTYw OGQzODkKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni1p dnktYnJpZGdlLlMKK0BAIC0wLDAgKzEsNjcgQEAKKysvKiBDb3B5cmlnaHQgMjAxMSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9u ZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4KKysKKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgZ2RiIHRlc3RzdWl0ZS4g ICovCisrCisrCS5nbG9ibCBfc3RhcnQKKytfc3RhcnQ6CS50ZXh0CisrCisrLyogZ2FzL2kzODYv cmRybmQucyAqLworKwkuYXR0X3N5bnRheCBwcmVmaXgKKysJcmRyYW5kICVieAorKwlyZHJhbmQg JWVieAorKworKwkuaW50ZWxfc3ludGF4IG5vcHJlZml4CisrCXJkcmFuZCBieAorKwlyZHJhbmQg ZWJ4CisrCisrLyogZ2FzL2kzODYvZjE2Yy5zICovCisrCS5hdHRfc3ludGF4IHByZWZpeAorKwl2 Y3Z0cGgycHMgJXhtbTQsJXltbTQKKysJdmN2dHBoMnBzICglZWN4KSwleW1tNAorKwl2Y3Z0cGgy cHMgJXhtbTQsJXhtbTYKKysJdmN2dHBoMnBzICglZWN4KSwleG1tNAorKwl2Y3Z0cHMycGggJDB4 MiwleW1tNCwleG1tNAorKwl2Y3Z0cHMycGggJDB4MiwleW1tNCwoJWVjeCkgCisrCXZjdnRwczJw aCAkMHgyLCV4bW00LCV4bW00CisrCXZjdnRwczJwaCAkMHgyLCV4bW00LCglZWN4KSAKKysKKysJ LmludGVsX3N5bnRheCBub3ByZWZpeAorKwl2Y3Z0cGgycHMgeW1tNCx4bW00CisrCXZjdnRwaDJw cyB5bW00LFhNTVdPUkQgUFRSIFtlY3hdCisrCXZjdnRwaDJwcyB5bW00LFtlY3hdCisrCXZjdnRw aDJwcyB4bW02LHhtbTQKKysJdmN2dHBoMnBzIHhtbTQsUVdPUkQgUFRSIFtlY3hdICAgICAgICAg IAorKwl2Y3Z0cGgycHMgeG1tNCxbZWN4XQorKwl2Y3Z0cHMycGggeG1tNCx5bW00LDB4MgorKwl2 Y3Z0cHMycGggWE1NV09SRCBQVFIgW2VjeF0seW1tNCwweDIgICAgCisrCXZjdnRwczJwaCBbZWN4 XSx5bW00LDB4MiAKKysJdmN2dHBzMnBoIHhtbTQseG1tNCwweDIKKysJdmN2dHBzMnBoIFFXT1JE IFBUUiBbZWN4XSx4bW00LDB4MiAgICAgIAorKwl2Y3Z0cHMycGggW2VjeF0seG1tNCwweDIgCisr CisrLyogZ2FzL2kzODYvZnNncy5zICovCisrCS5hdHRfc3ludGF4IHByZWZpeAorKwlyZGZzYmFz ZSAlZWJ4CisrCXJkZ3NiYXNlICVlYngKKysJd3Jmc2Jhc2UgJWVieAorKwl3cmdzYmFzZSAlZWJ4 CisrCisrCS5pbnRlbF9zeW50YXggbm9wcmVmaXgKKysJcmRmc2Jhc2UgZWJ4ICAgIAorKwlyZGdz YmFzZSBlYnggICAgCisrCXdyZnNiYXNlIGVieCAgICAKKysJd3Jnc2Jhc2UgZWJ4ICAgIAorKwor ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni1pdnktYnJpZGdlLmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni1pdnktYnJpZGdlLmV4cAorbmV3IGZpbGUgbW9k ZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjRlYTkzZWRiMDYKKy0tLSAvZGV2L251bGwKKysr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni1pdnktYnJpZGdlLmV4cAogQEAgLTAsMCAr MSwxMDYgQEAKICsjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogKwpAQCAtMjkxLDE3OCArNDgzLDYgQEAgSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUv Z2RiLmFyY2gvaTM4Ni1pdnktYnJpZGdlLmV4cAogK1xbXlxyXG5cXSs6XHRmMyAwZiBhZSBkM1x0 XCggICAgICAgICAgICAgXCk/d3Jmc2Jhc2UgZWJ4XHIKICtcW15cclxuXF0rOlx0ZjMgMGYgYWUg ZGJcdFwoICAgICAgICAgICAgIFwpP3dyZ3NiYXNlIGVieFxyCiArRW5kIG9mIGFzc2VtYmxlciBk dW1wXFwuIiAiaW50ZWwiCi1JbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9h bWQ2NC1pdnktYnJpZGdlLlMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5h cmNoL2FtZDY0LWl2eS1icmlkZ2UuUwkyMDE2LTEwLTIwIDIwOjU1OjUwLjg1Mzg0MjMyNCArMDIw MAotQEAgLTAsMCArMSw5OCBAQAotKy8qIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAg VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhp cyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgot KwotKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBnZGIgdGVzdHN1aXRlLiAgKi8KLSsKLSsJ Lmdsb2JsIF9zdGFydAotK19zdGFydDoJLnRleHQKLSsKLSsvKiBnYXMvaTM4Ni94ODYtNjQtcmRy bmQucyAqLwotKwkuYXR0X3N5bnRheCBwcmVmaXgKLSsJcmRyYW5kICVieAotKwlyZHJhbmQgJWVi eAotKwlyZHJhbmQgJXJieAotKwlyZHJhbmQgJXI4dwotKwlyZHJhbmQgJXI4ZAotKwlyZHJhbmQg JXI4Ci0rCi0rCS5pbnRlbF9zeW50YXggbm9wcmVmaXgKLSsJcmRyYW5kIGJ4Ci0rCXJkcmFuZCBl YngKLSsJcmRyYW5kIHJieAotKwlyZHJhbmQgcjh3Ci0rCXJkcmFuZCByOGQKLSsJcmRyYW5kIHI4 Ci0rCi0rLyogZ2FzL2kzODYveDg2LTY0LWYxNmMucyAqLwotKwkuYXR0X3N5bnRheCBwcmVmaXgK LSsJdmN2dHBoMnBzICV4bW00LCV5bW00Ci0rCXZjdnRwaDJwcyAoJXI4KSwleW1tOAotKwl2Y3Z0 cGgycHMgJXhtbTQsJXhtbTYKLSsJdmN2dHBoMnBzICglcmN4KSwleG1tNAotKwl2Y3Z0cHMycGgg JDB4MiwleW1tNCwleG1tNAotKwl2Y3Z0cHMycGggJDB4MiwleW1tOCwoJXI4KQotKwl2Y3Z0cHMy cGggJDB4MiwleG1tNCwleG1tNAotKwl2Y3Z0cHMycGggJDB4MiwleG1tNCwoJXJjeCkgCi0rCi0r CS5pbnRlbF9zeW50YXggbm9wcmVmaXgKLSsJdmN2dHBoMnBzIHltbTQseG1tNAotKwl2Y3Z0cGgy cHMgeW1tOCxYTU1XT1JEIFBUUiBbcjhdCi0rCXZjdnRwaDJwcyB5bW00LFtyY3hdCi0rCXZjdnRw aDJwcyB4bW02LHhtbTQKLSsJdmN2dHBoMnBzIHhtbTQsUVdPUkQgUFRSIFtyY3hdICAgICAgICAg IAotKwl2Y3Z0cGgycHMgeG1tNCxbcmN4XQotKwl2Y3Z0cHMycGggeG1tNCx5bW00LDB4MgotKwl2 Y3Z0cHMycGggWE1NV09SRCBQVFIgW3JjeF0seW1tNCwweDIgICAgCi0rCXZjdnRwczJwaCBbcmN4 XSx5bW00LDB4MiAKLSsJdmN2dHBzMnBoIHhtbTQseG1tNCwweDIKLSsJdmN2dHBzMnBoIFFXT1JE IFBUUiBbcjhdLHhtbTgsMHgyICAgICAgIAotKwl2Y3Z0cHMycGggW3JjeF0seG1tNCwweDIgCi0r Ci0rLyogZ2FzL2kzODYveDg2LTY0LWZzZ3MucyAqLwotKwkuYXR0X3N5bnRheCBwcmVmaXgKLSsJ cmRmc2Jhc2UgJWVieAotKwlyZGZzYmFzZSAlcmJ4Ci0rCXJkZnNiYXNlICVyOGQKLSsJcmRmc2Jh c2UgJXI4Ci0rCXJkZ3NiYXNlICVlYngKLSsJcmRnc2Jhc2UgJXJieCAgIAotKwlyZGdzYmFzZSAl cjhkICAgCi0rCXJkZ3NiYXNlICVyOCAgICAKLSsJd3Jmc2Jhc2UgJWVieCAgIAotKwl3cmZzYmFz ZSAlcmJ4ICAgCi0rCXdyZnNiYXNlICVyOGQgICAKLSsJd3Jmc2Jhc2UgJXI4ICAgIAotKwl3cmdz YmFzZSAlZWJ4ICAgCi0rCXdyZ3NiYXNlICVyYnggICAKLSsJd3Jnc2Jhc2UgJXI4ZCAgIAotKwl3 cmdzYmFzZSAlcjggICAgCi0rCi0rCS5pbnRlbF9zeW50YXggbm9wcmVmaXgKLSsJcmRmc2Jhc2Ug ZWJ4ICAgIAotKwlyZGZzYmFzZSByYnggICAgCi0rCXJkZnNiYXNlIHI4ZCAgICAKLSsJcmRmc2Jh c2UgcjgKLSsJcmRnc2Jhc2UgZWJ4ICAgIAotKwlyZGdzYmFzZSByYnggICAgCi0rCXJkZ3NiYXNl IHI4ZCAgICAKLSsJcmRnc2Jhc2UgcjgKLSsJd3Jmc2Jhc2UgZWJ4ICAgIAotKwl3cmZzYmFzZSBy YnggICAgCi0rCXdyZnNiYXNlIHI4ZCAgICAKLSsJd3Jmc2Jhc2UgcjgKLSsJd3Jnc2Jhc2UgZWJ4 ICAgIAotKwl3cmdzYmFzZSByYnggICAgCi0rCXdyZ3NiYXNlIHI4ZCAgICAKLSsJd3Jnc2Jhc2Ug cjgKLUluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtaXZ5LWJyaWRn ZS5TCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAw MDAwICswMDAwCi0rKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9pMzg2LWl2eS1i cmlkZ2UuUwkyMDE2LTEwLTIwIDIwOjU1OjUwLjg1Mzg0MjMyNCArMDIwMAotQEAgLTAsMCArMSw2 NyBAQAotKy8qIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgot KwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwotKyAgIFRoaXMgZmls ZSBpcyBwYXJ0IG9mIHRoZSBnZGIgdGVzdHN1aXRlLiAgKi8KLSsKLSsJLmdsb2JsIF9zdGFydAot K19zdGFydDoJLnRleHQKLSsKLSsvKiBnYXMvaTM4Ni9yZHJuZC5zICovCi0rCS5hdHRfc3ludGF4 IHByZWZpeAotKwlyZHJhbmQgJWJ4Ci0rCXJkcmFuZCAlZWJ4Ci0rCi0rCS5pbnRlbF9zeW50YXgg bm9wcmVmaXgKLSsJcmRyYW5kIGJ4Ci0rCXJkcmFuZCBlYngKLSsKLSsvKiBnYXMvaTM4Ni9mMTZj LnMgKi8KLSsJLmF0dF9zeW50YXggcHJlZml4Ci0rCXZjdnRwaDJwcyAleG1tNCwleW1tNAotKwl2 Y3Z0cGgycHMgKCVlY3gpLCV5bW00Ci0rCXZjdnRwaDJwcyAleG1tNCwleG1tNgotKwl2Y3Z0cGgy cHMgKCVlY3gpLCV4bW00Ci0rCXZjdnRwczJwaCAkMHgyLCV5bW00LCV4bW00Ci0rCXZjdnRwczJw aCAkMHgyLCV5bW00LCglZWN4KSAKLSsJdmN2dHBzMnBoICQweDIsJXhtbTQsJXhtbTQKLSsJdmN2 dHBzMnBoICQweDIsJXhtbTQsKCVlY3gpIAotKwotKwkuaW50ZWxfc3ludGF4IG5vcHJlZml4Ci0r CXZjdnRwaDJwcyB5bW00LHhtbTQKLSsJdmN2dHBoMnBzIHltbTQsWE1NV09SRCBQVFIgW2VjeF0K LSsJdmN2dHBoMnBzIHltbTQsW2VjeF0KLSsJdmN2dHBoMnBzIHhtbTYseG1tNAotKwl2Y3Z0cGgy cHMgeG1tNCxRV09SRCBQVFIgW2VjeF0gICAgICAgICAgCi0rCXZjdnRwaDJwcyB4bW00LFtlY3hd Ci0rCXZjdnRwczJwaCB4bW00LHltbTQsMHgyCi0rCXZjdnRwczJwaCBYTU1XT1JEIFBUUiBbZWN4 XSx5bW00LDB4MiAgICAKLSsJdmN2dHBzMnBoIFtlY3hdLHltbTQsMHgyIAotKwl2Y3Z0cHMycGgg eG1tNCx4bW00LDB4MgotKwl2Y3Z0cHMycGggUVdPUkQgUFRSIFtlY3hdLHhtbTQsMHgyICAgICAg Ci0rCXZjdnRwczJwaCBbZWN4XSx4bW00LDB4MiAKLSsKLSsvKiBnYXMvaTM4Ni9mc2dzLnMgKi8K LSsJLmF0dF9zeW50YXggcHJlZml4Ci0rCXJkZnNiYXNlICVlYngKLSsJcmRnc2Jhc2UgJWVieAot Kwl3cmZzYmFzZSAlZWJ4Ci0rCXdyZ3NiYXNlICVlYngKLSsKLSsJLmludGVsX3N5bnRheCBub3By ZWZpeAotKwlyZGZzYmFzZSBlYnggICAgCi0rCXJkZ3NiYXNlIGVieCAgICAKLSsJd3Jmc2Jhc2Ug ZWJ4ICAgIAotKwl3cmdzYmFzZSBlYnggICAgCi0rCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0 IGEvZ2RiLXRlc3QtcGlkMC1jb3JlLnBhdGNoIGIvZ2RiLXRlc3QtcGlkMC1jb3JlLnBhdGNoCmlu ZGV4IDFjZjlkMmQuLjA0NDkyYmQgMTAwNjQ0Ci0tLSBhL2dkYi10ZXN0LXBpZDAtY29yZS5wYXRj aAorKysgYi9nZGItdGVzdC1waWQwLWNvcmUucGF0Y2gKQEAgLTEsOSArMSwxMiBAQAorRnJvbSBk Yjg3NzFiMTZjZjM2OGFhNjgzY2JmNWQ2ZDhiOGE3ZjNhOWFjNTA4IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERh dGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi10ZXN0LXBp ZDAtY29yZS5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLXRlc3QtcGlkMC1jb3JlLnBhdGNoCiAKKzs7 IE5ldyB0ZXN0IGdkYi5hcmNoL3g4Nl82NC1waWQwLWNvcmUuZXhwIGZvciBrZXJuZWwgUElEIDAg Y29yZXMgKEJaIDYxMTQzNSkuCis7Oz1mZWRvcmF0ZXN0CiAKIGh0dHBzOi8vYnVnemlsbGEucmVk aGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9NjExNDM1CiAKQEAgLTEyLDExICsxNSwxOCBAQCBSZTog W1JGQV1jb3JlbG93LmM6IEFkZCB0aWQgdG8gYWRkX3RvX3RocmVhZF9saXN0CiBodHRwOi8vc291 cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMC0wOC9tc2cwMDA4NS5odG1sCiBodHRwOi8v c291cmNld2FyZS5vcmcvbWwvZ2RiLWN2cy8yMDEwLTA4L21zZzAwMDI2Lmh0bWwKIDJlNWJjZmRl ZjFlYzM4ODNkNDhjM2Y4N2E0YmU1YzBkZmYyNWUxN2UKKy0tLQorIC4uLi9nZGIuYXJjaC94ODZf NjQtcGlkMC1jb3JlLmNvcmUuYnoyLnV1ICAgICAgICAgIHwgMjAgKysrKysrKysrKworIGdkYi90 ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXBpZDAtY29yZS5leHAgICAgICAgIHwgNDYgKysrKysr KysrKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKQorIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC1waWQwLWNvcmUu Y29yZS5iejIudXUKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94 ODZfNjQtcGlkMC1jb3JlLmV4cAogCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtcGlkMC1jb3JlLmNvcmUuYnoyLnV1Ci09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysg Z2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtcGlkMC1j b3JlLmNvcmUuYnoyLnV1CTIwMTYtMDItMTUgMjM6MjM6NDAuNzcyNzcyMTY1ICswMTAwCitkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtcGlkMC1jb3JlLmNvcmUuYnoy LnV1IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtcGlkMC1jb3JlLmNvcmUuYnoyLnV1 CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNGM4MjAwYzI0MworLS0t IC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtcGlkMC1jb3Jl LmNvcmUuYnoyLnV1CiBAQCAtMCwwICsxLDIwIEBACiArYmVnaW4gNjAwIHg4Nl82NC1waWQwLWNv cmUuY29yZS5iejIKICtNMEVJSC4zJSE2MjkzNjIsQ0E+UCEkLydfX19fX14qI0VaLUEhU1AzNlAm XzpHMCM9MTRgYDA0QSY4LCdVCkBAIC0zOCwxMCArNDgsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjkw LjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXBpZDAtY29yZS5jb3JlLmJ6 Mi51dQogKzRCLlohLywwLUlaXldfUT1SMTNBMEQiLENBPlBgCiArYAogK2VuZAotSW5kZXg6IGdk Yi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXBpZDAtY29y ZS5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAw MDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5h cmNoL3g4Nl82NC1waWQwLWNvcmUuZXhwCTIwMTYtMDItMTUgMjM6MjM6NTUuMTQ1ODc1NzA0ICsw MTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtcGlkMC1jb3Jl LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXBpZDAtY29yZS5leHAKK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi43YTVhMWNhYzE5CistLS0gL2Rldi9u dWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC1waWQwLWNvcmUuZXhwCiBA QCAtMCwwICsxLDQ2IEBACiArIyBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05V IGRlYnVnZ2VyLgogKyMgCkBAIC04OSwzICsxMDAsNiBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAx NjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtcGlkMC1jb3JlLmV4cAogKyMgRm9y bWVyIGNyYXNoIHdhczoKICsjIHRocmVhZC5jOjg4NDogaW50ZXJuYWwtZXJyb3I6IHN3aXRjaF90 b190aHJlYWQ6IEFzc2VydGlvbiBgaW5mICE9IE5VTEwnIGZhaWxlZC4KICtnZGJfdGVzdCAiY29y ZS1maWxlICR7Y29yZWZpbGV9IiAiUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsICgxMXxT SUdTRUdWKSwgU2VnbWVudGF0aW9uIGZhdWx0XFwuXHJcbi4qIgorLS0gCisyLjE0LjMKKwoKZGlm ZiAtLWdpdCBhL2dkYi10ZXN0c3VpdGUtcmVhZGxpbmU2My1zaWdpbnQucGF0Y2ggYi9nZGItdGVz dHN1aXRlLXJlYWRsaW5lNjMtc2lnaW50LnBhdGNoCmluZGV4IDIzZmVjODEuLjA5N2QyN2UgMTAw NjQ0Ci0tLSBhL2dkYi10ZXN0c3VpdGUtcmVhZGxpbmU2My1zaWdpbnQucGF0Y2gKKysrIGIvZ2Ri LXRlc3RzdWl0ZS1yZWFkbGluZTYzLXNpZ2ludC5wYXRjaApAQCAtMSwyMCArMSwyNyBAQAorRnJv bSAwNDI2ZWFmM2RjYTM3YWEwMGVkZjkyNjY4NjcwMWJkMjY0NDJjMzY4IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4K IERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi10ZXN0 c3VpdGUtcmVhZGxpbmU2My1zaWdpbnQucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi10ZXN0c3VpdGUt cmVhZGxpbmU2My1zaWdpbnQucGF0Y2gKIAorOzsgW3Rlc3RzdWl0ZV0gRml4IGZhbHNlIHNlbGZ0 ZXN0LmV4cCBGQUlMIGZyb20gc3lzdGVtIHJlYWRsaW5lLTYuMysgKFBhdHJpY2sgUGFsa2EpLgor Ozs9ZmVkb3JhdGVzdAorCiBnZGIvdXNlcnMvcHBhbGthL3JlYWRsaW5lLTcuMC11cGRhdGUKIGNv bW1pdCAzNzkwNTkyMTVlODIzNTU1YTM3YThkYzdlMDJjZWY4ZmQ4NjU2NmU0CiBodHRwczovL3Nv dXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTUtMDcvbXNnMDA0MjIuaHRtbAogTWVzc2Fn ZS1JZDogPDE0MzY5Mjc3MjQtNDA1OS0xLWdpdC1zZW5kLWVtYWlsLXBhdHJpY2tAcGFyY3MuYXRo LmN4PgogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMzAxMTc1 CistLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwIHwgMjIgKysrKysrKysr KysrKysrKysrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQogCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMzEvZ2RiL3Rlc3RzdWl0ZS9nZGIu Z2RiL3NlbGZ0ZXN0LmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTYwMTMxLm9y aWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cAkyMDE2LTAxLTMxIDE5OjQ0OjQ3 LjE1Njk2MzQxOSArMDEwMAotKysrIGdkYi03LjEwLjUwLjIwMTYwMTMxL2dkYi90ZXN0c3VpdGUv Z2RiLmdkYi9zZWxmdGVzdC5leHAJMjAxNi0wMS0zMSAxOTo0NToxMS4yNDUxMzUxNzMgKzAxMDAK LUBAIC00NTgsOSArNDU4LDI1IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2Ri L3NlbGZ0ZXN0LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAKK2luZGV4 IGE0YTQ0NmY5ZGYuLmNjODBkMTcxZGMgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5n ZGIvc2VsZnRlc3QuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhw CitAQCAtMTA0LDkgKzEwNCwyNSBAQCBwcm9jIHRlc3Rfd2l0aF9zZWxmIHsgfSB7CiAgICAgIH0K ICAgICAgCiAgICAgIHNldCBkZXNjcmlwdGlvbiAic2VuZCBTSUdJTlQgc2lnbmFsIHRvIGNoaWxk IHByb2Nlc3MiCkBAIC00MywzICs1MCw2IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE2MDEzMS9n ZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwCiAgCiAgICAgICMgU3dpdGNoIGJhY2sg dG8gdGhlIEdEQiB0aHJlYWQgaWYgR3VpbGUgc3VwcG9ydCBpcyBsaW5rZWQgaW4uCiAgICAgICMg InNpZ25hbCBTSUdJTlQiIGNvdWxkIGFsc28gc3dpdGNoIHRoZSBjdXJyZW50IHRocmVhZC4KKy0t IAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItdGxzLTFvZjIucGF0Y2ggYi9nZGItdGxzLTFv ZjIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmNjYwYWEuLjAwMDAwMDAK LS0tIGEvZ2RiLXRscy0xb2YyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAot RnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwg MjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IFtwYXRjaCs3LjEyLjEgMS8yXSBD b2RlIGNsZWFudXA6IHdyaXRlX2V4cF9tc3ltYm9sOiAraXNfdGxzCi0KLUZpbGVOYW1lOiBnZGIt dGxzLTFvZjIucGF0Y2gKLQotaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIw MTYtMTAvbXNnMDAyMDYuaHRtbAotCi0KLQotLS1YTUN3ajVJUW53S3R1eUJHCi1Db250ZW50LVR5 cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkKLUNvbnRlbnQtRGlzcG9zaXRpb246IGlu bGluZQotCi1IaSwKLQotbm8gZnVuY3Rpb25hbGl0eSBjaGFuZ2UsIGZvciBwYXRjaCAyLzIuCi0K LQotSmFuCi0KLS0tWE1Dd2o1SVFud0t0dXlCRwotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBj aGFyc2V0PXVzLWFzY2lpCi1Db250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmU7IGZpbGVuYW1lPSJ0 bHMxLnBhdGNoIgotCi1nZGIvQ2hhbmdlTG9nCi0yMDE2LTEwLTA5ICBKYW4gS3JhdG9jaHZpbCAg PGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+Ci0KLQkqIHBhcnNlLmMgKHdyaXRlX2V4cF9tc3lt Ym9sKTogTmV3IHZhcmlhYmxlIGlzX3RscywgdXNlIGl0LgotCi0tLS0gYS9nZGIvcGFyc2UuYwot KysrIGIvZ2RiL3BhcnNlLmMKLUBAIC00ODQsNiArNDg0LDggQEAgd3JpdGVfZXhwX21zeW1ib2wg KHN0cnVjdCBwYXJzZXJfc3RhdGUgKnBzLAotICAgc3RydWN0IG9ial9zZWN0aW9uICpzZWN0aW9u ID0gTVNZTUJPTF9PQkpfU0VDVElPTiAob2JqZmlsZSwgbXN5bWJvbCk7Ci0gICBlbnVtIG1pbmlt YWxfc3ltYm9sX3R5cGUgdHlwZSA9IE1TWU1CT0xfVFlQRSAobXN5bWJvbCk7Ci0gICBDT1JFX0FE RFIgcGM7Ci0rICBjb25zdCBpbnQgaXNfdGxzID0gKHNlY3Rpb24gIT0gTlVMTAotKwkJICAgICAg JiYgc2VjdGlvbi0+dGhlX2JmZF9zZWN0aW9uLT5mbGFncyAmIFNFQ19USFJFQURfTE9DQUwpOwot IAotICAgLyogVGhlIG1pbmltYWwgc3ltYm9sIG1pZ2h0IHBvaW50IHRvIGEgZnVuY3Rpb24gZGVz Y3JpcHRvcjsKLSAgICAgIHJlc29sdmUgaXQgdG8gdGhlIGFjdHVhbCBjb2RlIGFkZHJlc3MgaW5z dGVhZC4gICovCi1AQCAtNTIwLDcgKzUyMiw3IEBAIHdyaXRlX2V4cF9tc3ltYm9sIChzdHJ1Y3Qg cGFyc2VyX3N0YXRlICpwcywKLSAgIHdyaXRlX2V4cF9lbHRfbG9uZ2NzdCAocHMsIChMT05HRVNU KSBhZGRyKTsKLSAgIHdyaXRlX2V4cF9lbHRfb3Bjb2RlIChwcywgT1BfTE9ORyk7Ci0gCi0tICBp ZiAoc2VjdGlvbiAmJiBzZWN0aW9uLT50aGVfYmZkX3NlY3Rpb24tPmZsYWdzICYgU0VDX1RIUkVB RF9MT0NBTCkKLSsgIGlmIChpc190bHMpCi0gICAgIHsKLSAgICAgICB3cml0ZV9leHBfZWx0X29w Y29kZSAocHMsIFVOT1BfTUVNVkFMX1RMUyk7Ci0gICAgICAgd3JpdGVfZXhwX2VsdF9vYmpmaWxl IChwcywgb2JqZmlsZSk7Ci0KLS0tWE1Dd2o1SVFud0t0dXlCRy0tCi0KCmRpZmYgLS1naXQgYS9n ZGItdGxzLTJvZjIucGF0Y2ggYi9nZGItdGxzLTJvZjIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDFmMDUwZTIuLjAwMDAwMDAKLS0tIGEvZ2RiLXRscy0yb2YyLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMTY1ICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8 aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAw Ci1TdWJqZWN0OiBbcGF0Y2grNy4xMi4xIDIvMl0gRml4IFRMUyAoc3VjaCBhcyAnZXJybm8nKSBy ZWdyZXNzaW9uCi0KLUZpbGVOYW1lOiBnZGItdGxzLTJvZjIucGF0Y2gKLQotaHR0cDovL3NvdXJj ZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTYtMTAvbXNnMDAyMDcuaHRtbAotCi0KLQotLS0z UHFsOG1pdWdJWlgwNzIyCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNj aWkKLUNvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZQotCi1IaSwKLQotMjI3M2YwYWM5NWE3OWNl MjllZjQyMDI1YzYzZjkwZTgyY2Y5MDdkNyBpcyB0aGUgZmlyc3QgYmFkIGNvbW1pdAotY29tbWl0 IDIyNzNmMGFjOTVhNzljZTI5ZWY0MjAyNWM2M2Y5MGU4MmNmOTA3ZDcKLUF1dGhvcjogVG9tIFRy b21leSA8dHJvbWV5QHJlZGhhdC5jb20+Ci1EYXRlOiAgIFR1ZSBPY3QgMTUgMTM6Mjg6NTcgMjAx MyAtMDYwMAotICAgIGNoYW5nZSBtaW5zeW1zIG5vdCB0byBiZSByZWxvY2F0ZWQgYXQgcmVhZC10 aW1lCi1bRllJIHYzIDA2LzEwXSBjaGFuZ2UgbWluc3ltcyBub3QgdG8gYmUgcmVsb2NhdGVkIGF0 IHJlYWQtdGltZQotTWVzc2FnZS1JZDogPDEzOTM0NDEyNzMtMzIyNjgtNy1naXQtc2VuZC1lbWFp bC10cm9tZXlAcmVkaGF0LmNvbT4KLWh0dHBzOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNo ZXMvMjAxNC0wMi9tc2cwMDc5OC5odG1sCi0KLW12IC91c3IvbGliL2RlYnVnIC91c3IvbGliL2Rl YnVnLXgKLWVjaG8gJ2ludCBtYWluKCl7fSd8Z2NjIC1wdGhyZWFkIC14IGMgLQotLi9nZGIgLXEg LWV4IHN0YXJ0IC1leCAnc2V0IGRlYnVnIGV4cHIgMScgLWV4ICdwIGVycm5vJyAuL2Eub3V0IAot CSAgICAwICBVTk9QX01FTVZBTF9UTFMgICAgICAgVExTIHR5cGUgQDB4MzVkZjdlMCAoX190aHJl YWQgLyogIi9saWI2NC9saWJjLnNvLjYiICovIDx0aHJlYWQgbG9jYWwgdmFyaWFibGUsIG5vIGRl YnVnIGluZm8+KQotCSAgICA0ICAgIE9QX0xPTkcgICAgICAgICAgICAgICBUeXBlIEAweDM1ZGY4 NTAgKF9fQ09SRV9BRERSKSwgdmFsdWUgMTQwNzM3MzQ1NzI4NTI4ICgweDdmZmZmNzdmYjAxMCkK LUNhbm5vdCBhY2Nlc3MgbWVtb3J5IGF0IGFkZHJlc3MgMHhmZmZmZWY3Yzk2OTgKLS0+Ci0JICAg IDAgIFVOT1BfTUVNVkFMX1RMUyAgICAgICBUTFMgdHlwZSBAMHgzYWQ5NTIwIChfX3RocmVhZCAv KiAiL2xpYjY0L2xpYmMuc28uNiIgKi8gPHRocmVhZCBsb2NhbCB2YXJpYWJsZSwgbm8gZGVidWcg aW5mbz4pCi0JICAgIDQgICAgT1BfTE9ORyAgICAgICAgICAgICAgIFR5cGUgQDB4M2FkOTU5MCAo X19DT1JFX0FERFIpLCB2YWx1ZSAxNiAoMHgxMCkKLSQxID0gMAotCi1XaXRoIGdsaWJjIGRlYnVn aW5mbywgdGhhdCBpcyB3aXRob3V0OiBtdiAvdXNyL2xpYi9kZWJ1ZyAvdXNyL2xpYi9kZWJ1Zy14 Ci0JICAgIDAgIE9QX1ZBUl9WQUxVRSAgICAgICAgICBCbG9jayBAMHgzYjMwZTcwLCBzeW1ib2wg QDB4M2IzMGQxMCAoZXJybm8pCi0kMSA9IDAKLVNvIHN1Y2ggY2FzZSBpcyB1bnJlbGF0ZWQgdG8g dGhpcyBwYXRjaCBhbmQgdGhlIHJlZ3Jlc3Npb24gaXMgbm90IHZpc2libGUgd2l0aAotZ2xpYmMg ZGVidWdpbmZvIGluc3RhbGxlZC4KLQotSSBndWVzcyBhbGwgdGhlc2UgaXNzdWVzIHdpbGwgYmUg c29sdmVkIGJ5IEdhcnkgQmVuc29uJ3MgSW5maW5pdHkuCi1CdXQgYXQgbGVhc3QgZm9yIG9sZGVy IG5vbi1JbmZpbml0eSBnbGliY3MgR0RCIHNob3VsZCBub3QgcmVncmVzcy4KLQotRm9yIHRoZSB0 ZXN0Y2FzZSBpdCBpcyBpbXBvcnRhbnQgdGhlIHZhcmlhYmxlIGlzIGluIG9iamZpbGUgd2l0aCBu b24temVybyBiYXNlCi1hZGRyZXNzLiAgZ2xpYmMgaXMgYSBzaGFyZWQgbGlicmFyeSBmb3IgJ2Vy cm5vJyBidXQgSSBmb3VuZCBlYXNpZXIgZm9yIHRoZQotdGVzdGNhc2UgdG8gdXNlIFBJRSBpbnN0 ZWFkIG9mIGEgc2hsaWIuICBGb3IgVExTIHZhcmlhYmxlcyBpbiBQVF9FWEVDIHRoZQotcmVncmVz c2lvbiBvYnZpb3VzbHkgZG9lcyBub3QgaGFwcGVuLgotCi1JdCBoYXMgYmVlbiBmb3VuZCBieSBh IG1vcmUgY29tcGxldGUgdGVzdGNhc2UgcHJlc2VudCBpbiBGZWRvcmEsIHRoZSBmaXggdGhlcmUK LWFsc28gc29sdmVzIG1vcmUgY2FzZXMgd2hlcmUgRlNGIEdEQiBjdXJyZW50bHkgY2Fubm90IHJl c29sdmUgJ2Vycm5vJzoKLQlodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9jZ2l0L3JwbXMv Z2RiLmdpdC90cmVlL2dkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMtd2l0aG91dC1kZWJ1Z2lu Zm8tdjIucGF0Y2gKLQlGQUlMOiBnZGIuZHdhcmYyL2R3Mi1lcnJubzIuZXhwOiBtYWNyb3M9TiB0 aHJlYWRzPVk6IHByaW50IGVycm5vIGZvciBjb3JlCi0KLU5vIHJlZ3Jlc3Npb25zIG9uIHt4ODZf NjQseDg2XzY0LW0zMixpNjg2fS1mZWRvcmEyNnByZS1saW51eC1nbnUuCi0KLU9LIGZvciBjaGVj ay1pbj8KLQotCi1UaGFua3MsCi1KYW4KLQotLS0zUHFsOG1pdWdJWlgwNzIyCi1Db250ZW50LVR5 cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkKLUNvbnRlbnQtRGlzcG9zaXRpb246IGlu bGluZTsgZmlsZW5hbWU9InRsczEtMi5wYXRjaCIKLQotZ2RiL0NoYW5nZUxvZwotMjAxNi0xMC0w OSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgotCi0JKiBwYXJz ZS5jICh3cml0ZV9leHBfbXN5bWJvbCk6IEZpeCBBRERSIGNvbXB1dGF0aW9uLgotCi1nZGIvdGVz dHN1aXRlL0NoYW5nZUxvZwotMjAxNi0xMC0wOSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9j aHZpbEByZWRoYXQuY29tPgotCi0JKiBnZGIudGhyZWFkcy90bHMtbm9kZWJ1Zy1waWUuYzogTmV3 IGZpbGUuCi0JKiBnZGIudGhyZWFkcy90bHMtbm9kZWJ1Zy1waWUuZXhwOiBOZXcgZmlsZS4KLQot LS0tIGEvZ2RiL3BhcnNlLmMKLSsrKyBiL2dkYi9wYXJzZS5jCi1AQCAtNDgwLDEzICs0ODAsMTcg QEAgd3JpdGVfZXhwX21zeW1ib2wgKHN0cnVjdCBwYXJzZXJfc3RhdGUgKnBzLAotICAgc3RydWN0 IG9iamZpbGUgKm9iamZpbGUgPSBib3VuZF9tc3ltLm9iamZpbGU7Ci0gICBzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCA9IGdldF9vYmpmaWxlX2FyY2ggKG9iamZpbGUpOwotIAotLSAgQ09SRV9BRERS IGFkZHIgPSBCTVNZTUJPTF9WQUxVRV9BRERSRVNTIChib3VuZF9tc3ltKTsKLSAgIHN0cnVjdCBv Ympfc2VjdGlvbiAqc2VjdGlvbiA9IE1TWU1CT0xfT0JKX1NFQ1RJT04gKG9iamZpbGUsIG1zeW1i b2wpOwotICAgZW51bSBtaW5pbWFsX3N5bWJvbF90eXBlIHR5cGUgPSBNU1lNQk9MX1RZUEUgKG1z eW1ib2wpOwotLSAgQ09SRV9BRERSIHBjOwotKyAgQ09SRV9BRERSIGFkZHIsIHBjOwotICAgY29u c3QgaW50IGlzX3RscyA9IChzZWN0aW9uICE9IE5VTEwKLSAJCSAgICAgICYmIHNlY3Rpb24tPnRo ZV9iZmRfc2VjdGlvbi0+ZmxhZ3MgJiBTRUNfVEhSRUFEX0xPQ0FMKTsKLSAKLSsgIGlmIChpc190 bHMpCi0rICAgIGFkZHIgPSBNU1lNQk9MX1ZBTFVFX1JBV19BRERSRVNTIChib3VuZF9tc3ltLm1p bnN5bSk7Ci0rICBlbHNlCi0rICAgIGFkZHIgPSBCTVNZTUJPTF9WQUxVRV9BRERSRVNTIChib3Vu ZF9tc3ltKTsKLSsKLSAgIC8qIFRoZSBtaW5pbWFsIHN5bWJvbCBtaWdodCBwb2ludCB0byBhIGZ1 bmN0aW9uIGRlc2NyaXB0b3I7Ci0gICAgICByZXNvbHZlIGl0IHRvIHRoZSBhY3R1YWwgY29kZSBh ZGRyZXNzIGluc3RlYWQuICAqLwotICAgcGMgPSBnZGJhcmNoX2NvbnZlcnRfZnJvbV9mdW5jX3B0 cl9hZGRyIChnZGJhcmNoLCBhZGRyLCAmY3VycmVudF90YXJnZXQpOwotLS0tIC9kZXYvbnVsbAot KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtbm9kZWJ1Zy1waWUuYwotQEAgLTAs MCArMSwyNyBAQAotKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVi dWdnZXIuCi0rCi0rICAgQ29weXJpZ2h0IDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0r ICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKLSsgICBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsg ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgotKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKLSsgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgotKwotKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0u ICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwotKwotKyNp bmNsdWRlIDxwdGhyZWFkLmg+Ci0rCi0rX190aHJlYWQgaW50IHRocmVhZF9sb2NhbCA9IDQyOwot KwotK2ludCBtYWluKHZvaWQpCi0rewotKyAgLyogRW5zdXJlIHdlIGxpbmsgYWdhaW5zdCBwdGhy ZWFkcyBldmVuIHdpdGggLS1hcy1uZWVkZWQuICAqLwotKyAgcHRocmVhZF90ZXN0Y2FuY2VsKCk7 Ci0rICByZXR1cm4gMDsKLSt9Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi50aHJlYWRzL3Rscy1ub2RlYnVnLXBpZS5leHAKLUBAIC0wLDAgKzEsMjkgQEAKLSsjIENvcHly aWdodCAyMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyMgVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKLSsjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5Ci0rIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KLSsjCi0rIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rIyBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKyMKLSsjIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl Ci0rIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4KLSsKLStzdGFuZGFyZF90ZXN0ZmlsZQotKwotK2lmIHtbZ2RiX2Nv bXBpbGVfcHRocmVhZHMgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNmaWxlfSIgIiR7YmluZmls ZX0iIGV4ZWN1dGFibGUgXAotKwkJCSAgW2xpc3QgImFkZGl0aW9uYWxfZmxhZ3M9LWZQSUUgLXBp ZSJdXSAhPSAiIiB9IHsKLSsgICAgcmV0dXJuIC0xCi0rfQotKwotK2NsZWFuX3Jlc3RhcnQgJHti aW5maWxlfQotK2lmICFbcnVudG9fbWFpbl0gdGhlbiB7Ci0rICAgcmV0dXJuIDAKLSt9Ci0rCi0r IyBGb3JtZXJseTogQ2Fubm90IGFjY2VzcyBtZW1vcnkgYXQgYWRkcmVzcyAweGQ1NTU0ZDUyMTZm YwotK2dkYl90ZXN0ICJwIHRocmVhZF9sb2NhbCIgIiA9IDQyIiAidGhyZWFkIGxvY2FsIHN0b3Jh Z2UiCi0KLS0tM1BxbDhtaXVnSVpYMDcyMi0tCi0KCmRpZmYgLS1naXQgYS9nZGItdXBzdHJlYW0u cGF0Y2ggYi9nZGItdXBzdHJlYW0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IGFhNDhlZjAuLjAwMDAwMDAKLS0tIGEvZ2RiLXVwc3RyZWFtLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsNzYgKzAsMCBAQAotY29tbWl0IDE2ZWI2YjJkYjQ5ZTZjZjJmZGNhNTZlZmQzNzY4OWZj YzE3MGNkMzcKLUF1dGhvcjogTGVzemVrIFN3aXJza2kgPGxlc3pla3NAZ29vZ2xlLmNvbT4KLURh dGU6ICAgTW9uIEF1ZyA3IDE2OjQwOjM4IDIwMTcgKzAyMDAKLQotICAgIEZpeCBkd2FyZjJfc3Ry aW5nX2F0dHIgZm9yIC1nc3BsaXQtZHdhcmYKLSAgICAKLSAgICBUaGUgZHdhcmYyX3N0cmluZ19h dHRyIGRpZCBub3QgYWxsb3cgRFdfRk9STV9HTlVfc3RyX2luZGV4IGFzIGEgZm9ybSBmb3IKLSAg ICBzdHJpbmcgdHlwZXMuIFRoaXMgbWFuaWZlc3RlZCBhcyBudWxsIHN0cmluZ3MgaW4gdGhlIG5h bWVzcGFjZV9uYW1lCi0gICAgbG9va3VwIChyZXBsYWNlZCB3aXRoICIoYW5vbnltb3VzIG5hbWVz cGFjZSkiKSB3aGVuIGRlYnVnZ2luZwotICAgIEZpc3Npb24tY29tcGlsZWQgY29kZS4KLSAgICAK LSAgICBnZGIvQ2hhbmdlTG9nOgotICAgIAotICAgICAgICAgICAgKiBkd2FyZjJyZWFkLmMgKGR3 YXJmMl9zdHJpbmdfYXR0cik6IEFsbG93IERXX0ZPUk1fR05VX3N0cnBfYWx0LgotCi0jIyMgYS9n ZGIvQ2hhbmdlTG9nCi0jIyMgYi9nZGIvQ2hhbmdlTG9nCi0jIyAtMSwzICsxLDcgQEAKLSsyMDE3 LTA4LTA3ICBMZXN6ZWsgU3dpcnNraSAgPGxlc3pla3NAZ29vZ2xlLmNvbT4KLSsKLSsJKiBkd2Fy ZjJyZWFkLmMgKGR3YXJmMl9zdHJpbmdfYXR0cik6IEFsbG93IERXX0ZPUk1fR05VX3N0cnBfYWx0 LgotKwotIDIwMTctMDgtMDcgIFNpbW9uIE1hcmNoaSAgPHNpbW9uLm1hcmNoaUBlcmljc3Nvbi5j b20+Ci0gCi0gCSogcmVtb3RlLXNpbS5jIChnZGJzaW1fbG9hZCk6IFJlbW92ZSBjaGFyICoqYXJn diBsb2NhbCB2YXJpYWJsZS4KLS0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKLSsrKyBiL2dkYi9kd2Fy ZjJyZWFkLmMKLUBAIC0xNzYyMyw3ICsxNzYyMyw4IEBAIGR3YXJmMl9zdHJpbmdfYXR0ciAoc3Ry dWN0IGRpZV9pbmZvICpkaWUsIHVuc2lnbmVkIGludCBuYW1lLCBzdHJ1Y3QgZHdhcmYyX2N1ICpj Ci0gICBpZiAoYXR0ciAhPSBOVUxMKQotICAgICB7Ci0gICAgICAgaWYgKGF0dHItPmZvcm0gPT0g RFdfRk9STV9zdHJwIHx8IGF0dHItPmZvcm0gPT0gRFdfRk9STV9saW5lX3N0cnAKLS0JICB8fCBh dHRyLT5mb3JtID09IERXX0ZPUk1fc3RyaW5nIHx8IGF0dHItPmZvcm0gPT0gRFdfRk9STV9HTlVf c3RycF9hbHQpCi0rCSAgfHwgYXR0ci0+Zm9ybSA9PSBEV19GT1JNX3N0cmluZyB8fCBEV19GT1JN X0dOVV9zdHJfaW5kZXgKLSsJICB8fCBhdHRyLT5mb3JtID09IERXX0ZPUk1fR05VX3N0cnBfYWx0 KQotIAlzdHIgPSBEV19TVFJJTkcgKGF0dHIpOwotICAgICAgIGVsc2UKLSAgICAgICAgIGNvbXBs YWludCAoJnN5bWZpbGVfY29tcGxhaW50cywKLQotCi0KLWNvbW1pdCBiMzM0MDQzODhlNWJiZDhh MWZkZGZkZTczY2Q0NTkzYWUyYjU1N2U4Ci1BdXRob3I6IEguSi4gTHUgPGhqbC50b29sc0BnbWFp bC5jb20+Ci1EYXRlOiAgIFdlZCBBdWcgOSAwNTowMTo1NSAyMDE3IC0wNzAwCi0KLSAgICBnZGI6 IEZpeCBidWlsZCBmYWlsdXJlIHdpdGggR0NDIDcKLSAgICAKLSAgICBGaXg6Ci0gICAgCi0gICAg L2V4cG9ydC9nbnUvaW1wb3J0L2dpdC9zb3VyY2VzL2JpbnV0aWxzLWdkYi9nZGIvZHdhcmYycmVh ZC5jOiBJbiBmdW5jdGlvbiDigJhjb25zdCBjaGFyKiBkd2FyZjJfc3RyaW5nX2F0dHIoZGllX2lu Zm8qLCB1bnNpZ25lZCBpbnQsIGR3YXJmMl9jdSop4oCZOgotICAgIC9leHBvcnQvZ251L2ltcG9y dC9naXQvc291cmNlcy9iaW51dGlscy1nZGIvZ2RiL2R3YXJmMnJlYWQuYzoxNzYyNjozOTogZXJy b3I6IGVudW0gY29uc3RhbnQgaW4gYm9vbGVhbiBjb250ZXh0IFstV2Vycm9yPWludC1pbi1ib29s LWNvbnRleHRdCi0gICAgICAgIHx8IGF0dHItPmZvcm0gPT0gRFdfRk9STV9zdHJpbmcgfHwgRFdf Rk9STV9HTlVfc3RyX2luZGV4Ci0gICAgCi0gICAgICAgICAgICAqIGR3YXJmMnJlYWQuYyAoZHdh cmYyX3N0cmluZ19hdHRyKTogRml4IGEgdHlwby4KLQotIyMjIGEvZ2RiL0NoYW5nZUxvZwotIyMj IGIvZ2RiL0NoYW5nZUxvZwotIyMgLTEsMyArMSw3IEBACi0rMjAxNy0wOC0wOSAgSC5KLiBMdSAg PGhvbmdqaXUubHVAaW50ZWwuY29tPgotKwotKwkqIGR3YXJmMnJlYWQuYyAoZHdhcmYyX3N0cmlu Z19hdHRyKTogRml4IGEgdHlwby4KLSsKLSAyMDE3LTA4LTA5ICBBbGV4IExpbmRzYXkgIDxhbGV4 bGluZHNheTIzOUBnbWFpbC5jb20+Ci0gCSAgICBZYW8gUWkgIDx5YW8ucWlAbGluYXJvLm9yZz4K LSAKLS0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKLSsrKyBiL2dkYi9kd2FyZjJyZWFkLmMKLUBAIC0x NzYyMyw3ICsxNzYyMyw4IEBAIGR3YXJmMl9zdHJpbmdfYXR0ciAoc3RydWN0IGRpZV9pbmZvICpk aWUsIHVuc2lnbmVkIGludCBuYW1lLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjCi0gICBpZiAoYXR0ciAh PSBOVUxMKQotICAgICB7Ci0gICAgICAgaWYgKGF0dHItPmZvcm0gPT0gRFdfRk9STV9zdHJwIHx8 IGF0dHItPmZvcm0gPT0gRFdfRk9STV9saW5lX3N0cnAKLS0JICB8fCBhdHRyLT5mb3JtID09IERX X0ZPUk1fc3RyaW5nIHx8IERXX0ZPUk1fR05VX3N0cl9pbmRleAotKwkgIHx8IGF0dHItPmZvcm0g PT0gRFdfRk9STV9zdHJpbmcKLSsJICB8fCBhdHRyLT5mb3JtID09IERXX0ZPUk1fR05VX3N0cl9p bmRleAotIAkgIHx8IGF0dHItPmZvcm0gPT0gRFdfRk9STV9HTlVfc3RycF9hbHQpCi0gCXN0ciA9 IERXX1NUUklORyAoYXR0cik7Ci0gICAgICAgZWxzZQoKZGlmZiAtLWdpdCBhL2dkYi12bGEtaW50 ZWwtZml4LXByaW50LWNoYXItYXJyYXkucGF0Y2ggYi9nZGItdmxhLWludGVsLWZpeC1wcmludC1j aGFyLWFycmF5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhNjBh ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9nZGItdmxhLWludGVsLWZpeC1wcmludC1jaGFyLWFycmF5 LnBhdGNoCkBAIC0wLDAgKzEsNzIgQEAKK0Zyb20gMmE1MTBjMzhlNzZkYmFhNWNlNjdlNmUyZGE1 ZDI3MjA5MzY4NzJiOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNlcmdpbyBEdXJp Z2FuIEp1bmlvciA8c2VyZ2lvZGpAcmVkaGF0LmNvbT4KK0RhdGU6IFRodSwgNyBEZWMgMjAxNyAx NjoyMDozMSAtMDUwMAorU3ViamVjdDogZ2RiLXZsYS1pbnRlbC1maXgtcHJpbnQtY2hhci1hcnJh eS5wYXRjaAorCitGaWxlTmFtZTogZ2RiLXZsYS1pbnRlbC1maXgtcHJpbnQtY2hhci1hcnJheS5w YXRjaAorCis7OyBSZXZlcnQgdXBzdHJlYW0gY29tbWl0IDQ2OTQxMmRkOWNjYzRkZTU4NzRmZDMy OTliMTA1ODMzZjM2YjM0Y2QKKworUmV2ZXJ0IGNvbW1pdCAob25seSB0aGUgcGFydCB0b3VjaGlu ZyBnZGIvZi12YWxwcmludC5jKToKKworICBjb21taXQgNDY5NDEyZGQ5Y2NjNGRlNTg3NGZkMzI5 OWIxMDU4MzNmMzZiMzRjZAorICBBdXRob3I6IENocmlzdG9waCBXZWlubWFubiA8Y2hyaXN0b3Bo LnQud2Vpbm1hbm5AaW50ZWwuY29tPgorICBEYXRlOiAgIEZyaSBTZXAgOCAxNToxMTo0NyAyMDE3 ICswMjAwCisKKyAgICAgIFJlbW92ZSBDL0MrKyByZWxldmFudCBjb2RlIGluIEZvcnRyYW4gc3Bl Y2lmaWMgZmlsZS4KKworICAgICAgUmVtb3ZlIGNvZGUgcmVsZXZhbnQgZm9yIHByaW50aW5nIEMv QysrIEludGVnZXIgdmFsdWVzIGluIGEKKyAgICAgIEZvcnRyYW4gc3BlY2lmaWMgZmlsZSB0byB1 bmlmeSBwcmludGluZyBvZiBGb3J0cmFuIHZhbHVlcy4KKyAgICAgIFRoaXMgZG9lcyBub3QgY2hh bmdlIHRoZSBvdXRwdXQuCisKK0FuZCBhZGp1c3QgaXRzIHRlc3RjYXNlLgorLS0tCisgZ2RiL2Yt dmFscHJpbnQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxOCArKysrKysrKysrKysr KysrLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50aW5nLXR5cGVzLmV4cCB8ICAy ICstCisgMiBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvZ2RiL2YtdmFscHJpbnQuYyBiL2dkYi9mLXZhbHByaW50LmMKK2luZGV4 IDEwYzU3NGM3ZmEuLmVlZTA5MGRmZGQgMTAwNjQ0CistLS0gYS9nZGIvZi12YWxwcmludC5jCisr KysgYi9nZGIvZi12YWxwcmludC5jCitAQCAtMzE0LDggKzMxNCwyMiBAQCBmX3ZhbF9wcmludCAo c3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAorIAkJCQkgICAgICBv cmlnaW5hbF92YWx1ZSwgJm9wdHMsIDAsIHN0cmVhbSk7CisgCX0KKyAgICAgICBlbHNlCistCXZh bF9wcmludF9zY2FsYXJfZm9ybWF0dGVkICh0eXBlLCBlbWJlZGRlZF9vZmZzZXQsCistCQkJCSAg ICBvcmlnaW5hbF92YWx1ZSwgb3B0aW9ucywgMCwgc3RyZWFtKTsKKysJeworKwkgIHZhbF9wcmlu dF9zY2FsYXJfZm9ybWF0dGVkICh0eXBlLCBlbWJlZGRlZF9vZmZzZXQsCisrCQkJCSAgICAgIG9y aWdpbmFsX3ZhbHVlLCBvcHRpb25zLCAwLCBzdHJlYW0pOworKwkgIC8qIEMgYW5kIEMrKyBoYXMg bm8gc2luZ2xlIGJ5dGUgaW50IHR5cGUsIGNoYXIgaXMgdXNlZCBpbnN0ZWFkLgorKwkgICAgIFNp bmNlIHdlIGRvbid0IGtub3cgd2hldGhlciB0aGUgdmFsdWUgaXMgcmVhbGx5IGludGVuZGVkIHRv CisrCSAgICAgYmUgdXNlZCBhcyBhbiBpbnRlZ2VyIG9yIGEgY2hhcmFjdGVyLCBwcmludCB0aGUg Y2hhcmFjdGVyCisrCSAgICAgZXF1aXZhbGVudCBhcyB3ZWxsLiAgKi8KKysJICBpZiAoVFlQRV9M RU5HVEggKHR5cGUpID09IDEpCisrCSAgICB7CisrCSAgICAgIExPTkdFU1QgYzsKKysKKysJICAg ICAgZnB1dHNfZmlsdGVyZWQgKCIgIiwgc3RyZWFtKTsKKysJICAgICAgYyA9IHVucGFja19sb25n ICh0eXBlLCB2YWxhZGRyICsgZW1iZWRkZWRfb2Zmc2V0KTsKKysJICAgICAgTEFfUFJJTlRfQ0hB UiAoKHVuc2lnbmVkIGNoYXIpIGMsIHR5cGUsIHN0cmVhbSk7CisrCSAgICB9CisrCX0KKyAgICAg ICBicmVhazsKKyAKKyAgICAgY2FzZSBUWVBFX0NPREVfU1RSVUNUOgorZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRpbmctdHlwZXMuZXhwIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9wcmludGluZy10eXBlcy5leHAKK2luZGV4IDA4NWRlNGZjOGYuLjdiMmM2 NTE2ZGEgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50aW5nLXR5 cGVzLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludGluZy10eXBlcy5l eHAKK0BAIC0yOSw3ICsyOSw3IEBAIGlmIHshW3J1bnRvIE1BSU5fX119IHRoZW4geworIGdkYl9i cmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJ3cml0ZSJdCisgZ2RiX2NvbnRpbnVlX3Rv X2JyZWFrcG9pbnQgIndyaXRlIgorIAorLWdkYl90ZXN0ICJwcmludCBvbmVCeXRlIgkiID0gMSIK KytnZGJfdGVzdCAicHJpbnQgb25lQnl0ZSIJIiA9IDEgXCdcXFxcMDAxXCciCisgZ2RiX3Rlc3Qg InByaW50IHR3b2J5dGVzIgkiID0gMiIKKyBnZGJfdGVzdCAicHJpbnQgY2h2YWx1ZSIJIiA9IFwn YVwnIgorIGdkYl90ZXN0ICJwcmludCBsb2d2YWx1ZSIJIiA9IFwuVFJVRVwuIgorLS0gCisyLjE0 LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi12bGEtaW50ZWwtZm9ydHJhbi1zdHJpZGVzLnBhdGNoIGIv Z2RiLXZsYS1pbnRlbC1mb3J0cmFuLXN0cmlkZXMucGF0Y2gKaW5kZXggN2VhN2UyYy4uNTEwNmI2 ZiAxMDA2NDQKLS0tIGEvZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXN0cmlkZXMucGF0Y2gKKysrIGIv Z2RiLXZsYS1pbnRlbC1mb3J0cmFuLXN0cmlkZXMucGF0Y2gKQEAgLTEsMTAgKzEsMTMgQEAKLUZy b20gZjQwOGJhODIxZjhjOGI1YWQ2NTY0Yjk4ODA2NjY2ZDI0NzhmNzU5OSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb20gZDMyMzg4MmQyYzQ5NzI4NGYwMTBiNzBjYTYwNWIxMDAwNjhkZTMz MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52 YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBT dWJqZWN0OiBnZGItdmxhLWludGVsLWZvcnRyYW4tc3RyaWRlcy5wYXRjaAogCiBGaWxlTmFtZTog Z2RiLXZsYS1pbnRlbC1mb3J0cmFuLXN0cmlkZXMucGF0Y2gKIAorOzsgVkxBIChGb3J0cmFuIGR5 bmFtaWMgYXJyYXlzKSBmcm9tIEludGVsICsgYXJjaGVyLWphbmtyYXRvY2h2aWwtdmxhIHRlc3Rz LgorOzs9cHVzaAorCiBnaXQgZGlmZiAtLXN0YXQgLXAgZ2RiL21hc3Rlci4uLmdkYi91c2Vycy9i aGVja2VsL2ZvcnRyYW4tc3RyaWRlcwogZGJmZDcxNDBiZjRjMDUwMGQxZjVkMTkyYmU3ODFmODNm NzhmNzkyMgogCkBAIC0zMiwxMiArMzUsNDEgQEAgZGJmZDcxNDBiZjRjMDUwMGQxZjVkMTkyYmU3 ODFmODNmNzhmNzkyMgogIGdkYi92YWxvcHMuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAxOTcgKysrKysrKysrKystLQogIGdkYi92YWx1ZS5oICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgIDIgKwogIDIzIGZpbGVzIGNoYW5nZWQsIDEyNDIgaW5zZXJ0aW9ucygr KSwgMTgzIGRlbGV0aW9ucygtKQorLS0tCisgZ2RiL2R3YXJmMmxvYy5jICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICA0NiArKy0KKyBnZGIvZHdhcmYybG9jLmggICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICA2ICsKKyBnZGIvZHdhcmYycmVhZC5jICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDEzICstCisgZ2RiL2V2YWwuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IDM5MSArKysrKysrKysrKysrKysrKysrKystLS0tLQorIGdkYi9leHBwcmludC5j ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjAgKy0KKyBnZGIvZXhwcmVzc2lvbi5o ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE4ICstCisgZ2RiL2YtZXhwLnkgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0MiArKy0KKyBnZGIvZi12YWxwcmludC5jICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA4ICstCisgZ2RiL2dkYnR5cGVzLmMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAzNCArKy0KKyBnZGIvZ2RidHlwZXMuaCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDE4ICstCisgZ2RiL3BhcnNlLmMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAyNCArLQorIGdkYi9ydXN0LWV4cC55ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMTIgKy0KKyBnZGIvcnVzdC1sYW5nLmMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDE3ICstCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdGF0 aWMtYXJyYXlzLmV4cCB8IDQyMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9zdGF0aWMtYXJyYXlzLmY5MCB8ICA1NSArKysrCisgZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwICAgICB8ICAgNCArCisgZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cCAgICB8ICAgNCArCisgZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRlLmV4cCAgICB8ICA0NCArKysKKyBnZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUuZjkwICAgIHwgIDI5ICsrCisgZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi92bGEuZjkwICAgICAgICAgICB8ICAxMCArCisgZ2RiL3ZhbGFyaXRoLmMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxMCArLQorIGdkYi92YWxvcHMuYyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAxOTkgKysrKysrKysrKystLQorIGdkYi92YWx1ZS5o ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKworIDIzIGZpbGVzIGNoYW5n ZWQsIDEyNDUgaW5zZXJ0aW9ucygrKSwgMTgyIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEw MDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0YXRpYy1hcnJheXMuZXhwCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RhdGljLWFycmF5cy5mOTAK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRl LmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1z dHJpZGUuZjkwCiAKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYybG9jLmMK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9kd2FyZjJsb2Mu YwkyMDE3LTA0LTIwIDIyOjI1OjQzLjk3MzI1NDY4NSArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9kd2FyZjJsb2MuYwkyMDE3LTA0LTIwIDIyOjI2OjE0LjM1NjQ0NjU2MiArMDIw MAotQEAgLTI2MjIsMTEgKzI2MjIsMTQgQEAKK2RpZmYgLS1naXQgYS9nZGIvZHdhcmYybG9jLmMg Yi9nZGIvZHdhcmYybG9jLmMKK2luZGV4IGZlMmZlYTBkMGUuLjU0NTkyZjBiZmMgMTAwNjQ0Cist LS0gYS9nZGIvZHdhcmYybG9jLmMKKysrKyBiL2dkYi9kd2FyZjJsb2MuYworQEAgLTI2MDQsMTEg KzI2MDQsMTQgQEAgZHdhcmYyX2xvY2V4cHJfYmF0b25fZXZhbCAoY29uc3Qgc3RydWN0IGR3YXJm Ml9sb2NleHByX2JhdG9uICpkbGJhdG9uLAogIC8qIFNlZSBkd2FyZjJsb2MuaC4gICovCiAgCiAg aW50CkBAIC01NCw3ICs4Niw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdh cmYybG9jLmMKICAgIGlmIChwcm9wID09IE5VTEwpCiAgICAgIHJldHVybiAwOwogIAotQEAgLTI2 NTAsNyArMjY1Myw3IEBACitAQCAtMjYzMiw3ICsyNjM1LDcgQEAgZHdhcmYyX2V2YWx1YXRlX3By b3BlcnR5IChjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wLAogIAogIAkJKnZhbHVlID0g dmFsdWVfYXNfYWRkcmVzcyAodmFsKTsKICAJICAgICAgfQpAQCAtNjMsNyArOTUsNyBAQCBJbmRl eDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMmxvYy5jCiAgCSAgfQogICAgICAgIH0K ICAgICAgICBicmVhazsKLUBAIC0yNjcyLDcgKzI2NzUsNyBAQAorQEAgLTI2NTQsNyArMjY1Nyw3 IEBAIGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAoY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJvcCAq cHJvcCwKICAJICAgIGlmICghdmFsdWVfb3B0aW1pemVkX291dCAodmFsKSkKICAJICAgICAgewog IAkJKnZhbHVlID0gdmFsdWVfYXNfYWRkcmVzcyAodmFsKTsKQEAgLTcyLDcgKzEwNCw3IEBAIElu ZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYybG9jLmMKICAJICAgICAgfQogIAkg IH0KICAgICAgICB9Ci1AQCAtMjY4MCw4ICsyNjgzLDggQEAKK0BAIC0yNjYyLDggKzI2NjUsOCBA QCBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnBy b3AsCiAgCiAgICAgIGNhc2UgUFJPUF9DT05TVDoKICAgICAgICAqdmFsdWUgPSBwcm9wLT5kYXRh LmNvbnN0X3ZhbDsKQEAgLTgzLDcgKzExNSw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvZHdhcmYybG9jLmMKICAgICAgY2FzZSBQUk9QX0FERFJfT0ZGU0VUOgogICAgICAgIHsK ICAJc3RydWN0IGR3YXJmMl9wcm9wZXJ0eV9iYXRvbiAqYmF0b24KLUBAIC0yNzAyLDExICsyNzA1 LDM4IEBACitAQCAtMjY4NCwxMSArMjY4NywzOCBAQCBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkg KGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCiAgCSAgdmFsID0gdmFsdWVfYXQgKGJh dG9uLT5vZmZzZXRfaW5mby50eXBlLAogIAkJCSAgcGluZm8tPmFkZHIgKyBiYXRvbi0+b2Zmc2V0 X2luZm8ub2Zmc2V0KTsKICAJKnZhbHVlID0gdmFsdWVfYXNfYWRkcmVzcyAodmFsKTsKQEAgLTkx LDggKzEyMyw5IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYybG9jLmMK ICsJcmMgPSAxOwogICAgICAgIH0KICsgICAgICBicmVhazsKLSsgICAgfQotKworICAgICB9Cisg CistICByZXR1cm4gMDsKICsgIGlmIChyYyA9PSAxICYmIGlzX3NpZ25lZCA9PSAxKQogKyAgICB7 CiArICAgICAgLyogSWYgd2UgaGF2ZSBhIHZhbGlkIHJldHVybiBjYW5kaWRhdGUgYW5kIGl0J3Mg dmFsdWUgaXMgc2lnbmVkLApAQCAtMTA1LDExICsxMzgsMTAgQEAgSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9kd2FyZjJsb2MuYwogKyAgICAgIC8qIENoZWNrIGlmIHNpZ25lZCBiaXQg aXMgc2V0IGFuZCBzaWduLWV4dGVuZCB2YWx1ZXMuICAqLwogKyAgICAgIGlmICgqdmFsdWUgJiAo bmVnX21hc2spKQogKwkqdmFsdWUgfD0gKG5lZ19tYXNrICk7Ci0gICAgIH0KKysgICAgfQogKyAg cmV0dXJuIHJjOwogK30KLSAKLS0gIHJldHVybiAwOworKwogK2ludAogK2R3YXJmMl9ldmFsdWF0 ZV9wcm9wZXJ0eSAoY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJvcCAqcHJvcCwKICsJCQkgIHN0cnVj dCBmcmFtZV9pbmZvICpmcmFtZSwKQEAgLTEyNCwxMSArMTU2LDExIEBAIEluZGV4OiBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYybG9jLmMKICB9CiAgCiAgLyogU2VlIGR3YXJmMmxvYy5o LiAgKi8KLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYybG9jLmgKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9kd2FyZjJsb2MuaAkyMDE3 LTA0LTIwIDIyOjI1OjQzLjk3MzI1NDY4NSArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9kd2FyZjJsb2MuaAkyMDE3LTA0LTIwIDIyOjI2OjE0LjM1NjQ0NjU2MiArMDIwMAotQEAg LTE0Myw2ICsxNDMsMTIgQEAKK2RpZmYgLS1naXQgYS9nZGIvZHdhcmYybG9jLmggYi9nZGIvZHdh cmYybG9jLmgKK2luZGV4IGRiMDI2ZDNlNjguLjZkMjRhMDI3YTMgMTAwNjQ0CistLS0gYS9nZGIv ZHdhcmYybG9jLmgKKysrKyBiL2dkYi9kd2FyZjJsb2MuaAorQEAgLTE0Myw2ICsxNDMsMTIgQEAg aW50IGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAoY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJvcCAq cHJvcCwKICAJCQkgICAgICBzdHJ1Y3QgcHJvcGVydHlfYWRkcl9pbmZvICphZGRyX3N0YWNrLAog IAkJCSAgICAgIENPUkVfQUREUiAqdmFsdWUpOwogIApAQCAtMTQxLDExICsxNzMsMTEgQEAgSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJsb2MuaAogIC8qIEEgaGVscGVyIGZv ciB0aGUgY29tcGlsZXIgaW50ZXJmYWNlIHRoYXQgY29tcGlsZXMgYSBzaW5nbGUgZHluYW1pYwog ICAgIHByb3BlcnR5IHRvIEMgY29kZS4KICAKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvZHdhcmYycmVhZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3Jp Zy9nZGIvZHdhcmYycmVhZC5jCTIwMTctMDQtMjAgMjI6MjU6NDMuOTczMjU0Njg1ICswMjAwCi0r KysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMnJlYWQuYwkyMDE3LTA0LTIwIDIyOjI3 OjA4LjUxMDc4ODU2MiArMDIwMAotQEAgLTE1MjY4LDcgKzE1MjY4LDcgQEAKK2RpZmYgLS1naXQg YS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYworaW5kZXggNzhjNjYzYzQ5Yi4u NGYyZDA0MzI5YyAxMDA2NDQKKy0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKKysrKyBiL2dkYi9kd2Fy ZjJyZWFkLmMKK0BAIC0xNjMxMCw3ICsxNjMxMCw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3Ry dWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgc3RydWN0IHR5cGUg KmJhc2VfdHlwZSwgKm9yaWdfYmFzZV90eXBlOwogICAgc3RydWN0IHR5cGUgKnJhbmdlX3R5cGU7 CiAgICBzdHJ1Y3QgYXR0cmlidXRlICphdHRyOwpAQCAtMTU0LDcgKzE4Niw3IEBAIEluZGV4OiBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYycmVhZC5jCiAgICBpbnQgbG93X2RlZmF1bHRf aXNfdmFsaWQ7CiAgICBpbnQgaGlnaF9ib3VuZF9pc19jb3VudCA9IDA7CiAgICBjb25zdCBjaGFy ICpuYW1lOwotQEAgLTE1Mjg4LDcgKzE1Mjg4LDkgQEAKK0BAIC0xNjMzMCw3ICsxNjMzMCw5IEBA IHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJf Y3UgKmN1KQogIAogICAgbG93LmtpbmQgPSBQUk9QX0NPTlNUOwogICAgaGlnaC5raW5kID0gUFJP UF9DT05TVDsKQEAgLTE2NCw3ICsxOTYsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2R3YXJmMnJlYWQuYwogIAogICAgLyogU2V0IExPV19ERUZBVUxUX0lTX1ZBTElEIGlmIGN1 cnJlbnQgbGFuZ3VhZ2UgYW5kIERXQVJGIHZlcnNpb24gYWxsb3cKICAgICAgIG9taXR0aW5nIERX X0FUX2xvd2VyX2JvdW5kLiAgKi8KLUBAIC0xNTMyMSw2ICsxNTMyMywxMyBAQAorQEAgLTE2MzYz LDYgKzE2MzY1LDEzIEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUs IHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgICAgIGJyZWFrOwogICAgICB9CiAgCkBAIC0xNzgs NyArMjEwLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJyZWFkLmMK ICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9sb3dlcl9ib3VuZCwgY3UpOwogICAg aWYgKGF0dHIpCiAgICAgIGF0dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCAmbG93 KTsKLUBAIC0xNTM5Nyw3ICsxNTQwNiw3IEBACitAQCAtMTY0MzksNyArMTY0NDgsNyBAQCByZWFk X3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpj dSkKICAgICAgICAmJiAhVFlQRV9VTlNJR05FRCAoYmFzZV90eXBlKSAmJiAoaGlnaC5kYXRhLmNv bnN0X3ZhbCAmIG5lZ2F0aXZlX21hc2spKQogICAgICBoaWdoLmRhdGEuY29uc3RfdmFsIHw9IG5l Z2F0aXZlX21hc2s7CiAgCkBAIC0xODcsMTEgKzIxOSwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL2R3YXJmMnJlYWQuYwogIAogICAgaWYgKGhpZ2hfYm91bmRfaXNfY291bnQp CiAgICAgIFRZUEVfUkFOR0VfREFUQSAocmFuZ2VfdHlwZSktPmZsYWdfdXBwZXJfYm91bmRfaXNf Y291bnQgPSAxOwotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ldmFsLmMKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9ldmFsLmMJMjAxNy0wNC0y MCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv ZXZhbC5jCTIwMTctMDQtMjAgMjI6MjY6MTQuMzYyNDQ2NjAwICswMjAwCi1AQCAtMzc5LDI5ICsz NzksMzI1IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2V2YWwuYyBiL2dkYi9ldmFsLmMKK2luZGV4IDE0 YTNlMDVhZGUuLjQ0ZjdhNGVkZmUgMTAwNjQ0CistLS0gYS9nZGIvZXZhbC5jCisrKysgYi9nZGIv ZXZhbC5jCitAQCAtMzg0LDI5ICszODQsMzI1IEBAIGluaXRfYXJyYXlfZWxlbWVudCAoc3RydWN0 IHZhbHVlICphcnJheSwgc3RydWN0IHZhbHVlICplbGVtZW50LAogICAgcmV0dXJuIGluZGV4Owog IH0KICAKQEAgLTIxNiw2ICsyNDgsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9ldmFsLmMKIC0gICAgPSAoZW51bSByYW5nZV90eXBlKSBsb25nZXN0X3RvX2ludCAoZXhwLT5l bHRzW3BjXS5sb25nY29uc3QpOwogLSAKIC0gICpwb3MgKz0gMzsKKy0KKy0gIGlmIChyYW5nZV90 eXBlID09IExPV19CT1VORF9ERUZBVUxUIHx8IHJhbmdlX3R5cGUgPT0gQk9USF9CT1VORF9ERUZB VUxUKQorLSAgICBsb3dfYm91bmQgPSBUWVBFX0xPV19CT1VORCAocmFuZ2UpOworLSAgZWxzZQor LSAgICBsb3dfYm91bmQgPSB2YWx1ZV9hc19sb25nIChldmFsdWF0ZV9zdWJleHAgKE5VTExfVFlQ RSwgZXhwLCBwb3MsIG5vc2lkZSkpOwogKyAgc3RydWN0IHZhbHVlICpuZXdfYXJyYXkgPSBhcnJh eTsKICsgIHN0cnVjdCB0eXBlICphcnJheV90eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlw ZSAobmV3X2FycmF5KSk7CiArICBzdHJ1Y3QgdHlwZSAqZWx0X3R5cGU7CkBAIC0yNzAsMjEgKzMw NywxNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2V2YWwuYwogKyAgICB7CiAr ICAgICAgc3RydWN0IHN1YnNjcmlwdF9zdG9yZSAqaW5kZXggPSAmc3Vic2NyaXB0X2FycmF5W2ld OwogIAotLSAgaWYgKHJhbmdlX3R5cGUgPT0gTE9XX0JPVU5EX0RFRkFVTFQgfHwgcmFuZ2VfdHlw ZSA9PSBCT1RIX0JPVU5EX0RFRkFVTFQpCi0tICAgIGxvd19ib3VuZCA9IFRZUEVfTE9XX0JPVU5E IChyYW5nZSk7CistICBpZiAocmFuZ2VfdHlwZSA9PSBISUdIX0JPVU5EX0RFRkFVTFQgfHwgcmFu Z2VfdHlwZSA9PSBCT1RIX0JPVU5EX0RFRkFVTFQpCistICAgIGhpZ2hfYm91bmQgPSBUWVBFX0hJ R0hfQk9VTkQgKHJhbmdlKTsKIC0gIGVsc2UKLS0gICAgbG93X2JvdW5kID0gdmFsdWVfYXNfbG9u ZyAoZXZhbHVhdGVfc3ViZXhwIChOVUxMX1RZUEUsIGV4cCwgcG9zLCBub3NpZGUpKTsKKy0gICAg aGlnaF9ib3VuZCA9IHZhbHVlX2FzX2xvbmcgKGV2YWx1YXRlX3N1YmV4cCAoTlVMTF9UWVBFLCBl eHAsIHBvcywgbm9zaWRlKSk7CiArICAgICAgLyogVGhlIHVzZXIgaW5wdXQgaXMgYSByYW5nZSwg d2l0aCBvciB3aXRob3V0IGxvd2VyIGFuZCB1cHBlciBib3VuZC4KICsJIEUuZy46ICJwIGFycnko Mjo1KSIsICJwIGFycnkoIDo1KSIsICJwIGFycnkoIDogKSIsIGV0Yy4gICovCiArICAgICAgaWYg KGV4cC0+ZWx0c1sqcG9zXS5vcGNvZGUgPT0gT1BfUkFOR0UpCiArCXsKICsJICBpbnQgcGMgPSAo KnBvcykgKyAxOwogKwkgIHN1YnNjcmlwdF9yYW5nZSAqcmFuZ2U7Ci0gCi0tICBpZiAocmFuZ2Vf dHlwZSA9PSBISUdIX0JPVU5EX0RFRkFVTFQgfHwgcmFuZ2VfdHlwZSA9PSBCT1RIX0JPVU5EX0RF RkFVTFQpCi0tICAgIGhpZ2hfYm91bmQgPSBUWVBFX0hJR0hfQk9VTkQgKHJhbmdlKTsKLS0gIGVs c2UKLS0gICAgaGlnaF9ib3VuZCA9IHZhbHVlX2FzX2xvbmcgKGV2YWx1YXRlX3N1YmV4cCAoTlVM TF9UWVBFLCBleHAsIHBvcywgbm9zaWRlKSk7CisrCiArCSAgaW5kZXgtPmtpbmQgPSBTVUJTQ1JJ UFRfUkFOR0U7CiArCSAgcmFuZ2UgPSAmaW5kZXgtPlUucmFuZ2U7CiArCkBAIC0zNzgsOCArNDEx LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ldmFsLmMKICsKICsJY2FzZSBT VUJTQ1JJUFRfSU5ERVg6CiArCSAgYnJlYWs7Ci0gCi0tICByZXR1cm4gdmFsdWVfc2xpY2UgKGFy cmF5LCBsb3dfYm91bmQsIGhpZ2hfYm91bmQgLSBsb3dfYm91bmQgKyAxKTsKKysKICsJfQogKwog KyAgICAgICBhcnJheV90eXBlID0gVFlQRV9UQVJHRVRfVFlQRSAoYXJyYXlfdHlwZSk7CkBAIC00 OTksNyArNTMxLDggQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ldmFsLmMKICsJ ICAgICAgc3RydWN0IHR5cGUgKnJhbmdlX3R5cGUsICppbnRlcmltX2FycmF5X3R5cGU7CiArCiAr CSAgICAgIGludCBuZXdfbGVuZ3RoOwotKworIAorLSAgcmV0dXJuIHZhbHVlX3NsaWNlIChhcnJh eSwgbG93X2JvdW5kLCBoaWdoX2JvdW5kIC0gbG93X2JvdW5kICsgMSk7CiArCSAgICAgIC8qIFRo ZSBsZW5ndGggb2YgYSBzdWItZGltZW5zaW9uIHdpdGggYWxsIGVsZW1lbnRzIGJldHdlZW4gdGhl CiArCQkgYm91bmRzIHBsdXMgdGhlIHN0YXJ0IGVsZW1lbnQgaXRzZWxmLiAgSXQgbWF5IGJlIG1v ZGlmaWVkIGJ5CiArCQkgYSB1c2VyIHByb3ZpZGVkIHN0cmlkZSB2YWx1ZS4gICovCkBAIC01MzQs NyArNTY3LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ldmFsLmMKICB9CiAg CiAgCi1AQCAtMTc5MCwxOSArMjA4Niw4IEBACitAQCAtMTkyOCwxOSArMjIyNCw4IEBAIGV2YWx1 YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogICAgICAgIHN3 aXRjaCAoY29kZSkKICAJewogIAljYXNlIFRZUEVfQ09ERV9BUlJBWToKQEAgLTU1NSw3ICs1ODgs NyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2V2YWwuYwogIAogIAljYXNlIFRZ UEVfQ09ERV9QVFI6CiAgCWNhc2UgVFlQRV9DT0RFX0ZVTkM6Ci1AQCAtMjIwMyw0OSArMjQ4OCw2 IEBACitAQCAtMjMzNiw0OSArMjYyMSw2IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3Ry dWN0IHR5cGUgKmV4cGVjdF90eXBlLAogIAl9CiAgICAgICAgcmV0dXJuIChhcmcxKTsKICAKQEAg LTYwNSw3ICs2MzgsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2V2YWwuYwog ICAgICBjYXNlIEJJTk9QX0xPR0lDQUxfQU5EOgogICAgICAgIGFyZzEgPSBldmFsdWF0ZV9zdWJl eHAgKE5VTExfVFlQRSwgZXhwLCBwb3MsIG5vc2lkZSk7CiAgICAgICAgaWYgKG5vc2lkZSA9PSBF VkFMX1NLSVApCi1AQCAtMzEwMiw2ICszMzQ0LDkgQEAKK0BAIC0zMjgyLDYgKzM1MjQsOSBAQCBj YWxjX2Y3N19hcnJheV9kaW1zIChzdHJ1Y3QgdHlwZSAqYXJyYXlfdHlwZSkKICAgIGludCBuZGlt ZW4gPSAxOwogICAgc3RydWN0IHR5cGUgKnRtcF90eXBlOwogIApAQCAtNjE1LDExICs2NDgsMTEg QEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ldmFsLmMKICAgIGlmICgoVFlQRV9D T0RFIChhcnJheV90eXBlKSAhPSBUWVBFX0NPREVfQVJSQVkpKQogICAgICBlcnJvciAoXygiQ2Fu J3QgZ2V0IGRpbWVuc2lvbnMgZm9yIGEgbm9uLWFycmF5IHR5cGUiKSk7CiAgCi1JbmRleDogZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2V4cHByaW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45 OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9leHBwcmludC5jCTIwMTctMDQtMjAgMjI6MjU6NDMuOTcz MjU0Njg1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2V4cHByaW50LmMJMjAx Ny0wNC0yMCAyMjoyNjoxNC4zNjM0NDY2MDcgKzAyMDAKLUBAIC01NjgsMTIgKzU2OCwxMCBAQAor ZGlmZiAtLWdpdCBhL2dkYi9leHBwcmludC5jIGIvZ2RiL2V4cHByaW50LmMKK2luZGV4IGE5OTgz MmM3YWIuLjcxMzVmYjUwZTIgMTAwNjQ0CistLS0gYS9nZGIvZXhwcHJpbnQuYworKysrIGIvZ2Ri L2V4cHByaW50LmMKK0BAIC01ODEsMTIgKzU4MSwxMCBAQCBwcmludF9zdWJleHBfc3RhbmRhcmQg KHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLAogIAkqcG9zICs9IDI7CiAgCiAgCWZw dXRzX2ZpbHRlcmVkICgiUkFOR0UoIiwgc3RyZWFtKTsKQEAgLTYzNCw3ICs2NjcsNyBAQCBJbmRl eDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2V4cHByaW50LmMKICAJICBwcmludF9zdWJleHAg KGV4cCwgcG9zLCBzdHJlYW0sIFBSRUNfQUJPVkVfQ09NTUEpOwogIAlmcHV0c19maWx0ZXJlZCAo IikiLCBzdHJlYW0pOwogIAlyZXR1cm47Ci1AQCAtMTA1NSwxNiArMTA1MywxNiBAQAorQEAgLTEw OTQsMTYgKzEwOTIsMTYgQEAgZHVtcF9zdWJleHBfYm9keV9zdGFuZGFyZCAoc3RydWN0IGV4cHJl c3Npb24gKmV4cCwKICAKICAJc3dpdGNoIChyYW5nZV90eXBlKQogIAkgIHsKQEAgLTY1NSw3ICs2 ODgsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2V4cHByaW50LmMKICAJICAg IGZwdXRzX2ZpbHRlcmVkICgiUmFuZ2UgJ0VYUC4uRVhQJyIsIHN0cmVhbSk7CiAgCSAgICBicmVh azsKICAJICBkZWZhdWx0OgotQEAgLTEwNzIsMTEgKzEwNzAsOSBAQAorQEAgLTExMTEsMTEgKzEx MDksOSBAQCBkdW1wX3N1YmV4cF9ib2R5X3N0YW5kYXJkIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhw LAogIAkgICAgYnJlYWs7CiAgCSAgfQogIApAQCAtNjY5LDExICs3MDIsMTEgQEAgSW5kZXg6IGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9leHBwcmludC5jCiAgCSAgZWx0ID0gZHVtcF9zdWJleHAg KGV4cCwgc3RyZWFtLCBlbHQpOwogICAgICAgIH0KICAgICAgICBicmVhazsKLUluZGV4OiBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvZXhwcmVzc2lvbi5oCi09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu OTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZXhwcmVzc2lvbi5oCTIwMTctMDQtMjAgMjI6MjU6NDMu OTczMjU0Njg1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2V4cHJlc3Npb24u aAkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2MzQ0NjYwNyArMDIwMAotQEAgLTE1NCwxNyArMTU0LDE3 IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2V4cHJlc3Npb24uaCBiL2dkYi9leHByZXNzaW9uLmgKK2lu ZGV4IDI3MWJhYTlmMGQuLjI3ODFkMzU1YmYgMTAwNjQ0CistLS0gYS9nZGIvZXhwcmVzc2lvbi5o CisrKysgYi9nZGIvZXhwcmVzc2lvbi5oCitAQCAtMTUzLDE3ICsxNTMsMTcgQEAgZXh0ZXJuIHZv aWQgZHVtcF9yYXdfZXhwcmVzc2lvbiAoc3RydWN0IGV4cHJlc3Npb24gKiwKICAJCQkJIHN0cnVj dCB1aV9maWxlICosIGNvbnN0IGNoYXIgKik7CiAgZXh0ZXJuIHZvaWQgZHVtcF9wcmVmaXhfZXhw cmVzc2lvbiAoc3RydWN0IGV4cHJlc3Npb24gKiwgc3RydWN0IHVpX2ZpbGUgKik7CiAgCkBAIC03 MDAsMTEgKzczMywxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2V4cHJlc3Np b24uaAogICAgfTsKICAKICAjZW5kaWYgLyogIWRlZmluZWQgKEVYUFJFU1NJT05fSCkgKi8KLUlu ZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZi1leHAueQotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2YtZXhwLnkJMjAxNy0wNC0yMCAyMjoyNTo0My45 NzMyNTQ2ODUgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZi1leHAueQkyMDE3 LTA0LTIwIDIyOjI2OjE0LjM2MzQ0NjYwNyArMDIwMAotQEAgLTI1NCwzMSArMjU0LDYzIEBACitk aWZmIC0tZ2l0IGEvZ2RiL2YtZXhwLnkgYi9nZGIvZi1leHAueQoraW5kZXggMjE3MTkxYWM4OC4u NzFjNjFjYWI2OSAxMDA2NDQKKy0tLSBhL2dkYi9mLWV4cC55CisrKysgYi9nZGIvZi1leHAueQor QEAgLTI1NywzMSArMjU3LDYzIEBAIGFyZ2xpc3QgOglzdWJyYW5nZQogICAgIAogIGFyZ2xpc3QJ OglhcmdsaXN0ICcsJyBleHAgICAlcHJlYyBBQk9WRV9DT01NQQogIAkJCXsgYXJnbGlzdF9sZW4r KzsgfQpAQCAtNzczLDExICs4MDYsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9mLWV4cC55CiAgCQkJICB3cml0ZV9leHBfZWx0X29wY29kZSAocHN0YXRlLCBPUF9SQU5HRSk7 IH0KICAJOwogIAotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9mLXZhbHByaW50LmMK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9mLXZhbHByaW50 LmMJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKLSsrKyBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvZi12YWxwcmludC5jCTIwMTctMDQtMjAgMjI6MjY6MTQuMzY0NDQ2NjEzICsw MjAwCi1AQCAtMTIxLDggKzEyMSwxNCBAQAorZGlmZiAtLWdpdCBhL2dkYi9mLXZhbHByaW50LmMg Yi9nZGIvZi12YWxwcmludC5jCitpbmRleCBjOWVjZTBkNWMwLi5iODc4ZDUyYjYyIDEwMDY0NAor LS0tIGEvZ2RiL2YtdmFscHJpbnQuYworKysrIGIvZ2RiL2YtdmFscHJpbnQuYworQEAgLTExOSw4 ICsxMTksMTQgQEAgZjc3X3ByaW50X2FycmF5XzEgKGludCBuc3MsIGludCBuZGltZW5zaW9ucywg c3RydWN0IHR5cGUgKnR5cGUsCiAgCiAgICBpZiAobnNzICE9IG5kaW1lbnNpb25zKQogICAgICB7 CkBAIC03OTMsMTEgKzgyNiwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2Yt dmFscHJpbnQuYwogIAogICAgICAgIGZvciAoaSA9IGxvd2VyYm91bmQ7CiAgCSAgIChpIDwgdXBw ZXJib3VuZCArIDEgJiYgKCplbHRzKSA8IG9wdGlvbnMtPnByaW50X21heCk7Ci1JbmRleDogZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2dkYnR5cGVzLmMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45 OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9nZGJ0eXBlcy5jCTIwMTctMDQtMjAgMjI6MjU6NDMuOTcz MjU0Njg1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2dkYnR5cGVzLmMJMjAx Ny0wNC0yMCAyMjoyNjoxNC4zNjU0NDY2MTkgKzAyMDAKLUBAIC04NjIsNyArODYyLDggQEAKK2Rp ZmYgLS1naXQgYS9nZGIvZ2RidHlwZXMuYyBiL2dkYi9nZGJ0eXBlcy5jCitpbmRleCAwMWFiNmZh OGM3Li42M2FkYTVhNDZjIDEwMDY0NAorLS0tIGEvZ2RiL2dkYnR5cGVzLmMKKysrKyBiL2dkYi9n ZGJ0eXBlcy5jCitAQCAtODY0LDcgKzg2NCw4IEBAIGFsbG9jYXRlX3N0dWJfbWV0aG9kIChzdHJ1 Y3QgdHlwZSAqdHlwZSkKICBzdHJ1Y3QgdHlwZSAqCiAgY3JlYXRlX3JhbmdlX3R5cGUgKHN0cnVj dCB0eXBlICpyZXN1bHRfdHlwZSwgc3RydWN0IHR5cGUgKmluZGV4X3R5cGUsCiAgCQkgICBjb25z dCBzdHJ1Y3QgZHluYW1pY19wcm9wICpsb3dfYm91bmQsCkBAIC04MDcsNyArODQwLDcgQEAgSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9nZGJ0eXBlcy5jCiAgewogICAgaWYgKHJlc3Vs dF90eXBlID09IE5VTEwpCiAgICAgIHJlc3VsdF90eXBlID0gYWxsb2NfdHlwZV9jb3B5IChpbmRl eF90eXBlKTsKLUBAIC04NzcsNiArODc4LDcgQEAKK0BAIC04NzksNiArODgwLDcgQEAgY3JlYXRl X3JhbmdlX3R5cGUgKHN0cnVjdCB0eXBlICpyZXN1bHRfdHlwZSwgc3RydWN0IHR5cGUgKmluZGV4 X3R5cGUsCiAgICAgIFRZUEVfWkFMTE9DIChyZXN1bHRfdHlwZSwgc2l6ZW9mIChzdHJ1Y3QgcmFu Z2VfYm91bmRzKSk7CiAgICBUWVBFX1JBTkdFX0RBVEEgKHJlc3VsdF90eXBlKS0+bG93ID0gKmxv d19ib3VuZDsKICAgIFRZUEVfUkFOR0VfREFUQSAocmVzdWx0X3R5cGUpLT5oaWdoID0gKmhpZ2hf Ym91bmQ7CkBAIC04MTUsNyArODQ4LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9nZGJ0eXBlcy5jCiAgCiAgICBpZiAobG93X2JvdW5kLT5raW5kID09IFBST1BfQ09OU1QgJiYg bG93X2JvdW5kLT5kYXRhLmNvbnN0X3ZhbCA+PSAwKQogICAgICBUWVBFX1VOU0lHTkVEIChyZXN1 bHRfdHlwZSkgPSAxOwotQEAgLTkwNSw3ICs5MDcsNyBAQAorQEAgLTkwNyw3ICs5MDksNyBAQCBz dHJ1Y3QgdHlwZSAqCiAgY3JlYXRlX3N0YXRpY19yYW5nZV90eXBlIChzdHJ1Y3QgdHlwZSAqcmVz dWx0X3R5cGUsIHN0cnVjdCB0eXBlICppbmRleF90eXBlLAogIAkJCSAgTE9OR0VTVCBsb3dfYm91 bmQsIExPTkdFU1QgaGlnaF9ib3VuZCkKICB7CkBAIC04MjQsNyArODU3LDcgQEAgSW5kZXg6IGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9nZGJ0eXBlcy5jCiAgCiAgICBsb3cua2luZCA9IFBST1Bf Q09OU1Q7CiAgICBsb3cuZGF0YS5jb25zdF92YWwgPSBsb3dfYm91bmQ7Ci1AQCAtOTEzLDcgKzkx NSwxMSBAQAorQEAgLTkxNSw3ICs5MTcsMTEgQEAgY3JlYXRlX3N0YXRpY19yYW5nZV90eXBlIChz dHJ1Y3QgdHlwZSAqcmVzdWx0X3R5cGUsIHN0cnVjdCB0eXBlICppbmRleF90eXBlLAogICAgaGln aC5raW5kID0gUFJPUF9DT05TVDsKICAgIGhpZ2guZGF0YS5jb25zdF92YWwgPSBoaWdoX2JvdW5k OwogIApAQCAtODM3LDcgKzg3MCw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv Z2RidHlwZXMuYwogIAogICAgcmV0dXJuIHJlc3VsdF90eXBlOwogIH0KLUBAIC0xMTEwLDE2ICsx MTE2LDIwIEBACitAQCAtMTExMiwxNiArMTExOCwyMCBAQCBjcmVhdGVfYXJyYXlfdHlwZV93aXRo X3N0cmlkZSAoc3RydWN0IHR5cGUgKnJlc3VsdF90eXBlLAogICAgICAgICYmICghdHlwZV9ub3Rf YXNzb2NpYXRlZCAocmVzdWx0X3R5cGUpCiAgCSAgJiYgIXR5cGVfbm90X2FsbG9jYXRlZCAocmVz dWx0X3R5cGUpKSkKICAgICAgewpAQCAtODU5LDcgKzg5Miw3IEBAIEluZGV4OiBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvZ2RidHlwZXMuYwogICAgICAgIGVsc2UgaWYgKGJpdF9zdHJpZGUgPiAw KQogIAlUWVBFX0xFTkdUSCAocmVzdWx0X3R5cGUpID0KICAJICAoYml0X3N0cmlkZSAqIChoaWdo X2JvdW5kIC0gbG93X2JvdW5kICsgMSkgKyA3KSAvIDg7Ci1AQCAtMTkxMiwxMiArMTkyMiwxMiBA QAorQEAgLTE5MTQsMTIgKzE5MjQsMTIgQEAgcmVzb2x2ZV9keW5hbWljX3JhbmdlIChzdHJ1Y3Qg dHlwZSAqZHluX3JhbmdlX3R5cGUsCiAgICBDT1JFX0FERFIgdmFsdWU7CiAgICBzdHJ1Y3QgdHlw ZSAqc3RhdGljX3JhbmdlX3R5cGUsICpzdGF0aWNfdGFyZ2V0X3R5cGU7CiAgICBjb25zdCBzdHJ1 Y3QgZHluYW1pY19wcm9wICpwcm9wOwpAQCAtODc0LDcgKzkwNyw3IEBAIEluZGV4OiBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvZ2RidHlwZXMuYwogICAgICB7CiAgICAgICAgbG93X2JvdW5kLmtp bmQgPSBQUk9QX0NPTlNUOwogICAgICAgIGxvd19ib3VuZC5kYXRhLmNvbnN0X3ZhbCA9IHZhbHVl OwotQEAgLTE5MjksNyArMTkzOSw3IEBACitAQCAtMTkzMSw3ICsxOTQxLDcgQEAgcmVzb2x2ZV9k eW5hbWljX3JhbmdlIChzdHJ1Y3QgdHlwZSAqZHluX3JhbmdlX3R5cGUsCiAgICAgIH0KICAKICAg IHByb3AgPSAmVFlQRV9SQU5HRV9EQVRBIChkeW5fcmFuZ2VfdHlwZSktPmhpZ2g7CkBAIC04ODMs NyArOTE2LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9nZGJ0eXBlcy5jCiAg ICAgIHsKICAgICAgICBoaWdoX2JvdW5kLmtpbmQgPSBQUk9QX0NPTlNUOwogICAgICAgIGhpZ2hf Ym91bmQuZGF0YS5jb25zdF92YWwgPSB2YWx1ZTsKLUBAIC0xOTQ0LDEyICsxOTU0LDIwIEBACitA QCAtMTk0NiwxMiArMTk1NiwyMCBAQCByZXNvbHZlX2R5bmFtaWNfcmFuZ2UgKHN0cnVjdCB0eXBl ICpkeW5fcmFuZ2VfdHlwZSwKICAgICAgICBoaWdoX2JvdW5kLmRhdGEuY29uc3RfdmFsID0gMDsK ICAgICAgfQogIApAQCAtOTA1LDExICs5MzgsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi9nZGJ0eXBlcy5jCiAgICBUWVBFX1JBTkdFX0RBVEEgKHN0YXRpY19yYW5nZV90eXBl KS0+ZmxhZ19ib3VuZF9ldmFsdWF0ZWQgPSAxOwogICAgcmV0dXJuIHN0YXRpY19yYW5nZV90eXBl OwogIH0KLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZ2RidHlwZXMuaAotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2dkYnR5cGVzLmgJMjAxNy0w NC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvZ2RidHlwZXMuaAkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2NTQ0NjYxOSArMDIwMAotQEAgLTU1 MSw2ICs1NTEsMTAgQEAKK2RpZmYgLS1naXQgYS9nZGIvZ2RidHlwZXMuaCBiL2dkYi9nZGJ0eXBl cy5oCitpbmRleCAwMzcwOWFhMTQ1Li5lMjZhMDliNDU2IDEwMDY0NAorLS0tIGEvZ2RiL2dkYnR5 cGVzLmgKKysrKyBiL2dkYi9nZGJ0eXBlcy5oCitAQCAtNTQ3LDYgKzU0NywxMCBAQCBzdHJ1Y3Qg cmFuZ2VfYm91bmRzCiAgCiAgICBzdHJ1Y3QgZHluYW1pY19wcm9wIGhpZ2g7CiAgCkBAIC05MjAs NyArOTUzLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9nZGJ0eXBlcy5oCiAg ICAvKiBUcnVlIGlmIEhJR0ggcmFuZ2UgYm91bmQgY29udGFpbnMgdGhlIG51bWJlciBvZiBlbGVt ZW50cyBpbiB0aGUKICAgICAgIHN1YnJhbmdlLiBUaGlzIGFmZmVjdHMgaG93IHRoZSBmaW5hbCBo aWdodCBib3VuZCBpcyBjb21wdXRlZC4gICovCiAgCi1AQCAtNzEzLDcgKzcxNyw2IEBACitAQCAt NzA4LDcgKzcxMiw2IEBAIHN0cnVjdCBtYWluX3R5cGUKICAgICAgLyogKiBVbmlvbiBtZW1iZXIg dXNlZCBmb3IgcmFuZ2UgdHlwZXMuICAqLwogIAogICAgICBzdHJ1Y3QgcmFuZ2VfYm91bmRzICpi b3VuZHM7CkBAIC05MjgsNyArOTYxLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9nZGJ0eXBlcy5oCiAgICB9IGZsZHNfYm5kczsKICAKICAgIC8qICogU2xvdCB0byBwb2ludCB0 byBhZGRpdGlvbmFsIGxhbmd1YWdlLXNwZWNpZmljIGZpZWxkcyBvZiB0aGlzCi1AQCAtMTIyOCw2 ICsxMjMxLDE1IEBACitAQCAtMTIyMyw2ICsxMjI2LDE1IEBAIGV4dGVybiB2b2lkIGFsbG9jYXRl X2duYXRfYXV4X3R5cGUgKHN0cnVjdCB0eXBlICopOwogICAgVFlQRV9SQU5HRV9EQVRBKHJhbmdl X3R5cGUpLT5oaWdoLmtpbmQKICAjZGVmaW5lIFRZUEVfTE9XX0JPVU5EX0tJTkQocmFuZ2VfdHlw ZSkgXAogICAgVFlQRV9SQU5HRV9EQVRBKHJhbmdlX3R5cGUpLT5sb3cua2luZApAQCAtOTQ0LDcg Kzk3Nyw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZ2RidHlwZXMuaAogIAog IC8qIFByb3BlcnR5IGFjY2Vzc29ycyBmb3IgdGhlIHR5cGUgZGF0YSBsb2NhdGlvbi4gICovCiAg I2RlZmluZSBUWVBFX0RBVEFfTE9DQVRJT04odGhpc3R5cGUpIFwKLUBAIC0xMjYyLDYgKzEyNzQs OSBAQAorQEAgLTEyNTcsNiArMTI2OSw5IEBAIGV4dGVybiB2b2lkIGFsbG9jYXRlX2duYXRfYXV4 X3R5cGUgKHN0cnVjdCB0eXBlICopOwogICAgIFRZUEVfSElHSF9CT1VORF9VTkRFRklORUQoVFlQ RV9JTkRFWF9UWVBFKGFycmF5dHlwZSkpCiAgI2RlZmluZSBUWVBFX0FSUkFZX0xPV0VSX0JPVU5E X0lTX1VOREVGSU5FRChhcnJheXR5cGUpIFwKICAgICBUWVBFX0xPV19CT1VORF9VTkRFRklORUQo VFlQRV9JTkRFWF9UWVBFKGFycmF5dHlwZSkpCkBAIC05NTQsMTkgKzk4NywxOSBAQCBJbmRleDog Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2dkYnR5cGVzLmgKICAKICAjZGVmaW5lIFRZUEVfQVJS QVlfVVBQRVJfQk9VTkRfVkFMVUUoYXJyYXl0eXBlKSBcCiAgICAgKFRZUEVfSElHSF9CT1VORChU WVBFX0lOREVYX1RZUEUoKGFycmF5dHlwZSkpKSkKLUBAIC0xNzc2LDYgKzE3OTEsNyBAQAorQEAg LTE3NzIsNiArMTc4Nyw3IEBAIGV4dGVybiBzdHJ1Y3QgdHlwZSAqY3JlYXRlX2FycmF5X3R5cGVf d2l0aF9zdHJpZGUKKyAgIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdHlw ZSAqLCB1bnNpZ25lZCBpbnQpOwogIAogIGV4dGVybiBzdHJ1Y3QgdHlwZSAqY3JlYXRlX3Jhbmdl X3R5cGUgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB0eXBlICosCi0gCQkJCSAgICAgICBjb25zdCBz dHJ1Y3QgZHluYW1pY19wcm9wICosCiArCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHluYW1pY19w cm9wICosCisgCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICosCiAgCQkJCSAg ICAgICBjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICopOwogIAotIGV4dGVybiBzdHJ1Y3QgdHlw ZSAqY3JlYXRlX2FycmF5X3R5cGUgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB0eXBlICosCi1JbmRl eDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3BhcnNlLmMKLT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9wYXJzZS5jCTIwMTctMDQtMjAgMjI6MjU6NDMuOTcz MjU0Njg1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3BhcnNlLmMJMjAxNy0w NC0yMCAyMjoyNjoxNC4zNjY0NDY2MjUgKzAyMDAKLUBAIC0xMDA3LDIyICsxMDA3LDIwIEBACitk aWZmIC0tZ2l0IGEvZ2RiL3BhcnNlLmMgYi9nZGIvcGFyc2UuYworaW5kZXggNTA2ZWZhMzhmYi4u OWJhNjMxNGFiMiAxMDA2NDQKKy0tLSBhL2dkYi9wYXJzZS5jCisrKysgYi9nZGIvcGFyc2UuYwor QEAgLTk4OCwyMiArOTg4LDIwIEBAIG9wZXJhdG9yX2xlbmd0aF9zdGFuZGFyZCAoY29uc3Qgc3Ry dWN0IGV4cHJlc3Npb24gKmV4cHIsIGludCBlbmRwb3MsCiAgCiAgICAgIGNhc2UgT1BfUkFOR0U6 CiAgICAgICAgb3BsZW4gPSAzOwpAQCAtMTAwMCwxMSArMTAzMywxMSBAQCBJbmRleDogZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL3BhcnNlLmMKICAKICAgICAgICBicmVhazsKICAKLUluZGV4OiBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcnVzdC1leHAueQotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3J1c3QtZXhwLnkJMjAxNy0wNC0yMCAyMjoyNTo0My45 NzMyNTQ2ODUgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcnVzdC1leHAueQky MDE3LTA0LTIwIDIyOjI2OjE0LjM2NjQ0NjYyNSArMDIwMAotQEAgLTI0MDksMjMgKzI0MDksMTcg QEAKK2RpZmYgLS1naXQgYS9nZGIvcnVzdC1leHAueSBiL2dkYi9ydXN0LWV4cC55CitpbmRleCBl MzcyYTZlYTFlLi44YmJlY2QyZjJmIDEwMDY0NAorLS0tIGEvZ2RiL3J1c3QtZXhwLnkKKysrKyBi L2dkYi9ydXN0LWV4cC55CitAQCAtMjQ1MiwyMyArMjQ1MiwxNyBAQCBjb252ZXJ0X2FzdF90b19l eHByZXNzaW9uIChzdHJ1Y3QgcGFyc2VyX3N0YXRlICpzdGF0ZSwKICAKICAgICAgY2FzZSBPUF9S QU5HRToKICAgICAgICB7CkBAIC0xMDMxLDExICsxMDY0LDExIEBAIEluZGV4OiBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvcnVzdC1leHAueQogIAkgIH0KICAJd3JpdGVfZXhwX2VsdF9vcGNvZGUg KHN0YXRlLCBPUF9SQU5HRSk7CiAgCXdyaXRlX2V4cF9lbHRfbG9uZ2NzdCAoc3RhdGUsIGtpbmQp OwotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ydXN0LWxhbmcuYwotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3J1c3QtbGFuZy5jCTIwMTctMDQt MjAgMjI6MjU6NDMuOTczMjU0Njg1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L3J1c3QtbGFuZy5jCTIwMTctMDQtMjAgMjI6MjY6MTQuMzY3NDQ2NjMyICswMjAwCi1AQCAtMTMx NCw5ICsxMzE0LDkgQEAKK2RpZmYgLS1naXQgYS9nZGIvcnVzdC1sYW5nLmMgYi9nZGIvcnVzdC1s YW5nLmMKK2luZGV4IGYzNTYyZTBmMzIuLjE4NTNmNjgzZTkgMTAwNjQ0CistLS0gYS9nZGIvcnVz dC1sYW5nLmMKKysrKyBiL2dkYi9ydXN0LWxhbmcuYworQEAgLTEzNjgsOSArMTM2OCw5IEBAIHJ1 c3RfcmFuZ2UgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLCBlbnVtIG5vc2lkZSBu b3NpZGUpCiAgICBraW5kID0gKGVudW0gcmFuZ2VfdHlwZSkgbG9uZ2VzdF90b19pbnQgKGV4cC0+ ZWx0c1sqcG9zICsgMV0ubG9uZ2NvbnN0KTsKICAgICpwb3MgKz0gMzsKICAKQEAgLTEwNDcsNyAr MTA4MCw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcnVzdC1sYW5nLmMKICAg ICAgaGlnaCA9IGV2YWx1YXRlX3N1YmV4cCAoTlVMTF9UWVBFLCBleHAsIHBvcywgbm9zaWRlKTsK ICAKICAgIGlmIChub3NpZGUgPT0gRVZBTF9TS0lQKQotQEAgLTE0MDUsNyArMTQwNSw3IEBACitA QCAtMTQ1OSw3ICsxNDU5LDcgQEAgcnVzdF9jb21wdXRlX3JhbmdlIChzdHJ1Y3QgdHlwZSAqdHlw ZSwgc3RydWN0IHZhbHVlICpyYW5nZSwKICAKICAgICpsb3cgPSAwOwogICAgKmhpZ2ggPSAwOwpA QCAtMTA1Niw3ICsxMDg5LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ydXN0 LWxhbmcuYwogIAogICAgaWYgKFRZUEVfTkZJRUxEUyAodHlwZSkgPT0gMCkKICAgICAgcmV0dXJu OwotQEAgLTE0MTMsMTUgKzE0MTMsMTQgQEAKK0BAIC0xNDY3LDE1ICsxNDY3LDE0IEBAIHJ1c3Rf Y29tcHV0ZV9yYW5nZSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB2YWx1ZSAqcmFuZ2UsCiAg ICBpID0gMDsKICAgIGlmIChzdHJjbXAgKFRZUEVfRklFTERfTkFNRSAodHlwZSwgMCksICJzdGFy dCIpID09IDApCiAgICAgIHsKQEAgLTEwNzQsNyArMTEwNyw3IEBAIEluZGV4OiBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvcnVzdC1sYW5nLmMKICAgICAgICAqaGlnaCA9IHZhbHVlX2FzX2xvbmcg KHZhbHVlX2ZpZWxkIChyYW5nZSwgaSkpOwogICAgICB9CiAgfQotQEAgLTE0MzYsNyArMTQzNSw3 IEBACitAQCAtMTQ5MCw3ICsxNDg5LDcgQEAgcnVzdF9zdWJzY3JpcHQgKHN0cnVjdCBleHByZXNz aW9uICpleHAsIGludCAqcG9zLCBlbnVtIG5vc2lkZSBub3NpZGUsCiAgICBzdHJ1Y3QgdHlwZSAq cmhzdHlwZTsKICAgIExPTkdFU1QgbG93LCBoaWdoX2JvdW5kOwogICAgLyogSW5pdGlhbGl6ZWQg dG8gYXBwZWFzZSB0aGUgY29tcGlsZXIuICAqLwpAQCAtMTA4Myw3ICsxMTE2LDcgQEAgSW5kZXg6 IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ydXN0LWxhbmcuYwogICAgTE9OR0VTVCBoaWdoID0g MDsKICAgIGludCB3YW50X3NsaWNlID0gMDsKICAKLUBAIC0xNDk4LDcgKzE0OTcsNyBAQAorQEAg LTE1ODgsNyArMTU4Nyw3IEBAIHJ1c3Rfc3Vic2NyaXB0IChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhw LCBpbnQgKnBvcywgZW51bSBub3NpZGUgbm9zaWRlLAogIAllcnJvciAoXygiQ2Fubm90IHN1YnNj cmlwdCBub24tYXJyYXkgdHlwZSIpKTsKICAKICAgICAgICBpZiAod2FudF9zbGljZQpAQCAtMTA5 Miw3ICsxMTI1LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ydXN0LWxhbmcu YwogIAlsb3cgPSBsb3dfYm91bmQ7CiAgICAgICAgaWYgKGxvdyA8IDApCiAgCWVycm9yIChfKCJJ bmRleCBsZXNzIHRoYW4gemVybyIpKTsKLUBAIC0xNTE2LDcgKzE1MTUsNyBAQAorQEAgLTE2MDYs NyArMTYwNSw3IEBAIHJ1c3Rfc3Vic2NyaXB0IChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQg KnBvcywgZW51bSBub3NpZGUgbm9zaWRlLAogIAkgIENPUkVfQUREUiBhZGRyOwogIAkgIHN0cnVj dCB2YWx1ZSAqYWRkcnZhbCwgKnRlbTsKICAKQEAgLTExMDEsMTAgKzExMzQsMTEgQEAgSW5kZXg6 IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ydXN0LWxhbmcuYwogIAkgICAgaGlnaCA9IGhpZ2hf Ym91bmQ7CiAgCSAgaWYgKGhpZ2ggPCAwKQogIAkgICAgZXJyb3IgKF8oIkhpZ2ggaW5kZXggbGVz cyB0aGFuIHplcm8iKSk7Ci1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9zdGF0aWMtYXJyYXlzLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RhdGljLWFycmF5cy5leHAJMjAxNy0w NC0yMCAyMjoyNjoxNC4zNjc0NDY2MzIgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3N0YXRpYy1hcnJheXMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9zdGF0aWMtYXJyYXlzLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAw MDAuLmNjOWVjYzA0YWIKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vc3RhdGljLWFycmF5cy5leHAKIEBAIC0wLDAgKzEsNDIxIEBACiArIyBDb3B5cmlnaHQg MjAxNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsjCkBAIC0xNTI3LDEwICsxNTYx LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3N0YXRpYy1hcnJheXMuZXhwCiArZ2RiX3Rlc3QgInByaW50IGFyMVwoMzo3XCkgPSA0MiIg XAogKwkJIkludmFsaWQgY2FzdC4iIFwKICsJCSJBc3NpZ25tZW50IG9mIHZhbHVlIHRvIHN1YmFy cmF5IgotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vc3RhdGljLWFycmF5cy5mOTAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0w MSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0YXRpYy1hcnJheXMuZjkwCTIwMTctMDQtMjAgMjI6MjY6 MTQuMzY4NDQ2NjM4ICswMjAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9zdGF0aWMtYXJyYXlzLmY5MCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RhdGljLWFy cmF5cy5mOTAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5mMjJmY2Jl MTI0CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0YXRp Yy1hcnJheXMuZjkwCiBAQCAtMCwwICsxLDU1IEBACiArISBDb3B5cmlnaHQgMjAxNSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICshCkBAIC0xNTg3LDExICsxNjIyLDExIEBAIEluZGV4 OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0YXRpYy1h cnJheXMuZjkwCiArcHJvZ3JhbSB0ZXN0cHJvZwogKyAgY2FsbCBzdWIKICtlbmQKLUluZGV4OiBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5l eHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cAkyMDE3LTA0LTIwIDIyOjI1OjQzLjk3MzI1NDY4 NSArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLXB0eXBlLmV4cAkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2ODQ0NjYzOCArMDIwMAotQEAg LTk4LDMgKzk4LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS1wdHlwZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAKK2lu ZGV4IGM4ZTcyZTkyZTcuLjc2ZjQ3NzA4ZDggMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v dmxhLXB0eXBlLmV4cAorQEAgLTk4LDMgKzk4LDcgQEAgZ2RiX3Rlc3QgInB0eXBlIHZsYTIiICJ0 eXBlID0gPG5vdCBhbGxvY2F0ZWQ+IiAicHR5cGUgdmxhMiBub3QgYWxsb2NhdGVkIgogIGdkYl90 ZXN0ICJwdHlwZSB2bGEyKDUsIDQ1LCAyMCkiIFwKICAgICJubyBzdWNoIHZlY3RvciBlbGVtZW50 IFxcXCh2ZWN0b3Igbm90IGFsbG9jYXRlZFxcXCkiIFwKICAgICJwdHlwZSB2bGEyKDUsIDQ1LCAy MCkgbm90IGFsbG9jYXRlZCIKQEAgLTE1OTksMTEgKzE2MzQsMTEgQEAgSW5kZXg6IGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cAogK2dk Yl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJ2bGExLW5lZy1ib3VuZHMiXQogK2dk Yl9jb250aW51ZV90b19icmVha3BvaW50ICJ2bGExLW5lZy1ib3VuZHMiCiArZ2RiX3Rlc3QgInB0 eXBlIHZsYTEiICJ0eXBlID0gJHJlYWwgXFwoLTI6MSwtNTo0LC0zOi0xXFwpIiAicHR5cGUgdmxh MSBuZWdhdGl2ZSBib3VuZHMiCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5 LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4 cAkyMDE3LTA0LTIwIDIyOjI1OjQzLjk3MzI1NDY4NSArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXNpemVvZi5leHAJMjAxNy0wNC0y MCAyMjoyNjoxNC4zNjg0NDY2MzggKzAyMDAKLUBAIC00NCwzICs0NCw3IEBACitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cCBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vdmxhLXNpemVvZi5leHAKK2luZGV4IDg3Yjc2ODM1ZGIuLjI3NDAzZjFm NDcgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXplb2YuZXhw CisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXplb2YuZXhwCitAQCAtNDQs MyArNDQsNyBAQCBnZGJfdGVzdCAicHJpbnQgc2l6ZW9mKHB2bGEpIiAiID0gMCIgInByaW50IHNp emVvZiBub24tYXNzb2NpYXRlZCBwdmxhIgogIGdkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVf bnVtYmVyICJwdmxhLWFzc29jaWF0ZWQiXQogIGdkYl9jb250aW51ZV90b19icmVha3BvaW50ICJw dmxhLWFzc29jaWF0ZWQiCiAgZ2RiX3Rlc3QgInByaW50IHNpemVvZihwdmxhKSIgIiA9IDQwMDAi ICJwcmludCBzaXplb2YgYXNzb2NpYXRlZCBwdmxhIgpAQCAtMTYxMSwxMCArMTY0NiwxMSBAQCBJ bmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEt c2l6ZW9mLmV4cAogK2dkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJ2bGExLW5l Zy1ib3VuZHMiXQogK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2bGExLW5lZy1ib3VuZHMi CiArZ2RiX3Rlc3QgInByaW50IHNpemVvZih2bGExKSIgIiA9IDQ4MCIgInByaW50IHNpemVvZiB2 bGExIG5lZ2F0aXZlIGJvdW5kcyIKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUuZXhwCi09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9u dWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRlLmV4cAkyMDE3LTA0 LTIwIDIyOjI2OjE0LjM2ODQ0NjYzOCArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXN0cmlkZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS1zdHJpZGUuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uZGNm MTVlNWRhZgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtc3RyaWRlLmV4cAogQEAgLTAsMCArMSw0NCBAQAogKyMgQ29weXJpZ2h0IDIwMTYgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xNjYwLDEwICsxNjk2LDExIEBAIEluZGV4 OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJp ZGUuZXhwCiArZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgInNpbmdsZS1lbGVtZW50IgogK2dk Yl90ZXN0ICJwcmludCBwdmxhIiAiID0gXFxcKDVcXFwpIiAicHJpbnQgc2luZ2xlLWVsZW1lbnQi CiArZ2RiX3Rlc3QgInByaW50IHB2bGEoMSkiICIgPSA1IiAicHJpbnQgb25lIHNpbmdsZS1lbGVt ZW50IgotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLXN0cmlkZS5mOTAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUuZjkwCTIwMTctMDQtMjAgMjI6MjY6MTQuMzY4 NDQ2NjM4ICswMjAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEt c3RyaWRlLmY5MCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmlkZS5mOTAKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi44ZDI0MjUyMjJlCistLS0gL2Rl di9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUuZjkwCiBA QCAtMCwwICsxLDI5IEBACiArISBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICshCkBAIC0xNjk0LDExICsxNzMxLDExIEBAIEluZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUuZjkwCiArCiArICBw dmxhID0+IG51bGwoKSAgICAgICAgISBzaW5nbGUtZWxlbWVudAogK2VuZCBwcm9ncmFtIHZsYV9z dHJpZGUKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS5mOTAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLmY5MAkyMDE3LTA0LTIwIDIyOjI1OjQzLjk3MzI1 NDY4NSArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vdmxhLmY5MAkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2ODQ0NjYzOCArMDIwMAotQEAgLTU0 LDQgKzU0LDE0IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEu ZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEuZjkwCitpbmRleCAwMDA2YjMzNjRh Li5iM2FkYTBhNDFiIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEu ZjkwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS5mOTAKK0BAIC01NCw0ICs1 NCwxNCBAQCBwcm9ncmFtIHZsYQogIAogICAgYWxsb2NhdGUgKHZsYTMgKDIsMikpICAgICAgICAg ICAgICAgISB2bGEyLWRlYWxsb2NhdGVkCiAgICB2bGEzKDosOikgPSAxMwpAQCAtMTcxMywxMSAr MTc1MCwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi92bGEuZjkwCiArICBsID0gYWxsb2NhdGVkKHZsYTEpCiArCiAgZW5kIHByb2dyYW0g dmxhCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbGFyaXRoLmMKLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi92YWxhcml0aC5jCTIwMTctMDQt MjAgMjI6MjU6NDMuOTczMjU0Njg1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L3ZhbGFyaXRoLmMJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjk0NDY2NDQgKzAyMDAKLUBAIC0xOTMs MTAgKzE5MywxNiBAQAorZGlmZiAtLWdpdCBhL2dkYi92YWxhcml0aC5jIGIvZ2RiL3ZhbGFyaXRo LmMKK2luZGV4IDg5ZTQ0ZjNmYjAuLjU5YWY5ZmNkZTQgMTAwNjQ0CistLS0gYS9nZGIvdmFsYXJp dGguYworKysrIGIvZ2RiL3ZhbGFyaXRoLmMKK0BAIC0xODksMTAgKzE4OSwxNiBAQCB2YWx1ZV9z dWJzY3JpcHRlZF9ydmFsdWUgKHN0cnVjdCB2YWx1ZSAqYXJyYXksIExPTkdFU1QgaW5kZXgsIGlu dCBsb3dlcmJvdW5kKQogICAgc3RydWN0IHR5cGUgKmFycmF5X3R5cGUgPSBjaGVja190eXBlZGVm ICh2YWx1ZV90eXBlIChhcnJheSkpOwogICAgc3RydWN0IHR5cGUgKmVsdF90eXBlID0gY2hlY2tf dHlwZWRlZiAoVFlQRV9UQVJHRVRfVFlQRSAoYXJyYXlfdHlwZSkpOwogICAgVUxPTkdFU1QgZWx0 X3NpemUgPSB0eXBlX2xlbmd0aF91bml0cyAoZWx0X3R5cGUpOwpAQCAtMTczNiwxNCArMTc3Mywx NSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbGFyaXRoLmMKICAgICAgewog ICAgICAgIGlmICh0eXBlX25vdF9hc3NvY2lhdGVkIChhcnJheV90eXBlKSkKICAgICAgICAgIGVy cm9yIChfKCJubyBzdWNoIHZlY3RvciBlbGVtZW50ICh2ZWN0b3Igbm90IGFzc29jaWF0ZWQpIikp OwotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92YWxvcHMuYwotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3ZhbG9wcy5jCTIwMTctMDQtMjAgMjI6 MjU6NDMuOTczMjU0Njg1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbG9w cy5jCTIwMTctMDQtMjAgMjI6MjY6MTQuMzcwNDQ2NjUxICswMjAwCi1AQCAtMzc4Niw1NSArMzc4 NiwxOTQgQEAKK2RpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMgYi9nZGIvdmFsb3BzLmMKK2luZGV4 IGNjYzJiYzJhZmUuLjQ3MTU5MTJiOTQgMTAwNjQ0CistLS0gYS9nZGIvdmFsb3BzLmMKKysrKyBi L2dkYi92YWxvcHMuYworQEAgLTM3NzYsNTYgKzM3NzYsMTk1IEBAIHZhbHVlX29mX3RoaXNfc2ls ZW50IChjb25zdCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbiAqbGFuZykKKyAKICBzdHJ1Y3QgdmFsdWUg KgogIHZhbHVlX3NsaWNlIChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBpbnQgbG93Ym91bmQsIGludCBs ZW5ndGgpCi0geworK3sKICsgIC8qIFBhc3MgdW5hbHRlcmVkIGFyZ3VtZW50cyB0byBWQUxVRV9T TElDRV8xLCBwbHVzIGEgZGVmYXVsdCBzdHJpZGUKICsgICAgIHZhbHVlIG9mICcxJywgd2hpY2gg cmV0dXJucyBldmVyeSBlbGVtZW50IGJldHdlZW4gTE9XQk9VTkQgYW5kCiArICAgICAoTE9XQk9V TkQgKyBMRU5HVEgpLiAgV2UgYWxzbyBwcm92aWRlIGEgZGVmYXVsdCBDQUxMX0NPVU5UIG9mICcx JwpAQCAtMTc2OCw3ICsxODA2LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92 YWxvcHMuYwogK3N0cnVjdCB2YWx1ZSAqCiArdmFsdWVfc2xpY2VfMSAoc3RydWN0IHZhbHVlICph cnJheSwgaW50IGxvd2JvdW5kLCBpbnQgbGVuZ3RoLAogKwkgICAgICAgaW50IHN0cmlkZV9sZW5n dGgsIGludCBjYWxsX2NvdW50KQotK3sKKyB7CiAgICBzdHJ1Y3QgdHlwZSAqc2xpY2VfcmFuZ2Vf dHlwZSwgKnNsaWNlX3R5cGUsICpyYW5nZV90eXBlOwogLSAgTE9OR0VTVCBsb3dlcmJvdW5kLCB1 cHBlcmJvdW5kOwogLSAgc3RydWN0IHZhbHVlICpzbGljZTsKQEAgLTE3OTAsMTAgKzE4MjgsNiBA QCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbG9wcy5jCiAtICByYW5nZV90eXBl ID0gVFlQRV9JTkRFWF9UWVBFIChhcnJheV90eXBlKTsKIC0gIGlmIChnZXRfZGlzY3JldGVfYm91 bmRzIChyYW5nZV90eXBlLCAmbG93ZXJib3VuZCwgJnVwcGVyYm91bmQpIDwgMCkKIC0gICAgZXJy b3IgKF8oInNsaWNlIGZyb20gYmFkIGFycmF5IG9yIGJpdHN0cmluZyIpKTsKLS0KLS0gIGlmIChs b3dib3VuZCA8IGxvd2VyYm91bmQgfHwgbGVuZ3RoIDwgMAotLSAgICAgIHx8IGxvd2JvdW5kICsg bGVuZ3RoIC0gMSA+IHVwcGVyYm91bmQpCi0tICAgIGVycm9yIChfKCJzbGljZSBvdXQgb2YgcmFu Z2UiKSk7CiArICBhcnlfbG93X2JvdW5kID0gVFlQRV9MT1dfQk9VTkQgKFRZUEVfSU5ERVhfVFlQ RSAoYXJyYXlfdHlwZSkpOwogKyAgYXJ5X2hpZ2hfYm91bmQgPSBUWVBFX0hJR0hfQk9VTkQgKFRZ UEVfSU5ERVhfVFlQRSAoYXJyYXlfdHlwZSkpOwogKwpAQCAtMTgxOSw3ICsxODUzLDEwIEBAIElu ZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdmFsb3BzLmMKICsKICsgIGVsdF9zaXplID0g VFlQRV9MRU5HVEggKGVsdF90eXBlKTsKICsgIGVsdF9vZmZzID0gbG93Ym91bmQgLSBhcnlfbG93 X2JvdW5kOwotKworIAorLSAgaWYgKGxvd2JvdW5kIDwgbG93ZXJib3VuZCB8fCBsZW5ndGggPCAw CistICAgICAgfHwgbG93Ym91bmQgKyBsZW5ndGggLSAxID4gdXBwZXJib3VuZCkKKy0gICAgZXJy b3IgKF8oInNsaWNlIG91dCBvZiByYW5nZSIpKTsKICsgIGVsdF9vZmZzICo9IGVsdF9zaXplOwog KwogKyAgLyogQ2hlY2sgZm9yIHZhbGlkIHVzZXIgaW5wdXQuICBJbiBjYXNlIG9mIEZvcnRyYW4g dGhpcyB3YXMgYWxyZWFkeSBkb25lCkBAIC0xODY2LDExICsxOTAzLDYgQEAgSW5kZXg6IGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi92YWxvcHMuYwogLSAgICBzdHJ1Y3QgdHlwZSAqZWxlbWVudF90 eXBlID0gVFlQRV9UQVJHRVRfVFlQRSAoYXJyYXlfdHlwZSk7CiAtICAgIExPTkdFU1Qgb2Zmc2V0 CiAtICAgICAgPSAobG93Ym91bmQgLSBsb3dlcmJvdW5kKSAqIFRZUEVfTEVOR1RIIChjaGVja190 eXBlZGVmIChlbGVtZW50X3R5cGUpKTsKLS0KLS0gICAgc2xpY2VfdHlwZSA9IGNyZWF0ZV9hcnJh eV90eXBlICgoc3RydWN0IHR5cGUgKikgTlVMTCwKLS0JCQkJICAgIGVsZW1lbnRfdHlwZSwKLS0J CQkJICAgIHNsaWNlX3JhbmdlX3R5cGUpOwotLSAgICBUWVBFX0NPREUgKHNsaWNlX3R5cGUpID0g VFlQRV9DT0RFIChhcnJheV90eXBlKTsKICsgICAgc3RydWN0IHR5cGUgKmVsZW1lbnRfdHlwZTsK ICsKICsgICAgLyogV2hlbiBib3RoIENBTExfQ09VTlQgYW5kIFNUUklERV9MRU5HVEggZXF1YWwg MSwgd2UgY2FuIHVzZSB0aGUgbGVnYWN5CkBAIC0xODgwLDkgKzE5MTIsMTUgQEAgSW5kZXg6IGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92YWxvcHMuYwogKwllbGVtZW50X3R5cGUgPSBUWVBFX1RB UkdFVF9UWVBFIChhcnJheV90eXBlKTsKICsKICsJc2xpY2VfdHlwZSA9IGNyZWF0ZV9hcnJheV90 eXBlIChOVUxMLCBlbGVtZW50X3R5cGUsIHNsaWNlX3JhbmdlX3R5cGUpOwotKworIAorLSAgICBz bGljZV90eXBlID0gY3JlYXRlX2FycmF5X3R5cGUgKChzdHJ1Y3QgdHlwZSAqKSBOVUxMLAorLQkJ CQkgICAgZWxlbWVudF90eXBlLAorLQkJCQkgICAgc2xpY2VfcmFuZ2VfdHlwZSk7CistICAgIFRZ UEVfQ09ERSAoc2xpY2VfdHlwZSkgPSBUWVBFX0NPREUgKGFycmF5X3R5cGUpOwogKwlUWVBFX0NP REUgKHNsaWNlX3R5cGUpID0gVFlQRV9DT0RFIChhcnJheV90eXBlKTsKLSsKKyAKKy0gICAgaWYg KFZBTFVFX0xWQUwgKGFycmF5KSA9PSBsdmFsX21lbW9yeSAmJiB2YWx1ZV9sYXp5IChhcnJheSkp CistICAgICAgc2xpY2UgPSBhbGxvY2F0ZV92YWx1ZV9sYXp5IChzbGljZV90eXBlKTsKICsJaWYg KFZBTFVFX0xWQUwgKGFycmF5KSA9PSBsdmFsX21lbW9yeSAmJiB2YWx1ZV9sYXp5IChhcnJheSkp CiArCSAgdiA9IGFsbG9jYXRlX3ZhbHVlX2xhenkgKHNsaWNlX3R5cGUpOwogKwllbHNlCkBAIC0x ODk0LDkgKzE5MzIsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbG9wcy5j CiArCQkJCSB2YWx1ZV9lbWJlZGRlZF9vZmZzZXQgKGFycmF5KSArIGVsdF9vZmZzLAogKwkJCQkg ZWx0X3NpemUgKiBsb25nZXN0X3RvX2ludCAobGVuZ3RoKSk7CiArCSAgfQotIAotLSAgICBpZiAo VkFMVUVfTFZBTCAoYXJyYXkpID09IGx2YWxfbWVtb3J5ICYmIHZhbHVlX2xhenkgKGFycmF5KSkK LS0gICAgICBzbGljZSA9IGFsbG9jYXRlX3ZhbHVlX2xhenkgKHNsaWNlX3R5cGUpOworKwogKyAg ICAgIH0KICsgICAgLyogV2l0aCBhIENBTExfQ09VTlQgb3IgU1RSSURFX0xFTkdUSCBhcmUgZ3Jl YXRlciB0aGFuIDEgd2UgYXJlIHdvcmtpbmcKICsgICAgICAgb24gYSByYW5nZSBvZiByYW5nZXMu ICBTbyB3ZSBjb3B5IHRoZSByZWxldmFudCBlbGVtZW50cyBpbnRvIHRoZQpAQCAtMTk2NywxMSAr MjAwMywxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbG9wcy5jCiAgfQog IAogIC8qIENyZWF0ZSBhIHZhbHVlIGZvciBhIEZPUlRSQU4gY29tcGxleCBudW1iZXIuICBDdXJy ZW50bHkgbW9zdCBvZiB0aGUKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdmFsdWUu aAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3ZhbHVlLmgJ MjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvdmFsdWUuaAkyMDE3LTA0LTIwIDIyOjI2OjE0LjM3MDQ0NjY1MSArMDIwMAotQEAg LTExMDYsNiArMTEwNiw4IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHVlLmggYi9nZGIvdmFsdWUu aAoraW5kZXggZTBkZTg0NDI3ZS4uOGU4NTQ1Mjk2OSAxMDA2NDQKKy0tLSBhL2dkYi92YWx1ZS5o CisrKysgYi9nZGIvdmFsdWUuaAorQEAgLTExMjgsNiArMTEyOCw4IEBAIGV4dGVybiBzdHJ1Y3Qg dmFsdWUgKnZhcnlpbmdfdG9fc2xpY2UgKHN0cnVjdCB2YWx1ZSAqKTsKICAKICBleHRlcm4gc3Ry dWN0IHZhbHVlICp2YWx1ZV9zbGljZSAoc3RydWN0IHZhbHVlICosIGludCwgaW50KTsKICAKQEAg LTE5ODAsMyArMjAxNiw2IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdmFsdWUu aAogIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2xpdGVyYWxfY29tcGxleCAoc3RydWN0IHZh bHVlICosIHN0cnVjdCB2YWx1ZSAqLAogIAkJCQkJICAgIHN0cnVjdCB0eXBlICopOwogIAorLS0g CisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5n cy5wYXRjaCBiL2dkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRjaAppbmRleCBj MjBkZjFkLi43ODFhMTc0IDEwMDY0NAotLS0gYS9nZGItdmxhLWludGVsLWZvcnRyYW4tdmxhLXN0 cmluZ3MucGF0Y2gKKysrIGIvZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXZsYS1zdHJpbmdzLnBhdGNo CkBAIC0xLDEwICsxLDEyIEBACi1Gcm9tIGY0MDhiYTgyMWY4YzhiNWFkNjU2NGI5ODgwNjY2NmQy NDc4Zjc1OTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDE0M2YxNjA1ODVmMTQyMzc3 ZjBlZDQ2ZmFjMzUzYTcxODlmZGNjYmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBG ZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3Qg MjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXZsYS1z dHJpbmdzLnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItdmxhLWludGVsLWZvcnRyYW4tdmxhLXN0cmlu Z3MucGF0Y2gKIAorOzs9cHVzaAorCiBnaXQgZGlmZiAtLXN0YXQgLXAgZ2RiL21hc3Rlci4uLmdk Yi91c2Vycy9iaGVja2VsL2ZvcnRyYW4tdmxhLXN0cmluZ3MKIDBhZDdkOGQxYTNhMzZjNmUwNGUz YjZkMzdkODgyNWYxOGQ1OTU3MjMKIApAQCAtMjksMjUgKzMxLDUxIEBAIGdpdCBkaWZmIC0tc3Rh dCAtcCBnZGIvbWFzdGVyLi4uZ2RiL3VzZXJzL2JoZWNrZWwvZm9ydHJhbi12bGEtc3RyaW5ncwog IGdkYi92YWxvcHMuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE2ICsrLQogIGdk Yi92YWxwcmludC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA2IC0tCiAgMjAgZmls ZXMgY2hhbmdlZCwgODI3IGluc2VydGlvbnMoKyksIDExMCBkZWxldGlvbnMoLSkKKy0tLQorIGdk Yi9ORVdTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICsKKyBnZGIvYy12 YWxwcmludC5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyMiArKysrCisgZ2RiL2R3YXJm MnJlYWQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNjAgKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tCisgZ2RiL2YtdHlwZXByaW50LmMgICAgICAgICAgICAgICAgICAgICAgICAg fCAgOTMgKysrKysrKysrLS0tLS0tLS0KKyBnZGIvZ2RidHlwZXMuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICA0NCArKysrKysrLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHgu Y2MgICAgICAgICAgIHwgICA5ICsrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5leHAg ICAgICAgICAgfCAgIDkgKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmV4 cCAgICB8IDE0MyArKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vcG9pbnRlcnMuZjkwICAgIHwgMTA5ICsrKysrKysrKysrKysrKysrKysrCisgZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4cCAgfCAxMDAgKysrKysrKysrKysr KysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cCAgIHwgIDEy ICstLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZXhwIHwgMTAzICsr KysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdz LmY5MCB8ICAzOSArKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUu ZXhwICAgIHwgICA3ICstCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhw ICAgfCAgIDQgKy0KKyBnZGIvdGVzdHN1aXRlL2dkYi5taS9taS12bGEtZm9ydHJhbi5leHAgICB8 ICAgOCArLQorIGdkYi90eXBlcHJpbnQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE5 ICsrKysKKyBnZGIvdmFsb3BzLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxNiAr Ky0KKyBnZGIvdmFscHJpbnQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNiAtLQor IDE5IGZpbGVzIGNoYW5nZWQsIDgwNyBpbnNlcnRpb25zKCspLCA5OCBkZWxldGlvbnMoLSkKKyBj cmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2ludGVycy5leHAK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2ludGVycy5m OTAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90 eXBlLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS1zdHJpbmdzLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS1zdHJpbmdzLmY5MAogCi1JbmRleDogZ2RiLTguMC9nZGIvTkVXUwotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi04LjAub3JpZy9nZGIvTkVXUwkyMDE3LTA2LTA5IDA1OjUxOjU4LjIxMTQwMTcx OCArMDIwMAotKysrIGdkYi04LjAvZ2RiL05FV1MJMjAxNy0wNi0wOSAwNTo1MjoxMS41ODY1MDQ5 MjcgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvTkVXUyBiL2dkYi9ORVdTCitpbmRleCBmZjlhODE5 OTE4Li4xMDA0NzBiOTBkIDEwMDY0NAorLS0tIGEvZ2RiL05FV1MKKysrKyBiL2dkYi9ORVdTCiBA QCAtMSw2ICsxLDggQEAKICAJCVdoYXQgaGFzIGNoYW5nZWQgaW4gR0RCPwogIAkgICAgIChPcmdh bml6ZWQgcmVsZWFzZSBieSByZWxlYXNlKQogIAogKyogRm9ydHJhbjogU3VwcG9ydCBwb2ludGVy cyB0byBkeW5hbWljIHR5cGVzLgogKwotICoqKiBDaGFuZ2VzIGluIEdEQiA4LjAKKyAqKiogQ2hh bmdlcyBzaW5jZSBHREIgOC4wCiAgCi0gKiBHREIgbm93IHN1cHBvcnRzIGFjY2VzcyB0byB0aGUg UEtVIHJlZ2lzdGVyIG9uIEdOVS9MaW51eC4gVGhlIHJlZ2lzdGVyIGlzCi1JbmRleDogZ2RiLTgu MC9nZGIvYy12YWxwcmludC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9jLXZh bHByaW50LmMJMjAxNy0wNi0wOSAwNTo1MTo1NS44MzgzODM0MDYgKzAyMDAKLSsrKyBnZGItOC4w L2dkYi9jLXZhbHByaW50LmMJMjAxNy0wNi0wOSAwNTo1MTo1OC4yMTI0MDE3MjYgKzAyMDAKLUBA IC02NTAsNiArNjUwLDI4IEBACisgKiBOZXcgIi0tcmVhZG5ldmVyIiBjb21tYW5kIGxpbmUgb3B0 aW9uIGluc3RydWN0cyBHREIgdG8gbm90IHJlYWQgZWFjaAorZGlmZiAtLWdpdCBhL2dkYi9jLXZh bHByaW50LmMgYi9nZGIvYy12YWxwcmludC5jCitpbmRleCA2NTNmZWQ2NTdhLi45NmU2YzU5N2Nm IDEwMDY0NAorLS0tIGEvZ2RiL2MtdmFscHJpbnQuYworKysrIGIvZ2RiL2MtdmFscHJpbnQuYwor QEAgLTY1MCw2ICs2NTAsMjggQEAgY192YWx1ZV9wcmludCAoc3RydWN0IHZhbHVlICp2YWwsIHN0 cnVjdCB1aV9maWxlICpzdHJlYW0sCiAgICAgICAgZWxzZQogIAl7CiAgCSAgLyogbm9ybWFsIGNh c2UgKi8KQEAgLTc2LDExICsxMDQsMTEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2MtdmFscHJpbnQu YwogIAkgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIigiKTsKICAJICB0eXBlX3ByaW50ICh2 YWx1ZV90eXBlICh2YWwpLCAiIiwgc3RyZWFtLCAtMSk7CiAgCSAgZnByaW50Zl9maWx0ZXJlZCAo c3RyZWFtLCAiKSAiKTsKLUluZGV4OiBnZGItOC4wL2dkYi9kd2FyZjJyZWFkLmMKLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDE3LTA2LTA5IDA1OjUxOjU1 Ljg1OTM4MzU2OSArMDIwMAotKysrIGdkYi04LjAvZ2RiL2R3YXJmMnJlYWQuYwkyMDE3LTA2LTA5 IDA1OjUxOjU4LjIxODQwMTc3MiArMDIwMAotQEAgLTE4NzIsNyArMTg3Miw4IEBACitkaWZmIC0t Z2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKK2luZGV4IDRmMmQwNDMy OWMuLmZkZDFkOWQ2ODggMTAwNjQ0CistLS0gYS9nZGIvZHdhcmYycmVhZC5jCisrKysgYi9nZGIv ZHdhcmYycmVhZC5jCitAQCAtMTk3NCw3ICsxOTc0LDggQEAgc3RhdGljIHZvaWQgcmVhZF9zaWdu YXR1cmVkX3R5cGUgKHN0cnVjdCBzaWduYXR1cmVkX3R5cGUgKik7CiAgCiAgc3RhdGljIGludCBh dHRyX3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwKICAJCQkJ IHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwKQEAgLTkwLDcgKzEx OCw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9kd2FyZjJyZWFkLmMKICAKICAvKiBtZW1vcnkgYWxs b2NhdGlvbiBpbnRlcmZhY2UgKi8KICAKLUBAIC0xMTU1Nyw3ICsxMTU1OCw3IEBACitAQCAtMTI1 NjIsNyArMTI1NjMsNyBAQCByZWFkX2Z1bmNfc2NvcGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBz dHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgICAgewogICAgICAgIG5ld29iai0+c3RhdGljX2xpbmsK ICAJPSBYT0JORVcgKCZvYmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssIHN0cnVjdCBkeW5hbWljX3By b3ApOwpAQCAtOTksMTYgKzEyNywxNiBAQCBJbmRleDogZ2RiLTguMC9nZGIvZHdhcmYycmVhZC5j CiAgICAgIH0KICAKICAgIGN1LT5saXN0X2luX3Njb3BlID0gJmxvY2FsX3N5bWJvbHM7Ci1AQCAt MTQ3OTEsMjkgKzE0NzkyLDk0IEBACitAQCAtMTU4MzQsMjkgKzE1ODM1LDk0IEBAIHJlYWRfdGFn X3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3Up CiAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9vYmpmaWxlX2FyY2ggKG9iamZpbGUp OwogICAgc3RydWN0IHR5cGUgKnR5cGUsICpyYW5nZV90eXBlLCAqaW5kZXhfdHlwZSwgKmNoYXJf dHlwZTsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CiAtICB1bnNpZ25lZCBpbnQgbGVuZ3Ro OwogKyAgdW5zaWduZWQgaW50IGxlbmd0aCA9IFVJTlRfTUFYOwotIAorKwogKyAgaW5kZXhfdHlw ZSA9IG9iamZpbGVfdHlwZSAob2JqZmlsZSktPmJ1aWx0aW5faW50OwogKyAgcmFuZ2VfdHlwZSA9 IGNyZWF0ZV9zdGF0aWNfcmFuZ2VfdHlwZSAoTlVMTCwgaW5kZXhfdHlwZSwgMSwgbGVuZ3RoKTsK LSsKKyAKICsgIC8qIElmIERXX0FUX3N0cmluZ19sZW5ndGggaXMgZGVmaW5lZCwgdGhlIGxlbmd0 aCBpcyBzdG9yZWQgaW4gbWVtb3J5LiAgKi8KICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBE V19BVF9zdHJpbmdfbGVuZ3RoLCBjdSk7CiAgICBpZiAoYXR0cikKQEAgLTIwNSw3ICsyMzMsNyBA QCBJbmRleDogZ2RiLTguMC9nZGIvZHdhcmYycmVhZC5jCiAgICBjaGFyX3R5cGUgPSBsYW5ndWFn ZV9zdHJpbmdfY2hhcl90eXBlIChjdS0+bGFuZ3VhZ2VfZGVmbiwgZ2RiYXJjaCk7CiAgICB0eXBl ID0gY3JlYXRlX3N0cmluZ190eXBlIChOVUxMLCBjaGFyX3R5cGUsIHJhbmdlX3R5cGUpOwogIAot QEAgLTE1MTYzLDcgKzE1MjI5LDggQEAKK0BAIC0xNjIwNSw3ICsxNjI3MSw4IEBAIHJlYWRfYmFz ZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgCiAg c3RhdGljIGludAogIGF0dHJfdG9fZHluYW1pY19wcm9wIChjb25zdCBzdHJ1Y3QgYXR0cmlidXRl ICphdHRyLCBzdHJ1Y3QgZGllX2luZm8gKmRpZSwKQEAgLTIxNSw3ICsyNDMsNyBAQCBJbmRleDog Z2RiLTguMC9nZGIvZHdhcmYycmVhZC5jCiAgewogICAgc3RydWN0IGR3YXJmMl9wcm9wZXJ0eV9i YXRvbiAqYmF0b247CiAgICBzdHJ1Y3Qgb2JzdGFjayAqb2JzdGFjayA9ICZjdS0+b2JqZmlsZS0+ b2JqZmlsZV9vYnN0YWNrOwotQEAgLTE1MTczLDE0ICsxNTI0MCwzMyBAQAorQEAgLTE2MjE1LDE0 ICsxNjI4MiwzMyBAQCBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0IGF0dHJpYnV0 ZSAqYXR0ciwgc3RydWN0IGRpZV9pbmZvICpkaWUsCiAgCiAgICBpZiAoYXR0cl9mb3JtX2lzX2Js b2NrIChhdHRyKSkKICAgICAgewpAQCAtMjUzLDcgKzI4MSw3IEBAIEluZGV4OiBnZGItOC4wL2dk Yi9kd2FyZjJyZWFkLmMKICAgICAgfQogICAgZWxzZSBpZiAoYXR0cl9mb3JtX2lzX3JlZiAoYXR0 cikpCiAgICAgIHsKLUBAIC0xNTIxMyw4ICsxNTI5OSwyOCBAQAorQEAgLTE2MjU1LDggKzE2MzQx LDI4IEBAIGF0dHJfdG9fZHluYW1pY19wcm9wIChjb25zdCBzdHJ1Y3QgYXR0cmlidXRlICphdHRy LCBzdHJ1Y3QgZGllX2luZm8gKmRpZSwKICAJCWJhdG9uID0gWE9CTkVXIChvYnN0YWNrLCBzdHJ1 Y3QgZHdhcmYyX3Byb3BlcnR5X2JhdG9uKTsKICAJCWJhdG9uLT5yZWZlcmVuY2VkX3R5cGUgPSBk aWVfdHlwZSAodGFyZ2V0X2RpZSwgdGFyZ2V0X2N1KTsKICAJCWJhdG9uLT5sb2NleHByLnBlcl9j dSA9IGN1LT5wZXJfY3U7CkBAIC0yODQsNyArMzEyLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2R3 YXJmMnJlYWQuYwogIAkJcHJvcC0+ZGF0YS5iYXRvbiA9IGJhdG9uOwogIAkJcHJvcC0+a2luZCA9 IFBST1BfTE9DRVhQUjsKICAJCWdkYl9hc3NlcnQgKHByb3AtPmRhdGEuYmF0b24gIT0gTlVMTCk7 Ci1AQCAtMTUzMjUsMjQgKzE1NDMxLDI0IEBACitAQCAtMTYzNjcsMjQgKzE2NDczLDI0IEBAIHJl YWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3Ug KmN1KQogIAogICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2J5dGVfc3RyaWRlLCBj dSk7CiAgICBpZiAoYXR0cikKQEAgLTMxMyw3ICszNDEsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIv ZHdhcmYycmVhZC5jCiAgCXsKICAJICAvKiBJZiBib3VuZHMgYXJlIGNvbnN0YW50IGRvIHRoZSBm aW5hbCBjYWxjdWxhdGlvbiBoZXJlLiAgKi8KICAJICBpZiAobG93LmtpbmQgPT0gUFJPUF9DT05T VCAmJiBoaWdoLmtpbmQgPT0gUFJPUF9DT05TVCkKLUBAIC0yMjk2Nyw3ICsyMzA3Myw3IEBACitA QCAtMjM5NzMsNyArMjQwNzksNyBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGll LCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICBhdHRyID0gZHdh cmYyX2F0dHIgKGRpZSwgRFdfQVRfYWxsb2NhdGVkLCBjdSk7CiAgICBpZiAoYXR0cl9mb3JtX2lz X2Jsb2NrIChhdHRyKSkKICAgICAgewpAQCAtMzIyLDcgKzM1MCw3IEBAIEluZGV4OiBnZGItOC4w L2dkYi9kd2FyZjJyZWFkLmMKICAgICAgICAgIGFkZF9keW5fcHJvcCAoRFlOX1BST1BfQUxMT0NB VEVELCBwcm9wLCB0eXBlLCBvYmpmaWxlKTsKICAgICAgfQogICAgZWxzZSBpZiAoYXR0ciAhPSBO VUxMKQotQEAgLTIyOTgyLDcgKzIzMDg4LDcgQEAKK0BAIC0yMzk4OCw3ICsyNDA5NCw3IEBAIHNl dF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1 Y3QgZHdhcmYyX2N1ICpjdSkKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9hc3Nv Y2lhdGVkLCBjdSk7CiAgICBpZiAoYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKICAgICAgewpA QCAtMzMxLDcgKzM1OSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9kd2FyZjJyZWFkLmMKICAgICAg ICAgIGFkZF9keW5fcHJvcCAoRFlOX1BST1BfQVNTT0NJQVRFRCwgcHJvcCwgdHlwZSwgb2JqZmls ZSk7CiAgICAgIH0KICAgIGVsc2UgaWYgKGF0dHIgIT0gTlVMTCkKLUBAIC0yMjk5NSw3ICsyMzEw MSw3IEBACitAQCAtMjQwMDEsNyArMjQxMDcsNyBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVf aW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgCiAg ICAvKiBSZWFkIERXX0FUX2RhdGFfbG9jYXRpb24gYW5kIHNldCBpbiB0eXBlLiAgKi8KICAgIGF0 dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9kYXRhX2xvY2F0aW9uLCBjdSk7CkBAIC0zNDAs MTEgKzM2OCwxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvZHdhcmYycmVhZC5jCiAgICAgIGFkZF9k eW5fcHJvcCAoRFlOX1BST1BfREFUQV9MT0NBVElPTiwgcHJvcCwgdHlwZSwgb2JqZmlsZSk7CiAg CiAgICBpZiAoZHdhcmYyX3Blcl9vYmpmaWxlLT5kaWVfdHlwZV9oYXNoID09IE5VTEwpCi1JbmRl eDogZ2RiLTguMC9nZGIvZi10eXBlcHJpbnQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3Jp Zy9nZGIvZi10eXBlcHJpbnQuYwkyMDE3LTA2LTA5IDA1OjUxOjM5LjI3MzI1NTU4MSArMDIwMAot KysrIGdkYi04LjAvZ2RiL2YtdHlwZXByaW50LmMJMjAxNy0wNi0wOSAwNTo1MTo1OC4yMTg0MDE3 NzIgKzAyMDAKLUBAIC0zNyw3ICszNyw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2YtdHlwZXByaW50 LmMgYi9nZGIvZi10eXBlcHJpbnQuYworaW5kZXggOWQ5YTFmMzBiOS4uZGNjZGZlNzljNiAxMDA2 NDQKKy0tLSBhL2dkYi9mLXR5cGVwcmludC5jCisrKysgYi9nZGIvZi10eXBlcHJpbnQuYworQEAg LTM3LDcgKzM3LDcgQEAgc3RhdGljIHZvaWQgZl90eXBlX3ByaW50X2FyZ3MgKHN0cnVjdCB0eXBl ICosIHN0cnVjdCB1aV9maWxlICopOwogICNlbmRpZgogIAogIHN0YXRpYyB2b2lkIGZfdHlwZV9w cmludF92YXJzcGVjX3N1ZmZpeCAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHVpX2ZpbGUgKiwgaW50 LApAQCAtMzUzLDcgKzM4MSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9mLXR5cGVwcmludC5jCiAg CiAgdm9pZCBmX3R5cGVfcHJpbnRfdmFyc3BlY19wcmVmaXggKHN0cnVjdCB0eXBlICosIHN0cnVj dCB1aV9maWxlICosCiAgCQkJCSAgaW50LCBpbnQpOwotQEAgLTUzLDE4ICs1Myw2IEBACitAQCAt NTMsMTggKzUzLDYgQEAgZl9wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgY2hh ciAqdmFyc3RyaW5nLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogIHsKICAgIGVudW0gdHlwZV9j b2RlIGNvZGU7CiAgCkBAIC0zNzIsNyArNDAwLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2YtdHlw ZXByaW50LmMKICAgIGZfdHlwZV9wcmludF9iYXNlICh0eXBlLCBzdHJlYW0sIHNob3csIGxldmVs KTsKICAgIGNvZGUgPSBUWVBFX0NPREUgKHR5cGUpOwogICAgaWYgKCh2YXJzdHJpbmcgIT0gTlVM TCAmJiAqdmFyc3RyaW5nICE9ICdcMCcpCi1AQCAtODksNyArNzcsNyBAQAorQEAgLTg5LDcgKzc3 LDcgQEAgZl9wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgY2hhciAqdmFyc3Ry aW5nLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogIAogICAgICAgIGRlbWFuZ2xlZF9hcmdzID0g KCp2YXJzdHJpbmcgIT0gJ1wwJwogIAkJCSYmIHZhcnN0cmluZ1tzdHJsZW4gKHZhcnN0cmluZykg LSAxXSA9PSAnKScpOwpAQCAtMzgxLDcgKzQwOSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9mLXR5 cGVwcmludC5jCiAgICAgfQogIH0KICAKLUBAIC0xNTksNyArMTQ3LDcgQEAKK0BAIC0xNTksNyAr MTQ3LDcgQEAgZl90eXBlX3ByaW50X3ZhcnNwZWNfcHJlZml4IChzdHJ1Y3QgdHlwZSAqdHlwZSwg c3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKICBzdGF0aWMgdm9pZAogIGZfdHlwZV9wcmludF92YXJz cGVjX3N1ZmZpeCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAg CQkJICAgICBpbnQgc2hvdywgaW50IHBhc3NlZF9hX3B0ciwgaW50IGRlbWFuZ2xlZF9hcmdzLApA QCAtMzkwLDcgKzQxOCw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9mLXR5cGVwcmludC5jCiAgewog ICAgaW50IHVwcGVyX2JvdW5kLCBsb3dlcl9ib3VuZDsKICAKLUBAIC0xODMsMzQgKzE3MSw1MCBA QAorQEAgLTE4MywzNCArMTcxLDUwIEBAIGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZpeCAoc3Ry dWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAgCWZwcmludGZfZmlsdGVy ZWQgKHN0cmVhbSwgIigiKTsKICAKICAgICAgICBpZiAodHlwZV9ub3RfYXNzb2NpYXRlZCAodHlw ZSkpCkBAIC00NjcsNyArNDk1LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2YtdHlwZXByaW50LmMK ICAgICAgICBpZiAoYXJyYXlwcmludF9yZWN1cnNlX2xldmVsID09IDEpCiAgCWZwcmludGZfZmls dGVyZWQgKHN0cmVhbSwgIikiKTsKICAgICAgICBlbHNlCi1AQCAtMjIxLDEzICsyMjUsMTQgQEAK K0BAIC0yMjEsMTMgKzIyNSwxNCBAQCBmX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVj dCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogICAgICBjYXNlIFRZUEVfQ09E RV9QVFI6CiAgICAgIGNhc2UgVFlQRV9DT0RFX1JFRjoKICAgICAgICBmX3R5cGVfcHJpbnRfdmFy c3BlY19zdWZmaXggKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpLCBzdHJlYW0sIDAsIDEsIDAsCkBA IC00ODQsNyArNTEyLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2YtdHlwZXByaW50LmMKICAgICAg ICBpZiAocGFzc2VkX2FfcHRyKQogIAlmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIpIik7CiAg Ci1AQCAtMzc4LDcgKzM4Myw3IEBACitAQCAtMzgzLDcgKzM4OCw3IEBAIGZfdHlwZV9wcmludF9i YXNlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHNob3cs CiAgCSAgICAgIGZwdXRzX2ZpbHRlcmVkICgiIDo6ICIsIHN0cmVhbSk7CiAgCSAgICAgIGZwdXRz X2ZpbHRlcmVkIChUWVBFX0ZJRUxEX05BTUUgKHR5cGUsIGluZGV4KSwgc3RyZWFtKTsKICAJICAg ICAgZl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGlu ZGV4KSwKQEAgLTQ5MywxMSArNTIxLDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9mLXR5cGVwcmlu dC5jCiAgCSAgICAgIGZwdXRzX2ZpbHRlcmVkICgiXG4iLCBzdHJlYW0pOwogIAkgICAgfQogIAkg IGZwcmludGZpX2ZpbHRlcmVkIChsZXZlbCwgc3RyZWFtLCAiRW5kIFR5cGUgIik7Ci1JbmRleDog Z2RiLTguMC9nZGIvZ2RidHlwZXMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIv Z2RidHlwZXMuYwkyMDE3LTA2LTA5IDA1OjUxOjU1Ljg2NDM4MzYwNyArMDIwMAotKysrIGdkYi04 LjAvZ2RiL2dkYnR5cGVzLmMJMjAxNy0wNi0wOSAwNTo1MTo1OC4yMTk0MDE3ODAgKzAyMDAKLUBA IC0xODM5LDcgKzE4MzksOCBAQAorZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5jIGIvZ2RiL2dk YnR5cGVzLmMKK2luZGV4IDYzYWRhNWE0NmMuLmEyNWUwYTg0ZTkgMTAwNjQ0CistLS0gYS9nZGIv Z2RidHlwZXMuYworKysrIGIvZ2RiL2dkYnR5cGVzLmMKK0BAIC0xODQyLDcgKzE4NDIsOCBAQCBp c19keW5hbWljX3R5cGVfaW50ZXJuYWwgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgdG9wX2xldmVs KQogICAgdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHR5cGUpOwogIAogICAgLyogV2Ugb25seSB3YW50 IHRvIHJlY29nbml6ZSByZWZlcmVuY2VzIGF0IHRoZSBvdXRlcm1vc3QgbGV2ZWwuICAqLwpAQCAt NTA3LDcgKzUzNSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9nZGJ0eXBlcy5jCiAgICAgIHR5cGUg PSBjaGVja190eXBlZGVmIChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSk7CiAgCiAgICAvKiBUeXBl cyB0aGF0IGhhdmUgYSBkeW5hbWljIFRZUEVfREFUQV9MT0NBVElPTiBhcmUgY29uc2lkZXJlZAot QEAgLTE4NzMsNiArMTg3NCw3IEBACitAQCAtMTg3Niw2ICsxODc3LDcgQEAgaXNfZHluYW1pY190 eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IHRvcF9sZXZlbCkKICAgICAgICB9 CiAgCiAgICAgIGNhc2UgVFlQRV9DT0RFX0FSUkFZOgpAQCAtNTE1LDcgKzU0Myw3IEBAIEluZGV4 OiBnZGItOC4wL2dkYi9nZGJ0eXBlcy5jCiAgICAgICAgewogIAlnZGJfYXNzZXJ0IChUWVBFX05G SUVMRFMgKHR5cGUpID09IDEpOwogIAotQEAgLTE5ODUsNyArMTk4Nyw4IEBACitAQCAtMTk4OCw3 ICsxOTkwLDggQEAgcmVzb2x2ZV9keW5hbWljX2FycmF5IChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAg IHN0cnVjdCB0eXBlICphcnlfZGltOwogICAgc3RydWN0IGR5bmFtaWNfcHJvcCAqcHJvcDsKICAK QEAgLTUyNSw3ICs1NTMsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZ2RidHlwZXMuYwogIAogICAg dHlwZSA9IGNvcHlfdHlwZSAodHlwZSk7CiAgCi1AQCAtMjAxMCwxMyArMjAxMywxNyBAQAorQEAg LTIwMTMsMTMgKzIwMTYsMTcgQEAgcmVzb2x2ZV9keW5hbWljX2FycmF5IChzdHJ1Y3QgdHlwZSAq dHlwZSwKICAKICAgIGFyeV9kaW0gPSBjaGVja190eXBlZGVmIChUWVBFX1RBUkdFVF9UWVBFIChl bHRfdHlwZSkpOwogIApAQCAtNTQ2LDcgKzU3NCw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9nZGJ0 eXBlcy5jCiAgfQogIAogIC8qIFJlc29sdmUgZHluYW1pYyBib3VuZHMgb2YgbWVtYmVycyBvZiB0 aGUgdW5pb24gVFlQRSB0byBzdGF0aWMKLUBAIC0yMTQ2LDYgKzIxNTMsMjggQEAKK0BAIC0yMTQ5 LDYgKzIxNTYsMjggQEAgcmVzb2x2ZV9keW5hbWljX3N0cnVjdCAoc3RydWN0IHR5cGUgKnR5cGUs CiAgICByZXR1cm4gcmVzb2x2ZWRfdHlwZTsKICB9CiAgCkBAIC01NzUsNyArNjAzLDcgQEAgSW5k ZXg6IGdkYi04LjAvZ2RiL2dkYnR5cGVzLmMKICAvKiBXb3JrZXIgZm9yIHJlc29sdmVkX2R5bmFt aWNfdHlwZS4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB0eXBlICoKLUBAIC0yMTk0LDcgKzIyMjMs MTIgQEAKK0BAIC0yMTk3LDcgKzIyMjYsMTIgQEAgcmVzb2x2ZV9keW5hbWljX3R5cGVfaW50ZXJu YWwgKHN0cnVjdCB0eXBlICp0eXBlLAogIAkgICAgYnJlYWs7CiAgCSAgfQogIApAQCAtNTg4LDEw ICs2MTYsMTAgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2dkYnR5cGVzLmMKICAJICByZXNvbHZlZF90 eXBlID0gcmVzb2x2ZV9keW5hbWljX2FycmF5ICh0eXBlLCBhZGRyX3N0YWNrKTsKICAJICBicmVh azsKICAKLUluZGV4OiBnZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguY2MKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5j YwkyMDE3LTA2LTA5IDA1OjUxOjU1Ljg2NDM4MzYwNyArMDIwMAotKysrIGdkYi04LjAvZ2RiL3Rl c3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5jYwkyMDE3LTA2LTA5IDA1OjUxOjU4LjIxOTQwMTc4MCAr MDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguY2MgYi9nZGIv dGVzdHN1aXRlL2dkYi5jcC92bGEtY3h4LmNjCitpbmRleCA4M2JkMjRiMTkwLi4xNWM2ODNlODlj IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5jYworKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5jYwogQEAgLTE1LDYgKzE1LDEwIEBACiAgICAgWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UKICAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCkBAIC02MDMsNyArNjMxLDcgQEAgSW5kZXg6IGdk Yi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5jYwogIHN0cnVjdCBjb250YWluZXI7 CiAgCiAgc3RydWN0IGVsZW1lbnQKLUBAIC00MCwxMSArNDQsMTYgQEAKK0BAIC00MCwxMSArNDQs MTYgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgdHlwZWRlZiB0eXBlb2Yg KHZsYSkgJnZsYXJlZnR5cGVkZWY7CiAgICB2bGFyZWZ0eXBlZGVmIHZsYXJlZjIgKHZsYSk7CiAg ICBjb250YWluZXIgYzsKQEAgLTYyMCwxMSArNjQ4LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi90 ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguY2MKICsKICAgIHJldHVybiB2bGFbMl07CiAgfQotSW5k ZXg6IGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5leHAKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItOC4wLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5leHAJMjAxNy0w Ni0wOSAwNTo1MTo1NS44NjQzODM2MDcgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi90ZXN0c3VpdGUv Z2RiLmNwL3ZsYS1jeHguZXhwCTIwMTctMDYtMDkgMDU6NTE6NTguMjIwNDAxNzg3ICswMjAwCi1A QCAtMjMsNiArMjMsMTIgQEAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5jcC92bGEt Y3h4LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwCitpbmRleCBhOGQ4MTFk Y2YyLi4wNGI0YWU2ZTEwIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4 eC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwCitAQCAtMjMsNiAr MjMsMTIgQEAgaWYgIVtydW50b19tYWluXSB7CiAgICAgIHJldHVybiAtMQogIH0KICAKQEAgLTYz NywxNyArNjY1LDE4IEBAIEluZGV4OiBnZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1j eHguZXhwCiAgZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInZsYXNfZmlsbGVk Il0KICBnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAidmxhc19maWxsZWQiCiAgCi1AQCAtMzMs MyArMzksNiBAQAorQEAgLTMzLDMgKzM5LDYgQEAgZ2RiX3Rlc3QgInByaW50IHZsYXJlZiIgIiA9 IFxcKGludCBcXCgmXFwpXFxcWzNcXFxdXFwpIEAkaGV4OiBcXHs1LCA3LCA5XFx9IgogICMgYnVn IGJlaW5nIHRlc3RlZCwgaXQncyBiZXR0ZXIgbm90IHRvIGRlcGVuZCBvbiB0aGUgZXhhY3Qgc3Bl bGxpbmcuCiAgZ2RiX3Rlc3QgInByaW50IHZsYXJlZjIiICIgPSBcXCguKlxcKSBAJGhleDogXFx7 NSwgNywgOVxcfSIKICBnZGJfdGVzdCAicHJpbnQgYyIgIiA9IFxce2UgPSBcXHtjID0gQCRoZXhc XH1cXH0iCiArZ2RiX3Rlc3QgInB0eXBlIHB0ciIgImludCBcXChcXCpcXClcXFxbM1xcXF0iCiAr Z2RiX3Rlc3QgInByaW50IHB0ciIgIlxcKGludCBcXChcXCpcXClcXFxbM1xcXF1cXCkgJGhleCIK ICtnZGJfdGVzdCAicHJpbnQgKnB0ciIgIiA9IFxcezUsIDcsIDlcXH0iCi1JbmRleDogZ2RiLTgu MC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmV4cAotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi04 LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2ludGVycy5leHAJMjAxNy0wNi0wOSAwNTo1 MTo1OC4yMjA0MDE3ODcgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3BvaW50ZXJzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZXhw CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNjdjZjk5OTg5ZAorLS0t IC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2ludGVycy5leHAK IEBAIC0wLDAgKzEsMTQzIEBACiArIyBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KICsKQEAgLTc5MiwxMCArODIxLDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZXhwCiArZ2RiX3Rlc3QgInByaW50ICooKGlu dGVnZXIqKSAmaW50YSArIDIpIiAiPSAzIiAicHJpbnQgdGVtcG9yYXJ5IHBvaW50ZXIsIGFycmF5 IgogK2dkYl90ZXN0ICJwcmludCAqKChpbnRlZ2VyKikgJmludHZsYSArIDMpIiAiPSA0IiAicHJp bnQgdGVtcG9yYXJ5IHBvaW50ZXIsIGFsbG9jYXRlZCB2bGEiCiArZ2RiX3Rlc3QgInByaW50IFwk cGMiICI9IFxcKFBUUiBUTyAtPiBcXCggdm9pZCBcXChcXClcXChcXClcXClcXCkgJGhleCA8cG9p bnRlcnNcXCtcXGQrPiIgIlByaW50IHByb2dyYW0gY291bnRlciIKLUluZGV4OiBnZGItOC4wL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZjkwCi09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rl di9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTguMC9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmY5MAkyMDE3LTA2LTA5IDA1OjUxOjU4 LjIyMDQwMTc4NyArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v cG9pbnRlcnMuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2ludGVycy5mOTAKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi42MjQwYzg3OTg4CistLS0gL2Rl di9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmY5MAogQEAg LTAsMCArMSwxMDkgQEAKICshIENvcHlyaWdodCAyMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgogKyEKQEAgLTkwNiwxMCArOTM2LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZjkwCiArICBpbnR2ID0gaW50diArIDEgISBBZnRl ciB2YWx1ZSBhc3NpZ25tZW50CiArCiArZW5kIHByb2dyYW0gcG9pbnRlcnMKLUluZGV4OiBnZGIt OC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBn ZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAJMjAxNy0wNi0w OSAwNTo1MTo1OC4yMjA0MDE3ODcgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ByaW50X3R5cGUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmlu dF90eXBlLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjQ1YjQ5 NjhmNmMKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJp bnRfdHlwZS5leHAKIEBAIC0wLDAgKzEsMTAwIEBACiArIyBDb3B5cmlnaHQgMjAxNiBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEwMTEsMTEgKzEwNDIsMTEgQEAgSW5kZXg6 IGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4cAogKyAgICB9 CiArfQogK2dkYl90ZXN0ICJwdHlwZSByZWFscCIgInR5cGUgPSBQVFIgVE8gLT4gXFwoICRyZWFs IFxcKSIKLUluZGV4OiBnZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBl LmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS1wdHlwZS5leHAJMjAxNy0wNi0wOSAwNTo1MTo1NS44NjUzODM2MTUgKzAyMDAKLSsr KyBnZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cAkyMDE3LTA2 LTA5IDA1OjUxOjU4LjIyMTQwMTc5NSArMDIwMAotQEAgLTMyLDkgKzMyLDkgQEAKK2RpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAgYi9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAKK2luZGV4IDc2ZjQ3NzA4ZDguLmVlYTkzNTM0 ZDIgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAK KysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cAorQEAgLTMyLDkg KzMyLDkgQEAgc2V0IHJlYWwgW2ZvcnRyYW5fcmVhbDRdCiAgIyBDaGVjayB0aGUgcHR5cGUgb2Yg dmFyaW91cyBWTEEgc3RhdGVzIGFuZCBwb2ludGVyIHRvIFZMQSdzLgogIGdkYl9icmVha3BvaW50 IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJ2bGExLWluaXQiXQogIGdkYl9jb250aW51ZV90b19icmVh a3BvaW50ICJ2bGExLWluaXQiCkBAIC0xMDI4LDcgKzEwNTksNyBAQCBJbmRleDogZ2RiLTguMC9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAKICBnZGJfdGVzdCAicHR5cGUg dmxhMSgzLCA2LCA5KSIgIm5vIHN1Y2ggdmVjdG9yIGVsZW1lbnQgXFxcKHZlY3RvciBub3QgYWxs b2NhdGVkXFxcKSIgXAogICAgInB0eXBlIHZsYTEoMywgNiwgOSkgbm90IGluaXRpYWxpemVkIgog IGdkYl90ZXN0ICJwdHlwZSB2bGEyKDUsIDQ1LCAyMCkiIFwKLUBAIC04MSwyMCArODEsMjAgQEAK K0BAIC04MSwyMCArODEsMjAgQEAgZ2RiX3Rlc3QgInB0eXBlIHZsYTIoNSwgNDUsIDIwKSIgInR5 cGUgPSAkcmVhbCIgXAogIAogIGdkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJw dmxhLWRlYXNzb2NpYXRlZCJdCiAgZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgInB2bGEtZGVh c3NvY2lhdGVkIgpAQCAtMTA1MiwxMCArMTA4MywxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAKICBnZGJfdGVzdCAicHR5cGUgdmxhMig1 LCA0NSwgMjApIiBcCiAgICAibm8gc3VjaCB2ZWN0b3IgZWxlbWVudCBcXFwodmVjdG9yIG5vdCBh bGxvY2F0ZWRcXFwpIiBcCiAgICAicHR5cGUgdmxhMig1LCA0NSwgMjApIG5vdCBhbGxvY2F0ZWQi Ci1JbmRleDogZ2RiLTguMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmV4 cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAw MCArMDAwMAotKysrIGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5n cy5leHAJMjAxNy0wNi0wOSAwNTo1MTo1OC4yMjE0MDE3OTUgKzAyMDAKK2RpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMDAwMC4uNDg0ZmRjYjY1MgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5leHAKIEBAIC0wLDAgKzEsMTAzIEBACiArIyBDb3B5 cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTExNjAsMTAg KzExOTIsMTEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEt c3RyaW5ncy5leHAKICsJICAgIHBhc3MgJHRlc3QKICsgICAgfQogK30KLUluZGV4OiBnZGItOC4w L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZjkwCi09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2Ri LTguMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmY5MAkyMDE3LTA2LTA5 IDA1OjUxOjU4LjIyMTQwMTc5NSArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vdmxhLXN0cmluZ3MuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEt c3RyaW5ncy5mOTAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4zYzIy NzM1ZmRiCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS1zdHJpbmdzLmY5MAogQEAgLTAsMCArMSwzOSBAQAogKyEgQ29weXJpZ2h0IDIwMTYgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMTIwNCwxMSArMTIzNywxMSBAQCBJbmRl eDogZ2RiLTguMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmY5MAogKyAg dmFyX2NoYXJfcCA9PiBudWxsKCkKICsgIGwgPSBhc3NvY2lhdGVkKHZhcl9jaGFyX3ApICAgICAg ICAgICAgICAhIHZhcl9jaGFyX3Atbm90LWFzc29jaWF0ZWQKICtlbmQgcHJvZ3JhbSB2bGFfc3Ry aW5ncwotSW5kZXg6IGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdHlwZS5l eHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi92bGEtdHlwZS5leHAJMjAxNy0wNi0wOSAwNTo1MTo1NS44NjYzODM2MjIgKzAyMDAKLSsrKyBn ZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUuZXhwCTIwMTctMDYtMDkg MDU6NTE6NTguMjIxNDAxNzk1ICswMjAwCi1AQCAtMTMyLDcgKzEzMiwxMCBAQAorZGlmZiAtLWdp dCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUuZXhwIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi92bGEtdHlwZS5leHAKK2luZGV4IDY3MjhiNDhiZTcuLjg3YWFjMzk2YTIg MTAwNzU1CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdHlwZS5leHAKK0BAIC0xMzIsNyArMTMy LDEwIEBAIGdkYl90ZXN0ICJwdHlwZSBmaXZlYXJyKDIpJXRvbmUiIFwKICAgICAgICAgICAgICAg ICAgICAgICAiRW5kIFR5cGUgb25lIiBdCiAgCiAgIyBDaGVjayBhbGxvY2F0aW9uIHN0YXR1cyBv ZiBkeW5hbWljIGFycmF5IGFuZCBpdCdzIGR5bmFtaWMgbWVtYmVycwpAQCAtMTIyMCw3ICsxMjUz LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdHlwZS5l eHAKICBnZGJfdGVzdCAibmV4dCIgIiIKICBnZGJfdGVzdCAicHR5cGUgZml2ZWR5bmFycigyKSIg XAogICAgICAgICAgIFttdWx0aV9saW5lICJ0eXBlID0gVHlwZSBmaXZlIiBcCi1AQCAtMTQxLDcg KzE0NCw3IEBACitAQCAtMTQxLDcgKzE0NCw3IEBAIGdkYl90ZXN0ICJwdHlwZSBmaXZlZHluYXJy KDIpIiBcCiAgICAgICAgICAgInB0eXBlIGZpdmVkeW5hcnIoMiksIHRvbmUgaXMgbm90IGFsbG9j YXRlZCIKICBnZGJfdGVzdCAicHR5cGUgZml2ZWR5bmFycigyKSV0b25lIiBcCiAgICAgICAgICAg W211bHRpX2xpbmUgInR5cGUgPSBUeXBlIG9uZSIgXApAQCAtMTIyOSwxMTQgKzEyNjIsMzUgQEAg SW5kZXg6IGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdHlwZS5leHAKICAg ICAgICAgICAgICAgICAgICAgICAiRW5kIFR5cGUgb25lIiBdIFwKICAgICAgICAgICAicHR5cGUg Zml2ZWR5bmFycigyKSV0b25lLCBub3QgYWxsb2NhdGVkIgogIAotSW5kZXg6IGdkYi04LjAvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCi09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTguMC5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cAkyMDE3LTA2 LTA5IDA1OjUxOjU1Ljg2NjM4MzYyMiArMDIwMAotKysrIGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCTIwMTctMDYtMDkgMDU6NTE6NTguMjIxNDAxNzk1ICsw MjAwCi1AQCAtMTQsNiArMTQsNyBAQAotICMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBu b3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gCi0gc3RhbmRhcmRfdGVz dGZpbGUgInZsYS5mOTAiCi0rbG9hZF9saWIgImZvcnRyYW4uZXhwIgotIAotIGlmIHsgW3ByZXBh cmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9 IFwKLSAgICAgIHtkZWJ1ZyBmOTAgcXVpZXR9XSB9IHsKLUBAIC0yNSwxMiArMjYsMTUgQEAKLSAg ICAgcmV0dXJuIC0xCi0gfQotIAotKyMgRGVwZW5kaW5nIG9uIHRoZSBjb21waWxlciBiZWluZyB1 c2VkLCB0aGUgdHlwZSBuYW1lcyBjYW4gYmUgcHJpbnRlZCBkaWZmZXJlbnRseS4KLStzZXQgcmVh bCBbZm9ydHJhbl9yZWFsNF0KLSsKLSAjIFRyeSB0byBhY2Nlc3MgdmFsdWVzIGluIG5vbiBhbGxv Y2F0ZWQgVkxBCi0gZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInZsYTEtaW5p dCJdCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhw IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCitpbmRleCA2MDAyMmM1 ZjYyLi43ZjAzYjc2Y2QxIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtdmFsdWUuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS5l eHAKK0BAIC0zNSw3ICszNSw3IEBAIGdkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVy ICJ2bGExLWluaXQiXQogIGdkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2bGExLWluaXQiCiAg Z2RiX3Rlc3QgInByaW50IHZsYTEiICIgPSA8bm90IGFsbG9jYXRlZD4iICJwcmludCBub24tYWxs b2NhdGVkIHZsYTEiCiAgZ2RiX3Rlc3QgInByaW50ICZ2bGExIiBcCi0tICAiID0gXFxcKFBUUiBU TyAtPiBcXFwoIHJlYWxcXFwoa2luZD00XFxcKSBcXFwoPG5vdCBhbGxvY2F0ZWQ+XFxcKVxcXClc XFwpICRoZXgiIFwKKy0gICIgPSBcXFwoUFRSIFRPIC0+IFxcXCggJHJlYWwgXFxcKDxub3QgYWxs b2NhdGVkPlxcXClcXFwpXFxcKSAkaGV4IiBcCiArICAiID0gXFxcKFBUUiBUTyAtPiBcXFwoICRy ZWFsIFxcXCg6LDosOlxcXClcXFwpXFxcKSAkaGV4IiBcCiAgICAicHJpbnQgbm9uLWFsbG9jYXRl ZCAmdmxhMSIKICBnZGJfdGVzdCAicHJpbnQgdmxhMSgxLDEsMSkiICJubyBzdWNoIHZlY3RvciBl bGVtZW50IFxcXCh2ZWN0b3Igbm90IGFsbG9jYXRlZFxcXCkiIFwKICAgICJwcmludCBtZW1iZXIg aW4gbm9uLWFsbG9jYXRlZCB2bGExICgxKSIKLUBAIC01MSw3ICs1NSw3IEBACi0gCSJzdGVwIG92 ZXIgdmFsdWUgYXNzaWdubWVudCBvZiB2bGExIgotIH0KLSBnZGJfdGVzdCAicHJpbnQgJnZsYTEi IFwKLS0gICIgPSBcXFwoUFRSIFRPIC0+IFxcXCggcmVhbFxcXChraW5kPTRcXFwpIFxcXCgxMCwx MCwxMFxcXClcXFwpXFxcKSAkaGV4IiBcCi0rICAiID0gXFxcKFBUUiBUTyAtPiBcXFwoICRyZWFs IFxcXCgxMCwxMCwxMFxcXClcXFwpXFxcKSAkaGV4IiBcCi0gICAicHJpbnQgYWxsb2NhdGVkICZ2 bGExIgotIGdkYl90ZXN0ICJwcmludCB2bGExKDMsIDYsIDkpIiAiID0gMTMxMSIgInByaW50IGFs bG9jYXRlZCB2bGExKDMsNiw5KSIKLSBnZGJfdGVzdCAicHJpbnQgdmxhMSgxLCAzLCA4KSIgIiA9 IDEzMTEiICJwcmludCBhbGxvY2F0ZWQgdmxhMSgxLDMsOCkiCi1AQCAtNzEsNyArNzUsNyBAQAor QEAgLTc2LDcgKzc2LDcgQEAgZ2RiX3Rlc3QgInByaW50IHZsYTEoOSwgOSwgOSkiICIgPSA5OTki IFwKICAjIFRyeSB0byBhY2Nlc3MgdmFsdWVzIGluIHVuZGVmaW5lZCBwb2ludGVyIHRvIFZMQSAo ZGFuZ2xpbmcpCiAgZ2RiX3Rlc3QgInByaW50IHB2bGEiICIgPSA8bm90IGFzc29jaWF0ZWQ+IiAi cHJpbnQgdW5kZWZpbmVkIHB2bGEiCiAgZ2RiX3Rlc3QgInByaW50ICZwdmxhIiBcCi0tICAiID0g XFxcKFBUUiBUTyAtPiBcXFwoIHJlYWxcXFwoa2luZD00XFxcKSBcXFwoPG5vdCBhc3NvY2lhdGVk PlxcXClcXFwpXFxcKSAkaGV4IiBcCistICAiID0gXFxcKFBUUiBUTyAtPiBcXFwoICRyZWFsIFxc XCg8bm90IGFzc29jaWF0ZWQ+XFxcKVxcXClcXFwpICRoZXgiIFwKICsgICIgPSBcXFwoUFRSIFRP IC0+IFxcXCggJHJlYWwgXFxcKDosOiw6XFxcKVxcXClcXFwpICRoZXgiIFwKICAgICJwcmludCBu b24tYXNzb2NpYXRlZCAmcHZsYSIKICBnZGJfdGVzdCAicHJpbnQgcHZsYSgxLCAzLCA4KSIgIm5v IHN1Y2ggdmVjdG9yIGVsZW1lbnQgXFxcKHZlY3RvciBub3QgYXNzb2NpYXRlZFxcXCkiIFwKICAg ICJwcmludCB1bmRlZmluZWQgcHZsYSgxLDMsOCkiCi1AQCAtODAsNyArODQsNyBAQAotIGdkYl9i cmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJwdmxhLWFzc29jaWF0ZWQiXQotIGdkYl9j b250aW51ZV90b19icmVha3BvaW50ICJwdmxhLWFzc29jaWF0ZWQiCi0gZ2RiX3Rlc3QgInByaW50 ICZwdmxhIiBcCi0tICAiID0gXFxcKFBUUiBUTyAtPiBcXFwoIHJlYWxcXFwoa2luZD00XFxcKSBc XFwoMTAsMTAsMTBcXFwpXFxcKVxcXCkgJGhleCIgXAotKyAgIiA9IFxcXChQVFIgVE8gLT4gXFxc KCAkcmVhbCBcXFwoMTAsMTAsMTBcXFwpXFxcKVxcXCkgJGhleCIgXAotICAgInByaW50IGFzc29j aWF0ZWQgJnB2bGEiCi0gZ2RiX3Rlc3QgInByaW50IHB2bGEoMywgNiwgOSkiICIgPSA0MiIgInBy aW50IGFzc29jaWF0ZWQgcHZsYSgzLDYsOSkiCi0gZ2RiX3Rlc3QgInByaW50IHB2bGEoMSwgMywg OCkiICIgPSAxMDAxIiAicHJpbnQgYXNzb2NpYXRlZCBwdmxhKDEsMyw4KSIKLUluZGV4OiBnZGIt OC4wL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cAotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi04LjAub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12YXItY2hpbGQtZi5leHAJ MjAxNy0wNi0wOSAwNTo1MTo1NS44NjczODM2MzAgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi90ZXN0 c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cAkyMDE3LTA2LTA5IDA1OjUxOjU4LjIyMjQw MTgwMyArMDIwMAotQEAgLTE3LDYgKzE3LDcgQEAKLSAKLSBsb2FkX2xpYiBtaS1zdXBwb3J0LmV4 cAotIHNldCBNSUZMQUdTICItaT1taSIKLStsb2FkX2xpYiAiZm9ydHJhbi5leHAiCi0gCi0gaWYg eyBbc2tpcF9mb3J0cmFuX3Rlc3RzXSB9IHsgcmV0dXJuIC0xIH0KLSAKLUBAIC00MCwxMCArNDEs OCBAQAotIG1pX2NyZWF0ZV92YXJvYmogImFycmF5IiAiYXJyYXkiICJjcmVhdGUgbG9jYWwgdmFy aWFibGUgYXJyYXkiCi0gCi0gCi0tIyBEZXBlbmRpbmcgb24gdGhlIGNvbXBpbGVyIHZlcnNpb24g YmVpbmcgdXNlZCwgdGhlIG5hbWUgb2YgdGhlIDQtYnl0ZSBpbnRlZ2VyCi0tIyBhbmQgcmVhbCB0 eXBlcyBjYW4gYmUgcHJpbnRlZCBkaWZmZXJlbnRseS4gIEZvciBpbnN0YW5jZSwgZ2ZvcnRyYW4t NC4xIHVzZXMKLS0jICJpbnQ0IiB3aGVyZWFzIGdmb3J0cmFuLTQuMyB1c2VzICJpbnRlZ2VyKGtp bmQ9NCkiLgotLXNldCBpbnQ0ICIoaW50NHxpbnRlZ2VyXFwoa2luZD00XFwpKSIKLSsjIERlcGVu ZGluZyBvbiB0aGUgY29tcGlsZXIgYmVpbmcgdXNlZCwgdGhlIHR5cGUgbmFtZXMgY2FuIGJlIHBy aW50ZWQgZGlmZmVyZW50bHkuCi0rc2V0IGludDQgW2ZvcnRyYW5faW50NF0KLSAKLSBzZXQgY2hp bGRyZW4gW2xpc3QgW2xpc3QgImFycmF5Li0xIiAiLTEiIDIgIiRpbnQ0IFxcKDJcXCkiXSBcCi0g CQkgIFtsaXN0ICJhcnJheS4wIiAiMCIgMiAiJGludDQgXFwoMlxcKSJdIFwKLUluZGV4OiBnZGIt OC4wL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZsYS1mb3J0cmFuLmV4cAotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi04LjAub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12bGEtZm9ydHJhbi5leHAJ MjAxNy0wNi0wOSAwNTo1MTo1NS44NjczODM2MzAgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi90ZXN0 c3VpdGUvZ2RiLm1pL21pLXZsYS1mb3J0cmFuLmV4cAkyMDE3LTA2LTA5IDA1OjUxOjU4LjIyMjQw MTgwMyArMDIwMAotQEAgLTE3LDcgKzE3LDkgQEAKLSAjIEFycmF5IChWTEEpLgotIAotIGxvYWRf bGliIG1pLXN1cHBvcnQuZXhwCi0rbG9hZF9saWIgZm9ydHJhbi5leHAKLSBzZXQgTUlGTEFHUyAi LWk9bWkiCi0rbG9hZF9saWIgImZvcnRyYW4uZXhwIgotIAotIGdkYl9leGl0Ci0gaWYgW21pX2dk Yl9zdGFydF0gewotQEAgLTMyLDYgKzM0LDkgQEAKLSAgICAgIHJldHVybiAtMQotIH0KLSAKLSsj IERlcGVuZGluZyBvbiB0aGUgY29tcGlsZXIgYmVpbmcgdXNlZCwgdGhlIHR5cGUgbmFtZXMgY2Fu IGJlIHByaW50ZWQgZGlmZmVyZW50bHkuCi0rc2V0IHJlYWwgW2ZvcnRyYW5fcmVhbDRdCi0rCi0g bWlfZGVsZXRlX2JyZWFrcG9pbnRzCi0gbWlfZ2RiX3JlaW5pdGlhbGl6ZV9kaXIgJHNyY2Rpci8k c3ViZGlyCi0gbWlfZ2RiX2xvYWQgJHtiaW5maWxlfQotQEAgLTQ2LDEwICs1MSwxMCBAQAorZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZsYS1mb3J0cmFuLmV4cCBiL2dkYi90 ZXN0c3VpdGUvZ2RiLm1pL21pLXZsYS1mb3J0cmFuLmV4cAoraW5kZXggYmVlNmViZTE1Ni4uZjZl YjA0NjlhOSAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZsYS1mb3J0cmFu LmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmxhLWZvcnRyYW4uZXhwCitAQCAt NTEsMTAgKzUxLDEwIEBAIG1pX2V4cGVjdF9zdG9wICJicmVha3BvaW50LWhpdCIgInZsYSIgIiIg Ii4qdmxhLmY5MCIgIiRicF9saW5lbm8iIFwKICBtaV9nZGJfdGVzdCAiNTAwLWRhdGEtZXZhbHVh dGUtZXhwcmVzc2lvbiB2bGExIiBcCi0gICAiNTAwXFxeZG9uZSx2YWx1ZT1cIjxub3QgYWxsb2Nh dGVkPlwiIiAiZXZhbHVhdGUgbm90IGFsbG9jYXRlZCB2bGEiCisgICAiNTAwXFxeZG9uZSx2YWx1 ZT1cIjxub3QgYWxsb2NhdGVkPlwiIiAiZXZhbHVhdGUgbm90IGFsbG9jYXRlZCB2bGEsIGJlZm9y ZSBhbGxvY2F0aW9uIgogIAogLW1pX2NyZWF0ZV92YXJvYmpfY2hlY2tlZCB2bGExX25vdF9hbGxv Y2F0ZWQgdmxhMSAiPG5vdCBhbGxvY2F0ZWQ+IiBcCiArbWlfY3JlYXRlX3Zhcm9ial9jaGVja2Vk IHZsYTFfbm90X2FsbG9jYXRlZCB2bGExICIkcmVhbCBcXCg6XFwpIiBcCkBAIC0xMzQ3LDM4ICsx MzAxLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmxhLWZvcnRy YW4uZXhwCiAgICAiaW5mbyB0eXBlIHZhcmlhYmxlIHZsYTFfbm90X2FsbG9jYXRlZCIKICBtaV9n ZGJfdGVzdCAiNTAyLXZhci1zaG93LWZvcm1hdCB2bGExX25vdF9hbGxvY2F0ZWQiIFwKICAgICI1 MDJcXF5kb25lLGZvcm1hdD1cIm5hdHVyYWxcIiIgXAotQEAgLTU4LDcgKzYzLDcgQEAKLSAgICI1 MDNcXF5kb25lLHZhbHVlPVwiXFxcWzBcXFxdXCIiIFwKLSAgICJldmFsIHZhcmlhYmxlIHZsYTFf bm90X2FsbG9jYXRlZCIKLSBtaV9saXN0X2FycmF5X3Zhcm9ial9jaGlsZHJlbl93aXRoX2luZGV4 ICJ2bGExX25vdF9hbGxvY2F0ZWQiICIwIiAiMSIgXAotLSAgICAicmVhbFxcXChraW5kPTRcXFwp IiAiZ2V0IGNoaWxkcmVuIG9mIHZsYTFfbm90X2FsbG9jYXRlZCIKLSsgICAgIiRyZWFsIiAiZ2V0 IGNoaWxkcmVuIG9mIHZsYTFfbm90X2FsbG9jYXRlZCIKLSAKLSAKLSAKLUBAIC03MSwxMCArNzYs MTAgQEAKLSBtaV9nZGJfdGVzdCAiNTEwLWRhdGEtZXZhbHVhdGUtZXhwcmVzc2lvbiB2bGExIiBc Ci0gICAiNTEwXFxeZG9uZSx2YWx1ZT1cIlxcKC4qXFwpXCIiICJldmFsdWF0ZSBhbGxvY2F0ZWQg dmxhIgotIAotLW1pX2NyZWF0ZV92YXJvYmpfY2hlY2tlZCB2bGExX2FsbG9jYXRlZCB2bGExICJy ZWFsXFxcKGtpbmQ9NFxcXCkgXFxcKDVcXFwpIiBcCi0rbWlfY3JlYXRlX3Zhcm9ial9jaGVja2Vk IHZsYTFfYWxsb2NhdGVkIHZsYTEgIiRyZWFsIFxcXCg1XFxcKSIgXAotICAgImNyZWF0ZSBsb2Nh bCB2YXJpYWJsZSB2bGExX2FsbG9jYXRlZCIKLSBtaV9nZGJfdGVzdCAiNTExLXZhci1pbmZvLXR5 cGUgdmxhMV9hbGxvY2F0ZWQiIFwKLS0gICI1MTFcXF5kb25lLHR5cGU9XCJyZWFsXFxcKGtpbmQ9 NFxcXCkgXFxcKDVcXFwpXCIiIFwKLSsgICI1MTFcXF5kb25lLHR5cGU9XCIkcmVhbCBcXFwoNVxc XClcIiIgXAotICAgImluZm8gdHlwZSB2YXJpYWJsZSB2bGExX2FsbG9jYXRlZCIKLSBtaV9nZGJf dGVzdCAiNTEyLXZhci1zaG93LWZvcm1hdCB2bGExX2FsbG9jYXRlZCIgXAotICAgIjUxMlxcXmRv bmUsZm9ybWF0PVwibmF0dXJhbFwiIiBcCi1AQCAtODMsNyArODgsNyBAQAotICAgIjUxM1xcXmRv bmUsdmFsdWU9XCJcXFxbNVxcXF1cIiIgXAotICAgImV2YWwgdmFyaWFibGUgdmxhMV9hbGxvY2F0 ZWQiCi0gbWlfbGlzdF9hcnJheV92YXJvYmpfY2hpbGRyZW5fd2l0aF9pbmRleCAidmxhMV9hbGxv Y2F0ZWQiICI1IiAiMSIgXAotLSAgICAicmVhbFxcXChraW5kPTRcXFwpIiAiZ2V0IGNoaWxkcmVu IG9mIHZsYTFfYWxsb2NhdGVkIgotKyAgICAiJHJlYWwiICJnZXQgY2hpbGRyZW4gb2YgdmxhMV9h bGxvY2F0ZWQiCi0gCi0gCi0gc2V0IGJwX2xpbmVubyBbZ2RiX2dldF9saW5lX251bWJlciAidmxh MS1maWxsZWQiXQotQEAgLTEzNiwxMCArMTQxLDEwIEBACitAQCAtMTQ2LDEwICsxNDYsMTAgQEAg Z2RiX2V4cGVjdCB7CiAgICAgIC1yZSAiNTgwXFxeZG9uZSx2YWx1ZT1cIjxub3QgYXNzb2NpYXRl ZD5cIi4qJHttaV9nZGJfcHJvbXB0fSQiIHsKICAJcGFzcyAkdGVzdAogIApAQCAtMTM5MSwzMiAr MTMxNCwxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12bGEtZm9y dHJhbi5leHAKICAJICAgICJpbmZvIHR5cGUgdmFyaWFibGUgcHZsYTJfbm90X2Fzc29jaWF0ZWQi CiAgCW1pX2dkYl90ZXN0ICI1ODItdmFyLXNob3ctZm9ybWF0IHB2bGEyX25vdF9hc3NvY2lhdGVk IiBcCiAgCSAgICAiNTgyXFxeZG9uZSxmb3JtYXQ9XCJuYXR1cmFsXCIiIFwKLUBAIC0xNDgsNyAr MTUzLDcgQEAKLSAJICAgICI1ODNcXF5kb25lLHZhbHVlPVwiXFxcWzBcXFxdXCIiIFwKLSAJICAg ICJldmFsIHZhcmlhYmxlIHB2bGEyX25vdF9hc3NvY2lhdGVkIgotIAltaV9saXN0X2FycmF5X3Zh cm9ial9jaGlsZHJlbl93aXRoX2luZGV4ICJwdmxhMl9ub3RfYXNzb2NpYXRlZCIgIjAiICIxIiBc Ci0tCSAgICAicmVhbFxcXChraW5kPTRcXFwpIiAiZ2V0IGNoaWxkcmVuIG9mIHB2bGEyX25vdF9h c3NvY2lhdGVkIgotKwkgICAgIiRyZWFsIiAiZ2V0IGNoaWxkcmVuIG9mIHB2bGEyX25vdF9hc3Nv Y2lhdGVkIgotICAgICB9Ci0gICAgIC1yZSAiNTgwXFxeZXJyb3IsbXNnPVwidmFsdWUgY29udGVu dHMgdG9vIGxhcmdlIFxcKFxbMC05XF0rIGJ5dGVzXFwpLioke21pX2dkYl9wcm9tcHR9JCIgewot IAkjIFVuZGVmaW5lZCBiZWhhdmlvdXIgaW4gZ2ZvcnRyYW4uCi1AQCAtMTczLDkgKzE3OCw5IEBA Ci0gICAiZXZhbHVhdGUgYXNzb2NpYXRlZCB2bGEiCi0gCi0gbWlfY3JlYXRlX3Zhcm9ial9jaGVj a2VkIHB2bGEyX2Fzc29jaWF0ZWQgcHZsYTIgXAotLSAgInJlYWxcXFwoa2luZD00XFxcKSBcXFwo NSwyXFxcKSIgImNyZWF0ZSBsb2NhbCB2YXJpYWJsZSBwdmxhMl9hc3NvY2lhdGVkIgotKyAgIiRy ZWFsIFxcXCg1LDJcXFwpIiAiY3JlYXRlIGxvY2FsIHZhcmlhYmxlIHB2bGEyX2Fzc29jaWF0ZWQi Ci0gbWlfZ2RiX3Rlc3QgIjU5MS12YXItaW5mby10eXBlIHB2bGEyX2Fzc29jaWF0ZWQiIFwKLS0g ICI1OTFcXF5kb25lLHR5cGU9XCJyZWFsXFxcKGtpbmQ9NFxcXCkgXFxcKDUsMlxcXClcIiIgXAot KyAgIjU5MVxcXmRvbmUsdHlwZT1cIiRyZWFsIFxcXCg1LDJcXFwpXCIiIFwKLSAgICJpbmZvIHR5 cGUgdmFyaWFibGUgcHZsYTJfYXNzb2NpYXRlZCIKLSBtaV9nZGJfdGVzdCAiNTkyLXZhci1zaG93 LWZvcm1hdCBwdmxhMl9hc3NvY2lhdGVkIiBcCi0gICAiNTkyXFxeZG9uZSxmb3JtYXQ9XCJuYXR1 cmFsXCIiIFwKLUluZGV4OiBnZGItOC4wL2dkYi90eXBlcHJpbnQuYwotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi04LjAub3JpZy9nZGIvdHlwZXByaW50LmMJMjAxNy0wNi0wOSAwNTo1MTo1NS44NjczODM2 MzAgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi90eXBlcHJpbnQuYwkyMDE3LTA2LTA5IDA1OjUxOjU4 LjIyMjQwMTgwMyArMDIwMAotQEAgLTQ3NCw2ICs0NzQsMjUgQEAKK2RpZmYgLS1naXQgYS9nZGIv dHlwZXByaW50LmMgYi9nZGIvdHlwZXByaW50LmMKK2luZGV4IDQyN2FmMTdhZDcuLmFkMTUwY2Jm ZDEgMTAwNjQ0CistLS0gYS9nZGIvdHlwZXByaW50LmMKKysrKyBiL2dkYi90eXBlcHJpbnQuYwor QEAgLTUxMSw2ICs1MTEsMjUgQEAgd2hhdGlzX2V4cCAoY29uc3QgY2hhciAqZXhwLCBpbnQgc2hv dykKICAgICAgICBwcmludGZfZmlsdGVyZWQgKCIgKi9cbiIpOyAgICAKICAgICAgfQogIApAQCAt MTQ0MiwxMSArMTM0NCwxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvdHlwZXByaW50LmMKICAgIExB X1BSSU5UX1RZUEUgKHR5cGUsICIiLCBnZGJfc3Rkb3V0LCBzaG93LCAwLCAmZmxhZ3MpOwogICAg cHJpbnRmX2ZpbHRlcmVkICgiXG4iKTsKICAKLUluZGV4OiBnZGItOC4wL2dkYi92YWxvcHMuYwot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvdmFsb3BzLmMJMjAxNy0wNi0wOSAwNTo1 MTo1NS44NjkzODM2NDYgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi92YWxvcHMuYwkyMDE3LTA2LTA5 IDA1OjUxOjU4LjIyMzQwMTgxMSArMDIwMAotQEAgLTE1NzQsNiArMTU3NCwxOSBAQAorZGlmZiAt LWdpdCBhL2dkYi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYworaW5kZXggNDcxNTkxMmI5NC4uNGVj ZmE5ZmQ5NiAxMDA2NDQKKy0tLSBhL2dkYi92YWxvcHMuYworKysrIGIvZ2RiL3ZhbG9wcy5jCitA QCAtMTU2NCw2ICsxNTY0LDE5IEBAIHZhbHVlX2luZCAoc3RydWN0IHZhbHVlICphcmcxKQogICAg aWYgKFRZUEVfQ09ERSAoYmFzZV90eXBlKSA9PSBUWVBFX0NPREVfUFRSKQogICAgICB7CiAgICAg ICAgc3RydWN0IHR5cGUgKmVuY190eXBlOwpAQCAtMTQ2Niw3ICsxMzY4LDcgQEAgSW5kZXg6IGdk Yi04LjAvZ2RiL3ZhbG9wcy5jCiAgCiAgICAgICAgLyogV2UgbWF5IGJlIHBvaW50aW5nIHRvIHNv bWV0aGluZyBlbWJlZGRlZCBpbiBhIGxhcmdlciBvYmplY3QuCiAgICAgICAgICAgR2V0IHRoZSBy ZWFsIHR5cGUgb2YgdGhlIGVuY2xvc2luZyBvYmplY3QuICAqLwotQEAgLTE1ODksOCArMTYwMiw3 IEBACitAQCAtMTU3OSw4ICsxNTkyLDcgQEAgdmFsdWVfaW5kIChzdHJ1Y3QgdmFsdWUgKmFyZzEp CiAgICAgICAgZWxzZQogIAkvKiBSZXRyaWV2ZSB0aGUgZW5jbG9zaW5nIG9iamVjdCBwb2ludGVk IHRvLiAgKi8KICAJYXJnMiA9IHZhbHVlX2F0X2xhenkgKGVuY190eXBlLCAKQEAgLTE0NzYsMTEg KzEzNzgsMTEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbG9wcy5jCiAgCiAgICAgICAgZW5jX3R5 cGUgPSB2YWx1ZV90eXBlIChhcmcyKTsKICAgICAgICByZXR1cm4gcmVhZGp1c3RfaW5kaXJlY3Rf dmFsdWVfdHlwZSAoYXJnMiwgZW5jX3R5cGUsIGJhc2VfdHlwZSwgYXJnMSk7Ci1JbmRleDogZ2Ri LTguMC9nZGIvdmFscHJpbnQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvdmFs cHJpbnQuYwkyMDE3LTA2LTA0IDE3OjUxOjI3LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi04LjAv Z2RiL3ZhbHByaW50LmMJMjAxNy0wNi0wOSAwNTo1MTo1OC4yMjQ0MDE4MTggKzAyMDAKLUBAIC0x MTY2LDEyICsxMTY2LDYgQEAKK2RpZmYgLS1naXQgYS9nZGIvdmFscHJpbnQuYyBiL2dkYi92YWxw cmludC5jCitpbmRleCA5YjA3MjIxZjFmLi4yMGUzYTQxNzhiIDEwMDY0NAorLS0tIGEvZ2RiL3Zh bHByaW50LmMKKysrKyBiL2dkYi92YWxwcmludC5jCitAQCAtMTExMSwxMiArMTExMSw2IEBAIHZh bHVlX2NoZWNrX3ByaW50YWJsZSAoc3RydWN0IHZhbHVlICp2YWwsIHN0cnVjdCB1aV9maWxlICpz dHJlYW0sCiAgICAgICAgcmV0dXJuIDA7CiAgICAgIH0KICAKQEAgLTE0OTMsMyArMTM5NSw2IEBA IEluZGV4OiBnZGItOC4wL2dkYi92YWxwcmludC5jCiAgICBpZiAodHlwZV9ub3RfYWxsb2NhdGVk ICh2YWx1ZV90eXBlICh2YWwpKSkKICAgICAgewogICAgICAgIHZhbF9wcmludF9ub3RfYWxsb2Nh dGVkIChzdHJlYW0pOworLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi12bGEtaW50ZWwt c3RyaW5nYnQtZml4LnBhdGNoIGIvZ2RiLXZsYS1pbnRlbC1zdHJpbmdidC1maXgucGF0Y2gKaW5k ZXggYTI5NWRjMi4uNDc1MzRhNiAxMDA2NDQKLS0tIGEvZ2RiLXZsYS1pbnRlbC1zdHJpbmdidC1m aXgucGF0Y2gKKysrIGIvZ2RiLXZsYS1pbnRlbC1zdHJpbmdidC1maXgucGF0Y2gKQEAgLTEsOSAr MSwxMyBAQAorRnJvbSA1MzkyN2ViMmQzZThiODIxN2I0YjM1NWI3MjNmNTIzMWEwOTQ5N2ZhIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2No dmlsQHJlZGhhdC5jb20+CiBEYXRlOiBGcmksIDEgQXVnIDIwMTQgMjM6MDI6MTcgKzAyMDAKLVN1 YmplY3Q6IFtwYXRjaCAxLzJdIFJlOiBDcmFzaCByZWdyZXNzaW9uKD8pIHByaW50aW5nIEZvcnRy YW4gc3RyaW5ncyBpbiBidCAgW1JlOiBbVjIgMDAvMjNdIEZvcnRyYW4gZHluYW1pYyBhcnJheSBz dXBwb3J0XQorU3ViamVjdDogQ3Jhc2ggcmVncmVzc2lvbig/KSBwcmludGluZyBGb3J0cmFuIHN0 cmluZ3MgaW4gYnQgW1JlOiBbVjIgMDAvMjNdCisgRm9ydHJhbiBkeW5hbWljIGFycmF5IHN1cHBv cnRdCiAKIEZpbGVOYW1lOiBnZGItdmxhLWludGVsLXN0cmluZ2J0LWZpeC5wYXRjaAogCis7Oz1w dXNoK2phbgorCiBodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxNC0wOC9t c2cwMDAyNS5odG1sCiAKIE9uIEZyaSwgMDEgQXVnIDIwMTQgMDk6MjA6MTkgKzAyMDAsIEtldmVu IEJvZWxsIHdyb3RlOgpAQCAtMjMsMjMgKzI3LDMxIEBAIHNvIHRoYXQgdGhlcmUgaXMgbm8gbG9u Z2VyIG5lZWRlZCB0aGUgcGF0Y2g6CiBUaGUgZml4IGJlbG93IGhhcyBubyByZWdyZXNzaW9ucyBm b3IgbWUuICBVbmZvcnR1bmF0ZWx5IEkgZG8gbm90IHNlZSB3aHkgeW91CiBjYW5ub3QgcmVwcm9k dWNlIGl0LgogCi0KIFRoYW5rcywKIEphbgorLS0tCisgZ2RiL2R3YXJmMmxvYy5jICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNSArKysrKysrKysKKyAuLi4vZ2RiLmZvcnRy YW4vZHluYW1pYy1vdGhlci1mcmFtZS1zdHViLmY5MCAgICAgICB8IDI0ICsrKysrKysrKysrKysK KyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwICB8IDM5 ICsrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFt aWMtb3RoZXItZnJhbWUuZjkwICB8IDM2ICsrKysrKysrKysrKysrKysrKysrCisgNCBmaWxlcyBj aGFuZ2VkLCAxMTQgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUtc3R1Yi5mOTAKKyBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZyYW1lLmV4 cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMt b3RoZXItZnJhbWUuZjkwCiAKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYy bG9jLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9kd2Fy ZjJsb2MuYwkyMDE3LTA0LTIwIDIyOjI4OjU5LjY4NjQ5MDY2NiArMDIwMAotKysrIGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJsb2MuYwkyMDE3LTA0LTIwIDIyOjI5OjEzLjEwNDU3NTQw NCArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJsb2MuYyBiL2dkYi9kd2FyZjJsb2MuYwor aW5kZXggNTQ1OTJmMGJmYy4uZDI3NDJiYmQ5MSAxMDA2NDQKKy0tLSBhL2dkYi9kd2FyZjJsb2Mu YworKysrIGIvZ2RiL2R3YXJmMmxvYy5jCiBAQCAtNDIsNiArNDIsNyBAQAogICNpbmNsdWRlIDxh bGdvcml0aG0+CiAgI2luY2x1ZGUgPHZlY3Rvcj4KICAjaW5jbHVkZSA8dW5vcmRlcmVkX3NldD4K ICsjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KICAjaW5jbHVkZSAiY29tbW9uL3VuZGVybHlpbmcuaCIK KyAjaW5jbHVkZSAiY29tbW9uL2J5dGUtdmVjdG9yLmgiCiAgCi0gZXh0ZXJuIGludCBkd2FyZl9h bHdheXNfZGlzYXNzZW1ibGU7Ci1AQCAtMjM2Niw2ICsyMzY3LDIwIEBACitAQCAtMjM1MCw2ICsy MzUxLDIwIEBAIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsIChzdHJ1Y3QgdHlwZSAqdHlw ZSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAogICAgY3R4LnBlcl9jdSA9IHBlcl9jdTsKICAg IGN0eC5vYmpfYWRkcmVzcyA9IDA7CiAgCkBAIC02MCwxMCArNzIsMTEgQEAgSW5kZXg6IGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJsb2MuYwogICAgc2NvcGVkX3ZhbHVlX21hcmsgZnJl ZV92YWx1ZXM7CiAgCiAgICBjdHguZ2RiYXJjaCA9IGdldF9vYmpmaWxlX2FyY2ggKG9iamZpbGUp OwotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v ZHluYW1pYy1vdGhlci1mcmFtZS1zdHViLmY5MAotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS1zdHViLmY5 MAkyMDE3LTA0LTIwIDIyOjI5OjAwLjY3MzQ5Njg5OSArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS1zdHViLmY5MCBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS1zdHViLmY5MAorbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjI2MWNlMTdhZTUKKy0tLSAvZGV2L251 bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS1z dHViLmY5MAogQEAgLTAsMCArMSwyNCBAQAogKyEgQ29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtODksMTAgKzEwMiwxMSBAQCBJbmRleDogZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZy YW1lLXN0dWIuZgogKyAgcmVhbCA6OiBkdW1teQogKyAgZHVtbXkgPSAxCiArZW5kIHN1YnJvdXRp bmUgYmFyCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9keW5hbWljLW90aGVyLWZyYW1lLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS5leHAJMjAx Ny0wNC0yMCAyMjoyOTowMC42NzM0OTY4OTkgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZyYW1lLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDAwMDAwMDAwMDAuLjU3MGEyOGNhNjUKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS5leHAKIEBAIC0wLDAgKzEs MzkgQEAKICsjIENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KwpAQCAtMTMzLDEwICsxNDcsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS5leHAKICt9CiArCiArZ2Ri X3Rlc3QgImJ0IiB7Zm9vIFwoc3RyaW5nPSdoZWxsbycuKn0KLUluZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZjkw Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAw ICswMDAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9keW5hbWljLW90aGVyLWZyYW1lLmY5MAkyMDE3LTA0LTIwIDIyOjI5OjAwLjY3MzQ5Njg5OSAr MDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhl ci1mcmFtZS5mOTAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJh bWUuZjkwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMmJjNjM3ZGI0 OQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWlj LW90aGVyLWZyYW1lLmY5MAogQEAgLTAsMCArMSwzNiBAQAogKyEgQ29weXJpZ2h0IDIwMTAgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMTc0LDMgKzE4OSw2IEBAIEluZGV4 OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMt b3RoZXItZnJhbWUuZjkwCiArICBlbmQgaW50ZXJmYWNlCiArICBjYWxsIGZvbyAoJ2hlbGxvJykK ICtlbmQKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItdmxhLWludGVsLXRlc3RzLnBh dGNoIGIvZ2RiLXZsYS1pbnRlbC10ZXN0cy5wYXRjaAppbmRleCA2N2YxNjA1Li5hOWVkZjkzIDEw MDY0NAotLS0gYS9nZGItdmxhLWludGVsLXRlc3RzLnBhdGNoCisrKyBiL2dkYi12bGEtaW50ZWwt dGVzdHMucGF0Y2gKQEAgLTEsMTMgKzEsMjcgQEAKK0Zyb20gMTY3MWJiNDU0ZWQwYmFiOTZmMzE2 OTg2ZjM5NmVlNjdkODRhYjdjYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9y YSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3 IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItdmxhLWludGVsLXRlc3RzLnBhdGNoCiAKIEZp bGVOYW1lOiBnZGItdmxhLWludGVsLXRlc3RzLnBhdGNoCiAKLUluZGV4OiBnZGItNy4xMC41MC4y MDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmV4cAotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysr IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWZ1bmMu ZXhwCTIwMTYtMDEtMDggMTk6MTU6NDQuOTgzNjM3NjgwICswMTAwCis7Oz1mZWRvcmF0ZXN0Cist LS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmV4cCAgICAgICB8ICA2MSAr KysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZnVuYy5mOTAg ICAgICAgfCAgNzEgKysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLXN0cmluZ3NvbGQuZXhwIHwgMTAxICsrKysrKysrKysrKysrKysrKysrKysrKysrKwor IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3NvbGQuZjkwIHwgIDQwICsrKysr KysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCAyNzMgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmV4cAorIGNyZWF0ZSBt b2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmY5MAorIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzb2xkLmV4 cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJp bmdzb2xkLmY5MAorCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEt ZnVuYy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmV4cAorbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmYwZjIzNmJlZjAKKy0tLSAvZGV2L251 bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWZ1bmMuZXhwCiBAQCAtMCww ICsxLDYxIEBACiArIyBDb3B5cmlnaHQgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KICsKQEAgLTcwLDEwICs4NCwxMSBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZnVuYy5leHAKICsgICJwcmludCB2bGEzIChhZnRl ciBmdW5jMikiCiArZ2RiX3Rlc3QgInB0eXBlIHZsYTMiICJ0eXBlID0gaW50ZWdlclxcXChraW5k PTRcXFwpIFxcXCgxMFxcXCkiIFwKICsgICJwdHlwZSB2bGEzIChhZnRlciBmdW5jMikiCi1JbmRl eDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZnVu Yy5mOTAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAw MDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3ZsYS1mdW5jLmY5MAkyMDE2LTAxLTA4IDE5OjE1OjQ0Ljk4MzYzNzY4MCArMDEwMAor ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWZ1bmMuZjkwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZnVuYy5mOTAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0 CitpbmRleCAwMDAwMDAwMDAwLi43NTQwZjU0ZGJiCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmY5MAogQEAgLTAsMCArMSw3MSBAQAogKyEg Q29weXJpZ2h0IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMTQ2 LDEwICsxNjEsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLWZ1bmMuZjkwCiArCiArICByZXQgPSAuVFJVRS4gICAgICAgICAgICAg ICAgISBmdW5jMi1yZXR1cm5lZAogK2VuZCBwcm9ncmFtIHZsYV9mdW5jCi1JbmRleDogZ2RiLTcu MTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5nc29sZC5l eHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAw MDAgKzAwMDAKLSsrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS1zdHJpbmdzb2xkLmV4cAkyMDE2LTAxLTA4IDE5OjE1OjQ0Ljk4NDYzNzY4NiArMDEw MAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3NvbGQu ZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5nc29sZC5leHAKK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5jMWJmN2VmNzYzCistLS0gL2Rldi9u dWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzb2xkLmV4cAog QEAgLTAsMCArMSwxMDEgQEAKICsjIENvcHlyaWdodCAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKwpAQCAtMjUyLDEwICsyNjgsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIw MTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3NvbGQuZXhwCiArICAi d2hhdGlzIHZhcl9jaGFyX3AgYWZ0ZXIgYXNzb2NpYXRlZCIKICtnZGJfdGVzdCAicHR5cGUgdmFy X2NoYXJfcCIgInR5cGUgPSBQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjcgXFwpIiBcCiArICAi cHR5cGUgdmFyX2NoYXJfcCBhZnRlciBhc3NvY2lhdGVkIgotSW5kZXg6IGdkYi03LjEwLjUwLjIw MTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3NvbGQuZjkwCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEt c3RyaW5nc29sZC5mOTAJMjAxNi0wMS0wOCAxOToxNTo0NC45ODQ2Mzc2ODYgKzAxMDAKK2RpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzb2xkLmY5MCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3NvbGQuZjkwCituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMGExZDUyMjFkMAorLS0tIC9kZXYvbnVsbAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5nc29sZC5mOTAKIEBAIC0wLDAg KzEsNDAgQEAKICshIENvcHlyaWdodCAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogKyEKQEAgLTI5NywzICszMTQsNiBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5nc29sZC5mOTAKICsgIHZhcl9jaGFyX3Ag PT4gbnVsbCgpCiArICBsID0gYXNzb2NpYXRlZCh2YXJfY2hhcl9wKSAgICAgICAgICAgICAgISB2 YXJfY2hhcl9wLW5vdC1hc3NvY2lhdGVkCiArZW5kIHByb2dyYW0gdmxhX3N0cmluZ3MKKy0tIAor Mi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGIteDg2XzY0LWkzODYtc3lzY2FsbC1yZXN0YXJ0LnBh dGNoIGIvZ2RiLXg4Nl82NC1pMzg2LXN5c2NhbGwtcmVzdGFydC5wYXRjaAppbmRleCAyY2EwMDRm Li5lZGVlNGY0IDEwMDY0NAotLS0gYS9nZGIteDg2XzY0LWkzODYtc3lzY2FsbC1yZXN0YXJ0LnBh dGNoCisrKyBiL2dkYi14ODZfNjQtaTM4Ni1zeXNjYWxsLXJlc3RhcnQucGF0Y2gKQEAgLTEsOSAr MSwxMiBAQAorRnJvbSA0MThiMDI0ZWVhNmNlYTQyZTc4N2ZmMDU2Njk3ZjgxZmEwYjU1ZTBiIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlk QGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1Ympl Y3Q6IGdkYi14ODZfNjQtaTM4Ni1zeXNjYWxsLXJlc3RhcnQucGF0Y2gKIAogRmlsZU5hbWU6IGdk Yi14ODZfNjQtaTM4Ni1zeXNjYWxsLXJlc3RhcnQucGF0Y2gKIAorOzsgRml4IHN5c2NhbGwgcmVz dGFydHMgZm9yIGFtZDY0LT5pMzg2IGJpYXJjaC4KKzs7PXB1c2gramFuCiAKIGh0dHA6Ly9zb3Vy Y2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDA5LTExL21zZzAwNTkyLmh0bWwKIFN1YmplY3Q6 IFtwYXRjaF0gRml4IHN5c2NhbGwgcmVzdGFydHMgZm9yIGFtZDY0LT5pMzg2IGJpYXJjaApAQCAt MjIsNyArMjUsNiBAQCB4ODZfNjQgaTM4NiAgICAgaTM4NiAgICAgUEFTUyBvbiByZWNlbnQga2Vy bmVscwogICAgICAgICAgICAgICAgICAgICAgICAgIChQQVNTOiBrZXJuZWwtMi42LjMyLTAuNTUu cmM4LmdpdDEuZmMxMy54ODZfNjQpCiBpMzg2ICAgaTM4NiAgICAgaTM4NiAgICAgUEFTUwogCi0K IEN1cnJlbnRseSBnZGIuYmFzZS9pbnRlcnJ1cHQuZXhwIGZhaWxzIG9uIGFtZDY0IGhvc3QgcnVu bmluZyB1bmRlcgogLS10YXJnZXRfYm9hcmQgdW5peC8tbTMyIHdpdGg6CiAJY29udGludWUKQEAg LTM2LDcgKzM4LDYgQEAgQ3VycmVudGx5IGdkYi5iYXNlL2ludGVycnVwdC5leHAgZmFpbHMgb24g YW1kNjQgaG9zdCBydW5uaW5nIHVuZGVyCiAgKiBhdCBzeXNjYWxsIGV4aXQgdHJhY2luZywgYnV0 IHRoZXkgd2lsbCBuZXZlciBiZSBsZWZ0IGZvciB0aGUgZGVidWdnZWQgdXNlcgogICogcHJvY2Vz cyB0byBzZWUuCiAgKi8KLSNkZWZpbmUgRVJFU1RBUlRTWVMgICAgIDUxMgogCiAiVW5rbm93biBl cnJvciA1MTIiIHByaW50ZWQgYWJvdmUgaXMgcHJpbnRlZCBieSB0aGUgaW5mZXJpb3IgaXRzZWxm LCBub3QgYnkgR0RCLgogCkBAIC00Niw3ICs0Nyw2IEBAIEl0IGlzIGJlY2F1c2UgR0RCIHJlYWRz IGl0IGFzIDB4ZmZmZmZmZmZmZmZmZmUwMCBidXQgd3JpdGVzIGl0IGJhY2sgYXMKICsJIGZvciAt RVJFU1RBUlQqIHZhbHVlcyAtNTEyIGJlaW5nIGFib3ZlIDB4ZmZmZmZmZmZmZmZmZmUwMDsgdGVz dGVkIGJ5CiArCSBpbnRlcnJ1cHQuZXhwLiAgKi8KIAotCiBRdW90ZSBvZiBSb2xhbmQgTWNHcmF0 aCBmcm9tIElSQzoKIAogcm9sYW5kOiBpbiB0aGUgdXNlcl9yZWdzZXQgbW9kZWwsIHRoZXJlIGFy ZSA2NC1iaXQgdXNlcl9yZWdzZXQgZmxhdm9ycyBhbmQKQEAgLTY5LDcgKzY5LDYgQEAgcm9sYW5k OiBzbyBhIDY0LWJpdCBkZWJ1Z2dlciBzaG91bGQgc2VlIGFuZCBiZSBhYmxlIHRvIGZpZGRsZSB0 aGUgZnVsbAogcmVnaXN0ZXJzLiAgaXQgY2FuIGV2ZW4gY2hhbmdlIGNzIHZpYSBwdHJhY2UgdG8g Zm9yY2UgdGhlIGluZmVyaW9yIGludG8KIHJ1bm5pbmcgMzIgb3IgNjQgYml0IGNvZGUuCiAKLQog U2F2aW5nIHdob2xlIDY0Yml0cyBmb3IgaTM4NiB0YXJnZXRzIG9uIHg4Nl82NCBob3N0cyBkb2Vz IG5vdCBtdWNoIG1hdGNoIHRoZQogR0RCIGFyY2hpdGVjdHVyZSBhcyBgc3RydWN0IHR5cGUnIGZv ciB0aGVzZSByZWdpc3RlcnMgc3RpbGwgc2hvdWxkIGJlIDMyYml0CiBldGMuICAgVGhlcmVmb3Jl IHByb3ZpZGVkIGp1c3QgdGhpcyBleGNlcHRpb24uCkBAIC03OSwyMCArNzgsMjMgQEAgaW50ZXJy dXB0aW9uIHRvIGRvIGZ1bGwgaW5mZXJpb3Igc2F2ZS9yZXN0b3JlIGZyb20gR0RCIHJlZ2NhY2hl LgogCiBSZWdyZXNzaW9uIHRlc3RlZCBvbiB7eDg2XzY0LHg4Nl82NC1tMzIsaTY4Nn0tZmVkb3Jh MTItbGludXgtZ251LgogCi0KIFRoYW5rcywKIEphbgogCi0KIGdkYi8KIDIwMDktMTEtMjkgIEph biBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIAogCSogYW1kNjQtbmF0 LmMgKGFtZDY0X2NvbGxlY3RfbmF0aXZlX2dyZWdzZXQpOiBEbyBub3QgcHJlLWNsZWFyICVlYXgu CiAJU2lnbiBleHRlbmQgaXQgYWZ0ZXJ3YXJkcy4KKy0tLQorIGdkYi9hbWQ2NC1uYXQuYyB8IDIw ICsrKysrKysrKysrKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCiAKK2RpZmYgLS1naXQgYS9nZGIvYW1kNjQtbmF0LmMgYi9nZGIvYW1k NjQtbmF0LmMKK2luZGV4IGIwNDYwNTI5NTQuLmUwYjA3NjJjN2MgMTAwNjQ0CiAtLS0gYS9nZGIv YW1kNjQtbmF0LmMKICsrKyBiL2dkYi9hbWQ2NC1uYXQuYwotQEAgLTEzMSw5ICsxMzEsOSBAQCBh bWQ2NF9jb2xsZWN0X25hdGl2ZV9ncmVnc2V0IChjb25zdCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2Nh Y2hlLAorQEAgLTEzNSw5ICsxMzUsOSBAQCBhbWQ2NF9jb2xsZWN0X25hdGl2ZV9ncmVnc2V0IChj b25zdCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAogICAgICB7CiAgICAgICAgbnVtX3JlZ3Mg PSBhbWQ2NF9uYXRpdmVfZ3JlZ3NldDMyX251bV9yZWdzOwogIApAQCAtMTA0LDcgKzEwNiw3IEBA IGdkYi8KICAJewogIAkgIGlmIChyZWdudW0gPT0gLTEgfHwgcmVnbnVtID09IGkpCiAgCSAgICBt ZW1zZXQgKHJlZ3MgKyBhbWQ2NF9uYXRpdmVfZ3JlZ3NldF9yZWdfb2Zmc2V0IChnZGJhcmNoLCBp KSwgMCwgOCk7Ci1AQCAtMTU5LDQgKzE1OSwyMCBAQCBhbWQ2NF9jb2xsZWN0X25hdGl2ZV9ncmVn c2V0IChjb25zdCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAorQEAgLTE2Myw0ICsxNjMsMjAg QEAgYW1kNjRfY29sbGVjdF9uYXRpdmVfZ3JlZ3NldCAoY29uc3Qgc3RydWN0IHJlZ2NhY2hlICpy ZWdjYWNoZSwKICAJICAgIHJlZ2NhY2hlX3Jhd19jb2xsZWN0IChyZWdjYWNoZSwgaSwgcmVncyAr IG9mZnNldCk7CiAgCX0KICAgICAgfQpAQCAtMTI1LDQgKzEyNyw2IEBAIGdkYi8KICsJfQogKyAg ICB9CiAgfQorLS0gCisyLjE0LjMKIAoKZGlmZiAtLWdpdCBhL2dkYi5zcGVjIGIvZ2RiLnNwZWMK aW5kZXggMmQ3NmU4Zi4uMGVjNDQxNCAxMDA2NDQKLS0tIGEvZ2RiLnNwZWMKKysrIGIvZ2RiLnNw ZWMKQEAgLTE4LDIxICsxOCwyMSBAQAogTmFtZTogJXs/c2NsX3ByZWZpeH1nZGIKIAogIyBGcmVl emUgaXQgd2hlbiBHREIgZ2V0cyBicmFuY2hlZAotJWdsb2JhbCBzbmFwc3JjICAgIDIwMTcwNDIw CislZ2xvYmFsIHNuYXBzcmMgICAgMjAxNzEyMDQKICMgU2VlIHRpbWVzdGFtcCBvZiBzb3VyY2Ug Z251bGliIGluc3RhbGxlZCBpbnRvIGdkYi9nbnVsaWIvIC4KLSVnbG9iYWwgc25hcGdudWxpYiAy MDE1MDgyMgorJWdsb2JhbCBzbmFwZ251bGliIDIwMTYxMTE1CiAlZ2xvYmFsIHRhcm5hbWUgZ2Ri LSV7dmVyc2lvbn0KLVZlcnNpb246IDguMC4xCitWZXJzaW9uOiA4LjAuNTAuJXtzbmFwc3JjfQog CiAjIFRoZSByZWxlYXNlIGFsd2F5cyBjb250YWlucyBhIGxlYWRpbmcgcmVzZXJ2ZWQgbnVtYmVy LCBzdGFydCBpdCBhdCAxLgogIyBgdXBzdHJlYW0nIGlzIG5vdCBhIHBhcnQgb2YgYG5hbWUnIHRv IHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBjb21wYXRpYmxlIGZvciB0aGUgdGVzdGluZy4K LVJlbGVhc2U6IDMyJXs/ZGlzdH0KK1JlbGVhc2U6IDMzJXs/ZGlzdH0KIAogTGljZW5zZTogR1BM djMrIGFuZCBHUEx2Mysgd2l0aCBleGNlcHRpb25zIGFuZCBHUEx2MisgYW5kIEdQTHYyKyB3aXRo IGV4Y2VwdGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2MisgYW5kIExHUEx2MysgYW5kIEJTRCBhbmQg UHVibGljIERvbWFpbiBhbmQgR0ZETAogR3JvdXA6IERldmVsb3BtZW50L0RlYnVnZ2VycwogIyBE byBub3QgcHJvdmlkZSBVUkwgZm9yIHNuYXBzaG90cyBhcyB0aGUgZmlsZSBsYXN0cyB0aGVyZSBv bmx5IGZvciAyIGRheXMuCiAjIGZ0cDovL3NvdXJjZXdhcmUub3JnL3B1Yi9nZGIvcmVsZWFzZXMv RklYTUV7dGFybmFtZX0udGFyLnh6Ci1Tb3VyY2U6IGZ0cDovL3NvdXJjZXdhcmUub3JnL3B1Yi9n ZGIvcmVsZWFzZXMvJXt0YXJuYW1lfS50YXIueHoKK1NvdXJjZTogI2Z0cDovL3NvdXJjZXdhcmUu b3JnL3B1Yi9nZGIvcmVsZWFzZXMvJXt0YXJuYW1lfS50YXIueHoKIEJ1aWxkcm9vdDogJShta3Rl bXAgLXVkICV7X3RtcHBhdGh9LyV7bmFtZX0tJXt2ZXJzaW9ufS0le3JlbGVhc2V9LVhYWFhYWCkK IFVSTDogaHR0cDovL2dudS5vcmcvc29mdHdhcmUvZ2RiLwogCkBAIC0xNzQsNTY4ICsxNzQsMjIg QEAgU291cmNlNjogZ2RidHVpCiBTb3VyY2U3OiB2JXtsaWJpcHRfdmVyc2lvbn0udGFyLmd6CiAj PWZlZG9yYQogUGF0Y2gxMTQyOiB2MS41LWxpYmlwdC1zdGF0aWMucGF0Y2gKLQotIyBXb3JrIGFy b3VuZCBvdXQtb2YtZGF0ZSBkZWphZ251IHRoYXQgZG9lcyBub3QgaGF2ZSBLRkFJTAotIz1wdXNo OiBUaGF0IGRlamFnbnUgaXMgdG9vIG9sZCB0byBiZSBzdXBwb3J0ZWQuCi1QYXRjaDE6IGdkYi02 LjMtcmgtZHVtbXlrZmFpbC0yMDA0MTIwMi5wYXRjaAotCi0jIE1hdGNoIHRoZSBGZWRvcmEncyB2 ZXJzaW9uIGluZm8uCi0jPWZlZG9yYQotUGF0Y2gyOiBnZGItNi4zLXJoLXRlc3R2ZXJzaW9uLTIw MDQxMjAyLnBhdGNoCi0KLSMgQmV0dGVyIHBhcnNlIDY0LWJpdCBQUEMgc3lzdGVtIGNhbGwgcHJv bG9ndWVzLgotIz1wdXNoOiBXcml0ZSBuZXcgdGVzdGNhc2UuCi1QYXRjaDEwNTogZ2RiLTYuMy1w cGM2NHN5c2NhbGwtMjAwNDA2MjIucGF0Y2gKLQotIyBJbmNsdWRlIHRoZSBwYydzIHNlY3Rpb24g d2hlbiBkb2luZyBhIHN5bWJvbCBsb29rdXAgc28gdGhhdCB0aGUKLSMgY29ycmVjdCBzeW1ib2wg aXMgZm91bmQuCi0jPXB1c2g6IFdyaXRlIG5ldyB0ZXN0Y2FzZS4KLVBhdGNoMTExOiBnZGItNi4z LXBwYzY0ZGlzcGxheXN5bWJvbC0yMDA0MTEyNC5wYXRjaAotCi0jIE1ha2UgdXBzdHJlYW0gYHNl dCBzY2hlZHVsZXItbG9ja2luZyBzdGVwJyBhcyBkZWZhdWx0LgotIz1wdXNoK2phbjogSG93IG11 Y2ggaXMgc2NoZWR1bGVyLWxvY2tpbmcgcmVsZXZhbnQgYWZ0ZXIgbm9uLXN0b3A/Ci1QYXRjaDI2 MDogZ2RiLTYuNi1zY2hlZHVsZXJfbG9ja2luZy1zdGVwLWlzLWRlZmF1bHQucGF0Y2gKLQotIyBB ZGQgYSB3cmFwcGVyIHNjcmlwdCB0byBHREIgdGhhdCBpbXBsZW1lbnRzIHBzdGFjayB1c2luZyB0 aGUKLSMgLS1yZWFkbmV2ZXIgb3B0aW9uLgotIz1wdXNoCi1QYXRjaDExODogZ2RiLTYuMy1nc3Rh Y2stMjAwNTA0MTEucGF0Y2gKLQotIyBWU1lTQ0FMTCBhbmQgUElFCi0jPWZlZG9yYXRlc3QKLVBh dGNoMTIyOiBnZGItNi4zLXRlc3QtcGllLTIwMDUwMTA3LnBhdGNoCi0jPXB1c2gramFuOiBNYXkg Z2V0IG9ic29sZXRlZCBieSBUb20ncyB1bnJlbG9jYXRlZCBvYmpmaWxlcyBwYXRjaC4KLVBhdGNo Mzg5OiBnZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0Y2gKLSM9cHVzaCtqYW46IEJyZWFrcG9pbnRz IGRpc2FibGluZyBtYXRjaGluZyBzaG91bGQgbm90IGJlIGJhc2VkIG9uIGFkZHJlc3MuCi1QYXRj aDM5NDogZ2RiLWFyY2hlci1waWUtYWRkb25zLWtlZXAtZGlzYWJsZWQucGF0Y2gKLQotIyBHZXQg c2VsZnRlc3Qgd29ya2luZyB3aXRoIHNlcC1kZWJ1Zy1pbmZvCi0jPWZlZG9yYXRlc3QKLVBhdGNo MTI1OiBnZGItNi4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRjaAotCi0jIFRlc3Qgc3VwcG9ydCBv ZiBtdWx0aXBsZSBkZXN0cnVjdG9ycyBqdXN0IGxpa2UgbXVsdGlwbGUgY29uc3RydWN0b3JzCi0j PWZlZG9yYXRlc3QKLVBhdGNoMTMzOiBnZGItNi4zLXRlc3QtZHRvcmZpeC0yMDA1MDEyMS5wYXRj aAotCi0jIEZpeCB0byBzdXBwb3J0IGV4ZWN1dGFibGUgbW92aW5nCi0jPWZlZG9yYXRlc3QKLVBh dGNoMTM2OiBnZGItNi4zLXRlc3QtbW92ZWRpci0yMDA1MDEyNS5wYXRjaAotCi0jIFRlc3Qgc2li bGluZyB0aHJlYWRzIHRvIHNldCB0aHJlYWRlZCB3YXRjaHBvaW50cyBmb3IgeDg2IGFuZCB4ODYt NjQKLSM9ZmVkb3JhdGVzdAotUGF0Y2gxNDU6IGdkYi02LjMtdGhyZWFkZWQtd2F0Y2hwb2ludHMy LTIwMDUwMjI1LnBhdGNoCi0KLSMgTm90aWZ5IG9ic2VydmVycyB0aGF0IHRoZSBpbmZlcmlvciBo YXMgYmVlbiBjcmVhdGVkCi0jPWZlZG9yYXRlc3QKLVBhdGNoMTYxOiBnZGItNi4zLWluZmVyaW9y LW5vdGlmaWNhdGlvbi0yMDA1MDcyMS5wYXRjaAotCi0jIFZlcmlmeSBwcmludGluZyBvZiBpbmhl cml0ZWQgbWVtYmVycyB0ZXN0Ci0jPWZlZG9yYXRlc3QKLVBhdGNoMTYzOiBnZGItNi4zLWluaGVy aXRhbmNldGVzdC0yMDA1MDcyNi5wYXRjaAotCi0jIEFkZCByZWFkbmV2ZXIgb3B0aW9uCi0jPXB1 c2gKLVBhdGNoMTY0OiBnZGItNi4zLXJlYWRuZXZlci0yMDA1MDkwNy5wYXRjaAotCi0jIEZpeCBk ZWJ1Z2luZm8gYWRkcmVzc2VzIHJlc29sdmluZyBmb3IgLS1lbWl0LXJlbG9jcyBMaW51eCBrZXJu ZWxzIChCWiAyMDM2NjEpLgotIz1wdXNoK2phbjogVGhlcmUgd2FzIHNvbWUgbWFpbCB0aHJlYWQg YWJvdXQgaXQsIHRoaXMgcGF0Y2ggbWF5IGJlIGEgaGFjay4KLVBhdGNoMTg4OiBnZGItNi41LWJ6 MjAzNjYxLWVtaXQtcmVsb2NzLnBhdGNoCi0KLSMgU3VwcG9ydCBUTFMgc3ltYm9scyAoK2BlcnJu bycgc3VnZ2VzdGlvbiBpZiBubyBwdGhyZWFkIGlzIGZvdW5kKSAoQlogMTg1MzM3KS4KLSM9cHVz aCtqYW46IEl0IHNob3VsZCBiZSByZXBsYWNlZCBieSBJbmZpbml0eSBwcm9qZWN0LgotUGF0Y2gx OTQ6IGdkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMtd2l0aG91dC1kZWJ1Z2luZm8tdjIucGF0 Y2gKLQotIyBGaXggVExTIHN5bWJvbHMgcmVzb2x2aW5nIGZvciBzaGFyZWQgbGlicmFyaWVzIHdp dGggYSByZWxhdGl2ZSBwYXRobmFtZS4KLSMgVGhlIHRlc3RzdWl0ZSBuZWVkcyBgZ2RiLTYuNS10 bHMtb2Ytc2VwYXJhdGUtZGVidWdpbmZvLnBhdGNoJy4KLSM9ZmVkb3JhdGVzdDogT25lIHNob3Vs ZCByZWNoZWNrIGlmIGl0IGlzIHJlYWxseSBmaXhlZCB1cHN0cmVhbS4KLVBhdGNoMTk2OiBnZGIt Ni41LXNoYXJlZGxpYnJhcnktcGF0aC5wYXRjaAotCi0jIFRlc3RjYXNlIGZvciBkZWFkbG9ja2lu ZyBvbiBsYXN0IGFkZHJlc3Mgc3BhY2UgYnl0ZTsgZm9yIGNvcnJ1cHRlZCBiYWNrdHJhY2VzLgot Iz1mZWRvcmF0ZXN0Ci1QYXRjaDIxMTogZ2RiLTYuNS1sYXN0LWFkZHJlc3Mtc3BhY2UtYnl0ZS10 ZXN0LnBhdGNoCi0KLSMgSW1wcm92ZWQgdGVzdHN1aXRlIHJlc3VsdHMgYnkgdGhlIHRlc3RzdWl0 ZSBwcm92aWRlZCBieSB0aGUgY291cnRlc3kgb2YgQkVBLgotIz1mZWRvcmF0ZXN0OiBGb3IgdXBz dHJlYW0gaXQgc2hvdWxkIGJlIHJld3JpdHRlbiBhcyBhIGRlamFnbnUgdGVzdCwgdGhlIHRlc3Qg b2Ygbm8gIj8/IiB3YXMgdXNlZnVsLgotUGF0Y2gyMDg6IGdkYi02LjUtQkVBLXRlc3RzdWl0ZS5w YXRjaAotCi0jIEZpeCByZWFkbGluZSBzZWdmYXVsdCBvbiBleGNlc3NpdmVseSBsb25nIGhhbmQt dHlwZWQgbGluZXMuCi0jPWZlZG9yYXRlc3QKLVBhdGNoMjEzOiBnZGItNi41LXJlYWRsaW5lLWxv bmctbGluZS1jcmFzaC10ZXN0LnBhdGNoCi0KLSMgRml4IGJvZ3VzIDB4MCB1bndpbmQgb2YgdGhl IHRocmVhZCdzIHRvcG1vc3QgZnVuY3Rpb24gY2xvbmUoMykgKEJaIDIxNjcxMSkuCi0jPWZlZG9y YQotUGF0Y2gyMTQ6IGdkYi02LjUtYnoyMTY3MTEtY2xvbmUtaXMtb3V0ZXJtb3N0LnBhdGNoCi0K LSMgVGVzdCBzaWRlZWZmZWN0cyBvZiBza2lwcGluZyBwcGMgLnNvIGxpYnMgdHJhbXBvbGluZXMg KEJaIDIxODM3OSkuCi0jPWZlZG9yYXRlc3QKLVBhdGNoMjE2OiBnZGItNi41LWJ6MjE4Mzc5LXBw Yy1zb2xpYi10cmFtcG9saW5lLXRlc3QucGF0Y2gKLQotIyBGaXggbG9ja3VwIG9uIHRyYW1wb2xp bmUgdnMuIGl0cyBmdW5jdGlvbiBsb29rdXA7IHVucmVwcm9kdWNpYmxlIChCWiAyMTgzNzkpLgot Iz1mZWRvcmEKLVBhdGNoMjE3OiBnZGItNi41LWJ6MjE4Mzc5LXNvbGliLXRyYW1wb2xpbmUtbG9v a3VwLWxvY2stZml4LnBhdGNoCi0KLSMgRmluZCBzeW1ib2xzIHByb3Blcmx5IGF0IHRoZWlyIG9y aWdpbmFsIChpbmNsdWRlZCkgZmlsZSAoQlogMTA5OTIxKS4KLSM9ZmVkb3JhdGVzdAotUGF0Y2gy MjU6IGdkYi02LjUtYnoxMDk5MjEtRFdfQVRfZGVjbF9maWxlLXRlc3QucGF0Y2gKLQotIyBVcGRh dGUgUFBDIHVud2luZGluZyBwYXRjaGVzIHRvIHRoZWlyIHVwc3RyZWFtIHZhcmlhbnRzIChCWiAx NDA1MzIpLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDIyOTogZ2RiLTYuMy1iejE0MDUzMi1wcGMtdW53 aW5kaW5nLXRlc3QucGF0Y2gKLQotIyBUZXN0Y2FzZSBmb3IgZXhlYygpIGZyb20gdGhyZWFkZWQg cHJvZ3JhbSAoQlogMjAyNjg5KS4KLSM9ZmVkb3JhdGVzdAotUGF0Y2gyMzE6IGdkYi02LjMtYnoy MDI2ODktZXhlYy1mcm9tLXB0aHJlYWQtdGVzdC5wYXRjaAotCi0jIEJhY2twb3J0ZWQgZml4dXBz IHBvc3QgdGhlIHNvdXJjZSB0YXJiYWxsLgotI1hkcm9wOiBKdXN0IGJhY2twb3J0cy4KLVBhdGNo MjMyOiBnZGItdXBzdHJlYW0ucGF0Y2gKLQotIyBUZXN0Y2FzZSBmb3IgUFBDIFBvd2VyNi9ERlAg aW5zdHJ1Y3Rpb25zIGRpc2Fzc2VtYmx5IChCWiAyMzAwMDApLgotIz1mZWRvcmF0ZXN0Ci1QYXRj aDIzNDogZ2RiLTYuNi1iejIzMDAwMC1wb3dlcjYtZGlzYXNzZW1ibHktdGVzdC5wYXRjaAotCi0j IEFsbG93IHJ1bm5pbmcgYC91c3IvYmluL2djb3JlJyB3aXRoIHByb3ZpZGVkIGJ1dCBpbmFjY2Vz c2libGUgdHR5IChCWiAyMjk1MTcpLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDI0NTogZ2RiLTYuNi1i ejIyOTUxNy1nY29yZS13aXRob3V0LXRlcm1pbmFsLnBhdGNoCi0KLSMgTm90aWZ5IHVzZXIgb2Yg YSBjaGlsZCBmb3JrZWQgcHJvY2VzcyBiZWluZyBkZXRhY2hlZCAoQlogMjM1MTk3KS4KLSM9cHVz aCtqYW46IFRoaXMgaXMgbW9yZSBhYm91dCBkaXNjdXNzaW9uIGlmL3doYXQgc2hvdWxkIGJlIHBy aW50ZWQuCi1QYXRjaDI0NzogZ2RiLTYuNi1iejIzNTE5Ny1mb3JrLWRldGFjaC1pbmZvLnBhdGNo Ci0KLSMgQXZvaWQgdG9vIGxvbmcgdGltZW91dHMgb24gZmFpbGluZyBjYXNlcyBvZiAiYW5ub3Rh MS5leHAgYW5ub3RhMy5leHAiLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDI1NDogZ2RiLTYuNi10ZXN0 c3VpdGUtdGltZW91dHMucGF0Y2gKLQotIyBTdXBwb3J0IGZvciBzdGVwcGluZyBvdmVyIFBQQyBh dG9taWMgaW5zdHJ1Y3Rpb24gc2VxdWVuY2VzIChCWiAyMzc1NzIpLgotIz1mZWRvcmF0ZXN0Ci1Q YXRjaDI1ODogZ2RiLTYuNi1iejIzNzU3Mi1wcGMtYXRvbWljLXNlcXVlbmNlLXRlc3QucGF0Y2gK LQotIyBUZXN0IGtlcm5lbCBWRFNPIGRlY29kaW5nIHdoaWxlIGF0dGFjaGluZyB0byBhbiBpMzg2 IHByb2Nlc3MuCi0jPWZlZG9yYXRlc3QKLVBhdGNoMjYzOiBnZGItNi4zLWF0dGFjaC1zZWUtdmRz by10ZXN0LnBhdGNoCi0KLSMgVGVzdCBsZWZ0b3ZlciB6b21iaWUgcHJvY2VzcyAoQlogMjQzODQ1 KS4KLSM9ZmVkb3JhdGVzdAotUGF0Y2gyNzE6IGdkYi02LjUtYnoyNDM4NDUtc3RhbGUtdGVzdGlu Zy16b21iaWUtdGVzdC5wYXRjaAotCi0jIE5ldyBsb2NhdGluZyBvZiB0aGUgbWF0Y2hpbmcgYmlu YXJpZXMgZnJvbSB0aGUgcHVyZSBjb3JlIGZpbGUgKGJ1aWxkLWlkKS4KLSM9cHVzaCtqYW4KLVBh dGNoMjc0OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCi0jIEZpeCBsb2FkaW5nIG9mIGNv cmUgZmlsZXMgd2l0aG91dCBidWlsZC1pZHMgYnV0IHdpdGggYnVpbGQtaWRzIGluIGV4ZWN1dGFi bGVzLgotIyBMb2FkIHN0cmljdGx5IGJ1aWxkLWlkLWNoZWNrZWQgY29yZSBmaWxlcyBvbmx5IGlm IG5vIGV4ZWN1dGFibGUgaXMgc3BlY2lmaWVkCi0jIChKYW4gS3JhdG9jaHZpbCwgUkggQlogMTMz OTg2MikuCi0jPXB1c2gramFuCi1QYXRjaDY1OTogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xp Yi1taXNzaW5nLWlkcy5wYXRjaAotIz1wdXNoK2phbgotUGF0Y2gzNTM6IGdkYi02LjYtYnVpbGRp ZC1sb2NhdGUtcnBtLnBhdGNoCi0jPXB1c2gramFuCi1QYXRjaDQxNTogZ2RiLTYuNi1idWlsZGlk LWxvY2F0ZS1jb3JlLWFzLWFyZy5wYXRjaAotIyBXb3JrYXJvdW5kIGxpYnJwbSBCWiA2NDMwMzEg ZHVlIHRvIGl0cyB1bmV4cGVjdGVkIGV4aXQoKSBjYWxscyAoQlogNjQyODc5KS4KLSM9cHVzaCtq YW4KLVBhdGNoNTE5OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1saWJycG0td29ya2Fyb3Vu ZC5wYXRjaAotIyBbU0NMXSBTa2lwIGRlcHJlY2F0ZWQgLmdkYl9pbmRleCB3YXJuaW5nIGZvciBS ZWQgSGF0IGJ1aWx0IGZpbGVzIChCWiA5NTM1ODUpLgotIz1wdXNoK2phbgotUGF0Y2g4MzM6IGdk Yi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLXNjbC5wYXRjaAotIyBGaXggJ2dkYiBnaXZlcyBoaWdo bHkgbWlzbGVhZGluZyBlcnJvciB3aGVuIGRlYnVnaW5mbyBwa2cgaXMgcHJlc2VudCwKLSMgYnV0 IG5vdCBjb3JyZXNwb25kaW5nIGJpbmFyeSBwa2cnIChSSCBCWiA5ODExNTQpLgotIz1wdXNoK2ph bgotUGF0Y2g4NjM6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtbWlzbGVhZGluZy13YXJuaW5nLW1p c3NpbmctZGVidWdpbmZvLXJoYno5ODExNTQucGF0Y2gKLQotIyBGaXggZGlzcGxheWluZyBvZiBu dW1lcmljIGNoYXIgYXJyYXlzIGFzIHN0cmluZ3MgKEJaIDIyNDEyOCkuCi0jPWZlZG9yYXRlc3Q6 IEJ1dCBpdCBpcyBmYWlsaW5nIGFueXdheSwgb25lIHNob3VsZCBjaGVjayB0aGUgYmVoYXZpb3Ig bW9yZS4KLVBhdGNoMjgyOiBnZGItNi43LWNoYXJzaWduLXRlc3QucGF0Y2gKLQotIyBUZXN0IFBQ QyBoaWRpbmcgb2YgY2FsbC12b2xhdGlsZSBwYXJhbWV0ZXIgcmVnaXN0ZXIuCi0jPWZlZG9yYXRl c3QKLVBhdGNoMjg0OiBnZGItNi43LXBwYy1jbG9iYmVyZWQtcmVnaXN0ZXJzLU8yLXRlc3QucGF0 Y2gKLQotIyBUZXN0c3VpdGUgZml4ZXMgZm9yIG1vcmUgc3RhYmxlL2NvbXBhcmFibGUgcmVzdWx0 cy4KLSM9ZmVkb3JhdGVzdAotUGF0Y2gyODc6IGdkYi02LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1 bHRzLnBhdGNoCi0KLSMgVGVzdCBpYTY0IG1lbW9yeSBsZWFrcyBvZiB0aGUgY29kZSB1c2luZyBs aWJ1bndpbmQuCi0jPWZlZG9yYXRlc3QKLVBhdGNoMjg5OiBnZGItNi41LWlhNjQtbGlidW53aW5k LWxlYWstdGVzdC5wYXRjaAotCi0jIFRlc3QgaGlkaW5nIHVuZXhwZWN0ZWQgYnJlYWtwb2ludHMg b24gaW50ZW50aW9uYWwgc3RlcCBjb21tYW5kcy4KLSM9ZmVkb3JhdGVzdAotUGF0Y2gyOTA6IGdk Yi02LjUtbWlzc2VkLXRyYXAtb24tc3RlcC10ZXN0LnBhdGNoCi0KLSMgVGVzdCBnY29yZSBtZW1v cnkgYW5kIHRpbWUgcmVxdWlyZW1lbnRzIGZvciBsYXJnZSBpbmZlcmlvcnMuCi0jPWZlZG9yYXRl c3QKLVBhdGNoMjk2OiBnZGItNi41LWdjb3JlLWJ1ZmZlci1saW1pdC10ZXN0LnBhdGNoCi0KLSMg VGVzdCBkZWJ1Z2dpbmcgc3RhdGljYWxseSBsaW5rZWQgdGhyZWFkZWQgaW5mZXJpb3JzIChCWiAy Mzk2NTIpLgotIyAgLSBJdCByZXF1aXJlcyByZWNlbnQgZ2xpYmMgdG8gd29yayBpbiB0aGlzIGNh c2UgcHJvcGVybHkuCi0jPWZlZG9yYXRlc3QKLVBhdGNoMjk4OiBnZGItNi42LXRocmVhZHMtc3Rh dGljLXRlc3QucGF0Y2gKLQotIyBUZXN0IEdDT1JFIGZvciBzaG1pZCAwIHNoYXJlZCBtZW1vcnkg bWFwcGluZ3MuCi0jPWZlZG9yYXRlc3Q6IEJ1dCBpdCBpcyBicm9rZW4gYW55d2F5LCBzb21ldGlt ZXMgdGhlIGNhc2UgYmVpbmcgdGVzdGVkIGlzIG5vdCByZXByb2R1Y2libGUuCi1QYXRjaDMwOTog Z2RiLTYuMy1tYXBwaW5nLXplcm8taW5vZGUtdGVzdC5wYXRjaAotCi0jIFRlc3QgYSBjcmFzaCBv biBgZm9jdXMgY21kJywgYGZvY3VzIHByZXYnIGNvbW1hbmRzLgotIz1mZWRvcmF0ZXN0Ci1QYXRj aDMxMTogZ2RiLTYuMy1mb2N1cy1jbWQtcHJldi10ZXN0LnBhdGNoCi0KLSMgVGVzdCB2YXJpb3Vz IGZvcm1zIG9mIHRocmVhZHMgdHJhY2tpbmcgYWNyb3NzIGV4ZWMoKSAoQlogNDQyNzY1KS4KLSM9 ZmVkb3JhdGVzdAotUGF0Y2gzMTU6IGdkYi02LjgtYno0NDI3NjUtdGhyZWFkZWQtZXhlYy10ZXN0 LnBhdGNoCi0KLSMgU2lsZW5jZSBtZW1jcHkgY2hlY2sgd2hpY2ggcmV0dXJucyBmYWxzZSBwb3Np dGl2ZSAoc3BhcmM2NCkKLSM9cHVzaDogQnV0IGl0IGlzIGp1c3QgYSBHQ0Mgd29ya2Fyb3VuZCwg bG9vayB1cCB0aGUgZXhpc3RpbmcgR0NDIFBSIGZvciBpdC4KLVBhdGNoMzE3OiBnZGItNi44LXNw YXJjNjQtc2lsZW5jZS1tZW1jcHktY2hlY2sucGF0Y2gKLQotIyBUZXN0IGEgY3Jhc2ggb24gbGli cmFyaWVzIG1pc3NpbmcgdGhlIC50ZXh0IHNlY3Rpb24uCi0jPWZlZG9yYXRlc3QKLVBhdGNoMzIw OiBnZGItNi41LXNlY3Rpb24tbnVtLWZpeHVwLXRlc3QucGF0Y2gKLQotIyBGaXggcmVnaXN0ZXIg YXNzaWdubWVudHMgd2l0aCBubyBHREIgc3RhY2sgZnJhbWVzIChCWiA0MzYwMzcpLgotIz1wdXNo K2phbjogVGhpcyBmaXggaXMgaW5jb3JyZWN0LgotUGF0Y2gzMzA6IGdkYi02LjgtYno0MzYwMzct cmVnLW5vLWxvbmdlci1hY3RpdmUucGF0Y2gKLQotIyBNYWtlIHRoZSBHREIgcXVpdCBwcm9jZXNz aW5nIG5vbi1hYm9ydGFibGUgdG8gY2xlYW51cCBldmVyeXRoaW5nIHByb3Blcmx5LgotIz1mZWRv cmE6IEl0IHdhcyB1c2VmdWwgb25seSBhZnRlciBnZGItNi44LWF0dGFjaC1zaWduYWxsZWQtZGV0 YWNoLXN0b3BwZWQucGF0Y2ggLgotUGF0Y2gzMzE6IGdkYi02LjgtcXVpdC1uZXZlci1hYm9ydHMu cGF0Y2gKLQotIyBbUkhFTDUsUkhFTDZdIEZpeCBhdHRhY2hpbmcgdG8gc3RvcHBlZCBwcm9jZXNz ZXMuCi0jIFtSSEVMNV0gV29ya2Fyb3VuZCBrZXJuZWwgZm9yIGRldGFjaGluZyBTSUdTVE9QcGVk IHByb2Nlc3NlcyAoQlogODA5MzgyKS4KLSM9ZmVkb3JhCi1QYXRjaDMzNzogZ2RiLTYuOC1hdHRh Y2gtc2lnbmFsbGVkLWRldGFjaC1zdG9wcGVkLnBhdGNoCi0KLSMgVGVzdCB0aGUgd2F0Y2hwb2lu dHMgY29uZGl0aW9uYWxzIHdvcmtzLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDM0MzogZ2RiLTYuOC13 YXRjaHBvaW50LWNvbmRpdGlvbmFscy10ZXN0LnBhdGNoCi0KLSMgRml4IHJlc29sdmluZyBvZiB2 YXJpYWJsZXMgYXQgbG9jYXRpb25zIGxpc3RzIGluIHByZWxpbmtlZCBsaWJzIChCWiA0NjY5MDEp LgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDM0ODogZ2RiLTYuOC1iejQ2NjkwMS1iYWNrdHJhY2UtZnVs bC1wcmVsaW5rZWQucGF0Y2gKLQotIyBQeXRob24gcGF0Y2hlcyBvZjogaHR0cDovL3NvdXJjZXdh cmUub3JnL2dkYi93aWtpL1Byb2plY3RBcmNoZXIKLSM9cHVzaAotUGF0Y2gzNDk6IGdkYi1hcmNo ZXIucGF0Y2gKLQotIyBOZXcgdGVzdCBmb3Igc3RlcC1yZXN1bWUgYnJlYWtwb2ludCBwbGFjZWQg aW4gbXVsdGlwbGUgdGhyZWFkcyBhdCBvbmNlLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDM4MTogZ2Ri LXNpbXVsdGFuZW91cy1zdGVwLXJlc3VtZS1icmVha3BvaW50LXRlc3QucGF0Y2gKLQotIyBGaXgg R05VL0xpbnV4IGNvcmUgb3BlbjogQ2FuJ3QgcmVhZCBwYXRobmFtZSBmb3IgbG9hZCBtYXA6IElu cHV0L291dHB1dCBlcnJvci4KLSMgRml4IHJlZ3Jlc3Npb24gb2YgdW5kaXNwbGF5ZWQgbWlzc2lu ZyBzaGFyZWQgbGlicmFyaWVzIGNhdXNlZCBieSBhIGZpeCBmb3IuCi0jPWZlZG9yYXRlc3Q6IEl0 IHNob3VsZCBiZSBpbiBnbGliYzogbGliYy1hbHBoYTogPDIwMDkxMDA0MTYxNzA2LkdBMjc0NTBA Lio+Ci1QYXRjaDM4MjogZ2RiLWNvcmUtb3Blbi12ZHNvLXdhcm5pbmcucGF0Y2gKLQotIyBGaXgg c3lzY2FsbCByZXN0YXJ0cyBmb3IgYW1kNjQtPmkzODYgYmlhcmNoLgotIz1wdXNoK2phbgotUGF0 Y2gzOTE6IGdkYi14ODZfNjQtaTM4Ni1zeXNjYWxsLXJlc3RhcnQucGF0Y2gKLQotIyBGaXggc3Rl cHBpbmcgd2l0aCBPTVAgcGFyYWxsZWwgRm9ydHJhbiBzZWN0aW9ucyAoQlogNTMzMTc2KS4KLSM9 cHVzaCtqYW46IEl0IHJlcXVpcmVzIHNvbWUgYmV0dGVyIERXQVJGIGFubm90YXRpb25zLgotUGF0 Y2gzOTI6IGdkYi1iejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCi0KLSMgRml4IHJlZ3Jl c3Npb24gYnkgcHl0aG9uIG9uIGlhNjQgZHVlIHRvIHN0YWxlIGN1cnJlbnQgZnJhbWUuCi0jPXB1 c2gramFuCi1QYXRjaDM5NzogZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gKLQot IyBXb3JrYXJvdW5kIGNjYWNoZSBtYWtpbmcgbGluZW5vIG5vbi16ZXJvIGZvciBjb21tYW5kLWxp bmUgZGVmaW5pdGlvbnMuCi0jPWZlZG9yYXRlc3Q6IGNjYWNoZSBpcyByYXJlbHkgdXNlZCBhbmQg aXQgaXMgZXZlbiBmaXhlZCBub3cuCi1QYXRjaDQwMzogZ2RiLWNjYWNoZS13b3JrYXJvdW5kLnBh dGNoCi0KLSMgVGVzdGNhc2UgZm9yICJEbyBub3QgbWFrZSB1cCBsaW5lIGluZm9ybWF0aW9uIiBm aXggYnkgRGFuaWVsIEphY29ib3dpdHouCi0jPWZlZG9yYXRlc3QKLVBhdGNoNDA3OiBnZGItbGlu ZW5vLW1ha2V1cC10ZXN0LnBhdGNoCi0KLSMgVGVzdCBwb3dlcjcgcHBjIGRpc2Fzc2VtYmx5Lgot Iz1mZWRvcmF0ZXN0Ci1QYXRjaDQwODogZ2RiLXBwYy1wb3dlcjctdGVzdC5wYXRjaAotCi0jIEZp eCBpMzg2K3g4Nl82NCByd2F0Y2grYXdhdGNoIGJlZm9yZSBydW4sIHJlZ3Jlc3Npb24gYWdhaW5z dCA2LjggKEJaIDU0MTg2NikuCi0jIEZpeCBpMzg2IHJ3YXRjaCthd2F0Y2ggYmVmb3JlIHJ1biAo QlogNjg4Nzg4LCBvbiB0b3Agb2YgQlogNTQxODY2KS4KLSM9cHVzaCtqYW46IEl0IHNob3VsZCBi ZSBmaXhlZCBwcm9wZXJseSBpbnN0ZWFkLgotUGF0Y2g0MTc6IGdkYi1iejU0MTg2Ni1yd2F0Y2gt YmVmb3JlLXJ1bi5wYXRjaAotCi0jIFdvcmthcm91bmQgbm9uLXN0b3AgbW9yaWJ1bmQgbG9jYXRp b25zIGV4cGxvaXRlZCBieSBrZXJuZWwgdXRyYWNlIChCWiA1OTA2MjMpLgotIz1wdXNoK2phbjog Q3VycmVudGx5IGl0IGlzIHN0aWxsIG5vdCBmdWxseSBzYWZlLgotUGF0Y2g0NTk6IGdkYi1tb3Jp YnVuZC11dHJhY2Utd29ya2Fyb3VuZC5wYXRjaAotCi0jIEZpeCBmb2xsb3ctZXhlYyBmb3IgQysr IHByb2dyYW1zIChidWdyZXBvcnRlZCBieSBNYXJ0aW4gU3RyYW5za3kpLgotIz1mZWRvcmF0ZXN0 Ci1QYXRjaDQ3MDogZ2RiLWFyY2hlci1uZXh0LW92ZXItdGhyb3ctY3h4LWV4ZWMucGF0Y2gKLQot IyBCYWNrcG9ydCBEV0FSRi00IHN1cHBvcnQgKEJaIDYwMTg4NywgVG9tIFRyb21leSkuCi0jPWZl ZG9yYXRlc3QKLVBhdGNoNDc1OiBnZGItYno2MDE4ODctZHdhcmY0LXJoLXRlc3QucGF0Y2gKLQot IyBbZGVsYXllZC1zeW1maWxlXSBUZXN0IGEgYmFja3RyYWNlIHJlZ3Jlc3Npb24gb24gQ0ZJcyB3 aXRob3V0IERJRSAoQlogNjE0NjA0KS4KLSM9ZmVkb3JhdGVzdAotUGF0Y2g0OTA6IGdkYi10ZXN0 LWJ0LWNmaS13aXRob3V0LWRpZS5wYXRjaAotCi0jIFByb3ZpZGUgL3Vzci9iaW4vZ2RiLWFkZC1p bmRleCBmb3IgcnBtLWJ1aWxkIChUb20gVHJvbWV5KS4KLSM9cHVzaDogUmUtY2hlY2sgYWdhaW5z dCB0aGUgdXBzdHJlYW0gdmVyc2lvbi4KLVBhdGNoNDkxOiBnZGItZ2RiLWFkZC1pbmRleC1zY3Jp cHQucGF0Y2gKLQotIyBPdXQgb2YgbWVtb3J5IGlzIGp1c3QgYW4gZXJyb3IsIG5vdCBmYXRhbCAo dW5pbml0aWFsaXplZCBWTFMgdmFycywgQlogNTY4MjQ4KS4KLSM9cHVzaCtqYW46IEluZmVyaW9y IG9iamVjdHMgc2hvdWxkIGJlIHJlYWQgaW4gcGFydHMsIHRoZW4gdGhpcyBwYXRjaCBnZXRzIG9i c29sZXRlZC4KLVBhdGNoNDk2OiBnZGItYno1NjgyNDgtb29tLWlzLWVycm9yLnBhdGNoCi0KLSMg VmVyaWZ5IEdEQiBQeXRob24gYnVpbHQtaW4gZnVuY3Rpb24gZ2RiLnNvbGliX2FkZHJlc3MgZXhp c3RzIChCWiAjIDYzNDEwOCkuCi0jPWZlZG9yYXRlc3QKLVBhdGNoNTI2OiBnZGItYno2MzQxMDgt c29saWJfYWRkcmVzcy5wYXRjaAotCi0jIE5ldyB0ZXN0IGdkYi5hcmNoL3g4Nl82NC1waWQwLWNv cmUuZXhwIGZvciBrZXJuZWwgUElEIDAgY29yZXMgKEJaIDYxMTQzNSkuCi0jPWZlZG9yYXRlc3QK LVBhdGNoNTQyOiBnZGItdGVzdC1waWQwLWNvcmUucGF0Y2gKLQotIyBbYXJjaGVyLXRyb21leS1k ZWxheWVkLXN5bWZpbGVdIE5ldyB0ZXN0IGdkYi5kd2FyZjIvZHcyLWFyYW5nZXMuZXhwLgotIz1m ZWRvcmF0ZXN0Ci1QYXRjaDU0NzogZ2RiLXRlc3QtZHcyLWFyYW5nZXMucGF0Y2gKLQotIyBbYXJj aGVyLWtlaXRocy1leHByLWN1bXVsYXRpdmUrdXBzdHJlYW1dIEltcG9ydCBDKysgdGVzdGNhc2Vz LgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDU0ODogZ2RiLXRlc3QtZXhwci1jdW11bGF0aXZlLWFyY2hl ci5wYXRjaAotCi0jIEZpeCByZWdyZXNzaW9ucyBvbiBDKysgbmFtZXMgcmVzb2x2aW5nIChQUiAx MTczNCwgUFIgMTIyNzMsIEtlaXRoIFNlaXR6KS4KLSM9ZmVkb3JhdGVzdAotUGF0Y2g1NjU6IGdk Yi1waHlzbmFtZS1wcjExNzM0LXRlc3QucGF0Y2gKLSM9ZmVkb3JhdGVzdAotUGF0Y2g1Njc6IGdk Yi1waHlzbmFtZS1wcjEyMjczLXRlc3QucGF0Y2gKLQotIyBUb29sY2hhaW4gb24gc3BhcmMgaXMg c2xpZ2h0bHkgYnJva2VuIGFuZCBkZWJ1Z2luZm8gZmlsZXMgYXJlIGdlbmVyYXRlZAotIyB3aXRo IG5vbiA2NGJpdCBhbGlnbmVkIHRhYmxlcy9vZmZzZXRzLgotIyBTZWUgZm9yIGV4YW1wbGUgcmVh ZGVsZiAtUyAuLi9Ydm5jLmRlYnVnLgotIwotIyBBcyBhIGNvbnNlbnF1ZW5jZSBjYWxjdWxhdGlv biBvZiBzZWN0cC0+ZmlsZXBvcyBhcyB1c2VkIGluCi0jIGR3YXJmMl9yZWFkX3NlY3Rpb24gKGdk Yi9kd2FyZjJyZWFkLmM6MTUyNSkgd2lsbCByZXR1cm4gYSBub24gYWxpZ25lZCBidWZmZXIKLSMg dGhhdCBjYW5ub3QgYmUgdXNlZCBkaXJlY3RseSBhcyBkb25lIHdpdGggTU1BUC4KLSMgVXNhZ2Ug d2lsbCByZXN1bHQgaW4gYSBCdXNFcnJvci4KLSMKLSMgV2hpbGUgd2UgZmlndXJlIG91dCB3aGF0 J3Mgd3JvbmcgaW4gdGhlIHRvb2xjaGFpbiBhbmQgZG8gYSBmdWxsIGFyY2hpdmUKLSMgcmVidWls ZCB0byBmaXggaXQsIHdlIG5lZWQgdG8gYmUgYWJsZSB0byB1c2UgZ2RiIDopCi0jPXB1c2gKLVBh dGNoNTc5OiBnZGItNy4yLjUwLXNwYXJjLWFkZC13b3JrYXJvdW5kLXRvLWJyb2tlbi1kZWJ1Zy1m aWxlcy5wYXRjaAotCi0jIFRlc3QgR0RCIG9wY29kZXMvIGRpc2Fzc2VtYmx5IG9mIEludGVsIEl2 eSBCcmlkZ2UgaW5zdHJ1Y3Rpb25zIChCWiA2OTY4OTApLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDYx NjogZ2RiLXRlc3QtaXZ5LWJyaWRnZS5wYXRjaAotCi0jIFdvcmsgYXJvdW5kIFBSIGxpYmMvMTMw OTcgImxpbnV4LXZkc28uc28uMSIgd2FybmluZyBtZXNzYWdlLgotIz1wdXNoK2phbgotUGF0Y2g2 Mjc6IGdkYi1nbGliYy12ZHNvLXdvcmthcm91bmQucGF0Y2gKLQotIyBIYWNrIGZvciBwcm9wZXIg UElFIHJ1biBvZiB0aGUgdGVzdHN1aXRlLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDYzNDogZ2RiLXJ1 bnRlc3QtcGllLW92ZXJyaWRlLnBhdGNoCi0KLSMgV29yayBhcm91bmQgcmVhZGxpbmUtNi4yIGlu Y29tcGF0aWJpbGl0eSBub3QgYXNraW5nIGZvciAtLW1vcmUtLSAoQlogNzAxMTMxKS4KLSM9ZmVk b3JhCi1QYXRjaDY0MjogZ2RiLXJlYWRsaW5lNjItYXNrLW1vcmUtcmgucGF0Y2gKLQotIyBQcmlu dCByZWFzb25zIGZvciBmYWlsZWQgYXR0YWNoL3NwYXduIGluY2wuIFNFTGludXggZGVueV9wdHJh Y2UgKEJaIDc4Njg3OCkuCi0jPXB1c2gramFuCi1QYXRjaDY1MzogZ2RiLWF0dGFjaC1mYWlsLXJl YXNvbnMtNW9mNS5wYXRjaAotCi0jIFdvcmthcm91bmQgY3Jhc2hlcyBmcm9tIHN0YWxlIGZyYW1l X2luZm8gcG9pbnRlciAoQlogODA0MjU2KS4KLSM9cHVzaCtqYW4KLVBhdGNoNjYxOiBnZGItc3Rh bGUtZnJhbWVfaW5mby5wYXRjaAotCi0jIFdvcmthcm91bmQgUFIgbGliYy8xNDE2NiBmb3IgaW5m ZXJpb3IgY2FsbHMgb2Ygc3Ryc3RyLgotIz1mZWRvcmE6IENvbXBhdGliaWxpdHkgd2l0aCBSSEVM cyAodW5jaGVja2VkIHdoaWNoIG9uZXMpLgotUGF0Y2g2OTA6IGdkYi1nbGliYy1zdHJzdHItd29y a2Fyb3VuZC5wYXRjaAotCi0jIEluY2x1ZGUgdGVzdGNhc2UgZm9yIGBVbmFibGUgdG8gc2VlIGEg dmFyaWFibGUgaW5zaWRlIGEgbW9kdWxlIChYTEYpJyAoQlogODIzNzg5KS4KLSM9ZmVkb3JhdGVz dAotUGF0Y2g2OTg6IGdkYi1yaGVsNS45LXRlc3RjYXNlLXhsZi12YXItaW5zaWRlLW1vZC5wYXRj aAotCi0jIFRlc3RjYXNlIGZvciBgU2V0dGluZyBzb2xpYi1hYnNvbHV0ZS1wcmVmaXggYnJlYWtz IHZEU08nIChCWiA4MTgzNDMpLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDcwMzogZ2RiLXJoYnotODE4 MzQzLXNldC1zb2xpYi1hYnNvbHV0ZS1wcmVmaXgtdGVzdGNhc2UucGF0Y2gKLQotIyBGaXggYEdE QiBjYW5ub3QgYWNjZXNzIHN0cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFu IDI1Nk1CJwotIyAoUkggQlogNzk1NDI0KS4KLSM9cHVzaAotUGF0Y2g4MTE6IGdkYi1yaGJ6Nzk1 NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gKLVBhdGNoODEyOiBnZGItcmhiejc5NTQyNC1iaXRwb3Mt MjFvZjI1LnBhdGNoCi1QYXRjaDgxMzogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIyb2YyNS5wYXRj aAotUGF0Y2g4MTQ6IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gKLVBhdGNoODE2 OiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1LnBhdGNoCi1QYXRjaDgxNzogZ2RiLXJoYno3 OTU0MjQtYml0cG9zLTI1b2YyNS10ZXN0LnBhdGNoCi1QYXRjaDgxODogZ2RiLXJoYno3OTU0MjQt Yml0cG9zLWxhenl2YWx1ZS5wYXRjaAotCi0jIEltcG9ydCByZWdyZXNzaW9uIHRlc3QgZm9yIGBn ZGIvZmluZHZhci5jOjQxNzogaW50ZXJuYWwtZXJyb3I6Ci0jIHJlYWRfdmFyX3ZhbHVlOiBBc3Nl cnRpb24gYGZyYW1lJyBmYWlsZWQuJyAoUkggQlogOTQ3NTY0KSBmcm9tIFJIRUwgNi41LgotIz1m ZWRvcmF0ZXN0Ci1QYXRjaDgzMjogZ2RiLXJoYno5NDc1NjQtZmluZHZhci1hc3NlcnRpb24tZnJh bWUtZmFpbGVkLXRlc3RjYXNlLnBhdGNoCi0KLSMgW3JoZWw2XSBEVFMgYmFja3dhcmQgUHl0aG9u IGNvbXBhdGliaWxpdHkgQVBJIChCWiAxMDIwMDA0LCBQaGlsIE11bGRvb24pLgotIz1mZWRvcmEK LVBhdGNoODQ4OiBnZGItZHRzLXJoZWw2LXB5dGhvbi1jb21wYXQucGF0Y2gKLQotIyBGaXggY3Jh c2ggb2YgLXJlYWRub3cgL3Vzci9saWIvZGVidWcvdXNyL2Jpbi9nbmF0YmluZC5kZWJ1ZyAoQlog MTA2OTIxMSkuCi0jPXB1c2gramFuCi1QYXRjaDg1MjogZ2RiLWduYXQtZHdhcmYtY3Jhc2gtM29m My5wYXRjaAotCi0jIEZpeCAnbWVtb3J5IGxlYWsgaW4gaW5mcHlfcmVhZF9tZW1vcnkoKScgKFJI IEJaIDEwMDc2MTQpCi0jPWZlZG9yYXRlc3QKLVBhdGNoODYxOiBnZGItcmhiejEwMDc2MTQtbWVt bGVhay1pbmZweV9yZWFkX21lbW9yeS10ZXN0LnBhdGNoCi0KLSMgVkxBIChGb3J0cmFuIGR5bmFt aWMgYXJyYXlzKSBmcm9tIEludGVsICsgYXJjaGVyLWphbmtyYXRvY2h2aWwtdmxhIHRlc3RzLgot Iz1wdXNoCi1QYXRjaDEwNTg6IGdkYi12bGEtaW50ZWwtZm9ydHJhbi1zdHJpZGVzLnBhdGNoCi0j PXB1c2gKLVBhdGNoMTEzMjogZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXZsYS1zdHJpbmdzLnBhdGNo Ci0jPXB1c2gramFuCi1QYXRjaDg4OTogZ2RiLXZsYS1pbnRlbC1zdHJpbmdidC1maXgucGF0Y2gK LSM9ZmVkb3JhdGVzdAotUGF0Y2g4ODc6IGdkYi1hcmNoZXItdmxhLXRlc3RzLnBhdGNoCi1QYXRj aDg4ODogZ2RiLXZsYS1pbnRlbC10ZXN0cy5wYXRjaAotCi0jIENvbnRpbnVlIGJhY2t0cmFjZSBl dmVuIGlmIGEgZnJhbWUgZmlsdGVyIHRocm93cyBhbiBleGNlcHRpb24gKFBoaWwgTXVsZG9vbiku Ci0jPXB1c2gKLVBhdGNoOTE4OiBnZGItYnRyb2J1c3QucGF0Y2gKLQotIyBEaXNwbGF5IEZvcnRy YW4gc3RyaW5ncyBpbiBiYWNrdHJhY2VzLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDkyNTogZ2RiLWZv cnRyYW4tZnJhbWUtc3RyaW5nLnBhdGNoCi0KLSMgRml4IFB5dGhvbiBHSUwgd2l0aCBnZGIuZXhl Y3V0ZSgiY29udGludWUiKSAoUGhpbCBNdWxkb29uLCBCWiAxMTE2OTU3KS4KLSM9cHVzaAotUGF0 Y2g5Mjc6IGdkYi1weXRob24tZ2lsLnBhdGNoCi0KLSMgVGVzdGNhc2UgZm9yICdbU0FQXSBSZWN1 cnNpdmUgZGxvcGVuIGNhdXNlcyBTQVAgSEFOQSBpbnN0YWxsZXIgdG8KLSMgY3Jhc2guJyAoUkgg QlogMTE1NjE5MikuCi0jPWZlZG9yYXRlc3QKLVBhdGNoOTc3OiBnZGItcmhiejExNTYxOTItcmVj dXJzaXZlLWRsb3Blbi10ZXN0LnBhdGNoCi0KLSMgRml4IGppdC1yZWFkZXIuaCBmb3IgbXVsdGkt bGliLgotIz1wdXNoK2phbgotUGF0Y2g5Nzg6IGdkYi1qaXQtcmVhZGVyLW11bHRpbGliLnBhdGNo Ci0KLSMgRml4ICdgY2F0Y2ggc3lzY2FsbCcgZG9lc24ndCB3b3JrIGZvciBwYXJlbnQgYWZ0ZXIg YGZvcmsnIGlzIGNhbGxlZCcKLSMgKFBoaWxpcHBlIFdhcm9xdWllcnMsIFJIIEJaIDExNDkyMDUp LgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDk4NDogZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwt YWZ0ZXItZm9yay10ZXN0LnBhdGNoCi0KLSMgRml4ICdiYWNrcG9ydCBHREIgNy40IGZpeCB0byBS SEVMIDYuNiBHREInIFtPcmlnaW5hbCBTb3VyY2V3YXJlIGJ1ZwotIyBkZXNjcmlwdGlvbjogJ0Mr KyAoYW5kIG9iamMpOiBJbnRlcm5hbCBlcnJvciBvbiB1bnF1YWxpZmllZCBuYW1lCi0jIHJlLXNl dCcsIFBSIDExNjU3XSAoUkggQlogMTE4NjQ3NikuCi0jPWZlZG9yYXRlc3QKLVBhdGNoOTkxOiBn ZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQtdGVz dC5wYXRjaAotCi0jIFRlc3QgJ2luZm8gdHlwZS1wcmludGVycycgUHl0aG9uIGVycm9yIChSSCBC WiAxMzUwNDM2KS4KLSM9ZmVkb3JhdGVzdAotUGF0Y2g5OTI6IGdkYi1yaGJ6MTM1MDQzNi10eXBl LXByaW50ZXJzLWVycm9yLnBhdGNoCi0KLSMgRml4ICdbcHBjNjRdIGFuZCBbczM5MHhdIHdyb25n IHByb2xvZ3VlIHNraXAgb24gLU8yIC1nIGNvZGUnIChKYW4KLSMgS3JhdG9jaHZpbCwgUkggQlog MTA4NDQwNCkuCi0jPWZlZG9yYXRlc3QKLVBhdGNoMTAyNjogZ2RiLXJoYnoxMDg0NDA0LXBwYzY0 LXMzOTB4LXdyb25nLXByb2xvZ3VlLXNraXAtTzItZy0zb2YzLnBhdGNoCi0KLSMgTmV2ZXIga2ls bCBQSUQgb246IGdkYiBleGVjIFBJRCAoSmFuIEtyYXRvY2h2aWwsIFJIIEJaIDEyMTk3NDcpLgor IyBbcmhlbCBkdHMgbGliaXB0XSBGaXggWy1XZXJyb3I9aW1wbGljaXQtZmFsbHRocm91Z2g9XSB3 aXRoIGdjYy03LjEuMS4KICM9cHVzaCtqYW4KLVBhdGNoMTA1MzogZ2RiLWJ6MTIxOTc0Ny1hdHRh Y2gta2lsbHMucGF0Y2gKK1BhdGNoMTE3MTogdjEuNi4xLWltcGxpY2l0LWZhbGx0aHJvdWdoLnBh dGNoCiAKLSMgRml4IHRoZSBwYWhvbGUgY29tbWFuZCBicmVha2FnZSBkdWUgdG8gaXRzIFB5dGhv bjMgcG9ydCAoUkggQlogMTI2NDUzMikuCi0jPWZlZG9yYQorIyMgRml4IHRoZSBwYWhvbGUgY29t bWFuZCBicmVha2FnZSBkdWUgdG8gaXRzIFB5dGhvbjMgcG9ydCAoUkggQlogMTI2NDUzMikuCisj Iz1mZWRvcmEKIFBhdGNoMTA0NDogZ2RiLXBhaG9sZS1weXRob24yLnBhdGNoCi0KLSMgRm9yY2Ug bGlibmN1cnNlc3cgb3ZlciBsaWJuY3Vyc2VzIHRvIG1hdGNoIHRoZSBpbmNsdWRlcyAoUkggQlog MTI3MDUzNCkuCi0jPXB1c2gramFuCi1QYXRjaDEwNTY6IGdkYi1mZWRvcmEtbGlibmN1cnNlc3cu cGF0Y2gKLQotIyBUZXN0IGNsZmx1c2hvcHQgaW5zdHJ1Y3Rpb24gZGVjb2RlIChmb3IgUkggQlog MTI2MjQ3MSkuCi0jPWZlZG9yYXRlc3QKLVBhdGNoMTA3MzogZ2RiLW9wY29kZXMtY2xmbHVzaG9w dC10ZXN0LnBhdGNoCi0KLSMgW3Rlc3RzdWl0ZV0gRml4IGZhbHNlIHNlbGZ0ZXN0LmV4cCBGQUlM IGZyb20gc3lzdGVtIHJlYWRsaW5lLTYuMysgKFBhdHJpY2sgUGFsa2EpLgotIz1mZWRvcmF0ZXN0 Ci1QYXRjaDEwNzU6IGdkYi10ZXN0c3VpdGUtcmVhZGxpbmU2My1zaWdpbnQucGF0Y2gKLSM9ZmVk b3JhdGVzdAorIyMgW3Rlc3RzdWl0ZV0gRml4IGZhbHNlIHNlbGZ0ZXN0LmV4cCBGQUlMIGZyb20g c3lzdGVtIHJlYWRsaW5lLTYuMysgKFBhdHJpY2sgUGFsa2EpLgorIyM9ZmVkb3JhdGVzdAorI1Bh dGNoMTA3NTogZ2RiLXRlc3RzdWl0ZS1yZWFkbGluZTYzLXNpZ2ludC5wYXRjaAorIyM9ZmVkb3Jh dGVzdAogUGF0Y2gxMTE5OiBnZGItdGVzdHN1aXRlLXJlYWRsaW5lNjMtc2lnaW50LXJldmVydC5w YXRjaAogCi0jIFthYXJjaDY0XSBGaXggaGFyZHdhcmUgd2F0Y2hwb2ludHMgKFJIIEJaIDEyNjE1 NjQpLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDExMTM6IGdkYi1yaGJ6MTI2MTU2NC1hYXJjaDY0LWh3 LXdhdGNocG9pbnQtdGVzdC5wYXRjaCAKLQotIyBBZGQgbWVzc2FnZXMgc3VnZ2VzdGluZyBtb3Jl IHJlY2VudCBSSEVMIGdkYnNlcnZlciAoUkggQlogMTMyMTExNCkuCi0jPWZlZG9yYQotUGF0Y2gx MTE4OiBnZGItY29udGFpbmVyLXJoLXBrZy5wYXRjaAotCi0jIE5ldyB0ZXN0IGZvciBQeXRob24g IkNhbm5vdCBsb2NhdGUgb2JqZWN0IGZpbGUgZm9yIGJsb2NrIiAoZm9yIFJIIEJaIDEzMjU3OTUp LgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDExMjM6IGdkYi1yaGJ6MTMyNTc5NS1mcmFtZWZpbHRlcnMt dGVzdC5wYXRjaAotCi0jIFtkdHMrZWw3XSBbeDg2Kl0gQnVuZGxlIGxpbnV4X3BlcmYuaCBmb3Ig bGliaXB0IChSSCBCWiAxMjU2NTEzKS4KLSM9ZmVkb3JhCi1QYXRjaDExNDM6IGdkYi1saW51eF9w ZXJmLWJ1bmRsZS5wYXRjaAotCi0jIEZpeCBUTFMgKHN1Y2ggYXMgJ2Vycm5vJykgcmVncmVzc2lv bi4KLSM9cHVzaCtqYW4KLVBhdGNoMTE0OTogZ2RiLXRscy0xb2YyLnBhdGNoCi0jPXB1c2gramFu Ci1QYXRjaDExNTA6IGdkYi10bHMtMm9mMi5wYXRjaAotCi0jIEZpeCBnZGItaGVhZGxlc3MgL3Vz ci9iaW4vIGV4ZWN1dGFibGVzIChCWiAxMzkwMjUxKS4KLSM9ZmVkb3JhCi1QYXRjaDExNTI6IGdk Yi1saWJleGVjLWFkZC1pbmRleC5wYXRjaAotCi0jIEZpeCBnZGItYWRkLWluZGV4IGZvciA0NDQg Ki5kZWJ1ZyBmaWxlcy4KLSM9cHVzaCtqYW4KLVBhdGNoMTE1MzogZ2RiLWFkZC1pbmRleC1jaG1v ZC5wYXRjaAotCi0jIE5ldyB0ZXN0Y2FzZSBmb3I6IEZpeCA8dGFiPi1jb21wbGV0aW9uIGNyYXNo IChHYXJ5IEJlbnNvbiwgUkggQlogMTM5ODM4NykuCi0jPWZlZG9yYXRlc3QKLVBhdGNoMTE1NTog Z2RiLXJoYnoxMzk4Mzg3LXRhYi1jcmFzaC10ZXN0LnBhdGNoCi0KLSMgW3JoZWwgZHRzIGxpYmlw dF0gRml4IFstV2Vycm9yPWltcGxpY2l0LWZhbGx0aHJvdWdoPV0gd2l0aCBnY2MtNy4xLjEuCi0j PXB1c2gramFuCi1QYXRjaDExNzE6IHYxLjYuMS1pbXBsaWNpdC1mYWxsdGhyb3VnaC5wYXRjaAot Ci0jIFtzMzkweF0gQmFja3BvcnQgYXJjaDEyIHN1cHBvcnQgYW5kIG90aGVyIHMzOTB4IGZpeGVz IChSSCBCWiAxNDIwMzA0KS4KLVBhdGNoMTIxMDogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTAxb2Yz NS5wYXRjaAotUGF0Y2gxMjExOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMDJvZjM1LnBhdGNoCi1Q YXRjaDEyMTI6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0wM29mMzUucGF0Y2gKLVBhdGNoMTIxMzog Z2RiLXJoYnoxNDIwMzA0LXMzOTB4LTA0b2YzNS5wYXRjaAotUGF0Y2gxMjE0OiBnZGItcmhiejE0 MjAzMDQtczM5MHgtMDVvZjM1LnBhdGNoCi1QYXRjaDEyMTU6IGdkYi1yaGJ6MTQyMDMwNC1zMzkw eC0wNm9mMzUucGF0Y2gKLVBhdGNoMTIxNjogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTA3b2YzNS5w YXRjaAotUGF0Y2gxMjE3OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMDhvZjM1LnBhdGNoCi1QYXRj aDEyMTg6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0wOW9mMzUucGF0Y2gKLVBhdGNoMTIxOTogZ2Ri LXJoYnoxNDIwMzA0LXMzOTB4LTEwb2YzNS5wYXRjaAotUGF0Y2gxMjIwOiBnZGItcmhiejE0MjAz MDQtczM5MHgtMTFvZjM1LnBhdGNoCi1QYXRjaDEyMjE6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0x Mm9mMzUucGF0Y2gKLVBhdGNoMTIyMjogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTEzb2YzNS5wYXRj aAotUGF0Y2gxMjIzOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMTRvZjM1LnBhdGNoCi1QYXRjaDEy MjQ6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0xNW9mMzUucGF0Y2gKLVBhdGNoMTIyNTogZ2RiLXJo YnoxNDIwMzA0LXMzOTB4LTE2b2YzNS5wYXRjaAotUGF0Y2gxMjI2OiBnZGItcmhiejE0MjAzMDQt czM5MHgtMTdvZjM1LnBhdGNoCi1QYXRjaDEyMjc6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0xOG9m MzUucGF0Y2gKLVBhdGNoMTIyODogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE5b2YzNS5wYXRjaAot UGF0Y2gxMjI5OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMjBvZjM1LnBhdGNoCi1QYXRjaDEyMzA6 IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0yMW9mMzUucGF0Y2gKLVBhdGNoMTIzMTogZ2RiLXJoYnox NDIwMzA0LXMzOTB4LTIyb2YzNS5wYXRjaAotUGF0Y2gxMjMyOiBnZGItcmhiejE0MjAzMDQtczM5 MHgtMjNvZjM1LnBhdGNoCi1QYXRjaDEyMzM6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0yNG9mMzUu cGF0Y2gKLVBhdGNoMTIzNDogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTI1b2YzNS5wYXRjaAotUGF0 Y2gxMjM1OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMjZvZjM1LnBhdGNoCi1QYXRjaDEyMzY6IGdk Yi1yaGJ6MTQyMDMwNC1zMzkweC0yN29mMzUucGF0Y2gKLVBhdGNoMTIzNzogZ2RiLXJoYnoxNDIw MzA0LXMzOTB4LTI4b2YzNS5wYXRjaAotUGF0Y2gxMjM4OiBnZGItcmhiejE0MjAzMDQtczM5MHgt MjlvZjM1LnBhdGNoCi1QYXRjaDEyMzk6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0zMG9mMzUucGF0 Y2gKLVBhdGNoMTI0MDogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTMxb2YzNS5wYXRjaAotUGF0Y2gx MjQxOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMzJvZjM1LnBhdGNoCi1QYXRjaDEyNDI6IGdkYi1y aGJ6MTQyMDMwNC1zMzkweC0zM29mMzUucGF0Y2gKLVBhdGNoMTI0MzogZ2RiLXJoYnoxNDIwMzA0 LXMzOTB4LTM0b2YzNS5wYXRjaAotUGF0Y2gxMjQ0OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMzVv ZjM1LnBhdGNoCi0KLSMgW3MzOTB4XSBCYWNrcG9ydCBhcmNoMTQgZ3VhcmRlZC1zdG9yYWdlIHJl Z2lzdGVyIHN1cHBvcnQgKFJIIEJaIDE0OTg3NTgpLgotUGF0Y2gxMjU1OiBnZGItcmhiejE0OTg3 NTgtMW9mNS5wYXRjaAotUGF0Y2gxMjU2OiBnZGItcmhiejE0OTg3NTgtMm9mNS5wYXRjaAotUGF0 Y2gxMjU3OiBnZGItcmhiejE0OTg3NTgtM29mNS5wYXRjaAotUGF0Y2gxMjU4OiBnZGItcmhiejE0 OTg3NTgtNG9mNS5wYXRjaAotUGF0Y2gxMjU5OiBnZGItcmhiejE0OTg3NTgtNW9mNS5wYXRjaAot Ci0jIFVzZSBpbmxpbmVkIGZ1bmMgbmFtZSBmb3IgcHJpbnRpbmcgYnJlYWtwb2ludHMgKFJIIEJa IDEyMjg1NTYsIEtlaXRoIFNlaXR6KS4KLVBhdGNoMTI2MTogZ2RiLXJoYnoxMjI4NTU2LWJwdC1p bmxpbmVkLWZ1bmMtbmFtZS0xb2YyLnBhdGNoCi1QYXRjaDEyNjI6IGdkYi1yaGJ6MTIyODU1Ni1i cHQtaW5saW5lZC1mdW5jLW5hbWUtMm9mMi5wYXRjaAorIyBJbmNsdWRlIHRoZSBhdXRvLWdlbmVy YXRlZCBmaWxlIGNvbnRhaW5pbmcgdGhlICJQYXRjaDoiIGRpcmVjdGl2ZXMuCisjIFNlZSBSRUFE TUUubG9jYWwtcGF0Y2hlcyBmb3IgbW9yZSBkZXRhaWxzLgorJWluY2x1ZGUgX2dkYi5zcGVjLlBh dGNoLmluY2x1ZGUKIAogJWlmIDAleyE/cmhlbDoxfSB8fCAwJXs/cmhlbH0gPiA2CiAjIFJMX1NU QVRFX0ZFRE9SQV9HREIgd291bGQgbm90IGJlIGZvdW5kIGZvcjoKQEAgLTk2MywxNjIgKzQxNywx MiBAQCB0YXIgeHpmICV7U09VUkNFN30KICMgd2UgYnVpbGQgaW4gJXtnZGJfYnVpbGR9LCBqdXN0 IHRvIGJlIHN1cmUuCiBmaW5kIC1uYW1lICIqLmluZm8qInx4YXJncyBybSAtZgogCi0jIEFwcGx5 IHBhdGNoZXMgZGVmaW5lZCBhYm92ZS4KLQotIyBNYXRjaCB0aGUgRmVkb3JhJ3MgdmVyc2lvbiBp bmZvLgotJXBhdGNoMiAtcDEKLQotJXBhdGNoMjMyIC1wMQotJXBhdGNoMzQ5IC1wMQotJXBhdGNo MTA1OCAtcDEKLSVwYXRjaDExMzIgLXAxCi0lcGF0Y2g4ODkgLXAxCi0lcGF0Y2gxIC1wMQotCi0l cGF0Y2gxMDUgLXAxCi0lcGF0Y2gxMTEgLXAxCi0lcGF0Y2gxMTggLXAxCi0lcGF0Y2gxMjIgLXAx Ci0lcGF0Y2gxMjUgLXAxCi0lcGF0Y2gxMzMgLXAxCi0lcGF0Y2gxMzYgLXAxCi0lcGF0Y2gxNDUg LXAxCi0lcGF0Y2gxNjEgLXAxCi0lcGF0Y2gxNjMgLXAxCi0lcGF0Y2gxNjQgLXAxCi0lcGF0Y2gx ODggLXAxCi0lcGF0Y2gxOTQgLXAxCi0lcGF0Y2gxOTYgLXAxCi0lcGF0Y2gyMDggLXAxCi0lcGF0 Y2gyMTEgLXAxCi0lcGF0Y2gyMTMgLXAxCi0lcGF0Y2gyMTQgLXAxCi0lcGF0Y2gyMTYgLXAxCi0l cGF0Y2gyMTcgLXAxCi0lcGF0Y2gyMjUgLXAxCi0lcGF0Y2gyMjkgLXAxCi0lcGF0Y2gyMzEgLXAx Ci0lcGF0Y2gyMzQgLXAxCi0lcGF0Y2gyNDUgLXAxCi0lcGF0Y2gyNDcgLXAxCi0lcGF0Y2gyNTQg LXAxCi0lcGF0Y2gyNTggLXAxCi0lcGF0Y2gyNjAgLXAxCi0lcGF0Y2gyNjMgLXAxCi0lcGF0Y2gy NzEgLXAxCi0lcGF0Y2gyNzQgLXAxCi0lcGF0Y2g2NTkgLXAxCi0lcGF0Y2gzNTMgLXAxCi0lcGF0 Y2gyODIgLXAxCi0lcGF0Y2gyODQgLXAxCi0lcGF0Y2gyODcgLXAxCi0lcGF0Y2gyODkgLXAxCi0l cGF0Y2gyOTAgLXAxCi0lcGF0Y2gyOTYgLXAxCi0lcGF0Y2gyOTggLXAxCi0lcGF0Y2gzMDkgLXAx Ci0lcGF0Y2gzMTEgLXAxCi0lcGF0Y2gzMTUgLXAxCi0lcGF0Y2gzMTcgLXAxCi0lcGF0Y2gzMjAg LXAxCi0lcGF0Y2gzMzAgLXAxCi0lcGF0Y2gzNDMgLXAxCi0lcGF0Y2gzNDggLXAxCi0lcGF0Y2gz ODEgLXAxCi0lcGF0Y2gzODIgLXAxCi0lcGF0Y2gzOTEgLXAxCi0lcGF0Y2gzOTIgLXAxCi0lcGF0 Y2gzOTcgLXAxCi0lcGF0Y2g0MDMgLXAxCi0lcGF0Y2gzODkgLXAxCi0lcGF0Y2gzOTQgLXAxCi0l cGF0Y2g0MDcgLXAxCi0lcGF0Y2g0MDggLXAxCi0lcGF0Y2g0MTcgLXAxCi0lcGF0Y2g0NTkgLXAx Ci0lcGF0Y2g0NzAgLXAxCi0lcGF0Y2g0NzUgLXAxCi0lcGF0Y2g0MTUgLXAxCi0lcGF0Y2g1MTkg LXAxCi0lcGF0Y2g0OTAgLXAxCi0lcGF0Y2g0OTEgLXAxCi0lcGF0Y2g0OTYgLXAxCi0lcGF0Y2g1 MjYgLXAxCi0lcGF0Y2g1NDIgLXAxCi0lcGF0Y2g1NDcgLXAxCi0lcGF0Y2g1NDggLXAxCi0lcGF0 Y2g1NjUgLXAxCi0lcGF0Y2g1NjcgLXAxCi0lcGF0Y2g1NzkgLXAxCi0lcGF0Y2g2MTYgLXAxCi0l cGF0Y2g2MjcgLXAxCi0lcGF0Y2g2MzQgLXAxCi0lcGF0Y2g2NTMgLXAxCi0lcGF0Y2g2NjEgLXAx Ci0lcGF0Y2g2OTAgLXAxCi0lcGF0Y2g2OTggLXAxCi0lcGF0Y2g3MDMgLXAxCi0lcGF0Y2gxMjEw IC1wMQotJXBhdGNoMTIxMSAtcDEKLSVwYXRjaDEyMTIgLXAxCi0lcGF0Y2gxMjEzIC1wMQotJXBh dGNoMTIxNCAtcDEKLSVwYXRjaDEyMTUgLXAxCi0lcGF0Y2gxMjE2IC1wMQotJXBhdGNoMTIxNyAt cDEKLSVwYXRjaDEyMTggLXAxCi0lcGF0Y2gxMjE5IC1wMQotJXBhdGNoMTIyMCAtcDEKLSVwYXRj aDEyMjEgLXAxCi0lcGF0Y2gxMjIyIC1wMQotJXBhdGNoMTIyMyAtcDEKLSVwYXRjaDEyMjQgLXAx Ci0lcGF0Y2gxMjI1IC1wMQotJXBhdGNoMTIyNiAtcDEKLSVwYXRjaDEyMjcgLXAxCi0lcGF0Y2gx MjI4IC1wMQotJXBhdGNoMTIyOSAtcDEKLSVwYXRjaDEyMzAgLXAxCi0lcGF0Y2gxMjMxIC1wMQot JXBhdGNoMTIzMiAtcDEKLSVwYXRjaDEyMzMgLXAxCi0lcGF0Y2gxMjM0IC1wMQotJXBhdGNoMTIz NSAtcDEKLSVwYXRjaDEyMzYgLXAxCi0lcGF0Y2gxMjM3IC1wMQotJXBhdGNoMTIzOCAtcDEKLSVw YXRjaDEyMzkgLXAxCi0lcGF0Y2gxMjQwIC1wMQotJXBhdGNoMTI0MSAtcDEKLSVwYXRjaDEyNDIg LXAxCi0lcGF0Y2gxMjQzIC1wMQotJXBhdGNoMTI0NCAtcDEKLSVwYXRjaDgxMSAtcDEKLSVwYXRj aDgxMiAtcDEKLSVwYXRjaDgxMyAtcDEKLSVwYXRjaDgxNCAtcDEKLSVwYXRjaDgxNiAtcDEKLSVw YXRjaDgxNyAtcDEKLSVwYXRjaDgxOCAtcDEKLSVwYXRjaDgzMiAtcDEKLSVwYXRjaDg1MiAtcDEK LSVwYXRjaDg2MSAtcDEKLSVwYXRjaDg2MyAtcDEKLSVwYXRjaDg4NyAtcDEKLSVwYXRjaDg4OCAt cDEKLSVwYXRjaDkxOCAtcDEKLSVwYXRjaDkyNSAtcDEKLSVwYXRjaDkyNyAtcDEKLSVwYXRjaDk3 NyAtcDEKLSVwYXRjaDk3OCAtcDEKLSVwYXRjaDk4NCAtcDEKLSVwYXRjaDk5MSAtcDEKLSVwYXRj aDk5MiAtcDEKLSVwYXRjaDEwMjYgLXAxCi0lcGF0Y2gxMDUzIC1wMQotJXBhdGNoMTA1NiAtcDEK LSVwYXRjaDEwNzMgLXAxCi0lcGF0Y2g4NDggLXAxCisjIEFwcGx5IHBhdGNoZXMgZGVmaW5lZCBv biBfZ2RiLnNwZWMuUGF0Y2guaW5jbHVkZQorCisjIEluY2x1ZGUgdGhlIGF1dG8tZ2VuZXJhdGVk ICIlcGF0Y2giIGRpcmVjdGl2ZXMuCisjIFNlZSBSRUFETUUubG9jYWwtcGF0Y2hlcyBmb3IgbW9y ZSBkZXRhaWxzLgorJWluY2x1ZGUgX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKKwogJWlmIDAleyE/ ZWw2OjF9CiBmb3IgaSBpbiBcCiAgIGdkYi9weXRob24vbGliL2dkYi9GcmFtZVdyYXBwZXIucHkg XApAQCAtMTEyOSwyOCArNDMzLDcgQEAgZm9yIGkgaW4gXAogICA6ID4kaQogZG9uZQogJWVuZGlm Ci0lcGF0Y2g4MzMgLXAxCi0lcGF0Y2g2NDIgLXAxCi0lcGF0Y2gzMzcgLXAxCi0lcGF0Y2gzMzEg LXAxCi0lcGF0Y2gxMTEzIC1wMQotJXBhdGNoMTExOCAtcDEKLSVwYXRjaDExMjMgLXAxCi0lcGF0 Y2gxMTQzIC1wMQotJXBhdGNoMTE0OSAtcDEKLSVwYXRjaDExNTAgLXAxCi0lcGF0Y2gxMTUyIC1w MQotJXBhdGNoMTE1MyAtcDEKLSVwYXRjaDExNTUgLXAxCi0lcGF0Y2gxMjU1IC1wMQotJXBhdGNo MTI1NiAtcDEKLSVwYXRjaDEyNTcgLXAxCi0lcGF0Y2gxMjU4IC1wMQotJXBhdGNoMTI1OSAtcDEK LSVwYXRjaDEyNjEgLXAxCi0lcGF0Y2gxMjYyIC1wMQotCi0lcGF0Y2gxMDc1IC1wMQorCiAlaWYg MCV7P3JoZWw6MX0gJiYgMCV7P3JoZWx9IDw9IDcKICVwYXRjaDExMTkgLXAxCiAlcGF0Y2gxMDQ0 IC1wMQpAQCAtMTczMSw2ICsxMDE0LDEwIEBAIHRoZW4KIGZpCiAKICVjaGFuZ2Vsb2cKKyogVGh1 IERlYyAgNyAyMDE3IFNlcmdpbyBEdXJpZ2FuIEp1bmlvciA8c2VyZ2lvZGpAcmVkaGF0LmNvbT4g LSA4LjAuNTAuMjAxNzEyMDQtMzMuZmMyNgorLSBSZWJhc2UgdG8gRlNGIEdEQiA4LjAuNTAuMjAx NzEyMDQgKDguMXByZSkuCistIEltcGxlbWVudGVkIG5ldyBtZXRob2QgZm9yIGRlYWxpbmcgd2l0 aCBsb2NhbCBwYXRjaGVzLgorCiAqIE1vbiBEZWMgIDQgMjAxNyBTZXJnaW8gRHVyaWdhbiBKdW5p b3IgPHNlcmdpb2RqQHJlZGhhdC5jb20+IC0gOC4wLjEtMzIuZmMyNgogLSBDb252ZXJ0IGFsbCB0 aGUgcGF0Y2hlcyB0byAnZ2l0LWFtJyBmb3JtYXQuCiAKCmRpZmYgLS1naXQgYS9nZW5lcmF0ZS1n aXQtcmVwby1mcm9tLXBhdGNoZXMuc2ggYi9nZW5lcmF0ZS1naXQtcmVwby1mcm9tLXBhdGNoZXMu c2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGY2ODQ3NwotLS0gL2Rldi9u dWxsCisrKyBiL2dlbmVyYXRlLWdpdC1yZXBvLWZyb20tcGF0Y2hlcy5zaApAQCAtMCwwICsxLDQy IEBACisjIS9iaW4vc2gKKworIyBHZW5lcmljIGZ1bmN0aW9uIHRvIHByaW50IGFuIGVycm9yIG1l c3NhZ2UgYW5kIGJhaWwgb3V0LgorZGllICgpCit7CisgICAgZWNobyAkMSA+IC9kZXYvc3RkZXJy CisgICAgZXhpdCAxCit9CisKKyMgUHJpbnQgdXNhZ2UKK3VzYWdlICgpCit7CisgICAgY2F0IDw8 RU9GCiskMCAtLSBHZW5lcmF0ZSBhIGdpdCByZXBvc2l0b3J5IGZyb20gLnBhdGNoIGZpbGVzCisK K1VzYWdlOgorICAkMCA8UkVQT1NJVE9SWT4KKworPFJFUE9TSVRPUlk+IGlzIHRoZSBkaXJlY3Rv cnkgd2hlcmUgdGhlIHJlYmFzZSB3YXMgcGVyZm9ybWVkLiAgWW91CituZWVkIHRvIGNsb25lIHRo ZSByZXBvc2l0b3J5IGZpcnN0LgorCitPcHRpb25zIGFyZToKKworICAtaDogUHJpbnQgdGhpcyBt ZXNzYWdlCitFT0YKKyAgICBleGl0IDAKK30KKwordGVzdCAtZiBnZGIuc3BlYyB8fCBkaWUgIlRo aXMgc2NyaXB0IG5lZWRzIHRvIHJ1biBmcm9tIHRoZSBzYW1lIGRpcmVjdG9yeSBhcyBnZGIuc3Bl Yy4iCisKK3Rlc3QgLXogJDEgJiYgZGllICJZb3UgbmVlZCB0byBzcGVjaWZ5IHRoZSByZXBvc2l0 b3J5LiIKK3Rlc3QgIiQxIiA9ICItaCIgJiYgdXNhZ2UKKwordGVzdCAtZiBfZ2l0X3Vwc3RyZWFt X2NvbW1pdCB8fCBkaWUgIkNhbm5vdCBmaW5kIF9naXRfdXBzdHJlYW1fY29tbWl0IGZpbGUuIgor dGVzdCAtZiBfcGF0Y2hfb3JkZXIgfHwgZGllICJDYW5ub3QgZmluZCBfcGF0Y2hfb3JkZXIgZmls ZS4iCisKK2xhc3RfYW5jZXN0b3JfY29tbWl0PWBjYXQgX2dpdF91cHN0cmVhbV9jb21taXRgCitj ZCAkMQorZ2l0IGNoZWNrb3V0ICRsYXN0X2FuY2VzdG9yX2NvbW1pdAorZm9yIHAgaW4gYGNhdCAu Li9fcGF0Y2hfb3JkZXJgIDsgZG8KKyAgICBnaXQgYW0gLi4vJHAKK2RvbmUKCmRpZmYgLS1naXQg YS9nZW5lcmF0ZS1wYXRjaGVzLWZyb20tZ2l0LXJlcG8uc2ggYi9nZW5lcmF0ZS1wYXRjaGVzLWZy b20tZ2l0LXJlcG8uc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTI4ZjY5 YgotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlLXBhdGNoZXMtZnJvbS1naXQtcmVwby5zaApA QCAtMCwwICsxLDgxIEBACisjIS9iaW4vc2gKKworIyBHZW5lcmljIGZ1bmN0aW9uIHRvIHByaW50 IGFuIGVycm9yIG1lc3NhZ2UgYW5kIGJhaWwgb3V0LgorZGllICgpCit7CisgICAgZWNobyAkMSA+ IC9kZXYvc3RkZXJyCisgICAgZXhpdCAxCit9CisKKyMgUHJpbnQgdXNhZ2UKK3VzYWdlICgpCit7 CisgICAgY2F0IDw8RU9GCiskMCAtLSBHZW5lcmF0ZSAucGF0Y2ggZmlsZXMgZm9yIGEgUlBNIHBh Y2thZ2UgZnJvbSBhIGdpdCByZXBvc2l0b3J5CisKK1VzYWdlOgorICAkMCA8UkVQT1NJVE9SWT4g WzxDT01NSVRfT1JfVEFHPl0KKworPFJFUE9TSVRPUlk+IGlzIHRoZSBkaXJlY3Rvcnkgd2hlcmUg dGhlIHJlYmFzZSB3YXMgcGVyZm9ybWVkLgorCis8Q09NTUlUX09SX1RBRz4gaXMgdGhlIGNvbW1p dCBvciB0YWcgYWdhaW5zdCB3aGljaCB0aGUgcmViYXNlIHdhcworcGVyZm9ybWVkLiAgSXQgaXMg b3B0aW9uYWwsIGFuZCBpZiBub3QgcHJvdmlkZWQgIm9yaWdpbi9tYXN0ZXIiIHdpbGwKK2JlIHVz ZWQuICBUaGlzIHNjcmlwdCB3aWxsIHRoZW4gdXNlICdnaXQgbWVyZ2UtYmFzZScgdG8gZmluZCB0 aGUgbW9zdAorcmVjZW50IGNvbW1vbiBhbmNlc3RvciBiZXR3ZWVuIEhFQUQgYW5kIENPTU1JVF9P Ul9UQUcuCisKK09wdGlvbnMgYXJlOgorCisgIC1oOiBQcmludCB0aGlzIG1lc3NhZ2UKK0VPRgor ICAgIGV4aXQgMAorfQorCit0ZXN0IC1mIGdkYi5zcGVjIHx8IGRpZSAiVGhpcyBzY3JpcHQgbmVl ZHMgdG8gcnVuIGZyb20gdGhlIHNhbWUgZGlyZWN0b3J5IGFzIGdkYi5zcGVjLiIKKwordGVzdCAt eiAkMSAmJiBkaWUgIllvdSBuZWVkIHRvIHNwZWNpZnkgdGhlIHJlcG9zaXRvcnkuIgordGVzdCAi JDEiID0gIi1oIiAmJiB1c2FnZQorCitjb21taXRfb3JfdGFnPSJvcmlnaW4vbWFzdGVyIgoraWYg dGVzdCAhIC16ICIkMiIgOyB0aGVuCisgICAgY29tbWl0X29yX3RhZz0iJDIiCitmaQorCit0ZXN0 IC1kICQxIHx8IGRpZSAiJDEgaXMgbm90IGEgZGlyZWN0b3J5LiIKKworIyBSZW1vdmUgYWxsIHRo ZSBjdXJyZW50IHBhdGNoZXMKK2ZvciBmIGluIGBjYXQgX3BhdGNoX29yZGVyYCA7IGRvCisgICAg Z2l0IHJtIC1mICRmCitkb25lCisKK2NkICQxCitpZHg9MQorY29tbW9uX2FuY2VzdG9yPWBnaXQg bWVyZ2UtYmFzZSBIRUFEICRjb21taXRfb3JfdGFnYAorCit0ZXN0IC16ICIkY29tbW9uX2FuY2Vz dG9yIiAmJiBkaWUgIkNvdWxkIG5vdCBmaW5kIGNvbW1vbiBhbmNlc3RvciBiZXR3ZWVuIEhFQUQg YW5kICRjb21taXRfb3JfdGFnLiIKKwordGVtcF9QQVRDSF9maWxlPS90bXAvX2dkYi5zcGVjLlBh dGNoLmluY2x1ZGUKK3RlbXBfcGF0Y2hfZmlsZT0vdG1wL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRl Cit0ZW1wX3BhdGNoX29yZGVyX2ZpbGU9L3RtcC9fcGF0Y2hfb3JkZXIKKworcm0gLWYgJHRlbXBf UEFUQ0hfZmlsZSAkdGVtcF9wYXRjaF9maWxlICR0ZW1wX3BhdGNoX29yZGVyX2ZpbGUKKworZm9y IGMgaW4gYGdpdCByZXYtbGlzdCAtLXJldmVyc2UgJHtjb21tb25fYW5jZXN0b3J9Li5IRUFEYCA7 IGRvCisgICAgZm5hbWU9YGdpdCBsb2cgLTEgLS1wcmV0dHk9J2Zvcm1hdDolYicgJGMgfCBzZWQg LW4gJ3MvXkZpbGVOYW1lOiBcKC4qXCkkL1wxL3AnYAorICAgIHRlc3QgLXogJGZuYW1lICYmIGRp ZSAiQ291bGQgbm90IGRldGVybWluZSBGaWxlTmFtZSBvZiBjb21taXQgJGMuIgorICAgIGdpdCBm b3JtYXQtcGF0Y2ggLS1rZWVwIC0xIC0tc3Rkb3V0ICRjID4gLi4vJGZuYW1lCisgICAgKGNkIC4u ICYmIGdpdCBhZGQgJGZuYW1lKQorCisgICAgY2F0ID4+ICR0ZW1wX1BBVENIX2ZpbGUgPDxFT0YK K2BnaXQgbG9nIC0xIC0tcHJldHR5PSdmb3JtYXQ6JWInICRjIHwgc2VkIC1uICdzL147Oy8jL3An YAorRU9GCisgICAgcHJpbnRmICJQYXRjaCUwM2Q6ICVzXG5cbiIgJGlkeCAkZm5hbWUgPj4gJHRl bXBfUEFUQ0hfZmlsZQorICAgIHByaW50ZiAiJSVwYXRjaCUwM2QgLXAxXG4iICRpZHggPj4gJHRl bXBfcGF0Y2hfZmlsZQorICAgIGVjaG8gJGZuYW1lID4+ICR0ZW1wX3BhdGNoX29yZGVyX2ZpbGUK KyAgICBpZHg9YGV4cHIgJGlkeCArIDFgCitkb25lCisKK2NkIC4uCittdiAkdGVtcF9QQVRDSF9m aWxlIF9nZGIuc3BlYy5QYXRjaC5pbmNsdWRlCittdiAkdGVtcF9wYXRjaF9maWxlIF9nZGIuc3Bl Yy5wYXRjaC5pbmNsdWRlCittdiAkdGVtcF9wYXRjaF9vcmRlcl9maWxlIF9wYXRjaF9vcmRlcgor ZWNobyAiJGNvbW1vbl9hbmNlc3RvciIgPiBfZ2l0X3Vwc3RyZWFtX2NvbW1pdAoKZGlmZiAtLWdp dCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDYxZjAwYjIuLjM5NTcyY2IgMTAwNjQ0Ci0tLSBh L3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwzICsxLDQgQEAKIFNIQTUxMiAoZ2RiLWxpYnN0 ZGMrKy12My1weXRob24tNy4xLjEtMjAxNzA1MjYudGFyLnh6KSA9IDNkNTQwYjk5NTgxZmZhNGNm MjgxMGJlYzk3OWM5YTAxYTFmOGNlNzgyYjdjOGVmYjQ2YjQwZGQyNDIxZDYwY2RiMGU1MmI1M2M1 NDc3YzNlODZhNTc5NTdhMmExNDQ4OWY1YzI5ZGM1Mzg2ODczOGExZWY3OWU3OWNmNzZkMGExCiBT SEE1MTIgKHYxLjYuMS50YXIuZ3opID0gYzdjOWM4YmE3ODAyMWZmZjNmZGUxMmEyMTZmNTcyOWM2 MDMxMTE0ZTVhNzI3ZjQ5YjdmZjFhMzFjNTNiNWRkYmEyNGQxYjNhZWUyNTJkODI3OGVjZDFmYWZl NzhhNDRlZDA1OWMxMmI5ZWIyOWVjYTMzMDkzZTA3MjA2NzM0NjgKIFNIQTUxMiAoZ2RiLTguMC4x LnRhci54eikgPSA1ZWIzMjg5MTAwMzNmMDkxODA1OGJlMmY5MmNhZWJmMWU4ZGZjNmNhYTNjNzMw ZDk5ZDYyMTYyN2U1M2RlM2MxYjQzNzYxYzJmNjgzZDUzNTU1ODkzMjUzYzJmMDY3NjhjYmY1NmNk ZWEwNTFhM2QyOTFmZmI2Y2ZhZTg3YjVlMQorU0hBNTEyIChnZGItOC4wLjUwLjIwMTcxMjA0LnRh ci54eikgPSA0MmQxMDllYjcxMWEwZTA3NmEwODNjNGUxOGFkZTY5NDZmY2FjMjE5MjA5NmQ3MmRm ZDEwZWI0YjRmYmM3MmY5NGEwNmQ1ZTliMGI3MTVkMmQwM2FjMzM3NzUzMjVmZWVkZWEwMzg4YWQz MWNhOTQyODVhNjFmNDQwMjU5ZDc2ZAo=