From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: zy liu Newsgroups: gmane.emacs.help Subject: Problems with emacs 24.3 Date: Tue, 27 Aug 2013 10:46:14 +0800 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=089e0111ae345e6ead04e4e4e0ea X-Trace: ger.gmane.org 1377585997 17253 80.91.229.3 (27 Aug 2013 06:46:37 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 27 Aug 2013 06:46:37 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Aug 27 08:46:41 2013 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VED31-0008Jh-SB for geh-help-gnu-emacs@m.gmane.org; Tue, 27 Aug 2013 08:46:40 +0200 Original-Received: from localhost ([::1]:54420 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VED31-0001fW-6X for geh-help-gnu-emacs@m.gmane.org; Tue, 27 Aug 2013 02:46:39 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45195) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VE9IP-0006q2-27 for help-gnu-emacs@gnu.org; Mon, 26 Aug 2013 22:46:18 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VE9IO-0004s9-5S for help-gnu-emacs@gnu.org; Mon, 26 Aug 2013 22:46:16 -0400 Original-Received: from mail-vb0-x236.google.com ([2607:f8b0:400c:c02::236]:58552) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VE9IN-0004rH-S3 for help-gnu-emacs@gnu.org; Mon, 26 Aug 2013 22:46:16 -0400 Original-Received: by mail-vb0-f54.google.com with SMTP id q14so2715676vbe.13 for ; Mon, 26 Aug 2013 19:46:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=AqFlZ/Yb+K/ZlwIjbOdn87VLMmc749PvjnuYVnbkQ/M=; b=GEG7MElH7/O/aDQqfVPv2qds9M9vX9+wuom6z+pmum2K9d0ApGs8br8WJO1mdwSFN4 av9f7iFHrlylZEwfov64PpxyNuh8X9zBRYpS0vMk+WRpz2CccicNjaLPIL3qb/qIeMhC 0ry4YzeSSNmBvLLZWhzbFnUFmcMjXUt9I/lWqjoHn/JFv5G2/AQthgKuQqM0L5S8MPnY bYemhgvGrudo2v2J46sAGlzIi9y7uWIrNGBkgqah4g0mvbZ4u7t/+TOL4RcdzYzmVIXW GJXXi3TfE/cpHupbjmNhcUs3eRsjPLycKQC4bGNonWSVBpFOzk5cEVXsQMWbIPBh02QM W4+g== X-Received: by 10.52.230.102 with SMTP id sx6mr14868160vdc.15.1377571574801; Mon, 26 Aug 2013 19:46:14 -0700 (PDT) Original-Received: by 10.52.118.42 with HTTP; Mon, 26 Aug 2013 19:46:14 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400c:c02::236 X-Mailman-Approved-At: Tue, 27 Aug 2013 02:46:21 -0400 X-Content-Filtered-By: Mailman/MimeDel 2.1.14 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:93101 Archived-At: --089e0111ae345e6ead04e4e4e0ea Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi,everyone! I just come with a problem when I try to use weblogger (a tool for writing blogs in emacs), firstly in my emacs 24.3,however it is all ok when I was using the emacs 23.2,I don't know why the problem come out after I upgraded my emacs. I have attached the weblogger_header,the problem output and the weblogger.el bellow, can anyone help me? Thanks! --=20 Regards=EF=BC=81 Email:liuzy2011@gmail.com --089e0111ae345e6ead04e4e4e0ea Content-Type: image/png; name="weblogger_header.png" Content-Disposition: attachment; filename="weblogger_header.png" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hkuieh3e0 iVBORw0KGgoAAAANSUhEUgAAAf8AAAChCAIAAABGYCHaAAAABmJLR0QA/wD/AP+gvaeTAAAACW9G RnMAAAFBAAAAbABxEUAYAAAACXBIWXMAAAsSAAALEgHS3X78AAAACXZwQWcAAAUAAAADIADQKAhV AAA2eElEQVR42u3deXwb5ZkH8OedGY1O25Isn/Gd2Dlt574PCGcajpKSLhQKLGw5Ulq6CxS6pbtl S7fbdrf02LbQg1La5VoCJJAQkkAOyEVOJ7bjK75lS7Jk3ddc7/7hS05sWb66CX6+n3w+sTTSq1cj +ZnxOzPvj/i8HgAAgLTrNsFYRYOBMT8XuIysRzYm1++o32VXRngo4WavL9pg9L2x3WYVASGE0Fhx l9xDtMbsZTMzTZLzwOmWbiXxplhVYWnGmpmGTD0DANFguOZo2+4WiU5ofyVRESRFmbgGDTMLt6yC D15vOhea2DVLNHm33lgOp3Zva43SK6RlhNDUMaj6c1rjjNycWWZVRBp1Q0z24vzNc1W2Wvu2pmiU ZZNNGr0y0b2lUv3Bhnr81BBCaLxiqz+TlJFTqPJXVHb40+esMY2qHZVm/gxesVm3HvYGe/ZH23y4 dhFC6HIVW/0VT2vVLoVSYMzpo2+JAjAsww35ImlZD92c3Lyzfoet98+BIcdbtBnm9Usts9PYkMO9 76C9xkd7tiN8bv5j1+lJ/+OCrpffsjvk/tvEkG1et8g8M03FKZKt0bn3aHeHMNAsUWvnL05fUqQ3 qkARxS6b/9hhe02QEgIECAsEgDIMYXpfgFIKMeMpTOaC/Dvm8x2fNW+tisoJrgtCCDAM6W2ZENLX cn/DjNYyb86sedkmPauEPB0VZyurusW+pZw5f87KkuxMvYoAyNGAve3c3kpnNLGWEUIoEYOqNVXG XEPEyKnqaOmCrDuuIu8fdVvDo25IOy3rnvKkaGP3EZu6rNR88wbwbbVZJQAA0d75ynssCwDAZC7J uzZp0BP1udn3XJcUrO364EwkqjEsW555h07544ceLwUAINqkG2/OLeVDZ061N7gVlV49bZrWpAEI Mjlriu+cwfY0csOXZ9/Q+0Z8b7zW3tI/8kXYrDwtTyA/T6OujoYSeluq1PlfWZPD99yYf+0D83t+ khoP7f6oSwYAos5Yu25pYaT1xKm6bkk9rXjeilUa8aOjtSEKAJx5zoYF+bSjdv/Z7hCodPrkNB4I AaAjt4wQQgniJqohxX6m5Q2YdtOCzLsKzDWnbAcqA95R1CO2eL6+ev+FnY2iAqRGKHpgUcr8NIe1 UwEAKgj2rp6HMXyUQmz1V2lXrEph6ltePxyMUgAIOohuy+rU4iTvCR8FwuYvyS7VR/a/3fJZz9YA ArW9xw2o/XTLX84Tfd60TeVwdI+1IQIAQBXZFdttKlYdaNfM4J11voS3aJK39v0DTZw6c93yYqj7 7IAtSgGA0rC/5y8fLm1meTFp23norFWkANDhJdk3ls/L1tU3BBUgmhSjDkJnahsavD2P72xItGWE EEoUN3FNUanldMuLdYaFSzPWLMqbNcu/d4/1dHeif050V7R92CgqAADUawuHwWjU9ezwxu2+MaVE B7ri/MeKY++W07QEfBRYTVk+K3d0VvqGaEbwRzr9YDDLAOB2hTuGOedH8PiOnBjligi53CGiSRYA IOBxdA8+M4cxzMhSgzr3CxtzY++OJKkZCCpAQ11WO50zf+1aY2PT+daODr+oJNgyQggljJvg9qRg 4LN9wcrq1FtuSL/2xszurR3N0USeJ7e3R/vP4O8p+pIMI9Y2Vs1rgTZ90vSRI2bvl0I0qAAA4bgk FUR8onA5FUmWT1aD7Diz7aw75tQqqoi9Z1opgcYde3xzZhaXzigrKC4TPO2nK6srnVHcvUcITSBu MhqlIbtzx7GkR1YlzTMzzZ0KAKUAA4dtCWOyqACGu16L6FI1OhDavSPXOzkqhMFg0Cger3Dpo6ks BSXINqs1JBwYbgNAAQAYMlkr+NKWZcEvAKvhxWDAN3SnqBzqOne669xZXVZuQfnM6ctWG1UfHzzp k0doGSGEEsZMUruEYQmAEhIoAFBRFoBR921pdDkZG2cOu9khGv3Kcg243NXekffYJY+vIQxpc1On 8TEtsKy252iuFDnXrpCMtOWZ7HClUhIUCpxRM2wp5Y3JKxanzkgaba2liihS0OjVF69iJdDQGYXk olKzKuZeVsMzvb3neg9FgxzqbK7ec7TeD4Yco4qM2DJCCCVs8NVevC5ZzQAQI0+AUaUkGUABUARv UBjhAC6TZLr9muRAW6DVGQ0ojCk9ZWm5RrbbTnsoAMjBkC1KSkpNucEgn2O5dr7G3iQmFw5qwDIt qZCRWIO+dKGlmA/t39XtHm7XP/bsRjF06LC3+BrT5g1woMLvlBhLVnJZMV+zo+mIlwKVm4511GTk LLyxMKXafcEtA89npPO+CusRV28jgsvXSbMWr87wnPZ7iSozWxuptp3p3/AQ1bx1OWtSgaZJv97l DY1mBEn0Nrnpqunly4J1LSFiMFrShKYjzQEZJEftuYbsxXNWrmCq65t8sjo5tTA/L8V66J3agAKq /GXrFsq2C3aXMxCVWG12YX4SBOo9Ih25ZYQQStTgq72yZ6zL7N8hTZk/OwUAINL50dkOX/xRGBoJ 19mTymekzSlnGAApFGmttL592uvuqUhi8OP9Tt3q9Dtvg0CX99iupgZzXvGg6k+y50/bPB8AFHdH 947djmr3kIWW8DwDshI7fUSwpeOVPdGrFpjXrTdxsuztDtWfcVT3DfQoQd/77zZbF6YtLE6fzhMq Si6Hry3mUITi97y7m7tuqfn6a82Eyl1t7v2xRwmobG0NC6l8Z1tktEdYaajms2Oa8jlz5y+ZCzTi s5+v6j1+SyOdB/Yf88ybOWfO4lmsHAn5bZ11x9rCCgCA5GhstuVnzpydu5hnAZSwz3HmWOWZ2GGf 4VtGCKEEkf//Wd5GgdNee3thuavt13v8EfzsEEJo7LjLvocsP7tEJ/vECMPllKQv1EkVB0LRy77X CCF0ebv8qz/hCuZlliYxACD4gyf2dx60yXiWO0IIjc+VNfKDEEJoYuBJgwghNBVh9UcIoakIqz9C CE1Fl/9R37j0xYVfX6PtvWFv/+UO3xBngjKq8uuKrtG5X33PYUs8tIxwpTeVbCAdv3nPE8CjzAih z5tB1Z/Xm4oyUjNTDEY1S4BGgp7mtrZaTyJXEqkMm76S1zdbPoAsOW2+4ycclS5lUitnuK3jrztY wnCz1+YsHO5BFCRRESWqXEZFnAX5LbVERf52hShXSMsIoc+TQdf6JmdkZXL+DqurOiJxmpSi3IxZ s1SRU3VNCc6RSR32t09EZJ5NMRvKyswbNvLwdtu5ydxzViLRjggAw2cLcbolVn1cX4WfNUIIDRiU 7Ohsqt7fX6p9fqeo2TAzKUPHNAmJTSEjh6NttqAAAK2+8zb6tS+YluSrqqoE3AVFCKHLzOBx/0F7 6YTX8AxEXZExFW/RHw0CqLX98xDHS9/VFxd+fQ3Z/WaLIzdjXVlyrp4BEI++23DQo1py6/SFrS3b Iqm3LTXQpo7Xjglz1uWtzpTP7m3a3T7CZV9Mkvm+zZmWnhtu+++3uWJnjmOSU++7PSP8Ue12wbh+ aerMVE7y+A592nnCMVSzhCtZWfjFmUzDoabttULf4YMxpf4CC8ASIABACNs39TUF6O8cR5S/5+R7 GSUToIsyL0rcKwPDOHQWK3+PlZcQYACilJxWuEclxpNYywgh1GPYo76cLmNxrjZsr28ZU34UScpJ toBS19l70CB++i4AALAFywuvNkUOHW7ew1ruWq/tb4pPt9yoRA6fU11flnaVmnI2xwld1sK5uv3t /vhTPigh3/btYZ4weavz1w7zGEPBtHvzVC2nOl45CMWrc69eL1nfsnVcdHCYcMWrCr9YwtQfanpv oPSPLfVXR8RPeSW5dy1Hz/d+AmSHqHpMIQDAgvwjlXQjsM+Lqlqgq1jpGU4Kiqr/pQAAWkb+EyfL CvekRBwA6UQpJYm2jBBC/Yau/owmdfGcaQZv64Fm32hysRhgWMKr+ewCy7XLdEpH36wM8dN3e6lK 0jzvvttRFwYuQ47dWdVmsofe6qpSwfIyy3Rq/V2F35SUvtjIcARG2DLJktMpAbCGKIB66IeYpquO 7Wg+aJcpgL8qvOoqXYYaYqs/YbjiFYW3lTB1h5rejy39MLbU3whwd4lUA8pPVDKVVE/Rnh1z0k17 C3QpJ99G2Hui3GEAADiiwDK1dB9D35aJDGAiShqQFyRmW+/jmW0Jt4wQQv2GqP6sxrJ4Xn6qv+VA vdM/qv1+Ljfvm/cCAAAVW89b3znp9cgAI6bv9t08d9BeHwYAkF3ON99zh/oWCS1d1QFKjVQBua7S H6BgBIjNChsPb4X1kL13qEcRFQU4nSomTphRFa8svLaYqfu06f064dLzRUef+qtQcp4SFmgAgFJS cfGZOfQWhgLIr6gHDSR5COWBhAG6FPY0SA+rxCKFfU1mD1OQE20ZIYQGXFz9Gd68cG6+ydO0r7E7 NNriodhtbx4LhaKSJyDFTsEfP323j9jp6a3CVBLtXSJAz8VoNOyVeqNNZLHdq0zsJWo+pxhb0ykA id2saLSz8lUQ9dVaRQn+FgjNIxBVVJslEo65W6Kk50oGkbJ3C+QuVr6fla5nJZ/C/FrmXlYIRrsg hEZlUPUnXNK8OYXp/uaxlH4AUCKCzRm59NzL+Om7l7WQf9fh0BduSr/5BjHwvr1NmKh2ad+Ghlyy oJ2CGmiQMi3DPDdKmZck5k8SXcrKD7Hyd1SiQeB/QUdqGSGEYsTuRjPGnILpKs/pJldoYmv0COm7 lzUquJxbP3J7jambrzVbLunwWFN/FUKCACZy6dAbs10hwMj3Dy7fJtI7eK8m/WfykGMy94jItgNd ywx8kMO3jBBCA2JKBMOnp/Ag+7TG1NyBYRsqhby20Dhn1I+fvjtRePW0DF0EqOCNdEUuaVbFZ2bo dIoScEW8oxzECbfZ3vhUdd/qzL9bI71ywDdwMGQcqb+U7KLwLCs9Tdk9FKYRuZRyzylEAKiQuW2M eJdKZGVmFyVGotzIKgWy6jYZRKDrOeExYLYrbDWFMNAVrJwD5B0l5pzO4VtGCKF+sTuIhGUAeEvZ dEvsI0LW845QaLzDyvHTdyeGKe1LG9MAwH6o/pVa8eKmDaabN5gApDPvNezuGu3fNtRT3/6moeCu +TlfDjX/z/FQ78ZlHKm/QN4QVamcfDcnfhXArTCvyr3Hb2XKPC2qLnDS3ax0BwEPkOMy+2OZSAAA 5KzMfcbKX2bFHAIA4KLMCyL3W5pQywgh1A/TXRBCaCrCGZ4RQmgqwuqPEEJTEVZ/hBCairD6I4TQ VITVHyGEpiKs/gghNBVh9UcIoalo0NVe+rScskyjRcdzBEAWPV7n+eZOWwJTPBs23RsT6hsr6nn1 zY528bJ9/5ivixCamgZVf44Dv7OzLSJEZKIxpM7Jy1qhlvdU2QMjVa/I8YPWWgYAQGWxXD+Xt521 nXQrAEAloVv63K48hBC6Yg3K9fV2tnn7b/kCcrJxebJeCzDihbxSW1PvE3nBeN1cldvqrerEHV6E ELpsXTIRJAEChOXUptSsUiO4223uCariRJ+dun6RuSSN6xsiiux+o/FMsPeGOs101RLL7ExV3zSg 4tF3Gw52UwAgKk3p0ozlhXojDwA05A1VHW7f3xk78xzm6yKE0KhcVP0Zy4zyNak9h4Kpu6P+cHto YgZu9LlZ915nVHe5P9nntwvEVJR5fUzOF5+RcdfG1FSP79BBmzVEDTkZG+f1H49mspfm3TiT1p2y 7rVLlOdMZq32otYxXxchhEbnouqveFpr9ts4nteYzWnF2SXXapr3N4x7un/C69etMeq77C/vdHXJ AABOneX64r5CyGqWrU21+Fyvvm9vFwAAeGKS5mn6nsymWTjwOw+f8zpkAICmFu/FL4D5ugghNDoX j/xI0bA7CgB+u8tlDc68Ji+vzOg9Os4jt+pM8yyNUnvA3TXUoAxnNpUlQdsBl3XIKeip1NoYVpZY 7r5VfbLKXdkcdA01mTLm6yKE0GjECYBS/E6HO68gNUXDdgfGM0E8MVjUHAit3qGLoMas0YNY6Rku QYZ2Vzb/vtu8oty8dFXeslWy7YJz32fdbWE6qSsG83URQp9rceP/KACAQse958pyg4c8CJeXrwbo 2dUnLHvRUjYrX8tBTHGn1Gt17bK69ibp585KXVGacaeFeendLucEVFrM10UITU2x1/oSdtCVv0Sf mmYEydEdGWeVpSGvBMAXpbIEAAiTWZazIY8BAAYIAI34RQlUeekcAwBAzCXZt8yK2SgRwvedJCT5 gxXH296uECHFkKke9BqYr4sQQqMRm+urmzOv0Bh0tbmDAZlJMqbPydJHuxqrfOPe9w+2u5vl7BlX 5W+oDEhpxvI04fDx0MolnFYFACA43HXRpDkr8m9J8vqSUhbk0bOng6ULVJQCABA+6bbb0qQW7wVb xB2mnEG3cKYKvB5bNOYFMF8XIYRGJ6b6U8HhDlvSMxekMQAgRPzWptpqR2ACqpUS9GzfxW5YlTav 3Oyxut/b5mhQZ5SDKSOJgIfSaGD3zg55bca8eZag3fPRdnuNLrccaEQCAKBS+NT5UGm+aU2JSssC yJLT6nznqHPQsA/m6yKE0OhcDrm+BGIH+YGw+aum/11B8LXXrW04SwRCCE2Ky2BQOrkkb1OBWN8S 7PBKlOcz88wri9mO485OLP0IITRZLoPqH2x3nTWZ55VnLdezLNCAK3Byv/VIUxSLP0IITZrLYeQH IYTQ3xqmuyCE0FSE1R8hhKYirP4IITQVYfUfYf2oym+Y+U+3pWdeFlfsMkTZqo429P4TbxzmyuYc VjyhFp8c/rpnI5H/i49Wq6MN6ugpXrwBP2eEpp5hihprmDtvZonWd+R4vS3xK5QIx0+fk7Z0piE7 iWVkyWnzHvzE0ZDYpbeGmYVbVsEHrzedC11O64eCJCqiRBV6OfRGoczTIp8MkMmIv2DjPAxCAJFh lqqI/EdeKqbsD0WmCWgeARv+HiA09QxV/QmXnl9Uoh1lS0StW7OhYLlZbqvqet8qSGp+Wo4mSXWF rx8qVn1cX3UZdaheIQCQF3c+ow5FtTY67NI5rFwOzKMCtwsAAA7jLwFCU9IQ1V9jzluSDg6vmJ6S eDuEyVmcs9ys1B9o3HZB7JnspuECrt/LDy1gKFCmEtcEQlPbxdWf0aQtmW4Kt9dW04JRVH+iNqyY wUGX7eNGcZhJ4YbN9SU9UcJAACjDEKZ3t5ZS2j8BBDFkm9ctMs9MU3GKZGt07j3a3REz/1C8TGCW L16QsXpmkkUNSiTSUO346FzA3zeYpS8u/PoasvvNFkduxrqy5Fw90/9cJsl83+ZMS8/j3Pbfb3Nd EnAcr1eTlkUcF/17Xvhu7/oj/yHwfxg8XkUAGIBkAKCMCNDzOSgx82zEzTFGCH2uDK7+jK6kONcU bPu4I0iyR9OMypSczYK9zu8bZnx8+FxfJmdN8Z0zercIN3x5du8hSNH3xmvtLVLPc7PvuS4pWNv1 wZlIVGNYtjzzDp3yxw89XgoQPxOYqOasL9qYK9ectO7rknWZpnUL8+5Jbnv5E39woJ9swfLCq02R Q4eb97CWu9b3jngpId/27WGeMHmr89cO/Y7i9GqSsohHQraL/ClCkxj5ZfbSBukGlfDLnlVDxEO9 M2ST3wj8zyjASDnGCKHPmdjqz6bmFs3W+E6c7QookDSqZniDigfF5Rs6nyturq9iP93yl/NEnzdt Uzkc3WNtiAAAUEV29ewPq7QrVqUw9S2vHw5GKQAEHUS3ZXVqcZL3hI/GzwTms9KvySXth5rfrxUV AOgI2qTCBxZnrTgf2NvV31NVSZrn3Xc76sLAZcgDO7qy5HRKAKwhCqC+5C3F79VkZRGPyEWJi5IU kGGIY8LkkMR/CehGlXg/cA9IxAMAFDr7Xjx+jjFC6HNmoPrzptxlWWxbXYtVAEJIT9QKIYQQChTG VZ/i5/oK/kinHwxmGQDcrnDH4HN+OGNKiQ50xfmPFcfeLadpCfho3ExgxpKv10C4orV/MIq6mzxd izOLcni2q3+wRT530F4fBgCQXc4333OHfCO/2fi9mrQs4nHyUlIBUAoAQCoVxjVo4Qg5xgihz5mB 6m9MN6mByS0pyx1Yql6+eCGA1Fp17qQ/7vCvEBAF0JpTWNJ56bmRI+T6xseqeS3Qpk+aPnLEPJ1C NKjASJnAaj0LkhSMmS5OEcQIgMHAMtA/177Y2fd0Kon2LnH8vfr/yiIej5FyjBFCnzMD1d/dUnvA SvqPs+rTipZkCJXn25wyjYZGqtuix9chJxcUJyXXdnsvKXFxc337UAAA5pIzGeWoEAaDQaN4vMIl vRghEzgalIHj9BxAX0lneJUGIBqQx3koM26vet7O5GURT4oEcowRQp8nA9f6ipFQdyDo7vvnFRUA 2R8IugOhEYs/0EjgSIMEaenrp6suuXw4fq5vL0lQKHBGzcXlX/L4GsKQNjd1Gj9wJ2FZLQsjZQIr ruZgGHTz8/u7REyFxjSQLrQL4yzCcXs12VnEk/RNiJ9jjBD6nJmoCQyo0n6i/Vh6wbK1hZtTu063 i4qGz56m8VV0nvHS+Lm+PQSXr5NmLV6d4Tnt9xJVZrY2Um0746Ughg4d9hZfY9q8AQ5U+J0SY8lK Livma3Y0HfHS+JnAUZvj49akjSsLbuId53rO+VmgCTa0HXWOcgRGxWdm6HSKEnBFvD3jSHF7NdlZ xH3rfAZRFhEiA1Qp5JIBK5pL6CICEQrnaUJnbcbNMUYIfd5M3PQ1NBo6+H5Dx5y0pSXpt8xlGVnq 6vAeFAFGyvXtebri97y7m7tuqfn6a82Eyl1t7v1C76JgS8cre6JXLTCvW2/iZNnbHao/46gOUACI nwkMVKze1yjOz1hdOm2zGmg4Un+69aOzgeBoS63BdPMGE4B05r2G3V3KyL2a7Czi3ha+pRK/BQCU Wy2wl87WcJdKuAvAqaiuFhM6bBs3xxgh9Hlzpae7YCYwQgiNxWUxdeXYYSYwQgiNyRVe/TETGCGE xgRzfRFCaCrCdBeEEJqKsPojhNBUhNUfIYSmIqz+MYjyW3V0P0tjL8kdMSMXIYSuRLHn/DCmgnlX ZV6UxSi3V5897hv5WlEme9WMu2dedApRdN9bjcd9V/T88PEzcuNgQX5LLVGRvx0DUhBCl59Lz/gM Nba4AgMFW/FFRlG9o0f22prFvicoijt4pUeDxM/IRQihK9Ql1V+OWO0O51h3VmWnI9iGUwIjhNDl 7pLqTxgNz/GCJEzsaEWcBF2Ik77L8Etunb6wtWVbJPW2pQba1PHaMWHOurzVmfLZvU272/un9R9z Ri4D9A5OepBVcvruae/9f4SMXAA6i5W/x8pLCDAAUUpOK9yjEuMBAAAWgO2ZLJMQFnpnzaQA/SuV I8oDnHQvQ9P77qkS+U0KkYE+yAvfBtVSEW7n5AcYJRXIhxL3zzITkw5GF7DyE6yyjFAA6FSYXTL3 Y6V3Qh7M5kUIJeKS6s8Yl8w3AoAcDVjttmqbNzyqykFIfyw7UKB0UMkcOkE3XvouAADh0y03KpHD 51TXl6VdpaaczXFCl7Vwrm5/u793TGaMGbkE6BO88CAh78vcvylEBuUplazrWxg3Ixe0jPwnTpYV 7kmJOADSiVLa9751RPyUV5J7V3D0fO86JjtE1WMKAQAW5H/npU1A3pC5DxVGBfKzqos2WfJPeCVX 4Z4QOMqIf+TELqr+fu8HQa9RCS8ycErmvqUQP9ASRikjwAFImM2LEEpYbPVXgvaWz/wMw6i0Wl16 ampe3oxpxrb9NQ5fwhsA3U13zr6p74bU0vrfHwViMlyGTtCNl77rAgDQZrKH3uqqUsHyMst0av1d hd+UlL7YyHAEemfHHFtGLp3FiQ8S8pLI/0gBCgAE7gB5dt/iuBm5YCJKGpAXJGZb7wT4zLa+RRHg 7hKpBpSfqGQqqZ6iPbv8pLtvqvxlnLQJyI9F/vcKAABDmC0gD9oOEyVHVm2WGB8AkdkznLSQUBaI DJDMSD9moFLi75ZJz6o9oAz0D7N5EUIJGlRzhLDX2jcXcF17R+702YtTc8pT3Z92iQnW1OinH3Y0 99V7JRodPDH8kAm6cdN3XRQAhJau6gClRqqAXFfpD1AwAsCgEJIxZeTSOxiqKNwflLGkFncp7GmQ HlaJRQr7mswepv1JkaBQcp4SFmgAgFJSMXjghYByHwt+hXs93jaVfVxifD29JCQIYCbAAMhA57LU CMwzChGGekeYzYsQStDws7wpgrWtsyQ1N8WoYbvEBKdNk92ucMewR32HTtCNm74rAdCwV+rd+shi u1eZoIsUGKBlBDqV2PH0URApe7dA7mLl+1npelbyKcyvZe5lZeRdbBVRigHaFCYU50GUaYv9KABY 2ru1SycUKGMbcnuF2bwIoYTFK6SUggJAlUkeMx5I3+3v1ASl78ZFALjB4QDJRCkbVccp85KkWhPl 75LYM0T5jkp8NObvEQpAAcjgoMSB1415YQuRZyT8oi5KgChDP34gm5c0xfxrA8Bhf4TQRQZV/8GZ 6owpI90IsrM7MqnzJU9M+u7oM3JlIJ0UcoiSBgAAaqL8lJMzEn66mvSfyUOOydwjItsOdC0zsEIV QoIAJnLxn1cSECdAEaukAACAgUi/Uin6oQLth0IqZSYA9BscTR7q08RsXoRQgmJKE1EXzp2ZJ3ps vlBI4VJMlulGteBuPueZ5Mny46XvJli1xpaRS/5KYT0jvaKCbVS5iVVEmTvKSDlDPPLSjFy6nhMe A2a7wlZTCANdwco5QN5RBs7pBEp2UXiWlZ6m7B4K04hcSrnnFCJQ5q8K+TEjvsxx+0C5nVVaZO44 K1l6R/ZH4FHYZxTl56ywjbCvycQNkMMo0yn3hEwimM2LEEpY7I6p1O3yZlqMM/LTOAAh4mtubjlv 90cmfdQgTvpugtV/bBm55BNR9c+c/AQrPQzkbUn1HzL8RD30Qy/JyCVnZe4zVv4yK+YQAAAXZV4Q ud8OenHyhqhK5eS7OfGrAG6FeVXuKe7kHUll5sSvs9L9lHlV5J9X4AkW7iBUAySBGk3eF1V2Vv4G qzyuoiyAgzIfytCzicZsXoRQgjDdBSGEpiKc4xMhhKYirP4IITQVYfVHCKGpCKs/QghNRVj9EUJo KsLqjxBCUxFW/8sepg0jhCbBpfP7q9Izc2ZnpJjVLIASDbrP1ra0CyNdQqUpKPjmem3Tgfq3Lkg9 j2VN6f9wW2rXh7VvWzFaZMJh2jBCaJwGV39GU1Aya0GK2GZtq/OLCqtK1vOJz7VDCpdYslttVpxT YNJh2jBCaJxiqz/RpefPN4r1VTWV/t6ab+8eVWs68zXF3X+tFnCvEiGELm+x8ypr8jMNivtCnX+M MVBSq5vNW5Be2Nh+YYgxCWLINq9bZJ6ZpuIUydbo3Hu0u0MAJsl83+Z0xwd173cqmtzcLdfpGz6s 225ViN58z5eSP3uz+XwEiEpTujRjeaHeyAMADXlDVYfb93f2h/qCOs101RLL7EwV33vHQGLwGPOE Abi0rIduTm7eWb/D1rstM8ws3LIKPni96VwIuIysRzYm1++oPwDG9Usts9PYkMO976C9xhc7dTOm DWPaMEKXrYHqTzhdugZ81og6NXdpniVNzShCoM3aXukIConNnCY3n/YY1lvWz9W0nLx4bjh9bvY9 1yUFa7s+OBOJagzLlmfeoVP++KHHG4m6JMacwpJOSM3TcsDkF2hU1hAYNPpIxCMCAJO9NO/GmbTu lHWvXaI8ZzJrtTEt8xkZd21MTfX4Dh20WUPUkJOxcd5Fx7JHnyec2BvWTsu6pzwp2th9xKYuKzXf vAF8W23W/hnVMG0Y04YRunzFVn+NBkBJLbwqGdpbm2pDVG/OLCuclcxWHeyIJLSbJru79zeZNs3L mF3TUh27QKVdsSqFqW95/XAwSgEg6CC6LatTi5O8JwJiZwDyUlUsyxRkErtNSp+WlMqGAslqPuz2 KwCETbNw4HcePud1yAAATS0x+5usZtnaVIvP9er79nYBAIAnJmmeZnC/Rp8n3JVIXWKL5+ur91/Y 2SgqQGqEogcWpcxPc1g7+xMqMW24B6YNI3QZiqn+hBAAg1HdVlt5xi1RgC5/SNLMW5KVnmJrdSdU /qnceNJpL8xYO193oSbmRYwpJTrQFec/Vhz7aDlNS8AndfmoxqzSatTTddFzp8TVVycVGpwtFk7o FiIUAKTWxrCyxHL3reqTVe7K5qArZhJnzmwqS4K2Ay6rEKdbo88T7krokGp3RduHjT1Pp15bOAxG o46QmCQtTBsGwLRhhC5PA9VfkUUBQCt7m729J20CldyeKBi1BhbcCY7RKn73xzWpd87KLO8IDhQN Na8F2vRJ00eOmGYoRIMKAPE5RZiltWTwxmCguTOSL6aU5PB+MxtoEGUAANpd2fz7bvOKcvPSVXnL Vsm2C859n3W3hSkAaMwaPYiVHjlupRxDnnAipVdubx+Ire8p+pI8zhBFTBtGCP1tDFR/Kga9EqQA jY0B5FQMKNHoKA7PUaW9wtFcnL10ntxfV+WoEAaDQaN4vJeeDkQDLkHRaqcXqsTOLl9UON9FbypK LtApLm9fTafUa3Xtsrr2JunnzkpdUZpxp4V56d0up0xYdvAFT4TNytdyiVXggTzhvhIemydMgA5K lyGMyaKCYROyiC5VowOh3TvOI5nDpQ0nfhZtlDIvScyfJLqUlR9i5e+oRIPA/6KvxdGmDTcn9qIu SoBRZgCcGeIb0Z82zLTgLxxCl42Y46NyuLlbBC45R9d3J6PPs6hlX/foShoNeg9UCuo0vb7vHsnj awhD2tzUafzAwwjLalkAACkQ9hPt3Fymsz0qUbn9QgQsppk6yRagAACE8H0jyJI/WHG87e0KEVIM mWoAoBG/KIEqL51jAACIuST7lllcYt0cIU+YirIAjLqvMV1OxsaZw7ZMNPqV5Rpwuau9gzY8mDYM MGLacB6j9LzBVKJMJwAAWkLnkN4+x1+KEBqz2CIgd1utttSCotkzodVmi7Lp2bkzVIFzNd7oKEcz qKPKXjM7d1Z/rRdDhw57i68xbd4AByr8TomxZCWXFfM1O5qOeKkcjHgoGJlIg0sBgJDN6ySZ6aLg jFAAIHzSbbelSS3eC7aIO0w5g27hTBV4PbYoAIDgcNdFk+asyL8lyetLSlmQR8+eDpYuUNEEehwv TxhADoZsUVJSasoNBvkcy7XzNfYmMblwUFWzTEsqZCTWoC9daCnmQ/t3dQ8aIMO04ZHThnWMuEul uCTVBoX+hZdKKLdaJP+oEr9EmLuiqpq4S4/hry9C4zBoF5BGXcerYE5+Zn5BUREoIZ/rVFV7a3j0 gxk0Evi0IjJrycDUNMGWjlf2RK9aYF633sTJsrc7VH/GUd2zdy+L9iAUSIGOKACAEgrWeyFdCft6 CpoUPnU+VJpvWlOi0rIAsuS0Ot856nT2HBOIBnbv7JDXZsybZwnaPR9tt9focsuBRhIJso2TJwwA YvDj/U7d6vQ7b4NAl/fYrqYGc17xoOpPssunbZ4PAIq7o3vHbke1e3CBx7ThkdOGBUpsAHYgItA2 CkZKIhTaKIjA+MgISwFPGEVoHK70XN+LagBh81dN/7uC4GuvW9smM8m8/2qvXXa8ZAkhdCXiruzu J5fkbSoQ61uCHV6J8nxmnnllMdtx3NkpXdnvCyGEJtkVXv2D7a6zJvO88qzlepYFGnAFTu63HmmK YvFHCKG4rvSRH4QQQmOBJ84hhNBUhNUfIYSmIqz+CCE0FWH1H3kVmUtveuXPfwgd3yoff931zj/d ZhphpTGpVx8+vlXu/ffcl5JHsfQyxWU9+cZW+cVlxngPYgu/+C9dnz7/o9nqCVv1Ca2riX9dhKaC mHN+iCpvbtkiw6WP8R05Xm+b5Kl42bRrD+98hP7gH1ZudyuXU8t8/k3v//7euVU7Hn/yRK2gn16U ZB0p7kDxnvza/c8YGWbaDd94bfPolv7/Gue6koVwIKwNSRN2FVaC62rCXxehqSCm+lPZa++o8cQu ZbTmjHxemMJBvfz8L9+yTDq5+fGX3/YoAPDx4QSeJPmqzvkA2OnzwqNeegWTW3f+tHDnhDaZ0Lqa hNdFaAqIPd9f8XZ1xk4sTDjj4kzi63R4pmwGB9HOmGWCtorTfrykFyH0uTL8EDbhpxXlZ0etJzrD k1v8CcOyLMcxBIAwHMeyHMtyLBM7u6QqreyJ7/+o5ZOt8vE3ra9885ul+p5+s6nLX92zVd7x8HUp vXfk3/Jd7/GXX73ayCbWcvx+cSqNSQMQCQlM73Njpnzmp19917bXXxaOb5WPvHTyx5tvTJ+gS+eG a5nNeOz1rd0/mGcAgKTF2z7d6vlReTIAMGlb/vo/B25IIQBAtGW3PvTRO38Rj2+Vj28N7vnVR4+V msnEfAoAwOoLv/bPz7Ue3iof+MVbX53VewSEzXjs9f7R+Z8/nntJ6tiYexVf/NftO1aRllr65HM/ 7Ty6VT7wi7funhl71Ga47xVCU8FwBYtJzixcZIycO2v3TvJer2HBoy0vrjP23PjuC+Hv9vwUfnPL P9x5PAIArHnx71/5zpece//lB/97Nphy3VcfeP63psDm517qlGXXsS1P71z6whfeeKaq7OlPnHkb X/3OQvfWZ79+wCMn0HLcaph0+4svvz6/58ajrYcfBQAA+7/f8dj3LogAbO6Gx48/u7h776v3/qLe Y57zyKN37Hgla9NX/ntb9zjXV5yWfZXNkZSCaSamUilcvFQNSYtXlmorDoFlcaq/oj1MAfRl93zw zPXSvtfu/WltJ9Vl5xYuTgGSwIRoCa0rXfH3f//4g+qTP//Nn5SlX/r2N590nNmy5VwU5O7X/vnb R3VM0pJHPtwyRP0cc69GMNLrAgBYVvzpL0sKjr967z2/ouu+/v5jT/7bma9/ozIa/3uFdQFNBUNX f1XStOX5WseFqqZI4r+gDMuSQftzlEqKMuLSUO3r19z3gda89KWfbaJ/+tEDB70KAFC5q7knJVCz 5IGHv8p+fN0jL3wcoACwr45Zt3PLN69Oe+VVmwTUc/Kvt784+8RDj756H/vZDfcub9u64pfneg5Z jtRyXDS097lvr0xJ3fzsU/8ovLnxuVNuCqBE29olAAD93OceX6w/8+LCZ3Y3ywBw9uPq6NE37/7V /R/s/s/6cQ3nx2u5sa3aCYuK8nguedlstraqs6T8i/mqI66sOTr3b+wSAJM6Y0YmOP7jD9terRMB AI4c+5/EXjahdTXrtjsP/W7+Ux+ejwK7O3rNjodXzjNy5+wSiI7GCw4AU3oQIOnSL8aYezWS+K8L AAB5a/JfeWb1r897FCCO9449+I8rZiWzlV3yCN+rsX+fEbpSDFH9CZc8ryRd5Wo81SUmXvt1pQ9e eOm69Ni7bNsX3/7n09ERlipBx5kqB5uW7wOg7ReOVQ4+20Sdc+fVJjCt37NvfezdrukmNfT8lkbP /Pk/v77g+d88/I1Vcv1TX/nfz/pm0h+h5RHI7pYLx1jfohBAtPNUZb0jZl3oipZfmwyfvfNZa99u YrT10EsNd/981aLpv6yvFMb+ecRvubW+M5ySV5Rs0qxOrdn2ZtPD/7RxZfoPj8/IDLY0BBQAsJ34 5Ih079Mv/eesN3a8+P6hj5uCCc54lNC68uy761/3nI8CAMhBd7cMBQZVAkMlyph7NQE63r73d+c9 fZOFByRIM6lZAHmk79WYv88IXSkurf6sJa+ggPF81uwe1Tc50rD1xvs+0sTsDinh7lohoaXxqJKn GyFy5L9X/1ftQFAwUMnvGkigFR3vvV/9s6XzNe7m086/xZ/tnMFshKjdFRN5KQfbvABpFhM7iS3X 2Rpa4YbFRTNn5Lp2Hq88szRy9/r5Mx15RueBVgEAQGh579pNLY88cPu37n7oi/c85Kk5+MOfv/zL k96JqbaNx4/1jwMSRVKASewYyuT2Kj5bQ+PA95gqFHqPZYz0vZqs7zNCl42Lqz/RpM5NVwXaOzpH eZqnEu6qqOoa21IAoD0xupdWE9Hf5IUN6Ul+a0fDMNWCy1z3u6fnKxcau6df9/rTFWXPHOlUEmh5 HCS/ywPqjFQ1A33ZN6w+LwXA73TLk9iy0NXcKBqXrV41LVT5bzZf44d1wnNrv7w0Jdho7dtXp5HO iuefq/j5f6avvXHDUw/c8tMXipLveOL7FxL6OCdjXY2/V5NipO/VOL/PCF3+Lv7DnU8ymUC0u6N/ 4yFMJRoMKGDJSVZdtCDa9toBD0y/+VtlutjzbSwpqt6b/LQtzz28IbLvy4/8600vt5uv++YrX8zk E2l5HELNR/d4YdmmZXl9e/rqvFV/PwOsn564IExmy4LjpINZtHGR/vzJmgjtrvjkJEy//xqz7XxX FACA0eh7VwuNOA68++dN//R2M+RcP9vAjPNTGN93bJy9mhQjfq8Q+ry7aN+f8LwKQArJf/PLJoON b1Upv/7Klp9Y33y3k8mfXbbEu/Mf37ZGIXLs97979epvP/LLZ7n/fntrY9RcOPdLX7y6eO/3lv3R KoB6wX2P/6y8+1cPvbTLHaJ/+OmTi37206cef+Lsd/+9QRip5XEIVP/L88dv+f6De3+gf2Z7z5k5 Xy7rPrDpT42XHPLVzy6dtSpA5EDHqQteYcSl8VsWXKesMpPDVh1o8gMo3VVvNpLni4W6Rr8EAER/ 00+e/1fh2GufVJ9uc4f49PV/d20BWP9yPqCM91NInKZo9qxVZjnc1XymI6JMSK8SWpOXvO4I4n+v EPr8u7j6MwwAgEz/5tVfdvzx2z9Mf+qeLU8//XVGcV44+eIveo8Nyq5jD9zzw/PfvGPLo098TS26 Olo+PfDWUx90iUBSFnzlza/ln3/p2989HaIAEG3/5Xd/u/71R3/w0698cvefP+lJ6B2+5fF0t3Xn z5aENz//0K1/+ZWBUbxnD7xx83+9vXOI0z3znv35D58FgJoX8u/d066MuDR+y0JLjQuWCTvO+RUA kF1793VAsXzCJgIA0PDxN3d+cuvy+7esL0zhASTHhdP/8eQff5T4AMsErKu0h3/4bw8D2N/+zowf 1YUmpFcJrclLXnfE9zrs9wqhKQHTXRBCaCrCaxsRQmgqwuqPEEJTEVZ/hBCairgruvc/eOS+OEu/ 99uX8QNGCKEhXdnVH4Yv8fE3DAghNMXhyA9CCE1FWP0RQmgqunjkh9WYZuVnF5o0KlDC/u665vam YKIX/jL6kgfvWQn73nixJjyxV4tNXssIITQ1Dd73Z5PL5xbN4H2VtXVHLth9Gkv5nPyMK/7QAEII oYsNKu2cPjVbFW04394cogB+l6z/QoneomZsEsZWIITQ58qg6q9IggjmtBQ1G4rIwCQZNIwcdCUy 3SchDADDEAJAGZYhpGd8hgLtnzGI1WetWLZwxfS0ZE4JdDUd/OTYUbvQu5CoMmct/sLCwoJkngBI YV9b3ZHXjnSGaUItI4QQGq3B1T9kP9uVujx/9hp1W4NoKs8m7Q1ttgRm+eKzVj9563RNz411t39/ Xc9P4rntb7xplQCA0eZ+8UvXzA3VfbSvwiZqps9f9oVbdMLru0/6KQDwGYvvvWqm0nh66ycOP/BJ KaZpaiCJtYwQQmgMLhrUlzob6yq1c+dl5i8B2t1cddKZULij6Dz90tbznC5v04YyOPXR281hCgCU Bj09WSfctEUr5zP1f9p+pFGgANDoJIX3rFpRlHS6wqcA0aZaDBA4eLKyojeZq6Ui0ZYRQgiNxeDq T1TTimbMM4g2q1OyZOUUFM+X6s84Rx76oUKg0xFg9OYoAHid7fbBZ+awxrIiLWiL//6B4ti7Q2Yt Bz4BaMDa1KYsXnvbzZbK88drmhrdgpJgywghhMYktvqTpKwZS9PY9obzJ5wCdPoCs0pmzSiWotVn /eM76stqzFqQ2j793aeO2MnT5Wiw56bsqXrp1e5li8pXlq+YM39FpOvC/sMnjnSE8VgzQghNkpjq z+iKsnQQaKl0ChQApEBNfWv6/Pz8LEO135fIEDsFCgDQc4Q2doEccYeB02miPl/30BWdSv6OQ/s7 Dn9qKCiZtWbRvBtvtajf2P5xtzxCywghhMYk5nx/QlgYHOmtyBIFqiRab6kkRCnokzUXX0Ase842 hyF1zqpMPiZDldVpWAIAQDie7c19lQJN1Sde3XnWAynFaWoyYssIIYTGJGbfXw41u4T8zNw1JVxN VzDKaqdlZ6czQoM9lOi5NYKrykFvLl91o+9MtZ8xpmXlRM7vrPZKILWfOFpRdPXSjTcwR89WuWWt KXPu7BmpFz544aRXJvysG269Wm4922Lv9IREzlA0r8QI3tNdUTpSy/j5IYTQ2MSO+yvdrbVHpJzZ 6RkLTAwAjQQ9NTVttf6Ez66hgZO79urXLl629pplhIZc7Z8d7T1+q4Ra3nlrb9eK+cuWX72Yk0N+ d0tTxYd1AQUAqNReWdMyK2/R0mKThgWQg90dB3cdO9gtJ9IyQgihMRh8zo8i2Nobbe1jb04OWfft su4bclGg/cCe9gNDLfE0nd3edHbMLSOEEBotHEhHCKGpCKs/QghNRVf8BJ6Y4YUQQmNAfF5Pz0/J K6+P8zi13hBnaTQYwFWJEEJXEBz5QQihqQirP0IITUVY/RFCaCr6P2ouotyymzH2AAAAAElFTkSu QmCC --089e0111ae345e6ead04e4e4e0ea Content-Type: image/png; name="output.png" Content-Disposition: attachment; filename="output.png" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hkuiem3w1 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 QYIECfr+6/8DUu4lJJ/+0SUAAAAASUVORK5CYII= --089e0111ae345e6ead04e4e4e0ea Content-Type: application/octet-stream; name="weblogger.el" Content-Disposition: attachment; filename="weblogger.el" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hkuifttt2 Ozs7IHdlYmxvZ2dlci5lbCAtIFdlYmxvZyBtYWludGVuYW5jZSB2aWEgWE1MLVJQQyBBUElzCgo7 OyBDb3B5cmlnaHQgKEMpIDIwMDItMjAwNyBNYXJrIEEuIEhlcnNoYmVyZ2VyLgo7OyBJbnNwaXJl ZCBieSBjb2RlIENvcHlyaWdodCAoQykgMjAwMSBieSBTaW1vbiBLaXR0bGUuCjs7IFBhcnRzIENv cHlyaWdodCAoQykgMjAwNyBXaWNrZXJzaGVpbWVyIEplcmVteS4KOzsgUGFydHMgQ29weXJpZ2h0 IChDKSAyMDA5IEdhYnJpZWwgU2FsZGFuYQoKOzsgQXV0aG9yOiBNYXJrIEEuIEhlcnNoYmVyZ2Vy IDxtYWhAZXZlcnlib2R5Lm9yZz4KOzsgVmVyc2lvbjogMS42Cjs7IENyZWF0ZWQ6IDIwMDIgT2N0 IDExCjs7IEtleXdvcmRzOiB3ZWJsb2cgYmxvZ2dlciBjbXMgbW92YWJsZSB0eXBlIG9wZW53ZWJs b2cgYmxvZwo7OyBVUkw6IGh0dHA6Ly9lbGlzcC5pbmZvL3BhY2thZ2Uvd2VibG9nZ2VyLwoKOzsg VGhpcyBmaWxlIGlzIG5vdCB5ZXQgcGFydCBvZiBHTlUgRW1hY3MuCgo7OyB3ZWJsb2dnZXIuZWwg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo7OyBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieQo7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAyLCBvciAoYXQgeW91ciBvcHRpb24pCjs7IGFueSBsYXRlciB2ZXJzaW9uLgoKOzsgd2VibG9n Z2VyLmVsIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Cjs7IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCjs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KCjs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCjs7IGFsb25nIHdpdGggR05VIEVtYWNzOyBzZWUgdGhlIGZp bGUgQ09QWUlORy4gIElmIG5vdCwgd3JpdGUgdG8gdGhlCjs7IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAo7OyBCb3N0b24sIE1BIDAy MTExLTEzMDcsIFVTQS4KCjs7OyBDb21tZW50YXJ5OgoKOzsgd2VibG9nZ2VyLmVsIGltcGxlbWVu dHMgdGhlIEJsb2dnZXIsIE1ldGFXZWJsb2csIE1vdmFibGUgVHlwZSwgYW5kCjs7IExpdmVKb3Vy bmFsIEFQSXMgdG8gdGFsayB0byBzZXJ2ZXItc2lkZSB3ZWJsb2cgc29mdHdhcmUuCjs7Cjs7OyBT dGFydGluZyBPdXQ6Cjs7Cjs7IElmIHlvdSBkb24ndCB5ZXQgaGF2ZSBhIHdlYmxvZywgeW91IGNh biBzZXQgb25lIHVwIGZvciBmcmVlIG9uCjs7IHZhcmlvdXMgc2VydmljZXMuICAoSSBzdWdnZXN0 IE9wZW5XZWJsb2cuY29tLCBidXQgdGhlbiBJIHJ1biB0aGF0Cjs7IHNpdGUgOikgKQo7Owo7OyBU byBzZXQgdXAgeW91ciBwcm9maWxlOgo7Owo7OyAgICBNLXggd2VibG9nZ2VyLXNldHVwLXdlYmxv ZyBSRVQKOzsgWW91IHdpbGwgYmUgcHJvbXB0ZWQgZm9yIHNvbWUgaW5mb3JtYXRpb24uICBZb3Ug Y2FuIHNhdmUgdGhpcyBzZXR1cAo7OyB1c2luZyBNLXggY3VzdG9taXplLXNhdmUtY3VzdG9taXpl ZC4gKioqIEZJWE1FOiBNYWtlIHN1cmUgdGhpcyB3b3JrcyEKCjs7ICoqKiBGSVhNRSBUaGlzIHNl Y3Rpb24gaXMgY29tcGxldGUgZmFudGFzeSBhdCB0aGUgbW9tZW50Lgo7OyA7OyBJZiB5b3UgYWxy ZWFkeSBoYXZlIGEgd2VibG9nLCBhbmQgeW91ciB3ZWJsb2cgc3VwcG9ydHMgUlNECjs7IDs7ICho dHRwOi8vYXJjaGlwZWxhZ28ucGhyYXNld2lzZS5jb20vcnNkKSwgeW91IGNhbiB1c2UKOzsgOzsK OzsgOzsgICAgTS14IHdlYmxvZ2dlci1kaXNjb3Zlci1zZXJ2ZXIgUkVUIHVybCBSRVQKOzsgOzsK OzsgOzsgd2hlcmUgdXJsIGlzIHRoZSBVUkwgb2YgeW91ciB3ZWJsb2cuICBUaGlzIHdpbGwgc2V0 IHVwIGEKOzsgOzsgfi8ud2VibG9nZ2VycmMgZmlsZSBmb3IgeW91IGlmIHlvdSBsZXQgaXQuCgo7 OyBZb3UgY2FuIGFsc28gc2V0IHVwIHlvdXIgc2VydmVyIGluZm9ybWF0aW9uIHVzaW5nCjs7Cjs7 ICAgIE0teCBjdXN0b21pemUtZ3JvdXAgUkVUIHdlYmxvZ2dlciBSRVQKOzsKOzs7IEtleW1hcHM6 Cjs7Cjs7IEkgdXNlIHRoZSBmb2xsb3dpbmcgY29tbWFuZHMgaW4gbXkgLmVtYWNzIGZpbGU6Cjs7 Cjs7IChsb2FkLWZpbGUgIndlYmxvZ2dlci5lbCIpCjs7IChnbG9iYWwtc2V0LWtleSAiXEMtY2Jz IiAnd2VibG9nZ2VyLXN0YXJ0LWVudHJ5KQo7Owo7OyBDLWMgYiBzIHdpbGwgdGhlbiBzd2l0Y2gg dG8gYSBuZXcgYnVmZmVyIHdoZXJlIHlvdSBjYW4gY29tcG9zZSBhCjs7IGVudHJ5Lgo7Owo7OyBD LXggQy1zICAgIC0tIHBvc3QtYW5kLXB1Ymxpc2ggY3VycmVudCBidWZmZXIgdG8gdGhlIHdlYmxv Zy4KOzsgICAgICAgICAgICAgICBDYWxsaW5nIHdlYmxvZ2dlci1wdWJsaXNoLWVudHJ5IHdpdGgg YW4gcHJlZml4IGFyZ3VtZW50Cjs7ICAgICAgICAgICAgICAgKGkuZS4gQy11IEMteCBDLXMpIHdp bGwgcHJvbXB0IGZvciB3aGljaCB3ZWJsb2cKOzsgICAgICAgICAgICAgICB0byB1c2UuCjs7Cjs7 IEMtYyBDLWMgICAgLS0gc2F2ZSBhcyBkcmFmdCBhbmQgYnVyeSB0aGUgYnVmZmVyLgo7Owo7OyBD LWMgQy1uICAgIC0tIHBvc3QgKGJ1dCBub3QgcHVibGlzaCkgdGhlIGN1cnJlbnQgZW50cnkgYW5k Cjs7ICAgICAgICAgICAgICAgbG9hZCB0aGUgbmV4dCBlbnRyeS4KOzsKOzsgQy1jIEMtcCAgICAt LSBwb3N0IChidXQgbm90IHB1Ymxpc2gpIHRoZSBjdXJyZW50IGVudHJ5IGFuZAo7OyAgICAgICAg ICAgICAgIGxvYWQgdGhlIHByZXZpb3VzIGVudHJ5Lgo7Owo7OyBDLWMgQy1rICAgIC0tIGRlbGV0 ZSB0aGUgY3VycmVudCBlbnRyeS4KOzsKOzsgTS1nICAgICAgICAtLSBzeW5jaHJvbmlzZSB3ZWJs b2dnZXIuZWwncyBpZGVhIG9mIHRoZSBlbnRyaWVzIGF2YWlsYWJsZQo7OyAgICAgICAgICAgICAg IHdpdGggdGhlIHdlYmxvZyBzZXJ2ZXIuCjs7Cjs7IEMtYyBDLXQgbSAgLS0gZWRpdCB0aGUgbWFp biB0ZW1wbGF0ZS4KOzsKOzsgQy1jIEMtdCBhICAtLSBlZGl0IHRoZSBBcmNoaXZlIEluZGV4IHRl bXBsYXRlCjs7Cjs7IEMtYyBDLXMgcyAgLS0gQ2hhbmdlIHRoZSBzZXJ2ZXIgYmVpbmcgdXNlZC4K OzsKOzsgQy1jIEMtcyB3ICAtLSBDaGFuZ2UgdGhlIHdlYmxvZy4KOzsKOzsgQy1jIEMtcyB1ICAt LSBDaGFuZ2UgdGhlIHVzZXIgKHJlLWxvZ2luKS4KOzsKOzsKOzsgTm90ZXM6Cjs7IC0tLS0KOzsK OzsgVGhpcyBjb2RlIHdhcyBvcmlnaW5hbGx5IGJhc2VkIG9uIFNpbW9uIEtpdHRsZSdzIGJsb2dn ZXIuZWwKOzsgKGh0dHA6Ly93d3cudHN3b2FtLmNvLnVrL2ZpbGVzL2Jsb2dnZXIuZWwudHh0KSwg YnV0IHdoZXJlIGhpcwo7OyBjb2RlIGNhbGxzIGEgUGVybCBwcm9ncmFtLCB0aGlzIGNvZGUgdXNl cyB4bWwtcnBjLmVsLiAgWW91IGNhbgo7OyBnZXQgeG1sLXJwYy5lbCBmcm9tIDxodHRwOi8vZWxp c3AuaW5mby9wYWNrYWdlL3htbC1ycGMvPgo7Owo7OyBEaWZmZXJlbmNlcyBiZXR3ZWVuIFNLJ3Mg YmxvZ2dlci5lbCBhbmQgd2VibG9nZ2VyLmVsCjs7Cjs7IC0gRG9lc24ndCBuZWVkIGFueSBleHRl cm5hbCBwcm9ncmFtcy4gIFVzZXMgeG1sLXJwYy5lbC4KOzsgLSBJJ3ZlIGFkZGVkIGEgYnVuY2gg b2YgZGVmY3VzdG9tJ3MgaGVyZSB0byBtYWtlIHRoaXMgaW50ZWdyYXRlCjs7ICAgYmV0dGVyIHdp dGggRW1hY3MgQ3VzdG9taXphdGlvbiBpbnRlcmZhY2UuIAo7OyAtIENyZWF0ZWQgYSAqd2VibG9n Z2VyLWVudHJ5KiBtb2RlLgo7OyAtIE1hZGUgc2VsZWN0aW9uIG9mIGEgd2VibG9nIG1vcmUgaW50 dWl0aXZlLiAgSXQgcXVlcmllcyB0aGUKOzsgICBzZXJ2ZXIgYW5kIGFsbG93cyB0aGUgdXNlciB0 byBjaG9vc2UgdGhlIG5hbWUgb2YgdGhlCjs7ICAgd2VibG9nIGZyb20gYSBsaXN0Lgo7OyAtIFBy b21wdCBmb3Igd2VibG9nIG9uIGluaXRpYWwgZW50cnkgaWYgd2VibG9nZ2VyLWlkIGlzbid0IHNl dC4KOzsgLSBDYW4gInBpbmciIGh0dHA6Ly93ZWJsb2dzLmNvbS8gYW5kIGh0dHA6Ly9ibG8uZ3Mv IHdoZW5ldmVyCjs7ICAgeW91IHVwZGF0ZS4KOzsgLSBDYW4gInNjcm9sbCIgdGhyb3VnaCBlbnRy aWVzIG9uIHRoZSB3ZWJsb2cgc2VydmVyIGFuZCBlZGl0IHRoZW0uCjs7IC0gTWFueSBvdGhlciBm ZWF0dXJlcy4KOzsKOzsgIFRPRE86Cjs7ICAqIENhdGVnb3JpZXMgW2RvbmUgZm9yIG1ldGFXZWJC bG9nXQo7OyAgKiBSU0QKOzsgICogV2VibG9nIGNyZWF0aW9uIHVzaW5nIE9wZW5XZWJsb2cuY29t Cjs7ICAqIE1lbnVzCjs7ICAqIFRvb2xiYXIKOzsKOzsgQnVncy9GZWF0dXJlczoKOzsKOzsgICog V2hlbiB5b3UgZGVsZXRlIGEgZW50cnkgaXQgZ2V0cyBkZWxldGVkLCBidXQgaXQgZG9lc24ndAo7 OyAgICBkaXNhcHBlYXIgZnJvbSB5b3VyIGVudHJ5IHJpbmcgdW50aWwgeW91IHN5bmMgKE0tZykg d2l0aCB0aGUKOzsgICAgc2VydmVyLiAgQnV0IHRoaXMgY291bGQgYmUgY29uc3RydWVkIGFzIGEg KG1pcylmZWF0dXJlLgo7OyAgKiBJZiB0aGUgc2VydmVyIGlzbid0IHJlYWNoYWJsZSwgKHdlYmxv Z2dlci1kZXRlcm1pbmUtY2FwYWJpbGl0aWVzKQo7OyAgICB3aWxsIGdldCB0aGUgd3JvbmcgaW5m b3JtYXRpb24uCjs7ICAqIENoYW5nZWQgdGl0bGVzIGFyZW4ndCBwdXQgaW4gdGhlIHdlYmxvZ2dl ciBwb3N0IHJpbmcuCgoocmVxdWlyZSAneG1sLXJwYykKKHJlcXVpcmUgJ21lc3NhZ2UpCihyZXF1 aXJlICdyaW5nKQoKKGRlZmdyb3VwIHdlYmxvZ2dlciBuaWwKICAiRWRpdCBXZWJsb2dzIHdpdGgg RW1hY3MuIgogIDpncm91cCAnZW1hY3MpCgooZGVmdmFyIHdlYmxvZ2dlci1ibG9nZ2VyLWFwcC1r ZXkgIjA3QzcyRTY5NzBFMEZCQTVERTIxQkE5RjQ4MDBDNDQ1MzRDMTk4NzAiCiAgIlRoZSBhcHBr ZXkgdG8gc2VuZCB0byB3ZWJsb2cgc2VydmVyLiAgR2VuZXJhbGx5IHRoaXMgc2hvdWxkbid0IGJl IGNoYW5nZWQuIikKCihkZWZjdXN0b20gd2VibG9nZ2VyLXNlcnZlci11c2VybmFtZSBuaWwKICAi WW91ciB3ZWJsb2cgc2VydmVyIHVzZXJuYW1lLiAgWW91IHdpbGwgYmUgcHJvbXB0ZWQgaWYgdGhp cyBpcyBsZWZ0IG5pbC4iCiAgOmdyb3VwICd3ZWJsb2dnZXIKICA6dHlwZSAnc3RyaW5nKQoKKGRl ZmN1c3RvbSB3ZWJsb2dnZXItc2VydmVyLXBhc3N3b3JkIG5pbAogICJZb3VyIHBhc3N3b3JkLiAg WW91IHdpbGwgYmUgcHJvbXB0ZWQgaWYgdGhpcyBpcyBsZWZ0IG5pbC4iCiAgOmdyb3VwICd3ZWJs b2dnZXIKICA6dHlwZSAnc3RyaW5nKQoKKGRlZmN1c3RvbSB3ZWJsb2dnZXItc2VydmVyLXVybCAi aHR0cDovL3d3dy5vcGVud2VibG9nLmNvbS94bWxycGMvIgogIlNlcnZlciB5b3Ugd2FudCB0byB1 c2UuICBJZiB0aGlzIGlzIGFuIE9wZW5XZWJsb2cuY29tIHNpdGUsIGxlYXZlIHRoaXMKYXQgdGhl IGRlZmF1bHQuICBPdGhlcndpc2UsIHlvdSB3aWxsIG5lZWQgdG8gY2hhbmdlIGl0LiIKICA6Z3Jv dXAgJ3dlYmxvZ2dlcgogIDp0eXBlICdzdHJpbmcpCgooZGVmY3VzdG9tIHdlYmxvZ2dlci13ZWJs b2ctaWQgbmlsCiAgIllvdXIgd2VibG9nIElELiAgRm9yIG1hbnkgd2VibG9nIHNlcnZlcnMsIHlv dSBjYW4gbGVhdmUgdGhpcwpuaWwgYW5kIHdlYmxvZ2dlci5lbCB3aWxsIHByb21wdCB5b3UgZm9y IHRoZSB3ZWJsb2cuICBJZiBpdCBpcyBhCk1hbmlsYSBzaXRlLCB5b3UgbmVlZCB0byBwcm92aWRl IHRoZSBVUkwgb2YgeW91ciBzaXRlLiIKICA6Z3JvdXAgJ3dlYmxvZ2dlcgogIDp0eXBlICdzdHJp bmcpCgooZGVmY3VzdG9tIHdlYmxvZ2dlci1tYXgtZW50cmllcy1pbi1yaW5nIDIwCiAgIk1heGlt dW0gbnVtYmVyIG9mIGVudHJpZXMgdGhhdCB3aWxsIGJlIHJldHJpZXZlZCBmcm9tIHRoZQpzZXJ2 ZXIuICBUaGVyZSBtYXkgYmUgYSBzZXJ2ZXItc2lkZSBsaW1pdGF0aW9uIHRvIHRoaXMgbnVtYmVy LiIKICA6Z3JvdXAgJ3dlYmxvZ2dlcgogIDp0eXBlICdpbnRlZ2VyKQoKKGRlZmN1c3RvbSB3ZWJs b2dnZXItcGluZy11cmxzICcoImh0dHA6Ly9ycGMud2VibG9ncy5jb20vUlBDMiIpCiAgIkxpc3Qg b2YgVVJMcyB0byBwaW5nIHVzaW5nIHRoZSBYTUwtUlBDIGludGVyZmFjZSBkZWZpbmVkIGF0IAo8 aHR0cDovL3d3dy54bWxycGMuY29tL3dlYmxvZ3NDb20+LiIKICA6Z3JvdXAgJ3dlYmxvZ2dlcgog IDp0eXBlICdsaXN0KQoKKGRlZmN1c3RvbSB3ZWJsb2dnZXItc2F2ZS1wYXNzd29yZCBuaWwKICAi V2hldGhlciB0byBzYXZlIHRvIHRoZSBwYXNzd29yZCBvciBub3QuIgogIDpncm91cCAnd2VibG9n Z2VyCiAgOnR5cGUgJ2Jvb2xlYW4pCgooZGVmY3VzdG9tIHdlYmxvZ2dlci1jb25maWctYWxpc3Qg KCkKICAiQWxpc3Qgb2YgcG9zc2libGUgY29uZmlndXJhdGlvbnMuIgogIDpncm91cCAnd2VibG9n Z2VyCiAgOnR5cGUgJyhhbGlzdCA6a2V5LXR5cGUgJ3N0cmluZyA6dmFsdWUtdHlwZSAnYWxpc3Qp KQoKKGRlZmN1c3RvbSB3ZWJsb2dnZXItYmxvZ2dlci1maXJzdGxpbmUtdGl0bGUgbmlsCiAgIkxv b2sgZm9yIHRoZSB0aXRsZSBpbiB0aGUgZmlyc3QgbGluZSBzdXJyb3VuZGVkIGJ5IDx0aXRsZT4g dGFncyB3aGVuIHVzaW5nIHRoZSBCbG9nZ2VyIEFQSS4iCiAgOmdyb3VwICd3ZWJsb2dnZXIKICA6 dHlwZSAnYm9vbGVhbikKCihkZWZ2YXIgd2VibG9nZ2VyLWNvbmZpZy1uYW1lICJkZWZhdWx0Igog ICJOYW1lIG9mICB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uLiIpCgooZGVmdmFyIHdlYmxvZ2dl ci1lbnRyeS1saXN0IG5pbAogICJMaXN0IG9mIHdlYmxvZyBlbnRyaWVzIHRoYXQgd2Uga25vdyBh Ym91dC4gQ2hyb25vbG9naWNhbApvcmRlciwgd2l0aCBuZXdlc3QgZmlyc3QuIikKCihkZWZ2YXIg d2VibG9nZ2VyLWNhdGVnb3J5LWxpc3QgbmlsCiAgIkxpc3Qgb2YgY2F0ZWdvcmllcyB0aGF0IHdl IGtub3cgYWJvdXQuIikKCihkZWZ2YXIgd2VibG9nZ2VyLXRhZy1saXN0IG5pbAogICJMaXN0IG9m IHRhZ3MgdGhhdCB3ZSBrbm93IGFib3V0LiIpCgooZGVmdmFyIHdlYmxvZ2dlci1zZXJ2ZXItdXNl cmlkIG5pbAogICJTZXJ2ZXItc2lkZSBJRCBvZiBsb2dnZWQgaW4gdXNlci4iKQoKKGRlZnZhciAq d2VibG9nZ2VyLWVudHJ5KiBuaWwKICAiVGhlIGJ1ZmZlciB3aGVyZSB3ZSBjb21wb3NlIGVudHJp ZXMiKQoKKGRlZnZhciB3ZWJsb2dnZXItZW50cnktbW9kZS1ob29rIG5pbAogICJIb29rIHRvIHJ1 biBhZnRlciBzdGFydGluZyB1cCB3ZWJsb2dnZXIgbW9kZS4iKQoKKGRlZnZhciB3ZWJsb2dnZXIt c3RhcnQtZWRpdC1lbnRyeS1ob29rCiAgKGxhbWJkYSAoKQogICAgKG1lc3NhZ2UtZ290by1ib2R5 KQogICAgKHJlcGxhY2Utc3RyaW5nICJcciIgIiIgbmlsIChwb2ludCkgKHBvaW50LW1heCkpKQog ICJIb29rIHRvIHJ1biBhZnRlciBsb2FkaW5nIGFuIGVudHJ5IGluIGJ1ZmZlciBmb3IgZWRpdHRp bmcuIikKCihkZWZ2YXIgd2VibG9nZ2VyLW5ldy1lbnRyeS1ob29rICcod2VibG9nZ2VyLXBpbmct d2VibG9ncykKICAiSG9vayB0byBydW4gYWZ0ZXIgc2VuZGluZyBhIG5ldyBlbnRyeS4gIFR5cGlj YWxseSwgdGhpcyBpcwp3aGVyZSB5b3Ugd291bGQgcHV0IHdlYmxvZ2dlci1waW5nLXdlYmxvZ3Mg dG8gbGV0IHdlYmxvZwphZ2dyZWdhdG9ycyBrbm93IHRoYXQgeW91IGhhdmUgdXBkYXRlZC4iKQoK KGRlZnZhciB3ZWJsb2dnZXItZWRpdC1lbnRyeS1ob29rIG5pbAogICJIb29rIHRvIHJ1biBhZnRl ciB1cGRhdGluZyBhbiBlbnRyeS4iKQoKKGRlZnZhciB3ZWJsb2dnZXItZW50cnktbW9kZS1tYXAg bmlsCiAgIktleW1hcCBmb3Igd2VibG9nZ2VyLWVudHJ5LW1vZGUuIikKCihkZWZ2YXIgd2VibG9n Z2VyLXRlbXBsYXRlLW1vZGUtbWFwIG5pbAogICJLZXltYXAgZm9yIHdlYmxvZ2dlci10ZW1wbGF0 ZS1tb2RlLiIpCgooZGVmdmFyIHdlYmxvZ2dlci1lbnRyeS1yaW5nIG5pbAogICJSaW5nIHRoYXQg aG9sZHMgYWxsIHRoZSBlbnRyaWVzLiIpCgooZGVmdmFyIHdlYmxvZ2dlci1jYXRlZ29yeS1yaW5n IG5pbAogICJSaW5nIHRoYXQgaG9sZHMgYWxsIHRoZSBjYXRlZ29yaWVzLiIpCgooZGVmdmFyIHdl YmxvZ2dlci10YWctcmluZyBuaWwKICAiUmluZyB0aGF0IGhvbGRzIGFsbCB0aGUgdGFncy4iKQoK KGRlZnZhciB3ZWJsb2dnZXItcmluZy1pbmRleCAwCiAgIlBvaW50ZXIgdG8gdGhlIGluZGV4IG9u IHRoZSByaW5nIikKCihkZWZjb25zdCB3ZWJsb2dnZXItbm8tY2FwYWJpbGl0aWVzICcoKCJibG9n Z2VyLm5ld1Bvc3QiIC4gbmlsKQoJCQkJICAgICAgKCJibG9nZ2VyLmdldFBvc3QiIC4gbmlsKQoJ CQkJICAgICAgKCJibG9nZ2VyLmVkaXRQb3N0IiAuIG5pbCkKCQkJCSAgICAgICgiYmxvZ2dlci5n ZXRSZWNlbnRQb3N0cyIgLiBuaWwpCgkJCQkgICAgICAoImJsb2dnZXIuZ2V0VXNlcnNCbG9ncyIg LiBuaWwpCgkJCQkgICAgICAoImJsb2dnZXIuZ2V0VXNlckluZm8iIC4gbmlsKQoJCQkJICAgICAg KCJibG9nZ2VyLmRlbGV0ZVBvc3QiIC4gbmlsKQoJCQkJICAgICAgKCJibG9nZ2VyLmdldFRlbXBs YXRlIiAuIG5pbCkKCQkJCSAgICAgICgiYmxvZ2dlci5zZXRUZW1wbGF0ZSIgLiBuaWwpCgkJCQkg ICAgICAoIm1ldGFXZWJsb2cuZ2V0UG9zdCIgLiBuaWwpCgkJCQkgICAgICAoIm1ldGFXZWJsb2cu bmV3UG9zdCIgLiBuaWwpCgkJCQkgICAgICAoIm1ldGFXZWJsb2cuZWRpdFBvc3QiIC4gbmlsKQkK CQkJCSAgICAgICgibWV0YVdlYmxvZy5uZXdNZWRpYU9iamVjdCIgLiBuaWwpCQoJCQkJICAgICAg KCJtZXRhV2VibG9nLmdldFJlY2VudFBvc3RzIiAuIG5pbCkKCQkJCSAgICAgICgibWV0YVdlYmxv Zy5nZXRDYXRlZ29yaWVzIiAuIG5pbCkKCQkJCSAgICAgICgibWV0YVdlYmxvZy5uZXdNZWRpYU9i amVjdCIgLiBuaWwpCgkJCQkgICAgICAoIm1ldGFXZWJsb2cuZGVsZXRlUG9zdCIgLiBuaWwpCgkJ CQkgICAgICAoIm1ldGFXZWJsb2cuZ2V0VGVtcGxhdGUiIC4gbmlsKQoJCQkJICAgICAgKCJtZXRh V2VibG9nLnNldFRlbXBsYXRlIiAuIG5pbCkKCQkJCSAgICAgICgibWV0YVdlYmxvZy5nZXRVc2Vy c0Jsb2dzIiAuIG5pbCkKCQkJCSAgICAgICgibXQuZ2V0Q2F0ZWdvcnlMaXN0IiAuIG5pbCkKCQkJ CSAgICAgICgibXQuZ2V0UmVjZW50UG9zdFRpdGxlcyIgLiBuaWwpCgkJCQkgICAgICAoIm10LnNl dFBvc3RDYXRlZ29yaWVzIiAuIG5pbCkKCQkJCSAgICAgICgibXQuZ2V0UG9zdENhdGVnb3JpZXMi IC4gbmlsKQoJCQkJICAgICAgKCJtdC5nZXRUcmFja2JhY2tQaW5ncyIgLiBuaWwpCgkJCQkgICAg ICAoIm10LnN1cHBvcnRlZE1ldGhvZHMiIC4gbmlsKQoJCQkJICAgICAgKCJtdC5wdWJsaXNoUG9z dCIgLiBuaWwpCgkJCQkgICAgICAoIm10LnN1cHBvcnRlZFRleHRGaWx0ZXJzIiAuIG5pbCkpKQoK KGRlZnZhciB3ZWJsb2dnZXItY2FwYWJpbGl0aWVzIHdlYmxvZ2dlci1uby1jYXBhYmlsaXRpZXMK ICAiS25vd24gY2FwYWJpbGl0aWVzIG9mIHRoZSByZW1vdGUgaG9zdCIpCgooZGVmdmFyIHdlYmxv Z2dlci1kZWZhdWx0LXRpdGxlICIiCiAgIlRoZSBEZWZhdWx0IHRpdGxlIHRvIHVzZSB3aGVuIG1h a2luZyBhbiBlbnRyeS4gIFRoaXMgaXMgYWRkZWQKaWYgeW91ciB3ZWJsb2cgc2VydmVyIHN1cHBv cnRzIHRpdGxlcyBvbiBlbnRyaWVzIGJ1dCB5b3UgaGF2ZW4ndApzZXQgb25lLiAgU2V0IHRvIFwi XCIgZm9yIG5vIHRpdGxlLiIpCgooZGVmdmFyIHdlYmxvZ2dlci1kZWZhdWx0LWNhdGVnb3JpZXMg bmlsCiAgICJUaGUgZGVmYXVsdCBsaXN0IG9mIGNhdGVnb3JpZXMgd2hlbiBtYWtpbmcgYW4gZW50 cnkuICBUaGlzIGlzCmFkZGVkIGlmIHlvdXIgd2VibG9nIHNlcnZlciBzdXBwb3J0cyBjYXRlZ29y aWVzIG9uIGVudHJpZXMgYnV0IHlvdQpoYXZlbid0IHNldCBvbmUuICBTZXQgdG8gbmlsIGZvciBu byBjYXRlZ29yeS4iKQoKKGRlZnZhciB3ZWJsb2dnZXItZGVmYXVsdC10YWdzIG5pbAogICJUaGUg ZGVmYXVsdCBsaXN0IG9mIHRhZ3Mgd2hlbiBtYWtpbmcgYW4gZW50cnkuIFRoaXMgaXMgYWRkZWQg aWYgCnlvdXIgd2VibG9nIHNlcnZlciBzdXBwb3J0cyB0YWdzIG9uIGVudHJpZXMgYnV0IHlvdSBh dmVuJ3Qgc2V0IG9uZS4KU2V0IHRvIG5pbCBmb3Igbm8gdGFncy4iKQoKKGRlZnZhciB3ZWJsb2dn ZXItYXBpLW5ldy1lbnRyeSBuaWwpCihkZWZ2YXIgd2VibG9nZ2VyLWFwaS1zZW5kLWVkaXRzIG5p bCkKKGRlZnZhciB3ZWJsb2dnZXItYXBpLWxpc3QtZW50cmllcyBuaWwpCihkZWZ2YXIgd2VibG9n Z2VyLWFwaS1saXN0LWNhdGVnb3JpZXMgbmlsKQoKKGRlZnZhciB3ZWJsb2dnZXItd2VibG9nLWFs aXN0IG5pbAogICJXZWJsb2dzIHRoZSB1c2VyIGNhbiB1c2Ugb24gdGhlIHNlcnZlci4iKQooZGVm dmFyIHdlYmxvZ2dlci10ZXh0dHlwZS1hbGlzdCBuaWwKICAiVGV4dHR5cGVzIHN1cHBvcnRlZCBi eSB0aGUgc2VydmVyLiIpCgooZGVmdmFyIG1lbnUtYmFyLXdlYmxvZ2dlci1tZW51IG5pbCkKCihk ZWZjb25zdCB3ZWJsb2dnZXItdmVyc2lvbiAiMS4zIgogICJDdXJyZW50IHZlcnNpb24gb2Ygd2Vi bG9nZ2VyLmVsIikKCih1bmxlc3Mgd2VibG9nZ2VyLWVudHJ5LW1vZGUtbWFwCiAgKHNldHEgd2Vi bG9nZ2VyLWVudHJ5LW1vZGUtbWFwCiAgICAobGV0ICgobWFwIChjb3B5LWtleW1hcCBtZXNzYWdl LW1vZGUtbWFwKSkKCSAgKHNlcnZlci1tYXAgKG1ha2Utc3BhcnNlLWtleW1hcCkpCgkgICh0ZW1w bGF0ZS1tYXAgKG1ha2Utc3BhcnNlLWtleW1hcCkpKQogICAgICAoZGVmaW5lLWtleSBtYXAgIlxD LWNcQy1jIiAnd2VibG9nZ2VyLXNlbmQtZW50cnkpCiAgICAgIChkZWZpbmUta2V5IG1hcCAiXEMt eFxDLXMiICd3ZWJsb2dnZXItcHVibGlzaC1lbnRyeSkKICAgICAgKHdoZW4gKGZib3VuZHAgJ3Vu aWNvZGUtc21hcnQtZG91YmxlLXF1b3RlKQoJKGRlZmluZS1rZXkgbWFwICJcIiIgJ3VuaWNvZGUt c21hcnQtZG91YmxlLXF1b3RlKQoJKGRlZmluZS1rZXkgbWFwICInIiAndW5pY29kZS1zbWFydC1z aW5nbGUtcXVvdGUpCgkoZGVmaW5lLWtleSBtYXAgIi0iICd1bmljb2RlLXNtYXJ0LWh5cGhlbikK CShkZWZpbmUta2V5IG1hcCAiLiIgJ3VuaWNvZGUtc21hcnQtcGVyaW9kKSkKICAgICAgKGRlZmlu ZS1rZXkgbWFwICJcQy1jXEMtbiIgJ3dlYmxvZ2dlci1uZXh0LWVudHJ5KQogICAgICAoZGVmaW5l LWtleSBtYXAgIlxDLWNcQy1wIiAnd2VibG9nZ2VyLXByZXYtZW50cnkpCiAgICAgIChkZWZpbmUt a2V5IG1hcCAiXEMtY1xDLWsiICd3ZWJsb2dnZXItZGVsZXRlLWVudHJ5KQogICAgICAoZGVmaW5l LWtleSBtYXAgIlxNLWciICAgICAnd2VibG9nZ2VyLWZldGNoLWVudHJpZXMpCiAgICAgIChkZWZp bmUta2V5IHRlbXBsYXRlLW1hcCAibSIgJ3dlYmxvZ2dlci1lZGl0LW1haW4tdGVtcGxhdGUpCiAg ICAgIChkZWZpbmUta2V5IHRlbXBsYXRlLW1hcCAiYSIgJ3dlYmxvZ2dlci1lZGl0LWFyY2hpdmUt dGVtcGxhdGUpCiAgICAgIChkZWZpbmUta2V5IG1hcCAiXEMtY1xDLXQiIHRlbXBsYXRlLW1hcCkK ICAgICAgKGRlZmluZS1rZXkgbWFwICJcQy1jXEMtbyIgJ3dlYmxvZ2dlci1jaGFuZ2Utc2VydmVy KQogICAgICAoZGVmaW5lLWtleSBtYXAgIlxDLWNcQy13IiAnd2VibG9nZ2VyLWNoYW5nZS13ZWJs b2cpCiAgICAgIChkZWZpbmUta2V5IG1hcCAiXEMtY1xDLXUiICd3ZWJsb2dnZXItY2hhbmdlLXVz ZXIpCiAgICAgIG1hcCkpKQoKKHVubGVzcyB3ZWJsb2dnZXItdGVtcGxhdGUtbW9kZS1tYXAKICAo c2V0cSB3ZWJsb2dnZXItdGVtcGxhdGUtbW9kZS1tYXAgKGNvcHkta2V5bWFwIHRleHQtbW9kZS1t YXApKQogIChkZWZpbmUta2V5IHdlYmxvZ2dlci10ZW1wbGF0ZS1tb2RlLW1hcCAiXEMteFxDLXMi ICd3ZWJsb2dnZXItc2F2ZS10ZW1wbGF0ZSkpCgoodW5sZXNzIG1lbnUtYmFyLXdlYmxvZ2dlci1t ZW51IAogIChlYXN5LW1lbnUtZGVmaW5lCiAgICBtZW51LWJhci13ZWJsb2dnZXItbWVudSB3ZWJs b2dnZXItZW50cnktbW9kZS1tYXAgIiIKICAgICcoIldlYmxvZ2dlciIKICAgICAgWyJTZW5kIHdl YmxvZyBlbnRyeSIgd2VibG9nZ2VyLXNlbmQtZW50cnkgdF0KICAgICAgWyJTYXZlIHdlYmxvZyBl bnRyeSIgd2VibG9nZ2VyLXNhdmUtZW50cnkgbmlsIHRdCiAgICAgIFsiLS0iIG5pbCBuaWxdCiAg ICAgIFsiRGVsZXRlIGVudHJ5IiAgICAgIHdlYmxvZ2dlci1kZWxldGUtZW50cnkgdF0KICAgICAg WyItLSIgbmlsIG5pbF0KICAgICAgWyJQcmV2aW91cyBlbnRyeSIgICAgd2VibG9nZ2VyLXByZXYt ZW50cnkgdF0KICAgICAgWyJOZXh0IGVudHJ5IiAgICAgICAgd2VibG9nZ2VyLW5leHQtZW50cnkg dF0KICAgICAgWyItLSIgbmlsIG5pbF0KICAgICAgWyJFZGl0IE1haW4gVGVtcGxhdGUiIHdlYmxv Z2dlci1lZGl0LW1haW4tdGVtcGxhdGUgdF0KICAgICAgWyJFZGl0IEFyY2hpdmUgVGVtcGxhdGUi IHdlYmxvZ2dlci1lZGl0LW1haW4tdGVtcGxhdGUgdF0KICAgICAgWyItLSIgbmlsIG5pbF0KICAg ICAgWyJDaGFuZ2UgV2VibG9nIiAgICB3ZWJsb2dnZXItY2hhbmdlLXdlYmxvZyB0XSkpKQoKKGRl ZnVuIHdlYmxvZ2dlci1zZWxlY3QtY29uZmlndXJhdGlvbiAoJm9wdGlvbmFsIGNvbmZpZykKICAi U2VsZWN0IGEgcHJldmlvdXNseSBzYXZlZCBjb25maWd1cmF0aW9uLiIKICAoaW50ZXJhY3RpdmUp CiAgKGxldCogKChjb21wbGV0aW9uLWlnbm9yZS1jYXNlIHQpCgkgKHNlcSAwKQoJIChjb25maWdz IChtYXBjYXIKCQkgICAobGFtYmRhIChjb25maWcpCgkJICAgICAoY29ucyAoY2FyIGNvbmZpZykg KHNldHEgc2VxICgxKyBzZXEpKSkpCgkJICAgd2VibG9nZ2VyLWNvbmZpZy1hbGlzdCkpCgkgKGNv bmYgKGNkciAoYXNzb2MKCQkgICAgIChvciBjb25maWcgCgkJCSAoaWYgKD0gMSAobGVuZ3RoIGNv bmZpZ3MpKQoJCQkgICAgIChjYWFyIGNvbmZpZ3MpCgkJCSAgIChjb21wbGV0aW5nLXJlYWQgCgkJ CSAgICAiQ29uZmlnIE5hbWU6ICIgY29uZmlncyBuaWwgdCkpKQoJCSAgICAgd2VibG9nZ2VyLWNv bmZpZy1hbGlzdCkpKQoJICh1c2VybmFtZSAoY2RyIChhc3NvYyAidXNlciIgY29uZikpKQoJIChw YXNzd29yZCAoY2RyIChhc3NvYyAicGFzcyIgY29uZikpKQoJICh1cmwgICAgICAoY2RyIChhc3Nv YyAic2VydmVyLXVybCIgY29uZikpKQoJICh3ZWJsb2cgICAoY2RyIChhc3NvYyAid2VibG9nIiBj b25mKSkpKQogICAgKHdoZW4gdXNlcm5hbWUKICAgICAgKHNldHEgd2VibG9nZ2VyLXNlcnZlci11 c2VybmFtZSB1c2VybmFtZSkpCiAgICAod2hlbiBwYXNzd29yZAogICAgICAoc2V0cSB3ZWJsb2dn ZXItc2VydmVyLXBhc3N3b3JkIHBhc3N3b3JkKSkKICAgICh3aGVuIHVybAogICAgICAoc2V0cSB3 ZWJsb2dnZXItc2VydmVyLXVybCB1cmwpKQogICAgKHdoZW4gd2VibG9nCiAgICAgIChzZXRxIHdl YmxvZ2dlci13ZWJsb2ctaWQgd2VibG9nKSkKICAgICh3ZWJsb2dnZXItZGV0ZXJtaW5lLWNhcGFi aWxpdGllcykKICAgICh3ZWJsb2dnZXItd2VibG9nLWFsaXN0IHQpKSkKCihkZWZ1biB3ZWJsb2dn ZXItc2V0dXAtd2VibG9nICgpCiAgIkNyZWF0ZSBhIHByb2ZpbGUgZm9yIGEgd2VibG9nLiIKICAo aW50ZXJhY3RpdmUpCiAgKHdlYmxvZ2dlci1jaGFuZ2Utc2VydmVyKQogIChsZXQgKCh1c2VyICAg KHdlYmxvZ2dlci1zZXJ2ZXItdXNlcm5hbWUgdCkpCgkocGFzcyAgICh3ZWJsb2dnZXItc2VydmVy LXBhc3N3b3JkIHQpKQoJKHdlYmxvZyAod2VibG9nZ2VyLXdlYmxvZy1pZCAgICAgICB0KSkpCiAg ICAoc2V0cSB3ZWJsb2dnZXItY29uZmlnLW5hbWUKCSAgKHJlYWQtZnJvbS1taW5pYnVmZmVyCgkg ICAoZm9ybWF0ICJOYW1lIHRoaXMgY29uZmlndXJhdGlvbiAoXCIlc1wiKTogIgoJCSAgIHdlYmxv Z2dlci1jb25maWctbmFtZSkKCSAgIHdlYmxvZ2dlci1jb25maWctbmFtZSkpCiAgICAobGV0ICgo Y29uZiAoYXNzb2Mgd2VibG9nZ2VyLWNvbmZpZy1uYW1lIHdlYmxvZ2dlci1jb25maWctYWxpc3Qp KQoJICAoc2V0dGluZ3MgKGRlbHEgbmlsCgkJCSAgKGxpc3QKCQkJICAgKGNvbnMgInVzZXIiICAg ICAgIHVzZXIpCgkJCSAgIChjb25zICJzZXJ2ZXItdXJsIiB3ZWJsb2dnZXItc2VydmVyLXVybCkK CQkJICAgKHdoZW4gd2VibG9nZ2VyLXNhdmUtcGFzc3dvcmQKCQkJICAgICAoY29ucyAicGFzcyIg ICAgIHBhc3MpKQoJCQkgICAoY29ucyAid2VibG9nIiAgICAgd2VibG9nKSkpKSkKICAgICAgKGlm IGNvbmYKCSAgKHNldGNkciBjb25mIHNldHRpbmdzKQoJKHNldHEgd2VibG9nZ2VyLWNvbmZpZy1h bGlzdAoJICAgICAgKGFwcGVuZCB3ZWJsb2dnZXItY29uZmlnLWFsaXN0IAoJCSAgICAgIChsaXN0 CgkJICAgICAgIChjb25zIHdlYmxvZ2dlci1jb25maWctbmFtZQoJCQkgICAgIHNldHRpbmdzKSkp KSkpKQogICh3ZWJsb2dnZXItc2F2ZS1jb25maWd1cmF0aW9uKSkKCihkZWZ1biB3ZWJsb2dnZXIt c2F2ZS1jb25maWd1cmF0aW9uICgpCiAgIlNhdmUgdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiB1 c2luZyB0aGUgbmFtZSBmcm9tIENPTkZJRyBpbgp0aGUgZmlsZW5hbWUgaW4gd2VibG9nZ2VyLWNv bmZpZy1maWxlLiIKICAoY3VzdG9taXplLXNhdmUtdmFyaWFibGUgJ3dlYmxvZ2dlci1jb25maWct YWxpc3QKCQkJICAgd2VibG9nZ2VyLWNvbmZpZy1hbGlzdCkpCjs7ICAgKHNhdmUtZXhjdXJzaW9u Cjs7ICAgICAoc2V0LWJ1ZmZlciAoZmluZC1maWxlIHdlYmxvZ2dlci1jb25maWctZmlsZSkpCjs7 ICAgICAoZXJhc2UtYnVmZmVyKQo7OyAgICAgKGluc2VydCAiKHNldHEgd2VibG9nZ2VyLWNvbmZp Zy1hbGlzdCIpCjs7ICAgICAocHJpbnQgd2VibG9nZ2VyLWNvbmZpZy1hbGlzdCAnaW5zZXJ0KQo7 OyAgICAgKGluc2VydCAiKVxuIikpKQoKCihkZWZ1biB3ZWJsb2dnZXItY2hhbmdlLXNlcnZlciAo KQogICJDaGFuZ2UgdGhlIHNlcnZlci11cmwuIgogIChpbnRlcmFjdGl2ZSkKICAoc2V0cSB3ZWJs b2dnZXItc2VydmVyLXVybAoJKHJlYWQtZnJvbS1taW5pYnVmZmVyICJTZXJ2ZXIgRW5kcG9pbnQg KFVSTCk6ICIgd2VibG9nZ2VyLXNlcnZlci11cmwpKQogICh3ZWJsb2dnZXItZGV0ZXJtaW5lLWNh cGFiaWxpdGllcykpCgooZGVmdW4gd2VibG9nZ2VyLWNoYW5nZS11c2VyICgpCiAgIkNoYW5nZSB1 c2VybmFtZSBhbmQgcGFzc3dvcmQuIgogIChpbnRlcmFjdGl2ZSkKICAod2VibG9nZ2VyLXNlcnZl ci11c2VybmFtZSB0KQogICh3ZWJsb2dnZXItc2VydmVyLXBhc3N3b3JkIHQpKQoKKGRlZnVuIHdl YmxvZ2dlci1jaGFuZ2Utd2VibG9nICgpCiAgIkNoYW5nZSB0aGUgd2VibG9nLiIKICAoaW50ZXJh Y3RpdmUpCiAgKGxldCAoKHBvaW50LXNhdmUgKHBvaW50KSkpCiAgICAod2VibG9nZ2VyLXdlYmxv Zy1pZCB0KQogICAgKG1lc3NhZ2UtcmVtb3ZlLWhlYWRlciAiTmV3c2dyb3VwIikKICAgIChtZXNz YWdlLWFkZC1oZWFkZXIgKGNvbmNhdCAiTmV3c2dyb3VwOiAiIAoJCQkJKHdlYmxvZ2dlci13ZWJs b2ctbmFtZS1mcm9tLWlkIAoJCQkJICh3ZWJsb2dnZXItd2VibG9nLWlkKSkpKQogICAgKGdvdG8t Y2hhciBwb2ludC1zYXZlKSkpCgooZGVmdW4gd2VibG9nZ2VyLWNoYW5nZS10ZXh0dHlwZSAoKQog ICJDaGFuZ2UgVGV4dCBUeXBlLiIKICAoaW50ZXJhY3RpdmUpCiAgKGxldCAoKHBvaW50LXNhdmUg KHBvaW50KSkpCiAgICAobWVzc2FnZS1yZW1vdmUtaGVhZGVyICJYLVRleHRUeXBlIikKICAgICht ZXNzYWdlLWFkZC1oZWFkZXIgKGNvbmNhdCAiWC1UZXh0VHlwZTogIiAKCQkJCSh3ZWJsb2dnZXIt dGV4dHR5cGUtbmFtZS1mcm9tLWlkIAoJCQkJICh3ZWJsb2dnZXItc2VsZWN0LXRleHR0eXBlKSkp KQogICAgKGdvdG8tY2hhciBwb2ludC1zYXZlKSkpCgooZGVmdW4gd2VibG9nZ2VyLWVudHJ5LW1v ZGUgKCkKICAiTWFqb3IgbW9kZSBmb3IgZWRpdGluZyB0ZXh0IGZvciBXZWJsb2dnZXIuICBCYXNl ZCBvbiBtZXNzYWdlLW1vZGUuIgogIChpbnRlcmFjdGl2ZSkKICAobWVzc2FnZS1tb2RlKQogICht ZXNzYWdlLWRpc2Fzc29jaWF0ZS1kcmFmdCkKICAodXNlLWxvY2FsLW1hcCB3ZWJsb2dnZXItZW50 cnktbW9kZS1tYXApCiAgKHNldHEgbW9kZS1uYW1lICJ3ZWJsb2dnZXItZW50cnkiKQogIChzZXRx IG1ham9yLW1vZGUgJ3dlYmxvZ2dlci1lbnRyeS1tb2RlKQogICh1bmxlc3Mgd2VibG9nZ2VyLWVu dHJ5LXJpbmcKICAgIChzZXRxIHdlYmxvZ2dlci1lbnRyeS1yaW5nIChtYWtlLXJpbmcgd2VibG9n Z2VyLW1heC1lbnRyaWVzLWluLXJpbmcpKSkKICAocnVuLWhvb2tzICd3ZWJsb2dnZXItZW50cnkt bW9kZS1ob29rKSkKCihkZWZ1biB3ZWJsb2dnZXItdGVtcGxhdGUtbW9kZSAoKQogICJNYWpvciBt b2RlIGZvciBlZGl0aW5nIHRlbXBsYXRlcyBmb3IgV2VibG9nZ2VyLiBCYXNlZCBvbiB0ZXh0LW1v ZGUuIgogIChpbnRlcmFjdGl2ZSkKICAodGV4dC1tb2RlKQogICh1c2UtbG9jYWwtbWFwIHdlYmxv Z2dlci10ZW1wbGF0ZS1tb2RlLW1hcCkKICAoc2V0cSBtb2RlLW5hbWUgIndlYmxvZ2dlci10ZW1w bGF0ZSIpCiAgKHNldHEgbWFqb3ItbW9kZSAnd2VibG9nZ2VyLXRlbXBsYXRlLW1vZGUpKQoKKGRl ZnVuIHdlYmxvZ2dlci1lZGl0LXRlbXBsYXRlICh0eXBlKQogICJFZGl0IGEgVGVtcGxhdGUuIFRZ UEUgaW5kaWNhdGVzIHdoaWNoIG9uZS4iCiAgKHNldHEgKndlYmxvZ2dlci10ZW1wbGF0ZSogKHN3 aXRjaC10by1idWZmZXIgIip3ZWJsb2dnZXItdGVtcGxhdGUqIikpCiAgKHdlYmxvZ2dlci10ZW1w bGF0ZS1tb2RlKQogIChlcmFzZS1idWZmZXIpCiAgKGluc2VydCAoeG1sLXJwYy1tZXRob2QtY2Fs bAoJICAgd2VibG9nZ2VyLXNlcnZlci11cmwKCSAgICdibG9nZ2VyLmdldFRlbXBsYXRlIAoJICAg d2VibG9nZ2VyLWJsb2dnZXItYXBwLWtleQoJICAgKHdlYmxvZ2dlci13ZWJsb2ctaWQpCgkgICAo d2VibG9nZ2VyLXNlcnZlci11c2VybmFtZSkKCSAgICh3ZWJsb2dnZXItc2VydmVyLXBhc3N3b3Jk KQoJICAgdHlwZSkpCiAgKHNldC1idWZmZXItbW9kaWZpZWQtcCBuaWwpCiAgKGdvdG8tY2hhciAo cG9pbnQtbWluKSkKICAoc2V0cSB3ZWJsb2dnZXItdGVtcGxhdGUtdHlwZSB0eXBlKSkKCihkZWZ1 biB3ZWJsb2dnZXItc2F2ZS10ZW1wbGF0ZSAoKQogICJTYXZlIGEgVGVtcGxhdGUuIFRZUEUgaW5k aWNhdGVzIHdoaWNoIG9uZS4iCiAgKGludGVyYWN0aXZlKQogIChpZiAoYnVmZmVyLW1vZGlmaWVk LXApCiAgICAgIChwcm9nbiAoeG1sLXJwYy1tZXRob2QtY2FsbAoJICAgICAgd2VibG9nZ2VyLXNl cnZlci11cmwKCSAgICAgICdibG9nZ2VyLnNldFRlbXBsYXRlIAoJICAgICAgd2VibG9nZ2VyLWJs b2dnZXItYXBwLWtleQoJICAgICAgKHdlYmxvZ2dlci13ZWJsb2ctaWQpCgkgICAgICAod2VibG9n Z2VyLXNlcnZlci11c2VybmFtZSkKCSAgICAgICh3ZWJsb2dnZXItc2VydmVyLXBhc3N3b3JkKQoJ ICAgICAgKGJ1ZmZlci1zdWJzdHJpbmctbm8tcHJvcGVydGllcyAocG9pbnQtbWluKSAocG9pbnQt bWF4KSkKCSAgICAgIHdlYmxvZ2dlci10ZW1wbGF0ZS10eXBlKQoJICAgICAoc2V0LWJ1ZmZlci1t b2RpZmllZC1wIG5pbCkpKSkKCihkZWZ1biB3ZWJsb2dnZXItZWRpdC1tYWluLXRlbXBsYXRlICgp CiAgIkVkaXQgdGhlIG1haW4gdGVtcGxhdGUiCiAgKGludGVyYWN0aXZlKQogICh3ZWJsb2dnZXIt ZWRpdC10ZW1wbGF0ZSAibWFpbiIpKQoKKGRlZnVuIHdlYmxvZ2dlci1lZGl0LWFyY2hpdmUtdGVt cGxhdGUgKCkKICAiRWRpdCB0aGUgdGVtcGxhdGUgZm9yIGFyY2hpdmUgbGlzdGluZ3MiCiAgKGlu dGVyYWN0aXZlKQogICh3ZWJsb2dnZXItZWRpdC10ZW1wbGF0ZSAiYXJjaGl2ZSIpKQoKKGRlZnVu IHdlYmxvZ2dlci1zdGFydC1lbnRyeSAoJm9wdGlvbmFsIHByb21wdCkKICAiU3RhcnQgY3JlYXRp bmcgYSB3ZWJsb2cgZW50cnkgaW4gdGhlICp3ZWJsb2dnZXItZW50cnkqIGJ1ZmZlci4KV2l0aCBh IHByZWZpeCwgaXQgd2lsbCBjaGVjayB0aGUgYXZhaWxhYmxlIHdlYmxvZ3Mgb24gdGhlIHNlcnZl cgphbmQgcHJvbXB0IGZvciB0aGUgd2VibG9nIHRvIHBvc3QgdG8gaWYgbXVsdGlwbGUgb25lcyBh cmUKYXZhaWxhYmxlLiIKICAoaW50ZXJhY3RpdmUgIlAiKQogIChpZiBwcm9tcHQgKHdlYmxvZ2dl ci13ZWJsb2ctaWQgcHJvbXB0KSkKICAodW5sZXNzIHdlYmxvZ2dlci1lbnRyeS1yaW5nCiAgICAo c2V0cSB3ZWJsb2dnZXItZW50cnktcmluZyAobWFrZS1yaW5nIHdlYmxvZ2dlci1tYXgtZW50cmll cy1pbi1yaW5nKSkpCiAgKHJpbmctaW5zZXJ0IHdlYmxvZ2dlci1lbnRyeS1yaW5nICcoKCJjb250 ZW50IiAiIikpKQogIChzZXRxIHdlYmxvZ2dlci1yaW5nLWluZGV4IDApCiAgKHdlYmxvZ2dlci1l ZGl0LWVudHJ5KSkKCihkZWZ1biB3ZWJsb2dnZXItZW50cnktc2V0dXAtaGVhZGVycyAoZW50cnkg Jm9wdGlvbmFsIGJvZHktbGluZSkKICAiQWRkIGFueSBwZXJ0aW5hbnQgaGVhZGVycyB0byB0aGUg d2VibG9nIGVudHJ5LiIKICAobGV0ICgoZW50cnktaWQgKHdoZW4gKGNkciAoYXNzb2MgICJlbnRy eS1pZCIgZW50cnkpKQoJCSAgICAoaWYgKHN0cmluZ3AgKGNkciAoYXNzb2MgICJlbnRyeS1pZCIg ZW50cnkpKSkKCQkJKGNkciAoYXNzb2MgICJlbnRyeS1pZCIgZW50cnkpKQoJCSAgICAgIChpbnQt dG8tc3RyaW5nIChjZHIgKGFzc29jICAiZW50cnktaWQiIGVudHJ5KSkpKSkpCgkoY29udGVudCAg KG9yIChjZHIgKGFzc29jICJjb250ZW50IiAgICAgZW50cnkpKQoJCSAgICAgICIiKSkKCSh0aXRs ZSAgICAoY2RyIChhc3NvYyAidGl0bGUiICAgICAgIGVudHJ5KSkpKQoKICAgIChtYXBjYXIgJ21l c3NhZ2UtYWRkLWhlYWRlcgoJICAgIChkZWxxIG5pbAoJCSAgKG1hcGNhcgoJCSAgIChsYW1iZGEg KGJpdCkKCQkgICAgICh3aGVuIChjYXIgKGNkci1zYWZlIGJpdCkpCgkJICAgICAgIChjb25jYXQg KGNhciBiaXQpICI6ICIKCQkJICAgICAgIChjYWRyIGJpdCkpKSkKCQkgICAobGlzdAoJCSAgICAo bGlzdCAiTWVzc2FnZS1JRCIKCQkJICAod2hlbiBlbnRyeS1pZAoJCQkgICAgKGZvcm1hdCAiPCVz LyVzQCVzPiIKCQkJCSAgICBlbnRyeS1pZAoJCQkJICAgICh3ZWJsb2dnZXItd2VibG9nLWlkKQoJ CQkJICAgICh1cmwtaG9zdCAodXJsLWdlbmVyaWMtcGFyc2UtdXJsIHdlYmxvZ2dlci1zZXJ2ZXIt dXJsKSkpKSkKCQkgICAgKGxpc3QgIkRhdGUiCgkJCSAgKGxldCAoKGRhdGUgKGNkciAoYXNzb2Mg ImRhdGVDcmVhdGVkIiBlbnRyeSkpKSkKICAgICAgICAgICAgICAgIChpZiAoc3RyaW5ncCBkYXRl KQogICAgICAgICAgICAgICAgICAoZml4LWRhdGV0aW1lLWRlY3JlYXNlLTgtaG91ciBkYXRlKQog ICAgICAgICAgICAgICAgICBuaWwpKSkKCQkgICAgKGxpc3QgIkluLVJlcGx5LVRvIgoJCQkgIChs ZXQgKChob2xkIG5pbCkpCgkJCSAgICAobWFwY2FyCgkJCSAgICAgKGxhbWJkYSAocCkKCQkJICAg ICAgIChzZXRxIGhvbGQgKGNvbmNhdCBob2xkIHAgIiwgIikpKQoJCQkgICAgIChjZHIgKGFzc29j ICJ0cmFja2JhY2tzIiAgZW50cnkpKSkKCQkJICAgICh3aGVuIGhvbGQgaG9sZCkpKQoJCSAgICAo bGlzdCAiWC1VUkwiCgkJCSAgKGNkciAoYXNzb2MgInVybCIgZW50cnkpKSkKICAgICAgICAgICAg KGxpc3QgIlBlcm1saW5rIgogICAgICAgICAgICAgIChjZHIgKGFzc29jICJ3cF9zbHVnIiBlbnRy eSkpKQoJCSAgICAobGlzdCAiWC1UZXh0VHlwZSIKCQkJICAoY2RyIChhc3NvYyAidGV4dHR5cGUi IGVudHJ5KSkpCgkJICAgIChsaXN0ICJTdWJqZWN0IiB0aXRsZSkKCQkgICAgKGxpc3QgIkNhdGVn b3JpZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKGNhdHMgKGNkciAoYXNzb2Mg ImNhdGVnb3JpZXMiICBlbnRyeSkpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3aGVu ICg+IChsZW5ndGggY2F0cykgMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hcGNv bmNhdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAocCkgcCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNhdHMgIiwgIikpKSkKICAgICAgICAgICAgKGxpc3Qg IlRhZ3MiIChsZXQgKCh0YWdzIChjZHIgKGFzc29jICJtdF9rZXl3b3JkcyIgZW50cnkpKSkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoYW5kICg+IChsZW5ndGggdGFncykgMCkgKG5v dCAoc3RyaW5ncCB0YWdzKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hcGNvbmNh dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYShwKSBwKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdGFncwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IiwgIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWdzCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKSkpCjsJCSAgICAobGlzdCAiVGFncyIgCTt0YWdzIHN1cHBvcnQKOyAgICAg ICAgICAgICAgICAgICAgICAgICAgKGxldCAoKHRhZ3MgKGNkciAoYXNzb2MgIm10X2tleXdvcmRz IiAgZW50cnkpKSkpCjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHdoZW4gKD4gKGxlbmd0 aCB0YWdzKSAwKQo7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hcGNvbmNhdAo7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKHApIHApCjsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdGFncyAiLCAiKSkpKQoJCSAgICAobGlzdCAiRnJvbSIKCQkJICAo b3IgKGNkciAoYXNzb2MgImF1dGhvck5hbWUiICBlbnRyeSkpCgkJCSAgICAgIHdlYmxvZ2dlci1z ZXJ2ZXItdXNlcm5hbWUpKQoJCSAgICAobGlzdCAiTmV3c2dyb3VwIgoJCQkgIChjb25jYXQgKHdl YmxvZ2dlci13ZWJsb2ctbmFtZS1mcm9tLWlkIAoJCQkJICAgKHdlYmxvZ2dlci13ZWJsb2ctaWQp KSkpKSkpKQoKICAgIChnb3RvLWNoYXIgKHBvaW50LW1heCkpCiAgICAod2hlbiBib2R5LWxpbmUK ICAgICAgKGluc2VydCBtYWlsLWhlYWRlci1zZXBhcmF0b3IgIlxuIikpKSkKCihkZWZ1biB3ZWJs b2dnZXItc2VuZC1lbnRyeSAoJm9wdGlvbmFsIGFyZykKICAiU2VuZCBidXQgbm90IHB1Ymxpc2gg dGhlIGN1cnJlbnQgZW50cnkuICBXaXRoIG9wdGlvbmFsIGFyZ3VtZW50LCBwcm9tcHRzCmZvciB0 aGUgd2VibG9nIHRvIHVzZS4iCiAgKGludGVyYWN0aXZlKQogICh3ZWJsb2dnZXItc2F2ZS1lbnRy eSBuaWwgYXJnKQogIChidXJ5LWJ1ZmZlcikpCgooZGVmdW4gd2VibG9nZ2VyLXB1Ymxpc2gtZW50 cnkgKCZvcHRpb25hbCBhcmcpCiAgIlB1Ymxpc2ggdGhlIGN1cnJlbnQgZW50cnkuICBXaXRoIG9w dGlvbmFsIGFyZ3VtZW50LCBwcm9tcHRzCmZvciB0aGUgd2VibG9nIHRvIHVzZS4iCiAgKGludGVy YWN0aXZlKQogIChzZXQtYnVmZmVyLW1vZGlmaWVkLXAgdCkKICAod2VibG9nZ2VyLXNhdmUtZW50 cnkgdCBhcmcpCiAgKGJ1cnktYnVmZmVyKSkKCgooZGVmdW4gd2VibG9nZ2VyLXNhdmUtZW50cnkg KCZvcHRpb25hbCBwdWJsaXNocCAmb3B0aW9uYWwgYXJnKQogICJQdWJsaXNoIHRoZSBjdXJyZW50 IGVudHJ5IGlzIHB1Ymxpc2hwIGlzIHNldC4gIFdpdGggb3B0aW9uYWwKYXJndW1lbnQsIHByb21w dHMgZm9yIHRoZSB3ZWJsb2cgdG8gdXNlLiIKICAoaW50ZXJhY3RpdmUpCiAgKGlmIChub3QgKGVx dWFsIChjdXJyZW50LWJ1ZmZlcikgKndlYmxvZ2dlci1lbnRyeSopKQogICAgICAobWVzc2FnZSAK ICAgICAgICJZb3UgYXJlIG5vdCBpbiB0aGUgKndlYmxvZ2dlci1lbnRyeSogYnVmZmVyLiIpCiAg ICAobGV0ICgoZW50cnkgKHdlYmxvZ2dlci1lbnRyeS1idWZmZXItdG8tc3RydWN0KSkpCiAgICAg IChjb25kICgoYW5kIChidWZmZXItbW9kaWZpZWQtcCkKCQkgIChub3QgKHN0cmluZy1lcXVhbCAo Y2RyIChhc3NvYyAiY29udGVudCIgZW50cnkpKSAiIikpKQoJICAgICAod2VibG9nZ2VyLXNlcnZl ci11c2VybmFtZSBhcmcpCgkgICAgICh3ZWJsb2dnZXItc2VydmVyLXBhc3N3b3JkIGFyZykKCSAg ICAgKHdlYmxvZ2dlci13ZWJsb2ctaWQgYXJnKQoJICAgICAoY29uZCAoKGNkciAoYXNzb2MgImVu dHJ5LWlkIiBlbnRyeSkpCgkJICAgICh3ZWJsb2dnZXItdXBkYXRlLXJpbmcgZW50cnkpCgkJICAg ICh3ZWJsb2dnZXItYXBpLXNlbmQtZWRpdHMgZW50cnkgcHVibGlzaHApCgkJICAgIChzZXQtYnVm ZmVyLW1vZGlmaWVkLXAgbmlsKSkKCQkgICAodAoJCSAgICAod2VibG9nZ2VyLWVudHJ5LXNldHVw LWhlYWRlcnMgCgkJICAgICAod2VibG9nZ2VyLWFwaS1uZXctZW50cnkgZW50cnkgcHVibGlzaHAp KSkpKQoJICAgICh0IChtZXNzYWdlICJOb3RoaW5nIHRvIHBvc3QuIikpKSkpKQoKKGRlZnVuIHdl YmxvZ2dlci11cGRhdGUtcmluZyAoZW50cnkpCiAgIlVwZGF0ZSB0aGUgZW50cnkgcmluZyB3aXRo IHRoZSBjb250ZW50cyBvZiBFTlRSWSIKICAobGV0ICgocmluZy1lbnRyeSAocmluZy1yZWYKCQkg ICAgIHdlYmxvZ2dlci1lbnRyeS1yaW5nCgkJICAgICB3ZWJsb2dnZXItcmluZy1pbmRleCkpKQog ICAgKG1hcGNhciAobGFtYmRhIChlbCkKCSAgICAgIChsZXQgKChmaWVsZCAoYXNzb2MgKGNhciBl bCkgcmluZy1lbnRyeSkpKQoJCSh3aGVuIGZpZWxkCgkJICAoc2V0Y2RyIGZpZWxkIChjZHIgZWwp KSkpKQoJICAgIGVudHJ5KSkpCgooZGVmdW4gd2VibG9nZ2VyLXNlcnZlci11c2VybmFtZSAoJm9w dGlvbmFsIHByb21wdCkKICAiR2V0IHRoZSB1c2VybmFtZS4gIElmIHlvdSd2ZSBub3QgeWV0IGxv Z2dlZCBpbiB0aGVuIHByb21wdCBmb3IKaXQuIgogIChzZXRxIHdlYmxvZ2dlci1zZXJ2ZXItdXNl cm5hbWUKCShwcm9nbiAod2hlbiAoYW5kCgkJICAgICAgKGFzc29jIHdlYmxvZ2dlci1jb25maWct bmFtZSB3ZWJsb2dnZXItY29uZmlnLWFsaXN0KQoJCSAgICAgIChub3Qgd2VibG9nZ2VyLXNlcnZl ci11c2VybmFtZSkpCgkJICh3ZWJsb2dnZXItc2VsZWN0LWNvbmZpZ3VyYXRpb24gd2VibG9nZ2Vy LWNvbmZpZy1uYW1lKSkKCSAgICAgICAoaWYgKG9yIHByb21wdCAobm90IHdlYmxvZ2dlci1zZXJ2 ZXItdXNlcm5hbWUpKQoJCSAgIChyZWFkLWZyb20tbWluaWJ1ZmZlciAiVXNlcm5hbWU6ICIgd2Vi bG9nZ2VyLXNlcnZlci11c2VybmFtZSkKCQkgd2VibG9nZ2VyLXNlcnZlci11c2VybmFtZSkpKSkK CihkZWZ1biB3ZWJsb2dnZXItc2VydmVyLXBhc3N3b3JkICgmb3B0aW9uYWwgcHJvbXB0KQogICJH ZXQgdGhlIHBhc3N3b3JkLiAgSWYgeW91J3ZlIG5vdCB5ZXQgbG9nZ2VkIGluIHRoZW4gcHJvbXB0 IGZvcgppdCIKICAoc2V0cSB3ZWJsb2dnZXItc2VydmVyLXBhc3N3b3JkCgkoaWYgKG9yIHByb21w dCAobm90IHdlYmxvZ2dlci1zZXJ2ZXItcGFzc3dvcmQpKQoJICAgIChpZiB3ZWJsb2dnZXItc2Vy dmVyLXBhc3N3b3JkCgkJKHJlYWQtcGFzc3dkICJQYXNzd29yZCBmb3Igd2VibG9nIHNlcnZlcjog IgoJCQkgICAgIG5pbCB3ZWJsb2dnZXItc2VydmVyLXBhc3N3b3JkKQoJICAgICAgKHJlYWQtcGFz c3dkICJQYXNzd29yZCBmb3Igd2VibG9nIHNlcnZlcjogIiBuaWwpKQoJICAgIHdlYmxvZ2dlci1z ZXJ2ZXItcGFzc3dvcmQpKSkKCihkZWZ1biB3ZWJsb2dnZXItd2VibG9nLWlkICgmb3B0aW9uYWwg cHJvbXB0KQogICJHZXQgdGhlIHdlYmxvZyBJRC4iCiAgKHNldHEgd2VibG9nZ2VyLXdlYmxvZy1p ZAoJKHByb2duICh3aGVuIChhbmQKCQkgICAgICAoYXNzb2Mgd2VibG9nZ2VyLWNvbmZpZy1uYW1l IHdlYmxvZ2dlci1jb25maWctYWxpc3QpCgkJICAgICAgKG5vdCB3ZWJsb2dnZXItd2VibG9nLWlk KSkKCQkgKHdlYmxvZ2dlci1zZWxlY3QtY29uZmlndXJhdGlvbiB3ZWJsb2dnZXItY29uZmlnLW5h bWUpKQoJICAgICAgIChpZiAob3IgcHJvbXB0CgkJICAgICAgIChub3Qgd2VibG9nZ2VyLXdlYmxv Zy1pZCkpCgkJICAgKHdlYmxvZ2dlci1zZWxlY3Qtd2VibG9nIHByb21wdCkKCQkgd2VibG9nZ2Vy LXdlYmxvZy1pZCkpKSkKCihkZWZ1biB3ZWJsb2dnZXItYXBpLWJsb2dnZXItZ2V0LWNvbnRlbnQg KHN0cnVjdCkKICAiUmV0dXJuIHRoZSBjb250ZW50IGZvciB0aGlzIHBvc3QsIG9wdGlvbmFsbHkg aW5zZXJ0aW5nIHRoZQp0aXRsZSBpbiB0aGUgZmlyc3Qgcm93IGlmIHdlYmxvZ2dlci1ibG9nZ2Vy LWZpcnN0bGluZS10aXRsZSBpcwpzZXQuIgogIChpZiB3ZWJsb2dnZXItYmxvZ2dlci1maXJzdGxp bmUtdGl0bGUKICAgICAgKGNvbmNhdCAiPHRpdGxlPiIKCSAgICAgIChjZHIgKGFzc29jICJ0aXRs ZSIgc3RydWN0KSkKCSAgICAgICI8L3RpdGxlPlxuIgoJICAgICAgKGNkciAoYXNzb2MgImNvbnRl bnQiIHN0cnVjdCkpKQogICAgICAoY2RyIChhc3NvYyAiY29udGVudCIgc3RydWN0KSkpKQoKKGRl ZnVuIHdlYmxvZ2dlci1hcGktYmxvZ2dlci1zZW5kLWVkaXRzIChzdHJ1Y3QgJm9wdGlvbmFsIHB1 Ymxpc2hwKQogICJCbG9nZ2VyIEFQSSBtZXRob2QgdG8gcG9zdCBlZGl0cyB0byBhbiBlbnRyeSBz cGVjaWZpZWQgYnkKU1RSVUNULiAgSWYgUFVCTElTSFAgaXMgbm9uLW5pbCwgcHVibGlzaGVzIHRo ZSBlbnRyeSBhcyB3ZWxsLiIKICAoeG1sLXJwYy1tZXRob2QtY2FsbAogICB3ZWJsb2dnZXItc2Vy dmVyLXVybAogICAnYmxvZ2dlci5lZGl0UG9zdAogICB3ZWJsb2dnZXItYmxvZ2dlci1hcHAta2V5 CiAgIChjZHIgKGFzc29jICJlbnRyeS1pZCIgc3RydWN0KSkKICAgKHdlYmxvZ2dlci1zZXJ2ZXIt dXNlcm5hbWUpCiAgICh3ZWJsb2dnZXItc2VydmVyLXBhc3N3b3JkKQogICAod2VibG9nZ2VyLWFw aS1ibG9nZ2VyLWdldC1jb250ZW50IHN0cnVjdCkKICAgcHVibGlzaHApKQoKKGRlZnVuIHdlYmxv Z2dlci1hcGktbWV0YS1zZW5kLWVkaXRzIChzdHJ1Y3QgJm9wdGlvbmFsIHB1Ymxpc2hwKQogICJN ZXRhV2VibG9nIEFQSSBtZXRob2QgdG8gcG9zdCBlZGl0cyB0byBhIGVudHJ5IHNwZWNpZmllZCBi eQpTVFJVQ1QuICBJZiBQVUJMSVNIUCBpcyBub24tbmlsLCBwdWJsaXNoZXMgdGhlIGVudHJ5IGFz IHdlbGwuIgogICh4bWwtcnBjLW1ldGhvZC1jYWxsCiAgIHdlYmxvZ2dlci1zZXJ2ZXItdXJsCiAg ICdtZXRhV2VibG9nLmVkaXRQb3N0CiAgIChjZHIgKGFzc29jICJlbnRyeS1pZCIgc3RydWN0KSkK ICAgKHdlYmxvZ2dlci1zZXJ2ZXItdXNlcm5hbWUpCiAgICh3ZWJsb2dnZXItc2VydmVyLXBhc3N3 b3JkKQogICAod2VibG9nZ2VyLXN0cnVjdC10by1yZXF1ZXN0IHN0cnVjdCkKICAgcHVibGlzaHAp KQoKKGRlZnVuIHdlYmxvZ2dlci1hcGktbmV3LWVudHJ5IChzdHJ1Y3QgcHVibGlzaHApCiAgIlB1 Ymxpc2ggYSBuZXcgZW50cnkgKFNUUlVDVCkgdXNpbmcgdGhlIGJlc3QgbWV0aG9kIGF2YWlsYWJs ZS4iCiAgKHJ1bi1ob29rcyAnd2VibG9nZ2VyLW5ldy1lbnRyeS1ob29rKQogICh1bmxlc3Mgd2Vi bG9nZ2VyLWFwaS1uZXctZW50cnkKICAgICh3ZWJsb2dnZXItZGV0ZXJtaW5lLWNhcGFiaWxpdGll cykpCiAgKHJpbmctaW5zZXJ0CiAgIHdlYmxvZ2dlci1lbnRyeS1yaW5nCiAgIChhZGQtdG8tbGlz dAogICAgJ3N0cnVjdCAKICAgIChjb25zICJlbnRyeS1pZCIgKGV2YWwgYCgsd2VibG9nZ2VyLWFw aS1uZXctZW50cnkgc3RydWN0IHB1Ymxpc2hwKSkpKSkKICAoc2V0cSB3ZWJsb2dnZXItcmluZy1p bmRleCAwKQogIChyaW5nLXJlZiB3ZWJsb2dnZXItZW50cnktcmluZyB3ZWJsb2dnZXItcmluZy1p bmRleCkpCgooZGVmdW4gd2VibG9nZ2VyLWFwaS1zZW5kLWVkaXRzIChzdHJ1Y3QgcHVibGlzaHAp CiAgIlVwZGF0ZSBhbiBlbnRyeSAoaW4gU1RSVUNUKSB1c2luZyB0aGUgYmVzdCBtZXRob2QgYXZh aWxhYmxlLiIKICAocnVuLWhvb2tzICd3ZWJsb2dnZXItZWRpdC1lbnRyeS1ob29rKQogICh1bmxl c3Mgd2VibG9nZ2VyLWFwaS1zZW5kLWVkaXRzCiAgICAod2VibG9nZ2VyLWRldGVybWluZS1jYXBh YmlsaXRpZXMpKQogIChldmFsIGAoLHdlYmxvZ2dlci1hcGktc2VuZC1lZGl0cyBzdHJ1Y3QgcHVi bGlzaHApKSkKCihkZWZ1biB3ZWJsb2dnZXItYXBpLWxpc3QtZW50cmllcyAoY291bnQpCiAgIkdl dCBhIGxpc3Qgb2YgZW50cmllcy4iCiAgKHVubGVzcyB3ZWJsb2dnZXItYXBpLWxpc3QtZW50cmll cwogICAgKHdlYmxvZ2dlci1kZXRlcm1pbmUtY2FwYWJpbGl0aWVzKSkKICAoZXZhbCBgKCx3ZWJs b2dnZXItYXBpLWxpc3QtZW50cmllcyBjb3VudCkpKQoKKGRlZnVuIHdlYmxvZ2dlci1hcGktbGlz dC1jYXRlZ29yaWVzICgpCiAgIkdldCBhIGxpc3Qgb2YgY2F0ZWdvcmllcy4iCiAgKHVubGVzcyB3 ZWJsb2dnZXItYXBpLWxpc3QtY2F0ZWdvcmllcwogICAgKHdlYmxvZ2dlci1kZXRlcm1pbmUtY2Fw YWJpbGl0aWVzKSkKICAoZXZhbCBgKCx3ZWJsb2dnZXItYXBpLWxpc3QtY2F0ZWdvcmllcykpKQoK KGRlZnVuIHdlYmxvZ2dlci1hcGktYmxvZ2dlci1uZXctZW50cnkgKHN0cnVjdCBwdWJsaXNocCkK ICAiUG9zdCBhIG5ldyBlbnRyeSBmcm9tIFNUUlVDVC4gIElmIFBVQkxJU0hQIGlzIG5vbi1uaWws IHB1Ymxpc2hlcyB0aGUKZW50cnkgYXMgd2VsbC4iCiAgKHhtbC1ycGMtbWV0aG9kLWNhbGwKICAg d2VibG9nZ2VyLXNlcnZlci11cmwKICAgJ2Jsb2dnZXIubmV3UG9zdAogICB3ZWJsb2dnZXItYmxv Z2dlci1hcHAta2V5CiAgICh3ZWJsb2dnZXItd2VibG9nLWlkKQogICAod2VibG9nZ2VyLXNlcnZl ci11c2VybmFtZSkKICAgKHdlYmxvZ2dlci1zZXJ2ZXItcGFzc3dvcmQpCiAgICh3ZWJsb2dnZXIt YXBpLWJsb2dnZXItZ2V0LWNvbnRlbnQgc3RydWN0KQogICBwdWJsaXNocCkpCgooZGVmdW4gd2Vi bG9nZ2VyLWFwaS1tZXRhLW5ldy1lbnRyeSAoc3RydWN0IHB1Ymxpc2hwKQogICJQb3N0IGEgbmV3 IGVudHJ5IChTVFJVQ1QpLiAgSWYgUFVCTElTSFAgaXMgbm9uLW5pbCwgcHVibGlzaGVzCnRoZSBl bnRyeSBhcyB3ZWxsLiIKICAoeG1sLXJwYy1tZXRob2QtY2FsbAogICB3ZWJsb2dnZXItc2VydmVy LXVybAogICAnbWV0YVdlYmxvZy5uZXdQb3N0CiAgICh3ZWJsb2dnZXItd2VibG9nLWlkKQogICAo d2VibG9nZ2VyLXNlcnZlci11c2VybmFtZSkKICAgKHdlYmxvZ2dlci1zZXJ2ZXItcGFzc3dvcmQp CiAgICh3ZWJsb2dnZXItc3RydWN0LXRvLXJlcXVlc3Qgc3RydWN0KQogICBwdWJsaXNocCkpCgoo ZGVmdW4gd2VibG9nZ2VyLXNlbGVjdC13ZWJsb2cgKCZvcHRpb25hbCBmZXRjaCkKICAiQWxsb3dz IHRoZSB1c2VyIHRvIHNlbGVjdCBhIHdlYmxvZyBhbmQgcmV0dXJucyB0aGUgd2VibG9nIElELgpJ ZiB0aGVyZSBpcyBvbmx5IG9uZSB3ZWJsb2cgb3duZWQgYnkgdGhlIHVzZXIgb24gdGhlIHNlcnZl ciwgdGhlbgp0aGF0IHdlYmxvZyBpcyByZXR1cm5lZC4gIFdpdGggRkVUQ0ggZGVmaW5lZCwgdGhl IHNlcnZlciBpcwpyZS1xdWVyaWVkIGZvciBhIGxpc3Qgb2Ygd2VibG9ncyB0aGUgdXNlciBvd25z IgogICh3ZWJsb2dnZXItd2VibG9nLWlkLWZyb20td2VibG9nLW5hbWUKICAgKGxldCogKChjb21w bGV0aW9uLWlnbm9yZS1jYXNlIHQpCgkgIChzZXEgMCkKCSAgKHdlYmxvZ2xpc3QgKG1hcGNhcgoJ CSAgICAgKGxhbWJkYSAod2VibG9nKQoJCSAgICAgICAoY29ucyB3ZWJsb2cgKHNldHEgc2VxICgx KyBzZXEpKSkpCgkJICAgICAod2VibG9nZ2VyLWxpc3Qtd2VibG9nLW5hbWVzIGZldGNoKSkpKQog ICAgIChpZiAoPSAxIChsZW5ndGggd2VibG9nbGlzdCkpCgkgKGNhYXIgd2VibG9nbGlzdCkKICAg ICAgIChjb21wbGV0aW5nLXJlYWQgCgkiV2VibG9nOiAiIHdlYmxvZ2xpc3QgbmlsIHQpKSkpKQoK KGRlZnVuIHdlYmxvZ2dlci13ZWJsb2ctaWQtZnJvbS13ZWJsb2ctbmFtZSAobmFtZSkKICAiUmV0 dXJucyB0aGUgd2VibG9nIGlkIGdpdmVuIHRoZSBuYW1lLiIKICAoY2RyIChhc3NvYyBuYW1lCgkg KG1hcGNhciAKCSAgKGxhbWJkYSAod2VibG9nKQoJICAgIChjb25zIChjZHIgKGFzc29jICJibG9n TmFtZSIgd2VibG9nKSkKCQkgIChjZHIgKGFzc29jICJibG9naWQiIHdlYmxvZykpKSkKCSAgKHdl YmxvZ2dlci13ZWJsb2ctYWxpc3QpKSkpKQoKKGRlZnVuIHdlYmxvZ2dlci13ZWJsb2ctbmFtZS1m cm9tLWlkIChpZCkKICAiUmV0dXJucyB0aGUgd2VibG9nIG5hbWUgZ2l2ZW4gdGhlIGlkLiIKICAo Y2RyIChhc3NvYyBpZAoJIChtYXBjYXIgCgkgIChsYW1iZGEgKHdlYmxvZykKCSAgICAoY29ucyAo Y2RyIChhc3NvYyAiYmxvZ2lkIiB3ZWJsb2cpKQoJCSAgKGNkciAoYXNzb2MgImJsb2dOYW1lIiB3 ZWJsb2cpKSkpCgkgICh3ZWJsb2dnZXItd2VibG9nLWFsaXN0KSkpKSkKCihkZWZ1biB3ZWJsb2dn ZXItdGV4dHR5cGUtbmFtZS1mcm9tLWlkIChpZCkKICAiUmV0dXJucyB0aGUgdGV4dHR5cGUgbmFt ZSBnaXZlbiB0aGUgaWQuIgogIChjZHIgKGFzc29jIGlkCgkgKG1hcGNhciAKCSAgKGxhbWJkYSAo dGV4dHR5cGUpCgkgICAgKGNvbnMgKGNkciAoYXNzb2MgImtleSIgdGV4dHR5cGUpKQoJCSAgKGNk ciAoYXNzb2MgImxhYmVsIiB0ZXh0dHlwZSkpKSkKCSAgKHdlYmxvZ2dlci10ZXh0dHlwZS1hbGlz dCkpKSkpCgooZGVmdW4gd2VibG9nZ2VyLXRleHR0eXBlLWlkLWZyb20tbmFtZSAobmFtZSkKICAi UmV0dXJucyB0aGUgdGV4dHR5cGUgaWQgZ2l2ZW4gdGhlIG5hbWUuIgogIChjZHIgKGFzc29jIG5h bWUKCSAobWFwY2FyIAoJICAobGFtYmRhICh0ZXh0dHlwZSkKCSAgICAoY29ucyAoY2RyIChhc3Nv YyAibGFiZWwiIHRleHR0eXBlKSkKCQkgIChjZHIgKGFzc29jICJrZXkiIHRleHR0eXBlKSkpKQoJ ICAod2VibG9nZ2VyLXRleHR0eXBlLWFsaXN0KSkpKSkKCihkZWZ1biB3ZWJsb2dnZXItbGlzdC10 ZXh0dHlwZS1uYW1lcyAoJm9wdGlvbmFsIGZldGNoKQogICJSZXR1cm5zIGEgbGlzdCBvZiB0ZXh0 dHlwZSBuYW1lcy4iCiAgKG1hcGNhciAKICAgKGxhbWJkYSAodGV4dHR5cGUpCiAgICAgKGNkciAo YXNzb2MgImxhYmVsIiB0ZXh0dHlwZSkpKQogICAod2VibG9nZ2VyLXRleHR0eXBlLWFsaXN0IGZl dGNoKSkpCgooZGVmdW4gd2VibG9nZ2VyLXRleHR0eXBlLWFsaXN0ICgmb3B0aW9uYWwgZmV0Y2gp CiAgIlJldHVybnMgdGhlIGFsaXN0IG9mIHRleHR0eXBlcyBhbGxvd2VkIGJ5IHRoZSBzZXJ2ZXIu IgogICh3aGVuIChjZHIgKGFzc29jICJtdC5zdXBwb3J0ZWRUZXh0RmlsdGVycyIgd2VibG9nZ2Vy LWNhcGFiaWxpdGllcykpCiAgICAod2hlbiAob3IgZmV0Y2ggKG5vdCB3ZWJsb2dnZXItdGV4dHR5 cGUtYWxpc3QpKQogICAgICAoc2V0cSB3ZWJsb2dnZXItdGV4dHR5cGUtYWxpc3QKCSAgICAoeG1s LXJwYy1tZXRob2QtY2FsbCAKCSAgICAgd2VibG9nZ2VyLXNlcnZlci11cmwKCSAgICAgJ210LnN1 cHBvcnRlZFRleHRGaWx0ZXJzKSkpCiAgICB3ZWJsb2dnZXItdGV4dHR5cGUtYWxpc3QpKQoKKGRl ZnVuIHdlYmxvZ2dlci1zZWxlY3QtdGV4dHR5cGUgKCZvcHRpb25hbCBmZXRjaCkKICAiQWxsb3dz IHRoZSB1c2VyIHRvIHNlbGVjdCBhIHRleHR0eXBlIGZvciBlbnRyaWVzLiIKICAod2VibG9nZ2Vy LXRleHR0eXBlLWlkLWZyb20tbmFtZQogICAobGV0KiAoKGNvbXBsZXRpb24taWdub3JlLWNhc2Ug dCkKCSAgKHNlcSAwKQoJICAodHRsaXN0IChtYXBjYXIKCQkgICAobGFtYmRhICh0ZXh0dHlwZSkK CQkgICAgIChjb25zIHRleHR0eXBlIChzZXRxIHNlcSAoMSsgc2VxKSkpKQoJCSAgICh3ZWJsb2dn ZXItbGlzdC10ZXh0dHlwZS1uYW1lcyBmZXRjaCkpKSkKICAgICAoaWYgKD0gMSAobGVuZ3RoIHR0 bGlzdCkpCgkgKGNhYXIgdHRsaXN0KQogICAgICAgKGNvbXBsZXRpbmctcmVhZCAKCSJUZXh0VHlw ZTogIiB0dGxpc3QgbmlsIHQpKSkpKQoKKGRlZnVuIHdlYmxvZ2dlci1zZXJ2ZXItdXJsLWZyb20t aWQgKGlkKQogICJSZXR1cm5zIHRoZSB3ZWJsb2cgVVJMIGdpdmVuIHRoZSBpZC4iCiAgKGNkciAo YXNzb2MgaWQKCSAgICAgIChtYXBjYXIKCSAgICAgICAobGFtYmRhICh3ZWJsb2cpCgkJIChjb25z IChjZHIgKGFzc29jICJibG9naWQiIHdlYmxvZykpCgkJICAgICAgIChjZHIgKGFzc29jICJ1cmwi IHdlYmxvZykpKSkKCSAgICAgICAod2VibG9nZ2VyLXdlYmxvZy1hbGlzdCkpKSkpCgooZGVmdW4g d2VibG9nZ2VyLWxpc3Qtd2VibG9nLW5hbWVzICgmb3B0aW9uYWwgZmV0Y2gpCiAgIlJldHVybnMg YSBsaXN0IG9mIHdlYmxvZyBuYW1lcy4iCiAgKG1hcGNhciAKICAgKGxhbWJkYSAoYmxvZykKICAg ICAoY2RyIChhc3NvYyAiYmxvZ05hbWUiIGJsb2cpKSkKICAgKHdlYmxvZ2dlci13ZWJsb2ctYWxp c3QgZmV0Y2gpKSkKCihkZWZ1biB3ZWJsb2dnZXItd2VibG9nLWFsaXN0ICgmb3B0aW9uYWwgZmV0 Y2gpCiAgIlJldHVybnMgdGhlIGFsaXN0IG9mIHdlYmxvZ3Mgb3duZWQgYnkgYSB1c2VyIG9uIHRo ZSBzZXJ2ZXIuIgogIChzZXRxIHdlYmxvZ2dlci13ZWJsb2ctYWxpc3QKCShpZiAob3IgZmV0Y2gg KG5vdCB3ZWJsb2dnZXItd2VibG9nLWFsaXN0KSkKCSAgICAoeG1sLXJwYy1tZXRob2QtY2FsbCAK CSAgICAgd2VibG9nZ2VyLXNlcnZlci11cmwKCSAgICAgJ2Jsb2dnZXIuZ2V0VXNlcnNCbG9ncwoJ ICAgICB3ZWJsb2dnZXItYmxvZ2dlci1hcHAta2V5CgkgICAgICh3ZWJsb2dnZXItc2VydmVyLXVz ZXJuYW1lKQoJICAgICAod2VibG9nZ2VyLXNlcnZlci1wYXNzd29yZCkpCgkgIHdlYmxvZ2dlci13 ZWJsb2ctYWxpc3QpKSkKCihkZWZ1biB3ZWJsb2dnZXItcGluZy13ZWJsb2dzICgmb3B0aW9uYWwg aWQpCiAgIlBpbmcgdGhlIHdlYmxvZyBhZ2dyZWdhdG9ycyBsaXN0ZWQgaW4gd2VibG9nZ2VyLXBp bmctdXJscy4iCiAgKG1hcGNhcgogICAobGFtYmRhICh1cmwpCiAgICAgKHhtbC1ycGMtbWV0aG9k LWNhbGwtYXN5bmMKICAgICAgJ3dlYmxvZ2dlci1oYW5kbGUtd2VibG9nLXBpbmctcmVzcG9uc2UK ICAgICAgdXJsCiAgICAgICd3ZWJsb2dVcGRhdGVzLnBpbmcKICAgICAgKHdlYmxvZ2dlci13ZWJs b2ctbmFtZS1mcm9tLWlkIAogICAgICAgKG9yIGlkIHdlYmxvZ2dlci13ZWJsb2ctaWQpCQkJCSkK ICAgICAgKHdlYmxvZ2dlci1zZXJ2ZXItdXJsLWZyb20taWQgCiAgICAgICAob3IgaWQgd2VibG9n Z2VyLXdlYmxvZy1pZCkpKSkKICAgd2VibG9nZ2VyLXBpbmctdXJscykpCgooZGVmdW4gd2VibG9n Z2VyLWhhbmRsZS13ZWJsb2ctcGluZy1yZXNwb25zZSAoJm9wdGlvbmFsIHJlc3ApCiAgIkhhbmRs ZSB0aGUgcmVzcG9uc2UgZnJvbSBhIHdlYmxvZyBwaW5nLiAgUHJpbnQgYSBlbnRyeSB3aXRoIHRo ZSByZXN1bHQuCgpGb3Igb2xkIHczLmVsLCByZXNwIGlzIGV4cGVjdGVkLiAgT3RoZXJ3aXNlIGN1 cnJlbnQtYnVmZmVyIGlzIGV4cGVjdGVkIHRvCmNvbnRhaW4gdGhlIGh0dHAgcmVzdWx0LiIKICAo aWYgcmVzcAogICAgICAobWVzc2FnZSAoY2RyIChhc3NvYyAibWVzc2FnZSIgKGNkciByZXNwKSkp KQogICAgKG1lc3NhZ2UgKGNkciAKCSAgICAgIChhc3NvYyAibWVzc2FnZSIgCgkJICAgICAoY2Ry IAoJCSAgICAgICh4bWwtcnBjLXhtbC10by1yZXNwb25zZQoJCSAgICAgICAoeG1sLXJwYy1yZXF1 ZXN0LXByb2Nlc3MtYnVmZmVyIChjdXJyZW50LWJ1ZmZlcikpKSkpKSkpKQoKKGRlZnVuIHdlYmxv Z2dlci1nb3RvLWVudHJ5IChudW0gJm9wdGlvbmFsIHJlbGF0aXZlcCkKICAiTW92ZSB0byB0aGUg ZW50cnkgaWRlbnRpZmllZCBieSBOVU0gaW4gdGhlIHJpbmcuICBJZiBSRUxBVElWRQppcyBzZXQs IHRoZW4gYWRkIGl0IHRvIHRoZSBjdXJyZW50IGluZGV4IGFuZCBnbyB0byB0aGF0IGVudHJ5LiIK ICAoaWYgKGJ1ZmZlci1tb2RpZmllZC1wKQogICAgICAod2VibG9nZ2VyLXNhdmUtZW50cnkgbmls IG5pbCkpCiAgKHVubGVzcyB3ZWJsb2dnZXItZW50cnktbGlzdAogICAgKHdlYmxvZ2dlci1hcGkt bGlzdC1lbnRyaWVzIHdlYmxvZ2dlci1tYXgtZW50cmllcy1pbi1yaW5nKSkKICAobGV0ICgoZW50 cnktaWQgKGlmIHJlbGF0aXZlcAoJCSAgICAoKyAoaWYgd2VibG9nZ2VyLXJpbmctaW5kZXggd2Vi bG9nZ2VyLXJpbmctaW5kZXggCgkJCSAtMSkKCQkgICAgICAgbnVtKQoJCSAgbnVtKSkpCiAgICAo c2V0cSB3ZWJsb2dnZXItcmluZy1pbmRleCBlbnRyeS1pZCkpCiAgKGlmIChyaW5nLWVtcHR5LXAg d2VibG9nZ2VyLWVudHJ5LXJpbmcpCiAgICAgICh3ZWJsb2dnZXItYXBpLWxpc3QtZW50cmllcyB3 ZWJsb2dnZXItbWF4LWVudHJpZXMtaW4tcmluZykpCiAgKHdlYmxvZ2dlci1lZGl0LWVudHJ5CiAg IChyaW5nLXJlZiB3ZWJsb2dnZXItZW50cnktcmluZyB3ZWJsb2dnZXItcmluZy1pbmRleCkpKQoK KGRlZnVuIHdlYmxvZ2dlci1uZXh0LWVudHJ5ICgpCiAgIkVkaXQgdGhlIGNvbnRlbnRzIG9mIHRo ZSBuZXh0IGVudHJ5LiIKICAoaW50ZXJhY3RpdmUpCiAgKHdlYmxvZ2dlci1nb3RvLWVudHJ5IC0x IHQpKQoKKGRlZnVuIHdlYmxvZ2dlci1wcmV2LWVudHJ5ICgpCiAgIkVkaXQgdGhlIGNvbnRlbnRz IG9mIHRoZSBwcmV2aW91cyBlbnRyeS4iCiAgKGludGVyYWN0aXZlKQogICh3ZWJsb2dnZXItZ290 by1lbnRyeSArMSB0KSkKCihkZWZ1biB3ZWJsb2dnZXItZGVsZXRlLWVudHJ5ICgpCiAgIkRlbGV0 ZSB0aGUgZW50cnkuIgogIChpbnRlcmFjdGl2ZSkKICAodW5sZXNzIHdlYmxvZ2dlci1yaW5nLWlu ZGV4CiAgICAobWVzc2FnZSAiWW91IG11c3QgaGF2ZSBhbiBlbnRyeSBsb2FkZWQgZmlyc3QuIikp CiAgKGlmICh5LW9yLW4tcCAiRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGVudHJ5 PyAiKQogICAgICAobGV0KiAoKG1zZ2lkIChjZHIgCgkJICAgICAoYXNzb2MgImVudHJ5LWlkIiAK CQkJICAgIChyaW5nLXJlZiB3ZWJsb2dnZXItZW50cnktcmluZyAKCQkJCSAgICAgIHdlYmxvZ2dl ci1yaW5nLWluZGV4KSkpKSkKCSh4bWwtcnBjLW1ldGhvZC1jYWxsCgkgd2VibG9nZ2VyLXNlcnZl ci11cmwKCSAnYmxvZ2dlci5kZWxldGVQb3N0Cgkgd2VibG9nZ2VyLWJsb2dnZXItYXBwLWtleQoJ IG1zZ2lkCgkgKHdlYmxvZ2dlci1zZXJ2ZXItdXNlcm5hbWUpCgkgKHdlYmxvZ2dlci1zZXJ2ZXIt cGFzc3dvcmQpCgkgdCkpCiAgICAocmluZy1yZW1vdmUgd2VibG9nZ2VyLWVudHJ5LXJpbmcgd2Vi bG9nZ2VyLXJpbmctaW5kZXgpCiAgICAod2VibG9nZ2VyLWVkaXQtZW50cnkKICAgICAocmluZy1y ZWYgd2VibG9nZ2VyLWVudHJ5LXJpbmcgd2VibG9nZ2VyLXJpbmctaW5kZXgpKSkpCgooZGVmdW4g d2VibG9nZ2VyLWFwaS1ibG9nZ2VyLWxpc3QtY2F0ZWdvcmllcyAoKQogICJSZXR1cm4gYSBsaXN0 IG9mIGNhdGVnb3JpZXMgdGhhdCB0aGUgd2VibG9nIHNlcnZlciBoYXMuIChOb3Qgc3VwcG9ydGVk IHlldCkiCiAgKHNldHEgd2VibG9nZ2VyLWNhdGVnb3J5LWxpc3QgbmlsKSkKCihkZWZ1biB3ZWJs b2dnZXItYXBpLWJsb2dnZXItbGlzdC1lbnRyaWVzICgmb3B0aW9uYWwgY291bnQpCiAgIlJldHVy biBhIGxpc3Qgb2YgZW50cmllcyB0aGF0IHRoZSB3ZWJsb2cgc2VydmVyIGhhcy4gIENPVU5UIHNw ZWNpZmllcwpob3cgbWFueSBvZiB0aGUgbW9zdCByZWNlbnQgZW50cmllcyB0byBnZXQuICBJZiBD T1VOVCBpcyBub3QKc3BlY2lmaWVkLCB0aGVuIHRoZSBkZWZhdWx0IGlzIHdlYmxvZ2dlci1tYXgt ZW50cmllcy1pbi1yaW5nLiIKICAoc2V0cSB3ZWJsb2dnZXItZW50cnktbGlzdCAKCShtYXBjYXIg CgkgKGxhbWJkYSAoZW50cnkpCgkgICAocmluZy1pbnNlcnQtYXQtYmVnaW5uaW5nIHdlYmxvZ2dl ci1lbnRyeS1yaW5nCgkJCQkgICAgICh3ZWJsb2dnZXItcmVzcG9uc2UtdG8tc3RydWN0IGVudHJ5 KSkpCgkgKHhtbC1ycGMtbWV0aG9kLWNhbGwKCSAgd2VibG9nZ2VyLXNlcnZlci11cmwKCSAgJ2Js b2dnZXIuZ2V0UmVjZW50UG9zdHMKCSAgd2VibG9nZ2VyLWJsb2dnZXItYXBwLWtleQoJICAod2Vi bG9nZ2VyLXdlYmxvZy1pZCkKCSAgKHdlYmxvZ2dlci1zZXJ2ZXItdXNlcm5hbWUpCgkgICh3ZWJs b2dnZXItc2VydmVyLXBhc3N3b3JkKQoJICAob3IgY291bnQgd2VibG9nZ2VyLW1heC1lbnRyaWVz LWluLXJpbmcpKSkpKQoKKGRlZnVuIHdlYmxvZ2dlci1hcGktbWV0YS1saXN0LWNhdGVnb3JpZXMg KCkKICAiUmV0dXJuIGEgbGlzdCBvZiBlbnRyaWVzIHRoYXQgdGhlIHdlYmxvZyBzZXJ2ZXIgaGFz LiIKICAoc2V0cSB3ZWJsb2dnZXItY2F0ZWdvcnktbGlzdAoJKG1hcGNhciAKCSAobGFtYmRhIChj YXRlZ29yeSkKCSAgIChyaW5nLWluc2VydC1hdC1iZWdpbm5pbmcKICAgICAgICAgICAgd2VibG9n Z2VyLWNhdGVnb3J5LXJpbmcgKGNkciAoYXNzb2MgImNhdGVnb3J5TmFtZSIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnkpKSkpCgkgKHhtbC1y cGMtbWV0aG9kLWNhbGwKCSAgd2VibG9nZ2VyLXNlcnZlci11cmwKCSAgJ21ldGFXZWJsb2cuZ2V0 Q2F0ZWdvcmllcwoJICAod2VibG9nZ2VyLXdlYmxvZy1pZCkKCSAgKHdlYmxvZ2dlci1zZXJ2ZXIt dXNlcm5hbWUpCgkgICh3ZWJsb2dnZXItc2VydmVyLXBhc3N3b3JkKQoJICApKSkpCgooZGVmdW4g d2VibG9nZ2VyLWFwaS1tZXRhLWxpc3QtZW50cmllcyAoJm9wdGlvbmFsIGNvdW50KQogICJSZXR1 cm4gYSBsaXN0IG9mIGVudHJpZXMgdGhhdCB0aGUgd2VibG9nIHNlcnZlciBoYXMuICBDT1VOVCBz cGVjaWZpZXMKaG93IG1hbnkgb2YgdGhlIG1vc3QgcmVjZW50IGVudHJpZXMgdG8gZ2V0LiAgSWYg Q09VTlQgaXMgbm90CnNwZWNpZmllZCwgdGhlbiB0aGUgZGVmYXVsdCBpcyB3ZWJsb2dnZXItbWF4 LWVudHJpZXMtaW4tcmluZy4iCiAgKHNldHEgd2VibG9nZ2VyLWVudHJ5LWxpc3QgCgkobWFwY2Fy IAoJIChsYW1iZGEgKGVudHJ5KQoJICAgKHJpbmctaW5zZXJ0LWF0LWJlZ2lubmluZyAgd2VibG9n Z2VyLWVudHJ5LXJpbmcKCQkJCSAgICAgICh3ZWJsb2dnZXItcmVzcG9uc2UtdG8tc3RydWN0IGVu dHJ5KSkpCgkgKHhtbC1ycGMtbWV0aG9kLWNhbGwKCSAgd2VibG9nZ2VyLXNlcnZlci11cmwKCSAg J21ldGFXZWJsb2cuZ2V0UmVjZW50UG9zdHMKCSAgKHdlYmxvZ2dlci13ZWJsb2ctaWQpCgkgICh3 ZWJsb2dnZXItc2VydmVyLXVzZXJuYW1lKQoJICAod2VibG9nZ2VyLXNlcnZlci1wYXNzd29yZCkK CSAgKG9yIGNvdW50IHdlYmxvZ2dlci1tYXgtZW50cmllcy1pbi1yaW5nKSkpKSkKCihkZWZ1biB3 ZWJsb2dnZXItZWRpdC1lbnRyeSAoJm9wdGlvbmFsIGVudHJ5KQogICJFZGl0IGEgZW50cnkuICBJ ZiBFTlRSWSBpcyBzcGVjaWZpZWQsIHRoZW4gdXNlIHRoYXQgZW50cnkuCk90aGVyd2lzZSwgb3Bl biBhIG5ldyBlbnRyeS4iCiAgKHNldHEgKndlYmxvZ2dlci1lbnRyeSogKHN3aXRjaC10by1idWZm ZXIgIip3ZWJsb2dnZXItZW50cnkqIikpCiAgKHNldHEgYnVmZmVyLXJlYWQtb25seSBuaWwpCiAg KHdlYmxvZ2dlci1lbnRyeS1tb2RlKQogIChlcmFzZS1idWZmZXIpCiAgKHdlYmxvZ2dlci1lbnRy eS1zZXR1cC1oZWFkZXJzIGVudHJ5IHQpCiAgKGlmIChhbmQgZW50cnkgKGNkciAoYXNzb2MgImNv bnRlbnQiIGVudHJ5KSkpCiAgICAgIChpbnNlcnQgKGNkciAoYXNzb2MgImNvbnRlbnQiIGVudHJ5 KSkpKQogIChydW4taG9va3MgJ3dlYmxvZ2dlci1zdGFydC1lZGl0LWVudHJ5LWhvb2spCiAgKHNl dC1idWZmZXItbW9kaWZpZWQtcCBuaWwpCiAgOyhtZXNzYWdlLWdvdG8ta2V5d29yZHMpICAgOzsg Q3JlYXRlIEtleXdvcmRzIGZpZWxkIGluIG5ldyBlbnRyaWVzCiAgKG1lc3NhZ2UtZ290by1DYXRl Z29yaWVzKQogIChtZXNzYWdlLWdvdG8tVGFncykKICAoaWYgKG5vdCAoYW5kIGVudHJ5IChjZHIg KGFzc29jICJ1cmwiIGVudHJ5KSkpKQogICAgICAobWVzc2FnZS1nb3RvLVBlcm1saW5rKSkKICAo aWYgKG1lc3NhZ2UtZmV0Y2gtZmllbGQgIlN1YmplY3QiKQogICAgICAobWVzc2FnZS1nb3RvLWJv ZHkpICAgOzsgSWYgU3ViamVjdCBleGlzdHMsIG1vdmUgY3Vyc29yIHRvIG1lc3NhZ2UgYm9keQog ICAgKG1lc3NhZ2UtZ290by1zdWJqZWN0KSkgOzsgRWxzZSwgZHJvcCBjdXJzb3Igb24gU3ViamVj dCBoZWFkZXIKICAobWVzc2FnZS1mZXRjaC1maWVsZCAiUGVybWxpbmsiKQogIChtZXNzYWdlLWZl dGNoLWZpZWxkICJUYWdzIikKICAobWVzc2FnZS1mZXRjaC1maWVsZCAiQ2F0ZWdvcmllcyIpCiAg KHBvcC10by1idWZmZXIgKndlYmxvZ2dlci1lbnRyeSopKQoKKGRlZnVuIHdlYmxvZ2dlci1yZXNw b25zZS10by1zdHJ1Y3QgKHJlc3BvbnNlKQogICJDb252ZXJ0IHRoZSByZXN1bHQgb2YgdGhlIHht bC1ycGMgY2FsbCB0byBhIHN0cnVjdHVyZSB3ZQpsaWtlLiIKICAobGV0ICgocG9zdGlkICAgICAg KGNkciAoYXNzb2MtaWdub3JlLWNhc2UgInBvc3RpZCIgcmVzcG9uc2UpKSkKCShhdXRob3JOYW1l ICAoY2RyIChhc3NvYy1pZ25vcmUtY2FzZSAiYXV0aG9ybmFtZSIgcmVzcG9uc2UpKSkKCShhdXRo b3JJRCAgICAoY2RyIChhc3NvYy1pZ25vcmUtY2FzZSAiYXV0aG9yaWQiIHJlc3BvbnNlKSkpCgko dXNlcmlkICAgICAgKGNkciAoYXNzb2MtaWdub3JlLWNhc2UgInVzZXJpZCIgcmVzcG9uc2UpKSkK CSh0aXRsZSAgICAgICAoY2RyIChhc3NvYy1pZ25vcmUtY2FzZSAidGl0bGUiIHJlc3BvbnNlKSkp CgkoZGF0ZUNyZWF0ZWQgKGNkciAoYXNzb2MtaWdub3JlLWNhc2UgImRhdGVjcmVhdGVkIiByZXNw b25zZSkpKQoJKGNvbnRlbnQgICAgICAgICAgKGFzc29jLWlnbm9yZS1jYXNlICJjb250ZW50IiBy ZXNwb25zZSkpCgkodHJhY2tiYWNrcyAgKGNkciAoYXNzb2MtaWdub3JlLWNhc2UgIm10X3RiX3Bp bmdfdXJscyIgcmVzcG9uc2UpKSkKCSh0ZXh0VHlwZSAgICAoY2RyIChhc3NvYy1pZ25vcmUtY2Fz ZSAibXRfY29udmVydF9icmVha3MiIHJlc3BvbnNlKSkpCgkodXJsICAgICAgICAgKGNkciAoYXNz b2MtaWdub3JlLWNhc2UgImxpbmsiIHJlc3BvbnNlKSkpCgkod3Bfc2x1ZyAgICAgICAgIChjZHIg KGFzc29jLWlnbm9yZS1jYXNlICJ3cF9zbHVnIiByZXNwb25zZSkpKQoJKGRlc2NyaXB0aW9uIChh c3NvYy1pZ25vcmUtY2FzZSAiZGVzY3JpcHRpb24iIHJlc3BvbnNlKSkKCShleHRlbmRlZCAgICAg KGFzc29jLWlnbm9yZS1jYXNlICJtdF90ZXh0X21vcmUiIHJlc3BvbnNlKSkKCShtdF9rZXl3b3Jk cyAgICAgICAgKGNkciAoYXNzb2MtaWdub3JlLWNhc2UgIm10X2tleXdvcmRzIiByZXNwb25zZSkp KQoJKGNhdGVnb3JpZXMgIChjZHIgKGFzc29jLWlnbm9yZS1jYXNlICJjYXRlZ29yaWVzIiByZXNw b25zZSkpKSkKICAgIAogICAgKGNvbmQgKGNvbnRlbnQKCSAgIChkZWxxIG5pbCAobGlzdAoJCSAg ICAgICh3aGVuIHBvc3RpZAoJCQkoY29ucyAiZW50cnktaWQiICAgICBwb3N0aWQpKQoJCSAgICAg IChpZiB0aXRsZQoJCQkgIChjb25zICJ0aXRsZSIgICAgICAgIHRpdGxlKQoJCQk7OyBTZWUgaWYg d2UgY2FuIGV4dHJhY3QgdGhlIHRpdGxlIGZyb20gdGhlIGZpcnN0IGxpbmUgb2YgdGhlCgkJCTs7 IG1lc3NhZ2UgYm9keSBpZiBpdCB3YXNuJ3QgaW4gYSBoZWFkZXIuCgkJCSh3aGVuIChhbmQgd2Vi bG9nZ2VyLWJsb2dnZXItZmlyc3RsaW5lLXRpdGxlCgkJCQkgICAoc3RyaW5nLW1hdGNoICJePHRp dGxlPlxcKC4qXFwpPC90aXRsZT4uKlxuIiAoY2RyIGNvbnRlbnQpKSkKCQkJICAoc2V0cSB0aXRs ZSAobWF0Y2gtc3RyaW5nIDEgKGNkciBjb250ZW50KSkpCgkJCSAgKHNldGNkciBjb250ZW50CgkJ CQkgICh3aXRoLXRlbXAtYnVmZmVyCgkJCQkgICAgKGluc2VydCAoY2RyIGNvbnRlbnQpKQoJCQkJ ICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCjsJCQkJICAgIChyZXBsYWNlLXN0cmluZyAobWF0 Y2gtc3RyaW5nIDAgKGNkciBjb250ZW50KSkgIiIpCiAgICAgICAgICAgICAgICAgICAgKHdoaWxl IChhbmQgKG5vdCAoc3RyaW5nPSAiIiAobWF0Y2gtc3RyaW5nIDAgKGNkciBjb250ZW50KSkpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWFyY2gtZm9yd2FyZCAobWF0Y2gtc3Ry aW5nIDAgKGNkciBjb250ZW50KSkgbmlsIHQpKQogICAgICAgICAgICAgICAgICAgICAgKHJlcGxh Y2UtbWF0Y2ggIiIgbmlsIHQpKQoJCQkJICAgIChidWZmZXItc3RyaW5nKSkpCgkJCSAgKGNvbnMg InRpdGxlIiB0aXRsZSkpKQoJCSAgICAgICh3aGVuIGF1dGhvck5hbWUKCQkJKGNvbnMgImF1dGhv ck5hbWUiICAgYXV0aG9yTmFtZSkpCgkJICAgICAgKHdoZW4gdXNlcmlkCgkJCShjb25zICJ1c2Vy aWQiICAgICAgIHVzZXJpZCkpCgkJICAgICAgKHdoZW4gZGF0ZUNyZWF0ZWQKCQkJKGNvbnMgImRh dGVDcmVhdGVkIiAgZGF0ZUNyZWF0ZWQpKQoJCSAgICAgICh3aGVuIGNvbnRlbnQKCQkJKGNvbnMg ImNvbnRlbnQiICAgICAgKGNkciBjb250ZW50KSkpKSkpCgkgIChkZXNjcmlwdGlvbgoJICAgKGRl bHEgbmlsIChsaXN0CgkJICAgICAgKHdoZW4gYXV0aG9yTmFtZQoJCQkoY29ucyAiYXV0aG9yTmFt ZSIgICBhdXRob3JOYW1lKSkKCQkgICAgICAod2hlbiBwb3N0aWQKCQkJKGNvbnMgImVudHJ5LWlk IiAgICAgcG9zdGlkKSkKCQkgICAgICAod2hlbiB0cmFja2JhY2tzCgkJCShjb25zICJ0cmFja2Jh Y2tzIiAgIHRyYWNrYmFja3MpKQoJCSAgICAgICh3aGVuIGRlc2NyaXB0aW9uCgkJCShjb25kICgo Y2RyIGV4dGVuZGVkKQoJCQkgIChjb25zICJjb250ZW50IiAgIChjb25jYXQgKGNkciBkZXNjcmlw dGlvbikKCQkJICAgICI8IS0tbW9yZS0tPiIKCQkJICAgIChjZHIgZXh0ZW5kZWQpKSkpCgkJCSAg KHQgCgkJCSAgICAoY29ucyAiY29udGVudCIgKGNkciBkZXNjcmlwdGlvbikpKSkpCgkJICAgICAg KHdoZW4gdGl0bGUKCQkJKGNvbnMgInRpdGxlIiAgICAgICAgdGl0bGUpKQoJCSAgICAgICh3aGVu IHVybAoJCQkoY29ucyAidXJsIiAgICAgICAgICB1cmwpKQogICAgICAgICAgICAgICh3aGVuIHdw X3NsdWcKICAgICAgICAgICAgKGNvbnMgIndwX3NsdWciICAgICB3cF9zbHVnKSkKCQkgICAgICAo d2hlbiBkYXRlQ3JlYXRlZAoJCQkoY29ucyAiZGF0ZUNyZWF0ZWQiICBkYXRlQ3JlYXRlZCkpCgkJ ICAgICAgKHdoZW4gY2F0ZWdvcmllcwoJCQkoY29ucyAiY2F0ZWdvcmllcyIgICBjYXRlZ29yaWVz KSkKCQkgICAgICAod2hlbiBtdF9rZXl3b3JkcwoJCQkoY29ucyAibXRfa2V5d29yZHMiICAgbXRf a2V5d29yZHMpKQoJCSAgICAgICh3aGVuIHRleHRUeXBlCgkJCShjb25zICJ0ZXh0dHlwZSIgICAg IHRleHRUeXBlKSkpKSkKCSAgKHQKCSAgIChlcnJvciAiYm9nb3NpdHkhIikpKSkpCgooZGVmdW4g d2VibG9nZ2VyLXN0cnVjdC10by1yZXF1ZXN0IChlbnRyeSkKICAiQ29udmVydCB0aGUgc3RydWN0 IHRvIHNvbWV0aGluZyB0aGF0IGNhbiBiZSB1c2VkIGluIGFuIHhtbC1ycGMgcmVxdWVzdC4iCiAg KGRlbHEgbmlsCgkobGlzdAoJIChhc3NvYyAidGl0bGUiICAgICAgICBlbnRyeSkKCSAoYXNzb2Mg ImF1dGhvck5hbWUiICAgZW50cnkpCgkgKGFzc29jICJ1c2VyaWQiICAgICAgIGVudHJ5KQoJIChh c3NvYyAiZGF0ZUNyZWF0ZWQiICBlbnRyeSkKCSAoY29ucyAibXRfdGJfcGluZ191cmxzIiAgIChj ZHIgKGFzc29jICJ0cmFja2JhY2tzIiAgZW50cnkpKSkKCSAoY29ucyAibXRfY29udmVydF9icmVh a3MiICh3ZWJsb2dnZXItdGV4dHR5cGUtaWQtZnJvbS1uYW1lCgkJCQkgICAgKGNkciAoYXNzb2Mg InRleHR0eXBlIiAgICBlbnRyeSkpKSkKCSAoY29ucyAibGluayIgICAgICAgICAgICAgIChjZHIg KGFzc29jICJ1cmwiICAgICAgICAgZW50cnkpKSkKCSAoY29ucyAid3Bfc2x1ZyIgICAgICAgICAg ICAgIChjZHIgKGFzc29jICJ3cF9zbHVnIiAgICAgICAgIGVudHJ5KSkpCgkgKGNvbnMgImRlc2Ny aXB0aW9uIiAgICAgICAoY2RyIChhc3NvYyAiY29udGVudCIgICAgIGVudHJ5KSkpCgkgKGNvbnMg ImNhdGVnb3JpZXMiICAgICAgICAoY2RyIChhc3NvYyAiY2F0ZWdvcmllcyIgICAgIGVudHJ5KSkp CgkgKGNvbnMgIm10X2tleXdvcmRzIiAgICAgICAoY2RyIChhc3NvYyAibXRfa2V5d29yZHMiICAg ICAgICAgZW50cnkpKSkpKSkKCihkZWZ1biB3ZWJsb2dnZXItc2VydmVyLXVzZXJpZCAoKQogICJH ZXQgaW5mb3JtYXRpb24gb24gdXNlci4iCiAgKG9yIHdlYmxvZ2dlci1zZXJ2ZXItdXNlcmlkCiAg ICAgIChzZXRxIHdlYmxvZ2dlci1zZXJ2ZXItdXNlcmlkIAoJICAgIChjZHIKCSAgICAgKGFzc29j ICJ1c2VyaWQiCgkJICAgICh4bWwtcnBjLW1ldGhvZC1jYWxsCgkJICAgICB3ZWJsb2dnZXItc2Vy dmVyLXVybAoJCSAgICAgJ2Jsb2dnZXIuZ2V0VXNlckluZm8KCQkgICAgIHdlYmxvZ2dlci1ibG9n Z2VyLWFwcC1rZXkKCQkgICAgICh3ZWJsb2dnZXItc2VydmVyLXVzZXJuYW1lKQoJCSAgICAgKHdl YmxvZ2dlci1zZXJ2ZXItcGFzc3dvcmQpKSkpKSkpCgooZGVmdW4gd2VibG9nZ2VyLWZldGNoLWVu dHJpZXMgKCkKICAiU3luYyB0aGUgZW50cnkgcmluZyB3aXRoIHdoYXQgaXMgb24gdGhlIHdlYmxv ZyBzZXJ2ZXIuIgogIChpbnRlcmFjdGl2ZSkKICAoc2V0cSB3ZWJsb2dnZXItZW50cnktcmluZyAo bWFrZS1yaW5nIHdlYmxvZ2dlci1tYXgtZW50cmllcy1pbi1yaW5nKSkKICAoc2V0cSB3ZWJsb2dn ZXItY2F0ZWdvcnktcmluZyAobWFrZS1yaW5nIDIwKSkKICAod2VibG9nZ2VyLWFwaS1saXN0LWNh dGVnb3JpZXMpCiAgKHdlYmxvZ2dlci1hcGktbGlzdC1lbnRyaWVzIHdlYmxvZ2dlci1tYXgtZW50 cmllcy1pbi1yaW5nKQogIChzZXRxIHdlYmxvZ2dlci1yaW5nLWluZGV4IDApCiAgKHdlYmxvZ2dl ci1lZGl0LWVudHJ5CiAgIChyaW5nLXJlZiB3ZWJsb2dnZXItZW50cnktcmluZyB3ZWJsb2dnZXIt cmluZy1pbmRleCkpKQoKKGRlZnVuIHdlYmxvZ2dlci1kZXRlcm1pbmUtY2FwYWJpbGl0aWVzICgp CiAgIkRldGVybWluZSB0aGUgY2FwYWJpbGl0aWVzIG9mIHRoZSByZW1vdGUgd2VibG9nIHNlcnZl ci4iCiAgKHNldHEgd2VibG9nZ2VyLWNhcGFiaWxpdGllcyB3ZWJsb2dnZXItbm8tY2FwYWJpbGl0 aWVzKQogIChsZXQgKChoYXMtbWV0YS1hcGkgdCkKCShoYXMtbXQtYXBpIHQpCgkoaGFzLWJsb2dn ZXItYXBpIHQpKQogICAgKGNvbmRpdGlvbi1jYXNlIG5pbAoJKHByb2duIChtYXBjCgkJKGxhbWJk YSAobWV0aG9kKQoJCSAgKGFuZCAoYXNzb2MgbWV0aG9kIHdlYmxvZ2dlci1jYXBhYmlsaXRpZXMp IAoJCSAgICAgICAoc2V0Y2RyIChhc3NvYyBtZXRob2Qgd2VibG9nZ2VyLWNhcGFiaWxpdGllcykg dCkpKQoJCSh4bWwtcnBjLW1ldGhvZC1jYWxsCgkJIHdlYmxvZ2dlci1zZXJ2ZXItdXJsCgkJICdt dC5zdXBwb3J0ZWRNZXRob2RzKSkpCiAgICAgIChlcnJvciAoc2V0cSBoYXMtbXQtYXBpIG5pbCkp KSkKICAoY29uZCAoKGNkciAoYXNzb2MgIm1ldGFXZWJsb2cuZWRpdFBvc3QiIHdlYmxvZ2dlci1j YXBhYmlsaXRpZXMpKQoJIChzZXRxIHdlYmxvZ2dlci1hcGktc2VuZC1lZGl0cyAnd2VibG9nZ2Vy LWFwaS1tZXRhLXNlbmQtZWRpdHMpKQoJKHQKCSAoc2V0cSB3ZWJsb2dnZXItYXBpLXNlbmQtZWRp dHMgJ3dlYmxvZ2dlci1hcGktYmxvZ2dlci1zZW5kLWVkaXRzKSkpCiAgKGNvbmQgKChjZHIgKGFz c29jICJtZXRhV2VibG9nLm5ld1Bvc3QiIHdlYmxvZ2dlci1jYXBhYmlsaXRpZXMpKQoJIChzZXRx IHdlYmxvZ2dlci1hcGktbmV3LWVudHJ5ICd3ZWJsb2dnZXItYXBpLW1ldGEtbmV3LWVudHJ5KSkK CSh0CgkgKHNldHEgd2VibG9nZ2VyLWFwaS1uZXctZW50cnkgJ3dlYmxvZ2dlci1hcGktYmxvZ2dl ci1uZXctZW50cnkpKSkKICAoY29uZCAoKGNkciAoYXNzb2MgIm1ldGFXZWJsb2cuZ2V0Q2F0ZWdv cmllcyIgd2VibG9nZ2VyLWNhcGFiaWxpdGllcykpCgkgKHNldHEgd2VibG9nZ2VyLWFwaS1saXN0 LWNhdGVnb3JpZXMKICAgICAgICAgICAgICAgJ3dlYmxvZ2dlci1hcGktbWV0YS1saXN0LWNhdGVn b3JpZXMpKQoJKHQKCSAoc2V0cSB3ZWJsb2dnZXItYXBpLWxpc3QtY2F0ZWdvcmllcwogICAgICAg ICAgICAgICAnd2VibG9nZ2VyLWFwaS1ibG9nZ2VyLWxpc3QtY2F0ZWdvcmllcykpKQogIChjb25k ICgoY2RyIChhc3NvYyAibWV0YVdlYmxvZy5nZXRSZWNlbnRQb3N0cyIgd2VibG9nZ2VyLWNhcGFi aWxpdGllcykpCgkgKHNldHEgd2VibG9nZ2VyLWFwaS1saXN0LWVudHJpZXMgJ3dlYmxvZ2dlci1h cGktbWV0YS1saXN0LWVudHJpZXMpKQoJKHQKCSAoc2V0cSB3ZWJsb2dnZXItYXBpLWxpc3QtZW50 cmllcwogICAgICAgICAgICAgICAnd2VibG9nZ2VyLWFwaS1ibG9nZ2VyLWxpc3QtZW50cmllcykp KSkKCihkZWZ1biB3ZWJsb2dnZXItZW50cnktYnVmZmVyLXRvLXN0cnVjdCAoJm9wdGlvbmFsIGVu Y29kZSBidWZmZXIpCiAgIkNvbnZlcnQgYW4gZW50cnkgQlVGRkVSIHRvIGEgc3RydWN0ICh3aGlj aCBpcyB0aGVuIHVzZWQKaW50ZXJuYWxseSkuICBJZiBCVUZGRVIgaXMgbm90IGdpdmVuLCB1c2Ug dGhlIGN1cnJlbnQgYnVmZmVyLiIKICAodW5sZXNzIGJ1ZmZlcgogICAgKHNldHEgYnVmZmVyIChj dXJyZW50LWJ1ZmZlcikpKQogIChzYXZlLWV4Y3Vyc2lvbgogICAgKHNldC1idWZmZXIgYnVmZmVy KQogICAgKGRlbHEgbmlsIAoJICAobGlzdAoJICAgKGNvbnMgImF1dGhvck5hbWUiICAgKG1lc3Nh Z2UtZmV0Y2gtZmllbGQgIkZyb20iKSkKCSAgIChjb25zICJkYXRlQ3JlYXRlZCIgIChtZXNzYWdl LWZldGNoLWZpZWxkICJEYXRlIikpCgkgICAoY29ucyAidGV4dHR5cGUiICAgICAgKG1lc3NhZ2Ut ZmV0Y2gtZmllbGQgIlgtVGV4dFR5cGUiKSkKCSAgIChjb25zICJ1cmwiICAgICAgICAgICAobWVz c2FnZS1mZXRjaC1maWVsZCAiWC1VcmwiKSkKCSAgIChjb25zICJ3cF9zbHVnIiAgICAgICAgICAg KG1lc3NhZ2UtZmV0Y2gtZmllbGQgIlBlcm1saW5rIikpCgkgICAoY29ucyAidGl0bGUiICAgICAo b3IgKG1lc3NhZ2UtZmV0Y2gtZmllbGQgIlN1YmplY3QiKSAKCQkJCSB3ZWJsb2dnZXItZGVmYXVs dC10aXRsZSkpCgkgICAoY29ucyAiY2F0ZWdvcmllcyIgICh2Y29uY2F0IChvciAobWVzc2FnZS10 b2tlbml6ZS1oZWFkZXIgCgkJCQkgKG1lc3NhZ2UtZmV0Y2gtZmllbGQgIkNhdGVnb3JpZXMiKSAi LCAiKQoJCQkJd2VibG9nZ2VyLWRlZmF1bHQtY2F0ZWdvcmllcykpKQoJICAgKGNvbnMgIm10X2tl eXdvcmRzIiAgKHZjb25jYXQgKG9yIChtZXNzYWdlLXRva2VuaXplLWhlYWRlciAKCQkJCSAobWVz c2FnZS1mZXRjaC1maWVsZCAiVGFncyIpICIsICIpCgkJCQl3ZWJsb2dnZXItZGVmYXVsdC10YWdz KSkpCgoJICAgKHdoZW4gKG1lc3NhZ2UtZmV0Y2gtZmllbGQgIkluLVJlcGx5LVRvIikKCSAgICAg ICAoY29ucyAidHJhY2tiYWNrcyIgKG9yIChtZXNzYWdlLXRva2VuaXplLWhlYWRlciAKCQkJCSAg IChtZXNzYWdlLWZldGNoLWZpZWxkICJLZXl3b3JkcyIpICIsICIpCgkJCQkgIHdlYmxvZ2dlci1k ZWZhdWx0LWNhdGVnb3JpZXMpKSkKCSAgICh3aGVuIChhbmQgd2VibG9nZ2VyLXJpbmctaW5kZXgK CQkgICAgKD4gKHJpbmctbGVuZ3RoIHdlYmxvZ2dlci1lbnRyeS1yaW5nKSAwKSkKCSAgICAgICAo Y29ucyAiZW50cnktaWQiCgkJICAgICAobGV0ICgobXNnaWQgKG1lc3NhZ2UtZmV0Y2gtZmllbGQg Ik1lc3NhZ2UtSUQiKSkpCgkJICAgICAgIChpZiAoYW5kIG1zZ2lkIChzdHJpbmctbWF0Y2ggIjxc XChbMC05XStcXCkvIiBtc2dpZCkpCgkJCSAgIChtYXRjaC1zdHJpbmcgMSBtc2dpZCkKCQkJIChj ZHIgKGFzc29jICJlbnRyeS1pZCIKCQkJCSAgICAgKHJpbmctcmVmCgkJCQkgICAgICB3ZWJsb2dn ZXItZW50cnktcmluZwoJCQkJICAgICAgd2VibG9nZ2VyLXJpbmctaW5kZXgpKSkpKSkpCgkgICAo Y29ucyAiY29udGVudCIKCQkgKHByb2duCgkJICAgKG1lc3NhZ2UtZ290by1ib2R5KQoJCSAgIChp ZiBlbmNvZGUKCQkgICAgICAgKHVybC1pbnNlcnQtZW50aXRpZXMtaW4tc3RyaW5nCgkJCShidWZm ZXItc3Vic3RyaW5nLW5vLXByb3BlcnRpZXMgKHBvaW50KSAocG9pbnQtbWF4KSkpCiAgICAJICAg ICAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzIChwb2ludCkgKHBvaW50LW1heCkpKSkp KSkpKQoKOzsgVE9ETyAtLSBTdXBwb3J0IGZvciB0b29sYmFyCjs7IChldmFsLXdoZW4tY29tcGls ZSAoZGVmdmFyIHRvb2wtYmFyLW1hcCkpCjs7IChpZiAoZmVhdHVyZXAgJ3hlbWFjcykKOzsgICAg IG5pbAkJCQkJOyBubyBYRW1hY3Mgc3VwcG9ydCBqdXN0IHlldC4KOzsgICAod2hlbiAoYW5kIChm Ym91bmRwICd0b29sLWJhci1hZGQtaXRlbS1mcm9tLW1lbnUpCjs7ICAJICAgICB0b29sLWJhci1t b2RlKQo7OyAgICAgKGRlZnZhciB3ZWJsb2dnZXItdG9vbC1iYXItbWFwCjs7ICAgICAgIChsZXQg KCh0b29sLWJhci1tYXAgKGNvcHkta2V5bWFwIHRvb2wtYmFyLW1hcCkpKQo7OyAgCTs7IFphcCBz b21lIGl0ZW1zIHdoaWNoIGFyZW4ndCBzbyByZWxldmFudCBhbmQgdGFrZSB1cCBzcGFjZS4KOzsg IAkoZG9saXN0IChrZXkgJyhwcmludC1idWZmZXIga2lsbC1idWZmZXIgc2F2ZS1idWZmZXIgd3Jp dGUtZmlsZQo7OyAgCQkJCSAgICBkaXJlZCBvcGVuLWZpbGUpKQo7OyAgCSAgKGRlZmluZS1rZXkg dG9vbC1iYXItbWFwICh2ZWN0b3Iga2V5KSBuaWwpKQogCjs7ICAJKHRvb2wtYmFyLWFkZC1pdGVt LWZyb20tbWVudQo7OyAgCSAnbWVzc2FnZS1zZW5kLWFuZC1leGl0ICJtYWlsX3NlbmQiIG1lc3Nh Z2UtbW9kZS1tYXApCjs7ICAJKHRvb2wtYmFyLWFkZC1pdGVtLWZyb20tbWVudQo7OyAgCSAnbWVz c2FnZS1raWxsLWJ1ZmZlciAiY2xvc2UiIG1lc3NhZ2UtbW9kZS1tYXApCjs7ICAJKHRvb2wtYmFy LWFkZC1pdGVtLWZyb20tbWVudQo7OyAgCSAnbWVzc2FnZS1kb250LXNlbmQgImNhbmNlbCIgbWVz c2FnZS1tb2RlLW1hcCkKOzsgIAkodG9vbC1iYXItYWRkLWl0ZW0tZnJvbS1tZW51Cjs7ICAJICdt bWwtYXR0YWNoLWZpbGUgImF0dGFjaCIgbWVzc2FnZS1tb2RlLW1hcCkKOzsgIAkodG9vbC1iYXIt YWRkLWl0ZW0tZnJvbS1tZW51Cjs7ICAJICdpc3BlbGwtbWVzc2FnZSAic3BlbGwiIG1lc3NhZ2Ut bW9kZS1tYXApCjs7ICAJdG9vbC1iYXItbWFwKSkpKQoKKGRlZnVuIG1lc3NhZ2UtZ290by1QZXJt bGluayAoKQogICJNb3ZlIHBvaW50IHRvIHRoZSBwZXJtbGluayBoZWFkZXIuIgogIChpbnRlcmFj dGl2ZSkKICAobWVzc2FnZS1wb3NpdGlvbi1vbi1maWVsZCAiUGVybWxpbmsiICJTdWJqZWN0Iikp CgooZGVmdW4gbWVzc2FnZS1nb3RvLVRhZ3MgKCkKICAiTW92ZSBwb2ludCB0byB0aGUgdGFncyBo ZWFkZXIuIgogIChpbnRlcmFjdGl2ZSkKICAobWVzc2FnZS1wb3NpdGlvbi1vbi1maWVsZCAiVGFn cyIgIlN1YmplY3QiKSkKCihkZWZ1biBtZXNzYWdlLWdvdG8tQ2F0ZWdvcmllcyAoKQogICJNb3Zl IHBvaW50IHRvIHRoZSBjYXRlZ29yaWVzIGhlYWRlci4iCiAgKGludGVyYWN0aXZlKQogIChtZXNz YWdlLXBvc2l0aW9uLW9uLWZpZWxkICJDYXRlZ29yaWVzIiAiU3ViamVjdCIpKQoKKGRlZnVuIGZp eC1kYXRldGltZS1kZWNyZWFzZS04LWhvdXIgKCBkYXRlICkKICAocHJpbnQgZGF0ZSkKICAoY29u ZAogICAoKHN0cmluZy1tYXRjaAogICAgICJcXChbMC05XVxcezRcXH1cXClcXChbMC05XVswLTld XFwpXFwoWzAtOV1bMC05XVxcKVRcXChbMC05XStcXCk6XFwoWzAtOV0rXFwpOlxcKFswLTldK1xc KSIgZGF0ZSkKICAgIChzZXRxIHllYXIgMSBtb250aCAyIGRheSAzIGhvdXIgNCBtaW4gNSBzZWMg NikpCiAgICkKICAod2hlbiB5ZWFyCiAgICAoc2V0cSB5ZWFyIDEgbW9udGggMiBkYXkgMyBob3Vy IDQgbWluIDUgc2VjIDYpCiAgICAoc2V0cSB5ZWFyCiAgICAgICAgICAobWF0Y2gtc3RyaW5nIHll YXIgZGF0ZSkpCiAgICAoc2V0cSBtb250aAogICAgICAgICAgKG1hdGNoLXN0cmluZyBtb250aCBk YXRlKSkKICAgIChzZXRxIGRheQogICAgICAgICAgKG1hdGNoLXN0cmluZyBkYXkgZGF0ZSkpCiAg ICAoc2V0cSBob3VyCiAgICAgICAgICAobnVtYmVyLXRvLXN0cmluZwogICAgICAgICAgICgrCiAg ICAgICAgICAgIChzdHJpbmctdG8tbnVtYmVyIChtYXRjaC1zdHJpbmcgaG91ciBkYXRlKSkKICAg ICAgICAgICAgLTgpKSkKICAgIChzZXRxIG1pbgogICAgICAgICAgKG1hdGNoLXN0cmluZyBtaW4g ZGF0ZSkpCiAgICAoc2V0cSBzZWMKICAgICAgICAgIChtYXRjaC1zdHJpbmcgc2VjIGRhdGUpKQog ICAgKHNldHEgZGF0ZS1pbnQKICAgICAgICAgIChtYXBjYXIgJ3N0cmluZy10by1udW1iZXIKICAg ICAgICAgICAgICAgICAgKGxpc3Qgc2VjIG1pbiBob3VyIGRheSBtb250aCB5ZWFyKSkpCiAgICAo Zm9ybWF0LXRpbWUtc3RyaW5nICIlWSVtJWRUJUg6JU06JVMiIChhcHBseSAnZW5jb2RlLXRpbWUg ZGF0ZS1pbnQpKQogICAgKQogICkKCihwcm92aWRlICd3ZWJsb2dnZXIpCg== --089e0111ae345e6ead04e4e4e0ea--