From owner-cvs-ports@FreeBSD.ORG Wed Jan 27 18:13:24 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 56D361065694; Wed, 27 Jan 2010 18:13:24 +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 234228FC17; Wed, 27 Jan 2010 18:13:24 +0000 (UTC) Received: from iea370q03.qa.sbr.ironport.com (iea370q03.qa [127.0.0.1]) by iea370q03.qa (Postfix) with ESMTP id 193B613885A; Wed, 27 Jan 2010 10:13:23 -0800 (PST) Received: (from kris@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j2QM49dT086771; Sat, 26 Mar 2005 22:04:09 GMT (envelope-from kris) Received: from mx2.freebsd.org (216.136.204.119) by corvette.asyncfs.com with ESMTP; 26 Mar 2005 14:04:19 -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 85 for <1267@qa05.qa>; Wed, 27 Jan 2010 09:00:38 -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 617; 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: <26877543.2844228.1264616003039.JavaMail.root@iea370q03.qa> Errors-To: owner-cvs-all@freebsd.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=----Part-0-25129063-1264616003006 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="6493495:sNHT33140124" 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: 02c352681cd6fc707f000001923256d0@iea370q03.qa X-IronPort-Encrypt: Success X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Subject: cvs commit: ports/print/p5-GnomePrint 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:13:24 -0000 ------Part-0-25129063-1264616003006 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-25129063-1264616003006 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=securedoc.html PCEtLSBzYXZlZCBmcm9tIHVybD0oMDAyMilodHRwOi8vaW50ZXJuZXQuZS1tYWlsIC0tPg0KPCFE T0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VO Ij48aHRtbD4KPGhlYWQ+PGJhc2UgaHJlZj0naHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25w b3J0LmNvbS9lbnZlbG9wZW9wZW5lci9wZi9aR0pBUkdWbVlYVnNkRG94L0htVDB5SmxMd2Fld1dI U3JOZFhUUk4wdVRyTDFTcWc3MmRkY1BmNEJRaFlnenQ3ZEZ3RHpHaVlDV2ZWNXQwMFRuTE9BbDlZ UkpaRDFwV1dqVFRIVlhCeVZqMGluRDlhWTVnISEvJz48bWV0YQpodHRwLWVxdWl2PUNvbnRlbnQt VHlwZQpjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPjxtZXRhCm5hbWU9dmVyc2lv bgpjb250ZW50PSIkSWQ6IGVudmVsb3BlLmh0bWwsdiAxLjE2NCAyMDA3LzEyLzA2IDAwOjI4OjU4 IHN1bGxtYW4gRXhwICQiPjxtZXRhCm5hbWU9Y29weXJpZ2h0CmNvbnRlbnQ9IkNvcHlyaWdodCAo YykgMjAwMC0yMDA4IENpc2NvIFN5c3RlbXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4iPgo8 bWV0YQpuYW1lPXBhdGVudHMKY29udGVudD0iUHJvdGVjdGVkIGJ5IFVuaXRlZCBTdGF0ZXMgcGF0 ZW50IG51bWJlcnMgNiwwMTQsNjg4IGFuZCA2LDMwNCw4OTcuIgo+PG1ldGEKaHR0cC1lcXVpdj1j YWNoZS1jb250cm9sCmNvbnRlbnQ9bm8tc3RvcmU+PG1ldGEKaHR0cC1lcXVpdj1jYWNoZS1jb250 cm9sCmNvbnRlbnQ9bm8tY2FjaGU+PG1ldGEKaHR0cC1lcXVpdj1wcmFnbWEKY29udGVudD1uby1j YWNoZT48dGl0bGU+U2VjdXJlIFJlZ2lzdGVyZWQgRW52ZWxvcGU6Y3ZzIGNvbW1pdDogcG9ydHMv cHJpbnQvcDUtR25vbWVQcmludCBNYWtlZmlsZTwvdGl0bGU+CjxzdHlsZQp0eXBlPSJ0ZXh0L2Nz cyI+PCEtLSAuc3BhY2VyMXB4IHtmb250LXNpemU6IDFweDsgbGluZS1oZWlnaHQ6IDFweH0KIC5z cGFjZXIycHgge2ZvbnQtc2l6ZTogMnB4OyBsaW5lLWhlaWdodDogMnB4fSAuYm9yZGVyV2luZG93 IHttYXJnaW4tYm90dG9tOgo0cHg7IGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggIzk2OTk5QzsgYm9y ZGVyLXRvcDogc29saWQgMXB4ICM5Njk5OUM7CnBhZGRpbmctdG9wOiAzcHh9ICNib3JkZXJXaW5k b3dDb250YWluZXIge3Bvc2l0aW9uOiByZWxhdGl2ZTsgem9vbTogMX0KI2JvcmRlcldpbmRvd0Js b2NrIHtwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMHB4OyBsZWZ0OiAtNHB4OyB3aWR0aDogNXB4 OwpoZWlnaHQ6IDIycHg7IGJhY2tncm91bmQtY29sb3I6ICM1QTVCNUV9IC5jb3B5cmlnaHQge2Zv bnQtc2l6ZTogOHB0OyBjb2xvcjoKIzk1OTk5Q30gLmV2cFRhYmxlIHtwYWRkaW5nOiAxMHB4IDEw cHggMTBweCAxNXB4fSAubWFpbldpbmRvdyB7cGFkZGluZzogMHB4CjVweCAwcHggNXB4fSAuZXZw V2luZG93IHtwYWRkaW5nOiA0cHggMTBweCA0cHggMTBweDsgdGV4dC1hbGlnbjogbGVmdH0KIC5w YXNzd29yZFJvdyB7cGFkZGluZzogNHB4IDEwcHggMHB4IDEwcHg7IHRleHQtYWxpZ246IGxlZnR9 CiAuZm9yZ290UGFzc3dvcmRSb3cge3BhZGRpbmc6IDBweCAxMHB4IDRweCAxMHB4OyB0ZXh0LWFs aWduOiBsZWZ0fSBpbnB1dC5idG4Ke2NvbG9yOiAjMzMzMzMzOyBmb250LWZhbWlseTogVmVyZGFu YSwgQXJpYWwsIEhlbHZldGljYTsgZm9udC1zaXplOiA5cHQ7CmZvbnQtd2VpZ2h0OiBub3JtYWw7 IGJhY2tncm91bmQtY29sb3I6ICNGMEM1NjY7IGJvcmRlcjogMXB4IHNvbGlkICMzMzMzMzM7CmJv cmRlci1yYWRpdXM6IDNweDsgei1pbmRleDogMjsgcGFkZGluZzogMXB4IDJweDsgd2lkdGg6IGF1 dG87IG92ZXJmbG93Ogp2aXNpYmxlfSBpbnB1dC5vb2J0biB7Y29sb3I6ICMzMzMzMzM7IGZvbnQt ZmFtaWx5OiBWZXJkYW5hLCBBcmlhbCwKSGVsdmV0aWNhOyBmb250LXNpemU6IDlwdDsgZm9udC13 ZWlnaHQ6bm9ybWFsOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFRUZGOwpib3JkZXI6IDFweCBzb2xp ZCAjMzMzMzMzOyBib3JkZXItcmFkaXVzOiAzcHg7IHotaW5kZXg6IDI7IHBhZGRpbmc6IDFweCAy cHg7CndpZHRoOiBhdXRvOyBvdmVyZmxvdzogdmlzaWJsZX0gaW5wdXQuYnRuOmFjdGl2ZSwgaW5w dXQub29idG46YWN0aXZlCntwYWRkaW5nOiAxcHggMXB4IDFweCAzcHh9IC5lbWFpbCB7Zm9udC1m YW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsCnNhbnMtc2VyaWY7IGZvbnQtc2l6ZTog OHB0OyBjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IG5vcm1hbH0KIC5lbWFpbCNlbWFpbFN1 YmplY3Qge2ZvbnQtd2VpZ2h0OiBib2xkfSAuZXJyb3Ige2ZvbnQtZmFtaWx5OiBWZXJkYW5hLApB cmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDhwdDsgY29sb3I6ICNGRjAw MDB9IC5wcm9ncmVzcwp7Zm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNh bnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsKbGluZS1oZWlnaHQ6IDE1cHh9IC50aW1lc3RhbXAg e2ZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwpmb250LXNpemU6IDhw eDsgY29sb3I6ICM5NTk5OUM7IGZvbnQtd2VpZ2h0OiBib2xkOyBsaW5lLWhlaWdodDogMTBweH0K IC5zZW5kZXJBdXRoIHtmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsg Zm9udC1zaXplOiA5cHg7CmNvbG9yOiAjNUE1QjVFOyBmb250LXdlaWdodDogYm9sZDsgbGluZS1o ZWlnaHQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDRweH0KIC50ZXh0LG9sLGxpLHAsdGQsaW5wdXQu c2FmYXJpQnRuIHtmb250LXNpemU6IDhwdDsgY29sb3I6ICMwMDAwMDA7CmZvbnQtZmFtaWx5OiBW ZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmfSAub290ZXh0IHtjb2xvcjogIzY2 NjY2Nn0KI2xvZ29DZWxsIHtwYWRkaW5nOiA1cHggMHB4IDBweCAxMHB4fSAjcG9zdG1hcmtDZWxs IHtwYWRkaW5nOiAxMHB4IDVweCAwcHgKMHB4fSAjcGFzc3BocmFzZUNlbGwge3BhZGRpbmc6IDBw eCAwcHggNXB4IDVweH0gI2hlbHBMaW5rTG9jYXRpb24ge3BhZGRpbmc6CjBweCAzcHggM3B4IDBw eH0gI3RpbWVTdGFtcENvbnRhaW5lciB7bWFyZ2luOiAycHggLTJweCAwcHggLTEycHh9CiNvdXRl clBvc3RtYXJrIHtoZWlnaHQ6IDcwcHg7IHdpZHRoOiAxNTBweDsgb3ZlcmZsb3c6IHZpc2libGU7 IHBvc2l0aW9uOgpyZWxhdGl2ZTsgei1pbmRleDogOX0gI2lubmVyUG9zdG1hcmsge3Bvc2l0aW9u OiBhYnNvbHV0ZTsgdG9wOiAwcHg7IHJpZ2h0OgowcHg7IHotaW5kZXg6IDEwfSAjb3V0ZXJQb3N0 bWFyay5JRTVQb3N0bWFyayB7aGVpZ2h0OiAxMDVweH0gLnBhc3NwaHJhc2VUZXh0CntiYWNrZ3Jv dW5kLWNvbG9yOiAjRkZGRkZGOyBwYWRkaW5nOiAycHh9IC5wYXNzcGhyYXNlTGFiZWxSb3cge30K IC5wYXNzcGhyYXNlTGFiZWwge30gLnBhc3NwaHJhc2VUSG9yIHtib3JkZXItYm90dG9tOiAxcHgg c29saWQgIzE5MTkxOX0KIC5wYXNzcGhyYXNlVFZlciB7Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAj MTkxOTE5fSAjcGFzc3BocmFzZUNvbnRhaW5lcgp7cG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxv dzogdmlzaWJsZTsgd2lkdGg6IDIwcHg7IGhlaWdodDogMXB4fQojcGFzc3BocmFzZUNlbGxKUyB7 cG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAyMHB4OyBib3R0b206IC0yNXB4OyB3aWR0aDoKMTU1 cHg7IHBhZGRpbmctbGVmdDogNXB4fSAuc3ViUmVhc29ucyB7bGlzdC1zdHlsZTogbG93ZXItYWxw aGF9IEEge2NvbG9yOgojMDAzMzk5fSBBOmhvdmVyIHtjb2xvcjogI0ZGMDAwMDsgY3Vyc29yOiBw b2ludGVyfSBBOnZpc2l0ZWQge2NvbG9yOgojMDAzMzk5fSBBOnZpc2l0ZWQ6aG92ZXIge2NvbG9y OiAjRkYwMDAwOyBjdXJzb3I6IHBvaW50ZXJ9IGJvZHkge21hcmdpbi10b3A6CjhweH0gLS0+PC9z dHlsZT48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgbGFuZ3VhZ2U9amF2YXNjcmlwdD48 IS0tCickU2VyaWFsOiA2MjYxICQgJFJldmlzaW9uOiAxLjYuOC4yLjIyLjEgJCc7CidDb3B5cmln aHQgKGMpIDIwMDEtMjAwOSBDaXNjbyBTeXN0ZW1zLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu JzsKJ1Byb3RlY3RlZCBieSBVbml0ZWQgU3RhdGVzIHBhdGVudCBudW1iZXJzIDYsMDE0LDY4OCBh bmQgNiwzMDQsODk3Lic7CickU2VyaWFsOiAzMzI4ICQgJFJldmlzaW9uOiAxLjUgJCc7J1ZlcnNp b246IDIuMic7CickU2VyaWFsOiA2MjQ4ICQgJFJldmlzaW9uOiAxLjEwICQnO3ZhciBqbT0nRW52 ZWxvcGVUb29sczUnLHFhPSdQb3N0WEJQQycscWMKPSdQb3N0WFByZWZlcmVuY2VzJyxxYj0nUG9z dFhDb29raWVDaGVjaycsamw9J1Bvc3RYQ2FyYm9uLicscWQ9CidQb3N0WFNlc3Npb25LZXkuJyxx ZT0nUG9zdFhVc2VyS2V5LicscWo9MzE1MzYwMDAwMDAwLHFmPScnLHFoPQonVHVlLCAxOS1KYW4t MjAzOCAwMzoxNDowNyBHTVQnLHFnPTMxNTM2MDAwMDAwMCxxaT0zMTUzNjAwMDAwMDAscWs9CjMx NTM2MDAwMDAwMDsKJyRTZXJpYWw6IDA0NzggJCAkUmV2aXNpb246IDEuMyAkJzt2YXIgam49J2Fw cGxldEhvbGRlcicsaHY9J2FwcGxldEhvbGRlcicsCnV2PSd1bmRlZmluZWQnLGJxPSdvYmplY3Qn LGNsPSdzdHJpbmcnLGVtPWZhbHNlLGJnPXRydWU7CickU2VyaWFsOiAzODg4ICQgJFJldmlzaW9u OiAxLjE1ICQnO2Z1bmN0aW9uIGVuKGx2KXt2YXIgeHU9Ci9eXHMqZnVuY3Rpb25ccysoW14oXSsp LyxnaztpZigoZ2s9eHUuZXhlYyhsdikpKXJldHVybiBna1sxXTtyZXR1cm4nJ30KZnVuY3Rpb24g YWZ1KGope2o9ai50b1N0cmluZygxNik7aWYoai5sZW5ndGgmMSlqPScwJytqO3JldHVybiclJytq fWZ1bmN0aW9uCmRzKGQsYWZ3KXtkKz0nJzt2YXIgYm0sYSxlPWQubGVuZ3RoLGJnPScnO2Zvcihh PTA7YTxlO2ErKyl7Ym09ZC5jaGFyQXQoYSk7aWYKKGJtPj0nQScmJmJtPD0nWid8fGJtPj0nYScm JmJtPD0neid8fGJtPj0nMCcmJmJtPD0nOSd8fGJtPT0nLid8fGJtPT0nLSd8fGJtCj09JyonfHxi bT09J18nKWJnKz1ibTtlbHNle2JtPWJtLmNoYXJDb2RlQXQoMCk7aWYoYWZ3fHxibTwxMjgpe2Jn Kz1hZnUoYm0mCjI1NSl9ZWxzZSBpZihibTwyMDQ4KXtiZys9YWZ1KDE5MnxibT4+PjYpO2JnKz1h ZnUoMTI4fGJtJjYzKX1lbHNle2JnKz1hZnUoCjIyNHxibT4+PjEyKTtiZys9YWZ1KDEyOHwoYm0+ Pj42KSY2Myk7YmcrPWFmdSgxMjh8Ym0mNjMpfX19cmV0dXJuIGJnfQpmdW5jdGlvbiBqZyhkLGFm dyl7ZCs9Jyc7dmFyIGJtLGNjLGEsZT1kLmxlbmd0aCxiZz0nJztmb3IoYT0wO2E8ZTthKyspe2Jt PWQuCmNoYXJBdChhKTtzd2l0Y2goYm0pe2RlZmF1bHQ6YmcrPWJtO2JyZWFrO2Nhc2UnKyc6Ymcr PScgJzticmVhaztjYXNlJyUnOmlmKGQKIC5jaGFyQXQoYSsxKT09J3UnKXtibT1kLnN1YnN0cihh KzIsNCk7YSs9NTtjYz1wYXJzZUludChibSwxNil9ZWxzZXtibT1kLgpzdWJzdHIoYSsxLDIpO2Er PTI7Y2M9cGFyc2VJbnQoYm0sMTYpO2lmKGFmd3x8Y2M8MTI4KXt9ZWxzZSBpZihjYzwyMjQpe2lm KGUKLWE8NHx8ZC5jaGFyQXQoYSsxKSE9JyUnKXt9ZWxzZXtibT1kLnN1YnN0cihhKzIsMik7YSs9 MztjYz0oKGNjJjMxKTw8Nil8KApwYXJzZUludChibSwxNikmNjMpfX1lbHNle2lmKGUtYTw3fHxk LmNoYXJBdChhKzEpIT0nJSd8fGQuY2hhckF0KGErNCkhPSclJyl7Cn1lbHNle2JtPWQuc3Vic3Ry KGErMiwyKTthKz0zO2NjPSgoY2MmMTUpPDw2KXwocGFyc2VJbnQoYm0sMTYpJjYzKTtibT1kLgpz dWJzdHIoYSsyLDIpO2ErPTM7Y2M9KGNjPDw2KXwocGFyc2VJbnQoYm0sMTYpJjYzKX19fWJnKz1T dHJpbmcuZnJvbUNoYXJDb2RlCihjYyk7YnJlYWt9fXJldHVybiBiZ31mdW5jdGlvbiBpeChkKXtk Kz0nJzt2YXIgYm0sYSxlPWQubGVuZ3RoLGJnPScnO2ZvcihhPTAKO2E8ZTthKyspe2JtPWQuY2hh ckF0KGEpO2lmKGJtPCcgJ3x8Ym0+J34nfHxibT09J1wnJ3x8Ym09PSciJyliZys9JyYjJytkLgpj aGFyQ29kZUF0KGEpKyc7JztlbHNlIGJnKz1ibX1yZXR1cm4gYmd9ZnVuY3Rpb24gYWZ6KGFnYixh Znkpe3ZhciBkcD0KYXJndW1lbnRzLmxlbmd0aCxtPVtdLGE7aWYoZHA9PTMmJmFyZ3VtZW50c1sy XS5lbGVtZW50cyl7dmFyIHN2PWFyZ3VtZW50c1syXQosZHc7Zm9yKGE9MTtkdz1zdlsna2V5Jyth XTthKyspaWYoZHcudmFsdWUhPScnKW1bbS5sZW5ndGhdPWR3LnZhbHVlfWVsc2V7Zm9yCihhPTI7 YTxkcDthKyspaWYoYXJndW1lbnRzW2FdIT0nJyltW20ubGVuZ3RoXT1hcmd1bWVudHNbYV19bT1t LmpvaW4oYWdiKTtpZigKYWZ5KW09bS50b0xvd2VyQ2FzZSgpO3JldHVybiBtfWZ1bmN0aW9uIHdu KGJ5LGFmdil7aWYoIWFmdilhZnY9NzI7dmFyIGEsYyxlPQpieS5sZW5ndGg7aWYoJ1wKJz09Jycp cmV0dXJuIGJ5O3ZhciBnaz1uZXcgQXJyYXkoTWF0aC5mbG9vcigoZSthZnYtMSkvYWZ2KSk7Zm9y KGE9Yz0wO2E8ZTthCis9YWZ2KzEsYysrKWdrW2NdPWJ5LnN1YnN0cihhLGFmdik7Z2subGVuZ3Ro PWM7cmV0dXJuIGdrLmpvaW4oJycpfXZhciBhZng9MDsKZnVuY3Rpb24gYWdhKGFhdCl7dmFyIGQ7 aWYoanopZD1hYXQrbmV3IERhdGUoKS5nZXRUaW1lKCkrYWZ4Kys7ZWxzZSBkb3tkPWFhdAorYWZ4 Kyt9d2hpbGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZCkpO3JldHVybiBkfXp3PWZvcm1LZXk9 YWZ6O3pqPQpmaXhNdWx0aWxpbmVTdHJpbmc9d247emk9Z2VuSWQ9YWdhO2F0dHJFc2M9aXg7Cick U2VyaWFsOiAwNjExICQgJFJldmlzaW9uOiAxLjYgJCc7ZnVuY3Rpb24gcXQoZHope3ZhciBmPW5l dyBEYXRlKCkuZ2V0VGltZSgKKTtpZighZHopZHo9cWI7amYoZHosZiwnJywnLycpO2lmKChmPShr ZChkeik9PWYpKSlxcihkeiwnLycpO3JldHVybiBmfQpmdW5jdGlvbiBrZChkeil7ZHo9ZHMoZHop O3ZhciBkPWRvY3VtZW50LmNvb2tpZSxxcD1kLmluZGV4T2YoZHorJz0nKTtpZihxcD09Ci0xKXJl dHVybiBudWxsO3ZhciBxcT1xcCtkei5sZW5ndGgrMSxxbz1kLmluZGV4T2YoJzsnLHFxKTtpZihx bz09LTEpcW89ZC4KbGVuZ3RoO3JldHVybiBqZyhkLnN1YnN0cmluZyhxcSxxbykpfWZ1bmN0aW9u IGpmKGR6LGR5LHFsLHFuLHFtLHFzKXt2YXIgZD1kcwooZHopKyc9JytkcyhkeSk7aWYodHlwZW9m IHFsIT0nbnVtYmVyJyl7dmFyIGJlPXBhcnNlSW50KHFsLnRvU3RyaW5nKCkpO2lmKGJlCisnJyE9 J05hTicpcWw9YmV9aWYodHlwZW9mIHFsPT0nbnVtYmVyJylkKz0nO2V4cGlyZXM9JytuZXcgRGF0 ZShuZXcgRGF0ZSgpLgpnZXRUaW1lKCkrcWwpLnRvVVRDU3RyaW5nKCk7ZWxzZSBpZih0eXBlb2Yg cWw9PWNsJiZxbCE9JycpZCs9JztleHBpcmVzPScrcWw7CmVsc2UgaWYodHlwZW9mIHFsPT1icSlk Kz0nO2V4cGlyZXM9JytxbC50b1VUQ1N0cmluZygpO2lmKHFuKWQrPSc7cGF0aD0nK3FuOwppZihx bSlkKz0nO2RvbWFpbj0nK3FtO2lmKHFzKWQrPSc7c2VjdXJlJztkb2N1bWVudC5jb29raWU9ZH1m dW5jdGlvbiBxcihkeiwKcW4scW0pe2lmKGtkKGR6KSlqZihkeiwnJywtMTAwMCxxbixxbSl9Cick U2VyaWFsOiAyNzQ3ICQgJFJldmlzaW9uOiAxLjUgJCc7dmFyIHhkPTEsanY9Mix4aD00LHd4PTgs eGk9MTY7CickU2VyaWFsOiAyNzEyICQgJFJldmlzaW9uOiAxLjMgJCc7ZnVuY3Rpb24gcHQoKXt0 aGlzLmFscGhhYmV0PQonQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9w cXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7dGhpcy4KZW5jb2RlQXJyYXk9MDt0aGlzLmRlY29kZUFy cmF5PTA7dGhpcy5nZXRFbmNvZGVBcnJheT1mdW5jdGlvbigpe2lmKCF0aGlzLgplbmNvZGVBcnJh eSl7dmFyIGQ9dGhpcy5hbHBoYWJldCxwcT1kLmxlbmd0aCxidz1uZXcgQXJyYXkocHEpLGE7Zm9y KGE9MDthPHBxCjthKyspYndbYV09ZC5jaGFyQ29kZUF0KGEpO3RoaXMuZW5jb2RlQXJyYXk9Ynd9 cmV0dXJuIHRoaXMuZW5jb2RlQXJyYXl9O3RoaXMKIC5lbmNvZGVUb0FycmF5PWZ1bmN0aW9uKHBy LGdrKXt2YXIgcHE9cHIubGVuZ3RoLGJ3PXRoaXMuZ2V0RW5jb2RlQXJyYXkoKSxhLApjLHBzLGo7 YT1NYXRoLmNlaWwocHEvMykqNDtjPU1hdGguY2VpbChwcS8zKjQpO3BzPWEtYztpZighZ2spZ2s9 bmV3IEFycmF5KGEpCjthPWM9MDt3aGlsZShhPHBxKXtqPXByLmNoYXJDb2RlQXQoYSsrKTw8MTY7 aWYoYTxwcSlqfD1wci5jaGFyQ29kZUF0KGErKyk8PDgKO2lmKGE8cHEpanw9cHIuY2hhckNvZGVB dChhKyspO2drW2MrK109YndbKGo+Pj4xOCkmNjNdO2drW2MrK109YndbKGo+Pj4xMikmCjYzXTtn a1tjKytdPWJ3WyhqPj4+NikmNjNdO2drW2MrK109YndbaiY2M119Z2subGVuZ3RoPWM7d2hpbGUo cHMtLSlna1stLWNdPQo2MTtyZXR1cm4gZ2t9O3RoaXMuZW5jb2RlVG9TdHJpbmc9ZnVuY3Rpb24o cHIpe3ZhciBnaz10aGlzLmVuY29kZVRvQXJyYXkocHIpCixwcT1nay5sZW5ndGg7Zm9yKHZhciBh PTA7YTxwcTthKyspZ2tbYV09U3RyaW5nLmZyb21DaGFyQ29kZShna1thXSk7CnJldHVybiBnay5q b2luKCcnKX07dGhpcy5nZXREZWNvZGVBcnJheT1mdW5jdGlvbigpe2lmKCF0aGlzLmRlY29kZUFy cmF5KXt2YXIKZD10aGlzLmFscGhhYmV0LHBxPWQubGVuZ3RoLGJ3PW5ldyBBcnJheSgyNTYpLGE7 Zm9yKGE9MDthPHBxO2ErKylid1tkLgpjaGFyQ29kZUF0KGEpXT1hO3RoaXMuZGVjb2RlQXJyYXk9 Ynd9cmV0dXJuIHRoaXMuZGVjb2RlQXJyYXl9O3RoaXMuCmRlY29kZVRvQXJyYXk9ZnVuY3Rpb24o cHIsZ2spe3ZhciBwcT1wci5sZW5ndGgsYnc9dGhpcy5nZXREZWNvZGVBcnJheSgpLGE9MCwKYz0w LHBzPTAsajt3aGlsZShwcT4wJiZwci5jaGFyQXQocHEtMSk9PSc9Jyl7cHEtLTtwcysrfWlmKCFn aylnaz1uZXcgQXJyYXkoCk1hdGguY2VpbChwcS80KjMpKTt3aGlsZShhPHBxKXtqPWJ3W3ByLmNo YXJDb2RlQXQoYSsrKV08PDE4O2p8PWJ3W3ByLgpjaGFyQ29kZUF0KGErKyldPDwxMjtqfD1id1tw ci5jaGFyQ29kZUF0KGErKyldPDw2O2p8PWJ3W3ByLmNoYXJDb2RlQXQoYSsrKV07CmdrW2MrK109 KGo+Pj4xNikmMjU1O2drW2MrK109KGo+Pj44KSYyNTU7Z2tbYysrXT1qJjI1NX1nay5sZW5ndGg9 Yy1wczsKcmV0dXJuIGdrfTt0aGlzLmRlY29kZVRvU3RyaW5nPWZ1bmN0aW9uKHByKXt2YXIgZ2s9 dGhpcy5kZWNvZGVUb0FycmF5KHByKSxwcQo9Z2subGVuZ3RoO2Zvcih2YXIgYT0wO2E8cHE7YSsr KWdrW2FdPVN0cmluZy5mcm9tQ2hhckNvZGUoZ2tbYV0pO3JldHVybiBnay4Kam9pbignJyl9fXZh ciBiYj1uZXcgcHQoKTsKJyRTZXJpYWw6IDQyNDcgJCAkUmV2aXNpb246IDEuMyAkJzt2YXIgYng9 MHhmZmZmZmZmZixwdj0weDdmZmZmZmZmLHB5PQotMHg3ZmZmZmZmZixweD0weDgwMDAwMDAwLHB3 PS0weDgwMDAwMDAwLHB1PWJ4KzE7CickU2VyaWFsOiA1MDI4ICQgJFJldmlzaW9uOiAxLjMgJCc7 dmFyIGNkPShwdnwocHctMSkpIT1wdjtmdW5jdGlvbiBkayhoeil7aHoKPWh6JXB1O2lmKGh6PHB3 KXJldHVybn4oaHorcHgpLXB4O2lmKGh6PnB2KXJldHVybn4oaHotcHgpK3B4O3JldHVybn5oen0K ZnVuY3Rpb24gZGUoZSxrdil7ZT1lJXB1O2t2PWt2JXB1O2lmKGU8cHcpZSs9cHU7ZWxzZSBpZihl PnB2KWUtPXB1O2lmKGt2PHB3KQprdis9cHU7ZWxzZSBpZihrdj5wdilrdi09cHU7cmV0dXJuIGUm a3Z9ZnVuY3Rpb24gZGkoZSxrdil7ZT1lJXB1O2t2PWt2JXB1O2lmCihlPHB3KWUrPXB1O2Vsc2Ug aWYoZT5wdillLT1wdTtpZihrdjxwdylrdis9cHU7ZWxzZSBpZihrdj5wdilrdi09cHU7cmV0dXJu IGUKfGt2fWZ1bmN0aW9uIGNoKGUsa3Ype2U9ZSVwdTtrdj1rdiVwdTtpZihlPHB5fHxlPnB2KWU9 LShkayhlKSsxKTtpZihrdjxweXx8Cmt2PnB2KWt2PS0oZGsoa3YpKzEpO3JldHVybiBlXmt2fWZ1 bmN0aW9uIGRuKGUsa3Ype2U9ZSVwdTtpZihlPHB3KWUrPXB1O2Vsc2UKaWYoZT5wdillLT1wdTty ZXR1cm4gZTw8a3Z9ZnVuY3Rpb24gcHooZSxrdil7ZT1lJXB1O2lmKGU8cHcpZSs9cHU7ZWxzZSBp ZihlPgpwdillLT1wdTtyZXR1cm4gZT4+a3Z9ZnVuY3Rpb24gY2ooZSxrdil7ZT1lJXB1O2lmKGU8 cHcpZSs9cHU7ZWxzZSBpZihlPnB2KWUKLT1wdTtyZXR1cm4gZT4+Pmt2fQonJFNlcmlhbDogMzE1 NyAkICRSZXZpc2lvbjogMS40ICQnO2Z1bmN0aW9uIGNmKHliKXt2YXIgeWE9eWI+Pj4xNix5ZD15 YiYKNjU1MzU7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoeWE+Pj44KStTdHJpbmcuZnJvbUNo YXJDb2RlKHlhJjI1NSkrU3RyaW5nLgpmcm9tQ2hhckNvZGUoeWQ+Pj44KStTdHJpbmcuZnJvbUNo YXJDb2RlKHlkJjI1NSl9ZnVuY3Rpb24gZ3QoeWMpe3ZhciBhLHBxPXljCiAubGVuZ3RoLGFvPScn O2ZvcihhPTA7YTxwcTthKyspYW8rPWNmKHljW2FdKTtyZXR1cm4gYW99ZnVuY3Rpb24gZ3AoKXt2 YXIgeHcKPTE2LHlmPSgxPDx4dykseWU9eWYtMTt0aGlzLiR3b3Jkcz1uZXcgQXJyYXkoNjQveHcp O3ZhciBnaz1hcmd1bWVudHMsYSxlPQp0aGlzLiR3b3Jkcy5sZW5ndGg7Zm9yKGE9MDthPGU7YSsr KXRoaXMuJHdvcmRzW2FdPTA7c3dpdGNoKGdrLmxlbmd0aCl7Y2FzZSAxCjp2YXIgZ2s9Z2tbMF07 aWYodHlwZW9mIGdrPT1icSYmZ2suJHdvcmRzJiZnay4kd29yZHMubGVuZ3RoPT1lKXtmb3IoYT0w O2E8ZTsKYSsrKXRoaXMuJHdvcmRzW2FdPWdrLiR3b3Jkc1thXX1lbHNlIHRoaXMuJHdvcmRzW2Ut MV09TWF0aC5mbG9vcihnayk7YnJlYWs7CmNhc2UgMjp0aGlzLiR3b3Jkc1sxXT1hcmd1bWVudHNb MF07dGhpcy4kd29yZHNbM109YXJndW1lbnRzWzFdO2JyZWFrO2Nhc2UgNDoKZm9yKGE9MDthPGU7 YSsrKXRoaXMuJHdvcmRzW2FdPU1hdGguZmxvb3IoZ2tbYV0pO2JyZWFrfWlmKGdrLmxlbmd0aCl4 eCh0aGlzLgokd29yZHMpO2Z1bmN0aW9uIHh4KGdrKXt2YXIgeHo9MCxhLGU9Z2subGVuZ3RoO2Zv cihhPWUtMTthPj0wO2EtLSl7Z2tbYV0rPXh6CjtpZigoeHo9Z2tbYV0+Pj54dykpZ2tbYV0mPXll fX10aGlzLmFkZD1mdW5jdGlvbihkZCl7dGhpcy4kd29yZHNbdGhpcy4kd29yZHMKIC5sZW5ndGgt MV0rPWRkO3h4KHRoaXMuJHdvcmRzKTtyZXR1cm4gdGhpc307dGhpcy5tYXNrPWZ1bmN0aW9uKGRk KXtmb3IodmFyCmE9dGhpcy4kd29yZHMubGVuZ3RoLTE7YT49MDthLS0pe3RoaXMuJHdvcmRzW2Fd Jj1kZDtkZD4+PXh3fXJldHVybiB0aGlzfTsKdGhpcy5tdWx0aXBseT1mdW5jdGlvbihkZCl7dmFy IGEsZT10aGlzLiR3b3Jkcy5sZW5ndGg7Zm9yKGE9MDthPGU7YSsrKXRoaXMuCiR3b3Jkc1thXSo9 ZGQ7eHgodGhpcy4kd29yZHMpO3JldHVybiB0aGlzfTt0aGlzLnN1YlRvSW50PWZ1bmN0aW9uKGRk KXt2YXIgYSwKZT10aGlzLiR3b3Jkcy5sZW5ndGgsYmc9MDtpZih0eXBlb2YgZGQhPWJxfHwhZGQu JHdvcmRzfHxkZC4kd29yZHMubGVuZ3RoIT1lKQpkZD1uZXcgZ3AoZGQpO2ZvcihhPTA7YTxlO2Er KyliZz0oYmc8PDE2KSt0aGlzLiR3b3Jkc1thXS1kZC4kd29yZHNbYV07CnJldHVybiBiZ307dGhp cy5nZXRCeXRlPWZ1bmN0aW9uKGRkKXt2YXIgZT10aGlzLiR3b3Jkcy5sZW5ndGgseHk9ZGQ+Pj4x O2lmKAp4eT49ZSlyZXR1cm4tMTtpZihkZCYxKXJldHVybiB0aGlzLiR3b3Jkc1tlLXh5LTFdPj4+ ODtyZXR1cm4gdGhpcy4kd29yZHNbZQoteHktMV0mMjU1fX0KJyRTZXJpYWw6IDE1ODMgJCAkUmV2 aXNpb246IDEuOCAkJztmdW5jdGlvbiBjaygpe3ZhciBjYj1uZXcgQXJyYXkoMjU2KSxicixidgos Yno7dGhpcy4kZGlnZXN0PWJ4O2lmKGNkKWZvcihidj0wO2J2PDI1NjtidisrKXticj1idjtmb3Io Yno9MDtiejw4O2J6KyspYnI9CihiciYxKT9jaChjaihiciwxKSwweGVkYjg4MzIwKTpjaihiciwx KTtjYltidl09YnJ9ZWxzZSBmb3IoYnY9MDtidjwyNTY7YnYrKykKe2JyPWJ2O2Zvcihiej0wO2J6 PDg7YnorKylicj0oYnImMSk/KGJyPj4+MSleMHhlZGI4ODMyMDpicj4+PjE7Y2JbYnZdPWJyfXZh cgpjbT0oY2Q/ZnVuY3Rpb24oYnMsYncsYnUsYnQpe3ZhciBibSxhLGNlPXR5cGVvZiBidz09Y2w7 Zm9yKGE9YnU7YTxidDthKyspe2JtCj1jZT9idy5jaGFyQ29kZUF0KGEpOmJ3W2FdO2JzPWNiW2No KGJzLGJtKSYyNTVdXmNqKGJzLDgpfXJldHVybiBic306ZnVuY3Rpb24KKGJzLGJ3LGJ1LGJ0KXt2 YXIgYm0sYSxjZT10eXBlb2YgYnc9PWNsO2ZvcihhPWJ1O2E8YnQ7YSsrKXtibT1jZT9idy4KY2hh ckNvZGVBdChhKTpid1thXTticz1jYlsoYnNeYm0pJjI1NV1eKGJzPj4+OCl9cmV0dXJuIGJzfSk7 ZnVuY3Rpb24gY2coYnMsCmJ3LGJ1LGJ0KXt2YXIgZT1idy5sZW5ndGg7aWYoIWJ1KWJ1PTA7ZWxz ZSBpZihidTwwKWJ1Kz1lO2lmKCFidClidD1lO2Vsc2UgaWYKKGJ0PDApYnQrPWU7cmV0dXJuIGNt KGJzLGJ3LGJ1LGJ0KX10aGlzLkNSQ1N0cmluZz0oY2Q/ZnVuY3Rpb24oY2Epe3JldHVybiBjZgoo Y2goY2coYngsY2EpLGJ4KSl9OmZ1bmN0aW9uKGNhKXtyZXR1cm4gY2YoY2coYngsY2EpXmJ4KX0p O3RoaXMuZGlnZXN0PQpmdW5jdGlvbihjYSxidSxidCl7dGhpcy4kZGlnZXN0PWNnKHRoaXMuJGRp Z2VzdCxjYSxidSxidCl9O3RoaXMuZmluYWxpemU9KGNkCj9mdW5jdGlvbigpe3ZhciBjYz1jaCh0 aGlzLiRkaWdlc3QsYngpO3RoaXMuJGRpZ2VzdD1ieDtyZXR1cm4gY2YoY2MpfToKZnVuY3Rpb24o KXt2YXIgY2M9dGhpcy4kZGlnZXN0XmJ4O3RoaXMuJGRpZ2VzdD1ieDtyZXR1cm4gY2YoY2MpfSk7 dGhpcy4KbGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIDR9fXZhciBjaT1uZXcgY2soKTtmdW5jdGlv biBjbihieSl7aWYoYnkmJmJ5Lmxlbmd0aAo+NCl7dmFyIGQ9Ynkuc3Vic3RyKDQpO2lmKGNpLkNS Q1N0cmluZyhkKT09Ynkuc3Vic3RyKDAsNCkpcmV0dXJuIGR9cmV0dXJuIDB9CmZ1bmN0aW9uIGNv KGJ5KXtyZXR1cm4gY2kuQ1JDU3RyaW5nKGJ5KStieX0KJyRTZXJpYWw6IDE2NDMgJCAkUmV2aXNp b246IDEuNyAkJztmdW5jdGlvbiBxeChtLHF2LHF1LGF1KXtyZXR1cm4gcXcobSxxdixxdQosYXUs YmcpfWZ1bmN0aW9uIHF5KG0scXYscXUsYXUpe3JldHVybiBxdyhtLHF2LHF1LGF1LGVtKX1mdW5j dGlvbiBxdyhtLHF2LHF1CixhdSxiYyl7cXY9cXY/J2tleXMnOidkYXRhJztxdT1xdVtxdl07YXU9 YXVbcXZdO2lmKCF3aW5kb3dbcXVdKXthbGVydCgKJ05vIHN1Y2ggYWxnb3JpdGhtIGAnK3F1Kydc JycpO3JldHVybjt9cmV0dXJuIG5ldyB3aW5kb3dbcXVdKG0sYXUsYmMpfQpmdW5jdGlvbiBxeihx dixxdSl7cXU9cXVbcXY9cXY/J2tleXMnOidkYXRhJ107aWYocXU9PSdDUkMzMicpcmV0dXJuIG5l dyBjaygpCjtpZihxdT09J1NIQTEnKXJldHVybiBuZXcgU0hBMSgpO2FsZXJ0KCdObyBzdWNoIGFs Z29yaXRobSBgJytxdSsnXCcnKX0KJyRTZXJpYWw6IDUxODkgJCAkUmV2aXNpb246IDEuMTggJCc7 dmFyIGtqPW5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKQosaWQ9a2ouaW5kZXhPZign bXNpZScpIT0tMSxpeT0haWQsa2E9cGFyc2VJbnQobmF2aWdhdG9yLmFwcFZlcnNpb24pLGp6PWl5 JiYKa2E8NSx2ZT1rai5pbmRleE9mKCduZXRzY2FwZTYvJykhPS0xLGp5PWtqLmluZGV4T2YoJyBn ZWNrby8nKSsxLHV5PWtqLgppbmRleE9mKCcgZmlyZWZveC8yJykrMSx2Yz1rai5pbmRleE9mKCcg ZmlyZWZveC8zJykrMSx2ZD1rai5pbmRleE9mKAonbXNpZSA1LjAnKSE9LTEsdXo9a2ouaW5kZXhP ZignbXNpZSA3JykhPS0xLHZmPWtqLmluZGV4T2YoJ29wZXJhJykhPS0xLHZiLHV4Cj1rai5pbmRl eE9mKCd3aW5kb3dzIG50IDYnKSE9LTEsdmE9dXomJnV4LHV3PTAsaXQ9MCxqeD0wO2lmKG5hdmln YXRvci4KcGxhdGZvcm0uc3Vic3RyKDAsMyk9PSdNYWMnKXtpZihpeSl1dz1rai5pbmRleE9mKCdt YWMgb3MgeCcpPT0tMTtlbHNle3V3PWtqLgppbmRleE9mKCdtc2llJyk7dXc9cGFyc2VGbG9hdChr ai5zdWJzdHIodXcrNSkpPDUuMn1pdD0hdXc7aWYoKGp4PWtqLmluZGV4T2YoCicgYXBwbGV3ZWJr aXQvJykrMSkpa2E9cGFyc2VJbnQoa2ouc3Vic3RyKGp4KzEyKSkvMTAwfWlmKGp5KXZiPXBhcnNl SW50KGtqLgpzdWJzdHIoankrNikpO3ZhciBpcz11d3x8aXQsdmc9ZW0sdmg9IWp4LHZpPWp4LGl6 PSh1d3x8dmF8fCh1eSYmbG9jYXRpb24uCnByb3RvY29sIT0nZmlsZTonKXx8KCFuYXZpZ2F0b3Iu amF2YUVuYWJsZWQoKSkpO09TTWFjT1M5PXV3O09TTWFjT1NYPWl0Owpicm93c2VyQXBwbGVXZWJL aXQ9ang7CickU2VyaWFsOiA1NjE3ICQgJFJldmlzaW9uOiAxLjggJCc7dmFyIGFhYT0wLHp2PTEs YWFmPTIsc249MyxhYWU9NCxyeD0tMSxhYWoKPTAsYWFnPTUsYWFoPTYsc2c9Nyx1cj04LHVzPTks YWFpPTEwO1NUQVRVU19ORVc9YWFhO1NUQVRVU19JTlBST0dSRVNTPXp2OwpTVEFUVVNfQkFERU5D T0RJTkc9YWFmO1NUQVRVU19CQURQQVNTV09SRD1zbjtTVEFUVVNfQkFESEFTSD1hYWU7U1RBVFVT X0RPTkU9CnJ4O1NUQVRVU19TVUNDRVNTPWFhajtTVEFUVVNfQkFEUE9TVE1BUks9YWFnO1NUQVRV U19CQURTSUdOQVRVUkU9YWFoOwpTVEFUVVNfVE9PTUFOWUJBRFBBU1NXT1JEUz1zZztTVEFUVVNf SU5DT01QQVRJQkxFPXVyO1NUQVRVU19QQVNTV09SRENIQU5HRUQ9CnVzO1NUQVRVU19OT1VTRVJT RUxFQ1RFRD1hYWk7CickU2VyaWFsOiA2MTIzICQgJFJldmlzaW9uOiAxLjMgJCc7ZnVuY3Rpb24g dnAocW4pe3ZhciB2bD1xbi5sYXN0SW5kZXhPZigKJ1xcJyksdm09cW4ubGFzdEluZGV4T2YoJy8n KTtyZXR1cm4gcW4uc3Vic3RyKCh2bD52bT92bDp2bSkrMSl9ZnVuY3Rpb24gdnEoCnZrLHZvLHZu LHZqKXtpZih0eXBlb2Ygdmo9PWNsKXZqPVt2al07dmFyIGVtLGEsZT12ai5sZW5ndGg7Zm9yKGE9 MDthPGU7YSsrKQppZighdmtbdmpbYV1dKWJyZWFrO2lmKGE8ZSllbT12althXTtlbHNle2E9MDtl PW5ldyBEYXRlKCkuZ2V0VGltZSgpO2RvIGVtPQonUFhUZW1wLicrZSsnLicrYSsrK3ZvO3doaWxl KHZrW2VtXSl9aWYodm4pdmtbZW1dPTE7cmV0dXJuIGVtfQonJFNlcmlhbDogNDA3NCAkICRSZXZp c2lvbjogMS42ICQnO2Z1bmN0aW9uIEFSQzQobSxhdSxiYyl7dmFyIGJvPW5ldyBBcnJheSgKMjU2 KSxkPW5ldyBBcnJheSgyNTYpLGEsYyxiZztpZih0eXBlb2YgYXUhPWJxKWF1PXsna2V5c2l6ZSc6 YXUsJ3ByZXJ1bic6YmN9Owp2YXIgYms9YXUua2V5c2l6ZTtpZighYmt8fGJrPm0ubGVuZ3RoKWJr PW0ubGVuZ3RoO2ZvcihhPWM9MDthPDI1NjthKyspe2RbYV09CmE7Ym9bYV09bS5jaGFyQ29kZUF0 KGMpO2lmKCsrYz09YmspYz0wfWZvcihhPWM9MDthPDI1NjthKyspe2M9KGMrZFthXStib1thXSkK JjI1NTtiZz1kW2FdO2RbYV09ZFtjXTtkW2NdPWJnfWE9Yz0wO2lmKGF1LnByZXJ1bilmb3IodmFy IGJtPTA7Ym08MjU2O2JtKyspewphPShhKzEpJjI1NTtjPShjK2RbYV0pJjI1NTtiZz1kW2FdO2Rb YV09ZFtjXTtkW2NdPWJnfXRoaXMuUz1kO3RoaXMuST1hO3RoaXMuCko9Yzt0aGlzLmNyeXB0PWZ1 bmN0aW9uKGJmKXt2YXIgYmwsYnAsYmk9dGhpcy5TLGJoPXRoaXMuSSxiaj10aGlzLkosYmUsZT1i Zi4KbGVuZ3RoLGJuPXR5cGVvZiBiZj09YnE7aWYoIWJuKXt2YXIgYmc9bmV3IEFycmF5KGUpO2Zv cihiZT0wO2JlPGU7YmUrKyliZ1tiZQpdPWJmLmNoYXJDb2RlQXQoYmUpO2JmPWJnfWZvcihiZT0w O2JlPGU7YmUrKyl7Ymg9KGJoKzEpJjI1NTtiaj0oYmorYmlbYmhdKSYKMjU1O2JsPWJpW2JoXTti cD1iaVtiaF09YmlbYmpdO2JpW2JqXT1ibDtiZltiZV1ePWJpWyhicCtibCkmMjU1XX10aGlzLkk9 Ymg7CnRoaXMuSj1iajtpZighYm4pe2ZvcihiZT0wO2JlPGU7YmUrKyliZltiZV09U3RyaW5nLmZy b21DaGFyQ29kZShiZltiZV0pO2JmPQpiZi5qb2luKCcnKX1yZXR1cm4gYmZ9O2lmKGJjKXRoaXMu ZGVjcnlwdD10aGlzLmNyeXB0O2Vsc2UgdGhpcy5lbmNyeXB0PXRoaXMuCmNyeXB0fQonJFNlcmlh bDogMzkxNiAkICRSZXZpc2lvbjogMS4xMCAkJztmdW5jdGlvbiB3dyh3cil7dmFyIGQ9a2Qod3Ip LHhnO2lmKGQmJihkCj1jbihkKSkpe3ZhciB3cD1kLmNoYXJDb2RlQXQoMCksd289ZC5zdWJzdHIo MSksd3E9Jyc7aWYod3Amd3gpe3ZhciBhPXdvLgppbmRleE9mKCc7Jyk7d3E9d28uc3Vic3RyKDAs YSk7d289d28uc3Vic3RyKGErMSl9cmV0dXJuIG5ldyBBcnJheSh3cCx3byx3cSl9CnJldHVybiBk fWZ1bmN0aW9uIGtiKHdvLHd1LGJrLHdwLHdxKXtpZih3cCZqdil7d3AmPX54ZDt3bz1uZXcgQVJD NCh3dSxiaywxKS4KY3J5cHQoY28od28pKX13bz1TdHJpbmcuZnJvbUNoYXJDb2RlKHdwKSsoKHdw Jnd4KSYmd3E/d3ErJzsnOicnKSt3bzsKcmV0dXJuIGNvKHdvKX1mdW5jdGlvbiBzcCh3cix3cyx3 byx3dSxiayx3cCx3cSl7amYod3Isa2Iod28sd3UsYmssd3Asd3EpLHdzLAonLycpfWZ1bmN0aW9u IHd2KHdyKXtxcih3ciwnLycpfWZ1bmN0aW9uIHhhKGVvKXtyZXR1cm4gZD13dyhxZCtlbyl9ZnVu Y3Rpb24KeGMoZW8sd3MseGIsbSxiayx3cCx3cSl7c3AocWQrZW8sd3MseGIsbSxiayx3cCx3cSl9 ZnVuY3Rpb24gd3koZW8pe3d2KHFkK2VvKQp9ZnVuY3Rpb24geGUod3Qpe3JldHVybiBkPXd3KHFl K3d0KX1mdW5jdGlvbiB4Zih3dCx3cyxtLHdwLHdxKXtzcChxZSt3dCx3cyxtCiwnJywwLHdwLHdx KX1mdW5jdGlvbiB3eih3dCl7d3YocWUrd3QpfXpxPWdldENhY2hlZFNlc3Npb25LZXk9eGE7enA9 CnNldENhY2hlZFNlc3Npb25LZXk9eGM7em89ZGVsQ2FjaGVkU2Vzc2lvbktleT13eTtkZWxDYWNo ZWRVc2VyS2V5PXd6OwonJFNlcmlhbDogMDMyNyAkICRSZXZpc2lvbjogMS4xMyAkJzt2YXIgdXNl clRleHQ9e30seHE9eydfYXBwbGV0TXNnJzoKJ1RoZSBzZWN1cmUgZG9jdW1lbnQgY291bGRuXCd0 IGJlIG9wZW5lZCwgcG9zc2libHkgJysKJ2JlY2F1c2UgeW91IGNob3NlIG5vdCB0byBpbnN0YWxs IEphdmEgb3IgRW52ZWxvcGUgVG9vbHMuIElmIHlvdVwnZCAnKwonbGlrZSB0byB2aWV3IHRoZSBz ZWN1cmUgZG9jdW1lbnQsIGNsb3NlIHlvdXIgYnJvd3NlciwgcmVvcGVuICcrCid0aGUgYXR0YWNo bWVudCwgYW5kIGFncmVlIHRvIGhhdmUgSmF2YSBhbmQvb3IgRW52ZWxvcGUgVG9vbHMgJysKJ2lu c3RhbGxlZCBpZiBhc2tlZC4nLCdfb25saW5lT3B0aW9uJzoKJ1RoZSBzZWN1cmUgZG9jdW1lbnQg Y291bGRuXCd0IGJlIG9wZW5lZCwgcG9zc2libHkgJysKJ2JlY2F1c2UgeW91IGNob3NlIG5vdCB0 byBpbnN0YWxsIEphdmEgb3IgZGlkblwndCBncmFudCAnKwoncGVybWlzc2lvbiBmb3IgRW52ZWxv cGUgVG9vbHMgdG8gcnVuLiBUbyBzZW5kIHRoZSBzZWN1cmUgZG9jdW1lbnQgJysKJ3RvIGEgd2Vi IHNpdGUgdG8gYmUgZGVjcnlwdGVkLCBjbGljayBPSy4gVG8gY2xvc2UgeW91ciBicm93c2VyICcr CidhbmQgdHJ5IGFnYWluLCBjbGljayBDYW5jZWwuJywnX3ZlcmlmeU1zZyc6CidUaGUgZW52ZWxv cGUgY291bGRuXCd0IGJlIHZlcmlmaWVkLCBwb3NzaWJseSBiZWNhdXNlICcrCid5b3UgY2hvc2Ug bm90IHRvIGluc3RhbGwgSmF2YSBvciBFbnZlbG9wZSBUb29scy4gSWYgeW91XCdkIGxpa2UgdG8g JysKJ3ZlcmlmeSB0aGUgZW52ZWxvcGUsIGNsb3NlIHlvdXIgYnJvd3NlciwgcmVvcGVuIHRoZSBh dHRhY2htZW50LCAnKwonYW5kIGFncmVlIHRvIGhhdmUgSmF2YSBhbmQvb3IgRW52ZWxvcGUgVG9v bHMgaW5zdGFsbGVkIGlmIGFza2VkLicsCidfTm9QYXlsb2FkJzonVGhpcyBlbnZlbG9wZSBkb2Vz blwndCBjb250YWluIGEgcGF5bG9hZCwgcGxlYXNlICcrCidjb250YWN0IHRoZSBzZW5kZXIgZm9y IGEgcmVwbGFjZW1lbnQuJywnX0RlY1Byb2dUaXRsZSc6CidEZWNyeXB0aW5nIHBheWxvYWQuLi4n LCdfU3RhdHVzRGVjSW5pdCc6J0RlY3J5cHRpb24gUHJvZ3Jlc3M6IEluaXRpYWxpemluZycKLCdf U3RhdHVzRGVjUGN0JzonRGVjcnlwdGlvbiBQcm9ncmVzczogJFswXSUnLCdfUHJlcGFyaW5nJzoK J1ByZXBhcmluZyBlbnZlbG9wZS4uLicsJ19TdGF0dXNQcmVwYXJpbmcnOidQcmVwYXJpbmcgZW52 ZWxvcGUuLi4nLAonX1N0YXR1c1ByZXBQY3QnOidQcmVwYXJhdGlvbiBQcm9ncmVzczogJFswXSUn LCdfRGlzcGxheUNvbnYnOgonQ29udmVydGluZyBwYXlsb2FkIGZvciBkaXNwbGF5Li4uJywnX1N0 YXR1c0Rpc3BsYXlDb252JzoKJ0NvbnZlcnNpb24gUHJvZ3Jlc3M6IEluaXRpYWxpemluZycsJ19T dGF0dXNEaXNwbGF5Q29udlBjdCc6CidDb252ZXJzaW9uIFByb2dyZXNzOiAkWzBdJScsJ19TYXZl ZDFQYXRoJzonRmlsZSBzYXZlZCB0byAkWzBdJywKJ19TYXZlZG5QYXRoJzonRmlsZXMgc2F2ZWQg dG8gJFswXScsJ19TYXZlZG5GaWxlJzonT3BlbiAkWzBdIHRvIHZpZXcnLAonX1N0YXR1c0RvbmUn OidEb2N1bWVudDogRG9uZScsJ19Ub29sc0xvYWRpbmcnOidMb2FkaW5nIEVudmVsb3BlIFRvb2xz Li4uJywKJ19FcnJvckJhZFB3ZCc6J0luY29ycmVjdCBwYXNzd29yZC4gUGxlYXNlIHRyeSBhZ2Fp bi4nLCdfRXJyb3JQd2RDaGFuZ2VkJzoKJ1Bhc3N3b3JkIGNoYW5nZWQsIHJlLWVudGVyLicsJ19F cnJvckJhZFB3ZHMnOgonWW91XCd2ZSBtYWRlIHRvbyBtYW55IGluY29ycmVjdCBwYXNzd29yZCAn KwonYXR0ZW1wdHMuIFRoaXMgZW52ZWxvcGUgY2Fubm90IGJlIG9wZW5lZC4nLCdfTm9Vc2VyU2Vs ZWN0ZWQnOgonWW91IG11c3Qgc2VsZWN0IGFuIGFkZHJlc3MgZnJvbSB0aGUgbWVudS4nLCdfTm9V c2VyRW50ZXJlZCc6CidZb3UgbXVzdCBlaXRoZXIgc2VsZWN0IGFuIGFkZHJlc3MgZnJvbSAnKyd0 aGUgbWVudSBvciBlbnRlciBhbiBhZGRyZXNzLicsCidfUGxhdGZvcm1JbmNvbXBhdGlibGUnOidU aGlzIGVudmVsb3BlIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggJysKJ3lvdXIgcGxhdGZvcm0uJ30s eG49W107ZnVuY3Rpb24geHIoKXtyZXR1cm4geG4uam9pbignXycpfWZ1bmN0aW9uIHh2KHhqKXt4 bgo9eG0oeGopfWZ1bmN0aW9uIHhtKHhqKXtpZih0eXBlb2YgeGohPWNsfHx4aj09JycpcmV0dXJu W107dmFyIGQ9eGouc3BsaXQoJ18nCik7aWYoZC5sZW5ndGg+MylkLmxlbmd0aD0zO3JldHVybiBk fWZ1bmN0aW9uIHNzKGR6LHhsKXtyZXR1cm4geG8oZHoseGwsCmdldExvY2FsZSgpLGFyZ3VtZW50 cywyKX1mdW5jdGlvbiB4cyhkeix4bCx4ail7dmFyIGJnPXR5cGVvZiB4ajtpZihiZz09dXYpeGoK PWdldExvY2FsZSgpO2Vsc2UgaWYoYmc9PWNsKXhqPXhtKHhqKTtyZXR1cm4geG8oZHoseGwseGos YXJndW1lbnRzLDMpfQpmdW5jdGlvbiB4byhkeix4bCx4aixkcixhbSl7dmFyIGEsYnc9W3hxLHVz ZXJUZXh0XSxkPXVzZXJUZXh0O2ZvcihhPTA7YTx4ai4KbGVuZ3RoO2ErKyl7aWYodHlwZW9mKGQ9 ZFt4althXV0pIT1icSlicmVhaztid1tidy5sZW5ndGhdPWR9Zm9yKGE9YncubGVuZ3RoCi0xO2E+ PTA7YS0tKWlmKHR5cGVvZihkPWJ3W2FdW2R6XSk9PWNsKWJyZWFrO2lmKHR5cGVvZiBkIT1jbClk PXR5cGVvZiB4bD09Y2wKP3hsOicnO3JldHVybiB4cChkLGRyLGFtKX1mdW5jdGlvbiB4dCh4ayl7 cmV0dXJuIHhwKHhrLGFyZ3VtZW50cywxKX1mdW5jdGlvbgp4cCh4ayxkcixhbSl7dmFyIHh1PS9c eDI0XFsoXGQrKVxdLyxnaztidz0nJzt3aGlsZSgoZ2s9eHUuZXhlYyh4aykpKXtpZihnay4KaW5k ZXgpYncrPXhrLnN1YnN0cigwLGdrLmluZGV4KTthPStna1sxXSthbTtpZih0eXBlb2YgZHJbYV0h PXV2KWJ3Kz1kclthXTt4awo9eGsuc3Vic3RyKGdrLmluZGV4K2drWzBdLmxlbmd0aCl9cmV0dXJu IGJ3K3hrfXpuPWdldFRleHQ9c3M7CmdldExvY2FsaXplZFRleHQ9eHM7Z2V0TG9jYWxlPXhyO3Nl dExvY2FsZT14djtpbnRlcnBvbGF0ZVRleHQ9eHQ7CickU2VyaWFsOiA0MTg2ICQgJFJldmlzaW9u OiAxLjQgJCc7ZnVuY3Rpb24ga2coeWgseWope3ZhciB5Zyx5aSx5aztmb3IoeWcgaW4KeWope3lp PXR5cGVvZiB5aFt5Z107eWs9dHlwZW9mIHlqW3lnXTtpZih5aT09dXZ8fCgoeWk9PWJxKV4oeWs9 PWJxKSkpeWhbeWddPQp5alt5Z107ZWxzZSBpZih5aT09YnEmJnlrPT1icSlrZyh5aFt5Z10seWpb eWddKX1yZXR1cm4geWh9CickU2VyaWFsOiAwMjMwICQgJFJldmlzaW9uOiAxLjE4ICQnO3ZhciBz bD0xLHNtPTIsYWNoPTgsemU9MTYseXk9MzIsYWFkPTY0LAp6Zj0xMjgsYWJqPTI1NixhYmI9NTEy LGFjaj0xMDI0LGFjZz0yMDQ4LGFjaT00MDk2LGFjcj04MTkyLGpwPTAsanU9MSxqcj0yLGp0Cj0z LGpxPTQsaXI9NSxqcz02LGpvPTcsYWJxPTEsYWNkPTIsYWNmPTQsYWN0PTgsYWNzPTE2LGFjdT0z MixhY3c9MSxhY3Y9MixhY2wKPTMsYWNrPTQsYWNlPTEsamg9MCxpcT0wfGFjZSxqaj0yfGFjZSxq az00fGFjZSxqaT04fGFjZSxpaD0xNnxhY2UsYWJ0PXsKJ2hhc2gnOidTSEExJywna2V5U2VydmVy S2V5SGFzaCc6J1NIQTEnLCdlbmNyeXB0aW9uJzp7J2tleXMnOidBUkM0JywnZGF0YSc6CidBUkM0 J30sJ3ZlcmlmaWNhdGlvbic6eydrZXlzJzonQ1JDMzInLCdkYXRhJzonQ1JDMzInfX0sYWJ1PXsn dG9vbHMnOnFqLAonc2Vzc2lvbktleSc6cWksJ3VzZXJLZXknOnFrLCdiYWRQYXNzd29yZENvdW50 JzpxZiwnaGFyZGVuZXInOnFnLAoncHJlZmVyZW5jZXMnOnFofSxhY209WydXbVZ3Y0dWc2FXNGdj blZzWlhNaCddO1BGTEFHX0NBQ0hFX1NFU1NJT05fS0VZPXplOwpQRkxBR19BVVRPX09QRU49eXk7 UEZMQUdfQ0FDSEVfVVNFUl9LRVk9YWFkO1BGTEFHX0VOQ1JZUFRfQ0FDSEVEX1NFU1NJT05fS0VZ Cj16ZjtQRkxBR19BTExPV19VU0lOR19PTkxJTkVfT1BFTkVSPWFiajtQRkxBR19PUEVOX1JFUVVJ UkVTX0FQUExFVD1hYmI7ClBGTEFHX1NVUFBSRVNTX0FQUExFVF9GT1JfT1BFTj1hY2o7UEZMQUdf TEFVTkNIX0lOX1NBTUVfV0lORE9XPWFjZzsKUEZMQUdfUkVNRU1CRVJfTUU9YWNpO1BGTEFHX1VT RV9CUk9XU0VSPWFjcjtBQ1RJT05fT1BFTj1qaDtBQ1RJT05fU0FWRT1pcTsKQUNUSU9OX1ZFUklG WV9QT1NUTUFSSz1qajtBQ1RJT05fVkVSSUZZX1NJR05BVFVSRT1qaztBQ1RJT05fU0FWRV9PTkVf RklMRT1qaQo7QUNUSU9OX0FVVEhFTlRJQ0FURV9BTkRfT1BFTj1paDsKJyRTZXJpYWw6IDM0OTIg JCAkUmV2aXNpb246IDEuNiAkJztmdW5jdGlvbiBhZmkoZHope3ZhciBhZm89MSxhZmo9MCxhZmc9 e307CmZ1bmN0aW9uIGFmcChkeixsdil7cmV0dXJuIGZ1bmN0aW9uKGFmZil7cmV0dXJuIGx2KGR6 LGFmZil9fWZ1bmN0aW9uIGFmcShhZnIKKXt2YXIgYWZoPWFmaS5hbGxQcmVmcyxiZCxhZms7aWYo IWR6fHwhKGJkPWNuKGtkKGR6KSkpfHwrYmQuY2hhckF0KDApIT1hZm8pCmJkPScnO2JkPWJkLnNw bGl0KCcsJyk7dmFyIGEsZT1iZC5sZW5ndGgsZCxiZztmb3IoYT0xO2E8ZTthKyspe2Q9YmRbYV0u c3BsaXQKKCc9Jyk7aWYoIShhZms9YWZoW2RbMF1dKSl7Ymc9ZFswXS5zdWJzdHIoMSwxKS50b0xv d2VyQ2FzZSgpK2RbMF0uc3Vic3RyKDIpOwppZighKGFmaz1hZmhbYmddKSljb250aW51ZTtkWzBd PWJnfXN3aXRjaChhZmspe2Nhc2UnQic6ZFsxXT1kLmxlbmd0aD09MT8xOitkClsxXT8xOjA7YnJl YWs7Y2FzZSdJJzppZihpc05hTihkWzFdPXBhcnNlSW50KGRbMV0pKSlkWzFdPTB9YWZnW2RbMF1d PWRbMV19CnZhciBsdjtmb3IoYSBpbiBhZmgpe3N3aXRjaChhZmhbYV0pe2Nhc2UnQic6bHY9YWZt O2JyZWFrO2Nhc2UnSSc6bHY9YWZuOwpicmVha31hZnJbYV09YWZwKGEsbHYpfX10aGlzLnByZWY9 ZnVuY3Rpb24oZHosYWZmKXt2YXIgYmc9YWZpLmFsbFByZWZzW2R6XTsKaWYoIWJnKXRocm93IG5l dyBhZnMoJ1Vua25vd24gcHJlZmVyZW5jZSAiJytkeisnIicpO3N3aXRjaChiZyl7Y2FzZSdCJzoK cmV0dXJuIGFmbShkeixhZmYpO2Nhc2UnSSc6cmV0dXJuIGFmbihkeixhZmYpfX07dGhpcy5tb2Rp ZmllZD1mdW5jdGlvbigpewpyZXR1cm4gdGhpcy5tb2RkZWR9O2Z1bmN0aW9uIGFmbShkeixhZmYp e2lmKGFmZiE9dW5kZWZpbmVkKWFmZj0rYWZmPzE6MDtpZighCmFmZ1tkel0pYWZnW2R6XT0wO3Jl dHVybiBjZyhkeixhZmYpPzE6MH1mdW5jdGlvbiBhZm4oZHosYWZmKXtpZihhZmYhPQp1bmRlZmlu ZWQpaWYoaXNOYU4oYWZmPXBhcnNlSW50KGFmZikpKWFmZj0wO2lmKCFhZmdbZHpdKWFmZ1tkel09 MDtyZXR1cm4gY2coCmR6LGFmZil9ZnVuY3Rpb24gY2coZHosYWZmKXt2YXIgYWZsPWFmZ1tkel07 aWYoYWZmIT11bmRlZmluZWQmJmFmZiE9YWZsKXthZmcKW2R6XT1hZmY7YWZqPTF9cmV0dXJuIGFm bH10aGlzLnNhdmU9ZnVuY3Rpb24ocWwscW4scW0scXMpe2lmKGFmail7dmFyIGFmaD0KYWZpLmFs bFByZWZzLGRkLGYsYmQ9YWZnLGQ9Jyc7Zm9yKGRkIGluIGJkKXtmPWJkW2RkXTtzd2l0Y2goYWZo W2RkXSl7Y2FzZSdCJwo6aWYoIWYpY29udGludWU7Zj0nJzticmVhaztjYXNlJ0knOmlmKCFmKWNv bnRpbnVlO2Y9Jz0nK2Y7YnJlYWs7ZGVmYXVsdDoKY29udGludWV9ZCs9JywnK2RkK2Z9aWYoZClq ZihkeixjbyhhZm8rZCkscWwscW4scW0scXMpO2Vsc2UgcXIoZHoscW4scW0pO2Fmago9MH19O2Fm cSh0aGlzKX1hZmkuYWxsUHJlZnM9eydpZ25vcmVBcHBsZXRJbWFnZSc6J0InLAonaWdub3JlQXBw bGV0SW1hZ2VBbHdheXMnOidCJywnZm9yY2VBcHBsZXRSZWxvYWQnOidCJywKJ2ZvcmNlQXBwbGV0 UmVsb2FkQWx3YXlzJzonQicsJ2FwcGxldERlYnVnTGV2ZWwnOidJJywKJ2FwcGxldERlYnVnTGV2 ZWxBbHdheXMnOidJJ307dmFyIGhsPW5ldyBhZmkocWMpLGdQcmVmcz1obDsKJyRTZXJpYWw6IDYz OTQgJCAkUmV2aXNpb246IDEuMjAgJCc7dmFyIGZjPTEsZXY9MixleD0zLGZiPTQsZmQ9NSxmYT02 LGV6PTcsCmV5PTgsZXc9OSxldT0xMCxlcj0tMSxnYz0xLGZnPTIsZmw9MyxnYT00LGZqPTUsZnE9 NixnYj03LGZvPTgsZm49OSxnZD0xMCxmbT0KMTEsZmY9MTIsZmU9MTMsZmk9MTQsZnU9MTUsZnQ9 MTYsZnk9MTcsZno9MTgsZnc9MTksZmg9MjAsZng9MjEsZms9MjIsZnI9MjMsCmZzPTI1LGZ2PTI2 LGZwPTI3LFJQQ19GTEFHX05FRURfU0VTU0lPTl9LRVk9MSxldD0xLGVzPTI7cjE9ClJQQ19TVEFU RV9WSUVXSU5HX0VOVkVMT1BFPWZjO3IyPVJQQ19TVEFURV9PUEVOSU5HX0VOVkVMT1BFPWV2O3Iz PQpSUENfU1RBVEVfU0FWSU5HX0VOVkVMT1BFPWV4O3I0PVJQQ19TVEFURV9WRVJJRllJTkdfRU5W RUxPUEU9ZmI7cjU9ClJQQ19TVEFURV9WSUVXSU5HX1BBWUxPQUQ9ZmQ7cjY9UlBDX1NUQVRFX1ZF UklGSUVEX0VOVkVMT1BFX1NVQ0NFU1M9ZmE7cjc9ClJQQ19TVEFURV9WRVJJRklFRF9FTlZFTE9Q RV9GQUlMVVJFPWV6O1JQQ19TVEFURV9TRUxFQ1RJTkdfUkVDSVBJRU5UPWV5OwpSUENfU1RBVEVf UE9MTF9SRVNVTFQ9ZXc7UlBDX1NUQVRFX0VDSE89ZXU7cmg9UlBDX1NUQVRVU19OT19TRVJWRVI9 ZXI7cmk9ClJQQ19TVEFUVVNfVkFMSUQ9Z2M7cmo9UlBDX1NUQVRVU19CQURfUEFTU1dPUkQ9Zmc7 cms9ClJQQ19TVEFUVVNfTUFMRk9STUVEX1JFUVVFU1Q9Zmw7cmw9UlBDX1NUQVRVU19TRVJWRVJf RVJST1I9Z2E7cm09ClJQQ19TVEFUVVNfRVhQSVJFRD1majtybj1SUENfU1RBVFVTX1BFUk1BTkVO VF9MT0NLRUQ9ZnE7cm89ClJQQ19TVEFUVVNfVEVNUE9SQVJZX0xPQ0tFRD1nYjtycD1SUENfU1RB VFVTX05PX1JFQ09SRF9GT1VORD1mbztycT0KUlBDX1NUQVRVU19OT19MT0dJTl9TRVNTSU9OPWZu O3JzPVJQQ19TVEFUVVNfTk9UX1JFR0lTVEVSRUQ9Zm07ClJQQ19TVEFUVVNfQVVUSEVOVElDQVRJ T05fRkFJTEVEPWZmO1JQQ19TVEFUVVNfQUNDRVNTQ0hFQ0tfRkFJTEVEPWZlOwpSUENfU1RBVFVT X0VYQ0VFRF9NQVhfRkFJTEVEX09QRU5TPWZpOwpSUENfU1RBVFVTX1JFQ0lQSUVOVF9JREVOVElG SUVEX05PX0FVVEhfUkVRVUlSRUQ9ZnU7ClJQQ19TVEFUVVNfUkVDSVBJRU5UX0lERU5USUZJRURf QVVUSF9SRVFVSVJFRD1mdDsKUlBDX1NUQVRVU19SRUNJUElFTlRfTk9UX1NFTlRfRU5WRUxPUEU9 Znk7UlBDX1NUQVRVU19SRUNJUElFTlRfU1VTUEVOREVEPWZ6OwpSUENfU1RBVFVTX1JFQ0lQSUVO VF9OT1RfQUNUSVZBVEVEPWZ3O1JQQ19TVEFUVVNfRU5WRUxPUEVfTE9DS0VEPWZoOwpSUENfU1RB VFVTX1JFQ0lQSUVOVF9OT1RfSURFTlRJRklFRD1meDtSUENfU1RBVFVTX0lOVkFMSURfU0VTU0lP Tj1mazsKUlBDX1NUQVRVU19QT0xMX0ZBSUxFRD1mcjtSUENfU1RBVFVTX1JFQ0lQSUVOVF9CTE9D S0VEPWZzOwpSUENfU1RBVFVTX1JFQ0lQSUVOVF9MT0NLRUQ9ZnY7UlBDX1NUQVRVU19QQVNTV09S RF9FWFBJUkVEPWZwOwpSUENfU09VUkNFX0VOVkVMT1BFPWV0O1JQQ19TT1VSQ0VfQVVUSF9GUkFN RT1lczsKJyRTZXJpYWw6IDMxNjkgJCAkUmV2aXNpb246IDEuODIuOC4xLjIyLjEgJCc7dmFyIGh1 LGFhdz0wLGFhcD0wLHV1O2Z1bmN0aW9uCmFieihzdixhYm8sYWJuLGFjcSxhY3AsYWJ2LGRyKXtz dj1kb2N1bWVudC5mb3Jtc1tzdl07dmFyIGFhcSxoaj17J2NodW5rZWQnOgphcmd1bWVudHMubGVu Z3RoPjMsJ2FyZ3MnOmRyLCdjb21wbGV0aW9uU2NyaXB0JzphYnYsJ2Zvcm0nOnN2LAonZm9ybUVs ZW1lbnROYW1lJzphYm99O2lmKGFibiYmKGFhcT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChhYm4p KSYmKGFhcT1hYXEuCmlubmVySFRNTCkmJihoai5kYXRhPWFhcS5tYXRjaCgvZD0oW14iJl0rKS9n KSkpe2hqLmluZGV4PTA7aGoubWF4RHVyYXRpb249CjEwMDA7aGoucHJvZ3Jlc3NTdGF0ZT0wO2hq LnRpbWVPdXQ9aXM/MTI1OjE7aWYoaGouY2h1bmtlZCl7aHU9aGo7c2V0VGltZW91dCgKImFiZSho dSkiLGhqLnRpbWVPdXQpfWVsc2UgYWJlKGhqKX1lbHNlIGlmKHN2JiYoYWFxPXN2W2Fib10udmFs dWUpKXtoai5kYXRhPQphYXE7aGoucHJvZ3Jlc3NTdGF0ZT0tMTthYmcoaGopfWVsc2UgYWxlcnQo c3MoJ19Ob1BheWxvYWQnKSl9ZnVuY3Rpb24gYWJlKGhqCil7dmFyIGNjPWhqLmRhdGEsYT1oai5p bmRleCxlPWNjLmxlbmd0aCxhYmgsYWFiPWhqLmNodW5rZWQ/bmV3IERhdGUoKS4KZ2V0VGltZSgp K2hqLm1heER1cmF0aW9uOjA7ZG97Y2NbYV09Y2NbYV0ucmVwbGFjZSgvW1xuXHJcdCBdKy9nLCcn KTtjY1thXT1qZwooY2NbYV0uc3Vic3RyKDIpLDEpO2lmKGp4fHx2Zil7aWYoKGFiaD1jY1thXS5z ZWFyY2goL1teXHJcbl0vKSk+MCl7Y2NbYV09Y2NbCmFdLnN1YnN0cihhYmgpO2lmKGE+MCYmKHBx PWNjW2EtMV0ubGVuZ3RoKT4wJiZjY1thLTFdLmNoYXJBdChwcS0xKT09J1xcJyljY1sKYS0xXT1j Y1thLTFdLnN1YnN0cmluZygwLHBxLTEpfWNjW2FdPWNjW2FdLnJlcGxhY2UoL1xcW1xuXHJdKy9n LCcnKX1hKyt9CndoaWxlKGE8ZSYmKCFhYWJ8fG5ldyBEYXRlKCkuZ2V0VGltZSgpPGFhYikpO3Zh ciBhYXU9YS9lO3N3aXRjaChoai4KcHJvZ3Jlc3NTdGF0ZSl7Y2FzZSAwOmlmKGFhdT4uM3x8IWhq LmFyZ3N8fCFoai5hcmdzLnByb2dyZXNzRm4pe2hqLgpwcm9ncmVzc1N0YXRlPS0xO2JyZWFrfWhq LmFyZ3MucHJvZ3Jlc3NGbignc3RhcnQnLGhqLmFyZ3MucHJvZ3Jlc3NBcmdzKTtoai4KcHJvZ3Jl c3NTdGF0ZT0xO2Nhc2UgMTpoai5hcmdzLnByb2dyZXNzRm4oYWF1LGhqLmFyZ3MucHJvZ3Jlc3NB cmdzKTticmVha31pZgooYT09ZSl7aGouZGF0YT1jYz1jYy5qb2luKCcnKTtpZihoai5mb3JtJiZo ai5mb3JtRWxlbWVudE5hbWUpaGouZm9ybVtoai4KZm9ybUVsZW1lbnROYW1lXS52YWx1ZT1jYztp Zihoai5jaHVua2VkKXNldFRpbWVvdXQoImFiZyhodSkiLGhqLnRpbWVPdXQpOwplbHNlIGFiZyho ail9ZWxzZXtoai5pbmRleD1hO3NldFRpbWVvdXQoImFiZShodSkiLGhqLnRpbWVPdXQpfX1mdW5j dGlvbiBhYmcoCmhqKXt2YXIgc3Y9aGouZm9ybTtpZihoai5wcm9ncmVzc1N0YXRlJiZoai5hcmdz JiZoai5hcmdzLnByb2dyZXNzRm4paGouYXJncy4KcHJvZ3Jlc3NGbignY2xlYXInLGhqLmFyZ3Mu cHJvZ3Jlc3NBcmdzKTtpZihoai5jaHVua2VkKWh1PTA7ZXZhbCgnd2luZG93LicrCiJwYXlsb2Fk IisnPScraGouZGF0YSk7dmFyIGhrPXBheWxvYWQ7aWYoc3Ype2hrLmZvcm09eydhY3Rpb24nOnN2 LmFjdGlvbiwKJ2Zvcm0nOnN2fTtzdi5hY3Rpb249J2phdmFzY3JpcHQ6dm9pZCgwKSd9aWYoIWhr LnNlZ21lbnRzKWhrLnNlZ21lbnRzPVtoay4KZGF0YS5sZW5ndGgtMiwxLDFdO2lmKCFoay5yaWQp aGsucmlkPWFjbTtlbHNlIGlmKHR5cGVvZiBoay5yaWQ9PWNsKWhrLnJpZD1bCmhrLnJpZF07aWYo IWhrLmFsZ25hbWVzKWhrLmFsZ25hbWVzPWFidDtlbHNlIGtnKGhrLmFsZ25hbWVzLGFidCk7aWYo IWhrLgptYXhCYWRQYXNzd29yZHMpaGsubWF4QmFkUGFzc3dvcmRzPTA7aWYoIWhrLnByb2dyZXNz cmF0aW8pe2lmKGhrLmFsZ25hbWVzLgplbmNyeXB0aW9uLmRhdGE9PSdBRVMnKWhrLnByb2dyZXNz cmF0aW89Ljc7ZWxzZSBoay5wcm9ncmVzc3JhdGlvPS40fWlmKCFoay4KZXhwaXJpZXMpaGsuZXhw aXJpZXM9YWJ1O2Vsc2Uga2coaGsuZXhwaXJpZXMsYWJ1KTtpZighaGsua2V5bmFtZSloay5rZXlu YW1lPQonRGVmYXVsdCc7aWYoIWhrLnNpZ2tleW5hbWUpaGsuc2lna2V5bmFtZT0nRGVmYXVsdCc7 aWYoIWhrLmZsYWdzKWhrLmZsYWdzPTA7CmlmKCFoay5rZXlzaXplKWhrLmtleXNpemU9MDtpZiho ay5jcnlwdENvbXByZXNzZWQpaGsuZmxhZ3N8PXNsO2lmKGhrLgpwbGFpbkNvbXByZXNzZWQpaGsu ZmxhZ3N8PXNtO2lmKHN2Lm9wZW5lckhvc3QmJnN2Lm9wZW5lckhvc3QudmFsdWUhPScnKWhrLgpm bGFnc3w9YWJqO3ZhciBhLGQ9aGsuYWxnbmFtZXMuZW5jcnlwdGlvbjtpZihkLmtleXM9PSdBUkM0 J3x8ZC5kYXRhPT0nQVJDNCcpCntpZighaGsuYWxncGFyYW1zKWhrLmFsZ3BhcmFtcz17fTtpZigh aGsuYWxncGFyYW1zLmVuY3J5cHRpb24paGsuYWxncGFyYW1zLgplbmNyeXB0aW9uPXt9O2JnPWhr LmFsZ3BhcmFtcy5lbmNyeXB0aW9uO2ZvcihhIGlueydrZXlzJzowLCdkYXRhJzowfSlpZihkW2Fd Cj09J0FSQzQnKXtpZighYmdbYV0pYmdbYV09e307YmdbYV0ua2V5c2l6ZT1oay5rZXlzaXplO2Jn W2FdLnByZXJ1bj0oaGsuZmxhZ3MKJmFjaCkhPTB9fWlmKGhrLmFsZ25hbWVzLmVuY3J5cHRpb24u a2V5cz09J1JTQScpaGsuZmxhZ3N8PWFiYjtpZighKGhrLmZsYWdzJgphYmIpKXt2YXIgZT1oay50 b2MubGVuZ3RoO2ZvcihhPTA7YTxlO2ErKylpZihoay50b2NbYV1banFdJmFjZil7aGsuZmxhZ3N8 PQphYmI7YnJlYWt9fWlmKChkPXhhKGhrLm1zZ0lEKSkpe2lmKChkWzBdJih4ZHxqdikpPT14ZClo ay5mbGFnc3w9eXk7ZWxzZSBoay4KZmxhZ3MmPX55eTtoay5zZWxlY3RlZElEPWRbMl07aWYoZFsw XSZqdiloay5lbmNyeXB0ZWRTZXNzaW9uS2V5PWRbMV07ZWxzZSBoawogLnNlc3Npb25LZXk9ZFsx XX1pZihoay51c2Vya2V5bmFtZSYmKGQ9eGUoaGsudXNlcmtleW5hbWUpKSl7aWYoZFswXSZ4ZClo ay4KZmxhZ3N8PXl5O2Vsc2UgaGsuZmxhZ3MmPX55eTtoay51c2VyS2V5PWRbMV07aGsuc2VsZWN0 ZWRJRD1kWzJdO2lmKGRbMF0meGkpewppZihoay5hbGduYW1lcy5rZXlTZXJ2ZXJLZXlIYXNoPT0n U0hBMScpaGsudXNlcktleT1uZXcgU0hBMShoay51c2VyS2V5LDAsMCwKYmcpLmZpbmFsaXplKCl9 ZWxzZXtoay5hbGduYW1lcy5rZXlTZXJ2ZXJLZXlIYXNoPSdTSEExJ319aWYoaGouCmNvbXBsZXRp b25TY3JpcHQpZXZhbChoai5jb21wbGV0aW9uU2NyaXB0Kyc7Jyl9ZnVuY3Rpb24gYWF4KGhrKXt2 YXIgZW09aGsuCmZvcm0uZm9ybTtlbS5hY3Rpb249aGsuZm9ybS5hY3Rpb247ZW0ub25zdWJtaXQ9 Jyc7ZW0uc3VibWl0KCl9ZnVuY3Rpb24gYWNhKApoayxtLGFieSxobSxhYW0sc3IsYWJyKXtpZihh YXcpcmV0dXJuIGVtO2dVc2VyQXJnPXV1PXNyO2Fhdz0xO2lmKGFhbS4KcHJvZ3Jlc3MpYWFtLnBy b2dyZXNzKCdjbGVhcicsc3IpO2lmKCFhYW0uY29tcGxldGlvbilhYW0uY29tcGxldGlvbj1hYng7 dmFyCmhqPXsnZm5zJzphYW0sJ2FyZyc6c3IsJ2tleSc6aGsudXNlcktleXx8bmV3IFNIQTEobSww LDAsYmcpLmZpbmFsaXplKCksCidhY3Rpb24nOmhtLCdwYXlsb2FkJzpoaywndGltZU91dCc6aXM/ MTI1OjEsJ2R1cmF0aW9uJzphYnksJ2FwcGxldE1zZyc6YWJyLAonYXBwbGV0TmFtZSc6am0sJ2Fw cGxldENsYXNzJzonUG9zdCcrJ1hUb29scyd9O2lmKGhrLmFsZ25hbWVzLgprZXlTZXJ2ZXJLZXlI YXNoPT0ncGxhaW4nKWhqLnBsYWluS2V5PW18fGhrLnVzZXJLZXk7aHU9aGo7aWYoaGsuZXZlbnQm JmhrLgpldmVudC5jdHJsS2V5JiYhaGsuZXZlbnQuYWx0S2V5JiYhaGsuZXZlbnQuc2hpZnRLZXkp aGwuZm9yY2VBcHBsZXRSZWxvYWQoMSk7CmhrLmV2ZW50PWFjbj1lbTtpZihoay5lbmNyeXB0ZWRT ZXNzaW9uS2V5KXt2YXIgYWJmPW5ldyBBUkM0KGhqLmtleSxoay4Ka2V5c2l6ZSwxKS5jcnlwdCho ay5lbmNyeXB0ZWRTZXNzaW9uS2V5KTtpZighKGQ9Y24oYWJmKSkpe2FhbS5lcnJvcihzbixzcik7 CnNlKDEpO3JldHVybiBlbX1oay5zZXNzaW9uS2V5PWQ7dmFyIHN2PWRvY3VtZW50LmZvcm1zW2hr LmZvcm0uaW5kZXhdO2lmKHN2JiYKc3Yuc2Vzc2lvbmtleSlzdi5zZXNzaW9ua2V5LnZhbHVlPWJi LmVuY29kZVRvU3RyaW5nKGQpfWlmKCFoay5zZXNzaW9uS2V5JiZoawogLmhhcmRlbmVybmFtZSl7 aWYoKGQ9d3coamwraGsuaGFyZGVuZXJuYW1lKSkmJmRbMV0ubGVuZ3RoPjQpe3ZhciBhYmY9bmV3 CkFSQzQoaGoua2V5LGhrLmtleXNpemUsMSkuY3J5cHQoZFsxXSk7aWYoIShkPWNuKGFiZikpKXth YW0uZXJyb3Ioc24sc3IpO3NlKDEKKTtyZXR1cm4gZW19aGouaGFyZGVuZXI9ZH19aWYoKGhqLmFj dGlvbj09amh8fGhqLmFjdGlvbj09aXEpJiYhaGsuc2Vzc2lvbktleQomJihoay5kYXRhWzBdPT0n J3x8KGhrLmhhcmRlbmVybmFtZSYmIWhqLmhhcmRlbmVyKSkpe3ZhciBhY2I9aGouYWN0aW9uPT1q aD8KZXY6ZXgsZW89aGsuaGFyZGVuZXJuYW1lP2hrLmhhcmRlbmVybmFtZStoay5yaWRbMF06aGsu bXNnSUQsYWF5PXsnc3UnOmhrLgpzZWxlY3RlZElEfTtpZihoay5jb29raWVzRW5hYmxlZClhYXku cm09KGhrLmZsYWdzJmFjaT8xOjApO2lmKGhrLgpzZWN1cmVSZXBseUFsZylhYXkuc3JhPWhrLnNl Y3VyZVJlcGx5QWxnO2lmKCFoay5ub1VzZXJLZXlOZWVkZWQpe3ZhciBhYm09CnR5cGVvZiBoai5w bGFpbktleT09dXYsbT1hYm0/aGoua2V5OmhqLnBsYWluS2V5LGFhdD0nJztpZihoay5ycGMudHJh ZmZpY0tleSkKe2FhdD0nYXJjNDonO209bmV3IEFSQzQoaGsucnBjLnRyYWZmaWNLZXksMCwxKS5j cnlwdChtKX1hYXQrPWFibT8nc2hhMSc6aGsuCmFsZ25hbWVzLmtleVNlcnZlcktleUhhc2g7YWF0 PSdiYXNlNjQ6JythYXQ7YWF5Lms9YWF0KycsJytiYi5lbmNvZGVUb1N0cmluZygKbSl9ZWwoaGsu cnBjLGVvLGFjYixSUENfRkxBR19ORUVEX1NFU1NJT05fS0VZLGFjbyxhYXkpO3JldHVybiBlbX1y ZXR1cm4gYWJ3KApnYyl9ZnVuY3Rpb24gYWJ3KGFiYyxlaSxtLGFicyl7dmFyIGhqPWh1LGhrPWhq LnBheWxvYWQ7aWYoYWJjIT1nYyl7aWYoaGouZm5zCiAucHJvZ3Jlc3MpaGouZm5zLnByb2dyZXNz KCdjbGVhcicsaGouYXJnKTtpZihhYmM9PWZnJiYhaGsudXNlcktleSloai5mbnMuCmVycm9yKHNu LGhqLmFyZyk7ZWxzZSBoai5mbnMucnBjKGhrLGVpLFJQQ19GTEFHX05FRURfU0VTU0lPTl9LRVks YWJjLGhqLmFyZywKYWJzKTtzZSgxKTtyZXR1cm4gZW19aWYobSl7aWYoaGsuaGFyZGVuZXJuYW1l KWhqLmhhcmRlbmVyPW07ZWxzZSBoay4Kc2Vzc2lvbktleT1tfWlmKCFoay5oYXJkZW5lcm5hbWUp e3ZhciB6dT10eXBlb2YgaGoucGxhaW5LZXkhPXV2LHdvPSh6dT9oai4KcGxhaW5LZXk6aGoua2V5 KTtpZihoay5mbGFncyZhYWQpeGYoaGsudXNlcmtleW5hbWUsaGsuZXhwaXJpZXMudXNlcktleSx3 bywoKApoay5mbGFncyZ5eSk/eGQ6MCl8KGhrLnNlbGVjdGVkSUQ/d3g6MCl8KHp1P3hpOjApLGhr LnNlbGVjdGVkSUQpfWlmKGhrLgpoYXJkZW5lcm5hbWUmJmhqLmhhcmRlbmVyKXtoai51c2VyS2V5 PWhqLmtleTtoai5rZXk9aGouaGFyZGVuZXJ9dmFyIGFicD0oaGsuCmZsYWdzJmFiYil8fChoai5h Y3Rpb24mYWNlKTtpZigoaGoudXNpbmdBcHBsZXQ9YWJwKSl7aWYoaXope2lmKGhrLmZsYWdzJmFi aikKYWF4KGhrKTtlbHNlIGFhbS5lcnJvcih1cixoai5hcmcpO3JldHVybiBlbX1oay5wcm9ncmVz c3JhdGlvPTF9aWYoaGouYWN0aW9uCj09amgmJmFicCYmKGhrLmZsYWdzJmFjaikpYWF4KGhrKTtl bHNlIHNldFRpbWVvdXQoImFjYygpIixoai50aW1lT3V0KTsKcmV0dXJuIGVtfWZ1bmN0aW9uIGFj Yygpe3ZhciBoaj1odSxoaz1oai5wYXlsb2FkO2lmKGhrLmFsZ25hbWVzLmVuY3J5cHRpb24uCmtl eXMhPSdSU0EnJiYoaGouYWN0aW9uPT1qaHx8aGouYWN0aW9uPT1pcSkmJmhrLmRhdGFbMF0hPScn JiYhc2ooKSlyZXR1cm47aWYKKCFoai51c2luZ0FwcGxldCl7aXUoMCk7cmV0dXJuO31hYXA9c2V0 VGltZW91dCgic2UoMCkiLDUwMDApO2lmKCFraShoai4KYXBwbGV0TmFtZSkpe3FyKGhqLmFwcGxl dE5hbWUsJy8nKTtobC5mb3JjZUFwcGxldFJlbG9hZCgxKTtobC5zYXZlKGhrLgpleHBpcmllcy5w cmVmZXJlbmNlcywnLycpO2lmKChoay5mbGFncyZhYmopJiZoai5hY3Rpb249PWpoKXtpZihjb25m aXJtKHNzKAonX29ubGluZU9wdGlvbicpKSl7YWF4KGhrKTtyZXR1cm47fX1lbHNlIGlmKGhqLmFj dGlvbj09amp8fGhqLmFjdGlvbj09amspCmFsZXJ0KHNzKCdfdmVyaWZ5TXNnJykpO2Vsc2V7dmFy IHJyPWhqLmFwcGxldE1zZztpZighcnIpcnI9c3MoJ19hcHBsZXRNc2cnKTsKYWxlcnQocnIpfXNl KDEpfX1mdW5jdGlvbiBzZShyZSl7dmFyIGhqPWh1LGhrPWhqLnBheWxvYWR8fCcnO2lmKHJlKWh1 PTA7CmNsZWFyVGltZW91dChhYXApO2FhcD0wO2Fhdz0wO2hqLmtleT1oay5zZXNzaW9uS2V5PScn O2lmKGhqJiZoai5mbnMmJmhqLmZucy4KZmluYWxpemUpaGouZm5zLmZpbmFsaXplKHJlLGhqLmFy Zyl9ZnVuY3Rpb24gaXUocmUpe2lmKGFhcCl7Y2xlYXJUaW1lb3V0KGFhcAopO2FhcD0wfWFhdz0x O2pkPTE7aWYocmUhPTApe3NlKDEpO3JldHVybjt9dmFyIGhqPWh1LGhrPWhqLnBheWxvYWQ7aWYo aGouZm5zCiAucHJvZ3Jlc3MpaGouZm5zLnByb2dyZXNzKCdzdGFydCcsaGouYXJnKTtzZXRUaW1l b3V0KCJzaCgpIixoai50aW1lT3V0KX12YXIKYWFzLGFhdj0wLGFiaT0xLGFhej0yLGFiYT00O2Z1 bmN0aW9uIGFieChzYSxzZixzcil7dmFyIGhqPWh1LGhrPWhqLnBheWxvYWQsCmJmLGJlLGEsZT1o ay50b2MubGVuZ3RoLGFhbCxhYWs9Jycsc3U9MDtmb3IoYT0wO2E8ZTthKyspe2JlPWhrLnRvY1th XTtpZihiZVsKanVdPT1hY2spe2JmPWJlW2pxXSZhYnE/c2E6c2Y7YWFrPWJmLnN1YnN0cihiZVtp cl1bMF0sYmVbaXJdWzFdKTticmVha319Zm9yKAphPTA7YTxlO2ErKyl7YmU9aGsudG9jW2FdO2Jm PWJlW2pxXSZhYnE/c2E6c2Y7YmY9YmYuc3Vic3RyKGJlW2lyXVswXSxiZVtpcl1bCjFdKTtpZiho ai5hY3Rpb249PWpoJiYoYmVbanFdJmFjZCkpe2FhbD1iZjtzdT1iZVtqdV09PWFjbH19aWYodHlw ZW9mIGFhbD09dXYKKXJldHVybjtoaj1hYXM9eydpbnB1dCc6W2FhbCxhYWtdLCdpc1RleHQnOltz dSxmYWxzZV0sJ2NvbnZlcnQnOlthYXYsYWF2XSwKJ2luZGV4JzotMSwnb2Zmc2V0JzowLCdhY2N1 bSc6W10sJ3RpbWVPdXQnOmhqLnRpbWVPdXQsJ2R1cmF0aW9uJzpoai5kdXJhdGlvbgosJ3BheWxv YWQnOmhrLCd0b3RhbExlbic6MCwnY3VyTGVuJzowLCdwcm9ncmVzc0ZuJzpoai5mbnMucHJvZ3Jl c3MsJ3VzZXJBcmcnCjpoai5hcmcsJ3Byb2dyZXNzU3RhdGUnOjAsJ25hbWVzJzp7J3RpdGxlJzpb J19EaXNwbGF5Q29udicsCidfU3RhdHVzRGlzcGxheUNvbnYnXSwnY29tcGxldGVkJzonX1N0YXR1 c0Rpc3BsYXlDb252UGN0J319O3ZhciBhLGU9aGouaW5wdXQKIC5sZW5ndGgsYWJkLGQ7Zm9yKGE9 MDthPGU7YSsrKXtkPWhqLmlucHV0W2FdO2lmKGhqLmlzVGV4dFthXSloai5jb252ZXJ0W2FdCnw9 YWJpO2FiZD1kLnN1YnN0cigwLDIpO2lmKGFiZD09J1x1MDBmZVx1MDBmZicpaGouY29udmVydFth XXw9YWF6O2Vsc2UgaWYoCmFiZD09J1x1MDBmZlx1MDBmZScpaGouY29udmVydFthXXw9YWJhO2lm KGhqLmNvbnZlcnRbYV0hPWFhdil7aGoudG90YWxMZW4rPWQKIC5sZW5ndGg7aWYoaGouaW5kZXg9 PS0xKWhqLmluZGV4PWF9fWlmKGhqLmluZGV4Pj0wKXNldFRpbWVvdXQoImFiayhhYXMpIixoagog LnRpbWVPdXQpO2Vsc2UgYWJsKGhqKTtyZXR1cm4nJ31mdW5jdGlvbiBhYmsoaGope3ZhciBhYW49 aGouaW5kZXgsY2E9aGouCmlucHV0W2Fhbl0sYWFyPWhqLmNvbnZlcnRbYWFuXSxhbT1oai5vZmZz ZXQscHE9Y2EubGVuZ3RoO2lmKGFtPT0wJiYoYWFyJmFhegp8fGFhciZhYmEpKWFtPTI7dmFyIGJt LGFhbz0nJyxhYWI9bmV3IERhdGUoKS5nZXRUaW1lKCkraGouZHVyYXRpb247ZG97aWYoYWFyCiZh YXopYm09U3RyaW5nLmZyb21DaGFyQ29kZShjYS5jaGFyQ29kZUF0KGFtKyspPDw4fGNhLmNoYXJD b2RlQXQoYW0rKykpO2Vsc2UKaWYoYWFyJmFiYSlibT1TdHJpbmcuZnJvbUNoYXJDb2RlKGNhLmNo YXJDb2RlQXQoYW0rKyl8Y2EuY2hhckNvZGVBdChhbSsrKTw8OAopO2Vsc2UgYm09Y2EuY2hhckF0 KGFtKyspO2lmKGFhciZhYmkpe2lmKGJtPT0nXHgyNicpYm09J1x4MjZhbXA7JztlbHNlIGlmKGJt Cj09J1x4M2MnKWJtPSdceDI2bHQ7JztlbHNlIGlmKGJtPT0nXHgzZScpYm09J1x4MjZndDsnfWFh bys9Ym07aWYoYWFvLmxlbmd0aD4KMTAwKXtoai5hY2N1bVtoai5hY2N1bS5sZW5ndGhdPWFhbzth YW89Jyd9fXdoaWxlKGFtPHBxJiZuZXcgRGF0ZSgpLmdldFRpbWUoKQo8YWFiKTtpZihhYW8pe2hq LmFjY3VtW2hqLmFjY3VtLmxlbmd0aF09YWFvO2Fhbz0nJ31oai5jdXJMZW4rPWFtLWhqLm9mZnNl dDsKdmFyIGFhdT1oai5jdXJMZW4vaGoudG90YWxMZW47c3dpdGNoKGhqLnByb2dyZXNzU3RhdGUp e2Nhc2UgMDppZihhYXU+LjN8fCFoagogLnByb2dyZXNzRm4pe2hqLnByb2dyZXNzU3RhdGU9LTE7 YnJlYWt9aGoucHJvZ3Jlc3NGbignc3RhcnQnLGhqLnVzZXJBcmcsaGouCm5hbWVzKTtoai5wcm9n cmVzc1N0YXRlPTE7Y2FzZSAxOmhqLnByb2dyZXNzRm4oYWF1LGhqLnVzZXJBcmcsaGoubmFtZXMp OwpicmVha31pZihhbTxwcSloai5vZmZzZXQ9YW07ZWxzZXtoai5pbnB1dFthYW5dPWhqLmFjY3Vt LmpvaW4oJycpO2hqLmFjY3VtLgpsZW5ndGg9MDtwcT1oai5pbnB1dC5sZW5ndGg7ZG8gYWFuKys7 d2hpbGUoaGouY29udmVydFthYW5dPT1hYXYmJmFhbjxwcSlpZigKYWFuPT1wcSl7c2V0VGltZW91 dCgiYWJsKGFhcykiLGhqLnRpbWVPdXQpO3JldHVybjt9aGouaW5kZXg9YWFuO2hqLm9mZnNldD0w fQpzZXRUaW1lb3V0KCJhYmsoYWFzKSIsaGoudGltZU91dCl9ZnVuY3Rpb24gYWJsKGhqKXthYXM9 MDt2YXIgYWFsPWhqLmlucHV0WzBdCixhYWs9aGouaW5wdXRbMV07aWYoYWFrKXt2YXIgaGs9aGou cGF5bG9hZCxhPWFhay5pbmRleE9mKCckWzBdJyk7YWFrPXh0KGFhaywKYWFsLChoay5zZWN1cmVO YW1lP2hrLnNlY3VyZU5hbWU6JycpLChoay5sb2dvdXRVUkw/aGsubG9nb3V0VVJMOicnKSk7aWYo YT09Ci0xKWFhaz1hYWsrJ1x4M2Noclx4M2UnK2FhbDthYWw9YWFrfWRvY3VtZW50Lm9wZW4oKTtk b2N1bWVudC53cml0ZShhYWwrCidceDNjIS0tJyk7ZG9jdW1lbnQud3JpdGUoJy0tXHgzZScpO2Rv Y3VtZW50LmNsb3NlKCl9ZnVuY3Rpb24ga2Yod2Upe3ZhciBoaj0KaHUsaGs9aGoucGF5bG9hZDtp Zihoay5mbGFncyZhY2cpc2V0VGltZW91dCgnbG9jYXRpb24uaHJlZiA9ICInK3dlLnJlcGxhY2Uo CiciJywnXFwiJykrJyInLDEwMCk7ZWxzZSB3aW5kb3cub3Blbih3ZSl9eng9cHJvY2Vzc1BheWxv YWQ9YWNhO3ptPQppbml0aWFsaXplUGF5bG9hZD1hYno7emw9b3Blbk9ubGluZT1hYXg7CickU2Vy aWFsOiA0NzAwICQgJFJldmlzaW9uOiAxLjE2ICQnO2Z1bmN0aW9uIHNvKCl7dmFyIGhqPWh1LGhr PWhqLnBheWxvYWQsYSwKZDt0aGlzLnN0YXRlPWhqO3ZhciBkPWhrLnNlZ21lbnRzO3RoaXMuZW5k cz1bZFswXV07Zm9yKGE9MTthPGQubGVuZ3RoO2ErKykKdGhpcy5lbmRzW2FdPXRoaXMuZW5kc1th LTFdK2RbYV07aWYoaGsuc2Vzc2lvbktleSl7dGhpcy5zZWdtZW50PTE7dGhpcy5rZXk9CmhrLnNl c3Npb25LZXk7dGhpcy5kYXRhSW5kZXg9dGhpcy5lbmRzWzBdO2lmKGhrLmZsYWdzJnplKXhjKGhr Lm1zZ0lELGhrLgpleHBpcmllcy5zZXNzaW9uS2V5LGhrLnNlc3Npb25LZXksaGoua2V5LGhrLmtl eXNpemUsKChoay5mbGFncyZ5eSk/eGQ6MCl8KCgKaGsuZmxhZ3MmemYpP2p2OjApfCgoaGsuc2Vs ZWN0ZWRJRCk/d3g6MCksaGsuc2VsZWN0ZWRJRCl9ZWxzZXt0aGlzLnNlZ21lbnQ9MAo7dGhpcy5r ZXk9aGoua2V5O3RoaXMuZGF0YUluZGV4PTB9dmFyIHp1PXR5cGVvZiBoai5wbGFpbktleSE9dXYs d289KHp1P2hqLgpwbGFpbktleTpoai5rZXkpO2lmKGhrLmZsYWdzJmFhZCl4Zihoay51c2Vya2V5 bmFtZSxoay5leHBpcmllcy51c2VyS2V5LHdvLCgoCmhrLmZsYWdzJnl5KT94ZDowKXwoKGhrLnNl bGVjdGVkSUQpP3d4OjApfCgoenUpP3hpOjApLGhrLnNlbGVjdGVkSUQpO3RoaXMuCnVzZXJLZXk9 aGoua2V5O3RoaXMuc2tpcFBsYWluPWhqLnVzaW5nQXBwbGV0PzE6MDt0aGlzLnN0ckluZGV4PTA7 dGhpcy4KY3VyT3V0QXJyYXk9W107dGhpcy5jdXJPdXRMZW49MDt0aGlzLmRhdGFIYXNoPScnO3Ro aXMuZGF0YUhhc2hMZW49MDt0aGlzLgpoYXNoZXI9MDt0aGlzLmRlY3J5cHRvck9iaj0wO3RoaXMu cGxhaW5UZXh0PScnO3RoaXMuY3J5cHRUZXh0PScnO3RoaXMuCnRvdGFsRG9uZT0wO3RoaXMudG90 YWxCeXRlcz0wO3RoaXMucHJvZ3Jlc3NSYXRpbz1oay5wcm9ncmVzc3JhdGlvO3RoaXMuCmN1clN0 YXR1cz1hYWE7dGhpcy5zYWx0PWJiLmRlY29kZVRvU3RyaW5nKGhrLnNhbHQpO2Q9aGsuZGF0YTtm b3IoYT0wO2E8ZC4KbGVuZ3RoLXRoaXMuc2tpcFBsYWluO2ErKyl0aGlzLnRvdGFsQnl0ZXMrPWRb YV0ubGVuZ3RoO3RoaXMuY29tcGxldGVkPQpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByb2dyZXNz UmF0aW8qdGhpcy50b3RhbERvbmUvdGhpcy50b3RhbEJ5dGVzfTt0aGlzLgpnZXREZWNyeXB0ZWRU ZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3J5cHRUZXh0fTt0aGlzLmdldERlY29kZWRUZXh0 PQpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBsYWluVGV4dH07dGhpcy5zdGF0dXM9ZnVuY3Rpb24o KXtyZXR1cm4gdGhpcy4KY3VyU3RhdHVzfTt0aGlzLnJ1bj1mdW5jdGlvbigpe3ZhciBoaj10aGlz LnN0YXRlLGhrPWhqLnBheWxvYWQ7aWYodGhpcy4KY3VyU3RhdHVzIT1hYWEmJnRoaXMuY3VyU3Rh dHVzIT16dilyZXR1cm4gMDt2YXIgemg9ano/MTowO3RoaXMuY3VyU3RhdHVzPXp2Owp2YXIgeWw9 dGhpcy5zZWdtZW50LHlxPXRoaXMuZW5kcyx5bj10aGlzLmRhdGFJbmRleCx5dz1oay5kYXRhW3lu XSx5cj15dy4KbGVuZ3RoLHlwPXRoaXMuY3VyT3V0QXJyYXkseXQ9dGhpcy5jdXJPdXRMZW4seXY9 dGhpcy5kYXRhSGFzaCx5ej10aGlzLgpkYXRhSGFzaExlbix5eD10aGlzLmhhc2hlcix5bT10aGlz LnN0ckluZGV4LHpiPXRoaXMuZGVjcnlwdG9yT2JqLGFhYz1iYix5bz0KbmV3IEFycmF5KDMpLHph PXlsPHlxLmxlbmd0aC0xLHhiPScnLGphPTAsYWFiPW5ldyBEYXRlKCkuZ2V0VGltZSgpK2hqLgpk dXJhdGlvbixibSxhLGUseXMseXU7ZG97aWYoeW09PTApe2lmKHlsPT0wJiZoay5hbGduYW1lcy5l bmNyeXB0aW9uLmtleXM9PQonUlNBJyl7dmFyIGljPWhqLmFwcGxldDt3aGlsZSh5bjx5cVswXSl7 Ym09aWMuZGVjcnlwdFJTQShoay5yaWRbMF0saGsuCmtleW5hbWUsaGsuZGF0YVt5bl0sdGhpcy5r ZXkpO2lmKGJtKWJtKz0nJztpZihibSlicmVhazt5bisrfWlmKHluPT15cVswXSkKcmV0dXJuIGJ0 KHRoaXMsc24pO3RoaXMua2V5PWJtO2lmKGhrLmZsYWdzJnplKXhjKGhrLm1zZ0lELGhrLmV4cGly aWVzLgpzZXNzaW9uS2V5LGJtLHRoaXMudXNlcktleSxoay5rZXlzaXplLCgoaGsuZmxhZ3MmeXkp P3hkOjApfCgoaGsuZmxhZ3MmemYpP2p2CjowKXwoKGhrLnNlbGVjdGVkSUQpP3d4OjApLGhrLnNl bGVjdGVkSUQpO3luPXlxW3lsKytdfXphPXlsPHlxLmxlbmd0aC0xO3l3PQpoay5kYXRhW3luXTt5 cj15dy5sZW5ndGg7eXBbeXQ9MF09Jyc7eXY9Jyc7eXg9dGhpcy5oYXNoZXI9cXooeWw9PTAsaGsu CmFsZ25hbWVzLnZlcmlmaWNhdGlvbik7eXo9eXgubGVuZ3RoKCk7aWYoemEpe2lmKHlsPT0xKXRo aXMua2V5PW5ldyBTSEExKHRoaXMKIC5rZXkpLmZpbmFsaXplKCk7emI9dGhpcy5kZWNyeXB0b3JP Ymo9cXgobmV3IFNIQTEodGhpcy5rZXkrdGhpcy5zYWx0KS4KZmluYWxpemUoKSx5bD09MCxoay5h bGduYW1lcy5lbmNyeXB0aW9uLGhrLmFsZ3BhcmFtcy5lbmNyeXB0aW9uKX1lbHNlIHpiPQp0aGlz LmRlY3J5cHRvck9iaj0wfXlvPWFhYy5kZWNvZGVUb0FycmF5KHl3LnN1YnN0cih5bSw3MikseW8p O2lmKHphKXlvPXpiLgpkZWNyeXB0KHlvLHlyLXltPD03Mik7eXM9eW8ubGVuZ3RoO3l1PTA7aWYo KGU9eXoteXYubGVuZ3RoKT4wKXtpZihlPnlzKWU9eXM7CmZvcihhPTA7YTxlO2ErKyl5dis9U3Ry aW5nLmZyb21DaGFyQ29kZSh5b1thXSk7eXU9YX1pZih5dTx5cyl7eXguZGlnZXN0KHlvLAp5dSx5 cyk7Ym09Jyc7Zm9yKGE9eXU7YTx5czthKyspYm0rPVN0cmluZy5mcm9tQ2hhckNvZGUoeW9bYV0p O2lmKHlwW3l0XS4KbGVuZ3RoPj0xMDApeXBbKyt5dF09Jyc7eXBbeXRdKz1ibX1pZih5ci15bT43 Mil7amErPTcyK3poO3ltKz03Mit6aH1lbHNle2phCis9eXIteW07eW09eXJ9aWYoeW0+PXlyKXtp Zih5diE9eXguZmluYWxpemUoKSl7aWYoeWw+MClyZXR1cm4gYnQodGhpcyxhYWUpfQplbHNle3lw Lmxlbmd0aD15dCsxO3N3aXRjaCh5bCl7Y2FzZSAwOnhiPXlwLmpvaW4oJycpO2lmKGhrLmZsYWdz JnplKXhjKGhrLgptc2dJRCxoay5leHBpcmllcy5zZXNzaW9uS2V5LHhiLHRoaXMudXNlcktleSxo ay5rZXlzaXplLCgoaGsuZmxhZ3MmeXkpP3hkOjApCnwoKGhrLmZsYWdzJnpmKT9qdjowKXwoKGhr LnNlbGVjdGVkSUQpP3d4OjApLGhrLnNlbGVjdGVkSUQpO2JyZWFrO2Nhc2UgMToKdGhpcy5jcnlw dFRleHQrPXlwLmpvaW4oJycpO2JyZWFrO2Nhc2UgMjp0aGlzLnBsYWluVGV4dCs9eXAuam9pbign Jyk7YnJlYWt9fQppZigrK3luPT15cVt5bF0pe2lmKCsreWw9PXlxLmxlbmd0aC10aGlzLnNraXBQ bGFpbilicmVhaztpZih5bD09MSl7aWYoeGI9PScnCilyZXR1cm4gYnQodGhpcyxzbik7dGhpcy5r ZXk9eGJ9fXltPTB9fXdoaWxlKHlsPT0wfHxuZXcgRGF0ZSgpLmdldFRpbWUoKTxhYWIKKTt0aGlz LnNlZ21lbnQ9eWw7dGhpcy5jdXJPdXRMZW49eXQ7dGhpcy5zdHJJbmRleD15bTt0aGlzLmRhdGFJ bmRleD15bjt0aGlzLgpkYXRhSGFzaD15djt0aGlzLmRhdGFIYXNoTGVuPXl6O3RoaXMudG90YWxE b25lKz1qYTtyZXR1cm4gdGhpcy5zZWdtZW50PT15cS4KbGVuZ3RoLXRoaXMuc2tpcFBsYWluP2J0 KHRoaXMscngpOjF9O2Z1bmN0aW9uIGJ0KGh6LHpnKXtoei5jdXJTdGF0dXM9emc7aWYoCnpnIT1y eCloei5jcnlwdFRleHQ9aHoucGxhaW5UZXh0PScnO2h6LmlucHV0cz0wO2h6LmN1ck91dEFycmF5 PTA7aHouCmRlY3J5cHRvck9iaj0wO2h6LmxvY2FsQ1JDPTA7aHoubG9jYWxEZWNvZGVyPTA7cmV0 dXJuIDB9fQonJFNlcmlhbDogMTA0OCAkICRSZXZpc2lvbjogMS41ICQnO2Z1bmN0aW9uIGFqdCho aixieSl7dmFyIGt2LGJtPWhqLmNodW5rczsKd2hpbGUoYnkubGVuZ3RoPihrdj1oai5jaHVua1Np emUtaGoudGFpbExlbikpe2JtW2hqLmN1ckluZGV4KytdKz1ieS5zdWJzdHIoMAosa3YpO2JtW2hq LmN1ckluZGV4XT0nJztoai50YWlsTGVuPTA7Ynk9Ynkuc3Vic3RyKGt2KX1ibVtoai5jdXJJbmRl eF0rPWJ5O2hqCiAudGFpbExlbis9YnkubGVuZ3RofWZ1bmN0aW9uIGFrYyhoaixidSxsZW5ndGgp e3ZhciBhYW49YnU+PmhqLmJpdHMsY2M9JycsCmFqbz1oai5jaHVua1NpemU7YnU9YnUmKGFqby0x KTt3aGlsZShidStsZW5ndGg+YWpvKXtjYys9aGouY2h1bmtzW2FhbisrXS4Kc3Vic3RyKGJ1KTts ZW5ndGgtPWFqby1idTtidT0wfXJldHVybiBjYytoai5jaHVua3NbYWFuXS5zdWJzdHIoYnUsbGVu Z3RoKX0KZnVuY3Rpb24gYWpzKGFqdyxhanIpe3ZhciBhLHlzLGU9YWp3Lmxlbmd0aCxhanY9bmV3 IEFycmF5KGUpO2ZvcihhPTA7YTxlO2ErKwopYWp2W2FdPTA7dmFyIGFqcT0wO2ZvcihhPTA7YTxl O2ErKylpZigoeXM9YWp3W2FdKSl7YWp2W3lzXSsrO2lmKHlzPmFqcSlhanE9CnlzfWFqci5sZW5n dGg9YWpxKzE7Zm9yKGE9MDthPGFqcSsxO2ErKylpZih0eXBlb2YgYWpyW2FdPT1icSlhanJbYV0u bGVuZ3RoPTAKO2Vsc2UgYWpyW2FdPVtdO3ZhciBrbD0wLGFrZj1uZXcgQXJyYXkoYWpxKzEpO2Zv cihhPTE7YTxhanErMTthKyspYWtmW2FdPWtsPQooa2wrYWp2W2EtMV0pPDwxO2ZvcihhPTA7YTxl O2ErKylpZigoeXM9YWp3W2FdKSlhanJbeXNdW2FrZlt5c10rK109YX12YXIgYWp5CjtmdW5jdGlv biBzayhiZixha2QsYWJ5LGFrZyxhYW0sc3Ipe3ZhciBhO2lmKChhPWJmLmNoYXJDb2RlQXQoMCkp IT0xMjB8fChhKgoyNTYrYmYuY2hhckNvZGVBdCgxKSklMzEpYWFtLmNvbXBsZXRpb24oKTt2YXIg aGo9eydkYXRhJzpiZiwnZmluYWxMZW4nOmFrZCwKJ2R1cmF0aW9uJzphYnksJ3JhdGlvJzpha2cs J2Zucyc6YWFtLCdhcmcnOnNyLCdiaXRzJzo5LCd0YWlsTGVuJzowLAonY3VySW5kZXgnOjAsJ2J5 dGVJbmRleCc6MiwnYml0Q291bnQnOjAsJ2N1ckJpdHMnOjAsJ2JvcmRlcic6WzE2LDE3LDE4LDAs OCw3Ciw5LDYsMTAsNSwxMSw0LDEyLDMsMTMsMiwxNCwxLDE1XSwnbGl0ZXJhbENvZGVCb29rJzpb XSwnZGlzdGFuY2VDb2RlQm9vayc6W10KLCdjb21wcmVzc2lvblR5cGUnOi0xLCdmaW5hbEJsb2Nr JzowLCdkZWxheSc6aXM/MTI1OjF9O2hqLmNodW5rU2l6ZT0xPDxoai4KYml0cztoai5jaHVua3M9 bmV3IEFycmF5KChha2QraGouY2h1bmtTaXplLTEpPj5oai5iaXRzKTtoai5jaHVua3NbMF09Jyc7 YWtiKAphank9aGopfWZ1bmN0aW9uIGFrYihoail7aWYoaGouY29tcHJlc3Npb25UeXBlPT0tMSYm aGouZmluYWxCbG9jayl7dmFyIGVtPWhqCiAuZm5zLmNvbXBsZXRpb24sZD1oai5jaHVua3Muam9p bignJyk7YWp5PWhqPTA7ZW0oZCk7cmV0dXJuO312YXIgeHcsYm0sYWp1LApha2UsYSxjLGJvLGUs YmcsYWprPWhqLmJpdENvdW50LGFqbD1oai5jdXJCaXRzLGFqbj1oai5ieXRlSW5kZXgsYWpwPWhq Lgpjb21wcmVzc2lvblR5cGUsYmY9aGouZGF0YSxhano9aGoubGl0ZXJhbENvZGVCb29rLGFqeD1o ai5kaXN0YW5jZUNvZGVCb29rLApham89aGouY2h1bmtTaXplLGFhYj1oai5mbnMucHJvZ3Jlc3M/ bmV3IERhdGUoKS5nZXRUaW1lKCkraGouZHVyYXRpb246bmV3CkRhdGUoYngpO2Rve2lmKGFqcD09 LTEpe3ZhciBha2E9W10sYWptPVtdO2lmKCFhamspe2FqbD1iZi5jaGFyQ29kZUF0KGFqbisrKTsK YWprPTh9aGouZmluYWxCbG9jaz1hamwmMTthamw+Pj0xO2Fqay0tO2lmKGFqazwyKXthamx8PWJm LmNoYXJDb2RlQXQoYWpuKyspCjw8YWprO2Fqays9OH1hanA9YWpsJjM7YWpsPj49MjthamstPTI7 c3dpdGNoKGFqcCl7Y2FzZSAwOmE9YmYuY2hhckNvZGVBdChham4KKStiZi5jaGFyQ29kZUF0KGFq bisxKTw8ODthanQoaGosYmYuc3Vic3RyKGFqbis0LGEpKTtham4rPWErNDthams9YWpsPTA7CmJy ZWFrO2Nhc2UgMTpham0ubGVuZ3RoPTI4ODthPTA7d2hpbGUoYTwxNDQpYWptW2ErK109ODt3aGls ZShhPDI1Nilham1bYSsrXT0KOTt3aGlsZShhPDI4MClham1bYSsrXT03O3doaWxlKGE8Mjg4KWFq bVthKytdPTg7YWpzKGFqbSxhanopO2FqbS5sZW5ndGg9MzA7CmZvcihhPTA7YTwzMDthKyspYWpt W2FdPTU7YWpzKGFqbSxhangpO2JyZWFrO2Nhc2UgMjppZihhams8NSl7YWpsfD1iZi4KY2hhckNv ZGVBdChham4rKyk8PGFqazthamsrPTh9YWp1PShhamwmMzEpKzI1Nzthamw+Pj01O2Fqay09NTtp Zihhams8NSl7YWpsCnw9YmYuY2hhckNvZGVBdChham4rKyk8PGFqazthamsrPTh9YWtlPShhamwm MzEpKzE7YWpsPj49NTthamstPTU7aWYoYWprPDQpewphamx8PWJmLmNoYXJDb2RlQXQoYWpuKysp PDxhams7YWprKz04fWU9KGFqbCYxNSkrNDthamw+Pj00O2Fqay09NDtham0ubGVuZ3RoCj0xOTtm b3IoYT0wO2E8MTk7YSsrKWFqbVthXT0wO2JvPWhqLmJvcmRlcjtmb3IoYT0wO2E8ZTthKyspe2lm KGFqazwzKXthamx8PQpiZi5jaGFyQ29kZUF0KGFqbisrKTw8YWprO2Fqays9OH1ham1bYm9bYV1d PWFqbCY3O2FqbD4+PTM7YWprLT0zfWFqcyhham0sYWthCik7YWptLmxlbmd0aD1lPWFqdStha2U7 YT0wO3doaWxlKGE8ZSl7Ym09Yz0wO2Rve2JnPWFrYVsrK2NdO2lmKCFhamspe2FqbD1iZi4KY2hh ckNvZGVBdChham4rKyk7YWprPTh9Ym09KGJtPDwxKXwoYWpsJjEpO2FqbD4+PTE7YWprLT0xfXdo aWxlKHR5cGVvZiBiZ1tibQpdPT11dik7Ym09YmdbYm1dO2lmKGJtPDE2KWFqbVthKytdPWJtO2Vs c2V7eHc9Ym09PTE4Pzc6Ym0tMTQ7d2hpbGUoYWprPHh3KXsKYWpsfD1iZi5jaGFyQ29kZUF0KGFq bisrKTw8YWprO2Fqays9OH1jPWErKGFqbCYoKDE8PHh3KS0xKSkrKGJtPT0xOD8xMTozKTsKYWps Pj49eHc7YWprLT14dztibz1ibT09MTY/YWptW2EtMV06MDt3aGlsZShhPGMpYWptW2ErK109Ym99 fWFqcyhham0uc2xpY2UoMAosYWp1KSxhanopO2Fqcyhham0uc2xpY2UoYWp1KSxhangpO2JyZWFr fX1pZihhanAhPTApe3doaWxlKG5ldyBEYXRlKCkuCmdldFRpbWUoKTxhYWIpe2JtPWM9MDtkb3ti Zz1hanpbKytjXTtpZighYWprKXthamw9YmYuY2hhckNvZGVBdChham4rKyk7YWprPTgKfWJtPShi bTw8MSl8KGFqbCYxKTthamw+Pj0xO2Fqay09MX13aGlsZSh0eXBlb2YgYmdbYm1dPT11dik7Ym09 YmdbYm1dO2lmKGJtPAoyNTYpe2FqdChoaixTdHJpbmcuZnJvbUNoYXJDb2RlKGJtKSk7Y29udGlu dWV9aWYoYm09PTI1Nil7YWpwPS0xO2JyZWFrfWlmKGJtCjwyNjUpYT1ibS0yNTQ7ZWxzZSBpZihi bT09Mjg1KWE9MjU4O2Vsc2V7Ym0tPTI2NTt4dz0oYm0+PjIpKzE7Ym89MTw8eHc7d2hpbGUKKGFq azx4dyl7YWpsfD1iZi5jaGFyQ29kZUF0KGFqbisrKTw8YWprO2Fqays9OH1hPShibzw8MikrMyso Ym0mMykqYm8rKGFqbCYoCmJvLTEpKTthamw+Pj14dzthamstPXh3fWJtPWM9MDtkb3tiZz1hanhb KytjXTtpZighYWprKXthamw9YmYuY2hhckNvZGVBdCgKYWpuKyspO2Fqaz04fWJtPShibTw8MSl8 KGFqbCYxKTthamw+Pj0xO2Fqay09MX13aGlsZSh0eXBlb2YgYmdbYm1dPT11dik7Ym09CmJnW2Jt XTtpZihibTw0KWJvPWJtKzE7ZWxzZXt4dz0oYm0+PjEpLTE7Ym89MTw8eHc7d2hpbGUoYWprPHh3 KXthamx8PWJmLgpjaGFyQ29kZUF0KGFqbisrKTw8YWprO2Fqays9OH1jPShibzw8MSkrMTtpZigo eHcrMSkqMiE9Ym0pYys9Ym87Ym89YysoYWpsJigKYm8tMSkpO2FqbD4+PXh3O2Fqay09eHd9ZT1o ai5jdXJJbmRleCpham8raGoudGFpbExlbjtpZihhPmJvKWZvcihjPTA7YzxhO2MrKwopYWp0KGhq LGFrYyhoaixlKystYm8sMSkpO2Vsc2UgYWp0KGhqLGFrYyhoaixlLWJvLGEpKX19fXdoaWxlKCFo ai5maW5hbEJsb2NrCiYmbmV3IERhdGUoKS5nZXRUaW1lKCk8YWFiKTtpZihoai5mbnMucHJvZ3Jl c3MpaGouZm5zLnByb2dyZXNzKGhqLnJhdGlvKygxCi1oai5yYXRpbykqKGhqLmN1ckluZGV4KmFq bytoai50YWlsTGVuKS9oai5maW5hbExlbixoai5hcmcpO2hqLmJpdENvdW50PWFqazsKaGouY3Vy Qml0cz1hamw7aGouYnl0ZUluZGV4PWFqbjtoai5jb21wcmVzc2lvblR5cGU9YWpwO3NldFRpbWVv dXQoImFrYihhankpIgosaGouZGVsYXkpfQonJFNlcmlhbDogMTY5OSAkICRSZXZpc2lvbjogMS44 ICQnO2Z1bmN0aW9uIHNqKCl7dmFyIGhqPWh1LGhrPWhqLnBheWxvYWQsaHEsCnJ6PTAsc3RhdHVz PXJ4O2lmKGhrLm1heEJhZFBhc3N3b3Jkcz4wJiYoaHE9a2QocWEpKSYmKHJ6PStocSk+PWhrLgpt YXhCYWRQYXNzd29yZHMpc3RhdHVzPXNnO2lmKHN0YXR1cz09cngpe2hqLm9wZW5lck9iaj1uZXcg c28oKTtpZighaGouCm9wZW5lck9iai5ydW4oKSYmKHN0YXR1cz1oai5vcGVuZXJPYmouc3RhdHVz KCkpIT1yeCYmaGsubWF4QmFkUGFzc3dvcmRzPjApewpqZihxYSwrK3J6LGhrLmV4cGlyaWVzLmJh ZFBhc3N3b3JkQ291bnQsJy8nKTtpZihzdGF0dXM9PXNuJiZyej49aGsuCm1heEJhZFBhc3N3b3Jk cylzdGF0dXM9c2d9fWlmKHN0YXR1cyE9cngpe2hqLmZucy5lcnJvcihzdGF0dXMsaGouYXJnKTtz ZSgxKTsKcmV0dXJuIDB9cmV0dXJuIDF9ZnVuY3Rpb24gc2goKXt2YXIgaGo9aHUsaGs9aGoucGF5 bG9hZCxydz1oai5vcGVuZXJPYmoscnk7CmlmKCFydyl7aWYoIShyeT1zaigpKSlyZXR1cm47cnc9 aGoub3BlbmVyT2JqfWVsc2Ugcnk9cncucnVuKCk7aWYocnkpe2lmKGhqLgpmbnMucHJvZ3Jlc3Mp aGouZm5zLnByb2dyZXNzKHJ3LmNvbXBsZXRlZCgpLGhqLmFyZyk7c2V0VGltZW91dCgic2goKSIs aGouCnRpbWVPdXQpO3JldHVybjt9dmFyIHN0YXR1cz1ydy5zdGF0dXMoKTtpZihzdGF0dXMhPXJ4 KXtpZihoai5hY3Rpb249PWlxKWhqLgphcHBsZXQuZW5kU2F2ZUZpbGUoKTtoai5mbnMuZXJyb3Io c3RhdHVzLGhqLmFyZyk7c2UoMSk7cmV0dXJuO31pZihoay4KaGFyZGVuZXJuYW1lJiZoai5oYXJk ZW5lcilzcChqbCtoay5oYXJkZW5lcm5hbWUsaGsuZXhwaXJpZXMuaGFyZGVuZXIsaGouCmhhcmRl bmVyLGhqLnVzZXJLZXksaGsua2V5c2l6ZSxqdik7aWYoaGsubWF4QmFkUGFzc3dvcmRzPjApcXIo cWEsJy8nKTt2YXIgc2EKLHNmLHFuO2hqLmNyeXB0RG9jcz1oai5vcGVuZXJPYmouZ2V0RGVjcnlw dGVkVGV4dCgpO2hqLnBsYWluRG9jcz1oai4Kb3BlbmVyT2JqLmdldERlY29kZWRUZXh0KCk7aGou b3BlbmVyT2JqPTA7aWYoaGsuZmxhZ3Mmc2wpc2soaGouY3J5cHREb2NzLGhrLgp0b2NbMF1baXJd WzFdLGhqLmR1cmF0aW9uLGhrLnByb2dyZXNzcmF0aW8seydwcm9ncmVzcyc6aGouZm5zLnByb2dy ZXNzLAonY29tcGxldGlvbic6c2J9LGhqLmFyZyk7ZWxzZSBzYihoai5jcnlwdERvY3MpfWZ1bmN0 aW9uIHNiKHNhKXt2YXIgaGo9aHUsaGs9CmhqLnBheWxvYWQ7aGouY3J5cHREb2NzPXNhO2lmKGhr LmZsYWdzJnNtKXNrKGhqLnBsYWluRG9jcyxoay50b2NbaGsudG9jLgpsZW5ndGgtMV1baXJdWzFd LGhqLmR1cmF0aW9uLGhrLnByb2dyZXNzcmF0aW8seydwcm9ncmVzcyc6aGouZm5zLnByb2dyZXNz LAonY29tcGxldGlvbic6c2R9LGhqLmFyZyk7ZWxzZSBzZChoai5wbGFpbkRvY3MpfWZ1bmN0aW9u IHNkKHNmKXtodS5wbGFpbkRvY3M9CnNmO3NpKCl9ZnVuY3Rpb24gc2koKXt2YXIgaGo9aHU7aWYo aGouZm5zLnByb2dyZXNzKXtoai5mbnMucHJvZ3Jlc3MoJ2ZpbmlzaCcKLGhqLmFyZyk7c2V0VGlt ZW91dCgic2MoKSIsaGoudGltZU91dCl9ZWxzZSBzYygpfWZ1bmN0aW9uIHNjKCl7dmFyIGhqPWh1 LHFuPQpoai5mbnMuY29tcGxldGlvbihoai5jcnlwdERvY3MsaGoucGxhaW5Eb2NzLGhqLmFyZyk7 aWYocW49PScnKXJldHVybjtpZihxbiYmCmhqLmZucy5zYXZlZCloai5mbnMuc2F2ZWQocW4saGou cGF5bG9hZC50b2MubGVuZ3RoKTtlbHNlIGlmKGhqLmZucy5wcm9ncmVzcykKaGouZm5zLnByb2dy ZXNzKCdjbGVhcicsaGouYXJnKTtzZSgxKX0KJyRTZXJpYWw6IDUwMjkgJCAkUmV2aXNpb246IDEu MjMgJCc7ZnVuY3Rpb24gc3EoZHcsdWksdHMsdGope3ZhciBiZTtpZihkdyYmCmRvY3VtZW50Lmdl dEVsZW1lbnRCeUlkJiYoYmU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZHcpKSliZS5pbm5lckhU TUw9dWk7CmVsc2UgaWYodHMpe3NlbGYuc3RhdHVzPXRzO3JldHVybiBiZ31lbHNlIGlmKHRqKWFs ZXJ0KHRqKTtyZXR1cm4gZW19ZnVuY3Rpb24KdHkocW4sdWIpe2lmKHViPT0xKXt2YXIgZD1zcygn X1NhdmVkMVBhdGgnLCcnLHFuKTtzcSgncHJvZ3Jlc3MxJywKJ1x4M2NzcGFuIGNsYXNzPXByb2dy ZXNzXHgzZScrZCsnXHgzYy9zcGFuXHgzZScsJycsZCk7c3EoJ3Byb2dyZXNzMicsJycpfQplbHNl e3ZhciBjYz1xbi5sYXN0SW5kZXhPZignXFwnKSxtaT1xbi5sYXN0SW5kZXhPZignLycpLGJ3PXFu Lmxhc3RJbmRleE9mKAonOicpO2lmKG1pPmNjKWNjPW1pO2lmKGJ3PmNjKWNjPWJ3O3ZhciBoeT1x bi5zdWJzdHIoMCxjYyksdWE9cW4uc3Vic3RyKGNjKzEpCixkPXNzKCdfU2F2ZWRuUGF0aCcsJycs aHkpLGJnPXNzKCdfU2F2ZWRuRmlsZScsJycsdWEpO3NxKCdwcm9ncmVzczEnLAonXHgzY3NwYW4g Y2xhc3M9cHJvZ3Jlc3NceDNlJytkKydceDNjL3NwYW5ceDNlJywnJyxkKydcbicrYmcpO3NxKCdw cm9ncmVzczInCiwnXHgzY3NwYW4gY2xhc3M9cHJvZ3Jlc3NceDNlJytiZysnXHgzYy9zcGFuXHgz ZScsJycpfX1mdW5jdGlvbiB1cShyZSxzcil7dHQKKHJlLHNyLHsndGl0bGUnOlsnX1ByZXBhcmlu ZycsJ19TdGF0dXNQcmVwYXJpbmcnXSwnY29tcGxldGVkJzoKJ19TdGF0dXNQcmVwUGN0J30pfWZ1 bmN0aW9uIHR0KHJlLHNyLHF1KXtpZih0eXBlb2YgcmU9PWJxKXJlPXJlLnRvU3RyaW5nKCk7Cmlm KCFzcilzcj11dTtpZihyZT09J2NsZWFyJyl7c3EoJ3Byb2dyZXNzMScsJycsc3MoJ19TdGF0dXNE b25lJykpO3NxKAoncHJvZ3Jlc3MyJywnJyk7c3EoJ3Bhc3NNc2cnLCcmbmJzcDsnKTtyZXR1cm47 fWlmKHJlPT0ndG9vbHMnKXt2YXIgZD1zcygKJ19Ub29sc0xvYWRpbmcnKTtzcSgncHJvZ3Jlc3Mx JywnXHgzY3NwYW4gY2xhc3M9cHJvZ3Jlc3NceDNlJytkKwonXHgzYy9zcGFuXHgzZScsZCk7cmV0 dXJuO31pZighcXUpcXU9eyd0aXRsZSc6WydfRGVjUHJvZ1RpdGxlJywKJ19TdGF0dXNEZWNJbml0 J10sJ2NvbXBsZXRlZCc6J19TdGF0dXNEZWNQY3QnfTtpZihyZT09J3N0YXJ0Jyl7aWYoc3EoCidw cm9ncmVzczEnLCdceDNjc3BhbiBjbGFzcz1wcm9ncmVzc1x4M2UnK3NzKHF1LnRpdGxlWzBdKSsn XHgzYy9zcGFuXHgzZScsc3MKKHF1LnRpdGxlWzFdKSwnJykpcmV0dXJuO3NxKCdwYXNzTXNnJywn Jm5ic3A7Jyk7cmU9MH1lbHNlIGlmKHJlPT0nZmluaXNoJyl7CmlmKGRvY3VtZW50LmxheWVycyl7 c2VsZi5zdGF0dXM9c3MoJ19TdGF0dXNEb25lJyk7cmV0dXJuO31yZT0xMDB9ZWxzZXtyZT0KTWF0 aC5mbG9vcihyZSoxMDApfXZhciB0Yz0nIzQwNDBGRicsdGs9JyM0MDQwNDAnO2lmKHR5cGVvZiBz cj09Y2wpdGM9c3I7ZWxzZQppZih0eXBlb2Ygc3I9PWJxJiZ0eXBlb2Ygc3IucHJvZ3Jlc3NCYXI9 PWJxKXtpZihzci5wcm9ncmVzc0Jhci5iZ0NvbG9yKXRjPXNyCiAucHJvZ3Jlc3NCYXIuYmdDb2xv cjtpZihzci5wcm9ncmVzc0Jhci5ib3JkZXJDb2xvcil0az1zci5wcm9ncmVzc0Jhci4KYm9yZGVy Q29sb3J9dmFyIHN5PQonXHgzY3RhYmxlIGFsaWduPWNlbnRlciBjZWxscGFkZGluZz0wIGNlbGxz cGFjaW5nPTAgYm9yZGVyPTEgJysKJ2JvcmRlcmNvbG9yPSInK3RrKyciIHdpZHRoPSI4NSUiXHgz ZScrJ1x4M2N0clx4M2UnO2lmKHJlPjApc3krPQonXHgzY3RkIGJnY29sb3I9IicrdGMrJyIgd2lk dGg9IicrcmUrJyUiXHgzZSZuYnNwO1x4M2MvdGRceDNlJztpZihyZTwxMDApc3kKKz0nXHgzY3Rk XHgzZSZuYnNwO1x4M2MvdGRceDNlJztzeSs9J1x4M2MvdHJceDNlXHgzYy90YWJsZVx4M2UnO3Nx KAoncHJvZ3Jlc3MyJyxzeSxzcyhxdS5jb21wbGV0ZWQsJycscmUpKX1mdW5jdGlvbiB0eChzdGF0 dXMsc3Ipe2lmKHN0YXR1cz09c2cpCnt0aCgwLGVtKTthbGVydChzcygnX0Vycm9yQmFkUHdkcycp KX1lbHNlIGlmKHN0YXR1cz09dXIpe3RoKDAsZW0pO2FsZXJ0KHNzKAonX1BsYXRmb3JtSW5jb21w YXRpYmxlJykpfWVsc2V7dmFyIGQ9c3Moc3RhdHVzPT11cz8nX0Vycm9yUHdkQ2hhbmdlZCc6Cidf RXJyb3JCYWRQd2QnKTtzcSgncGFzc01zZycsJ1x4M2NzcGFuIGNsYXNzPWVycm9yXHgzZScrZCsn XHgzYy9zcGFuXHgzZScsJycKLGQpfXNxKCdwcm9ncmVzczEnLCcnLHNzKCdfU3RhdHVzRG9uZScp KTtzcSgncHJvZ3Jlc3MyJywnJyk7dHEoMCwna2V5MScpfQpmdW5jdGlvbiB0aChzdix0ZSl7dmFy IGVtPWRvY3VtZW50LmZvcm1zW3N2XS5lbGVtZW50cyxhLGU9ZW0ubGVuZ3RoO3RlPSF0ZTsKZm9y KGE9MDthPGU7YSsrKWlmKGVtW2FdLnR5cGU9PSdzdWJtaXQnfHxlbVthXS50eXBlPT0nYnV0dG9u JyllbVthXS5kaXNhYmxlZAo9dGV9dmFyIHRuPWZhbHNlO2Z1bmN0aW9uIHRyKHVjKXt0bj11Y31m dW5jdGlvbiB1bShzeCx0aSxzdHlsZSl7dHIoZW0pO2lmKCEKdGkpdGk9J19ibGFuayc7cmV0dXJu IHdpbmRvdy5vcGVuKHN4LHRpLHN0eWxlKX1mdW5jdGlvbiB0cShzdixzdyl7aWYodG4mJgpkb2N1 bWVudC5mb3Jtc1tzdl0mJmRvY3VtZW50LmZvcm1zW3N2XVtzd10mJmRvY3VtZW50LmZvcm1zW3N2 XVtzd10uZm9jdXMpe2lmCihkb2N1bWVudC5mb3Jtc1tzdl1bc3ddLnR5cGU9PSdoaWRkZW4nKXJl dHVybjtkb2N1bWVudC5mb3Jtc1tzdl1bc3ddLmZvY3VzKCkKO2lmKGRvY3VtZW50LmZvcm1zW3N2 XVtzd10uc2VsZWN0KWRvY3VtZW50LmZvcm1zW3N2XVtzd10uc2VsZWN0KCl9fWZ1bmN0aW9uCnVo KGR3KXtpZighZHcpcmV0dXJuIDA7aWYoZHcubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09J3RhYmxl Jyl7dmFyIGE7Zm9yKGE9MDsKYTxkdy5jaGlsZE5vZGVzLmxlbmd0aDthKyspaWYoZHcuY2hpbGRO b2Rlc1thXS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT0KJ3Rib2R5Jyl7ZHc9ZHcuY2hpbGROb2Rl c1thXTticmVha319cmV0dXJuIGR3LmNsaWVudFdpZHRofHxkdy5zY3JvbGxXaWR0aHx8MAp9ZnVu Y3Rpb24gdWcoZHcpe2lmKCFkdylyZXR1cm4gMDtyZXR1cm4gZHcuY2xpZW50SGVpZ2h0fHxkdy5z Y3JvbGxIZWlnaHR8fDB9CnRtPXt9O2Z1bmN0aW9uIGtlKGt5KXtpZighZG9jdW1lbnQuZ2V0RWxl bWVudEJ5SWQpcmV0dXJuJyc7cmV0dXJuIGRvY3VtZW50LgpnZXRFbGVtZW50QnlJZChreSl8fHRt W2t5XX1mdW5jdGlvbiB0bChkdyl7aWYodHlwZW9mIGR3PT1jbClkdz0KZ2V0RWxlbWVudEJ5SWQo ZHcpO2lmKCFkdylyZXR1cm47dmFyIGQ7dHJ5e3doaWxlKChkPWR3LmZpcnN0Q2hpbGQpKWR3Lgpy ZW1vdmVDaGlsZChkKX1jYXRjaCh1dCl7ZHcuaW5uZXJIVE1MPScnfXJldHVybiBkd31mdW5jdGlv biB0YihkdyxzdSx0eil7ZHc9CnRsKGR3KTtpZighZHcpcmV0dXJuO3ZhciB0cD1kdztpZih0eil7 ZHc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO2R3LgpzZXRBdHRyaWJ1dGUoJ2NsYXNz JywnZXJyb3InKTt0cC5hcHBlbmRDaGlsZChkdyl9aWYodHlwZW9mIHN1PT11dilzdT0nJztpZigK c3U9PScmbmJzcDsnfHxzdS5pbmRleE9mKCdceDNjYSAnKSE9LTEpZHcuaW5uZXJIVE1MPXN1O2Vs c2UgZHcuYXBwZW5kQ2hpbGQoCmRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN1KSk7cmV0dXJuIHRw fWZ1bmN0aW9uIHVrKHVqLHRhKXt2YXIgdG89CmdldEVsZW1lbnRCeUlkKHVqKSx0Zj1nZXRFbGVt ZW50QnlJZCh0YSk7aWYodG8mJnRmKXRmLnBhcmVudE5vZGUuCmluc2VydEJlZm9yZSh0byx0Zil9 ZnVuY3Rpb24gdW8odGcsdGEpe3ZhciBkO2lmKGQ9Z2V0RWxlbWVudEJ5SWQodGcpKXt0YihkLgpj ZWxsc1swXSwnJyk7dGIoZC5jZWxsc1sxXSwnJyk7aWYodGEpaW5zZXJ0Um93KHRnLHRhKTtlbHNl e3RtW3RnXT1kO2lmKGQuCnBhcmVudE5vZGUpZC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGQpfX19 ZnVuY3Rpb24gdWQoZHksdXAsZHosc3Qsc3ope2lmKGp4KQpzej0nc2FmYXJpQnRuJztlbHNlIGlm KCFzeilzej0nYnRuJzt2YXIgdHY9J1x4M2NpbnB1dCB0eXBlPScrKHVwPydzdWJtaXQnOgonYnV0 dG9uJykrJyB2YWx1ZT0iJytkeSsnIiBuYW1lPScrZHorJyBvbmNsaWNrPSInK3N0KyciIGNsYXNz PSInK3N6KyciXHgzZSc7CnJldHVybiB0dn1mdW5jdGlvbiB1ZShkeixzdCx0dyx1bCl7dmFyIGt5 PWdlbklkKCdjJyk7CnJldHVybidceDNjdHJceDNlXHgzY3RkXHgzZVx4M2NwXHgzZVx4M2NpbnB1 dCB0eXBlPWNoZWNrYm94IG5hbWU9JytkeisnIGlkPScKK2t5Kyh0dz8nIGNoZWNrZWQnOicnKSso c3Q/JyBvbmNsaWNrPSInK3N0KyciJzonJykrCicgc3R5bGU9InZlcnRpY2FsLWFsaWduOm1pZGRs ZSInKydceDNlXHgzY2xhYmVsIGZvcj0nK2t5KwonIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjptaWRk bGUiJysnXHgzZScrdWwrCidceDNjL2xhYmVsXHgzZVx4M2MvcFx4M2VceDNjL3RkXHgzZVx4M2Mv dHJceDNlJ31mdW5jdGlvbiB1ZihzdSxzeCx0ZCxzdCl7CnJldHVybidceDNjYSAnKydocmVmPSIn K3N4KyciICcrKHRkPyd0YXJnZXQ9Il9ibGFuayIgJzonJykrKHN0PydvbmNsaWNrPSInKwpzdCsn IiAnOicnKSsnXHgzZScrc3UrJ1x4M2MvYVx4M2UnfWZ1bmN0aW9uIHR1KGR3LHN1LHN4LHRkLHN0 KXtpZih0eXBlb2YgZHcKPT1jbClkdz1nZXRFbGVtZW50QnlJZChkdyk7aWYoIWR3KXJldHVybjt2 YXIgZDtkdy5hcHBlbmRDaGlsZChkb2N1bWVudC4KY3JlYXRlRWxlbWVudCgnYnInKSk7ZD1kb2N1 bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7ZC5zZXRBdHRyaWJ1dGUoJ2hyZWYnLHN4KQo7aWYodGQp ZC5zZXRBdHRyaWJ1dGUoJ3RhcmdldCcsJ19ibGFuaycpO2lmKHN0KXtpZihkLmFkZEV2ZW50TGlz dGVuZXIpZC4KYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLHN0LGZhbHNlKTtlbHNlIGlmKGQuYXR0 YWNoRXZlbnQpZC5hdHRhY2hFdmVudCgKJ29uY2xpY2snLHN0KTtlbHNlIGQub25jbGljaz1zdH10 YihkLHN1KTtkdy5hcHBlbmRDaGlsZChkKX1mdW5jdGlvbiB1bigpe3ZhcgpkLGxvY2F0aW9uO2lm KHdpbmRvdyYmd2luZG93LmxvY2F0aW9uJiZ3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpZD1qZyh3 aW5kb3cuCmxvY2F0aW9uLnBhdGhuYW1lKTtlbHNlIHJldHVybjtsb2NhdGlvbj13aW5kb3cubG9j YXRpb247aWYobG9jYXRpb24ucmVsb2FkKQpsb2NhdGlvbi5yZWxvYWQoZmFsc2UpO2Vsc2UgaWYo bG9jYXRpb24ucmVwbGFjZSlsb2NhdGlvbi5yZXBsYWNlKGQpO2Vsc2UgaWYoCmxvY2F0aW9uLmhy ZWYpbG9jYXRpb24uaHJlZj1kfWRpc3BsYXlFcnJvcj10eDtkaXNwbGF5TWVzc2FnZT1zcTsKZGlz cGxheVNhdmVMb2NhdGlvbj10eTtzZXRCdXR0b25zPXRoO3NldEZvY3VzZWQ9dHI7b3BlbldpbmRv dz11bTtzZXRGb2N1cz10cQo7dXBkYXRlUHJlcGFyZVByb2dyZXNzPXVxO3VwZGF0ZVByb2dyZXNz PXR0O2NsZWFyQ2hpbGRyZW49dGw7c2V0SW5uZXJUZXh0PXRiCjtpbnNlcnRSb3c9dWs7cmVtb3Zl Um93PXVvO2dlbkJ1dHRvbj11ZDtnZW5DaGVja2JveD11ZTtnZW5MaW5rPXVmOwphZGRMaW5rVG9O b2RlPXR1O3JlZnJlc2hCcm93c2VyPXVuO2dldEVsZW1lbnRCeUlkPWtlO2dldFdpZHRoPXVoO2dl dEhlaWdodD0KdWc7CickU2VyaWFsOiA0MjQ4ICQgJFJldmlzaW9uOiAxLjMyICQnO3ZhciB3Zj0x LHdnPTI7ZnVuY3Rpb24gd2kodnIsd2Isd2MsdnQsdnYKKXtpZighdnIuZmxhZ3MpdnIuZmxhZ3M9 MDtpZih2ci5mbGFncyZ3Zil7dnIuZGF0YT13bih2ci5kYXRhKTt2ci5mbGFncyY9fndmfQp2YXIg dnk9dnIucGFsZXR0ZSxrbz12ci53aWR0aCxvbD12ci5oZWlnaHQsYSxiZCxkLHdtPXR5cGVvZiB2 ci50cmFuc3BhcmVudD09CnV2Py0xOnZyLnRyYW5zcGFyZW50O3Z2PXZ2PzE6MDtpZighdnR8fHZ0 PDEpdnQ9MSt2djtlbHNlIHZ0PU1hdGguZmxvb3IodnQpKwp2djtpZighKHZyLmZsYWdzJndnKSl7 dmFyIHdqPVswLCcnLCcnXSxuPVswLDAsMF0sYyxlPXZ5Lmxlbmd0aDtmb3IoYT0wO2E8ZTsKYSsr KXtiZD12eVthXTtpZih0eXBlb2YgYmQhPWJxKXtuWzBdPWJkO25bMV09blsyXT0nJ31lbHNle2Zv cihjPTA7YzxiZC4KbGVuZ3RoO2MrKyluW2NdPXdqW2NdPWJkW2NdO2Zvcig7YzwzO2MrKyluW2Nd PXdqW2NdfWlmKG5bMV0pblsxXT0KJyBvbk1vdXNlT3Zlcj0iJytuWzFdKyciJztpZihuWzJdKW5b Ml09JyBvbk1vdXNlT3V0PSInK25bMl0rJyInO2lmKGE9PXdtKW5bMApdPScnO3Z5W2FdPVtuWzBd LG5bMV0rblsyXV19dnIuZmxhZ3N8PXdnfXZhciB3ZD12ci5kYXRhLnNwbGl0KCcgJyksd2g9d2Qu Cmxlbmd0aCx2cz1uZXcgQXJyYXkod2gpLHZ6PTA7dnNbdnorK109CidceDNjc3BhbiBzdHlsZT0i ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDonKyhrbyp2dC12dikrCidweDto ZWlnaHQ6Jysob2wqdnQtdnYpKydweDtmb250LXNpemU6MDtsaW5lLWhlaWdodDowIlx4M2Vcbic7 dmFyIGhzPW5ldwpBcnJheShvbCk7Zm9yKGE9MDthPG9sO2ErKyloc1thXT1uZXcgQXJyYXkoa28p O3ZhciB2dz0wLGI9MCx2eCx2dSxnayxnLGd3LGFwCixhcTtmb3IoYT0wO2E8d2g7YSsrKXtpZih3 ZFthXT09Jy0nKXtoc1tiKytdPTA7dnc9MDtjb250aW51ZX1naz1oc1tiXTt3aGlsZSgKZ2tbdndd KXZ3Kys7dng9d2RbYV0uc3BsaXQoJzonKTtpZih2eC5sZW5ndGg9PTEpe2JkPXZ5Wyt2eF07dnU9 WzEsMV19ZWxzZXtiZAo9dnlbK3Z4WzFdXTt2dT12eFswXS5zcGxpdCgneCcpO3Z1WzBdPXZ1WzBd PT0nJz9rby12dzordnVbMF07dnVbMV09dnVbMV09PScnCj9vbC1iOit2dVsxXX1pZihiZFswXXx8 YmRbMV0pe2Q9J1x4M2NzcGFuIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6JytiKgp2dCsn cHg7bGVmdDonK3Z3KnZ0KydweDtoZWlnaHQ6JysodnVbMV0qdnQtdnYpKydweCc7aWYoYmRbMF0p ZCs9Cic7Ym9yZGVyLWxlZnQ6JysodnVbMF0qdnQtdnYpKydweCBzb2xpZCAjJytiZFswXTt2c1t2 eisrXT1kKyciJytiZFsxXSsKJ1x4M2VceDNjL3NwYW5ceDNlXG4nfWlmKHZ1WzFdPjEpe2c9dncr dnVbMF07Z3c9Yit2dVsxXTtmb3IoYXE9YisxO2FxPGd3OwphcSsrKXtnaz1oc1thcV07Zm9yKGFw PXZ3O2FwPGc7YXArKylna1thcF09MX19dncrPXZ1WzBdfXZzW3Z6KytdPQonXHgzYy9zcGFuXHgz ZSc7dnMubGVuZ3RoPXZ6O3JldHVybiB2cy5qb2luKCcnKX1mdW5jdGlvbiB3bCh3ZSx3ayx3YSx2 cix3YiwKd2MsdnQsdnYpe2lmKHR5cGVvZiB2ciE9YnEpe3Z2PXZ0O3Z0PXdjO3djPXdiO3diPXZy O3ZyPXdhO3dhPXt9fXdlPWl4KHdlKTsKdmFyIHZzPVsnXHgzY2EnLCdocmVmPSInK3dlKyciJ107 aWYoaWQpe3ZzW3ZzLmxlbmd0aF09Cidvbm1vdXNlb3Zlcj0idGhpcy5zdHlsZS5jdXJzb3I9XCdo YW5kXCciJzt2c1t2cy5sZW5ndGhdPQonb25tb3VzZW91dD0idGhpcy5zdHlsZS5jdXJzb3I9XCdk ZWZhdWx0XCciJ31pZih3ayl2c1t2cy5sZW5ndGhdPQondGFyZ2V0PV9ibGFuayc7Zm9yKGEgaW4g d2EpdnNbdnMubGVuZ3RoXT1hKyc9IicraXgod2FbYV0pKyciJztyZXR1cm4gdnMuCmpvaW4oJyAn KSsnXHgzZScrd2kodnIsd2Isd2MsdnQsdnYpKydceDNjL2FceDNlJ316ej1saW5rSW5saW5lSW1h Z2U9d2w7enk9Cm1ha2VJbmxpbmVJbWFnZT13aTsKJyRTZXJpYWw6IDE1NjEgJCAkUmV2aXNpb246 IDEuOSAkJztmdW5jdGlvbiBTSEExKGJ3LGJ1LGJ0LGRtKXt2YXIgZ2k9NjQsYT0wLApnaj1uZXcg QXJyYXkoODApO3doaWxlKGE8MjApZ2pbYSsrXT0weDVhODI3OTk5O3doaWxlKGE8NDApZ2pbYSsr XT0weDZlZDllYmExCjt3aGlsZShhPDYwKWdqW2ErK109MHg4ZjFiYmNkYzt3aGlsZShhPDgwKWdq W2ErK109MHhjYTYyYzFkNjt0aGlzLkg9WwoweDY3NDUyMzAxLDB4ZWZjZGFiODksMHg5OGJhZGNm ZSwyNzE3MzM4NzgsMHhjM2QyZTFmMF07dGhpcy5XPW5ldyBBcnJheSg4MCk7CnRoaXMuTT1uZXcg QXJyYXkoZ2krMik7dGhpcy4kTVVzZWQ9MDt0aGlzLiRkaWdlc3RlZD1uZXcgZ3AoKTt2YXIgZ209 KGNkPwpmdW5jdGlvbihkZCxhcCl7cmV0dXJuIGRpKGRuKGFwLGRkKSxjaihhcCwzMi1kZCkpfTpm dW5jdGlvbihkZCxhcCl7cmV0dXJuKGFwCjw8ZGQpfChhcD4+PigzMi1kZCkpfSksZW09KGNkP2Z1 bmN0aW9uKGJnLGFwLGFxLGdoKXtpZihiZzwyMClyZXR1cm4gY2goZGUoYXAKLGFxKSxkZShkayhh cCksZ2gpKTtpZihiZzw0MClyZXR1cm4gY2goY2goYXAsYXEpLGdoKTtpZihiZzw2MClyZXR1cm4g Y2goY2goCmRlKGFwLGFxKSxkZShhcCxnaCkpLGRlKGFxLGdoKSk7cmV0dXJuIGNoKGNoKGFwLGFx KSxnaCl9OmZ1bmN0aW9uKGJnLGFwLGFxLApnaCl7aWYoYmc8MjApcmV0dXJuKGFwJmFxKV4ofmFw JmdoKTtpZihiZzw0MClyZXR1cm4gYXBeYXFeZ2g7aWYoYmc8NjApCnJldHVybihhcCZhcSleKGFw JmdoKV4oYXEmZ2gpO3JldHVybiBhcF5hcV5naH0pO3RoaXMuJGRpZ2VzdEJsb2NrPWZ1bmN0aW9u KApnZSl7dmFyIGJnLGdxLGN5PXRoaXMuSCxnZz10aGlzLlcsYSxlPWdnLmxlbmd0aDtmb3IoYmc9 YT0wO2JnPDE2O2JnKyssYSs9NCkKZ2dbYmddPWdlW2FdPDwyNHxnZVthKzFdPDwxNnxnZVthKzJd PDw4fGdlW2ErM107aWYoY2QpZm9yKDtiZzxlO2JnKyspZ2dbYmddPQpnbSgxLGNoKGNoKGNoKGdn W2JnLTNdLGdnW2JnLThdKSxnZ1tiZy0xNF0pLGdnW2JnLTE2XSkpO2Vsc2UgZm9yKDtiZzxlO2Jn KyspCmdnW2JnXT1nbSgxLGdnW2JnLTNdXmdnW2JnLThdXmdnW2JnLTE0XV5nZ1tiZy0xNl0pO3Zh ciBnaz1jeVswXSxqPWN5WzFdLGJtPQpjeVsyXSxjYz1jeVszXSxiZT1jeVs0XTtmb3IoYmc9MDti ZzxlO2JnKyspe2dxPWdtKDUsZ2spK2VtKGJnLGosYm0sY2MpK2JlK2dqCltiZ10rZ2dbYmddO2Jl PWNjO2NjPWJtO2JtPWdtKDMwLGopO2o9Z2s7Z2s9Z3F9aWYoY2Qpe2N5WzBdPWRlKGN5WzBdK2dr LGJ4KTsKY3lbMV09ZGUoY3lbMV0raixieCk7Y3lbMl09ZGUoY3lbMl0rYm0sYngpO2N5WzNdPWRl KGN5WzNdK2NjLGJ4KTtjeVs0XT1kZShjeQpbNF0rYmUsYngpfWVsc2V7Y3lbMF09KGN5WzBdK2dr KSZieDtjeVsxXT0oY3lbMV0raikmYng7Y3lbMl09KGN5WzJdK2JtKSZieDsKY3lbM109KGN5WzNd K2NjKSZieDtjeVs0XT0oY3lbNF0rYmUpJmJ4fX07dGhpcy5kaWdlc3Q9ZnVuY3Rpb24oYncsYnUs YnQsZG0pewp2YXIgY2U9dHlwZW9mIGJ3PT1jbCxibSxkYixkZz1idy5sZW5ndGgsZ2U9dGhpcy5N LGdmPXRoaXMuJE1Vc2VkO2lmKCFidSlidT0wCjtlbHNlIGlmKGJ1PDApYnUrPWRnO2lmKCFidCli dD1kZztlbHNlIGlmKGJ0PDApYnQrPWRnO2ZvcihkYj1idTtkYjxidDtkYisrKXsKYm09Y2U/Yncu Y2hhckNvZGVBdChkYik6YndbZGJdO2lmKCFkbXx8Ym08MTI4KXtnZVtnZisrXT1ibSYyNTV9ZWxz ZSBpZihibTwKMjA0OCl7Z2VbZ2YrK109MTkyfGJtPj4+NjtnZVtnZisrXT0xMjh8Ym0mNjN9ZWxz ZXtnZVtnZisrXT0yMjR8Ym0+Pj4xMjtnZVsKZ2YrK109MTI4fChibT4+PjYpJjYzO2dlW2dmKytd PTEyOHxibSY2M31pZihnZj49Z2kpe3RoaXMuJGRpZ2VzdEJsb2NrKGdlLDApOwp0aGlzLiRkaWdl c3RlZC5hZGQoZ2kpO3N3aXRjaChnZi1naSl7Y2FzZSAyOmdlWzFdPWdlW2dpKzFdO2Nhc2UgMTpn ZVswXT1nZVsKZ2ldO2RlZmF1bHQ6Z2YtPWdpfX19dGhpcy4kTVVzZWQ9Z2Y7cmV0dXJuIHRoaXN9 O3RoaXMuZmluYWxpemU9ZnVuY3Rpb24oKXsKdmFyIGdlPXRoaXMuTSxnZj10aGlzLiRNVXNlZCxn cz10aGlzLiRkaWdlc3RlZCxnbixnbyxnbDtnbD1uZXcgZ3AoZ3MpLmFkZChnZgopO2dvPW5ldyBn cChnbCkuYWRkKDkpO2dvLmFkZCg2MykubWFzayh+NjMpO2duPWdvLnN1YlRvSW50KGdsKTtnbC5t dWx0aXBseSg4Cik7dmFyIGdyPTE7d2hpbGUoLS1nbj49MCl7aWYoZ3Ipe2dlW2dmKytdPTEyODtn cj0wfWVsc2UgaWYoZ24+NylnZVtnZisrXT0wOwplbHNlIGdlW2dmKytdPWdsLmdldEJ5dGUoZ24p O2lmKGdmPT1naSl7dGhpcy4kZGlnZXN0QmxvY2soZ2UsMCk7Z2Y9MH19CnJldHVybiBndCh0aGlz LkgpfTt0aGlzLmxlbmd0aD1mdW5jdGlvbigpe3JldHVybiAyMH07aWYoYXJndW1lbnRzLmxlbmd0 aCkKdGhpcy5kaWdlc3QoYncsYnUsYnQsZG0pfXp0PVNIQTE7CickU2VyaWFsOiA0OTU4ICQgJFJl dmlzaW9uOiAxLjM1ICQnO3ZhciBpaz0naHR0cDovL1x4NjFwcGxldC5wb3N0eC5jb20vZGlzdCcK LGlsPWVtLGpkPWVtO2Z1bmN0aW9uIGtjKGh0KXtpZihpdClyZXR1cm4gbnVsbDt2YXIgaWM9bnVs bDtpZihpeSl7aWYoa2E8NSYmCmRvY3VtZW50W2h2XS5kb2N1bWVudC5hcHBsZXRzJiZkb2N1bWVu dFtodl0uZG9jdW1lbnQuYXBwbGV0cy5sZW5ndGgpaWM9CmRvY3VtZW50W2h2XS5kb2N1bWVudC5h cHBsZXRzW2h0XX1lbHNlIGlmKGRvY3VtZW50LmFwcGxldHMmJmRvY3VtZW50LmFwcGxldHMKIC5s ZW5ndGgpaWM9ZG9jdW1lbnQuYXBwbGV0c1todF07cmV0dXJuIGljfXZhciBocj0KJ1xcVGVtcG9y YXJ5IEludGVybmV0IEZpbGVzXFwnLGlqPSdcXERvY3VtZW50cyBhbmQgU2V0dGluZ3NcXCcsaWU9 Ci9eXC9bQS1aXVs6fF1bXFxcL10vaTtmdW5jdGlvbiBraSgpe3ZhciBoaj1odSxoaz1oai5wYXls b2FkO2lmKCFoai4KdXNpbmdBcHBsZXQpe2l1KDApO3JldHVybiBiZ31pZihpbCYmIWpkKXtyZXR1 cm4gZW19aWYoaGouZm5zLnByb2dyZXNzKWhqLmZucwogLnByb2dyZXNzKCd0b29scycsaGouYXJn KTtpbD1iZztoai5pbnN0YWxsQXBwbGV0PTA7aGoucXVlcnk9Jyc7aWYoaGwuCmZvcmNlQXBwbGV0 UmVsb2FkKCl8fGhsLmZvcmNlQXBwbGV0UmVsb2FkQWx3YXlzKCkpcmV0dXJuIGlhKCk7dmFyIGhx PWtkKGhqLgphcHBsZXROYW1lKTtpZihobC5pZ25vcmVBcHBsZXRJbWFnZSgpfHxobC5pZ25vcmVB cHBsZXRJbWFnZUFsd2F5cygpKWlmKGhxKQpyZXR1cm4gaXAoaHEpO2Vsc2UgcmV0dXJuIGlhKCk7 dmFyIGEsZCxobz1bXTtpZihocSloby5wdXNoKGhxKTtpZihpdCl7dmFyIGlnCj1bJy9MaWJyYXJ5 L0FwcGxpY2F0aW9uIFN1cHBvcnQvUG9zdFgnLAonL3ByaXZhdGUvdG1wLzUwMS9UZW1wb3JhcnlJ dGVtcy9Qb3N0WCddLGU9aWcubGVuZ3RoO2ZvcihhPTA7YTxlO2ErKylpZihpZ1thCl0hPWhxKWhv LnB1c2goaWdbYV0pfWVsc2V7ZD1qZyhsb2NhdGlvbi5wYXRobmFtZSk7aWYobG9jYXRpb24ucHJv dG9jb2w9PQonZmlsZTonJiZpZS50ZXN0KGQpKXt2YXIgaHk9J1Bvc3RYJztkPWQuc3Vic3RyKDEp O2lmKChhPWQuaW5kZXhPZihocikpIT0tMSl7CmQ9ZC5zdWJzdHIoMCxhK2hyLmxlbmd0aCkraHk7 aWYoZCE9aHEpaG8ucHVzaChkKX1lbHNlIGlmKChhPWQuaW5kZXhPZihpaikpIT0KLTEmJihhPWQu aW5kZXhPZignXFwnLGEraWoubGVuZ3RoKzEpKSE9LTEpe2Q9ZC5zdWJzdHIoMCxhKzEpKwonTG9j YWwgU2V0dGluZ3MnK2hyK2h5O2lmKGQhPWhxKWhvLnB1c2goZCl9aWYoZC5zdWJzdHIoMCwxKS50 b1VwcGVyQ2FzZSgpIT0KJ0MnKXtkPWQuc3Vic3RyKDAsMykrJ1dpbmRvd3MnK2hyK2h5O2lmKGQh PWhxKWhvLnB1c2goZCl9ZD0nQzpcXFdpbmRvd3MnK2hyKwpoeTtpZihkIT1ocSloby5wdXNoKGQp fX1oai5zZWFyY2hTdGF0ZT17J2xpc3QnOmhvLCdpbmRleCc6LTF9O3JldHVybiBpYigpfQpmdW5j dGlvbiBpYigpe3ZhciBoaj1odS5zZWFyY2hTdGF0ZSxobz1oai5saXN0O2lmKGhqLnRpbWVvdXQp Y2xlYXJUaW1lb3V0KGhqCiAudGltZW91dCk7aWYoKytoai5pbmRleD49aG8ubGVuZ3RoKXtkZWxl dGUgaHUuc2VhcmNoU3RhdGU7cmV0dXJuIGlhKCl9dmFyCmhzPWhqLmltYWdlPW5ldyBJbWFnZSgp O2hzLm9uZXJyb3I9aWI7aHMub25sb2FkPWlwO2hzLnNyYz0nZmlsZTovLycraG9baGouCmluZGV4 XSsnLycraHUuYXBwbGV0TmFtZSsnLmdpZic7aWYoankpaGoudGltZW91dD1zZXRUaW1lb3V0KCJp YigpIiwxMDAwKTsKcmV0dXJuIGJnfWZ1bmN0aW9uIGlwKGhuKXt2YXIgaGo9aHU7aWYoIWhufHx0 eXBlb2YgaG49PWJxKXtpZihqeCYmaGouCnNlYXJjaFN0YXRlLmltYWdlLmhlaWdodDwxKXJldHVy biBpYigpO2huPWhqLnNlYXJjaFN0YXRlLmxpc3RbaGouc2VhcmNoU3RhdGUKIC5pbmRleF19aWYo aGouc2VhcmNoU3RhdGUmJmhqLnNlYXJjaFN0YXRlLnRpbWVvdXQpY2xlYXJUaW1lb3V0KGhqLgpz ZWFyY2hTdGF0ZS50aW1lb3V0KTtpZihoblswXT09Jy8nKWhqLnBhdGg9J2ZpbGU6Ly8nK2huO2Vs c2UgaGoucGF0aD0KJ2ZpbGU6Ly8vJytobjtkZWxldGUgaGouc2VhcmNoU3RhdGU7aWYoaWQmJiFp cyl7dmFyIGh4PWpnKGxvY2F0aW9uLnBhdGhuYW1lKQosamI9bG9jYXRpb24ucHJvdG9jb2w9PSdm aWxlOicmJmllLnRlc3QoaHgpJiZoeC5pbmRleE9mKGhyKT09LTEmJighZG9jdW1lbnQuCmZpcnN0 Q2hpbGR8fCFkb2N1bWVudC5maXJzdENoaWxkLnRleHR8fGRvY3VtZW50LmZpcnN0Q2hpbGQudGV4 dC5zdWJzdHIoMCwyNikKIT0nXHgzYyEtLSBzYXZlZCBmcm9tIHVybD0oMDAyMiknKSxpdj1obi5p bmRleE9mKGhyKT09LTE7aWYoIWpiJiZpdil7aWYoIWllLgp0ZXN0KGh4KXx8aHguc3Vic3RyKDEs MykhPWhuLnN1YnN0cigwLDMpKXJldHVybiBpYSgpO3ZhciBqYT1oeC5tYXRjaCgKLyhbXFxcL10r KS9nKS5sZW5ndGgtMixkPScnO3doaWxlKDA8amEtLSlkKz0nLi5cXCc7aGoucGF0aD0nZmlsZTov LycrZCtobi4Kc3Vic3RyKDMpfX1qZihqbSxobixoai5wYXlsb2FkLmV4cGlyaWVzLnRvb2xzLCcv Jyk7cmV0dXJuIGlvKCl9ZnVuY3Rpb24gaWEoKQp7dmFyIGhqPWh1O2hqLmluc3RhbGxBcHBsZXQ9 MTtoai5wYXRoPWlrO2hqLnF1ZXJ5PWp6PycnOic/Jzt2YXIgaHM9bmV3IEltYWdlCigpO2hzLm9u ZXJyb3I9aHMub25sb2FkPWlvO2hzLnNyYz1oai5wYXRoKycvc3BhY2VyLmdpZic7cmV0dXJuIGJn fXZhciBpbT17CidoZWlnaHQnOjF9O2Z1bmN0aW9uIGlvKCl7ZnVuY3Rpb24gaGkoZHosZHksamMp e2lmKGpjKWR5PWl4KGR5KTsKcmV0dXJuJ1x4M2NwYXJhbSBuYW1lPSInK2R6KyciIHZhbHVlPSIn K2R5KyciXHgzZVxuJ312YXIgaGo9aHUsaWk9aGouCmFwcGxldENsYXNzLGh0PWhqLmFwcGxldE5h bWUsaGs9aGoucGF5bG9hZCxhLGh6LGplPWhsLmlnbm9yZUFwcGxldEltYWdlKCl8fApobC5pZ25v cmVBcHBsZXRJbWFnZUFsd2F5cygpLGh3PWhsLmFwcGxldERlYnVnTGV2ZWwoKTtpZihodz09MClo dz1obC4KYXBwbGV0RGVidWdMZXZlbEFsd2F5cygpO2hsLmZvcmNlQXBwbGV0UmVsb2FkKDApO2hs Lmlnbm9yZUFwcGxldEltYWdlKDApO2hsLgphcHBsZXREZWJ1Z0xldmVsKDApO2hsLnNhdmUoaGsu ZXhwaXJpZXMucHJlZmVyZW5jZXMsJy8nKTt2YXIgaXc9aHQsaGg9WwonXHgzY1x4NjFwcGxldCBu YW1lPSInK2lpKyciICcrKGhqLnBhdGg/J2NvZGVCYXNlPSInK2hqLnBhdGgrJyIgJzonJykrCidj b2RlPSJjb20ucG9zdHguY2xpZW50LicraWkrJy5jbGFzcyIgJysnYXJjaGl2ZT0iJytpdysnLmph cicraGoucXVlcnkrCiciIG1heXNjcmlwdCddO2lmKGhqLmFyZyYmaGouYXJnLmF0dHJzKWh6PWtn KGhqLmFyZy5hdHRycyxpbSk7ZWxzZSBoej1pbTtmb3IKKGEgaW4gaHopaGhbaGgubGVuZ3RoXT0n ICcrYSsnPScraXgoaHpbYV0pO3ZhciBobT1oai5hY3Rpb247aWYoIWlkJiZobSE9aWgpCmhoW2ho Lmxlbmd0aF09JyBzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iJztoaFtoaC5sZW5ndGhdPSdceDNl XG4nO2lmKGhqLnBhdGgKKWhoW2hoLmxlbmd0aF09aGkoJ2NhYkJhc2UnLGh0KycuY2FiJytoai5x dWVyeSkraGkoJ2NvZGVCYXNlJyxoai5wYXRoLDEpO2hoWwpoaC5sZW5ndGhdPWhpKCdleHBpcmll cy50b29scycsaGsuZXhwaXJpZXMudG9vbHMpK2hpKCdhcHBsZXQuaW5zdGFsbCcsaGouCmluc3Rh bGxBcHBsZXQpK2hpKCdhcHBsZXQudXBkYXRlJyxqZT8wOjEpK2hpKCdhcHBsZXQubmFtZScsaHQp K2hpKAonYXBwbGV0LnBhdGgnLGlrKTtoaFtoaC5sZW5ndGhdPWhpKCd1YScsa2opK2hpKCdyaWQn LGhrLnJpZFswXSkraGkoJ21zZ2lkJywKaGsubXNnSUQpK2hpKCdkb2N1bWVudC51cmwnLGxvY2F0 aW9uLmhyZWYpK2hpKCdkb2N1bWVudC5jaGFyc2V0Jyxkb2N1bWVudC4KY2hhcnNldHx8ZG9jdW1l bnQuY2hhcmFjdGVyU2V0fHwnVVRGLTgnKTtoaFtoaC5sZW5ndGhdPWhpKCdhY3Rpb24nLGhtKSto aSgKJ2ZsYWdzJyxoay5mbGFncyk7aWYoIWl5KWhoW2hoLmxlbmd0aF09aGkoJ2llJywnMScpO2lm KGhtPT1qaSloaFtoaC5sZW5ndGhdPQpoaSgnc2F2ZS5uYW1lJyxoay5zYXZlTmFtZSwxKStoaSgn c2F2ZS5kYXRhJyxoay5zYXZlRGF0YSk7ZWxzZXtpZihobT09aWgpe2hoCltoaC5sZW5ndGhdPWhp KCd1cmwnLGhrLnJwYy51cmwpK2hpKCduYScsbmF2aWdhdG9yLmFwcE5hbWUpK2hpKCduYycsCm5h dmlnYXRvci5hcHBDb2RlTmFtZSkraGkoJ25qJyxuYXZpZ2F0b3IuamF2YUVuYWJsZWQoKT8xOjAp K2hpKCducCcsCm5hdmlnYXRvci5wbGF0Zm9ybSkraGkoJ251JyxuYXZpZ2F0b3IudXNlckFnZW50 KStoaSgnbnYnLG5hdmlnYXRvci4KYXBwVmVyc2lvbik7aWYobmF2aWdhdG9yLmxhbmd1YWdlKWhp KCdubCcsbmF2aWdhdG9yLmxhbmd1YWdlKX12YXIgZSxidztlPWhrLgpzZWdtZW50cy5sZW5ndGg7 Zm9yKGE9MDthPGU7YSsrKWlmKGhrLnNlZ21lbnRzW2FdIT0xKXtoaFtoaC5sZW5ndGhdPWhpKAon c2VnbWVudC5jb3VudCcsZSk7Zm9yKGE9MDthPGU7YSsrKWhoW2hoLmxlbmd0aF09aGkoJ3NlZ21l bnQuJythLGhrLnNlZ21lbnRzClthXSk7YnJlYWt9aWYoIWlzfHwhaWQpe2hoW2hoLmxlbmd0aF09 aGkoJ2Zucy5lcnJvcicsZW4oaGouZm5zLmVycm9yKSk7aWYoaGoKIC5mbnMuY29tcGxldGlvbilo aFtoaC5sZW5ndGhdPWhpKCdmbnMuY29tcGxldGlvbicsZW4oaGouZm5zLmNvbXBsZXRpb24pKTtp ZgooaGouZm5zLnByb2dyZXNzKWhoW2hoLmxlbmd0aF09aGkoJ2Zucy5wcm9ncmVzcycsZW4oaGou Zm5zLnByb2dyZXNzKSk7aWYoaGouCmZucy5maW5hbGl6ZSloaFtoaC5sZW5ndGhdPWhpKCdmbnMu ZmluYWxpemUnLGVuKGhqLmZucy5maW5hbGl6ZSkpO2lmKGhqLmZucy4Kc3VjY2VzcyloaFtoaC5s ZW5ndGhdPWhpKCdmbnMuc3VjY2VzcycsZW4oaGouZm5zLnN1Y2Nlc3MpKTtpZihobT09aXEmJmhq LmZucwogLnNhdmVkKWhoW2hoLmxlbmd0aF09aGkoJ2Zucy5zYXZlZCcsZW4oaGouZm5zLnNhdmVk KSk7aGhbaGgubGVuZ3RoXT1oaSgKJ2Zucy5zZXRjb29raWUnLCJqZiIpK2hpKCdmbnMubG9hZGVk JywiaXUiKStoaSgnZm5zLmxhdW5jaCcsImtmIil9aWYoaG09PWpqKQpoaFtoaC5sZW5ndGhdPWhp KCdwb3N0bWFyaycsaGsucG9zdG1hcmspO2Vsc2UgaWYoaG09PWprKWhoW2hoLmxlbmd0aF09aGko CidzaWduYXR1cmUnLGhrLnNpZ25hdHVyZVswXSkraGkoJ3NpZ2tleW5hbWUnLGhrLnNpZ2tleW5h bWUpO2Vsc2UgaWYoaG09PWpofHwKaG09PWlxfHxobT09aWgpe2hoW2hoLmxlbmd0aF09aGkoJ3Bh eWxvYWRuYW1lJyxoay5uYW1lLDEpK2hpKCdzYWx0Jyxoay5zYWx0KQoraGkoJ2tleScsZHMoaGou a2V5LDEpKStoaSgnVE9DRW50cmllcycsaGsudG9jLmxlbmd0aCk7aWYoaGsuaGFyZGVuZXJuYW1l JiYKaGouaGFyZGVuZXIpe2toPTE7aGhbaGgubGVuZ3RoXT1oaSgnaGFyZGVuZXInLGRzKGtiKGhq LmhhcmRlbmVyLGhqLnVzZXJLZXksCmhrLmtleXNpemUsanYpLDEpKStoaSgnZXhwaXJpZXMuaGFy ZGVuZXInLGhrLmV4cGlyaWVzLmhhcmRlbmVyKStoaSgKJ2hhcmRlbmVyLmNvb2tpZScsamwraGsu aGFyZGVuZXJuYW1lKX1pZihoay5rZXlzaXplKWhoW2hoLmxlbmd0aF09aGkoCidrZXlTaXplJyxo ay5rZXlzaXplKTtpZigoYT1oay5hbGduYW1lcy5oYXNoKSE9J1NIQTEnKXtoaFtoaC5sZW5ndGhd PWhpKAonYWxnLm5hbWVzLmhhc2gnLGEpO2lmKChhPWhrLmFsZ3BhcmFtcy5oYXNoKSloaFtoaC5s ZW5ndGhdPWhpKAonYWxnLnBhcmFtcy5oYXNoJyxhKX1pZigoYT1oay5hbGduYW1lcy5lbmNyeXB0 aW9uLmtleXMpIT0nQVJDNCcpe2hoW2hoLgpsZW5ndGhdPWhpKCdhbGcubmFtZXMuZW5jcnlwdGlv bi5rZXlzJyxhKTtpZihhPT0nUlNBJyloaFtoaC5sZW5ndGhdPWhpKAona2V5bmFtZScsaGsua2V5 bmFtZSk7aWYoKGE9aGsuYWxncGFyYW1zLmVuY3J5cHRpb24ua2V5cykpaGhbaGgubGVuZ3RoXT1o aSgKJ2FsZy5wYXJhbXMuZW5jcnlwdGlvbi5rZXlzJyxhKX1pZigoYT1oay5hbGduYW1lcy5lbmNy eXB0aW9uLmRhdGEpIT0nQVJDNCcpewpoaFtoaC5sZW5ndGhdPWhpKCdhbGcubmFtZXMuZW5jcnlw dGlvbi5kYXRhJyxhKTtpZigoYT1oay5hbGdwYXJhbXMuCmVuY3J5cHRpb24uZGF0YSkpaGhbaGgu bGVuZ3RoXT1oaSgnYWxnLnBhcmFtcy5lbmNyeXB0aW9uLmRhdGEnLGEpfWlmKChhPWhrLgphbGdu YW1lcy52ZXJpZmljYXRpb24ua2V5cykhPSdDUkMzMicpaGhbaGgubGVuZ3RoXT1oaSgKJ2FsZy5u YW1lcy52ZXJpZmljYXRpb24ua2V5cycsYSk7aWYoKGE9aGsuYWxnbmFtZXMudmVyaWZpY2F0aW9u LmRhdGEpIT0KJ0NSQzMyJyloaFtoaC5sZW5ndGhdPWhpKCdhbGcubmFtZXMudmVyaWZpY2F0aW9u LmRhdGEnLGEpO3ZhciBocDtlPWhrLnRvYy4KbGVuZ3RoO2ZvcihhPTA7YTxlO2ErKyl7aHA9aGsu dG9jW2FdO2hoW2hoLmxlbmd0aF09aGkoJ2ZpbGUuJythLGhwW2pwXSwxKStoaQooJ3R5cGUuJyth LGhwW2p1XSkraGkoJ2h0bWwuJythLGhwW2pyXSwxKStoaSgndGV4dC4nK2EsaHBbanRdLDEpK2hp KCdmbGFncy4nCithLGhwW2pxXSkraGkoJ29mZnNldC4nK2EsaHBbaXJdWzBdKStoaSgnbGVuZ3Ro LicrYSxocFtpcl1bMV0pK2hpKAonb3JpZ0ZpbGVuYW1lLicrYSxocFtqc10sMSkraGkoJ2VuY29k aW5nLicrYSxocFtqb10sMSl9aWYoaGsuc2Vzc2lvbktleSloaFsKaGgubGVuZ3RoXT1oaSgnc2Vz c2lvbktleScsZHMoaGsuc2Vzc2lvbktleSwxKSwxKX19aWYoaGsuc2VjdXJlTmFtZSloaFtoaC4K bGVuZ3RoXT1oaSgnc2VjdXJlTmFtZScsaGsuc2VjdXJlTmFtZSk7aWYoaGsubG9nb3V0VVJMKWho W2hoLmxlbmd0aF09aGkoCidsb2dvdXRVUkwnLGhrLmxvZ291dFVSTCk7aWYoaGouYXJnKWZvcihh IGluIGhqLmFyZy5wYXJhbXMpaGhbaGgubGVuZ3RoXT1oaSgKYSxoai5hcmcucGFyYW1zW2FdLDEp O2lmKGh3KWhoW2hoLmxlbmd0aF09aGkoJ2RlYnVnJyxodyk7aGhbaGgubGVuZ3RoXT0KJ1x4M2Mv XHg2MXBwbGV0XHgzZSc7aGg9aGguam9pbignJyk7aWYoaHc+MSlpZihhPWRvY3VtZW50LmdldEVs ZW1lbnRCeUlkKAonZGVidWdUZXh0YXJlYScpKXtpZihhLnZhbHVlIT0nJylhLnZhbHVlKz0nXG4n O2EudmFsdWUrPWhofWVsc2UgYWxlcnQoCidBcHBsZXQgdGFnOlxuXG4nK2hoKTtpZihkb2N1bWVu dC5nZXRFbGVtZW50QnlJZClkb2N1bWVudC5nZXRFbGVtZW50QnlJZChqbikKIC5pbm5lckhUTUw9 aGg7ZWxzZXtkb2N1bWVudFtodl0uZG9jdW1lbnQub3BlbigpO2RvY3VtZW50W2h2XS5kb2N1bWVu dC53cml0ZQooaGgpO2RvY3VtZW50W2h2XS5kb2N1bWVudC5jbG9zZSgpfXJldHVybiBiZ31mdW5j dGlvbiBqdygpe2lmKCFpZHx8aXopCnJldHVybjt2YXIgaGg9J1x4M2NhcHBsZXQgaGVpZ2h0PTEg c3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTUwMHB4IicrCidceDNlXHgzY3NwYW4gaWQ9 ImFwcGxldFRlc3QiXHgzZSZuYnNwO1x4M2Mvc3Bhblx4M2VceDNjL2FwcGxldFx4M2UnOwpkb2N1 bWVudC53cml0ZShoaCk7aWYoa2UoJ2FwcGxldFRlc3QnKSlpej1iZ30KJyRTZXJpYWw6IDAzMDQg JCAkUmV2aXNpb246IDEuNiAkJzt2YXIgYWV5PTEsYWZhPTI7UE9MTElOR19FWFBPTkVOVElBTD1h ZXk7ClBPTExJTkdfTElORUFSPWFmYTtmdW5jdGlvbiBhZmIoYWZjKXt0aGlzLmJhc2U9MTt0aGlz LmludGVydmFsPTE7dGhpcy4KdG90YWxEZWxheT0wO3RoaXMubWluPTE7dGhpcy5tYXg9MTt0aGlz LnRvdGFsPTUwMDA7dGhpcy53YWl0PTUwMDA7dGhpcy50aW1lcgo7dGhpcy5pbml0aWFsaXplPWZ1 bmN0aW9uKGFldixhZXosYWV3LGFleCl7dmFyIGRkLGNjO3RoaXMubWluPWFldjt0aGlzLm1heD0K YWV6O3RoaXMudG90YWw9YWV3O3RoaXMud2FpdD1hZXg7dGhpcy5pbnRlcnZhbD1hZXY7ZGQ9YWV3 LShhZXgrYWV2KTtjYz1hZXctKAphZXgrYWV6KTtpZihjYyE9MCl0aGlzLmJhc2U9ZGQvY2M7aWYo dGhpcy5iYXNlPDEpdGhpcy5iYXNlPTE7aWYodGhpcy4KbWluSW50ZXJ2YWw8MSl0aGlzLm1pbklu dGVydmFsPTE7dGhpcy50b3RhbERlbGF5PTB9O3RoaXMucmVzZXQ9ZnVuY3Rpb24oKXsKdGhpcy5p bml0aWFsaXplKHRoaXMubWluLHRoaXMubWF4LHRoaXMudG90YWwsdGhpcy53YWl0KX07dGhpcy5j YW5jZWw9CmZ1bmN0aW9uKCl7aWYodGhpcy50aW1lcil7Y2xlYXJUaW1lb3V0KHRoaXMudGltZXIp O3RoaXMudGltZXI9MH10aGlzLgppbnRlcnZhbD0tMn07dGhpcy5nZXROZXh0SW50ZXJ2YWw9ZnVu Y3Rpb24oZHUpe2lmKHRoaXMuaW50ZXJ2YWw8MCkKcmV0dXJuIHRoaXMuaW50ZXJ2YWw7dmFyIGVx PXRoaXMuaW50ZXJ2YWw7dGhpcy50b3RhbERlbGF5PXRoaXMudG90YWxEZWxheStlcQordGhpcy53 YWl0O2lmKHRoaXMudG90YWxEZWxheT49dGhpcy50b3RhbCl7dGhpcy5pbnRlcnZhbD0tMX1lbHNl e3RoaXMuCmludGVydmFsPXRoaXMuaW50ZXJ2YWwqdGhpcy5iYXNlO2lmKHRoaXMuaW50ZXJ2YWw+ dGhpcy5tYXgpdGhpcy5pbnRlcnZhbD0KdGhpcy5tYXh9aWYoZHUpdGhpcy50aW1lcj1zZXRUaW1l b3V0KGR1LGVxKTtyZXR1cm4gZXF9fXZhciBhZmQ9bmV3IGFmYihhZXkpOwonJFNlcmlhbDogMjE4 OSAkICRSZXZpc2lvbjogMS4yMCAkJztmdW5jdGlvbiBlYShkcSxkcCxkeixkeSl7dmFyIGEsZTtp ZigKdHlwZW9mIGR5IT1icSlkcVtkcCsrXT1kcyhkeikrJz0nK2RzKGR5KTtlbHNlIGlmKChlPWR5 Lmxlbmd0aCkpZm9yKGE9MDthPGU7CmErKylkcD1lYShkcSxkcCxkeixkeVthXSk7ZWxzZXtpZihk eiE9JycpZHorPScuJztmb3IoYSBpbiBkeSlkcD1lYShkcSxkcCxkeisKYSxkeVthXSl9cmV0dXJu IGRwfXZhciBkdD0wLGVjPWVtO2Z1bmN0aW9uIGVqKGR1KXtkdD0wO2lmKGR1KWR1KHsnc3RhdHVz Jzplcgp9KX12YXIgZWI9LTEsZWQ9LTE7ZnVuY3Rpb24gZWYoZHIpe2lmKGVjKXJldHVybjtpZihk dCl7Y2xlYXJUaW1lb3V0KGR0KTtkdD0wCn1pZihkci5yZXFUaW1lJiZkci5yZXFOdW1iZXIpe2Vi PW5ldyBEYXRlKCkuZ2V0VGltZSgpLWRyLnJlcVRpbWU7ZWQ9ZHIuCnJlcU51bWJlcn1pZihkci5j YWxsYmFjaylkci5jYWxsYmFjayhkcil9ZnVuY3Rpb24gZWwoZHYsZW8sZWksZWcsZHUsZHIsZWUs ZXEKKXt2YXIgYSxkLGRxPVtdLGRwPTAsZHgsZHcsZXA9ZHImJmRyLm5yO2lmKGRyKWRwPWVhKGRx LGRwLCcnLGRyKTtpZigoZHI9ZHYuCmFyZ3MpKWRwPWVhKGRxLGRwLCcnLGRyKTtkcVtkcCsrXT0n dj0yJztkcVtkcCsrXT0nbT0nK2RzKGVvKTtkcVtkcCsrXT0ncz0nKwpkcyhlaSk7ZHFbZHArK109 J2Y9JysoZHYuZmxhZ3N8ZWcpO2RxW2RwKytdPSdkPScrZHMobmV3IERhdGUoKS5nZXRUaW1lKCkp O2RxCltkcCsrXT0nYWN0aW9uPW9wZW4nO2lmKGViIT0tMSl7ZHFbZHArK109J3ByZD0nK2ViO2Rx W2RwKytdPSdwcm49JytlZDtlYj1lZD0KLTF9ZHFbZHArK109J2o9MSc7ZHFbZHArK109J2pjPScr ImVmIjtkeD1bJyJSUENSZWYiOicrInBheWxvYWQucnBjIl07aWYoZHUpCmR4W2R4Lmxlbmd0aF09 JyJjYWxsYmFjayI6JytlbihkdSk7aWYoZWUpZHhbZHgubGVuZ3RoXT1lZTtkcVtkcCsrXT0namNh PScrZHMKKGR4LmpvaW4oJyxcbicpKTtpZihlaClkcVtkcCsrXT0nc3JjPScrZWg7ZHFbZHArK109 J25hPScrZHMobmF2aWdhdG9yLgphcHBOYW1lKTtkcVtkcCsrXT0nbmo9JytkcyhuYXZpZ2F0b3Iu amF2YUVuYWJsZWQoKT8xOjApO2RxW2RwKytdPSduanM9MSc7aWYoCm5hdmlnYXRvci5sYW5ndWFn ZSlkcVtkcCsrXT0nbmw9JytkcyhuYXZpZ2F0b3IubGFuZ3VhZ2UpO2RxW2RwKytdPSducD0nK2Rz KApuYXZpZ2F0b3IucGxhdGZvcm0pO2RxW2RwKytdPSdudT0nK2RzKG5hdmlnYXRvci51c2VyQWdl bnQpO2RxW2RwKytdPSdudj0nK2RzCihuYXZpZ2F0b3IuYXBwVmVyc2lvbik7aWYoZHUpe2VjPWVt O2R0PXNldFRpbWVvdXQoImVqIisnKCcrZW4oZHUpKycpJywoZXF8fAoxMDAwMCkpfWQ9ZHYudXJs O2lmKGR2LnNlc3Npb24pZCs9Jztqc2Vzc2lvbmlkPScrZHYuc2Vzc2lvbjtkKz0nPycrZHEuam9p bigKJyYnKTtpZihlcCl7ZHc9bmV3IEltYWdlKCk7ZHcuc3JjPWR9ZWxzZXtkdz1kb2N1bWVudC5j cmVhdGVFbGVtZW50KCdzY3JpcHQnKQo7ZHcudHlwZT0ndGV4dC9qYXZhc2NyaXB0Jztkdy5zcmM9 ZDtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGR3KX19ZnVuY3Rpb24KZWsoZHYpe2lmKGR0KXtj bGVhclRpbWVvdXQoZHQpO2R0PTB9dmFyIGc9ZG9jdW1lbnQuYm9keS5jaGlsZE5vZGVzW2RvY3Vt ZW50Lgpib2R5LmNoaWxkTm9kZXMubGVuZ3RoLTFdO2lmKGcubm9kZU5hbWUmJmcubm9kZU5hbWUu dG9Mb3dlckNhc2UoKT09J3NjcmlwdCcpCmRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZyk7ZWM9 Ymd9cmE9Y2FsbFJQQz1lbDthYm9ydFJQQz1lazsKLy8tLT48L3NjcmlwdD4KCjxzY3JpcHQKdHlw ZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KZnVuY3Rpb24gYW9r KGhrLHN2LGFueil7YWZ0KGhrLHsnZXJyb3InOmFuZiwnc3VjY2Vzcyc6YW5mfSx7J2Zvcm0nOnN2 LAonc2lnbmF0dXJlJzphbnp9KX1mdW5jdGlvbiBhbmYoc3RhdHVzLGFvaixzcil7aWYoIXNyKXNy PWdVc2VyQXJnO2lmKHNyKXt2YXIKYmQ9c3Iuc2lnbmF0dXJlO2lmKHN0YXR1cz09YWFnfHxzdGF0 dXM9PWFhaCl7dGgoc3IuZm9ybSwwKTtpZihiZClzcShiZCwKJ1x4M2NzcGFuIGNsYXNzPWVycm9y XHgzZUJhZCAnKyhzdGF0dXM9PWFhZz8ncG9zdG1hcmsnOidzaWduYXR1cmUnKSsKJ1x4M2Mvc3Bh blx4M2UnKX1lbHNlIGlmKGJkKXt2YXIgZD1hb2osYz0tMTtmb3IoYT0wO2E8MzthKyspaWYoKGM9 ZC5pbmRleE9mKAonICcsYysxKSk9PS0xKWJyZWFrO2lmKGMhPS0xKWQ9ZC5zdWJzdHJpbmcoMCxj KSsnPGJyPicrZC5zdWJzdHJpbmcoYysxKTtzcSgKYmQsZCl9fX1mdW5jdGlvbiBhbWooaGssZWks ZWcsYWJjLHNyLGFvbSl7dmFyIGQ7aWYoYWJjPT1mZyYmaGsudXNlcktleSl7dHgoCnVzLHNyKTt3 eihoay51c2Vya2V5bmFtZSk7aGsudXNlcktleT0nJzthbGEoaGssYmcpfWVsc2UgaWYoYWJjIT1n YylkPXNzKAonUlBDRXJyb3InLCcnLGFiYyxoay5tc2dJRCk7aWYoZClhbGVydChkKX12YXIgYWNu O2Z1bmN0aW9uIGFtYShiZSl7aWYoIWJlKWJlCj13aW5kb3cuZXZlbnQ7aWYoYmUpe2lmKGJlLnR5 cGU9PSdrZXlkb3duJyl3aW5kb3cub25rZXlkb3duPScnO2Vsc2UgaWYoYWNuJiYKYmUudHlwZT09 J2xvYWQnKXJldHVybjthY249eydjdHJsS2V5JzpiZS5jdHJsS2V5LCdhbHRLZXknOmJlLmFsdEtl eSwKJ3NoaWZ0S2V5JzpiZS5zaGlmdEtleX19fWZ1bmN0aW9uIGFueSgpe3ZhciBkO2lmKGQ9a2Uo Cid0b1NlbGVjdCcpKWQuZGlzYWJsZWQ9MTthbXYoKTt1bygKJ3Bhc3N3b3JkUm93MScpO3VvKCdm b3Jnb3RQYXNzd29yZFJvdycpO2FsdygpO3RiKCdpbml0TXNnJyxzcygnUlBDV2FpdGluZycpKQp9 ZnVuY3Rpb24gYW9pKHN2LHN3LGhrLHdlLGFraCl7aWYoT1NNYWNPUzkmJihoay5mbGFncyZhYmIp JiYhKGhrLgpmbGFncyZhYmopKXt0eCh1cik7cmV0dXJuO313aW5kb3cub25rZXlkb3duPScnO2hr LnJwYz17J3VybCc6d2V9O2hrLmZvcm0uCmluZGV4PXN2O2hrLmZvcm0uZm9jdXNGaWVsZD1zdzto ay5zZWN1cmVSZXBseUFsZz0nQVJDNCc7aWYoIQpha2gpYWtoPWFjbnx8d2luZG93LmV2ZW50O2lm KGQ9a2UoJ3RpbWVTdGFtcExvY2F0aW9uJykpaWYocGF5bG9hZC5zaWduYXR1cmUpZC5pbm5lckhU TUw9CidceDNjc3BhbiBjbGFzcz10aW1lc3RhbXAgaWQ9c2lnbmF0dXJlXHgzZScrJ1x4M2NhIGhy ZWY9ImphdmFzY3JpcHQ6JysiYW9rIisKJygnKyJwYXlsb2FkIisnLFwnJytzdisnXCcsXCdzaWdu YXR1cmVcJyknKwonIlx4M2VWZXJpZnkgdGhpcyBlbnZlbG9wZVx4M2MvYVx4M2UnKydceDNjL3Nw YW5ceDNlJztlbHNlIGQuaW5uZXJIVE1MPQonXHgzY3NwYW4gY2xhc3M9dGltZXN0YW1wXHgzZUph bnVhcnkgMjcsIDIwMTAnKydceDNjYnJceDNlMTA6MTM6MjIgQU0gUFNUXHgzYy9zcGFuXHgzZSc7 aWYoCmhrLnNlc3Npb25LZXkpZG9jdW1lbnQuZm9ybXNbc3ZdLnNlc3Npb25rZXkudmFsdWU9YmIu ZW5jb2RlVG9TdHJpbmcoaGsuCnNlc3Npb25LZXkpO2lmKChoay51c2VyS2V5fHxoay5zZXNzaW9u S2V5KSYmKGhrLmZsYWdzJnl5KSYmKCFha2h8fCFha2guCmFsdEtleSkpYWt6KGRvY3VtZW50LmZv cm1zW3N2XSxoaywnJyxha2gpO2Vsc2UgaWYoaGsudXNlcktleQp8fGhrLnNlc3Npb25LZXl8fGhr LmVuY3J5cHRlZFNlc3Npb25LZXkpe3RiKCdpbml0TXNnJywnJyk7aWYoaGsuc2VsZWN0ZWRJRCkK YWxuKGhrLnNlbGVjdGVkSUQpO2FsYShoayl9ZWxzZSBhbHUoKTt9ZnVuY3Rpb24gYWt5KGFvYSl7 CnZhciBkLGJkLGhrPXBheWxvYWQ7aWYoYWt2JiYoZD1rZSgnYXV0aEZyYW1lJykpKXtpZihkPQp0 bCgnaWZyYW1lTG9jYXRpb24nKSlkLmFwcGVuZENoaWxkKGFrdil9YW12KCk7aWYoZD1rZSgnZW1h aWxUbycpKXsKaWYoYmQ9a2UoJ3RvU2VsZWN0Jykpe2Frbz1iZDtkLnJlbW92ZUNoaWxkKGFrbyl9 aWYoYW9hJiZoay5zZWxlY3RlZElEKXRiKGQsCmhrLnNlbGVjdGVkSUQpO2Vsc2UgdGIoZCwncG9y dHMtY29tbWl0dGVyc0BGcmVlQlNELm9yZywgY3ZzLXBvcnRzQEZyZWVCU0Qub3JnLCBjdnMtYWxs QEZyZWVCU0Qub3JnJyl9dW8oJ2JjY1JvdycpO3VvKCdwYXNzd29yZFJvdzEnKTt1bygKJ2Zvcmdv dFBhc3N3b3JkUm93Jyk7dGIoJ29wZW5CdXR0b25Mb2NhdGlvbicsJycpO3RiKCdzYXZlQnV0dG9u TG9jYXRpb24nLCcnKQo7YWtrKDApO2lmKGQ9dGIoJ2NoZWNrYm94ZXNMb2NhdGlvbicsJycpKXVv KCdjaGVja2JveFJvdycsCidhZGRyZXNzU2VudGluZWxSb3cnKX1mdW5jdGlvbiBhbGEoaGssYWxy KXthbWMoaGspO2FtYihoayxhbHIpOwpha3IoYWt1KTtha2soYWxkfGFrbCk7YW1kKCk7CnRxKGhr LmZvcm0uaW5kZXgsaGsuZm9ybS5mb2N1c0ZpZWxkKTtha3Q9ZXZ9dmFyIGFrdT0xLGFscD0yLGFs Yz0zLAphbWc9NCxhbWU9NSxhbWY9NjtmdW5jdGlvbiBha3IoYWtxLGhpKXt2YXIgYWxmPWtlKCdi dXR0b25Db250YWluZXInKSxjYj1rZSgKJ2J1dHRvblRhYmxlJyksaGs9cGF5bG9hZCxkeixkO2lm KHZnfHwhYWxmKXJldHVybjtpZihjYilhbGYucmVtb3ZlQ2hpbGQoY2IpOwpjYj1kb2N1bWVudC5j cmVhdGVFbGVtZW50KCdkaXYnKTtjYi5zZXRBdHRyaWJ1dGUoJ2lkJywnYnV0dG9uVGFibGUnKTtj Yi4KaW5uZXJIVE1MPSdceDNjdGFibGUgY2VsbHBhZGRpbmc9MCBjZWxsc3BhY2luZz0wIGJvcmRl cj0wICcrCidzdHlsZT0iZmxvYXQ6IHJpZ2h0Ilx4M2VceDNjdHJceDNlXHgzY3RkIGlkPW9wZW5C dXR0b25Mb2NhdGlvbicrCidceDNlXHgzYy90ZFx4M2VceDNjdGQgaWQ9YnV0dG9uRGl2aWRlclx4 M2VceDNjL3RkXHgzZVx4M2N0ZCAnKwonaWQ9c2F2ZUJ1dHRvbkxvY2F0aW9uXHgzZVx4M2MvdGRc eDNlXHgzYy90clx4M2VceDNjL3RhYmxlXHgzZSc7YWxmLgppbnNlcnRCZWZvcmUoY2IsYWxmLmZp cnN0Q2hpbGQpOwppZihha3E9PWFrdSYmKGhrLmZsYWdzJmFiYikmJihoay5mbGFncwomYWJqKSYm KChoay5mbGFncyZhY2opfHxpeikpe2FrcT1hbGN9ZD1rZSgnb3BlbkJ1dHRvbkxvY2F0aW9uJyk7 CnN3aXRjaChha3Epe2Nhc2UgYWt1OmQuaW5uZXJIVE1MPXVkKCdPUEVOJywxLGR6PQonb3BlbkJ1 dHRvbicsImFtbihqaCxldmVudCkiKTticmVhaztjYXNlIGFsYzpkLmlubmVySFRNTD11ZCgnT1BF TiBPTkxJTkUnLDEsCmR6PSdvcGVuQnV0dG9uJywib3Blbk9ubGluZShwYXlsb2FkKSIsJ29vYnRu Jyk7aWYoZD10bCgnb29MaW5rQ2VsbCcpKXtkLgpjbGFzc05hbWU9J3RleHQnO2QuaW5uZXJIVE1M PXNzKCdPcGVuT25saW5lSGludCcpfWJyZWFrOwpjYXNlIGFscDpkLmlubmVySFRNTD11ZCgnU1VC TUlUJywwLGR6PSdzdWJtaXRCdXR0b24nLCJhbW8oKSIpCjticmVhaztjYXNlIGFtZzpkLmlubmVy SFRNTD11ZCgnUkVHSVNURVInLDAsZHo9J3JlZ2lzdGVyQnV0dG9uJywiYW5tIisiKCciKwpoaSsi JykiKTticmVhaztjYXNlIGFtZTpkLmlubmVySFRNTD11ZCgnUkVGUkVTSCcsMCxkej0ncmVmcmVz aEJ1dHRvbicsCiJhbHUoKSIpO2JyZWFrO2Nhc2UgYW1mOmQuaW5uZXJIVE1MPXVkKCdSRUZSRVNI JywwLGR6PSdyZWZyZXNoQnV0dG9uJywKImFuZCgpIik7YnJlYWs7fWlmKGR6KXtha3E9ZG9jdW1l bnQuZm9ybXNbMF1bZHpdO2lmKGFrcSYmYWtxLgpmb2N1cyYmdG4pYWtxLmZvY3VzKCl9fWZ1bmN0 aW9uIGFtYyhoayl7dmFyIGQsY2EsZHcsYW1wPVt7J2F0dHJzJzp7CidtYXhsZW5ndGgnOgo0MCwn dHlwZSc6CidwYXNzd29yZCcsCiduYW1lJzona2V5MScsJ3NpemUnOjIwfSwKJ3RpdGxlJzonUGFz c3dvcmQ6J31dLGEsYyxlPWFtcC5sZW5ndGgsZW07Zm9yKGE9MTthPD1lOwphKyspe3VrKCdwYXNz d29yZFJvdycrYSwnYWRkcmVzc1NlbnRpbmVsUm93Jyk7ZW09CmFtcFthLTFdO2lmKGQ9a2UoJ3Bh c3N3b3JkVGl0bGUnK2EpKXtkdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7dGIoZHcsZW0K IC50aXRsZSk7dGwoZCk7ZC5hcHBlbmRDaGlsZChkdyl9aWYoZD1rZSgncGFzc3dvcmRFbnRyeScr YSkpe2lmKGE9PTEmJihoay4Kbm9Vc2VyS2V5TmVlZGVkfHxoay51c2VyS2V5fHxoay5zZXNzaW9u S2V5KSl7Yz0nTm9QYXNzd29yZFJlcXVpcmVkJztkdz0KZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn cCcpO3RiKGR3LHNzKGMpKTt0bChkKTtkLmFwcGVuZENoaWxkKGR3KTticmVha31jYT1bXQo7Zm9y KGMgaW4gZW0uYXR0cnMpY2FbY2EubGVuZ3RoXT1jKyc9IicraXgoZW0uYXR0cnNbY10pKyciJztk LmlubmVySFRNTD0KJ1x4M2NwXHgzZVx4M2NpbnB1dCAnK2NhLmpvaW4oJyAnKSsnXHgzZVx4M2Mv cFx4M2UnfX0KaWYoIShoay5ub1VzZXJLZXlOZWVkZWR8fGhrLnVzZXJLZXl8fGhrLnNlc3Npb25L ZXkpCil7dWsoJ2ZvcmdvdFBhc3N3b3JkUm93JywnYWRkcmVzc1NlbnRpbmVsUm93Jyk7aWYoCmQ9 a2UoJ2ZvcmdvdFBhc3N3b3JkQ2VsbCcpKWQuaW5uZXJIVE1MPXVmKCdGb3Jnb3QgcGFzc3dvcmQ/ JywKJ2h0dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20vd2Vic2FmZS9wc3dkRm9y Z290LmFjdGlvbicsYmcpfX1mdW5jdGlvbiBhbWIoaGssYWxyLGFtbCl7dmFyIGQ7aWYoZD1rZQoo J2NoZWNrYm94ZXNMb2NhdGlvbicpKXt2YXIgYWtwPVtdOwoKCmlmKCFoay4Kc2Vzc2lvbktleSYm IWhrLnVzZXJLZXkmJmhrLmNvb2tpZXNFbmFibGVkJiYoIWhrLm5vVXNlcktleU5lZWRlZHx8YW1s KSlha3BbCmFrcC5sZW5ndGhdPXVlKCdyZW1lbWJlck1lJywnJyxhbWwsJ1JlbWVtYmVyIG1lIG9u IHRoaXMgY29tcHV0ZXIuJyk7CnVrKCdjaGVja2JveFJvdycsCidhZGRyZXNzU2VudGluZWxSb3cn KTtkLmlubmVySFRNTD0nXHgzY3RhYmxlXHgzZScrYWtwLmpvaW4oJycpKwonXHgzYy90YWJsZVx4 M2UnO2Fsbyhkb2N1bWVudC5mb3Jtc1toay5mb3JtLmluZGV4XSxhbmcpO319dmFyIGFsZD0KMTt2 YXIgYWtsPTI7dmFyIGFscT00OwpmdW5jdGlvbiBha2soYWt3KXt2YXIgZCxoaz1wYXlsb2FkO2lm KCEoZD10YigKJ29vTGlua0NlbGwnLCcmbmJzcDsnKSkpcmV0dXJuO2lmKCF2ZyYmKGFrdyZhbGQp KXtpZigoaGsuZmxhZ3MmYWJqKSYmKCEoaGsuCmZsYWdzJmFiYil8fCEoaGsuZmxhZ3MmYWNqKSkm JiFoay51c2VyS2V5KXtkLmNsYXNzTmFtZT0nb290ZXh0JztkLmlubmVySFRNTD0Kc3MoJ09wZW5P bmxpbmVUaXAnLCcnLHVmKCdPcGVuIE9ubGluZScsJ2phdmFzY3JpcHQ6JysiYW9mKCkiLDAsJycp KX19CmlmKCEoZD10YignbGlua0NlbGwnLCcmbmJzcDsnKSkpcmV0dXJuO2lmKCF2ZyYmKGFrdwom YWtsKSl7ZC5pbm5lckhUTUw9dWYoc3MoJ0RpZmZlcmVudEFkZHJlc3NMaW5rJyksJ2phdmFzY3Jp cHQ6JysKIndyb25nQWRkcmVzcyIrJygpOycsMCwnJyl9aWYoIXZnJiYoYWt3JmFscSkpe2QuCmlu bmVySFRNTD11ZihzcygnTm90TGlzdGVkTGluaycpLCdqYXZhc2NyaXB0OicrImFtayIrJygxKTsn LDAsJycpfQp9ZnVuY3Rpb24gYWx3KCl7dmFyIGQ9a2UoJ2JvcmRlclRhYmxlJyksYmc9a2UoJ2Jv cmRlckNvbnRhaW5lcicpLApnO2lmKGQmJmJnKXtnPXVoKGQpKzQ7aWYoZzwyOTApZz0yOTA7Ymcu d2lkdGg9ZztkLndpZHRoPScxMDAlJ31kPWtlKAonYm9yZGVyQ29udGFpbmVyJyk7Ymc9a2UoJ2Nl bnRlclRhYmxlJyk7bWk9a2UoJ291dGVyVGFibGUnKTtpZihkJiZiZyYmbWkpe2c9CnVoKGQpO2lm KGc+Mzg1KXtiZy53aWR0aD0zMTUrZztkLndpZHRoPWc7bWkud2lkdGg9MzY1K2d9fWlmKHZkJiYo ZD1rZSgKJ291dGVyUG9zdG1hcmsnKSkpZC5jbGFzc05hbWU9J0lFNVBvc3RtYXJrJ31mdW5jdGlv biBhbXEoKXt2YXIgZD1rZSgKJ2hlaWdodENvbnRyb2wnKTtpZihkJiZ1ZyhkKT4yMTApZC5oZWln aHQ9dWcoZCl9ZnVuY3Rpb24gYW1rKAphb2Ipe3ZhciBoaz1wYXlsb2FkLGQsYWxlLGFsZT1rZSgn YmNjUm93Jyk7aWYoZD1rZSgndG9TZWxlY3QnKSlkLgpzZWxlY3RlZEluZGV4PWQubGVuZ3RoLTE7 dWsoJ2JjY1JvdycsJ3N1YmplY3RSb3cnKTtpZihhbGU9a2UoJ2JjY1JvdycpKXthbGUuCmNlbGxz WzBdLmlubmVySFRNTD0nXHgzY3BceDNlWW91ciBhZGRyZXNzOlx4M2MvcFx4M2UnO2FsZS5jZWxs c1sxXS5pbm5lckhUTUwKPSdceDNjcFx4M2VceDNjaW5wdXQgdHlwZT10ZXh0ICcrJ25hbWU9ImJj YyIgc2l6ZT0yMFx4M2VceDNjL3BceDNlJ310cShoay4KZm9ybS5pbmRleCwnYmNjJyk7aWYoYW9i KXVtKCdodHRwczovL2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL3dlYnNhZmUvaGVscD90 b3BpYz1BZGRyTm90U2hvd24nLCdfYmxhbmsnLAondG9vbGJhcj1ubywgbG9jYXRpb249bm8sIGRp cmVjdG9yaWVzPW5vLCBzdGF0dXM9bm8sJysKJyBtZW51YmFyPW5vLCBzY3JvbGxiYXJzPXllcywg cmVzaXphYmxlPXllcywnKycgd2lkdGg9NzY0LCBoZWlnaHQ9NTQwJyk7Cn12YXIgYWtvO2Z1bmN0 aW9uIHdyb25nQWRkcmVzcygpe3ZhciBkLApoaz1wYXlsb2FkLHN2PWRvY3VtZW50LmZvcm1zW2hr LmZvcm0uaW5kZXhdO2FreShiZyk7aWYoYWtvKXtpZihkPWtlKAonZW1haWxUbycpKXtha28uc2Vs ZWN0ZWRJbmRleD0wO2QucmVwbGFjZUNoaWxkKGFrbyxkLmNoaWxkTm9kZXNbMF0pfWFrby4KZGlz YWJsZWQ9ZW19aWYoc3YuYmNjKXN2LmJjYy52YWx1ZT0nJztoay5ub1VzZXJLZXlOZWVkZWQ9Jyc7 YWt0PWV5O2Frbj0wO3RiKAonaGlkZGVuUmVjaXBpZW50JywnJyk7YWtyKGFscCk7YWtrKGFscSk7 aWYoaGspaGsuc2VsZWN0ZWRJRD0nJzt0YigncGFzc01zZycsCicmbmJzcDsnKTt0YignbGFzdExv Z2luTG9jYXRpb24nLCcmbmJzcDsnKTt0cShoay5mb3JtLmluZGV4LCd0b1NlbGVjdCcpfQpmdW5j dGlvbiBhb2UoKXt2YXIgZDtpZihkPWtlKCd0b1NlbGVjdCcpKWlmKGQuCnNlbGVjdGVkSW5kZXg9 PWQubGVuZ3RoLTEpYW1rKCl9ZnVuY3Rpb24gYWxuKHdxLAphbmEpe3ZhciBkLGJkLGhrO2lmKGQ9 a2UoJ2hpZGRlblJlY2lwaWVudCcpKXtkLmlubmVySFRNTD0KJ1x4M2NpbnB1dCB0eXBlPWhpZGRl biAnKyduYW1lPXJlY2lwaWVudCAnKyd2YWx1ZT0iJyt3cSsnIlx4M2UnfWhrPXBheWxvYWQ7Cmhr LnNlbGVjdGVkSUQ9d3E7aWYoZD1rZSgnZW1haWxUbycpKXtpZihiZD1rZSgndG9TZWxlY3QnKSl7 YWtvPWJkO2lmKCFhbmEpCmFrby52YWx1ZT13cTtkLnJlbW92ZUNoaWxkKGFrbyl9aWYoIWFuYSl7 dGIoZCx3cSk7YWx3KCl9fX0KZnVuY3Rpb24gYW9uKGFtbSl7aWYoYW1tKXRiKCdsYXN0TG9naW5M b2NhdGlvbicsCidMYXN0IGxvZ2luOiAnK2FtbSk7ZWxzZSB0bCgnbGFzdExvZ2luTG9jYXRpb24n KX0KZnVuY3Rpb24gYW9nKAphbmope3ZhciBkO2lmKGFuaiYmKGQ9a2UoJ3NlbmRlckF1dGhMb2Nh dGlvbicpKSl7dGIoZC5jZWxsc1swXSwKJ0F1dGhlbnRpY2F0aW9uOicpO3RiKGQuY2VsbHNbMV0s J1NlbmRlcicpfX0KZnVuY3Rpb24gYW9oKAphb2Qpe3ZhciBkO2lmKGQ9a2UoJ3NlbnNpdGl2aXR5 TG9jYXRpb24nKSl7dGIoZC5jZWxsc1swXSwnTWVzc2FnZSBTZWN1cml0eTonCik7dGIoZC5jZWxs c1sxXSxhb2QpfX0KZnVuY3Rpb24gYW12KCl7dmFyIGQ7aWYoZD1rZSgncGFzc3BocmFzZUxhYmVs Um93JykpZC4KY2xhc3NOYW1lPScnO2lmKGQ9dGIoJ3Bhc3NwaHJhc2VMYWJlbCcsJycpKWQuY2xh c3NOYW1lPScnO2lmKGQ9dGIoCidwYXNzcGhyYXNlVGV4dCcsJycpKWQuY2xhc3NOYW1lPScnO2lm KGQ9dGIoJ3Bhc3NwaHJhc2VJbmZvJywnJykpZC5jbGFzc05hbWUKPScnfWZ1bmN0aW9uIGFtZCgp e3ZhciBkLGJnO2JnPWtlKCdwYXNzcGhyYXNlVGFibGUnKTtkPWtlKCdwYXNzcGhyYXNlQ2VsbEpT JwopO2lmKGQmJmJnKXtkLmNsYXNzTmFtZT0ncGFzc3BocmFzZVRWZXInO2QucGFyZW50Tm9kZS5j bGFzc05hbWU9CidwYXNzcGhyYXNlVEhvcic7ZC5hcHBlbmRDaGlsZChiZyl9aWYoZD1rZSgncGFz c3BocmFzZUxhYmVsUm93JykpZC5jbGFzc05hbWUKPSdwYXNzcGhyYXNlTGFiZWxSb3cnO2lmKGQ9 dGIoJ3Bhc3NwaHJhc2VMYWJlbCcsJ1BlcnNvbmFsIFNlY3VyaXR5IFBocmFzZScpKQpkLmNsYXNz TmFtZT0ncGFzc3BocmFzZUxhYmVsJztpZihkPWtlKCdwYXNzcGhyYXNlVGV4dCcpKXtkLmNsYXNz TmFtZT0KJ3Bhc3NwaHJhc2VUZXh0JztkLmlubmVySFRNTD1zcygnUGFzc3BocmFzZVRleHQnKX1p ZihkPWtlKCdwYXNzcGhyYXNlSW5mbycpKQp7ZC5jbGFzc05hbWU9J3Bhc3NwaHJhc2VJbmZvJztk LmlubmVySFRNTD11ZignTW9yZSBpbmZvJywKJ2h0dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9u cG9ydC5jb20vd2Vic2FmZS9oZWxwP3RvcGljPVBQTm90U2hvd24nLGJnKX19CnZhciBha3Y9Jycs YW13PWVtO2Z1bmN0aW9uIGFueCgpe2lmKGFtdylyZXR1cm47dmFyIGQsZHcsb2wsaGsKPXBheWxv YWQsc3Y9ZG9jdW1lbnQuZm9ybXNbMV07ZHc9a2UoJ2lmcmFtZUxvY2F0aW9uJyk7YWt2PWtlKCdp ZnJhbWVUYWJsZScpOwpvbD11ZyhrZSgnaGVpZ2h0Q29udHJvbCcpKTtpZihvbDwyMTApb2w9MjEw O3N2LmhlaWdodC52YWx1ZT11Zyhha3YpO3N2LgpoY19oZWlnaHQudmFsdWU9b2w7c3Yua3NraC52 YWx1ZT1oay5hbGduYW1lcy5rZXlTZXJ2ZXJLZXlIYXNoO3N2Lm0udmFsdWU9aGsuCm1zZ0lEO2lm KChoay5mbGFncyZhYmIpJiYoaGsuZmxhZ3MmYWJqKSYmKChoay4KZmxhZ3MmYWNqKXx8aXopKXtz di5mb28udmFsdWU9JzEnfXN2LnNpZC52YWx1ZT1oay5ycGMuc2Vzc2lvbnx8Jyc7aWYoaGsucnBj Lgp0cmFmZmljS2V5KXN2LnRrLnZhbHVlPWJiLmVuY29kZVRvU3RyaW5nKGhrLnJwYy50cmFmZmlj S2V5KTthbXc9Ymd9ZnVuY3Rpb24KYW5kKCl7dmFyIGQsZHcsb2wsaGs9cGF5bG9hZCxkcT1bXSxk cD0wLHN2PWRvY3VtZW50LmZvcm1zWzFdLGFtcztkdz1rZSgKJ2lmcmFtZUxvY2F0aW9uJyk7YW54 KCk7c3Yuc3UudmFsdWU9aGsuc2VsZWN0ZWRJRDtzdi53aWR0aC52YWx1ZT11aChrZSgKJ2JvcmRl ckNvbnRhaW5lcicpKTtzdi5jdF93aWR0aC52YWx1ZT11aChrZSgnY2VudGVyVGFibGUnKSk7b2w9 dWcoZHcpKyh2Zj8zOgoxKTtkdy5yZW1vdmVDaGlsZChha3YpO2lmKHZmJiYoZD1rZSgnaGlkZGVu QXJlYScpKSlkLmFwcGVuZENoaWxkKGFrdik7aWYoc3YuCmFjdGlvbi5pbmRleE9mKCdhdXRoZW50 aWNhdGUuYWN0aW9uJyk+MCl7aWYocGFyc2VJbnQoc3Yud2lkdGgudmFsdWUpPDM2NSlzdi4Kd2lk dGgudmFsdWU9JzM2NSc7b2wrPTEwfWR3LmlubmVySFRNTD0KJ1x4M2NpZnJhbWUgaWQ9YXV0aEZy YW1lIG5hbWU9ImF1dGhGcmFtZSIgZnJhbWVib3JkZXI9MCAnKwonc2Nyb2xsaW5nPW5vIGhlaWdo dD0nK29sKyh2Zj8nIHNyYz0ib3BlcmE6YmxhbmsiICc6JyAnKSsKJ3dpZHRoPSIxMDAlIlx4M2Vc eDNjL2lmcmFtZVx4M2UnO2Ftcz10bjtzdi5zdWJtaXQoKTt0bj1hbXM7aWYodG4pc2V0VGltZW91 dAooImFucSgpIiwyNTApO2FmZC5yZXNldCgpO3ZhciBlcT0yNTAwO2lmKGFrbj4wKWVxKz01MDAw O3NldFRpbWVvdXQoImFscygpIiwKZXEpfWZ1bmN0aW9uIGFucSgpe3ZhciBkdz1rZSgnYXV0aEZy YW1lJyk7aWYoZHcmJmR3LmNvbnRlbnRXaW5kb3cmJmR3Lgpjb250ZW50V2luZG93LmZvY3VzKWR3 LmNvbnRlbnRXaW5kb3cuZm9jdXMoKX12YXIgYWt0PWV2CjtmdW5jdGlvbiBhbm4oc3YsaGspe3Rx KGhrLmZvcm0uaW5kZXgsaGsuZm9ybS5mb2N1c0ZpZWxkKTtzd2l0Y2goYWt0KXtjYXNlCmV2OmFr eihzdixoayxmb3JtS2V5KHN2LmtleVNlcGFyYXRvci52YWx1ZSxzdi5rZXlDYXNlSW5zZW5zaXRp dmUudmFsdWU9PScxJywKc3YpKTticmVhaztjYXNlIGZjOmFsdSgpO2JyZWFrO2Nhc2UgZXk6YW1v KCk7YnJlYWt9cmV0dXJuIGVtfWZ1bmN0aW9uIGFucihzdgosYWtoKXtpZighYWtoKWFraD13aW5k b3cuZXZlbnQ7aWYoYWtoLmtleUNvZGU9PTEzKWlmKHN2Lm9uc3VibWl0KXN2Lm9uc3VibWl0Cigp O2Vsc2Ugc3Yuc3VibWl0KCk7cmV0dXJuIGVtfXZhciBha249MDtmdW5jdGlvbiBhbHUoKXt2YXIg aGsKPXBheWxvYWQsZHI9Jycsc3Y9ZG9jdW1lbnQuZm9ybXNbaGsuZm9ybS5pbmRleF07aWYoc3Yu cmVjaXBpZW50JiZzdi4KcmVjaXBpZW50LnZhbHVlIT0nbnVsbCcpZHI9eydzdSc6c3YucmVjaXBp ZW50LnZhbHVlfTtlbChoay5ycGMsaGsubXNnSUQsZmMsMAosYW53LGRyLCcnLDMwMDAwKX1mdW5j dGlvbiBhbW8oKXt2YXIgaGs9cGF5bG9hZCxzdgo9ZG9jdW1lbnQuZm9ybXNbaGsuZm9ybS5pbmRl eF0sd3E9Jyc7dGgoaGsuZm9ybS5pbmRleCwwKTtpZihoay5zZWxlY3RlZElEKXdxCj1oay5zZWxl Y3RlZElEO2lmKCF3cSYmc3YucmVjaXBpZW50KXt3cT1zdi5yZWNpcGllbnQudmFsdWU7aWYod3E9 PSdudWxsJ3x8d3EKPT0nX3RvJ3x8d3E9PSdfY2MnfHx3cT09J19iY2MnKXdxPScnfWlmKCF3cSYm c3YuYmNjKXt3cT1zdi5iY2MudmFsdWV9aWYod3EpCmhrLnNlbGVjdGVkSUQ9d3E7ZWxzZXtpZihz di5iY2MpYWxlcnQoc3MoJ19Ob1VzZXJFbnRlcmVkJykpO2Vsc2UgYWxlcnQoc3MoCidfTm9Vc2Vy U2VsZWN0ZWQnKSk7dGgoaGsuZm9ybS5pbmRleCwxKTtyZXR1cm4gZW19CmlmKHN2LnJlbWVtYmVy TWUpaWYoc3YucmVtZW1iZXJNZS5jaGVja2VkKWhrLmZsYWdzfD1hY2k7ZWxzZXtoay4KZmxhZ3Mm PX5hY2l9dmFyIGVvPWhrLmhhcmRlbmVybmFtZT9oay5oYXJkZW5lcm5hbWUraGsucmlkWzBdOmhr Lm1zZ0lEO3RiKAonaW5pdE1zZycsc3MoJ1JQQ1dhaXRpbmcnKSk7ZWwoaGsucnBjLGVvLGV5LDAs YW52LHsnc3UnOmhrLnNlbGVjdGVkSUR9KX0KZnVuY3Rpb24gYW5tKGFvYyl7dmFyIGQ7dGIoJ3Bh c3NNc2cnLCcnKTtkPXVtKGFvYywKJ19ibGFuaycsJ3Rvb2xiYXI9eWVzLCBtZW51YmFyPXllcywg c2Nyb2xsYmFycz15ZXMsIHJlc2l6YWJsZT15ZXMsICcrCidsb2NhdGlvbj15ZXMsIHN0YXR1cz15 ZXMnKTt0cihlbSk7YWx5KHsncmVjaXBpZW50SWRlbnRpZmllZCc6ZW19KTtpZihkJiZkLgpmb2N1 cylkLmZvY3VzKCl9ZnVuY3Rpb24gYWxzKCl7dmFyIGhrPXBheWxvYWQsZW89CmhrLmhhcmRlbmVy bmFtZT9oay5oYXJkZW5lcm5hbWUraGsucmlkWzBdOmhrLm1zZ0lELHdvPSgoaGsuZmxhZ3MmemYp fHwoaGsuCmZsYWdzJmFhZCk/JzEnOicwJyk7ZWwoaGsucnBjLGVvLGV3LDAsYW51LHsnc3UnOmhr LnNlbGVjdGVkSUQsJ2NrJzp3b30sJycsCmFmZC53YWl0KzE1MDAwKTtzZWxmLnN0YXR1cz0nRG9u ZSd9ZnVuY3Rpb24gYW1yKAphbHYpe3ZhciBha3g9YWx2LGEsZDtkPWRvY3VtZW50LmZvcm1zW3Bh eWxvYWQuZm9ybS5pbmRleF1bJ3JlZ2lzdGVyVVJMJ107aWYoCmQmJmQudmFsdWUpe3ZhciBhPWFs di5pbmRleE9mKCc/Jyk7YWt4PWQudmFsdWU7aWYoYSE9LTEpYWt4Kz1hbHYuc3Vic3RyaW5nKGEK KX1yZXR1cm4gYWt4fWZ1bmN0aW9uIGFsaShkcil7dmFyIHN1LGQsaGs9cGF5bG9hZCxha3g9YW1y KGRyLmVucm9sbExpbmspOwpha24rKztzdT1zcygnUlBDTm90UmVnaXN0ZXJlZCcsJycsYWt4KTth a3IoYW1nLGFreCk7YWtrKGFrbCk7YWt0PWV5OwpyZXR1cm4gc3V9ZnVuY3Rpb24gYWxoKGRyKXt2 YXIgc3UsZCxoaz1wYXlsb2FkO2FrbisrO3N1PXNzKCdSUENOb3RBY3RpdmF0ZWQnCiwnJyxhbXIo ZHIuZW5yb2xsTGluaykpO3RiKCdvcGVuQnV0dG9uTG9jYXRpb24nLCcnKTtha2soYWtsKTtha3Q9 ZXk7CnJldHVybiBzdX1mdW5jdGlvbiBhbG0oZHIpe2Frayhha2wpO3JldHVybiBzcygKJ1JQQ0xv Y2tlZCcpKyhkci5zdGF0dXNNc2c/J1xuXG5Mb2NrZWQgbWVzc2FnZTogJytkci5zdGF0dXNNc2c6 JycpfQpmdW5jdGlvbiBhbGcoZHIpe2Frayhha2wpO3JldHVybiBzcygnUlBDRXhwaXJlZCcpfQpm dW5jdGlvbiBhbGsoZHIpe2Frayhha2wpO2lmKGRyLnN0YXR1cz09ZnopYWxlcnQoCnNzKCdSUENT dXNwZW5kZWQnLCcnLGRyLnJlY2lwaWVudCkpO2Vsc2UgaWYoZHIuc3RhdHVzPT1meSlhbGVydChz cygKJ1JQQ05vdFNlbnRFbnZlbG9wZScsJycsZHIucmVjaXBpZW50KSk7ZWxzZSBpZihkci5zdGF0 dXM9PWZ2KWFsZXJ0KHNzKAonUlBDVXNlckxvY2tlZCcsJycsZHIucmVjaXBpZW50KSk7cmV0dXJu IHNzKCdSUENSZWNpcGllbnRFcnJvcicpfQpmdW5jdGlvbiBhbGooZHIpe3ZhciBkdztha2soYWts KTthbGVydChzcygnUlBDQmxvY2tlZCcsJycsZHIuCnJlY2lwaWVudCkpO2lmKGR3PWtlKCdwYXNz TXNnJykpZHcuaW5uZXJIVE1MPXNzKAonUlBDQmxvY2tlZFRleHQnKSt1ZignRm9yZ290IHBhc3N3 b3JkPycsJ2h0dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20vd2Vic2FmZS9wc3dk Rm9yZ290LmFjdGlvbicsYmcpO30KZnVuY3Rpb24gYW5zKGFseil7dmFyIGFrcz1hbHosYSxkO2Q9 ZG9jdW1lbnQuZm9ybXNbcGF5bG9hZC5mb3JtLmluZGV4XVsKJ3Bzd2RFeHBpcmVkVVJMJ107aWYo ZCYmZC52YWx1ZSl7dmFyIGE9YWx6LmluZGV4T2YoJz8nKTtha3M9ZC52YWx1ZTtpZihhIT0tMQop e2lmKGFrcy5pbmRleE9mKCc/JykhPS0xKWFrcys9JyYnO2Vsc2UgYWtzKz0nPyc7YWtzKz1hbHou c3Vic3RyaW5nKGErMSl9fQpyZXR1cm4gYWtzfWZ1bmN0aW9uIGFtdShkcil7dmFyIGR3LGFrcz1h bnMoZHIucHN3ZEV4cExpbmspO2Frayhha2wpO2lmKGR3PWtlCigncGFzc01zZycpKWR3LmlubmVy SFRNTD1zcygnUlBDUGFzc3dvcmRFeHBpcmVkJykrdWYoJ0NoYW5nZSBwYXNzd29yZCcsYWtzLApi Zyl9ZnVuY3Rpb24gYW10KGRyKXt2YXIgaGs9cGF5bG9hZCxha3c9YWxkO2lmKGRyLgpyZWNpcGll bnQpe2lmKCFkci5yZWNpcGllbnRJZGVudGlmaWVkKWRyLmF1dG9PcGVuPWJnO2Frd3w9YWtsfWVs c2V7ZHIuCmF1dG9PcGVuPWJnO2FsbigndW5kZWZpbmVkJyk7dGIoJ2VtYWlsVG8nLCdwb3J0cy1j b21taXR0ZXJzQEZyZWVCU0Qub3JnLCBjdnMtcG9ydHNARnJlZUJTRC5vcmcsIGN2cy1hbGxARnJl ZUJTRC5vcmcnKX1oay5ub1VzZXJLZXlOZWVkZWQ9Ymc7CmFrayhha3cpO2FtYyhoayk7YW1kKCk7 YW1iKGhrLDAsZHIuCnJlY2lwaWVudElkZW50aWZpZWQpO2Frcihha3UpO3RxKGhrLmZvcm0uaW5k ZXgsaGsuZm9ybS5mb2N1c0ZpZWxkKTthbXEoKTtha3QKPWV2fWZ1bmN0aW9uIGFseShkcil7dmFy IGhrPXBheWxvYWQ7YWtrKGFsZHxha2wpOwphbWMoaGspO2FtZCgpO2FtYihoaywwLGRyLnJlY2lw aWVudElkZW50aWZpZWQKKTtha3IoYWt1KTt0cShoay5mb3JtLmluZGV4LGhrLmZvcm0uZm9jdXNG aWVsZCk7YWt0PWV2O2FtcSgpOwphbmQoKTt9ZnVuY3Rpb24gYW50Cihkcil7dmFyIGQsaGs9cGF5 bG9hZDtpZihha28pe3RiKCdoaWRkZW5SZWNpcGllbnQnLCcnKTtpZihkPWtlKCdlbWFpbFRvJykp ewpha28uc2VsZWN0ZWRJbmRleD0wO2QucmVwbGFjZUNoaWxkKGFrbyxkLmNoaWxkTm9kZXNbMF0p fX1ha3IoYWxwKTtha2soYWxxKTsKdHEoaGsuZm9ybS5pbmRleCwndG9TZWxlY3QnKTtha3Q9ZXl9 ZnVuY3Rpb24gYWxiKApkcil7dmFyIGQ7YWt5KGVtKTtpZihkci5zdGF0dXM9PWZyKXtha3IoYW1m KTt0YigKJ3Bhc3NNc2cnLHNzKCdSUENQb2xsVGltZW91dCcpKX1lbHNle2lmKGRyLnN0YXR1cz09 ZXJ8fGRyLnN0YXR1cz09CmdhKXtha3IoYW1lKTt0YigncGFzc01zZycsc3MoJ0ZhdGFsRXJyb3JS ZXRyeScpKTthbGVydChzcygoZHIuc3RhdHVzPT1lcj8KJ1JQQ05vU2VydmVyJzonUlBDRXJyb3In KSkpfWVsc2V7dGIoJ3Bhc3NNc2cnLHNzKCdGYXRhbEVycm9yJykpO2lmKGRyLnN0YXR1cwo+Mjcm JmRyLm1lc3NhZ2UpYWxlcnQoZHIubWVzc2FnZSsnXG5cblN0YXR1czogJytkci5zdGF0dXMpO2Vs c2UgYWxlcnQoc3MoCidSUENFcnJvcicsJycsZHIuc3RhdHVzKSl9fX1mdW5jdGlvbiBhbncoZHIp e3ZhciBkCix1aSx0aixkdyxha2gsaGs9cGF5bG9hZCxzdj1oay5mb3JtLmluZGV4fHwwO3RiKCdp bml0TXNnJywnJyk7dGIoJ3Bhc3NNc2cnLAonJyk7aWYoZHIudHJhZmZpY0tleSlkci5SUENSZWYu dHJhZmZpY0tleT1kci50cmFmZmljS2V5O2lmKGRyLnNlc3Npb25JZClkci4KUlBDUmVmLnNlc3Np b249ZHIuc2Vzc2lvbklkO2FmZC5pbml0aWFsaXplKGRyLm1pblBvbGwsZHIubWF4UG9sbCxkci4K dG90YWxQb2xsLGRyLndhaXRUaW1lKTtoay5jb29raWVzRW5hYmxlZD1kci5jb29raWVzRW5hYmxl ZDtpZihkci5zZW5kZXJBdXRoKQpoay5zZW5kZXJBdXRoPWRyLnNlbmRlckF1dGg7YW9nKGRyLnNl bmRlckF1dGgpOwphb2goZHIuc2Vuc2l0aXZpdHkpO2lmKGQ9a2UoCid0b1NlbGVjdCcpKWQuZGlz YWJsZWQ9MDtpZihkci5yZWNpcGllbnQpYWxuKGRyLnJlY2lwaWVudCk7c3dpdGNoKGRyLnN0YXR1 cykKe2Nhc2UgZ2M6Y2FzZSBmeDphbnQoZHIpO3JldHVybjtjYXNlIGZtOmNhc2UgZnc6dWk9KGRy LnN0YXR1cz09Zm0/YWxpKGRyKToKYWxoKGRyKSk7aWYoYWtuPjEpe3RiKCdwYXNzTXNnJyx1aSxi Zyk7dWk9Jyd9aWYoYWtuPjMpe2FsZXJ0KHNzKAonUlBDVG9vTWFueVJldHJpZXMnKSl9YnJlYWs7 Y2FzZSBmejpjYXNlIGZ2OmNhc2UgZnk6dWk9YWxrKGRyKTticmVhaztjYXNlIGZzCjphbGooZHIp O2JyZWFrO2Nhc2UgZnU6YW10KGRyKTtpZighYWtoKWFraD1hY258fHdpbmRvdy5ldmVudDtpZihk ci5hdXRvT3BlbgomJighYWtofHwhYWtoLmFsdEtleSkpYWt6KGRvY3VtZW50LmZvcm1zW3N2XSxo aywnJyxha2gsYmcpO2JyZWFrO2Nhc2UgZmY6dWk9CnNzKCdSUENBdXRoRmFpbGVkJyk7Y2FzZSBm dDphbHkoZHIpO2JyZWFrO2Nhc2UgZmg6dGo9YWxtKGRyKTticmVhaztjYXNlIGZqOgp0aj1hbGco ZHIpO2JyZWFrO2RlZmF1bHQ6YWxiKGRyKTtyZXR1cm47fWlmKCFkdylkdz0odWk/J3Bhc3NNc2cn OicnKTtzcShkdywKdWksJycsdGopfWZ1bmN0aW9uIGFudihkcil7dmFyIGQsdWksdGosZHcsYWto LGhrPQpwYXlsb2FkLHN2PWhrLmZvcm0uaW5kZXh8fDA7dGIoJ2luaXRNc2cnLCcnKTt0YigncGFz c01zZycsJycpO3RiKAonb3BlbkJ1dHRvbkxvY2F0aW9uJywnJyk7aWYoZHIucmVjaXBpZW50KWFs bihkci5yZWNpcGllbnQpO3VvKCdiY2NSb3cnKTtpZigKZHIudHJhZmZpY0tleSlkci5SUENSZWYu dHJhZmZpY0tleT1kci50cmFmZmljS2V5O2lmKGRyLnNlc3Npb25JZClkci5SUENSZWYuCnNlc3Np b249ZHIuc2Vzc2lvbklkO2hrLmNvb2tpZXNFbmFibGVkPWRyLmNvb2tpZXNFbmFibGVkO3N3aXRj aChkci5zdGF0dXMpewpjYXNlIGZtOmNhc2UgZnc6dWk9KGRyLnN0YXR1cz09Zm0/YWxpKGRyKTph bGgoZHIpKTtpZihha24+MSl7dGIoJ3Bhc3NNc2cnLHVpCixiZyk7dWk9Jyd9aWYoYWtuPjMpe2Fs ZXJ0KHNzKCdSUENUb29NYW55UmV0cmllcycpKX1icmVhaztjYXNlIGZ6OmNhc2UgZnY6CmNhc2Ug Znk6dWk9YWxrKGRyKTticmVhaztjYXNlIGZzOmFsaihkcik7YnJlYWs7Y2FzZSBmdTphbXQoZHIp O2lmKCFha2gpYWtoPQphY258fHdpbmRvdy5ldmVudDtpZihkci5hdXRvT3BlbiYmKCFha2h8fCFh a2guYWx0S2V5KSlha3ooZG9jdW1lbnQuZm9ybXNbc3ZdCixoaywnJyxha2gpO2JyZWFrO2Nhc2Ug ZmY6dWk9c3MoJ1JQQ0F1dGhGYWlsZWQnKTtjYXNlIGZ0OmNhc2UgZ2M6YWx5KGRyKTsKYnJlYWs7 Y2FzZSBmaDp0aj1hbG0oZHIpO2JyZWFrO2Nhc2UgZmo6dGo9YWxnKGRyKTticmVhaztkZWZhdWx0 OmFsYihkcik7CnJldHVybjt9aWYoIWR3KWR3PSh1aT8ncGFzc01zZyc6JycpO3NxKGR3LHVpLCcn LHRqKTt0aChzdiwxKX0KZnVuY3Rpb24gYW51KGRyKXt2YXIgZCx1aSx0aixkdyxha2gsaGs9CnBh eWxvYWQsc3Y9aGsuZm9ybS5pbmRleHx8MCxobTtpZihkci5ldmVudCl7ZXZhbCgnZ0V2ZW50PScr ZHIuZXZlbnQrJzsnKTtha2gKPWFjbn1pZighYWtoKWFraD1hY258fHdpbmRvdy5ldmVudDtkci5y ZWNpcGllbnQ9aGsuc2VsZWN0ZWRJRDtpZihkci5zdGF0dXM9PQpnYyl7aWYoZHIuZm5jYWxsKXtl dmFsKGRyLmZuY2FsbCk7cmV0dXJuO31lbChoay5ycGMsaGsubXNnSUQsZXUsMCwnJyx7J25yJzox Cn0pO2lmKGRyLnNlY3VyZU5hbWUmJmhrLnNlbGVjdGVkSUQhPSd1bmRlZmluZWQnKWhrLnNlY3Vy ZU5hbWU9aGsuZm9ybS5mb3JtLgpzZWN1cmVOYW1lLnZhbHVlPWRyLnNlY3VyZU5hbWU7aWYoZHIu b2ZmZXJMb2dvdXQpaGsubG9nb3V0VVJMPWhrLmZvcm0uZm9ybS4KbG9nb3V0VVJMLnZhbHVlPQon aHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS9rZXlzZXJ2ZXIvTG9nb3V0Jwo7 aGsuZm9ybS5mb3JtLnNlc3Npb25rZXkudmFsdWU9YmIuZW5jb2RlVG9TdHJpbmcoZHIua2V5KTtp Zihkci5vcGVuT25saW5lKXsKb3Blbk9ubGluZShoayk7cmV0dXJuIGVtfWFuYyhoayxkci5jYWNo ZUZsYWdzKTtpZihkci5jYWNoZWtleSloay51c2VyS2V5PWRyLgpjYWNoZWtleTtoay5zZXNzaW9u S2V5PWRyLmtleTtoay5ldmVudD1ha2h8fGFjbnx8d2luZG93LmV2ZW50O2htPShkci4KcmVxdWVz dFN0YXRlPT1leD9pcTpqaCk7cmV0dXJuIGFjYShoaywnJywyNTAsaG0seydwcm9ncmVzcyc6dHQs J2Vycm9yJzoKZGlzcGxheUVycm9yLCdycGMnOmFtaiwnc2F2ZWQnOnR5LCdmaW5hbGl6ZSc6YW5w fSx7J3Byb2dyZXNzQmFyJzp7J2JnQ29sb3InOgonIzgwODA4MCcsJ2JvcmRlckNvbG9yJzonIzAw MDAwMCd9fSl9ZWxzZSBpZihkci5zdGF0dXM9PWZyfHxkci5zdGF0dXM9PWZnKXsKaWYoZHIuc3Rh dHVzPT1mZylhZmQucmVzZXQoKTt2YXIgYW14PWFmZC5nZXROZXh0SW50ZXJ2YWwoImFscygpIik7 aWYoYW14PDApewppZihhbXg9PS0yKXt9ZWxzZXthbGIoZHIpfX1yZXR1cm4gZW19YWt5KGJnKTtz d2l0Y2goZHIuc3RhdHVzKXtjYXNlIGZtOmNhc2UKZnc6dWk9KGRyLnN0YXR1cz09Zm0/YWxpKGRy KTphbGgoZHIpKTtpZihha24+MSl7dGIoJ3Bhc3NNc2cnLHVpLGJnKTt1aT0nJ31pZgooYWtuPjMp e2FsZXJ0KHNzKCdSUENUb29NYW55UmV0cmllcycpKX1icmVhaztjYXNlIGZwOmFtdShkcik7YnJl YWs7Y2FzZSBmeToKY2FzZSBmdjpjYXNlIGZ6OnVpPWFsayhkcik7YnJlYWs7Y2FzZSBmczphbGoo ZHIpO2JyZWFrO2Nhc2UgZmg6dGo9YWxtKGRyKTsKYnJlYWs7Y2FzZSBmajp0aj1hbGcoZHIpO2Jy ZWFrO2Nhc2UgZnQ6YWtrKGFrbCk7dGIoJ3Bhc3NNc2cnLHNzKAonUlBDSW5zdWZmaWNpZW50QXV0 aCcpLGJnKTticmVhaztkZWZhdWx0OmFsYihkcik7cmV0dXJuO31pZighZHcpZHc9KHVpPwoncGFz c01zZyc6JycpO3NxKGR3LHVpLCcnLHRqKX1mdW5jdGlvbgphY28oZHIpe3ZhciBkLHVpLHRqLGR3 LGFraCxoaz1wYXlsb2FkLHN2PWhrLmZvcm0uaW5kZXh8fDA7dGIoJ2luaXRNc2cnLCcnKTsKdGIo J3Bhc3NNc2cnLCcnKTtpZihkci5zdGF0dXM9PWdjKXtpZihkci5zZWN1cmVOYW1lJiZoay5zZWxl Y3RlZElEIT0KJ3VuZGVmaW5lZCcpaGsuc2VjdXJlTmFtZT1kci5zZWN1cmVOYW1lO2lmKGRyLm9m ZmVyTG9nb3V0KWhrLmxvZ291dFVSTD0KJ2h0dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9y dC5jb20va2V5c2VydmVyL0xvZ291dCcKO2Fidyhkci5zdGF0dXMsZHIuc3RhdGUsZHIua2V5LGRy KTtyZXR1cm47fWVsc2UgaWYoZHIuc3RhdHVzIT1mZyl7YWt5KGJnKX0Kc3dpdGNoKGRyLnN0YXR1 cyl7Y2FzZSBmZzppZihoay51c2VyS2V5KXt0eCh1cywnJyk7d3ooaGsudXNlcmtleW5hbWUpO2hr Lgp1c2VyS2V5PScnO2FsYShoayxiZyl9ZWxzZXt0eChzbiwnJyl9YnJlYWs7Y2FzZSBmbTpjYXNl IGZ3OnVpPShkci5zdGF0dXM9PWZtCj9hbGkoZHIpOmFsaChkcikpO2lmKGFrbj4xKXt0YigncGFz c01zZycsdWksYmcpO3VpPScnfWlmKGFrbj4zKXthbGVydChzcygKJ1JQQ1Rvb01hbnlSZXRyaWVz JykpfWJyZWFrO2Nhc2UgZnA6YW11KGRyKTticmVhaztjYXNlIGZ6OmNhc2UgZnY6Y2FzZSBmeTp1 aQo9YWxrKGRyKTticmVhaztjYXNlIGZzOmFsaihkcik7YnJlYWs7Y2FzZSBmaDp0aj1hbG0oZHIp O2JyZWFrO2Nhc2UgZmo6dGo9YWxnCihkcik7YnJlYWs7Y2FzZSBmdDpha2soYWtsKTt0YigncGFz c01zZycsc3MoJ1JQQ0luc3VmZmljaWVudEF1dGgnKSxiZyk7YnJlYWsKO2RlZmF1bHQ6c2UoMSk7 YWxiKGRyKTtyZXR1cm47fWlmKCFkdyYmdWkpZHc9J3Bhc3NNc2cnO3NxKGR3LHVpLCcnLHRqKTt0 aChzdgosMSk7c2UoMSl9dmFyIGFuZz0wOwoKCmZ1bmN0aW9uIGFsbyhzdixhZXUpewp9ZnVuY3Rp b24gYW5jKGhrLApha20pe3ZhciBhbXo9MAoKfGFjaTtoay5mbGFnc3w9YW16O2FrbXw9fmFtejto ay5mbGFncyY9CmFrbTtpZighKGhrLmZsYWdzJmFhZCkpd3ooaGsudXNlcmtleW5hbWUpO2lmKCEo aGsuZmxhZ3MmemUpKXd5KGhrLm1zZ0lEKX0KZnVuY3Rpb24gYW5vKHJlLHNyKXt0aCgwLDEpfWZ1 bmN0aW9uIGFucAoocmUsc3Ipe2lmKHJlKXthZmQuY2FuY2VsKCk7ZWsocGF5bG9hZC5ycGMpO2Fr eShiZyk7cmV0dXJuO31hZmQucmVzZXQoKTthbHMoCil9dmFyIGFuYj0wO2Z1bmN0aW9uIGFtbihh bmksYWtoKXthbmI9YW5pO2FtYShha2gpOwpyZXR1cm4gMX1mdW5jdGlvbiBhb2YoKXt2YXIgaGs9 cGF5bG9hZCxzdj1kb2N1bWVudC5mb3Jtc1toay5mb3JtLmluZGV4XTtpZigKaGsubm9Vc2VyS2V5 TmVlZGVkfHwoc3Yua2V5MSYmc3Yua2V5MS52YWx1ZSkpb3Blbk9ubGluZShoayk7ZWxzZSBha3Io YWxjKX0KZnVuY3Rpb24gYW9sKGFraCl7dHIoYmcpfWZ1bmN0aW9uIGFvbyhha2gpe3RyKGVtKX12 YXIgYWx4PScnOwpmdW5jdGlvbiBhbmwoZHIpe2Freihkci5mb3JtLGRyLnBheWxvYWRSZWYsZHIu a2V5LGRyLmV2dCk7YWx4PScnfQpmdW5jdGlvbiBha3ooc3YsaGssbSxha2gsZXEpe3ZhciBha209 MDtpZihlcSl7YWx4PXsnZm9ybSc6c3YsCidwYXlsb2FkUmVmJzpoaywna2V5JzptLCdldnQnOmFr aH07c2V0VGltZW91dCgiYW5sKGFseCkiLGlzPzEyNToxKTtyZXR1cm47fQppZigoaGsuZmxhZ3Mm eXkpJiYhc3YuYXV0b09wZW4pe2FrbT1oay5mbGFncztpZighbSYmIWhrLnVzZXJLZXkpewppZiho ay5mbGFncyZ6Zilha209MDtlbHNlIGFrbSY9fmFhZH1lbHNlIGlmKGhrLmVuY3J5cHRlZFNlc3Np b25LZXkpYWttfD16ZXwKemY7aWYoaGsuc2Vzc2lvbktleSlha218PXplfWVsc2V7aWYoc3YuY2Fj aGVVc2VyS2V5JiZzdi5jYWNoZVVzZXJLZXkuY2hlY2tlZAopYWttfD1hYWQ7aWYoc3YuY2FjaGVT ZXNzaW9uS2V5JiZzdi5jYWNoZVNlc3Npb25LZXkuY2hlY2tlZClha218PXplO2lmKHN2LgpjYWNo ZUVuY3J5cHRlZFNlc3Npb25LZXkmJnN2LmNhY2hlRW5jcnlwdGVkU2Vzc2lvbktleS5jaGVja2Vk KWFrbXw9KHplfHpmKTsKaWYoc3YuYXV0b09wZW4mJnN2LmF1dG9PcGVuLmNoZWNrZWQpYWttfD15 eTtpZihzdi5yZW1lbWJlck1lJiZzdi5yZW1lbWJlck1lLgpjaGVja2VkKWFrbXw9YWNpfWFuYyho ayxha20pO3RoKDAsMCk7dGIoJ3Bhc3NNc2cnLCcnKTtoay5ldmVudD1ha2h8fGFjbnx8CndpbmRv dy5ldmVudDtyZXR1cm4gYWNhKGhrLG0sMjUwLGFuYix7J3Byb2dyZXNzJzp0dCwnZXJyb3InOmRp c3BsYXlFcnJvciwKJ3JwYyc6YW1qLCdzYXZlZCc6dHksJ2ZpbmFsaXplJzphbm99LHsncHJvZ3Jl c3NCYXInOnsnYmdDb2xvcic6JyM4MDgwODAnLAonYm9yZGVyQ29sb3InOicjMDAwMDAwJ319KX1m dW5jdGlvbiBha2ooc3Upe2lmKCFzdSlzdT0nJztkb2N1bWVudC53cml0ZShzdSsKJ1x4M2MhLS0n KX1mdW5jdGlvbiBha2koKXtkb2N1bWVudC53cml0ZSgnLS1ceDNlJyl9ZnVuY3Rpb24gYW15KGR3 KXtkdz1rZShkdwopO3JldHVybihkdyYmZHcuaW5uZXJIVE1MLmluZGV4T2YoJ25ic3AnKSE9LTEp fXZhciB1c2VyVGV4dD17CidOb1Bhc3N3b3JkUmVxdWlyZWQnOidObyBwYXNzd29yZCByZXF1aXJl ZC4nLCdSUENFcnJvcic6CidTeXN0ZW0gdW5hdmFpbGFibGUuIFBsZWFzZSBtYWtlIHN1cmUgeW91 IGFyZSBvbmxpbmUgJysKJyBhbmQgdHJ5IGFnYWluIGxhdGVyLlxuXG5TdGF0dXM6ICRbMF0nLCdS UENFeHBpcmVkJzoKJ01lc3NhZ2UgZXhwaXJlZC4gQ29udGFjdCBzZW5kZXIgdG8gcmVhY3RpdmF0 ZS4nLCdSUENMb2NrZWQnOgonTWVzc2FnZSBsb2NrZWQuIENvbnRhY3Qgc2VuZGVyIGZvciBtb3Jl IGluZm9ybWF0aW9uLicsJ1JQQ05vU2VydmVyJzoKJ1N5c3RlbSB1bmF2YWlsYWJsZS4gUGxlYXNl IG1ha2Ugc3VyZSB5b3UgYXJlIG9ubGluZSAnKwonYW5kIHRyeSBhZ2FpbiBsYXRlci4nLCdSUENB dXRoRmFpbGVkJzoKJ1lvdXIgcGFzc3dvcmQgaGFzIGNoYW5nZWQuIFBsZWFzZSBlbnRlciB5b3Vy ICcrJ3Bhc3N3b3JkLicsCidSUENOb3RTZW50RW52ZWxvcGUnOidUaGlzIG1lc3NhZ2Ugd2FzIG5v dCBzZW50IHRvIHlvdXIgYWRkcmVzcyAnKycoJFswXSkuJywKJ1JQQ1N1c3BlbmRlZCc6J1lvdXIg YWNjb3VudCAoJFswXSkgaGFzIGJlZW4gc3VzcGVuZGVkLiBQbGVhc2UgJysKJ2NvbnRhY3QgdGhl IHNlbmRlciBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLCdSUENVc2VyTG9ja2VkJzoKJ1lvdXIgYWNj b3VudCAoJFswXSkgaGFzIGJlZW4gbG9ja2VkLiBQbGVhc2UgJysKJ2NvbnRhY3QgdGhlIHNlbmRl ciBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAonUlBDQmxvY2tlZCc6J1lvdXIgYWNjb3VudCAoJFsw XSkgaGFzIGJlZW4gYmxvY2tlZCBiZWNhdXNlIG9mIHRvbyAnKwonbWFueSBpbmNvcnJlY3QgcGFz c3dvcmQgYXR0ZW1wdHMuIFBsZWFzZSB1c2UgdGhlIEZvcmdvdCAnKwonUGFzc3dvcmQgbGluayB0 byByZWFjdGl2YXRlIHlvdXIgYWNjb3VudC4nLCdSUENCbG9ja2VkVGV4dCc6CidZb3VyIGFjY291 bnQgaGFzIGJlZW4gYmxvY2tlZC4gVXNlIHRoZSBGb3Jnb3QgJysKJ1Bhc3N3b3JkIGxpbmsgYmVs b3cgdG8gcmVhY3RpdmF0ZSB5b3VyIGFjY291bnQuXHgzY2JyXHgzZScsCidSUENQYXNzd29yZEV4 cGlyZWQnOidZb3VyIHBhc3N3b3JkIGhhcyBleHBpcmVkLiBVc2UgdGhlIGxpbmsgYmVsb3cgJysK J3RvIGNoYW5nZSB5b3VyIHBhc3N3b3JkLlx4M2Niclx4M2UnLCdSUENOb3RSZWdpc3RlcmVkJzoK J1RvIG9wZW4gdGhpcyBtZXNzYWdlLCBmaXJzdCBjbGljayB0aGUgYnV0dG9uIHRvICcrCidyZWdp c3Rlci4gQWZ0ZXIgcmVnaXN0ZXJpbmcsIGNvbWUgYmFjayB0byBjb250aW51ZSBvcGVuaW5nICcr J3RoZSBtZXNzYWdlLicKLCdSUENOb3RBY3RpdmF0ZWQnOidUbyBvcGVuIHRoaXMgbWVzc2FnZSB5 b3VyIGFjY291bnQgbXVzdCBmaXJzdCBiZSAnKwonYWN0aXZhdGVkLiBQbGVhc2UgY29udGFjdCB0 aGUgc2VuZGVyIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCidSUENUb29NYW55UmV0cmllcyc6J1lv dSBtdXN0IHN1Y2Nlc3NmdWxseSBzZXR1cCBhbiBhY2NvdW50IHRvIG9wZW4gJysKJ3RoaXMgbWVz c2FnZS4gSWYgeW91IGhhdmUgbm90IHJlZ2lzdGVyZWQgdGhlbiBjbGljayB0aGUgbGluayB0byAn KwonZG8gc28uIElmIHlvdSBhbHJlYWR5IHJlZ2lzdGVyZWQgdGhlbiBjaGVjayB5b3VyIGluYm94 IGZvciBhbiAnKwonYWN0aXZhdGlvbiBlbWFpbC4gRm9yIG1vcmUgaW5mb3JtYXRpb24gcGxlYXNl IGNvbnRhY3Qgc3VwcG9ydC4nLAoKJ1JQQ1JlY2lwaWVudEVycm9yJzonWW91IG1heSBub3Qgb3Bl biB0aGlzIG1lc3NhZ2UgdXNpbmcgdGhpcyAnKwonYWRkcmVzcy4gVG8gb3BlbiB0aGlzIG1lc3Nh Z2UgYXMgYSBkaWZmZXJlbnQgdXNlciwgY2xpY2sgdGhlICcrCidsaW5rIHRvIHRoZSByaWdodC4n LCdSUENJbnN1ZmZpY2llbnRBdXRoJzoKJ1lvdSBtYXkgbm90IG9wZW4gdGhpcyBtZXNzYWdlIGJl Y2F1c2UgeW91ICcrCidkbyBub3QgaGF2ZSBhIHN1ZmZpY2llbnQgbGV2ZWwgb2YgYXV0aGVudGlj YXRpb24gZm9yIHRoaXMgJysKJ21lc3NhZ2Ugc2Vuc2l0aXZpdHkuJywnUlBDV2FpdGluZyc6J0Nv bnRhY3Rpbmcgc2VydmVyLiBQbGVhc2Ugd2FpdC4uLicsCidGYXRhbEVycm9yJzonQW4gZXJyb3Ig b2NjdXJyZWQgYW5kIHRoaXMgbWVzc2FnZSBjYW5ub3QgYmUgb3BlbmVkLiAnKwonUGxlYXNlIHRy eSBhZ2FpbiBsYXRlci4nLCdGYXRhbEVycm9yUmV0cnknOgonQW4gZXJyb3Igb2NjdXJyZWQgYW5k IHRoaXMgbWVzc2FnZSBjYW5ub3QgYmUgJysKJ29wZW5lZC4gQ29udGFjdCB0aGUgc2VuZGVyLCBv ciByZWZyZXNoIHRoaXMgcGFnZSB0byB0cnkgYWdhaW4uJywKJ1JQQ1BvbGxUaW1lb3V0JzonWW91 IHNlZW0gdG8gaGF2ZSBzdGVwcGVkIGF3YXkgZnJvbSB5b3VyIGNvbXB1dGVyLiAnKwonVG8gZW50 ZXIgeW91ciBwYXNzd29yZCBhbmQgb3BlbiB5b3VyIG1lc3NhZ2UsIGNsaWNrIHRoZSBSZWZyZXNo ICcrJ2J1dHRvbi4nCiwnU2F2ZWRQYWdlJzonSXQgYXBwZWFycyB5b3UgdHJpZWQgdG8gc2F2ZSB0 aGlzIGVudmVsb3BlIGZyb20geW91ciAnKwonYnJvd3NlciBhcyBhICJXZWIgUGFnZSwgY29tcGxl dGUuIiBVbmZvcnR1bmF0ZWx5LCBzYXZpbmcgYSAnKwoncmVnaXN0ZXJlZCBlbnZlbG9wZSBpbiB0 aGlzIHdheSBjYXVzZXMgdGhlIGJyb3dzZXIgdG8gaXJyZXBhcmFibHkgJysKJ2JyZWFrIHRoZSBl bnZlbG9wZS4gVGhlIGRpc3BsYXkgd2lsbCBsb29rIGdhcmJsZWQgYW5kIHRoZSBlbnZlbG9wZSAn Kwond2lsbCBub3Qgb3Blbi4gVG8gb3BlbiB5b3VyIG1lc3NhZ2UgcGxlYXNlIGdvIGJhY2sgYW5k IG9wZW4gdGhlICcrCidvcmlnaW5hbCBmaWxlLicsJ0RpZmZlcmVudEFkZHJlc3NMaW5rJzonU2Vs ZWN0IGEgZGlmZmVyZW50IGFkZHJlc3MnLAonTm90TGlzdGVkTGluayc6J015IGFkZHJlc3MgaXMg bm90IGxpc3RlZCcsJ09wZW5PbmxpbmVUaXAnOgonSWYgeW91IGV4cGVyaWVuY2UgcHJvYmxlbXMg b3BlbmluZyB0aGlzIG1lc3NhZ2UsICcrJ3RyeSB0byAkWzBdJywKJ09wZW5PbmxpbmVIaW50Jzon U3VibWl0IHlvdXIgcGFzc3dvcmQgYWJvdmUgdG8gb3BlbiB5b3VyIG1lc3NhZ2Ugb25saW5lJywK J1Bhc3NwaHJhc2VUZXh0JzonXHgzY2lceDNlWW91ciBwZXJzb25hbCBwaHJhc2UgaXMgbm90IGVu YWJsZWQgb24gJysKJ3RoaXMgbWFjaGluZS5ceDNjL2lceDNlJ30sZWg9ZXQ7Ly8tLT48L3Njcmlw dD48L2hlYWQ+PGJvZHkKYmdjb2xvcj0iI0U3RTdFNyI+PHNwYW4KaWQ9ImZmX3RyYXNoIgpzdHls ZT0iZGlzcGxheTpub25lIj48L3NwYW4+PHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxh bmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZihrZSgnZmZfc2F2ZWQnKSlhbGVydChzcygnU2F2ZWRQ YWdlJykpO3ZhciBhbmU7aWYoYW5lPWtlKCdmZl90cmFzaCcpKWFuZS4KaW5uZXJIVE1MPSdceDNj c3BhbiBpZD1mZl9zYXZlZFx4M2VceDNjL3NwYW5ceDNlJzt0cihiZyk7d2luZG93Lm9uZm9jdXM9 YW9sOwovLy0tPjwvc2NyaXB0PjxzcGFuCmlkPWNvbW1lbnR0ZXN0CnN0eWxlPSJkaXNwbGF5OiBu b25lIj48c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48 IS0tCmFraigpOy8vLS0+PC9zY3JpcHQ+Jm5ic3A7PHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3Jp cHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQpha2koKTsvLy0tPjwvc2NyaXB0Pjwvc3Bhbj48 c3BhbgppZD14bXB0ZXN0CnN0eWxlPSJkaXNwbGF5OiBub25lIj48c2NyaXB0CnR5cGU9InRleHQv amF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmRvY3VtZW50LndyaXRlKCdceDNj eG1wXHgzZScpOy8vLS0+PC9zY3JpcHQ+Jm5ic3A7PHhtcD48L3htcD48L3NwYW4+PHNjcmlwdAp0 eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQp2aD1hbXkoJ2Nv bW1lbnR0ZXN0Jyk7dmk9YW15KCd4bXB0ZXN0Jyk7dmc9ISh2aHx8dmkpOy8vLS0+PC9zY3JpcHQ+ CjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0K YWtqKCk7Ly8tLT48L3NjcmlwdD48cD5SZWFzb25zIHlvdSBtYXkgYmUgc2VlaW5nIHRoaXMgdGV4 dDo8b2wKY2xhc3M9bWFpblJlYXNvbnM+PGxpPllvdSBhcmUgc2VlaW5nIHRoaXMgdGV4dCBpbiB5 b3VyIHByZXZpZXcgcGFuZS4gUGxlYXNlCm9wZW4gdGhlIGF0dGFjaG1lbnQgdG8gcmVhZCB5b3Vy IHNlY3VyZSBtZXNzYWdlLjwvbGk+PGxpPllvdSBoYXZlIG9wZW5lZCB0aGUKYXR0YWNobWVudCBh bmQ8b2wKY2xhc3M9c3ViUmVhc29ucwp0eXBlPWE+PGxpPnlvdSBkbyBub3QgeWV0IGhhdmUgYW4g YWNjb3VudC4gUGxlYXNlIHNlbGVjdCB5b3VyIGVtYWlsIGFkZHJlc3MKYW5kIGNsaWNrIHRoZSBP cGVuIGJ1dHRvbiB0byBjcmVhdGUgYW4gYWNjb3VudC48L2xpPjxsaT55b3UgaGF2ZSBhbiBhY2Nv dW50LgpPbmNlIHRoZSBPcGVuIGJ1dHRvbiBhcHBlYXJzLCBlbnRlciB5b3VyIHBhc3N3b3JkIGFu ZCBjbGljayBPcGVuLjwvbGk+PC9vbD4KPC9saT48L29sPjwvcD48cD5JZiB0aGUgT3BlbiBidXR0 b24gZG9lcyBub3QgYXBwZWFyLCBwbGVhc2UgZm9yd2FyZCB0aGUKb3JpZ2luYWwgZW1haWwgdG86 IG1vYmlsZUByZXMuY2lzY28uY29tPC9wPjxocgpzaXplPTE+PHNjcmlwdAp0eXBlPSJ0ZXh0L2ph dmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQpha2koKTsvLy0tPjwvc2NyaXB0Pjxm b3JtCm1ldGhvZD1QT1NUCmFjY2VwdC1jaGFyc2V0PVVURi04CmFjdGlvbj0iaHR0cHM6Ly9pZWEz NzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS9lbnZlbG9wZW9wZW5lci9kZWNyeXB0X2VudmVsb3Bl LmpzcCIKPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPW1ldGFQYXlsb2FkVmFsdWUKdmFsdWU9IiI+ PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9cGF5bG9hZFZhbHVlCnZhbHVlPSIiPjxpbnB1dAp0eXBl PWhpZGRlbgpuYW1lPWtleVNlcGFyYXRvcgp2YWx1ZT0iXiI+PGlucHV0CnR5cGU9aGlkZGVuCm5h bWU9a2V5Q2FzZUluc2Vuc2l0aXZlCnZhbHVlPSIwIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1v cGVuZXJIb3N0CnZhbHVlPSJpZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbSI+PGlucHV0CnR5 cGU9aGlkZGVuCm5hbWU9cmVnaXN0ZXJVUkwKdmFsdWU9IiI+PGlucHV0CnR5cGU9aGlkZGVuCm5h bWU9cHN3ZEV4cGlyZWRVUkwKdmFsdWU9IiI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9cHN3ZEZv cmdvdFVSTAp2YWx1ZT0iaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJz YWZlL3Bzd2RGb3Jnb3QuYWN0aW9uIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1zZXNzaW9ua2V5 CnZhbHVlPSIiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPXNlY3VyZU5hbWUKdmFsdWU9IiI+PGlu cHV0CnR5cGU9aGlkZGVuCm5hbWU9bG9nb3V0VVJMCnZhbHVlPSIiPjxpbnB1dAp0eXBlPWhpZGRl bgpuYW1lPXNlY3VyZVJlcGx5QWxnCnZhbHVlPSJBUkM0Ij48aW5wdXQKdHlwZT1oaWRkZW4KbmFt ZT0iX2NoYXJzZXRfIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1jaGFyc2V0VGVzdAp2YWx1ZT0i JiMxMjM3MTsiPjxzcGFuCmlkPWhpZGRlblJlY2lwaWVudD48L3NwYW4+PGRpdgppZD1wYXlsb2Fk SW1hZ2UKc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuOyBoZWlnaHQ6MXB4OyBvdmVyZmxvdzpoaWRk ZW4iPgo8c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48 IS0tCmlmKHZoKWFraigpO2Vsc2UgaWYodmkpZG9jdW1lbnQud3JpdGUoJ1x4M2N4bXBceDNlJyk7 Ly8tLT48L3NjcmlwdD4KPGJyPjxpbWcgYWx0PSIiIHNyYz0iP3A9MCZhbXA7ZD0lN0InbmFtZScl M0FudWxsLCUwRCUwQSdtc2dJRCclM0EnYjVkZDRkZWExNWQ1ZmM3MDdmMDAwMDAxOTIzMjU2ZDAl NDBpZWEzNzBxMDMlMkVxYScsJTBEJTBBJ2ZsYWdzJyUzQTIwNTcsJTBEJTBBJ3JpZCclM0EnY0c5 eWRITXRZMjl0YldsMGRHVnljMEJtY21WbFluTmtMbTl5WnclM0QlM0QnLCUwRCUwQSdrZXlzZXJ2 ZXJob3N0JyUzQSdpZWEzNzBxMDMlMkVxYSUyRXNiciUyRWlyb25wb3J0JTJFY29tJywlMEQlMEEn c2VjdXJlcmVwbHlob3N0JyUzQSdpZWEzNzBxMDMlMkVxYSUyRXNiciUyRWlyb25wb3J0JTJFY29t JywlMEQlMEEnb3BlbmVyaG9zdCclM0EnaWVhMzcwcTAzJTJFcWElMkVzYnIlMkVpcm9ucG9ydCUy RWNvbScsJTBEJTBBJ3RvYyclM0ElNUIlMEQlMEElNUInQm9keS0xMjY0NjE2MDAyODM3JTJFaHRt bCcsMSwlMEQlMEEnJywlMEQlMEEnJywlMEQlMEExMywlNUIwLDExMTUlNUQsJ0JvZHktMTI2NDYx NjAwMjgzNyUyRWh0bWwnLCUwRCUwQSdJU08tODg1OS0xJyU1RCwlMEQlMEElNUInYXR0YWNobWVu dDEnLDMsJTBEJTBBJycsJTBEJTBBJycsJTBEJTBBNSwlNUIxMTE1LDU2MCU1RCwnYXR0YWNobWVu dDEnLCUwRCUwQSd1dGYtOCclNUQsJTBEJTBBJTVCJ01lc3NhZ2VCYXIlMkVodG1sJyw0LCUwRCUw QScnLCUwRCUwQScnLCUwRCUwQTEsJTVCMTY3NSwxMDQ4NSU1RCwnTWVzc2FnZUJhciUyRWh0bWwn LCUwRCUwQSdJU08tODg1OS0xJyU1RCUwRCUwQSU1RCwlMEQlMEEnc2FsdCclM0EnS1BtY3FXSlNt TFBEMUptTW40JTJCaWNQTndrdlklM0QnLCUwRCUwQSdkYXRhJyUzQSU1QiUwRCUwQScnLCUwRCUw QScwSnljbVV3SjdmRlcxb0JDdmdidm9VZ3ZEUG04dlN5SEJnQlNSJTJGNTV2ejhnSEtidE9YSGZD RUN1UTZHJTJCUWNrM2drVSUyRmhBRkglNUMlMEQlMEFYYWVtQkZ0WGN3MWZPN2wlMkYlMkZBU01V aTNiRjVSSHolMkZzSk5ubUw4V0s1YnJndzY3VUN3R0hxNjJqdiUyRmVEZ3VOR1ZsUEJaS0gwcyU1 QyUwRCUwQUdLV0tBVFZ0MlhQNTJEaiUyQllzaE0lMkI0SktaQTNqVlQyOXFncklwMFpXZ2E1V1J5 eENaVVV6d0FsUHhzWWVtMWNlJTJCd2l2elQlMkZrJTVDJTBEJTBBVm1qd0NncnllTFpMSkQlMkZY UEY2R2pmaWUwYVh5VlZ4b0JkelJJQU5QVE9FTiUyRld4M3FZJTJGMnl6MDIyWUh3TnMyTUlkem1E eDVuJTVDJTBEJTBBdUpKUjY0WDQwMmRacm9PMHhsb1h6aEElMkZvOTJZQ2R2cU9PMXAmYW1wO249 JykiPgo8aW1nIGFsdD0iIiBzcmM9Ij9wPTEmYW1wO2Q9TXNNVWY4STd0OWxYR0xXdnZpS3pMZWlX WWtyOGI5aVN2S2dIJTVDJTBEJTBBRkJFdTEyaTYwYnNKS2F6T0FoQ3BtMlZKekx3SkVnZnBGaUdv WFY1WUREc1pjTUt6TVBSQzViVCUyRmJhczUlMkZ4SSUyRk5EUHA4TzhRJTVDJTBEJTBBUmhNJTJC eThrTUtPMkhndzNHRWsyazlqMjRVNjE5TUJyM2V4UEslMkJnNyUyQlklMkJJMjFGSWdpZVhaSUtj SlV0ek9uSEYzbFBXR3lndXAlNUMlMEQlMEEyQ3JydU9Sc29BMlRYam1oWjF2bElVVE5ZbmlWeTAw Mk1VeVNnU0ZOZUNBVUdqakQ1TXA3STMySGdKeFRsMzVHSCUyRm9CNmlwRSU1QyUwRCUwQXJ1Mmxn cnJZSFdWSWY2JTJGY0FnZHVxWWpzc0l0bkJmM0JQWXFLcXRoc04yVTB3c3cxVUJGZDN0Nnc4YnBM VWxVdHE5RSUyQmY0UjElNUMlMEQlMEFDQ1dDJTJCZnNLJTJCdVpXdGhGTTNycHhuUUI5VDJEdVIz alglMkZJaWNpY3FDNmI0QzRvY2tra1M3SlhjaUJsc2hRdGFkd1hXdk5OT3UlNUMlMEQlMEFFNk1O VUNMWGdrSlMlMkZvRUVEdFJ3ZVJ1WlJYMlg2RmdJRnRwdGNENm0lMkY4VjhnY3pMTkhaUk1SbklE MURpakFWR0sxZktLaGtwJTVDJTBEJTBBN1hKNm9oRWpkZHBjZGV3cUhIWjVnZTBoV0daSGtHZ05N NXd3aVFsc2o3d0duaEJMdVZPbExzRHV5VVJxREpUT0U5NVBNS0dUJTVDJTBEJTBBR0wyZVpqZFlN QVhGS1clMkIlMkZ6RGc4YlZ0TCUyRktteTRucDloWklDRnJ4UnFMU3A2OGQzbVY4d0FyRyUyRjlh SUk1MGt5bEFrdDFpWVglNUMlMEQlMEE3NWlocWw1R0VjSU1PUkJjOG1YUHp1R1FQRFd0dUclMkJJ cmZ1S05jJTJGN2FDQWVzNzRLaGluRlZsOTFpc0xodWNvRTJYdzB3NUJkJTVDJTBEJTBBMm40bjJG Tk9sTktnMG40T2I5WmZIUWlRQVB6Z0RUSks4VVRiOFl1WUNtNDRzOEdHY0Z0UiUyQnhhbWRvbVlo dE9QTWpUWWhmTXglNUMlMEQlMEFzUmUxWmtnb2YlMkJsNCUyRmxCdUJoRDIlMkJ4UHRHUFVVOVJn ZXZoYjAlMkZkNkJaRjVMemQyWVZmMiUyQjJSanhSJTJCeW1LNEg0M0pTSElyVUclNUMlMEQlMEFj aUZPU1A2WEhFUVF2V1J6QmlrYkpwQUdiTEtLSHhnNXRkaDJzbkhZUnFUYTlDcXlXTnZRRnFBJTJG SkU2Q256bXltNzV3MkZMSyU1QyUwRCUwQXdSdHVtQjVDR2RxNDhSU25lZ1lQSGZ5Rk9OSDhJY1lq YzloY2lzeElhT1RQNEJGMHlLdiUyRjdWaFc2dWJTOEZmNVcyNkdWSWdrJTVDJTBEJTBBVlNpSTJ1 dVFjWEdyMmtiQkU1TWNkRmlHSExPN3F5S0l4YW5GcTB6SGZYJmFtcDtuPScpIj4KPGltZyBhbHQ9 IiIgc3JjPSI/cD0yJmFtcDtkPTQ5V1NiZDZZSm1rVFpFUzhNMSUyRnlYMFJiWlk2ZjhmJTVDJTBE JTBBJTJGaVVtdVdlbXloeWtiWUVHMmNOU1pxeCUyQmRKSGV0cDNBWW1KNTdudzEwWW9WJTJGVW5V SWRPZ1V2SXRUNXdxdzhDU2FjckU2cTJiJTVDJTBEJTBBMzhxWE53aEQ4SEVOTjRsWFdKeHM5JTJC RXl3MEZiTGk5MUhnZyUyQm84NFc0bE9xWjQ4ZjFuQUUlMkZLdWMyNVVJdjhFOTB5M3V1QVF4JTVD JTBEJTBBWGRiRGhERTRWUGtYUzE3Z3BjU3JXa1U5Y1BrM09yaHR0VkFTc3FWUGlOUkV0RzFkakZq cmxZTmclMkJOMXl2b3ZhV2thYyUyQjdoVCU1QyUwRCUwQUVQS01ONnRvOVRieTFwMzJpWmNTMXB3 VWxjakd3Q0VZZDd5ZyUyRkNBeU92TjVDdFY5cjhOOCUyQlR2VGlBZmtVJTJGaW1LOHZ1aSUyRnpj JTVDJTBEJTBBUnZva1MxbTJoZDNMelZCVWtpbGNBUkc5YkRyZjJUS1N5SVBXa3clMkJ0eiUyRkRE UUdsaVZEJTJGU1pBZUlXME9jTlRjVVEyNHFyVFE4JTVDJTBEJTBBRUJ4YiUyRiUyRlRldG55Mmw2 OENaakhaa2d4Znd5WjFLN1JBUiUyQm1na01rT3dmMXZnb2VtUnJZSkRkT1NzSkxyJTJCNU1mcXFh JTJGYzVHZiU1QyUwRCUwQUlQZWx4dFhsekx3cUhlUjhSYnUlMkJLJTJCUVNDS2VCYTBiSjl4ZVNw dWVlQ0hNNWo3M3ZKVk5tcGtjZ2Z2dlJpNnQ3b05rcVM3a2YlNUMlMEQlMEFsMjVxZ2c4Vkd1JTJG cGNhM0EzUXFmM29lbkJYVlE5REFkTmo1S0Z0d0hlVXo1aFJBNWZmWXMxJTJGZCUyRmZ0WWR5NERY JTJCbjBFRmZRdyU1QyUwRCUwQWhRdFVCTVVhTFZPbEVtTThoMjByMFRCYWtGVnlub0t0VEdXMkF1 V1N1WWhZZUNKMm5UMEM1U2ZJVm9KMkZ5M1pwQmlrakVwUiU1QyUwRCUwQTFQNzZ5YTZ3MmNGTWc5 MjB1TGFMTHROdExidEUzJTJCVzJyNkZMNzNQMDNDRHV4ekNpQlYwanZqSHBtN3BhTG9zUjBHTkJp eWxVJTVDJTBEJTBBUnZhJTJGMnR1YmRvR1RUcEJoUnU2MXplUzY1RHluSld4bmtISnl3VWRZeSUy RlNKZE5VSE9jdUYlMkZMNm95TkpLVnZzVXFlSUJMRDBJJTVDJTBEJTBBeEdwbjFUdGYlMkZ6U09V Z1oxS3oxWlBsMHNTaVdwU1ZXajlaV1RrUkt0MzZUSnR3eHlvWXFQRkZQaEd6a2JwRE91YzhaT1pE QSUyQiU1QyUwRCUwQTVyJTJGSDd3JTJGa3p5Rk5FTUVRVkZxTE0lMkJPeXVlbXRKcE9jbUl3UXZP bWclMkJlQ3ZPalRhVEU3cmhueHZqUGRpMHJvODJZTnptMkRSJTVDJTBEJTBBbzkyY2IzaWRiRW01 MVBLdmdsQnF1V3glMkJsMGJZM1pKRCZhbXA7bj0nKSI+CjxpbWcgYWx0PSIiIHNyYz0iP3A9MyZh bXA7ZD14MDR2aiUyRk1Yc2FSa2xtcWNpaG91JTJCdUUlMkZvVnhCNHFmazFqOTZFaTF4JTVDJTBE JTBBNW1IMWhsemtSazZzVzhETGRmVWdQNVZCZ3Rlc3E0ZU1MemVpbFR2VG50dUptVXJtaHFBM3lP NkJaYm8lMkZaM0wzcnRDJTJCUVBEdyU1QyUwRCUwQVA3ellYJTJCWXZTJTJGY0w5TW80Y01LeEFF S09Ha2pvcFltVHRQd3BUT2x3M01wcXI5M29KRU1uU1RobFNHNXFCa1dHdzI1R0U1NGYlNUMlMEQl MEFwRTVTbkUwMThsQyUyRmF2dlhtWnNqNnV0S2djd1pPWU96WkZ2JTJGZTNMTVR4azVuJTJCb1NI UjQ4RmMzOEJIaFRLaVdQdiUyQmRuc3Q4cCU1QyUwRCUwQW1oVFF0b2hrdVY4OTVKd0hpeWZKbnl0 YVdHMHpsWlNEeTF6emNoQXRuRXNLdU5HOHVYcmZndFF6TFhXdW9DOWF0YXk5aFBGOSU1QyUwRCUw QURPc0tYbTA2R1dGNmEzREw4JTJCMTdqbkM2MjBpdGhWZlNBeFhMSERwTW1hbVJyZlBjRWlIQjZT RnN2eGR4ciUyRmVnbSUyQiUyQjhibUt1JTVDJTBEJTBBRHdwRG8yUjc4WSUyRmxzSiUyRnQ1WDhJ TGZFdERiJTJGTDN2OTE5ayUyQlA4cENIOUZjaXB4cXZsNUhZV244anVkUGs5R1dGTWNhMXlMTzcl NUMlMEQlMEF1YzVyWnNlbEE2VEQzWkFidzRkaW1CRjYlMkZOVDB6bDBTSUR0bHFMbTUyWkc3cUF3 VVI5bk1uWnZyd2RhUlNsUUNjSWhwanVCMyU1QyUwRCUwQUtFR0dMQlBWS2p0dVM1bzFDelBUaW5P ZVk4aUY4TlNWZTVrZmlONzBDc2UxWnBZazFGUHkxa243QXdtMnFJQ3E2RyUyRlFMYURkJTVDJTBE JTBBUUVpZVBnUHFsUVE1SzZzeGs3VktSSFJIOFNFWmRZZEk2Q1NMRVg2YnpIa2pFQTNyTjdVJTJC bFl1cVZ1VVZLdzklMkI5YiUyQmRtdkRHJTVDJTBEJTBBc21VaVlZWE5iJTJCNk1rTmw3Y0lHaVJQ SFNiMDNwN0ltWlN4V1F4M2pEd1pCOGxEVyUyQmY0UkFnZzJmdGNBanB5T3lrdUNRbFY1SyU1QyUw RCUwQU04TXZ4cTFQZzdPSkluTmd6RSUyRmNVQm9XOFE5WG5TYzlqeVUlMkJMSXl5TTI1dWxQNDRI Z0pXTUY3R1pGR0tPNWpSWEdIT0UlMkZwJTJGJTVDJTBEJTBBSHJERmZ2REprbnRSM0FFOVRMTUhX ZktVbkg5bnZvV0hxVXRZN1dERWVHRTZPeDh2WFQlMkZWOWRlV0FodU56N1dRNUNidVhDWFElNUMl MEQlMEE1OENTUjA5VVpSaHNYY0U5R1ZuUWhweVhLVWZDUlZ0VmFpS2o0RDRBYUdQSFBEeDMlMkIw ZEF5V1k0Nm1QT2VXSTZXbHVySXZTMSU1QyUwRCUwQUhrMUJJMXJVY0dKRmNpJTJCOUVsNWRpNWtp Nm1qVkZjVnMmYW1wO249JykiPgo8aW1nIGFsdD0iIiBzcmM9Ij9wPTQmYW1wO2Q9T2c5QUhjZ2VJ YWZPMTJ3RUFqMmdxUGc5alklMkIyS1pLYm5XOTAxVDZ1JTVDJTBEJTBBeVVDbU5wNzNxZnZTT2FD azR6b3pZWFNjVnQxWmJCalo4bTZsMnpSQUZTZ0tjZ0tEekdIajJmUnJMYXRrNlJGMkljbHl0NEZM JTVDJTBEJTBBdk9mNXJKVVNuYW01d0pUOXpaYXhtTGlCamZIUURLUmNQbTllRnh0U0VpbUtocU91 WGVxVmpWbU5TZmR5YnNsJTJCZjFiZEVRd2glNUMlMEQlMEE5TVV5UWJxYkFaJTJCb0pzUElidEgl MkJLOGtJRVJpN05HbjFDY1czTDNUVkZFWXlVY1ZiZEtRaUwlMkZ5dXE0Y3RHZ0VubUF4cEhlSGcl NUMlMEQlMEFBQ0hvTkZhZHJZMnJXNExiNSUyQiUyQjExRWdDemtoRlVzWHh0emZPOVo3dUZyZVV3 eXNPU09NTDZVY2taZGZDV3lUJTJGbHplOXNjZnklNUMlMEQlMEFjQjU4YnlCSmdEcmptMDdEJTJC Q0lNNXhET2FtU2VyY1JiVGE1dlZzd2QlMkZndkJCclowd3dUTDhZMXoxZ2xKME55R2Z6Rjc5dGZQ JTVDJTBEJTBBczE2VTQlMkZiWWFHSVlEM3pGQnIyQXlKVVhSJTJCJTJCdjMxaXVYckk3SjRPWXEw NmVxbFVCNyUyRmdqVHZ6T0ZWeVZKJTJCJTJGTDlGOUt4SnVPJTVDJTBEJTBBSUM1Zm1BU2VTOWEy THNieSUyQlVDR0pBS1lsUlcxakxtRmIzY0hZSGZhSzRZV2Q1dHZxZGNTazg3UzZMRzRVcnVOdDFO bUJLbmolNUMlMEQlMEFJYVd4bVhzVk9UejZsVmVKU1A0c05OJTJCWWVGTUdQMWNOWE0wR29FV1R2 JTJGUm5wbWlUTDNCWjVCdm5uYWxFREd6bzQ5Qk94dVRtJTVDJTBEJTBBa2J6ViUyQmc4eGZQNmtm SCUyQmZTNW9WaE9Ldk5FSUNtbUNCRkdlVDM0NGFFUiUyQmUlMkZCNzBBelVvMmhPREJMUlFTdElP YTlkQzlMa3ElNUMlMEQlMEFVZmdJNU5Ld21zcnZNS1BXTHhNdzlvNFBhR3FnaGFFZkVEQW8wRWxs Vnc4TzJvWVpPVGU4QldGeSUyQkVtQjclMkYlMkJQd0dBMGhSNVclNUMlMEQlMEFDekQlMkZKUHdu VHJ5SjdobVNFd3JYdFFIWnJZeWNBT0o4R1VmJTJGVEVGSHdpWTl3c3gwRlFiekY5WldNU254UE4x JTJCdVZlZXlIZmMlNUMlMEQlMEF5V1lpMHBObDBRJTJCRyUyQkZWemM5JTJGU3JwMnVMRjFKJTJC V1QwRGkyeHd3THJkOUducmpiVFkxYSUyRlJXRVRHdUdlWkFvbXJCSnFKQiUyQm8lNUMlMEQlMEFS M1JCcTQ1Nlh2aUtnYyUyRmUySHlPVWozTGVLdnJXODM0NEZtZ1RMWDd6SlpTUVNIVUlVbGg1eFBu djZ2eWJ6S3M1QVhWdFFIRCU1QyUwRCUwQTFYOUxYVjdYR3owRmhJR2dWTE8yJTJCYyUyQiZhbXA7 bj0nKSI+CjxpbWcgYWx0PSIiIHNyYz0iP3A9NSZhbXA7ZD1udyUyRkExWXpIdVFpRlNGZ1QxcW9q WmpjYTlBZDZhM0I5Ukd2MkpTVyUyRnJMamg2WTYyeSU1QyUwRCUwQVZUUUR6RDQwcFdOcTBVM2RV dTZmQkhUS0tYcWVxYWRkZEZSdHY1VVZiRDFCSGJrNndIRmlNYXAlMkI5WjhNM0lvQU9HSU5BV1oz JTVDJTBEJTBBSXZlbCUyQm1sRHlCMm81eTZCcTAlMkYxeml5WWI0YnU4YVF3akVleU1DeFdKWUU4 OU80aSUyRmFsdDFCRjdTYU1BNjVLTk9aNFhhQlhrJTVDJTBEJTBBWjZ3MjBVV3RqbHBieTUxR2Zr b1ZmTWlhWFpEWWJYJTJCZ24yaSUyRkpsR3l0QyUyQmtEa3IzSWJITGJOM3FNNWN0eVU5ZVk5UDBq TVlPJTVDJTBEJTBBcmlBVGw1T2g1eEx6SjI2Q2olMkJnWFgzdHBJaiUyRlVjWHhVU1I5Q1RVd3BE WEpUellEc1NZaXoycW5QSWVaTGdNRnFsU0QxenZyYiU1QyUwRCUwQVB4M0huNjlVNUZLV09RMVdR a3dtNHY2dlFnZEhPV1puSVBoRnZkQUJ2aGViYzluWUM3YnV2NTBiSWtJWVI5SkVmT2oyR2xEcCU1 QyUwRCUwQWM5ZDNFeXRNRkFpYkMlMkJiSXRIZE92ZCUyRmJpWWJXR3RvWENTNk50WGZGY3RsZUJY ZlB0RDZEWG5KJTJGR0VBbG41NVVMMzQwRWVmMCU1QyUwRCUwQTBVNiUyQjJmWEw3UzRYRmtYNDdm UUpUaUM0TFBrSXRJUW5paEtHb0FQT0ElMkZyQzFEZ0hueVgxOU1qa2xxaGo2c0lpdEZmYlROc2Ul NUMlMEQlMEE2ZEx5NDhkQVduOEw0RkJMTVJhNTdmJTJCWGJnZUVGdkt1JTJGQlVTbzBpT0wyOFp4 M0pBODFidklBbk0lMkY1WHZUSnVYTHBza0hmVzAlNUMlMEQlMEFCVElUVzUlMkJVZElHekdWbXpI SFRMYlljOENlMEpVVXBxZmJ5VTBJVFRZdUVUajRVJTJCQjBKWlp3VTZvZHg0NFhobTF4aXJIVkpP JTVDJTBEJTBBdFphYndZZldTS0dMUnNibUxzVG1FQm9ETW1HSmZTbWh5dkppclBRQXlyT1JYRjZU SDFDSjR1ZVhxMCUyRjQxRVBrSmkwSE9JYiUyRiU1QyUwRCUwQVBVUGYwWGhycTM4ZG1SS2t2NjhN NVo1JTJCUXpVck9RM2hOWXkxZGtIY1hUYmt2ZVJSR1lDVVVlU290WmJmOW95Rk9nbGY2UDRBJTVD JTBEJTBBM3BsYUQxeHd3UXJSbmRzSnByYTE3dXh3ZFFwU0FVcUNQNFclMkJDSWtWSlh1bDVpZEZP ZkMzNTRNS0FzbFBOUkcxeUFoZnQ0NnclNUMlMEQlMEFjMzJwcmtoMlZETXZndmgzVjZtM0dEckxm UTU3cVBZWHY3UlYxaHk5anlLSXdkdDBCUjdGJTJCb1pCZFdZblB0OWpWdlNLblk2USU1QyUwRCUw QVVMMTQlMkZzeDglMkIlMkZOJTJCNG9aNTdaYSUyRlpiajBvZWcmYW1wO249JykiPgo8aW1nIGFs dD0iIiBzcmM9Ij9wPTYmYW1wO2Q9ZXRIdkRNZXJ3c3MwVkxHMWxGd00wNFhkUlpQQ1M4TWZWVEFI cSUyQjFCdFoxc28lNUMlMEQlMEFVemNKbjFtZFFCYzNjVkFKaWFhc0klMkJCM2Z0dHJwdjVrTmtM YUVqTFM5cnVsVm01TGZ1bFpKeHFYUkQ3WXBUSjdsZFRjb3FOTCU1QyUwRCUwQXRSM0hKNlFSbFFy Nk4zeSUyQjlFZktOeHcxNTc3OWc4bHd0dldSTVFGRjV1VDNoZzlMUWhEdDV1MzFXJTJGenN6JTJC VlEzejdXZDZTRSU1QyUwRCUwQWtDcWpqOVhlTXJ1aHpKY3J6bVhSNGo5Z0pnJTJGY1NCUEU1WTU5 VjVXdFppODJKT0dVMWpBV3RaS2hmNUZKcDIwejM3RmFrWHRZJTVDJTBEJTBBNWQwODN5UDRkdFZD SG0yTWdUcSUyRmxUJTJCdzVhb0hLcSUyQjdzUTZMU1VmQWxBR2tuV3V5bzBCZGVPcnhEUFpMYUlM MnhYblYyVWlGJTVDJTBEJTBBN1h1Z2xVSW1aZ3dGeVdMSVdKU3FBaWRlVTVLMWx4M3lBJTJGZllx SThwM2c0bnpObElJNmpyMkF2dk5nQiUyRndHWDdseHFDMEsxNCU1QyUwRCUwQVcyZVVybG1GelFW RDVzQlVyMGJadUZJR0ZYWmZXVExsTXZrbFprU0xGYUNYSmdPdjdIYXhXM1YwVCUyRjM3a09mY2ZM b2JlaHA5JTVDJTBEJTBBRlJMcG9tdEtDbUlzTEJJSHNqNFFVRzF6M21zYiUyRkNDcUIyNDltVTda ajFRdjg3bk9weHBwanF1ZDNXVWlONFluJTJGNVhEUnZXYyU1QyUwRCUwQUVlTCUyRkZpNmE4aCUy QlB1YXBDTHlwRlZXR29DYlRyQWF1eFNtNGhhenRRczJXcjNIbVdMTTZ4QVBBbXh6T1FzczZscHFK dkclMkJycyU1QyUwRCUwQUVlUyUyRlYxSkNsTmY5JTJCSUV4MFYxekRtN3hnVXRHa1RRODN3V1dr akdmTnVOJTJCd24lMkZUd0pTSXNPdkhVOHR4MGc5bXpxeFN5TGhiJTVDJTBEJTBBc0llUzUxRjBJ UWl3SlNaM1dtTDFBMTElMkZ6dmkxbEpFWVJ6YmZJNGlLTjU3T3UydTM2VlJPVml4Nmhhd05YNGZs MHRWYllrQ3klNUMlMEQlMEFYSnozcHBFS0loZjJrMVVGS0JiSWpKZEc3NnZuayUyQjYwdTlQeVkw akRtJTJCVEQlMkZUdGFEaGMlM0QnLCUwRCUwQSdBQUFBQUElM0QlM0QnJTBEJTBBJTVEJTdEJTBE JTBBKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrJmFtcDtuPScpIj4KPHNjcmlwdAp0eXBlPSJ0ZXh0L2ph dmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZih2aClha2koKTsvLy0tPjwvc2Ny aXB0Pjx4bXA+PC94bXA+PC9kaXY+PGRpdgphbGlnbj1jZW50ZXI+PHAKc3R5bGU9ImZvbnQtc2l6 ZTo2cHgiPiZuYnNwOzwvcD48dGFibGUKY2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wCndpZHRo PTc1MApib3JkZXI9MAppZD1vdXRlclRhYmxlCmJnY29sb3I9IiNGRkZGRkYiPjx0cj48dGQKaGVp Z2h0PTEKY29sc3Bhbj00CmJnY29sb3I9IiNGMEU2Q0MiCmNsYXNzPXNwYWNlcjJweD4mbmJzcDs8 L3RkPjx0ZApjbGFzcz1zcGFjZXIxcHg+Jm5ic3A7PC90ZD48L3RyPjx0cj48dGQKd2lkdGg9MQpy b3dzcGFuPTYKYmdjb2xvcj0iI0NDQzBBQSIKY2xhc3M9c3BhY2VyMXB4PiZuYnNwOzwvdGQ+PHRk CmhlaWdodD0xCmNvbHNwYW49MgpiZ2NvbG9yPSIjRjdGN0Y3IgpjbGFzcz1zcGFjZXIycHg+Jm5i c3A7PC90ZD48dGQKd2lkdGg9Mgpyb3dzcGFuPTMKYmdjb2xvcj0iI0Y3RjdGNyIKY2xhc3M9c3Bh Y2VyMXB4PiZuYnNwOyZuYnNwOzwvdGQ+PHRkCndpZHRoPTIKcm93c3Bhbj01CmJnY29sb3I9IiNB QUEzOTkiCmNsYXNzPXNwYWNlcjJweD4mbmJzcDsmbmJzcDs8L3RkPjwvdHI+PHRyPjx0ZAp3aWR0 aD0xCnJvd3NwYW49MgpiZ2NvbG9yPSIjRjdGN0Y3IgpjbGFzcz1zcGFjZXIxcHg+Jm5ic3A7Jm5i c3A7Jm5ic3A7PC90ZD48dGQ+PHRhYmxlCmNlbGxwYWRkaW5nPTAKY2VsbHNwYWNpbmc9MApib3Jk ZXI9MAp3aWR0aD0iMTAwJSI+PHRyPjx0ZAp3aWR0aD0xMzAKaGVpZ2h0PTgxCnZhbGlnbj10b3AK YWxpZ249bGVmdAppZD1sb2dvQ2VsbD4KPGltZwphbHQ9IiIKc3JjPSJodHRwczovL2llYTM3MHEw My5xYS5zYnIuaXJvbnBvcnQuY29tL3dlYnNhZmUvYnJhbmRpbmcvY3VzdG9tZXItbG9nby5naWYi CmJvcmRlcj0wPjwvdGQ+PHRkCndpZHRoPSIxMDAlIj4mbmJzcDs8L3RkPjx0ZAp3aWR0aD0xMzAK aGVpZ2h0PTgxCmFsaWduPXJpZ2h0CnZhbGlnbj10b3AKaWQ9cG9zdG1hcmtDZWxsPjxkaXYKaWQ9 b3V0ZXJQb3N0bWFyaz48ZGl2CmlkPWlubmVyUG9zdG1hcms+PHRhYmxlCmNlbGxwYWRkaW5nPTAK Y2VsbHNwYWNpbmc9MApib3JkZXI9MD48dHI+PHRkCnZhbGlnbj10b3A+CjxpbWcKYWx0PSIiCnNy Yz0iaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL2JyYW5kaW5n L3Bvc3RtYXJrTGVmdExvY2FsLmdpZiIKYm9yZGVyPTA+CjwvdGQ+PHRkCnZhbGlnbj10b3A+Cjxp bWcKYWx0PSIiCnNyYz0iaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJz YWZlL2JyYW5kaW5nL3Bvc3RtYXJrLmdpZiIKYm9yZGVyPTA+CjxkaXYKYWxpZ249Y2VudGVyCmlk PXRpbWVTdGFtcENvbnRhaW5lcj48c3BhbgppZD10aW1lU3RhbXBMb2NhdGlvbj4mbmJzcDs8L3Nw YW4+PC9kaXY+PC90ZD48L3RyPgo8dHI+PHRkCmNvbHNwYW49MgphbGlnbj1yaWdodD48dGFibGUK Ym9yZGVyPTAKY2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wPjx0cgppZD1zZW5kZXJBdXRoTG9j YXRpb24+PHRkCmNsYXNzPXNlbmRlckF1dGgKYWxpZ249cmlnaHQ+PC90ZD48dGQKY2xhc3M9c2Vu ZGVyQXV0aAphbGlnbj1sZWZ0PjwvdGQ+PC90cj48dHIKaWQ9c2Vuc2l0aXZpdHlMb2NhdGlvbj48 dGQKY2xhc3M9c2VuZGVyQXV0aAphbGlnbj1yaWdodD48L3RkPjx0ZApjbGFzcz1zZW5kZXJBdXRo CmFsaWduPWxlZnQ+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPgo8L3RhYmxlPjwvZGl2Pjwv ZGl2PjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48dHI+PHRkCmFsaWduPWNlbnRlcgppZD1p ZnJhbWVMb2NhdGlvbj48dGFibGUKY2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wCmJvcmRlcj0w CndpZHRoPSIxMDAlIgpjbGFzcz1tYWluV2luZG93CmlkPWlmcmFtZVRhYmxlPjx0cj48dGQKaWQ9 aGVpZ2h0Q29udHJvbApoZWlnaHQ9MjEwPjx0YWJsZQphbGlnbj1jZW50ZXIKd2lkdGg9NzAwCmlk PWNlbnRlclRhYmxlCmNlbGxwYWRkaW5nPTAKY2VsbHNwYWNpbmc9MApib3JkZXI9MD48dHI+PHRk Pjx0YWJsZQphbGlnbj1jZW50ZXIKY2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wCmJvcmRlcj0w Pjx0cj48dGQKd2lkdGg9MTU1PiZuYnNwOzwvdGQ+PHRkCmFsaWduPWNlbnRlcgppZD1ib3JkZXJD b250YWluZXI+PGRpdgphbGlnbj1yaWdodAppZD1oZWxwTGlua0xvY2F0aW9uPjxhCmhyZWY9Imh0 dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20vd2Vic2FmZS9oZWxwP3RvcGljPUVu dmVsb3BlIgp0YXJnZXQ9Il9ibGFuayI+SGVscDwvYT48L2Rpdj48ZGl2CmlkPWJvcmRlcldpbmRv d0NvbnRhaW5lcj48ZGl2CmlkPWJvcmRlcldpbmRvd0Jsb2NrPjwvZGl2Pjx0YWJsZQpjZWxscGFk ZGluZz0wCmNlbGxzcGFjaW5nPTAKaWQ9Ym9yZGVyVGFibGUKY2xhc3M9Ym9yZGVyV2luZG93Cndp ZHRoPSIxMDAlIj48dHIKaWQ9ZnJvbVJvdz48dGQKY2xhc3M9ZXZwV2luZG93PjxwPkZyb206PC9w PjwvdGQ+PHRkCmNsYXNzPWV2cFdpbmRvdwpjb2xzcGFuPTI+PHNwYW4KY2xhc3M9ZW1haWwKaWQ9 ZW1haWxGcm9tPktyaXMgS2VubmF3YXkgJmx0O2tyaXNARnJlZUJTRC5vcmcmZ3Q7PC9zcGFuPjwv dGQ+PC90cj48dHIKaWQ9dG9Sb3c+PHRkCmNsYXNzPWV2cFdpbmRvdz48cD5Ubzo8L3A+PC90ZD48 dGQKY2xhc3M9ZXZwV2luZG93CmNvbHNwYW49Mj48c3BhbgpjbGFzcz1lbWFpbAppZD1lbWFpbFRv PjxzZWxlY3QKaWQ9dG9TZWxlY3QKbmFtZT1yZWNpcGllbnQ+PG9wdGlvbgp2YWx1ZT1udWxsPi0g U2VsZWN0IE9uZSAtPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9Il90byI+VG86PC9vcHRpb24+Cjxv cHRpb24gdmFsdWU9ImN2cy1hbGxARnJlZUJTRC5vcmciPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O2N2cy1hbGxARnJlZUJTRC5vcmc8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iY3ZzLXBvcnRzQEZy ZWVCU0Qub3JnIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjdnMtcG9ydHNARnJlZUJTRC5vcmc8 L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0icG9ydHMtY29tbWl0dGVyc0BGcmVlQlNELm9yZyI+Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cG9ydHMtY29tbWl0dGVyc0BGcmVlQlNELm9yZzwvb3B0aW9u PjxvcHRpb24KdmFsdWU9Il9iY2MiPkFkZHJlc3Mgbm90IGxpc3RlZDwvb3B0aW9uPjwvc2VsZWN0 PjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0K dmFyIGR3PWtlKCd0b1NlbGVjdCcpO2lmKGR3KWR3Lm9uY2hhbmdlPWFvZTsvLy0tPjwvc2NyaXB0 Pgo8L3NwYW4+PC90ZD48L3RyPjx0cgppZD1zdWJqZWN0Um93Pjx0ZApjbGFzcz1ldnBXaW5kb3c+ PHA+U3ViamVjdDombmJzcDsmbmJzcDsmbmJzcDs8L3A+PC90ZD48dGQKY2xhc3M9ZXZwV2luZG93 CmNvbHNwYW49Mj48c3BhbgpjbGFzcz1lbWFpbAppZD1lbWFpbFN1YmplY3Q+Y3ZzIGNvbW1pdDog cG9ydHMvcHJpbnQvcDUtR25vbWVQcmludCBNYWtlZmlsZTwvc3Bhbj48L3RkPjwvdHI+PHRyCmlk PXBhc3N3b3JkUm93MT48dGQKaWQ9cGFzc3dvcmRUaXRsZTEKY2xhc3M9cGFzc3dvcmRSb3c+PHNj cmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZigh dmcpYWtqKCk7Ly8tLT48L3NjcmlwdD48c3BhbgpjbGFzcz10ZXh0PlBhc3N3b3JkOjwvc3Bhbj4K PHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQpp ZighdmcpYWtpKCk7Ly8tLT48L3NjcmlwdD48L3RkPjx0ZAppZD1wYXNzd29yZEVudHJ5MQpjbGFz cz1wYXNzd29yZFJvdz48c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2 YXNjcmlwdD48IS0tCmlmKCF2Zylha2ooKTsvLy0tPjwvc2NyaXB0PjxzcGFuCmNsYXNzPXRleHQ+ PGlucHV0IHR5cGU9cGFzc3dvcmQgbmFtZT0na2V5MScgc2l6ZT0yMCBtYXhsZW5ndGg9NDA+PC9z cGFuPgo8c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48 IS0tCmlmKCF2Zylha2koKTsvLy0tPjwvc2NyaXB0PjwvdGQ+PHRkCmFsaWduPXJpZ2h0PjxkaXYK aWQ9cGFzc3BocmFzZUNvbnRhaW5lcj48ZGl2CmlkPXBhc3NwaHJhc2VDZWxsSlM+PC9kaXY+PC9k aXY+PC90ZD48L3RyPjx0cgppZD1mb3Jnb3RQYXNzd29yZFJvdz48dGQ+PC90ZD48dGQKaWQ9Zm9y Z290UGFzc3dvcmRDZWxsCmNsYXNzPWZvcmdvdFBhc3N3b3JkUm93PjxzY3JpcHQKdHlwZT0idGV4 dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFraigpOy8vLS0+ PC9zY3JpcHQ+PGEKdGFyZ2V0PSJfYmxhbmsiCmhyZWY9Imh0dHBzOi8vaWVhMzcwcTAzLnFhLnNi ci5pcm9ucG9ydC5jb20vd2Vic2FmZS9wc3dkRm9yZ290LmFjdGlvbiI+Rm9yZ290IHBhc3N3b3Jk PzwvYT4KPHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+ PCEtLQppZighdmcpYWtpKCk7Ly8tLT48L3NjcmlwdD48L3RkPjwvdHI+Cjx0cgppZD1jaGVja2Jv eFJvdz48dGQKY29sc3Bhbj0zCmlkPWNoZWNrYm94ZXNMb2NhdGlvbj48L3RkPjwvdHI+PHRyCmlk PWFkZHJlc3NTZW50aW5lbFJvdz48dGQKY29sc3Bhbj0zPjxwCnN0eWxlPSJmb250LXNpemU6MXB4 Ij4mbmJzcDs8L3A+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC90ZD48dGQKd2lkdGg9MTU1Cmlk PXBhc3NwaHJhc2VDZWxsCnZhbGlnbj1ib3R0b20+PHRhYmxlCmNlbGxwYWRkaW5nPTAKY2VsbHNw YWNpbmc9MApib3JkZXI9MAp3aWR0aD0iMTAwJSIKaWQ9cGFzc3BocmFzZVRhYmxlPjx0cj48dGQK aWQ9cGFzc3BocmFzZUxhYmVsUm93CmNsYXNzPXBhc3NwaHJhc2VMYWJlbFJvdz48dGFibGUKY2Vs bHBhZGRpbmc9MApjZWxsc3BhY2luZz0wCmJvcmRlcj0wPjx0cj48dGQKaWQ9cGFzc3BocmFzZUxh YmVsCmNsYXNzPXBhc3NwaHJhc2VMYWJlbD48c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIK bGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmlmKCF2Zylha2ooKTsvLy0tPjwvc2NyaXB0PlBlcnNv bmFsIFNlY3VyaXR5IFBocmFzZQo8c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3Vh Z2U9amF2YXNjcmlwdD48IS0tCmlmKCF2Zylha2koKTsvLy0tPjwvc2NyaXB0PjwvdGQ+PC90cj48 L3RhYmxlPjwvdGQ+PC90cj48dHI+PHRkCmlkPXBhc3NwaHJhc2VUZXh0CmNsYXNzPXBhc3NwaHJh c2VUZXh0PjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0 PjwhLS0KaWYoIXZnKWFraignJm5ic3A7Jyk7Ly8tLT48L3NjcmlwdD48aT5Zb3VyIHBlcnNvbmFs IHBocmFzZSBpcyBub3QKZW5hYmxlZCBvbiB0aGlzIG1hY2hpbmUuPC9pPjxzY3JpcHQKdHlwZT0i dGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFraSgpOy8v LS0+PC9zY3JpcHQ+PC90ZD48L3RyPgo8dHI+PHRkCmlkPXBhc3NwaHJhc2VJbmZvCmNsYXNzPXBh c3NwaHJhc2VJbmZvPjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZh c2NyaXB0PjwhLS0KaWYoIXZnKWFraignJm5ic3A7Jyk7Ly8tLT48L3NjcmlwdD48YQpocmVmPSJo dHRwczovL2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL3dlYnNhZmUvaGVscD90b3BpYz1Q UE5vdFNob3duIgp0YXJnZXQ9Il9ibGFuayI+TW9yZSBpbmZvPC9hPjxzY3JpcHQKdHlwZT0idGV4 dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFraSgpOy8vLS0+ PC9zY3JpcHQ+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7PC90ZD48 dGQ+Cjx0YWJsZQp3aWR0aD0iMTAwJSIKY2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wCmJvcmRl cj0wPjx0cgppZD1idXR0b25Sb3c+PHRkCmNvbHNwYW49Mgp3aWR0aD0iMTAwJSI+PHRhYmxlCndp ZHRoPSIxMDAlIgpib3JkZXI9MApjZWxscGFkZGluZz0wCmNlbGxzcGFjaW5nPTA+PHRyPjx0ZApj bGFzcz1ldnBXaW5kb3cKdmFsaWduPXRvcApzdHlsZT0icGFkZGluZy1yaWdodDogMHB4IgppZD1i dXR0b25Db250YWluZXIKaGVpZ2h0PTUwPjx0YWJsZQpjZWxscGFkZGluZz0wCmNlbGxzcGFjaW5n PTAKYm9yZGVyPTAKc3R5bGU9ImZsb2F0OiByaWdodCIKaWQ9YnV0dG9uVGFibGU+PHRyPjx0ZApp ZD1vcGVuQnV0dG9uTG9jYXRpb24+PC90ZD48dGQKaWQ9YnV0dG9uRGl2aWRlcj48L3RkPjx0ZApp ZD1zYXZlQnV0dG9uTG9jYXRpb24+PC90ZD48L3RyPjwvdGFibGU+PHNwYW4KaWQ9cGFzc01zZwpj bGFzcz10ZXh0Pjwvc3Bhbj48c3BhbgppZD1pbml0TXNnCmNsYXNzPXRleHQ+PHNjcmlwdAp0eXBl PSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZighdmcpYWtqKCcm bmJzcDsnKTsvLy0tPjwvc2NyaXB0PlRoaXMgcGFnZSBtYXkgdGFrZSBhIG1pbnV0ZSB0bwpsb2Fk LiBQbGVhc2Ugd2FpdCBmb3IgdGhlIE9wZW4gYnV0dG9uIHRvIGFwcGVhciB0byBvcGVuIHRoaXMg bWVzc2FnZS4KPHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3Jp cHQ+PCEtLQppZighdmcpYWtpKCk7Ly8tLT48L3NjcmlwdD48L3NwYW4+PC90ZD48dGQKd2lkdGg9 MQphbGlnbj1yaWdodCBub3dyYXAKc3R5bGU9InBhZGRpbmctcmlnaHQ6IDRweCI+PHNjcmlwdAp0 eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZighdmcpYWtq KCk7Ly8tLT48L3NjcmlwdD48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1ncHRfbXNnaWQKdmFsdWU9 Jzg5NDk0NkQ3QkNENUZDNzA3RjAwMDAwMTkyMzI1NkQwJz4KPGlucHV0IHR5cGU9aW1hZ2UgbmFt ZT1ncHRfc3VibWl0IHNyYz0nP2J1dHRvbj1vaycgPgo8c2NyaXB0CnR5cGU9InRleHQvamF2YXNj cmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmlmKCF2Zylha2koKTsvLy0tPjwvc2NyaXB0 PjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj4KPHRyCmlkPWJjY1Jvdz48dGQKY2xhc3M9ZXZw V2luZG93PjwvdGQ+PHRkCmNsYXNzPWV2cFdpbmRvdz48L3RkPjwvdHI+PHRyCmlkPXNlbnRpbmVs Um93Pjx0ZApjb2xzcGFuPTI+PHAKc3R5bGU9ImZvbnQtc2l6ZToxcHgiPiZuYnNwOzwvcD48L3Rk PjwvdHI+PC90YWJsZT48L3RkPjx0ZD4KJm5ic3A7PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3Ry PjwvdGFibGU+PC90ZD48L3RyPjx0cj48dGQKYWxpZ249cmlnaHQKaWQ9bGlua0NlbGw+PGEKaHJl Zj0iaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL2hlbHA/dG9w aWM9QWRkck5vdFNob3duIgp0YXJnZXQ9Il9ibGFuayI+TXkgYWRkcmVzcyBpcyBub3QgbGlzdGVk PC9hPjwvdGQ+CjwvdHI+PHRyPjx0ZAphbGlnbj1yaWdodAppZD1vb0xpbmtDZWxsPjxzY3JpcHQK dHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFr aignJm5ic3A7Jyk7Ly8tLT48L3NjcmlwdD5TdWJtaXQgeW91ciBwYXNzd29yZCBhYm92ZSB0bwpv cGVuIHlvdXIgbWVzc2FnZSBvbmxpbmUuPHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxh bmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZighdmcpYWtpKCk7Ly8tLT48L3NjcmlwdD48L3RkPjwv dHI+PHRyPjx0ZApjbGFzcz1zcGFjZXIycHg+Jm5ic3A7PC90ZD48L3RyPjwvdGFibGU+PC90ZD48 L3RyPjx0cj48dGQKd2lkdGg9MQpiZ2NvbG9yPSIjRTNFRUVFIgpjbGFzcz1zcGFjZXIycHg+Jm5i c3A7PC90ZD48dGQKaWQ9Zm9vdGVyQ2VsbApzdHlsZT0iYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5 Njk5OUMiPjx0YWJsZQpib3JkZXI9MApjZWxsc3BhY2luZz0wCmNlbGxwYWRkaW5nPTQKd2lkdGg9 IjEwMCUiPjx0cj48dGQKdmFsaWduPW1pZGRsZT4KPGltZwphbHQ9IiIKc3JjPSJodHRwczovL2ll YTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL3dlYnNhZmUvYnJhbmRpbmcvcHJvdmlkZXIuZ2lm Igpib3JkZXI9MD4KPC90ZD48L3RyPjx0cj48dGQKYWxpZ249cmlnaHQ+PHNwYW4KY2xhc3M9Y29w eXJpZ2h0PiZjb3B5OyAyMDAwLTIwMDggQ2lzY28gU3lzdGVtcywgSW5jLiBBbGwgcmlnaHRzIHJl c2VydmVkLgo8L3NwYW4+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQKd2lkdGg9MgpiZ2NvbG9y PSIjRTNFRUVFIgpjbGFzcz1zcGFjZXIxcHg+Jm5ic3A7PC90ZD48L3RyPjx0cgpiZ2NvbG9yPSIj RUVFRUZGIj48dGQKY29sc3Bhbj0yCmJnY29sb3I9IiNEQ0U2RTYiCmNsYXNzPXNwYWNlcjFweD4m bmJzcDs8L3RkPjx0ZAp3aWR0aD0yCmJnY29sb3I9IiNENkUzRTMiCmNsYXNzPXNwYWNlcjJweD4m bmJzcDs8L3RkPjwvdHI+PHRyCmJnY29sb3I9IiM5OTk5QkIiPjx0ZApoZWlnaHQ9Mgpjb2xzcGFu PTQKYmdjb2xvcj0iIzk5OTM4OCIKY2xhc3M9c3BhY2VyMnB4PiZuYnNwOzwvdGQ+PC90cj48L3Rh YmxlPjxkaXYKaWQ9cHJvZ3Jlc3MxPjx0YWJsZT48dHI+PHRkPjwvdGQ+PC90cj48L3RhYmxlPjwv ZGl2PjxkaXYKaWQ9cHJvZ3Jlc3MyPjx0YWJsZT48dHI+PHRkPjwvdGQ+PC90cj48L3RhYmxlPjwv ZGl2PjxkaXYKaWQ9YXBwbGV0SG9sZGVyCnN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDow O2hlaWdodDowO2JvcmRlcjowIj48L2Rpdj48L2Rpdj48L2Zvcm0+PGRpdgppZD1oaWRkZW5BcmVh CnN0eWxlPSJkaXNwbGF5Om5vbmUiPjwvZGl2Pjxmb3JtCmlkPWZyYW1lRm9ybQp0YXJnZXQ9YXV0 aEZyYW1lCmFjdGlvbj0iaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJz YWZlL2N1c3RvbS5hY3Rpb24/Y21kPWF1dGhGcmFtZSIKbWV0aG9kPVBPU1QKYWNjZXB0LWNoYXJz ZXQ9VVRGLTg+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9c3UKdmFsdWU9IiI+PGlucHV0CnR5cGU9 aGlkZGVuCm5hbWU9aGVpZ2h0CnZhbHVlPSIiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPXdpZHRo CnZhbHVlPSIiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPSJoY19oZWlnaHQiCnZhbHVlPSIiPjxp bnB1dAp0eXBlPWhpZGRlbgpuYW1lPSJjdF93aWR0aCIKdmFsdWU9IiI+PGlucHV0CnR5cGU9aGlk ZGVuCm5hbWU9dgp2YWx1ZT0yPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPWtzCnZhbHVlPSJeIj48 aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1rc2toCnZhbHVlPVNIQTE+PGlucHV0CnR5cGU9aGlkZGVu Cm5hbWU9a2NpCnZhbHVlPSIwIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1tCnZhbHVlPSIiPjxp bnB1dAp0eXBlPWhpZGRlbgpuYW1lPWZyCnZhbHVlPSJLcmlzIEtlbm5hd2F5ICZsdDtrcmlzQEZy ZWVCU0Qub3JnJmd0OyI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9c3ViCnZhbHVlPSJjdnMgY29t bWl0OiBwb3J0cy9wcmludC9wNS1Hbm9tZVByaW50IE1ha2VmaWxlIj48aW5wdXQKdHlwZT1oaWRk ZW4KbmFtZT1zcmEKdmFsdWU9IkFSQzQiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPSJzX29iIgp2 YWx1ZT0xPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPSJzX29vIgp2YWx1ZT0xPjxpbnB1dAp0eXBl PWhpZGRlbgpuYW1lPSJzX3dhIgp2YWx1ZT0xPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPSJzX3Jt Igp2YWx1ZT0wPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPWZwbAp2YWx1ZT0iaHR0cHM6Ly9pZWEz NzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL3Bzd2RGb3Jnb3QuYWN0aW9uIj48aW5w dXQKdHlwZT1oaWRkZW4KbmFtZT1wcGwKdmFsdWU9Imh0dHBzOi8vaWVhMzcwcTAzLnFhLnNici5p cm9ucG9ydC5jb20vd2Vic2FmZS9oZWxwP3RvcGljPVBQTm90U2hvd24iPjxpbnB1dAp0eXBlPWhp ZGRlbgpuYW1lPWhsCnZhbHVlPSJodHRwczovL2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29t L3dlYnNhZmUvaGVscD90b3BpYz1FbnZlbG9wZSI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9InBf bWwiCnZhbHVlPSI0MCI+CjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPSJwX28iCnZhbHVlPTE+PGlu cHV0CnR5cGU9aGlkZGVuCm5hbWU9InBfbiIKdmFsdWU9ImtleTEiPjxpbnB1dAp0eXBlPWhpZGRl bgpuYW1lPSJwX3MiCnZhbHVlPSIyMCI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9InBfdCIKdmFs dWU9IlBhc3N3b3JkOiI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9a3N1CnZhbHVlPSJodHRwczov L2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL2tleXNlcnZlci9rZXlzZXJ2ZXIiCj48aW5w dXQKdHlwZT1oaWRkZW4KbmFtZT1zaWQKdmFsdWU9IiI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9 dGsKdmFsdWU9IiI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9Zm9vCnZhbHVlPSIiPjwvZm9ybT48 c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmlm KHR5cGVvZiBqdz09J2Z1bmN0aW9uJylqdygpO3dpbmRvdy5vbmxvYWQ9YW1hO3dpbmRvdy5vbmtl eWRvd249YW1hO3ZhciBzdj0KZG9jdW1lbnQuZm9ybXNbMF07c3Yub25zdWJtaXQ9ZnVuY3Rpb24o KXtyZXR1cm4gYW5uKHN2LApwYXlsb2FkKX07c3Yub25rZXl1cD1mdW5jdGlvbihha2gpe2Fucihz dixha2gpfTtpZighdmcpe2FueSgpCjthYnooMCwncGF5bG9hZFZhbHVlJywncGF5bG9hZEltYWdl JywKJ21ldGFQYXlsb2FkVmFsdWUnLCdtZXRhUGF5bG9hZEltYWdlJywiYW9pKDAsJ2tleTEnLHBh eWxvYWQsIisKJyJodHRwczovL2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL2tleXNlcnZl ci9rZXlzZXJ2ZXIiKScKLHsncHJvZ3Jlc3NGbic6dXEsJ3Byb2dyZXNzQXJncyc6eydwcm9ncmVz c0Jhcic6eydiZ0NvbG9yJzonIzgwODA4MCcsCidib3JkZXJDb2xvcic6JyMwMDAwMDAnfX19KX0v Ly0tPjwvc2NyaXB0PjwvYm9keT48L2h0bWw+Cg== ------Part-0-25129063-1264616003006--