From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mike Gran Newsgroups: gmane.lisp.guile.devel Subject: [PATCH] R6RS hex string and character escapes Date: Sun, 10 Jan 2010 20:25:40 -0800 (PST) Message-ID: <919402.76652.qm@web37905.mail.mud.yahoo.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0-873996073-1263183940=:76652" X-Trace: ger.gmane.org 1263183970 1591 80.91.229.12 (11 Jan 2010 04:26:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 11 Jan 2010 04:26:10 +0000 (UTC) To: guile-devel Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Jan 11 05:26:03 2010 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1NUBqo-0004YB-7f for guile-devel@m.gmane.org; Mon, 11 Jan 2010 05:26:02 +0100 Original-Received: from localhost ([127.0.0.1]:41353 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NUBqn-0000Gf-Rj for guile-devel@m.gmane.org; Sun, 10 Jan 2010 23:25:57 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NUBqg-0000G4-OR for guile-devel@gnu.org; Sun, 10 Jan 2010 23:25:50 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NUBqb-0000CB-98 for guile-devel@gnu.org; Sun, 10 Jan 2010 23:25:49 -0500 Original-Received: from [199.232.76.173] (port=47405 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NUBqb-0000C8-3s for guile-devel@gnu.org; Sun, 10 Jan 2010 23:25:45 -0500 Original-Received: from web37905.mail.mud.yahoo.com ([209.191.91.167]:40008) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1NUBqa-0003d5-I3 for guile-devel@gnu.org; Sun, 10 Jan 2010 23:25:45 -0500 Original-Received: (qmail 77648 invoked by uid 60001); 11 Jan 2010 04:25:41 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1263183940; bh=XmHa668zJZYelKRrsUUOZX1i5JDVrFsBGT9gpSigshs=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type; b=w7cvtPtCFv4Ru/Bifgc0NGHSK/UOOxRQzfGoo0VkSHKyrwbUPh+f7MubyTMu5TSNGJltG4YQczQw2CgyWt+LiMhzEdhZWOCvkn6lcc67HJV0tR9YUOePHLOda9AZsponswUqBzGi+lT41a40fzUf/9rJ6qJA9BzYg2V/7CV7aIU= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type; b=husAaUhUyrqh4iOyk2ncbDMxkmzaFokJUpNw988Fqk6w6eAjWc5U23A8uQq0s6DVoXN/lZ9VG0AenUoNDpAg0Fbjxkd/6FgxqVndPhMfktFuxi8zj/pYIjVbgL37/BtXN0S0znUk+yFpiee2CzIUlan2a+2huP17kBKgjM0BbEs=; X-YMail-OSG: omGFhOcVM1myByKRKdk9wMT42IBeXgdpKzbUkKgEnKAzw4rSVC6Dm_mTkj1QquyJJroEG4wC4P0oDcjBKC59s.RG5crVs7vn5ZaVz1pQHldpATlLb8A7xMgYBiuUhqj6KMzUOVtN9VE.lRYCHEDJ8bFSnv8_bXd_PWDv4JQXAlFkybllCF_4Nmkqdx6Z56TocOKQOU.oHNLCpWwwwXyTHssM45Ncrwq3XVHw.FxcZx_U8v9c4cfdbO0XT06w7Y4u42zs6oDL9Mmu_KhHU.zxtVqE8AnTKcYkX8QFhS7Bh46zJ5w1U2one96FA11_TYAHyX1IBADI7rsKDUhothjbMw-- Original-Received: from [71.140.100.71] by web37905.mail.mud.yahoo.com via HTTP; Sun, 10 Jan 2010 20:25:40 PST X-Mailer: YahooMailRC/240.3 YahooMailWebService/0.8.100.260964 X-detected-operating-system: by monty-python.gnu.org: FreeBSD 6.x (1) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:9849 Archived-At: --0-873996073-1263183940=:76652 Content-Type: text/plain; charset=us-ascii Yo- I've got a patch here that would allow one to "(read-enable 'r6rs-hex-escapes)" which, when enabled, would change the character hex escape format to #\xNNN, where NNN is a hexadecimal number of 1 to 8 digits. It also would change the string hex escape format to "\xNNN;" where NNN is 1 to 8 hex digits and where there is a terminating semicolon (!). This is in line with R6RS. Questions? Comments? Also, since this isn't necessary to compile the compiler, should this sort of reader feature appear in the scheme code? Thanks, Mike --0-873996073-1263183940=:76652 Content-Type: application/octet-stream; name="0001-Reader-option-for-R6RS-hex-escapes.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Reader-option-for-R6RS-hex-escapes.patch" VGhpcyBhZGRzIGEgcmVhZGVyIG9wdGlvbiAncjZycy1oZXgtZXNjYXBlcyB0 aGF0IG1vZGlmaWVzIHRoZQpiZWhhdmlvciBvZiBudW1lcmljIGVzY2FwZXMg aW4gY2hhcmFjdGVycyBhbmQgc3RyaW5ncy4gIFdoZW4gZW5hYmxlZCwKdmFy aWFibGUtbGVuZ3RoIGNoYXJhY3RlciBoZXggZXNjYXBlcyAoI1x4Tk5OKSBh cmUgYWxsb3dlZCBhbmQgYmVjb21lCnRoZSBkZWZhdWx0IG91dHB1dCBmb3Jt YXQgZm9yIG51bWVyaWNhbGx5LWVzY2FwZWQgY2hhcmFjdGVycy4gIEFsc28s CnN0cmluZyBoZXggZXNjYXBlcyBzd2l0Y2ggdG8gYSBzZW1pY29sb24gdGVy bWluYXRlZCBoZXggZXNjYXBlIChceE5OTk47KS4KCiogbGliZ3VpbGUvcHJp bnQuYyAoUFJJTlRfQ0hBUl9FU0NBUEUpOiBuZXcgbWFjcm8KICAoaXByaW4x KTogdXNlIG5ldyBtYWNybyBQUklOVF9DSEFSX0VTQ0FQRQoKKiBsaWJndWls ZS9wcml2YXRlLW9wdGlvbnMuaCAoU0NNX1I2UlNfRVNDQVBFU19QKTogbmV3 ICNkZWZpbmUKCiogbGliZ3VpbGUvcmVhZC5jIChzY21fcmVhZF9vcHRzKTog YWRkIG5ldyBvcHRpb24gcjZycy1oZXgtZXNjYXBlcwogIChTQ01fUkVBRF9I RVhfRVNDQVBFKTogbW9kaWZ5IHRvIHRha2UgYSB0ZXJtaW5hdG9yIHBhcmFt ZXRlcgogIChzY21fcmVhZF9zdHJpbmcpOiBwYXJzZSBSNlJTIGhleCBzdHJp bmcgZXNjYXBlcwogIChzY21fcmVhZF9jaGFyYWN0ZXIpOiBwYXJzZSBSNlJT IGhleCBjaGFyYWN0ZXIgZXNjYXBlcwoKKiB0ZXN0LXN1aXRlL3Rlc3RzL2No YXJzLnRlc3QgKHdpdGgtcmVhZC1vcHRpb25zKTogbmV3IHByb2NlZHVyZQog IChSNlJTIGhleCBlc2NhcGVzKTogbmV3IHRlc3RzCgoqIHRlc3Qtc3VpdGUv dGVzdHMvc3RyaW5ncy50ZXN0ICh3aXRoLXJlYWQtb3B0aW9ucyk6IG5ldyBw cm9jZWR1cmUKICAoUjZSUyBoZXggZXNjYXBlcyk6IG5ldyB0ZXN0cwotLS0K IGxpYmd1aWxlL3ByaW50LmMgICAgICAgICAgICAgIHwgIDEwNiArKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogbGliZ3VpbGUv cHJpdmF0ZS1vcHRpb25zLmggICAgfCAgICA4ICsrLQogbGliZ3VpbGUvcmVh ZC5jICAgICAgICAgICAgICAgfCAgIDg3ICsrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLQogdGVzdC1zdWl0ZS90ZXN0cy9jaGFycy50ZXN0ICAg fCAgIDQ0ICsrKysrKysrKysrKysrKysrCiB0ZXN0LXN1aXRlL3Rlc3RzL3N0 cmluZ3MudGVzdCB8ICAgOTYgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLQogNSBmaWxlcyBjaGFuZ2VkLCAyNzMgaW5zZXJ0aW9ucygr KSwgNjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliZ3VpbGUvcHJp bnQuYyBiL2xpYmd1aWxlL3ByaW50LmMKaW5kZXggYWVmNTc1ZC4uZGNmMjhj NyAxMDA2NDQKLS0tIGEvbGliZ3VpbGUvcHJpbnQuYworKysgYi9saWJndWls ZS9wcmludC5jCkBAIC00MDksNiArNDA5LDIyIEBAIFNDTV9HUFJPQyhzX2Rp c3BsYXksICJkaXNwbGF5IiwgMSwgMSwgMCwgc2NtX2Rpc3BsYXksIGdfZGlz cGxheSk7CiAKIHN0YXRpYyB2b2lkIGlwcmluMSAoU0NNIGV4cCwgU0NNIHBv cnQsIHNjbV9wcmludF9zdGF0ZSAqcHN0YXRlKTsKIAorCisvKiBQcmludCBh IGNoYXJhY3RlciBhcyBhbiBvY3RhbCBvciBoZXggZXNjYXBlLiAgKi8KKyNk ZWZpbmUgUFJJTlRfQ0hBUl9FU0NBUEUoaSwgcG9ydCkgICAgICAgICAgICAg IFwKKyAgZG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKyAgICAgIGlmICghU0NNX1I2UlNfRVNDQVBFU19Q KSAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc2NtX2ludHByaW50IChp LCA4LCBwb3J0KTsgICAgICAgICAgICAgIFwKKyAgICAgIGVsc2UgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgeyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg ICAgICBzY21fcHV0cyAoIngiLCBwb3J0KTsgICAgICAgICAgICAgICAgIFwK KyAgICAgICAgICBzY21faW50cHJpbnQgKGksIDE2LCBwb3J0KTsgICAgICAg ICAgIFwKKyAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKKyAgd2hpbGUgKDApCisKKyAgCiB2b2lkIAog c2NtX2lwcmluMSAoU0NNIGV4cCwgU0NNIHBvcnQsIHNjbV9wcmludF9zdGF0 ZSAqcHN0YXRlKQogewpAQCAtNDg4LDcgKzUwNCw3IEBAIGlwcmluMSAoU0NN IGV4cCwgU0NNIHBvcnQsIHNjbV9wcmludF9zdGF0ZSAqcHN0YXRlKQogICAg ICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgIC8qIENoYXJhY3RlciBpcyBncmFwaGljIGJ1dCB1bnJlcHJlc2VudGFi bGUgaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMgcG9ydCdz IGVuY29kaW5nLiAgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgIHNjbV9p bnRwcmludCAoaSwgOCwgcG9ydCk7CisgICAgICAgICAgICAgICAgICAgICAg ICBQUklOVF9DSEFSX0VTQ0FQRSAoaSwgcG9ydCk7CiAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAg ICAgICAgICAgewpAQCAtNTA3LDEyICs1MjMsMTIgQEAgaXByaW4xIChTQ00g ZXhwLCBTQ00gcG9ydCwgc2NtX3ByaW50X3N0YXRlICpwc3RhdGUpCiAgICAg ICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAg ICAgLyogQ2hhcmFjdGVyIGlzIGdyYXBoaWMgYnV0IHVucmVwcmVzZW50YWJs ZSBpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBwb3J0J3Mg ZW5jb2RpbmcuICAqLwotICAgICAgICAgICAgICAgICAgICAgICAgc2NtX2lu dHByaW50IChpLCA4LCBwb3J0KTsKKyAgICAgICAgICAgICAgICAgICAgICAg IFBSSU5UX0NIQVJfRVNDQVBFIChpLCBwb3J0KTsKICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgZWxz ZQogICAgICAgICAgICAgICAgIC8qIENoYXJhY3RlciBpcyBhIG5vbi1ncmFw aGljYWwgY2hhcmFjdGVyLiAgKi8KLSAgICAgICAgICAgICAgICBzY21faW50 cHJpbnQgKGksIDgsIHBvcnQpOworICAgICAgICAgICAgICAgIFBSSU5UX0NI QVJfRVNDQVBFIChpLCBwb3J0KTsKIAkgICAgfQogCSAgZWxzZQogCSAgICBz Y21faV9jaGFycHJpbnQgKGksIHBvcnQpOwpAQCAtNTc5LDkgKzU5NSw5IEBA IGlwcmluMSAoU0NNIGV4cCwgU0NNIHBvcnQsIHNjbV9wcmludF9zdGF0ZSAq cHN0YXRlKQogICAgICAgICBjYXNlIHNjbV90Yzdfc3RyaW5nOgogICAgICAg ICAgIGlmIChTQ01fV1JJVElOR1AgKHBzdGF0ZSkpCiAgICAgICAgICAgICB7 Ci0gICAgICAgICAgICAgIHNpemVfdCBpLCBqLCBsZW47CisgICAgICAgICAg ICAgIHNpemVfdCBpLCBsZW47CiAgICAgICAgICAgICAgIHN0YXRpYyBjaGFy IGNvbnN0IGhleFtdID0gIjAxMjM0NTY3ODlhYmNkZWYiOwotICAgICAgICAg ICAgICBjaGFyIGJ1Zls4XTsKKyAgICAgICAgICAgICAgY2hhciBidWZbOV07 CiAKIAogICAgICAgICAgICAgICBzY21fcHV0YyAoJyInLCBwb3J0KTsKQEAg LTY0NywzNyArNjYzLDYxIEBAIGlwcmluMSAoU0NNIGV4cCwgU0NNIHBvcnQs IHNjbV9wcmludF9zdGF0ZSAqcHN0YXRlKQogICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgLyogQ2hhcmFjdGVyIGlzIGdy YXBoaWMgYnV0IHVucmVwcmVzZW50YWJsZSBpbgogICAgICAgICAgICAgICAg ICAgICAgICAgIHRoaXMgcG9ydCdzIGVuY29kaW5nIG9yIGlzIG5vdCBncmFw aGljLiAgKi8KLSAgICAgICAgICAgICAgICAgICAgICBpZiAoY2ggPD0gMHhG RikKKyAgICAgICAgICAgICAgICAgICAgICBpZiAoIVNDTV9SNlJTX0VTQ0FQ RVNfUCkKICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgYnVmWzBdID0gJ1xcJzsKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgYnVmWzFdID0gJ3gnOwotICAgICAgICAgICAgICAgICAg ICAgICAgICBidWZbMl0gPSBoZXhbY2ggLyAxNl07Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgIGJ1ZlszXSA9IGhleFtjaCAlIDE2XTsKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgc2NtX2xmd3JpdGUgKGJ1ZiwgNCwgcG9ydCk7 Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg ICAgICAgZWxzZSBpZiAoY2ggPD0gMHhGRkZGKQotICAgICAgICAgICAgICAg ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICBidWZbMF0g PSAnXFwnOwotICAgICAgICAgICAgICAgICAgICAgICAgICBidWZbMV0gPSAn dSc7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZlsyXSA9IGhleFso Y2ggJiAweEYwMDApID4+IDEyXTsKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgYnVmWzNdID0gaGV4WyhjaCAmIDB4RjAwKSA+PiA4XTsKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgYnVmWzRdID0gaGV4WyhjaCAmIDB4RjApID4+ IDRdOwotICAgICAgICAgICAgICAgICAgICAgICAgICBidWZbNV0gPSBoZXhb KGNoICYgMHhGKV07Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIHNjbV9s ZndyaXRlIChidWYsIDYsIHBvcnQpOwotICAgICAgICAgICAgICAgICAgICAg ICAgICBqID0gaSArIDE7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGlm IChjaCA8PSAweEZGKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZlswXSA9ICdcXCc7 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZbMV0gPSAneCc7 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZbMl0gPSBoZXhb Y2ggLyAxNl07CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZb M10gPSBoZXhbY2ggJSAxNl07CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzY21fbGZ3cml0ZSAoYnVmLCA0LCBwb3J0KTsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAg IGVsc2UgaWYgKGNoIDw9IDB4RkZGRikKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZb MF0gPSAnXFwnOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVm WzFdID0gJ3UnOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVm WzJdID0gaGV4WyhjaCAmIDB4RjAwMCkgPj4gMTJdOworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYnVmWzNdID0gaGV4WyhjaCAmIDB4RjAwKSA+ PiA4XTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1Zls0XSA9 IGhleFsoY2ggJiAweEYwKSA+PiA0XTsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJ1Zls1XSA9IGhleFsoY2ggJiAweEYpXTsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNjbV9sZndyaXRlIChidWYsIDYsIHBv cnQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoY2ggPiAweEZGRkYpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYnVmWzBdID0gJ1xcJzsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJ1ZlsxXSA9ICdVJzsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJ1ZlsyXSA9IGhleFsoY2ggJiAweEYwMDAwMCkgPj4g MjBdOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmWzNdID0g aGV4WyhjaCAmIDB4RjAwMDApID4+IDE2XTsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJ1Zls0XSA9IGhleFsoY2ggJiAweEYwMDApID4+IDEy XTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1Zls1XSA9IGhl eFsoY2ggJiAweEYwMCkgPj4gOF07CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBidWZbNl0gPSBoZXhbKGNoICYgMHhGMCkgPj4gNF07CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBidWZbN10gPSBoZXhbKGNoICYg MHhGKV07CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY21fbGZ3 cml0ZSAoYnVmLCA4LCBwb3J0KTsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg ICAgICAgICAgICAgZWxzZSBpZiAoY2ggPiAweEZGRkYpCisgICAgICAgICAg ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgewot ICAgICAgICAgICAgICAgICAgICAgICAgICBidWZbMF0gPSAnXFwnOwotICAg ICAgICAgICAgICAgICAgICAgICAgICBidWZbMV0gPSAnVSc7Ci0gICAgICAg ICAgICAgICAgICAgICAgICAgIGJ1ZlsyXSA9IGhleFsoY2ggJiAweEYwMDAw MCkgPj4gMjBdOwotICAgICAgICAgICAgICAgICAgICAgICAgICBidWZbM10g PSBoZXhbKGNoICYgMHhGMDAwMCkgPj4gMTZdOwotICAgICAgICAgICAgICAg ICAgICAgICAgICBidWZbNF0gPSBoZXhbKGNoICYgMHhGMDAwKSA+PiAxMl07 Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIGJ1Zls1XSA9IGhleFsoY2gg JiAweEYwMCkgPj4gOF07Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIGJ1 Zls2XSA9IGhleFsoY2ggJiAweEYwKSA+PiA0XTsKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgYnVmWzddID0gaGV4WyhjaCAmIDB4RildOwotICAgICAg ICAgICAgICAgICAgICAgICAgICBzY21fbGZ3cml0ZSAoYnVmLCA4LCBwb3J0 KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaiA9IGkgKyAxOworICAg ICAgICAgICAgICAgICAgICAgICAgICBzY21fdF93Y2hhciBjaDIgPSBjaDsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAg ICAgICAgICAgIC8qIFByaW50IGFuIFI2UlMgdmFyaWFibGUtbGVuZ3RoIGhl eCBlc2NhcGU6ICJceE5OTk47IgorICAgICAgICAgICAgICAgICAgICAgICAg ICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaSA9IDg7Cisg ICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZltpXSA9ICc7JzsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgaSAtLTsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgaWYgKGNoID09IDApCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYnVmW2ktLV0gPSAnMCc7CisgICAgICAgICAgICAgICAgICAgICAg ICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAo Y2gyID4gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmW2ldID0gaGV4W2No MiAmIDB4Rl07CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNo MiA+Pj0gNDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSAt LTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgYnVmW2ldID0gJ3gnOworICAgICAgICAgICAg ICAgICAgICAgICAgICBpIC0tOworICAgICAgICAgICAgICAgICAgICAgICAg ICBidWZbaV0gPSAnXFwnOworICAgICAgICAgICAgICAgICAgICAgICAgICBz Y21fbGZ3cml0ZSAoYnVmICsgaSwgOSAtIGksIHBvcnQpOwogICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvbGliZ3VpbGUvcHJpdmF0ZS1v cHRpb25zLmggYi9saWJndWlsZS9wcml2YXRlLW9wdGlvbnMuaAppbmRleCA3 MDNjYThhLi40MGQ0MGZiIDEwMDY0NAotLS0gYS9saWJndWlsZS9wcml2YXRl LW9wdGlvbnMuaAorKysgYi9saWJndWlsZS9wcml2YXRlLW9wdGlvbnMuaApA QCAtOTQsOSArOTQsMTMgQEAgU0NNX0FQSSBzY21fdF9vcHRpb24gc2NtX3Jl YWRfb3B0c1tdOwogI2lmIFNDTV9FTkFCTEVfRUxJU1AKICNkZWZpbmUgU0NN X0VMSVNQX1ZFQ1RPUlNfUCAgICBzY21fcmVhZF9vcHRzWzRdLnZhbAogI2Rl ZmluZSBTQ01fRVNDQVBFRF9QQVJFTlNfUCAgIHNjbV9yZWFkX29wdHNbNV0u dmFsCi0jZGVmaW5lIFNDTV9OX1JFQURfT1BUSU9OUyA2CisjZW5kaWYKKyNk ZWZpbmUgU0NNX1I2UlNfRVNDQVBFU19QICAgICBzY21fcmVhZF9vcHRzWzZd LnZhbAorCisjaWYgU0NNX0VOQUJMRV9FTElTUAorI2RlZmluZSBTQ01fTl9S RUFEX09QVElPTlMgNwogI2Vsc2UKLSNkZWZpbmUgU0NNX05fUkVBRF9PUFRJ T05TIDQKKyNkZWZpbmUgU0NNX05fUkVBRF9PUFRJT05TIDUKICNlbmRpZgog CiAjZW5kaWYgIC8qIFBSSVZBVEVfT1BUSU9OUyAqLyAKZGlmZiAtLWdpdCBh L2xpYmd1aWxlL3JlYWQuYyBiL2xpYmd1aWxlL3JlYWQuYwppbmRleCAwMTE2 ODRiLi4yOGM4NGQxIDEwMDY0NAotLS0gYS9saWJndWlsZS9yZWFkLmMKKysr IGIvbGliZ3VpbGUvcmVhZC5jCkBAIC03Niw2ICs3Niw4IEBAIHNjbV90X29w dGlvbiBzY21fcmVhZF9vcHRzW10gPSB7CiAgIHsgU0NNX09QVElPTl9CT09M RUFOLCAiZWxpc3Atc3RyaW5ncyIsIDAsCiAgICAgIlN1cHBvcnQgYFxcKCcg YW5kIGBcXCknIGluIHN0cmluZ3MuIn0sCiAjZW5kaWYKKyAgeyBTQ01fT1BU SU9OX0JPT0xFQU4sICJyNnJzLWhleC1lc2NhcGVzIiwgMCwKKyAgICAiVXNl IFI2UlMgdmFyaWFibGUtbGVuZ3RoIGNoYXJhY3RlciBhbmQgc3RyaW5nIGhl eCBlc2NhcGVzLiJ9LAogICB7IDAsIH0sCiB9OwogCkBAIC00MTIsMzIgKzQx NCwzNiBAQCBzY21fcmVhZF9zZXhwIChzY21fdF93Y2hhciBjaHIsIFNDTSBw b3J0KQogCiAKIC8qIFJlYWQgYSBoZXhhZGVjaW1hbCBudW1iZXIgTkRJR0lU UyBpbiBsZW5ndGguICBQdXQgaXRzIHZhbHVlIGludG8gdGhlIHZhcmlhYmxl Ci0gICBDLiAgKi8KLSNkZWZpbmUgU0NNX1JFQURfSEVYX0VTQ0FQRShuZGln aXRzKSAgICAgICAgICAgIFwKLSAgZG8gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHNjbV90X3dj aGFyIGE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHNp emVfdCBpID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg ICAgIGMgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKLSAgICAgIHdoaWxlIChpIDwgbmRpZ2l0cykgICAgICAgICAgICAgICAg ICAgICAgIFwKLSAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKLSAgICAgICAgICBhID0gc2NtX2dldGMgKHBvcnQp OyAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICBpZiAoYSA9PSBFT0Yp ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIGdvdG8g c3RyX2VvZjsgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICBp ZiAoJzAnIDw9IGEgJiYgYSA8PSAnOScpICAgICAgICAgICAgIFwKLSAgICAg ICAgICAgIGEgLT0gJzAnOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK LSAgICAgICAgICBlbHNlIGlmICgnQScgPD0gYSAmJiBhIDw9ICdGJykgICAg ICAgIFwKLSAgICAgICAgICAgIGEgPSBhIC0gJ0EnICsgMTA7ICAgICAgICAg ICAgICAgICAgIFwKLSAgICAgICAgICBlbHNlIGlmICgnYScgPD0gYSAmJiBh IDw9ICdmJykgICAgICAgIFwKLSAgICAgICAgICAgIGEgPSBhIC0gJ2EnICsg MTA7ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICBlbHNlICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIHsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg ICAgICAgYyA9IGE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg ICAgICAgICAgICAgZ290byBiYWRfZXNjYXBlZDsgICAgICAgICAgICAgICAg IFwKLSAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKLSAgICAgICAgICBjID0gYyAqIDE2ICsgYTsgICAgICAgICAg ICAgICAgICAgICAgIFwKLSAgICAgICAgICBpICsrOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgfSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIEMuICBJZiBURVJNSU5B VE9SIGlzIG5vbi1udWxsLCB0ZXJtaW5hdGUgZWFybHkgaWYgdGhlIFRFUk1J TkFUT1IgY2hhcmFjdGVyIGlzCisgICBmb3VuZC4gICovCisjZGVmaW5lIFND TV9SRUFEX0hFWF9FU0NBUEUobmRpZ2l0cywgdGVybWluYXRvcikgICAgICAg ICAgICAgICAgICAgXAorICBkbyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisgICAgICBzY21fdF93Y2hhciBhOyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor ICAgICAgc2l6ZV90IGkgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGMgPSAwOyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCisgICAgICB3aGlsZSAoaSA8IG5kaWdpdHMpICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKyAgICAgICAgICBhID0gc2NtX2dldGMgKHBvcnQpOyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAg aWYgKGEgPT0gRU9GKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAorICAgICAgICAgICAgZ290byBzdHJfZW9mOyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg ICAgICBpZiAodGVybWluYXRvciAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICYmIChhID09IChz Y21fdF93Y2hhcikgdGVybWluYXRvcikgICAgICAgICAgICAgICAgICAgXAor ICAgICAgICAgICAgICAmJiAoaSA+IDApKSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGJyZWFrOyAg ICAgICAgICAgaWYgKCcwJyA8PSBhICYmIGEgPD0gJzknKSAgICAgICAgICAg ICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSAtPSAnMCc7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgIGVsc2Ug aWYgKCdBJyA8PSBhICYmIGEgPD0gJ0YnKSAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKyAgICAgICAgICAgIGEgPSBhIC0gJ0EnICsgMTA7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAg ZWxzZSBpZiAoJ2EnIDw9IGEgJiYgYSA8PSAnZicpICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAorICAgICAgICAgICAgYSA9IGEgLSAnYScgKyAxMDsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg ICAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor ICAgICAgICAgICAgICBjID0gYTsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgZ290byBi YWRfZXNjYXBlZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCisgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgIGMgPSBj ICogMTYgKyBhOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKyAgICAgICAgICBpICsrOyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIH0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKDApCiAKIHN0YXRpYyBTQ00K QEAgLTUxMSwxMyArNTE3LDE2IEBAIHNjbV9yZWFkX3N0cmluZyAoaW50IGNo ciwgU0NNIHBvcnQpCiAgICAgICAgICAgICAgIGMgPSAnXDAxMCc7CiAgICAg ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAneCc6Ci0gICAg ICAgICAgICAgIFNDTV9SRUFEX0hFWF9FU0NBUEUgKDIpOworICAgICAgICAg ICAgICBpZiAoU0NNX1I2UlNfRVNDQVBFU19QKQorICAgICAgICAgICAgICAg IFNDTV9SRUFEX0hFWF9FU0NBUEUgKDEwLCAnOycpOworICAgICAgICAgICAg ICBlbHNlCisgICAgICAgICAgICAgICAgU0NNX1JFQURfSEVYX0VTQ0FQRSAo MiwgJ1wwJyk7CiAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg Y2FzZSAndSc6Ci0gICAgICAgICAgICAgIFNDTV9SRUFEX0hFWF9FU0NBUEUg KDQpOworICAgICAgICAgICAgICBTQ01fUkVBRF9IRVhfRVNDQVBFICg0LCAn XDAnKTsKICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNl ICdVJzoKLSAgICAgICAgICAgICAgU0NNX1JFQURfSEVYX0VTQ0FQRSAoNik7 CisgICAgICAgICAgICAgIFNDTV9SRUFEX0hFWF9FU0NBUEUgKDYsICdcMCcp OwogICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6 CiAgICAgICAgICAgICBiYWRfZXNjYXBlZDoKQEAgLTgyOCw2ICs4MzcsMjYg QEAgc2NtX3JlYWRfY2hhcmFjdGVyIChzY21fdF93Y2hhciBjaHIsIFNDTSBw b3J0KQogICAgICAgICB9CiAgICAgfQogCisgIGlmIChjcCA9PSAneCcgJiYg KGNoYXJuYW1lX2xlbiA+IDEpICYmIFNDTV9SNlJTX0VTQ0FQRVNfUCkKKyAg ICB7CisgICAgICBTQ00gcDsKKyAgICAgIHNjbV90X3djaGFyIGNocjsKKyAg ICAgIAorICAgICAgLyogQ29udmVydCBmcm9tIGhleCwgc2tpcHBpbmcgdGhl IGluaXRpYWwgJ3gnIGNoYXJhY3RlciBpbiBDSEFSTkFNRSAqLworICAgICAg cCA9IHNjbV9zdHJpbmdfdG9fbnVtYmVyIChzY21fY19zdWJzdHJpbmcgKGNo YXJuYW1lLCAxLCBjaGFybmFtZV9sZW4pLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzY21fZnJvbV91aW50ICgxNikpOworICAgICAgaWYg KFNDTV9JX0lOVU1QIChwKSkKKyAgICAgICAgeworICAgICAgICAgIHNjbV90 X3djaGFyIGMgPSBTQ01fSV9JTlVNIChwKTsKKyAgICAgICAgICBpZiAoU0NN X0lTX1VOSUNPREVfQ0hBUiAoYykpCisgICAgICAgICAgICByZXR1cm4gU0NN X01BS0VfQ0hBUiAoYyk7CisgICAgICAgICAgZWxzZQorICAgICAgICAgICAg c2NtX2lfaW5wdXRfZXJyb3IgKEZVTkNfTkFNRSwgcG9ydCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAib3V0LW9mLXJhbmdlIGhleCBjaGFy YWN0ZXIgZXNjYXBlOiB+YSIsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2NtX2xpc3RfMSAoY2hhcm5hbWUpKTsKKyAgICAgICAgfQorICAg IH0KKwogICAvKiBUaGUgbmFtZXMgb2YgY2hhcmFjdGVycyBzaG91bGQgbmV2 ZXIgaGF2ZSBub24tTGF0aW4xCiAgICAgIGNoYXJhY3RlcnMuICAqLwogICBp ZiAoc2NtX2lfaXNfbmFycm93X3N0cmluZyAoY2hhcm5hbWUpCmRpZmYgLS1n aXQgYS90ZXN0LXN1aXRlL3Rlc3RzL2NoYXJzLnRlc3QgYi90ZXN0LXN1aXRl L3Rlc3RzL2NoYXJzLnRlc3QKaW5kZXggNTA5ZjA3MC4uMjVjODJlOCAxMDA2 NDQKLS0tIGEvdGVzdC1zdWl0ZS90ZXN0cy9jaGFycy50ZXN0CisrKyBiL3Rl c3Qtc3VpdGUvdGVzdHMvY2hhcnMudGVzdApAQCAtMjksNiArMjksMTYgQEAK ICAgKGNvbnMgI3QgIm91dC1vZi1yYW5nZSIpKQogCiAKKzs7IFJ1biBUSFVO SyBpbiB0aGUgY29udGV4dCBvZiB0aGUgcmVhZGVyIG9wdGlvbnMgT1BUUwor KGRlZmluZSAod2l0aC1yZWFkLW9wdGlvbnMgb3B0cyB0aHVuaykKKyAgKGxl dCAoKHNhdmVkLW9wdGlvbnMgKHJlYWQtb3B0aW9ucykpKQorICAgIChkeW5h bWljLXdpbmQKKyAgICAgICAgKGxhbWJkYSAoKQorICAgICAgICAgIChyZWFk LW9wdGlvbnMgb3B0cykpCisgICAgICAgIHRodW5rCisgICAgICAgIChsYW1i ZGEgKCkKKyAgICAgICAgICAocmVhZC1vcHRpb25zIHNhdmVkLW9wdGlvbnMp KSkpKQorCiAod2l0aC10ZXN0LXByZWZpeCAiYmFzaWMgY2hhciBoYW5kbGlu ZyIKIAogICAod2l0aC10ZXN0LXByZWZpeCAiZXZhbHVhdG9yIgpAQCAtMzEz LDMgKzMyMywzNyBAQAogICAgICAgICh3aXRoLW91dHB1dC10by1zdHJpbmcg KGxhbWJkYSAoKSAod3JpdGUgI1xzb2gpKSkKICAgICAgICAiI1xcc29oIikp KSkKIAorKHdpdGgtdGVzdC1wcmVmaXggIlI2UlMgaGV4IGVzY2FwZXMiCisK KyAgKHBhc3MtaWYgIm9uZS1kaWdpdCBoZXggZXNjYXBlIgorICAgIChlcXY/ ICh3aXRoLXJlYWQtb3B0aW9ucyAnKHI2cnMtaGV4LWVzY2FwZXMpCisgICAg ICAgICAgICAobGFtYmRhICgpCisgICAgICAgICAgICAgICh3aXRoLWlucHV0 LWZyb20tc3RyaW5nICIjXFx4QSIgcmVhZCkpKQorICAgICAgICAgIChpbnRl Z2VyLT5jaGFyICN4MEEpKSkKKworICAocGFzcy1pZiAidHdvLWRpZ2l0IGhl eCBlc2NhcGUiCisgICAgKGVxdj8gKHdpdGgtcmVhZC1vcHRpb25zICcocjZy cy1oZXgtZXNjYXBlcykKKyAgICAgICAgICAgIChsYW1iZGEgKCkKKyAgICAg ICAgICAgICAgKHdpdGgtaW5wdXQtZnJvbS1zdHJpbmcgIiNcXHhGRiIgcmVh ZCkpKQorICAgICAgICAgIChpbnRlZ2VyLT5jaGFyICN4RkYpKSkKKworICAo cGFzcy1pZiAiZm91ci1kaWdpdCBoZXggZXNjYXBlIgorICAgIChlcXY/ICh3 aXRoLXJlYWQtb3B0aW9ucyAnKHI2cnMtaGV4LWVzY2FwZXMpCisgICAgICAg ICAgICAobGFtYmRhICgpCisgICAgICAgICAgICAgICh3aXRoLWlucHV0LWZy b20tc3RyaW5nICIjXFx4MDBGRiIgcmVhZCkpKQorICAgICAgICAgIChpbnRl Z2VyLT5jaGFyICN4RkYpKSkKKworICAocGFzcy1pZiAiZWlnaHQtZGlnaXQg aGV4IGVzY2FwZSIKKyAgICAoZXF2PyAod2l0aC1yZWFkLW9wdGlvbnMgJyhy NnJzLWhleC1lc2NhcGVzKQorICAgICAgICAgICAgKGxhbWJkYSAoKQorICAg ICAgICAgICAgICAod2l0aC1pbnB1dC1mcm9tLXN0cmluZyAiI1xceDAwMDA2 NTg3IiByZWFkKSkpCisgICAgICAgICAgKGludGVnZXItPmNoYXIgI3g2NTg3 KSkpCisgIChwYXNzLWlmICJ3cml0ZSBSNlJTIGVzY2FwZXMiCisgICAgKHN0 cmluZz0/CisgICAgICh3aXRoLXJlYWQtb3B0aW9ucyAnKHI2cnMtaGV4LWVz Y2FwZXMpCisgICAgICAgKGxhbWJkYSAoKQorICAgICAgICAgKHdpdGgtb3V0 cHV0LXRvLXN0cmluZyAKKyAgICAgICAgICAgKGxhbWJkYSAoKSAKKyAgICAg ICAgICAgICAod3JpdGUgKGludGVnZXItPmNoYXIgI3g4MCkpKSkpKQorICAg ICAiI1xceDgwIikpKQorCmRpZmYgLS1naXQgYS90ZXN0LXN1aXRlL3Rlc3Rz L3N0cmluZ3MudGVzdCBiL3Rlc3Qtc3VpdGUvdGVzdHMvc3RyaW5ncy50ZXN0 CmluZGV4IGUwNGMwMjYuLjQ3YWU5M2EgMTAwNjQ0Ci0tLSBhL3Rlc3Qtc3Vp dGUvdGVzdHMvc3RyaW5ncy50ZXN0CisrKyBiL3Rlc3Qtc3VpdGUvdGVzdHMv c3RyaW5ncy50ZXN0CkBAIC0yLDIzICsyLDI0IEBACiA7Ozs7IEppbSBCbGFu ZHkgPGppbWJAcmVkLWJlYW4uY29tPiAtLS0gQXVndXN0IDE5OTkKIDs7OzsK IDs7OzsgQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAxLCAyMDA0LCAyMDA1LCAy MDA2LCAyMDA4LCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgotOzs7OyAKKzs7OzsKIDs7OzsgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogOzs7OyBt b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdl bmVyYWwgUHVibGljCiA7Ozs7IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogOzs7OyB2ZXJz aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCi07Ozs7IAorOzs7OwogOzs7OyBUaGlzIGxpYnJh cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKIDs7OzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIDs7OzsgTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZSBHTlUKIDs7OzsgTGVzc2VyIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLTs7OzsgCis7Ozs7CiA7Ozs7IFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNz ZXIgR2VuZXJhbCBQdWJsaWMKIDs7OzsgTGljZW5zZSBhbG9uZyB3aXRoIHRo aXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2Fy ZQogOzs7OyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs IEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCiAKIChk ZWZpbmUtbW9kdWxlICh0ZXN0LXN0cmluZ3MpCi0gICM6dXNlLW1vZHVsZSAo dGVzdC1zdWl0ZSBsaWIpKQorICAjOnVzZS1tb2R1bGUgKHRlc3Qtc3VpdGUg bGliKQorICAjOnVzZS1tb2R1bGUgKHNyZmkgc3JmaS0xKSkKIAogKGRlZmlu ZSBleGNlcHRpb246cmVhZC1vbmx5LXN0cmluZwogICAoY29ucyAnbWlzYy1l cnJvciAiXnN0cmluZyBpcyByZWFkLW9ubHkiKSkKQEAgLTI5LDYgKzMwLDE2 IEBACiAoZGVmaW5lIGV4Y2VwdGlvbjp3cm9uZy10eXBlLWFyZwogICAoY29u cyAjdCAiV3JvbmcgdHlwZSIpKQogCis7OyBSdW4gVEhVTksgaW4gdGhlIGNv bnRleHQgb2YgdGhlIHJlYWRlciBvcHRpb25zIE9QVFMKKyhkZWZpbmUgKHdp dGgtcmVhZC1vcHRpb25zIG9wdHMgdGh1bmspCisgIChsZXQgKChzYXZlZC1v cHRpb25zIChyZWFkLW9wdGlvbnMpKSkKKyAgICAoZHluYW1pYy13aW5kCisg ICAgICAgIChsYW1iZGEgKCkKKyAgICAgICAgICAocmVhZC1vcHRpb25zIG9w dHMpKQorICAgICAgICB0aHVuaworICAgICAgICAobGFtYmRhICgpCisgICAg ICAgICAgKHJlYWQtb3B0aW9ucyBzYXZlZC1vcHRpb25zKSkpKSkKKwogOzsg Q3JlYXRlIGEgc3RyaW5nIGZyb20gaW50ZWdlciBjaGFyIHZhbHVlcywgZWcu IChzdHJpbmctaW50cyA2NSkgPT4gIkEiCiAoZGVmaW5lIChzdHJpbmctaW50 cyAuIGFyZ3MpCiAgIChhcHBseSBzdHJpbmcgKG1hcCBpbnRlZ2VyLT5jaGFy IGFyZ3MpKSkKQEAgLTIyOSw2ICsyNDAsODMgQEAKICAgKHBhc3MtaWYgIkd1 aWxlIGV4dGVuc2lvbnMgYmFja3NsYXNoIGVzY2FwZXMiCiAgICAgKHN0cmlu Zz0/ICJcMCIgKHN0cmluZyAjXG51bCkpKSkKIAorCisod2l0aC10ZXN0LXBy ZWZpeCAiUjZSUyBoZXggZXNjYXBlcyIKKworICAocGFzcy1pZi1leGNlcHRp b24gIm5vbi1oZXggY2hhciBpbiB0d28tZGlnaXQgaGV4LWVzY2FwZSIKKyAg ICBleGNlcHRpb246aWxsZWdhbC1lc2NhcGUgICAgICAgICAgICAgICAgICAg ICAKKyAgICAod2l0aC1yZWFkLW9wdGlvbnMgJyhyNnJzLWhleC1lc2NhcGVz KQorICAgICAgKGxhbWJkYSAoKQorICAgICAgICAod2l0aC1pbnB1dC1mcm9t LXN0cmluZyAiXCJcXHgwZztcIiIgcmVhZCkpKSkKKworICAocGFzcy1pZi1l eGNlcHRpb24gIm5vbi1oZXggY2hhciBpbiBmb3VyLWRpZ2l0IGhleC1lc2Nh cGUiCisgICAgZXhjZXB0aW9uOmlsbGVnYWwtZXNjYXBlICAgICAgICAgICAg ICAgICAgICAgCisgICAgKHdpdGgtcmVhZC1vcHRpb25zICcocjZycy1oZXgt ZXNjYXBlcykKKyAgICAgIChsYW1iZGEgKCkKKyAgICAgICAgKHdpdGgtaW5w dXQtZnJvbS1zdHJpbmcgIlwiXFx4MDAwZztcIiIgcmVhZCkpKSkKKworICAo cGFzcy1pZi1leGNlcHRpb24gIm5vbi1oZXggY2hhciBpbiBzaXgtZGlnaXQg aGV4LWVzY2FwZSIKKyAgICBleGNlcHRpb246aWxsZWdhbC1lc2NhcGUgICAg ICAgICAgICAgICAgICAgICAKKyAgICAod2l0aC1yZWFkLW9wdGlvbnMgJyhy NnJzLWhleC1lc2NhcGVzKQorICAgICAgKGxhbWJkYSAoKQorICAgICAgICAo d2l0aC1pbnB1dC1mcm9tLXN0cmluZyAiXCJcXHgwMDAwMGc7XCIiIHJlYWQp KSkpCisKKyAgKHBhc3MtaWYtZXhjZXB0aW9uICJubyBzZW1pY29sb24gYXQg dGVybWluYXRpb24gb2Ygb25lLWRpZ2l0IGhleC1lc2NhcGUiCisgICAgZXhj ZXB0aW9uOmlsbGVnYWwtZXNjYXBlICAgICAgICAgICAgICAgICAgICAgCisg ICAgKHdpdGgtcmVhZC1vcHRpb25zICcocjZycy1oZXgtZXNjYXBlcykKKyAg ICAgIChsYW1iZGEgKCkKKyAgICAgICAgKHdpdGgtaW5wdXQtZnJvbS1zdHJp bmcgIlwiXFx4MFwiIiByZWFkKSkpKQorCisgIChwYXNzLWlmLWV4Y2VwdGlv biAibm8gc2VtaWNvbG9uIGF0IHRlcm1pbmF0aW9uIG9mIHRocmVlLWRpZ2l0 IGhleC1lc2NhcGUiCisgICAgZXhjZXB0aW9uOmlsbGVnYWwtZXNjYXBlICAg ICAgICAgICAgICAgICAgICAgCisgICAgKHdpdGgtcmVhZC1vcHRpb25zICco cjZycy1oZXgtZXNjYXBlcykKKyAgICAgIChsYW1iZGEgKCkKKyAgICAgICAg KHdpdGgtaW5wdXQtZnJvbS1zdHJpbmcgIlwiXFx4MDAwXCIiIHJlYWQpKSkp CisKKyAgKHBhc3MtaWYgInR3by1kaWdpdCBoZXggZXNjYXBlIgorICAgIChl cXY/IAorICAgICAod2l0aC1yZWFkLW9wdGlvbnMgJyhyNnJzLWhleC1lc2Nh cGVzKQorICAgICAgIChsYW1iZGEgKCkKKyAgICAgICAgIChzdHJpbmctcmVm ICh3aXRoLWlucHV0LWZyb20tc3RyaW5nICJcIi0tXFx4ZmY7LS1cIiIgcmVh ZCkgMikpKQorICAgICAoaW50ZWdlci0+Y2hhciAjeGZmKSkpCisKKyAgKHBh c3MtaWYgImZvdXItZGlnaXQgaGV4IGVzY2FwZSIKKyAgICAoZXF2PworICAg ICAod2l0aC1yZWFkLW9wdGlvbnMgJyhyNnJzLWhleC1lc2NhcGVzKQorICAg ICAgIChsYW1iZGEgKCkKKyAgICAgICAgIChzdHJpbmctcmVmICh3aXRoLWlu cHV0LWZyb20tc3RyaW5nICJcIi0tXFx4MDEwMDstLVwiIiByZWFkKSAyKSkp CisgICAgIChpbnRlZ2VyLT5jaGFyICN4MDEwMCkpKQorCisgIChwYXNzLWlm ICJzaXgtZGlnaXQgaGV4IGVzY2FwZSIKKyAgICAoZXF2PyAKKyAgICAgKHdp dGgtcmVhZC1vcHRpb25zICcocjZycy1oZXgtZXNjYXBlcykKKyAgICAgICAo bGFtYmRhICgpCisgICAgICAgICAoc3RyaW5nLXJlZiAod2l0aC1pbnB1dC1m cm9tLXN0cmluZyAiXCItLVxceDAxMDMwMDstLVwiIiByZWFkKSAyKSkpCisg ICAgIChpbnRlZ2VyLT5jaGFyICN4MDEwMzAwKSkpCisKKyAgKHBhc3MtaWYg ImVzY2FwZWQgY2hhcmFjdGVycyBtYXRjaCBub24tZXNjYXBlZCBBU0NJSSBj aGFyYWN0ZXJzIgorICAgIChzdHJpbmc9PworICAgICAod2l0aC1yZWFkLW9w dGlvbnMgJyhyNnJzLWhleC1lc2NhcGVzKQorICAgICAgIChsYW1iZGEgKCkK KyAgICAgICAgICh3aXRoLWlucHV0LWZyb20tc3RyaW5nICJcIlxceDQxO1xc eDAwNDI7XFx4MDAwMDQzO1wiIiByZWFkKSkpCisgICAgICJBQkMiKSkKKwor ICAocGFzcy1pZiAid3JpdGUgUjZSUyBlc2NhcGVzIgorICAgIAorICAgICAo bGV0KiAoKHMxIChhcHBseSBzdHJpbmcgCisgICAgICAgICAgICAgICAgICAg ICAgIChtYXAgaW50ZWdlci0+Y2hhciAnKCN4OCA7IGJhY2tzcGFjZQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeDIw IDsgc3BhY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgI3gzMCA7IHplcm8KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI3g0MCA7IGF0IHNpZ24KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSkpKQorICAg ICAgICAgICAgKHMyICh3aXRoLXJlYWQtb3B0aW9ucyAnKHI2cnMtaGV4LWVz Y2FwZXMpCisgICAgICAgICAgICAgICAgICAobGFtYmRhICgpCisgICAgICAg ICAgICAgICAgICAgICh3aXRoLW91dHB1dC10by1zdHJpbmcgCisgICAgICAg ICAgICAgICAgICAgICAgKGxhbWJkYSAoKSAod3JpdGUgczEpKSkpKSkpCisg ICAgICAgKGxzZXQ9IGVxdj8gCisgICAgICAgICAgICAgIChzdHJpbmctPmxp c3QgczIpCisgICAgICAgICAgICAgIChsaXN0ICNcIiAjXFwgI1x4ICNcOCAj XDsgI1xzcGFjZSAjXDAgI1xAICNcIikpKSkpCisKIDs7CiA7OyBzdHJpbmc/ CiA7OwotLSAKMS42LjUuNQoK --0-873996073-1263183940=:76652--