From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id D781B20EC88 for ; Thu, 25 Apr 2024 18:14:53 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 4E20C1EC3E; Thu, 25 Apr 2024 18:14:54 +0200 (CEST) From: Fiona Ebner To: pve-devel@lists.proxmox.com Date: Thu, 25 Apr 2024 17:21:28 +0200 Message-Id: <20240425152129.143825-4-f.ebner@proxmox.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240425152129.143825-1-f.ebner@proxmox.com> References: <20240425152129.143825-1-f.ebner@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.441 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_LOTSOFHASH 0.25 Emails with lots of hash-like gibberish KAM_NUMSUBJECT 0.5 Subject ends in numbers excluding current years SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record X-Mailman-Approved-At: Thu, 25 Apr 2024 18:14:51 +0200 Subject: [pve-devel] [PATCH qemu 3/4] update submodule and patches to QEMU 8.2.2 X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" VGhpcyB2ZXJzaW9uIGluY2x1ZGVzIGJvdGggdGhlIEFpb0NvbnRleHQgbG9jayBhbmQgdGhlIGJs b2NrIGdyYXBoCmxvY2ssIHNvIHRoZXJlIG1pZ2h0IGJlIHNvbWUgZGVhZGxvY2tzIGx1cmtpbmcu IEl0J3Mgbm90IHBvc3NpYmxlIHRvCmRpc2FibGUgdGhlIGJsb2NrIGdyYXBoIGxvY2sgbGlrZSB3 YXMgZG9uZSBpbiBRRU1VIDguMSwgYmVjYXVzZSB0aGVyZQphcmUgbm8gY2hhbmdlcyBsaWtlIHRo ZSBmdW5jdGlvbiBiZHJ2X3NjaGVkdWxlX3VucmVmKCkgdGhhdCByZXF1aXJlCml0LiBRRU1VIDku MCB3aWxsIGZpbmFsbHkgZ2V0IHJpZCBvZiB0aGUgQWlvQ29udGV4dCBsb2NraW5nLgoKRHVyaW5n IGxpdmUtcmVzdG9yZSB3aXRoIGEgVmlydElPIFNDU0kgZHJpdmUgd2l0aCBpb3RocmVhZCB0aGVy ZSBpcyBhCmtub3duIHJhY3kgZGVhZGxvY2sgcmVsYXRlZCB0byB0aGUgQWlvQ29udGV4dCBsb2Nr LiBOb3QgbmV3IFsxXSwgYnV0Cm5vdCBzdXJlIGlmIG1vcmUgbGlrZWx5IG5vdy4gU2hvdWxkIGJl IGZpeGVkIGluIFFFTVUgOS4wLgoKVGhlIGJsb2NrIGdyYXBoIGxvY2sgY29tZXMgd2l0aCBhbm5v dGF0aW9ucyB0aGF0IGNhbiBiZSBjaGVja2VkIGJ5CmNsYW5nJ3MgVFNBLiBUaGlzIHJlcXVpcmVk IGNoYW5nZXMgdG8gdGhlIGJsb2NrIGRyaXZlcnMsIGkuZS4KYWxsb2MtdHJhY2ssIHBicywgemVy b2luaXQgYXMgd2VsbCBhcyB0YWtpbmcgdGhlIGFwcHJvcHJpYXRlIGxvY2tzCmluIHB2ZS1iYWNr dXAsIHNhdmV2bS1hc3luYywgdm1hLXJlYWRlci4KCkxvY2FsIHZhcmlhYmxlIHNoYWRvd2luZyBp cyBwcm9oaWJpdGVkIHZpYSBhIGNvbXBpbGVyIGZsYWcgbm93LApyZXF1aXJlZCBzbGlnaHQgYWRh cHRhdGlvbiBpbiB2bWEuYy4KCk1ham9yIGNoYW5nZXMgb25seSBhZmZlY3QgYWxsb2MtdHJhY2s6 CgoqIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBjYWxsIGEgZ2VuZXJhdGVkIGNvLXdyYXBwZXIgbGlr ZQogIGJkcnZfZ2V0X2luZm8oKSB3aGlsZSBob2xkaW5nIHRoZSBibG9jayBncmFwaCBsb2NrIGV4 Y2x1c2l2ZWx5IFswXSwKICB3aGljaCBkb2VzIGhhcHBlbiBkdXJpbmcgaW5pdGlhbGl6YXRpb24g b2YgYWxsb2MtdHJhY2sgd2hlbiB0aGUKICBiYWNraW5nIGhkIGlzIHNldCBhbmQgdGhlIHJlZnJl c2hfbGltaXRzIGRyaXZlciBjYWxsYmFjayBpcyBpbnZva2VkLgoKICBUaGUgYmRydl9nZXRfaW5m bygpIGNhbGwgdG8gZ2V0IHRoZSBjbHVzdGVyIHNpemUgaXMgbW92ZWQgdG8KICBkaXJlY3RseSBh ZnRlciBvcGVuaW5nIHRoZSBmaWxlIGNoaWxkIGluIHRyYWNrX29wZW4oKS4KCiAgVGhlIGltcG9y dGFudCB0aGluZyBpcyB0aGF0IGF0IGxlYXN0IHRoZSByZXF1ZXN0IGFsaWdubWVudCBmb3IgdGhl CiAgd3JpdGUgdGFyZ2V0IGlzIHVzZWQsIGJlY2F1c2UgdGhlbiB0aGUgUk1XIGN5Y2xlIGluIGJk cnZfcHdyaXRldgogIHdpbGwgZ2F0aGVyIGVub3VnaCBkYXRhIGZyb20gdGhlIGJhY2tpbmcgZmls ZS4gUGFydGlhbCBjbHVzdGVyCiAgYWxsb2NhdGlvbnMgaW4gdGhlIHRhcmdldCBhcmUgbm90IGEg ZnVuZGFtZW50YWwgaXNzdWUsIGJlY2F1c2UgdGhlCiAgZHJpdmVyIHJldHVybnMgaXRzIGFsbG9j YXRpb24gc3RhdHVzIGJhc2VkIG9uIHRoZSBiaXRtYXAsIHNvIGFueQogIG90aGVyIGRhdGEgdGhh dCBtYXBzIHRvIHRoZSBzYW1lIGNsdXN0ZXIgd2lsbCBzdGlsbCBiZSBjb3BpZWQgbGF0ZXIKICBi eSBhIHN0cmVhbSBqb2IgKG9yIGR1cmluZyB3cml0ZXMgdG8gdGhhdCBjbHVzdGVyKS4KCiogUmVw bGFjaW5nIHRoZSBub2RlIGNhbm5vdCBiZSBkb25lIGluIHRoZQogIHRyYWNrX2NvX2NoYW5nZV9i YWNraW5nX2ZpbGUoKSBjYWxsYmFjaywgYmVjYXVzZSBpdCBpcyBhIGNvcm91dGluZQogIGFuZCBj YW5ub3QgaG9sZCB0aGUgYmxvY2sgZ3JhcGggbG9jayBleGNsdXNpdmVseS4gU28gaXQgaXMgbW92 ZWQgdG8KICB0aGUgc3RyZWFtIGpvYiBpdHNlbGYgd2l0aCB0aGUgYXV0by1yZW1vdmUgb3B0aW9u IG5vdCBoYXZpbmcgYW4KICBlZmZlY3QgYW55bW9yZSAocWVtdS1zZXJ2ZXIgd291bGQgYWx3YXlz IHNldCBpdCBhbnl3YXlzKS4KCiAgSW4gdGhlIGZ1dHVyZSwgdGhlcmUgY291bGQgZWl0aGVyIGJl IGEgc3BlY2lhbCBvcHRpb24gZm9yIHRoZSBzdHJlYW0KICBqb2IsIG9yIG1heWJlIHRoZSB1cGNv bWluZyBibG9ja2Rldi1yZXBsYWNlIFFNUCBjb21tYW5kIGNhbiBiZSB1c2VkLgoKICBSZXBsYWNp bmcgdGhlIGJhY2tpbmcgY2hpbGQgaXMgYWN0dWFsbHkgYWxyZWFkeSBkb25lIGluIHRoZSBzdHJl YW0KICBqb2IsIHNvIG5vIG5lZWQgdG8gZG8gaXQgaW4gdGhlIHRyYWNrX2NvX2NoYW5nZV9iYWNr aW5nX2ZpbGUoKQogIGNhbGxiYWNrLiBJdCBhbHNvIGNhbm5vdCBiZSBjYWxsZWQgZnJvbSBhIGNv cm91dGluZS4gTG9va2luZyBhdCB0aGUKICBpbXBsZW1lbnRhdGlvbiBpbiB0aGUgcWNvdzIgZHJp dmVyLCBpdCBkb2Vzbid0IHNlZW0gdG8gYmUgaW50ZW5kZWQKICB0byBjaGFuZ2UgdGhlIGJhY2tp bmcgY2hpbGQgaXRzZWxmLCBqdXN0IHVwZGF0ZSBkcml2ZXItaW50ZXJuYWwKICBzdGF0ZS4KCk90 aGVyIGNoYW5nZXM6CgoqIGFsbG9jLXRyYWNrOiBFcnJvciBvdXQgZWFybHkgd2hlbiB1c2VkIHdp dGhvdXQgYXV0by1yZW1vdmUuIFNpbmNlCiAgcmVwbGFjaW5nIHRoZSBub2RlIG5vdyBoYXBwZW5z IGluIHRoZSBzdHJlYW0gam9iLCB3aGVyZSB0aGUgb3B0aW9uCiAgY2Fubm90IGJlIHJlYWQgZnJv bSAoaXQncyBpbnRlcm5hbCB0byB0aGUgZHJpdmVyKSwgaXQgd2lsbCBhbHdheXMgYmUKICB0cmVh dGVkIGFzICdvbicuIE1ha2VzIHN1cmUgdG8gaGF2ZSB1c2VycyBiZXNpZGUgcWVtdS1zZXJ2ZXIg bm90aWNlCiAgdGhlIGNoYW5nZSAoc2hvdWxkIHRoZXkgZXZlbiBleGlzdCkuIFRoZSBvcHRpb24g Y2FuIGJlIGZ1bGx5IGRyb3BwZWQKICBpbiB0aGUgZnV0dXJlIHdoaWxlIGFkZGluZyBhIHZlcnNp b24gZ3VhcmQgaW4gcWVtdS1zZXJ2ZXIuCgoqIGFsbG9jLXRyYWNrOiBBdm9pZCBzZWVtaW5nbHkg c3VwZXJmbHVvdXMgY2hpbGQgcGVybWlzc2lvbiB1cGRhdGUuCiAgRG9lc24ndCBzZWVtIG5lY2Vz c2FyeSBub3dhZGF5cyAobWF5YmUgYWZ0ZXIgY29tbWl0ICJhbGxvYy10cmFjazoKICBmaXggZGVh ZGxvY2sgZHVyaW5nIGRyb3AiIHdoZXJlIHRoZSBkcm9wcGluZyBpcyBub3QgcmVzY2hlZHVsZWQg YW5kCiAgZGVsYXllZCBhbnltb3JlIG9yIHNvbWUgdXBzdHJlYW0gY2hhbmdlKS4gUmVwbGFjaW5n IHRoZSBibG9jayBub2RlCiAgd2lsbCBhbHJlYWR5IHVwZGF0ZSB0aGUgcGVybWlzc2lvbnMgb2Yg dGhlIG5ldyBub2RlICh3aGljaCB3YXMgdGhlCiAgZmlsZSBjaGlsZCBiZWZvcmUpLiBTaG91bGQg dGhlcmUgcmVhbGx5IGJlIHNvbWUgaXNzdWUsIGluc3RlYWQgb2YKICBoYXZpbmcgYSBkcm9wIHN0 YXRlLCB0aGlzIGNvdWxkIGFsc28gYmUganVzdCBiYXNlZCBvZmYgdGhlIGZhY3QKICB3aGV0aGVy IHRoZXJlIGlzIHN0aWxsIGEgYmFja2luZyBjaGlsZC4KCiAgRHVtcGluZyB0aGUgY3VtdWxhdGl2 ZSAoc2hhcmVkKSBwZXJtaXNzaW9ucyBmb3IgdGhlIEJEUyB3aXRoIGEgZGVidWcKICBwcmludCB5 aWVsZHMgdGhlIHNhbWUgdmFsdWVzIGFmdGVyIHRoaXMgcGF0Y2ggYW5kIHdpdGggUUVNVSA4LjEs CiAgbmFtZWx5IDMgYW5kIDUuCgoqIFBCUyBibG9jayBkcml2ZXI6IGNvbXBpbGUgdW5jb25kaXRp b25hbGx5LiBQcm94bW94IFZFIGFsd2F5cyBuZWVkcwogIGl0IGFuZCBzb21ldGhpbmcgaW4gdGhl IGJ1aWxkIHByb2Nlc3MgY2hhbmdlZCB0byBtYWtlIGl0IG5vdCBlbmFibGVkCiAgYnkgZGVmYXVs dC4gUHJvYmFibHkgd291bGQgbmVlZCB0byBtb3ZlIHRoZSBidWlsZCBvcHRpb24gdG8gbWVzb24K ICBvdGhlcndpc2UuCgoqIGJhY2t1cDogam9iIHVucmVmZXJlbmNpbmcgZHVyaW5nIGNsZWFudXAg bmVlZHMgdG8gaGFwcGVuIG91dHNpZGUgb2YKICBjb3JvdXRpbmUsIHNvIGl0IHdhcyBtb3ZlZCB0 byBiZWZvcmUgaW52b2tpbmcgdGhlIGNsZWFuCgoqIG1pcnJvcjogQ2hlcnJ5LXBpY2sgc3RhYmxl IGZpeCB0byBhdm9pZCBwb3RlbnRpYWwgZGVhZGxvY2suCgoqIHNhdmV2bS1hc3luYzogbWlncmF0 ZV9pbml0IG5vdyBjYW4gZmFpbCwgc28gcHJvcGFnYXRlIHBvdGVudGlhbAogIGVycm9yLgoKKiBz YXZldm0tYXN5bmM6IGNvbXByZXNzaW9uIGNvdW50ZXJzIGFyZSBub3QgYWNjZXNzaWJsZSBvdXRz aWRlCiAgbWlncmF0aW9uL3JhbS1jb21wcmVzcyBub3csIHNvIGRyb3AgY29kZSB0aGF0IHByb3Bo eWxhY3RpY2FsbHkgc2V0CiAgaXQgdG8gemVyby4KClswXTogaHR0cHM6Ly9sb3JlLmtlcm5lbC5v cmcvcWVtdS1kZXZlbC8yMjBiZTM4My0zYjBkLTQ5MzgtYjU4NC02OWFkMjE0ZTVkNWRAcHJveG1v eC5jb20vClsxXTogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC9lMTNiNDg4ZS1i ZjEzLTQ0ZjItYWNjYS1lNzI0ZDE0ZjQzZmRAcHJveG1veC5jb20vCgpTaWduZWQtb2ZmLWJ5OiBG aW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNvbT4KLS0tCiAuLi5kLXN1cHBvcnQtZm9yLXN5 bmMtYml0bWFwLW1vZGUtbmV2ZXIucGF0Y2ggfCAgODggKysrKy0tLQogLi4uLXN1cHBvcnQtZm9y LWNvbmRpdGlvbmFsLWFuZC1hbHdheXMtLnBhdGNoIHwgIDE0ICstCiAuLi5jaGVjay1mb3ItYml0 bWFwLW1vZGUtd2l0aG91dC1iaXRtYXAucGF0Y2ggfCAgIDQgKy0KIC4uLi10by1iZHJ2X2RpcnR5 X2JpdG1hcF9tZXJnZV9pbnRlcm5hbC5wYXRjaCB8ICAgOCArLQogLi4uLzAwMDYtbWlycm9yLW1v dmUtc29tZS1jaGVja3MtdG8tcW1wLnBhdGNoIHwgIDE0ICstCiAuLi5yYWNlLXdpdGgtY2xpZW50 cy1kaXNjb25uZWN0aW5nLWVhcmwucGF0Y2ggfCAgIDIgKy0KIC4uLmlhbC1kZWFkbG9jay13aGVu LWRyYWluaW5nLWR1cmluZy10ci5wYXRjaCB8ICAxMCArLQogLi4uZGlydHktYml0bWFwLWZpeC1s b2FkaW5nLWJpdG1hcC13aGVuLnBhdGNoIHwgICA2ICstCiAuLi50LWdyYXBoLWxvY2stRGlzYWJs ZS1sb2NraW5nLWZvci1ub3cucGF0Y2ggfCAxNDAgLS0tLS0tLS0tLQogLi4ub3JrYXJvdW5kLVdp bmRvd3Mtbm90LWhhbmRsaW5nLW5hbWUucGF0Y2h9IHwgICA0ICstCiAuLi4td29ya2Fyb3VuZC1z bmFwc2hvdC1wZXJmb3JtYW5jZS1yZWcucGF0Y2ggfCAgNTcgLS0tLQogLi4uaW5jcmVhc2UtTk9G SUxFLXNvZnQtbGltaXQtb24tUE9TSVgucGF0Y2h9IHwgIDI4ICstCiAuLi5hbGwtam9iX3BhdXNl X3BvaW50LXVuZGVyLWdyYXBoLWxvY2sucGF0Y2ggfCAgNzkgKysrKysrCiAuLi5zZ3hfZXBjX2dl dF9zZWN0aW9uLXN0dWItaXMtcmVhY2hhYmwucGF0Y2ggfCAgMzQgLS0tCiAuLi5rLXR5cGUtYXMt bm90LWF2YWlsYWJsZS13aGVuLXRoZXJlLWkucGF0Y2ggfCAgODYgLS0tLS0tLQogLi4udHRhY2gt ZXZlbnQtdnEtbm90aWZpZXItd2l0aC1ub19wb2xsLnBhdGNoIHwgIDY1IC0tLS0tCiAuLi4tUmUt ZW5hYmxlLW5vdGlmaWNhdGlvbnMtYWZ0ZXItZHJhaW4ucGF0Y2ggfCAxMjUgLS0tLS0tLS0tCiAu Li4tdXNpbmctaW9ldmVudGZkLXN0YXRlLWluLWlycWZkLWNvbmQucGF0Y2ggfCAgNjEgLS0tLS0K IC4uLmstZmlsZS1jaGFuZ2UtbG9ja2luZy1kZWZhdWx0LXRvLW9mZi5wYXRjaCB8ICAgMiArLQog Li4uZGp1c3QtbmV0d29yay1zY3JpcHQtcGF0aC10by1ldGMta3ZtLnBhdGNoIHwgICA0ICstCiAu Li5oZS1DUFUtbW9kZWwtdG8ta3ZtNjQtMzItaW5zdGVhZC1vZi0ucGF0Y2ggfCAgIDQgKy0KIC4u LnVpLXNwaWNlLWRlZmF1bHQtdG8tcHZlLWNlcnRpZmljYXRlcy5wYXRjaCB8ICAgMiArLQogLi4u ZXJmcy1uby1kZWZhdWx0LWxvZ2ZpbGUtaWYtZGFlbW9uaXplLnBhdGNoIHwgICAyICstCiAuLi5s b2NrLXJiZC1kaXNhYmxlLXJiZF9jYWNoZV93cml0ZXRocm8ucGF0Y2ggfCAgIDIgKy0KIC4uLlBW RS1VcC1nbHVzdGVyZnMtYWxsb3ctcGFydGlhbC1yZWFkcy5wYXRjaCB8ICAxMCArLQogLi4ucmV0 dXJuLXN1Y2Nlc3Mtb24taW5mby13aXRob3V0LXNuYXBzLnBhdGNoIHwgICA0ICstCiAuLi5kZC1h ZGQtb3NpemUtYW5kLXJlYWQtZnJvbS10by1zdGRpbi0ucGF0Y2ggfCAgMTQgKy0KIC4uLkUtVXAt cWVtdS1pbWctZGQtYWRkLWlzaXplLXBhcmFtZXRlci5wYXRjaCB8ICAxNCArLQogLi4uUFZFLVVw LXFlbXUtaW1nLWRkLWFkZC1uLXNraXBfY3JlYXRlLnBhdGNoIHwgIDIwICstCiAuLi4tYWRkLWwt b3B0aW9uLWZvci1sb2FkaW5nLWEtc25hcHNob3QucGF0Y2ggfCAgMjAgKy0KIC4uLnZpcnRpby1i YWxsb29uLWltcHJvdmUtcXVlcnktYmFsbG9vbi5wYXRjaCB8ICAxMCArLQogLi4uLzAwMTQtUFZF LXFhcGktbW9kaWZ5LXF1ZXJ5LW1hY2hpbmVzLnBhdGNoIHwgICA2ICstCiAuLi4vMDAxNS1QVkUt cWFwaS1tb2RpZnktc3BpY2UtcXVlcnkucGF0Y2ggICAgfCAgIDYgKy0KIC4uLm5uZWwtaW1wbGVt ZW50YXRpb24tZm9yLXNhdmV2bS1hc3luYy5wYXRjaCB8ICAxMyArLQogLi4uYXN5bmMtZm9yLWJh Y2tncm91bmQtc3RhdGUtc25hcHNob3RzLnBhdGNoIHwgIDgzICsrKy0tLQogLi4uYWRkLW9wdGlv bmFsLWJ1ZmZlci1zaXplLXRvLVFFTVVGaWxlLnBhdGNoIHwgIDYzICsrLS0tCiAuLi5hZGQtdGhl LXplcm9pbml0LWJsb2NrLWRyaXZlci1maWx0ZXIucGF0Y2ggfCAgNzEgKysrLS0KIC4uLi1BZGQt ZHVtbXktaWQtY29tbWFuZC1saW5lLXBhcmFtZXRlci5wYXRjaCB8ICAyMCArLQogLi4udC10YXJn ZXQtaTM4Ni1kaXNhYmxlLUxJTlQwLWFmdGVyLXJlLnBhdGNoIHwgICA0ICstCiAuLi5sZS1wb3Np eC1tYWtlLWxvY2tpbmctb3B0aW9uby1vbi1jcmUucGF0Y2ggfCAgIDYgKy0KIC4uLnNlZC1iYWxs b29uLXFlbXUtNC0wLWNvbmZpZy1zaXplLWZhbC5wYXRjaCB8ICAgNCArLQogLi4uRS1BbGxvdy12 ZXJzaW9uLWNvZGUtaW4tbWFjaGluZS10eXBlLnBhdGNoIHwgIDI4ICstCiAuLi5lLWJjcy1iaXRt YXAtaW5pdGlhbGl6YXRpb24tdG8tam9iLWMucGF0Y2ggfCAgIDYgKy0KIC4uLlZFLUJhY2t1cC1h ZGQtdm1hLWJhY2t1cC1mb3JtYXQtY29kZS5wYXRjaCB8ICA1MCArKy0tCiAuLi4tQmFja3VwLWFk ZC1iYWNrdXAtZHVtcC1ibG9jay1kcml2ZXIucGF0Y2ggfCAgMTQgKy0KIC4uLmQtc2VxdWVudGlh bC1qb2ItdHJhbnNhY3Rpb24tc3VwcG9ydC5wYXRjaCB8ICAxMiArLQogLi4uY2t1cC1Qcm94bW94 LWJhY2t1cC1wYXRjaGVzLWZvci1RRU1VLnBhdGNoIHwgIDY2ICsrKy0tCiAuLi5lc3RvcmUtbmV3 LWNvbW1hbmQtdG8tcmVzdG9yZS1mcm9tLXAucGF0Y2ggfCAgIDQgKy0KIC4uLmstZHJpdmVyLXRv LW1hcC1iYWNrdXAtYXJjaGl2ZXMtaW50by5wYXRjaCB8ICA5MSArKy0tLS0tCiAuLi5jdC1zdGRl cnItdG8tam91cm5hbC13aGVuLWRhZW1vbml6ZWQucGF0Y2ggfCAgMTQgKy0KIC4uLmlncmF0ZS1k aXJ0eS1iaXRtYXAtc3RhdGUtdmlhLXNhdmV2bS5wYXRjaCB8ICAyMCArLQogLi4uZGlydHktYml0 bWFwLW1pZ3JhdGUtb3RoZXItYml0bWFwcy1lLnBhdGNoIHwgICAyICstCiAuLi5hbGwtYmFjay10 by1vcGVuLWlzY3NpLWluaXRpYXRvcm5hbWUucGF0Y2ggfCAgIDQgKy0KIC4uLlBWRS1ibG9jay1z dHJlYW0taW5jcmVhc2UtY2h1bmstc2l6ZS5wYXRjaCB8ICAgMiArLQogLi4uYWNjZXB0LU5VTEwt cWlvdi1pbi1iZHJ2X3BhZF9yZXF1ZXN0LnBhdGNoIHwgICA0ICstCiAuLi4vMDAzOS1ibG9jay1h ZGQtYWxsb2MtdHJhY2stZHJpdmVyLnBhdGNoICAgfCAyNDMgKysrKysrKysrKystLS0tLS0tCiAu Li4tcmJkLXdvcmthcm91bmQtZm9yLWNlcGgtaXNzdWUtNTM3ODQucGF0Y2ggfCAgIDggKy0KIC4u Li1maXgtaGFuZGxpbmctb2YtaG9sZXMtaW4tLmJkcnZfY29fYi5wYXRjaCB8ICAgNCArLQogLi4u ay1yYmQtaW1wbGVtZW50LWJkcnZfY29fYmxvY2tfc3RhdHVzLnBhdGNoIHwgICA2ICstCiAuLi5y cm9yLW91dC13aGVuLWF1dG8tcmVtb3ZlLWlzLW5vdC1zZXQucGF0Y2ggfCAgNDMgKysrKwogLi4u YWxsb2MtdHJhY2stZml4LWRlYWRsb2NrLWR1cmluZy1kcm9wLnBhdGNoIHwgMTU0IC0tLS0tLS0t LS0tCiAuLi5kLXNlZW1pbmdseS1zdXBlcmZsdW91cy1jaGlsZC1wZXJtaXMucGF0Y2ggfCAgODQg KysrKysrCiAuLi5hcHNob3RzLWhvbGQtdGhlLUJRTC1kdXJpbmctc2V0dXAtY2EucGF0Y2ggfCAx OTEgLS0tLS0tLS0tLS0tLS0KIC4uLmNrLWNvcHktYmVmb3JlLXdyaXRlLWZpeC1wZXJtaXNzaW9u LnBhdGNofSB8ICAgNCArLQogLi4udm0tYXN5bmMtZG9uLXQtaG9sZC1CUUwtZHVyaW5nLXNldHVw LnBhdGNoIHwgIDMwIC0tLQogLi4uLXdyaXRlLXN1cHBvcnQtdW5saWduZWQtc25hcHNob3QtZGku cGF0Y2h9IHwgICA0ICstCiAuLi4td3JpdGUtY3JlYXRlLWJsb2NrX2NvcHktYml0bWFwLWluLS5w YXRjaH0gfCAgMTAgKy0KIC4uLmJhY2t1cC1hZGQtZGlzY2FyZC1zb3VyY2UtcGFyYW1ldGVyLnBh dGNofSB8ICA0OCArKy0tCiAuLi4tYWxsb3ctc3BlY2lmeWluZy1taW5pbXVtLWNsdXN0ZXItcy5w YXRjaH0gfCAgMjAgKy0KIC4uLm0tY2x1c3Rlci1zaXplLXRvLXBlcmZvcm1hbmNlLW9wdGlvLnBh dGNofSB8ICAxOCArLQogLi4uMDA1MS1QVkUtYmFja3VwLWFkZC1mbGVlY2luZy1vcHRpb24ucGF0 Y2h9IHwgIDUxICsrLS0KIGRlYmlhbi9wYXRjaGVzL3NlcmllcyAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAzMSArLS0KIHFlbXUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgMiArLQogNzMgZmlsZXMgY2hhbmdlZCwgOTAxIGluc2VydGlvbnMoKyksIDE1NzYg ZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAw NS1SZXZlcnQtUmV2ZXJ0LWdyYXBoLWxvY2stRGlzYWJsZS1sb2NraW5nLWZvci1ub3cucGF0Y2gK IHJlbmFtZSBkZWJpYW4vcGF0Y2hlcy9leHRyYS97MDAwNy1SZXZlcnQteDg2LWFjcGktd29ya2Fy b3VuZC1XaW5kb3dzLW5vdC1oYW5kbGluZy1uYW1lLnBhdGNoID0+IDAwMDUtUmV2ZXJ0LXg4Ni1h Y3BpLXdvcmthcm91bmQtV2luZG93cy1ub3QtaGFuZGxpbmctbmFtZS5wYXRjaH0gKDk1JSkKIGRl bGV0ZSBtb2RlIDEwMDY0NCBkZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDA2LW1pZ3JhdGlvbi1zdGF0 ZXMtd29ya2Fyb3VuZC1zbmFwc2hvdC1wZXJmb3JtYW5jZS1yZWcucGF0Y2gKIHJlbmFtZSBkZWJp YW4vcGF0Y2hlcy9leHRyYS97MDAxMi1xZW11X2luaXQtaW5jcmVhc2UtTk9GSUxFLXNvZnQtbGlt aXQtb24tUE9TSVgucGF0Y2ggPT4gMDAwNi1xZW11X2luaXQtaW5jcmVhc2UtTk9GSUxFLXNvZnQt bGltaXQtb24tUE9TSVgucGF0Y2h9ICg4MyUpCiBjcmVhdGUgbW9kZSAxMDA2NDQgZGViaWFuL3Bh dGNoZXMvZXh0cmEvMDAwNy1taXJyb3ItRG9uLXQtY2FsbC1qb2JfcGF1c2VfcG9pbnQtdW5kZXIt Z3JhcGgtbG9jay5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IGRlYmlhbi9wYXRjaGVzL2V4dHJh LzAwMDgtdGFyZ2V0LWkzODYtdGhlLXNneF9lcGNfZ2V0X3NlY3Rpb24tc3R1Yi1pcy1yZWFjaGFi bC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IGRlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDktdWkt Y2xpcGJvYXJkLW1hcmstdHlwZS1hcy1ub3QtYXZhaWxhYmxlLXdoZW4tdGhlcmUtaS5wYXRjaAog ZGVsZXRlIG1vZGUgMTAwNjQ0IGRlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMTAtdmlydGlvLXNjc2kt QXR0YWNoLWV2ZW50LXZxLW5vdGlmaWVyLXdpdGgtbm9fcG9sbC5wYXRjaAogZGVsZXRlIG1vZGUg MTAwNjQ0IGRlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMTEtdmlydGlvLVJlLWVuYWJsZS1ub3RpZmlj YXRpb25zLWFmdGVyLWRyYWluLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgZGViaWFuL3BhdGNo ZXMvZXh0cmEvMDAxMy12aXJ0aW8tYmxrLWF2b2lkLXVzaW5nLWlvZXZlbnRmZC1zdGF0ZS1pbi1p cnFmZC1jb25kLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgZGViaWFuL3BhdGNoZXMvcHZlLzAw NDMtYWxsb2MtdHJhY2stZXJyb3Itb3V0LXdoZW4tYXV0by1yZW1vdmUtaXMtbm90LXNldC5wYXRj aAogZGVsZXRlIG1vZGUgMTAwNjQ0IGRlYmlhbi9wYXRjaGVzL3B2ZS8wMDQzLWFsbG9jLXRyYWNr LWZpeC1kZWFkbG9jay1kdXJpbmctZHJvcC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRlYmlh bi9wYXRjaGVzL3B2ZS8wMDQ0LWFsbG9jLXRyYWNrLWF2b2lkLXNlZW1pbmdseS1zdXBlcmZsdW91 cy1jaGlsZC1wZXJtaXMucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBkZWJpYW4vcGF0Y2hlcy9w dmUvMDA0NC1taWdyYXRpb24tZm9yLXNuYXBzaG90cy1ob2xkLXRoZS1CUUwtZHVyaW5nLXNldHVw LWNhLnBhdGNoCiByZW5hbWUgZGViaWFuL3BhdGNoZXMvcHZlL3swMDQ2LWJsb2NrLWNvcHktYmVm b3JlLXdyaXRlLWZpeC1wZXJtaXNzaW9uLnBhdGNoID0+IDAwNDUtYmxvY2stY29weS1iZWZvcmUt d3JpdGUtZml4LXBlcm1pc3Npb24ucGF0Y2h9ICg5NCUpCiBkZWxldGUgbW9kZSAxMDA2NDQgZGVi aWFuL3BhdGNoZXMvcHZlLzAwNDUtc2F2ZXZtLWFzeW5jLWRvbi10LWhvbGQtQlFMLWR1cmluZy1z ZXR1cC5wYXRjaAogcmVuYW1lIGRlYmlhbi9wYXRjaGVzL3B2ZS97MDA0Ny1ibG9jay1jb3B5LWJl Zm9yZS13cml0ZS1zdXBwb3J0LXVubGlnbmVkLXNuYXBzaG90LWRpLnBhdGNoID0+IDAwNDYtYmxv Y2stY29weS1iZWZvcmUtd3JpdGUtc3VwcG9ydC11bmxpZ25lZC1zbmFwc2hvdC1kaS5wYXRjaH0g KDk0JSkKIHJlbmFtZSBkZWJpYW4vcGF0Y2hlcy9wdmUvezAwNDgtYmxvY2stY29weS1iZWZvcmUt d3JpdGUtY3JlYXRlLWJsb2NrX2NvcHktYml0bWFwLWluLS5wYXRjaCA9PiAwMDQ3LWJsb2NrLWNv cHktYmVmb3JlLXdyaXRlLWNyZWF0ZS1ibG9ja19jb3B5LWJpdG1hcC1pbi0ucGF0Y2h9ICg5NyUp CiByZW5hbWUgZGViaWFuL3BhdGNoZXMvcHZlL3swMDQ5LXFhcGktYmxvY2tkZXYtYmFja3VwLWFk ZC1kaXNjYXJkLXNvdXJjZS1wYXJhbWV0ZXIucGF0Y2ggPT4gMDA0OC1xYXBpLWJsb2NrZGV2LWJh Y2t1cC1hZGQtZGlzY2FyZC1zb3VyY2UtcGFyYW1ldGVyLnBhdGNofSAoODklKQogcmVuYW1lIGRl Ymlhbi9wYXRjaGVzL3B2ZS97MDA1MC1jb3B5LWJlZm9yZS13cml0ZS1hbGxvdy1zcGVjaWZ5aW5n LW1pbmltdW0tY2x1c3Rlci1zLnBhdGNoID0+IDAwNDktY29weS1iZWZvcmUtd3JpdGUtYWxsb3ct c3BlY2lmeWluZy1taW5pbXVtLWNsdXN0ZXItcy5wYXRjaH0gKDkyJSkKIHJlbmFtZSBkZWJpYW4v cGF0Y2hlcy9wdmUvezAwNTEtYmFja3VwLWFkZC1taW5pbXVtLWNsdXN0ZXItc2l6ZS10by1wZXJm b3JtYW5jZS1vcHRpby5wYXRjaCA9PiAwMDUwLWJhY2t1cC1hZGQtbWluaW11bS1jbHVzdGVyLXNp emUtdG8tcGVyZm9ybWFuY2Utb3B0aW8ucGF0Y2h9ICg5MCUpCiByZW5hbWUgZGViaWFuL3BhdGNo ZXMvcHZlL3swMDUyLVBWRS1iYWNrdXAtYWRkLWZsZWVjaW5nLW9wdGlvbi5wYXRjaCA9PiAwMDUx LVBWRS1iYWNrdXAtYWRkLWZsZWVjaW5nLW9wdGlvbi5wYXRjaH0gKDkxJSkKCmRpZmYgLS1naXQg YS9kZWJpYW4vcGF0Y2hlcy9iaXRtYXAtbWlycm9yLzAwMDEtZHJpdmUtbWlycm9yLWFkZC1zdXBw b3J0LWZvci1zeW5jLWJpdG1hcC1tb2RlLW5ldmVyLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvYml0 bWFwLW1pcnJvci8wMDAxLWRyaXZlLW1pcnJvci1hZGQtc3VwcG9ydC1mb3Itc3luYy1iaXRtYXAt bW9kZS1uZXZlci5wYXRjaAppbmRleCBjOWM2M2I1Li5iZWQ3MzNkIDEwMDY0NAotLS0gYS9kZWJp YW4vcGF0Y2hlcy9iaXRtYXAtbWlycm9yLzAwMDEtZHJpdmUtbWlycm9yLWFkZC1zdXBwb3J0LWZv ci1zeW5jLWJpdG1hcC1tb2RlLW5ldmVyLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL2JpdG1h cC1taXJyb3IvMDAwMS1kcml2ZS1taXJyb3ItYWRkLXN1cHBvcnQtZm9yLXN5bmMtYml0bWFwLW1v ZGUtbmV2ZXIucGF0Y2gKQEAgLTI3LDE4ICsyNywxOCBAQCBTaWduZWQtb2ZmLWJ5OiBNYSBIYW9j b25nIDxtYWhhb2NvbmdAZGlkaWNodXhpbmcuY29tPgogU2lnbmVkLW9mZi1ieTogSm9obiBTbm93 IDxqc25vd0ByZWRoYXQuY29tPgogU2lnbmVkLW9mZi1ieTogRmFiaWFuIEdyw7xuYmljaGxlciA8 Zi5ncnVlbmJpY2hsZXJAcHJveG1veC5jb20+CiBTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgTGFtcHJl Y2h0IDx0LmxhbXByZWNodEBwcm94bW94LmNvbT4KLVtGRTogcmViYXNlZCBmb3IgOC4xLjFdCitb RkU6IHJlYmFzZWQgZm9yIDguMi4yXQogU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJu ZXJAcHJveG1veC5jb20+CiAtLS0KLSBibG9jay9taXJyb3IuYyAgICAgICAgICAgICAgICAgICAg ICAgICB8IDk4ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tCisgYmxvY2svbWlycm9yLmMgICAg ICAgICAgICAgICAgICAgICAgICAgfCA5OSArKysrKysrKysrKysrKysrKysrKy0tLS0tLQogIGJs b2NrZGV2LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzggKysrKysrKysrLQogIGlu Y2x1ZGUvYmxvY2svYmxvY2tfaW50LWdsb2JhbC1zdGF0ZS5oIHwgIDQgKy0KICBxYXBpL2Jsb2Nr LWNvcmUuanNvbiAgICAgICAgICAgICAgICAgICB8IDI1ICsrKysrKy0KICB0ZXN0cy91bml0L3Rl c3QtYmxvY2staW90aHJlYWQuYyAgICAgICB8ICA0ICstCi0gNSBmaWxlcyBjaGFuZ2VkLCAxNDIg aW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCisgNSBmaWxlcyBjaGFuZ2VkLCAxNDIgaW5z ZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9ibG9jay9taXJyb3Iu YyBiL2Jsb2NrL21pcnJvci5jCi1pbmRleCBkM2NhY2QxNzA4Li4xZmY0MmM4YWYxIDEwMDY0NAor aW5kZXggYWJiZGRiMzllNC4uZWQxNGM4YjQ5OCAxMDA2NDQKIC0tLSBhL2Jsb2NrL21pcnJvci5j CiArKysgYi9ibG9jay9taXJyb3IuYwogQEAgLTUxLDcgKzUxLDcgQEAgdHlwZWRlZiBzdHJ1Y3Qg TWlycm9yQmxvY2tKb2IgewpAQCAtNTAsNyArNTAsNyBAQCBpbmRleCBkM2NhY2QxNzA4Li4xZmY0 MmM4YWYxIDEwMDY0NAogICAgICBCbG9ja01pcnJvckJhY2tpbmdNb2RlIGJhY2tpbmdfbW9kZTsK ICAgICAgLyogV2hldGhlciB0aGUgdGFyZ2V0IGltYWdlIHJlcXVpcmVzIGV4cGxpY2l0IHplcm8t aW5pdGlhbGl6YXRpb24gKi8KICAgICAgYm9vbCB6ZXJvX3RhcmdldDsKLUBAIC02NSw2ICs2NSw4 IEBAIHR5cGVkZWYgc3RydWN0IE1pcnJvckJsb2NrSm9iIHsKK0BAIC03Myw2ICs3Myw4IEBAIHR5 cGVkZWYgc3RydWN0IE1pcnJvckJsb2NrSm9iIHsKICAgICAgc2l6ZV90IGJ1Zl9zaXplOwogICAg ICBpbnQ2NF90IGJkZXZfbGVuZ3RoOwogICAgICB1bnNpZ25lZCBsb25nICpjb3dfYml0bWFwOwpA QCAtNTksOSArNTksOSBAQCBpbmRleCBkM2NhY2QxNzA4Li4xZmY0MmM4YWYxIDEwMDY0NAogICAg ICBCZHJ2RGlydHlCaXRtYXAgKmRpcnR5X2JpdG1hcDsKICAgICAgQmRydkRpcnR5Qml0bWFwSXRl ciAqZGJpOwogICAgICB1aW50OF90ICpidWY7Ci1AQCAtNzA1LDcgKzcwNyw4IEBAIHN0YXRpYyBp bnQgbWlycm9yX2V4aXRfY29tbW9uKEpvYiAqam9iKQotICAgICBiZHJ2X2NoaWxkX3JlZnJlc2hf cGVybXMobWlycm9yX3RvcF9icywgbWlycm9yX3RvcF9icy0+YmFja2luZywKK0BAIC03MjQsNyAr NzI2LDggQEAgc3RhdGljIGludCBtaXJyb3JfZXhpdF9jb21tb24oSm9iICpqb2IpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmZXJyb3JfYWJvcnQpOworIAogICAgICBpZiAoIWFib3J0 ICYmIHMtPmJhY2tpbmdfbW9kZSA9PSBNSVJST1JfU09VUkNFX0JBQ0tJTkdfQ0hBSU4pIHsKIC0g ICAgICAgIEJsb2NrRHJpdmVyU3RhdGUgKmJhY2tpbmcgPSBzLT5pc19ub25lX21vZGUgPyBzcmMg OiBzLT5iYXNlOwogKyAgICAgICAgQmxvY2tEcml2ZXJTdGF0ZSAqYmFja2luZzsKQEAgLTY5LDcg KzY5LDcgQEAgaW5kZXggZDNjYWNkMTcwOC4uMWZmNDJjOGFmMSAxMDA2NDQKICAgICAgICAgIEJs b2NrRHJpdmVyU3RhdGUgKnVuZmlsdGVyZWRfdGFyZ2V0ID0gYmRydl9za2lwX2ZpbHRlcnModGFy Z2V0X2JzKTsKICAKICAgICAgICAgIGlmIChiZHJ2X2Nvd19icyh1bmZpbHRlcmVkX3RhcmdldCkg IT0gYmFja2luZykgewotQEAgLTgwOSw2ICs4MTIsMTYgQEAgc3RhdGljIHZvaWQgbWlycm9yX2Fi b3J0KEpvYiAqam9iKQorQEAgLTgzMSw2ICs4MzQsMTYgQEAgc3RhdGljIHZvaWQgbWlycm9yX2Fi b3J0KEpvYiAqam9iKQogICAgICBhc3NlcnQocmV0ID09IDApOwogIH0KICAKQEAgLTg2LDcgKzg2 LDcgQEAgaW5kZXggZDNjYWNkMTcwOC4uMWZmNDJjOGFmMSAxMDA2NDQKICBzdGF0aWMgdm9pZCBj b3JvdXRpbmVfZm4gbWlycm9yX3Rocm90dGxlKE1pcnJvckJsb2NrSm9iICpzKQogIHsKICAgICAg aW50NjRfdCBub3cgPSBxZW11X2Nsb2NrX2dldF9ucyhRRU1VX0NMT0NLX1JFQUxUSU1FKTsKLUBA IC05OTcsNyArMTAxMCw4IEBAIHN0YXRpYyBpbnQgY29yb3V0aW5lX2ZuIG1pcnJvcl9ydW4oSm9i ICpqb2IsIEVycm9yICoqZXJycCkKK0BAIC0xMDI3LDcgKzEwNDAsOCBAQCBzdGF0aWMgaW50IGNv cm91dGluZV9mbiBtaXJyb3JfcnVuKEpvYiAqam9iLCBFcnJvciAqKmVycnApCiAgICAgIG1pcnJv cl9mcmVlX2luaXQocyk7CiAgCiAgICAgIHMtPmxhc3RfcGF1c2VfbnMgPSBxZW11X2Nsb2NrX2dl dF9ucyhRRU1VX0NMT0NLX1JFQUxUSU1FKTsKQEAgLTk2LDcgKzk2LDcgQEAgaW5kZXggZDNjYWNk MTcwOC4uMWZmNDJjOGFmMSAxMDA2NDQKICAgICAgICAgIHJldCA9IG1pcnJvcl9kaXJ0eV9pbml0 KHMpOwogICAgICAgICAgaWYgKHJldCA8IDAgfHwgam9iX2lzX2NhbmNlbGxlZCgmcy0+Y29tbW9u LmpvYikpIHsKICAgICAgICAgICAgICBnb3RvIGltbWVkaWF0ZV9leGl0OwotQEAgLTEyNTEsNiAr MTI2NSw3IEBAIHN0YXRpYyBjb25zdCBCbG9ja0pvYkRyaXZlciBtaXJyb3Jfam9iX2RyaXZlciA9 IHsKK0BAIC0xMzIzLDYgKzEzMzcsNyBAQCBzdGF0aWMgY29uc3QgQmxvY2tKb2JEcml2ZXIgbWly cm9yX2pvYl9kcml2ZXIgPSB7CiAgICAgICAgICAucnVuICAgICAgICAgICAgICAgICAgICA9IG1p cnJvcl9ydW4sCiAgICAgICAgICAucHJlcGFyZSAgICAgICAgICAgICAgICA9IG1pcnJvcl9wcmVw YXJlLAogICAgICAgICAgLmFib3J0ICAgICAgICAgICAgICAgICAgPSBtaXJyb3JfYWJvcnQsCkBA IC0xMDQsNyArMTA0LDcgQEAgaW5kZXggZDNjYWNkMTcwOC4uMWZmNDJjOGFmMSAxMDA2NDQKICAg ICAgICAgIC5wYXVzZSAgICAgICAgICAgICAgICAgID0gbWlycm9yX3BhdXNlLAogICAgICAgICAg LmNvbXBsZXRlICAgICAgICAgICAgICAgPSBtaXJyb3JfY29tcGxldGUsCiAgICAgICAgICAuY2Fu Y2VsICAgICAgICAgICAgICAgICA9IG1pcnJvcl9jYW5jZWwsCi1AQCAtMTI2Nyw2ICsxMjgyLDcg QEAgc3RhdGljIGNvbnN0IEJsb2NrSm9iRHJpdmVyIGNvbW1pdF9hY3RpdmVfam9iX2RyaXZlciA9 IHsKK0BAIC0xMzQxLDYgKzEzNTYsNyBAQCBzdGF0aWMgY29uc3QgQmxvY2tKb2JEcml2ZXIgY29t bWl0X2FjdGl2ZV9qb2JfZHJpdmVyID0gewogICAgICAgICAgLnJ1biAgICAgICAgICAgICAgICAg ICAgPSBtaXJyb3JfcnVuLAogICAgICAgICAgLnByZXBhcmUgICAgICAgICAgICAgICAgPSBtaXJy b3JfcHJlcGFyZSwKICAgICAgICAgIC5hYm9ydCAgICAgICAgICAgICAgICAgID0gbWlycm9yX2Fi b3J0LApAQCAtMTEyLDcgKzExMiw3IEBAIGluZGV4IGQzY2FjZDE3MDguLjFmZjQyYzhhZjEgMTAw NjQ0CiAgICAgICAgICAucGF1c2UgICAgICAgICAgICAgICAgICA9IG1pcnJvcl9wYXVzZSwKICAg ICAgICAgIC5jb21wbGV0ZSAgICAgICAgICAgICAgID0gbWlycm9yX2NvbXBsZXRlLAogICAgICAg ICAgLmNhbmNlbCAgICAgICAgICAgICAgICAgPSBjb21taXRfYWN0aXZlX2NhbmNlbCwKLUBAIC0x NjU4LDcgKzE2NzQsMTAgQEAgc3RhdGljIEJsb2NrSm9iICptaXJyb3Jfc3RhcnRfam9iKAorQEAg LTE3MzMsNyArMTc0OSwxMCBAQCBzdGF0aWMgQmxvY2tKb2IgKm1pcnJvcl9zdGFydF9qb2IoCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9ja0NvbXBsZXRpb25GdW5jICpjYiwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm9wYXF1ZSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IEJsb2NrSm9iRHJpdmVyICpkcml2ZXIsCkBAIC0xMjQsOSAr MTI0LDkgQEAgaW5kZXggZDNjYWNkMTcwOC4uMWZmNDJjOGFmMSAxMDA2NDQKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJvb2wgYXV0b19jb21wbGV0ZSwgY29uc3QgY2hhciAqZmlsdGVy X25vZGVfbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNfbWlycm9y LCBNaXJyb3JDb3B5TW9kZSBjb3B5X21vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFcnJvciAqKmVycnApCi1AQCAtMTY3MCwxMCArMTY4OSwzOSBAQCBzdGF0aWMgQmxvY2tKb2Ig Km1pcnJvcl9zdGFydF9qb2IoCi0gICAgIHVpbnQ2NF90IHRhcmdldF9wZXJtcywgdGFyZ2V0X3No YXJlZF9wZXJtczsKLSAgICAgaW50IHJldDsKK0BAIC0xNzQ3LDEwICsxNzY2LDM5IEBAIHN0YXRp YyBCbG9ja0pvYiAqbWlycm9yX3N0YXJ0X2pvYigKKyAKKyAgICAgR0xPQkFMX1NUQVRFX0NPREUo KTsKICAKIC0gICAgaWYgKGdyYW51bGFyaXR5ID09IDApIHsKIC0gICAgICAgIGdyYW51bGFyaXR5 ID0gYmRydl9nZXRfZGVmYXVsdF9iaXRtYXBfZ3JhbnVsYXJpdHkodGFyZ2V0KTsKQEAgLTE2Niw3 ICsxNjYsNyBAQCBpbmRleCBkM2NhY2QxNzA4Li4xZmY0MmM4YWYxIDEwMDY0NAogICAgICBhc3Nl cnQoaXNfcG93ZXJfb2ZfMihncmFudWxhcml0eSkpOwogIAogICAgICBpZiAoYnVmX3NpemUgPCAw KSB7Ci1AQCAtMTgwNCw3ICsxODUyLDkgQEAgc3RhdGljIEJsb2NrSm9iICptaXJyb3Jfc3RhcnRf am9iKAorQEAgLTE4OTAsNyArMTkzOCw5IEBAIHN0YXRpYyBCbG9ja0pvYiAqbWlycm9yX3N0YXJ0 X2pvYigKICAgICAgcy0+cmVwbGFjZXMgPSBnX3N0cmR1cChyZXBsYWNlcyk7CiAgICAgIHMtPm9u X3NvdXJjZV9lcnJvciA9IG9uX3NvdXJjZV9lcnJvcjsKICAgICAgcy0+b25fdGFyZ2V0X2Vycm9y ID0gb25fdGFyZ2V0X2Vycm9yOwpAQCAtMTc2LDEwICsxNzYsMTAgQEAgaW5kZXggZDNjYWNkMTcw OC4uMWZmNDJjOGFmMSAxMDA2NDQKICsgICAgcy0+Yml0bWFwX21vZGUgPSBiaXRtYXBfbW9kZTsK ICAgICAgcy0+YmFja2luZ19tb2RlID0gYmFja2luZ19tb2RlOwogICAgICBzLT56ZXJvX3Rhcmdl dCA9IHplcm9fdGFyZ2V0OwotICAgICBzLT5jb3B5X21vZGUgPSBjb3B5X21vZGU7Ci1AQCAtMTgy NSw2ICsxODc1LDE4IEBAIHN0YXRpYyBCbG9ja0pvYiAqbWlycm9yX3N0YXJ0X2pvYigKLSAgICAg ICAgIGJkcnZfZGlzYWJsZV9kaXJ0eV9iaXRtYXAocy0+ZGlydHlfYml0bWFwKTsKLSAgICAgfQor ICAgICBxYXRvbWljX3NldCgmcy0+Y29weV9tb2RlLCBjb3B5X21vZGUpOworQEAgLTE5MTYsNiAr MTk2NiwxOCBAQCBzdGF0aWMgQmxvY2tKb2IgKm1pcnJvcl9zdGFydF9qb2IoCisgICAgICAqLwor ICAgICBiZHJ2X2Rpc2FibGVfZGlydHlfYml0bWFwKHMtPmRpcnR5X2JpdG1hcCk7CiAgCiArICAg IGlmIChzLT5zeW5jX2JpdG1hcCkgewogKyAgICAgICAgYmRydl9kaXJ0eV9iaXRtYXBfc2V0X2J1 c3kocy0+c3luY19iaXRtYXAsIHRydWUpOwpAQCAtMTkzLDEwICsxOTMsMTAgQEAgaW5kZXggZDNj YWNkMTcwOC4uMWZmNDJjOGFmMSAxMDA2NDQKICsgICAgICAgIH0KICsgICAgfQogKworICAgICBi ZHJ2X2dyYXBoX3dybG9jayhicyk7CiAgICAgIHJldCA9IGJsb2NrX2pvYl9hZGRfYmRydigmcy0+ Y29tbW9uLCAic291cmNlIiwgYnMsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBC TEtfUEVSTV9XUklURV9VTkNIQU5HRUQgfCBCTEtfUEVSTV9XUklURSB8Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCTEtfUEVSTV9DT05TSVNURU5UX1JFQUQsCi1AQCAtMTkwMiw2ICsx OTY0LDkgQEAgZmFpbDoKK0BAIC0xOTk4LDYgKzIwNjAsOSBAQCBmYWlsOgogICAgICAgICAgaWYg KHMtPmRpcnR5X2JpdG1hcCkgewogICAgICAgICAgICAgIGJkcnZfcmVsZWFzZV9kaXJ0eV9iaXRt YXAocy0+ZGlydHlfYml0bWFwKTsKICAgICAgICAgIH0KQEAgLTIwNiw3ICsyMDYsNyBAQCBpbmRl eCBkM2NhY2QxNzA4Li4xZmY0MmM4YWYxIDEwMDY0NAogICAgICAgICAgam9iX2Vhcmx5X2ZhaWwo JnMtPmNvbW1vbi5qb2IpOwogICAgICB9CiAgCi1AQCAtMTkxOSwzMSArMTk4NCwyNSBAQCB2b2lk IG1pcnJvcl9zdGFydChjb25zdCBjaGFyICpqb2JfaWQsIEJsb2NrRHJpdmVyU3RhdGUgKmJzLAor QEAgLTIwMjAsMzUgKzIwODUsMjggQEAgdm9pZCBtaXJyb3Jfc3RhcnQoY29uc3QgY2hhciAqam9i X2lkLCBCbG9ja0RyaXZlclN0YXRlICpicywKICAgICAgICAgICAgICAgICAgICBCbG9ja0RyaXZl clN0YXRlICp0YXJnZXQsIGNvbnN0IGNoYXIgKnJlcGxhY2VzLAogICAgICAgICAgICAgICAgICAg IGludCBjcmVhdGlvbl9mbGFncywgaW50NjRfdCBzcGVlZCwKICAgICAgICAgICAgICAgICAgICB1 aW50MzJfdCBncmFudWxhcml0eSwgaW50NjRfdCBidWZfc2l6ZSwKQEAgLTIzMSw4ICsyMzEsMTIg QEAgaW5kZXggZDNjYWNkMTcwOC4uMWZmNDJjOGFmMSAxMDA2NDQKIC0gICAgICAgICAgICAgICAg ICAgTWlycm9yU3luY01vZGVfc3RyKG1vZGUpKTsKIC0gICAgICAgIHJldHVybjsKIC0gICAgfQor LQorICAgICBiZHJ2X2dyYXBoX3JkbG9ja19tYWluX2xvb3AoKTsKIC0gICAgaXNfbm9uZV9tb2Rl ID0gbW9kZSA9PSBNSVJST1JfU1lOQ19NT0RFX05PTkU7CiAgICAgIGJhc2UgPSBtb2RlID09IE1J UlJPUl9TWU5DX01PREVfVE9QID8gYmRydl9iYWNraW5nX2NoYWluX25leHQoYnMpIDogTlVMTDsK KyAgICAgYmRydl9ncmFwaF9yZHVubG9ja19tYWluX2xvb3AoKTsKKyAKICAgICAgbWlycm9yX3N0 YXJ0X2pvYihqb2JfaWQsIGJzLCBjcmVhdGlvbl9mbGFncywgdGFyZ2V0LCByZXBsYWNlcywKICAg ICAgICAgICAgICAgICAgICAgICBzcGVlZCwgZ3JhbnVsYXJpdHksIGJ1Zl9zaXplLCBiYWNraW5n X21vZGUsIHplcm9fdGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAgIG9uX3NvdXJjZV9lcnJv ciwgb25fdGFyZ2V0X2Vycm9yLCB1bm1hcCwgTlVMTCwgTlVMTCwKQEAgLTI0Myw3ICsyNDcsNyBA QCBpbmRleCBkM2NhY2QxNzA4Li4xZmY0MmM4YWYxIDEwMDY0NAogIH0KICAKICBCbG9ja0pvYiAq Y29tbWl0X2FjdGl2ZV9zdGFydChjb25zdCBjaGFyICpqb2JfaWQsIEJsb2NrRHJpdmVyU3RhdGUg KmJzLAotQEAgLTE5NzAsNyArMjAyOSw4IEBAIEJsb2NrSm9iICpjb21taXRfYWN0aXZlX3N0YXJ0 KGNvbnN0IGNoYXIgKmpvYl9pZCwgQmxvY2tEcml2ZXJTdGF0ZSAqYnMsCitAQCAtMjA3NSw3ICsy MTMzLDggQEAgQmxvY2tKb2IgKmNvbW1pdF9hY3RpdmVfc3RhcnQoY29uc3QgY2hhciAqam9iX2lk LCBCbG9ja0RyaXZlclN0YXRlICpicywKICAgICAgICAgICAgICAgICAgICAgICBqb2JfaWQsIGJz LCBjcmVhdGlvbl9mbGFncywgYmFzZSwgTlVMTCwgc3BlZWQsIDAsIDAsCiAgICAgICAgICAgICAg ICAgICAgICAgTUlSUk9SX0xFQVZFX0JBQ0tJTkdfQ0hBSU4sIGZhbHNlLAogICAgICAgICAgICAg ICAgICAgICAgIG9uX2Vycm9yLCBvbl9lcnJvciwgdHJ1ZSwgY2IsIG9wYXF1ZSwKQEAgLTI1NCwx MCArMjU4LDEwIEBAIGluZGV4IGQzY2FjZDE3MDguLjFmZjQyYzhhZjEgMTAwNjQ0CiAgICAgICAg ICAgICAgICAgICAgICAgZXJycCk7CiAgICAgIGlmICgham9iKSB7CiBkaWZmIC0tZ2l0IGEvYmxv Y2tkZXYuYyBiL2Jsb2NrZGV2LmMKLWluZGV4IGMyODQ2MmE2MzMuLmE0MDJmYTRiZjcgMTAwNjQ0 CitpbmRleCBjOTFmNDllN2I2Li44YzhlOGI2MDRhIDEwMDY0NAogLS0tIGEvYmxvY2tkZXYuYwog KysrIGIvYmxvY2tkZXYuYwotQEAgLTI4NDksNiArMjg0OSw5IEBAIHN0YXRpYyB2b2lkIGJsb2Nr ZGV2X21pcnJvcl9jb21tb24oY29uc3QgY2hhciAqam9iX2lkLCBCbG9ja0RyaXZlclN0YXRlICpi cywKK0BAIC0yOTAzLDYgKzI5MDMsOSBAQCBzdGF0aWMgdm9pZCBibG9ja2Rldl9taXJyb3JfY29t bW9uKGNvbnN0IGNoYXIgKmpvYl9pZCwgQmxvY2tEcml2ZXJTdGF0ZSAqYnMsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9ja0RyaXZlclN0YXRlICp0YXJnZXQsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpyZXBsYWNlcywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gTWlycm9yU3luY01vZGUgc3lu YywKQEAgLTI2Nyw3ICsyNzEsNyBAQCBpbmRleCBjMjg0NjJhNjMzLi5hNDAyZmE0YmY3IDEwMDY0 NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tNaXJyb3JCYWNraW5n TW9kZSBiYWNraW5nX21vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi b29sIHplcm9fdGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v bCBoYXNfc3BlZWQsIGludDY0X3Qgc3BlZWQsCi1AQCAtMjg2Nyw2ICsyODcwLDcgQEAgc3RhdGlj IHZvaWQgYmxvY2tkZXZfbWlycm9yX2NvbW1vbihjb25zdCBjaGFyICpqb2JfaWQsIEJsb2NrRHJp dmVyU3RhdGUgKmJzLAorQEAgLTI5MjEsNiArMjkyNCw3IEBAIHN0YXRpYyB2b2lkIGJsb2NrZGV2 X21pcnJvcl9jb21tb24oY29uc3QgY2hhciAqam9iX2lkLCBCbG9ja0RyaXZlclN0YXRlICpicywK ICB7CiAgICAgIEJsb2NrRHJpdmVyU3RhdGUgKnVuZmlsdGVyZWRfYnM7CiAgICAgIGludCBqb2Jf ZmxhZ3MgPSBKT0JfREVGQVVMVDsKQEAgLTI3NSw3ICsyNzksNyBAQCBpbmRleCBjMjg0NjJhNjMz Li5hNDAyZmE0YmY3IDEwMDY0NAogIAogICAgICBHTE9CQUxfU1RBVEVfQ09ERSgpOwogICAgICBH UkFQSF9SRExPQ0tfR1VBUkRfTUFJTkxPT1AoKTsKLUBAIC0yOTIxLDYgKzI5MjUsMjkgQEAgc3Rh dGljIHZvaWQgYmxvY2tkZXZfbWlycm9yX2NvbW1vbihjb25zdCBjaGFyICpqb2JfaWQsIEJsb2Nr RHJpdmVyU3RhdGUgKmJzLAorQEAgLTI5NzUsNiArMjk3OSwyOSBAQCBzdGF0aWMgdm9pZCBibG9j a2Rldl9taXJyb3JfY29tbW9uKGNvbnN0IGNoYXIgKmpvYl9pZCwgQmxvY2tEcml2ZXJTdGF0ZSAq YnMsCiAgICAgICAgICBzeW5jID0gTUlSUk9SX1NZTkNfTU9ERV9GVUxMOwogICAgICB9CiAgCkBA IC0zMDUsNyArMzA5LDcgQEAgaW5kZXggYzI4NDYyYTYzMy4uYTQwMmZhNGJmNyAxMDA2NDQKICAg ICAgaWYgKCFyZXBsYWNlcykgewogICAgICAgICAgLyogV2Ugd2FudCB0byBtaXJyb3IgZnJvbSBA YnMsIGJ1dCBrZWVwIGltcGxpY2l0IGZpbHRlcnMgb24gdG9wICovCiAgICAgICAgICB1bmZpbHRl cmVkX2JzID0gYmRydl9za2lwX2ltcGxpY2l0X2ZpbHRlcnMoYnMpOwotQEAgLTI5NjYsOCArMjk5 Myw4IEBAIHN0YXRpYyB2b2lkIGJsb2NrZGV2X21pcnJvcl9jb21tb24oY29uc3QgY2hhciAqam9i X2lkLCBCbG9ja0RyaXZlclN0YXRlICpicywKK0BAIC0zMDMwLDggKzMwNTcsOCBAQCBzdGF0aWMg dm9pZCBibG9ja2Rldl9taXJyb3JfY29tbW9uKGNvbnN0IGNoYXIgKmpvYl9pZCwgQmxvY2tEcml2 ZXJTdGF0ZSAqYnMsCiAgICAgICAqIGFuZCB3aWxsIGFsbG93IHRvIGNoZWNrIHdoZXRoZXIgdGhl IG5vZGUgc3RpbGwgZXhpc3QgYXQgbWlycm9yIGNvbXBsZXRpb24KICAgICAgICovCiAgICAgIG1p cnJvcl9zdGFydChqb2JfaWQsIGJzLCB0YXJnZXQsCkBAIC0zMTYsNyArMzIwLDcgQEAgaW5kZXgg YzI4NDYyYTYzMy4uYTQwMmZhNGJmNyAxMDA2NDQKICAgICAgICAgICAgICAgICAgIG9uX3NvdXJj ZV9lcnJvciwgb25fdGFyZ2V0X2Vycm9yLCB1bm1hcCwgZmlsdGVyX25vZGVfbmFtZSwKICAgICAg ICAgICAgICAgICAgIGNvcHlfbW9kZSwgZXJycCk7CiAgfQotQEAgLTMxMTUsNiArMzE0Miw4IEBA IHZvaWQgcW1wX2RyaXZlX21pcnJvcihEcml2ZU1pcnJvciAqYXJnLCBFcnJvciAqKmVycnApCitA QCAtMzE4OSw2ICszMjE2LDggQEAgdm9pZCBxbXBfZHJpdmVfbWlycm9yKERyaXZlTWlycm9yICph cmcsIEVycm9yICoqZXJycCkKICAKICAgICAgYmxvY2tkZXZfbWlycm9yX2NvbW1vbihhcmctPmpv Yl9pZCwgYnMsIHRhcmdldF9icywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmctPnJl cGxhY2VzLCBhcmctPnN5bmMsCkBAIC0zMjUsNyArMzI5LDcgQEAgaW5kZXggYzI4NDYyYTYzMy4u YTQwMmZhNGJmNyAxMDA2NDQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNraW5nX21v ZGUsIHplcm9fdGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZy0+aGFzX3Nw ZWVkLCBhcmctPnNwZWVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZy0+aGFzX2dy YW51bGFyaXR5LCBhcmctPmdyYW51bGFyaXR5LAotQEAgLTMxMzYsNiArMzE2NSw4IEBAIHZvaWQg cW1wX2Jsb2NrZGV2X21pcnJvcihjb25zdCBjaGFyICpqb2JfaWQsCitAQCAtMzIxMCw2ICszMjM5 LDggQEAgdm9pZCBxbXBfYmxvY2tkZXZfbWlycm9yKGNvbnN0IGNoYXIgKmpvYl9pZCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZGV2aWNlLCBjb25zdCBjaGFyICp0YXJn ZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnJlcGxhY2VzLAogICAg ICAgICAgICAgICAgICAgICAgICAgICBNaXJyb3JTeW5jTW9kZSBzeW5jLApAQCAtMzM0LDcgKzMz OCw3IEBAIGluZGV4IGMyODQ2MmE2MzMuLmE0MDJmYTRiZjcgMTAwNjQ0CiAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJvb2wgaGFzX3NwZWVkLCBpbnQ2NF90IHNwZWVkLAogICAgICAgICAgICAg ICAgICAgICAgICAgICBib29sIGhhc19ncmFudWxhcml0eSwgdWludDMyX3QgZ3JhbnVsYXJpdHks CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaGFzX2J1Zl9zaXplLCBpbnQ2NF90IGJ1 Zl9zaXplLAotQEAgLTMxODQsNyArMzIxNSw4IEBAIHZvaWQgcW1wX2Jsb2NrZGV2X21pcnJvcihj b25zdCBjaGFyICpqb2JfaWQsCitAQCAtMzI1OCw3ICszMjg5LDggQEAgdm9pZCBxbXBfYmxvY2tk ZXZfbWlycm9yKGNvbnN0IGNoYXIgKmpvYl9pZCwKICAgICAgfQogIAogICAgICBibG9ja2Rldl9t aXJyb3JfY29tbW9uKGpvYl9pZCwgYnMsIHRhcmdldF9icywKQEAgLTM0NSw3ICszNDksNyBAQCBp bmRleCBjMjg0NjJhNjMzLi5hNDAyZmE0YmY3IDEwMDY0NAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGhhc19ncmFudWxhcml0eSwgZ3JhbnVsYXJpdHksCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaGFzX2J1Zl9zaXplLCBidWZfc2l6ZSwKIGRpZmYgLS1naXQgYS9pbmNsdWRlL2Js b2NrL2Jsb2NrX2ludC1nbG9iYWwtc3RhdGUuaCBiL2luY2x1ZGUvYmxvY2svYmxvY2tfaW50LWds b2JhbC1zdGF0ZS5oCi1pbmRleCBkYTVmYjMxMDg5Li4zMmYwZjk4NThhIDEwMDY0NAoraW5kZXgg ZWYzMWM1OGJiMy4uNTcyNjVhNjE3YSAxMDA2NDQKIC0tLSBhL2luY2x1ZGUvYmxvY2svYmxvY2tf aW50LWdsb2JhbC1zdGF0ZS5oCiArKysgYi9pbmNsdWRlL2Jsb2NrL2Jsb2NrX2ludC1nbG9iYWwt c3RhdGUuaAogQEAgLTE1Miw3ICsxNTIsOSBAQCB2b2lkIG1pcnJvcl9zdGFydChjb25zdCBjaGFy ICpqb2JfaWQsIEJsb2NrRHJpdmVyU3RhdGUgKmJzLApAQCAtMzYwLDEwICszNjQsMTAgQEAgaW5k ZXggZGE1ZmIzMTA4OS4uMzJmMGY5ODU4YSAxMDA2NDQKICAgICAgICAgICAgICAgICAgICBCbG9j a2Rldk9uRXJyb3Igb25fc291cmNlX2Vycm9yLAogICAgICAgICAgICAgICAgICAgIEJsb2NrZGV2 T25FcnJvciBvbl90YXJnZXRfZXJyb3IsCiBkaWZmIC0tZ2l0IGEvcWFwaS9ibG9jay1jb3JlLmpz b24gYi9xYXBpL2Jsb2NrLWNvcmUuanNvbgotaW5kZXggYmNhMWEwYzM3Mi4uYTVjZWE4MjEzOSAx MDA2NDQKK2luZGV4IGNhMzkwYzU3MDAuLjhkYjA5ODZlOWUgMTAwNjQ0CiAtLS0gYS9xYXBpL2Js b2NrLWNvcmUuanNvbgogKysrIGIvcWFwaS9ibG9jay1jb3JlLmpzb24KLUBAIC0yMTQ1LDYgKzIx NDUsMTUgQEAKK0BAIC0yMTYzLDYgKzIxNjMsMTUgQEAKICAjICAgICBkZXN0aW5hdGlvbiAoYWxs IHRoZSBkaXNrLCBvbmx5IHRoZSBzZWN0b3JzIGFsbG9jYXRlZCBpbiB0aGUKICAjICAgICB0b3Bt b3N0IGltYWdlLCBvciBvbmx5IG5ldyBJL08pLgogICMKQEAgLTM3OSw3ICszODMsNyBAQCBpbmRl eCBiY2ExYTBjMzcyLi5hNWNlYTgyMTM5IDEwMDY0NAogICMgQGdyYW51bGFyaXR5OiBncmFudWxh cml0eSBvZiB0aGUgZGlydHkgYml0bWFwLCBkZWZhdWx0IGlzIDY0SyBpZiB0aGUKICAjICAgICBp bWFnZSBmb3JtYXQgZG9lc24ndCBoYXZlIGNsdXN0ZXJzLCA0SyBpZiB0aGUgY2x1c3RlcnMgYXJl CiAgIyAgICAgc21hbGxlciB0aGFuIHRoYXQsIGVsc2UgdGhlIGNsdXN0ZXIgc2l6ZS4gIE11c3Qg YmUgYSBwb3dlciBvZiAyCi1AQCAtMjE4Nyw3ICsyMTk2LDkgQEAKK0BAIC0yMjA1LDcgKzIyMTQs OSBAQAogIHsgJ3N0cnVjdCc6ICdEcml2ZU1pcnJvcicsCiAgICAnZGF0YSc6IHsgJypqb2ItaWQn OiAnc3RyJywgJ2RldmljZSc6ICdzdHInLCAndGFyZ2V0JzogJ3N0cicsCiAgICAgICAgICAgICAg Jypmb3JtYXQnOiAnc3RyJywgJypub2RlLW5hbWUnOiAnc3RyJywgJypyZXBsYWNlcyc6ICdzdHIn LApAQCAtMzkwLDcgKzM5NCw3IEBAIGluZGV4IGJjYTFhMGMzNzIuLmE1Y2VhODIxMzkgMTAwNjQ0 CiAgICAgICAgICAgICAgJypzcGVlZCc6ICdpbnQnLCAnKmdyYW51bGFyaXR5JzogJ3VpbnQzMics CiAgICAgICAgICAgICAgJypidWYtc2l6ZSc6ICdpbnQnLCAnKm9uLXNvdXJjZS1lcnJvcic6ICdC bG9ja2Rldk9uRXJyb3InLAogICAgICAgICAgICAgICcqb24tdGFyZ2V0LWVycm9yJzogJ0Jsb2Nr ZGV2T25FcnJvcicsCi1AQCAtMjQ3MSw2ICsyNDgyLDE1IEBACitAQCAtMjQ4OSw2ICsyNTAwLDE1 IEBACiAgIyAgICAgZGVzdGluYXRpb24gKGFsbCB0aGUgZGlzaywgb25seSB0aGUgc2VjdG9ycyBh bGxvY2F0ZWQgaW4gdGhlCiAgIyAgICAgdG9wbW9zdCBpbWFnZSwgb3Igb25seSBuZXcgSS9PKS4K ICAjCkBAIC00MDYsNyArNDEwLDcgQEAgaW5kZXggYmNhMWEwYzM3Mi4uYTVjZWE4MjEzOSAxMDA2 NDQKICAjIEBncmFudWxhcml0eTogZ3JhbnVsYXJpdHkgb2YgdGhlIGRpcnR5IGJpdG1hcCwgZGVm YXVsdCBpcyA2NEsgaWYgdGhlCiAgIyAgICAgaW1hZ2UgZm9ybWF0IGRvZXNuJ3QgaGF2ZSBjbHVz dGVycywgNEsgaWYgdGhlIGNsdXN0ZXJzIGFyZQogICMgICAgIHNtYWxsZXIgdGhhbiB0aGF0LCBl bHNlIHRoZSBjbHVzdGVyIHNpemUuICBNdXN0IGJlIGEgcG93ZXIgb2YgMgotQEAgLTI1MjEsNyAr MjU0MSw4IEBACitAQCAtMjUzOSw3ICsyNTU5LDggQEAKICB7ICdjb21tYW5kJzogJ2Jsb2NrZGV2 LW1pcnJvcicsCiAgICAnZGF0YSc6IHsgJypqb2ItaWQnOiAnc3RyJywgJ2RldmljZSc6ICdzdHIn LCAndGFyZ2V0JzogJ3N0cicsCiAgICAgICAgICAgICAgJypyZXBsYWNlcyc6ICdzdHInLApAQCAt NDE3LDEyICs0MjEsMTIgQEAgaW5kZXggYmNhMWEwYzM3Mi4uYTVjZWE4MjEzOSAxMDA2NDQKICAg ICAgICAgICAgICAnKmJ1Zi1zaXplJzogJ2ludCcsICcqb24tc291cmNlLWVycm9yJzogJ0Jsb2Nr ZGV2T25FcnJvcicsCiAgICAgICAgICAgICAgJypvbi10YXJnZXQtZXJyb3InOiAnQmxvY2tkZXZP bkVycm9yJywKIGRpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3QtYmxvY2staW90aHJlYWQuYyBi L3Rlc3RzL3VuaXQvdGVzdC1ibG9jay1pb3RocmVhZC5jCi1pbmRleCBkNzI3YTVmZWU4Li44YTM0 YWEyMzI4IDEwMDY0NAoraW5kZXggOWIxNWQyNzY4Yy4uNTRhY2Q0NzE4OCAxMDA2NDQKIC0tLSBh L3Rlc3RzL3VuaXQvdGVzdC1ibG9jay1pb3RocmVhZC5jCiArKysgYi90ZXN0cy91bml0L3Rlc3Qt YmxvY2staW90aHJlYWQuYwotQEAgLTc1Nyw4ICs3NTcsOCBAQCBzdGF0aWMgdm9pZCB0ZXN0X3By b3BhZ2F0ZV9taXJyb3Iodm9pZCkKLSAKK0BAIC03NjYsOCArNzY2LDggQEAgc3RhdGljIHZvaWQg dGVzdF9wcm9wYWdhdGVfbWlycm9yKHZvaWQpCiAgICAgIC8qIFN0YXJ0IGEgbWlycm9yIGpvYiAq LworICAgICBhaW9fY29udGV4dF9hY3F1aXJlKG1haW5fY3R4KTsKICAgICAgbWlycm9yX3N0YXJ0 KCJqb2IwIiwgc3JjLCB0YXJnZXQsIE5VTEwsIEpPQl9ERUZBVUxULCAwLCAwLCAwLAogLSAgICAg ICAgICAgICAgICAgTUlSUk9SX1NZTkNfTU9ERV9OT05FLCBNSVJST1JfT1BFTl9CQUNLSU5HX0NI QUlOLCBmYWxzZSwKIC0gICAgICAgICAgICAgICAgIEJMT0NLREVWX09OX0VSUk9SX1JFUE9SVCwg QkxPQ0tERVZfT05fRVJST1JfUkVQT1JULApAQCAtNDMwLDQgKzQzNCw0IEBAIGluZGV4IGQ3Mjdh NWZlZTguLjhhMzRhYTIzMjggMTAwNjQ0CiArICAgICAgICAgICAgICAgICBmYWxzZSwgQkxPQ0tE RVZfT05fRVJST1JfUkVQT1JULCBCTE9DS0RFVl9PTl9FUlJPUl9SRVBPUlQsCiAgICAgICAgICAg ICAgICAgICBmYWxzZSwgImZpbHRlcl9ub2RlIiwgTUlSUk9SX0NPUFlfTU9ERV9CQUNLR1JPVU5E LAogICAgICAgICAgICAgICAgICAgJmVycm9yX2Fib3J0KTsKLSAgICAgV0lUSF9KT0JfTE9DS19H VUFSRCgpIHsKKyAgICAgYWlvX2NvbnRleHRfcmVsZWFzZShtYWluX2N0eCk7CmRpZmYgLS1naXQg YS9kZWJpYW4vcGF0Y2hlcy9iaXRtYXAtbWlycm9yLzAwMDItZHJpdmUtbWlycm9yLWFkZC1zdXBw b3J0LWZvci1jb25kaXRpb25hbC1hbmQtYWx3YXlzLS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2Jp dG1hcC1taXJyb3IvMDAwMi1kcml2ZS1taXJyb3ItYWRkLXN1cHBvcnQtZm9yLWNvbmRpdGlvbmFs LWFuZC1hbHdheXMtLnBhdGNoCmluZGV4IGE0YTVhMGIuLjhmZjA5ZTIgMTAwNjQ0Ci0tLSBhL2Rl Ymlhbi9wYXRjaGVzL2JpdG1hcC1taXJyb3IvMDAwMi1kcml2ZS1taXJyb3ItYWRkLXN1cHBvcnQt Zm9yLWNvbmRpdGlvbmFsLWFuZC1hbHdheXMtLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL2Jp dG1hcC1taXJyb3IvMDAwMi1kcml2ZS1taXJyb3ItYWRkLXN1cHBvcnQtZm9yLWNvbmRpdGlvbmFs LWFuZC1hbHdheXMtLnBhdGNoCkBAIC0yNCwxMCArMjQsMTAgQEAgU2lnbmVkLW9mZi1ieTogVGhv bWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+CiAgMSBmaWxlIGNoYW5nZWQs IDE4IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9ibG9jay9t aXJyb3IuYyBiL2Jsb2NrL21pcnJvci5jCi1pbmRleCAxZmY0MmM4YWYxLi4xMWI4YThlOTU5IDEw MDY0NAoraW5kZXggZWQxNGM4YjQ5OC4uYmViOThmMmUwNyAxMDA2NDQKIC0tLSBhL2Jsb2NrL21p cnJvci5jCiArKysgYi9ibG9jay9taXJyb3IuYwotQEAgLTY4Miw4ICs2ODIsNiBAQCBzdGF0aWMg aW50IG1pcnJvcl9leGl0X2NvbW1vbihKb2IgKmpvYikKK0BAIC02OTUsOCArNjk1LDYgQEAgc3Rh dGljIGludCBtaXJyb3JfZXhpdF9jb21tb24oSm9iICpqb2IpCiAgICAgICAgICBiZHJ2X3VuZnJl ZXplX2JhY2tpbmdfY2hhaW4obWlycm9yX3RvcF9icywgdGFyZ2V0X2JzKTsKICAgICAgfQogIApA QCAtMzYsOSArMzYsOSBAQCBpbmRleCAxZmY0MmM4YWYxLi4xMWI4YThlOTU5IDEwMDY0NAogICAg ICAvKiBNYWtlIHN1cmUgdGhhdCB0aGUgc291cmNlIEJEUyBkb2Vzbid0IGdvIGF3YXkgZHVyaW5n IGJkcnZfcmVwbGFjZV9ub2RlLAogICAgICAgKiBiZWZvcmUgd2UgY2FuIGNhbGwgYmRydl9kcmFp bmVkX2VuZCAqLwogICAgICBiZHJ2X3JlZihzcmMpOwotQEAgLTc4OCw2ICs3ODYsMTggQEAgc3Rh dGljIGludCBtaXJyb3JfZXhpdF9jb21tb24oSm9iICpqb2IpCi0gICAgIGJsb2NrX2pvYl9yZW1v dmVfYWxsX2JkcnYoYmpvYik7Ci0gICAgIGJkcnZfcmVwbGFjZV9ub2RlKG1pcnJvcl90b3BfYnMs IG1pcnJvcl90b3BfYnMtPmJhY2tpbmctPmJzLCAmZXJyb3JfYWJvcnQpOworQEAgLTgxMCw2ICs4 MDgsMTggQEAgc3RhdGljIGludCBtaXJyb3JfZXhpdF9jb21tb24oSm9iICpqb2IpCisgICAgIGJk cnZfZHJhaW5lZF9lbmQodGFyZ2V0X2JzKTsKKyAgICAgYmRydl91bnJlZih0YXJnZXRfYnMpOwog IAogKyAgICBpZiAocy0+c3luY19iaXRtYXApIHsKICsgICAgICAgIGlmIChzLT5iaXRtYXBfbW9k ZSA9PSBCSVRNQVBfU1lOQ19NT0RFX0FMV0FZUyB8fApAQCAtNTUsNyArNTUsNyBAQCBpbmRleCAx ZmY0MmM4YWYxLi4xMWI4YThlOTU5IDEwMDY0NAogICAgICBic19vcGFxdWUtPmpvYiA9IE5VTEw7 CiAgCiAgICAgIGJkcnZfZHJhaW5lZF9lbmQoc3JjKTsKLUBAIC0xNjk5LDEwICsxNzA5LDYgQEAg c3RhdGljIEJsb2NrSm9iICptaXJyb3Jfc3RhcnRfam9iKAorQEAgLTE3NzYsMTAgKzE3ODYsNiBA QCBzdGF0aWMgQmxvY2tKb2IgKm1pcnJvcl9zdGFydF9qb2IoCiAgICAgICAgICAgICAgICAgICAg ICAgICAiIHN5bmMgbW9kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICBNaXJyb3JTeW5jTW9k ZV9zdHIoc3luY19tb2RlKSk7CiAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC02Niw3ICs2 Niw3IEBAIGluZGV4IDFmZjQyYzhhZjEuLjExYjhhOGU5NTkgMTAwNjQ0CiAgICAgICAgICB9CiAg ICAgIH0gZWxzZSBpZiAoYml0bWFwKSB7CiAgICAgICAgICBlcnJvcl9zZXRnKGVycnAsCi1AQCAt MTcxOSw2ICsxNzI1LDEyIEBAIHN0YXRpYyBCbG9ja0pvYiAqbWlycm9yX3N0YXJ0X2pvYigKK0BA IC0xNzk2LDYgKzE4MDIsMTIgQEAgc3RhdGljIEJsb2NrSm9iICptaXJyb3Jfc3RhcnRfam9iKAog ICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgfQogICAgICAgICAgZ3JhbnVsYXJp dHkgPSBiZHJ2X2RpcnR5X2JpdG1hcF9ncmFudWxhcml0eShiaXRtYXApOwpkaWZmIC0tZ2l0IGEv ZGViaWFuL3BhdGNoZXMvYml0bWFwLW1pcnJvci8wMDAzLW1pcnJvci1hZGQtY2hlY2stZm9yLWJp dG1hcC1tb2RlLXdpdGhvdXQtYml0bWFwLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvYml0bWFwLW1p cnJvci8wMDAzLW1pcnJvci1hZGQtY2hlY2stZm9yLWJpdG1hcC1tb2RlLXdpdGhvdXQtYml0bWFw LnBhdGNoCmluZGV4IDNiZjk3OTcuLjFhY2Y3NzcgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVz L2JpdG1hcC1taXJyb3IvMDAwMy1taXJyb3ItYWRkLWNoZWNrLWZvci1iaXRtYXAtbW9kZS13aXRo b3V0LWJpdG1hcC5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9iaXRtYXAtbWlycm9yLzAwMDMt bWlycm9yLWFkZC1jaGVjay1mb3ItYml0bWFwLW1vZGUtd2l0aG91dC1iaXRtYXAucGF0Y2gKQEAg LTE2LDEwICsxNiwxMCBAQCBTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgTGFtcHJlY2h0IDx0LmxhbXBy ZWNodEBwcm94bW94LmNvbT4KICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCiAKIGRp ZmYgLS1naXQgYS9ibG9ja2Rldi5jIGIvYmxvY2tkZXYuYwotaW5kZXggYTQwMmZhNGJmNy4uMDFi MGFiMDU0OSAxMDA2NDQKK2luZGV4IDhjOGU4YjYwNGEuLmNkZmU3YjMzYjEgMTAwNjQ0CiAtLS0g YS9ibG9ja2Rldi5jCiArKysgYi9ibG9ja2Rldi5jCi1AQCAtMjk0Niw2ICsyOTQ2LDkgQEAgc3Rh dGljIHZvaWQgYmxvY2tkZXZfbWlycm9yX2NvbW1vbihjb25zdCBjaGFyICpqb2JfaWQsIEJsb2Nr RHJpdmVyU3RhdGUgKmJzLAorQEAgLTMwMDAsNiArMzAwMCw5IEBAIHN0YXRpYyB2b2lkIGJsb2Nr ZGV2X21pcnJvcl9jb21tb24oY29uc3QgY2hhciAqam9iX2lkLCBCbG9ja0RyaXZlclN0YXRlICpi cywKICAgICAgICAgIGlmIChiZHJ2X2RpcnR5X2JpdG1hcF9jaGVjayhiaXRtYXAsIEJEUlZfQklU TUFQX0FMTE9XX1JPLCBlcnJwKSkgewogICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0K ZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL2JpdG1hcC1taXJyb3IvMDAwNC1taXJyb3Itc3dp dGNoLXRvLWJkcnZfZGlydHlfYml0bWFwX21lcmdlX2ludGVybmFsLnBhdGNoIGIvZGViaWFuL3Bh dGNoZXMvYml0bWFwLW1pcnJvci8wMDA0LW1pcnJvci1zd2l0Y2gtdG8tYmRydl9kaXJ0eV9iaXRt YXBfbWVyZ2VfaW50ZXJuYWwucGF0Y2gKaW5kZXggOTNhMTUyNC4uNWE2MzdjNCAxMDA2NDQKLS0t IGEvZGViaWFuL3BhdGNoZXMvYml0bWFwLW1pcnJvci8wMDA0LW1pcnJvci1zd2l0Y2gtdG8tYmRy dl9kaXJ0eV9iaXRtYXBfbWVyZ2VfaW50ZXJuYWwucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMv Yml0bWFwLW1pcnJvci8wMDA0LW1pcnJvci1zd2l0Y2gtdG8tYmRydl9kaXJ0eV9iaXRtYXBfbWVy Z2VfaW50ZXJuYWwucGF0Y2gKQEAgLTE2LDEwICsxNiwxMCBAQCBTaWduZWQtb2ZmLWJ5OiBUaG9t YXMgTGFtcHJlY2h0IDx0LmxhbXByZWNodEBwcm94bW94LmNvbT4KICAxIGZpbGUgY2hhbmdlZCwg NCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvYmxvY2svbWly cm9yLmMgYi9ibG9jay9taXJyb3IuYwotaW5kZXggMTFiOGE4ZTk1OS4uMDBmMjY2NWNhNCAxMDA2 NDQKK2luZGV4IGJlYjk4ZjJlMDcuLjFhYTc1ZTczODQgMTAwNjQ0CiAtLS0gYS9ibG9jay9taXJy b3IuYwogKysrIGIvYmxvY2svbWlycm9yLmMKLUBAIC03OTIsOCArNzkyLDggQEAgc3RhdGljIGlu dCBtaXJyb3JfZXhpdF9jb21tb24oSm9iICpqb2IpCitAQCAtODE0LDggKzgxNCw4IEBAIHN0YXRp YyBpbnQgbWlycm9yX2V4aXRfY29tbW9uKEpvYiAqam9iKQogICAgICAgICAgICAgICBqb2ItPnJl dCA9PSAwICYmIHJldCA9PSAwKSkgewogICAgICAgICAgICAgIC8qIFN1Y2Nlc3M7IHN5bmNocm9u aXplIGNvcHkgYmFjayB0byBzeW5jLiAqLwogICAgICAgICAgICAgIGJkcnZfY2xlYXJfZGlydHlf Yml0bWFwKHMtPnN5bmNfYml0bWFwLCBOVUxMKTsKQEAgLTMwLDcgKzMwLDcgQEAgaW5kZXggMTFi OGE4ZTk1OS4uMDBmMjY2NWNhNCAxMDA2NDQKICAgICAgICAgIH0KICAgICAgfQogICAgICBiZHJ2 X3JlbGVhc2VfZGlydHlfYml0bWFwKHMtPmRpcnR5X2JpdG1hcCk7Ci1AQCAtMTg5MiwxMSArMTg5 Miw4IEBAIHN0YXRpYyBCbG9ja0pvYiAqbWlycm9yX3N0YXJ0X2pvYigKK0BAIC0xOTgzLDExICsx OTgzLDggQEAgc3RhdGljIEJsb2NrSm9iICptaXJyb3Jfc3RhcnRfam9iKAogICAgICB9CiAgCiAg ICAgIGlmIChzLT5zeW5jX21vZGUgPT0gTUlSUk9SX1NZTkNfTU9ERV9CSVRNQVApIHsKQEAgLTQz LDQgKzQzLDQgQEAgaW5kZXggMTFiOGE4ZTk1OS4uMDBmMjY2NWNhNCAxMDA2NDQKICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIHRydWUpOwogICAgICB9CiAg Ci0gICAgIHJldCA9IGJsb2NrX2pvYl9hZGRfYmRydigmcy0+Y29tbW9uLCAic291cmNlIiwgYnMs IDAsCisgICAgIGJkcnZfZ3JhcGhfd3Jsb2NrKGJzKTsKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRj aGVzL2JpdG1hcC1taXJyb3IvMDAwNi1taXJyb3ItbW92ZS1zb21lLWNoZWNrcy10by1xbXAucGF0 Y2ggYi9kZWJpYW4vcGF0Y2hlcy9iaXRtYXAtbWlycm9yLzAwMDYtbWlycm9yLW1vdmUtc29tZS1j aGVja3MtdG8tcW1wLnBhdGNoCmluZGV4IGY5YTZlMjAuLjcxOWViOGMgMTAwNjQ0Ci0tLSBhL2Rl Ymlhbi9wYXRjaGVzL2JpdG1hcC1taXJyb3IvMDAwNi1taXJyb3ItbW92ZS1zb21lLWNoZWNrcy10 by1xbXAucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMvYml0bWFwLW1pcnJvci8wMDA2LW1pcnJv ci1tb3ZlLXNvbWUtY2hlY2tzLXRvLXFtcC5wYXRjaApAQCAtMTIsNyArMTIsNyBAQCB1bmlmb3Jt IHcuci50LiBiYWNrdXAgYmxvY2sgam9icy4KIAogU2lnbmVkLW9mZi1ieTogRmFiaWFuIEdyw7xu YmljaGxlciA8Zi5ncnVlbmJpY2hsZXJAcHJveG1veC5jb20+CiBTaWduZWQtb2ZmLWJ5OiBUaG9t YXMgTGFtcHJlY2h0IDx0LmxhbXByZWNodEBwcm94bW94LmNvbT4KLVtGRTogcmViYXNlIGZvciA4 LjBdCitbRkU6IHJlYmFzZSBmb3IgOC4yLjJdCiBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8 Zi5lYm5lckBwcm94bW94LmNvbT4KIC0tLQogIGJsb2NrL21pcnJvci5jICAgICAgICAgICAgIHwg MjggKysrLS0tLS0tLS0tLS0tCkBAIC0yMSwxMiArMjEsMTIgQEAgU2lnbmVkLW9mZi1ieTogRmlv bmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+CiAgMyBmaWxlcyBjaGFuZ2VkLCA3MCBpbnNl cnRpb25zKCspLCA1OSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2Jsb2NrL21pcnJvci5j IGIvYmxvY2svbWlycm9yLmMKLWluZGV4IDAwZjI2NjVjYTQuLjYwY2Y1NzRkZTUgMTAwNjQ0Citp bmRleCAxYWE3NWU3Mzg0Li5hMDJlZmJmYmJkIDEwMDY0NAogLS0tIGEvYmxvY2svbWlycm9yLmMK ICsrKyBiL2Jsb2NrL21pcnJvci5jCi1AQCAtMTY5OSwzMSArMTY5OSwxMyBAQCBzdGF0aWMgQmxv Y2tKb2IgKm1pcnJvcl9zdGFydF9qb2IoCi0gICAgIHVpbnQ2NF90IHRhcmdldF9wZXJtcywgdGFy Z2V0X3NoYXJlZF9wZXJtczsKLSAgICAgaW50IHJldDsKK0BAIC0xNzc2LDMxICsxNzc2LDEzIEBA IHN0YXRpYyBCbG9ja0pvYiAqbWlycm9yX3N0YXJ0X2pvYigKKyAKKyAgICAgR0xPQkFMX1NUQVRF X0NPREUoKTsKICAKIC0gICAgaWYgKHN5bmNfbW9kZSA9PSBNSVJST1JfU1lOQ19NT0RFX0lOQ1JF TUVOVEFMKSB7CiAtICAgICAgICBlcnJvcl9zZXRnKGVycnAsICJTeW5jIG1vZGUgJyVzJyBub3Qg c3VwcG9ydGVkIiwKQEAgLTYyLDEwICs2MiwxMCBAQCBpbmRleCAwMGYyNjY1Y2E0Li42MGNmNTc0 ZGU1IDEwMDY0NAogIAogICAgICAgICAgaWYgKGJpdG1hcF9tb2RlICE9IEJJVE1BUF9TWU5DX01P REVfTkVWRVIpIHsKIGRpZmYgLS1naXQgYS9ibG9ja2Rldi5jIGIvYmxvY2tkZXYuYwotaW5kZXgg MDFiMGFiMDU0OS4uY2Q1ZjIwNWFkMSAxMDA2NDQKK2luZGV4IGNkZmU3YjMzYjEuLjM4YTQwZTNl MzIgMTAwNjQ0CiAtLS0gYS9ibG9ja2Rldi5jCiArKysgYi9ibG9ja2Rldi5jCi1AQCAtMjkyNSw3 ICsyOTI1LDM2IEBAIHN0YXRpYyB2b2lkIGJsb2NrZGV2X21pcnJvcl9jb21tb24oY29uc3QgY2hh ciAqam9iX2lkLCBCbG9ja0RyaXZlclN0YXRlICpicywKK0BAIC0yOTc5LDcgKzI5NzksMzYgQEAg c3RhdGljIHZvaWQgYmxvY2tkZXZfbWlycm9yX2NvbW1vbihjb25zdCBjaGFyICpqb2JfaWQsIEJs b2NrRHJpdmVyU3RhdGUgKmJzLAogICAgICAgICAgc3luYyA9IE1JUlJPUl9TWU5DX01PREVfRlVM TDsKICAgICAgfQogIApkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAwMS1tb25p dG9yLXFtcC1maXgtcmFjZS13aXRoLWNsaWVudHMtZGlzY29ubmVjdGluZy1lYXJsLnBhdGNoIGIv ZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAwMS1tb25pdG9yLXFtcC1maXgtcmFjZS13aXRoLWNsaWVu dHMtZGlzY29ubmVjdGluZy1lYXJsLnBhdGNoCmluZGV4IGNkOTc5N2EuLjQ1ZTdmODcgMTAwNjQ0 Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDEtbW9uaXRvci1xbXAtZml4LXJhY2Utd2l0 aC1jbGllbnRzLWRpc2Nvbm5lY3RpbmctZWFybC5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9l eHRyYS8wMDAxLW1vbml0b3ItcW1wLWZpeC1yYWNlLXdpdGgtY2xpZW50cy1kaXNjb25uZWN0aW5n LWVhcmwucGF0Y2gKQEAgLTc4LDcgKzc4LDcgQEAgaW5kZXggMjUyZGU4NTY4MS4uOGRiMjhmOTI3 MiAxMDA2NDQKICAKICAvKioKIGRpZmYgLS1naXQgYS9tb25pdG9yL21vbml0b3IuYyBiL21vbml0 b3IvbW9uaXRvci5jCi1pbmRleCBkYzM1MmY5ZTlkLi41NmUxMzA3MDE0IDEwMDY0NAoraW5kZXgg MDFlZGUxYmFiZC4uNTY4MWJjYTM0NiAxMDA2NDQKIC0tLSBhL21vbml0b3IvbW9uaXRvci5jCiAr KysgYi9tb25pdG9yL21vbml0b3IuYwogQEAgLTExNyw2ICsxMTcsMjEgQEAgYm9vbCBtb25pdG9y X2N1cl9pc19xbXAodm9pZCkKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDMt aWRlLWF2b2lkLXBvdGVudGlhbC1kZWFkbG9jay13aGVuLWRyYWluaW5nLWR1cmluZy10ci5wYXRj aCBiL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDMtaWRlLWF2b2lkLXBvdGVudGlhbC1kZWFkbG9j ay13aGVuLWRyYWluaW5nLWR1cmluZy10ci5wYXRjaAppbmRleCA3NzA1ZDcyLi43MmM1MGZlIDEw MDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDAzLWlkZS1hdm9pZC1wb3RlbnRpYWwt ZGVhZGxvY2std2hlbi1kcmFpbmluZy1kdXJpbmctdHIucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNo ZXMvZXh0cmEvMDAwMy1pZGUtYXZvaWQtcG90ZW50aWFsLWRlYWRsb2NrLXdoZW4tZHJhaW5pbmct ZHVyaW5nLXRyLnBhdGNoCkBAIC01NSwxMCArNTUsMTAgQEAgU2lnbmVkLW9mZi1ieTogRmlvbmEg RWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+CiAgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9u cygrKSwgNiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2h3L2lkZS9jb3JlLmMgYi9ody9p ZGUvY29yZS5jCi1pbmRleCBjMzUwOGFjYmIxLi4yODkzNDdhZjU4IDEwMDY0NAoraW5kZXggOGEw NTc5YmZmNC4uMjU0MjU1ZjhkYyAxMDA2NDQKIC0tLSBhL2h3L2lkZS9jb3JlLmMKICsrKyBiL2h3 L2lkZS9jb3JlLmMKLUBAIC00NDQsNyArNDQ0LDcgQEAgc3RhdGljIHZvaWQgaWRlX3RyaW1fYmhf Y2Iodm9pZCAqb3BhcXVlKQorQEAgLTQ1Niw3ICs0NTYsNyBAQCBzdGF0aWMgdm9pZCBpZGVfdHJp bV9iaF9jYih2b2lkICpvcGFxdWUpCiAgICAgIGlvY2ItPmJoID0gTlVMTDsKICAgICAgcWVtdV9h aW9fdW5yZWYoaW9jYik7CiAgCkBAIC02Nyw3ICs2Nyw3IEBAIGluZGV4IGMzNTA4YWNiYjEuLjI4 OTM0N2FmNTggMTAwNjQ0CiAgICAgIGJsa19kZWNfaW5fZmxpZ2h0KGJsayk7CiAgfQogIAotQEAg LTUwNCw2ICs1MDQsOCBAQCBzdGF0aWMgdm9pZCBpZGVfaXNzdWVfdHJpbV9jYih2b2lkICpvcGFx dWUsIGludCByZXQpCitAQCAtNTE2LDYgKzUxNiw4IEBAIHN0YXRpYyB2b2lkIGlkZV9pc3N1ZV90 cmltX2NiKHZvaWQgKm9wYXF1ZSwgaW50IHJldCkKICBkb25lOgogICAgICBpb2NiLT5haW9jYiA9 IE5VTEw7CiAgICAgIGlmIChpb2NiLT5iaCkgewpAQCAtNzYsNyArNzYsNyBAQCBpbmRleCBjMzUw OGFjYmIxLi4yODkzNDdhZjU4IDEwMDY0NAogICAgICAgICAgcmVwbGF5X2JoX3NjaGVkdWxlX2V2 ZW50KGlvY2ItPmJoKTsKICAgICAgfQogIH0KLUBAIC01MTYsOSArNTE4LDYgQEAgQmxvY2tBSU9D QiAqaWRlX2lzc3VlX3RyaW0oCitAQCAtNTI4LDkgKzUzMCw2IEBAIEJsb2NrQUlPQ0IgKmlkZV9p c3N1ZV90cmltKAogICAgICBJREVEZXZpY2UgKmRldiA9IHMtPnVuaXQgPyBzLT5idXMtPnNsYXZl IDogcy0+YnVzLT5tYXN0ZXI7CiAgICAgIFRyaW1BSU9DQiAqaW9jYjsKICAKQEAgLTg2LDcgKzg2 LDcgQEAgaW5kZXggYzM1MDhhY2JiMS4uMjg5MzQ3YWY1OCAxMDA2NDQKICAgICAgaW9jYiA9IGJs a19haW9fZ2V0KCZ0cmltX2Fpb2NiX2luZm8sIHMtPmJsaywgY2IsIGNiX29wYXF1ZSk7CiAgICAg IGlvY2ItPnMgPSBzOwogICAgICBpb2NiLT5iaCA9IHFlbXVfYmhfbmV3X2d1YXJkZWQoaWRlX3Ry aW1fYmhfY2IsIGlvY2IsCi1AQCAtNzQyLDggKzc0MSw5IEBAIHZvaWQgaWRlX2NhbmNlbF9kbWFf c3luYyhJREVTdGF0ZSAqcykKK0BAIC03NTQsOCArNzUzLDkgQEAgdm9pZCBpZGVfY2FuY2VsX2Rt YV9zeW5jKElERVN0YXRlICpzKQogICAgICAgKi8KICAgICAgaWYgKHMtPmJ1cy0+ZG1hLT5haW9j YikgewogICAgICAgICAgdHJhY2VfaWRlX2NhbmNlbF9kbWFfc3luY19yZW1haW5pbmcoKTsKZGlm ZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDQtbWlncmF0aW9uLWJsb2NrLWRpcnR5 LWJpdG1hcC1maXgtbG9hZGluZy1iaXRtYXAtd2hlbi5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2V4 dHJhLzAwMDQtbWlncmF0aW9uLWJsb2NrLWRpcnR5LWJpdG1hcC1maXgtbG9hZGluZy1iaXRtYXAt d2hlbi5wYXRjaAppbmRleCA0ZGFlNmNhLi45NDhlYTM4IDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0 Y2hlcy9leHRyYS8wMDA0LW1pZ3JhdGlvbi1ibG9jay1kaXJ0eS1iaXRtYXAtZml4LWxvYWRpbmct Yml0bWFwLXdoZW4ucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAwNC1taWdyYXRp b24tYmxvY2stZGlydHktYml0bWFwLWZpeC1sb2FkaW5nLWJpdG1hcC13aGVuLnBhdGNoCkBAIC0y MCwxMCArMjAsMTAgQEAgU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1v eC5jb20+CiAgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEv bWlncmF0aW9uL2Jsb2NrLWRpcnR5LWJpdG1hcC5jIGIvbWlncmF0aW9uL2Jsb2NrLWRpcnR5LWJp dG1hcC5jCi1pbmRleCAwMzJmYzVmNDA1Li5lMWFlM2I3MzE2IDEwMDY0NAoraW5kZXggMjQzNDdh YjBmNy4uMDA3MGIxM2I2ZiAxMDA2NDQKIC0tLSBhL21pZ3JhdGlvbi9ibG9jay1kaXJ0eS1iaXRt YXAuYwogKysrIGIvbWlncmF0aW9uL2Jsb2NrLWRpcnR5LWJpdG1hcC5jCi1AQCAtODA1LDggKzgw NSwxMSBAQCBzdGF0aWMgaW50IGRpcnR5X2JpdG1hcF9sb2FkX3N0YXJ0KFFFTVVGaWxlICpmLCBE Qk1Mb2FkU3RhdGUgKnMpCitAQCAtODA5LDggKzgwOSwxMSBAQCBzdGF0aWMgaW50IGRpcnR5X2Jp dG1hcF9sb2FkX3N0YXJ0KFFFTVVGaWxlICpmLCBEQk1Mb2FkU3RhdGUgKnMpCiAgICAgICAgICAg ICAgICAgICAgICAgImRlc3RpbmF0aW9uIiwgYmRydl9kaXJ0eV9iaXRtYXBfbmFtZShzLT5iaXRt YXApKTsKICAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgICB9IGVsc2UgewpAQCAtMzUsNyAr MzUsNyBAQCBpbmRleCAwMzJmYzVmNDA1Li5lMWFlM2I3MzE2IDEwMDY0NAogICAgICAgICAgaWYg KCFzLT5iaXRtYXApIHsKICAgICAgICAgICAgICBlcnJvcl9yZXBvcnRfZXJyKGxvY2FsX2Vycik7 CiAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Ci1AQCAtODMzLDcgKzgzNiwxMCBAQCBzdGF0 aWMgaW50IGRpcnR5X2JpdG1hcF9sb2FkX3N0YXJ0KFFFTVVGaWxlICpmLCBEQk1Mb2FkU3RhdGUg KnMpCitAQCAtODM3LDcgKzg0MCwxMCBAQCBzdGF0aWMgaW50IGRpcnR5X2JpdG1hcF9sb2FkX3N0 YXJ0KFFFTVVGaWxlICpmLCBEQk1Mb2FkU3RhdGUgKnMpCiAgCiAgICAgIGJkcnZfZGlzYWJsZV9k aXJ0eV9iaXRtYXAocy0+Yml0bWFwKTsKICAgICAgaWYgKGZsYWdzICYgRElSVFlfQklUTUFQX01J R19TVEFSVF9GTEFHX0VOQUJMRUQpIHsKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL2V4dHJh LzAwMDUtUmV2ZXJ0LVJldmVydC1ncmFwaC1sb2NrLURpc2FibGUtbG9ja2luZy1mb3Itbm93LnBh dGNoIGIvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAwNS1SZXZlcnQtUmV2ZXJ0LWdyYXBoLWxvY2st RGlzYWJsZS1sb2NraW5nLWZvci1ub3cucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IGYwNjQ4ZDIuLjAwMDAwMDAKLS0tIGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAwNS1SZXZl cnQtUmV2ZXJ0LWdyYXBoLWxvY2stRGlzYWJsZS1sb2NraW5nLWZvci1ub3cucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwxNDAgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmlvbmEgRWJu ZXIgPGYuZWJuZXJAcHJveG1veC5jb20+Ci1EYXRlOiBUaHUsIDI4IFNlcCAyMDIzIDEwOjA3OjAz ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIFJldmVydCAiUmV2ZXJ0ICJncmFwaC1sb2NrOiBEaXNh YmxlIGxvY2tpbmcgZm9yIG5vdyIiCi0KLVRoaXMgcmV2ZXJ0cyBjb21taXQgM2NjZTIyZGVmYjRi MGU0N2NmMTM1NDQ0ZTMwY2M2NzNjZmY1ZWJhZC4KLQotVGhlcmUgYXJlIHN0aWxsIHNvbWUgaXNz dWVzIHdpdGggZ3JhcGggbG9ja2luZywgZS5nLiBkZWFkbG9ja3MgZHVyaW5nCi1iYWNrdXAgY2Fu Y2VsaW5nIFswXS4gQmVjYXVzZSB0aGUgQWlvQ29udGV4dCBsb2NrcyBzdGlsbCBleGlzdCwgaXQK LXNob3VsZCBiZSBzYWZlIHRvIGRpc2FibGUgbG9ja2luZyBhZ2Fpbi4KLQotRnJvbSB0aGUgb3Jp Z2luYWwgODBmYzVkMjYwMCAoImdyYXBoLWxvY2s6IERpc2FibGUgbG9ja2luZyBmb3Igbm93Iik6 Ci0KLT4gV2UgZG9uJ3QgY3VycmVudGx5IHJlbHkgb24gZ3JhcGggbG9ja2luZyB5ZXQuIEl0IGlz IHN1cHBvc2VkIHRvIHJlcGxhY2UKLT4gdGhlIEFpb0NvbnRleHQgbG9jayBldmVudHVhbGx5IHRv IGVuYWJsZSBtdWx0aXF1ZXVlIHN1cHBvcnQsIGJ1dCBhcyBsb25nCi0+IGFzIHdlIHN0aWxsIGhh dmUgdGhlIEFpb0NvbnRleHQgbG9jaywgaXQgaXMgc3VmZmljaWVudCB3aXRob3V0IHRoZSBncmFw aAotPiBsb2NrLiBPbmNlIHRoZSBBaW9Db250ZXh0IGxvY2sgZ29lcyBhd2F5LCB0aGUgZGVhZGxv Y2sgZG9lc24ndCBleGlzdCBhbnkKLT4gbW9yZSBlaXRoZXIgYW5kIHRoaXMgY29tbWl0IGNhbiBi ZSByZXZlcnRlZC4gKE9mIGNvdXJzZSwgaXQgY2FuIGFsc28gYmUKLT4gcmV2ZXJ0ZWQgd2hpbGUg dGhlIEFpb0NvbnRleHQgbG9jayBzdGlsbCBleGlzdHMgaWYgdGhlIGNhbGxlcnMgaGF2ZSBiZWVu Ci0+IGZpeGVkLikKLQotWzBdOiBodHRwczovL2xpc3RzLm5vbmdudS5vcmcvYXJjaGl2ZS9odG1s L3FlbXUtZGV2ZWwvMjAyMy0wOS9tc2cwMDcyOS5odG1sCi0KLVNpZ25lZC1vZmYtYnk6IEZpb25h IEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotLS0tCi0gYmxvY2svZ3JhcGgtbG9jay5jIHwg MjQgKysrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDI0IGluc2VydGlv bnMoKykKLQotZGlmZiAtLWdpdCBhL2Jsb2NrL2dyYXBoLWxvY2suYyBiL2Jsb2NrL2dyYXBoLWxv Y2suYwotaW5kZXggNWU2NmYwMWFlOC4uNWMyODczMjYyYSAxMDA2NDQKLS0tLSBhL2Jsb2NrL2dy YXBoLWxvY2suYwotKysrIGIvYmxvY2svZ3JhcGgtbG9jay5jCi1AQCAtMzAsOCArMzAsMTAgQEAg QmRydkdyYXBoTG9jayBncmFwaF9sb2NrOwotIC8qIFByb3RlY3RzIHRoZSBsaXN0IG9mIGFpb2Nv bnRleHQgYW5kIG9ycGhhbmVkX3JlYWRlcl9jb3VudCAqLwotIHN0YXRpYyBRZW11TXV0ZXggYWlv X2NvbnRleHRfbGlzdF9sb2NrOwotIAotKyNpZiAwCi0gLyogV3JpdHRlbiBhbmQgcmVhZCB3aXRo IGF0b21pYyBvcGVyYXRpb25zLiAqLwotIHN0YXRpYyBpbnQgaGFzX3dyaXRlcjsKLSsjZW5kaWYK LSAKLSAvKgotICAqIEEgcmVhZGVyIGNvcm91dGluZSBjb3VsZCBtb3ZlIGZyb20gYW4gQWlvQ29u dGV4dCB0byBhbm90aGVyLgotQEAgLTg4LDYgKzkwLDcgQEAgdm9pZCB1bnJlZ2lzdGVyX2Fpb2Nv bnRleHQoQWlvQ29udGV4dCAqY3R4KQotICAgICBnX2ZyZWUoY3R4LT5iZHJ2X2dyYXBoKTsKLSB9 Ci0gCi0rI2lmIDAKLSBzdGF0aWMgdWludDMyX3QgcmVhZGVyX2NvdW50KHZvaWQpCi0gewotICAg ICBCZHJ2R3JhcGhSV2xvY2sgKmJyZHZfZ3JhcGg7Ci1AQCAtMTA1LDEyICsxMDgsMTkgQEAgc3Rh dGljIHVpbnQzMl90IHJlYWRlcl9jb3VudCh2b2lkKQotICAgICBhc3NlcnQoKGludDMyX3QpcmQg Pj0gMCk7Ci0gICAgIHJldHVybiByZDsKLSB9Ci0rI2VuZGlmCi0gCi0gdm9pZCBiZHJ2X2dyYXBo X3dybG9jayhCbG9ja0RyaXZlclN0YXRlICpicykKLSB7Ci0rI2lmIDAKLSAgICAgQWlvQ29udGV4 dCAqY3R4ID0gTlVMTDsKLSAKLSAgICAgR0xPQkFMX1NUQVRFX0NPREUoKTsKLSsgICAgLyoKLSsg ICAgICogVE9ETyBTb21lIGNhbGxlcnMgaG9sZCBhbiBBaW9Db250ZXh0IGxvY2sgd2hlbiB0aGlz IGlzIGNhbGxlZCwgd2hpY2gKLSsgICAgICogY2F1c2VzIGRlYWRsb2Nrcy4gUmVlbmFibGUgb25j ZSB0aGUgQWlvQ29udGV4dCBsb2NraW5nIGlzIGNsZWFuZWQgdXAgKG9yCi0rICAgICAqIEFpb0Nv bnRleHQgbG9ja3MgYXJlIGdvbmUpLgotKyAgICAgKi8KLSAgICAgYXNzZXJ0KCFxYXRvbWljX3Jl YWQoJmhhc193cml0ZXIpKTsKLSAKLSAgICAgLyoKLUBAIC0xNTgsMTEgKzE2OCwxMyBAQCB2b2lk IGJkcnZfZ3JhcGhfd3Jsb2NrKEJsb2NrRHJpdmVyU3RhdGUgKmJzKQotICAgICBpZiAoY3R4KSB7 Ci0gICAgICAgICBhaW9fY29udGV4dF9hY3F1aXJlKGJkcnZfZ2V0X2Fpb19jb250ZXh0KGJzKSk7 Ci0gICAgIH0KLSsjZW5kaWYKLSB9Ci0gCi0gdm9pZCBiZHJ2X2dyYXBoX3dydW5sb2NrKHZvaWQp Ci0gewotICAgICBHTE9CQUxfU1RBVEVfQ09ERSgpOwotKyNpZiAwCi0gICAgIFFFTVVfTE9DS19H VUFSRCgmYWlvX2NvbnRleHRfbGlzdF9sb2NrKTsKLSAgICAgYXNzZXJ0KHFhdG9taWNfcmVhZCgm aGFzX3dyaXRlcikpOwotIAotQEAgLTE3NCwxMCArMTg2LDEzIEBAIHZvaWQgYmRydl9ncmFwaF93 cnVubG9jayh2b2lkKQotIAotICAgICAvKiBXYWtlIHVwIGFsbCBjb3JvdXRpbmUgdGhhdCBhcmUg d2FpdGluZyB0byByZWFkIHRoZSBncmFwaCAqLwotICAgICBxZW11X2NvX2VudGVyX2FsbCgmcmVh ZGVyX3F1ZXVlLCAmYWlvX2NvbnRleHRfbGlzdF9sb2NrKTsKLSsjZW5kaWYKLSB9Ci0gCi0gdm9p ZCBjb3JvdXRpbmVfZm4gYmRydl9ncmFwaF9jb19yZGxvY2sodm9pZCkKLSB7Ci0rICAgIC8qIFRP RE8gUmVlbmFibGUgd2hlbiB3cmxvY2sgaXMgcmVlbmFibGVkICovCi0rI2lmIDAKLSAgICAgQmRy dkdyYXBoUldsb2NrICpiZHJ2X2dyYXBoOwotICAgICBiZHJ2X2dyYXBoID0gcWVtdV9nZXRfY3Vy cmVudF9haW9fY29udGV4dCgpLT5iZHJ2X2dyYXBoOwotIAotQEAgLTIzNywxMCArMjUyLDEyIEBA IHZvaWQgY29yb3V0aW5lX2ZuIGJkcnZfZ3JhcGhfY29fcmRsb2NrKHZvaWQpCi0gICAgICAgICAg ICAgcWVtdV9jb19xdWV1ZV93YWl0KCZyZWFkZXJfcXVldWUsICZhaW9fY29udGV4dF9saXN0X2xv Y2spOwotICAgICAgICAgfQotICAgICB9Ci0rI2VuZGlmCi0gfQotIAotIHZvaWQgY29yb3V0aW5l X2ZuIGJkcnZfZ3JhcGhfY29fcmR1bmxvY2sodm9pZCkKLSB7Ci0rI2lmIDAKLSAgICAgQmRydkdy YXBoUldsb2NrICpiZHJ2X2dyYXBoOwotICAgICBiZHJ2X2dyYXBoID0gcWVtdV9nZXRfY3VycmVu dF9haW9fY29udGV4dCgpLT5iZHJ2X2dyYXBoOwotIAotQEAgLTI1OCw2ICsyNzUsNyBAQCB2b2lk IGNvcm91dGluZV9mbiBiZHJ2X2dyYXBoX2NvX3JkdW5sb2NrKHZvaWQpCi0gICAgIGlmIChxYXRv bWljX3JlYWQoJmhhc193cml0ZXIpKSB7Ci0gICAgICAgICBhaW9fd2FpdF9raWNrKCk7Ci0gICAg IH0KLSsjZW5kaWYKLSB9Ci0gCi0gdm9pZCBiZHJ2X2dyYXBoX3JkbG9ja19tYWluX2xvb3Aodm9p ZCkKLUBAIC0yNzUsMTMgKzI5MywxOSBAQCB2b2lkIGJkcnZfZ3JhcGhfcmR1bmxvY2tfbWFpbl9s b29wKHZvaWQpCi0gdm9pZCBhc3NlcnRfYmRydl9ncmFwaF9yZWFkYWJsZSh2b2lkKQotIHsKLSAg ICAgLyogcmVhZGVyX2NvdW50KCkgaXMgc2xvdyBkdWUgdG8gYWlvX2NvbnRleHRfbGlzdF9sb2Nr IGxvY2sgY29udGVudGlvbiAqLwotKyAgICAvKiBUT0RPIFJlZW5hYmxlIHdoZW4gd3Jsb2NrIGlz IHJlZW5hYmxlZCAqLwotKyNpZiAwCi0gI2lmZGVmIENPTkZJR19ERUJVR19HUkFQSF9MT0NLCi0g ICAgIGFzc2VydChxZW11X2luX21haW5fdGhyZWFkKCkgfHwgcmVhZGVyX2NvdW50KCkpOwotICNl bmRpZgotKyNlbmRpZgotIH0KLSAKLSB2b2lkIGFzc2VydF9iZHJ2X2dyYXBoX3dyaXRhYmxlKHZv aWQpCi0gewotICAgICBhc3NlcnQocWVtdV9pbl9tYWluX3RocmVhZCgpKTsKLSsgICAgLyogVE9E TyBSZWVuYWJsZSB3aGVuIHdybG9jayBpcyByZWVuYWJsZWQgKi8KLSsjaWYgMAotICAgICBhc3Nl cnQocWF0b21pY19yZWFkKCZoYXNfd3JpdGVyKSk7Ci0rI2VuZGlmCi0gfQpkaWZmIC0tZ2l0IGEv ZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAwNy1SZXZlcnQteDg2LWFjcGktd29ya2Fyb3VuZC1XaW5k b3dzLW5vdC1oYW5kbGluZy1uYW1lLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAwNS1S ZXZlcnQteDg2LWFjcGktd29ya2Fyb3VuZC1XaW5kb3dzLW5vdC1oYW5kbGluZy1uYW1lLnBhdGNo CnNpbWlsYXJpdHkgaW5kZXggOTUlCnJlbmFtZSBmcm9tIGRlYmlhbi9wYXRjaGVzL2V4dHJhLzAw MDctUmV2ZXJ0LXg4Ni1hY3BpLXdvcmthcm91bmQtV2luZG93cy1ub3QtaGFuZGxpbmctbmFtZS5w YXRjaApyZW5hbWUgdG8gZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAwNS1SZXZlcnQteDg2LWFjcGkt d29ya2Fyb3VuZC1XaW5kb3dzLW5vdC1oYW5kbGluZy1uYW1lLnBhdGNoCmluZGV4IDAyZDliNmIu LjBiZGY5ZDkgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDctUmV2ZXJ0LXg4 Ni1hY3BpLXdvcmthcm91bmQtV2luZG93cy1ub3QtaGFuZGxpbmctbmFtZS5wYXRjaAorKysgYi9k ZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDA1LVJldmVydC14ODYtYWNwaS13b3JrYXJvdW5kLVdpbmRv d3Mtbm90LWhhbmRsaW5nLW5hbWUucGF0Y2gKQEAgLTI0LDEwICsyNCwxMCBAQCBTaWduZWQtb2Zm LWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNvbT4KICAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvaHcvaTM4Ni9h Y3BpLWJ1aWxkLmMgYi9ody9pMzg2L2FjcGktYnVpbGQuYwotaW5kZXggYmIxMmIwYWQ0My4uZGUx NGQzYzNkYSAxMDA2NDQKK2luZGV4IDFlMTc4MzQxZGUuLmQ4Njk0YjMzOGUgMTAwNjQ0CiAtLS0g YS9ody9pMzg2L2FjcGktYnVpbGQuYwogKysrIGIvaHcvaTM4Ni9hY3BpLWJ1aWxkLmMKLUBAIC0z NjIsMTMgKzM2Miw5IEBAIEFtbCAqYW1sX3BjaV9kZXZpY2VfZHNtKHZvaWQpCitAQCAtMzU3LDEz ICszNTcsOSBAQCBBbWwgKmFtbF9wY2lfZGV2aWNlX2RzbSh2b2lkKQogICAgICB7CiAgICAgICAg ICBBbWwgKnBhcmFtcyA9IGFtbF9sb2NhbCgwKTsKICAgICAgICAgIEFtbCAqcGtnID0gYW1sX3Bh Y2thZ2UoMik7CmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDA2LW1pZ3JhdGlv bi1zdGF0ZXMtd29ya2Fyb3VuZC1zbmFwc2hvdC1wZXJmb3JtYW5jZS1yZWcucGF0Y2ggYi9kZWJp YW4vcGF0Y2hlcy9leHRyYS8wMDA2LW1pZ3JhdGlvbi1zdGF0ZXMtd29ya2Fyb3VuZC1zbmFwc2hv dC1wZXJmb3JtYW5jZS1yZWcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgw MzE4MzcuLjAwMDAwMDAKLS0tIGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAwNi1taWdyYXRpb24t c3RhdGVzLXdvcmthcm91bmQtc25hcHNob3QtcGVyZm9ybWFuY2UtcmVnLnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsNTcgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmlvbmEgRWJuZXIg PGYuZWJuZXJAcHJveG1veC5jb20+Ci1EYXRlOiBUaHUsIDI4IFNlcCAyMDIzIDExOjE5OjE0ICsw MjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG1pZ3JhdGlvbiBzdGF0ZXM6IHdvcmthcm91bmQgc25hcHNo b3QgcGVyZm9ybWFuY2UgcmVncmVzc2lvbgotCi1Db21taXQgODEzY2Q2MTYgKCJtaWdyYXRpb246 IFVzZSBtaWdyYXRpb25fdHJhbnNmZXJyZWRfYnl0ZXMoKSB0bwotY2FsY3VsYXRlIHJhdGVfbGlt aXQiKSBpbnRyb2R1Y2VkIGEgcHJvaGliaXRpdmUgcGVyZm9ybWFuY2UgcmVncmVzc2lvbgotd2hl biB0YWtpbmcgYSBzbmFwc2hvdCBbMF0uIFRoZSByZWFzb24gdHVybnMgb3V0IHRvIGJlIHRoZSBm bHVzaGluZwotZG9uZSBieSBtaWdyYXRpb25fdHJhbnNmZXJyZWRfYnl0ZXMoKQotCi1KdXN0IHVz ZSBhIF9ub2ZsdXNoIHZlcnNpb24gb2YgdGhlIHJlbGV2YW50IGZ1bmN0aW9uIGFzIGEgd29ya2Fy b3VuZAotdW50aWwgdXBzdHJlYW0gZml4ZXMgdGhlIGlzc3VlLiBUaGlzIGlzIGluc3BpcmVkIGJ5 IGEgbm90LWFwcGxpZWQKLXVwc3RyZWFtIHNlcmllcyBbMV0sIGJ1dCBkb2luZyB0aGUgdmVyeSBt aW5pbXVtIHRvIGF2b2lkIHRoZQotcmVncmVzc2lvbi4KLQotWzBdOiBodHRwczovL2dpdGxhYi5j b20vcWVtdS1wcm9qZWN0L3FlbXUvLS9pc3N1ZXMvMTgyMQotWzFdOiBodHRwczovL2xpc3RzLm5v bmdudS5vcmcvYXJjaGl2ZS9odG1sL3FlbXUtZGV2ZWwvMjAyMy0wNS9tc2cwNzcwOC5odG1sCi0K LVNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotLS0tCi0g bWlncmF0aW9uL21pZ3JhdGlvbi1zdGF0cy5jIHwgMTYgKysrKysrKysrKysrKysrLQotIDEgZmls ZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQg YS9taWdyYXRpb24vbWlncmF0aW9uLXN0YXRzLmMgYi9taWdyYXRpb24vbWlncmF0aW9uLXN0YXRz LmMKLWluZGV4IDA5NWQ2ZDc1YmIuLjgwNzNjOGViYWEgMTAwNjQ0Ci0tLS0gYS9taWdyYXRpb24v bWlncmF0aW9uLXN0YXRzLmMKLSsrKyBiL21pZ3JhdGlvbi9taWdyYXRpb24tc3RhdHMuYwotQEAg LTE4LDYgKzE4LDIwIEBACi0gCi0gTWlncmF0aW9uQXRvbWljU3RhdHMgbWlnX3N0YXRzOwotIAot Ky8qCi0rICogU2FtZSBhcyBtaWdyYXRpb25fdHJhbnNmZXJyZWRfYnl0ZXMgYmVsb3csIGJ1dCB1 c2luZyB0aGUgX25vZmx1c2gKLSsgKiB2YXJpYW50IG9mIHFlbXVfZmlsZV90cmFuc2ZlcnJlZCgp IHRvIGF2b2lkIGEgcGVyZm9ybWFuY2UKLSsgKiByZWdyZXNzaW9uIGluIG1pZ3JhdGlvbl9yYXRl X2V4Y2VlZGVkKCkuCi0rICovCi0rc3RhdGljIHVpbnQ2NF90IG1pZ3JhdGlvbl90cmFuc2ZlcnJl ZF9ieXRlc19ub2ZsdXNoKFFFTVVGaWxlICpmKQotK3sKLSsgICAgdWludDY0X3QgbXVsdGlmZCA9 IHN0YXQ2NF9nZXQoJm1pZ19zdGF0cy5tdWx0aWZkX2J5dGVzKTsKLSsgICAgdWludDY0X3QgcWVt dV9maWxlID0gcWVtdV9maWxlX3RyYW5zZmVycmVkX25vZmx1c2goZik7Ci0rCi0rICAgIHRyYWNl X21pZ3JhdGlvbl90cmFuc2ZlcnJlZF9ieXRlcyhxZW11X2ZpbGUsIG11bHRpZmQpOwotKyAgICBy ZXR1cm4gcWVtdV9maWxlICsgbXVsdGlmZDsKLSt9Ci0rCi0gYm9vbCBtaWdyYXRpb25fcmF0ZV9l eGNlZWRlZChRRU1VRmlsZSAqZikKLSB7Ci0gICAgIGlmIChxZW11X2ZpbGVfZ2V0X2Vycm9yKGYp KSB7Ci1AQCAtMjUsNyArMzksNyBAQCBib29sIG1pZ3JhdGlvbl9yYXRlX2V4Y2VlZGVkKFFFTVVG aWxlICpmKQotICAgICB9Ci0gCi0gICAgIHVpbnQ2NF90IHJhdGVfbGltaXRfc3RhcnQgPSBzdGF0 NjRfZ2V0KCZtaWdfc3RhdHMucmF0ZV9saW1pdF9zdGFydCk7Ci0tICAgIHVpbnQ2NF90IHJhdGVf bGltaXRfY3VycmVudCA9IG1pZ3JhdGlvbl90cmFuc2ZlcnJlZF9ieXRlcyhmKTsKLSsgICAgdWlu dDY0X3QgcmF0ZV9saW1pdF9jdXJyZW50ID0gbWlncmF0aW9uX3RyYW5zZmVycmVkX2J5dGVzX25v Zmx1c2goZik7Ci0gICAgIHVpbnQ2NF90IHJhdGVfbGltaXRfdXNlZCA9IHJhdGVfbGltaXRfY3Vy cmVudCAtIHJhdGVfbGltaXRfc3RhcnQ7Ci0gICAgIHVpbnQ2NF90IHJhdGVfbGltaXRfbWF4ID0g c3RhdDY0X2dldCgmbWlnX3N0YXRzLnJhdGVfbGltaXRfbWF4KTsKLSAKZGlmZiAtLWdpdCBhL2Rl Ymlhbi9wYXRjaGVzL2V4dHJhLzAwMTItcWVtdV9pbml0LWluY3JlYXNlLU5PRklMRS1zb2Z0LWxp bWl0LW9uLVBPU0lYLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAwNi1xZW11X2luaXQt aW5jcmVhc2UtTk9GSUxFLXNvZnQtbGltaXQtb24tUE9TSVgucGF0Y2gKc2ltaWxhcml0eSBpbmRl eCA4MyUKcmVuYW1lIGZyb20gZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAxMi1xZW11X2luaXQtaW5j cmVhc2UtTk9GSUxFLXNvZnQtbGltaXQtb24tUE9TSVgucGF0Y2gKcmVuYW1lIHRvIGRlYmlhbi9w YXRjaGVzL2V4dHJhLzAwMDYtcWVtdV9pbml0LWluY3JlYXNlLU5PRklMRS1zb2Z0LWxpbWl0LW9u LVBPU0lYLnBhdGNoCmluZGV4IGNkYzFlMDYuLjVhMDMyY2MgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9w YXRjaGVzL2V4dHJhLzAwMTItcWVtdV9pbml0LWluY3JlYXNlLU5PRklMRS1zb2Z0LWxpbWl0LW9u LVBPU0lYLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDYtcWVtdV9pbml0LWlu Y3JlYXNlLU5PRklMRS1zb2Z0LWxpbWl0LW9uLVBPU0lYLnBhdGNoCkBAIC0zMywyNiArMzMsMjYg QEAgUmV2aWV3ZWQtYnk6IERhbmllbCBQLiBCZXJyYW5nw6kgPGJlcnJhbmdlQHJlZGhhdC5jb20+ CiAgaW5jbHVkZS9zeXNlbXUvb3MtcG9zaXguaCB8ICAxICsKICBpbmNsdWRlL3N5c2VtdS9vcy13 aW4zMi5oIHwgIDUgKysrKysKICBvcy1wb3NpeC5jICAgICAgICAgICAgICAgIHwgMjIgKysrKysr KysrKysrKysrKysrKysrKwotIHNvZnRtbXUvdmwuYyAgICAgICAgICAgICAgfCAgMiArKworIHN5 c3RlbS92bC5jICAgICAgICAgICAgICAgfCAgMiArKwogIDQgZmlsZXMgY2hhbmdlZCwgMzAgaW5z ZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zeXNlbXUvb3MtcG9zaXguaCBiL2lu Y2x1ZGUvc3lzZW11L29zLXBvc2l4LmgKLWluZGV4IDEwMzBkMzk5MDQuLmVkYzQxNWFmZjUgMTAw NjQ0CitpbmRleCBkZmYzMmFlMTg1Li5iODgxYWM2YzZmIDEwMDY0NAogLS0tIGEvaW5jbHVkZS9z eXNlbXUvb3MtcG9zaXguaAogKysrIGIvaW5jbHVkZS9zeXNlbXUvb3MtcG9zaXguaAotQEAgLTQ4 LDYgKzQ4LDcgQEAgdm9pZCBvc19zZXR1cF9lYXJseV9zaWduYWxfaGFuZGxpbmcodm9pZCk7Ci0g dm9pZCBvc19zZXRfcHJvY19uYW1lKGNvbnN0IGNoYXIgKnMpOwotIHZvaWQgb3Nfc2V0dXBfc2ln bmFsX2hhbmRsaW5nKHZvaWQpOworQEAgLTUxLDYgKzUxLDcgQEAgYm9vbCBpc19kYWVtb25pemVk KHZvaWQpOwogIHZvaWQgb3NfZGFlbW9uaXplKHZvaWQpOworIGJvb2wgb3Nfc2V0X3J1bmFzKGNv bnN0IGNoYXIgKnVzZXJfaWQpOworIHZvaWQgb3Nfc2V0X2Nocm9vdChjb25zdCBjaGFyICpwYXRo KTsKICt2b2lkIG9zX3NldHVwX2xpbWl0cyh2b2lkKTsKICB2b2lkIG9zX3NldHVwX3Bvc3Qodm9p ZCk7CiAgaW50IG9zX21sb2NrKHZvaWQpOwogIAogZGlmZiAtLWdpdCBhL2luY2x1ZGUvc3lzZW11 L29zLXdpbjMyLmggYi9pbmNsdWRlL3N5c2VtdS9vcy13aW4zMi5oCi1pbmRleCA5MWFhMGQ3ZWMw Li5mNmUyM2ZlMDFlIDEwMDY0NAoraW5kZXggMTA0N2QyNjBjYi4uMTA2ZjE1NTAzNyAxMDA2NDQK IC0tLSBhL2luY2x1ZGUvc3lzZW11L29zLXdpbjMyLmgKICsrKyBiL2luY2x1ZGUvc3lzZW11L29z LXdpbjMyLmgKLUBAIC0xMjksNiArMTI5LDExIEBAIHN0YXRpYyBpbmxpbmUgaW50IG9zX21sb2Nr KHZvaWQpCitAQCAtMTI4LDYgKzEyOCwxMSBAQCBzdGF0aWMgaW5saW5lIGludCBvc19tbG9jayh2 b2lkKQogICAgICByZXR1cm4gLUVOT1NZUzsKICB9CiAgCkBAIC02NSw3ICs2NSw3IEBAIGluZGV4 IDkxYWEwZDdlYzAuLmY2ZTIzZmUwMWUgMTAwNjQ0CiAgCiAgI2lmICFkZWZpbmVkKGxzZWVrKQog ZGlmZiAtLWdpdCBhL29zLXBvc2l4LmMgYi9vcy1wb3NpeC5jCi1pbmRleCBjZmNiOTY1MzNjLi4w Y2MxZDk5MWIxIDEwMDY0NAoraW5kZXggNTJlZjY5OTBmZi4uYTQyODRlMmMwNyAxMDA2NDQKIC0t LSBhL29zLXBvc2l4LmMKICsrKyBiL29zLXBvc2l4LmMKIEBAIC0yNCw2ICsyNCw3IEBACkBAIC03 Niw3ICs3Niw3IEBAIGluZGV4IGNmY2I5NjUzM2MuLjBjYzFkOTkxYjEgMTAwNjQ0CiAgI2luY2x1 ZGUgPHN5cy93YWl0Lmg+CiAgI2luY2x1ZGUgPHB3ZC5oPgogICNpbmNsdWRlIDxncnAuaD4KLUBA IC0yODYsNiArMjg3LDI3IEBAIHZvaWQgb3NfZGFlbW9uaXplKHZvaWQpCitAQCAtMjU2LDYgKzI1 NywyNyBAQCB2b2lkIG9zX2RhZW1vbml6ZSh2b2lkKQogICAgICB9CiAgfQogIApAQCAtMTA0LDEx ICsxMDQsMTEgQEAgaW5kZXggY2ZjYjk2NTMzYy4uMGNjMWQ5OTFiMSAxMDA2NDQKICB2b2lkIG9z X3NldHVwX3Bvc3Qodm9pZCkKICB7CiAgICAgIGludCBmZCA9IDA7Ci1kaWZmIC0tZ2l0IGEvc29m dG1tdS92bC5jIGIvc29mdG1tdS92bC5jCi1pbmRleCBjOWU5ZWRlMjM3Li5iYTZhZDhhOGRmIDEw MDY0NAotLS0tIGEvc29mdG1tdS92bC5jCi0rKysgYi9zb2Z0bW11L3ZsLmMKLUBAIC0yNzEzLDYg KzI3MTMsOCBAQCB2b2lkIHFlbXVfaW5pdChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCitkaWZmIC0t Z2l0IGEvc3lzdGVtL3ZsLmMgYi9zeXN0ZW0vdmwuYworaW5kZXggZTE4ZmEzY2U0Ni4uZDJhM2Iz ZjQ1NyAxMDA2NDQKKy0tLSBhL3N5c3RlbS92bC5jCisrKysgYi9zeXN0ZW0vdmwuYworQEAgLTI3 ODIsNiArMjc4Miw4IEBAIHZvaWQgcWVtdV9pbml0KGludCBhcmdjLCBjaGFyICoqYXJndikKICAg ICAgZXJyb3JfaW5pdChhcmd2WzBdKTsKICAgICAgcWVtdV9pbml0X2V4ZWNfZGlyKGFyZ3ZbMF0p OwogIApkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAwNy1taXJyb3ItRG9uLXQt Y2FsbC1qb2JfcGF1c2VfcG9pbnQtdW5kZXItZ3JhcGgtbG9jay5wYXRjaCBiL2RlYmlhbi9wYXRj aGVzL2V4dHJhLzAwMDctbWlycm9yLURvbi10LWNhbGwtam9iX3BhdXNlX3BvaW50LXVuZGVyLWdy YXBoLWxvY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQ0MTk3 YwotLS0gL2Rldi9udWxsCisrKyBiL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDctbWlycm9yLURv bi10LWNhbGwtam9iX3BhdXNlX3BvaW50LXVuZGVyLWdyYXBoLWxvY2sucGF0Y2gKQEAgLTAsMCAr MSw3OSBAQAorRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNv bT4KK0RhdGU6IFdlZCwgMTMgTWFyIDIwMjQgMTY6MzA6MDAgKzAxMDAKK1N1YmplY3Q6IFtQQVRD SF0gbWlycm9yOiBEb24ndCBjYWxsIGpvYl9wYXVzZV9wb2ludCgpIHVuZGVyIGdyYXBoIGxvY2sK KworQ2FsbGluZyBqb2JfcGF1c2VfcG9pbnQoKSB3aGlsZSBob2xkaW5nIHRoZSBncmFwaCByZWFk ZXIgbG9jaworcG90ZW50aWFsbHkgcmVzdWx0cyBpbiBhIGRlYWRsb2NrOiBiZHJ2X2dyYXBoX3dy bG9jaygpIGZpcnN0IGRyYWlucworZXZlcnl0aGluZywgaW5jbHVkaW5nIHRoZSBtaXJyb3Igam9i LCB3aGljaCBwYXVzZXMgaXQuIFRoZSBqb2IgaXMgb25seQordW5wYXVzZWQgYXQgdGhlIGVuZCBv ZiB0aGUgZHJhaW4gc2VjdGlvbiwgd2hpY2ggaXMgd2hlbiB0aGUgZ3JhcGggd3JpdGVyCitsb2Nr IGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSB0YWtlbi4gSG93ZXZlciwgaWYgdGhlIGpvYiBoYXBwZW5z IHRvIGJlCitwYXVzZWQgYXQgYSBwYXVzZSBwb2ludCB3aGVyZSBpdCBzdGlsbCBob2xkcyB0aGUg cmVhZGVyIGxvY2ssIHRoZSB3cml0ZXIKK2xvY2sgY2FuJ3QgYmUgdGFrZW4gYXMgbG9uZyBhcyB0 aGUgam9iIGlzIHN0aWxsIHBhdXNlZC4KKworTWFyayBqb2JfcGF1c2VfcG9pbnQoKSBhcyBHUkFQ SF9VTkxPQ0tFRCBhbmQgZml4IG1pcnJvciBhY2NvcmRpbmdseS4KKworQ2M6IHFlbXUtc3RhYmxl QG5vbmdudS5vcmcKK0J1Z2xpbms6IGh0dHBzOi8vaXNzdWVzLnJlZGhhdC5jb20vYnJvd3NlL1JI RUwtMjgxMjUKK0ZpeGVzOiAwMDQ5MTVhOTZhN2EgKCJibG9jazogUHJvdGVjdCBicy0+YmFja2lu ZyB3aXRoIGdyYXBoX2xvY2siKQorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVk aGF0LmNvbT4KK01lc3NhZ2UtSUQ6IDwyMDI0MDMxMzE1MzAwMC4zMzEyMS0xLWt3b2xmQHJlZGhh dC5jb20+CitSZXZpZXdlZC1ieTogRXJpYyBCbGFrZSA8ZWJsYWtlQHJlZGhhdC5jb20+CitTaWdu ZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorKGNoZXJyeSBwaWNrZWQg ZnJvbSBjb21taXQgYWU1YTQwZTg1ODExODU2NTRhNjY3ZmJiZjdlNGFkYmMyYTJhM2U0NSkKK1Np Z25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgorLS0tCisgYmxv Y2svbWlycm9yLmMgICAgIHwgMTAgKysrKysrLS0tLQorIGluY2x1ZGUvcWVtdS9qb2IuaCB8ICAy ICstCisgMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9ibG9jay9taXJyb3IuYyBiL2Jsb2NrL21pcnJvci5jCitpbmRleCBjZDlk M2FkNGE4Li5hYmJkZGIzOWU0IDEwMDY0NAorLS0tIGEvYmxvY2svbWlycm9yLmMKKysrKyBiL2Js b2NrL21pcnJvci5jCitAQCAtNDc5LDkgKzQ3OSw5IEBAIHN0YXRpYyB1bnNpZ25lZCBtaXJyb3Jf cGVyZm9ybShNaXJyb3JCbG9ja0pvYiAqcywgaW50NjRfdCBvZmZzZXQsCisgICAgIHJldHVybiBi eXRlc19oYW5kbGVkOworIH0KKyAKKy1zdGF0aWMgdm9pZCBjb3JvdXRpbmVfZm4gR1JBUEhfUkRM T0NLIG1pcnJvcl9pdGVyYXRpb24oTWlycm9yQmxvY2tKb2IgKnMpCisrc3RhdGljIHZvaWQgY29y b3V0aW5lX2ZuIEdSQVBIX1VOTE9DS0VEIG1pcnJvcl9pdGVyYXRpb24oTWlycm9yQmxvY2tKb2Ig KnMpCisgeworLSAgICBCbG9ja0RyaXZlclN0YXRlICpzb3VyY2UgPSBzLT5taXJyb3JfdG9wX2Jz LT5iYWNraW5nLT5iczsKKysgICAgQmxvY2tEcml2ZXJTdGF0ZSAqc291cmNlOworICAgICBNaXJy b3JPcCAqcHNldWRvX29wOworICAgICBpbnQ2NF90IG9mZnNldDsKKyAgICAgLyogQXQgbGVhc3Qg dGhlIGZpcnN0IGRpcnR5IGNodW5rIGlzIG1pcnJvcmVkIGluIG9uZSBpdGVyYXRpb24uICovCitA QCAtNDg5LDYgKzQ4OSwxMCBAQCBzdGF0aWMgdm9pZCBjb3JvdXRpbmVfZm4gR1JBUEhfUkRMT0NL IG1pcnJvcl9pdGVyYXRpb24oTWlycm9yQmxvY2tKb2IgKnMpCisgICAgIGJvb2wgd3JpdGVfemVy b2VzX29rID0gYmRydl9jYW5fd3JpdGVfemVyb2VzX3dpdGhfdW5tYXAoYmxrX2JzKHMtPnRhcmdl dCkpOworICAgICBpbnQgbWF4X2lvX2J5dGVzID0gTUFYKHMtPmJ1Zl9zaXplIC8gTUFYX0lOX0ZM SUdIVCwgTUFYX0lPX0JZVEVTKTsKKyAKKysgICAgYmRydl9ncmFwaF9jb19yZGxvY2soKTsKKysg ICAgc291cmNlID0gcy0+bWlycm9yX3RvcF9icy0+YmFja2luZy0+YnM7CisrICAgIGJkcnZfZ3Jh cGhfY29fcmR1bmxvY2soKTsKKysKKyAgICAgYmRydl9kaXJ0eV9iaXRtYXBfbG9jayhzLT5kaXJ0 eV9iaXRtYXApOworICAgICBvZmZzZXQgPSBiZHJ2X2RpcnR5X2l0ZXJfbmV4dChzLT5kYmkpOwor ICAgICBpZiAob2Zmc2V0IDwgMCkgeworQEAgLTEwNzgsOSArMTA4Miw3IEBAIHN0YXRpYyBpbnQg Y29yb3V0aW5lX2ZuIG1pcnJvcl9ydW4oSm9iICpqb2IsIEVycm9yICoqZXJycCkKKyAgICAgICAg ICAgICAgICAgbWlycm9yX3dhaXRfZm9yX2ZyZWVfaW5fZmxpZ2h0X3Nsb3Qocyk7CisgICAgICAg ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgIH0gZWxzZSBpZiAoY250ICE9IDApIHsK Ky0gICAgICAgICAgICAgICAgYmRydl9ncmFwaF9jb19yZGxvY2soKTsKKyAgICAgICAgICAgICAg ICAgbWlycm9yX2l0ZXJhdGlvbihzKTsKKy0gICAgICAgICAgICAgICAgYmRydl9ncmFwaF9jb19y ZHVubG9jaygpOworICAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAKK2RpZmYgLS1naXQgYS9p bmNsdWRlL3FlbXUvam9iLmggYi9pbmNsdWRlL3FlbXUvam9iLmgKK2luZGV4IGU1MDI3ODdkZDgu LmI0YmMyZTE3NGIgMTAwNjQ0CistLS0gYS9pbmNsdWRlL3FlbXUvam9iLmgKKysrKyBiL2luY2x1 ZGUvcWVtdS9qb2IuaAorQEAgLTUwMyw3ICs1MDMsNyBAQCB2b2lkIGpvYl9lbnRlcihKb2IgKmpv Yik7CisgICoKKyAgKiBDYWxsZWQgd2l0aCBqb2JfbXV0ZXggKm5vdCogaGVsZC4KKyAgKi8KKy12 b2lkIGNvcm91dGluZV9mbiBqb2JfcGF1c2VfcG9pbnQoSm9iICpqb2IpOworK3ZvaWQgY29yb3V0 aW5lX2ZuIEdSQVBIX1VOTE9DS0VEIGpvYl9wYXVzZV9wb2ludChKb2IgKmpvYik7CisgCisgLyoq CisgICogQGpvYjogVGhlIGpvYiB0aGF0IGNhbGxzIHRoZSBmdW5jdGlvbi4KZGlmZiAtLWdpdCBh L2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDgtdGFyZ2V0LWkzODYtdGhlLXNneF9lcGNfZ2V0X3Nl Y3Rpb24tc3R1Yi1pcy1yZWFjaGFibC5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDgt dGFyZ2V0LWkzODYtdGhlLXNneF9lcGNfZ2V0X3NlY3Rpb24tc3R1Yi1pcy1yZWFjaGFibC5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTk0NjM1Zi4uMDAwMDAwMAotLS0gYS9k ZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDA4LXRhcmdldC1pMzg2LXRoZS1zZ3hfZXBjX2dldF9zZWN0 aW9uLXN0dWItaXMtcmVhY2hhYmwucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBA Ci1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29t PgotRGF0ZTogVHVlLCAxIEZlYiAyMDIyIDIwOjA5OjQxICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hd IHRhcmdldC9pMzg2OiB0aGUgc2d4X2VwY19nZXRfc2VjdGlvbiBzdHViIGlzIHJlYWNoYWJsZQot TUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYt OAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1UaGUgc2d4X2VwY19nZXRfc2Vj dGlvbiBzdHViIGlzIHJlYWNoYWJsZSBmcm9tIGNwdV94ODZfY3B1aWQuICBJdAotc2hvdWxkIG5v dCBhc3NlcnQsIGluc3RlYWQgaXQgc2hvdWxkIGp1c3QgcmV0dXJuIHRydWUganVzdCBsaWtlCi10 aGUgInJlYWwiIHNneF9lcGNfZ2V0X3NlY3Rpb24gZG9lcyB3aGVuIFNHWCBpcyBkaXNhYmxlZC4K LQotUmVwb3J0ZWQtYnk6IFZsYWRpbcOtciBCZW5lxaEgPHZiZW5lc0ByZWRoYXQuY29tPgotQ2M6 IHFlbXUtc3RhYmxlQG5vbmdudS5vcmcKLVNpZ25lZC1vZmYtYnk6IFBhb2xvIEJvbnppbmkgPHBi b256aW5pQHJlZGhhdC5jb20+Ci1NZXNzYWdlLUlEOiA8MjAyMjAyMDExOTA5NDEuMTA2MDAxLTEt cGJvbnppbmlAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IFBhb2xvIEJvbnppbmkgPHBib256 aW5pQHJlZGhhdC5jb20+Ci0oY2hlcnJ5LXBpY2tlZCBmcm9tIGNvbW1pdCAyMTk2MTU3NDA0MjVk OTY4MzU4ODIwN2I0MGEzNjVlNjc0MTY5MWE2KQotU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJuZXIg PGYuZWJuZXJAcHJveG1veC5jb20+Ci0tLS0KLSBody9pMzg2L3NneC1zdHViLmMgfCAyICstCi0g MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1n aXQgYS9ody9pMzg2L3NneC1zdHViLmMgYi9ody9pMzg2L3NneC1zdHViLmMKLWluZGV4IDI2ODMz ZWIyMzMuLjE2YjFkZmQ5MGIgMTAwNjQ0Ci0tLS0gYS9ody9pMzg2L3NneC1zdHViLmMKLSsrKyBi L2h3L2kzODYvc2d4LXN0dWIuYwotQEAgLTM0LDUgKzM0LDUgQEAgdm9pZCBwY19tYWNoaW5lX2lu aXRfc2d4X2VwYyhQQ01hY2hpbmVTdGF0ZSAqcGNtcykKLSAKLSBib29sIHNneF9lcGNfZ2V0X3Nl Y3Rpb24oaW50IHNlY3Rpb25fbnIsIHVpbnQ2NF90ICphZGRyLCB1aW50NjRfdCAqc2l6ZSkKLSB7 Ci0tICAgIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCk7Ci0rICAgIHJldHVybiB0cnVlOwotIH0KZGlm ZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDktdWktY2xpcGJvYXJkLW1hcmstdHlw ZS1hcy1ub3QtYXZhaWxhYmxlLXdoZW4tdGhlcmUtaS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2V4 dHJhLzAwMDktdWktY2xpcGJvYXJkLW1hcmstdHlwZS1hcy1ub3QtYXZhaWxhYmxlLXdoZW4tdGhl cmUtaS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGIwOTA2My4uMDAwMDAw MAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDA5LXVpLWNsaXBib2FyZC1tYXJrLXR5cGUt YXMtbm90LWF2YWlsYWJsZS13aGVuLXRoZXJlLWkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4 NiArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94 bW94LmNvbT4KLURhdGU6IFdlZCwgMjQgSmFuIDIwMjQgMTE6NTc6NDggKzAxMDAKLVN1YmplY3Q6 IFtQQVRDSF0gdWkvY2xpcGJvYXJkOiBtYXJrIHR5cGUgYXMgbm90IGF2YWlsYWJsZSB3aGVuIHRo ZXJlIGlzIG5vCi0gZGF0YQotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9w bGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1X aXRoIFZOQywgYSBjbGllbnQgY2FuIHNlbmQgYSBub24tZXh0ZW5kZWQgVk5DX01TR19DTElFTlRf Q1VUX1RFWFQKLW1lc3NhZ2Ugd2l0aCBsZW49MC4gSW4gcWVtdV9jbGlwYm9hcmRfc2V0X2RhdGEo KSwgdGhlIGNsaXBib2FyZCBpbmZvCi13aWxsIGJlIHVwZGF0ZWQgc2V0dGluZyBkYXRhIHRvIE5V TEwgKGJlY2F1c2UgZ19tZW1kdXAoZGF0YSwgc2l6ZSkKLXJldHVybnMgTlVMTCB3aGVuIHNpemUg aXMgMCkuIElmIHRoZSBjbGllbnQgZG9lcyBub3Qgc2V0IHRoZQotVk5DX0VOQ09ESU5HX0NMSVBC T0FSRF9FWFQgZmVhdHVyZSB3aGVuIHNldHRpbmcgdXAgdGhlIGVuY29kaW5ncywgdGhlbgotdGhl ICdyZXF1ZXN0JyBjYWxsYmFjayBmb3IgdGhlIGNsaXBib2FyZCBwZWVyIGlzIG5vdCBpbml0aWFs aXplZC4KLUxhdGVyLCBiZWNhdXNlIGRhdGEgaXMgTlVMTCwgcWVtdV9jbGlwYm9hcmRfcmVxdWVz dCgpIGNhbiBiZSByZWFjaGVkCi12aWEgdmRhZ2VudF9jaHJfd3JpdGUoKSBhbmQgdmRhZ2VudF9j bGlwYm9hcmRfcmVjdl9yZXF1ZXN0KCkgYW5kCi10aGVyZSwgdGhlIGNsaXBib2FyZCBvd25lcidz ICdyZXF1ZXN0JyBjYWxsYmFjayB3aWxsIGJlIGF0dGVtcHRlZCB0bwotYmUgY2FsbGVkLCBidXQg dGhhdCBpcyBhIE5VTEwgcG9pbnRlci4KLQotSW4gcGFydGljdWxhciwgdGhpcyBjYW4gaGFwcGVu IHdoZW4gdXNpbmcgdGhlIEtSREMgKDIyLjEyLjMpIFZOQwotY2xpZW50LgotCi1Bbm90aGVyIHNj ZW5hcmlvIGxlYWRpbmcgdG8gdGhlIHNhbWUgaXNzdWUgaXMgd2l0aCB0d28gY2xpZW50cyAoc2F5 Ci1ub1ZOQyBhbmQgS1JEQyk6Ci0KLVRoZSBub1ZOQyBjbGllbnQgc2V0cyB0aGUgZXh0ZW5zaW9u IFZOQ19GRUFUVVJFX0NMSVBCT0FSRF9FWFQgYW5kCi1pbml0aWFsaXplcyBpdHMgY2JwZWVyLgot Ci1UaGUgS1JEQyBjbGllbnQgZG9lcyBub3QsIGJ1dCB0cmlnZ2VycyBhIHZuY19jbGllbnRfY3V0 X3RleHQoKSAobm90ZQotaXQncyBub3QgdGhlIF9leHQgdmFyaWFudCkpLiBUaGVyZSwgYSBuZXcg Y2xpcGJvYXJkIGluZm8gd2l0aCBpdCBhcwotdGhlICdvd25lcicgaXMgY3JlYXRlZCBhbmQgdmlh IHFlbXVfY2xpcGJvYXJkX3NldF9kYXRhKCkgaXMgY2FsbGVkLAotd2hpY2ggaW4gdHVybiBjYWxs cyBxZW11X2NsaXBib2FyZF91cGRhdGUoKSB3aXRoIHRoYXQgaW5mby4KLQotSW4gcWVtdV9jbGlw Ym9hcmRfdXBkYXRlKCksIHRoZSBub3RpZmllciBmb3IgdGhlIG5vVk5DIGNsaWVudCB3aWxsIGJl Ci1jYWxsZWQsIGkuZS4gdm5jX2NsaXBib2FyZF9ub3RpZnkoKSBhbmQgYWxzbyBzZXQgdnMtPmNi aW5mbyBmb3IgdGhlCi1ub1ZOQyBjbGllbnQuIFRoZSAnb3duZXInIGluIHRoYXQgY2xpcGJvYXJk IGluZm8gaXMgdGhlIGNsaXBib2FyZCBwZWVyCi1mb3IgdGhlIEtSREMgY2xpZW50LCB3aGljaCBk aWQgbm90IGluaXRpYWxpemUgdGhlICdyZXF1ZXN0JyBmdW5jdGlvbi4KLVRoYXQgc291bmRzIGNv cnJlY3QgdG8gbWUsIGl0IGlzIHRoZSBvd25lciBvZiB0aGF0IGNsaXBib2FyZCBpbmZvLgotCi1U aGVuIHdoZW4gbm9WTkMgc2VuZHMgYSBWTkNfTVNHX0NMSUVOVF9DVVRfVEVYVCBtZXNzYWdlIChp dCBkaWQgc2V0Ci10aGUgVk5DX0ZFQVRVUkVfQ0xJUEJPQVJEX0VYVCBmZWF0dXJlIGNvcnJlY3Rs eSwgc28gYSBjaGVjayBmb3IgaXQKLXBhc3NlcyksIHRoYXQgY2xpcGJvYXJkIGluZm8gaXMgcGFz c2VkIHRvIHFlbXVfY2xpcGJvYXJkX3JlcXVlc3QoKSBhbmQKLXRoZSBvcmlnaW5hbCBzZWdmYXVs dCBzdGlsbCBoYXBwZW5zLgotCi1GaXggdGhlIGlzc3VlIGJ5IGhhbmRsaW5nIHVwZGF0ZXMgd2l0 aCBzaXplIDAgZGlmZmVyZW50bHkuIEluCi1wYXJ0aWN1bGFyLCBtYXJrIGluIHRoZSBjbGlwYm9h cmQgaW5mbyB0aGF0IHRoZSB0eXBlIGlzIG5vdCBhdmFpbGFibGUuCi0KLVdoaWxlIGF0IGl0LCBz d2l0Y2ggdG8gZ19tZW1kdXAyKCksIGJlY2F1c2UgZ19tZW1kdXAoKSBpcyBkZXByZWNhdGVkLgot Ci1DYzogcWVtdS1zdGFibGVAbm9uZ251Lm9yZwotRml4ZXM6IENWRS0yMDIzLTY2ODMKLVJlcG9y dGVkLWJ5OiBNYXJrdXMgRnJhbmsgPG0uZnJhbmtAcHJveG1veC5jb20+Ci1TdWdnZXN0ZWQtYnk6 IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUByZWRoYXQuY29tPgotU2lnbmVk LW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+Ci1SZXZpZXdlZC1ieTog TWFyYy1BbmRyw6kgTHVyZWF1IDxtYXJjYW5kcmUubHVyZWF1QHJlZGhhdC5jb20+Ci1UZXN0ZWQt Ynk6IE1hcmt1cyBGcmFuayA8bS5mcmFua0Bwcm94bW94LmNvbT4KLShwaWNrZWQgZnJvbSBodHRw czovL2xpc3RzLm5vbmdudS5vcmcvYXJjaGl2ZS9odG1sL3FlbXUtc3RhYmxlLzIwMjQtMDEvbXNn MDAyMjguaHRtbCkKLVNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3gu Y29tPgotLS0tCi0gdWkvY2xpcGJvYXJkLmMgfCAxMiArKysrKysrKystLS0KLSAxIGZpbGUgY2hh bmdlZCwgOSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvdWkv Y2xpcGJvYXJkLmMgYi91aS9jbGlwYm9hcmQuYwotaW5kZXggM2QxNGJmZmFmOC4uYjNmNmZhM2M5 ZSAxMDA2NDQKLS0tLSBhL3VpL2NsaXBib2FyZC5jCi0rKysgYi91aS9jbGlwYm9hcmQuYwotQEAg LTE2Myw5ICsxNjMsMTUgQEAgdm9pZCBxZW11X2NsaXBib2FyZF9zZXRfZGF0YShRZW11Q2xpcGJv YXJkUGVlciAqcGVlciwKLSAgICAgfQotIAotICAgICBnX2ZyZWUoaW5mby0+dHlwZXNbdHlwZV0u ZGF0YSk7Ci0tICAgIGluZm8tPnR5cGVzW3R5cGVdLmRhdGEgPSBnX21lbWR1cChkYXRhLCBzaXpl KTsKLS0gICAgaW5mby0+dHlwZXNbdHlwZV0uc2l6ZSA9IHNpemU7Ci0tICAgIGluZm8tPnR5cGVz W3R5cGVdLmF2YWlsYWJsZSA9IHRydWU7Ci0rICAgIGlmIChzaXplKSB7Ci0rICAgICAgICBpbmZv LT50eXBlc1t0eXBlXS5kYXRhID0gZ19tZW1kdXAyKGRhdGEsIHNpemUpOwotKyAgICAgICAgaW5m by0+dHlwZXNbdHlwZV0uc2l6ZSA9IHNpemU7Ci0rICAgICAgICBpbmZvLT50eXBlc1t0eXBlXS5h dmFpbGFibGUgPSB0cnVlOwotKyAgICB9IGVsc2UgewotKyAgICAgICAgaW5mby0+dHlwZXNbdHlw ZV0uZGF0YSA9IE5VTEw7Ci0rICAgICAgICBpbmZvLT50eXBlc1t0eXBlXS5zaXplID0gMDsKLSsg ICAgICAgIGluZm8tPnR5cGVzW3R5cGVdLmF2YWlsYWJsZSA9IGZhbHNlOwotKyAgICB9Ci0gCi0g ICAgIGlmICh1cGRhdGUpIHsKLSAgICAgICAgIHFlbXVfY2xpcGJvYXJkX3VwZGF0ZShpbmZvKTsK ZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMTAtdmlydGlvLXNjc2ktQXR0YWNo LWV2ZW50LXZxLW5vdGlmaWVyLXdpdGgtbm9fcG9sbC5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2V4 dHJhLzAwMTAtdmlydGlvLXNjc2ktQXR0YWNoLWV2ZW50LXZxLW5vdGlmaWVyLXdpdGgtbm9fcG9s bC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODVkODBlOC4uMDAwMDAwMAot LS0gYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDEwLXZpcnRpby1zY3NpLUF0dGFjaC1ldmVudC12 cS1ub3RpZmllci13aXRoLW5vX3BvbGwucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCww IEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBIYW5uYSBDemVuY3playA8aHJlaXR6QHJlZGhhdC5j b20+Ci1EYXRlOiBGcmksIDIgRmViIDIwMjQgMTY6MzE6NTYgKzAxMDAKLVN1YmplY3Q6IFtQQVRD SF0gdmlydGlvLXNjc2k6IEF0dGFjaCBldmVudCB2cSBub3RpZmllciB3aXRoIG5vX3BvbGwKLQot QXMgb2YgY29tbWl0IDM4NzM4ZjdkYmJkYTkwZmJjMTYxNzU3YjdmNGJlMzViNTIyMDU1NTIgKCJ2 aXJ0aW8tc2NzaToKLWRvbid0IHdhc3RlIENQVSBwb2xsaW5nIHRoZSBldmVudCB2aXJ0cXVldWUi KSwgd2Ugb25seSBhdHRhY2ggYW4gaW9fcmVhZAotbm90aWZpZXIgZm9yIHRoZSB2aXJ0aW8tc2Nz aSBldmVudCB2aXJ0cXVldWUgaW5zdGVhZCwgYW5kIG5vIHBvbGxpbmcKLW5vdGlmaWVycy4gIER1 cmluZyBvcGVyYXRpb24sIHRoZSBldmVudCB2aXJ0cXVldWUgaXMgdHlwaWNhbGx5Ci1ub24tZW1w dHksIGJ1dCBub25lIG9mIHRoZSBidWZmZXJzIGFyZSBpbnRlbmRlZCB0byBiZSB1c2VkIGltbWVk aWF0ZWx5LgotSW5zdGVhZCwgdGhleSBvbmx5IGdldCB1c2VkIHdoZW4gY2VydGFpbiBldmVudHMg b2NjdXIuICBUaGVyZWZvcmUsIGl0Ci1tYWtlcyBubyBzZW5zZSB0byBjb250aW51b3VzbHkgcG9s bCBpdCB3aGVuIG5vbi1lbXB0eSwgYmVjYXVzZSBpdCBpcwotc3VwcG9zZWQgdG8gYmUgYW5kIHN0 YXkgbm9uLWVtcHR5LgotCi1XZSBkbyB0aGlzIGJ5IHVzaW5nIHZpcnRpb19xdWV1ZV9haW9fYXR0 YWNoX2hvc3Rfbm90aWZpZXJfbm9fcG9sbCgpCi1pbnN0ZWFkIG9mIHZpcnRpb19xdWV1ZV9haW9f YXR0YWNoX2hvc3Rfbm90aWZpZXIoKSBmb3IgdGhlIGV2ZW50Ci12aXJ0cXVldWUuCi0KLUNvbW1p dCA3NjZhYTJkZTBmMjliNjU3MTQ4ZTA0NTk5MzIwZDc3MWMzNmZkMTI2ICgidmlydGlvLXNjc2k6 IGltcGxlbWVudAotQmxvY2tEZXZPcHMtPmRyYWluZWRfYmVnaW4oKSIpIGhvd2V2ZXIgaGFzIHZp cnRpb19zY3NpX2RyYWluZWRfZW5kKCkgdXNlCi12aXJ0aW9fcXVldWVfYWlvX2F0dGFjaF9ob3N0 X25vdGlmaWVyKCkgZm9yIGFsbCB2aXJ0cXVldWVzLCBpbmNsdWRpbmcKLXRoZSBldmVudCB2aXJ0 cXVldWUuICBUaGlzIGNhbiBsZWFkIHRvIGl0IGJlaW5nIHBvbGxlZCBhZ2FpbiwgdW5kb2luZwot dGhlIGJlbmVmaXQgb2YgY29tbWl0IDM4NzM4ZjdkYmJkYTkwZmJjMTYxNzU3YjdmNGJlMzViNTIy MDU1NTIuCi0KLUZpeCBpdCBieSB1c2luZyB2aXJ0aW9fcXVldWVfYWlvX2F0dGFjaF9ob3N0X25v dGlmaWVyX25vX3BvbGwoKSBmb3IgdGhlCi1ldmVudCB2aXJ0cXVldWUuCi0KLSAgICAgICAoInZp cnRpby1zY3NpOiBpbXBsZW1lbnQgQmxvY2tEZXZPcHMtPmRyYWluZWRfYmVnaW4oKSIpCi0KLVJl cG9ydGVkLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNvbT4KLUZpeGVzOiA3NjZh YTJkZTBmMjliNjU3MTQ4ZTA0NTk5MzIwZDc3MWMzNmZkMTI2Ci1SZXZpZXdlZC1ieTogU3RlZmFu IEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgotVGVzdGVkLWJ5OiBGaW9uYSBFYm5lciA8 Zi5lYm5lckBwcm94bW94LmNvbT4KLVJldmlld2VkLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBw cm94bW94LmNvbT4KLVNpZ25lZC1vZmYtYnk6IEhhbm5hIEN6ZW5jemVrIDxocmVpdHpAcmVkaGF0 LmNvbT4KLVNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVjaHQgPHQubGFtcHJlY2h0QHByb3ht b3guY29tPgotLS0tCi0gaHcvc2NzaS92aXJ0aW8tc2NzaS5jIHwgNyArKysrKystCi0gMSBmaWxl IGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEv aHcvc2NzaS92aXJ0aW8tc2NzaS5jIGIvaHcvc2NzaS92aXJ0aW8tc2NzaS5jCi1pbmRleCA0NWI5 NWVhMDcwLi5hZDI0YTg4MmZkIDEwMDY0NAotLS0tIGEvaHcvc2NzaS92aXJ0aW8tc2NzaS5jCi0r KysgYi9ody9zY3NpL3ZpcnRpby1zY3NpLmMKLUBAIC0xMTQ4LDYgKzExNDgsNyBAQCBzdGF0aWMg dm9pZCB2aXJ0aW9fc2NzaV9kcmFpbmVkX2JlZ2luKFNDU0lCdXMgKmJ1cykKLSBzdGF0aWMgdm9p ZCB2aXJ0aW9fc2NzaV9kcmFpbmVkX2VuZChTQ1NJQnVzICpidXMpCi0gewotICAgICBWaXJ0SU9T Q1NJICpzID0gY29udGFpbmVyX29mKGJ1cywgVmlydElPU0NTSSwgYnVzKTsKLSsgICAgVmlydElP U0NTSUNvbW1vbiAqdnMgPSBWSVJUSU9fU0NTSV9DT01NT04ocyk7Ci0gICAgIFZpcnRJT0Rldmlj ZSAqdmRldiA9IFZJUlRJT19ERVZJQ0Uocyk7Ci0gICAgIHVpbnQzMl90IHRvdGFsX3F1ZXVlcyA9 IFZJUlRJT19TQ1NJX1ZRX05VTV9GSVhFRCArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg IHMtPnBhcmVudF9vYmouY29uZi5udW1fcXVldWVzOwotQEAgLTExNjUsNyArMTE2NiwxMSBAQCBz dGF0aWMgdm9pZCB2aXJ0aW9fc2NzaV9kcmFpbmVkX2VuZChTQ1NJQnVzICpidXMpCi0gCi0gICAg IGZvciAodWludDMyX3QgaSA9IDA7IGkgPCB0b3RhbF9xdWV1ZXM7IGkrKykgewotICAgICAgICAg VmlydFF1ZXVlICp2cSA9IHZpcnRpb19nZXRfcXVldWUodmRldiwgaSk7Ci0tICAgICAgICB2aXJ0 aW9fcXVldWVfYWlvX2F0dGFjaF9ob3N0X25vdGlmaWVyKHZxLCBzLT5jdHgpOwotKyAgICAgICAg aWYgKHZxID09IHZzLT5ldmVudF92cSkgewotKyAgICAgICAgICAgIHZpcnRpb19xdWV1ZV9haW9f YXR0YWNoX2hvc3Rfbm90aWZpZXJfbm9fcG9sbCh2cSwgcy0+Y3R4KTsKLSsgICAgICAgIH0gZWxz ZSB7Ci0rICAgICAgICAgICAgdmlydGlvX3F1ZXVlX2Fpb19hdHRhY2hfaG9zdF9ub3RpZmllcih2 cSwgcy0+Y3R4KTsKLSsgICAgICAgIH0KLSAgICAgfQotIH0KLSAKZGlmZiAtLWdpdCBhL2RlYmlh bi9wYXRjaGVzL2V4dHJhLzAwMTEtdmlydGlvLVJlLWVuYWJsZS1ub3RpZmljYXRpb25zLWFmdGVy LWRyYWluLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAxMS12aXJ0aW8tUmUtZW5hYmxl LW5vdGlmaWNhdGlvbnMtYWZ0ZXItZHJhaW4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDYxOGNjYjIuLjAwMDAwMDAKLS0tIGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAxMS12 aXJ0aW8tUmUtZW5hYmxlLW5vdGlmaWNhdGlvbnMtYWZ0ZXItZHJhaW4ucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwxMjUgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSGFubmEgQ3plbmN6 ZWsgPGhyZWl0ekByZWRoYXQuY29tPgotRGF0ZTogRnJpLCAyIEZlYiAyMDI0IDE2OjMxOjU3ICsw MTAwCi1TdWJqZWN0OiBbUEFUQ0hdIHZpcnRpbzogUmUtZW5hYmxlIG5vdGlmaWNhdGlvbnMgYWZ0 ZXIgZHJhaW4KLQotRHVyaW5nIGRyYWluLCB3ZSBkbyBub3QgY2FyZSBhYm91dCB2aXJ0cXVldWUg bm90aWZpY2F0aW9ucywgd2hpY2ggaXMgd2h5Ci13ZSByZW1vdmUgdGhlIGhhbmRsZXJzIG9uIGl0 LiAgV2hlbiByZW1vdmluZyB0aG9zZSBoYW5kbGVycywgd2hldGhlciB2cQotbm90aWZpY2F0aW9u cyBhcmUgZW5hYmxlZCBvciBub3QgZGVwZW5kcyBvbiB3aGV0aGVyIHdlIHdlcmUgaW4gcG9sbGlu ZwotbW9kZSBvciBub3Q7IGlmIG5vdCwgdGhleSBhcmUgZW5hYmxlZCAoYnkgZGVmYXVsdCk7IGlm IHNvLCB0aGV5IGhhdmUKLWJlZW4gZGlzYWJsZWQgYnkgdGhlIGlvX3BvbGxfc3RhcnQgY2FsbGJh Y2suCi0KLUJlY2F1c2Ugd2UgZG8gbm90IGNhcmUgYWJvdXQgdGhvc2Ugbm90aWZpY2F0aW9ucyBh ZnRlciByZW1vdmluZyB0aGUKLWhhbmRsZXJzLCB0aGlzIGlzIGZpbmUuICBIb3dldmVyLCB3ZSBo YXZlIHRvIGV4cGxpY2l0bHkgZW5zdXJlIHRoZXkgYXJlCi1lbmFibGVkIHdoZW4gcmUtYXR0YWNo aW5nIHRoZSBoYW5kbGVycywgc28gd2Ugd2lsbCByZXN1bWUgcmVjZWl2aW5nCi1ub3RpZmljYXRp b25zLiAgV2UgZG8gdGhpcyBpbiB2aXJ0aW9fcXVldWVfYWlvX2F0dGFjaF9ob3N0X25vdGlmaWVy KigpLgotSWYgc3VjaCBhIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGlsZSB3ZSBhcmUgaW4gYSBwb2xs aW5nIHNlY3Rpb24sCi1hdHRhY2hpbmcgdGhlIG5vdGlmaWVycyB3aWxsIHRoZW4gaW52b2tlIHRo ZSBpb19wb2xsX3N0YXJ0IGNhbGxiYWNrLAotcmUtZGlzYWJsaW5nIG5vdGlmaWNhdGlvbnMuCi0K LUJlY2F1c2Ugd2Ugd2lsbCBhbHdheXMgbWlzcyB2aXJ0cXVldWUgdXBkYXRlcyBpbiB0aGUgZHJh aW5lZCBzZWN0aW9uLCB3ZQotYWxzbyBuZWVkIHRvIHBvbGwgdGhlIHZpcnRxdWV1ZSBvbmNlIGFm dGVyIGF0dGFjaGluZyB0aGUgbm90aWZpZXJzLgotCi1CdWdsaW5rOiBodHRwczovL2lzc3Vlcy5y ZWRoYXQuY29tL2Jyb3dzZS9SSEVMLTM5MzQKLVNpZ25lZC1vZmYtYnk6IEhhbm5hIEN6ZW5jemVr IDxocmVpdHpAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVjaHQgPHQu bGFtcHJlY2h0QHByb3htb3guY29tPgotLS0tCi0gaHcvdmlydGlvL3ZpcnRpby5jICB8IDQyICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIGluY2x1ZGUvYmxvY2sv YWlvLmggfCAgNyArKysrKystCi0gMiBmaWxlcyBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9ody92aXJ0aW8vdmlydGlvLmMgYi9ody92aXJ0 aW8vdmlydGlvLmMKLWluZGV4IDk2OWMyNWY0Y2YuLjAyY2NlODMxMTEgMTAwNjQ0Ci0tLS0gYS9o dy92aXJ0aW8vdmlydGlvLmMKLSsrKyBiL2h3L3ZpcnRpby92aXJ0aW8uYwotQEAgLTM1MjYsNiAr MzUyNiwxNyBAQCBzdGF0aWMgdm9pZCB2aXJ0aW9fcXVldWVfaG9zdF9ub3RpZmllcl9haW9fcG9s bF9lbmQoRXZlbnROb3RpZmllciAqbikKLSAKLSB2b2lkIHZpcnRpb19xdWV1ZV9haW9fYXR0YWNo X2hvc3Rfbm90aWZpZXIoVmlydFF1ZXVlICp2cSwgQWlvQ29udGV4dCAqY3R4KQotIHsKLSsgICAg LyoKLSsgICAgICogdmlydGlvX3F1ZXVlX2Fpb19kZXRhY2hfaG9zdF9ub3RpZmllcigpIGNhbiBs ZWF2ZSBub3RpZmljYXRpb25zIGRpc2FibGVkLgotKyAgICAgKiBSZS1lbmFibGUgdGhlbS4gIChB bmQgaWYgZGV0YWNoIGhhcyBub3QgYmVlbiB1c2VkIGJlZm9yZSwgbm90aWZpY2F0aW9ucwotKyAg ICAgKiBiZWluZyBlbmFibGVkIGlzIHN0aWxsIHRoZSBkZWZhdWx0IHN0YXRlIHdoaWxlIGEgbm90 aWZpZXIgaXMgYXR0YWNoZWQ7Ci0rICAgICAqIHNlZSB2aXJ0aW9fcXVldWVfaG9zdF9ub3RpZmll cl9haW9fcG9sbF9lbmQoKSwgd2hpY2ggd2lsbCBhbHdheXMgbGVhdmUKLSsgICAgICogbm90aWZp Y2F0aW9ucyBlbmFibGVkIG9uY2UgdGhlIHBvbGxpbmcgc2VjdGlvbiBpcyBsZWZ0LikKLSsgICAg ICovCi0rICAgIGlmICghdmlydGlvX3F1ZXVlX2dldF9ub3RpZmljYXRpb24odnEpKSB7Ci0rICAg ICAgICB2aXJ0aW9fcXVldWVfc2V0X25vdGlmaWNhdGlvbih2cSwgMSk7Ci0rICAgIH0KLSsKLSAg ICAgYWlvX3NldF9ldmVudF9ub3RpZmllcihjdHgsICZ2cS0+aG9zdF9ub3RpZmllciwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICB2aXJ0aW9fcXVldWVfaG9zdF9ub3RpZmllcl9yZWFkLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpcnRpb19xdWV1ZV9ob3N0X25vdGlmaWVyX2Fp b19wb2xsLAotQEAgLTM1MzMsNiArMzU0NCwxMyBAQCB2b2lkIHZpcnRpb19xdWV1ZV9haW9fYXR0 YWNoX2hvc3Rfbm90aWZpZXIoVmlydFF1ZXVlICp2cSwgQWlvQ29udGV4dCAqY3R4KQotICAgICBh aW9fc2V0X2V2ZW50X25vdGlmaWVyX3BvbGwoY3R4LCAmdnEtPmhvc3Rfbm90aWZpZXIsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0aW9fcXVldWVfaG9zdF9ub3RpZmllcl9h aW9fcG9sbF9iZWdpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpcnRpb19x dWV1ZV9ob3N0X25vdGlmaWVyX2Fpb19wb2xsX2VuZCk7Ci0rCi0rICAgIC8qCi0rICAgICAqIFdl IHdpbGwgaGF2ZSBpZ25vcmVkIG5vdGlmaWNhdGlvbnMgYWJvdXQgbmV3IHJlcXVlc3RzIGZyb20g dGhlIGd1ZXN0Ci0rICAgICAqIHdoaWxlIG5vIG5vdGlmaWVycyB3ZXJlIGF0dGFjaGVkLCBzbyAi a2ljayIgdGhlIHZpcnQgcXVldWUgdG8gcHJvY2VzcwotKyAgICAgKiB0aG9zZSByZXF1ZXN0cyBu b3cuCi0rICAgICAqLwotKyAgICBldmVudF9ub3RpZmllcl9zZXQoJnZxLT5ob3N0X25vdGlmaWVy KTsKLSB9Ci0gCi0gLyoKLUBAIC0zNTQzLDE0ICszNTYxLDM4IEBAIHZvaWQgdmlydGlvX3F1ZXVl X2Fpb19hdHRhY2hfaG9zdF9ub3RpZmllcihWaXJ0UXVldWUgKnZxLCBBaW9Db250ZXh0ICpjdHgp Ci0gICovCi0gdm9pZCB2aXJ0aW9fcXVldWVfYWlvX2F0dGFjaF9ob3N0X25vdGlmaWVyX25vX3Bv bGwoVmlydFF1ZXVlICp2cSwgQWlvQ29udGV4dCAqY3R4KQotIHsKLSsgICAgLyogU2VlIHZpcnRp b19xdWV1ZV9haW9fYXR0YWNoX2hvc3Rfbm90aWZpZXIoKSAqLwotKyAgICBpZiAoIXZpcnRpb19x dWV1ZV9nZXRfbm90aWZpY2F0aW9uKHZxKSkgewotKyAgICAgICAgdmlydGlvX3F1ZXVlX3NldF9u b3RpZmljYXRpb24odnEsIDEpOwotKyAgICB9Ci0rCi0gICAgIGFpb19zZXRfZXZlbnRfbm90aWZp ZXIoY3R4LCAmdnEtPmhvc3Rfbm90aWZpZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg dmlydGlvX3F1ZXVlX2hvc3Rfbm90aWZpZXJfcmVhZCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICBOVUxMLCBOVUxMKTsKLSsKLSsgICAgLyoKLSsgICAgICogU2VlIHZpcnRpb19xdWV1ZV9h aW9fYXR0YWNoX2hvc3Rfbm90aWZpZXIoKS4KLSsgICAgICogTm90ZSB0aGF0IHRoaXMgbWF5IGJl IHVubmVjZXNzYXJ5IGZvciB0aGUgdHlwZSBvZiB2aXJ0cXVldWVzIHRoaXMKLSsgICAgICogZnVu Y3Rpb24gaXMgdXNlZCBmb3IuICBTdGlsbCwgaXQgd2lsbCBub3QgaHVydCB0byBoYXZlIGEgcXVp Y2sgbG9vayBpbnRvCi0rICAgICAqIHdoZXRoZXIgd2UgY2FuL3Nob3VsZCBwcm9jZXNzIGFueSBv ZiB0aGUgdmlydHF1ZXVlIGVsZW1lbnRzLgotKyAgICAgKi8KLSsgICAgZXZlbnRfbm90aWZpZXJf c2V0KCZ2cS0+aG9zdF9ub3RpZmllcik7Ci0gfQotIAotIHZvaWQgdmlydGlvX3F1ZXVlX2Fpb19k ZXRhY2hfaG9zdF9ub3RpZmllcihWaXJ0UXVldWUgKnZxLCBBaW9Db250ZXh0ICpjdHgpCi0gewot ICAgICBhaW9fc2V0X2V2ZW50X25vdGlmaWVyKGN0eCwgJnZxLT5ob3N0X25vdGlmaWVyLCBOVUxM LCBOVUxMLCBOVUxMKTsKLSsKLSsgICAgLyoKLSsgICAgICogYWlvX3NldF9ldmVudF9ub3RpZmll cl9wb2xsKCkgZG9lcyBub3QgZ3VhcmFudGVlIHdoZXRoZXIgaW9fcG9sbF9lbmQoKQotKyAgICAg KiB3aWxsIHJ1biBhZnRlciBpb19wb2xsX2JlZ2luKCksIHNvIGJ5IHJlbW92aW5nIHRoZSBub3Rp Zmllciwgd2UgZG8gbm90Ci0rICAgICAqIGtub3cgd2hldGhlciB2aXJ0aW9fcXVldWVfaG9zdF9u b3RpZmllcl9haW9fcG9sbF9lbmQoKSBoYXMgcnVuIGFmdGVyIGEKLSsgICAgICogcHJldmlvdXMg dmlydGlvX3F1ZXVlX2hvc3Rfbm90aWZpZXJfYWlvX3BvbGxfYmVnaW4oKSwgaS5lLiB3aGV0aGVy Ci0rICAgICAqIG5vdGlmaWNhdGlvbnMgYXJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuICBJdCBkb2Vz IG5vdCByZWFsbHkgbWF0dGVyIGFueXdheTsKLSsgICAgICogd2UganVzdCByZW1vdmVkIHRoZSBu b3RpZmllciwgc28gd2UgZG8gbm90IGNhcmUgYWJvdXQgbm90aWZpY2F0aW9ucyB1bnRpbAotKyAg ICAgKiB3ZSBwb3RlbnRpYWxseSByZS1hdHRhY2ggaXQuICBUaGUgYXR0YWNoX2hvc3Rfbm90aWZp ZXIgZnVuY3Rpb25zIHdpbGwKLSsgICAgICogZW5zdXJlIHRoYXQgbm90aWZpY2F0aW9ucyBhcmUg ZW5hYmxlZCBhZ2FpbiB3aGVuIHRoZXkgYXJlIG5lZWRlZC4KLSsgICAgICovCi0gfQotIAotIHZv aWQgdmlydGlvX3F1ZXVlX2hvc3Rfbm90aWZpZXJfcmVhZChFdmVudE5vdGlmaWVyICpuKQotZGlm ZiAtLWdpdCBhL2luY2x1ZGUvYmxvY2svYWlvLmggYi9pbmNsdWRlL2Jsb2NrL2Fpby5oCi1pbmRl eCAzMjA0MmU4OTA1Li43OWVmYWRmYTQ4IDEwMDY0NAotLS0tIGEvaW5jbHVkZS9ibG9jay9haW8u aAotKysrIGIvaW5jbHVkZS9ibG9jay9haW8uaAotQEAgLTQ5OCw5ICs0OTgsMTQgQEAgdm9pZCBh aW9fc2V0X2V2ZW50X25vdGlmaWVyKEFpb0NvbnRleHQgKmN0eCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQWlvUG9sbEZuICppb19wb2xsLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFdmVudE5vdGlmaWVySGFuZGxlciAqaW9fcG9sbF9yZWFkeSk7Ci0gCi0tLyogU2V0IHBv bGxpbmcgYmVnaW4vZW5kIGNhbGxiYWNrcyBmb3IgYW4gZXZlbnQgbm90aWZpZXIgdGhhdCBoYXMg YWxyZWFkeSBiZWVuCi0rLyoKLSsgKiBTZXQgcG9sbGluZyBiZWdpbi9lbmQgY2FsbGJhY2tzIGZv ciBhbiBldmVudCBub3RpZmllciB0aGF0IGhhcyBhbHJlYWR5IGJlZW4KLSAgKiByZWdpc3RlcmVk IHdpdGggYWlvX3NldF9ldmVudF9ub3RpZmllci4gIERvIG5vdGhpbmcgaWYgdGhlIGV2ZW50IG5v dGlmaWVyIGlzCi0gICogbm90IHJlZ2lzdGVyZWQuCi0rICoKLSsgKiBOb3RlIHRoYXQgaWYgdGhl IGlvX3BvbGxfZW5kKCkgY2FsbGJhY2sgKG9yIHRoZSBlbnRpcmUgbm90aWZpZXIpIGlzIHJlbW92 ZWQKLSsgKiBkdXJpbmcgcG9sbGluZywgaXQgd2lsbCBub3QgYmUgY2FsbGVkLCBzbyBhbiBpb19w b2xsX2JlZ2luKCkgaXMgbm90Ci0rICogbmVjZXNzYXJpbHkgYWx3YXlzIGZvbGxvd2VkIGJ5IGFu IGlvX3BvbGxfZW5kKCkuCi0gICovCi0gdm9pZCBhaW9fc2V0X2V2ZW50X25vdGlmaWVyX3BvbGwo QWlvQ29udGV4dCAqY3R4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV2ZW50 Tm90aWZpZXIgKm5vdGlmaWVyLApkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAx My12aXJ0aW8tYmxrLWF2b2lkLXVzaW5nLWlvZXZlbnRmZC1zdGF0ZS1pbi1pcnFmZC1jb25kLnBh dGNoIGIvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAxMy12aXJ0aW8tYmxrLWF2b2lkLXVzaW5nLWlv ZXZlbnRmZC1zdGF0ZS1pbi1pcnFmZC1jb25kLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCA4MTA5ZTdkLi4wMDAwMDAwCi0tLSBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMTMt dmlydGlvLWJsay1hdm9pZC11c2luZy1pb2V2ZW50ZmQtc3RhdGUtaW4taXJxZmQtY29uZC5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0 ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgMjIgSmFuIDIw MjQgMTI6MjY6MjUgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gdmlydGlvLWJsazogYXZvaWQgdXNp bmcgaW9ldmVudGZkIHN0YXRlIGluIGlycWZkIGNvbmRpdGlvbmFsCi0KLVJlcXVlc3RzIHRoYXQg Y29tcGxldGUgaW4gYW4gSU9UaHJlYWQgdXNlIGlycWZkIHRvIG5vdGlmeSB0aGUgZ3Vlc3QKLXdo aWxlIHJlcXVlc3RzIHRoYXQgY29tcGxldGUgaW4gdGhlIG1haW4gbG9vcCB0aHJlYWQgdXNlIHRo ZSB0cmFkaXRpb25hbAotcWRldiBpcnEgY29kZSBwYXRoLiBUaGUgcmVhc29uIGZvciB0aGlzIGNv bmRpdGlvbmFsIGlzIHRoYXQgdGhlIGlycSBjb2RlCi1wYXRoIHJlcXVpcmVzIHRoZSBCUUw6Ci0K LSAgaWYgKHMtPmlvZXZlbnRmZF9zdGFydGVkICYmICFzLT5pb2V2ZW50ZmRfZGlzYWJsZWQpIHsK LSAgICAgIHZpcnRpb19ub3RpZnlfaXJxZmQodmRldiwgcmVxLT52cSk7Ci0gIH0gZWxzZSB7Ci0g ICAgICB2aXJ0aW9fbm90aWZ5KHZkZXYsIHJlcS0+dnEpOwotICB9Ci0KLVRoZXJlIGlzIGEgY29y bmVyIGNhc2Ugd2hlcmUgdGhlIGNvbmRpdGlvbmFsIGludm9rZXMgdGhlIGlycSBjb2RlIHBhdGgK LWluc3RlYWQgb2YgdGhlIGlycWZkIGNvZGUgcGF0aDoKLQotICBzdGF0aWMgdm9pZCB2aXJ0aW9f YmxrX3N0b3BfaW9ldmVudGZkKFZpcnRJT0RldmljZSAqdmRldikKLSAgewotICAgICAgLi4uCi0g ICAgICAvKgotICAgICAgICogU2V0IC0+aW9ldmVudGZkX3N0YXJ0ZWQgdG8gZmFsc2UgYmVmb3Jl IGRyYWluaW5nIHNvIHRoYXQgaG9zdCBub3RpZmllcnMKLSAgICAgICAqIGFyZSBub3QgZGV0YWNo ZWQvYXR0YWNoZWQgYW55bW9yZS4KLSAgICAgICAqLwotICAgICAgcy0+aW9ldmVudGZkX3N0YXJ0 ZWQgPSBmYWxzZTsKLQotICAgICAgLyogV2FpdCBmb3IgdmlydGlvX2Jsa19kbWFfcmVzdGFydF9i aCgpIGFuZCBpbiBmbGlnaHQgSS9PIHRvIGNvbXBsZXRlICovCi0gICAgICBibGtfZHJhaW4ocy0+ Y29uZi5jb25mLmJsayk7Ci0KLUR1cmluZyBibGtfZHJhaW4oKSB0aGUgY29uZGl0aW9uYWwgcHJv ZHVjZXMgdGhlIHdyb25nIHJlc3VsdCBiZWNhdXNlCi1pb2V2ZW50ZmRfc3RhcnRlZCBpcyBmYWxz ZS4KLQotVXNlIHFlbXVfaW5faW90aHJlYWQoKSBpbnN0ZWFkIG9mIGNoZWNraW5nIHRoZSBpb2V2 ZW50ZmQgc3RhdGUuCi0KLUNjOiBxZW11LXN0YWJsZUBub25nbnUub3JnCi1CdWdsaW5rOiBodHRw czovL2lzc3Vlcy5yZWRoYXQuY29tL2Jyb3dzZS9SSEVMLTE1Mzk0Ci1TaWduZWQtb2ZmLWJ5OiBT dGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+Ci1NZXNzYWdlLUlEOiA8MjAyNDAx MjIxNzI2MjUuNDE1Mzg2LTEtc3RlZmFuaGFAcmVkaGF0LmNvbT4KLVJldmlld2VkLWJ5OiBLZXZp biBXb2xmIDxrd29sZkByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dv bGZAcmVkaGF0LmNvbT4KLVtGRTogYmFja3BvcnQ6IGRhdGFwbGFuZSAtPiBpb2V2ZW50ZmQgcmV3 b3JrIGRpZG4ndCBoYXBwZW4geWV0XQotU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJu ZXJAcHJveG1veC5jb20+Ci0tLS0KLSBody9ibG9jay92aXJ0aW8tYmxrLmMgfCAyICstCi0gMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQg YS9ody9ibG9jay92aXJ0aW8tYmxrLmMgYi9ody9ibG9jay92aXJ0aW8tYmxrLmMKLWluZGV4IDM5 ZTdmMjNmYWIuLjYxYmQxZjY4NTkgMTAwNjQ0Ci0tLS0gYS9ody9ibG9jay92aXJ0aW8tYmxrLmMK LSsrKyBiL2h3L2Jsb2NrL3ZpcnRpby1ibGsuYwotQEAgLTY0LDcgKzY0LDcgQEAgc3RhdGljIHZv aWQgdmlydGlvX2Jsa19yZXFfY29tcGxldGUoVmlydElPQmxvY2tSZXEgKnJlcSwgdW5zaWduZWQg Y2hhciBzdGF0dXMpCi0gICAgIGlvdl9kaXNjYXJkX3VuZG8oJnJlcS0+aW5oZHJfdW5kbyk7Ci0g ICAgIGlvdl9kaXNjYXJkX3VuZG8oJnJlcS0+b3V0aGRyX3VuZG8pOwotICAgICB2aXJ0cXVldWVf cHVzaChyZXEtPnZxLCAmcmVxLT5lbGVtLCByZXEtPmluX2xlbik7Ci0tICAgIGlmIChzLT5kYXRh cGxhbmVfc3RhcnRlZCAmJiAhcy0+ZGF0YXBsYW5lX2Rpc2FibGVkKSB7Ci0rICAgIGlmIChxZW11 X2luX2lvdGhyZWFkKCkpIHsKLSAgICAgICAgIHZpcnRpb19ibGtfZGF0YV9wbGFuZV9ub3RpZnko cy0+ZGF0YXBsYW5lLCByZXEtPnZxKTsKLSAgICAgfSBlbHNlIHsKLSAgICAgICAgIHZpcnRpb19u b3RpZnkodmRldiwgcmVxLT52cSk7CmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAw MS1QVkUtQ29uZmlnLWJsb2NrLWZpbGUtY2hhbmdlLWxvY2tpbmctZGVmYXVsdC10by1vZmYucGF0 Y2ggYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAwMS1QVkUtQ29uZmlnLWJsb2NrLWZpbGUtY2hhbmdl LWxvY2tpbmctZGVmYXVsdC10by1vZmYucGF0Y2gKaW5kZXggMzBkZDJkNC4uMzM4YTZiYyAxMDA2 NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMDEtUFZFLUNvbmZpZy1ibG9jay1maWxlLWNo YW5nZS1sb2NraW5nLWRlZmF1bHQtdG8tb2ZmLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2 ZS8wMDAxLVBWRS1Db25maWctYmxvY2stZmlsZS1jaGFuZ2UtbG9ja2luZy1kZWZhdWx0LXRvLW9m Zi5wYXRjaApAQCAtMTQsNyArMTQsNyBAQCBTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgTGFtcHJlY2h0 IDx0LmxhbXByZWNodEBwcm94bW94LmNvbT4KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvYmxvY2svZmlsZS1wb3NpeC5jIGIv YmxvY2svZmlsZS1wb3NpeC5jCi1pbmRleCA3ZjU0MGIwM2VkLi5jYTU1MWJhYTQyIDEwMDY0NAor aW5kZXggYjg2MjQwNmM3MS4uYmMwOWFlZmUzYiAxMDA2NDQKIC0tLSBhL2Jsb2NrL2ZpbGUtcG9z aXguYwogKysrIGIvYmxvY2svZmlsZS1wb3NpeC5jCiBAQCAtNTYzLDcgKzU2Myw3IEBAIHN0YXRp YyBRZW11T3B0c0xpc3QgcmF3X3J1bnRpbWVfb3B0cyA9IHsKZGlmZiAtLWdpdCBhL2RlYmlhbi9w YXRjaGVzL3B2ZS8wMDAyLVBWRS1Db25maWctQWRqdXN0LW5ldHdvcmstc2NyaXB0LXBhdGgtdG8t ZXRjLWt2bS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDAyLVBWRS1Db25maWctQWRqdXN0 LW5ldHdvcmstc2NyaXB0LXBhdGgtdG8tZXRjLWt2bS5wYXRjaAppbmRleCBmN2M5NzU0Li4yYzI4 NWUxIDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAwMi1QVkUtQ29uZmlnLUFkanVz dC1uZXR3b3JrLXNjcmlwdC1wYXRoLXRvLWV0Yy1rdm0ucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNo ZXMvcHZlLzAwMDItUFZFLUNvbmZpZy1BZGp1c3QtbmV0d29yay1zY3JpcHQtcGF0aC10by1ldGMt a3ZtLnBhdGNoCkBAIC05LDEwICs5LDEwIEBAIFNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVj aHQgPHQubGFtcHJlY2h0QHByb3htb3guY29tPgogIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9uZXQuaCBi L2luY2x1ZGUvbmV0L25ldC5oCi1pbmRleCA2ODVlYzU4MzE4Li4yMmVkZjRlZTk2IDEwMDY0NAor aW5kZXggZmZiZDJjOGQ1Ni4uZTg1N2M3NWY0YyAxMDA2NDQKIC0tLSBhL2luY2x1ZGUvbmV0L25l dC5oCiArKysgYi9pbmNsdWRlL25ldC9uZXQuaAotQEAgLTI2MCw4ICsyNjAsOCBAQCB2b2lkIG5l dGRldl9hZGQoUWVtdU9wdHMgKm9wdHMsIEVycm9yICoqZXJycCk7CitAQCAtMjYzLDggKzI2Myw4 IEBAIHZvaWQgbmV0ZGV2X2FkZChRZW11T3B0cyAqb3B0cywgRXJyb3IgKiplcnJwKTsKICBpbnQg bmV0X2h1Yl9pZF9mb3JfY2xpZW50KE5ldENsaWVudFN0YXRlICpuYywgaW50ICppZCk7CiAgTmV0 Q2xpZW50U3RhdGUgKm5ldF9odWJfcG9ydF9maW5kKGludCBodWJfaWQpOwogIApkaWZmIC0tZ2l0 IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMDMtUFZFLUNvbmZpZy1zZXQtdGhlLUNQVS1tb2RlbC10 by1rdm02NC0zMi1pbnN0ZWFkLW9mLS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDAzLVBW RS1Db25maWctc2V0LXRoZS1DUFUtbW9kZWwtdG8ta3ZtNjQtMzItaW5zdGVhZC1vZi0ucGF0Y2gK aW5kZXggNDk1NWJhMy4uNTk1MDczZCAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAw MDMtUFZFLUNvbmZpZy1zZXQtdGhlLUNQVS1tb2RlbC10by1rdm02NC0zMi1pbnN0ZWFkLW9mLS5w YXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAwMy1QVkUtQ29uZmlnLXNldC10aGUtQ1BV LW1vZGVsLXRvLWt2bTY0LTMyLWluc3RlYWQtb2YtLnBhdGNoCkBAIC0xMCwxMCArMTAsMTAgQEAg U2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+ CiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlm ZiAtLWdpdCBhL3RhcmdldC9pMzg2L2NwdS5oIGIvdGFyZ2V0L2kzODYvY3B1LmgKLWluZGV4IDA4 OTNiNzk0ZTkuLjZkNjUwYTU4YjkgMTAwNjQ0CitpbmRleCA3MDVkOTI1ZTZjLi5iYTI2OWU1ZjFl IDEwMDY0NAogLS0tIGEvdGFyZ2V0L2kzODYvY3B1LmgKICsrKyBiL3RhcmdldC9pMzg2L2NwdS5o Ci1AQCAtMjI0Myw5ICsyMjQzLDkgQEAgdWludDY0X3QgY3B1X2dldF90c2MoQ1BVWDg2U3RhdGUg KmVudik7CitAQCAtMjI4MSw5ICsyMjgxLDkgQEAgdWludDY0X3QgY3B1X2dldF90c2MoQ1BVWDg2 U3RhdGUgKmVudik7CiAgI2RlZmluZSBDUFVfUkVTT0xWSU5HX1RZUEUgVFlQRV9YODZfQ1BVCiAg CiAgI2lmZGVmIFRBUkdFVF9YODZfNjQKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8w MDA0LVBWRS1Db25maWctdWktc3BpY2UtZGVmYXVsdC10by1wdmUtY2VydGlmaWNhdGVzLnBhdGNo IGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMDQtUFZFLUNvbmZpZy11aS1zcGljZS1kZWZhdWx0LXRv LXB2ZS1jZXJ0aWZpY2F0ZXMucGF0Y2gKaW5kZXggNjQwNWEyNS4uNTY2YWI0MyAxMDA2NDQKLS0t IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMDQtUFZFLUNvbmZpZy11aS1zcGljZS1kZWZhdWx0LXRv LXB2ZS1jZXJ0aWZpY2F0ZXMucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMDQtUFZF LUNvbmZpZy11aS1zcGljZS1kZWZhdWx0LXRvLXB2ZS1jZXJ0aWZpY2F0ZXMucGF0Y2gKQEAgLTks NyArOSw3IEBAIFNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVjaHQgPHQubGFtcHJlY2h0QHBy b3htb3guY29tPgogIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25z KC0pCiAKIGRpZmYgLS1naXQgYS91aS9zcGljZS1jb3JlLmMgYi91aS9zcGljZS1jb3JlLmMKLWlu ZGV4IDUyYTU5Mzg2ZDcuLmIyMGMyNWFlZTAgMTAwNjQ0CitpbmRleCBkYjIxZGIyYzk0Li4wZWIx MzhjZjQzIDEwMDY0NAogLS0tIGEvdWkvc3BpY2UtY29yZS5jCiArKysgYi91aS9zcGljZS1jb3Jl LmMKIEBAIC02OTEsMzIgKzY5MSwzNSBAQCBzdGF0aWMgdm9pZCBxZW11X3NwaWNlX2luaXQodm9p ZCkKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDA1LVBWRS1Db25maWctZ2x1c3Rl cmZzLW5vLWRlZmF1bHQtbG9nZmlsZS1pZi1kYWVtb25pemUucGF0Y2ggYi9kZWJpYW4vcGF0Y2hl cy9wdmUvMDAwNS1QVkUtQ29uZmlnLWdsdXN0ZXJmcy1uby1kZWZhdWx0LWxvZ2ZpbGUtaWYtZGFl bW9uaXplLnBhdGNoCmluZGV4IDk0N2ZjOTAuLmNiOTQ5NzYgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9w YXRjaGVzL3B2ZS8wMDA1LVBWRS1Db25maWctZ2x1c3RlcmZzLW5vLWRlZmF1bHQtbG9nZmlsZS1p Zi1kYWVtb25pemUucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMDUtUFZFLUNvbmZp Zy1nbHVzdGVyZnMtbm8tZGVmYXVsdC1sb2dmaWxlLWlmLWRhZW1vbml6ZS5wYXRjaApAQCAtOSw3 ICs5LDcgQEAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJv eG1veC5jb20+CiAgMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z KC0pCiAKIGRpZmYgLS1naXQgYS9ibG9jay9nbHVzdGVyLmMgYi9ibG9jay9nbHVzdGVyLmMKLWlu ZGV4IGFkNWZhZGJlNzkuLmQwMDExMDg1YzQgMTAwNjQ0CitpbmRleCBjYzc0YWYwNmRjLi4zYmE5 YmJmYTVlIDEwMDY0NAogLS0tIGEvYmxvY2svZ2x1c3Rlci5jCiArKysgYi9ibG9jay9nbHVzdGVy LmMKIEBAIC00Myw3ICs0Myw3IEBACmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAw Ni1QVkUtQ29uZmlnLXJiZC1ibG9jay1yYmQtZGlzYWJsZS1yYmRfY2FjaGVfd3JpdGV0aHJvLnBh dGNoIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMDYtUFZFLUNvbmZpZy1yYmQtYmxvY2stcmJkLWRp c2FibGUtcmJkX2NhY2hlX3dyaXRldGhyby5wYXRjaAppbmRleCA0YmRiN2I1Li44ODgxYWI4IDEw MDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAwNi1QVkUtQ29uZmlnLXJiZC1ibG9jay1y YmQtZGlzYWJsZS1yYmRfY2FjaGVfd3JpdGV0aHJvLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVz L3B2ZS8wMDA2LVBWRS1Db25maWctcmJkLWJsb2NrLXJiZC1kaXNhYmxlLXJiZF9jYWNoZV93cml0 ZXRocm8ucGF0Y2gKQEAgLTE4LDcgKzE4LDcgQEAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXBy ZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+CiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0 aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvYmxvY2svcmJkLmMgYi9ibG9jay9yYmQuYwotaW5kZXgg OTc4NjcxNDExZS4uYTQ3NDlmM2IxYiAxMDA2NDQKK2luZGV4IDg0YmIyZmE1ZDcuLjYzZjYwZDQx YmUgMTAwNjQ0CiAtLS0gYS9ibG9jay9yYmQuYwogKysrIGIvYmxvY2svcmJkLmMKIEBAIC05NjMs NiArOTYzLDggQEAgc3RhdGljIGludCBxZW11X3JiZF9jb25uZWN0KHJhZG9zX3QgKmNsdXN0ZXIs IHJhZG9zX2lvY3R4X3QgKmlvX2N0eCwKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8w MDA3LVBWRS1VcC1nbHVzdGVyZnMtYWxsb3ctcGFydGlhbC1yZWFkcy5wYXRjaCBiL2RlYmlhbi9w YXRjaGVzL3B2ZS8wMDA3LVBWRS1VcC1nbHVzdGVyZnMtYWxsb3ctcGFydGlhbC1yZWFkcy5wYXRj aAppbmRleCBjNGU2NzI5Li41NmY1NmY2IDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUv MDAwNy1QVkUtVXAtZ2x1c3RlcmZzLWFsbG93LXBhcnRpYWwtcmVhZHMucGF0Y2gKKysrIGIvZGVi aWFuL3BhdGNoZXMvcHZlLzAwMDctUFZFLVVwLWdsdXN0ZXJmcy1hbGxvdy1wYXJ0aWFsLXJlYWRz LnBhdGNoCkBAIC0xNiw3ICsxNiw3IEBAIFNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVjaHQg PHQubGFtcHJlY2h0QHByb3htb3guY29tPgogIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2Jsb2NrL2dsdXN0ZXIuYyBiL2Jsb2Nr L2dsdXN0ZXIuYwotaW5kZXggZDAwMTEwODVjNC4uMmRmM2Q2ZTM1ZCAxMDA2NDQKK2luZGV4IDNi YTliYmZhNWUuLjM0OTM2ZWI4NTUgMTAwNjQ0CiAtLS0gYS9ibG9jay9nbHVzdGVyLmMKICsrKyBi L2Jsb2NrL2dsdXN0ZXIuYwogQEAgLTU4LDYgKzU4LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgR2x1c3Rl ckFJT0NCIHsKQEAgLTM5LDcgKzM5LDcgQEAgaW5kZXggZDAwMTEwODVjNC4uMmRmM2Q2ZTM1ZCAx MDA2NDQKICAgICAgfQogIAogICAgICBhaW9fY29fc2NoZWR1bGUoYWNiLT5haW9fY29udGV4dCwg YWNiLT5jb3JvdXRpbmUpOwotQEAgLTEwMjEsNiArMTAyNCw3IEBAIHN0YXRpYyBjb3JvdXRpbmVf Zm4gaW50IHFlbXVfZ2x1c3Rlcl9jb19wd3JpdGVfemVyb2VzKEJsb2NrRHJpdmVyU3RhdGUgKmJz LAorQEAgLTEwMjMsNiArMTAyNiw3IEBAIHN0YXRpYyBjb3JvdXRpbmVfZm4gaW50IHFlbXVfZ2x1 c3Rlcl9jb19wd3JpdGVfemVyb2VzKEJsb2NrRHJpdmVyU3RhdGUgKmJzLAogICAgICBhY2IucmV0 ID0gMDsKICAgICAgYWNiLmNvcm91dGluZSA9IHFlbXVfY29yb3V0aW5lX3NlbGYoKTsKICAgICAg YWNiLmFpb19jb250ZXh0ID0gYmRydl9nZXRfYWlvX2NvbnRleHQoYnMpOwpAQCAtNDcsNyArNDcs NyBAQCBpbmRleCBkMDAxMTA4NWM0Li4yZGYzZDZlMzVkIDEwMDY0NAogIAogICAgICByZXQgPSBn bGZzX3plcm9maWxsX2FzeW5jKHMtPmZkLCBvZmZzZXQsIGJ5dGVzLCBnbHVzdGVyX2ZpbmlzaF9h aW9jYiwgJmFjYik7CiAgICAgIGlmIChyZXQgPCAwKSB7Ci1AQCAtMTIwMSw5ICsxMjA1LDExIEBA IHN0YXRpYyBjb3JvdXRpbmVfZm4gaW50IHFlbXVfZ2x1c3Rlcl9jb19ydyhCbG9ja0RyaXZlclN0 YXRlICpicywKK0BAIC0xMjAzLDkgKzEyMDcsMTEgQEAgc3RhdGljIGNvcm91dGluZV9mbiBpbnQg cWVtdV9nbHVzdGVyX2NvX3J3KEJsb2NrRHJpdmVyU3RhdGUgKmJzLAogICAgICBhY2IuYWlvX2Nv bnRleHQgPSBiZHJ2X2dldF9haW9fY29udGV4dChicyk7CiAgCiAgICAgIGlmICh3cml0ZSkgewpA QCAtNTksNyArNTksNyBAQCBpbmRleCBkMDAxMTA4NWM0Li4yZGYzZDZlMzVkIDEwMDY0NAogICAg ICAgICAgcmV0ID0gZ2xmc19wcmVhZHZfYXN5bmMocy0+ZmQsIHFpb3YtPmlvdiwgcWlvdi0+bmlv diwgb2Zmc2V0LCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x1c3Rlcl9m aW5pc2hfYWlvY2IsICZhY2IpOwogICAgICB9Ci1AQCAtMTI2Niw2ICsxMjcyLDcgQEAgc3RhdGlj IGNvcm91dGluZV9mbiBpbnQgcWVtdV9nbHVzdGVyX2NvX2ZsdXNoX3RvX2Rpc2soQmxvY2tEcml2 ZXJTdGF0ZSAqYnMpCitAQCAtMTI2OCw2ICsxMjc0LDcgQEAgc3RhdGljIGNvcm91dGluZV9mbiBp bnQgcWVtdV9nbHVzdGVyX2NvX2ZsdXNoX3RvX2Rpc2soQmxvY2tEcml2ZXJTdGF0ZSAqYnMpCiAg ICAgIGFjYi5yZXQgPSAwOwogICAgICBhY2IuY29yb3V0aW5lID0gcWVtdV9jb3JvdXRpbmVfc2Vs ZigpOwogICAgICBhY2IuYWlvX2NvbnRleHQgPSBiZHJ2X2dldF9haW9fY29udGV4dChicyk7CkBA IC02Nyw3ICs2Nyw3IEBAIGluZGV4IGQwMDExMDg1YzQuLjJkZjNkNmUzNWQgMTAwNjQ0CiAgCiAg ICAgIHJldCA9IGdsZnNfZnN5bmNfYXN5bmMocy0+ZmQsIGdsdXN0ZXJfZmluaXNoX2Fpb2NiLCAm YWNiKTsKICAgICAgaWYgKHJldCA8IDApIHsKLUBAIC0xMzE0LDYgKzEzMjEsNyBAQCBzdGF0aWMg Y29yb3V0aW5lX2ZuIGludCBxZW11X2dsdXN0ZXJfY29fcGRpc2NhcmQoQmxvY2tEcml2ZXJTdGF0 ZSAqYnMsCitAQCAtMTMxNiw2ICsxMzIzLDcgQEAgc3RhdGljIGNvcm91dGluZV9mbiBpbnQgcWVt dV9nbHVzdGVyX2NvX3BkaXNjYXJkKEJsb2NrRHJpdmVyU3RhdGUgKmJzLAogICAgICBhY2IucmV0 ID0gMDsKICAgICAgYWNiLmNvcm91dGluZSA9IHFlbXVfY29yb3V0aW5lX3NlbGYoKTsKICAgICAg YWNiLmFpb19jb250ZXh0ID0gYmRydl9nZXRfYWlvX2NvbnRleHQoYnMpOwpkaWZmIC0tZ2l0IGEv ZGViaWFuL3BhdGNoZXMvcHZlLzAwMDgtUFZFLVVwLXFlbXUtaW1nLXJldHVybi1zdWNjZXNzLW9u LWluZm8td2l0aG91dC1zbmFwcy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDA4LVBWRS1V cC1xZW11LWltZy1yZXR1cm4tc3VjY2Vzcy1vbi1pbmZvLXdpdGhvdXQtc25hcHMucGF0Y2gKaW5k ZXggM2JkYjdlZS4uNmQ1YTVjMSAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMDgt UFZFLVVwLXFlbXUtaW1nLXJldHVybi1zdWNjZXNzLW9uLWluZm8td2l0aG91dC1zbmFwcy5wYXRj aAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAwOC1QVkUtVXAtcWVtdS1pbWctcmV0dXJuLXN1 Y2Nlc3Mtb24taW5mby13aXRob3V0LXNuYXBzLnBhdGNoCkBAIC05LDEwICs5LDEwIEBAIFNpZ25l ZC1vZmYtYnk6IFRob21hcyBMYW1wcmVjaHQgPHQubGFtcHJlY2h0QHByb3htb3guY29tPgogIDEg ZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdp dCBhL3FlbXUtaW1nLmMgYi9xZW11LWltZy5jCi1pbmRleCA3ODQzM2YzNzQ2Li4yNWQ0MjdlZGQx IDEwMDY0NAoraW5kZXggNWE3N2Y2NzcxOS4uZGU1MTIzMzgyNSAxMDA2NDQKIC0tLSBhL3FlbXUt aW1nLmMKICsrKyBiL3FlbXUtaW1nLmMKLUBAIC0zMDYyLDcgKzMwNjIsOCBAQCBzdGF0aWMgaW50 IGltZ19pbmZvKGludCBhcmdjLCBjaGFyICoqYXJndikKK0BAIC0zMDc5LDcgKzMwNzksOCBAQCBz dGF0aWMgaW50IGltZ19pbmZvKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgbGlzdCA9IGNv bGxlY3RfaW1hZ2VfaW5mb19saXN0KGltYWdlX29wdHMsIGZpbGVuYW1lLCBmbXQsIGNoYWluLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2Vfc2hhcmUpOwogICAgICBp ZiAoIWxpc3QpIHsKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDA5LVBWRS1VcC1x ZW11LWltZy1kZC1hZGQtb3NpemUtYW5kLXJlYWQtZnJvbS10by1zdGRpbi0ucGF0Y2ggYi9kZWJp YW4vcGF0Y2hlcy9wdmUvMDAwOS1QVkUtVXAtcWVtdS1pbWctZGQtYWRkLW9zaXplLWFuZC1yZWFk LWZyb20tdG8tc3RkaW4tLnBhdGNoCmluZGV4IDUyNTUyNjguLjdhNzg4MjAgMTAwNjQ0Ci0tLSBh L2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDA5LVBWRS1VcC1xZW11LWltZy1kZC1hZGQtb3NpemUtYW5k LXJlYWQtZnJvbS10by1zdGRpbi0ucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMDkt UFZFLVVwLXFlbXUtaW1nLWRkLWFkZC1vc2l6ZS1hbmQtcmVhZC1mcm9tLXRvLXN0ZGluLS5wYXRj aApAQCAtMzgsNyArMzgsNyBAQCBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBw cm94bW94LmNvbT4KICAyIGZpbGVzIGNoYW5nZWQsIDEzMyBpbnNlcnRpb25zKCspLCA3MyBkZWxl dGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3FlbXUtaW1nLWNtZHMuaHggYi9xZW11LWltZy1jbWRz Lmh4Ci1pbmRleCAxYjFkYWI1YjE3Li5kMTYxNmMwNDVhIDEwMDY0NAoraW5kZXggMDY4NjkyZDEz ZS4uNzNlMGJiMWQyYyAxMDA2NDQKIC0tLSBhL3FlbXUtaW1nLWNtZHMuaHgKICsrKyBiL3FlbXUt aW1nLWNtZHMuaHgKIEBAIC01OCw5ICs1OCw5IEBAIFNSU1QKQEAgLTU0LDEwICs1NCwxMCBAQCBp bmRleCAxYjFkYWI1YjE3Li5kMTYxNmMwNDVhIDEwMDY0NAogIAogIERFRigiaW5mbyIsIGltZ19p bmZvLAogZGlmZiAtLWdpdCBhL3FlbXUtaW1nLmMgYi9xZW11LWltZy5jCi1pbmRleCAyNWQ0Mjdl ZGQxLi4yMjBlNmVjNTc3IDEwMDY0NAoraW5kZXggZGU1MTIzMzgyNS4uYWQ3NzBmNjU3MCAxMDA2 NDQKIC0tLSBhL3FlbXUtaW1nLmMKICsrKyBiL3FlbXUtaW1nLmMKLUBAIC00ODk5LDEwICs0ODk5 LDEyIEBAIHN0YXRpYyBpbnQgaW1nX2JpdG1hcChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCitAQCAt NDk5NywxMCArNDk5NywxMiBAQCBzdGF0aWMgaW50IGltZ19iaXRtYXAoaW50IGFyZ2MsIGNoYXIg Kiphcmd2KQogICNkZWZpbmUgQ19JRiAgICAgIDA0CiAgI2RlZmluZSBDX09GICAgICAgMDEwCiAg I2RlZmluZSBDX1NLSVAgICAgMDIwCkBAIC03MCw3ICs3MCw3IEBAIGluZGV4IDI1ZDQyN2VkZDEu LjIyMGU2ZWM1NzcgMTAwNjQ0CiAgfTsKICAKICBzdHJ1Y3QgRGRJbyB7Ci1AQCAtNDk3OCw2ICs0 OTgwLDE5IEBAIHN0YXRpYyBpbnQgaW1nX2RkX3NraXAoY29uc3QgY2hhciAqYXJnLAorQEAgLTUw NzYsNiArNTA3OCwxOSBAQCBzdGF0aWMgaW50IGltZ19kZF9za2lwKGNvbnN0IGNoYXIgKmFyZywK ICAgICAgcmV0dXJuIDA7CiAgfQogIApAQCAtOTAsNyArOTAsNyBAQCBpbmRleCAyNWQ0MjdlZGQx Li4yMjBlNmVjNTc3IDEwMDY0NAogIHN0YXRpYyBpbnQgaW1nX2RkKGludCBhcmdjLCBjaGFyICoq YXJndikKICB7CiAgICAgIGludCByZXQgPSAwOwotQEAgLTUwMTgsNiArNTAzMyw3IEBAIHN0YXRp YyBpbnQgaW1nX2RkKGludCBhcmdjLCBjaGFyICoqYXJndikKK0BAIC01MTE2LDYgKzUxMzEsNyBA QCBzdGF0aWMgaW50IGltZ19kZChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgICB7ICJp ZiIsIGltZ19kZF9pZiwgQ19JRiB9LAogICAgICAgICAgeyAib2YiLCBpbWdfZGRfb2YsIENfT0Yg fSwKICAgICAgICAgIHsgInNraXAiLCBpbWdfZGRfc2tpcCwgQ19TS0lQIH0sCkBAIC05OCw3ICs5 OCw3IEBAIGluZGV4IDI1ZDQyN2VkZDEuLjIyMGU2ZWM1NzcgMTAwNjQ0CiAgICAgICAgICB7IE5V TEwsIE5VTEwsIDAgfQogICAgICB9OwogICAgICBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0 aW9uc1tdID0gewotQEAgLTUwOTMsOTEgKzUxMDksMTEyIEBAIHN0YXRpYyBpbnQgaW1nX2RkKGlu dCBhcmdjLCBjaGFyICoqYXJndikKK0BAIC01MTkxLDkxICs1MjA3LDExMiBAQCBzdGF0aWMgaW50 IGltZ19kZChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgICBhcmcgPSBOVUxMOwogICAg ICB9CiAgCkBAIC0yNzUsNyArMjc1LDcgQEAgaW5kZXggMjVkNDI3ZWRkMS4uMjIwZTZlYzU3NyAx MDA2NDQKICAgICAgfQogIAogICAgICBpZiAoZGQuZmxhZ3MgJiBDX1NLSVAgJiYgKGluLm9mZnNl dCA+IElOVDY0X01BWCAvIGluLmJzeiB8fAotQEAgLTUxOTQsMjAgKzUyMzEsNDMgQEAgc3RhdGlj IGludCBpbWdfZGQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTUyOTIsMjAgKzUzMjksNDMg QEAgc3RhdGljIGludCBpbWdfZGQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICBpbi5idWYg PSBnX25ldyh1aW50OF90LCBpbi5ic3opOwogIAogICAgICBmb3IgKG91dF9wb3MgPSAwOyBpbl9w b3MgPCBzaXplOyApIHsKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDEwLVBWRS1V cC1xZW11LWltZy1kZC1hZGQtaXNpemUtcGFyYW1ldGVyLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMv cHZlLzAwMTAtUFZFLVVwLXFlbXUtaW1nLWRkLWFkZC1pc2l6ZS1wYXJhbWV0ZXIucGF0Y2gKaW5k ZXggZDY4ZTJhYS4uZWEyMDMxZSAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMTAt UFZFLVVwLXFlbXUtaW1nLWRkLWFkZC1pc2l6ZS1wYXJhbWV0ZXIucGF0Y2gKKysrIGIvZGViaWFu L3BhdGNoZXMvcHZlLzAwMTAtUFZFLVVwLXFlbXUtaW1nLWRkLWFkZC1pc2l6ZS1wYXJhbWV0ZXIu cGF0Y2gKQEAgLTE2LDEwICsxNiwxMCBAQCBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5l Ym5lckBwcm94bW94LmNvbT4KICAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMyBk ZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3FlbXUtaW1nLmMgYi9xZW11LWltZy5jCi1pbmRl eCAyMjBlNmVjNTc3Li41OGJmOWI0M2QxIDEwMDY0NAoraW5kZXggYWQ3NzBmNjU3MC4uYjA4Mzlh NWQxOCAxMDA2NDQKIC0tLSBhL3FlbXUtaW1nLmMKICsrKyBiL3FlbXUtaW1nLmMKLUBAIC00OTAw LDExICs0OTAwLDEzIEBAIHN0YXRpYyBpbnQgaW1nX2JpdG1hcChpbnQgYXJnYywgY2hhciAqKmFy Z3YpCitAQCAtNDk5OCwxMSArNDk5OCwxMyBAQCBzdGF0aWMgaW50IGltZ19iaXRtYXAoaW50IGFy Z2MsIGNoYXIgKiphcmd2KQogICNkZWZpbmUgQ19PRiAgICAgIDAxMAogICNkZWZpbmUgQ19TS0lQ ICAgIDAyMAogICNkZWZpbmUgQ19PU0laRSAgIDA0MApAQCAtMzMsNyArMzMsNyBAQCBpbmRleCAy MjBlNmVjNTc3Li41OGJmOWI0M2QxIDEwMDY0NAogIH07CiAgCiAgc3RydWN0IERkSW8gewotQEAg LTQ5OTMsNiArNDk5NSwxOSBAQCBzdGF0aWMgaW50IGltZ19kZF9vc2l6ZShjb25zdCBjaGFyICph cmcsCitAQCAtNTA5MSw2ICs1MDkzLDE5IEBAIHN0YXRpYyBpbnQgaW1nX2RkX29zaXplKGNvbnN0 IGNoYXIgKmFyZywKICAgICAgcmV0dXJuIDA7CiAgfQogIApAQCAtNTMsNyArNTMsNyBAQCBpbmRl eCAyMjBlNmVjNTc3Li41OGJmOWI0M2QxIDEwMDY0NAogIHN0YXRpYyBpbnQgaW1nX2RkKGludCBh cmdjLCBjaGFyICoqYXJndikKICB7CiAgICAgIGludCByZXQgPSAwOwotQEAgLTUwMDcsMTIgKzUw MjIsMTQgQEAgc3RhdGljIGludCBpbWdfZGQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTUx MDUsMTIgKzUxMjAsMTQgQEAgc3RhdGljIGludCBpbWdfZGQoaW50IGFyZ2MsIGNoYXIgKiphcmd2 KQogICAgICBpbnQgYywgaTsKICAgICAgY29uc3QgY2hhciAqb3V0X2ZtdCA9ICJyYXciOwogICAg ICBjb25zdCBjaGFyICpmbXQgPSBOVUxMOwpAQCAtNjksNyArNjksNyBAQCBpbmRleCAyMjBlNmVj NTc3Li41OGJmOWI0M2QxIDEwMDY0NAogICAgICB9OwogICAgICBzdHJ1Y3QgRGRJbyBpbiA9IHsK ICAgICAgICAgIC5ic3ogPSA1MTIsIC8qIEJsb2NrIHNpemUgaXMgYnkgZGVmYXVsdCA1MTIgYnl0 ZXMgKi8KLUBAIC01MDM0LDYgKzUwNTEsNyBAQCBzdGF0aWMgaW50IGltZ19kZChpbnQgYXJnYywg Y2hhciAqKmFyZ3YpCitAQCAtNTEzMiw2ICs1MTQ5LDcgQEAgc3RhdGljIGludCBpbWdfZGQoaW50 IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgeyAib2YiLCBpbWdfZGRfb2YsIENfT0YgfSwK ICAgICAgICAgIHsgInNraXAiLCBpbWdfZGRfc2tpcCwgQ19TS0lQIH0sCiAgICAgICAgICB7ICJv c2l6ZSIsIGltZ19kZF9vc2l6ZSwgQ19PU0laRSB9LApAQCAtNzcsNyArNzcsNyBAQCBpbmRleCAy MjBlNmVjNTc3Li41OGJmOWI0M2QxIDEwMDY0NAogICAgICAgICAgeyBOVUxMLCBOVUxMLCAwIH0K ICAgICAgfTsKICAgICAgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nX29wdGlvbnNbXSA9IHsKLUBA IC01MjMwLDkgKzUyNDgsMTAgQEAgc3RhdGljIGludCBpbWdfZGQoaW50IGFyZ2MsIGNoYXIgKiph cmd2KQorQEAgLTUzMjgsOSArNTM0NiwxMCBAQCBzdGF0aWMgaW50IGltZ19kZChpbnQgYXJnYywg Y2hhciAqKmFyZ3YpCiAgCiAgICAgIGluLmJ1ZiA9IGdfbmV3KHVpbnQ4X3QsIGluLmJzeik7CiAg CkBAIC05MCw3ICs5MCw3IEBAIGluZGV4IDIyMGU2ZWM1NzcuLjU4YmY5YjQzZDEgMTAwNjQ0CiAg ICAgICAgICBpZiAoYmxrMSkgewogICAgICAgICAgICAgIGluX3JldCA9IGJsa19wcmVhZChibGsx LCBpbl9wb3MsIGJ5dGVzLCBpbi5idWYsIDApOwogICAgICAgICAgICAgIGlmIChpbl9yZXQgPT0g MCkgewotQEAgLTUyNDEsNiArNTI2MCw5IEBAIHN0YXRpYyBpbnQgaW1nX2RkKGludCBhcmdjLCBj aGFyICoqYXJndikKK0BAIC01MzM5LDYgKzUzNTgsOSBAQCBzdGF0aWMgaW50IGltZ19kZChpbnQg YXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGluX3Jl dCA9IHJlYWQoU1RESU5fRklMRU5PLCBpbi5idWYsIGJ5dGVzKTsKICAgICAgICAgICAgICBpZiAo aW5fcmV0ID09IDApIHsKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDExLVBWRS1V cC1xZW11LWltZy1kZC1hZGQtbi1za2lwX2NyZWF0ZS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2 ZS8wMDExLVBWRS1VcC1xZW11LWltZy1kZC1hZGQtbi1za2lwX2NyZWF0ZS5wYXRjaAppbmRleCA1 MTMxZDk4Li4wYzJjYjM4IDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAxMS1QVkUt VXAtcWVtdS1pbWctZGQtYWRkLW4tc2tpcF9jcmVhdGUucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNo ZXMvcHZlLzAwMTEtUFZFLVVwLXFlbXUtaW1nLWRkLWFkZC1uLXNraXBfY3JlYXRlLnBhdGNoCkBA IC0xMywxMCArMTMsMTAgQEAgU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJv eG1veC5jb20+CiAgMyBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlv bnMoLSkKIAogZGlmZiAtLWdpdCBhL2RvY3MvdG9vbHMvcWVtdS1pbWcucnN0IGIvZG9jcy90b29s cy9xZW11LWltZy5yc3QKLWluZGV4IDE1YWVkZGM2ZDguLjVlNzEzZTIzMWQgMTAwNjQ0CitpbmRl eCA0NDU5YzA2NWYxLi5jNmJjOTAyMTgyIDEwMDY0NAogLS0tIGEvZG9jcy90b29scy9xZW11LWlt Zy5yc3QKICsrKyBiL2RvY3MvdG9vbHMvcWVtdS1pbWcucnN0Ci1AQCAtMjA4LDYgKzIwOCwxMCBA QCBQYXJhbWV0ZXJzIHRvIGNvbnZlcnQgc3ViY29tbWFuZDoKK0BAIC0yMTIsNiArMjEyLDEwIEBA IFBhcmFtZXRlcnMgdG8gY29udmVydCBzdWJjb21tYW5kOgogIAogIFBhcmFtZXRlcnMgdG8gZGQg c3ViY29tbWFuZDoKICAKQEAgLTI3LDcgKzI3LDcgQEAgaW5kZXggMTVhZWRkYzZkOC4uNWU3MTNl MjMxZCAxMDA2NDQKICAuLiBwcm9ncmFtOjogcWVtdS1pbWctZGQKICAKICAuLiBvcHRpb246OiBi cz1CTE9DS19TSVpFCi1AQCAtNDg4LDcgKzQ5Miw3IEBAIENvbW1hbmQgZGVzY3JpcHRpb246CitA QCAtNDkyLDcgKzQ5Niw3IEBAIENvbW1hbmQgZGVzY3JpcHRpb246CiAgICBpdCBkb2Vzbid0IG5l ZWQgdG8gYmUgc3BlY2lmaWVkIHNlcGFyYXRlbHkgaW4gdGhpcyBjYXNlLgogIAogIApAQCAtMzYs NyArMzYsNyBAQCBpbmRleCAxNWFlZGRjNmQ4Li41ZTcxM2UyMzFkIDEwMDY0NAogIAogICAgZGQg Y29waWVzIGZyb20gKklOUFVUKiBmaWxlIHRvICpPVVRQVVQqIGZpbGUgY29udmVydGluZyBpdCBm cm9tCiAgICAqRk1UKiBmb3JtYXQgdG8gKk9VVFBVVF9GTVQqIGZvcm1hdC4KLUBAIC00OTksNiAr NTAzLDExIEBAIENvbW1hbmQgZGVzY3JpcHRpb246CitAQCAtNTAzLDYgKzUwNywxMSBAQCBDb21t YW5kIGRlc2NyaXB0aW9uOgogIAogICAgVGhlIHNpemUgc3ludGF4IGlzIHNpbWlsYXIgdG8gOm1h bnBhZ2U6YGRkKDEpYCdzIHNpemUgc3ludGF4LgogIApAQCAtNDksNyArNDksNyBAQCBpbmRleCAx NWFlZGRjNmQ4Li41ZTcxM2UyMzFkIDEwMDY0NAogIAogICAgR2l2ZSBpbmZvcm1hdGlvbiBhYm91 dCB0aGUgZGlzayBpbWFnZSAqRklMRU5BTUUqLiBVc2UgaXQgaW4KIGRpZmYgLS1naXQgYS9xZW11 LWltZy1jbWRzLmh4IGIvcWVtdS1pbWctY21kcy5oeAotaW5kZXggZDE2MTZjMDQ1YS4uYjViMGJi NDQ2NyAxMDA2NDQKK2luZGV4IDczZTBiYjFkMmMuLjMyNzQ5YjQxNmUgMTAwNjQ0CiAtLS0gYS9x ZW11LWltZy1jbWRzLmh4CiArKysgYi9xZW11LWltZy1jbWRzLmh4CiBAQCAtNTgsOSArNTgsOSBA QCBTUlNUCkBAIC02NSwxMCArNjUsMTAgQEAgaW5kZXggZDE2MTZjMDQ1YS4uYjViMGJiNDQ2NyAx MDA2NDQKICAKICBERUYoImluZm8iLCBpbWdfaW5mbywKIGRpZmYgLS1naXQgYS9xZW11LWltZy5j IGIvcWVtdS1pbWcuYwotaW5kZXggNThiZjliNDNkMS4uOWQ0MTRkNjM5YiAxMDA2NDQKK2luZGV4 IGIwODM5YTVkMTguLjRhY2RmNzU4NzkgMTAwNjQ0CiAtLS0gYS9xZW11LWltZy5jCiArKysgYi9x ZW11LWltZy5jCi1AQCAtNTAyNCw3ICs1MDI0LDcgQEAgc3RhdGljIGludCBpbWdfZGQoaW50IGFy Z2MsIGNoYXIgKiphcmd2KQorQEAgLTUxMjIsNyArNTEyMiw3IEBAIHN0YXRpYyBpbnQgaW1nX2Rk KGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgY29uc3QgY2hhciAqZm10ID0gTlVMTDsKICAg ICAgaW50NjRfdCBzaXplID0gMCwgcmVhZHNpemUgPSAwOwogICAgICBpbnQ2NF90IG91dF9wb3Ms IGluX3BvczsKQEAgLTc3LDcgKzc3LDcgQEAgaW5kZXggNThiZjliNDNkMS4uOWQ0MTRkNjM5YiAx MDA2NDQKICAgICAgc3RydWN0IERkSW5mbyBkZCA9IHsKICAgICAgICAgIC5mbGFncyA9IDAsCiAg ICAgICAgICAuY291bnQgPSAwLAotQEAgLTUwNjIsNyArNTA2Miw3IEBAIHN0YXRpYyBpbnQgaW1n X2RkKGludCBhcmdjLCBjaGFyICoqYXJndikKK0BAIC01MTYwLDcgKzUxNjAsNyBAQCBzdGF0aWMg aW50IGltZ19kZChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgICB7IDAsIDAsIDAsIDAg fQogICAgICB9OwogIApAQCAtODYsNyArODYsNyBAQCBpbmRleCA1OGJmOWI0M2QxLi45ZDQxNGQ2 MzliIDEwMDY0NAogICAgICAgICAgaWYgKGMgPT0gRU9GKSB7CiAgICAgICAgICAgICAgYnJlYWs7 CiAgICAgICAgICB9Ci1AQCAtNTA4Miw2ICs1MDgyLDkgQEAgc3RhdGljIGludCBpbWdfZGQoaW50 IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTUxODAsNiArNTE4MCw5IEBAIHN0YXRpYyBpbnQgaW1n X2RkKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgIGNhc2UgJ2gnOgogICAgICAgICAg ICAgIGhlbHAoKTsKICAgICAgICAgICAgICBicmVhazsKQEAgLTk2LDcgKzk2LDcgQEAgaW5kZXgg NThiZjliNDNkMS4uOWQ0MTRkNjM5YiAxMDA2NDQKICAgICAgICAgIGNhc2UgJ1UnOgogICAgICAg ICAgICAgIGZvcmNlX3NoYXJlID0gdHJ1ZTsKICAgICAgICAgICAgICBicmVhazsKLUBAIC01MjEy LDEzICs1MjE1LDE1IEBAIHN0YXRpYyBpbnQgaW1nX2RkKGludCBhcmdjLCBjaGFyICoqYXJndikK K0BAIC01MzEwLDEzICs1MzEzLDE1IEBAIHN0YXRpYyBpbnQgaW1nX2RkKGludCBhcmdjLCBjaGFy ICoqYXJndikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgLSBpbi5ic3og KiBpbi5vZmZzZXQsICZlcnJvcl9hYm9ydCk7CiAgICAgICAgICB9CiAgCmRpZmYgLS1naXQgYS9k ZWJpYW4vcGF0Y2hlcy9wdmUvMDAxMi1xZW11LWltZy1kZC1hZGQtbC1vcHRpb24tZm9yLWxvYWRp bmctYS1zbmFwc2hvdC5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDEyLXFlbXUtaW1nLWRk LWFkZC1sLW9wdGlvbi1mb3ItbG9hZGluZy1hLXNuYXBzaG90LnBhdGNoCmluZGV4IGE5NTY3OTUu LjJjOGY1NmUgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDEyLXFlbXUtaW1nLWRk LWFkZC1sLW9wdGlvbi1mb3ItbG9hZGluZy1hLXNuYXBzaG90LnBhdGNoCisrKyBiL2RlYmlhbi9w YXRjaGVzL3B2ZS8wMDEyLXFlbXUtaW1nLWRkLWFkZC1sLW9wdGlvbi1mb3ItbG9hZGluZy1hLXNu YXBzaG90LnBhdGNoCkBAIC0xMiwxMCArMTIsMTAgQEAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIExh bXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+CiAgMyBmaWxlcyBjaGFuZ2VkLCAzNiBp bnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvZG9jcy90b29scy9x ZW11LWltZy5yc3QgYi9kb2NzL3Rvb2xzL3FlbXUtaW1nLnJzdAotaW5kZXggNWU3MTNlMjMxZC4u OTM5MGQ1ZTVjZiAxMDA2NDQKK2luZGV4IGM2YmM5MDIxODIuLmZlMjI0MTg1NmUgMTAwNjQ0CiAt LS0gYS9kb2NzL3Rvb2xzL3FlbXUtaW1nLnJzdAogKysrIGIvZG9jcy90b29scy9xZW11LWltZy5y c3QKLUBAIC00OTIsMTAgKzQ5MiwxMCBAQCBDb21tYW5kIGRlc2NyaXB0aW9uOgorQEAgLTQ5Niwx MCArNDk2LDEwIEBAIENvbW1hbmQgZGVzY3JpcHRpb246CiAgICBpdCBkb2Vzbid0IG5lZWQgdG8g YmUgc3BlY2lmaWVkIHNlcGFyYXRlbHkgaW4gdGhpcyBjYXNlLgogIAogIApAQCAtMzAsNyArMzAs NyBAQCBpbmRleCA1ZTcxM2UyMzFkLi45MzkwZDVlNWNmIDEwMDY0NAogICAgVGhlIGRhdGEgaXMg YnkgZGVmYXVsdCByZWFkIGFuZCB3cml0dGVuIHVzaW5nIGJsb2NrcyBvZiA1MTIgYnl0ZXMgYnV0 IGNhbiBiZQogICAgbW9kaWZpZWQgYnkgc3BlY2lmeWluZyAqQkxPQ0tfU0laRSouIElmIGNvdW50 PVwgKkJMT0NLUyogaXMgc3BlY2lmaWVkCiBkaWZmIC0tZ2l0IGEvcWVtdS1pbWctY21kcy5oeCBi L3FlbXUtaW1nLWNtZHMuaHgKLWluZGV4IGI1YjBiYjQ0NjcuLjM2Zjk3ZTFmMTkgMTAwNjQ0Citp bmRleCAzMjc0OWI0MTZlLi40MGVlOWMwZWQ4IDEwMDY0NAogLS0tIGEvcWVtdS1pbWctY21kcy5o eAogKysrIGIvcWVtdS1pbWctY21kcy5oeAogQEAgLTU4LDkgKzU4LDkgQEAgU1JTVApAQCAtNDYs MTAgKzQ2LDEwIEBAIGluZGV4IGI1YjBiYjQ0NjcuLjM2Zjk3ZTFmMTkgMTAwNjQ0CiAgCiAgREVG KCJpbmZvIiwgaW1nX2luZm8sCiBkaWZmIC0tZ2l0IGEvcWVtdS1pbWcuYyBiL3FlbXUtaW1nLmMK LWluZGV4IDlkNDE0ZDYzOWIuLmUxM2ExMjEzN2IgMTAwNjQ0CitpbmRleCA0YWNkZjc1ODc5Li5h OTYzMmI1OTUxIDEwMDY0NAogLS0tIGEvcWVtdS1pbWcuYwogKysrIGIvcWVtdS1pbWcuYwotQEAg LTUwMTYsNiArNTAxNiw3IEBAIHN0YXRpYyBpbnQgaW1nX2RkKGludCBhcmdjLCBjaGFyICoqYXJn dikKK0BAIC01MTE0LDYgKzUxMTQsNyBAQCBzdGF0aWMgaW50IGltZ19kZChpbnQgYXJnYywgY2hh ciAqKmFyZ3YpCiAgICAgIEJsb2NrRHJpdmVyICpkcnYgPSBOVUxMLCAqcHJvdG9fZHJ2ID0gTlVM TDsKICAgICAgQmxvY2tCYWNrZW5kICpibGsxID0gTlVMTCwgKmJsazIgPSBOVUxMOwogICAgICBR ZW11T3B0cyAqb3B0cyA9IE5VTEw7CkBAIC01Nyw3ICs1Nyw3IEBAIGluZGV4IDlkNDE0ZDYzOWIu LmUxM2ExMjEzN2IgMTAwNjQ0CiAgICAgIFFlbXVPcHRzTGlzdCAqY3JlYXRlX29wdHMgPSBOVUxM OwogICAgICBFcnJvciAqbG9jYWxfZXJyID0gTlVMTDsKICAgICAgYm9vbCBpbWFnZV9vcHRzID0g ZmFsc2U7Ci1AQCAtNTAyNSw2ICs1MDI2LDcgQEAgc3RhdGljIGludCBpbWdfZGQoaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQorQEAgLTUxMjMsNiArNTEyNCw3IEBAIHN0YXRpYyBpbnQgaW1nX2RkKGlu dCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgaW50NjRfdCBzaXplID0gMCwgcmVhZHNpemUgPSAw OwogICAgICBpbnQ2NF90IG91dF9wb3MsIGluX3BvczsKICAgICAgYm9vbCBmb3JjZV9zaGFyZSA9 IGZhbHNlLCBza2lwX2NyZWF0ZSA9IGZhbHNlOwpAQCAtNjUsNyArNjUsNyBAQCBpbmRleCA5ZDQx NGQ2MzliLi5lMTNhMTIxMzdiIDEwMDY0NAogICAgICBzdHJ1Y3QgRGRJbmZvIGRkID0gewogICAg ICAgICAgLmZsYWdzID0gMCwKICAgICAgICAgIC5jb3VudCA9IDAsCi1AQCAtNTA2Miw3ICs1MDY0 LDcgQEAgc3RhdGljIGludCBpbWdfZGQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTUxNjAs NyArNTE2Miw3IEBAIHN0YXRpYyBpbnQgaW1nX2RkKGludCBhcmdjLCBjaGFyICoqYXJndikKICAg ICAgICAgIHsgMCwgMCwgMCwgMCB9CiAgICAgIH07CiAgCkBAIC03NCw3ICs3NCw3IEBAIGluZGV4 IDlkNDE0ZDYzOWIuLmUxM2ExMjEzN2IgMTAwNjQ0CiAgICAgICAgICBpZiAoYyA9PSBFT0YpIHsK ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KLUBAIC01MDg1LDYgKzUwODcsMTkgQEAg c3RhdGljIGludCBpbWdfZGQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTUxODMsNiArNTE4 NSwxOSBAQCBzdGF0aWMgaW50IGltZ19kZChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAg ICBjYXNlICduJzoKICAgICAgICAgICAgICBza2lwX2NyZWF0ZSA9IHRydWU7CiAgICAgICAgICAg ICAgYnJlYWs7CkBAIC05NCw3ICs5NCw3IEBAIGluZGV4IDlkNDE0ZDYzOWIuLmUxM2ExMjEzN2Ig MTAwNjQ0CiAgICAgICAgICBjYXNlICdVJzoKICAgICAgICAgICAgICBmb3JjZV9zaGFyZSA9IHRy dWU7CiAgICAgICAgICAgICAgYnJlYWs7Ci1AQCAtNTE0NCwxMSArNTE1OSwyNCBAQCBzdGF0aWMg aW50IGltZ19kZChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCitAQCAtNTI0MiwxMSArNTI1NywyNCBA QCBzdGF0aWMgaW50IGltZ19kZChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgIGlmIChkZC5m bGFncyAmIENfSUYpIHsKICAgICAgICAgIGJsazEgPSBpbWdfb3BlbihpbWFnZV9vcHRzLCBpbi5m aWxlbmFtZSwgZm10LCAwLCBmYWxzZSwgZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAg Zm9yY2Vfc2hhcmUpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIGluZGV4IDlkNDE0ZDYzOWIuLmUxM2Ex MjEzN2IgMTAwNjQ0CiAgICAgIH0KICAKICAgICAgaWYgKGRkLmZsYWdzICYgQ19PU0laRSkgewot QEAgLTUzMDMsNiArNTMzMSw3IEBAIHN0YXRpYyBpbnQgaW1nX2RkKGludCBhcmdjLCBjaGFyICoq YXJndikKK0BAIC01NDAxLDYgKzU0MjksNyBAQCBzdGF0aWMgaW50IGltZ19kZChpbnQgYXJnYywg Y2hhciAqKmFyZ3YpCiAgb3V0OgogICAgICBnX2ZyZWUoYXJnKTsKICAgICAgcWVtdV9vcHRzX2Rl bChvcHRzKTsKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDEzLVBWRS12aXJ0aW8t YmFsbG9vbi1pbXByb3ZlLXF1ZXJ5LWJhbGxvb24ucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9wdmUv MDAxMy1QVkUtdmlydGlvLWJhbGxvb24taW1wcm92ZS1xdWVyeS1iYWxsb29uLnBhdGNoCmluZGV4 IDJjMTUyNGYuLjZiOWNiMGYgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDEzLVBW RS12aXJ0aW8tYmFsbG9vbi1pbXByb3ZlLXF1ZXJ5LWJhbGxvb24ucGF0Y2gKKysrIGIvZGViaWFu L3BhdGNoZXMvcHZlLzAwMTMtUFZFLXZpcnRpby1iYWxsb29uLWltcHJvdmUtcXVlcnktYmFsbG9v bi5wYXRjaApAQCAtMTgsMTAgKzE4LDEwIEBAIFNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxm LmVibmVyQHByb3htb3guY29tPgogIDQgZmlsZXMgY2hhbmdlZCwgODIgaW5zZXJ0aW9ucygrKSwg NCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2h3L2NvcmUvbWFjaGluZS1obXAtY21kcy5j IGIvaHcvY29yZS9tYWNoaW5lLWhtcC1jbWRzLmMKLWluZGV4IGMzZTU1ZWY5ZTkuLjBlMzJlNjIw MWYgMTAwNjQ0CitpbmRleCBhNmZmNmE0ODc1Li5lN2Y3NGQxYzYzIDEwMDY0NAogLS0tIGEvaHcv Y29yZS9tYWNoaW5lLWhtcC1jbWRzLmMKICsrKyBiL2h3L2NvcmUvbWFjaGluZS1obXAtY21kcy5j Ci1AQCAtMTY5LDcgKzE2OSwzNSBAQCB2b2lkIGhtcF9pbmZvX2JhbGxvb24oTW9uaXRvciAqbW9u LCBjb25zdCBRRGljdCAqcWRpY3QpCitAQCAtMTc1LDcgKzE3NSwzNSBAQCB2b2lkIGhtcF9pbmZv X2JhbGxvb24oTW9uaXRvciAqbW9uLCBjb25zdCBRRGljdCAqcWRpY3QpCiAgICAgICAgICByZXR1 cm47CiAgICAgIH0KICAKQEAgLTEwMywxMCArMTAzLDEwIEBAIGluZGV4IGQwMDRjZjI5ZDIuLjI2 NjBlZDUyMGIgMTAwNjQ0CiAgCiAgc3RhdGljIHZvaWQgdmlydGlvX2JhbGxvb25fdG9fdGFyZ2V0 KHZvaWQgKm9wYXF1ZSwgcmFtX2FkZHJfdCB0YXJnZXQpCiBkaWZmIC0tZ2l0IGEvcWFwaS9tYWNo aW5lLmpzb24gYi9xYXBpL21hY2hpbmUuanNvbgotaW5kZXggYTA4YjY1NzZjYS4uNWM5YTRkNTVm NCAxMDA2NDQKK2luZGV4IGI2ZDYzNGIzMGQuLjAzYTcyZWZjMTEgMTAwNjQ0CiAtLS0gYS9xYXBp L21hY2hpbmUuanNvbgogKysrIGIvcWFwaS9tYWNoaW5lLmpzb24KLUBAIC0xMDYzLDkgKzEwNjMs MjkgQEAKK0BAIC0xMDg3LDkgKzEwODcsMjkgQEAKICAjIEBhY3R1YWw6IHRoZSBsb2dpY2FsIHNp emUgb2YgdGhlIFZNIGluIGJ5dGVzIEZvcm11bGEgdXNlZDoKICAjICAgICBsb2dpY2FsX3ZtX3Np emUgPSB2bV9yYW1fc2l6ZSAtIGJhbGxvb25fc2l6ZQogICMKQEAgLTEzOCw3ICsxMzgsNyBAQCBp bmRleCBhMDhiNjU3NmNhLi41YzlhNGQ1NWY0IDEwMDY0NAogICMjCiAgIyBAcXVlcnktYmFsbG9v bjoKIGRpZmYgLS1naXQgYS9xYXBpL3ByYWdtYS5qc29uIGIvcWFwaS9wcmFnbWEuanNvbgotaW5k ZXggN2Y4MTBiMGU5Ny4uMzI1ZTY4NDQxMSAxMDA2NDQKK2luZGV4IDBhYTRlZWRkZDMuLmVhZTlm NTQ3MDAgMTAwNjQ0CiAtLS0gYS9xYXBpL3ByYWdtYS5qc29uCiArKysgYi9xYXBpL3ByYWdtYS5q c29uCiBAQCAtMzUsNiArMzUsNyBAQApkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAw MTQtUFZFLXFhcGktbW9kaWZ5LXF1ZXJ5LW1hY2hpbmVzLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMv cHZlLzAwMTQtUFZFLXFhcGktbW9kaWZ5LXF1ZXJ5LW1hY2hpbmVzLnBhdGNoCmluZGV4IGFiMzMx ZjMuLjFmZDQ0ZGMgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDE0LVBWRS1xYXBp LW1vZGlmeS1xdWVyeS1tYWNoaW5lcy5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAx NC1QVkUtcWFwaS1tb2RpZnktcXVlcnktbWFjaGluZXMucGF0Y2gKQEAgLTMwLDEwICszMCwxMCBA QCBpbmRleCAzODYwYTUwYzNiLi40MDgyMWUyMzE3IDEwMDY0NAogICAgICAgICAgICAgIGluZm8t PmRlZmF1bHRfY3B1X3R5cGUgPSBnX3N0cmR1cChtYy0+ZGVmYXVsdF9jcHVfdHlwZSk7CiAgICAg ICAgICB9CiBkaWZmIC0tZ2l0IGEvcWFwaS9tYWNoaW5lLmpzb24gYi9xYXBpL21hY2hpbmUuanNv bgotaW5kZXggNWM5YTRkNTVmNC4uZmJiNjFmMThlNCAxMDA2NDQKK2luZGV4IDAzYTcyZWZjMTEu LjI5N2FkMGUwZTUgMTAwNjQ0CiAtLS0gYS9xYXBpL21hY2hpbmUuanNvbgogKysrIGIvcWFwaS9t YWNoaW5lLmpzb24KLUBAIC0xMzksNiArMTM5LDggQEAKK0BAIC0xNDYsNiArMTQ2LDggQEAKICAj CiAgIyBAaXMtZGVmYXVsdDogd2hldGhlciB0aGUgbWFjaGluZSBpcyBkZWZhdWx0CiAgIwpAQCAt NDIsNyArNDIsNyBAQCBpbmRleCA1YzlhNGQ1NWY0Li5mYmI2MWYxOGU0IDEwMDY0NAogICMgQGNw dS1tYXg6IG1heGltdW0gbnVtYmVyIG9mIENQVXMgc3VwcG9ydGVkIGJ5IHRoZSBtYWNoaW5lIHR5 cGUKICAjICAgICAoc2luY2UgMS41KQogICMKLUBAIC0xNjMsNyArMTY1LDcgQEAKK0BAIC0xNzAs NyArMTcyLDcgQEAKICAjIwogIHsgJ3N0cnVjdCc6ICdNYWNoaW5lSW5mbycsCiAgICAnZGF0YSc6 IHsgJ25hbWUnOiAnc3RyJywgJyphbGlhcyc6ICdzdHInLApkaWZmIC0tZ2l0IGEvZGViaWFuL3Bh dGNoZXMvcHZlLzAwMTUtUFZFLXFhcGktbW9kaWZ5LXNwaWNlLXF1ZXJ5LnBhdGNoIGIvZGViaWFu L3BhdGNoZXMvcHZlLzAwMTUtUFZFLXFhcGktbW9kaWZ5LXNwaWNlLXF1ZXJ5LnBhdGNoCmluZGV4 IDI2YzY4NDAuLjRmOTUzM2QgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDE1LVBW RS1xYXBpLW1vZGlmeS1zcGljZS1xdWVyeS5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUv MDAxNS1QVkUtcWFwaS1tb2RpZnktc3BpY2UtcXVlcnkucGF0Y2gKQEAgLTE0LDEwICsxNCwxMCBA QCBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNvbT4KICAyIGZp bGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvcWFwaS91aS5qc29u IGIvcWFwaS91aS5qc29uCi1pbmRleCAwMDY2MTZhYTc3Li5kZmQxZDNlMzZiIDEwMDY0NAoraW5k ZXggYTAxNThiYWYyMy4uMjBkODk5NGY0OSAxMDA2NDQKIC0tLSBhL3FhcGkvdWkuanNvbgogKysr IGIvcWFwaS91aS5qc29uCi1AQCAtMzE3LDExICszMTcsMTQgQEAKK0BAIC0zMTgsMTEgKzMxOCwx NCBAQAogICMKICAjIEBjaGFubmVsczogYSBsaXN0IG9mIEBTcGljZUNoYW5uZWwgZm9yIGVhY2gg YWN0aXZlIHNwaWNlIGNoYW5uZWwKICAjCkBAIC0zMyw3ICszMyw3IEBAIGluZGV4IDAwNjYxNmFh NzcuLmRmZDFkM2UzNmIgMTAwNjQ0CiAgICAnaWYnOiAnQ09ORklHX1NQSUNFJyB9CiAgCiBkaWZm IC0tZ2l0IGEvdWkvc3BpY2UtY29yZS5jIGIvdWkvc3BpY2UtY29yZS5jCi1pbmRleCBiMjBjMjVh ZWUwLi4yNmJhZWI3ODQ2IDEwMDY0NAoraW5kZXggMGViMTM4Y2Y0My4uNTZkNjc3ZWZlMSAxMDA2 NDQKIC0tLSBhL3VpL3NwaWNlLWNvcmUuYwogKysrIGIvdWkvc3BpY2UtY29yZS5jCiBAQCAtNTQ4 LDYgKzU0OCwxMCBAQCBzdGF0aWMgU3BpY2VJbmZvICpxbXBfcXVlcnlfc3BpY2VfcmVhbChFcnJv ciAqKmVycnApCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAxNi1QVkUtYWRkLUlP Q2hhbm5lbC1pbXBsZW1lbnRhdGlvbi1mb3Itc2F2ZXZtLWFzeW5jLnBhdGNoIGIvZGViaWFuL3Bh dGNoZXMvcHZlLzAwMTYtUFZFLWFkZC1JT0NoYW5uZWwtaW1wbGVtZW50YXRpb24tZm9yLXNhdmV2 bS1hc3luYy5wYXRjaAppbmRleCBkZjA4NmUzLi5iMjRjZGZmIDEwMDY0NAotLS0gYS9kZWJpYW4v cGF0Y2hlcy9wdmUvMDAxNi1QVkUtYWRkLUlPQ2hhbm5lbC1pbXBsZW1lbnRhdGlvbi1mb3Itc2F2 ZXZtLWFzeW5jLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDE2LVBWRS1hZGQtSU9D aGFubmVsLWltcGxlbWVudGF0aW9uLWZvci1zYXZldm0tYXN5bmMucGF0Y2gKQEAgLTE2LDE5ICsx NiwxOSBAQCBBZGRpdGlvbmFsbHksIGFsbG93cyB0cmFja2luZyB0aGUgY3VycmVudCBwb3NpdGlv biBmcm9tIHRoZSBvdXRzaWRlCiBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBw cm94bW94LmNvbT4KIFNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVjaHQgPHQubGFtcHJlY2h0 QHByb3htb3guY29tPgogLS0tCi0gbWlncmF0aW9uL2NoYW5uZWwtc2F2ZXZtLWFzeW5jLmMgfCAx ODMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIG1pZ3JhdGlvbi9jaGFubmVsLXNh dmV2bS1hc3luYy5jIHwgMTg0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKICBtaWdy YXRpb24vY2hhbm5lbC1zYXZldm0tYXN5bmMuaCB8ICA1MSArKysrKysrKysKICBtaWdyYXRpb24v bWVzb24uYnVpbGQgICAgICAgICAgICB8ICAgMSArCi0gMyBmaWxlcyBjaGFuZ2VkLCAyMzUgaW5z ZXJ0aW9ucygrKQorIDMgZmlsZXMgY2hhbmdlZCwgMjM2IGluc2VydGlvbnMoKykKICBjcmVhdGUg bW9kZSAxMDA2NDQgbWlncmF0aW9uL2NoYW5uZWwtc2F2ZXZtLWFzeW5jLmMKICBjcmVhdGUgbW9k ZSAxMDA2NDQgbWlncmF0aW9uL2NoYW5uZWwtc2F2ZXZtLWFzeW5jLmgKIAogZGlmZiAtLWdpdCBh L21pZ3JhdGlvbi9jaGFubmVsLXNhdmV2bS1hc3luYy5jIGIvbWlncmF0aW9uL2NoYW5uZWwtc2F2 ZXZtLWFzeW5jLmMKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi5hYWIw ODFjZTA3CitpbmRleCAwMDAwMDAwMDAwLi4wODFhMTkyZjQ5CiAtLS0gL2Rldi9udWxsCiArKysg Yi9taWdyYXRpb24vY2hhbm5lbC1zYXZldm0tYXN5bmMuYwotQEAgLTAsMCArMSwxODMgQEAKK0BA IC0wLDAgKzEsMTg0IEBACiArLyoKICsgKiBRSU8gQ2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB0byBi ZSB1c2VkIGJ5IHNhdmV2bS1hc3luYyBRTVAgY2FsbHMKICsgKi8KQEAgLTE3NSw4ICsxNzUsOSBA QCBpbmRleCAwMDAwMDAwMDAwLi5hYWIwODFjZTA3CiArCiArc3RhdGljIHZvaWQKICtxaW9fY2hh bm5lbF9zYXZldm1fYXN5bmNfc2V0X2Fpb19mZF9oYW5kbGVyKFFJT0NoYW5uZWwgKmlvYywKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFpb0NvbnRleHQgKmN0 eCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFpb0NvbnRl eHQgKnJlYWRfY3R4LAogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSU9IYW5kbGVyICppb19yZWFkLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQWlvQ29udGV4dCAqd3JpdGVfY3R4LAogKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSU9IYW5kbGVyICppb193cml0ZSwKICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm9wYXF1ZSkKICt7CkBAIC0y NzAsNyArMjcxLDcgQEAgaW5kZXggMDAwMDAwMDAwMC4uMTdhZTJjYjI2MQogKwogKyNlbmRpZiAv KiBRSU9fQ0hBTk5FTF9TQVZFVk1fQVNZTkNfSCAqLwogZGlmZiAtLWdpdCBhL21pZ3JhdGlvbi9t ZXNvbi5idWlsZCBiL21pZ3JhdGlvbi9tZXNvbi5idWlsZAotaW5kZXggMWFlMjg1MjNhMS4uMzdk ZGNiNWQ2MCAxMDA2NDQKK2luZGV4IDkyYjFjYzQyOTcuLjBlNjg5ZWFjMDkgMTAwNjQ0CiAtLS0g YS9taWdyYXRpb24vbWVzb24uYnVpbGQKICsrKyBiL21pZ3JhdGlvbi9tZXNvbi5idWlsZAogQEAg LTEzLDYgKzEzLDcgQEAgc3lzdGVtX3NzLmFkZChmaWxlcygKZGlmZiAtLWdpdCBhL2RlYmlhbi9w YXRjaGVzL3B2ZS8wMDE3LVBWRS1hZGQtc2F2ZXZtLWFzeW5jLWZvci1iYWNrZ3JvdW5kLXN0YXRl LXNuYXBzaG90cy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDE3LVBWRS1hZGQtc2F2ZXZt LWFzeW5jLWZvci1iYWNrZ3JvdW5kLXN0YXRlLXNuYXBzaG90cy5wYXRjaAppbmRleCBkZjEyZDg1 Li5iZDg4MzdkIDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAxNy1QVkUtYWRkLXNh dmV2bS1hc3luYy1mb3ItYmFja2dyb3VuZC1zdGF0ZS1zbmFwc2hvdHMucGF0Y2gKKysrIGIvZGVi aWFuL3BhdGNoZXMvcHZlLzAwMTctUFZFLWFkZC1zYXZldm0tYXN5bmMtZm9yLWJhY2tncm91bmQt c3RhdGUtc25hcHNob3RzLnBhdGNoCkBAIC0yNyw3ICsyNyw3IEBAIFNpZ25lZC1vZmYtYnk6IFN0 ZWZhbiBSZWl0ZXIgPHMucmVpdGVyQHByb3htb3guY29tPgogW0ZFOiBmdXJ0aGVyIGltcHJvdmUg YWJvcnRpbmcKICAgICAgYWRhcHQgdG8gcmVtb3ZhbCBvZiBRRU1VRmlsZU9wcwogICAgICBpbXBy b3ZlIGNvbmRpdGlvbiBmb3IgZW50ZXJpbmcgZmluYWwgc3RhZ2UKLSAgICAgYWRhcHQgdG8gUUFQ SSBhbmQgb3RoZXIgY2hhbmdlcyBmb3IgOC4wXQorICAgICBhZGFwdCB0byBRQVBJIGFuZCBvdGhl ciBjaGFuZ2VzIGZvciA4LjJdCiBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBw cm94bW94LmNvbT4KIC0tLQogIGhtcC1jb21tYW5kcy1pbmZvLmh4ICAgICAgICAgfCAgMTMgKwpA QCAtMzUsMTMgKzM1LDEzIEBAIFNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHBy b3htb3guY29tPgogIGluY2x1ZGUvbWlncmF0aW9uL3NuYXBzaG90LmggfCAgIDIgKwogIGluY2x1 ZGUvbW9uaXRvci9obXAuaCAgICAgICAgfCAgIDMgKwogIG1pZ3JhdGlvbi9tZXNvbi5idWlsZCAg ICAgICAgfCAgIDEgKwotIG1pZ3JhdGlvbi9zYXZldm0tYXN5bmMuYyAgICAgfCA1MzEgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBtaWdyYXRpb24vc2F2ZXZtLWFzeW5jLmMg ICAgIHwgNTM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAgbW9uaXRvci9o bXAtY21kcy5jICAgICAgICAgICB8ICAzOCArKysKICBxYXBpL21pZ3JhdGlvbi5qc29uICAgICAg ICAgIHwgIDM0ICsrKwogIHFhcGkvbWlzYy5qc29uICAgICAgICAgICAgICAgfCAgMTYgKysKICBx ZW11LW9wdGlvbnMuaHggICAgICAgICAgICAgIHwgIDEyICsKLSBzb2Z0bW11L3ZsLmMgICAgICAg ICAgICAgICAgIHwgIDEwICsKLSAxMSBmaWxlcyBjaGFuZ2VkLCA2NzcgaW5zZXJ0aW9ucygrKQor IHN5c3RlbS92bC5jICAgICAgICAgICAgICAgICAgfCAgMTAgKworIDExIGZpbGVzIGNoYW5nZWQs IDY4MCBpbnNlcnRpb25zKCspCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IG1pZ3JhdGlvbi9zYXZldm0t YXN5bmMuYwogCiBkaWZmIC0tZ2l0IGEvaG1wLWNvbW1hbmRzLWluZm8uaHggYi9obXAtY29tbWFu ZHMtaW5mby5oeApAQCAtNjksMTAgKzY5LDEwIEBAIGluZGV4IGY1YjM3ZWI3NGEuLjEwZmRkODIy ZTAgMTAwNjQ0CiAgICAgICAgICAubmFtZSAgICAgICA9ICJiYWxsb29uIiwKICAgICAgICAgIC5h cmdzX3R5cGUgID0gIiIsCiBkaWZmIC0tZ2l0IGEvaG1wLWNvbW1hbmRzLmh4IGIvaG1wLWNvbW1h bmRzLmh4Ci1pbmRleCAyY2JkMGY3N2EwLi5lMzUyZjg2ODcyIDEwMDY0NAoraW5kZXggNzY1MzQ5 ZWQxNC4uODkzYzNiZDI0MCAxMDA2NDQKIC0tLSBhL2htcC1jb21tYW5kcy5oeAogKysrIGIvaG1w LWNvbW1hbmRzLmh4Ci1AQCAtMTg2NSwzICsxODY1LDIwIEBAIFNSU1QKK0BAIC0xODc1LDMgKzE4 NzUsMjAgQEAgU1JTVAogICAgTGlzdCBldmVudCBjaGFubmVscyBpbiB0aGUgZ3Vlc3QKICBFUlNU CiAgI2VuZGlmCkBAIC0xMjYsMTAgKzEyNiwxMCBAQCBpbmRleCAxM2Y5YTJkZWRiLi43YTdkZWY3 NTMwIDEwMDY0NAogIHZvaWQgY29yb3V0aW5lX2ZuIGhtcF9zY3JlZW5kdW1wKE1vbml0b3IgKm1v biwgY29uc3QgUURpY3QgKnFkaWN0KTsKICB2b2lkIGhtcF9jaGFyZGV2X2FkZChNb25pdG9yICpt b24sIGNvbnN0IFFEaWN0ICpxZGljdCk7CiBkaWZmIC0tZ2l0IGEvbWlncmF0aW9uL21lc29uLmJ1 aWxkIGIvbWlncmF0aW9uL21lc29uLmJ1aWxkCi1pbmRleCAzN2RkY2I1ZDYwLi4wN2Y2MDU3YWNj IDEwMDY0NAoraW5kZXggMGU2ODllYWMwOS4uOGY5ZDEyMjE4NyAxMDA2NDQKIC0tLSBhL21pZ3Jh dGlvbi9tZXNvbi5idWlsZAogKysrIGIvbWlncmF0aW9uL21lc29uLmJ1aWxkCi1AQCAtMjYsNiAr MjYsNyBAQCBzeXN0ZW1fc3MuYWRkKGZpbGVzKAorQEAgLTI3LDYgKzI3LDcgQEAgc3lzdGVtX3Nz LmFkZChmaWxlcygKICAgICdvcHRpb25zLmMnLAogICAgJ3Bvc3Rjb3B5LXJhbS5jJywKICAgICdz YXZldm0uYycsCkBAIC0xMzksMTAgKzEzOSwxMCBAQCBpbmRleCAzN2RkY2I1ZDYwLi4wN2Y2MDU3 YWNjIDEwMDY0NAogICAgJ3RocmVhZGluZm8uYycsCiBkaWZmIC0tZ2l0IGEvbWlncmF0aW9uL3Nh dmV2bS1hc3luYy5jIGIvbWlncmF0aW9uL3NhdmV2bS1hc3luYy5jCiBuZXcgZmlsZSBtb2RlIDEw MDY0NAotaW5kZXggMDAwMDAwMDAwMC4uZTlmYzE4ZmIxMAoraW5kZXggMDAwMDAwMDAwMC4uOGY2 M2M0YzYzNwogLS0tIC9kZXYvbnVsbAogKysrIGIvbWlncmF0aW9uL3NhdmV2bS1hc3luYy5jCi1A QCAtMCwwICsxLDUzMSBAQAorQEAgLTAsMCArMSw1MzQgQEAKICsjaW5jbHVkZSAicWVtdS9vc2Rl cC5oIgogKyNpbmNsdWRlICJtaWdyYXRpb24vY2hhbm5lbC1zYXZldm0tYXN5bmMuaCIKICsjaW5j bHVkZSAibWlncmF0aW9uL21pZ3JhdGlvbi5oIgpAQCAtNDQxLDIxICs0NDEsMjUgQEAgaW5kZXgg MDAwMDAwMDAwMC4uZTlmYzE4ZmIxMAogKyAgICAgKiBzbyBtb3ZlIHRoZXJlIG5vdyBhbmQgYWZ0 ZXIgZXZlcnkgZmx1c2guCiArICAgICAqLwogKyAgICBhaW9fY29fcmVzY2hlZHVsZV9zZWxmKHFl bXVfZ2V0X2Fpb19jb250ZXh0KCkpOwotKyAgICBmb3IgKGJzID0gYmRydl9maXJzdCgmaXQpOyBi czsgYnMgPSBiZHJ2X25leHQoJml0KSkgeworKyAgICBiZHJ2X2dyYXBoX2NvX3JkbG9jaygpOwor KyAgICBicyA9IGJkcnZfZmlyc3QoJml0KTsKKysgICAgYmRydl9ncmFwaF9jb19yZHVubG9jaygp OworKyAgICB3aGlsZSAoYnMpIHsKICsgICAgICAgIC8qIHRhcmdldCBoYXMgQkRSVl9PX05PX0ZM VVNILCBubyBzZW5zZSBjYWxsaW5nIGJkcnZfZmx1c2ggb24gaXQgKi8KLSsgICAgICAgIGlmIChi cyA9PSBibGtfYnMoc25hcF9zdGF0ZS50YXJnZXQpKSB7Ci0rICAgICAgICAgICAgY29udGludWU7 Ci0rICAgICAgICB9Ci0rCi0rICAgICAgICBBaW9Db250ZXh0ICpic19jdHggPSBiZHJ2X2dldF9h aW9fY29udGV4dChicyk7Ci0rICAgICAgICBpZiAoYnNfY3R4ICE9IHFlbXVfZ2V0X2Fpb19jb250 ZXh0KCkpIHsKLSsgICAgICAgICAgICBEUFJJTlRGKCJzYXZldm06IGFzeW5jIGZsdXNoaW5nIGRy aXZlICVzXG4iLCBicy0+ZmlsZW5hbWUpOwotKyAgICAgICAgICAgIGFpb19jb19yZXNjaGVkdWxl X3NlbGYoYnNfY3R4KTsKLSsgICAgICAgICAgICBiZHJ2X2dyYXBoX2NvX3JkbG9jaygpOwotKyAg ICAgICAgICAgIGJkcnZfZmx1c2goYnMpOwotKyAgICAgICAgICAgIGJkcnZfZ3JhcGhfY29fcmR1 bmxvY2soKTsKLSsgICAgICAgICAgICBhaW9fY29fcmVzY2hlZHVsZV9zZWxmKHFlbXVfZ2V0X2Fp b19jb250ZXh0KCkpOworKyAgICAgICAgaWYgKGJzICE9IGJsa19icyhzbmFwX3N0YXRlLnRhcmdl dCkpIHsKKysgICAgICAgICAgICBBaW9Db250ZXh0ICpic19jdHggPSBiZHJ2X2dldF9haW9fY29u dGV4dChicyk7CisrICAgICAgICAgICAgaWYgKGJzX2N0eCAhPSBxZW11X2dldF9haW9fY29udGV4 dCgpKSB7CisrICAgICAgICAgICAgICAgIERQUklOVEYoInNhdmV2bTogYXN5bmMgZmx1c2hpbmcg ZHJpdmUgJXNcbiIsIGJzLT5maWxlbmFtZSk7CisrICAgICAgICAgICAgICAgIGFpb19jb19yZXNj aGVkdWxlX3NlbGYoYnNfY3R4KTsKKysgICAgICAgICAgICAgICAgYmRydl9ncmFwaF9jb19yZGxv Y2soKTsKKysgICAgICAgICAgICAgICAgYmRydl9mbHVzaChicyk7CisrICAgICAgICAgICAgICAg IGJkcnZfZ3JhcGhfY29fcmR1bmxvY2soKTsKKysgICAgICAgICAgICAgICAgYWlvX2NvX3Jlc2No ZWR1bGVfc2VsZihxZW11X2dldF9haW9fY29udGV4dCgpKTsKKysgICAgICAgICAgICB9CiArICAg ICAgICB9CisrICAgICAgICBiZHJ2X2dyYXBoX2NvX3JkbG9jaygpOworKyAgICAgICAgYnMgPSBi ZHJ2X25leHQoJml0KTsKKysgICAgICAgIGJkcnZfZ3JhcGhfY29fcmR1bmxvY2soKTsKICsgICAg fQogKwogKyAgICBEUFJJTlRGKCJ0aW1pbmc6IGFzeW5jIGZsdXNoaW5nIHRvb2sgJWxkIG1zXG4i LApAQCAtNTM1LDkgKzUzOSwxMCBAQCBpbmRleCAwMDAwMDAwMDAwLi5lOWZjMThmYjEwCiArICAg ICAqIFN0YXRlIGlzIGNsZWFyZWQgaW4gcHJvY2Vzc19zYXZldm1fY28sIGJ1dCBoYXMgdG8gYmUg aW5pdGlhbGl6ZWQKICsgICAgICogaGVyZSAoYmxvY2tpbmcgbWFpbiB0aHJlYWQsIGZyb20gUU1Q KSB0byBhdm9pZCByYWNlIGNvbmRpdGlvbnMuCiArICAgICAqLwotKyAgICBtaWdyYXRlX2luaXQo bXMpOworKyAgICBpZiAobWlncmF0ZV9pbml0KG1zLCBlcnJwKSkgeworKyAgICAgICAgcmV0dXJu OworKyAgICB9CiArICAgIG1lbXNldCgmbWlnX3N0YXRzLCAwLCBzaXplb2YobWlnX3N0YXRzKSk7 Ci0rICAgIG1lbXNldCgmY29tcHJlc3Npb25fY291bnRlcnMsIDAsIHNpemVvZihjb21wcmVzc2lv bl9jb3VudGVycykpOwogKyAgICBtcy0+dG9fZHN0X2ZpbGUgPSBzbmFwX3N0YXRlLmZpbGU7CiAr CiArICAgIGVycm9yX3NldGcoJnNuYXBfc3RhdGUuYmxvY2tlciwgImJsb2NrIGRldmljZSBpcyBp biB1c2UgYnkgc2F2ZXZtIik7CkBAIC01NDYsMTAgKzU1MSw4IEBAIGluZGV4IDAwMDAwMDAwMDAu LmU5ZmMxOGZiMTAKICsgICAgc25hcF9zdGF0ZS5zdGF0ZSA9IFNBVkVfU1RBVEVfQUNUSVZFOwog KyAgICBzbmFwX3N0YXRlLmZpbmFsaXplX2JoID0gcWVtdV9iaF9uZXcocHJvY2Vzc19zYXZldm1f ZmluYWxpemUsICZzbmFwX3N0YXRlKTsKICsgICAgc25hcF9zdGF0ZS5jbyA9IHFlbXVfY29yb3V0 aW5lX2NyZWF0ZSgmcHJvY2Vzc19zYXZldm1fY28sIE5VTEwpOwotKyAgICBxZW11X211dGV4X3Vu bG9ja19pb3RocmVhZCgpOwogKyAgICBxZW11X3NhdmV2bV9zdGF0ZV9oZWFkZXIoc25hcF9zdGF0 ZS5maWxlKTsKICsgICAgcWVtdV9zYXZldm1fc3RhdGVfc2V0dXAoc25hcF9zdGF0ZS5maWxlKTsK LSsgICAgcWVtdV9tdXRleF9sb2NrX2lvdGhyZWFkKCk7CiArCiArICAgIC8qIEFzeW5jIHByb2Nl c3NpbmcgZnJvbSBoZXJlIG9uIG91dCBoYXBwZW5zIGluIGlvaGFuZGxlciBjb250ZXh0LCBzbyBs ZXQKICsgICAgICogdGhlIHRhcmdldCBiZHJ2IGhhdmUgaXRzIGhvbWUgdGhlcmUuCkBAIC02NzUs NyArNjc4LDcgQEAgaW5kZXggMDAwMDAwMDAwMC4uZTlmYzE4ZmIxMAogKyAgICByZXR1cm4gcmV0 OwogK30KIGRpZmYgLS1naXQgYS9tb25pdG9yL2htcC1jbWRzLmMgYi9tb25pdG9yL2htcC1jbWRz LmMKLWluZGV4IDZjNTU5YjQ4YzguLjkxYmU2OTgzMDggMTAwNjQ0CitpbmRleCA4NzE4OThhYzQ2 Li5lZjQ2MzRlNWMxIDEwMDY0NAogLS0tIGEvbW9uaXRvci9obXAtY21kcy5jCiArKysgYi9tb25p dG9yL2htcC1jbWRzLmMKIEBAIC0yMiw2ICsyMiw3IEBACkBAIC02ODUsNyArNjg4LDcgQEAgaW5k ZXggNmM1NTliNDhjOC4uOTFiZTY5ODMwOCAxMDA2NDQKICsjaW5jbHVkZSAicWFwaS9xYXBpLWNv bW1hbmRzLW1pZ3JhdGlvbi5oIgogICNpbmNsdWRlICJxYXBpL3FhcGktY29tbWFuZHMtbWlzYy5o IgogICNpbmNsdWRlICJxYXBpL3FtcC9xZGljdC5oIgotICNpbmNsdWRlICJxYXBpL3FtcC9xZXJy b3IuaCIKKyAjaW5jbHVkZSAicWVtdS9jdXRpbHMuaCIKIEBAIC00NDMsMyArNDQ0LDQwIEBAIHZv aWQgaG1wX2luZm9fbXRyZWUoTW9uaXRvciAqbW9uLCBjb25zdCBRRGljdCAqcWRpY3QpCiAgCiAg ICAgIG10cmVlX2luZm8oZmxhdHZpZXcsIGRpc3BhdGNoX3RyZWUsIG93bmVyLCBkaXNhYmxlZCk7 CkBAIC03MjgsMTAgKzczMSwxMCBAQCBpbmRleCA2YzU1OWI0OGM4Li45MWJlNjk4MzA4IDEwMDY0 NAogKyAgICB9CiArfQogZGlmZiAtLWdpdCBhL3FhcGkvbWlncmF0aW9uLmpzb24gYi9xYXBpL21p Z3JhdGlvbi5qc29uCi1pbmRleCA4ODQzZTc0YjU5Li5hY2EwY2ExYWMxIDEwMDY0NAoraW5kZXgg MTk3ZDNmYWE0My4uYjQxNDY1ZmJlOSAxMDA2NDQKIC0tLSBhL3FhcGkvbWlncmF0aW9uLmpzb24K ICsrKyBiL3FhcGkvbWlncmF0aW9uLmpzb24KLUBAIC0yOTEsNiArMjkxLDQwIEBACitAQCAtMjk4 LDYgKzI5OCw0MCBAQAogICAgICAgICAgICAgJypkaXJ0eS1saW1pdC10aHJvdHRsZS10aW1lLXBl ci1yb3VuZCc6ICd1aW50NjQnLAogICAgICAgICAgICAgJypkaXJ0eS1saW1pdC1yaW5nLWZ1bGwt dGltZSc6ICd1aW50NjQnfSB9CiAgCkBAIC04MDAsMTAgKzgwMywxMCBAQCBpbmRleCBjZGEyZWZm YTgxLi45NGE1OGJiMGJmIDEwMDY0NAogICMgQENvbW1hbmRMaW5lUGFyYW1ldGVyVHlwZToKICAj CiBkaWZmIC0tZ2l0IGEvcWVtdS1vcHRpb25zLmh4IGIvcWVtdS1vcHRpb25zLmh4Ci1pbmRleCA4 MDczZjVlZGY1Li5kYzFlY2VjYzljIDEwMDY0NAoraW5kZXggYjZiNGFkOWU2Ny4uODgxYjBiM2M0 MyAxMDA2NDQKIC0tLSBhL3FlbXUtb3B0aW9ucy5oeAogKysrIGIvcWVtdS1vcHRpb25zLmh4Ci1A QCAtNDQ4Myw2ICs0NDgzLDE4IEBAIFNSU1QKK0BAIC00NTkwLDYgKzQ1OTAsMTggQEAgU1JTVAog ICAgICBTdGFydCByaWdodCBhd2F5IHdpdGggYSBzYXZlZCBzdGF0ZSAoYGBsb2Fkdm1gYCBpbiBt b25pdG9yKQogIEVSU1QKICAKQEAgLTgyMiwxMSArODI1LDExIEBAIGluZGV4IDgwNzNmNWVkZjUu LmRjMWVjZWNjOWMgMTAwNjQ0CiAgI2lmbmRlZiBfV0lOMzIKICBERUYoImRhZW1vbml6ZSIsIDAs IFFFTVVfT1BUSU9OX2RhZW1vbml6ZSwgXAogICAgICAiLWRhZW1vbml6ZSAgICAgIGRhZW1vbml6 ZSBRRU1VIGFmdGVyIGluaXRpYWxpemluZ1xuIiwgUUVNVV9BUkNIX0FMTCkKLWRpZmYgLS1naXQg YS9zb2Z0bW11L3ZsLmMgYi9zb2Z0bW11L3ZsLmMKLWluZGV4IGJhNmFkOGE4ZGYuLmRkZWFjZTMw NmUgMTAwNjQ0Ci0tLS0gYS9zb2Z0bW11L3ZsLmMKLSsrKyBiL3NvZnRtbXUvdmwuYwotQEAgLTE2 NCw2ICsxNjQsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqYWNjZWxlcmF0b3JzOworZGlmZiAtLWdp dCBhL3N5c3RlbS92bC5jIGIvc3lzdGVtL3ZsLmMKK2luZGV4IGQyYTNiM2Y0NTcuLjU3ZjdiYTA1 MjUgMTAwNjQ0CistLS0gYS9zeXN0ZW0vdmwuYworKysrIGIvc3lzdGVtL3ZsLmMKK0BAIC0xNjMs NiArMTYzLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmFjY2VsZXJhdG9yczsKICBzdGF0aWMgYm9v bCBoYXZlX2N1c3RvbV9yYW1fc2l6ZTsKICBzdGF0aWMgY29uc3QgY2hhciAqcmFtX21lbWRldl9p ZDsKICBzdGF0aWMgUURpY3QgKm1hY2hpbmVfb3B0c19kaWN0OwpAQCAtODM0LDcgKzgzNyw3IEBA IGluZGV4IGJhNmFkOGE4ZGYuLmRkZWFjZTMwNmUgMTAwNjQ0CiAgc3RhdGljIFFUQUlMUV9IRUFE KCwgT2JqZWN0T3B0aW9uKSBvYmplY3Rfb3B0cyA9IFFUQUlMUV9IRUFEX0lOSVRJQUxJWkVSKG9i amVjdF9vcHRzKTsKICBzdGF0aWMgUVRBSUxRX0hFQUQoLCBEZXZpY2VPcHRpb24pIGRldmljZV9v cHRzID0gUVRBSUxRX0hFQURfSU5JVElBTElaRVIoZGV2aWNlX29wdHMpOwogIHN0YXRpYyBpbnQg ZGlzcGxheV9yZW1vdGU7Ci1AQCAtMjY0Nyw2ICsyNjQ4LDEyIEBAIHZvaWQgcW1wX3hfZXhpdF9w cmVjb25maWcoRXJyb3IgKiplcnJwKQorQEAgLTI3MTUsNiArMjcxNiwxMiBAQCB2b2lkIHFtcF94 X2V4aXRfcHJlY29uZmlnKEVycm9yICoqZXJycCkKICAKICAgICAgaWYgKGxvYWR2bSkgewogICAg ICAgICAgbG9hZF9zbmFwc2hvdChsb2Fkdm0sIE5VTEwsIGZhbHNlLCBOVUxMLCAmZXJyb3JfZmF0 YWwpOwpAQCAtODQ3LDcgKzg1MCw3IEBAIGluZGV4IGJhNmFkOGE4ZGYuLmRkZWFjZTMwNmUgMTAw NjQ0CiAgICAgIH0KICAgICAgaWYgKHJlcGxheV9tb2RlICE9IFJFUExBWV9NT0RFX05PTkUpIHsK ICAgICAgICAgIHJlcGxheV92bXN0YXRlX2luaXQoKTsKLUBAIC0zMTk2LDYgKzMyMDMsOSBAQCB2 b2lkIHFlbXVfaW5pdChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCitAQCAtMzI2NSw2ICszMjcyLDkg QEAgdm9pZCBxZW11X2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgICAgIGNh c2UgUUVNVV9PUFRJT05fbG9hZHZtOgogICAgICAgICAgICAgICAgICBsb2Fkdm0gPSBvcHRhcmc7 CiAgICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvcHZl LzAwMTgtUFZFLWFkZC1vcHRpb25hbC1idWZmZXItc2l6ZS10by1RRU1VRmlsZS5wYXRjaCBiL2Rl Ymlhbi9wYXRjaGVzL3B2ZS8wMDE4LVBWRS1hZGQtb3B0aW9uYWwtYnVmZmVyLXNpemUtdG8tUUVN VUZpbGUucGF0Y2gKaW5kZXggYzk0NjEzNy4uYTRkOTI1YyAxMDA2NDQKLS0tIGEvZGViaWFuL3Bh dGNoZXMvcHZlLzAwMTgtUFZFLWFkZC1vcHRpb25hbC1idWZmZXItc2l6ZS10by1RRU1VRmlsZS5w YXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAxOC1QVkUtYWRkLW9wdGlvbmFsLWJ1ZmZl ci1zaXplLXRvLVFFTVVGaWxlLnBhdGNoCkBAIC0xMywxOCArMTMsMTggQEAgU2lnbmVkLW9mZi1i eTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+CiBbRkU6IGFkYXB0 IHRvIHJlbW92YWwgb2YgUUVNVUZpbGVPcHNdCiBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8 Zi5lYm5lckBwcm94bW94LmNvbT4KIC0tLQotIG1pZ3JhdGlvbi9xZW11LWZpbGUuYyAgICB8IDQ5 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KKyBtaWdyYXRpb24vcWVt dS1maWxlLmMgICAgfCA1MCArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t CiAgbWlncmF0aW9uL3FlbXUtZmlsZS5oICAgIHwgIDIgKysKICBtaWdyYXRpb24vc2F2ZXZtLWFz eW5jLmMgfCAgNSArKy0tCi0gMyBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAxOCBk ZWxldGlvbnMoLSkKKyAzIGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDE4IGRlbGV0 aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbWlncmF0aW9uL3FlbXUtZmlsZS5jIGIvbWlncmF0aW9u L3FlbXUtZmlsZS5jCi1pbmRleCAxOWMzM2M5OTg1Li5lOWZmZmYwZjBhIDEwMDY0NAoraW5kZXgg OTQyMzFmZjI5NS4uYWZkYTk4MjkyZiAxMDA2NDQKIC0tLSBhL21pZ3JhdGlvbi9xZW11LWZpbGUu YwogKysrIGIvbWlncmF0aW9uL3FlbXUtZmlsZS5jCi1AQCAtMzMsOCArMzMsOCBAQAotICNpbmNs dWRlICJvcHRpb25zLmgiCitAQCAtMzQsOCArMzQsOCBAQAogICNpbmNsdWRlICJxYXBpL2Vycm9y LmgiCisgI2luY2x1ZGUgInJkbWEuaCIKICAKIC0jZGVmaW5lIElPX0JVRl9TSVpFIDMyNzY4CiAt I2RlZmluZSBNQVhfSU9WX1NJWkUgTUlOX0NPTlNUKElPVl9NQVgsIDY0KQpAQCAtMzIsOCArMzIs OCBAQCBpbmRleCAxOWMzM2M5OTg1Li5lOWZmZmYwZjBhIDEwMDY0NAogKyNkZWZpbmUgTUFYX0lP Vl9TSVpFIE1JTl9DT05TVChJT1ZfTUFYLCAyNTYpCiAgCiAgc3RydWN0IFFFTVVGaWxlIHsKLSAg ICAgY29uc3QgUUVNVUZpbGVIb29rcyAqaG9va3M7Ci1AQCAtNDYsNyArNDYsOCBAQCBzdHJ1Y3Qg UUVNVUZpbGUgeworICAgICBRSU9DaGFubmVsICppb2M7CitAQCAtNDMsNyArNDMsOCBAQCBzdHJ1 Y3QgUUVNVUZpbGUgewogIAogICAgICBpbnQgYnVmX2luZGV4OwogICAgICBpbnQgYnVmX3NpemU7 IC8qIDAgd2hlbiB3cml0aW5nICovCkBAIC00Myw3ICs0Myw3IEBAIGluZGV4IDE5YzMzYzk5ODUu LmU5ZmZmZjBmMGEgMTAwNjQ0CiAgCiAgICAgIERFQ0xBUkVfQklUTUFQKG1heV9mcmVlLCBNQVhf SU9WX1NJWkUpOwogICAgICBzdHJ1Y3QgaW92ZWMgaW92W01BWF9JT1ZfU0laRV07Ci1AQCAtMTAw LDcgKzEwMSw5IEBAIGludCBxZW11X2ZpbGVfc2h1dGRvd24oUUVNVUZpbGUgKmYpCitAQCAtOTcs NyArOTgsOSBAQCBpbnQgcWVtdV9maWxlX3NodXRkb3duKFFFTVVGaWxlICpmKQogICAgICByZXR1 cm4gMDsKICB9CiAgCkBAIC01NCw3ICs1NCw3IEBAIGluZGV4IDE5YzMzYzk5ODUuLmU5ZmZmZjBm MGEgMTAwNjQ0CiAgewogICAgICBRRU1VRmlsZSAqZjsKICAKLUBAIC0xMDksNiArMTEyLDggQEAg c3RhdGljIFFFTVVGaWxlICpxZW11X2ZpbGVfbmV3X2ltcGwoUUlPQ2hhbm5lbCAqaW9jLCBib29s IGlzX3dyaXRhYmxlKQorQEAgLTEwNiw2ICsxMDksOCBAQCBzdGF0aWMgUUVNVUZpbGUgKnFlbXVf ZmlsZV9uZXdfaW1wbChRSU9DaGFubmVsICppb2MsIGJvb2wgaXNfd3JpdGFibGUpCiAgICAgIG9i amVjdF9yZWYoaW9jKTsKICAgICAgZi0+aW9jID0gaW9jOwogICAgICBmLT5pc193cml0YWJsZSA9 IGlzX3dyaXRhYmxlOwpAQCAtNjMsNyArNjMsNyBAQCBpbmRleCAxOWMzM2M5OTg1Li5lOWZmZmYw ZjBhIDEwMDY0NAogIAogICAgICByZXR1cm4gZjsKICB9Ci1AQCAtMTE5LDE3ICsxMjQsMjcgQEAg c3RhdGljIFFFTVVGaWxlICpxZW11X2ZpbGVfbmV3X2ltcGwoUUlPQ2hhbm5lbCAqaW9jLCBib29s IGlzX3dyaXRhYmxlKQorQEAgLTExNiwxNyArMTIxLDI3IEBAIHN0YXRpYyBRRU1VRmlsZSAqcWVt dV9maWxlX25ld19pbXBsKFFJT0NoYW5uZWwgKmlvYywgYm9vbCBpc193cml0YWJsZSkKICAgKi8K ICBRRU1VRmlsZSAqcWVtdV9maWxlX2dldF9yZXR1cm5fcGF0aChRRU1VRmlsZSAqZikKICB7CkBA IC05Myw4ICs5Myw4IEBAIGluZGV4IDE5YzMzYzk5ODUuLmU5ZmZmZjBmMGEgMTAwNjQ0CiArICAg IHJldHVybiBxZW11X2ZpbGVfbmV3X2ltcGwoaW9jLCBmYWxzZSwgYnVmZmVyX3NpemUpOwogIH0K ICAKLSB2b2lkIHFlbXVfZmlsZV9zZXRfaG9va3MoUUVNVUZpbGUgKmYsIGNvbnN0IFFFTVVGaWxl SG9va3MgKmhvb2tzKQotQEAgLTM3NSw3ICszOTAsNyBAQCBzdGF0aWMgc3NpemVfdCBjb3JvdXRp bmVfbWl4ZWRfZm4gcWVtdV9maWxsX2J1ZmZlcihRRU1VRmlsZSAqZikKKyAvKgorQEAgLTMyMCw3 ICszMzUsNyBAQCBzdGF0aWMgc3NpemVfdCBjb3JvdXRpbmVfbWl4ZWRfZm4gcWVtdV9maWxsX2J1 ZmZlcihRRU1VRmlsZSAqZikKICAgICAgZG8gewogICAgICAgICAgbGVuID0gcWlvX2NoYW5uZWxf cmVhZChmLT5pb2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopZi0+ YnVmICsgcGVuZGluZywKQEAgLTEwMywxNiArMTAzLDE3IEBAIGluZGV4IDE5YzMzYzk5ODUuLmU5 ZmZmZjBmMGEgMTAwNjQ0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsb2NhbF9l cnJvcik7CiAgICAgICAgICBpZiAobGVuID09IFFJT19DSEFOTkVMX0VSUl9CTE9DSykgewogICAg ICAgICAgICAgIGlmIChxZW11X2luX2Nvcm91dGluZSgpKSB7Ci1AQCAtNDI1LDYgKzQ0MCw4IEBA IGludCBxZW11X2ZjbG9zZShRRU1VRmlsZSAqZikKK0BAIC0zNjAsNiArMzc1LDkgQEAgaW50IHFl bXVfZmNsb3NlKFFFTVVGaWxlICpmKQorICAgICAgICAgcmV0ID0gcmV0MjsKICAgICAgfQogICAg ICBnX2NsZWFyX3BvaW50ZXIoJmYtPmlvYywgb2JqZWN0X3VucmVmKTsKLSAKKysKICsgICAgZnJl ZShmLT5idWYpOwogKwotICAgICAvKiBJZiBhbnkgZXJyb3Igd2FzIHNwb3R0ZWQgYmVmb3JlIGNs b3NpbmcsIHdlIHNob3VsZCByZXBvcnQgaXQKLSAgICAgICogaW5zdGVhZCBvZiB0aGUgY2xvc2Uo KSByZXR1cm4gdmFsdWUuCi0gICAgICAqLwotQEAgLTQ3OSw3ICs0OTYsNyBAQCBzdGF0aWMgdm9p ZCBhZGRfYnVmX3RvX2lvdmVjKFFFTVVGaWxlICpmLCBzaXplX3QgbGVuKQorICAgICBlcnJvcl9m cmVlKGYtPmxhc3RfZXJyb3Jfb2JqKTsKKyAgICAgZ19mcmVlKGYpOworICAgICB0cmFjZV9xZW11 X2ZpbGVfZmNsb3NlKCk7CitAQCAtNDA4LDcgKzQyNiw3IEBAIHN0YXRpYyB2b2lkIGFkZF9idWZf dG9faW92ZWMoUUVNVUZpbGUgKmYsIHNpemVfdCBsZW4pCiAgewogICAgICBpZiAoIWFkZF90b19p b3ZlYyhmLCBmLT5idWYgKyBmLT5idWZfaW5kZXgsIGxlbiwgZmFsc2UpKSB7CiAgICAgICAgICBm LT5idWZfaW5kZXggKz0gbGVuOwpAQCAtMTIxLDcgKzEyMiw3IEBAIGluZGV4IDE5YzMzYzk5ODUu LmU5ZmZmZjBmMGEgMTAwNjQ0CiAgICAgICAgICAgICAgcWVtdV9mZmx1c2goZik7CiAgICAgICAg ICB9CiAgICAgIH0KLUBAIC01MDQsNyArNTIxLDcgQEAgdm9pZCBxZW11X3B1dF9idWZmZXIoUUVN VUZpbGUgKmYsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90IHNpemUpCitAQCAtNDMzLDcgKzQ1 MSw3IEBAIHZvaWQgcWVtdV9wdXRfYnVmZmVyKFFFTVVGaWxlICpmLCBjb25zdCB1aW50OF90ICpi dWYsIHNpemVfdCBzaXplKQogICAgICB9CiAgCiAgICAgIHdoaWxlIChzaXplID4gMCkgewpAQCAt MTMwLDcgKzEzMSw3IEBAIGluZGV4IDE5YzMzYzk5ODUuLmU5ZmZmZjBmMGEgMTAwNjQ0CiAgICAg ICAgICBpZiAobCA+IHNpemUpIHsKICAgICAgICAgICAgICBsID0gc2l6ZTsKICAgICAgICAgIH0K LUBAIC01NDksOCArNTY2LDggQEAgc2l6ZV90IGNvcm91dGluZV9taXhlZF9mbiBxZW11X3BlZWtf YnVmZmVyKFFFTVVGaWxlICpmLCB1aW50OF90ICoqYnVmLCBzaXplX3Qgc2kKK0BAIC00NzgsOCAr NDk2LDggQEAgc2l6ZV90IGNvcm91dGluZV9taXhlZF9mbiBxZW11X3BlZWtfYnVmZmVyKFFFTVVG aWxlICpmLCB1aW50OF90ICoqYnVmLCBzaXplX3Qgc2kKICAgICAgc2l6ZV90IGluZGV4OwogIAog ICAgICBhc3NlcnQoIXFlbXVfZmlsZV9pc193cml0YWJsZShmKSk7CkBAIC0xNDEsNyArMTQyLDcg QEAgaW5kZXggMTljMzNjOTk4NS4uZTlmZmZmMGYwYSAxMDA2NDQKICAKICAgICAgLyogVGhlIDFz dCBieXRlIHRvIHJlYWQgZnJvbSAqLwogICAgICBpbmRleCA9IGYtPmJ1Zl9pbmRleCArIG9mZnNl dDsKLUBAIC02MDAsNyArNjE3LDcgQEAgc2l6ZV90IGNvcm91dGluZV9taXhlZF9mbiBxZW11X2dl dF9idWZmZXIoUUVNVUZpbGUgKmYsIHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90IHNpemUKK0BAIC01Mjks NyArNTQ3LDcgQEAgc2l6ZV90IGNvcm91dGluZV9taXhlZF9mbiBxZW11X2dldF9idWZmZXIoUUVN VUZpbGUgKmYsIHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90IHNpemUKICAgICAgICAgIHNpemVfdCByZXM7 CiAgICAgICAgICB1aW50OF90ICpzcmM7CiAgCkBAIC0xNTAsNyArMTUxLDcgQEAgaW5kZXggMTlj MzNjOTk4NS4uZTlmZmZmMGYwYSAxMDA2NDQKICAgICAgICAgIGlmIChyZXMgPT0gMCkgewogICAg ICAgICAgICAgIHJldHVybiBkb25lOwogICAgICAgICAgfQotQEAgLTYzNCw3ICs2NTEsNyBAQCBz aXplX3QgY29yb3V0aW5lX21peGVkX2ZuIHFlbXVfZ2V0X2J1ZmZlcihRRU1VRmlsZSAqZiwgdWlu dDhfdCAqYnVmLCBzaXplX3Qgc2l6ZQorQEAgLTU2Myw3ICs1ODEsNyBAQCBzaXplX3QgY29yb3V0 aW5lX21peGVkX2ZuIHFlbXVfZ2V0X2J1ZmZlcihRRU1VRmlsZSAqZiwgdWludDhfdCAqYnVmLCBz aXplX3Qgc2l6ZQogICAqLwogIHNpemVfdCBjb3JvdXRpbmVfbWl4ZWRfZm4gcWVtdV9nZXRfYnVm ZmVyX2luX3BsYWNlKFFFTVVGaWxlICpmLCB1aW50OF90ICoqYnVmLCBzaXplX3Qgc2l6ZSkKICB7 CkBAIC0xNTksNyArMTYwLDcgQEAgaW5kZXggMTljMzNjOTk4NS4uZTlmZmZmMGYwYSAxMDA2NDQK ICAgICAgICAgIHNpemVfdCByZXM7CiAgICAgICAgICB1aW50OF90ICpzcmMgPSBOVUxMOwogIAot QEAgLTY1OSw3ICs2NzYsNyBAQCBpbnQgY29yb3V0aW5lX21peGVkX2ZuIHFlbXVfcGVla19ieXRl KFFFTVVGaWxlICpmLCBpbnQgb2Zmc2V0KQorQEAgLTU4OCw3ICs2MDYsNyBAQCBpbnQgY29yb3V0 aW5lX21peGVkX2ZuIHFlbXVfcGVla19ieXRlKFFFTVVGaWxlICpmLCBpbnQgb2Zmc2V0KQogICAg ICBpbnQgaW5kZXggPSBmLT5idWZfaW5kZXggKyBvZmZzZXQ7CiAgCiAgICAgIGFzc2VydCghcWVt dV9maWxlX2lzX3dyaXRhYmxlKGYpKTsKQEAgLTE2OCw3ICsxNjksNyBAQCBpbmRleCAxOWMzM2M5 OTg1Li5lOWZmZmYwZjBhIDEwMDY0NAogIAogICAgICBpZiAoaW5kZXggPj0gZi0+YnVmX3NpemUp IHsKICAgICAgICAgIHFlbXVfZmlsbF9idWZmZXIoZik7Ci1AQCAtNzc3LDcgKzc5NCw3IEBAIHN0 YXRpYyBpbnQgcWVtdV9jb21wcmVzc19kYXRhKHpfc3RyZWFtICpzdHJlYW0sIHVpbnQ4X3QgKmRl c3QsIHNpemVfdCBkZXN0X2xlbiwKK0BAIC03MDIsNyArNzIwLDcgQEAgc3RhdGljIGludCBxZW11 X2NvbXByZXNzX2RhdGEoel9zdHJlYW0gKnN0cmVhbSwgdWludDhfdCAqZGVzdCwgc2l6ZV90IGRl c3RfbGVuLAogIHNzaXplX3QgcWVtdV9wdXRfY29tcHJlc3Npb25fZGF0YShRRU1VRmlsZSAqZiwg el9zdHJlYW0gKnN0cmVhbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgdWludDhfdCAqcCwgc2l6ZV90IHNpemUpCiAgewpAQCAtMTc4LDI0ICsxNzksMjQgQEAgaW5k ZXggMTljMzNjOTk4NS4uZTlmZmZmMGYwYSAxMDA2NDQKICAgICAgaWYgKGJsZW4gPCBjb21wcmVz c0JvdW5kKHNpemUpKSB7CiAgICAgICAgICByZXR1cm4gLTE7CiBkaWZmIC0tZ2l0IGEvbWlncmF0 aW9uL3FlbXUtZmlsZS5oIGIvbWlncmF0aW9uL3FlbXUtZmlsZS5oCi1pbmRleCA0NzAxNWY1MjAx Li4xMzEyYjdjOTAzIDEwMDY0NAoraW5kZXggOGFlYzlmYWJmNy4uNWQwYjE4YzUxYyAxMDA2NDQK IC0tLSBhL21pZ3JhdGlvbi9xZW11LWZpbGUuaAogKysrIGIvbWlncmF0aW9uL3FlbXUtZmlsZS5o Ci1AQCAtNjMsNyArNjMsOSBAQCB0eXBlZGVmIHN0cnVjdCBRRU1VRmlsZUhvb2tzIHsKLSB9IFFF TVVGaWxlSG9va3M7CitAQCAtMzAsNyArMzAsOSBAQAorICNpbmNsdWRlICJpby9jaGFubmVsLmgi CiAgCiAgUUVNVUZpbGUgKnFlbXVfZmlsZV9uZXdfaW5wdXQoUUlPQ2hhbm5lbCAqaW9jKTsKICtR RU1VRmlsZSAqcWVtdV9maWxlX25ld19pbnB1dF9zaXplZChRSU9DaGFubmVsICppb2MsIHNpemVf dCBidWZmZXJfc2l6ZSk7CiAgUUVNVUZpbGUgKnFlbXVfZmlsZV9uZXdfb3V0cHV0KFFJT0NoYW5u ZWwgKmlvYyk7CiArUUVNVUZpbGUgKnFlbXVfZmlsZV9uZXdfb3V0cHV0X3NpemVkKFFJT0NoYW5u ZWwgKmlvYywgc2l6ZV90IGJ1ZmZlcl9zaXplKTsKLSB2b2lkIHFlbXVfZmlsZV9zZXRfaG9va3Mo UUVNVUZpbGUgKmYsIGNvbnN0IFFFTVVGaWxlSG9va3MgKmhvb2tzKTsKICBpbnQgcWVtdV9mY2xv c2UoUUVNVUZpbGUgKmYpOwogIAorIC8qCiBkaWZmIC0tZ2l0IGEvbWlncmF0aW9uL3NhdmV2bS1h c3luYy5jIGIvbWlncmF0aW9uL3NhdmV2bS1hc3luYy5jCi1pbmRleCBlOWZjMThmYjEwLi44MDYy NGZhZGE4IDEwMDY0NAoraW5kZXggOGY2M2M0YzYzNy4uZjhkMWMyZjJiMSAxMDA2NDQKIC0tLSBh L21pZ3JhdGlvbi9zYXZldm0tYXN5bmMuYwogKysrIGIvbWlncmF0aW9uL3NhdmV2bS1hc3luYy5j Ci1AQCAtMzc4LDcgKzM3OCw3IEBAIHZvaWQgcW1wX3NhdmV2bV9zdGFydChjb25zdCBjaGFyICpz dGF0ZWZpbGUsIEVycm9yICoqZXJycCkKK0BAIC0zODIsNyArMzgyLDcgQEAgdm9pZCBxbXBfc2F2 ZXZtX3N0YXJ0KGNvbnN0IGNoYXIgKnN0YXRlZmlsZSwgRXJyb3IgKiplcnJwKQogIAogICAgICBR SU9DaGFubmVsICppb2MgPSBRSU9fQ0hBTk5FTChxaW9fY2hhbm5lbF9zYXZldm1fYXN5bmNfbmV3 KHNuYXBfc3RhdGUudGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzbmFwX3N0YXRlLmJzX3BvcykpOwpAQCAtMjA0 LDcgKzIwNSw3IEBAIGluZGV4IGU5ZmMxOGZiMTAuLjgwNjI0ZmFkYTggMTAwNjQ0CiAgCiAgICAg IGlmICghc25hcF9zdGF0ZS5maWxlKSB7CiAgICAgICAgICBlcnJvcl9zZXQoZXJycCwgRVJST1Jf Q0xBU1NfR0VORVJJQ19FUlJPUiwgImZhaWxlZCB0byBvcGVuICclcyciLCBzdGF0ZWZpbGUpOwot QEAgLTQ5Niw3ICs0OTYsOCBAQCBpbnQgbG9hZF9zbmFwc2hvdF9mcm9tX2Jsb2NrZGV2KGNvbnN0 IGNoYXIgKmZpbGVuYW1lLCBFcnJvciAqKmVycnApCitAQCAtNDk5LDcgKzQ5OSw4IEBAIGludCBs b2FkX3NuYXBzaG90X2Zyb21fYmxvY2tkZXYoY29uc3QgY2hhciAqZmlsZW5hbWUsIEVycm9yICoq ZXJycCkKICAgICAgYmxrX29wX2Jsb2NrX2FsbChiZSwgYmxvY2tlcik7CiAgCiAgICAgIC8qIHJl c3RvcmUgdGhlIFZNIHN0YXRlICovCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAx OS1QVkUtYmxvY2stYWRkLXRoZS16ZXJvaW5pdC1ibG9jay1kcml2ZXItZmlsdGVyLnBhdGNoIGIv ZGViaWFuL3BhdGNoZXMvcHZlLzAwMTktUFZFLWJsb2NrLWFkZC10aGUtemVyb2luaXQtYmxvY2st ZHJpdmVyLWZpbHRlci5wYXRjaAppbmRleCAxY2I4MTY2Li40ZDIwY2FiIDEwMDY0NAotLS0gYS9k ZWJpYW4vcGF0Y2hlcy9wdmUvMDAxOS1QVkUtYmxvY2stYWRkLXRoZS16ZXJvaW5pdC1ibG9jay1k cml2ZXItZmlsdGVyLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDE5LVBWRS1ibG9j ay1hZGQtdGhlLXplcm9pbml0LWJsb2NrLWRyaXZlci1maWx0ZXIucGF0Y2gKQEAgLTQsMjEgKzQs MjIgQEAgRGF0ZTogTW9uLCA2IEFwciAyMDIwIDEyOjE2OjQ3ICswMjAwCiBTdWJqZWN0OiBbUEFU Q0hdIFBWRTogYmxvY2s6IGFkZCB0aGUgemVyb2luaXQgYmxvY2sgZHJpdmVyIGZpbHRlcgogCiBT aWduZWQtb2ZmLWJ5OiBUaG9tYXMgTGFtcHJlY2h0IDx0LmxhbXByZWNodEBwcm94bW94LmNvbT4K LVtGRTogYWRhcHQgdG8gY2hhbmdlZCBmdW5jdGlvbiBzaWduYXR1cmVzXQorW0ZFOiBhZGFwdCB0 byBjaGFuZ2VkIGZ1bmN0aW9uIHNpZ25hdHVyZXMKKyAgICAgYWRoZXJlIHRvIGJsb2NrIGdyYXBo IGxvY2sgcmVxdWlyZW1lbnRzXQogU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJA cHJveG1veC5jb20+CiAtLS0KICBibG9jay9tZXNvbi5idWlsZCB8ICAgMSArCi0gYmxvY2svemVy b2luaXQuYyAgfCAyMDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwotIDIgZmlsZXMgY2hhbmdlZCwgMjAxIGluc2VydGlvbnMoKykKKyBibG9jay96ZXJvaW5p dC5jICB8IDIxNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CisgMiBmaWxlcyBjaGFuZ2VkLCAyMTUgaW5zZXJ0aW9ucygrKQogIGNyZWF0ZSBtb2RlIDEwMDY0 NCBibG9jay96ZXJvaW5pdC5jCiAKIGRpZmYgLS1naXQgYS9ibG9jay9tZXNvbi5idWlsZCBiL2Js b2NrL21lc29uLmJ1aWxkCi1pbmRleCA1MjlmYzE3MmM2Li4xODMzYzcxY2U5IDEwMDY0NAoraW5k ZXggNTlmZjZkMzgwYy4uOGRlZDBkYzE4YiAxMDA2NDQKIC0tLSBhL2Jsb2NrL21lc29uLmJ1aWxk CiArKysgYi9ibG9jay9tZXNvbi5idWlsZAotQEAgLTQwLDYgKzQwLDcgQEAgYmxvY2tfc3MuYWRk KGZpbGVzKAotICAgJ3Rocm90dGxlLWdyb3Vwcy5jJywKK0BAIC0zOSw2ICszOSw3IEBAIGJsb2Nr X3NzLmFkZChmaWxlcygKICAgICd0aHJvdHRsZS5jJywKKyAgICd0aHJvdHRsZS1ncm91cHMuYycs CiAgICAnd3JpdGUtdGhyZXNob2xkLmMnLAogKyAgJ3plcm9pbml0LmMnLAogICksIHpzdGQsIHps aWIsIGdudXRscykKQEAgLTI2LDEwICsyNywxMCBAQCBpbmRleCA1MjlmYzE3MmM2Li4xODMzYzcx Y2U5IDEwMDY0NAogIHN5c3RlbV9zcy5hZGQod2hlbjogJ0NPTkZJR19UQ0cnLCBpZl90cnVlOiBm aWxlcygnYmxrcmVwbGF5LmMnKSkKIGRpZmYgLS1naXQgYS9ibG9jay96ZXJvaW5pdC5jIGIvYmxv Y2svemVyb2luaXQuYwogbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAuLjEy NTczNDI3MjQKK2luZGV4IDAwMDAwMDAwMDAuLjFmMjAzMmJmOTkKIC0tLSAvZGV2L251bGwKICsr KyBiL2Jsb2NrL3plcm9pbml0LmMKLUBAIC0wLDAgKzEsMjAwIEBACitAQCAtMCwwICsxLDIxNCBA QAogKy8qCiArICogRmlsdGVyIHRvIGZha2UgYSB6ZXJvLWluaXRpYWxpemVkIGJsb2NrIGRldmlj ZS4KICsgKgpAQCAtNDQsNiArNDUsNyBAQCBpbmRleCAwMDAwMDAwMDAwLi4xMjU3MzQyNzI0CiAr I2luY2x1ZGUgInFhcGkvZXJyb3IuaCIKICsjaW5jbHVkZSAiYmxvY2svYmxvY2tfaW50LmgiCiAr I2luY2x1ZGUgImJsb2NrL2Jsb2NrLWlvLmgiCisrI2luY2x1ZGUgImJsb2NrL2dyYXBoLWxvY2su aCIKICsjaW5jbHVkZSAicWFwaS9xbXAvcWRpY3QuaCIKICsjaW5jbHVkZSAicWFwaS9xbXAvcXN0 cmluZy5oIgogKyNpbmNsdWRlICJxZW11L2N1dGlscy5oIgpAQCAtOTQsNiArOTYsNyBAQCBpbmRl eCAwMDAwMDAwMDAwLi4xMjU3MzQyNzI0CiArICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJv ciAqKmVycnApCiArewogKyAgICBCRFJWWmVyb2luaXRTdGF0ZSAqcyA9IGJzLT5vcGFxdWU7Cisr ICAgIEJkcnZDaGlsZCAqZmlsZSA9IE5VTEw7CiArICAgIFFlbXVPcHRzICpvcHRzOwogKyAgICBF cnJvciAqbG9jYWxfZXJyID0gTlVMTDsKICsgICAgaW50IHJldDsKQEAgLTEwOSwxMCArMTEyLDEz IEBAIGluZGV4IDAwMDAwMDAwMDAuLjEyNTczNDI3MjQKICsgICAgfQogKwogKyAgICAvKiBPcGVu IHRoZSByYXcgZmlsZSAqLwotKyAgICBicy0+ZmlsZSA9IGJkcnZfb3Blbl9jaGlsZChxZW11X29w dF9nZXQob3B0cywgIngtbmV4dCIpLCBvcHRpb25zLCAibmV4dCIsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJzLCAmY2hpbGRfb2ZfYmRzLAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBCRFJWX0NISUxEX0ZJTFRFUkVEIHwgQkRSVl9DSElMRF9QUklNQVJZLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwgJmxvY2FsX2Vycik7CisrICAgIGZp bGUgPSBiZHJ2X29wZW5fY2hpbGQocWVtdV9vcHRfZ2V0KG9wdHMsICJ4LW5leHQiKSwgb3B0aW9u cywgIm5leHQiLCBicywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAmY2hpbGRfb2ZfYmRz LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJEUlZfQ0hJTERfRklMVEVSRUQgfCBCRFJW X0NISUxEX1BSSU1BUlksIGZhbHNlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZsb2Nh bF9lcnIpOworKyAgICBiZHJ2X2dyYXBoX3dybG9jayhicyk7CisrICAgIGJzLT5maWxlID0gZmls ZTsKKysgICAgYmRydl9ncmFwaF93cnVubG9jayhicyk7CiArICAgIGlmIChsb2NhbF9lcnIpIHsK ICsgICAgICAgIHJldCA9IC1FSU5WQUw7CiArICAgICAgICBlcnJvcl9wcm9wYWdhdGUoZXJycCwg bG9jYWxfZXJyKTsKQEAgLTEyNSw3ICsxMzEsOSBAQCBpbmRleCAwMDAwMDAwMDAwLi4xMjU3MzQy NzI0CiArICAgIHJldCA9IDA7CiArZmFpbDoKICsgICAgaWYgKHJldCA8IDApIHsKKysgICAgICAg IGJkcnZfZ3JhcGhfd3Jsb2NrKGJzKTsKICsgICAgICAgIGJkcnZfdW5yZWZfY2hpbGQoYnMsIGJz LT5maWxlKTsKKysgICAgICAgIGJkcnZfZ3JhcGhfd3J1bmxvY2soYnMpOwogKyAgICB9CiArICAg IHFlbXVfb3B0c19kZWwob3B0cyk7CiArICAgIHJldHVybiByZXQ7CkBAIC0xMzcsMTkgKzE0NSwy MiBAQCBpbmRleCAwMDAwMDAwMDAwLi4xMjU3MzQyNzI0CiArICAgICh2b2lkKXM7CiArfQogKwot K3N0YXRpYyBjb3JvdXRpbmVfZm4gaW50NjRfdCB6ZXJvaW5pdF9jb19nZXRsZW5ndGgoQmxvY2tE cml2ZXJTdGF0ZSAqYnMpCisrc3RhdGljIGNvcm91dGluZV9mbiBpbnQ2NF90IEdSQVBIX1JETE9D SworK3plcm9pbml0X2NvX2dldGxlbmd0aChCbG9ja0RyaXZlclN0YXRlICpicykKICt7CiArICAg IHJldHVybiBiZHJ2X2NvX2dldGxlbmd0aChicy0+ZmlsZS0+YnMpOwogK30KICsKLStzdGF0aWMg aW50IGNvcm91dGluZV9mbiB6ZXJvaW5pdF9jb19wcmVhZHYoQmxvY2tEcml2ZXJTdGF0ZSAqYnMs Ci0rICAgIGludDY0X3Qgb2Zmc2V0LCBpbnQ2NF90IGJ5dGVzLCBRRU1VSU9WZWN0b3IgKnFpb3Ys IEJkcnZSZXF1ZXN0RmxhZ3MgZmxhZ3MpCisrc3RhdGljIGludCBjb3JvdXRpbmVfZm4gR1JBUEhf UkRMT0NLCisremVyb2luaXRfY29fcHJlYWR2KEJsb2NrRHJpdmVyU3RhdGUgKmJzLCBpbnQ2NF90 IG9mZnNldCwgaW50NjRfdCBieXRlcywKKysgICAgICAgICAgICAgICAgICAgUUVNVUlPVmVjdG9y ICpxaW92LCBCZHJ2UmVxdWVzdEZsYWdzIGZsYWdzKQogK3sKICsgICAgcmV0dXJuIGJkcnZfY29f cHJlYWR2KGJzLT5maWxlLCBvZmZzZXQsIGJ5dGVzLCBxaW92LCBmbGFncyk7CiArfQogKwotK3N0 YXRpYyBpbnQgY29yb3V0aW5lX2ZuIHplcm9pbml0X2NvX3B3cml0ZV96ZXJvZXMoQmxvY2tEcml2 ZXJTdGF0ZSAqYnMsIGludDY0X3Qgb2Zmc2V0LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90IGJ5dGVzLCBCZHJ2UmVxdWVzdEZsYWdzIGZs YWdzKQorK3N0YXRpYyBpbnQgY29yb3V0aW5lX2ZuIEdSQVBIX1JETE9DSworK3plcm9pbml0X2Nv X3B3cml0ZV96ZXJvZXMoQmxvY2tEcml2ZXJTdGF0ZSAqYnMsIGludDY0X3Qgb2Zmc2V0LCBpbnQ2 NF90IGJ5dGVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgQmRydlJlcXVlc3RGbGFncyBm bGFncykKICt7CiArICAgIEJEUlZaZXJvaW5pdFN0YXRlICpzID0gYnMtPm9wYXF1ZTsKICsgICAg aWYgKG9mZnNldCA+PSBzLT5leHRlbnRzKQpAQCAtMTU3LDggKzE2OCw5IEBAIGluZGV4IDAwMDAw MDAwMDAuLjEyNTczNDI3MjQKICsgICAgcmV0dXJuIGJkcnZfcHdyaXRlX3plcm9lcyhicy0+Zmls ZSwgb2Zmc2V0LCBieXRlcywgZmxhZ3MpOwogK30KICsKLStzdGF0aWMgaW50IGNvcm91dGluZV9m biB6ZXJvaW5pdF9jb19wd3JpdGV2KEJsb2NrRHJpdmVyU3RhdGUgKmJzLAotKyAgICBpbnQ2NF90 IG9mZnNldCwgaW50NjRfdCBieXRlcywgUUVNVUlPVmVjdG9yICpxaW92LCBCZHJ2UmVxdWVzdEZs YWdzIGZsYWdzKQorK3N0YXRpYyBpbnQgY29yb3V0aW5lX2ZuIEdSQVBIX1JETE9DSworK3plcm9p bml0X2NvX3B3cml0ZXYoQmxvY2tEcml2ZXJTdGF0ZSAqYnMsIGludDY0X3Qgb2Zmc2V0LCBpbnQ2 NF90IGJ5dGVzLAorKyAgICAgICAgICAgICAgICAgICAgUUVNVUlPVmVjdG9yICpxaW92LCBCZHJ2 UmVxdWVzdEZsYWdzIGZsYWdzKQogK3sKICsgICAgQkRSVlplcm9pbml0U3RhdGUgKnMgPSBicy0+ b3BhcXVlOwogKyAgICBpbnQ2NF90IGV4dGVudHMgPSBvZmZzZXQgKyBieXRlczsKQEAgLTE2Nywz MiArMTc5LDM1IEBAIGluZGV4IDAwMDAwMDAwMDAuLjEyNTczNDI3MjQKICsgICAgcmV0dXJuIGJk cnZfY29fcHdyaXRldihicy0+ZmlsZSwgb2Zmc2V0LCBieXRlcywgcWlvdiwgZmxhZ3MpOwogK30K ICsKLStzdGF0aWMgY29yb3V0aW5lX2ZuIGludCB6ZXJvaW5pdF9jb19mbHVzaChCbG9ja0RyaXZl clN0YXRlICpicykKKytzdGF0aWMgY29yb3V0aW5lX2ZuIGludCBHUkFQSF9SRExPQ0sKKyt6ZXJv aW5pdF9jb19mbHVzaChCbG9ja0RyaXZlclN0YXRlICpicykKICt7CiArICAgIHJldHVybiBiZHJ2 X2NvX2ZsdXNoKGJzLT5maWxlLT5icyk7CiArfQogKwotK3N0YXRpYyBpbnQgemVyb2luaXRfaGFz X3plcm9faW5pdChCbG9ja0RyaXZlclN0YXRlICpicykKKytzdGF0aWMgaW50IEdSQVBIX1JETE9D SworK3plcm9pbml0X2hhc196ZXJvX2luaXQoQmxvY2tEcml2ZXJTdGF0ZSAqYnMpCiArewogKyAg ICBCRFJWWmVyb2luaXRTdGF0ZSAqcyA9IGJzLT5vcGFxdWU7CiArICAgIHJldHVybiBzLT5oYXNf emVyb19pbml0OwogK30KICsKLStzdGF0aWMgaW50IGNvcm91dGluZV9mbiB6ZXJvaW5pdF9jb19w ZGlzY2FyZChCbG9ja0RyaXZlclN0YXRlICpicywKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQ2NF90IG9mZnNldCwgaW50NjRfdCBieXRlcykKKytzdGF0 aWMgaW50IGNvcm91dGluZV9mbiBHUkFQSF9SRExPQ0sKKyt6ZXJvaW5pdF9jb19wZGlzY2FyZChC bG9ja0RyaXZlclN0YXRlICpicywgaW50NjRfdCBvZmZzZXQsIGludDY0X3QgYnl0ZXMpCiArewog KyAgICByZXR1cm4gYmRydl9jb19wZGlzY2FyZChicy0+ZmlsZSwgb2Zmc2V0LCBieXRlcyk7CiAr fQogKwotK3N0YXRpYyBpbnQgemVyb2luaXRfY29fdHJ1bmNhdGUoQmxvY2tEcml2ZXJTdGF0ZSAq YnMsIGludDY0X3Qgb2Zmc2V0LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX0Jv b2wgZXhhY3QsIFByZWFsbG9jTW9kZSBwcmVhbGxvYywKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEJkcnZSZXF1ZXN0RmxhZ3MgcmVxX2ZsYWdzLCBFcnJvciAqKmVycnApCisrc3Rh dGljIGludCBHUkFQSF9SRExPQ0sKKyt6ZXJvaW5pdF9jb190cnVuY2F0ZShCbG9ja0RyaXZlclN0 YXRlICpicywgaW50NjRfdCBvZmZzZXQsIF9Cb29sIGV4YWN0LAorKyAgICAgICAgICAgICAgICAg ICAgIFByZWFsbG9jTW9kZSBwcmVhbGxvYywgQmRydlJlcXVlc3RGbGFncyByZXFfZmxhZ3MsCisr ICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJwKQogK3sKICsgICAgcmV0dXJuIGJkcnZf Y29fdHJ1bmNhdGUoYnMtPmZpbGUsIG9mZnNldCwgZXhhY3QsIHByZWFsbG9jLCByZXFfZmxhZ3Ms IGVycnApOwogK30KICsKLStzdGF0aWMgY29yb3V0aW5lX2ZuIGludCB6ZXJvaW5pdF9jb19nZXRf aW5mbyhCbG9ja0RyaXZlclN0YXRlICpicywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCbG9ja0RyaXZlckluZm8gKmJkaSkKKytzdGF0aWMgY29yb3V0aW5l X2ZuIGludCBHUkFQSF9SRExPQ0sKKyt6ZXJvaW5pdF9jb19nZXRfaW5mbyhCbG9ja0RyaXZlclN0 YXRlICpicywgQmxvY2tEcml2ZXJJbmZvICpiZGkpCiArewogKyAgICByZXR1cm4gYmRydl9jb19n ZXRfaW5mbyhicy0+ZmlsZS0+YnMsIGJkaSk7CiArfQpkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNo ZXMvcHZlLzAwMjAtUFZFLUFkZC1kdW1teS1pZC1jb21tYW5kLWxpbmUtcGFyYW1ldGVyLnBhdGNo IGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMjAtUFZFLUFkZC1kdW1teS1pZC1jb21tYW5kLWxpbmUt cGFyYW1ldGVyLnBhdGNoCmluZGV4IDE3ZjVkZTEuLjc4M2Q0NTQgMTAwNjQ0Ci0tLSBhL2RlYmlh bi9wYXRjaGVzL3B2ZS8wMDIwLVBWRS1BZGQtZHVtbXktaWQtY29tbWFuZC1saW5lLXBhcmFtZXRl ci5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAyMC1QVkUtQWRkLWR1bW15LWlkLWNv bW1hbmQtbGluZS1wYXJhbWV0ZXIucGF0Y2gKQEAgLTEwLDE0ICsxMCwxNCBAQCBTaWduZWQtb2Zm LWJ5OiBXb2xmZ2FuZyBCdW1pbGxlciA8dy5idW1pbGxlckBwcm94bW94LmNvbT4KIFNpZ25lZC1v ZmYtYnk6IFRob21hcyBMYW1wcmVjaHQgPHQubGFtcHJlY2h0QHByb3htb3guY29tPgogLS0tCiAg cWVtdS1vcHRpb25zLmh4IHwgMyArKysKLSBzb2Z0bW11L3ZsLmMgICAgfCA4ICsrKysrKysrCisg c3lzdGVtL3ZsLmMgICAgIHwgOCArKysrKysrKwogIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0 aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvcWVtdS1vcHRpb25zLmh4IGIvcWVtdS1vcHRpb25zLmh4 Ci1pbmRleCBkYzFlY2VjYzljLi44NDhkMmRmZGQxIDEwMDY0NAoraW5kZXggODgxYjBiM2M0My4u YzE3Mzc0OTE2YyAxMDA2NDQKIC0tLSBhL3FlbXUtb3B0aW9ucy5oeAogKysrIGIvcWVtdS1vcHRp b25zLmh4Ci1AQCAtMTE5Nyw2ICsxMTk3LDkgQEAgbGVnYWN5IFBDLCB0aGV5IGFyZSBub3QgcmVj b21tZW5kZWQgZm9yIG1vZGVybiBjb25maWd1cmF0aW9ucy4KK0BAIC0xMjE4LDYgKzEyMTgsOSBA QCBsZWdhY3kgUEMsIHRoZXkgYXJlIG5vdCByZWNvbW1lbmRlZCBmb3IgbW9kZXJuIGNvbmZpZ3Vy YXRpb25zLgogIAogIEVSU1QKICAKQEAgLTI3LDExICsyNywxMSBAQCBpbmRleCBkYzFlY2VjYzlj Li44NDhkMmRmZGQxIDEwMDY0NAogIERFRigiZmRhIiwgSEFTX0FSRywgUUVNVV9PUFRJT05fZmRh LAogICAgICAiLWZkYS8tZmRiIGZpbGUgIHVzZSAnZmlsZScgYXMgZmxvcHB5IGRpc2sgMC8xIGlt YWdlXG4iLCBRRU1VX0FSQ0hfQUxMKQogIERFRigiZmRiIiwgSEFTX0FSRywgUUVNVV9PUFRJT05f ZmRiLCAiIiwgUUVNVV9BUkNIX0FMTCkKLWRpZmYgLS1naXQgYS9zb2Z0bW11L3ZsLmMgYi9zb2Z0 bW11L3ZsLmMKLWluZGV4IGRkZWFjZTMwNmUuLjNlZTkwYjNiOTQgMTAwNjQ0Ci0tLS0gYS9zb2Z0 bW11L3ZsLmMKLSsrKyBiL3NvZnRtbXUvdmwuYwotQEAgLTI2ODMsNiArMjY4Myw3IEBAIHZvaWQg cWVtdV9pbml0KGludCBhcmdjLCBjaGFyICoqYXJndikKK2RpZmYgLS1naXQgYS9zeXN0ZW0vdmwu YyBiL3N5c3RlbS92bC5jCitpbmRleCA1N2Y3YmEwNTI1Li41NmQ3MTVjODE4IDEwMDY0NAorLS0t IGEvc3lzdGVtL3ZsLmMKKysrKyBiL3N5c3RlbS92bC5jCitAQCAtMjc1MSw2ICsyNzUxLDcgQEAg dm9pZCBxZW11X2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICBNYWNoaW5lQ2xhc3Mg Km1hY2hpbmVfY2xhc3M7CiAgICAgIGJvb2wgdXNlcmNvbmZpZyA9IHRydWU7CiAgICAgIEZJTEUg KnZtc3RhdGVfZHVtcF9maWxlID0gTlVMTDsKQEAgLTM5LDcgKzM5LDcgQEAgaW5kZXggZGRlYWNl MzA2ZS4uM2VlOTBiM2I5NCAxMDA2NDQKICAKICAgICAgcWVtdV9hZGRfb3B0cygmcWVtdV9kcml2 ZV9vcHRzKTsKICAgICAgcWVtdV9hZGRfZHJpdmVfb3B0cygmcWVtdV9sZWdhY3lfZHJpdmVfb3B0 cyk7Ci1AQCAtMzMwOCw2ICszMzA5LDEzIEBAIHZvaWQgcWVtdV9pbml0KGludCBhcmdjLCBjaGFy ICoqYXJndikKK0BAIC0zMzc3LDYgKzMzNzgsMTMgQEAgdm9pZCBxZW11X2luaXQoaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQogICAgICAgICAgICAgICAgICBtYWNoaW5lX3BhcnNlX3Byb3BlcnR5X29w dChxZW11X2ZpbmRfb3B0cygic21wLW9wdHMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgInNtcCIsIG9wdGFyZyk7CiAgICAgICAgICAgICAgICAgIGJyZWFr OwpAQCAtNTAsNiArNTAsNiBAQCBpbmRleCBkZGVhY2UzMDZlLi4zZWU5MGIzYjk0IDEwMDY0NAog KyAgICAgICAgICAgICAgICAgICAgZXhpdCgxKTsKICsgICAgICAgICAgICAgICAgfQogKyAgICAg ICAgICAgICAgICBicmVhazsKKyAjaWZkZWYgQ09ORklHX1ZOQwogICAgICAgICAgICAgIGNhc2Ug UUVNVV9PUFRJT05fdm5jOgogICAgICAgICAgICAgICAgICB2bmNfcGFyc2Uob3B0YXJnKTsKLSAg ICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAy MS1QVkUtQ29uZmlnLVJldmVydC10YXJnZXQtaTM4Ni1kaXNhYmxlLUxJTlQwLWFmdGVyLXJlLnBh dGNoIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMjEtUFZFLUNvbmZpZy1SZXZlcnQtdGFyZ2V0LWkz ODYtZGlzYWJsZS1MSU5UMC1hZnRlci1yZS5wYXRjaAppbmRleCAzYzI4NDAxLi5lYzRjNDE3IDEw MDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAyMS1QVkUtQ29uZmlnLVJldmVydC10YXJn ZXQtaTM4Ni1kaXNhYmxlLUxJTlQwLWFmdGVyLXJlLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVz L3B2ZS8wMDIxLVBWRS1Db25maWctUmV2ZXJ0LXRhcmdldC1pMzg2LWRpc2FibGUtTElOVDAtYWZ0 ZXItcmUucGF0Y2gKQEAgLTExLDEwICsxMSwxMCBAQCBTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgTGFt cHJlY2h0IDx0LmxhbXByZWNodEBwcm94bW94LmNvbT4KICAxIGZpbGUgY2hhbmdlZCwgOSBpbnNl cnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9ody9pbnRjL2FwaWNfY29tbW9uLmMgYi9ody9pbnRj L2FwaWNfY29tbW9uLmMKLWluZGV4IDRhMzRmMDMwNDcuLjU5YjkxN2U1MGMgMTAwNjQ0CitpbmRl eCBiY2NiNDI0MWMyLi5iZDBkYjc1NjdhIDEwMDY0NAogLS0tIGEvaHcvaW50Yy9hcGljX2NvbW1v bi5jCiArKysgYi9ody9pbnRjL2FwaWNfY29tbW9uLmMKLUBAIC0yNTIsNiArMjUyLDE1IEBAIHN0 YXRpYyB2b2lkIGFwaWNfcmVzZXRfY29tbW9uKERldmljZVN0YXRlICpkZXYpCitAQCAtMjUxLDYg KzI1MSwxNSBAQCBzdGF0aWMgdm9pZCBhcGljX3Jlc2V0X2NvbW1vbihEZXZpY2VTdGF0ZSAqZGV2 KQogICAgICBpbmZvLT52YXBpY19iYXNlX3VwZGF0ZShzKTsKICAKICAgICAgYXBpY19pbml0X3Jl c2V0KGRldik7CmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAyMi1QVkUtVXAtQ29u ZmlnLWZpbGUtcG9zaXgtbWFrZS1sb2NraW5nLW9wdGlvbm8tb24tY3JlLnBhdGNoIGIvZGViaWFu L3BhdGNoZXMvcHZlLzAwMjItUFZFLVVwLUNvbmZpZy1maWxlLXBvc2l4LW1ha2UtbG9ja2luZy1v cHRpb25vLW9uLWNyZS5wYXRjaAppbmRleCBmNDhmZTRmLi45ZDRiMTk2IDEwMDY0NAotLS0gYS9k ZWJpYW4vcGF0Y2hlcy9wdmUvMDAyMi1QVkUtVXAtQ29uZmlnLWZpbGUtcG9zaXgtbWFrZS1sb2Nr aW5nLW9wdGlvbm8tb24tY3JlLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDIyLVBW RS1VcC1Db25maWctZmlsZS1wb3NpeC1tYWtlLWxvY2tpbmctb3B0aW9uby1vbi1jcmUucGF0Y2gK QEAgLTEzLDcgKzEzLDcgQEAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1w cmVjaHRAcHJveG1veC5jb20+CiAgMiBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCAy MCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2Jsb2NrL2ZpbGUtcG9zaXguYyBiL2Jsb2Nr L2ZpbGUtcG9zaXguYwotaW5kZXggY2E1NTFiYWE0Mi4uOGIzYjgzZTlkNCAxMDA2NDQKK2luZGV4 IGJjMDlhZWZlM2IuLjM2YTUzZDg2ODIgMTAwNjQ0CiAtLS0gYS9ibG9jay9maWxlLXBvc2l4LmMK ICsrKyBiL2Jsb2NrL2ZpbGUtcG9zaXguYwogQEAgLTI4NzMsNiArMjg3Myw3IEBAIHJhd19jb19j cmVhdGUoQmxvY2tkZXZDcmVhdGVPcHRpb25zICpvcHRpb25zLCBFcnJvciAqKmVycnApCkBAIC0x MTksMTAgKzExOSwxMCBAQCBpbmRleCBjYTU1MWJhYTQyLi44YjNiODNlOWQ0IDEwMDY0NAogICAg ICB9OwogICAgICByZXR1cm4gcmF3X2NvX2NyZWF0ZSgmb3B0aW9ucywgZXJycCk7CiBkaWZmIC0t Z2l0IGEvcWFwaS9ibG9jay1jb3JlLmpzb24gYi9xYXBpL2Jsb2NrLWNvcmUuanNvbgotaW5kZXgg YTVjZWE4MjEzOS4uYmI0NzFjMDc4ZCAxMDA2NDQKK2luZGV4IDhkYjA5ODZlOWUuLjI5OWUzZmMz NTAgMTAwNjQ0CiAtLS0gYS9xYXBpL2Jsb2NrLWNvcmUuanNvbgogKysrIGIvcWFwaS9ibG9jay1j b3JlLmpzb24KLUBAIC00ODgwLDcgKzQ4ODAsOCBAQAorQEAgLTQ5MzUsNyArNDkzNSw4IEBACiAg ICAgICAgICAgICAgJ3NpemUnOiAgICAgICAgICAgICAgICAgJ3NpemUnLAogICAgICAgICAgICAg ICcqcHJlYWxsb2NhdGlvbic6ICAgICAgICdQcmVhbGxvY01vZGUnLAogICAgICAgICAgICAgICcq bm9jb3cnOiAgICAgICAgICAgICAgICdib29sJywKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVz L3B2ZS8wMDI0LVBWRS1Db21wYXQtNC4wLXVzZWQtYmFsbG9vbi1xZW11LTQtMC1jb25maWctc2l6 ZS1mYWwucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAyNC1QVkUtQ29tcGF0LTQuMC11c2Vk LWJhbGxvb24tcWVtdS00LTAtY29uZmlnLXNpemUtZmFsLnBhdGNoCmluZGV4IDI3N2ZhM2YuLjVm MjZlMjAgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDI0LVBWRS1Db21wYXQtNC4w LXVzZWQtYmFsbG9vbi1xZW11LTQtMC1jb25maWctc2l6ZS1mYWwucGF0Y2gKKysrIGIvZGViaWFu L3BhdGNoZXMvcHZlLzAwMjQtUFZFLUNvbXBhdC00LjAtdXNlZC1iYWxsb29uLXFlbXUtNC0wLWNv bmZpZy1zaXplLWZhbC5wYXRjaApAQCAtMjYsMTAgKzI2LDEwIEBAIFNpZ25lZC1vZmYtYnk6IFRo b21hcyBMYW1wcmVjaHQgPHQubGFtcHJlY2h0QHByb3htb3guY29tPgogIDEgZmlsZSBjaGFuZ2Vk LCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2h3L2NvcmUv bWFjaGluZS5jIGIvaHcvY29yZS9tYWNoaW5lLmMKLWluZGV4IGYwZDM1YzY0MDEuLjE0Mjc5ODM1 NDMgMTAwNjQ0CitpbmRleCAwYzE3Mzk4MTQxLi4zNjYyMWQ1OGE3IDEwMDY0NAogLS0tIGEvaHcv Y29yZS9tYWNoaW5lLmMKICsrKyBiL2h3L2NvcmUvbWFjaGluZS5jCi1AQCAtMTQ4LDcgKzE0OCw4 IEBAIEdsb2JhbFByb3BlcnR5IGh3X2NvbXBhdF80XzBbXSA9IHsKK0BAIC0xNTIsNyArMTUyLDgg QEAgR2xvYmFsUHJvcGVydHkgaHdfY29tcGF0XzRfMFtdID0gewogICAgICB7ICJ2aXJ0aW8tdmdh IiwgICAgICJlZGlkIiwgImZhbHNlIiB9LAogICAgICB7ICJ2aXJ0aW8tZ3B1LWRldmljZSIsICJl ZGlkIiwgImZhbHNlIiB9LAogICAgICB7ICJ2aXJ0aW8tZGV2aWNlIiwgInVzZS1zdGFydGVkIiwg ImZhbHNlIiB9LApkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMjUtUFZFLUFsbG93 LXZlcnNpb24tY29kZS1pbi1tYWNoaW5lLXR5cGUucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9wdmUv MDAyNS1QVkUtQWxsb3ctdmVyc2lvbi1jb2RlLWluLW1hY2hpbmUtdHlwZS5wYXRjaAppbmRleCA1 MDdhNWUzLi41YTU1ODZhIDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAyNS1QVkUt QWxsb3ctdmVyc2lvbi1jb2RlLWluLW1hY2hpbmUtdHlwZS5wYXRjaAorKysgYi9kZWJpYW4vcGF0 Y2hlcy9wdmUvMDAyNS1QVkUtQWxsb3ctdmVyc2lvbi1jb2RlLWluLW1hY2hpbmUtdHlwZS5wYXRj aApAQCAtMTcsNyArMTcsNyBAQCBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBw cm94bW94LmNvbT4KICBody9jb3JlL21hY2hpbmUtcW1wLWNtZHMuYyB8ICA1ICsrKysrCiAgaW5j bHVkZS9ody9ib2FyZHMuaCAgICAgICAgfCAgMiArKwogIHFhcGkvbWFjaGluZS5qc29uICAgICAg ICAgIHwgIDQgKysrLQotIHNvZnRtbXUvdmwuYyAgICAgICAgICAgICAgIHwgMjUgKysrKysrKysr KysrKysrKysrKysrKysrKworIHN5c3RlbS92bC5jICAgICAgICAgICAgICAgIHwgMjUgKysrKysr KysrKysrKysrKysrKysrKysrKwogIDQgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwg MSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvaHcvY29yZS9tYWNoaW5lLXFtcC1jbWRzLmMg Yi9ody9jb3JlL21hY2hpbmUtcW1wLWNtZHMuYwpAQCAtMzcsMTAgKzM3LDEwIEBAIGluZGV4IDQw ODIxZTIzMTcuLmVlOTNkZGQ2OWEgMTAwNjQ0CiAgCiAgICAgICAgICBpZiAobWMtPmRlZmF1bHRf Y3B1X3R5cGUpIHsKIGRpZmYgLS1naXQgYS9pbmNsdWRlL2h3L2JvYXJkcy5oIGIvaW5jbHVkZS9o dy9ib2FyZHMuaAotaW5kZXggZWQ4MzM2MDE5OC4uZjhiODhjZDg2YSAxMDA2NDQKK2luZGV4IGRh ODVmODZlZmIuLjFhYTA5ODcwMjAgMTAwNjQ0CiAtLS0gYS9pbmNsdWRlL2h3L2JvYXJkcy5oCiAr KysgYi9pbmNsdWRlL2h3L2JvYXJkcy5oCi1AQCAtMjM1LDYgKzIzNSw4IEBAIHN0cnVjdCBNYWNo aW5lQ2xhc3MgeworQEAgLTI0MCw2ICsyNDAsOCBAQCBzdHJ1Y3QgTWFjaGluZUNsYXNzIHsKICAg ICAgY29uc3QgY2hhciAqZGVzYzsKICAgICAgY29uc3QgY2hhciAqZGVwcmVjYXRpb25fcmVhc29u OwogIApAQCAtNTAsMTAgKzUwLDEwIEBAIGluZGV4IGVkODMzNjAxOTguLmY4Yjg4Y2Q4NmEgMTAw NjQ0CiAgICAgIHZvaWQgKCpyZXNldCkoTWFjaGluZVN0YXRlICpzdGF0ZSwgU2h1dGRvd25DYXVz ZSByZWFzb24pOwogICAgICB2b2lkICgqd2FrZXVwKShNYWNoaW5lU3RhdGUgKnN0YXRlKTsKIGRp ZmYgLS1naXQgYS9xYXBpL21hY2hpbmUuanNvbiBiL3FhcGkvbWFjaGluZS5qc29uCi1pbmRleCBm YmI2MWYxOGU0Li43ZGEzYzUxOWJhIDEwMDY0NAoraW5kZXggMjk3YWQwZTBlNS4uYTlmZDQwZDg0 NCAxMDA2NDQKIC0tLSBhL3FhcGkvbWFjaGluZS5qc29uCiArKysgYi9xYXBpL21hY2hpbmUuanNv bgotQEAgLTE2MSw2ICsxNjEsOCBAQAorQEAgLTE2OCw2ICsxNjgsOCBAQAogICMKICAjIEBhY3Bp OiBtYWNoaW5lIHR5cGUgc3VwcG9ydHMgQUNQSSAoc2luY2UgOC4wKQogICMKQEAgLTYyLDcgKzYy LDcgQEAgaW5kZXggZmJiNjFmMThlNC4uN2RhM2M1MTliYSAxMDA2NDQKICAjIFNpbmNlOiAxLjIK ICAjIwogIHsgJ3N0cnVjdCc6ICdNYWNoaW5lSW5mbycsCi1AQCAtMTY4LDcgKzE3MCw3IEBACitA QCAtMTc1LDcgKzE3Nyw3IEBACiAgICAgICAgICAgICAgJyppcy1kZWZhdWx0JzogJ2Jvb2wnLCAn KmlzLWN1cnJlbnQnOiAnYm9vbCcsICdjcHUtbWF4JzogJ2ludCcsCiAgICAgICAgICAgICAgJ2hv dHBsdWdnYWJsZS1jcHVzJzogJ2Jvb2wnLCAgJ251bWEtbWVtLXN1cHBvcnRlZCc6ICdib29sJywK ICAgICAgICAgICAgICAnZGVwcmVjYXRlZCc6ICdib29sJywgJypkZWZhdWx0LWNwdS10eXBlJzog J3N0cicsCkBAIC03MSwxOSArNzEsMTkgQEAgaW5kZXggZmJiNjFmMThlNC4uN2RhM2M1MTliYSAx MDA2NDQKICAKICAjIwogICMgQHF1ZXJ5LW1hY2hpbmVzOgotZGlmZiAtLWdpdCBhL3NvZnRtbXUv dmwuYyBiL3NvZnRtbXUvdmwuYwotaW5kZXggM2VlOTBiM2I5NC4uNGI2ZDBiODJmZCAxMDA2NDQK LS0tLSBhL3NvZnRtbXUvdmwuYwotKysrIGIvc29mdG1tdS92bC5jCi1AQCAtMTU5Nyw2ICsxNTk3 LDcgQEAgc3RhdGljIGNvbnN0IFFFTVVPcHRpb24gKmxvb2t1cF9vcHQoaW50IGFyZ2MsIGNoYXIg Kiphcmd2LAorZGlmZiAtLWdpdCBhL3N5c3RlbS92bC5jIGIvc3lzdGVtL3ZsLmMKK2luZGV4IDU2 ZDcxNWM4MTguLjg3ZjAzZTYxYTEgMTAwNjQ0CistLS0gYS9zeXN0ZW0vdmwuYworKysrIGIvc3lz dGVtL3ZsLmMKK0BAIC0xNjYwLDYgKzE2NjAsNyBAQCBzdGF0aWMgY29uc3QgUUVNVU9wdGlvbiAq bG9va3VwX29wdChpbnQgYXJnYywgY2hhciAqKmFyZ3YsCiAgc3RhdGljIE1hY2hpbmVDbGFzcyAq c2VsZWN0X21hY2hpbmUoUURpY3QgKnFkaWN0LCBFcnJvciAqKmVycnApCiAgewotICAgICBjb25z dCBjaGFyICpvcHRhcmcgPSBxZGljdF9nZXRfdHJ5X3N0cihxZGljdCwgInR5cGUiKTsKKyAgICAg Y29uc3QgY2hhciAqbWFjaGluZV90eXBlID0gcWRpY3RfZ2V0X3RyeV9zdHIocWRpY3QsICJ0eXBl Iik7CiArICAgIGNvbnN0IGNoYXIgKnB2ZXZlciA9IHFkaWN0X2dldF90cnlfc3RyKHFkaWN0LCAi cHZldmVyIik7CiAgICAgIEdTTGlzdCAqbWFjaGluZXMgPSBvYmplY3RfY2xhc3NfZ2V0X2xpc3Qo VFlQRV9NQUNISU5FLCBmYWxzZSk7CiAgICAgIE1hY2hpbmVDbGFzcyAqbWFjaGluZV9jbGFzczsK ICAgICAgRXJyb3IgKmxvY2FsX2VyciA9IE5VTEw7Ci1AQCAtMTYxNCw2ICsxNjE1LDExIEBAIHN0 YXRpYyBNYWNoaW5lQ2xhc3MgKnNlbGVjdF9tYWNoaW5lKFFEaWN0ICpxZGljdCwgRXJyb3IgKipl cnJwKQorQEAgLTE2NzcsNiArMTY3OCwxMSBAQCBzdGF0aWMgTWFjaGluZUNsYXNzICpzZWxlY3Rf bWFjaGluZShRRGljdCAqcWRpY3QsIEVycm9yICoqZXJycCkKICAgICAgICAgIH0KICAgICAgfQog IApAQCAtOTUsNyArOTUsNyBAQCBpbmRleCAzZWU5MGIzYjk0Li40YjZkMGI4MmZkIDEwMDY0NAog ICAgICBnX3NsaXN0X2ZyZWUobWFjaGluZXMpOwogICAgICBpZiAobG9jYWxfZXJyKSB7CiAgICAg ICAgICBlcnJvcl9hcHBlbmRfaGludCgmbG9jYWxfZXJyLCAiVXNlIC1tYWNoaW5lIGhlbHAgdG8g bGlzdCBzdXBwb3J0ZWQgbWFjaGluZXNcbiIpOwotQEAgLTMyNTAsMTIgKzMyNTYsMzEgQEAgdm9p ZCBxZW11X2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTMzMTksMTIgKzMzMjUsMzEg QEAgdm9pZCBxZW11X2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgICAgIGNh c2UgUUVNVV9PUFRJT05fbWFjaGluZToKICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgYm9vbCBoZWxwOwpkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMjYt YmxvY2stYmFja3VwLW1vdmUtYmNzLWJpdG1hcC1pbml0aWFsaXphdGlvbi10by1qb2ItYy5wYXRj aCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDI2LWJsb2NrLWJhY2t1cC1tb3ZlLWJjcy1iaXRtYXAt aW5pdGlhbGl6YXRpb24tdG8tam9iLWMucGF0Y2gKaW5kZXggZWYzZmI4OS4uODc2NzQxNSAxMDA2 NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMjYtYmxvY2stYmFja3VwLW1vdmUtYmNzLWJp dG1hcC1pbml0aWFsaXphdGlvbi10by1qb2ItYy5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9w dmUvMDAyNi1ibG9jay1iYWNrdXAtbW92ZS1iY3MtYml0bWFwLWluaXRpYWxpemF0aW9uLXRvLWpv Yi1jLnBhdGNoCkBAIC0yNSw3ICsyNSw3IEBAIFNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVj aHQgPHQubGFtcHJlY2h0QHByb3htb3guY29tPgogIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlv bnMoKyksIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9ibG9jay9iYWNrdXAuYyBiL2Js b2NrL2JhY2t1cC5jCi1pbmRleCBkYjM3OTFmNGQxLi4zOTQxMGRjZjhkIDEwMDY0NAoraW5kZXgg OGFhZTU4MzZkNy4uMjUxNmVhYzVhNyAxMDA2NDQKIC0tLSBhL2Jsb2NrL2JhY2t1cC5jCiArKysg Yi9ibG9jay9iYWNrdXAuYwogQEAgLTIzNyw4ICsyMzcsOCBAQCBzdGF0aWMgdm9pZCBiYWNrdXBf aW5pdF9iY3NfYml0bWFwKEJhY2t1cEJsb2NrSm9iICpqb2IpCkBAIC00OCw5ICs0OCw5IEBAIGlu ZGV4IGRiMzc5MWY0ZDEuLjM5NDEwZGNmOGQgMTAwNjQ0CiAgICAgIGlmIChzLT5zeW5jX21vZGUg PT0gTUlSUk9SX1NZTkNfTU9ERV9UT1ApIHsKICAgICAgICAgIGludDY0X3Qgb2Zmc2V0ID0gMDsK ICAgICAgICAgIGludDY0X3QgY291bnQ7Ci1AQCAtNDk1LDYgKzQ5Myw4IEBAIEJsb2NrSm9iICpi YWNrdXBfam9iX2NyZWF0ZShjb25zdCBjaGFyICpqb2JfaWQsIEJsb2NrRHJpdmVyU3RhdGUgKmJz LAotICAgICBibG9ja19qb2JfYWRkX2JkcnYoJmpvYi0+Y29tbW9uLCAidGFyZ2V0IiwgdGFyZ2V0 LCAwLCBCTEtfUEVSTV9BTEwsCitAQCAtNTAxLDYgKzQ5OSw4IEBAIEJsb2NrSm9iICpiYWNrdXBf am9iX2NyZWF0ZShjb25zdCBjaGFyICpqb2JfaWQsIEJsb2NrRHJpdmVyU3RhdGUgKmJzLAogICAg ICAgICAgICAgICAgICAgICAgICAgJmVycm9yX2Fib3J0KTsKKyAgICAgYmRydl9ncmFwaF93cnVu bG9jayh0YXJnZXQpOwogIAogKyAgICBiYWNrdXBfaW5pdF9iY3NfYml0bWFwKGpvYik7CiArCmRp ZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAyNy1QVkUtQmFja3VwLWFkZC12bWEtYmFj a3VwLWZvcm1hdC1jb2RlLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMjctUFZFLUJhY2t1 cC1hZGQtdm1hLWJhY2t1cC1mb3JtYXQtY29kZS5wYXRjaAppbmRleCAxNjIwYTU2Li5jOTEyYjg0 IDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAyNy1QVkUtQmFja3VwLWFkZC12bWEt YmFja3VwLWZvcm1hdC1jb2RlLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDI3LVBW RS1CYWNrdXAtYWRkLXZtYS1iYWNrdXAtZm9ybWF0LWNvZGUucGF0Y2gKQEAgLTE1LDIxICsxNSwy MSBAQCBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNvbT4KIC0t LQogIGJsb2NrL21lc29uLmJ1aWxkIHwgICAyICsKICBtZXNvbi5idWlsZCAgICAgICB8ICAgNSAr Ci0gdm1hLXJlYWRlci5jICAgICAgfCA4NjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKKyB2bWEtcmVhZGVyLmMgICAgICB8IDg3MCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogIHZtYS13cml0ZXIuYyAgICAgIHwgODE4ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gdm1hLmMgICAgICAgICAg ICAgfCA5MDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwor IHZtYS5jICAgICAgICAgICAgIHwgOTAxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKICB2bWEuaCAgICAgICAgICAgICB8IDE1MCArKysrKysrKwotIDYgZmls ZXMgY2hhbmdlZCwgMjc0MiBpbnNlcnRpb25zKCspCisgNiBmaWxlcyBjaGFuZ2VkLCAyNzQ2IGlu c2VydGlvbnMoKykKICBjcmVhdGUgbW9kZSAxMDA2NDQgdm1hLXJlYWRlci5jCiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IHZtYS13cml0ZXIuYwogIGNyZWF0ZSBtb2RlIDEwMDY0NCB2bWEuYwogIGNyZWF0 ZSBtb2RlIDEwMDY0NCB2bWEuaAogCiBkaWZmIC0tZ2l0IGEvYmxvY2svbWVzb24uYnVpbGQgYi9i bG9jay9tZXNvbi5idWlsZAotaW5kZXggMTgzM2M3MWNlOS4uNTliNzFiYTlmMyAxMDA2NDQKK2lu ZGV4IDhkZWQwZGMxOGIuLmU3MDliNjdkMzcgMTAwNjQ0CiAtLS0gYS9ibG9jay9tZXNvbi5idWls ZAogKysrIGIvYmxvY2svbWVzb24uYnVpbGQKLUBAIC00Myw2ICs0Myw4IEBAIGJsb2NrX3NzLmFk ZChmaWxlcygKK0BAIC00Miw2ICs0Miw4IEBAIGJsb2NrX3NzLmFkZChmaWxlcygKICAgICd6ZXJv aW5pdC5jJywKICApLCB6c3RkLCB6bGliLCBnbnV0bHMpCiAgCkBAIC0zOSwxMCArMzksMTAgQEAg aW5kZXggMTgzM2M3MWNlOS4uNTliNzFiYTlmMyAxMDA2NDQKICBzeXN0ZW1fc3MuYWRkKGZpbGVz KCdibG9jay1yYW0tcmVnaXN0cmFyLmMnKSkKICAKIGRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBi L21lc29uLmJ1aWxkCi1pbmRleCBhOWM0ZjI4MjQ3Li5jZDk1NTMwZDNiIDEwMDY0NAoraW5kZXgg NmM3N2Q5Njg3ZC4uOGNiMWNjZDVlMSAxMDA2NDQKIC0tLSBhL21lc29uLmJ1aWxkCiArKysgYi9t ZXNvbi5idWlsZAotQEAgLTE3NzgsNiArMTc3OCw4IEBAIGVuZGlmCitAQCAtMTgwMiw2ICsxODAy LDggQEAgZW5kaWYKICAKICBoYXNfZ2V0dGlkID0gY2MuaGFzX2Z1bmN0aW9uKCdnZXR0aWQnKQog IApAQCAtNTEsNyArNTEsNyBAQCBpbmRleCBhOWM0ZjI4MjQ3Li5jZDk1NTMwZDNiIDEwMDY0NAog ICMgbGlic2VsaW51eAogIHNlbGludXggPSBkZXBlbmRlbmN5KCdsaWJzZWxpbnV4JywKICAgICAg ICAgICAgICAgICAgICAgICByZXF1aXJlZDogZ2V0X29wdGlvbignc2VsaW51eCcpLAotQEAgLTM5 MDgsNiArMzkxMCw5IEBAIGlmIGhhdmVfdG9vbHMKK0BAIC0zOTc1LDYgKzM5NzcsOSBAQCBpZiBo YXZlX3Rvb2xzCiAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzOiBbYmxvY2tkZXYsIHFlbXV1 dGlsLCBnbnV0bHMsIHNlbGludXhdLAogICAgICAgICAgICAgICAgIGluc3RhbGw6IHRydWUpCiAg CkBAIC02MywxMCArNjMsMTAgQEAgaW5kZXggYTljNGYyODI0Ny4uY2Q5NTUzMGQzYiAxMDA2NDQK ICAgIHN1YmRpcignY29udHJpYi9lbGYyZG1wJykKIGRpZmYgLS1naXQgYS92bWEtcmVhZGVyLmMg Yi92bWEtcmVhZGVyLmMKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi44 MWE4OTFjNmIxCitpbmRleCAwMDAwMDAwMDAwLi5kMGI2NzIxODEyCiAtLS0gL2Rldi9udWxsCiAr KysgYi92bWEtcmVhZGVyLmMKLUBAIC0wLDAgKzEsODY3IEBACitAQCAtMCwwICsxLDg3MCBAQAog Ky8qCiArICogVk1BOiBWaXJ0dWFsIE1hY2hpbmUgQXJjaGl2ZQogKyAqCkBAIC04OCw2ICs4OCw3 IEBAIGluZGV4IDAwMDAwMDAwMDAuLjgxYTg5MWM2YjEKICsjaW5jbHVkZSAicWVtdS9yYXRlbGlt aXQuaCIKICsjaW5jbHVkZSAidm1hLmgiCiArI2luY2x1ZGUgImJsb2NrL2Jsb2NrLmgiCisrI2lu Y2x1ZGUgImJsb2NrL2dyYXBoLWxvY2suaCIKICsjaW5jbHVkZSAic3lzZW11L2Jsb2NrLWJhY2tl bmQuaCIKICsKICtzdGF0aWMgdW5zaWduZWQgY2hhciB6ZXJvX3ZtYV9ibG9ja1tWTUFfQkxPQ0tf U0laRV07CkBAIC02MDAsOCArNjAxLDEwIEBAIGluZGV4IDAwMDAwMDAwMDAuLjgxYTg5MWM2YjEK ICsgICAgfSBlbHNlIHsKICsgICAgICAgIGludCByZXMgPSBibGtfcHdyaXRlKHRhcmdldCwgc2Vj dG9yX251bSAqIEJEUlZfU0VDVE9SX1NJWkUsIG5iX3NlY3RvcnMgKiBCRFJWX1NFQ1RPUl9TSVpF LCBidWYsIDApOwogKyAgICAgICAgaWYgKHJlcyA8IDApIHsKKysgICAgICAgICAgICBiZHJ2X2dy YXBoX3JkbG9ja19tYWluX2xvb3AoKTsKICsgICAgICAgICAgICBlcnJvcl9zZXRnKGVycnAsICJi bGtfcHdyaXRlIHRvICVzIGZhaWxlZCAoJWQpIiwKICsgICAgICAgICAgICAgICAgICAgICAgIGJk cnZfZ2V0X2RldmljZV9uYW1lKGJsa19icyh0YXJnZXQpKSwgcmVzKTsKKysgICAgICAgICAgICBi ZHJ2X2dyYXBoX3JkdW5sb2NrX21haW5fbG9vcCgpOwogKyAgICAgICAgICAgIHJldHVybiAtMTsK ICsgICAgICAgIH0KICsgICAgfQpAQCAtMTc2MCwxMCArMTc2MywxMCBAQCBpbmRleCAwMDAwMDAw MDAwLi4xMjZiMjk2NjQ3CiArfQogZGlmZiAtLWdpdCBhL3ZtYS5jIGIvdm1hLmMKIG5ldyBmaWxl IG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi4zNDdmNjI4M2NhCitpbmRleCAwMDAwMDAw MDAwLi5iYjcxNWU5MDYxCiAtLS0gL2Rldi9udWxsCiArKysgYi92bWEuYwotQEAgLTAsMCArMSw5 MDAgQEAKK0BAIC0wLDAgKzEsOTAxIEBACiArLyoKICsgKiBWTUE6IFZpcnR1YWwgTWFjaGluZSBB cmNoaXZlCiArICoKQEAgLTIwNzYsMTcgKzIwNzksMTcgQEAgaW5kZXggMDAwMDAwMDAwMC4uMzQ3 ZjYyODNjYQogKyAgICAgICAgICAgICAgICAgICAgICAgIGluYnVmKTsKICsgICAgICAgICAgICB9 CiArCi0rICAgICAgICAgICAgUmVzdG9yZU1hcCAqbWFwID0gZ19uZXcwKFJlc3RvcmVNYXAsIDEp OwotKyAgICAgICAgICAgIG1hcC0+ZGV2bmFtZSA9IGdfc3RyZHVwKGRldm5hbWUpOwotKyAgICAg ICAgICAgIG1hcC0+cGF0aCA9IGdfc3RyZHVwKHBhdGgpOwotKyAgICAgICAgICAgIG1hcC0+Zm9y bWF0ID0gZm9ybWF0OwotKyAgICAgICAgICAgIG1hcC0+dGhyb3R0bGluZ19icHMgPSBicHNfdmFs dWU7Ci0rICAgICAgICAgICAgbWFwLT50aHJvdHRsaW5nX2dyb3VwID0gZ3JvdXA7Ci0rICAgICAg ICAgICAgbWFwLT5jYWNoZSA9IGNhY2hlOwotKyAgICAgICAgICAgIG1hcC0+d3JpdGVfemVybyA9 IHdyaXRlX3plcm87Ci0rICAgICAgICAgICAgbWFwLT5za2lwID0gc2tpcDsKKysgICAgICAgICAg ICBSZXN0b3JlTWFwICpyZXN0b3JlX21hcCA9IGdfbmV3MChSZXN0b3JlTWFwLCAxKTsKKysgICAg ICAgICAgICByZXN0b3JlX21hcC0+ZGV2bmFtZSA9IGdfc3RyZHVwKGRldm5hbWUpOworKyAgICAg ICAgICAgIHJlc3RvcmVfbWFwLT5wYXRoID0gZ19zdHJkdXAocGF0aCk7CisrICAgICAgICAgICAg cmVzdG9yZV9tYXAtPmZvcm1hdCA9IGZvcm1hdDsKKysgICAgICAgICAgICByZXN0b3JlX21hcC0+ dGhyb3R0bGluZ19icHMgPSBicHNfdmFsdWU7CisrICAgICAgICAgICAgcmVzdG9yZV9tYXAtPnRo cm90dGxpbmdfZ3JvdXAgPSBncm91cDsKKysgICAgICAgICAgICByZXN0b3JlX21hcC0+Y2FjaGUg PSBjYWNoZTsKKysgICAgICAgICAgICByZXN0b3JlX21hcC0+d3JpdGVfemVybyA9IHdyaXRlX3pl cm87CisrICAgICAgICAgICAgcmVzdG9yZV9tYXAtPnNraXAgPSBza2lwOwogKwotKyAgICAgICAg ICAgIGdfaGFzaF90YWJsZV9pbnNlcnQoZGV2bWFwLCBtYXAtPmRldm5hbWUsIG1hcCk7CisrICAg ICAgICAgICAgZ19oYXNoX3RhYmxlX2luc2VydChkZXZtYXAsIHJlc3RvcmVfbWFwLT5kZXZuYW1l LCByZXN0b3JlX21hcCk7CiArCiArICAgICAgICB9OwogKyAgICB9CkBAIC0yMzg1LDcgKzIzODgs NyBAQCBpbmRleCAwMDAwMDAwMDAwLi4zNDdmNjI4M2NhCiArCiArc3RhdGljIGludCBjcmVhdGVf YXJjaGl2ZShpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiArewotKyAgICBpbnQgaSwgYzsKKysgICAg aW50IGM7CiArICAgIGludCB2ZXJib3NlID0gMDsKICsgICAgY29uc3QgY2hhciAqYXJjaGl2ZW5h bWU7CiArICAgIEdMaXN0ICpiYWNrdXBfY29yb3V0aW5lcyA9IE5VTEw7CkBAIC0yNTQzLDYgKzI1 NDYsNyBAQCBpbmRleCAwMDAwMDAwMDAwLi4zNDdmNjI4M2NhCiArICAgIHZtYV93cml0ZXJfZ2V0 X3N0YXR1cyh2bWF3LCAmdm1hc3RhdCk7CiArCiArICAgIGlmICh2ZXJib3NlKSB7CisrICAgICAg ICBpbnQgaTsKICsgICAgICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykgewogKyAgICAgICAg ICAgIFZtYVN0cmVhbUluZm8gKnNpID0gJnZtYXN0YXQuc3RyZWFtX2luZm9baV07CiArICAgICAg ICAgICAgaWYgKHNpLT5zaXplKSB7CmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAy OC1QVkUtQmFja3VwLWFkZC1iYWNrdXAtZHVtcC1ibG9jay1kcml2ZXIucGF0Y2ggYi9kZWJpYW4v cGF0Y2hlcy9wdmUvMDAyOC1QVkUtQmFja3VwLWFkZC1iYWNrdXAtZHVtcC1ibG9jay1kcml2ZXIu cGF0Y2gKaW5kZXggMWFkYjQ1ZC4uZjhlNDVjOCAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMv cHZlLzAwMjgtUFZFLUJhY2t1cC1hZGQtYmFja3VwLWR1bXAtYmxvY2stZHJpdmVyLnBhdGNoCisr KyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDI4LVBWRS1CYWNrdXAtYWRkLWJhY2t1cC1kdW1wLWJs b2NrLWRyaXZlci5wYXRjaApAQCAtMTk5LDcgKzE5OSw3IEBAIGluZGV4IDAwMDAwMDAwMDAuLmU0 NmFiZjEwNzAKICsgICAgcmV0dXJuIGJzOwogK30KIGRpZmYgLS1naXQgYS9ibG9jay9iYWNrdXAu YyBiL2Jsb2NrL2JhY2t1cC5jCi1pbmRleCAzOTQxMGRjZjhkLi5hZjg3ZmE2YWE5IDEwMDY0NAor aW5kZXggMjUxNmVhYzVhNy4uYWVjMTQwZTBjOCAxMDA2NDQKIC0tLSBhL2Jsb2NrL2JhY2t1cC5j CiArKysgYi9ibG9jay9iYWNrdXAuYwogQEAgLTI5LDI4ICsyOSw2IEBACkBAIC0yMzEsNyArMjMx LDcgQEAgaW5kZXggMzk0MTBkY2Y4ZC4uYWY4N2ZhNmFhOSAxMDA2NDQKICBzdGF0aWMgY29uc3Qg QmxvY2tKb2JEcml2ZXIgYmFja3VwX2pvYl9kcml2ZXI7CiAgCiAgc3RhdGljIHZvaWQgYmFja3Vw X2NsZWFudXBfc3luY19iaXRtYXAoQmFja3VwQmxvY2tKb2IgKmpvYiwgaW50IHJldCkKLUBAIC00 NTcsNiArNDM1LDE0IEBAIEJsb2NrSm9iICpiYWNrdXBfam9iX2NyZWF0ZShjb25zdCBjaGFyICpq b2JfaWQsIEJsb2NrRHJpdmVyU3RhdGUgKmJzLAorQEAgLTQ2MSw2ICs0MzksMTQgQEAgQmxvY2tK b2IgKmJhY2t1cF9qb2JfY3JlYXRlKGNvbnN0IGNoYXIgKmpvYl9pZCwgQmxvY2tEcml2ZXJTdGF0 ZSAqYnMsCiAgICAgIH0KICAKICAgICAgY2x1c3Rlcl9zaXplID0gYmxvY2tfY29weV9jbHVzdGVy X3NpemUoYmNzKTsKQEAgLTI0Nyw3ICsyNDcsNyBAQCBpbmRleCAzOTQxMGRjZjhkLi5hZjg3ZmE2 YWE5IDEwMDY0NAogICAgICBpZiAocGVyZi0+bWF4X2NodW5rICYmIHBlcmYtPm1heF9jaHVuayA8 IGNsdXN0ZXJfc2l6ZSkgewogICAgICAgICAgZXJyb3Jfc2V0ZyhlcnJwLCAiUmVxdWlyZWQgbWF4 LWNodW5rICglIiBQUklpNjQgIikgaXMgbGVzcyB0aGFuIGJhY2t1cCAiCiBkaWZmIC0tZ2l0IGEv YmxvY2svbWVzb24uYnVpbGQgYi9ibG9jay9tZXNvbi5idWlsZAotaW5kZXggNTliNzFiYTlmMy4u NmZkZTlmN2RjZCAxMDA2NDQKK2luZGV4IGU3MDliNjdkMzcuLmY3ZDFiN2FjNDIgMTAwNjQ0CiAt LS0gYS9ibG9jay9tZXNvbi5idWlsZAogKysrIGIvYmxvY2svbWVzb24uYnVpbGQKIEBAIC00LDYg KzQsNyBAQCBibG9ja19zcy5hZGQoZmlsZXMoCkBAIC0yNTUsMTEgKzI1NSwxMSBAQCBpbmRleCA1 OWI3MWJhOWYzLi42ZmRlOWY3ZGNkIDEwMDY0NAogICAgJ2FtZW5kLmMnLAogICAgJ2JhY2t1cC5j JywKICsgICdiYWNrdXAtZHVtcC5jJywKLSAgICdjb3B5LWJlZm9yZS13cml0ZS5jJywKICAgICdi bGtkZWJ1Zy5jJywKICAgICdibGtsb2d3cml0ZXMuYycsCisgICAnYmxrdmVyaWZ5LmMnLAogZGlm ZiAtLWdpdCBhL2luY2x1ZGUvYmxvY2svYmxvY2tfaW50LWNvbW1vbi5oIGIvaW5jbHVkZS9ibG9j ay9ibG9ja19pbnQtY29tbW9uLmgKLWluZGV4IDc0MTk1YzMwMDQuLjBhMDMzOWVlZTQgMTAwNjQ0 CitpbmRleCA0ZTMxZDE2MWM1Li4yZmM2YzM3YmM5IDEwMDY0NAogLS0tIGEvaW5jbHVkZS9ibG9j ay9ibG9ja19pbnQtY29tbW9uLmgKICsrKyBiL2luY2x1ZGUvYmxvY2svYmxvY2tfaW50LWNvbW1v bi5oCiBAQCAtMjYsNiArMjYsNyBAQApAQCAtMzEyLDEwICszMTIsMTAgQEAgaW5kZXggNzQxOTVj MzAwNC4uMGEwMzM5ZWVlNCAxMDA2NDQKICAgICAgQkRSVl9UUkFDS0VEX1JFQUQsCiAgICAgIEJE UlZfVFJBQ0tFRF9XUklURSwKIGRpZmYgLS1naXQgYS9qb2IuYyBiL2pvYi5jCi1pbmRleCA3MmQ1 N2YwOTM0Li45M2UyMmQxODBiIDEwMDY0NAoraW5kZXggOTlhMmU1NGI1NC4uZDdhMThiOGU2YSAx MDA2NDQKIC0tLSBhL2pvYi5jCiArKysgYi9qb2IuYwotQEAgLTMzMCw3ICszMzAsOCBAQCBzdGF0 aWMgYm9vbCBqb2Jfc3RhcnRlZF9sb2NrZWQoSm9iICpqb2IpCitAQCAtMzMxLDcgKzMzMSw4IEBA IHN0YXRpYyBib29sIGpvYl9zdGFydGVkX2xvY2tlZChKb2IgKmpvYikKICB9CiAgCiAgLyogQ2Fs bGVkIHdpdGggam9iX211dGV4IGhlbGQuICovCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9w dmUvMDAyOS1QVkUtQWRkLXNlcXVlbnRpYWwtam9iLXRyYW5zYWN0aW9uLXN1cHBvcnQucGF0Y2gg Yi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAyOS1QVkUtQWRkLXNlcXVlbnRpYWwtam9iLXRyYW5zYWN0 aW9uLXN1cHBvcnQucGF0Y2gKaW5kZXggZmJmNjEwZS4uM2QwOGQ4YyAxMDA2NDQKLS0tIGEvZGVi aWFuL3BhdGNoZXMvcHZlLzAwMjktUFZFLUFkZC1zZXF1ZW50aWFsLWpvYi10cmFuc2FjdGlvbi1z dXBwb3J0LnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDI5LVBWRS1BZGQtc2VxdWVu dGlhbC1qb2ItdHJhbnNhY3Rpb24tc3VwcG9ydC5wYXRjaApAQCAtMTEsNyArMTEsNyBAQCBTaWdu ZWQtb2ZmLWJ5OiBUaG9tYXMgTGFtcHJlY2h0IDx0LmxhbXByZWNodEBwcm94bW94LmNvbT4KICAy IGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL2luY2x1ZGUv cWVtdS9qb2IuaCBiL2luY2x1ZGUvcWVtdS9qb2IuaAotaW5kZXggZTUwMjc4N2RkOC4uOTYzY2Yy YmVmNSAxMDA2NDQKK2luZGV4IGI0YmMyZTE3NGIuLjQ1ODZkYzJkM2MgMTAwNjQ0CiAtLS0gYS9p bmNsdWRlL3FlbXUvam9iLmgKICsrKyBiL2luY2x1ZGUvcWVtdS9qb2IuaAogQEAgLTM4MSw2ICsz ODEsMTggQEAgdm9pZCBqb2JfdW5sb2NrKHZvaWQpOwpAQCAtMzQsMTAgKzM0LDEwIEBAIGluZGV4 IGU1MDI3ODdkZDguLjk2M2NmMmJlZjUgMTAwNjQ0CiAgICogUmVsZWFzZSBhIHJlZmVyZW5jZSB0 aGF0IHdhcyBwcmV2aW91c2x5IGFjcXVpcmVkIHdpdGggam9iX3R4bl9hZGRfam9iIG9yCiAgICog am9iX3R4bl9uZXcuIElmIGl0J3MgdGhlIGxhc3QgcmVmZXJlbmNlIHRvIHRoZSBvYmplY3QsIGl0 IHdpbGwgYmUgZnJlZWQuCiBkaWZmIC0tZ2l0IGEvam9iLmMgYi9qb2IuYwotaW5kZXggOTNlMjJk MTgwYi4uMmIzMWYxZTE0ZiAxMDA2NDQKK2luZGV4IGQ3YTE4YjhlNmEuLjg2OGRmMWI0Y2UgMTAw NjQ0CiAtLS0gYS9qb2IuYwogKysrIGIvam9iLmMKLUBAIC05Myw2ICs5Myw4IEBAIHN0cnVjdCBK b2JUeG4geworQEAgLTk0LDYgKzk0LDggQEAgc3RydWN0IEpvYlR4biB7CiAgCiAgICAgIC8qIFJl ZmVyZW5jZSBjb3VudCAqLwogICAgICBpbnQgcmVmY250OwpAQCAtNDYsNyArNDYsNyBAQCBpbmRl eCA5M2UyMmQxODBiLi4yYjMxZjFlMTRmIDEwMDY0NAogIH07CiAgCiAgdm9pZCBqb2JfbG9jayh2 b2lkKQotQEAgLTExOCw2ICsxMjAsMjUgQEAgSm9iVHhuICpqb2JfdHhuX25ldyh2b2lkKQorQEAg LTExOSw2ICsxMjEsMjUgQEAgSm9iVHhuICpqb2JfdHhuX25ldyh2b2lkKQogICAgICByZXR1cm4g dHhuOwogIH0KICAKQEAgLTcyLDcgKzcyLDcgQEAgaW5kZXggOTNlMjJkMTgwYi4uMmIzMWYxZTE0 ZiAxMDA2NDQKICAvKiBDYWxsZWQgd2l0aCBqb2JfbXV0ZXggaGVsZC4gKi8KICBzdGF0aWMgdm9p ZCBqb2JfdHhuX3JlZl9sb2NrZWQoSm9iVHhuICp0eG4pCiAgewotQEAgLTEwNTcsNiArMTA3OCwx MiBAQCBzdGF0aWMgdm9pZCBqb2JfY29tcGxldGVkX3R4bl9zdWNjZXNzX2xvY2tlZChKb2IgKmpv YikKK0BAIC0xMDU4LDYgKzEwNzksMTIgQEAgc3RhdGljIHZvaWQgam9iX2NvbXBsZXRlZF90eG5f c3VjY2Vzc19sb2NrZWQoSm9iICpqb2IpCiAgICAgICAqLwogICAgICBRTElTVF9GT1JFQUNIKG90 aGVyX2pvYiwgJnR4bi0+am9icywgdHhuX2xpc3QpIHsKICAgICAgICAgIGlmICgham9iX2lzX2Nv bXBsZXRlZF9sb2NrZWQob3RoZXJfam9iKSkgewpAQCAtODUsNyArODUsNyBAQCBpbmRleCA5M2Uy MmQxODBiLi4yYjMxZjFlMTRmIDEwMDY0NAogICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg IH0KICAgICAgICAgIGFzc2VydChvdGhlcl9qb2ItPnJldCA9PSAwKTsKLUBAIC0xMjY4LDYgKzEy OTUsMTMgQEAgaW50IGpvYl9maW5pc2hfc3luY19sb2NrZWQoSm9iICpqb2IsCitAQCAtMTI2OSw2 ICsxMjk2LDEzIEBAIGludCBqb2JfZmluaXNoX3N5bmNfbG9ja2VkKEpvYiAqam9iLAogICAgICAg ICAgcmV0dXJuIC1FQlVTWTsKICAgICAgfQogIApkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMv cHZlLzAwMzAtUFZFLUJhY2t1cC1Qcm94bW94LWJhY2t1cC1wYXRjaGVzLWZvci1RRU1VLnBhdGNo IGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMzAtUFZFLUJhY2t1cC1Qcm94bW94LWJhY2t1cC1wYXRj aGVzLWZvci1RRU1VLnBhdGNoCmluZGV4IDhiYzUyOGUuLjVhMDliYTkgMTAwNjQ0Ci0tLSBhL2Rl Ymlhbi9wYXRjaGVzL3B2ZS8wMDMwLVBWRS1CYWNrdXAtUHJveG1veC1iYWNrdXAtcGF0Y2hlcy1m b3ItUUVNVS5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzMC1QVkUtQmFja3VwLVBy b3htb3gtYmFja3VwLXBhdGNoZXMtZm9yLVFFTVUucGF0Y2gKQEAgLTk0LDIwICs5NCwyMCBAQCBT aWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNvbT4KICBtb25pdG9y L2htcC1jbWRzLmMgICAgICAgICAgICAgfCAgIDcyICsrKwogIHByb3htb3gtYmFja3VwLWNsaWVu dC5jICAgICAgICB8ICAxNDYgKysrKysKICBwcm94bW94LWJhY2t1cC1jbGllbnQuaCAgICAgICAg fCAgIDYwICsrCi0gcHZlLWJhY2t1cC5jICAgICAgICAgICAgICAgICAgIHwgMTA4OSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKworIHB2ZS1iYWNrdXAuYyAgICAgICAgICAgICAgICAg ICB8IDExMDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKICBxYXBpL2Jsb2NrLWNv cmUuanNvbiAgICAgICAgICAgfCAgMjI5ICsrKysrKysKICBxYXBpL2NvbW1vbi5qc29uICAgICAg ICAgICAgICAgfCAgIDE0ICsKICBxYXBpL21hY2hpbmUuanNvbiAgICAgICAgICAgICAgfCAgIDE2 ICstCi0gMTQgZmlsZXMgY2hhbmdlZCwgMTcwNCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMo LSkKKyAxNCBmaWxlcyBjaGFuZ2VkLCAxNzE4IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygt KQogIGNyZWF0ZSBtb2RlIDEwMDY0NCBwcm94bW94LWJhY2t1cC1jbGllbnQuYwogIGNyZWF0ZSBt b2RlIDEwMDY0NCBwcm94bW94LWJhY2t1cC1jbGllbnQuaAogIGNyZWF0ZSBtb2RlIDEwMDY0NCBw dmUtYmFja3VwLmMKIAogZGlmZiAtLWdpdCBhL2Jsb2NrL21lc29uLmJ1aWxkIGIvYmxvY2svbWVz b24uYnVpbGQKLWluZGV4IDZmZGU5ZjdkY2QuLjZkNDY4Zjg5ZTUgMTAwNjQ0CitpbmRleCBmN2Qx YjdhYzQyLi45ZGY5OWFjZWI1IDEwMDY0NAogLS0tIGEvYmxvY2svbWVzb24uYnVpbGQKICsrKyBi L2Jsb2NrL21lc29uLmJ1aWxkCi1AQCAtNDUsNiArNDUsMTEgQEAgYmxvY2tfc3MuYWRkKGZpbGVz KAorQEAgLTQ0LDYgKzQ0LDExIEBAIGJsb2NrX3NzLmFkZChmaWxlcygKICApLCB6c3RkLCB6bGli LCBnbnV0bHMpCiAgCiAgYmxvY2tfc3MuYWRkKGZpbGVzKCcuLi92bWEtd3JpdGVyLmMnKSwgbGli dXVpZCkKQEAgLTEyMCwxMCArMTIwLDEwIEBAIGluZGV4IDZmZGU5ZjdkY2QuLjZkNDY4Zjg5ZTUg MTAwNjQ0CiAgc3lzdGVtX3NzLmFkZCh3aGVuOiAnQ09ORklHX1RDRycsIGlmX3RydWU6IGZpbGVz KCdibGtyZXBsYXkuYycpKQogIHN5c3RlbV9zcy5hZGQoZmlsZXMoJ2Jsb2NrLXJhbS1yZWdpc3Ry YXIuYycpKQogZGlmZiAtLWdpdCBhL2Jsb2NrL21vbml0b3IvYmxvY2staG1wLWNtZHMuYyBiL2Js b2NrL21vbml0b3IvYmxvY2staG1wLWNtZHMuYwotaW5kZXggY2EyNTk5ZGU0NC4uNmVmZTI4Y2Vm NSAxMDA2NDQKK2luZGV4IGM3MjljYmYxZWIuLjE2NTY4NTllMDMgMTAwNjQ0CiAtLS0gYS9ibG9j ay9tb25pdG9yL2Jsb2NrLWhtcC1jbWRzLmMKICsrKyBiL2Jsb2NrL21vbml0b3IvYmxvY2staG1w LWNtZHMuYwotQEAgLTEwMjksMyArMTAyOSw0MiBAQCB2b2lkIGhtcF9jaGFuZ2VfbWVkaXVtKE1v bml0b3IgKm1vbiwgY29uc3QgY2hhciAqZGV2aWNlLCBjb25zdCBjaGFyICp0YXJnZXQsCitAQCAt MTAzNywzICsxMDM3LDQyIEBAIHZvaWQgaG1wX2NoYW5nZV9tZWRpdW0oTW9uaXRvciAqbW9uLCBj b25zdCBjaGFyICpkZXZpY2UsIGNvbnN0IGNoYXIgKnRhcmdldCwKICAgICAgcW1wX2Jsb2NrZGV2 X2NoYW5nZV9tZWRpdW0oZGV2aWNlLCBOVUxMLCB0YXJnZXQsIGFyZywgdHJ1ZSwgZm9yY2UsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEhcmVhZF9vbmx5LCByZWFkX29ubHlfbW9k ZSwgZXJycCk7CiAgfQpAQCAtMTY3LDcgKzE2Nyw3IEBAIGluZGV4IGNhMjU5OWRlNDQuLjZlZmUy OGNlZjUgMTAwNjQ0CiArICAgIGhtcF9oYW5kbGVfZXJyb3IobW9uLCBlcnJvcik7CiArfQogZGlm ZiAtLWdpdCBhL2Jsb2NrZGV2LmMgYi9ibG9ja2Rldi5jCi1pbmRleCBjZDVmMjA1YWQxLi43Nzkz MTQzZDc2IDEwMDY0NAoraW5kZXggMzhhNDBlM2UzMi4uMzA0OTgxMWJlOCAxMDA2NDQKIC0tLSBh L2Jsb2NrZGV2LmMKICsrKyBiL2Jsb2NrZGV2LmMKIEBAIC0zNyw2ICszNyw3IEBACkBAIC0yMDQs NyArMjA0LDcgQEAgaW5kZXggMTBmZGQ4MjJlMC4uMTU5Mzc3OTNjMSAxMDA2NDQKICAgICAgewog ICAgICAgICAgLm5hbWUgICAgICAgPSAidXNlcm5ldCIsCiBkaWZmIC0tZ2l0IGEvaG1wLWNvbW1h bmRzLmh4IGIvaG1wLWNvbW1hbmRzLmh4Ci1pbmRleCBlMzUyZjg2ODcyLi4wYzhiNjcyNWZiIDEw MDY0NAoraW5kZXggODkzYzNiZDI0MC4uNWMxZmZiYzYwMiAxMDA2NDQKIC0tLSBhL2htcC1jb21t YW5kcy5oeAogKysrIGIvaG1wLWNvbW1hbmRzLmh4CiBAQCAtMTAxLDYgKzEwMSwzNSBAQCBFUlNU CkBAIC0yNjUsMTAgKzI2NSwxMCBAQCBpbmRleCA3YTdkZWY3NTMwLi5jYmE3YWZlNzBjIDEwMDY0 NAogIHZvaWQgaG1wX2RldmljZV9hZGQoTW9uaXRvciAqbW9uLCBjb25zdCBRRGljdCAqcWRpY3Qp OwogIHZvaWQgaG1wX2RldmljZV9kZWwoTW9uaXRvciAqbW9uLCBjb25zdCBRRGljdCAqcWRpY3Qp OwogZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKLWluZGV4IGNkOTU1MzBk M2IuLmQ1Mzk3NmQ2MjEgMTAwNjQ0CitpbmRleCA4Y2IxY2NkNWUxLi45NTVmNTc5MzA4IDEwMDY0 NAogLS0tIGEvbWVzb24uYnVpbGQKICsrKyBiL21lc29uLmJ1aWxkCi1AQCAtMTc3OSw2ICsxNzc5 LDcgQEAgZW5kaWYKK0BAIC0xODAzLDYgKzE4MDMsNyBAQCBlbmRpZgogIGhhc19nZXR0aWQgPSBj Yy5oYXNfZnVuY3Rpb24oJ2dldHRpZCcpCiAgCiAgbGlidXVpZCA9IGNjLmZpbmRfbGlicmFyeSgn dXVpZCcsIHJlcXVpcmVkOiB0cnVlKQpAQCAtMjc3LDcgKzI3Nyw3IEBAIGluZGV4IGNkOTU1MzBk M2IuLmQ1Mzk3NmQ2MjEgMTAwNjQ0CiAgIyBsaWJzZWxpbnV4CiAgc2VsaW51eCA9IGRlcGVuZGVu Y3koJ2xpYnNlbGludXgnLAogZGlmZiAtLWdpdCBhL21vbml0b3IvaG1wLWNtZHMuYyBiL21vbml0 b3IvaG1wLWNtZHMuYwotaW5kZXggOTFiZTY5ODMwOC4uNWI5YzIzMWE0YyAxMDA2NDQKK2luZGV4 IGVmNDYzNGU1YzEuLjZlMjUyNzlmNDIgMTAwNjQ0CiAtLS0gYS9tb25pdG9yL2htcC1jbWRzLmMK ICsrKyBiL21vbml0b3IvaG1wLWNtZHMuYwogQEAgLTIxLDYgKzIxLDcgQEAKQEAgLTU4NiwxMCAr NTg2LDEwIEBAIGluZGV4IDAwMDAwMDAwMDAuLjhjYmY2NDViMmMKICsjZW5kaWYgLyogUFJPWE1P WF9CQUNLVVBfQ0xJRU5UX0ggKi8KIGRpZmYgLS1naXQgYS9wdmUtYmFja3VwLmMgYi9wdmUtYmFj a3VwLmMKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi5hZTNkMTM3ZTEy CitpbmRleCAwMDAwMDAwMDAwLi45MDNhZmNkN2U5CiAtLS0gL2Rldi9udWxsCiArKysgYi9wdmUt YmFja3VwLmMKLUBAIC0wLDAgKzEsMTA4OSBAQAorQEAgLTAsMCArMSwxMTAzIEBACiArI2luY2x1 ZGUgInByb3htb3gtYmFja3VwLWNsaWVudC5oIgogKyNpbmNsdWRlICJ2bWEuaCIKICsKQEAgLTYw MCw2ICs2MDAsNyBAQCBpbmRleCAwMDAwMDAwMDAwLi5hZTNkMTM3ZTEyCiArI2luY2x1ZGUgImJs b2NrL2Jsb2NrX2ludC1nbG9iYWwtc3RhdGUuaCIKICsjaW5jbHVkZSAiYmxvY2svYmxvY2tqb2Iu aCIKICsjaW5jbHVkZSAiYmxvY2svZGlydHktYml0bWFwLmgiCisrI2luY2x1ZGUgImJsb2NrL2dy YXBoLWxvY2suaCIKICsjaW5jbHVkZSAicWFwaS9xYXBpLWNvbW1hbmRzLWJsb2NrLmgiCiArI2lu Y2x1ZGUgInFhcGkvcW1wL3FlcnJvci5oIgogKyNpbmNsdWRlICJxZW11L2N1dGlscy5oIgpAQCAt OTI4LDEzICs5MjksNiBAQCBpbmRleCAwMDAwMDAwMDAwLi5hZTNkMTM3ZTEyCiArICAgICAgICB9 CiArICAgIH0KICsKLSsgICAgaWYgKGRpLT5qb2IpIHsKLSsgICAgICAgIFdJVEhfSk9CX0xPQ0tf R1VBUkQoKSB7Ci0rICAgICAgICAgICAgam9iX3VucmVmX2xvY2tlZCgmZGktPmpvYi0+am9iKTsK LSsgICAgICAgICAgICBkaS0+am9iID0gTlVMTDsKLSsgICAgICAgIH0KLSsgICAgfQotKwogKyAg ICAvLyByZW1vdmUgc2VsZiBmcm9tIGpvYiBsaXN0CiArICAgIGJhY2t1cF9zdGF0ZS5kaV9saXN0 ID0gZ19saXN0X3JlbW92ZShiYWNrdXBfc3RhdGUuZGlfbGlzdCwgZGkpOwogKwpAQCAtOTU0LDYg Kzk0OCwxNiBAQCBpbmRleCAwMDAwMDAwMDAwLi5hZTNkMTM3ZTEyCiArICAgIGRpLT5jb21wbGV0 ZWRfcmV0ID0gcmV0OwogKwogKyAgICAvKgorKyAgICAgKiBOZWVkcyB0byBoYXBwZW4gb3V0c2lk ZSBvZiBjb3JvdXRpbmUsIGJlY2F1c2UgaXQgdGFrZXMgdGhlIGdyYXBoIHdyaXRlIGxvY2suCisr ICAgICAqLworKyAgICBpZiAoZGktPmpvYikgeworKyAgICAgICAgV0lUSF9KT0JfTE9DS19HVUFS RCgpIHsKKysgICAgICAgICAgICBqb2JfdW5yZWZfbG9ja2VkKCZkaS0+am9iLT5qb2IpOworKyAg ICAgICAgICAgIGRpLT5qb2IgPSBOVUxMOworKyAgICAgICAgfQorKyAgICB9CisrCisrICAgIC8q CiArICAgICAqIFNjaGVkdWxlIHN0cmVhbSBjbGVhbnVwIGluIGFzeW5jIGNvcm91dGluZS4gY2xv c2VfaW1hZ2UgYW5kIGZpbmlzaCBtaWdodAogKyAgICAgKiB0YWtlIGEgd2hpbGUsIHNvIHdlIGNh bid0IGJsb2NrIG9uIHRoZW0gaGVyZS4gVGhpcyB3YXkgaXQgYWxzbyBkb2Vzbid0CiArICAgICAq IG1hdHRlciBpZiB3ZSdyZSBhbHJlYWR5IHJ1bm5pbmcgaW4gYSBjb3JvdXRpbmUgb3Igbm90LgpA QCAtMTE3OCw3ICsxMTgyLDcgQEAgaW5kZXggMDAwMDAwMDAwMC4uYWUzZDEzN2UxMgogKyAqIGNh c2Ugb2YgYW4gZXJyb3IsIGVycnAgd2lsbCBiZSBzZXQsIGJ1dCB0aGUgcmV0dXJuZWQgdmFsdWUg bWlnaHQgc3RpbGwgYmUgYQogKyAqIGxpc3QuCiArICovCi0rc3RhdGljIEdMaXN0IGNvcm91dGlu ZV9mbiAqZ2V0X2RldmljZV9pbmZvKAorK3N0YXRpYyBHTGlzdCBjb3JvdXRpbmVfZm4gR1JBUEhf UkRMT0NLICpnZXRfZGV2aWNlX2luZm8oCiArICAgIGNvbnN0IGNoYXIgKmRldmxpc3QsCiArICAg IEVycm9yICoqZXJycCkKICt7CkBAIC0xMjc5LDcgKzEyODMsOSBAQCBpbmRleCAwMDAwMDAwMDAw Li5hZTNkMTM3ZTEyCiArICAgIC8qIFRvZG86IHRyeSB0byBhdXRvLWRldGVjdCBmb3JtYXQgYmFz ZWQgb24gZmlsZSBuYW1lICovCiArICAgIGZvcm1hdCA9IGhhc19mb3JtYXQgPyBmb3JtYXQgOiBC QUNLVVBfRk9STUFUX1ZNQTsKICsKKysgICAgYmRydl9ncmFwaF9jb19yZGxvY2soKTsKICsgICAg ZGlfbGlzdCA9IGdldF9kZXZpY2VfaW5mbyhkZXZsaXN0LCAmbG9jYWxfZXJyKTsKKysgICAgYmRy dl9ncmFwaF9jb19yZHVubG9jaygpOwogKyAgICBpZiAobG9jYWxfZXJyKSB7CiArICAgICAgICBl cnJvcl9wcm9wYWdhdGUoZXJycCwgbG9jYWxfZXJyKTsKICsgICAgICAgIGdvdG8gZXJyOwpAQCAt MTI5Miw3ICsxMjk4LDExIEBAIGluZGV4IDAwMDAwMDAwMDAuLmFlM2QxMzdlMTIKICsgICAgd2hp bGUgKGwpIHsKICsgICAgICAgIFBWRUJhY2t1cERldkluZm8gKmRpID0gKFBWRUJhY2t1cERldklu Zm8gKilsLT5kYXRhOwogKyAgICAgICAgbCA9IGdfbGlzdF9uZXh0KGwpOwotKyAgICAgICAgaWYg KGJkcnZfb3BfaXNfYmxvY2tlZChkaS0+YnMsIEJMT0NLX09QX1RZUEVfQkFDS1VQX1NPVVJDRSwg ZXJycCkpIHsKKysKKysgICAgICAgIGJkcnZfZ3JhcGhfY29fcmRsb2NrKCk7CisrICAgICAgICBi b29sIGJsb2NrZWQgPSBiZHJ2X29wX2lzX2Jsb2NrZWQoZGktPmJzLCBCTE9DS19PUF9UWVBFX0JB Q0tVUF9TT1VSQ0UsIGVycnApOworKyAgICAgICAgYmRydl9ncmFwaF9jb19yZHVubG9jaygpOwor KyAgICAgICAgaWYgKGJsb2NrZWQpIHsKICsgICAgICAgICAgICBnb3RvIGVycjsKICsgICAgICAg IH0KICsKQEAgLTEzNzYsNyArMTM4Niw5IEBAIGluZGV4IDAwMDAwMDAwMDAuLmFlM2QxMzdlMTIK ICsKICsgICAgICAgICAgICBkaS0+YmxvY2tfc2l6ZSA9IGR1bXBfY2JfYmxvY2tfc2l6ZTsKICsK KysgICAgICAgICAgICBiZHJ2X2dyYXBoX2NvX3JkbG9jaygpOwogKyAgICAgICAgICAgIGNvbnN0 IGNoYXIgKmRldm5hbWUgPSBiZHJ2X2dldF9kZXZpY2VfbmFtZShkaS0+YnMpOworKyAgICAgICAg ICAgIGJkcnZfZ3JhcGhfY29fcmR1bmxvY2soKTsKICsgICAgICAgICAgICBQQlNCaXRtYXBBY3Rp b24gYWN0aW9uID0gUEJTX0JJVE1BUF9BQ1RJT05fTk9UX1VTRUQ7CiArICAgICAgICAgICAgc2l6 ZV90IGRpcnR5ID0gZGktPnNpemU7CiArCkBAIC0xNDUyLDcgKzE0NjQsOSBAQCBpbmRleCAwMDAw MDAwMDAwLi5hZTNkMTM3ZTEyCiArICAgICAgICAgICAgICAgIGdvdG8gZXJyX211dGV4OwogKyAg ICAgICAgICAgIH0KICsKKysgICAgICAgICAgICBiZHJ2X2dyYXBoX2NvX3JkbG9jaygpOwogKyAg ICAgICAgICAgIGNvbnN0IGNoYXIgKmRldm5hbWUgPSBiZHJ2X2dldF9kZXZpY2VfbmFtZShkaS0+ YnMpOworKyAgICAgICAgICAgIGJkcnZfZ3JhcGhfY29fcmR1bmxvY2soKTsKICsgICAgICAgICAg ICBkaS0+ZGV2X2lkID0gdm1hX3dyaXRlcl9yZWdpc3Rlcl9zdHJlYW0odm1hdywgZGV2bmFtZSwg ZGktPnNpemUpOwogKyAgICAgICAgICAgIGlmIChkaS0+ZGV2X2lkIDw9IDApIHsKICsgICAgICAg ICAgICAgICAgZXJyb3Jfc2V0KGVycnAsIEVSUk9SX0NMQVNTX0dFTkVSSUNfRVJST1IsCkBAIC0x NjgwLDEwICsxNjk0LDEwIEBAIGluZGV4IDAwMDAwMDAwMDAuLmFlM2QxMzdlMTIKICsgICAgcmV0 dXJuIHJldDsKICt9CiBkaWZmIC0tZ2l0IGEvcWFwaS9ibG9jay1jb3JlLmpzb24gYi9xYXBpL2Js b2NrLWNvcmUuanNvbgotaW5kZXggYmI0NzFjMDc4ZC4uMWI4NDYyYTUxYiAxMDA2NDQKK2luZGV4 IDI5OWUzZmMzNTAuLmMxNTVkNzQyMzAgMTAwNjQ0CiAtLS0gYS9xYXBpL2Jsb2NrLWNvcmUuanNv bgogKysrIGIvcWFwaS9ibG9jay1jb3JlLmpzb24KLUBAIC04MzksNiArODM5LDIzNSBAQAorQEAg LTg0MSw2ICs4NDEsMjM1IEBACiAgeyAnY29tbWFuZCc6ICdxdWVyeS1ibG9jaycsICdyZXR1cm5z JzogWydCbG9ja0luZm8nXSwKICAgICdhbGxvdy1wcmVjb25maWcnOiB0cnVlIH0KICAKQEAgLTE5 NDIsNyArMTk1Niw3IEBAIGluZGV4IDZmZWQ5Y2RlMWEuLjYzMGEyYThmOWEgMTAwNjQ0CiArIyMK ICt7ICdzdHJ1Y3QnOiAnVXVpZEluZm8nLCAnZGF0YSc6IHsnVVVJRCc6ICdzdHInfSB9CiBkaWZm IC0tZ2l0IGEvcWFwaS9tYWNoaW5lLmpzb24gYi9xYXBpL21hY2hpbmUuanNvbgotaW5kZXggN2Rh M2M1MTliYS4uODg4NDU3ZjgxMCAxMDA2NDQKK2luZGV4IGE5ZmQ0MGQ4NDQuLmQ5N2YwMjQxNzMg MTAwNjQ0CiAtLS0gYS9xYXBpL21hY2hpbmUuanNvbgogKysrIGIvcWFwaS9tYWNoaW5lLmpzb24K IEBAIC00LDYgKzQsOCBAQApAQCAtMTk1NCw3ICsxOTY4LDcgQEAgaW5kZXggN2RhM2M1MTliYS4u ODg4NDU3ZjgxMCAxMDA2NDQKICAjIwogICMgPSBNYWNoaW5lcwogICMjCi1AQCAtMjMwLDIwICsy MzIsNiBAQAorQEAgLTIzNywyMCArMjM5LDYgQEAKICAjIwogIHsgJ2NvbW1hbmQnOiAncXVlcnkt dGFyZ2V0JywgJ3JldHVybnMnOiAnVGFyZ2V0SW5mbycgfQogIApkaWZmIC0tZ2l0IGEvZGViaWFu L3BhdGNoZXMvcHZlLzAwMzEtUFZFLUJhY2t1cC1wYnMtcmVzdG9yZS1uZXctY29tbWFuZC10by1y ZXN0b3JlLWZyb20tcC5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDMxLVBWRS1CYWNrdXAt cGJzLXJlc3RvcmUtbmV3LWNvbW1hbmQtdG8tcmVzdG9yZS1mcm9tLXAucGF0Y2gKaW5kZXggMmQz NTc5NS4uZGVkOGZmMiAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMzEtUFZFLUJh Y2t1cC1wYnMtcmVzdG9yZS1uZXctY29tbWFuZC10by1yZXN0b3JlLWZyb20tcC5wYXRjaAorKysg Yi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzMS1QVkUtQmFja3VwLXBicy1yZXN0b3JlLW5ldy1jb21t YW5kLXRvLXJlc3RvcmUtZnJvbS1wLnBhdGNoCkBAIC0xNCwxMCArMTQsMTAgQEAgU2lnbmVkLW9m Zi1ieTogV29sZmdhbmcgQnVtaWxsZXIgPHcuYnVtaWxsZXJAcHJveG1veC5jb20+CiAgY3JlYXRl IG1vZGUgMTAwNjQ0IHBicy1yZXN0b3JlLmMKIAogZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIv bWVzb24uYnVpbGQKLWluZGV4IGQ1Mzk3NmQ2MjEuLmMzMzMwMzEwZDkgMTAwNjQ0CitpbmRleCA5 NTVmNTc5MzA4Li5jNzBmMmE0OTM3IDEwMDY0NAogLS0tIGEvbWVzb24uYnVpbGQKICsrKyBiL21l c29uLmJ1aWxkCi1AQCAtMzkxNCw2ICszOTE0LDEwIEBAIGlmIGhhdmVfdG9vbHMKK0BAIC0zOTgx LDYgKzM5ODEsMTAgQEAgaWYgaGF2ZV90b29scwogICAgdm1hID0gZXhlY3V0YWJsZSgndm1hJywg ZmlsZXMoJ3ZtYS5jJywgJ3ZtYS1yZWFkZXIuYycpICsgZ2VuaCwKICAgICAgICAgICAgICAgICAg ICAgZGVwZW5kZW5jaWVzOiBbYXV0aHosIGJsb2NrLCBjcnlwdG8sIGlvLCBxb21dLCBpbnN0YWxs OiB0cnVlKQogIApkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMzItUFZFLUFkZC1Q QlMtYmxvY2stZHJpdmVyLXRvLW1hcC1iYWNrdXAtYXJjaGl2ZXMtaW50by5wYXRjaCBiL2RlYmlh bi9wYXRjaGVzL3B2ZS8wMDMyLVBWRS1BZGQtUEJTLWJsb2NrLWRyaXZlci10by1tYXAtYmFja3Vw LWFyY2hpdmVzLWludG8ucGF0Y2gKaW5kZXggMDkyN2M0ZC4uNzhkMDM0MyAxMDA2NDQKLS0tIGEv ZGViaWFuL3BhdGNoZXMvcHZlLzAwMzItUFZFLUFkZC1QQlMtYmxvY2stZHJpdmVyLXRvLW1hcC1i YWNrdXAtYXJjaGl2ZXMtaW50by5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzMi1Q VkUtQWRkLVBCUy1ibG9jay1kcml2ZXItdG8tbWFwLWJhY2t1cC1hcmNoaXZlcy1pbnRvLnBhdGNo CkBAIC0xNCwzNSArMTQsMzMgQEAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgQnVtaWxsZXIgPHcu YnVtaWxsZXJAcHJveG1veC5jb20+CiAgICAgIGdldGxlbmd0aCBpcyBub3cgYSBjb3JvdXRpbmUg ZnVuY3Rpb25dCiBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNv bT4KIC0tLQotIGJsb2NrL21lc29uLmJ1aWxkICAgIHwgICAzICsKLSBibG9jay9wYnMuYyAgICAg ICAgICB8IDMwNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0g Y29uZmlndXJlICAgICAgICAgICAgfCAgIDkgKysKKyBibG9jay9tZXNvbi5idWlsZCAgICB8ICAg MiArCisgYmxvY2svcGJzLmMgICAgICAgICAgfCAzMDcgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogIG1lc29uLmJ1aWxkICAgICAgICAgIHwgICAyICstCiAgcWFw aS9ibG9jay1jb3JlLmpzb24gfCAgMTMgKysKICBxYXBpL3ByYWdtYS5qc29uICAgICB8ICAgMSAr Ci0gNiBmaWxlcyBjaGFuZ2VkLCAzMzIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorIDUg ZmlsZXMgY2hhbmdlZCwgMzI0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKICBjcmVhdGUg bW9kZSAxMDA2NDQgYmxvY2svcGJzLmMKIAogZGlmZiAtLWdpdCBhL2Jsb2NrL21lc29uLmJ1aWxk IGIvYmxvY2svbWVzb24uYnVpbGQKLWluZGV4IDZkNDY4Zjg5ZTUuLmJlY2M5OWFjNGUgMTAwNjQ0 CitpbmRleCA5ZGY5OWFjZWI1Li41NDljMGM3MTAzIDEwMDY0NAogLS0tIGEvYmxvY2svbWVzb24u YnVpbGQKICsrKyBiL2Jsb2NrL21lc29uLmJ1aWxkCi1AQCAtNTAsNiArNTAsOSBAQCBibG9ja19z cy5hZGQoZmlsZXMoCitAQCAtNDksNiArNDksOCBAQCBibG9ja19zcy5hZGQoZmlsZXMoCiAgICAn Li4vcHZlLWJhY2t1cC5jJywKICApLCBsaWJwcm94bW94X2JhY2t1cF9xZW11KQogIAotK2Jsb2Nr X3NzLmFkZCh3aGVuOiAnQ09ORklHX1BCU19CRFJWJywgaWZfdHJ1ZTogZmlsZXMoJ3Bicy5jJykp Ci0rYmxvY2tfc3MuYWRkKHdoZW46ICdDT05GSUdfUEJTX0JEUlYnLCBpZl90cnVlOiBsaWJwcm94 bW94X2JhY2t1cF9xZW11KQorK2Jsb2NrX3NzLmFkZChmaWxlcygncGJzLmMnKSwgbGlicHJveG1v eF9iYWNrdXBfcWVtdSkKICsKICAKICBzeXN0ZW1fc3MuYWRkKHdoZW46ICdDT05GSUdfVENHJywg aWZfdHJ1ZTogZmlsZXMoJ2Jsa3JlcGxheS5jJykpCiAgc3lzdGVtX3NzLmFkZChmaWxlcygnYmxv Y2stcmFtLXJlZ2lzdHJhci5jJykpCiBkaWZmIC0tZ2l0IGEvYmxvY2svcGJzLmMgYi9ibG9jay9w YnMuYwogbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAuLmEyMjExZTBmM2IK K2luZGV4IDAwMDAwMDAwMDAuLmRkNzIzNTZiZDMKIC0tLSAvZGV2L251bGwKICsrKyBiL2Jsb2Nr L3Bicy5jCi1AQCAtMCwwICsxLDMwNSBAQAorQEAgLTAsMCArMSwzMDcgQEAKICsvKgogKyAqIFBy b3htb3ggQmFja3VwIFNlcnZlciByZWFkLW9ubHkgYmxvY2sgZHJpdmVyCiArICovCkBAIC0yMzQs NyArMjMyLDggQEAgaW5kZXggMDAwMDAwMDAwMC4uYTIyMTFlMGYzYgogKyAgICBwcm94bW94X3Jl c3RvcmVfZGlzY29ubmVjdChzLT5jb25uKTsKICt9CiArCi0rc3RhdGljIGNvcm91dGluZV9mbiBp bnQ2NF90IHBic19jb19nZXRsZW5ndGgoQmxvY2tEcml2ZXJTdGF0ZSAqYnMpCisrc3RhdGljIGNv cm91dGluZV9mbiBpbnQ2NF90IEdSQVBIX1JETE9DSworK3Bic19jb19nZXRsZW5ndGgoQmxvY2tE cml2ZXJTdGF0ZSAqYnMpCiArewogKyAgICBCRFJWUEJTU3RhdGUgKnMgPSBicy0+b3BhcXVlOwog KyAgICByZXR1cm4gcy0+bGVuZ3RoOwpAQCAtMjUxLDkgKzI1MCw5IEBAIGluZGV4IDAwMDAwMDAw MDAuLmEyMjExZTBmM2IKICsgICAgYWlvX2NvX3NjaGVkdWxlKHJjYi0+Y3R4LCByY2ItPmNvKTsK ICt9CiArCi0rc3RhdGljIGNvcm91dGluZV9mbiBpbnQgcGJzX2NvX3ByZWFkdihCbG9ja0RyaXZl clN0YXRlICpicywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0 X3Qgb2Zmc2V0LCBpbnQ2NF90IGJ5dGVzLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUUVNVUlPVmVjdG9yICpxaW92LCBCZHJ2UmVxdWVzdEZsYWdzIGZsYWdzKQorK3N0 YXRpYyBjb3JvdXRpbmVfZm4gaW50IEdSQVBIX1JETE9DSworK3Bic19jb19wcmVhZHYoQmxvY2tE cml2ZXJTdGF0ZSAqYnMsIGludDY0X3Qgb2Zmc2V0LCBpbnQ2NF90IGJ5dGVzLAorKyAgICAgICAg ICAgICAgUUVNVUlPVmVjdG9yICpxaW92LCBCZHJ2UmVxdWVzdEZsYWdzIGZsYWdzKQogK3sKICsg ICAgQkRSVlBCU1N0YXRlICpzID0gYnMtPm9wYXF1ZTsKICsgICAgaW50IHJldDsKQEAgLTI5OCwx NiArMjk3LDE3IEBAIGluZGV4IDAwMDAwMDAwMDAuLmEyMjExZTBmM2IKICsgICAgcmV0dXJuIDA7 CiArfQogKwotK3N0YXRpYyBjb3JvdXRpbmVfZm4gaW50IHBic19jb19wd3JpdGV2KEJsb2NrRHJp dmVyU3RhdGUgKmJzLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dDY0X3Qgb2Zmc2V0LCBpbnQ2NF90IGJ5dGVzLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFFFTVVJT1ZlY3RvciAqcWlvdiwgQmRydlJlcXVlc3RGbGFncyBmbGFncykK KytzdGF0aWMgY29yb3V0aW5lX2ZuIGludCBHUkFQSF9SRExPQ0sKKytwYnNfY29fcHdyaXRldihC bG9ja0RyaXZlclN0YXRlICpicywgaW50NjRfdCBvZmZzZXQsIGludDY0X3QgYnl0ZXMsCisrICAg ICAgICAgICAgICAgUUVNVUlPVmVjdG9yICpxaW92LCBCZHJ2UmVxdWVzdEZsYWdzIGZsYWdzKQog K3sKICsgICAgZnByaW50ZihzdGRlcnIsICJwYnMtYmRydjogY2Fubm90IHdyaXRlIHRvIGJhY2t1 cCBmaWxlLCBtYWtlIHN1cmUgIgogKyAgICAgICAgICAgImFueSBhdHRhY2hlZCBkaXNrIGRldmlj ZXMgYXJlIHNldCB0byByZWFkLW9ubHkhXG4iKTsKICsgICAgcmV0dXJuIC1FUEVSTTsKICt9CiAr Ci0rc3RhdGljIHZvaWQgcGJzX3JlZnJlc2hfZmlsZW5hbWUoQmxvY2tEcml2ZXJTdGF0ZSAqYnMp Cisrc3RhdGljIHZvaWQgR1JBUEhfUkRMT0NLCisrcGJzX3JlZnJlc2hfZmlsZW5hbWUoQmxvY2tE cml2ZXJTdGF0ZSAqYnMpCiArewogKyAgICBCRFJWUEJTU3RhdGUgKnMgPSBicy0+b3BhcXVlOwog KyAgICBpZiAocy0+bmFtZXNwYWNlKSB7CkBAIC0zNDgsNTIgKzM0OCwxMSBAQCBpbmRleCAwMDAw MDAwMDAwLi5hMjIxMWUwZjNiCiArfQogKwogK2Jsb2NrX2luaXQoYmRydl9wYnNfaW5pdCk7Ci1k aWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCi1pbmRleCAxMzNmNGUzMjM1Li5mNWE4 MzBjMWYzIDEwMDc1NQotLS0tIGEvY29uZmlndXJlCi0rKysgYi9jb25maWd1cmUKLUBAIC0yNTYs NiArMjU2LDcgQEAgcWVtdV9zdWZmaXg9InFlbXUiCi0gc29mdG1tdT0ieWVzIgotIGxpbnV4X3Vz ZXI9IiIKLSBic2RfdXNlcj0iIgotK3Bic19iZHJ2PSJ5ZXMiCi0gcGx1Z2lucz0iJGRlZmF1bHRf ZmVhdHVyZSIKLSBuaW5qYT0iIgotIHB5dGhvbj0KLUBAIC04MDksNiArODEwLDEwIEBAIGZvciBv cHQgZG8KLSAgIDs7Ci0gICAtLWVuYWJsZS1kb3dubG9hZCkgZG93bmxvYWQ9ImVuYWJsZWQiOyBn aXRfc3VibW9kdWxlc19hY3Rpb249dXBkYXRlOwotICAgOzsKLSsgIC0tZGlzYWJsZS1wYnMtYmRy dikgcGJzX2JkcnY9Im5vIgotKyAgOzsKLSsgIC0tZW5hYmxlLXBicy1iZHJ2KSBwYnNfYmRydj0i eWVzIgotKyAgOzsKLSAgIC0tZW5hYmxlLXBsdWdpbnMpIGlmIHRlc3QgIiRtaW5ndzMyIiA9ICJ5 ZXMiOyB0aGVuCi0gICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfZXhpdCAiVENHIHBsdWdp bnMgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgb24gV2luZG93cyBwbGF0Zm9ybXMiCi0gICAgICAg ICAgICAgICAgICAgICBlbHNlCi1AQCAtOTU5LDYgKzk2NCw3IEBAIGNhdCA8PCBFT0YKLSAgIGJz ZC11c2VyICAgICAgICBhbGwgQlNEIHVzZXJtb2RlIGVtdWxhdGlvbiB0YXJnZXRzCi0gICBwaWUg ICAgICAgICAgICAgUG9zaXRpb24gSW5kZXBlbmRlbnQgRXhlY3V0YWJsZXMKLSAgIGRlYnVnLXRj ZyAgICAgICBUQ0cgZGVidWdnaW5nIChkZWZhdWx0IGlzIGRpc2FibGVkKQotKyAgcGJzLWJkcnYg ICAgICAgIFByb3htb3ggYmFja3VwIHNlcnZlciByZWFkLW9ubHkgYmxvY2sgZHJpdmVyIHN1cHBv cnQKLSAKLSBOT1RFOiBUaGUgb2JqZWN0IGZpbGVzIGFyZSBidWlsdCBhdCB0aGUgcGxhY2Ugd2hl cmUgY29uZmlndXJlIGlzIGxhdW5jaGVkCi0gRU9GCi1AQCAtMTc0NCw2ICsxNzUwLDkgQEAgaWYg dGVzdCAiJHNvbGFyaXMiID0gInllcyIgOyB0aGVuCi0gZmkKLSBlY2hvICJTUkNfUEFUSD0kc291 cmNlX3BhdGgiID4+ICRjb25maWdfaG9zdF9tYWsKLSBlY2hvICJUQVJHRVRfRElSUz0kdGFyZ2V0 X2xpc3QiID4+ICRjb25maWdfaG9zdF9tYWsKLStpZiB0ZXN0ICIkcGJzX2JkcnYiID0gInllcyIg OyB0aGVuCi0rICBlY2hvICJDT05GSUdfUEJTX0JEUlY9eSIgPj4gJGNvbmZpZ19ob3N0X21hawot K2ZpCi0gCi0gIyBYWFg6IHN1cHByZXNzIHRoYXQKLSBpZiBbICIkYnNkIiA9ICJ5ZXMiIF0gOyB0 aGVuCiBkaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAotaW5kZXggYzMzMzAz MTBkOS4uY2JmYzlhNDNmYiAxMDA2NDQKK2luZGV4IGM3MGYyYTQ5MzcuLjE4YzNhMzEyZWIgMTAw NjQ0CiAtLS0gYS9tZXNvbi5idWlsZAogKysrIGIvbWVzb24uYnVpbGQKLUBAIC00MzE5LDcgKzQz MTksNyBAQCBzdW1tYXJ5X2luZm8gKz0geydiemlwMiBzdXBwb3J0JzogICAgIGxpYmJ6aXAyfQor QEAgLTQzOTAsNyArNDM5MCw3IEBAIHN1bW1hcnlfaW5mbyArPSB7J2J6aXAyIHN1cHBvcnQnOiAg ICAgbGliYnppcDJ9CiAgc3VtbWFyeV9pbmZvICs9IHsnbHpmc2Ugc3VwcG9ydCc6ICAgICBsaWJs emZzZX0KICBzdW1tYXJ5X2luZm8gKz0geyd6c3RkIHN1cHBvcnQnOiAgICAgIHpzdGR9CiAgc3Vt bWFyeV9pbmZvICs9IHsnTlVNQSBob3N0IHN1cHBvcnQnOiBudW1hfQpAQCAtNDAzLDEwICszNjIs MTAgQEAgaW5kZXggYzMzMzAzMTBkOS4uY2JmYzlhNDNmYiAxMDA2NDQKICBzdW1tYXJ5X2luZm8g Kz0geydsaWJkYXhjdGwgc3VwcG9ydCc6IGxpYmRheGN0bH0KICBzdW1tYXJ5X2luZm8gKz0geyds aWJ1ZGV2JzogICAgICAgICAgIGxpYnVkZXZ9CiBkaWZmIC0tZ2l0IGEvcWFwaS9ibG9jay1jb3Jl Lmpzb24gYi9xYXBpL2Jsb2NrLWNvcmUuanNvbgotaW5kZXggMWI4NDYyYTUxYi4uZDY3YTZkNDQ4 YSAxMDA2NDQKK2luZGV4IGMxNTVkNzQyMzAuLmE0MDUwMjY4Y2EgMTAwNjQ0CiAtLS0gYS9xYXBp L2Jsb2NrLWNvcmUuanNvbgogKysrIGIvcWFwaS9ibG9jay1jb3JlLmpzb24KLUBAIC0zMzk2LDYg KzMzOTYsNyBAQAorQEAgLTM0NTEsNiArMzQ1MSw3IEBACiAgICAgICAgICAgICAgJ3BhcmFsbGVs cycsICdwcmVhbGxvY2F0ZScsICdxY293JywgJ3Fjb3cyJywgJ3FlZCcsICdxdW9ydW0nLAogICAg ICAgICAgICAgICdyYXcnLCAncmJkJywKICAgICAgICAgICAgICB7ICduYW1lJzogJ3JlcGxpY2F0 aW9uJywgJ2lmJzogJ0NPTkZJR19SRVBMSUNBVElPTicgfSwKQEAgLTQxNCw3ICszNzMsNyBAQCBp bmRleCAxYjg0NjJhNTFiLi5kNjdhNmQ0NDhhIDEwMDY0NAogICAgICAgICAgICAgICdzc2gnLCAn dGhyb3R0bGUnLCAndmRpJywgJ3ZoZHgnLAogICAgICAgICAgICAgIHsgJ25hbWUnOiAndmlydGlv LWJsay12ZmlvLXBjaScsICdpZic6ICdDT05GSUdfQkxLSU8nIH0sCiAgICAgICAgICAgICAgeyAn bmFtZSc6ICd2aXJ0aW8tYmxrLXZob3N0LXVzZXInLCAnaWYnOiAnQ09ORklHX0JMS0lPJyB9LAot QEAgLTM0ODIsNiArMzQ4MywxNyBAQAorQEAgLTM1MzcsNiArMzUzOCwxNyBAQAogIHsgJ3N0cnVj dCc6ICdCbG9ja2Rldk9wdGlvbnNOdWxsJywKICAgICdkYXRhJzogeyAnKnNpemUnOiAnaW50Jywg JypsYXRlbmN5LW5zJzogJ3VpbnQ2NCcsICcqcmVhZC16ZXJvZXMnOiAnYm9vbCcgfSB9CiAgCkBA IC00MzIsNyArMzkxLDcgQEAgaW5kZXggMWI4NDYyYTUxYi4uZDY3YTZkNDQ4YSAxMDA2NDQKICAj IwogICMgQEJsb2NrZGV2T3B0aW9uc05WTWU6CiAgIwotQEAgLTQ4OTAsNiArNDkwMiw3IEBACitA QCAtNDk0NSw2ICs0OTU3LDcgQEAKICAgICAgICAnbmZzJzogICAgICAgICdCbG9ja2Rldk9wdGlv bnNOZnMnLAogICAgICAgICdudWxsLWFpbyc6ICAgJ0Jsb2NrZGV2T3B0aW9uc051bGwnLAogICAg ICAgICdudWxsLWNvJzogICAgJ0Jsb2NrZGV2T3B0aW9uc051bGwnLApAQCAtNDQxLDcgKzQwMCw3 IEBAIGluZGV4IDFiODQ2MmE1MWIuLmQ2N2E2ZDQ0OGEgMTAwNjQ0CiAgICAgICAgJ252bWUtaW9f dXJpbmcnOiB7ICd0eXBlJzogJ0Jsb2NrZGV2T3B0aW9uc052bWVJb1VyaW5nJywKICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ2lmJzogJ0NPTkZJR19CTEtJTycgfSwKIGRpZmYgLS1naXQgYS9x YXBpL3ByYWdtYS5qc29uIGIvcWFwaS9wcmFnbWEuanNvbgotaW5kZXggMzI1ZTY4NDQxMS4uYjYw NzlmNmEwZSAxMDA2NDQKK2luZGV4IGVhZTlmNTQ3MDAuLjAzNDY3OTgzYjMgMTAwNjQ0CiAtLS0g YS9xYXBpL3ByYWdtYS5qc29uCiArKysgYi9xYXBpL3ByYWdtYS5qc29uCiBAQCAtNDUsNiArNDUs NyBAQApkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMzMtUFZFLXJlZGlyZWN0LXN0 ZGVyci10by1qb3VybmFsLXdoZW4tZGFlbW9uaXplZC5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2 ZS8wMDMzLVBWRS1yZWRpcmVjdC1zdGRlcnItdG8tam91cm5hbC13aGVuLWRhZW1vbml6ZWQucGF0 Y2gKaW5kZXggMjRlYzc2MS4uNDc1YzQ5ZSAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZl LzAwMzMtUFZFLXJlZGlyZWN0LXN0ZGVyci10by1qb3VybmFsLXdoZW4tZGFlbW9uaXplZC5wYXRj aAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzMy1QVkUtcmVkaXJlY3Qtc3RkZXJyLXRvLWpv dXJuYWwtd2hlbi1kYWVtb25pemVkLnBhdGNoCkBAIC0xNCwxMCArMTQsMTAgQEAgU2lnbmVkLW9m Zi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+CiAgMiBmaWxl cyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQg YS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCi1pbmRleCBjYmZjOWE0M2ZiLi44MjA2MjcwMjcy IDEwMDY0NAoraW5kZXggMThjM2EzMTJlYi4uYjU5OGEwNDUwYiAxMDA2NDQKIC0tLSBhL21lc29u LmJ1aWxkCiArKysgYi9tZXNvbi5idWlsZAotQEAgLTE3NzksNiArMTc3OSw3IEBAIGVuZGlmCitA QCAtMTgwMyw2ICsxODAzLDcgQEAgZW5kaWYKICBoYXNfZ2V0dGlkID0gY2MuaGFzX2Z1bmN0aW9u KCdnZXR0aWQnKQogIAogIGxpYnV1aWQgPSBjYy5maW5kX2xpYnJhcnkoJ3V1aWQnLCByZXF1aXJl ZDogdHJ1ZSkKQEAgLTI1LDcgKzI1LDcgQEAgaW5kZXggY2JmYzlhNDNmYi4uODIwNjI3MDI3MiAx MDA2NDQKICBsaWJwcm94bW94X2JhY2t1cF9xZW11ID0gY2MuZmluZF9saWJyYXJ5KCdwcm94bW94 X2JhY2t1cF9xZW11JywgcmVxdWlyZWQ6IHRydWUpCiAgCiAgIyBsaWJzZWxpbnV4Ci1AQCAtMzQw Niw2ICszNDA3LDcgQEAgaWYgaGF2ZV9ibG9jaworQEAgLTM0NjgsNiArMzQ2OSw3IEBAIGlmIGhh dmVfYmxvY2sKICAgICMgb3MtcG9zaXguYyBjb250YWlucyBQT1NJWC1zcGVjaWZpYyBmdW5jdGlv bnMgdXNlZCBieSBxZW11LXN0b3JhZ2UtZGFlbW9uLAogICAgIyBvcy13aW4zMi5jIGRvZXMgbm90 CiAgICBibG9ja2Rldl9zcy5hZGQod2hlbjogJ0NPTkZJR19QT1NJWCcsIGlmX3RydWU6IGZpbGVz KCdvcy1wb3NpeC5jJykpCkBAIC0zNCw3ICszNCw3IEBAIGluZGV4IGNiZmM5YTQzZmIuLjgyMDYy NzAyNzIgMTAwNjQ0CiAgZW5kaWYKICAKIGRpZmYgLS1naXQgYS9vcy1wb3NpeC5jIGIvb3MtcG9z aXguYwotaW5kZXggMGNjMWQ5OTFiMS4uZjMzZDk5MDFjZiAxMDA2NDQKK2luZGV4IGE0Mjg0ZTJj MDcuLjE5N2EyMTIwZmQgMTAwNjQ0CiAtLS0gYS9vcy1wb3NpeC5jCiArKysgYi9vcy1wb3NpeC5j CiBAQCAtMjksNiArMjksOCBAQApAQCAtNDQsOSArNDQsOSBAQCBpbmRleCAwY2MxZDk5MWIxLi5m MzNkOTkwMWNmIDEwMDY0NAogKyNpbmNsdWRlIDxzeXN0ZW1kL3NkLWpvdXJuYWwuaD4KICsjaW5j bHVkZSA8c3lzbG9nLmg+CiAgCi0gLyogTmVlZGVkIGVhcmx5IGZvciBDT05GSUdfQlNEIGV0Yy4g Ki8KLSAjaW5jbHVkZSAibmV0L3NsaXJwLmgiCi1AQCAtMzMyLDkgKzMzNCwxMCBAQCB2b2lkIG9z X3NldHVwX3Bvc3Qodm9pZCkKKyAjaW5jbHVkZSAicWVtdS9lcnJvci1yZXBvcnQuaCIKKyAjaW5j bHVkZSAicWVtdS9sb2cuaCIKK0BAIC0zMDIsOSArMzA0LDEwIEBAIHZvaWQgb3Nfc2V0dXBfcG9z dCh2b2lkKQogIAogICAgICAgICAgZHVwMihmZCwgMCk7CiAgICAgICAgICBkdXAyKGZkLCAxKTsK ZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDM0LVBWRS1NaWdyYXRlLWRpcnR5LWJp dG1hcC1zdGF0ZS12aWEtc2F2ZXZtLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMzQtUFZF LU1pZ3JhdGUtZGlydHktYml0bWFwLXN0YXRlLXZpYS1zYXZldm0ucGF0Y2gKaW5kZXggMTAxNWRi My4uZjYxNDY1YiAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMzQtUFZFLU1pZ3Jh dGUtZGlydHktYml0bWFwLXN0YXRlLXZpYS1zYXZldm0ucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNo ZXMvcHZlLzAwMzQtUFZFLU1pZ3JhdGUtZGlydHktYml0bWFwLXN0YXRlLXZpYS1zYXZldm0ucGF0 Y2gKQEAgLTI2LDEwICsyNiwxMCBAQCBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5l ckBwcm94bW94LmNvbT4KICBjcmVhdGUgbW9kZSAxMDA2NDQgbWlncmF0aW9uL3Bicy1zdGF0ZS5j CiAKIGRpZmYgLS1naXQgYS9pbmNsdWRlL21pZ3JhdGlvbi9taXNjLmggYi9pbmNsdWRlL21pZ3Jh dGlvbi9taXNjLmgKLWluZGV4IDdkY2MwYjVjMmMuLjRjOTQwYjI0NzUgMTAwNjQ0CitpbmRleCAx YmM4OTAyZTZkLi40M2ViMGU0NmQ2IDEwMDY0NAogLS0tIGEvaW5jbHVkZS9taWdyYXRpb24vbWlz Yy5oCiArKysgYi9pbmNsdWRlL21pZ3JhdGlvbi9taXNjLmgKLUBAIC03Nyw0ICs3Nyw3IEBAIGJv b2wgbWlncmF0aW9uX2luX2JnX3NuYXBzaG90KHZvaWQpOworQEAgLTgwLDQgKzgwLDcgQEAgYm9v bCBtaWdyYXRpb25faW5fYmdfc25hcHNob3Qodm9pZCk7CiAgLyogbWlncmF0aW9uL2Jsb2NrLWRp cnR5LWJpdG1hcC5jICovCiAgdm9pZCBkaXJ0eV9iaXRtYXBfbWlnX2luaXQodm9pZCk7CiAgCkBA IC0zOCw3ICszOCw3IEBAIGluZGV4IDdkY2MwYjVjMmMuLjRjOTQwYjI0NzUgMTAwNjQ0CiArCiAg I2VuZGlmCiBkaWZmIC0tZ2l0IGEvbWlncmF0aW9uL21lc29uLmJ1aWxkIGIvbWlncmF0aW9uL21l c29uLmJ1aWxkCi1pbmRleCAwN2Y2MDU3YWNjLi4zNDM5OTRkODkxIDEwMDY0NAoraW5kZXggOGY5 ZDEyMjE4Ny4uMmI5ZDJjYzg4MSAxMDA2NDQKIC0tLSBhL21pZ3JhdGlvbi9tZXNvbi5idWlsZAog KysrIGIvbWlncmF0aW9uL21lc29uLmJ1aWxkCiBAQCAtNyw3ICs3LDkgQEAgbWlncmF0aW9uX2Zp bGVzID0gZmlsZXMoCkBAIC01MiwxMCArNTIsMTAgQEAgaW5kZXggMDdmNjA1N2FjYy4uMzQzOTk0 ZDg5MSAxMDA2NDQKICBzeXN0ZW1fc3MuYWRkKGZpbGVzKAogICAgJ2Jsb2NrLWRpcnR5LWJpdG1h cC5jJywKIGRpZmYgLS1naXQgYS9taWdyYXRpb24vbWlncmF0aW9uLmMgYi9taWdyYXRpb24vbWln cmF0aW9uLmMKLWluZGV4IDdhNGM4YmViNWQuLjBhOTU1YTJhMTggMTAwNjQ0CitpbmRleCA5ODJh Yjg1ZjA0Li5iODQ5MjQ0NDJkIDEwMDY0NAogLS0tIGEvbWlncmF0aW9uL21pZ3JhdGlvbi5jCiAr KysgYi9taWdyYXRpb24vbWlncmF0aW9uLmMKLUBAIC0xNjIsNiArMTYyLDcgQEAgdm9pZCBtaWdy YXRpb25fb2JqZWN0X2luaXQodm9pZCkKK0BAIC0yMDIsNiArMjAyLDcgQEAgdm9pZCBtaWdyYXRp b25fb2JqZWN0X2luaXQodm9pZCkKICAgICAgYmxrX21pZ19pbml0KCk7CiAgICAgIHJhbV9taWdf aW5pdCgpOwogICAgICBkaXJ0eV9iaXRtYXBfbWlnX2luaXQoKTsKQEAgLTE3NCwxMCArMTc0LDEw IEBAIGluZGV4IDAwMDAwMDAwMDAuLjg4N2U5OThiOWUKICsgICAgICAgICAgICAgICAgICAgICAg ICAgTlVMTCk7CiArfQogZGlmZiAtLWdpdCBhL3B2ZS1iYWNrdXAuYyBiL3B2ZS1iYWNrdXAuYwot aW5kZXggYWUzZDEzN2UxMi4uZTZiMTdiNzk3ZSAxMDA2NDQKK2luZGV4IDkwM2FmY2Q3ZTkuLjc3 N2RiNzkzOGUgMTAwNjQ0CiAtLS0gYS9wdmUtYmFja3VwLmMKICsrKyBiL3B2ZS1iYWNrdXAuYwot QEAgLTEwODIsNiArMTA4Miw3IEBAIFByb3htb3hTdXBwb3J0U3RhdHVzICpxbXBfcXVlcnlfcHJv eG1veF9zdXBwb3J0KEVycm9yICoqZXJycCkKK0BAIC0xMDk2LDYgKzEwOTYsNyBAQCBQcm94bW94 U3VwcG9ydFN0YXR1cyAqcW1wX3F1ZXJ5X3Byb3htb3hfc3VwcG9ydChFcnJvciAqKmVycnApCiAg ICAgIHJldC0+cGJzX2xpYnJhcnlfdmVyc2lvbiA9IGdfc3RyZHVwKHByb3htb3hfYmFja3VwX3Fl bXVfdmVyc2lvbigpKTsKICAgICAgcmV0LT5wYnNfZGlydHlfYml0bWFwID0gdHJ1ZTsKICAgICAg cmV0LT5wYnNfZGlydHlfYml0bWFwX3NhdmV2bSA9IHRydWU7CkBAIC0xODYsMTAgKzE4NiwxMCBA QCBpbmRleCBhZTNkMTM3ZTEyLi5lNmIxN2I3OTdlIDEwMDY0NAogICAgICByZXQtPnBic19tYXN0 ZXJrZXkgPSB0cnVlOwogICAgICByZXQtPmJhY2t1cF9tYXhfd29ya2VycyA9IHRydWU7CiBkaWZm IC0tZ2l0IGEvcWFwaS9ibG9jay1jb3JlLmpzb24gYi9xYXBpL2Jsb2NrLWNvcmUuanNvbgotaW5k ZXggZDY3YTZkNDQ4YS4uMDlkZTU1MGM5NSAxMDA2NDQKK2luZGV4IGE0MDUwMjY4Y2EuLjdiOTc3 NDU5ZmEgMTAwNjQ0CiAtLS0gYS9xYXBpL2Jsb2NrLWNvcmUuanNvbgogKysrIGIvcWFwaS9ibG9j ay1jb3JlLmpzb24KLUBAIC05OTEsNiArOTkxLDExIEBACitAQCAtOTkzLDYgKzk5MywxMSBAQAog ICMgQHBicy1kaXJ0eS1iaXRtYXAtc2F2ZXZtOiBUcnVlIGlmICdkaXJ0eS1iaXRtYXBzJyBtaWdy YXRpb24gY2FwYWJpbGl0eSBjYW4KICAjICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FmZWx5 IGJlIHNldCBmb3Igc2F2ZXZtLWFzeW5jLgogICMKQEAgLTIwMSw3ICsyMDEsNyBAQCBpbmRleCBk NjdhNmQ0NDhhLi4wOWRlNTUwYzk1IDEwMDY0NAogICMgQHBicy1tYXN0ZXJrZXk6IFRydWUgaWYg dGhlIFFNUCBiYWNrdXAgY2FsbCBzdXBwb3J0cyB0aGUgJ21hc3Rlcl9rZXlmaWxlJwogICMgICAg ICAgICAgICAgICAgIHBhcmFtZXRlci4KICAjCi1AQCAtMTAwMSw2ICsxMDA2LDcgQEAKK0BAIC0x MDAzLDYgKzEwMDgsNyBAQAogICAgJ2RhdGEnOiB7ICdwYnMtZGlydHktYml0bWFwJzogJ2Jvb2wn LAogICAgICAgICAgICAgICdxdWVyeS1iaXRtYXAtaW5mbyc6ICdib29sJywKICAgICAgICAgICAg ICAncGJzLWRpcnR5LWJpdG1hcC1zYXZldm0nOiAnYm9vbCcsCmRpZmYgLS1naXQgYS9kZWJpYW4v cGF0Y2hlcy9wdmUvMDAzNS1taWdyYXRpb24tYmxvY2stZGlydHktYml0bWFwLW1pZ3JhdGUtb3Ro ZXItYml0bWFwcy1lLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMzUtbWlncmF0aW9uLWJs b2NrLWRpcnR5LWJpdG1hcC1taWdyYXRlLW90aGVyLWJpdG1hcHMtZS5wYXRjaAppbmRleCA3NWY1 YzI4Li44Zjk4ZDZkIDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzNS1taWdyYXRp b24tYmxvY2stZGlydHktYml0bWFwLW1pZ3JhdGUtb3RoZXItYml0bWFwcy1lLnBhdGNoCisrKyBi L2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDM1LW1pZ3JhdGlvbi1ibG9jay1kaXJ0eS1iaXRtYXAtbWln cmF0ZS1vdGhlci1iaXRtYXBzLWUucGF0Y2gKQEAgLTE5LDcgKzE5LDcgQEAgU2lnbmVkLW9mZi1i eTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+CiAgMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9taWdy YXRpb24vYmxvY2stZGlydHktYml0bWFwLmMgYi9taWdyYXRpb24vYmxvY2stZGlydHktYml0bWFw LmMKLWluZGV4IGUxYWUzYjczMTYuLjI4NWRkMWQxNDggMTAwNjQ0CitpbmRleCAwMDcwYjEzYjZm Li45NTRiZTYyMWJhIDEwMDY0NAogLS0tIGEvbWlncmF0aW9uL2Jsb2NrLWRpcnR5LWJpdG1hcC5j CiArKysgYi9taWdyYXRpb24vYmxvY2stZGlydHktYml0bWFwLmMKIEBAIC01NDAsNyArNTQwLDcg QEAgc3RhdGljIGludCBhZGRfYml0bWFwc190b19saXN0KERCTVNhdmVTdGF0ZSAqcywgQmxvY2tE cml2ZXJTdGF0ZSAqYnMsCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzNi1QVkUt ZmFsbC1iYWNrLXRvLW9wZW4taXNjc2ktaW5pdGlhdG9ybmFtZS5wYXRjaCBiL2RlYmlhbi9wYXRj aGVzL3B2ZS8wMDM2LVBWRS1mYWxsLWJhY2stdG8tb3Blbi1pc2NzaS1pbml0aWF0b3JuYW1lLnBh dGNoCmluZGV4IGY5ZmVlMTQuLmM3OGJjMDMgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2 ZS8wMDM2LVBWRS1mYWxsLWJhY2stdG8tb3Blbi1pc2NzaS1pbml0aWF0b3JuYW1lLnBhdGNoCisr KyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDM2LVBWRS1mYWxsLWJhY2stdG8tb3Blbi1pc2NzaS1p bml0aWF0b3JuYW1lLnBhdGNoCkBAIC0yMSwxMCArMjEsMTAgQEAgU2lnbmVkLW9mZi1ieTogVGhv bWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+CiAgMSBmaWxlIGNoYW5nZWQs IDMwIGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL2Jsb2NrL2lzY3NpLmMgYi9ibG9jay9p c2NzaS5jCi1pbmRleCAzNGY5N2FiNjQ2Li4zOTg3ODI5NjNkIDEwMDY0NAoraW5kZXggMmZmMTRi NzQ3Mi4uNDZmMjc1ZmJmNyAxMDA2NDQKIC0tLSBhL2Jsb2NrL2lzY3NpLmMKICsrKyBiL2Jsb2Nr L2lzY3NpLmMKLUBAIC0xMzkxLDEyICsxMzkxLDQyIEBAIHN0YXRpYyBjaGFyICpnZXRfaW5pdGlh dG9yX25hbWUoUWVtdU9wdHMgKm9wdHMpCitAQCAtMTM5MiwxMiArMTM5Miw0MiBAQCBzdGF0aWMg Y2hhciAqZ2V0X2luaXRpYXRvcl9uYW1lKFFlbXVPcHRzICpvcHRzKQogICAgICBjb25zdCBjaGFy ICpuYW1lOwogICAgICBjaGFyICppc2NzaV9uYW1lOwogICAgICBVdWlkSW5mbyAqdXVpZF9pbmZv OwpkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMzctUFZFLWJsb2NrLXN0cmVhbS1p bmNyZWFzZS1jaHVuay1zaXplLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMzctUFZFLWJs b2NrLXN0cmVhbS1pbmNyZWFzZS1jaHVuay1zaXplLnBhdGNoCmluZGV4IDI4ZGQ4ZDEuLjM4ODA3 ZjggMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDM3LVBWRS1ibG9jay1zdHJlYW0t aW5jcmVhc2UtY2h1bmstc2l6ZS5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzNy1Q VkUtYmxvY2stc3RyZWFtLWluY3JlYXNlLWNodW5rLXNpemUucGF0Y2gKQEAgLTExLDcgKzExLDcg QEAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5j b20+CiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRp ZmYgLS1naXQgYS9ibG9jay9zdHJlYW0uYyBiL2Jsb2NrL3N0cmVhbS5jCi1pbmRleCBlNTIyYmJk ZWM1Li5hZmVkNzJkYjU1IDEwMDY0NAoraW5kZXggMDFmZTdjMGYxNi4uODdhOTdjYjhhMiAxMDA2 NDQKIC0tLSBhL2Jsb2NrL3N0cmVhbS5jCiArKysgYi9ibG9jay9zdHJlYW0uYwogQEAgLTI3LDcg KzI3LDcgQEAgZW51bSB7CmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzOC1ibG9j ay1pby1hY2NlcHQtTlVMTC1xaW92LWluLWJkcnZfcGFkX3JlcXVlc3QucGF0Y2ggYi9kZWJpYW4v cGF0Y2hlcy9wdmUvMDAzOC1ibG9jay1pby1hY2NlcHQtTlVMTC1xaW92LWluLWJkcnZfcGFkX3Jl cXVlc3QucGF0Y2gKaW5kZXggYmI5YjcyYy4uNjExYTQ0NCAxMDA2NDQKLS0tIGEvZGViaWFuL3Bh dGNoZXMvcHZlLzAwMzgtYmxvY2staW8tYWNjZXB0LU5VTEwtcWlvdi1pbi1iZHJ2X3BhZF9yZXF1 ZXN0LnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDM4LWJsb2NrLWlvLWFjY2VwdC1O VUxMLXFpb3YtaW4tYmRydl9wYWRfcmVxdWVzdC5wYXRjaApAQCAtMjAsMTAgKzIwLDEwIEBAIFNp Z25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgogIDEgZmlsZSBj aGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBh L2Jsb2NrL2lvLmMgYi9ibG9jay9pby5jCi1pbmRleCA4M2QxYjFkZmRjLi5lOTI3ODgxZTQwIDEw MDY0NAoraW5kZXggZDIwMjk4Nzc3MC4uZDQyYzgxMWJkNyAxMDA2NDQKIC0tLSBhL2Jsb2NrL2lv LmMKICsrKyBiL2Jsb2NrL2lvLmMKLUBAIC0xNzIzLDIyICsxNzIzLDI1IEBAIHN0YXRpYyBpbnQg YmRydl9wYWRfcmVxdWVzdChCbG9ja0RyaXZlclN0YXRlICpicywKK0BAIC0xNzU2LDIyICsxNzU2 LDI1IEBAIHN0YXRpYyBpbnQgYmRydl9wYWRfcmVxdWVzdChCbG9ja0RyaXZlclN0YXRlICpicywK ICAgICAgICAgIHJldHVybiAwOwogICAgICB9CiAgCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hl cy9wdmUvMDAzOS1ibG9jay1hZGQtYWxsb2MtdHJhY2stZHJpdmVyLnBhdGNoIGIvZGViaWFuL3Bh dGNoZXMvcHZlLzAwMzktYmxvY2stYWRkLWFsbG9jLXRyYWNrLWRyaXZlci5wYXRjaAppbmRleCBl YTVmMTA1Li5kOGRhYzg4IDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzOS1ibG9j ay1hZGQtYWxsb2MtdHJhY2stZHJpdmVyLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8w MDM5LWJsb2NrLWFkZC1hbGxvYy10cmFjay1kcml2ZXIucGF0Y2gKQEAgLTE5LDI3ICsxOSwzMyBA QCB3ZWxsLgogVGhpcyBvbmx5IHdvcmtlZCBpZiB0aGUgdGFyZ2V0IHN1cHBvcnRzIGJhY2tpbmcg aW1hZ2VzLCBzbyB1cCB1bnRpbCBub3cKIG9ubHkgZm9yIHFjb3cyLCB3aXRoIGFsbG9jLXRyYWNr IGFueSBkcml2ZXIgZm9yIHRoZSB0YXJnZXQgY2FuIGJlIHVzZWQuCiAKLUlmICdhdXRvLXJlbW92 ZScgaXMgc2V0LCBhbGxvYy10cmFjayB3aWxsIGF1dG9tYXRpY2FsbHkgZGV0YWNoIGl0c2VsZgot b25jZSB0aGUgYmFja2luZyBpbWFnZSBpcyByZW1vdmVkLiBJdCB3aWxsIGJlIHJlcGxhY2VkIGJ5 ICdmaWxlJy4KK1JlcGxhY2luZyB0aGUgbm9kZSBjYW5ub3QgYmUgZG9uZSBpbiB0aGUKK3RyYWNr X2NvX2NoYW5nZV9iYWNraW5nX2ZpbGUoKSBjYWxsYmFjaywgYmVjYXVzZSByZXBsYWNpbmcgYSBu b2RlCitjYW5ub3QgaGFwcGVuIGluIGEgY29yb3V0aW5lIGFuZCByZXF1aXJlcyB0aGUgYmxvY2sg Z3JhcGggbG9jaworZXhjbHVzaXZlbHkuIENvdWxkIGVpdGhlciBiZWNvbWUgYSBzcGVjaWFsIG9w dGlvbiBmb3IgdGhlIHN0cmVhbSBqb2IsCitvciBtYXliZSB0aGUgdXBjb21pbmcgYmxvY2tkZXYt cmVwbGFjZSBRTVAgY29tbWFuZCBjYW4gYmUgdXNlZCBpbiB0aGUKK2Z1dHVyZS4KIAogU2lnbmVk LW9mZi1ieTogU3RlZmFuIFJlaXRlciA8cy5yZWl0ZXJAcHJveG1veC5jb20+CiBTaWduZWQtb2Zm LWJ5OiBUaG9tYXMgTGFtcHJlY2h0IDx0LmxhbXByZWNodEBwcm94bW94LmNvbT4KIFtGRTogYWRh cHQgdG8gY2hhbmdlZCBmdW5jdGlvbiBzaWduYXR1cmVzCiAgICAgIG1ha2UgZXJyb3IgcmV0dXJu IHZhbHVlIGNvbnNpc3RlbnQgd2l0aCBRRU1VCi0gICAgIGF2b2lkIHByZW1hdHVyZSBicmVhayBk dXJpbmcgcmVhZF0KKyAgICAgYXZvaWQgcHJlbWF0dXJlIGJyZWFrIGR1cmluZyByZWFkCisgICAg IGFkaGVyZSB0byBibG9jayBncmFwaCBsb2NrIHJlcXVpcmVtZW50c10KIFNpZ25lZC1vZmYtYnk6 IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgogLS0tCi0gYmxvY2svYWxsb2MtdHJh Y2suYyB8IDM1MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwor IGJsb2NrL2FsbG9jLXRyYWNrLmMgfCAzNjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKICBibG9jay9tZXNvbi5idWlsZCAgIHwgICAxICsKLSAyIGZpbGVzIGNo YW5nZWQsIDM1MyBpbnNlcnRpb25zKCspCisgYmxvY2svc3RyZWFtLmMgICAgICB8ICAzNCArKysr CisgMyBmaWxlcyBjaGFuZ2VkLCA0MDEgaW5zZXJ0aW9ucygrKQogIGNyZWF0ZSBtb2RlIDEwMDY0 NCBibG9jay9hbGxvYy10cmFjay5jCiAKIGRpZmYgLS1naXQgYS9ibG9jay9hbGxvYy10cmFjay5j IGIvYmxvY2svYWxsb2MtdHJhY2suYwogbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAw MDAwMDAuLmI3NWQ3YzY0NjAKK2luZGV4IDAwMDAwMDAwMDAuLjE0Njk4YzM2MmUKIC0tLSAvZGV2 L251bGwKICsrKyBiL2Jsb2NrL2FsbG9jLXRyYWNrLmMKLUBAIC0wLDAgKzEsMzUyIEBACitAQCAt MCwwICsxLDM2NiBAQAogKy8qCiArICogTm9kZSB0byBhbGxvdyBiYWNraW5nIGltYWdlcyB0byBi ZSBhcHBsaWVkIHRvIGFueSBub2RlLiBBc3N1bWVzIGEgYmxhbmsKICsgKiBpbWFnZSB0byBiZWdp biB3aXRoLCBvbmx5IG5ldyB3cml0ZXMgYXJlIHRyYWNrZWQgYXMgYWxsb2NhdGVkLCB0aHVzIHRo aXMKQEAgLTU2LDkgKzYyLDExIEBAIGluZGV4IDAwMDAwMDAwMDAuLmI3NWQ3YzY0NjAKICsjaW5j bHVkZSAicWFwaS9lcnJvci5oIgogKyNpbmNsdWRlICJibG9jay9ibG9ja19pbnQuaCIKICsjaW5j bHVkZSAiYmxvY2svZGlydHktYml0bWFwLmgiCisrI2luY2x1ZGUgImJsb2NrL2dyYXBoLWxvY2su aCIKICsjaW5jbHVkZSAicWFwaS9xbXAvcWRpY3QuaCIKICsjaW5jbHVkZSAicWFwaS9xbXAvcXN0 cmluZy5oIgogKyNpbmNsdWRlICJxZW11L2N1dGlscy5oIgorKyNpbmNsdWRlICJxZW11L2Vycm9y LXJlcG9ydC5oIgogKyNpbmNsdWRlICJxZW11L29wdGlvbi5oIgogKyNpbmNsdWRlICJxZW11L21v ZHVsZS5oIgogKyNpbmNsdWRlICJzeXNlbXUvYmxvY2stYmFja2VuZC5oIgpAQCAtNjcsMTIgKzc1 LDEyIEBAIGluZGV4IDAwMDAwMDAwMDAuLmI3NWQ3YzY0NjAKICsKICt0eXBlZGVmIGVudW0gRHJv cFN0YXRlIHsKICsgICAgRHJvcE5vbmUsCi0rICAgIERyb3BSZXF1ZXN0ZWQsCiArICAgIERyb3BJ blByb2dyZXNzLAogK30gRHJvcFN0YXRlOwogKwogK3R5cGVkZWYgc3RydWN0IHsKICsgICAgQmRy dkRpcnR5Qml0bWFwICpiaXRtYXA7CisrICAgIHVpbnQ2NF90IGdyYW51bGFyaXR5OwogKyAgICBE cm9wU3RhdGUgZHJvcF9zdGF0ZTsKICsgICAgYm9vbCBhdXRvX3JlbW92ZTsKICt9IEJEUlZBbGxv Y1RyYWNrU3RhdGU7CkBAIC05MSwyNiArOTksMjkgQEAgaW5kZXggMDAwMDAwMDAwMC4uYjc1ZDdj NjQ2MAogKyAgICB9LAogK307CiArCi0rc3RhdGljIHZvaWQgdHJhY2tfcmVmcmVzaF9saW1pdHMo QmxvY2tEcml2ZXJTdGF0ZSAqYnMsIEVycm9yICoqZXJycCkKKytzdGF0aWMgdm9pZCBHUkFQSF9S RExPQ0sKKyt0cmFja19yZWZyZXNoX2xpbWl0cyhCbG9ja0RyaXZlclN0YXRlICpicywgRXJyb3Ig KiplcnJwKQogK3sKLSsgICAgQmxvY2tEcml2ZXJJbmZvIGJkaTsKKysgICAgQkRSVkFsbG9jVHJh Y2tTdGF0ZSAqcyA9IGJzLT5vcGFxdWU7CiArCiArICAgIGlmICghYnMtPmZpbGUpIHsKICsgICAg ICAgIHJldHVybjsKICsgICAgfQogKwotKyAgICAvKiBhbHdheXMgdXNlIGFsaWdubWVudCBmcm9t IHVuZGVybHlpbmcgd3JpdGUgZGV2aWNlIHNvIFJNVyBjeWNsZSBmb3IKLSsgICAgICogYmRydl9w d3JpdGV2IHJlYWRzIGRhdGEgZnJvbSBvdXIgYmFja2luZyB2aWEgdHJhY2tfY29fcHJlYWR2IChu byBwYXJ0aWFsCi0rICAgICAqIGNsdXN0ZXIgYWxsb2NhdGlvbiBpbiAnZmlsZScpICovCi0rICAg IGJkcnZfZ2V0X2luZm8oYnMtPmZpbGUtPmJzLCAmYmRpKTsKKysgICAgLyoKKysgICAgICogQWx3 YXlzIHVzZSBhbGlnbm1lbnQgZnJvbSB1bmRlcmx5aW5nIHdyaXRlIGRldmljZSBzbyBSTVcgY3lj bGUgZm9yCisrICAgICAqIGJkcnZfcHdyaXRldiByZWFkcyBkYXRhIGZyb20gb3VyIGJhY2tpbmcg dmlhIHRyYWNrX2NvX3ByZWFkdi4gQWxzbyB1c2UgYXQKKysgICAgICogbGVhc3QgdGhlIGJpdG1h cCBncmFudWxhcml0eS4KKysgICAgICovCiArICAgIGJzLT5ibC5yZXF1ZXN0X2FsaWdubWVudCA9 IE1BWChicy0+ZmlsZS0+YnMtPmJsLnJlcXVlc3RfYWxpZ25tZW50LAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTUFYKGJkaS5jbHVzdGVyX3NpemUsIEJEUlZfU0VDVE9SX1NJ WkUpKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPmdyYW51bGFyaXR5 KTsKICt9CiArCiArc3RhdGljIGludCB0cmFja19vcGVuKEJsb2NrRHJpdmVyU3RhdGUgKmJzLCBR RGljdCAqb3B0aW9ucywgaW50IGZsYWdzLAogKyAgICAgICAgICAgICAgICAgICAgICBFcnJvciAq KmVycnApCiArewogKyAgICBCRFJWQWxsb2NUcmFja1N0YXRlICpzID0gYnMtPm9wYXF1ZTsKKysg ICAgQmRydkNoaWxkICpmaWxlID0gTlVMTDsKICsgICAgUWVtdU9wdHMgKm9wdHM7CiArICAgIEVy cm9yICpsb2NhbF9lcnIgPSBOVUxMOwogKyAgICBpbnQgcmV0ID0gMDsKQEAgLTEyNiwxOCArMTM3 LDQ1IEBAIGluZGV4IDAwMDAwMDAwMDAuLmI3NWQ3YzY0NjAKICsgICAgcy0+YXV0b19yZW1vdmUg PSBxZW11X29wdF9nZXRfYm9vbChvcHRzLCBUUkFDS19PUFRfQVVUT19SRU1PVkUsIGZhbHNlKTsK ICsKICsgICAgLyogb3BlbiB0aGUgdGFyZ2V0ICh3cml0ZSkgbm9kZSwgYmFja2luZyB3aWxsIGJl IGF0dGFjaGVkIGJ5IGJsb2NrIGxheWVyICovCi0rICAgIGJzLT5maWxlID0gYmRydl9vcGVuX2No aWxkKE5VTEwsIG9wdGlvbnMsICJmaWxlIiwgYnMsICZjaGlsZF9vZl9iZHMsCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJEUlZfQ0hJTERfREFUQSB8IEJEUlZfQ0hJTERfTUVUQURB VEEsIGZhbHNlLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbG9jYWxfZXJyKTsK KysgICAgZmlsZSA9IGJkcnZfb3Blbl9jaGlsZChOVUxMLCBvcHRpb25zLCAiZmlsZSIsIGJzLCAm Y2hpbGRfb2ZfYmRzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJEUlZfQ0hJTERfREFU QSB8IEJEUlZfQ0hJTERfTUVUQURBVEEsIGZhbHNlLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICZsb2NhbF9lcnIpOworKyAgICBiZHJ2X2dyYXBoX3dybG9jayhicyk7CisrICAgIGJzLT5m aWxlID0gZmlsZTsKKysgICAgYmRydl9ncmFwaF93cnVubG9jayhicyk7CiArICAgIGlmIChsb2Nh bF9lcnIpIHsKICsgICAgICAgIHJldCA9IC1FSU5WQUw7CiArICAgICAgICBlcnJvcl9wcm9wYWdh dGUoZXJycCwgbG9jYWxfZXJyKTsKICsgICAgICAgIGdvdG8gZmFpbDsKICsgICAgfQogKworKyAg ICBiZHJ2X2dyYXBoX3JkbG9ja19tYWluX2xvb3AoKTsKKysgICAgQmxvY2tEcml2ZXJJbmZvIGJk aSA9IHswfTsKKysgICAgcmV0ID0gYmRydl9nZXRfaW5mbyhicy0+ZmlsZS0+YnMsICZiZGkpOwor KyAgICBpZiAocmV0IDwgMCkgeworKyAgICAgICAgLyoKKysgICAgICAgICAqIE5vdCBhIGhhcmQg ZmFpbHVyZS4gV29yc3QgdGhhdCBjYW4gaGFwcGVuIGlzIHBhcnRpYWwgY2x1c3RlcgorKyAgICAg ICAgICogYWxsb2NhdGlvbiBpbiB0aGUgd3JpdGUgdGFyZ2V0LiBIb3dldmVyLCB0aGUgZHJpdmVy IGhlcmUgcmV0dXJucyBpdHMKKysgICAgICAgICAqIGFsbG9jYXRpb24gc3RhdHVzIGJhc2VkIG9u IHRoZSBkaXJ0eSBiaXRtYXAsIHNvIGFueSBvdGhlciBkYXRhIHRoYXQKKysgICAgICAgICAqIG1h cHMgdG8gc3VjaCBhIGNsdXN0ZXIgd2lsbCBzdGlsbCBiZSBjb3BpZWQgbGF0ZXIgYnkgYSBzdHJl YW0gam9iIChvcgorKyAgICAgICAgICogZHVyaW5nIHdyaXRlcyB0byB0aGF0IGNsdXN0ZXIpLgor KyAgICAgICAgICovCisrICAgICAgICB3YXJuX3JlcG9ydCgiYWxsb2MtdHJhY2s6IHVuYWJsZSB0 byBxdWVyeSBjbHVzdGVyIHNpemUgZm9yIHdyaXRlIHRhcmdldDogJXMiLAorKyAgICAgICAgICAg ICAgICAgICAgc3RyZXJyb3IocmV0KSk7CisrICAgIH0KKysgICAgcmV0ID0gMDsKKysgICAgLyoK KysgICAgICogQWx3YXlzIGNvbnNpZGVyIGFsaWdubWVudCBmcm9tIHVuZGVybHlpbmcgd3JpdGUg ZGV2aWNlIHNvIFJNVyBjeWNsZSBmb3IKKysgICAgICogYmRydl9wd3JpdGV2IHJlYWRzIGRhdGEg ZnJvbSBvdXIgYmFja2luZyB2aWEgdHJhY2tfY29fcHJlYWR2LiBBbHNvIHRyeSB0bworKyAgICAg KiBhdm9pZCBwYXJ0aWFsIGNsdXN0ZXIgYWxsb2NhdGlvbiBpbiB0aGUgd3JpdGUgdGFyZ2V0IGJ5 IGNvbnNpZGVyaW5nIHRoZQorKyAgICAgKiBjbHVzdGVyIHNpemUuCisrICAgICAqLworKyAgICBz LT5ncmFudWxhcml0eSA9IE1BWChicy0+ZmlsZS0+YnMtPmJsLnJlcXVlc3RfYWxpZ25tZW50LAor KyAgICAgICAgICAgICAgICAgICAgICAgICBNQVgoYmRpLmNsdXN0ZXJfc2l6ZSwgQkRSVl9TRUNU T1JfU0laRSkpOwogKyAgICB0cmFja19yZWZyZXNoX2xpbWl0cyhicywgZXJycCk7Ci0rICAgIHVp bnQ2NF90IGdyYW4gPSBicy0+YmwucmVxdWVzdF9hbGlnbm1lbnQ7Ci0rICAgIHMtPmJpdG1hcCA9 IGJkcnZfY3JlYXRlX2RpcnR5X2JpdG1hcChicy0+ZmlsZS0+YnMsIGdyYW4sIE5VTEwsICZsb2Nh bF9lcnIpOworKyAgICBzLT5iaXRtYXAgPSBiZHJ2X2NyZWF0ZV9kaXJ0eV9iaXRtYXAoYnMtPmZp bGUtPmJzLCBzLT5ncmFudWxhcml0eSwgTlVMTCwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZsb2NhbF9lcnIpOworKyAgICBiZHJ2X2dyYXBoX3JkdW5sb2NrX21h aW5fbG9vcCgpOwogKyAgICBpZiAobG9jYWxfZXJyKSB7CiArICAgICAgICByZXQgPSAtRUlPOwog KyAgICAgICAgZXJyb3JfcHJvcGFnYXRlKGVycnAsIGxvY2FsX2Vycik7CkBAIC0xNDgsNyArMTg2 LDkgQEAgaW5kZXggMDAwMDAwMDAwMC4uYjc1ZDdjNjQ2MAogKwogK2ZhaWw6CiArICAgIGlmIChy ZXQgPCAwKSB7CisrICAgICAgICBiZHJ2X2dyYXBoX3dybG9jayhicyk7CiArICAgICAgICBiZHJ2 X3VucmVmX2NoaWxkKGJzLCBicy0+ZmlsZSk7CisrICAgICAgICBiZHJ2X2dyYXBoX3dydW5sb2Nr KGJzKTsKICsgICAgICAgIGlmIChzLT5iaXRtYXApIHsKICsgICAgICAgICAgICBiZHJ2X3JlbGVh c2VfZGlydHlfYml0bWFwKHMtPmJpdG1hcCk7CiArICAgICAgICB9CkBAIC0xNjUsMTMgKzIwNSwx NSBAQCBpbmRleCAwMDAwMDAwMDAwLi5iNzVkN2M2NDYwCiArICAgIH0KICt9CiArCi0rc3RhdGlj IGNvcm91dGluZV9mbiBpbnQ2NF90IHRyYWNrX2NvX2dldGxlbmd0aChCbG9ja0RyaXZlclN0YXRl ICpicykKKytzdGF0aWMgY29yb3V0aW5lX2ZuIGludDY0X3QgR1JBUEhfUkRMT0NLCisrdHJhY2tf Y29fZ2V0bGVuZ3RoKEJsb2NrRHJpdmVyU3RhdGUgKmJzKQogK3sKICsgICAgcmV0dXJuIGJkcnZf Y29fZ2V0bGVuZ3RoKGJzLT5maWxlLT5icyk7CiArfQogKwotK3N0YXRpYyBpbnQgY29yb3V0aW5l X2ZuIHRyYWNrX2NvX3ByZWFkdihCbG9ja0RyaXZlclN0YXRlICpicywKLSsgICAgaW50NjRfdCBv ZmZzZXQsIGludDY0X3QgYnl0ZXMsIFFFTVVJT1ZlY3RvciAqcWlvdiwgQmRydlJlcXVlc3RGbGFn cyBmbGFncykKKytzdGF0aWMgaW50IGNvcm91dGluZV9mbiBHUkFQSF9SRExPQ0sKKyt0cmFja19j b19wcmVhZHYoQmxvY2tEcml2ZXJTdGF0ZSAqYnMsIGludDY0X3Qgb2Zmc2V0LCBpbnQ2NF90IGJ5 dGVzLAorKyAgICAgICAgICAgICAgICBRRU1VSU9WZWN0b3IgKnFpb3YsIEJkcnZSZXF1ZXN0Rmxh Z3MgZmxhZ3MpCiArewogKyAgICBCRFJWQWxsb2NUcmFja1N0YXRlICpzID0gYnMtPm9wYXF1ZTsK ICsgICAgUUVNVUlPVmVjdG9yIGxvY2FsX3Fpb3Y7CkBAIC0yMjksMzYgKzI3MSwzOSBAQCBpbmRl eCAwMDAwMDAwMDAwLi5iNzVkN2M2NDYwCiArICAgIHJldHVybiByZXQ7CiArfQogKwotK3N0YXRp YyBpbnQgY29yb3V0aW5lX2ZuIHRyYWNrX2NvX3B3cml0ZXYoQmxvY2tEcml2ZXJTdGF0ZSAqYnMs Ci0rICAgIGludDY0X3Qgb2Zmc2V0LCBpbnQ2NF90IGJ5dGVzLCBRRU1VSU9WZWN0b3IgKnFpb3Ys IEJkcnZSZXF1ZXN0RmxhZ3MgZmxhZ3MpCisrc3RhdGljIGludCBjb3JvdXRpbmVfZm4gR1JBUEhf UkRMT0NLCisrdHJhY2tfY29fcHdyaXRldihCbG9ja0RyaXZlclN0YXRlICpicywgaW50NjRfdCBv ZmZzZXQsIGludDY0X3QgYnl0ZXMsCisrICAgICAgICAgICAgICAgICBRRU1VSU9WZWN0b3IgKnFp b3YsIEJkcnZSZXF1ZXN0RmxhZ3MgZmxhZ3MpCiArewogKyAgICByZXR1cm4gYmRydl9jb19wd3Jp dGV2KGJzLT5maWxlLCBvZmZzZXQsIGJ5dGVzLCBxaW92LCBmbGFncyk7CiArfQogKwotK3N0YXRp YyBpbnQgY29yb3V0aW5lX2ZuIHRyYWNrX2NvX3B3cml0ZV96ZXJvZXMoQmxvY2tEcml2ZXJTdGF0 ZSAqYnMsCi0rICAgIGludDY0X3Qgb2Zmc2V0LCBpbnQ2NF90IGJ5dGVzLCBCZHJ2UmVxdWVzdEZs YWdzIGZsYWdzKQorK3N0YXRpYyBpbnQgY29yb3V0aW5lX2ZuIEdSQVBIX1JETE9DSworK3RyYWNr X2NvX3B3cml0ZV96ZXJvZXMoQmxvY2tEcml2ZXJTdGF0ZSAqYnMsIGludDY0X3Qgb2Zmc2V0LCBp bnQ2NF90IGJ5dGVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgQmRydlJlcXVlc3RGbGFncyBm bGFncykKICt7CiArICAgIHJldHVybiBiZHJ2X2NvX3B3cml0ZV96ZXJvZXMoYnMtPmZpbGUsIG9m ZnNldCwgYnl0ZXMsIGZsYWdzKTsKICt9CiArCi0rc3RhdGljIGludCBjb3JvdXRpbmVfZm4gdHJh Y2tfY29fcGRpc2NhcmQoQmxvY2tEcml2ZXJTdGF0ZSAqYnMsCi0rICAgIGludDY0X3Qgb2Zmc2V0 LCBpbnQ2NF90IGJ5dGVzKQorK3N0YXRpYyBpbnQgY29yb3V0aW5lX2ZuIEdSQVBIX1JETE9DSwor K3RyYWNrX2NvX3BkaXNjYXJkKEJsb2NrRHJpdmVyU3RhdGUgKmJzLCBpbnQ2NF90IG9mZnNldCwg aW50NjRfdCBieXRlcykKICt7CiArICAgIHJldHVybiBiZHJ2X2NvX3BkaXNjYXJkKGJzLT5maWxl LCBvZmZzZXQsIGJ5dGVzKTsKICt9CiArCi0rc3RhdGljIGNvcm91dGluZV9mbiBpbnQgdHJhY2tf Y29fZmx1c2goQmxvY2tEcml2ZXJTdGF0ZSAqYnMpCisrc3RhdGljIGNvcm91dGluZV9mbiBpbnQg R1JBUEhfUkRMT0NLCisrdHJhY2tfY29fZmx1c2goQmxvY2tEcml2ZXJTdGF0ZSAqYnMpCiArewog KyAgICByZXR1cm4gYmRydl9jb19mbHVzaChicy0+ZmlsZS0+YnMpOwogK30KICsKLStzdGF0aWMg aW50IGNvcm91dGluZV9mbiB0cmFja19jb19ibG9ja19zdGF0dXMoQmxvY2tEcml2ZXJTdGF0ZSAq YnMsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wg d2FudF96ZXJvLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbnQ2NF90IG9mZnNldCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50NjRfdCBieXRlcywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW50NjRfdCAqcG51bSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW50NjRfdCAqbWFwLAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9ja0RyaXZlclN0YXRlICoqZmlsZSkKKytzdGF0 aWMgaW50IGNvcm91dGluZV9mbiBHUkFQSF9SRExPQ0sKKyt0cmFja19jb19ibG9ja19zdGF0dXMo QmxvY2tEcml2ZXJTdGF0ZSAqYnMsIGJvb2wgd2FudF96ZXJvLAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50NjRfdCBvZmZzZXQsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90IGJ5dGVzLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50NjRfdCAqcG51bSwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0X3QgKm1hcCwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2NrRHJpdmVyU3Rh dGUgKipmaWxlKQogK3sKICsgICAgQkRSVkFsbG9jVHJhY2tTdGF0ZSAqcyA9IGJzLT5vcGFxdWU7 CiArCkBAIC0yODQsMTAgKzMyOSwxMCBAQCBpbmRleCAwMDAwMDAwMDAwLi5iNzVkN2M2NDYwCiAr ICAgIHJldHVybiAwOwogK30KICsKLStzdGF0aWMgdm9pZCB0cmFja19jaGlsZF9wZXJtKEJsb2Nr RHJpdmVyU3RhdGUgKmJzLCBCZHJ2Q2hpbGQgKmMsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBCZHJ2Q2hpbGRSb2xlIHJvbGUsIEJsb2NrUmVvcGVuUXVldWUgKnJlb3Blbl9xdWV1ZSwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IHBlcm0sIHVpbnQ2NF90IHNo YXJlZCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpucGVybSwgdWlu dDY0X3QgKm5zaGFyZWQpCisrc3RhdGljIHZvaWQgR1JBUEhfUkRMT0NLCisrdHJhY2tfY2hpbGRf cGVybShCbG9ja0RyaXZlclN0YXRlICpicywgQmRydkNoaWxkICpjLCBCZHJ2Q2hpbGRSb2xlIHJv bGUsCisrICAgICAgICAgICAgICAgICBCbG9ja1Jlb3BlblF1ZXVlICpyZW9wZW5fcXVldWUsIHVp bnQ2NF90IHBlcm0sIHVpbnQ2NF90IHNoYXJlZCwKKysgICAgICAgICAgICAgICAgIHVpbnQ2NF90 ICpucGVybSwgdWludDY0X3QgKm5zaGFyZWQpCiArewogKyAgICBCRFJWQWxsb2NUcmFja1N0YXRl ICpzID0gYnMtPm9wYXF1ZTsKICsKQEAgLTMxMCw1MyArMzU1LDI4IEBAIGluZGV4IDAwMDAwMDAw MDAuLmI3NWQ3YzY0NjAKICsgICAgfQogK30KICsKLStzdGF0aWMgdm9pZCB0cmFja19kcm9wKHZv aWQgKm9wYXF1ZSkKKytzdGF0aWMgaW50IGNvcm91dGluZV9mbiBHUkFQSF9SRExPQ0sKKyt0cmFj a19jb19jaGFuZ2VfYmFja2luZ19maWxlKEJsb2NrRHJpdmVyU3RhdGUgKmJzLCBjb25zdCBjaGFy ICpiYWNraW5nX2ZpbGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFy ICpiYWNraW5nX2ZtdCkKICt7Ci0rICAgIEJsb2NrRHJpdmVyU3RhdGUgKmJzID0gKEJsb2NrRHJp dmVyU3RhdGUqKW9wYXF1ZTsKLSsgICAgQmxvY2tEcml2ZXJTdGF0ZSAqZmlsZSA9IGJzLT5maWxl LT5iczsKLSsgICAgQkRSVkFsbG9jVHJhY2tTdGF0ZSAqcyA9IGJzLT5vcGFxdWU7Ci0rCi0rICAg IGFzc2VydChmaWxlKTsKLSsKLSsgICAgLyogd2UgcmVseSBvbiB0aGUgZmFjdCB0aGF0IHdlJ3Jl IG5vdCB1c2VkIGFueXdoZXJlIGVsc2UsIHNvIGxldCdzIHdhaXQKLSsgICAgICogdW50aWwgd2Un cmUgb25seSB1c2VkIG9uY2UgLSBpbiB0aGUgZHJpdmUgY29ubmVjdGVkIHRvIHRoZSBndWVzdCAo YW5kIG9uZQotKyAgICAgKiByZWYgaXMgaGVsZCBieSBiZHJ2X3JlZiBpbiB0cmFja19jaGFuZ2Vf YmFja2luZ19maWxlKSAqLwotKyAgICBpZiAoYnMtPnJlZmNudCA+IDIpIHsKLSsgICAgICAgIGFp b19iaF9zY2hlZHVsZV9vbmVzaG90KHFlbXVfZ2V0X2Fpb19jb250ZXh0KCksIHRyYWNrX2Ryb3As IG9wYXF1ZSk7Ci0rICAgICAgICByZXR1cm47Ci0rICAgIH0KLSsgICAgQWlvQ29udGV4dCAqYWlv X2NvbnRleHQgPSBiZHJ2X2dldF9haW9fY29udGV4dChicyk7Ci0rICAgIGFpb19jb250ZXh0X2Fj cXVpcmUoYWlvX2NvbnRleHQpOwotKwotKyAgICBiZHJ2X2RyYWluZWRfYmVnaW4oYnMpOwotKwot KyAgICAvKiBub3cgdGhhdCB3ZSdyZSBkcmFpbmVkLCB3ZSBjYW4gc2FmZWx5IHNldCAnRHJvcElu UHJvZ3Jlc3MnICovCi0rICAgIHMtPmRyb3Bfc3RhdGUgPSBEcm9wSW5Qcm9ncmVzczsKLSsgICAg YmRydl9jaGlsZF9yZWZyZXNoX3Blcm1zKGJzLCBicy0+ZmlsZSwgJmVycm9yX2Fib3J0KTsKLSsK LSsgICAgYmRydl9yZXBsYWNlX25vZGUoYnMsIGZpbGUsICZlcnJvcl9hYm9ydCk7Ci0rICAgIGJk cnZfc2V0X2JhY2tpbmdfaGQoYnMsIE5VTEwsICZlcnJvcl9hYm9ydCk7Ci0rICAgIGJkcnZfZHJh aW5lZF9lbmQoYnMpOwotKyAgICBiZHJ2X3VucmVmKGJzKTsKLSsgICAgYWlvX2NvbnRleHRfcmVs ZWFzZShhaW9fY29udGV4dCk7Ci0rfQotKwotK3N0YXRpYyBpbnQgdHJhY2tfY2hhbmdlX2JhY2tp bmdfZmlsZShCbG9ja0RyaXZlclN0YXRlICpicywKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgY2hhciAqYmFja2luZ19maWxlLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpiYWNraW5nX2ZtdCkKLSt7Ci0rICAgIEJE UlZBbGxvY1RyYWNrU3RhdGUgKnMgPSBicy0+b3BhcXVlOwotKyAgICBpZiAocy0+YXV0b19yZW1v dmUgJiYgcy0+ZHJvcF9zdGF0ZSA9PSBEcm9wTm9uZSAmJgotKyAgICAgICAgYmFja2luZ19maWxl ID09IE5VTEwgJiYgYmFja2luZ19mbXQgPT0gTlVMTCkKLSsgICAgewotKyAgICAgICAgLyogYmFj a2luZyBmaWxlIGhhcyBiZWVuIGRpc2Nvbm5lY3RlZCwgdGhlcmUncyBubyBsb25nZXIgYW55IHVz ZSBmb3IKLSsgICAgICAgICAqIHRoaXMgbm9kZSwgc28gbGV0J3MgcmVtb3ZlIG91cnNlbHZlcyBm cm9tIHRoZSBibG9jayBncmFwaCAtIHdlIG5lZWQKLSsgICAgICAgICAqIHRvIHNjaGVkdWxlIHRo aXMgZm9yIGxhdGVyIGhvd2V2ZXIsIHNpbmNlIHdoZW4gdGhpcyBmdW5jdGlvbiBpcwotKyAgICAg ICAgICogY2FsbGVkLCB0aGUgYmxvY2tqb2IgbW9kaWZ5aW5nIHVzIGlzIHByb2JhYmx5IG5vdCBk b25lIHlldCBhbmQgaGFzIGEKLSsgICAgICAgICAqIGJsb2NrZXIgb24gJ2JzJyAqLwotKyAgICAg ICAgcy0+ZHJvcF9zdGF0ZSA9IERyb3BSZXF1ZXN0ZWQ7Ci0rICAgICAgICBiZHJ2X3JlZihicyk7 Ci0rICAgICAgICBhaW9fYmhfc2NoZWR1bGVfb25lc2hvdChxZW11X2dldF9haW9fY29udGV4dCgp LCB0cmFja19kcm9wLCAodm9pZCopYnMpOworKyAgICAvKgorKyAgICAgKiBOb3RlIHRoYXQgdGhl IGFjdHVhbCBiYWNraW5nIGZpbGUgZ3JhcGggY2hhbmdlIGlzIGFscmVhZHkgZG9uZSBpbiB0aGUK KysgICAgICogc3RyZWFtIGpvYiBpdHNlbGYgd2l0aCBiZHJ2X3NldF9iYWNraW5nX2hkX2RyYWlu ZWQoKSwgc28gbm8gbmVlZCB0bworKyAgICAgKiBhY3R1YWxseSBkbyBhbnl0aGluZyBoZXJlLiBC dXQgc3RpbGwgbmVlZHMgdG8gYmUgaW1wbGVtZW50ZWQsIHRvIG1ha2UKKysgICAgICogb3VyIGNh bGxlciAoaS5lLiBiZHJ2X2NvX2NoYW5nZV9iYWNraW5nX2ZpbGUoKSBkbyB0aGUgcmlnaHQgdGhp bmcpLgorKyAgICAgKgorKyAgICAgKiBGSVhNRQorKyAgICAgKiBXZSdkIGxpa2UgdG8gYXV0by1y ZW1vdmUgb3Vyc2VsdmVzIGZyb20gdGhlIGJsb2NrIGdyYXBoLCBidXQgaXQgY2Fubm90CisrICAg ICAqIGJlIGRvbmUgZnJvbSBhIGNvcm91dGluZS4gQ3VycmVudGx5IGRvbmUgaW4gdGhlIHN0cmVh bSBqb2IsIHdoZXJlIGl0CisrICAgICAqIGtpbmRhIGZpdHMgYmV0dGVyLCBidXQgaW4gdGhlIGxv bmctdGVybSwgYSBzcGVjaWFsIHBhcmFtZXRlciB3b3VsZCBiZQorKyAgICAgKiBuaWNlIChvciBk b25lIHZpYSBxZW11LXNlcnZlciB2aWEgdXBjb21pbmcgYmxvY2tkZXYtcmVwbGFjZSBRTVAgY29t bWFuZCkuCisrICAgICAqLworKyAgICBpZiAoYmFja2luZ19maWxlID09IE5VTEwpIHsKKysgICAg ICAgIEJEUlZBbGxvY1RyYWNrU3RhdGUgKnMgPSBicy0+b3BhcXVlOworKyAgICAgICAgYmRydl9k cmFpbmVkX2JlZ2luKGJzKTsKKysgICAgICAgIHMtPmRyb3Bfc3RhdGUgPSBEcm9wSW5Qcm9ncmVz czsKKysgICAgICAgIGJkcnZfY2hpbGRfcmVmcmVzaF9wZXJtcyhicywgYnMtPmZpbGUsICZlcnJv cl9hYm9ydCk7CisrICAgICAgICBiZHJ2X2RyYWluZWRfZW5kKGJzKTsKICsgICAgfQogKwogKyAg ICByZXR1cm4gMDsKQEAgLTM4Myw3ICs0MDMsNyBAQCBpbmRleCAwMDAwMDAwMDAwLi5iNzVkN2M2 NDYwCiArICAgIC5zdXBwb3J0c19iYWNraW5nICAgICAgICAgICAgICAgICA9IHRydWUsCiArCiAr ICAgIC5iZHJ2X2NvX2Jsb2NrX3N0YXR1cyAgICAgICAgICAgICA9IHRyYWNrX2NvX2Jsb2NrX3N0 YXR1cywKLSsgICAgLmJkcnZfY2hhbmdlX2JhY2tpbmdfZmlsZSAgICAgICAgID0gdHJhY2tfY2hh bmdlX2JhY2tpbmdfZmlsZSwKKysgICAgLmJkcnZfY29fY2hhbmdlX2JhY2tpbmdfZmlsZSAgICAg ID0gdHJhY2tfY29fY2hhbmdlX2JhY2tpbmdfZmlsZSwKICt9OwogKwogK3N0YXRpYyB2b2lkIGJk cnZfYWxsb2NfdHJhY2tfaW5pdCh2b2lkKQpAQCAtMzkzLDcgKzQxMyw3IEBAIGluZGV4IDAwMDAw MDAwMDAuLmI3NWQ3YzY0NjAKICsKICtibG9ja19pbml0KGJkcnZfYWxsb2NfdHJhY2tfaW5pdCk7 CiBkaWZmIC0tZ2l0IGEvYmxvY2svbWVzb24uYnVpbGQgYi9ibG9jay9tZXNvbi5idWlsZAotaW5k ZXggYmVjYzk5YWM0ZS4uMGE2OTgzNjU5MyAxMDA2NDQKK2luZGV4IDU0OWMwYzcxMDMuLjczNzc3 YTE2MjAgMTAwNjQ0CiAtLS0gYS9ibG9jay9tZXNvbi5idWlsZAogKysrIGIvYmxvY2svbWVzb24u YnVpbGQKIEBAIC0yLDYgKzIsNyBAQCBibG9ja19zcy5hZGQoZ2VuaCkKQEAgLTQwNCwzICs0MjQs NDggQEAgaW5kZXggYmVjYzk5YWM0ZS4uMGE2OTgzNjU5MyAxMDA2NDQKICAgICdhbWVuZC5jJywK ICAgICdiYWNrdXAuYycsCiAgICAnYmFja3VwLWR1bXAuYycsCitkaWZmIC0tZ2l0IGEvYmxvY2sv c3RyZWFtLmMgYi9ibG9jay9zdHJlYW0uYworaW5kZXggODdhOTdjYjhhMi4uM2EwNGU5NWVlMiAx MDA2NDQKKy0tLSBhL2Jsb2NrL3N0cmVhbS5jCisrKysgYi9ibG9jay9zdHJlYW0uYworQEAgLTEx NCw2ICsxMTQsNDAgQEAgc3RhdGljIGludCBzdHJlYW1fcHJlcGFyZShKb2IgKmpvYikKKyAgICAg ICAgICAgICByZXQgPSAtRVBFUk07CisgICAgICAgICAgICAgZ290byBvdXQ7CisgICAgICAgICB9 CisrCisrICAgICAgICAvKgorKyAgICAgICAgICogVGhpcyBjYW5ub3QgYmUgZG9uZSBpbiB0aGUg Y29fY2hhbmdlX2JhY2tpbmdfZmlsZSBjYWxsYmFjaywgYmVjYXVzZQorKyAgICAgICAgICogYmRy dl9yZXBsYWNlX25vZGUoKSBjYW5ub3QgYmUgZG9uZSBpbiBhIGNvcm91dGluZS4gVGhlIGxhdHRl ciBhbHNvCisrICAgICAgICAgKiByZXF1aXJlcyB0aGUgZ3JhcGggbG9jayBleGNsdXNpdmVseS4g T25seSByZXF1aXJlZCBmb3IgdGhlCisrICAgICAgICAgKiBhbGxvYy10cmFjayBkcml2ZXIuCisr ICAgICAgICAgKgorKyAgICAgICAgICogVGhlIGxvbmctdGVybSBwbGFuIGlzIHRvIGVpdGhlciBo YXZlIGFuIGV4cGxpY2l0IHBhcmFtZXRlciBmb3IgdGhlCisrICAgICAgICAgKiBzdHJlYW0gam9i IG9yIHVzZSB0aGUgdXBjb21pbmcgYmxvY2tkZXYtcmVwbGFjZSBRTVAgY29tbWFuZC4KKysgICAg ICAgICAqLworKyAgICAgICAgaWYgKGJhc2VfaWQgPT0gTlVMTCAmJiBzdHJjbXAodW5maWx0ZXJl ZF9icy0+ZHJ2LT5mb3JtYXRfbmFtZSwgImFsbG9jLXRyYWNrIikgPT0gMCkgeworKyAgICAgICAg ICAgIEJsb2NrRHJpdmVyU3RhdGUgKmZpbGVfYnM7CisrCisrICAgICAgICAgICAgYmRydl9ncmFw aF9yZGxvY2tfbWFpbl9sb29wKCk7CisrICAgICAgICAgICAgZmlsZV9icyA9IHVuZmlsdGVyZWRf YnMtPmZpbGUtPmJzOworKyAgICAgICAgICAgIGJkcnZfZ3JhcGhfcmR1bmxvY2tfbWFpbl9sb29w KCk7CisrCisrICAgICAgICAgICAgYmRydl9yZWYodW5maWx0ZXJlZF9icyk7IC8vIHVucmVmZWQg YnkgYmRydl9yZXBsYWNlX25vZGUoKQorKyAgICAgICAgICAgIGJkcnZfZHJhaW5lZF9iZWdpbihm aWxlX2JzKTsKKysgICAgICAgICAgICBiZHJ2X2dyYXBoX3dybG9jayhzLT50YXJnZXRfYnMpOwor KworKyAgICAgICAgICAgIGJkcnZfcmVwbGFjZV9ub2RlKHVuZmlsdGVyZWRfYnMsIGZpbGVfYnMs ICZsb2NhbF9lcnIpOworKworKyAgICAgICAgICAgIGJkcnZfZ3JhcGhfd3J1bmxvY2socy0+dGFy Z2V0X2JzKTsKKysgICAgICAgICAgICBiZHJ2X2RyYWluZWRfZW5kKGZpbGVfYnMpOworKyAgICAg ICAgICAgIGJkcnZfdW5yZWYodW5maWx0ZXJlZF9icyk7CisrCisrICAgICAgICAgICAgaWYgKGxv Y2FsX2VycikgeworKyAgICAgICAgICAgICAgICBlcnJvcl9wcmVwZW5kKCZsb2NhbF9lcnIsICJm YWlsZWQgdG8gcmVwbGFjZSBhbGxvYy10cmFjayBub2RlOiAiKTsKKysgICAgICAgICAgICAgICAg ZXJyb3JfcmVwb3J0X2Vycihsb2NhbF9lcnIpOworKyAgICAgICAgICAgICAgICByZXQgPSAtRVBF Uk07CisrICAgICAgICAgICAgICAgIGdvdG8gb3V0OworKyAgICAgICAgICAgIH0KKysgICAgICAg IH0KKyAgICAgfQorIAorIG91dDoKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQw LVJldmVydC1ibG9jay1yYmQtd29ya2Fyb3VuZC1mb3ItY2VwaC1pc3N1ZS01Mzc4NC5wYXRjaCBi L2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQwLVJldmVydC1ibG9jay1yYmQtd29ya2Fyb3VuZC1mb3It Y2VwaC1pc3N1ZS01Mzc4NC5wYXRjaAppbmRleCAwOTRmMzUzLi5mOTlmNzE3IDEwMDY0NAotLS0g YS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0MC1SZXZlcnQtYmxvY2stcmJkLXdvcmthcm91bmQtZm9y LWNlcGgtaXNzdWUtNTM3ODQucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwNDAtUmV2 ZXJ0LWJsb2NrLXJiZC13b3JrYXJvdW5kLWZvci1jZXBoLWlzc3VlLTUzNzg0LnBhdGNoCkBAIC0x MywxMCArMTMsMTAgQEAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVj aHRAcHJveG1veC5jb20+CiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNDAgZGVs ZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9ibG9jay9yYmQuYyBiL2Jsb2NrL3JiZC5jCi1pbmRl eCBhNDc0OWYzYjFiLi41M2UwMzk2YjUxIDEwMDY0NAoraW5kZXggNjNmNjBkNDFiZS4uMzY3ZGI0 MmRjZSAxMDA2NDQKIC0tLSBhL2Jsb2NrL3JiZC5jCiArKysgYi9ibG9jay9yYmQuYwotQEAgLTE1 MTEsNyArMTUxMSw2IEBAIHN0YXRpYyBpbnQgY29yb3V0aW5lX2ZuIHFlbXVfcmJkX2NvX2Jsb2Nr X3N0YXR1cyhCbG9ja0RyaXZlclN0YXRlICpicywKK0BAIC0xNTE1LDcgKzE1MTUsNiBAQCBzdGF0 aWMgaW50IGNvcm91dGluZV9mbiBxZW11X3JiZF9jb19ibG9ja19zdGF0dXMoQmxvY2tEcml2ZXJT dGF0ZSAqYnMsCiAgICAgIGludCBzdGF0dXMsIHI7CiAgICAgIFJCRERpZmZJdGVyYXRlUmVxIHJl cSA9IHsgLm9mZnMgPSBvZmZzZXQgfTsKICAgICAgdWludDY0X3QgZmVhdHVyZXMsIGZsYWdzOwpA QCAtMjQsNyArMjQsNyBAQCBpbmRleCBhNDc0OWYzYjFiLi41M2UwMzk2YjUxIDEwMDY0NAogIAog ICAgICBhc3NlcnQob2Zmc2V0ICsgYnl0ZXMgPD0gcy0+aW1hZ2Vfc2l6ZSk7CiAgCi1AQCAtMTUz OSw0MyArMTUzOCw3IEBAIHN0YXRpYyBpbnQgY29yb3V0aW5lX2ZuIHFlbXVfcmJkX2NvX2Jsb2Nr X3N0YXR1cyhCbG9ja0RyaXZlclN0YXRlICpicywKK0BAIC0xNTQzLDQzICsxNTQyLDcgQEAgc3Rh dGljIGludCBjb3JvdXRpbmVfZm4gcWVtdV9yYmRfY29fYmxvY2tfc3RhdHVzKEJsb2NrRHJpdmVy U3RhdGUgKmJzLAogICAgICAgICAgcmV0dXJuIHN0YXR1czsKICAgICAgfQogIApAQCAtNjksNyAr NjksNyBAQCBpbmRleCBhNDc0OWYzYjFiLi41M2UwMzk2YjUxIDEwMDY0NAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgcWVtdV9yYmRfZGlmZl9pdGVyYXRlX2NiLCAmcmVxKTsKICAgICAgaWYg KHIgPCAwICYmIHIgIT0gUUVNVV9SQkRfRVhJVF9ESUZGX0lURVJBVEUyKSB7CiAgICAgICAgICBy ZXR1cm4gc3RhdHVzOwotQEAgLTE1OTQsOCArMTU1Nyw3IEBAIHN0YXRpYyBpbnQgY29yb3V0aW5l X2ZuIHFlbXVfcmJkX2NvX2Jsb2NrX3N0YXR1cyhCbG9ja0RyaXZlclN0YXRlICpicywKK0BAIC0x NTk4LDggKzE1NjEsNyBAQCBzdGF0aWMgaW50IGNvcm91dGluZV9mbiBxZW11X3JiZF9jb19ibG9j a19zdGF0dXMoQmxvY2tEcml2ZXJTdGF0ZSAqYnMsCiAgICAgICAgICBzdGF0dXMgPSBCRFJWX0JM T0NLX1pFUk8gfCBCRFJWX0JMT0NLX09GRlNFVF9WQUxJRDsKICAgICAgfQogIApkaWZmIC0tZ2l0 IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwNDEtUmV2ZXJ0LWJsb2NrLXJiZC1maXgtaGFuZGxpbmct b2YtaG9sZXMtaW4tLmJkcnZfY29fYi5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQxLVJl dmVydC1ibG9jay1yYmQtZml4LWhhbmRsaW5nLW9mLWhvbGVzLWluLS5iZHJ2X2NvX2IucGF0Y2gK aW5kZXggZTRhY2E3My4uNWFlMGJmZiAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAw NDEtUmV2ZXJ0LWJsb2NrLXJiZC1maXgtaGFuZGxpbmctb2YtaG9sZXMtaW4tLmJkcnZfY29fYi5w YXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0MS1SZXZlcnQtYmxvY2stcmJkLWZpeC1o YW5kbGluZy1vZi1ob2xlcy1pbi0uYmRydl9jb19iLnBhdGNoCkBAIC0xNCwxMCArMTQsMTAgQEAg U2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+ CiAgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKIAogZGlm ZiAtLWdpdCBhL2Jsb2NrL3JiZC5jIGIvYmxvY2svcmJkLmMKLWluZGV4IDUzZTAzOTZiNTEuLjA5 MTNhMGFmMzkgMTAwNjQ0CitpbmRleCAzNjdkYjQyZGNlLi4zNDdiMTIxNjI2IDEwMDY0NAogLS0t IGEvYmxvY2svcmJkLmMKICsrKyBiL2Jsb2NrL3JiZC5jCi1AQCAtMTQ3MCwxMSArMTQ3MCwxMSBA QCBzdGF0aWMgaW50IHFlbXVfcmJkX2RpZmZfaXRlcmF0ZV9jYih1aW50NjRfdCBvZmZzLCBzaXpl X3QgbGVuLAorQEAgLTE0NzQsMTEgKzE0NzQsMTEgQEAgc3RhdGljIGludCBxZW11X3JiZF9kaWZm X2l0ZXJhdGVfY2IodWludDY0X3Qgb2Zmcywgc2l6ZV90IGxlbiwKICAgICAgUkJERGlmZkl0ZXJh dGVSZXEgKnJlcSA9IG9wYXF1ZTsKICAKICAgICAgYXNzZXJ0KHJlcS0+b2ZmcyArIHJlcS0+Ynl0 ZXMgPD0gb2Zmcyk7CmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0Mi1SZXZlcnQt YmxvY2stcmJkLWltcGxlbWVudC1iZHJ2X2NvX2Jsb2NrX3N0YXR1cy5wYXRjaCBiL2RlYmlhbi9w YXRjaGVzL3B2ZS8wMDQyLVJldmVydC1ibG9jay1yYmQtaW1wbGVtZW50LWJkcnZfY29fYmxvY2tf c3RhdHVzLnBhdGNoCmluZGV4IDllOWEzODUuLjM4OTY2ZmUgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9w YXRjaGVzL3B2ZS8wMDQyLVJldmVydC1ibG9jay1yYmQtaW1wbGVtZW50LWJkcnZfY29fYmxvY2tf c3RhdHVzLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQyLVJldmVydC1ibG9jay1y YmQtaW1wbGVtZW50LWJkcnZfY29fYmxvY2tfc3RhdHVzLnBhdGNoCkBAIC0yNCw3ICsyNCw3IEBA IFNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVjaHQgPHQubGFtcHJlY2h0QHByb3htb3guY29t PgogIDEgZmlsZSBjaGFuZ2VkLCAxMTIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9ibG9j ay9yYmQuYyBiL2Jsb2NrL3JiZC5jCi1pbmRleCAwOTEzYTBhZjM5Li4xZGFiMjU0NTE3IDEwMDY0 NAoraW5kZXggMzQ3YjEyMTYyNi4uZTYxYjM1OWI5NyAxMDA2NDQKIC0tLSBhL2Jsb2NrL3JiZC5j CiArKysgYi9ibG9jay9yYmQuYwogQEAgLTEwOCwxMiArMTA4LDYgQEAgdHlwZWRlZiBzdHJ1Y3Qg UkJEVGFzayB7CkBAIC00MCw3ICs0MCw3IEBAIGluZGV4IDA5MTNhMGFmMzkuLjFkYWIyNTQ1MTcg MTAwNjQ0CiAgc3RhdGljIGludCBxZW11X3JiZF9jb25uZWN0KHJhZG9zX3QgKmNsdXN0ZXIsIHJh ZG9zX2lvY3R4X3QgKmlvX2N0eCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tk ZXZPcHRpb25zUmJkICpvcHRzLCBib29sIGNhY2hlLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBjaGFyICprZXlwYWlycywgY29uc3QgY2hhciAqc2VjcmV0aWQsCi1AQCAtMTQ1 NiwxMTEgKzE0NTAsNiBAQCBzdGF0aWMgSW1hZ2VJbmZvU3BlY2lmaWMgKnFlbXVfcmJkX2dldF9z cGVjaWZpY19pbmZvKEJsb2NrRHJpdmVyU3RhdGUgKmJzLAorQEAgLTE0NjAsMTExICsxNDU0LDYg QEAgc3RhdGljIEltYWdlSW5mb1NwZWNpZmljICpxZW11X3JiZF9nZXRfc3BlY2lmaWNfaW5mbyhC bG9ja0RyaXZlclN0YXRlICpicywKICAgICAgcmV0dXJuIHNwZWNfaW5mbzsKICB9CiAgCkBAIC0x NTIsNyArMTUyLDcgQEAgaW5kZXggMDkxM2EwYWYzOS4uMWRhYjI1NDUxNyAxMDA2NDQKICBzdGF0 aWMgaW50NjRfdCBjb3JvdXRpbmVfZm4gcWVtdV9yYmRfY29fZ2V0bGVuZ3RoKEJsb2NrRHJpdmVy U3RhdGUgKmJzKQogIHsKICAgICAgQkRSVlJCRFN0YXRlICpzID0gYnMtPm9wYXF1ZTsKLUBAIC0x Nzk2LDcgKzE2ODUsNiBAQCBzdGF0aWMgQmxvY2tEcml2ZXIgYmRydl9yYmQgPSB7CitAQCAtMTgw MCw3ICsxNjg5LDYgQEAgc3RhdGljIEJsb2NrRHJpdmVyIGJkcnZfcmJkID0gewogICNpZmRlZiBM SUJSQkRfU1VQUE9SVFNfV1JJVEVfWkVST0VTCiAgICAgIC5iZHJ2X2NvX3B3cml0ZV96ZXJvZXMg ID0gcWVtdV9yYmRfY29fcHdyaXRlX3plcm9lcywKICAjZW5kaWYKZGlmZiAtLWdpdCBhL2RlYmlh bi9wYXRjaGVzL3B2ZS8wMDQzLWFsbG9jLXRyYWNrLWVycm9yLW91dC13aGVuLWF1dG8tcmVtb3Zl LWlzLW5vdC1zZXQucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0My1hbGxvYy10cmFjay1l cnJvci1vdXQtd2hlbi1hdXRvLXJlbW92ZS1pcy1ub3Qtc2V0LnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3MWMyNDIKLS0tIC9kZXYvbnVsbAorKysgYi9kZWJpYW4v cGF0Y2hlcy9wdmUvMDA0My1hbGxvYy10cmFjay1lcnJvci1vdXQtd2hlbi1hdXRvLXJlbW92ZS1p cy1ub3Qtc2V0LnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK0Zyb20gMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEZp b25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgorRGF0ZTogVHVlLCAyNiBNYXIgMjAyNCAx NDo1Nzo1MSArMDEwMAorU3ViamVjdDogW1BBVENIXSBhbGxvYy10cmFjazogZXJyb3Igb3V0IHdo ZW4gYXV0by1yZW1vdmUgaXMgbm90IHNldAorCitTaW5jZSByZXBsYWNpbmcgdGhlIG5vZGUgbm93 IGhhcHBlbnMgaW4gdGhlIHN0cmVhbSBqb2IsIHdoZXJlIHRoZQorb3B0aW9uIGNhbm5vdCBiZSBy ZWFkIGZyb20gKGl0J3MgaW50ZXJuYWwgdG8gdGhlIGRyaXZlciksIGl0IHdpbGwKK2Fsd2F5cyBi ZSB0cmVhdGVkIGFzIG9uLgorCitxZW11LXNlcnZlciB3aWxsIGFsd2F5cyBzZXQgaXQsIG1ha2Ug c3VyZSB0byBoYXZlIG90aGVyIHVzZXJzIG5vdGljZQordGhlIGNoYW5nZSAoc2hvdWxkIHRoZXkg ZXZlbiBleGlzdCkuIFRoZSBvcHRpb24gY2FuIGJlIGZ1bGx5IGRyb3BwZWQKK2luIHRoZSBmdXR1 cmUgd2hpbGUgYWRkaW5nIGEgdmVyc2lvbiBndWFyZCBpbiBxZW11LXNlcnZlci4KKworU2lnbmVk LW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+CistLS0KKyBibG9jay9h bGxvYy10cmFjay5jIHwgNyArKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Jsb2NrL2FsbG9jLXRyYWNrLmMgYi9i bG9jay9hbGxvYy10cmFjay5jCitpbmRleCAxNDY5OGMzNjJlLi5kYWQ4ZmU2Mzc1IDEwMDY0NAor LS0tIGEvYmxvY2svYWxsb2MtdHJhY2suYworKysrIGIvYmxvY2svYWxsb2MtdHJhY2suYworQEAg LTM0LDcgKzM0LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgeworICAgICBCZHJ2RGlydHlCaXRtYXAgKmJp dG1hcDsKKyAgICAgdWludDY0X3QgZ3JhbnVsYXJpdHk7CisgICAgIERyb3BTdGF0ZSBkcm9wX3N0 YXRlOworLSAgICBib29sIGF1dG9fcmVtb3ZlOworIH0gQkRSVkFsbG9jVHJhY2tTdGF0ZTsKKyAK KyBzdGF0aWMgUWVtdU9wdHNMaXN0IHJ1bnRpbWVfb3B0cyA9IHsKK0BAIC04Niw3ICs4NSwxMSBA QCBzdGF0aWMgaW50IHRyYWNrX29wZW4oQmxvY2tEcml2ZXJTdGF0ZSAqYnMsIFFEaWN0ICpvcHRp b25zLCBpbnQgZmxhZ3MsCisgICAgICAgICBnb3RvIGZhaWw7CisgICAgIH0KKyAKKy0gICAgcy0+ YXV0b19yZW1vdmUgPSBxZW11X29wdF9nZXRfYm9vbChvcHRzLCBUUkFDS19PUFRfQVVUT19SRU1P VkUsIGZhbHNlKTsKKysgICAgaWYgKCFxZW11X29wdF9nZXRfYm9vbChvcHRzLCBUUkFDS19PUFRf QVVUT19SRU1PVkUsIGZhbHNlKSkgeworKyAgICAgICAgZXJyb3Jfc2V0ZyhlcnJwLCAiYWxsb2Mt dHJhY2s6IHJlcXVpcmVzIGF1dG8tcmVtb3ZlIG9wdGlvbiB0byBiZSBzZXQgdG8gb24iKTsKKysg ICAgICAgIHJldCA9IC1FSU5WQUw7CisrICAgICAgICBnb3RvIGZhaWw7CisrICAgIH0KKyAKKyAg ICAgLyogb3BlbiB0aGUgdGFyZ2V0ICh3cml0ZSkgbm9kZSwgYmFja2luZyB3aWxsIGJlIGF0dGFj aGVkIGJ5IGJsb2NrIGxheWVyICovCisgICAgIGZpbGUgPSBiZHJ2X29wZW5fY2hpbGQoTlVMTCwg b3B0aW9ucywgImZpbGUiLCBicywgJmNoaWxkX29mX2JkcywKZGlmZiAtLWdpdCBhL2RlYmlhbi9w YXRjaGVzL3B2ZS8wMDQzLWFsbG9jLXRyYWNrLWZpeC1kZWFkbG9jay1kdXJpbmctZHJvcC5wYXRj aCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQzLWFsbG9jLXRyYWNrLWZpeC1kZWFkbG9jay1kdXJp bmctZHJvcC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTUzYjhlZi4uMDAw MDAwMAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0My1hbGxvYy10cmFjay1maXgtZGVhZGxv Y2stZHVyaW5nLWRyb3AucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNTQgKzAsMCBAQAotRnJv bSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+Ci1EYXRl OiBUaHUsIDYgQXByIDIwMjMgMTQ6NTk6MzEgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gYWxsb2Mt dHJhY2s6IGZpeCBkZWFkbG9jayBkdXJpbmcgZHJvcAotCi1ieSByZXBsYWNpbmcgdGhlIGJsb2Nr IG5vZGUgZGlyZWN0bHkgYWZ0ZXIgY2hhbmdpbmcgdGhlIGJhY2tpbmcgZmlsZQotaW5zdGVhZCBv ZiByZXNjaGVkdWxpbmcgaXQuCi0KLVdpdGggY2hhbmdlcyBpbiBRRU1VIDguMCwgY2FsbGluZyBi ZHJ2X2dldF9pbmZvIChhbmQgYmRydl91bnJlZikKLWR1cmluZyBkcm9wIGNhbiBsZWFkIHRvIGEg ZGVhZGxvY2sgd2hlbiB1c2luZyBpb3RocmVhZCAob25seSB0cmlnZ2VyZWQKLXdpdGggbXVsdGlw bGUgZGlza3MsIGV4Y2VwdCBkdXJpbmcgZGVidWdnaW5nIHdoZXJlIGl0IGFsc28gdHJpZ2dlcmVk Ci13aXRoIG9uZSBkaXNrIHNvbWV0aW1lcyk6Ci0xLiBqb2JfdW5yZWZfbG9ja2VkIGFjcXVpcmVz IHRoZSBBaW9Db250ZXh0IGFuZCBjYWxscyBqb2ItPmRyaXZlci0+ZnJlZQotMi4gdHJhY2tfZHJv cCBnZXRzIHNjaGVkdWxlZAotMy4gYmRydl9ncmFwaF93cmxvY2sgaXMgY2FsbGVkIGFuZCBwb2xs cyB3aGljaCBsZWFkcyB0byB0cmFja19kcm9wIGJlaW5nCi0gICBjYWxsZWQKLTQuIHRyYWNrX2Ry b3AgYWNxdWlyZXMgdGhlIEFpb0NvbnRleHQgcmVjdXJzaXZlbHkKLTUuIGJkcnZfZ2V0X2luZm8g aXMgYSB3cmFwcGVkIGNvcm91dGluZSAoc2luY2UgOC4wKSBhbmQgdGh1cyBwb2xscyBmb3IKLSAg IGJkcnZfY29fZ2V0X2luZm8uIFRoaXMgcmVsZWFzZXMgdGhlIEFpb0NvbnRleHQsIGJ1dCBvbmx5 IG9uY2UhIFRoZQotICAgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEFJT19XQUlUX1dISUxFIG1hY3Jv IHN0YXRlcyB0aGF0IHRoZQotICAgQWlvQ29udGV4dCBsb2NrIG5lZWRzIHRvIGJlIGFjcXVpcmVk IGV4YWN0bHkgb25jZSwgYnV0IHRoZXJlIGRvZXMKLSAgIG5vdCBzZWVtIHRvIGJlIGEgd2F5IGZv ciB0cmFja19kcm9wIHRvIGtub3cgaWYgaXQgYWNxdWlyZWQgdGhlIGxvY2sKLSAgIHJlY3Vyc2l2 ZWx5IG9yIG5vdCAod2l0aG91dCBhZGRpbmcgZnVydGhlciBoYWNrcykuCi02LiBCZWNhdXNlIHRo ZSBBaW9Db250ZXh0IGlzIHN0aWxsIGhlbGQgYnkgdGhlIG1haW4gdGhyZWFkIG9uY2UsIGl0IGNh bid0Ci0gICBiZSBhY3F1aXJlZCBiZWZvcmUgZW50ZXJpbmcgYmRydl9jb19nZXRfaW5mbyBpbiBj b19zY2hlZHVsZV9iaF9jYgotICAgd2hpY2ggaGFwcGVucyBpbiB0aGUgaW90aHJlYWQKLQotV2hl biBkb2luZyB0aGUgb3BlcmF0aW9uIGluIGNoYW5nZV9iYWNraW5nX2ZpbGUsIHRoZSBBaW9Db250 ZXh0IGhhcwotYWxyZWFkeSBiZWVuIGFjcXVpcmVkIGJ5IHRoZSBjYWxsZXIsIHNvIHRoZSBpc3N1 ZSB3aXRoIHRoZSByZWN1cnNpdmUKLWxvY2sgZ29lcyBhd2F5LgotCi1UaGUgY29tbWVudCBleHBs YWluaW5nIHdoeSBkZWxheWluZyB0aGUgcmVwbGFjZSBpcyBuZWNlc3NhcnkgaXMKLT4gd2UgbmVl ZCB0byBzY2hlZHVsZSB0aGlzIGZvciBsYXRlciBob3dldmVyLCBzaW5jZSB3aGVuIHRoaXMgZnVu Y3Rpb24KLT4gaXMgY2FsbGVkLCB0aGUgYmxvY2tqb2IgbW9kaWZ5aW5nIHVzIGlzIHByb2JhYmx5 IG5vdCBkb25lIHlldCBhbmQKLT4gaGFzIGEgYmxvY2tlciBvbiAnYnMnCi0KLUhvd2V2ZXIsIHRo ZXJlIGlzIG5vIGNoZWNrIGZvciBibG9ja2VycyBpbiBiZHJ2X3JlcGxhY2Vfbm9kZS4gSXQgd291 bGQKLW5lZWQgdG8gYmUgZG9uZSBieSB1cywgdGhlIGNhbGxlciwgd2l0aCBjaGVja190b19yZXBs YWNlX25vZGUuCi1GdXJ0aGVybW9yZSwgdGhlIG1pcnJvciBqb2IgYWxzbyBkb2VzIGl0cyBjYWxs IHRvIGJkcnZfcmVwbGFjZV9ub2RlCi13aGlsZSB0aGVyZSBpcyBhbiBhY3RpdmUgYmxvY2tlciAo aW5zZXJ0ZWQgYnkgbWlycm9yIGl0c2VsZikgYW5kIHRoZXkKLXVzZSBhIHNwZWNpYWxpemVkIHZl cnNpb24gdG8gY2hlY2sgZm9yIGJsb2NrZXJzIGluc3RlYWQgb2YKLWNoZWNrX3RvX3JlcGxhY2Vf bm9kZSB0aGVyZS4gQWxsb2MtdHJhY2sgY291bGQgYWxzbyBkbyBzb21ldGhpbmcKLXNpbWlsYXIg dG8gY2hlY2sgZm9yIG90aGVyIGJsb2NrZXJzLCBidXQgaXQgc2hvdWxkIGJlIGZpbmUgdG8gcmVs eSBvbgotUHJveG1veCBWRSB0aGF0IG5vIG90aGVyIG9wZXJhdGlvbiB3aXRoIHRoZSBibG9ja2Rl diBpcyBnb2luZyBvbi4KLQotTWlycm9yIGFsc28gZHJhaW5zIHRoZSB0YXJnZXQgYmVmb3JlIHJl cGxhY2luZyB0aGUgbm9kZSwgYnV0IHRoZQotdGFyZ2V0IGNhbiBoYXZlIG90aGVyIHVzZXJzLiBJ biBjYXNlIG9mIGFsbG9jLXRyYWNrIHRoZSBmaWxlIGNoaWxkCi1zaG91bGQgbm90IGJlIGFjY2Vz c2libGUgYnkgYW55Ym9keSBlbHNlIGFuZCBzbyB0aGVyZSBjYW4ndCBiZSBhbgotaW4tZmxpZ2h0 IG9wZXJhdGlvbiBmb3IgdGhlIGZpbGUgY2hpbGQgd2hlbiBhbGxvYy10cmFjayBpcyBkcmFpbmVk LgotCi1UaGUgcmVzY2hlZHVsaW5nIGJhc2VkIG9uIHJlZmNvdW50aW5nIGlzIGEgaGFjayBhbmQg aXQgZG9lc24ndCBzZWVtIHRvCi1iZSBuZWNlc3NhcnkgYW55bW9yZS4gSXQncyBub3QgY2xlYXIg d2hhdCB0aGUgb3JpZ2luYWwgaXNzdWUgZnJvbSB0aGUKLWNvbW1lbnQgd2FzLiBUZXN0aW5nIHdp dGggb2xkZXIgYnVpbGRzIHdpdGggdHJhY2tfZHJvcCBkb25lIGRpcmVjdGx5Ci13aXRob3V0IHJl c2NoZWR1bGluZyBhbHNvIGRpZG4ndCBsZWFkIHRvIGFueSBub3RpY2FibGUgaXNzdWUgZm9yIG1l LgotCi1PbmUgaXNzdWUgaXQgbWlnaHQgaGF2ZSBiZWVuIGlzIHRoZSBvbmUgZml4ZWQgYnkgYjFl MWFmMzk0ZAotKCJibG9jay9zdHJlYW06IERyYWluIHN1YnRyZWUgYXJvdW5kIGdyYXBoIGNoYW5n ZSIpLCB3aGVyZQotYmxvY2stc3RyZWFtIGhhZCBhIHVzZS1hZnRlci1mcmVlIGlmIHRoZSBiYXNl IG5vZGUgY2hhbmdlZCBhdCBhbgotaW5jb252ZW5pZW50IHRpbWUgKHdoaWNoIGFsbG9jLXRyYWNr J3MgYXV0by1kcm9wIGRvZXMpLgotCi1JdCdzIGFsc28gbm90IHBvc3NpYmxlIHRvIGp1c3Qgbm90 IGF1dG8tcmVwbGFjZSB0aGUgYWxsb2MtdHJhY2suIE5vdAotcmVwbGFjaW5nIGl0IGF0IGFsbCBs ZWFkcyB0byBvdGhlciBvcGVyYXRpb25zIGxpa2UgYmxvY2sgcmVzaXplCi1oYW5naW5nLCBhbmQg dGhlcmUgaXMgbm8gZ29vZCB3YXkgdG8gcmVwbGFjZSBpdCBtYW51YWxseSB2aWEgUU1QCi0odGhl cmUgaXMgeC1ibG9ja2Rldi1jaGFuZ2UsIGJ1dCBpdCBpcyBleHBlcmltZW50YWwgYW5kIGRvZXNu J3QKLWltcGxlbWVudCB0aGUgcmVxdWlyZWQgb3BlcmF0aW9uIHlldCkuIEFsc28sIGl0J3MganVz dCBjbGVhbmVyIGluCi1nZW5lcmFsIHRvIG5vdCBsZWF2ZSB1bm5lY2Vzc2FyeSBibG9jayBub2Rl cyBseWluZyBhcm91bmQuCi0KLVN1Z2dlc3RlZC1ieTogV29sZmdhbmcgQnVtaWxsZXIgPHcuYnVt aWxsZXJAcHJveG1veC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBw cm94bW94LmNvbT4KLVNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVjaHQgPHQubGFtcHJlY2h0 QHByb3htb3guY29tPgotLS0tCi0gYmxvY2svYWxsb2MtdHJhY2suYyB8IDU0ICsrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxNiBp bnNlcnRpb25zKCspLCAzOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2Jsb2NrL2FsbG9j LXRyYWNrLmMgYi9ibG9jay9hbGxvYy10cmFjay5jCi1pbmRleCBiNzVkN2M2NDYwLi43NmRhMTQw YTY4IDEwMDY0NAotLS0tIGEvYmxvY2svYWxsb2MtdHJhY2suYwotKysrIGIvYmxvY2svYWxsb2Mt dHJhY2suYwotQEAgLTI1LDcgKzI1LDYgQEAKLSAKLSB0eXBlZGVmIGVudW0gRHJvcFN0YXRlIHsK LSAgICAgRHJvcE5vbmUsCi0tICAgIERyb3BSZXF1ZXN0ZWQsCi0gICAgIERyb3BJblByb2dyZXNz LAotIH0gRHJvcFN0YXRlOwotIAotQEAgLTI2OCwzNyArMjY3LDYgQEAgc3RhdGljIHZvaWQgdHJh Y2tfY2hpbGRfcGVybShCbG9ja0RyaXZlclN0YXRlICpicywgQmRydkNoaWxkICpjLAotICAgICB9 Ci0gfQotIAotLXN0YXRpYyB2b2lkIHRyYWNrX2Ryb3Aodm9pZCAqb3BhcXVlKQotLXsKLS0gICAg QmxvY2tEcml2ZXJTdGF0ZSAqYnMgPSAoQmxvY2tEcml2ZXJTdGF0ZSopb3BhcXVlOwotLSAgICBC bG9ja0RyaXZlclN0YXRlICpmaWxlID0gYnMtPmZpbGUtPmJzOwotLSAgICBCRFJWQWxsb2NUcmFj a1N0YXRlICpzID0gYnMtPm9wYXF1ZTsKLS0KLS0gICAgYXNzZXJ0KGZpbGUpOwotLQotLSAgICAv KiB3ZSByZWx5IG9uIHRoZSBmYWN0IHRoYXQgd2UncmUgbm90IHVzZWQgYW55d2hlcmUgZWxzZSwg c28gbGV0J3Mgd2FpdAotLSAgICAgKiB1bnRpbCB3ZSdyZSBvbmx5IHVzZWQgb25jZSAtIGluIHRo ZSBkcml2ZSBjb25uZWN0ZWQgdG8gdGhlIGd1ZXN0IChhbmQgb25lCi0tICAgICAqIHJlZiBpcyBo ZWxkIGJ5IGJkcnZfcmVmIGluIHRyYWNrX2NoYW5nZV9iYWNraW5nX2ZpbGUpICovCi0tICAgIGlm IChicy0+cmVmY250ID4gMikgewotLSAgICAgICAgYWlvX2JoX3NjaGVkdWxlX29uZXNob3QocWVt dV9nZXRfYWlvX2NvbnRleHQoKSwgdHJhY2tfZHJvcCwgb3BhcXVlKTsKLS0gICAgICAgIHJldHVy bjsKLS0gICAgfQotLSAgICBBaW9Db250ZXh0ICphaW9fY29udGV4dCA9IGJkcnZfZ2V0X2Fpb19j b250ZXh0KGJzKTsKLS0gICAgYWlvX2NvbnRleHRfYWNxdWlyZShhaW9fY29udGV4dCk7Ci0tCi0t ICAgIGJkcnZfZHJhaW5lZF9iZWdpbihicyk7Ci0tCi0tICAgIC8qIG5vdyB0aGF0IHdlJ3JlIGRy YWluZWQsIHdlIGNhbiBzYWZlbHkgc2V0ICdEcm9wSW5Qcm9ncmVzcycgKi8KLS0gICAgcy0+ZHJv cF9zdGF0ZSA9IERyb3BJblByb2dyZXNzOwotLSAgICBiZHJ2X2NoaWxkX3JlZnJlc2hfcGVybXMo YnMsIGJzLT5maWxlLCAmZXJyb3JfYWJvcnQpOwotLQotLSAgICBiZHJ2X3JlcGxhY2Vfbm9kZShi cywgZmlsZSwgJmVycm9yX2Fib3J0KTsKLS0gICAgYmRydl9zZXRfYmFja2luZ19oZChicywgTlVM TCwgJmVycm9yX2Fib3J0KTsKLS0gICAgYmRydl9kcmFpbmVkX2VuZChicyk7Ci0tICAgIGJkcnZf dW5yZWYoYnMpOwotLSAgICBhaW9fY29udGV4dF9yZWxlYXNlKGFpb19jb250ZXh0KTsKLS19Ci0t Ci0gc3RhdGljIGludCB0cmFja19jaGFuZ2VfYmFja2luZ19maWxlKEJsb2NrRHJpdmVyU3RhdGUg KmJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpi YWNraW5nX2ZpbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGNoYXIgKmJhY2tpbmdfZm10KQotQEAgLTMwOCwxMyArMjc2LDIzIEBAIHN0YXRpYyBpbnQgdHJh Y2tfY2hhbmdlX2JhY2tpbmdfZmlsZShCbG9ja0RyaXZlclN0YXRlICpicywKLSAgICAgICAgIGJh Y2tpbmdfZmlsZSA9PSBOVUxMICYmIGJhY2tpbmdfZm10ID09IE5VTEwpCi0gICAgIHsKLSAgICAg ICAgIC8qIGJhY2tpbmcgZmlsZSBoYXMgYmVlbiBkaXNjb25uZWN0ZWQsIHRoZXJlJ3Mgbm8gbG9u Z2VyIGFueSB1c2UgZm9yCi0tICAgICAgICAgKiB0aGlzIG5vZGUsIHNvIGxldCdzIHJlbW92ZSBv dXJzZWx2ZXMgZnJvbSB0aGUgYmxvY2sgZ3JhcGggLSB3ZSBuZWVkCi0tICAgICAgICAgKiB0byBz Y2hlZHVsZSB0aGlzIGZvciBsYXRlciBob3dldmVyLCBzaW5jZSB3aGVuIHRoaXMgZnVuY3Rpb24g aXMKLS0gICAgICAgICAqIGNhbGxlZCwgdGhlIGJsb2Nram9iIG1vZGlmeWluZyB1cyBpcyBwcm9i YWJseSBub3QgZG9uZSB5ZXQgYW5kIGhhcyBhCi0tICAgICAgICAgKiBibG9ja2VyIG9uICdicycg Ki8KLS0gICAgICAgIHMtPmRyb3Bfc3RhdGUgPSBEcm9wUmVxdWVzdGVkOwotKyAgICAgICAgICog dGhpcyBub2RlLCBzbyBsZXQncyByZW1vdmUgb3Vyc2VsdmVzIGZyb20gdGhlIGJsb2NrIGdyYXBo ICovCi0rICAgICAgICBCbG9ja0RyaXZlclN0YXRlICpmaWxlID0gYnMtPmZpbGUtPmJzOwotKwot KyAgICAgICAgLyogSnVzdCB0byBiZSBzdXJlLCBiZWNhdXNlIGJkcnZfcmVwbGFjZV9ub2RlIHVu cmVmcyBpdCAqLwotICAgICAgICAgYmRydl9yZWYoYnMpOwotLSAgICAgICAgYWlvX2JoX3NjaGVk dWxlX29uZXNob3QocWVtdV9nZXRfYWlvX2NvbnRleHQoKSwgdHJhY2tfZHJvcCwgKHZvaWQqKWJz KTsKLSsgICAgICAgIGJkcnZfZHJhaW5lZF9iZWdpbihicyk7Ci0rCi0rICAgICAgICAvKiBub3cg dGhhdCB3ZSdyZSBkcmFpbmVkLCB3ZSBjYW4gc2FmZWx5IHNldCAnRHJvcEluUHJvZ3Jlc3MnICov Ci0rICAgICAgICBzLT5kcm9wX3N0YXRlID0gRHJvcEluUHJvZ3Jlc3M7Ci0rCi0rICAgICAgICBi ZHJ2X2NoaWxkX3JlZnJlc2hfcGVybXMoYnMsIGJzLT5maWxlLCAmZXJyb3JfYWJvcnQpOwotKwot KyAgICAgICAgYmRydl9yZXBsYWNlX25vZGUoYnMsIGZpbGUsICZlcnJvcl9hYm9ydCk7Ci0rICAg ICAgICBiZHJ2X3NldF9iYWNraW5nX2hkKGJzLCBOVUxMLCAmZXJyb3JfYWJvcnQpOwotKwotKyAg ICAgICAgYmRydl9kcmFpbmVkX2VuZChicyk7Ci0rICAgICAgICBiZHJ2X3VucmVmKGJzKTsKLSAg ICAgfQotIAotICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8w MDQ0LWFsbG9jLXRyYWNrLWF2b2lkLXNlZW1pbmdseS1zdXBlcmZsdW91cy1jaGlsZC1wZXJtaXMu cGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0NC1hbGxvYy10cmFjay1hdm9pZC1zZWVtaW5n bHktc3VwZXJmbHVvdXMtY2hpbGQtcGVybWlzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLmU0Y2M5NDcKLS0tIC9kZXYvbnVsbAorKysgYi9kZWJpYW4vcGF0Y2hlcy9w dmUvMDA0NC1hbGxvYy10cmFjay1hdm9pZC1zZWVtaW5nbHktc3VwZXJmbHVvdXMtY2hpbGQtcGVy bWlzLnBhdGNoCkBAIC0wLDAgKzEsODQgQEAKK0Zyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEZpb25hIEVi bmVyIDxmLmVibmVyQHByb3htb3guY29tPgorRGF0ZTogV2VkLCAyNyBNYXIgMjAyNCAxMToxNToz OSArMDEwMAorU3ViamVjdDogW1BBVENIXSBhbGxvYy10cmFjazogYXZvaWQgc2VlbWluZ2x5IHN1 cGVyZmx1b3VzIGNoaWxkIHBlcm1pc3Npb24KKyB1cGRhdGUKKworRG9lc24ndCBzZWVtIG5lY2Vz c2FyeSBub3dhZGF5cyAobWF5YmUgYWZ0ZXIgY29tbWl0ICJhbGxvYy10cmFjazogZml4CitkZWFk bG9jayBkdXJpbmcgZHJvcCIgd2hlcmUgdGhlIGRyb3BwaW5nIGlzIG5vdCByZXNjaGVkdWxlZCBh bmQgZGVsYXllZAorYW55bW9yZSBvciBzb21lIHVwc3RyZWFtIGNoYW5nZSkuIFNob3VsZCB0aGVy ZSByZWFsbHkgYmUgc29tZSBpc3N1ZSwKK2luc3RlYWQgb2YgaGF2aW5nIGEgZHJvcCBzdGF0ZSwg dGhpcyBjb3VsZCBhbHNvIGJlIGp1c3QgYmFzZWQgb2ZmIHRoZQorZmFjdCB3aGV0aGVyIHRoZXJl IGlzIHN0aWxsIGEgYmFja2luZyBjaGlsZC4KKworRHVtcGluZyB0aGUgY3VtdWxhdGl2ZSAoc2hh cmVkKSBwZXJtaXNzaW9ucyBmb3IgdGhlIEJEUyB3aXRoIGEgZGVidWcKK3ByaW50IHlpZWxkcyB0 aGUgc2FtZSB2YWx1ZXMgYWZ0ZXIgdGhpcyBwYXRjaCBhbmQgd2l0aCBRRU1VIDguMSwKK25hbWVs eSAzIGFuZCA1LgorCitTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94 LmNvbT4KKy0tLQorIGJsb2NrL2FsbG9jLXRyYWNrLmMgfCAyNiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBh L2Jsb2NrL2FsbG9jLXRyYWNrLmMgYi9ibG9jay9hbGxvYy10cmFjay5jCitpbmRleCBkYWQ4ZmU2 Mzc1Li43YWZmOTc2M2FkIDEwMDY0NAorLS0tIGEvYmxvY2svYWxsb2MtdHJhY2suYworKysrIGIv YmxvY2svYWxsb2MtdHJhY2suYworQEAgLTI1LDE1ICsyNSw5IEBACisgCisgI2RlZmluZSBUUkFD S19PUFRfQVVUT19SRU1PVkUgImF1dG8tcmVtb3ZlIgorIAorLXR5cGVkZWYgZW51bSBEcm9wU3Rh dGUgeworLSAgICBEcm9wTm9uZSwKKy0gICAgRHJvcEluUHJvZ3Jlc3MsCistfSBEcm9wU3RhdGU7 CistCisgdHlwZWRlZiBzdHJ1Y3QgeworICAgICBCZHJ2RGlydHlCaXRtYXAgKmJpdG1hcDsKKyAg ICAgdWludDY0X3QgZ3JhbnVsYXJpdHk7CistICAgIERyb3BTdGF0ZSBkcm9wX3N0YXRlOworIH0g QkRSVkFsbG9jVHJhY2tTdGF0ZTsKKyAKKyBzdGF0aWMgUWVtdU9wdHNMaXN0IHJ1bnRpbWVfb3B0 cyA9IHsKK0BAIC0xMzcsOCArMTMxLDYgQEAgc3RhdGljIGludCB0cmFja19vcGVuKEJsb2NrRHJp dmVyU3RhdGUgKmJzLCBRRGljdCAqb3B0aW9ucywgaW50IGZsYWdzLAorICAgICAgICAgZ290byBm YWlsOworICAgICB9CisgCistICAgIHMtPmRyb3Bfc3RhdGUgPSBEcm9wTm9uZTsKKy0KKyBmYWls OgorICAgICBpZiAocmV0IDwgMCkgeworICAgICAgICAgYmRydl9ncmFwaF93cmxvY2soYnMpOwor QEAgLTI4OSwxOCArMjgxLDggQEAgdHJhY2tfY2hpbGRfcGVybShCbG9ja0RyaXZlclN0YXRlICpi cywgQmRydkNoaWxkICpjLCBCZHJ2Q2hpbGRSb2xlIHJvbGUsCisgICAgICAgICAgICAgICAgICBC bG9ja1Jlb3BlblF1ZXVlICpyZW9wZW5fcXVldWUsIHVpbnQ2NF90IHBlcm0sIHVpbnQ2NF90IHNo YXJlZCwKKyAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpucGVybSwgdWludDY0X3QgKm5zaGFy ZWQpCisgeworLSAgICBCRFJWQWxsb2NUcmFja1N0YXRlICpzID0gYnMtPm9wYXF1ZTsKKy0KKyAg ICAgKm5zaGFyZWQgPSBCTEtfUEVSTV9BTEw7CisgCistICAgIC8qIGluIGNhc2Ugd2UncmUgY3Vy cmVudGx5IGRyb3BwaW5nIG91cnNlbHZlcywgY2xhaW0gdG8gbm90IHVzZSBhbnkKKy0gICAgICog cGVybWlzc2lvbnMgYXQgYWxsIC0gd2hpY2ggaXMgZmluZSwgc2luY2UgZnJvbSB0aGlzIHBvaW50 IG9uIHdlIHdpbGwKKy0gICAgICogbmV2ZXIgaXNzdWUgYSByZWFkIG9yIHdyaXRlIGFueW1vcmUg Ki8KKy0gICAgaWYgKHMtPmRyb3Bfc3RhdGUgPT0gRHJvcEluUHJvZ3Jlc3MpIHsKKy0gICAgICAg ICpucGVybSA9IDA7CistICAgICAgICByZXR1cm47CistICAgIH0KKy0KKyAgICAgaWYgKHJvbGUg JiBCRFJWX0NISUxEX0RBVEEpIHsKKyAgICAgICAgICpucGVybSA9IHBlcm0gJiBERUZBVUxUX1BF Uk1fUEFTU1RIUk9VR0g7CisgICAgIH0gZWxzZSB7CitAQCAtMzI2LDE0ICszMDgsNiBAQCB0cmFj a19jb19jaGFuZ2VfYmFja2luZ19maWxlKEJsb2NrRHJpdmVyU3RhdGUgKmJzLCBjb25zdCBjaGFy ICpiYWNraW5nX2ZpbGUsCisgICAgICAqIGtpbmRhIGZpdHMgYmV0dGVyLCBidXQgaW4gdGhlIGxv bmctdGVybSwgYSBzcGVjaWFsIHBhcmFtZXRlciB3b3VsZCBiZQorICAgICAgKiBuaWNlIChvciBk b25lIHZpYSBxZW11LXNlcnZlciB2aWEgdXBjb21pbmcgYmxvY2tkZXYtcmVwbGFjZSBRTVAgY29t bWFuZCkuCisgICAgICAqLworLSAgICBpZiAoYmFja2luZ19maWxlID09IE5VTEwpIHsKKy0gICAg ICAgIEJEUlZBbGxvY1RyYWNrU3RhdGUgKnMgPSBicy0+b3BhcXVlOworLSAgICAgICAgYmRydl9k cmFpbmVkX2JlZ2luKGJzKTsKKy0gICAgICAgIHMtPmRyb3Bfc3RhdGUgPSBEcm9wSW5Qcm9ncmVz czsKKy0gICAgICAgIGJkcnZfY2hpbGRfcmVmcmVzaF9wZXJtcyhicywgYnMtPmZpbGUsICZlcnJv cl9hYm9ydCk7CistICAgICAgICBiZHJ2X2RyYWluZWRfZW5kKGJzKTsKKy0gICAgfQorLQorICAg ICByZXR1cm4gMDsKKyB9CisgCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0NC1t aWdyYXRpb24tZm9yLXNuYXBzaG90cy1ob2xkLXRoZS1CUUwtZHVyaW5nLXNldHVwLWNhLnBhdGNo IGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwNDQtbWlncmF0aW9uLWZvci1zbmFwc2hvdHMtaG9sZC10 aGUtQlFMLWR1cmluZy1zZXR1cC1jYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggNjM1ZjY0YS4uMDAwMDAwMAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0NC1taWdyYXRp b24tZm9yLXNuYXBzaG90cy1ob2xkLXRoZS1CUUwtZHVyaW5nLXNldHVwLWNhLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMTkxICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZpb25hIEVi bmVyIDxmLmVibmVyQHByb3htb3guY29tPgotRGF0ZTogRnJpLCA1IE1heSAyMDIzIDEzOjM5OjUz ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG1pZ3JhdGlvbjogZm9yIHNuYXBzaG90cywgaG9sZCB0 aGUgQlFMIGR1cmluZyBzZXR1cCBjYWxsYmFja3MKLQotSW4gc3Bpcml0LCB0aGlzIGlzIGEgcGFy dGlhbCByZXZlcnQgb2YgY29tbWl0IDliMDk1MDM3NTIgKCJtaWdyYXRpb246Ci1ydW4gc2V0dXAg Y2FsbGJhY2tzIG91dCBvZiBiaWcgbG9jayIpLCBidXQgb25seSBmb3IgdGhlIHNuYXBzaG90IGNh c2UuCi0KLUZvciBzbmFwc2hvdHMsIHRoZSBiZHJ2X3dyaXRldl92bXN0YXRlKCkgZnVuY3Rpb24g aXMgdXNlZCBkdXJpbmcgc2V0dXAKLShpbiBRSU9DaGFubmVsQmxvY2sgYmFja2luZyB0aGUgUUVN VUZpbGUpLCBidXQgbm90IGhvbGRpbmcgdGhlIEJRTAotd2hpbGUgY2FsbGluZyBpdCBjb3VsZCBs ZWFkIHRvIGFuIGFzc2VydGlvbiBmYWlsdXJlLiBUbyB1bmRlcnN0YW5kCi1ob3csIGZpcnN0IG5v dGUgdGhlIGZvbGxvd2luZzoKLQotMS4gR2VuZXJhdGVkIGNvcm91dGluZSB3cmFwcGVycyBmb3Ig YmxvY2sgbGF5ZXIgZnVuY3Rpb25zIHNwYXduIHRoZQotY29yb3V0aW5lIGFuZCB1c2UgQUlPX1dB SVRfV0hJTEUoKS9haW9fcG9sbCgpIHRvIHdhaXQgZm9yIGl0LgotMi4gSWYgdGhlIGhvc3QgT1Mg c3dpdGNoZXMgdGhyZWFkcyBhdCBhbiBpbmNvbnZlbmllbnQgdGltZSwgaXQgY2FuCi1oYXBwZW4g dGhhdCBhIGJvdHRvbSBoYWxmIHNjaGVkdWxlZCBmb3IgdGhlIG1haW4gdGhyZWFkJ3MgQWlvQ29u dGV4dAotaXMgZXhlY3V0ZWQgYXMgcGFydCBvZiBhIHZDUFUgdGhyZWFkJ3MgYWlvX3BvbGwoKS4K LQotQW4gZXhhbXBsZSBsZWFkaW5nIHRvIHRoZSBhc3NlcnRpb24gZmFpbHVyZSBpcyBhcyBmb2xs b3dzOgotCi1tYWluIHRocmVhZDoKLTEuIEEgc25hcHNob3Qtc2F2ZSBRTVAgY29tbWFuZCBnZXRz IGlzc3VlZC4KLTIuIHNuYXBzaG90X3NhdmVfam9iX2JoKCkgaXMgc2NoZWR1bGVkLgotCi12Q1BV IHRocmVhZDoKLTMuIGFpb19wb2xsKCkgZm9yIHRoZSBtYWluIHRocmVhZCdzIEFpb0NvbnRleHQg aXMgY2FsbGVkIChlLmcuIHdoZW4KLXRoZSBndWVzdCB3cml0ZXMgdG8gYSBwZmxhc2ggZGV2aWNl LCBhcyBwYXJ0IG9mIGJsa19wd3JpdGUgd2hpY2ggaXMgYQotZ2VuZXJhdGVkIGNvcm91dGluZSB3 cmFwcGVyKS4KLTQuIHNuYXBzaG90X3NhdmVfam9iX2JoKCkgaXMgZXhlY3V0ZWQgYXMgcGFydCBv ZiBhaW9fcG9sbCgpLgotMy4gcWVtdV9zYXZldm1fc3RhdGUoKSBpcyBjYWxsZWQuCi00LiBxZW11 X211dGV4X3VubG9ja19pb3RocmVhZCgpIGlzIGNhbGxlZC4gTm93Ci1xZW11X2dldF9jdXJyZW50 X2Fpb19jb250ZXh0KCkgcmV0dXJucyAweDAuCi01LiBiZHJ2X3dyaXRldl92bXN0YXRlKCkgaXMg ZXhlY3V0ZWQgZHVyaW5nIHRoZSB1c3VhbCBzYXZldm0gc2V0dXAuCi1CdXQgdGhpcyBmdW5jdGlv biBpcyBhIGdlbmVyYXRlZCBjb3JvdXRpbmUgd3JhcHBlciwgc28gaXQgdXNlcwotQUlPX1dBSVRf V0hJTEUuIFRoZXJlLCB0aGUgYXNzZXJ0aW9uCi1hc3NlcnQocWVtdV9nZXRfY3VycmVudF9haW9f Y29udGV4dCgpID09IHFlbXVfZ2V0X2Fpb19jb250ZXh0KCkpOwotd2lsbCBmYWlsLgotCi1UbyBm aXggaXQsIGVuc3VyZSB0aGF0IHRoZSBCUUwgaXMgaGVsZCBkdXJpbmcgc2V0dXAuIFRvIGF2b2lk IGNoYW5naW5nCi10aGUgYmVoYXZpb3IgZm9yIG1pZ3JhdGlvbiB0b28sIGludHJvZHVjZSBjb25k aXRpb25hbHMgZm9yIHRoZSBzZXR1cAotY2FsbGJhY2tzIHRoYXQgbmVlZCB0aGUgQlFMIGFuZCBv bmx5IHRha2UgdGhlIGxvY2sgaWYgaXQncyBub3QgYWxyZWFkeQotaGVsZC4KLQotU2lnbmVkLW9m Zi1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBU aG9tYXMgTGFtcHJlY2h0IDx0LmxhbXByZWNodEBwcm94bW94LmNvbT4KLS0tLQotIGluY2x1ZGUv bWlncmF0aW9uL3JlZ2lzdGVyLmggICB8ICAyICstCi0gbWlncmF0aW9uL2Jsb2NrLWRpcnR5LWJp dG1hcC5jIHwgMTUgKysrKysrKysrKysrLS0tCi0gbWlncmF0aW9uL2Jsb2NrLmMgICAgICAgICAg ICAgIHwgMTUgKysrKysrKysrKysrLS0tCi0gbWlncmF0aW9uL3JhbS5jICAgICAgICAgICAgICAg IHwgMTYgKysrKysrKysrKysrKy0tLQotIG1pZ3JhdGlvbi9zYXZldm0uYyAgICAgICAgICAgICB8 ICAyIC0tCi0gNSBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMo LSkKLQotZGlmZiAtLWdpdCBhL2luY2x1ZGUvbWlncmF0aW9uL3JlZ2lzdGVyLmggYi9pbmNsdWRl L21pZ3JhdGlvbi9yZWdpc3Rlci5oCi1pbmRleCA5MDkxNGYzMmY1Li5jNzI4ZmQ5MTIwIDEwMDY0 NAotLS0tIGEvaW5jbHVkZS9taWdyYXRpb24vcmVnaXN0ZXIuaAotKysrIGIvaW5jbHVkZS9taWdy YXRpb24vcmVnaXN0ZXIuaAotQEAgLTQzLDkgKzQzLDkgQEAgdHlwZWRlZiBzdHJ1Y3QgU2F2ZVZN SGFuZGxlcnMgewotICAgICAgKiBieSBvdGhlciBsb2Nrcy4KLSAgICAgICovCi0gICAgIGludCAo KnNhdmVfbGl2ZV9pdGVyYXRlKShRRU1VRmlsZSAqZiwgdm9pZCAqb3BhcXVlKTsKLSsgICAgaW50 ICgqc2F2ZV9zZXR1cCkoUUVNVUZpbGUgKmYsIHZvaWQgKm9wYXF1ZSk7Ci0gCi0gICAgIC8qIFRo aXMgcnVucyBvdXRzaWRlIHRoZSBpb3RocmVhZCBsb2NrISAgKi8KLS0gICAgaW50ICgqc2F2ZV9z ZXR1cCkoUUVNVUZpbGUgKmYsIHZvaWQgKm9wYXF1ZSk7Ci0gICAgIC8qIE5vdGUgZm9yIHNhdmVf bGl2ZV9wZW5kaW5nOgotICAgICAgKiBtdXN0X3ByZWNvcHk6Ci0gICAgICAqIC0gbXVzdCBiZSBt aWdyYXRlZCBpbiBwcmVjb3B5IG9yIGluIHN0b3BwZWQgc3RhdGUKLWRpZmYgLS1naXQgYS9taWdy YXRpb24vYmxvY2stZGlydHktYml0bWFwLmMgYi9taWdyYXRpb24vYmxvY2stZGlydHktYml0bWFw LmMKLWluZGV4IDI4NWRkMWQxNDguLmY3ZWU1YTc0ZDkgMTAwNjQ0Ci0tLS0gYS9taWdyYXRpb24v YmxvY2stZGlydHktYml0bWFwLmMKLSsrKyBiL21pZ3JhdGlvbi9ibG9jay1kaXJ0eS1iaXRtYXAu YwotQEAgLTEyMTksMTAgKzEyMTksMTcgQEAgc3RhdGljIGludCBkaXJ0eV9iaXRtYXBfc2F2ZV9z ZXR1cChRRU1VRmlsZSAqZiwgdm9pZCAqb3BhcXVlKQotIHsKLSAgICAgREJNU2F2ZVN0YXRlICpz ID0gJigoREJNU3RhdGUgKilvcGFxdWUpLT5zYXZlOwotICAgICBTYXZlQml0bWFwU3RhdGUgKmRi bXMgPSBOVUxMOwotKyAgICBib29sIHJlbGVhc2VfbG9jayA9IGZhbHNlOwotIAotLSAgICBxZW11 X211dGV4X2xvY2tfaW90aHJlYWQoKTsKLSsgICAgLyogRm9yIHNuYXBzaG90cywgdGhlIEJRTCBp cyBoZWxkIGR1cmluZyBzZXR1cC4gKi8KLSsgICAgaWYgKCFxZW11X211dGV4X2lvdGhyZWFkX2xv Y2tlZCgpKSB7Ci0rICAgICAgICBxZW11X211dGV4X2xvY2tfaW90aHJlYWQoKTsKLSsgICAgICAg IHJlbGVhc2VfbG9jayA9IHRydWU7Ci0rICAgIH0KLSAgICAgaWYgKGluaXRfZGlydHlfYml0bWFw X21pZ3JhdGlvbihzKSA8IDApIHsKLS0gICAgICAgIHFlbXVfbXV0ZXhfdW5sb2NrX2lvdGhyZWFk KCk7Ci0rICAgICAgICBpZiAocmVsZWFzZV9sb2NrKSB7Ci0rICAgICAgICAgICAgcWVtdV9tdXRl eF91bmxvY2tfaW90aHJlYWQoKTsKLSsgICAgICAgIH0KLSAgICAgICAgIHJldHVybiAtMTsKLSAg ICAgfQotIAotQEAgLTEyMzAsNyArMTIzNyw5IEBAIHN0YXRpYyBpbnQgZGlydHlfYml0bWFwX3Nh dmVfc2V0dXAoUUVNVUZpbGUgKmYsIHZvaWQgKm9wYXF1ZSkKLSAgICAgICAgIHNlbmRfYml0bWFw X3N0YXJ0KGYsIHMsIGRibXMpOwotICAgICB9Ci0gICAgIHFlbXVfcHV0X2JpdG1hcF9mbGFncyhm LCBESVJUWV9CSVRNQVBfTUlHX0ZMQUdfRU9TKTsKLS0gICAgcWVtdV9tdXRleF91bmxvY2tfaW90 aHJlYWQoKTsKLSsgICAgaWYgKHJlbGVhc2VfbG9jaykgewotKyAgICAgICAgcWVtdV9tdXRleF91 bmxvY2tfaW90aHJlYWQoKTsKLSsgICAgfQotICAgICByZXR1cm4gMDsKLSB9Ci0gCi1kaWZmIC0t Z2l0IGEvbWlncmF0aW9uL2Jsb2NrLmMgYi9taWdyYXRpb24vYmxvY2suYwotaW5kZXggODZjMjI1 NmEyYi4uODQyM2UwYzlmOSAxMDA2NDQKLS0tLSBhL21pZ3JhdGlvbi9ibG9jay5jCi0rKysgYi9t aWdyYXRpb24vYmxvY2suYwotQEAgLTcyNSwyMSArNzI1LDMwIEBAIHN0YXRpYyB2b2lkIGJsb2Nr X21pZ3JhdGlvbl9jbGVhbnVwKHZvaWQgKm9wYXF1ZSkKLSBzdGF0aWMgaW50IGJsb2NrX3NhdmVf c2V0dXAoUUVNVUZpbGUgKmYsIHZvaWQgKm9wYXF1ZSkKLSB7Ci0gICAgIGludCByZXQ7Ci0rICAg IGJvb2wgcmVsZWFzZV9sb2NrID0gZmFsc2U7Ci0gCi0gICAgIHRyYWNlX21pZ3JhdGlvbl9ibG9j a19zYXZlKCJzZXR1cCIsIGJsb2NrX21pZ19zdGF0ZS5zdWJtaXR0ZWQsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJsb2NrX21pZ19zdGF0ZS50cmFuc2ZlcnJlZCk7Ci0gCi0tICAg IHFlbXVfbXV0ZXhfbG9ja19pb3RocmVhZCgpOwotKyAgICAvKiBGb3Igc25hcHNob3RzLCB0aGUg QlFMIGlzIGhlbGQgZHVyaW5nIHNldHVwLiAqLwotKyAgICBpZiAoIXFlbXVfbXV0ZXhfaW90aHJl YWRfbG9ja2VkKCkpIHsKLSsgICAgICAgIHFlbXVfbXV0ZXhfbG9ja19pb3RocmVhZCgpOwotKyAg ICAgICAgcmVsZWFzZV9sb2NrID0gdHJ1ZTsKLSsgICAgfQotICAgICByZXQgPSBpbml0X2Jsa19t aWdyYXRpb24oZik7Ci0gICAgIGlmIChyZXQgPCAwKSB7Ci0tICAgICAgICBxZW11X211dGV4X3Vu bG9ja19pb3RocmVhZCgpOwotKyAgICAgICAgaWYgKHJlbGVhc2VfbG9jaykgewotKyAgICAgICAg ICAgIHFlbXVfbXV0ZXhfdW5sb2NrX2lvdGhyZWFkKCk7Ci0rICAgICAgICB9Ci0gICAgICAgICBy ZXR1cm4gcmV0OwotICAgICB9Ci0gCi0gICAgIC8qIHN0YXJ0IHRyYWNrIGRpcnR5IGJsb2NrcyAq LwotICAgICByZXQgPSBzZXRfZGlydHlfdHJhY2tpbmcoKTsKLSAKLS0gICAgcWVtdV9tdXRleF91 bmxvY2tfaW90aHJlYWQoKTsKLSsgICAgaWYgKHJlbGVhc2VfbG9jaykgewotKyAgICAgICAgcWVt dV9tdXRleF91bmxvY2tfaW90aHJlYWQoKTsKLSsgICAgfQotIAotICAgICBpZiAocmV0KSB7Ci0g ICAgICAgICByZXR1cm4gcmV0OwotZGlmZiAtLWdpdCBhL21pZ3JhdGlvbi9yYW0uYyBiL21pZ3Jh dGlvbi9yYW0uYwotaW5kZXggNmUxNTE0ZjY5Zi4uNmExYWVjNzAzMSAxMDA2NDQKLS0tLSBhL21p Z3JhdGlvbi9yYW0uYwotKysrIGIvbWlncmF0aW9uL3JhbS5jCi1AQCAtMjg5Niw4ICsyODk2LDE2 IEBAIHN0YXRpYyB2b2lkIG1pZ3JhdGlvbl9iaXRtYXBfY2xlYXJfZGlzY2FyZGVkX3BhZ2VzKFJB TVN0YXRlICpycykKLSAKLSBzdGF0aWMgdm9pZCByYW1faW5pdF9iaXRtYXBzKFJBTVN0YXRlICpy cykKLSB7Ci0tICAgIC8qIEZvciBtZW1vcnlfZ2xvYmFsX2RpcnR5X2xvZ19zdGFydCBiZWxvdy4g ICovCi0tICAgIHFlbXVfbXV0ZXhfbG9ja19pb3RocmVhZCgpOwotKyAgICBib29sIHJlbGVhc2Vf bG9jayA9IGZhbHNlOwotKwotKyAgICAvKgotKyAgICAgKiBGb3IgbWVtb3J5X2dsb2JhbF9kaXJ0 eV9sb2dfc3RhcnQgYmVsb3cuCi0rICAgICAqIEZvciBzbmFwc2hvdHMsIHRoZSBCUUwgaXMgaGVs ZCBkdXJpbmcgc2V0dXAuCi0rICAgICAqLwotKyAgICBpZiAoIXFlbXVfbXV0ZXhfaW90aHJlYWRf bG9ja2VkKCkpIHsKLSsgICAgICAgIHFlbXVfbXV0ZXhfbG9ja19pb3RocmVhZCgpOwotKyAgICAg ICAgcmVsZWFzZV9sb2NrID0gdHJ1ZTsKLSsgICAgfQotICAgICBxZW11X211dGV4X2xvY2tfcmFt bGlzdCgpOwotIAotICAgICBXSVRIX1JDVV9SRUFEX0xPQ0tfR1VBUkQoKSB7Ci1AQCAtMjkwOSw3 ICsyOTE3LDkgQEAgc3RhdGljIHZvaWQgcmFtX2luaXRfYml0bWFwcyhSQU1TdGF0ZSAqcnMpCi0g ICAgICAgICB9Ci0gICAgIH0KLSAgICAgcWVtdV9tdXRleF91bmxvY2tfcmFtbGlzdCgpOwotLSAg ICBxZW11X211dGV4X3VubG9ja19pb3RocmVhZCgpOwotKyAgICBpZiAocmVsZWFzZV9sb2NrKSB7 Ci0rICAgICAgICBxZW11X211dGV4X3VubG9ja19pb3RocmVhZCgpOwotKyAgICB9Ci0gCi0gICAg IC8qCi0gICAgICAqIEFmdGVyIGFuIGV2ZW50dWFsIGZpcnN0IGJpdG1hcCBzeW5jLCBmaXh1cCB0 aGUgaW5pdGlhbCBiaXRtYXAKLWRpZmYgLS1naXQgYS9taWdyYXRpb24vc2F2ZXZtLmMgYi9taWdy YXRpb24vc2F2ZXZtLmMKLWluZGV4IGQ2MGM0ZjQ4N2EuLjNjMDE1NzIyZjcgMTAwNjQ0Ci0tLS0g YS9taWdyYXRpb24vc2F2ZXZtLmMKLSsrKyBiL21pZ3JhdGlvbi9zYXZldm0uYwotQEAgLTE2MjUs MTAgKzE2MjUsOCBAQCBzdGF0aWMgaW50IHFlbXVfc2F2ZXZtX3N0YXRlKFFFTVVGaWxlICpmLCBF cnJvciAqKmVycnApCi0gICAgIHJlc2V0X3ZmaW9fYnl0ZXNfdHJhbnNmZXJyZWQoKTsKLSAgICAg bXMtPnRvX2RzdF9maWxlID0gZjsKLSAKLS0gICAgcWVtdV9tdXRleF91bmxvY2tfaW90aHJlYWQo KTsKLSAgICAgcWVtdV9zYXZldm1fc3RhdGVfaGVhZGVyKGYpOwotICAgICBxZW11X3NhdmV2bV9z dGF0ZV9zZXR1cChmKTsKLS0gICAgcWVtdV9tdXRleF9sb2NrX2lvdGhyZWFkKCk7Ci0gCi0gICAg IHdoaWxlIChxZW11X2ZpbGVfZ2V0X2Vycm9yKGYpID09IDApIHsKLSAgICAgICAgIGlmIChxZW11 X3NhdmV2bV9zdGF0ZV9pdGVyYXRlKGYsIGZhbHNlKSA+IDApIHsKZGlmZiAtLWdpdCBhL2RlYmlh bi9wYXRjaGVzL3B2ZS8wMDQ2LWJsb2NrLWNvcHktYmVmb3JlLXdyaXRlLWZpeC1wZXJtaXNzaW9u LnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwNDUtYmxvY2stY29weS1iZWZvcmUtd3JpdGUt Zml4LXBlcm1pc3Npb24ucGF0Y2gKc2ltaWxhcml0eSBpbmRleCA5NCUKcmVuYW1lIGZyb20gZGVi aWFuL3BhdGNoZXMvcHZlLzAwNDYtYmxvY2stY29weS1iZWZvcmUtd3JpdGUtZml4LXBlcm1pc3Np b24ucGF0Y2gKcmVuYW1lIHRvIGRlYmlhbi9wYXRjaGVzL3B2ZS8wMDQ1LWJsb2NrLWNvcHktYmVm b3JlLXdyaXRlLWZpeC1wZXJtaXNzaW9uLnBhdGNoCmluZGV4IDFjMmU1YmQuLjRiZDVkNDggMTAw NjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQ2LWJsb2NrLWNvcHktYmVmb3JlLXdyaXRl LWZpeC1wZXJtaXNzaW9uLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQ1LWJsb2Nr LWNvcHktYmVmb3JlLXdyaXRlLWZpeC1wZXJtaXNzaW9uLnBhdGNoCkBAIC0zMywxMCArMzMsMTAg QEAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5j b20+CiAgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIAog ZGlmZiAtLWdpdCBhL2Jsb2NrL2NvcHktYmVmb3JlLXdyaXRlLmMgYi9ibG9jay9jb3B5LWJlZm9y ZS13cml0ZS5jCi1pbmRleCBiODY2ZTQyMjcxLi5hMmRkZGY2ZjU3IDEwMDY0NAoraW5kZXggMTM5 NzI4NzliMS4uZGJkYmJjYTQ0ZSAxMDA2NDQKIC0tLSBhL2Jsb2NrL2NvcHktYmVmb3JlLXdyaXRl LmMKICsrKyBiL2Jsb2NrL2NvcHktYmVmb3JlLXdyaXRlLmMKLUBAIC0zNjQsOSArMzY0LDEzIEBA IHN0YXRpYyB2b2lkIGNid19jaGlsZF9wZXJtKEJsb2NrRHJpdmVyU3RhdGUgKmJzLCBCZHJ2Q2hp bGQgKmMsCitAQCAtMzY0LDkgKzM2NCwxMyBAQCBjYndfY2hpbGRfcGVybShCbG9ja0RyaXZlclN0 YXRlICpicywgQmRydkNoaWxkICpjLCBCZHJ2Q2hpbGRSb2xlIHJvbGUsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGVybSwgc2hhcmVkLCBucGVybSwgbnNoYXJlZCk7CiAgCiAgICAgICAg ICBpZiAoIVFMSVNUX0VNUFRZKCZicy0+cGFyZW50cykpIHsKZGlmZiAtLWdpdCBhL2RlYmlhbi9w YXRjaGVzL3B2ZS8wMDQ1LXNhdmV2bS1hc3luYy1kb24tdC1ob2xkLUJRTC1kdXJpbmctc2V0dXAu cGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0NS1zYXZldm0tYXN5bmMtZG9uLXQtaG9sZC1C UUwtZHVyaW5nLXNldHVwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYzAw ZjFhLi4wMDAwMDAwCi0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQ1LXNhdmV2bS1hc3luYy1k b24tdC1ob2xkLUJRTC1kdXJpbmctc2V0dXAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCAr MCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94 LmNvbT4KLURhdGU6IEZyaSwgNSBNYXkgMjAyMyAxNTozMDoxNiArMDIwMAotU3ViamVjdDogW1BB VENIXSBzYXZldm0tYXN5bmM6IGRvbid0IGhvbGQgQlFMIGR1cmluZyBzZXR1cAotCi1TZWUgY29t bWl0ICJtaWdyYXRpb246IGZvciBzbmFwc2hvdHMsIGhvbGQgdGhlIEJRTCBkdXJpbmcgc2V0dXAK LWNhbGxiYWNrcyIgZm9yIHdoeS4gVGhpcyBpcyBzZXBhcmF0ZSwgYmVjYXVzZSBhIHZlcnNpb24g b2YgdGhhdCBvbmUKLXdpbGwgaG9wZWZ1bGx5IGxhbmQgdXBzdHJlYW0uCi0KLVNpZ25lZC1vZmYt Ynk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotU2lnbmVkLW9mZi1ieTogVGhv bWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+Ci0tLS0KLSBtaWdyYXRpb24v c2F2ZXZtLWFzeW5jLmMgfCAyIC0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgZGVsZXRpb25zKC0pCi0K LWRpZmYgLS1naXQgYS9taWdyYXRpb24vc2F2ZXZtLWFzeW5jLmMgYi9taWdyYXRpb24vc2F2ZXZt LWFzeW5jLmMKLWluZGV4IDgwNjI0ZmFkYTguLmIxZDg1YTRiNDEgMTAwNjQ0Ci0tLS0gYS9taWdy YXRpb24vc2F2ZXZtLWFzeW5jLmMKLSsrKyBiL21pZ3JhdGlvbi9zYXZldm0tYXN5bmMuYwotQEAg LTQwMSwxMCArNDAxLDggQEAgdm9pZCBxbXBfc2F2ZXZtX3N0YXJ0KGNvbnN0IGNoYXIgKnN0YXRl ZmlsZSwgRXJyb3IgKiplcnJwKQotICAgICBzbmFwX3N0YXRlLnN0YXRlID0gU0FWRV9TVEFURV9B Q1RJVkU7Ci0gICAgIHNuYXBfc3RhdGUuZmluYWxpemVfYmggPSBxZW11X2JoX25ldyhwcm9jZXNz X3NhdmV2bV9maW5hbGl6ZSwgJnNuYXBfc3RhdGUpOwotICAgICBzbmFwX3N0YXRlLmNvID0gcWVt dV9jb3JvdXRpbmVfY3JlYXRlKCZwcm9jZXNzX3NhdmV2bV9jbywgTlVMTCk7Ci0tICAgIHFlbXVf bXV0ZXhfdW5sb2NrX2lvdGhyZWFkKCk7Ci0gICAgIHFlbXVfc2F2ZXZtX3N0YXRlX2hlYWRlcihz bmFwX3N0YXRlLmZpbGUpOwotICAgICBxZW11X3NhdmV2bV9zdGF0ZV9zZXR1cChzbmFwX3N0YXRl LmZpbGUpOwotLSAgICBxZW11X211dGV4X2xvY2tfaW90aHJlYWQoKTsKLSAKLSAgICAgLyogQXN5 bmMgcHJvY2Vzc2luZyBmcm9tIGhlcmUgb24gb3V0IGhhcHBlbnMgaW4gaW9oYW5kbGVyIGNvbnRl eHQsIHNvIGxldAotICAgICAgKiB0aGUgdGFyZ2V0IGJkcnYgaGF2ZSBpdHMgaG9tZSB0aGVyZS4K ZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQ3LWJsb2NrLWNvcHktYmVmb3JlLXdy aXRlLXN1cHBvcnQtdW5saWduZWQtc25hcHNob3QtZGkucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9w dmUvMDA0Ni1ibG9jay1jb3B5LWJlZm9yZS13cml0ZS1zdXBwb3J0LXVubGlnbmVkLXNuYXBzaG90 LWRpLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggOTQlCnJlbmFtZSBmcm9tIGRlYmlhbi9wYXRjaGVz L3B2ZS8wMDQ3LWJsb2NrLWNvcHktYmVmb3JlLXdyaXRlLXN1cHBvcnQtdW5saWduZWQtc25hcHNo b3QtZGkucGF0Y2gKcmVuYW1lIHRvIGRlYmlhbi9wYXRjaGVzL3B2ZS8wMDQ2LWJsb2NrLWNvcHkt YmVmb3JlLXdyaXRlLXN1cHBvcnQtdW5saWduZWQtc25hcHNob3QtZGkucGF0Y2gKaW5kZXggNDY1 Njc1MC4uYjdmMGFmZiAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwNDctYmxvY2st Y29weS1iZWZvcmUtd3JpdGUtc3VwcG9ydC11bmxpZ25lZC1zbmFwc2hvdC1kaS5wYXRjaAorKysg Yi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0Ni1ibG9jay1jb3B5LWJlZm9yZS13cml0ZS1zdXBwb3J0 LXVubGlnbmVkLXNuYXBzaG90LWRpLnBhdGNoCkBAIC0xNSw3ICsxNSw3IEBAIFNpZ25lZC1vZmYt Ynk6IFRob21hcyBMYW1wcmVjaHQgPHQubGFtcHJlY2h0QHByb3htb3guY29tPgogIDEgZmlsZSBj aGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEv YmxvY2svY29weS1iZWZvcmUtd3JpdGUuYyBiL2Jsb2NrL2NvcHktYmVmb3JlLXdyaXRlLmMKLWlu ZGV4IGEyZGRkZjZmNTcuLjBhMjE5YzJiNzUgMTAwNjQ0CitpbmRleCBkYmRiYmNhNDRlLi4yY2Jm NmY5MzQ2IDEwMDY0NAogLS0tIGEvYmxvY2svY29weS1iZWZvcmUtd3JpdGUuYwogKysrIGIvYmxv Y2svY29weS1iZWZvcmUtd3JpdGUuYwogQEAgLTMyNSwxNCArMzI1LDI0IEBAIHN0YXRpYyBpbnQg Y29yb3V0aW5lX2ZuIEdSQVBIX1JETE9DSwpAQCAtNDUsNCArNDUsNCBAQCBpbmRleCBhMmRkZGY2 ZjU3Li4wYTIxOWMyYjc1IDEwMDY0NAogKyAgICByZXR1cm4gYmRydl9jb19wZGlzY2FyZChzLT50 YXJnZXQsIGFsaWduZWRfb2Zmc2V0LCBhbGlnbmVkX2J5dGVzKTsKICB9CiAgCi0gc3RhdGljIHZv aWQgY2J3X3JlZnJlc2hfZmlsZW5hbWUoQmxvY2tEcml2ZXJTdGF0ZSAqYnMpCisgc3RhdGljIHZv aWQgR1JBUEhfUkRMT0NLIGNid19yZWZyZXNoX2ZpbGVuYW1lKEJsb2NrRHJpdmVyU3RhdGUgKmJz KQpkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwNDgtYmxvY2stY29weS1iZWZvcmUt d3JpdGUtY3JlYXRlLWJsb2NrX2NvcHktYml0bWFwLWluLS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVz L3B2ZS8wMDQ3LWJsb2NrLWNvcHktYmVmb3JlLXdyaXRlLWNyZWF0ZS1ibG9ja19jb3B5LWJpdG1h cC1pbi0ucGF0Y2gKc2ltaWxhcml0eSBpbmRleCA5NyUKcmVuYW1lIGZyb20gZGViaWFuL3BhdGNo ZXMvcHZlLzAwNDgtYmxvY2stY29weS1iZWZvcmUtd3JpdGUtY3JlYXRlLWJsb2NrX2NvcHktYml0 bWFwLWluLS5wYXRjaApyZW5hbWUgdG8gZGViaWFuL3BhdGNoZXMvcHZlLzAwNDctYmxvY2stY29w eS1iZWZvcmUtd3JpdGUtY3JlYXRlLWJsb2NrX2NvcHktYml0bWFwLWluLS5wYXRjaAppbmRleCBh YjdjMGJmLi4xMjAxNGVkIDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0OC1ibG9j ay1jb3B5LWJlZm9yZS13cml0ZS1jcmVhdGUtYmxvY2tfY29weS1iaXRtYXAtaW4tLnBhdGNoCisr KyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQ3LWJsb2NrLWNvcHktYmVmb3JlLXdyaXRlLWNyZWF0 ZS1ibG9ja19jb3B5LWJpdG1hcC1pbi0ucGF0Y2gKQEAgLTI4LDEwICsyOCwxMCBAQCBTaWduZWQt b2ZmLWJ5OiBUaG9tYXMgTGFtcHJlY2h0IDx0LmxhbXByZWNodEBwcm94bW94LmNvbT4KICA0IGZp bGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDU4IGRlbGV0aW9ucygtKQogCiBkaWZmIC0t Z2l0IGEvYmxvY2svYmxvY2stY29weS5jIGIvYmxvY2svYmxvY2stY29weS5jCi1pbmRleCBlMTNk N2JjNmI2Li5iNjE2ODVmMWEyIDEwMDY0NAoraW5kZXggOWVlM2RkN2VmNS4uOGZjYTJjMzY5OCAx MDA2NDQKIC0tLSBhL2Jsb2NrL2Jsb2NrLWNvcHkuYwogKysrIGIvYmxvY2svYmxvY2stY29weS5j Ci1AQCAtMzQ2LDYgKzM0Niw3IEBAIHN0YXRpYyBpbnQ2NF90IGJsb2NrX2NvcHlfY2FsY3VsYXRl X2NsdXN0ZXJfc2l6ZShCbG9ja0RyaXZlclN0YXRlICp0YXJnZXQsCitAQCAtMzUxLDYgKzM1MSw3 IEBAIHN0YXRpYyBpbnQ2NF90IGJsb2NrX2NvcHlfY2FsY3VsYXRlX2NsdXN0ZXJfc2l6ZShCbG9j a0RyaXZlclN0YXRlICp0YXJnZXQsCiAgfQogIAogIEJsb2NrQ29weVN0YXRlICpibG9ja19jb3B5 X3N0YXRlX25ldyhCZHJ2Q2hpbGQgKnNvdXJjZSwgQmRydkNoaWxkICp0YXJnZXQsCkBAIC0zOSw3 ICszOSw3IEBAIGluZGV4IGUxM2Q3YmM2YjYuLmI2MTY4NWYxYTIgMTAwNjQ0CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEJkcnZEaXJ0eUJpdG1hcCAqYml0bWFw LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnApCiAg ewotQEAgLTM2MCw3ICszNjEsNyBAQCBCbG9ja0NvcHlTdGF0ZSAqYmxvY2tfY29weV9zdGF0ZV9u ZXcoQmRydkNoaWxkICpzb3VyY2UsIEJkcnZDaGlsZCAqdGFyZ2V0LAorQEAgLTM2Nyw3ICszNjgs NyBAQCBCbG9ja0NvcHlTdGF0ZSAqYmxvY2tfY29weV9zdGF0ZV9uZXcoQmRydkNoaWxkICpzb3Vy Y2UsIEJkcnZDaGlsZCAqdGFyZ2V0LAogICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgIH0KICAK QEAgLTQ5LDEwICs0OSwxMCBAQCBpbmRleCBlMTNkN2JjNmI2Li5iNjE2ODVmMWEyIDEwMDY0NAog ICAgICBpZiAoIWNvcHlfYml0bWFwKSB7CiAgICAgICAgICByZXR1cm4gTlVMTDsKIGRpZmYgLS1n aXQgYS9ibG9jay9jb3B5LWJlZm9yZS13cml0ZS5jIGIvYmxvY2svY29weS1iZWZvcmUtd3JpdGUu YwotaW5kZXggMGEyMTljMmI3NS4uZDNiOTViZDYwMCAxMDA2NDQKK2luZGV4IDJjYmY2ZjkzNDYu LmFmYTVmNDczZDIgMTAwNjQ0CiAtLS0gYS9ibG9jay9jb3B5LWJlZm9yZS13cml0ZS5jCiArKysg Yi9ibG9jay9jb3B5LWJlZm9yZS13cml0ZS5jCi1AQCAtNDcwLDcgKzQ3MCw3IEBAIHN0YXRpYyBp bnQgY2J3X29wZW4oQmxvY2tEcml2ZXJTdGF0ZSAqYnMsIFFEaWN0ICpvcHRpb25zLCBpbnQgZmxh Z3MsCitAQCAtNDcyLDcgKzQ3Miw3IEBAIHN0YXRpYyBpbnQgY2J3X29wZW4oQmxvY2tEcml2ZXJT dGF0ZSAqYnMsIFFEaWN0ICpvcHRpb25zLCBpbnQgZmxhZ3MsCiAgICAgICAgICAgICAgKChCRFJW X1JFUV9GVUEgfCBCRFJWX1JFUV9NQVlfVU5NQVAgfCBCRFJWX1JFUV9OT19GQUxMQkFDSykgJgog ICAgICAgICAgICAgICBicy0+ZmlsZS0+YnMtPnN1cHBvcnRlZF96ZXJvX2ZsYWdzKTsKICAKZGlm ZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQ5LXFhcGktYmxvY2tkZXYtYmFja3VwLWFk ZC1kaXNjYXJkLXNvdXJjZS1wYXJhbWV0ZXIucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0 OC1xYXBpLWJsb2NrZGV2LWJhY2t1cC1hZGQtZGlzY2FyZC1zb3VyY2UtcGFyYW1ldGVyLnBhdGNo CnNpbWlsYXJpdHkgaW5kZXggODklCnJlbmFtZSBmcm9tIGRlYmlhbi9wYXRjaGVzL3B2ZS8wMDQ5 LXFhcGktYmxvY2tkZXYtYmFja3VwLWFkZC1kaXNjYXJkLXNvdXJjZS1wYXJhbWV0ZXIucGF0Y2gK cmVuYW1lIHRvIGRlYmlhbi9wYXRjaGVzL3B2ZS8wMDQ4LXFhcGktYmxvY2tkZXYtYmFja3VwLWFk ZC1kaXNjYXJkLXNvdXJjZS1wYXJhbWV0ZXIucGF0Y2gKaW5kZXggYjZlZWUzZS4uYTVjZGI3ZCAx MDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwNDktcWFwaS1ibG9ja2Rldi1iYWNrdXAt YWRkLWRpc2NhcmQtc291cmNlLXBhcmFtZXRlci5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9w dmUvMDA0OC1xYXBpLWJsb2NrZGV2LWJhY2t1cC1hZGQtZGlzY2FyZC1zb3VyY2UtcGFyYW1ldGVy LnBhdGNoCkBAIC00NSw3ICs0NSw3IEBAIFNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVjaHQg PHQubGFtcHJlY2h0QHByb3htb3guY29tPgogIDEwIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlv bnMoKyksIDggZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9ibG9jay9iYWNrdXAuYyBiL2Js b2NrL2JhY2t1cC5jCi1pbmRleCBhZjg3ZmE2YWE5Li4zZGM5NTVmNjI1IDEwMDY0NAoraW5kZXgg YWVjMTQwZTBjOC4uZjE5Yjc1MWZlNiAxMDA2NDQKIC0tLSBhL2Jsb2NrL2JhY2t1cC5jCiArKysg Yi9ibG9jay9iYWNrdXAuYwogQEAgLTMzMiw3ICszMzIsNyBAQCBCbG9ja0pvYiAqYmFja3VwX2pv Yl9jcmVhdGUoY29uc3QgY2hhciAqam9iX2lkLCBCbG9ja0RyaXZlclN0YXRlICpicywKQEAgLTU3 LDcgKzU3LDcgQEAgaW5kZXggYWY4N2ZhNmFhOS4uM2RjOTU1ZjYyNSAxMDA2NDQKICAgICAgICAg ICAgICAgICAgICBjb25zdCBjaGFyICpmaWx0ZXJfbm9kZV9uYW1lLAogICAgICAgICAgICAgICAg ICAgIEJhY2t1cFBlcmYgKnBlcmYsCiAgICAgICAgICAgICAgICAgICAgQmxvY2tkZXZPbkVycm9y IG9uX3NvdXJjZV9lcnJvciwKLUBAIC00MjksNyArNDI5LDggQEAgQmxvY2tKb2IgKmJhY2t1cF9q b2JfY3JlYXRlKGNvbnN0IGNoYXIgKmpvYl9pZCwgQmxvY2tEcml2ZXJTdGF0ZSAqYnMsCitAQCAt NDMzLDcgKzQzMyw4IEBAIEJsb2NrSm9iICpiYWNrdXBfam9iX2NyZWF0ZShjb25zdCBjaGFyICpq b2JfaWQsIEJsb2NrRHJpdmVyU3RhdGUgKmJzLAogICAgICAgICAgZ290byBlcnJvcjsKICAgICAg fQogIApAQCAtNjgsNyArNjgsNyBAQCBpbmRleCBhZjg3ZmE2YWE5Li4zZGM5NTVmNjI1IDEwMDY0 NAogICAgICAgICAgZ290byBlcnJvcjsKICAgICAgfQogZGlmZiAtLWdpdCBhL2Jsb2NrL2Jsb2Nr LWNvcHkuYyBiL2Jsb2NrL2Jsb2NrLWNvcHkuYwotaW5kZXggYjYxNjg1ZjFhMi4uM2M2MWU1MmJh ZSAxMDA2NDQKK2luZGV4IDhmY2EyYzM2OTguLjdlM2IzNzg1MjggMTAwNjQ0CiAtLS0gYS9ibG9j ay9ibG9jay1jb3B5LmMKICsrKyBiL2Jsb2NrL2Jsb2NrLWNvcHkuYwogQEAgLTEzNyw2ICsxMzcs NyBAQCB0eXBlZGVmIHN0cnVjdCBCbG9ja0NvcHlTdGF0ZSB7CkBAIC03OSw3ICs3OSw3IEBAIGlu ZGV4IGI2MTY4NWYxYTIuLjNjNjFlNTJiYWUgMTAwNjQ0CiAgICAgIEJsb2NrUmVxTGlzdCByZXFz OwogICAgICBRTElTVF9IRUFEKCwgQmxvY2tDb3B5Q2FsbFN0YXRlKSBjYWxsczsKICAgICAgLyoK LUBAIC0zNDgsNiArMzQ5LDcgQEAgc3RhdGljIGludDY0X3QgYmxvY2tfY29weV9jYWxjdWxhdGVf Y2x1c3Rlcl9zaXplKEJsb2NrRHJpdmVyU3RhdGUgKnRhcmdldCwKK0BAIC0zNTMsNiArMzU0LDcg QEAgc3RhdGljIGludDY0X3QgYmxvY2tfY29weV9jYWxjdWxhdGVfY2x1c3Rlcl9zaXplKEJsb2Nr RHJpdmVyU3RhdGUgKnRhcmdldCwKICBCbG9ja0NvcHlTdGF0ZSAqYmxvY2tfY29weV9zdGF0ZV9u ZXcoQmRydkNoaWxkICpzb3VyY2UsIEJkcnZDaGlsZCAqdGFyZ2V0LAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBCbG9ja0RyaXZlclN0YXRlICpjb3B5X2JpdG1hcF9icywK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQmRydkRpcnR5Qml0 bWFwICpiaXRtYXAsCkBAIC04Nyw3ICs4Nyw3IEBAIGluZGV4IGI2MTY4NWYxYTIuLjNjNjFlNTJi YWUgMTAwNjQ0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoq ZXJycCkKICB7CiAgICAgIEVSUlBfR1VBUkQoKTsKLUBAIC00MDksNiArNDExLDcgQEAgQmxvY2tD b3B5U3RhdGUgKmJsb2NrX2NvcHlfc3RhdGVfbmV3KEJkcnZDaGlsZCAqc291cmNlLCBCZHJ2Q2hp bGQgKnRhcmdldCwKK0BAIC00MTgsNiArNDIwLDcgQEAgQmxvY2tDb3B5U3RhdGUgKmJsb2NrX2Nv cHlfc3RhdGVfbmV3KEJkcnZDaGlsZCAqc291cmNlLCBCZHJ2Q2hpbGQgKnRhcmdldCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbHVzdGVyX3NpemUpLAogICAgICB9Owog IApAQCAtOTUsNyArOTUsNyBAQCBpbmRleCBiNjE2ODVmMWEyLi4zYzYxZTUyYmFlIDEwMDY0NAog ICAgICBibG9ja19jb3B5X3NldF9jb3B5X29wdHMocywgZmFsc2UsIGZhbHNlKTsKICAKICAgICAg cmF0ZWxpbWl0X2luaXQoJnMtPnJhdGVfbGltaXQpOwotQEAgLTU4MCw2ICs1ODMsMTIgQEAgc3Rh dGljIGNvcm91dGluZV9mbiBpbnQgYmxvY2tfY29weV90YXNrX2VudHJ5KEFpb1Rhc2sgKnRhc2sp CitAQCAtNTg5LDYgKzU5MiwxMiBAQCBzdGF0aWMgY29yb3V0aW5lX2ZuIGludCBibG9ja19jb3B5 X3Rhc2tfZW50cnkoQWlvVGFzayAqdGFzaykKICAgICAgY29fcHV0X3RvX3NocmVzKHMtPm1lbSwg dC0+cmVxLmJ5dGVzKTsKICAgICAgYmxvY2tfY29weV90YXNrX2VuZCh0LCByZXQpOwogIApAQCAt MTA5LDcgKzEwOSw3IEBAIGluZGV4IGI2MTY4NWYxYTIuLjNjNjFlNTJiYWUgMTAwNjQ0CiAgfQog IAogZGlmZiAtLWdpdCBhL2Jsb2NrL2NvcHktYmVmb3JlLXdyaXRlLmMgYi9ibG9jay9jb3B5LWJl Zm9yZS13cml0ZS5jCi1pbmRleCBkM2I5NWJkNjAwLi4zNTAzNzAyZDcxIDEwMDY0NAoraW5kZXgg YWZhNWY0NzNkMi4uNTUwNmY2Njg1NyAxMDA2NDQKIC0tLSBhL2Jsb2NrL2NvcHktYmVmb3JlLXdy aXRlLmMKICsrKyBiL2Jsb2NrL2NvcHktYmVmb3JlLXdyaXRlLmMKIEBAIC00NCw2ICs0NCw3IEBA IHR5cGVkZWYgc3RydWN0IEJEUlZDb3B5QmVmb3JlV3JpdGVTdGF0ZSB7CkBAIC0xMjAsMTYgKzEy MCwxNiBAQCBpbmRleCBkM2I5NWJkNjAwLi4zNTAzNzAyZDcxIDEwMDY0NAogIAogICAgICAvKgog ICAgICAgKiBAbG9jazogcHJvdGVjdHMgYWNjZXNzIHRvIEBhY2Nlc3NfYml0bWFwLCBAZG9uZV9i aXRtYXAgYW5kCi1AQCAtMzU3LDYgKzM1OCw4IEBAIHN0YXRpYyB2b2lkIGNid19jaGlsZF9wZXJt KEJsb2NrRHJpdmVyU3RhdGUgKmJzLCBCZHJ2Q2hpbGQgKmMsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDY0X3QgcGVybSwgdWludDY0X3Qgc2hhcmVkLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQ2NF90ICpucGVybSwgdWludDY0X3QgKm5zaGFyZWQpCitAQCAtMzU3 LDYgKzM1OCw4IEBAIGNid19jaGlsZF9wZXJtKEJsb2NrRHJpdmVyU3RhdGUgKmJzLCBCZHJ2Q2hp bGQgKmMsIEJkcnZDaGlsZFJvbGUgcm9sZSwKKyAgICAgICAgICAgICAgICB1aW50NjRfdCBwZXJt LCB1aW50NjRfdCBzaGFyZWQsCisgICAgICAgICAgICAgICAgdWludDY0X3QgKm5wZXJtLCB1aW50 NjRfdCAqbnNoYXJlZCkKICB7CiArICAgIEJEUlZDb3B5QmVmb3JlV3JpdGVTdGF0ZSAqcyA9IGJz LT5vcGFxdWU7CiArCiAgICAgIGlmICghKHJvbGUgJiBCRFJWX0NISUxEX0ZJTFRFUkVEKSkgewog ICAgICAgICAgLyoKICAgICAgICAgICAqIFRhcmdldCBjaGlsZAotQEAgLTM4MSw2ICszODQsMTAg QEAgc3RhdGljIHZvaWQgY2J3X2NoaWxkX3Blcm0oQmxvY2tEcml2ZXJTdGF0ZSAqYnMsIEJkcnZD aGlsZCAqYywKK0BAIC0zODEsNiArMzg0LDEwIEBAIGNid19jaGlsZF9wZXJtKEJsb2NrRHJpdmVy U3RhdGUgKmJzLCBCZHJ2Q2hpbGQgKmMsIEJkcnZDaGlsZFJvbGUgcm9sZSwKICAgICAgICAgICAg ICAgKiBzdGFydAogICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgICpucGVybSA9ICpucGVy bSB8IEJMS19QRVJNX0NPTlNJU1RFTlRfUkVBRDsKQEAgLTE0MCw3ICsxNDAsNyBAQCBpbmRleCBk M2I5NWJkNjAwLi4zNTAzNzAyZDcxIDEwMDY0NAogICAgICAgICAgICAgICpuc2hhcmVkICY9IH4o QkxLX1BFUk1fV1JJVEUgfCBCTEtfUEVSTV9SRVNJWkUpOwogICAgICAgICAgfQogICAgICB9Ci1A QCAtNDcwLDcgKzQ3Nyw5IEBAIHN0YXRpYyBpbnQgY2J3X29wZW4oQmxvY2tEcml2ZXJTdGF0ZSAq YnMsIFFEaWN0ICpvcHRpb25zLCBpbnQgZmxhZ3MsCitAQCAtNDcyLDcgKzQ3OSw5IEBAIHN0YXRp YyBpbnQgY2J3X29wZW4oQmxvY2tEcml2ZXJTdGF0ZSAqYnMsIFFEaWN0ICpvcHRpb25zLCBpbnQg ZmxhZ3MsCiAgICAgICAgICAgICAgKChCRFJWX1JFUV9GVUEgfCBCRFJWX1JFUV9NQVlfVU5NQVAg fCBCRFJWX1JFUV9OT19GQUxMQkFDSykgJgogICAgICAgICAgICAgICBicy0+ZmlsZS0+YnMtPnN1 cHBvcnRlZF96ZXJvX2ZsYWdzKTsKICAKQEAgLTE1MSw3ICsxNTEsNyBAQCBpbmRleCBkM2I5NWJk NjAwLi4zNTAzNzAyZDcxIDEwMDY0NAogICAgICBpZiAoIXMtPmJjcykgewogICAgICAgICAgZXJy b3JfcHJlcGVuZChlcnJwLCAiQ2Fubm90IGNyZWF0ZSBibG9jay1jb3B5LXN0YXRlOiAiKTsKICAg ICAgICAgIHJldCA9IC1FSU5WQUw7Ci1AQCAtNTQ0LDEyICs1NTMsMTQgQEAgQmxvY2tEcml2ZXIg YmRydl9jYndfZmlsdGVyID0geworQEAgLTU0NiwxMiArNTU1LDE0IEBAIHN0YXRpYyBCbG9ja0Ry aXZlciBiZHJ2X2Nid19maWx0ZXIgPSB7CiAgQmxvY2tEcml2ZXJTdGF0ZSAqYmRydl9jYndfYXBw ZW5kKEJsb2NrRHJpdmVyU3RhdGUgKnNvdXJjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQmxvY2tEcml2ZXJTdGF0ZSAqdGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWx0ZXJfbm9kZV9uYW1lLApAQCAtMTY2LDcgKzE2 Niw3IEBAIGluZGV4IGQzYjk1YmQ2MDAuLjM1MDM3MDJkNzEgMTAwNjQ0CiAgCiAgICAgIGFzc2Vy dChzb3VyY2UtPnRvdGFsX3NlY3RvcnMgPT0gdGFyZ2V0LT50b3RhbF9zZWN0b3JzKTsKICAgICAg R0xPQkFMX1NUQVRFX0NPREUoKTsKLUBAIC01NjIsNyArNTczLDcgQEAgQmxvY2tEcml2ZXJTdGF0 ZSAqYmRydl9jYndfYXBwZW5kKEJsb2NrRHJpdmVyU3RhdGUgKnNvdXJjZSwKK0BAIC01NjQsNyAr NTc1LDcgQEAgQmxvY2tEcml2ZXJTdGF0ZSAqYmRydl9jYndfYXBwZW5kKEJsb2NrRHJpdmVyU3Rh dGUgKnNvdXJjZSwKICAgICAgcWRpY3RfcHV0X3N0cihvcHRzLCAiZmlsZSIsIGJkcnZfZ2V0X25v ZGVfbmFtZShzb3VyY2UpKTsKICAgICAgcWRpY3RfcHV0X3N0cihvcHRzLCAidGFyZ2V0IiwgYmRy dl9nZXRfbm9kZV9uYW1lKHRhcmdldCkpOwogIApAQCAtMTg4LDEwICsxODgsMTAgQEAgaW5kZXgg NmU3MmJiMjVlOS4uMDFhZjBjZDNjNCAxMDA2NDQKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRXJyb3IgKiplcnJwKTsKICB2b2lkIGJkcnZfY2J3X2Ryb3AoQmxvY2tEcml2ZXJT dGF0ZSAqYnMpOwogZGlmZiAtLWdpdCBhL2Jsb2NrL3JlcGxpY2F0aW9uLmMgYi9ibG9jay9yZXBs aWNhdGlvbi5jCi1pbmRleCBlYTRiZjFhYTgwLi4zOWFkNzhjZjk4IDEwMDY0NAoraW5kZXggNWRl ZDVmMWNhOS4uYmQ3NWE2YWVlMyAxMDA2NDQKIC0tLSBhL2Jsb2NrL3JlcGxpY2F0aW9uLmMKICsr KyBiL2Jsb2NrL3JlcGxpY2F0aW9uLmMKLUBAIC01NzksOCArNTc5LDggQEAgc3RhdGljIHZvaWQg cmVwbGljYXRpb25fc3RhcnQoUmVwbGljYXRpb25TdGF0ZSAqcnMsIFJlcGxpY2F0aW9uTW9kZSBt b2RlLAorQEAgLTYwNCw4ICs2MDQsOCBAQCBzdGF0aWMgdm9pZCByZXBsaWNhdGlvbl9zdGFydChS ZXBsaWNhdGlvblN0YXRlICpycywgUmVwbGljYXRpb25Nb2RlIG1vZGUsCiAgCiAgICAgICAgICBz LT5iYWNrdXBfam9iID0gYmFja3VwX2pvYl9jcmVhdGUoCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBOVUxMLCBzLT5zZWNvbmRhcnlfZGlzay0+YnMsIHMtPmhpZGRlbl9kaXNrLT5i cywKQEAgLTIwMywxMCArMjAzLDEwIEBAIGluZGV4IGVhNGJmMWFhODAuLjM5YWQ3OGNmOTggMTAw NjQ0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCTE9DS0RFVl9PTl9FUlJPUl9S RVBPUlQsIEpPQl9JTlRFUk5BTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJh Y2t1cF9qb2JfY29tcGxldGVkLCBicywgTlVMTCwgJmxvY2FsX2Vycik7CiBkaWZmIC0tZ2l0IGEv YmxvY2tkZXYuYyBiL2Jsb2NrZGV2LmMKLWluZGV4IDc3OTMxNDNkNzYuLmNlM2ZlZjkyNGMgMTAw NjQ0CitpbmRleCAzMDQ5ODExYmU4Li5lMTY3YWQxZTU0IDEwMDY0NAogLS0tIGEvYmxvY2tkZXYu YwogKysrIGIvYmxvY2tkZXYuYwotQEAgLTI4MDIsNyArMjgwMiw3IEBAIHN0YXRpYyBCbG9ja0pv YiAqZG9fYmFja3VwX2NvbW1vbihCYWNrdXBDb21tb24gKmJhY2t1cCwKK0BAIC0yODU0LDcgKzI4 NTQsNyBAQCBzdGF0aWMgQmxvY2tKb2IgKmRvX2JhY2t1cF9jb21tb24oQmFja3VwQ29tbW9uICpi YWNrdXAsCiAgCiAgICAgIGpvYiA9IGJhY2t1cF9qb2JfY3JlYXRlKGJhY2t1cC0+am9iX2lkLCBi cywgdGFyZ2V0X2JzLCBiYWNrdXAtPnNwZWVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBiYWNrdXAtPnN5bmMsIGJtYXAsIGJhY2t1cC0+Yml0bWFwX21vZGUsCkBAIC0yMTYsMTAgKzIx NiwxMCBAQCBpbmRleCA3NzkzMTQzZDc2Li5jZTNmZWY5MjRjIDEwMDY0NAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmcGVyZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFj a3VwLT5vbl9zb3VyY2VfZXJyb3IsCiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ibG9jay9ibG9jay1j b21tb24uaCBiL2luY2x1ZGUvYmxvY2svYmxvY2stY29tbW9uLmgKLWluZGV4IGUxNTM5NWYyY2Iu LjkxM2E4YjI1OWMgMTAwNjQ0CitpbmRleCBkNzU5OTU2NGRiLi43ZjU2MzY0ZTczIDEwMDY0NAog LS0tIGEvaW5jbHVkZS9ibG9jay9ibG9jay1jb21tb24uaAogKysrIGIvaW5jbHVkZS9ibG9jay9i bG9jay1jb21tb24uaAotQEAgLTIzNCw2ICsyMzQsOCBAQCB0eXBlZGVmIGVudW0geworQEAgLTI0 Niw2ICsyNDYsOCBAQCB0eXBlZGVmIGVudW0gewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmVhZC13cml0ZSBmYWlscyAqLwogICNkZWZpbmUgQkRSVl9PX0lPX1VSSU5H ICAgIDB4NDAwMDAgLyogdXNlIGlvX3VyaW5nIGluc3RlYWQgb2YgdGhlIHRocmVhZCBwb29sICov CiAgCkBAIC0yNDEsNyArMjQxLDcgQEAgaW5kZXggOGI0MTY0M2JmYS4uYmRjNzAzYmFjZCAxMDA2 NDQKICAKICAvKiBGdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIHByaW9yIGFueSBhY3R1YWwgY29w eSByZXF1ZXN0ICovCiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ibG9jay9ibG9ja19pbnQtZ2xvYmFs LXN0YXRlLmggYi9pbmNsdWRlL2Jsb2NrL2Jsb2NrX2ludC1nbG9iYWwtc3RhdGUuaAotaW5kZXgg MzJmMGY5ODU4YS4uNTQ2ZjJiNTUzMiAxMDA2NDQKK2luZGV4IDU3MjY1YTYxN2EuLmRmNzMxNjg4 YjQgMTAwNjQ0CiAtLS0gYS9pbmNsdWRlL2Jsb2NrL2Jsb2NrX2ludC1nbG9iYWwtc3RhdGUuaAog KysrIGIvaW5jbHVkZS9ibG9jay9ibG9ja19pbnQtZ2xvYmFsLXN0YXRlLmgKIEBAIC0xODksNyAr MTg5LDcgQEAgQmxvY2tKb2IgKmJhY2t1cF9qb2JfY3JlYXRlKGNvbnN0IGNoYXIgKmpvYl9pZCwg QmxvY2tEcml2ZXJTdGF0ZSAqYnMsCkBAIC0yNTQsMTAgKzI1NCwxMCBAQCBpbmRleCAzMmYwZjk4 NThhLi41NDZmMmI1NTMyIDEwMDY0NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYWNr dXBQZXJmICpwZXJmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9ja2Rldk9uRXJy b3Igb25fc291cmNlX2Vycm9yLAogZGlmZiAtLWdpdCBhL3FhcGkvYmxvY2stY29yZS5qc29uIGIv cWFwaS9ibG9jay1jb3JlLmpzb24KLWluZGV4IDA5ZGU1NTBjOTUuLjQyOTdlNWJlZGEgMTAwNjQ0 CitpbmRleCA3Yjk3NzQ1OWZhLi44Mjk2MDc5N2RjIDEwMDY0NAogLS0tIGEvcWFwaS9ibG9jay1j b3JlLmpzb24KICsrKyBiL3FhcGkvYmxvY2stY29yZS5qc29uCi1AQCAtMTgxNiw2ICsxODE2LDkg QEAKK0BAIC0xODM0LDYgKzE4MzQsOSBAQAogICMgICAgIG5vZGUgc3BlY2lmaWVkIGJ5IEBkcml2 ZS4gIElmIHRoaXMgb3B0aW9uIGlzIG5vdCBnaXZlbiwgYSBub2RlCiAgIyAgICAgbmFtZSBpcyBh dXRvZ2VuZXJhdGVkLiAgKFNpbmNlOiA0LjIpCiAgIwpAQCAtMjY3LDcgKzI2Nyw3IEBAIGluZGV4 IDA5ZGU1NTBjOTUuLjQyOTdlNWJlZGEgMTAwNjQ0CiAgIyBAeC1wZXJmOiBQZXJmb3JtYW5jZSBv cHRpb25zLiAgKFNpbmNlIDYuMCkKICAjCiAgIyBGZWF0dXJlczoKLUBAIC0xODM3LDYgKzE4NDAs NyBAQAorQEAgLTE4NTUsNiArMTg1OCw3IEBACiAgICAgICAgICAgICAgJypvbi10YXJnZXQtZXJy b3InOiAnQmxvY2tkZXZPbkVycm9yJywKICAgICAgICAgICAgICAnKmF1dG8tZmluYWxpemUnOiAn Ym9vbCcsICcqYXV0by1kaXNtaXNzJzogJ2Jvb2wnLAogICAgICAgICAgICAgICcqZmlsdGVyLW5v ZGUtbmFtZSc6ICdzdHInLApkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwNTAtY29w eS1iZWZvcmUtd3JpdGUtYWxsb3ctc3BlY2lmeWluZy1taW5pbXVtLWNsdXN0ZXItcy5wYXRjaCBi L2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQ5LWNvcHktYmVmb3JlLXdyaXRlLWFsbG93LXNwZWNpZnlp bmctbWluaW11bS1jbHVzdGVyLXMucGF0Y2gKc2ltaWxhcml0eSBpbmRleCA5MiUKcmVuYW1lIGZy b20gZGViaWFuL3BhdGNoZXMvcHZlLzAwNTAtY29weS1iZWZvcmUtd3JpdGUtYWxsb3ctc3BlY2lm eWluZy1taW5pbXVtLWNsdXN0ZXItcy5wYXRjaApyZW5hbWUgdG8gZGViaWFuL3BhdGNoZXMvcHZl LzAwNDktY29weS1iZWZvcmUtd3JpdGUtYWxsb3ctc3BlY2lmeWluZy1taW5pbXVtLWNsdXN0ZXIt cy5wYXRjaAppbmRleCAxNzk0OWY0Li43MWQ2YzE0IDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hl cy9wdmUvMDA1MC1jb3B5LWJlZm9yZS13cml0ZS1hbGxvdy1zcGVjaWZ5aW5nLW1pbmltdW0tY2x1 c3Rlci1zLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQ5LWNvcHktYmVmb3JlLXdy aXRlLWFsbG93LXNwZWNpZnlpbmctbWluaW11bS1jbHVzdGVyLXMucGF0Y2gKQEAgLTI1LDcgKzI1 LDcgQEAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1v eC5jb20+CiAgNCBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygt KQogCiBkaWZmIC0tZ2l0IGEvYmxvY2svYmxvY2stY29weS5jIGIvYmxvY2svYmxvY2stY29weS5j Ci1pbmRleCAzYzYxZTUyYmFlLi5jOWE3MjJhNWE2IDEwMDY0NAoraW5kZXggN2UzYjM3ODUyOC4u YWRiMWNiYjQ0MCAxMDA2NDQKIC0tLSBhL2Jsb2NrL2Jsb2NrLWNvcHkuYwogKysrIGIvYmxvY2sv YmxvY2stY29weS5jCiBAQCAtMzEwLDYgKzMxMCw3IEBAIHZvaWQgYmxvY2tfY29weV9zZXRfY29w eV9vcHRzKEJsb2NrQ29weVN0YXRlICpzLCBib29sIHVzZV9jb3B5X3JhbmdlLApAQCAtMzYsNyAr MzYsNyBAQCBpbmRleCAzYzYxZTUyYmFlLi5jOWE3MjJhNWE2IDEwMDY0NAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnApCiAgewog ICAgICBpbnQgcmV0OwotQEAgLTMzMCw3ICszMzEsNyBAQCBzdGF0aWMgaW50NjRfdCBibG9ja19j b3B5X2NhbGN1bGF0ZV9jbHVzdGVyX3NpemUoQmxvY2tEcml2ZXJTdGF0ZSAqdGFyZ2V0LAorQEAg LTMzNSw3ICszMzYsNyBAQCBzdGF0aWMgaW50NjRfdCBibG9ja19jb3B5X2NhbGN1bGF0ZV9jbHVz dGVyX3NpemUoQmxvY2tEcml2ZXJTdGF0ZSAqdGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAg InVzZWQuIElmIHRoZSBhY3R1YWwgYmxvY2sgc2l6ZSBvZiB0aGUgdGFyZ2V0IGV4Y2VlZHMgIgog ICAgICAgICAgICAgICAgICAgICAgInRoaXMgZGVmYXVsdCwgdGhlIGJhY2t1cCBtYXkgYmUgdW51 c2FibGUiLAogICAgICAgICAgICAgICAgICAgICAgQkxPQ0tfQ09QWV9DTFVTVEVSX1NJWkVfREVG QVVMVCk7CkBAIC00NSw3ICs0NSw3IEBAIGluZGV4IDNjNjFlNTJiYWUuLmM5YTcyMmE1YTYgMTAw NjQ0CiAgICAgIH0gZWxzZSBpZiAocmV0IDwgMCAmJiAhdGFyZ2V0X2RvZXNfY293KSB7CiAgICAg ICAgICBlcnJvcl9zZXRnX2Vycm5vKGVycnAsIC1yZXQsCiAgICAgICAgICAgICAgIkNvdWxkbid0 IGRldGVybWluZSB0aGUgY2x1c3RlciBzaXplIG9mIHRoZSB0YXJnZXQgaW1hZ2UsICIKLUBAIC0z NDAsMTYgKzM0MSwxOCBAQCBzdGF0aWMgaW50NjRfdCBibG9ja19jb3B5X2NhbGN1bGF0ZV9jbHVz dGVyX3NpemUoQmxvY2tEcml2ZXJTdGF0ZSAqdGFyZ2V0LAorQEAgLTM0NSwxNiArMzQ2LDE4IEBA IHN0YXRpYyBpbnQ2NF90IGJsb2NrX2NvcHlfY2FsY3VsYXRlX2NsdXN0ZXJfc2l6ZShCbG9ja0Ry aXZlclN0YXRlICp0YXJnZXQsCiAgICAgICAgICByZXR1cm4gcmV0OwogICAgICB9IGVsc2UgaWYg KHJldCA8IDAgJiYgdGFyZ2V0X2RvZXNfY293KSB7CiAgICAgICAgICAvKiBOb3QgZmF0YWw7IGp1 c3QgdHJ1ZGdlIG9uIGFoZWFkLiAqLwpAQCAtNjYsOSArNjYsOSBAQCBpbmRleCAzYzYxZTUyYmFl Li5jOWE3MjJhNWE2IDEwMDY0NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFcnJvciAqKmVycnApCiAgewogICAgICBFUlJQX0dVQVJEKCk7Ci1AQCAtMzU4LDcgKzM2MSwx MyBAQCBCbG9ja0NvcHlTdGF0ZSAqYmxvY2tfY29weV9zdGF0ZV9uZXcoQmRydkNoaWxkICpzb3Vy Y2UsIEJkcnZDaGlsZCAqdGFyZ2V0LAotICAgICBCZHJ2RGlydHlCaXRtYXAgKmNvcHlfYml0bWFw OwotICAgICBib29sIGlzX2ZsZWVjaW5nOworQEAgLTM2NSw3ICszNjgsMTMgQEAgQmxvY2tDb3B5 U3RhdGUgKmJsb2NrX2NvcHlfc3RhdGVfbmV3KEJkcnZDaGlsZCAqc291cmNlLCBCZHJ2Q2hpbGQg KnRhcmdldCwKKyAKKyAgICAgR0xPQkFMX1NUQVRFX0NPREUoKTsKICAKIC0gICAgY2x1c3Rlcl9z aXplID0gYmxvY2tfY29weV9jYWxjdWxhdGVfY2x1c3Rlcl9zaXplKHRhcmdldC0+YnMsIGVycnAp OwogKyAgICBpZiAobWluX2NsdXN0ZXJfc2l6ZSAmJiAhaXNfcG93ZXJfb2ZfMihtaW5fY2x1c3Rl cl9zaXplKSkgewpAQCAtODIsMTAgKzgyLDEwIEBAIGluZGV4IDNjNjFlNTJiYWUuLmM5YTcyMmE1 YTYgMTAwNjQ0CiAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgfQogZGlmZiAtLWdpdCBhL2Js b2NrL2NvcHktYmVmb3JlLXdyaXRlLmMgYi9ibG9jay9jb3B5LWJlZm9yZS13cml0ZS5jCi1pbmRl eCAzNTAzNzAyZDcxLi40YThjNWJkYjYyIDEwMDY0NAoraW5kZXggNTUwNmY2Njg1Ny4uZmJjNWFl YjllYiAxMDA2NDQKIC0tLSBhL2Jsb2NrL2NvcHktYmVmb3JlLXdyaXRlLmMKICsrKyBiL2Jsb2Nr L2NvcHktYmVmb3JlLXdyaXRlLmMKLUBAIC00NzksNyArNDc5LDggQEAgc3RhdGljIGludCBjYndf b3BlbihCbG9ja0RyaXZlclN0YXRlICpicywgUURpY3QgKm9wdGlvbnMsIGludCBmbGFncywKK0BA IC00ODEsNyArNDgxLDggQEAgc3RhdGljIGludCBjYndfb3BlbihCbG9ja0RyaXZlclN0YXRlICpi cywgUURpY3QgKm9wdGlvbnMsIGludCBmbGFncywKICAKICAgICAgcy0+ZGlzY2FyZF9zb3VyY2Ug PSBmbGFncyAmIEJEUlZfT19DQldfRElTQ0FSRF9TT1VSQ0U7CiAgICAgIHMtPmJjcyA9IGJsb2Nr X2NvcHlfc3RhdGVfbmV3KGJzLT5maWxlLCBzLT50YXJnZXQsIGJzLCBiaXRtYXAsCkBAIC0xMDgs MTAgKzEwOCwxMCBAQCBpbmRleCBiZGM3MDNiYWNkLi43Nzg1N2M2YzY4IDEwMDY0NAogIAogIC8q IEZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgcHJpb3IgYW55IGFjdHVhbCBjb3B5IHJlcXVlc3Qg Ki8KIGRpZmYgLS1naXQgYS9xYXBpL2Jsb2NrLWNvcmUuanNvbiBiL3FhcGkvYmxvY2stY29yZS5q c29uCi1pbmRleCA0Mjk3ZTViZWRhLi4zM2U3ZTNjMDkwIDEwMDY0NAoraW5kZXggODI5NjA3OTdk Yy4uZjJmZWM2MjVjYyAxMDA2NDQKIC0tLSBhL3FhcGkvYmxvY2stY29yZS5qc29uCiArKysgYi9x YXBpL2Jsb2NrLWNvcmUuanNvbgotQEAgLTQ4MjUsMTIgKzQ4MjUsMTggQEAKK0BAIC00ODgwLDEy ICs0ODgwLDE4IEBACiAgIyAgICAgQG9uLWNidy1lcnJvciBwYXJhbWV0ZXIgd2lsbCBkZWNpZGUg aG93IHRoaXMgZmFpbHVyZSBpcyBoYW5kbGVkLgogICMgICAgIERlZmF1bHQgMC4gKFNpbmNlIDcu MSkKICAjCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA1MS1iYWNrdXAtYWRkLW1p bmltdW0tY2x1c3Rlci1zaXplLXRvLXBlcmZvcm1hbmNlLW9wdGlvLnBhdGNoIGIvZGViaWFuL3Bh dGNoZXMvcHZlLzAwNTAtYmFja3VwLWFkZC1taW5pbXVtLWNsdXN0ZXItc2l6ZS10by1wZXJmb3Jt YW5jZS1vcHRpby5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDkwJQpyZW5hbWUgZnJvbSBkZWJpYW4v cGF0Y2hlcy9wdmUvMDA1MS1iYWNrdXAtYWRkLW1pbmltdW0tY2x1c3Rlci1zaXplLXRvLXBlcmZv cm1hbmNlLW9wdGlvLnBhdGNoCnJlbmFtZSB0byBkZWJpYW4vcGF0Y2hlcy9wdmUvMDA1MC1iYWNr dXAtYWRkLW1pbmltdW0tY2x1c3Rlci1zaXplLXRvLXBlcmZvcm1hbmNlLW9wdGlvLnBhdGNoCmlu ZGV4IGQ3NjBlNDUuLmRhMmQyZGIgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDUx LWJhY2t1cC1hZGQtbWluaW11bS1jbHVzdGVyLXNpemUtdG8tcGVyZm9ybWFuY2Utb3B0aW8ucGF0 Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwNTAtYmFja3VwLWFkZC1taW5pbXVtLWNsdXN0 ZXItc2l6ZS10by1wZXJmb3JtYW5jZS1vcHRpby5wYXRjaApAQCAtMjMsMTAgKzIzLDEwIEBAIFNp Z25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVjaHQgPHQubGFtcHJlY2h0QHByb3htb3guY29tPgog IDUgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIAogZGlm ZiAtLWdpdCBhL2Jsb2NrL2JhY2t1cC5jIGIvYmxvY2svYmFja3VwLmMKLWluZGV4IDNkYzk1NWY2 MjUuLmFjNWJkODEzMzggMTAwNjQ0CitpbmRleCBmMTliNzUxZmU2Li40MzY3Mjc4ZDY4IDEwMDY0 NAogLS0tIGEvYmxvY2svYmFja3VwLmMKICsrKyBiL2Jsb2NrL2JhY2t1cC5jCi1AQCAtNDMwLDcg KzQzMCw3IEBAIEJsb2NrSm9iICpiYWNrdXBfam9iX2NyZWF0ZShjb25zdCBjaGFyICpqb2JfaWQs IEJsb2NrRHJpdmVyU3RhdGUgKmJzLAorQEAgLTQzNCw3ICs0MzQsNyBAQCBCbG9ja0pvYiAqYmFj a3VwX2pvYl9jcmVhdGUoY29uc3QgY2hhciAqam9iX2lkLCBCbG9ja0RyaXZlclN0YXRlICpicywK ICAgICAgfQogIAogICAgICBjYncgPSBiZHJ2X2Nid19hcHBlbmQoYnMsIHRhcmdldCwgZmlsdGVy X25vZGVfbmFtZSwgZGlzY2FyZF9zb3VyY2UsCkBAIC0zNiwxMCArMzYsMTAgQEAgaW5kZXggM2Rj OTU1ZjYyNS4uYWM1YmQ4MTMzOCAxMDA2NDQKICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgIH0K IGRpZmYgLS1naXQgYS9ibG9jay9jb3B5LWJlZm9yZS13cml0ZS5jIGIvYmxvY2svY29weS1iZWZv cmUtd3JpdGUuYwotaW5kZXggNGE4YzViZGI2Mi4uOWNhNWVjNWU1YyAxMDA2NDQKK2luZGV4IGZi YzVhZWI5ZWIuLjNkNTUyMzk5MmMgMTAwNjQ0CiAtLS0gYS9ibG9jay9jb3B5LWJlZm9yZS13cml0 ZS5jCiArKysgYi9ibG9jay9jb3B5LWJlZm9yZS13cml0ZS5jCi1AQCAtNTU1LDYgKzU1NSw3IEBA IEJsb2NrRHJpdmVyU3RhdGUgKmJkcnZfY2J3X2FwcGVuZChCbG9ja0RyaXZlclN0YXRlICpzb3Vy Y2UsCitAQCAtNTU3LDYgKzU1Nyw3IEBAIEJsb2NrRHJpdmVyU3RhdGUgKmJkcnZfY2J3X2FwcGVu ZChCbG9ja0RyaXZlclN0YXRlICpzb3VyY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJsb2NrRHJpdmVyU3RhdGUgKnRhcmdldCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsdGVyX25vZGVfbmFtZSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYm9vbCBkaXNjYXJkX3NvdXJjZSwKQEAgLTQ3LDcgKzQ3LDcg QEAgaW5kZXggNGE4YzViZGI2Mi4uOWNhNWVjNWU1YyAxMDA2NDQKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQmxvY2tDb3B5U3RhdGUgKipiY3MsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkKICB7Ci1AQCAtNTczLDYgKzU3NCw3IEBA IEJsb2NrRHJpdmVyU3RhdGUgKmJkcnZfY2J3X2FwcGVuZChCbG9ja0RyaXZlclN0YXRlICpzb3Vy Y2UsCitAQCAtNTc1LDYgKzU3Niw3IEBAIEJsb2NrRHJpdmVyU3RhdGUgKmJkcnZfY2J3X2FwcGVu ZChCbG9ja0RyaXZlclN0YXRlICpzb3VyY2UsCiAgICAgIH0KICAgICAgcWRpY3RfcHV0X3N0cihv cHRzLCAiZmlsZSIsIGJkcnZfZ2V0X25vZGVfbmFtZShzb3VyY2UpKTsKICAgICAgcWRpY3RfcHV0 X3N0cihvcHRzLCAidGFyZ2V0IiwgYmRydl9nZXRfbm9kZV9uYW1lKHRhcmdldCkpOwpAQCAtNjgs MTAgKzY4LDEwIEBAIGluZGV4IDAxYWYwY2QzYzQuLmRjNmNhZmU3ZmEgMTAwNjQ0CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCk7CiAgdm9pZCBiZHJ2X2Ni d19kcm9wKEJsb2NrRHJpdmVyU3RhdGUgKmJzKTsKIGRpZmYgLS1naXQgYS9ibG9ja2Rldi5jIGIv YmxvY2tkZXYuYwotaW5kZXggY2UzZmVmOTI0Yy4uNWFlMWRkZTczYyAxMDA2NDQKK2luZGV4IGUx NjdhZDFlNTQuLjM1ZWM1ZDhmMGIgMTAwNjQ0CiAtLS0gYS9ibG9ja2Rldi5jCiArKysgYi9ibG9j a2Rldi5jCi1AQCAtMjcyOSw2ICsyNzI5LDkgQEAgc3RhdGljIEJsb2NrSm9iICpkb19iYWNrdXBf Y29tbW9uKEJhY2t1cENvbW1vbiAqYmFja3VwLAorQEAgLTI3ODEsNiArMjc4MSw5IEBAIHN0YXRp YyBCbG9ja0pvYiAqZG9fYmFja3VwX2NvbW1vbihCYWNrdXBDb21tb24gKmJhY2t1cCwKICAgICAg ICAgIGlmIChiYWNrdXAtPnhfcGVyZi0+aGFzX21heF9jaHVuaykgewogICAgICAgICAgICAgIHBl cmYubWF4X2NodW5rID0gYmFja3VwLT54X3BlcmYtPm1heF9jaHVuazsKICAgICAgICAgIH0KQEAg LTgyLDEwICs4MiwxMCBAQCBpbmRleCBjZTNmZWY5MjRjLi41YWUxZGRlNzNjIDEwMDY0NAogIAog ICAgICBpZiAoKGJhY2t1cC0+c3luYyA9PSBNSVJST1JfU1lOQ19NT0RFX0JJVE1BUCkgfHwKIGRp ZmYgLS1naXQgYS9xYXBpL2Jsb2NrLWNvcmUuanNvbiBiL3FhcGkvYmxvY2stY29yZS5qc29uCi1p bmRleCAzM2U3ZTNjMDkwLi41OGZkNjM3ZTg2IDEwMDY0NAoraW5kZXggZjJmZWM2MjVjYy4uNDhl ZWM0ZWYyOSAxMDA2NDQKIC0tLSBhL3FhcGkvYmxvY2stY29yZS5qc29uCiArKysgYi9xYXBpL2Js b2NrLWNvcmUuanNvbgotQEAgLTE3NTcsMTEgKzE3NTcsMTYgQEAKK0BAIC0xNzc1LDExICsxNzc1 LDE2IEBACiAgIyAgICAgaXQgc2hvdWxkIG5vdCBiZSBsZXNzIHRoYW4gam9iIGNsdXN0ZXIgc2l6 ZSB3aGljaCBpcyBjYWxjdWxhdGVkCiAgIyAgICAgYXMgbWF4aW11bSBvZiB0YXJnZXQgaW1hZ2Ug Y2x1c3RlciBzaXplIGFuZCA2NGsuICBEZWZhdWx0IDAuCiAgIwpkaWZmIC0tZ2l0IGEvZGViaWFu L3BhdGNoZXMvcHZlLzAwNTItUFZFLWJhY2t1cC1hZGQtZmxlZWNpbmctb3B0aW9uLnBhdGNoIGIv ZGViaWFuL3BhdGNoZXMvcHZlLzAwNTEtUFZFLWJhY2t1cC1hZGQtZmxlZWNpbmctb3B0aW9uLnBh dGNoCnNpbWlsYXJpdHkgaW5kZXggOTElCnJlbmFtZSBmcm9tIGRlYmlhbi9wYXRjaGVzL3B2ZS8w MDUyLVBWRS1iYWNrdXAtYWRkLWZsZWVjaW5nLW9wdGlvbi5wYXRjaApyZW5hbWUgdG8gZGViaWFu L3BhdGNoZXMvcHZlLzAwNTEtUFZFLWJhY2t1cC1hZGQtZmxlZWNpbmctb3B0aW9uLnBhdGNoCmlu ZGV4IGE0ZDc4Y2QuLjUzYjZhYjMgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDUy LVBWRS1iYWNrdXAtYWRkLWZsZWVjaW5nLW9wdGlvbi5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hl cy9wdmUvMDA1MS1QVkUtYmFja3VwLWFkZC1mbGVlY2luZy1vcHRpb24ucGF0Y2gKQEAgLTYzLDE1 ICs2MywxNSBAQCBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNv bT4KIFNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVjaHQgPHQubGFtcHJlY2h0QHByb3htb3gu Y29tPgogLS0tCiAgYmxvY2svbW9uaXRvci9ibG9jay1obXAtY21kcy5jIHwgICAxICsKLSBwdmUt YmFja3VwLmMgICAgICAgICAgICAgICAgICAgfCAxNDMgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystCisgcHZlLWJhY2t1cC5jICAgICAgICAgICAgICAgICAgIHwgMTQ1ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLQogIHFhcGkvYmxvY2stY29yZS5qc29uICAgICAgICAg ICB8ICAgOCArLQotIDMgZmlsZXMgY2hhbmdlZCwgMTQ4IGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pCisgMyBmaWxlcyBjaGFuZ2VkLCAxNTAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMo LSkKIAogZGlmZiAtLWdpdCBhL2Jsb2NrL21vbml0b3IvYmxvY2staG1wLWNtZHMuYyBiL2Jsb2Nr L21vbml0b3IvYmxvY2staG1wLWNtZHMuYwotaW5kZXggNmVmZTI4Y2VmNS4uY2EyOWNjNDI4MSAx MDA2NDQKK2luZGV4IDE2NTY4NTllMDMuLmY2Y2M5ZTVjZjcgMTAwNjQ0CiAtLS0gYS9ibG9jay9t b25pdG9yL2Jsb2NrLWhtcC1jbWRzLmMKICsrKyBiL2Jsb2NrL21vbml0b3IvYmxvY2staG1wLWNt ZHMuYwotQEAgLTEwNjQsNiArMTA2NCw3IEBAIHZvaWQgY29yb3V0aW5lX2ZuIGhtcF9iYWNrdXAo TW9uaXRvciAqbW9uLCBjb25zdCBRRGljdCAqcWRpY3QpCitAQCAtMTA3Miw2ICsxMDcyLDcgQEAg dm9pZCBjb3JvdXRpbmVfZm4gaG1wX2JhY2t1cChNb25pdG9yICptb24sIGNvbnN0IFFEaWN0ICpx ZGljdCkKICAgICAgICAgIE5VTEwsIE5VTEwsCiAgICAgICAgICBkZXZsaXN0LCBxZGljdF9oYXNr ZXkocWRpY3QsICJzcGVlZCIpLCBzcGVlZCwKICAgICAgICAgIGZhbHNlLCAwLCAvLyBCYWNrdXBQ ZXJmIG1heC13b3JrZXJzCkBAIC04MCwyMSArODAsMjIgQEAgaW5kZXggNmVmZTI4Y2VmNS4uY2Ey OWNjNDI4MSAxMDA2NDQKICAKICAgICAgaG1wX2hhbmRsZV9lcnJvcihtb24sIGVycm9yKTsKIGRp ZmYgLS1naXQgYS9wdmUtYmFja3VwLmMgYi9wdmUtYmFja3VwLmMKLWluZGV4IGU2YjE3Yjc5N2Uu LjAwYWFmZjY1MDkgMTAwNjQ0CitpbmRleCA3NzdkYjc5MzhlLi40YzcyODk1MWFjIDEwMDY0NAog LS0tIGEvcHZlLWJhY2t1cC5jCiArKysgYi9wdmUtYmFja3VwLmMKLUBAIC03LDggKzcsMTAgQEAK K0BAIC03LDkgKzcsMTEgQEAKICAjaW5jbHVkZSAic3lzZW11L2Jsb2NrZGV2LmgiCiAgI2luY2x1 ZGUgImJsb2NrL2Jsb2NrX2ludC1nbG9iYWwtc3RhdGUuaCIKICAjaW5jbHVkZSAiYmxvY2svYmxv Y2tqb2IuaCIKICsjaW5jbHVkZSAiYmxvY2svY29weS1iZWZvcmUtd3JpdGUuaCIKICAjaW5jbHVk ZSAiYmxvY2svZGlydHktYml0bWFwLmgiCisgI2luY2x1ZGUgImJsb2NrL2dyYXBoLWxvY2suaCIK ICAjaW5jbHVkZSAicWFwaS9xYXBpLWNvbW1hbmRzLWJsb2NrLmgiCiArI2luY2x1ZGUgInFhcGkv cW1wL3FkaWN0LmgiCiAgI2luY2x1ZGUgInFhcGkvcW1wL3FlcnJvci5oIgogICNpbmNsdWRlICJx ZW11L2N1dGlscy5oIgogIAotQEAgLTgwLDggKzgyLDE1IEBAIHN0YXRpYyB2b2lkIHB2ZWJhY2t1 cF9pbml0KHZvaWQpCitAQCAtODEsOCArODMsMTUgQEAgc3RhdGljIHZvaWQgcHZlYmFja3VwX2lu aXQodm9pZCkKICAvLyBpbml0aWFsaXplIFBWRUJhY2t1cFN0YXRlIGF0IHN0YXJ0dXAKICBvcHRz X2luaXQocHZlYmFja3VwX2luaXQpOwogIApAQCAtMTEwLDcgKzExMSw3IEBAIGluZGV4IGU2YjE3 Yjc5N2UuLjAwYWFmZjY1MDkgMTAwNjQ0CiAgICAgIHNpemVfdCBzaXplOwogICAgICB1aW50NjRf dCBibG9ja19zaXplOwogICAgICB1aW50OF90IGRldl9pZDsKLUBAIC0zNjEsNiArMzcwLDI1IEBA IHN0YXRpYyB2b2lkIHB2ZWJhY2t1cF9jb21wbGV0ZV9jYih2b2lkICpvcGFxdWUsIGludCByZXQp CitAQCAtMzU1LDYgKzM2NCwyNSBAQCBzdGF0aWMgdm9pZCBwdmViYWNrdXBfY29tcGxldGVfY2Io dm9pZCAqb3BhcXVlLCBpbnQgcmV0KQogICAgICBQVkVCYWNrdXBEZXZJbmZvICpkaSA9IG9wYXF1 ZTsKICAgICAgZGktPmNvbXBsZXRlZF9yZXQgPSByZXQ7CiAgCkBAIC0xMzQsOSArMTM1LDkgQEAg aW5kZXggZTZiMTdiNzk3ZS4uMDBhYWZmNjUwOSAxMDA2NDQKICsgICAgfQogKwogICAgICAvKgot ICAgICAgKiBTY2hlZHVsZSBzdHJlYW0gY2xlYW51cCBpbiBhc3luYyBjb3JvdXRpbmUuIGNsb3Nl X2ltYWdlIGFuZCBmaW5pc2ggbWlnaHQKLSAgICAgICogdGFrZSBhIHdoaWxlLCBzbyB3ZSBjYW4n dCBibG9jayBvbiB0aGVtIGhlcmUuIFRoaXMgd2F5IGl0IGFsc28gZG9lc24ndAotQEAgLTUyMSw5 ICs1NDksODIgQEAgc3RhdGljIHZvaWQgY3JlYXRlX2JhY2t1cF9qb2JzX2JoKHZvaWQgKm9wYXF1 ZSkgeworICAgICAgKiBOZWVkcyB0byBoYXBwZW4gb3V0c2lkZSBvZiBjb3JvdXRpbmUsIGJlY2F1 c2UgaXQgdGFrZXMgdGhlIGdyYXBoIHdyaXRlIGxvY2suCisgICAgICAqLworQEAgLTUyNSw5ICs1 NTMsODQgQEAgc3RhdGljIHZvaWQgY3JlYXRlX2JhY2t1cF9qb2JzX2JoKHZvaWQgKm9wYXF1ZSkg ewogIAogICAgICAgICAgYmRydl9kcmFpbmVkX2JlZ2luKGRpLT5icyk7CiAgCkBAIC0xNDQsNyAr MTQ1LDkgQEAgaW5kZXggZTZiMTdiNzk3ZS4uMDBhYWZmNjUwOSAxMDA2NDQKICsKICsgICAgICAg IEJsb2NrRHJpdmVyU3RhdGUgKnNvdXJjZV9icyA9IGRpLT5iczsKICsgICAgICAgIGJvb2wgZGlz Y2FyZF9zb3VyY2UgPSBmYWxzZTsKKysgICAgICAgIGJkcnZfZ3JhcGhfY29fcmRsb2NrKCk7CiAr ICAgICAgICBjb25zdCBjaGFyICpqb2JfaWQgPSBiZHJ2X2dldF9kZXZpY2VfbmFtZShkaS0+YnMp OworKyAgICAgICAgYmRydl9ncmFwaF9jb19yZHVubG9jaygpOwogKyAgICAgICAgaWYgKGRpLT5m bGVlY2luZy5icykgewogKyAgICAgICAgICAgIFFEaWN0ICpjYndfb3B0cyA9IHFkaWN0X25ldygp OwogKyAgICAgICAgICAgIHFkaWN0X3B1dF9zdHIoY2J3X29wdHMsICJkcml2ZXIiLCAiY29weS1i ZWZvcmUtd3JpdGUiKTsKQEAgLTIyMSw3ICsyMjQsNyBAQCBpbmRleCBlNmIxN2I3OTdlLi4wMGFh ZmY2NTA5IDEwMDY0NAogICAgICAgICAgICAgIEJMT0NLREVWX09OX0VSUk9SX1JFUE9SVCwgSk9C X0RFRkFVTFQsIHB2ZWJhY2t1cF9jb21wbGV0ZV9jYiwgZGksIGJhY2t1cF9zdGF0ZS50eG4sCiAg ICAgICAgICAgICAgJmxvY2FsX2Vycik7CiAgCi1AQCAtNTgxLDYgKzY4MiwxNCBAQCBzdGF0aWMg dm9pZCBjcmVhdGVfYmFja3VwX2pvYnNfYmgodm9pZCAqb3BhcXVlKSB7CitAQCAtNTg1LDYgKzY4 OCwxNCBAQCBzdGF0aWMgdm9pZCBjcmVhdGVfYmFja3VwX2pvYnNfYmgodm9pZCAqb3BhcXVlKSB7 CiAgICAgIGFpb19jb19lbnRlcihkYXRhLT5jdHgsIGRhdGEtPmNvKTsKICB9CiAgCkBAIC0yMzYs MTUgKzIzOSwxNSBAQCBpbmRleCBlNmIxN2I3OTdlLi4wMGFhZmY2NTA5IDEwMDY0NAogIC8qCiAg ICogUmV0dXJucyBhIGxpc3Qgb2YgZGV2aWNlIGluZm9zLCB3aGljaCBuZWVkcyB0byBiZSBmcmVl ZCBieSB0aGUgY2FsbGVyLiBJbgogICAqIGNhc2Ugb2YgYW4gZXJyb3IsIGVycnAgd2lsbCBiZSBz ZXQsIGJ1dCB0aGUgcmV0dXJuZWQgdmFsdWUgbWlnaHQgc3RpbGwgYmUgYQotQEAgLTU4OCw2ICs2 OTcsNyBAQCBzdGF0aWMgdm9pZCBjcmVhdGVfYmFja3VwX2pvYnNfYmgodm9pZCAqb3BhcXVlKSB7 CitAQCAtNTkyLDYgKzcwMyw3IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZV9iYWNrdXBfam9ic19iaCh2 b2lkICpvcGFxdWUpIHsKICAgKi8KLSBzdGF0aWMgR0xpc3QgY29yb3V0aW5lX2ZuICpnZXRfZGV2 aWNlX2luZm8oCisgc3RhdGljIEdMaXN0IGNvcm91dGluZV9mbiBHUkFQSF9SRExPQ0sgKmdldF9k ZXZpY2VfaW5mbygKICAgICAgY29uc3QgY2hhciAqZGV2bGlzdCwKICsgICAgYm9vbCBmbGVlY2lu ZywKICAgICAgRXJyb3IgKiplcnJwKQogIHsKICAgICAgZ2NoYXIgKipkZXZzID0gTlVMTDsKLUBA IC02MTEsNiArNzIxLDMxIEBAIHN0YXRpYyBHTGlzdCBjb3JvdXRpbmVfZm4gKmdldF9kZXZpY2Vf aW5mbygKK0BAIC02MTUsNiArNzI3LDMxIEBAIHN0YXRpYyBHTGlzdCBjb3JvdXRpbmVfZm4gR1JB UEhfUkRMT0NLICpnZXRfZGV2aWNlX2luZm8oCiAgICAgICAgICAgICAgfQogICAgICAgICAgICAg IFBWRUJhY2t1cERldkluZm8gKmRpID0gZ19uZXcwKFBWRUJhY2t1cERldkluZm8sIDEpOwogICAg ICAgICAgICAgIGRpLT5icyA9IGJzOwpAQCAtMjc2LDcgKzI3OSw3IEBAIGluZGV4IGU2YjE3Yjc5 N2UuLjAwYWFmZjY1MDkgMTAwNjQ0CiAgICAgICAgICAgICAgZGlfbGlzdCA9IGdfbGlzdF9hcHBl bmQoZGlfbGlzdCwgZGkpOwogICAgICAgICAgICAgIGQrKzsKICAgICAgICAgIH0KLUBAIC02NjAs NiArNzk1LDcgQEAgVXVpZEluZm8gY29yb3V0aW5lX2ZuICpxbXBfYmFja3VwKAorQEAgLTY2NCw2 ICs4MDEsNyBAQCBVdWlkSW5mbyBjb3JvdXRpbmVfZm4gKnFtcF9iYWNrdXAoCiAgICAgIGNvbnN0 IGNoYXIgKmRldmxpc3QsCiAgICAgIGJvb2wgaGFzX3NwZWVkLCBpbnQ2NF90IHNwZWVkLAogICAg ICBib29sIGhhc19tYXhfd29ya2VycywgaW50NjRfdCBtYXhfd29ya2VycywKQEAgLTI4NCwxNiAr Mjg3LDE2IEBAIGluZGV4IGU2YjE3Yjc5N2UuLjAwYWFmZjY1MDkgMTAwNjQ0CiAgICAgIEVycm9y ICoqZXJycCkKICB7CiAgICAgIGFzc2VydChxZW11X2luX2Nvcm91dGluZSgpKTsKLUBAIC02ODcs NyArODIzLDcgQEAgVXVpZEluZm8gY29yb3V0aW5lX2ZuICpxbXBfYmFja3VwKAotICAgICAvKiBU b2RvOiB0cnkgdG8gYXV0by1kZXRlY3QgZm9ybWF0IGJhc2VkIG9uIGZpbGUgbmFtZSAqLworQEAg LTY5Miw3ICs4MzAsNyBAQCBVdWlkSW5mbyBjb3JvdXRpbmVfZm4gKnFtcF9iYWNrdXAoCiAgICAg IGZvcm1hdCA9IGhhc19mb3JtYXQgPyBmb3JtYXQgOiBCQUNLVVBfRk9STUFUX1ZNQTsKICAKKyAg ICAgYmRydl9ncmFwaF9jb19yZGxvY2soKTsKIC0gICAgZGlfbGlzdCA9IGdldF9kZXZpY2VfaW5m byhkZXZsaXN0LCAmbG9jYWxfZXJyKTsKICsgICAgZGlfbGlzdCA9IGdldF9kZXZpY2VfaW5mbyhk ZXZsaXN0LCBoYXNfZmxlZWNpbmcgJiYgZmxlZWNpbmcsICZsb2NhbF9lcnIpOworICAgICBiZHJ2 X2dyYXBoX2NvX3JkdW5sb2NrKCk7CiAgICAgIGlmIChsb2NhbF9lcnIpIHsKICAgICAgICAgIGVy cm9yX3Byb3BhZ2F0ZShlcnJwLCBsb2NhbF9lcnIpOwotICAgICAgICAgZ290byBlcnI7Ci1AQCAt MTA4Niw1ICsxMjIyLDYgQEAgUHJveG1veFN1cHBvcnRTdGF0dXMgKnFtcF9xdWVyeV9wcm94bW94 X3N1cHBvcnQoRXJyb3IgKiplcnJwKQorQEAgLTExMDAsNSArMTIzOCw2IEBAIFByb3htb3hTdXBw b3J0U3RhdHVzICpxbXBfcXVlcnlfcHJveG1veF9zdXBwb3J0KEVycm9yICoqZXJycCkKICAgICAg cmV0LT5xdWVyeV9iaXRtYXBfaW5mbyA9IHRydWU7CiAgICAgIHJldC0+cGJzX21hc3RlcmtleSA9 IHRydWU7CiAgICAgIHJldC0+YmFja3VwX21heF93b3JrZXJzID0gdHJ1ZTsKQEAgLTMwMSwxMCAr MzA0LDEwIEBAIGluZGV4IGU2YjE3Yjc5N2UuLjAwYWFmZjY1MDkgMTAwNjQ0CiAgICAgIHJldHVy biByZXQ7CiAgfQogZGlmZiAtLWdpdCBhL3FhcGkvYmxvY2stY29yZS5qc29uIGIvcWFwaS9ibG9j ay1jb3JlLmpzb24KLWluZGV4IDU4ZmQ2MzdlODYuLjBiYzVmNDI2NzcgMTAwNjQ0CitpbmRleCA0 OGVlYzRlZjI5Li4xYzAzNmU0ODhlIDEwMDY0NAogLS0tIGEvcWFwaS9ibG9jay1jb3JlLmpzb24K ICsrKyBiL3FhcGkvYmxvY2stY29yZS5qc29uCi1AQCAtOTMzLDYgKzkzMywxMCBAQAorQEAgLTkz NSw2ICs5MzUsMTAgQEAKICAjCiAgIyBAbWF4LXdvcmtlcnM6IHNlZSBAQmFja3VwUGVyZiBmb3Ig ZGV0YWlscy4gRGVmYXVsdCAxNi4KICAjCkBAIC0zMTUsNyArMzE4LDcgQEAgaW5kZXggNThmZDYz N2U4Ni4uMGJjNWY0MjY3NyAxMDA2NDQKICAjIFJldHVybnM6IHRoZSB1dWlkIG9mIHRoZSBiYWNr dXAgam9iCiAgIwogICMjCi1AQCAtOTUzLDcgKzk1Nyw4IEBACitAQCAtOTU1LDcgKzk1OSw4IEBA CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJypmaXJld2FsbC1maWxlJzog J3N0cicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJypkZXZsaXN0Jzog J3N0cicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJypzcGVlZCc6ICdp bnQnLApAQCAtMzI1LDcgKzMyOCw3IEBAIGluZGV4IDU4ZmQ2MzdlODYuLjBiYzVmNDI2NzcgMTAw NjQ0CiAgICAncmV0dXJucyc6ICdVdWlkSW5mbycsICdjb3JvdXRpbmUnOiB0cnVlIH0KICAKICAj IwotQEAgLTEwMDksNiArMTAxNCw3IEBACitAQCAtMTAxMSw2ICsxMDE2LDcgQEAKICAgICAgICAg ICAgICAncGJzLWRpcnR5LWJpdG1hcC1taWdyYXRpb24nOiAnYm9vbCcsCiAgICAgICAgICAgICAg J3Bicy1tYXN0ZXJrZXknOiAnYm9vbCcsCiAgICAgICAgICAgICAgJ3Bicy1saWJyYXJ5LXZlcnNp b24nOiAnc3RyJywKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3NlcmllcyBiL2RlYmlhbi9w YXRjaGVzL3NlcmllcwppbmRleCAxNjgwYmNhLi4wZDg3MjQ5IDEwMDY0NAotLS0gYS9kZWJpYW4v cGF0Y2hlcy9zZXJpZXMKKysrIGIvZGViaWFuL3BhdGNoZXMvc2VyaWVzCkBAIC0yLDE1ICsyLDkg QEAgZXh0cmEvMDAwMS1tb25pdG9yLXFtcC1maXgtcmFjZS13aXRoLWNsaWVudHMtZGlzY29ubmVj dGluZy1lYXJsLnBhdGNoCiBleHRyYS8wMDAyLXNjc2ktbWVnYXNhcy1JbnRlcm5hbC1jZGJzLWhh dmUtMTYtYnl0ZS1sZW5ndGgucGF0Y2gKIGV4dHJhLzAwMDMtaWRlLWF2b2lkLXBvdGVudGlhbC1k ZWFkbG9jay13aGVuLWRyYWluaW5nLWR1cmluZy10ci5wYXRjaAogZXh0cmEvMDAwNC1taWdyYXRp b24tYmxvY2stZGlydHktYml0bWFwLWZpeC1sb2FkaW5nLWJpdG1hcC13aGVuLnBhdGNoCi1leHRy YS8wMDA1LVJldmVydC1SZXZlcnQtZ3JhcGgtbG9jay1EaXNhYmxlLWxvY2tpbmctZm9yLW5vdy5w YXRjaAotZXh0cmEvMDAwNi1taWdyYXRpb24tc3RhdGVzLXdvcmthcm91bmQtc25hcHNob3QtcGVy Zm9ybWFuY2UtcmVnLnBhdGNoCi1leHRyYS8wMDA3LVJldmVydC14ODYtYWNwaS13b3JrYXJvdW5k LVdpbmRvd3Mtbm90LWhhbmRsaW5nLW5hbWUucGF0Y2gKLWV4dHJhLzAwMDgtdGFyZ2V0LWkzODYt dGhlLXNneF9lcGNfZ2V0X3NlY3Rpb24tc3R1Yi1pcy1yZWFjaGFibC5wYXRjaAotZXh0cmEvMDAw OS11aS1jbGlwYm9hcmQtbWFyay10eXBlLWFzLW5vdC1hdmFpbGFibGUtd2hlbi10aGVyZS1pLnBh dGNoCi1leHRyYS8wMDEwLXZpcnRpby1zY3NpLUF0dGFjaC1ldmVudC12cS1ub3RpZmllci13aXRo LW5vX3BvbGwucGF0Y2gKLWV4dHJhLzAwMTEtdmlydGlvLVJlLWVuYWJsZS1ub3RpZmljYXRpb25z LWFmdGVyLWRyYWluLnBhdGNoCi1leHRyYS8wMDEyLXFlbXVfaW5pdC1pbmNyZWFzZS1OT0ZJTEUt c29mdC1saW1pdC1vbi1QT1NJWC5wYXRjaAotZXh0cmEvMDAxMy12aXJ0aW8tYmxrLWF2b2lkLXVz aW5nLWlvZXZlbnRmZC1zdGF0ZS1pbi1pcnFmZC1jb25kLnBhdGNoCitleHRyYS8wMDA1LVJldmVy dC14ODYtYWNwaS13b3JrYXJvdW5kLVdpbmRvd3Mtbm90LWhhbmRsaW5nLW5hbWUucGF0Y2gKK2V4 dHJhLzAwMDYtcWVtdV9pbml0LWluY3JlYXNlLU5PRklMRS1zb2Z0LWxpbWl0LW9uLVBPU0lYLnBh dGNoCitleHRyYS8wMDA3LW1pcnJvci1Eb24tdC1jYWxsLWpvYl9wYXVzZV9wb2ludC11bmRlci1n cmFwaC1sb2NrLnBhdGNoCiBiaXRtYXAtbWlycm9yLzAwMDEtZHJpdmUtbWlycm9yLWFkZC1zdXBw b3J0LWZvci1zeW5jLWJpdG1hcC1tb2RlLW5ldmVyLnBhdGNoCiBiaXRtYXAtbWlycm9yLzAwMDIt ZHJpdmUtbWlycm9yLWFkZC1zdXBwb3J0LWZvci1jb25kaXRpb25hbC1hbmQtYWx3YXlzLS5wYXRj aAogYml0bWFwLW1pcnJvci8wMDAzLW1pcnJvci1hZGQtY2hlY2stZm9yLWJpdG1hcC1tb2RlLXdp dGhvdXQtYml0bWFwLnBhdGNoCkBAIC01OSwxMyArNTMsMTIgQEAgcHZlLzAwMzktYmxvY2stYWRk LWFsbG9jLXRyYWNrLWRyaXZlci5wYXRjaAogcHZlLzAwNDAtUmV2ZXJ0LWJsb2NrLXJiZC13b3Jr YXJvdW5kLWZvci1jZXBoLWlzc3VlLTUzNzg0LnBhdGNoCiBwdmUvMDA0MS1SZXZlcnQtYmxvY2st cmJkLWZpeC1oYW5kbGluZy1vZi1ob2xlcy1pbi0uYmRydl9jb19iLnBhdGNoCiBwdmUvMDA0Mi1S ZXZlcnQtYmxvY2stcmJkLWltcGxlbWVudC1iZHJ2X2NvX2Jsb2NrX3N0YXR1cy5wYXRjaAotcHZl LzAwNDMtYWxsb2MtdHJhY2stZml4LWRlYWRsb2NrLWR1cmluZy1kcm9wLnBhdGNoCi1wdmUvMDA0 NC1taWdyYXRpb24tZm9yLXNuYXBzaG90cy1ob2xkLXRoZS1CUUwtZHVyaW5nLXNldHVwLWNhLnBh dGNoCi1wdmUvMDA0NS1zYXZldm0tYXN5bmMtZG9uLXQtaG9sZC1CUUwtZHVyaW5nLXNldHVwLnBh dGNoCi1wdmUvMDA0Ni1ibG9jay1jb3B5LWJlZm9yZS13cml0ZS1maXgtcGVybWlzc2lvbi5wYXRj aAotcHZlLzAwNDctYmxvY2stY29weS1iZWZvcmUtd3JpdGUtc3VwcG9ydC11bmxpZ25lZC1zbmFw c2hvdC1kaS5wYXRjaAotcHZlLzAwNDgtYmxvY2stY29weS1iZWZvcmUtd3JpdGUtY3JlYXRlLWJs b2NrX2NvcHktYml0bWFwLWluLS5wYXRjaAotcHZlLzAwNDktcWFwaS1ibG9ja2Rldi1iYWNrdXAt YWRkLWRpc2NhcmQtc291cmNlLXBhcmFtZXRlci5wYXRjaAotcHZlLzAwNTAtY29weS1iZWZvcmUt d3JpdGUtYWxsb3ctc3BlY2lmeWluZy1taW5pbXVtLWNsdXN0ZXItcy5wYXRjaAotcHZlLzAwNTEt YmFja3VwLWFkZC1taW5pbXVtLWNsdXN0ZXItc2l6ZS10by1wZXJmb3JtYW5jZS1vcHRpby5wYXRj aAotcHZlLzAwNTItUFZFLWJhY2t1cC1hZGQtZmxlZWNpbmctb3B0aW9uLnBhdGNoCitwdmUvMDA0 My1hbGxvYy10cmFjay1lcnJvci1vdXQtd2hlbi1hdXRvLXJlbW92ZS1pcy1ub3Qtc2V0LnBhdGNo CitwdmUvMDA0NC1hbGxvYy10cmFjay1hdm9pZC1zZWVtaW5nbHktc3VwZXJmbHVvdXMtY2hpbGQt cGVybWlzLnBhdGNoCitwdmUvMDA0NS1ibG9jay1jb3B5LWJlZm9yZS13cml0ZS1maXgtcGVybWlz c2lvbi5wYXRjaAorcHZlLzAwNDYtYmxvY2stY29weS1iZWZvcmUtd3JpdGUtc3VwcG9ydC11bmxp Z25lZC1zbmFwc2hvdC1kaS5wYXRjaAorcHZlLzAwNDctYmxvY2stY29weS1iZWZvcmUtd3JpdGUt Y3JlYXRlLWJsb2NrX2NvcHktYml0bWFwLWluLS5wYXRjaAorcHZlLzAwNDgtcWFwaS1ibG9ja2Rl di1iYWNrdXAtYWRkLWRpc2NhcmQtc291cmNlLXBhcmFtZXRlci5wYXRjaAorcHZlLzAwNDktY29w eS1iZWZvcmUtd3JpdGUtYWxsb3ctc3BlY2lmeWluZy1taW5pbXVtLWNsdXN0ZXItcy5wYXRjaAor cHZlLzAwNTAtYmFja3VwLWFkZC1taW5pbXVtLWNsdXN0ZXItc2l6ZS10by1wZXJmb3JtYW5jZS1v cHRpby5wYXRjaAorcHZlLzAwNTEtUFZFLWJhY2t1cC1hZGQtZmxlZWNpbmctb3B0aW9uLnBhdGNo CmRpZmYgLS1naXQgYS9xZW11IGIvcWVtdQppbmRleCAyMGExYjM0Li4xMWFhMGIxIDE2MDAwMAot LS0gYS9xZW11CisrKyBiL3FlbXUKQEAgLTEgKzEgQEAKLVN1YnByb2plY3QgY29tbWl0IDIwYTFi MzQxYTBhZjFmZWY4NGNlYzllNTIxZDMzZGEwZThkOWVjZjMKK1N1YnByb2plY3QgY29tbWl0IDEx YWEwYjFmZjExNWI4NjE2MGM0ZDM3ZTdjMzdlNmE2YjEzYjc3ZWEKLS0gCjIuMzkuMgoKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwdmUtZGV2ZWwgbWFp bGluZyBsaXN0CnB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3ht b3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwK