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=-13.7 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham 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 080C5C433E6 for ; Wed, 3 Mar 2021 15:34:31 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 017BB64EBD for ; Wed, 3 Mar 2021 15:34:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 017BB64EBD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:To:From:Reply-To:Cc:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=01cn8Tnl+0QYtjRybZSyUryVpNMVoaaKO7I2pJyDB1U=; b=AdMHG9BB9Nepvre2YDfhi1XZe hTNlBvopDXLnksm4V/kGmBxoZq1ONcVugzJdPCI0Mk73flr5oJmFJY0B9UOryrCFSE7v5F1dKFEe/ LMC1wxx43kgyGEXEd//jIECkT62wCxf9Tr5zeeoQL0ZXvsVG5QA7NqQ2PXPFYHKLeUARn0vSrTIj2 fyvSZCOFkkwtR1JI4AdsMmj+qOYYJ3Y2/aCVbtRNwRF7Ao+AffzBf+Nl9SMEpEuau75vd2KrCkODK 4Z/fXSR1rmJvV8lzg+hNTWofwMUsAf2aFU6om81P97gqTMJK7IJgIhjP90V7Tuv3h2GB2njHlotdj LMY3DjfhQ==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lHTUC-005OmV-JU; Wed, 03 Mar 2021 15:32:29 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lHSSY-0057ls-AS for linux-arm-kernel@desiato.infradead.org; Wed, 03 Mar 2021 14:26:42 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:To:From:Sender: Reply-To:Cc:Content-ID:Content-Description; bh=HM1ka0CtZVxL3BUzxi8tzV411f234ONThxHSrxzRyRY=; b=ByMvxamwt9z0p13k+fHjEudiEo bqvBCyDF/Teju1F9N6RgBKdG3rPaHk2+P0Vq1A037Wvj9wvAJui3zmtdy2OrdlPpP50IQu55ohDBf LOiFjf2BhVvQNw5MAUwHyestQCOYAxGnZ3XOoiyVfaRAOEwUbSXtzgN2Aj4KEErMyK3zqgmipQA4Y Jw+GFc9TtHz2heZ0fwo51PxMmL3/5ALzeRnOF0+QZwupOG6rIUVWgdheT/lYRlBA+J4Bb7LrZohFd hOsSx/wwTCqPAIOVuCWnWxIDZQ2GdJHOET8JyWQzU9iMdEeZ1tlABCDn2QN8lBosQ1I0BcyDNzLQX 4D5ZCXkw==; Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by casper.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lHSQJ-002vyT-E5 for linux-arm-kernel@lists.infradead.org; Wed, 03 Mar 2021 14:24:28 +0000 Received: by mail-wr1-x436.google.com with SMTP id h98so23861914wrh.11 for ; Wed, 03 Mar 2021 06:24:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=HM1ka0CtZVxL3BUzxi8tzV411f234ONThxHSrxzRyRY=; b=I7PvUkuAXx1ltyuhG6HnZLVYFqsjJnAfAxVnRJg4TIyFqUv4I70xxsi2Ozieojx94h 5FaQngu5P/mb7iapSuxG/sXK00F6NrPR8i2CFiAJHrxAt/rPNw8TlwR45cWDOB4q0d8q cKLNIyp1qLyLvnD8lV9NfvuxVyDHSPpsm+NusB8KtWrb800/o9/mCdjf5wO3aa5ZIziE G7XswYw+dqQ2i/KSOmdtGSfXlxyrgxxl1Nl2ST481dw2tLtJsEJ2lPO9L2BiuaJ+L6Hj M3oZZ8pV2sXcsAM32iKzwYn/ZUTT+izWZ3cpEdqjDA1kJ8hfDX7VMwKISf8Gp7TsUwYv zYSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HM1ka0CtZVxL3BUzxi8tzV411f234ONThxHSrxzRyRY=; b=KMJIrD/2CsKtmzzNqm7jSacHK+zXn/kHtxcrBu6yGY+kJLKaW+Kuep+sOjU5QbWtxe r+yuMMM2pq+k/QXXIZwmTCB8iHv3kixd7H3xdy12f/SICTgFukQ653VKnj4ZWWgR2kXs cKt6qre04S21tbE21epT0r6K1IrzVQzBmPADXPIHQ3RucvlcR6Un4F0knRJ2B71e1Pgt e77j7hS96UieVjmcUe3PRMNXrbT36A0THcNwKfh1OogeBOOvLAUQgVJJBoJAC3/nMpQo wNcuUBwdv3z1UZjKa9PaG5U7bm+LDmhPD91I4ZsayEnLqEehsq+kdfv/oOouOSwCmlvx jUjg== X-Gm-Message-State: AOAM5334nfkxrJhmHfvhOydQ4Ep6ss8WmhZIraQgvz2OnAwX+F+Y4TX4 0+ADgdG7qePl6ESxjwDpeV0= X-Google-Smtp-Source: ABdhPJzAi3hGXYNAmLuDI3tTGUsaLbqyLpRXLvz488/7fCaLqj/8kNOTaK6wqmYsVtCBD3cZjsE86Q== X-Received: by 2002:adf:c3c8:: with SMTP id d8mr27854799wrg.167.1614781399701; Wed, 03 Mar 2021 06:23:19 -0800 (PST) Received: from skynet.lan (170.red-88-1-105.dynamicip.rima-tde.net. [88.1.105.170]) by smtp.gmail.com with ESMTPSA id b15sm7876219wmd.41.2021.03.03.06.23.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Mar 2021 06:23:19 -0800 (PST) From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= To: Linus Walleij , Rob Herring , Michael Walle , Bartosz Golaszewski , Florian Fainelli , bcm-kernel-feedback-list@broadcom.com, Jonas Gorski , =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= , Necip Fazil Yildiran , linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 08/14] pinctrl: add a pincontrol driver for BCM6362 Date: Wed, 3 Mar 2021 15:23:04 +0100 Message-Id: <20210303142310.6371-9-noltari@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210303142310.6371-1-noltari@gmail.com> References: <20210303142310.6371-1-noltari@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210303_142428_784552_773EB4E6 X-CRM114-Status: GOOD ( 18.13 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org QWRkIGEgcGluY290cm9sIGRyaXZlciBmb3IgQkNNNjM2Mi4gQkNNNjM2MiBhbGxvd3MgbXV4aW5n IGluZGl2aWR1YWwKR1BJTyBwaW5zIHRvIHRoZSBMRUQgY29udHJvbGxlciwgdG8gYmUgYXZhaWxh YmxlIGJ5IHRoZSBpbnRlZ3JhdGVkCndpZmksIG9yIG90aGVyIGZ1bmN0aW9ucy4gSXQgYWxzbyBz dXBwb3J0cyBvdmVybGF5IGdyb3Vwcywgb2Ygd2hpY2gKb25seSBOQU5EIGlzIGRvY3VtZW50ZWQu CgpTaWduZWQtb2ZmLWJ5OiDDgWx2YXJvIEZlcm7DoW5kZXogUm9qYXMgPG5vbHRhcmlAZ21haWwu Y29tPgpTaWduZWQtb2ZmLWJ5OiBKb25hcyBHb3Jza2kgPGpvbmFzLmdvcnNraUBnbWFpbC5jb20+ Ci0tLQogdjM6IHVzZSBuZXcgc2hhcmVkIGNvZGUKIHYyOiBzd2l0Y2ggdG8gR1BJT19SRUdNQVAK CiBkcml2ZXJzL3BpbmN0cmwvYmNtL0tjb25maWcgICAgICAgICAgIHwgICA4ICsKIGRyaXZlcnMv cGluY3RybC9iY20vTWFrZWZpbGUgICAgICAgICAgfCAgIDEgKwogZHJpdmVycy9waW5jdHJsL2Jj bS9waW5jdHJsLWJjbTYzNjIuYyB8IDYxNyArKysrKysrKysrKysrKysrKysrKysrKysrKwogMyBm aWxlcyBjaGFuZ2VkLCA2MjYgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvcGluY3RybC9iY20vcGluY3RybC1iY202MzYyLmMKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Bp bmN0cmwvYmNtL0tjb25maWcgYi9kcml2ZXJzL3BpbmN0cmwvYmNtL0tjb25maWcKaW5kZXggMjM4 MjM4MzczMmFiLi42NGRkMmZjN2M1ZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGluY3RybC9iY20v S2NvbmZpZworKysgYi9kcml2ZXJzL3BpbmN0cmwvYmNtL0tjb25maWcKQEAgLTU0LDYgKzU0LDE0 IEBAIGNvbmZpZyBQSU5DVFJMX0JDTTYzNTgKIAloZWxwCiAJICAgU2F5IFkgaGVyZSB0byBlbmFi bGUgdGhlIEJyb2FkY29tIEJDTTYzNTggR1BJTyBkcml2ZXIuCiAKK2NvbmZpZyBQSU5DVFJMX0JD TTYzNjIKKwlib29sICJCcm9hZGNvbSBCQ002MzYyIEdQSU8gZHJpdmVyIgorCWRlcGVuZHMgb24g KEJNSVBTX0dFTkVSSUMgfHwgQ09NUElMRV9URVNUKQorCXNlbGVjdCBQSU5DVFJMX0JDTTYzWFgK KwlkZWZhdWx0IEJNSVBTX0dFTkVSSUMKKwloZWxwCisJICAgU2F5IFkgaGVyZSB0byBlbmFibGUg dGhlIEJyb2FkY29tIEJDTTYzNjIgR1BJTyBkcml2ZXIuCisKIGNvbmZpZyBQSU5DVFJMX0lQUk9D X0dQSU8KIAlib29sICJCcm9hZGNvbSBpUHJvYyBHUElPICh3aXRoIFBJTkNPTkYpIGRyaXZlciIK IAlkZXBlbmRzIG9uIE9GX0dQSU8gJiYgKEFSQ0hfQkNNX0lQUk9DIHx8IENPTVBJTEVfVEVTVCkK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGluY3RybC9iY20vTWFrZWZpbGUgYi9kcml2ZXJzL3BpbmN0 cmwvYmNtL01ha2VmaWxlCmluZGV4IGMzZjViN2IyZjJmMC4uYjliMDllNWI5MTRjIDEwMDY0NAot LS0gYS9kcml2ZXJzL3BpbmN0cmwvYmNtL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvcGluY3RybC9i Y20vTWFrZWZpbGUKQEAgLTYsNiArNiw3IEBAIG9iai0kKENPTkZJR19QSU5DVFJMX0JDTTI4MzUp CQkrPSBwaW5jdHJsLWJjbTI4MzUubwogb2JqLSQoQ09ORklHX1BJTkNUUkxfQkNNNjNYWCkJCSs9 IHBpbmN0cmwtYmNtNjN4eC5vCiBvYmotJChDT05GSUdfUElOQ1RSTF9CQ002MzI4KQkJKz0gcGlu Y3RybC1iY202MzI4Lm8KIG9iai0kKENPTkZJR19QSU5DVFJMX0JDTTYzNTgpCQkrPSBwaW5jdHJs LWJjbTYzNTgubworb2JqLSQoQ09ORklHX1BJTkNUUkxfQkNNNjM2MikJCSs9IHBpbmN0cmwtYmNt NjM2Mi5vCiBvYmotJChDT05GSUdfUElOQ1RSTF9JUFJPQ19HUElPKQkrPSBwaW5jdHJsLWlwcm9j LWdwaW8ubwogb2JqLSQoQ09ORklHX1BJTkNUUkxfQ1lHTlVTX01VWCkJKz0gcGluY3RybC1jeWdu dXMtbXV4Lm8KIG9iai0kKENPTkZJR19QSU5DVFJMX05TKQkJKz0gcGluY3RybC1ucy5vCmRpZmYg LS1naXQgYS9kcml2ZXJzL3BpbmN0cmwvYmNtL3BpbmN0cmwtYmNtNjM2Mi5jIGIvZHJpdmVycy9w aW5jdHJsL2JjbS9waW5jdHJsLWJjbTYzNjIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLjdlYTRiZDNmNTliNwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvcGlu Y3RybC9iY20vcGluY3RybC1iY202MzYyLmMKQEAgLTAsMCArMSw2MTcgQEAKKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKworLyoKKyAqIERyaXZlciBmb3IgQkNNNjM2MiBHUElP IHVuaXQgKHBpbmN0cmwgKyBHUElPKQorICoKKyAqIENvcHlyaWdodCAoQykgMjAyMSDDgWx2YXJv IEZlcm7DoW5kZXogUm9qYXMgPG5vbHRhcmlAZ21haWwuY29tPgorICogQ29weXJpZ2h0IChDKSAy MDE2IEpvbmFzIEdvcnNraSA8am9uYXMuZ29yc2tpQGdtYWlsLmNvbT4KKyAqLworCisjaW5jbHVk ZSA8bGludXgvYml0cy5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8vZHJpdmVyLmg+CisjaW5jbHVk ZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvb2YuaD4KKyNpbmNsdWRlIDxsaW51 eC9waW5jdHJsL3Bpbm11eC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgor I2luY2x1ZGUgPGxpbnV4L3JlZ21hcC5oPgorCisjaW5jbHVkZSAiLi4vcGluY3RybC11dGlscy5o IgorCisjaW5jbHVkZSAicGluY3RybC1iY202M3h4LmgiCisKKyNkZWZpbmUgQkNNNjM2Ml9CQU5L X0dQSU9TCTMyCisjZGVmaW5lIEJDTTYzNjJfTlVNX0dQSU9TCTQ4CisjZGVmaW5lIEJDTTYzNjJf TlVNX0xFRFMJMjQKKworI2RlZmluZSBCQ002MzYyX0xFRF9SRUcJCTB4MTAKKyNkZWZpbmUgQkNN NjM2Ml9NT0RFX1JFRwkweDE4CisjZGVmaW5lIEJDTTYzNjJfQ1RSTF9SRUcJMHgxYworI2RlZmlu ZSBCQ002MzYyX0JBU0VNT0RFX1JFRwkweDM4CisjZGVmaW5lICBCQVNFTU9ERV9OQU5ECQlCSVQo MikKKworZW51bSBiY202MzYyX3BpbmN0cmxfcmVnIHsKKwlCQ002MzYyX0xFRENUUkwsCisJQkNN NjM2Ml9NT0RFLAorCUJDTTYzNjJfQ1RSTCwKKwlCQ002MzYyX0JBU0VNT0RFLAorfTsKKworc3Ry dWN0IGJjbTYzNjJfcGluZ3JvdXAgeworCWNvbnN0IGNoYXIgKm5hbWU7CisJY29uc3QgdW5zaWdu ZWQgKiBjb25zdCBwaW5zOworCWNvbnN0IHVuc2lnbmVkIG51bV9waW5zOworfTsKKworc3RydWN0 IGJjbTYzNjJfZnVuY3Rpb24geworCWNvbnN0IGNoYXIgKm5hbWU7CisJY29uc3QgY2hhciAqIGNv bnN0ICpncm91cHM7CisJY29uc3QgdW5zaWduZWQgbnVtX2dyb3VwczsKKworCWVudW0gYmNtNjM2 Ml9waW5jdHJsX3JlZyByZWc7CisJdWludDMyX3QgYmFzZW1vZGVfbWFzazsKK307CisKKyNkZWZp bmUgQkNNNjM2Ml9QSU4oYSwgYiwgbWFzaykJCQlcCisJewkJCQkJXAorCQkubnVtYmVyID0gYSwJ CQlcCisJCS5uYW1lID0gYiwJCQlcCisJCS5kcnZfZGF0YSA9ICh2b2lkICopKG1hc2spLAlcCisJ fQorCitzdGF0aWMgY29uc3Qgc3RydWN0IHBpbmN0cmxfcGluX2Rlc2MgYmNtNjM2Ml9waW5zW10g PSB7CisJUElOQ1RSTF9QSU4oMCwgImdwaW8wIiksCisJUElOQ1RSTF9QSU4oMSwgImdwaW8xIiks CisJUElOQ1RSTF9QSU4oMiwgImdwaW8yIiksCisJUElOQ1RSTF9QSU4oMywgImdwaW8zIiksCisJ UElOQ1RSTF9QSU4oNCwgImdwaW80IiksCisJUElOQ1RSTF9QSU4oNSwgImdwaW81IiksCisJUElO Q1RSTF9QSU4oNiwgImdwaW82IiksCisJUElOQ1RSTF9QSU4oNywgImdwaW83IiksCisJQkNNNjM2 Ml9QSU4oOCwgImdwaW84IiwgQkFTRU1PREVfTkFORCksCisJUElOQ1RSTF9QSU4oOSwgImdwaW85 IiksCisJUElOQ1RSTF9QSU4oMTAsICJncGlvMTAiKSwKKwlQSU5DVFJMX1BJTigxMSwgImdwaW8x MSIpLAorCUJDTTYzNjJfUElOKDEyLCAiZ3BpbzEyIiwgQkFTRU1PREVfTkFORCksCisJQkNNNjM2 Ml9QSU4oMTMsICJncGlvMTMiLCBCQVNFTU9ERV9OQU5EKSwKKwlCQ002MzYyX1BJTigxNCwgImdw aW8xNCIsIEJBU0VNT0RFX05BTkQpLAorCUJDTTYzNjJfUElOKDE1LCAiZ3BpbzE1IiwgQkFTRU1P REVfTkFORCksCisJQkNNNjM2Ml9QSU4oMTYsICJncGlvMTYiLCBCQVNFTU9ERV9OQU5EKSwKKwlC Q002MzYyX1BJTigxNywgImdwaW8xNyIsIEJBU0VNT0RFX05BTkQpLAorCUJDTTYzNjJfUElOKDE4 LCAiZ3BpbzE4IiwgQkFTRU1PREVfTkFORCksCisJQkNNNjM2Ml9QSU4oMTksICJncGlvMTkiLCBC QVNFTU9ERV9OQU5EKSwKKwlCQ002MzYyX1BJTigyMCwgImdwaW8yMCIsIEJBU0VNT0RFX05BTkQp LAorCUJDTTYzNjJfUElOKDIxLCAiZ3BpbzIxIiwgQkFTRU1PREVfTkFORCksCisJQkNNNjM2Ml9Q SU4oMjIsICJncGlvMjIiLCBCQVNFTU9ERV9OQU5EKSwKKwlCQ002MzYyX1BJTigyMywgImdwaW8y MyIsIEJBU0VNT0RFX05BTkQpLAorCVBJTkNUUkxfUElOKDI0LCAiZ3BpbzI0IiksCisJUElOQ1RS TF9QSU4oMjUsICJncGlvMjUiKSwKKwlQSU5DVFJMX1BJTigyNiwgImdwaW8yNiIpLAorCUJDTTYz NjJfUElOKDI3LCAiZ3BpbzI3IiwgQkFTRU1PREVfTkFORCksCisJUElOQ1RSTF9QSU4oMjgsICJn cGlvMjgiKSwKKwlQSU5DVFJMX1BJTigyOSwgImdwaW8yOSIpLAorCVBJTkNUUkxfUElOKDMwLCAi Z3BpbzMwIiksCisJUElOQ1RSTF9QSU4oMzEsICJncGlvMzEiKSwKKwlQSU5DVFJMX1BJTigzMiwg ImdwaW8zMiIpLAorCVBJTkNUUkxfUElOKDMzLCAiZ3BpbzMzIiksCisJUElOQ1RSTF9QSU4oMzQs ICJncGlvMzQiKSwKKwlQSU5DVFJMX1BJTigzNSwgImdwaW8zNSIpLAorCVBJTkNUUkxfUElOKDM2 LCAiZ3BpbzM2IiksCisJUElOQ1RSTF9QSU4oMzcsICJncGlvMzciKSwKKwlQSU5DVFJMX1BJTigz OCwgImdwaW8zOCIpLAorCVBJTkNUUkxfUElOKDM5LCAiZ3BpbzM5IiksCisJUElOQ1RSTF9QSU4o NDAsICJncGlvNDAiKSwKKwlQSU5DVFJMX1BJTig0MSwgImdwaW80MSIpLAorCVBJTkNUUkxfUElO KDQyLCAiZ3BpbzQyIiksCisJUElOQ1RSTF9QSU4oNDMsICJncGlvNDMiKSwKKwlQSU5DVFJMX1BJ Tig0NCwgImdwaW80NCIpLAorCVBJTkNUUkxfUElOKDQ1LCAiZ3BpbzQ1IiksCisJUElOQ1RSTF9Q SU4oNDYsICJncGlvNDYiKSwKKwlQSU5DVFJMX1BJTig0NywgImdwaW80NyIpLAorfTsKKworc3Rh dGljIHVuc2lnbmVkIGdwaW8wX3BpbnNbXSA9IHsgMCB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8x X3BpbnNbXSA9IHsgMSB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8yX3BpbnNbXSA9IHsgMiB9Owor c3RhdGljIHVuc2lnbmVkIGdwaW8zX3BpbnNbXSA9IHsgMyB9Oworc3RhdGljIHVuc2lnbmVkIGdw aW80X3BpbnNbXSA9IHsgNCB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW81X3BpbnNbXSA9IHsgNSB9 Oworc3RhdGljIHVuc2lnbmVkIGdwaW82X3BpbnNbXSA9IHsgNiB9Oworc3RhdGljIHVuc2lnbmVk IGdwaW83X3BpbnNbXSA9IHsgNyB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW84X3BpbnNbXSA9IHsg OCB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW85X3BpbnNbXSA9IHsgOSB9Oworc3RhdGljIHVuc2ln bmVkIGdwaW8xMF9waW5zW10gPSB7IDEwIH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzExX3BpbnNb XSA9IHsgMTEgfTsKK3N0YXRpYyB1bnNpZ25lZCBncGlvMTJfcGluc1tdID0geyAxMiB9Oworc3Rh dGljIHVuc2lnbmVkIGdwaW8xM19waW5zW10gPSB7IDEzIH07CitzdGF0aWMgdW5zaWduZWQgZ3Bp bzE0X3BpbnNbXSA9IHsgMTQgfTsKK3N0YXRpYyB1bnNpZ25lZCBncGlvMTVfcGluc1tdID0geyAx NSB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8xNl9waW5zW10gPSB7IDE2IH07CitzdGF0aWMgdW5z aWduZWQgZ3BpbzE3X3BpbnNbXSA9IHsgMTcgfTsKK3N0YXRpYyB1bnNpZ25lZCBncGlvMThfcGlu c1tdID0geyAxOCB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8xOV9waW5zW10gPSB7IDE5IH07Citz dGF0aWMgdW5zaWduZWQgZ3BpbzIwX3BpbnNbXSA9IHsgMjAgfTsKK3N0YXRpYyB1bnNpZ25lZCBn cGlvMjFfcGluc1tdID0geyAyMSB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8yMl9waW5zW10gPSB7 IDIyIH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzIzX3BpbnNbXSA9IHsgMjMgfTsKK3N0YXRpYyB1 bnNpZ25lZCBncGlvMjRfcGluc1tdID0geyAyNCB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8yNV9w aW5zW10gPSB7IDI1IH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzI2X3BpbnNbXSA9IHsgMjYgfTsK K3N0YXRpYyB1bnNpZ25lZCBncGlvMjdfcGluc1tdID0geyAyNyB9Oworc3RhdGljIHVuc2lnbmVk IGdwaW8yOF9waW5zW10gPSB7IDI4IH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzI5X3BpbnNbXSA9 IHsgMjkgfTsKK3N0YXRpYyB1bnNpZ25lZCBncGlvMzBfcGluc1tdID0geyAzMCB9Oworc3RhdGlj IHVuc2lnbmVkIGdwaW8zMV9waW5zW10gPSB7IDMxIH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzMy X3BpbnNbXSA9IHsgMzIgfTsKK3N0YXRpYyB1bnNpZ25lZCBncGlvMzNfcGluc1tdID0geyAzMyB9 Oworc3RhdGljIHVuc2lnbmVkIGdwaW8zNF9waW5zW10gPSB7IDM0IH07CitzdGF0aWMgdW5zaWdu ZWQgZ3BpbzM1X3BpbnNbXSA9IHsgMzUgfTsKK3N0YXRpYyB1bnNpZ25lZCBncGlvMzZfcGluc1td ID0geyAzNiB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8zN19waW5zW10gPSB7IDM3IH07CitzdGF0 aWMgdW5zaWduZWQgZ3BpbzM4X3BpbnNbXSA9IHsgMzggfTsKK3N0YXRpYyB1bnNpZ25lZCBncGlv MzlfcGluc1tdID0geyAzOSB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW80MF9waW5zW10gPSB7IDQw IH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzQxX3BpbnNbXSA9IHsgNDEgfTsKK3N0YXRpYyB1bnNp Z25lZCBncGlvNDJfcGluc1tdID0geyA0MiB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW80M19waW5z W10gPSB7IDQzIH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzQ0X3BpbnNbXSA9IHsgNDQgfTsKK3N0 YXRpYyB1bnNpZ25lZCBncGlvNDVfcGluc1tdID0geyA0NSB9Oworc3RhdGljIHVuc2lnbmVkIGdw aW80Nl9waW5zW10gPSB7IDQ2IH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzQ3X3BpbnNbXSA9IHsg NDcgfTsKKworc3RhdGljIHVuc2lnbmVkIG5hbmRfZ3JwX3BpbnNbXSA9IHsKKwk4LCAxMiwgMTMs IDE0LCAxNSwgMTYsIDE3LAorCTE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI3LAorfTsKKworI2Rl ZmluZSBCQ002MzYyX0dST1VQKG4pCQkJCVwKKwl7CQkJCQkJXAorCQkubmFtZSA9ICNuLAkJCQlc CisJCS5waW5zID0gbiMjX3BpbnMsCQkJXAorCQkubnVtX3BpbnMgPSBBUlJBWV9TSVpFKG4jI19w aW5zKSwJXAorCX0KKworc3RhdGljIHN0cnVjdCBiY202MzYyX3Bpbmdyb3VwIGJjbTYzNjJfZ3Jv dXBzW10gPSB7CisJQkNNNjM2Ml9HUk9VUChncGlvMCksCisJQkNNNjM2Ml9HUk9VUChncGlvMSks CisJQkNNNjM2Ml9HUk9VUChncGlvMiksCisJQkNNNjM2Ml9HUk9VUChncGlvMyksCisJQkNNNjM2 Ml9HUk9VUChncGlvNCksCisJQkNNNjM2Ml9HUk9VUChncGlvNSksCisJQkNNNjM2Ml9HUk9VUChn cGlvNiksCisJQkNNNjM2Ml9HUk9VUChncGlvNyksCisJQkNNNjM2Ml9HUk9VUChncGlvOCksCisJ QkNNNjM2Ml9HUk9VUChncGlvOSksCisJQkNNNjM2Ml9HUk9VUChncGlvMTApLAorCUJDTTYzNjJf R1JPVVAoZ3BpbzExKSwKKwlCQ002MzYyX0dST1VQKGdwaW8xMiksCisJQkNNNjM2Ml9HUk9VUChn cGlvMTMpLAorCUJDTTYzNjJfR1JPVVAoZ3BpbzE0KSwKKwlCQ002MzYyX0dST1VQKGdwaW8xNSks CisJQkNNNjM2Ml9HUk9VUChncGlvMTYpLAorCUJDTTYzNjJfR1JPVVAoZ3BpbzE3KSwKKwlCQ002 MzYyX0dST1VQKGdwaW8xOCksCisJQkNNNjM2Ml9HUk9VUChncGlvMTkpLAorCUJDTTYzNjJfR1JP VVAoZ3BpbzIwKSwKKwlCQ002MzYyX0dST1VQKGdwaW8yMSksCisJQkNNNjM2Ml9HUk9VUChncGlv MjIpLAorCUJDTTYzNjJfR1JPVVAoZ3BpbzIzKSwKKwlCQ002MzYyX0dST1VQKGdwaW8yNCksCisJ QkNNNjM2Ml9HUk9VUChncGlvMjUpLAorCUJDTTYzNjJfR1JPVVAoZ3BpbzI2KSwKKwlCQ002MzYy X0dST1VQKGdwaW8yNyksCisJQkNNNjM2Ml9HUk9VUChncGlvMjgpLAorCUJDTTYzNjJfR1JPVVAo Z3BpbzI5KSwKKwlCQ002MzYyX0dST1VQKGdwaW8zMCksCisJQkNNNjM2Ml9HUk9VUChncGlvMzEp LAorCUJDTTYzNjJfR1JPVVAoZ3BpbzMyKSwKKwlCQ002MzYyX0dST1VQKGdwaW8zMyksCisJQkNN NjM2Ml9HUk9VUChncGlvMzQpLAorCUJDTTYzNjJfR1JPVVAoZ3BpbzM1KSwKKwlCQ002MzYyX0dS T1VQKGdwaW8zNiksCisJQkNNNjM2Ml9HUk9VUChncGlvMzcpLAorCUJDTTYzNjJfR1JPVVAoZ3Bp bzM4KSwKKwlCQ002MzYyX0dST1VQKGdwaW8zOSksCisJQkNNNjM2Ml9HUk9VUChncGlvNDApLAor CUJDTTYzNjJfR1JPVVAoZ3BpbzQxKSwKKwlCQ002MzYyX0dST1VQKGdwaW80MiksCisJQkNNNjM2 Ml9HUk9VUChncGlvNDMpLAorCUJDTTYzNjJfR1JPVVAoZ3BpbzQ0KSwKKwlCQ002MzYyX0dST1VQ KGdwaW80NSksCisJQkNNNjM2Ml9HUk9VUChncGlvNDYpLAorCUJDTTYzNjJfR1JPVVAoZ3BpbzQ3 KSwKKwlCQ002MzYyX0dST1VQKG5hbmRfZ3JwKSwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICog Y29uc3QgbGVkX2dyb3Vwc1tdID0geworCSJncGlvMCIsCisJImdwaW8xIiwKKwkiZ3BpbzIiLAor CSJncGlvMyIsCisJImdwaW80IiwKKwkiZ3BpbzUiLAorCSJncGlvNiIsCisJImdwaW83IiwKKwki Z3BpbzgiLAorCSJncGlvOSIsCisJImdwaW8xMCIsCisJImdwaW8xMSIsCisJImdwaW8xMiIsCisJ ImdwaW8xMyIsCisJImdwaW8xNCIsCisJImdwaW8xNSIsCisJImdwaW8xNiIsCisJImdwaW8xNyIs CisJImdwaW8xOCIsCisJImdwaW8xOSIsCisJImdwaW8yMCIsCisJImdwaW8yMSIsCisJImdwaW8y MiIsCisJImdwaW8yMyIsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHVzYl9kZXZp Y2VfbGVkX2dyb3Vwc1tdID0geworCSJncGlvMCIsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAq IGNvbnN0IHN5c19pcnFfZ3JvdXBzW10gPSB7CisJImdwaW8xIiwKK307CisKK3N0YXRpYyBjb25z dCBjaGFyICogY29uc3Qgc2VyaWFsX2xlZF9jbGtfZ3JvdXBzW10gPSB7CisJImdwaW8yIiwKK307 CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2VyaWFsX2xlZF9kYXRhX2dyb3Vwc1tdID0g eworCSJncGlvMyIsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHJvYm9zd19sZWRf ZGF0YV9ncm91cHNbXSA9IHsKKwkiZ3BpbzQiLAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKiBj b25zdCByb2Jvc3dfbGVkX2Nsa19ncm91cHNbXSA9IHsKKwkiZ3BpbzUiLAorfTsKKworc3RhdGlj IGNvbnN0IGNoYXIgKiBjb25zdCByb2Jvc3dfbGVkMF9ncm91cHNbXSA9IHsKKwkiZ3BpbzYiLAor fTsKKworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCByb2Jvc3dfbGVkMV9ncm91cHNbXSA9IHsK KwkiZ3BpbzciLAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBpbmV0X2xlZF9ncm91 cHNbXSA9IHsKKwkiZ3BpbzgiLAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzcGlf Y3MyX2dyb3Vwc1tdID0geworCSJncGlvOSIsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNv bnN0IHNwaV9jczNfZ3JvdXBzW10gPSB7CisJImdwaW8xMCIsCit9OworCitzdGF0aWMgY29uc3Qg Y2hhciAqIGNvbnN0IG50cl9wdWxzZV9ncm91cHNbXSA9IHsKKwkiZ3BpbzExIiwKK307CisKK3N0 YXRpYyBjb25zdCBjaGFyICogY29uc3QgdWFydDFfc2N0c19ncm91cHNbXSA9IHsKKwkiZ3BpbzEy IiwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdWFydDFfc3J0c19ncm91cHNbXSA9 IHsKKwkiZ3BpbzEzIiwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdWFydDFfc2Rp bl9ncm91cHNbXSA9IHsKKwkiZ3BpbzE0IiwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29u c3QgdWFydDFfc2RvdXRfZ3JvdXBzW10gPSB7CisJImdwaW8xNSIsCit9OworCitzdGF0aWMgY29u c3QgY2hhciAqIGNvbnN0IGFkc2xfc3BpX21pc29fZ3JvdXBzW10gPSB7CisJImdwaW8xNiIsCit9 OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGFkc2xfc3BpX21vc2lfZ3JvdXBzW10gPSB7 CisJImdwaW8xNyIsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGFkc2xfc3BpX2Ns a19ncm91cHNbXSA9IHsKKwkiZ3BpbzE4IiwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29u c3QgYWRzbF9zcGlfY3NfZ3JvdXBzW10gPSB7CisJImdwaW8xOSIsCit9OworCitzdGF0aWMgY29u c3QgY2hhciAqIGNvbnN0IGVwaHkwX2xlZF9ncm91cHNbXSA9IHsKKwkiZ3BpbzIwIiwKK307CisK K3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZXBoeTFfbGVkX2dyb3Vwc1tdID0geworCSJncGlv MjEiLAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBlcGh5Ml9sZWRfZ3JvdXBzW10g PSB7CisJImdwaW8yMiIsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGVwaHkzX2xl ZF9ncm91cHNbXSA9IHsKKwkiZ3BpbzIzIiwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29u c3QgZXh0X2lycTBfZ3JvdXBzW10gPSB7CisJImdwaW8yNCIsCit9OworCitzdGF0aWMgY29uc3Qg Y2hhciAqIGNvbnN0IGV4dF9pcnExX2dyb3Vwc1tdID0geworCSJncGlvMjUiLAorfTsKKworc3Rh dGljIGNvbnN0IGNoYXIgKiBjb25zdCBleHRfaXJxMl9ncm91cHNbXSA9IHsKKwkiZ3BpbzI2IiwK K307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZXh0X2lycTNfZ3JvdXBzW10gPSB7CisJ ImdwaW8yNyIsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHdpZmlfZ3JvdXBzW10g PSB7CisJImdwaW8zMiIsCisJImdwaW8zMyIsCisJImdwaW8zNCIsCisJImdwaW8zNSIsCisJImdw aW8zNiIsCisJImdwaW8zNyIsCisJImdwaW8zOCIsCisJImdwaW8zOSIsCisJImdwaW80MCIsCisJ ImdwaW80MSIsCisJImdwaW80MiIsCisJImdwaW80MyIsCisJImdwaW80NCIsCisJImdwaW80NSIs CisJImdwaW80NiIsCisJImdwaW80NyIsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0 IG5hbmRfZ3JvdXBzW10gPSB7CisJIm5hbmRfZ3JwIiwKK307CisKKyNkZWZpbmUgQkNNNjM2Ml9M RURfRlVOKG4pCQkJCVwKKwl7CQkJCQkJXAorCQkubmFtZSA9ICNuLAkJCQlcCisJCS5ncm91cHMg PSBuIyNfZ3JvdXBzLAkJCVwKKwkJLm51bV9ncm91cHMgPSBBUlJBWV9TSVpFKG4jI19ncm91cHMp LAlcCisJCS5yZWcgPSBCQ002MzYyX0xFRENUUkwsCQkJXAorCX0KKworI2RlZmluZSBCQ002MzYy X01PREVfRlVOKG4pCQkJCVwKKwl7CQkJCQkJXAorCQkubmFtZSA9ICNuLAkJCQlcCisJCS5ncm91 cHMgPSBuIyNfZ3JvdXBzLAkJCVwKKwkJLm51bV9ncm91cHMgPSBBUlJBWV9TSVpFKG4jI19ncm91 cHMpLAlcCisJCS5yZWcgPSBCQ002MzYyX01PREUsCQkJXAorCX0KKworI2RlZmluZSBCQ002MzYy X0NUUkxfRlVOKG4pCQkJCVwKKwl7CQkJCQkJXAorCQkubmFtZSA9ICNuLAkJCQlcCisJCS5ncm91 cHMgPSBuIyNfZ3JvdXBzLAkJCVwKKwkJLm51bV9ncm91cHMgPSBBUlJBWV9TSVpFKG4jI19ncm91 cHMpLAlcCisJCS5yZWcgPSBCQ002MzYyX0NUUkwsCQkJXAorCX0KKworI2RlZmluZSBCQ002MzYy X0JBU0VNT0RFX0ZVTihuLCBtYXNrKQkJCVwKKwl7CQkJCQkJXAorCQkubmFtZSA9ICNuLAkJCQlc CisJCS5ncm91cHMgPSBuIyNfZ3JvdXBzLAkJCVwKKwkJLm51bV9ncm91cHMgPSBBUlJBWV9TSVpF KG4jI19ncm91cHMpLAlcCisJCS5yZWcgPSBCQ002MzYyX0JBU0VNT0RFLAkJXAorCQkuYmFzZW1v ZGVfbWFzayA9IChtYXNrKSwJCVwKKwl9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYmNtNjM2Ml9m dW5jdGlvbiBiY202MzYyX2Z1bmNzW10gPSB7CisJQkNNNjM2Ml9MRURfRlVOKGxlZCksCisJQkNN NjM2Ml9NT0RFX0ZVTih1c2JfZGV2aWNlX2xlZCksCisJQkNNNjM2Ml9NT0RFX0ZVTihzeXNfaXJx KSwKKwlCQ002MzYyX01PREVfRlVOKHNlcmlhbF9sZWRfY2xrKSwKKwlCQ002MzYyX01PREVfRlVO KHNlcmlhbF9sZWRfZGF0YSksCisJQkNNNjM2Ml9NT0RFX0ZVTihyb2Jvc3dfbGVkX2RhdGEpLAor CUJDTTYzNjJfTU9ERV9GVU4ocm9ib3N3X2xlZF9jbGspLAorCUJDTTYzNjJfTU9ERV9GVU4ocm9i b3N3X2xlZDApLAorCUJDTTYzNjJfTU9ERV9GVU4ocm9ib3N3X2xlZDEpLAorCUJDTTYzNjJfTU9E RV9GVU4oaW5ldF9sZWQpLAorCUJDTTYzNjJfTU9ERV9GVU4oc3BpX2NzMiksCisJQkNNNjM2Ml9N T0RFX0ZVTihzcGlfY3MzKSwKKwlCQ002MzYyX01PREVfRlVOKG50cl9wdWxzZSksCisJQkNNNjM2 Ml9NT0RFX0ZVTih1YXJ0MV9zY3RzKSwKKwlCQ002MzYyX01PREVfRlVOKHVhcnQxX3NydHMpLAor CUJDTTYzNjJfTU9ERV9GVU4odWFydDFfc2RpbiksCisJQkNNNjM2Ml9NT0RFX0ZVTih1YXJ0MV9z ZG91dCksCisJQkNNNjM2Ml9NT0RFX0ZVTihhZHNsX3NwaV9taXNvKSwKKwlCQ002MzYyX01PREVf RlVOKGFkc2xfc3BpX21vc2kpLAorCUJDTTYzNjJfTU9ERV9GVU4oYWRzbF9zcGlfY2xrKSwKKwlC Q002MzYyX01PREVfRlVOKGFkc2xfc3BpX2NzKSwKKwlCQ002MzYyX01PREVfRlVOKGVwaHkwX2xl ZCksCisJQkNNNjM2Ml9NT0RFX0ZVTihlcGh5MV9sZWQpLAorCUJDTTYzNjJfTU9ERV9GVU4oZXBo eTJfbGVkKSwKKwlCQ002MzYyX01PREVfRlVOKGVwaHkzX2xlZCksCisJQkNNNjM2Ml9NT0RFX0ZV TihleHRfaXJxMCksCisJQkNNNjM2Ml9NT0RFX0ZVTihleHRfaXJxMSksCisJQkNNNjM2Ml9NT0RF X0ZVTihleHRfaXJxMiksCisJQkNNNjM2Ml9NT0RFX0ZVTihleHRfaXJxMyksCisJQkNNNjM2Ml9D VFJMX0ZVTih3aWZpKSwKKwlCQ002MzYyX0JBU0VNT0RFX0ZVTihuYW5kLCBCQVNFTU9ERV9OQU5E KSwKK307CisKK3N0YXRpYyBpbnQgYmNtNjM2Ml9waW5jdHJsX2dldF9ncm91cF9jb3VudChzdHJ1 Y3QgcGluY3RybF9kZXYgKnBjdGxkZXYpCit7CisJcmV0dXJuIEFSUkFZX1NJWkUoYmNtNjM2Ml9n cm91cHMpOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqYmNtNjM2Ml9waW5jdHJsX2dldF9ncm91 cF9uYW1lKHN0cnVjdCBwaW5jdHJsX2RldiAqcGN0bGRldiwKKwkJCQkJCSAgdW5zaWduZWQgZ3Jv dXApCit7CisJcmV0dXJuIGJjbTYzNjJfZ3JvdXBzW2dyb3VwXS5uYW1lOworfQorCitzdGF0aWMg aW50IGJjbTYzNjJfcGluY3RybF9nZXRfZ3JvdXBfcGlucyhzdHJ1Y3QgcGluY3RybF9kZXYgKnBj dGxkZXYsCisJCQkJCSAgdW5zaWduZWQgZ3JvdXAsIGNvbnN0IHVuc2lnbmVkICoqcGlucywKKwkJ CQkJICB1bnNpZ25lZCAqbnVtX3BpbnMpCit7CisJKnBpbnMgPSBiY202MzYyX2dyb3Vwc1tncm91 cF0ucGluczsKKwkqbnVtX3BpbnMgPSBiY202MzYyX2dyb3Vwc1tncm91cF0ubnVtX3BpbnM7CisK KwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBiY202MzYyX3BpbmN0cmxfZ2V0X2Z1bmNfY291 bnQoc3RydWN0IHBpbmN0cmxfZGV2ICpwY3RsZGV2KQoreworCXJldHVybiBBUlJBWV9TSVpFKGJj bTYzNjJfZnVuY3MpOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqYmNtNjM2Ml9waW5jdHJsX2dl dF9mdW5jX25hbWUoc3RydWN0IHBpbmN0cmxfZGV2ICpwY3RsZGV2LAorCQkJCQkJIHVuc2lnbmVk IHNlbGVjdG9yKQoreworCXJldHVybiBiY202MzYyX2Z1bmNzW3NlbGVjdG9yXS5uYW1lOworfQor CitzdGF0aWMgaW50IGJjbTYzNjJfcGluY3RybF9nZXRfZ3JvdXBzKHN0cnVjdCBwaW5jdHJsX2Rl diAqcGN0bGRldiwKKwkJCQkgICAgICB1bnNpZ25lZCBzZWxlY3RvciwKKwkJCQkgICAgICBjb25z dCBjaGFyICogY29uc3QgKipncm91cHMsCisJCQkJICAgICAgdW5zaWduZWQgKiBjb25zdCBudW1f Z3JvdXBzKQoreworCSpncm91cHMgPSBiY202MzYyX2Z1bmNzW3NlbGVjdG9yXS5ncm91cHM7CisJ Km51bV9ncm91cHMgPSBiY202MzYyX2Z1bmNzW3NlbGVjdG9yXS5udW1fZ3JvdXBzOworCisJcmV0 dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGJjbTYzNjJfc2V0X2dwaW8oc3RydWN0IGJjbTYzeHhf cGluY3RybCAqcGMsIHVuc2lnbmVkIHBpbikKK3sKKwljb25zdCBzdHJ1Y3QgcGluY3RybF9waW5f ZGVzYyAqZGVzYyA9ICZiY202MzYyX3BpbnNbcGluXTsKKwl1bnNpZ25lZCBpbnQgbWFzayA9IGJj bTYzeHhfYmFua19waW4ocGluKTsKKworCWlmIChkZXNjLT5kcnZfZGF0YSkKKwkJcmVnbWFwX3Vw ZGF0ZV9iaXRzKHBjLT5yZWdzLCBCQ002MzYyX0JBU0VNT0RFX1JFRywKKwkJCQkgICAodWludDMy X3QpIGRlc2MtPmRydl9kYXRhLCAwKTsKKworCWlmIChwaW4gPCBCQ002M1hYX0JBTktfR1BJT1Mp IHsKKwkJLyogYmFzZSBtb2RlIDAgPT4gZ3BpbyAxID0+IG11eCBmdW5jdGlvbiAqLworCQlyZWdt YXBfdXBkYXRlX2JpdHMocGMtPnJlZ3MsIEJDTTYzNjJfTU9ERV9SRUcsIG1hc2ssIDApOworCisJ CS8qIHBpbnMgMC0yMyBtaWdodCBiZSBtdXhlZCB0byBsZWQgKi8KKwkJaWYgKHBpbiA8IEJDTTYz NjJfTlVNX0xFRFMpCisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocGMtPnJlZ3MsIEJDTTYzNjJfTEVE X1JFRywgbWFzaywgMCk7CisJfSBlbHNlIHsKKwkJLyogY3RybCByZWcgMCA9PiB3aWZpIGZ1bmN0 aW9uIDEgPT4gZ3BpbyAqLworCQlyZWdtYXBfdXBkYXRlX2JpdHMocGMtPnJlZ3MsIEJDTTYzNjJf Q1RSTF9SRUcsIG1hc2ssIG1hc2spOworCX0KK30KKworc3RhdGljIGludCBiY202MzYyX3BpbmN0 cmxfc2V0X211eChzdHJ1Y3QgcGluY3RybF9kZXYgKnBjdGxkZXYsCisJCQkJICAgdW5zaWduZWQg c2VsZWN0b3IsIHVuc2lnbmVkIGdyb3VwKQoreworCXN0cnVjdCBiY202M3h4X3BpbmN0cmwgKnBj ID0gcGluY3RybF9kZXZfZ2V0X2RydmRhdGEocGN0bGRldik7CisJY29uc3Qgc3RydWN0IGJjbTYz NjJfcGluZ3JvdXAgKnBnID0gJmJjbTYzNjJfZ3JvdXBzW2dyb3VwXTsKKwljb25zdCBzdHJ1Y3Qg YmNtNjM2Ml9mdW5jdGlvbiAqZiA9ICZiY202MzYyX2Z1bmNzW3NlbGVjdG9yXTsKKwl1bnNpZ25l ZCBpOworCXVuc2lnbmVkIGludCByZWc7CisJdW5zaWduZWQgaW50IHZhbCwgbWFzazsKKworCWZv ciAoaSA9IDA7IGkgPCBwZy0+bnVtX3BpbnM7IGkrKykKKwkJYmNtNjM2Ml9zZXRfZ3BpbyhwYywg cGctPnBpbnNbaV0pOworCisJc3dpdGNoIChmLT5yZWcpIHsKKwljYXNlIEJDTTYzNjJfTEVEQ1RS TDoKKwkJcmVnID0gQkNNNjM2Ml9MRURfUkVHOworCQltYXNrID0gQklUKHBnLT5waW5zWzBdKTsK KwkJdmFsID0gQklUKHBnLT5waW5zWzBdKTsKKwkJYnJlYWs7CisJY2FzZSBCQ002MzYyX01PREU6 CisJCXJlZyA9IEJDTTYzNjJfTU9ERV9SRUc7CisJCW1hc2sgPSBCSVQocGctPnBpbnNbMF0pOwor CQl2YWwgPSBCSVQocGctPnBpbnNbMF0pOworCQlicmVhazsKKwljYXNlIEJDTTYzNjJfQ1RSTDoK KwkJcmVnID0gQkNNNjM2Ml9DVFJMX1JFRzsKKwkJbWFzayA9IEJJVChwZy0+cGluc1swXSk7CisJ CXZhbCA9IDA7CisJCWJyZWFrOworCWNhc2UgQkNNNjM2Ml9CQVNFTU9ERToKKwkJcmVnID0gQkNN NjM2Ml9CQVNFTU9ERV9SRUc7CisJCW1hc2sgPSBmLT5iYXNlbW9kZV9tYXNrOworCQl2YWwgPSBm LT5iYXNlbW9kZV9tYXNrOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlXQVJOX09OKDEpOworCQly ZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZWdtYXBfdXBkYXRlX2JpdHMocGMtPnJlZ3MsIHJlZywg bWFzaywgdmFsKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGJjbTYzNjJfZ3Bpb19y ZXF1ZXN0X2VuYWJsZShzdHJ1Y3QgcGluY3RybF9kZXYgKnBjdGxkZXYsCisJCQkJICAgICAgIHN0 cnVjdCBwaW5jdHJsX2dwaW9fcmFuZ2UgKnJhbmdlLAorCQkJCSAgICAgICB1bnNpZ25lZCBvZmZz ZXQpCit7CisJc3RydWN0IGJjbTYzeHhfcGluY3RybCAqcGMgPSBwaW5jdHJsX2Rldl9nZXRfZHJ2 ZGF0YShwY3RsZGV2KTsKKworCS8qIGRpc2FibGUgYWxsIGZ1bmN0aW9ucyB1c2luZyB0aGlzIHBp biAqLworCWJjbTYzNjJfc2V0X2dwaW8ocGMsIG9mZnNldCk7CisKKwlyZXR1cm4gMDsKK30KKwor c3RhdGljIHN0cnVjdCBwaW5jdHJsX29wcyBiY202MzYyX3BjdGxfb3BzID0geworCS5nZXRfZ3Jv dXBzX2NvdW50ID0gYmNtNjM2Ml9waW5jdHJsX2dldF9ncm91cF9jb3VudCwKKwkuZ2V0X2dyb3Vw X25hbWUgPSBiY202MzYyX3BpbmN0cmxfZ2V0X2dyb3VwX25hbWUsCisJLmdldF9ncm91cF9waW5z ID0gYmNtNjM2Ml9waW5jdHJsX2dldF9ncm91cF9waW5zLAorCS5kdF9ub2RlX3RvX21hcCA9IHBp bmNvbmZfZ2VuZXJpY19kdF9ub2RlX3RvX21hcF9waW4sCisJLmR0X2ZyZWVfbWFwID0gcGluY3Ry bF91dGlsc19mcmVlX21hcCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGlubXV4X29wcyBiY202MzYy X3BteF9vcHMgPSB7CisJLmdldF9mdW5jdGlvbnNfY291bnQgPSBiY202MzYyX3BpbmN0cmxfZ2V0 X2Z1bmNfY291bnQsCisJLmdldF9mdW5jdGlvbl9uYW1lID0gYmNtNjM2Ml9waW5jdHJsX2dldF9m dW5jX25hbWUsCisJLmdldF9mdW5jdGlvbl9ncm91cHMgPSBiY202MzYyX3BpbmN0cmxfZ2V0X2dy b3VwcywKKwkuc2V0X211eCA9IGJjbTYzNjJfcGluY3RybF9zZXRfbXV4LAorCS5ncGlvX3JlcXVl c3RfZW5hYmxlID0gYmNtNjM2Ml9ncGlvX3JlcXVlc3RfZW5hYmxlLAorCS5zdHJpY3QgPSB0cnVl LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBiY202M3h4X3BpbmN0cmxfc29jIGJjbTYzNjJf c29jID0geworCS5uZ3Bpb3MgPSBCQ002MzYyX05VTV9HUElPUywKKwkubnBpbnMgPSBBUlJBWV9T SVpFKGJjbTYzNjJfcGlucyksCisJLnBjdGxfb3BzID0gJmJjbTYzNjJfcGN0bF9vcHMsCisJLnBp bnMgPSBiY202MzYyX3BpbnMsCisJLnBteF9vcHMgPSAmYmNtNjM2Ml9wbXhfb3BzLAorfTsKKwor c3RhdGljIGludCBiY202MzYyX3BpbmN0cmxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikKK3sKKwlyZXR1cm4gYmNtNjN4eF9waW5jdHJsX3Byb2JlKHBkZXYsICZiY202MzYyX3Nv YywgTlVMTCk7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGJjbTYzNjJf cGluY3RybF9tYXRjaFtdID0geworCXsgLmNvbXBhdGlibGUgPSAiYnJjbSxiY202MzYyLXBpbmN0 cmwiLCB9LAorCXsgfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGJjbTYz NjJfcGluY3RybF9kcml2ZXIgPSB7CisJLnByb2JlID0gYmNtNjM2Ml9waW5jdHJsX3Byb2JlLAor CS5kcml2ZXIgPSB7CisJCS5uYW1lID0gImJjbTYzNjItcGluY3RybCIsCisJCS5vZl9tYXRjaF90 YWJsZSA9IGJjbTYzNjJfcGluY3RybF9tYXRjaCwKKwl9LAorfTsKKworYnVpbHRpbl9wbGF0Zm9y bV9kcml2ZXIoYmNtNjM2Ml9waW5jdHJsX2RyaXZlcik7Ci0tIAoyLjIwLjEKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1h aWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==