From owner-cvs-ports@FreeBSD.ORG Wed Jan 27 18:08:05 2010 Return-Path: Delivered-To: cvs-ports@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0588A10656A6; Wed, 27 Jan 2010 18:08:05 +0000 (UTC) (envelope-from kris@FreeBSD.org) Received: from iea370q03.qa (devnat.ironport.com [63.251.108.83]) by mx1.freebsd.org (Postfix) with ESMTP id C56A48FC1B; Wed, 27 Jan 2010 18:08:04 +0000 (UTC) Received: from iea370q03.qa.sbr.ironport.com (iea370q03.qa [127.0.0.1]) by iea370q03.qa (Postfix) with ESMTP id 8786E902BB; Wed, 27 Jan 2010 10:08:04 -0800 (PST) Received: (from kris@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j2QLo4qp085831; Sat, 26 Mar 2005 21:50:04 GMT (envelope-from kris) Received: from mx2.freebsd.org (216.136.204.119) by corvette.asyncfs.com with ESMTP; 26 Mar 2005 13:50:43 -0800 Received: from qa05.qa ([10.92.145.207]) by iea370q03.qa.sbr.ironport.com (PostX Enterprise 6.5.2 SMTP Adaptor) with SMTP ID 789 for <6107@qa05.qa>; Wed, 27 Jan 2010 09:02:01 -0800 (PST) Received: from iea370q03.qa ([127.0.0.1]) by iea370q03.qa.sbr.ironport.com (PostX Enterprise 6.5.2 SMTP Adaptor) with SMTP ID 607; Wed, 27 Jan 2010 09:33:46 -0800 (PST) Date: Wed, 27 Jan 2010 09:33:46 -0800 (PST) From: Kris Kennaway Sender: owner-cvs-all@freebsd.org To: ports-committers@FreeBSD.org, cvs-ports@FreeBSD.org, cvs-all@FreeBSD.org Message-ID: <13574445.2825838.1264615684257.JavaMail.root@iea370q03.qa> Errors-To: owner-cvs-all@freebsd.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=----Part-0-30324132-1264615684228 X-IronPort-RCPT-TO: X-Spam-Probability: High X-SenderBase-Org-ID: 1681939 X-SenderBase-Reputation: 2.3 X-BrightmailFiltered: true X-Brightmail-Tracker: AAAAAA== X-IronPort-AV: i="3.91,125,1110182400"; d="scan'"; a="6493375:sNHT31007844" Delivered-To: cvs-all@freebsd.org X-FreeBSD-CVS-Branch: HEAD X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list X-PostX-Message-ID: 6d41a390c0f9f7707f000001923256d0@iea370q03.qa X-IronPort-Encrypt: Success X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Subject: cvs commit: ports/japanese/kdrill Makefile X-BeenThere: cvs-ports@freebsd.org List-Id: CVS commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Jan 2010 18:08:05 -0000 ------Part-0-30324132-1264615684228 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Read your secure message by opening the attachment, securedoc.html. You will be prompted to open (view) the file or save (download) it to your computer. For best results, save the file first, then open it in a Web browser. To access from a mobile device, forward this message to mobile@res.cisco.com to receive a mobile login URL. If you have concerns about the validity of this message, contact the sender directly. First time users - will need to register after opening the attachment. Help - https://iea370q03.qa.sbr.ironport.com/websafe/help?topic=RegEnvelope About IronPort Encryption - https://iea370q03.qa.sbr.ironport.com/websafe/about ------Part-0-30324132-1264615684228 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=securedoc.html PCEtLSBzYXZlZCBmcm9tIHVybD0oMDAyMilodHRwOi8vaW50ZXJuZXQuZS1tYWlsIC0tPg0KPCFE T0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VO Ij48aHRtbD4KPGhlYWQ+PGJhc2UgaHJlZj0naHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25w b3J0LmNvbS9lbnZlbG9wZW9wZW5lci9wZi9aR0pBUkdWbVlYVnNkRG94L2NrS0NkWE1memhDYlFW TUhmcFcweEdNbmpFMDU1bGhKODZJanA1UmNidXlVbWo5UzlCOTAzY1dDcFo3YXFGQzlVUzZ3OENT ZVVKZnZ1bEMySVBNenExMENJVVFIb1FadUpnISEvJz48bWV0YQpodHRwLWVxdWl2PUNvbnRlbnQt VHlwZQpjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPjxtZXRhCm5hbWU9dmVyc2lv bgpjb250ZW50PSIkSWQ6IGVudmVsb3BlLmh0bWwsdiAxLjE2NCAyMDA3LzEyLzA2IDAwOjI4OjU4 IHN1bGxtYW4gRXhwICQiPjxtZXRhCm5hbWU9Y29weXJpZ2h0CmNvbnRlbnQ9IkNvcHlyaWdodCAo YykgMjAwMC0yMDA4IENpc2NvIFN5c3RlbXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4iPgo8 bWV0YQpuYW1lPXBhdGVudHMKY29udGVudD0iUHJvdGVjdGVkIGJ5IFVuaXRlZCBTdGF0ZXMgcGF0 ZW50IG51bWJlcnMgNiwwMTQsNjg4IGFuZCA2LDMwNCw4OTcuIgo+PG1ldGEKaHR0cC1lcXVpdj1j YWNoZS1jb250cm9sCmNvbnRlbnQ9bm8tc3RvcmU+PG1ldGEKaHR0cC1lcXVpdj1jYWNoZS1jb250 cm9sCmNvbnRlbnQ9bm8tY2FjaGU+PG1ldGEKaHR0cC1lcXVpdj1wcmFnbWEKY29udGVudD1uby1j YWNoZT48dGl0bGU+U2VjdXJlIFJlZ2lzdGVyZWQgRW52ZWxvcGU6Y3ZzIGNvbW1pdDogcG9ydHMv amFwYW5lc2Uva2RyaWxsIE1ha2VmaWxlPC90aXRsZT4KPHN0eWxlCnR5cGU9InRleHQvY3NzIj48 IS0tIC5zcGFjZXIxcHgge2ZvbnQtc2l6ZTogMXB4OyBsaW5lLWhlaWdodDogMXB4fQogLnNwYWNl cjJweCB7Zm9udC1zaXplOiAycHg7IGxpbmUtaGVpZ2h0OiAycHh9IC5ib3JkZXJXaW5kb3cge21h cmdpbi1ib3R0b206CjRweDsgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAjOTY5OTlDOyBib3JkZXIt dG9wOiBzb2xpZCAxcHggIzk2OTk5QzsKcGFkZGluZy10b3A6IDNweH0gI2JvcmRlcldpbmRvd0Nv bnRhaW5lciB7cG9zaXRpb246IHJlbGF0aXZlOyB6b29tOiAxfQojYm9yZGVyV2luZG93QmxvY2sg e3Bvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwcHg7IGxlZnQ6IC00cHg7IHdpZHRoOiA1cHg7Cmhl aWdodDogMjJweDsgYmFja2dyb3VuZC1jb2xvcjogIzVBNUI1RX0gLmNvcHlyaWdodCB7Zm9udC1z aXplOiA4cHQ7IGNvbG9yOgojOTU5OTlDfSAuZXZwVGFibGUge3BhZGRpbmc6IDEwcHggMTBweCAx MHB4IDE1cHh9IC5tYWluV2luZG93IHtwYWRkaW5nOiAwcHgKNXB4IDBweCA1cHh9IC5ldnBXaW5k b3cge3BhZGRpbmc6IDRweCAxMHB4IDRweCAxMHB4OyB0ZXh0LWFsaWduOiBsZWZ0fQogLnBhc3N3 b3JkUm93IHtwYWRkaW5nOiA0cHggMTBweCAwcHggMTBweDsgdGV4dC1hbGlnbjogbGVmdH0KIC5m b3Jnb3RQYXNzd29yZFJvdyB7cGFkZGluZzogMHB4IDEwcHggNHB4IDEwcHg7IHRleHQtYWxpZ246 IGxlZnR9IGlucHV0LmJ0bgp7Y29sb3I6ICMzMzMzMzM7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBB cmlhbCwgSGVsdmV0aWNhOyBmb250LXNpemU6IDlwdDsKZm9udC13ZWlnaHQ6IG5vcm1hbDsgYmFj a2dyb3VuZC1jb2xvcjogI0YwQzU2NjsgYm9yZGVyOiAxcHggc29saWQgIzMzMzMzMzsKYm9yZGVy LXJhZGl1czogM3B4OyB6LWluZGV4OiAyOyBwYWRkaW5nOiAxcHggMnB4OyB3aWR0aDogYXV0bzsg b3ZlcmZsb3c6CnZpc2libGV9IGlucHV0Lm9vYnRuIHtjb2xvcjogIzMzMzMzMzsgZm9udC1mYW1p bHk6IFZlcmRhbmEsIEFyaWFsLApIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogOXB0OyBmb250LXdlaWdo dDpub3JtYWw7IGJhY2tncm91bmQtY29sb3I6ICNFRUVFRkY7CmJvcmRlcjogMXB4IHNvbGlkICMz MzMzMzM7IGJvcmRlci1yYWRpdXM6IDNweDsgei1pbmRleDogMjsgcGFkZGluZzogMXB4IDJweDsK d2lkdGg6IGF1dG87IG92ZXJmbG93OiB2aXNpYmxlfSBpbnB1dC5idG46YWN0aXZlLCBpbnB1dC5v b2J0bjphY3RpdmUKe3BhZGRpbmc6IDFweCAxcHggMXB4IDNweH0gLmVtYWlsIHtmb250LWZhbWls eTogVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwKc2Fucy1zZXJpZjsgZm9udC1zaXplOiA4cHQ7 IGNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogbm9ybWFsfQogLmVtYWlsI2VtYWlsU3ViamVj dCB7Zm9udC13ZWlnaHQ6IGJvbGR9IC5lcnJvciB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsCkFyaWFs LCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogOHB0OyBjb2xvcjogI0ZGMDAwMH0g LnByb2dyZXNzCntmb250LWZhbWlseTogVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1z ZXJpZjsgZm9udC1zaXplOiAxNHB4OwpsaW5lLWhlaWdodDogMTVweH0gLnRpbWVzdGFtcCB7Zm9u dC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7CmZvbnQtc2l6ZTogOHB4OyBj b2xvcjogIzk1OTk5QzsgZm9udC13ZWlnaHQ6IGJvbGQ7IGxpbmUtaGVpZ2h0OiAxMHB4fQogLnNl bmRlckF1dGgge2ZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250 LXNpemU6IDlweDsKY29sb3I6ICM1QTVCNUU7IGZvbnQtd2VpZ2h0OiBib2xkOyBsaW5lLWhlaWdo dDogMTBweDsgcGFkZGluZy1yaWdodDogNHB4fQogLnRleHQsb2wsbGkscCx0ZCxpbnB1dC5zYWZh cmlCdG4ge2ZvbnQtc2l6ZTogOHB0OyBjb2xvcjogIzAwMDAwMDsKZm9udC1mYW1pbHk6IFZlcmRh bmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWZ9IC5vb3RleHQge2NvbG9yOiAjNjY2NjY2 fQojbG9nb0NlbGwge3BhZGRpbmc6IDVweCAwcHggMHB4IDEwcHh9ICNwb3N0bWFya0NlbGwge3Bh ZGRpbmc6IDEwcHggNXB4IDBweAowcHh9ICNwYXNzcGhyYXNlQ2VsbCB7cGFkZGluZzogMHB4IDBw eCA1cHggNXB4fSAjaGVscExpbmtMb2NhdGlvbiB7cGFkZGluZzoKMHB4IDNweCAzcHggMHB4fSAj dGltZVN0YW1wQ29udGFpbmVyIHttYXJnaW46IDJweCAtMnB4IDBweCAtMTJweH0KI291dGVyUG9z dG1hcmsge2hlaWdodDogNzBweDsgd2lkdGg6IDE1MHB4OyBvdmVyZmxvdzogdmlzaWJsZTsgcG9z aXRpb246CnJlbGF0aXZlOyB6LWluZGV4OiA5fSAjaW5uZXJQb3N0bWFyayB7cG9zaXRpb246IGFi c29sdXRlOyB0b3A6IDBweDsgcmlnaHQ6CjBweDsgei1pbmRleDogMTB9ICNvdXRlclBvc3RtYXJr LklFNVBvc3RtYXJrIHtoZWlnaHQ6IDEwNXB4fSAucGFzc3BocmFzZVRleHQKe2JhY2tncm91bmQt Y29sb3I6ICNGRkZGRkY7IHBhZGRpbmc6IDJweH0gLnBhc3NwaHJhc2VMYWJlbFJvdyB7fQogLnBh c3NwaHJhc2VMYWJlbCB7fSAucGFzc3BocmFzZVRIb3Ige2JvcmRlci1ib3R0b206IDFweCBzb2xp ZCAjMTkxOTE5fQogLnBhc3NwaHJhc2VUVmVyIHtib3JkZXItbGVmdDogMXB4IHNvbGlkICMxOTE5 MTl9ICNwYXNzcGhyYXNlQ29udGFpbmVyCntwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiB2 aXNpYmxlOyB3aWR0aDogMjBweDsgaGVpZ2h0OiAxcHh9CiNwYXNzcGhyYXNlQ2VsbEpTIHtwb3Np dGlvbjogYWJzb2x1dGU7IGxlZnQ6IDIwcHg7IGJvdHRvbTogLTI1cHg7IHdpZHRoOgoxNTVweDsg cGFkZGluZy1sZWZ0OiA1cHh9IC5zdWJSZWFzb25zIHtsaXN0LXN0eWxlOiBsb3dlci1hbHBoYX0g QSB7Y29sb3I6CiMwMDMzOTl9IEE6aG92ZXIge2NvbG9yOiAjRkYwMDAwOyBjdXJzb3I6IHBvaW50 ZXJ9IEE6dmlzaXRlZCB7Y29sb3I6CiMwMDMzOTl9IEE6dmlzaXRlZDpob3ZlciB7Y29sb3I6ICNG RjAwMDA7IGN1cnNvcjogcG9pbnRlcn0gYm9keSB7bWFyZ2luLXRvcDoKOHB4fSAtLT48L3N0eWxl PjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0K JyRTZXJpYWw6IDYyNjEgJCAkUmV2aXNpb246IDEuNi44LjIuMjIuMSAkJzsKJ0NvcHlyaWdodCAo YykgMjAwMS0yMDA5IENpc2NvIFN5c3RlbXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4nOwon UHJvdGVjdGVkIGJ5IFVuaXRlZCBTdGF0ZXMgcGF0ZW50IG51bWJlcnMgNiwwMTQsNjg4IGFuZCA2 LDMwNCw4OTcuJzsKJyRTZXJpYWw6IDMzMjggJCAkUmV2aXNpb246IDEuNSAkJzsnVmVyc2lvbjog Mi4yJzsKJyRTZXJpYWw6IDYyNDggJCAkUmV2aXNpb246IDEuMTAgJCc7dmFyIGptPSdFbnZlbG9w ZVRvb2xzNScscWE9J1Bvc3RYQlBDJyxxYwo9J1Bvc3RYUHJlZmVyZW5jZXMnLHFiPSdQb3N0WENv b2tpZUNoZWNrJyxqbD0nUG9zdFhDYXJib24uJyxxZD0KJ1Bvc3RYU2Vzc2lvbktleS4nLHFlPSdQ b3N0WFVzZXJLZXkuJyxxaj0zMTUzNjAwMDAwMDAscWY9JycscWg9CidUdWUsIDE5LUphbi0yMDM4 IDAzOjE0OjA3IEdNVCcscWc9MzE1MzYwMDAwMDAwLHFpPTMxNTM2MDAwMDAwMCxxaz0KMzE1MzYw MDAwMDAwOwonJFNlcmlhbDogMDQ3OCAkICRSZXZpc2lvbjogMS4zICQnO3ZhciBqbj0nYXBwbGV0 SG9sZGVyJyxodj0nYXBwbGV0SG9sZGVyJywKdXY9J3VuZGVmaW5lZCcsYnE9J29iamVjdCcsY2w9 J3N0cmluZycsZW09ZmFsc2UsYmc9dHJ1ZTsKJyRTZXJpYWw6IDM4ODggJCAkUmV2aXNpb246IDEu MTUgJCc7ZnVuY3Rpb24gZW4obHYpe3ZhciB4dT0KL15ccypmdW5jdGlvblxzKyhbXihdKykvLGdr O2lmKChnaz14dS5leGVjKGx2KSkpcmV0dXJuIGdrWzFdO3JldHVybicnfQpmdW5jdGlvbiBhZnUo ail7aj1qLnRvU3RyaW5nKDE2KTtpZihqLmxlbmd0aCYxKWo9JzAnK2o7cmV0dXJuJyUnK2p9ZnVu Y3Rpb24KZHMoZCxhZncpe2QrPScnO3ZhciBibSxhLGU9ZC5sZW5ndGgsYmc9Jyc7Zm9yKGE9MDth PGU7YSsrKXtibT1kLmNoYXJBdChhKTtpZgooYm0+PSdBJyYmYm08PSdaJ3x8Ym0+PSdhJyYmYm08 PSd6J3x8Ym0+PScwJyYmYm08PSc5J3x8Ym09PScuJ3x8Ym09PSctJ3x8Ym0KPT0nKid8fGJtPT0n XycpYmcrPWJtO2Vsc2V7Ym09Ym0uY2hhckNvZGVBdCgwKTtpZihhZnd8fGJtPDEyOCl7YmcrPWFm dShibSYKMjU1KX1lbHNlIGlmKGJtPDIwNDgpe2JnKz1hZnUoMTkyfGJtPj4+Nik7YmcrPWFmdSgx Mjh8Ym0mNjMpfWVsc2V7YmcrPWFmdSgKMjI0fGJtPj4+MTIpO2JnKz1hZnUoMTI4fChibT4+PjYp JjYzKTtiZys9YWZ1KDEyOHxibSY2Myl9fX1yZXR1cm4gYmd9CmZ1bmN0aW9uIGpnKGQsYWZ3KXtk Kz0nJzt2YXIgYm0sY2MsYSxlPWQubGVuZ3RoLGJnPScnO2ZvcihhPTA7YTxlO2ErKyl7Ym09ZC4K Y2hhckF0KGEpO3N3aXRjaChibSl7ZGVmYXVsdDpiZys9Ym07YnJlYWs7Y2FzZScrJzpiZys9JyAn O2JyZWFrO2Nhc2UnJSc6aWYoZAogLmNoYXJBdChhKzEpPT0ndScpe2JtPWQuc3Vic3RyKGErMiw0 KTthKz01O2NjPXBhcnNlSW50KGJtLDE2KX1lbHNle2JtPWQuCnN1YnN0cihhKzEsMik7YSs9Mjtj Yz1wYXJzZUludChibSwxNik7aWYoYWZ3fHxjYzwxMjgpe31lbHNlIGlmKGNjPDIyNCl7aWYoZQot YTw0fHxkLmNoYXJBdChhKzEpIT0nJScpe31lbHNle2JtPWQuc3Vic3RyKGErMiwyKTthKz0zO2Nj PSgoY2MmMzEpPDw2KXwoCnBhcnNlSW50KGJtLDE2KSY2Myl9fWVsc2V7aWYoZS1hPDd8fGQuY2hh ckF0KGErMSkhPSclJ3x8ZC5jaGFyQXQoYSs0KSE9JyUnKXsKfWVsc2V7Ym09ZC5zdWJzdHIoYSsy LDIpO2ErPTM7Y2M9KChjYyYxNSk8PDYpfChwYXJzZUludChibSwxNikmNjMpO2JtPWQuCnN1YnN0 cihhKzIsMik7YSs9MztjYz0oY2M8PDYpfChwYXJzZUludChibSwxNikmNjMpfX19YmcrPVN0cmlu Zy5mcm9tQ2hhckNvZGUKKGNjKTticmVha319cmV0dXJuIGJnfWZ1bmN0aW9uIGl4KGQpe2QrPScn O3ZhciBibSxhLGU9ZC5sZW5ndGgsYmc9Jyc7Zm9yKGE9MAo7YTxlO2ErKyl7Ym09ZC5jaGFyQXQo YSk7aWYoYm08JyAnfHxibT4nfid8fGJtPT0nXCcnfHxibT09JyInKWJnKz0nJiMnK2QuCmNoYXJD b2RlQXQoYSkrJzsnO2Vsc2UgYmcrPWJtfXJldHVybiBiZ31mdW5jdGlvbiBhZnooYWdiLGFmeSl7 dmFyIGRwPQphcmd1bWVudHMubGVuZ3RoLG09W10sYTtpZihkcD09MyYmYXJndW1lbnRzWzJdLmVs ZW1lbnRzKXt2YXIgc3Y9YXJndW1lbnRzWzJdCixkdztmb3IoYT0xO2R3PXN2WydrZXknK2FdO2Er KylpZihkdy52YWx1ZSE9JycpbVttLmxlbmd0aF09ZHcudmFsdWV9ZWxzZXtmb3IKKGE9MjthPGRw O2ErKylpZihhcmd1bWVudHNbYV0hPScnKW1bbS5sZW5ndGhdPWFyZ3VtZW50c1thXX1tPW0uam9p bihhZ2IpO2lmKAphZnkpbT1tLnRvTG93ZXJDYXNlKCk7cmV0dXJuIG19ZnVuY3Rpb24gd24oYnks YWZ2KXtpZighYWZ2KWFmdj03Mjt2YXIgYSxjLGU9CmJ5Lmxlbmd0aDtpZignXAonPT0nJylyZXR1 cm4gYnk7dmFyIGdrPW5ldyBBcnJheShNYXRoLmZsb29yKChlK2Fmdi0xKS9hZnYpKTtmb3IoYT1j PTA7YTxlO2EKKz1hZnYrMSxjKyspZ2tbY109Ynkuc3Vic3RyKGEsYWZ2KTtnay5sZW5ndGg9Yzty ZXR1cm4gZ2suam9pbignJyl9dmFyIGFmeD0wOwpmdW5jdGlvbiBhZ2EoYWF0KXt2YXIgZDtpZihq eilkPWFhdCtuZXcgRGF0ZSgpLmdldFRpbWUoKSthZngrKztlbHNlIGRve2Q9YWF0CithZngrK313 aGlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKSk7cmV0dXJuIGR9enc9Zm9ybUtleT1hZno7 emo9CmZpeE11bHRpbGluZVN0cmluZz13bjt6aT1nZW5JZD1hZ2E7YXR0ckVzYz1peDsKJyRTZXJp YWw6IDA2MTEgJCAkUmV2aXNpb246IDEuNiAkJztmdW5jdGlvbiBxdChkeil7dmFyIGY9bmV3IERh dGUoKS5nZXRUaW1lKAopO2lmKCFkeilkej1xYjtqZihkeixmLCcnLCcvJyk7aWYoKGY9KGtkKGR6 KT09ZikpKXFyKGR6LCcvJyk7cmV0dXJuIGZ9CmZ1bmN0aW9uIGtkKGR6KXtkej1kcyhkeik7dmFy IGQ9ZG9jdW1lbnQuY29va2llLHFwPWQuaW5kZXhPZihkeisnPScpO2lmKHFwPT0KLTEpcmV0dXJu IG51bGw7dmFyIHFxPXFwK2R6Lmxlbmd0aCsxLHFvPWQuaW5kZXhPZignOycscXEpO2lmKHFvPT0t MSlxbz1kLgpsZW5ndGg7cmV0dXJuIGpnKGQuc3Vic3RyaW5nKHFxLHFvKSl9ZnVuY3Rpb24gamYo ZHosZHkscWwscW4scW0scXMpe3ZhciBkPWRzCihkeikrJz0nK2RzKGR5KTtpZih0eXBlb2YgcWwh PSdudW1iZXInKXt2YXIgYmU9cGFyc2VJbnQocWwudG9TdHJpbmcoKSk7aWYoYmUKKycnIT0nTmFO JylxbD1iZX1pZih0eXBlb2YgcWw9PSdudW1iZXInKWQrPSc7ZXhwaXJlcz0nK25ldyBEYXRlKG5l dyBEYXRlKCkuCmdldFRpbWUoKStxbCkudG9VVENTdHJpbmcoKTtlbHNlIGlmKHR5cGVvZiBxbD09 Y2wmJnFsIT0nJylkKz0nO2V4cGlyZXM9JytxbDsKZWxzZSBpZih0eXBlb2YgcWw9PWJxKWQrPSc7 ZXhwaXJlcz0nK3FsLnRvVVRDU3RyaW5nKCk7aWYocW4pZCs9JztwYXRoPScrcW47CmlmKHFtKWQr PSc7ZG9tYWluPScrcW07aWYocXMpZCs9JztzZWN1cmUnO2RvY3VtZW50LmNvb2tpZT1kfWZ1bmN0 aW9uIHFyKGR6LApxbixxbSl7aWYoa2QoZHopKWpmKGR6LCcnLC0xMDAwLHFuLHFtKX0KJyRTZXJp YWw6IDI3NDcgJCAkUmV2aXNpb246IDEuNSAkJzt2YXIgeGQ9MSxqdj0yLHhoPTQsd3g9OCx4aT0x NjsKJyRTZXJpYWw6IDI3MTIgJCAkUmV2aXNpb246IDEuMyAkJztmdW5jdGlvbiBwdCgpe3RoaXMu YWxwaGFiZXQ9CidBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0 dXZ3eHl6MDEyMzQ1Njc4OSsvJzt0aGlzLgplbmNvZGVBcnJheT0wO3RoaXMuZGVjb2RlQXJyYXk9 MDt0aGlzLmdldEVuY29kZUFycmF5PWZ1bmN0aW9uKCl7aWYoIXRoaXMuCmVuY29kZUFycmF5KXt2 YXIgZD10aGlzLmFscGhhYmV0LHBxPWQubGVuZ3RoLGJ3PW5ldyBBcnJheShwcSksYTtmb3IoYT0w O2E8cHEKO2ErKylid1thXT1kLmNoYXJDb2RlQXQoYSk7dGhpcy5lbmNvZGVBcnJheT1id31yZXR1 cm4gdGhpcy5lbmNvZGVBcnJheX07dGhpcwogLmVuY29kZVRvQXJyYXk9ZnVuY3Rpb24ocHIsZ2sp e3ZhciBwcT1wci5sZW5ndGgsYnc9dGhpcy5nZXRFbmNvZGVBcnJheSgpLGEsCmMscHMsajthPU1h dGguY2VpbChwcS8zKSo0O2M9TWF0aC5jZWlsKHBxLzMqNCk7cHM9YS1jO2lmKCFnaylnaz1uZXcg QXJyYXkoYSkKO2E9Yz0wO3doaWxlKGE8cHEpe2o9cHIuY2hhckNvZGVBdChhKyspPDwxNjtpZihh PHBxKWp8PXByLmNoYXJDb2RlQXQoYSsrKTw8OAo7aWYoYTxwcSlqfD1wci5jaGFyQ29kZUF0KGEr Kyk7Z2tbYysrXT1id1soaj4+PjE4KSY2M107Z2tbYysrXT1id1soaj4+PjEyKSYKNjNdO2drW2Mr K109YndbKGo+Pj42KSY2M107Z2tbYysrXT1id1tqJjYzXX1nay5sZW5ndGg9Yzt3aGlsZShwcy0t KWdrWy0tY109CjYxO3JldHVybiBna307dGhpcy5lbmNvZGVUb1N0cmluZz1mdW5jdGlvbihwcil7 dmFyIGdrPXRoaXMuZW5jb2RlVG9BcnJheShwcikKLHBxPWdrLmxlbmd0aDtmb3IodmFyIGE9MDth PHBxO2ErKylna1thXT1TdHJpbmcuZnJvbUNoYXJDb2RlKGdrW2FdKTsKcmV0dXJuIGdrLmpvaW4o JycpfTt0aGlzLmdldERlY29kZUFycmF5PWZ1bmN0aW9uKCl7aWYoIXRoaXMuZGVjb2RlQXJyYXkp e3ZhcgpkPXRoaXMuYWxwaGFiZXQscHE9ZC5sZW5ndGgsYnc9bmV3IEFycmF5KDI1NiksYTtmb3Io YT0wO2E8cHE7YSsrKWJ3W2QuCmNoYXJDb2RlQXQoYSldPWE7dGhpcy5kZWNvZGVBcnJheT1id31y ZXR1cm4gdGhpcy5kZWNvZGVBcnJheX07dGhpcy4KZGVjb2RlVG9BcnJheT1mdW5jdGlvbihwcixn ayl7dmFyIHBxPXByLmxlbmd0aCxidz10aGlzLmdldERlY29kZUFycmF5KCksYT0wLApjPTAscHM9 MCxqO3doaWxlKHBxPjAmJnByLmNoYXJBdChwcS0xKT09Jz0nKXtwcS0tO3BzKyt9aWYoIWdrKWdr PW5ldyBBcnJheSgKTWF0aC5jZWlsKHBxLzQqMykpO3doaWxlKGE8cHEpe2o9YndbcHIuY2hhckNv ZGVBdChhKyspXTw8MTg7anw9YndbcHIuCmNoYXJDb2RlQXQoYSsrKV08PDEyO2p8PWJ3W3ByLmNo YXJDb2RlQXQoYSsrKV08PDY7anw9YndbcHIuY2hhckNvZGVBdChhKyspXTsKZ2tbYysrXT0oaj4+ PjE2KSYyNTU7Z2tbYysrXT0oaj4+PjgpJjI1NTtna1tjKytdPWomMjU1fWdrLmxlbmd0aD1jLXBz OwpyZXR1cm4gZ2t9O3RoaXMuZGVjb2RlVG9TdHJpbmc9ZnVuY3Rpb24ocHIpe3ZhciBnaz10aGlz LmRlY29kZVRvQXJyYXkocHIpLHBxCj1nay5sZW5ndGg7Zm9yKHZhciBhPTA7YTxwcTthKyspZ2tb YV09U3RyaW5nLmZyb21DaGFyQ29kZShna1thXSk7cmV0dXJuIGdrLgpqb2luKCcnKX19dmFyIGJi PW5ldyBwdCgpOwonJFNlcmlhbDogNDI0NyAkICRSZXZpc2lvbjogMS4zICQnO3ZhciBieD0weGZm ZmZmZmZmLHB2PTB4N2ZmZmZmZmYscHk9Ci0weDdmZmZmZmZmLHB4PTB4ODAwMDAwMDAscHc9LTB4 ODAwMDAwMDAscHU9YngrMTsKJyRTZXJpYWw6IDUwMjggJCAkUmV2aXNpb246IDEuMyAkJzt2YXIg Y2Q9KHB2fChwdy0xKSkhPXB2O2Z1bmN0aW9uIGRrKGh6KXtoego9aHolcHU7aWYoaHo8cHcpcmV0 dXJufihoeitweCktcHg7aWYoaHo+cHYpcmV0dXJufihoei1weCkrcHg7cmV0dXJufmh6fQpmdW5j dGlvbiBkZShlLGt2KXtlPWUlcHU7a3Y9a3YlcHU7aWYoZTxwdyllKz1wdTtlbHNlIGlmKGU+cHYp ZS09cHU7aWYoa3Y8cHcpCmt2Kz1wdTtlbHNlIGlmKGt2PnB2KWt2LT1wdTtyZXR1cm4gZSZrdn1m dW5jdGlvbiBkaShlLGt2KXtlPWUlcHU7a3Y9a3YlcHU7aWYKKGU8cHcpZSs9cHU7ZWxzZSBpZihl PnB2KWUtPXB1O2lmKGt2PHB3KWt2Kz1wdTtlbHNlIGlmKGt2PnB2KWt2LT1wdTtyZXR1cm4gZQp8 a3Z9ZnVuY3Rpb24gY2goZSxrdil7ZT1lJXB1O2t2PWt2JXB1O2lmKGU8cHl8fGU+cHYpZT0tKGRr KGUpKzEpO2lmKGt2PHB5fHwKa3Y+cHYpa3Y9LShkayhrdikrMSk7cmV0dXJuIGVea3Z9ZnVuY3Rp b24gZG4oZSxrdil7ZT1lJXB1O2lmKGU8cHcpZSs9cHU7ZWxzZQppZihlPnB2KWUtPXB1O3JldHVy biBlPDxrdn1mdW5jdGlvbiBweihlLGt2KXtlPWUlcHU7aWYoZTxwdyllKz1wdTtlbHNlIGlmKGU+ CnB2KWUtPXB1O3JldHVybiBlPj5rdn1mdW5jdGlvbiBjaihlLGt2KXtlPWUlcHU7aWYoZTxwdyll Kz1wdTtlbHNlIGlmKGU+cHYpZQotPXB1O3JldHVybiBlPj4+a3Z9CickU2VyaWFsOiAzMTU3ICQg JFJldmlzaW9uOiAxLjQgJCc7ZnVuY3Rpb24gY2YoeWIpe3ZhciB5YT15Yj4+PjE2LHlkPXliJgo2 NTUzNTtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSh5YT4+PjgpK1N0cmluZy5mcm9tQ2hhckNv ZGUoeWEmMjU1KStTdHJpbmcuCmZyb21DaGFyQ29kZSh5ZD4+PjgpK1N0cmluZy5mcm9tQ2hhckNv ZGUoeWQmMjU1KX1mdW5jdGlvbiBndCh5Yyl7dmFyIGEscHE9eWMKIC5sZW5ndGgsYW89Jyc7Zm9y KGE9MDthPHBxO2ErKylhbys9Y2YoeWNbYV0pO3JldHVybiBhb31mdW5jdGlvbiBncCgpe3ZhciB4 dwo9MTYseWY9KDE8PHh3KSx5ZT15Zi0xO3RoaXMuJHdvcmRzPW5ldyBBcnJheSg2NC94dyk7dmFy IGdrPWFyZ3VtZW50cyxhLGU9CnRoaXMuJHdvcmRzLmxlbmd0aDtmb3IoYT0wO2E8ZTthKyspdGhp cy4kd29yZHNbYV09MDtzd2l0Y2goZ2subGVuZ3RoKXtjYXNlIDEKOnZhciBnaz1na1swXTtpZih0 eXBlb2YgZ2s9PWJxJiZnay4kd29yZHMmJmdrLiR3b3Jkcy5sZW5ndGg9PWUpe2ZvcihhPTA7YTxl OwphKyspdGhpcy4kd29yZHNbYV09Z2suJHdvcmRzW2FdfWVsc2UgdGhpcy4kd29yZHNbZS0xXT1N YXRoLmZsb29yKGdrKTticmVhazsKY2FzZSAyOnRoaXMuJHdvcmRzWzFdPWFyZ3VtZW50c1swXTt0 aGlzLiR3b3Jkc1szXT1hcmd1bWVudHNbMV07YnJlYWs7Y2FzZSA0Ogpmb3IoYT0wO2E8ZTthKysp dGhpcy4kd29yZHNbYV09TWF0aC5mbG9vcihna1thXSk7YnJlYWt9aWYoZ2subGVuZ3RoKXh4KHRo aXMuCiR3b3Jkcyk7ZnVuY3Rpb24geHgoZ2spe3ZhciB4ej0wLGEsZT1nay5sZW5ndGg7Zm9yKGE9 ZS0xO2E+PTA7YS0tKXtna1thXSs9eHoKO2lmKCh4ej1na1thXT4+Pnh3KSlna1thXSY9eWV9fXRo aXMuYWRkPWZ1bmN0aW9uKGRkKXt0aGlzLiR3b3Jkc1t0aGlzLiR3b3JkcwogLmxlbmd0aC0xXSs9 ZGQ7eHgodGhpcy4kd29yZHMpO3JldHVybiB0aGlzfTt0aGlzLm1hc2s9ZnVuY3Rpb24oZGQpe2Zv cih2YXIKYT10aGlzLiR3b3Jkcy5sZW5ndGgtMTthPj0wO2EtLSl7dGhpcy4kd29yZHNbYV0mPWRk O2RkPj49eHd9cmV0dXJuIHRoaXN9Owp0aGlzLm11bHRpcGx5PWZ1bmN0aW9uKGRkKXt2YXIgYSxl PXRoaXMuJHdvcmRzLmxlbmd0aDtmb3IoYT0wO2E8ZTthKyspdGhpcy4KJHdvcmRzW2FdKj1kZDt4 eCh0aGlzLiR3b3Jkcyk7cmV0dXJuIHRoaXN9O3RoaXMuc3ViVG9JbnQ9ZnVuY3Rpb24oZGQpe3Zh ciBhLAplPXRoaXMuJHdvcmRzLmxlbmd0aCxiZz0wO2lmKHR5cGVvZiBkZCE9YnF8fCFkZC4kd29y ZHN8fGRkLiR3b3Jkcy5sZW5ndGghPWUpCmRkPW5ldyBncChkZCk7Zm9yKGE9MDthPGU7YSsrKWJn PShiZzw8MTYpK3RoaXMuJHdvcmRzW2FdLWRkLiR3b3Jkc1thXTsKcmV0dXJuIGJnfTt0aGlzLmdl dEJ5dGU9ZnVuY3Rpb24oZGQpe3ZhciBlPXRoaXMuJHdvcmRzLmxlbmd0aCx4eT1kZD4+PjE7aWYo Cnh5Pj1lKXJldHVybi0xO2lmKGRkJjEpcmV0dXJuIHRoaXMuJHdvcmRzW2UteHktMV0+Pj44O3Jl dHVybiB0aGlzLiR3b3Jkc1tlCi14eS0xXSYyNTV9fQonJFNlcmlhbDogMTU4MyAkICRSZXZpc2lv bjogMS44ICQnO2Z1bmN0aW9uIGNrKCl7dmFyIGNiPW5ldyBBcnJheSgyNTYpLGJyLGJ2Cixiejt0 aGlzLiRkaWdlc3Q9Yng7aWYoY2QpZm9yKGJ2PTA7YnY8MjU2O2J2Kyspe2JyPWJ2O2Zvcihiej0w O2J6PDg7YnorKylicj0KKGJyJjEpP2NoKGNqKGJyLDEpLDB4ZWRiODgzMjApOmNqKGJyLDEpO2Ni W2J2XT1icn1lbHNlIGZvcihidj0wO2J2PDI1NjtidisrKQp7YnI9YnY7Zm9yKGJ6PTA7Yno8ODti eisrKWJyPShiciYxKT8oYnI+Pj4xKV4weGVkYjg4MzIwOmJyPj4+MTtjYltidl09YnJ9dmFyCmNt PShjZD9mdW5jdGlvbihicyxidyxidSxidCl7dmFyIGJtLGEsY2U9dHlwZW9mIGJ3PT1jbDtmb3Io YT1idTthPGJ0O2ErKyl7Ym0KPWNlP2J3LmNoYXJDb2RlQXQoYSk6YndbYV07YnM9Y2JbY2goYnMs Ym0pJjI1NV1eY2ooYnMsOCl9cmV0dXJuIGJzfTpmdW5jdGlvbgooYnMsYncsYnUsYnQpe3ZhciBi bSxhLGNlPXR5cGVvZiBidz09Y2w7Zm9yKGE9YnU7YTxidDthKyspe2JtPWNlP2J3LgpjaGFyQ29k ZUF0KGEpOmJ3W2FdO2JzPWNiWyhic15ibSkmMjU1XV4oYnM+Pj44KX1yZXR1cm4gYnN9KTtmdW5j dGlvbiBjZyhicywKYncsYnUsYnQpe3ZhciBlPWJ3Lmxlbmd0aDtpZighYnUpYnU9MDtlbHNlIGlm KGJ1PDApYnUrPWU7aWYoIWJ0KWJ0PWU7ZWxzZSBpZgooYnQ8MClidCs9ZTtyZXR1cm4gY20oYnMs YncsYnUsYnQpfXRoaXMuQ1JDU3RyaW5nPShjZD9mdW5jdGlvbihjYSl7cmV0dXJuIGNmCihjaChj ZyhieCxjYSksYngpKX06ZnVuY3Rpb24oY2Epe3JldHVybiBjZihjZyhieCxjYSleYngpfSk7dGhp cy5kaWdlc3Q9CmZ1bmN0aW9uKGNhLGJ1LGJ0KXt0aGlzLiRkaWdlc3Q9Y2codGhpcy4kZGlnZXN0 LGNhLGJ1LGJ0KX07dGhpcy5maW5hbGl6ZT0oY2QKP2Z1bmN0aW9uKCl7dmFyIGNjPWNoKHRoaXMu JGRpZ2VzdCxieCk7dGhpcy4kZGlnZXN0PWJ4O3JldHVybiBjZihjYyl9OgpmdW5jdGlvbigpe3Zh ciBjYz10aGlzLiRkaWdlc3ReYng7dGhpcy4kZGlnZXN0PWJ4O3JldHVybiBjZihjYyl9KTt0aGlz LgpsZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gNH19dmFyIGNpPW5ldyBjaygpO2Z1bmN0aW9uIGNu KGJ5KXtpZihieSYmYnkubGVuZ3RoCj40KXt2YXIgZD1ieS5zdWJzdHIoNCk7aWYoY2kuQ1JDU3Ry aW5nKGQpPT1ieS5zdWJzdHIoMCw0KSlyZXR1cm4gZH1yZXR1cm4gMH0KZnVuY3Rpb24gY28oYnkp e3JldHVybiBjaS5DUkNTdHJpbmcoYnkpK2J5fQonJFNlcmlhbDogMTY0MyAkICRSZXZpc2lvbjog MS43ICQnO2Z1bmN0aW9uIHF4KG0scXYscXUsYXUpe3JldHVybiBxdyhtLHF2LHF1CixhdSxiZyl9 ZnVuY3Rpb24gcXkobSxxdixxdSxhdSl7cmV0dXJuIHF3KG0scXYscXUsYXUsZW0pfWZ1bmN0aW9u IHF3KG0scXYscXUKLGF1LGJjKXtxdj1xdj8na2V5cyc6J2RhdGEnO3F1PXF1W3F2XTthdT1hdVtx dl07aWYoIXdpbmRvd1txdV0pe2FsZXJ0KAonTm8gc3VjaCBhbGdvcml0aG0gYCcrcXUrJ1wnJyk7 cmV0dXJuO31yZXR1cm4gbmV3IHdpbmRvd1txdV0obSxhdSxiYyl9CmZ1bmN0aW9uIHF6KHF2LHF1 KXtxdT1xdVtxdj1xdj8na2V5cyc6J2RhdGEnXTtpZihxdT09J0NSQzMyJylyZXR1cm4gbmV3IGNr KCkKO2lmKHF1PT0nU0hBMScpcmV0dXJuIG5ldyBTSEExKCk7YWxlcnQoJ05vIHN1Y2ggYWxnb3Jp dGhtIGAnK3F1KydcJycpfQonJFNlcmlhbDogNTE4OSAkICRSZXZpc2lvbjogMS4xOCAkJzt2YXIg a2o9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpCixpZD1rai5pbmRleE9mKCdtc2ll JykhPS0xLGl5PSFpZCxrYT1wYXJzZUludChuYXZpZ2F0b3IuYXBwVmVyc2lvbiksano9aXkmJgpr YTw1LHZlPWtqLmluZGV4T2YoJ25ldHNjYXBlNi8nKSE9LTEsank9a2ouaW5kZXhPZignIGdlY2tv LycpKzEsdXk9a2ouCmluZGV4T2YoJyBmaXJlZm94LzInKSsxLHZjPWtqLmluZGV4T2YoJyBmaXJl Zm94LzMnKSsxLHZkPWtqLmluZGV4T2YoCidtc2llIDUuMCcpIT0tMSx1ej1rai5pbmRleE9mKCdt c2llIDcnKSE9LTEsdmY9a2ouaW5kZXhPZignb3BlcmEnKSE9LTEsdmIsdXgKPWtqLmluZGV4T2Yo J3dpbmRvd3MgbnQgNicpIT0tMSx2YT11eiYmdXgsdXc9MCxpdD0wLGp4PTA7aWYobmF2aWdhdG9y LgpwbGF0Zm9ybS5zdWJzdHIoMCwzKT09J01hYycpe2lmKGl5KXV3PWtqLmluZGV4T2YoJ21hYyBv cyB4Jyk9PS0xO2Vsc2V7dXc9a2ouCmluZGV4T2YoJ21zaWUnKTt1dz1wYXJzZUZsb2F0KGtqLnN1 YnN0cih1dys1KSk8NS4yfWl0PSF1dztpZigoang9a2ouaW5kZXhPZigKJyBhcHBsZXdlYmtpdC8n KSsxKSlrYT1wYXJzZUludChrai5zdWJzdHIoangrMTIpKS8xMDB9aWYoankpdmI9cGFyc2VJbnQo a2ouCnN1YnN0cihqeSs2KSk7dmFyIGlzPXV3fHxpdCx2Zz1lbSx2aD0hangsdmk9angsaXo9KHV3 fHx2YXx8KHV5JiZsb2NhdGlvbi4KcHJvdG9jb2whPSdmaWxlOicpfHwoIW5hdmlnYXRvci5qYXZh RW5hYmxlZCgpKSk7T1NNYWNPUzk9dXc7T1NNYWNPU1g9aXQ7CmJyb3dzZXJBcHBsZVdlYktpdD1q eDsKJyRTZXJpYWw6IDU2MTcgJCAkUmV2aXNpb246IDEuOCAkJzt2YXIgYWFhPTAsenY9MSxhYWY9 Mixzbj0zLGFhZT00LHJ4PS0xLGFhago9MCxhYWc9NSxhYWg9NixzZz03LHVyPTgsdXM9OSxhYWk9 MTA7U1RBVFVTX05FVz1hYWE7U1RBVFVTX0lOUFJPR1JFU1M9enY7ClNUQVRVU19CQURFTkNPRElO Rz1hYWY7U1RBVFVTX0JBRFBBU1NXT1JEPXNuO1NUQVRVU19CQURIQVNIPWFhZTtTVEFUVVNfRE9O RT0Kcng7U1RBVFVTX1NVQ0NFU1M9YWFqO1NUQVRVU19CQURQT1NUTUFSSz1hYWc7U1RBVFVTX0JB RFNJR05BVFVSRT1hYWg7ClNUQVRVU19UT09NQU5ZQkFEUEFTU1dPUkRTPXNnO1NUQVRVU19JTkNP TVBBVElCTEU9dXI7U1RBVFVTX1BBU1NXT1JEQ0hBTkdFRD0KdXM7U1RBVFVTX05PVVNFUlNFTEVD VEVEPWFhaTsKJyRTZXJpYWw6IDYxMjMgJCAkUmV2aXNpb246IDEuMyAkJztmdW5jdGlvbiB2cChx bil7dmFyIHZsPXFuLmxhc3RJbmRleE9mKAonXFwnKSx2bT1xbi5sYXN0SW5kZXhPZignLycpO3Jl dHVybiBxbi5zdWJzdHIoKHZsPnZtP3ZsOnZtKSsxKX1mdW5jdGlvbiB2cSgKdmssdm8sdm4sdmop e2lmKHR5cGVvZiB2aj09Y2wpdmo9W3ZqXTt2YXIgZW0sYSxlPXZqLmxlbmd0aDtmb3IoYT0wO2E8 ZTthKyspCmlmKCF2a1t2althXV0pYnJlYWs7aWYoYTxlKWVtPXZqW2FdO2Vsc2V7YT0wO2U9bmV3 IERhdGUoKS5nZXRUaW1lKCk7ZG8gZW09CidQWFRlbXAuJytlKycuJythKysrdm87d2hpbGUodmtb ZW1dKX1pZih2bil2a1tlbV09MTtyZXR1cm4gZW19CickU2VyaWFsOiA0MDc0ICQgJFJldmlzaW9u OiAxLjYgJCc7ZnVuY3Rpb24gQVJDNChtLGF1LGJjKXt2YXIgYm89bmV3IEFycmF5KAoyNTYpLGQ9 bmV3IEFycmF5KDI1NiksYSxjLGJnO2lmKHR5cGVvZiBhdSE9YnEpYXU9eydrZXlzaXplJzphdSwn cHJlcnVuJzpiY307CnZhciBiaz1hdS5rZXlzaXplO2lmKCFia3x8Yms+bS5sZW5ndGgpYms9bS5s ZW5ndGg7Zm9yKGE9Yz0wO2E8MjU2O2ErKyl7ZFthXT0KYTtib1thXT1tLmNoYXJDb2RlQXQoYyk7 aWYoKytjPT1iayljPTB9Zm9yKGE9Yz0wO2E8MjU2O2ErKyl7Yz0oYytkW2FdK2JvW2FdKQomMjU1 O2JnPWRbYV07ZFthXT1kW2NdO2RbY109Ymd9YT1jPTA7aWYoYXUucHJlcnVuKWZvcih2YXIgYm09 MDtibTwyNTY7Ym0rKyl7CmE9KGErMSkmMjU1O2M9KGMrZFthXSkmMjU1O2JnPWRbYV07ZFthXT1k W2NdO2RbY109Ymd9dGhpcy5TPWQ7dGhpcy5JPWE7dGhpcy4KSj1jO3RoaXMuY3J5cHQ9ZnVuY3Rp b24oYmYpe3ZhciBibCxicCxiaT10aGlzLlMsYmg9dGhpcy5JLGJqPXRoaXMuSixiZSxlPWJmLgps ZW5ndGgsYm49dHlwZW9mIGJmPT1icTtpZighYm4pe3ZhciBiZz1uZXcgQXJyYXkoZSk7Zm9yKGJl PTA7YmU8ZTtiZSsrKWJnW2JlCl09YmYuY2hhckNvZGVBdChiZSk7YmY9Ymd9Zm9yKGJlPTA7YmU8 ZTtiZSsrKXtiaD0oYmgrMSkmMjU1O2JqPShiaitiaVtiaF0pJgoyNTU7Ymw9YmlbYmhdO2JwPWJp W2JoXT1iaVtial07YmlbYmpdPWJsO2JmW2JlXV49YmlbKGJwK2JsKSYyNTVdfXRoaXMuST1iaDsK dGhpcy5KPWJqO2lmKCFibil7Zm9yKGJlPTA7YmU8ZTtiZSsrKWJmW2JlXT1TdHJpbmcuZnJvbUNo YXJDb2RlKGJmW2JlXSk7YmY9CmJmLmpvaW4oJycpfXJldHVybiBiZn07aWYoYmMpdGhpcy5kZWNy eXB0PXRoaXMuY3J5cHQ7ZWxzZSB0aGlzLmVuY3J5cHQ9dGhpcy4KY3J5cHR9CickU2VyaWFsOiAz OTE2ICQgJFJldmlzaW9uOiAxLjEwICQnO2Z1bmN0aW9uIHd3KHdyKXt2YXIgZD1rZCh3cikseGc7 aWYoZCYmKGQKPWNuKGQpKSl7dmFyIHdwPWQuY2hhckNvZGVBdCgwKSx3bz1kLnN1YnN0cigxKSx3 cT0nJztpZih3cCZ3eCl7dmFyIGE9d28uCmluZGV4T2YoJzsnKTt3cT13by5zdWJzdHIoMCxhKTt3 bz13by5zdWJzdHIoYSsxKX1yZXR1cm4gbmV3IEFycmF5KHdwLHdvLHdxKX0KcmV0dXJuIGR9ZnVu Y3Rpb24ga2Iod28sd3UsYmssd3Asd3Epe2lmKHdwJmp2KXt3cCY9fnhkO3dvPW5ldyBBUkM0KHd1 LGJrLDEpLgpjcnlwdChjbyh3bykpfXdvPVN0cmluZy5mcm9tQ2hhckNvZGUod3ApKygod3Amd3gp JiZ3cT93cSsnOyc6JycpK3dvOwpyZXR1cm4gY28od28pfWZ1bmN0aW9uIHNwKHdyLHdzLHdvLHd1 LGJrLHdwLHdxKXtqZih3cixrYih3byx3dSxiayx3cCx3cSksd3MsCicvJyl9ZnVuY3Rpb24gd3Yo d3Ipe3FyKHdyLCcvJyl9ZnVuY3Rpb24geGEoZW8pe3JldHVybiBkPXd3KHFkK2VvKX1mdW5jdGlv bgp4Yyhlbyx3cyx4YixtLGJrLHdwLHdxKXtzcChxZCtlbyx3cyx4YixtLGJrLHdwLHdxKX1mdW5j dGlvbiB3eShlbyl7d3YocWQrZW8pCn1mdW5jdGlvbiB4ZSh3dCl7cmV0dXJuIGQ9d3cocWUrd3Qp fWZ1bmN0aW9uIHhmKHd0LHdzLG0sd3Asd3Epe3NwKHFlK3d0LHdzLG0KLCcnLDAsd3Asd3EpfWZ1 bmN0aW9uIHd6KHd0KXt3dihxZSt3dCl9enE9Z2V0Q2FjaGVkU2Vzc2lvbktleT14YTt6cD0Kc2V0 Q2FjaGVkU2Vzc2lvbktleT14Yzt6bz1kZWxDYWNoZWRTZXNzaW9uS2V5PXd5O2RlbENhY2hlZFVz ZXJLZXk9d3o7CickU2VyaWFsOiAwMzI3ICQgJFJldmlzaW9uOiAxLjEzICQnO3ZhciB1c2VyVGV4 dD17fSx4cT17J19hcHBsZXRNc2cnOgonVGhlIHNlY3VyZSBkb2N1bWVudCBjb3VsZG5cJ3QgYmUg b3BlbmVkLCBwb3NzaWJseSAnKwonYmVjYXVzZSB5b3UgY2hvc2Ugbm90IHRvIGluc3RhbGwgSmF2 YSBvciBFbnZlbG9wZSBUb29scy4gSWYgeW91XCdkICcrCidsaWtlIHRvIHZpZXcgdGhlIHNlY3Vy ZSBkb2N1bWVudCwgY2xvc2UgeW91ciBicm93c2VyLCByZW9wZW4gJysKJ3RoZSBhdHRhY2htZW50 LCBhbmQgYWdyZWUgdG8gaGF2ZSBKYXZhIGFuZC9vciBFbnZlbG9wZSBUb29scyAnKwonaW5zdGFs bGVkIGlmIGFza2VkLicsJ19vbmxpbmVPcHRpb24nOgonVGhlIHNlY3VyZSBkb2N1bWVudCBjb3Vs ZG5cJ3QgYmUgb3BlbmVkLCBwb3NzaWJseSAnKwonYmVjYXVzZSB5b3UgY2hvc2Ugbm90IHRvIGlu c3RhbGwgSmF2YSBvciBkaWRuXCd0IGdyYW50ICcrCidwZXJtaXNzaW9uIGZvciBFbnZlbG9wZSBU b29scyB0byBydW4uIFRvIHNlbmQgdGhlIHNlY3VyZSBkb2N1bWVudCAnKwondG8gYSB3ZWIgc2l0 ZSB0byBiZSBkZWNyeXB0ZWQsIGNsaWNrIE9LLiBUbyBjbG9zZSB5b3VyIGJyb3dzZXIgJysKJ2Fu ZCB0cnkgYWdhaW4sIGNsaWNrIENhbmNlbC4nLCdfdmVyaWZ5TXNnJzoKJ1RoZSBlbnZlbG9wZSBj b3VsZG5cJ3QgYmUgdmVyaWZpZWQsIHBvc3NpYmx5IGJlY2F1c2UgJysKJ3lvdSBjaG9zZSBub3Qg dG8gaW5zdGFsbCBKYXZhIG9yIEVudmVsb3BlIFRvb2xzLiBJZiB5b3VcJ2QgbGlrZSB0byAnKwon dmVyaWZ5IHRoZSBlbnZlbG9wZSwgY2xvc2UgeW91ciBicm93c2VyLCByZW9wZW4gdGhlIGF0dGFj aG1lbnQsICcrCidhbmQgYWdyZWUgdG8gaGF2ZSBKYXZhIGFuZC9vciBFbnZlbG9wZSBUb29scyBp bnN0YWxsZWQgaWYgYXNrZWQuJywKJ19Ob1BheWxvYWQnOidUaGlzIGVudmVsb3BlIGRvZXNuXCd0 IGNvbnRhaW4gYSBwYXlsb2FkLCBwbGVhc2UgJysKJ2NvbnRhY3QgdGhlIHNlbmRlciBmb3IgYSBy ZXBsYWNlbWVudC4nLCdfRGVjUHJvZ1RpdGxlJzoKJ0RlY3J5cHRpbmcgcGF5bG9hZC4uLicsJ19T dGF0dXNEZWNJbml0JzonRGVjcnlwdGlvbiBQcm9ncmVzczogSW5pdGlhbGl6aW5nJwosJ19TdGF0 dXNEZWNQY3QnOidEZWNyeXB0aW9uIFByb2dyZXNzOiAkWzBdJScsJ19QcmVwYXJpbmcnOgonUHJl cGFyaW5nIGVudmVsb3BlLi4uJywnX1N0YXR1c1ByZXBhcmluZyc6J1ByZXBhcmluZyBlbnZlbG9w ZS4uLicsCidfU3RhdHVzUHJlcFBjdCc6J1ByZXBhcmF0aW9uIFByb2dyZXNzOiAkWzBdJScsJ19E aXNwbGF5Q29udic6CidDb252ZXJ0aW5nIHBheWxvYWQgZm9yIGRpc3BsYXkuLi4nLCdfU3RhdHVz RGlzcGxheUNvbnYnOgonQ29udmVyc2lvbiBQcm9ncmVzczogSW5pdGlhbGl6aW5nJywnX1N0YXR1 c0Rpc3BsYXlDb252UGN0JzoKJ0NvbnZlcnNpb24gUHJvZ3Jlc3M6ICRbMF0lJywnX1NhdmVkMVBh dGgnOidGaWxlIHNhdmVkIHRvICRbMF0nLAonX1NhdmVkblBhdGgnOidGaWxlcyBzYXZlZCB0byAk WzBdJywnX1NhdmVkbkZpbGUnOidPcGVuICRbMF0gdG8gdmlldycsCidfU3RhdHVzRG9uZSc6J0Rv Y3VtZW50OiBEb25lJywnX1Rvb2xzTG9hZGluZyc6J0xvYWRpbmcgRW52ZWxvcGUgVG9vbHMuLi4n LAonX0Vycm9yQmFkUHdkJzonSW5jb3JyZWN0IHBhc3N3b3JkLiBQbGVhc2UgdHJ5IGFnYWluLics J19FcnJvclB3ZENoYW5nZWQnOgonUGFzc3dvcmQgY2hhbmdlZCwgcmUtZW50ZXIuJywnX0Vycm9y QmFkUHdkcyc6CidZb3VcJ3ZlIG1hZGUgdG9vIG1hbnkgaW5jb3JyZWN0IHBhc3N3b3JkICcrCidh dHRlbXB0cy4gVGhpcyBlbnZlbG9wZSBjYW5ub3QgYmUgb3BlbmVkLicsJ19Ob1VzZXJTZWxlY3Rl ZCc6CidZb3UgbXVzdCBzZWxlY3QgYW4gYWRkcmVzcyBmcm9tIHRoZSBtZW51LicsJ19Ob1VzZXJF bnRlcmVkJzoKJ1lvdSBtdXN0IGVpdGhlciBzZWxlY3QgYW4gYWRkcmVzcyBmcm9tICcrJ3RoZSBt ZW51IG9yIGVudGVyIGFuIGFkZHJlc3MuJywKJ19QbGF0Zm9ybUluY29tcGF0aWJsZSc6J1RoaXMg ZW52ZWxvcGUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCAnKwoneW91ciBwbGF0Zm9ybS4nfSx4bj1b XTtmdW5jdGlvbiB4cigpe3JldHVybiB4bi5qb2luKCdfJyl9ZnVuY3Rpb24geHYoeGope3huCj14 bSh4ail9ZnVuY3Rpb24geG0oeGope2lmKHR5cGVvZiB4aiE9Y2x8fHhqPT0nJylyZXR1cm5bXTt2 YXIgZD14ai5zcGxpdCgnXycKKTtpZihkLmxlbmd0aD4zKWQubGVuZ3RoPTM7cmV0dXJuIGR9ZnVu Y3Rpb24gc3MoZHoseGwpe3JldHVybiB4byhkeix4bCwKZ2V0TG9jYWxlKCksYXJndW1lbnRzLDIp fWZ1bmN0aW9uIHhzKGR6LHhsLHhqKXt2YXIgYmc9dHlwZW9mIHhqO2lmKGJnPT11dil4ago9Z2V0 TG9jYWxlKCk7ZWxzZSBpZihiZz09Y2wpeGo9eG0oeGopO3JldHVybiB4byhkeix4bCx4aixhcmd1 bWVudHMsMyl9CmZ1bmN0aW9uIHhvKGR6LHhsLHhqLGRyLGFtKXt2YXIgYSxidz1beHEsdXNlclRl eHRdLGQ9dXNlclRleHQ7Zm9yKGE9MDthPHhqLgpsZW5ndGg7YSsrKXtpZih0eXBlb2YoZD1kW3hq W2FdXSkhPWJxKWJyZWFrO2J3W2J3Lmxlbmd0aF09ZH1mb3IoYT1idy5sZW5ndGgKLTE7YT49MDth LS0paWYodHlwZW9mKGQ9YndbYV1bZHpdKT09Y2wpYnJlYWs7aWYodHlwZW9mIGQhPWNsKWQ9dHlw ZW9mIHhsPT1jbAo/eGw6Jyc7cmV0dXJuIHhwKGQsZHIsYW0pfWZ1bmN0aW9uIHh0KHhrKXtyZXR1 cm4geHAoeGssYXJndW1lbnRzLDEpfWZ1bmN0aW9uCnhwKHhrLGRyLGFtKXt2YXIgeHU9L1x4MjRc WyhcZCspXF0vLGdrO2J3PScnO3doaWxlKChnaz14dS5leGVjKHhrKSkpe2lmKGdrLgppbmRleCli dys9eGsuc3Vic3RyKDAsZ2suaW5kZXgpO2E9K2drWzFdK2FtO2lmKHR5cGVvZiBkclthXSE9dXYp YncrPWRyW2FdO3hrCj14ay5zdWJzdHIoZ2suaW5kZXgrZ2tbMF0ubGVuZ3RoKX1yZXR1cm4gYncr eGt9em49Z2V0VGV4dD1zczsKZ2V0TG9jYWxpemVkVGV4dD14cztnZXRMb2NhbGU9eHI7c2V0TG9j YWxlPXh2O2ludGVycG9sYXRlVGV4dD14dDsKJyRTZXJpYWw6IDQxODYgJCAkUmV2aXNpb246IDEu NCAkJztmdW5jdGlvbiBrZyh5aCx5ail7dmFyIHlnLHlpLHlrO2Zvcih5ZyBpbgp5ail7eWk9dHlw ZW9mIHloW3lnXTt5az10eXBlb2YgeWpbeWddO2lmKHlpPT11dnx8KCh5aT09YnEpXih5az09YnEp KSl5aFt5Z109CnlqW3lnXTtlbHNlIGlmKHlpPT1icSYmeWs9PWJxKWtnKHloW3lnXSx5alt5Z10p fXJldHVybiB5aH0KJyRTZXJpYWw6IDAyMzAgJCAkUmV2aXNpb246IDEuMTggJCc7dmFyIHNsPTEs c209MixhY2g9OCx6ZT0xNix5eT0zMixhYWQ9NjQsCnpmPTEyOCxhYmo9MjU2LGFiYj01MTIsYWNq PTEwMjQsYWNnPTIwNDgsYWNpPTQwOTYsYWNyPTgxOTIsanA9MCxqdT0xLGpyPTIsanQKPTMsanE9 NCxpcj01LGpzPTYsam89NyxhYnE9MSxhY2Q9MixhY2Y9NCxhY3Q9OCxhY3M9MTYsYWN1PTMyLGFj dz0xLGFjdj0yLGFjbAo9MyxhY2s9NCxhY2U9MSxqaD0wLGlxPTB8YWNlLGpqPTJ8YWNlLGprPTR8 YWNlLGppPTh8YWNlLGloPTE2fGFjZSxhYnQ9ewonaGFzaCc6J1NIQTEnLCdrZXlTZXJ2ZXJLZXlI YXNoJzonU0hBMScsJ2VuY3J5cHRpb24nOnsna2V5cyc6J0FSQzQnLCdkYXRhJzoKJ0FSQzQnfSwn dmVyaWZpY2F0aW9uJzp7J2tleXMnOidDUkMzMicsJ2RhdGEnOidDUkMzMid9fSxhYnU9eyd0b29s cyc6cWosCidzZXNzaW9uS2V5JzpxaSwndXNlcktleSc6cWssJ2JhZFBhc3N3b3JkQ291bnQnOnFm LCdoYXJkZW5lcic6cWcsCidwcmVmZXJlbmNlcyc6cWh9LGFjbT1bJ1dtVndjR1ZzYVc0Z2NuVnNa WE1oJ107UEZMQUdfQ0FDSEVfU0VTU0lPTl9LRVk9emU7ClBGTEFHX0FVVE9fT1BFTj15eTtQRkxB R19DQUNIRV9VU0VSX0tFWT1hYWQ7UEZMQUdfRU5DUllQVF9DQUNIRURfU0VTU0lPTl9LRVkKPXpm O1BGTEFHX0FMTE9XX1VTSU5HX09OTElORV9PUEVORVI9YWJqO1BGTEFHX09QRU5fUkVRVUlSRVNf QVBQTEVUPWFiYjsKUEZMQUdfU1VQUFJFU1NfQVBQTEVUX0ZPUl9PUEVOPWFjajtQRkxBR19MQVVO Q0hfSU5fU0FNRV9XSU5ET1c9YWNnOwpQRkxBR19SRU1FTUJFUl9NRT1hY2k7UEZMQUdfVVNFX0JS T1dTRVI9YWNyO0FDVElPTl9PUEVOPWpoO0FDVElPTl9TQVZFPWlxOwpBQ1RJT05fVkVSSUZZX1BP U1RNQVJLPWpqO0FDVElPTl9WRVJJRllfU0lHTkFUVVJFPWprO0FDVElPTl9TQVZFX09ORV9GSUxF PWppCjtBQ1RJT05fQVVUSEVOVElDQVRFX0FORF9PUEVOPWloOwonJFNlcmlhbDogMzQ5MiAkICRS ZXZpc2lvbjogMS42ICQnO2Z1bmN0aW9uIGFmaShkeil7dmFyIGFmbz0xLGFmaj0wLGFmZz17fTsK ZnVuY3Rpb24gYWZwKGR6LGx2KXtyZXR1cm4gZnVuY3Rpb24oYWZmKXtyZXR1cm4gbHYoZHosYWZm KX19ZnVuY3Rpb24gYWZxKGFmcgope3ZhciBhZmg9YWZpLmFsbFByZWZzLGJkLGFmaztpZighZHp8 fCEoYmQ9Y24oa2QoZHopKSl8fCtiZC5jaGFyQXQoMCkhPWFmbykKYmQ9Jyc7YmQ9YmQuc3BsaXQo JywnKTt2YXIgYSxlPWJkLmxlbmd0aCxkLGJnO2ZvcihhPTE7YTxlO2ErKyl7ZD1iZFthXS5zcGxp dAooJz0nKTtpZighKGFmaz1hZmhbZFswXV0pKXtiZz1kWzBdLnN1YnN0cigxLDEpLnRvTG93ZXJD YXNlKCkrZFswXS5zdWJzdHIoMik7CmlmKCEoYWZrPWFmaFtiZ10pKWNvbnRpbnVlO2RbMF09Ymd9 c3dpdGNoKGFmayl7Y2FzZSdCJzpkWzFdPWQubGVuZ3RoPT0xPzE6K2QKWzFdPzE6MDticmVhaztj YXNlJ0knOmlmKGlzTmFOKGRbMV09cGFyc2VJbnQoZFsxXSkpKWRbMV09MH1hZmdbZFswXV09ZFsx XX0KdmFyIGx2O2ZvcihhIGluIGFmaCl7c3dpdGNoKGFmaFthXSl7Y2FzZSdCJzpsdj1hZm07YnJl YWs7Y2FzZSdJJzpsdj1hZm47CmJyZWFrfWFmclthXT1hZnAoYSxsdil9fXRoaXMucHJlZj1mdW5j dGlvbihkeixhZmYpe3ZhciBiZz1hZmkuYWxsUHJlZnNbZHpdOwppZighYmcpdGhyb3cgbmV3IGFm cygnVW5rbm93biBwcmVmZXJlbmNlICInK2R6KyciJyk7c3dpdGNoKGJnKXtjYXNlJ0InOgpyZXR1 cm4gYWZtKGR6LGFmZik7Y2FzZSdJJzpyZXR1cm4gYWZuKGR6LGFmZil9fTt0aGlzLm1vZGlmaWVk PWZ1bmN0aW9uKCl7CnJldHVybiB0aGlzLm1vZGRlZH07ZnVuY3Rpb24gYWZtKGR6LGFmZil7aWYo YWZmIT11bmRlZmluZWQpYWZmPSthZmY/MTowO2lmKCEKYWZnW2R6XSlhZmdbZHpdPTA7cmV0dXJu IGNnKGR6LGFmZik/MTowfWZ1bmN0aW9uIGFmbihkeixhZmYpe2lmKGFmZiE9CnVuZGVmaW5lZClp Zihpc05hTihhZmY9cGFyc2VJbnQoYWZmKSkpYWZmPTA7aWYoIWFmZ1tkel0pYWZnW2R6XT0wO3Jl dHVybiBjZygKZHosYWZmKX1mdW5jdGlvbiBjZyhkeixhZmYpe3ZhciBhZmw9YWZnW2R6XTtpZihh ZmYhPXVuZGVmaW5lZCYmYWZmIT1hZmwpe2FmZwpbZHpdPWFmZjthZmo9MX1yZXR1cm4gYWZsfXRo aXMuc2F2ZT1mdW5jdGlvbihxbCxxbixxbSxxcyl7aWYoYWZqKXt2YXIgYWZoPQphZmkuYWxsUHJl ZnMsZGQsZixiZD1hZmcsZD0nJztmb3IoZGQgaW4gYmQpe2Y9YmRbZGRdO3N3aXRjaChhZmhbZGRd KXtjYXNlJ0InCjppZighZiljb250aW51ZTtmPScnO2JyZWFrO2Nhc2UnSSc6aWYoIWYpY29udGlu dWU7Zj0nPScrZjticmVhaztkZWZhdWx0Ogpjb250aW51ZX1kKz0nLCcrZGQrZn1pZihkKWpmKGR6 LGNvKGFmbytkKSxxbCxxbixxbSxxcyk7ZWxzZSBxcihkeixxbixxbSk7YWZqCj0wfX07YWZxKHRo aXMpfWFmaS5hbGxQcmVmcz17J2lnbm9yZUFwcGxldEltYWdlJzonQicsCidpZ25vcmVBcHBsZXRJ bWFnZUFsd2F5cyc6J0InLCdmb3JjZUFwcGxldFJlbG9hZCc6J0InLAonZm9yY2VBcHBsZXRSZWxv YWRBbHdheXMnOidCJywnYXBwbGV0RGVidWdMZXZlbCc6J0knLAonYXBwbGV0RGVidWdMZXZlbEFs d2F5cyc6J0knfTt2YXIgaGw9bmV3IGFmaShxYyksZ1ByZWZzPWhsOwonJFNlcmlhbDogNjM5NCAk ICRSZXZpc2lvbjogMS4yMCAkJzt2YXIgZmM9MSxldj0yLGV4PTMsZmI9NCxmZD01LGZhPTYsZXo9 NywKZXk9OCxldz05LGV1PTEwLGVyPS0xLGdjPTEsZmc9MixmbD0zLGdhPTQsZmo9NSxmcT02LGdi PTcsZm89OCxmbj05LGdkPTEwLGZtPQoxMSxmZj0xMixmZT0xMyxmaT0xNCxmdT0xNSxmdD0xNixm eT0xNyxmej0xOCxmdz0xOSxmaD0yMCxmeD0yMSxmaz0yMixmcj0yMywKZnM9MjUsZnY9MjYsZnA9 MjcsUlBDX0ZMQUdfTkVFRF9TRVNTSU9OX0tFWT0xLGV0PTEsZXM9MjtyMT0KUlBDX1NUQVRFX1ZJ RVdJTkdfRU5WRUxPUEU9ZmM7cjI9UlBDX1NUQVRFX09QRU5JTkdfRU5WRUxPUEU9ZXY7cjM9ClJQ Q19TVEFURV9TQVZJTkdfRU5WRUxPUEU9ZXg7cjQ9UlBDX1NUQVRFX1ZFUklGWUlOR19FTlZFTE9Q RT1mYjtyNT0KUlBDX1NUQVRFX1ZJRVdJTkdfUEFZTE9BRD1mZDtyNj1SUENfU1RBVEVfVkVSSUZJ RURfRU5WRUxPUEVfU1VDQ0VTUz1mYTtyNz0KUlBDX1NUQVRFX1ZFUklGSUVEX0VOVkVMT1BFX0ZB SUxVUkU9ZXo7UlBDX1NUQVRFX1NFTEVDVElOR19SRUNJUElFTlQ9ZXk7ClJQQ19TVEFURV9QT0xM X1JFU1VMVD1ldztSUENfU1RBVEVfRUNITz1ldTtyaD1SUENfU1RBVFVTX05PX1NFUlZFUj1lcjty aT0KUlBDX1NUQVRVU19WQUxJRD1nYztyaj1SUENfU1RBVFVTX0JBRF9QQVNTV09SRD1mZztyaz0K UlBDX1NUQVRVU19NQUxGT1JNRURfUkVRVUVTVD1mbDtybD1SUENfU1RBVFVTX1NFUlZFUl9FUlJP Uj1nYTtybT0KUlBDX1NUQVRVU19FWFBJUkVEPWZqO3JuPVJQQ19TVEFUVVNfUEVSTUFORU5UX0xP Q0tFRD1mcTtybz0KUlBDX1NUQVRVU19URU1QT1JBUllfTE9DS0VEPWdiO3JwPVJQQ19TVEFUVVNf Tk9fUkVDT1JEX0ZPVU5EPWZvO3JxPQpSUENfU1RBVFVTX05PX0xPR0lOX1NFU1NJT049Zm47cnM9 UlBDX1NUQVRVU19OT1RfUkVHSVNURVJFRD1mbTsKUlBDX1NUQVRVU19BVVRIRU5USUNBVElPTl9G QUlMRUQ9ZmY7UlBDX1NUQVRVU19BQ0NFU1NDSEVDS19GQUlMRUQ9ZmU7ClJQQ19TVEFUVVNfRVhD RUVEX01BWF9GQUlMRURfT1BFTlM9Zmk7ClJQQ19TVEFUVVNfUkVDSVBJRU5UX0lERU5USUZJRURf Tk9fQVVUSF9SRVFVSVJFRD1mdTsKUlBDX1NUQVRVU19SRUNJUElFTlRfSURFTlRJRklFRF9BVVRI X1JFUVVJUkVEPWZ0OwpSUENfU1RBVFVTX1JFQ0lQSUVOVF9OT1RfU0VOVF9FTlZFTE9QRT1meTtS UENfU1RBVFVTX1JFQ0lQSUVOVF9TVVNQRU5ERUQ9Zno7ClJQQ19TVEFUVVNfUkVDSVBJRU5UX05P VF9BQ1RJVkFURUQ9Znc7UlBDX1NUQVRVU19FTlZFTE9QRV9MT0NLRUQ9Zmg7ClJQQ19TVEFUVVNf UkVDSVBJRU5UX05PVF9JREVOVElGSUVEPWZ4O1JQQ19TVEFUVVNfSU5WQUxJRF9TRVNTSU9OPWZr OwpSUENfU1RBVFVTX1BPTExfRkFJTEVEPWZyO1JQQ19TVEFUVVNfUkVDSVBJRU5UX0JMT0NLRUQ9 ZnM7ClJQQ19TVEFUVVNfUkVDSVBJRU5UX0xPQ0tFRD1mdjtSUENfU1RBVFVTX1BBU1NXT1JEX0VY UElSRUQ9ZnA7ClJQQ19TT1VSQ0VfRU5WRUxPUEU9ZXQ7UlBDX1NPVVJDRV9BVVRIX0ZSQU1FPWVz OwonJFNlcmlhbDogMzE2OSAkICRSZXZpc2lvbjogMS44Mi44LjEuMjIuMSAkJzt2YXIgaHUsYWF3 PTAsYWFwPTAsdXU7ZnVuY3Rpb24KYWJ6KHN2LGFibyxhYm4sYWNxLGFjcCxhYnYsZHIpe3N2PWRv Y3VtZW50LmZvcm1zW3N2XTt2YXIgYWFxLGhqPXsnY2h1bmtlZCc6CmFyZ3VtZW50cy5sZW5ndGg+ MywnYXJncyc6ZHIsJ2NvbXBsZXRpb25TY3JpcHQnOmFidiwnZm9ybSc6c3YsCidmb3JtRWxlbWVu dE5hbWUnOmFib307aWYoYWJuJiYoYWFxPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGFibikpJiYo YWFxPWFhcS4KaW5uZXJIVE1MKSYmKGhqLmRhdGE9YWFxLm1hdGNoKC9kPShbXiImXSspL2cpKSl7 aGouaW5kZXg9MDtoai5tYXhEdXJhdGlvbj0KMTAwMDtoai5wcm9ncmVzc1N0YXRlPTA7aGoudGlt ZU91dD1pcz8xMjU6MTtpZihoai5jaHVua2VkKXtodT1oajtzZXRUaW1lb3V0KAoiYWJlKGh1KSIs aGoudGltZU91dCl9ZWxzZSBhYmUoaGopfWVsc2UgaWYoc3YmJihhYXE9c3ZbYWJvXS52YWx1ZSkp e2hqLmRhdGE9CmFhcTtoai5wcm9ncmVzc1N0YXRlPS0xO2FiZyhoail9ZWxzZSBhbGVydChzcygn X05vUGF5bG9hZCcpKX1mdW5jdGlvbiBhYmUoaGoKKXt2YXIgY2M9aGouZGF0YSxhPWhqLmluZGV4 LGU9Y2MubGVuZ3RoLGFiaCxhYWI9aGouY2h1bmtlZD9uZXcgRGF0ZSgpLgpnZXRUaW1lKCkraGou bWF4RHVyYXRpb246MDtkb3tjY1thXT1jY1thXS5yZXBsYWNlKC9bXG5cclx0IF0rL2csJycpO2Nj W2FdPWpnCihjY1thXS5zdWJzdHIoMiksMSk7aWYoanh8fHZmKXtpZigoYWJoPWNjW2FdLnNlYXJj aCgvW15cclxuXS8pKT4wKXtjY1thXT1jY1sKYV0uc3Vic3RyKGFiaCk7aWYoYT4wJiYocHE9Y2Nb YS0xXS5sZW5ndGgpPjAmJmNjW2EtMV0uY2hhckF0KHBxLTEpPT0nXFwnKWNjWwphLTFdPWNjW2Et MV0uc3Vic3RyaW5nKDAscHEtMSl9Y2NbYV09Y2NbYV0ucmVwbGFjZSgvXFxbXG5ccl0rL2csJycp fWErK30Kd2hpbGUoYTxlJiYoIWFhYnx8bmV3IERhdGUoKS5nZXRUaW1lKCk8YWFiKSk7dmFyIGFh dT1hL2U7c3dpdGNoKGhqLgpwcm9ncmVzc1N0YXRlKXtjYXNlIDA6aWYoYWF1Pi4zfHwhaGouYXJn c3x8IWhqLmFyZ3MucHJvZ3Jlc3NGbil7aGouCnByb2dyZXNzU3RhdGU9LTE7YnJlYWt9aGouYXJn cy5wcm9ncmVzc0ZuKCdzdGFydCcsaGouYXJncy5wcm9ncmVzc0FyZ3MpO2hqLgpwcm9ncmVzc1N0 YXRlPTE7Y2FzZSAxOmhqLmFyZ3MucHJvZ3Jlc3NGbihhYXUsaGouYXJncy5wcm9ncmVzc0FyZ3Mp O2JyZWFrfWlmCihhPT1lKXtoai5kYXRhPWNjPWNjLmpvaW4oJycpO2lmKGhqLmZvcm0mJmhqLmZv cm1FbGVtZW50TmFtZSloai5mb3JtW2hqLgpmb3JtRWxlbWVudE5hbWVdLnZhbHVlPWNjO2lmKGhq LmNodW5rZWQpc2V0VGltZW91dCgiYWJnKGh1KSIsaGoudGltZU91dCk7CmVsc2UgYWJnKGhqKX1l bHNle2hqLmluZGV4PWE7c2V0VGltZW91dCgiYWJlKGh1KSIsaGoudGltZU91dCl9fWZ1bmN0aW9u IGFiZygKaGope3ZhciBzdj1oai5mb3JtO2lmKGhqLnByb2dyZXNzU3RhdGUmJmhqLmFyZ3MmJmhq LmFyZ3MucHJvZ3Jlc3NGbiloai5hcmdzLgpwcm9ncmVzc0ZuKCdjbGVhcicsaGouYXJncy5wcm9n cmVzc0FyZ3MpO2lmKGhqLmNodW5rZWQpaHU9MDtldmFsKCd3aW5kb3cuJysKInBheWxvYWQiKyc9 Jytoai5kYXRhKTt2YXIgaGs9cGF5bG9hZDtpZihzdil7aGsuZm9ybT17J2FjdGlvbic6c3YuYWN0 aW9uLAonZm9ybSc6c3Z9O3N2LmFjdGlvbj0namF2YXNjcmlwdDp2b2lkKDApJ31pZighaGsuc2Vn bWVudHMpaGsuc2VnbWVudHM9W2hrLgpkYXRhLmxlbmd0aC0yLDEsMV07aWYoIWhrLnJpZCloay5y aWQ9YWNtO2Vsc2UgaWYodHlwZW9mIGhrLnJpZD09Y2wpaGsucmlkPVsKaGsucmlkXTtpZighaGsu YWxnbmFtZXMpaGsuYWxnbmFtZXM9YWJ0O2Vsc2Uga2coaGsuYWxnbmFtZXMsYWJ0KTtpZighaGsu Cm1heEJhZFBhc3N3b3Jkcyloay5tYXhCYWRQYXNzd29yZHM9MDtpZighaGsucHJvZ3Jlc3NyYXRp byl7aWYoaGsuYWxnbmFtZXMuCmVuY3J5cHRpb24uZGF0YT09J0FFUycpaGsucHJvZ3Jlc3NyYXRp bz0uNztlbHNlIGhrLnByb2dyZXNzcmF0aW89LjR9aWYoIWhrLgpleHBpcmllcyloay5leHBpcmll cz1hYnU7ZWxzZSBrZyhoay5leHBpcmllcyxhYnUpO2lmKCFoay5rZXluYW1lKWhrLmtleW5hbWU9 CidEZWZhdWx0JztpZighaGsuc2lna2V5bmFtZSloay5zaWdrZXluYW1lPSdEZWZhdWx0JztpZigh aGsuZmxhZ3MpaGsuZmxhZ3M9MDsKaWYoIWhrLmtleXNpemUpaGsua2V5c2l6ZT0wO2lmKGhrLmNy eXB0Q29tcHJlc3NlZCloay5mbGFnc3w9c2w7aWYoaGsuCnBsYWluQ29tcHJlc3NlZCloay5mbGFn c3w9c207aWYoc3Yub3BlbmVySG9zdCYmc3Yub3BlbmVySG9zdC52YWx1ZSE9JycpaGsuCmZsYWdz fD1hYmo7dmFyIGEsZD1oay5hbGduYW1lcy5lbmNyeXB0aW9uO2lmKGQua2V5cz09J0FSQzQnfHxk LmRhdGE9PSdBUkM0JykKe2lmKCFoay5hbGdwYXJhbXMpaGsuYWxncGFyYW1zPXt9O2lmKCFoay5h bGdwYXJhbXMuZW5jcnlwdGlvbiloay5hbGdwYXJhbXMuCmVuY3J5cHRpb249e307Ymc9aGsuYWxn cGFyYW1zLmVuY3J5cHRpb247Zm9yKGEgaW57J2tleXMnOjAsJ2RhdGEnOjB9KWlmKGRbYV0KPT0n QVJDNCcpe2lmKCFiZ1thXSliZ1thXT17fTtiZ1thXS5rZXlzaXplPWhrLmtleXNpemU7YmdbYV0u cHJlcnVuPShoay5mbGFncwomYWNoKSE9MH19aWYoaGsuYWxnbmFtZXMuZW5jcnlwdGlvbi5rZXlz PT0nUlNBJyloay5mbGFnc3w9YWJiO2lmKCEoaGsuZmxhZ3MmCmFiYikpe3ZhciBlPWhrLnRvYy5s ZW5ndGg7Zm9yKGE9MDthPGU7YSsrKWlmKGhrLnRvY1thXVtqcV0mYWNmKXtoay5mbGFnc3w9CmFi YjticmVha319aWYoKGQ9eGEoaGsubXNnSUQpKSl7aWYoKGRbMF0mKHhkfGp2KSk9PXhkKWhrLmZs YWdzfD15eTtlbHNlIGhrLgpmbGFncyY9fnl5O2hrLnNlbGVjdGVkSUQ9ZFsyXTtpZihkWzBdJmp2 KWhrLmVuY3J5cHRlZFNlc3Npb25LZXk9ZFsxXTtlbHNlIGhrCiAuc2Vzc2lvbktleT1kWzFdfWlm KGhrLnVzZXJrZXluYW1lJiYoZD14ZShoay51c2Vya2V5bmFtZSkpKXtpZihkWzBdJnhkKWhrLgpm bGFnc3w9eXk7ZWxzZSBoay5mbGFncyY9fnl5O2hrLnVzZXJLZXk9ZFsxXTtoay5zZWxlY3RlZElE PWRbMl07aWYoZFswXSZ4aSl7CmlmKGhrLmFsZ25hbWVzLmtleVNlcnZlcktleUhhc2g9PSdTSEEx Jyloay51c2VyS2V5PW5ldyBTSEExKGhrLnVzZXJLZXksMCwwLApiZykuZmluYWxpemUoKX1lbHNl e2hrLmFsZ25hbWVzLmtleVNlcnZlcktleUhhc2g9J1NIQTEnfX1pZihoai4KY29tcGxldGlvblNj cmlwdClldmFsKGhqLmNvbXBsZXRpb25TY3JpcHQrJzsnKX1mdW5jdGlvbiBhYXgoaGspe3ZhciBl bT1oay4KZm9ybS5mb3JtO2VtLmFjdGlvbj1oay5mb3JtLmFjdGlvbjtlbS5vbnN1Ym1pdD0nJztl bS5zdWJtaXQoKX1mdW5jdGlvbiBhY2EoCmhrLG0sYWJ5LGhtLGFhbSxzcixhYnIpe2lmKGFhdyly ZXR1cm4gZW07Z1VzZXJBcmc9dXU9c3I7YWF3PTE7aWYoYWFtLgpwcm9ncmVzcylhYW0ucHJvZ3Jl c3MoJ2NsZWFyJyxzcik7aWYoIWFhbS5jb21wbGV0aW9uKWFhbS5jb21wbGV0aW9uPWFieDt2YXIK aGo9eydmbnMnOmFhbSwnYXJnJzpzciwna2V5Jzpoay51c2VyS2V5fHxuZXcgU0hBMShtLDAsMCxi ZykuZmluYWxpemUoKSwKJ2FjdGlvbic6aG0sJ3BheWxvYWQnOmhrLCd0aW1lT3V0Jzppcz8xMjU6 MSwnZHVyYXRpb24nOmFieSwnYXBwbGV0TXNnJzphYnIsCidhcHBsZXROYW1lJzpqbSwnYXBwbGV0 Q2xhc3MnOidQb3N0JysnWFRvb2xzJ307aWYoaGsuYWxnbmFtZXMuCmtleVNlcnZlcktleUhhc2g9 PSdwbGFpbicpaGoucGxhaW5LZXk9bXx8aGsudXNlcktleTtodT1oajtpZihoay5ldmVudCYmaGsu CmV2ZW50LmN0cmxLZXkmJiFoay5ldmVudC5hbHRLZXkmJiFoay5ldmVudC5zaGlmdEtleSlobC5m b3JjZUFwcGxldFJlbG9hZCgxKTsKaGsuZXZlbnQ9YWNuPWVtO2lmKGhrLmVuY3J5cHRlZFNlc3Np b25LZXkpe3ZhciBhYmY9bmV3IEFSQzQoaGoua2V5LGhrLgprZXlzaXplLDEpLmNyeXB0KGhrLmVu Y3J5cHRlZFNlc3Npb25LZXkpO2lmKCEoZD1jbihhYmYpKSl7YWFtLmVycm9yKHNuLHNyKTsKc2Uo MSk7cmV0dXJuIGVtfWhrLnNlc3Npb25LZXk9ZDt2YXIgc3Y9ZG9jdW1lbnQuZm9ybXNbaGsuZm9y bS5pbmRleF07aWYoc3YmJgpzdi5zZXNzaW9ua2V5KXN2LnNlc3Npb25rZXkudmFsdWU9YmIuZW5j b2RlVG9TdHJpbmcoZCl9aWYoIWhrLnNlc3Npb25LZXkmJmhrCiAuaGFyZGVuZXJuYW1lKXtpZigo ZD13dyhqbCtoay5oYXJkZW5lcm5hbWUpKSYmZFsxXS5sZW5ndGg+NCl7dmFyIGFiZj1uZXcKQVJD NChoai5rZXksaGsua2V5c2l6ZSwxKS5jcnlwdChkWzFdKTtpZighKGQ9Y24oYWJmKSkpe2FhbS5l cnJvcihzbixzcik7c2UoMQopO3JldHVybiBlbX1oai5oYXJkZW5lcj1kfX1pZigoaGouYWN0aW9u PT1qaHx8aGouYWN0aW9uPT1pcSkmJiFoay5zZXNzaW9uS2V5CiYmKGhrLmRhdGFbMF09PScnfHwo aGsuaGFyZGVuZXJuYW1lJiYhaGouaGFyZGVuZXIpKSl7dmFyIGFjYj1oai5hY3Rpb249PWpoPwpl djpleCxlbz1oay5oYXJkZW5lcm5hbWU/aGsuaGFyZGVuZXJuYW1lK2hrLnJpZFswXTpoay5tc2dJ RCxhYXk9eydzdSc6aGsuCnNlbGVjdGVkSUR9O2lmKGhrLmNvb2tpZXNFbmFibGVkKWFheS5ybT0o aGsuZmxhZ3MmYWNpPzE6MCk7aWYoaGsuCnNlY3VyZVJlcGx5QWxnKWFheS5zcmE9aGsuc2VjdXJl UmVwbHlBbGc7aWYoIWhrLm5vVXNlcktleU5lZWRlZCl7dmFyIGFibT0KdHlwZW9mIGhqLnBsYWlu S2V5PT11dixtPWFibT9oai5rZXk6aGoucGxhaW5LZXksYWF0PScnO2lmKGhrLnJwYy50cmFmZmlj S2V5KQp7YWF0PSdhcmM0Oic7bT1uZXcgQVJDNChoay5ycGMudHJhZmZpY0tleSwwLDEpLmNyeXB0 KG0pfWFhdCs9YWJtPydzaGExJzpoay4KYWxnbmFtZXMua2V5U2VydmVyS2V5SGFzaDthYXQ9J2Jh c2U2NDonK2FhdDthYXkuaz1hYXQrJywnK2JiLmVuY29kZVRvU3RyaW5nKAptKX1lbChoay5ycGMs ZW8sYWNiLFJQQ19GTEFHX05FRURfU0VTU0lPTl9LRVksYWNvLGFheSk7cmV0dXJuIGVtfXJldHVy biBhYncoCmdjKX1mdW5jdGlvbiBhYncoYWJjLGVpLG0sYWJzKXt2YXIgaGo9aHUsaGs9aGoucGF5 bG9hZDtpZihhYmMhPWdjKXtpZihoai5mbnMKIC5wcm9ncmVzcyloai5mbnMucHJvZ3Jlc3MoJ2Ns ZWFyJyxoai5hcmcpO2lmKGFiYz09ZmcmJiFoay51c2VyS2V5KWhqLmZucy4KZXJyb3Ioc24saGou YXJnKTtlbHNlIGhqLmZucy5ycGMoaGssZWksUlBDX0ZMQUdfTkVFRF9TRVNTSU9OX0tFWSxhYmMs aGouYXJnLAphYnMpO3NlKDEpO3JldHVybiBlbX1pZihtKXtpZihoay5oYXJkZW5lcm5hbWUpaGou aGFyZGVuZXI9bTtlbHNlIGhrLgpzZXNzaW9uS2V5PW19aWYoIWhrLmhhcmRlbmVybmFtZSl7dmFy IHp1PXR5cGVvZiBoai5wbGFpbktleSE9dXYsd289KHp1P2hqLgpwbGFpbktleTpoai5rZXkpO2lm KGhrLmZsYWdzJmFhZCl4Zihoay51c2Vya2V5bmFtZSxoay5leHBpcmllcy51c2VyS2V5LHdvLCgo CmhrLmZsYWdzJnl5KT94ZDowKXwoaGsuc2VsZWN0ZWRJRD93eDowKXwoenU/eGk6MCksaGsuc2Vs ZWN0ZWRJRCl9aWYoaGsuCmhhcmRlbmVybmFtZSYmaGouaGFyZGVuZXIpe2hqLnVzZXJLZXk9aGou a2V5O2hqLmtleT1oai5oYXJkZW5lcn12YXIgYWJwPShoay4KZmxhZ3MmYWJiKXx8KGhqLmFjdGlv biZhY2UpO2lmKChoai51c2luZ0FwcGxldD1hYnApKXtpZihpeil7aWYoaGsuZmxhZ3MmYWJqKQph YXgoaGspO2Vsc2UgYWFtLmVycm9yKHVyLGhqLmFyZyk7cmV0dXJuIGVtfWhrLnByb2dyZXNzcmF0 aW89MX1pZihoai5hY3Rpb24KPT1qaCYmYWJwJiYoaGsuZmxhZ3MmYWNqKSlhYXgoaGspO2Vsc2Ug c2V0VGltZW91dCgiYWNjKCkiLGhqLnRpbWVPdXQpOwpyZXR1cm4gZW19ZnVuY3Rpb24gYWNjKCl7 dmFyIGhqPWh1LGhrPWhqLnBheWxvYWQ7aWYoaGsuYWxnbmFtZXMuZW5jcnlwdGlvbi4Ka2V5cyE9 J1JTQScmJihoai5hY3Rpb249PWpofHxoai5hY3Rpb249PWlxKSYmaGsuZGF0YVswXSE9JycmJiFz aigpKXJldHVybjtpZgooIWhqLnVzaW5nQXBwbGV0KXtpdSgwKTtyZXR1cm47fWFhcD1zZXRUaW1l b3V0KCJzZSgwKSIsNTAwMCk7aWYoIWtpKGhqLgphcHBsZXROYW1lKSl7cXIoaGouYXBwbGV0TmFt ZSwnLycpO2hsLmZvcmNlQXBwbGV0UmVsb2FkKDEpO2hsLnNhdmUoaGsuCmV4cGlyaWVzLnByZWZl cmVuY2VzLCcvJyk7aWYoKGhrLmZsYWdzJmFiaikmJmhqLmFjdGlvbj09amgpe2lmKGNvbmZpcm0o c3MoCidfb25saW5lT3B0aW9uJykpKXthYXgoaGspO3JldHVybjt9fWVsc2UgaWYoaGouYWN0aW9u PT1qanx8aGouYWN0aW9uPT1qaykKYWxlcnQoc3MoJ192ZXJpZnlNc2cnKSk7ZWxzZXt2YXIgcnI9 aGouYXBwbGV0TXNnO2lmKCFycilycj1zcygnX2FwcGxldE1zZycpOwphbGVydChycil9c2UoMSl9 fWZ1bmN0aW9uIHNlKHJlKXt2YXIgaGo9aHUsaGs9aGoucGF5bG9hZHx8Jyc7aWYocmUpaHU9MDsK Y2xlYXJUaW1lb3V0KGFhcCk7YWFwPTA7YWF3PTA7aGoua2V5PWhrLnNlc3Npb25LZXk9Jyc7aWYo aGomJmhqLmZucyYmaGouZm5zLgpmaW5hbGl6ZSloai5mbnMuZmluYWxpemUocmUsaGouYXJnKX1m dW5jdGlvbiBpdShyZSl7aWYoYWFwKXtjbGVhclRpbWVvdXQoYWFwCik7YWFwPTB9YWF3PTE7amQ9 MTtpZihyZSE9MCl7c2UoMSk7cmV0dXJuO312YXIgaGo9aHUsaGs9aGoucGF5bG9hZDtpZihoai5m bnMKIC5wcm9ncmVzcyloai5mbnMucHJvZ3Jlc3MoJ3N0YXJ0Jyxoai5hcmcpO3NldFRpbWVvdXQo InNoKCkiLGhqLnRpbWVPdXQpfXZhcgphYXMsYWF2PTAsYWJpPTEsYWF6PTIsYWJhPTQ7ZnVuY3Rp b24gYWJ4KHNhLHNmLHNyKXt2YXIgaGo9aHUsaGs9aGoucGF5bG9hZCwKYmYsYmUsYSxlPWhrLnRv Yy5sZW5ndGgsYWFsLGFhaz0nJyxzdT0wO2ZvcihhPTA7YTxlO2ErKyl7YmU9aGsudG9jW2FdO2lm KGJlWwpqdV09PWFjayl7YmY9YmVbanFdJmFicT9zYTpzZjthYWs9YmYuc3Vic3RyKGJlW2lyXVsw XSxiZVtpcl1bMV0pO2JyZWFrfX1mb3IoCmE9MDthPGU7YSsrKXtiZT1oay50b2NbYV07YmY9YmVb anFdJmFicT9zYTpzZjtiZj1iZi5zdWJzdHIoYmVbaXJdWzBdLGJlW2lyXVsKMV0pO2lmKGhqLmFj dGlvbj09amgmJihiZVtqcV0mYWNkKSl7YWFsPWJmO3N1PWJlW2p1XT09YWNsfX1pZih0eXBlb2Yg YWFsPT11dgopcmV0dXJuO2hqPWFhcz17J2lucHV0JzpbYWFsLGFha10sJ2lzVGV4dCc6W3N1LGZh bHNlXSwnY29udmVydCc6W2FhdixhYXZdLAonaW5kZXgnOi0xLCdvZmZzZXQnOjAsJ2FjY3VtJzpb XSwndGltZU91dCc6aGoudGltZU91dCwnZHVyYXRpb24nOmhqLmR1cmF0aW9uCiwncGF5bG9hZCc6 aGssJ3RvdGFsTGVuJzowLCdjdXJMZW4nOjAsJ3Byb2dyZXNzRm4nOmhqLmZucy5wcm9ncmVzcywn dXNlckFyZycKOmhqLmFyZywncHJvZ3Jlc3NTdGF0ZSc6MCwnbmFtZXMnOnsndGl0bGUnOlsnX0Rp c3BsYXlDb252JywKJ19TdGF0dXNEaXNwbGF5Q29udiddLCdjb21wbGV0ZWQnOidfU3RhdHVzRGlz cGxheUNvbnZQY3QnfX07dmFyIGEsZT1oai5pbnB1dAogLmxlbmd0aCxhYmQsZDtmb3IoYT0wO2E8 ZTthKyspe2Q9aGouaW5wdXRbYV07aWYoaGouaXNUZXh0W2FdKWhqLmNvbnZlcnRbYV0KfD1hYmk7 YWJkPWQuc3Vic3RyKDAsMik7aWYoYWJkPT0nXHUwMGZlXHUwMGZmJyloai5jb252ZXJ0W2FdfD1h YXo7ZWxzZSBpZigKYWJkPT0nXHUwMGZmXHUwMGZlJyloai5jb252ZXJ0W2FdfD1hYmE7aWYoaGou Y29udmVydFthXSE9YWF2KXtoai50b3RhbExlbis9ZAogLmxlbmd0aDtpZihoai5pbmRleD09LTEp aGouaW5kZXg9YX19aWYoaGouaW5kZXg+PTApc2V0VGltZW91dCgiYWJrKGFhcykiLGhqCiAudGlt ZU91dCk7ZWxzZSBhYmwoaGopO3JldHVybicnfWZ1bmN0aW9uIGFiayhoail7dmFyIGFhbj1oai5p bmRleCxjYT1oai4KaW5wdXRbYWFuXSxhYXI9aGouY29udmVydFthYW5dLGFtPWhqLm9mZnNldCxw cT1jYS5sZW5ndGg7aWYoYW09PTAmJihhYXImYWF6Cnx8YWFyJmFiYSkpYW09Mjt2YXIgYm0sYWFv PScnLGFhYj1uZXcgRGF0ZSgpLmdldFRpbWUoKStoai5kdXJhdGlvbjtkb3tpZihhYXIKJmFheili bT1TdHJpbmcuZnJvbUNoYXJDb2RlKGNhLmNoYXJDb2RlQXQoYW0rKyk8PDh8Y2EuY2hhckNvZGVB dChhbSsrKSk7ZWxzZQppZihhYXImYWJhKWJtPVN0cmluZy5mcm9tQ2hhckNvZGUoY2EuY2hhckNv ZGVBdChhbSsrKXxjYS5jaGFyQ29kZUF0KGFtKyspPDw4Cik7ZWxzZSBibT1jYS5jaGFyQXQoYW0r Kyk7aWYoYWFyJmFiaSl7aWYoYm09PSdceDI2JylibT0nXHgyNmFtcDsnO2Vsc2UgaWYoYm0KPT0n XHgzYycpYm09J1x4MjZsdDsnO2Vsc2UgaWYoYm09PSdceDNlJylibT0nXHgyNmd0Oyd9YWFvKz1i bTtpZihhYW8ubGVuZ3RoPgoxMDApe2hqLmFjY3VtW2hqLmFjY3VtLmxlbmd0aF09YWFvO2Fhbz0n J319d2hpbGUoYW08cHEmJm5ldyBEYXRlKCkuZ2V0VGltZSgpCjxhYWIpO2lmKGFhbyl7aGouYWNj dW1baGouYWNjdW0ubGVuZ3RoXT1hYW87YWFvPScnfWhqLmN1ckxlbis9YW0taGoub2Zmc2V0Owp2 YXIgYWF1PWhqLmN1ckxlbi9oai50b3RhbExlbjtzd2l0Y2goaGoucHJvZ3Jlc3NTdGF0ZSl7Y2Fz ZSAwOmlmKGFhdT4uM3x8IWhqCiAucHJvZ3Jlc3NGbil7aGoucHJvZ3Jlc3NTdGF0ZT0tMTticmVh a31oai5wcm9ncmVzc0ZuKCdzdGFydCcsaGoudXNlckFyZyxoai4KbmFtZXMpO2hqLnByb2dyZXNz U3RhdGU9MTtjYXNlIDE6aGoucHJvZ3Jlc3NGbihhYXUsaGoudXNlckFyZyxoai5uYW1lcyk7CmJy ZWFrfWlmKGFtPHBxKWhqLm9mZnNldD1hbTtlbHNle2hqLmlucHV0W2Fhbl09aGouYWNjdW0uam9p bignJyk7aGouYWNjdW0uCmxlbmd0aD0wO3BxPWhqLmlucHV0Lmxlbmd0aDtkbyBhYW4rKzt3aGls ZShoai5jb252ZXJ0W2Fhbl09PWFhdiYmYWFuPHBxKWlmKAphYW49PXBxKXtzZXRUaW1lb3V0KCJh YmwoYWFzKSIsaGoudGltZU91dCk7cmV0dXJuO31oai5pbmRleD1hYW47aGoub2Zmc2V0PTB9CnNl dFRpbWVvdXQoImFiayhhYXMpIixoai50aW1lT3V0KX1mdW5jdGlvbiBhYmwoaGope2Fhcz0wO3Zh ciBhYWw9aGouaW5wdXRbMF0KLGFhaz1oai5pbnB1dFsxXTtpZihhYWspe3ZhciBoaz1oai5wYXls b2FkLGE9YWFrLmluZGV4T2YoJyRbMF0nKTthYWs9eHQoYWFrLAphYWwsKGhrLnNlY3VyZU5hbWU/ aGsuc2VjdXJlTmFtZTonJyksKGhrLmxvZ291dFVSTD9oay5sb2dvdXRVUkw6JycpKTtpZihhPT0K LTEpYWFrPWFhaysnXHgzY2hyXHgzZScrYWFsO2FhbD1hYWt9ZG9jdW1lbnQub3BlbigpO2RvY3Vt ZW50LndyaXRlKGFhbCsKJ1x4M2MhLS0nKTtkb2N1bWVudC53cml0ZSgnLS1ceDNlJyk7ZG9jdW1l bnQuY2xvc2UoKX1mdW5jdGlvbiBrZih3ZSl7dmFyIGhqPQpodSxoaz1oai5wYXlsb2FkO2lmKGhr LmZsYWdzJmFjZylzZXRUaW1lb3V0KCdsb2NhdGlvbi5ocmVmID0gIicrd2UucmVwbGFjZSgKJyIn LCdcXCInKSsnIicsMTAwKTtlbHNlIHdpbmRvdy5vcGVuKHdlKX16eD1wcm9jZXNzUGF5bG9hZD1h Y2E7em09CmluaXRpYWxpemVQYXlsb2FkPWFiejt6bD1vcGVuT25saW5lPWFheDsKJyRTZXJpYWw6 IDQ3MDAgJCAkUmV2aXNpb246IDEuMTYgJCc7ZnVuY3Rpb24gc28oKXt2YXIgaGo9aHUsaGs9aGou cGF5bG9hZCxhLApkO3RoaXMuc3RhdGU9aGo7dmFyIGQ9aGsuc2VnbWVudHM7dGhpcy5lbmRzPVtk WzBdXTtmb3IoYT0xO2E8ZC5sZW5ndGg7YSsrKQp0aGlzLmVuZHNbYV09dGhpcy5lbmRzW2EtMV0r ZFthXTtpZihoay5zZXNzaW9uS2V5KXt0aGlzLnNlZ21lbnQ9MTt0aGlzLmtleT0KaGsuc2Vzc2lv bktleTt0aGlzLmRhdGFJbmRleD10aGlzLmVuZHNbMF07aWYoaGsuZmxhZ3MmemUpeGMoaGsubXNn SUQsaGsuCmV4cGlyaWVzLnNlc3Npb25LZXksaGsuc2Vzc2lvbktleSxoai5rZXksaGsua2V5c2l6 ZSwoKGhrLmZsYWdzJnl5KT94ZDowKXwoKApoay5mbGFncyZ6Zik/anY6MCl8KChoay5zZWxlY3Rl ZElEKT93eDowKSxoay5zZWxlY3RlZElEKX1lbHNle3RoaXMuc2VnbWVudD0wCjt0aGlzLmtleT1o ai5rZXk7dGhpcy5kYXRhSW5kZXg9MH12YXIgenU9dHlwZW9mIGhqLnBsYWluS2V5IT11dix3bz0o enU/aGouCnBsYWluS2V5OmhqLmtleSk7aWYoaGsuZmxhZ3MmYWFkKXhmKGhrLnVzZXJrZXluYW1l LGhrLmV4cGlyaWVzLnVzZXJLZXksd28sKCgKaGsuZmxhZ3MmeXkpP3hkOjApfCgoaGsuc2VsZWN0 ZWRJRCk/d3g6MCl8KCh6dSk/eGk6MCksaGsuc2VsZWN0ZWRJRCk7dGhpcy4KdXNlcktleT1oai5r ZXk7dGhpcy5za2lwUGxhaW49aGoudXNpbmdBcHBsZXQ/MTowO3RoaXMuc3RySW5kZXg9MDt0aGlz LgpjdXJPdXRBcnJheT1bXTt0aGlzLmN1ck91dExlbj0wO3RoaXMuZGF0YUhhc2g9Jyc7dGhpcy5k YXRhSGFzaExlbj0wO3RoaXMuCmhhc2hlcj0wO3RoaXMuZGVjcnlwdG9yT2JqPTA7dGhpcy5wbGFp blRleHQ9Jyc7dGhpcy5jcnlwdFRleHQ9Jyc7dGhpcy4KdG90YWxEb25lPTA7dGhpcy50b3RhbEJ5 dGVzPTA7dGhpcy5wcm9ncmVzc1JhdGlvPWhrLnByb2dyZXNzcmF0aW87dGhpcy4KY3VyU3RhdHVz PWFhYTt0aGlzLnNhbHQ9YmIuZGVjb2RlVG9TdHJpbmcoaGsuc2FsdCk7ZD1oay5kYXRhO2Zvcihh PTA7YTxkLgpsZW5ndGgtdGhpcy5za2lwUGxhaW47YSsrKXRoaXMudG90YWxCeXRlcys9ZFthXS5s ZW5ndGg7dGhpcy5jb21wbGV0ZWQ9CmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJvZ3Jlc3NSYXRp byp0aGlzLnRvdGFsRG9uZS90aGlzLnRvdGFsQnl0ZXN9O3RoaXMuCmdldERlY3J5cHRlZFRleHQ9 ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jcnlwdFRleHR9O3RoaXMuZ2V0RGVjb2RlZFRleHQ9CmZ1 bmN0aW9uKCl7cmV0dXJuIHRoaXMucGxhaW5UZXh0fTt0aGlzLnN0YXR1cz1mdW5jdGlvbigpe3Jl dHVybiB0aGlzLgpjdXJTdGF0dXN9O3RoaXMucnVuPWZ1bmN0aW9uKCl7dmFyIGhqPXRoaXMuc3Rh dGUsaGs9aGoucGF5bG9hZDtpZih0aGlzLgpjdXJTdGF0dXMhPWFhYSYmdGhpcy5jdXJTdGF0dXMh PXp2KXJldHVybiAwO3ZhciB6aD1qej8xOjA7dGhpcy5jdXJTdGF0dXM9enY7CnZhciB5bD10aGlz LnNlZ21lbnQseXE9dGhpcy5lbmRzLHluPXRoaXMuZGF0YUluZGV4LHl3PWhrLmRhdGFbeW5dLHly PXl3LgpsZW5ndGgseXA9dGhpcy5jdXJPdXRBcnJheSx5dD10aGlzLmN1ck91dExlbix5dj10aGlz LmRhdGFIYXNoLHl6PXRoaXMuCmRhdGFIYXNoTGVuLHl4PXRoaXMuaGFzaGVyLHltPXRoaXMuc3Ry SW5kZXgsemI9dGhpcy5kZWNyeXB0b3JPYmosYWFjPWJiLHlvPQpuZXcgQXJyYXkoMyksemE9eWw8 eXEubGVuZ3RoLTEseGI9JycsamE9MCxhYWI9bmV3IERhdGUoKS5nZXRUaW1lKCkraGouCmR1cmF0 aW9uLGJtLGEsZSx5cyx5dTtkb3tpZih5bT09MCl7aWYoeWw9PTAmJmhrLmFsZ25hbWVzLmVuY3J5 cHRpb24ua2V5cz09CidSU0EnKXt2YXIgaWM9aGouYXBwbGV0O3doaWxlKHluPHlxWzBdKXtibT1p Yy5kZWNyeXB0UlNBKGhrLnJpZFswXSxoay4Ka2V5bmFtZSxoay5kYXRhW3luXSx0aGlzLmtleSk7 aWYoYm0pYm0rPScnO2lmKGJtKWJyZWFrO3luKyt9aWYoeW49PXlxWzBdKQpyZXR1cm4gYnQodGhp cyxzbik7dGhpcy5rZXk9Ym07aWYoaGsuZmxhZ3MmemUpeGMoaGsubXNnSUQsaGsuZXhwaXJpZXMu CnNlc3Npb25LZXksYm0sdGhpcy51c2VyS2V5LGhrLmtleXNpemUsKChoay5mbGFncyZ5eSk/eGQ6 MCl8KChoay5mbGFncyZ6Zik/anYKOjApfCgoaGsuc2VsZWN0ZWRJRCk/d3g6MCksaGsuc2VsZWN0 ZWRJRCk7eW49eXFbeWwrK119emE9eWw8eXEubGVuZ3RoLTE7eXc9CmhrLmRhdGFbeW5dO3lyPXl3 Lmxlbmd0aDt5cFt5dD0wXT0nJzt5dj0nJzt5eD10aGlzLmhhc2hlcj1xeih5bD09MCxoay4KYWxn bmFtZXMudmVyaWZpY2F0aW9uKTt5ej15eC5sZW5ndGgoKTtpZih6YSl7aWYoeWw9PTEpdGhpcy5r ZXk9bmV3IFNIQTEodGhpcwogLmtleSkuZmluYWxpemUoKTt6Yj10aGlzLmRlY3J5cHRvck9iaj1x eChuZXcgU0hBMSh0aGlzLmtleSt0aGlzLnNhbHQpLgpmaW5hbGl6ZSgpLHlsPT0wLGhrLmFsZ25h bWVzLmVuY3J5cHRpb24saGsuYWxncGFyYW1zLmVuY3J5cHRpb24pfWVsc2UgemI9CnRoaXMuZGVj cnlwdG9yT2JqPTB9eW89YWFjLmRlY29kZVRvQXJyYXkoeXcuc3Vic3RyKHltLDcyKSx5byk7aWYo emEpeW89emIuCmRlY3J5cHQoeW8seXIteW08PTcyKTt5cz15by5sZW5ndGg7eXU9MDtpZigoZT15 ei15di5sZW5ndGgpPjApe2lmKGU+eXMpZT15czsKZm9yKGE9MDthPGU7YSsrKXl2Kz1TdHJpbmcu ZnJvbUNoYXJDb2RlKHlvW2FdKTt5dT1hfWlmKHl1PHlzKXt5eC5kaWdlc3QoeW8sCnl1LHlzKTti bT0nJztmb3IoYT15dTthPHlzO2ErKylibSs9U3RyaW5nLmZyb21DaGFyQ29kZSh5b1thXSk7aWYo eXBbeXRdLgpsZW5ndGg+PTEwMCl5cFsrK3l0XT0nJzt5cFt5dF0rPWJtfWlmKHlyLXltPjcyKXtq YSs9NzIremg7eW0rPTcyK3pofWVsc2V7amEKKz15ci15bTt5bT15cn1pZih5bT49eXIpe2lmKHl2 IT15eC5maW5hbGl6ZSgpKXtpZih5bD4wKXJldHVybiBidCh0aGlzLGFhZSl9CmVsc2V7eXAubGVu Z3RoPXl0KzE7c3dpdGNoKHlsKXtjYXNlIDA6eGI9eXAuam9pbignJyk7aWYoaGsuZmxhZ3MmemUp eGMoaGsuCm1zZ0lELGhrLmV4cGlyaWVzLnNlc3Npb25LZXkseGIsdGhpcy51c2VyS2V5LGhrLmtl eXNpemUsKChoay5mbGFncyZ5eSk/eGQ6MCkKfCgoaGsuZmxhZ3MmemYpP2p2OjApfCgoaGsuc2Vs ZWN0ZWRJRCk/d3g6MCksaGsuc2VsZWN0ZWRJRCk7YnJlYWs7Y2FzZSAxOgp0aGlzLmNyeXB0VGV4 dCs9eXAuam9pbignJyk7YnJlYWs7Y2FzZSAyOnRoaXMucGxhaW5UZXh0Kz15cC5qb2luKCcnKTti cmVha319CmlmKCsreW49PXlxW3lsXSl7aWYoKyt5bD09eXEubGVuZ3RoLXRoaXMuc2tpcFBsYWlu KWJyZWFrO2lmKHlsPT0xKXtpZih4Yj09JycKKXJldHVybiBidCh0aGlzLHNuKTt0aGlzLmtleT14 Yn19eW09MH19d2hpbGUoeWw9PTB8fG5ldyBEYXRlKCkuZ2V0VGltZSgpPGFhYgopO3RoaXMuc2Vn bWVudD15bDt0aGlzLmN1ck91dExlbj15dDt0aGlzLnN0ckluZGV4PXltO3RoaXMuZGF0YUluZGV4 PXluO3RoaXMuCmRhdGFIYXNoPXl2O3RoaXMuZGF0YUhhc2hMZW49eXo7dGhpcy50b3RhbERvbmUr PWphO3JldHVybiB0aGlzLnNlZ21lbnQ9PXlxLgpsZW5ndGgtdGhpcy5za2lwUGxhaW4/YnQodGhp cyxyeCk6MX07ZnVuY3Rpb24gYnQoaHosemcpe2h6LmN1clN0YXR1cz16ZztpZigKemchPXJ4KWh6 LmNyeXB0VGV4dD1oei5wbGFpblRleHQ9Jyc7aHouaW5wdXRzPTA7aHouY3VyT3V0QXJyYXk9MDto ei4KZGVjcnlwdG9yT2JqPTA7aHoubG9jYWxDUkM9MDtoei5sb2NhbERlY29kZXI9MDtyZXR1cm4g MH19CickU2VyaWFsOiAxMDQ4ICQgJFJldmlzaW9uOiAxLjUgJCc7ZnVuY3Rpb24gYWp0KGhqLGJ5 KXt2YXIga3YsYm09aGouY2h1bmtzOwp3aGlsZShieS5sZW5ndGg+KGt2PWhqLmNodW5rU2l6ZS1o ai50YWlsTGVuKSl7Ym1baGouY3VySW5kZXgrK10rPWJ5LnN1YnN0cigwCixrdik7Ym1baGouY3Vy SW5kZXhdPScnO2hqLnRhaWxMZW49MDtieT1ieS5zdWJzdHIoa3YpfWJtW2hqLmN1ckluZGV4XSs9 Ynk7aGoKIC50YWlsTGVuKz1ieS5sZW5ndGh9ZnVuY3Rpb24gYWtjKGhqLGJ1LGxlbmd0aCl7dmFy IGFhbj1idT4+aGouYml0cyxjYz0nJywKYWpvPWhqLmNodW5rU2l6ZTtidT1idSYoYWpvLTEpO3do aWxlKGJ1K2xlbmd0aD5ham8pe2NjKz1oai5jaHVua3NbYWFuKytdLgpzdWJzdHIoYnUpO2xlbmd0 aC09YWpvLWJ1O2J1PTB9cmV0dXJuIGNjK2hqLmNodW5rc1thYW5dLnN1YnN0cihidSxsZW5ndGgp fQpmdW5jdGlvbiBhanMoYWp3LGFqcil7dmFyIGEseXMsZT1hancubGVuZ3RoLGFqdj1uZXcgQXJy YXkoZSk7Zm9yKGE9MDthPGU7YSsrCilhanZbYV09MDt2YXIgYWpxPTA7Zm9yKGE9MDthPGU7YSsr KWlmKCh5cz1handbYV0pKXthanZbeXNdKys7aWYoeXM+YWpxKWFqcT0KeXN9YWpyLmxlbmd0aD1h anErMTtmb3IoYT0wO2E8YWpxKzE7YSsrKWlmKHR5cGVvZiBhanJbYV09PWJxKWFqclthXS5sZW5n dGg9MAo7ZWxzZSBhanJbYV09W107dmFyIGtsPTAsYWtmPW5ldyBBcnJheShhanErMSk7Zm9yKGE9 MTthPGFqcSsxO2ErKylha2ZbYV09a2w9CihrbCthanZbYS0xXSk8PDE7Zm9yKGE9MDthPGU7YSsr KWlmKCh5cz1handbYV0pKWFqclt5c11bYWtmW3lzXSsrXT1hfXZhciBhankKO2Z1bmN0aW9uIHNr KGJmLGFrZCxhYnksYWtnLGFhbSxzcil7dmFyIGE7aWYoKGE9YmYuY2hhckNvZGVBdCgwKSkhPTEy MHx8KGEqCjI1NitiZi5jaGFyQ29kZUF0KDEpKSUzMSlhYW0uY29tcGxldGlvbigpO3ZhciBoaj17 J2RhdGEnOmJmLCdmaW5hbExlbic6YWtkLAonZHVyYXRpb24nOmFieSwncmF0aW8nOmFrZywnZm5z JzphYW0sJ2FyZyc6c3IsJ2JpdHMnOjksJ3RhaWxMZW4nOjAsCidjdXJJbmRleCc6MCwnYnl0ZUlu ZGV4JzoyLCdiaXRDb3VudCc6MCwnY3VyQml0cyc6MCwnYm9yZGVyJzpbMTYsMTcsMTgsMCw4LDcK LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdLCdsaXRlcmFsQ29kZUJvb2snOltdLCdk aXN0YW5jZUNvZGVCb29rJzpbXQosJ2NvbXByZXNzaW9uVHlwZSc6LTEsJ2ZpbmFsQmxvY2snOjAs J2RlbGF5Jzppcz8xMjU6MX07aGouY2h1bmtTaXplPTE8PGhqLgpiaXRzO2hqLmNodW5rcz1uZXcg QXJyYXkoKGFrZCtoai5jaHVua1NpemUtMSk+PmhqLmJpdHMpO2hqLmNodW5rc1swXT0nJztha2Io CmFqeT1oail9ZnVuY3Rpb24gYWtiKGhqKXtpZihoai5jb21wcmVzc2lvblR5cGU9PS0xJiZoai5m aW5hbEJsb2NrKXt2YXIgZW09aGoKIC5mbnMuY29tcGxldGlvbixkPWhqLmNodW5rcy5qb2luKCcn KTthank9aGo9MDtlbShkKTtyZXR1cm47fXZhciB4dyxibSxhanUsCmFrZSxhLGMsYm8sZSxiZyxh ams9aGouYml0Q291bnQsYWpsPWhqLmN1ckJpdHMsYWpuPWhqLmJ5dGVJbmRleCxhanA9aGouCmNv bXByZXNzaW9uVHlwZSxiZj1oai5kYXRhLGFqej1oai5saXRlcmFsQ29kZUJvb2ssYWp4PWhqLmRp c3RhbmNlQ29kZUJvb2ssCmFqbz1oai5jaHVua1NpemUsYWFiPWhqLmZucy5wcm9ncmVzcz9uZXcg RGF0ZSgpLmdldFRpbWUoKStoai5kdXJhdGlvbjpuZXcKRGF0ZShieCk7ZG97aWYoYWpwPT0tMSl7 dmFyIGFrYT1bXSxham09W107aWYoIWFqayl7YWpsPWJmLmNoYXJDb2RlQXQoYWpuKyspOwphams9 OH1oai5maW5hbEJsb2NrPWFqbCYxO2FqbD4+PTE7YWprLS07aWYoYWprPDIpe2FqbHw9YmYuY2hh ckNvZGVBdChham4rKykKPDxhams7YWprKz04fWFqcD1hamwmMzthamw+Pj0yO2Fqay09Mjtzd2l0 Y2goYWpwKXtjYXNlIDA6YT1iZi5jaGFyQ29kZUF0KGFqbgopK2JmLmNoYXJDb2RlQXQoYWpuKzEp PDw4O2FqdChoaixiZi5zdWJzdHIoYWpuKzQsYSkpO2Fqbis9YSs0O2Fqaz1hamw9MDsKYnJlYWs7 Y2FzZSAxOmFqbS5sZW5ndGg9Mjg4O2E9MDt3aGlsZShhPDE0NClham1bYSsrXT04O3doaWxlKGE8 MjU2KWFqbVthKytdPQo5O3doaWxlKGE8MjgwKWFqbVthKytdPTc7d2hpbGUoYTwyODgpYWptW2Er K109ODthanMoYWptLGFqeik7YWptLmxlbmd0aD0zMDsKZm9yKGE9MDthPDMwO2ErKylham1bYV09 NTthanMoYWptLGFqeCk7YnJlYWs7Y2FzZSAyOmlmKGFqazw1KXthamx8PWJmLgpjaGFyQ29kZUF0 KGFqbisrKTw8YWprO2Fqays9OH1hanU9KGFqbCYzMSkrMjU3O2FqbD4+PTU7YWprLT01O2lmKGFq azw1KXthamwKfD1iZi5jaGFyQ29kZUF0KGFqbisrKTw8YWprO2Fqays9OH1ha2U9KGFqbCYzMSkr MTthamw+Pj01O2Fqay09NTtpZihhams8NCl7CmFqbHw9YmYuY2hhckNvZGVBdChham4rKyk8PGFq azthamsrPTh9ZT0oYWpsJjE1KSs0O2FqbD4+PTQ7YWprLT00O2FqbS5sZW5ndGgKPTE5O2Zvcihh PTA7YTwxOTthKyspYWptW2FdPTA7Ym89aGouYm9yZGVyO2ZvcihhPTA7YTxlO2ErKyl7aWYoYWpr PDMpe2FqbHw9CmJmLmNoYXJDb2RlQXQoYWpuKyspPDxhams7YWprKz04fWFqbVtib1thXV09YWps Jjc7YWpsPj49MzthamstPTN9YWpzKGFqbSxha2EKKTtham0ubGVuZ3RoPWU9YWp1K2FrZTthPTA7 d2hpbGUoYTxlKXtibT1jPTA7ZG97Ymc9YWthWysrY107aWYoIWFqayl7YWpsPWJmLgpjaGFyQ29k ZUF0KGFqbisrKTthams9OH1ibT0oYm08PDEpfChhamwmMSk7YWpsPj49MTthamstPTF9d2hpbGUo dHlwZW9mIGJnW2JtCl09PXV2KTtibT1iZ1tibV07aWYoYm08MTYpYWptW2ErK109Ym07ZWxzZXt4 dz1ibT09MTg/NzpibS0xNDt3aGlsZShhams8eHcpewphamx8PWJmLmNoYXJDb2RlQXQoYWpuKysp PDxhams7YWprKz04fWM9YSsoYWpsJigoMTw8eHcpLTEpKSsoYm09PTE4PzExOjMpOwphamw+Pj14 dzthamstPXh3O2JvPWJtPT0xNj9ham1bYS0xXTowO3doaWxlKGE8Yylham1bYSsrXT1ib319YWpz KGFqbS5zbGljZSgwCixhanUpLGFqeik7YWpzKGFqbS5zbGljZShhanUpLGFqeCk7YnJlYWt9fWlm KGFqcCE9MCl7d2hpbGUobmV3IERhdGUoKS4KZ2V0VGltZSgpPGFhYil7Ym09Yz0wO2Rve2JnPWFq elsrK2NdO2lmKCFhamspe2FqbD1iZi5jaGFyQ29kZUF0KGFqbisrKTthams9OAp9Ym09KGJtPDwx KXwoYWpsJjEpO2FqbD4+PTE7YWprLT0xfXdoaWxlKHR5cGVvZiBiZ1tibV09PXV2KTtibT1iZ1ti bV07aWYoYm08CjI1Nil7YWp0KGhqLFN0cmluZy5mcm9tQ2hhckNvZGUoYm0pKTtjb250aW51ZX1p ZihibT09MjU2KXthanA9LTE7YnJlYWt9aWYoYm0KPDI2NSlhPWJtLTI1NDtlbHNlIGlmKGJtPT0y ODUpYT0yNTg7ZWxzZXtibS09MjY1O3h3PShibT4+MikrMTtibz0xPDx4dzt3aGlsZQooYWprPHh3 KXthamx8PWJmLmNoYXJDb2RlQXQoYWpuKyspPDxhams7YWprKz04fWE9KGJvPDwyKSszKyhibSYz KSpibysoYWpsJigKYm8tMSkpO2FqbD4+PXh3O2Fqay09eHd9Ym09Yz0wO2Rve2JnPWFqeFsrK2Nd O2lmKCFhamspe2FqbD1iZi5jaGFyQ29kZUF0KApham4rKyk7YWprPTh9Ym09KGJtPDwxKXwoYWps JjEpO2FqbD4+PTE7YWprLT0xfXdoaWxlKHR5cGVvZiBiZ1tibV09PXV2KTtibT0KYmdbYm1dO2lm KGJtPDQpYm89Ym0rMTtlbHNle3h3PShibT4+MSktMTtibz0xPDx4dzt3aGlsZShhams8eHcpe2Fq bHw9YmYuCmNoYXJDb2RlQXQoYWpuKyspPDxhams7YWprKz04fWM9KGJvPDwxKSsxO2lmKCh4dysx KSoyIT1ibSljKz1ibztibz1jKyhhamwmKApiby0xKSk7YWpsPj49eHc7YWprLT14d31lPWhqLmN1 ckluZGV4KmFqbytoai50YWlsTGVuO2lmKGE+Ym8pZm9yKGM9MDtjPGE7YysrCilhanQoaGosYWtj KGhqLGUrKy1ibywxKSk7ZWxzZSBhanQoaGosYWtjKGhqLGUtYm8sYSkpfX19d2hpbGUoIWhqLmZp bmFsQmxvY2sKJiZuZXcgRGF0ZSgpLmdldFRpbWUoKTxhYWIpO2lmKGhqLmZucy5wcm9ncmVzcylo ai5mbnMucHJvZ3Jlc3MoaGoucmF0aW8rKDEKLWhqLnJhdGlvKSooaGouY3VySW5kZXgqYWpvK2hq LnRhaWxMZW4pL2hqLmZpbmFsTGVuLGhqLmFyZyk7aGouYml0Q291bnQ9YWprOwpoai5jdXJCaXRz PWFqbDtoai5ieXRlSW5kZXg9YWpuO2hqLmNvbXByZXNzaW9uVHlwZT1hanA7c2V0VGltZW91dCgi YWtiKGFqeSkiCixoai5kZWxheSl9CickU2VyaWFsOiAxNjk5ICQgJFJldmlzaW9uOiAxLjggJCc7 ZnVuY3Rpb24gc2ooKXt2YXIgaGo9aHUsaGs9aGoucGF5bG9hZCxocSwKcno9MCxzdGF0dXM9cng7 aWYoaGsubWF4QmFkUGFzc3dvcmRzPjAmJihocT1rZChxYSkpJiYocno9K2hxKT49aGsuCm1heEJh ZFBhc3N3b3JkcylzdGF0dXM9c2c7aWYoc3RhdHVzPT1yeCl7aGoub3BlbmVyT2JqPW5ldyBzbygp O2lmKCFoai4Kb3BlbmVyT2JqLnJ1bigpJiYoc3RhdHVzPWhqLm9wZW5lck9iai5zdGF0dXMoKSkh PXJ4JiZoay5tYXhCYWRQYXNzd29yZHM+MCl7CmpmKHFhLCsrcnosaGsuZXhwaXJpZXMuYmFkUGFz c3dvcmRDb3VudCwnLycpO2lmKHN0YXR1cz09c24mJnJ6Pj1oay4KbWF4QmFkUGFzc3dvcmRzKXN0 YXR1cz1zZ319aWYoc3RhdHVzIT1yeCl7aGouZm5zLmVycm9yKHN0YXR1cyxoai5hcmcpO3NlKDEp OwpyZXR1cm4gMH1yZXR1cm4gMX1mdW5jdGlvbiBzaCgpe3ZhciBoaj1odSxoaz1oai5wYXlsb2Fk LHJ3PWhqLm9wZW5lck9iaixyeTsKaWYoIXJ3KXtpZighKHJ5PXNqKCkpKXJldHVybjtydz1oai5v cGVuZXJPYmp9ZWxzZSByeT1ydy5ydW4oKTtpZihyeSl7aWYoaGouCmZucy5wcm9ncmVzcyloai5m bnMucHJvZ3Jlc3MocncuY29tcGxldGVkKCksaGouYXJnKTtzZXRUaW1lb3V0KCJzaCgpIixoai4K dGltZU91dCk7cmV0dXJuO312YXIgc3RhdHVzPXJ3LnN0YXR1cygpO2lmKHN0YXR1cyE9cngpe2lm KGhqLmFjdGlvbj09aXEpaGouCmFwcGxldC5lbmRTYXZlRmlsZSgpO2hqLmZucy5lcnJvcihzdGF0 dXMsaGouYXJnKTtzZSgxKTtyZXR1cm47fWlmKGhrLgpoYXJkZW5lcm5hbWUmJmhqLmhhcmRlbmVy KXNwKGpsK2hrLmhhcmRlbmVybmFtZSxoay5leHBpcmllcy5oYXJkZW5lcixoai4KaGFyZGVuZXIs aGoudXNlcktleSxoay5rZXlzaXplLGp2KTtpZihoay5tYXhCYWRQYXNzd29yZHM+MClxcihxYSwn LycpO3ZhciBzYQosc2YscW47aGouY3J5cHREb2NzPWhqLm9wZW5lck9iai5nZXREZWNyeXB0ZWRU ZXh0KCk7aGoucGxhaW5Eb2NzPWhqLgpvcGVuZXJPYmouZ2V0RGVjb2RlZFRleHQoKTtoai5vcGVu ZXJPYmo9MDtpZihoay5mbGFncyZzbClzayhoai5jcnlwdERvY3MsaGsuCnRvY1swXVtpcl1bMV0s aGouZHVyYXRpb24saGsucHJvZ3Jlc3NyYXRpbyx7J3Byb2dyZXNzJzpoai5mbnMucHJvZ3Jlc3Ms Cidjb21wbGV0aW9uJzpzYn0saGouYXJnKTtlbHNlIHNiKGhqLmNyeXB0RG9jcyl9ZnVuY3Rpb24g c2Ioc2Epe3ZhciBoaj1odSxoaz0KaGoucGF5bG9hZDtoai5jcnlwdERvY3M9c2E7aWYoaGsuZmxh Z3Mmc20pc2soaGoucGxhaW5Eb2NzLGhrLnRvY1toay50b2MuCmxlbmd0aC0xXVtpcl1bMV0saGou ZHVyYXRpb24saGsucHJvZ3Jlc3NyYXRpbyx7J3Byb2dyZXNzJzpoai5mbnMucHJvZ3Jlc3MsCidj b21wbGV0aW9uJzpzZH0saGouYXJnKTtlbHNlIHNkKGhqLnBsYWluRG9jcyl9ZnVuY3Rpb24gc2Qo c2Ype2h1LnBsYWluRG9jcz0Kc2Y7c2koKX1mdW5jdGlvbiBzaSgpe3ZhciBoaj1odTtpZihoai5m bnMucHJvZ3Jlc3Mpe2hqLmZucy5wcm9ncmVzcygnZmluaXNoJwosaGouYXJnKTtzZXRUaW1lb3V0 KCJzYygpIixoai50aW1lT3V0KX1lbHNlIHNjKCl9ZnVuY3Rpb24gc2MoKXt2YXIgaGo9aHUscW49 CmhqLmZucy5jb21wbGV0aW9uKGhqLmNyeXB0RG9jcyxoai5wbGFpbkRvY3MsaGouYXJnKTtpZihx bj09JycpcmV0dXJuO2lmKHFuJiYKaGouZm5zLnNhdmVkKWhqLmZucy5zYXZlZChxbixoai5wYXls b2FkLnRvYy5sZW5ndGgpO2Vsc2UgaWYoaGouZm5zLnByb2dyZXNzKQpoai5mbnMucHJvZ3Jlc3Mo J2NsZWFyJyxoai5hcmcpO3NlKDEpfQonJFNlcmlhbDogNTAyOSAkICRSZXZpc2lvbjogMS4yMyAk JztmdW5jdGlvbiBzcShkdyx1aSx0cyx0ail7dmFyIGJlO2lmKGR3JiYKZG9jdW1lbnQuZ2V0RWxl bWVudEJ5SWQmJihiZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkdykpKWJlLmlubmVySFRNTD11 aTsKZWxzZSBpZih0cyl7c2VsZi5zdGF0dXM9dHM7cmV0dXJuIGJnfWVsc2UgaWYodGopYWxlcnQo dGopO3JldHVybiBlbX1mdW5jdGlvbgp0eShxbix1Yil7aWYodWI9PTEpe3ZhciBkPXNzKCdfU2F2 ZWQxUGF0aCcsJycscW4pO3NxKCdwcm9ncmVzczEnLAonXHgzY3NwYW4gY2xhc3M9cHJvZ3Jlc3Nc eDNlJytkKydceDNjL3NwYW5ceDNlJywnJyxkKTtzcSgncHJvZ3Jlc3MyJywnJyl9CmVsc2V7dmFy IGNjPXFuLmxhc3RJbmRleE9mKCdcXCcpLG1pPXFuLmxhc3RJbmRleE9mKCcvJyksYnc9cW4ubGFz dEluZGV4T2YoCic6Jyk7aWYobWk+Y2MpY2M9bWk7aWYoYnc+Y2MpY2M9Ync7dmFyIGh5PXFuLnN1 YnN0cigwLGNjKSx1YT1xbi5zdWJzdHIoY2MrMSkKLGQ9c3MoJ19TYXZlZG5QYXRoJywnJyxoeSks Ymc9c3MoJ19TYXZlZG5GaWxlJywnJyx1YSk7c3EoJ3Byb2dyZXNzMScsCidceDNjc3BhbiBjbGFz cz1wcm9ncmVzc1x4M2UnK2QrJ1x4M2Mvc3Bhblx4M2UnLCcnLGQrJ1xuJytiZyk7c3EoJ3Byb2dy ZXNzMicKLCdceDNjc3BhbiBjbGFzcz1wcm9ncmVzc1x4M2UnK2JnKydceDNjL3NwYW5ceDNlJywn Jyl9fWZ1bmN0aW9uIHVxKHJlLHNyKXt0dAoocmUsc3Iseyd0aXRsZSc6WydfUHJlcGFyaW5nJywn X1N0YXR1c1ByZXBhcmluZyddLCdjb21wbGV0ZWQnOgonX1N0YXR1c1ByZXBQY3QnfSl9ZnVuY3Rp b24gdHQocmUsc3IscXUpe2lmKHR5cGVvZiByZT09YnEpcmU9cmUudG9TdHJpbmcoKTsKaWYoIXNy KXNyPXV1O2lmKHJlPT0nY2xlYXInKXtzcSgncHJvZ3Jlc3MxJywnJyxzcygnX1N0YXR1c0RvbmUn KSk7c3EoCidwcm9ncmVzczInLCcnKTtzcSgncGFzc01zZycsJyZuYnNwOycpO3JldHVybjt9aWYo cmU9PSd0b29scycpe3ZhciBkPXNzKAonX1Rvb2xzTG9hZGluZycpO3NxKCdwcm9ncmVzczEnLCdc eDNjc3BhbiBjbGFzcz1wcm9ncmVzc1x4M2UnK2QrCidceDNjL3NwYW5ceDNlJyxkKTtyZXR1cm47 fWlmKCFxdSlxdT17J3RpdGxlJzpbJ19EZWNQcm9nVGl0bGUnLAonX1N0YXR1c0RlY0luaXQnXSwn Y29tcGxldGVkJzonX1N0YXR1c0RlY1BjdCd9O2lmKHJlPT0nc3RhcnQnKXtpZihzcSgKJ3Byb2dy ZXNzMScsJ1x4M2NzcGFuIGNsYXNzPXByb2dyZXNzXHgzZScrc3MocXUudGl0bGVbMF0pKydceDNj L3NwYW5ceDNlJyxzcwoocXUudGl0bGVbMV0pLCcnKSlyZXR1cm47c3EoJ3Bhc3NNc2cnLCcmbmJz cDsnKTtyZT0wfWVsc2UgaWYocmU9PSdmaW5pc2gnKXsKaWYoZG9jdW1lbnQubGF5ZXJzKXtzZWxm LnN0YXR1cz1zcygnX1N0YXR1c0RvbmUnKTtyZXR1cm47fXJlPTEwMH1lbHNle3JlPQpNYXRoLmZs b29yKHJlKjEwMCl9dmFyIHRjPScjNDA0MEZGJyx0az0nIzQwNDA0MCc7aWYodHlwZW9mIHNyPT1j bCl0Yz1zcjtlbHNlCmlmKHR5cGVvZiBzcj09YnEmJnR5cGVvZiBzci5wcm9ncmVzc0Jhcj09YnEp e2lmKHNyLnByb2dyZXNzQmFyLmJnQ29sb3IpdGM9c3IKIC5wcm9ncmVzc0Jhci5iZ0NvbG9yO2lm KHNyLnByb2dyZXNzQmFyLmJvcmRlckNvbG9yKXRrPXNyLnByb2dyZXNzQmFyLgpib3JkZXJDb2xv cn12YXIgc3k9CidceDNjdGFibGUgYWxpZ249Y2VudGVyIGNlbGxwYWRkaW5nPTAgY2VsbHNwYWNp bmc9MCBib3JkZXI9MSAnKwonYm9yZGVyY29sb3I9IicrdGsrJyIgd2lkdGg9Ijg1JSJceDNlJysn XHgzY3RyXHgzZSc7aWYocmU+MClzeSs9CidceDNjdGQgYmdjb2xvcj0iJyt0YysnIiB3aWR0aD0i JytyZSsnJSJceDNlJm5ic3A7XHgzYy90ZFx4M2UnO2lmKHJlPDEwMClzeQorPSdceDNjdGRceDNl Jm5ic3A7XHgzYy90ZFx4M2UnO3N5Kz0nXHgzYy90clx4M2VceDNjL3RhYmxlXHgzZSc7c3EoCidw cm9ncmVzczInLHN5LHNzKHF1LmNvbXBsZXRlZCwnJyxyZSkpfWZ1bmN0aW9uIHR4KHN0YXR1cyxz cil7aWYoc3RhdHVzPT1zZykKe3RoKDAsZW0pO2FsZXJ0KHNzKCdfRXJyb3JCYWRQd2RzJykpfWVs c2UgaWYoc3RhdHVzPT11cil7dGgoMCxlbSk7YWxlcnQoc3MoCidfUGxhdGZvcm1JbmNvbXBhdGli bGUnKSl9ZWxzZXt2YXIgZD1zcyhzdGF0dXM9PXVzPydfRXJyb3JQd2RDaGFuZ2VkJzoKJ19FcnJv ckJhZFB3ZCcpO3NxKCdwYXNzTXNnJywnXHgzY3NwYW4gY2xhc3M9ZXJyb3JceDNlJytkKydceDNj L3NwYW5ceDNlJywnJwosZCl9c3EoJ3Byb2dyZXNzMScsJycsc3MoJ19TdGF0dXNEb25lJykpO3Nx KCdwcm9ncmVzczInLCcnKTt0cSgwLCdrZXkxJyl9CmZ1bmN0aW9uIHRoKHN2LHRlKXt2YXIgZW09 ZG9jdW1lbnQuZm9ybXNbc3ZdLmVsZW1lbnRzLGEsZT1lbS5sZW5ndGg7dGU9IXRlOwpmb3IoYT0w O2E8ZTthKyspaWYoZW1bYV0udHlwZT09J3N1Ym1pdCd8fGVtW2FdLnR5cGU9PSdidXR0b24nKWVt W2FdLmRpc2FibGVkCj10ZX12YXIgdG49ZmFsc2U7ZnVuY3Rpb24gdHIodWMpe3RuPXVjfWZ1bmN0 aW9uIHVtKHN4LHRpLHN0eWxlKXt0cihlbSk7aWYoIQp0aSl0aT0nX2JsYW5rJztyZXR1cm4gd2lu ZG93Lm9wZW4oc3gsdGksc3R5bGUpfWZ1bmN0aW9uIHRxKHN2LHN3KXtpZih0biYmCmRvY3VtZW50 LmZvcm1zW3N2XSYmZG9jdW1lbnQuZm9ybXNbc3ZdW3N3XSYmZG9jdW1lbnQuZm9ybXNbc3ZdW3N3 XS5mb2N1cyl7aWYKKGRvY3VtZW50LmZvcm1zW3N2XVtzd10udHlwZT09J2hpZGRlbicpcmV0dXJu O2RvY3VtZW50LmZvcm1zW3N2XVtzd10uZm9jdXMoKQo7aWYoZG9jdW1lbnQuZm9ybXNbc3ZdW3N3 XS5zZWxlY3QpZG9jdW1lbnQuZm9ybXNbc3ZdW3N3XS5zZWxlY3QoKX19ZnVuY3Rpb24KdWgoZHcp e2lmKCFkdylyZXR1cm4gMDtpZihkdy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT0ndGFibGUnKXt2 YXIgYTtmb3IoYT0wOwphPGR3LmNoaWxkTm9kZXMubGVuZ3RoO2ErKylpZihkdy5jaGlsZE5vZGVz W2FdLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PQondGJvZHknKXtkdz1kdy5jaGlsZE5vZGVzW2Fd O2JyZWFrfX1yZXR1cm4gZHcuY2xpZW50V2lkdGh8fGR3LnNjcm9sbFdpZHRofHwwCn1mdW5jdGlv biB1Zyhkdyl7aWYoIWR3KXJldHVybiAwO3JldHVybiBkdy5jbGllbnRIZWlnaHR8fGR3LnNjcm9s bEhlaWdodHx8MH0KdG09e307ZnVuY3Rpb24ga2Uoa3kpe2lmKCFkb2N1bWVudC5nZXRFbGVtZW50 QnlJZClyZXR1cm4nJztyZXR1cm4gZG9jdW1lbnQuCmdldEVsZW1lbnRCeUlkKGt5KXx8dG1ba3ld fWZ1bmN0aW9uIHRsKGR3KXtpZih0eXBlb2YgZHc9PWNsKWR3PQpnZXRFbGVtZW50QnlJZChkdyk7 aWYoIWR3KXJldHVybjt2YXIgZDt0cnl7d2hpbGUoKGQ9ZHcuZmlyc3RDaGlsZCkpZHcuCnJlbW92 ZUNoaWxkKGQpfWNhdGNoKHV0KXtkdy5pbm5lckhUTUw9Jyd9cmV0dXJuIGR3fWZ1bmN0aW9uIHRi KGR3LHN1LHR6KXtkdz0KdGwoZHcpO2lmKCFkdylyZXR1cm47dmFyIHRwPWR3O2lmKHR6KXtkdz1k b2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7ZHcuCnNldEF0dHJpYnV0ZSgnY2xhc3MnLCdl cnJvcicpO3RwLmFwcGVuZENoaWxkKGR3KX1pZih0eXBlb2Ygc3U9PXV2KXN1PScnO2lmKApzdT09 JyZuYnNwOyd8fHN1LmluZGV4T2YoJ1x4M2NhICcpIT0tMSlkdy5pbm5lckhUTUw9c3U7ZWxzZSBk dy5hcHBlbmRDaGlsZCgKZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3UpKTtyZXR1cm4gdHB9ZnVu Y3Rpb24gdWsodWosdGEpe3ZhciB0bz0KZ2V0RWxlbWVudEJ5SWQodWopLHRmPWdldEVsZW1lbnRC eUlkKHRhKTtpZih0byYmdGYpdGYucGFyZW50Tm9kZS4KaW5zZXJ0QmVmb3JlKHRvLHRmKX1mdW5j dGlvbiB1byh0Zyx0YSl7dmFyIGQ7aWYoZD1nZXRFbGVtZW50QnlJZCh0Zykpe3RiKGQuCmNlbGxz WzBdLCcnKTt0YihkLmNlbGxzWzFdLCcnKTtpZih0YSlpbnNlcnRSb3codGcsdGEpO2Vsc2V7dG1b dGddPWQ7aWYoZC4KcGFyZW50Tm9kZSlkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCl9fX1mdW5j dGlvbiB1ZChkeSx1cCxkeixzdCxzeil7aWYoangpCnN6PSdzYWZhcmlCdG4nO2Vsc2UgaWYoIXN6 KXN6PSdidG4nO3ZhciB0dj0nXHgzY2lucHV0IHR5cGU9JysodXA/J3N1Ym1pdCc6CididXR0b24n KSsnIHZhbHVlPSInK2R5KyciIG5hbWU9JytkeisnIG9uY2xpY2s9Iicrc3QrJyIgY2xhc3M9Iicr c3orJyJceDNlJzsKcmV0dXJuIHR2fWZ1bmN0aW9uIHVlKGR6LHN0LHR3LHVsKXt2YXIga3k9Z2Vu SWQoJ2MnKTsKcmV0dXJuJ1x4M2N0clx4M2VceDNjdGRceDNlXHgzY3BceDNlXHgzY2lucHV0IHR5 cGU9Y2hlY2tib3ggbmFtZT0nK2R6KycgaWQ9Jwora3krKHR3PycgY2hlY2tlZCc6JycpKyhzdD8n IG9uY2xpY2s9Iicrc3QrJyInOicnKSsKJyBzdHlsZT0idmVydGljYWwtYWxpZ246bWlkZGxlIicr J1x4M2VceDNjbGFiZWwgZm9yPScra3krCicgc3R5bGU9InZlcnRpY2FsLWFsaWduOm1pZGRsZSIn KydceDNlJyt1bCsKJ1x4M2MvbGFiZWxceDNlXHgzYy9wXHgzZVx4M2MvdGRceDNlXHgzYy90clx4 M2UnfWZ1bmN0aW9uIHVmKHN1LHN4LHRkLHN0KXsKcmV0dXJuJ1x4M2NhICcrJ2hyZWY9Iicrc3gr JyIgJysodGQ/J3RhcmdldD0iX2JsYW5rIiAnOicnKSsoc3Q/J29uY2xpY2s9IicrCnN0KyciICc6 JycpKydceDNlJytzdSsnXHgzYy9hXHgzZSd9ZnVuY3Rpb24gdHUoZHcsc3Usc3gsdGQsc3Qpe2lm KHR5cGVvZiBkdwo9PWNsKWR3PWdldEVsZW1lbnRCeUlkKGR3KTtpZighZHcpcmV0dXJuO3ZhciBk O2R3LmFwcGVuZENoaWxkKGRvY3VtZW50LgpjcmVhdGVFbGVtZW50KCdicicpKTtkPWRvY3VtZW50 LmNyZWF0ZUVsZW1lbnQoJ2EnKTtkLnNldEF0dHJpYnV0ZSgnaHJlZicsc3gpCjtpZih0ZClkLnNl dEF0dHJpYnV0ZSgndGFyZ2V0JywnX2JsYW5rJyk7aWYoc3Qpe2lmKGQuYWRkRXZlbnRMaXN0ZW5l cilkLgphZGRFdmVudExpc3RlbmVyKCdjbGljaycsc3QsZmFsc2UpO2Vsc2UgaWYoZC5hdHRhY2hF dmVudClkLmF0dGFjaEV2ZW50KAonb25jbGljaycsc3QpO2Vsc2UgZC5vbmNsaWNrPXN0fXRiKGQs c3UpO2R3LmFwcGVuZENoaWxkKGQpfWZ1bmN0aW9uIHVuKCl7dmFyCmQsbG9jYXRpb247aWYod2lu ZG93JiZ3aW5kb3cubG9jYXRpb24mJndpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSlkPWpnKHdpbmRv dy4KbG9jYXRpb24ucGF0aG5hbWUpO2Vsc2UgcmV0dXJuO2xvY2F0aW9uPXdpbmRvdy5sb2NhdGlv bjtpZihsb2NhdGlvbi5yZWxvYWQpCmxvY2F0aW9uLnJlbG9hZChmYWxzZSk7ZWxzZSBpZihsb2Nh dGlvbi5yZXBsYWNlKWxvY2F0aW9uLnJlcGxhY2UoZCk7ZWxzZSBpZigKbG9jYXRpb24uaHJlZils b2NhdGlvbi5ocmVmPWR9ZGlzcGxheUVycm9yPXR4O2Rpc3BsYXlNZXNzYWdlPXNxOwpkaXNwbGF5 U2F2ZUxvY2F0aW9uPXR5O3NldEJ1dHRvbnM9dGg7c2V0Rm9jdXNlZD10cjtvcGVuV2luZG93PXVt O3NldEZvY3VzPXRxCjt1cGRhdGVQcmVwYXJlUHJvZ3Jlc3M9dXE7dXBkYXRlUHJvZ3Jlc3M9dHQ7 Y2xlYXJDaGlsZHJlbj10bDtzZXRJbm5lclRleHQ9dGIKO2luc2VydFJvdz11aztyZW1vdmVSb3c9 dW87Z2VuQnV0dG9uPXVkO2dlbkNoZWNrYm94PXVlO2dlbkxpbms9dWY7CmFkZExpbmtUb05vZGU9 dHU7cmVmcmVzaEJyb3dzZXI9dW47Z2V0RWxlbWVudEJ5SWQ9a2U7Z2V0V2lkdGg9dWg7Z2V0SGVp Z2h0PQp1ZzsKJyRTZXJpYWw6IDQyNDggJCAkUmV2aXNpb246IDEuMzIgJCc7dmFyIHdmPTEsd2c9 MjtmdW5jdGlvbiB3aSh2cix3Yix3Yyx2dCx2dgope2lmKCF2ci5mbGFncyl2ci5mbGFncz0wO2lm KHZyLmZsYWdzJndmKXt2ci5kYXRhPXduKHZyLmRhdGEpO3ZyLmZsYWdzJj1+d2Z9CnZhciB2eT12 ci5wYWxldHRlLGtvPXZyLndpZHRoLG9sPXZyLmhlaWdodCxhLGJkLGQsd209dHlwZW9mIHZyLnRy YW5zcGFyZW50PT0KdXY/LTE6dnIudHJhbnNwYXJlbnQ7dnY9dnY/MTowO2lmKCF2dHx8dnQ8MSl2 dD0xK3Z2O2Vsc2UgdnQ9TWF0aC5mbG9vcih2dCkrCnZ2O2lmKCEodnIuZmxhZ3Mmd2cpKXt2YXIg d2o9WzAsJycsJyddLG49WzAsMCwwXSxjLGU9dnkubGVuZ3RoO2ZvcihhPTA7YTxlOwphKyspe2Jk PXZ5W2FdO2lmKHR5cGVvZiBiZCE9YnEpe25bMF09YmQ7blsxXT1uWzJdPScnfWVsc2V7Zm9yKGM9 MDtjPGJkLgpsZW5ndGg7YysrKW5bY109d2pbY109YmRbY107Zm9yKDtjPDM7YysrKW5bY109d2pb Y119aWYoblsxXSluWzFdPQonIG9uTW91c2VPdmVyPSInK25bMV0rJyInO2lmKG5bMl0pblsyXT0n IG9uTW91c2VPdXQ9IicrblsyXSsnIic7aWYoYT09d20pblswCl09Jyc7dnlbYV09W25bMF0sblsx XStuWzJdXX12ci5mbGFnc3w9d2d9dmFyIHdkPXZyLmRhdGEuc3BsaXQoJyAnKSx3aD13ZC4KbGVu Z3RoLHZzPW5ldyBBcnJheSh3aCksdno9MDt2c1t2eisrXT0KJ1x4M2NzcGFuIHN0eWxlPSJkaXNw bGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOicrKGtvKnZ0LXZ2KSsKJ3B4O2hlaWdo dDonKyhvbCp2dC12dikrJ3B4O2ZvbnQtc2l6ZTowO2xpbmUtaGVpZ2h0OjAiXHgzZVxuJzt2YXIg aHM9bmV3CkFycmF5KG9sKTtmb3IoYT0wO2E8b2w7YSsrKWhzW2FdPW5ldyBBcnJheShrbyk7dmFy IHZ3PTAsYj0wLHZ4LHZ1LGdrLGcsZ3csYXAKLGFxO2ZvcihhPTA7YTx3aDthKyspe2lmKHdkW2Fd PT0nLScpe2hzW2IrK109MDt2dz0wO2NvbnRpbnVlfWdrPWhzW2JdO3doaWxlKApna1t2d10pdncr Kzt2eD13ZFthXS5zcGxpdCgnOicpO2lmKHZ4Lmxlbmd0aD09MSl7YmQ9dnlbK3Z4XTt2dT1bMSwx XX1lbHNle2JkCj12eVsrdnhbMV1dO3Z1PXZ4WzBdLnNwbGl0KCd4Jyk7dnVbMF09dnVbMF09PScn P2tvLXZ3Oit2dVswXTt2dVsxXT12dVsxXT09JycKP29sLWI6K3Z1WzFdfWlmKGJkWzBdfHxiZFsx XSl7ZD0nXHgzY3NwYW4gc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDonK2IqCnZ0KydweDts ZWZ0OicrdncqdnQrJ3B4O2hlaWdodDonKyh2dVsxXSp2dC12dikrJ3B4JztpZihiZFswXSlkKz0K Jztib3JkZXItbGVmdDonKyh2dVswXSp2dC12dikrJ3B4IHNvbGlkICMnK2JkWzBdO3ZzW3Z6Kytd PWQrJyInK2JkWzFdKwonXHgzZVx4M2Mvc3Bhblx4M2Vcbid9aWYodnVbMV0+MSl7Zz12dyt2dVsw XTtndz1iK3Z1WzFdO2ZvcihhcT1iKzE7YXE8Z3c7CmFxKyspe2drPWhzW2FxXTtmb3IoYXA9dnc7 YXA8ZzthcCsrKWdrW2FwXT0xfX12dys9dnVbMF19dnNbdnorK109CidceDNjL3NwYW5ceDNlJzt2 cy5sZW5ndGg9dno7cmV0dXJuIHZzLmpvaW4oJycpfWZ1bmN0aW9uIHdsKHdlLHdrLHdhLHZyLHdi LAp3Yyx2dCx2dil7aWYodHlwZW9mIHZyIT1icSl7dnY9dnQ7dnQ9d2M7d2M9d2I7d2I9dnI7dnI9 d2E7d2E9e319d2U9aXgod2UpOwp2YXIgdnM9WydceDNjYScsJ2hyZWY9Iicrd2UrJyInXTtpZihp ZCl7dnNbdnMubGVuZ3RoXT0KJ29ubW91c2VvdmVyPSJ0aGlzLnN0eWxlLmN1cnNvcj1cJ2hhbmRc JyInO3ZzW3ZzLmxlbmd0aF09Cidvbm1vdXNlb3V0PSJ0aGlzLnN0eWxlLmN1cnNvcj1cJ2RlZmF1 bHRcJyInfWlmKHdrKXZzW3ZzLmxlbmd0aF09Cid0YXJnZXQ9X2JsYW5rJztmb3IoYSBpbiB3YSl2 c1t2cy5sZW5ndGhdPWErJz0iJytpeCh3YVthXSkrJyInO3JldHVybiB2cy4Kam9pbignICcpKydc eDNlJyt3aSh2cix3Yix3Yyx2dCx2dikrJ1x4M2MvYVx4M2UnfXp6PWxpbmtJbmxpbmVJbWFnZT13 bDt6eT0KbWFrZUlubGluZUltYWdlPXdpOwonJFNlcmlhbDogMTU2MSAkICRSZXZpc2lvbjogMS45 ICQnO2Z1bmN0aW9uIFNIQTEoYncsYnUsYnQsZG0pe3ZhciBnaT02NCxhPTAsCmdqPW5ldyBBcnJh eSg4MCk7d2hpbGUoYTwyMClnalthKytdPTB4NWE4Mjc5OTk7d2hpbGUoYTw0MClnalthKytdPTB4 NmVkOWViYTEKO3doaWxlKGE8NjApZ2pbYSsrXT0weDhmMWJiY2RjO3doaWxlKGE8ODApZ2pbYSsr XT0weGNhNjJjMWQ2O3RoaXMuSD1bCjB4Njc0NTIzMDEsMHhlZmNkYWI4OSwweDk4YmFkY2ZlLDI3 MTczMzg3OCwweGMzZDJlMWYwXTt0aGlzLlc9bmV3IEFycmF5KDgwKTsKdGhpcy5NPW5ldyBBcnJh eShnaSsyKTt0aGlzLiRNVXNlZD0wO3RoaXMuJGRpZ2VzdGVkPW5ldyBncCgpO3ZhciBnbT0oY2Q/ CmZ1bmN0aW9uKGRkLGFwKXtyZXR1cm4gZGkoZG4oYXAsZGQpLGNqKGFwLDMyLWRkKSl9OmZ1bmN0 aW9uKGRkLGFwKXtyZXR1cm4oYXAKPDxkZCl8KGFwPj4+KDMyLWRkKSl9KSxlbT0oY2Q/ZnVuY3Rp b24oYmcsYXAsYXEsZ2gpe2lmKGJnPDIwKXJldHVybiBjaChkZShhcAosYXEpLGRlKGRrKGFwKSxn aCkpO2lmKGJnPDQwKXJldHVybiBjaChjaChhcCxhcSksZ2gpO2lmKGJnPDYwKXJldHVybiBjaChj aCgKZGUoYXAsYXEpLGRlKGFwLGdoKSksZGUoYXEsZ2gpKTtyZXR1cm4gY2goY2goYXAsYXEpLGdo KX06ZnVuY3Rpb24oYmcsYXAsYXEsCmdoKXtpZihiZzwyMClyZXR1cm4oYXAmYXEpXih+YXAmZ2gp O2lmKGJnPDQwKXJldHVybiBhcF5hcV5naDtpZihiZzw2MCkKcmV0dXJuKGFwJmFxKV4oYXAmZ2gp XihhcSZnaCk7cmV0dXJuIGFwXmFxXmdofSk7dGhpcy4kZGlnZXN0QmxvY2s9ZnVuY3Rpb24oCmdl KXt2YXIgYmcsZ3EsY3k9dGhpcy5ILGdnPXRoaXMuVyxhLGU9Z2cubGVuZ3RoO2ZvcihiZz1hPTA7 Ymc8MTY7YmcrKyxhKz00KQpnZ1tiZ109Z2VbYV08PDI0fGdlW2ErMV08PDE2fGdlW2ErMl08PDh8 Z2VbYSszXTtpZihjZClmb3IoO2JnPGU7YmcrKylnZ1tiZ109CmdtKDEsY2goY2goY2goZ2dbYmct M10sZ2dbYmctOF0pLGdnW2JnLTE0XSksZ2dbYmctMTZdKSk7ZWxzZSBmb3IoO2JnPGU7YmcrKykK Z2dbYmddPWdtKDEsZ2dbYmctM11eZ2dbYmctOF1eZ2dbYmctMTRdXmdnW2JnLTE2XSk7dmFyIGdr PWN5WzBdLGo9Y3lbMV0sYm09CmN5WzJdLGNjPWN5WzNdLGJlPWN5WzRdO2ZvcihiZz0wO2JnPGU7 YmcrKyl7Z3E9Z20oNSxnaykrZW0oYmcsaixibSxjYykrYmUrZ2oKW2JnXStnZ1tiZ107YmU9Y2M7 Y2M9Ym07Ym09Z20oMzAsaik7aj1naztnaz1ncX1pZihjZCl7Y3lbMF09ZGUoY3lbMF0rZ2ssYngp OwpjeVsxXT1kZShjeVsxXStqLGJ4KTtjeVsyXT1kZShjeVsyXStibSxieCk7Y3lbM109ZGUoY3lb M10rY2MsYngpO2N5WzRdPWRlKGN5Cls0XStiZSxieCl9ZWxzZXtjeVswXT0oY3lbMF0rZ2spJmJ4 O2N5WzFdPShjeVsxXStqKSZieDtjeVsyXT0oY3lbMl0rYm0pJmJ4OwpjeVszXT0oY3lbM10rY2Mp JmJ4O2N5WzRdPShjeVs0XStiZSkmYnh9fTt0aGlzLmRpZ2VzdD1mdW5jdGlvbihidyxidSxidCxk bSl7CnZhciBjZT10eXBlb2YgYnc9PWNsLGJtLGRiLGRnPWJ3Lmxlbmd0aCxnZT10aGlzLk0sZ2Y9 dGhpcy4kTVVzZWQ7aWYoIWJ1KWJ1PTAKO2Vsc2UgaWYoYnU8MClidSs9ZGc7aWYoIWJ0KWJ0PWRn O2Vsc2UgaWYoYnQ8MClidCs9ZGc7Zm9yKGRiPWJ1O2RiPGJ0O2RiKyspewpibT1jZT9idy5jaGFy Q29kZUF0KGRiKTpid1tkYl07aWYoIWRtfHxibTwxMjgpe2dlW2dmKytdPWJtJjI1NX1lbHNlIGlm KGJtPAoyMDQ4KXtnZVtnZisrXT0xOTJ8Ym0+Pj42O2dlW2dmKytdPTEyOHxibSY2M31lbHNle2dl W2dmKytdPTIyNHxibT4+PjEyO2dlWwpnZisrXT0xMjh8KGJtPj4+NikmNjM7Z2VbZ2YrK109MTI4 fGJtJjYzfWlmKGdmPj1naSl7dGhpcy4kZGlnZXN0QmxvY2soZ2UsMCk7CnRoaXMuJGRpZ2VzdGVk LmFkZChnaSk7c3dpdGNoKGdmLWdpKXtjYXNlIDI6Z2VbMV09Z2VbZ2krMV07Y2FzZSAxOmdlWzBd PWdlWwpnaV07ZGVmYXVsdDpnZi09Z2l9fX10aGlzLiRNVXNlZD1nZjtyZXR1cm4gdGhpc307dGhp cy5maW5hbGl6ZT1mdW5jdGlvbigpewp2YXIgZ2U9dGhpcy5NLGdmPXRoaXMuJE1Vc2VkLGdzPXRo aXMuJGRpZ2VzdGVkLGduLGdvLGdsO2dsPW5ldyBncChncykuYWRkKGdmCik7Z289bmV3IGdwKGds KS5hZGQoOSk7Z28uYWRkKDYzKS5tYXNrKH42Myk7Z249Z28uc3ViVG9JbnQoZ2wpO2dsLm11bHRp cGx5KDgKKTt2YXIgZ3I9MTt3aGlsZSgtLWduPj0wKXtpZihncil7Z2VbZ2YrK109MTI4O2dyPTB9 ZWxzZSBpZihnbj43KWdlW2dmKytdPTA7CmVsc2UgZ2VbZ2YrK109Z2wuZ2V0Qnl0ZShnbik7aWYo Z2Y9PWdpKXt0aGlzLiRkaWdlc3RCbG9jayhnZSwwKTtnZj0wfX0KcmV0dXJuIGd0KHRoaXMuSCl9 O3RoaXMubGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIDIwfTtpZihhcmd1bWVudHMubGVuZ3RoKQp0 aGlzLmRpZ2VzdChidyxidSxidCxkbSl9enQ9U0hBMTsKJyRTZXJpYWw6IDQ5NTggJCAkUmV2aXNp b246IDEuMzUgJCc7dmFyIGlrPSdodHRwOi8vXHg2MXBwbGV0LnBvc3R4LmNvbS9kaXN0JwosaWw9 ZW0samQ9ZW07ZnVuY3Rpb24ga2MoaHQpe2lmKGl0KXJldHVybiBudWxsO3ZhciBpYz1udWxsO2lm KGl5KXtpZihrYTw1JiYKZG9jdW1lbnRbaHZdLmRvY3VtZW50LmFwcGxldHMmJmRvY3VtZW50W2h2 XS5kb2N1bWVudC5hcHBsZXRzLmxlbmd0aClpYz0KZG9jdW1lbnRbaHZdLmRvY3VtZW50LmFwcGxl dHNbaHRdfWVsc2UgaWYoZG9jdW1lbnQuYXBwbGV0cyYmZG9jdW1lbnQuYXBwbGV0cwogLmxlbmd0 aClpYz1kb2N1bWVudC5hcHBsZXRzW2h0XTtyZXR1cm4gaWN9dmFyIGhyPQonXFxUZW1wb3Jhcnkg SW50ZXJuZXQgRmlsZXNcXCcsaWo9J1xcRG9jdW1lbnRzIGFuZCBTZXR0aW5nc1xcJyxpZT0KL15c L1tBLVpdWzp8XVtcXFwvXS9pO2Z1bmN0aW9uIGtpKCl7dmFyIGhqPWh1LGhrPWhqLnBheWxvYWQ7 aWYoIWhqLgp1c2luZ0FwcGxldCl7aXUoMCk7cmV0dXJuIGJnfWlmKGlsJiYhamQpe3JldHVybiBl bX1pZihoai5mbnMucHJvZ3Jlc3MpaGouZm5zCiAucHJvZ3Jlc3MoJ3Rvb2xzJyxoai5hcmcpO2ls PWJnO2hqLmluc3RhbGxBcHBsZXQ9MDtoai5xdWVyeT0nJztpZihobC4KZm9yY2VBcHBsZXRSZWxv YWQoKXx8aGwuZm9yY2VBcHBsZXRSZWxvYWRBbHdheXMoKSlyZXR1cm4gaWEoKTt2YXIgaHE9a2Qo aGouCmFwcGxldE5hbWUpO2lmKGhsLmlnbm9yZUFwcGxldEltYWdlKCl8fGhsLmlnbm9yZUFwcGxl dEltYWdlQWx3YXlzKCkpaWYoaHEpCnJldHVybiBpcChocSk7ZWxzZSByZXR1cm4gaWEoKTt2YXIg YSxkLGhvPVtdO2lmKGhxKWhvLnB1c2goaHEpO2lmKGl0KXt2YXIgaWcKPVsnL0xpYnJhcnkvQXBw bGljYXRpb24gU3VwcG9ydC9Qb3N0WCcsCicvcHJpdmF0ZS90bXAvNTAxL1RlbXBvcmFyeUl0ZW1z L1Bvc3RYJ10sZT1pZy5sZW5ndGg7Zm9yKGE9MDthPGU7YSsrKWlmKGlnW2EKXSE9aHEpaG8ucHVz aChpZ1thXSl9ZWxzZXtkPWpnKGxvY2F0aW9uLnBhdGhuYW1lKTtpZihsb2NhdGlvbi5wcm90b2Nv bD09CidmaWxlOicmJmllLnRlc3QoZCkpe3ZhciBoeT0nUG9zdFgnO2Q9ZC5zdWJzdHIoMSk7aWYo KGE9ZC5pbmRleE9mKGhyKSkhPS0xKXsKZD1kLnN1YnN0cigwLGEraHIubGVuZ3RoKStoeTtpZihk IT1ocSloby5wdXNoKGQpfWVsc2UgaWYoKGE9ZC5pbmRleE9mKGlqKSkhPQotMSYmKGE9ZC5pbmRl eE9mKCdcXCcsYStpai5sZW5ndGgrMSkpIT0tMSl7ZD1kLnN1YnN0cigwLGErMSkrCidMb2NhbCBT ZXR0aW5ncycraHIraHk7aWYoZCE9aHEpaG8ucHVzaChkKX1pZihkLnN1YnN0cigwLDEpLnRvVXBw ZXJDYXNlKCkhPQonQycpe2Q9ZC5zdWJzdHIoMCwzKSsnV2luZG93cycraHIraHk7aWYoZCE9aHEp aG8ucHVzaChkKX1kPSdDOlxcV2luZG93cycraHIrCmh5O2lmKGQhPWhxKWhvLnB1c2goZCl9fWhq LnNlYXJjaFN0YXRlPXsnbGlzdCc6aG8sJ2luZGV4JzotMX07cmV0dXJuIGliKCl9CmZ1bmN0aW9u IGliKCl7dmFyIGhqPWh1LnNlYXJjaFN0YXRlLGhvPWhqLmxpc3Q7aWYoaGoudGltZW91dCljbGVh clRpbWVvdXQoaGoKIC50aW1lb3V0KTtpZigrK2hqLmluZGV4Pj1oby5sZW5ndGgpe2RlbGV0ZSBo dS5zZWFyY2hTdGF0ZTtyZXR1cm4gaWEoKX12YXIKaHM9aGouaW1hZ2U9bmV3IEltYWdlKCk7aHMu b25lcnJvcj1pYjtocy5vbmxvYWQ9aXA7aHMuc3JjPSdmaWxlOi8vJytob1toai4KaW5kZXhdKycv JytodS5hcHBsZXROYW1lKycuZ2lmJztpZihqeSloai50aW1lb3V0PXNldFRpbWVvdXQoImliKCki LDEwMDApOwpyZXR1cm4gYmd9ZnVuY3Rpb24gaXAoaG4pe3ZhciBoaj1odTtpZighaG58fHR5cGVv ZiBobj09YnEpe2lmKGp4JiZoai4Kc2VhcmNoU3RhdGUuaW1hZ2UuaGVpZ2h0PDEpcmV0dXJuIGli KCk7aG49aGouc2VhcmNoU3RhdGUubGlzdFtoai5zZWFyY2hTdGF0ZQogLmluZGV4XX1pZihoai5z ZWFyY2hTdGF0ZSYmaGouc2VhcmNoU3RhdGUudGltZW91dCljbGVhclRpbWVvdXQoaGouCnNlYXJj aFN0YXRlLnRpbWVvdXQpO2lmKGhuWzBdPT0nLycpaGoucGF0aD0nZmlsZTovLycraG47ZWxzZSBo ai5wYXRoPQonZmlsZTovLy8nK2huO2RlbGV0ZSBoai5zZWFyY2hTdGF0ZTtpZihpZCYmIWlzKXt2 YXIgaHg9amcobG9jYXRpb24ucGF0aG5hbWUpCixqYj1sb2NhdGlvbi5wcm90b2NvbD09J2ZpbGU6 JyYmaWUudGVzdChoeCkmJmh4LmluZGV4T2YoaHIpPT0tMSYmKCFkb2N1bWVudC4KZmlyc3RDaGls ZHx8IWRvY3VtZW50LmZpcnN0Q2hpbGQudGV4dHx8ZG9jdW1lbnQuZmlyc3RDaGlsZC50ZXh0LnN1 YnN0cigwLDI2KQohPSdceDNjIS0tIHNhdmVkIGZyb20gdXJsPSgwMDIyKScpLGl2PWhuLmluZGV4 T2YoaHIpPT0tMTtpZighamImJml2KXtpZighaWUuCnRlc3QoaHgpfHxoeC5zdWJzdHIoMSwzKSE9 aG4uc3Vic3RyKDAsMykpcmV0dXJuIGlhKCk7dmFyIGphPWh4Lm1hdGNoKAovKFtcXFwvXSspL2cp Lmxlbmd0aC0yLGQ9Jyc7d2hpbGUoMDxqYS0tKWQrPScuLlxcJztoai5wYXRoPSdmaWxlOi8vJytk K2huLgpzdWJzdHIoMyl9fWpmKGptLGhuLGhqLnBheWxvYWQuZXhwaXJpZXMudG9vbHMsJy8nKTty ZXR1cm4gaW8oKX1mdW5jdGlvbiBpYSgpCnt2YXIgaGo9aHU7aGouaW5zdGFsbEFwcGxldD0xO2hq LnBhdGg9aWs7aGoucXVlcnk9ano/Jyc6Jz8nO3ZhciBocz1uZXcgSW1hZ2UKKCk7aHMub25lcnJv cj1ocy5vbmxvYWQ9aW87aHMuc3JjPWhqLnBhdGgrJy9zcGFjZXIuZ2lmJztyZXR1cm4gYmd9dmFy IGltPXsKJ2hlaWdodCc6MX07ZnVuY3Rpb24gaW8oKXtmdW5jdGlvbiBoaShkeixkeSxqYyl7aWYo amMpZHk9aXgoZHkpOwpyZXR1cm4nXHgzY3BhcmFtIG5hbWU9IicrZHorJyIgdmFsdWU9IicrZHkr JyJceDNlXG4nfXZhciBoaj1odSxpaT1oai4KYXBwbGV0Q2xhc3MsaHQ9aGouYXBwbGV0TmFtZSxo az1oai5wYXlsb2FkLGEsaHosamU9aGwuaWdub3JlQXBwbGV0SW1hZ2UoKXx8CmhsLmlnbm9yZUFw cGxldEltYWdlQWx3YXlzKCksaHc9aGwuYXBwbGV0RGVidWdMZXZlbCgpO2lmKGh3PT0wKWh3PWhs LgphcHBsZXREZWJ1Z0xldmVsQWx3YXlzKCk7aGwuZm9yY2VBcHBsZXRSZWxvYWQoMCk7aGwuaWdu b3JlQXBwbGV0SW1hZ2UoMCk7aGwuCmFwcGxldERlYnVnTGV2ZWwoMCk7aGwuc2F2ZShoay5leHBp cmllcy5wcmVmZXJlbmNlcywnLycpO3ZhciBpdz1odCxoaD1bCidceDNjXHg2MXBwbGV0IG5hbWU9 IicraWkrJyIgJysoaGoucGF0aD8nY29kZUJhc2U9IicraGoucGF0aCsnIiAnOicnKSsKJ2NvZGU9 ImNvbS5wb3N0eC5jbGllbnQuJytpaSsnLmNsYXNzIiAnKydhcmNoaXZlPSInK2l3KycuamFyJyto ai5xdWVyeSsKJyIgbWF5c2NyaXB0J107aWYoaGouYXJnJiZoai5hcmcuYXR0cnMpaHo9a2coaGou YXJnLmF0dHJzLGltKTtlbHNlIGh6PWltO2ZvcgooYSBpbiBoeiloaFtoaC5sZW5ndGhdPScgJyth Kyc9JytpeChoelthXSk7dmFyIGhtPWhqLmFjdGlvbjtpZighaWQmJmhtIT1paCkKaGhbaGgubGVu Z3RoXT0nIHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiInO2hoW2hoLmxlbmd0aF09J1x4M2Vcbic7 aWYoaGoucGF0aAopaGhbaGgubGVuZ3RoXT1oaSgnY2FiQmFzZScsaHQrJy5jYWInK2hqLnF1ZXJ5 KStoaSgnY29kZUJhc2UnLGhqLnBhdGgsMSk7aGhbCmhoLmxlbmd0aF09aGkoJ2V4cGlyaWVzLnRv b2xzJyxoay5leHBpcmllcy50b29scykraGkoJ2FwcGxldC5pbnN0YWxsJyxoai4KaW5zdGFsbEFw cGxldCkraGkoJ2FwcGxldC51cGRhdGUnLGplPzA6MSkraGkoJ2FwcGxldC5uYW1lJyxodCkraGko CidhcHBsZXQucGF0aCcsaWspO2hoW2hoLmxlbmd0aF09aGkoJ3VhJyxraikraGkoJ3JpZCcsaGsu cmlkWzBdKStoaSgnbXNnaWQnLApoay5tc2dJRCkraGkoJ2RvY3VtZW50LnVybCcsbG9jYXRpb24u aHJlZikraGkoJ2RvY3VtZW50LmNoYXJzZXQnLGRvY3VtZW50LgpjaGFyc2V0fHxkb2N1bWVudC5j aGFyYWN0ZXJTZXR8fCdVVEYtOCcpO2hoW2hoLmxlbmd0aF09aGkoJ2FjdGlvbicsaG0pK2hpKAon ZmxhZ3MnLGhrLmZsYWdzKTtpZighaXkpaGhbaGgubGVuZ3RoXT1oaSgnaWUnLCcxJyk7aWYoaG09 PWppKWhoW2hoLmxlbmd0aF09CmhpKCdzYXZlLm5hbWUnLGhrLnNhdmVOYW1lLDEpK2hpKCdzYXZl LmRhdGEnLGhrLnNhdmVEYXRhKTtlbHNle2lmKGhtPT1paCl7aGgKW2hoLmxlbmd0aF09aGkoJ3Vy bCcsaGsucnBjLnVybCkraGkoJ25hJyxuYXZpZ2F0b3IuYXBwTmFtZSkraGkoJ25jJywKbmF2aWdh dG9yLmFwcENvZGVOYW1lKStoaSgnbmonLG5hdmlnYXRvci5qYXZhRW5hYmxlZCgpPzE6MCkraGko J25wJywKbmF2aWdhdG9yLnBsYXRmb3JtKStoaSgnbnUnLG5hdmlnYXRvci51c2VyQWdlbnQpK2hp KCdudicsbmF2aWdhdG9yLgphcHBWZXJzaW9uKTtpZihuYXZpZ2F0b3IubGFuZ3VhZ2UpaGkoJ25s JyxuYXZpZ2F0b3IubGFuZ3VhZ2UpfXZhciBlLGJ3O2U9aGsuCnNlZ21lbnRzLmxlbmd0aDtmb3Io YT0wO2E8ZTthKyspaWYoaGsuc2VnbWVudHNbYV0hPTEpe2hoW2hoLmxlbmd0aF09aGkoCidzZWdt ZW50LmNvdW50JyxlKTtmb3IoYT0wO2E8ZTthKyspaGhbaGgubGVuZ3RoXT1oaSgnc2VnbWVudC4n K2EsaGsuc2VnbWVudHMKW2FdKTticmVha31pZighaXN8fCFpZCl7aGhbaGgubGVuZ3RoXT1oaSgn Zm5zLmVycm9yJyxlbihoai5mbnMuZXJyb3IpKTtpZihoagogLmZucy5jb21wbGV0aW9uKWhoW2ho Lmxlbmd0aF09aGkoJ2Zucy5jb21wbGV0aW9uJyxlbihoai5mbnMuY29tcGxldGlvbikpO2lmCiho ai5mbnMucHJvZ3Jlc3MpaGhbaGgubGVuZ3RoXT1oaSgnZm5zLnByb2dyZXNzJyxlbihoai5mbnMu cHJvZ3Jlc3MpKTtpZihoai4KZm5zLmZpbmFsaXplKWhoW2hoLmxlbmd0aF09aGkoJ2Zucy5maW5h bGl6ZScsZW4oaGouZm5zLmZpbmFsaXplKSk7aWYoaGouZm5zLgpzdWNjZXNzKWhoW2hoLmxlbmd0 aF09aGkoJ2Zucy5zdWNjZXNzJyxlbihoai5mbnMuc3VjY2VzcykpO2lmKGhtPT1pcSYmaGouZm5z CiAuc2F2ZWQpaGhbaGgubGVuZ3RoXT1oaSgnZm5zLnNhdmVkJyxlbihoai5mbnMuc2F2ZWQpKTto aFtoaC5sZW5ndGhdPWhpKAonZm5zLnNldGNvb2tpZScsImpmIikraGkoJ2Zucy5sb2FkZWQnLCJp dSIpK2hpKCdmbnMubGF1bmNoJywia2YiKX1pZihobT09amopCmhoW2hoLmxlbmd0aF09aGkoJ3Bv c3RtYXJrJyxoay5wb3N0bWFyayk7ZWxzZSBpZihobT09amspaGhbaGgubGVuZ3RoXT1oaSgKJ3Np Z25hdHVyZScsaGsuc2lnbmF0dXJlWzBdKStoaSgnc2lna2V5bmFtZScsaGsuc2lna2V5bmFtZSk7 ZWxzZSBpZihobT09amh8fApobT09aXF8fGhtPT1paCl7aGhbaGgubGVuZ3RoXT1oaSgncGF5bG9h ZG5hbWUnLGhrLm5hbWUsMSkraGkoJ3NhbHQnLGhrLnNhbHQpCitoaSgna2V5Jyxkcyhoai5rZXks MSkpK2hpKCdUT0NFbnRyaWVzJyxoay50b2MubGVuZ3RoKTtpZihoay5oYXJkZW5lcm5hbWUmJgpo ai5oYXJkZW5lcil7a2g9MTtoaFtoaC5sZW5ndGhdPWhpKCdoYXJkZW5lcicsZHMoa2IoaGouaGFy ZGVuZXIsaGoudXNlcktleSwKaGsua2V5c2l6ZSxqdiksMSkpK2hpKCdleHBpcmllcy5oYXJkZW5l cicsaGsuZXhwaXJpZXMuaGFyZGVuZXIpK2hpKAonaGFyZGVuZXIuY29va2llJyxqbCtoay5oYXJk ZW5lcm5hbWUpfWlmKGhrLmtleXNpemUpaGhbaGgubGVuZ3RoXT1oaSgKJ2tleVNpemUnLGhrLmtl eXNpemUpO2lmKChhPWhrLmFsZ25hbWVzLmhhc2gpIT0nU0hBMScpe2hoW2hoLmxlbmd0aF09aGko CidhbGcubmFtZXMuaGFzaCcsYSk7aWYoKGE9aGsuYWxncGFyYW1zLmhhc2gpKWhoW2hoLmxlbmd0 aF09aGkoCidhbGcucGFyYW1zLmhhc2gnLGEpfWlmKChhPWhrLmFsZ25hbWVzLmVuY3J5cHRpb24u a2V5cykhPSdBUkM0Jyl7aGhbaGguCmxlbmd0aF09aGkoJ2FsZy5uYW1lcy5lbmNyeXB0aW9uLmtl eXMnLGEpO2lmKGE9PSdSU0EnKWhoW2hoLmxlbmd0aF09aGkoCidrZXluYW1lJyxoay5rZXluYW1l KTtpZigoYT1oay5hbGdwYXJhbXMuZW5jcnlwdGlvbi5rZXlzKSloaFtoaC5sZW5ndGhdPWhpKAon YWxnLnBhcmFtcy5lbmNyeXB0aW9uLmtleXMnLGEpfWlmKChhPWhrLmFsZ25hbWVzLmVuY3J5cHRp b24uZGF0YSkhPSdBUkM0Jyl7CmhoW2hoLmxlbmd0aF09aGkoJ2FsZy5uYW1lcy5lbmNyeXB0aW9u LmRhdGEnLGEpO2lmKChhPWhrLmFsZ3BhcmFtcy4KZW5jcnlwdGlvbi5kYXRhKSloaFtoaC5sZW5n dGhdPWhpKCdhbGcucGFyYW1zLmVuY3J5cHRpb24uZGF0YScsYSl9aWYoKGE9aGsuCmFsZ25hbWVz LnZlcmlmaWNhdGlvbi5rZXlzKSE9J0NSQzMyJyloaFtoaC5sZW5ndGhdPWhpKAonYWxnLm5hbWVz LnZlcmlmaWNhdGlvbi5rZXlzJyxhKTtpZigoYT1oay5hbGduYW1lcy52ZXJpZmljYXRpb24uZGF0 YSkhPQonQ1JDMzInKWhoW2hoLmxlbmd0aF09aGkoJ2FsZy5uYW1lcy52ZXJpZmljYXRpb24uZGF0 YScsYSk7dmFyIGhwO2U9aGsudG9jLgpsZW5ndGg7Zm9yKGE9MDthPGU7YSsrKXtocD1oay50b2Nb YV07aGhbaGgubGVuZ3RoXT1oaSgnZmlsZS4nK2EsaHBbanBdLDEpK2hpCigndHlwZS4nK2EsaHBb anVdKStoaSgnaHRtbC4nK2EsaHBbanJdLDEpK2hpKCd0ZXh0LicrYSxocFtqdF0sMSkraGkoJ2Zs YWdzLicKK2EsaHBbanFdKStoaSgnb2Zmc2V0LicrYSxocFtpcl1bMF0pK2hpKCdsZW5ndGguJyth LGhwW2lyXVsxXSkraGkoCidvcmlnRmlsZW5hbWUuJythLGhwW2pzXSwxKStoaSgnZW5jb2Rpbmcu JythLGhwW2pvXSwxKX1pZihoay5zZXNzaW9uS2V5KWhoWwpoaC5sZW5ndGhdPWhpKCdzZXNzaW9u S2V5Jyxkcyhoay5zZXNzaW9uS2V5LDEpLDEpfX1pZihoay5zZWN1cmVOYW1lKWhoW2hoLgpsZW5n dGhdPWhpKCdzZWN1cmVOYW1lJyxoay5zZWN1cmVOYW1lKTtpZihoay5sb2dvdXRVUkwpaGhbaGgu bGVuZ3RoXT1oaSgKJ2xvZ291dFVSTCcsaGsubG9nb3V0VVJMKTtpZihoai5hcmcpZm9yKGEgaW4g aGouYXJnLnBhcmFtcyloaFtoaC5sZW5ndGhdPWhpKAphLGhqLmFyZy5wYXJhbXNbYV0sMSk7aWYo aHcpaGhbaGgubGVuZ3RoXT1oaSgnZGVidWcnLGh3KTtoaFtoaC5sZW5ndGhdPQonXHgzYy9ceDYx cHBsZXRceDNlJztoaD1oaC5qb2luKCcnKTtpZihodz4xKWlmKGE9ZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQoCidkZWJ1Z1RleHRhcmVhJykpe2lmKGEudmFsdWUhPScnKWEudmFsdWUrPSdcbic7YS52 YWx1ZSs9aGh9ZWxzZSBhbGVydCgKJ0FwcGxldCB0YWc6XG5cbicraGgpO2lmKGRvY3VtZW50Lmdl dEVsZW1lbnRCeUlkKWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGpuKQogLmlubmVySFRNTD1oaDtl bHNle2RvY3VtZW50W2h2XS5kb2N1bWVudC5vcGVuKCk7ZG9jdW1lbnRbaHZdLmRvY3VtZW50Lndy aXRlCihoaCk7ZG9jdW1lbnRbaHZdLmRvY3VtZW50LmNsb3NlKCl9cmV0dXJuIGJnfWZ1bmN0aW9u IGp3KCl7aWYoIWlkfHxpeikKcmV0dXJuO3ZhciBoaD0nXHgzY2FwcGxldCBoZWlnaHQ9MSBzdHls ZT0icG9zaXRpb246YWJzb2x1dGU7bGVmdDotNTAwcHgiJysKJ1x4M2VceDNjc3BhbiBpZD0iYXBw bGV0VGVzdCJceDNlJm5ic3A7XHgzYy9zcGFuXHgzZVx4M2MvYXBwbGV0XHgzZSc7CmRvY3VtZW50 LndyaXRlKGhoKTtpZihrZSgnYXBwbGV0VGVzdCcpKWl6PWJnfQonJFNlcmlhbDogMDMwNCAkICRS ZXZpc2lvbjogMS42ICQnO3ZhciBhZXk9MSxhZmE9MjtQT0xMSU5HX0VYUE9ORU5USUFMPWFleTsK UE9MTElOR19MSU5FQVI9YWZhO2Z1bmN0aW9uIGFmYihhZmMpe3RoaXMuYmFzZT0xO3RoaXMuaW50 ZXJ2YWw9MTt0aGlzLgp0b3RhbERlbGF5PTA7dGhpcy5taW49MTt0aGlzLm1heD0xO3RoaXMudG90 YWw9NTAwMDt0aGlzLndhaXQ9NTAwMDt0aGlzLnRpbWVyCjt0aGlzLmluaXRpYWxpemU9ZnVuY3Rp b24oYWV2LGFleixhZXcsYWV4KXt2YXIgZGQsY2M7dGhpcy5taW49YWV2O3RoaXMubWF4PQphZXo7 dGhpcy50b3RhbD1hZXc7dGhpcy53YWl0PWFleDt0aGlzLmludGVydmFsPWFldjtkZD1hZXctKGFl eCthZXYpO2NjPWFldy0oCmFleCthZXopO2lmKGNjIT0wKXRoaXMuYmFzZT1kZC9jYztpZih0aGlz LmJhc2U8MSl0aGlzLmJhc2U9MTtpZih0aGlzLgptaW5JbnRlcnZhbDwxKXRoaXMubWluSW50ZXJ2 YWw9MTt0aGlzLnRvdGFsRGVsYXk9MH07dGhpcy5yZXNldD1mdW5jdGlvbigpewp0aGlzLmluaXRp YWxpemUodGhpcy5taW4sdGhpcy5tYXgsdGhpcy50b3RhbCx0aGlzLndhaXQpfTt0aGlzLmNhbmNl bD0KZnVuY3Rpb24oKXtpZih0aGlzLnRpbWVyKXtjbGVhclRpbWVvdXQodGhpcy50aW1lcik7dGhp cy50aW1lcj0wfXRoaXMuCmludGVydmFsPS0yfTt0aGlzLmdldE5leHRJbnRlcnZhbD1mdW5jdGlv bihkdSl7aWYodGhpcy5pbnRlcnZhbDwwKQpyZXR1cm4gdGhpcy5pbnRlcnZhbDt2YXIgZXE9dGhp cy5pbnRlcnZhbDt0aGlzLnRvdGFsRGVsYXk9dGhpcy50b3RhbERlbGF5K2VxCit0aGlzLndhaXQ7 aWYodGhpcy50b3RhbERlbGF5Pj10aGlzLnRvdGFsKXt0aGlzLmludGVydmFsPS0xfWVsc2V7dGhp cy4KaW50ZXJ2YWw9dGhpcy5pbnRlcnZhbCp0aGlzLmJhc2U7aWYodGhpcy5pbnRlcnZhbD50aGlz Lm1heCl0aGlzLmludGVydmFsPQp0aGlzLm1heH1pZihkdSl0aGlzLnRpbWVyPXNldFRpbWVvdXQo ZHUsZXEpO3JldHVybiBlcX19dmFyIGFmZD1uZXcgYWZiKGFleSk7CickU2VyaWFsOiAyMTg5ICQg JFJldmlzaW9uOiAxLjIwICQnO2Z1bmN0aW9uIGVhKGRxLGRwLGR6LGR5KXt2YXIgYSxlO2lmKAp0 eXBlb2YgZHkhPWJxKWRxW2RwKytdPWRzKGR6KSsnPScrZHMoZHkpO2Vsc2UgaWYoKGU9ZHkubGVu Z3RoKSlmb3IoYT0wO2E8ZTsKYSsrKWRwPWVhKGRxLGRwLGR6LGR5W2FdKTtlbHNle2lmKGR6IT0n Jylkeis9Jy4nO2ZvcihhIGluIGR5KWRwPWVhKGRxLGRwLGR6KwphLGR5W2FdKX1yZXR1cm4gZHB9 dmFyIGR0PTAsZWM9ZW07ZnVuY3Rpb24gZWooZHUpe2R0PTA7aWYoZHUpZHUoeydzdGF0dXMnOmVy Cn0pfXZhciBlYj0tMSxlZD0tMTtmdW5jdGlvbiBlZihkcil7aWYoZWMpcmV0dXJuO2lmKGR0KXtj bGVhclRpbWVvdXQoZHQpO2R0PTAKfWlmKGRyLnJlcVRpbWUmJmRyLnJlcU51bWJlcil7ZWI9bmV3 IERhdGUoKS5nZXRUaW1lKCktZHIucmVxVGltZTtlZD1kci4KcmVxTnVtYmVyfWlmKGRyLmNhbGxi YWNrKWRyLmNhbGxiYWNrKGRyKX1mdW5jdGlvbiBlbChkdixlbyxlaSxlZyxkdSxkcixlZSxlcQop e3ZhciBhLGQsZHE9W10sZHA9MCxkeCxkdyxlcD1kciYmZHIubnI7aWYoZHIpZHA9ZWEoZHEsZHAs JycsZHIpO2lmKChkcj1kdi4KYXJncykpZHA9ZWEoZHEsZHAsJycsZHIpO2RxW2RwKytdPSd2PTIn O2RxW2RwKytdPSdtPScrZHMoZW8pO2RxW2RwKytdPSdzPScrCmRzKGVpKTtkcVtkcCsrXT0nZj0n Kyhkdi5mbGFnc3xlZyk7ZHFbZHArK109J2Q9JytkcyhuZXcgRGF0ZSgpLmdldFRpbWUoKSk7ZHEK W2RwKytdPSdhY3Rpb249b3Blbic7aWYoZWIhPS0xKXtkcVtkcCsrXT0ncHJkPScrZWI7ZHFbZHAr K109J3Bybj0nK2VkO2ViPWVkPQotMX1kcVtkcCsrXT0naj0xJztkcVtkcCsrXT0namM9JysiZWYi O2R4PVsnIlJQQ1JlZiI6JysicGF5bG9hZC5ycGMiXTtpZihkdSkKZHhbZHgubGVuZ3RoXT0nImNh bGxiYWNrIjonK2VuKGR1KTtpZihlZSlkeFtkeC5sZW5ndGhdPWVlO2RxW2RwKytdPSdqY2E9Jytk cwooZHguam9pbignLFxuJykpO2lmKGVoKWRxW2RwKytdPSdzcmM9JytlaDtkcVtkcCsrXT0nbmE9 JytkcyhuYXZpZ2F0b3IuCmFwcE5hbWUpO2RxW2RwKytdPSduaj0nK2RzKG5hdmlnYXRvci5qYXZh RW5hYmxlZCgpPzE6MCk7ZHFbZHArK109J25qcz0xJztpZigKbmF2aWdhdG9yLmxhbmd1YWdlKWRx W2RwKytdPSdubD0nK2RzKG5hdmlnYXRvci5sYW5ndWFnZSk7ZHFbZHArK109J25wPScrZHMoCm5h dmlnYXRvci5wbGF0Zm9ybSk7ZHFbZHArK109J251PScrZHMobmF2aWdhdG9yLnVzZXJBZ2VudCk7 ZHFbZHArK109J252PScrZHMKKG5hdmlnYXRvci5hcHBWZXJzaW9uKTtpZihkdSl7ZWM9ZW07ZHQ9 c2V0VGltZW91dCgiZWoiKycoJytlbihkdSkrJyknLChlcXx8CjEwMDAwKSl9ZD1kdi51cmw7aWYo ZHYuc2Vzc2lvbilkKz0nO2pzZXNzaW9uaWQ9Jytkdi5zZXNzaW9uO2QrPSc/JytkcS5qb2luKAon JicpO2lmKGVwKXtkdz1uZXcgSW1hZ2UoKTtkdy5zcmM9ZH1lbHNle2R3PWRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoJ3NjcmlwdCcpCjtkdy50eXBlPSd0ZXh0L2phdmFzY3JpcHQnO2R3LnNyYz1kO2Rv Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZHcpfX1mdW5jdGlvbgplayhkdil7aWYoZHQpe2NsZWFy VGltZW91dChkdCk7ZHQ9MH12YXIgZz1kb2N1bWVudC5ib2R5LmNoaWxkTm9kZXNbZG9jdW1lbnQu CmJvZHkuY2hpbGROb2Rlcy5sZW5ndGgtMV07aWYoZy5ub2RlTmFtZSYmZy5ub2RlTmFtZS50b0xv d2VyQ2FzZSgpPT0nc2NyaXB0JykKZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChnKTtlYz1iZ31y YT1jYWxsUlBDPWVsO2Fib3J0UlBDPWVrOwovLy0tPjwvc2NyaXB0PgoKPHNjcmlwdAp0eXBlPSJ0 ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQpmdW5jdGlvbiBhb2soaGss c3YsYW56KXthZnQoaGsseydlcnJvcic6YW5mLCdzdWNjZXNzJzphbmZ9LHsnZm9ybSc6c3YsCidz aWduYXR1cmUnOmFuen0pfWZ1bmN0aW9uIGFuZihzdGF0dXMsYW9qLHNyKXtpZighc3Ipc3I9Z1Vz ZXJBcmc7aWYoc3Ipe3ZhcgpiZD1zci5zaWduYXR1cmU7aWYoc3RhdHVzPT1hYWd8fHN0YXR1cz09 YWFoKXt0aChzci5mb3JtLDApO2lmKGJkKXNxKGJkLAonXHgzY3NwYW4gY2xhc3M9ZXJyb3JceDNl QmFkICcrKHN0YXR1cz09YWFnPydwb3N0bWFyayc6J3NpZ25hdHVyZScpKwonXHgzYy9zcGFuXHgz ZScpfWVsc2UgaWYoYmQpe3ZhciBkPWFvaixjPS0xO2ZvcihhPTA7YTwzO2ErKylpZigoYz1kLmlu ZGV4T2YoCicgJyxjKzEpKT09LTEpYnJlYWs7aWYoYyE9LTEpZD1kLnN1YnN0cmluZygwLGMpKyc8 YnI+JytkLnN1YnN0cmluZyhjKzEpO3NxKApiZCxkKX19fWZ1bmN0aW9uIGFtaihoayxlaSxlZyxh YmMsc3IsYW9tKXt2YXIgZDtpZihhYmM9PWZnJiZoay51c2VyS2V5KXt0eCgKdXMsc3IpO3d6KGhr LnVzZXJrZXluYW1lKTtoay51c2VyS2V5PScnO2FsYShoayxiZyl9ZWxzZSBpZihhYmMhPWdjKWQ9 c3MoCidSUENFcnJvcicsJycsYWJjLGhrLm1zZ0lEKTtpZihkKWFsZXJ0KGQpfXZhciBhY247ZnVu Y3Rpb24gYW1hKGJlKXtpZighYmUpYmUKPXdpbmRvdy5ldmVudDtpZihiZSl7aWYoYmUudHlwZT09 J2tleWRvd24nKXdpbmRvdy5vbmtleWRvd249Jyc7ZWxzZSBpZihhY24mJgpiZS50eXBlPT0nbG9h ZCcpcmV0dXJuO2Fjbj17J2N0cmxLZXknOmJlLmN0cmxLZXksJ2FsdEtleSc6YmUuYWx0S2V5LAon c2hpZnRLZXknOmJlLnNoaWZ0S2V5fX19ZnVuY3Rpb24gYW55KCl7dmFyIGQ7aWYoZD1rZSgKJ3Rv U2VsZWN0JykpZC5kaXNhYmxlZD0xO2FtdigpO3VvKAoncGFzc3dvcmRSb3cxJyk7dW8oJ2Zvcmdv dFBhc3N3b3JkUm93Jyk7YWx3KCk7dGIoJ2luaXRNc2cnLHNzKCdSUENXYWl0aW5nJykpCn1mdW5j dGlvbiBhb2koc3Ysc3csaGssd2UsYWtoKXtpZihPU01hY09TOSYmKGhrLmZsYWdzJmFiYikmJiEo aGsuCmZsYWdzJmFiaikpe3R4KHVyKTtyZXR1cm47fXdpbmRvdy5vbmtleWRvd249Jyc7aGsucnBj PXsndXJsJzp3ZX07aGsuZm9ybS4KaW5kZXg9c3Y7aGsuZm9ybS5mb2N1c0ZpZWxkPXN3O2hrLnNl Y3VyZVJlcGx5QWxnPSdBUkM0JztpZighCmFraClha2g9YWNufHx3aW5kb3cuZXZlbnQ7aWYoZD1r ZSgndGltZVN0YW1wTG9jYXRpb24nKSlpZihwYXlsb2FkLnNpZ25hdHVyZSlkLmlubmVySFRNTD0K J1x4M2NzcGFuIGNsYXNzPXRpbWVzdGFtcCBpZD1zaWduYXR1cmVceDNlJysnXHgzY2EgaHJlZj0i amF2YXNjcmlwdDonKyJhb2siKwonKCcrInBheWxvYWQiKycsXCcnK3N2KydcJyxcJ3NpZ25hdHVy ZVwnKScrCiciXHgzZVZlcmlmeSB0aGlzIGVudmVsb3BlXHgzYy9hXHgzZScrJ1x4M2Mvc3Bhblx4 M2UnO2Vsc2UgZC5pbm5lckhUTUw9CidceDNjc3BhbiBjbGFzcz10aW1lc3RhbXBceDNlSmFudWFy eSAyNywgMjAxMCcrJ1x4M2Niclx4M2UxMDowODowNCBBTSBQU1RceDNjL3NwYW5ceDNlJztpZigK aGsuc2Vzc2lvbktleSlkb2N1bWVudC5mb3Jtc1tzdl0uc2Vzc2lvbmtleS52YWx1ZT1iYi5lbmNv ZGVUb1N0cmluZyhoay4Kc2Vzc2lvbktleSk7aWYoKGhrLnVzZXJLZXl8fGhrLnNlc3Npb25LZXkp JiYoaGsuZmxhZ3MmeXkpJiYoIWFraHx8IWFraC4KYWx0S2V5KSlha3ooZG9jdW1lbnQuZm9ybXNb c3ZdLGhrLCcnLGFraCk7ZWxzZSBpZihoay51c2VyS2V5Cnx8aGsuc2Vzc2lvbktleXx8aGsuZW5j cnlwdGVkU2Vzc2lvbktleSl7dGIoJ2luaXRNc2cnLCcnKTtpZihoay5zZWxlY3RlZElEKQphbG4o aGsuc2VsZWN0ZWRJRCk7YWxhKGhrKX1lbHNlIGFsdSgpO31mdW5jdGlvbiBha3koYW9hKXsKdmFy IGQsYmQsaGs9cGF5bG9hZDtpZihha3YmJihkPWtlKCdhdXRoRnJhbWUnKSkpe2lmKGQ9CnRsKCdp ZnJhbWVMb2NhdGlvbicpKWQuYXBwZW5kQ2hpbGQoYWt2KX1hbXYoKTtpZihkPWtlKCdlbWFpbFRv JykpewppZihiZD1rZSgndG9TZWxlY3QnKSl7YWtvPWJkO2QucmVtb3ZlQ2hpbGQoYWtvKX1pZihh b2EmJmhrLnNlbGVjdGVkSUQpdGIoZCwKaGsuc2VsZWN0ZWRJRCk7ZWxzZSB0YihkLCdwb3J0cy1j b21taXR0ZXJzQEZyZWVCU0Qub3JnLCBjdnMtcG9ydHNARnJlZUJTRC5vcmcsIGN2cy1hbGxARnJl ZUJTRC5vcmcnKX11bygnYmNjUm93Jyk7dW8oJ3Bhc3N3b3JkUm93MScpO3VvKAonZm9yZ290UGFz c3dvcmRSb3cnKTt0Yignb3BlbkJ1dHRvbkxvY2F0aW9uJywnJyk7dGIoJ3NhdmVCdXR0b25Mb2Nh dGlvbicsJycpCjtha2soMCk7aWYoZD10YignY2hlY2tib3hlc0xvY2F0aW9uJywnJykpdW8oJ2No ZWNrYm94Um93JywKJ2FkZHJlc3NTZW50aW5lbFJvdycpfWZ1bmN0aW9uIGFsYShoayxhbHIpe2Ft Yyhoayk7YW1iKGhrLGFscik7CmFrcihha3UpO2FrayhhbGR8YWtsKTthbWQoKTsKdHEoaGsuZm9y bS5pbmRleCxoay5mb3JtLmZvY3VzRmllbGQpO2FrdD1ldn12YXIgYWt1PTEsYWxwPTIsYWxjPTMs CmFtZz00LGFtZT01LGFtZj02O2Z1bmN0aW9uIGFrcihha3EsaGkpe3ZhciBhbGY9a2UoJ2J1dHRv bkNvbnRhaW5lcicpLGNiPWtlKAonYnV0dG9uVGFibGUnKSxoaz1wYXlsb2FkLGR6LGQ7aWYodmd8 fCFhbGYpcmV0dXJuO2lmKGNiKWFsZi5yZW1vdmVDaGlsZChjYik7CmNiPWRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoJ2RpdicpO2NiLnNldEF0dHJpYnV0ZSgnaWQnLCdidXR0b25UYWJsZScpO2NiLgpp bm5lckhUTUw9J1x4M2N0YWJsZSBjZWxscGFkZGluZz0wIGNlbGxzcGFjaW5nPTAgYm9yZGVyPTAg JysKJ3N0eWxlPSJmbG9hdDogcmlnaHQiXHgzZVx4M2N0clx4M2VceDNjdGQgaWQ9b3BlbkJ1dHRv bkxvY2F0aW9uJysKJ1x4M2VceDNjL3RkXHgzZVx4M2N0ZCBpZD1idXR0b25EaXZpZGVyXHgzZVx4 M2MvdGRceDNlXHgzY3RkICcrCidpZD1zYXZlQnV0dG9uTG9jYXRpb25ceDNlXHgzYy90ZFx4M2Vc eDNjL3RyXHgzZVx4M2MvdGFibGVceDNlJzthbGYuCmluc2VydEJlZm9yZShjYixhbGYuZmlyc3RD aGlsZCk7CmlmKGFrcT09YWt1JiYoaGsuZmxhZ3MmYWJiKSYmKGhrLmZsYWdzCiZhYmopJiYoKGhr LmZsYWdzJmFjail8fGl6KSl7YWtxPWFsY31kPWtlKCdvcGVuQnV0dG9uTG9jYXRpb24nKTsKc3dp dGNoKGFrcSl7Y2FzZSBha3U6ZC5pbm5lckhUTUw9dWQoJ09QRU4nLDEsZHo9CidvcGVuQnV0dG9u JywiYW1uKGpoLGV2ZW50KSIpO2JyZWFrO2Nhc2UgYWxjOmQuaW5uZXJIVE1MPXVkKCdPUEVOIE9O TElORScsMSwKZHo9J29wZW5CdXR0b24nLCJvcGVuT25saW5lKHBheWxvYWQpIiwnb29idG4nKTtp ZihkPXRsKCdvb0xpbmtDZWxsJykpe2QuCmNsYXNzTmFtZT0ndGV4dCc7ZC5pbm5lckhUTUw9c3Mo J09wZW5PbmxpbmVIaW50Jyl9YnJlYWs7CmNhc2UgYWxwOmQuaW5uZXJIVE1MPXVkKCdTVUJNSVQn LDAsZHo9J3N1Ym1pdEJ1dHRvbicsImFtbygpIikKO2JyZWFrO2Nhc2UgYW1nOmQuaW5uZXJIVE1M PXVkKCdSRUdJU1RFUicsMCxkej0ncmVnaXN0ZXJCdXR0b24nLCJhbm0iKyIoJyIrCmhpKyInKSIp O2JyZWFrO2Nhc2UgYW1lOmQuaW5uZXJIVE1MPXVkKCdSRUZSRVNIJywwLGR6PSdyZWZyZXNoQnV0 dG9uJywKImFsdSgpIik7YnJlYWs7Y2FzZSBhbWY6ZC5pbm5lckhUTUw9dWQoJ1JFRlJFU0gnLDAs ZHo9J3JlZnJlc2hCdXR0b24nLAoiYW5kKCkiKTticmVhazt9aWYoZHope2FrcT1kb2N1bWVudC5m b3Jtc1swXVtkel07aWYoYWtxJiZha3EuCmZvY3VzJiZ0bilha3EuZm9jdXMoKX19ZnVuY3Rpb24g YW1jKGhrKXt2YXIgZCxjYSxkdyxhbXA9W3snYXR0cnMnOnsKJ21heGxlbmd0aCc6CjQwLCd0eXBl JzoKJ3Bhc3N3b3JkJywKJ25hbWUnOidrZXkxJywnc2l6ZSc6MjB9LAondGl0bGUnOidQYXNzd29y ZDonfV0sYSxjLGU9YW1wLmxlbmd0aCxlbTtmb3IoYT0xO2E8PWU7CmErKyl7dWsoJ3Bhc3N3b3Jk Um93JythLCdhZGRyZXNzU2VudGluZWxSb3cnKTtlbT0KYW1wW2EtMV07aWYoZD1rZSgncGFzc3dv cmRUaXRsZScrYSkpe2R3PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTt0YihkdyxlbQogLnRp dGxlKTt0bChkKTtkLmFwcGVuZENoaWxkKGR3KX1pZihkPWtlKCdwYXNzd29yZEVudHJ5JythKSl7 aWYoYT09MSYmKGhrLgpub1VzZXJLZXlOZWVkZWR8fGhrLnVzZXJLZXl8fGhrLnNlc3Npb25LZXkp KXtjPSdOb1Bhc3N3b3JkUmVxdWlyZWQnO2R3PQpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7 dGIoZHcsc3MoYykpO3RsKGQpO2QuYXBwZW5kQ2hpbGQoZHcpO2JyZWFrfWNhPVtdCjtmb3IoYyBp biBlbS5hdHRycyljYVtjYS5sZW5ndGhdPWMrJz0iJytpeChlbS5hdHRyc1tjXSkrJyInO2QuaW5u ZXJIVE1MPQonXHgzY3BceDNlXHgzY2lucHV0ICcrY2Euam9pbignICcpKydceDNlXHgzYy9wXHgz ZSd9fQppZighKGhrLm5vVXNlcktleU5lZWRlZHx8aGsudXNlcktleXx8aGsuc2Vzc2lvbktleSkK KXt1aygnZm9yZ290UGFzc3dvcmRSb3cnLCdhZGRyZXNzU2VudGluZWxSb3cnKTtpZigKZD1rZSgn Zm9yZ290UGFzc3dvcmRDZWxsJykpZC5pbm5lckhUTUw9dWYoJ0ZvcmdvdCBwYXNzd29yZD8nLAon aHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL3Bzd2RGb3Jnb3Qu YWN0aW9uJyxiZyl9fWZ1bmN0aW9uIGFtYihoayxhbHIsYW1sKXt2YXIgZDtpZihkPWtlCignY2hl Y2tib3hlc0xvY2F0aW9uJykpe3ZhciBha3A9W107CgoKaWYoIWhrLgpzZXNzaW9uS2V5JiYhaGsu dXNlcktleSYmaGsuY29va2llc0VuYWJsZWQmJighaGsubm9Vc2VyS2V5TmVlZGVkfHxhbWwpKWFr cFsKYWtwLmxlbmd0aF09dWUoJ3JlbWVtYmVyTWUnLCcnLGFtbCwnUmVtZW1iZXIgbWUgb24gdGhp cyBjb21wdXRlci4nKTsKdWsoJ2NoZWNrYm94Um93JywKJ2FkZHJlc3NTZW50aW5lbFJvdycpO2Qu aW5uZXJIVE1MPSdceDNjdGFibGVceDNlJytha3Auam9pbignJykrCidceDNjL3RhYmxlXHgzZSc7 YWxvKGRvY3VtZW50LmZvcm1zW2hrLmZvcm0uaW5kZXhdLGFuZyk7fX12YXIgYWxkPQoxO3ZhciBh a2w9Mjt2YXIgYWxxPTQ7CmZ1bmN0aW9uIGFrayhha3cpe3ZhciBkLGhrPXBheWxvYWQ7aWYoIShk PXRiKAonb29MaW5rQ2VsbCcsJyZuYnNwOycpKSlyZXR1cm47aWYoIXZnJiYoYWt3JmFsZCkpe2lm KChoay5mbGFncyZhYmopJiYoIShoay4KZmxhZ3MmYWJiKXx8IShoay5mbGFncyZhY2opKSYmIWhr LnVzZXJLZXkpe2QuY2xhc3NOYW1lPSdvb3RleHQnO2QuaW5uZXJIVE1MPQpzcygnT3Blbk9ubGlu ZVRpcCcsJycsdWYoJ09wZW4gT25saW5lJywnamF2YXNjcmlwdDonKyJhb2YoKSIsMCwnJykpfX0K aWYoIShkPXRiKCdsaW5rQ2VsbCcsJyZuYnNwOycpKSlyZXR1cm47aWYoIXZnJiYoYWt3CiZha2wp KXtkLmlubmVySFRNTD11ZihzcygnRGlmZmVyZW50QWRkcmVzc0xpbmsnKSwnamF2YXNjcmlwdDon Kwoid3JvbmdBZGRyZXNzIisnKCk7JywwLCcnKX1pZighdmcmJihha3cmYWxxKSl7ZC4KaW5uZXJI VE1MPXVmKHNzKCdOb3RMaXN0ZWRMaW5rJyksJ2phdmFzY3JpcHQ6JysiYW1rIisnKDEpOycsMCwn Jyl9Cn1mdW5jdGlvbiBhbHcoKXt2YXIgZD1rZSgnYm9yZGVyVGFibGUnKSxiZz1rZSgnYm9yZGVy Q29udGFpbmVyJyksCmc7aWYoZCYmYmcpe2c9dWgoZCkrNDtpZihnPDI5MClnPTI5MDtiZy53aWR0 aD1nO2Qud2lkdGg9JzEwMCUnfWQ9a2UoCidib3JkZXJDb250YWluZXInKTtiZz1rZSgnY2VudGVy VGFibGUnKTttaT1rZSgnb3V0ZXJUYWJsZScpO2lmKGQmJmJnJiZtaSl7Zz0KdWgoZCk7aWYoZz4z ODUpe2JnLndpZHRoPTMxNStnO2Qud2lkdGg9ZzttaS53aWR0aD0zNjUrZ319aWYodmQmJihkPWtl KAonb3V0ZXJQb3N0bWFyaycpKSlkLmNsYXNzTmFtZT0nSUU1UG9zdG1hcmsnfWZ1bmN0aW9uIGFt cSgpe3ZhciBkPWtlKAonaGVpZ2h0Q29udHJvbCcpO2lmKGQmJnVnKGQpPjIxMClkLmhlaWdodD11 ZyhkKX1mdW5jdGlvbiBhbWsoCmFvYil7dmFyIGhrPXBheWxvYWQsZCxhbGUsYWxlPWtlKCdiY2NS b3cnKTtpZihkPWtlKCd0b1NlbGVjdCcpKWQuCnNlbGVjdGVkSW5kZXg9ZC5sZW5ndGgtMTt1aygn YmNjUm93Jywnc3ViamVjdFJvdycpO2lmKGFsZT1rZSgnYmNjUm93Jykpe2FsZS4KY2VsbHNbMF0u aW5uZXJIVE1MPSdceDNjcFx4M2VZb3VyIGFkZHJlc3M6XHgzYy9wXHgzZSc7YWxlLmNlbGxzWzFd LmlubmVySFRNTAo9J1x4M2NwXHgzZVx4M2NpbnB1dCB0eXBlPXRleHQgJysnbmFtZT0iYmNjIiBz aXplPTIwXHgzZVx4M2MvcFx4M2UnfXRxKGhrLgpmb3JtLmluZGV4LCdiY2MnKTtpZihhb2IpdW0o J2h0dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20vd2Vic2FmZS9oZWxwP3RvcGlj PUFkZHJOb3RTaG93bicsJ19ibGFuaycsCid0b29sYmFyPW5vLCBsb2NhdGlvbj1ubywgZGlyZWN0 b3JpZXM9bm8sIHN0YXR1cz1ubywnKwonIG1lbnViYXI9bm8sIHNjcm9sbGJhcnM9eWVzLCByZXNp emFibGU9eWVzLCcrJyB3aWR0aD03NjQsIGhlaWdodD01NDAnKTsKfXZhciBha287ZnVuY3Rpb24g d3JvbmdBZGRyZXNzKCl7dmFyIGQsCmhrPXBheWxvYWQsc3Y9ZG9jdW1lbnQuZm9ybXNbaGsuZm9y bS5pbmRleF07YWt5KGJnKTtpZihha28pe2lmKGQ9a2UoCidlbWFpbFRvJykpe2Frby5zZWxlY3Rl ZEluZGV4PTA7ZC5yZXBsYWNlQ2hpbGQoYWtvLGQuY2hpbGROb2Rlc1swXSl9YWtvLgpkaXNhYmxl ZD1lbX1pZihzdi5iY2Mpc3YuYmNjLnZhbHVlPScnO2hrLm5vVXNlcktleU5lZWRlZD0nJztha3Q9 ZXk7YWtuPTA7dGIoCidoaWRkZW5SZWNpcGllbnQnLCcnKTtha3IoYWxwKTtha2soYWxxKTtpZiho ayloay5zZWxlY3RlZElEPScnO3RiKCdwYXNzTXNnJywKJyZuYnNwOycpO3RiKCdsYXN0TG9naW5M b2NhdGlvbicsJyZuYnNwOycpO3RxKGhrLmZvcm0uaW5kZXgsJ3RvU2VsZWN0Jyl9CmZ1bmN0aW9u IGFvZSgpe3ZhciBkO2lmKGQ9a2UoJ3RvU2VsZWN0JykpaWYoZC4Kc2VsZWN0ZWRJbmRleD09ZC5s ZW5ndGgtMSlhbWsoKX1mdW5jdGlvbiBhbG4od3EsCmFuYSl7dmFyIGQsYmQsaGs7aWYoZD1rZSgn aGlkZGVuUmVjaXBpZW50Jykpe2QuaW5uZXJIVE1MPQonXHgzY2lucHV0IHR5cGU9aGlkZGVuICcr J25hbWU9cmVjaXBpZW50ICcrJ3ZhbHVlPSInK3dxKyciXHgzZSd9aGs9cGF5bG9hZDsKaGsuc2Vs ZWN0ZWRJRD13cTtpZihkPWtlKCdlbWFpbFRvJykpe2lmKGJkPWtlKCd0b1NlbGVjdCcpKXtha289 YmQ7aWYoIWFuYSkKYWtvLnZhbHVlPXdxO2QucmVtb3ZlQ2hpbGQoYWtvKX1pZighYW5hKXt0Yihk LHdxKTthbHcoKX19fQpmdW5jdGlvbiBhb24oYW1tKXtpZihhbW0pdGIoJ2xhc3RMb2dpbkxvY2F0 aW9uJywKJ0xhc3QgbG9naW46ICcrYW1tKTtlbHNlIHRsKCdsYXN0TG9naW5Mb2NhdGlvbicpfQpm dW5jdGlvbiBhb2coCmFuail7dmFyIGQ7aWYoYW5qJiYoZD1rZSgnc2VuZGVyQXV0aExvY2F0aW9u JykpKXt0YihkLmNlbGxzWzBdLAonQXV0aGVudGljYXRpb246Jyk7dGIoZC5jZWxsc1sxXSwnU2Vu ZGVyJyl9fQpmdW5jdGlvbiBhb2goCmFvZCl7dmFyIGQ7aWYoZD1rZSgnc2Vuc2l0aXZpdHlMb2Nh dGlvbicpKXt0YihkLmNlbGxzWzBdLCdNZXNzYWdlIFNlY3VyaXR5OicKKTt0YihkLmNlbGxzWzFd LGFvZCl9fQpmdW5jdGlvbiBhbXYoKXt2YXIgZDtpZihkPWtlKCdwYXNzcGhyYXNlTGFiZWxSb3cn KSlkLgpjbGFzc05hbWU9Jyc7aWYoZD10YigncGFzc3BocmFzZUxhYmVsJywnJykpZC5jbGFzc05h bWU9Jyc7aWYoZD10YigKJ3Bhc3NwaHJhc2VUZXh0JywnJykpZC5jbGFzc05hbWU9Jyc7aWYoZD10 YigncGFzc3BocmFzZUluZm8nLCcnKSlkLmNsYXNzTmFtZQo9Jyd9ZnVuY3Rpb24gYW1kKCl7dmFy IGQsYmc7Ymc9a2UoJ3Bhc3NwaHJhc2VUYWJsZScpO2Q9a2UoJ3Bhc3NwaHJhc2VDZWxsSlMnCik7 aWYoZCYmYmcpe2QuY2xhc3NOYW1lPSdwYXNzcGhyYXNlVFZlcic7ZC5wYXJlbnROb2RlLmNsYXNz TmFtZT0KJ3Bhc3NwaHJhc2VUSG9yJztkLmFwcGVuZENoaWxkKGJnKX1pZihkPWtlKCdwYXNzcGhy YXNlTGFiZWxSb3cnKSlkLmNsYXNzTmFtZQo9J3Bhc3NwaHJhc2VMYWJlbFJvdyc7aWYoZD10Yign cGFzc3BocmFzZUxhYmVsJywnUGVyc29uYWwgU2VjdXJpdHkgUGhyYXNlJykpCmQuY2xhc3NOYW1l PSdwYXNzcGhyYXNlTGFiZWwnO2lmKGQ9a2UoJ3Bhc3NwaHJhc2VUZXh0Jykpe2QuY2xhc3NOYW1l PQoncGFzc3BocmFzZVRleHQnO2QuaW5uZXJIVE1MPXNzKCdQYXNzcGhyYXNlVGV4dCcpfWlmKGQ9 a2UoJ3Bhc3NwaHJhc2VJbmZvJykpCntkLmNsYXNzTmFtZT0ncGFzc3BocmFzZUluZm8nO2QuaW5u ZXJIVE1MPXVmKCdNb3JlIGluZm8nLAonaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0 LmNvbS93ZWJzYWZlL2hlbHA/dG9waWM9UFBOb3RTaG93bicsYmcpfX0KdmFyIGFrdj0nJyxhbXc9 ZW07ZnVuY3Rpb24gYW54KCl7aWYoYW13KXJldHVybjt2YXIgZCxkdyxvbCxoawo9cGF5bG9hZCxz dj1kb2N1bWVudC5mb3Jtc1sxXTtkdz1rZSgnaWZyYW1lTG9jYXRpb24nKTtha3Y9a2UoJ2lmcmFt ZVRhYmxlJyk7Cm9sPXVnKGtlKCdoZWlnaHRDb250cm9sJykpO2lmKG9sPDIxMClvbD0yMTA7c3Yu aGVpZ2h0LnZhbHVlPXVnKGFrdik7c3YuCmhjX2hlaWdodC52YWx1ZT1vbDtzdi5rc2toLnZhbHVl PWhrLmFsZ25hbWVzLmtleVNlcnZlcktleUhhc2g7c3YubS52YWx1ZT1oay4KbXNnSUQ7aWYoKGhr LmZsYWdzJmFiYikmJihoay5mbGFncyZhYmopJiYoKGhrLgpmbGFncyZhY2opfHxpeikpe3N2LmZv by52YWx1ZT0nMSd9c3Yuc2lkLnZhbHVlPWhrLnJwYy5zZXNzaW9ufHwnJztpZihoay5ycGMuCnRy YWZmaWNLZXkpc3YudGsudmFsdWU9YmIuZW5jb2RlVG9TdHJpbmcoaGsucnBjLnRyYWZmaWNLZXkp O2Ftdz1iZ31mdW5jdGlvbgphbmQoKXt2YXIgZCxkdyxvbCxoaz1wYXlsb2FkLGRxPVtdLGRwPTAs c3Y9ZG9jdW1lbnQuZm9ybXNbMV0sYW1zO2R3PWtlKAonaWZyYW1lTG9jYXRpb24nKTthbngoKTtz di5zdS52YWx1ZT1oay5zZWxlY3RlZElEO3N2LndpZHRoLnZhbHVlPXVoKGtlKAonYm9yZGVyQ29u dGFpbmVyJykpO3N2LmN0X3dpZHRoLnZhbHVlPXVoKGtlKCdjZW50ZXJUYWJsZScpKTtvbD11Zyhk dykrKHZmPzM6CjEpO2R3LnJlbW92ZUNoaWxkKGFrdik7aWYodmYmJihkPWtlKCdoaWRkZW5BcmVh JykpKWQuYXBwZW5kQ2hpbGQoYWt2KTtpZihzdi4KYWN0aW9uLmluZGV4T2YoJ2F1dGhlbnRpY2F0 ZS5hY3Rpb24nKT4wKXtpZihwYXJzZUludChzdi53aWR0aC52YWx1ZSk8MzY1KXN2Lgp3aWR0aC52 YWx1ZT0nMzY1JztvbCs9MTB9ZHcuaW5uZXJIVE1MPQonXHgzY2lmcmFtZSBpZD1hdXRoRnJhbWUg bmFtZT0iYXV0aEZyYW1lIiBmcmFtZWJvcmRlcj0wICcrCidzY3JvbGxpbmc9bm8gaGVpZ2h0PScr b2wrKHZmPycgc3JjPSJvcGVyYTpibGFuayIgJzonICcpKwond2lkdGg9IjEwMCUiXHgzZVx4M2Mv aWZyYW1lXHgzZSc7YW1zPXRuO3N2LnN1Ym1pdCgpO3RuPWFtcztpZih0bilzZXRUaW1lb3V0Cigi YW5xKCkiLDI1MCk7YWZkLnJlc2V0KCk7dmFyIGVxPTI1MDA7aWYoYWtuPjApZXErPTUwMDA7c2V0 VGltZW91dCgiYWxzKCkiLAplcSl9ZnVuY3Rpb24gYW5xKCl7dmFyIGR3PWtlKCdhdXRoRnJhbWUn KTtpZihkdyYmZHcuY29udGVudFdpbmRvdyYmZHcuCmNvbnRlbnRXaW5kb3cuZm9jdXMpZHcuY29u dGVudFdpbmRvdy5mb2N1cygpfXZhciBha3Q9ZXYKO2Z1bmN0aW9uIGFubihzdixoayl7dHEoaGsu Zm9ybS5pbmRleCxoay5mb3JtLmZvY3VzRmllbGQpO3N3aXRjaChha3Qpe2Nhc2UKZXY6YWt6KHN2 LGhrLGZvcm1LZXkoc3Yua2V5U2VwYXJhdG9yLnZhbHVlLHN2LmtleUNhc2VJbnNlbnNpdGl2ZS52 YWx1ZT09JzEnLApzdikpO2JyZWFrO2Nhc2UgZmM6YWx1KCk7YnJlYWs7Y2FzZSBleTphbW8oKTti cmVha31yZXR1cm4gZW19ZnVuY3Rpb24gYW5yKHN2Cixha2gpe2lmKCFha2gpYWtoPXdpbmRvdy5l dmVudDtpZihha2gua2V5Q29kZT09MTMpaWYoc3Yub25zdWJtaXQpc3Yub25zdWJtaXQKKCk7ZWxz ZSBzdi5zdWJtaXQoKTtyZXR1cm4gZW19dmFyIGFrbj0wO2Z1bmN0aW9uIGFsdSgpe3ZhciBoawo9 cGF5bG9hZCxkcj0nJyxzdj1kb2N1bWVudC5mb3Jtc1toay5mb3JtLmluZGV4XTtpZihzdi5yZWNp cGllbnQmJnN2LgpyZWNpcGllbnQudmFsdWUhPSdudWxsJylkcj17J3N1Jzpzdi5yZWNpcGllbnQu dmFsdWV9O2VsKGhrLnJwYyxoay5tc2dJRCxmYywwCixhbncsZHIsJycsMzAwMDApfWZ1bmN0aW9u IGFtbygpe3ZhciBoaz1wYXlsb2FkLHN2Cj1kb2N1bWVudC5mb3Jtc1toay5mb3JtLmluZGV4XSx3 cT0nJzt0aChoay5mb3JtLmluZGV4LDApO2lmKGhrLnNlbGVjdGVkSUQpd3EKPWhrLnNlbGVjdGVk SUQ7aWYoIXdxJiZzdi5yZWNpcGllbnQpe3dxPXN2LnJlY2lwaWVudC52YWx1ZTtpZih3cT09J251 bGwnfHx3cQo9PSdfdG8nfHx3cT09J19jYyd8fHdxPT0nX2JjYycpd3E9Jyd9aWYoIXdxJiZzdi5i Y2Mpe3dxPXN2LmJjYy52YWx1ZX1pZih3cSkKaGsuc2VsZWN0ZWRJRD13cTtlbHNle2lmKHN2LmJj YylhbGVydChzcygnX05vVXNlckVudGVyZWQnKSk7ZWxzZSBhbGVydChzcygKJ19Ob1VzZXJTZWxl Y3RlZCcpKTt0aChoay5mb3JtLmluZGV4LDEpO3JldHVybiBlbX0KaWYoc3YucmVtZW1iZXJNZSlp Zihzdi5yZW1lbWJlck1lLmNoZWNrZWQpaGsuZmxhZ3N8PWFjaTtlbHNle2hrLgpmbGFncyY9fmFj aX12YXIgZW89aGsuaGFyZGVuZXJuYW1lP2hrLmhhcmRlbmVybmFtZStoay5yaWRbMF06aGsubXNn SUQ7dGIoCidpbml0TXNnJyxzcygnUlBDV2FpdGluZycpKTtlbChoay5ycGMsZW8sZXksMCxhbnYs eydzdSc6aGsuc2VsZWN0ZWRJRH0pfQpmdW5jdGlvbiBhbm0oYW9jKXt2YXIgZDt0YigncGFzc01z ZycsJycpO2Q9dW0oYW9jLAonX2JsYW5rJywndG9vbGJhcj15ZXMsIG1lbnViYXI9eWVzLCBzY3Jv bGxiYXJzPXllcywgcmVzaXphYmxlPXllcywgJysKJ2xvY2F0aW9uPXllcywgc3RhdHVzPXllcycp O3RyKGVtKTthbHkoeydyZWNpcGllbnRJZGVudGlmaWVkJzplbX0pO2lmKGQmJmQuCmZvY3VzKWQu Zm9jdXMoKX1mdW5jdGlvbiBhbHMoKXt2YXIgaGs9cGF5bG9hZCxlbz0KaGsuaGFyZGVuZXJuYW1l P2hrLmhhcmRlbmVybmFtZStoay5yaWRbMF06aGsubXNnSUQsd289KChoay5mbGFncyZ6Zil8fCho ay4KZmxhZ3MmYWFkKT8nMSc6JzAnKTtlbChoay5ycGMsZW8sZXcsMCxhbnUseydzdSc6aGsuc2Vs ZWN0ZWRJRCwnY2snOndvfSwnJywKYWZkLndhaXQrMTUwMDApO3NlbGYuc3RhdHVzPSdEb25lJ31m dW5jdGlvbiBhbXIoCmFsdil7dmFyIGFreD1hbHYsYSxkO2Q9ZG9jdW1lbnQuZm9ybXNbcGF5bG9h ZC5mb3JtLmluZGV4XVsncmVnaXN0ZXJVUkwnXTtpZigKZCYmZC52YWx1ZSl7dmFyIGE9YWx2Lmlu ZGV4T2YoJz8nKTtha3g9ZC52YWx1ZTtpZihhIT0tMSlha3grPWFsdi5zdWJzdHJpbmcoYQopfXJl dHVybiBha3h9ZnVuY3Rpb24gYWxpKGRyKXt2YXIgc3UsZCxoaz1wYXlsb2FkLGFreD1hbXIoZHIu ZW5yb2xsTGluayk7CmFrbisrO3N1PXNzKCdSUENOb3RSZWdpc3RlcmVkJywnJyxha3gpO2Frcihh bWcsYWt4KTtha2soYWtsKTtha3Q9ZXk7CnJldHVybiBzdX1mdW5jdGlvbiBhbGgoZHIpe3ZhciBz dSxkLGhrPXBheWxvYWQ7YWtuKys7c3U9c3MoJ1JQQ05vdEFjdGl2YXRlZCcKLCcnLGFtcihkci5l bnJvbGxMaW5rKSk7dGIoJ29wZW5CdXR0b25Mb2NhdGlvbicsJycpO2Frayhha2wpO2FrdD1leTsK cmV0dXJuIHN1fWZ1bmN0aW9uIGFsbShkcil7YWtrKGFrbCk7cmV0dXJuIHNzKAonUlBDTG9ja2Vk JykrKGRyLnN0YXR1c01zZz8nXG5cbkxvY2tlZCBtZXNzYWdlOiAnK2RyLnN0YXR1c01zZzonJyl9 CmZ1bmN0aW9uIGFsZyhkcil7YWtrKGFrbCk7cmV0dXJuIHNzKCdSUENFeHBpcmVkJyl9CmZ1bmN0 aW9uIGFsayhkcil7YWtrKGFrbCk7aWYoZHIuc3RhdHVzPT1meilhbGVydCgKc3MoJ1JQQ1N1c3Bl bmRlZCcsJycsZHIucmVjaXBpZW50KSk7ZWxzZSBpZihkci5zdGF0dXM9PWZ5KWFsZXJ0KHNzKAon UlBDTm90U2VudEVudmVsb3BlJywnJyxkci5yZWNpcGllbnQpKTtlbHNlIGlmKGRyLnN0YXR1cz09 ZnYpYWxlcnQoc3MoCidSUENVc2VyTG9ja2VkJywnJyxkci5yZWNpcGllbnQpKTtyZXR1cm4gc3Mo J1JQQ1JlY2lwaWVudEVycm9yJyl9CmZ1bmN0aW9uIGFsaihkcil7dmFyIGR3O2Frayhha2wpO2Fs ZXJ0KHNzKCdSUENCbG9ja2VkJywnJyxkci4KcmVjaXBpZW50KSk7aWYoZHc9a2UoJ3Bhc3NNc2cn KSlkdy5pbm5lckhUTUw9c3MoCidSUENCbG9ja2VkVGV4dCcpK3VmKCdGb3Jnb3QgcGFzc3dvcmQ/ JywnaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL3Bzd2RGb3Jn b3QuYWN0aW9uJyxiZyk7fQpmdW5jdGlvbiBhbnMoYWx6KXt2YXIgYWtzPWFseixhLGQ7ZD1kb2N1 bWVudC5mb3Jtc1twYXlsb2FkLmZvcm0uaW5kZXhdWwoncHN3ZEV4cGlyZWRVUkwnXTtpZihkJiZk LnZhbHVlKXt2YXIgYT1hbHouaW5kZXhPZignPycpO2Frcz1kLnZhbHVlO2lmKGEhPS0xCil7aWYo YWtzLmluZGV4T2YoJz8nKSE9LTEpYWtzKz0nJic7ZWxzZSBha3MrPSc/Jztha3MrPWFsei5zdWJz dHJpbmcoYSsxKX19CnJldHVybiBha3N9ZnVuY3Rpb24gYW11KGRyKXt2YXIgZHcsYWtzPWFucyhk ci5wc3dkRXhwTGluayk7YWtrKGFrbCk7aWYoZHc9a2UKKCdwYXNzTXNnJykpZHcuaW5uZXJIVE1M PXNzKCdSUENQYXNzd29yZEV4cGlyZWQnKSt1ZignQ2hhbmdlIHBhc3N3b3JkJyxha3MsCmJnKX1m dW5jdGlvbiBhbXQoZHIpe3ZhciBoaz1wYXlsb2FkLGFrdz1hbGQ7aWYoZHIuCnJlY2lwaWVudCl7 aWYoIWRyLnJlY2lwaWVudElkZW50aWZpZWQpZHIuYXV0b09wZW49Ymc7YWt3fD1ha2x9ZWxzZXtk ci4KYXV0b09wZW49Ymc7YWxuKCd1bmRlZmluZWQnKTt0YignZW1haWxUbycsJ3BvcnRzLWNvbW1p dHRlcnNARnJlZUJTRC5vcmcsIGN2cy1wb3J0c0BGcmVlQlNELm9yZywgY3ZzLWFsbEBGcmVlQlNE Lm9yZycpfWhrLm5vVXNlcktleU5lZWRlZD1iZzsKYWtrKGFrdyk7YW1jKGhrKTthbWQoKTthbWIo aGssMCxkci4KcmVjaXBpZW50SWRlbnRpZmllZCk7YWtyKGFrdSk7dHEoaGsuZm9ybS5pbmRleCxo ay5mb3JtLmZvY3VzRmllbGQpO2FtcSgpO2FrdAo9ZXZ9ZnVuY3Rpb24gYWx5KGRyKXt2YXIgaGs9 cGF5bG9hZDtha2soYWxkfGFrbCk7CmFtYyhoayk7YW1kKCk7YW1iKGhrLDAsZHIucmVjaXBpZW50 SWRlbnRpZmllZAopO2Frcihha3UpO3RxKGhrLmZvcm0uaW5kZXgsaGsuZm9ybS5mb2N1c0ZpZWxk KTtha3Q9ZXY7YW1xKCk7CmFuZCgpO31mdW5jdGlvbiBhbnQKKGRyKXt2YXIgZCxoaz1wYXlsb2Fk O2lmKGFrbyl7dGIoJ2hpZGRlblJlY2lwaWVudCcsJycpO2lmKGQ9a2UoJ2VtYWlsVG8nKSl7CmFr by5zZWxlY3RlZEluZGV4PTA7ZC5yZXBsYWNlQ2hpbGQoYWtvLGQuY2hpbGROb2Rlc1swXSl9fWFr cihhbHApO2FrayhhbHEpOwp0cShoay5mb3JtLmluZGV4LCd0b1NlbGVjdCcpO2FrdD1leX1mdW5j dGlvbiBhbGIoCmRyKXt2YXIgZDtha3koZW0pO2lmKGRyLnN0YXR1cz09ZnIpe2FrcihhbWYpO3Ri KAoncGFzc01zZycsc3MoJ1JQQ1BvbGxUaW1lb3V0JykpfWVsc2V7aWYoZHIuc3RhdHVzPT1lcnx8 ZHIuc3RhdHVzPT0KZ2Epe2FrcihhbWUpO3RiKCdwYXNzTXNnJyxzcygnRmF0YWxFcnJvclJldHJ5 JykpO2FsZXJ0KHNzKChkci5zdGF0dXM9PWVyPwonUlBDTm9TZXJ2ZXInOidSUENFcnJvcicpKSl9 ZWxzZXt0YigncGFzc01zZycsc3MoJ0ZhdGFsRXJyb3InKSk7aWYoZHIuc3RhdHVzCj4yNyYmZHIu bWVzc2FnZSlhbGVydChkci5tZXNzYWdlKydcblxuU3RhdHVzOiAnK2RyLnN0YXR1cyk7ZWxzZSBh bGVydChzcygKJ1JQQ0Vycm9yJywnJyxkci5zdGF0dXMpKX19fWZ1bmN0aW9uIGFudyhkcil7dmFy IGQKLHVpLHRqLGR3LGFraCxoaz1wYXlsb2FkLHN2PWhrLmZvcm0uaW5kZXh8fDA7dGIoJ2luaXRN c2cnLCcnKTt0YigncGFzc01zZycsCicnKTtpZihkci50cmFmZmljS2V5KWRyLlJQQ1JlZi50cmFm ZmljS2V5PWRyLnRyYWZmaWNLZXk7aWYoZHIuc2Vzc2lvbklkKWRyLgpSUENSZWYuc2Vzc2lvbj1k ci5zZXNzaW9uSWQ7YWZkLmluaXRpYWxpemUoZHIubWluUG9sbCxkci5tYXhQb2xsLGRyLgp0b3Rh bFBvbGwsZHIud2FpdFRpbWUpO2hrLmNvb2tpZXNFbmFibGVkPWRyLmNvb2tpZXNFbmFibGVkO2lm KGRyLnNlbmRlckF1dGgpCmhrLnNlbmRlckF1dGg9ZHIuc2VuZGVyQXV0aDthb2coZHIuc2VuZGVy QXV0aCk7CmFvaChkci5zZW5zaXRpdml0eSk7aWYoZD1rZSgKJ3RvU2VsZWN0JykpZC5kaXNhYmxl ZD0wO2lmKGRyLnJlY2lwaWVudClhbG4oZHIucmVjaXBpZW50KTtzd2l0Y2goZHIuc3RhdHVzKQp7 Y2FzZSBnYzpjYXNlIGZ4OmFudChkcik7cmV0dXJuO2Nhc2UgZm06Y2FzZSBmdzp1aT0oZHIuc3Rh dHVzPT1mbT9hbGkoZHIpOgphbGgoZHIpKTtpZihha24+MSl7dGIoJ3Bhc3NNc2cnLHVpLGJnKTt1 aT0nJ31pZihha24+Myl7YWxlcnQoc3MoCidSUENUb29NYW55UmV0cmllcycpKX1icmVhaztjYXNl IGZ6OmNhc2UgZnY6Y2FzZSBmeTp1aT1hbGsoZHIpO2JyZWFrO2Nhc2UgZnMKOmFsaihkcik7YnJl YWs7Y2FzZSBmdTphbXQoZHIpO2lmKCFha2gpYWtoPWFjbnx8d2luZG93LmV2ZW50O2lmKGRyLmF1 dG9PcGVuCiYmKCFha2h8fCFha2guYWx0S2V5KSlha3ooZG9jdW1lbnQuZm9ybXNbc3ZdLGhrLCcn LGFraCxiZyk7YnJlYWs7Y2FzZSBmZjp1aT0Kc3MoJ1JQQ0F1dGhGYWlsZWQnKTtjYXNlIGZ0OmFs eShkcik7YnJlYWs7Y2FzZSBmaDp0aj1hbG0oZHIpO2JyZWFrO2Nhc2UgZmo6CnRqPWFsZyhkcik7 YnJlYWs7ZGVmYXVsdDphbGIoZHIpO3JldHVybjt9aWYoIWR3KWR3PSh1aT8ncGFzc01zZyc6Jycp O3NxKGR3LAp1aSwnJyx0ail9ZnVuY3Rpb24gYW52KGRyKXt2YXIgZCx1aSx0aixkdyxha2gsaGs9 CnBheWxvYWQsc3Y9aGsuZm9ybS5pbmRleHx8MDt0YignaW5pdE1zZycsJycpO3RiKCdwYXNzTXNn JywnJyk7dGIoCidvcGVuQnV0dG9uTG9jYXRpb24nLCcnKTtpZihkci5yZWNpcGllbnQpYWxuKGRy LnJlY2lwaWVudCk7dW8oJ2JjY1JvdycpO2lmKApkci50cmFmZmljS2V5KWRyLlJQQ1JlZi50cmFm ZmljS2V5PWRyLnRyYWZmaWNLZXk7aWYoZHIuc2Vzc2lvbklkKWRyLlJQQ1JlZi4Kc2Vzc2lvbj1k ci5zZXNzaW9uSWQ7aGsuY29va2llc0VuYWJsZWQ9ZHIuY29va2llc0VuYWJsZWQ7c3dpdGNoKGRy LnN0YXR1cyl7CmNhc2UgZm06Y2FzZSBmdzp1aT0oZHIuc3RhdHVzPT1mbT9hbGkoZHIpOmFsaChk cikpO2lmKGFrbj4xKXt0YigncGFzc01zZycsdWkKLGJnKTt1aT0nJ31pZihha24+Myl7YWxlcnQo c3MoJ1JQQ1Rvb01hbnlSZXRyaWVzJykpfWJyZWFrO2Nhc2UgZno6Y2FzZSBmdjoKY2FzZSBmeTp1 aT1hbGsoZHIpO2JyZWFrO2Nhc2UgZnM6YWxqKGRyKTticmVhaztjYXNlIGZ1OmFtdChkcik7aWYo IWFraClha2g9CmFjbnx8d2luZG93LmV2ZW50O2lmKGRyLmF1dG9PcGVuJiYoIWFraHx8IWFraC5h bHRLZXkpKWFreihkb2N1bWVudC5mb3Jtc1tzdl0KLGhrLCcnLGFraCk7YnJlYWs7Y2FzZSBmZjp1 aT1zcygnUlBDQXV0aEZhaWxlZCcpO2Nhc2UgZnQ6Y2FzZSBnYzphbHkoZHIpOwpicmVhaztjYXNl IGZoOnRqPWFsbShkcik7YnJlYWs7Y2FzZSBmajp0aj1hbGcoZHIpO2JyZWFrO2RlZmF1bHQ6YWxi KGRyKTsKcmV0dXJuO31pZighZHcpZHc9KHVpPydwYXNzTXNnJzonJyk7c3EoZHcsdWksJycsdGop O3RoKHN2LDEpfQpmdW5jdGlvbiBhbnUoZHIpe3ZhciBkLHVpLHRqLGR3LGFraCxoaz0KcGF5bG9h ZCxzdj1oay5mb3JtLmluZGV4fHwwLGhtO2lmKGRyLmV2ZW50KXtldmFsKCdnRXZlbnQ9Jytkci5l dmVudCsnOycpO2FraAo9YWNufWlmKCFha2gpYWtoPWFjbnx8d2luZG93LmV2ZW50O2RyLnJlY2lw aWVudD1oay5zZWxlY3RlZElEO2lmKGRyLnN0YXR1cz09CmdjKXtpZihkci5mbmNhbGwpe2V2YWwo ZHIuZm5jYWxsKTtyZXR1cm47fWVsKGhrLnJwYyxoay5tc2dJRCxldSwwLCcnLHsnbnInOjEKfSk7 aWYoZHIuc2VjdXJlTmFtZSYmaGsuc2VsZWN0ZWRJRCE9J3VuZGVmaW5lZCcpaGsuc2VjdXJlTmFt ZT1oay5mb3JtLmZvcm0uCnNlY3VyZU5hbWUudmFsdWU9ZHIuc2VjdXJlTmFtZTtpZihkci5vZmZl ckxvZ291dCloay5sb2dvdXRVUkw9aGsuZm9ybS5mb3JtLgpsb2dvdXRVUkwudmFsdWU9CidodHRw czovL2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL2tleXNlcnZlci9Mb2dvdXQnCjtoay5m b3JtLmZvcm0uc2Vzc2lvbmtleS52YWx1ZT1iYi5lbmNvZGVUb1N0cmluZyhkci5rZXkpO2lmKGRy Lm9wZW5PbmxpbmUpewpvcGVuT25saW5lKGhrKTtyZXR1cm4gZW19YW5jKGhrLGRyLmNhY2hlRmxh Z3MpO2lmKGRyLmNhY2hla2V5KWhrLnVzZXJLZXk9ZHIuCmNhY2hla2V5O2hrLnNlc3Npb25LZXk9 ZHIua2V5O2hrLmV2ZW50PWFraHx8YWNufHx3aW5kb3cuZXZlbnQ7aG09KGRyLgpyZXF1ZXN0U3Rh dGU9PWV4P2lxOmpoKTtyZXR1cm4gYWNhKGhrLCcnLDI1MCxobSx7J3Byb2dyZXNzJzp0dCwnZXJy b3InOgpkaXNwbGF5RXJyb3IsJ3JwYyc6YW1qLCdzYXZlZCc6dHksJ2ZpbmFsaXplJzphbnB9LHsn cHJvZ3Jlc3NCYXInOnsnYmdDb2xvcic6CicjODA4MDgwJywnYm9yZGVyQ29sb3InOicjMDAwMDAw J319KX1lbHNlIGlmKGRyLnN0YXR1cz09ZnJ8fGRyLnN0YXR1cz09ZmcpewppZihkci5zdGF0dXM9 PWZnKWFmZC5yZXNldCgpO3ZhciBhbXg9YWZkLmdldE5leHRJbnRlcnZhbCgiYWxzKCkiKTtpZihh bXg8MCl7CmlmKGFteD09LTIpe31lbHNle2FsYihkcil9fXJldHVybiBlbX1ha3koYmcpO3N3aXRj aChkci5zdGF0dXMpe2Nhc2UgZm06Y2FzZQpmdzp1aT0oZHIuc3RhdHVzPT1mbT9hbGkoZHIpOmFs aChkcikpO2lmKGFrbj4xKXt0YigncGFzc01zZycsdWksYmcpO3VpPScnfWlmCihha24+Myl7YWxl cnQoc3MoJ1JQQ1Rvb01hbnlSZXRyaWVzJykpfWJyZWFrO2Nhc2UgZnA6YW11KGRyKTticmVhaztj YXNlIGZ5OgpjYXNlIGZ2OmNhc2UgZno6dWk9YWxrKGRyKTticmVhaztjYXNlIGZzOmFsaihkcik7 YnJlYWs7Y2FzZSBmaDp0aj1hbG0oZHIpOwpicmVhaztjYXNlIGZqOnRqPWFsZyhkcik7YnJlYWs7 Y2FzZSBmdDpha2soYWtsKTt0YigncGFzc01zZycsc3MoCidSUENJbnN1ZmZpY2llbnRBdXRoJyks YmcpO2JyZWFrO2RlZmF1bHQ6YWxiKGRyKTtyZXR1cm47fWlmKCFkdylkdz0odWk/CidwYXNzTXNn JzonJyk7c3EoZHcsdWksJycsdGopfWZ1bmN0aW9uCmFjbyhkcil7dmFyIGQsdWksdGosZHcsYWto LGhrPXBheWxvYWQsc3Y9aGsuZm9ybS5pbmRleHx8MDt0YignaW5pdE1zZycsJycpOwp0YigncGFz c01zZycsJycpO2lmKGRyLnN0YXR1cz09Z2Mpe2lmKGRyLnNlY3VyZU5hbWUmJmhrLnNlbGVjdGVk SUQhPQondW5kZWZpbmVkJyloay5zZWN1cmVOYW1lPWRyLnNlY3VyZU5hbWU7aWYoZHIub2ZmZXJM b2dvdXQpaGsubG9nb3V0VVJMPQonaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNv bS9rZXlzZXJ2ZXIvTG9nb3V0Jwo7YWJ3KGRyLnN0YXR1cyxkci5zdGF0ZSxkci5rZXksZHIpO3Jl dHVybjt9ZWxzZSBpZihkci5zdGF0dXMhPWZnKXtha3koYmcpfQpzd2l0Y2goZHIuc3RhdHVzKXtj YXNlIGZnOmlmKGhrLnVzZXJLZXkpe3R4KHVzLCcnKTt3eihoay51c2Vya2V5bmFtZSk7aGsuCnVz ZXJLZXk9Jyc7YWxhKGhrLGJnKX1lbHNle3R4KHNuLCcnKX1icmVhaztjYXNlIGZtOmNhc2UgZnc6 dWk9KGRyLnN0YXR1cz09Zm0KP2FsaShkcik6YWxoKGRyKSk7aWYoYWtuPjEpe3RiKCdwYXNzTXNn Jyx1aSxiZyk7dWk9Jyd9aWYoYWtuPjMpe2FsZXJ0KHNzKAonUlBDVG9vTWFueVJldHJpZXMnKSl9 YnJlYWs7Y2FzZSBmcDphbXUoZHIpO2JyZWFrO2Nhc2UgZno6Y2FzZSBmdjpjYXNlIGZ5OnVpCj1h bGsoZHIpO2JyZWFrO2Nhc2UgZnM6YWxqKGRyKTticmVhaztjYXNlIGZoOnRqPWFsbShkcik7YnJl YWs7Y2FzZSBmajp0aj1hbGcKKGRyKTticmVhaztjYXNlIGZ0OmFrayhha2wpO3RiKCdwYXNzTXNn JyxzcygnUlBDSW5zdWZmaWNpZW50QXV0aCcpLGJnKTticmVhawo7ZGVmYXVsdDpzZSgxKTthbGIo ZHIpO3JldHVybjt9aWYoIWR3JiZ1aSlkdz0ncGFzc01zZyc7c3EoZHcsdWksJycsdGopO3RoKHN2 CiwxKTtzZSgxKX12YXIgYW5nPTA7CgoKZnVuY3Rpb24gYWxvKHN2LGFldSl7Cn1mdW5jdGlvbiBh bmMoaGssCmFrbSl7dmFyIGFtej0wCgp8YWNpO2hrLmZsYWdzfD1hbXo7YWttfD1+YW16O2hrLmZs YWdzJj0KYWttO2lmKCEoaGsuZmxhZ3MmYWFkKSl3eihoay51c2Vya2V5bmFtZSk7aWYoIShoay5m bGFncyZ6ZSkpd3koaGsubXNnSUQpfQpmdW5jdGlvbiBhbm8ocmUsc3Ipe3RoKDAsMSl9ZnVuY3Rp b24gYW5wCihyZSxzcil7aWYocmUpe2FmZC5jYW5jZWwoKTtlayhwYXlsb2FkLnJwYyk7YWt5KGJn KTtyZXR1cm47fWFmZC5yZXNldCgpO2FscygKKX12YXIgYW5iPTA7ZnVuY3Rpb24gYW1uKGFuaSxh a2gpe2FuYj1hbmk7YW1hKGFraCk7CnJldHVybiAxfWZ1bmN0aW9uIGFvZigpe3ZhciBoaz1wYXls b2FkLHN2PWRvY3VtZW50LmZvcm1zW2hrLmZvcm0uaW5kZXhdO2lmKApoay5ub1VzZXJLZXlOZWVk ZWR8fChzdi5rZXkxJiZzdi5rZXkxLnZhbHVlKSlvcGVuT25saW5lKGhrKTtlbHNlIGFrcihhbGMp fQpmdW5jdGlvbiBhb2woYWtoKXt0cihiZyl9ZnVuY3Rpb24gYW9vKGFraCl7dHIoZW0pfXZhciBh bHg9Jyc7CmZ1bmN0aW9uIGFubChkcil7YWt6KGRyLmZvcm0sZHIucGF5bG9hZFJlZixkci5rZXks ZHIuZXZ0KTthbHg9Jyd9CmZ1bmN0aW9uIGFreihzdixoayxtLGFraCxlcSl7dmFyIGFrbT0wO2lm KGVxKXthbHg9eydmb3JtJzpzdiwKJ3BheWxvYWRSZWYnOmhrLCdrZXknOm0sJ2V2dCc6YWtofTtz ZXRUaW1lb3V0KCJhbmwoYWx4KSIsaXM/MTI1OjEpO3JldHVybjt9CmlmKChoay5mbGFncyZ5eSkm JiFzdi5hdXRvT3Blbil7YWttPWhrLmZsYWdzO2lmKCFtJiYhaGsudXNlcktleSl7CmlmKGhrLmZs YWdzJnpmKWFrbT0wO2Vsc2UgYWttJj1+YWFkfWVsc2UgaWYoaGsuZW5jcnlwdGVkU2Vzc2lvbktl eSlha218PXplfAp6ZjtpZihoay5zZXNzaW9uS2V5KWFrbXw9emV9ZWxzZXtpZihzdi5jYWNoZVVz ZXJLZXkmJnN2LmNhY2hlVXNlcktleS5jaGVja2VkCilha218PWFhZDtpZihzdi5jYWNoZVNlc3Np b25LZXkmJnN2LmNhY2hlU2Vzc2lvbktleS5jaGVja2VkKWFrbXw9emU7aWYoc3YuCmNhY2hlRW5j cnlwdGVkU2Vzc2lvbktleSYmc3YuY2FjaGVFbmNyeXB0ZWRTZXNzaW9uS2V5LmNoZWNrZWQpYWtt fD0oemV8emYpOwppZihzdi5hdXRvT3BlbiYmc3YuYXV0b09wZW4uY2hlY2tlZClha218PXl5O2lm KHN2LnJlbWVtYmVyTWUmJnN2LnJlbWVtYmVyTWUuCmNoZWNrZWQpYWttfD1hY2l9YW5jKGhrLGFr bSk7dGgoMCwwKTt0YigncGFzc01zZycsJycpO2hrLmV2ZW50PWFraHx8YWNufHwKd2luZG93LmV2 ZW50O3JldHVybiBhY2EoaGssbSwyNTAsYW5iLHsncHJvZ3Jlc3MnOnR0LCdlcnJvcic6ZGlzcGxh eUVycm9yLAoncnBjJzphbWosJ3NhdmVkJzp0eSwnZmluYWxpemUnOmFub30seydwcm9ncmVzc0Jh cic6eydiZ0NvbG9yJzonIzgwODA4MCcsCidib3JkZXJDb2xvcic6JyMwMDAwMDAnfX0pfWZ1bmN0 aW9uIGFraihzdSl7aWYoIXN1KXN1PScnO2RvY3VtZW50LndyaXRlKHN1KwonXHgzYyEtLScpfWZ1 bmN0aW9uIGFraSgpe2RvY3VtZW50LndyaXRlKCctLVx4M2UnKX1mdW5jdGlvbiBhbXkoZHcpe2R3 PWtlKGR3Cik7cmV0dXJuKGR3JiZkdy5pbm5lckhUTUwuaW5kZXhPZignbmJzcCcpIT0tMSl9dmFy IHVzZXJUZXh0PXsKJ05vUGFzc3dvcmRSZXF1aXJlZCc6J05vIHBhc3N3b3JkIHJlcXVpcmVkLics J1JQQ0Vycm9yJzoKJ1N5c3RlbSB1bmF2YWlsYWJsZS4gUGxlYXNlIG1ha2Ugc3VyZSB5b3UgYXJl IG9ubGluZSAnKwonIGFuZCB0cnkgYWdhaW4gbGF0ZXIuXG5cblN0YXR1czogJFswXScsJ1JQQ0V4 cGlyZWQnOgonTWVzc2FnZSBleHBpcmVkLiBDb250YWN0IHNlbmRlciB0byByZWFjdGl2YXRlLics J1JQQ0xvY2tlZCc6CidNZXNzYWdlIGxvY2tlZC4gQ29udGFjdCBzZW5kZXIgZm9yIG1vcmUgaW5m b3JtYXRpb24uJywnUlBDTm9TZXJ2ZXInOgonU3lzdGVtIHVuYXZhaWxhYmxlLiBQbGVhc2UgbWFr ZSBzdXJlIHlvdSBhcmUgb25saW5lICcrCidhbmQgdHJ5IGFnYWluIGxhdGVyLicsJ1JQQ0F1dGhG YWlsZWQnOgonWW91ciBwYXNzd29yZCBoYXMgY2hhbmdlZC4gUGxlYXNlIGVudGVyIHlvdXIgJysn cGFzc3dvcmQuJywKJ1JQQ05vdFNlbnRFbnZlbG9wZSc6J1RoaXMgbWVzc2FnZSB3YXMgbm90IHNl bnQgdG8geW91ciBhZGRyZXNzICcrJygkWzBdKS4nLAonUlBDU3VzcGVuZGVkJzonWW91ciBhY2Nv dW50ICgkWzBdKSBoYXMgYmVlbiBzdXNwZW5kZWQuIFBsZWFzZSAnKwonY29udGFjdCB0aGUgc2Vu ZGVyIGZvciBtb3JlIGluZm9ybWF0aW9uLicsJ1JQQ1VzZXJMb2NrZWQnOgonWW91ciBhY2NvdW50 ICgkWzBdKSBoYXMgYmVlbiBsb2NrZWQuIFBsZWFzZSAnKwonY29udGFjdCB0aGUgc2VuZGVyIGZv ciBtb3JlIGluZm9ybWF0aW9uLicsCidSUENCbG9ja2VkJzonWW91ciBhY2NvdW50ICgkWzBdKSBo YXMgYmVlbiBibG9ja2VkIGJlY2F1c2Ugb2YgdG9vICcrCidtYW55IGluY29ycmVjdCBwYXNzd29y ZCBhdHRlbXB0cy4gUGxlYXNlIHVzZSB0aGUgRm9yZ290ICcrCidQYXNzd29yZCBsaW5rIHRvIHJl YWN0aXZhdGUgeW91ciBhY2NvdW50LicsJ1JQQ0Jsb2NrZWRUZXh0JzoKJ1lvdXIgYWNjb3VudCBo YXMgYmVlbiBibG9ja2VkLiBVc2UgdGhlIEZvcmdvdCAnKwonUGFzc3dvcmQgbGluayBiZWxvdyB0 byByZWFjdGl2YXRlIHlvdXIgYWNjb3VudC5ceDNjYnJceDNlJywKJ1JQQ1Bhc3N3b3JkRXhwaXJl ZCc6J1lvdXIgcGFzc3dvcmQgaGFzIGV4cGlyZWQuIFVzZSB0aGUgbGluayBiZWxvdyAnKwondG8g Y2hhbmdlIHlvdXIgcGFzc3dvcmQuXHgzY2JyXHgzZScsJ1JQQ05vdFJlZ2lzdGVyZWQnOgonVG8g b3BlbiB0aGlzIG1lc3NhZ2UsIGZpcnN0IGNsaWNrIHRoZSBidXR0b24gdG8gJysKJ3JlZ2lzdGVy LiBBZnRlciByZWdpc3RlcmluZywgY29tZSBiYWNrIHRvIGNvbnRpbnVlIG9wZW5pbmcgJysndGhl IG1lc3NhZ2UuJwosJ1JQQ05vdEFjdGl2YXRlZCc6J1RvIG9wZW4gdGhpcyBtZXNzYWdlIHlvdXIg YWNjb3VudCBtdXN0IGZpcnN0IGJlICcrCidhY3RpdmF0ZWQuIFBsZWFzZSBjb250YWN0IHRoZSBz ZW5kZXIgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKJ1JQQ1Rvb01hbnlSZXRyaWVzJzonWW91IG11 c3Qgc3VjY2Vzc2Z1bGx5IHNldHVwIGFuIGFjY291bnQgdG8gb3BlbiAnKwondGhpcyBtZXNzYWdl LiBJZiB5b3UgaGF2ZSBub3QgcmVnaXN0ZXJlZCB0aGVuIGNsaWNrIHRoZSBsaW5rIHRvICcrCidk byBzby4gSWYgeW91IGFscmVhZHkgcmVnaXN0ZXJlZCB0aGVuIGNoZWNrIHlvdXIgaW5ib3ggZm9y IGFuICcrCidhY3RpdmF0aW9uIGVtYWlsLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBwbGVhc2UgY29u dGFjdCBzdXBwb3J0LicsCgonUlBDUmVjaXBpZW50RXJyb3InOidZb3UgbWF5IG5vdCBvcGVuIHRo aXMgbWVzc2FnZSB1c2luZyB0aGlzICcrCidhZGRyZXNzLiBUbyBvcGVuIHRoaXMgbWVzc2FnZSBh cyBhIGRpZmZlcmVudCB1c2VyLCBjbGljayB0aGUgJysKJ2xpbmsgdG8gdGhlIHJpZ2h0LicsJ1JQ Q0luc3VmZmljaWVudEF1dGgnOgonWW91IG1heSBub3Qgb3BlbiB0aGlzIG1lc3NhZ2UgYmVjYXVz ZSB5b3UgJysKJ2RvIG5vdCBoYXZlIGEgc3VmZmljaWVudCBsZXZlbCBvZiBhdXRoZW50aWNhdGlv biBmb3IgdGhpcyAnKwonbWVzc2FnZSBzZW5zaXRpdml0eS4nLCdSUENXYWl0aW5nJzonQ29udGFj dGluZyBzZXJ2ZXIuIFBsZWFzZSB3YWl0Li4uJywKJ0ZhdGFsRXJyb3InOidBbiBlcnJvciBvY2N1 cnJlZCBhbmQgdGhpcyBtZXNzYWdlIGNhbm5vdCBiZSBvcGVuZWQuICcrCidQbGVhc2UgdHJ5IGFn YWluIGxhdGVyLicsJ0ZhdGFsRXJyb3JSZXRyeSc6CidBbiBlcnJvciBvY2N1cnJlZCBhbmQgdGhp cyBtZXNzYWdlIGNhbm5vdCBiZSAnKwonb3BlbmVkLiBDb250YWN0IHRoZSBzZW5kZXIsIG9yIHJl ZnJlc2ggdGhpcyBwYWdlIHRvIHRyeSBhZ2Fpbi4nLAonUlBDUG9sbFRpbWVvdXQnOidZb3Ugc2Vl bSB0byBoYXZlIHN0ZXBwZWQgYXdheSBmcm9tIHlvdXIgY29tcHV0ZXIuICcrCidUbyBlbnRlciB5 b3VyIHBhc3N3b3JkIGFuZCBvcGVuIHlvdXIgbWVzc2FnZSwgY2xpY2sgdGhlIFJlZnJlc2ggJysn YnV0dG9uLicKLCdTYXZlZFBhZ2UnOidJdCBhcHBlYXJzIHlvdSB0cmllZCB0byBzYXZlIHRoaXMg ZW52ZWxvcGUgZnJvbSB5b3VyICcrCidicm93c2VyIGFzIGEgIldlYiBQYWdlLCBjb21wbGV0ZS4i IFVuZm9ydHVuYXRlbHksIHNhdmluZyBhICcrCidyZWdpc3RlcmVkIGVudmVsb3BlIGluIHRoaXMg d2F5IGNhdXNlcyB0aGUgYnJvd3NlciB0byBpcnJlcGFyYWJseSAnKwonYnJlYWsgdGhlIGVudmVs b3BlLiBUaGUgZGlzcGxheSB3aWxsIGxvb2sgZ2FyYmxlZCBhbmQgdGhlIGVudmVsb3BlICcrCid3 aWxsIG5vdCBvcGVuLiBUbyBvcGVuIHlvdXIgbWVzc2FnZSBwbGVhc2UgZ28gYmFjayBhbmQgb3Bl biB0aGUgJysKJ29yaWdpbmFsIGZpbGUuJywnRGlmZmVyZW50QWRkcmVzc0xpbmsnOidTZWxlY3Qg YSBkaWZmZXJlbnQgYWRkcmVzcycsCidOb3RMaXN0ZWRMaW5rJzonTXkgYWRkcmVzcyBpcyBub3Qg bGlzdGVkJywnT3Blbk9ubGluZVRpcCc6CidJZiB5b3UgZXhwZXJpZW5jZSBwcm9ibGVtcyBvcGVu aW5nIHRoaXMgbWVzc2FnZSwgJysndHJ5IHRvICRbMF0nLAonT3Blbk9ubGluZUhpbnQnOidTdWJt aXQgeW91ciBwYXNzd29yZCBhYm92ZSB0byBvcGVuIHlvdXIgbWVzc2FnZSBvbmxpbmUnLAonUGFz c3BocmFzZVRleHQnOidceDNjaVx4M2VZb3VyIHBlcnNvbmFsIHBocmFzZSBpcyBub3QgZW5hYmxl ZCBvbiAnKwondGhpcyBtYWNoaW5lLlx4M2MvaVx4M2UnfSxlaD1ldDsvLy0tPjwvc2NyaXB0Pjwv aGVhZD48Ym9keQpiZ2NvbG9yPSIjRTdFN0U3Ij48c3BhbgppZD0iZmZfdHJhc2giCnN0eWxlPSJk aXNwbGF5Om5vbmUiPjwvc3Bhbj48c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3Vh Z2U9amF2YXNjcmlwdD48IS0tCmlmKGtlKCdmZl9zYXZlZCcpKWFsZXJ0KHNzKCdTYXZlZFBhZ2Un KSk7dmFyIGFuZTtpZihhbmU9a2UoJ2ZmX3RyYXNoJykpYW5lLgppbm5lckhUTUw9J1x4M2NzcGFu IGlkPWZmX3NhdmVkXHgzZVx4M2Mvc3Bhblx4M2UnO3RyKGJnKTt3aW5kb3cub25mb2N1cz1hb2w7 Ci8vLS0+PC9zY3JpcHQ+PHNwYW4KaWQ9Y29tbWVudHRlc3QKc3R5bGU9ImRpc3BsYXk6IG5vbmUi PjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0K YWtqKCk7Ly8tLT48L3NjcmlwdD4mbmJzcDs8c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIK bGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmFraSgpOy8vLS0+PC9zY3JpcHQ+PC9zcGFuPjxzcGFu CmlkPXhtcHRlc3QKc3R5bGU9ImRpc3BsYXk6IG5vbmUiPjxzY3JpcHQKdHlwZT0idGV4dC9qYXZh c2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KZG9jdW1lbnQud3JpdGUoJ1x4M2N4bXBc eDNlJyk7Ly8tLT48L3NjcmlwdD4mbmJzcDs8eG1wPjwveG1wPjwvc3Bhbj48c2NyaXB0CnR5cGU9 InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCnZoPWFteSgnY29tbWVu dHRlc3QnKTt2aT1hbXkoJ3htcHRlc3QnKTt2Zz0hKHZofHx2aSk7Ly8tLT48L3NjcmlwdD4KPHNj cmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQpha2oo KTsvLy0tPjwvc2NyaXB0PjxwPlJlYXNvbnMgeW91IG1heSBiZSBzZWVpbmcgdGhpcyB0ZXh0Ojxv bApjbGFzcz1tYWluUmVhc29ucz48bGk+WW91IGFyZSBzZWVpbmcgdGhpcyB0ZXh0IGluIHlvdXIg cHJldmlldyBwYW5lLiBQbGVhc2UKb3BlbiB0aGUgYXR0YWNobWVudCB0byByZWFkIHlvdXIgc2Vj dXJlIG1lc3NhZ2UuPC9saT48bGk+WW91IGhhdmUgb3BlbmVkIHRoZQphdHRhY2htZW50IGFuZDxv bApjbGFzcz1zdWJSZWFzb25zCnR5cGU9YT48bGk+eW91IGRvIG5vdCB5ZXQgaGF2ZSBhbiBhY2Nv dW50LiBQbGVhc2Ugc2VsZWN0IHlvdXIgZW1haWwgYWRkcmVzcwphbmQgY2xpY2sgdGhlIE9wZW4g YnV0dG9uIHRvIGNyZWF0ZSBhbiBhY2NvdW50LjwvbGk+PGxpPnlvdSBoYXZlIGFuIGFjY291bnQu Ck9uY2UgdGhlIE9wZW4gYnV0dG9uIGFwcGVhcnMsIGVudGVyIHlvdXIgcGFzc3dvcmQgYW5kIGNs aWNrIE9wZW4uPC9saT48L29sPgo8L2xpPjwvb2w+PC9wPjxwPklmIHRoZSBPcGVuIGJ1dHRvbiBk b2VzIG5vdCBhcHBlYXIsIHBsZWFzZSBmb3J3YXJkIHRoZQpvcmlnaW5hbCBlbWFpbCB0bzogbW9i aWxlQHJlcy5jaXNjby5jb208L3A+PGhyCnNpemU9MT48c2NyaXB0CnR5cGU9InRleHQvamF2YXNj cmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmFraSgpOy8vLS0+PC9zY3JpcHQ+PGZvcm0K bWV0aG9kPVBPU1QKYWNjZXB0LWNoYXJzZXQ9VVRGLTgKYWN0aW9uPSJodHRwczovL2llYTM3MHEw My5xYS5zYnIuaXJvbnBvcnQuY29tL2VudmVsb3Blb3BlbmVyL2RlY3J5cHRfZW52ZWxvcGUuanNw Igo+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9bWV0YVBheWxvYWRWYWx1ZQp2YWx1ZT0iIj48aW5w dXQKdHlwZT1oaWRkZW4KbmFtZT1wYXlsb2FkVmFsdWUKdmFsdWU9IiI+PGlucHV0CnR5cGU9aGlk ZGVuCm5hbWU9a2V5U2VwYXJhdG9yCnZhbHVlPSJeIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1r ZXlDYXNlSW5zZW5zaXRpdmUKdmFsdWU9IjAiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPW9wZW5l ckhvc3QKdmFsdWU9ImllYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tIj48aW5wdXQKdHlwZT1o aWRkZW4KbmFtZT1yZWdpc3RlclVSTAp2YWx1ZT0iIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1w c3dkRXhwaXJlZFVSTAp2YWx1ZT0iIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1wc3dkRm9yZ290 VVJMCnZhbHVlPSJodHRwczovL2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL3dlYnNhZmUv cHN3ZEZvcmdvdC5hY3Rpb24iPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPXNlc3Npb25rZXkKdmFs dWU9IiI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9c2VjdXJlTmFtZQp2YWx1ZT0iIj48aW5wdXQK dHlwZT1oaWRkZW4KbmFtZT1sb2dvdXRVUkwKdmFsdWU9IiI+PGlucHV0CnR5cGU9aGlkZGVuCm5h bWU9c2VjdXJlUmVwbHlBbGcKdmFsdWU9IkFSQzQiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPSJf Y2hhcnNldF8iPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPWNoYXJzZXRUZXN0CnZhbHVlPSImIzEy MzcxOyI+PHNwYW4KaWQ9aGlkZGVuUmVjaXBpZW50Pjwvc3Bhbj48ZGl2CmlkPXBheWxvYWRJbWFn ZQpzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW47IGhlaWdodDoxcHg7IG92ZXJmbG93OmhpZGRlbiI+ CjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0K aWYodmgpYWtqKCk7ZWxzZSBpZih2aSlkb2N1bWVudC53cml0ZSgnXHgzY3htcFx4M2UnKTsvLy0t Pjwvc2NyaXB0Pgo8YnI+PGltZyBhbHQ9IiIgc3JjPSI/cD0wJmFtcDtkPSU3QiduYW1lJyUzQW51 bGwsJTBEJTBBJ21zZ0lEJyUzQScwYmU0M2ExMjY1ZjhmNzcwN2YwMDAwMDE5MjMyNTZkMCU0MGll YTM3MHEwMyUyRXFhJywlMEQlMEEnZmxhZ3MnJTNBMjA1NywlMEQlMEEncmlkJyUzQSdjRzl5ZEhN dFkyOXRiV2wwZEdWeWMwQm1jbVZsWW5Oa0xtOXladyUzRCUzRCcsJTBEJTBBJ2tleXNlcnZlcmhv c3QnJTNBJ2llYTM3MHEwMyUyRXFhJTJFc2JyJTJFaXJvbnBvcnQlMkVjb20nLCUwRCUwQSdzZWN1 cmVyZXBseWhvc3QnJTNBJ2llYTM3MHEwMyUyRXFhJTJFc2JyJTJFaXJvbnBvcnQlMkVjb20nLCUw RCUwQSdvcGVuZXJob3N0JyUzQSdpZWEzNzBxMDMlMkVxYSUyRXNiciUyRWlyb25wb3J0JTJFY29t JywlMEQlMEEndG9jJyUzQSU1QiUwRCUwQSU1QidCb2R5LTEyNjQ2MTU2ODQxOTglMkVodG1sJywx LCUwRCUwQScnLCUwRCUwQScnLCUwRCUwQTEzLCU1QjAsMTEwNyU1RCwnQm9keS0xMjY0NjE1Njg0 MTk4JTJFaHRtbCcsJTBEJTBBJ0lTTy04ODU5LTEnJTVELCUwRCUwQSU1QidhdHRhY2htZW50MScs MywlMEQlMEEnJywlMEQlMEEnJywlMEQlMEE1LCU1QjExMDcsNTYwJTVELCdhdHRhY2htZW50MScs JTBEJTBBJ3V0Zi04JyU1RCwlMEQlMEElNUInTWVzc2FnZUJhciUyRWh0bWwnLDQsJTBEJTBBJycs JTBEJTBBJycsJTBEJTBBMSwlNUIxNjY3LDEwNDc1JTVELCdNZXNzYWdlQmFyJTJFaHRtbCcsJTBE JTBBJ0lTTy04ODU5LTEnJTVEJTBEJTBBJTVELCUwRCUwQSdzYWx0JyUzQSdBVnVJWkpNSVpJR2g3 NXdhaUxURkl2YWN4cWclM0QnLCUwRCUwQSdkYXRhJyUzQSU1QiUwRCUwQScnLCUwRCUwQSdRSVpz TE94THRvckdtJTJGZFNuWjVVVllydW55dUlNODVkaVhXVzExbFhVOFhOTjhQNHNkcFZDNzhLb0pj bXdKWEw3OUJhcmRLWiU1QyUwRCUwQW14c0Q5WEdOWFpMU0slMkY1NWRjbEFDYmxlR2ZUdHAlMkJE JTJCbFRsR0kxTWVMUnVTN1NtcFpSdHF6WXk3aHJVR2VTR0k0Wnh2MUMwTiU1QyUwRCUwQXI5enJv NnQ4alRmWVZidjNWcXowS0xrY3h3WFpmdDhNSE9qb255S2NtMkt0OFdFS3FpQ2Z4QWhyRXcxYWpM eGNSQnZDbkdvQSU1QyUwRCUwQW1ORGU1d25CWVhuNncxeDFVaHpSYzZHTGhPZzNpeFVKREdEVkVC MVk0Q0JkWHVjSzVsVkpJOEs2Y0klMkY0M1hYZTZUc1dnT3RmJTVDJTBEJTBBVGdacjV3THhuTUY2 WnBUNGtaSTV2MHJJZnlJdGhHbjFnSHNWSmhXUWk4NXhFQkFDeE9QcUtEZ1NkeSZhbXA7bj0nKSI+ CjxpbWcgYWx0PSIiIHNyYz0iP3A9MSZhbXA7ZD16UkgzOEc5d1hIM1pRdSU1QyUwRCUwQVV2cHJl Vk5reEZwRE1CbUVNSEtSJTJCWXQ0WEg1M3hwbzRSQ3ZNOWxKZ0tEVWVXJTJGN0ppUjhSQVdMdFIz NnUxRjRKS0REWmVidHQlNUMlMEQlMEFRN20wckNndUNwTGJwUXUlMkJ2WlUwUHJjRnljZkRIbkVF RDg5N01rQmJhblVpdUtUU05CSXIlMkJUaTFKSmc4UE9tS2diJTJCSW5mTjQlNUMlMEQlMEFyVjN0 bFZaZWxkYnQxcHBEMGNvc25iaWVKTWFVVSUyQjlic2tUem4lMkI4aWMwWWM0T3R6emVBcnN5SEw3 RFRwVnlDdjdsSGpQZFdBJTVDJTBEJTBBTnU5Nm1JaXhDdkFOJTJCekR5ZXNZZzNVJTJGS2ZQJTJG Y3VHRzhpWThYZlMyWDc5YkxiR21qWUxGZ0swcmFCQzlybVhwaUlpbFlqN1VZJTVDJTBEJTBBNnFS YWhxQ0lPMCUyQlhBWE0wT2tJS2UybUpMdU9oaVpqNEUzWXpGbUJiQSUyRk5UWnd3QzlMdlRHZzNB bVhmMzlaMXNTdGp0RkZZRyU1QyUwRCUwQXpRRkU3aWIlMkZmaGp0UVBreTI4JTJGTSUyQng3Nzd3 RTklMkZ5SHRVV1N3NnNJN1hHJTJCOGRLWm5FdmJyWmZXY0xuZUNxJTJCNmZjYzZTaUM5eCU1QyUw RCUwQUVFOTdpOTB3N1ZWbWolMkJ0aiUyQm5MdTJpU0xJYWo1Y2JRUUV6M0h0OXVybVdUS0ltd001 UHJ0Yk9Ma2lUTERTcFlmJTJGZG4lMkJxYlBZJTVDJTBEJTBBS2JGTFZkaTlCZGM5V2RhU0FSS3Ux RkFpcTFFWG5PVFdocGt0V3hHQ05PRmIxZVNqR1Y4MXl0cjdXWSUyRko1ejhES3NMbWJXTDclNUMl MEQlMEFhcmRrc3JDaGVJTTF5NExFa0pncSUyQm02VjI0TGw1bDIzaktSdUVHSHpqYjBlJTJGa0V5 cjlPY0R6TjFnQ002OEpLVmgzMHBuaHJaJTVDJTBEJTBBTTRZUjhSN1NIc1lZMDNwWHFHclhCcEE5 bm50NDFKZ3pYRGtDN1NyRXFXemJQNWp3VGdDaSUyQk9iQzclMkZCVzZlem1xSHFFVndZcCU1QyUw RCUwQVJyUTVHUlVQN0ZnMWcxaFR2ZXRKZ3o4dlJpOVA4cld5aWJteiUyQnZNSlJRTlowdzE4b0ZO SzJiJTJCQXBCU1FicTZYV2UlMkZWTFI0UyU1QyUwRCUwQWc0TEdvWkh5MGZxa3pqVnF5SUFVdHdj T1MySUJZJTJGVzhXODZhYWY4WlVQJTJCTSUyRkR5Slh1SGNGc1dJNHFnZTNRMkN3b3NmSGF3ViU1 QyUwRCUwQXA2bUpKa1pqakt2Y3Y5enl2dyUyQnBKUWpLVmNjMTU4MXZJWXlzc2F1Rkl2WXU5Y3Zn ZnJ0NkhpazdJdFJlS0wlMkJ1dVRER05MR0UlNUMlMEQlMEFFUU0lMkZXTnE0U0l1SGhTaTdvRTB2 d0JJNyUyRmFnazRBcE1LUEI4TiUyQjU5c2FabEhlRWcmYW1wO249JykiPgo8aW1nIGFsdD0iIiBz cmM9Ij9wPTImYW1wO2Q9c2Y5MVZCYzhoaHEyZ002MkFYUTVHdFJXJTVDJTBEJTBBWDRVeXk2THBF bnk3ZTRoR1Fhck5mMHhjYlpZQSUyRnBMNnNRTzl0eEVSZlVqQiUyRmhqQ1c2V04lMkZXVElpJTJG TWRPVmN4am9tRDdsdGYlNUMlMEQlMEFCOUxEZDJ5QUNxM1dCSGZTcnRxaDZENU1GUlRwMGZmMm1v NzBoYmRidE1IYTdmSTl6NHFRYzBNQmNyQ3VZSmRRUHpUakx6SzQlNUMlMEQlMEFMaml6VHlJaEZh cHZkRmhVbVU2NjdQSUVWWnpvdkVSN1RMVnltNFpsazl5UTZPV3F1enJNQUd6Vkx2ZWVxS3FLSyUy QjU1UHRHRyU1QyUwRCUwQSUyQmlxY1Vabno1QXJqS2loemdzamxodXlUc0w0M3pRRUZFdk5WVWFT cjJaWjg0YzNOTG1NR3dpTUZ0SnRNTUElMkJxcG1sUGp5aFUlNUMlMEQlMEFOJTJCVUtoeDVLajdh QSUyQldqWE5QZmwwRm4wMEVmWWVYZmhKMkZ3MmElMkZ1OEdDRmIzRHJ3T2Zrd2JNaW1uOEtNbXdu SFpGSlN2NHQlNUMlMEQlMEFFYWh4MGlGZFZBT282JTJGeWF3R3p6SkhvczRtQXI5OUI5R2pPV2o3 ZEtyOGl1d1hRNlhMQUdqOExUanBoSWJJRXYycWV3R0JGdSU1QyUwRCUwQXE0SUg3WWkzeEhoM0V2 ajhCJTJCblFVVTclMkI4SEtrMmJtVHJrQjFJJTJCOUFRckRHNDNUbmlrbWdiVjdBZzNCbmp1VExk VGVuM21xMCU1QyUwRCUwQWxlSWFPbmxWSXNjWmNBU1I4bXVHTkZCSTFIb0d6OHRCb3gwOG5qblNu UkFBJTJGd2lIVElYVkV2WGl6eFZ2Smp0UE1YT3drQ2ZZJTVDJTBEJTBBdGFlRVk5YU53d2slMkZz RWhqQXFaJTJGMjJkYTI2bWxqaWxEdjdjWWFYMkclMkJWMWxwRDZmVWdkRHc0JTJGQTlOSHUlMkJy V2hHUkRveXJOciU1QyUwRCUwQVRSM1ozZko1T2MzN1gxc3J1NWVqQWdaMHpKR1hBVmVQdzJabDUw VDBIdCUyRlBvR01YdG5wdiUyQkV4S3l6SXoyUSUyQkdsOSUyQmdGY1kyJTVDJTBEJTBBdkNJejEl MkJkQ2dIdW16azVlQmJYVXByJTJGVlpuQVNBb3lsb3loMyUyRjc0dWwlMkZRTGp6Z1RVdjZzMnRv QkVjc3lTMXRVeFRrMkZWbWMlNUMlMEQlMEFXJTJCS3FKYXVCbEI2SUUlMkJEMVZwTDh2SzFvS0ZI UzBQanFQeWJKcU1Jb2NucmxiMXNDZVRrQ0RSMkN3OElaTHpiSEU2ZmJGSFRGJTVDJTBEJTBBVHlR YlJtNEpqZzFaSVJSY0ZyRGx3YWVJOCUyQlBNYks1U3V1eXk1VWNwcW4zd0syblFubUMlMkJTNWV1 ZzBDbGxVOGIzSE4lMkIwQzNiJTVDJTBEJTBBZkVvJTJCZjVRTXRhMzRCcjhsVnlxYnA3eW1yMldu VUV3TXpjVVBxcVVWYkglMkIxJmFtcDtuPScpIj4KPGltZyBhbHQ9IiIgc3JjPSI/cD0zJmFtcDtk PWc2ayUyQjl1NlklMkJrZWhaNHlSa3J6RTE2eFVYUEhuJTVDJTBEJTBBTFNhNnNudk1STVJnT293 JTJGa04zU0RaUGFlOEtCJTJCTlZoVkUwOHNhekZJMiUyRlglMkJ3emt6RnY5TnZuM1JEYlh6YzVJ MU1CWE1EN2klNUMlMEQlMEElMkYxUDkxNkVjUnZ3TW5IZ0JxU0VNMXdONnhZNk9sMEFBa2Y4clFT bVZJMHMlMkJUN05OTzdRM0M3dlpYMjBZNWUxQ2M1TXhqQ29VJTVDJTBEJTBBRXZEVFlVT0JCSjBP dFBmWEtOWEVBNDd3SWhKcHd1bWJHVHd1SUlSUWZ0Sm8xejAzT3hNaGJzVSUyQnNUek40ejl5MCUy RnBDSUhHWSU1QyUwRCUwQXdWUkU5M1kxakZ5UERmSGh4VXh1VnZxOGN3M0NEcHdLUGRpTHYybHpZ b1lPN2wxWVlFRjBocVU2Mzd5QkJNMkdYSVFDZXVLYyU1QyUwRCUwQXBWTmZhMSUyQmtvMVRPR3Al MkZLRG94TjBKUWRGdEFOTWxZVnFiRzg1elFodVJWZ3FxSjcwJTJCUEdlNGxWOGFsOVIyZmtFZkZh bUkxcyU1QyUwRCUwQWhESndyWmNDYVE4WENTM0JHRFRkNkFwM05mZTRBeWhETGhWeXBWa2RVRGxX SVlPeWR2YUIzT1Zob2R6Q253SWhTeldMMjBwTiU1QyUwRCUwQXRFWDRyYXYwOFM5TGljZXRRd2dR V3NqY2xBSFdCdDZJSnFwJTJCbnJPQnclMkJ0Q3F1VUlmV3c3RjJrc1clMkJaWTBpbEVSanB3Z082 NyU1QyUwRCUwQUJoTFFCNXpNZU5NT0N2WVNyaUhBTVpxQWgyb3BlelJxSDN5Z3UzRXhicHh1Yk0x bFZ3YVpvUkRXcDg0TTQwZldmd25xNUtBaSU1QyUwRCUwQTh2WU8wbVVGNXVOUG91VEpaVSUyQmpr T09nMnhMJTJCaFRCM0M0bFRmeDhFU3ZURUJLUGhnd2N1dDVsYzR4VENHeSUyQjFiRXRLMVRCdyU1 QyUwRCUwQWsyT3dZdm5KNkVVQ1pOSVJTJTJGdTZXbVNzNmlPRmR5QWFUOFVkNmpkN2tDd2c3V0Nn NUdsaWVmQmFTMXdhRVBydyUyQnpNJTJGZWhROCU1QyUwRCUwQXRsWWZPd3NuTXZrSnBvdlNpMHBG SEJUQ0RCT24zTEFFWkE2RDlTVUpWbTZNaFZIcE5nWXFCaXVXNXdiQmpZS2ViM0JCaWRrbCU1QyUw RCUwQUxGeEpZbGJyRGxqdlI0ZmZOQ2VJQlZkJTJGeUtWN2ZuJTJCdWU0ZmhCTE15TTZydzRBNlpa MUlvN3lOTCUyRjRBJTJGYkVoejNsJTJCd3g1WHMlNUMlMEQlMEFsdThYaUxDNWN4dncwUUNOV2JW YWU5cnRWc2I3ZDdFcVN6QThWR1hNNmJtTGd4OFZwN2t1bnlzU3NvVjNTUTVjd1dsZUNycGglNUMl MEQlMEE3RDV1WERqRXI2aDltNzdEb3ZwOUtESXlSODRTdHl4YnhoREN2YkF3RGNFc2VoN29aQXNu TUVDcCZhbXA7bj0nKSI+CjxpbWcgYWx0PSIiIHNyYz0iP3A9NCZhbXA7ZD13OUR3MFIwQ0NEYU1p dTkyJTVDJTBEJTBBSkZPYXpoVWolMkJXRXhEdlBLYmYxSCUyQnczdVoyYXVmMSUyQlRZaEp5UlpS clpOU2FpMmZlbjdSS2toZnFKYkRnc2tVOHRlbzZOWHMxJTVDJTBEJTBBNzVkWjg3YndlUFRpWEM3 UEVKVCUyQjZ1djdpSjQzM2U2N2libzFPUXglMkZNU0tyc1BjQ0olMkZDeW5DUVJDeExFZGkyRjZl Wko5JTJCRmIlNUMlMEQlMEFrM3p0c1ltSlViRTcxT3AlMkZYejZmVnNXY1NQSGNDaHNHc2ZZMlhz T09td0VlaTElMkZxWWtGekZXZDhLR0wlMkJQZXFyWHZCNUJGeDYlNUMlMEQlMEFpZGZmRnM5ajhG Tml3V3JVRGowNVY2S3RWQThSdXc1VUFrTWRmaXBGV1ZLZ0ZzUGxadFk5YnY1UnlGN3dnVlZiYzhi aG1hTSUyQiU1QyUwRCUwQWNMZnhyQWpMbzg2TENpbU1Fd2lVbVh5R21pZXNodXN2SXFJaHRWTiUy RiUyQjFyRk1RSzJCMzNlU0xnSHMxd0t3ek9zZmd4TmlVb0glNUMlMEQlMEFmRG1WRXVKbGViJTJG NiUyQktjZmQybnNXekNTR01mZVFtNWFndDdOVWNRbVpLV1hWTTJHYTY1UUoxbjR4Y2clMkZWVUV1 aVVCdlVoRXAlNUMlMEQlMEFWV3N4MXFNanBBdlVXMjI1c3Q2MTNiVzh1YjFOQ2VpWENhNTY5a1Rt bFJKeUdQTDN4dnU1eDhGT25rdTBKcHhrV1pTdEd4bm4lNUMlMEQlMEF1cFQlMkI4VWpCaE1aTmVX YXBWOExBRVhGaHp0JTJCNzlrcDdSUmFIQ0dkM0lqQjdVTVJzT2hEWGVYRDRJWTJMUWFleU1zZ2FX RXpYJTVDJTBEJTBBcVFIUzFha2QyNjZzWjNxQjlqbXFUUzNnZU9mYW9wNWd5JTJCdzBVT0d2Y2p1 S3JtWWl5cjUzRmRoTHRrRnBINnBIT21rWllRUkslNUMlMEQlMEFhTlFIVHZxTmhINzNjd0xHRmVJ NjQlMkZwU1pJQjJwUWl1ME85dXdZTmRkc0gzREJMYllVNlZDTm52JTJGTU9RVDhCcldRNXZJVmxY JTVDJTBEJTBBcFV3blMzUjVWakhqdks1bDhubkZaTXVWJTJCM0dLRFYlMkZabCUyRjVVYXZ2THQl MkZQdVNpYUJ2Y0ZJREZvcEJWZUdYbVZiU0hqTFJCaHQlNUMlMEQlMEFySUFuQnNtYXZWJTJCTG0l MkJKNFBSaDglMkZ5bUlFWjVpNWYlMkZacERHRG41MFd1ZjdkbU9QenY2cFZnR0VRZXp1WjhVTDlB R213N2huSyU1QyUwRCUwQWtpTGNLRk1FM2pVcEJZJTJGJTJCUWlPJTJGN0J5ajNRQU9uZHRMTEpE SktWRXolMkZnekxqWVU5U1lSWW9wZllxTEN6aEFqYjZHbVFIUiUyQm0lNUMlMEQlMEF5cjJzYiUy Qmc4SmVuTVc1UWJlJTJGemxaQjNIWnB0UTNUbiUyRndlbEl3c2xRS3Yxb2JScXgmYW1wO249Jyki Pgo8aW1nIGFsdD0iIiBzcmM9Ij9wPTUmYW1wO2Q9V21uTDJnRzYxaCUyRkRUdGxGaVFjc09pJTJG SSU1QyUwRCUwQVg4NEFOZDJvYVZiUGFvVjV6V2RFZUVEcU9kUjkyTGVRN3pCazNabkRwWFpUWWo4 OXklMkJ3WWk2TlZlOHcyV2olMkJWSHh5cUJTeWolNUMlMEQlMEFNd1c3Q1k2dVhZNllUZXFZbDMw aEdBRHdXSWtTSVVCTUh2OU9FRGM1UFJJc0VtZndhYVRuMUpIQ0ZMRkhmZkxJVXVLVnolMkZkRCU1 QyUwRCUwQXpwM2thbkFsN2xnOWduVnJTR2JpdWNENUJYWk5heFd4R3UlMkJlck1zZGZCM2pKVVA3 b1I1Sk1RRUM0dTJYUElScHFDeDBaTVZZJTVDJTBEJTBBaFUxJTJGUVd5aVl2bGR1TWp6TUlSRVpC dlpOM2FKWUFXRjNSdEc3MWhDZ1lkVXQwOG1QVkw1VzNFSmI1RXlldk4xc0dCaVJ0Tk8lNUMlMEQl MEFJcFdmNWd4R2tlTUFoUE9VS2U0MDN1dWRRJTJCdDFXTTRyU1lVa0E5dnJid3VvRkRNZjdUZXlJ Z1I4c0FNWWslMkZPWXBUNFFvODNBJTVDJTBEJTBBVnQxSzdwd3JHUkNpZVlZd1k5Z092bG1mckFW Y0JEMllxRyUyQlpvV3hmdk5UWlRId1dyM0V3TTFETGdyamw4RWUlMkZCT25hN2Q2ciU1QyUwRCUw QUNBbnJqMU5DTFpja2xZdmhnNHpuNnRTcmpaUGNzUGNENkt6dE42aEVMcUN4N3lZVm9VYm4lMkZF NTBNblM3aVVZejZhUER6bk5UJTVDJTBEJTBBVTY0WG1BMkJOajRrQ21YN2dYT0kyMWozQ2syJTJC N3Btc0lmVHdzQklqWU1VRXRIZlYlMkJzSGpLenJBMHRKYWFPbHdJbXpVU3ljMCU1QyUwRCUwQVBQ YUV1QUZReUg2aU1SY0thU2NPaE1TMGUlMkJWdFVrMWZlYzdxJTJCejhYT3RncmI2QzZIa29CJTJC d1g1M3BOTURMZmVhWVh4b0pVcyU1QyUwRCUwQVJxaW9iTUlob1RzcEVHJTJGa29VMjBYYldQaHhZ a0lpN01nemN1UTFZTXE2OWttTFZFSEZyTXRFTXVUMWFYckJIMWtHVmJKUkROJTVDJTBEJTBBJTJC d2dOJTJCb3dvMnBkSWRHM3ZPMUtEUUUyRk5KbFN1amNvT0kzV0QxSzFiJTJCTW5XcW9lV2Q2clhr aFBuQiUyRmRuT1BUeDlPQ0hwUFglNUMlMEQlMEElMkJldzVJVXhTR3ZhZFk5d2ZQeFdpMVNHQ2dk bUxIekpDOGR2bmYzSWk5VW9YV1NGRzRGV1VybDY2YkVqZUtRdWc3WGdqbzd0OCU1QyUwRCUwQUQz Z09BNE8lMkJGeFFOTTE2dmJkSzZnQmxXRkxEMkYzd0ozQWlkbFdYZEJ5cWVPUSUyRll0U3BGdjUl MkJnbk5oZjM4REswTTB0Z3lwayU1QyUwRCUwQXVaNjZKeUFPVDR6TGVMWkZlN3dBM0ZyJTJCRWZM d1BkWVJnUHRIdnp0RkwxZHMwa1hZV1IxTVZQT0xGTkJ1JmFtcDtuPScpIj4KPGltZyBhbHQ9IiIg c3JjPSI/cD02JmFtcDtkPTNRajlLJTJGMkNPb2slMkIlNUMlMEQlMEF1MUs0WDZkcG5UbjQ0d0ZQ ZjJFWXhoSSUyRnFoWjZhTUxBaXgzbGt0aWhPQmhYOFBYaW1hU0FGSW9zN0FSMXV1TktpQVZYRjVx eiU1QyUwRCUwQWdnMSUyQjdVTEFZQiUyQnElMkZWcUFjb2tScW13ZDN1SmdxR1RMTXVqJTJCOVpv OG9weU8lMkZLbEo5bnBPcVhyS3V4Y3RtbW5XQ0NUVE9KaWklNUMlMEQlMEF3UDRtSnViVFduenU3 YW9veEJJczFlalNPJTJGb1dsYWJKTlJNdiUyRkJnQm1pYWNvdzVFZFN3NzhRYXVLNnVIcVFETW8x cXJueEpaJTVDJTBEJTBBOFNQd0NuT3lmdHNQSExNVWFtVGFBUzRSOTJnVzFjdkhCM3lLMHpmQk1E MHJjdXRVczBaWElEMHpUZGoyRXNFNU1lb3MwMUJzJTVDJTBEJTBBaGhRYkp6ciUyRk9GT05OWXda S3lkdW1TJTJGdzFZWWNYUWJXN201JTJCUGgzamxLTENjNmRzcFBnbDhRckFLMmMlMkJXOEE3M0pi c3VNVmElNUMlMEQlMEFHZyUyQk5JU2ZpZVk1S1FGV3RWeU5DUVNqeTN6Q3Z3emcwMWY2U0dVZTVT MHYwMkYlMkJMUHAzJTJGd0YySEJMVk9aWU1JOXhPTW5GUjglNUMlMEQlMEFQTXB1WVE2RFRSbjBw d1p2Tll5ZWRDWmxCcUNxRFh6WWhOcW1wa2NZZnZzWEVzN3Y4TUhKVzNiRGJnVVc1MTl3Y29vM2JW JTJGOSU1QyUwRCUwQUFXNmMzQTVsZk96aXdMQk14UW02dnJsdDNXMGVzd1lDYjdBMERrWW4wQzhM N0c1b1prbVU3REFPJTJCZ0xyN2poczhkaHVKajAxJTVDJTBEJTBBMlU2TDFST3k0RFJTeDRoZ2lZ V0N3TWlUZDFRZ3ZNWVBoSWFER2VLSUxJUDR2WTElMkJMMlZrNVVSZThiTk8wdFRDbkYzbDVTc3ol NUMlMEQlMEFEWEd1JTJGZmF2TUZxUGFHaWR4S3hZcyUyQlh2TWwxUDJzSGZjbGQyb3J3UXY0R2p2 RXBiQ0liN3JTbndlYklnVkhMeVZLZ2FyalVBJTVDJTBEJTBBWGhsdGU1cnUlMkJjSG5ld0Z1a0Uz MEZtenBxUk5Kb0x2TXg0VWNiVUpyckNPM1dnJTNEJTNEJywlMEQlMEEnQUFBQUFBJTNEJTNEJyUw RCUwQSU1RCU3RCUwRCUwQSsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKyZhbXA7bj0nKSI+CjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2Ny aXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYodmgpYWtpKCk7Ly8tLT48L3NjcmlwdD48 eG1wPjwveG1wPjwvZGl2PjxkaXYKYWxpZ249Y2VudGVyPjxwCnN0eWxlPSJmb250LXNpemU6NnB4 Ij4mbmJzcDs8L3A+PHRhYmxlCmNlbGxwYWRkaW5nPTAKY2VsbHNwYWNpbmc9MAp3aWR0aD03NTAK Ym9yZGVyPTAKaWQ9b3V0ZXJUYWJsZQpiZ2NvbG9yPSIjRkZGRkZGIj48dHI+PHRkCmhlaWdodD0x CmNvbHNwYW49NApiZ2NvbG9yPSIjRjBFNkNDIgpjbGFzcz1zcGFjZXIycHg+Jm5ic3A7PC90ZD48 dGQKY2xhc3M9c3BhY2VyMXB4PiZuYnNwOzwvdGQ+PC90cj48dHI+PHRkCndpZHRoPTEKcm93c3Bh bj02CmJnY29sb3I9IiNDQ0MwQUEiCmNsYXNzPXNwYWNlcjFweD4mbmJzcDs8L3RkPjx0ZApoZWln aHQ9MQpjb2xzcGFuPTIKYmdjb2xvcj0iI0Y3RjdGNyIKY2xhc3M9c3BhY2VyMnB4PiZuYnNwOzwv dGQ+PHRkCndpZHRoPTIKcm93c3Bhbj0zCmJnY29sb3I9IiNGN0Y3RjciCmNsYXNzPXNwYWNlcjFw eD4mbmJzcDsmbmJzcDs8L3RkPjx0ZAp3aWR0aD0yCnJvd3NwYW49NQpiZ2NvbG9yPSIjQUFBMzk5 IgpjbGFzcz1zcGFjZXIycHg+Jm5ic3A7Jm5ic3A7PC90ZD48L3RyPjx0cj48dGQKd2lkdGg9MQpy b3dzcGFuPTIKYmdjb2xvcj0iI0Y3RjdGNyIKY2xhc3M9c3BhY2VyMXB4PiZuYnNwOyZuYnNwOyZu YnNwOzwvdGQ+PHRkPjx0YWJsZQpjZWxscGFkZGluZz0wCmNlbGxzcGFjaW5nPTAKYm9yZGVyPTAK d2lkdGg9IjEwMCUiPjx0cj48dGQKd2lkdGg9MTMwCmhlaWdodD04MQp2YWxpZ249dG9wCmFsaWdu PWxlZnQKaWQ9bG9nb0NlbGw+CjxpbWcKYWx0PSIiCnNyYz0iaHR0cHM6Ly9pZWEzNzBxMDMucWEu c2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL2JyYW5kaW5nL2N1c3RvbWVyLWxvZ28uZ2lmIgpib3Jk ZXI9MD48L3RkPjx0ZAp3aWR0aD0iMTAwJSI+Jm5ic3A7PC90ZD48dGQKd2lkdGg9MTMwCmhlaWdo dD04MQphbGlnbj1yaWdodAp2YWxpZ249dG9wCmlkPXBvc3RtYXJrQ2VsbD48ZGl2CmlkPW91dGVy UG9zdG1hcms+PGRpdgppZD1pbm5lclBvc3RtYXJrPjx0YWJsZQpjZWxscGFkZGluZz0wCmNlbGxz cGFjaW5nPTAKYm9yZGVyPTA+PHRyPjx0ZAp2YWxpZ249dG9wPgo8aW1nCmFsdD0iIgpzcmM9Imh0 dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20vd2Vic2FmZS9icmFuZGluZy9wb3N0 bWFya0xlZnRMb2NhbC5naWYiCmJvcmRlcj0wPgo8L3RkPjx0ZAp2YWxpZ249dG9wPgo8aW1nCmFs dD0iIgpzcmM9Imh0dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20vd2Vic2FmZS9i cmFuZGluZy9wb3N0bWFyay5naWYiCmJvcmRlcj0wPgo8ZGl2CmFsaWduPWNlbnRlcgppZD10aW1l U3RhbXBDb250YWluZXI+PHNwYW4KaWQ9dGltZVN0YW1wTG9jYXRpb24+Jm5ic3A7PC9zcGFuPjwv ZGl2PjwvdGQ+PC90cj4KPHRyPjx0ZApjb2xzcGFuPTIKYWxpZ249cmlnaHQ+PHRhYmxlCmJvcmRl cj0wCmNlbGxwYWRkaW5nPTAKY2VsbHNwYWNpbmc9MD48dHIKaWQ9c2VuZGVyQXV0aExvY2F0aW9u Pjx0ZApjbGFzcz1zZW5kZXJBdXRoCmFsaWduPXJpZ2h0PjwvdGQ+PHRkCmNsYXNzPXNlbmRlckF1 dGgKYWxpZ249bGVmdD48L3RkPjwvdHI+PHRyCmlkPXNlbnNpdGl2aXR5TG9jYXRpb24+PHRkCmNs YXNzPXNlbmRlckF1dGgKYWxpZ249cmlnaHQ+PC90ZD48dGQKY2xhc3M9c2VuZGVyQXV0aAphbGln bj1sZWZ0PjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj4KPC90YWJsZT48L2Rpdj48L2Rpdj48 L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PHRyPjx0ZAphbGlnbj1jZW50ZXIKaWQ9aWZyYW1l TG9jYXRpb24+PHRhYmxlCmNlbGxwYWRkaW5nPTAKY2VsbHNwYWNpbmc9MApib3JkZXI9MAp3aWR0 aD0iMTAwJSIKY2xhc3M9bWFpbldpbmRvdwppZD1pZnJhbWVUYWJsZT48dHI+PHRkCmlkPWhlaWdo dENvbnRyb2wKaGVpZ2h0PTIxMD48dGFibGUKYWxpZ249Y2VudGVyCndpZHRoPTcwMAppZD1jZW50 ZXJUYWJsZQpjZWxscGFkZGluZz0wCmNlbGxzcGFjaW5nPTAKYm9yZGVyPTA+PHRyPjx0ZD48dGFi bGUKYWxpZ249Y2VudGVyCmNlbGxwYWRkaW5nPTAKY2VsbHNwYWNpbmc9MApib3JkZXI9MD48dHI+ PHRkCndpZHRoPTE1NT4mbmJzcDs8L3RkPjx0ZAphbGlnbj1jZW50ZXIKaWQ9Ym9yZGVyQ29udGFp bmVyPjxkaXYKYWxpZ249cmlnaHQKaWQ9aGVscExpbmtMb2NhdGlvbj48YQpocmVmPSJodHRwczov L2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL3dlYnNhZmUvaGVscD90b3BpYz1FbnZlbG9w ZSIKdGFyZ2V0PSJfYmxhbmsiPkhlbHA8L2E+PC9kaXY+PGRpdgppZD1ib3JkZXJXaW5kb3dDb250 YWluZXI+PGRpdgppZD1ib3JkZXJXaW5kb3dCbG9jaz48L2Rpdj48dGFibGUKY2VsbHBhZGRpbmc9 MApjZWxsc3BhY2luZz0wCmlkPWJvcmRlclRhYmxlCmNsYXNzPWJvcmRlcldpbmRvdwp3aWR0aD0i MTAwJSI+PHRyCmlkPWZyb21Sb3c+PHRkCmNsYXNzPWV2cFdpbmRvdz48cD5Gcm9tOjwvcD48L3Rk Pjx0ZApjbGFzcz1ldnBXaW5kb3cKY29sc3Bhbj0yPjxzcGFuCmNsYXNzPWVtYWlsCmlkPWVtYWls RnJvbT5LcmlzIEtlbm5hd2F5ICZsdDtrcmlzQEZyZWVCU0Qub3JnJmd0Ozwvc3Bhbj48L3RkPjwv dHI+PHRyCmlkPXRvUm93Pjx0ZApjbGFzcz1ldnBXaW5kb3c+PHA+VG86PC9wPjwvdGQ+PHRkCmNs YXNzPWV2cFdpbmRvdwpjb2xzcGFuPTI+PHNwYW4KY2xhc3M9ZW1haWwKaWQ9ZW1haWxUbz48c2Vs ZWN0CmlkPXRvU2VsZWN0Cm5hbWU9cmVjaXBpZW50PjxvcHRpb24KdmFsdWU9bnVsbD4tIFNlbGVj dCBPbmUgLTwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJfdG8iPlRvOjwvb3B0aW9uPgo8b3B0aW9u IHZhbHVlPSJjdnMtYWxsQEZyZWVCU0Qub3JnIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjdnMt YWxsQEZyZWVCU0Qub3JnPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9ImN2cy1wb3J0c0BGcmVlQlNE Lm9yZyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Y3ZzLXBvcnRzQEZyZWVCU0Qub3JnPC9vcHRp b24+CjxvcHRpb24gdmFsdWU9InBvcnRzLWNvbW1pdHRlcnNARnJlZUJTRC5vcmciPiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO3BvcnRzLWNvbW1pdHRlcnNARnJlZUJTRC5vcmc8L29wdGlvbj48b3B0 aW9uCnZhbHVlPSJfYmNjIj5BZGRyZXNzIG5vdCBsaXN0ZWQ8L29wdGlvbj48L3NlbGVjdD48c2Ny aXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCnZhciBk dz1rZSgndG9TZWxlY3QnKTtpZihkdylkdy5vbmNoYW5nZT1hb2U7Ly8tLT48L3NjcmlwdD4KPC9z cGFuPjwvdGQ+PC90cj48dHIKaWQ9c3ViamVjdFJvdz48dGQKY2xhc3M9ZXZwV2luZG93PjxwPlN1 YmplY3Q6Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9wPjwvdGQ+PHRkCmNsYXNzPWV2cFdpbmRvdwpjb2xz cGFuPTI+PHNwYW4KY2xhc3M9ZW1haWwKaWQ9ZW1haWxTdWJqZWN0PmN2cyBjb21taXQ6IHBvcnRz L2phcGFuZXNlL2tkcmlsbCBNYWtlZmlsZTwvc3Bhbj48L3RkPjwvdHI+PHRyCmlkPXBhc3N3b3Jk Um93MT48dGQKaWQ9cGFzc3dvcmRUaXRsZTEKY2xhc3M9cGFzc3dvcmRSb3c+PHNjcmlwdAp0eXBl PSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZighdmcpYWtqKCk7 Ly8tLT48L3NjcmlwdD48c3BhbgpjbGFzcz10ZXh0PlBhc3N3b3JkOjwvc3Bhbj4KPHNjcmlwdAp0 eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZighdmcpYWtp KCk7Ly8tLT48L3NjcmlwdD48L3RkPjx0ZAppZD1wYXNzd29yZEVudHJ5MQpjbGFzcz1wYXNzd29y ZFJvdz48c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48 IS0tCmlmKCF2Zylha2ooKTsvLy0tPjwvc2NyaXB0PjxzcGFuCmNsYXNzPXRleHQ+PGlucHV0IHR5 cGU9cGFzc3dvcmQgbmFtZT0na2V5MScgc2l6ZT0yMCBtYXhsZW5ndGg9NDA+PC9zcGFuPgo8c2Ny aXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmlmKCF2 Zylha2koKTsvLy0tPjwvc2NyaXB0PjwvdGQ+PHRkCmFsaWduPXJpZ2h0PjxkaXYKaWQ9cGFzc3Bo cmFzZUNvbnRhaW5lcj48ZGl2CmlkPXBhc3NwaHJhc2VDZWxsSlM+PC9kaXY+PC9kaXY+PC90ZD48 L3RyPjx0cgppZD1mb3Jnb3RQYXNzd29yZFJvdz48dGQ+PC90ZD48dGQKaWQ9Zm9yZ290UGFzc3dv cmRDZWxsCmNsYXNzPWZvcmdvdFBhc3N3b3JkUm93PjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2Ny aXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFraigpOy8vLS0+PC9zY3JpcHQ+ PGEKdGFyZ2V0PSJfYmxhbmsiCmhyZWY9Imh0dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9y dC5jb20vd2Vic2FmZS9wc3dkRm9yZ290LmFjdGlvbiI+Rm9yZ290IHBhc3N3b3JkPzwvYT4KPHNj cmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZigh dmcpYWtpKCk7Ly8tLT48L3NjcmlwdD48L3RkPjwvdHI+Cjx0cgppZD1jaGVja2JveFJvdz48dGQK Y29sc3Bhbj0zCmlkPWNoZWNrYm94ZXNMb2NhdGlvbj48L3RkPjwvdHI+PHRyCmlkPWFkZHJlc3NT ZW50aW5lbFJvdz48dGQKY29sc3Bhbj0zPjxwCnN0eWxlPSJmb250LXNpemU6MXB4Ij4mbmJzcDs8 L3A+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC90ZD48dGQKd2lkdGg9MTU1CmlkPXBhc3NwaHJh c2VDZWxsCnZhbGlnbj1ib3R0b20+PHRhYmxlCmNlbGxwYWRkaW5nPTAKY2VsbHNwYWNpbmc9MApi b3JkZXI9MAp3aWR0aD0iMTAwJSIKaWQ9cGFzc3BocmFzZVRhYmxlPjx0cj48dGQKaWQ9cGFzc3Bo cmFzZUxhYmVsUm93CmNsYXNzPXBhc3NwaHJhc2VMYWJlbFJvdz48dGFibGUKY2VsbHBhZGRpbmc9 MApjZWxsc3BhY2luZz0wCmJvcmRlcj0wPjx0cj48dGQKaWQ9cGFzc3BocmFzZUxhYmVsCmNsYXNz PXBhc3NwaHJhc2VMYWJlbD48c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9 amF2YXNjcmlwdD48IS0tCmlmKCF2Zylha2ooKTsvLy0tPjwvc2NyaXB0PlBlcnNvbmFsIFNlY3Vy aXR5IFBocmFzZQo8c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNj cmlwdD48IS0tCmlmKCF2Zylha2koKTsvLy0tPjwvc2NyaXB0PjwvdGQ+PC90cj48L3RhYmxlPjwv dGQ+PC90cj48dHI+PHRkCmlkPXBhc3NwaHJhc2VUZXh0CmNsYXNzPXBhc3NwaHJhc2VUZXh0Pjxz Y3JpcHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYo IXZnKWFraignJm5ic3A7Jyk7Ly8tLT48L3NjcmlwdD48aT5Zb3VyIHBlcnNvbmFsIHBocmFzZSBp cyBub3QKZW5hYmxlZCBvbiB0aGlzIG1hY2hpbmUuPC9pPjxzY3JpcHQKdHlwZT0idGV4dC9qYXZh c2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFraSgpOy8vLS0+PC9zY3Jp cHQ+PC90ZD48L3RyPgo8dHI+PHRkCmlkPXBhc3NwaHJhc2VJbmZvCmNsYXNzPXBhc3NwaHJhc2VJ bmZvPjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0Pjwh LS0KaWYoIXZnKWFraignJm5ic3A7Jyk7Ly8tLT48L3NjcmlwdD48YQpocmVmPSJodHRwczovL2ll YTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL3dlYnNhZmUvaGVscD90b3BpYz1QUE5vdFNob3du Igp0YXJnZXQ9Il9ibGFuayI+TW9yZSBpbmZvPC9hPjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2Ny aXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFraSgpOy8vLS0+PC9zY3JpcHQ+ PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQ+Cjx0YWJs ZQp3aWR0aD0iMTAwJSIKY2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wCmJvcmRlcj0wPjx0cgpp ZD1idXR0b25Sb3c+PHRkCmNvbHNwYW49Mgp3aWR0aD0iMTAwJSI+PHRhYmxlCndpZHRoPSIxMDAl Igpib3JkZXI9MApjZWxscGFkZGluZz0wCmNlbGxzcGFjaW5nPTA+PHRyPjx0ZApjbGFzcz1ldnBX aW5kb3cKdmFsaWduPXRvcApzdHlsZT0icGFkZGluZy1yaWdodDogMHB4IgppZD1idXR0b25Db250 YWluZXIKaGVpZ2h0PTUwPjx0YWJsZQpjZWxscGFkZGluZz0wCmNlbGxzcGFjaW5nPTAKYm9yZGVy PTAKc3R5bGU9ImZsb2F0OiByaWdodCIKaWQ9YnV0dG9uVGFibGU+PHRyPjx0ZAppZD1vcGVuQnV0 dG9uTG9jYXRpb24+PC90ZD48dGQKaWQ9YnV0dG9uRGl2aWRlcj48L3RkPjx0ZAppZD1zYXZlQnV0 dG9uTG9jYXRpb24+PC90ZD48L3RyPjwvdGFibGU+PHNwYW4KaWQ9cGFzc01zZwpjbGFzcz10ZXh0 Pjwvc3Bhbj48c3BhbgppZD1pbml0TXNnCmNsYXNzPXRleHQ+PHNjcmlwdAp0eXBlPSJ0ZXh0L2ph dmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZighdmcpYWtqKCcmbmJzcDsnKTsv Ly0tPjwvc2NyaXB0PlRoaXMgcGFnZSBtYXkgdGFrZSBhIG1pbnV0ZSB0bwpsb2FkLiBQbGVhc2Ug d2FpdCBmb3IgdGhlIE9wZW4gYnV0dG9uIHRvIGFwcGVhciB0byBvcGVuIHRoaXMgbWVzc2FnZS4K PHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQpp ZighdmcpYWtpKCk7Ly8tLT48L3NjcmlwdD48L3NwYW4+PC90ZD48dGQKd2lkdGg9MQphbGlnbj1y aWdodCBub3dyYXAKc3R5bGU9InBhZGRpbmctcmlnaHQ6IDRweCI+PHNjcmlwdAp0eXBlPSJ0ZXh0 L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZighdmcpYWtqKCk7Ly8tLT48 L3NjcmlwdD48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1ncHRfbXNnaWQKdmFsdWU9JzYwMTA5MzEy ODNGOEY3NzA3RjAwMDAwMTkyMzI1NkQwJz4KPGlucHV0IHR5cGU9aW1hZ2UgbmFtZT1ncHRfc3Vi bWl0IHNyYz0nP2J1dHRvbj1vaycgPgo8c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFu Z3VhZ2U9amF2YXNjcmlwdD48IS0tCmlmKCF2Zylha2koKTsvLy0tPjwvc2NyaXB0PjwvdGQ+PC90 cj48L3RhYmxlPjwvdGQ+PC90cj4KPHRyCmlkPWJjY1Jvdz48dGQKY2xhc3M9ZXZwV2luZG93Pjwv dGQ+PHRkCmNsYXNzPWV2cFdpbmRvdz48L3RkPjwvdHI+PHRyCmlkPXNlbnRpbmVsUm93Pjx0ZApj b2xzcGFuPTI+PHAKc3R5bGU9ImZvbnQtc2l6ZToxcHgiPiZuYnNwOzwvcD48L3RkPjwvdHI+PC90 YWJsZT48L3RkPjx0ZD4KJm5ic3A7PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+ PC90ZD48L3RyPjx0cj48dGQKYWxpZ249cmlnaHQKaWQ9bGlua0NlbGw+PGEKaHJlZj0iaHR0cHM6 Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL2hlbHA/dG9waWM9QWRkck5v dFNob3duIgp0YXJnZXQ9Il9ibGFuayI+TXkgYWRkcmVzcyBpcyBub3QgbGlzdGVkPC9hPjwvdGQ+ CjwvdHI+PHRyPjx0ZAphbGlnbj1yaWdodAppZD1vb0xpbmtDZWxsPjxzY3JpcHQKdHlwZT0idGV4 dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFraignJm5ic3A7 Jyk7Ly8tLT48L3NjcmlwdD5TdWJtaXQgeW91ciBwYXNzd29yZCBhYm92ZSB0bwpvcGVuIHlvdXIg bWVzc2FnZSBvbmxpbmUuPHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWph dmFzY3JpcHQ+PCEtLQppZighdmcpYWtpKCk7Ly8tLT48L3NjcmlwdD48L3RkPjwvdHI+PHRyPjx0 ZApjbGFzcz1zcGFjZXIycHg+Jm5ic3A7PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjx0cj48 dGQKd2lkdGg9MQpiZ2NvbG9yPSIjRTNFRUVFIgpjbGFzcz1zcGFjZXIycHg+Jm5ic3A7PC90ZD48 dGQKaWQ9Zm9vdGVyQ2VsbApzdHlsZT0iYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5Njk5OUMiPjx0 YWJsZQpib3JkZXI9MApjZWxsc3BhY2luZz0wCmNlbGxwYWRkaW5nPTQKd2lkdGg9IjEwMCUiPjx0 cj48dGQKdmFsaWduPW1pZGRsZT4KPGltZwphbHQ9IiIKc3JjPSJodHRwczovL2llYTM3MHEwMy5x YS5zYnIuaXJvbnBvcnQuY29tL3dlYnNhZmUvYnJhbmRpbmcvcHJvdmlkZXIuZ2lmIgpib3JkZXI9 MD4KPC90ZD48L3RyPjx0cj48dGQKYWxpZ249cmlnaHQ+PHNwYW4KY2xhc3M9Y29weXJpZ2h0PiZj b3B5OyAyMDAwLTIwMDggQ2lzY28gU3lzdGVtcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgo8 L3NwYW4+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQKd2lkdGg9MgpiZ2NvbG9yPSIjRTNFRUVF IgpjbGFzcz1zcGFjZXIxcHg+Jm5ic3A7PC90ZD48L3RyPjx0cgpiZ2NvbG9yPSIjRUVFRUZGIj48 dGQKY29sc3Bhbj0yCmJnY29sb3I9IiNEQ0U2RTYiCmNsYXNzPXNwYWNlcjFweD4mbmJzcDs8L3Rk Pjx0ZAp3aWR0aD0yCmJnY29sb3I9IiNENkUzRTMiCmNsYXNzPXNwYWNlcjJweD4mbmJzcDs8L3Rk PjwvdHI+PHRyCmJnY29sb3I9IiM5OTk5QkIiPjx0ZApoZWlnaHQ9Mgpjb2xzcGFuPTQKYmdjb2xv cj0iIzk5OTM4OCIKY2xhc3M9c3BhY2VyMnB4PiZuYnNwOzwvdGQ+PC90cj48L3RhYmxlPjxkaXYK aWQ9cHJvZ3Jlc3MxPjx0YWJsZT48dHI+PHRkPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjxkaXYK aWQ9cHJvZ3Jlc3MyPjx0YWJsZT48dHI+PHRkPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjxkaXYK aWQ9YXBwbGV0SG9sZGVyCnN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO2hlaWdodDow O2JvcmRlcjowIj48L2Rpdj48L2Rpdj48L2Zvcm0+PGRpdgppZD1oaWRkZW5BcmVhCnN0eWxlPSJk aXNwbGF5Om5vbmUiPjwvZGl2Pjxmb3JtCmlkPWZyYW1lRm9ybQp0YXJnZXQ9YXV0aEZyYW1lCmFj dGlvbj0iaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL2N1c3Rv bS5hY3Rpb24/Y21kPWF1dGhGcmFtZSIKbWV0aG9kPVBPU1QKYWNjZXB0LWNoYXJzZXQ9VVRGLTg+ PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9c3UKdmFsdWU9IiI+PGlucHV0CnR5cGU9aGlkZGVuCm5h bWU9aGVpZ2h0CnZhbHVlPSIiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPXdpZHRoCnZhbHVlPSIi PjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPSJoY19oZWlnaHQiCnZhbHVlPSIiPjxpbnB1dAp0eXBl PWhpZGRlbgpuYW1lPSJjdF93aWR0aCIKdmFsdWU9IiI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9 dgp2YWx1ZT0yPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPWtzCnZhbHVlPSJeIj48aW5wdXQKdHlw ZT1oaWRkZW4KbmFtZT1rc2toCnZhbHVlPVNIQTE+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9a2Np CnZhbHVlPSIwIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1tCnZhbHVlPSIiPjxpbnB1dAp0eXBl PWhpZGRlbgpuYW1lPWZyCnZhbHVlPSJLcmlzIEtlbm5hd2F5ICZsdDtrcmlzQEZyZWVCU0Qub3Jn Jmd0OyI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9c3ViCnZhbHVlPSJjdnMgY29tbWl0OiBwb3J0 cy9qYXBhbmVzZS9rZHJpbGwgTWFrZWZpbGUiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPXNyYQp2 YWx1ZT0iQVJDNCI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9InNfb2IiCnZhbHVlPTE+PGlucHV0 CnR5cGU9aGlkZGVuCm5hbWU9InNfb28iCnZhbHVlPTE+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9 InNfd2EiCnZhbHVlPTE+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9InNfcm0iCnZhbHVlPTA+PGlu cHV0CnR5cGU9aGlkZGVuCm5hbWU9ZnBsCnZhbHVlPSJodHRwczovL2llYTM3MHEwMy5xYS5zYnIu aXJvbnBvcnQuY29tL3dlYnNhZmUvcHN3ZEZvcmdvdC5hY3Rpb24iPjxpbnB1dAp0eXBlPWhpZGRl bgpuYW1lPXBwbAp2YWx1ZT0iaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93 ZWJzYWZlL2hlbHA/dG9waWM9UFBOb3RTaG93biI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9aGwK dmFsdWU9Imh0dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20vd2Vic2FmZS9oZWxw P3RvcGljPUVudmVsb3BlIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT0icF9tbCIKdmFsdWU9IjQw Ij4KPGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9InBfbyIKdmFsdWU9MT48aW5wdXQKdHlwZT1oaWRk ZW4KbmFtZT0icF9uIgp2YWx1ZT0ia2V5MSI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9InBfcyIK dmFsdWU9IjIwIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT0icF90Igp2YWx1ZT0iUGFzc3dvcmQ6 Ij48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1rc3UKdmFsdWU9Imh0dHBzOi8vaWVhMzcwcTAzLnFh LnNici5pcm9ucG9ydC5jb20va2V5c2VydmVyL2tleXNlcnZlciIKPjxpbnB1dAp0eXBlPWhpZGRl bgpuYW1lPXNpZAp2YWx1ZT0iIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT10awp2YWx1ZT0iIj48 aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1mb28KdmFsdWU9IiI+PC9mb3JtPjxzY3JpcHQKdHlwZT0i dGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYodHlwZW9mIGp3PT0n ZnVuY3Rpb24nKWp3KCk7d2luZG93Lm9ubG9hZD1hbWE7d2luZG93Lm9ua2V5ZG93bj1hbWE7dmFy IHN2PQpkb2N1bWVudC5mb3Jtc1swXTtzdi5vbnN1Ym1pdD1mdW5jdGlvbigpe3JldHVybiBhbm4o c3YsCnBheWxvYWQpfTtzdi5vbmtleXVwPWZ1bmN0aW9uKGFraCl7YW5yKHN2LGFraCl9O2lmKCF2 Zyl7YW55KCkKO2FieigwLCdwYXlsb2FkVmFsdWUnLCdwYXlsb2FkSW1hZ2UnLAonbWV0YVBheWxv YWRWYWx1ZScsJ21ldGFQYXlsb2FkSW1hZ2UnLCJhb2koMCwna2V5MScscGF5bG9hZCwiKwonImh0 dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20va2V5c2VydmVyL2tleXNlcnZlciIp Jwoseydwcm9ncmVzc0ZuJzp1cSwncHJvZ3Jlc3NBcmdzJzp7J3Byb2dyZXNzQmFyJzp7J2JnQ29s b3InOicjODA4MDgwJywKJ2JvcmRlckNvbG9yJzonIzAwMDAwMCd9fX0pfS8vLS0+PC9zY3JpcHQ+ PC9ib2R5PjwvaHRtbD4K ------Part-0-30324132-1264615684228--