From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5E582A0532; Tue, 4 Feb 2020 01:56:40 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 90DB71C014; Tue, 4 Feb 2020 01:56:39 +0100 (CET) Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) by dpdk.org (Postfix) with ESMTP id 93F7A1C012 for ; Tue, 4 Feb 2020 01:56:37 +0100 (CET) Received: by mail-qk1-f169.google.com with SMTP id q15so16332693qki.2 for ; Mon, 03 Feb 2020 16:56:37 -0800 (PST) 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=PvCqHQgDg4okjh61PNmx2KRxl3ZYQdy36yUf59mEvec=; b=O503dYgR1JQOzU4/3420/ipW9v6H5FN4cAfoMYeM+GEJcQ79hwZ65oTiC5gkeHREYw 07zFm6TrCwlc6G6ezYENThEJ5uRU0ZaWYTGGUlEImzd8EsYwz7RjASMKG1tQcdf0Mylz h1iq8QGHybmkn+wb6cGKB7XPTQk//3Vk9qDpsHSl3UoA3TEcTCsAQ7fXojo6NdrytJpU NQ5GK2x1WUu/mJM6Wi9BzU9J8Q9GQ+mG7uc8k4tAEkHYERBRd4ziF5ByUGx15AjDdFH5 CtUi5GOimRBHTcV2aRzYc8o618u14oFaRkQuc92uQqsEq33XOdMF98d7i/df8W8knho2 2fOQ== 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=PvCqHQgDg4okjh61PNmx2KRxl3ZYQdy36yUf59mEvec=; b=RPVVnNd/SKGg3bcZp6vccDNjnhUvGEzUvlAvhbucRUd8lWVBR8Tep1KkM6zKvoaEF2 G4I6kbF5bl9G+RBYqz8B39RQR9y1WK/EFEw4AkNmHyZkUItzicueWAlN7Q6AwlJ+k4AC fuatpGS7vJuSZIL3/7qJKwZm9pUrW9eHUrEhF3CT0xblCBJRf0JLkHpejyBg5HxazPtb +Jnj3jDfB6Adsm3SPkj9aPd6JZr4GM5moW46301AIKGAntdOmvyCeotjm5A2yD/FuU7P +Uz+Vc2mTKGRUlDa4S0MEut2TlPrORv9T/VgmGi6IMoKpJzA+SNGvcIiGhoHphMDM/Tn 3N8Q== X-Gm-Message-State: APjAAAV6mXxg0HtZdJrpaxbPHdDV5OkKhhUtmwiUnWz+FY2JuBelLtTQ AXDrXVu75CTX+34B74VR7+6+zYVXut0WcIaq9xY= X-Google-Smtp-Source: APXvYqwQq1Ntj6y5EEaigbHzvDQtmbX4rCUEAaPZ1fkX3a332yGtinZTGXw7L1ul3GwuVrigD4TTRG4mHnLIU7oQAsc= X-Received: by 2002:a37:b602:: with SMTP id g2mr26517181qkf.174.1580777796758; Mon, 03 Feb 2020 16:56:36 -0800 (PST) MIME-Version: 1.0 References: <20c66c3e-35ee-9433-467d-6d72cd336149@iol.unh.edu> <20200201144347.487e20f2@Sovereign> <20200204010832.3501b03a@Sovereign> <20200204020258.089cc360@Sovereign> In-Reply-To: From: William Tu Date: Mon, 3 Feb 2020 16:55:58 -0800 Message-ID: To: Dmitry Kozliuk Cc: Jeremy Plsek , dev@dpdk.org Content-Type: multipart/mixed; boundary="0000000000000b8153059db58385" Subject: Re: [dpdk-dev] DPDK Windows Build X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" --0000000000000b8153059db58385 Content-Type: text/plain; charset="UTF-8" On Mon, Feb 3, 2020 at 3:43 PM Dmitry Kozliuk wrote: >> >> Do I mess up some linker's configurations? >> I attached the meson log, thanks for your help! > > > Those are not errors, just harmless warnings. You can now build and run an example program (rerun meson with -Dexamples=helloworld per Windows Getting Started Guide). Hi Dmitry, Thanks. However with -Dexamples=helloworld, it shows another error: C:\dpdk-draft-windows>meson -Dexamples=helloworld build11 The Meson build system Version: 0.53.999 Source dir: C:\dpdk-draft-windows Build dir: C:\dpdk-draft-windows\build11 Build type: native build Program cat found: NO Program more found: YES (C:\WINDOWS\system32\more.COM) Project name: DPDK Project version: 19.05.0-rc4 C compiler for the host machine: clang (clang 7.0.1 "clang version 7.0.1 (tags/RELEASE_701/final)") C linker for the host machine: clang link 14.24.28316.0 Host machine cpu family: x86_64 Host machine cpu: x86_64 Program ../buildtools/symlink-drivers-solibs.sh found: YES (sh C:\dpdk-draft-windows\config\../buildtools/symlink-drivers-solibs.sh) Checking for size of "void *" : 8 Library libm found: NO Library numa found: NO Did not find pkg-config by name 'pkg-config' Found Pkg-config: NO Did not find CMake 'cmake' Found CMake: NO Run-time dependency libbsd found: NO (tried pkgconfig and cmake) Compiler for C supports arguments -Wsign-compare: YES Compiler for C supports arguments -Wcast-qual: YES Compiler for C supports arguments -Wno-address-of-packed-member: YES Fetching value of define "__SSE4_2__" : 1 Fetching value of define "__AES__" : 1 Fetching value of define "__PCLMUL__" : 1 Fetching value of define "__AVX__" : 1 Fetching value of define "__AVX2__" : 1 Fetching value of define "__AVX512F__" : Compiler for C supports arguments -Wno-format-truncation: NO Program doxygen found: NO Program sphinx-build found: NO Library execinfo found: NO examples\meson.build:11:0: ERROR: Program or command 'sh' not found or not executable A full log can be found at C:\dpdk-draft-windows\build11\meson-logs\meson-log.txt Do I need to install "sh"? Thanks William --0000000000000b8153059db58385 Content-Type: text/plain; charset="US-ASCII"; name="meson-log.txt" Content-Disposition: attachment; filename="meson-log.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k6769ert0 QnVpbGQgc3RhcnRlZCBhdCAyMDIwLTAyLTAzVDE2OjUyOjE0LjQ3MTU2NQ0KTWFpbiBiaW5hcnk6 IEM6XFB5dGhvbjM4XHB5dGhvbi5leGUNCkJ1aWxkIE9wdGlvbnM6IC1EZXhhbXBsZXM9aGVsbG93 b3JsZA0KUHl0aG9uIHN5c3RlbTogV2luZG93cw0KVGhlIE1lc29uIGJ1aWxkIHN5c3RlbQ0KVmVy c2lvbjogMC41My45OTkNClNvdXJjZSBkaXI6IEM6XGRwZGstZHJhZnQtd2luZG93cw0KQnVpbGQg ZGlyOiBDOlxkcGRrLWRyYWZ0LXdpbmRvd3NcYnVpbGQxMQ0KQnVpbGQgdHlwZTogbmF0aXZlIGJ1 aWxkDQpQcm9ncmFtIGNhdCBmb3VuZDogTk8NClByb2dyYW0gbW9yZSBmb3VuZDogWUVTIChDOlxX SU5ET1dTXHN5c3RlbTMyXG1vcmUuQ09NKQ0KUnVubmluZyBjb21tYW5kOiBDOlxXSU5ET1dTXHN5 c3RlbTMyXG1vcmUuQ09NIEM6XGRwZGstZHJhZnQtd2luZG93c1xWRVJTSU9ODQotLS0gc3Rkb3V0 IC0tLQ0KMTkuMDUuMC1yYzQNCg0KLS0tIHN0ZGVyciAtLS0NCg0KDQpQcm9qZWN0IG5hbWU6IERQ REsNClByb2plY3QgdmVyc2lvbjogMTkuMDUuMC1yYzQNCk5vIENGTEFHUyBpbiB0aGUgZW52aXJv bm1lbnQsIG5vdCBjaGFuZ2luZyBnbG9iYWwgZmxhZ3MuDQpObyBMREZMQUdTIGluIHRoZSBlbnZp cm9ubWVudCwgbm90IGNoYW5naW5nIGdsb2JhbCBmbGFncy4NCk5vIENQUEZMQUdTIGluIHRoZSBl bnZpcm9ubWVudCwgbm90IGNoYW5naW5nIGdsb2JhbCBmbGFncy4NClNhbml0eSB0ZXN0aW5nIEMg Y29tcGlsZXI6IGNsYW5nDQpJcyBjcm9zcyBjb21waWxlcjogRmFsc2UuDQpTYW5pdHkgY2hlY2sg Y29tcGlsZXIgY29tbWFuZCBsaW5lOiBjbGFuZyBDOlxkcGRrLWRyYWZ0LXdpbmRvd3NcYnVpbGQx MVxtZXNvbi1wcml2YXRlXHNhbml0eWNoZWNrYy5jIC1vIEM6XGRwZGstZHJhZnQtd2luZG93c1xi dWlsZDExXG1lc29uLXByaXZhdGVcc2FuaXR5Y2hlY2tjLmV4ZSAtV2wsL01EZCAtcGlwZQ0KU2Fu aXR5IGNoZWNrIGNvbXBpbGUgc3Rkb3V0Og0KTElOSyA6IHdhcm5pbmcgTE5LNDA0NDogdW5yZWNv Z25pemVkIG9wdGlvbiAnL01EZCc7IGlnbm9yZWQNCg0KLS0tLS0NClNhbml0eSBjaGVjayBjb21w aWxlIHN0ZGVycjoNCg0KLS0tLS0NClJ1bm5pbmcgdGVzdCBiaW5hcnkgY29tbWFuZDogQzpcZHBk ay1kcmFmdC13aW5kb3dzXGJ1aWxkMTFcbWVzb24tcHJpdmF0ZVxzYW5pdHljaGVja2MuZXhlDQpD IGNvbXBpbGVyIGZvciB0aGUgYnVpbGQgbWFjaGluZTogY2xhbmcgKGNsYW5nIDcuMC4xICJjbGFu ZyB2ZXJzaW9uIDcuMC4xICh0YWdzL1JFTEVBU0VfNzAxL2ZpbmFsKSIpDQpDIGxpbmtlciBmb3Ig dGhlIGJ1aWxkIG1hY2hpbmU6IGNsYW5nIGxpbmsgMTQuMjQuMjgzMTYuMA0KTm8gQ0ZMQUdTIGlu IHRoZSBlbnZpcm9ubWVudCwgbm90IGNoYW5naW5nIGdsb2JhbCBmbGFncy4NCk5vIExERkxBR1Mg aW4gdGhlIGVudmlyb25tZW50LCBub3QgY2hhbmdpbmcgZ2xvYmFsIGZsYWdzLg0KTm8gQ1BQRkxB R1MgaW4gdGhlIGVudmlyb25tZW50LCBub3QgY2hhbmdpbmcgZ2xvYmFsIGZsYWdzLg0KU2FuaXR5 IHRlc3RpbmcgQyBjb21waWxlcjogY2xhbmcNCklzIGNyb3NzIGNvbXBpbGVyOiBGYWxzZS4NClNh bml0eSBjaGVjayBjb21waWxlciBjb21tYW5kIGxpbmU6IGNsYW5nIEM6XGRwZGstZHJhZnQtd2lu ZG93c1xidWlsZDExXG1lc29uLXByaXZhdGVcc2FuaXR5Y2hlY2tjLmMgLW8gQzpcZHBkay1kcmFm dC13aW5kb3dzXGJ1aWxkMTFcbWVzb24tcHJpdmF0ZVxzYW5pdHljaGVja2MuZXhlIC1XbCwvTURk IC1waXBlDQpTYW5pdHkgY2hlY2sgY29tcGlsZSBzdGRvdXQ6DQpMSU5LIDogd2FybmluZyBMTks0 MDQ0OiB1bnJlY29nbml6ZWQgb3B0aW9uICcvTURkJzsgaWdub3JlZA0KDQotLS0tLQ0KU2FuaXR5 IGNoZWNrIGNvbXBpbGUgc3RkZXJyOg0KDQotLS0tLQ0KUnVubmluZyB0ZXN0IGJpbmFyeSBjb21t YW5kOiBDOlxkcGRrLWRyYWZ0LXdpbmRvd3NcYnVpbGQxMVxtZXNvbi1wcml2YXRlXHNhbml0eWNo ZWNrYy5leGUNCkMgY29tcGlsZXIgZm9yIHRoZSBob3N0IG1hY2hpbmU6IGNsYW5nIChjbGFuZyA3 LjAuMSAiY2xhbmcgdmVyc2lvbiA3LjAuMSAodGFncy9SRUxFQVNFXzcwMS9maW5hbCkiKQ0KQyBs aW5rZXIgZm9yIHRoZSBob3N0IG1hY2hpbmU6IGNsYW5nIGxpbmsgMTQuMjQuMjgzMTYuMA0KQnVp bGQgbWFjaGluZSBjcHUgZmFtaWx5OiB4ODZfNjQNCkJ1aWxkIG1hY2hpbmUgY3B1OiB4ODZfNjQN Ckhvc3QgbWFjaGluZSBjcHUgZmFtaWx5OiB4ODZfNjQNCkhvc3QgbWFjaGluZSBjcHU6IHg4Nl82 NA0KVGFyZ2V0IG1hY2hpbmUgY3B1IGZhbWlseTogeDg2XzY0DQpUYXJnZXQgbWFjaGluZSBjcHU6 IHg4Nl82NA0KUHJvZ3JhbSAuLi9idWlsZHRvb2xzL3N5bWxpbmstZHJpdmVycy1zb2xpYnMuc2gg Zm91bmQ6IFlFUyAoc2ggQzpcZHBkay1kcmFmdC13aW5kb3dzXGNvbmZpZ1wuLi9idWlsZHRvb2xz L3N5bWxpbmstZHJpdmVycy1zb2xpYnMuc2gpDQpSdW5uaW5nIGNvbXBpbGU6DQpXb3JraW5nIGRp cmVjdG9yeTogIEM6XGRwZGstZHJhZnQtd2luZG93c1xidWlsZDExXG1lc29uLXByaXZhdGVcdG1w eXZfMWF4N2UNCkNvbW1hbmQgbGluZTogIGNsYW5nIEM6XGRwZGstZHJhZnQtd2luZG93c1xidWls ZDExXG1lc29uLXByaXZhdGVcdG1weXZfMWF4N2VcdGVzdGZpbGUuYyAtbyBDOlxkcGRrLWRyYWZ0 LXdpbmRvd3NcYnVpbGQxMVxtZXNvbi1wcml2YXRlXHRtcHl2XzFheDdlXG91dHB1dC5leGUgLXBp cGUgLVdsLC9NRGQgLU8wIA0KDQpDb2RlOg0KICNpbmNsdWRlPHN0ZGlvLmg+DQogICAgICAgIA0K ICAgICAgICBpbnQgbWFpbih2b2lkKSB7DQogICAgICAgICAgICBwcmludGYoIiVsZFxuIiwgKGxv bmcpKHNpemVvZih2b2lkICopKSk7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfTsN CkNvbXBpbGVyIHN0ZG91dDoNCiBMSU5LIDogd2FybmluZyBMTks0MDQ0OiB1bnJlY29nbml6ZWQg b3B0aW9uICcvTURkJzsgaWdub3JlZA0KDQpDb21waWxlciBzdGRlcnI6DQogDQpQcm9ncmFtIHN0 ZG91dDoNCg0KOA0KDQpQcm9ncmFtIHN0ZGVycjoNCg0KDQpDaGVja2luZyBmb3Igc2l6ZSBvZiAi dm9pZCAqIiA6IDgNClJ1bm5pbmcgY29tcGlsZToNCldvcmtpbmcgZGlyZWN0b3J5OiAgQzpcZHBk ay1kcmFmdC13aW5kb3dzXGJ1aWxkMTFcbWVzb24tcHJpdmF0ZVx0bXA2aGxtOWoxdg0KQ29tbWFu ZCBsaW5lOiAgY2xhbmcgQzpcZHBkay1kcmFmdC13aW5kb3dzXGJ1aWxkMTFcbWVzb24tcHJpdmF0 ZVx0bXA2aGxtOWoxdlx0ZXN0ZmlsZS5jIC1vIEM6XGRwZGstZHJhZnQtd2luZG93c1xidWlsZDEx XG1lc29uLXByaXZhdGVcdG1wNmhsbTlqMXZcb3V0cHV0LmV4ZSAtcGlwZSAtV2wsL01EZCAtTzAg LWxsaWJtIA0KDQpDb2RlOg0KIGludCBtYWluKHZvaWQpIHsgcmV0dXJuIDA7IH0NCkNvbXBpbGVy IHN0ZG91dDoNCiBMSU5LIDogd2FybmluZyBMTks0MDQ0OiB1bnJlY29nbml6ZWQgb3B0aW9uICcv TURkJzsgaWdub3JlZA0KTElOSyA6IGZhdGFsIGVycm9yIExOSzExODE6IGNhbm5vdCBvcGVuIGlu cHV0IGZpbGUgJ2xpYm0ubGliJw0KDQpDb21waWxlciBzdGRlcnI6DQogY2xhbmcuZXhlOiBlcnJv cjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDExODEgKHVzZSAtdiB0byBz ZWUgaW52b2NhdGlvbikNCg0KUnVubmluZyBjb21waWxlOg0KV29ya2luZyBkaXJlY3Rvcnk6ICBD OlxkcGRrLWRyYWZ0LXdpbmRvd3NcYnVpbGQxMVxtZXNvbi1wcml2YXRlXHRtcGE3azVsamgzDQpD b21tYW5kIGxpbmU6ICBjbGFuZyBDOlxkcGRrLWRyYWZ0LXdpbmRvd3NcYnVpbGQxMVxtZXNvbi1w cml2YXRlXHRtcGE3azVsamgzXHRlc3RmaWxlLmMgLW8gQzpcZHBkay1kcmFmdC13aW5kb3dzXGJ1 aWxkMTFcbWVzb24tcHJpdmF0ZVx0bXBhN2s1bGpoM1xvdXRwdXQuZXhlIC1waXBlIC1XbCwvTURk IC1PMCANCg0KQ29kZToNCiAjaW5jbHVkZTxzdGRpby5oPg0KICAgICAgICANCiAgICAgICAgaW50 IG1haW4odm9pZCkgew0KICAgICAgICAgICAgcHJpbnRmKCIlbGRcbiIsIChsb25nKShzaXplb2Yo dm9pZCAqKSkpOw0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH07DQpDb21waWxlciBz dGRvdXQ6DQogTElOSyA6IHdhcm5pbmcgTE5LNDA0NDogdW5yZWNvZ25pemVkIG9wdGlvbiAnL01E ZCc7IGlnbm9yZWQNCg0KQ29tcGlsZXIgc3RkZXJyOg0KIA0KUHJvZ3JhbSBzdGRvdXQ6DQoNCjgN Cg0KUHJvZ3JhbSBzdGRlcnI6DQoNCg0KUnVubmluZyBjb21waWxlOg0KV29ya2luZyBkaXJlY3Rv cnk6ICBDOlxkcGRrLWRyYWZ0LXdpbmRvd3NcYnVpbGQxMVxtZXNvbi1wcml2YXRlXHRtcDJwNXFo MjBqDQpDb21tYW5kIGxpbmU6ICBjbGFuZyBDOlxkcGRrLWRyYWZ0LXdpbmRvd3NcYnVpbGQxMVxt ZXNvbi1wcml2YXRlXHRtcDJwNXFoMjBqXHRlc3RmaWxlLmMgLW8gQzpcZHBkay1kcmFmdC13aW5k b3dzXGJ1aWxkMTFcbWVzb24tcHJpdmF0ZVx0bXAycDVxaDIwalxvdXRwdXQub2JqIC1waXBlIC1j IC1PMCAtLXByaW50LXNlYXJjaC1kaXJzIA0KDQpDb2RlOg0KIA0KQ29tcGlsZXIgc3Rkb3V0Og0K IHByb2dyYW1zOiA9QzpcTExWTVxiaW4NCmxpYnJhcmllczogPUM6XExMVk1cbGliXGNsYW5nXDcu MC4xDQoNCkNvbXBpbGVyIHN0ZGVycjoNCiANCkxpYnJhcnkgbGlibSBmb3VuZDogTk8NClJ1bm5p bmcgY29tcGlsZToNCldvcmtpbmcgZGlyZWN0b3J5OiAgQzpcZHBkay1kcmFmdC13aW5kb3dzXGJ1 aWxkMTFcbWVzb24tcHJpdmF0ZVx0bXBld2lmbzcybw0KQ29tbWFuZCBsaW5lOiAgY2xhbmcgQzpc ZHBkay1kcmFmdC13aW5kb3dzXGJ1aWxkMTFcbWVzb24tcHJpdmF0ZVx0bXBld2lmbzcyb1x0ZXN0 ZmlsZS5jIC1vIEM6XGRwZGstZHJhZnQtd2luZG93c1xidWlsZDExXG1lc29uLXByaXZhdGVcdG1w ZXdpZm83Mm9cb3V0cHV0LmV4ZSAtcGlwZSAtV2wsL01EZCAtTzAgLWxudW1hIA0KDQpDb2RlOg0K IGludCBtYWluKHZvaWQpIHsgcmV0dXJuIDA7IH0NCkNvbXBpbGVyIHN0ZG91dDoNCiBMSU5LIDog d2FybmluZyBMTks0MDQ0OiB1bnJlY29nbml6ZWQgb3B0aW9uICcvTURkJzsgaWdub3JlZA0KTElO SyA6IGZhdGFsIGVycm9yIExOSzExODE6IGNhbm5vdCBvcGVuIGlucHV0IGZpbGUgJ251bWEubGli Jw0KDQpDb21waWxlciBzdGRlcnI6DQogY2xhbmcuZXhlOiBlcnJvcjogbGlua2VyIGNvbW1hbmQg ZmFpbGVkIHdpdGggZXhpdCBjb2RlIDExODEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikNCg0K TGlicmFyeSBudW1hIGZvdW5kOiBOTw0KUGtnLWNvbmZpZyBiaW5hcnkgZm9yIE1hY2hpbmVDaG9p Y2UuSE9TVCBpcyBub3QgY2FjaGVkLg0KUGtnLWNvbmZpZyBiaW5hcnkgbWlzc2luZyBmcm9tIGNy b3NzIG9yIG5hdGl2ZSBmaWxlLCBvciBlbnYgdmFyIHVuZGVmaW5lZC4NClRyeWluZyBhIGRlZmF1 bHQgUGtnLWNvbmZpZyBmYWxsYmFjayBhdCBwa2ctY29uZmlnDQpUcnlpbmcgcGtnLWNvbmZpZyBi aW5hcnkgcGtnLWNvbmZpZyBmb3IgbWFjaGluZSBNYWNoaW5lQ2hvaWNlLkhPU1QgYXQgW05vbmVd DQpEaWQgbm90IGZpbmQgcGtnLWNvbmZpZyBieSBuYW1lICdwa2ctY29uZmlnJw0KRm91bmQgUGtn LWNvbmZpZzogTk8NClBrZy1jb25maWcgYmluYXJ5IGZvciBtYWNoaW5lIE1hY2hpbmVDaG9pY2Uu SE9TVCBub3QgZm91bmQuIEdpdmluZyB1cC4NCkNNYWtlIGJpbmFyeSBmb3IgTWFjaGluZUNob2lj ZS5IT1NUIGlzIG5vdCBjYWNoZWQNCkNNYWtlIGJpbmFyeSBtaXNzaW5nIGZyb20gY3Jvc3Mgb3Ig bmF0aXZlIGZpbGUsIG9yIGVudiB2YXIgdW5kZWZpbmVkLg0KVHJ5aW5nIGEgZGVmYXVsdCBDTWFr ZSBmYWxsYmFjayBhdCBjbWFrZQ0KVHJ5aW5nIENNYWtlIGJpbmFyeSBjbWFrZSBmb3IgbWFjaGlu ZSBNYWNoaW5lQ2hvaWNlLkhPU1QgYXQgW05vbmVdDQpEaWQgbm90IGZpbmQgQ01ha2UgJ2NtYWtl Jw0KRm91bmQgQ01ha2U6IE5PDQpObyBDTWFrZSBiaW5hcnkgZm9yIG1hY2hpbmUgTWFjaGluZUNo b2ljZS5IT1NUIG5vdCBmb3VuZC4gR2l2aW5nIHVwLg0KUnVuLXRpbWUgZGVwZW5kZW5jeSBsaWJi c2QgZm91bmQ6IE5PICh0cmllZCBwa2djb25maWcgYW5kIGNtYWtlKQ0KUnVubmluZyBjb21waWxl Og0KV29ya2luZyBkaXJlY3Rvcnk6ICBDOlxkcGRrLWRyYWZ0LXdpbmRvd3NcYnVpbGQxMVxtZXNv bi1wcml2YXRlXHRtcDZxNnNwNXkwDQpDb21tYW5kIGxpbmU6ICBjbGFuZyBDOlxkcGRrLWRyYWZ0 LXdpbmRvd3NcYnVpbGQxMVxtZXNvbi1wcml2YXRlXHRtcDZxNnNwNXkwXHRlc3RmaWxlLmMgLW8g QzpcZHBkay1kcmFmdC13aW5kb3dzXGJ1aWxkMTFcbWVzb24tcHJpdmF0ZVx0bXA2cTZzcDV5MFxv dXRwdXQub2JqIC1waXBlIC1jIC1PMCAtV2Vycm9yPXVua25vd24td2FybmluZy1vcHRpb24gLVdl cnJvcj11bnVzZWQtY29tbWFuZC1saW5lLWFyZ3VtZW50IC1XZXJyb3I9aWdub3JlZC1vcHRpbWl6 YXRpb24tYXJndW1lbnQgLVdzaWduLWNvbXBhcmUgDQoNCkNvZGU6DQogaW50IGk7DQoNCkNvbXBp bGVyIHN0ZG91dDoNCiANCkNvbXBpbGVyIHN0ZGVycjoNCiANCkNvbXBpbGVyIGZvciBDIHN1cHBv cnRzIGFyZ3VtZW50cyAtV3NpZ24tY29tcGFyZTogWUVTIA0KUnVubmluZyBjb21waWxlOg0KV29y a2luZyBkaXJlY3Rvcnk6ICBDOlxkcGRrLWRyYWZ0LXdpbmRvd3NcYnVpbGQxMVxtZXNvbi1wcml2 YXRlXHRtcHBsOXdtZTEzDQpDb21tYW5kIGxpbmU6ICBjbGFuZyBDOlxkcGRrLWRyYWZ0LXdpbmRv d3NcYnVpbGQxMVxtZXNvbi1wcml2YXRlXHRtcHBsOXdtZTEzXHRlc3RmaWxlLmMgLW8gQzpcZHBk ay1kcmFmdC13aW5kb3dzXGJ1aWxkMTFcbWVzb24tcHJpdmF0ZVx0bXBwbDl3bWUxM1xvdXRwdXQu b2JqIC1waXBlIC1jIC1PMCAtV2Vycm9yPXVua25vd24td2FybmluZy1vcHRpb24gLVdlcnJvcj11 bnVzZWQtY29tbWFuZC1saW5lLWFyZ3VtZW50IC1XZXJyb3I9aWdub3JlZC1vcHRpbWl6YXRpb24t YXJndW1lbnQgLVdjYXN0LXF1YWwgDQoNCkNvZGU6DQogaW50IGk7DQoNCkNvbXBpbGVyIHN0ZG91 dDoNCiANCkNvbXBpbGVyIHN0ZGVycjoNCiANCkNvbXBpbGVyIGZvciBDIHN1cHBvcnRzIGFyZ3Vt ZW50cyAtV2Nhc3QtcXVhbDogWUVTIA0KUnVubmluZyBjb21waWxlOg0KV29ya2luZyBkaXJlY3Rv cnk6ICBDOlxkcGRrLWRyYWZ0LXdpbmRvd3NcYnVpbGQxMVxtZXNvbi1wcml2YXRlXHRtcDdnN3Zp OXloDQpDb21tYW5kIGxpbmU6ICBjbGFuZyBDOlxkcGRrLWRyYWZ0LXdpbmRvd3NcYnVpbGQxMVxt ZXNvbi1wcml2YXRlXHRtcDdnN3ZpOXloXHRlc3RmaWxlLmMgLW8gQzpcZHBkay1kcmFmdC13aW5k b3dzXGJ1aWxkMTFcbWVzb24tcHJpdmF0ZVx0bXA3Zzd2aTl5aFxvdXRwdXQub2JqIC1waXBlIC1j IC1PMCAtV2Vycm9yPXVua25vd24td2FybmluZy1vcHRpb24gLVdlcnJvcj11bnVzZWQtY29tbWFu ZC1saW5lLWFyZ3VtZW50IC1XZXJyb3I9aWdub3JlZC1vcHRpbWl6YXRpb24tYXJndW1lbnQgLVdu by1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVdhZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgDQoN CkNvZGU6DQogaW50IGk7DQoNCkNvbXBpbGVyIHN0ZG91dDoNCiANCkNvbXBpbGVyIHN0ZGVycjoN CiANCkNvbXBpbGVyIGZvciBDIHN1cHBvcnRzIGFyZ3VtZW50cyAtV25vLWFkZHJlc3Mtb2YtcGFj a2VkLW1lbWJlcjogWUVTIA0KUnVubmluZyBjb21waWxlOg0KV29ya2luZyBkaXJlY3Rvcnk6ICBD OlxVc2Vyc1xDSEVOR0N+MVxBcHBEYXRhXExvY2FsXFRlbXBcdG1wb24waDRoMHINCkNvbW1hbmQg bGluZTogIGNsYW5nIEM6XFVzZXJzXENIRU5HQ34xXEFwcERhdGFcTG9jYWxcVGVtcFx0bXBvbjBo NGgwclx0ZXN0ZmlsZS5jIC1waXBlIC1FIC1QIC1QIC1PMCAtbWFyY2g9bmF0aXZlIA0KDQpDb2Rl Og0KIA0KICAgICAgICANCiAgICAgICAgI2lmbmRlZiBfX1NTRTRfMl9fDQogICAgICAgICMgZGVm aW5lIF9fU1NFNF8yX18NCiAgICAgICAgI2VuZGlmDQogICAgICAgICJNRVNPTl9HRVRfREVGSU5F X0RFTElNSVRFUiINCl9fU1NFNF8yX18NCkNvbXBpbGVyIHN0ZG91dDoNCiANCg0KDQoNCg0KICAg ICAgICAiTUVTT05fR0VUX0RFRklORV9ERUxJTUlURVIiDQoxDQoNCkNvbXBpbGVyIHN0ZGVycjoN CiANCkZldGNoaW5nIHZhbHVlIG9mIGRlZmluZSAiX19TU0U0XzJfXyIgOiAxIA0KUnVubmluZyBj b21waWxlOg0KV29ya2luZyBkaXJlY3Rvcnk6ICBDOlxVc2Vyc1xDSEVOR0N+MVxBcHBEYXRhXExv Y2FsXFRlbXBcdG1wNm8yY29ic2oNCkNvbW1hbmQgbGluZTogIGNsYW5nIEM6XFVzZXJzXENIRU5H Q34xXEFwcERhdGFcTG9jYWxcVGVtcFx0bXA2bzJjb2Jzalx0ZXN0ZmlsZS5jIC1waXBlIC1FIC1Q IC1QIC1PMCAtbWFyY2g9bmF0aXZlIA0KDQpDb2RlOg0KIA0KICAgICAgICANCiAgICAgICAgI2lm bmRlZiBfX0FFU19fDQogICAgICAgICMgZGVmaW5lIF9fQUVTX18NCiAgICAgICAgI2VuZGlmDQog ICAgICAgICJNRVNPTl9HRVRfREVGSU5FX0RFTElNSVRFUiINCl9fQUVTX18NCkNvbXBpbGVyIHN0 ZG91dDoNCiANCg0KDQoNCg0KICAgICAgICAiTUVTT05fR0VUX0RFRklORV9ERUxJTUlURVIiDQox DQoNCkNvbXBpbGVyIHN0ZGVycjoNCiANCkZldGNoaW5nIHZhbHVlIG9mIGRlZmluZSAiX19BRVNf XyIgOiAxIA0KUnVubmluZyBjb21waWxlOg0KV29ya2luZyBkaXJlY3Rvcnk6ICBDOlxVc2Vyc1xD SEVOR0N+MVxBcHBEYXRhXExvY2FsXFRlbXBcdG1wd2VhZ2oyaTcNCkNvbW1hbmQgbGluZTogIGNs YW5nIEM6XFVzZXJzXENIRU5HQ34xXEFwcERhdGFcTG9jYWxcVGVtcFx0bXB3ZWFnajJpN1x0ZXN0 ZmlsZS5jIC1waXBlIC1FIC1QIC1QIC1PMCAtbWFyY2g9bmF0aXZlIA0KDQpDb2RlOg0KIA0KICAg ICAgICANCiAgICAgICAgI2lmbmRlZiBfX1BDTE1VTF9fDQogICAgICAgICMgZGVmaW5lIF9fUENM TVVMX18NCiAgICAgICAgI2VuZGlmDQogICAgICAgICJNRVNPTl9HRVRfREVGSU5FX0RFTElNSVRF UiINCl9fUENMTVVMX18NCkNvbXBpbGVyIHN0ZG91dDoNCiANCg0KDQoNCg0KICAgICAgICAiTUVT T05fR0VUX0RFRklORV9ERUxJTUlURVIiDQoxDQoNCkNvbXBpbGVyIHN0ZGVycjoNCiANCkZldGNo aW5nIHZhbHVlIG9mIGRlZmluZSAiX19QQ0xNVUxfXyIgOiAxIA0KUnVubmluZyBjb21waWxlOg0K V29ya2luZyBkaXJlY3Rvcnk6ICBDOlxVc2Vyc1xDSEVOR0N+MVxBcHBEYXRhXExvY2FsXFRlbXBc dG1wNHZzc3lpZ2wNCkNvbW1hbmQgbGluZTogIGNsYW5nIEM6XFVzZXJzXENIRU5HQ34xXEFwcERh dGFcTG9jYWxcVGVtcFx0bXA0dnNzeWlnbFx0ZXN0ZmlsZS5jIC1waXBlIC1FIC1QIC1QIC1PMCAt bWFyY2g9bmF0aXZlIA0KDQpDb2RlOg0KIA0KICAgICAgICANCiAgICAgICAgI2lmbmRlZiBfX0FW WF9fDQogICAgICAgICMgZGVmaW5lIF9fQVZYX18NCiAgICAgICAgI2VuZGlmDQogICAgICAgICJN RVNPTl9HRVRfREVGSU5FX0RFTElNSVRFUiINCl9fQVZYX18NCkNvbXBpbGVyIHN0ZG91dDoNCiAN Cg0KDQoNCg0KICAgICAgICAiTUVTT05fR0VUX0RFRklORV9ERUxJTUlURVIiDQoxDQoNCkNvbXBp bGVyIHN0ZGVycjoNCiANCkZldGNoaW5nIHZhbHVlIG9mIGRlZmluZSAiX19BVlhfXyIgOiAxIA0K UnVubmluZyBjb21waWxlOg0KV29ya2luZyBkaXJlY3Rvcnk6ICBDOlxVc2Vyc1xDSEVOR0N+MVxB cHBEYXRhXExvY2FsXFRlbXBcdG1wNzdpdGcycWENCkNvbW1hbmQgbGluZTogIGNsYW5nIEM6XFVz ZXJzXENIRU5HQ34xXEFwcERhdGFcTG9jYWxcVGVtcFx0bXA3N2l0ZzJxYVx0ZXN0ZmlsZS5jIC1w aXBlIC1FIC1QIC1QIC1PMCAtbWFyY2g9bmF0aXZlIA0KDQpDb2RlOg0KIA0KICAgICAgICANCiAg ICAgICAgI2lmbmRlZiBfX0FWWDJfXw0KICAgICAgICAjIGRlZmluZSBfX0FWWDJfXw0KICAgICAg ICAjZW5kaWYNCiAgICAgICAgIk1FU09OX0dFVF9ERUZJTkVfREVMSU1JVEVSIg0KX19BVlgyX18N CkNvbXBpbGVyIHN0ZG91dDoNCiANCg0KDQoNCg0KICAgICAgICAiTUVTT05fR0VUX0RFRklORV9E RUxJTUlURVIiDQoxDQoNCkNvbXBpbGVyIHN0ZGVycjoNCiANCkZldGNoaW5nIHZhbHVlIG9mIGRl ZmluZSAiX19BVlgyX18iIDogMSANClJ1bm5pbmcgY29tcGlsZToNCldvcmtpbmcgZGlyZWN0b3J5 OiAgQzpcVXNlcnNcQ0hFTkdDfjFcQXBwRGF0YVxMb2NhbFxUZW1wXHRtcDV6eW1mMjBnDQpDb21t YW5kIGxpbmU6ICBjbGFuZyBDOlxVc2Vyc1xDSEVOR0N+MVxBcHBEYXRhXExvY2FsXFRlbXBcdG1w NXp5bWYyMGdcdGVzdGZpbGUuYyAtcGlwZSAtRSAtUCAtUCAtTzAgLW1hcmNoPW5hdGl2ZSANCg0K Q29kZToNCiANCiAgICAgICAgDQogICAgICAgICNpZm5kZWYgX19BVlg1MTJGX18NCiAgICAgICAg IyBkZWZpbmUgX19BVlg1MTJGX18NCiAgICAgICAgI2VuZGlmDQogICAgICAgICJNRVNPTl9HRVRf REVGSU5FX0RFTElNSVRFUiINCl9fQVZYNTEyRl9fDQpDb21waWxlciBzdGRvdXQ6DQogDQoNCg0K DQoNCiAgICAgICAgIk1FU09OX0dFVF9ERUZJTkVfREVMSU1JVEVSIg0KDQpDb21waWxlciBzdGRl cnI6DQogDQpGZXRjaGluZyB2YWx1ZSBvZiBkZWZpbmUgIl9fQVZYNTEyRl9fIiA6ICANClJ1bm5p bmcgY29tcGlsZToNCldvcmtpbmcgZGlyZWN0b3J5OiAgQzpcZHBkay1kcmFmdC13aW5kb3dzXGJ1 aWxkMTFcbWVzb24tcHJpdmF0ZVx0bXAwcHB4d2UzbA0KQ29tbWFuZCBsaW5lOiAgY2xhbmcgQzpc ZHBkay1kcmFmdC13aW5kb3dzXGJ1aWxkMTFcbWVzb24tcHJpdmF0ZVx0bXAwcHB4d2UzbFx0ZXN0 ZmlsZS5jIC1vIEM6XGRwZGstZHJhZnQtd2luZG93c1xidWlsZDExXG1lc29uLXByaXZhdGVcdG1w MHBweHdlM2xcb3V0cHV0Lm9iaiAtcGlwZSAtYyAtTzAgLVdlcnJvcj11bmtub3duLXdhcm5pbmct b3B0aW9uIC1XZXJyb3I9dW51c2VkLWNvbW1hbmQtbGluZS1hcmd1bWVudCAtV2Vycm9yPWlnbm9y ZWQtb3B0aW1pemF0aW9uLWFyZ3VtZW50IC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVdmb3JtYXQt dHJ1bmNhdGlvbiANCg0KQ29kZToNCiBpbnQgaTsNCg0KQ29tcGlsZXIgc3Rkb3V0Og0KIA0KQ29t cGlsZXIgc3RkZXJyOg0KIGVycm9yOiB1bmtub3duIHdhcm5pbmcgb3B0aW9uICctV25vLWZvcm1h dC10cnVuY2F0aW9uJyBbLVdlcnJvciwtV3Vua25vd24td2FybmluZy1vcHRpb25dDQplcnJvcjog dW5rbm93biB3YXJuaW5nIG9wdGlvbiAnLVdmb3JtYXQtdHJ1bmNhdGlvbicgWy1XZXJyb3IsLVd1 bmtub3duLXdhcm5pbmctb3B0aW9uXQ0KDQpDb21waWxlciBmb3IgQyBzdXBwb3J0cyBhcmd1bWVu dHMgLVduby1mb3JtYXQtdHJ1bmNhdGlvbjogTk8gDQpQcm9ncmFtIGRveHlnZW4gZm91bmQ6IE5P DQpQcm9ncmFtIHNwaGlueC1idWlsZCBmb3VuZDogTk8NClJ1bm5pbmcgY29tcGlsZToNCldvcmtp bmcgZGlyZWN0b3J5OiAgQzpcZHBkay1kcmFmdC13aW5kb3dzXGJ1aWxkMTFcbWVzb24tcHJpdmF0 ZVx0bXA5Z25nY2J1Yg0KQ29tbWFuZCBsaW5lOiAgY2xhbmcgQzpcZHBkay1kcmFmdC13aW5kb3dz XGJ1aWxkMTFcbWVzb24tcHJpdmF0ZVx0bXA5Z25nY2J1Ylx0ZXN0ZmlsZS5jIC1vIEM6XGRwZGst ZHJhZnQtd2luZG93c1xidWlsZDExXG1lc29uLXByaXZhdGVcdG1wOWduZ2NidWJcb3V0cHV0LmV4 ZSAtcGlwZSAtV2wsL01EZCAtTzAgLWxleGVjaW5mbyANCg0KQ29kZToNCiBpbnQgbWFpbih2b2lk KSB7IHJldHVybiAwOyB9DQpDb21waWxlciBzdGRvdXQ6DQogTElOSyA6IHdhcm5pbmcgTE5LNDA0 NDogdW5yZWNvZ25pemVkIG9wdGlvbiAnL01EZCc7IGlnbm9yZWQNCkxJTksgOiBmYXRhbCBlcnJv ciBMTksxMTgxOiBjYW5ub3Qgb3BlbiBpbnB1dCBmaWxlICdleGVjaW5mby5saWInDQoNCkNvbXBp bGVyIHN0ZGVycjoNCiBjbGFuZy5leGU6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0 aCBleGl0IGNvZGUgMTE4MSAodXNlIC12IHRvIHNlZSBpbnZvY2F0aW9uKQ0KDQpMaWJyYXJ5IGV4 ZWNpbmZvIGZvdW5kOiBOTw0KDQpleGFtcGxlc1xtZXNvbi5idWlsZDoxMTowOiBFUlJPUjogUHJv Z3JhbSBvciBjb21tYW5kICdzaCcgbm90IGZvdW5kIG9yIG5vdCBleGVjdXRhYmxlDQo= --0000000000000b8153059db58385--