From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ua1-x92c.google.com (mail-ua1-x92c.google.com [IPv6:2607:f8b0:4864:20::92c]) by sourceware.org (Postfix) with ESMTPS id 6B03F394D888 for ; Tue, 10 Mar 2020 02:00:32 +0000 (GMT) Received: by mail-ua1-x92c.google.com with SMTP id y6so2216140ual.2 for ; Mon, 09 Mar 2020 19:00:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ZiBtyJG4p4H51b3BAaD1mm2lokrhafajvQbvZsY5pfY=; b=iYoDkLTePQu0QyanPDcmOR5Ty52+BojDF4v+I+FV+b1UPxkTquy9Nzu1fYIVgrTFCk N0EteNVuplgz4OIRRnaTTA518PMQ+zHwD2Z8Hw1j6alM59bBmsfqxb5/RO8D4kpS0gWH GxLldx47sr9IExEtAgLc+ckIZyf/B8a4D+nIP4ZAZOSnWNN/F9SufGRV8dnJZ5EAI5QK 2qd9XLpYrSo8geInbmOShhbD+KAsMYO9B5QMFyeU5Vlgz9b8GFqH75lcUIX5LhsoZfS3 nVWstodMZSqnzMAgL5fA3rEp/yTMHuQrJ5kQRUCtYhC5R93z6N5k88GQwb4HVy7+4Qh+ WDtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ZiBtyJG4p4H51b3BAaD1mm2lokrhafajvQbvZsY5pfY=; b=YDNeH2ZRf7Ky+wtMQZm+SKVTIt5F/ljExxhrGdPMuJk4fEdXDKF13WX1macEZR32c/ fe7IYTPEWKnXEWN0kXmrq9+zBU8BY7BYoG221AB+7SepK/GktS7FmHgtZHmTf69Fyunv AXTmcd5f867LOxxbKivQQEEZTvdi1XQwZfAAnV/MkWSGQBkLhCmp8LKuaciAymmJxA0f 74Z/h6Y9JXSREMn8qxNFkfMFk6TG9VW4BtLPXdzNnFwpvPM5amXkIqXBs4xKg0KKDDK/ /DeJUr9QO8tbcwcth84X4rrcVRBgyDUxB9axph84XES9/23O07aySZCo6aJ6CSWXholJ sBDw== X-Gm-Message-State: ANhLgQ1yBfP6cDeo/POduipto2rFsCTYVgMWYTkIdvKNWw5pF7yyacCo RDxD8JJXhoxoy+Hx93ENBhg/JnMVJEZDntHNW5Q= X-Google-Smtp-Source: ADFU+vvVyw9GnxKIOnoO5wKD/JhrRUe/UPIprf/QCP6ntcappuS8AE1CfqLSXzkcyDV4bgN/JA1D1BMIFVtolwfpzHU= X-Received: by 2002:ab0:7792:: with SMTP id x18mr10610649uar.116.1583805631693; Mon, 09 Mar 2020 19:00:31 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Vijay Holimath Date: Tue, 10 Mar 2020 07:30:19 +0530 Message-ID: Subject: Re: RISC-V G++ and Gfortran Help To: Jim Wilson Cc: gcc-help Content-Type: multipart/mixed; boundary="00000000000012668f05a0767c1d" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-help@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-help mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 02:00:33 -0000 --00000000000012668f05a0767c1d Content-Type: text/plain; charset="UTF-8" Thanks Jim. Yes, I can see C++ and Fortran for new version of crosstool-ng. However, I am unable to generate .config file using the following instructions: Enable newlib build (C-library section) Enable "Build a multilib toolchain" (Target options section) and also selected C++ (C compiler section) as mentioned in https://gist.github.com/franzflasch/02a8aeb2f6ec8e942b14ee9929db38e9 I have attached my version of .config file which I build gcc from scratch. May I request you to edit this file send me two .config files? One for C++ and other fortran. Many Thanks. On Tue, Mar 10, 2020 at 3:32 AM Jim Wilson wrote: > On Mon, Mar 9, 2020 at 6:58 AM Vijay Holimath > wrote: > > I would like to build RISC-V g++ and gfortran compiler by downloading all > > source codes to host pc (for linux OS) and then rebuild compiler from > > scratch. I can build RISC-V gcc compiler from scratch by downloading to > > host pc using https://crosstool-ng.github.io/ However, I have not > > found any such cross compiler tool for g++ and gfortran. May I request > you > > to guide me on how to build RISC-V cross C ++ and gfortran compiler from > > source codes? > > Using ct-ng menuconfig, in the C compiler menu, I see tick boxes for > C++ and Fortran. > > Jim > --00000000000012668f05a0767c1d Content-Type: application/octet-stream; name="dot2.config" Content-Disposition: attachment; filename="dot2.config" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k7l8xlk60 IwojIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZpbGU7IERPIE5PVCBFRElULgojIGNyb3NzdG9v bC1ORyAgQ29uZmlndXJhdGlvbgojCkNUX0NPTkZJR1VSRV9oYXNfc3RhdGljX2xpbms9eQpDVF9D T05GSUdVUkVfaGFzX2N4eDExPXkKQ1RfQ09ORklHVVJFX2hhc193Z2V0PXkKQ1RfQ09ORklHVVJF X2hhc19jdXJsPXkKQ1RfQ09ORklHVVJFX2hhc19tYWtlXzNfODFfb3JfbmV3ZXI9eQpDVF9DT05G SUdVUkVfaGFzX21ha2VfNF8wX29yX25ld2VyPXkKQ1RfQ09ORklHVVJFX2hhc19saWJ0b29sXzJf NF9vcl9uZXdlcj15CkNUX0NPTkZJR1VSRV9oYXNfbGlidG9vbGl6ZV8yXzRfb3JfbmV3ZXI9eQpD VF9DT05GSUdVUkVfaGFzX2F1dG9jb25mXzJfNjVfb3JfbmV3ZXI9eQpDVF9DT05GSUdVUkVfaGFz X2F1dG9yZWNvbmZfMl82NV9vcl9uZXdlcj15CkNUX0NPTkZJR1VSRV9oYXNfYXV0b21ha2VfMV8x NV9vcl9uZXdlcj15CkNUX0NPTkZJR1VSRV9oYXNfZ251X200XzFfNF8xMl9vcl9uZXdlcj15CkNU X0NPTkZJR1VSRV9oYXNfcHl0aG9uXzNfNF9vcl9uZXdlcj15CkNUX0NPTkZJR1VSRV9oYXNfYmlz b25fMl83X29yX25ld2VyPXkKQ1RfQ09ORklHVVJFX2hhc19weXRob249eQpDVF9DT05GSUdVUkVf aGFzX2R0Yz15CkNUX0NPTkZJR1VSRV9oYXNfZ2l0PXkKQ1RfQ09ORklHVVJFX2hhc19tZDVzdW09 eQpDVF9DT05GSUdVUkVfaGFzX3NoYTFzdW09eQpDVF9DT05GSUdVUkVfaGFzX3NoYTI1NnN1bT15 CkNUX0NPTkZJR1VSRV9oYXNfc2hhNTEyc3VtPXkKQ1RfQ09ORklHVVJFX2hhc19pbnN0YWxsX3dp dGhfc3RyaXBfcHJvZ3JhbT15CkNUX0NPTkZJR19WRVJTSU9OX0NVUlJFTlQ9IjMiCkNUX0NPTkZJ R19WRVJTSU9OPSIzIgpDVF9NT0RVTEVTPXkKCiMKIyBQYXRocyBhbmQgbWlzYyBvcHRpb25zCiMK CiMKIyBjcm9zc3Rvb2wtTkcgYmVoYXZpb3IKIwojIENUX09CU09MRVRFIGlzIG5vdCBzZXQKQ1Rf RVhQRVJJTUVOVEFMPXkKIyBDVF9BTExPV19CVUlMRF9BU19ST09UIGlzIG5vdCBzZXQKQ1RfREVC VUdfQ1Q9eQojIENUX0RFQlVHX1BBVVNFX1NURVBTIGlzIG5vdCBzZXQKQ1RfREVCVUdfQ1RfU0FW RV9TVEVQUz15CkNUX0RFQlVHX0NUX1NBVkVfU1RFUFNfR1pJUD15CiMgQ1RfTk9fT1ZFUlJJREVf TENfTUVTU0FHRVMgaXMgbm90IHNldAojIENUX0RFQlVHX0lOVEVSQUNUSVZFIGlzIG5vdCBzZXQK CiMKIyBQYXRocwojCkNUX0xPQ0FMX1RBUkJBTExTX0RJUj0iJHtIT01FfS9zcmMiCkNUX1NBVkVf VEFSQkFMTFM9eQojIENUX1RBUkJBTExTX0JVSUxEUk9PVF9MQVlPVVQgaXMgbm90IHNldApDVF9X T1JLX0RJUj0iJHtDVF9UT1BfRElSfS8uYnVpbGQiCkNUX0JVSUxEX1RPUF9ESVI9IiR7Q1RfV09S S19ESVI6LSR7Q1RfVE9QX0RJUn0vLmJ1aWxkfS8ke0NUX0hPU1Q6K0hPU1QtJHtDVF9IT1NUfS99 JHtDVF9UQVJHRVR9IgpDVF9QUkVGSVhfRElSPSIke0NUX1BSRUZJWDotJHtIT01FfS94LXRvb2xz fS8ke0NUX0hPU1Q6K0hPU1QtJHtDVF9IT1NUfS99JHtDVF9UQVJHRVR9IgpDVF9STV9SRl9QUkVG SVhfRElSPXkKQ1RfUkVNT1ZFX0RPQ1M9eQpDVF9JTlNUQUxMX0xJQ0VOU0VTPXkKQ1RfUFJFRklY X0RJUl9STz15CkNUX1NUUklQX0hPU1RfVE9PTENIQUlOX0VYRUNVVEFCTEVTPXkKIyBDVF9TVFJJ UF9UQVJHRVRfVE9PTENIQUlOX0VYRUNVVEFCTEVTIGlzIG5vdCBzZXQKCiMKIyBEb3dubG9hZGlu ZwojCkNUX0RPV05MT0FEX0FHRU5UX1dHRVQ9eQojIENUX0RPV05MT0FEX0FHRU5UX0NVUkwgaXMg bm90IHNldAojIENUX0RPV05MT0FEX0FHRU5UX05PTkUgaXMgbm90IHNldAojIENUX0ZPUkJJRF9E T1dOTE9BRCBpcyBub3Qgc2V0CiMgQ1RfRk9SQ0VfRE9XTkxPQUQgaXMgbm90IHNldApDVF9DT05O RUNUX1RJTUVPVVQ9MTAKQ1RfRE9XTkxPQURfV0dFVF9PUFRJT05TPSItLXBhc3NpdmUtZnRwIC0t dHJpZXM9MyAtbmMgLS1wcm9ncmVzcz1kb3Q6YmluYXJ5IgojIENUX09OTFlfRE9XTkxPQUQgaXMg bm90IHNldAojIENUX1VTRV9NSVJST1IgaXMgbm90IHNldApDVF9WRVJJRllfRE9XTkxPQURfRElH RVNUPXkKQ1RfVkVSSUZZX0RPV05MT0FEX0RJR0VTVF9TSEE1MTI9eQojIENUX1ZFUklGWV9ET1dO TE9BRF9ESUdFU1RfU0hBMjU2IGlzIG5vdCBzZXQKIyBDVF9WRVJJRllfRE9XTkxPQURfRElHRVNU X1NIQTEgaXMgbm90IHNldAojIENUX1ZFUklGWV9ET1dOTE9BRF9ESUdFU1RfTUQ1IGlzIG5vdCBz ZXQKQ1RfVkVSSUZZX0RPV05MT0FEX0RJR0VTVF9BTEc9InNoYTUxMiIKIyBDVF9WRVJJRllfRE9X TkxPQURfU0lHTkFUVVJFIGlzIG5vdCBzZXQKCiMKIyBFeHRyYWN0aW5nCiMKIyBDVF9GT1JDRV9F WFRSQUNUIGlzIG5vdCBzZXQKQ1RfT1ZFUlJJREVfQ09ORklHX0dVRVNTX1NVQj15CiMgQ1RfT05M WV9FWFRSQUNUIGlzIG5vdCBzZXQKQ1RfUEFUQ0hfQlVORExFRD15CiMgQ1RfUEFUQ0hfTE9DQUwg aXMgbm90IHNldAojIENUX1BBVENIX0JVTkRMRURfTE9DQUwgaXMgbm90IHNldAojIENUX1BBVENI X0xPQ0FMX0JVTkRMRUQgaXMgbm90IHNldAojIENUX1BBVENIX05PTkUgaXMgbm90IHNldApDVF9Q QVRDSF9PUkRFUj0iYnVuZGxlZCIKCiMKIyBCdWlsZCBiZWhhdmlvcgojCkNUX1BBUkFMTEVMX0pP QlM9MApDVF9MT0FEPSIiCkNUX1VTRV9QSVBFUz15CkNUX0VYVFJBX0NGTEFHU19GT1JfQlVJTEQ9 IiIKQ1RfRVhUUkFfTERGTEFHU19GT1JfQlVJTEQ9IiIKQ1RfRVhUUkFfQ0ZMQUdTX0ZPUl9IT1NU PSIiCkNUX0VYVFJBX0xERkxBR1NfRk9SX0hPU1Q9IiIKIyBDVF9DT05GSUdfU0hFTExfU0ggaXMg bm90IHNldAojIENUX0NPTkZJR19TSEVMTF9BU0ggaXMgbm90IHNldApDVF9DT05GSUdfU0hFTExf QkFTSD15CiMgQ1RfQ09ORklHX1NIRUxMX0NVU1RPTSBpcyBub3Qgc2V0CkNUX0NPTkZJR19TSEVM TD0iJHtiYXNofSIKCiMKIyBMb2dnaW5nCiMKIyBDVF9MT0dfRVJST1IgaXMgbm90IHNldAojIENU X0xPR19XQVJOIGlzIG5vdCBzZXQKIyBDVF9MT0dfSU5GTyBpcyBub3Qgc2V0CkNUX0xPR19FWFRS QT15CiMgQ1RfTE9HX0FMTCBpcyBub3Qgc2V0CiMgQ1RfTE9HX0RFQlVHIGlzIG5vdCBzZXQKQ1Rf TE9HX0xFVkVMX01BWD0iRVhUUkEiCiMgQ1RfTE9HX1NFRV9UT09MU19XQVJOIGlzIG5vdCBzZXQK Q1RfTE9HX1BST0dSRVNTX0JBUj15CkNUX0xPR19UT19GSUxFPXkKQ1RfTE9HX0ZJTEVfQ09NUFJF U1M9eQoKIwojIFRhcmdldCBvcHRpb25zCiMKIyBDVF9BUkNIX0FMUEhBIGlzIG5vdCBzZXQKIyBD VF9BUkNIX0FSQyBpcyBub3Qgc2V0CiMgQ1RfQVJDSF9BUk0gaXMgbm90IHNldAojIENUX0FSQ0hf QVZSIGlzIG5vdCBzZXQKIyBDVF9BUkNIX002OEsgaXMgbm90IHNldAojIENUX0FSQ0hfTUlDUk9C TEFaRSBpcyBub3Qgc2V0CiMgQ1RfQVJDSF9NSVBTIGlzIG5vdCBzZXQKIyBDVF9BUkNIX01PWElF IGlzIG5vdCBzZXQKIyBDVF9BUkNIX01TUDQzMCBpcyBub3Qgc2V0CiMgQ1RfQVJDSF9OSU9TMiBp cyBub3Qgc2V0CiMgQ1RfQVJDSF9QT1dFUlBDIGlzIG5vdCBzZXQKQ1RfQVJDSF9SSVNDVj15CiMg Q1RfQVJDSF9TMzkwIGlzIG5vdCBzZXQKIyBDVF9BUkNIX1NIIGlzIG5vdCBzZXQKIyBDVF9BUkNI X1NQQVJDIGlzIG5vdCBzZXQKIyBDVF9BUkNIX1g4NiBpcyBub3Qgc2V0CiMgQ1RfQVJDSF9YVEVO U0EgaXMgbm90IHNldApDVF9BUkNIPSJyaXNjdiIKQ1RfQVJDSF9DSE9JQ0VfS1NZTT0iUklTQ1Yi CkNUX0FSQ0hfVFVORT0iIgojIENUX0FSQ0hfbWlwc19vMzIgaXMgbm90IHNldApDVF9BUkNIX1JJ U0NWX1NIT1c9eQoKIwojIE9wdGlvbnMgZm9yIHJpc2N2CiMKQ1RfQVJDSF9SSVNDVl9QS0dfS1NZ TT0iIgpDVF9BTExfQVJDSF9DSE9JQ0VTPSJBTFBIQSBBUkMgQVJNIEFWUiBNNjhLIE1JQ1JPQkxB WkUgTUlQUyBNT1hJRSBNU1A0MzAgTklPUzIgUE9XRVJQQyBSSVNDViBTMzkwIFNIIFNQQVJDIFg4 NiBYVEVOU0EiCkNUX0FSQ0hfU1VGRklYPSIiCiMgQ1RfT01JVF9UQVJHRVRfVkVORE9SIGlzIG5v dCBzZXQKCiMKIyBHZW5lcmljIHRhcmdldCBvcHRpb25zCiMKIyBDVF9NVUxUSUxJQiBpcyBub3Qg c2V0CkNUX0RFTVVMVElMSUI9eQpDVF9BUkNIX1NVUFBPUlRTX0JPVEhfTU1VPXkKIyBDVF9BUkNI X1VTRV9NTVUgaXMgbm90IHNldAojIENUX0FSQ0hfQkUgaXMgbm90IHNldAojIENUX0FSQ0hfTEUg aXMgbm90IHNldApDVF9BUkNIX1NVUFBPUlRTXzMyPXkKQ1RfQVJDSF9TVVBQT1JUU182ND15CkNU X0FSQ0hfREVGQVVMVF8zMj15CkNUX0FSQ0hfQklUTkVTUz0zMgpDVF9BUkNIXzMyPXkKIyBDVF9B UkNIXzY0IGlzIG5vdCBzZXQKCiMKIyBUYXJnZXQgb3B0aW1pc2F0aW9ucwojCkNUX0FSQ0hfU1VQ UE9SVFNfV0lUSF9BUkNIPXkKQ1RfQVJDSF9TVVBQT1JUU19XSVRIX0FCST15CkNUX0FSQ0hfU1VQ UE9SVFNfV0lUSF9UVU5FPXkKQ1RfQVJDSF9BUkNIPSIiCkNUX0FSQ0hfQUJJPSIiCiMgQ1RfQVJD SF9GTE9BVF9BVVRPIGlzIG5vdCBzZXQKIyBDVF9BUkNIX0ZMT0FUX0hXIGlzIG5vdCBzZXQKIyBD VF9BUkNIX0ZMT0FUX1NXIGlzIG5vdCBzZXQKQ1RfVEFSR0VUX0NGTEFHUz0iIgpDVF9UQVJHRVRf TERGTEFHUz0iIgoKIwojIFRvb2xjaGFpbiBvcHRpb25zCiMKCiMKIyBHZW5lcmFsIHRvb2xjaGFp biBvcHRpb25zCiMKI0NUX1dBTlRTX1NUQVRJQ19MSU5LPXkKI0NUX1dBTlRTX1NUQVRJQ19MSU5L X0NYWD15CiMgQ1RfU1RBVElDX1RPT0xDSEFJTiBpcyBub3Qgc2V0CkNUX1NIT1dfQ1RfVkVSU0lP Tj15CkNUX1RPT0xDSEFJTl9QS0dWRVJTSU9OPSIiCkNUX1RPT0xDSEFJTl9CVUdVUkw9IiIKCiMK IyBUdXBsZSBjb21wbGV0aW9uIGFuZCBhbGlhc2luZwojCkNUX1RBUkdFVF9WRU5ET1I9InVua25v d24iCkNUX1RBUkdFVF9BTElBU19TRURfRVhQUj0iIgpDVF9UQVJHRVRfQUxJQVM9IiIKCiMKIyBU b29sY2hhaW4gdHlwZQojCiMgQ1RfTkFUSVZFIGlzIG5vdCBzZXQKQ1RfQ1JPU1M9eQojIENUX0NS T1NTX05BVElWRSBpcyBub3Qgc2V0CiMgQ1RfQ0FOQURJQU4gaXMgbm90IHNldApDVF9UT09MQ0hB SU5fVFlQRT0iY3Jvc3MiCgojCiMgQnVpbGQgc3lzdGVtCiMKQ1RfQlVJTEQ9IiIKQ1RfQlVJTERf UFJFRklYPSIiCkNUX0JVSUxEX1NVRkZJWD0iIgoKIwojIE1pc2Mgb3B0aW9ucwojCiMgQ1RfVE9P TENIQUlOX0VOQUJMRV9OTFMgaXMgbm90IHNldAoKIwojIE9wZXJhdGluZyBTeXN0ZW0KIwpDVF9C QVJFX01FVEFMPXkKQ1RfS0VSTkVMX0JBUkVfTUVUQUw9eQojIENUX0tFUk5FTF9MSU5VWCBpcyBu b3Qgc2V0CkNUX0tFUk5FTD0iYmFyZS1tZXRhbCIKQ1RfS0VSTkVMX0NIT0lDRV9LU1lNPSJCQVJF X01FVEFMIgpDVF9LRVJORUxfQkFSRV9NRVRBTF9TSE9XPXkKCiMKIyBPcHRpb25zIGZvciBiYXJl LW1ldGFsCiMKQ1RfS0VSTkVMX0JBUkVfTUVUQUxfUEtHX0tTWU09IiIKQ1RfQUxMX0tFUk5FTF9D SE9JQ0VTPSJCQVJFX01FVEFMIExJTlVYIFdJTkRPV1MiCgojCiMgQ29tbW9uIGtlcm5lbCBvcHRp b25zCiMKCiMKIyBCaW5hcnkgdXRpbGl0aWVzCiMKQ1RfQVJDSF9CSU5GTVRfRUxGPXkKIyBDVF9B UkNIX0JJTkZNVF9GRFBJQyBpcyBub3Qgc2V0CkNUX0JJTlVUSUxTX0JJTlVUSUxTPXkKQ1RfQklO VVRJTFM9ImJpbnV0aWxzIgpDVF9CSU5VVElMU19DSE9JQ0VfS1NZTT0iQklOVVRJTFMiCkNUX0JJ TlVUSUxTX0JJTlVUSUxTX1NIT1c9eQoKIwojIE9wdGlvbnMgZm9yIGJpbnV0aWxzCiMKQ1RfQklO VVRJTFNfQklOVVRJTFNfUEtHX0tTWU09IkJJTlVUSUxTIgpDVF9CSU5VVElMU19ESVJfTkFNRT0i YmludXRpbHMiCkNUX0JJTlVUSUxTX1VTRV9HTlU9eQpDVF9CSU5VVElMU19VU0U9IkJJTlVUSUxT IgpDVF9CSU5VVElMU19QS0dfTkFNRT0iYmludXRpbHMiCkNUX0JJTlVUSUxTX1NSQ19SRUxFQVNF PXkKIyBDVF9CSU5VVElMU19TUkNfREVWRUwgaXMgbm90IHNldAojIENUX0JJTlVUSUxTX1NSQ19D VVNUT00gaXMgbm90IHNldApDVF9CSU5VVElMU19QQVRDSF9HTE9CQUw9eQojIENUX0JJTlVUSUxT X1BBVENIX0JVTkRMRUQgaXMgbm90IHNldAojIENUX0JJTlVUSUxTX1BBVENIX0xPQ0FMIGlzIG5v dCBzZXQKIyBDVF9CSU5VVElMU19QQVRDSF9CVU5ETEVEX0xPQ0FMIGlzIG5vdCBzZXQKIyBDVF9C SU5VVElMU19QQVRDSF9MT0NBTF9CVU5ETEVEIGlzIG5vdCBzZXQKIyBDVF9CSU5VVElMU19QQVRD SF9OT05FIGlzIG5vdCBzZXQKQ1RfQklOVVRJTFNfUEFUQ0hfT1JERVI9Imdsb2JhbCIKQ1RfQklO VVRJTFNfVl8yXzMyPXkKIyBDVF9CSU5VVElMU19WXzJfMzEgaXMgbm90IHNldAojIENUX0JJTlVU SUxTX1ZfMl8zMCBpcyBub3Qgc2V0CiMgQ1RfQklOVVRJTFNfVl8yXzI5IGlzIG5vdCBzZXQKIyBD VF9CSU5VVElMU19WXzJfMjggaXMgbm90IHNldAojIENUX0JJTlVUSUxTX1ZfMl8yNyBpcyBub3Qg c2V0CiMgQ1RfQklOVVRJTFNfVl8yXzI2IGlzIG5vdCBzZXQKIyBDVF9CSU5VVElMU19OT19WRVJT SU9OUyBpcyBub3Qgc2V0CkNUX0JJTlVUSUxTX1ZFUlNJT049IjIuMzIiCkNUX0JJTlVUSUxTX01J UlJPUlM9IiQoQ1RfTWlycm9ycyBHTlUgYmludXRpbHMpICQoQ1RfTWlycm9ycyBzb3VyY2V3YXJl IGJpbnV0aWxzL3JlbGVhc2VzKSIKQ1RfQklOVVRJTFNfQVJDSElWRV9GSUxFTkFNRT0iQHtwa2df bmFtZX0tQHt2ZXJzaW9ufSIKQ1RfQklOVVRJTFNfQVJDSElWRV9ESVJOQU1FPSJAe3BrZ19uYW1l fS1Ae3ZlcnNpb259IgpDVF9CSU5VVElMU19BUkNISVZFX0ZPUk1BVFM9Ii50YXIueHogLnRhci5i ejIgLnRhci5neiIKQ1RfQklOVVRJTFNfU0lHTkFUVVJFX0ZPUk1BVD0icGFja2VkLy5zaWciCkNU X0JJTlVUSUxTX2xhdGVyX3RoYW5fMl8zMD15CkNUX0JJTlVUSUxTXzJfMzBfb3JfbGF0ZXI9eQpD VF9CSU5VVElMU19sYXRlcl90aGFuXzJfMjc9eQpDVF9CSU5VVElMU18yXzI3X29yX2xhdGVyPXkK Q1RfQklOVVRJTFNfbGF0ZXJfdGhhbl8yXzI1PXkKQ1RfQklOVVRJTFNfMl8yNV9vcl9sYXRlcj15 CkNUX0JJTlVUSUxTX2xhdGVyX3RoYW5fMl8yMz15CkNUX0JJTlVUSUxTXzJfMjNfb3JfbGF0ZXI9 eQoKIwojIEdOVSBiaW51dGlscwojCkNUX0JJTlVUSUxTX0hBU19IQVNIX1NUWUxFPXkKQ1RfQklO VVRJTFNfSEFTX0dPTEQ9eQpDVF9CSU5VVElMU19IQVNfUExVR0lOUz15CkNUX0JJTlVUSUxTX0hB U19QS0dWRVJTSU9OX0JVR1VSTD15CkNUX0JJTlVUSUxTX0xJTktFUl9MRD15CkNUX0JJTlVUSUxT X0xJTktFUlNfTElTVD0ibGQiCkNUX0JJTlVUSUxTX0xJTktFUl9ERUZBVUxUPSJiZmQiCiMgQ1Rf QklOVVRJTFNfUExVR0lOUyBpcyBub3Qgc2V0CkNUX0JJTlVUSUxTX1JFTFJPPW0KQ1RfQklOVVRJ TFNfRVhUUkFfQ09ORklHX0FSUkFZPSIiCkNUX0FMTF9CSU5VVElMU19DSE9JQ0VTPSJCSU5VVElM UyIKCiMKIyBDLWxpYnJhcnkKIwpDVF9MSUJDX05FV0xJQj15CiMgQ1RfTElCQ19OT05FIGlzIG5v dCBzZXQKQ1RfTElCQz0ibmV3bGliIgpDVF9MSUJDX0NIT0lDRV9LU1lNPSJORVdMSUIiCkNUX1RI UkVBRFM9Im5vbmUiCkNUX0xJQkNfTkVXTElCX1NIT1c9eQoKIwojIE9wdGlvbnMgZm9yIG5ld2xp YgojCkNUX0xJQkNfTkVXTElCX1BLR19LU1lNPSJORVdMSUIiCkNUX05FV0xJQl9ESVJfTkFNRT0i bmV3bGliIgpDVF9ORVdMSUJfVVNFX1JFREhBVD15CkNUX05FV0xJQl9VU0U9Ik5FV0xJQiIKQ1Rf TkVXTElCX1BLR19OQU1FPSJuZXdsaWIiCkNUX05FV0xJQl9TUkNfUkVMRUFTRT15CiMgQ1RfTkVX TElCX1NSQ19ERVZFTCBpcyBub3Qgc2V0CiMgQ1RfTkVXTElCX1NSQ19DVVNUT00gaXMgbm90IHNl dApDVF9ORVdMSUJfUEFUQ0hfR0xPQkFMPXkKIyBDVF9ORVdMSUJfUEFUQ0hfQlVORExFRCBpcyBu b3Qgc2V0CiMgQ1RfTkVXTElCX1BBVENIX0xPQ0FMIGlzIG5vdCBzZXQKIyBDVF9ORVdMSUJfUEFU Q0hfQlVORExFRF9MT0NBTCBpcyBub3Qgc2V0CiMgQ1RfTkVXTElCX1BBVENIX0xPQ0FMX0JVTkRM RUQgaXMgbm90IHNldAojIENUX05FV0xJQl9QQVRDSF9OT05FIGlzIG5vdCBzZXQKQ1RfTkVXTElC X1BBVENIX09SREVSPSJnbG9iYWwiCkNUX05FV0xJQl9WXzNfMT15CiMgQ1RfTkVXTElCX1ZfM18w IGlzIG5vdCBzZXQKIyBDVF9ORVdMSUJfVl8yXzUgaXMgbm90IHNldAojIENUX05FV0xJQl9OT19W RVJTSU9OUyBpcyBub3Qgc2V0CkNUX05FV0xJQl9WRVJTSU9OPSIzLjEuMC4yMDE4MTIzMSIKQ1Rf TkVXTElCX01JUlJPUlM9ImZ0cDovL3NvdXJjZXdhcmUub3JnL3B1Yi9uZXdsaWIiCkNUX05FV0xJ Ql9BUkNISVZFX0ZJTEVOQU1FPSJAe3BrZ19uYW1lfS1Ae3ZlcnNpb259IgpDVF9ORVdMSUJfQVJD SElWRV9ESVJOQU1FPSJAe3BrZ19uYW1lfS1Ae3ZlcnNpb259IgpDVF9ORVdMSUJfQVJDSElWRV9G T1JNQVRTPSIudGFyLmd6IgpDVF9ORVdMSUJfU0lHTkFUVVJFX0ZPUk1BVD0iIgpDVF9ORVdMSUJf bGF0ZXJfdGhhbl8yXzI9eQpDVF9ORVdMSUJfMl8yX29yX2xhdGVyPXkKQ1RfTkVXTElCX2xhdGVy X3RoYW5fMl8xPXkKQ1RfTkVXTElCXzJfMV9vcl9sYXRlcj15CkNUX05FV0xJQl9sYXRlcl90aGFu XzJfMD15CkNUX05FV0xJQl8yXzBfb3JfbGF0ZXI9eQpDVF9ORVdMSUJfQ1hBX0FURVhJVD15CkNU X05FV0xJQl9IQVNfTkFOT19NQUxMT0M9eQpDVF9ORVdMSUJfSEFTX05BTk9fRk9STUFUVEVEX0lP PXkKQ1RfTElCQ19ORVdMSUJfVEFSR0VUX0NGTEFHUz0iIgojIENUX0xJQkNfTkVXTElCX0lPX0M5 OUZNVCBpcyBub3Qgc2V0CiMgQ1RfTElCQ19ORVdMSUJfSU9fTEwgaXMgbm90IHNldAojIENUX0xJ QkNfTkVXTElCX0lPX0ZMT0FUIGlzIG5vdCBzZXQKIyBDVF9MSUJDX05FV0xJQl9JT19QT1NfQVJH UyBpcyBub3Qgc2V0CkNUX0xJQkNfTkVXTElCX0ZWV1JJVEVfSU5fU1RSRUFNSU89eQpDVF9MSUJD X05FV0xJQl9VTkJVRl9TVFJFQU1fT1BUPXkKQ1RfTElCQ19ORVdMSUJfRlNFRUtfT1BUSU1JWkFU SU9OPXkKIyBDVF9MSUJDX05FV0xJQl9ESVNBQkxFX1NVUFBMSUVEX1NZU0NBTExTIGlzIG5vdCBz ZXQKIyBDVF9MSUJDX05FV0xJQl9SRUdJU1RFUl9GSU5JIGlzIG5vdCBzZXQKQ1RfTElCQ19ORVdM SUJfQVRFWElUX0RZTkFNSUNfQUxMT0M9eQojIENUX0xJQkNfTkVXTElCX0dMT0JBTF9BVEVYSVQg aXMgbm90IHNldAojIENUX0xJQkNfTkVXTElCX0xJVEVfRVhJVCBpcyBub3Qgc2V0CiMgQ1RfTElC Q19ORVdMSUJfUkVFTlRfU01BTEwgaXMgbm90IHNldApDVF9MSUJDX05FV0xJQl9NVUxUSVRIUkVB RD15CiMgQ1RfTElCQ19ORVdMSUJfRVhUUkFfU0VDVElPTlMgaXMgbm90IHNldApDVF9MSUJDX05F V0xJQl9XSURFX09SSUVOVD15CkNUX0xJQkNfTkVXTElCX0VOQUJMRV9UQVJHRVRfT1BUU1BBQ0U9 eQojIENUX0xJQkNfTkVXTElCX0xUTyBpcyBub3Qgc2V0CiMgQ1RfTElCQ19ORVdMSUJfTkFOT19N QUxMT0MgaXMgbm90IHNldAojIENUX0xJQkNfTkVXTElCX05BTk9fRk9STUFUVEVEX0lPIGlzIG5v dCBzZXQKQ1RfTElCQ19ORVdMSUJfRVhUUkFfQ09ORklHX0FSUkFZPSIiCkNUX0FMTF9MSUJDX0NI T0lDRVM9IkFWUl9MSUJDIEJJT05JQyBHTElCQyBNSU5HV19XNjQgTU9YSUVCT1ggTVVTTCBORVdM SUIgTk9ORSBVQ0xJQkMiCkNUX0xJQkNfU1VQUE9SVF9USFJFQURTX05PTkU9eQpDVF9MSUJDX1BS T1ZJREVTX0NYQV9BVEVYSVQ9eQoKIwojIENvbW1vbiBDIGxpYnJhcnkgb3B0aW9ucwojCkNUX1RI UkVBRFNfTk9ORT15CgojCiMgQyBjb21waWxlcgojCkNUX0NDX0NPUkVfUEFTU18yX05FRURFRD15 CkNUX0NDX1NVUFBPUlRfQ1hYPXkKQ1RfQ0NfU1VQUE9SVF9GT1JUUkFOPXkKQ1RfQ0NfU1VQUE9S VF9BREE9eQpDVF9DQ19TVVBQT1JUX09CSkM9eQpDVF9DQ19TVVBQT1JUX09CSkNYWD15CkNUX0ND X1NVUFBPUlRfR09MQU5HPXkKQ1RfQ0NfR0NDPXkKQ1RfQ0M9ImdjYyIKQ1RfQ0NfQ0hPSUNFX0tT WU09IkdDQyIKQ1RfQ0NfR0NDX1NIT1c9eQoKIwojIE9wdGlvbnMgZm9yIGdjYwojCkNUX0NDX0dD Q19QS0dfS1NZTT0iR0NDIgpDVF9HQ0NfRElSX05BTUU9ImdjYyIKQ1RfR0NDX1VTRV9HTlU9eQoj IENUX0dDQ19VU0VfTElOQVJPIGlzIG5vdCBzZXQKQ1RfR0NDX1VTRT0iR0NDIgpDVF9HQ0NfUEtH X05BTUU9ImdjYyIKQ1RfR0NDX1NSQ19SRUxFQVNFPXkKIyBDVF9HQ0NfU1JDX0RFVkVMIGlzIG5v dCBzZXQKIyBDVF9HQ0NfU1JDX0NVU1RPTSBpcyBub3Qgc2V0CkNUX0dDQ19QQVRDSF9HTE9CQUw9 eQojIENUX0dDQ19QQVRDSF9CVU5ETEVEIGlzIG5vdCBzZXQKIyBDVF9HQ0NfUEFUQ0hfTE9DQUwg aXMgbm90IHNldAojIENUX0dDQ19QQVRDSF9CVU5ETEVEX0xPQ0FMIGlzIG5vdCBzZXQKIyBDVF9H Q0NfUEFUQ0hfTE9DQUxfQlVORExFRCBpcyBub3Qgc2V0CiMgQ1RfR0NDX1BBVENIX05PTkUgaXMg bm90IHNldApDVF9HQ0NfUEFUQ0hfT1JERVI9Imdsb2JhbCIKQ1RfR0NDX1ZfOD15CiMgQ1RfR0ND X1ZfNyBpcyBub3Qgc2V0CiMgQ1RfR0NDX1ZfNiBpcyBub3Qgc2V0CiMgQ1RfR0NDX1ZfNSBpcyBu b3Qgc2V0CiMgQ1RfR0NDX1ZfNF85IGlzIG5vdCBzZXQKIyBDVF9HQ0NfTk9fVkVSU0lPTlMgaXMg bm90IHNldApDVF9HQ0NfVkVSU0lPTj0iOC4zLjAiCkNUX0dDQ19NSVJST1JTPSIkKENUX01pcnJv cnMgR05VIGdjYy9nY2MtJHtDVF9HQ0NfVkVSU0lPTn0pICQoQ1RfTWlycm9ycyBzb3VyY2V3YXJl IGdjYy9yZWxlYXNlcy9nY2MtJHtDVF9HQ0NfVkVSU0lPTn0pIgpDVF9HQ0NfQVJDSElWRV9GSUxF TkFNRT0iQHtwa2dfbmFtZX0tQHt2ZXJzaW9ufSIKQ1RfR0NDX0FSQ0hJVkVfRElSTkFNRT0iQHtw a2dfbmFtZX0tQHt2ZXJzaW9ufSIKQ1RfR0NDX0FSQ0hJVkVfRk9STUFUUz0iLnRhci54eiAudGFy Lmd6IgpDVF9HQ0NfU0lHTkFUVVJFX0ZPUk1BVD0iIgpDVF9HQ0NfbGF0ZXJfdGhhbl83PXkKQ1Rf R0NDXzdfb3JfbGF0ZXI9eQpDVF9HQ0NfUkVRVUlSRV83X29yX2xhdGVyPXkKQ1RfR0NDX2xhdGVy X3RoYW5fNj15CkNUX0dDQ182X29yX2xhdGVyPXkKQ1RfR0NDX2xhdGVyX3RoYW5fNT15CkNUX0dD Q181X29yX2xhdGVyPXkKQ1RfR0NDX2xhdGVyX3RoYW5fNF85PXkKQ1RfR0NDXzRfOV9vcl9sYXRl cj15CkNUX0dDQ19sYXRlcl90aGFuXzRfOD15CkNUX0dDQ180Xzhfb3JfbGF0ZXI9eQpDVF9DQ19H Q0NfSEFTX0xJQk1QWD15CkNUX0NDX0dDQ19FTkFCTEVfQ1hYX0ZMQUdTPSIiCkNUX0NDX0dDQ19D T1JFX0VYVFJBX0NPTkZJR19BUlJBWT0iIgpDVF9DQ19HQ0NfRVhUUkFfQ09ORklHX0FSUkFZPSIi CkNUX0NDX0dDQ19TVEFUSUNfTElCU1REQ1hYPXkKIyBDVF9DQ19HQ0NfU1lTVEVNX1pMSUIgaXMg bm90IHNldApDVF9DQ19HQ0NfQ09ORklHX1RMUz1tCgojCiMgT3B0aW1pc2F0aW9uIGZlYXR1cmVz CiMKQ1RfQ0NfR0NDX1VTRV9HUkFQSElURT15CkNUX0NDX0dDQ19VU0VfTFRPPXkKCiMKIyBTZXR0 aW5ncyBmb3IgbGlicmFyaWVzIHJ1bm5pbmcgb24gdGFyZ2V0CiMKQ1RfQ0NfR0NDX0VOQUJMRV9U QVJHRVRfT1BUU1BBQ0U9eQojIENUX0NDX0dDQ19MSUJNVURGTEFQIGlzIG5vdCBzZXQKIyBDVF9D Q19HQ0NfTElCU1NQIGlzIG5vdCBzZXQKIyBDVF9DQ19HQ0NfTElCUVVBRE1BVEggaXMgbm90IHNl dAoKIwojIE1pc2MuIG9ic2N1cmUgb3B0aW9ucy4KIwpDVF9DQ19DWEFfQVRFWElUPXkKIyBDVF9D Q19HQ0NfRElTQUJMRV9QQ0ggaXMgbm90IHNldApDVF9DQ19HQ0NfTERCTF8xMjg9bQojIENUX0ND X0dDQ19CVUlMRF9JRCBpcyBub3Qgc2V0CkNUX0NDX0dDQ19MTktfSEFTSF9TVFlMRV9ERUZBVUxU PXkKIyBDVF9DQ19HQ0NfTE5LX0hBU0hfU1RZTEVfU1lTViBpcyBub3Qgc2V0CiMgQ1RfQ0NfR0ND X0xOS19IQVNIX1NUWUxFX0dOVSBpcyBub3Qgc2V0CiMgQ1RfQ0NfR0NDX0xOS19IQVNIX1NUWUxF X0JPVEggaXMgbm90IHNldApDVF9DQ19HQ0NfTE5LX0hBU0hfU1RZTEU9IiIKQ1RfQ0NfR0NDX0RF Q19GTE9BVF9BVVRPPXkKIyBDVF9DQ19HQ0NfREVDX0ZMT0FUX0JJRCBpcyBub3Qgc2V0CiMgQ1Rf Q0NfR0NDX0RFQ19GTE9BVF9EUEQgaXMgbm90IHNldAojIENUX0NDX0dDQ19ERUNfRkxPQVRTX05P IGlzIG5vdCBzZXQKQ1RfQUxMX0NDX0NIT0lDRVM9IkdDQyIKCiMKIyBBZGRpdGlvbmFsIHN1cHBv cnRlZCBsYW5ndWFnZXM6CiMKIyBDVF9DQ19MQU5HX0NYWCBpcyBub3Qgc2V0CiMgQ1RfQ0NfTEFO R19GT1JUUkFOIGlzIG5vdCBzZXQKQ1RfQ0NfTEFOR19PVEhFUlM9IiIKCiMKIyBEZWJ1ZyBmYWNp bGl0aWVzCiMKIyBDVF9ERUJVR19HREIgaXMgbm90IHNldAojIENUX0RFQlVHX0xUUkFDRSBpcyBu b3Qgc2V0CiMgQ1RfREVCVUdfU1RSQUNFIGlzIG5vdCBzZXQKQ1RfQUxMX0RFQlVHX0NIT0lDRVM9 IkRVTUEgR0RCIExUUkFDRSBTVFJBQ0UiCgojCiMgQ29tcGFuaW9uIGxpYnJhcmllcwojCiMgQ1Rf Q09NUExJQlNfQ0hFQ0sgaXMgbm90IHNldAojIENUX0NPTVBfTElCU19DTE9PRyBpcyBub3Qgc2V0 CiMgQ1RfQ09NUF9MSUJTX0VYUEFUIGlzIG5vdCBzZXQKIyBDVF9DT01QX0xJQlNfR0VUVEVYVCBp cyBub3Qgc2V0CkNUX0NPTVBfTElCU19HTVA9eQpDVF9DT01QX0xJQlNfR01QX1BLR19LU1lNPSJH TVAiCkNUX0dNUF9ESVJfTkFNRT0iZ21wIgpDVF9HTVBfUEtHX05BTUU9ImdtcCIKQ1RfR01QX1NS Q19SRUxFQVNFPXkKIyBDVF9HTVBfU1JDX0RFVkVMIGlzIG5vdCBzZXQKIyBDVF9HTVBfU1JDX0NV U1RPTSBpcyBub3Qgc2V0CkNUX0dNUF9QQVRDSF9HTE9CQUw9eQojIENUX0dNUF9QQVRDSF9CVU5E TEVEIGlzIG5vdCBzZXQKIyBDVF9HTVBfUEFUQ0hfTE9DQUwgaXMgbm90IHNldAojIENUX0dNUF9Q QVRDSF9CVU5ETEVEX0xPQ0FMIGlzIG5vdCBzZXQKIyBDVF9HTVBfUEFUQ0hfTE9DQUxfQlVORExF RCBpcyBub3Qgc2V0CiMgQ1RfR01QX1BBVENIX05PTkUgaXMgbm90IHNldApDVF9HTVBfUEFUQ0hf T1JERVI9Imdsb2JhbCIKQ1RfR01QX1ZfNl8xPXkKIyBDVF9HTVBfTk9fVkVSU0lPTlMgaXMgbm90 IHNldApDVF9HTVBfVkVSU0lPTj0iNi4xLjIiCkNUX0dNUF9NSVJST1JTPSJodHRwczovL2dtcGxp Yi5vcmcvZG93bmxvYWQvZ21wIGh0dHBzOi8vZ21wbGliLm9yZy9kb3dubG9hZC9nbXAvYXJjaGl2 ZSAkKENUX01pcnJvcnMgR05VIGdtcCkiCkNUX0dNUF9BUkNISVZFX0ZJTEVOQU1FPSJAe3BrZ19u YW1lfS1Ae3ZlcnNpb259IgpDVF9HTVBfQVJDSElWRV9ESVJOQU1FPSJAe3BrZ19uYW1lfS1Ae3Zl cnNpb259IgpDVF9HTVBfQVJDSElWRV9GT1JNQVRTPSIudGFyLnh6IC50YXIubHogLnRhci5iejIi CkNUX0dNUF9TSUdOQVRVUkVfRk9STUFUPSJwYWNrZWQvLnNpZyIKQ1RfR01QX2xhdGVyX3RoYW5f NV8xXzA9eQpDVF9HTVBfNV8xXzBfb3JfbGF0ZXI9eQpDVF9HTVBfbGF0ZXJfdGhhbl81XzBfMD15 CkNUX0dNUF81XzBfMF9vcl9sYXRlcj15CkNUX0dNUF9SRVFVSVJFXzVfMF8wX29yX2xhdGVyPXkK Q1RfQ09NUF9MSUJTX0lTTD15CkNUX0NPTVBfTElCU19JU0xfUEtHX0tTWU09IklTTCIKQ1RfSVNM X0RJUl9OQU1FPSJpc2wiCkNUX0lTTF9QS0dfTkFNRT0iaXNsIgpDVF9JU0xfU1JDX1JFTEVBU0U9 eQojIENUX0lTTF9TUkNfREVWRUwgaXMgbm90IHNldAojIENUX0lTTF9TUkNfQ1VTVE9NIGlzIG5v dCBzZXQKQ1RfSVNMX1BBVENIX0dMT0JBTD15CiMgQ1RfSVNMX1BBVENIX0JVTkRMRUQgaXMgbm90 IHNldAojIENUX0lTTF9QQVRDSF9MT0NBTCBpcyBub3Qgc2V0CiMgQ1RfSVNMX1BBVENIX0JVTkRM RURfTE9DQUwgaXMgbm90IHNldAojIENUX0lTTF9QQVRDSF9MT0NBTF9CVU5ETEVEIGlzIG5vdCBz ZXQKIyBDVF9JU0xfUEFUQ0hfTk9ORSBpcyBub3Qgc2V0CkNUX0lTTF9QQVRDSF9PUkRFUj0iZ2xv YmFsIgpDVF9JU0xfVl8wXzIwPXkKIyBDVF9JU0xfVl8wXzE5IGlzIG5vdCBzZXQKIyBDVF9JU0xf Vl8wXzE4IGlzIG5vdCBzZXQKIyBDVF9JU0xfVl8wXzE3IGlzIG5vdCBzZXQKIyBDVF9JU0xfVl8w XzE2IGlzIG5vdCBzZXQKIyBDVF9JU0xfVl8wXzE1IGlzIG5vdCBzZXQKIyBDVF9JU0xfTk9fVkVS U0lPTlMgaXMgbm90IHNldApDVF9JU0xfVkVSU0lPTj0iMC4yMCIKQ1RfSVNMX01JUlJPUlM9Imh0 dHA6Ly9pc2wuZ2ZvcmdlLmlucmlhLmZyIgpDVF9JU0xfQVJDSElWRV9GSUxFTkFNRT0iQHtwa2df bmFtZX0tQHt2ZXJzaW9ufSIKQ1RfSVNMX0FSQ0hJVkVfRElSTkFNRT0iQHtwa2dfbmFtZX0tQHt2 ZXJzaW9ufSIKQ1RfSVNMX0FSQ0hJVkVfRk9STUFUUz0iLnRhci54eiAudGFyLmJ6MiAudGFyLmd6 IgpDVF9JU0xfU0lHTkFUVVJFX0ZPUk1BVD0iIgpDVF9JU0xfbGF0ZXJfdGhhbl8wXzE4PXkKQ1Rf SVNMXzBfMThfb3JfbGF0ZXI9eQpDVF9JU0xfbGF0ZXJfdGhhbl8wXzE1PXkKQ1RfSVNMXzBfMTVf b3JfbGF0ZXI9eQpDVF9JU0xfUkVRVUlSRV8wXzE1X29yX2xhdGVyPXkKQ1RfSVNMX2xhdGVyX3Ro YW5fMF8xND15CkNUX0lTTF8wXzE0X29yX2xhdGVyPXkKQ1RfSVNMX1JFUVVJUkVfMF8xNF9vcl9s YXRlcj15CkNUX0lTTF9sYXRlcl90aGFuXzBfMTM9eQpDVF9JU0xfMF8xM19vcl9sYXRlcj15CkNU X0lTTF9sYXRlcl90aGFuXzBfMTI9eQpDVF9JU0xfMF8xMl9vcl9sYXRlcj15CkNUX0lTTF9SRVFV SVJFXzBfMTJfb3JfbGF0ZXI9eQojIENUX0NPTVBfTElCU19MSUJFTEYgaXMgbm90IHNldAojIENU X0NPTVBfTElCU19MSUJJQ09OViBpcyBub3Qgc2V0CkNUX0NPTVBfTElCU19NUEM9eQpDVF9DT01Q X0xJQlNfTVBDX1BLR19LU1lNPSJNUEMiCkNUX01QQ19ESVJfTkFNRT0ibXBjIgpDVF9NUENfUEtH X05BTUU9Im1wYyIKQ1RfTVBDX1NSQ19SRUxFQVNFPXkKIyBDVF9NUENfU1JDX0RFVkVMIGlzIG5v dCBzZXQKIyBDVF9NUENfU1JDX0NVU1RPTSBpcyBub3Qgc2V0CkNUX01QQ19QQVRDSF9HTE9CQUw9 eQojIENUX01QQ19QQVRDSF9CVU5ETEVEIGlzIG5vdCBzZXQKIyBDVF9NUENfUEFUQ0hfTE9DQUwg aXMgbm90IHNldAojIENUX01QQ19QQVRDSF9CVU5ETEVEX0xPQ0FMIGlzIG5vdCBzZXQKIyBDVF9N UENfUEFUQ0hfTE9DQUxfQlVORExFRCBpcyBub3Qgc2V0CiMgQ1RfTVBDX1BBVENIX05PTkUgaXMg bm90IHNldApDVF9NUENfUEFUQ0hfT1JERVI9Imdsb2JhbCIKQ1RfTVBDX1ZfMV8xPXkKIyBDVF9N UENfVl8xXzAgaXMgbm90IHNldAojIENUX01QQ19OT19WRVJTSU9OUyBpcyBub3Qgc2V0CkNUX01Q Q19WRVJTSU9OPSIxLjEuMCIKQ1RfTVBDX01JUlJPUlM9Imh0dHA6Ly93d3cubXVsdGlwcmVjaXNp b24ub3JnL2Rvd25sb2FkcyAkKENUX01pcnJvcnMgR05VIG1wYykiCkNUX01QQ19BUkNISVZFX0ZJ TEVOQU1FPSJAe3BrZ19uYW1lfS1Ae3ZlcnNpb259IgpDVF9NUENfQVJDSElWRV9ESVJOQU1FPSJA e3BrZ19uYW1lfS1Ae3ZlcnNpb259IgpDVF9NUENfQVJDSElWRV9GT1JNQVRTPSIudGFyLmd6IgpD VF9NUENfU0lHTkFUVVJFX0ZPUk1BVD0icGFja2VkLy5zaWciCkNUX01QQ18xXzFfMF9vcl9sYXRl cj15CkNUX01QQ18xXzFfMF9vcl9vbGRlcj15CkNUX0NPTVBfTElCU19NUEZSPXkKQ1RfQ09NUF9M SUJTX01QRlJfUEtHX0tTWU09Ik1QRlIiCkNUX01QRlJfRElSX05BTUU9Im1wZnIiCkNUX01QRlJf UEtHX05BTUU9Im1wZnIiCkNUX01QRlJfU1JDX1JFTEVBU0U9eQojIENUX01QRlJfU1JDX0RFVkVM IGlzIG5vdCBzZXQKIyBDVF9NUEZSX1NSQ19DVVNUT00gaXMgbm90IHNldApDVF9NUEZSX1BBVENI X0dMT0JBTD15CiMgQ1RfTVBGUl9QQVRDSF9CVU5ETEVEIGlzIG5vdCBzZXQKIyBDVF9NUEZSX1BB VENIX0xPQ0FMIGlzIG5vdCBzZXQKIyBDVF9NUEZSX1BBVENIX0JVTkRMRURfTE9DQUwgaXMgbm90 IHNldAojIENUX01QRlJfUEFUQ0hfTE9DQUxfQlVORExFRCBpcyBub3Qgc2V0CiMgQ1RfTVBGUl9Q QVRDSF9OT05FIGlzIG5vdCBzZXQKQ1RfTVBGUl9QQVRDSF9PUkRFUj0iZ2xvYmFsIgpDVF9NUEZS X1ZfNF8wPXkKIyBDVF9NUEZSX1ZfM18xIGlzIG5vdCBzZXQKIyBDVF9NUEZSX05PX1ZFUlNJT05T IGlzIG5vdCBzZXQKQ1RfTVBGUl9WRVJTSU9OPSI0LjAuMiIKQ1RfTVBGUl9NSVJST1JTPSJodHRw Oi8vd3d3Lm1wZnIub3JnL21wZnItJHtDVF9NUEZSX1ZFUlNJT059ICQoQ1RfTWlycm9ycyBHTlUg bXBmcikiCkNUX01QRlJfQVJDSElWRV9GSUxFTkFNRT0iQHtwa2dfbmFtZX0tQHt2ZXJzaW9ufSIK Q1RfTVBGUl9BUkNISVZFX0RJUk5BTUU9IkB7cGtnX25hbWV9LUB7dmVyc2lvbn0iCkNUX01QRlJf QVJDSElWRV9GT1JNQVRTPSIudGFyLnh6IC50YXIuYnoyIC50YXIuZ3ogLnppcCIKQ1RfTVBGUl9T SUdOQVRVUkVfRk9STUFUPSJwYWNrZWQvLmFzYyIKQ1RfTVBGUl9sYXRlcl90aGFuXzRfMF8wPXkK Q1RfTVBGUl80XzBfMF9vcl9sYXRlcj15CkNUX01QRlJfbGF0ZXJfdGhhbl8zXzBfMD15CkNUX01Q RlJfM18wXzBfb3JfbGF0ZXI9eQpDVF9NUEZSX1JFUVVJUkVfM18wXzBfb3JfbGF0ZXI9eQojIENU X0NPTVBfTElCU19OQ1VSU0VTIGlzIG5vdCBzZXQKQ1RfQ09NUF9MSUJTX1pMSUI9eQpDVF9DT01Q X0xJQlNfWkxJQl9QS0dfS1NZTT0iWkxJQiIKQ1RfWkxJQl9ESVJfTkFNRT0iemxpYiIKQ1RfWkxJ Ql9QS0dfTkFNRT0iemxpYiIKQ1RfWkxJQl9TUkNfUkVMRUFTRT15CiMgQ1RfWkxJQl9TUkNfREVW RUwgaXMgbm90IHNldAojIENUX1pMSUJfU1JDX0NVU1RPTSBpcyBub3Qgc2V0CkNUX1pMSUJfUEFU Q0hfR0xPQkFMPXkKIyBDVF9aTElCX1BBVENIX0JVTkRMRUQgaXMgbm90IHNldAojIENUX1pMSUJf UEFUQ0hfTE9DQUwgaXMgbm90IHNldAojIENUX1pMSUJfUEFUQ0hfQlVORExFRF9MT0NBTCBpcyBu b3Qgc2V0CiMgQ1RfWkxJQl9QQVRDSF9MT0NBTF9CVU5ETEVEIGlzIG5vdCBzZXQKIyBDVF9aTElC X1BBVENIX05PTkUgaXMgbm90IHNldApDVF9aTElCX1BBVENIX09SREVSPSJnbG9iYWwiCkNUX1pM SUJfVl8xXzJfMTE9eQojIENUX1pMSUJfTk9fVkVSU0lPTlMgaXMgbm90IHNldApDVF9aTElCX1ZF UlNJT049IjEuMi4xMSIKQ1RfWkxJQl9NSVJST1JTPSJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZv cmdlLm5ldC9wcm9qZWN0L2xpYnBuZy96bGliLyR7Q1RfWkxJQl9WRVJTSU9OfSIKQ1RfWkxJQl9B UkNISVZFX0ZJTEVOQU1FPSJAe3BrZ19uYW1lfS1Ae3ZlcnNpb259IgpDVF9aTElCX0FSQ0hJVkVf RElSTkFNRT0iQHtwa2dfbmFtZX0tQHt2ZXJzaW9ufSIKQ1RfWkxJQl9BUkNISVZFX0ZPUk1BVFM9 Ii50YXIueHogLnRhci5neiIKQ1RfWkxJQl9TSUdOQVRVUkVfRk9STUFUPSJwYWNrZWQvLmFzYyIK Q1RfQUxMX0NPTVBfTElCU19DSE9JQ0VTPSJDTE9PRyBFWFBBVCBHRVRURVhUIEdNUCBJU0wgTElC RUxGIExJQklDT05WIE1QQyBNUEZSIE5DVVJTRVMgWkxJQiIKIyBDVF9MSUJJQ09OVl9ORUVERUQg aXMgbm90IHNldAojIENUX0dFVFRFWFRfTkVFREVEIGlzIG5vdCBzZXQKQ1RfR01QX05FRURFRD15 CkNUX01QRlJfTkVFREVEPXkKQ1RfSVNMX05FRURFRD15CkNUX01QQ19ORUVERUQ9eQpDVF9aTElC X05FRURFRD15CkNUX0dNUD15CkNUX01QRlI9eQpDVF9JU0w9eQpDVF9NUEM9eQpDVF9aTElCPXkK CiMKIyBDb21wYW5pb24gdG9vbHMKIwojIENUX0NPTVBfVE9PTFNfRk9SX0hPU1QgaXMgbm90IHNl dAojIENUX0NPTVBfVE9PTFNfQVVUT0NPTkYgaXMgbm90IHNldAojIENUX0NPTVBfVE9PTFNfQVVU T01BS0UgaXMgbm90IHNldAojIENUX0NPTVBfVE9PTFNfQklTT04gaXMgbm90IHNldAojIENUX0NP TVBfVE9PTFNfRFRDIGlzIG5vdCBzZXQKIyBDVF9DT01QX1RPT0xTX0xJQlRPT0wgaXMgbm90IHNl dAojIENUX0NPTVBfVE9PTFNfTTQgaXMgbm90IHNldAojIENUX0NPTVBfVE9PTFNfTUFLRSBpcyBu b3Qgc2V0CkNUX0FMTF9DT01QX1RPT0xTX0NIT0lDRVM9IkFVVE9DT05GIEFVVE9NQUtFIEJJU09O IERUQyBMSUJUT09MIE00IE1BS0UiCgojCiMgVGVzdCBzdWl0ZQojCiMgQ1RfVEVTVF9TVUlURV9H Q0MgaXMgbm90IHNldAo= --00000000000012668f05a0767c1d--