From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Wei-Wei Guo Newsgroups: gmane.emacs.bugs Subject: bug#6531: patch for rst.el updated (patch format revised) Date: Mon, 28 Jun 2010 21:58:49 +0800 Message-ID: <4C28AA99.7010900@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040401000902000102010702" X-Trace: dough.gmane.org 1277740888 10896 80.91.229.12 (28 Jun 2010 16:01:28 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 28 Jun 2010 16:01:28 +0000 (UTC) To: 6531@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jun 28 18:01:25 2010 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OTGlT-00049o-V9 for geb-bug-gnu-emacs@m.gmane.org; Mon, 28 Jun 2010 18:01:21 +0200 Original-Received: from localhost ([127.0.0.1]:39018 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OTGlR-0000Iv-B5 for geb-bug-gnu-emacs@m.gmane.org; Mon, 28 Jun 2010 12:00:53 -0400 Original-Received: from [140.186.70.92] (port=46693 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OTGk0-0007yd-AK for bug-gnu-emacs@gnu.org; Mon, 28 Jun 2010 11:59:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OTGjv-00075E-Vi for bug-gnu-emacs@gnu.org; Mon, 28 Jun 2010 11:59:23 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:37253) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OTGjv-000758-S7 for bug-gnu-emacs@gnu.org; Mon, 28 Jun 2010 11:59:19 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1OTGhj-0000yj-Bk; Mon, 28 Jun 2010 11:57:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Wei-Wei Guo Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 28 Jun 2010 15:57:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 6531 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.12777406093741 (code B ref -1); Mon, 28 Jun 2010 15:57:03 +0000 Original-Received: (at submit) by debbugs.gnu.org; 28 Jun 2010 15:56:49 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OTGhT-0000yE-PE for submit@debbugs.gnu.org; Mon, 28 Jun 2010 11:56:49 -0400 Original-Received: from mail.gnu.org ([199.232.76.166] helo=mx10.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OTEi2-00005V-73 for submit@debbugs.gnu.org; Mon, 28 Jun 2010 09:49:18 -0400 Original-Received: from lists.gnu.org ([199.232.76.165]:37594) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1OTEhx-0005Al-9R for submit@debbugs.gnu.org; Mon, 28 Jun 2010 09:49:09 -0400 Original-Received: from [140.186.70.92] (port=48394 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OTEht-0004Nc-Ie for bug-gnu-emacs@gnu.org; Mon, 28 Jun 2010 09:49:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OTEhq-0000jx-6w for bug-gnu-emacs@gnu.org; Mon, 28 Jun 2010 09:49:05 -0400 Original-Received: from mail-pv0-f169.google.com ([74.125.83.169]:47318) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OTEhp-0000jm-KY for bug-gnu-emacs@gnu.org; Mon, 28 Jun 2010 09:49:02 -0400 Original-Received: by pvg11 with SMTP id 11so3519680pvg.0 for ; Mon, 28 Jun 2010 06:49:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:content-type; bh=dU+lcEiZ5a7htDLUsOwSs4ib9hq7f40jBpjAwL2YYDg=; b=xu/TpP8CuITr4Kdnv7Ldl0aW4csg5NZdl32INjZ0sb02BpqC6/vnUzNU98Nv/BEmTN 9/ZPDCAelGKGrNCVtbvomdwfY8/WxhhCMpgblpoolJ+RDi8kGSYNukDofgQj3FuAWQEP nv0TxPKRkN0oA9pFtIn+jisOOblv+0vinIUyw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :content-type; b=oyJJq9q4TiCAn7v9cPdtDg1/tKTmaixNhBpTMYuod7HFgl1j00wZQeU9bfH7oogf2w 9uMnz6mOVwJgJwg5odJqYS9yfL5SDBDcHRWhZZ5nZpr8jfCimYJjl3kQ1kH3gXsbAKA0 ro3mCoy5XaK7R7h+D0ezaEwzPaip3oDvZ4kEM= Original-Received: by 10.142.4.30 with SMTP id 30mr5741340wfd.16.1277732940546; Mon, 28 Jun 2010 06:49:00 -0700 (PDT) Original-Received: from [192.168.0.101] ([124.160.104.140]) by mx.google.com with ESMTPS id h11sm3825267rvm.20.2010.06.28.06.48.57 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 28 Jun 2010 06:48:59 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.9.2.4) Gecko/20100608 Thunderbird/3.1 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Mailman-Approved-At: Mon, 28 Jun 2010 11:56:43 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Mon, 28 Jun 2010 11:57:03 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Mailman-Approved-At: Mon, 28 Jun 2010 11:59:57 -0400 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:38074 Archived-At: This is a multi-part message in MIME format. --------------040401000902000102010702 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Dear all, I just notice the CONTRIBUTE file and find the format of my patch is not right, so I correct it and send the mail again. Sorry for that. I updated my patch for rst.el of Emacs 23. Here are the previous changes: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=1610 The update including: - Insert bullet list by 'M-Enter'. - Insert number list "#." by 'M-Enter' with any prefix. - Insert number list of a specific number of various styles by 'M-Enter" with a number prefix. - Insert directive by 'C-c C-d'. - Insert directive option by 'C-c C-o'. - Remove the dependency on a2r.el. Now all the patched codes are from mine. Hope it's helpful. Best wishes, Wei-Wei --------------040401000902000102010702 Content-Type: text/plain; name="rst.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="rst.patch" KioqIHJzdC5lbC5vbGQJMjAxMC0wNS0xMCAxNTo0OTo0OS4wMDAwMDAwMDAgKzA4MDAKLS0t IHJzdC5lbAkyMDEwLTA2LTI4IDE2OjIyOjA1LjAwMDAwMDAwMCArMDgwMAoqKioqKioqKioq KioqKioKKioqIDM2LDQxICoqKioKLS0tIDM2LDQzIC0tLS0KICA7OyAgIGZyb20gaXQ7CiAg OzsgLSBGdW5jdGlvbnMgdG8gaW5zZXJ0IGFuZCBhdXRvbWF0aWNhbGx5IHVwZGF0ZSBhIFRP QyBpbiB5b3VyIHNvdXJjZQogIDs7ICAgZG9jdW1lbnQ7CisgOzsgLSBGdW5jdGlvbiB0byBp bnNlcnQgbGlzdCwgcHJvY2Vzc2luZyBpdGVtIGJ1bGxldHMgYW5kIGVudW1lcmF0aW9ucyAK KyA7OyAgIGF1dG9tYXRpY2FsbHk7CiAgOzsgLSBGb250LWxvY2sgaGlnaGxpZ2h0aW5nIG9m IG5vdGFibGUgcmVTdHJ1Y3R1cmVkVGV4dCBzdHJ1Y3R1cmVzOwogIDs7IC0gU29tZSBvdGhl ciBjb252ZW5pZW5jZSBmdW5jdGlvbnMuCiAgOzsKKioqKioqKioqKioqKioqCioqKiAxNjYs MTc2ICoqKioKICA7OyAtIG51bWJlcmluZzogYXV0b21hdGljYWxseSBkZXRlY3QgaWYgd2Ug aGF2ZSBhIHNlY3Rpb24tbnVtYmVyaW5nIGRpcmVjdGl2ZSBpbgogIDs7ICAgdGhlIGNvcnJl c3BvbmRpbmcgc2VjdGlvbiwgdG8gcmVuZGVyIHRoZSB0b2MuCiAgOzsKLSA7OyBidWxsZXRl ZCBhbmQgZW51bWVyYXRlZCBsaXN0IGl0ZW1zCi0gOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQotIDs7IC0gV2UgbmVlZCB0byBwcm92aWRlIHdheSB0byByZWJ1bGxl dCBidWxsZXRlZCBsaXN0cywgYW5kIHRoYXQgd291bGQgaW5jbHVkZQotIDs7ICAgYXV0b21h dGljIGVudW1lcmF0aW9uIGFzIHdlbGwuCi0gOzsKICA7OyBPdGhlcgogIDs7IC0tLS0tCiAg OzsgLSBJdCB3b3VsZCBiZSBuaWNlIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiB0ZXh0IGZp bGVzIHVzaW5nCi0tLSAxNjgsMTczIC0tLS0KKioqKioqKioqKioqKioqCioqKiAyMzksMjUy ICoqKioKICAgICAgOzsgU2VjdGlvbiBEZWNvcmF0aW9ucy4KICAgICAgOzsKICAgICAgOzsg VGhlIGFkanVzdG1lbnQgZnVuY3Rpb24gdGhhdCBkZWNvcmF0ZXMgb3Igcm90YXRlcyBhIHNl Y3Rpb24gdGl0bGUuCiEgICAgIChkZWZpbmUta2V5IG1hcCBbKGNvbnRyb2wgYykgKGNvbnRy b2wgYSldICdyc3QtYWRqdXN0KQohICAgICAoZGVmaW5lLWtleSBtYXAgWyhjb250cm9sIGMp IChjb250cm9sID89KV0gJ3JzdC1hZGp1c3QpCiAgICAgIChkZWZpbmUta2V5IG1hcCBbKGNv bnRyb2wgPz0pXSAncnN0LWFkanVzdCkgOzsgKERvZXMgbm90IHdvcmsgb24gdGhlIE1hYyBP U1guKQogICAgICA7OyBEaXNwbGF5IHRoZSBoaWVyYXJjaHkgb2YgZGVjb3JhdGlvbnMgaW1w bGllZCBieSB0aGUgY3VycmVudCBkb2N1bWVudCBjb250ZW50cy4KISAgICAgKGRlZmluZS1r ZXkgbWFwIFsoY29udHJvbCBjKSAoY29udHJvbCBoKV0gJ3JzdC1kaXNwbGF5LWRlY29yYXRp b25zLWhpZXJhcmNoeSkKICAgICAgOzsgSG9tb2dlbmVpemUgdGhlIGRlY29yYXRpb25zIGlu IHRoZSBkb2N1bWVudC4KICAgICAgKGRlZmluZS1rZXkgbWFwIFsoY29udHJvbCBjKSAoY29u dHJvbCBzKV0gJ3JzdC1zdHJhaWdodGVuLWRlY29yYXRpb25zKQohIDs7ICAgIChkZWZpbmUt a2V5IG1hcCBbKGNvbnRyb2wgYykgKGNvbnRyb2wgcyldICdyc3Qtc3RyYWlnaHRlbi1kZWNv LXNwYWNpbmcpCiAgCiAgICAgIDs7CiAgICAgIDs7IFNlY3Rpb24gTW92ZW1lbnQgYW5kIFNl bGVjdGlvbi4KLS0tIDIzNiwyNDkgLS0tLQogICAgICA7OyBTZWN0aW9uIERlY29yYXRpb25z LgogICAgICA7OwogICAgICA7OyBUaGUgYWRqdXN0bWVudCBmdW5jdGlvbiB0aGF0IGRlY29y YXRlcyBvciByb3RhdGVzIGEgc2VjdGlvbiB0aXRsZS4KISAgICAgOyhkZWZpbmUta2V5IG1h cCBbKGNvbnRyb2wgYykgKGNvbnRyb2wgYSldICdyc3QtYWRqdXN0KQohICAgICA7KGRlZmlu ZS1rZXkgbWFwIFsoY29udHJvbCBjKSAoY29udHJvbCA/PSldICdyc3QtYWRqdXN0KQogICAg ICAoZGVmaW5lLWtleSBtYXAgWyhjb250cm9sID89KV0gJ3JzdC1hZGp1c3QpIDs7IChEb2Vz IG5vdCB3b3JrIG9uIHRoZSBNYWMgT1NYLikKICAgICAgOzsgRGlzcGxheSB0aGUgaGllcmFy Y2h5IG9mIGRlY29yYXRpb25zIGltcGxpZWQgYnkgdGhlIGN1cnJlbnQgZG9jdW1lbnQgY29u dGVudHMuCiEgICAgIChkZWZpbmUta2V5IG1hcCBbKGNvbnRyb2wgYykgKGNvbnRyb2wgdCld ICdyc3QtZGlzcGxheS1kZWNvcmF0aW9ucy1oaWVyYXJjaHkpCiAgICAgIDs7IEhvbW9nZW5l aXplIHRoZSBkZWNvcmF0aW9ucyBpbiB0aGUgZG9jdW1lbnQuCiAgICAgIChkZWZpbmUta2V5 IG1hcCBbKGNvbnRyb2wgYykgKGNvbnRyb2wgcyldICdyc3Qtc3RyYWlnaHRlbi1kZWNvcmF0 aW9ucykKISAgICAgOyhkZWZpbmUta2V5IG1hcCBbKGNvbnRyb2wgYykgKGNvbnRyb2wgcyld ICdyc3Qtc3RyYWlnaHRlbi1kZWNvLXNwYWNpbmcpCiAgCiAgICAgIDs7CiAgICAgIDs7IFNl Y3Rpb24gTW92ZW1lbnQgYW5kIFNlbGVjdGlvbi4KKioqKioqKioqKioqKioqCioqKiAyNTQs MjkyICoqKioKICAgICAgOzsgTWFyayB0aGUgc3Vic2VjdGlvbiB3aGVyZSB0aGUgY3Vyc29y IGlzLgogICAgICAoZGVmaW5lLWtleSBtYXAgWyhjb250cm9sIGMpIChjb250cm9sIG0pXSAn cnN0LW1hcmstc2VjdGlvbikKICAgICAgOzsgTW92ZSBmb3J3YXJkL2JhY2t3YXJkIGJldHdl ZW4gc2VjdGlvbiB0aXRsZXMuCiEgICAgIChkZWZpbmUta2V5IG1hcCBbKGNvbnRyb2wgYykg KGNvbnRyb2wgbildICdyc3QtZm9yd2FyZC1zZWN0aW9uKQohICAgICAoZGVmaW5lLWtleSBt YXAgWyhjb250cm9sIGMpIChjb250cm9sIHApXSAncnN0LWJhY2t3YXJkLXNlY3Rpb24pCiAg CiAgICAgIDs7CiAgICAgIDs7IE9wZXJhdGluZyBvbiBCbG9ja3Mgb2YgVGV4dC4KICAgICAg OzsKICAgICAgOzsgTWFrZXMgcGFyYWdyYXBocyBpbiByZWdpb24gYXMgYSBidWxsZXQgbGlz dC4KISAgICAgKGRlZmluZS1rZXkgbWFwIFsoY29udHJvbCBjKSAoY29udHJvbCBiKV0gJ3Jz dC1idWxsZXQtbGlzdC1yZWdpb24pCiAgICAgIDs7IE1ha2VzIHBhcmFncmFwaHMgaW4gcmVn aW9uIGFzIGEgZW51bWVyYXRpb24uCiEgICAgIChkZWZpbmUta2V5IG1hcCBbKGNvbnRyb2wg YykgKGNvbnRyb2wgZSldICdyc3QtZW51bWVyYXRlLXJlZ2lvbikKICAgICAgOzsgQ29udmVy dHMgYnVsbGV0cyB0byBhbiBlbnVtZXJhdGlvbi4KISAgICAgKGRlZmluZS1rZXkgbWFwIFso Y29udHJvbCBjKSAoY29udHJvbCB2KV0gJ3JzdC1jb252ZXJ0LWJ1bGxldHMtdG8tZW51bWVy YXRpb24pCiAgICAgIDs7IE1ha2VzIHJlZ2lvbiBhIGxpbmUtYmxvY2suCiEgICAgIChkZWZp bmUta2V5IG1hcCBbKGNvbnRyb2wgYykgKGNvbnRyb2wgZCldICdyc3QtbGluZS1ibG9jay1y ZWdpb24pCiAgICAgIDs7IE1ha2Ugc3VyZSB0aGF0IGFsbCB0aGUgYnVsbGV0cyBpbiB0aGUg cmVnaW9uIGFyZSBjb25zaXN0ZW50LgohICAgICAoZGVmaW5lLWtleSBtYXAgWyhjb250cm9s IGMpIChjb250cm9sIHcpXSAncnN0LXN0cmFpZ2h0ZW4tYnVsbGV0cy1yZWdpb24pCiAgICAg IDs7IFNoaWZ0IHJlZ2lvbiBsZWZ0IG9yIHJpZ2h0ICh0YWtpbmcgaW50byBhY2NvdW50IG9m IGVudW1lcmF0aW9ucy9idWxsZXRzLCBldGMuKS4KICAgICAgKGRlZmluZS1rZXkgbWFwIFso Y29udHJvbCBjKSAoY29udHJvbCBsKV0gJ3JzdC1zaGlmdC1yZWdpb24tbGVmdCkKICAgICAg KGRlZmluZS1rZXkgbWFwIFsoY29udHJvbCBjKSAoY29udHJvbCByKV0gJ3JzdC1zaGlmdC1y ZWdpb24tcmlnaHQpCiAgICAgIDs7IENvbW1lbnQvdW5jb21tZW50IHRoZSBhY3RpdmUgcmVn aW9uLgohICAgICAoZGVmaW5lLWtleSBtYXAgWyhjb250cm9sIGMpIChjb250cm9sIGMpXSAn Y29tbWVudC1yZWdpb24pCiAgCiAgICAgIDs7CiAgICAgIDs7IFRhYmxlLW9mLUNvbnRlbnRz IEZlYXR1cmVzLgogICAgICA7OwogICAgICA7OyBFbnRlciBhIFRPQyBidWZmZXIgdG8gdmll dyBhbmQgbW92ZSB0byBhIHNwZWNpZmljIHNlY3Rpb24uCiAgICAgIChkZWZpbmUta2V5IG1h cCBbKGNvbnRyb2wgYykgKGNvbnRyb2wgdCldICdyc3QtdG9jKQohICAgICA7OyBJbnNlcnQg YSBUT0MgaGVyZS4KISAgICAgKGRlZmluZS1rZXkgbWFwIFsoY29udHJvbCBjKSAoY29udHJv bCBpKV0gJ3JzdC10b2MtaW5zZXJ0KQogICAgICA7OyBVcGRhdGUgdGhlIGRvY3VtZW50J3Mg VE9DICh3aXRob3V0IGNoYW5naW5nIHRoZSBjdXJzb3IgcG9zaXRpb24pLgogICAgICAoZGVm aW5lLWtleSBtYXAgWyhjb250cm9sIGMpIChjb250cm9sIHUpXSAncnN0LXRvYy11cGRhdGUp CiAgICAgIDs7IEdvdCB0byB0aGUgc2VjdGlvbiB1bmRlciB0aGUgY3Vyc29yIChjdXJzb3Ig bXVzdCBiZSBpbiBUT0MpLgohICAgICAoZGVmaW5lLWtleSBtYXAgWyhjb250cm9sIGMpIChj b250cm9sIGYpXSAncnN0LWdvdG8tc2VjdGlvbikKICAKICAgICAgOzsKICAgICAgOzsgQ29u dmVydGluZyBEb2N1bWVudHMgZnJvbSBFbWFjcy4KLS0tIDI1MSwzMjUgLS0tLQogICAgICA7 OyBNYXJrIHRoZSBzdWJzZWN0aW9uIHdoZXJlIHRoZSBjdXJzb3IgaXMuCiAgICAgIChkZWZp bmUta2V5IG1hcCBbKGNvbnRyb2wgYykgKGNvbnRyb2wgbSldICdyc3QtbWFyay1zZWN0aW9u KQogICAgICA7OyBNb3ZlIGZvcndhcmQvYmFja3dhcmQgYmV0d2VlbiBzZWN0aW9uIHRpdGxl cy4KISAgICAgKGRlZmluZS1rZXkgbWFwIFsobWV0YSBuKV0gJ3JzdC1mb3J3YXJkLXNlY3Rp b24pCiEgICAgIChkZWZpbmUta2V5IG1hcCBbKG1ldGEgcCldICdyc3QtYmFja3dhcmQtc2Vj dGlvbikKICAKICAgICAgOzsKICAgICAgOzsgT3BlcmF0aW5nIG9uIEJsb2NrcyBvZiBUZXh0 LgogICAgICA7OworICAgICA7OyBJbnNlcnRzIGJ1bGxldCBsaXN0IG9yIGVudW1lcmF0aW9u IGxpc3QuCisgICAgIChkZWZpbmUta2V5IG1hcCBbKG1ldGEgcmV0dXJuKV0gJ3JzdC1pbnNl cnQtbGlzdCkKKyAgICAgOzsgSW5zZXJ0cyBkZWZpbml0aW9uIGxpc3QuCisgICAgIDsoZGVm aW5lLWtleSBtYXAgWyhjb250cm9sIGMpIHRdICdyc3QtaW5zZXJ0LWRlZmluaXRpb24pCisg ICAgIDs7IEluc2VydHMgZmllbGQgbGlzdC4KKyAgICAgOyhkZWZpbmUta2V5IG1hcCBbKGNv bnRyb2wgYykgZl0gJ3JzdC1pbnNlcnQtZmllbGQpCiAgICAgIDs7IE1ha2VzIHBhcmFncmFw aHMgaW4gcmVnaW9uIGFzIGEgYnVsbGV0IGxpc3QuCiEgICAgIDsoZGVmaW5lLWtleSBtYXAg Wyhjb250cm9sIGMpIChjb250cm9sIGIpXSAncnN0LWJ1bGxldC1saXN0LXJlZ2lvbikKICAg ICAgOzsgTWFrZXMgcGFyYWdyYXBocyBpbiByZWdpb24gYXMgYSBlbnVtZXJhdGlvbi4KISAg ICAgOyhkZWZpbmUta2V5IG1hcCBbKGNvbnRyb2wgYykgKGNvbnRyb2wgZSldICdyc3QtZW51 bWVyYXRlLXJlZ2lvbikKICAgICAgOzsgQ29udmVydHMgYnVsbGV0cyB0byBhbiBlbnVtZXJh dGlvbi4KISAgICAgOyhkZWZpbmUta2V5IG1hcCBbKGNvbnRyb2wgYykgKGNvbnRyb2wgdild ICdyc3QtY29udmVydC1idWxsZXRzLXRvLWVudW1lcmF0aW9uKQogICAgICA7OyBNYWtlcyBy ZWdpb24gYSBsaW5lLWJsb2NrLgohICAgICA7KGRlZmluZS1rZXkgbWFwIFsoY29udHJvbCBj KSAoY29udHJvbCBkKV0gJ3JzdC1saW5lLWJsb2NrLXJlZ2lvbikKICAgICAgOzsgTWFrZSBz dXJlIHRoYXQgYWxsIHRoZSBidWxsZXRzIGluIHRoZSByZWdpb24gYXJlIGNvbnNpc3RlbnQu CiEgICAgIDsoZGVmaW5lLWtleSBtYXAgWyhjb250cm9sIGMpIChjb250cm9sIHcpXSAncnN0 LXN0cmFpZ2h0ZW4tYnVsbGV0cy1yZWdpb24pCiAgICAgIDs7IFNoaWZ0IHJlZ2lvbiBsZWZ0 IG9yIHJpZ2h0ICh0YWtpbmcgaW50byBhY2NvdW50IG9mIGVudW1lcmF0aW9ucy9idWxsZXRz LCBldGMuKS4KICAgICAgKGRlZmluZS1rZXkgbWFwIFsoY29udHJvbCBjKSAoY29udHJvbCBs KV0gJ3JzdC1zaGlmdC1yZWdpb24tbGVmdCkKICAgICAgKGRlZmluZS1rZXkgbWFwIFsoY29u dHJvbCBjKSAoY29udHJvbCByKV0gJ3JzdC1zaGlmdC1yZWdpb24tcmlnaHQpCiAgICAgIDs7 IENvbW1lbnQvdW5jb21tZW50IHRoZSBhY3RpdmUgcmVnaW9uLgohICAgICA7KGRlZmluZS1r ZXkgbWFwIFsoY29udHJvbCBjKSAoY29udHJvbCBjKV0gJ2NvbW1lbnQtcmVnaW9uKQohIAoh ICAgICA7OyBJbnNlcnQgb3B0aW9uIG9yIGRpcmVjdGl2ZS4KISAgICAgKGRlZmluZS1rZXkg bWFwIFsoY29udHJvbCBjKSAoY29udHJvbCBvKV0gJ3JzdC1pbnNlcnQtb3B0aW9uKQohICAg ICAoZGVmaW5lLWtleSBtYXAgWyhjb250cm9sIGMpIChjb250cm9sIGQpXSAncnN0LWluc2Vy dC1kaXJlY3RpdmUpCiEgICAgIDs7IEluc2VydCB0ZXh0IHJlcGxhY2UgZGVmaW5pdGlvbi4K ISAgICAgOyhkZWZpbmUta2V5IG1hcCBbKGNvbnRyb2wgYykgdF0gJ3JzdC1pbnNlcnQtcmVw bGFjZSkKISAgICAgOzsgSW5zZXJ0IGltYWdlIGFuZCBmaWd1cmVzCiEgICAgIDsoZGVmaW5l LWtleSBtYXAgWyhjb250cm9sIGMpIHBdICdyc3QtaW5zZXJ0LWltYWdlKQohICAgICA7KGRl ZmluZS1rZXkgbWFwIFsoY29udHJvbCBjKSBtXSAncnN0LWluc2VydC1maWd1cmUpCiEgICAg IDs7IEluc2VydCBhZG1vbml0aW9uCiEgICAgIDsoZGVmaW5lLWtleSBtYXAgWyhjb250cm9s IGMpIHRdICdyc3QtaW5zZXJ0LWFkbW9uaXRpb24pCiEgCiEgICAgIDs7IAohICAgICA7OyBI eXB5bGluaywgRm9vdG5vdGUsIGFuZCBDaXRhdGlvbiBGZWF0dXJlcy4KISAgICAgOzsgCiEg ICAgIChkZWZpbmUta2V5IG1hcCBbKGNvbnRyb2wgYykgKGNvbnRyb2wgaCldICdyc3QtaW5z ZXJ0LWxpbmspCiEgICAgIDs7IEluc2VydCBoeXBlcmxpbmsKISAgICAgOyhkZWZpbmUta2V5 IG1hcCBbKGNvbnRyb2wgYykgbF0gJ3JzdC1pbnNlcnQtaW5saW5lLWxpbmspCiEgICAgIDs7 IEluc2VydCBmb290bm90ZQohICAgICA7KGRlZmluZS1rZXkgbWFwIFsoY29udHJvbCBjKSBm XSAncnN0LWluc2VydC1mb290bm90ZSkKISAgICAgOzsgSW5zZXJ0IGNpdGF0aW9uCiEgICAg IDsoZGVmaW5lLWtleSBtYXAgWyhjb250cm9sIGMpIGNdICdyc3QtaW5zZXJ0LWNpdGF0aW9u KQohICAgICA7OyBIeXBlcmxpbmsganVtcGluZwohICAgICAoZGVmaW5lLWtleSBtYXAgWyhj b250cm9sIGMpIChsKV0gJ3JzdC1saW5rLWp1bXAtdG8tcmVmZXJlbmNlKQohICAgICAoZGVm aW5lLWtleSBtYXAgWyhjb250cm9sIGMpIChuKV0gJ3JzdC1saW5rLWp1bXAtd2l0aGluLXRh cmdldHMpCiEgICAgIChkZWZpbmUta2V5IG1hcCBbKGNvbnRyb2wgYykgKHQpXSAncnN0LWxp bmstanVtcC10by10YXJnZXQpCiEgICAgIDs7IEZvb3Rub3RlIGFuZCBjaXRhdGlvbiBqdW1w aW5nCiEgICAgIChkZWZpbmUta2V5IG1hcCBbKGNvbnRyb2wgYykgKHIpXSAncnN0LWZvb3Ru b3RlLWNpdGF0aW9uLWp1bXAtdG8tcmVmZXJlbmNlKQohICAgICAoZGVmaW5lLWtleSBtYXAg Wyhjb250cm9sIGMpIChtKV0gJ3JzdC1mb290bm90ZS1jaXRhdGlvbi1qdW1wLXdpdGhpbi10 YXJnZXRzKQohICAgICAoZGVmaW5lLWtleSBtYXAgWyhjb250cm9sIGMpICh1KV0gJ3JzdC1m b290bm90ZS1jaXRhdGlvbi1qdW1wLXRvLXRhcmdldCkKICAKICAgICAgOzsKICAgICAgOzsg VGFibGUtb2YtQ29udGVudHMgRmVhdHVyZXMuCiAgICAgIDs7CiAgICAgIDs7IEVudGVyIGEg VE9DIGJ1ZmZlciB0byB2aWV3IGFuZCBtb3ZlIHRvIGEgc3BlY2lmaWMgc2VjdGlvbi4KICAg ICAgKGRlZmluZS1rZXkgbWFwIFsoY29udHJvbCBjKSAoY29udHJvbCB0KV0gJ3JzdC10b2Mp CiEgICAgIDs7IEluc2VydCBhIFRPQyBoZXJlLiB1c2UgYHJzdC1pbnNlcnQtZGlyZWN0aXZl JyBpbnN0ZWFkCiEgICAgIDsoZGVmaW5lLWtleSBtYXAgWyhjb250cm9sIGMpIGldICdyc3Qt dG9jLWluc2VydCkKICAgICAgOzsgVXBkYXRlIHRoZSBkb2N1bWVudCdzIFRPQyAod2l0aG91 dCBjaGFuZ2luZyB0aGUgY3Vyc29yIHBvc2l0aW9uKS4KICAgICAgKGRlZmluZS1rZXkgbWFw IFsoY29udHJvbCBjKSAoY29udHJvbCB1KV0gJ3JzdC10b2MtdXBkYXRlKQogICAgICA7OyBH b3QgdG8gdGhlIHNlY3Rpb24gdW5kZXIgdGhlIGN1cnNvciAoY3Vyc29yIG11c3QgYmUgaW4g VE9DKS4KISAgICAgOyhkZWZpbmUta2V5IG1hcCBbKGNvbnRyb2wgYykgKGNvbnRyb2wgZild ICdyc3QtZ290by1zZWN0aW9uKQogIAogICAgICA7OwogICAgICA7OyBDb252ZXJ0aW5nIERv Y3VtZW50cyBmcm9tIEVtYWNzLgoqKioqKioqKioqKioqKiogVGhpcyBpbmhlcml0cyBmcm9t IFRleHQgbW9kZS4iKQoqKiogMzQ0LDM1MSAqKioqCiAgCiAgCiAgKGRlZmN1c3RvbSByc3Qt bW9kZS1ob29rIG5pbAohICAgIkhvb2sgcnVuIHdoZW4gUnN0IG1vZGUgaXMgdHVybmVkIG9u LgohIFRoZSBob29rIGZvciBUZXh0IG1vZGUgaXMgcnVuIGJlZm9yZSB0aGlzIG9uZS4iCiAg ICA6Z3JvdXAgJ3JzdAogICAgOnR5cGUgJyhob29rKSkKICAKLS0tIDM3NywzODQgLS0tLQog IAogIAogIChkZWZjdXN0b20gcnN0LW1vZGUtaG9vayBuaWwKISAgICJIb29rIHJ1biB3aGVu IFJzdCBNb2RlIGlzIHR1cm5lZCBvbi4KISBUaGUgaG9vayBmb3IgVGV4dCBNb2RlIGlzIHJ1 biBiZWZvcmUgdGhpcyBvbmUuIgogICAgOmdyb3VwICdyc3QKICAgIDp0eXBlICcoaG9vaykp CiAgCioqKioqKioqKioqKioqKiBpbiBvcmRlciB0byBhZGFwdCBpdCB0byBvdXIgcHJlZmVy cmVkIHN0CioqKiAxNDY0LDE0NzEgKioqKgogIAkJCQkobGFtYmRhIChkZWNvKQogIAkJCQkg IChjb25zIChyc3QtcG9zaXRpb24gKGNkciBkZWNvKSBoaWVyKQogIAkJCQkJKGxldCAoKG0g KG1ha2UtbWFya2VyKSkpCiEgCQkJCQkgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCiEgCQkJ CQkgIChmb3J3YXJkLWxpbmUgKDEtIChjYXIgZGVjbykpKQogIAkJCQkJICAoc2V0LW1hcmtl ciBtIChwb2ludCkpCiAgCQkJCQkgIG0pKSkKICAJCQkJYWxsZGVjb3MpKQotLS0gMTQ5Nywx NTA0IC0tLS0KICAJCQkJKGxhbWJkYSAoZGVjbykKICAJCQkJICAoY29ucyAocnN0LXBvc2l0 aW9uIChjZHIgZGVjbykgaGllcikKICAJCQkJCShsZXQgKChtIChtYWtlLW1hcmtlcikpKQoh ICAJCQkJCSAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKISAgCQkJCQkgIChmb3J3YXJkLWxp bmUgKDEtIChjYXIgZGVjbykpKQogIAkJCQkJICAoc2V0LW1hcmtlciBtIChwb2ludCkpCiAg CQkJCQkgIG0pKSkKICAJCQkJYWxsZGVjb3MpKQoqKioqKioqKioqKioqKiogc2VjdGlvbiBs ZXZlbHMuIgoqKiogMTQ5OSwxNTEyICoqKioKICAgICAgICA7OyBhZGp1c3QgZm9yIHRoZSBj aGFuZ2VzIGluIHRoZSBkb2N1bWVudC4KICAgICAgICAoZG9saXN0IChkZWNvIChucmV2ZXJz ZSBhbGxkZWNvcykpCiAgCTs7IEdvIHRvIHRoZSBhcHByb3ByaWF0ZSBwb3NpdGlvbi4KISAJ KGdvdG8tY2hhciAocG9pbnQtbWluKSkKISAJKGZvcndhcmQtbGluZSAoMS0gKGNhciBkZWNv KSkpCiAgCShpbnNlcnQgIkBcbiIpCiAgOzsgRklYTUU6IHRvZG8sIHdlCiAgCSkKICAgICAg KSkpCiAgCiAgCiAgKGRlZnVuIHJzdC1maW5kLXBmeC1pbi1yZWdpb24gKGJlZyBlbmQgcGZ4 LXJlKQogICAgIkZpbmQgYWxsIHRoZSBwb3NpdGlvbnMgb2YgcHJlZml4ZXMgaW4gcmVnaW9u IGJldHdlZW4gQkVHIGFuZCBFTkQuCiAgVGhpcyBpcyB1c2VkIHRvIGZpbmQgYnVsbGV0cyBh bmQgZW51bWVyYXRlZCBsaXN0IGl0ZW1zLiAgUEZYLVJFCi0tLSAxNTMyLDE3NzMgLS0tLQog ICAgICAgIDs7IGFkanVzdCBmb3IgdGhlIGNoYW5nZXMgaW4gdGhlIGRvY3VtZW50LgogICAg ICAgIChkb2xpc3QgKGRlY28gKG5yZXZlcnNlIGFsbGRlY29zKSkKICAJOzsgR28gdG8gdGhl IGFwcHJvcHJpYXRlIHBvc2l0aW9uLgohICAJKGdvdG8tY2hhciAocG9pbnQtbWluKSkKISAg CShmb3J3YXJkLWxpbmUgKDEtIChjYXIgZGVjbykpKQogIAkoaW5zZXJ0ICJAXG4iKQogIDs7 IEZJWE1FOiB0b2RvLCB3ZQogIAkpCiAgICAgICkpKQogIAogIAorIDs9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgOyBsaXN0IHJlbGF0ZWQg ZnVuY3Rpb25zLgorIAorIChkZWZjb25zdCByb21hbi1udW1iZXItbGlzdAorICAgJygiSSIg IklJIiAiSUlJIiAiSVYiICJWIiAiVkkiICJWSUkiICJWSUlJIiAiSVgiICJYIiAiWEkiICJY SUkiICJYSUlJIiAiWElWIiAiWFYiCisgICAgICJYVkkiICJYVklJIiAiWFZJSUkiICJYSVgi ICJYWCIgIlhYSSIgIlhYSUkiICJYWElJSSIgIlhYSVYiICJYWFYiICJYWFZJIiAiWFhWSUki CisgICAgICJYWFZJSUkiICJYWElYIiAiWFhYIiAiWFhYSSIgIlhYWElJIiAiWFhYSUlJIiAi WFhYSVYiICJYWFhWIiAiWFhYVkkiICJYWFhWSUkiCisgICAgICJYWFhWSUlJIiAiWFhYSVgi ICJYTCIgIlhMSSIgIlhMSUkiICJYTElJSSIgIlhMSVYiICJYTFYiICJYTFZJIiAiWExWSUki ICJYTFZJSUkiCisgICAgICJYTElYIiAiTCIpCisgICAiTGlzdCBvZiBSb21hbiBudW1lcmFs cy4iKQorIAorIChkZWZjb25zdCBsZXR0ZXItbGlzdAorICAgJygiQSIgIkIiICJDIiAiRCIg IkUiICJGIiAiRyIgIkgiICJJIiAiSiIgIksiICJMIiAiTSIKKyAgICAgIk4iICJPIiAiUCIg IlEiICJSIiAiUyIgIlQiICJVIiAiViIgIlciICJYIiAiWSIgIloiKQorICAgIkxpc3Qgb2Yg TGF0aW4gbGV0dGVyLiIpCisgCisgKGRlZnZhciByc3QtcmUtYnVsbGV0cworICAgKGZvcm1h dCAiXFwoWyVzXVsgXHRdXFwpW14gXHRdIiAocmVnZXhwLXF1b3RlIChjb25jYXQgcnN0LWJ1 bGxldHMpKSkKKyAgICJSZWdleHAgZm9yIGZpbmRpbmcgYnVsbGV0cy4iKQorIAorIChkZWZ2 YXIgcnN0LWluaXRpYWwtZW51bXMKKyAgICcoIiMuIiAiMS4iICJhLiIgIkEuIiAiSS4iICJp LiIgIigxKSIgIihhKSIgIihBKSIgIihJKSIgIihpKSIgIjEpIiAiYSkiICJBKSIgIkkpIiAi aSkiKQorICAgIkxpc3Qgb2YgaW5pdGlhbCBlbnVtZXJhdGVzLiIpCisgCisgKGRlZnZhciBy c3QtaW5pdGlhbC1pdGVtcworICAgKGFwcGVuZCAobWFwY2FyICdjaGFyLXRvLXN0cmluZyBy c3QtYnVsbGV0cykgcnN0LWluaXRpYWwtZW51bXMpCisgICAiTGlzdCBvZiBpbml0aWFsIGl0 ZW1zLiBJdCdzIGNvbGxlY3Rpb24gb2YgYnVsbGV0cyBhbmQgZW51bWVyYXRpb25zIikKKyAK KyAoZGVmdmFyIHJzdC1yZS1lbnVtZXJhdGVzCisgICAoZm9ybWF0ICJeWyBcdF0qXFwoJXNc XHwlc1xcKVsgXHRdIgorICAgICAgICAgICAiXFwoWzAtOV0rXFx8W2EtekEtWl1cXHxbSVZY TENETWl2eGxjZG1dK1xcKVxcLiIKKyAgICAgICAgICAgIig/XFwoWzAtOV0rXFx8W2EtekEt Wl1cXHxbSVZYTENETWl2eGxjZG1dK1xcKSkiKQorICAgIlJlZ2V4cCBmb3IgZmluZGluZyBl bnVtZXJhdGVzICgjIGlzIG5vdCBpbmNsdWRlZCkuIikKKyAKKyAoZGVmdmFyIHJzdC1yZS1p dGVtcworICAgKGZvcm1hdCAiXlsgXHRdKlxcKCVzXFx8JXNcXHwlc1xcKVsgXHRdIgorICAg ICAgICAgICAoZm9ybWF0ICJbJXNdIiAocmVnZXhwLXF1b3RlIChjb25jYXQgcnN0LWJ1bGxl dHMpKSkKKyAgICAgICAgICAgIlxcKCNcXHxbYS16XVxcfFswLTldK1xcfFtBLVpdXFx8W0lW WExDRE1dK1xcfFtpdnhsY2RtXStcXClcXC4iCisgICAgICAgICAgICIoP1xcKFthLXpdXFx8 WzAtOV0rXFx8W0EtWl1cXHxbSVZYTENETV0rXFx8W2l2eGxjZG1dK1xcKSkiKQorICAgIlJl Z2V4cCBmb3IgZmluZGluZyBidWxsZXRzIGFuZCBlbnVtZXJhdGVzLiIpCisgCisgKGRlZnVu IHJzdC1pbnNlcnQtbGlzdC1wb3MgKG5ld2l0ZW0pCisgICAiQXJyYWdlIHJlbGF0aXZlIHBv c2l0aW9uIG9mIGEgbmV3bHkgaW5zZXJ0ZWQgbGlzdCBpdGVtLgorIAorIEFkZGluZyBhIG5l dyBsaXN0IG1pZ2h0IGNvbnNpZGVyIHRocmVlIHNpdHVhdGlvbnM6CisgCisgIChhKSBDdXJy ZW50IGxpbmUgaXMgYSBibGFuayBsaW5lLgorICAoYikgUHJldmlvdXMgbGluZSBpcyBhIGJs YW5rIGxpbmUuCisgIChjKSBGb2xsb3dpbmcgbGluZSBpcyBhIGJsYW5rIGxpbmUuCisgCisg V2hlbiAoYSkgYW5kIChiKSwganVzdCBhZGQgdGhlIG5ldyBsaXN0IGF0IGN1cnJlbnQgbGlu ZS4gCisgCisgd2hlbiAoYSkgYW5kIG5vdCAoYiksIGFkZCBhIGJsYW5rIGxpbmUgYmVmb3Jl IGFkZGluZyB0aGUgbmV3IGxpc3QuCisgCisgV2hlbiBub3QgKGEpLCBhZGQgYSBibGFuayBs aW5lIGFuZCBhIG5ldyBsaW5lIGF0IGN1cnJlbnQgcG9pbnQuIAorIAorIE90aGVyIHNpdHVh dGlvbnMgYXJlIGp1c3QgaWdub3JlZCBhbmQgbGVmdCB0byB1c2VycyB0aGVtc2VsdmVzLiIK KyAgIChpZiAoc2F2ZS1leGN1cnNpb24KKyAgICAgICAgIChiZWdpbm5pbmctb2YtbGluZSkK KyAgICAgICAgIChsb29raW5nLWF0ICJeWyBcdF0qJCIpKQorICAgICAgIChpZiAoc2F2ZS1l eGN1cnNpb24KKyAgICAgICAgICAgICAoZm9yd2FyZC1saW5lIC0xKQorICAgICAgICAgICAg IChsb29raW5nLWF0ICJeWyBcdF0qJCIpKQorICAgICAgICAgICAoaW5zZXJ0IChjb25jYXQg bmV3aXRlbSAiICIpKQorICAgICAgICAgKGluc2VydCAoY29uY2F0ICJcbiIgbmV3aXRlbSAi ICIpKSkKKyAgICAgKHByb2duIAorICAgICAgIChpbnNlcnQgKGNvbmNhdCAiXG5cbiIgbmV3 aXRlbSAiICIpKSkpKQorIAorIChkZWZ1biByc3QtaW5zZXJ0LWxpc3QtbmV3LWJ1bGxldCAo KQorICAgIkluc2VydCBhIG5ldyBsaXN0IGJ1bGxldC4KKyAiCisgICAoaW50ZXJhY3RpdmUp CisgICAobGV0IChpdGVtc3R5bGUpCisgICAgIChzZXRxIGl0ZW1zdHlsZSAiLSIpCisgICAg IChyc3QtaW5zZXJ0LWxpc3QtcG9zIGl0ZW1zdHlsZSkpKQorIAorIChkZWZ1biByc3QtaW5z ZXJ0LWxpc3QtbmV3LWl0ZW0gKGl0ZW1ubykKKyAgICJJbnNlcnQgYSBuZXcgbGlzdCBpdGVt LgorIAorIFVzZXIgaXMgYXNrZWQgdG8gc2VsZWN0IHRoZSBpdGVtIHN0eWxlIGZpcnN0LCBm b3IgZXhhbXBsZSAoYSksIGkpLCArLiBVc2UgVEFCIAorIGZvciBjb21wbGV0aXRpb24gYW5k IGNob2ljZXMuCisgCisgSWYgdXNlciBzZWxlY3RzIGJ1bGxldHMgb3IgIywgaXQncyBqdXN0 IGFkZGVkIHdpdGggcG9zaXRpb24gYXJyYW5nZWQgYnkgCisgYHJzdC1pbnNlcnQtbGlzdC1u ZXctcG9zJy4gCisgCisgSWYgdXNlciBzZWxlY3RzIGVudW1lcmF0ZXMsIGEgZnVydGhlciBw cm9tcHQgaXMgZ2l2ZW4uIFVzZXIgbmVlZCB0byBpbnB1dCBhIAorIHN0YXJ0aW5nIGl0ZW0s IGZvciBleGFtcGxlICdlJyBmb3IgJ0EpJyBzdHlsZS4gVGhlIHBvc2l0aW9uIGlzIGFsc28g YXJyYW5nZWQgYnkKKyBgcnN0LWluc2VydC1saXN0LW5ldy1wb3MnLgorICIKKyAgIChpbnRl cmFjdGl2ZSAiUCIpCisgICAoaWYgKG5vdCBpdGVtbm8pCisgICAgICAgKHNldHEgaXRlbW5v IDEpKQorICAgKHNldHEgaXRlbW5vICgxLSBpdGVtbm8pKQorICAgKGxldCAoaXRlbXN0eWxl IGl0ZW1maXJzdCkKKyAgICAgKHNldHEgaXRlbXN0eWxlIChjb21wbGV0aW5nLXJlYWQgIlBy b3ZpZGluZyBwZXJmZXJlZCBpdGVtIChkZWZhdWx0ICcjLicpOiAiCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHJzdC1pbml0aWFsLWl0ZW1zIG5pbCB0IG5pbCBu aWwgIiMuIikpCisgICAgICh3aGVuIChzdHJpbmctbWF0Y2ggIlthQTFJaV0iIGl0ZW1zdHls ZSkKKyAgICAgICAoc2V0cSBpdGVtZmlyc3QgKG1hdGNoLXN0cmluZyAwIGl0ZW1zdHlsZSkp CisgICAgICAgKGNvbmQgKChlcXVhbCBpdGVtZmlyc3QgIkEiKSAKKyAgICAgICAgICAgICAg KHNldHEgaXRlbXN0eWxlIChyZXBsYWNlLW1hdGNoIChudGggaXRlbW5vIGxldHRlci1saXN0 KSAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbCBu aWwgaXRlbXN0eWxlKSkpCisgICAgICAgICAgICAgKChlcXVhbCBpdGVtZmlyc3QgImEiKSAK KyAgICAgICAgICAgICAgKHNldHEgaXRlbXN0eWxlIChyZXBsYWNlLW1hdGNoIChkb3duY2Fz ZSAobnRoIGl0ZW1ubyBsZXR0ZXItbGlzdCkpIAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbmlsIG5pbCBpdGVtc3R5bGUpKSkKKyAgICAgICAgICAg ICAoKGVxdWFsIGl0ZW1maXJzdCAiSSIpIAorICAgICAgICAgICAgICAoc2V0cSBpdGVtc3R5 bGUgKHJlcGxhY2UtbWF0Y2ggKG50aCBpdGVtbm8gcm9tYW4tbnVtYmVyLWxpc3QpIAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsIG5pbCBpdGVt c3R5bGUpKSkKKyAgICAgICAgICAgICAoKGVxdWFsIGl0ZW1maXJzdCAiaSIpIAorICAgICAg ICAgICAgICAoc2V0cSBpdGVtc3R5bGUgKHJlcGxhY2UtbWF0Y2ggKGRvd25jYXNlIChudGgg aXRlbW5vIHJvbWFuLW51bWJlci1saXN0KSkgCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBuaWwgbmlsIGl0ZW1zdHlsZSkpKQorICAgICAgICAgICAg ICgoZXF1YWwgaXRlbWZpcnN0ICIxIikgCisgICAgICAgICAgICAgIChzZXRxIGl0ZW1zdHls ZSAocmVwbGFjZS1tYXRjaCAobnVtYmVyLXRvLXN0cmluZyAoMSsgaXRlbW5vKSkgCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuaWwgbmlsIGl0ZW1z dHlsZSkpKQorICAgICAgICAgICAgICkpCisgICAgIChyc3QtaW5zZXJ0LWxpc3QtcG9zIGl0 ZW1zdHlsZSkpKQorIAorIChkZWZ1biByc3QtbGlzdC1tYXRjaC1zdHJpbmcgKHJlZykKKyAg ICJNYXRjaCBhIHJlZ2V4IGluIGEgbGluZSBhbmQgcmV0dXJuIHRoZSBtYXRjaGVkIHN0cmlu ZyBieSBtYXRjaC1zdHJpbmcuCisgCisgSWYgbm90aGluZyBtYXRjaGVkLCBhIGVtcHR5IHN0 cmluZyBpcyByZXR1cm5lZC4iCisgICAobGV0IChtYXRjaGVkKQorICAgICAoc2F2ZS1leGN1 cnNpb24KKyAgICAgICAoZW5kLW9mLWxpbmUpCisgICAgICAgKGlmIChyZS1zZWFyY2gtYmFj a3dhcmQgcmVnIChsaW5lLWJlZ2lubmluZy1wb3NpdGlvbikgdCkKKyAgICAgICAgICAgKHNl dHEgbWF0Y2hlZCAobWF0Y2gtc3RyaW5nIDApKQorICAgICAgICAgKHNldHEgbWF0Y2hlZCAi IikpKQorICAgICBtYXRjaGVkKSkKKyAKKyAoZGVmdW4gcnN0LWluc2VydC1saXN0LWNvbnRp bnVlICgpCisgICAiSW5zZXJ0IGEgbGlzdCBpdGVtIHdpdGggY3VycmVudCBsaXN0IHN0eWxl IGFuZCBpbmRlbnRhdGlvbiBsZXZlbC4KKyAKKyBUaGUgZnVuY3Rpb24gd29ya3MgZm9yIGFs bCBzdHlsZSBvZiBidWxsZXQgbGlzdHMgYW5kIGVudW1lcmF0aW9uIGxpc3RzLiBPbmx5IG9u ZSAKKyB0aGluZyBuZWVkIHRvIGJlIG5vdGljZWQ6IAorIAorIExpc3Qgc3R5bGUgYWxwaGFi ZXRpY2FsIGxpc3QsIHN1Y2ggYXMgJ2EuJywgYW5kIHJvbWFuIG51bWVyaWNhbCBsaXN0LCBz dWNoIGFzICdpLicsIAorIGhhdmUgc29tZSBvdmVybGFwcGluZyBpdGVtcywgZm9yIGV4YW1w bGUgJ3YuJyBUaGUgZnVuY3Rpb24gY2FuIGRlYWwgd2l0aCB0aGUgCisgcHJvYmxlbSBlbGVn YW50bHkgaW4gbW9zdCBzaXR1YXRpb25zLiBCdXQgd2hlbiB0aG9zZSBvdmVybGFwcGVkIGxp c3QgcHJvY2VlZGVkIAorIGJ5IGEgYmxhbmsgbGluZSwgaXQgaXMgaGFyZCB0byBkZXRlcm1p bmUgd2hpY2ggdHlwZSB0byB1c2UgYXV0b21hdGljYWxseS4gVGhlIAorIGZ1bmN0aW9uIHVz ZXMgcm9tYW4gbnVtZXJpY2FsIGxpc3QgZGVmYXVsdGx5LiBJZiB5b3Ugd2FudCBhbHBoYWJl dGljYWwgbGlzdCwganVzdCAKKyB1c2UgYSBwcmVmaXggKFxcW3VuaXZlcnNhbC1hcmd1bWVu dF0pLgorICIKKyAgIChpbnRlcmFjdGl2ZSkKKyAgIChsZXQgKGN1cml0ZW0gbmV3aXRlbSBp dGVtbm8gcHJldml0ZW0gdG1waXRlbSkKKyAgICAgKHNldHEgY3VyaXRlbSAocnN0LWxpc3Qt bWF0Y2gtc3RyaW5nIHJzdC1yZS1pdGVtcykpCisgICAgIChjb25kICgoc3RyaW5nLW1hdGNo IChmb3JtYXQgIiMuXFx8WyVzXSIgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHJlZ2V4cC1xdW90ZSAoY29uY2F0IHJzdC1idWxsZXRzKSkpIGN1cml0ZW0pCisgICAg ICAgICAgICAoc2V0cSBuZXdpdGVtIGN1cml0ZW0pKQorICAgICAgICAgICAoKHN0cmluZy1t YXRjaCAiWzAtOV0rIiBjdXJpdGVtKQorICAgICAgICAgICAgKHByb2duCisgICAgICAgICAg ICAgIChzZXRxIGl0ZW1ubyAoMSsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3Ry aW5nLXRvLW51bWJlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWF0Y2gtc3Ry aW5nIDAgY3VyaXRlbSkpKSkKKyAgICAgICAgICAgICAgKHNldHEgbmV3aXRlbSAocmVwbGFj ZS1tYXRjaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobnVtYmVyLXRvLXN0cmlu ZyBpdGVtbm8pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbCBuaWwgY3VyaXRl bSkpKSkKKyAgICAgICAgICAgKChhbmQgKHN0cmluZy1tYXRjaCAiW0lWWExDRE1pdnhsY2Rt XSsiIGN1cml0ZW0pCisgICAgICAgICAgICAgICAgIChwcm9nbiAKKyAgICAgICAgICAgICAg ICAgICAoc2V0cSB0bXBpdGVtIChtYXRjaC1zdHJpbmcgMCBjdXJpdGVtKSkKKyAgICAgICAg ICAgICAgICAgICAob3IgKD4gKGxlbmd0aCB0bXBpdGVtKSAxKSAKKyAgICAgICAgICAgICAg ICAgICAgICAgKGFuZCAoPSAobGVuZ3RoIHRtcGl0ZW0pIDEpIAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChwcm9nbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNh dmUtZXhjdXJzaW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb3J3YXJk LWxpbmUgLTEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXRxIHByZXZp dGVtIChyc3QtbGlzdC1tYXRjaC1zdHJpbmcgcnN0LXJlLWVudW1lcmF0ZXMpKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAod2hlbiAoc3RyaW5nLW1hdGNoICJbYS16QS1a XSsiIHByZXZpdGVtKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXRx IHByZXZpdGVtIChtYXRjaC1zdHJpbmcgMCBwcmV2aXRlbSkpKSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChvciAoPiAobGVuZ3RoIHByZXZpdGVtKSAxKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICg9IChsZW5ndGggcHJldml0ZW0pIDApKSkpKSkp CisgICAgICAgICAgICAocHJvZ24KKyAgICAgICAgICAgICAgKHN0cmluZy1tYXRjaCAiW0lW WExDRE1pdnhsY2RtXSsiIGN1cml0ZW0pCisgICAgICAgICAgICAgIChpZiAoaXNlYXJjaC1u by11cHBlci1jYXNlLXAgdG1waXRlbSBuaWwpCisgICAgICAgICAgICAgICAgICAocHJvZ24K KyAgICAgICAgICAgICAgICAgICAgKHNldHEgaXRlbW5vIChjYXIgKGNkciAobWVtYmVyIAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWF0Y2gtc3Ry aW5nIDAgKHVwY2FzZSBjdXJpdGVtKSkgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJvbWFuLW51bWJlci1saXN0KSkpKQorICAgICAgICAgICAgICAg ICAgICAoc2V0cSBuZXdpdGVtIChyZXBsYWNlLW1hdGNoIChkb3duY2FzZSBpdGVtbm8pIG5p bCBuaWwgY3VyaXRlbSkpKQorICAgICAgICAgICAgICAgIChwcm9nbgorICAgICAgICAgICAg ICAgICAgKHNldHEgaXRlbW5vIChjYXIgKGNkciAobWVtYmVyIAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hdGNoLXN0cmluZyAwIGN1cml0ZW0pCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbWFuLW51bWJlci1s aXN0KSkpKQorICAgICAgICAgICAgICAgICAgKHNldHEgbmV3aXRlbSAocmVwbGFjZS1tYXRj aCBpdGVtbm8gbmlsIG5pbCBjdXJpdGVtKSkpKSkpCisgICAgICAgICAgICgoc3RyaW5nLW1h dGNoICJbYS15QS1ZXSIgY3VyaXRlbSkKKyAgICAgICAgICAgIChwcm9nbgorICAgICAgICAg ICAgICAoc2V0cSBpdGVtbm8gKDErCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0 cmluZy10by1jaGFyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXRjaC1zdHJp bmcgMCBjdXJpdGVtKSkpKQorICAgICAgICAgICAgICAoc2V0cSBuZXdpdGVtIChyZXBsYWNl LW1hdGNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyLXRvLXN0cmluZyBp dGVtbm8pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbCBuaWwgY3VyaXRlbSkp KSkpCisgICAgIChpbnNlcnQgKGNvbmNhdCAiXG4iIG5ld2l0ZW0pKSkpCisgCisgKGRlZnVu IHJzdC1pbnNlcnQtbGlzdCAoaXRlbW5vKQorICAgIkluc2VydCBhIGxpc3QgaXRlbSBhdCB0 aGUgY3VycmVudCBwb2ludC4KKyAKKyBUaGUgY29tbWFuZCBjYW4gaW5zZXJ0IGEgbmV3IGxp c3Qgb3IgYSBjb250aW51aW5nIGxpc3QuIFdoZW4gaXQgaXMgY2FsbGVkIGF0IGEgCisgbm9u LWxpc3QgbGluZSwgaXQgd2lsbCBwcm9tb3RlIHRvIGluc2VydCBuZXcgbGlzdC4gV2hlbiBp dCBpcyBjYWxsZWQgYXQgYSBsaXN0IAorIGxpbmUsIGl0IHdpbGwgaW5zZXJ0IGEgbGlzdCB3 aXRoIHRoZSBzYW1lIGxpc3Qgc3R5bGUuIAorIAorIDEuIFdoZW4gaW5zZXJ0aW5nIGEgbmV3 IGxpc3Q6IAorIAorIFVzZXIgaXMgYXNrZWQgdG8gc2VsZWN0IHRoZSBpdGVtIHN0eWxlIGZp cnN0LCBmb3IgZXhhbXBsZSAoYSksIGkpLCArLiBVc2UgVEFCIAorIGZvciBjb21wbGV0aXRp b24gYW5kIGNob2ljZXMuCisgCisgIChhKSBJZiB1c2VyIHNlbGVjdHMgYnVsbGV0cyBvciAj LCBpdCdzIGp1c3QgYWRkZWQuIAorICAoYikgSWYgdXNlciBzZWxlY3RzIGVudW1lcmF0ZXMs IGEgZnVydGhlciBwcm9tcHQgaXMgZ2l2ZW4uIFVzZXIgbmVlZCB0byBpbnB1dCBhIAorIHN0 YXJ0aW5nIGl0ZW0sIGZvciBleGFtcGxlICdlJyBmb3IgJ0EpJyBzdHlsZS4gCisgCisgVGhl IHBvc2l0aW9uIG9mIHRoZSBuZXcgbGlzdCBpcyBhcnJhbmdlZCBhY2NvcmRpbmcgd2hldGhl ciBvciBub3QgdGhlIGN1cnJlbnQgbGluZSAKKyBhbmQgdGhlIHByZXZpb3VzIGxpbmUgYXJl IGJsYW5rIGxpbmVzLgorIAorIDIuIFdoZW4gY29udGludWluZyBhIGxpc3QsIG9uZSB0aGlu ZyBuZWVkIHRvIGJlIG5vdGljZWQ6IAorIAorIExpc3Qgc3R5bGUgYWxwaGFiZXRpY2FsIGxp c3QsIHN1Y2ggYXMgJ2EuJywgYW5kIHJvbWFuIG51bWVyaWNhbCBsaXN0LCBzdWNoIGFzICdp LicsIAorIGhhdmUgc29tZSBvdmVybGFwcGluZyBpdGVtcywgZm9yIGV4YW1wbGUgJ3YuJyBU aGUgZnVuY3Rpb24gY2FuIGRlYWwgd2l0aCB0aGUgCisgcHJvYmxlbSBlbGVnYW50bHkgaW4g bW9zdCBzaXR1YXRpb25zLiBCdXQgd2hlbiB0aG9zZSBvdmVybGFwcGVkIGxpc3QgcHJvY2Vl ZGVkIAorIGJ5IGEgYmxhbmsgbGluZSwgaXQgaXMgaGFyZCB0byBkZXRlcm1pbmUgd2hpY2gg dHlwZSB0byB1c2UgYXV0b21hdGljYWxseS4gVGhlIAorIGZ1bmN0aW9uIHVzZXMgcm9tYW4g bnVtZXJpY2FsIGxpc3QgZGVmYXVsdGx5LiBJZiB5b3Ugd2FudCBhbHBoYWJldGljYWwgbGlz dCwganVzdCAKKyB1c2UgYSBwcmVmaXggKFxcW3VuaXZlcnNhbC1hcmd1bWVudF0pLgorICIK KyAgIChpbnRlcmFjdGl2ZSAiUCIpCisgICAoaWYgKGVxdWFsIChyc3QtbGlzdC1tYXRjaC1z dHJpbmcgcnN0LXJlLWl0ZW1zKSAiIikKKyAgICAgICAoaWYgKG51bGwgY3VycmVudC1wcmVm aXgtYXJnKQorICAgICAgICAgICAocnN0LWluc2VydC1saXN0LW5ldy1idWxsZXQpCisgICAg ICAgICAocnN0LWluc2VydC1saXN0LW5ldy1pdGVtIGl0ZW1ubykpCisgICAgIChyc3QtaW5z ZXJ0LWxpc3QtY29udGludWUpKSkKKyAKKyA7PT09PT09PT09PT09PT0KKyAKICAoZGVmdW4g cnN0LWZpbmQtcGZ4LWluLXJlZ2lvbiAoYmVnIGVuZCBwZngtcmUpCiAgICAiRmluZCBhbGwg dGhlIHBvc2l0aW9ucyBvZiBwcmVmaXhlcyBpbiByZWdpb24gYmV0d2VlbiBCRUcgYW5kIEVO RC4KICBUaGlzIGlzIHVzZWQgdG8gZmluZCBidWxsZXRzIGFuZCBlbnVtZXJhdGVkIGxpc3Qg aXRlbXMuICBQRlgtUkUKKioqKioqKioqKioqKioqIGlzIGEgcmVndWxhciBleHByZXNzaW9u IGZvciBtYXRjaGluZyB0aGUKKioqIDE1MzEsMTU2MyAqKioqCiAgCShmb3J3YXJkLWxpbmUg MSkpICkKICAgICAgKG5yZXZlcnNlIHBmeCkpKQogIAotIChkZWZ2YXIgcnN0LXJlLWJ1bGxl dHMKLSAgIChmb3JtYXQgIlxcKFslc11bIFx0XVxcKVteIFx0XSIgKHJlZ2V4cC1xdW90ZSAo Y29uY2F0IHJzdC1idWxsZXRzKSkpCi0gICAiUmVnZXhwIGZvciBmaW5kaW5nIGJ1bGxldHMu IikKLSAKLSA7OyAoZGVmdmFyIHJzdC1yZS1lbnVtZXJhdGlvbnMKLSA7OyAgICJcXChcXCgj XFx8WzAtOV0rXFwpXFwuWyBcdF1cXClbXiBcdF0iCi0gOzsgICAiUmVnZXhwIGZvciBmaW5k aW5nIGJ1bGxldHMuIikKLSAKLSAoZGVmdmFyIHJzdC1yZS1pdGVtcwotICAgKGZvcm1hdCAi XFwoJXNcXHwlc1xcKVteIFx0XSIKLSAJICAoZm9ybWF0ICJbJXNdWyBcdF0iIChyZWdleHAt cXVvdGUgKGNvbmNhdCByc3QtYnVsbGV0cykpKQotIAkgICJcXCgjXFx8WzAtOV0rXFwpXFwu WyBcdF0iKQotICAgIlJlZ2V4cCBmb3IgZmluZGluZyBidWxsZXRzLiIpCi0gCi0gKGRlZnZh ciByc3QtcHJlZmVycmVkLWJ1bGxldHMKLSAgICcoPy0gPyogPyspCi0gICAiTGlzdCBvZiBm YXZvdXJpdGUgYnVsbGV0cyB0byBzZXQgZm9yIHN0cmFpZ2h0ZW5pbmcgYnVsbGV0cy4iKQot IAogIChkZWZ1biByc3Qtc3RyYWlnaHRlbi1idWxsZXRzLXJlZ2lvbiAoYmVnIGVuZCkKICAg ICJNYWtlIGFsbCB0aGUgYnVsbGV0ZWQgbGlzdCBpdGVtcyBpbiB0aGUgcmVnaW9uIGNvbnNp c3RlbnQuCiAgVGhlIHJlZ2lvbiBpcyBzcGVjaWZpZWQgYmV0d2VlbiBCRUcgYW5kIEVORC4g IFlvdSBjYW4gdXNlIHRoaXMKICBhZnRlciB5b3UgaGF2ZSBtZXJnZWQgbXVsdGlwbGUgYnVs bGV0ZWQgbGlzdHMgdG8gbWFrZSB0aGVtIHVzZQogIHRoZSBzYW1lL2NvcnJlY3QvY29uc2lz dGVudCBidWxsZXQgY2hhcmFjdGVycy4KICAKISBTZWUgdmFyaWFibGUgYHJzdC1wcmVmZXJy ZWQtYnVsbGV0cycgZm9yIHRoZSBsaXN0IG9mIGJ1bGxldHMgdG8KISBhZGp1c3QuICBJZiBi dWxsZXRzIGFyZSBmb3VuZCBvbiBsZXZlbHMgYmV5b25kIHRoZQohIGByc3QtcHJlZmVycmVk LWJ1bGxldHMnIGxpc3QsIHRoZXkgYXJlIG5vdCBtb2RpZmllZC4iCiAgICAoaW50ZXJhY3Rp dmUgInIiKQogIAogICAgKGxldCAoKGJ1bGxldHMgKHJzdC1maW5kLXBmeC1pbi1yZWdpb24g YmVnIGVuZAotLS0gMTc5MiwxODA2IC0tLS0KICAJKGZvcndhcmQtbGluZSAxKSkgKQogICAg ICAobnJldmVyc2UgcGZ4KSkpCiAgCiAgKGRlZnVuIHJzdC1zdHJhaWdodGVuLWJ1bGxldHMt cmVnaW9uIChiZWcgZW5kKQogICAgIk1ha2UgYWxsIHRoZSBidWxsZXRlZCBsaXN0IGl0ZW1z IGluIHRoZSByZWdpb24gY29uc2lzdGVudC4KICBUaGUgcmVnaW9uIGlzIHNwZWNpZmllZCBi ZXR3ZWVuIEJFRyBhbmQgRU5ELiAgWW91IGNhbiB1c2UgdGhpcwogIGFmdGVyIHlvdSBoYXZl IG1lcmdlZCBtdWx0aXBsZSBidWxsZXRlZCBsaXN0cyB0byBtYWtlIHRoZW0gdXNlCiAgdGhl IHNhbWUvY29ycmVjdC9jb25zaXN0ZW50IGJ1bGxldCBjaGFyYWN0ZXJzLgogIAohIFNlZSB2 YXJpYWJsZSBgcnN0LWJ1bGxldHMnIGZvciB0aGUgbGlzdCBvZiBidWxsZXRzIHRvIGFkanVz dC4gIAohIElmIGJ1bGxldHMgYXJlIGZvdW5kIG9uIGxldmVscyBiZXlvbmQgdGhlIGByc3Qt YnVsbGV0cycgbGlzdCwgCiEgdGhleSBhcmUgbm90IG1vZGlmaWVkLiIKICAgIChpbnRlcmFj dGl2ZSAiciIpCiAgCiAgICAobGV0ICgoYnVsbGV0cyAocnN0LWZpbmQtcGZ4LWluLXJlZ2lv biBiZWcgZW5kCioqKioqKioqKioqKioqKiBhZGp1c3QuICBJZiBidWxsZXRzIGFyZSBmb3Vu ZCBvbiBsZXZlbHMKKioqIDE1NzYsMTU4MiAqKioqCiAgICAgIChsZXQgKChwb3NsaXN0ICgp KSkgICAgICAgICAgICAgICAgIDsgTGlzdCBvZiAoaW5kZW50IC4gcG9zaXRpb25zKS4KICAg ICAgICAobWFwaGFzaCAobGFtYmRhICh4IHkpIChwdXNoIChjb25zIHggeSkgcG9zbGlzdCkp IGxldnRhYmxlKQogIAohICAgICAgIChsZXQgKChidWxsZXRzIHJzdC1wcmVmZXJyZWQtYnVs bGV0cykpCiAgICAgICAgICAoZG9saXN0ICh4IChzb3J0IHBvc2xpc3QgJ2Nhci1sZXNzLXRo YW4tY2FyKSkKICAgICAgICAgICAgKHdoZW4gYnVsbGV0cwogICAgICAgICAgICAgIDs7IEFw cGx5IHRoZSBjaGFyYWN0ZXJzLgotLS0gMTgxOSwxODI1IC0tLS0KICAgICAgKGxldCAoKHBv c2xpc3QgKCkpKSAgICAgICAgICAgICAgICAgOyBMaXN0IG9mIChpbmRlbnQgLiBwb3NpdGlv bnMpLgogICAgICAgIChtYXBoYXNoIChsYW1iZGEgKHggeSkgKHB1c2ggKGNvbnMgeCB5KSBw b3NsaXN0KSkgbGV2dGFibGUpCiAgCiEgICAgICAgKGxldCAoKGJ1bGxldHMgcnN0LWJ1bGxl dHMpKQogICAgICAgICAgKGRvbGlzdCAoeCAoc29ydCBwb3NsaXN0ICdjYXItbGVzcy10aGFu LWNhcikpCiAgICAgICAgICAgICh3aGVuIGJ1bGxldHMKICAgICAgICAgICAgICA7OyBBcHBs eSB0aGUgY2hhcmFjdGVycy4KKioqKioqKioqKioqKioqIGFkanVzdC4gIElmIGJ1bGxldHMg YXJlIGZvdW5kIG9uIGxldmVscwoqKiogMTU4NiwxNTkxICoqKioKLS0tIDE4MjksMTgzNyAt LS0tCiAgICAgICAgICAgICAgICAoaW5zZXJ0IChzdHJpbmcgKGNhciBidWxsZXRzKSkpKQog ICAgICAgICAgICAgIChzZXRxIGJ1bGxldHMgKGNkciBidWxsZXRzKSkpKSkpKSkKICAKKyA7 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAor IAogIChkZWZ1biByc3QtcnN0cmlwIChzdHIpCiAgICAiU3RyaXBzIHRoZSB3aGl0ZXNwYWNl IGF0IHRoZSBlbmQgb2Ygc3RyaW5nIFNUUi4iCiAgICAoc3RyaW5nLW1hdGNoICJbIFx0XG5d KlxcJyIgc3RyKQoqKioqKioqKioqKioqKiogZmlsZS13cml0ZSBob29rIHRvIGFsd2F5cyBt YWtlIGl0IHVwLXRvLQoqKiogMTkxMiwxOTE4ICoqKioKICAgIChsZXQgKChwIChwb2ludCkp KQogICAgICAoc2F2ZS1leGN1cnNpb24KICAgICAgICAod2hlbiAocnN0LXRvYy1pbnNlcnQt ZmluZC1kZWxldGUtY29udGVudHMpCiEgICAgICAgICAoaW5zZXJ0ICJcbiAgICAiKQogIAko cnN0LXRvYy1pbnNlcnQpCiAgCSkpCiAgICAgIDs7IFNvbWVob3cgc2F2ZS1leGN1cnNpb24g ZG9lcyBub3QgcmVhbGx5IHdvcmsgd2VsbC4KLS0tIDIxNTgsMjE2NCAtLS0tCiAgICAobGV0 ICgocCAocG9pbnQpKSkKICAgICAgKHNhdmUtZXhjdXJzaW9uCiAgICAgICAgKHdoZW4gKHJz dC10b2MtaW5zZXJ0LWZpbmQtZGVsZXRlLWNvbnRlbnRzKQohICAgICAgICAgKGluc2VydCAi XG4gICAiKQogIAkocnN0LXRvYy1pbnNlcnQpCiAgCSkpCiAgICAgIDs7IFNvbWVob3cgc2F2 ZS1leGN1cnNpb24gZG9lcyBub3QgcmVhbGx5IHdvcmsgd2VsbC4KKioqKioqKioqKioqKioq IGRldGFpbHMgY2hlY2sgdGhlIFJzdCBGYWNlcyBEZWZhdWx0cyBncm8KKioqIDI4MjMsMjgy OSAqKioqCiAgICAgICAgMSByc3QtYmxvY2stZmFjZSkKICAgICAgIDs7IGBFbnVtZXJhdGVk IExpc3RzYF8KICAgICAgIChsaXN0CiEgICAgICAgKGNvbmNhdCByZS1ib2wgIlxcKCg/XFwo I1xcfFswLTldK1xcfFtBLVphLXpdXFx8W0lWWExDTWl2eGxjbV0rXFwpWy4pXSIKICAJICAg ICAgcmUtYmxrc2VwMSAiXFwpIikKICAgICAgICAxIHJzdC1ibG9jay1mYWNlKQogICAgICAg OzsgYERlZmluaXRpb24gTGlzdHNgXyBGSVhNRTogbWlzc2luZwotLS0gMzA2OSwzMDc1IC0t LS0KICAgICAgICAxIHJzdC1ibG9jay1mYWNlKQogICAgICAgOzsgYEVudW1lcmF0ZWQgTGlz dHNgXwogICAgICAgKGxpc3QKISAgICAgICAoY29uY2F0IHJlLWJvbCAiXFwoKD9cXCgjXFx8 WzAtOV0rXFx8W0EtWmEtel1cXHxbSVZYTENETWl2eGxjZG1dK1xcKVsuKV0iCiAgCSAgICAg IHJlLWJsa3NlcDEgIlxcKSIpCiAgICAgICAgMSByc3QtYmxvY2stZmFjZSkKICAgICAgIDs7 IGBEZWZpbml0aW9uIExpc3RzYF8gRklYTUU6IG1pc3NpbmcKKioqKioqKioqKioqKioqIGVu dGVyZWQuIikKKioqIDMxODksMzE5NCAqKioqCi0tLSAzNDM1LDQwNjcgLS0tLQogIAkoc2V0 LW1hdGNoLWRhdGEgbXRjKQogIAl0KSkpKQogIAorIAwKKyAgOzs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7OworIDs7IGRpcmVjdGl2ZXMgYW5kIGh5cGVybGlua3MuCisgCisgOz09PT09IGRp cmVjdGl2ZSB0eXBlIGxpc3QgYW5kIGNvbW1hbmQgPT09PT0KKyAKKyAoZGVmdmFyIHJzdC1k aXJlY3RpdmUtdHlwZS1hbGlzdAorICAgJygoImRlZmluaXRpb24iIC4gcnN0LWluc2VydC1k ZWZpbml0aW9uKSAKKyAgICAgKCJmaWVsZCIgLiByc3QtaW5zZXJ0LWZpZWxkKSAKKyAgICAg KCJhZG1vbml0aW9uIiAuIHJzdC1pbnNlcnQtYWRtb25pdGlvbikKKyAgICAgKCJpbWFnZSIg LiByc3QtaW5zZXJ0LWltYWdlKSAKKyAgICAgKCJmaWd1cmUiIC4gcnN0LWluc2VydC1maWd1 cmUpCisgICAgICgidG9waWMiIC4gcnN0LWluc2VydC10b3BpYykgCisgICAgICgic2lkZWJh ciIgLiByc3QtaW5zZXJ0LXNpZGViYXIpIAorICAgICAoImxpbmUtYmxvY2siIC4gcnN0LWlu c2VydC1saW5lLWJsb2NrKSAKKyAgICAgKCJwYXJzZWQtbGl0ZXJhbCIgLiByc3QtaW5zZXJ0 LXBhcnNlZC1saXRlcmFsKSAKKyAgICAgKCJydWJyaWMiIC4gcnN0LWluc2VydC1ydWJyaWMp IAorICAgICAoImVwaWdyYXBoIiAuIHJzdC1pbnNlcnQtZXBpZ3JhcGgpIAorICAgICAoImhp Z2hsaWdodHMiIC4gcnN0LWluc2VydC1oaWdobGlnaHRzKSAKKyAgICAgKCJwdWxsLXF1b3Rl IiAuIHJzdC1pbnNlcnQtcHVsbC1xdW90ZSkgCisgICAgICgiY29tcG91bmQiIC4gcnN0LWlu c2VydC1jb21wb3VuZCkgCisgICAgICgiY29udGFpbmVyIiAuIHJzdC1pbnNlcnQtY29udGFp bmVyKSAKKyAgICAgKCJ0YWJsZSIgLiByc3QtaW5zZXJ0LXRhYmxlKSAKKyAgICAgKCJjc3Yt dGFibGUiIC4gcnN0LWluc2VydC1jc3YtdGFibGUpCisgICAgICgibGlzdC10YWJsZSIgLiBy c3QtaW5zZXJ0LWxpc3QtdGFibGUpCisgICAgICgiY29udGVudHMiIC4gcnN0LWluc2VydC1j b250ZW50cykgCisgICAgICgic2VjdG51bSIgLiByc3QtaW5zZXJ0LXNlY3RudW0pIAorICAg ICAoInJlcGxhY2UiIC4gcnN0LWluc2VydC1yZXBsYWNlKSAKKyAgICAgKCJ1bmljb2RlIiAu IHJzdC1pbnNlcnQtdW5pY29kZSkgCisgICAgICgiZGF0ZSIgLiByc3QtaW5zZXJ0LWRhdGUp IAorICAgICAoImluY2x1ZGUiIC4gcnN0LWluc2VydC1pbmNsdWRlKSAKKyAgICAgKCJyYXci IC4gcnN0LWluc2VydC1yYXcpKQorICAgIkxpc3Qgb2YgZGlyZWN0aXZlIGluc2VydGluZyBm dW5jdGlvbnMgb2YgZGlyZWN0aXZlIHR5cGVzLiIpCisgCisgKGRlZnZhciByc3QtZGlyZWN0 aXZlLXR5cGVzCisgICAnKCJkZWZpbml0aW9uIiAiZmllbGQiICJhZG1vbml0aW9uIiAKKyAg ICAgImltYWdlIiAiZmlndXJlIiAKKyAgICAgInRvcGljIiAic2lkZWJhciIgImxpbmUtYmxv Y2siICJwYXJzZWQtbGl0ZXJhbCIgInJ1YnJpYyIgImVwaWdyYXBoIiAKKyAgICAgImhpZ2hs aWdodHMiICJwdWxsLXF1b3RlIiAiY29tcG91bmQiICJjb250YWluZXIiIAorICAgICAidGFi bGUiICJjc3YtdGFibGUiICJsaXN0LXRhYmxlIgorICAgICAiY29udGVudHMiICJzZWN0bnVt IiAiaW5jbHVkZSIgInJhdyIKKyAgICAgInJlcGxhY2UiICJ1bmljb2RlIiAiZGF0ZSIKKyAp CisgICAiTGlzdCBvZiBkaXJlY3RpdmUgdHlwZXMiKQorIAorIChkZWZ2YXIgcnN0LWRpcmVj dGl2ZS1vcHRpb24tbGlzdAorICAgJygoImRlZmluaXRpb24iIHJzdC1vcHRpb24tZGVmaW5p dGlvbiB0KSAKKyAgICAgKCJmaWVsZCIgcnN0LW9wdGlvbi1maWVsZCB0KSAKKyAgICAgKCJh ZG1vbml0aW9uIiByc3Qtb3B0aW9uLWFkbW9uaXRpb24gbmlsKQorICAgICAoImltYWdlIiBy c3Qtb3B0aW9uLWltYWdlIG5pbCkgCisgICAgICgiZmlndXJlIiByc3Qtb3B0aW9uLWZpZ3Vy ZSB0KQorICAgICAoInRvcGljIiBuaWwgdCkgCisgICAgICgic2lkZWJhciIgcnN0LW9wdGlv bi1zaWRlYmFyIHQpCisgICAgICgibGluZS1ibG9jayIgbmlsIHQpIAorICAgICAoInBhcnNl ZC1saXRlcmFsIiBuaWwgdCkgCisgICAgICgicnVicmljIiBuaWwgbmlsKSAKKyAgICAgKCJl cGlncmFwaCIgbmlsIHQpIAorICAgICAoImhpZ2hsaWdodHMiIG5pbCB0KSAKKyAgICAgKCJw dWxsLXF1b3RlIiBuaWwgdCkgCisgICAgICgiY29tcG91bmQiIG5pbCB0KSAKKyAgICAgKCJj b250YWluZXIiIG5pbCB0KSAKKyAgICAgKCJ0YWJsZSIgbmlsIHQpIAorICAgICAoImNzdi10 YWJsZSIgcnN0LW9wdGlvbi1jc3YtdGFibGUgdCkKKyAgICAgKCJsaXN0LXRhYmxlIiByc3Qt b3B0aW9uLWxpc3QtdGFibGUgdCkKKyAgICAgKCJjb250ZW50cyIgcnN0LWNvbnRlbnRzLW9w dGlvbiBuaWwpIAorICAgICAoInNlY3RudW0iIHJzdC1zZWN0bnVtLW9wdGlvbiBuaWwpIAor ICAgICAoInJlcGxhY2UiIG5pbCBuaWwpIAorICAgICAoInVuaWNvZGUiIHJzdC1vcHRpb24t dW5pY29kZSBuaWwpIAorICAgICAoImRhdGUiIG5pbCBuaWwpIAorICAgICAoImluY2x1ZGUi IHJzdC1pbmNsdWRlLW9wdGlvbiBuaWwpIAorICAgICAoInJhdyIgcnN0LW9wdGlvbi1yYXcg dCkpCisgICAiTGlzdCBvZiBvcHRpb24gZnVuY3Rpb25zIG9mIGRpcmVjdGl2ZSB0eXBlcy4i KQorIAorIChkZWZ1biByc3QtYWRkLWRpcmVjdGl2ZS10eXBlICh0eXBlIGRpcmVjdGZ1bmMg b3B0YWxpc3QgY29udGVudCkKKyAgICJBZGRpbmcgbmV3IGRpcmVjdGl2ZSB0byBkaXJlY3Rp dmUgYWxpc3QgYW5kIGNvbXBsZXRpb24gbGlzdC4KKyAKKyBVc2UgdGhlIGZvbGxvd2luZyB3 YXkgdG8gYWRkIGRpcmVjdGl2ZSB0eXBlLgorIAorICAgKHJzdC1hZGQtZGlyZWN0aXZlLXR5 cGUgXCJkZWZpbml0aW9uXCIgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAncnN0LWlu c2VydC1kZWZpbml0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAncnN0LWRpcmVj dGl2ZS1vcHRpb25zIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRlbnQtcHJl c2VuY2UtYm9vbGVhbikKKyAiCisgICAoYWRkLXRvLWxpc3QgJ3JzdC1kaXJlY3RpdmUtdHlw ZXMgdHlwZSkKKyAgIChhZGQtdG8tbGlzdCAncnN0LWRpcmVjdGl2ZS10eXBlLWFsaXN0IChj b25zIHR5cGUgZGlyZWN0ZnVuYykpCisgICAoYWRkLXRvLWxpc3QgJ3JzdC1kaXJlY3RpdmUt b3B0aW9uLWxpc3QgKGxpc3QgdHlwZSBvcHRhbGlzdCBjb250ZW50KSkpCisgCisgKGRlZnVu IHJzdC1hZGQtZGlyZWN0aXZlcyAoZGlyZWN0bGlzdCkKKyAgICJNZXRhIGZ1bmN0aW9uIG9m IGFkZCBkaXJlY3RpdmVzLiAKKyAKKyBFbGVtZW50cyBvZiBkaXJlY3RpdmVzIHNob3VsZCBh cnJhbmdlZCBhcyAKKyAKKyAgICAodHlwZSBmdW5jaXRvbiBvcHRpb24tbGlzdCBjb250ZW50 LWJvb2xlYW4pLiAKKyAiCisgICAoZG9saXN0IChkaXJlY3QgZGlyZWN0bGlzdCkKKyAgICAg KGV2YWwgKGNvbnMgJ3JzdC1hZGQtZGlyZWN0aXZlLXR5cGUgZGlyZWN0KSkpKQorIAorIChk ZWZ1biByc3QtaW5zZXJ0LWRpcmVjdGl2ZSAoKQorICAgIk1ldGEtZnVuY3Rpb24gb2YgYWxs IGRpcmVjdGl2ZXMuIgorICAgKGludGVyYWN0aXZlKQorICAgKGxldCAodHlwZSBvcHRsaXN0 IGNvbnRlbnQgb3B0b3JkZXIpCisgICAgIChzZXRxIHR5cGUgKGNvbXBsZXRpbmctcmVhZCAi UHJvdmlkaW5nIGRpcmVjdGl2ZSB0eXBlOiAiIHJzdC1kaXJlY3RpdmUtdHlwZXMpKQorICAg ICAoZnVuY2FsbCAoY2RyIChhc3NvYyB0eXBlIHJzdC1kaXJlY3RpdmUtdHlwZS1hbGlzdCkp KQorICAgICAoc2V0cSBvcHRsaXN0IChldmFsIChjYXIgKGNkciAoYXNzb2MgdHlwZSByc3Qt ZGlyZWN0aXZlLW9wdGlvbi1saXN0KSkpKSkKKyAgICAgKHNldHEgY29udGVudCAoZXZhbCAo Y2FkciAoY2RyIChhc3NvYyB0eXBlIHJzdC1kaXJlY3RpdmUtb3B0aW9uLWxpc3QpKSkpKQor ICAgICAoaWYgb3B0bGlzdAorICAgICAgICAgKHByb2duCisgICAgICAgICAgIChpZiAobm90 IG9wdG9yZGVyKQorICAgICAgICAgICAgICAgKHByb2duCisgICAgICAgICAgICAgICAgIChz ZXRxIG9wdG9yZGVyIDEpCisgICAgICAgICAgICAgICAgIChpbnNlcnQgIiAgICIpKSkKKyAg ICAgICAgICAgKHdoaWxlICh5LW9yLW4tcCAiU2V0IGRpcmVjdGl2ZSBvcHRpb24ocyk/ICIp CisgICAgICAgICAgICAgKHJzdC1vcHRpb24tZGlyZWN0aXZlIG9wdGxpc3QpKSkpCisgICAg IChpZiBjb250ZW50CisgICAgICAgICAobmV3bGluZS1hbmQtaW5kZW50KQorICAgICAgIChu ZXdsaW5lLWFuZC1pbmRlbnQpKSkpCisgCisgOz09PT0gZGlyZWN0aXZlIGFuZCBsaXN0IGRl ZmluaXRpb25zID09PT0KKyAKKyA7LS0tIGxpc3QgbG9va3MgbGlrZSBkaXJlY3RpdmUgLS0t CisgCisgKGRlZnVuIHJzdC1pbnNlcnQtZGVmaW5pdGlvbiAoKQorICAgIkluc2VydCBhIGRl ZmluaXRpb24gbGlzdCIKKyAgIChpbnRlcmFjdGl2ZSkKKyAgIChsZXQgKHRlcm0gY2xhc3Np ZmllcnMgY2xhc3NlbCkKKyAgICAgKHNldHEgdGVybSAocmVhZC1zdHJpbmcgIlByb3ZpZGlu ZyB0aGUgZGVmaW5pdGlvbidzIHRlcm06ICIpKQorICAgICAoc2V0cSBjbGFzc2lmaWVycyAo cmVhZC1zdHJpbmcgIlByb3ZpZGluZyBjbGFzc2lmaWVyKHMpIChpZiBtYW55LCBzZXBlcmF0 ZWQgYnkgJywgJyk6ICIpKQorICAgICAoaWYgKGVxdWFsIGNsYXNzaWZpZXJzICIiKQorICAg ICAgICAgKGluc2VydCB0ZXJtICJcbiAgICAiKQorICAgICAgIChwcm9nbgorICAgICAgICAg KHNldHEgY2xhc3NpZmllcnMgKHNwbGl0LXN0cmluZyBjbGFzc2lmaWVycyAiLCAiKSkKKyAg ICAgICAgIChkb2xpc3QgKHRtcGNsYXNzIGNsYXNzaWZpZXJzKQorICAgICAgICAgICAoc2V0 cSBjbGFzc2VsIChjb25jYXQgY2xhc3NlbCAiIDogIiB0bXBjbGFzcykpKQorICAgICAgICAg KGluc2VydCB0ZXJtIGNsYXNzZWwgIlxuICAgICIpKSkpKQorIAorIChkZWZ1biByc3QtaW5z ZXJ0LWZpZWxkICgpCisgICAiSW5zZXJ0IGEgZmllbGQgbGlzdC4iCisgICAoaW50ZXJhY3Rp dmUpCisgICAobGV0IChmaWVsZCB2YWx1ZSkKKyAgICAgKHNldHEgZmllbGQgKHJlYWQtc3Ry aW5nICJQcm92aWRpbmcgZmllbGQ6ICIpKQorICAgICAoc2F2ZS1leGN1cnNpb24KKyAgICAg ICAoYmVnaW5uaW5nLW9mLWxpbmUpCisgICAgICAgKGluc2VydCAoY29uY2F0ICI6IiBmaWVs ZCAiOiAiKSkpKSkKKyAKKyA7LS0tIGZ1bmN0aW9uIGZvciBkZWZpbmluZyBkaXJlY3RpdmVz IC0tLQorIAorIChkZWZ1biByc3QtaW5zZXJ0LWRpcmVjdGl2ZS10eXBlICh0eXBlICZvcHRp b25hbCBhcmd1bWVudCkKKyAgICJJbnNlcnQgdGhlIGZpcnN0IGxpbmUgb2YgZGlyZWN0aXZl IgorICAgKGluc2VydCAoY29uY2F0ICIuLiAiIHR5cGUgIjo6ICIgYXJndW1lbnQpKQorICAg KG5ld2xpbmUtYW5kLWluZGVudCkpCisgCisgKGRlZnVuIHJzdC1pbnNlcnQtZGlyZWN0aXZl LW9wdGlvbiAob3B0aW9uICZvcHRpb25hbCB2YWx1ZSkKKyAgICJJbnNlcnQgYW4gb3B0aW9u IGxpbmUgb2YgZGlyZWN0aXZlIgorICAgKGluc2VydCAoY29uY2F0ICI6IiBvcHRpb24gIjog IiB2YWx1ZSkpKQorIAorIChkZWZ1biByc3QtaW5zZXJ0LW9wdGlvbiAoKQorICAgIkluc2Vy dCBhIGRpcmVjdGl2ZSBvcHRpb24uIgorICAgKGludGVyYWN0aXZlKQorICAgKGxldCAob3B0 aW9uIHZhbHVlKQorICAgICAoc2F2ZS1leGN1cnNpb24KKyAgICAgICAocmUtc2VhcmNoLWJh Y2t3YXJkICJcXC5cXC4gXFxzdys6OiIpCisgICAgICAgKHNldHEgb3B0aW9uIChyZWFkLXN0 cmluZyAiUHJvdmlkaW5nIGRpcmVjdGl2ZSBvcHRpb246ICIpKQorICAgICAgIChzZXRxIHZh bHVlIChyZWFkLXN0cmluZyAiUHJvdmlkaW5nIG9wdGlvbiB2YWx1ZTogIikpCisgICAgICAg KGVuZC1vZi1saW5lKQorICAgICAgIChuZXdsaW5lLWFuZC1pbmRlbnQpCisgICAgICAgKGlu c2VydCAiICAgIikKKyAgICAgICAocnN0LWluc2VydC1kaXJlY3RpdmUtb3B0aW9uIG9wdGlv biB2YWx1ZSkpKSkKKyAKKyAoZGVmdW4gcnN0LW9wdGlvbi1kaXJlY3RpdmUgKG9wdGFsaXN0 KQorICAgIkluc2VydCBkaXJlY3RpdmUgb3B0aW9ucyBpbiBkaXJlY3RpdmUgaW5zZXJ0aW5n IGZ1bmN0aW9uLiIKKyAgIChsZXQgKG9wdGxpc3Qgb3B0aW9uIHR5cGUgdmFsdWUpCisgICAg IChzZXRxIG9wdGxpc3QgKG1hcGNhciAnY2FyIG9wdGFsaXN0KSkKKyAgICAgKHNldHEgb3B0 aW9uIChjb21wbGV0aW5nLXJlYWQgIlByb3ZpZGluZyBvcHRpb246ICIgb3B0bGlzdCkpCisg ICAgIChzZXRxIHR5cGUgKGNhciAoY2RyIChhc3NvYyBvcHRpb24gb3B0YWxpc3QpKSkpCisg ICAgIChzZXRxIHZhbHVlCisgICAgICAgICAgIChjb25kIAorICAgICAgICAgICAgKChlcXVh bCB0eXBlICJmbGFnIikgbmlsKQorICAgICAgICAgICAgKChlcXVhbCB0eXBlICJvcHRpb24i KSAoY29tcGxldGluZy1yZWFkIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIlByb3ZpZGluZyBvcHRpb25hbCB2YWx1ZTogIiAKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChjYWRyIChjZHIgKGFzc29jIG9wdGlvbiBvcHRhbGlzdCkpKSkp CisgICAgICAgICAgICAoKGVxdWFsIHR5cGUgIm51bWJlciIpIChudW1iZXItdG8tc3RyaW5n IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlYWQtbnVtYmVyICJQ cm92aWRpbmcgbnVtZXJpYyB2YWx1ZTogIikpKQorICAgICAgICAgICAgKChlcXVhbCB0eXBl ICJzdHJpbmciKSAocmVhZC1zdHJpbmcgIlByb3ZpZGluZyB2YWx1ZTogIikpKSkKKyAgICAg KHJzdC1pbnNlcnQtZGlyZWN0aXZlLW9wdGlvbiBvcHRpb24gdmFsdWUpCisgICAgIChuZXds aW5lLWFuZC1pbmRlbnQpKSkKKyAKKyA7LS0tIGRpcmVjdGl2ZXMgLS0tCisgCisgKGRlZnVu IHJzdC1pbnNlcnQtYWRtb25pdGlvbiAoKQorICAgIkluc2VydCBhIGFkbW9uaXRpb24uIgor ICAgKGludGVyYWN0aXZlKQorICAgKGxldCAoYWRtb24gYXJndSkKKyAgICAgKHNldHEgYWRt b24gKHJlYWQtc3RyaW5nICJQcm92aWRpbmcgYWRtb25pdGlvbiB0eXBlOiAiKSkKKyAgICAg KHNldHEgYXJndSAocmVhZC1zdHJpbmcgIlByb3ZpZGluZyBhZG1vbml0aW9uIGRlc2NyaXB0 aW9uOiAiKSkKKyAgICAgKHJzdC1pbnNlcnQtZGlyZWN0aXZlLXR5cGUgYWRtb24gYXJndSkp KQorIAorIChkZWZ1biByc3QtaW5zZXJ0LWltYWdlICgpCisgICAiSW5zZXJ0IGEgaW1hZ2Uu IgorICAgKGludGVyYWN0aXZlKQorICAgKGxldCAoYXJnKQorICAgICAoc2V0cSBhcmcgKHJl YWQtc3RyaW5nICJQcm92aWRpbmcgaW1hZ2UgYW5kIGl0cyBwYXRoOiAiKSkKKyAgICAgKHJz dC1pbnNlcnQtZGlyZWN0aXZlLXR5cGUgImltYWdlIiBhcmcpKSkKKyAKKyAoZGVmdmFyIHJz dC1vcHRpb24taW1hZ2UKKyAgICcoKCJhbGlnbiIgIm9wdGlvbiIgKCJ0b3AiICJtaWRkbGUi ICJib3R0b20iICJsZWZ0IiAiY2VudGVyIiAicmlnaHQiKSkKKyAgICAgKCJ3aWR0aCIgInN0 cmluZyIgIjMwMCIpCisgICAgICgiaGVpZ2h0IiAic3RyaW5nIiAiMzAwIikKKyAgICAgKCJz Y2FsZSIgIm51bWJlciIgODApCisgICAgICgiYWx0IiAic3RyaW5nIiAiIikKKyAgICAgKCJ0 YXJnZXQiICJzdHJpbmciICIiKSkpCisgCisgKGRlZnVuIHJzdC1pbnNlcnQtZmlndXJlICgp CisgICAiSW5zZXJ0IGEgaW1hZ2UuIgorICAgKGludGVyYWN0aXZlKQorICAgKGxldCAoYXJn KQorICAgICAoc2V0cSBhcmcgKHJlYWQtc3RyaW5nICJQcm92aWRpbmcgZmlndXJlIGFuZCBp dHMgcGF0aDogIikpCisgICAgIChyc3QtaW5zZXJ0LWRpcmVjdGl2ZS10eXBlICJmaWd1cmUi IGFyZykpKQorIAorIChkZWZ2YXIgcnN0LW9wdGlvbi1maWd1cmUKKyAgICcoKCJhbGlnbiIg Im9wdGlvbiIgKCJsZWZ0IiAiY2VudGVyIiAicmlnaHQiKSkKKyAgICAgKCJ3aWR0aCIgInN0 cmluZyIgIjMwMCIpCisgICAgICgiaGVpZ2h0IiAic3RyaW5nIiAiMzAwIikKKyAgICAgKCJz Y2FsZSIgIm51bWJlciIgODApCisgICAgICgiZmlnd2lkdGgiICJzdHJpbmciICIzNTAiKQor ICAgICAoImFsdCIgInN0cmluZyIgIiIpCisgICAgICgidGFyZ2V0IiAic3RyaW5nIiAiIikp KQorIAorIChkZWZ1biByc3QtaW5zZXJ0LXRvcGljICgpCisgICAiSW5zZXJ0IGEgdG9waWMu IgorICAgKGludGVyYWN0aXZlKQorICAgKGxldCAoYXJnKQorICAgICAoc2V0cSBhcmcgKHJl YWQtc3RyaW5nICJQcm92aWRpbmcgdG9waWMgdGl0bGU6ICIpKQorICAgICAocnN0LWluc2Vy dC1kaXJlY3RpdmUtdHlwZSAidG9waWMiIGFyZykpKQorIAorIChkZWZ1biByc3QtaW5zZXJ0 LXNpZGViYXIgKCkKKyAgICJJbnNlcnQgYSBzaWRlYmFyLiIKKyAgIChpbnRlcmFjdGl2ZSkK KyAgIChsZXQgKGFyZykKKyAgICAgKHNldHEgYXJnIChyZWFkLXN0cmluZyAiUHJvdmlkaW5n IHNpZGViYXIgdGl0bGU6ICIpKQorICAgICAocnN0LWluc2VydC1kaXJlY3RpdmUtdHlwZSAi c2lkZWJhciIgYXJnKSkpCisgCisgKGRlZnZhciByc3Qtb3B0aW9uLXNpZGViYXIKKyAnKCgi c3VidGl0bGUiICJzdHJpbmciICIiKSkpCisgCisgKGRlZnVuIHJzdC1pbnNlcnQtbGluZS1i bG9jayAoKQorICAgIkluc2VydCBhIGxpbmUgYmxvY2suIgorICAgKGludGVyYWN0aXZlKQor ICAgKHJzdC1pbnNlcnQtZGlyZWN0aXZlLXR5cGUgImxpbmUtYmxvY2siKSkKKyAKKyAoZGVm dW4gcnN0LWluc2VydC1wYXJzZWQtbGl0ZXJhbCAoKQorICAgIkluc2VydCBhIHBhcnNlZCBs aXRlcmFsLiIKKyAgIChpbnRlcmFjdGl2ZSkKKyAgIChyc3QtaW5zZXJ0LWRpcmVjdGl2ZS10 eXBlICJwYXJzZWQtbGl0ZXJhbCIpKQorIAorIChkZWZ1biByc3QtaW5zZXJ0LXJ1YnJpYyAo KQorICAgIkluc2VydCBhIHJ1YnJpYyB0aXRsZS4iCisgICAoaW50ZXJhY3RpdmUpCisgICAo bGV0IChhcmcpCisgICAgIChzZXRxIGFyZyAocmVhZC1zdHJpbmcgIlByb3ZpZGluZyBydWJy aWMgdGl0bGU6ICIpKQorICAgICAocnN0LWluc2VydC1kaXJlY3RpdmUtdHlwZSAicnVicmlj IiBhcmcpKSkKKyAKKyAoZGVmdW4gcnN0LWluc2VydC1lcGlncmFwaCAoKQorICAgIkluc2Vy dCBhIGVwaWdyYXBoLiIKKyAgIChpbnRlcmFjdGl2ZSkKKyAgIChyc3QtaW5zZXJ0LWRpcmVj dGl2ZS10eXBlICJlcGlncmFwaCIpKQorIAorIChkZWZ1biByc3QtaW5zZXJ0LWhpZ2hsaWdo dHMgKCkKKyAgICJJbnNlcnQgYSBoaWdobGlnaHRzLiIKKyAgIChpbnRlcmFjdGl2ZSkKKyAg IChyc3QtaW5zZXJ0LWRpcmVjdGl2ZS10eXBlICJoaWdobGlnaHRzIikpCisgCisgKGRlZnVu IHJzdC1pbnNlcnQtcHVsbC1xdW90ZSAoKQorICAgIkluc2VydCBhIHB1bGwgcXVvdGUuIgor ICAgKGludGVyYWN0aXZlKQorICAgKHJzdC1pbnNlcnQtZGlyZWN0aXZlLXR5cGUgInB1bGwt cXVvdGUiKSkKKyAKKyAoZGVmdW4gcnN0LWluc2VydC1jb21wb3VuZCAoKQorICAgIkluc2Vy dCBhIGNvbXBvdW5kLiIKKyAgIChpbnRlcmFjdGl2ZSkKKyAgIChyc3QtaW5zZXJ0LWRpcmVj dGl2ZS10eXBlICJjb21wb3VuZCIpKQorIAorIChkZWZ1biByc3QtaW5zZXJ0LWNvbnRhaW5l ciAoKQorICAgIkluc2VydCBhIGNvbnRhaW5lci4iCisgICAoaW50ZXJhY3RpdmUpCisgICAo bGV0IChhcmcpCisgICAgIChzZXRxIGFyZyAocmVhZC1zdHJpbmcgIlByb3ZpZGluZyBjb250 YWluZXIgdGl0bGU6ICIpKQorICAgICAocnN0LWluc2VydC1kaXJlY3RpdmUtdHlwZSAiY29u dGFpbmVyIiBhcmcpKSkKKyAKKyAoZGVmdW4gcnN0LWluc2VydC10YWJsZSAoKQorICAgIklu c2VydCBhIHRhYmxlLiIKKyAgIChpbnRlcmFjdGl2ZSkKKyAgIChsZXQgKGFyZykKKyAgICAg KHNldHEgYXJnIChyZWFkLXN0cmluZyAiUHJvdmlkaW5nIHRhYmxlIHRpdGxlOiAiKSkKKyAg ICAgKHJzdC1pbnNlcnQtZGlyZWN0aXZlLXR5cGUgInRhYmxlIiBhcmcpKSkKKyAKKyAoZGVm dW4gcnN0LWluc2VydC1jc3YtdGFibGUgKCkKKyAgICJJbnNlcnQgYSB0YWJsZS4iCisgICAo aW50ZXJhY3RpdmUpCisgICAobGV0IChhcmcpCisgICAgIChzZXRxIGFyZyAocmVhZC1zdHJp bmcgIlByb3ZpZGluZyB0YWJsZSB0aXRsZTogIikpCisgICAgIChyc3QtaW5zZXJ0LWRpcmVj dGl2ZS10eXBlICJjc3YtdGFibGUiIGFyZykpKQorIAorIChkZWZ2YXIgcnN0LW9wdGlvbi1j c3YtdGFibGUKKyAnKCgid2lkdGhzIiAic3RyaW5nIiAiIikKKyAgICgiaGVhZGVyLXJvd3Mi ICJudW1iZXIiIDApCisgICAoInN0dWItY29sdW1ucyIgIm51bWJlciIgMCkKKyAgICgiaGVh ZGVyIiAic3RyaW5nIiAiIikKKyAgICgiZmlsZSIgInN0cmluZyIgIiIpCisgICAoInVybCIg InN0cmluZyIgIiIpCisgICAoImVuY29kaW5nIiAic3RyaW5nIiAiIikKKyAgICgiZGVsaW0i ICJzdHJpbmciICIiKQorICAgKCJxdW90ZSIgInN0cmluZyIgIiIpCisgICAoImtlZXBzcGFj ZSIgImZsYWciIG5pbCkKKyAgICgiZXNjYXBlIiAic3RyaW5nIiAiIikpKQorIAorIChkZWZ1 biByc3QtaW5zZXJ0LWxpc3QtdGFibGUgKCkKKyAgICJJbnNlcnQgYSB0YWJsZS4iCisgICAo aW50ZXJhY3RpdmUpCisgICAobGV0IChhcmcpCisgICAgIChzZXRxIGFyZyAocmVhZC1zdHJp bmcgIlByb3ZpZGluZyB0YWJsZSB0aXRsZTogIikpCisgICAgIChyc3QtaW5zZXJ0LWRpcmVj dGl2ZS10eXBlICJsaXN0LXRhYmxlIiBhcmcpKSkKKyAKKyAoZGVmdmFyIHJzdC1vcHRpb24t bGlzdC10YWJsZQorICcoKCJ3aWR0aHMiICJzdHJpbmciICIiKQorICAgKCJoZWFkZXItcm93 cyIgIm51bWJlciIgMCkKKyAgICgic3R1Yi1jb2x1bW5zIiAibnVtYmVyIiAwKSkpCisgCisg KGRlZnVuIHJzdC1pbnNlcnQtY29udGVudHMgKCkKKyAgICJJbnNlcnQgYSBjb250ZW50cy4i CisgICAoaW50ZXJhY3RpdmUpCisgICAobGV0IChhcmcpCisgICAgIChzZXRxIGFyZyAocmVh ZC1zdHJpbmcgIlByb3ZpZGluZyBjb250ZW50cyB0aXRsZTogIikpCisgICAgIChyc3QtaW5z ZXJ0LWRpcmVjdGl2ZS10eXBlICJjb250ZW50cyIgYXJnKSkpCisgCisgKGRlZnZhciByc3Qt b3B0aW9uLWNvbnRlbnRzCisgJygoImJhY2tsaW5rcyIgIm9wdGlvbiIgKCJlbnRyeSIgInRv cCIgIm5vbmUiKSkKKyAgICgiZGVwdGgiICJudW1iZXIiIDIpCisgICAoImxvY2FsIiAiZmxh ZyIgbmlsKSkpCisgCisgKGRlZnVuIHJzdC1pbnNlcnQtc2VjdG51bSAoKQorICAgIlNldCBz ZWN0aW9uLWF1dG9udW1iZXJpbmcuIgorICAgKGludGVyYWN0aXZlKQorICAgKHJzdC1pbnNl cnQtZGlyZWN0aXZlLXR5cGUgInNlY3RudW0iKSkKKyAKKyAoZGVmdmFyIHJzdC1vcHRpb24t c2VjdG51bQorICcoKCJwcmVmaXgiICJzdHJpbmciICIiKQorICAgKCJzdWZmaXgiICJzdHJp bmciICIiKQorICAgKCJkZXB0aCIgIm51bWJlciIgMikKKyAgICgic3RhcnQiICJudW1iZXIi IDEpKSkKKyAKKyAoZGVmdW4gcnN0LWluc2VydC1yZXBsYWNlICgpCisgICAiSW5zZXJ0IHRo ZSBoZWFkIG9mIHdvcmQgcmVwbGFjZS4iCisgICAoaW50ZXJhY3RpdmUpCisgICAobGV0ICh0 YWcpCisgICAgIChzZXRxIHRhZyAocmVhZC1zdHJpbmcgIlByb3ZpZGluZyByZXBsYWNlZCB3 b3JkOiAiKSkKKyAgICAgKHJzdC1pbnNlcnQtZGlyZWN0aXZlLXR5cGUgKGNvbmNhdCAifCIg dGFnICJ8IHJlcGxhY2UiKSkpKQorIAorIChkZWZ1biByc3QtaW5zZXJ0LXVuaWNvZGUgKCkK KyAgICJJbnNlcnQgdW5pY29kZSByZXBsYWNlbWVudC4iCisgICAoaW50ZXJhY3RpdmUpCisg ICAobGV0ICh0YWcpCisgICAgIChzZXRxIHRhZyAocmVhZC1zdHJpbmcgIlByb3ZpZGluZyB1 bmljb2RlIHN0cmluZzogIikpCisgICAgIChyc3QtaW5zZXJ0LWRpcmVjdGl2ZS10eXBlIChj b25jYXQgInwiIHRhZyAifCB1bmljb2RlIikpKSkKKyAKKyAoZGVmdmFyIHJzdC1vcHRpb24t dW5pY29kZQorICAgJygoImx0cmltIiAiZmxhZyIgbmlsKQorICAgICAoInJ0cmltIiAiZmxh ZyIgbmlsKQorICAgICAoInRyaW0iICJmbGFnIiBuaWwpKSkKKyAKKyAoZGVmdW4gcnN0LWlu c2VydC1kYXRlICgpCisgICAiSW5zZXJ0IGRhdGUgb3IgdGltZS4iCisgICAoaW50ZXJhY3Rp dmUpCisgICAobGV0ICh0eXBlIHZhbHVlKQorICAgICAoc2V0cSB0eXBlIChjb21wbGV0aW5n LXJlYWQgIkluc2VydCBkYXRlIG9yIHRpbWU/ICIgJygiZGF0ZSIgInRpbWUiKSkpCisgICAg IChjb25kCisgICAgICAoKGVxdWFsIHR5cGUgImRhdGUiKSAKKyAgICAgICAoc2V0cSB2YWx1 ZSAocmVhZC1zdHJpbmcgIlByb3ZpZGluZyBkYXRlIGZvcm1hdDogIiBuaWwgbmlsICIlWS0l bS0lZCIpKSkKKyAgICAgICgoZXF1YWwgdHlwZSAidGltZSIpIAorICAgICAgIChzZXRxIHZh bHVlIChyZWFkLXN0cmluZyAiUHJvdmlkaW5nIHRpbWUgZm9ybWF0OiAiIG5pbCBuaWwgIiVI OiVNIikpKSkKKyAgICAgKHJzdC1pbnNlcnQtZGlyZWN0aXZlLXR5cGUgKGNvbmNhdCAifCIg dHlwZSAifCBkYXRlIikgdmFsdWUpKSkKKyAKKyAoZGVmdW4gcnN0LWluc2VydC1pbmNsdWRl ICgpCisgICAiSW5zZXJ0IGFuIGV4dGVybmFsIGZpbGUuIgorICAgKGludGVyYWN0aXZlKQor ICAgKGxldCAoYXJnKQorICAgICAoc2V0cSBhcmcgKHJlYWQtc3RyaW5nICJQcm92aWRpbmcg ZmlsZSBwYXRoOiAiKSkKKyAgICAgKHJzdC1pbnNlcnQtZGlyZWN0aXZlLXR5cGUgImluY2x1 ZGUiIGFyZykpKQorIAorIChkZWZ2YXIgcnN0LW9wdGlvbi1pbmNsdWRlCisgICAnKCgic3Rh cnQtYWZ0ZXIiICJzdHJpbmciICIiKQorICAgICAoImVuZC1iZWZvcmUiICJzdHJpbmciICIi KQorICAgICAoImVuY29kaW5nIiAic3RyaW5nIiAiIikKKyAgICAgKCJsaXRlcmFsIiAiZmxh ZyIgbmlsKSkpCisgCisgKGRlZnVuIHJzdC1pbnNlcnQtcmF3ICgpCisgICAiSW5zZXJ0IHJh dyBkYXRhLiIKKyAgIChpbnRlcmFjdGl2ZSkKKyAgIChsZXQgKGFyZykKKyAgICAgKHNldHEg YXJnIChyZWFkLXN0cmluZyAiUHJvdmlkaW5nIHJhdyBkYXRhIHR5cGU6ICIpKQorICAgICAo cnN0LWluc2VydC1kaXJlY3RpdmUtdHlwZSAicmF3IiBhcmcpKSkKKyAKKyAoZGVmdmFyIHJz dC1vcHRpb24tcmF3CisgICAnKCgiZmlsZSIgInN0cmluZyIgIiIpCisgICAgICgidXJsIiAi c3RyaW5nIiAiIikKKyAgICAgKCJlbmNvZGluZyIgInN0cmluZyIgIiIpKSkKKyAKKyAKKyA7 PT09PSBsaW5rcyA9PT09CisgCisgOy0tLSBsaW5rIGluc2VydGluZyAtLS0KKyAKKyAoZGVm dmFyIHJzdC1saW5rLXR5cGUtYWxpc3QKKyAgICcoKCJoeXBlcmxpbmsiIC4gcnN0LWluc2Vy dC1pbmxpbmUtbGluaykgCisgICAgICgiZm9vdG5vdGUiIC4gcnN0LWluc2VydC1mb290bm90 ZSkgCisgICAgICgiY2l0YXRpb24iIC4gcnN0LWluc2VydC1jaXRhdGlvbikpCisgICAiTGlz dCBvZiBsaW5rIHR5cGVzLiIpCisgCisgKGRlZnZhciByc3QtbGluay10eXBlCisgICAnKCJo eXBlcmxpbmsiICJmb290bm90ZSIgImNpdGF0aW9uIikKKyAgICJMaXN0IG9mIGxpbmsgdHlw ZXMgZm9yIGNvbXBsZXRpb24iKQorIAorIChkZWZ1biByc3QtaW5zZXJ0LWxpbmsgKCkKKyAg ICJNZXRhLWZ1bmN0aW9uIG9mIGFsbCBkaXJlY3RpdmVzLiIKKyAgIChpbnRlcmFjdGl2ZSkK KyAgIChsZXQgKHR5cGUpCisgICAgIChzZXRxIHR5cGUgKGNvbXBsZXRpbmctcmVhZCAiUHJv dmlkaW5nIGxpbmsgdHlwZTogIiByc3QtbGluay10eXBlKSkKKyAgICAgKGZ1bmNhbGwgKGNk ciAoYXNzb2MgdHlwZSByc3QtbGluay10eXBlLWFsaXN0KSkpKSkKKyAKKyAoZGVmdW4gcnN0 LWluc2VydC1pbmxpbmUtbGluayAoKQorICAgIkluc2VydCBhIGlubGluZSBsaW5rIHdpdGgg Ym90aCB0YXJnZXQgYW5kIHJlZmVyZW5jZS4iCisgICAoaW50ZXJhY3RpdmUpCisgICAobGV0 IChsaW5rIHRhcmdldCByZWZlcmVuY2UpCisgICAgIChzZXRxIGxpbmsgKHJlYWQtc3RyaW5n ICJQcm92aWRpbmcgbGluayBuYW1lOiAiKSkKKyAgICAgKGlmIChzdHJpbmctbWF0Y2ggIiAi IGxpbmspCisgICAgICAgICAocHJvZ24KKyAgICAgICAgICAgKHNldHEgdGFyZ2V0IChjb25j YXQgImAiIGxpbmsgImBfIikpCisgICAgICAgICAgIChzZXRxIHJlZmVyZW5jZSAoY29uY2F0 ICIuLiBfYCIgbGluayAiYDogIikpKQorICAgICAgIChwcm9nbgorICAgICAgICAgKHNldHEg dGFyZ2V0IChjb25jYXQgbGluayAiXyIpKQorICAgICAgICAgKHNldHEgcmVmZXJlbmNlIChj b25jYXQgIi4uIF8iIGxpbmsgIjogIikpKSkKKyAgICAgKHNhdmUtZXhjdXJzaW9uCisgICAg ICAgKGlmIChlcXVhbCAoY2hhci1iZWZvcmUpIChzdHJpbmctdG8tY2hhciAiICIpKQorICAg ICAgICAgICAoaW5zZXJ0IHRhcmdldCAiICIpCisgICAgICAgICAoaW5zZXJ0IChjb25jYXQg IiAiIHRhcmdldCAiICIpKSkKKyAgICAgICAoZW5kLW9mLWxpbmUpCisgICAgICAgKGluc2Vy dCAoY29uY2F0ICJcblxuIiByZWZlcmVuY2UpKSkpKQorIAorIChkZWZ1biByc3QtaW5zZXJ0 LWZvb3Rub3RlICgpCisgICAiSW5zZXJ0IGEgaW5saW5lIGZvb3Rub3RlIHdpdGggYm90aCB0 YXJnZXQgYW5kIHJlZmVyZW5jZS4iCisgICAoaW50ZXJhY3RpdmUpCisgICAobGV0IChmb290 bm90ZSB0YXJnZXQgcmVmZXJlbmNlKQorICAgICAoc2V0cSBmb290bm90ZSAocmVhZC1zdHJp bmcgIlByb3ZpZGluZyBmb290bm90ZSBuYW1lOiAiKSkKKyAgICAgKHNldHEgdGFyZ2V0IChj b25jYXQgIlsjIiBmb290bm90ZSAiXV8iKSkKKyAgICAgKHNldHEgcmVmZXJlbmNlIChjb25j YXQgIi4uIFsjIiBmb290bm90ZSAiXSAiKSkKKyAgICAgKHNhdmUtZXhjdXJzaW9uCisgICAg ICAgKGlmIChlcXVhbCAoY2hhci1iZWZvcmUpIChzdHJpbmctdG8tY2hhciAiICIpKQorICAg ICAgICAgICAoaW5zZXJ0IHRhcmdldCAiICIpCisgICAgICAgICAoaW5zZXJ0IChjb25jYXQg IiAiIHRhcmdldCAiICIpKSkKKyAgICAgICAoZW5kLW9mLWxpbmUpCisgICAgICAgKGluc2Vy dCAoY29uY2F0ICJcblxuIiByZWZlcmVuY2UpKSkpKQorIAorIChkZWZ1biByc3QtaW5zZXJ0 LWNpdGF0aW9uICgpCisgICAiSW5zZXJ0IGEgaW5saW5lIGNpdGF0aW9uIHdpdGggYm90aCB0 YXJnZXQgYW5kIHJlZmVyZW5jZS4iCisgICAoaW50ZXJhY3RpdmUpCisgICAobGV0IChjaXRh dGlvbiB0YXJnZXQgcmVmZXJlbmNlKQorICAgICAoc2V0cSBjaXRhdGlvbiAocmVhZC1zdHJp bmcgIlByb3ZpZGluZyBjaXRhdGlvbiBuYW1lOiAiKSkKKyAgICAgKHNldHEgdGFyZ2V0IChj b25jYXQgIlsiIGNpdGF0aW9uICJdXyIpKQorICAgICAoc2V0cSByZWZlcmVuY2UgKGNvbmNh dCAiLi4gWyIgY2l0YXRpb24gIl0gIikpCisgICAgIChzYXZlLWV4Y3Vyc2lvbgorICAgICAg IChpZiAoZXF1YWwgKGNoYXItYmVmb3JlKSAoc3RyaW5nLXRvLWNoYXIgIiAiKSkKKyAgICAg ICAgICAgKGluc2VydCB0YXJnZXQgIiAiKQorICAgICAgICAgKGluc2VydCAoY29uY2F0ICIg IiB0YXJnZXQgIiAiKSkpCisgICAgICAgKGVuZC1vZi1saW5lKQorICAgICAgIChpbnNlcnQg KGNvbmNhdCAiXG5cbiIgcmVmZXJlbmNlKSkpKSkKKyAKKyA7LS0tIGxpbmsganVtcGluZyAt LS0KKyAKKyAoZGVmdW4gcnN0LWh5cGVyLWxpbmstcmVmZXJlbmNlLW1hdGNoICgpCisgICAi TWF0Y2ggbGluayB0YXJnZXQgYXJvdW5kIHRoZSBwb2ludC4iCisgICAobGV0IChsaW5rIHJl ZmVyZW5jZSB0YXJnZXQpCisgICAgIChzYXZlLWV4Y3Vyc2lvbgorICAgICAgIChpZiAoc2Vh cmNoLWZvcndhcmQgIl8iIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNhdmUtZXhj dXJzaW9uIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9yd2FyZC1zZW50ZW5j ZSkgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludCkpIAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgdCAxKQorICAgICAgICAgICAocHJvZ24KKyAgICAgICAgICAg ICAoYmFja3dhcmQtY2hhcikKKyAgICAgICAgICAgICAodW5sZXNzIChlcXVhbCAoY2hhci1i ZWZvcmUpID9cXCkKKyAgICAgICAgICAgICAgIChpZiAoZXF1YWwgKGNoYXItYmVmb3JlKSA/ YCkKKyAgICAgICAgICAgICAgICAgICAocHJvZ24KKyAgICAgICAgICAgICAgICAgICAgIChm b3J3YXJkLWNoYXIpCisgICAgICAgICAgICAgICAgICAgICAocmUtc2VhcmNoLWJhY2t3YXJk ICJgW1s6YWxudW06XVs6cHVuY3Q6XVs6c3BhY2U6XV0rYF8iIAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoc2F2ZS1leGN1cnNpb24gCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlYXJjaC1iYWNrd2FyZCAiYCIg bmlsIHQgMikgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHBvaW50KSkgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQp CisgICAgICAgICAgICAgICAgICAgICAoc2V0cSByZWZlcmVuY2UgKG1hdGNoLXN0cmluZyAw KSkKKyAgICAgICAgICAgICAgICAgICAgIChzZXRxIGxpbmsgKHN1YnN0cmluZyByZWZlcmVu Y2UgMCAtMSkpKQorICAgICAgICAgICAgICAgICAocHJvZ24KKyAgICAgICAgICAgICAgICAg ICAoZm9yd2FyZC1jaGFyKQorICAgICAgICAgICAgICAgICAgIChyZS1zZWFyY2gtYmFja3dh cmQgIiBcXHN3K18iIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHNhdmUtZXhjdXJzaW9uIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoc2VhcmNoLWJhY2t3YXJkICIgIikgCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChwb2ludCkpIAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdCkKKyAgICAgICAgICAgICAgICAgICAoc2V0cSByZWZlcmVuY2UgKG1h dGNoLXN0cmluZyAwKSkKKyAgICAgICAgICAgICAgICAgICAoc2V0cSBsaW5rIChzdWJzdHJp bmcgcmVmZXJlbmNlIDEgLTEpKSkpKQorICAgICAgICAgICAgIChzZXRxIHRhcmdldCAoY29u Y2F0ICIuLiBfIiBsaW5rICI6IikpKSkpCisgICAgIChsaXN0IHJlZmVyZW5jZSB0YXJnZXQp KSkKKyAKKyAoZGVmdW4gcnN0LWxpbmstanVtcC10by10YXJnZXQgKCkKKyAgICJKdW1wIGZy b20gaW50ZXJ0ZXh0IGxpbmsgcmVmZXJlbmNlIHRvIGxpbmsgdGFyZ2V0LiIKKyAgIChpbnRl cmFjdGl2ZSkKKyAgIChsZXQgKCh0YXJnZXQgKGVsdCAocnN0LWh5cGVyLWxpbmstcmVmZXJl bmNlLW1hdGNoKSAxKSkpCisgICAgICh3aGVuIChzYXZlLWV4Y3Vyc2lvbgorICAgICAgICAg ICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCisgICAgICAgICAgICAgKHNlYXJjaC1mb3J3 YXJkIHRhcmdldCkpCisgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgICAgICAo c2VhcmNoLWZvcndhcmQgdGFyZ2V0KSkpKQorIAorIChkZWZ1biByc3QtbGluay1qdW1wLXdp dGhpbi1yZWZlcmVuY2VzICgpCisgICAiSnVtcCB3aXRoaW4gcmVmZXJlbmNlcyBvZiBhbiBp bnRlcnRleHQgbGluaywgaWYgZXhpc3QuIgorICAgKGludGVyYWN0aXZlKQorICAgKGxldCAo KHJlZmVyZW5jZSAoZWx0IChyc3QtaHlwZXItbGluay1yZWZlcmVuY2UtbWF0Y2gpIDApKSkK KyAgICAgKGlmIChzYXZlLWV4Y3Vyc2lvbgorICAgICAgICAgICAoc2VhcmNoLWZvcndhcmQg cmVmZXJlbmNlIG5pbCB0IDEpKQorICAgICAgICAgKHByb2duCisgICAgICAgICAgIChzZWFy Y2gtZm9yd2FyZCByZWZlcmVuY2UgbmlsIHQgMSkKKyAgICAgICAgICAgKGJhY2t3YXJkLWNo YXIgMSkpCisgICAgICAgKHdoZW4gKHktb3Itbi1wICJObyBsaW5rIHJlZmVyZW5jZSBiZWhp bmQuIFNlYXJjaCBmcm9tIHRoZSBiZWdpbm5pbmc/IikKKyAgICAgICAgIChnb3RvLWNoYXIg KHBvaW50LW1pbikpCisgICAgICAgICAoc2VhcmNoLWZvcndhcmQgcmVmZXJlbmNlIG5pbCB0 IDEpCisgICAgICAgICAoYmFja3dhcmQtY2hhciAxKSkpKSkKKyAKKyAoZGVmdW4gcnN0LWh5 cGVyLWxpbmstdGFyZ2V0LW1hdGNoICgpCisgICAiTWF0Y2ggbGluayByZWZlcmVuY2UgYXQg dGhlIHRhcmdldCBsaW5lLiIKKyAgIChsZXQgKGxpbmsgcmVmZXJlbmNlIHRhcmdldCkKKyAg ICAgKHNhdmUtZXhjdXJzaW9uCisgICAgICAgKHdoZW4gKHNlYXJjaC1iYWNrd2FyZCAiLi4g XyIgKGxpbmUtYmVnaW5uaW5nLXBvc2l0aW9uKSB0IDEpCisgICAgICAgICAocmUtc2VhcmNo LWZvcndhcmQgCisgICAgICAgICAgIl5cXC5cXC4gX2A/W1s6YWxudW06XVs6cHVuY3Q6XVs6 c3BhY2U6XV0rYD86ICIgCisgICAgICAgICAgKGxpbmUtZW5kLXBvc2l0aW9uKSB0IDEpCisg ICAgICAgICAoc2V0cSB0YXJnZXQgKG1hdGNoLXN0cmluZyAwKSkpKQorICAgICAoc2V0cSBs aW5rIChzdWJzdHJpbmcgdGFyZ2V0IDQgLTIpKQorICAgICAoaWYgKGVxdWFsIChzdWJzdHJp bmcgbGluayAwIDEpICJgIikKKyAgICAgICAgIChzZXRxIHJlZmVyZW5jZSAoY29uY2F0IGxp bmsgIl8iKSkKKyAgICAgICAoc2V0cSByZWZlcmVuY2UgKGNvbmNhdCAiICIgbGluayAiXyIp KSkKKyAgICAgKGxpc3QgcmVmZXJlbmNlIHRhcmdldCkpKQorIAorIChkZWZ1biByc3QtbGlu ay1qdW1wLXRvLXJlZmVyZW5jZSAoKQorICAgIkp1bXAgZnJvbSBpbnRlcnRleHQgbGluayB0 YXJnZXQgdG8gbGluayByZWZlcmVuY2UuIgorICAgKGludGVyYWN0aXZlKQorICAgKGxldCAo KHJlZmVyZW5jZSAoZWx0IChyc3QtaHlwZXItbGluay10YXJnZXQtbWF0Y2gpIDApKSkKKyAg ICAgKHdoZW4gKHNhdmUtZXhjdXJzaW9uCisgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9p bnQtbWF4KSkKKyAgICAgICAgICAgICAoc2VhcmNoLWJhY2t3YXJkIHJlZmVyZW5jZSkpCisg ICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkKKyAgICAgICAoc2VhcmNoLWJhY2t3YXJk IHJlZmVyZW5jZSkpKSkKKyAKKyA7LS0tIGZvb3Rub3RlIGFuZCBjaXRhdGlvbiAtLS0KKyAK KyAoZGVmdW4gcnN0LWZvb3Rub3RlLWNpdGF0aW9uLXJlZmVyZW5jZS1tYXRjaCAoKQorICAg Ik1hdGNoIGZvb3Rub3RlIG9yIGNpdGF0aW9uIHJlZmVyZW5jZSBhcm91bmQgdGhlIHBvaW50 LiIKKyAgIChsZXQgKGxpbmsgcmVmZXJlbmNlIHRhcmdldCkKKyAgICAgKHNhdmUtZXhjdXJz aW9uCisgICAgICAgKHdoZW4gKHNlYXJjaC1mb3J3YXJkICJdXyIgCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChzYXZlLWV4Y3Vyc2lvbiAKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoZm9yd2FyZC1zZW50ZW5jZSkgCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHBvaW50KSkgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQgMSkK KyAgICAgICAgIChyZS1zZWFyY2gtYmFja3dhcmQgIlxcW1tbOmFsbnVtOl1bOnB1bmN0Ol1b OnNwYWNlOl1dK1xcXV8iIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2F2ZS1l eGN1cnNpb24gCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlYXJjaC1iYWNr d2FyZCAiWyIgbmlsIHQgMSkgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBv aW50KSkgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQpCisgICAgICAgICAoc2V0 cSByZWZlcmVuY2UgKG1hdGNoLXN0cmluZyAwKSkpKQorICAgICAoc2V0cSBsaW5rIChzdWJz dHJpbmcgcmVmZXJlbmNlIDEgLTIpKQorICAgICAoc2V0cSB0YXJnZXQgKGNvbmNhdCAiLi4g WyIgbGluayAiXSIpKQorICAgICAobGlzdCByZWZlcmVuY2UgdGFyZ2V0KSkpCisgCisgKGRl ZnVuIHJzdC1mb290bm90ZS1jaXRhdGlvbi10YXJnZXQtbWF0Y2ggKCkKKyAgICJNYXRjaCBm b290bm90ZSBvciBjaXRhdGlvbiByZWZlcmVuY2UgYXQgdGhlIHRhcmdldCBsaW5lLiIKKyAg IChsZXQgKGxpbmsgcmVmZXJlbmNlIHRhcmdldCkKKyAgICAgKHNhdmUtZXhjdXJzaW9uCisg ICAgICAgKHdoZW4gKHNlYXJjaC1iYWNrd2FyZCAiLi4gWyIgKGxpbmUtYmVnaW5uaW5nLXBv c2l0aW9uKSB0IDEpCisgICAgICAgICAocmUtc2VhcmNoLWZvcndhcmQgCisgICAgICAgICAg Il5cXC5cXC4gXFxbW1s6YWxudW06XVs6cHVuY3Q6XVs6c3BhY2U6XV0rXFxdICIgCisgICAg ICAgICAgKGxpbmUtZW5kLXBvc2l0aW9uKSB0IDEpCisgICAgICAgICAoc2V0cSB0YXJnZXQg KG1hdGNoLXN0cmluZyAwKSkpKQorICAgICAoc2V0cSBsaW5rIChzdWJzdHJpbmcgdGFyZ2V0 IDQgLTIpKQorICAgICAoc2V0cSByZWZlcmVuY2UgKGNvbmNhdCAiIFsiIGxpbmsgIl1fIikp CisgICAgIChsaXN0IHJlZmVyZW5jZSB0YXJnZXQpKSkKKyAKKyAoZGVmdW4gcnN0LWZvb3Ru b3RlLWNpdGF0aW9uLWp1bXAtdG8tdGFyZ2V0ICgpCisgICAiSnVtcCBmcm9tIGZvb3Rub3Rl IG9yIGNpdGF0aW9uIHJlZmVyZW5jZSB0byB0YXJnZXQuIgorICAgKGludGVyYWN0aXZlKQor ICAgKGxldCAoKHRhcmdldCAoZWx0IChyc3QtZm9vdG5vdGUtY2l0YXRpb24tcmVmZXJlbmNl LW1hdGNoKSAxKSkpCisgICAgICh3aGVuIChzYXZlLWV4Y3Vyc2lvbgorICAgICAgICAgICAg IChnb3RvLWNoYXIgKHBvaW50LW1pbikpCisgICAgICAgICAgICAgKHNlYXJjaC1mb3J3YXJk IHRhcmdldCkpCisgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgICAgICAoc2Vh cmNoLWZvcndhcmQgdGFyZ2V0KSkpKQorIAorIChkZWZ1biByc3QtZm9vdG5vdGUtY2l0YXRp b24tanVtcC13aXRoaW4tcmVmZXJlbmNlcyAoKQorICAgIkp1bXAgd2l0aGluIHJlZmVyZW5j ZXMgb2YgYW4gZm9vdG5vdGUgb3IgY2l0YXRpb24sIGlmIGV4aXN0LiIKKyAgIChpbnRlcmFj dGl2ZSkKKyAgIChsZXQgKChyZWZlcmVuY2UgKGVsdCAocnN0LWZvb3Rub3RlLWNpdGF0aW9u LXJlZmVyZW5jZS1tYXRjaCkgMCkpKQorICAgICAoaWYgKHNhdmUtZXhjdXJzaW9uCisgICAg ICAgICAgIChzZWFyY2gtZm9yd2FyZCByZWZlcmVuY2UgbmlsIHQgMSkpCisgICAgICAgICAo cHJvZ24KKyAgICAgICAgICAgKHNlYXJjaC1mb3J3YXJkIHJlZmVyZW5jZSBuaWwgdCAxKQor ICAgICAgICAgICAoYmFja3dhcmQtY2hhciAxKSkKKyAgICAgICAod2hlbiAoeS1vci1uLXAg Ik5vIGxpbmsgcmVmZXJlbmNlIGJlaGluZC4gU2VhcmNoIGZyb20gdGhlIGJlZ2lubmluZz8i KQorICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgICAgICAgIChzZWFyY2gt Zm9yd2FyZCByZWZlcmVuY2UgbmlsIHQgMSkKKyAgICAgICAgIChiYWNrd2FyZC1jaGFyIDIp KSkpKQorIAorIChkZWZ1biByc3QtZm9vdG5vdGUtY2l0YXRpb24tanVtcC10by1yZWZlcmVu Y2UgKCkKKyAgICJKdW1wIGZyb20gZm9vdG5vdGUgb3IgY2l0YXRpb24gdGFyZ2V0IHRvIHJl ZmVyZW5jZS4iCisgICAoaW50ZXJhY3RpdmUpCisgICAobGV0ICgocmVmZXJlbmNlIChlbHQg KHJzdC1mb290bm90ZS1jaXRhdGlvbi10YXJnZXQtbWF0Y2gpIDApKSkKKyAgICAgKHdoZW4g KHNhdmUtZXhjdXJzaW9uCisgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkK KyAgICAgICAgICAgICAoc2VhcmNoLWJhY2t3YXJkIHJlZmVyZW5jZSkpCisgICAgICAgKGdv dG8tY2hhciAocG9pbnQtbWF4KSkKKyAgICAgICAoc2VhcmNoLWJhY2t3YXJkIHJlZmVyZW5j ZSkpKSkKICAKICAKICAMCg== --------------040401000902000102010702--