From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31373 invoked by alias); 23 May 2014 21:55:06 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 31360 invoked by uid 89); 23 May 2014 21:55:05 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-vc0-f179.google.com Received: from mail-vc0-f179.google.com (HELO mail-vc0-f179.google.com) (209.85.220.179) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Fri, 23 May 2014 21:55:03 +0000 Received: by mail-vc0-f179.google.com with SMTP id im17so6866260vcb.24 for ; Fri, 23 May 2014 14:55:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=cmqP7CFuXW0SiRfAgT/sH1nCxYf6NOsIPaj3U/5rwDw=; b=duscSVvKhQeW3bEHZJaXdh952a3JUmiyCBj2TwooNoctA7M/wZf55bMPJQ0Ab33Uh0 sNtB2i2tX+Pba+TOyrzocEh22MolJvyRJmcsbpLHG7u/9UFq2dCIV7++DQmqdr2a9kma MR2kgso7bO4uKlt+8oJpM1Hh/6l/8cJKN101WRr4fqN8mgvT0H1Td+DVngaAGekWvWd0 Hqq+wXxh87UM+8V1qGi39HCLjwmP5de4QtldcBNEM2xTRrSuHGDP2Gv7bB+eHxVcUaSg 8XPkCTrfPBS8zmN1extorT5aYKaFCwGw6xh9zrNQeIUDc4+Tyc9ylGpZBgoBrh2F2U0E wUYQ== X-Gm-Message-State: ALoCoQlrwEbwBASBnoEsbBuFFB4Yg+rLJlzXI7K4/j7WkLCWaUjgkd/A6lsHKNjQ23KjX+6N7Hf4 MIME-Version: 1.0 X-Received: by 10.58.135.136 with SMTP id ps8mr6209321veb.18.1400882101158; Fri, 23 May 2014 14:55:01 -0700 (PDT) Received: by 10.58.100.226 with HTTP; Fri, 23 May 2014 14:55:01 -0700 (PDT) Date: Fri, 23 May 2014 21:55:00 -0000 Message-ID: Subject: [PATCH 1/4 v18] Add xmethod documentation and NEWS entry From: Siva Chandra To: gdb-patches Content-Type: multipart/mixed; boundary=047d7b5db99003375904fa1848e3 X-IsSubscribed: yes X-SW-Source: 2014-05/txt/msg00602.txt.bz2 --047d7b5db99003375904fa1848e3 Content-Type: text/plain; charset=UTF-8 Content-length: 563 This part was approved (I think) previously but sending it out with version synced to v18. Also, the name changed from "debug method" to "xmethod". Hence, I think another review is required. ChangeLog 2014-05-23 Siva Chandra Reddy * NEWS (Python Scripting): Add entry about the new xmethods feature. doc/ * python.texi (Xmethods In Python, XMethod API) (Writing an Xmethod): New nodes. (Python API): New menu entries "Xmethods In Python", "Xmethod API", "Writing an Xmethod". --047d7b5db99003375904fa1848e3 Content-Type: text/plain; charset=US-ASCII; name="xmethod_docs_v18.txt" Content-Disposition: attachment; filename="xmethod_docs_v18.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hvk0yydq0 Content-length: 15446 ZGlmZiAtLWdpdCBhL2dkYi9ORVdTIGIvZ2RiL05FV1MKaW5kZXggNWEwYTc2 ZS4uNmQ0ZWEyMCAxMDA2NDQKLS0tIGEvZ2RiL05FV1MKKysrIGIvZ2RiL05F V1MKQEAgLTEzMyw2ICsxMzMsMTEgQEAgcVhmZXI6YnRyYWNlOnJlYWQncyBh bm5leAogICAqKiBWYWxpZCBQeXRob24gb3BlcmF0aW9ucyBvbiBnZGIuVmFs dWUgb2JqZWN0cyByZXByZXNlbnRpbmcKICAgICAgc3RydWN0cy9jbGFzc2Vz IGludm9rZSB0aGUgY29ycmVzcG9uZGluZyBvdmVybG9hZGVkIG9wZXJhdG9y cyBpZgogICAgICBhdmFpbGFibGUuCisgICoqIE5ldyBgWG1ldGhvZHMnIGZl YXR1cmUgaW4gdGhlIFB5dGhvbiBBUEkuICBYbWV0aG9kcyBhcmUKKyAgICAg YWRkaXRpb25hbCBtZXRob2RzIG9yIHJlcGxhY2VtZW50cyBmb3IgZXhpc3Rp bmcgbWV0aG9kcyBvZiBhIEMrKworICAgICBjbGFzcy4gIFRoaXMgZmVhdHVy ZSBpcyB1c2VmdWwgZm9yIHRob3NlIGNhc2VzIHdoZXJlIGEgbWV0aG9kCisg ICAgIGRlZmluZWQgaW4gQysrIHNvdXJjZSBjb2RlIGNvdWxkIGJlIGlubGlu ZWQgb3Igb3B0aW1pemVkIG91dCBieQorICAgICB0aGUgY29tcGlsZXIsIG1h a2luZyBpdCB1bmF2YWlsYWJsZSB0byBHREIuCiAKICogTmV3IHRhcmdldHMK IFBvd2VyUEM2NCBHTlUvTGludXggbGl0dGxlLWVuZGlhbglwb3dlcnBjNjRs ZS0qLWxpbnV4KgpkaWZmIC0tZ2l0IGEvZ2RiL2RvYy9weXRob24udGV4aSBi L2dkYi9kb2MvcHl0aG9uLnRleGkKaW5kZXggYmEwYTdmZC4uMzM2ODBmYiAx MDA2NDQKLS0tIGEvZ2RiL2RvYy9weXRob24udGV4aQorKysgYi9nZGIvZG9j L3B5dGhvbi50ZXhpCkBAIC0xNDQsNiArMTQ0LDkgQEAgb3B0aW9uYWwgYXJn dW1lbnRzIHdoaWxlIHNraXBwaW5nIG90aGVycy4gIEV4YW1wbGU6CiAqIEZy YW1lIEZpbHRlciBBUEk6OiAgICAgICAgICAgIEZpbHRlcmluZyBGcmFtZXMu CiAqIEZyYW1lIERlY29yYXRvciBBUEk6OiAgICAgICAgIERlY29yYXRpbmcg RnJhbWVzLgogKiBXcml0aW5nIGEgRnJhbWUgRmlsdGVyOjogICAgICBXcml0 aW5nIGEgRnJhbWUgRmlsdGVyLgorKiBYbWV0aG9kcyBJbiBQeXRob246OiAg ICAgICAgICBBZGRpbmcgYW5kIHJlcGxhY2luZyBtZXRob2RzIG9mIEMrKyBj bGFzc2VzLgorKiBYbWV0aG9kIEFQSTo6ICAgICAgICAgICAgICAgICBYbWV0 aG9kIHR5cGVzLgorKiBXcml0aW5nIGFuIFhtZXRob2Q6OiAgICAgICAgICBX cml0aW5nIGFuIHhtZXRob2QuCiAqIEluZmVyaW9ycyBJbiBQeXRob246OiAg ICAgICAgIFB5dGhvbiByZXByZXNlbnRhdGlvbiBvZiBpbmZlcmlvcnMgKHBy b2Nlc3NlcykKICogRXZlbnRzIEluIFB5dGhvbjo6ICAgICAgICAgICAgTGlz dGVuaW5nIGZvciBldmVudHMgZnJvbSBAdmFsdWV7R0RCTn0uCiAqIFRocmVh ZHMgSW4gUHl0aG9uOjogICAgICAgICAgIEFjY2Vzc2luZyBpbmZlcmlvciB0 aHJlYWRzIGZyb20gUHl0aG9uLgpAQCAtMjE3NSw2ICsyMTc4LDI2NSBAQCBw cmludGVkIGhpZXJhcmNoaWNhbGx5LiAgQW5vdGhlciBhcHByb2FjaCB3b3Vs ZCBiZSB0byBjb21iaW5lIHRoZQogbWFya2VyIGluIHRoZSBpbmxpbmVkIGZy YW1lLCBhbmQgYWxzbyBzaG93IHRoZSBoaWVyYXJjaGljYWwKIHJlbGF0aW9u c2hpcC4KIAorQG5vZGUgWG1ldGhvZHMgSW4gUHl0aG9uCitAc3Vic3Vic2Vj dGlvbiBYbWV0aG9kcyBJbiBQeXRob24KK0BjaW5kZXggeG1ldGhvZHMgaW4g UHl0aG9uCisKK0BkZm57WG1ldGhvZHN9IGFyZSBhZGRpdGlvbmFsIG1ldGhv ZHMgb3IgcmVwbGFjZW1lbnRzIGZvciBleGlzdGluZworbWV0aG9kcyBvZiBh IENAdHsrK30gY2xhc3MuICBUaGlzIGZlYXR1cmUgaXMgdXNlZnVsIGZvciB0 aG9zZSBjYXNlcword2hlcmUgYSBtZXRob2QgZGVmaW5lZCBpbiBDQHR7Kyt9 IHNvdXJjZSBjb2RlIGNvdWxkIGJlIGlubGluZWQgb3IKK29wdGltaXplZCBv dXQgYnkgdGhlIGNvbXBpbGVyLCBtYWtpbmcgaXQgdW5hdmFpbGFibGUgdG8g QHZhbHVle0dEQk59LgorRm9yIHN1Y2ggY2FzZXMsIG9uZSBjYW4gZGVmaW5l IGFuIHhtZXRob2QgdG8gc2VydmUgYXMgYSByZXBsYWNlbWVudAorZm9yIHRo ZSBtZXRob2QgZGVmaW5lZCBpbiB0aGUgQ0B0eysrfSBzb3VyY2UgY29kZS4g IEB2YWx1ZXtHREJOfSB3aWxsCit0aGVuIGludm9rZSB0aGUgeG1ldGhvZCwg aW5zdGVhZCBvZiB0aGUgQ0B0eysrfSBtZXRob2QsIHRvCitldmFsdWF0ZSBl eHByZXNzaW9ucy4gIE9uZSBjYW4gYWxzbyB1c2UgeG1ldGhvZHMgd2hlbiBk ZWJ1Z2dpbmcKK3dpdGggY29yZSBmaWxlcy4gIE1vcmVvdmVyLCB3aGVuIGRl YnVnZ2luZyBsaXZlIHByb2dyYW1zLCBpbnZva2luZyBhbgoreG1ldGhvZCBu ZWVkIG5vdCBpbnZvbHZlIHJ1bm5pbmcgdGhlIGluZmVyaW9yICh3aGljaCBj YW4gcG90ZW50aWFsbHkKK3BlcnR1cmIgaXRzIHN0YXRlKS4gIEhlbmNlLCBl dmVuIGlmIHRoZSBDQHR7Kyt9IG1ldGhvZCBpcyBhdmFpbGFibGUsIGl0Citp cyBiZXR0ZXIgdG8gdXNlIGl0cyByZXBsYWNlbWVudCB4bWV0aG9kIGlmIG9u ZSBpcyBkZWZpbmVkLgorCitUaGUgeG1ldGhvZHMgZmVhdHVyZSBpbiBQeXRo b24gaXMgYXZhaWxhYmxlIHZpYSB0aGUgY29uY2VwdHMgb2YgYW4KK0BkZm57 eG1ldGhvZCBtYXRjaGVyfSBhbmQgYW4gQGRmbnt4bWV0aG9kIHdvcmtlcn0u ICBUbworaW1wbGVtZW50IGFuIHhtZXRob2QsIG9uZSBoYXMgdG8gaW1wbGVt ZW50IGEgbWF0Y2hlciBhbmQgYQorY29ycmVzcG9uZGluZyB3b3JrZXIgZm9y IGl0IChtb3JlIHRoYW4gb25lIHdvcmtlciBjYW4gYmUKK2ltcGxlbWVudGVk LCBlYWNoIGNhdGVyaW5nIHRvIGEgZGlmZmVyZW50IG92ZXJsb2FkZWQgaW5z dGFuY2Ugb2YgdGhlCittZXRob2QpLiAgSW50ZXJuYWxseSwgQHZhbHVle0dE Qk59IGludm9rZXMgdGhlIEBjb2Rle21hdGNofSBtZXRob2Qgb2YgYQorbWF0 Y2hlciB0byBtYXRjaCB0aGUgY2xhc3MgdHlwZSBhbmQgbWV0aG9kIG5hbWUu ICBPbiBhIG1hdGNoLCB0aGUKK0Bjb2Rle21hdGNofSBtZXRob2QgcmV0dXJu cyBhIGxpc3Qgb2YgbWF0Y2hpbmcgQGVtcGh7d29ya2VyfSBvYmplY3RzLgor RWFjaCB3b3JrZXIgb2JqZWN0IHR5cGljYWxseSBjb3JyZXNwb25kcyB0byBh biBvdmVybG9hZGVkIGluc3RhbmNlIG9mCit0aGUgeG1ldGhvZC4gIFRoZXkg aW1wbGVtZW50IGEgQGNvZGV7Z2V0X2FyZ190eXBlc30gbWV0aG9kIHdoaWNo CityZXR1cm5zIGEgc2VxdWVuY2Ugb2YgdHlwZXMgY29ycmVzcG9uZGluZyB0 byB0aGUgYXJndW1lbnRzIHRoZSB4bWV0aG9kCityZXF1aXJlcy4gIEB2YWx1 ZXtHREJOfSB1c2VzIHRoaXMgc2VxdWVuY2Ugb2YgdHlwZXMgdG8gcGVyZm9y bQorb3ZlcmxvYWQgcmVzb2x1dGlvbiBhbmQgcGlja3MgYSB3aW5uaW5nIHht ZXRob2Qgd29ya2VyLiAgQSB3aW5uZXIKK2lzIGFsc28gc2VsZWN0ZWQgZnJv bSBhbW9uZyB0aGUgbWV0aG9kcyBAdmFsdWV7R0RCTn0gZmluZHMgaW4gdGhl CitDQHR7Kyt9IHNvdXJjZSBjb2RlLiAgTmV4dCwgdGhlIHdpbm5pbmcgeG1l dGhvZCB3b3JrZXIgYW5kIHRoZQord2lubmluZyBDQHR7Kyt9IG1ldGhvZCBh cmUgY29tcGFyZWQgdG8gc2VsZWN0IGFuIG92ZXJhbGwgd2lubmVyLiAgSW4K K2Nhc2Ugb2YgYSB0aWUgYmV0d2VlbiBhIHhtZXRob2Qgd29ya2VyIGFuZCBh IENAdHsrK30gbWV0aG9kLCB0aGUKK3htZXRob2Qgd29ya2VyIGlzIHNlbGVj dGVkIGFzIHRoZSB3aW5uZXIuICBUaGF0IGlzLCBpZiBhIHdpbm5pbmcKK3ht ZXRob2Qgd29ya2VyIGlzIGZvdW5kIHRvIGJlIGVxdWl2YWxlbnQgdG8gdGhl IHdpbm5pbmcgQ0B0eysrfQorbWV0aG9kLCB0aGVuIHRoZSB4bWV0aG9kIHdv cmtlciBpcyB0cmVhdGVkIGFzIGEgcmVwbGFjZW1lbnQgZm9yCit0aGUgQ0B0 eysrfSBtZXRob2QuICBAdmFsdWV7R0RCTn0gdXNlcyB0aGUgb3ZlcmFsbCB3 aW5uZXIgdG8gaW52b2tlIHRoZQorbWV0aG9kLiAgSWYgdGhlIHdpbm5pbmcg eG1ldGhvZCB3b3JrZXIgaXMgdGhlIG92ZXJhbGwgd2lubmVyLCB0aGVuCit0 aGUgY29ycmVzcG9uZGluZyB4bWV0aG9kIGlzIGludm9rZWQgdmlhIHRoZSBA Y29kZXtpbnZva2V9IG1ldGhvZAorb2YgdGhlIHdvcmtlciBvYmplY3QuCisK K0lmIG9uZSB3YW50cyB0byBpbXBsZW1lbnQgYW4geG1ldGhvZCBhcyBhIHJl cGxhY2VtZW50IGZvciBhbgorZXhpc3RpbmcgQ0B0eysrfSBtZXRob2QsIHRo ZW4gdGhleSBoYXZlIHRvIGltcGxlbWVudCBhbiBlcXVpdmFsZW50Cit4bWV0 aG9kIHdoaWNoIGhhcyBleGFjdGx5IHRoZSBzYW1lIG5hbWUgYW5kIHRha2Vz IGFyZ3VtZW50cyBvZgorZXhhY3RseSB0aGUgc2FtZSB0eXBlIGFzIHRoZSBD QHR7Kyt9IG1ldGhvZC4gIElmIHRoZSB1c2VyIHdhbnRzIHRvCitpbnZva2Ug dGhlIENAdHsrK30gbWV0aG9kIGV2ZW4gdGhvdWdoIGEgcmVwbGFjZW1lbnQg eG1ldGhvZCBpcworYXZhaWxhYmxlIGZvciB0aGF0IG1ldGhvZCwgdGhlbiB0 aGV5IGNhbiBkaXNhYmxlIHRoZSB4bWV0aG9kLgorCitAeHJlZntYbWV0aG9k IEFQSX0sIGZvciBBUEkgdG8gaW1wbGVtZW50IHhtZXRob2RzIGluIFB5dGhv bi4KK0B4cmVme1dyaXRpbmcgYW4gWG1ldGhvZH0sIGZvciBpbXBsZW1lbnRp bmcgeG1ldGhvZHMgaW4gUHl0aG9uLgorCitAbm9kZSBYbWV0aG9kIEFQSQor QHN1YnN1YnNlY3Rpb24gWG1ldGhvZCBBUEkKK0BjaW5kZXggeG1ldGhvZCBB UEkKKworVGhlIEB2YWx1ZXtHREJOfSBQeXRob24gQVBJIHByb3ZpZGVzIGNs YXNzZXMsIGludGVyZmFjZXMgYW5kIGZ1bmN0aW9ucwordG8gaW1wbGVtZW50 LCByZWdpc3RlciBhbmQgbWFuaXB1bGF0ZSB4bWV0aG9kcy4KK0B4cmVme1ht ZXRob2RzIEluIFB5dGhvbn0uCisKK0EgeG1ldGhvZCBtYXRjaGVyIHNob3Vs ZCBiZSBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIGRlcml2ZWQgZnJvbQorQGNv ZGV7WE1ldGhvZE1hdGNoZXJ9IGRlZmluZWQgaW4gdGhlIG1vZHVsZSBAY29k ZXtnZGIueG1ldGhvZH0sIG9yIGFuCitvYmplY3Qgd2l0aCBzaW1pbGFyIGlu dGVyZmFjZSBhbmQgYXR0cmlidXRlcy4gIEFuIGluc3RhbmNlIG9mCitAY29k ZXtYTWV0aG9kTWF0Y2hlcn0gaGFzIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRl czoKKworQGRlZnZhciBuYW1lCitUaGUgbmFtZSBvZiB0aGUgbWF0Y2hlci4K K0BlbmQgZGVmdmFyCisKK0BkZWZ2YXIgZW5hYmxlZAorQSBib29sZWFuIHZh bHVlIGluZGljYXRpbmcgd2hldGhlciB0aGUgbWF0Y2hlciBpcyBlbmFibGVk IG9yIGRpc2FibGVkLgorQGVuZCBkZWZ2YXIKKworQGRlZnZhciBtZXRob2Rz CitBIGxpc3Qgb2YgbmFtZWQgbWV0aG9kcyBtYW5hZ2VkIGJ5IHRoZSBtYXRj aGVyLiAgRWFjaCBvYmplY3QgaW4gdGhlIGxpc3QKK2lzIGFuIGluc3RhbmNl IG9mIHRoZSBjbGFzcyBAY29kZXtYTWV0aG9kfSBkZWZpbmVkIGluIHRoZSBt b2R1bGUKK0Bjb2Rle2dkYi54bWV0aG9kfSwgb3IgYW55IG9iamVjdCB3aXRo IHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlczoKKworQHRhYmxlIEBjb2RlCisK K0BpdGVtIG5hbWUKK05hbWUgb2YgdGhlIHhtZXRob2Qgd2hpY2ggc2hvdWxk IGJlIHVuaXF1ZSBmb3IgZWFjaCB4bWV0aG9kCittYW5hZ2VkIGJ5IHRoZSBt YXRjaGVyLgorCitAaXRlbSBlbmFibGVkCitBIGJvb2xlYW4gdmFsdWUgaW5k aWNhdGluZyB3aGV0aGVyIHRoZSB4bWV0aG9kIGlzIGVuYWJsZWQgb3IKK2Rp c2FibGVkLgorCitAZW5kIHRhYmxlCisKK1RoZSBjbGFzcyBAY29kZXtYTWV0 aG9kfSBpcyBhIGNvbnZlbmllbmNlIGNsYXNzIHdpdGggc2FtZQorYXR0cmli dXRlcyBhcyBhYm92ZSBhbG9uZyB3aXRoIHRoZSBmb2xsb3dpbmcgY29uc3Ry dWN0b3I6CisKK0BkZWZ1biBYTWV0aG9kLl9faW5pdF9fKHNlbGYsIG5hbWUp CitDb25zdHJ1Y3RzIGFuIGVuYWJsZWQgeG1ldGhvZCB3aXRoIG5hbWUgQHZh cntuYW1lfS4KK0BlbmQgZGVmdW4KK0BlbmQgZGVmdmFyCisKK0Bub2luZGVu dAorVGhlIEBjb2Rle1hNZXRob2RNYXRjaGVyfSBjbGFzcyBoYXMgdGhlIGZv bGxvd2luZyBtZXRob2RzOgorCitAZGVmdW4gWE1ldGhvZE1hdGNoZXIuX19p bml0X18oc2VsZiwgbmFtZSkKK0NvbnN0cnVjdHMgYW4gZW5hYmxlZCB4bWV0 aG9kIG1hdGNoZXIgd2l0aCBuYW1lIEB2YXJ7bmFtZX0uICBUaGUKK0Bjb2Rl e21ldGhvZHN9IGF0dHJpYnV0ZSBpcyBpbml0aWFsaXplZCB0byBAY29kZXtO b25lfS4KK0BlbmQgZGVmdW4KKworQGRlZnVuIFhNZXRob2RNYXRjaGVyLm1h dGNoKHNlbGYsIGNsYXNzX3R5cGUsIG1ldGhvZF9uYW1lKQorRGVyaXZlZCBj bGFzc2VzIHNob3VsZCBvdmVycmlkZSB0aGlzIG1ldGhvZC4gIEl0IHNob3Vs ZCByZXR1cm4gYQoreG1ldGhvZCB3b3JrZXIgb2JqZWN0IChvciBhIHNlcXVl bmNlIG9mIHhtZXRob2Qgd29ya2VyCitvYmplY3RzKSBtYXRjaGluZyB0aGUg QHZhcntjbGFzc190eXBlfSBhbmQgQHZhcnttZXRob2RfbmFtZX0uCitAdmFy e2NsYXNzX3R5cGV9IGlzIGEgQGNvZGV7Z2RiLlR5cGV9IG9iamVjdCwgYW5k IEB2YXJ7bWV0aG9kX25hbWV9CitpcyBhIHN0cmluZyB2YWx1ZS4gIElmIHRo ZSBtYXRjaGVyIG1hbmFnZXMgbmFtZWQgbWV0aG9kcyBhcyBsaXN0ZWQgaW4K K2l0cyBAY29kZXttZXRob2RzfSBhdHRyaWJ1dGUsIHRoZW4gb25seSB0aG9z ZSB3b3JrZXIgb2JqZWN0cyB3aG9zZQorY29ycmVzcG9uZGluZyBlbnRyaWVz IGluIHRoZSBAY29kZXttZXRob2RzfSBsaXN0IGFyZSBlbmFibGVkIHNob3Vs ZCBiZQorcmV0dXJuZWQuCitAZW5kIGRlZnVuCisKK0EgeG1ldGhvZCB3b3Jr ZXIgc2hvdWxkIGJlIGFuIGluc3RhbmNlIG9mIGEgY2xhc3MgZGVyaXZlZCBm cm9tCitAY29kZXtYTWV0aG9kV29ya2VyfSBkZWZpbmVkIGluIHRoZSBtb2R1 bGUgQGNvZGV7Z2RiLnhtZXRob2R9LAorb3Igc3VwcG9ydCB0aGUgZm9sbG93 aW5nIGludGVyZmFjZToKKworQGRlZnVuIFhNZXRob2RXb3JrZXIuZ2V0X2Fy Z190eXBlcyhzZWxmKQorVGhpcyBtZXRob2QgcmV0dXJucyBhIHNlcXVlbmNl IG9mIEBjb2Rle2dkYi5UeXBlfSBvYmplY3RzIGNvcnJlc3BvbmRpbmcKK3Rv IHRoZSBhcmd1bWVudHMgdGhhdCB0aGUgeG1ldGhvZCB0YWtlcy4gIEl0IGNh biByZXR1cm4gYW4gZW1wdHkKK3NlcXVlbmNlIG9yIEBjb2Rle05vbmV9IGlm IHRoZSB4bWV0aG9kIGRvZXMgbm90IHRha2UgYW55IGFyZ3VtZW50cy4KK0lm IHRoZSB4bWV0aG9kIHRha2VzIGEgc2luZ2xlIGFyZ3VtZW50LCB0aGVuIGEg c2luZ2xlCitAY29kZXtnZGIuVHlwZX0gb2JqZWN0IGNvcnJlc3BvbmRpbmcg dG8gaXQgY2FuIGJlIHJldHVybmVkLgorQGVuZCBkZWZ1bgorCitAZGVmdW4g WE1ldGhvZFdvcmtlci5pbnZva2Uoc2VsZiwgb2JqLCBhcmdzKQorVGhpcyBp cyB0aGUgbWV0aG9kIHdoaWNoIGRvZXMgdGhlIEBlbXBoe3dvcmt9IG9mIHRo ZSB4bWV0aG9kLgorQHZhcntvYmp9IGlzIHRoZSBvYmplY3Qgb24gd2hpY2gg dGhlIG1ldGhvZCBpcyBiZWluZyBpbnZva2VkLCBhbmQKK0B2YXJ7YXJnc30g aXMgdGhlIHR1cGxlIG9mIGFyZ3VtZW50cyB0byB0aGUgbWV0aG9kLiAgQHZh cntvYmp9IGFuZCB0aGUKK2VsZW1lbnRzIG9mIEB2YXJ7YXJnc30gYXJlIEBj b2Rle2dkYi5WYWx1ZX0gb2JqZWN0cy4KK0BlbmQgZGVmdW4KKworRm9yIEB2 YWx1ZXtHREJOfSB0byBsb29rdXAgeG1ldGhvZHMsIHRoZSB4bWV0aG9kIG1h dGNoZXJzCitzaG91bGQgYmUgcmVnaXN0ZXJlZCB1c2luZyB0aGUgZm9sbG93 aW5nIGZ1bmN0aW9uIGRlZmluZWQgaW4gdGhlIG1vZHVsZQorQGNvZGV7Z2Ri LnhtZXRob2R9OgorCitAZGVmdW4gcmVnaXN0ZXJfeG1ldGhvZF9tYXRjaGVy KGxvY3VzLCBtYXRjaGVyLCByZXBsYWNlPUZhbHNlKQorVGhlIEBjb2Rle21h dGNoZXJ9IGlzIHJlZ2lzdGVyZWQgd2l0aCBAY29kZXtsb2N1c30sIHJlcGxh Y2luZyBhbgorZXhpc3RpbmcgbWF0Y2hlciB3aXRoIHRoZSBzYW1lIG5hbWUg YXMgQGNvZGV7bWF0Y2hlcn0gaWYKK0Bjb2Rle3JlcGxhY2V9IGlzIEBjb2Rl e1RydWV9LiAgQGNvZGV7bG9jdXN9IGNhbiBiZSBhCitAY29kZXtnZGIuT2Jq ZmlsZX0gb2JqZWN0IChAcHhyZWZ7T2JqZmlsZXMgSW4gUHl0aG9ufSksIG9y IGEKK0Bjb2Rle2dkYi5Qcm9nc3BhY2V9IG9iamVjdCAoQHB4cmVme1Byb2dy YW0gU3BhY2VzIEluIFB5dGhvbn0pLCBvcgorQGNvZGV7Tm9uZX0uICBJZiBp dCBpcyBAY29kZXtOb25lfSwgdGhlbiBAY29kZXttYXRjaGVyfSBpcyByZWdp c3RlcmVkCitnbG9iYWxseS4KK0BlbmQgZGVmdW4KKworQG5vZGUgV3JpdGlu ZyBhIFhtZXRob2QKK0BzdWJzdWJzZWN0aW9uIFdyaXRpbmcgYSBYbWV0aG9k CitAY2luZGV4IHdyaXRpbmcgeG1ldGhvZHMgaW4gUHl0aG9uCisKK0ltcGxl bWVudGluZyB4bWV0aG9kcyBpbiBQeXRob24gd2lsbCByZXF1aXJlIGltcGxl bWVudGluZyB4bWV0aG9kCittYXRjaGVycyBhbmQgeG1ldGhvZCB3b3JrZXJz IChAcHhyZWZ7WG1ldGhvZHMgSW4gUHl0aG9ufSkuICBDb25zaWRlcgordGhl IGZvbGxvd2luZyBDQHR7Kyt9IGNsYXNzOgorCitAc21hbGxleGFtcGxlCitj bGFzcyBNeUNsYXNzCitAeworIHB1YmxpYzoKKyAgTXlDbGFzcyAoaW50IGEp IDogYV8oYSkge30KKworICBpbnQgZ2V0YSAodm9pZCkgeyByZXR1cm4gYV87 IH0KKyAgaW50IG9wZXJhdG9yKyAoaW50IGIpOworCisgcHJpdmF0ZToKKyAg aW50IGFfOworQH07CisKK2ludAorTXlDbGFzczo6b3BlcmF0b3IrIChpbnQg YikKK0B7CisgIHJldHVybiBhXyArIGI7CitAfQorQGVuZCBzbWFsbGV4YW1w bGUKKworQG5vaW5kZW50CitMZXQgdXMgZGVmaW5lIHR3byB4bWV0aG9kcyBm b3IgdGhlIGNsYXNzIEBjb2Rle015Q2xhc3N9LCBvbmUKK3JlcGxhY2luZyB0 aGUgbWV0aG9kIEBjb2Rle2dldGF9LCBhbmQgYW5vdGhlciBhZGRpbmcgYW4g b3ZlcmxvYWRlZAorZmxhdm9yIG9mIEBjb2Rle29wZXJhdG9yK30gd2hpY2gg dGFrZXMgYSBAY29kZXtNeUNsYXNzfSBhcmd1bWVudC4gVGhlCit4bWV0aG9k IG1hdGNoZXIgY2FuIGJlIGRlZmluZWQgYXMgZm9sbG93czoKKworQHNtYWxs ZXhhbXBsZQorY2xhc3MgTXlDbGFzc01hdGNoZXIoZ2RiLnhtZXRob2QuWE1l dGhvZE1hdGNoZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAg ICAgZ2RiLnhtZXRob2QuWE1ldGhvZE1hdGNoZXIuX19pbml0X18oc2VsZiwg J015TWF0Y2hlcicpCisgICAgICAgICMgTGlzdCBvZiBtZXRob2RzICdtYW5h Z2VkJyBieSB0aGlzIG1hdGNoZXIKKyAgICAgICAgc2VsZi5tZXRob2RzID0g W2dkYi54bWV0aG9kLlhNZXRob2QoJ2dldGEnKSwKKyAgICAgICAgICAgICAg ICAgICAgICAgIGdkYi54bWV0aG9kLlhNZXRob2QoJ3N1bScpXQorCisgICAg ZGVmIG1hdGNoKHNlbGYsIGNsYXNzX3R5cGUsIG1ldGhvZF9uYW1lKToKKyAg ICAgICAgaWYgY2xhc3NfdHlwZS50YWcgIT0gJ015Q2xhc3MnOgorICAgICAg ICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgaWYgbWV0aG9kX25hbWUgPT0g J2dldGEnIGFuZCBzZWxmLm1ldGhvZHNbMF0uZW5hYmxlZDoKKyAgICAgICAg ICAgIHJldHVybiBNeUNsYXNzV29ya2VyX2dldGEoKQorICAgICAgICBlbGlm IG1ldGhvZF9uYW1lID09ICdvcGVyYXRvcisnIGFuZCBzZWxmLm1ldGhvZHNb MV0uZW5hYmxlZDoKKyAgICAgICAgICAgIHJldHVybiBNeUNsYXNzV29ya2Vy X3BsdXMoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIE5v bmUKK0BlbmQgc21hbGxleGFtcGxlCisKK0Bub2luZGVudAorTm90aWNlIHRo YXQgdGhlIEBjb2Rle21hdGNofSBtZXRob2Qgb2YgQGNvZGV7TXlDbGFzc01h dGNoZXJ9IHJldHVybnMKK2Egd29ya2VyIG9iamVjdCBvZiB0eXBlIEBjb2Rl e015Q2xhc3NXb3JrZXJfZ2V0YX0gZm9yIHRoZSBAY29kZXtnZXRhfQorbWV0 aG9kLCBhbmQgYSB3b3JrZXIgb2JqZWN0IG9mIHR5cGUgQGNvZGV7TXlDbGFz c1dvcmtlcl9wbHVzfSBmb3IgdGhlCitAY29kZXtvcGVyYXRvcit9IG1ldGhv ZC4gIEFsc28sIGEgd29ya2VyIG9iamVjdCBpcyByZXR1cm5lZCBvbmx5IGlm IHRoZQorY29ycmVzcG9uZGluZyBlbnRyeSBpbiB0aGUgQGNvZGV7bWV0aG9k c30gYXR0cmlidXRlIGlzIGVuYWJsZWQuCisKK1RoZSBpbXBsZW1lbnRhdGlv biBvZiB0aGUgd29ya2VyIGNsYXNzZXMgcmV0dXJuZWQgYnkgdGhlIG1hdGNo ZXIgYWJvdmUKK2lzIGFzIGZvbGxvd3M6CisKK0BzbWFsbGV4YW1wbGUKK2Ns YXNzIE15Q2xhc3NXb3JrZXJfZ2V0YShnZGIueG1ldGhvZC5YTWV0aG9kV29y a2VyKToKKyAgICBkZWYgZ2V0X2FyZ190eXBlcyhzZWxmKToKKyAgICAgICAg cmV0dXJuIE5vbmUKKworICAgIGRlZiBpbnZva2Uoc2VsZiwgb2JqLCBhcmdz KToKKyAgICAgICAgcmV0dXJuIG9ialsnYV8nXQorCisKK2NsYXNzIE15Q2xh c3NXb3JrZXJfcGx1cyhnZGIueG1ldGhvZC5YTWV0aG9kV29ya2VyKToKKyAg ICBkZWYgZ2V0X2FyZ190eXBlcyhzZWxmKToKKyAgICAgICAgcmV0dXJuIGdk Yi5sb29rdXBfdHlwZSgnTXlDbGFzcycpCisKKyAgICBkZWYgaW52b2tlKHNl bGYsIG9iaiwgYXJncyk6CisgICAgICAgIHJldHVybiBvYmpbJ2FfJ10gKyBh cmdzWzBdWydhXyddCitAZW5kIHNtYWxsZXhhbXBsZQorCitGb3IgQHZhbHVl e0dEQk59IHRvIGFjdHVhbGx5IGxvb2t1cCBhIHhtZXRob2QsIGl0IGhhcyB0 byBiZQorcmVnaXN0ZXJlZCB3aXRoIGl0LiAgVGhlIG1hdGNoZXIgZGVmaW5l ZCBhYm92ZSBpcyByZWdpc3RlcmVkIHdpdGgKK0B2YWx1ZXtHREJOfSBnbG9i YWxseSBhcyBmb2xsb3dzOgorCitAc21hbGxleGFtcGxlCitnZGIueG1ldGhv ZC5yZWdpc3Rlcl94bWV0aG9kX21hdGNoZXIoTm9uZSwgTXlDbGFzc01hdGNo ZXIoKSkKK0BlbmQgc21hbGxleGFtcGxlCisKK0lmIGFuIG9iamVjdCBAY29k ZXtvYmp9IG9mIHR5cGUgQGNvZGV7TXlDbGFzc30gaXMgaW5pdGlhbGl6ZWQg aW4gQ0B0eysrfQorY29kZSBhcyBmb2xsb3dzOgorCitAc21hbGxleGFtcGxl CitNeUNsYXNzIG9iaig1KTsKK0BlbmQgc21hbGxleGFtcGxlCisKK0Bub2lu ZGVudAordGhlbiwgYWZ0ZXIgbG9hZGluZyB0aGUgUHl0aG9uIHNjcmlwdCBk ZWZpbmluZyB0aGUgeG1ldGhvZCBtYXRjaGVycworYW5kIHdvcmtlcnMgaW50 byBAY29kZXtHREJOfSwgaW52b2tpbmcgdGhlIG1ldGhvZCBAY29kZXtnZXRh fSBvciB1c2luZwordGhlIG9wZXJhdG9yIEBjb2Rleyt9IG9uIEBjb2Rle29i an0gd2lsbCBpbnZva2UgdGhlIHhtZXRob2RzCitkZWZpbmVkIGFib3ZlOgor CitAc21hbGxleGFtcGxlCisoZ2RiKSBwIG9iai5nZXRhKCkKKyQxID0gNQor CisoZ2RiKSBwIG9iaiArIG9iagorJDIgPSAxMAorQGVuZCBzbWFsbGV4YW1w bGUKKwogQG5vZGUgSW5mZXJpb3JzIEluIFB5dGhvbgogQHN1YnN1YnNlY3Rp b24gSW5mZXJpb3JzIEluIFB5dGhvbgogQGNpbmRleCBpbmZlcmlvcnMgaW4g UHl0aG9uCg== --047d7b5db99003375904fa1848e3--