From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id 6O4jBewJkGaSrgAA62LTzQ:P1 (envelope-from ) for ; Thu, 11 Jul 2024 16:35:56 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id 6O4jBewJkGaSrgAA62LTzQ (envelope-from ) for ; Thu, 11 Jul 2024 18:35:56 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=ethanreece.com header.s=fm3 header.b=aovNfxhQ; dkim=pass header.d=messagingengine.com header.s=fm2 header.b=c7GhlRN9; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=ethanreece.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1720715756; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=dGIQRURPVsjic/J7GfRRg3xE/GD9fGLTLiHNQAx0/rQ=; b=IPpI1Oal4O16s2aWYg71WlsKa8S87bTj310r0oSEAEj+M8RzZ0/I4/N612wPRcsThQGLda IkE/iCpXKDcrl8nn0fUpSribOQAhwRZuiNNz96dGpwxPNq6NarZTl2lv//yvPCyXaHLOEn fsTTLyBPtLHNmUSpFRYNCWfV2Ws6toK8fs26q5pjBw9MtwVZX/kN5zt8MkoRJ/6vNUB3Ce p9x9x93J98OFqILn1zd+A/sGN3Wd1xG9hWO3oRWpZg1bJrp0hzc8ozjEhqRtzauc4PaZxk ksnpBzh/gIExpqjt1MOJcwzyyX8zMqK7wV/YCIOPtnFBKKCcAzORw7wQeD4Y5Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=ethanreece.com header.s=fm3 header.b=aovNfxhQ; dkim=pass header.d=messagingengine.com header.s=fm2 header.b=c7GhlRN9; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=ethanreece.com ARC-Seal: i=1; s=key1; d=yhetil.org; t=1720715756; a=rsa-sha256; cv=none; b=rlEaXmAgf63d7fF9UcUt9zqjZA2UdkzhmoFTgtQubtYnbY2cFITM1/G65Sy06lpBVEJUh0 07I7LAUSO66cH+nd8eCs7+RTIlxpSWndGObvKphzemzo9EkWlj9bg9cvm0A4y9bN9E6WVY WWOasfX5y5p/fgvPbag/R8IDwNmypKbMY9HMt7TXBPb9kdbMMYXTtWWciX4jQOoeCbho4u 74OiOUImo4Si8puniI3gnAITzwTrigf76lHsLvb6JQ3DG/Nnv1Hc6uxzE2roUjQ7GSGxcb tNLEtf4HPNDLeSFQiVWIQ2zLFJrPu/cqnsxjI1yZlsxBIerXHQxCiQk7uF+x4w== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 1B6A46448B for ; Thu, 11 Jul 2024 18:35:55 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sRwlL-0002mn-03; Thu, 11 Jul 2024 12:35:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sRnC8-0004Wv-4t for guix-devel@gnu.org; Thu, 11 Jul 2024 02:22:21 -0400 Received: from fout2-smtp.messagingengine.com ([103.168.172.145]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sRnC2-0007Hi-5u for guix-devel@gnu.org; Thu, 11 Jul 2024 02:22:18 -0400 Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailfout.nyi.internal (Postfix) with ESMTP id BCD1013819D9 for ; Thu, 11 Jul 2024 02:22:09 -0400 (EDT) Received: from imap49 ([10.202.2.99]) by compute6.internal (MEProxy); Thu, 11 Jul 2024 02:22:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ethanreece.com; h=cc:content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:subject:subject:to:to; s=fm3; t=1720678929; x=1720765329; bh=dGIQRURPVsjic/J7GfRRg3xE/GD9fGLT LiHNQAx0/rQ=; b=aovNfxhQTHBbb2Vyc/vTgR/e2vFJmuNcmvMy+CSJRRI/WewG ITdIeCWkfp7ap/oYxXPryWyPWacMpHbzMRxZuZZ446c2eMdWdzWqtWFAbpmWdEiE SnfsXC4eI9aulhLJ18afTSdP1xUSKvmescleDJSEVp+qP6Ijw8+3TnrNrFNTxWDP SHMPWI5f/HBe1TVRiQgAABYOBm0vIt92NrTPGMOSd98Ur66y2pcEYA8o8QC+0VMD xS1XJ4/uVz3kX4j5/t8PFEKgtD7+0IKmWwZ/rNGKkCsZq1QTFSaq3K2P2axjDe8T rzrT4Gdi2qHKT46xvdB1na+vx7i8ALHYMX6xog== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1720678929; x=1720765329; bh=dGIQRURPVsjic/J7GfRRg3xE/GD9fGLTLiH NQAx0/rQ=; b=c7GhlRN99B8LhGBUL7m5bIPEg3KsPnPnBd8n8hLPGyGVPs3MXKZ /V+12GMuVY4vmakpddHNQ/MS5vm2rfnWvJHQuptok8F2ZXXIhtgVXY/mtJkssHeR aZxg8x7bn75vqgVBO82rqHzwD97wYz8TqQPxg+ZvYTBrfdu1/tvn1nhZmxeiyOrZ GvI6ylTCwFzYGGumqYD1HjJHk1P2XtiuZOzE9Y5/0iMeruqA7EAqIcTGDY5OyUEz ZF8QOdq5Wp2DwJulYOO9O+AeNFWNfVYskt74MZA5QoJrlrreF/7yeu6c6iJe752u 3WxynMbmLHbok8XVz2IbMK3QUQ1Fx9RVGQw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrfeefgddutdekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfffhffvufgtsehmtderre erredtnecuhfhrohhmpedfgfhthhgrnhcutfgvvggtvgdfuceoghhuihigsegvthhhrghn rhgvvggtvgdrtghomheqnecuggftrfgrthhtvghrnhepgffftdeuveffvdeluddvheefie euvdeifefhtdeludelhffhvddvieefueelveefnecuvehluhhsthgvrhfuihiivgeptden ucfrrghrrghmpehmrghilhhfrhhomhepghhuihigsegvthhhrghnrhgvvggtvgdrtghomh X-ME-Proxy: Feedback-ID: i4959463e:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 8363515A0092; Thu, 11 Jul 2024 02:22:08 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.11.0-alpha0-568-g843fbadbe-fm-20240701.003-g843fbadb MIME-Version: 1.0 Message-Id: <3f05414a-e2c6-4f4f-866f-8658464637f5@app.fastmail.com> Date: Thu, 11 Jul 2024 01:21:39 -0500 From: "Ethan Reece" To: guix-devel@gnu.org Subject: Packaging Typst Content-Type: multipart/mixed; boundary=ac29ccccdc2a4aff853c77d5b77d33e9 Received-SPF: pass client-ip=103.168.172.145; envelope-from=guix@ethanreece.com; helo=fout2-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Thu, 11 Jul 2024 12:35:13 -0400 X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Queue-Id: 1B6A46448B X-Migadu-Scanner: mx13.migadu.com X-Migadu-Spam-Score: -9.92 X-Spam-Score: -9.92 X-TUID: 04XJwTtqQ90i --ac29ccccdc2a4aff853c77d5b77d33e9 Content-Type: multipart/alternative; boundary=9cfa1b56c49c4cca97d58e974da0dfbd --9cfa1b56c49c4cca97d58e974da0dfbd Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello, I created a file that packages Typst and its dependencies, and I'm tryin= g to figure out how to contribute it to the Guix project. What I've done= to generate the file: =E2=80=A2 guix import -i typst-guix.scm crate --recursive --recursive-d= ev-dependencies --allow-yanked typst-cli =E2=80=A2 I had to run this again for pretty_assertions@0.5 for some re= ason =E2=80=A2 Marked the modules licensed as "Unicode-3.0" as license:unico= de =E2=80=A2 Marked the modules licensed as "Apache-2.0 with LLVM-exceptio= n" as license:asl2.0 =E2=80=A2 Added a snippet at the end (generated with GPT but appears to= work) that allows me to build everything in it using "guix build -m typ= st-guix.scm" and used this to verify that everything builds =E2=80=A2 Bumped a few packages from rust-1.75 to rust-1.76 that were c= omplaining about it =E2=80=A2 For the packages where tests or build failed, disabled tests = or build for that package so that there are no errors when I run the gui= x build command =E2=80=A2 Added pkg-config and openssl as dependencies for rust-typst-c= li-0.11 The file has about 2500 lines worth of dependencies, and I'm a bit confu= sed on how I should handle that. Should I redo all of this on "crates-io= .scm" or a different file? What branch should I do this on? Should rust-= typst-cli be changed to just typst or put in a different file as that? - Ethan --9cfa1b56c49c4cca97d58e974da0dfbd Content-Type: text/html
Hello,

I created a file that packages Typst and its dependencies, and I'm trying to figure out how to contribute it to the Guix project. What I've done to generate the file:
  • guix import -i typst-guix.scm crate --recursive --recursive-dev-dependencies --allow-yanked typst-cli
  • I had to run this again for pretty_assertions@0.5 for some reason
  • Marked the modules licensed as "Unicode-3.0" as license:unicode
  • Marked the modules licensed as "Apache-2.0 with LLVM-exception" as license:asl2.0
  • Added a snippet at the end (generated with GPT but appears to work) that allows me to build everything in it using "guix build -m typst-guix.scm" and used this to verify that everything builds
  • Bumped a few packages from rust-1.75 to rust-1.76 that were complaining about it
  • For the packages where tests or build failed, disabled tests or build for that package so that there are no errors when I run the guix build command
  • Added pkg-config and openssl as dependencies for rust-typst-cli-0.11
The file has about 2500 lines worth of dependencies, and I'm a bit confused on how I should handle that. Should I redo all of this on "crates-io.scm" or a different file? What branch should I do this on? Should rust-typst-cli be changed to just typst or put in a different file as that?

