From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 350AA20E702 for ; Fri, 14 Aug 2026 05:46:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786686422; cv=none; b=teAt1xNdJNDa+u8Cxa2PnrEF96QC2GmPYi2z6uhpGtCll1PM1Q1jtGDnpbxBbM9JxxhR+kxB1/t/6K1aZgfSOclmMoI5JTcUIEsZGQ4G1a4jMybKxiWooPnXOfzoBBjD9OtvYRASSPltDA4QrJdpfoC5/f0ucgmZujRxitFnKNk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786686422; c=relaxed/simple; bh=9bkslTEDoYUDtV/Y1vZDAtXb76bUYKoMIWxQ9hZQfs0=; h=Message-ID:Date:Content-Type:MIME-Version:From:To:Subject: In-Reply-To:References; b=dD4UcVWpQ5ibtYKUN+upMfdo2wxQ+MVNGeQO3lV+CbaZwKHC/cHUmYBlMy2KEm6GPkylicctPg2MdYkLGTHSPRTTFSwAl1u8MIdsZ1nRy22D5jqye01qdJNN1Y148uf12QReLgxXQbXmRk4W0d5wEZTrY93mSK9LLnU/oeTScr0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=St5kZg70; arc=none smtp.client-ip=209.85.215.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="St5kZg70" Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-c9cf07d2df6so356913a12.2 for ; Thu, 13 Aug 2026 22:46:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786686418; x=1787291218; darn=vger.kernel.org; h=reply-to:references:in-reply-to:subject:to:from:mime-version :content-type:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=9bkslTEDoYUDtV/Y1vZDAtXb76bUYKoMIWxQ9hZQfs0=; b=St5kZg70hZrdDiUkqZXRFTFYJ1igjIbqb9TitaR3P7vbQAb9WZjpOUPL7gs7hxQyzm XIZt0gw3CoMT8KGULmXLcMAi87vf//nnosCMNUddi5HxJXQlxR2cZbfr+h7psnecLrBT 8OFqCPefqpoGMsX2SMGFPQFtI/ROMiJ+BTFtwcAaD+TCwRgjhXoBSJiT7FeEt+GRpCeD TsuW8lOVcuEAkdZETuCCRtBPDECznXvaRPQamG+IBOWv8u77rWYBUCgsn277cewod18p MtyZAFkvABNlQAhmX7VZo7rxxxyQ591YPglY8PTP6QrX/Yi2LuWY/dLudQo/jwc07/6O Yw9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786686418; x=1787291218; h=reply-to:references:in-reply-to:subject:to:from:mime-version :content-type:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=9bkslTEDoYUDtV/Y1vZDAtXb76bUYKoMIWxQ9hZQfs0=; b=MYGIJSoMQ1o4ImlZA5z5U+vCWOcCuvikXWxFmQVlTdBy9NG5AwOfGrv4teWqIdjxVx PI+yFqKex8fMZxKj+xa9cFpWP0gCe8Qr2pSAAhUgH0gD3B9exgt/hYHGkD8RARWdBRdc nn3KKN+3hJZUTVvOLjmewCEZspds84ylTKVfVRYtsa2XpCrO4yhFVjxAg8KcbIUyAlPn ffsW6rwrDR5ED40xeR6ysUIWKVQgLMpMWpqvJmeq2KLNpOWzWk+RS92667OEyMvvZmFt S/4GFLFsaczI6IsWUj7QttJtHzrK18WJdyAISHcRwYT4qve53WAxjT8mj3mhjDwSQXUR XQiA== X-Gm-Message-State: AOJu0YyCVQnBKaJj8C1PlWHmvd8x5yGOKYE0JAb1d7CfOsj7dNYjhrbt E3HOaRL0bELFPlyx0BgOxi4lDANyq8MooaDy7Jsw1K5T0sybu6cCuKpc63iFKA== X-Gm-Gg: AR+sD11iiXtzPZwkF0nt1Lxg5bN6ypE5wuFEiC65VQGqmhK9oYZixJerEtAVTMxsnZr lu9f0gXet2wHAJfxRDYZIbliKi/gOKphHnziMMu/xIHDbnUdLOXWDyT6s6VBCz4vYRI6foJlUsh 8FBe73XJTgiDVGpCnHaUCCzi79H371JS4yg8P0PZtttcXJn9R6NQqmIKrkU9m000va1V1QdF2B4 88cPeTZnb/HFW3dd058J9Ny9Y5lEEXvMBYb4KzWlwyPxsZstGfILsjeAgCGBHnEgGAqbqquJ52H sDqOpmBPyQ0JJj/SDCNcBJnrAywV0DwgmHnNXdGivsMydcPL2Uwcd0JAbYIK4qADSrqTeRw09ms /iIZy2CyUwe2AB8KWLjdg0kO00XMO5Qi7uj+aKaQRaZdoZy92quAam6IjkK1KF+Pqjc5hyqz8dy rp1PhzsQgNzjtenLR3HQZG9Rm5C4o+x9wk/yME6rpa9maAAW9603knwM81Wr6zS+MfEA== X-Received: by 2002:a05:6a20:430a:b0:3c3:9c4e:de3a with SMTP id adf61e73a8af0-3cc71989601mr3588988637.6.1786686417859; Thu, 13 Aug 2026 22:46:57 -0700 (PDT) Received: from [172.17.0.2] ([52.157.33.34]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1413887e3e7sm5060868c88.9.2026.08.13.22.46.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Aug 2026 22:46:57 -0700 (PDT) Message-ID: <6a7eabd1.e5907290.1ecfbe.50a6@mx.google.com> Date: Thu, 13 Aug 2026 22:46:57 -0700 (PDT) Content-Type: multipart/mixed; boundary="===============0862707679023317048==" Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: bluez.test.bot@gmail.com To: linux-bluetooth@vger.kernel.org, dmarlin@redhat.com Subject: RE: Bluetooth: hci-core: fix "declaration does not declare anything" error In-Reply-To: <20260814051032.261320-1-dmarlin@redhat.com> References: <20260814051032.261320-1-dmarlin@redhat.com> Reply-To: linux-bluetooth@vger.kernel.org --===============0862707679023317048== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhpcyBpcyBhdXRvbWF0ZWQgZW1haWwgYW5kIHBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBl bWFpbCEKCkRlYXIgc3VibWl0dGVyLAoKVGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHRoZSBwYXRj aGVzIHRvIHRoZSBsaW51eCBibHVldG9vdGggbWFpbGluZyBsaXN0LgpUaGlzIGlzIGEgQ0kgdGVz dCByZXN1bHRzIHdpdGggeW91ciBwYXRjaCBzZXJpZXM6ClBXIExpbms6aHR0cHM6Ly9wYXRjaHdv cmsua2VybmVsLm9yZy9wcm9qZWN0L2JsdWV0b290aC9saXN0Lz9zZXJpZXM9MTE0NTgyNwoKLS0t VGVzdCByZXN1bHQtLS0KClRlc3QgU3VtbWFyeToKQ2hlY2tQYXRjaCAgICAgICAgICAgICAgICAg ICAgRkFJTCAgICAgIDAuNTcgc2Vjb25kcwpWZXJpZnlGaXhlcyAgICAgICAgICAgICAgICAgICBQ QVNTICAgICAgMC4xMCBzZWNvbmRzClZlcmlmeVNpZ25lZG9mZiAgICAgICAgICAgICAgIFBBU1Mg ICAgICAwLjA4IHNlY29uZHMKR2l0TGludCAgICAgICAgICAgICAgICAgICAgICAgUEFTUyAgICAg IDAuMjEgc2Vjb25kcwpTdWJqZWN0UHJlZml4ICAgICAgICAgICAgICAgICBQQVNTICAgICAgMC4w NyBzZWNvbmRzCkJ1aWxkS2VybmVsICAgICAgICAgICAgICAgICAgIEZBSUwgICAgICAyNC45MyBz ZWNvbmRzCkNoZWNrQWxsV2FybmluZyAgICAgICAgICAgICAgIEZBSUwgICAgICAyNy41OCBzZWNv bmRzCkNoZWNrU3BhcnNlICAgICAgICAgICAgICAgICAgIEZBSUwgICAgICAyNi40MyBzZWNvbmRz CkJ1aWxkS2VybmVsMzIgICAgICAgICAgICAgICAgIEZBSUwgICAgICAyMy45OSBzZWNvbmRzCkNo ZWNrS2VybmVsTExWTSAgICAgICAgICAgICAgIFNLSVAgICAgICAwLjAwIHNlY29uZHMKVGVzdFJ1 bm5lclNldHVwICAgICAgICAgICAgICAgRkFJTCAgICAgIDQ4OS44NCBzZWNvbmRzClRlc3RSdW5u ZXJfbDJjYXAtdGVzdGVyICAgICAgIEZBSUwgICAgICAwLjA3IHNlY29uZHMKVGVzdFJ1bm5lcl9p c28tdGVzdGVyICAgICAgICAgRkFJTCAgICAgIDAuMDcgc2Vjb25kcwpUZXN0UnVubmVyX2JuZXAt dGVzdGVyICAgICAgICBGQUlMICAgICAgMC4wNyBzZWNvbmRzClRlc3RSdW5uZXJfbWdtdC10ZXN0 ZXIgICAgICAgIEZBSUwgICAgICAwLjA4IHNlY29uZHMKVGVzdFJ1bm5lcl9yZmNvbW0tdGVzdGVy ICAgICAgRkFJTCAgICAgIDAuMDcgc2Vjb25kcwpUZXN0UnVubmVyX3Njby10ZXN0ZXIgICAgICAg ICBGQUlMICAgICAgMC4xNiBzZWNvbmRzClRlc3RSdW5uZXJfaW9jdGwtdGVzdGVyICAgICAgIEZB SUwgICAgICAwLjA3IHNlY29uZHMKVGVzdFJ1bm5lcl9tZXNoLXRlc3RlciAgICAgICAgRkFJTCAg ICAgIDAuMDcgc2Vjb25kcwpUZXN0UnVubmVyX3NtcC10ZXN0ZXIgICAgICAgICBGQUlMICAgICAg MC4wOCBzZWNvbmRzClRlc3RSdW5uZXJfdXNlcmNoYW4tdGVzdGVyICAgIEZBSUwgICAgICAwLjA3 IHNlY29uZHMKVGVzdFJ1bm5lcl82bG93cGFuLXRlc3RlciAgICAgRkFJTCAgICAgIDAuMDcgc2Vj b25kcwpJbmNyZW1lbnRhbEJ1aWxkICAgICAgICAgICAgICBGQUlMICAgICAgMjMuMjQgc2Vjb25k cwoKRGV0YWlscwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogQ2hlY2tQYXRj aCAtIEZBSUwKRGVzYzogUnVuIGNoZWNrcGF0Y2gucGwgc2NyaXB0Ck91dHB1dDoKQmx1ZXRvb3Ro OiBoY2ktY29yZTogZml4ICJkZWNsYXJhdGlvbiBkb2VzIG5vdCBkZWNsYXJlIGFueXRoaW5nIiBl cnJvcgpXQVJOSU5HOiBQcmVmZXIgYSBtYXhpbXVtIDc1IGNoYXJzIHBlciBsaW5lIChwb3NzaWJs ZSB1bndyYXBwZWQgY29tbWl0IGRlc2NyaXB0aW9uPykKIzEwNzogCkFkZGluZyBhIHZhcmlhYmxl IG5hbWUgKGUuZy4sICdudW0nKSB0byBlYWNoIG9mIHRoZSBhYm92ZSBzdHJ1Y3QgZGVmaW5pdGlv bnMKCnRvdGFsOiAwIGVycm9ycywgMSB3YXJuaW5ncywgMTYgbGluZXMgY2hlY2tlZAoKTk9URTog Rm9yIHNvbWUgb2YgdGhlIHJlcG9ydGVkIGRlZmVjdHMsIGNoZWNrcGF0Y2ggbWF5IGJlIGFibGUg dG8KICAgICAgbWVjaGFuaWNhbGx5IGNvbnZlcnQgdG8gdGhlIHR5cGljYWwgc3R5bGUgdXNpbmcg LS1maXggb3IgLS1maXgtaW5wbGFjZS4KCi9naXRodWIvd29ya3NwYWNlL3NyYy9wYXRjaC8xNDc0 OTUzNS5wYXRjaCBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcuCgpOT1RFOiBJZ25v cmVkIG1lc3NhZ2UgdHlwZXM6IFVOS05PV05fQ09NTUlUX0lECgpOT1RFOiBJZiBhbnkgb2YgdGhl IGVycm9ycyBhcmUgZmFsc2UgcG9zaXRpdmVzLCBwbGVhc2UgcmVwb3J0CiAgICAgIHRoZW0gdG8g dGhlIG1haW50YWluZXIsIHNlZSBDSEVDS1BBVENIIGluIE1BSU5UQUlORVJTLgoKCiMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBCdWlsZEtlcm5lbCAtIEZBSUwKRGVzYzogQnVp bGQgS2VybmVsIGZvciBCbHVldG9vdGgKT3V0cHV0OgoKbmV0L2JsdWV0b290aC9oY2lfY29kZWMu YzogSW4gZnVuY3Rpb24g4oCYaGNpX3JlYWRfc3VwcG9ydGVkX2NvZGVjc+KAmToKbmV0L2JsdWV0 b290aC9oY2lfY29kZWMuYzoxNTE6MjogZXJyb3I6IGFnZ3JlZ2F0ZSB2YWx1ZSB1c2VkIHdoZXJl IGFuIGludGVnZXIgd2FzIGV4cGVjdGVkCiAgMTUxIHwgIGlmIChza2ItPmxlbiA8IGZsZXhfYXJy YXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8ICBefgpJ biBmaWxlIGluY2x1ZGVkIGZyb20gLi9pbmNsdWRlL2xpbnV4L2JpdHMuaDozMiwKICAgICAgICAg ICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9yYXRlbGltaXRfdHlwZXMuaDo1LAogICAgICAg ICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L3ByaW50ay5oOjksCiAgICAgICAgICAgICAg ICAgZnJvbSAuL2luY2x1ZGUvYXNtLWdlbmVyaWMvYnVnLmg6MzEsCiAgICAgICAgICAgICAgICAg ZnJvbSAuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2J1Zy5oOjE5NSwKICAgICAgICAgICAgICAgICBm cm9tIC4vaW5jbHVkZS9saW51eC9rdGltZS5oOjI0LAogICAgICAgICAgICAgICAgIGZyb20gLi9p bmNsdWRlL2xpbnV4L3BvbGwuaDo3LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL25l dC9ibHVldG9vdGgvYmx1ZXRvb3RoLmg6MjYsCiAgICAgICAgICAgICAgICAgZnJvbSBuZXQvYmx1 ZXRvb3RoL2hjaV9jb2RlYy5jOjU6Ci4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjQyMDoxMTog ZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ICogKGhhdmUg4oCYc3RydWN0IGhjaV9z dGRfY29kZWNzX2hkcuKAmSBhbmQg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkpCiAgNDIwIHwgICAo Y291bnQpICogc2l6ZW9mKCoocCktPm1lbWJlcikgKyBfX211c3RfYmVfYXJyYXkoKHApLT5tZW1i ZXIpLCBcCiAgICAgIHwgICB+fn5+fn5+IF4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoxNTE6 MTc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhmbGV4X2FycmF5X3NpemXigJkKICAx NTEgfCAgaWYgKHNrYi0+bGVuIDwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBz dGRfY29kZWNzLT5udW0pCiAgICAgIHwgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fgpu ZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjE1MTo2MjogZXJyb3I6IGluY29tcGF0aWJsZSB0eXBl IGZvciBhcmd1bWVudCAxIG9mIOKAmHNpemVfbXVs4oCZCiAgMTUxIHwgIGlmIChza2ItPmxlbiA8 IGZsZXhfYXJyYXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+ fn5+fn5+fn5efn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBoY2lfc3RkX2Nv ZGVjc19oZHIKLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93Lmg6NDIxOjEyOiBub3RlOiBpbiBkZWZp bml0aW9uIG9mIG1hY3JvIOKAmGZsZXhfYXJyYXlfc2l6ZeKAmQogIDQyMSB8ICAgc2l6ZV9tdWwo Y291bnQsIHNpemVvZigqKHApLT5tZW1iZXIpICsgX19tdXN0X2JlX2FycmF5KChwKS0+bWVtYmVy KSkpCiAgICAgIHwgICAgICAgICAgICBefn5+fgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDoz MzA6NjA6IG5vdGU6IGV4cGVjdGVkIOKAmHNpemVfdOKAmSB7YWthIOKAmGxvbmcgdW5zaWduZWQg aW504oCZfSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3Nf aGRy4oCZCiAgMzMwIHwgc3RhdGljIF9fYWx3YXlzX2lubGluZSBzaXplX3QgX19tdXN0X2NoZWNr IHNpemVfbXVsKHNpemVfdCBmYWN0b3IxLCBzaXplX3QgZmFjdG9yMikKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fl5+fn5+ fn4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoxNTc6MTY6IGVycm9yOiBpbnZhbGlkIG9wZXJh bmRzIHRvIGJpbmFyeSA8IChoYXZlIOKAmGludOKAmSBhbmQg4oCYc3RydWN0IGhjaV9zdGRfY29k ZWNzX2hkcuKAmSkKICAxNTcgfCAgZm9yIChpID0gMDsgaSA8IHN0ZF9jb2RlY3MtPm51bTsgaSsr KSB7CiAgICAgIHwgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IGhjaV9zdGRfY29kZWNzX2hkcgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjE2 NDoyOiBlcnJvcjogYWdncmVnYXRlIHZhbHVlIHVzZWQgd2hlcmUgYW4gaW50ZWdlciB3YXMgZXhw ZWN0ZWQKICAxNjQgfCAgc2tiX3B1bGwoc2tiLCBmbGV4X2FycmF5X3NpemUoc3RkX2NvZGVjcywg Y29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAgICAgfCAgXn5+fn5+fn4KSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIC4vaW5jbHVkZS9saW51eC9iaXRzLmg6MzIsCiAgICAgICAgICAgICAgICAgZnJvbSAu L2luY2x1ZGUvbGludXgvcmF0ZWxpbWl0X3R5cGVzLmg6NSwKICAgICAgICAgICAgICAgICBmcm9t IC4vaW5jbHVkZS9saW51eC9wcmludGsuaDo5LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNs dWRlL2FzbS1nZW5lcmljL2J1Zy5oOjMxLAogICAgICAgICAgICAgICAgIGZyb20gLi9hcmNoL3g4 Ni9pbmNsdWRlL2FzbS9idWcuaDoxOTUsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUv bGludXgva3RpbWUuaDoyNCwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9w b2xsLmg6NywKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2Js dWV0b290aC5oOjI2LAogICAgICAgICAgICAgICAgIGZyb20gbmV0L2JsdWV0b290aC9oY2lfY29k ZWMuYzo1OgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDo0MjA6MTE6IGVycm9yOiBpbnZhbGlk IG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmHN0cnVjdCBoY2lfc3RkX2NvZGVjc19oZHLi gJkgYW5kIOKAmGxvbmcgdW5zaWduZWQgaW504oCZKQogIDQyMCB8ICAgKGNvdW50KSAqIHNpemVv ZigqKHApLT5tZW1iZXIpICsgX19tdXN0X2JlX2FycmF5KChwKS0+bWVtYmVyKSwgXAogICAgICB8 ICAgfn5+fn5+fiBeCm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MTY0OjE2OiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8g4oCYZmxleF9hcnJheV9zaXpl4oCZCiAgMTY0IHwgIHNrYl9wdWxs KHNrYiwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRfY29kZWNzLT5udW0p CiAgICAgIHwgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+Cm5ldC9ibHVldG9vdGgvaGNp X2NvZGVjLmM6MTY0OjYxOiBlcnJvcjogaW5jb21wYXRpYmxlIHR5cGUgZm9yIGFyZ3VtZW50IDEg b2Yg4oCYc2l6ZV9tdWzigJkKICAxNjQgfCAgc2tiX3B1bGwoc2tiLCBmbGV4X2FycmF5X3NpemUo c3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5efn5+fgogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfaGRyCi4vaW5jbHVkZS9s aW51eC9vdmVyZmxvdy5oOjQyMToxMjogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhm bGV4X2FycmF5X3NpemXigJkKICA0MjEgfCAgIHNpemVfbXVsKGNvdW50LCBzaXplb2YoKihwKS0+ bWVtYmVyKSArIF9fbXVzdF9iZV9hcnJheSgocCktPm1lbWJlcikpKQogICAgICB8ICAgICAgICAg ICAgXn5+fn4KLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93Lmg6MzMwOjYwOiBub3RlOiBleHBlY3Rl ZCDigJhzaXplX3TigJkge2FrYSDigJhsb25nIHVuc2lnbmVkIGludOKAmX0gYnV0IGFyZ3VtZW50 IGlzIG9mIHR5cGUg4oCYc3RydWN0IGhjaV9zdGRfY29kZWNzX2hkcuKAmQogIDMzMCB8IHN0YXRp YyBfX2Fsd2F5c19pbmxpbmUgc2l6ZV90IF9fbXVzdF9jaGVjayBzaXplX211bChzaXplX3QgZmFj dG9yMSwgc2l6ZV90IGZhY3RvcjIpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5efn5+fn5+Cm5ldC9ibHVldG9vdGgvaGNp X2NvZGVjLmM6IEluIGZ1bmN0aW9uIOKAmGhjaV9yZWFkX3N1cHBvcnRlZF9jb2RlY3NfdjLigJk6 Cm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MjIwOjI6IGVycm9yOiBhZ2dyZWdhdGUgdmFsdWUg dXNlZCB3aGVyZSBhbiBpbnRlZ2VyIHdhcyBleHBlY3RlZAogIDIyMCB8ICBpZiAoc2tiLT5sZW4g PCBmbGV4X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAg ICAgfCAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vaW5jbHVkZS9saW51eC9iaXRzLmg6MzIs CiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcmF0ZWxpbWl0X3R5cGVzLmg6 NSwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9wcmludGsuaDo5LAogICAg ICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2FzbS1nZW5lcmljL2J1Zy5oOjMxLAogICAgICAg ICAgICAgICAgIGZyb20gLi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9idWcuaDoxOTUsCiAgICAgICAg ICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgva3RpbWUuaDoyNCwKICAgICAgICAgICAgICAg ICBmcm9tIC4vaW5jbHVkZS9saW51eC9wb2xsLmg6NywKICAgICAgICAgICAgICAgICBmcm9tIC4v aW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2JsdWV0b290aC5oOjI2LAogICAgICAgICAgICAgICAgIGZy b20gbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzo1OgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cu aDo0MjA6MTE6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmHN0 cnVjdCBoY2lfc3RkX2NvZGVjc192Ml9oZHLigJkgYW5kIOKAmGxvbmcgdW5zaWduZWQgaW504oCZ KQogIDQyMCB8ICAgKGNvdW50KSAqIHNpemVvZigqKHApLT5tZW1iZXIpICsgX19tdXN0X2JlX2Fy cmF5KChwKS0+bWVtYmVyKSwgXAogICAgICB8ICAgfn5+fn5+fiBeCm5ldC9ibHVldG9vdGgvaGNp X2NvZGVjLmM6MjIwOjE3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYZmxleF9hcnJh eV9zaXpl4oCZCiAgMjIwIHwgIGlmIChza2ItPmxlbiA8IGZsZXhfYXJyYXlfc2l6ZShzdGRfY29k ZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8ICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fn4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoyMjA6NjI6IGVycm9yOiBpbmNv bXBhdGlibGUgdHlwZSBmb3IgYXJndW1lbnQgMSBvZiDigJhzaXplX211bOKAmQogIDIyMCB8ICBp ZiAoc2tiLT5sZW4gPCBmbGV4X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2Rl Y3MtPm51bSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB+fn5+fn5+fn5+Xn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgaGNpX3N0ZF9jb2RlY3NfdjJfaGRyCi4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjQyMTox Mjogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhmbGV4X2FycmF5X3NpemXigJkKICA0 MjEgfCAgIHNpemVfbXVsKGNvdW50LCBzaXplb2YoKihwKS0+bWVtYmVyKSArIF9fbXVzdF9iZV9h cnJheSgocCktPm1lbWJlcikpKQogICAgICB8ICAgICAgICAgICAgXn5+fn4KLi9pbmNsdWRlL2xp bnV4L292ZXJmbG93Lmg6MzMwOjYwOiBub3RlOiBleHBlY3RlZCDigJhzaXplX3TigJkge2FrYSDi gJhsb25nIHVuc2lnbmVkIGludOKAmX0gYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0 IGhjaV9zdGRfY29kZWNzX3YyX2hkcuKAmQogIDMzMCB8IHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUg c2l6ZV90IF9fbXVzdF9jaGVjayBzaXplX211bChzaXplX3QgZmFjdG9yMSwgc2l6ZV90IGZhY3Rv cjIpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH5+fn5+fn5efn5+fn5+Cm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MjI2OjE2OiBl cnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgPCAoaGF2ZSDigJhpbnTigJkgYW5kIOKA mHN0cnVjdCBoY2lfc3RkX2NvZGVjc192Ml9oZHLigJkpCiAgMjI2IHwgIGZvciAoaSA9IDA7IGkg PCBzdGRfY29kZWNzLT5udW07IGkrKykgewogICAgICB8ICAgICAgICAgICAgICAgIF4gfn5+fn5+ fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBoY2lfc3RkX2NvZGVjc192Ml9oZHIKbmV0 L2JsdWV0b290aC9oY2lfY29kZWMuYzoyMzI6MjogZXJyb3I6IGFnZ3JlZ2F0ZSB2YWx1ZSB1c2Vk IHdoZXJlIGFuIGludGVnZXIgd2FzIGV4cGVjdGVkCiAgMjMyIHwgIHNrYl9wdWxsKHNrYiwgZmxl eF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRfY29kZWNzLT5udW0pCiAgICAgIHwg IF5+fn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuL2luY2x1ZGUvbGludXgvYml0cy5oOjMy LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L3JhdGVsaW1pdF90eXBlcy5o OjUsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcHJpbnRrLmg6OSwKICAg ICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9hc20tZ2VuZXJpYy9idWcuaDozMSwKICAgICAg ICAgICAgICAgICBmcm9tIC4vYXJjaC94ODYvaW5jbHVkZS9hc20vYnVnLmg6MTk1LAogICAgICAg ICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L2t0aW1lLmg6MjQsCiAgICAgICAgICAgICAg ICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcG9sbC5oOjcsCiAgICAgICAgICAgICAgICAgZnJvbSAu L2luY2x1ZGUvbmV0L2JsdWV0b290aC9ibHVldG9vdGguaDoyNiwKICAgICAgICAgICAgICAgICBm cm9tIG5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6NToKLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93 Lmg6NDIwOjExOiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgKiAoaGF2ZSDigJhz dHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfdjJfaGRy4oCZIGFuZCDigJhsb25nIHVuc2lnbmVkIGludOKA mSkKICA0MjAgfCAgIChjb3VudCkgKiBzaXplb2YoKihwKS0+bWVtYmVyKSArIF9fbXVzdF9iZV9h cnJheSgocCktPm1lbWJlciksIFwKICAgICAgfCAgIH5+fn5+fn4gXgpuZXQvYmx1ZXRvb3RoL2hj aV9jb2RlYy5jOjIzMjoxNjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGZsZXhfYXJy YXlfc2l6ZeKAmQogIDIzMiB8ICBza2JfcHVsbChza2IsIGZsZXhfYXJyYXlfc2l6ZShzdGRfY29k ZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8ICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjIzMjo2MTogZXJyb3I6IGluY29t cGF0aWJsZSB0eXBlIGZvciBhcmd1bWVudCAxIG9mIOKAmHNpemVfbXVs4oCZCiAgMjMyIHwgIHNr Yl9wdWxsKHNrYiwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRfY29kZWNz LT5udW0pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB+fn5+fn5+fn5+Xn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGhj aV9zdGRfY29kZWNzX3YyX2hkcgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDo0MjE6MTI6IG5v dGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYZmxleF9hcnJheV9zaXpl4oCZCiAgNDIxIHwg ICBzaXplX211bChjb3VudCwgc2l6ZW9mKCoocCktPm1lbWJlcikgKyBfX211c3RfYmVfYXJyYXko KHApLT5tZW1iZXIpKSkKICAgICAgfCAgICAgICAgICAgIF5+fn5+Ci4vaW5jbHVkZS9saW51eC9v dmVyZmxvdy5oOjMzMDo2MDogbm90ZTogZXhwZWN0ZWQg4oCYc2l6ZV904oCZIHtha2Eg4oCYbG9u ZyB1bnNpZ25lZCBpbnTigJl9IGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBoY2lf c3RkX2NvZGVjc192Ml9oZHLigJkKICAzMzAgfCBzdGF0aWMgX19hbHdheXNfaW5saW5lIHNpemVf dCBfX211c3RfY2hlY2sgc2l6ZV9tdWwoc2l6ZV90IGZhY3RvcjEsIHNpemVfdCBmYWN0b3IyKQog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB+fn5+fn5+Xn5+fn5+fgptYWtlWzRdOiAqKiogW3NjcmlwdHMvTWFrZWZpbGUuYnVpbGQ6Mjg5 OiBuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5vXSBFcnJvciAxCm1ha2VbNF06ICoqKiBXYWl0aW5n IGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCm1ha2VbM106ICoqKiBbc2NyaXB0cy9NYWtlZmlsZS5i dWlsZDo1NDk6IG5ldC9ibHVldG9vdGhdIEVycm9yIDIKbWFrZVsyXTogKioqIFtzY3JpcHRzL01h a2VmaWxlLmJ1aWxkOjU0OTogbmV0XSBFcnJvciAyCm1ha2VbMl06ICoqKiBXYWl0aW5nIGZvciB1 bmZpbmlzaGVkIGpvYnMuLi4uCm1ha2VbMV06ICoqKiBbL2dpdGh1Yi93b3Jrc3BhY2Uvc3JjL3Ny Yy9NYWtlZmlsZToyMTg3OiAuXSBFcnJvciAyCm1ha2U6ICoqKiBbTWFrZWZpbGU6MjQ4OiBfX3N1 Yi1tYWtlXSBFcnJvciAyCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBDaGVj a0FsbFdhcm5pbmcgLSBGQUlMCkRlc2M6IFJ1biBsaW51eCBrZXJuZWwgd2l0aCBhbGwgd2Fybmlu ZyBlbmFibGVkCk91dHB1dDoKCm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6IEluIGZ1bmN0aW9u IOKAmGhjaV9yZWFkX3N1cHBvcnRlZF9jb2RlY3PigJk6Cm5ldC9ibHVldG9vdGgvaGNpX2NvZGVj LmM6MTUxOjI6IGVycm9yOiBhZ2dyZWdhdGUgdmFsdWUgdXNlZCB3aGVyZSBhbiBpbnRlZ2VyIHdh cyBleHBlY3RlZAogIDE1MSB8ICBpZiAoc2tiLT5sZW4gPCBmbGV4X2FycmF5X3NpemUoc3RkX2Nv ZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAgICAgfCAgXn4KSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIC4vaW5jbHVkZS9saW51eC9iaXRzLmg6MzIsCiAgICAgICAgICAgICAgICAgZnJvbSAu L2luY2x1ZGUvbGludXgvcmF0ZWxpbWl0X3R5cGVzLmg6NSwKICAgICAgICAgICAgICAgICBmcm9t IC4vaW5jbHVkZS9saW51eC9wcmludGsuaDo5LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNs dWRlL2FzbS1nZW5lcmljL2J1Zy5oOjMxLAogICAgICAgICAgICAgICAgIGZyb20gLi9hcmNoL3g4 Ni9pbmNsdWRlL2FzbS9idWcuaDoxOTUsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUv bGludXgva3RpbWUuaDoyNCwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9w b2xsLmg6NywKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2Js dWV0b290aC5oOjI2LAogICAgICAgICAgICAgICAgIGZyb20gbmV0L2JsdWV0b290aC9oY2lfY29k ZWMuYzo1OgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDo0MjA6MTE6IGVycm9yOiBpbnZhbGlk IG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmHN0cnVjdCBoY2lfc3RkX2NvZGVjc19oZHLi gJkgYW5kIOKAmGxvbmcgdW5zaWduZWQgaW504oCZKQogIDQyMCB8ICAgKGNvdW50KSAqIHNpemVv ZigqKHApLT5tZW1iZXIpICsgX19tdXN0X2JlX2FycmF5KChwKS0+bWVtYmVyKSwgXAogICAgICB8 ICAgfn5+fn5+fiBeCm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MTUxOjE3OiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8g4oCYZmxleF9hcnJheV9zaXpl4oCZCiAgMTUxIHwgIGlmIChza2It PmxlbiA8IGZsZXhfYXJyYXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVt KQogICAgICB8ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn4KbmV0L2JsdWV0b290aC9o Y2lfY29kZWMuYzoxNTE6NjI6IGVycm9yOiBpbmNvbXBhdGlibGUgdHlwZSBmb3IgYXJndW1lbnQg MSBvZiDigJhzaXplX211bOKAmQogIDE1MSB8ICBpZiAoc2tiLT5sZW4gPCBmbGV4X2FycmF5X3Np emUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+Xn5+fn4K ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfaGRyCi4vaW5j bHVkZS9saW51eC9vdmVyZmxvdy5oOjQyMToxMjogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNy byDigJhmbGV4X2FycmF5X3NpemXigJkKICA0MjEgfCAgIHNpemVfbXVsKGNvdW50LCBzaXplb2Yo KihwKS0+bWVtYmVyKSArIF9fbXVzdF9iZV9hcnJheSgocCktPm1lbWJlcikpKQogICAgICB8ICAg ICAgICAgICAgXn5+fn4KLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93Lmg6MzMwOjYwOiBub3RlOiBl eHBlY3RlZCDigJhzaXplX3TigJkge2FrYSDigJhsb25nIHVuc2lnbmVkIGludOKAmX0gYnV0IGFy Z3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IGhjaV9zdGRfY29kZWNzX2hkcuKAmQogIDMzMCB8 IHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgc2l6ZV90IF9fbXVzdF9jaGVjayBzaXplX211bChzaXpl X3QgZmFjdG9yMSwgc2l6ZV90IGZhY3RvcjIpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5efn5+fn5+Cm5ldC9ibHVldG9v dGgvaGNpX2NvZGVjLmM6MTU3OjE2OiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkg PCAoaGF2ZSDigJhpbnTigJkgYW5kIOKAmHN0cnVjdCBoY2lfc3RkX2NvZGVjc19oZHLigJkpCiAg MTU3IHwgIGZvciAoaSA9IDA7IGkgPCBzdGRfY29kZWNzLT5udW07IGkrKykgewogICAgICB8ICAg ICAgICAgICAgICAgIF4gfn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBoY2lf c3RkX2NvZGVjc19oZHIKbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoxNjQ6MjogZXJyb3I6IGFn Z3JlZ2F0ZSB2YWx1ZSB1c2VkIHdoZXJlIGFuIGludGVnZXIgd2FzIGV4cGVjdGVkCiAgMTY0IHwg IHNrYl9wdWxsKHNrYiwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRfY29k ZWNzLT5udW0pCiAgICAgIHwgIF5+fn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuL2luY2x1 ZGUvbGludXgvYml0cy5oOjMyLAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4 L3JhdGVsaW1pdF90eXBlcy5oOjUsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGlu dXgvcHJpbnRrLmg6OSwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9hc20tZ2VuZXJp Yy9idWcuaDozMSwKICAgICAgICAgICAgICAgICBmcm9tIC4vYXJjaC94ODYvaW5jbHVkZS9hc20v YnVnLmg6MTk1LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L2t0aW1lLmg6 MjQsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcG9sbC5oOjcsCiAgICAg ICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbmV0L2JsdWV0b290aC9ibHVldG9vdGguaDoyNiwK ICAgICAgICAgICAgICAgICBmcm9tIG5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6NToKLi9pbmNs dWRlL2xpbnV4L292ZXJmbG93Lmg6NDIwOjExOiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBi aW5hcnkgKiAoaGF2ZSDigJhzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfaGRy4oCZIGFuZCDigJhsb25n IHVuc2lnbmVkIGludOKAmSkKICA0MjAgfCAgIChjb3VudCkgKiBzaXplb2YoKihwKS0+bWVtYmVy KSArIF9fbXVzdF9iZV9hcnJheSgocCktPm1lbWJlciksIFwKICAgICAgfCAgIH5+fn5+fn4gXgpu ZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjE2NDoxNjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1h Y3JvIOKAmGZsZXhfYXJyYXlfc2l6ZeKAmQogIDE2NCB8ICBza2JfcHVsbChza2IsIGZsZXhfYXJy YXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8ICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjE2NDo2 MTogZXJyb3I6IGluY29tcGF0aWJsZSB0eXBlIGZvciBhcmd1bWVudCAxIG9mIOKAmHNpemVfbXVs 4oCZCiAgMTY0IHwgIHNrYl9wdWxsKHNrYiwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNv ZGVjLCBzdGRfY29kZWNzLT5udW0pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+Xn5+fn4KICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IGhjaV9zdGRfY29kZWNzX2hkcgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cu aDo0MjE6MTI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYZmxleF9hcnJheV9zaXpl 4oCZCiAgNDIxIHwgICBzaXplX211bChjb3VudCwgc2l6ZW9mKCoocCktPm1lbWJlcikgKyBfX211 c3RfYmVfYXJyYXkoKHApLT5tZW1iZXIpKSkKICAgICAgfCAgICAgICAgICAgIF5+fn5+Ci4vaW5j bHVkZS9saW51eC9vdmVyZmxvdy5oOjMzMDo2MDogbm90ZTogZXhwZWN0ZWQg4oCYc2l6ZV904oCZ IHtha2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9IGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKA mHN0cnVjdCBoY2lfc3RkX2NvZGVjc19oZHLigJkKICAzMzAgfCBzdGF0aWMgX19hbHdheXNfaW5s aW5lIHNpemVfdCBfX211c3RfY2hlY2sgc2l6ZV9tdWwoc2l6ZV90IGZhY3RvcjEsIHNpemVfdCBm YWN0b3IyKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB+fn5+fn5+Xn5+fn5+fgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOiBJbiBm dW5jdGlvbiDigJhoY2lfcmVhZF9zdXBwb3J0ZWRfY29kZWNzX3Yy4oCZOgpuZXQvYmx1ZXRvb3Ro L2hjaV9jb2RlYy5jOjIyMDoyOiBlcnJvcjogYWdncmVnYXRlIHZhbHVlIHVzZWQgd2hlcmUgYW4g aW50ZWdlciB3YXMgZXhwZWN0ZWQKICAyMjAgfCAgaWYgKHNrYi0+bGVuIDwgZmxleF9hcnJheV9z aXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRfY29kZWNzLT5udW0pCiAgICAgIHwgIF5+CkluIGZp bGUgaW5jbHVkZWQgZnJvbSAuL2luY2x1ZGUvbGludXgvYml0cy5oOjMyLAogICAgICAgICAgICAg ICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L3JhdGVsaW1pdF90eXBlcy5oOjUsCiAgICAgICAgICAg ICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcHJpbnRrLmg6OSwKICAgICAgICAgICAgICAgICBm cm9tIC4vaW5jbHVkZS9hc20tZ2VuZXJpYy9idWcuaDozMSwKICAgICAgICAgICAgICAgICBmcm9t IC4vYXJjaC94ODYvaW5jbHVkZS9hc20vYnVnLmg6MTk1LAogICAgICAgICAgICAgICAgIGZyb20g Li9pbmNsdWRlL2xpbnV4L2t0aW1lLmg6MjQsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1 ZGUvbGludXgvcG9sbC5oOjcsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbmV0L2Js dWV0b290aC9ibHVldG9vdGguaDoyNiwKICAgICAgICAgICAgICAgICBmcm9tIG5ldC9ibHVldG9v dGgvaGNpX2NvZGVjLmM6NToKLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93Lmg6NDIwOjExOiBlcnJv cjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgKiAoaGF2ZSDigJhzdHJ1Y3QgaGNpX3N0ZF9j b2RlY3NfdjJfaGRy4oCZIGFuZCDigJhsb25nIHVuc2lnbmVkIGludOKAmSkKICA0MjAgfCAgIChj b3VudCkgKiBzaXplb2YoKihwKS0+bWVtYmVyKSArIF9fbXVzdF9iZV9hcnJheSgocCktPm1lbWJl ciksIFwKICAgICAgfCAgIH5+fn5+fn4gXgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjIyMDox Nzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGZsZXhfYXJyYXlfc2l6ZeKAmQogIDIy MCB8ICBpZiAoc2tiLT5sZW4gPCBmbGV4X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0 ZF9jb2RlY3MtPm51bSkKICAgICAgfCAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+Cm5l dC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MjIwOjYyOiBlcnJvcjogaW5jb21wYXRpYmxlIHR5cGUg Zm9yIGFyZ3VtZW50IDEgb2Yg4oCYc2l6ZV9tdWzigJkKICAyMjAgfCAgaWYgKHNrYi0+bGVuIDwg ZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRfY29kZWNzLT5udW0pCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+ fn5+fn5+fl5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGhjaV9zdGRfY29k ZWNzX3YyX2hkcgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDo0MjE6MTI6IG5vdGU6IGluIGRl ZmluaXRpb24gb2YgbWFjcm8g4oCYZmxleF9hcnJheV9zaXpl4oCZCiAgNDIxIHwgICBzaXplX211 bChjb3VudCwgc2l6ZW9mKCoocCktPm1lbWJlcikgKyBfX211c3RfYmVfYXJyYXkoKHApLT5tZW1i ZXIpKSkKICAgICAgfCAgICAgICAgICAgIF5+fn5+Ci4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5o OjMzMDo2MDogbm90ZTogZXhwZWN0ZWQg4oCYc2l6ZV904oCZIHtha2Eg4oCYbG9uZyB1bnNpZ25l ZCBpbnTigJl9IGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBoY2lfc3RkX2NvZGVj c192Ml9oZHLigJkKICAzMzAgfCBzdGF0aWMgX19hbHdheXNfaW5saW5lIHNpemVfdCBfX211c3Rf Y2hlY2sgc2l6ZV9tdWwoc2l6ZV90IGZhY3RvcjEsIHNpemVfdCBmYWN0b3IyKQogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+ Xn5+fn5+fgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjIyNjoxNjogZXJyb3I6IGludmFsaWQg b3BlcmFuZHMgdG8gYmluYXJ5IDwgKGhhdmUg4oCYaW504oCZIGFuZCDigJhzdHJ1Y3QgaGNpX3N0 ZF9jb2RlY3NfdjJfaGRy4oCZKQogIDIyNiB8ICBmb3IgKGkgPSAwOyBpIDwgc3RkX2NvZGVjcy0+ bnVtOyBpKyspIHsKICAgICAgfCAgICAgICAgICAgICAgICBeIH5+fn5+fn5+fn5+fn5+fgogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfdjJfaGRyCm5ldC9ibHVldG9vdGgvaGNp X2NvZGVjLmM6MjMyOjI6IGVycm9yOiBhZ2dyZWdhdGUgdmFsdWUgdXNlZCB3aGVyZSBhbiBpbnRl Z2VyIHdhcyBleHBlY3RlZAogIDIzMiB8ICBza2JfcHVsbChza2IsIGZsZXhfYXJyYXlfc2l6ZShz dGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8ICBefn5+fn5+fgpJbiBm aWxlIGluY2x1ZGVkIGZyb20gLi9pbmNsdWRlL2xpbnV4L2JpdHMuaDozMiwKICAgICAgICAgICAg ICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9yYXRlbGltaXRfdHlwZXMuaDo1LAogICAgICAgICAg ICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L3ByaW50ay5oOjksCiAgICAgICAgICAgICAgICAg ZnJvbSAuL2luY2x1ZGUvYXNtLWdlbmVyaWMvYnVnLmg6MzEsCiAgICAgICAgICAgICAgICAgZnJv bSAuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2J1Zy5oOjE5NSwKICAgICAgICAgICAgICAgICBmcm9t IC4vaW5jbHVkZS9saW51eC9rdGltZS5oOjI0LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNs dWRlL2xpbnV4L3BvbGwuaDo3LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL25ldC9i bHVldG9vdGgvYmx1ZXRvb3RoLmg6MjYsCiAgICAgICAgICAgICAgICAgZnJvbSBuZXQvYmx1ZXRv b3RoL2hjaV9jb2RlYy5jOjU6Ci4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjQyMDoxMTogZXJy b3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ICogKGhhdmUg4oCYc3RydWN0IGhjaV9zdGRf Y29kZWNzX3YyX2hkcuKAmSBhbmQg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkpCiAgNDIwIHwgICAo Y291bnQpICogc2l6ZW9mKCoocCktPm1lbWJlcikgKyBfX211c3RfYmVfYXJyYXkoKHApLT5tZW1i ZXIpLCBcCiAgICAgIHwgICB+fn5+fn5+IF4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoyMzI6 MTY6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhmbGV4X2FycmF5X3NpemXigJkKICAy MzIgfCAgc2tiX3B1bGwoc2tiLCBmbGV4X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0 ZF9jb2RlY3MtPm51bSkKICAgICAgfCAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn4KbmV0 L2JsdWV0b290aC9oY2lfY29kZWMuYzoyMzI6NjE6IGVycm9yOiBpbmNvbXBhdGlibGUgdHlwZSBm b3IgYXJndW1lbnQgMSBvZiDigJhzaXplX211bOKAmQogIDIzMiB8ICBza2JfcHVsbChza2IsIGZs ZXhfYXJyYXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+ fn5+fl5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBoY2lfc3RkX2NvZGVjc192 Ml9oZHIKLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93Lmg6NDIxOjEyOiBub3RlOiBpbiBkZWZpbml0 aW9uIG9mIG1hY3JvIOKAmGZsZXhfYXJyYXlfc2l6ZeKAmQogIDQyMSB8ICAgc2l6ZV9tdWwoY291 bnQsIHNpemVvZigqKHApLT5tZW1iZXIpICsgX19tdXN0X2JlX2FycmF5KChwKS0+bWVtYmVyKSkp CiAgICAgIHwgICAgICAgICAgICBefn5+fgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDozMzA6 NjA6IG5vdGU6IGV4cGVjdGVkIOKAmHNpemVfdOKAmSB7YWthIOKAmGxvbmcgdW5zaWduZWQgaW50 4oCZfSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfdjJf aGRy4oCZCiAgMzMwIHwgc3RhdGljIF9fYWx3YXlzX2lubGluZSBzaXplX3QgX19tdXN0X2NoZWNr IHNpemVfbXVsKHNpemVfdCBmYWN0b3IxLCBzaXplX3QgZmFjdG9yMikKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fl5+fn5+ fn4KbWFrZVs0XTogKioqIFtzY3JpcHRzL01ha2VmaWxlLmJ1aWxkOjI4OTogbmV0L2JsdWV0b290 aC9oY2lfY29kZWMub10gRXJyb3IgMQptYWtlWzRdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hl ZCBqb2JzLi4uLgptYWtlWzNdOiAqKiogW3NjcmlwdHMvTWFrZWZpbGUuYnVpbGQ6NTQ5OiBuZXQv Ymx1ZXRvb3RoXSBFcnJvciAyCm1ha2VbMl06ICoqKiBbc2NyaXB0cy9NYWtlZmlsZS5idWlsZDo1 NDk6IG5ldF0gRXJyb3IgMgptYWtlWzJdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2Jz Li4uLgptYWtlWzFdOiAqKiogWy9naXRodWIvd29ya3NwYWNlL3NyYy9zcmMvTWFrZWZpbGU6MjE4 NzogLl0gRXJyb3IgMgptYWtlOiAqKiogW01ha2VmaWxlOjI0ODogX19zdWItbWFrZV0gRXJyb3Ig MgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogQ2hlY2tTcGFyc2UgLSBGQUlM CkRlc2M6IFJ1biBzcGFyc2UgdG9vbCB3aXRoIGxpbnV4IGtlcm5lbApPdXRwdXQ6CgovZ2l0aHVi L3dvcmtzcGFjZS9zcmMvc3JjL01ha2VmaWxlOjEyODM6IEM9MSBzcGVjaWZpZWQsIGJ1dCBzcGFy c2UgaXMgbm90IGF2YWlsYWJsZSBvciBub3QgdXAgdG8gZGF0ZQovZ2l0aHViL3dvcmtzcGFjZS9z cmMvc3JjL01ha2VmaWxlOjEyODM6IEM9MSBzcGVjaWZpZWQsIGJ1dCBzcGFyc2UgaXMgbm90IGF2 YWlsYWJsZSBvciBub3QgdXAgdG8gZGF0ZQpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOiBJbiBm dW5jdGlvbiDigJhoY2lfcmVhZF9zdXBwb3J0ZWRfY29kZWNz4oCZOgpuZXQvYmx1ZXRvb3RoL2hj aV9jb2RlYy5jOjE1MToyOiBlcnJvcjogYWdncmVnYXRlIHZhbHVlIHVzZWQgd2hlcmUgYW4gaW50 ZWdlciB3YXMgZXhwZWN0ZWQKICAxNTEgfCAgaWYgKHNrYi0+bGVuIDwgZmxleF9hcnJheV9zaXpl KHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRfY29kZWNzLT5udW0pCiAgICAgIHwgIF5+CkluIGZpbGUg aW5jbHVkZWQgZnJvbSAuL2luY2x1ZGUvbGludXgvYml0cy5oOjMyLAogICAgICAgICAgICAgICAg IGZyb20gLi9pbmNsdWRlL2xpbnV4L3JhdGVsaW1pdF90eXBlcy5oOjUsCiAgICAgICAgICAgICAg ICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcHJpbnRrLmg6OSwKICAgICAgICAgICAgICAgICBmcm9t IC4vaW5jbHVkZS9hc20tZ2VuZXJpYy9idWcuaDozMSwKICAgICAgICAgICAgICAgICBmcm9tIC4v YXJjaC94ODYvaW5jbHVkZS9hc20vYnVnLmg6MTk1LAogICAgICAgICAgICAgICAgIGZyb20gLi9p bmNsdWRlL2xpbnV4L2t0aW1lLmg6MjQsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUv bGludXgvcG9sbC5oOjcsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbmV0L2JsdWV0 b290aC9ibHVldG9vdGguaDoyNiwKICAgICAgICAgICAgICAgICBmcm9tIG5ldC9ibHVldG9vdGgv aGNpX2NvZGVjLmM6NToKLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93Lmg6NDIwOjExOiBlcnJvcjog aW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgKiAoaGF2ZSDigJhzdHJ1Y3QgaGNpX3N0ZF9jb2Rl Y3NfaGRy4oCZIGFuZCDigJhsb25nIHVuc2lnbmVkIGludOKAmSkKICA0MjAgfCAgIChjb3VudCkg KiBzaXplb2YoKihwKS0+bWVtYmVyKSArIF9fbXVzdF9iZV9hcnJheSgocCktPm1lbWJlciksIFwK ICAgICAgfCAgIH5+fn5+fn4gXgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjE1MToxNzogbm90 ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGZsZXhfYXJyYXlfc2l6ZeKAmQogIDE1MSB8ICBp ZiAoc2tiLT5sZW4gPCBmbGV4X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2Rl Y3MtPm51bSkKICAgICAgfCAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+Cm5ldC9ibHVl dG9vdGgvaGNpX2NvZGVjLmM6MTUxOjYyOiBlcnJvcjogaW5jb21wYXRpYmxlIHR5cGUgZm9yIGFy Z3VtZW50IDEgb2Yg4oCYc2l6ZV9tdWzigJkKICAxNTEgfCAgaWYgKHNrYi0+bGVuIDwgZmxleF9h cnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRfY29kZWNzLT5udW0pCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+ fl5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGhjaV9zdGRfY29kZWNzX2hk cgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDo0MjE6MTI6IG5vdGU6IGluIGRlZmluaXRpb24g b2YgbWFjcm8g4oCYZmxleF9hcnJheV9zaXpl4oCZCiAgNDIxIHwgICBzaXplX211bChjb3VudCwg c2l6ZW9mKCoocCktPm1lbWJlcikgKyBfX211c3RfYmVfYXJyYXkoKHApLT5tZW1iZXIpKSkKICAg ICAgfCAgICAgICAgICAgIF5+fn5+Ci4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjMzMDo2MDog bm90ZTogZXhwZWN0ZWQg4oCYc2l6ZV904oCZIHtha2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9 IGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBoY2lfc3RkX2NvZGVjc19oZHLigJkK ICAzMzAgfCBzdGF0aWMgX19hbHdheXNfaW5saW5lIHNpemVfdCBfX211c3RfY2hlY2sgc2l6ZV9t dWwoc2l6ZV90IGZhY3RvcjEsIHNpemVfdCBmYWN0b3IyKQogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+Xn5+fn5+fgpuZXQv Ymx1ZXRvb3RoL2hjaV9jb2RlYy5jOjE1NzoxNjogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8g YmluYXJ5IDwgKGhhdmUg4oCYaW504oCZIGFuZCDigJhzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfaGRy 4oCZKQogIDE1NyB8ICBmb3IgKGkgPSAwOyBpIDwgc3RkX2NvZGVjcy0+bnVtOyBpKyspIHsKICAg ICAgfCAgICAgICAgICAgICAgICBeIH5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgaGNpX3N0ZF9jb2RlY3NfaGRyCm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MTY0OjI6IGVy cm9yOiBhZ2dyZWdhdGUgdmFsdWUgdXNlZCB3aGVyZSBhbiBpbnRlZ2VyIHdhcyBleHBlY3RlZAog IDE2NCB8ICBza2JfcHVsbChza2IsIGZsZXhfYXJyYXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywg c3RkX2NvZGVjcy0+bnVtKQogICAgICB8ICBefn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20g Li9pbmNsdWRlL2xpbnV4L2JpdHMuaDozMiwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVk ZS9saW51eC9yYXRlbGltaXRfdHlwZXMuaDo1LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNs dWRlL2xpbnV4L3ByaW50ay5oOjksCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvYXNt LWdlbmVyaWMvYnVnLmg6MzEsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2FyY2gveDg2L2luY2x1 ZGUvYXNtL2J1Zy5oOjE5NSwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9r dGltZS5oOjI0LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L3BvbGwuaDo3 LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL25ldC9ibHVldG9vdGgvYmx1ZXRvb3Ro Lmg6MjYsCiAgICAgICAgICAgICAgICAgZnJvbSBuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjU6 Ci4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjQyMDoxMTogZXJyb3I6IGludmFsaWQgb3BlcmFu ZHMgdG8gYmluYXJ5ICogKGhhdmUg4oCYc3RydWN0IGhjaV9zdGRfY29kZWNzX2hkcuKAmSBhbmQg 4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkpCiAgNDIwIHwgICAoY291bnQpICogc2l6ZW9mKCoocCkt Pm1lbWJlcikgKyBfX211c3RfYmVfYXJyYXkoKHApLT5tZW1iZXIpLCBcCiAgICAgIHwgICB+fn5+ fn5+IF4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoxNjQ6MTY6IG5vdGU6IGluIGV4cGFuc2lv biBvZiBtYWNybyDigJhmbGV4X2FycmF5X3NpemXigJkKICAxNjQgfCAgc2tiX3B1bGwoc2tiLCBm bGV4X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAgICAg fCAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMu YzoxNjQ6NjE6IGVycm9yOiBpbmNvbXBhdGlibGUgdHlwZSBmb3IgYXJndW1lbnQgMSBvZiDigJhz aXplX211bOKAmQogIDE2NCB8ICBza2JfcHVsbChza2IsIGZsZXhfYXJyYXlfc2l6ZShzdGRfY29k ZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fl5+fn5+CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBoY2lfc3RkX2NvZGVjc19oZHIKLi9pbmNsdWRlL2xpbnV4L292 ZXJmbG93Lmg6NDIxOjEyOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmGZsZXhfYXJy YXlfc2l6ZeKAmQogIDQyMSB8ICAgc2l6ZV9tdWwoY291bnQsIHNpemVvZigqKHApLT5tZW1iZXIp ICsgX19tdXN0X2JlX2FycmF5KChwKS0+bWVtYmVyKSkpCiAgICAgIHwgICAgICAgICAgICBefn5+ fgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDozMzA6NjA6IG5vdGU6IGV4cGVjdGVkIOKAmHNp emVfdOKAmSB7YWthIOKAmGxvbmcgdW5zaWduZWQgaW504oCZfSBidXQgYXJndW1lbnQgaXMgb2Yg dHlwZSDigJhzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfaGRy4oCZCiAgMzMwIHwgc3RhdGljIF9fYWx3 YXlzX2lubGluZSBzaXplX3QgX19tdXN0X2NoZWNrIHNpemVfbXVsKHNpemVfdCBmYWN0b3IxLCBz aXplX3QgZmFjdG9yMikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfn5+fn5+fl5+fn5+fn4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMu YzogSW4gZnVuY3Rpb24g4oCYaGNpX3JlYWRfc3VwcG9ydGVkX2NvZGVjc192MuKAmToKbmV0L2Js dWV0b290aC9oY2lfY29kZWMuYzoyMjA6MjogZXJyb3I6IGFnZ3JlZ2F0ZSB2YWx1ZSB1c2VkIHdo ZXJlIGFuIGludGVnZXIgd2FzIGV4cGVjdGVkCiAgMjIwIHwgIGlmIChza2ItPmxlbiA8IGZsZXhf YXJyYXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8ICBe fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi9pbmNsdWRlL2xpbnV4L2JpdHMuaDozMiwKICAgICAg ICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9yYXRlbGltaXRfdHlwZXMuaDo1LAogICAg ICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L3ByaW50ay5oOjksCiAgICAgICAgICAg ICAgICAgZnJvbSAuL2luY2x1ZGUvYXNtLWdlbmVyaWMvYnVnLmg6MzEsCiAgICAgICAgICAgICAg ICAgZnJvbSAuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2J1Zy5oOjE5NSwKICAgICAgICAgICAgICAg ICBmcm9tIC4vaW5jbHVkZS9saW51eC9rdGltZS5oOjI0LAogICAgICAgICAgICAgICAgIGZyb20g Li9pbmNsdWRlL2xpbnV4L3BvbGwuaDo3LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRl L25ldC9ibHVldG9vdGgvYmx1ZXRvb3RoLmg6MjYsCiAgICAgICAgICAgICAgICAgZnJvbSBuZXQv Ymx1ZXRvb3RoL2hjaV9jb2RlYy5jOjU6Ci4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjQyMDox MTogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ICogKGhhdmUg4oCYc3RydWN0IGhj aV9zdGRfY29kZWNzX3YyX2hkcuKAmSBhbmQg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkpCiAgNDIw IHwgICAoY291bnQpICogc2l6ZW9mKCoocCktPm1lbWJlcikgKyBfX211c3RfYmVfYXJyYXkoKHAp LT5tZW1iZXIpLCBcCiAgICAgIHwgICB+fn5+fn5+IF4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMu YzoyMjA6MTc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhmbGV4X2FycmF5X3NpemXi gJkKICAyMjAgfCAgaWYgKHNrYi0+bGVuIDwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNv ZGVjLCBzdGRfY29kZWNzLT5udW0pCiAgICAgIHwgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjIyMDo2MjogZXJyb3I6IGluY29tcGF0aWJs ZSB0eXBlIGZvciBhcmd1bWVudCAxIG9mIOKAmHNpemVfbXVs4oCZCiAgMjIwIHwgIGlmIChza2It PmxlbiA8IGZsZXhfYXJyYXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVt KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH5+fn5+fn5+fn5efn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBoY2lf c3RkX2NvZGVjc192Ml9oZHIKLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93Lmg6NDIxOjEyOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmGZsZXhfYXJyYXlfc2l6ZeKAmQogIDQyMSB8ICAg c2l6ZV9tdWwoY291bnQsIHNpemVvZigqKHApLT5tZW1iZXIpICsgX19tdXN0X2JlX2FycmF5KChw KS0+bWVtYmVyKSkpCiAgICAgIHwgICAgICAgICAgICBefn5+fgouL2luY2x1ZGUvbGludXgvb3Zl cmZsb3cuaDozMzA6NjA6IG5vdGU6IGV4cGVjdGVkIOKAmHNpemVfdOKAmSB7YWthIOKAmGxvbmcg dW5zaWduZWQgaW504oCZfSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgaGNpX3N0 ZF9jb2RlY3NfdjJfaGRy4oCZCiAgMzMwIHwgc3RhdGljIF9fYWx3YXlzX2lubGluZSBzaXplX3Qg X19tdXN0X2NoZWNrIHNpemVfbXVsKHNpemVfdCBmYWN0b3IxLCBzaXplX3QgZmFjdG9yMikKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fn5+fn5+fl5+fn5+fn4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoyMjY6MTY6IGVycm9yOiBp bnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSA8IChoYXZlIOKAmGludOKAmSBhbmQg4oCYc3RydWN0 IGhjaV9zdGRfY29kZWNzX3YyX2hkcuKAmSkKICAyMjYgfCAgZm9yIChpID0gMDsgaSA8IHN0ZF9j b2RlY3MtPm51bTsgaSsrKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fn5+ fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IGhjaV9zdGRfY29kZWNzX3YyX2hkcgpuZXQvYmx1ZXRv b3RoL2hjaV9jb2RlYy5jOjIzMjoyOiBlcnJvcjogYWdncmVnYXRlIHZhbHVlIHVzZWQgd2hlcmUg YW4gaW50ZWdlciB3YXMgZXhwZWN0ZWQKICAyMzIgfCAgc2tiX3B1bGwoc2tiLCBmbGV4X2FycmF5 X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAgICAgfCAgXn5+fn5+ fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vaW5jbHVkZS9saW51eC9iaXRzLmg6MzIsCiAgICAg ICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcmF0ZWxpbWl0X3R5cGVzLmg6NSwKICAg ICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9wcmludGsuaDo5LAogICAgICAgICAg ICAgICAgIGZyb20gLi9pbmNsdWRlL2FzbS1nZW5lcmljL2J1Zy5oOjMxLAogICAgICAgICAgICAg ICAgIGZyb20gLi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9idWcuaDoxOTUsCiAgICAgICAgICAgICAg ICAgZnJvbSAuL2luY2x1ZGUvbGludXgva3RpbWUuaDoyNCwKICAgICAgICAgICAgICAgICBmcm9t IC4vaW5jbHVkZS9saW51eC9wb2xsLmg6NywKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVk ZS9uZXQvYmx1ZXRvb3RoL2JsdWV0b290aC5oOjI2LAogICAgICAgICAgICAgICAgIGZyb20gbmV0 L2JsdWV0b290aC9oY2lfY29kZWMuYzo1OgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDo0MjA6 MTE6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmHN0cnVjdCBo Y2lfc3RkX2NvZGVjc192Ml9oZHLigJkgYW5kIOKAmGxvbmcgdW5zaWduZWQgaW504oCZKQogIDQy MCB8ICAgKGNvdW50KSAqIHNpemVvZigqKHApLT5tZW1iZXIpICsgX19tdXN0X2JlX2FycmF5KChw KS0+bWVtYmVyKSwgXAogICAgICB8ICAgfn5+fn5+fiBeCm5ldC9ibHVldG9vdGgvaGNpX2NvZGVj LmM6MjMyOjE2OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYZmxleF9hcnJheV9zaXpl 4oCZCiAgMjMyIHwgIHNrYl9wdWxsKHNrYiwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNv ZGVjLCBzdGRfY29kZWNzLT5udW0pCiAgICAgIHwgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+Cm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MjMyOjYxOiBlcnJvcjogaW5jb21wYXRpYmxl IHR5cGUgZm9yIGFyZ3VtZW50IDEgb2Yg4oCYc2l6ZV9tdWzigJkKICAyMzIgfCAgc2tiX3B1bGwo c2tiLCBmbGV4X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH5+fn5+fn5+fn5efn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaGNpX3N0ZF9j b2RlY3NfdjJfaGRyCi4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjQyMToxMjogbm90ZTogaW4g ZGVmaW5pdGlvbiBvZiBtYWNybyDigJhmbGV4X2FycmF5X3NpemXigJkKICA0MjEgfCAgIHNpemVf bXVsKGNvdW50LCBzaXplb2YoKihwKS0+bWVtYmVyKSArIF9fbXVzdF9iZV9hcnJheSgocCktPm1l bWJlcikpKQogICAgICB8ICAgICAgICAgICAgXn5+fn4KLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93 Lmg6MzMwOjYwOiBub3RlOiBleHBlY3RlZCDigJhzaXplX3TigJkge2FrYSDigJhsb25nIHVuc2ln bmVkIGludOKAmX0gYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IGhjaV9zdGRfY29k ZWNzX3YyX2hkcuKAmQogIDMzMCB8IHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgc2l6ZV90IF9fbXVz dF9jaGVjayBzaXplX211bChzaXplX3QgZmFjdG9yMSwgc2l6ZV90IGZhY3RvcjIpCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+ fn5efn5+fn5+Cm1ha2VbNF06ICoqKiBbc2NyaXB0cy9NYWtlZmlsZS5idWlsZDoyODk6IG5ldC9i bHVldG9vdGgvaGNpX2NvZGVjLm9dIEVycm9yIDEKbWFrZVs0XTogKioqIFdhaXRpbmcgZm9yIHVu ZmluaXNoZWQgam9icy4uLi4KbWFrZVszXTogKioqIFtzY3JpcHRzL01ha2VmaWxlLmJ1aWxkOjU0 OTogbmV0L2JsdWV0b290aF0gRXJyb3IgMgptYWtlWzJdOiAqKiogW3NjcmlwdHMvTWFrZWZpbGUu YnVpbGQ6NTQ5OiBuZXRdIEVycm9yIDIKbWFrZVsyXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNo ZWQgam9icy4uLi4KbWFrZVsxXTogKioqIFsvZ2l0aHViL3dvcmtzcGFjZS9zcmMvc3JjL01ha2Vm aWxlOjIxODc6IC5dIEVycm9yIDIKbWFrZTogKioqIFtNYWtlZmlsZToyNDg6IF9fc3ViLW1ha2Vd IEVycm9yIDIKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IEJ1aWxkS2VybmVs MzIgLSBGQUlMCkRlc2M6IEJ1aWxkIDMyYml0IEtlcm5lbCBmb3IgQmx1ZXRvb3RoCk91dHB1dDoK Cm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6IEluIGZ1bmN0aW9uIOKAmGhjaV9yZWFkX3N1cHBv cnRlZF9jb2RlY3PigJk6Cm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MTUxOjI6IGVycm9yOiBh Z2dyZWdhdGUgdmFsdWUgdXNlZCB3aGVyZSBhbiBpbnRlZ2VyIHdhcyBleHBlY3RlZAogIDE1MSB8 ICBpZiAoc2tiLT5sZW4gPCBmbGV4X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9j b2RlY3MtPm51bSkKICAgICAgfCAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vaW5jbHVkZS9s aW51eC9iaXRzLmg6MzIsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcmF0 ZWxpbWl0X3R5cGVzLmg6NSwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9w cmludGsuaDo5LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2FzbS1nZW5lcmljL2J1 Zy5oOjMxLAogICAgICAgICAgICAgICAgIGZyb20gLi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9idWcu aDoxOTUsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgva3RpbWUuaDoyNCwK ICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9wb2xsLmg6NywKICAgICAgICAg ICAgICAgICBmcm9tIC4vaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2JsdWV0b290aC5oOjI2LAogICAg ICAgICAgICAgICAgIGZyb20gbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzo1OgouL2luY2x1ZGUv bGludXgvb3ZlcmZsb3cuaDo0MjA6MTE6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFy eSAqIChoYXZlIOKAmHN0cnVjdCBoY2lfc3RkX2NvZGVjc19oZHLigJkgYW5kIOKAmHVuc2lnbmVk IGludOKAmSkKICA0MjAgfCAgIChjb3VudCkgKiBzaXplb2YoKihwKS0+bWVtYmVyKSArIF9fbXVz dF9iZV9hcnJheSgocCktPm1lbWJlciksIFwKICAgICAgfCAgIH5+fn5+fn4gXgpuZXQvYmx1ZXRv b3RoL2hjaV9jb2RlYy5jOjE1MToxNzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGZs ZXhfYXJyYXlfc2l6ZeKAmQogIDE1MSB8ICBpZiAoc2tiLT5sZW4gPCBmbGV4X2FycmF5X3NpemUo c3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAgICAgfCAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+Cm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MTUxOjYyOiBlcnJv cjogaW5jb21wYXRpYmxlIHR5cGUgZm9yIGFyZ3VtZW50IDEgb2Yg4oCYc2l6ZV9tdWzigJkKICAx NTEgfCAgaWYgKHNrYi0+bGVuIDwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBz dGRfY29kZWNzLT5udW0pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fl5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IGhjaV9zdGRfY29kZWNzX2hkcgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDo0 MjE6MTI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYZmxleF9hcnJheV9zaXpl4oCZ CiAgNDIxIHwgICBzaXplX211bChjb3VudCwgc2l6ZW9mKCoocCktPm1lbWJlcikgKyBfX211c3Rf YmVfYXJyYXkoKHApLT5tZW1iZXIpKSkKICAgICAgfCAgICAgICAgICAgIF5+fn5+Ci4vaW5jbHVk ZS9saW51eC9vdmVyZmxvdy5oOjMzMDo2MDogbm90ZTogZXhwZWN0ZWQg4oCYc2l6ZV904oCZIHth a2Eg4oCYdW5zaWduZWQgaW504oCZfSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3Qg aGNpX3N0ZF9jb2RlY3NfaGRy4oCZCiAgMzMwIHwgc3RhdGljIF9fYWx3YXlzX2lubGluZSBzaXpl X3QgX19tdXN0X2NoZWNrIHNpemVfbXVsKHNpemVfdCBmYWN0b3IxLCBzaXplX3QgZmFjdG9yMikK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfn5+fn5+fl5+fn5+fn4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoxNTc6MTY6IGVycm9y OiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSA8IChoYXZlIOKAmGludOKAmSBhbmQg4oCYc3Ry dWN0IGhjaV9zdGRfY29kZWNzX2hkcuKAmSkKICAxNTcgfCAgZm9yIChpID0gMDsgaSA8IHN0ZF9j b2RlY3MtPm51bTsgaSsrKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fn5+ fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IGhjaV9zdGRfY29kZWNzX2hkcgpuZXQvYmx1ZXRvb3Ro L2hjaV9jb2RlYy5jOjE2NDoyOiBlcnJvcjogYWdncmVnYXRlIHZhbHVlIHVzZWQgd2hlcmUgYW4g aW50ZWdlciB3YXMgZXhwZWN0ZWQKICAxNjQgfCAgc2tiX3B1bGwoc2tiLCBmbGV4X2FycmF5X3Np emUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAgICAgfCAgXn5+fn5+fn4K SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vaW5jbHVkZS9saW51eC9iaXRzLmg6MzIsCiAgICAgICAg ICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcmF0ZWxpbWl0X3R5cGVzLmg6NSwKICAgICAg ICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9wcmludGsuaDo5LAogICAgICAgICAgICAg ICAgIGZyb20gLi9pbmNsdWRlL2FzbS1nZW5lcmljL2J1Zy5oOjMxLAogICAgICAgICAgICAgICAg IGZyb20gLi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9idWcuaDoxOTUsCiAgICAgICAgICAgICAgICAg ZnJvbSAuL2luY2x1ZGUvbGludXgva3RpbWUuaDoyNCwKICAgICAgICAgICAgICAgICBmcm9tIC4v aW5jbHVkZS9saW51eC9wb2xsLmg6NywKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9u ZXQvYmx1ZXRvb3RoL2JsdWV0b290aC5oOjI2LAogICAgICAgICAgICAgICAgIGZyb20gbmV0L2Js dWV0b290aC9oY2lfY29kZWMuYzo1OgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDo0MjA6MTE6 IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmHN0cnVjdCBoY2lf c3RkX2NvZGVjc19oZHLigJkgYW5kIOKAmHVuc2lnbmVkIGludOKAmSkKICA0MjAgfCAgIChjb3Vu dCkgKiBzaXplb2YoKihwKS0+bWVtYmVyKSArIF9fbXVzdF9iZV9hcnJheSgocCktPm1lbWJlciks IFwKICAgICAgfCAgIH5+fn5+fn4gXgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjE2NDoxNjog bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGZsZXhfYXJyYXlfc2l6ZeKAmQogIDE2NCB8 ICBza2JfcHVsbChza2IsIGZsZXhfYXJyYXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2Nv ZGVjcy0+bnVtKQogICAgICB8ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fgpuZXQvYmx1 ZXRvb3RoL2hjaV9jb2RlYy5jOjE2NDo2MTogZXJyb3I6IGluY29tcGF0aWJsZSB0eXBlIGZvciBh cmd1bWVudCAxIG9mIOKAmHNpemVfbXVs4oCZCiAgMTY0IHwgIHNrYl9wdWxsKHNrYiwgZmxleF9h cnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRfY29kZWNzLT5udW0pCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+ Xn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGhjaV9zdGRfY29kZWNzX2hkcgou L2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDo0MjE6MTI6IG5vdGU6IGluIGRlZmluaXRpb24gb2Yg bWFjcm8g4oCYZmxleF9hcnJheV9zaXpl4oCZCiAgNDIxIHwgICBzaXplX211bChjb3VudCwgc2l6 ZW9mKCoocCktPm1lbWJlcikgKyBfX211c3RfYmVfYXJyYXkoKHApLT5tZW1iZXIpKSkKICAgICAg fCAgICAgICAgICAgIF5+fn5+Ci4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjMzMDo2MDogbm90 ZTogZXhwZWN0ZWQg4oCYc2l6ZV904oCZIHtha2Eg4oCYdW5zaWduZWQgaW504oCZfSBidXQgYXJn dW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfaGRy4oCZCiAgMzMwIHwg c3RhdGljIF9fYWx3YXlzX2lubGluZSBzaXplX3QgX19tdXN0X2NoZWNrIHNpemVfbXVsKHNpemVf dCBmYWN0b3IxLCBzaXplX3QgZmFjdG9yMikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fl5+fn5+fn4KbmV0L2JsdWV0b290 aC9oY2lfY29kZWMuYzogSW4gZnVuY3Rpb24g4oCYaGNpX3JlYWRfc3VwcG9ydGVkX2NvZGVjc192 MuKAmToKbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoyMjA6MjogZXJyb3I6IGFnZ3JlZ2F0ZSB2 YWx1ZSB1c2VkIHdoZXJlIGFuIGludGVnZXIgd2FzIGV4cGVjdGVkCiAgMjIwIHwgIGlmIChza2It PmxlbiA8IGZsZXhfYXJyYXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVt KQogICAgICB8ICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi9pbmNsdWRlL2xpbnV4L2JpdHMu aDozMiwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9yYXRlbGltaXRfdHlw ZXMuaDo1LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L3ByaW50ay5oOjks CiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvYXNtLWdlbmVyaWMvYnVnLmg6MzEsCiAg ICAgICAgICAgICAgICAgZnJvbSAuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2J1Zy5oOjE5NSwKICAg ICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9rdGltZS5oOjI0LAogICAgICAgICAg ICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L3BvbGwuaDo3LAogICAgICAgICAgICAgICAgIGZy b20gLi9pbmNsdWRlL25ldC9ibHVldG9vdGgvYmx1ZXRvb3RoLmg6MjYsCiAgICAgICAgICAgICAg ICAgZnJvbSBuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjU6Ci4vaW5jbHVkZS9saW51eC9vdmVy Zmxvdy5oOjQyMDoxMTogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ICogKGhhdmUg 4oCYc3RydWN0IGhjaV9zdGRfY29kZWNzX3YyX2hkcuKAmSBhbmQg4oCYdW5zaWduZWQgaW504oCZ KQogIDQyMCB8ICAgKGNvdW50KSAqIHNpemVvZigqKHApLT5tZW1iZXIpICsgX19tdXN0X2JlX2Fy cmF5KChwKS0+bWVtYmVyKSwgXAogICAgICB8ICAgfn5+fn5+fiBeCm5ldC9ibHVldG9vdGgvaGNp X2NvZGVjLmM6MjIwOjE3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYZmxleF9hcnJh eV9zaXpl4oCZCiAgMjIwIHwgIGlmIChza2ItPmxlbiA8IGZsZXhfYXJyYXlfc2l6ZShzdGRfY29k ZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8ICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fn4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoyMjA6NjI6IGVycm9yOiBpbmNv bXBhdGlibGUgdHlwZSBmb3IgYXJndW1lbnQgMSBvZiDigJhzaXplX211bOKAmQogIDIyMCB8ICBp ZiAoc2tiLT5sZW4gPCBmbGV4X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2Rl Y3MtPm51bSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB+fn5+fn5+fn5+Xn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgaGNpX3N0ZF9jb2RlY3NfdjJfaGRyCi4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjQyMTox Mjogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhmbGV4X2FycmF5X3NpemXigJkKICA0 MjEgfCAgIHNpemVfbXVsKGNvdW50LCBzaXplb2YoKihwKS0+bWVtYmVyKSArIF9fbXVzdF9iZV9h cnJheSgocCktPm1lbWJlcikpKQogICAgICB8ICAgICAgICAgICAgXn5+fn4KLi9pbmNsdWRlL2xp bnV4L292ZXJmbG93Lmg6MzMwOjYwOiBub3RlOiBleHBlY3RlZCDigJhzaXplX3TigJkge2FrYSDi gJh1bnNpZ25lZCBpbnTigJl9IGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBoY2lf c3RkX2NvZGVjc192Ml9oZHLigJkKICAzMzAgfCBzdGF0aWMgX19hbHdheXNfaW5saW5lIHNpemVf dCBfX211c3RfY2hlY2sgc2l6ZV9tdWwoc2l6ZV90IGZhY3RvcjEsIHNpemVfdCBmYWN0b3IyKQog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB+fn5+fn5+Xn5+fn5+fgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjIyNjoxNjogZXJyb3I6 IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5IDwgKGhhdmUg4oCYaW504oCZIGFuZCDigJhzdHJ1 Y3QgaGNpX3N0ZF9jb2RlY3NfdjJfaGRy4oCZKQogIDIyNiB8ICBmb3IgKGkgPSAwOyBpIDwgc3Rk X2NvZGVjcy0+bnVtOyBpKyspIHsKICAgICAgfCAgICAgICAgICAgICAgICBeIH5+fn5+fn5+fn5+ fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfdjJfaGRyCm5ldC9ibHVl dG9vdGgvaGNpX2NvZGVjLmM6MjMyOjI6IGVycm9yOiBhZ2dyZWdhdGUgdmFsdWUgdXNlZCB3aGVy ZSBhbiBpbnRlZ2VyIHdhcyBleHBlY3RlZAogIDIzMiB8ICBza2JfcHVsbChza2IsIGZsZXhfYXJy YXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8ICBefn5+ fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi9pbmNsdWRlL2xpbnV4L2JpdHMuaDozMiwKICAg ICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9yYXRlbGltaXRfdHlwZXMuaDo1LAog ICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L3ByaW50ay5oOjksCiAgICAgICAg ICAgICAgICAgZnJvbSAuL2luY2x1ZGUvYXNtLWdlbmVyaWMvYnVnLmg6MzEsCiAgICAgICAgICAg ICAgICAgZnJvbSAuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2J1Zy5oOjE5NSwKICAgICAgICAgICAg ICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9rdGltZS5oOjI0LAogICAgICAgICAgICAgICAgIGZy b20gLi9pbmNsdWRlL2xpbnV4L3BvbGwuaDo3LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNs dWRlL25ldC9ibHVldG9vdGgvYmx1ZXRvb3RoLmg6MjYsCiAgICAgICAgICAgICAgICAgZnJvbSBu ZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjU6Ci4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjQy MDoxMTogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ICogKGhhdmUg4oCYc3RydWN0 IGhjaV9zdGRfY29kZWNzX3YyX2hkcuKAmSBhbmQg4oCYdW5zaWduZWQgaW504oCZKQogIDQyMCB8 ICAgKGNvdW50KSAqIHNpemVvZigqKHApLT5tZW1iZXIpICsgX19tdXN0X2JlX2FycmF5KChwKS0+ bWVtYmVyKSwgXAogICAgICB8ICAgfn5+fn5+fiBeCm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6 MjMyOjE2OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYZmxleF9hcnJheV9zaXpl4oCZ CiAgMjMyIHwgIHNrYl9wdWxsKHNrYiwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVj LCBzdGRfY29kZWNzLT5udW0pCiAgICAgIHwgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ Cm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MjMyOjYxOiBlcnJvcjogaW5jb21wYXRpYmxlIHR5 cGUgZm9yIGFyZ3VtZW50IDEgb2Yg4oCYc2l6ZV9tdWzigJkKICAyMzIgfCAgc2tiX3B1bGwoc2ti LCBmbGV4X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+ fn5+fn5+fn5efn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaGNpX3N0ZF9jb2Rl Y3NfdjJfaGRyCi4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjQyMToxMjogbm90ZTogaW4gZGVm aW5pdGlvbiBvZiBtYWNybyDigJhmbGV4X2FycmF5X3NpemXigJkKICA0MjEgfCAgIHNpemVfbXVs KGNvdW50LCBzaXplb2YoKihwKS0+bWVtYmVyKSArIF9fbXVzdF9iZV9hcnJheSgocCktPm1lbWJl cikpKQogICAgICB8ICAgICAgICAgICAgXn5+fn4KLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93Lmg6 MzMwOjYwOiBub3RlOiBleHBlY3RlZCDigJhzaXplX3TigJkge2FrYSDigJh1bnNpZ25lZCBpbnTi gJl9IGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBoY2lfc3RkX2NvZGVjc192Ml9o ZHLigJkKICAzMzAgfCBzdGF0aWMgX19hbHdheXNfaW5saW5lIHNpemVfdCBfX211c3RfY2hlY2sg c2l6ZV9tdWwoc2l6ZV90IGZhY3RvcjEsIHNpemVfdCBmYWN0b3IyKQogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+Xn5+fn5+ fgptYWtlWzRdOiAqKiogW3NjcmlwdHMvTWFrZWZpbGUuYnVpbGQ6Mjg5OiBuZXQvYmx1ZXRvb3Ro L2hjaV9jb2RlYy5vXSBFcnJvciAxCm1ha2VbM106ICoqKiBbc2NyaXB0cy9NYWtlZmlsZS5idWls ZDo1NDk6IG5ldC9ibHVldG9vdGhdIEVycm9yIDIKbWFrZVsyXTogKioqIFtzY3JpcHRzL01ha2Vm aWxlLmJ1aWxkOjU0OTogbmV0XSBFcnJvciAyCm1ha2VbMl06ICoqKiBXYWl0aW5nIGZvciB1bmZp bmlzaGVkIGpvYnMuLi4uCm1ha2VbMV06ICoqKiBbL2dpdGh1Yi93b3Jrc3BhY2Uvc3JjL3NyYy9N YWtlZmlsZToyMTg3OiAuXSBFcnJvciAyCm1ha2U6ICoqKiBbTWFrZWZpbGU6MjQ4OiBfX3N1Yi1t YWtlXSBFcnJvciAyCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBDaGVja0tl cm5lbExMVk0gLSBTS0lQCkRlc2M6IEJ1aWxkIGtlcm5lbCB3aXRoIExMVk0gKyBjb250ZXh0IGFu YWx5c2lzCk91dHB1dDoKQ2xhbmcgbm90IGZvdW5kCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIwpUZXN0OiBUZXN0UnVubmVyU2V0dXAgLSBGQUlMCkRlc2M6IFNldHVwIGtlcm5lbCBhbmQg Ymx1ZXogZm9yIHRlc3QtcnVubmVyCk91dHB1dDoKS2VybmVsOiAKbmV0L2JsdWV0b290aC9oY2lf Y29kZWMuYzogSW4gZnVuY3Rpb24g4oCYaGNpX3JlYWRfc3VwcG9ydGVkX2NvZGVjc+KAmToKbmV0 L2JsdWV0b290aC9oY2lfY29kZWMuYzoxNTE6MjogZXJyb3I6IGFnZ3JlZ2F0ZSB2YWx1ZSB1c2Vk IHdoZXJlIGFuIGludGVnZXIgd2FzIGV4cGVjdGVkCiAgMTUxIHwgIGlmIChza2ItPmxlbiA8IGZs ZXhfYXJyYXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8 ICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi9pbmNsdWRlL2xpbnV4L2JpdHMuaDozMiwKICAg ICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9yYXRlbGltaXRfdHlwZXMuaDo1LAog ICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L3ByaW50ay5oOjksCiAgICAgICAg ICAgICAgICAgZnJvbSAuL2luY2x1ZGUvYXNtLWdlbmVyaWMvYnVnLmg6MzEsCiAgICAgICAgICAg ICAgICAgZnJvbSAuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2J1Zy5oOjE5NSwKICAgICAgICAgICAg ICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9rdGltZS5oOjI0LAogICAgICAgICAgICAgICAgIGZy b20gLi9pbmNsdWRlL2xpbnV4L3BvbGwuaDo3LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNs dWRlL25ldC9ibHVldG9vdGgvYmx1ZXRvb3RoLmg6MjYsCiAgICAgICAgICAgICAgICAgZnJvbSBu ZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjU6Ci4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjQy MDoxMTogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ICogKGhhdmUg4oCYc3RydWN0 IGhjaV9zdGRfY29kZWNzX2hkcuKAmSBhbmQg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkpCiAgNDIw IHwgICAoY291bnQpICogc2l6ZW9mKCoocCktPm1lbWJlcikgKyBfX211c3RfYmVfYXJyYXkoKHAp LT5tZW1iZXIpLCBcCiAgICAgIHwgICB+fn5+fn5+IF4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMu YzoxNTE6MTc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhmbGV4X2FycmF5X3NpemXi gJkKICAxNTEgfCAgaWYgKHNrYi0+bGVuIDwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNv ZGVjLCBzdGRfY29kZWNzLT5udW0pCiAgICAgIHwgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjE1MTo2MjogZXJyb3I6IGluY29tcGF0aWJs ZSB0eXBlIGZvciBhcmd1bWVudCAxIG9mIOKAmHNpemVfbXVs4oCZCiAgMTUxIHwgIGlmIChza2It PmxlbiA8IGZsZXhfYXJyYXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVt KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH5+fn5+fn5+fn5efn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBoY2lf c3RkX2NvZGVjc19oZHIKLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93Lmg6NDIxOjEyOiBub3RlOiBp biBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmGZsZXhfYXJyYXlfc2l6ZeKAmQogIDQyMSB8ICAgc2l6 ZV9tdWwoY291bnQsIHNpemVvZigqKHApLT5tZW1iZXIpICsgX19tdXN0X2JlX2FycmF5KChwKS0+ bWVtYmVyKSkpCiAgICAgIHwgICAgICAgICAgICBefn5+fgouL2luY2x1ZGUvbGludXgvb3ZlcmZs b3cuaDozMzA6NjA6IG5vdGU6IGV4cGVjdGVkIOKAmHNpemVfdOKAmSB7YWthIOKAmGxvbmcgdW5z aWduZWQgaW504oCZfSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgaGNpX3N0ZF9j b2RlY3NfaGRy4oCZCiAgMzMwIHwgc3RhdGljIF9fYWx3YXlzX2lubGluZSBzaXplX3QgX19tdXN0 X2NoZWNrIHNpemVfbXVsKHNpemVfdCBmYWN0b3IxLCBzaXplX3QgZmFjdG9yMikKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+ fl5+fn5+fn4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoxNTc6MTY6IGVycm9yOiBpbnZhbGlk IG9wZXJhbmRzIHRvIGJpbmFyeSA8IChoYXZlIOKAmGludOKAmSBhbmQg4oCYc3RydWN0IGhjaV9z dGRfY29kZWNzX2hkcuKAmSkKICAxNTcgfCAgZm9yIChpID0gMDsgaSA8IHN0ZF9jb2RlY3MtPm51 bTsgaSsrKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fn5+fn4KICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IGhjaV9zdGRfY29kZWNzX2hkcgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2Rl Yy5jOjE2NDoyOiBlcnJvcjogYWdncmVnYXRlIHZhbHVlIHVzZWQgd2hlcmUgYW4gaW50ZWdlciB3 YXMgZXhwZWN0ZWQKICAxNjQgfCAgc2tiX3B1bGwoc2tiLCBmbGV4X2FycmF5X3NpemUoc3RkX2Nv ZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAgICAgfCAgXn5+fn5+fn4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC4vaW5jbHVkZS9saW51eC9iaXRzLmg6MzIsCiAgICAgICAgICAgICAgICAg ZnJvbSAuL2luY2x1ZGUvbGludXgvcmF0ZWxpbWl0X3R5cGVzLmg6NSwKICAgICAgICAgICAgICAg ICBmcm9tIC4vaW5jbHVkZS9saW51eC9wcmludGsuaDo5LAogICAgICAgICAgICAgICAgIGZyb20g Li9pbmNsdWRlL2FzbS1nZW5lcmljL2J1Zy5oOjMxLAogICAgICAgICAgICAgICAgIGZyb20gLi9h cmNoL3g4Ni9pbmNsdWRlL2FzbS9idWcuaDoxOTUsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2lu Y2x1ZGUvbGludXgva3RpbWUuaDoyNCwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9s aW51eC9wb2xsLmg6NywKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9uZXQvYmx1ZXRv b3RoL2JsdWV0b290aC5oOjI2LAogICAgICAgICAgICAgICAgIGZyb20gbmV0L2JsdWV0b290aC9o Y2lfY29kZWMuYzo1OgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDo0MjA6MTE6IGVycm9yOiBp bnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmHN0cnVjdCBoY2lfc3RkX2NvZGVj c19oZHLigJkgYW5kIOKAmGxvbmcgdW5zaWduZWQgaW504oCZKQogIDQyMCB8ICAgKGNvdW50KSAq IHNpemVvZigqKHApLT5tZW1iZXIpICsgX19tdXN0X2JlX2FycmF5KChwKS0+bWVtYmVyKSwgXAog ICAgICB8ICAgfn5+fn5+fiBeCm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MTY0OjE2OiBub3Rl OiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYZmxleF9hcnJheV9zaXpl4oCZCiAgMTY0IHwgIHNr Yl9wdWxsKHNrYiwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRfY29kZWNz LT5udW0pCiAgICAgIHwgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+Cm5ldC9ibHVldG9v dGgvaGNpX2NvZGVjLmM6MTY0OjYxOiBlcnJvcjogaW5jb21wYXRpYmxlIHR5cGUgZm9yIGFyZ3Vt ZW50IDEgb2Yg4oCYc2l6ZV9tdWzigJkKICAxNjQgfCAgc2tiX3B1bGwoc2tiLCBmbGV4X2FycmF5 X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5efn5+ fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfaGRyCi4vaW5j bHVkZS9saW51eC9vdmVyZmxvdy5oOjQyMToxMjogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNy byDigJhmbGV4X2FycmF5X3NpemXigJkKICA0MjEgfCAgIHNpemVfbXVsKGNvdW50LCBzaXplb2Yo KihwKS0+bWVtYmVyKSArIF9fbXVzdF9iZV9hcnJheSgocCktPm1lbWJlcikpKQogICAgICB8ICAg ICAgICAgICAgXn5+fn4KLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93Lmg6MzMwOjYwOiBub3RlOiBl eHBlY3RlZCDigJhzaXplX3TigJkge2FrYSDigJhsb25nIHVuc2lnbmVkIGludOKAmX0gYnV0IGFy Z3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IGhjaV9zdGRfY29kZWNzX2hkcuKAmQogIDMzMCB8 IHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgc2l6ZV90IF9fbXVzdF9jaGVjayBzaXplX211bChzaXpl X3QgZmFjdG9yMSwgc2l6ZV90IGZhY3RvcjIpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5efn5+fn5+Cm5ldC9ibHVldG9v dGgvaGNpX2NvZGVjLmM6IEluIGZ1bmN0aW9uIOKAmGhjaV9yZWFkX3N1cHBvcnRlZF9jb2RlY3Nf djLigJk6Cm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MjIwOjI6IGVycm9yOiBhZ2dyZWdhdGUg dmFsdWUgdXNlZCB3aGVyZSBhbiBpbnRlZ2VyIHdhcyBleHBlY3RlZAogIDIyMCB8ICBpZiAoc2ti LT5sZW4gPCBmbGV4X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51 bSkKICAgICAgfCAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vaW5jbHVkZS9saW51eC9iaXRz Lmg6MzIsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcmF0ZWxpbWl0X3R5 cGVzLmg6NSwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9wcmludGsuaDo5 LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2FzbS1nZW5lcmljL2J1Zy5oOjMxLAog ICAgICAgICAgICAgICAgIGZyb20gLi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9idWcuaDoxOTUsCiAg ICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgva3RpbWUuaDoyNCwKICAgICAgICAg ICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9wb2xsLmg6NywKICAgICAgICAgICAgICAgICBm cm9tIC4vaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2JsdWV0b290aC5oOjI2LAogICAgICAgICAgICAg ICAgIGZyb20gbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzo1OgouL2luY2x1ZGUvbGludXgvb3Zl cmZsb3cuaDo0MjA6MTE6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZl IOKAmHN0cnVjdCBoY2lfc3RkX2NvZGVjc192Ml9oZHLigJkgYW5kIOKAmGxvbmcgdW5zaWduZWQg aW504oCZKQogIDQyMCB8ICAgKGNvdW50KSAqIHNpemVvZigqKHApLT5tZW1iZXIpICsgX19tdXN0 X2JlX2FycmF5KChwKS0+bWVtYmVyKSwgXAogICAgICB8ICAgfn5+fn5+fiBeCm5ldC9ibHVldG9v dGgvaGNpX2NvZGVjLmM6MjIwOjE3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYZmxl eF9hcnJheV9zaXpl4oCZCiAgMjIwIHwgIGlmIChza2ItPmxlbiA8IGZsZXhfYXJyYXlfc2l6ZShz dGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8ICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoyMjA6NjI6IGVycm9y OiBpbmNvbXBhdGlibGUgdHlwZSBmb3IgYXJndW1lbnQgMSBvZiDigJhzaXplX211bOKAmQogIDIy MCB8ICBpZiAoc2tiLT5sZW4gPCBmbGV4X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0 ZF9jb2RlY3MtPm51bSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+Xn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfdjJfaGRyCi4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5o OjQyMToxMjogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhmbGV4X2FycmF5X3NpemXi gJkKICA0MjEgfCAgIHNpemVfbXVsKGNvdW50LCBzaXplb2YoKihwKS0+bWVtYmVyKSArIF9fbXVz dF9iZV9hcnJheSgocCktPm1lbWJlcikpKQogICAgICB8ICAgICAgICAgICAgXn5+fn4KLi9pbmNs dWRlL2xpbnV4L292ZXJmbG93Lmg6MzMwOjYwOiBub3RlOiBleHBlY3RlZCDigJhzaXplX3TigJkg e2FrYSDigJhsb25nIHVuc2lnbmVkIGludOKAmX0gYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCY c3RydWN0IGhjaV9zdGRfY29kZWNzX3YyX2hkcuKAmQogIDMzMCB8IHN0YXRpYyBfX2Fsd2F5c19p bmxpbmUgc2l6ZV90IF9fbXVzdF9jaGVjayBzaXplX211bChzaXplX3QgZmFjdG9yMSwgc2l6ZV90 IGZhY3RvcjIpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH5+fn5+fn5efn5+fn5+Cm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MjI2 OjE2OiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgPCAoaGF2ZSDigJhpbnTigJkg YW5kIOKAmHN0cnVjdCBoY2lfc3RkX2NvZGVjc192Ml9oZHLigJkpCiAgMjI2IHwgIGZvciAoaSA9 IDA7IGkgPCBzdGRfY29kZWNzLT5udW07IGkrKykgewogICAgICB8ICAgICAgICAgICAgICAgIF4g fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBoY2lfc3RkX2NvZGVjc192Ml9o ZHIKbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoyMzI6MjogZXJyb3I6IGFnZ3JlZ2F0ZSB2YWx1 ZSB1c2VkIHdoZXJlIGFuIGludGVnZXIgd2FzIGV4cGVjdGVkCiAgMjMyIHwgIHNrYl9wdWxsKHNr YiwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRfY29kZWNzLT5udW0pCiAg ICAgIHwgIF5+fn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuL2luY2x1ZGUvbGludXgvYml0 cy5oOjMyLAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L3JhdGVsaW1pdF90 eXBlcy5oOjUsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcHJpbnRrLmg6 OSwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9hc20tZ2VuZXJpYy9idWcuaDozMSwK ICAgICAgICAgICAgICAgICBmcm9tIC4vYXJjaC94ODYvaW5jbHVkZS9hc20vYnVnLmg6MTk1LAog ICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L2t0aW1lLmg6MjQsCiAgICAgICAg ICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcG9sbC5oOjcsCiAgICAgICAgICAgICAgICAg ZnJvbSAuL2luY2x1ZGUvbmV0L2JsdWV0b290aC9ibHVldG9vdGguaDoyNiwKICAgICAgICAgICAg ICAgICBmcm9tIG5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6NToKLi9pbmNsdWRlL2xpbnV4L292 ZXJmbG93Lmg6NDIwOjExOiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgKiAoaGF2 ZSDigJhzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfdjJfaGRy4oCZIGFuZCDigJhsb25nIHVuc2lnbmVk IGludOKAmSkKICA0MjAgfCAgIChjb3VudCkgKiBzaXplb2YoKihwKS0+bWVtYmVyKSArIF9fbXVz dF9iZV9hcnJheSgocCktPm1lbWJlciksIFwKICAgICAgfCAgIH5+fn5+fn4gXgpuZXQvYmx1ZXRv b3RoL2hjaV9jb2RlYy5jOjIzMjoxNjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGZs ZXhfYXJyYXlfc2l6ZeKAmQogIDIzMiB8ICBza2JfcHVsbChza2IsIGZsZXhfYXJyYXlfc2l6ZShz dGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8ICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjIzMjo2MTogZXJyb3I6 IGluY29tcGF0aWJsZSB0eXBlIGZvciBhcmd1bWVudCAxIG9mIOKAmHNpemVfbXVs4oCZCiAgMjMy IHwgIHNrYl9wdWxsKHNrYiwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRf Y29kZWNzLT5udW0pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB+fn5+fn5+fn5+Xn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IGhjaV9zdGRfY29kZWNzX3YyX2hkcgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDo0MjE6 MTI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYZmxleF9hcnJheV9zaXpl4oCZCiAg NDIxIHwgICBzaXplX211bChjb3VudCwgc2l6ZW9mKCoocCktPm1lbWJlcikgKyBfX211c3RfYmVf YXJyYXkoKHApLT5tZW1iZXIpKSkKICAgICAgfCAgICAgICAgICAgIF5+fn5+Ci4vaW5jbHVkZS9s aW51eC9vdmVyZmxvdy5oOjMzMDo2MDogbm90ZTogZXhwZWN0ZWQg4oCYc2l6ZV904oCZIHtha2Eg 4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9IGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVj dCBoY2lfc3RkX2NvZGVjc192Ml9oZHLigJkKICAzMzAgfCBzdGF0aWMgX19hbHdheXNfaW5saW5l IHNpemVfdCBfX211c3RfY2hlY2sgc2l6ZV9tdWwoc2l6ZV90IGZhY3RvcjEsIHNpemVfdCBmYWN0 b3IyKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB+fn5+fn5+Xn5+fn5+fgptYWtlWzRdOiAqKiogW3NjcmlwdHMvTWFrZWZpbGUuYnVp bGQ6Mjg5OiBuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5vXSBFcnJvciAxCm1ha2VbM106ICoqKiBb c2NyaXB0cy9NYWtlZmlsZS5idWlsZDo1NDk6IG5ldC9ibHVldG9vdGhdIEVycm9yIDIKbWFrZVsz XTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KbWFrZVsyXTogKioqIFtzY3Jp cHRzL01ha2VmaWxlLmJ1aWxkOjU0OTogbmV0XSBFcnJvciAyCm1ha2VbMl06ICoqKiBXYWl0aW5n IGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCm1ha2VbMV06ICoqKiBbL2dpdGh1Yi93b3Jrc3BhY2Uv c3JjL3NyYy9NYWtlZmlsZToyMTg3OiAuXSBFcnJvciAyCm1ha2U6ICoqKiBbTWFrZWZpbGU6MjQ4 OiBfX3N1Yi1tYWtlXSBFcnJvciAyCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0 OiBUZXN0UnVubmVyX2wyY2FwLXRlc3RlciAtIEZBSUwKRGVzYzogUnVuIGwyY2FwLXRlc3RlciB3 aXRoIHRlc3QtcnVubmVyCk91dHB1dDoKCk5vIGtlcm5lbCBpbWFnZSBmb3VuZAojIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogVGVzdFJ1bm5lcl9pc28tdGVzdGVyIC0gRkFJTApE ZXNjOiBSdW4gaXNvLXRlc3RlciB3aXRoIHRlc3QtcnVubmVyCk91dHB1dDoKCk5vIGtlcm5lbCBp bWFnZSBmb3VuZAojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogVGVzdFJ1bm5l cl9ibmVwLXRlc3RlciAtIEZBSUwKRGVzYzogUnVuIGJuZXAtdGVzdGVyIHdpdGggdGVzdC1ydW5u ZXIKT3V0cHV0OgoKTm8ga2VybmVsIGltYWdlIGZvdW5kCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIwpUZXN0OiBUZXN0UnVubmVyX21nbXQtdGVzdGVyIC0gRkFJTApEZXNjOiBSdW4gbWdt dC10ZXN0ZXIgd2l0aCB0ZXN0LXJ1bm5lcgpPdXRwdXQ6CgpObyBrZXJuZWwgaW1hZ2UgZm91bmQK IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IFRlc3RSdW5uZXJfcmZjb21tLXRl c3RlciAtIEZBSUwKRGVzYzogUnVuIHJmY29tbS10ZXN0ZXIgd2l0aCB0ZXN0LXJ1bm5lcgpPdXRw dXQ6CgpObyBrZXJuZWwgaW1hZ2UgZm91bmQKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj ClRlc3Q6IFRlc3RSdW5uZXJfc2NvLXRlc3RlciAtIEZBSUwKRGVzYzogUnVuIHNjby10ZXN0ZXIg d2l0aCB0ZXN0LXJ1bm5lcgpPdXRwdXQ6CgpObyBrZXJuZWwgaW1hZ2UgZm91bmQKIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IFRlc3RSdW5uZXJfaW9jdGwtdGVzdGVyIC0gRkFJ TApEZXNjOiBSdW4gaW9jdGwtdGVzdGVyIHdpdGggdGVzdC1ydW5uZXIKT3V0cHV0OgoKTm8ga2Vy bmVsIGltYWdlIGZvdW5kCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBUZXN0 UnVubmVyX21lc2gtdGVzdGVyIC0gRkFJTApEZXNjOiBSdW4gbWVzaC10ZXN0ZXIgd2l0aCB0ZXN0 LXJ1bm5lcgpPdXRwdXQ6CgpObyBrZXJuZWwgaW1hZ2UgZm91bmQKIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjClRlc3Q6IFRlc3RSdW5uZXJfc21wLXRlc3RlciAtIEZBSUwKRGVzYzogUnVu IHNtcC10ZXN0ZXIgd2l0aCB0ZXN0LXJ1bm5lcgpPdXRwdXQ6CgpObyBrZXJuZWwgaW1hZ2UgZm91 bmQKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IFRlc3RSdW5uZXJfdXNlcmNo YW4tdGVzdGVyIC0gRkFJTApEZXNjOiBSdW4gdXNlcmNoYW4tdGVzdGVyIHdpdGggdGVzdC1ydW5u ZXIKT3V0cHV0OgoKTm8ga2VybmVsIGltYWdlIGZvdW5kCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIwpUZXN0OiBUZXN0UnVubmVyXzZsb3dwYW4tdGVzdGVyIC0gRkFJTApEZXNjOiBSdW4g Nmxvd3Bhbi10ZXN0ZXIgd2l0aCB0ZXN0LXJ1bm5lcgpPdXRwdXQ6CgpObyBrZXJuZWwgaW1hZ2Ug Zm91bmQKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IEluY3JlbWVudGFsQnVp bGQgLSBGQUlMCkRlc2M6IEluY3JlbWVudGFsIGJ1aWxkIHdpdGggdGhlIHBhdGNoZXMgaW4gdGhl IHNlcmllcwpPdXRwdXQ6CgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOiBJbiBmdW5jdGlvbiDi gJhoY2lfcmVhZF9zdXBwb3J0ZWRfY29kZWNz4oCZOgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5j OjE1MToyOiBlcnJvcjogYWdncmVnYXRlIHZhbHVlIHVzZWQgd2hlcmUgYW4gaW50ZWdlciB3YXMg ZXhwZWN0ZWQKICAxNTEgfCAgaWYgKHNrYi0+bGVuIDwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2Rl Y3MsIGNvZGVjLCBzdGRfY29kZWNzLT5udW0pCiAgICAgIHwgIF5+CkluIGZpbGUgaW5jbHVkZWQg ZnJvbSAuL2luY2x1ZGUvbGludXgvYml0cy5oOjMyLAogICAgICAgICAgICAgICAgIGZyb20gLi9p bmNsdWRlL2xpbnV4L3JhdGVsaW1pdF90eXBlcy5oOjUsCiAgICAgICAgICAgICAgICAgZnJvbSAu L2luY2x1ZGUvbGludXgvcHJpbnRrLmg6OSwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVk ZS9hc20tZ2VuZXJpYy9idWcuaDozMSwKICAgICAgICAgICAgICAgICBmcm9tIC4vYXJjaC94ODYv aW5jbHVkZS9hc20vYnVnLmg6MTk1LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2xp bnV4L2t0aW1lLmg6MjQsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcG9s bC5oOjcsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbmV0L2JsdWV0b290aC9ibHVl dG9vdGguaDoyNiwKICAgICAgICAgICAgICAgICBmcm9tIG5ldC9ibHVldG9vdGgvaGNpX2NvZGVj LmM6NToKLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93Lmg6NDIwOjExOiBlcnJvcjogaW52YWxpZCBv cGVyYW5kcyB0byBiaW5hcnkgKiAoaGF2ZSDigJhzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfaGRy4oCZ IGFuZCDigJhsb25nIHVuc2lnbmVkIGludOKAmSkKICA0MjAgfCAgIChjb3VudCkgKiBzaXplb2Yo KihwKS0+bWVtYmVyKSArIF9fbXVzdF9iZV9hcnJheSgocCktPm1lbWJlciksIFwKICAgICAgfCAg IH5+fn5+fn4gXgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjE1MToxNzogbm90ZTogaW4gZXhw YW5zaW9uIG9mIG1hY3JvIOKAmGZsZXhfYXJyYXlfc2l6ZeKAmQogIDE1MSB8ICBpZiAoc2tiLT5s ZW4gPCBmbGV4X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkK ICAgICAgfCAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+Cm5ldC9ibHVldG9vdGgvaGNp X2NvZGVjLmM6MTUxOjYyOiBlcnJvcjogaW5jb21wYXRpYmxlIHR5cGUgZm9yIGFyZ3VtZW50IDEg b2Yg4oCYc2l6ZV9tdWzigJkKICAxNTEgfCAgaWYgKHNrYi0+bGVuIDwgZmxleF9hcnJheV9zaXpl KHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRfY29kZWNzLT5udW0pCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fl5+fn5+CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGhjaV9zdGRfY29kZWNzX2hkcgouL2luY2x1 ZGUvbGludXgvb3ZlcmZsb3cuaDo0MjE6MTI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g 4oCYZmxleF9hcnJheV9zaXpl4oCZCiAgNDIxIHwgICBzaXplX211bChjb3VudCwgc2l6ZW9mKCoo cCktPm1lbWJlcikgKyBfX211c3RfYmVfYXJyYXkoKHApLT5tZW1iZXIpKSkKICAgICAgfCAgICAg ICAgICAgIF5+fn5+Ci4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjMzMDo2MDogbm90ZTogZXhw ZWN0ZWQg4oCYc2l6ZV904oCZIHtha2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9IGJ1dCBhcmd1 bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBoY2lfc3RkX2NvZGVjc19oZHLigJkKICAzMzAgfCBz dGF0aWMgX19hbHdheXNfaW5saW5lIHNpemVfdCBfX211c3RfY2hlY2sgc2l6ZV9tdWwoc2l6ZV90 IGZhY3RvcjEsIHNpemVfdCBmYWN0b3IyKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+Xn5+fn5+fgpuZXQvYmx1ZXRvb3Ro L2hjaV9jb2RlYy5jOjE1NzoxNjogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5IDwg KGhhdmUg4oCYaW504oCZIGFuZCDigJhzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfaGRy4oCZKQogIDE1 NyB8ICBmb3IgKGkgPSAwOyBpIDwgc3RkX2NvZGVjcy0+bnVtOyBpKyspIHsKICAgICAgfCAgICAg ICAgICAgICAgICBeIH5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaGNpX3N0 ZF9jb2RlY3NfaGRyCm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MTY0OjI6IGVycm9yOiBhZ2dy ZWdhdGUgdmFsdWUgdXNlZCB3aGVyZSBhbiBpbnRlZ2VyIHdhcyBleHBlY3RlZAogIDE2NCB8ICBz a2JfcHVsbChza2IsIGZsZXhfYXJyYXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVj cy0+bnVtKQogICAgICB8ICBefn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi9pbmNsdWRl L2xpbnV4L2JpdHMuaDozMiwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9y YXRlbGltaXRfdHlwZXMuaDo1LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4 L3ByaW50ay5oOjksCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvYXNtLWdlbmVyaWMv YnVnLmg6MzEsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2J1 Zy5oOjE5NSwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9rdGltZS5oOjI0 LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L3BvbGwuaDo3LAogICAgICAg ICAgICAgICAgIGZyb20gLi9pbmNsdWRlL25ldC9ibHVldG9vdGgvYmx1ZXRvb3RoLmg6MjYsCiAg ICAgICAgICAgICAgICAgZnJvbSBuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjU6Ci4vaW5jbHVk ZS9saW51eC9vdmVyZmxvdy5oOjQyMDoxMTogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmlu YXJ5ICogKGhhdmUg4oCYc3RydWN0IGhjaV9zdGRfY29kZWNzX2hkcuKAmSBhbmQg4oCYbG9uZyB1 bnNpZ25lZCBpbnTigJkpCiAgNDIwIHwgICAoY291bnQpICogc2l6ZW9mKCoocCktPm1lbWJlcikg KyBfX211c3RfYmVfYXJyYXkoKHApLT5tZW1iZXIpLCBcCiAgICAgIHwgICB+fn5+fn5+IF4KbmV0 L2JsdWV0b290aC9oY2lfY29kZWMuYzoxNjQ6MTY6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNy byDigJhmbGV4X2FycmF5X3NpemXigJkKICAxNjQgfCAgc2tiX3B1bGwoc2tiLCBmbGV4X2FycmF5 X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAgICAgfCAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoxNjQ6NjE6 IGVycm9yOiBpbmNvbXBhdGlibGUgdHlwZSBmb3IgYXJndW1lbnQgMSBvZiDigJhzaXplX211bOKA mQogIDE2NCB8ICBza2JfcHVsbChza2IsIGZsZXhfYXJyYXlfc2l6ZShzdGRfY29kZWNzLCBjb2Rl Yywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fl5+fn5+CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCBoY2lfc3RkX2NvZGVjc19oZHIKLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93Lmg6 NDIxOjEyOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmGZsZXhfYXJyYXlfc2l6ZeKA mQogIDQyMSB8ICAgc2l6ZV9tdWwoY291bnQsIHNpemVvZigqKHApLT5tZW1iZXIpICsgX19tdXN0 X2JlX2FycmF5KChwKS0+bWVtYmVyKSkpCiAgICAgIHwgICAgICAgICAgICBefn5+fgouL2luY2x1 ZGUvbGludXgvb3ZlcmZsb3cuaDozMzA6NjA6IG5vdGU6IGV4cGVjdGVkIOKAmHNpemVfdOKAmSB7 YWthIOKAmGxvbmcgdW5zaWduZWQgaW504oCZfSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhz dHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfaGRy4oCZCiAgMzMwIHwgc3RhdGljIF9fYWx3YXlzX2lubGlu ZSBzaXplX3QgX19tdXN0X2NoZWNrIHNpemVfbXVsKHNpemVfdCBmYWN0b3IxLCBzaXplX3QgZmFj dG9yMikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfn5+fn5+fl5+fn5+fn4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzogSW4gZnVu Y3Rpb24g4oCYaGNpX3JlYWRfc3VwcG9ydGVkX2NvZGVjc192MuKAmToKbmV0L2JsdWV0b290aC9o Y2lfY29kZWMuYzoyMjA6MjogZXJyb3I6IGFnZ3JlZ2F0ZSB2YWx1ZSB1c2VkIHdoZXJlIGFuIGlu dGVnZXIgd2FzIGV4cGVjdGVkCiAgMjIwIHwgIGlmIChza2ItPmxlbiA8IGZsZXhfYXJyYXlfc2l6 ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8ICBefgpJbiBmaWxl IGluY2x1ZGVkIGZyb20gLi9pbmNsdWRlL2xpbnV4L2JpdHMuaDozMiwKICAgICAgICAgICAgICAg ICBmcm9tIC4vaW5jbHVkZS9saW51eC9yYXRlbGltaXRfdHlwZXMuaDo1LAogICAgICAgICAgICAg ICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L3ByaW50ay5oOjksCiAgICAgICAgICAgICAgICAgZnJv bSAuL2luY2x1ZGUvYXNtLWdlbmVyaWMvYnVnLmg6MzEsCiAgICAgICAgICAgICAgICAgZnJvbSAu L2FyY2gveDg2L2luY2x1ZGUvYXNtL2J1Zy5oOjE5NSwKICAgICAgICAgICAgICAgICBmcm9tIC4v aW5jbHVkZS9saW51eC9rdGltZS5oOjI0LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRl L2xpbnV4L3BvbGwuaDo3LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL25ldC9ibHVl dG9vdGgvYmx1ZXRvb3RoLmg6MjYsCiAgICAgICAgICAgICAgICAgZnJvbSBuZXQvYmx1ZXRvb3Ro L2hjaV9jb2RlYy5jOjU6Ci4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjQyMDoxMTogZXJyb3I6 IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ICogKGhhdmUg4oCYc3RydWN0IGhjaV9zdGRfY29k ZWNzX3YyX2hkcuKAmSBhbmQg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkpCiAgNDIwIHwgICAoY291 bnQpICogc2l6ZW9mKCoocCktPm1lbWJlcikgKyBfX211c3RfYmVfYXJyYXkoKHApLT5tZW1iZXIp LCBcCiAgICAgIHwgICB+fn5+fn5+IF4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoyMjA6MTc6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhmbGV4X2FycmF5X3NpemXigJkKICAyMjAg fCAgaWYgKHNrYi0+bGVuIDwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRf Y29kZWNzLT5udW0pCiAgICAgIHwgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fgpuZXQv Ymx1ZXRvb3RoL2hjaV9jb2RlYy5jOjIyMDo2MjogZXJyb3I6IGluY29tcGF0aWJsZSB0eXBlIGZv ciBhcmd1bWVudCAxIG9mIOKAmHNpemVfbXVs4oCZCiAgMjIwIHwgIGlmIChza2ItPmxlbiA8IGZs ZXhfYXJyYXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+ fn5+fn5efn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBoY2lfc3RkX2NvZGVj c192Ml9oZHIKLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93Lmg6NDIxOjEyOiBub3RlOiBpbiBkZWZp bml0aW9uIG9mIG1hY3JvIOKAmGZsZXhfYXJyYXlfc2l6ZeKAmQogIDQyMSB8ICAgc2l6ZV9tdWwo Y291bnQsIHNpemVvZigqKHApLT5tZW1iZXIpICsgX19tdXN0X2JlX2FycmF5KChwKS0+bWVtYmVy KSkpCiAgICAgIHwgICAgICAgICAgICBefn5+fgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDoz MzA6NjA6IG5vdGU6IGV4cGVjdGVkIOKAmHNpemVfdOKAmSB7YWthIOKAmGxvbmcgdW5zaWduZWQg aW504oCZfSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3Nf djJfaGRy4oCZCiAgMzMwIHwgc3RhdGljIF9fYWx3YXlzX2lubGluZSBzaXplX3QgX19tdXN0X2No ZWNrIHNpemVfbXVsKHNpemVfdCBmYWN0b3IxLCBzaXplX3QgZmFjdG9yMikKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fl5+ fn5+fn4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoyMjY6MTY6IGVycm9yOiBpbnZhbGlkIG9w ZXJhbmRzIHRvIGJpbmFyeSA8IChoYXZlIOKAmGludOKAmSBhbmQg4oCYc3RydWN0IGhjaV9zdGRf Y29kZWNzX3YyX2hkcuKAmSkKICAyMjYgfCAgZm9yIChpID0gMDsgaSA8IHN0ZF9jb2RlY3MtPm51 bTsgaSsrKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fn5+fn4KICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IGhjaV9zdGRfY29kZWNzX3YyX2hkcgpuZXQvYmx1ZXRvb3RoL2hjaV9j b2RlYy5jOjIzMjoyOiBlcnJvcjogYWdncmVnYXRlIHZhbHVlIHVzZWQgd2hlcmUgYW4gaW50ZWdl ciB3YXMgZXhwZWN0ZWQKICAyMzIgfCAgc2tiX3B1bGwoc2tiLCBmbGV4X2FycmF5X3NpemUoc3Rk X2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAgICAgfCAgXn5+fn5+fn4KSW4gZmls ZSBpbmNsdWRlZCBmcm9tIC4vaW5jbHVkZS9saW51eC9iaXRzLmg6MzIsCiAgICAgICAgICAgICAg ICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcmF0ZWxpbWl0X3R5cGVzLmg6NSwKICAgICAgICAgICAg ICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9wcmludGsuaDo5LAogICAgICAgICAgICAgICAgIGZy b20gLi9pbmNsdWRlL2FzbS1nZW5lcmljL2J1Zy5oOjMxLAogICAgICAgICAgICAgICAgIGZyb20g Li9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9idWcuaDoxOTUsCiAgICAgICAgICAgICAgICAgZnJvbSAu L2luY2x1ZGUvbGludXgva3RpbWUuaDoyNCwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVk ZS9saW51eC9wb2xsLmg6NywKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9uZXQvYmx1 ZXRvb3RoL2JsdWV0b290aC5oOjI2LAogICAgICAgICAgICAgICAgIGZyb20gbmV0L2JsdWV0b290 aC9oY2lfY29kZWMuYzo1OgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDo0MjA6MTE6IGVycm9y OiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmHN0cnVjdCBoY2lfc3RkX2Nv ZGVjc192Ml9oZHLigJkgYW5kIOKAmGxvbmcgdW5zaWduZWQgaW504oCZKQogIDQyMCB8ICAgKGNv dW50KSAqIHNpemVvZigqKHApLT5tZW1iZXIpICsgX19tdXN0X2JlX2FycmF5KChwKS0+bWVtYmVy KSwgXAogICAgICB8ICAgfn5+fn5+fiBeCm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MjMyOjE2 OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYZmxleF9hcnJheV9zaXpl4oCZCiAgMjMy IHwgIHNrYl9wdWxsKHNrYiwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRf Y29kZWNzLT5udW0pCiAgICAgIHwgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+Cm5ldC9i bHVldG9vdGgvaGNpX2NvZGVjLmM6MjMyOjYxOiBlcnJvcjogaW5jb21wYXRpYmxlIHR5cGUgZm9y IGFyZ3VtZW50IDEgb2Yg4oCYc2l6ZV9tdWzigJkKICAyMzIgfCAgc2tiX3B1bGwoc2tiLCBmbGV4 X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+ fn5efn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfdjJf aGRyCi4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjQyMToxMjogbm90ZTogaW4gZGVmaW5pdGlv biBvZiBtYWNybyDigJhmbGV4X2FycmF5X3NpemXigJkKICA0MjEgfCAgIHNpemVfbXVsKGNvdW50 LCBzaXplb2YoKihwKS0+bWVtYmVyKSArIF9fbXVzdF9iZV9hcnJheSgocCktPm1lbWJlcikpKQog ICAgICB8ICAgICAgICAgICAgXn5+fn4KLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93Lmg6MzMwOjYw OiBub3RlOiBleHBlY3RlZCDigJhzaXplX3TigJkge2FrYSDigJhsb25nIHVuc2lnbmVkIGludOKA mX0gYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IGhjaV9zdGRfY29kZWNzX3YyX2hk cuKAmQogIDMzMCB8IHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgc2l6ZV90IF9fbXVzdF9jaGVjayBz aXplX211bChzaXplX3QgZmFjdG9yMSwgc2l6ZV90IGZhY3RvcjIpCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5efn5+fn5+ Cm1ha2VbNF06ICoqKiBbc2NyaXB0cy9NYWtlZmlsZS5idWlsZDoyODk6IG5ldC9ibHVldG9vdGgv aGNpX2NvZGVjLm9dIEVycm9yIDEKbWFrZVs0XTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQg am9icy4uLi4KbWFrZVszXTogKioqIFtzY3JpcHRzL01ha2VmaWxlLmJ1aWxkOjU0OTogbmV0L2Js dWV0b290aF0gRXJyb3IgMgptYWtlWzJdOiAqKiogW3NjcmlwdHMvTWFrZWZpbGUuYnVpbGQ6NTQ5 OiBuZXRdIEVycm9yIDIKbWFrZVsyXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4u Li4KbWFrZVsxXTogKioqIFsvZ2l0aHViL3dvcmtzcGFjZS9zcmMvc3JjL01ha2VmaWxlOjIxODc6 IC5dIEVycm9yIDIKbWFrZTogKioqIFtNYWtlZmlsZToyNDg6IF9fc3ViLW1ha2VdIEVycm9yIDIK Qmx1ZXRvb3RoOiBoY2ktY29yZTogZml4ICJkZWNsYXJhdGlvbiBkb2VzIG5vdCBkZWNsYXJlIGFu eXRoaW5nIiBlcnJvcgoKbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzogSW4gZnVuY3Rpb24g4oCY aGNpX3JlYWRfc3VwcG9ydGVkX2NvZGVjc+KAmToKbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzox NTE6MjogZXJyb3I6IGFnZ3JlZ2F0ZSB2YWx1ZSB1c2VkIHdoZXJlIGFuIGludGVnZXIgd2FzIGV4 cGVjdGVkCiAgMTUxIHwgIGlmIChza2ItPmxlbiA8IGZsZXhfYXJyYXlfc2l6ZShzdGRfY29kZWNz LCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8ICBefgpJbiBmaWxlIGluY2x1ZGVkIGZy b20gLi9pbmNsdWRlL2xpbnV4L2JpdHMuaDozMiwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5j bHVkZS9saW51eC9yYXRlbGltaXRfdHlwZXMuaDo1LAogICAgICAgICAgICAgICAgIGZyb20gLi9p bmNsdWRlL2xpbnV4L3ByaW50ay5oOjksCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUv YXNtLWdlbmVyaWMvYnVnLmg6MzEsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2FyY2gveDg2L2lu Y2x1ZGUvYXNtL2J1Zy5oOjE5NSwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51 eC9rdGltZS5oOjI0LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2xpbnV4L3BvbGwu aDo3LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL25ldC9ibHVldG9vdGgvYmx1ZXRv b3RoLmg6MjYsCiAgICAgICAgICAgICAgICAgZnJvbSBuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5j OjU6Ci4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjQyMDoxMTogZXJyb3I6IGludmFsaWQgb3Bl cmFuZHMgdG8gYmluYXJ5ICogKGhhdmUg4oCYc3RydWN0IGhjaV9zdGRfY29kZWNzX2hkcuKAmSBh bmQg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkpCiAgNDIwIHwgICAoY291bnQpICogc2l6ZW9mKCoo cCktPm1lbWJlcikgKyBfX211c3RfYmVfYXJyYXkoKHApLT5tZW1iZXIpLCBcCiAgICAgIHwgICB+ fn5+fn5+IF4KbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzoxNTE6MTc6IG5vdGU6IGluIGV4cGFu c2lvbiBvZiBtYWNybyDigJhmbGV4X2FycmF5X3NpemXigJkKICAxNTEgfCAgaWYgKHNrYi0+bGVu IDwgZmxleF9hcnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRfY29kZWNzLT5udW0pCiAg ICAgIHwgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fgpuZXQvYmx1ZXRvb3RoL2hjaV9j b2RlYy5jOjE1MTo2MjogZXJyb3I6IGluY29tcGF0aWJsZSB0eXBlIGZvciBhcmd1bWVudCAxIG9m IOKAmHNpemVfbXVs4oCZCiAgMTUxIHwgIGlmIChza2ItPmxlbiA8IGZsZXhfYXJyYXlfc2l6ZShz dGRfY29kZWNzLCBjb2RlYywgc3RkX2NvZGVjcy0+bnVtKQogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5efn5+fgogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBoY2lfc3RkX2NvZGVjc19oZHIKLi9pbmNsdWRl L2xpbnV4L292ZXJmbG93Lmg6NDIxOjEyOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKA mGZsZXhfYXJyYXlfc2l6ZeKAmQogIDQyMSB8ICAgc2l6ZV9tdWwoY291bnQsIHNpemVvZigqKHAp LT5tZW1iZXIpICsgX19tdXN0X2JlX2FycmF5KChwKS0+bWVtYmVyKSkpCiAgICAgIHwgICAgICAg ICAgICBefn5+fgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDozMzA6NjA6IG5vdGU6IGV4cGVj dGVkIOKAmHNpemVfdOKAmSB7YWthIOKAmGxvbmcgdW5zaWduZWQgaW504oCZfSBidXQgYXJndW1l bnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfaGRy4oCZCiAgMzMwIHwgc3Rh dGljIF9fYWx3YXlzX2lubGluZSBzaXplX3QgX19tdXN0X2NoZWNrIHNpemVfbXVsKHNpemVfdCBm YWN0b3IxLCBzaXplX3QgZmFjdG9yMikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fl5+fn5+fn4KbmV0L2JsdWV0b290aC9o Y2lfY29kZWMuYzoxNTc6MTY6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSA8ICho YXZlIOKAmGludOKAmSBhbmQg4oCYc3RydWN0IGhjaV9zdGRfY29kZWNzX2hkcuKAmSkKICAxNTcg fCAgZm9yIChpID0gMDsgaSA8IHN0ZF9jb2RlY3MtPm51bTsgaSsrKSB7CiAgICAgIHwgICAgICAg ICAgICAgICAgXiB+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGhjaV9zdGRf Y29kZWNzX2hkcgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjE2NDoyOiBlcnJvcjogYWdncmVn YXRlIHZhbHVlIHVzZWQgd2hlcmUgYW4gaW50ZWdlciB3YXMgZXhwZWN0ZWQKICAxNjQgfCAgc2ti X3B1bGwoc2tiLCBmbGV4X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3Mt Pm51bSkKICAgICAgfCAgXn5+fn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vaW5jbHVkZS9s aW51eC9iaXRzLmg6MzIsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcmF0 ZWxpbWl0X3R5cGVzLmg6NSwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9w cmludGsuaDo5LAogICAgICAgICAgICAgICAgIGZyb20gLi9pbmNsdWRlL2FzbS1nZW5lcmljL2J1 Zy5oOjMxLAogICAgICAgICAgICAgICAgIGZyb20gLi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9idWcu aDoxOTUsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgva3RpbWUuaDoyNCwK ICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9saW51eC9wb2xsLmg6NywKICAgICAgICAg ICAgICAgICBmcm9tIC4vaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2JsdWV0b290aC5oOjI2LAogICAg ICAgICAgICAgICAgIGZyb20gbmV0L2JsdWV0b290aC9oY2lfY29kZWMuYzo1OgouL2luY2x1ZGUv bGludXgvb3ZlcmZsb3cuaDo0MjA6MTE6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFy eSAqIChoYXZlIOKAmHN0cnVjdCBoY2lfc3RkX2NvZGVjc19oZHLigJkgYW5kIOKAmGxvbmcgdW5z aWduZWQgaW504oCZKQogIDQyMCB8ICAgKGNvdW50KSAqIHNpemVvZigqKHApLT5tZW1iZXIpICsg X19tdXN0X2JlX2FycmF5KChwKS0+bWVtYmVyKSwgXAogICAgICB8ICAgfn5+fn5+fiBeCm5ldC9i bHVldG9vdGgvaGNpX2NvZGVjLmM6MTY0OjE2OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g 4oCYZmxleF9hcnJheV9zaXpl4oCZCiAgMTY0IHwgIHNrYl9wdWxsKHNrYiwgZmxleF9hcnJheV9z aXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRfY29kZWNzLT5udW0pCiAgICAgIHwgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+Cm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MTY0OjYxOiBl cnJvcjogaW5jb21wYXRpYmxlIHR5cGUgZm9yIGFyZ3VtZW50IDEgb2Yg4oCYc2l6ZV9tdWzigJkK ICAxNjQgfCAgc2tiX3B1bGwoc2tiLCBmbGV4X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMs IHN0ZF9jb2RlY3MtPm51bSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5efn5+fgogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3NfaGRyCi4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjQy MToxMjogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhmbGV4X2FycmF5X3NpemXigJkK ICA0MjEgfCAgIHNpemVfbXVsKGNvdW50LCBzaXplb2YoKihwKS0+bWVtYmVyKSArIF9fbXVzdF9i ZV9hcnJheSgocCktPm1lbWJlcikpKQogICAgICB8ICAgICAgICAgICAgXn5+fn4KLi9pbmNsdWRl L2xpbnV4L292ZXJmbG93Lmg6MzMwOjYwOiBub3RlOiBleHBlY3RlZCDigJhzaXplX3TigJkge2Fr YSDigJhsb25nIHVuc2lnbmVkIGludOKAmX0gYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3Ry dWN0IGhjaV9zdGRfY29kZWNzX2hkcuKAmQogIDMzMCB8IHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUg c2l6ZV90IF9fbXVzdF9jaGVjayBzaXplX211bChzaXplX3QgZmFjdG9yMSwgc2l6ZV90IGZhY3Rv cjIpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH5+fn5+fn5efn5+fn5+Cm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6IEluIGZ1bmN0 aW9uIOKAmGhjaV9yZWFkX3N1cHBvcnRlZF9jb2RlY3NfdjLigJk6Cm5ldC9ibHVldG9vdGgvaGNp X2NvZGVjLmM6MjIwOjI6IGVycm9yOiBhZ2dyZWdhdGUgdmFsdWUgdXNlZCB3aGVyZSBhbiBpbnRl Z2VyIHdhcyBleHBlY3RlZAogIDIyMCB8ICBpZiAoc2tiLT5sZW4gPCBmbGV4X2FycmF5X3NpemUo c3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAgICAgfCAgXn4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC4vaW5jbHVkZS9saW51eC9iaXRzLmg6MzIsCiAgICAgICAgICAgICAgICAg ZnJvbSAuL2luY2x1ZGUvbGludXgvcmF0ZWxpbWl0X3R5cGVzLmg6NSwKICAgICAgICAgICAgICAg ICBmcm9tIC4vaW5jbHVkZS9saW51eC9wcmludGsuaDo5LAogICAgICAgICAgICAgICAgIGZyb20g Li9pbmNsdWRlL2FzbS1nZW5lcmljL2J1Zy5oOjMxLAogICAgICAgICAgICAgICAgIGZyb20gLi9h cmNoL3g4Ni9pbmNsdWRlL2FzbS9idWcuaDoxOTUsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2lu Y2x1ZGUvbGludXgva3RpbWUuaDoyNCwKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9s aW51eC9wb2xsLmg6NywKICAgICAgICAgICAgICAgICBmcm9tIC4vaW5jbHVkZS9uZXQvYmx1ZXRv b3RoL2JsdWV0b290aC5oOjI2LAogICAgICAgICAgICAgICAgIGZyb20gbmV0L2JsdWV0b290aC9o Y2lfY29kZWMuYzo1OgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDo0MjA6MTE6IGVycm9yOiBp bnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmHN0cnVjdCBoY2lfc3RkX2NvZGVj c192Ml9oZHLigJkgYW5kIOKAmGxvbmcgdW5zaWduZWQgaW504oCZKQogIDQyMCB8ICAgKGNvdW50 KSAqIHNpemVvZigqKHApLT5tZW1iZXIpICsgX19tdXN0X2JlX2FycmF5KChwKS0+bWVtYmVyKSwg XAogICAgICB8ICAgfn5+fn5+fiBeCm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MjIwOjE3OiBu b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYZmxleF9hcnJheV9zaXpl4oCZCiAgMjIwIHwg IGlmIChza2ItPmxlbiA8IGZsZXhfYXJyYXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2Nv ZGVjcy0+bnVtKQogICAgICB8ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn4KbmV0L2Js dWV0b290aC9oY2lfY29kZWMuYzoyMjA6NjI6IGVycm9yOiBpbmNvbXBhdGlibGUgdHlwZSBmb3Ig YXJndW1lbnQgMSBvZiDigJhzaXplX211bOKAmQogIDIyMCB8ICBpZiAoc2tiLT5sZW4gPCBmbGV4 X2FycmF5X3NpemUoc3RkX2NvZGVjcywgY29kZWMsIHN0ZF9jb2RlY3MtPm51bSkKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+ fn5+Xn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaGNpX3N0ZF9jb2RlY3Nf djJfaGRyCi4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjQyMToxMjogbm90ZTogaW4gZGVmaW5p dGlvbiBvZiBtYWNybyDigJhmbGV4X2FycmF5X3NpemXigJkKICA0MjEgfCAgIHNpemVfbXVsKGNv dW50LCBzaXplb2YoKihwKS0+bWVtYmVyKSArIF9fbXVzdF9iZV9hcnJheSgocCktPm1lbWJlcikp KQogICAgICB8ICAgICAgICAgICAgXn5+fn4KLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93Lmg6MzMw OjYwOiBub3RlOiBleHBlY3RlZCDigJhzaXplX3TigJkge2FrYSDigJhsb25nIHVuc2lnbmVkIGlu dOKAmX0gYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IGhjaV9zdGRfY29kZWNzX3Yy X2hkcuKAmQogIDMzMCB8IHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgc2l6ZV90IF9fbXVzdF9jaGVj ayBzaXplX211bChzaXplX3QgZmFjdG9yMSwgc2l6ZV90IGZhY3RvcjIpCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5efn5+ fn5+Cm5ldC9ibHVldG9vdGgvaGNpX2NvZGVjLmM6MjI2OjE2OiBlcnJvcjogaW52YWxpZCBvcGVy YW5kcyB0byBiaW5hcnkgPCAoaGF2ZSDigJhpbnTigJkgYW5kIOKAmHN0cnVjdCBoY2lfc3RkX2Nv ZGVjc192Ml9oZHLigJkpCiAgMjI2IHwgIGZvciAoaSA9IDA7IGkgPCBzdGRfY29kZWNzLT5udW07 IGkrKykgewogICAgICB8ICAgICAgICAgICAgICAgIF4gfn5+fn5+fn5+fn5+fn5+CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBoY2lfc3RkX2NvZGVjc192Ml9oZHIKbmV0L2JsdWV0b290aC9oY2lfY29k ZWMuYzoyMzI6MjogZXJyb3I6IGFnZ3JlZ2F0ZSB2YWx1ZSB1c2VkIHdoZXJlIGFuIGludGVnZXIg d2FzIGV4cGVjdGVkCiAgMjMyIHwgIHNrYl9wdWxsKHNrYiwgZmxleF9hcnJheV9zaXplKHN0ZF9j b2RlY3MsIGNvZGVjLCBzdGRfY29kZWNzLT5udW0pCiAgICAgIHwgIF5+fn5+fn5+CkluIGZpbGUg aW5jbHVkZWQgZnJvbSAuL2luY2x1ZGUvbGludXgvYml0cy5oOjMyLAogICAgICAgICAgICAgICAg IGZyb20gLi9pbmNsdWRlL2xpbnV4L3JhdGVsaW1pdF90eXBlcy5oOjUsCiAgICAgICAgICAgICAg ICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcHJpbnRrLmg6OSwKICAgICAgICAgICAgICAgICBmcm9t IC4vaW5jbHVkZS9hc20tZ2VuZXJpYy9idWcuaDozMSwKICAgICAgICAgICAgICAgICBmcm9tIC4v YXJjaC94ODYvaW5jbHVkZS9hc20vYnVnLmg6MTk1LAogICAgICAgICAgICAgICAgIGZyb20gLi9p bmNsdWRlL2xpbnV4L2t0aW1lLmg6MjQsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUv bGludXgvcG9sbC5oOjcsCiAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbmV0L2JsdWV0 b290aC9ibHVldG9vdGguaDoyNiwKICAgICAgICAgICAgICAgICBmcm9tIG5ldC9ibHVldG9vdGgv aGNpX2NvZGVjLmM6NToKLi9pbmNsdWRlL2xpbnV4L292ZXJmbG93Lmg6NDIwOjExOiBlcnJvcjog aW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgKiAoaGF2ZSDigJhzdHJ1Y3QgaGNpX3N0ZF9jb2Rl Y3NfdjJfaGRy4oCZIGFuZCDigJhsb25nIHVuc2lnbmVkIGludOKAmSkKICA0MjAgfCAgIChjb3Vu dCkgKiBzaXplb2YoKihwKS0+bWVtYmVyKSArIF9fbXVzdF9iZV9hcnJheSgocCktPm1lbWJlciks IFwKICAgICAgfCAgIH5+fn5+fn4gXgpuZXQvYmx1ZXRvb3RoL2hjaV9jb2RlYy5jOjIzMjoxNjog bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGZsZXhfYXJyYXlfc2l6ZeKAmQogIDIzMiB8 ICBza2JfcHVsbChza2IsIGZsZXhfYXJyYXlfc2l6ZShzdGRfY29kZWNzLCBjb2RlYywgc3RkX2Nv ZGVjcy0+bnVtKQogICAgICB8ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fgpuZXQvYmx1 ZXRvb3RoL2hjaV9jb2RlYy5jOjIzMjo2MTogZXJyb3I6IGluY29tcGF0aWJsZSB0eXBlIGZvciBh cmd1bWVudCAxIG9mIOKAmHNpemVfbXVs4oCZCiAgMjMyIHwgIHNrYl9wdWxsKHNrYiwgZmxleF9h cnJheV9zaXplKHN0ZF9jb2RlY3MsIGNvZGVjLCBzdGRfY29kZWNzLT5udW0pCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+ Xn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGhjaV9zdGRfY29kZWNzX3YyX2hk cgouL2luY2x1ZGUvbGludXgvb3ZlcmZsb3cuaDo0MjE6MTI6IG5vdGU6IGluIGRlZmluaXRpb24g b2YgbWFjcm8g4oCYZmxleF9hcnJheV9zaXpl4oCZCiAgNDIxIHwgICBzaXplX211bChjb3VudCwg c2l6ZW9mKCoocCktPm1lbWJlcikgKyBfX211c3RfYmVfYXJyYXkoKHApLT5tZW1iZXIpKSkKICAg ICAgfCAgICAgICAgICAgIF5+fn5+Ci4vaW5jbHVkZS9saW51eC9vdmVyZmxvdy5oOjMzMDo2MDog bm90ZTogZXhwZWN0ZWQg4oCYc2l6ZV904oCZIHtha2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9 IGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBoY2lfc3RkX2NvZGVjc192Ml9oZHLi gJkKICAzMzAgfCBzdGF0aWMgX19hbHdheXNfaW5saW5lIHNpemVfdCBfX211c3RfY2hlY2sgc2l6 ZV9tdWwoc2l6ZV90IGZhY3RvcjEsIHNpemVfdCBmYWN0b3IyKQogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+Xn5+fn5+fgpt YWtlWzRdOiAqKiogW3NjcmlwdHMvTWFrZWZpbGUuYnVpbGQ6Mjg5OiBuZXQvYmx1ZXRvb3RoL2hj aV9jb2RlYy5vXSBFcnJvciAxCm1ha2VbNF06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpv YnMuLi4uCm1ha2VbM106ICoqKiBbc2NyaXB0cy9NYWtlZmlsZS5idWlsZDo1NDk6IG5ldC9ibHVl dG9vdGhdIEVycm9yIDIKbWFrZVsyXTogKioqIFtzY3JpcHRzL01ha2VmaWxlLmJ1aWxkOjU0OTog bmV0XSBFcnJvciAyCm1ha2VbMl06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4u Cm1ha2VbMV06ICoqKiBbL2dpdGh1Yi93b3Jrc3BhY2Uvc3JjL3NyYy9NYWtlZmlsZToyMTg3OiAu XSBFcnJvciAyCm1ha2U6ICoqKiBbTWFrZWZpbGU6MjQ4OiBfX3N1Yi1tYWtlXSBFcnJvciAyCgoK aHR0cHM6Ly9naXRodWIuY29tL2JsdWV6L2JsdWV0b290aC1uZXh0L3B1bGwvNTc4CgotLS0KUmVn YXJkcywKTGludXggQmx1ZXRvb3RoCgo= --===============0862707679023317048==--