From owner-freebsd-java@FreeBSD.ORG Mon Apr 6 12:40:59 2015 Return-Path: Delivered-To: freebsd-java@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 89BB3D50; Mon, 6 Apr 2015 12:40:59 +0000 (UTC) Received: from mail-ob0-x22d.google.com (mail-ob0-x22d.google.com [IPv6:2607:f8b0:4003:c01::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49F6F1F7; Mon, 6 Apr 2015 12:40:59 +0000 (UTC) Received: by obbfy7 with SMTP id fy7so38085430obb.2; Mon, 06 Apr 2015 05:40:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=sOtDjscEozVKH943X0G+xFKib5zPdfETl/6sRSAuwts=; b=lvk6vqwFc6RxnZNPnQJRaxLJRaL0yf888HY/Tm4t05aAedib51BPQfxqHRXyJQ3A2f SPAKvT9op7UhivgT8f5w7CIIa7XhdodN2Nbdbvl991V3TVWD7KwK0Dl3AihY3Jh0ZgRc MDaKMfdASspxMyPn92Ec8bdF3+pEbrdlL2YkZX43IP/k3JEH2tvgsiYr+BjL5RfWAh+i ddAFbAR6yTlgb9Sb/TnqgvZTrmNuUz6s9I45sBqCoPSF6mtkEKLfNgvTfqzyUT0qdT53 N/9bzWnfG3KsVaLhzFTOnwm02CBwVDiK2iAt2Hqi+kwUamBQGFyaR+Br+sYFhcq/YCRB RjfQ== MIME-Version: 1.0 X-Received: by 10.60.176.69 with SMTP id cg5mr18104926oec.33.1428324058620; Mon, 06 Apr 2015 05:40:58 -0700 (PDT) Received: by 10.202.48.195 with HTTP; Mon, 6 Apr 2015 05:40:57 -0700 (PDT) In-Reply-To: <55146F51.3030404@FreeBSD.org> References: <55146F51.3030404@FreeBSD.org> Date: Mon, 6 Apr 2015 14:40:57 +0200 Message-ID: Subject: Re: dtrace, jstack and lang/openjdk7 or 8 From: Johannes Dieterich To: Jung-uk Kim , freebsd-java@freebsd.org Content-Type: multipart/mixed; boundary=089e0115f60223f8eb05130d9ce1 X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2015 12:40:59 -0000 --089e0115f60223f8eb05130d9ce1 Content-Type: text/plain; charset=UTF-8 Hi, sorry for the late response! On Thu, Mar 26, 2015 at 9:42 PM, Jung-uk Kim wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > On 03/25/2015 19:02, Johannes Dieterich wrote: >> Hi, >> >> I am currently trying to get dtrace to work with either >> java/openjdk7 or java/openjdk8 (as per Brendan Gregg's howto: >> http://www.brendangregg.com/blog/2014-06-12/java-flame-graphs.html). >> >> Unfortunately, I get exactly what he describes: I am missing >> everything inside the JVM. I suspect this has to do with jstack() >> not working. The bundled jstack executable (yes, I know that they >> are only vaguely related) also seems to work only so-so. Basically, >> I can get a working stack trace without a variable, with -l, but >> not with -m, and not with -F. It causes exceptions like this: >> >> $ /usr/local/openjdk7/bin/jstack -m 84749 > ... >> So, what I am asking is: anybody out there got a working setup for >> dtrace+openjdk on FreeBSD? If so, it would be fantastic if you >> could post the necessary steps! > > jstack from java/openjdk8 works fine AFAICT. Unfortunately, dtrace is > unimplemented for FreeBSD. I did a bit of research and found this in the hotspot sources: http://hg.openjdk.java.net/jdk8/jdk8/hotspot/file/87ee5ee27509/src/os/bsd/dtrace/jhelper.d . Do I interpret this (and the entire directory) correctly that there are at least the stubs available in openJDK8? Is so, what is missing for dtrace to work? > BTW, 'jstack -m ' is invalid command, i.e., it does not work with > a running process. You need to set '-F' option to force it. > > % /usr/local/openjdk8/bin/jstack > Usage: > jstack [-l] > (to connect to running process) > jstack -F [-m] [-l] > (to connect to a hung process) > jstack [-m] [-l] > (to connect to a core file) > jstack [-m] [-l] [server_id@] > (to connect to a remote debug server) > > Options: > -F to force a thread dump. Use when jstack does not respond > (process is hung) > -m to print both java and native frames (mixed mode) > -l long listing. Prints additional information about locks > -h or -help to print this help message Thanks, it seems Dmitry below thinks -m should imply -F (so did I). Indeed, jstack -m -F $PID also throws a stack for me. I attached the full one, in case it helps? Thanks again for all the responses! Johannes > Jung-uk Kim > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2 > > iQEcBAEBCAAGBQJVFG9MAAoJEHyflib82/FG4F0H/3Z+5fTXMzQYBCeWGMZicjMB > 092HOaXctRZ5P+I5HZO199bfFLffV6Pu1pd2/jjguOqkmF4eVL6AXwQBglg19RPs > BEwhSLRLhuWc11XyikE2RG3PvvDRvhXl6AeqtKkcUi4LedjS3BlqmlGpTorJzpO3 > OqarnzGMyAHPS5QxPPUcASG4B+la6o1sVn94UiynUWnd3yXTe4uE4Ed4YeV2oBXh > BGVLhTdsWoamNpMwX9JrOMNwRPahYpoDCjeC2jlKPGPCXQiTWthlupLidXuKUI/a > OJi+VSAzNPMx5s1p2JSKwAp+tT6oX8BaFK0zA+J6cyBcBqqbWvA6LV+v9f8c/5A= > =x1pC > -----END PGP SIGNATURE----- --089e0115f60223f8eb05130d9ce1 Content-Type: application/octet-stream; name=full_stack Content-Disposition: attachment; filename=full_stack Content-Transfer-Encoding: base64 X-Attachment-Id: f_i85v915w0 QXR0YWNoaW5nIHRvIHByb2Nlc3MgSUQgODMwODYsIHBsZWFzZSB3YWl0Li4uCkRlYnVnZ2VyIGF0 dGFjaGVkIHN1Y2Nlc3NmdWxseS4KU2VydmVyIGNvbXBpbGVyIGRldGVjdGVkLgpKVk0gdmVyc2lv biBpcyAyNS40MC1iMjUKc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLkRlYnVnZ2VyRXhjZXB0aW9u OiBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuRGVidWdnZXJFeGNlcHRpb246IGdldF90aHJlYWRf cmVncyBmYWlsZWQgZm9yIGEgbHdwCglhdCBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJz ZERlYnVnZ2VyTG9jYWwkQnNkRGVidWdnZXJMb2NhbFdvcmtlclRocmVhZC5leGVjdXRlKEJzZERl YnVnZ2VyTG9jYWwuamF2YToxNjkpCglhdCBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJz ZERlYnVnZ2VyTG9jYWwuZ2V0VGhyZWFkSW50ZWdlclJlZ2lzdGVyU2V0KEJzZERlYnVnZ2VyTG9j YWwuamF2YTo0OTcpCglhdCBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJzZFRocmVhZC5n ZXRDb250ZXh0KEJzZFRocmVhZC5qYXZhOjY4KQoJYXQgc3VuLmp2bS5ob3RzcG90LnJ1bnRpbWUu YnNkX2FtZDY0LkJzZEFNRDY0SmF2YVRocmVhZFBEQWNjZXNzLmdldEN1cnJlbnRGcmFtZUd1ZXNz KEJzZEFNRDY0SmF2YVRocmVhZFBEQWNjZXNzLmphdmE6OTcpCglhdCBzdW4uanZtLmhvdHNwb3Qu cnVudGltZS5KYXZhVGhyZWFkLmdldEN1cnJlbnRGcmFtZUd1ZXNzKEphdmFUaHJlYWQuamF2YToy NTYpCglhdCBzdW4uanZtLmhvdHNwb3QucnVudGltZS5KYXZhVGhyZWFkLmdldExhc3RKYXZhVkZy YW1lRGJnKEphdmFUaHJlYWQuamF2YToyMTgpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuUFN0 YWNrLmluaXRKRnJhbWVDYWNoZShQU3RhY2suamF2YToyMDMpCglhdCBzdW4uanZtLmhvdHNwb3Qu dG9vbHMuUFN0YWNrLnJ1bihQU3RhY2suamF2YTo3MSkKCWF0IHN1bi5qdm0uaG90c3BvdC50b29s cy5QU3RhY2sucnVuKFBTdGFjay5qYXZhOjU4KQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xzLlBT dGFjay5ydW4oUFN0YWNrLmphdmE6NTMpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuSlN0YWNr LnJ1bihKU3RhY2suamF2YTo2NikKCWF0IHN1bi5qdm0uaG90c3BvdC50b29scy5Ub29sLnN0YXJ0 SW50ZXJuYWwoVG9vbC5qYXZhOjI2MCkKCWF0IHN1bi5qdm0uaG90c3BvdC50b29scy5Ub29sLnN0 YXJ0KFRvb2wuamF2YToyMjMpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuVG9vbC5leGVjdXRl KFRvb2wuamF2YToxMTgpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuSlN0YWNrLm1haW4oSlN0 YWNrLmphdmE6OTIpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52 b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJ bXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuamF2YTo2MikKCWF0IHN1bi5yZWZs ZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RB Y2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2Uo TWV0aG9kLmphdmE6NDk3KQoJYXQgc3VuLnRvb2xzLmpzdGFjay5KU3RhY2sucnVuSlN0YWNrVG9v bChKU3RhY2suamF2YToxNDApCglhdCBzdW4udG9vbHMuanN0YWNrLkpTdGFjay5tYWluKEpTdGFj ay5qYXZhOjEwNikKQ2F1c2VkIGJ5OiBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuRGVidWdnZXJF eGNlcHRpb246IGdldF90aHJlYWRfcmVncyBmYWlsZWQgZm9yIGEgbHdwCglhdCBzdW4uanZtLmhv dHNwb3QuZGVidWdnZXIuYnNkLkJzZERlYnVnZ2VyTG9jYWwuZ2V0VGhyZWFkSW50ZWdlclJlZ2lz dGVyU2V0MChOYXRpdmUgTWV0aG9kKQoJYXQgc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLmJzZC5C c2REZWJ1Z2dlckxvY2FsLmFjY2VzcyQ4MDAoQnNkRGVidWdnZXJMb2NhbC5qYXZhOjY1KQoJYXQg c3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLmJzZC5Cc2REZWJ1Z2dlckxvY2FsJDFHZXRUaHJlYWRJ bnRlZ2VyUmVnaXN0ZXJTZXRUYXNrLmRvaXQoQnNkRGVidWdnZXJMb2NhbC5qYXZhOjQ5MSkKCWF0 IHN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5ic2QuQnNkRGVidWdnZXJMb2NhbCRCc2REZWJ1Z2dl ckxvY2FsV29ya2VyVGhyZWFkLnJ1bihCc2REZWJ1Z2dlckxvY2FsLmphdmE6MTQ0KQpzdW4uanZt LmhvdHNwb3QuZGVidWdnZXIuRGVidWdnZXJFeGNlcHRpb246IHN1bi5qdm0uaG90c3BvdC5kZWJ1 Z2dlci5EZWJ1Z2dlckV4Y2VwdGlvbjogZ2V0X3RocmVhZF9yZWdzIGZhaWxlZCBmb3IgYSBsd3AK CWF0IHN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5ic2QuQnNkRGVidWdnZXJMb2NhbCRCc2REZWJ1 Z2dlckxvY2FsV29ya2VyVGhyZWFkLmV4ZWN1dGUoQnNkRGVidWdnZXJMb2NhbC5qYXZhOjE2OSkK CWF0IHN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5ic2QuQnNkRGVidWdnZXJMb2NhbC5nZXRUaHJl YWRJbnRlZ2VyUmVnaXN0ZXJTZXQoQnNkRGVidWdnZXJMb2NhbC5qYXZhOjQ5NykKCWF0IHN1bi5q dm0uaG90c3BvdC5kZWJ1Z2dlci5ic2QuQnNkVGhyZWFkLmdldENvbnRleHQoQnNkVGhyZWFkLmph dmE6NjgpCglhdCBzdW4uanZtLmhvdHNwb3QucnVudGltZS5ic2RfYW1kNjQuQnNkQU1ENjRKYXZh VGhyZWFkUERBY2Nlc3MuZ2V0Q3VycmVudEZyYW1lR3Vlc3MoQnNkQU1ENjRKYXZhVGhyZWFkUERB Y2Nlc3MuamF2YTo5NykKCWF0IHN1bi5qdm0uaG90c3BvdC5ydW50aW1lLkphdmFUaHJlYWQuZ2V0 Q3VycmVudEZyYW1lR3Vlc3MoSmF2YVRocmVhZC5qYXZhOjI1NikKCWF0IHN1bi5qdm0uaG90c3Bv dC5ydW50aW1lLkphdmFUaHJlYWQuZ2V0TGFzdEphdmFWRnJhbWVEYmcoSmF2YVRocmVhZC5qYXZh OjIxOCkKCWF0IHN1bi5qdm0uaG90c3BvdC50b29scy5QU3RhY2suaW5pdEpGcmFtZUNhY2hlKFBT dGFjay5qYXZhOjIwMykKCWF0IHN1bi5qdm0uaG90c3BvdC50b29scy5QU3RhY2sucnVuKFBTdGFj ay5qYXZhOjcxKQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xzLlBTdGFjay5ydW4oUFN0YWNrLmph dmE6NTgpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuUFN0YWNrLnJ1bihQU3RhY2suamF2YTo1 MykKCWF0IHN1bi5qdm0uaG90c3BvdC50b29scy5KU3RhY2sucnVuKEpTdGFjay5qYXZhOjY2KQoJ YXQgc3VuLmp2bS5ob3RzcG90LnRvb2xzLlRvb2wuc3RhcnRJbnRlcm5hbChUb29sLmphdmE6MjYw KQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xzLlRvb2wuc3RhcnQoVG9vbC5qYXZhOjIyMykKCWF0 IHN1bi5qdm0uaG90c3BvdC50b29scy5Ub29sLmV4ZWN1dGUoVG9vbC5qYXZhOjExOCkKCWF0IHN1 bi5qdm0uaG90c3BvdC50b29scy5KU3RhY2subWFpbihKU3RhY2suamF2YTo5MikKCWF0IHN1bi5y ZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglh dCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhv ZEFjY2Vzc29ySW1wbC5qYXZhOjYyKQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFj Y2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJ YXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo0OTcpCglhdCBz dW4udG9vbHMuanN0YWNrLkpTdGFjay5ydW5KU3RhY2tUb29sKEpTdGFjay5qYXZhOjE0MCkKCWF0 IHN1bi50b29scy5qc3RhY2suSlN0YWNrLm1haW4oSlN0YWNrLmphdmE6MTA2KQpDYXVzZWQgYnk6 IHN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5EZWJ1Z2dlckV4Y2VwdGlvbjogZ2V0X3RocmVhZF9y ZWdzIGZhaWxlZCBmb3IgYSBsd3AKCWF0IHN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5ic2QuQnNk RGVidWdnZXJMb2NhbC5nZXRUaHJlYWRJbnRlZ2VyUmVnaXN0ZXJTZXQwKE5hdGl2ZSBNZXRob2Qp CglhdCBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJzZERlYnVnZ2VyTG9jYWwuYWNjZXNz JDgwMChCc2REZWJ1Z2dlckxvY2FsLmphdmE6NjUpCglhdCBzdW4uanZtLmhvdHNwb3QuZGVidWdn ZXIuYnNkLkJzZERlYnVnZ2VyTG9jYWwkMUdldFRocmVhZEludGVnZXJSZWdpc3RlclNldFRhc2su ZG9pdChCc2REZWJ1Z2dlckxvY2FsLmphdmE6NDkxKQoJYXQgc3VuLmp2bS5ob3RzcG90LmRlYnVn Z2VyLmJzZC5Cc2REZWJ1Z2dlckxvY2FsJEJzZERlYnVnZ2VyTG9jYWxXb3JrZXJUaHJlYWQucnVu KEJzZERlYnVnZ2VyTG9jYWwuamF2YToxNDQpCnN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5EZWJ1 Z2dlckV4Y2VwdGlvbjogc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLkRlYnVnZ2VyRXhjZXB0aW9u OiBnZXRfdGhyZWFkX3JlZ3MgZmFpbGVkIGZvciBhIGx3cAoJYXQgc3VuLmp2bS5ob3RzcG90LmRl YnVnZ2VyLmJzZC5Cc2REZWJ1Z2dlckxvY2FsJEJzZERlYnVnZ2VyTG9jYWxXb3JrZXJUaHJlYWQu ZXhlY3V0ZShCc2REZWJ1Z2dlckxvY2FsLmphdmE6MTY5KQoJYXQgc3VuLmp2bS5ob3RzcG90LmRl YnVnZ2VyLmJzZC5Cc2REZWJ1Z2dlckxvY2FsLmdldFRocmVhZEludGVnZXJSZWdpc3RlclNldChC c2REZWJ1Z2dlckxvY2FsLmphdmE6NDk3KQoJYXQgc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLmJz ZC5Cc2RUaHJlYWQuZ2V0Q29udGV4dChCc2RUaHJlYWQuamF2YTo2OCkKCWF0IHN1bi5qdm0uaG90 c3BvdC5ydW50aW1lLmJzZF9hbWQ2NC5Cc2RBTUQ2NEphdmFUaHJlYWRQREFjY2Vzcy5nZXRDdXJy ZW50RnJhbWVHdWVzcyhCc2RBTUQ2NEphdmFUaHJlYWRQREFjY2Vzcy5qYXZhOjk3KQoJYXQgc3Vu Lmp2bS5ob3RzcG90LnJ1bnRpbWUuSmF2YVRocmVhZC5nZXRDdXJyZW50RnJhbWVHdWVzcyhKYXZh VGhyZWFkLmphdmE6MjU2KQoJYXQgc3VuLmp2bS5ob3RzcG90LnJ1bnRpbWUuSmF2YVRocmVhZC5n ZXRMYXN0SmF2YVZGcmFtZURiZyhKYXZhVGhyZWFkLmphdmE6MjE4KQoJYXQgc3VuLmp2bS5ob3Rz cG90LnRvb2xzLlBTdGFjay5pbml0SkZyYW1lQ2FjaGUoUFN0YWNrLmphdmE6MjAzKQoJYXQgc3Vu Lmp2bS5ob3RzcG90LnRvb2xzLlBTdGFjay5ydW4oUFN0YWNrLmphdmE6NzEpCglhdCBzdW4uanZt LmhvdHNwb3QudG9vbHMuUFN0YWNrLnJ1bihQU3RhY2suamF2YTo1OCkKCWF0IHN1bi5qdm0uaG90 c3BvdC50b29scy5QU3RhY2sucnVuKFBTdGFjay5qYXZhOjUzKQoJYXQgc3VuLmp2bS5ob3RzcG90 LnRvb2xzLkpTdGFjay5ydW4oSlN0YWNrLmphdmE6NjYpCglhdCBzdW4uanZtLmhvdHNwb3QudG9v bHMuVG9vbC5zdGFydEludGVybmFsKFRvb2wuamF2YToyNjApCglhdCBzdW4uanZtLmhvdHNwb3Qu dG9vbHMuVG9vbC5zdGFydChUb29sLmphdmE6MjIzKQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xz LlRvb2wuZXhlY3V0ZShUb29sLmphdmE6MTE4KQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xzLkpT dGFjay5tYWluKEpTdGFjay5qYXZhOjkyKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNj ZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1l dGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NjIp CglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxl Z2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5N ZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjQ5NykKCWF0IHN1bi50b29scy5qc3RhY2suSlN0YWNr LnJ1bkpTdGFja1Rvb2woSlN0YWNrLmphdmE6MTQwKQoJYXQgc3VuLnRvb2xzLmpzdGFjay5KU3Rh Y2subWFpbihKU3RhY2suamF2YToxMDYpCkNhdXNlZCBieTogc3VuLmp2bS5ob3RzcG90LmRlYnVn Z2VyLkRlYnVnZ2VyRXhjZXB0aW9uOiBnZXRfdGhyZWFkX3JlZ3MgZmFpbGVkIGZvciBhIGx3cAoJ YXQgc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLmJzZC5Cc2REZWJ1Z2dlckxvY2FsLmdldFRocmVh ZEludGVnZXJSZWdpc3RlclNldDAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5qdm0uaG90c3BvdC5k ZWJ1Z2dlci5ic2QuQnNkRGVidWdnZXJMb2NhbC5hY2Nlc3MkODAwKEJzZERlYnVnZ2VyTG9jYWwu amF2YTo2NSkKCWF0IHN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5ic2QuQnNkRGVidWdnZXJMb2Nh bCQxR2V0VGhyZWFkSW50ZWdlclJlZ2lzdGVyU2V0VGFzay5kb2l0KEJzZERlYnVnZ2VyTG9jYWwu amF2YTo0OTEpCglhdCBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJzZERlYnVnZ2VyTG9j YWwkQnNkRGVidWdnZXJMb2NhbFdvcmtlclRocmVhZC5ydW4oQnNkRGVidWdnZXJMb2NhbC5qYXZh OjE0NCkKc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLkRlYnVnZ2VyRXhjZXB0aW9uOiBzdW4uanZt LmhvdHNwb3QuZGVidWdnZXIuRGVidWdnZXJFeGNlcHRpb246IGdldF90aHJlYWRfcmVncyBmYWls ZWQgZm9yIGEgbHdwCglhdCBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJzZERlYnVnZ2Vy TG9jYWwkQnNkRGVidWdnZXJMb2NhbFdvcmtlclRocmVhZC5leGVjdXRlKEJzZERlYnVnZ2VyTG9j YWwuamF2YToxNjkpCglhdCBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJzZERlYnVnZ2Vy TG9jYWwuZ2V0VGhyZWFkSW50ZWdlclJlZ2lzdGVyU2V0KEJzZERlYnVnZ2VyTG9jYWwuamF2YTo0 OTcpCglhdCBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJzZFRocmVhZC5nZXRDb250ZXh0 KEJzZFRocmVhZC5qYXZhOjY4KQoJYXQgc3VuLmp2bS5ob3RzcG90LnJ1bnRpbWUuYnNkX2FtZDY0 LkJzZEFNRDY0SmF2YVRocmVhZFBEQWNjZXNzLmdldEN1cnJlbnRGcmFtZUd1ZXNzKEJzZEFNRDY0 SmF2YVRocmVhZFBEQWNjZXNzLmphdmE6OTcpCglhdCBzdW4uanZtLmhvdHNwb3QucnVudGltZS5K YXZhVGhyZWFkLmdldEN1cnJlbnRGcmFtZUd1ZXNzKEphdmFUaHJlYWQuamF2YToyNTYpCglhdCBz dW4uanZtLmhvdHNwb3QucnVudGltZS5KYXZhVGhyZWFkLmdldExhc3RKYXZhVkZyYW1lRGJnKEph dmFUaHJlYWQuamF2YToyMTgpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuUFN0YWNrLmluaXRK RnJhbWVDYWNoZShQU3RhY2suamF2YToyMDMpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuUFN0 YWNrLnJ1bihQU3RhY2suamF2YTo3MSkKCWF0IHN1bi5qdm0uaG90c3BvdC50b29scy5QU3RhY2su cnVuKFBTdGFjay5qYXZhOjU4KQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xzLlBTdGFjay5ydW4o UFN0YWNrLmphdmE6NTMpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuSlN0YWNrLnJ1bihKU3Rh Y2suamF2YTo2NikKCWF0IHN1bi5qdm0uaG90c3BvdC50b29scy5Ub29sLnN0YXJ0SW50ZXJuYWwo VG9vbC5qYXZhOjI2MCkKCWF0IHN1bi5qdm0uaG90c3BvdC50b29scy5Ub29sLnN0YXJ0KFRvb2wu amF2YToyMjMpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuVG9vbC5leGVjdXRlKFRvb2wuamF2 YToxMTgpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuSlN0YWNrLm1haW4oSlN0YWNrLmphdmE6 OTIpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRp dmUgTWV0aG9kKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9r ZShOYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuamF2YTo2MikKCWF0IHN1bi5yZWZsZWN0LkRlbGVn YXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3Nvcklt cGwuamF2YTo0MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmph dmE6NDk3KQoJYXQgc3VuLnRvb2xzLmpzdGFjay5KU3RhY2sucnVuSlN0YWNrVG9vbChKU3RhY2su amF2YToxNDApCglhdCBzdW4udG9vbHMuanN0YWNrLkpTdGFjay5tYWluKEpTdGFjay5qYXZhOjEw NikKQ2F1c2VkIGJ5OiBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuRGVidWdnZXJFeGNlcHRpb246 IGdldF90aHJlYWRfcmVncyBmYWlsZWQgZm9yIGEgbHdwCglhdCBzdW4uanZtLmhvdHNwb3QuZGVi dWdnZXIuYnNkLkJzZERlYnVnZ2VyTG9jYWwuZ2V0VGhyZWFkSW50ZWdlclJlZ2lzdGVyU2V0MChO YXRpdmUgTWV0aG9kKQoJYXQgc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLmJzZC5Cc2REZWJ1Z2dl ckxvY2FsLmFjY2VzcyQ4MDAoQnNkRGVidWdnZXJMb2NhbC5qYXZhOjY1KQoJYXQgc3VuLmp2bS5o b3RzcG90LmRlYnVnZ2VyLmJzZC5Cc2REZWJ1Z2dlckxvY2FsJDFHZXRUaHJlYWRJbnRlZ2VyUmVn aXN0ZXJTZXRUYXNrLmRvaXQoQnNkRGVidWdnZXJMb2NhbC5qYXZhOjQ5MSkKCWF0IHN1bi5qdm0u aG90c3BvdC5kZWJ1Z2dlci5ic2QuQnNkRGVidWdnZXJMb2NhbCRCc2REZWJ1Z2dlckxvY2FsV29y a2VyVGhyZWFkLnJ1bihCc2REZWJ1Z2dlckxvY2FsLmphdmE6MTQ0KQpzdW4uanZtLmhvdHNwb3Qu ZGVidWdnZXIuRGVidWdnZXJFeGNlcHRpb246IHN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5EZWJ1 Z2dlckV4Y2VwdGlvbjogZ2V0X3RocmVhZF9yZWdzIGZhaWxlZCBmb3IgYSBsd3AKCWF0IHN1bi5q dm0uaG90c3BvdC5kZWJ1Z2dlci5ic2QuQnNkRGVidWdnZXJMb2NhbCRCc2REZWJ1Z2dlckxvY2Fs V29ya2VyVGhyZWFkLmV4ZWN1dGUoQnNkRGVidWdnZXJMb2NhbC5qYXZhOjE2OSkKCWF0IHN1bi5q dm0uaG90c3BvdC5kZWJ1Z2dlci5ic2QuQnNkRGVidWdnZXJMb2NhbC5nZXRUaHJlYWRJbnRlZ2Vy UmVnaXN0ZXJTZXQoQnNkRGVidWdnZXJMb2NhbC5qYXZhOjQ5NykKCWF0IHN1bi5qdm0uaG90c3Bv dC5kZWJ1Z2dlci5ic2QuQnNkVGhyZWFkLmdldENvbnRleHQoQnNkVGhyZWFkLmphdmE6NjgpCglh dCBzdW4uanZtLmhvdHNwb3QucnVudGltZS5ic2RfYW1kNjQuQnNkQU1ENjRKYXZhVGhyZWFkUERB Y2Nlc3MuZ2V0Q3VycmVudEZyYW1lR3Vlc3MoQnNkQU1ENjRKYXZhVGhyZWFkUERBY2Nlc3MuamF2 YTo5NykKCWF0IHN1bi5qdm0uaG90c3BvdC5ydW50aW1lLkphdmFUaHJlYWQuZ2V0Q3VycmVudEZy YW1lR3Vlc3MoSmF2YVRocmVhZC5qYXZhOjI1NikKCWF0IHN1bi5qdm0uaG90c3BvdC5ydW50aW1l LkphdmFUaHJlYWQuZ2V0TGFzdEphdmFWRnJhbWVEYmcoSmF2YVRocmVhZC5qYXZhOjIxOCkKCWF0 IHN1bi5qdm0uaG90c3BvdC50b29scy5QU3RhY2suaW5pdEpGcmFtZUNhY2hlKFBTdGFjay5qYXZh OjIwMykKCWF0IHN1bi5qdm0uaG90c3BvdC50b29scy5QU3RhY2sucnVuKFBTdGFjay5qYXZhOjcx KQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xzLlBTdGFjay5ydW4oUFN0YWNrLmphdmE6NTgpCglh dCBzdW4uanZtLmhvdHNwb3QudG9vbHMuUFN0YWNrLnJ1bihQU3RhY2suamF2YTo1MykKCWF0IHN1 bi5qdm0uaG90c3BvdC50b29scy5KU3RhY2sucnVuKEpTdGFjay5qYXZhOjY2KQoJYXQgc3VuLmp2 bS5ob3RzcG90LnRvb2xzLlRvb2wuc3RhcnRJbnRlcm5hbChUb29sLmphdmE6MjYwKQoJYXQgc3Vu Lmp2bS5ob3RzcG90LnRvb2xzLlRvb2wuc3RhcnQoVG9vbC5qYXZhOjIyMykKCWF0IHN1bi5qdm0u aG90c3BvdC50b29scy5Ub29sLmV4ZWN1dGUoVG9vbC5qYXZhOjExOCkKCWF0IHN1bi5qdm0uaG90 c3BvdC50b29scy5KU3RhY2subWFpbihKU3RhY2suamF2YTo5MikKCWF0IHN1bi5yZWZsZWN0Lk5h dGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglhdCBzdW4ucmVm bGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29y SW1wbC5qYXZhOjYyKQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1w bC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJYXQgamF2YS5s YW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo0OTcpCglhdCBzdW4udG9vbHMu anN0YWNrLkpTdGFjay5ydW5KU3RhY2tUb29sKEpTdGFjay5qYXZhOjE0MCkKCWF0IHN1bi50b29s cy5qc3RhY2suSlN0YWNrLm1haW4oSlN0YWNrLmphdmE6MTA2KQpDYXVzZWQgYnk6IHN1bi5qdm0u aG90c3BvdC5kZWJ1Z2dlci5EZWJ1Z2dlckV4Y2VwdGlvbjogZ2V0X3RocmVhZF9yZWdzIGZhaWxl ZCBmb3IgYSBsd3AKCWF0IHN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5ic2QuQnNkRGVidWdnZXJM b2NhbC5nZXRUaHJlYWRJbnRlZ2VyUmVnaXN0ZXJTZXQwKE5hdGl2ZSBNZXRob2QpCglhdCBzdW4u anZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJzZERlYnVnZ2VyTG9jYWwuYWNjZXNzJDgwMChCc2RE ZWJ1Z2dlckxvY2FsLmphdmE6NjUpCglhdCBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJz ZERlYnVnZ2VyTG9jYWwkMUdldFRocmVhZEludGVnZXJSZWdpc3RlclNldFRhc2suZG9pdChCc2RE ZWJ1Z2dlckxvY2FsLmphdmE6NDkxKQoJYXQgc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLmJzZC5C c2REZWJ1Z2dlckxvY2FsJEJzZERlYnVnZ2VyTG9jYWxXb3JrZXJUaHJlYWQucnVuKEJzZERlYnVn Z2VyTG9jYWwuamF2YToxNDQpCnN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5EZWJ1Z2dlckV4Y2Vw dGlvbjogc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLkRlYnVnZ2VyRXhjZXB0aW9uOiBnZXRfdGhy ZWFkX3JlZ3MgZmFpbGVkIGZvciBhIGx3cAoJYXQgc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLmJz ZC5Cc2REZWJ1Z2dlckxvY2FsJEJzZERlYnVnZ2VyTG9jYWxXb3JrZXJUaHJlYWQuZXhlY3V0ZShC c2REZWJ1Z2dlckxvY2FsLmphdmE6MTY5KQoJYXQgc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLmJz ZC5Cc2REZWJ1Z2dlckxvY2FsLmdldFRocmVhZEludGVnZXJSZWdpc3RlclNldChCc2REZWJ1Z2dl ckxvY2FsLmphdmE6NDk3KQoJYXQgc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLmJzZC5Cc2RUaHJl YWQuZ2V0Q29udGV4dChCc2RUaHJlYWQuamF2YTo2OCkKCWF0IHN1bi5qdm0uaG90c3BvdC5ydW50 aW1lLmJzZF9hbWQ2NC5Cc2RBTUQ2NEphdmFUaHJlYWRQREFjY2Vzcy5nZXRDdXJyZW50RnJhbWVH dWVzcyhCc2RBTUQ2NEphdmFUaHJlYWRQREFjY2Vzcy5qYXZhOjk3KQoJYXQgc3VuLmp2bS5ob3Rz cG90LnJ1bnRpbWUuSmF2YVRocmVhZC5nZXRDdXJyZW50RnJhbWVHdWVzcyhKYXZhVGhyZWFkLmph dmE6MjU2KQoJYXQgc3VuLmp2bS5ob3RzcG90LnJ1bnRpbWUuSmF2YVRocmVhZC5nZXRMYXN0SmF2 YVZGcmFtZURiZyhKYXZhVGhyZWFkLmphdmE6MjE4KQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xz LlBTdGFjay5pbml0SkZyYW1lQ2FjaGUoUFN0YWNrLmphdmE6MjAzKQoJYXQgc3VuLmp2bS5ob3Rz cG90LnRvb2xzLlBTdGFjay5ydW4oUFN0YWNrLmphdmE6NzEpCglhdCBzdW4uanZtLmhvdHNwb3Qu dG9vbHMuUFN0YWNrLnJ1bihQU3RhY2suamF2YTo1OCkKCWF0IHN1bi5qdm0uaG90c3BvdC50b29s cy5QU3RhY2sucnVuKFBTdGFjay5qYXZhOjUzKQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xzLkpT dGFjay5ydW4oSlN0YWNrLmphdmE6NjYpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuVG9vbC5z dGFydEludGVybmFsKFRvb2wuamF2YToyNjApCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuVG9v bC5zdGFydChUb29sLmphdmE6MjIzKQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xzLlRvb2wuZXhl Y3V0ZShUb29sLmphdmE6MTE4KQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xzLkpTdGFjay5tYWlu KEpTdGFjay5qYXZhOjkyKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBs Lmludm9rZTAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vz c29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NjIpCglhdCBzdW4u cmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0 aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52 b2tlKE1ldGhvZC5qYXZhOjQ5NykKCWF0IHN1bi50b29scy5qc3RhY2suSlN0YWNrLnJ1bkpTdGFj a1Rvb2woSlN0YWNrLmphdmE6MTQwKQoJYXQgc3VuLnRvb2xzLmpzdGFjay5KU3RhY2subWFpbihK U3RhY2suamF2YToxMDYpCkNhdXNlZCBieTogc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLkRlYnVn Z2VyRXhjZXB0aW9uOiBnZXRfdGhyZWFkX3JlZ3MgZmFpbGVkIGZvciBhIGx3cAoJYXQgc3VuLmp2 bS5ob3RzcG90LmRlYnVnZ2VyLmJzZC5Cc2REZWJ1Z2dlckxvY2FsLmdldFRocmVhZEludGVnZXJS ZWdpc3RlclNldDAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5i c2QuQnNkRGVidWdnZXJMb2NhbC5hY2Nlc3MkODAwKEJzZERlYnVnZ2VyTG9jYWwuamF2YTo2NSkK CWF0IHN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5ic2QuQnNkRGVidWdnZXJMb2NhbCQxR2V0VGhy ZWFkSW50ZWdlclJlZ2lzdGVyU2V0VGFzay5kb2l0KEJzZERlYnVnZ2VyTG9jYWwuamF2YTo0OTEp CglhdCBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJzZERlYnVnZ2VyTG9jYWwkQnNkRGVi dWdnZXJMb2NhbFdvcmtlclRocmVhZC5ydW4oQnNkRGVidWdnZXJMb2NhbC5qYXZhOjE0NCkKc3Vu Lmp2bS5ob3RzcG90LmRlYnVnZ2VyLkRlYnVnZ2VyRXhjZXB0aW9uOiBzdW4uanZtLmhvdHNwb3Qu ZGVidWdnZXIuRGVidWdnZXJFeGNlcHRpb246IGdldF90aHJlYWRfcmVncyBmYWlsZWQgZm9yIGEg bHdwCglhdCBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJzZERlYnVnZ2VyTG9jYWwkQnNk RGVidWdnZXJMb2NhbFdvcmtlclRocmVhZC5leGVjdXRlKEJzZERlYnVnZ2VyTG9jYWwuamF2YTox NjkpCglhdCBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJzZERlYnVnZ2VyTG9jYWwuZ2V0 VGhyZWFkSW50ZWdlclJlZ2lzdGVyU2V0KEJzZERlYnVnZ2VyTG9jYWwuamF2YTo0OTcpCglhdCBz dW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJzZFRocmVhZC5nZXRDb250ZXh0KEJzZFRocmVh ZC5qYXZhOjY4KQoJYXQgc3VuLmp2bS5ob3RzcG90LnJ1bnRpbWUuYnNkX2FtZDY0LkJzZEFNRDY0 SmF2YVRocmVhZFBEQWNjZXNzLmdldEN1cnJlbnRGcmFtZUd1ZXNzKEJzZEFNRDY0SmF2YVRocmVh ZFBEQWNjZXNzLmphdmE6OTcpCglhdCBzdW4uanZtLmhvdHNwb3QucnVudGltZS5KYXZhVGhyZWFk LmdldEN1cnJlbnRGcmFtZUd1ZXNzKEphdmFUaHJlYWQuamF2YToyNTYpCglhdCBzdW4uanZtLmhv dHNwb3QucnVudGltZS5KYXZhVGhyZWFkLmdldExhc3RKYXZhVkZyYW1lRGJnKEphdmFUaHJlYWQu amF2YToyMTgpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuUFN0YWNrLmluaXRKRnJhbWVDYWNo ZShQU3RhY2suamF2YToyMDMpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuUFN0YWNrLnJ1bihQ U3RhY2suamF2YTo3MSkKCWF0IHN1bi5qdm0uaG90c3BvdC50b29scy5QU3RhY2sucnVuKFBTdGFj ay5qYXZhOjU4KQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xzLlBTdGFjay5ydW4oUFN0YWNrLmph dmE6NTMpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuSlN0YWNrLnJ1bihKU3RhY2suamF2YTo2 NikKCWF0IHN1bi5qdm0uaG90c3BvdC50b29scy5Ub29sLnN0YXJ0SW50ZXJuYWwoVG9vbC5qYXZh OjI2MCkKCWF0IHN1bi5qdm0uaG90c3BvdC50b29scy5Ub29sLnN0YXJ0KFRvb2wuamF2YToyMjMp CglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuVG9vbC5leGVjdXRlKFRvb2wuamF2YToxMTgpCglh dCBzdW4uanZtLmhvdHNwb3QudG9vbHMuSlN0YWNrLm1haW4oSlN0YWNrLmphdmE6OTIpCglhdCBz dW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9k KQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVN ZXRob2RBY2Nlc3NvckltcGwuamF2YTo2MikKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRo b2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0 MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NDk3KQoJ YXQgc3VuLnRvb2xzLmpzdGFjay5KU3RhY2sucnVuSlN0YWNrVG9vbChKU3RhY2suamF2YToxNDAp CglhdCBzdW4udG9vbHMuanN0YWNrLkpTdGFjay5tYWluKEpTdGFjay5qYXZhOjEwNikKQ2F1c2Vk IGJ5OiBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuRGVidWdnZXJFeGNlcHRpb246IGdldF90aHJl YWRfcmVncyBmYWlsZWQgZm9yIGEgbHdwCglhdCBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNk LkJzZERlYnVnZ2VyTG9jYWwuZ2V0VGhyZWFkSW50ZWdlclJlZ2lzdGVyU2V0MChOYXRpdmUgTWV0 aG9kKQoJYXQgc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLmJzZC5Cc2REZWJ1Z2dlckxvY2FsLmFj Y2VzcyQ4MDAoQnNkRGVidWdnZXJMb2NhbC5qYXZhOjY1KQoJYXQgc3VuLmp2bS5ob3RzcG90LmRl YnVnZ2VyLmJzZC5Cc2REZWJ1Z2dlckxvY2FsJDFHZXRUaHJlYWRJbnRlZ2VyUmVnaXN0ZXJTZXRU YXNrLmRvaXQoQnNkRGVidWdnZXJMb2NhbC5qYXZhOjQ5MSkKCWF0IHN1bi5qdm0uaG90c3BvdC5k ZWJ1Z2dlci5ic2QuQnNkRGVidWdnZXJMb2NhbCRCc2REZWJ1Z2dlckxvY2FsV29ya2VyVGhyZWFk LnJ1bihCc2REZWJ1Z2dlckxvY2FsLmphdmE6MTQ0KQpzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIu RGVidWdnZXJFeGNlcHRpb246IHN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5EZWJ1Z2dlckV4Y2Vw dGlvbjogZ2V0X3RocmVhZF9yZWdzIGZhaWxlZCBmb3IgYSBsd3AKCWF0IHN1bi5qdm0uaG90c3Bv dC5kZWJ1Z2dlci5ic2QuQnNkRGVidWdnZXJMb2NhbCRCc2REZWJ1Z2dlckxvY2FsV29ya2VyVGhy ZWFkLmV4ZWN1dGUoQnNkRGVidWdnZXJMb2NhbC5qYXZhOjE2OSkKCWF0IHN1bi5qdm0uaG90c3Bv dC5kZWJ1Z2dlci5ic2QuQnNkRGVidWdnZXJMb2NhbC5nZXRUaHJlYWRJbnRlZ2VyUmVnaXN0ZXJT ZXQoQnNkRGVidWdnZXJMb2NhbC5qYXZhOjQ5NykKCWF0IHN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dl ci5ic2QuQnNkVGhyZWFkLmdldENvbnRleHQoQnNkVGhyZWFkLmphdmE6NjgpCglhdCBzdW4uanZt LmhvdHNwb3QucnVudGltZS5ic2RfYW1kNjQuQnNkQU1ENjRKYXZhVGhyZWFkUERBY2Nlc3MuZ2V0 Q3VycmVudEZyYW1lR3Vlc3MoQnNkQU1ENjRKYXZhVGhyZWFkUERBY2Nlc3MuamF2YTo5NykKCWF0 IHN1bi5qdm0uaG90c3BvdC5ydW50aW1lLkphdmFUaHJlYWQuZ2V0Q3VycmVudEZyYW1lR3Vlc3Mo SmF2YVRocmVhZC5qYXZhOjI1NikKCWF0IHN1bi5qdm0uaG90c3BvdC5ydW50aW1lLkphdmFUaHJl YWQuZ2V0TGFzdEphdmFWRnJhbWVEYmcoSmF2YVRocmVhZC5qYXZhOjIxOCkKCWF0IHN1bi5qdm0u aG90c3BvdC50b29scy5QU3RhY2suaW5pdEpGcmFtZUNhY2hlKFBTdGFjay5qYXZhOjIwMykKCWF0 IHN1bi5qdm0uaG90c3BvdC50b29scy5QU3RhY2sucnVuKFBTdGFjay5qYXZhOjcxKQoJYXQgc3Vu Lmp2bS5ob3RzcG90LnRvb2xzLlBTdGFjay5ydW4oUFN0YWNrLmphdmE6NTgpCglhdCBzdW4uanZt LmhvdHNwb3QudG9vbHMuUFN0YWNrLnJ1bihQU3RhY2suamF2YTo1MykKCWF0IHN1bi5qdm0uaG90 c3BvdC50b29scy5KU3RhY2sucnVuKEpTdGFjay5qYXZhOjY2KQoJYXQgc3VuLmp2bS5ob3RzcG90 LnRvb2xzLlRvb2wuc3RhcnRJbnRlcm5hbChUb29sLmphdmE6MjYwKQoJYXQgc3VuLmp2bS5ob3Rz cG90LnRvb2xzLlRvb2wuc3RhcnQoVG9vbC5qYXZhOjIyMykKCWF0IHN1bi5qdm0uaG90c3BvdC50 b29scy5Ub29sLmV4ZWN1dGUoVG9vbC5qYXZhOjExOCkKCWF0IHN1bi5qdm0uaG90c3BvdC50b29s cy5KU3RhY2subWFpbihKU3RhY2suamF2YTo5MikKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhv ZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglhdCBzdW4ucmVmbGVjdC5OYXRp dmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5qYXZh OjYyKQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2Uo RGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJYXQgamF2YS5sYW5nLnJlZmxl Y3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo0OTcpCglhdCBzdW4udG9vbHMuanN0YWNrLkpT dGFjay5ydW5KU3RhY2tUb29sKEpTdGFjay5qYXZhOjE0MCkKCWF0IHN1bi50b29scy5qc3RhY2su SlN0YWNrLm1haW4oSlN0YWNrLmphdmE6MTA2KQpDYXVzZWQgYnk6IHN1bi5qdm0uaG90c3BvdC5k ZWJ1Z2dlci5EZWJ1Z2dlckV4Y2VwdGlvbjogZ2V0X3RocmVhZF9yZWdzIGZhaWxlZCBmb3IgYSBs d3AKCWF0IHN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5ic2QuQnNkRGVidWdnZXJMb2NhbC5nZXRU aHJlYWRJbnRlZ2VyUmVnaXN0ZXJTZXQwKE5hdGl2ZSBNZXRob2QpCglhdCBzdW4uanZtLmhvdHNw b3QuZGVidWdnZXIuYnNkLkJzZERlYnVnZ2VyTG9jYWwuYWNjZXNzJDgwMChCc2REZWJ1Z2dlckxv Y2FsLmphdmE6NjUpCglhdCBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJzZERlYnVnZ2Vy TG9jYWwkMUdldFRocmVhZEludGVnZXJSZWdpc3RlclNldFRhc2suZG9pdChCc2REZWJ1Z2dlckxv Y2FsLmphdmE6NDkxKQoJYXQgc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLmJzZC5Cc2REZWJ1Z2dl ckxvY2FsJEJzZERlYnVnZ2VyTG9jYWxXb3JrZXJUaHJlYWQucnVuKEJzZERlYnVnZ2VyTG9jYWwu amF2YToxNDQpCnN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5EZWJ1Z2dlckV4Y2VwdGlvbjogc3Vu Lmp2bS5ob3RzcG90LmRlYnVnZ2VyLkRlYnVnZ2VyRXhjZXB0aW9uOiBnZXRfdGhyZWFkX3JlZ3Mg ZmFpbGVkIGZvciBhIGx3cAoJYXQgc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLmJzZC5Cc2REZWJ1 Z2dlckxvY2FsJEJzZERlYnVnZ2VyTG9jYWxXb3JrZXJUaHJlYWQuZXhlY3V0ZShCc2REZWJ1Z2dl ckxvY2FsLmphdmE6MTY5KQoJYXQgc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLmJzZC5Cc2REZWJ1 Z2dlckxvY2FsLmdldFRocmVhZEludGVnZXJSZWdpc3RlclNldChCc2REZWJ1Z2dlckxvY2FsLmph dmE6NDk3KQoJYXQgc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLmJzZC5Cc2RUaHJlYWQuZ2V0Q29u dGV4dChCc2RUaHJlYWQuamF2YTo2OCkKCWF0IHN1bi5qdm0uaG90c3BvdC5ydW50aW1lLmJzZF9h bWQ2NC5Cc2RBTUQ2NEphdmFUaHJlYWRQREFjY2Vzcy5nZXRDdXJyZW50RnJhbWVHdWVzcyhCc2RB TUQ2NEphdmFUaHJlYWRQREFjY2Vzcy5qYXZhOjk3KQoJYXQgc3VuLmp2bS5ob3RzcG90LnJ1bnRp bWUuSmF2YVRocmVhZC5nZXRDdXJyZW50RnJhbWVHdWVzcyhKYXZhVGhyZWFkLmphdmE6MjU2KQoJ YXQgc3VuLmp2bS5ob3RzcG90LnJ1bnRpbWUuSmF2YVRocmVhZC5nZXRMYXN0SmF2YVZGcmFtZURi ZyhKYXZhVGhyZWFkLmphdmE6MjE4KQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xzLlBTdGFjay5p bml0SkZyYW1lQ2FjaGUoUFN0YWNrLmphdmE6MjAzKQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xz LlBTdGFjay5ydW4oUFN0YWNrLmphdmE6NzEpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuUFN0 YWNrLnJ1bihQU3RhY2suamF2YTo1OCkKCWF0IHN1bi5qdm0uaG90c3BvdC50b29scy5QU3RhY2su cnVuKFBTdGFjay5qYXZhOjUzKQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xzLkpTdGFjay5ydW4o SlN0YWNrLmphdmE6NjYpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuVG9vbC5zdGFydEludGVy bmFsKFRvb2wuamF2YToyNjApCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuVG9vbC5zdGFydChU b29sLmphdmE6MjIzKQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xzLlRvb2wuZXhlY3V0ZShUb29s LmphdmE6MTE4KQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xzLkpTdGFjay5tYWluKEpTdGFjay5q YXZhOjkyKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAo TmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5p bnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NjIpCglhdCBzdW4ucmVmbGVjdC5E ZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNz b3JJbXBsLmphdmE6NDMpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhv ZC5qYXZhOjQ5NykKCWF0IHN1bi50b29scy5qc3RhY2suSlN0YWNrLnJ1bkpTdGFja1Rvb2woSlN0 YWNrLmphdmE6MTQwKQoJYXQgc3VuLnRvb2xzLmpzdGFjay5KU3RhY2subWFpbihKU3RhY2suamF2 YToxMDYpCkNhdXNlZCBieTogc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLkRlYnVnZ2VyRXhjZXB0 aW9uOiBnZXRfdGhyZWFkX3JlZ3MgZmFpbGVkIGZvciBhIGx3cAoJYXQgc3VuLmp2bS5ob3RzcG90 LmRlYnVnZ2VyLmJzZC5Cc2REZWJ1Z2dlckxvY2FsLmdldFRocmVhZEludGVnZXJSZWdpc3RlclNl dDAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5ic2QuQnNkRGVi dWdnZXJMb2NhbC5hY2Nlc3MkODAwKEJzZERlYnVnZ2VyTG9jYWwuamF2YTo2NSkKCWF0IHN1bi5q dm0uaG90c3BvdC5kZWJ1Z2dlci5ic2QuQnNkRGVidWdnZXJMb2NhbCQxR2V0VGhyZWFkSW50ZWdl clJlZ2lzdGVyU2V0VGFzay5kb2l0KEJzZERlYnVnZ2VyTG9jYWwuamF2YTo0OTEpCglhdCBzdW4u anZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJzZERlYnVnZ2VyTG9jYWwkQnNkRGVidWdnZXJMb2Nh bFdvcmtlclRocmVhZC5ydW4oQnNkRGVidWdnZXJMb2NhbC5qYXZhOjE0NCkKc3VuLmp2bS5ob3Rz cG90LmRlYnVnZ2VyLkRlYnVnZ2VyRXhjZXB0aW9uOiBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIu RGVidWdnZXJFeGNlcHRpb246IGdldF90aHJlYWRfcmVncyBmYWlsZWQgZm9yIGEgbHdwCglhdCBz dW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJzZERlYnVnZ2VyTG9jYWwkQnNkRGVidWdnZXJM b2NhbFdvcmtlclRocmVhZC5leGVjdXRlKEJzZERlYnVnZ2VyTG9jYWwuamF2YToxNjkpCglhdCBz dW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJzZERlYnVnZ2VyTG9jYWwuZ2V0VGhyZWFkSW50 ZWdlclJlZ2lzdGVyU2V0KEJzZERlYnVnZ2VyTG9jYWwuamF2YTo0OTcpCglhdCBzdW4uanZtLmhv dHNwb3QuZGVidWdnZXIuYnNkLkJzZFRocmVhZC5nZXRDb250ZXh0KEJzZFRocmVhZC5qYXZhOjY4 KQoJYXQgc3VuLmp2bS5ob3RzcG90LnJ1bnRpbWUuYnNkX2FtZDY0LkJzZEFNRDY0SmF2YVRocmVh ZFBEQWNjZXNzLmdldEN1cnJlbnRGcmFtZUd1ZXNzKEJzZEFNRDY0SmF2YVRocmVhZFBEQWNjZXNz LmphdmE6OTcpCglhdCBzdW4uanZtLmhvdHNwb3QucnVudGltZS5KYXZhVGhyZWFkLmdldEN1cnJl bnRGcmFtZUd1ZXNzKEphdmFUaHJlYWQuamF2YToyNTYpCglhdCBzdW4uanZtLmhvdHNwb3QucnVu dGltZS5KYXZhVGhyZWFkLmdldExhc3RKYXZhVkZyYW1lRGJnKEphdmFUaHJlYWQuamF2YToyMTgp CglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuUFN0YWNrLmluaXRKRnJhbWVDYWNoZShQU3RhY2su amF2YToyMDMpCglhdCBzdW4uanZtLmhvdHNwb3QudG9vbHMuUFN0YWNrLnJ1bihQU3RhY2suamF2 YTo3MSkKCWF0IHN1bi5qdm0uaG90c3BvdC50b29scy5QU3RhY2sucnVuKFBTdGFjay5qYXZhOjU4 KQoJYXQgc3VuLmp2bS5ob3RzcG90LnRvb2xzLlBTdGFjay5ydW4oUFN0YWNrLmphdmE6NTMpCglh dCBzdW4uanZtLmhvdHNwb3QudG9vbHMuSlN0YWNrLnJ1bihKU3RhY2suamF2YTo2NikKCWF0IHN1 bi5qdm0uaG90c3BvdC50b29scy5Ub29sLnN0YXJ0SW50ZXJuYWwoVG9vbC5qYXZhOjI2MCkKCWF0 IHN1bi5qdm0uaG90c3BvdC50b29scy5Ub29sLnN0YXJ0KFRvb2wuamF2YToyMjMpCglhdCBzdW4u anZtLmhvdHNwb3QudG9vbHMuVG9vbC5leGVjdXRlKFRvb2wuamF2YToxMTgpCglhdCBzdW4uanZt LmhvdHNwb3QudG9vbHMuSlN0YWNrLm1haW4oSlN0YWNrLmphdmE6OTIpCglhdCBzdW4ucmVmbGVj dC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQgc3Vu LnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nl c3NvckltcGwuamF2YTo2MikKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3Nv ckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGph dmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NDk3KQoJYXQgc3VuLnRv b2xzLmpzdGFjay5KU3RhY2sucnVuSlN0YWNrVG9vbChKU3RhY2suamF2YToxNDApCglhdCBzdW4u dG9vbHMuanN0YWNrLkpTdGFjay5tYWluKEpTdGFjay5qYXZhOjEwNikKQ2F1c2VkIGJ5OiBzdW4u anZtLmhvdHNwb3QuZGVidWdnZXIuRGVidWdnZXJFeGNlcHRpb246IGdldF90aHJlYWRfcmVncyBm YWlsZWQgZm9yIGEgbHdwCglhdCBzdW4uanZtLmhvdHNwb3QuZGVidWdnZXIuYnNkLkJzZERlYnVn Z2VyTG9jYWwuZ2V0VGhyZWFkSW50ZWdlclJlZ2lzdGVyU2V0MChOYXRpdmUgTWV0aG9kKQoJYXQg c3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLmJzZC5Cc2REZWJ1Z2dlckxvY2FsLmFjY2VzcyQ4MDAo QnNkRGVidWdnZXJMb2NhbC5qYXZhOjY1KQoJYXQgc3VuLmp2bS5ob3RzcG90LmRlYnVnZ2VyLmJz ZC5Cc2REZWJ1Z2dlckxvY2FsJDFHZXRUaHJlYWRJbnRlZ2VyUmVnaXN0ZXJTZXRUYXNrLmRvaXQo QnNkRGVidWdnZXJMb2NhbC5qYXZhOjQ5MSkKCWF0IHN1bi5qdm0uaG90c3BvdC5kZWJ1Z2dlci5i c2QuQnNkRGVidWdnZXJMb2NhbCRCc2REZWJ1Z2dlckxvY2FsV29ya2VyVGhyZWFkLnJ1bihCc2RE ZWJ1Z2dlckxvY2FsLmphdmE6MTQ0KQpEZWFkbG9jayBEZXRlY3Rpb246CgpObyBkZWFkbG9ja3Mg Zm91bmQuCgotLS0tLS0tLS0tLS0tLS0tLSAwIC0tLS0tLS0tLS0tLS0tLS0tCjB4MDAwMDAwMDgw MGE1NWY4YwkJPz8/Pz8/Pz8KMHgwMDAwMDAwMDAwNDA3N2NkCUNvbnRpbnVlSW5OZXdUaHJlYWQw ICsgMHg2ZAoweDAwMDAwMDAwMDA0MDViOGMJQ29udGludWVJbk5ld1RocmVhZCArIDB4OWMKMHgw MDAwMDAwMDAwNDAzOTk3CUpMSV9MYXVuY2ggKyAweDE2OTcKMHgwMDAwMDAwMDAwNDA5YjdjCW1h aW4gKyAweDZjCjB4MDAwMDAwMDAwMDQwMWVmZglfc3RhcnQgKyAweDE2ZgotLS0tLS0tLS0tLS0t LS0tLSAwIC0tLS0tLS0tLS0tLS0tLS0tCjB4MDAwMDAwMDgwMGE1NWY4YwkJPz8/Pz8/Pz8KMHgw MDAwMDAwODAwYTU0NDZlCQk/Pz8/Pz8/PwoweDAwMDAwMDA4MDIzYjc0NzQJX1pONlBhcmtlcjRw YXJrRWJsICsgMHgyODQKMHgwMDAwMDAwODAyNGU4MWMxCVVuc2FmZV9QYXJrICsgMHgxMzEKMHgw MDAwMDAwODAzYzQ3ODk0CTxpbnRlcnByZXRlcj4gbWV0aG9kIGVudHJ5IHBvaW50IChraW5kID0g bmF0aXZlKQoweDAwMDAwMDA4MDNjMzlhNjYJPGludGVycHJldGVyPiBpbnZva2UgcmV0dXJuIGVu dHJ5IHBvaW50cwoweDAwMDAwMDA4MDNjMzlhNjYJPGludGVycHJldGVyPiBpbnZva2UgcmV0dXJu IGVudHJ5IHBvaW50cwoweDAwMDAwMDA4MDNjMzk0NzAJPGludGVycHJldGVyPiBpbnZva2UgcmV0 dXJuIGVudHJ5IHBvaW50cwoweDAwMDAwMDA4MDNjMzk4OTcJPGludGVycHJldGVyPiBpbnZva2Ug cmV0dXJuIGVudHJ5IHBvaW50cwoweDAwMDAwMDA4MDNjMzlhNjYJPGludGVycHJldGVyPiBpbnZv a2UgcmV0dXJuIGVudHJ5IHBvaW50cwoweDAwMDAwMDA4MDNjMzk3YjAJPGludGVycHJldGVyPiBp bnZva2UgcmV0dXJuIGVudHJ5IHBvaW50cwoweDAwMDAwMDA4MDNjMzlhNjYJPGludGVycHJldGVy PiBpbnZva2UgcmV0dXJuIGVudHJ5IHBvaW50cwoweDAwMDAwMDA4MDNjMzI0ZTcJPFN0dWJSb3V0 aW5lcz4KMHgwMDAwMDAwODAyMWExNGQyCV9aTjlKYXZhQ2FsbHMxMWNhbGxfaGVscGVyRVA5SmF2 YVZhbHVlUDEybWV0aG9kSGFuZGxlUDE3SmF2YUNhbGxBcmd1bWVudHNQNlRocmVhZCArIDB4OTQy CjB4MDAwMDAwMDgwMjFiZDZiMAlfWkwxN2puaV9pbnZva2Vfc3RhdGljUDdKTklFbnZfUDlKYXZh VmFsdWVQOF9qb2JqZWN0MTFKTklDYWxsVHlwZVAxMF9qbWV0aG9kSURQMThKTklfQXJndW1lbnRQ dXNoZXJQNlRocmVhZCArIDB4MzcwCjB4MDAwMDAwMDgwMjFjMWFmNglqbmlfQ2FsbFN0YXRpY1Zv aWRNZXRob2QgKyAweDFlNgoweDAwMDAwMDAwMDA0MDRiMGMJSmF2YU1haW4gKyAweGMwYwoweDAw MDAwMDA4MDBhNGE3MzQJCT8/Pz8/Pz8/Ci0tLS0tLS0tLS0tLS0tLS0tIDAgLS0tLS0tLS0tLS0t LS0tLS0KMHgwMDAwMDAwODAwYTU1ZjhjCQk/Pz8/Pz8/PwoweDAwMDAwMDA4MDBhNTQ0NmUJCT8/ Pz8/Pz8/CjB4MDAwMDAwMDgwMjNiNzE1YglfWk4yb3MxM1BsYXRmb3JtRXZlbnQ0cGFya0V2ICsg MHhjYgoweDAwMDAwMDA4MDIzODg1YTIJX1pON01vbml0b3I1SVdhaXRFUDZUaHJlYWRsICsgMHhk MgoweDAwMDAwMDA4MDIzODhjMTQJX1pON01vbml0b3I0d2FpdEVibGIgKyAweDc0CjB4MDAwMDAw MDgwMjEwZGMwMglfWk4xM0dDVGFza01hbmFnZXI4Z2V0X3Rhc2tFaiArIDB4NjIKMHgwMDAwMDAw ODAyMTBlZWIyCV9aTjEyR0NUYXNrVGhyZWFkM3J1bkV2ICsgMHgxMzIKMHgwMDAwMDAwODAyM2Iy MWVmCV9aTDEwamF2YV9zdGFydFA2VGhyZWFkICsgMHhmZgoweDAwMDAwMDA4MDBhNGE3MzQJCT8/ Pz8/Pz8/Ci0tLS0tLS0tLS0tLS0tLS0tIDAgLS0tLS0tLS0tLS0tLS0tLS0KMHgwMDAwMDAwODAw YTU1ZjhjCQk/Pz8/Pz8/PwoweDAwMDAwMDA4MDBhNTQ0NmUJCT8/Pz8/Pz8/CjB4MDAwMDAwMDgw MjNiNzE1YglfWk4yb3MxM1BsYXRmb3JtRXZlbnQ0cGFya0V2ICsgMHhjYgoweDAwMDAwMDA4MDIz ODg1YTIJX1pON01vbml0b3I1SVdhaXRFUDZUaHJlYWRsICsgMHhkMgoweDAwMDAwMDA4MDIzODhj MTQJX1pON01vbml0b3I0d2FpdEVibGIgKyAweDc0CjB4MDAwMDAwMDgwMjEwZGMwMglfWk4xM0dD VGFza01hbmFnZXI4Z2V0X3Rhc2tFaiArIDB4NjIKMHgwMDAwMDAwODAyMTBlZWIyCV9aTjEyR0NU YXNrVGhyZWFkM3J1bkV2ICsgMHgxMzIKMHgwMDAwMDAwODAyM2IyMWVmCV9aTDEwamF2YV9zdGFy dFA2VGhyZWFkICsgMHhmZgoweDAwMDAwMDA4MDBhNGE3MzQJCT8/Pz8/Pz8/Ci0tLS0tLS0tLS0t LS0tLS0tIDAgLS0tLS0tLS0tLS0tLS0tLS0KMHgwMDAwMDAwODAwYTU1ZjhjCQk/Pz8/Pz8/Pwow eDAwMDAwMDA4MDBhNTQ0NmUJCT8/Pz8/Pz8/CjB4MDAwMDAwMDgwMjNiNzE1YglfWk4yb3MxM1Bs YXRmb3JtRXZlbnQ0cGFya0V2ICsgMHhjYgoweDAwMDAwMDA4MDIzODg1YTIJX1pON01vbml0b3I1 SVdhaXRFUDZUaHJlYWRsICsgMHhkMgoweDAwMDAwMDA4MDIzODhjMTQJX1pON01vbml0b3I0d2Fp dEVibGIgKyAweDc0CjB4MDAwMDAwMDgwMjEwZGMwMglfWk4xM0dDVGFza01hbmFnZXI4Z2V0X3Rh c2tFaiArIDB4NjIKMHgwMDAwMDAwODAyMTBlZWIyCV9aTjEyR0NUYXNrVGhyZWFkM3J1bkV2ICsg MHgxMzIKMHgwMDAwMDAwODAyM2IyMWVmCV9aTDEwamF2YV9zdGFydFA2VGhyZWFkICsgMHhmZgow eDAwMDAwMDA4MDBhNGE3MzQJCT8/Pz8/Pz8/Ci0tLS0tLS0tLS0tLS0tLS0tIDAgLS0tLS0tLS0t LS0tLS0tLS0KMHgwMDAwMDAwODAwYTU1ZjhjCQk/Pz8/Pz8/PwoweDAwMDAwMDA4MDBhNTQ0NmUJ CT8/Pz8/Pz8/CjB4MDAwMDAwMDgwMjNiNzE1YglfWk4yb3MxM1BsYXRmb3JtRXZlbnQ0cGFya0V2 ICsgMHhjYgoweDAwMDAwMDA4MDIzODg1YTIJX1pON01vbml0b3I1SVdhaXRFUDZUaHJlYWRsICsg MHhkMgoweDAwMDAwMDA4MDIzODhjMTQJX1pON01vbml0b3I0d2FpdEVibGIgKyAweDc0CjB4MDAw MDAwMDgwMjEwZGMwMglfWk4xM0dDVGFza01hbmFnZXI4Z2V0X3Rhc2tFaiArIDB4NjIKMHgwMDAw MDAwODAyMTBlZWIyCV9aTjEyR0NUYXNrVGhyZWFkM3J1bkV2ICsgMHgxMzIKMHgwMDAwMDAwODAy M2IyMWVmCV9aTDEwamF2YV9zdGFydFA2VGhyZWFkICsgMHhmZgoweDAwMDAwMDA4MDBhNGE3MzQJ CT8/Pz8/Pz8/Ci0tLS0tLS0tLS0tLS0tLS0tIDAgLS0tLS0tLS0tLS0tLS0tLS0KMHgwMDAwMDAw ODAwYTU1ZjhjCQk/Pz8/Pz8/PwoweDAwMDAwMDA4MDBhNTQ0NmUJCT8/Pz8/Pz8/CjB4MDAwMDAw MDgwMjNiNGJmNglfWk4yb3MxM1BsYXRmb3JtRXZlbnQ0cGFya0VsICsgMHgxNzYKMHgwMDAwMDAw ODAyMzg4NWJlCV9aTjdNb25pdG9yNUlXYWl0RVA2VGhyZWFkbCArIDB4ZWUKMHgwMDAwMDAwODAy Mzg4YzE0CV9aTjdNb25pdG9yNHdhaXRFYmxiICsgMHg3NAoweDAwMDAwMDA4MDI1MjRlZjkJX1pO OFZNVGhyZWFkNGxvb3BFdiArIDB4MWE5CjB4MDAwMDAwMDgwMjUyNGM0NQlfWk44Vk1UaHJlYWQz cnVuRXYgKyAweDc1CjB4MDAwMDAwMDgwMjNiMjFlZglfWkwxMGphdmFfc3RhcnRQNlRocmVhZCAr IDB4ZmYKMHgwMDAwMDAwODAwYTRhNzM0CQk/Pz8/Pz8/PwotLS0tLS0tLS0tLS0tLS0tLSAwIC0t LS0tLS0tLS0tLS0tLS0tCjB4MDAwMDAwMDgwMGE1NWY4YwkJPz8/Pz8/Pz8KMHgwMDAwMDAwODAw YTU0NDZlCQk/Pz8/Pz8/PwoweDAwMDAwMDA4MDIzYjcxNWIJX1pOMm9zMTNQbGF0Zm9ybUV2ZW50 NHBhcmtFdiArIDB4Y2IKMHgwMDAwMDAwODAyM2E2ZmVlCV9aTjEzT2JqZWN0TW9uaXRvcjR3YWl0 RWxiUDZUaHJlYWQgKyAweDM4ZQoweDAwMDAwMDA4MDIxZjkxMTQJSlZNX01vbml0b3JXYWl0ICsg MHgxNzQKMHgwMDAwMDAwODAzYzQ3ODk0CTxpbnRlcnByZXRlcj4gbWV0aG9kIGVudHJ5IHBvaW50 IChraW5kID0gbmF0aXZlKQoweDAwMDAwMDA4MDNjMzlhNjYJPGludGVycHJldGVyPiBpbnZva2Ug cmV0dXJuIGVudHJ5IHBvaW50cwoweDAwMDAwMDA4MDNjMzlhNjYJPGludGVycHJldGVyPiBpbnZv a2UgcmV0dXJuIGVudHJ5IHBvaW50cwoweDAwMDAwMDA4MDNjMzI0ZTcJPFN0dWJSb3V0aW5lcz4K MHgwMDAwMDAwODAyMWExNGQyCV9aTjlKYXZhQ2FsbHMxMWNhbGxfaGVscGVyRVA5SmF2YVZhbHVl UDEybWV0aG9kSGFuZGxlUDE3SmF2YUNhbGxBcmd1bWVudHNQNlRocmVhZCArIDB4OTQyCjB4MDAw MDAwMDgwMjE5ZmU5ZAlfWk45SmF2YUNhbGxzMTJjYWxsX3ZpcnR1YWxFUDlKYXZhVmFsdWUxMUts YXNzSGFuZGxlUDZTeW1ib2xTNF9QMTdKYXZhQ2FsbEFyZ3VtZW50c1A2VGhyZWFkICsgMHgxZGQK MHgwMDAwMDAwODAyMWEwMGNjCV9aTjlKYXZhQ2FsbHMxMmNhbGxfdmlydHVhbEVQOUphdmFWYWx1 ZTZIYW5kbGUxMUtsYXNzSGFuZGxlUDZTeW1ib2xTNV9QNlRocmVhZCArIDB4NWMKMHgwMDAwMDAw ODAyMjBiNTVlCV9aTDEydGhyZWFkX2VudHJ5UDEwSmF2YVRocmVhZFA2VGhyZWFkICsgMHhhZQow eDAwMDAwMDA4MDI0YjljOGUJX1pOMTBKYXZhVGhyZWFkMTd0aHJlYWRfbWFpbl9pbm5lckV2ICsg MHhlZQoweDAwMDAwMDA4MDIzYjIxZWYJX1pMMTBqYXZhX3N0YXJ0UDZUaHJlYWQgKyAweGZmCjB4 MDAwMDAwMDgwMGE0YTczNAkJPz8/Pz8/Pz8KLS0tLS0tLS0tLS0tLS0tLS0gMCAtLS0tLS0tLS0t LS0tLS0tLQoweDAwMDAwMDA4MDBhNTVmOGMJCT8/Pz8/Pz8/CjB4MDAwMDAwMDgwMGE1NDQ2ZQkJ Pz8/Pz8/Pz8KMHgwMDAwMDAwODAyM2I3MTViCV9aTjJvczEzUGxhdGZvcm1FdmVudDRwYXJrRXYg KyAweGNiCjB4MDAwMDAwMDgwMjNhNmZlZQlfWk4xM09iamVjdE1vbml0b3I0d2FpdEVsYlA2VGhy ZWFkICsgMHgzOGUKMHgwMDAwMDAwODAyMWY5MTE0CUpWTV9Nb25pdG9yV2FpdCArIDB4MTc0CjB4 MDAwMDAwMDgwM2M0Nzg5NAk8aW50ZXJwcmV0ZXI+IG1ldGhvZCBlbnRyeSBwb2ludCAoa2luZCA9 IG5hdGl2ZSkKMHgwMDAwMDAwODAzYzM5YTY2CTxpbnRlcnByZXRlcj4gaW52b2tlIHJldHVybiBl bnRyeSBwb2ludHMKMHgwMDAwMDAwODAzZmM4YWY0CTxVbmtub3duIGNvbXBpbGVkIGNvZGU+CjB4 MDAwMDAwMDgwM2MzMjRlNwk8U3R1YlJvdXRpbmVzPgoweDAwMDAwMDA4MDIxYTE0ZDIJX1pOOUph dmFDYWxsczExY2FsbF9oZWxwZXJFUDlKYXZhVmFsdWVQMTJtZXRob2RIYW5kbGVQMTdKYXZhQ2Fs bEFyZ3VtZW50c1A2VGhyZWFkICsgMHg5NDIKMHgwMDAwMDAwODAyMTlmZTlkCV9aTjlKYXZhQ2Fs bHMxMmNhbGxfdmlydHVhbEVQOUphdmFWYWx1ZTExS2xhc3NIYW5kbGVQNlN5bWJvbFM0X1AxN0ph dmFDYWxsQXJndW1lbnRzUDZUaHJlYWQgKyAweDFkZAoweDAwMDAwMDA4MDIxYTAwY2MJX1pOOUph dmFDYWxsczEyY2FsbF92aXJ0dWFsRVA5SmF2YVZhbHVlNkhhbmRsZTExS2xhc3NIYW5kbGVQNlN5 bWJvbFM1X1A2VGhyZWFkICsgMHg1YwoweDAwMDAwMDA4MDIyMGI1NWUJX1pMMTJ0aHJlYWRfZW50 cnlQMTBKYXZhVGhyZWFkUDZUaHJlYWQgKyAweGFlCjB4MDAwMDAwMDgwMjRiOWM4ZQlfWk4xMEph dmFUaHJlYWQxN3RocmVhZF9tYWluX2lubmVyRXYgKyAweGVlCjB4MDAwMDAwMDgwMjNiMjFlZglf WkwxMGphdmFfc3RhcnRQNlRocmVhZCArIDB4ZmYKMHgwMDAwMDAwODAwYTRhNzM0CQk/Pz8/Pz8/ PwotLS0tLS0tLS0tLS0tLS0tLSAwIC0tLS0tLS0tLS0tLS0tLS0tCjB4MDAwMDAwMDgwMGNkOTU4 YQlfX3VtdHhfb3AgKyAweGEKMHgwMDAwMDAwODAyM2IzYjIwCV9aTjJvczExc2lnbmFsX3dhaXRF diArIDB4MTYwCjB4MDAwMDAwMDgwMjNhZThjOQlfWkwxOXNpZ25hbF90aHJlYWRfZW50cnlQMTBK YXZhVGhyZWFkUDZUaHJlYWQgKyAweDM5CjB4MDAwMDAwMDgwMjRiOWM4ZQlfWk4xMEphdmFUaHJl YWQxN3RocmVhZF9tYWluX2lubmVyRXYgKyAweGVlCjB4MDAwMDAwMDgwMjNiMjFlZglfWkwxMGph dmFfc3RhcnRQNlRocmVhZCArIDB4ZmYKMHgwMDAwMDAwODAwYTRhNzM0CQk/Pz8/Pz8/PwotLS0t LS0tLS0tLS0tLS0tLSAwIC0tLS0tLS0tLS0tLS0tLS0tCjB4MDAwMDAwMDgwMGE1NWY4YwkJPz8/ Pz8/Pz8KMHgwMDAwMDAwODAwYTU0NDZlCQk/Pz8/Pz8/PwoweDAwMDAwMDA4MDIzYjRiZjYJX1pO Mm9zMTNQbGF0Zm9ybUV2ZW50NHBhcmtFbCArIDB4MTc2CjB4MDAwMDAwMDgwMjM4ODViZQlfWk43 TW9uaXRvcjVJV2FpdEVQNlRocmVhZGwgKyAweGVlCjB4MDAwMDAwMDgwMjM4OGQ3NQlfWk43TW9u aXRvcjR3YWl0RWJsYiArIDB4MWQ1CjB4MDAwMDAwMDgwMjAyYWM0MwlfWk4xMkNvbXBpbGVRdWV1 ZTNnZXRFdiArIDB4OTMKMHgwMDAwMDAwODAyMDJkY2Q0CV9aTjEzQ29tcGlsZUJyb2tlcjIwY29t cGlsZXJfdGhyZWFkX2xvb3BFdiArIDB4MTc0CjB4MDAwMDAwMDgwMjRiOWM4ZQlfWk4xMEphdmFU aHJlYWQxN3RocmVhZF9tYWluX2lubmVyRXYgKyAweGVlCjB4MDAwMDAwMDgwMjNiMjFlZglfWkwx MGphdmFfc3RhcnRQNlRocmVhZCArIDB4ZmYKMHgwMDAwMDAwODAwYTRhNzM0CQk/Pz8/Pz8/Pwot LS0tLS0tLS0tLS0tLS0tLSAwIC0tLS0tLS0tLS0tLS0tLS0tCjB4MDAwMDAwMDgwMGE1NWY4YwkJ Pz8/Pz8/Pz8KMHgwMDAwMDAwODAwYTU0NDZlCQk/Pz8/Pz8/PwoweDAwMDAwMDA4MDIzYjRiZjYJ X1pOMm9zMTNQbGF0Zm9ybUV2ZW50NHBhcmtFbCArIDB4MTc2CjB4MDAwMDAwMDgwMjM4ODViZQlf Wk43TW9uaXRvcjVJV2FpdEVQNlRocmVhZGwgKyAweGVlCjB4MDAwMDAwMDgwMjM4OGQ3NQlfWk43 TW9uaXRvcjR3YWl0RWJsYiArIDB4MWQ1CjB4MDAwMDAwMDgwMjAyYWM0MwlfWk4xMkNvbXBpbGVR dWV1ZTNnZXRFdiArIDB4OTMKMHgwMDAwMDAwODAyMDJkY2Q0CV9aTjEzQ29tcGlsZUJyb2tlcjIw Y29tcGlsZXJfdGhyZWFkX2xvb3BFdiArIDB4MTc0CjB4MDAwMDAwMDgwMjRiOWM4ZQlfWk4xMEph dmFUaHJlYWQxN3RocmVhZF9tYWluX2lubmVyRXYgKyAweGVlCjB4MDAwMDAwMDgwMjNiMjFlZglf WkwxMGphdmFfc3RhcnRQNlRocmVhZCArIDB4ZmYKMHgwMDAwMDAwODAwYTRhNzM0CQk/Pz8/Pz8/ PwotLS0tLS0tLS0tLS0tLS0tLSAwIC0tLS0tLS0tLS0tLS0tLS0tCjB4MDAwMDAwMDgwMGE1NWY4 YwkJPz8/Pz8/Pz8KMHgwMDAwMDAwODAwYTU0NDZlCQk/Pz8/Pz8/PwoweDAwMDAwMDA4MDIzYjRi ZjYJX1pOMm9zMTNQbGF0Zm9ybUV2ZW50NHBhcmtFbCArIDB4MTc2CjB4MDAwMDAwMDgwMjM4ODVi ZQlfWk43TW9uaXRvcjVJV2FpdEVQNlRocmVhZGwgKyAweGVlCjB4MDAwMDAwMDgwMjM4OGQ3NQlf Wk43TW9uaXRvcjR3YWl0RWJsYiArIDB4MWQ1CjB4MDAwMDAwMDgwMjAyYWM0MwlfWk4xMkNvbXBp bGVRdWV1ZTNnZXRFdiArIDB4OTMKMHgwMDAwMDAwODAyMDJkY2Q0CV9aTjEzQ29tcGlsZUJyb2tl cjIwY29tcGlsZXJfdGhyZWFkX2xvb3BFdiArIDB4MTc0CjB4MDAwMDAwMDgwMjRiOWM4ZQlfWk4x MEphdmFUaHJlYWQxN3RocmVhZF9tYWluX2lubmVyRXYgKyAweGVlCjB4MDAwMDAwMDgwMjNiMjFl ZglfWkwxMGphdmFfc3RhcnRQNlRocmVhZCArIDB4ZmYKMHgwMDAwMDAwODAwYTRhNzM0CQk/Pz8/ Pz8/PwotLS0tLS0tLS0tLS0tLS0tLSAwIC0tLS0tLS0tLS0tLS0tLS0tCjB4MDAwMDAwMDgwMGE1 NWY4YwkJPz8/Pz8/Pz8KMHgwMDAwMDAwODAwYTU0NDZlCQk/Pz8/Pz8/PwoweDAwMDAwMDA4MDIz YjcxNWIJX1pOMm9zMTNQbGF0Zm9ybUV2ZW50NHBhcmtFdiArIDB4Y2IKMHgwMDAwMDAwODAyMzg4 NWEyCV9aTjdNb25pdG9yNUlXYWl0RVA2VGhyZWFkbCArIDB4ZDIKMHgwMDAwMDAwODAyMzg4YzE0 CV9aTjdNb25pdG9yNHdhaXRFYmxiICsgMHg3NAoweDAwMDAwMDA4MDI0MmMzYjUJX1pOMTNTZXJ2 aWNlVGhyZWFkMjBzZXJ2aWNlX3RocmVhZF9lbnRyeUVQMTBKYXZhVGhyZWFkUDZUaHJlYWQgKyAw eDEyNQoweDAwMDAwMDA4MDI0YjljOGUJX1pOMTBKYXZhVGhyZWFkMTd0aHJlYWRfbWFpbl9pbm5l ckV2ICsgMHhlZQoweDAwMDAwMDA4MDIzYjIxZWYJX1pMMTBqYXZhX3N0YXJ0UDZUaHJlYWQgKyAw eGZmCjB4MDAwMDAwMDgwMGE0YTczNAkJPz8/Pz8/Pz8KLS0tLS0tLS0tLS0tLS0tLS0gMCAtLS0t LS0tLS0tLS0tLS0tLQoweDAwMDAwMDA4MDBhNTVmOGMJCT8/Pz8/Pz8/CjB4MDAwMDAwMDgwMGE1 NDQ2ZQkJPz8/Pz8/Pz8KMHgwMDAwMDAwODAyM2I0YmY2CV9aTjJvczEzUGxhdGZvcm1FdmVudDRw YXJrRWwgKyAweDE3NgoweDAwMDAwMDA4MDIzODg1YmUJX1pON01vbml0b3I1SVdhaXRFUDZUaHJl YWRsICsgMHhlZQoweDAwMDAwMDA4MDIzODhjMTQJX1pON01vbml0b3I0d2FpdEVibGIgKyAweDc0 CjB4MDAwMDAwMDgwMjRiOGUwZglfWk5LMTNXYXRjaGVyVGhyZWFkNXNsZWVwRXYgKyAweDdmCjB4 MDAwMDAwMDgwMjRiOGVlZAlfWk4xM1dhdGNoZXJUaHJlYWQzcnVuRXYgKyAweDRkCjB4MDAwMDAw MDgwMjNiMjFlZglfWkwxMGphdmFfc3RhcnRQNlRocmVhZCArIDB4ZmYKMHgwMDAwMDAwODAwYTRh NzM0CQk/Pz8/Pz8/PwotLS0tLS0tLS0tLS0tLS0tLSAwIC0tLS0tLS0tLS0tLS0tLS0tCjB4MDAw MDAwMDgwMGRiYjI2YQlfd3JpdGUgKyAweGEKMHgwMDAwMDAwODAzODE2YjVlCWhhbmRsZVdyaXRl ICsgMHgyZQoweDAwMDAwMDA4MDM4MTY2OWQJd3JpdGVCeXRlcyArIDB4MTVkCjB4MDAwMDAwMDgw MzgwZTBmYglKYXZhX2phdmFfaW9fRmlsZU91dHB1dFN0cmVhbV93cml0ZUJ5dGVzICsgMHgxYgow eDAwMDAwMDA4MDNkYzNiOWUJPFVua25vd24gY29tcGlsZWQgY29kZT4KMHgwMDAwMDAwODAzZWI4 NzY4CTxVbmtub3duIGNvbXBpbGVkIGNvZGU+Ci0tLS0tLS0tLS0tLS0tLS0tIDAgLS0tLS0tLS0t LS0tLS0tLS0KMHgwMDAwMDAwODAwYTU1ZjhjCQk/Pz8/Pz8/PwoweDAwMDAwMDA4MDBhNTQ0NmUJ CT8/Pz8/Pz8/CjB4MDAwMDAwMDgwMjNiNGJmNglfWk4yb3MxM1BsYXRmb3JtRXZlbnQ0cGFya0Vs ICsgMHgxNzYKMHgwMDAwMDAwODAyM2E1NzYyCV9aTjEzT2JqZWN0TW9uaXRvcjZFbnRlcklFUDZU aHJlYWQgKyAweDIyMgoweDAwMDAwMDA4MDIzYTRjZjgJX1pOMTNPYmplY3RNb25pdG9yNWVudGVy RVA2VGhyZWFkICsgMHgyMDgKMHgwMDAwMDAwODAxZjhjNDZhCV9aTjhSdW50aW1lMTEybW9uaXRv cmVudGVyRVAxMEphdmFUaHJlYWRQN29vcERlc2NQMTVCYXNpY09iamVjdExvY2sgKyAweGNhCjB4 MDAwMDAwMDgwM2QyZTJjOAk8UnVudGltZVN0dWI+CjB4MDAwMDAwMDgwNDE2ZjZjMgk8VW5rbm93 biBjb21waWxlZCBjb2RlPgoweDAwMDAwMDA4MDQyMjRmYWMJPFVua25vd24gY29tcGlsZWQgY29k ZT4KMHgwMDAwMDAwODAzYzM5YTY2CTxpbnRlcnByZXRlcj4gaW52b2tlIHJldHVybiBlbnRyeSBw b2ludHMKMHgwMDAwMDAwODAzYzM5YWFiCTxpbnRlcnByZXRlcj4gaW52b2tlIHJldHVybiBlbnRy eSBwb2ludHMKMHgwMDAwMDAwODAzYzMyNGU3CTxTdHViUm91dGluZXM+CjB4MDAwMDAwMDgwMjFh MTRkMglfWk45SmF2YUNhbGxzMTFjYWxsX2hlbHBlckVQOUphdmFWYWx1ZVAxMm1ldGhvZEhhbmRs ZVAxN0phdmFDYWxsQXJndW1lbnRzUDZUaHJlYWQgKyAweDk0MgoweDAwMDAwMDA4MDIxOWZlOWQJ X1pOOUphdmFDYWxsczEyY2FsbF92aXJ0dWFsRVA5SmF2YVZhbHVlMTFLbGFzc0hhbmRsZVA2U3lt Ym9sUzRfUDE3SmF2YUNhbGxBcmd1bWVudHNQNlRocmVhZCArIDB4MWRkCjB4MDAwMDAwMDgwMjFh MDBjYwlfWk45SmF2YUNhbGxzMTJjYWxsX3ZpcnR1YWxFUDlKYXZhVmFsdWU2SGFuZGxlMTFLbGFz c0hhbmRsZVA2U3ltYm9sUzVfUDZUaHJlYWQgKyAweDVjCjB4MDAwMDAwMDgwMjIwYjU1ZQlfWkwx MnRocmVhZF9lbnRyeVAxMEphdmFUaHJlYWRQNlRocmVhZCArIDB4YWUKMHgwMDAwMDAwODAyNGI5 YzhlCV9aTjEwSmF2YVRocmVhZDE3dGhyZWFkX21haW5faW5uZXJFdiArIDB4ZWUKMHgwMDAwMDAw ODAyM2IyMWVmCV9aTDEwamF2YV9zdGFydFA2VGhyZWFkICsgMHhmZgoweDAwMDAwMDA4MDBhNGE3 MzQJCT8/Pz8/Pz8/Cg== --089e0115f60223f8eb05130d9ce1--