From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.5 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D3330C352A4 for ; Tue, 11 Feb 2020 00:58:07 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 92EA42072C for ; Tue, 11 Feb 2020 00:58:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="qpub22at" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 92EA42072C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=quicinc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:41770 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j1JsM-0002lk-Lc for qemu-devel@archiver.kernel.org; Mon, 10 Feb 2020 19:58:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:60060) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j1Jby-00013m-P1 for qemu-devel@nongnu.org; Mon, 10 Feb 2020 19:41:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j1Jbr-0004yl-12 for qemu-devel@nongnu.org; Mon, 10 Feb 2020 19:41:10 -0500 Received: from alexa-out-sd-02.qualcomm.com ([199.106.114.39]:59197) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j1Jbq-0004rC-Eg for qemu-devel@nongnu.org; Mon, 10 Feb 2020 19:41:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1581381662; x=1612917662; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=y9nb73cIqzQ6P3se8T3Al4GkZ5mEnB9xeu+P1N/ONp0=; b=qpub22atiXWZjieRkauPpPq7AWBDAWiL4l7ZtVryuLYwEaZKRhaZ9JvZ 1mAdTnf1mT8+BHm5ylYqZQBmsn2JpMWXUZt82jSmf8UhL2XHedjkTjaOm R5qDA146ws1BQtKWlIVj/LzrMJQAEnJiR0RgigrvbvnFuaXleHNYm91ge 4=; Received: from unknown (HELO ironmsg03-sd.qualcomm.com) ([10.53.140.143]) by alexa-out-sd-02.qualcomm.com with ESMTP; 10 Feb 2020 16:40:58 -0800 Received: from vu-tsimpson-aus.qualcomm.com (HELO vu-tsimpson1-aus.qualcomm.com) ([10.222.150.1]) by ironmsg03-sd.qualcomm.com with ESMTP; 10 Feb 2020 16:40:57 -0800 Received: by vu-tsimpson1-aus.qualcomm.com (Postfix, from userid 47164) id ED9671B27; Mon, 10 Feb 2020 18:40:56 -0600 (CST) From: Taylor Simpson To: qemu-devel@nongnu.org Subject: [RFC PATCH 00/66] Hexagon patch series Date: Mon, 10 Feb 2020 18:39:38 -0600 Message-Id: <1581381644-13678-1-git-send-email-tsimpson@quicinc.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [fuzzy] X-Received-From: 199.106.114.39 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: riku.voipio@iki.fi, richard.henderson@linaro.org, laurent@vivier.eu, Taylor Simpson , philmd@redhat.com, aleksandar.m.mail@gmail.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" VGhpcyBzZXJpZXMgYWRkcyBzdXBwb3J0IGZvciB0aGUgSGV4YWdvbiBwcm9jZXNzb3Igd2l0aCBM aW51eCB1c2VyIHN1cHBvcnQKCkhleGFnb24gaXMgUXVhbGNvbW0ncyB2ZXJ5IGxvbmcgaW5zdHJ1 Y3Rpb24gd29yZCAoVkxJVykgZGlnaXRhbCBzaWduYWwKcHJvY2Vzc29yKERTUCkuICBXZSBhbHNv IHN1cHBvcnQgSGV4YWdvbiBWZWN0b3IgZVh0ZW5zaW9ucyAoSFZYKS4gIEhWWAppcyBhIHdpZGUg dmVjdG9yIGNvcHJvY2Vzc29yIGRlc2lnbmVkIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGVy IHZpc2lvbiwKaW1hZ2UgcHJvY2Vzc2luZywgbWFjaGluZSBsZWFybmluZywgYW5kIG90aGVyIHdv cmtsb2Fkcy4KClRoaXMgc2VyaWVzIG9mIHBhdGNoZXMgc3VwcG9ydHMgdGhlIGZvbGxvd2luZyB2 ZXJzaW9ucyBvZiB0aGUgSGV4YWdvbiBjb3JlCiAgICBTY2FsYXIgY29yZTogdjY3CiAgICBodHRw czovL2RldmVsb3Blci5xdWFsY29tbS5jb20vZG93bmxvYWRzL3F1YWxjb21tLWhleGFnb24tdjY3 LXByb2dyYW1tZXItcy1yZWZlcmVuY2UtbWFudWFsCiAgICBIVlggZXh0ZW5zaW9uOiB2NjYKICAg IGh0dHBzOi8vZGV2ZWxvcGVyLnF1YWxjb21tLmNvbS9kb3dubG9hZHMvcXVhbGNvbW0taGV4YWdv bi12NjYtaHZ4LXByb2dyYW1tZXItcy1yZWZlcmVuY2UtbWFudWFsCgpXZSBwcmVzZW50ZWQgYW4g b3ZlcnZpZXcgb2YgdGhlIHByb2plY3QgYXQgdGhlIDIwMTkgS1ZNIEZvcnVtLgogICAgaHR0cHM6 Ly9rdm1mb3J1bTIwMTkuc2NoZWQuY29tL2V2ZW50L1Rtd2MvcWVtdS1oZXhhZ29uLWF1dG9tYXRp Yy10cmFuc2xhdGlvbi1vZi10aGUtaXNhLW1hbnVhbC1wc2V1ZGNvZGUtdG8tdGlueS1jb2RlLWlu c3RydWN0aW9ucy1vZi1hLXZsaXctYXJjaGl0ZWN0dXJlLW5pY2NvbG8taXp6by1yZXZuZy10YXls b3Itc2ltcHNvbi1xdWFsY29tbS1pbm5vdmF0aW9uLWNlbnRlcgoKVGhlIHBhdGNoZXMgdXAgdG8g YW5kIGluY2x1ZGluZyAiSGV4YWdvbiBidWlsZCBpbmZyYWN0cnVjdHVyZSIgaW1wbGVtZW50IHRo ZQpiYXNlIEhleGFnb24gY29yZSBhbmQgdGhlIHJlbWFpbmRlciBhZGQgSFZYLiAgT25jZSB0aGUg YnVpbGQgaW5mcmFzdHJ1Y3R1cmUKcGF0Y2ggaXMgYXBwbGllZCwgeW91IGNhbiBidWlsZCBhbmQg cWVtdSB3aWxsIGV4ZWN1dGUgbm9uLUhWWCBIZXhhZ29uIHByb2dyYW1zLgoKV2UgaGF2ZSBhIHBh cmFsbGVsIGVmZm9ydCB0byBtYWtlIHRoZSBIZXhhZ29uIExpbnV4IHRvb2xjaGFpbiBwdWJsaWNh bGx5CmF2YWlsYWJsZS4KCgoqKiogUmVxdWlyZWQgcGF0Y2hlcyAqKioKCkluIG9yZGVyIHRvIGJ1 aWxkLCB3ZSBuZWVkIHRoaXMgcGF0Y2gKICAgIGh0dHBzOi8vbGlzdHMubm9uZ251Lm9yZy9hcmNo aXZlL2h0bWwvcWVtdS1kZXZlbC8yMDIwLTAyL21zZzAxMjAzLmh0bWwKCkluIG9yZGVyIHRvIHJ1 biBwdGhyZWFkX2NhbmNlbCwgd2UgbmVlZCB0aGlzIHBhdGNoIHNlcmllcwogICAgaHR0cHM6Ly9s aXN0cy5ub25nbnUub3JnL2FyY2hpdmUvaHRtbC9xZW11LWRldmVsLzIwMjAtMDIvbXNnMDA4MzQu aHRtbAogICAgaHR0cHM6Ly9saXN0cy5ub25nbnUub3JnL2FyY2hpdmUvaHRtbC9xZW11LWRldmVs LzIwMjAtMDIvbXNnMDA4MzIuaHRtbAogICAgaHR0cHM6Ly9saXN0cy5ub25nbnUub3JnL2FyY2hp dmUvaHRtbC9xZW11LWRldmVsLzIwMjAtMDIvbXNnMDA4MzMuaHRtbAogICAgaHR0cHM6Ly9saXN0 cy5ub25nbnUub3JnL2FyY2hpdmUvaHRtbC9xZW11LWRldmVsLzIwMjAtMDIvbXNnMDA4MzUuaHRt bAogICAgaHR0cHM6Ly9saXN0cy5ub25nbnUub3JnL2FyY2hpdmUvaHRtbC9xZW11LWRldmVsLzIw MjAtMDIvbXNnMDA4MzYuaHRtbAoKCioqKiBUZXN0aW5nICoqKgoKVGhlIHBvcnQgcGFzc2VzIHRo ZSBmb2xsb3dpbmcgdGVzdHMKICAgIERpcmVjdGVkIHVuaXQgdGVzdHMKICAgIE1VU0wgbGliYyB0 ZXN0IHN1aXRlIChnb29kIGNvdmVyYWdlIG9mIExpbnV4IHN5c3RlbSBjYWxscykKICAgIENvbXBp bGVyIGludHJpbnNpY3MgdGVzdCBzdWl0ZSAoZ29vZCBjb3ZlcmFnZSBvZiBpbnN0cnVjdGlvbnMp CiAgICBIZXhhZ29uIG1hY2hpbmUgbGVhcm5pbmcgbGlicmFyeSB1bml0IHRlc3RzCiAgICBtYWtl IGNoZWNrLXRjZyBUSU1FT1VUPTYwCgoqKiogS25vd24gY2hlY2twYXRjaCBpc3N1ZXMgKioqCgpU aGUgZm9sbG93aW5nIGFyZSBrbm93biBjaGVja3BhdGNoIGVycm9ycyBpbiB0aGUgc2VyaWVzCiAg ICBpbmNsdWRlL2Rpc2FzL2Rpcy1hc20uaCAgICAgICAgICAgICBzcGFjZSBwcm9oaWJpdGVkCiAg ICAgICAgKEZvbGxvdyBjb252ZW50aW9uIG9mIG90aGVyIHRhcmdldHMgb24gcHJpb3IgbGluZXMp CiAgICB0YXJnZXQvaGV4YWdvbi9yZWdfZmllbGRzLmggICAgICAgICBDb21wbGV4IG1hY3JvCiAg ICB0YXJnZXQvaGV4YWdvbi9hdHRyaWJzLmggICAgICAgICAgICBDb21wbGV4IG1hY3JvCiAgICB0 YXJnZXQvaGV4YWdvbi9kZWNvZGUuYyAgICAgICAgICAgICBDb21wbGV4IG1hY3JvCiAgICB0YXJn ZXQvaGV4YWdvbi9xNnZfZGVjb2RlLmMgICAgICAgICBNYWNybyBuZWVkcyBkbyAtIHdoaWxlCiAg ICB0YXJnZXQvaGV4YWdvbi9wcmludGluc24uYyAgICAgICAgICBNYWNybyBuZWVkcyBkbyAtIHdo aWxlCiAgICB0YXJnZXQvaGV4YWdvbi9nZW5fc2VtYW50aWNzLmMgICAgICBTdXNwaWNpb3VzIDsg YWZ0ZXIgd2hpbGUgKDApCiAgICB0YXJnZXQvaGV4YWdvbi9nZW5fZGVjdHJlZV9pbXBvcnQuYyBD b21wbGV4IG1hY3JvCiAgICB0YXJnZXQvaGV4YWdvbi9nZW5fZGVjdHJlZV9pbXBvcnQuYyBTdXNw aWNpb3VzIDsgYWZ0ZXIgd2hpbGUgKDApCiAgICB0YXJnZXQvaGV4YWdvbi9vcGNvZGVzLmMgICAg ICAgICAgICBDb21wbGV4IG1hY3JvCiAgICB0YXJnZXQvaGV4YWdvbi9pY2xhc3MuaCAgICAgICAg ICAgICBDb21wbGV4IG1hY3JvCiAgICBzY3JpcHRzL3FlbXUtYmluZm10LWNvbmYuc2ggICAgICAg ICBMaW5lIG92ZXIgOTAgY2hhcmFjdGVycwogICAgdGFyZ2V0L2hleGFnb24vbW12ZWMvbWFjcm9z LmggICAgICAgU3VzcGljaW91cyA7IGFmdGVyIHdoaWxlICgwKQoKVGhlIGZvbGxvd2luZyBhcmUg a25vd24gY2hlY2twYXRjaCB3YXJuaW5ncyBpbiB0aGUgc2VyaWVzCiAgICB0YXJnZXQvaGV4YWdv bi9mbWFfZW11LmMgICAgICAgICAgICBDb21tZW50cyBpbnNpZGUgbWFjcm8gZGVmaW5pdGlvbgog ICAgc2NyaXB0cy9xZW11LWJpbmZtdC1jb25mLnNoICAgICAgICAgTGluZSBvdmVyIDgwIGNoYXJh Y3RlcnMKCgoqKiogVG91ciBvZiB0aGUgY29kZSAqKioKClRoZSBxZW11LWhleGFnb24gaW1wbGVt ZW50YXRpb24gaXMgYSBjb21iaW5hdGlvbiBvZiBxZW11IGFuZCB0aGUgSGV4YWdvbgphcmNoaXRl Y3R1cmUgbGlicmFyeSAoYWthIGFyY2hsaWIpLiAgVGhlIHRocmVlIHByaW1hcnkgZGlyZWN0b3Jp ZXMgd2l0aApIZXhhZ29uLXNwZWNpZmljIGNvZGUgYXJlCgogICAgcWVtdS90YXJnZXQvaGV4YWdv bgogICAgICAgIFRoaXMgaGFzIGFsbCB0aGUgaW5zdHJ1Y3Rpb24gYW5kIHBhY2tldCBzZW1hbnRp Y3MKICAgIHFlbXUvdGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQKICAgICAgICBUaGVzZSBmaWxlcyBh cmUgaW1wb3J0ZWQgd2l0aCB2ZXJ5IGxpdHRsZSBtb2RpZmljYXRpb24gZnJvbSBhcmNobGliCiAg ICAgICAgKi5pZGVmICAgICAgICAgICAgICAgICAgSW5zdHJ1Y3Rpb24gc2VtYW50aWNzIGRlZmlu aXRpb24KICAgICAgICBtYWNyb3MuZGVmICAgICAgICAgICAgICBNYXBwaW5nIG9mIG1hY3JvcyB0 byBpbnN0cnVjdGlvbiBhdHRyaWJ1dGVzCiAgICAgICAgZW5jb2RlKi5kZWYgICAgICAgICAgICAg RW5jb2RpbmcgcGF0dGVybnMgZm9yIGVhY2ggaW5zdHJ1Y3Rpb24KICAgICAgICBpY2xhc3MuZGVm ICAgICAgICAgICAgICBJbnN0cnVjdGlvbiBjbGFzcyBkZWZpbml0aW9ucyB1c2VkIHRvIGRldGVy bWluZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZ2FsIFZMSVcgc2xvdHMgZm9y IGVhY2ggaW5zdHJ1Y3Rpb24KICAgIHFlbXUvbGludXgtdXNlci9oZXhhZ29uCiAgICAgICAgSGVs cGVycyBmb3IgbG9hZGluZyB0aGUgRUxGIGZpbGUgYW5kIG1ha2luZyBMaW51eCBzeXN0ZW0gY2Fs bHMsCiAgICAgICAgc2lnbmFscywgZXRjCgpXZSBzdGFydCB3aXRoIGEgc2NyaXB0IHRoYXQgZ2Vu ZXJhdGVzIHFlbXUgaGVscGVyIGZvciBlYWNoIGluc3RydWN0aW9uLiAgVGhpcwppcyBhIHR3byBz dGVwIHByb2Nlc3MuICBUaGUgZmlyc3Qgc3RlcCBpcyB0byB1c2UgdGhlIEMgcHJlcHJvY2Vzc29y IHRvIGV4cGFuZAptYWNyb3MgaW5zaWRlIHRoZSBhcmNoaXRlY3R1cmUgZGVmaW5pdGlvbiBmaWxl cy4gIFRoaXMgaXMgZG9uZSBpbgp0YXJnZXQvaGV4YWdvbi9zZW1hbnRpY3MuYy4gIFRoaXMgc3Rl cCBwcm9kdWNlcwogICAgPEJVSUxEX0RJUj4vaGV4YWdvbi1saW51eC11c2VyL3NlbWFudGljc19n ZW5lcmF0ZWQucHlpbmMuClRoYXQgZmlsZSBpcyBjb25zdW1lZCBieSB0aGUgZG9fcWVtdS5weSBz Y3JpcHQuICBUaGlzIHNjcmlwdCBnZW5lcmF0ZXMKc2V2ZXJhbCBmaWxlcy4gIEFsbCBvZiB0aGUg Z2VuZXJhdGVkIGZpbGVzIGVuZCBpbiAiX2dlbmVyYXRlZC4qIi4gIFRoZQpwcmltYXJ5IGZpbGUg cHJvZHVjZWQgaXMKICAgIDxCVUlMRF9ESVI+L2hleGFnb24tbGludXgtdXNlci9xZW11X2RlZl9n ZW5lcmF0ZWQuaAoKUWVtdSBoZWxwZXIgZnVuY3Rpb25zIGhhdmUgMyBwYXJ0cwogICAgREVGX0hF TFBFUiBkZWNsYXJhdGlvbiBpbmRpY2F0ZXMgdGhlIHNpZ25hdHVyZSBvZiB0aGUgaGVscGVyCiAg ICBnZW5faGVscGVyXzxOQU1FPiB3aWxsIGdlbmVyYXRlIGEgVENHIGNhbGwgdG8gdGhlIGhlbHBl ciBmdW5jdGlvbgogICAgVGhlIGhlbHBlciBpbXBsZW1lbnRhdGlvbgoKSW4gdGhlIHFlbXVfZGVm X2dlbmVyYXRlZC5oIGZpbGUsIHRoZXJlIGlzIGEgREVGX1FFTVUgbWFjcm8gZm9yIGVhY2ggdXNl ci1zcGFjZQppbnN0cnVjdGlvbi4gIFRoZSBmaWxlIGlzIGluY2x1ZGVkIHNldmVyYWwgdGltZXMg d2l0aCBERUZfUUVNVSBkZWZpbmVkCmRpZmZlcmVudGx5LCBkZXBlbmRpbmcgb24gdGhlIGNvbnRl eHQuICBUaGUgbWFjcm8gaGFzIGZvdXIgYXJndW1lbnRzCiAgICBUaGUgaW5zdHJ1Y3Rpb24gdGFn CiAgICBUaGUgc2VtYW50aWNzX3Nob3J0IGNvZGUKICAgIERFRl9IRUxQRVIgZGVjbGFyYXRpb24K ICAgIENhbGwgdG8gdGhlIGhlbHBlcgogICAgSGVscGVyIGltcGxlbWVudGF0aW9uCgpIZXJlJ3Mg YW4gZXhhbXBsZSBvZiB0aGUgQTJfYWRkIGluc3RydWN0aW9uLgogICAgSW5zdHJ1Y3Rpb24gdGFn ICAgICAgICBBMl9hZGQKICAgIEFzc2VtYmx5IHN5bnRheCAgICAgICAgIlJkMzI9YWRkKFJzMzIs UnQzMikiCiAgICBJbnN0cnVjdGlvbiBzZW1hbnRpY3MgICJ7IFJkVj1Sc1YrUnRWO30iCgpCeSBj b252ZW50aW9uLCB0aGUgb3BlcmFuZHMgYXJlIGlkZW50aWZpZWQgYnkgbGV0dGVyCiAgICBSZFYg aXMgdGhlIGRlc3RpbmF0aW9uIHJlZ2lzdGVyCiAgICBSc1YsIFJ0ViBhcmUgc291cmNlIHJlZ2lz dGVycwoKVGhlIGdlbmVyYXRvciB1c2VzIHRoZSBvcGVyYW5kIG5hbWluZyBjb252ZW50aW9ucyAo c2VlIGxhcmdlIGNvbW1lbnQgaW4KZG9fcWVtdS5weSkgdG8gZGV0ZXJtaW5lIHRoZSBzaWduYXR1 cmUgb2YgdGhlIGhlbHBlciBmdW5jdGlvbi4gIEhlcmUgaXMgdGhlCnJlc3VsdCBmb3IgQTJfYWRk IGZyb20gcWVtdV9kZWZfZ2VuZXJhdGVkLmgKCkRFRl9RRU1VKEEyX2FkZCx7IFJkVj1Sc1YrUnRW O30sCiNpZm5kZWYgZldSQVBfQTJfYWRkCkRFRl9IRUxQRVJfMyhBMl9hZGQsIHMzMiwgZW52LCBz MzIsIHMzMikKI2VuZGlmCiwKewovKiBBMl9hZGQgKi8KREVDTF9SUkVHX2QoUmRWLCBSZE4sIDAs IDApOwpERUNMX1JSRUdfcyhSc1YsIFJzTiwgMSwgMCk7CkRFQ0xfUlJFR190KFJ0ViwgUnROLCAy LCAwKTsKUkVBRF9SUkVHX3MoUnNWLCBSc04pOwpSRUFEX1JSRUdfdChSdFYsIFJ0Tik7CmZXUkFQ X0EyX2FkZCgKZG8gewpnZW5faGVscGVyX0EyX2FkZChSZFYsIGNwdV9lbnYsIFJzViwgUnRWKTsK fSB3aGlsZSAoMCksCnsgUmRWPVJzVitSdFY7fSk7CldSSVRFX1JSRUdfZChSZE4sIFJkVik7CkZS RUVfUlJFR19kKFJkVik7CkZSRUVfUlJFR19zKFJzVik7CkZSRUVfUlJFR190KFJ0Vik7Ci8qIEEy X2FkZCAqLwp9LAojaWZuZGVmIGZXUkFQX0EyX2FkZAppbnQzMl90IEhFTFBFUihBMl9hZGQpKENQ VUhleGFnb25TdGF0ZSAqZW52LCBpbnQzMl90IFJzViwgaW50MzJfdCBSdFYpCnsKdWludDMyX3Qg c2xvdCA9IDQ7IHNsb3QgPSBzbG90OwppbnQzMl90IFJkViA9IDA7CnsgUmRWPVJzVitSdFY7fQpD T1VOVF9IRUxQRVIoQTJfYWRkKTsKcmV0dXJuIFJkVjsKfQojZW5kaWYKKQoKRm9yIGVhY2ggb3Bl cmFuZCwgdGhlcmUgYXJlIG1hY3JvcyBmb3IgREVDTCwgRlJFRSwgUkVBRCwgV1JJVEUuICBUaGVz ZSBhcmUKZGVmaW5lZCBpbiBtYWNyb3MuaC4gIE5vdGUgdGhhdCB3ZSBhcHBlbmQgdGhlIG9wZXJh bmQgdHlwZSB0byB0aGUgbWFjcm8gbmFtZSwKd2hpY2ggYWxsb3dzIHVzIHRvIHNwZWNpYWxpemUg dGhlIFRDRyBjb2RlIHRlbmVyYXRlZC4gIEZvciByZWFkLW9ubHkgb3BlcmFuZHMsCkRFQ0wgc2lt cGx5IGRlY2xhcmVzIHRoZSBUQ0d2IHZhcmlhYmxlIChubyBuZWVkIGZvciB0Y2dfdGVtcF9sb2Nh bF9uZXcoKSksCmFuZCBSRUFEIHdpbGwgYXNzaWduIGZyb20gdGhlIFRDR3YgY29ycmVzcG9uZGlu ZyB0byB0aGUgR1BSLCBhbmQgRlJFRSBkb2Vzbid0CmhhdmUgdG8gZG8gYW55dGhpbmcuICBBbHNv LCBub3RlIHRoYXQgdGhlIFdSSVRFIG1hY3JvcyB1cGRhdGUgdGhlIGRpc2Fzc2VtYmx5CmNvbnRl eHQgdG8gYmUgcHJvY2Vzc2VkIHdoZW4gdGhlIHBhY2tldCBjb21taXRzIChzZWUgIlBhY2tldCBT ZW1hbnRpY3MiIGJlbG93KS4KCk5vdGUgdGhlIGZXUkFQX0EyX2FkZCBtYWNybyBhcm91bmQgdGhl IGdlbl9oZWxwZXIgY2FsbC4gIEVhY2ggaW5zdHJ1Y3Rpb24gaGFzIGEgZldSQVBfPHRhZz4gbWFj cm8gdGhhdCB0YWtlcyAyIGFyZ3VtZW50cwogICAgZ2VuX2hlbHBlciBjYWxsCiAgICBDIHNlbWFu dGljcyAoYWthIHNob3J0IGNvZGUpCgpUaGlzIGFsbG93cyB0aGUgY29kZSBnZW5lcmF0b3IgdG8g b3ZlcnJpZGUgdGhlIGF1dG8tZ2VuZXJhdGVkIGNvZGUuICBJbiBzb21lCmNhc2VzIHRoaXMgaXMg bmVjZXNzYXJ5IGZvciBjb3JyZWN0IGV4ZWN1dGlvbi4gIFdlIGNhbiBhbHNvIG92ZXJyaWRlIGZv cgpmYXN0ZXIgZW11bGF0aW9uLiAgRm9yIGV4YW1wbGUsIGNhbGxpbmcgYSBoZWxwZXIgZm9yIGFk ZCBpcyBtb3JlIGV4cGVuc2l2ZQp0aGFuIGdlbmVyYXRpbmcgYSBUQ0cgYWRkIG9wZXJhdGlvbi4K ClRoZSBxZW11X3dyYXBfZ2VuZXJhdGVkLmggZmlsZSBjb250YWlucyBhIGRlZmF1bHQgZldSQVBf PHRhZz4gZm9yIGVhY2gKaW5zdHJ1Y3Rpb24uICBUaGUgZGVmYXVsdCBpcyB0byBpbnZva2UgdGhl IGdlbl9oZWxwZXIgY29kZS4KICAgICNpZm5kZWYgZldSQVBfQTJfYWRkCiAgICAjZGVmaW5lIGZX UkFQX0EyX2FkZChHRU5ITFBSLCBTSE9SVENPREUpIEdFTkhMUFIKICAgICNlbmRpZgoKVGhlIGhl bHBlcl9vdmVycmlkZXMuaCBmaWxlIGhhcyBhbnkgb3ZlcnJpZGVzLiBGb3IgZXhhbXBsZSwKICAg ICNkZWZpbmUgZldSQVBfQTJfYWRkKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAogICAgICAgIHRjZ19n ZW5fYWRkX3RsKFJkViwgUnNWLCBSdFYpCgpUaGlzIGZpbGUgaXMgaW5jbHVkZWQgdHdpY2UKMSkg SW4gZ2VucHRyLmMsIGl0IG92ZXJyaWRlcyB0aGUgc2VtYW50aWNzIG9mIHRoZSBkZXNpcmVkIGlu c3RydWN0aW9ucwoyKSBJbiBoZWxwZXIuaCwgaXQgcHJldmVudHMgdGhlIGdlbmVyYXRpb24gb2Yg aGVscGVycyBmb3Igb3ZlcnJpZGRlbgogICBpbnN0cnVjdGlvbnMuICBOb3RpY2UgdGhlICNpZm5k ZWYgZldSQVBfQTJfYWRkIGFib3ZlLgoKVGhlIGluc3RydWN0aW9uIHNlbWFudGljcyBDIGNvZGUg aGVhdmlseSBvbiBtYWNyb3MuICBJbiBjYXNlcyB3aGVyZSB0aGUgQwpzZW1hbnRpY3MgYXJlIHNw ZWNpZmllZCBvbmx5IHdpdGggbWFjcm9zLCB3ZSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgd2l0 aAp0aGUgc2hvcnQgc2VtYW50aWNzIG9wdGlvbiBhbmQgI2RlZmluZSB0aGUgbWFjcm9zIHRvIGdl bmVyYXRlIFRDRyBjb2RlLiAgT25lCmV4YW1wbGUgaXMgWTJfZGN6ZXJvYSAoZGMgPT0gZGF0YSBj YWNoZSwgemVybyA9PSB6ZXJvIG91dCB0aGUgY2FjaGUgbGluZSwKYSA9PSBhZGRyZXNzOiB6ZXJv IG91dCB0aGUgZGF0YSBjYWNoZSBsaW5lIGF0IHRoZSBnaXZlbiBhZGRyZXNzKToKICAgIEluc3Ry dWN0aW9uIHRhZyAgICAgICAgWTJfZGN6ZXJvYQogICAgQXNzZW1ibHkgc3ludGF4ICAgICAgICAi ZGN6ZXJvYShSczMyKSIKICAgIEluc3RydWN0aW9uIHNlbWFudGljcyAgIntmRUFfUkVHKFJzVik7 IGZEQ1pFUk9BKEVBKTt9IgoKSW4gaGVscGVyX292ZXJyaWRlcy5oLCB3ZSB1c2UgdGhlIHNob3J0 Y29kZQojZGVmaW5lIGZXUkFQX1kyX2RjemVyb2EoR0VOSExQUiwgU0hPUlRDT0RFKSBTSE9SVENP REUKCkluIG90aGVyIGNhc2VzLCBqdXN0IGEgbGl0dGxlIGJpdCBvZiB3cmFwcGVyIGNvZGUgbmVl ZHMgdG8gYmUgd3JpdHRlbi4KICAgICNkZWZpbmUgZldSQVBfdG1wKFNIT1JUQ09ERSkgXAogICAg eyBcCiAgICAgICAgVENHdiB0bXAgPSB0Y2dfdGVtcF9uZXcoKTsgXAogICAgICAgIFNIT1JUQ09E RTsgXAogICAgICAgIHRjZ190ZW1wX2ZyZWUodG1wKTsgXAogICAgfQoKRm9yIGV4YW1wbGUsIHNv bWUgbG9hZCBpbnN0cnVjdGlvbnMgdXNlIGEgdGVtcG9yYXJ5IGZvciBhZGRyZXNzIGNvbXB1dGF0 aW9uLgpUaGUgU0wyX2xvYWRyZF9zcCBpbnN0cnVjdGlvbiBuZWVkcyBhIHRlbXBvcmFyeSB0byBo b2xkIHRoZSB2YWx1ZSBvZiB0aGUgc3RhY2sKcG9pbnRlciAocjI5KQogICAgSW5zdHJ1Y3Rpb24g dGFnICAgICAgICBTTDJfbG9hZHJkX3NwCiAgICBBc3NlbWJseSBzeW50YXggICAgICAgICJSZGQ4 PW1lbWQocjI5KyN1NTozKSIKICAgIEluc3RydWN0aW9uIHNlbWFudGljcyAgIntmRUFfUkkoZlJF QURfU1AoKSx1aVYpOyBmTE9BRCgxLDgsdSxFQSxSZGRWKTt9IgoKSW4gaGVscGVyX292ZXJyaWRl cy5oIHlvdSdsbCBzZWUKICAgICNkZWZpbmUgZldSQVBfU0wyX2xvYWRyZF9zcChHRU5ITFBSLCBT SE9SVENPREUpICAgICAgZldSQVBfdG1wKFNIT1JUQ09ERSkKClRoZXJlIGFyZSBhbHNvIGNhc2Vz IHdoZXJlIHdlIGJydXRlIGZvcmNlIHRoZSBUQ0cgY29kZSBnZW5lcmF0aW9uLiAgVGhlCmFsbG9j ZnJhbWUgYW5kIGRlYWxsb2NmcmFtZSBpbnN0cnVjdGlvbnMgYXJlIGV4YW1wbGVzLiAgT3RoZXIg ZXhhbXBsZXMgYXJlCmluc3RydWN0aW9ucyB3aXRoIG11bHRpcGxlIGRlZmluaXRpb25zLiAgVGhl c2UgcmVxdWlyZSBzcGVjaWFsIGhhbmRsaW5nCmJlY2F1c2UgcWVtdSBoZWxwZXJzIGNhbiBvbmx5 IHJldHVybiBhIHNpbmdsZSB2YWx1ZS4KCkluIGFkZGl0aW9uIHRvIGluc3RydWN0aW9uIHNlbWFu dGljcywgd2UgdXNlIGEgZ2VuZXJhdG9yIHRvIGNyZWF0ZSB0aGUgZGVjb2RlCnRyZWUuICBUaGlz IGdlbmVyYXRpb24gaXMgYWxzbyBhIHR3byBzdGVwIHByb2Nlc3MuICBUaGUgZmlyc3Qgc3RlcCBp cyB0byBydW4KdGFyZ2V0L2hleGFnb24vZ2VuX2RlY3RyZWVfaW1wb3J0LmMgdG8gcHJvZHVjZQog ICAgPEJVSUxEX0RJUj4vaGV4YWdvbi1saW51eC11c2VyL2lzZXQucHkKVGhpcyBmaWxlIGlzIGlt cG9ydGVkIGJ5IHRhcmdldC9oZXhhZ29uL2RlY3RyZWUucHkgdG8gcHJvZHVjZQogICAgPEJVSUxE X0RJUj4vaGV4YWdvbi1saW51eC11c2VyL2RlY3RyZWVfZ2VuZXJhdGVkLmgKCioqKiBLZXkgRmls ZXMgKioqCgpjcHUuaAoKVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBD UFVIZXhhZ29uU3RhdGUgc3RydWN0LiAgSXQgaXMgdGhlCnJ1bnRpbWUgaW5mb3JtYXRpb24gZm9y IGVhY2ggdGhyZWFkIGFuZCBjb250YWlucyBzdHVmZiBsaWtlIHRoZSBHUFIgYW5kCnByZWRpY2F0 ZSByZWdpc3RlcnMuCgptYWNyb3MuaAptbXZlYy9tYWNyb3MuaAoKVGhlIEhleGFnb24gYXJjaCBs aWIgcmVsaWVzIGhlYXZpbHkgb24gbWFjcm9zIGZvciB0aGUgaW5zdHJ1Y3Rpb24gc2VtYW50aWNz LgpUaGlzIGlzIGEgZ3JlYXQgYWR2YW50YWdlIGZvciBxZW11IGJlY2F1c2Ugd2UgY2FuIG92ZXJy aWRlIHRoZW0gZm9yIGRpZmZlcmVudApwdXJwb3Nlcy4gIFlvdSB3aWxsIGFsc28gbm90aWNlIHRo ZXJlIGFyZSBzb21ldGltZXMgdHdvIGRlZmluaXRpb25zIG9mIGEgbWFjcm8uClRoZSBRRU1VX0dF TkVSQVRFIHZhcmlhYmxlIGRldGVybWluZXMgd2hldGhlciB3ZSB3YW50IHRoZSBtYWNybyB0byBn ZW5lcmF0ZSBUQ0cKY29kZS4gIElmIFFFTVVfR0VORVJBVEUgaXMgbm90IGRlZmluZWQsIHdlIHdh bnQgdGhlIG1hY3JvIHRvIGdlbmVyYXRlIHZhbmlsbGEKQyBjb2RlIHRoYXQgd2lsbCB3b3JrIGlu IHRoZSBoZWxwZXIgaW1wbGVtZW50YXRpb24uCgp0cmFuc2xhdGUuYwoKVGhlIGZ1bmN0aW9ucyBp biB0aGlzIGZpbGUgZ2VuZXJhdGUgVENHIGNvZGUgZm9yIGEgdHJhbnNsYXRpb24gYmxvY2suICBT b21lCmltcG9ydGFudCBmdW5jdGlvbnMgaW4gdGhpcyBmaWxlIGFyZQoKICAgIGdlbl9zdGFydF9w YWNrZXQgLSBpbml0aWFsaXplIHRoZSBkYXRhIHN0cnVjdHVyZXMgZm9yIHBhY2tldCBzZW1hbnRp Y3MKICAgIGdlbl9jb21taXRfcGFja2V0IC0gY29tbWl0IHRoZSByZWdpc3RlciB3cml0ZXMsIHN0 b3JlcywgZXRjIGZvciBhIHBhY2tldAogICAgZGVjb2RlX3BhY2tldCAtIGRpc2Fzc2VtYmxlIGEg cGFja2V0IGFuZCBnZW5lcmF0ZSBjb2RlCgpnZW5wdHIuYwpnZW5wdHJfaGVscGVycy5oCmhlbHBl cl9vdmVycmlkZXMuaAoKVGhlc2UgZmlsZSBjcmVhdGUgYSBmdW5jdGlvbiBmb3IgZWFjaCBpbnN0 cnVjdGlvbi4gIEl0IGlzIG1vc3RseSBjb21wb3NlZCBvZgpmV1JBUF88dGFnPiBkZWZpbml0aW9u cyBmb2xsb3dlZCBieSBpbmNsdWRpbmcgcWVtdV9kZWZfZ2VuZXJhdGVkLmguICBUaGUKZ2VucHRy X2hlbHBlcnMuaCBmaWxlIGNvbnRhaW5zIGhlbHBlciBmdW5jdGlvbnMgdGhhdCBhcmUgaW52b2tl ZCBieSB0aGUgbWFjcm9zCmluIGhlbHBlcl9vdmVycmlkZXMuaCBhbmQgbWFjcm9zLmgKCm9wX2hl bHBlci5jCgpUaGlzIGZpbGUgY29udGFpbnMgdGhlIGltcGxlbWVudGF0aW9ucyBvZiBhbGwgdGhl IGhlbHBlcnMuICBUaGVyZSBhcmUgYSBmZXcKZ2VuZXJhbCBwdXJwb3NlIGhlbHBlcnMsIGJ1dCBt b3N0IG9mIHRoZW0gYXJlIGdlbmVyYXRlZCBieSBpbmNsdWRpbmcKcWVtdV9kZWZfZ2VuZXJhdGVk LmguICBUaGVyZSBhcmUgYWxzbyBzZXZlcmFsIGhlbHBlcnMgdXNlZCBmb3IgZGVidWdnaW5nLgoK CioqKiBQYWNrZXQgU2VtYW50aWNzICoqKgoKVkxJVyBwYWNrZXQgc2VtYW50aWNzIGRpZmZlciBm cm9tIHNlcmlhbCBzZW1hbnRpY3MgaW4gdGhhdCBhbGwgaW5wdXQgb3BlcmFuZHMKYXJlIHJlYWQs IHRoZW4gdGhlIG9wZXJhdGlvbnMgYXJlIHBlcmZvcm1lZCwgdGhlbiBhbGwgdGhlIHJlc3VsdHMg YXJlIHdyaXR0ZW4uCkZvciBleG1hcGxlLCB0aGlzIHBhY2tldCBwZXJmb3JtcyBhIHN3YXAgb2Yg cmVnaXN0ZXJzIHIwIGFuZCByMQogICAgeyByMCA9IHIxOyByMSA9IHIwIH0KTm90ZSB0aGF0IHRo ZSByZXN1bHQgaXMgZGlmZmVyZW50IGlmIHRoZSBpbnN0cnVjdGlvbnMgYXJlIGV4ZWN1dGVkIHNl cmlhbGx5LgoKUGFja2V0IHNlbWFudGljcyBkaWN0YXRlIHRoYXQgd2UgZGVmZXIgYW55IGNoYW5n ZXMgb2Ygc3RhdGUgdW50aWwgdGhlIGVudGlyZQpwYWNrZXQgaXMgY29tbWl0dGVkLiAgV2UgcmVj b3JkIHRoZSByZXN1bHRzIG9mIGVhY2ggaW5zdHJ1Y3Rpb24gaW4gYSBzaWRlIGRhdGEKc3RydWN0 dXJlLCBhbmQgdXBkYXRlIHRoZSB2aXNpYmxlIHByb2Nlc3NvciBzdGF0ZSB3aGVuIHdlIGNvbW1p dCB0aGUgcGFja2V0LgoKVGhlIGRhdGEgc3RydWN0dXJlcyBhcmUgZGl2aWRlZCBiZXR3ZWVuIHRo ZSBydW50aW1lIHN0YXRlIGFuZCB0aGUgdHJhbnNsYXRpb24KY29udGV4dC4KCkR1cmluZyB0aGUg VENHIGdlbmVyYXRpb24gKHNlZSB0cmFuc2xhdGUuW2NoXSksIHdlIHVzZSB0aGUgRGlzYXNDb250 ZXh0IHRvCnRyYWNrIHdoYXQgbmVlZHMgdG8gYmUgZG9uZSBkdXJpbmcgcGFja2V0IGNvbW1pdC4g IEhlcmUgYXJlIHRoZSByZWxldmFudApmaWVsZHMKCiAgICBjdHhfcmVnX2xvZyAgICAgICAgICAg IGxpc3Qgb2YgcmVnaXN0ZXJzIHdyaXR0ZW4KICAgIGN0eF9yZWdfbG9nX2lkeCAgICAgICAgaW5k ZXggaW50byBjdHhfcmVnX2xvZwogICAgY3R4X3ByZWRfbG9nICAgICAgICAgICBsaXN0IG9mIHBy ZWRpY2F0ZXMgd3JpdHRlbgogICAgY3R4X3ByZWRfbG9nX2lkeCAgICAgICBpbmRleCBpbnRvIGN0 eF9wcmVkX2xvZwogICAgY3R4X3N0b3JlX3dpZHRoICAgICAgICB3aWR0aCBvZiBzdG9yZXMgKGlu ZGV4ZWQgYnkgc2xvdCkKCkR1cmluZyBydW50aW1lLCB0aGUgZm9sbG93aW5nIGZpZWxkcyBpbiBD UFVIZXhhZ29uU3RhdGUgKHNlZSBjcHUuaCkgYXJlIHVzZWQKCiAgICBuZXdfdmFsdWUgICAgICAg ICAgICAgbmV3IHZhbHVlIG9mIGEgZ2l2ZW4gcmVnaXN0ZXIKICAgIHJlZ193cml0dGVuICAgICAg ICAgICBib29sZWFuIGluZGljYXRpbmcgaWYgcmVnaXN0ZXIgd2FzIHdyaXR0ZW4KICAgIG5ld19w cmVkX3ZhbHVlICAgICAgICBuZXcgdmFsdWUgb2YgYSBwcmVkaWNhdGUgcmVnaXN0ZXIKICAgIG5l d19wcmVkX3dyaXR0ZW4gICAgICBib29sZWFuIGluZGljYXRpbmcgaWYgcHJlZGljYXRlIHdhcyB3 cml0dGVuCiAgICBtZW1fbG9nX3N0b3JlcyAgICAgICAgcmVjb3JkIG9mIHRoZSBzdG9yZXMgKGlu ZGV4ZWQgYnkgc2xvdCkKCkZvciBIZXhhZ29uIFZlY3RvciBlWHRlbnNpb25zIChIVlgpLCB0aGUg Zm9sbG93aW5nIGZpZWxkcyBhcmUgdXNlZAoKICAgIGZ1dHVyZV9WUmVncwogICAgdG1wX1ZSZWdz CiAgICBmdXR1cmVfWlJlZ3MKICAgIFpSZWdzX3VwZGF0ZWQKICAgIFZSZWdzX3VwZGF0ZWRfdG1w CiAgICBWUmVnc191cGRhdGVkCiAgICBWUmVnc19zZWxlY3QKCioqKiBEZWJ1Z2dpbmcgKioqCgpZ b3UgY2FuIHR1cm4gb24gYSBsb3Qgb2YgZGVidWdnaW5nIGJ5IGNoYW5naW5nIHRoZSBIRVhfREVC VUcgbWFjcm8gdG8gMSBpbgppbnRlcm5hbC5oLiAgVGhpcyB3aWxsIHN0cmVhbSBhIGxvdCBvZiBp bmZvcm1hdGlvbiBhcyBpdCBnZW5lcmF0ZXMgVENHIGFuZApleGVjdXRlcyB0aGUgY29kZS4KClRv IHRyYWNrIGRvd24gbmFzdHkgaXNzdWVzIHdpdGggSGV4YWdvbi0+VENHIGdlbmVyYXRpb24sIHdl IGNvbXBhcmUgdGhlCmV4ZWN1dGlvbiByZXN1bHRzIHdpdGggYWN0dWFsIGhhcmR3YXJlIHJ1bm5p bmcgb24gYSBIZXhhZ29uIExpbnV4IHRhcmdldC4KUnVuIHFlbXUgd2l0aCB0aGUgIi1kIGNwdSIg b3B0aW9uLiAgVGhlbiwgd2UgY2FuIGRpZmYgdGhlIHJlc3VsdHMgYW5kIGZpZ3VyZQpvdXQgd2hl cmUgcWVtdSBhbmQgaGFyZHdhcmUgYmVoYXZlIGRpZmZlcmVudGx5LgoKVGhlIHN0YWNrcyBhcmUg bG9jYXRlZCBhdCBkaWZmZXJlbnQgbG9jYXRpb25zLiAgV2UgaGFuZGxlIHRoaXMgYnkgY2hhbmdp bmcKZW52LT5zdGFja19hZGp1c3QgaW4gdHJhbnNsYXRlLmMuICBGaXJzdCwgc2V0IHRoaXMgdG8g emVybyBhbmQgcnVuIHFlbXUuClRoZW4sIGNoYW5nZSBlbnYtPnN0YWNrX2FkanVzdCB0byB0aGUg ZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28gc3RhY2sKbG9jYXRpb25zLiAgVGhlbiByZWJ1aWxk IHFlbXUgYW5kIHJ1biBhZ2Fpbi4gVGhhdCB3aWxsIHByb2R1Y2UgYSB2ZXJ5CmNsZWFuIGRpZmYu CgpIZXJlIGFyZSBzb21lIGhhbmR5IHBsYWNlcyB0byBzZXQgYnJlYWtwb2ludHMKCiAgICBBdCB0 aGUgY2FsbCB0byBnZW5fc3RhcnRfcGFja2V0IGZvciBhIGdpdmVuIFBDIChub3RlIHRoYXQgdGhl IGxpbmUgbnVtYmVyCiAgICAgICAgbWlnaHQgY2hhbmdlIGluIHRoZSBmdXR1cmUpCiAgICAgICAg YnIgdHJhbnNsYXRlLmM6NjAyIGlmIGN0eC0+YmFzZS5wY19uZXh0ID09IDB4ZGVhZGJlZWYKICAg IFRoZSBoZWxwZXIgZnVuY3Rpb24gZm9yIGVhY2ggaW5zdHJ1Y3Rpb24gaXMgbmFtZWQgaGVscGVy XzxUQUc+LCBzbyBoZXJlJ3MKICAgICAgICBhbiBleGFtcGxlIHRoYXQgd2lsbCBzZXQgYSBicmVh a3BvaW50IGF0IHRoZSBzdGFydAogICAgICAgIGJyIGhlbHBlcl9WNl92Z2F0aGVybWgKICAgIElm IHlvdSBoYXZlIHRoZSBIRVhfREVCVUcgbWFjcm8gc2V0LCB0aGUgZm9sbG93aW5nIHdpbGwgYmUg dXNlZnVsCiAgICAgICAgQXQgdGhlIHN0YXJ0IG9mIGV4ZWN1dGlvbiBvZiBhIHBhY2tldCBmb3Ig YSBnaXZlbiBQQwogICAgICAgICAgICBiciBoZWxwZXJfZGVidWdfc3RhcnRfcGFja2V0IGlmIGVu di0+Z3ByWzQxXSA9PSAweGRlYWRiZWVmCiAgICAgICAgQXQgdGhlIGVuZCBvZiBleGVjdXRpb24g b2YgYSBwYWNrZXQgZm9yIGEgZ2l2ZW4gUEMKICAgICAgICAgICAgYnIgaGVscGVyX2RlYnVnX2Nv bW1pdF9lbmQgaWYgZW52LT50aGlzX1BDID09IDB4ZGVhZGJlZWYKClRheWxvciBTaW1wc29uICg2 Nik6CiAgSGV4YWdvbiBNYWludGFpbmVycwogIEhleGFnb24gRUxGIE1hY2hpbmUgRGVmaW5pdGlv bgogIEhleGFnb24gQ1BVIFNjYWxhciBDb3JlIERlZmluaXRpb24KICBIZXhhZ29uIHJlZ2lzdGVy IG5hbWVzCiAgSGV4YWdvbiBEaXNhc3NlbWJsZXIKICBIZXhhZ29uIENQVSBTY2FsYXIgQ29yZSBI ZWxwZXJzCiAgSGV4YWdvbiBHREIgU3R1YgogIEhleGFnb24gaW5zdHJ1Y3Rpb24gYW5kIHBhY2tl dCB0eXBlcwogIEhleGFnb24gYXJjaGl0ZWN0dXJlIHR5cGVzCiAgSGV4YWdvbiByZWdpc3RlciBm aWVsZHMKICBIZXhhZ29uIGluc3RydWN0aW9uIGF0dHJpYnV0ZXMKICBIZXhhZ29uIHJlZ2lzdGVy IG1hcAogIEhleGFnb24gaW5zdHJ1Y3Rpb24vcGFja2V0IGRlY29kZQogIEhleGFnb24gaW5zdHJ1 Y3Rpb24gcHJpbnRpbmcKICBIZXhhZ29uIGFyY2ggaW1wb3J0IC0gaW5zdHJ1Y3Rpb24gc2VtYW50 aWNzIGRlZmluaXRpb25zCiAgSGV4YWdvbiBhcmNoIGltcG9ydCAtIG1hY3JvIGRlZmluaXRpb25z CiAgSGV4YWdvbiBhcmNoIGltcG9ydCAtIGluc3RydWN0aW9uIGVuY29kaW5nCiAgSGV4YWdvbiBp bnN0cnVjdGlvbiBjbGFzcyBkZWZpbml0aW9ucwogIEhleGFnb24gaW5zdHJ1Y3Rpb24gdXRpbGl0 eSBmdW5jdGlvbnMKICBIZXhhZ29uIGdlbmVyYXRvciBwaGFzZSAxIC0gQyBwcmVwcm9jZXNzb3Ig Zm9yIHNlbWFudGljcwogIEhleGFnb24gZ2VuZXJhdG9yIHBoYXNlIDIgLSBxZW11X2RlZl9nZW5l cmF0ZWQuaAogIEhleGFnb24gZ2VuZXJhdG9yIHBoYXNlIDIgLSBxZW11X3dyYXBfZ2VuZXJhdGVk LmgKICBIZXhhZ29uIGdlbmVyYXRvciBwaGFzZSAyIC0gb3Bjb2Rlc19kZWZfZ2VuZXJhdGVkLmgK ICBIZXhhZ29uIGdlbmVyYXRvciBwaGFzZSAyIC0gb3BfYXR0cmlic19nZW5lcmF0ZWQuaAogIEhl eGFnb24gZ2VuZXJhdG9yIHBoYXNlIDIgLSBvcF9yZWdzX2dlbmVyYXRlZC5oCiAgSGV4YWdvbiBn ZW5lcmF0b3IgcGhhc2UgMiAtIHByaW50aW5zbi1nZW5lcmF0ZWQuaAogIEhleGFnb24gZ2VuZXJh dG9yIHBoYXNlIDMgLSBDIHByZXByb2Nlc3NvciBmb3IgZGVjb2RlIHRyZWUKICBIZXhhZ29uIGdl bmVyYXRlciBwaGFzZSA0IC0gRGVjb2RlIHRyZWUKICBIZXhhZ29uIG9wY29kZSBkYXRhIHN0cnVj dHVyZXMKICBIZXhhZ29uIG1hY3JvcyB0byBpbnRlcmZhY2Ugd2l0aCB0aGUgZ2VuZXJhdG9yCiAg SGV4YWdvbiBtYWNyb3MgcmVmZXJlbmNlZCBpbiBpbnN0cnVjdGlvbiBzZW1hbnRpY3MKICBIZXhh Z29uIGluc3RydWN0aW9uIGNsYXNzZXMKICBIZXhhZ29uIFRDRyBnZW5lcmF0aW9uIGhlbHBlcnMg LSBzdGVwIDEKICBIZXhhZ29uIFRDRyBnZW5lcmF0aW9uIGhlbHBlcnMgLSBzdGVwIDIKICBIZXhh Z29uIFRDRyBnZW5lcmF0aW9uIGhlbHBlcnMgLSBzdGVwIDMKICBIZXhhZ29uIFRDRyBnZW5lcmF0 aW9uIGhlbHBlcnMgLSBzdGVwIDQKICBIZXhhZ29uIFRDRyBnZW5lcmF0aW9uIGhlbHBlcnMgLSBz dGVwIDUKICBIZXhhZ29uIFRDRyBnZW5lcmF0aW9uIC0gc3RlcCAwMQogIEhleGFnb24gVENHIGdl bmVyYXRpb24gLSBzdGVwIDAyCiAgSGV4YWdvbiBUQ0cgZ2VuZXJhdGlvbiAtIHN0ZXAgMDMKICBI ZXhhZ29uIFRDRyBnZW5lcmF0aW9uIC0gc3RlcCAwNAogIEhleGFnb24gVENHIGdlbmVyYXRpb24g LSBzdGVwIDA1CiAgSGV4YWdvbiBUQ0cgZ2VuZXJhdGlvbiAtIHN0ZXAgMDYKICBIZXhhZ29uIFRD RyBnZW5lcmF0aW9uIC0gc3RlcCAwNwogIEhleGFnb24gVENHIGdlbmVyYXRpb24gLSBzdGVwIDA4 CiAgSGV4YWdvbiBUQ0cgZ2VuZXJhdGlvbiAtIHN0ZXAgMDkKICBIZXhhZ29uIFRDRyBnZW5lcmF0 aW9uIC0gc3RlcCAxMAogIEhleGFnb24gVENHIGdlbmVyYXRpb24gLSBzdGVwIDExCiAgSGV4YWdv biBUQ0cgZ2VuZXJhdGlvbiAtIHN0ZXAgMTIKICBIZXhhZ29uIHRyYW5zbGF0aW9uCiAgSGV4YWdv biBMaW51eCB1c2VyIGVtdWxhdGlvbgogIEhleGFnb24gYnVpbGQgaW5mcmFzdHJ1Y3R1cmUKICBI ZXhhZ29uIC0gQWRkIEhleGFnb24gVmVjdG9yIGVYdGVuc2lvbnMgKEhWWCkgdG8gY29yZSBkZWZp bml0aW9uCiAgSGV4YWdvbiBIVlggc3VwcG9ydCBpbiBnZGJzdHViCiAgSGV4YWdvbiBIVlggaW1w b3J0IGluc3RydWN0aW9uIGVuY29kaW5ncwogIEhleGFnb24gSFZYIGltcG9ydCBzZW1hbnRpY3MK ICBIZXhhZ29uIEhWWCBpbXBvcnQgbWFjcm8gZGVmaW5pdGlvbnMKICBIZXhhZ29uIEhWWCBzZW1h bnRpY3MgZ2VuZXJhdG9yCiAgSGV4YWdvbiBIVlggaW5zdHJ1Y3Rpb24gZGVjb2RpbmcKICBIZXhh Z29uIEhWWCBpbnN0cnVjdGlvbiB1dGlsaXR5IGZ1bmN0aW9ucwogIEhleGFnb24gSFZYIG1hY3Jv cyB0byBpbnRlcmZhY2Ugd2l0aCB0aGUgZ2VuZXJhdG9yCiAgSGV4YWdvbiBIVlggbWFjcm9zIHJl ZmVyZW5jZWQgaW4gaW5zdHJ1Y3Rpb24gc2VtYW50aWNzCiAgSGV4YWdvbiBIVlggaGVscGVyIHRv IGNvbW1pdCB2ZWN0b3Igc3RvcmVzIChtYXNrZWQgYW5kIHNjYXR0ZXIvZ2F0aGVyKQogIEhleGFn b24gSFZYIFRDRyBnZW5lcmF0aW9uCiAgSGV4YWdvbiBIVlggdHJhbnNsYXRpb24KICBIZXhhZ29u IEhWWCBidWlsZCBpbmZyYXN0cnVjdHVyZQoKIE1BSU5UQUlORVJTICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgOCArCiBjb25maWd1cmUgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgIDkgKwogZGVmYXVsdC1jb25maWdzL2hleGFnb24tbGludXgtdXNl ci5tYWsgICAgICAgfCAgICAxICsKIGRpc2FzL01ha2VmaWxlLm9ianMgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAgMSArCiBkaXNhcy9oZXhhZ29uLmMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgNTYgKwogaW5jbHVkZS9kaXNhcy9kaXMtYXNtLmggICAgICAgICAgICAgICAg ICAgICAgfCAgICAxICsKIGluY2x1ZGUvZWxmLmggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgMiArCiBsaW51eC11c2VyL2VsZmxvYWQuYyAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgMTYgKwogbGludXgtdXNlci9oZXhhZ29uL2NwdV9sb29wLmMgICAgICAgICAgICAgICAg fCAgMTczICsrCiBsaW51eC11c2VyL2hleGFnb24vc2lnbmFsLmMgICAgICAgICAgICAgICAgICB8 ICAyNzYgKysKIGxpbnV4LXVzZXIvaGV4YWdvbi9zb2NrYml0cy5oICAgICAgICAgICAgICAgIHwg ICAxOCArCiBsaW51eC11c2VyL2hleGFnb24vc3lzY2FsbF9uci5oICAgICAgICAgICAgICB8ICAz NDYgKysrCiBsaW51eC11c2VyL2hleGFnb24vdGFyZ2V0X2NwdS5oICAgICAgICAgICAgICB8ICAg NDQgKwogbGludXgtdXNlci9oZXhhZ29uL3RhcmdldF9lbGYuaCAgICAgICAgICAgICAgfCAgIDM4 ICsKIGxpbnV4LXVzZXIvaGV4YWdvbi90YXJnZXRfZmNudGwuaCAgICAgICAgICAgIHwgICAxOCAr CiBsaW51eC11c2VyL2hleGFnb24vdGFyZ2V0X3NpZ25hbC5oICAgICAgICAgICB8ICAgMzQgKwog bGludXgtdXNlci9oZXhhZ29uL3RhcmdldF9zdHJ1Y3RzLmggICAgICAgICAgfCAgIDQ2ICsKIGxp bnV4LXVzZXIvaGV4YWdvbi90YXJnZXRfc3lzY2FsbC5oICAgICAgICAgIHwgICAzMiArCiBsaW51 eC11c2VyL2hleGFnb24vdGVybWJpdHMuaCAgICAgICAgICAgICAgICB8ICAgMTggKwogbGludXgt dXNlci9zeXNjYWxsLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsKIGxpbnV4LXVz ZXIvc3lzY2FsbF9kZWZzLmggICAgICAgICAgICAgICAgICAgIHwgICAzMyArCiBzY3JpcHRzL3Fl bXUtYmluZm10LWNvbmYuc2ggICAgICAgICAgICAgICAgICB8ICAgIDYgKy0KIHRhcmdldC9oZXhh Z29uL01ha2VmaWxlLm9ianMgICAgICAgICAgICAgICAgIHwgIDEwOSArCiB0YXJnZXQvaGV4YWdv bi9hcmNoLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA2NjQgKysrKysKIHRhcmdldC9oZXhh Z29uL2FyY2guaCAgICAgICAgICAgICAgICAgICAgICAgIHwgICA2MiArCiB0YXJnZXQvaGV4YWdv bi9hdHRyaWJzLmggICAgICAgICAgICAgICAgICAgICB8ICAgMzIgKwogdGFyZ2V0L2hleGFnb24v YXR0cmlic19kZWYuaCAgICAgICAgICAgICAgICAgfCAgNDA0ICsrKwogdGFyZ2V0L2hleGFnb24v Y29udl9lbXUuYyAgICAgICAgICAgICAgICAgICAgfCAgMzcwICsrKwogdGFyZ2V0L2hleGFnb24v Y29udl9lbXUuaCAgICAgICAgICAgICAgICAgICAgfCAgIDUwICsKIHRhcmdldC9oZXhhZ29uL2Nw dS1wYXJhbS5oICAgICAgICAgICAgICAgICAgIHwgICAyNiArCiB0YXJnZXQvaGV4YWdvbi9jcHUu YyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAzNTYgKysrCiB0YXJnZXQvaGV4YWdvbi9jcHUu aCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyMDcgKysKIHRhcmdldC9oZXhhZ29uL2NwdV9i aXRzLmggICAgICAgICAgICAgICAgICAgIHwgICAzNyArCiB0YXJnZXQvaGV4YWdvbi9kZWNvZGUu YyAgICAgICAgICAgICAgICAgICAgICB8ICA3OTIgKysrKysKIHRhcmdldC9oZXhhZ29uL2RlY29k ZS5oICAgICAgICAgICAgICAgICAgICAgIHwgICAzOSArCiB0YXJnZXQvaGV4YWdvbi9kZWN0cmVl LnB5ICAgICAgICAgICAgICAgICAgICB8ICAzNTQgKysrCiB0YXJnZXQvaGV4YWdvbi9kb19xZW11 LnB5ICAgICAgICAgICAgICAgICAgICB8IDExOTggKysrKysrKysKIHRhcmdldC9oZXhhZ29uL2Zt YV9lbXUuYyAgICAgICAgICAgICAgICAgICAgIHwgIDkxOCArKysrKysKIHRhcmdldC9oZXhhZ29u L2ZtYV9lbXUuaCAgICAgICAgICAgICAgICAgICAgIHwgICAzMCArCiB0YXJnZXQvaGV4YWdvbi9n ZGJzdHViLmMgICAgICAgICAgICAgICAgICAgICB8ICAxMTEgKwogdGFyZ2V0L2hleGFnb24vZ2Vu X2RlY3RyZWVfaW1wb3J0LmMgICAgICAgICAgfCAgMjA1ICsrCiB0YXJnZXQvaGV4YWdvbi9nZW5f c2VtYW50aWNzLmMgICAgICAgICAgICAgICB8ICAxMDEgKwogdGFyZ2V0L2hleGFnb24vZ2VucHRy LmMgICAgICAgICAgICAgICAgICAgICAgfCAgIDYyICsKIHRhcmdldC9oZXhhZ29uL2dlbnB0ci5o ICAgICAgICAgICAgICAgICAgICAgIHwgICAyNSArCiB0YXJnZXQvaGV4YWdvbi9nZW5wdHJfaGVs cGVycy5oICAgICAgICAgICAgICB8IDEwMjIgKysrKysrKwogdGFyZ2V0L2hleGFnb24vaGVscGVy LmggICAgICAgICAgICAgICAgICAgICAgfCAgIDM4ICsKIHRhcmdldC9oZXhhZ29uL2hlbHBlcl9v dmVycmlkZXMuaCAgICAgICAgICAgIHwgMTg1MCArKysrKysrKysrKysKIHRhcmdldC9oZXhhZ29u L2hleF9hcmNoX3R5cGVzLmggICAgICAgICAgICAgIHwgICA0MiArCiB0YXJnZXQvaGV4YWdvbi9o ZXhfcmVncy5oICAgICAgICAgICAgICAgICAgICB8ICAgOTcgKwogdGFyZ2V0L2hleGFnb24vaWNs YXNzLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMTA5ICsKIHRhcmdldC9oZXhhZ29uL2ljbGFz cy5oICAgICAgICAgICAgICAgICAgICAgIHwgICA0NiArCiB0YXJnZXQvaGV4YWdvbi9pbXBvcnRl ZC9hbGxleHQuaWRlZiAgICAgICAgICB8ICAgMjUgKwogdGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQv YWxsZXh0X21hY3Jvcy5kZWYgICAgfCAgIDI1ICsKIHRhcmdldC9oZXhhZ29uL2ltcG9ydGVkL2Fs bGV4dGVuYy5kZWYgICAgICAgIHwgICAyMCArCiB0YXJnZXQvaGV4YWdvbi9pbXBvcnRlZC9hbGxp ZGVmcy5kZWYgICAgICAgICB8ICAgOTIgKwogdGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQvYWx1Lmlk ZWYgICAgICAgICAgICAgfCAxMzM1ICsrKysrKysrKwogdGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQv YnJhbmNoLmlkZWYgICAgICAgICAgfCAgMzQ0ICsrKwogdGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQv Y29tcGFyZS5pZGVmICAgICAgICAgfCAgNjM5ICsrKysrCiB0YXJnZXQvaGV4YWdvbi9pbXBvcnRl ZC9lbmNvZGUuZGVmICAgICAgICAgICB8ICAxMjYgKwogdGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQv ZW5jb2RlX3BwLmRlZiAgICAgICAgfCAyMjgzICsrKysrKysrKysrKysrKwogdGFyZ2V0L2hleGFn b24vaW1wb3J0ZWQvZW5jb2RlX3N1Ymluc24uZGVmICAgfCAgMTUwICsKIHRhcmdldC9oZXhhZ29u L2ltcG9ydGVkL2Zsb2F0LmlkZWYgICAgICAgICAgIHwgIDQ5OCArKysrCiB0YXJnZXQvaGV4YWdv bi9pbXBvcnRlZC9pY2xhc3MuZGVmICAgICAgICAgICB8ICAgNTIgKwogdGFyZ2V0L2hleGFnb24v aW1wb3J0ZWQvbGRzdC5pZGVmICAgICAgICAgICAgfCAgNDIxICsrKwogdGFyZ2V0L2hleGFnb24v aW1wb3J0ZWQvbWFjcm9zLmRlZiAgICAgICAgICAgfCAzOTcwICsrKysrKysrKysrKysrKysrKysr KysrKysrCiB0YXJnZXQvaGV4YWdvbi9pbXBvcnRlZC9tbXZlYy9lbmNvZGVfZXh0LmRlZiB8ICA4 MzAgKysrKysrCiB0YXJnZXQvaGV4YWdvbi9pbXBvcnRlZC9tbXZlYy9leHQuaWRlZiAgICAgICB8 IDI4MDkgKysrKysrKysrKysrKysrKysrCiB0YXJnZXQvaGV4YWdvbi9pbXBvcnRlZC9tbXZlYy9t YWNyb3MuZGVmICAgICB8IDExMTAgKysrKysrKwogdGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQvbXB5 LmlkZWYgICAgICAgICAgICAgfCAxMjY5ICsrKysrKysrCiB0YXJnZXQvaGV4YWdvbi9pbXBvcnRl ZC9zaGlmdC5pZGVmICAgICAgICAgICB8IDEyMTEgKysrKysrKysKIHRhcmdldC9oZXhhZ29uL2lt cG9ydGVkL3N1Ymluc25zLmlkZWYgICAgICAgIHwgIDE1MiArCiB0YXJnZXQvaGV4YWdvbi9pbXBv cnRlZC9zeXN0ZW0uaWRlZiAgICAgICAgICB8ICAzMDIgKysKIHRhcmdldC9oZXhhZ29uL2luc24u aCAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE0OSArCiB0YXJnZXQvaGV4YWdvbi9pbnRlcm5h bC5oICAgICAgICAgICAgICAgICAgICB8ICAgNTQgKwogdGFyZ2V0L2hleGFnb24vbWFjcm9zLmgg ICAgICAgICAgICAgICAgICAgICAgfCAxNDk5ICsrKysrKysrKysKIHRhcmdldC9oZXhhZ29uL21t dmVjL2RlY29kZV9leHRfbW12ZWMuYyAgICAgIHwgIDY3MyArKysrKwogdGFyZ2V0L2hleGFnb24v bW12ZWMvZGVjb2RlX2V4dF9tbXZlYy5oICAgICAgfCAgIDI0ICsKIHRhcmdldC9oZXhhZ29uL21t dmVjL21hY3Jvcy5oICAgICAgICAgICAgICAgIHwgIDY2OCArKysrKwogdGFyZ2V0L2hleGFnb24v bW12ZWMvbW12ZWMuaCAgICAgICAgICAgICAgICAgfCAgIDg3ICsKIHRhcmdldC9oZXhhZ29uL21t dmVjL3N5c3RlbV9leHRfbW12ZWMuYyAgICAgIHwgIDI2NSArKwogdGFyZ2V0L2hleGFnb24vbW12 ZWMvc3lzdGVtX2V4dF9tbXZlYy5oICAgICAgfCAgIDM4ICsKIHRhcmdldC9oZXhhZ29uL29wX2hl bHBlci5jICAgICAgICAgICAgICAgICAgIHwgIDUwNyArKysrCiB0YXJnZXQvaGV4YWdvbi9vcGNv ZGVzLmMgICAgICAgICAgICAgICAgICAgICB8ICAyMjMgKysKIHRhcmdldC9oZXhhZ29uL29wY29k ZXMuaCAgICAgICAgICAgICAgICAgICAgIHwgICA2NyArCiB0YXJnZXQvaGV4YWdvbi9wcmludGlu c24uYyAgICAgICAgICAgICAgICAgICB8ICAgOTMgKwogdGFyZ2V0L2hleGFnb24vcHJpbnRpbnNu LmggICAgICAgICAgICAgICAgICAgfCAgIDI2ICsKIHRhcmdldC9oZXhhZ29uL3E2dl9kZWNvZGUu YyAgICAgICAgICAgICAgICAgIHwgIDQxNiArKysKIHRhcmdldC9oZXhhZ29uL3JlZ19maWVsZHMu YyAgICAgICAgICAgICAgICAgIHwgICAyOCArCiB0YXJnZXQvaGV4YWdvbi9yZWdfZmllbGRzLmgg ICAgICAgICAgICAgICAgICB8ICAgNDAgKwogdGFyZ2V0L2hleGFnb24vcmVnX2ZpZWxkc19kZWYu aCAgICAgICAgICAgICAgfCAgMTA5ICsKIHRhcmdldC9oZXhhZ29uL3JlZ21hcC5oICAgICAgICAg ICAgICAgICAgICAgIHwgICAzOCArCiB0YXJnZXQvaGV4YWdvbi90cmFuc2xhdGUuYyAgICAgICAg ICAgICAgICAgICB8ICA5MDYgKysrKysrCiB0YXJnZXQvaGV4YWdvbi90cmFuc2xhdGUuaCAgICAg ICAgICAgICAgICAgICB8ICAxMTIgKwogdGVzdHMvdGNnL2NvbmZpZ3VyZS5zaCAgICAgICAgICAg ICAgICAgICAgICAgfCAgICA0ICstCiB0ZXN0cy90Y2cvaGV4YWdvbi9mbG9hdF9jb252cy5yZWYg ICAgICAgICAgICB8ICA3NDggKysrKysKIHRlc3RzL3RjZy9oZXhhZ29uL2Zsb2F0X21hZGRzLnJl ZiAgICAgICAgICAgIHwgIDc2OCArKysrKwogOTYgZmlsZXMgY2hhbmdlZCwgMzU3MzcgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkZWZhdWx0LWNvbmZp Z3MvaGV4YWdvbi1saW51eC11c2VyLm1hawogY3JlYXRlIG1vZGUgMTAwNjQ0IGRpc2FzL2hleGFn b24uYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpbnV4LXVzZXIvaGV4YWdvbi9jcHVfbG9vcC5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgbGludXgtdXNlci9oZXhhZ29uL3NpZ25hbC5jCiBjcmVhdGUgbW9k ZSAxMDA2NDQgbGludXgtdXNlci9oZXhhZ29uL3NvY2tiaXRzLmgKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBsaW51eC11c2VyL2hleGFnb24vc3lzY2FsbF9uci5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGlu dXgtdXNlci9oZXhhZ29uL3RhcmdldF9jcHUuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpbnV4LXVz ZXIvaGV4YWdvbi90YXJnZXRfZWxmLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaW51eC11c2VyL2hl eGFnb24vdGFyZ2V0X2ZjbnRsLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaW51eC11c2VyL2hleGFn b24vdGFyZ2V0X3NpZ25hbC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGludXgtdXNlci9oZXhhZ29u L3RhcmdldF9zdHJ1Y3RzLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaW51eC11c2VyL2hleGFnb24v dGFyZ2V0X3N5c2NhbGwuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpbnV4LXVzZXIvaGV4YWdvbi90 ZXJtYml0cy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vTWFrZWZpbGUub2Jq cwogY3JlYXRlIG1vZGUgMTAwNjQ0IHRhcmdldC9oZXhhZ29uL2FyY2guYwogY3JlYXRlIG1vZGUg MTAwNjQ0IHRhcmdldC9oZXhhZ29uL2FyY2guaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHRhcmdldC9o ZXhhZ29uL2F0dHJpYnMuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHRhcmdldC9oZXhhZ29uL2F0dHJp YnNfZGVmLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0YXJnZXQvaGV4YWdvbi9jb252X2VtdS5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vY29udl9lbXUuaAogY3JlYXRlIG1vZGUg MTAwNjQ0IHRhcmdldC9oZXhhZ29uL2NwdS1wYXJhbS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGFy Z2V0L2hleGFnb24vY3B1LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0YXJnZXQvaGV4YWdvbi9jcHUu aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHRhcmdldC9oZXhhZ29uL2NwdV9iaXRzLmgKIGNyZWF0ZSBt b2RlIDEwMDY0NCB0YXJnZXQvaGV4YWdvbi9kZWNvZGUuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHRh cmdldC9oZXhhZ29uL2RlY29kZS5oCiBjcmVhdGUgbW9kZSAxMDA3NTUgdGFyZ2V0L2hleGFnb24v ZGVjdHJlZS5weQogY3JlYXRlIG1vZGUgMTAwNzU1IHRhcmdldC9oZXhhZ29uL2RvX3FlbXUucHkK IGNyZWF0ZSBtb2RlIDEwMDY0NCB0YXJnZXQvaGV4YWdvbi9mbWFfZW11LmMKIGNyZWF0ZSBtb2Rl IDEwMDY0NCB0YXJnZXQvaGV4YWdvbi9mbWFfZW11LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0YXJn ZXQvaGV4YWdvbi9nZGJzdHViLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0YXJnZXQvaGV4YWdvbi9n ZW5fZGVjdHJlZV9pbXBvcnQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHRhcmdldC9oZXhhZ29uL2dl bl9zZW1hbnRpY3MuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHRhcmdldC9oZXhhZ29uL2dlbnB0ci5j CiBjcmVhdGUgbW9kZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vZ2VucHRyLmgKIGNyZWF0ZSBtb2Rl IDEwMDY0NCB0YXJnZXQvaGV4YWdvbi9nZW5wdHJfaGVscGVycy5oCiBjcmVhdGUgbW9kZSAxMDA2 NDQgdGFyZ2V0L2hleGFnb24vaGVscGVyLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0YXJnZXQvaGV4 YWdvbi9oZWxwZXJfb3ZlcnJpZGVzLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0YXJnZXQvaGV4YWdv bi9oZXhfYXJjaF90eXBlcy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vaGV4 X3JlZ3MuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHRhcmdldC9oZXhhZ29uL2ljbGFzcy5jCiBjcmVh dGUgbW9kZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vaWNsYXNzLmgKIGNyZWF0ZSBtb2RlIDEwMDY0 NCB0YXJnZXQvaGV4YWdvbi9pbXBvcnRlZC9hbGxleHQuaWRlZgogY3JlYXRlIG1vZGUgMTAwNjQ0 IHRhcmdldC9oZXhhZ29uL2ltcG9ydGVkL2FsbGV4dF9tYWNyb3MuZGVmCiBjcmVhdGUgbW9kZSAx MDA2NDQgdGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQvYWxsZXh0ZW5jLmRlZgogY3JlYXRlIG1vZGUg MTAwNjQ0IHRhcmdldC9oZXhhZ29uL2ltcG9ydGVkL2FsbGlkZWZzLmRlZgogY3JlYXRlIG1vZGUg MTAwNjQ0IHRhcmdldC9oZXhhZ29uL2ltcG9ydGVkL2FsdS5pZGVmCiBjcmVhdGUgbW9kZSAxMDA2 NDQgdGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQvYnJhbmNoLmlkZWYKIGNyZWF0ZSBtb2RlIDEwMDY0 NCB0YXJnZXQvaGV4YWdvbi9pbXBvcnRlZC9jb21wYXJlLmlkZWYKIGNyZWF0ZSBtb2RlIDEwMDY0 NCB0YXJnZXQvaGV4YWdvbi9pbXBvcnRlZC9lbmNvZGUuZGVmCiBjcmVhdGUgbW9kZSAxMDA2NDQg dGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQvZW5jb2RlX3BwLmRlZgogY3JlYXRlIG1vZGUgMTAwNjQ0 IHRhcmdldC9oZXhhZ29uL2ltcG9ydGVkL2VuY29kZV9zdWJpbnNuLmRlZgogY3JlYXRlIG1vZGUg MTAwNjQ0IHRhcmdldC9oZXhhZ29uL2ltcG9ydGVkL2Zsb2F0LmlkZWYKIGNyZWF0ZSBtb2RlIDEw MDY0NCB0YXJnZXQvaGV4YWdvbi9pbXBvcnRlZC9pY2xhc3MuZGVmCiBjcmVhdGUgbW9kZSAxMDA2 NDQgdGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQvbGRzdC5pZGVmCiBjcmVhdGUgbW9kZSAxMDA3NTUg dGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQvbWFjcm9zLmRlZgogY3JlYXRlIG1vZGUgMTAwNjQ0IHRh cmdldC9oZXhhZ29uL2ltcG9ydGVkL21tdmVjL2VuY29kZV9leHQuZGVmCiBjcmVhdGUgbW9kZSAx MDA2NDQgdGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQvbW12ZWMvZXh0LmlkZWYKIGNyZWF0ZSBtb2Rl IDEwMDc1NSB0YXJnZXQvaGV4YWdvbi9pbXBvcnRlZC9tbXZlYy9tYWNyb3MuZGVmCiBjcmVhdGUg bW9kZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQvbXB5LmlkZWYKIGNyZWF0ZSBtb2Rl IDEwMDY0NCB0YXJnZXQvaGV4YWdvbi9pbXBvcnRlZC9zaGlmdC5pZGVmCiBjcmVhdGUgbW9kZSAx MDA2NDQgdGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQvc3ViaW5zbnMuaWRlZgogY3JlYXRlIG1vZGUg MTAwNjQ0IHRhcmdldC9oZXhhZ29uL2ltcG9ydGVkL3N5c3RlbS5pZGVmCiBjcmVhdGUgbW9kZSAx MDA2NDQgdGFyZ2V0L2hleGFnb24vaW5zbi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGFyZ2V0L2hl eGFnb24vaW50ZXJuYWwuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHRhcmdldC9oZXhhZ29uL21hY3Jv cy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vbW12ZWMvZGVjb2RlX2V4dF9t bXZlYy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vbW12ZWMvZGVjb2RlX2V4 dF9tbXZlYy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vbW12ZWMvbWFjcm9z LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0YXJnZXQvaGV4YWdvbi9tbXZlYy9tbXZlYy5oCiBjcmVh dGUgbW9kZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vbW12ZWMvc3lzdGVtX2V4dF9tbXZlYy5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vbW12ZWMvc3lzdGVtX2V4dF9tbXZlYy5o CiBjcmVhdGUgbW9kZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vb3BfaGVscGVyLmMKIGNyZWF0ZSBt b2RlIDEwMDY0NCB0YXJnZXQvaGV4YWdvbi9vcGNvZGVzLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0 YXJnZXQvaGV4YWdvbi9vcGNvZGVzLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0YXJnZXQvaGV4YWdv bi9wcmludGluc24uYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHRhcmdldC9oZXhhZ29uL3ByaW50aW5z bi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vcTZ2X2RlY29kZS5jCiBjcmVh dGUgbW9kZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vcmVnX2ZpZWxkcy5jCiBjcmVhdGUgbW9kZSAx MDA2NDQgdGFyZ2V0L2hleGFnb24vcmVnX2ZpZWxkcy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGFy Z2V0L2hleGFnb24vcmVnX2ZpZWxkc19kZWYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHRhcmdldC9o ZXhhZ29uL3JlZ21hcC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vdHJhbnNs YXRlLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0YXJnZXQvaGV4YWdvbi90cmFuc2xhdGUuaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHRlc3RzL3RjZy9oZXhhZ29uL2Zsb2F0X2NvbnZzLnJlZgogY3JlYXRl IG1vZGUgMTAwNjQ0IHRlc3RzL3RjZy9oZXhhZ29uL2Zsb2F0X21hZGRzLnJlZgoKLS0gCjIuNy40 Cgo=