- Ethan
--9cfa1b56c49c4cca97d58e974da0dfbd-- --ac29ccccdc2a4aff853c77d5b77d33e9 Content-Disposition: attachment; filename="typst-guix-final.scm" Content-Type: text/x-scheme; name="typst-guix-final.scm" Content-Transfer-Encoding: BASE64 KGRlZmluZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB0eXBzdCkKICAjOnVzZS1tb2R1bGUgKGdu dSBwYWNrYWdlcyBjcmF0ZXMtYXBwbGUpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg Y3JhdGVzLWNyeXB0bykKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBjcmF0ZXMtZ3Jh cGhpY3MpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY3JhdGVzLWd0aykKICAjOnVz ZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBjcmF0ZXMtaW8pCiAgIzp1c2UtbW9kdWxlIChnbnUg cGFja2FnZXMgY3JhdGVzLXRscykKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBjcmF0 ZXMtdmNzKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGNyYXRlcy13ZWIpCiAgIzp1 c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY3JhdGVzLXdpbmRvd3MpCiAgIzp1c2UtbW9kdWxl IChnbnUgcGFja2FnZXMgcnVzdCkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwa2ct Y29uZmlnKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHRscykKICAjOnVzZS1tb2R1 bGUgKGd1aXggcGFja2FnZXMpCiAgIzp1c2UtbW9kdWxlIChndWl4IHByb2ZpbGVzKQogICM6 dXNlLW1vZHVsZSAoZ3VpeCBkb3dubG9hZCkKICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQt c3lzdGVtIGNhcmdvKQogICM6dXNlLW1vZHVsZSAoKGd1aXggbGljZW5zZXMpICM6cHJlZml4 IGxpY2Vuc2U6KSkKCihkZWZpbmUtcHVibGljIHJ1c3QtYWhhc2gtMC44CiAgKHBhY2thZ2UK ICAgIChuYW1lICJydXN0LWFoYXNoIikKICAgICh2ZXJzaW9uICIwLjguMTEiKQogICAgKHNv dXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVy aSAoY3JhdGUtdXJpICJhaGFzaCIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJp bmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYK ICAgICAgICAoYmFzZTMyICIwNGNoZGZrbHM1eG1ocDFkNDhnbmpzbWdsYnFpYml6czNicGJq NnJzajYwNG0xMHNpN2c4IikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lz dGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpjYXJnby1pbnB1dHMgKCgicnVzdC1hdG9t aWMtcG9seWZpbGwiICxydXN0LWF0b21pYy1wb2x5ZmlsbC0xKQogICAgICAgICAgICAgICAg ICAgICAgICgicnVzdC1jZmctaWYiICxydXN0LWNmZy1pZi0xKQogICAgICAgICAgICAgICAg ICAgICAgICgicnVzdC1jb25zdC1yYW5kb20iICxydXN0LWNvbnN0LXJhbmRvbS0wLjEpCiAg ICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWdldHJhbmRvbSIgLHJ1c3QtZ2V0cmFuZG9t LTAuMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtb25jZS1jZWxsIiAscnVzdC1v bmNlLWNlbGwtMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc2VyZGUiICxydXN0 LXNlcmRlLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXZlcnNpb24tY2hlY2si ICxydXN0LXZlcnNpb24tY2hlY2stMC45KQogICAgICAgICAgICAgICAgICAgICAgICgicnVz dC16ZXJvY29weSIgLHJ1c3QtemVyb2NvcHktMC43KSkKICAgICAgICM6Y2FyZ28tZGV2ZWxv cG1lbnQtaW5wdXRzICgoInJ1c3QtY3JpdGVyaW9uIiAscnVzdC1jcml0ZXJpb24tMC4zKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1mbnYiICxydXN0LWZu di0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1meGhhc2gi ICxydXN0LWZ4aGFzaC0wLjIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KCJydXN0LWhhc2hicm93biIgLHJ1c3QtaGFzaGJyb3duLTAuMTQpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWhleCIgLHJ1c3QtaGV4LTAuNCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtbm8tcGFuaWMiICxydXN0LW5v LXBhbmljLTAuMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qt cGNnLW13YyIgLHJ1c3QtcGNnLW13Yy0wLjIpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LXJhbmQiICxydXN0LXJhbmQtMC44KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICgicnVzdC1zZWFoYXNoIiAscnVzdC1zZWFoYXNoLTQpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlLWpzb24iICxy dXN0LXNlcmRlLWpzb24tMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo InJ1c3Qtc21hbGx2ZWMiICxydXN0LXNtYWxsdmVjLTEpKSkpCiAgICAoaG9tZS1wYWdlICJo dHRwczovL2dpdGh1Yi5jb20vdGthaXRjaHVjay9haGFzaCIpCiAgICAoc3lub3BzaXMKICAg ICAibm9uLWNyeXB0b2dyYXBoaWMgaGFzaCBmdW5jdGlvbiB1c2luZyBBRVMtTkkgZm9yIGhp Z2ggcGVyZm9ybWFuY2UiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBw cm92aWRlcyBhIG5vbi1jcnlwdG9ncmFwaGljIGhhc2ggZnVuY3Rpb24gdXNpbmcgQUVTLU5J IGZvciBoaWdoCnBlcmZvcm1hbmNlLiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmV4 cGF0IGxpY2Vuc2U6YXNsMi4wKSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1hc3NlcnQtZXEt ZmxvYXQtMC4xCiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LWFzc2VydC1lcS1mbG9hdCIp CiAgICAodmVyc2lvbiAiMC4xLjQiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAg IChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJhc3NlcnQtZXEt ZmxvYXQiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1l ICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2Uz MiAiMXkyaGI0NmhtNGN2eHh5MGJ3bmc5Z3Y0dnE0OGk0c2N5bmZsaHFyNWQyaWp3enNkM2M4 dyIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1 bWVudHMKICAgICBgKCM6Y2FyZ28taW5wdXRzICgoInJ1c3QtbnVtLXRyYWl0cyIgLHJ1c3Qt bnVtLXRyYWl0cy0wLjIpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL21hZ2ljbGVuLm9y Zy9hc3NlcnQtZXEtZmxvYXQiKQogICAgKHN5bm9wc2lzCiAgICAgIlRoaXMgY3JhdGUgcHJv dmlkZXMgdGhlIGBhc3NlcnRfZXFfZmxvYXQhYCBtYWNyb3MgdGhhdCBzdXBwb3J0IGZsb2F0 cyIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBjcmF0ZSBwcm92aWRlcyB0aGUgYGFz c2VydF9lcV9mbG9hdCFgIG1hY3JvcyB0aGF0IHN1cHBvcnQgZmxvYXRzLiIpCiAgICAobGlj ZW5zZSBsaWNlbnNlOmV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LWJhc2U2NC0wLjIy CiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LWJhc2U2NCIpCiAgICAodmVyc2lvbiAiMC4y Mi4xIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRj aCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAiYmFzZTY0IiB2ZXJzaW9uKSkKICAgICAgIChm aWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQog ICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjFpbXF6Z2g3YnhjaWtwNXZ4M3NocXZ3 OWowOWc5bHkweHIwam1hMHE2Nmk1MnI3amJjdmoiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBj YXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWRldmVs b3BtZW50LWlucHV0cyAoKCJydXN0LWNsYXAiICxydXN0LWNsYXAtMykKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtY3JpdGVyaW9uIiAscnVzdC1jcml0ZXJp b24tMC40KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1vbmNl LWNlbGwiICxydXN0LW9uY2UtY2VsbC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICgicnVzdC1yYW5kIiAscnVzdC1yYW5kLTAuOCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoInJ1c3QtcnN0ZXN0IiAscnVzdC1yc3Rlc3QtMC4xMykKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcnN0ZXN0LXJldXNlIiAs cnVzdC1yc3Rlc3QtcmV1c2UtMC42KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICgicnVzdC1zdHJ1bSIgLHJ1c3Qtc3RydW0tMC4yNSkpKSkKICAgIChob21lLXBhZ2Ug Imh0dHBzOi8vZ2l0aHViLmNvbS9tYXJzaGFsbHBpZXJjZS9ydXN0LWJhc2U2NCIpCiAgICAo c3lub3BzaXMgImVuY29kZXMgYW5kIGRlY29kZXMgYmFzZTY0IGFzIGJ5dGVzIG9yIHV0Zjgi KQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBwcm92aWRlcyBlbmNvZGVz IGFuZCBkZWNvZGVzIGJhc2U2NCBhcyBieXRlcyBvciB1dGY4LiIpCiAgICAobGljZW5zZSAo bGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNsMi4wKSkpKQoKKGRlZmluZS1wdWJsaWMg cnVzdC1iaWJsYXRleC0wLjkKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3QtYmlibGF0ZXgi KQogICAgKHZlcnNpb24gIjAuOS4zIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAg ICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAiYmlibGF0ZXgi IHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2 ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMWY1 cHk4MHk4YWozeWlic2Q5Z2NmZnZnMGkxemczMmYzNWFraWc2amYwaGQwajJwNXppNyIpKSkp CiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMK ICAgICBgKCM6Y2FyZ28taW5wdXRzICgoInJ1c3QtbnVtZXJhbHMiICxydXN0LW51bWVyYWxz LTAuMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcGFzdGUiICxydXN0LXBhc3Rl LTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlIiAscnVzdC1zZXJkZS0x KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zdHJ1bSIgLHJ1c3Qtc3RydW0tMC4y NikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtdW5pY29kZS1ub3JtYWxpemF0aW9u IiAscnVzdC11bmljb2RlLW5vcm1hbGl6YXRpb24tMC4xKQogICAgICAgICAgICAgICAgICAg ICAgICgicnVzdC11bnNjYW5ueSIgLHJ1c3QtdW5zY2FubnktMC4xKSkpKQogICAgKGhvbWUt cGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3R5cHN0L2JpYmxhdGV4IikKICAgIChzeW5vcHNp cyAiUGFyc2luZywgd3JpdGluZywgYW5kIGV2YWx1YXRpbmcgQmliVGVYIGFuZCBCaWJMYVRl WCBmaWxlcyIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVz IFBhcnNpbmcsIHdyaXRpbmcsIGFuZCBldmFsdWF0aW5nIEBjb2Rle0JpYlRlWH0gYW5kIEBj b2Rle0JpYkxhVGVYfSBmaWxlcy4iKQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpleHBh dCBsaWNlbnNlOmFzbDIuMCkpKSkKCihkZWZpbmUtcHVibGljIHJ1c3QtYnVtcGFsby0zCiAg KHBhY2thZ2UKICAgIChuYW1lICJydXN0LWJ1bXBhbG8iKQogICAgKHZlcnNpb24gIjMuMTYu MCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gp CiAgICAgICAodXJpIChjcmF0ZS11cmkgImJ1bXBhbG8iIHZlcnNpb24pKQogICAgICAgKGZp bGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAg ICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMGIwMTVxYjRrbndhbmJkbHAxeDQ4cGti NHBtNTdiOGdpZGJoaGh4cjkwMHEyd2I2ZmFiciIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNh cmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNmCiAg ICAgICAjOmNhcmdvLWlucHV0cyAoKCJydXN0LWFsbG9jYXRvci1hcGkyIiAscnVzdC1hbGxv Y2F0b3ItYXBpMi0wLjIpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlIiAs cnVzdC1zZXJkZS0xKSkKICAgICAgICM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1 c3QtY3JpdGVyaW9uIiAscnVzdC1jcml0ZXJpb24tMC4zKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICgicnVzdC1xdWlja2NoZWNrIiAscnVzdC1xdWlja2NoZWNrLTEp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXJhbmQiICxydXN0 LXJhbmQtMC44KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1z ZXJkZSIgLHJ1c3Qtc2VyZGUtMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoInJ1c3Qtc2VyZGUtanNvbiIgLHJ1c3Qtc2VyZGUtanNvbi0xKSkpKQogICAgKGhvbWUt cGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL2ZpdHpnZW4vYnVtcGFsbyIpCiAgICAoc3lub3Bz aXMgImZhc3QgYnVtcCBhbGxvY2F0aW9uIGFyZW5hIGZvciBSdXN0LiIpCiAgICAoZGVzY3Jp cHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIGEgZmFzdCBidW1wIGFsbG9jYXRp b24gYXJlbmEgZm9yIFJ1c3QuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6ZXhwYXQg bGljZW5zZTphc2wyLjApKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LWNmZy1hbGlhc2VzLTAu MgogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1jZmctYWxpYXNlcyIpCiAgICAodmVyc2lv biAiMC4yLjEiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJs LWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJjZmdfYWxpYXNlcyIgdmVyc2lvbikp CiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50 YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIwOTJweGRjMWRiZ2pi NnF2aDgzZ2s1NnJraWMybjJ5Ym00eXZ5NzZjZ3lubXppM3p3ZmsxIikpKSkKICAgIChidWls ZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9n aXRodWIuY29tL2thdGhhcm9zdGVjaC9jZmdfYWxpYXNlcyIpCiAgICAoc3lub3BzaXMKICAg ICAidGlueSB1dGlsaXR5IHRvIGhlbHAgc2F2ZSB5b3UgYSBsb3Qgb2YgZWZmb3J0IHdpdGgg bG9uZyB3aW5kZWQgYCNbY2ZnKCldYCBjaGVja3MuIikKICAgIChkZXNjcmlwdGlvbgogICAg ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgYSB0aW55IHV0aWxpdHkgdG8gaGVscCBzYXZlIHlv dSBhIGxvdCBvZiBlZmZvcnQgd2l0aCBsb25nCndpbmRlZCBgI1tjZmcoKV1gIGNoZWNrcy4i KQogICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1j aGluZXNlLW51bWJlci0wLjcKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3QtY2hpbmVzZS1u dW1iZXIiKQogICAgKHZlcnNpb24gIjAuNy43IikKICAgIChzb3VyY2UKICAgICAob3JpZ2lu CiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAiY2hp bmVzZS1udW1iZXIiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVu ZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAg KGJhc2UzMiAiMHY1dmE4ZHJpeDhnczJrdjZwbXY1eXpkeGhscHpyd2twM2NoODZreGR4ajZj Z3B3bXoyOSIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAg IChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28taW5wdXRzICgoInJ1c3QtY2hpbmVzZS12YXJp YW50IiAscnVzdC1jaGluZXNlLXZhcmlhbnQtMSkKICAgICAgICAgICAgICAgICAgICAgICAo InJ1c3QtZW51bS1vcmRpbmFsaXplIiAscnVzdC1lbnVtLW9yZGluYWxpemUtNCkKICAgICAg ICAgICAgICAgICAgICAgICAoInJ1c3QtbnVtLWJpZ2ludCIgLHJ1c3QtbnVtLWJpZ2ludC0w LjQpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LW51bS10cmFpdHMiICxydXN0LW51 bS10cmFpdHMtMC4yKSkKICAgICAgICM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1 c3QtYXNzZXJ0LWVxLWZsb2F0IiAscnVzdC1hc3NlcnQtZXEtZmxvYXQtMC4xKSkpKQogICAg KGhvbWUtcGFnZSAiaHR0cHM6Ly9tYWdpY2xlbi5vcmcvY2hpbmVzZS1udW1iZXIiKQogICAg KHN5bm9wc2lzCiAgICAgIkNvbnZlcnQgcHJpbWl0aXZlIG51bWJlcnMgdG8gQ2hpbmVzZSBu dW1iZXJzLCBvciBwYXJzZSBDaGluZXNlIG51bWJlcnMgdG8gcHJpbWl0aXZlIG51bWJlcnMi KQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBwcm92aWRlcyBDb252ZXJ0 IHByaW1pdGl2ZSBudW1iZXJzIHRvIENoaW5lc2UgbnVtYmVycywgb3IgcGFyc2UgQ2hpbmVz ZSBudW1iZXJzIHRvCnByaW1pdGl2ZSBudW1iZXJzLiIpCiAgICAobGljZW5zZSBsaWNlbnNl OmV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LWNoaW5lc2UtdmFyaWFudC0xCiAgKHBh Y2thZ2UKICAgIChuYW1lICJydXN0LWNoaW5lc2UtdmFyaWFudCIpCiAgICAodmVyc2lvbiAi MS4xLjMiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZl dGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJjaGluZXNlLXZhcmlhbnQiIHZlcnNpb24p KQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIu dGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMTJzOTF2ZzJtOXdm czliM2YwcTJhbGo5YW0wOHk3cjJwcmIwc3pnM2Z3amg4bThsZzIzbSIpKSkpCiAgICAoYnVp bGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6 Y2FyZ28taW5wdXRzICgoInJ1c3QtZW51bS1vcmRpbmFsaXplIiAscnVzdC1lbnVtLW9yZGlu YWxpemUtNCkpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vbWFnaWNsZW4ub3JnL2NoaW5l c2UtdmFyaWFudCIpCiAgICAoc3lub3BzaXMgIkFuIGVudW0gdG8gcmVwcmVzZW50IHRoZSB2 YXJpYW50cyBvZiB0aGUgQ2hpbmVzZSBMYW5ndWFnZSIpCiAgICAoZGVzY3JpcHRpb24KICAg ICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIEFuIGVudW0gdG8gcmVwcmVzZW50IHRoZSB2YXJp YW50cyBvZiB0aGUgQ2hpbmVzZSBMYW5ndWFnZS4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpl eHBhdCkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1jaXRhdGlvbmJlcmctMC4zCiAgKHBhY2th Z2UKICAgIChuYW1lICJydXN0LWNpdGF0aW9uYmVyZyIpCiAgICAodmVyc2lvbiAiMC4zLjEi KQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQog ICAgICAgKHVyaSAoY3JhdGUtdXJpICJjaXRhdGlvbmJlcmciIHZlcnNpb24pKQogICAgICAg KGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6Iikp CiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMDJyeDI4YXIxeXF6Zmg5N24xOGlo ZDFibWdzaHZneWowN2FxMzZoaGJ5bGdzeWd6d25maiIpKSkpCiAgICAoYnVpbGQtc3lzdGVt IGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNm CiAgICAgICAjOmNhcmdvLWlucHV0cyAoKCJydXN0LXF1aWNrLXhtbCIgLHJ1c3QtcXVpY2st eG1sLTAuMzEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlIiAscnVzdC1z ZXJkZS0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC11bnNjYW5ueSIgLHJ1c3Qt dW5zY2FubnktMC4xKSkKICAgICAgICM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1 c3QtY2lib3JpdW0iICxydXN0LWNpYm9yaXVtLTAuMikKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoInJ1c3Qtc2VyZGUtanNvbiIgLHJ1c3Qtc2VyZGUtanNvbi0xKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zZXJkZS1wYXRoLXRv LWVycm9yIiAscnVzdC1zZXJkZS1wYXRoLXRvLWVycm9yLTAuMSkpKSkKICAgIChob21lLXBh Z2UgImh0dHBzOi8vZ2l0aHViLmNvbS90eXBzdC9jaXRhdGlvbmJlcmciKQogICAgKHN5bm9w c2lzICJwYXJzZXIgZm9yIENTTCBmaWxlcyIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFj a2FnZSBwcm92aWRlcyBhIHBhcnNlciBmb3IgQ1NMIGZpbGVzLiIpCiAgICAobGljZW5zZSAo bGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNsMi4wKSkpKQoKKGRlZmluZS1wdWJsaWMg cnVzdC1jb2JzLTAuMgogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1jb2JzIikKICAgICh2 ZXJzaW9uICIwLjIuMyIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhv ZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgImNvYnMiIHZlcnNpb24pKQog ICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFy Lmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMDVnZDE2bXdzNHlkNjNo OGpyM3AwOGluOHk4dzIxcnBqcDVqYjU1aHpsOWJnYWxoNWZrNyIpKSkpCiAgICAoYnVpbGQt c3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y2Fy Z28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1c3QtcXVpY2tjaGVjayIgLHJ1c3QtcXVpY2tj aGVjay0wLjUpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vamFtZXNt dW5ucy9jb2JzLnJzIikKICAgIChzeW5vcHNpcwogICAgICJUaGlzIGlzIGFuIGltcGxlbWVu dGF0aW9uIG9mIHRoZSBDb25zaXN0ZW50IE92ZXJoZWFkIEJ5dGUgU3R1ZmZpbmcgKENPQlMp IGFsZ29yaXRobS4KICAgIENPQlMgaXMgYW4gYWxnb3JpdGhtIGZvciB0cmFuc2Zvcm1pbmcg YSBtZXNzYWdlIGludG8gYW4gZW5jb2Rpbmcgd2hlcmUgYSBzcGVjaWZpYyB2YWx1ZQogICAg KHRoZSBcInNlbnRpbmVsXCIgdmFsdWUpIGlzIG5vdCB1c2VkLiBUaGlzIHZhbHVlIGNhbiB0 aGVuIGJlIHVzZWQgdG8gbWFyayBmcmFtZSBib3VuZGFyaWVzCiAgICBpbiBhIHNlcmlhbCBj b21tdW5pY2F0aW9uIGNoYW5uZWwuIikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIGlz IGFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBDb25zaXN0ZW50IE92ZXJoZWFkIEJ5dGUgU3R1 ZmZpbmcgKENPQlMpCmFsZ29yaXRobS4gIENPQlMgaXMgYW4gYWxnb3JpdGhtIGZvciB0cmFu c2Zvcm1pbmcgYSBtZXNzYWdlIGludG8gYW4gZW5jb2RpbmcKd2hlcmUgYSBzcGVjaWZpYyB2 YWx1ZSAodGhlIFwic2VudGluZWxcIiB2YWx1ZSkgaXMgbm90IHVzZWQuICBUaGlzIHZhbHVl IGNhbiB0aGVuCmJlIHVzZWQgdG8gbWFyayBmcmFtZSBib3VuZGFyaWVzIGluIGEgc2VyaWFs IGNvbW11bmljYXRpb24gY2hhbm5lbC4iKQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpl eHBhdCBsaWNlbnNlOmFzbDIuMCkpKSkKCihkZWZpbmUtcHVibGljIHJ1c3QtY29tZW1vLTAu NAogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1jb21lbW8iKQogICAgKHZlcnNpb24gIjAu NC4wIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRj aCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAiY29tZW1vIiB2ZXJzaW9uKSkKICAgICAgIChm aWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQog ICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjE0YnNpYXlpYjRsaHozanJiZjFmcWgy ZnB3c202Y2lpOTBtaWZ5bTNqaHZqaTkwMWNzZnoiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBj YXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWlucHV0 cyAoKCJydXN0LWNvbWVtby1tYWNyb3MiICxydXN0LWNvbWVtby1tYWNyb3MtMC40KQogICAg ICAgICAgICAgICAgICAgICAgICgicnVzdC1vbmNlLWNlbGwiICxydXN0LW9uY2UtY2VsbC0x KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1wYXJraW5nLWxvdCIgLHJ1c3QtcGFy a2luZy1sb3QtMC4xMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc2lwaGFzaGVy IiAscnVzdC1zaXBoYXNoZXItMSkpCiAgICAgICAjOmNhcmdvLWRldmVsb3BtZW50LWlucHV0 cyAoKCJydXN0LXNlcmlhbC10ZXN0IiAscnVzdC1zZXJpYWwtdGVzdC0zKSkpKQogICAgKGhv bWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3R5cHN0L2NvbWVtbyIpCiAgICAoc3lub3Bz aXMgIkluY3JlbWVudGFsIGNvbXB1dGF0aW9uIHRocm91Z2ggY29uc3RyYWluZWQgbWVtb2l6 YXRpb24iKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBwcm92aWRlcyBJ bmNyZW1lbnRhbCBjb21wdXRhdGlvbiB0aHJvdWdoIGNvbnN0cmFpbmVkIG1lbW9pemF0aW9u LiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNsMi4wKSkp KQoKKGRlZmluZS1wdWJsaWMgcnVzdC1jb21lbW8tbWFjcm9zLTAuNAogIChwYWNrYWdlCiAg ICAobmFtZSAicnVzdC1jb21lbW8tbWFjcm9zIikKICAgICh2ZXJzaW9uICIwLjQuMCIpCiAg ICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAg ICAodXJpIChjcmF0ZS11cmkgImNvbWVtby1tYWNyb3MiIHZlcnNpb24pKQogICAgICAgKGZp bGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAg ICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMW5yOHc4MWhremc0OXM1MTV2NjFzaHhi MDc3aXE2ZDYwMDFweWJ4YnZ4ZGx6NTE2eDR5OCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNh cmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNmCiAg ICAgICAjOmNhcmdvLWlucHV0cyAoKCJydXN0LXByb2MtbWFjcm8yIiAscnVzdC1wcm9jLW1h Y3JvMi0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1xdW90ZSIgLHJ1c3QtcXVv dGUtMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc3luIiAscnVzdC1zeW4tMikp KSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS90eXBzdC9jb21lbW8iKQog ICAgKHN5bm9wc2lzICJQcm9jZWR1cmFsIG1hY3JvcyBmb3IgY29tZW1vIikKICAgIChkZXNj cmlwdGlvbiAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIFByb2NlZHVyYWwgbWFjcm9zIGZvciBj b21lbW8uIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6ZXhwYXQgbGljZW5zZTphc2wy LjApKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LWNvcmUtbWF0aHMtMC4xCiAgKHBhY2thZ2UK ICAgIChuYW1lICJydXN0LWNvcmUtbWF0aHMiKQogICAgKHZlcnNpb24gIjAuMS4wIikKICAg IChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAg ICh1cmkgKGNyYXRlLXVyaSAiY29yZV9tYXRocyIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1u YW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAg IChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxOHE5Znd5ODBsazFsY2NhbTM3NXNrbXNzbHJ5 aWswMHpraHNsODUwcGlkcXJoMmpiYzczIikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28t YnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpjYXJnby1pbnB1dHMgKCgi cnVzdC1saWJtIiAscnVzdC1saWJtLTAuMikpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8v Z2l0aHViLmNvbS9yb2JlcnRiYXN0aWFuL2NvcmVfbWF0aHMiKQogICAgKHN5bm9wc2lzCiAg ICAgIkV4dGVuc2lvbiB0cmFpdCBmb3IgZnVsbCBmbG9hdCBmdW5jdGlvbmFsaXR5IGluIGAj W25vX3N0ZF1gIGJhY2tlZCBieSBgbGlibWAiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRo aXMgcGFja2FnZSBwcm92aWRlcyBFeHRlbnNpb24gdHJhaXQgZm9yIGZ1bGwgZmxvYXQgZnVu Y3Rpb25hbGl0eSBpbiBgI1tub19zdGRdYCBiYWNrZWQgYnkgYGxpYm1gLiIpCiAgICAobGlj ZW5zZSBsaWNlbnNlOmV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LWRhdGEtdXJsLTAu MwogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1kYXRhLXVybCIpCiAgICAodmVyc2lvbiAi MC4zLjEiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZl dGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJkYXRhLXVybCIgdmVyc2lvbikpCiAgICAg ICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oi KSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIwYWhjbHo3Mm15aTM1MGNzMXhj c3hkaDF2MGlsanBmajRnaGN5MmZ5NDZtcGZoZjdsYWF3IikpKSkKICAgIChidWlsZC1zeXN0 ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpjYXJnby1k ZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1zZXJkZSIgLHJ1c3Qtc2VyZGUtMSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc2VyZGUtanNvbiIgLHJ1c3Qt c2VyZGUtanNvbi0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVz dC10ZXN0ZXIiICxydXN0LXRlc3Rlci0wLjkpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczov L2dpdGh1Yi5jb20vc2Vydm8vcnVzdC11cmwiKQogICAgKHN5bm9wc2lzICJQcm9jZXNzaW5n IG9mIGRhdGE6IFVSTCBhY2NvcmRpbmcgdG8gV0hBVFdHw6LCgMKZcyBGZXRjaCBTdGFuZGFy ZCIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIFByb2Nl c3Npbmcgb2YgZGF0YTogVVJMIGFjY29yZGluZyB0byBXSEFUV0fDosKAwplzIEZldGNoIFN0 YW5kYXJkLiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNs Mi4wKSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1kYXRhYmFrZS0wLjEKICAocGFja2FnZQog ICAgKG5hbWUgInJ1c3QtZGF0YWJha2UiKQogICAgKHZlcnNpb24gIjAuMS44IikKICAgIChz b3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1 cmkgKGNyYXRlLXVyaSAiZGF0YWJha2UiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAo c3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hh MjU2CiAgICAgICAgKGJhc2UzMiAiMGtiMGxuaGthMWZrbHJpaTNxYWo0MHpjcmJjbGZuOGZ5 dnkwcjF3aGQzeWF4a3h6bjEzYSIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxk LXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNmCiAgICAgICAjOmNh cmdvLWlucHV0cyAoKCJydXN0LWRhdGFiYWtlLWRlcml2ZSIgLHJ1c3QtZGF0YWJha2UtZGVy aXZlLTAuMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcHJvYy1tYWNybzIiICxy dXN0LXByb2MtbWFjcm8yLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXF1b3Rl IiAscnVzdC1xdW90ZS0xKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29t L3VuaWNvZGUtb3JnL2ljdTR4IikKICAgIChzeW5vcHNpcwogICAgICJUcmFpdCB0aGF0IGxl dHMgc3RydWN0cyByZXByZXNlbnQgdGhlbXNlbHZlcyBhcyAoY29uc3QpIFJ1c3QgZXhwcmVz c2lvbnMiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBwcm92aWRlcyBU cmFpdCB0aGF0IGxldHMgc3RydWN0cyByZXByZXNlbnQgdGhlbXNlbHZlcyBhcyAoY29uc3Qp IFJ1c3QgZXhwcmVzc2lvbnMuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6dW5pY29kZSkpKQoK KGRlZmluZS1wdWJsaWMgcnVzdC1kYXRhYmFrZS1kZXJpdmUtMC4xCiAgKHBhY2thZ2UKICAg IChuYW1lICJydXN0LWRhdGFiYWtlLWRlcml2ZSIpCiAgICAodmVyc2lvbiAiMC4xLjgiKQog ICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAg ICAgKHVyaSAoY3JhdGUtdXJpICJkYXRhYmFrZS1kZXJpdmUiIHZlcnNpb24pKQogICAgICAg KGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6Iikp CiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMHl5bWJyMXo5M2s3bGcwcGw1bXc5 bWpodzhmcHNmeWtnN2Jta3ZtaXI5aDF3bWZqZnkyMCIpKSkpCiAgICAoYnVpbGQtc3lzdGVt IGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNm CiAgICAgICAjOmNhcmdvLWlucHV0cyAoKCJydXN0LXByb2MtbWFjcm8yIiAscnVzdC1wcm9j LW1hY3JvMi0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1xdW90ZSIgLHJ1c3Qt cXVvdGUtMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc3luIiAscnVzdC1zeW4t MikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc3luc3RydWN0dXJlIiAscnVzdC1z eW5zdHJ1Y3R1cmUtMC4xMykpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNv bS91bmljb2RlLW9yZy9pY3U0eCIpCiAgICAoc3lub3BzaXMgIkN1c3RvbSBkZXJpdmUgZm9y IHRoZSBkYXRhYmFrZSBjcmF0ZSIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFja2FnZSBw cm92aWRlcyBDdXN0b20gZGVyaXZlIGZvciB0aGUgZGF0YWJha2UgY3JhdGUuIikKICAgIChs aWNlbnNlIGxpY2Vuc2U6dW5pY29kZSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1lY293LTAu MgogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1lY293IikKICAgICh2ZXJzaW9uICIwLjIu MiIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gp CiAgICAgICAodXJpIChjcmF0ZS11cmkgImVjb3ciIHZlcnNpb24pKQogICAgICAgKGZpbGUt bmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAg ICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMGp2ZzJqcmpnY3p5MDVtYnNuaXJxcWgzcnhn aHhiZGJ3a2JjMThjajcxbHExMGJ2cGdzbCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdv LWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28taW5wdXRzICgo InJ1c3QtbG9vbSIgLHJ1c3QtbG9vbS0wLjcpCiAgICAgICAgICAgICAgICAgICAgICAgKCJy dXN0LXNlcmRlIiAscnVzdC1zZXJkZS0xKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9n aXRodWIuY29tL3R5cHN0L2Vjb3ciKQogICAgKHN5bm9wc2lzICJDb21wYWN0LCBjbG9uZS1v bi13cml0ZSB2ZWN0b3IgYW5kIHN0cmluZyIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhp cyBwYWNrYWdlIHByb3ZpZGVzIENvbXBhY3QsIGNsb25lLW9uLXdyaXRlIHZlY3RvciBhbmQg c3RyaW5nLiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNs Mi4wKSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1lbWJlZGRlZC1pby0wLjQKICAocGFja2Fn ZQogICAgKG5hbWUgInJ1c3QtZW1iZWRkZWQtaW8iKQogICAgKHZlcnNpb24gIjAuNC4wIikK ICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAg ICAgICh1cmkgKGNyYXRlLXVyaSAiZW1iZWRkZWQtaW8iIHZlcnNpb24pKQogICAgICAgKGZp bGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAg ICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMXY5d3JjNW5zZ2FhYWR5N2kzeWEzOTRz aWs1MjUxajBpcTVybHM3bXJ4N2Z2Njk2aDZwZyIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNh cmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28taW5wdXRz ICgoInJ1c3QtZGVmbXQiICxydXN0LWRlZm10LTAuMykKICAgICAgICAgICAgICAgICAgICAg ICAoInJ1c3QtZnV0dXJlcyIgLHJ1c3QtZnV0dXJlcy0wLjMpCiAgICAgICAgICAgICAgICAg ICAgICAgKCJydXN0LWxvZyIgLHJ1c3QtbG9nLTAuNCkKICAgICAgICAgICAgICAgICAgICAg ICAoInJ1c3QtdG9raW8iICxydXN0LXRva2lvLTEpKSkpCiAgICAoaG9tZS1wYWdlICJodHRw czovL2dpdGh1Yi5jb20vcnVzdC1lbWJlZGRlZC9lbWJlZGRlZC1oYWwiKQogICAgKHN5bm9w c2lzICJFbWJlZGRlZCBJTyB0cmFpdHMiKQogICAgKGRlc2NyaXB0aW9uICJUaGlzIHBhY2th Z2UgcHJvdmlkZXMgRW1iZWRkZWQgSU8gdHJhaXRzLiIpCiAgICAobGljZW5zZSAobGlzdCBs aWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNsMi4wKSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1l bnVtLW9yZGluYWxpemUtNAogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1lbnVtLW9yZGlu YWxpemUiKQogICAgKHZlcnNpb24gIjQuMy4wIikKICAgIChzb3VyY2UKICAgICAob3JpZ2lu CiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAiZW51 bS1vcmRpbmFsaXplIiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBl bmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAg IChiYXNlMzIgIjFtYXg2NHo5Z2lpaTYxcWN3bDU2cm5kZDdwYWtheWxrYWlqNXpxYmJidmps OXZ4ZHI4N3kiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAg ICAoYXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWlucHV0cyAoKCJydXN0LWVudW0tb3JkaW5h bGl6ZS1kZXJpdmUiICxydXN0LWVudW0tb3JkaW5hbGl6ZS1kZXJpdmUtNCkpKSkKICAgICho b21lLXBhZ2UgImh0dHBzOi8vbWFnaWNsZW4ub3JnL2VudW0tb3JkaW5hbGl6ZSIpCiAgICAo c3lub3BzaXMKICAgICAiVGhpcyBsaWJyYXJ5IGVuYWJsZXMgZW51bXMgdG8gbm90IG9ubHkg b2J0YWluIHRoZSBvcmRpbmFsIHZhbHVlcyBvZiB0aGVpciB2YXJpYW50cyBidXQgYWxzbyBh bGxvd3MgZm9yIHRoZSBjb25zdHJ1Y3Rpb24gb2YgZW51bXMgZnJvbSBhbiBvcmRpbmFsIHZh bHVlIikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIGxpYnJhcnkgZW5hYmxlcyBlbnVt cyB0byBub3Qgb25seSBvYnRhaW4gdGhlIG9yZGluYWwgdmFsdWVzIG9mIHRoZWlyCnZhcmlh bnRzIGJ1dCBhbHNvIGFsbG93cyBmb3IgdGhlIGNvbnN0cnVjdGlvbiBvZiBlbnVtcyBmcm9t IGFuIG9yZGluYWwgdmFsdWUuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkKCihk ZWZpbmUtcHVibGljIHJ1c3QtZW51bS1vcmRpbmFsaXplLWRlcml2ZS00CiAgKHBhY2thZ2UK ICAgIChuYW1lICJydXN0LWVudW0tb3JkaW5hbGl6ZS1kZXJpdmUiKQogICAgKHZlcnNpb24g IjQuMy4xIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1m ZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAiZW51bS1vcmRpbmFsaXplLWRlcml2ZSIg dmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZl cnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxenk1 M2ZhYmF6aW13djVjbDAzNjZrODM0eWJpeHpsODRseGo5bWZhdmJubGZuNTMyYTBkIikpKSkK ICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwog ICAgIGAoIzpjYXJnby1pbnB1dHMgKCgicnVzdC1wcm9jLW1hY3JvMiIgLHJ1c3QtcHJvYy1t YWNybzItMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcXVvdGUiICxydXN0LXF1 b3RlLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXN5biIgLHJ1c3Qtc3luLTIp KSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL21hZ2ljbGVuLm9yZy9lbnVtLW9yZGluYWxp emUiKQogICAgKHN5bm9wc2lzCiAgICAgIlRoaXMgY3JhdGUgcHJvdmlkZXMgYSBwcm9jZWR1 cmFsIG1hY3JvIHRoYXQgZW5hYmxlcyBlbnVtcyB0byBub3Qgb25seSBvYnRhaW4gdGhlIG9y ZGluYWwgdmFsdWVzIG9mIHRoZWlyIHZhcmlhbnRzIGJ1dCBhbHNvIGFsbG93cyBmb3IgdGhl IGNvbnN0cnVjdGlvbiBvZiBlbnVtcyBmcm9tIGFuIG9yZGluYWwgdmFsdWUiKQogICAgKGRl c2NyaXB0aW9uCiAgICAgIlRoaXMgY3JhdGUgcHJvdmlkZXMgYSBwcm9jZWR1cmFsIG1hY3Jv IHRoYXQgZW5hYmxlcyBlbnVtcyB0byBub3Qgb25seSBvYnRhaW4gdGhlCm9yZGluYWwgdmFs dWVzIG9mIHRoZWlyIHZhcmlhbnRzIGJ1dCBhbHNvIGFsbG93cyBmb3IgdGhlIGNvbnN0cnVj dGlvbiBvZiBlbnVtcwpmcm9tIGFuIG9yZGluYWwgdmFsdWUuIikKICAgIChsaWNlbnNlIGxp Y2Vuc2U6ZXhwYXQpKSkKCihkZWZpbmUtcHVibGljIHJ1c3QtZXNjYXBlODI1OS0wLjUKICAo cGFja2FnZQogICAgKG5hbWUgInJ1c3QtZXNjYXBlODI1OSIpCiAgICAodmVyc2lvbiAiMC41 LjMiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNo KQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJlc2NhcGU4MjU5IiB2ZXJzaW9uKSkKICAgICAg IChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIp KQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjFpbjJ6cmRhazc5NHg4djExbGty cmd5cXhqanFiaWp2ZzB5Zm4ycGFheTByYjl4eHY0am4iKSkpKQogICAgKGJ1aWxkLXN5c3Rl bSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWRl dmVsb3BtZW50LWlucHV0cyAoKCJydXN0LXJ1c3R2ZXJzaW9uIiAscnVzdC1ydXN0dmVyc2lv bi0xKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL2VyaWNzZXBwYW5l bi9lc2NhcGU4MjU5IikKICAgIChzeW5vcHNpcyAiUkZDODI1OS1jb21wbGlhbnQgc3RyaW5n IGVzY2FwaW5nIGFuZCB1bi1lc2NhcGluZyIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhp cyBwYWNrYWdlIHByb3ZpZGVzIFJGQzgyNTktY29tcGxpYW50IHN0cmluZyBlc2NhcGluZyBh bmQgdW4tZXNjYXBpbmcuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkKCihkZWZp bmUtcHVibGljIHJ1c3QtZmFsbGlibGUtaXRlcmF0b3ItMC4zCiAgKHBhY2thZ2UKICAgIChu YW1lICJydXN0LWZhbGxpYmxlLWl0ZXJhdG9yIikKICAgICh2ZXJzaW9uICIwLjMuMCIpCiAg ICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAg ICAodXJpIChjcmF0ZS11cmkgImZhbGxpYmxlLWl0ZXJhdG9yIiB2ZXJzaW9uKSkKICAgICAg IChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIp KQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjBqYTZsNTZ5a2E1dm40eTRwazZo bjg4ejBicG55N2E4azE5MTlhcWp6cDBqMXloeTlrMWEiKSkpKQogICAgKGJ1aWxkLXN5c3Rl bSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5j b20vc2ZhY2tsZXIvcnVzdC1mYWxsaWJsZS1pdGVyYXRvciIpCiAgICAoc3lub3BzaXMgIkZh bGxpYmxlIGl0ZXJhdG9yIHRyYWl0cyIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFja2Fn ZSBwcm92aWRlcyBGYWxsaWJsZSBpdGVyYXRvciB0cmFpdHMuIikKICAgIChsaWNlbnNlIChs aXN0IGxpY2Vuc2U6ZXhwYXQgbGljZW5zZTphc2wyLjApKSkpCgooZGVmaW5lLXB1YmxpYyBy dXN0LWZvbnRjb25maWctcGFyc2VyLTAuNQogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1m b250Y29uZmlnLXBhcnNlciIpCiAgICAodmVyc2lvbiAiMC41LjYiKQogICAgKHNvdXJjZQog ICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3Jh dGUtdXJpICJmb250Y29uZmlnLXBhcnNlciIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1l IChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChz aGEyNTYKICAgICAgICAoYmFzZTMyICIwa2ZxYWNkMm03cnBjbmhzNHdkcDI2MTBiNGg0aGRs enI3ODNqcnYxMzZqM2Eyc21xbmJhIikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVp bGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpjYXJnby1pbnB1dHMgKCgicnVz dC1sb2ciICxydXN0LWxvZy0wLjQpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXJv eG1sdHJlZSIgLHJ1c3Qtcm94bWx0cmVlLTAuMTkpCiAgICAgICAgICAgICAgICAgICAgICAg KCJydXN0LXNlcmRlIiAscnVzdC1zZXJkZS0xKSkKICAgICAgICM6Y2FyZ28tZGV2ZWxvcG1l bnQtaW5wdXRzICgoInJ1c3QtY3JpdGVyaW9uIiAscnVzdC1jcml0ZXJpb24tMC41KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1nbG9iIiAscnVzdC1nbG9i LTAuMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtazkiICxy dXN0LWs5LTAuMTIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0 LXNlcmRlLXlhbWwiICxydXN0LXNlcmRlLXlhbWwtMC45KSkpKQogICAgKGhvbWUtcGFnZSAi aHR0cHM6Ly9naXRodWIuY29tL1JpZXkvZm9udGNvbmZpZy1wYXJzZXIiKQogICAgKHN5bm9w c2lzICJmb250Y29uZmlnIGZpbGUgcGFyc2VyIGluIHB1cmUgUnVzdCIpCiAgICAoZGVzY3Jp cHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRlcyBmb250Y29uZmlnIGZpbGUgcGFyc2VyIGlu IHB1cmUgUnVzdC4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQoKKGRlZmluZS1w dWJsaWMgcnVzdC1mb250ZGItMC4xNgogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1mb250 ZGIiKQogICAgKHZlcnNpb24gIjAuMTYuMiIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgog ICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgImZvbnRk YiIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0i IHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIx aHF4djNqbmgwNnM0YmZscnduYjM5bWkza25sbGZzNG14bTQ0dnNuMGd6Z3FjaDkwYWRoIikp KSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50 cwogICAgIGAoIzpjYXJnby1pbnB1dHMgKCgicnVzdC1mb250Y29uZmlnLXBhcnNlciIgLHJ1 c3QtZm9udGNvbmZpZy1wYXJzZXItMC41KQogICAgICAgICAgICAgICAgICAgICAgICgicnVz dC1sb2ciICxydXN0LWxvZy0wLjQpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LW1l bW1hcDIiICxydXN0LW1lbW1hcDItMC45KQogICAgICAgICAgICAgICAgICAgICAgICgicnVz dC1zbG90bWFwIiAscnVzdC1zbG90bWFwLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJy dXN0LXRpbnl2ZWMiICxydXN0LXRpbnl2ZWMtMSkKICAgICAgICAgICAgICAgICAgICAgICAo InJ1c3QtdHRmLXBhcnNlciIgLHJ1c3QtdHRmLXBhcnNlci0wLjIwKSkKICAgICAgICM6Y2Fy Z28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1c3QtZW52LWxvZ2dlciIgLHJ1c3QtZW52LWxv Z2dlci0wLjEwKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL1JhenJG YWxjb24vZm9udGRiIikKICAgIChzeW5vcHNpcyAic2ltcGxlLCBpbi1tZW1vcnkgZm9udCBk YXRhYmFzZSB3aXRoIENTUy1saWtlIHF1ZXJpZXMuIikKICAgIChkZXNjcmlwdGlvbgogICAg ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgYSBzaW1wbGUsIGluLW1lbW9yeSBmb250IGRhdGFi YXNlIHdpdGggQ1NTLWxpa2UgcXVlcmllcy4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpleHBh dCkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1naW1saS0wLjMwCiAgKHBhY2thZ2UKICAgIChu YW1lICJydXN0LWdpbWxpIikKICAgICh2ZXJzaW9uICIwLjMwLjAiKQogICAgKHNvdXJjZQog ICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3Jh dGUtdXJpICJnaW1saSIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBw ZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAg ICAoYmFzZTMyICIxamZ6MXNqOWgwcm5saGpubXkzMTVkYjJkcnNuNTRmMGI1cWNwbmR2bDhs cHByenhrcWcyIikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQog ICAgKGFyZ3VtZW50cwogICAgIGAoIzpjYXJnby1pbnB1dHMgKCgicnVzdC1jb21waWxlci1i dWlsdGlucyIgLHJ1c3QtY29tcGlsZXItYnVpbHRpbnMtMC4xKQogICAgICAgICAgICAgICAg ICAgICAgICgicnVzdC1mYWxsaWJsZS1pdGVyYXRvciIgLHJ1c3QtZmFsbGlibGUtaXRlcmF0 b3ItMC4zKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1pbmRleG1hcCIgLHJ1c3Qt aW5kZXhtYXAtMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcnVzdGMtc3RkLXdv cmtzcGFjZS1hbGxvYyIgLHJ1c3QtcnVzdGMtc3RkLXdvcmtzcGFjZS1hbGxvYy0xKQogICAg ICAgICAgICAgICAgICAgICAgICgicnVzdC1ydXN0Yy1zdGQtd29ya3NwYWNlLWNvcmUiICxy dXN0LXJ1c3RjLXN0ZC13b3Jrc3BhY2UtY29yZS0xKQogICAgICAgICAgICAgICAgICAgICAg ICgicnVzdC1zdGFibGUtZGVyZWYtdHJhaXQiICxydXN0LXN0YWJsZS1kZXJlZi10cmFpdC0x KSkKICAgICAgICM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1c3QtdGVzdC1hc3Nl bWJsZXIiICxydXN0LXRlc3QtYXNzZW1ibGVyLTAuMSkpKSkKICAgIChob21lLXBhZ2UgImh0 dHBzOi8vZ2l0aHViLmNvbS9naW1saS1ycy9naW1saSIpCiAgICAoc3lub3BzaXMgImxpYnJh cnkgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmcgdGhlIERXQVJGIGRlYnVnZ2luZyBmb3JtYXQu IikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgYSBsaWJy YXJ5IGZvciByZWFkaW5nIGFuZCB3cml0aW5nIHRoZSBEV0FSRiBkZWJ1Z2dpbmcKZm9ybWF0 LiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNsMi4wKSkp KQoKKGRlZmluZS1wdWJsaWMgcnVzdC1oYXlhZ3JpdmEtMC41CiAgKHBhY2thZ2UKICAgIChu YW1lICJydXN0LWhheWFncml2YSIpCiAgICAodmVyc2lvbiAiMC41LjMiKQogICAgKHNvdXJj ZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAo Y3JhdGUtdXJpICJoYXlhZ3JpdmEiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3Ry aW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2 CiAgICAgICAgKGJhc2UzMiAiMHluOWo0OGhqNDkxc3d3dnBidzR4c3phcHJwMmFjYjJsc3c3 NnprbnJmM3BpZzRqMDM4eCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5 c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNmCiAgICAgICAjOmNhcmdv LWlucHV0cyAoKCJydXN0LWJpYmxhdGV4IiAscnVzdC1iaWJsYXRleC0wLjkpCiAgICAgICAg ICAgICAgICAgICAgICAgKCJydXN0LWNpYm9yaXVtIiAscnVzdC1jaWJvcml1bS0wLjIpCiAg ICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWNpdGF0aW9uYmVyZyIgLHJ1c3QtY2l0YXRp b25iZXJnLTAuMykKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtY2xhcCIgLHJ1c3Qt Y2xhcC00KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1pbmRleG1hcCIgLHJ1c3Qt aW5kZXhtYXAtMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtbnVtZXJhbHMiICxy dXN0LW51bWVyYWxzLTAuMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcGFzdGUi ICxydXN0LXBhc3RlLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlIiAs cnVzdC1zZXJkZS0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zZXJkZS15YW1s IiAscnVzdC1zZXJkZS15YW1sLTAuOSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qt c3RydW0iICxydXN0LXN0cnVtLTAuMjYpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0 LXRoaXNlcnJvciIgLHJ1c3QtdGhpc2Vycm9yLTEpCiAgICAgICAgICAgICAgICAgICAgICAg KCJydXN0LXVuaWMtbGFuZ2lkIiAscnVzdC11bmljLWxhbmdpZC0wLjkpCiAgICAgICAgICAg ICAgICAgICAgICAgKCJydXN0LXVuaWNvZGUtc2VnbWVudGF0aW9uIiAscnVzdC11bmljb2Rl LXNlZ21lbnRhdGlvbi0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC11bnNjYW5u eSIgLHJ1c3QtdW5zY2FubnktMC4xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC11 cmwiICxydXN0LXVybC0yKSkKICAgICAgICM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgo InJ1c3QtaGVjayIgLHJ1c3QtaGVjay0wLjQpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LXNlcmRlLWpzb24iICxydXN0LXNlcmRlLWpzb24tMSkpKSkKICAg IChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS90eXBzdC9oYXlhZ3JpdmEiKQogICAg KHN5bm9wc2lzCiAgICAgIldvcmsgd2l0aCByZWZlcmVuY2VzOiBMaXRlcmF0dXJlIGRhdGFi YXNlIG1hbmFnZW1lbnQsIHN0b3JhZ2UsIGFuZCBjaXRhdGlvbiBmb3JtYXR0aW5nIikKICAg IChkZXNjcmlwdGlvbgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgV29yayB3aXRoIHJl ZmVyZW5jZXM6IExpdGVyYXR1cmUgZGF0YWJhc2UgbWFuYWdlbWVudCwgc3RvcmFnZSwgYW5k IGNpdGF0aW9uCmZvcm1hdHRpbmcuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6ZXhw YXQgbGljZW5zZTphc2wyLjApKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LWhlY2stMC41CiAg KHBhY2thZ2UKICAgIChuYW1lICJydXN0LWhlY2siKQogICAgKHZlcnNpb24gIjAuNS4wIikK ICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAg ICAgICh1cmkgKGNyYXRlLXVyaSAiaGVjayIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1l IChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChz aGEyNTYKICAgICAgICAoYmFzZTMyICIxc2ptcHNkbDhjenloOXl3bDNxY3Nmc3E5YTMwN2Rn NG5pMnZubHdnbnp6cWhjNHkwMTEzIikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVp bGQtc3lzdGVtKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3dpdGhvdXRi b2F0cy9oZWNrIikKICAgIChzeW5vcHNpcyAiaGVjayBpcyBhIGNhc2UgY29udmVyc2lvbiBs aWJyYXJ5IikKICAgIChkZXNjcmlwdGlvbiAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIGhlY2sg aXMgYSBjYXNlIGNvbnZlcnNpb24gbGlicmFyeS4iKQogICAgKGxpY2Vuc2UgKGxpc3QgbGlj ZW5zZTpleHBhdCBsaWNlbnNlOmFzbDIuMCkpKSkKCihkZWZpbmUtcHVibGljIHJ1c3QtaHlw aGVyLTAuMQogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1oeXBoZXIiKQogICAgKHZlcnNp b24gIjAuMS41IikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVy bC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAiaHlwaGVyIiB2ZXJzaW9uKSkKICAg ICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5n eiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjByYTJreGJwaTAzM2p5NDJ3 a3I3bTdyZ2c2eWh5Njl4YWQwaG1jMHo0MzkzNnhiYXM5MXYiKSkpKQogICAgKGJ1aWxkLXN5 c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOnRlc3Rz PyAjZikpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vdHlwc3QvaHlwaGVy IikKICAgIChzeW5vcHNpcyAiaHlwaGVyIHNlcGFyYXRlcyB3b3JkcyBpbnRvIHN5bGxhYmxl cyIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIGh5cGhl ciBzZXBhcmF0ZXMgd29yZHMgaW50byBzeWxsYWJsZXMuIikKICAgIChsaWNlbnNlIChsaXN0 IGxpY2Vuc2U6ZXhwYXQgbGljZW5zZTphc2wyLjApKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0 LWljdS1jb2xsZWN0aW9ucy0xCiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LWljdS1jb2xs ZWN0aW9ucyIpCiAgICAodmVyc2lvbiAiMS41LjAiKQogICAgKHNvdXJjZQogICAgIChvcmln aW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJp Y3VfY29sbGVjdGlvbnMiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFw cGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAg ICAgKGJhc2UzMiAiMDlqNWtza2lybDU5bXZxYzhrYWJoeTcwMDV5eXk3ZHA4OGp3OWY2ZjNn a2Y0MTlhOGJ5diIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkK ICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNmCiAgICAgICAjOmNhcmdvLWlucHV0 cyAoKCJydXN0LWRhdGFiYWtlIiAscnVzdC1kYXRhYmFrZS0wLjEpCiAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LWRpc3BsYXlkb2MiICxydXN0LWRpc3BsYXlkb2MtMC4yKQogICAg ICAgICAgICAgICAgICAgICAgICgicnVzdC1zZXJkZSIgLHJ1c3Qtc2VyZGUtMSkKICAgICAg ICAgICAgICAgICAgICAgICAoInJ1c3QteW9rZSIgLHJ1c3QteW9rZS0wLjcpCiAgICAgICAg ICAgICAgICAgICAgICAgKCJydXN0LXplcm9mcm9tIiAscnVzdC16ZXJvZnJvbS0wLjEpCiAg ICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXplcm92ZWMiICxydXN0LXplcm92ZWMtMC4x MCkpCiAgICAgICAjOmNhcmdvLWRldmVsb3BtZW50LWlucHV0cyAoKCJydXN0LWNyaXRlcmlv biIgLHJ1c3QtY3JpdGVyaW9uLTAuNSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoInJ1c3QtaWFpIiAscnVzdC1pYWktMC4xKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICgicnVzdC1wb3N0Y2FyZCIgLHJ1c3QtcG9zdGNhcmQtMSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc2VyZGUiICxydXN0LXNlcmRl LTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlLWpz b24iICxydXN0LXNlcmRlLWpzb24tMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoInJ1c3QtdG9tbCIgLHJ1c3QtdG9tbC0wLjUpKSkpCiAgICAoaG9tZS1wYWdlICJo dHRwczovL2ljdTR4LnVuaWNvZGUub3JnIikKICAgIChzeW5vcHNpcyAiQ29sbGVjdGlvbiBv ZiBBUEkgZm9yIHVzZSBpbiBJQ1UgbGlicmFyaWVzIikKICAgIChkZXNjcmlwdGlvbgogICAg ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgQ29sbGVjdGlvbiBvZiBBUEkgZm9yIHVzZSBpbiBJ Q1UgbGlicmFyaWVzLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOnVuaWNvZGUpKSkKCihkZWZp bmUtcHVibGljIHJ1c3QtaWN1LWxvY2lkLTEKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3Qt aWN1LWxvY2lkIikKICAgICh2ZXJzaW9uICIxLjUuMCIpCiAgICAoc291cmNlCiAgICAgKG9y aWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkg ImljdV9sb2NpZCIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5k IG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAo YmFzZTMyICIwZHpudmQxYzViMDJpaWxxbTA0NHE0aHZhcjBzcWlicTF6NDZwcnF3anp3aWY2 MXZwYjBrIikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAg KGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0cz8gI2YKICAgICAgICM6Y2FyZ28taW5wdXRzICgo InJ1c3QtZGF0YWJha2UiICxydXN0LWRhdGFiYWtlLTAuMSkKICAgICAgICAgICAgICAgICAg ICAgICAoInJ1c3QtZGlzcGxheWRvYyIgLHJ1c3QtZGlzcGxheWRvYy0wLjIpCiAgICAgICAg ICAgICAgICAgICAgICAgKCJydXN0LWxpdGVtYXAiICxydXN0LWxpdGVtYXAtMC43KQogICAg ICAgICAgICAgICAgICAgICAgICgicnVzdC1zZXJkZSIgLHJ1c3Qtc2VyZGUtMSkKICAgICAg ICAgICAgICAgICAgICAgICAoInJ1c3QtdGlueXN0ciIgLHJ1c3QtdGlueXN0ci0wLjcpCiAg ICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXdyaXRlYWJsZSIgLHJ1c3Qtd3JpdGVhYmxl LTAuNSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtemVyb3ZlYyIgLHJ1c3QtemVy b3ZlYy0wLjEwKSkKICAgICAgICM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1c3Qt Y3JpdGVyaW9uIiAscnVzdC1jcml0ZXJpb24tMC41KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICgicnVzdC1pYWkiICxydXN0LWlhaS0wLjEpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXBvc3RjYXJkIiAscnVzdC1wb3N0Y2FyZC0x KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zZXJkZSIgLHJ1 c3Qtc2VyZGUtMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qt c2VyZGUtanNvbiIgLHJ1c3Qtc2VyZGUtanNvbi0xKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0 cHM6Ly9pY3U0eC51bmljb2RlLm9yZyIpCiAgICAoc3lub3BzaXMgIkFQSSBmb3IgbWFuYWdp bmcgVW5pY29kZSBMYW5ndWFnZSBhbmQgTG9jYWxlIElkZW50aWZpZXJzIikKICAgIChkZXNj cmlwdGlvbgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgQVBJIGZvciBtYW5hZ2luZyBV bmljb2RlIExhbmd1YWdlIGFuZCBMb2NhbGUgSWRlbnRpZmllcnMuIikKICAgIChsaWNlbnNl IGxpY2Vuc2U6dW5pY29kZSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1pY3UtbG9jaWQtdHJh bnNmb3JtLTEKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3QtaWN1LWxvY2lkLXRyYW5zZm9y bSIpCiAgICAodmVyc2lvbiAiMS41LjAiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAg ICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJpY3VfbG9j aWRfdHJhbnNmb3JtIiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBl bmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAg IChiYXNlMzIgIjBrbW1pMWttajl5cGg2bWRna2M3djN3ejY5OTV2N2x5M244MHZiZzB6cjc4 YnAxaW1sODEiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAg ICAoYXJndW1lbnRzCiAgICAgYCgjOnRlc3RzPyAjZgogICAgICAgIzpjYXJnby1pbnB1dHMg KCgicnVzdC1kYXRhYmFrZSIgLHJ1c3QtZGF0YWJha2UtMC4xKQogICAgICAgICAgICAgICAg ICAgICAgICgicnVzdC1kaXNwbGF5ZG9jIiAscnVzdC1kaXNwbGF5ZG9jLTAuMikKICAgICAg ICAgICAgICAgICAgICAgICAoInJ1c3QtaWN1LWxvY2lkIiAscnVzdC1pY3UtbG9jaWQtMSkK ICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtaWN1LWxvY2lkLXRyYW5zZm9ybS1kYXRh IiAscnVzdC1pY3UtbG9jaWQtdHJhbnNmb3JtLWRhdGEtMSkKICAgICAgICAgICAgICAgICAg ICAgICAoInJ1c3QtaWN1LXByb3ZpZGVyIiAscnVzdC1pY3UtcHJvdmlkZXItMSkKICAgICAg ICAgICAgICAgICAgICAgICAoInJ1c3Qtc2VyZGUiICxydXN0LXNlcmRlLTEpCiAgICAgICAg ICAgICAgICAgICAgICAgKCJydXN0LXRpbnlzdHIiICxydXN0LXRpbnlzdHItMC43KQogICAg ICAgICAgICAgICAgICAgICAgICgicnVzdC16ZXJvdmVjIiAscnVzdC16ZXJvdmVjLTAuMTAp KQogICAgICAgIzpjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1jcml0ZXJpb24i ICxydXN0LWNyaXRlcmlvbi0wLjUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKCJydXN0LXNlcmRlIiAscnVzdC1zZXJkZS0xKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICgicnVzdC1zZXJkZS1qc29uIiAscnVzdC1zZXJkZS1qc29uLTEpKSkp CiAgICAoaG9tZS1wYWdlICJodHRwczovL2ljdTR4LnVuaWNvZGUub3JnIikKICAgIChzeW5v cHNpcwogICAgICJBUEkgZm9yIFVuaWNvZGUgTGFuZ3VhZ2UgYW5kIExvY2FsZSBJZGVudGlm aWVycyBjYW5vbmljYWxpemF0aW9uIikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIHBh Y2thZ2UgcHJvdmlkZXMgQVBJIGZvciBVbmljb2RlIExhbmd1YWdlIGFuZCBMb2NhbGUgSWRl bnRpZmllcnMgY2Fub25pY2FsaXphdGlvbi4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTp1bmlj b2RlKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LWljdS1sb2NpZC10cmFuc2Zvcm0tZGF0YS0x CiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LWljdS1sb2NpZC10cmFuc2Zvcm0tZGF0YSIp CiAgICAodmVyc2lvbiAiMS41LjAiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAg IChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJpY3VfbG9jaWRf dHJhbnNmb3JtX2RhdGEiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFw cGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAg ICAgKGJhc2UzMiAiMHZrZ2ppeG0wd3pwMm4zdjVtdzRqODlseTA1YmczbHg5NmpwZGdnYnds cHFpMHJ6emo3eCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkK ICAgIChob21lLXBhZ2UgImh0dHBzOi8vaWN1NHgudW5pY29kZS5vcmciKQogICAgKHN5bm9w c2lzICJEYXRhIGZvciB0aGUgaWN1X2xvY2lkX3RyYW5zZm9ybSBjcmF0ZSIpCiAgICAoZGVz Y3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIERhdGEgZm9yIHRoZSBpY3Vf bG9jaWRfdHJhbnNmb3JtIGNyYXRlLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOnVuaWNvZGUp KSkKCihkZWZpbmUtcHVibGljIHJ1c3QtaWN1LXByb3BlcnRpZXMtMQogIChwYWNrYWdlCiAg ICAobmFtZSAicnVzdC1pY3UtcHJvcGVydGllcyIpCiAgICAodmVyc2lvbiAiMS41LjEiKQog ICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAg ICAgKHVyaSAoY3JhdGUtdXJpICJpY3VfcHJvcGVydGllcyIgdmVyc2lvbikpCiAgICAgICAo ZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkK ICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxeGdmNTg0cngxMHhjMXA3empyNzhr MG40em4zZzIzcnJnNnYybG4zMWluZ2NxM2g1bWxrIikpKSkKICAgIChidWlsZC1zeXN0ZW0g Y2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0cz8gI2YK ICAgICAgICM6Y2FyZ28taW5wdXRzICgoInJ1c3QtZGF0YWJha2UiICxydXN0LWRhdGFiYWtl LTAuMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtZGlzcGxheWRvYyIgLHJ1c3Qt ZGlzcGxheWRvYy0wLjIpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWljdS1jb2xs ZWN0aW9ucyIgLHJ1c3QtaWN1LWNvbGxlY3Rpb25zLTEpCiAgICAgICAgICAgICAgICAgICAg ICAgKCJydXN0LWljdS1sb2NpZC10cmFuc2Zvcm0iICxydXN0LWljdS1sb2NpZC10cmFuc2Zv cm0tMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtaWN1LXByb3BlcnRpZXMtZGF0 YSIgLHJ1c3QtaWN1LXByb3BlcnRpZXMtZGF0YS0xKQogICAgICAgICAgICAgICAgICAgICAg ICgicnVzdC1pY3UtcHJvdmlkZXIiICxydXN0LWljdS1wcm92aWRlci0xKQogICAgICAgICAg ICAgICAgICAgICAgICgicnVzdC1zZXJkZSIgLHJ1c3Qtc2VyZGUtMSkKICAgICAgICAgICAg ICAgICAgICAgICAoInJ1c3QtdGlueXN0ciIgLHJ1c3QtdGlueXN0ci0wLjcpCiAgICAgICAg ICAgICAgICAgICAgICAgKCJydXN0LXVuaWNvZGUtYmlkaSIgLHJ1c3QtdW5pY29kZS1iaWRp LTAuMykKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtemVyb3ZlYyIgLHJ1c3QtemVy b3ZlYy0wLjEwKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9pY3U0eC51bmljb2RlLm9y ZyIpCiAgICAoc3lub3BzaXMgIkRlZmluaXRpb25zIGZvciBVbmljb2RlIHByb3BlcnRpZXMi KQogICAgKGRlc2NyaXB0aW9uICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgRGVmaW5pdGlvbnMg Zm9yIFVuaWNvZGUgcHJvcGVydGllcy4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTp1bmljb2Rl KSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LWljdS1wcm9wZXJ0aWVzLWRhdGEtMQogIChwYWNr YWdlCiAgICAobmFtZSAicnVzdC1pY3UtcHJvcGVydGllcy1kYXRhIikKICAgICh2ZXJzaW9u ICIxLjUuMCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwt ZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgImljdV9wcm9wZXJ0aWVzX2RhdGEiIHZl cnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJz aW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMHNjbXM3 cGQ1YTd5eHg5aGZsMTY3ZjVxZGY0NGFzNnIzYmQ4bXlobG5nbnhxZ3h5emEzNyIpKSkpCiAg ICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChob21lLXBhZ2UgImh0 dHBzOi8vaWN1NHgudW5pY29kZS5vcmciKQogICAgKHN5bm9wc2lzICJEYXRhIGZvciB0aGUg aWN1X3Byb3BlcnRpZXMgY3JhdGUiKQogICAgKGRlc2NyaXB0aW9uICJUaGlzIHBhY2thZ2Ug cHJvdmlkZXMgRGF0YSBmb3IgdGhlIGljdV9wcm9wZXJ0aWVzIGNyYXRlLiIpCiAgICAobGlj ZW5zZSBsaWNlbnNlOnVuaWNvZGUpKSkKCihkZWZpbmUtcHVibGljIHJ1c3QtaWN1LXByb3Zp ZGVyLTEKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3QtaWN1LXByb3ZpZGVyIikKICAgICh2 ZXJzaW9uICIxLjUuMCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhv ZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgImljdV9wcm92aWRlciIgdmVy c2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNp b24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxbmI4dnZn dzhkdjJpbnFrbHZrMDVmczBxeHprdzh4cmcybjl2Z2lkNnk3Z20zNDIzbTNmIikpKSkKICAg IChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAg IGAoIzp0ZXN0cz8gI2YKICAgICAgICM6Y2FyZ28taW5wdXRzICgoInJ1c3QtYmluY29kZSIg LHJ1c3QtYmluY29kZS0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1kYXRhYmFr ZSIgLHJ1c3QtZGF0YWJha2UtMC4xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1k aXNwbGF5ZG9jIiAscnVzdC1kaXNwbGF5ZG9jLTAuMikKICAgICAgICAgICAgICAgICAgICAg ICAoInJ1c3QtZXJhc2VkLXNlcmRlIiAscnVzdC1lcmFzZWQtc2VyZGUtMC4zKQogICAgICAg ICAgICAgICAgICAgICAgICgicnVzdC1pY3UtbG9jaWQiICxydXN0LWljdS1sb2NpZC0xKQog ICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1pY3UtcHJvdmlkZXItbWFjcm9zIiAscnVz dC1pY3UtcHJvdmlkZXItbWFjcm9zLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0 LWxvZyIgLHJ1c3QtbG9nLTAuNCkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcG9z dGNhcmQiICxydXN0LXBvc3RjYXJkLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0 LXNlcmRlIiAscnVzdC1zZXJkZS0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1z ZXJkZS1qc29uIiAscnVzdC1zZXJkZS1qc29uLTEpCiAgICAgICAgICAgICAgICAgICAgICAg KCJydXN0LXN0YWJsZS1kZXJlZi10cmFpdCIgLHJ1c3Qtc3RhYmxlLWRlcmVmLXRyYWl0LTEp CiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXRpbnlzdHIiICxydXN0LXRpbnlzdHIt MC43KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC13cml0ZWFibGUiICxydXN0LXdy aXRlYWJsZS0wLjUpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXlva2UiICxydXN0 LXlva2UtMC43KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC16ZXJvZnJvbSIgLHJ1 c3QtemVyb2Zyb20tMC4xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC16ZXJvdmVj IiAscnVzdC16ZXJvdmVjLTAuMTApKQogICAgICAgIzpjYXJnby1kZXZlbG9wbWVudC1pbnB1 dHMgKCgicnVzdC1jcml0ZXJpb24iICxydXN0LWNyaXRlcmlvbi0wLjUpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlLWpzb24iICxydXN0LXNlcmRl LWpzb24tMSkpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vaWN1NHgudW5pY29kZS5vcmci KQogICAgKHN5bm9wc2lzICJUcmFpdCBhbmQgc3RydWN0IGRlZmluaXRpb25zIGZvciB0aGUg SUNVIGRhdGEgcHJvdmlkZXIiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2Fn ZSBwcm92aWRlcyBUcmFpdCBhbmQgc3RydWN0IGRlZmluaXRpb25zIGZvciB0aGUgSUNVIGRh dGEgcHJvdmlkZXIuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6dW5pY29kZSkpKQoKKGRlZmlu ZS1wdWJsaWMgcnVzdC1pY3UtcHJvdmlkZXItYWRhcHRlcnMtMQogIChwYWNrYWdlCiAgICAo bmFtZSAicnVzdC1pY3UtcHJvdmlkZXItYWRhcHRlcnMiKQogICAgKHZlcnNpb24gIjEuNS4w IikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkK ICAgICAgICh1cmkgKGNyYXRlLXVyaSAiaWN1X3Byb3ZpZGVyX2FkYXB0ZXJzIiB2ZXJzaW9u KSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAi LnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjFnNjBmeWRhazBp NHJ4Zjh2ZnJyMzFtcGNrODQ2azl5bml4NGZoMXF4MmlsMTN5bHNjbm4iKSkpKQogICAgKGJ1 aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgj OnRlc3RzPyAjZgogICAgICAgIzpjYXJnby1pbnB1dHMgKCgicnVzdC1kYXRhYmFrZSIgLHJ1 c3QtZGF0YWJha2UtMC4xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1pY3UtbG9j aWQiICxydXN0LWljdS1sb2NpZC0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1p Y3UtbG9jaWQtdHJhbnNmb3JtIiAscnVzdC1pY3UtbG9jaWQtdHJhbnNmb3JtLTEpCiAgICAg ICAgICAgICAgICAgICAgICAgKCJydXN0LWljdS1wcm92aWRlciIgLHJ1c3QtaWN1LXByb3Zp ZGVyLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlIiAscnVzdC1zZXJk ZS0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC10aW55c3RyIiAscnVzdC10aW55 c3RyLTAuNykKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtemVyb3ZlYyIgLHJ1c3Qt emVyb3ZlYy0wLjEwKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9pY3U0eC51bmljb2Rl Lm9yZyIpCiAgICAoc3lub3BzaXMgIkFkYXB0ZXJzIGZvciBjb21wb3NpbmcgYW5kIG1hbmlw dWxhdGluZyBkYXRhIHByb3ZpZGVycyIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBw YWNrYWdlIHByb3ZpZGVzIEFkYXB0ZXJzIGZvciBjb21wb3NpbmcgYW5kIG1hbmlwdWxhdGlu ZyBkYXRhIHByb3ZpZGVycy4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTp1bmljb2RlKSkpCgoo ZGVmaW5lLXB1YmxpYyBydXN0LWljdS1wcm92aWRlci1ibG9iLTEKICAocGFja2FnZQogICAg KG5hbWUgInJ1c3QtaWN1LXByb3ZpZGVyLWJsb2IiKQogICAgKHZlcnNpb24gIjEuNS4wIikK ICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAg ICAgICh1cmkgKGNyYXRlLXVyaSAiaWN1X3Byb3ZpZGVyX2Jsb2IiIHZlcnNpb24pKQogICAg ICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6 IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMGxmZ3ZpYTV2NzZna3BmZ2Jn YTVnYTZ6MWI1NDY1djgyMWYyaHMweGZtYXo2djhyaGp5MiIpKSkpCiAgICAoYnVpbGQtc3lz dGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ ICNmCiAgICAgICAjOmNhcmdvLWlucHV0cyAoKCJydXN0LWljdS1wcm92aWRlciIgLHJ1c3Qt aWN1LXByb3ZpZGVyLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWxvZyIgLHJ1 c3QtbG9nLTAuNCkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcG9zdGNhcmQiICxy dXN0LXBvc3RjYXJkLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlIiAs cnVzdC1zZXJkZS0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC13cml0ZWFibGUi ICxydXN0LXdyaXRlYWJsZS0wLjUpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXpl cm90cmllIiAscnVzdC16ZXJvdHJpZS0wLjEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJy dXN0LXplcm92ZWMiICxydXN0LXplcm92ZWMtMC4xMCkpCiAgICAgICAjOmNhcmdvLWRldmVs b3BtZW50LWlucHV0cyAoKCJydXN0LWNyaXRlcmlvbiIgLHJ1c3QtY3JpdGVyaW9uLTAuNSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtdHdveC1oYXNoIiAs cnVzdC10d294LWhhc2gtMSkpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vaWN1NHgudW5p Y29kZS5vcmciKQogICAgKHN5bm9wc2lzICJJQ1U0WCBkYXRhIHByb3ZpZGVyIHRoYXQgcmVh ZHMgZnJvbSBibG9icyBpbiBtZW1vcnkiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMg cGFja2FnZSBwcm92aWRlcyBJQ1U0WCBkYXRhIHByb3ZpZGVyIHRoYXQgcmVhZHMgZnJvbSBi bG9icyBpbiBtZW1vcnkuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6dW5pY29kZSkpKQoKKGRl ZmluZS1wdWJsaWMgcnVzdC1pY3UtcHJvdmlkZXItbWFjcm9zLTEKICAocGFja2FnZQogICAg KG5hbWUgInJ1c3QtaWN1LXByb3ZpZGVyLW1hY3JvcyIpCiAgICAodmVyc2lvbiAiMS41LjAi KQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQog ICAgICAgKHVyaSAoY3JhdGUtdXJpICJpY3VfcHJvdmlkZXJfbWFjcm9zIiB2ZXJzaW9uKSkK ICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRh ci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjFtanMwdzdmY20ybGNx bWJha2huaW56cmp3cXM0ODVsa3BzNGh6MGN2M2szNnk5cnhqMHkiKSkpKQogICAgKGJ1aWxk LXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOnRl c3RzPyAjZgogICAgICAgIzpjYXJnby1pbnB1dHMgKCgicnVzdC1wcm9jLW1hY3JvMiIgLHJ1 c3QtcHJvYy1tYWNybzItMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcXVvdGUi ICxydXN0LXF1b3RlLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXN5biIgLHJ1 c3Qtc3luLTIpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2ljdTR4LnVuaWNvZGUub3Jn IikKICAgIChzeW5vcHNpcyAiUHJvYyBtYWNyb3MgZm9yIElDVSBkYXRhIHByb3ZpZGVycyIp CiAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRlcyBQcm9jIG1hY3JvcyBm b3IgSUNVIGRhdGEgcHJvdmlkZXJzLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOnVuaWNvZGUp KSkKCihkZWZpbmUtcHVibGljIHJ1c3QtaWN1LXNlZ21lbnRlci0xCiAgKHBhY2thZ2UKICAg IChuYW1lICJydXN0LWljdS1zZWdtZW50ZXIiKQogICAgKHZlcnNpb24gIjEuNS4wIikKICAg IChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAg ICh1cmkgKGNyYXRlLXVyaSAiaWN1X3NlZ21lbnRlciIgdmVyc2lvbikpCiAgICAgICAoZmls ZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAg ICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxcG1oYXJpYjlzMWhuNTY1MGQ0bHlkNDgx NDVuMW4xNHBqYTJnY256cXZybDI5Yjc0NXg3IikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2Fy Z28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0cz8gI2YKICAg ICAgICM6Y2FyZ28taW5wdXRzICgoInJ1c3QtY29yZS1tYXRocyIgLHJ1c3QtY29yZS1tYXRo cy0wLjEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWRhdGFiYWtlIiAscnVzdC1k YXRhYmFrZS0wLjEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWRpc3BsYXlkb2Mi ICxydXN0LWRpc3BsYXlkb2MtMC4yKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1p Y3UtY29sbGVjdGlvbnMiICxydXN0LWljdS1jb2xsZWN0aW9ucy0xKQogICAgICAgICAgICAg ICAgICAgICAgICgicnVzdC1pY3UtbG9jaWQiICxydXN0LWljdS1sb2NpZC0xKQogICAgICAg ICAgICAgICAgICAgICAgICgicnVzdC1pY3UtbG9jaWQtdHJhbnNmb3JtIiAscnVzdC1pY3Ut bG9jaWQtdHJhbnNmb3JtLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWljdS1w cm92aWRlciIgLHJ1c3QtaWN1LXByb3ZpZGVyLTEpCiAgICAgICAgICAgICAgICAgICAgICAg KCJydXN0LWljdS1zZWdtZW50ZXItZGF0YSIgLHJ1c3QtaWN1LXNlZ21lbnRlci1kYXRhLTEp CiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlIiAscnVzdC1zZXJkZS0xKQog ICAgICAgICAgICAgICAgICAgICAgICgicnVzdC11dGY4LWl0ZXIiICxydXN0LXV0ZjgtaXRl ci0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC16ZXJvdmVjIiAscnVzdC16ZXJv dmVjLTAuMTApKQogICAgICAgIzpjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1j cml0ZXJpb24iICxydXN0LWNyaXRlcmlvbi0wLjUpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKCJydXN0LWl0ZXJ0b29scyIgLHJ1c3QtaXRlcnRvb2xzLTAuMTApCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlIiAscnVzdC1z ZXJkZS0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zZXJk ZS1qc29uIiAscnVzdC1zZXJkZS1qc29uLTEpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczov L2ljdTR4LnVuaWNvZGUub3JnIikKICAgIChzeW5vcHNpcwogICAgICJVbmljb2RlIGxpbmUg YnJlYWtpbmcgYW5kIHRleHQgc2VnbWVudGF0aW9uIGFsZ29yaXRobXMgZm9yIHRleHQgYm91 bmRhcmllcyBhbmFseXNpcyIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdl IHByb3ZpZGVzIFVuaWNvZGUgbGluZSBicmVha2luZyBhbmQgdGV4dCBzZWdtZW50YXRpb24g YWxnb3JpdGhtcyBmb3IgdGV4dCBib3VuZGFyaWVzCmFuYWx5c2lzLiIpCiAgICAobGljZW5z ZSBsaWNlbnNlOnVuaWNvZGUpKSkKCihkZWZpbmUtcHVibGljIHJ1c3QtaWN1LXNlZ21lbnRl ci1kYXRhLTEKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3QtaWN1LXNlZ21lbnRlci1kYXRh IikKICAgICh2ZXJzaW9uICIxLjUuMCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAg ICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgImljdV9zZWdt ZW50ZXJfZGF0YSIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5k IG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAo YmFzZTMyICIxcHZyZ254aTdmcTQ3aGZwYzY2amd2eHpmYzhubXptZ3YweHc2M2ltYm5iMGY5 cnl3ZmdwIikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAg KGhvbWUtcGFnZSAiaHR0cHM6Ly9pY3U0eC51bmljb2RlLm9yZyIpCiAgICAoc3lub3BzaXMg IkRhdGEgZm9yIHRoZSBpY3Vfc2VnbWVudGVyIGNyYXRlIikKICAgIChkZXNjcmlwdGlvbiAi VGhpcyBwYWNrYWdlIHByb3ZpZGVzIERhdGEgZm9yIHRoZSBpY3Vfc2VnbWVudGVyIGNyYXRl LiIpCiAgICAobGljZW5zZSBsaWNlbnNlOnVuaWNvZGUpKSkKCihkZWZpbmUtcHVibGljIHJ1 c3QtaW1hZ2VzaXplLTAuMTIKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3QtaW1hZ2VzaXpl IikKICAgICh2ZXJzaW9uICIwLjEyLjAiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAg ICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJpbWFnZXNp emUiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICIt IiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAi MTE0anZxaXl2MTNpbDFxZ2h2MnhtMHhxcmNqbTY4ZmgyODJoZGx6ZGRzNnFmZ3NwNzc4MiIp KSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVu dHMKICAgICBgKCM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1c3QtY3JpdGVyaW9u IiAscnVzdC1jcml0ZXJpb24tMC40KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICgicnVzdC13YWxrZGlyIiAscnVzdC13YWxrZGlyLTIpKSkpCiAgICAoaG9tZS1wYWdl ICJodHRwczovL2dpdGh1Yi5jb20vUm91Z2hza2V0Y2gvaW1hZ2VzaXplIikKICAgIChzeW5v cHNpcwogICAgICJRdWljayBwcm9iaW5nIG9mIGltYWdlIGRpbWVuc2lvbnMgd2l0aG91dCBs b2FkaW5nIHRoZSBlbnRpcmUgZmlsZSIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBw YWNrYWdlIHByb3ZpZGVzIFF1aWNrIHByb2Jpbmcgb2YgaW1hZ2UgZGltZW5zaW9ucyB3aXRo b3V0IGxvYWRpbmcgdGhlIGVudGlyZSBmaWxlLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmV4 cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LWluZGV4bWFwLTIKICAocGFja2FnZQogICAg KG5hbWUgInJ1c3QtaW5kZXhtYXAiKQogICAgKHZlcnNpb24gIjIuMi42IikKICAgIChzb3Vy Y2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkg KGNyYXRlLXVyaSAiaW5kZXhtYXAiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3Ry aW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2 CiAgICAgICAgKGJhc2UzMiAiMDloZ3dpMmlnMHd5ajVyanppaWE3NnptaGdmajk1azBqYjRp YzNpaWF3bTR2bGF2ZzNxbiIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5 c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28taW5wdXRzICgoInJ1c3QtYXJi aXRyYXJ5IiAscnVzdC1hcmJpdHJhcnktMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1 c3QtYm9yc2giICxydXN0LWJvcnNoLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0 LWVxdWl2YWxlbnQiICxydXN0LWVxdWl2YWxlbnQtMSkKICAgICAgICAgICAgICAgICAgICAg ICAoInJ1c3QtaGFzaGJyb3duIiAscnVzdC1oYXNoYnJvd24tMC4xNCkKICAgICAgICAgICAg ICAgICAgICAgICAoInJ1c3QtcXVpY2tjaGVjayIgLHJ1c3QtcXVpY2tjaGVjay0xKQogICAg ICAgICAgICAgICAgICAgICAgICgicnVzdC1yYXlvbiIgLHJ1c3QtcmF5b24tMSkKICAgICAg ICAgICAgICAgICAgICAgICAoInJ1c3QtcnVzdGMtcmF5b24iICxydXN0LXJ1c3RjLXJheW9u LTAuNSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc2VyZGUiICxydXN0LXNlcmRl LTEpKQogICAgICAgIzpjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1mbnYiICxy dXN0LWZudi0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1m eGhhc2giICxydXN0LWZ4aGFzaC0wLjIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKCJydXN0LWl0ZXJ0b29scyIgLHJ1c3QtaXRlcnRvb2xzLTAuMTIpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWxhenktc3RhdGljIiAscnVzdC1s YXp5LXN0YXRpYy0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVz dC1xdWlja2NoZWNrIiAscnVzdC1xdWlja2NoZWNrLTEpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKCJydXN0LXJhbmQiICxydXN0LXJhbmQtMC44KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zZXJkZS1kZXJpdmUiICxydXN0LXNl cmRlLWRlcml2ZS0xKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL2lu ZGV4bWFwLXJzL2luZGV4bWFwIikKICAgIChzeW5vcHNpcyAiaGFzaCB0YWJsZSB3aXRoIGNv bnNpc3RlbnQgb3JkZXIgYW5kIGZhc3QgaXRlcmF0aW9uLiIpCiAgICAoZGVzY3JpcHRpb24K ICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIGEgaGFzaCB0YWJsZSB3aXRoIGNvbnNpc3Rl bnQgb3JkZXIgYW5kIGZhc3QgaXRlcmF0aW9uLiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNl bnNlOmFzbDIuMCBsaWNlbnNlOmV4cGF0KSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1pbmRl eG1hcC1ub3N0ZC0wLjQKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3QtaW5kZXhtYXAtbm9z dGQiKQogICAgKHZlcnNpb24gIjAuNC4wIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAg ICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAiaW5kZXht YXAtbm9zdGQiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBu YW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJh c2UzMiAiMTQ1bXJrcnJuenpnOHhidjZzaThqM2I4Y3cxcGkzZzEzdnJqZ2YxZm0yNDE1Z3l5 NDE0ZiIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChh cmd1bWVudHMKICAgICBgKCM6Y2FyZ28taW5wdXRzICgoInJ1c3Qtc2VyZGUiICxydXN0LXNl cmRlLTEpKQogICAgICAgIzpjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1zZXJk ZS1kZXJpdmUiICxydXN0LXNlcmRlLWRlcml2ZS0xKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0 cHM6Ly9naXRodWIuY29tL3JvYmJlcG9wL2luZGV4bWFwLW5vc3RkIikKICAgIChzeW5vcHNp cyAibm9fc3RkIGNvbXBhdGlibGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIGluZGV4bWFwIGNy YXRlIikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgYSBu b19zdGQgY29tcGF0aWJsZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgaW5kZXhtYXAgY3JhdGUu IikKICAgIChsaWNlbnNlIGxpY2Vuc2U6YXNsMi4wKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0 LWlzLWRvY2tlci0wLjIKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3QtaXMtZG9ja2VyIikK ICAgICh2ZXJzaW9uICIwLjIuMCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAg KG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgImlzLWRvY2tlciIg dmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZl cnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxY3lp YnJ2NjgxN2NxY3BmMzkxbTMyN3NzNDB4bGJpazh3eGN2NWg5cGo5Ynloa3N4MndqIikpKSkK ICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwog ICAgIGAoIzpjYXJnby1pbnB1dHMgKCgicnVzdC1vbmNlLWNlbGwiICxydXN0LW9uY2UtY2Vs bC0xKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL1RoZUxhcmtJbm4v aXMtZG9ja2VyIikKICAgIChzeW5vcHNpcyAiQ2hlY2tzIGlmIHRoZSBwcm9jZXNzIGlzIHJ1 bm5pbmcgaW5zaWRlIGEgRG9ja2VyIGNvbnRhaW5lciIpCiAgICAoZGVzY3JpcHRpb24KICAg ICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIENoZWNrcyBpZiB0aGUgcHJvY2VzcyBpcyBydW5u aW5nIGluc2lkZSBhIERvY2tlciBjb250YWluZXIuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6 ZXhwYXQpKSkKCihkZWZpbmUtcHVibGljIHJ1c3QtaXMtd3NsLTAuNAogIChwYWNrYWdlCiAg ICAobmFtZSAicnVzdC1pcy13c2wiKQogICAgKHZlcnNpb24gIjAuNC4wIikKICAgIChzb3Vy Y2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkg KGNyYXRlLXVyaSAiaXMtd3NsIiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmlu Zy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1Ngog ICAgICAgIChiYXNlMzIgIjE5YnM1cHEyMjFkNGJrbm53aXFxa3FybnN4MmluMGZzazhmeWx4 bTE3NDdpaW00aGpkaHAiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0 ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWlucHV0cyAoKCJydXN0LWlzLWRv Y2tlciIgLHJ1c3QtaXMtZG9ja2VyLTAuMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1 c3Qtb25jZS1jZWxsIiAscnVzdC1vbmNlLWNlbGwtMSkpKSkKICAgIChob21lLXBhZ2UgImh0 dHBzOi8vZ2l0aHViLmNvbS9UaGVMYXJrSW5uL2lzLXdzbCIpCiAgICAoc3lub3BzaXMKICAg ICAiQ2hlY2tzIGlmIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmcgaW5zaWRlIFdpbmRvd3MgU3Vi c3lzdGVtIGZvciBMaW51eCIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdl IHByb3ZpZGVzIENoZWNrcyBpZiB0aGUgcHJvY2VzcyBpcyBydW5uaW5nIGluc2lkZSBXaW5k b3dzIFN1YnN5c3RlbSBmb3IgTGludXguIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQp KSkKCihkZWZpbmUtcHVibGljIHJ1c3QtazktMC4xMS43LXlhbmtlZAogIChwYWNrYWdlCiAg ICAobmFtZSAicnVzdC1rOSIpCiAgICAodmVyc2lvbiAiMC4xMS43IikgOyBUaGlzIHZlcnNp b24gd2FzIHlhbmtlZCEKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9k IHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAiazkiIHZlcnNpb24pKQogICAg ICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6 IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMHI3eDdxbWlxMGkzMnI5aDU3 M3ZiMmg5N3B3ejZseTczNW56ZjY4aGoyODIzNzRjZjRpNSIpKSkpCiAgICAocHJvcGVydGll cyAnKChjcmF0ZS12ZXJzaW9uLXlhbmtlZD8gLiAjdCkpKQogICAgKGJ1aWxkLXN5c3RlbSBj YXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWlucHV0 cyAoKCJydXN0LWFueWhvdyIgLHJ1c3QtYW55aG93LTEpCiAgICAgICAgICAgICAgICAgICAg ICAgKCJydXN0LWNvbG9yZWQiICxydXN0LWNvbG9yZWQtMikKICAgICAgICAgICAgICAgICAg ICAgICAoInJ1c3QtZGlmZiIgLHJ1c3QtZGlmZi0wLjEpCiAgICAgICAgICAgICAgICAgICAg ICAgKCJydXN0LWxhenktc3RhdGljIiAscnVzdC1sYXp5LXN0YXRpYy0xKQogICAgICAgICAg ICAgICAgICAgICAgICgicnVzdC1saWJjIiAscnVzdC1saWJjLTAuMikKICAgICAgICAgICAg ICAgICAgICAgICAoInJ1c3QtcHJvYy1tYWNybzIiICxydXN0LXByb2MtbWFjcm8yLTEpCiAg ICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXJlZ2V4IiAscnVzdC1yZWdleC0xKQogICAg ICAgICAgICAgICAgICAgICAgICgicnVzdC1zeW4iICxydXN0LXN5bi0yKQogICAgICAgICAg ICAgICAgICAgICAgICgicnVzdC10ZXJtaW5hbC1zaXplIiAscnVzdC10ZXJtaW5hbC1zaXpl LTAuMikpCiAgICAgICAjOmNhcmdvLWRldmVsb3BtZW50LWlucHV0cyAoKCJydXN0LWRlcml2 ZS1idWlsZGVyIiAscnVzdC1kZXJpdmUtYnVpbGRlci0wLjkpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKCJydXN0LWs5IiAscnVzdC1rOS0wLjMpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXJhbmQiICxydXN0LXJhbmQtMC43KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zaGEyIiAscnVzdC1z aGEyLTAuOSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc3Ry aXAtYW5zaS1lc2NhcGVzIiAscnVzdC1zdHJpcC1hbnNpLWVzY2FwZXMtMC4xKSkpKQogICAg KGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL2Fhcm9uYWJyYW1vdi9rOSIpCiAgICAo c3lub3BzaXMgInJ1c3QgdGVzdGluZyBsaWJyYXJ5IikKICAgIChkZXNjcmlwdGlvbiAiVGhp cyBwYWNrYWdlIHByb3ZpZGVzIHJ1c3QgdGVzdGluZyBsaWJyYXJ5LiIpCiAgICAobGljZW5z ZSBsaWNlbnNlOmV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LWs5LTAuMTIKICAocGFj a2FnZQogICAgKG5hbWUgInJ1c3QtazkiKQogICAgKHZlcnNpb24gIjAuMTIuMCIpCiAgICAo c291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAo dXJpIChjcmF0ZS11cmkgIms5IiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmlu Zy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1Ngog ICAgICAgIChiYXNlMzIgIjA1Nm5ncnZ5bGE5NXFqNzM3aDd4anc1amE2OTdoMDdtcHc2cGNp NXYzY2I4YmZ4d3gycTgiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0 ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWlucHV0cyAoKCJydXN0LWFueWhv dyIgLHJ1c3QtYW55aG93LTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWNvbG9y ZWQiICxydXN0LWNvbG9yZWQtMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtZGlm ZiIgLHJ1c3QtZGlmZi0wLjEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWxhenkt c3RhdGljIiAscnVzdC1sYXp5LXN0YXRpYy0xKQogICAgICAgICAgICAgICAgICAgICAgICgi cnVzdC1saWJjIiAscnVzdC1saWJjLTAuMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1 c3QtcHJvYy1tYWNybzIiICxydXN0LXByb2MtbWFjcm8yLTEpCiAgICAgICAgICAgICAgICAg ICAgICAgKCJydXN0LXJlZ2V4IiAscnVzdC1yZWdleC0xKQogICAgICAgICAgICAgICAgICAg ICAgICgicnVzdC1zeW4iICxydXN0LXN5bi0yKQogICAgICAgICAgICAgICAgICAgICAgICgi cnVzdC10ZXJtaW5hbC1zaXplIiAscnVzdC10ZXJtaW5hbC1zaXplLTAuMikpCiAgICAgICAj OmNhcmdvLWRldmVsb3BtZW50LWlucHV0cyAoKCJydXN0LWRlcml2ZS1idWlsZGVyIiAscnVz dC1kZXJpdmUtYnVpbGRlci0wLjkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKCJydXN0LWs5IiAscnVzdC1rOS0wLjExLjcteWFua2VkKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICgicnVzdC1yYW5kIiAscnVzdC1yYW5kLTAuNykKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc2hhMiIgLHJ1c3Qtc2hhMi0w LjkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXN0cmlwLWFu c2ktZXNjYXBlcyIgLHJ1c3Qtc3RyaXAtYW5zaS1lc2NhcGVzLTAuMSkpKSkKICAgIChob21l LXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9hYXJvbmFicmFtb3YvazkiKQogICAgKHN5bm9w c2lzICJydXN0IHRlc3RpbmcgbGlicmFyeSIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFj a2FnZSBwcm92aWRlcyBydXN0IHRlc3RpbmcgbGlicmFyeS4iKQogICAgKGxpY2Vuc2UgbGlj ZW5zZTpleHBhdCkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1rOS0wLjMKICAocGFja2FnZQog ICAgKG5hbWUgInJ1c3QtazkiKQogICAgKHZlcnNpb24gIjAuMy4wIikKICAgIChzb3VyY2UK ICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNy YXRlLXVyaSAiazkiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVu ZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAg KGJhc2UzMiAiMTNqN2w4ZDJmc3JnbHFjZjQ2MWp3NXl2endsbXF3bWlheDgxanloMDYxNXo2 OG1wa2tidyIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAg IChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28taW5wdXRzICgoInJ1c3QtYW55aG93IiAscnVz dC1hbnlob3ctMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtY29sb3JlZCIgLHJ1 c3QtY29sb3JlZC0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1kaWZmIiAscnVz dC1kaWZmLTAuMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtbGF6eS1zdGF0aWMi ICxydXN0LWxhenktc3RhdGljLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWxp YmMiICxydXN0LWxpYmMtMC4yKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1wcm9j LW1hY3JvMiIgLHJ1c3QtcHJvYy1tYWNybzItMSkKICAgICAgICAgICAgICAgICAgICAgICAo InJ1c3QtcmVnZXgiICxydXN0LXJlZ2V4LTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJy dXN0LXN5biIgLHJ1c3Qtc3luLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXRl cm0tc2l6ZSIgLHJ1c3QtdGVybS1zaXplLTAuMykpCiAgICAgICAjOmNhcmdvLWRldmVsb3Bt ZW50LWlucHV0cyAoKCJydXN0LWRlcml2ZS1idWlsZGVyIiAscnVzdC1kZXJpdmUtYnVpbGRl ci0wLjkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXJhbmQi ICxydXN0LXJhbmQtMC43KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgi cnVzdC1zaGEyIiAscnVzdC1zaGEyLTAuOSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoInJ1c3Qtc3RyaXAtYW5zaS1lc2NhcGVzIiAscnVzdC1zdHJpcC1hbnNpLWVz Y2FwZXMtMC4xKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL2Fhcm9u YWJyYW1vdi9rOSIpCiAgICAoc3lub3BzaXMgInJ1c3QgdGVzdGluZyBsaWJyYXJ5IikKICAg IChkZXNjcmlwdGlvbiAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHJ1c3QgdGVzdGluZyBsaWJy YXJ5LiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBy dXN0LWthbWFkYWstZXhpZi0wLjUKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3Qta2FtYWRh ay1leGlmIikKICAgICh2ZXJzaW9uICIwLjUuNSIpCiAgICAoc291cmNlCiAgICAgKG9yaWdp bgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgImth bWFkYWstZXhpZiIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5k IG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAo YmFzZTMyICIweHcwbHBtcmE4ajF5OThjMGFnd3JtamFqcGtoOTFtbmw4OWh6YXhiZHJkcDE4 Nndma3pnIikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAg KGFyZ3VtZW50cwogICAgIGAoIzpjYXJnby1pbnB1dHMgKCgicnVzdC1tdXRhdGUtb25jZSIg LHJ1c3QtbXV0YXRlLW9uY2UtMC4xKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRo dWIuY29tL2thbWFkYWsvZXhpZi1ycyIpCiAgICAoc3lub3BzaXMgIkV4aWYgcGFyc2luZyBs aWJyYXJ5IHdyaXR0ZW4gaW4gcHVyZSBSdXN0IikKICAgIChkZXNjcmlwdGlvbgogICAgICJU aGlzIHBhY2thZ2UgcHJvdmlkZXMgRXhpZiBwYXJzaW5nIGxpYnJhcnkgd3JpdHRlbiBpbiBw dXJlIFJ1c3QuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6YnNkLTIpKSkKCihkZWZpbmUtcHVi bGljIHJ1c3Qta3VyYm8tMC45CiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LWt1cmJvIikK ICAgICh2ZXJzaW9uICIwLjkuNSIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAg KG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgImt1cmJvIiB2ZXJz aW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lv biAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjE2dzRrMzEz ejhzbWljNHppZnB3bnhrOGFsaDE3ZG5jZ2oycjQwcDBxbDZyZGl2c2IxZHgiKSkpKQogICAg KGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAg YCgjOnRlc3RzPyAjZgogICAgICAgIzpjYXJnby1pbnB1dHMgKCgicnVzdC1hcnJheXZlYyIg LHJ1c3QtYXJyYXl2ZWMtMC43KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1saWJt IiAscnVzdC1saWJtLTAuMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtbWludCIg LHJ1c3QtbWludC0wLjUpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNjaGVtYXJz IiAscnVzdC1zY2hlbWFycy0wLjgpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNl cmRlIiAscnVzdC1zZXJkZS0xKSkKICAgICAgICM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRz ICgoInJ1c3QtZ2V0cmFuZG9tIiAscnVzdC1nZXRyYW5kb20tMC4yKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1yYW5kIiAscnVzdC1yYW5kLTAuOCkpKSkK ICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9saW5lYmVuZGVyL2t1cmJvIikK ICAgIChzeW5vcHNpcyAiMkQgY3VydmVzIGxpYnJhcnkiKQogICAgKGRlc2NyaXB0aW9uICJU aGlzIHBhY2thZ2UgcHJvdmlkZXMgYSAyRCBjdXJ2ZXMgbGlicmFyeS4iKQogICAgKGxpY2Vu c2UgKGxpc3QgbGljZW5zZTpleHBhdCBsaWNlbnNlOmFzbDIuMCkpKSkKCihkZWZpbmUtcHVi bGljIHJ1c3QtbGViMTI4LTAuMgogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1sZWIxMjgi KQogICAgKHZlcnNpb24gIjAuMi41IikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAg ICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAibGViMTI4IiB2 ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVy c2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjByeHhq ZG43NnNqYnJiMDhzNGJpN200eDQ3emc2OGY3MWp6Z3g4d3c3ajBjbml2amNrbDgiKSkpKQog ICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAg ICAgYCgjOmNhcmdvLWRldmVsb3BtZW50LWlucHV0cyAoKCJydXN0LXF1aWNrY2hlY2siICxy dXN0LXF1aWNrY2hlY2stMC44KSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIu Y29tL2dpbWxpLXJzL2xlYjEyOCIpCiAgICAoc3lub3BzaXMKICAgICAiUmVhZCBhbmQgd3Jp dGUgRFdBUkYncyBcIkxpdHRsZSBFbmRpYW4gQmFzZSAxMjhcIiAoTEVCMTI4KSB2YXJpYWJs ZSBsZW5ndGggaW50ZWdlciBlbmNvZGluZyIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhp cyBwYWNrYWdlIHByb3ZpZGVzIFJlYWQgYW5kIHdyaXRlIERXQVJGJ3MgXCJMaXR0bGUgRW5k aWFuIEJhc2UgMTI4XCIgKExFQjEyOCkgdmFyaWFibGUgbGVuZ3RoIGludGVnZXIKZW5jb2Rp bmcuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6YXNsMi4wIGxpY2Vuc2U6ZXhwYXQp KSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LWxpYmMtMC4yCiAgKHBhY2thZ2UKICAgIChuYW1l ICJydXN0LWxpYmMiKQogICAgKHZlcnNpb24gIjAuMi4xNTUiKQogICAgKHNvdXJjZQogICAg IChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUt dXJpICJsaWJjIiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQg bmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChi YXNlMzIgIjB6NDRjNTN6NTR6bm5hOG4zMjJrNWl3ZzgwYXJ4eHBkempqNTI2MHB4eHpjOWE1 OGljd3AiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAo YXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWlucHV0cyAoKCJydXN0LXJ1c3RjLXN0ZC13b3Jr c3BhY2UtY29yZSIgLHJ1c3QtcnVzdGMtc3RkLXdvcmtzcGFjZS1jb3JlLTEpKSkpCiAgICAo aG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vcnVzdC1sYW5nL2xpYmMiKQogICAgKHN5 bm9wc2lzICJSYXcgRkZJIGJpbmRpbmdzIHRvIHBsYXRmb3JtIGxpYnJhcmllcyBsaWtlIGxp YmMuIikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgUmF3 IEZGSSBiaW5kaW5ncyB0byBwbGF0Zm9ybSBsaWJyYXJpZXMgbGlrZSBsaWJjLiIpCiAgICAo bGljZW5zZSAobGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNsMi4wKSkpKQoKKGRlZmlu ZS1wdWJsaWMgcnVzdC1saWJ0ZXN0LW1pbWljLTAuNwogIChwYWNrYWdlCiAgICAobmFtZSAi cnVzdC1saWJ0ZXN0LW1pbWljIikKICAgICh2ZXJzaW9uICIwLjcuMyIpCiAgICAoc291cmNl CiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChj cmF0ZS11cmkgImxpYnRlc3QtbWltaWMiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAo c3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hh MjU2CiAgICAgICAgKGJhc2UzMiAiMG40dmRmNHd6NHpnbGFtbWhkemd3eHFhbDl2MWE4Z2Jq NnJjNHEyMmpmanZ4bTJ4bDJ5YyIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxk LXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28taW5wdXRzICgoInJ1c3Qt Y2xhcCIgLHJ1c3QtY2xhcC00KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1lc2Nh cGU4MjU5IiAscnVzdC1lc2NhcGU4MjU5LTAuNSkKICAgICAgICAgICAgICAgICAgICAgICAo InJ1c3QtdGVybWNvbG9yIiAscnVzdC10ZXJtY29sb3ItMSkKICAgICAgICAgICAgICAgICAg ICAgICAoInJ1c3QtdGhyZWFkcG9vbCIgLHJ1c3QtdGhyZWFkcG9vbC0xKSkKICAgICAgICM6 Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1c3QtZmFzdHJhbmQiICxydXN0LWZhc3Ry YW5kLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXByZXR0 eS1hc3NlcnRpb25zIiAscnVzdC1wcmV0dHktYXNzZXJ0aW9ucy0xKSkpKQogICAgKGhvbWUt cGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL0x1a2FzS2FsYmVydG9kdC9saWJ0ZXN0LW1pbWlj IikKICAgIChzeW5vcHNpcwogICAgICJXcml0ZSB5b3VyIG93biB0ZXN0IGhhcm5lc3MgdGhh dCBsb29rcyBhbmQgYmVoYXZlcyBsaWtlIHRoZSBidWlsdC1pbiB0ZXN0IGhhcm5lc3MgdXNl ZCBieSBgcnVzdGMgLS10ZXN0YCIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNr YWdlIHByb3ZpZGVzIFdyaXRlIHlvdXIgb3duIHRlc3QgaGFybmVzcyB0aGF0IGxvb2tzIGFu ZCBiZWhhdmVzIGxpa2UgdGhlIGJ1aWx0LWluIHRlc3QKaGFybmVzcyB1c2VkIGJ5IGBydXN0 YyAtLXRlc3RgLiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6 YXNsMi4wKSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1saXBzdW0tMC45CiAgKHBhY2thZ2UK ICAgIChuYW1lICJydXN0LWxpcHN1bSIpCiAgICAodmVyc2lvbiAiMC45LjEiKQogICAgKHNv dXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVy aSAoY3JhdGUtdXJpICJsaXBzdW0iIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3Ry aW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2 CiAgICAgICAgKGJhc2UzMiAiMHI0MG1mMmN3aDRmcDlwZGZjYzFuOGhqeHcwNXc3Z2FsanZi MXoyM3I1cHEzOGpuMHMzMyIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5 c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28taW5wdXRzICgoInJ1c3QtcmFu ZCIgLHJ1c3QtcmFuZC0wLjgpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXJhbmQt Y2hhY2hhIiAscnVzdC1yYW5kLWNoYWNoYS0wLjMpKQogICAgICAgIzpjYXJnby1kZXZlbG9w bWVudC1pbnB1dHMgKCgicnVzdC1yYW5kIiAscnVzdC1yYW5kLTAuOCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtdmVyc2lvbi1zeW5jIiAscnVzdC12ZXJz aW9uLXN5bmMtMC45KSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL21n ZWlzbGVyL2xpcHN1bS8iKQogICAgKHN5bm9wc2lzCiAgICAgIkxpcHN1bSBpcyBhIGxvcmVt IGlwc3VtIHRleHQgZ2VuZXJhdGlvbiBsaWJyYXJ5LiBJdCBnZW5lcmF0ZXMKcHNldWRvLXJh bmRvbSBMYXRpbiB0ZXh0LiBVc2UgdGhpcyBpZiB5b3UgbmVlZCBmaWxsZXIgb3IgZHVtbXkg dGV4dApmb3IgeW91ciBhcHBsaWNhdGlvbi4KClRoZSB0ZXh0IGlzIGdlbmVyYXRlZCB1c2lu ZyBhIHNpbXBsZSBNYXJrb3YgY2hhaW4sIHdoaWNoIHlvdSBjYW4KaW5zdGFudGlhdGUgdG8g Z2VuZXJhdGUgeW91ciBvd24gcGllY2VzIG9mIHBzZXVkby1yYW5kb20gdGV4dC4iKQogICAg KGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBwcm92aWRlcyBMaXBzdW0gaXMgYSBs b3JlbSBpcHN1bSB0ZXh0IGdlbmVyYXRpb24gbGlicmFyeS4gIEl0IGdlbmVyYXRlcyBwc2V1 ZG8tcmFuZG9tCkxhdGluIHRleHQuICBVc2UgdGhpcyBpZiB5b3UgbmVlZCBmaWxsZXIgb3Ig ZHVtbXkgdGV4dCBmb3IgeW91ciBhcHBsaWNhdGlvbi4KVGhlIHRleHQgaXMgZ2VuZXJhdGVk IHVzaW5nIGEgc2ltcGxlIE1hcmtvdiBjaGFpbiwgd2hpY2ggeW91IGNhbiBpbnN0YW50aWF0 ZSB0bwpnZW5lcmF0ZSB5b3VyIG93biBwaWVjZXMgb2YgcHNldWRvLXJhbmRvbSB0ZXh0LiIp CiAgICAobGljZW5zZSBsaWNlbnNlOmV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LWxp dGVtYXAtMC43CiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LWxpdGVtYXAiKQogICAgKHZl cnNpb24gIjAuNy4zIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9k IHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAibGl0ZW1hcCIgdmVyc2lvbikp CiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50 YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIwMTU3bGY0NGMzczJw aXFpd3BwcG55bnp6cHYxcnh5ZGRsMno5bDA4OWhwd3Nqd2IwZzM0IikpKSkKICAgIChidWls ZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0 ZXN0cz8gI2YKICAgICAgICM6Y2FyZ28taW5wdXRzICgoInJ1c3QtZGF0YWJha2UiICxydXN0 LWRhdGFiYWtlLTAuMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc2VyZGUiICxy dXN0LXNlcmRlLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXlva2UiICxydXN0 LXlva2UtMC43KSkKICAgICAgICM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1c3Qt YmluY29kZSIgLHJ1c3QtYmluY29kZS0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICgicnVzdC1jcml0ZXJpb24iICxydXN0LWNyaXRlcmlvbi0wLjUpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXBvc3RjYXJkIiAscnVzdC1wb3N0 Y2FyZC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1ya3l2 IiAscnVzdC1ya3l2LTAuNykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo InJ1c3Qtc2VyZGUiICxydXN0LXNlcmRlLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LXNlcmRlLWpzb24iICxydXN0LXNlcmRlLWpzb24tMSkpKSkKICAg IChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS91bmljb2RlLW9yZy9pY3U0eCIpCiAg ICAoc3lub3BzaXMgImtleS12YWx1ZSBNYXAgaW1wbGVtZW50YXRpb24gYmFzZWQgb24gYSBm bGF0LCBzb3J0ZWQgVmVjLiIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdl IHByb3ZpZGVzIGEga2V5LXZhbHVlIE1hcCBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiBhIGZs YXQsIHNvcnRlZApWZWMuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6dW5pY29kZSkpKQoKKGRl ZmluZS1wdWJsaWMgcnVzdC1taW8tMC44CiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LW1p byIpCiAgICAodmVyc2lvbiAiMC44LjExIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAg ICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAibWlvIiB2 ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVy c2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjAzNGJ5 eWwwYXJkbWw1eWxpeTFobXZ4OGFya21uOXJ2NDc5cGlkNzk0c20wN2lhNTE5bTQiKSkpKQog ICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAg ICAgYCgjOmNhcmdvLWlucHV0cyAoKCJydXN0LWxpYmMiICxydXN0LWxpYmMtMC4yKQogICAg ICAgICAgICAgICAgICAgICAgICgicnVzdC1sb2ciICxydXN0LWxvZy0wLjQpCiAgICAgICAg ICAgICAgICAgICAgICAgKCJydXN0LXdhc2kiICxydXN0LXdhc2ktMC4xMSkKICAgICAgICAg ICAgICAgICAgICAgICAoInJ1c3Qtd2luZG93cy1zeXMiICxydXN0LXdpbmRvd3Mtc3lzLTAu NDgpKQogICAgICAgIzpjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1lbnYtbG9n Z2VyIiAscnVzdC1lbnYtbG9nZ2VyLTAuOSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoInJ1c3QtcmFuZCIgLHJ1c3QtcmFuZC0wLjgpKSkpCiAgICAoaG9tZS1wYWdl ICJodHRwczovL2dpdGh1Yi5jb20vdG9raW8tcnMvbWlvIikKICAgIChzeW5vcHNpcyAiTGln aHR3ZWlnaHQgbm9uLWJsb2NraW5nIEkvTyIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFj a2FnZSBwcm92aWRlcyBMaWdodHdlaWdodCBub24tYmxvY2tpbmcgSS9PLiIpCiAgICAobGlj ZW5zZSBsaWNlbnNlOmV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LW1pby1haW8tMC45 CiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LW1pby1haW8iKQogICAgKHZlcnNpb24gIjAu OS4wIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRj aCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAibWlvLWFpbyIgdmVyc2lvbikpCiAgICAgICAo ZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkK ICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxenJwMTU5bTVuYzFqMjNhd2Jybjly bXg3YzVsaDQ3ejlzemc2NXMzemo0aDk1YjB2NXdsIikpKSkKICAgIChidWlsZC1zeXN0ZW0g Y2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpza2lwLWJ1aWxk PyAjdAogICAgICAgIzpjYXJnby1pbnB1dHMgKCgicnVzdC1taW8iICxydXN0LW1pby0wLjgp CiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LW5peCIgLHJ1c3Qtbml4LTAuMjkpCiAg ICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXBpbi11dGlscyIgLHJ1c3QtcGluLXV0aWxz LTAuMSkpCiAgICAgICAjOmNhcmdvLWRldmVsb3BtZW50LWlucHV0cyAoKCJydXN0LWFzc2Vy dC1pbXBsIiAscnVzdC1hc3NlcnQtaW1wbC0wLjEpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKCJydXN0LW1pbyIgLHJ1c3QtbWlvLTAuOCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtbml4IiAscnVzdC1uaXgtMC4yOSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc3lzY3RsIiAscnVzdC1zeXNj dGwtMC4xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC10ZW1w ZmlsZSIgLHJ1c3QtdGVtcGZpbGUtMykpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0 aHViLmNvbS9hc29tZXJzL21pby1haW8iKQogICAgKHN5bm9wc2lzICJQT1NJWCBBSU8gYmlu ZGluZ3MgZm9yIG1pbyIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRl cyBQT1NJWCBBSU8gYmluZGluZ3MgZm9yIG1pby4iKQogICAgKGxpY2Vuc2UgKGxpc3QgbGlj ZW5zZTpleHBhdCBsaWNlbnNlOmFzbDIuMCkpKSkKCihkZWZpbmUtcHVibGljIHJ1c3QtbXV0 YXRlLW9uY2UtMC4xCiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LW11dGF0ZS1vbmNlIikK ICAgICh2ZXJzaW9uICIwLjEuMSIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAg KG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgIm11dGF0ZV9vbmNl IiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIg dmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjB5 czltcGpod3NqNW1kMTB5a21raW4wd3Y3Yno4ZHZjMjkyaHFjenM5bDVsNGNkNmlrcW4iKSkp KQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoaG9tZS1wYWdl ICJodHRwczovL2dpdGh1Yi5jb20va2FtYWRhay9tdXRhdGVfb25jZS1ycyIpCiAgICAoc3lu b3BzaXMgIkludGVyaW9yIG11dGFiaWxpdHksIHdyaXRlLW9uY2UgYW5kIGJvcnJvd2FibGUg YXMgcGxhaW4gJlQiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBwcm92 aWRlcyBJbnRlcmlvciBtdXRhYmlsaXR5LCB3cml0ZS1vbmNlIGFuZCBib3Jyb3dhYmxlIGFz IHBsYWluICZULiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmJzZC0yKSkpCgooZGVmaW5lLXB1 YmxpYyBydXN0LW5peC0wLjI5CiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LW5peCIpCiAg ICAodmVyc2lvbiAiMC4yOS4wIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAo bWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAibml4IiB2ZXJzaW9u KSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAi LnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjBpa3ZuN3M5cjJs cmZkbTNteDFoN25iZmp2Y2M2czl2eGR6dzdqNXhma2QycWRucDlxa2kiKSkpKQogICAgKGJ1 aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgj OnRlc3RzPyAjZgogICAgICAgIzpjYXJnby1pbnB1dHMgKCgicnVzdC1iaXRmbGFncyIgLHJ1 c3QtYml0ZmxhZ3MtMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtY2ZnLWlmIiAs cnVzdC1jZmctaWYtMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtY2ZnLWFsaWFz ZXMiICxydXN0LWNmZy1hbGlhc2VzLTAuMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1 c3QtbGliYyIgLHJ1c3QtbGliYy0wLjIpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0 LW1lbW9mZnNldCIgLHJ1c3QtbWVtb2Zmc2V0LTAuOSkKICAgICAgICAgICAgICAgICAgICAg ICAoInJ1c3QtcGluLXV0aWxzIiAscnVzdC1waW4tdXRpbHMtMC4xKSkKICAgICAgICM6Y2Fy Z28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1c3QtYXNzZXJ0LWltcGwiICxydXN0LWFzc2Vy dC1pbXBsLTAuMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qt Y2FwcyIgLHJ1c3QtY2Fwcy0wLjUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKCJydXN0LXBhcmtpbmctbG90IiAscnVzdC1wYXJraW5nLWxvdC0wLjEyKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1yYW5kIiAscnVzdC1yYW5kLTAu OCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc2VtdmVyIiAs cnVzdC1zZW12ZXItMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1 c3Qtc3lzY3RsIiAscnVzdC1zeXNjdGwtMC40KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICgicnVzdC10ZW1wZmlsZSIgLHJ1c3QtdGVtcGZpbGUtMykpKSkKICAgICho b21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9uaXgtcnVzdC9uaXgiKQogICAgKHN5bm9w c2lzICJSdXN0IGZyaWVuZGx5IGJpbmRpbmdzIHRvICpuaXggQVBJcyIpCiAgICAoZGVzY3Jp cHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRlcyBSdXN0IGZyaWVuZGx5IGJpbmRpbmdzIHRv ICpuaXggQVBJcy4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQoKKGRlZmluZS1w dWJsaWMgcnVzdC1udW1lcmFscy0wLjEKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3QtbnVt ZXJhbHMiKQogICAgKHZlcnNpb24gIjAuMS40IikKICAgIChzb3VyY2UKICAgICAob3JpZ2lu CiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAibnVt ZXJhbHMiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1l ICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2Uz MiAiMGNkeDZ5ZjV6Y3gybnZtemF2cjRxazltMzVoYTZpMnJoeTVmanhneDJ3bTdmcTl5NG56 MiIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1 bWVudHMKICAgICBgKCM6dGVzdHM/ICNmKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0 aHViLmNvbS9vZ2hhbS9ydXN0LW51bWVyYWxzIikKICAgIChzeW5vcHNpcyAiTGlicmFyeSBm b3IgbnVtZXJpYyBzeXN0ZW1zLCBib3RoIGFuY2llbnQgYW5kIG1vZGVybiIpCiAgICAoZGVz Y3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIExpYnJhcnkgZm9yIG51bWVy aWMgc3lzdGVtcywgYm90aCBhbmNpZW50IGFuZCBtb2Rlcm4uIikKICAgIChsaWNlbnNlIGxp Y2Vuc2U6ZXhwYXQpKSkKCihkZWZpbmUtcHVibGljIHJ1c3Qtb3Blbi01CiAgKHBhY2thZ2UK ICAgIChuYW1lICJydXN0LW9wZW4iKQogICAgKHZlcnNpb24gIjUuMi4wIikKICAgIChzb3Vy Y2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkg KGNyYXRlLXVyaSAib3BlbiIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmct YXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAg ICAgICAoYmFzZTMyICIwZHZ5Yjk0Y25jbWd4Z2R3eXZ6MGl4bTNnbmJiMG1uMXJrZ2x6cTdk aGZ5Zjd5ZDkwYjR4IikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVt KQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpjYXJnby1pbnB1dHMgKCgicnVzdC1pcy13c2wi ICxydXN0LWlzLXdzbC0wLjQpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWxpYmMi ICxydXN0LWxpYmMtMC4yKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1wYXRoZGlm ZiIgLHJ1c3QtcGF0aGRpZmYtMC4yKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRo dWIuY29tL0J5cm9uL29wZW4tcnMiKQogICAgKHN5bm9wc2lzICJPcGVuIGEgcGF0aCBvciBV UkwgdXNpbmcgdGhlIHByb2dyYW0gY29uZmlndXJlZCBvbiB0aGUgc3lzdGVtIikKICAgIChk ZXNjcmlwdGlvbgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgT3BlbiBhIHBhdGggb3Ig VVJMIHVzaW5nIHRoZSBwcm9ncmFtIGNvbmZpZ3VyZWQgb24gdGhlIHN5c3RlbS4iKQogICAg KGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1wY2ctbXdj LTAuMgogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1wY2ctbXdjIikKICAgICh2ZXJzaW9u ICIwLjIuMSIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwt ZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgInBjZy1td2MiIHZlcnNpb24pKQogICAg ICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6 IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMHo2Y3B6OHgzODdpcWN4OGtq bnFmaWhnZ2dpMHluZ3F4NzN6d2p6MTMyeTU2ZjM4YTVpMiIpKSkpCiAgICAoYnVpbGQtc3lz dGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28t aW5wdXRzICgoInJ1c3QtcmFuZC1jb3JlIiAscnVzdC1yYW5kLWNvcmUtMC42KQogICAgICAg ICAgICAgICAgICAgICAgICgicnVzdC1zZXJkZSIgLHJ1c3Qtc2VyZGUtMSkpKSkKICAgICho b21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS90a2FpdGNodWNrL013YzI1NlhYQTY0IikK ICAgIChzeW5vcHNpcyAiZmFzdCBub24tY3J5cHRvZ3JhcGhpYyBwc3VkbyByYW5kb20gbnVt YmVyIGdlbmVyYXRvciIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHBy b3ZpZGVzIGEgZmFzdCBub24tY3J5cHRvZ3JhcGhpYyBwc3VkbyByYW5kb20gbnVtYmVyIGdl bmVyYXRvci4iKQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpleHBhdCBsaWNlbnNlOmFz bDIuMCkpKSkKCihkZWZpbmUtcHVibGljIHJ1c3QtcGRmLXdyaXRlci0wLjkKICAocGFja2Fn ZQogICAgKG5hbWUgInJ1c3QtcGRmLXdyaXRlciIpCiAgICAodmVyc2lvbiAiMC45LjMiKQog ICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAg ICAgKHVyaSAoY3JhdGUtdXJpICJwZGYtd3JpdGVyIiB2ZXJzaW9uKSkKICAgICAgIChmaWxl LW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAg ICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjBhcmtzYjdhaGYzODlxMHI3Z2ptM3kzeDRm aDR2N25ja2Fod2NycDgyZzA2YW1zMTVzOTQiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJn by1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWlucHV0cyAo KCJydXN0LWJpdGZsYWdzIiAscnVzdC1iaXRmbGFncy0xKQogICAgICAgICAgICAgICAgICAg ICAgICgicnVzdC1pdG9hIiAscnVzdC1pdG9hLTEpCiAgICAgICAgICAgICAgICAgICAgICAg KCJydXN0LW1lbWNociIgLHJ1c3QtbWVtY2hyLTIpCiAgICAgICAgICAgICAgICAgICAgICAg KCJydXN0LXJ5dSIgLHJ1c3Qtcnl1LTEpKQogICAgICAgIzpjYXJnby1kZXZlbG9wbWVudC1p bnB1dHMgKCgicnVzdC1pYWkiICxydXN0LWlhaS0wLjEpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKCJydXN0LWltYWdlIiAscnVzdC1pbWFnZS0wLjI0KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1taW5pei1veGlkZSIgLHJ1c3Qt bWluaXotb3hpZGUtMC41KSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29t L3R5cHN0L3BkZi13cml0ZXIiKQogICAgKHN5bm9wc2lzICJzdGVwLWJ5LXN0ZXAgUERGIHdy aXRlci4iKQogICAgKGRlc2NyaXB0aW9uICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgYSBzdGVw LWJ5LXN0ZXAgUERGIHdyaXRlci4iKQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpleHBh dCBsaWNlbnNlOmFzbDIuMCkpKSkKCihkZWZpbmUtcHVibGljIHJ1c3QtcGljby1hcmdzLTAu NQogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1waWNvLWFyZ3MiKQogICAgKHZlcnNpb24g IjAuNS4wIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1m ZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAicGljby1hcmdzIiB2ZXJzaW9uKSkKICAg ICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5n eiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjA1ZDMwcHZ4ZDZ6bG5rZzJp M2lscjVhNzB2M2YzejJpbjE4bTY3ejI1dmlubXlrbmdxYXYiKSkpKQogICAgKGJ1aWxkLXN5 c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1 Yi5jb20vUmF6ckZhbGNvbi9waWNvLWFyZ3MiKQogICAgKHN5bm9wc2lzICJBbiB1bHRyYSBz aW1wbGUgQ0xJIGFyZ3VtZW50cyBwYXJzZXIiKQogICAgKGRlc2NyaXB0aW9uICJUaGlzIHBh Y2thZ2UgcHJvdmlkZXMgQW4gdWx0cmEgc2ltcGxlIENMSSBhcmd1bWVudHMgcGFyc2VyLiIp CiAgICAobGljZW5zZSBsaWNlbnNlOmV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LXBp eGdseXBoLTAuMwogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1waXhnbHlwaCIpCiAgICAo dmVyc2lvbiAiMC4zLjAiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRo b2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJwaXhnbHlwaCIgdmVyc2lv bikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24g Ii50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIwNG03bDZ5NDlu aW1iOHB3OXg2bXF4anFjeTI0OHAyYzcwNXE0bjB2Nno4cjlqbnppcTcyIikpKSkKICAgIChi dWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAo Izp0ZXN0cz8gI2YKICAgICAgICM6Y2FyZ28taW5wdXRzICgoInJ1c3QtdHRmLXBhcnNlciIg LHJ1c3QtdHRmLXBhcnNlci0wLjIwKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRo dWIuY29tL3R5cHN0L3BpeGdseXBoIikKICAgIChzeW5vcHNpcyAiRm9udC1yZW5kZXJpbmcg d2l0aCBzdWJwaXhlbCBwb3NpdGlvbmluZyIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhp cyBwYWNrYWdlIHByb3ZpZGVzIEZvbnQtcmVuZGVyaW5nIHdpdGggc3VicGl4ZWwgcG9zaXRp b25pbmcuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6YXNsMi4wKSkpCgooZGVmaW5lLXB1Ymxp YyBydXN0LXBvc3RjYXJkLTEKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3QtcG9zdGNhcmQi KQogICAgKHZlcnNpb24gIjEuMC44IikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAg ICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAicG9zdGNhcmQi IHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2 ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMXkx MDZpd2p2NnZtN3M0emtzemd4bGhhY2NhMXhidzZxY3dmOGlsN3hjMGRka3A1MnA1NSIpKSkp CiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMK ICAgICBgKCM6Y2FyZ28taW5wdXRzICgoInJ1c3QtY29icyIgLHJ1c3QtY29icy0wLjIpCiAg ICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWNvbnN0LWZvcm1hdCIgLHJ1c3QtY29uc3Qt Zm9ybWF0LTAuMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtY3JjIiAscnVzdC1j cmMtMykKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtZGVmbXQiICxydXN0LWRlZm10 LTAuMykKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtZW1iZWRkZWQtaW8iICxydXN0 LWVtYmVkZGVkLWlvLTAuNCkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtaGVhcGxl c3MiICxydXN0LWhlYXBsZXNzLTAuNykKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qt cGFzdGUiICxydXN0LXBhc3RlLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXBv c3RjYXJkLWRlcml2ZSIgLHJ1c3QtcG9zdGNhcmQtZGVyaXZlLTAuMSkKICAgICAgICAgICAg ICAgICAgICAgICAoInJ1c3Qtc2VyZGUiICxydXN0LXNlcmRlLTEpKSkpCiAgICAoaG9tZS1w YWdlICJodHRwczovL2dpdGh1Yi5jb20vamFtZXNtdW5ucy9wb3N0Y2FyZCIpCiAgICAoc3lu b3BzaXMgIm5vX3N0ZCArIHNlcmRlIGNvbXBhdGlibGUgbWVzc2FnZSBsaWJyYXJ5IGZvciBS dXN0IikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgYSBu b19zdGQgKyBzZXJkZSBjb21wYXRpYmxlIG1lc3NhZ2UgbGlicmFyeSBmb3IgUnVzdC4iKQog ICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpleHBhdCBsaWNlbnNlOmFzbDIuMCkpKSkKCihk ZWZpbmUtcHVibGljIHJ1c3QtcG9zdGNhcmQtZGVyaXZlLTAuMQogIChwYWNrYWdlCiAgICAo bmFtZSAicnVzdC1wb3N0Y2FyZC1kZXJpdmUiKQogICAgKHZlcnNpb24gIjAuMS4xIikKICAg IChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAg ICh1cmkgKGNyYXRlLXVyaSAicG9zdGNhcmQtZGVyaXZlIiB2ZXJzaW9uKSkKICAgICAgIChm aWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQog ICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjB5Y3NmbDNuYjM3c3l2bGo5Mm5sOThs cGh5a3E3OGI3YWY3bnY4aDQ5cGM3aHdoaDJqenciKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBj YXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWlucHV0 cyAoKCJydXN0LXByb2MtbWFjcm8yIiAscnVzdC1wcm9jLW1hY3JvMi0xKQogICAgICAgICAg ICAgICAgICAgICAgICgicnVzdC1xdW90ZSIgLHJ1c3QtcXVvdGUtMSkKICAgICAgICAgICAg ICAgICAgICAgICAoInJ1c3Qtc3luIiAscnVzdC1zeW4tMSkpKSkKICAgIChob21lLXBhZ2Ug Imh0dHBzOi8vZ2l0aHViLmNvbS9qYW1lc211bm5zL3Bvc3RjYXJkIikKICAgIChzeW5vcHNp cwogICAgICJub19zdGQgKyBzZXJkZSBjb21wYXRpYmxlIG1lc3NhZ2UgbGlicmFyeSBmb3Ig UnVzdCAtIERlcml2ZSBDcmF0ZSIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNr YWdlIHByb3ZpZGVzIGEgbm9fc3RkICsgc2VyZGUgY29tcGF0aWJsZSBtZXNzYWdlIGxpYnJh cnkgZm9yIFJ1c3QgLQpEZXJpdmUgQ3JhdGUuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vu c2U6ZXhwYXQgbGljZW5zZTphc2wyLjApKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LXByZXR0 eS1hc3NlcnRpb25zLTAuNQogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1wcmV0dHktYXNz ZXJ0aW9ucyIpCiAgICAodmVyc2lvbiAiMC41LjEiKQogICAgKHNvdXJjZQogICAgIChvcmln aW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJw cmV0dHlfYXNzZXJ0aW9ucyIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmct YXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAg ICAgICAoYmFzZTMyICIxaW5zNnN3a3B4bXJoOHE1aDk2aDhudjA0OTdkM2RjbHNpeXgybHl2 cWk2cHkwcTk4MGlzIikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVt KQogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0cz8gI2YKICAgICAgICM6Y2FyZ28taW5w dXRzICgoInJ1c3QtYW5zaS10ZXJtIiAscnVzdC1hbnNpLXRlcm0tMC4xMSkKICAgICAgICAg ICAgICAgICAgICAgICAoInJ1c3QtZGlmZmVyZW5jZSIgLHJ1c3QtZGlmZmVyZW5jZS0yKSkp KQogICAgKGhvbWUtcGFnZQogICAgICJodHRwczovL2dpdGh1Yi5jb20vcnVzdC1wcmV0dHkt YXNzZXJ0aW9ucy9ydXN0LXByZXR0eS1hc3NlcnRpb25zIikKICAgIChzeW5vcHNpcwogICAg ICJPdmVyd3JpdGUgYGFzc2VydF9lcSFgIGFuZCBgYXNzZXJ0X25lIWAgd2l0aCBkcm9wLWlu IHJlcGxhY2VtZW50cywgYWRkaW5nIGNvbG9yZnVsIGRpZmZzIikKICAgIChkZXNjcmlwdGlv bgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgT3ZlcndyaXRlIGBhc3NlcnRfZXEhYCBh bmQgYGFzc2VydF9uZSFgIHdpdGggZHJvcC1pbiByZXBsYWNlbWVudHMsIGFkZGluZwpjb2xv cmZ1bCBkaWZmcy4iKQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpleHBhdCBsaWNlbnNl OmFzbDIuMCkpKSkKCihkZWZpbmUtcHVibGljIHJ1c3QtcWNtcy0wLjMKICAocGFja2FnZQog ICAgKG5hbWUgInJ1c3QtcWNtcyIpCiAgICAodmVyc2lvbiAiMC4zLjAiKQogICAgKHNvdXJj ZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAo Y3JhdGUtdXJpICJxY21zIiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1h cHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAg ICAgIChiYXNlMzIgIjF5aWh2OXJzYTBxYzRtbWh6cDhmMHhkZnJua3c3cThsN2tyNGl2Y3li OWFtc3phenJ2N2QiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0p CiAgICAoYXJndW1lbnRzCiAgICAgYCgjOnRlc3RzPyAjZgogICAgICAgIzpjYXJnby1pbnB1 dHMgKCgicnVzdC1saWJjIiAscnVzdC1saWJjLTAuMikpKSkKICAgIChob21lLXBhZ2UgImh0 dHBzOi8vZ2l0aHViLmNvbS9GaXJlZm94R3JhcGhpY3MvcWNtcyIpCiAgICAoc3lub3BzaXMg ImxpZ2h0d2VpZ2h0IGNvbG9yIG1hbmFnZW1lbnQiKQogICAgKGRlc2NyaXB0aW9uICJUaGlz IHBhY2thZ2UgcHJvdmlkZXMgbGlnaHR3ZWlnaHQgY29sb3IgbWFuYWdlbWVudC4iKQogICAg KGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1yZXN2Zy0w LjM4CiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LXJlc3ZnIikKICAgICh2ZXJzaW9uICIw LjM4LjAiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZl dGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJyZXN2ZyIgdmVyc2lvbikpCiAgICAgICAo ZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkK ICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIwN2hjd2k3MnkwY3lieWo0NW4yaHE5 NWdqNTh3eWczanNhbTYxZDNoZDdsbThxODUwZDJ3IikpKSkKICAgIChidWlsZC1zeXN0ZW0g Y2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpjYXJnby1pbnB1 dHMgKCgicnVzdC1naWYiICxydXN0LWdpZi0wLjEyKQogICAgICAgICAgICAgICAgICAgICAg ICgicnVzdC1qcGVnLWRlY29kZXIiICxydXN0LWpwZWctZGVjb2Rlci0wLjMpCiAgICAgICAg ICAgICAgICAgICAgICAgKCJydXN0LWxvZyIgLHJ1c3QtbG9nLTAuNCkKICAgICAgICAgICAg ICAgICAgICAgICAoInJ1c3QtcGljby1hcmdzIiAscnVzdC1waWNvLWFyZ3MtMC41KQogICAg ICAgICAgICAgICAgICAgICAgICgicnVzdC1wbmciICxydXN0LXBuZy0wLjE3KQogICAgICAg ICAgICAgICAgICAgICAgICgicnVzdC1yZ2IiICxydXN0LXJnYi0wLjgpCiAgICAgICAgICAg ICAgICAgICAgICAgKCJydXN0LXN2Z3R5cGVzIiAscnVzdC1zdmd0eXBlcy0wLjEzKQogICAg ICAgICAgICAgICAgICAgICAgICgicnVzdC10aW55LXNraWEiICxydXN0LXRpbnktc2tpYS0w LjExKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC11c3ZnIiAscnVzdC11c3ZnLTAu MzgpKQogICAgICAgIzpjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1vbmNlLWNl bGwiICxydXN0LW9uY2UtY2VsbC0xKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRo dWIuY29tL1JhenJGYWxjb24vcmVzdmciKQogICAgKHN5bm9wc2lzICJBbiBTVkcgcmVuZGVy aW5nIGxpYnJhcnkiKQogICAgKGRlc2NyaXB0aW9uICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMg QW4gU1ZHIHJlbmRlcmluZyBsaWJyYXJ5LiIpCiAgICAobGljZW5zZSBsaWNlbnNlOm1wbDIu MCkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1ybXAtMC44CiAgKHBhY2thZ2UKICAgIChuYW1l ICJydXN0LXJtcCIpCiAgICAodmVyc2lvbiAiMC44LjE0IikKICAgIChzb3VyY2UKICAgICAo b3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVy aSAicm1wIiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFt ZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNl MzIgIjFpMWw2ZGh2N3Z3czV2cDBpa2FrajQ0Zms1OTd4aTU5ZzNqNm5nMXE1NXgzZHoweGcz aTIiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJn dW1lbnRzCiAgICAgYCgjOmNhcmdvLWlucHV0cyAoKCJydXN0LWJ5dGVvcmRlciIgLHJ1c3Qt Ynl0ZW9yZGVyLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LW51bS10cmFpdHMi ICxydXN0LW51bS10cmFpdHMtMC4yKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1w YXN0ZSIgLHJ1c3QtcGFzdGUtMSkpCiAgICAgICAjOmNhcmdvLWRldmVsb3BtZW50LWlucHV0 cyAoKCJydXN0LXF1aWNrY2hlY2siICxydXN0LXF1aWNrY2hlY2stMSkpKSkKICAgIChob21l LXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS8zSHJlbi9tc2dwYWNrLXJ1c3QiKQogICAgKHN5 bm9wc2lzICJQdXJlIFJ1c3QgTWVzc2FnZVBhY2sgc2VyaWFsaXphdGlvbiBpbXBsZW1lbnRh dGlvbiIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIFB1 cmUgUnVzdCBAY29kZXtNZXNzYWdlUGFja30gc2VyaWFsaXphdGlvbiBpbXBsZW1lbnRhdGlv bi4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQoKKGRlZmluZS1wdWJsaWMgcnVz dC1ybXAtc2VyZGUtMQogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1ybXAtc2VyZGUiKQog ICAgKHZlcnNpb24gIjEuMy4wIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAo bWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAicm1wLXNlcmRlIiB2 ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVy c2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjFueWxt aDd3MnZwYTFid3JueDFqZnAybDR5ejZpNXFybXBpYzV6bGwxNjZnZnlqOWtyYWoiKSkpKQog ICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAg ICAgYCgjOnRlc3RzPyAjZgogICAgICAgIzpjYXJnby1pbnB1dHMgKCgicnVzdC1ieXRlb3Jk ZXIiICxydXN0LWJ5dGVvcmRlci0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1y bXAiICxydXN0LXJtcC0wLjgpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRl IiAscnVzdC1zZXJkZS0xKSkKICAgICAgICM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgo InJ1c3Qtc2VyZGUiICxydXN0LXNlcmRlLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LXNlcmRlLWJ5dGVzIiAscnVzdC1zZXJkZS1ieXRlcy0wLjExKSkp KQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tLzNIcmVuL21zZ3BhY2stcnVz dCIpCiAgICAoc3lub3BzaXMgIlNlcmRlIGJpbmRpbmdzIGZvciBSTVAiKQogICAgKGRlc2Ny aXB0aW9uICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgU2VyZGUgYmluZGluZ3MgZm9yIFJNUC4i KQogICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1y b3htbHRyZWUtMC4xOQogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1yb3htbHRyZWUiKQog ICAgKHZlcnNpb24gIjAuMTkuMCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAg KG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgInJveG1sdHJlZSIg dmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZl cnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIwenMw cThoZzVubmg5MXMxaWI2cjBma3k3eG04YXk2M2F5ZmE1aTFhZnh4cHdnYWx6bDl3IikpKSkK ICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGhvbWUtcGFnZSAi aHR0cHM6Ly9naXRodWIuY29tL1JhenJGYWxjb24vcm94bWx0cmVlIikKICAgIChzeW5vcHNp cyAiUmVwcmVzZW50IGFuIFhNTCBhcyBhIHJlYWQtb25seSB0cmVlIikKICAgIChkZXNjcmlw dGlvbiAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIFJlcHJlc2VudCBhbiBYTUwgYXMgYSByZWFk LW9ubHkgdHJlZS4iKQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpleHBhdCBsaWNlbnNl OmFzbDIuMCkpKSkKCihkZWZpbmUtcHVibGljIHJ1c3Qtcm94bWx0cmVlLTAuNwogIChwYWNr YWdlCiAgICAobmFtZSAicnVzdC1yb3htbHRyZWUiKQogICAgKHZlcnNpb24gIjAuNy4zIikK ICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAg ICAgICh1cmkgKGNyYXRlLXVyaSAicm94bWx0cmVlIiB2ZXJzaW9uKSkKICAgICAgIChmaWxl LW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAg ICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjBheTA0ZmxmYnd6NmEyMDVxd3BzbDkyMmc3 M253enp2NzdiYnFzaDlkZG4xYXhyNDBsaDgiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJn by1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWlucHV0cyAo KCJydXN0LXhtbHBhcnNlciIgLHJ1c3QteG1scGFyc2VyLTAuMTApKQogICAgICAgIzpjYXJn by1kZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1wcmV0dHktYXNzZXJ0aW9ucyIgLHJ1c3Qt cHJldHR5LWFzc2VydGlvbnMtMC41KSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRo dWIuY29tL1JhenJGYWxjb24vcm94bWx0cmVlIikKICAgIChzeW5vcHNpcyAiUmVwcmVzZW50 IGFuIFhNTCBhcyBhIHJlYWQtb25seSB0cmVlIikKICAgIChkZXNjcmlwdGlvbiAiVGhpcyBw YWNrYWdlIHByb3ZpZGVzIFJlcHJlc2VudCBhbiBYTUwgYXMgYSByZWFkLW9ubHkgdHJlZS4i KQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpleHBhdCBsaWNlbnNlOmFzbDIuMCkpKSkK CihkZWZpbmUtcHVibGljIHJ1c3QtcnVzdHlidXp6LTAuMTIKICAocGFja2FnZQogICAgKG5h bWUgInJ1c3QtcnVzdHlidXp6IikKICAgICh2ZXJzaW9uICIwLjEyLjEiKQogICAgKHNvdXJj ZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAo Y3JhdGUtdXJpICJydXN0eWJ1enoiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3Ry aW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2 CiAgICAgICAgKGJhc2UzMiAiMGIxMmFybGNhNGxmbmlwaGc5MXY5czVhd2tsN3N6cGR3YzE4 d2FseGRhbXlxbjk1ZGJwaCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5 c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNmCiAgICAgICAjOmNhcmdv LWlucHV0cyAoKCJydXN0LWJpdGZsYWdzIiAscnVzdC1iaXRmbGFncy0yKQogICAgICAgICAg ICAgICAgICAgICAgICgicnVzdC1ieXRlbXVjayIgLHJ1c3QtYnl0ZW11Y2stMSkKICAgICAg ICAgICAgICAgICAgICAgICAoInJ1c3QtbGlibSIgLHJ1c3QtbGlibS0wLjIpCiAgICAgICAg ICAgICAgICAgICAgICAgKCJydXN0LXNtYWxsdmVjIiAscnVzdC1zbWFsbHZlYy0xKQogICAg ICAgICAgICAgICAgICAgICAgICgicnVzdC10dGYtcGFyc2VyIiAscnVzdC10dGYtcGFyc2Vy LTAuMjApCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXVuaWNvZGUtYmlkaS1taXJy b3JpbmciICxydXN0LXVuaWNvZGUtYmlkaS1taXJyb3JpbmctMC4xKQogICAgICAgICAgICAg ICAgICAgICAgICgicnVzdC11bmljb2RlLWNjYyIgLHJ1c3QtdW5pY29kZS1jY2MtMC4xKQog ICAgICAgICAgICAgICAgICAgICAgICgicnVzdC11bmljb2RlLXByb3BlcnRpZXMiICxydXN0 LXVuaWNvZGUtcHJvcGVydGllcy0wLjEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0 LXVuaWNvZGUtc2NyaXB0IiAscnVzdC11bmljb2RlLXNjcmlwdC0wLjUpKQogICAgICAgIzpj YXJnby1kZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1saWJjIiAscnVzdC1saWJjLTAuMikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcGljby1hcmdzIiAs cnVzdC1waWNvLWFyZ3MtMC41KSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIu Y29tL1JhenJGYWxjb24vcnVzdHlidXp6IikKICAgIChzeW5vcHNpcyAiY29tcGxldGUgaGFy ZmJ1enogc2hhcGluZyBhbGdvcml0aG0gcG9ydCB0byBSdXN0LiIpCiAgICAoZGVzY3JpcHRp b24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIGEgY29tcGxldGUgaGFyZmJ1enogc2hh cGluZyBhbGdvcml0aG0gcG9ydCB0byBSdXN0LiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmV4 cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LXNjYy0yCiAgKHBhY2thZ2UKICAgIChuYW1l ICJydXN0LXNjYyIpCiAgICAodmVyc2lvbiAiMi4xLjIiKQogICAgKHNvdXJjZQogICAgIChv cmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJp ICJzY2MiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1l ICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2Uz MiAiMXNhMDhrMnl4bjgxOGZrMTJrMWRscXp3cHJjM2dpZG0yNnpjcXcwM3dicWFsNDY3djU1 ZyIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1 bWVudHMKICAgICBgKCM6dGVzdHM/ICNmCiAgICAgICAjOmNhcmdvLWlucHV0cyAoKCJydXN0 LXNkZCIgLHJ1c3Qtc2RkLTAuMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc2Vy ZGUiICxydXN0LXNlcmRlLTEpKQogICAgICAgIzpjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMg KCgicnVzdC1jcml0ZXJpb24iICxydXN0LWNyaXRlcmlvbi0wLjUpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWZ1dHVyZXMiICxydXN0LWZ1dHVyZXMtMC4z KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1wcm9wdGVzdCIg LHJ1c3QtcHJvcHRlc3QtMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo InJ1c3QtcmFuZCIgLHJ1c3QtcmFuZC0wLjgpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LXNlcmRlLXRlc3QiICxydXN0LXNlcmRlLXRlc3QtMSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc3RhdGljLWFzc2VydGlvbnMi ICxydXN0LXN0YXRpYy1hc3NlcnRpb25zLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LXRva2lvIiAscnVzdC10b2tpby0xKSkpKQogICAgKGhvbWUtcGFn ZSAiaHR0cHM6Ly9naXRodWIuY29tL3d2d3d2d3d2L3NjYWxhYmxlLWNvbmN1cnJlbnQtY29u dGFpbmVycy8iKQogICAgKHN5bm9wc2lzCiAgICAgIkhpZ2ggcGVyZm9ybWFuY2UgY29udGFp bmVycyBhbmQgdXRpbGl0aWVzIGZvciBjb25jdXJyZW50IGFuZCBhc3luY2hyb25vdXMgcHJv Z3JhbW1pbmciKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBwcm92aWRl cyBIaWdoIHBlcmZvcm1hbmNlIGNvbnRhaW5lcnMgYW5kIHV0aWxpdGllcyBmb3IgY29uY3Vy cmVudCBhbmQgYXN5bmNocm9ub3VzCnByb2dyYW1taW5nLiIpCiAgICAobGljZW5zZSBsaWNl bnNlOmFzbDIuMCkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1zZGQtMC4yCiAgKHBhY2thZ2UK ICAgIChuYW1lICJydXN0LXNkZCIpCiAgICAodmVyc2lvbiAiMC4yLjAiKQogICAgKHNvdXJj ZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAo Y3JhdGUtdXJpICJzZGQiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFw cGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAg ICAgKGJhc2UzMiAiMTc5aDJiMjd3bXY2amJmczN5bGR3aG1uM2R3cm1iNTgxeXcybDFzMzR3 NXhyN2o0YWh4cSIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkK ICAgIChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1 c3QtY3JpdGVyaW9uIiAscnVzdC1jcml0ZXJpb24tMC41KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICgicnVzdC1mdXR1cmVzIiAscnVzdC1mdXR1cmVzLTAuMykKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtbG9vbSIgLHJ1c3QtbG9v bS0wLjcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXN0YXRp Yy1hc3NlcnRpb25zIiAscnVzdC1zdGF0aWMtYXNzZXJ0aW9ucy0xKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgicnVzdC10b2tpbyIgLHJ1c3QtdG9raW8tMSkpKSkK ICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS93dnd3dnd3di9zY2FsYWJsZS1k ZWxheWVkLWRlYWxsb2MvIikKICAgIChzeW5vcHNpcyAiU2NhbGFibGUgbG9jay1mcmVlIG1l bW9yeSByZWNsYWltZXIiKQogICAgKGRlc2NyaXB0aW9uICJUaGlzIHBhY2thZ2UgcHJvdmlk ZXMgU2NhbGFibGUgbG9jay1mcmVlIG1lbW9yeSByZWNsYWltZXIuIikKICAgIChsaWNlbnNl IGxpY2Vuc2U6YXNsMi4wKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LXNlbGYtcmVwbGFjZS0x CiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LXNlbGYtcmVwbGFjZSIpCiAgICAodmVyc2lv biAiMS4zLjciKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJs LWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJzZWxmLXJlcGxhY2UiIHZlcnNpb24p KQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIu dGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMG04YzJ2cWlwOWhy OWpjZ2s3eGd3cnoyeThpaGg3eXBwYnN4NGg3d3NhdmJjNmNiMnBhaiIpKSkpCiAgICAoYnVp bGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6 dGVzdHM/ICNmCiAgICAgICAjOmNhcmdvLWlucHV0cyAoKCJydXN0LWZhc3RyYW5kIiAscnVz dC1mYXN0cmFuZC0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC10ZW1wZmlsZSIg LHJ1c3QtdGVtcGZpbGUtMykKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtd2luZG93 cy1zeXMiICxydXN0LXdpbmRvd3Mtc3lzLTAuNDgpKSkpCiAgICAoaG9tZS1wYWdlICJodHRw czovL2dpdGh1Yi5jb20vbWl0c3VoaWtvL3NlbGYtcmVwbGFjZSIpCiAgICAoc3lub3BzaXMK ICAgICAiVXRpbGl0eSBjcmF0ZSB0aGF0IGFsbG93cyBleGVjdXRhYmxlcyB0byByZXBsYWNl IG9yIHVuaW5zdGFsbCB0aGVtc2VsdmVzIikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlz IHBhY2thZ2UgcHJvdmlkZXMgVXRpbGl0eSBjcmF0ZSB0aGF0IGFsbG93cyBleGVjdXRhYmxl cyB0byByZXBsYWNlIG9yIHVuaW5zdGFsbCB0aGVtc2VsdmVzLiIpCiAgICAobGljZW5zZSBs aWNlbnNlOmFzbDIuMCkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1zZXJkZS0xCiAgKHBhY2th Z2UKICAgIChuYW1lICJydXN0LXNlcmRlIikKICAgICh2ZXJzaW9uICIxLjAuMjA0IikKICAg IChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAg ICh1cmkgKGNyYXRlLXVyaSAic2VyZGUiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAo c3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hh MjU2CiAgICAgICAgKGJhc2UzMiAiMDRrd3B3cXo1NTl4bGh4a2dnbW04cmp4cWd5d3k1c3dh bTNrc2N3c2ljbmJ3MWNnYXhtdyIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxk LXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28taW5wdXRzICgoInJ1c3Qt c2VyZGUtZGVyaXZlIiAscnVzdC1zZXJkZS1kZXJpdmUtMSkKICAgICAgICAgICAgICAgICAg ICAgICAoInJ1c3Qtc2VyZGUtZGVyaXZlIiAscnVzdC1zZXJkZS1kZXJpdmUtMSkpCiAgICAg ICAjOmNhcmdvLWRldmVsb3BtZW50LWlucHV0cyAoKCJydXN0LXNlcmRlLWRlcml2ZSIgLHJ1 c3Qtc2VyZGUtZGVyaXZlLTEpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL3NlcmRlLnJz IikKICAgIChzeW5vcHNpcyAiZ2VuZXJpYyBzZXJpYWxpemF0aW9uL2Rlc2VyaWFsaXphdGlv biBmcmFtZXdvcmsiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBwcm92 aWRlcyBhIGdlbmVyaWMgc2VyaWFsaXphdGlvbi9kZXNlcmlhbGl6YXRpb24gZnJhbWV3b3Jr LiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNsMi4wKSkp KQoKKGRlZmluZS1wdWJsaWMgcnVzdC1zZXJkZS1kZXJpdmUtMQogIChwYWNrYWdlCiAgICAo bmFtZSAicnVzdC1zZXJkZS1kZXJpdmUiKQogICAgKHZlcnNpb24gIjEuMC4yMDQiKQogICAg KHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAg KHVyaSAoY3JhdGUtdXJpICJzZXJkZV9kZXJpdmUiIHZlcnNpb24pKQogICAgICAgKGZpbGUt bmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAg ICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMDhwMjUyNjJtYm1oc3IyY2cwNTA4ZDViMXd2 bGpqOTU2cnZwZzB2M3FnZzZnYzhweGtnMCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdv LWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28taW5wdXRzICgo InJ1c3QtcHJvYy1tYWNybzIiICxydXN0LXByb2MtbWFjcm8yLTEpCiAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LXF1b3RlIiAscnVzdC1xdW90ZS0xKQogICAgICAgICAgICAgICAg ICAgICAgICgicnVzdC1zeW4iICxydXN0LXN5bi0yKSkKICAgICAgICM6Y2FyZ28tZGV2ZWxv cG1lbnQtaW5wdXRzICgoInJ1c3Qtc2VyZGUiICxydXN0LXNlcmRlLTEpKSkpCiAgICAoaG9t ZS1wYWdlICJodHRwczovL3NlcmRlLnJzIikKICAgIChzeW5vcHNpcyAiTWFjcm9zIDEuMSBp bXBsZW1lbnRhdGlvbiBvZiAjW2Rlcml2ZShTZXJpYWxpemUsIERlc2VyaWFsaXplKV0iKQog ICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBwcm92aWRlcyBNYWNyb3MgMS4x IGltcGxlbWVudGF0aW9uIG9mICNbZGVyaXZlKFNlcmlhbGl6ZSwgRGVzZXJpYWxpemUpXS4i KQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpleHBhdCBsaWNlbnNlOmFzbDIuMCkpKSkK CihkZWZpbmUtcHVibGljIHJ1c3Qtc2VyZGUtanNvbi0xCiAgKHBhY2thZ2UKICAgIChuYW1l ICJydXN0LXNlcmRlLWpzb24iKQogICAgKHZlcnNpb24gIjEuMC4xMjAiKQogICAgKHNvdXJj ZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAo Y3JhdGUtdXJpICJzZXJkZV9qc29uIiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0 cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1 NgogICAgICAgIChiYXNlMzIgIjFpZHB2M3p4Y3ZsNzZ6Mno0N2pnZzFmMXdqcWRuaGZjMjA0 YXNtZDI3cWZhbTM0ajIzYWYiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1z eXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOnRlc3RzPyAjZgogICAgICAgIzpjYXJn by1pbnB1dHMgKCgicnVzdC1pbmRleG1hcCIgLHJ1c3QtaW5kZXhtYXAtMikKICAgICAgICAg ICAgICAgICAgICAgICAoInJ1c3QtaXRvYSIgLHJ1c3QtaXRvYS0xKQogICAgICAgICAgICAg ICAgICAgICAgICgicnVzdC1yeXUiICxydXN0LXJ5dS0xKQogICAgICAgICAgICAgICAgICAg ICAgICgicnVzdC1zZXJkZSIgLHJ1c3Qtc2VyZGUtMSkpCiAgICAgICAjOmNhcmdvLWRldmVs b3BtZW50LWlucHV0cyAoKCJydXN0LWF1dG9tb2QiICxydXN0LWF1dG9tb2QtMSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtaW5kb2MiICxydXN0LWluZG9j LTIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXJlZi1jYXN0 IiAscnVzdC1yZWYtY2FzdC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICgicnVzdC1ydXN0dmVyc2lvbiIgLHJ1c3QtcnVzdHZlcnNpb24tMSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc2VyZGUiICxydXN0LXNlcmRlLTEpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlLWJ5dGVzIiAs cnVzdC1zZXJkZS1ieXRlcy0wLjExKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICgicnVzdC1zZXJkZS1kZXJpdmUiICxydXN0LXNlcmRlLWRlcml2ZS0xKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zZXJkZS1zdGFja2VyIiAscnVz dC1zZXJkZS1zdGFja2VyLTAuMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoInJ1c3QtdHJ5YnVpbGQiICxydXN0LXRyeWJ1aWxkLTEpKSkpCiAgICAoaG9tZS1wYWdl ICJodHRwczovL2dpdGh1Yi5jb20vc2VyZGUtcnMvanNvbiIpCiAgICAoc3lub3BzaXMgIkpT T04gc2VyaWFsaXphdGlvbiBmaWxlIGZvcm1hdCIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMg cGFja2FnZSBwcm92aWRlcyBhIEpTT04gc2VyaWFsaXphdGlvbiBmaWxlIGZvcm1hdC4iKQog ICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpleHBhdCBsaWNlbnNlOmFzbDIuMCkpKSkKCihk ZWZpbmUtcHVibGljIHJ1c3Qtc2VyaWFsLXRlc3QtMwogIChwYWNrYWdlCiAgICAobmFtZSAi cnVzdC1zZXJpYWwtdGVzdCIpCiAgICAodmVyc2lvbiAiMy4xLjEiKQogICAgKHNvdXJjZQog ICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3Jh dGUtdXJpICJzZXJpYWxfdGVzdCIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJp bmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYK ICAgICAgICAoYmFzZTMyICIwemZwenI4amw3ZHBmNG04ZGs4ZnI5dzF3ZndobmpyY2NteWc0 Nmg0MXdtY3c5emxoanNiIikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lz dGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpjYXJnby1pbnB1dHMgKCgicnVzdC1kb2N1 bWVudC1mZWF0dXJlcyIgLHJ1c3QtZG9jdW1lbnQtZmVhdHVyZXMtMC4yKQogICAgICAgICAg ICAgICAgICAgICAgICgicnVzdC1lbnYtbG9nZ2VyIiAscnVzdC1lbnYtbG9nZ2VyLTAuMTAp CiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWZzbG9jayIgLHJ1c3QtZnNsb2NrLTAu MikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtZnV0dXJlcyIgLHJ1c3QtZnV0dXJl cy0wLjMpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWxvZyIgLHJ1c3QtbG9nLTAu NCkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtb25jZS1jZWxsIiAscnVzdC1vbmNl LWNlbGwtMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcGFya2luZy1sb3QiICxy dXN0LXBhcmtpbmctbG90LTAuMTIpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNj YyIgLHJ1c3Qtc2NjLTIpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmlhbC10 ZXN0LWRlcml2ZSIgLHJ1c3Qtc2VyaWFsLXRlc3QtZGVyaXZlLTMpKQogICAgICAgIzpjYXJn by1kZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1pdGVydG9vbHMiICxydXN0LWl0ZXJ0b29s cy0wLjEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC10b2tp byIgLHJ1c3QtdG9raW8tMSkpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNv bS9wYWxmcmV5L3NlcmlhbF90ZXN0LyIpCiAgICAoc3lub3BzaXMgIkFsbG93cyBmb3IgdGhl IGNyZWF0aW9uIG9mIHNlcmlhbGlzZWQgUnVzdCB0ZXN0cyIpCiAgICAoZGVzY3JpcHRpb24K ICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIEFsbG93cyBmb3IgdGhlIGNyZWF0aW9uIG9m IHNlcmlhbGlzZWQgUnVzdCB0ZXN0cy4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkp KQoKKGRlZmluZS1wdWJsaWMgcnVzdC1zZXJpYWwtdGVzdC1kZXJpdmUtMwogIChwYWNrYWdl CiAgICAobmFtZSAicnVzdC1zZXJpYWwtdGVzdC1kZXJpdmUiKQogICAgKHZlcnNpb24gIjMu MS4xIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRj aCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAic2VyaWFsX3Rlc3RfZGVyaXZlIiB2ZXJzaW9u KSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAi LnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjBycngxM3Iya2Rh aGJnczlxZnZieDYzemd6YWZyampwaXE0MnZzeTF6dnh3NG5ycnZ6bDIiKSkpKQogICAgKGJ1 aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgj OmNhcmdvLWlucHV0cyAoKCJydXN0LXByb2MtbWFjcm8yIiAscnVzdC1wcm9jLW1hY3JvMi0x KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1xdW90ZSIgLHJ1c3QtcXVvdGUtMSkK ICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc3luIiAscnVzdC1zeW4tMikpCiAgICAg ICAjOmNhcmdvLWRldmVsb3BtZW50LWlucHV0cyAoKCJydXN0LWVudi1sb2dnZXIiICxydXN0 LWVudi1sb2dnZXItMC4xMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo InJ1c3QtcHJldHR5cGxlYXNlIiAscnVzdC1wcmV0dHlwbGVhc2UtMC4yKSkpKQogICAgKGhv bWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3BhbGZyZXkvc2VyaWFsX3Rlc3QvIikKICAg IChzeW5vcHNpcyAiSGVscGVyIGNyYXRlIGZvciBzZXJpYWxfdGVzdCIpCiAgICAoZGVzY3Jp cHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRlcyBIZWxwZXIgY3JhdGUgZm9yIHNlcmlhbF90 ZXN0LiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBy dXN0LXNpbXBsZWNzcy0wLjIKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3Qtc2ltcGxlY3Nz IikKICAgICh2ZXJzaW9uICIwLjIuMSIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAg ICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgInNpbXBsZWNz cyIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0i IHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIx N2c4cTF6OXhya2QyN2ljOW5yZmlyajZpbjRyYWk2bDl3czBreHo0NW45NzU3M2ZmNngxIikp KSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50 cwogICAgIGAoIzp0ZXN0cz8gI2YKICAgICAgICM6Y2FyZ28taW5wdXRzICgoInJ1c3QtbG9n IiAscnVzdC1sb2ctMC40KSkKICAgICAgICM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgo InJ1c3QtZW52LWxvZ2dlciIgLHJ1c3QtZW52LWxvZ2dlci0wLjYpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXJveG1sdHJlZSIgLHJ1c3Qtcm94bWx0cmVl LTAuNykpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9SYXpyRmFsY29u L3NpbXBsZWNzcyIpCiAgICAoc3lub3BzaXMgInNpbXBsZSBDU1MgMiBwYXJzZXIgYW5kIHNl bGVjdG9yLiIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRlcyBhIHNp bXBsZSBDU1MgMiBwYXJzZXIgYW5kIHNlbGVjdG9yLiIpCiAgICAobGljZW5zZSAobGlzdCBs aWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNsMi4wKSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1z aXBoYXNoZXItMQogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1zaXBoYXNoZXIiKQogICAg KHZlcnNpb24gIjEuMC4xIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0 aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAic2lwaGFzaGVyIiB2ZXJz aW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lv biAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjE3ZjM1Nzgy bWEzZm42c2gyMWMwMjdram1kMjI3eHlyeDA2ZmZpOGd3NHh6djl5cnk2YW4iKSkpKQogICAg KGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAg YCgjOmNhcmdvLWlucHV0cyAoKCJydXN0LXNlcmRlIiAscnVzdC1zZXJkZS0xKQogICAgICAg ICAgICAgICAgICAgICAgICgicnVzdC1zZXJkZS1qc29uIiAscnVzdC1zZXJkZS1qc29uLTEp KSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2RvY3MucnMvc2lwaGFzaGVyIikKICAgIChz eW5vcHNpcyAiU2lwSGFzaC0yLTQsIFNpcEhhc2gtMS0zIGFuZCAxMjgtYml0IHZhcmlhbnRz IGluIHB1cmUgUnVzdCIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHBy b3ZpZGVzIEBjb2Rle1NpcEhhc2gtMi00fSwgQGNvZGV7U2lwSGFzaC0xLTN9IGFuZCAxMjgt Yml0IHZhcmlhbnRzIGluIHB1cmUgUnVzdC4iKQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5z ZTpleHBhdCBsaWNlbnNlOmFzbDIuMCkpKSkKCihkZWZpbmUtcHVibGljIHJ1c3Qtc21hbGx2 ZWMtMQogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1zbWFsbHZlYyIpCiAgICAodmVyc2lv biAiMS4xMy4yIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVy bC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAic21hbGx2ZWMiIHZlcnNpb24pKQog ICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFy Lmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMHJzdzVzYW1hd2wzd3N3 NmdscnNiMTI3cng2c2g4OWE4d3lpa2ljdzZka2RjamQxbHBpdyIpKSkpCiAgICAoYnVpbGQt c3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y2Fy Z28taW5wdXRzICgoInJ1c3QtYXJiaXRyYXJ5IiAscnVzdC1hcmJpdHJhcnktMSkKICAgICAg ICAgICAgICAgICAgICAgICAoInJ1c3Qtc2VyZGUiICxydXN0LXNlcmRlLTEpKQogICAgICAg IzpjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1iaW5jb2RlIiAscnVzdC1iaW5j b2RlLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWRlYnVn Z2VyLXRlc3QiICxydXN0LWRlYnVnZ2VyLXRlc3QtMC4xKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICgicnVzdC1kZWJ1Z2dlci10ZXN0LXBhcnNlciIgLHJ1c3QtZGVi dWdnZXItdGVzdC1wYXJzZXItMC4xKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRo dWIuY29tL3NlcnZvL3J1c3Qtc21hbGx2ZWMiKQogICAgKHN5bm9wc2lzCiAgICAgIidTbWFs bCB2ZWN0b3InIG9wdGltaXphdGlvbjogc3RvcmUgdXAgdG8gYSBzbWFsbCBudW1iZXIgb2Yg aXRlbXMgb24gdGhlIHN0YWNrIikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIHBhY2th Z2UgcHJvdmlkZXMgU21hbGwgdmVjdG9yIG9wdGltaXphdGlvbjogc3RvcmUgdXAgdG8gYSBz bWFsbCBudW1iZXIgb2YgaXRlbXMgb24gdGhlIHN0YWNrLiIpCiAgICAobGljZW5zZSAobGlz dCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNsMi4wKSkpKQoKKGRlZmluZS1wdWJsaWMgcnVz dC1zdHJpY3QtbnVtLTAuMQogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1zdHJpY3QtbnVt IikKICAgICh2ZXJzaW9uICIwLjEuMSIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAg ICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgInN0cmljdC1u dW0iIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICIt IiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAi MGNiN2wxdmhiOHpqOTBtem04YXZsazgxNWs0MHNxbDk1MTVzODY1cnFkcmRmYXZ2bGR2NiIp KSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVu dHMKICAgICBgKCM6Y2FyZ28taW5wdXRzICgoInJ1c3QtZmxvYXQtY21wIiAscnVzdC1mbG9h dC1jbXAtMC45KSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL1JhenJG YWxjb24vc3RyaWN0LW51bSIpCiAgICAoc3lub3BzaXMgImNvbGxlY3Rpb24gb2YgYm91bmRl ZCBudW1lcmljIHR5cGVzIikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIHBhY2thZ2Ug cHJvdmlkZXMgYSBjb2xsZWN0aW9uIG9mIGJvdW5kZWQgbnVtZXJpYyB0eXBlcy4iKQogICAg KGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1zdHJ1bS0w LjI2CiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LXN0cnVtIikKICAgICh2ZXJzaW9uICIw LjI2LjMiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZl dGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJzdHJ1bSIgdmVyc2lvbikpCiAgICAgICAo ZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkK ICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIwMWxnbDZqdnJmNGoyOHY1a214OWJw NDgweWdmMW5odmFjOGI0cDdyY2o5aHh3NTB6djRnIikpKSkKICAgIChidWlsZC1zeXN0ZW0g Y2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0cz8gI2YK ICAgICAgICM6Y2FyZ28taW5wdXRzICgoInJ1c3QtcGhmIiAscnVzdC1waGYtMC4xMCkKICAg ICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc3RydW0tbWFjcm9zIiAscnVzdC1zdHJ1bS1t YWNyb3MtMC4yNikpCiAgICAgICAjOmNhcmdvLWRldmVsb3BtZW50LWlucHV0cyAoKCJydXN0 LXN0cnVtLW1hY3JvcyIgLHJ1c3Qtc3RydW0tbWFjcm9zLTAuMjYpKSkpCiAgICAoaG9tZS1w YWdlICJodHRwczovL2dpdGh1Yi5jb20vUGV0ZXJuYXRvcjcvc3RydW0iKQogICAgKHN5bm9w c2lzICJIZWxwZnVsIG1hY3JvcyBmb3Igd29ya2luZyB3aXRoIGVudW1zIGFuZCBzdHJpbmdz IikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgSGVscGZ1 bCBtYWNyb3MgZm9yIHdvcmtpbmcgd2l0aCBlbnVtcyBhbmQgc3RyaW5ncy4iKQogICAgKGxp Y2Vuc2UgbGljZW5zZTpleHBhdCkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1zdHJ1bS1tYWNy b3MtMC4yNgogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1zdHJ1bS1tYWNyb3MiKQogICAg KHZlcnNpb24gIjAuMjYuNCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1l dGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgInN0cnVtX21hY3JvcyIg dmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZl cnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxZ2wx d21xMjRiOG1kNTI3Y3B5ZDVidzlya2JxbGRkN2sxaDM4a2Y1YWpkMmxuMnl3c3NjIikpKSkK ICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwog ICAgIGAoIzp0ZXN0cz8gI2YKICAgICAgICM6Y2FyZ28taW5wdXRzICgoInJ1c3QtaGVjayIg LHJ1c3QtaGVjay0wLjUpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXByb2MtbWFj cm8yIiAscnVzdC1wcm9jLW1hY3JvMi0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVz dC1xdW90ZSIgLHJ1c3QtcXVvdGUtMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qt cnVzdHZlcnNpb24iICxydXN0LXJ1c3R2ZXJzaW9uLTEpCiAgICAgICAgICAgICAgICAgICAg ICAgKCJydXN0LXN5biIgLHJ1c3Qtc3luLTIpKQogICAgICAgIzpjYXJnby1kZXZlbG9wbWVu dC1pbnB1dHMgKCgicnVzdC1zdHJ1bSIgLHJ1c3Qtc3RydW0tMC4yNikpKSkKICAgIChob21l LXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9QZXRlcm5hdG9yNy9zdHJ1bSIpCiAgICAoc3lu b3BzaXMgIkhlbHBmdWwgbWFjcm9zIGZvciB3b3JraW5nIHdpdGggZW51bXMgYW5kIHN0cmlu Z3MiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBwcm92aWRlcyBIZWxw ZnVsIG1hY3JvcyBmb3Igd29ya2luZyB3aXRoIGVudW1zIGFuZCBzdHJpbmdzLiIpCiAgICAo bGljZW5zZSBsaWNlbnNlOmV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LXN1YnNldHRl ci0wLjEKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3Qtc3Vic2V0dGVyIikKICAgICh2ZXJz aW9uICIwLjEuMSIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1 cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgInN1YnNldHRlciIgdmVyc2lvbikp CiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50 YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxeWdqYXo0bmQ4bTVr NWg5NjZzM2kzd3FnaXk3OG56NWprNXgwMGlibTJnejdmbGJpc2g5IikpKSkKICAgIChidWls ZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0 ZXN0cz8gI2YKICAgICAgICM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1c3QtdHRm LXBhcnNlciIgLHJ1c3QtdHRmLXBhcnNlci0wLjE1KSkpKQogICAgKGhvbWUtcGFnZSAiaHR0 cHM6Ly9naXRodWIuY29tL3R5cHN0L3N1YnNldHRlciIpCiAgICAoc3lub3BzaXMgIlJlZHVj ZXMgdGhlIHNpemUgYW5kIGNvdmVyYWdlIG9mIE9wZW5UeXBlIGZvbnRzIikKICAgIChkZXNj cmlwdGlvbgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgUmVkdWNlcyB0aGUgc2l6ZSBh bmQgY292ZXJhZ2Ugb2YgQGNvZGV7T3BlblR5cGV9IGZvbnRzLiIpCiAgICAobGljZW5zZSAo bGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNsMi4wKSkpKQoKKGRlZmluZS1wdWJsaWMg cnVzdC1zdmcycGRmLTAuMTAKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3Qtc3ZnMnBkZiIp CiAgICAodmVyc2lvbiAiMC4xMC4wIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAg ICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAic3ZnMnBkZiIg dmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZl cnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIwZ2s5 bmQ5Mm5scDQwcjVpY2tmanFqMzFucWt2Zm14MjU1djV2NXpsa3MxYjBxcWI2ZG1zIikpKSkK ICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwog ICAgIGAoIzp0ZXN0cz8gI2YKICAgICAgICM6Y2FyZ28taW5wdXRzICgoInJ1c3QtaW1hZ2Ui ICxydXN0LWltYWdlLTAuMjQpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LW1pbml6 LW94aWRlIiAscnVzdC1taW5pei1veGlkZS0wLjcpCiAgICAgICAgICAgICAgICAgICAgICAg KCJydXN0LW9uY2UtY2VsbCIgLHJ1c3Qtb25jZS1jZWxsLTEpCiAgICAgICAgICAgICAgICAg ICAgICAgKCJydXN0LXBkZi13cml0ZXIiICxydXN0LXBkZi13cml0ZXItMC45KQogICAgICAg ICAgICAgICAgICAgICAgICgicnVzdC1yZXN2ZyIgLHJ1c3QtcmVzdmctMC4zOCkKICAgICAg ICAgICAgICAgICAgICAgICAoInJ1c3QtdGlueS1za2lhIiAscnVzdC10aW55LXNraWEtMC4x MSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtdXN2ZyIgLHJ1c3QtdXN2Zy0wLjM4 KSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3R5cHN0L3N2ZzJwZGYi KQogICAgKHN5bm9wc2lzICJDb252ZXJ0IFNWRyBmaWxlcyB0byBQREZzIikKICAgIChkZXNj cmlwdGlvbiAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIENvbnZlcnQgU1ZHIGZpbGVzIHRvIFBE RnMuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6ZXhwYXQgbGljZW5zZTphc2wyLjAp KSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LXN2Z3R5cGVzLTAuMTMKICAocGFja2FnZQogICAg KG5hbWUgInJ1c3Qtc3ZndHlwZXMiKQogICAgKHZlcnNpb24gIjAuMTMuMCIpCiAgICAoc291 cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJp IChjcmF0ZS11cmkgInN2Z3R5cGVzIiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0 cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1 NgogICAgICAgIChiYXNlMzIgIjB3NHhrbmxmZjFucDhsOWlmN3k4aWc2Yng0NGJqcjAwNm01 eGdqOGloMHducm40ZjRpM2YiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1z eXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWlucHV0cyAoKCJydXN0LWt1 cmJvIiAscnVzdC1rdXJiby0wLjkpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNp cGhhc2hlciIgLHJ1c3Qtc2lwaGFzaGVyLTAuMykpKSkKICAgIChob21lLXBhZ2UgImh0dHBz Oi8vZ2l0aHViLmNvbS9SYXpyRmFsY29uL3N2Z3R5cGVzIikKICAgIChzeW5vcHNpcyAiU1ZH IHR5cGVzIHBhcnNlciIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRl cyBTVkcgdHlwZXMgcGFyc2VyLiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmV4cGF0 IGxpY2Vuc2U6YXNsMi4wKSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1zeW5zdHJ1Y3R1cmUt MC4xMwogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC1zeW5zdHJ1Y3R1cmUiKQogICAgKHZl cnNpb24gIjAuMTMuMSIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhv ZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgInN5bnN0cnVjdHVyZSIgdmVy c2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNp b24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIwd2M5ZjAw MmlhMnpxY2JqMHEyaWQ1eDZuN2cxempxYmE3cWtnMm1yMHF2dm1kazdkYnk4IikpKSkKICAg IChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAg IGAoIzpjYXJnby1pbnB1dHMgKCgicnVzdC1wcm9jLW1hY3JvMiIgLHJ1c3QtcHJvYy1tYWNy bzItMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcXVvdGUiICxydXN0LXF1b3Rl LTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXN5biIgLHJ1c3Qtc3luLTIpKQog ICAgICAgIzpjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1zeW5zdHJ1Y3R1cmUt dGVzdC10cmFpdHMiICxydXN0LXN5bnN0cnVjdHVyZS10ZXN0LXRyYWl0cy0wLjEpKSkpCiAg ICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vbXlzdG9yL3N5bnN0cnVjdHVyZSIp CiAgICAoc3lub3BzaXMgIkhlbHBlciBtZXRob2RzIGFuZCBtYWNyb3MgZm9yIGN1c3RvbSBk ZXJpdmVzIikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMg SGVscGVyIG1ldGhvZHMgYW5kIG1hY3JvcyBmb3IgY3VzdG9tIGRlcml2ZXMuIikKICAgIChs aWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkKCihkZWZpbmUtcHVibGljIHJ1c3QtdGlueXN0ci0w LjcKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3QtdGlueXN0ciIpCiAgICAodmVyc2lvbiAi MC43LjYiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZl dGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJ0aW55c3RyIiB2ZXJzaW9uKSkKICAgICAg IChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIp KQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjBieHFhdzd6OHIya3puZ3hsemxn dmxkMXI2amJud3l5bHl2eWpidjFxNzFydmdhZ2E1d2kiKSkpKQogICAgKGJ1aWxkLXN5c3Rl bSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOnRlc3RzPyAj ZgogICAgICAgIzpjYXJnby1pbnB1dHMgKCgicnVzdC1kYXRhYmFrZSIgLHJ1c3QtZGF0YWJh a2UtMC4xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1kaXNwbGF5ZG9jIiAscnVz dC1kaXNwbGF5ZG9jLTAuMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc2VyZGUi ICxydXN0LXNlcmRlLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXplcm92ZWMi ICxydXN0LXplcm92ZWMtMC4xMCkpCiAgICAgICAjOmNhcmdvLWRldmVsb3BtZW50LWlucHV0 cyAoKCJydXN0LWJpbmNvZGUiICxydXN0LWJpbmNvZGUtMSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoInJ1c3QtY3JpdGVyaW9uIiAscnVzdC1jcml0ZXJpb24tMC41 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1wb3N0Y2FyZCIg LHJ1c3QtcG9zdGNhcmQtMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo InJ1c3QtcmFuZCIgLHJ1c3QtcmFuZC0wLjgpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LXNlcmRlLWpzb24iICxydXN0LXNlcmRlLWpzb24tMSkpKSkKICAg IChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS91bmljb2RlLW9yZy9pY3U0eCIpCiAg ICAoc3lub3BzaXMgInNtYWxsIEFTQ0lJLW9ubHkgYm91bmRlZCBsZW5ndGggc3RyaW5nIHJl cHJlc2VudGF0aW9uLiIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHBy b3ZpZGVzIGEgc21hbGwgQVNDSUktb25seSBib3VuZGVkIGxlbmd0aCBzdHJpbmcgcmVwcmVz ZW50YXRpb24uIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6dW5pY29kZSkpKQoKKGRlZmluZS1w dWJsaWMgcnVzdC10b2tpby0xCiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LXRva2lvIikK ICAgICh2ZXJzaW9uICIxLjM4LjAiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAg IChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJ0b2tpbyIgdmVy c2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNp b24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIwampzYjJj OWRxaTkzeWlqM3JxenNoOWJrMHozcXlhc213MW44cWtueTNkOGx3MTRsa3hzIikpKSkKICAg IChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAg IGAoIzp0ZXN0cz8gI2YKICAgICAgICM6Y2FyZ28taW5wdXRzICgoInJ1c3QtYmFja3RyYWNl IiAscnVzdC1iYWNrdHJhY2UtMC4zKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1i eXRlcyIgLHJ1c3QtYnl0ZXMtMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtbGli YyIgLHJ1c3QtbGliYy0wLjIpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LW1pbyIg LHJ1c3QtbWlvLTAuOCkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtbnVtLWNwdXMi ICxydXN0LW51bS1jcHVzLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXBhcmtp bmctbG90IiAscnVzdC1wYXJraW5nLWxvdC0wLjEyKQogICAgICAgICAgICAgICAgICAgICAg ICgicnVzdC1waW4tcHJvamVjdC1saXRlIiAscnVzdC1waW4tcHJvamVjdC1saXRlLTAuMikK ICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc2lnbmFsLWhvb2stcmVnaXN0cnkiICxy dXN0LXNpZ25hbC1ob29rLXJlZ2lzdHJ5LTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJy dXN0LXNvY2tldDIiICxydXN0LXNvY2tldDItMC41KQogICAgICAgICAgICAgICAgICAgICAg ICgicnVzdC10b2tpby1tYWNyb3MiICxydXN0LXRva2lvLW1hY3Jvcy0yKQogICAgICAgICAg ICAgICAgICAgICAgICgicnVzdC10cmFjaW5nIiAscnVzdC10cmFjaW5nLTAuMSkKICAgICAg ICAgICAgICAgICAgICAgICAoInJ1c3Qtd2luZG93cy1zeXMiICxydXN0LXdpbmRvd3Mtc3lz LTAuNDgpKQogICAgICAgIzpjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1hc3lu Yy1zdHJlYW0iICxydXN0LWFzeW5jLXN0cmVhbS0wLjMpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKCJydXN0LWZ1dHVyZXMiICxydXN0LWZ1dHVyZXMtMC4zKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1saWJjIiAscnVzdC1saWJj LTAuMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtbG9vbSIg LHJ1c3QtbG9vbS0wLjcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJy dXN0LW1pby1haW8iICxydXN0LW1pby1haW8tMC45KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICgicnVzdC1tb2NrYWxsIiAscnVzdC1tb2NrYWxsLTAuMTEpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LW5peCIgLHJ1c3Qtbml4LTAu MjkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXJhbmQiICxy dXN0LXJhbmQtMC44KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVz dC1zb2NrZXQyIiAscnVzdC1zb2NrZXQyLTAuNSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoInJ1c3QtdGVtcGZpbGUiICxydXN0LXRlbXBmaWxlLTMpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXRva2lvLXN0cmVhbSIgLHJ1c3Qt dG9raW8tc3RyZWFtLTAuMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo InJ1c3QtdG9raW8tdGVzdCIgLHJ1c3QtdG9raW8tdGVzdC0wLjQpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXdhc20tYmluZGdlbi10ZXN0IiAscnVzdC13 YXNtLWJpbmRnZW4tdGVzdC0wLjMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKCJydXN0LXdpbmRvd3Mtc3lzIiAscnVzdC13aW5kb3dzLXN5cy0wLjQ4KSkpKQogICAg KGhvbWUtcGFnZSAiaHR0cHM6Ly90b2tpby5ycyIpCiAgICAoc3lub3BzaXMKICAgICAiQW4g ZXZlbnQtZHJpdmVuLCBub24tYmxvY2tpbmcgSS9PIHBsYXRmb3JtIGZvciB3cml0aW5nIGFz eW5jaHJvbm91cyBJL08KYmFja2VkIGFwcGxpY2F0aW9ucy4iKQogICAgKGRlc2NyaXB0aW9u CiAgICAgIlRoaXMgcGFja2FnZSBwcm92aWRlcyBBbiBldmVudC1kcml2ZW4sIG5vbi1ibG9j a2luZyBJL08gcGxhdGZvcm0gZm9yIHdyaXRpbmcgYXN5bmNocm9ub3VzIEkvTyBiYWNrZWQK YXBwbGljYXRpb25zLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmV4cGF0KSkpCgooZGVmaW5l LXB1YmxpYyBydXN0LXRva2lvLW1hY3Jvcy0yCiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0 LXRva2lvLW1hY3JvcyIpCiAgICAodmVyc2lvbiAiMi4zLjAiKQogICAgKHNvdXJjZQogICAg IChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUt dXJpICJ0b2tpby1tYWNyb3MiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5n LWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAg ICAgICAgKGJhc2UzMiAiMTZua2FuMHg5YjYyaG5xbWpxY3lkNzFqMW1ncGRhMnN2N2dmbTJt dmJtMzlsMmNmam5qeiIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3Rl bSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNmCiAgICAgICAjOmNhcmdvLWlu cHV0cyAoKCJydXN0LXByb2MtbWFjcm8yIiAscnVzdC1wcm9jLW1hY3JvMi0xKQogICAgICAg ICAgICAgICAgICAgICAgICgicnVzdC1xdW90ZSIgLHJ1c3QtcXVvdGUtMSkKICAgICAgICAg ICAgICAgICAgICAgICAoInJ1c3Qtc3luIiAscnVzdC1zeW4tMikpCiAgICAgICAjOmNhcmdv LWRldmVsb3BtZW50LWlucHV0cyAoKCJydXN0LXRva2lvIiAscnVzdC10b2tpby0xKSkpKQog ICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly90b2tpby5ycyIpCiAgICAoc3lub3BzaXMgIlRva2lv J3MgcHJvYyBtYWNyb3MuIikKICAgIChkZXNjcmlwdGlvbiAiVGhpcyBwYWNrYWdlIHByb3Zp ZGVzIFRva2lvJ3MgcHJvYyBtYWNyb3MuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQp KSkKCihkZWZpbmUtcHVibGljIHJ1c3QtdHRmLXBhcnNlci0wLjE1CiAgKHBhY2thZ2UKICAg IChuYW1lICJydXN0LXR0Zi1wYXJzZXIiKQogICAgKHZlcnNpb24gIjAuMTUuMiIpCiAgICAo c291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAo dXJpIChjcmF0ZS11cmkgInR0Zi1wYXJzZXIiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFt ZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAo c2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMXBmcW4wNnZqbHI2cHZsbGpqbWttY2Iya2I4aW5k MDlxNWY3OG52eGMzbnFwNzRoY2drdiIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1 aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28tZGV2ZWxvcG1lbnQt aW5wdXRzICgoInJ1c3QtYmFzZTY0IiAscnVzdC1iYXNlNjQtMC4xMykKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcGljby1hcmdzIiAscnVzdC1waWNvLWFy Z3MtMC41KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC14bWx3 cml0ZXIiICxydXN0LXhtbHdyaXRlci0wLjEpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczov L2dpdGh1Yi5jb20vUmF6ckZhbGNvbi90dGYtcGFyc2VyIikKICAgIChzeW5vcHNpcwogICAg ICJoaWdoLWxldmVsLCBzYWZlLCB6ZXJvLWFsbG9jYXRpb24gZm9udCBwYXJzZXIgZm9yIFRy dWVUeXBlLCBPcGVuVHlwZSwgYW5kIEFBVC4iKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRo aXMgcGFja2FnZSBwcm92aWRlcyBhIGhpZ2gtbGV2ZWwsIHNhZmUsIHplcm8tYWxsb2NhdGlv biBmb250IHBhcnNlciBmb3IKQGNvZGV7VHJ1ZVR5cGV9LCBAY29kZXtPcGVuVHlwZX0sIGFu ZCBBQVQuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6ZXhwYXQgbGljZW5zZTphc2wy LjApKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LXR0Zi1wYXJzZXItMC4yMAogIChwYWNrYWdl CiAgICAobmFtZSAicnVzdC10dGYtcGFyc2VyIikKICAgICh2ZXJzaW9uICIwLjIwLjAiKQog ICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAg ICAgKHVyaSAoY3JhdGUtdXJpICJ0dGYtcGFyc2VyIiB2ZXJzaW9uKSkKICAgICAgIChmaWxl LW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAg ICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjFkNG4zcDljY2p2eTRtajcyNzAwaTBjMnE2 ZDQ5ZHhqcHdmbHc0N3E3OXJwdjF2N3Z4cXAiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJn by1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWRldmVsb3Bt ZW50LWlucHV0cyAoKCJydXN0LWJhc2U2NCIgLHJ1c3QtYmFzZTY0LTAuMTMpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXBpY28tYXJncyIgLHJ1c3QtcGlj by1hcmdzLTAuNSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qt eG1sd3JpdGVyIiAscnVzdC14bWx3cml0ZXItMC4xKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0 cHM6Ly9naXRodWIuY29tL1JhenJGYWxjb24vdHRmLXBhcnNlciIpCiAgICAoc3lub3BzaXMK ICAgICAiaGlnaC1sZXZlbCwgc2FmZSwgemVyby1hbGxvY2F0aW9uIGZvbnQgcGFyc2VyIGZv ciBUcnVlVHlwZSwgT3BlblR5cGUsIGFuZCBBQVQuIikKICAgIChkZXNjcmlwdGlvbgogICAg ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgYSBoaWdoLWxldmVsLCBzYWZlLCB6ZXJvLWFsbG9j YXRpb24gZm9udCBwYXJzZXIgZm9yCkBjb2Rle1RydWVUeXBlfSwgQGNvZGV7T3BlblR5cGV9 LCBhbmQgQUFULiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6 YXNsMi4wKSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC10d28tZmFjZS0wLjMKICAocGFja2Fn ZQogICAgKG5hbWUgInJ1c3QtdHdvLWZhY2UiKQogICAgKHZlcnNpb24gIjAuMy4wIikKICAg IChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAg ICh1cmkgKGNyYXRlLXVyaSAidHdvLWZhY2UiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFt ZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAo c2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMXNzeWRmajNjZGpmMjhwbXk4NHdqaGF5cDVzNjZ4 bnIwYjU3emdwY2ZuOTRiYzl4NWdpcCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1 aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28taW5wdXRzICgoInJ1 c3Qtb25jZS1jZWxsIiAscnVzdC1vbmNlLWNlbGwtMSkKICAgICAgICAgICAgICAgICAgICAg ICAoInJ1c3Qtc2VyZGUiICxydXN0LXNlcmRlLTEpCiAgICAgICAgICAgICAgICAgICAgICAg KCJydXN0LXN5bnRlY3QiICxydXN0LXN5bnRlY3QtNSkpCiAgICAgICAjOmNhcmdvLWRldmVs b3BtZW50LWlucHV0cyAoKCJydXN0LXN0cnVtIiAscnVzdC1zdHJ1bS0wLjI1KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zeW50ZWN0IiAscnVzdC1zeW50 ZWN0LTUpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vQ29zbWljSG9y cm9yRGV2L3R3by1mYWNlIikKICAgIChzeW5vcHNpcyAiRXh0cmEgc3ludGF4IGFuZCB0aGVt ZSBkZWZpbml0aW9ucyBmb3Igc3ludGVjdCIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhp cyBwYWNrYWdlIHByb3ZpZGVzIEV4dHJhIHN5bnRheCBhbmQgdGhlbWUgZGVmaW5pdGlvbnMg Zm9yIHN5bnRlY3QuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6ZXhwYXQgbGljZW5z ZTphc2wyLjApKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LXR5cHN0LTAuMTEKICAocGFja2Fn ZQogICAgKG5hbWUgInJ1c3QtdHlwc3QiKQogICAgKHZlcnNpb24gIjAuMTEuMSIpCiAgICAo c291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAo dXJpIChjcmF0ZS11cmkgInR5cHN0IiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0 cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1 NgogICAgICAgIChiYXNlMzIgIjE2cHNxbndrenJyZ3FwcW5sMmRsNHpjeDZwd3k2Z3BtMWJq MzA1N2xqZHE5c2FiajRqOGoiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1z eXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOnRlc3RzPyAjZgogICAgICAgIzpjYXJn by1pbnB1dHMgKCgicnVzdC1heiIgLHJ1c3QtYXotMSkKICAgICAgICAgICAgICAgICAgICAg ICAoInJ1c3QtYml0ZmxhZ3MiICxydXN0LWJpdGZsYWdzLTIpCiAgICAgICAgICAgICAgICAg ICAgICAgKCJydXN0LWNoaW5lc2UtbnVtYmVyIiAscnVzdC1jaGluZXNlLW51bWJlci0wLjcp CiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWNpYm9yaXVtIiAscnVzdC1jaWJvcml1 bS0wLjIpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWNvbWVtbyIgLHJ1c3QtY29t ZW1vLTAuNCkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtY3N2IiAscnVzdC1jc3Yt MSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtZWNvdyIgLHJ1c3QtZWNvdy0wLjIp CiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWZvbnRkYiIgLHJ1c3QtZm9udGRiLTAu MTYpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWhheWFncml2YSIgLHJ1c3QtaGF5 YWdyaXZhLTAuNSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtaHlwaGVyIiAscnVz dC1oeXBoZXItMC4xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1pY3UtcHJvcGVy dGllcyIgLHJ1c3QtaWN1LXByb3BlcnRpZXMtMSkKICAgICAgICAgICAgICAgICAgICAgICAo InJ1c3QtaWN1LXByb3ZpZGVyIiAscnVzdC1pY3UtcHJvdmlkZXItMSkKICAgICAgICAgICAg ICAgICAgICAgICAoInJ1c3QtaWN1LXByb3ZpZGVyLWFkYXB0ZXJzIiAscnVzdC1pY3UtcHJv dmlkZXItYWRhcHRlcnMtMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtaWN1LXBy b3ZpZGVyLWJsb2IiICxydXN0LWljdS1wcm92aWRlci1ibG9iLTEpCiAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LWljdS1zZWdtZW50ZXIiICxydXN0LWljdS1zZWdtZW50ZXItMSkK ICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtaWYtY2hhaW4iICxydXN0LWlmLWNoYWlu LTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWltYWdlIiAscnVzdC1pbWFnZS0w LjI0KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1pbmRleG1hcCIgLHJ1c3QtaW5k ZXhtYXAtMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qta2FtYWRhay1leGlmIiAs cnVzdC1rYW1hZGFrLWV4aWYtMC41KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1r dXJibyIgLHJ1c3Qta3VyYm8tMC45KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1s aXBzdW0iICxydXN0LWxpcHN1bS0wLjkpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0 LWxvZyIgLHJ1c3QtbG9nLTAuNCkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtb25j ZS1jZWxsIiAscnVzdC1vbmNlLWNlbGwtMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1 c3QtcGFsZXR0ZSIgLHJ1c3QtcGFsZXR0ZS0wLjcpCiAgICAgICAgICAgICAgICAgICAgICAg KCJydXN0LXBoZiIgLHJ1c3QtcGhmLTAuMTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJy dXN0LXBuZyIgLHJ1c3QtcG5nLTAuMTcpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0 LXBvcnRhYmxlLWF0b21pYyIgLHJ1c3QtcG9ydGFibGUtYXRvbWljLTEpCiAgICAgICAgICAg ICAgICAgICAgICAgKCJydXN0LXFjbXMiICxydXN0LXFjbXMtMC4zKQogICAgICAgICAgICAg ICAgICAgICAgICgicnVzdC1yYXlvbiIgLHJ1c3QtcmF5b24tMSkKICAgICAgICAgICAgICAg ICAgICAgICAoInJ1c3QtcmVnZXgiICxydXN0LXJlZ2V4LTEpCiAgICAgICAgICAgICAgICAg ICAgICAgKCJydXN0LXJveG1sdHJlZSIgLHJ1c3Qtcm94bWx0cmVlLTAuMTkpCiAgICAgICAg ICAgICAgICAgICAgICAgKCJydXN0LXJ1c3R5YnV6eiIgLHJ1c3QtcnVzdHlidXp6LTAuMTIp CiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlIiAscnVzdC1zZXJkZS0xKQog ICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zZXJkZS1qc29uIiAscnVzdC1zZXJkZS1q c29uLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlLXlhbWwiICxydXN0 LXNlcmRlLXlhbWwtMC45KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zaXBoYXNo ZXIiICxydXN0LXNpcGhhc2hlci0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1z bWFsbHZlYyIgLHJ1c3Qtc21hbGx2ZWMtMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1 c3Qtc3RhY2tlciIgLHJ1c3Qtc3RhY2tlci0wLjEpCiAgICAgICAgICAgICAgICAgICAgICAg KCJydXN0LXN5bnRlY3QiICxydXN0LXN5bnRlY3QtNSkKICAgICAgICAgICAgICAgICAgICAg ICAoInJ1c3QtdGltZSIgLHJ1c3QtdGltZS0wLjMpCiAgICAgICAgICAgICAgICAgICAgICAg KCJydXN0LXRvbWwiICxydXN0LXRvbWwtMC44KQogICAgICAgICAgICAgICAgICAgICAgICgi cnVzdC10dGYtcGFyc2VyIiAscnVzdC10dGYtcGFyc2VyLTAuMjApCiAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LXR3by1mYWNlIiAscnVzdC10d28tZmFjZS0wLjMpCiAgICAgICAg ICAgICAgICAgICAgICAgKCJydXN0LXR5cGVkLWFyZW5hIiAscnVzdC10eXBlZC1hcmVuYS0y KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC10eXBzdC1hc3NldHMiICxydXN0LXR5 cHN0LWFzc2V0cy0wLjExKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC10eXBzdC1t YWNyb3MiICxydXN0LXR5cHN0LW1hY3Jvcy0wLjExKQogICAgICAgICAgICAgICAgICAgICAg ICgicnVzdC10eXBzdC1zeW50YXgiICxydXN0LXR5cHN0LXN5bnRheC0wLjExKQogICAgICAg ICAgICAgICAgICAgICAgICgicnVzdC10eXBzdC10aW1pbmciICxydXN0LXR5cHN0LXRpbWlu Zy0wLjExKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC11bmljb2RlLWJpZGkiICxy dXN0LXVuaWNvZGUtYmlkaS0wLjMpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXVu aWNvZGUtbWF0aC1jbGFzcyIgLHJ1c3QtdW5pY29kZS1tYXRoLWNsYXNzLTAuMSkKICAgICAg ICAgICAgICAgICAgICAgICAoInJ1c3QtdW5pY29kZS1zY3JpcHQiICxydXN0LXVuaWNvZGUt c2NyaXB0LTAuNSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtdW5pY29kZS1zZWdt ZW50YXRpb24iICxydXN0LXVuaWNvZGUtc2VnbWVudGF0aW9uLTEpCiAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LXVzdmciICxydXN0LXVzdmctMC4zOCkKICAgICAgICAgICAgICAg ICAgICAgICAoInJ1c3Qtd2FzbWkiICxydXN0LXdhc21pLTAuMzEpKSkpCiAgICAoaG9tZS1w YWdlICJodHRwczovL3R5cHN0LmFwcCIpCiAgICAoc3lub3BzaXMKICAgICAibmV3IG1hcmt1 cC1iYXNlZCB0eXBlc2V0dGluZyBzeXN0ZW0gdGhhdCBpcyBwb3dlcmZ1bCBhbmQgZWFzeSB0 byBsZWFybi4iKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBwcm92aWRl cyBhIG5ldyBtYXJrdXAtYmFzZWQgdHlwZXNldHRpbmcgc3lzdGVtIHRoYXQgaXMgcG93ZXJm dWwgYW5kCmVhc3kgdG8gbGVhcm4uIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6YXNsMi4wKSkp CgooZGVmaW5lLXB1YmxpYyBydXN0LXR5cHN0LWFzc2V0cy0wLjExCiAgKHBhY2thZ2UKICAg IChuYW1lICJydXN0LXR5cHN0LWFzc2V0cyIpCiAgICAodmVyc2lvbiAiMC4xMS4xIikKICAg IChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAg ICh1cmkgKGNyYXRlLXVyaSAidHlwc3QtYXNzZXRzIiB2ZXJzaW9uKSkKICAgICAgIChmaWxl LW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAg ICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjE3MmR4enc4bnZwczcycDltaTQzNTY4djhw MjU4MTJ2NTZodzkzM3l4czM4c2J3NjJjMWIiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJn by1idWlsZC1zeXN0ZW0pCiAgICAoaG9tZS1wYWdlICJodHRwczovL3R5cHN0LmFwcCIpCiAg ICAoc3lub3BzaXMgIkFzc2V0cyBmb3IgdGhlIFR5cHN0IGNvbXBpbGVyIikKICAgIChkZXNj cmlwdGlvbiAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIEFzc2V0cyBmb3IgdGhlIFR5cHN0IGNv bXBpbGVyLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmFzbDIuMCkpKQoKKGRlZmluZS1wdWJs aWMgcnVzdC10eXBzdC1jbGktMC4xMQogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC10eXBz dC1jbGkiKQogICAgKHZlcnNpb24gIjAuMTEuMSIpCiAgICAoc291cmNlCiAgICAgKG9yaWdp bgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgInR5 cHN0LWNsaSIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5h bWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFz ZTMyICIwczR5NXZsNTRtODl3OTcwYnd4NzAzM3N2bDMwODY4ZDBmNmgwc2hyMnpzOWNnaHZq YjV5IikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFy Z3VtZW50cwogICAgIGAoIzpjYXJnby1pbnB1dHMgKCgicnVzdC1jaHJvbm8iICxydXN0LWNo cm9uby0wLjQpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWNsYXAiICxydXN0LWNs YXAtNCkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtY2xhcCIgLHJ1c3QtY2xhcC00 KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1jbGFwLWNvbXBsZXRlIiAscnVzdC1j bGFwLWNvbXBsZXRlLTQpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWNsYXAtbWFu Z2VuIiAscnVzdC1jbGFwLW1hbmdlbi0wLjIpCiAgICAgICAgICAgICAgICAgICAgICAgKCJy dXN0LWNvZGVzcGFuLXJlcG9ydGluZyIgLHJ1c3QtY29kZXNwYW4tcmVwb3J0aW5nLTAuMTEp CiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWNvbWVtbyIgLHJ1c3QtY29tZW1vLTAu NCkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtZGlycyIgLHJ1c3QtZGlycy01KQog ICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1lY293IiAscnVzdC1lY293LTAuMikKICAg ICAgICAgICAgICAgICAgICAgICAoInJ1c3QtZW52LXByb3h5IiAscnVzdC1lbnYtcHJveHkt MC40KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1mbGF0ZTIiICxydXN0LWZsYXRl Mi0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1mb250ZGIiICxydXN0LWZvbnRk Yi0wLjE2KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1mcy1leHRyYSIgLHJ1c3Qt ZnMtZXh0cmEtMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtbmF0aXZlLXRscyIg LHJ1c3QtbmF0aXZlLXRscy0wLjIpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LW5v dGlmeSIgLHJ1c3Qtbm90aWZ5LTYpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LW9u Y2UtY2VsbCIgLHJ1c3Qtb25jZS1jZWxsLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJy dXN0LW9wZW4iICxydXN0LW9wZW4tNSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qt b3BlbnNzbCIgLHJ1c3Qtb3BlbnNzbC0wLjEwKQogICAgICAgICAgICAgICAgICAgICAgICgi cnVzdC1wYXJraW5nLWxvdCIgLHJ1c3QtcGFya2luZy1sb3QtMC4xMikKICAgICAgICAgICAg ICAgICAgICAgICAoInJ1c3QtcGF0aGRpZmYiICxydXN0LXBhdGhkaWZmLTAuMikKICAgICAg ICAgICAgICAgICAgICAgICAoInJ1c3QtcmF5b24iICxydXN0LXJheW9uLTEpCiAgICAgICAg ICAgICAgICAgICAgICAgKCJydXN0LXNhbWUtZmlsZSIgLHJ1c3Qtc2FtZS1maWxlLTEpCiAg ICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlbGYtcmVwbGFjZSIgLHJ1c3Qtc2VsZi1y ZXBsYWNlLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlbXZlciIgLHJ1c3Qt c2VtdmVyLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlbXZlciIgLHJ1c3Qt c2VtdmVyLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlIiAscnVzdC1z ZXJkZS0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zZXJkZS1qc29uIiAscnVz dC1zZXJkZS1qc29uLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlLXlh bWwiICxydXN0LXNlcmRlLXlhbWwtMC45KQogICAgICAgICAgICAgICAgICAgICAgICgicnVz dC1zaGVsbC1lc2NhcGUiICxydXN0LXNoZWxsLWVzY2FwZS0wLjEpCiAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LXRhciIgLHJ1c3QtdGFyLTAuNCkKICAgICAgICAgICAgICAgICAg ICAgICAoInJ1c3QtdGVtcGZpbGUiICxydXN0LXRlbXBmaWxlLTMpCiAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LXRvbWwiICxydXN0LXRvbWwtMC44KQogICAgICAgICAgICAgICAg ICAgICAgICgicnVzdC10eXBzdCIgLHJ1c3QtdHlwc3QtMC4xMSkKICAgICAgICAgICAgICAg ICAgICAgICAoInJ1c3QtdHlwc3QtYXNzZXRzIiAscnVzdC10eXBzdC1hc3NldHMtMC4xMSkK ICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtdHlwc3QtbWFjcm9zIiAscnVzdC10eXBz dC1tYWNyb3MtMC4xMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtdHlwc3QtcGRm IiAscnVzdC10eXBzdC1wZGYtMC4xMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qt dHlwc3QtcmVuZGVyIiAscnVzdC10eXBzdC1yZW5kZXItMC4xMSkKICAgICAgICAgICAgICAg ICAgICAgICAoInJ1c3QtdHlwc3Qtc3ZnIiAscnVzdC10eXBzdC1zdmctMC4xMSkKICAgICAg ICAgICAgICAgICAgICAgICAoInJ1c3QtdHlwc3QtdGltaW5nIiAscnVzdC10eXBzdC10aW1p bmctMC4xMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtdXJlcSIgLHJ1c3QtdXJl cS0yKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC14ejIiICxydXN0LXh6Mi0wLjEp CiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXppcCIgLHJ1c3QtemlwLTAuNikpKSkK ICAgIChuYXRpdmUtaW5wdXRzCiAgICAgYCgoInBrZy1jb25maWciICxwa2ctY29uZmlnKQog ICAgICAgKCJvcGVuc3NsIiAsb3BlbnNzbCkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly90 eXBzdC5hcHAiKQogICAgKHN5bm9wc2lzICJUaGUgY29tbWFuZCBsaW5lIGludGVyZmFjZSBm b3IgVHlwc3QiKQogICAgKGRlc2NyaXB0aW9uICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgVGhl IGNvbW1hbmQgbGluZSBpbnRlcmZhY2UgZm9yIFR5cHN0LiIpCiAgICAobGljZW5zZSBsaWNl bnNlOmFzbDIuMCkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC10eXBzdC1tYWNyb3MtMC4xMQog IChwYWNrYWdlCiAgICAobmFtZSAicnVzdC10eXBzdC1tYWNyb3MiKQogICAgKHZlcnNpb24g IjAuMTEuMSIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwt ZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgInR5cHN0LW1hY3JvcyIgdmVyc2lvbikp CiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50 YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxejMzaGNpMzAwY3Zs bGc2aTJqOXFmNXB3d3djOGZ3ZmE1YTJpcTdocDRtbDh2eXp2ODc1IikpKSkKICAgIChidWls ZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpj YXJnby1pbnB1dHMgKCgicnVzdC1oZWNrIiAscnVzdC1oZWNrLTAuNCkKICAgICAgICAgICAg ICAgICAgICAgICAoInJ1c3QtcHJvYy1tYWNybzIiICxydXN0LXByb2MtbWFjcm8yLTEpCiAg ICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXF1b3RlIiAscnVzdC1xdW90ZS0xKQogICAg ICAgICAgICAgICAgICAgICAgICgicnVzdC1zeW4iICxydXN0LXN5bi0yKSkpKQogICAgKGhv bWUtcGFnZSAiaHR0cHM6Ly90eXBzdC5hcHAiKQogICAgKHN5bm9wc2lzICJQcm9jLW1hY3Jv cyBmb3IgVHlwc3QiKQogICAgKGRlc2NyaXB0aW9uICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMg UHJvYy1tYWNyb3MgZm9yIFR5cHN0LiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmFzbDIuMCkp KQoKKGRlZmluZS1wdWJsaWMgcnVzdC10eXBzdC1wZGYtMC4xMQogIChwYWNrYWdlCiAgICAo bmFtZSAicnVzdC10eXBzdC1wZGYiKQogICAgKHZlcnNpb24gIjAuMTEuMSIpCiAgICAoc291 cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJp IChjcmF0ZS11cmkgInR5cHN0LXBkZiIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChz dHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEy NTYKICAgICAgICAoYmFzZTMyICIxbWcwbGhrazV6eWY2cnNrMGE1dm5penZzN3hmajFqNjQy MTEzZzlwZHI5aDhmdjQ3eHNsIikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQt c3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpjYXJnby1pbnB1dHMgKCgicnVzdC1i YXNlNjQiICxydXN0LWJhc2U2NC0wLjIyKQogICAgICAgICAgICAgICAgICAgICAgICgicnVz dC1ieXRlbXVjayIgLHJ1c3QtYnl0ZW11Y2stMSkKICAgICAgICAgICAgICAgICAgICAgICAo InJ1c3QtY29tZW1vIiAscnVzdC1jb21lbW8tMC40KQogICAgICAgICAgICAgICAgICAgICAg ICgicnVzdC1lY293IiAscnVzdC1lY293LTAuMikKICAgICAgICAgICAgICAgICAgICAgICAo InJ1c3QtaW1hZ2UiICxydXN0LWltYWdlLTAuMjQpCiAgICAgICAgICAgICAgICAgICAgICAg KCJydXN0LW1pbml6LW94aWRlIiAscnVzdC1taW5pei1veGlkZS0wLjcpCiAgICAgICAgICAg ICAgICAgICAgICAgKCJydXN0LW9uY2UtY2VsbCIgLHJ1c3Qtb25jZS1jZWxsLTEpCiAgICAg ICAgICAgICAgICAgICAgICAgKCJydXN0LXBkZi13cml0ZXIiICxydXN0LXBkZi13cml0ZXIt MC45KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zdWJzZXR0ZXIiICxydXN0LXN1 YnNldHRlci0wLjEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXN2ZzJwZGYiICxy dXN0LXN2ZzJwZGYtMC4xMCkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtdHRmLXBh cnNlciIgLHJ1c3QtdHRmLXBhcnNlci0wLjIwKQogICAgICAgICAgICAgICAgICAgICAgICgi cnVzdC10eXBzdCIgLHJ1c3QtdHlwc3QtMC4xMSkKICAgICAgICAgICAgICAgICAgICAgICAo InJ1c3QtdHlwc3QtYXNzZXRzIiAscnVzdC10eXBzdC1hc3NldHMtMC4xMSkKICAgICAgICAg ICAgICAgICAgICAgICAoInJ1c3QtdHlwc3QtbWFjcm9zIiAscnVzdC10eXBzdC1tYWNyb3Mt MC4xMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtdHlwc3QtdGltaW5nIiAscnVz dC10eXBzdC10aW1pbmctMC4xMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtdW5p Y29kZS1wcm9wZXJ0aWVzIiAscnVzdC11bmljb2RlLXByb3BlcnRpZXMtMC4xKQogICAgICAg ICAgICAgICAgICAgICAgICgicnVzdC11bnNjYW5ueSIgLHJ1c3QtdW5zY2FubnktMC4xKQog ICAgICAgICAgICAgICAgICAgICAgICgicnVzdC14bXAtd3JpdGVyIiAscnVzdC14bXAtd3Jp dGVyLTAuMikpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vdHlwc3QuYXBwIikKICAgIChz eW5vcHNpcyAiUERGIGV4cG9ydGVyIGZvciBUeXBzdCIpCiAgICAoZGVzY3JpcHRpb24gIlRo aXMgcGFja2FnZSBwcm92aWRlcyBQREYgZXhwb3J0ZXIgZm9yIFR5cHN0LiIpCiAgICAobGlj ZW5zZSBsaWNlbnNlOmFzbDIuMCkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC10eXBzdC1yZW5k ZXItMC4xMQogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC10eXBzdC1yZW5kZXIiKQogICAg KHZlcnNpb24gIjAuMTEuMSIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1l dGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgInR5cHN0LXJlbmRlciIg dmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZl cnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIwem1k bnN2NW5kM3F3OXptN2FudjQ5NGF2OWYxcHA3bHdpNWN3cHlxNm1wNnpubGp5NGtnIikpKSkK ICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwog ICAgIGAoIzpjYXJnby1pbnB1dHMgKCgicnVzdC1ieXRlbXVjayIgLHJ1c3QtYnl0ZW11Y2st MSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtY29tZW1vIiAscnVzdC1jb21lbW8t MC40KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1mbGF0ZTIiICxydXN0LWZsYXRl Mi0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1pbWFnZSIgLHJ1c3QtaW1hZ2Ut MC4yNCkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcGl4Z2x5cGgiICxydXN0LXBp eGdseXBoLTAuMykKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcmVzdmciICxydXN0 LXJlc3ZnLTAuMzgpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXJveG1sdHJlZSIg LHJ1c3Qtcm94bWx0cmVlLTAuMTkpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXRp bnktc2tpYSIgLHJ1c3QtdGlueS1za2lhLTAuMTEpCiAgICAgICAgICAgICAgICAgICAgICAg KCJydXN0LXR0Zi1wYXJzZXIiICxydXN0LXR0Zi1wYXJzZXItMC4yMCkKICAgICAgICAgICAg ICAgICAgICAgICAoInJ1c3QtdHlwc3QiICxydXN0LXR5cHN0LTAuMTEpCiAgICAgICAgICAg ICAgICAgICAgICAgKCJydXN0LXR5cHN0LW1hY3JvcyIgLHJ1c3QtdHlwc3QtbWFjcm9zLTAu MTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXR5cHN0LXRpbWluZyIgLHJ1c3Qt dHlwc3QtdGltaW5nLTAuMTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXVzdmci ICxydXN0LXVzdmctMC4zOCkpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vdHlwc3QuYXBw IikKICAgIChzeW5vcHNpcyAiUmFzdGVyIGltYWdlIGV4cG9ydGVyIGZvciBUeXBzdCIpCiAg ICAoZGVzY3JpcHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRlcyBSYXN0ZXIgaW1hZ2UgZXhw b3J0ZXIgZm9yIFR5cHN0LiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmFzbDIuMCkpKQoKKGRl ZmluZS1wdWJsaWMgcnVzdC10eXBzdC1zdmctMC4xMQogIChwYWNrYWdlCiAgICAobmFtZSAi cnVzdC10eXBzdC1zdmciKQogICAgKHZlcnNpb24gIjAuMTEuMSIpCiAgICAoc291cmNlCiAg ICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0 ZS11cmkgInR5cHN0LXN2ZyIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmct YXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAg ICAgICAoYmFzZTMyICIwZnoybWF3czQ5OHgxOWFpN2g0MjFzNGphYjJiNnpsYXpxMDl6Z20x cmozOTA5amY3eDZmIikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVt KQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpjYXJnby1pbnB1dHMgKCgicnVzdC1iYXNlNjQi ICxydXN0LWJhc2U2NC0wLjIyKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1jb21l bW8iICxydXN0LWNvbWVtby0wLjQpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWVj b3ciICxydXN0LWVjb3ctMC4yKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1mbGF0 ZTIiICxydXN0LWZsYXRlMi0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC10dGYt cGFyc2VyIiAscnVzdC10dGYtcGFyc2VyLTAuMjApCiAgICAgICAgICAgICAgICAgICAgICAg KCJydXN0LXR5cHN0IiAscnVzdC10eXBzdC0wLjExKQogICAgICAgICAgICAgICAgICAgICAg ICgicnVzdC10eXBzdC1tYWNyb3MiICxydXN0LXR5cHN0LW1hY3Jvcy0wLjExKQogICAgICAg ICAgICAgICAgICAgICAgICgicnVzdC10eXBzdC10aW1pbmciICxydXN0LXR5cHN0LXRpbWlu Zy0wLjExKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC14bWxwYXJzZXIiICxydXN0 LXhtbHBhcnNlci0wLjEzKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC14bWx3cml0 ZXIiICxydXN0LXhtbHdyaXRlci0wLjEpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL3R5 cHN0LmFwcCIpCiAgICAoc3lub3BzaXMgIlNWRyBleHBvcnRlciBmb3IgVHlwc3QiKQogICAg KGRlc2NyaXB0aW9uICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgU1ZHIGV4cG9ydGVyIGZvciBU eXBzdC4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTphc2wyLjApKSkKCihkZWZpbmUtcHVibGlj IHJ1c3QtdHlwc3Qtc3ludGF4LTAuMTEKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3QtdHlw c3Qtc3ludGF4IikKICAgICh2ZXJzaW9uICIwLjExLjEiKQogICAgKHNvdXJjZQogICAgIChv cmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJp ICJ0eXBzdC1zeW50YXgiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFw cGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAg ICAgKGJhc2UzMiAiMWkyMHZmbWR4a2sweW0zNnJxd3kxNXppNjk2NWdweWw5djZ2ZHZ6djI0 cW55a3I2a256MyIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkK ICAgIChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28taW5wdXRzICgoInJ1c3QtY29tZW1vIiAs cnVzdC1jb21lbW8tMC40KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1lY293IiAs cnVzdC1lY293LTAuMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtb25jZS1jZWxs IiAscnVzdC1vbmNlLWNlbGwtMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc2Vy ZGUiICxydXN0LXNlcmRlLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXVuaWNv ZGUtaWRlbnQiICxydXN0LXVuaWNvZGUtaWRlbnQtMSkKICAgICAgICAgICAgICAgICAgICAg ICAoInJ1c3QtdW5pY29kZS1tYXRoLWNsYXNzIiAscnVzdC11bmljb2RlLW1hdGgtY2xhc3Mt MC4xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC11bmljb2RlLXNjcmlwdCIgLHJ1 c3QtdW5pY29kZS1zY3JpcHQtMC41KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC11 bmljb2RlLXNlZ21lbnRhdGlvbiIgLHJ1c3QtdW5pY29kZS1zZWdtZW50YXRpb24tMSkKICAg ICAgICAgICAgICAgICAgICAgICAoInJ1c3QtdW5zY2FubnkiICxydXN0LXVuc2Nhbm55LTAu MSkpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vdHlwc3QuYXBwIikKICAgIChzeW5vcHNp cyAiUGFyc2VyIGFuZCBzeW50YXggdHJlZSBmb3IgVHlwc3QiKQogICAgKGRlc2NyaXB0aW9u ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgUGFyc2VyIGFuZCBzeW50YXggdHJlZSBmb3IgVHlw c3QuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6YXNsMi4wKSkpCgooZGVmaW5lLXB1YmxpYyBy dXN0LXR5cHN0LXRpbWluZy0wLjExCiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LXR5cHN0 LXRpbWluZyIpCiAgICAodmVyc2lvbiAiMC4xMS4xIikKICAgIChzb3VyY2UKICAgICAob3Jp Z2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAi dHlwc3QtdGltaW5nIiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBl bmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAg IChiYXNlMzIgIjByemZteHprYW4wc2Eybjg5cXd3ampyMGl3M2hydnBkN3JtY2thaXY1YjV3 ajlxeTJuMnYiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAg ICAoYXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWlucHV0cyAoKCJydXN0LXBhcmtpbmctbG90 IiAscnVzdC1wYXJraW5nLWxvdC0wLjEyKQogICAgICAgICAgICAgICAgICAgICAgICgicnVz dC1zZXJkZSIgLHJ1c3Qtc2VyZGUtMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qt c2VyZGUtanNvbiIgLHJ1c3Qtc2VyZGUtanNvbi0xKQogICAgICAgICAgICAgICAgICAgICAg ICgicnVzdC10eXBzdC1zeW50YXgiICxydXN0LXR5cHN0LXN5bnRheC0wLjExKSkpKQogICAg KGhvbWUtcGFnZSAiaHR0cHM6Ly90eXBzdC5hcHAiKQogICAgKHN5bm9wc2lzICJQZXJmb3Jt YW5jZSB0aW1pbmcgZm9yIFR5cHN0IikKICAgIChkZXNjcmlwdGlvbiAiVGhpcyBwYWNrYWdl IHByb3ZpZGVzIFBlcmZvcm1hbmNlIHRpbWluZyBmb3IgVHlwc3QuIikKICAgIChsaWNlbnNl IGxpY2Vuc2U6YXNsMi4wKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LXVuaWMtbGFuZ2lkLTAu OQogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC11bmljLWxhbmdpZCIpCiAgICAodmVyc2lv biAiMC45LjUiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJs LWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJ1bmljLWxhbmdpZCIgdmVyc2lvbikp CiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50 YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIwaTJzMDI0ZnJtcGZh Njhsenk4eTh2bmIxcnozbTl2MGdhMTNmN2gyYWZ4N2Y4Zzl2cDkzIikpKSkKICAgIChidWls ZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpj YXJnby1pbnB1dHMgKCgicnVzdC11bmljLWxhbmdpZC1pbXBsIiAscnVzdC11bmljLWxhbmdp ZC1pbXBsLTAuOSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtdW5pYy1sYW5naWQt bWFjcm9zIiAscnVzdC11bmljLWxhbmdpZC1tYWNyb3MtMC45KSkKICAgICAgICM6Y2FyZ28t ZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1c3QtdW5pYy1sYW5naWQtbWFjcm9zIiAscnVzdC11 bmljLWxhbmdpZC1tYWNyb3MtMC45KSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRo dWIuY29tL3picmFuaWVja2kvdW5pYy1sb2NhbGUiKQogICAgKHN5bm9wc2lzICJBUEkgZm9y IG1hbmFnaW5nIFVuaWNvZGUgTGFuZ3VhZ2UgSWRlbnRpZmllcnMiKQogICAgKGRlc2NyaXB0 aW9uCiAgICAgIlRoaXMgcGFja2FnZSBwcm92aWRlcyBBUEkgZm9yIG1hbmFnaW5nIFVuaWNv ZGUgTGFuZ3VhZ2UgSWRlbnRpZmllcnMuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6 ZXhwYXQgbGljZW5zZTphc2wyLjApKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LXVuaWMtbGFu Z2lkLWltcGwtMC45CiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LXVuaWMtbGFuZ2lkLWlt cGwiKQogICAgKHZlcnNpb24gIjAuOS41IikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAg ICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAidW5pYy1s YW5naWQtaW1wbCIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5k IG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAo YmFzZTMyICIxcmNreW41d3FkNWg4anhoYnpsYmJhZ3I0NTl6a3pnODIycjRrNW4zMGphcnl2 MGo0bTBhIikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAg KGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0cz8gI2YKICAgICAgICM6Y2FyZ28taW5wdXRzICgo InJ1c3Qtc2VyZGUiICxydXN0LXNlcmRlLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJy dXN0LXNlcmRlLWpzb24iICxydXN0LXNlcmRlLWpzb24tMSkKICAgICAgICAgICAgICAgICAg ICAgICAoInJ1c3QtdGlueXN0ciIgLHJ1c3QtdGlueXN0ci0wLjcpKQogICAgICAgIzpjYXJn by1kZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1jcml0ZXJpb24iICxydXN0LWNyaXRlcmlv bi0wLjMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRl IiAscnVzdC1zZXJkZS0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgi cnVzdC1zZXJkZS1qc29uIiAscnVzdC1zZXJkZS1qc29uLTEpKSkpCiAgICAoaG9tZS1wYWdl ICJodHRwczovL2dpdGh1Yi5jb20vemJyYW5pZWNraS91bmljLWxvY2FsZSIpCiAgICAoc3lu b3BzaXMgIkFQSSBmb3IgbWFuYWdpbmcgVW5pY29kZSBMYW5ndWFnZSBJZGVudGlmaWVycyIp CiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIEFQSSBmb3Ig bWFuYWdpbmcgVW5pY29kZSBMYW5ndWFnZSBJZGVudGlmaWVycy4iKQogICAgKGxpY2Vuc2Ug KGxpc3QgbGljZW5zZTpleHBhdCBsaWNlbnNlOmFzbDIuMCkpKSkKCihkZWZpbmUtcHVibGlj IHJ1c3QtdW5pYy1sYW5naWQtbWFjcm9zLTAuOQogIChwYWNrYWdlCiAgICAobmFtZSAicnVz dC11bmljLWxhbmdpZC1tYWNyb3MiKQogICAgKHZlcnNpb24gIjAuOS41IikKICAgIChzb3Vy Y2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkg KGNyYXRlLXVyaSAidW5pYy1sYW5naWQtbWFjcm9zIiB2ZXJzaW9uKSkKICAgICAgIChmaWxl LW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAg ICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjBwaTcxcjU0NzRuN3NkbXlreTdxcG5pYTly cnI0MnEwZDIwMGw1bHBhZzFkMGhuY3Y4OGQiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJn by1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWlucHV0cyAo KCJydXN0LXByb2MtbWFjcm8taGFjayIgLHJ1c3QtcHJvYy1tYWNyby1oYWNrLTAuNSkKICAg ICAgICAgICAgICAgICAgICAgICAoInJ1c3QtdGlueXN0ciIgLHJ1c3QtdGlueXN0ci0wLjcp CiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXVuaWMtbGFuZ2lkLWltcGwiICxydXN0 LXVuaWMtbGFuZ2lkLWltcGwtMC45KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC11 bmljLWxhbmdpZC1tYWNyb3MtaW1wbCIgLHJ1c3QtdW5pYy1sYW5naWQtbWFjcm9zLWltcGwt MC45KSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3picmFuaWVja2kv dW5pYy1sb2NhbGUiKQogICAgKHN5bm9wc2lzICJBUEkgZm9yIG1hbmFnaW5nIFVuaWNvZGUg TGFuZ3VhZ2UgSWRlbnRpZmllcnMiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFj a2FnZSBwcm92aWRlcyBBUEkgZm9yIG1hbmFnaW5nIFVuaWNvZGUgTGFuZ3VhZ2UgSWRlbnRp ZmllcnMuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6ZXhwYXQgbGljZW5zZTphc2wy LjApKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LXVuaWMtbGFuZ2lkLW1hY3Jvcy1pbXBsLTAu OQogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC11bmljLWxhbmdpZC1tYWNyb3MtaW1wbCIp CiAgICAodmVyc2lvbiAiMC45LjUiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAg IChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJ1bmljLWxhbmdp ZC1tYWNyb3MtaW1wbCIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBw ZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAg ICAoYmFzZTMyICIwbnNtMGhreTJzYXdna3d6NTExYnIwNm1rbTNiYTcwcmZjMDVqbTBsNTR4 M2djaXo5bXF5IikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQog ICAgKGFyZ3VtZW50cwogICAgIGAoIzpjYXJnby1pbnB1dHMgKCgicnVzdC1wcm9jLW1hY3Jv LWhhY2siICxydXN0LXByb2MtbWFjcm8taGFjay0wLjUpCiAgICAgICAgICAgICAgICAgICAg ICAgKCJydXN0LXF1b3RlIiAscnVzdC1xdW90ZS0xKQogICAgICAgICAgICAgICAgICAgICAg ICgicnVzdC1zeW4iICxydXN0LXN5bi0yKQogICAgICAgICAgICAgICAgICAgICAgICgicnVz dC11bmljLWxhbmdpZC1pbXBsIiAscnVzdC11bmljLWxhbmdpZC1pbXBsLTAuOSkpKSkKICAg IChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS96YnJhbmllY2tpL3VuaWMtbG9jYWxl IikKICAgIChzeW5vcHNpcyAiQVBJIGZvciBtYW5hZ2luZyBVbmljb2RlIExhbmd1YWdlIElk ZW50aWZpZXJzIikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlk ZXMgQVBJIGZvciBtYW5hZ2luZyBVbmljb2RlIExhbmd1YWdlIElkZW50aWZpZXJzLiIpCiAg ICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNsMi4wKSkpKQoKKGRl ZmluZS1wdWJsaWMgcnVzdC11bmljb2RlLWJpZGktbWlycm9yaW5nLTAuMQogIChwYWNrYWdl CiAgICAobmFtZSAicnVzdC11bmljb2RlLWJpZGktbWlycm9yaW5nIikKICAgICh2ZXJzaW9u ICIwLjEuMCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwt ZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgInVuaWNvZGUtYmlkaS1taXJyb3Jpbmci IHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2 ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMTUw bmF2bjJuNmJhcmt6Y2h2OTZuODc3aTE3bTE3NTRuem15MTI4MnptY2p6ZGgyNWxhbiIpKSkp CiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChob21lLXBhZ2Ug Imh0dHBzOi8vZ2l0aHViLmNvbS9SYXpyRmFsY29uL3VuaWNvZGUtYmlkaS1taXJyb3Jpbmci KQogICAgKHN5bm9wc2lzICJVbmljb2RlIEJpZGkgTWlycm9yaW5nIHByb3BlcnR5IGRldGVj dGlvbiIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIFVu aWNvZGUgQmlkaSBNaXJyb3JpbmcgcHJvcGVydHkgZGV0ZWN0aW9uLiIpCiAgICAobGljZW5z ZSAobGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNsMi4wKSkpKQoKKGRlZmluZS1wdWJs aWMgcnVzdC11bmljb2RlLWNjYy0wLjEKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3QtdW5p Y29kZS1jY2MiKQogICAgKHZlcnNpb24gIjAuMS4yIikKICAgIChzb3VyY2UKICAgICAob3Jp Z2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAi dW5pY29kZS1jY2MiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVu ZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAg KGJhc2UzMiAiMXdid255OTJ3em1jazJjaXg1aDNyOTdoOXo1N3g5ODMxa2FkcnM2amR5MjRs dnBqMDlmYyIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAg IChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9SYXpyRmFsY29uL3VuaWNvZGUtY2Nj IikKICAgIChzeW5vcHNpcyAiVW5pY29kZSBDYW5vbmljYWwgQ29tYmluaW5nIENsYXNzIGRl dGVjdGlvbiIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVz IFVuaWNvZGUgQ2Fub25pY2FsIENvbWJpbmluZyBDbGFzcyBkZXRlY3Rpb24uIikKICAgIChs aWNlbnNlIChsaXN0IGxpY2Vuc2U6ZXhwYXQgbGljZW5zZTphc2wyLjApKSkpCgooZGVmaW5l LXB1YmxpYyBydXN0LXVuaWNvZGUtbWF0aC1jbGFzcy0wLjEKICAocGFja2FnZQogICAgKG5h bWUgInJ1c3QtdW5pY29kZS1tYXRoLWNsYXNzIikKICAgICh2ZXJzaW9uICIwLjEuMCIpCiAg ICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAg ICAodXJpIChjcmF0ZS11cmkgInVuaWNvZGUtbWF0aC1jbGFzcyIgdmVyc2lvbikpCiAgICAg ICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oi KSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIwcmJ4Y2ppcmxkcGRycHh2MWw3 cWlhZGJpYjhybmw3YjQxM2ZzcDRmN3lubWs3c25xOTN4IikpKSkKICAgIChidWlsZC1zeXN0 ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIu Y29tL3R5cHN0L3VuaWNvZGUtbWF0aC1jbGFzcyIpCiAgICAoc3lub3BzaXMgIkRldGVybWlu ZSB0aGUgVW5pY29kZSBjbGFzcyBvZiBhIG1hdGhlbWF0aWNhbCBjaGFyYWN0ZXIiKQogICAg KGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBwcm92aWRlcyBEZXRlcm1pbmUgdGhl IFVuaWNvZGUgY2xhc3Mgb2YgYSBtYXRoZW1hdGljYWwgY2hhcmFjdGVyLiIpCiAgICAobGlj ZW5zZSAobGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNsMi4wKSkpKQoKKGRlZmluZS1w dWJsaWMgcnVzdC11bmljb2RlLXByb3BlcnRpZXMtMC4xCiAgKHBhY2thZ2UKICAgIChuYW1l ICJydXN0LXVuaWNvZGUtcHJvcGVydGllcyIpCiAgICAodmVyc2lvbiAiMC4xLjEiKQogICAg KHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAg KHVyaSAoY3JhdGUtdXJpICJ1bmljb2RlLXByb3BlcnRpZXMiIHZlcnNpb24pKQogICAgICAg KGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6Iikp CiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMTRjamJtZnM2NHF3MW00cXpwZmE2 NzNhOHJweWhwNWg5ZjQxMm1rZzFuOTU4amZyczlnNCIpKSkpCiAgICAoYnVpbGQtc3lzdGVt IGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNv bS91bmljb2RlLXJzL3VuaWNvZGUtcHJvcGVydGllcyIpCiAgICAoc3lub3BzaXMgIlF1ZXJ5 IGNoYXJhY3RlciBVbmljb2RlIHByb3BlcnRpZXMgYWNjb3JkaW5nIHRvClVBWCAjNDQgYW5k IFVUUiAjNTEuIikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlk ZXMgUXVlcnkgY2hhcmFjdGVyIFVuaWNvZGUgcHJvcGVydGllcyBhY2NvcmRpbmcgdG8gVUFY ICM0NCBhbmQgVVRSICM1MS4iKQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpleHBhdCBs aWNlbnNlOmFzbDIuMCkpKSkKCihkZWZpbmUtcHVibGljIHJ1c3QtdW5pY29kZS1zY3JpcHQt MC41CiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LXVuaWNvZGUtc2NyaXB0IikKICAgICh2 ZXJzaW9uICIwLjUuNiIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhv ZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgInVuaWNvZGUtc2NyaXB0IiB2 ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVy c2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjFrZjl2 MXlmeGF6eGp4MDdnOWc5bnFnNGt3Mmt6cG55aTdzeWpkZDJocHZmZmJzcDMzZGQiKSkpKQog ICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAg ICAgYCgjOmNhcmdvLWlucHV0cyAoKCJydXN0LWNvbXBpbGVyLWJ1aWx0aW5zIiAscnVzdC1j b21waWxlci1idWlsdGlucy0wLjEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXJ1 c3RjLXN0ZC13b3Jrc3BhY2UtY29yZSIgLHJ1c3QtcnVzdGMtc3RkLXdvcmtzcGFjZS1jb3Jl LTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXJ1c3RjLXN0ZC13b3Jrc3BhY2Ut c3RkIiAscnVzdC1ydXN0Yy1zdGQtd29ya3NwYWNlLXN0ZC0xKSkpKQogICAgKGhvbWUtcGFn ZSAiaHR0cHM6Ly9naXRodWIuY29tL3VuaWNvZGUtcnMvdW5pY29kZS1zY3JpcHQiKQogICAg KHN5bm9wc2lzCiAgICAgIlRoaXMgY3JhdGUgZXhwb3NlcyB0aGUgVW5pY29kZSBgU2NyaXB0 YCBhbmQgYFNjcmlwdF9FeHRlbnNpb25gIHByb3BlcnRpZXMgZnJvbSBbVUFYICMyNF0oaHR0 cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMjQvKSIpCiAgICAoZGVzY3JpcHRpb24K ICAgICAiVGhpcyBjcmF0ZSBleHBvc2VzIHRoZSBVbmljb2RlIGBTY3JpcHRgIGFuZCBgU2Ny aXB0X0V4dGVuc2lvbmAgcHJvcGVydGllcyBmcm9tCltVQVggIzI0XShodHRwOi8vd3d3LnVu aWNvZGUub3JnL3JlcG9ydHMvdHIyNC8pLiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNl OmV4cGF0IGxpY2Vuc2U6YXNsMi4wKSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC11bmljb2Rl LXZvLTAuMQogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC11bmljb2RlLXZvIikKICAgICh2 ZXJzaW9uICIwLjEuMCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhv ZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgInVuaWNvZGUtdm8iIHZlcnNp b24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9u ICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMTUxc2hhMDg4 djlqeWZ2Ymc1MTY0eGg0ZGs3Mmc1M2I4MnhtNHp6YmY1ZGxhZ3pxZGx4aSIpKSkpCiAgICAo YnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChob21lLXBhZ2UgImh0dHBz Oi8vZ2l0aHViLmNvbS9SYXpyRmFsY29uL3VuaWNvZGUtdm8iKQogICAgKHN5bm9wc2lzICJV bmljb2RlIHZlcnRpY2FsIG9yaWVudGF0aW9uIGRldGVjdGlvbiIpCiAgICAoZGVzY3JpcHRp b24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIFVuaWNvZGUgdmVydGljYWwgb3JpZW50 YXRpb24gZGV0ZWN0aW9uLiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmV4cGF0IGxp Y2Vuc2U6YXNsMi4wKSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC11bnNjYW5ueS0wLjEKICAo cGFja2FnZQogICAgKG5hbWUgInJ1c3QtdW5zY2FubnkiKQogICAgKHZlcnNpb24gIjAuMS4w IikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkK ICAgICAgICh1cmkgKGNyYXRlLXVyaSAidW5zY2FubnkiIHZlcnNpb24pKQogICAgICAgKGZp bGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAg ICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMGl2YmlwYzFybnExNWZoemduYTQxcDFo MDFuY3E0c2h5Y2lpNzJmM3g1ZDdjenEybXB6OSIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNh cmdvLWJ1aWxkLXN5c3RlbSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS90 eXBzdC91bnNjYW5ueSIpCiAgICAoc3lub3BzaXMgIlBhaW5sZXNzIHN0cmluZyBzY2Fubmlu ZyIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRlcyBQYWlubGVzcyBz dHJpbmcgc2Nhbm5pbmcuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6ZXhwYXQgbGlj ZW5zZTphc2wyLjApKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LXVzdmctMC4zOAogIChwYWNr YWdlCiAgICAobmFtZSAicnVzdC11c3ZnIikKICAgICh2ZXJzaW9uICIwLjM4LjAiKQogICAg KHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAg KHVyaSAoY3JhdGUtdXJpICJ1c3ZnIiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0 cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1 NgogICAgICAgIChiYXNlMzIgIjA5OG4xbDk4MGR6NThmY3JseHJzeTdrNTg0ZGMzbm1xMWFu MWFqM2R3d3kxbGZzNjR6cnAiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1z eXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWlucHV0cyAoKCJydXN0LWJh c2U2NCIgLHJ1c3QtYmFzZTY0LTAuMjEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0 LWxvZyIgLHJ1c3QtbG9nLTAuNCkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcGlj by1hcmdzIiAscnVzdC1waWNvLWFyZ3MtMC41KQogICAgICAgICAgICAgICAgICAgICAgICgi cnVzdC11c3ZnLXBhcnNlciIgLHJ1c3QtdXN2Zy1wYXJzZXItMC4zOCkKICAgICAgICAgICAg ICAgICAgICAgICAoInJ1c3QtdXN2Zy10ZXh0LWxheW91dCIgLHJ1c3QtdXN2Zy10ZXh0LWxh eW91dC0wLjM4KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC11c3ZnLXRyZWUiICxy dXN0LXVzdmctdHJlZS0wLjM4KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC14bWx3 cml0ZXIiICxydXN0LXhtbHdyaXRlci0wLjEpKQogICAgICAgIzpjYXJnby1kZXZlbG9wbWVu dC1pbnB1dHMgKCgicnVzdC1vbmNlLWNlbGwiICxydXN0LW9uY2UtY2VsbC0xKSkpKQogICAg KGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL1JhenJGYWxjb24vcmVzdmciKQogICAg KHN5bm9wc2lzICJBbiBTVkcgc2ltcGxpZmljYXRpb24gbGlicmFyeSIpCiAgICAoZGVzY3Jp cHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRlcyBBbiBTVkcgc2ltcGxpZmljYXRpb24gbGli cmFyeS4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTptcGwyLjApKSkKCihkZWZpbmUtcHVibGlj IHJ1c3QtdXN2Zy1wYXJzZXItMC4zOAogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC11c3Zn LXBhcnNlciIpCiAgICAodmVyc2lvbiAiMC4zOC4wIikKICAgIChzb3VyY2UKICAgICAob3Jp Z2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAi dXN2Zy1wYXJzZXIiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVu ZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAg KGJhc2UzMiAiMWMwbGsyM2FpajUyaHdqeDltcmh6N2ZmeXlsamxkMDQ0d3Znamk3Nm5nODJ5 YmswYTZpbSIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAg IChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28taW5wdXRzICgoInJ1c3QtZGF0YS11cmwiICxy dXN0LWRhdGEtdXJsLTAuMykKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtZmxhdGUy IiAscnVzdC1mbGF0ZTItMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtaW1hZ2Vz aXplIiAscnVzdC1pbWFnZXNpemUtMC4xMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1 c3Qta3VyYm8iICxydXN0LWt1cmJvLTAuOSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1 c3QtbG9nIiAscnVzdC1sb2ctMC40KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1y b3htbHRyZWUiICxydXN0LXJveG1sdHJlZS0wLjE5KQogICAgICAgICAgICAgICAgICAgICAg ICgicnVzdC1zaW1wbGVjc3MiICxydXN0LXNpbXBsZWNzcy0wLjIpCiAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LXNpcGhhc2hlciIgLHJ1c3Qtc2lwaGFzaGVyLTAuMykKICAgICAg ICAgICAgICAgICAgICAgICAoInJ1c3Qtc3ZndHlwZXMiICxydXN0LXN2Z3R5cGVzLTAuMTMp CiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXVzdmctdHJlZSIgLHJ1c3QtdXN2Zy10 cmVlLTAuMzgpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vUmF6ckZh bGNvbi9yZXN2ZyIpCiAgICAoc3lub3BzaXMgIkFuIFNWRyBwYXJzZXIgdXNlZCBieSB1c3Zn IikKICAgIChkZXNjcmlwdGlvbiAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIEFuIFNWRyBwYXJz ZXIgdXNlZCBieSB1c3ZnLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOm1wbDIuMCkpKQoKKGRl ZmluZS1wdWJsaWMgcnVzdC11c3ZnLXRleHQtbGF5b3V0LTAuMzgKICAocGFja2FnZQogICAg KG5hbWUgInJ1c3QtdXN2Zy10ZXh0LWxheW91dCIpCiAgICAodmVyc2lvbiAiMC4zOC4wIikK ICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAg ICAgICh1cmkgKGNyYXRlLXVyaSAidXN2Zy10ZXh0LWxheW91dCIgdmVyc2lvbikpCiAgICAg ICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oi KSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxcWo2dmdrNzI0NGJ5MzE0ajV3 Z3A1OGs1czV4Z2MyOXZicmZocHozM3gyd2tuNXFoaGNjIikpKSkKICAgIChidWlsZC1zeXN0 ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpjYXJnby1p bnB1dHMgKCgicnVzdC1mb250ZGIiICxydXN0LWZvbnRkYi0wLjE2KQogICAgICAgICAgICAg ICAgICAgICAgICgicnVzdC1rdXJibyIgLHJ1c3Qta3VyYm8tMC45KQogICAgICAgICAgICAg ICAgICAgICAgICgicnVzdC1sb2ciICxydXN0LWxvZy0wLjQpCiAgICAgICAgICAgICAgICAg ICAgICAgKCJydXN0LXJ1c3R5YnV6eiIgLHJ1c3QtcnVzdHlidXp6LTAuMTIpCiAgICAgICAg ICAgICAgICAgICAgICAgKCJydXN0LXVuaWNvZGUtYmlkaSIgLHJ1c3QtdW5pY29kZS1iaWRp LTAuMykKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtdW5pY29kZS1zY3JpcHQiICxy dXN0LXVuaWNvZGUtc2NyaXB0LTAuNSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qt dW5pY29kZS12byIgLHJ1c3QtdW5pY29kZS12by0wLjEpCiAgICAgICAgICAgICAgICAgICAg ICAgKCJydXN0LXVzdmctdHJlZSIgLHJ1c3QtdXN2Zy10cmVlLTAuMzgpKSkpCiAgICAoaG9t ZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vUmF6ckZhbGNvbi9yZXN2ZyIpCiAgICAoc3lu b3BzaXMgIkFuIFNWRyB0ZXh0IGxheW91dCBpbXBsZW1lbnRhdGlvbiIpCiAgICAoZGVzY3Jp cHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRlcyBBbiBTVkcgdGV4dCBsYXlvdXQgaW1wbGVt ZW50YXRpb24uIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6bXBsMi4wKSkpCgooZGVmaW5lLXB1 YmxpYyBydXN0LXVzdmctdHJlZS0wLjM4CiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LXVz dmctdHJlZSIpCiAgICAodmVyc2lvbiAiMC4zOC4wIikKICAgIChzb3VyY2UKICAgICAob3Jp Z2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAi dXN2Zy10cmVlIiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQg bmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChi YXNlMzIgIjAxY3pqMjJxbHpkeTVwN3k2aTFqNThrNHo3eXY4cThtbmIxbmFycDNzNWdkMGgy M3gxaHEiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAo YXJndW1lbnRzCiAgICAgYCgjOmNhcmdvLWlucHV0cyAoKCJydXN0LXN0cmljdC1udW0iICxy dXN0LXN0cmljdC1udW0tMC4xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zdmd0 eXBlcyIgLHJ1c3Qtc3ZndHlwZXMtMC4xMykKICAgICAgICAgICAgICAgICAgICAgICAoInJ1 c3QtdGlueS1za2lhLXBhdGgiICxydXN0LXRpbnktc2tpYS1wYXRoLTAuMTEpKSkpCiAgICAo aG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vUmF6ckZhbGNvbi9yZXN2ZyIpCiAgICAo c3lub3BzaXMgIkFuIFNWRyB0cmVlIHJlcHJlc2VudGF0aW9uIHVzZWQgYnkgdXN2ZyIpCiAg ICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIEFuIFNWRyB0cmVl IHJlcHJlc2VudGF0aW9uIHVzZWQgYnkgdXN2Zy4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpt cGwyLjApKSkKCihkZWZpbmUtcHVibGljIHJ1c3QtdXRmOC1pdGVyLTEKICAocGFja2FnZQog ICAgKG5hbWUgInJ1c3QtdXRmOC1pdGVyIikKICAgICh2ZXJzaW9uICIxLjAuNCIpCiAgICAo c291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAo dXJpIChjcmF0ZS11cmkgInV0ZjhfaXRlciIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1l IChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChz aGEyNTYKICAgICAgICAoYmFzZTMyICIxZ21uYTlmbG5qOGRieWQ4YmExN3ppZ3JwOWM0YzN6 Y2xuZ2Y1bG5iNXl2ejFyaTQxaGRuIikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVp bGQtc3lzdGVtKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9kb2NzLnJzL3V0ZjhfaXRlci8i KQogICAgKHN5bm9wc2lzICJJdGVyYXRvciBieSBjaGFyIG92ZXIgcG90ZW50aWFsbHktaW52 YWxpZCBVVEYtOCBpbiAmW3U4XSIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNr YWdlIHByb3ZpZGVzIEl0ZXJhdG9yIGJ5IGNoYXIgb3ZlciBwb3RlbnRpYWxseS1pbnZhbGlk IFVURi04IGluICZbdThdLiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmFzbDIuMCBs aWNlbnNlOmV4cGF0KSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC13YXNtLWVuY29kZXItMC4y MTIKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3Qtd2FzbS1lbmNvZGVyIikKICAgICh2ZXJz aW9uICIwLjIxMi4wIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9k IHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAid2FzbS1lbmNvZGVyIiB2ZXJz aW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lv biAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjBjendzZG1y MGczZmQ3NW02OTY5aHJkbW1sZ3h3Nm5pbGJ5bW5zZzk1ZjBxOGtnbDA2YWgiKSkpKQogICAg KGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAg YCgjOnJ1c3QgLHJ1c3QtMS43NgogICAgICAgIzp0ZXN0cz8gI2YKICAgICAgICM6Y2FyZ28t aW5wdXRzICgoInJ1c3QtbGViMTI4IiAscnVzdC1sZWIxMjgtMC4yKQogICAgICAgICAgICAg ICAgICAgICAgICgicnVzdC13YXNtcGFyc2VyIiAscnVzdC13YXNtcGFyc2VyLTAuMjEyKSkK ICAgICAgICM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1c3QtYW55aG93IiAscnVz dC1hbnlob3ctMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qt dGVtcGZpbGUiICxydXN0LXRlbXBmaWxlLTMpKSkpCiAgICAoaG9tZS1wYWdlCiAgICAgImh0 dHBzOi8vZ2l0aHViLmNvbS9ieXRlY29kZWFsbGlhbmNlL3dhc20tdG9vbHMvdHJlZS9tYWlu L2NyYXRlcy93YXNtLWVuY29kZXIiKQogICAgKHN5bm9wc2lzICJsb3ctbGV2ZWwgV2ViQXNz ZW1ibHkgZW5jb2Rlci4iKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBw cm92aWRlcyBhIGxvdy1sZXZlbCBAY29kZXtXZWJBc3NlbWJseX0gZW5jb2Rlci4iKQogICAg KGxpY2Vuc2UgKGxpc3QgbGljZW5zZTphc2wyLjApKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0 LXdhc20tZW5jb2Rlci0wLjMxCiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LXdhc20tZW5j b2RlciIpCiAgICAodmVyc2lvbiAiMC4zMS4xIikKICAgIChzb3VyY2UKICAgICAob3JpZ2lu CiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAid2Fz bS1lbmNvZGVyIiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQg bmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChi YXNlMzIgIjA1bnlhamxtcWd2eXE3eW5xaHMxaGJzbWthZmtqcmo0ZHlxc3p5Z2trbGd5eDho M3l4ajEiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAo YXJndW1lbnRzCiAgICAgYCgjOnRlc3RzPyAjZgogICAgICAgIzpjYXJnby1pbnB1dHMgKCgi cnVzdC1sZWIxMjgiICxydXN0LWxlYjEyOC0wLjIpKQogICAgICAgIzpjYXJnby1kZXZlbG9w bWVudC1pbnB1dHMgKCgicnVzdC1hbnlob3ciICxydXN0LWFueWhvdy0xKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC10ZW1wZmlsZSIgLHJ1c3QtdGVtcGZp bGUtMykpKSkKICAgIChob21lLXBhZ2UKICAgICAiaHR0cHM6Ly9naXRodWIuY29tL2J5dGVj b2RlYWxsaWFuY2Uvd2FzbS10b29scy90cmVlL21haW4vY3JhdGVzL3dhc20tZW5jb2RlciIp CiAgICAoc3lub3BzaXMgImxvdy1sZXZlbCBXZWJBc3NlbWJseSBlbmNvZGVyLiIpCiAgICAo ZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIGEgbG93LWxldmVsIEBj b2Rle1dlYkFzc2VtYmx5fSBlbmNvZGVyLiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNl OmFzbDIuMCkpKSkKCihkZWZpbmUtcHVibGljIHJ1c3Qtd2FzbWktMC4zMQogIChwYWNrYWdl CiAgICAobmFtZSAicnVzdC13YXNtaSIpCiAgICAodmVyc2lvbiAiMC4zMS4yIikKICAgIChz b3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1 cmkgKGNyYXRlLXVyaSAid2FzbWkiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3Ry aW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2 CiAgICAgICAgKGJhc2UzMiAiMWlzbmNoYjN2ZDZjbmRmcmpmaXFsNm5ocTlxY3ZuZnpsZ2th cXhhZHkzMzYzbGZqaWEzcCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5 c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNmCiAgICAgICAjOmNhcmdv LWlucHV0cyAoKCJydXN0LXNtYWxsdmVjIiAscnVzdC1zbWFsbHZlYy0xKQogICAgICAgICAg ICAgICAgICAgICAgICgicnVzdC1zcGluIiAscnVzdC1zcGluLTAuOSkKICAgICAgICAgICAg ICAgICAgICAgICAoInJ1c3Qtd2FzbWktYXJlbmEiICxydXN0LXdhc21pLWFyZW5hLTAuNCkK ICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtd2FzbWktY29yZSIgLHJ1c3Qtd2FzbWkt Y29yZS0wLjEzKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC13YXNtcGFyc2VyLW5v c3RkIiAscnVzdC13YXNtcGFyc2VyLW5vc3RkLTAuMTAwKSkKICAgICAgICM6Y2FyZ28tZGV2 ZWxvcG1lbnQtaW5wdXRzICgoInJ1c3QtYW55aG93IiAscnVzdC1hbnlob3ctMSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtYXNzZXJ0LW1hdGNoZXMiICxy dXN0LWFzc2VydC1tYXRjaGVzLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKCJydXN0LWNyaXRlcmlvbiIgLHJ1c3QtY3JpdGVyaW9uLTAuNSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtd2FzdCIgLHJ1c3Qtd2FzdC02MikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtd2F0IiAscnVzdC13YXQt MSkpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS93YXNtaS1sYWJzL3dh c21pIikKICAgIChzeW5vcHNpcyAiV2ViQXNzZW1ibHkgaW50ZXJwcmV0ZXIiKQogICAgKGRl c2NyaXB0aW9uICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgQGNvZGV7V2ViQXNzZW1ibHl9IGlu dGVycHJldGVyLiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6 YXNsMi4wKSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC13YXNtaS1hcmVuYS0wLjQKICAocGFj a2FnZQogICAgKG5hbWUgInJ1c3Qtd2FzbWktYXJlbmEiKQogICAgKHZlcnNpb24gIjAuNC4x IikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkK ICAgICAgICh1cmkgKGNyYXRlLXVyaSAid2FzbWlfYXJlbmEiIHZlcnNpb24pKQogICAgICAg KGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6Iikp CiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMHd2aGZhaDJjY3ZobDR2d3ljYm5j ZmNuYjc4bmRnYmthYzN2NTZuMHFtczRwcnJweWpoaCIpKSkpCiAgICAoYnVpbGQtc3lzdGVt IGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNv bS9wYXJpdHl0ZWNoL3dhc21pIikKICAgIChzeW5vcHNpcyAiRW50aXR5IGFyZW5hIGRhdGEg c3RydWN0dXJlcyBmb3Igd2FzbWkiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFj a2FnZSBwcm92aWRlcyBFbnRpdHkgYXJlbmEgZGF0YSBzdHJ1Y3R1cmVzIGZvciB3YXNtaS4i KQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpleHBhdCBsaWNlbnNlOmFzbDIuMCkpKSkK CihkZWZpbmUtcHVibGljIHJ1c3Qtd2FzbWktY29yZS0wLjEzCiAgKHBhY2thZ2UKICAgIChu YW1lICJydXN0LXdhc21pLWNvcmUiKQogICAgKHZlcnNpb24gIjAuMTMuMCIpCiAgICAoc291 cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJp IChjcmF0ZS11cmkgIndhc21pX2NvcmUiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAo c3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hh MjU2CiAgICAgICAgKGJhc2UzMiAiMHNsNTM1NmhiOGl6M2wyOTdqdmQ0bWw2MmZoY3EwaDJm MDMxcWEybXB5ZHo2a2RzZ3dmdyIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxk LXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28taW5wdXRzICgoInJ1c3Qt ZG93bmNhc3QtcnMiICxydXN0LWRvd25jYXN0LXJzLTEpCiAgICAgICAgICAgICAgICAgICAg ICAgKCJydXN0LWxpYm0iICxydXN0LWxpYm0tMC4yKQogICAgICAgICAgICAgICAgICAgICAg ICgicnVzdC1udW0tdHJhaXRzIiAscnVzdC1udW0tdHJhaXRzLTAuMikKICAgICAgICAgICAg ICAgICAgICAgICAoInJ1c3QtcGFzdGUiICxydXN0LXBhc3RlLTEpKQogICAgICAgIzpjYXJn by1kZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1yYW5kIiAscnVzdC1yYW5kLTAuOCkpKSkK ICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS93YXNtaS1sYWJzL3dhc21pIikK ICAgIChzeW5vcHNpcyAiQ29yZSBwcmltaXRpdmVzIGZvciB0aGUgd2FzbWkgV2ViQXNzZW1i bHkgaW50ZXJwcmV0ZXIiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBw cm92aWRlcyBDb3JlIHByaW1pdGl2ZXMgZm9yIHRoZSB3YXNtaSBAY29kZXtXZWJBc3NlbWJs eX0gaW50ZXJwcmV0ZXIuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6ZXhwYXQgbGlj ZW5zZTphc2wyLjApKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LXdhc21wYXJzZXItMC4yMTIK ICAocGFja2FnZQogICAgKG5hbWUgInJ1c3Qtd2FzbXBhcnNlciIpCiAgICAodmVyc2lvbiAi MC4yMTIuMCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwt ZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgIndhc21wYXJzZXIiIHZlcnNpb24pKQog ICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFy Lmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMXk3eGYxMngycWNqMjEy YjNoNmluejI0NjE0MjIzN2ZtOG03enhobW5wMHlwOTR2cWE0ZCIpKSkpCiAgICAoYnVpbGQt c3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6cnVz dCAscnVzdC0xLjc2CiAgICAgICAjOnRlc3RzPyAjZgogICAgICAgIzpjYXJnby1pbnB1dHMg KCgicnVzdC1haGFzaCIgLHJ1c3QtYWhhc2gtMC44KQogICAgICAgICAgICAgICAgICAgICAg ICgicnVzdC1iaXRmbGFncyIgLHJ1c3QtYml0ZmxhZ3MtMikKICAgICAgICAgICAgICAgICAg ICAgICAoInJ1c3QtaGFzaGJyb3duIiAscnVzdC1oYXNoYnJvd24tMC4xNCkKICAgICAgICAg ICAgICAgICAgICAgICAoInJ1c3QtaW5kZXhtYXAiICxydXN0LWluZGV4bWFwLTIpCiAgICAg ICAgICAgICAgICAgICAgICAgKCJydXN0LXNlbXZlciIgLHJ1c3Qtc2VtdmVyLTEpCiAgICAg ICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlIiAscnVzdC1zZXJkZS0xKSkKICAgICAg ICM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1c3QtYW55aG93IiAscnVzdC1hbnlo b3ctMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtY3JpdGVy aW9uIiAscnVzdC1jcml0ZXJpb24tMC41KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICgicnVzdC1lbnYtbG9nZ2VyIiAscnVzdC1lbnYtbG9nZ2VyLTAuMTEpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWxvZyIgLHJ1c3QtbG9nLTAu NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtb25jZS1jZWxs IiAscnVzdC1vbmNlLWNlbGwtMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoInJ1c3QtcmF5b24iICxydXN0LXJheW9uLTEpKSkpCiAgICAoaG9tZS1wYWdlCiAgICAg Imh0dHBzOi8vZ2l0aHViLmNvbS9ieXRlY29kZWFsbGlhbmNlL3dhc20tdG9vbHMvdHJlZS9t YWluL2NyYXRlcy93YXNtcGFyc2VyIikKICAgIChzeW5vcHNpcwogICAgICJzaW1wbGUgZXZl bnQtZHJpdmVuIGxpYnJhcnkgZm9yIHBhcnNpbmcgV2ViQXNzZW1ibHkgYmluYXJ5IGZpbGVz LiIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIGEgc2lt cGxlIGV2ZW50LWRyaXZlbiBsaWJyYXJ5IGZvciBwYXJzaW5nCkBjb2Rle1dlYkFzc2VtYmx5 fSBiaW5hcnkgZmlsZXMuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6YXNsMi4wKSkp KQoKKGRlZmluZS1wdWJsaWMgcnVzdC13YXNtcGFyc2VyLW5vc3RkLTAuMTAwCiAgKHBhY2th Z2UKICAgIChuYW1lICJydXN0LXdhc21wYXJzZXItbm9zdGQiKQogICAgKHZlcnNpb24gIjAu MTAwLjIiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZl dGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJ3YXNtcGFyc2VyLW5vc3RkIiB2ZXJzaW9u KSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAi LnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjFhazRiaTlrOWpi MjIzeHc3bWx4a2dpbTZscDdtOGJ3ZnFobHBmYTRsbDdranB6MWI4Nm0iKSkpKQogICAgKGJ1 aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgj OnRlc3RzPyAjZgogICAgICAgIzpjYXJnby1pbnB1dHMgKCgicnVzdC1pbmRleG1hcC1ub3N0 ZCIgLHJ1c3QtaW5kZXhtYXAtbm9zdGQtMC40KSkKICAgICAgICM6Y2FyZ28tZGV2ZWxvcG1l bnQtaW5wdXRzICgoInJ1c3QtYW55aG93IiAscnVzdC1hbnlob3ctMSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtY3JpdGVyaW9uIiAscnVzdC1jcml0ZXJp b24tMC4zKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1vbmNl LWNlbGwiICxydXN0LW9uY2UtY2VsbC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICgicnVzdC1yYXlvbiIgLHJ1c3QtcmF5b24tMSkpKSkKICAgIChob21lLXBhZ2UK ICAgICAiaHR0cHM6Ly9naXRodWIuY29tL2J5dGVjb2RlYWxsaWFuY2Uvd2FzbS10b29scy90 cmVlL21haW4vY3JhdGVzL3dhc21wYXJzZXIiKQogICAgKHN5bm9wc2lzCiAgICAgInNpbXBs ZSBldmVudC1kcml2ZW4gbGlicmFyeSBmb3IgcGFyc2luZyBXZWJBc3NlbWJseSBiaW5hcnkg ZmlsZXMuIikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMg YSBzaW1wbGUgZXZlbnQtZHJpdmVuIGxpYnJhcnkgZm9yIHBhcnNpbmcKQGNvZGV7V2ViQXNz ZW1ibHl9IGJpbmFyeSBmaWxlcy4iKQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTphc2wy LjApKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LXdhc3QtMjEyCiAgKHBhY2thZ2UKICAgIChu YW1lICJydXN0LXdhc3QiKQogICAgKHZlcnNpb24gIjIxMi4wLjAiKQogICAgKHNvdXJjZQog ICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3Jh dGUtdXJpICJ3YXN0IiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBl bmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAg IChiYXNlMzIgIjF4ZmlwMmFkNThyZGFuemFqMnJuMzdoM3g5bDgxbWowbGE2cXN3ZngzcmRh bjFnczAxajYiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAg ICAoYXJndW1lbnRzCiAgICAgYCgjOnJ1c3QgLHJ1c3QtMS43NgogICAgICAgIzp0ZXN0cz8g I2YKICAgICAgICM6Y2FyZ28taW5wdXRzICgoInJ1c3QtYnVtcGFsbyIgLHJ1c3QtYnVtcGFs by0zKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1naW1saSIgLHJ1c3QtZ2ltbGkt MC4zMCkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtbGViMTI4IiAscnVzdC1sZWIx MjgtMC4yKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1tZW1jaHIiICxydXN0LW1l bWNoci0yKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC11bmljb2RlLXdpZHRoIiAs cnVzdC11bmljb2RlLXdpZHRoLTAuMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qt d2FzbS1lbmNvZGVyIiAscnVzdC13YXNtLWVuY29kZXItMC4yMTIpKQogICAgICAgIzpjYXJn by1kZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1hbnlob3ciICxydXN0LWFueWhvdy0xKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1saWJ0ZXN0LW1pbWlj IiAscnVzdC1saWJ0ZXN0LW1pbWljLTAuNykKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoInJ1c3QtcmFuZCIgLHJ1c3QtcmFuZC0wLjgpKSkpCiAgICAoaG9tZS1wYWdl CiAgICAgImh0dHBzOi8vZ2l0aHViLmNvbS9ieXRlY29kZWFsbGlhbmNlL3dhc20tdG9vbHMv dHJlZS9tYWluL2NyYXRlcy93YXN0IikKICAgIChzeW5vcHNpcwogICAgICJDdXN0b21pemFi bGUgUnVzdCBwYXJzZXJzIGZvciB0aGUgV2ViQXNzZW1ibHkgVGV4dCBmb3JtYXRzIFdBVCBh bmQgV0FTVCIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVz IEN1c3RvbWl6YWJsZSBSdXN0IHBhcnNlcnMgZm9yIHRoZSBAY29kZXtXZWJBc3NlbWJseX0g VGV4dCBmb3JtYXRzIFdBVCBhbmQgV0FTVC4iKQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5z ZTphc2wyLjApKSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LXdhc3QtNjIKICAocGFja2FnZQog ICAgKG5hbWUgInJ1c3Qtd2FzdCIpCiAgICAodmVyc2lvbiAiNjIuMC4xIikKICAgIChzb3Vy Y2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkg KGNyYXRlLXVyaSAid2FzdCIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmct YXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAg ICAgICAoYmFzZTMyICIwN3d6cmRxOWlneWRxMjFsamRseDNuZng5cTkxemJ3MHlxbXhreTQ3 bmR4eWtwcTBkYm1xIikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVt KQogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0cz8gI2YKICAgICAgICM6Y2FyZ28taW5w dXRzICgoInJ1c3QtbGViMTI4IiAscnVzdC1sZWIxMjgtMC4yKQogICAgICAgICAgICAgICAg ICAgICAgICgicnVzdC1tZW1jaHIiICxydXN0LW1lbWNoci0yKQogICAgICAgICAgICAgICAg ICAgICAgICgicnVzdC11bmljb2RlLXdpZHRoIiAscnVzdC11bmljb2RlLXdpZHRoLTAuMSkK ICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtd2FzbS1lbmNvZGVyIiAscnVzdC13YXNt LWVuY29kZXItMC4zMSkpCiAgICAgICAjOmNhcmdvLWRldmVsb3BtZW50LWlucHV0cyAoKCJy dXN0LWFueWhvdyIgLHJ1c3QtYW55aG93LTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LXJheW9uIiAscnVzdC1yYXlvbi0xKSkpKQogICAgKGhvbWUtcGFn ZQogICAgICJodHRwczovL2dpdGh1Yi5jb20vYnl0ZWNvZGVhbGxpYW5jZS93YXNtLXRvb2xz L3RyZWUvbWFpbi9jcmF0ZXMvd2FzdCIpCiAgICAoc3lub3BzaXMKICAgICAiQ3VzdG9taXph YmxlIFJ1c3QgcGFyc2VycyBmb3IgdGhlIFdlYkFzc2VtYmx5IFRleHQgZm9ybWF0cyBXQVQg YW5kIFdBU1QiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBwcm92aWRl cyBDdXN0b21pemFibGUgUnVzdCBwYXJzZXJzIGZvciB0aGUgQGNvZGV7V2ViQXNzZW1ibHl9 IFRleHQgZm9ybWF0cyBXQVQgYW5kIFdBU1QuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vu c2U6YXNsMi4wKSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC13YXQtMQogIChwYWNrYWdlCiAg ICAobmFtZSAicnVzdC13YXQiKQogICAgKHZlcnNpb24gIjEuMjEyLjAiKQogICAgKHNvdXJj ZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAo Y3JhdGUtdXJpICJ3YXQiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFw cGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAg ICAgKGJhc2UzMiAiMGJza2h5d3o3endpbDBqdnFsODFtZGYyNHZtZG1hNmptN3M5djNwZGQ5 OGk3endzZms2NyIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkK ICAgIChhcmd1bWVudHMKICAgICBgKCM6cnVzdCAscnVzdC0xLjc2CiAgICAgICAjOnRlc3Rz PyAjZgogICAgICAgIzpjYXJnby1pbnB1dHMgKCgicnVzdC13YXN0IiAscnVzdC13YXN0LTIx MikpKSkKICAgIChob21lLXBhZ2UKICAgICAiaHR0cHM6Ly9naXRodWIuY29tL2J5dGVjb2Rl YWxsaWFuY2Uvd2FzbS10b29scy90cmVlL21haW4vY3JhdGVzL3dhdCIpCiAgICAoc3lub3Bz aXMgIlJ1c3QgcGFyc2VyIGZvciB0aGUgV2ViQXNzZW1ibHkgVGV4dCBmb3JtYXQsIFdBVCIp CiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIFJ1c3QgcGFy c2VyIGZvciB0aGUgQGNvZGV7V2ViQXNzZW1ibHl9IFRleHQgZm9ybWF0LCBXQVQuIikKICAg IChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6YXNsMi4wKSkpKQoKKGRlZmluZS1wdWJsaWMgcnVz dC13cml0ZWFibGUtMC41CiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LXdyaXRlYWJsZSIp CiAgICAodmVyc2lvbiAiMC41LjUiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAg IChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJ3cml0ZWFibGUi IHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2 ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMGxh d3I2eTBid3FmeWF5ZjN6OHptcWxocG56aGR4MGFoczU0aXNhY2JoeWp3YTdnNzc4eSIpKSkp CiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMK ICAgICBgKCM6dGVzdHM/ICNmCiAgICAgICAjOmNhcmdvLWlucHV0cyAoKCJydXN0LWVpdGhl ciIgLHJ1c3QtZWl0aGVyLTEpKQogICAgICAgIzpjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMg KCgicnVzdC1jcml0ZXJpb24iICxydXN0LWNyaXRlcmlvbi0wLjUpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXJhbmQiICxydXN0LXJhbmQtMC44KSkpKQog ICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3VuaWNvZGUtb3JnL2ljdTR4IikK ICAgIChzeW5vcHNpcyAibW9yZSBlZmZpY2llbnQgYWx0ZXJuYXRpdmUgdG8gZm10OjpEaXNw bGF5IikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgYSBt b3JlIGVmZmljaWVudCBhbHRlcm5hdGl2ZSB0byBmbXQ6OkRpc3BsYXkuIikKICAgIChsaWNl bnNlIGxpY2Vuc2U6dW5pY29kZSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC14bWxwYXJzZXIt MC4xMAogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC14bWxwYXJzZXIiKQogICAgKHZlcnNp b24gIjAuMTAuMCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1 cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgInhtbHBhcnNlciIgdmVyc2lvbikp CiAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50 YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxc3IxZDYwMm5nMjZs eDA3aDNtcW4zcDNrODhzZzVkOHY4cmQxZG1yYzNmY2JkbjRqNDQxIikpKSkKICAgIChidWls ZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0 ZXN0cz8gI2YpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL1JhenJGYWxj b24veG1scGFyc2VyIikKICAgIChzeW5vcHNpcyAiUHVsbC1iYXNlZCwgemVyby1hbGxvY2F0 aW9uIFhNTCBwYXJzZXIiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBw cm92aWRlcyBQdWxsLWJhc2VkLCB6ZXJvLWFsbG9jYXRpb24gWE1MIHBhcnNlci4iKQogICAg KGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpleHBhdCBsaWNlbnNlOmFzbDIuMCkpKSkKCihkZWZp bmUtcHVibGljIHJ1c3QteG1scGFyc2VyLTAuMTMKICAocGFja2FnZQogICAgKG5hbWUgInJ1 c3QteG1scGFyc2VyIikKICAgICh2ZXJzaW9uICIwLjEzLjYiKQogICAgKHNvdXJjZQogICAg IChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUt dXJpICJ4bWxwYXJzZXIiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFw cGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAg ICAgKGJhc2UzMiAiMXI3OTZnMjFjNzBwOTgzYXgwajZybWh6bWFsZzRyaHg2MW12ZDRmYXJ4 ZGhmeXZ5MXprNiIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkK ICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNmKSkKICAgIChob21lLXBhZ2UgImh0 dHBzOi8vZ2l0aHViLmNvbS9SYXpyRmFsY29uL3htbHBhcnNlciIpCiAgICAoc3lub3BzaXMg IlB1bGwtYmFzZWQsIHplcm8tYWxsb2NhdGlvbiBYTUwgcGFyc2VyIikKICAgIChkZXNjcmlw dGlvbgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgUHVsbC1iYXNlZCwgemVyby1hbGxv Y2F0aW9uIFhNTCBwYXJzZXIuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6ZXhwYXQg bGljZW5zZTphc2wyLjApKSkpCihkZWZpbmUtcHVibGljIHJ1c3QteG1sd3JpdGVyLTAuMQog IChwYWNrYWdlCiAgICAobmFtZSAicnVzdC14bWx3cml0ZXIiKQogICAgKHZlcnNpb24gIjAu MS4wIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRj aCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAieG1sd3JpdGVyIiB2ZXJzaW9uKSkKICAgICAg IChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIp KQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjFmZzBsZG1rZ2lpczZobnhwaTFj OWd5N3YyM3kwbHBpODI0YnA4eXAxMmZpM3I4Mmx5cGMiKSkpKQogICAgKGJ1aWxkLXN5c3Rl bSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5j b20vUmF6ckZhbGNvbi94bWx3cml0ZXIiKQogICAgKHN5bm9wc2lzICJzaW1wbGUsIHN0cmVh bWluZyBYTUwgd3JpdGVyLiIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFja2FnZSBwcm92 aWRlcyBhIHNpbXBsZSwgc3RyZWFtaW5nIFhNTCB3cml0ZXIuIikKICAgIChsaWNlbnNlIGxp Y2Vuc2U6ZXhwYXQpKSkKCihkZWZpbmUtcHVibGljIHJ1c3QteG1wLXdyaXRlci0wLjIKICAo cGFja2FnZQogICAgKG5hbWUgInJ1c3QteG1wLXdyaXRlciIpCiAgICAodmVyc2lvbiAiMC4y LjAiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNo KQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJ4bXAtd3JpdGVyIiB2ZXJzaW9uKSkKICAgICAg IChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIp KQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjEyOHIxc2Zyczl6YWZ2NW5kaDcx ZjNhMDZ6bmFiY2I2cmlwOXc0Y2xwYWI0aXc5dmxoczUiKSkpKQogICAgKGJ1aWxkLXN5c3Rl bSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5j b20vdHlwc3QveG1wLXdyaXRlciIpCiAgICAoc3lub3BzaXMgIldyaXRlIFhNUCBtZXRhZGF0 YSwgc3RlcCBieSBzdGVwIikKICAgIChkZXNjcmlwdGlvbiAiVGhpcyBwYWNrYWdlIHByb3Zp ZGVzIFdyaXRlIFhNUCBtZXRhZGF0YSwgc3RlcCBieSBzdGVwLiIpCiAgICAobGljZW5zZSAo bGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNsMi4wKSkpKQooZGVmaW5lLXB1YmxpYyBy dXN0LXlva2UtMC43CiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LXlva2UiKQogICAgKHZl cnNpb24gIjAuNy40IikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9k IHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVyaSAieW9rZSIgdmVyc2lvbikpCiAg ICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIu Z3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxOThjNGpraDZpM2h4aWpp YTdtZmE0Y3BueGcxaXF5bTliejM2NDY5N2Mzcm4wYTE2bnZjIikpKSkKICAgIChidWlsZC1z eXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0 cz8gI2YKICAgICAgICM6Y2FyZ28taW5wdXRzICgoInJ1c3Qtc2VyZGUiICxydXN0LXNlcmRl LTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXN0YWJsZS1kZXJlZi10cmFpdCIg LHJ1c3Qtc3RhYmxlLWRlcmVmLXRyYWl0LTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJy dXN0LXlva2UtZGVyaXZlIiAscnVzdC15b2tlLWRlcml2ZS0wLjcpCiAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LXplcm9mcm9tIiAscnVzdC16ZXJvZnJvbS0wLjEpKQogICAgICAg IzpjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMgKCgicnVzdC1iaW5jb2RlIiAscnVzdC1iaW5j b2RlLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXBvc3Rj YXJkIiAscnVzdC1wb3N0Y2FyZC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICgicnVzdC1zZXJkZSIgLHJ1c3Qtc2VyZGUtMSkpKSkKICAgIChob21lLXBhZ2UgImh0 dHBzOi8vZ2l0aHViLmNvbS91bmljb2RlLW9yZy9pY3U0eCIpCiAgICAoc3lub3BzaXMKICAg ICAiQWJzdHJhY3Rpb24gYWxsb3dpbmcgYm9ycm93ZWQgZGF0YSB0byBiZSBjYXJyaWVkIGFs b25nIHdpdGggdGhlIGJhY2tpbmcgZGF0YSBpdCBib3Jyb3dzIGZyb20iKQogICAgKGRlc2Ny aXB0aW9uCiAgICAgIlRoaXMgcGFja2FnZSBwcm92aWRlcyBBYnN0cmFjdGlvbiBhbGxvd2lu ZyBib3Jyb3dlZCBkYXRhIHRvIGJlIGNhcnJpZWQgYWxvbmcgd2l0aCB0aGUgYmFja2luZyBk YXRhIGl0CmJvcnJvd3MgZnJvbS4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTp1bmljb2RlKSkp CgooZGVmaW5lLXB1YmxpYyBydXN0LXlva2UtZGVyaXZlLTAuNwogIChwYWNrYWdlCiAgICAo bmFtZSAicnVzdC15b2tlLWRlcml2ZSIpCiAgICAodmVyc2lvbiAiMC43LjQiKQogICAgKHNv dXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVy aSAoY3JhdGUtdXJpICJ5b2tlLWRlcml2ZSIgdmVyc2lvbikpCiAgICAgICAoZmlsZS1uYW1l IChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChz aGEyNTYKICAgICAgICAoYmFzZTMyICIxNWN2aGtjaTJtY2hmZmZ4M2ZtdmE4NGZwbXAzNGRz bW5iemlid2ZuempxcTNkczMzazE4IikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVp bGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0cz8gI2YKICAgICAgICM6 Y2FyZ28taW5wdXRzICgoInJ1c3QtcHJvYy1tYWNybzIiICxydXN0LXByb2MtbWFjcm8yLTEp CiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXF1b3RlIiAscnVzdC1xdW90ZS0xKQog ICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zeW4iICxydXN0LXN5bi0yKQogICAgICAg ICAgICAgICAgICAgICAgICgicnVzdC1zeW5zdHJ1Y3R1cmUiICxydXN0LXN5bnN0cnVjdHVy ZS0wLjEzKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3VuaWNvZGUt b3JnL2ljdTR4IikKICAgIChzeW5vcHNpcyAiQ3VzdG9tIGRlcml2ZSBmb3IgdGhlIHlva2Ug Y3JhdGUiKQogICAgKGRlc2NyaXB0aW9uICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgQ3VzdG9t IGRlcml2ZSBmb3IgdGhlIHlva2UgY3JhdGUuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6dW5p Y29kZSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC16ZXJvZnJvbS0wLjEKICAocGFja2FnZQog ICAgKG5hbWUgInJ1c3QtemVyb2Zyb20iKQogICAgKHZlcnNpb24gIjAuMS40IikKICAgIChz b3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1 cmkgKGNyYXRlLXVyaSAiemVyb2Zyb20iIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAo c3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hh MjU2CiAgICAgICAgKGJhc2UzMiAiMG1kYmpkN3ZtYml4MnlueGJyYnJybGk0N2E1eXJwZngw NWhpOTl3ZjFsNHB3d2YxM3Y0aSIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxk LXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y2FyZ28taW5wdXRzICgoInJ1c3Qt emVyb2Zyb20tZGVyaXZlIiAscnVzdC16ZXJvZnJvbS1kZXJpdmUtMC4xKSkpKQogICAgKGhv bWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3VuaWNvZGUtb3JnL2ljdTR4IikKICAgIChz eW5vcHNpcyAiWmVyb0Zyb20gdHJhaXQgZm9yIGNvbnN0cnVjdGluZyIpCiAgICAoZGVzY3Jp cHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIEBjb2Rle1plcm9Gcm9tfSB0cmFp dCBmb3IgY29uc3RydWN0aW5nLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOnVuaWNvZGUpKSkK CihkZWZpbmUtcHVibGljIHJ1c3QtemVyb2Zyb20tZGVyaXZlLTAuMQogIChwYWNrYWdlCiAg ICAobmFtZSAicnVzdC16ZXJvZnJvbS1kZXJpdmUiKQogICAgKHZlcnNpb24gIjAuMS40IikK ICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAg ICAgICh1cmkgKGNyYXRlLXVyaSAiemVyb2Zyb20tZGVyaXZlIiB2ZXJzaW9uKSkKICAgICAg IChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIp KQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjE5YjMxcnJzMnJ5MWxycTVtcGRx anpnZzY1dmE1MWZndndnaHhuZjZkYTN5Y2Zpdjk5cWYiKSkpKQogICAgKGJ1aWxkLXN5c3Rl bSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOnRlc3RzPyAj ZgogICAgICAgIzpjYXJnby1pbnB1dHMgKCgicnVzdC1wcm9jLW1hY3JvMiIgLHJ1c3QtcHJv Yy1tYWNybzItMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcXVvdGUiICxydXN0 LXF1b3RlLTEpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXN5biIgLHJ1c3Qtc3lu LTIpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXN5bnN0cnVjdHVyZSIgLHJ1c3Qt c3luc3RydWN0dXJlLTAuMTMpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5j b20vdW5pY29kZS1vcmcvaWN1NHgiKQogICAgKHN5bm9wc2lzICJDdXN0b20gZGVyaXZlIGZv ciB0aGUgemVyb2Zyb20gY3JhdGUiKQogICAgKGRlc2NyaXB0aW9uICJUaGlzIHBhY2thZ2Ug cHJvdmlkZXMgQ3VzdG9tIGRlcml2ZSBmb3IgdGhlIHplcm9mcm9tIGNyYXRlLiIpCiAgICAo bGljZW5zZSBsaWNlbnNlOnVuaWNvZGUpKSkKCihkZWZpbmUtcHVibGljIHJ1c3QtemVyb3Ry aWUtMC4xCiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LXplcm90cmllIikKICAgICh2ZXJz aW9uICIwLjEuMyIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1 cmwtZmV0Y2gpCiAgICAgICAodXJpIChjcmF0ZS11cmkgInplcm90cmllIiB2ZXJzaW9uKSkK ICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRh ci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjA3cWE1bGpzczhqNzA2 aXkwcmQwMjNuYWFtd2x5NGpmd3owcGMxZ21xY3c3YnBhbHNuZ3YiKSkpKQogICAgKGJ1aWxk LXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOnRl c3RzPyAjZgogICAgICAgIzpjYXJnby1pbnB1dHMgKCgicnVzdC1kYXRhYmFrZSIgLHJ1c3Qt ZGF0YWJha2UtMC4xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1kaXNwbGF5ZG9j IiAscnVzdC1kaXNwbGF5ZG9jLTAuMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qt bGl0ZW1hcCIgLHJ1c3QtbGl0ZW1hcC0wLjcpCiAgICAgICAgICAgICAgICAgICAgICAgKCJy dXN0LXNlcmRlIiAscnVzdC1zZXJkZS0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVz dC15b2tlIiAscnVzdC15b2tlLTAuNykKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qt emVyb2Zyb20iICxydXN0LXplcm9mcm9tLTAuMSkKICAgICAgICAgICAgICAgICAgICAgICAo InJ1c3QtemVyb3ZlYyIgLHJ1c3QtemVyb3ZlYy0wLjEwKSkKICAgICAgICM6Y2FyZ28tZGV2 ZWxvcG1lbnQtaW5wdXRzICgoInJ1c3QtYmluY29kZSIgLHJ1c3QtYmluY29kZS0xKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1jcml0ZXJpb24iICxydXN0 LWNyaXRlcmlvbi0wLjUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJy dXN0LXBvc3RjYXJkIiAscnVzdC1wb3N0Y2FyZC0xKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICgicnVzdC1yYW5kIiAscnVzdC1yYW5kLTAuOCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtcmFuZC1wY2ciICxydXN0LXJhbmQtcGNn LTAuMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtcm1wLXNl cmRlIiAscnVzdC1ybXAtc2VyZGUtMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoInJ1c3Qtc2VyZGUiICxydXN0LXNlcmRlLTEpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlLWpzb24iICxydXN0LXNlcmRlLWpzb24tMSkp KSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vaWN1NHgudW5pY29kZS5vcmciKQogICAgKHN5 bm9wc2lzICJkYXRhIHN0cnVjdHVyZSB0aGF0IGVmZmljaWVudGx5IG1hcHMgc3RyaW5ncyB0 byBpbnRlZ2VycyIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3Zp ZGVzIGEgZGF0YSBzdHJ1Y3R1cmUgdGhhdCBlZmZpY2llbnRseSBtYXBzIHN0cmluZ3MgdG8K aW50ZWdlcnMuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6dW5pY29kZSkpKQooZGVmaW5lLXB1 YmxpYyBydXN0LXplcm92ZWMtMC4xMAogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC16ZXJv dmVjIikKICAgICh2ZXJzaW9uICIwLjEwLjQiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4K ICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoY3JhdGUtdXJpICJ6ZXJv dmVjIiB2ZXJzaW9uKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAi LSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIg IjB5Z2hpeDduM2ZqZmRwcHdnaGtuenZ4OXY4Y2Y4MjZoMnFhbDVucXZ5OHl6ZzR5cWpheGEi KSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1l bnRzCiAgICAgYCgjOnRlc3RzPyAjZgogICAgICAgIzpjYXJnby1pbnB1dHMgKCgicnVzdC1k YXRhYmFrZSIgLHJ1c3QtZGF0YWJha2UtMC4xKQogICAgICAgICAgICAgICAgICAgICAgICgi cnVzdC1zZXJkZSIgLHJ1c3Qtc2VyZGUtMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1 c3QtdHdveC1oYXNoIiAscnVzdC10d294LWhhc2gtMSkKICAgICAgICAgICAgICAgICAgICAg ICAoInJ1c3QteW9rZSIgLHJ1c3QteW9rZS0wLjcpCiAgICAgICAgICAgICAgICAgICAgICAg KCJydXN0LXplcm9mcm9tIiAscnVzdC16ZXJvZnJvbS0wLjEpCiAgICAgICAgICAgICAgICAg ICAgICAgKCJydXN0LXplcm92ZWMtZGVyaXZlIiAscnVzdC16ZXJvdmVjLWRlcml2ZS0wLjEw KSkKICAgICAgICM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1c3QtYmluY29kZSIg LHJ1c3QtYmluY29kZS0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgi cnVzdC1jcml0ZXJpb24iICxydXN0LWNyaXRlcmlvbi0wLjUpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKCJydXN0LWdldHJhbmRvbSIgLHJ1c3QtZ2V0cmFuZG9tLTAu MikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtaWFpIiAscnVz dC1pYWktMC4xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1w b3N0Y2FyZCIgLHJ1c3QtcG9zdGNhcmQtMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoInJ1c3QtcmFuZCIgLHJ1c3QtcmFuZC0wLjgpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKCJydXN0LXJhbmQtZGlzdHIiICxydXN0LXJhbmQtZGlzdHIt MC40KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1yYW5kLXBj ZyIgLHJ1c3QtcmFuZC1wY2ctMC4zKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICgicnVzdC1ybXAtc2VyZGUiICxydXN0LXJtcC1zZXJkZS0xKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zZXJkZSIgLHJ1c3Qtc2VyZGUtMSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc2VyZGUtanNvbiIgLHJ1 c3Qtc2VyZGUtanNvbi0xKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29t L3VuaWNvZGUtb3JnL2ljdTR4IikKICAgIChzeW5vcHNpcyAiWmVyby1jb3B5IHZlY3RvciBi YWNrZWQgYnkgYSBieXRlIGFycmF5IikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIHBh Y2thZ2UgcHJvdmlkZXMgWmVyby1jb3B5IHZlY3RvciBiYWNrZWQgYnkgYSBieXRlIGFycmF5 LiIpCiAgICAobGljZW5zZSBsaWNlbnNlOnVuaWNvZGUpKSkKCihkZWZpbmUtcHVibGljIHJ1 c3QtemVyb3ZlYy1kZXJpdmUtMC4xMAogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC16ZXJv dmVjLWRlcml2ZSIpCiAgICAodmVyc2lvbiAiMC4xMC4zIikKICAgIChzb3VyY2UKICAgICAo b3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKGNyYXRlLXVy aSAiemVyb3ZlYy1kZXJpdmUiIHZlcnNpb24pKQogICAgICAgKGZpbGUtbmFtZSAoc3RyaW5n LWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAg ICAgICAgKGJhc2UzMiAiMWlrMzIyZHlzNnduYXA1ZDNnY3NuMDlhem1zc3E0NjZ4cnluNWN6 Zm0xM21uN2dzZGJ2ZiIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3Rl bSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNmCiAgICAgICAjOmNhcmdvLWlu cHV0cyAoKCJydXN0LXByb2MtbWFjcm8yIiAscnVzdC1wcm9jLW1hY3JvMi0xKQogICAgICAg ICAgICAgICAgICAgICAgICgicnVzdC1xdW90ZSIgLHJ1c3QtcXVvdGUtMSkKICAgICAgICAg ICAgICAgICAgICAgICAoInJ1c3Qtc3luIiAscnVzdC1zeW4tMikpCiAgICAgICAjOmNhcmdv LWRldmVsb3BtZW50LWlucHV0cyAoKCJydXN0LWJpbmNvZGUiICxydXN0LWJpbmNvZGUtMSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc2VyZGUiICxydXN0 LXNlcmRlLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNl cmRlLWpzb24iICxydXN0LXNlcmRlLWpzb24tMSkpKSkKICAgIChob21lLXBhZ2UgImh0dHBz Oi8vZ2l0aHViLmNvbS91bmljb2RlLW9yZy9pY3U0eCIpCiAgICAoc3lub3BzaXMgIkN1c3Rv bSBkZXJpdmUgZm9yIHRoZSB6ZXJvdmVjIGNyYXRlIikKICAgIChkZXNjcmlwdGlvbiAiVGhp cyBwYWNrYWdlIHByb3ZpZGVzIEN1c3RvbSBkZXJpdmUgZm9yIHRoZSB6ZXJvdmVjIGNyYXRl LiIpCiAgICAobGljZW5zZSBsaWNlbnNlOnVuaWNvZGUpKSkKCjs7IFJlc29sdmUgdGhlIG1v ZHVsZQooZGVmaW5lIG15LW1vZHVsZSAocmVzb2x2ZS1tb2R1bGUgJyhnbnUgcGFja2FnZXMg dHlwc3QpKSkKCjs7IEZ1bmN0aW9uIHRvIGNvbGxlY3QgdmFyaWFibGUgbmFtZXMgdGhhdCBy ZWZlcmVuY2UgcGFja2FnZXMKKGRlZmluZSAoY29sbGVjdC1wYWNrYWdlLXZhcmlhYmxlcyBt b2R1bGUpCiAgKGxldCAoKHZhcmlhYmxlcyAnKCkpKQogICAgKG1vZHVsZS1tYXAKICAgICAo bGFtYmRhICh4IHZhcmlhYmxlKQogICAgICAgKGxldCAoKHBrZyAodmFyaWFibGUtcmVmIHZh cmlhYmxlKSkpCiAgICAgICAgICh3aGVuIChwYWNrYWdlPyBwa2cpCiAgICAgICAgICAgKHNl dCEgdmFyaWFibGVzIChjb25zIHggdmFyaWFibGVzKSkpKSkKICAgICBtb2R1bGUpCiAgICB2 YXJpYWJsZXMpKQoKOzsgQ29sbGVjdCBhbGwgdmFyaWFibGUgbmFtZXMgdGhhdCByZWZlcmVu Y2UgcGFja2FnZXMgaW4gdGhlIG1vZHVsZQooZGVmaW5lIHBhY2thZ2UtdmFyaWFibGVzIChj b2xsZWN0LXBhY2thZ2UtdmFyaWFibGVzIG15LW1vZHVsZSkpCgo7OyBHZW5lcmF0ZSB0aGUg bWFuaWZlc3QgZXhwcmVzc2lvbgooZGVmaW5lIG1hbmlmZXN0LWV4cHJlc3Npb24KICAgICBg KHBhY2thZ2VzLT5tYW5pZmVzdCAobGlzdCAsQHBhY2thZ2UtdmFyaWFibGVzKSkpCjs7IEV2 YWx1YXRlIHRoZSBtYW5pZmVzdCBleHByZXNzaW9uCjsobWFuaWZlc3QtZXhwcmVzc2lvbikK KGV2YWwgbWFuaWZlc3QtZXhwcmVzc2lvbiAoaW50ZXJhY3Rpb24tZW52aXJvbm1lbnQpKQo= --ac29ccccdc2a4aff853c77d5b77d33e9--