From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 416 invoked by alias); 21 Jan 2014 17:55:05 -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 402 invoked by uid 89); 21 Jan 2014 17:55:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=2.1 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,KAM_STOCKTIP,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 X-HELO: mail-wi0-f169.google.com Received: from mail-wi0-f169.google.com (HELO mail-wi0-f169.google.com) (209.85.212.169) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Tue, 21 Jan 2014 17:54:56 +0000 Received: by mail-wi0-f169.google.com with SMTP id e4so5863989wiv.4 for ; Tue, 21 Jan 2014 09:54:53 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.180.99.100 with SMTP id ep4mr8379516wib.31.1390326892961; Tue, 21 Jan 2014 09:54:52 -0800 (PST) Received: by 10.194.17.104 with HTTP; Tue, 21 Jan 2014 09:54:52 -0800 (PST) In-Reply-To: <83txcygg4h.fsf@gnu.org> References: <52dd9a9e.c394420a.3c12.04a4@mx.google.com> <83txcygg4h.fsf@gnu.org> Date: Tue, 21 Jan 2014 17:55:00 -0000 Message-ID: Subject: Re: [PATCH v2 02/36] Guile extension language: doc additions From: Doug Evans To: Eli Zaretskii Cc: =?ISO-8859-1?Q?Ludovic_Court=E8s?= , "gdb-patches@sourceware.org" Content-Type: multipart/mixed; boundary=f46d04428e5c93c70604f07eb4a2 X-IsSubscribed: yes X-SW-Source: 2014-01/txt/msg00811.txt.bz2 --f46d04428e5c93c70604f07eb4a2 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 1040 On Mon, Jan 20, 2014 at 7:37 PM, Eli Zaretskii wrote: >> Date: Mon, 20 Jan 2014 14:00:03 -0800 >> From: Doug Evans >> Cc: "gdb-patches@sourceware.org" >> >> On Mon, Jan 20, 2014 at 1:52 PM, Doug Evans wrote: >> > This patch has the doc additions. >> > There's still some to be written, but I think it's in good enough shape >> > to get feedback on. >> > >> > Changes from v1: >> > - NEWS file added >> > - guile.texi updated based on feedback >> > - new section on gdb smobs >> > - add more text to "Iterators In Guile" node >> > >> > 2014-01-20 Doug Evans >> > >> > * NEWS: Mention Guile scripting. >> > >> > doc/ >> > * Makefile.in (GDB_DOC_FILES): Add guile.texi. >> > * gdb.texinfo >> > * guile.texi: New file. >> >> Hi. >> If it'll help I can send you a diff from the previous submission. > > Please do. Thanks. Here it is. Plus I see I need to finish the changelog entry for gdb.texinfo. --f46d04428e5c93c70604f07eb4a2 Content-Type: text/plain; charset=US-ASCII; name="gg-v1-v2-02.diff.patch.txt" Content-Disposition: attachment; filename="gg-v1-v2-02.diff.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hqpgps8v0 Content-length: 134148 LS0tIGdnLXYxLTAyLnJhdy5wYXRjaAkyMDEzLTEyLTI0IDEwOjUxOjQzLjMx NTE4MTA3MyAtMDgwMAorKysgZ2ctdjItMDIucmF3LnBhdGNoCTIwMTQtMDEt MjAgMTI6NTA6MDYuOTYwNDMyODc5IC0wODAwCkBAIC0xLDUgKzEsMjMgQEAK K2RpZmYgLS1naXQgYS9nZGIvTkVXUyBiL2dkYi9ORVdTCitpbmRleCAwMGRl ZmUxLi44MTgzZWFhIDEwMDY0NAorLS0tIGEvZ2RiL05FV1MKKysrKyBiL2dk Yi9ORVdTCitAQCAtMyw2ICszLDEzIEBACisgCisgKioqIENoYW5nZXMgc2lu Y2UgR0RCIDcuNworIAorKyogR3VpbGUgc2NyaXB0aW5nCisrCisrICBHREIg bm93IGhhcyBzdXBwb3J0IGZvciBzY3JpcHRpbmcgdXNpbmcgR3VpbGUuICBX aGV0aGVyIHRoaXMgaXMKKysgIGF2YWlsYWJsZSBpcyBkZXRlcm1pbmVkIGF0 IGNvbmZpZ3VyZSB0aW1lLgorKyAgR3VpbGUgdmVyc2lvbiAyLjAgb3IgZ3Jl YXRlciBpcyByZXF1aXJlZC4KKysgIEd1aWxlIHZlcnNpb24gMi4wLjkgaXMg d2VsbCB0ZXN0ZWQsIGVhcmxpZXIgMi4wIHZlcnNpb25zIGFyZSBub3QuCisr CisgKioqIENoYW5nZXMgaW4gR0RCIDcuNworIAorICogR0RCIG5vdyBzdXBw b3J0cyBTeXN0ZW1UYXAgU0RUIHByb2JlcyBvbiBBQXJjaDY0IEdOVS9MaW51 eC4KIGRpZmYgLS1naXQgYS9nZGIvZG9jL01ha2VmaWxlLmluIGIvZ2RiL2Rv Yy9NYWtlZmlsZS5pbgotaW5kZXggNjBmZWFlMy4uNGM1MDIzZiAxMDA2NDQK K2luZGV4IGNmNjNlNGEuLmE1NzhkM2EgMTAwNjQ0CiAtLS0gYS9nZGIvZG9j L01ha2VmaWxlLmluCiArKysgYi9nZGIvZG9jL01ha2VmaWxlLmluCiBAQCAt MTMwLDYgKzEzMCw3IEBAIEdEQl9ET0NfQlVJTERfSU5DTFVERVMgPSBcCkBA IC0xMSwxMCArMjksMTAgQEAgaW5kZXggNjBmZWFlMy4uNGM1MDIzZiAxMDA2 NDQKICAJJChHREJfRE9DX0JVSUxEX0lOQ0xVREVTKQogIAogZGlmZiAtLWdp dCBhL2dkYi9kb2MvZ2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZv Ci1pbmRleCA3NTYwMTUyLi5mMTgzNGEwIDEwMDY0NAoraW5kZXggZTRjZmY4 NC4uNDdhNTRkNCAxMDA2NDQKIC0tLSBhL2dkYi9kb2MvZ2RiLnRleGluZm8K ICsrKyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KLUBAIC0yMjI0Nyw2ICsyMjI0 NywxMiBAQCBUaGVzZSBhcmUgQHZhbHVle0dEQk59IGNvbnRyb2wgY29tbWFu ZHMgZm9yIHRoZSBhdXRvLWxvYWRpbmc6CitAQCAtMjIyNTUsNiArMjIyNTUs MTIgQEAgVGhlc2UgYXJlIEB2YWx1ZXtHREJOfSBjb250cm9sIGNvbW1hbmRz IGZvciB0aGUgYXV0by1sb2FkaW5nOgogIEB0YWIgU2hvdyBzZXR0aW5nIG9m IEB2YWx1ZXtHREJOfSBQeXRob24gc2NyaXB0cy4KICBAaXRlbSBAeHJlZntp bmZvIGF1dG8tbG9hZCBweXRob24tc2NyaXB0c30uCiAgQHRhYiBTaG93IHN0 YXRlIG9mIEB2YWx1ZXtHREJOfSBQeXRob24gc2NyaXB0cy4KQEAgLTI3LDcg KzQ1LDcgQEAgaW5kZXggNzU2MDE1Mi4uZjE4MzRhMCAxMDA2NDQKICBAaXRl bSBAeHJlZntzZXQgYXV0by1sb2FkIHNjcmlwdHMtZGlyZWN0b3J5fS4KICBA dGFiIENvbnRyb2wgZm9yIEB2YWx1ZXtHREJOfSBhdXRvLWxvYWRlZCBzY3Jp cHRzIGxvY2F0aW9uLgogIEBpdGVtIEB4cmVme3Nob3cgYXV0by1sb2FkIHNj cmlwdHMtZGlyZWN0b3J5fS4KLUBAIC0yMjg3Myw3ICsyMjg3OSw5IEBAIGJl aW5nIGRlYnVnZ2VkLgorQEAgLTIyODgxLDcgKzIyODg3LDkgQEAgYmVpbmcg ZGVidWdnZWQuCiAgQG1lbnUKICAqIFNlcXVlbmNlczo6ICAgICAgICAgICAg ICAgIENhbm5lZCBTZXF1ZW5jZXMgb2YgQHZhbHVle0dEQk59IENvbW1hbmRz CiAgKiBQeXRob246OiAgICAgICAgICAgICAgICAgICBFeHRlbmRpbmcgQHZh bHVle0dEQk59IHVzaW5nIFB5dGhvbgpAQCAtMzcsNyArNTUsNyBAQCBpbmRl eCA3NTYwMTUyLi5mMTgzNGEwIDEwMDY0NAogICogQWxpYXNlczo6ICAgICAg ICAgICAgICAgICAgQ3JlYXRpbmcgbmV3IHNwZWxsaW5ncyBvZiBleGlzdGlu ZyBjb21tYW5kcwogIEBlbmQgbWVudQogIAotQEAgLTI3ODY4LDYgKzI3ODc2 LDkgQEAgc3Vic3RpdHV0ZV9wcm9tcHQgKGBgZnJhbWU6IFxmLAorQEAgLTI3 ODg0LDYgKzI3ODkyLDkgQEAgc3Vic3RpdHV0ZV9wcm9tcHQgKGBgZnJhbWU6 IFxmLAogIEBlbmQgc21hbGxleGFtcGxlCiAgQGVuZCB0YWJsZQogIApAQCAt NDcsNyArNjUsNyBAQCBpbmRleCA3NTYwMTUyLi5mMTgzNGEwIDEwMDY0NAog IEBub2RlIEF1dG8tbG9hZGluZyBleHRlbnNpb25zCiAgQHNlY3Rpb24gQXV0 by1sb2FkaW5nIGV4dGVuc2lvbnMKICBAY2luZGV4IGF1dG8tbG9hZGluZyBl eHRlbnNpb25zCi1AQCAtMjc5MTMsNiArMjc5MjQsOCBAQCB3aGVyZSBAdmFy e2V4dH0gaXMgdGhlIGZpbGUgZXh0ZW5zaW9uIGZvciB0aGUgZXh0ZW5zaW9u IGxhbmd1YWdlOgorQEAgLTI3OTI5LDYgKzI3OTQwLDggQEAgd2hlcmUgQHZh cntleHR9IGlzIHRoZSBmaWxlIGV4dGVuc2lvbiBmb3IgdGhlIGV4dGVuc2lv biBsYW5ndWFnZToKICBHREIncyBvd24gY29tbWFuZCBsYW5ndWFnZQogIEBp dGVtIEBmaWxle0B2YXJ7b2JqZmlsZX0tZ2RiLnB5fQogIFB5dGhvbgpAQCAt NTYsNyArNzQsNyBAQCBpbmRleCA3NTYwMTUyLi5mMTgzNGEwIDEwMDY0NAog IEBlbmQgdGFibGUKICAKICBAdmFye3NjcmlwdC1uYW1lfSBpcyBmb3JtZWQg YnkgZW5zdXJpbmcgdGhhdCB0aGUgZmlsZSBuYW1lIG9mIEB2YXJ7b2JqZmls ZX0KLUBAIC0yODAwNiw2ICsyODAxOSw3IEBAIGZvciBleGFtcGxlLCB0aGlz IEdDQyBtYWNybyBmb3IgUHl0aG9uIHNjcmlwdHMuCitAQCAtMjgwMjIsNiAr MjgwMzUsNyBAQCBmb3IgZXhhbXBsZSwgdGhpcyBHQ0MgbWFjcm8gZm9yIFB5 dGhvbiBzY3JpcHRzLgogIEBlbmQgZXhhbXBsZQogIAogIEBub2luZGVudApA QCAtNjQsNyArODIsNyBAQCBpbmRleCA3NTYwMTUyLi5mMTgzNGEwIDEwMDY0 NAogIFRoZW4gb25lIGNhbiByZWZlcmVuY2UgdGhlIG1hY3JvIGluIGEgaGVh ZGVyIG9yIHNvdXJjZSBmaWxlIGxpa2UgdGhpczoKICAKICBAZXhhbXBsZQot QEAgLTI4MDc3LDYgKzI4MDkxLDI2IEBAIGN1bWJlcnNvbWUuICBJdCBtYXkg YmUgZWFzaWVyIHRvIHNwZWNpZnkgdGhlIHNjcmlwdHMgaW4gdGhlCitAQCAt MjgwOTMsNiArMjgxMDcsMjYgQEAgY3VtYmVyc29tZS4gIEl0IG1heSBiZSBl YXNpZXIgdG8gc3BlY2lmeSB0aGUgc2NyaXB0cyBpbiB0aGUKICB0b3Agb2Yg dGhlIHNvdXJjZSB0cmVlIHRvIHRoZSBzb3VyY2Ugc2VhcmNoIHBhdGguCiAg QGVuZCBpdGVtaXplCiAgCkBAIC05MywxMCArMTExLDIyIEBAIGluZGV4IDc1 NjAxNTIuLmYxODM0YTAgMTAwNjQ0CiAgQGNpbmRleCBhbGlhc2VzIGZvciBj b21tYW5kcwogZGlmZiAtLWdpdCBhL2dkYi9kb2MvZ3VpbGUudGV4aSBiL2dk Yi9kb2MvZ3VpbGUudGV4aQogbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4 IDAwMDAwMDAuLjBjMDUwZDQKK2luZGV4IDAwMDAwMDAuLjZjMWI4YmYKIC0t LSAvZGV2L251bGwKICsrKyBiL2dkYi9kb2MvZ3VpbGUudGV4aQotQEAgLTAs MCArMSwzMDk1IEBACitAQCAtMCwwICsxLDMyNjUgQEAKKytAYyBDb3B5cmln aHQgKEMpIDIwMDgtMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KKytAYyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gY29weSwgZGlzdHJp YnV0ZSBhbmQvb3IgbW9kaWZ5IHRoaXMgZG9jdW1lbnQKKytAYyB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5z ZSwgVmVyc2lvbiAxLjMgb3IKKytAYyBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJs aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgd2l0aCB0 aGUKKytAYyBJbnZhcmlhbnQgU2VjdGlvbnMgYmVpbmcgYGBGcmVlIFNvZnR3 YXJlJycgYW5kIGBgRnJlZSBTb2Z0d2FyZSBOZWVkcworK0BjIEZyZWUgRG9j dW1lbnRhdGlvbicnLCB3aXRoIHRoZSBGcm9udC1Db3ZlciBUZXh0cyBiZWlu ZyBgYEEgR05VIE1hbnVhbCwnJworK0BjIGFuZCB3aXRoIHRoZSBCYWNrLUNv dmVyIFRleHRzIGFzIGluIChhKSBiZWxvdy4KKytAYyAKKytAYyAoYSkgVGhl IEZTRidzIEJhY2stQ292ZXIgVGV4dCBpczogYGBZb3UgYXJlIGZyZWUgdG8g Y29weSBhbmQgbW9kaWZ5CisrQGMgdGhpcyBHTlUgTWFudWFsLiAgQnV5aW5n IGNvcGllcyBmcm9tIEdOVSBQcmVzcyBzdXBwb3J0cyB0aGUgRlNGIGluCisr QGMgZGV2ZWxvcGluZyBHTlUgYW5kIHByb21vdGluZyBzb2Z0d2FyZSBmcmVl ZG9tLicnCisrCiArQG5vZGUgR3VpbGUKICtAc2VjdGlvbiBFeHRlbmRpbmcg QHZhbHVle0dEQk59IHVzaW5nIEd1aWxlCiArQGNpbmRleCBndWlsZSBzY3Jp cHRpbmcKQEAgLTEyNywxMyArMTU3LDE0IEBAIGluZGV4IDAwMDAwMDAuLjBj MDUwZDQKICsKICtAdmFsdWV7R0RCTn0gcmVxdWlyZXMgR3VpbGUgdmVyc2lv biAyLjAgb3IgZ3JlYXRlci4KICtPbGRlciB2ZXJzaW9ucyBhcmUgbm90IHN1 cHBvcnRlZC4KLStHdWlsZSB2ZXJzaW9uIDIuMC45IGlzIHdlbGwgdGVzdGVk LCBlYXJsaWVyIDIuMCB2ZXJzaW9ucyBhcmUgbm90LgogKwotK1RoZSBpbXBs ZW1lbnRhdGlvbiB1c2VzIEd1aWxlJ3MgQGNvZGV7c21vYn0gKHNtYWxsIG9i amVjdCkKLStkYXRhIHR5cGUgZm9yIGFsbCBAdmFsdWV7R0RCTn0gb2JqZWN0 cy4gIFRoaXMgYWxsb3dzIGdsdWluZyBHdWlsZQotK2ludG8gQHZhbHVle0dE Qk59IHZlcnkgZWFzaWx5LgorK0BjaW5kZXggZ3VpbGUgc21vYnMKKytUaGUg aW1wbGVtZW50YXRpb24gdXNlcyBHdWlsZSdzIEBkZm57c21vYn0gKHNtYWxs IG9iamVjdCkKKytkYXRhIHR5cGUgZm9yIGFsbCBAdmFsdWV7R0RCTn0gb2Jq ZWN0cworKyhAcHhyZWZ7RGVmaW5pbmcgTmV3IFR5cGVzIChTbW9icyksLCwg Z3VpbGUsIEdOVSBHdWlsZSBSZWZlcmVuY2UgTWFudWFsfSkuCisrVGhpcyBh bGxvd3MgZ2x1aW5nIEd1aWxlIGludG8gQHZhbHVle0dEQk59IHZlcnkgZWFz aWx5LgogKwotK0BjaW5kZXggZ3VpbGUgZGlyZWN0b3J5CisrQGNpbmRleCBn dWlsZSBzY3JpcHRzIGRpcmVjdG9yeQogK0d1aWxlIHNjcmlwdHMgdXNlZCBi eSBAdmFsdWV7R0RCTn0gc2hvdWxkIGJlIGluc3RhbGxlZCBpbgogK0BmaWxl e0B2YXJ7ZGF0YS1kaXJlY3Rvcnl9L2d1aWxlfSwgd2hlcmUgQHZhcntkYXRh LWRpcmVjdG9yeX0gaXMKICt0aGUgZGF0YSBkaXJlY3RvcnkgYXMgZGV0ZXJt aW5lZCBhdCBAdmFsdWV7R0RCTn0gc3RhcnR1cCAoQHB4cmVme0RhdGEgRmls ZXN9KS4KQEAgLTE0OSwxOSArMTgwLDE5IEBAIGluZGV4IDAwMDAwMDAuLjBj MDUwZDQKICtAdmFsdWV7R0RCTn0gcHJvdmlkZXMgdHdvIGNvbW1hbmRzIGZv ciBhY2Nlc3NpbmcgdGhlIEd1aWxlIGludGVycHJldGVyOgogKwogK0B0YWJs ZSBAY29kZQotK0BraW5kZXggZ3VpbGUtaW50ZXJhY3RpdmUKLStAa2luZGV4 IGdpCi0rQGl0ZW0gZ3VpbGUtaW50ZXJhY3RpdmUKLStAaXRlbXggZ2kKLStU aGUgQGNvZGV7Z3VpbGUtaW50ZXJhY3RpdmV9IGNvbW1hbmQgY2FuIGJlIHVz ZWQKLSt0byBzdGFydCBhbiBpbnRlcmFjdGl2ZSBHdWlsZSBwcm9tcHQuICBU byByZXR1cm4gdG8gQHZhbHVle0dEQk59LAorK0BraW5kZXggZ3VpbGUtcmVw bAorK0BraW5kZXggZ3IKKytAaXRlbSBndWlsZS1yZXBsCisrQGl0ZW14IGdy CisrVGhlIEBjb2Rle2d1aWxlLXJlcGx9IGNvbW1hbmQgY2FuIGJlIHVzZWQg dG8gc3RhcnQgYW4gaW50ZXJhY3RpdmUKKytHdWlsZSBwcm9tcHQgb3IgQGRm bntyZXBsfS4gIFRvIHJldHVybiB0byBAdmFsdWV7R0RCTn0sCiArdHlwZSBA a2JkeyxxfSBvciB0aGUgQGNvZGV7RU9GfSBjaGFyYWN0ZXIgKGUuZy4sIEBr YmR7Q3RybC1EfSBvbgogK2FuIGVtcHR5IHByb21wdCkuICBUaGVzZSBjb21t YW5kcyBkbyBub3QgdGFrZSBhbnkgYXJndW1lbnRzLgogKwogK0BraW5kZXgg Z3VpbGUKICtAa2luZGV4IGd1Ci0rQGl0ZW0gZ3VpbGUgQHJ7W31AdmFye2Nv bW1hbmR9QHJ7XX0KLStAaXRlbXggZ3UgQHJ7W31AdmFye2NvbW1hbmR9QHJ7 XX0KKytAaXRlbSBndWlsZSBAcntbfUB2YXJ7c2NoZW1lLWV4cHJlc3Npb259 QHJ7XX0KKytAaXRlbXggZ3UgQHJ7W31AdmFye3NjaGVtZS1leHByZXNzaW9u fUBye119CiArVGhlIEBjb2Rle2d1aWxlfSBjb21tYW5kIGNhbiBiZSB1c2Vk IHRvIGV2YWx1YXRlIGEgU2NoZW1lIGV4cHJlc3Npb24uCiArCiArSWYgZ2l2 ZW4gYW4gYXJndW1lbnQsIEB2YWx1ZXtHREJOfSB3aWxsIHBhc3MgdGhlIGFy Z3VtZW50IHRvIHRoZSBHdWlsZQpAQCAtMjA3LDYgKzIzOCw3IEBAIGluZGV4 IDAwMDAwMDAuLjBjMDUwZDQKICtUaGlzIG1ldGhvZCB1c2VzIHRoZSBAY29k ZXtsb2FkfSBHdWlsZSBmdW5jdGlvbi4KICtJdCB0YWtlcyBhIHN0cmluZyBh cmd1bWVudCB0aGF0IGlzIHRoZSBuYW1lIG9mIHRoZSBzY3JpcHQgdG8gbG9h ZC4KICtTZWUgdGhlIEd1aWxlIGRvY3VtZW50YXRpb24gZm9yIGEgZGVzY3Jp cHRpb24gb2YgdGhpcyBmdW5jdGlvbi4KKysoQHB4cmVme0xvYWRpbmcsLCwg Z3VpbGUsIEdOVSBHdWlsZSBSZWZlcmVuY2UgTWFudWFsfSkuCiArQGVuZCB0 YWJsZQogKwogK0Bub2RlIEd1aWxlIEFQSQpAQCAtMjI0LDYgKzI1Niw3IEBA IGluZGV4IDAwMDAwMDAuLjBjMDUwZDQKICtAbWVudQogKyogQmFzaWMgR3Vp bGU6OiAgICAgICAgICAgICAgQmFzaWMgR3VpbGUgRnVuY3Rpb25zCiArKiBH dWlsZSBDb25maWd1cmF0aW9uOjogICAgICBHdWlsZSBjb25maWd1cmF0aW9u IHZhcmlhYmxlcworKyogR0RCIFNtb2JzOjogICAgICAgICAgICAgICAgRnVu Y3Rpb25zIGZvciBhbGwgR0RCIHNtb2JzCiArKiBHdWlsZSBFeGNlcHRpb24g SGFuZGxpbmc6OiBIb3cgR3VpbGUgZXhjZXB0aW9ucyBhcmUgdHJhbnNsYXRl ZAogKyogVmFsdWVzIEZyb20gSW5mZXJpb3IgSW4gR3VpbGU6OiBHdWlsZSBy ZXByZXNlbnRhdGlvbiBvZiB2YWx1ZXMKICsqIEFyaXRobWV0aWMgSW4gR3Vp bGU6OiAgICAgIEFyaXRobWV0aWMgaW4gR3VpbGUKQEAgLTI1OCwxMiArMjkx LDEyIEBAIGluZGV4IDAwMDAwMDAuLjBjMDUwZDQKICsKICtHdWlsZSdzIGhp c3RvcnkgbWVjaGFuaXNtIHVzZXMgdGhlIHNhbWUgbmFtaW5nIGFzIEB2YWx1 ZXtHREJOfSdzLAogK25hbWVseSB0aGUgdXNlciBvZiBkb2xsYXItdmFyaWFi bGVzIChlLmcuLCAkMSwgJDIsIGV0Yy4pLgotK0hvd2V2ZXIsIHRoZSB2YWx1 ZXMgYXJlIGluZGVwZW5kZW50LCBAY29kZXskMX0gaW4gR3VpbGUgaXMgbm90 IHRoZQotK3NhbWUgdmFsdWUgYXMgQGNvZGV7JDF9IGluIEB2YWx1ZXtHREJO fS4KKytUaGUgcmVzdWx0cyBvZiBldmFsdWF0aW9ucyBpbiBHdWlsZSBhbmQg aW4gR0RCIGFyZSBjb3VudGVkIHNlcGFyYXRlbHksCisrQGNvZGV7JDF9IGlu IEd1aWxlIGlzIG5vdCB0aGUgc2FtZSB2YWx1ZSBhcyBAY29kZXskMX0gaW4g QHZhbHVle0dEQk59LgogKwogK0B2YWx1ZXtHREJOfSBpcyBub3QgdGhyZWFk LXNhZmUuICBJZiB5b3VyIEd1aWxlIHByb2dyYW0gdXNlcyBtdWx0aXBsZQog K3RocmVhZHMsIHlvdSBtdXN0IGJlIGNhcmVmdWwgdG8gb25seSBjYWxsIEB2 YWx1ZXtHREJOfS1zcGVjaWZpYwotK2Z1bmN0aW9ucyBpbiB0aGUgbWFpbiBA dmFsdWV7R0RCTn0gdGhyZWFkLgorK2Z1bmN0aW9ucyBpbiB0aGUgQHZhbHVl e0dEQk59IHRocmVhZC4KICsKICtTb21lIGNhcmUgbXVzdCBiZSB0YWtlbiB3 aGVuIHdyaXRpbmcgR3VpbGUgY29kZSB0byBydW4gaW4KICtAdmFsdWV7R0RC Tn0uICBUd28gdGhpbmdzIGFyZSB3b3J0aCBub3RpbmcgaW4gcGFydGljdWxh cjoKQEAgLTMxMCw3ICszNDMsOCBAQCBpbmRleCAwMDAwMDAwLi4wYzA1MGQ0 CiArCiArVGhlIHJlc3Qgb2YgdGhpcyBtYW51YWwgYXNzdW1lcyB0aGUgQGNv ZGV7Z2RifSBtb2R1bGUgaGFzIGJlZW4gaW1wb3J0ZWQKICt3aXRob3V0IGFu eSBwcmVmaXguICBTZWUgdGhlIEd1aWxlIGRvY3VtZW50YXRpb24gZm9yIEBj b2Rle3VzZS1tb2R1bGVzfQotK2ZvciBtb3JlIGluZm9ybWF0aW9uLgorK2Zv ciBtb3JlIGluZm9ybWF0aW9uCisrKEBweHJlZntVc2luZyBHdWlsZSBNb2R1 bGVzLCwsIGd1aWxlLCBHTlUgR3VpbGUgUmVmZXJlbmNlIE1hbnVhbH0pLgog KwogK0V4YW1wbGU6CiArCkBAIC0zMjcsNyArMzYxLDcgQEAgaW5kZXggMDAw MDAwMC4uMGMwNTBkNAogK1RoZSBAY29kZXsoZ2RiKX0gbW9kdWxlIHByb3Zp ZGVzIHRoZXNlIGJhc2ljIEd1aWxlIGZ1bmN0aW9ucy4KICsKICtAYyBUT0RP OiBsaW5lIGxlbmd0aCAKLStAZGVmdW4gZXhlY3V0ZSBjb21tYW5kIEBye1t9 Izpmcm9tLXR0eSBib29sZWFuQHJ7XX1AcntbfSM6dG8tc3RyaW5nIGJvb2xl YW5AcntdfQorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gZXhlY3V0ZSBj b21tYW5kIEBye1t9Izpmcm9tLXR0eSBib29sZWFuQHJ7XX1AcntbfSM6dG8t c3RyaW5nIGJvb2xlYW5AcntdfQogK0V2YWx1YXRlIEB2YXJ7Y29tbWFuZH0s IGEgc3RyaW5nLCBhcyBhIEB2YWx1ZXtHREJOfSBDTEkgY29tbWFuZC4KICtJ ZiBhIEB2YWx1ZXtHREJOfSBleGNlcHRpb24gaGFwcGVucyB3aGlsZSBAdmFy e2NvbW1hbmR9IHJ1bnMsIGl0IGlzCiArdHJhbnNsYXRlZCBhcyBkZXNjcmli ZWQgaW4KQEAgLTMzOCwxNSArMzcyLDE2IEBAIGluZGV4IDAwMDAwMDAuLjBj MDUwZDQKICtJdCBtdXN0IGJlIGEgYm9vbGVhbiB2YWx1ZS4gIElmIG9taXR0 ZWQsIGl0IGRlZmF1bHRzIHRvIEBjb2RleyNmfS4KICsKICtCeSBkZWZhdWx0 LCBhbnkgb3V0cHV0IHByb2R1Y2VkIGJ5IEB2YXJ7Y29tbWFuZH0gaXMgc2Vu dCB0bwotK0B2YWx1ZXtHREJOfSdzIHN0YW5kYXJkIG91dHB1dC4gIElmIHRo ZSBAdmFye3RvLXN0cmluZ30gcGFyYW1ldGVyIGlzCisrQHZhbHVle0dEQk59 J3Mgc3RhbmRhcmQgb3V0cHV0IChhbmQgdG8gdGhlIGxvZyBvdXRwdXQgaWYg bG9nZ2luZyBpcworK3R1cm5lZCBvbikuICBJZiB0aGUgQHZhcnt0by1zdHJp bmd9IHBhcmFtZXRlciBpcwogK0Bjb2RleyN0fSwgdGhlbiBvdXRwdXQgd2ls bCBiZSBjb2xsZWN0ZWQgYnkgQGNvZGV7Z2RiLmV4ZWN1dGV9IGFuZAogK3Jl dHVybmVkIGFzIGEgc3RyaW5nLiAgVGhlIGRlZmF1bHQgaXMgQGNvZGV7I2Z9 LCBpbiB3aGljaCBjYXNlIHRoZQogK3JldHVybiB2YWx1ZSBpcyB1bnNwZWNp ZmllZC4gIElmIEB2YXJ7dG8tc3RyaW5nfSBpcyBAY29kZXsjdH0sIHRoZQog K0B2YWx1ZXtHREJOfSB2aXJ0dWFsIHRlcm1pbmFsIHdpbGwgYmUgdGVtcG9y YXJpbHkgc2V0IHRvIHVubGltaXRlZCB3aWR0aAogK2FuZCBoZWlnaHQsIGFu ZCBpdHMgcGFnaW5hdGlvbiB3aWxsIGJlIGRpc2FibGVkOyBAcHhyZWZ7U2Ny ZWVuIFNpemV9LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRl ZnVuIGhpc3RvcnktcmVmIG51bWJlcgorK0BkZWZmbiB7U2NoZW1lIFByb2Nl ZHVyZX0gaGlzdG9yeS1yZWYgbnVtYmVyCiArUmV0dXJuIGEgdmFsdWUgZnJv bSBAdmFsdWV7R0RCTn0ncyB2YWx1ZSBoaXN0b3J5IChAcHhyZWZ7VmFsdWUK ICtIaXN0b3J5fSkuICBAdmFye251bWJlcn0gaW5kaWNhdGVzIHdoaWNoIGhp c3RvcnkgZWxlbWVudCB0byByZXR1cm4uCiArSWYgQHZhcntudW1iZXJ9IGlz IG5lZ2F0aXZlLCB0aGVuIEB2YWx1ZXtHREJOfSB3aWxsIHRha2UgaXRzIGFi c29sdXRlIHZhbHVlCkBAIC0zNjAsMTEgKzM5NSwxMyBAQCBpbmRleCAwMDAw MDAwLi4wYzA1MGQ0CiArQGNvZGV7PGdkYjp2YWx1ZT59IChAcHhyZWZ7VmFs dWVzIEZyb20gSW5mZXJpb3IgSW4gR3VpbGV9KS4KICsKICtAZW1waHtOb3Rl On0gQHZhbHVle0dEQk59J3MgdmFsdWUgaGlzdG9yeSBpcyBpbmRlcGVuZGVu dCBvZiBHdWlsZSdzLgotK0Bjb2RleyQxfSBpbiBAdmFsdWV7R0RCTn0ncyB2 YWx1ZSBoaXN0b3J5IGlzIG5vdCBAY29kZXskMX0gZnJvbSBHdWlsZSdzCi0r aGlzdG9yeSwgbm9yIGlzIHRoZSByZXZlcnNlIHRydWUuCi0rQGVuZCBkZWZ1 bgorK0Bjb2RleyQxfSBpbiBAdmFsdWV7R0RCTn0ncyB2YWx1ZSBoaXN0b3J5 IGNvbnRhaW5zIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZworK2FuIGV4cHJl c3Npb24gZnJvbSBAdmFsdWV7R0RCTn0ncyBjb21tYW5kIGxpbmUgYW5kIEBj b2RleyQxfSBmcm9tIEd1aWxlJ3MKKytoaXN0b3J5IGNvbnRhaW5zIHRoZSBy ZXN1bHQgb2YgZXZhbHVhdGluZyBhbiBleHByZXNzaW9uIGZyb20gR3VpbGUn cworK2NvbW1hbmQgbGluZS4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIHBh cnNlLWFuZC1ldmFsIGV4cHJlc3Npb24KKytAZGVmZm4ge1NjaGVtZSBQcm9j ZWR1cmV9IHBhcnNlLWFuZC1ldmFsIGV4cHJlc3Npb24KICtQYXJzZSBAdmFy e2V4cHJlc3Npb259IGFzIGFuIGV4cHJlc3Npb24gaW4gdGhlIGN1cnJlbnQg bGFuZ3VhZ2UsCiArZXZhbHVhdGUgaXQsIGFuZCByZXR1cm4gdGhlIHJlc3Vs dCBhcyBhIEBjb2RlezxnZGI6dmFsdWU+fS4KICtAdmFye2V4cHJlc3Npb259 IG11c3QgYmUgYSBzdHJpbmcuCkBAIC0zNzIsMzkgKzQwOSwxNDkgQEAgaW5k ZXggMDAwMDAwMC4uMGMwNTBkNAogK1RoaXMgZnVuY3Rpb24gaXMgdXNlZnVs IHdoZW4gY29tcHV0aW5nIHZhbHVlcy4KICtGb3IgZXhhbXBsZSwgaXQgaXMg dGhlIG9ubHkgd2F5IHRvIGdldCB0aGUgdmFsdWUgb2YgYQogK2NvbnZlbmll bmNlIHZhcmlhYmxlIChAcHhyZWZ7Q29udmVuaWVuY2UgVmFyc30pIGFzIGEg QGNvZGV7PGdkYjp2YWx1ZT59LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZu CiArCi0rQGRlZnVuIHN0cmluZy0+YXJndiBzdHJpbmcKKytAZGVmZm4ge1Nj aGVtZSBQcm9jZWR1cmV9IHN0cmluZy0+YXJndiBzdHJpbmcKICtDb252ZXJ0 IGEgc3RyaW5nIHRvIGEgbGlzdCBvZiBzdHJpbmdzIHNwbGl0IHVwIGFjY29y ZGluZyB0bwogK0B2YWx1ZXtHREJOfSdzIGFyZ3YgcGFyc2luZyBydWxlcy4K LStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwogK0Bub2RlIEd1aWxlIENv bmZpZ3VyYXRpb24KICtAc3Vic3Vic2VjdGlvbiBHdWlsZSBDb25maWd1cmF0 aW9uCisrQGNpbmRleCBndWlsZSBjb25maWd1cmF0aW9uCiArCi0rQHZhbHVl e0dEQk59IHByb3ZpZGVzIHRoZXNlIHZhcmlhYmxlcyB0aGF0IHNwZWNpZnkg dmFyaW91cyBjb25maWd1cmF0aW9uCi0rcGFyYW1ldGVycy4gIFRoZXkgYXJl IHJlYWQtb25seS4KLStCeSBjb252ZW50aW9uIGdsb2JhbCB2YXJpYWJsZXMg YXJlIG5hbWVkIEBjb2Rleyp2YXJpYWJsZSp9LgorK0B2YWx1ZXtHREJOfSBw cm92aWRlcyB0aGVzZSBTY2hlbWUgZnVuY3Rpb25zIHRvIGFjY2VzcyB2YXJp b3VzIGNvbmZpZ3VyYXRpb24KKytwYXJhbWV0ZXJzLgogKwotK0BkZWZ1biBk YXRhLWRpcmVjdG9yeQorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gZGF0 YS1kaXJlY3RvcnkKICtSZXR1cm4gYSBzdHJpbmcgY29udGFpbmluZyBAdmFs dWV7R0RCTn0ncyBkYXRhIGRpcmVjdG9yeS4KICtUaGlzIGRpcmVjdG9yeSBj b250YWlucyBAdmFsdWV7R0RCTn0ncyBhbmNpbGxhcnkgZmlsZXMsIGluY2x1 ZGluZwogK3RoZSBHdWlsZSBtb2R1bGVzIHByb3ZpZGVkIGJ5IEB2YWx1ZXtH REJOfS4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBn ZGItdmVyc2lvbgorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gZ2RiLXZl cnNpb24KICtSZXR1cm4gYSBzdHJpbmcgY29udGFpbmluZyB0aGUgQHZhbHVl e0dEQk59IHZlcnNpb24uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsK LStAZGVmdW4gaG9zdC1jb25maWcKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1 cmV9IGhvc3QtY29uZmlnCiArUmV0dXJuIGEgc3RyaW5nIGNvbnRhaW5pbmcg dGhlIGhvc3QgY29uZmlndXJhdGlvbi4KICtUaGlzIGlzIHRoZSBzdHJpbmcg cGFzc2VkIHRvIEBjb2Rley0taG9zdH0gd2hlbiBAdmFsdWV7R0RCTn0gd2Fz IGNvbmZpZ3VyZWQuCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStA ZGVmdW4gdGFyZ2V0LWNvbmZpZworK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVy ZX0gdGFyZ2V0LWNvbmZpZwogK1JldHVybiBhIHN0cmluZyBjb250YWluaW5n IHRoZSB0YXJnZXQgY29uZmlndXJhdGlvbi4KICtUaGlzIGlzIHRoZSBzdHJp bmcgcGFzc2VkIHRvIEBjb2Rley0tdGFyZ2V0fSB3aGVuIEB2YWx1ZXtHREJO fSB3YXMgY29uZmlndXJlZC4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgor KworK0Bub2RlIEdEQiBTbW9icworK0BzdWJzdWJzZWN0aW9uIEdEQiBTbW9i cworK0BjaW5kZXggZ2RiIHNtb2JzCisrCisrQHZhbHVle0dEQk59IHVzZXMg R3VpbGUncyBAZGZue3Ntb2J9IChzbWFsbCBvYmplY3QpCisrZGF0YSB0eXBl IGZvciBhbGwgQHZhbHVle0dEQk59IG9iamVjdHMKKysoQHB4cmVme0RlZmlu aW5nIE5ldyBUeXBlcyAoU21vYnMpLCwsIGd1aWxlLCBHTlUgR3VpbGUgUmVm ZXJlbmNlIE1hbnVhbH0pLgorK1RoZSBzbW9icyB0aGF0IEB2YWx1ZXtHREJO fSBwcm92aWRlcyBhcmUgY2FsbGVkIEBkZm57Z21vYnN9LgorKworK0BkZWZm biB7U2NoZW1lIFByb2NlZHVyZX0gZ3Ntb2Ita2luZCBnc21vYgorK1JldHVy biB0aGUga2luZCBvZiB0aGUgZ3Ntb2IsIGUuZy4sIEBjb2RlezxnZGI6YnJl YWtwb2ludD59LAorK2FzIGEgc3ltYm9sLgorK0BlbmQgZGVmZm4KKysKKytF dmVyeSBAY29kZXtnc21vYn0gcHJvdmlkZXMgYSBjb21tb24gc2V0IG9mIGZ1 bmN0aW9ucyBmb3IgZXh0ZW5kaW5nCisrdGhlbSBpbiBzaW1wbGUgd2F5cy4g IEVhY2ggQGNvZGV7Z3Ntb2J9IGhhcyBhIGxpc3Qgb2YgcHJvcGVydGllcywK Kytpbml0aWFsbHkgZW1wdHkuICBUaGVzZSBwcm9wZXJ0aWVzIGFyZSBha2lu IHRvIEd1aWxlJ3Mgb2JqZWN0IHByb3BlcnRpZXMsCisrYnV0IGFyZSBzdG9y ZWQgd2l0aCB0aGUgQGNvZGV7Z3Ntb2J9CisrKEBweHJlZntPYmplY3QgUHJv cGVydGllcywsLCBndWlsZSwgR05VIEd1aWxlIFJlZmVyZW5jZSBNYW51YWx9 KS4KKytQcm9wZXJ0eSBuYW1lcyBjYW4gYmUgYW55IEBjb2Rle2VxP30tYWJs ZSB2YWx1ZSwgYnV0IGl0IGlzIHJlY29tbWVuZGVkCisrdGhhdCB0aGV5IGJl IHN5bWJvbHMuCisrCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBzZXQt Z3Ntb2ItcHJvcGVydHkhIGdzbW9iIHByb3BlcnR5LW5hbWUgdmFsdWUKKytT ZXQgdGhlIHZhbHVlIG9mIHByb3BlcnR5IEBjb2Rle3Byb3BlcnR5LW5hbWV9 IHRvIHZhbHVlIEBjb2Rle3ZhbHVlfS4KKytUaGUgcmVzdWx0IGlzIHVuc3Bl Y2lmaWVkLgorK0BlbmQgZGVmZm4KKysKKytAZGVmZm4ge1NjaGVtZSBQcm9j ZWR1cmV9IGdzbW9iLXByb3BlcnR5IGdzbW9iIHByb3BlcnR5LW5hbWUKKytS ZXR1cm4gdGhlIHZhbHVlIG9mIHByb3BlcnR5IEBjb2Rle3Byb3BlcnR5LW5h bWV9LgorK0lmIHRoZSBwcm9wZXJ0eSBpc24ndCBwcmVzZW50IHRoZW4gQGNv ZGV7I2Z9IGlzIHJldHVybmVkLgorK0BlbmQgZGVmZm4KKysKKytAZGVmZm4g e1NjaGVtZSBQcm9jZWR1cmV9IGdzbW9iLWhhcy1wcm9wZXJ0eT8gZ3Ntb2Ig cHJvcGVydHktbmFtZQorK1JldHVybiBAY29kZXsjdH0gaWYgQGNvZGV7Z3Nt b2J9IGhhcyBwcm9wZXJ0eSBAY29kZXtwcm9wZXJ0eS1uYW1lfS4KKytPdGhl cndpc2UgcmV0dXJuIEBjb2RleyNmfS4KKytAZW5kIGRlZmZuCisrCisrQGRl ZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBnc21vYi1wcm9wZXJ0aWVzIGdzbW9i CisrUmV0dXJuIGFuIHVuc29ydGVkIGxpc3Qgb2YgbmFtZXMgb2YgcHJvcGVy dGllcy4KKytAZW5kIGRlZmZuCisrCisrQHZhbHVle0dEQk59IGRlZmluZXMg dGhlIGZvbGxvd2luZyBTY2hlbWUgc21vYnM6CisrCisrQHRhYmxlIEBjb2Rl CisrQGl0ZW0gPGdkYjphcmNoPgorK0B4cmVme0FyY2hpdGVjdHVyZXMgSW4g R3VpbGV9LgorKworK0BpdGVtIDxnZGI6YmxvY2s+CisrQHhyZWZ7QmxvY2tz IEluIEd1aWxlfS4KKysKKytAaXRlbSA8Z2RiOmJsb2NrLXN5bWJvbHMtaXRl cmF0b3I+CisrQHhyZWZ7QmxvY2tzIEluIEd1aWxlfS4KKysKKytAaXRlbSA8 Z2RiOmJyZWFrcG9pbnQ+CisrQHhyZWZ7QnJlYWtwb2ludHMgSW4gR3VpbGV9 LgorKworK0BpdGVtIDxnZGI6ZXhjZXB0aW9uPgorK0B4cmVme0d1aWxlIEV4 Y2VwdGlvbiBIYW5kbGluZ30uCisrCisrQGl0ZW0gPGdkYjpmcmFtZT4KKytA eHJlZntGcmFtZXMgSW4gR3VpbGV9LgorKworK0BpdGVtIDxnZGI6aXRlcmF0 b3I+CisrQHhyZWZ7SXRlcmF0b3JzIEluIEd1aWxlfS4KKysKKytAaXRlbSA8 Z2RiOmxhenktc3RyaW5nPgorK0B4cmVme0xhenkgU3RyaW5ncyBJbiBHdWls ZX0uCisrCisrQGl0ZW0gPGdkYjpvYmpmaWxlPgorK0B4cmVme09iamZpbGVz IEluIEd1aWxlfS4KKysKKytAaXRlbSA8Z2RiOnByZXR0eS1wcmludGVyPgor K0B4cmVme0d1aWxlIFByZXR0eSBQcmludGluZyBBUEl9LgorKworK0BpdGVt IDxnZGI6cHJldHR5LXByaW50ZXItd29ya2VyPgorK0B4cmVme0d1aWxlIFBy ZXR0eSBQcmludGluZyBBUEl9LgorKworK0BpdGVtIDxnZGI6c3ltYm9sPgor K0B4cmVme1N5bWJvbHMgSW4gR3VpbGV9LgorKworK0BpdGVtIDxnZGI6c3lt dGFiPgorK0B4cmVme1N5bWJvbCBUYWJsZXMgSW4gR3VpbGV9LgorKworK0Bp dGVtIDxnZGI6c2FsPgorK0B4cmVme1N5bWJvbCBUYWJsZXMgSW4gR3VpbGV9 LgorKworK0BpdGVtIDxnZGI6dHlwZT4KKytAeHJlZntUeXBlcyBJbiBHdWls ZX0uCisrCisrQGl0ZW0gPGdkYjpmaWVsZD4KKytAeHJlZntUeXBlcyBJbiBH dWlsZX0uCisrCisrQGl0ZW0gPGdkYjp2YWx1ZT4KKytAeHJlZntWYWx1ZXMg RnJvbSBJbmZlcmlvciBJbiBHdWlsZX0uCisrQGVuZCB0YWJsZQorKworK1Ro ZSBmb2xsb3dpbmcgZ3Ntb2JzIGFyZSBtYW5hZ2VkIGludGVybmFsbHkgc28g dGhhdCB0aGUgU2NoZW1lIGZ1bmN0aW9uCisrQGNvZGV7ZXE/fSBtYXkgYmUg YXBwbGllZCB0byB0aGVtLgorKworK0B0YWJsZSBAY29kZQorK0BpdGVtIDxn ZGI6YXJjaD4KKytAaXRlbSA8Z2RiOmJsb2NrPgorK0BpdGVtIDxnZGI6YnJl YWtwb2ludD4KKytAaXRlbSA8Z2RiOmZyYW1lPgorK0BpdGVtIDxnZGI6b2Jq ZmlsZT4KKytAaXRlbSA8Z2RiOnN5bWJvbD4KKytAaXRlbSA8Z2RiOnN5bXRh Yj4KKytAaXRlbSA8Z2RiOnR5cGU+CisrQGVuZCB0YWJsZQogKwogK0Bub2Rl IEd1aWxlIEV4Y2VwdGlvbiBIYW5kbGluZwogK0BzdWJzdWJzZWN0aW9uIEd1 aWxlIEV4Y2VwdGlvbiBIYW5kbGluZwpAQCAtNDQzLDcgKzU5MCw3IEBAIGlu ZGV4IDAwMDAwMDAuLjBjMDUwZDQKICtAc21hbGxleGFtcGxlCiArKEB2YWx1 ZXtHREJQfSkgc2V0IGd1aWxlIHByaW50LXN0YWNrIGZ1bGwKICsoQHZhbHVl e0dEQlB9KSBndWlsZSAoZGlzcGxheSBmb28pCi0rQmFja3RyYWNlOgorK0d1 aWxlIEJhY2t0cmFjZToKICtJbiBpY2UtOS9ib290LTkuc2NtOgogKyAxNTc6 IDEwIFtjYXRjaCAjdCAjPGNhdGNoLWNsb3N1cmUgMmM3NmUyMD4gLi4uXQog K0luIHVua25vd24gZmlsZToKQEAgLTQ4Myw3ICs2MzAsNyBAQCBpbmRleCAw MDAwMDAwLi4wYzA1MGQ0CiArCiArQHZhbHVle0dEQk59IEd1aWxlIHByb2Nl ZHVyZXMgY2FuIGFsc28gdGhyb3cgdGhlc2UgZXhjZXB0aW9uczoKICsKLStA ZnRhYmxlIEBjb2RlCisrQHZ0YWJsZSBAY29kZQogK0BpdGVtIGdkYjplcnJv cgogK1RoaXMgZXhjZXB0aW9uIGlzIGEgY2F0Y2gtYWxsIGZvciBlcnJvcnMg Z2VuZXJhdGVkIGZyb20gd2l0aGluIEB2YWx1ZXtHREJOfS4KICsKQEAgLTUw MiwyOCArNjQ5LDMwIEBAIGluZGV4IDAwMDAwMDAuLjBjMDUwZDQKICtAaXRl bSBnZGI6cHAtdHlwZS1lcnJvcgogK1RoaXMgZXhjZXB0aW9uIGlzIHRocm93 biB3aGVuIGEgR3VpbGUgcHJldHR5LXByaW50ZXIgcGFzc2VzIGEgYmFkIG9i amVjdAogK3RvIEB2YWx1ZXtHREJOfS4KLStAZW5kIGZ0YWJsZQorK0BlbmQg dnRhYmxlCiArCiArVGhlIGZvbGxvd2luZyBleGNlcHRpb24tcmVsYXRlZCBw cm9jZWR1cmVzIGFyZSBwcm92aWRlZCBieSB0aGUKICtAY29kZXsoZ2RiKX0g bW9kdWxlLgogKwotK0BkZWZ1biBtYWtlLWV4Y2VwdGlvbiBrZXkgYXJncwor K0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gbWFrZS1leGNlcHRpb24ga2V5 IGFyZ3MKICtSZXR1cm4gYSBAY29kZXs8Z2RiOmV4Y2VwdGlvbj59IG9iamVj dC4KICtAdmFye2tleX0gYW5kIEB2YXJ7YXJnc30gYXJlIHRoZSBzdGFuZGFy ZCBHdWlsZSBwYXJhbWV0ZXJzIG9mIGFuIGV4Y2VwdGlvbi4KLStTZWUgR3Vp bGUgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KLStAZW5k IGRlZnVuCisrU2VlIHRoZSBHdWlsZSBkb2N1bWVudGF0aW9uIGZvciBtb3Jl IGluZm9ybWF0aW9uCisrKEBweHJlZntFeGNlcHRpb25zLCwsIGd1aWxlLCBH TlUgR3VpbGUgUmVmZXJlbmNlIE1hbnVhbH0pLgorK0BlbmQgZGVmZm4KICsK LStAZGVmdW4gZXhjZXB0aW9uPyBvYmplY3QKKytAZGVmZm4ge1NjaGVtZSBQ cm9jZWR1cmV9IGV4Y2VwdGlvbj8gb2JqZWN0CiArUmV0dXJuIEBjb2RleyN0 fSBpZiBAdmFye29iamVjdH0gaXMgYSBAY29kZXs8Z2RiOmV4Y2VwdGlvbj59 IG9iamVjdC4KLStAZW5kIGRlZnVuCisrT3RoZXJ3aXNlIHJldHVybiBAY29k ZXsjZn0uCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBleGNlcHRpb24ta2V5 IGV4Y2VwdGlvbgorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gZXhjZXB0 aW9uLWtleSBleGNlcHRpb24KICtSZXR1cm4gdGhlIEB2YXJ7YXJnc30gZmll bGQgb2YgYSBAY29kZXs8Z2RiOmV4Y2VwdGlvbj59IG9iamVjdC4KLStAZW5k IGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBleGNlcHRpb24tYXJn cyBleGNlcHRpb24KKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGV4Y2Vw dGlvbi1hcmdzIGV4Y2VwdGlvbgogK1JldHVybiB0aGUgQHZhcnthcmdzfSBm aWVsZCBvZiBhIEBjb2RlezxnZGI6ZXhjZXB0aW9uPn0gb2JqZWN0LgotK0Bl bmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCiArQG5vZGUgVmFsdWVzIEZyb20g SW5mZXJpb3IgSW4gR3VpbGUKICtAc3Vic3Vic2VjdGlvbiBWYWx1ZXMgRnJv bSBJbmZlcmlvciBJbiBHdWlsZQpAQCAtNTM3LDggKzY4Niw3IEBAIGluZGV4 IDAwMDAwMDAuLjBjMDUwZDQKICtmZXRjaGluZyB2YWx1ZXMgd2hlbiBuZWNl c3NhcnkuCiArCiArQHZhbHVle0dEQk59IGRvZXMgbm90IG1lbW9pemUgQGNv ZGV7PGdkYjp2YWx1ZT59IG9iamVjdHMuCi0rVGhlcmVmb3JlIEBjb2Rle2Vx P30gZG9lcyBub3Qgd29yayBhcyBleHBlY3RlZC4KLStIb3dldmVyIEBjb2Rl e2VxdWFsP30gZG9lcyB3b3JrLgorK0Bjb2Rle21ha2UtdmFsdWV9IGFsd2F5 cyByZXR1cm5zIGEgZnJlc2ggb2JqZWN0LgogKwogK0BzbWFsbGV4YW1wbGUK ICsoZ2RiKSBndWlsZSAoZXE/IChtYWtlLXZhbHVlIDEpIChtYWtlLXZhbHVl IDEpKQpAQCAtNTcyLDUwICs3MjAsNDggQEAgaW5kZXggMDAwMDAwMC4uMGMw NTBkNAogK1RoZSBmb2xsb3dpbmcgdmFsdWUtcmVsYXRlZCBwcm9jZWR1cmVz IGFyZSBwcm92aWRlZCBieSB0aGUKICtAY29kZXsoZ2RiKX0gbW9kdWxlLgog KwotK0BkZWZ1biB2YWx1ZT8gb2JqZWN0CisrQGRlZmZuIHtTY2hlbWUgUHJv Y2VkdXJlfSB2YWx1ZT8gb2JqZWN0CiArUmV0dXJuIEBjb2RleyN0fSBpZiBA dmFye29iamVjdH0gaXMgYSBAY29kZXs8Z2RiOnZhbHVlPn0gb2JqZWN0Lgot K0BlbmQgZGVmdW4KKytPdGhlcndpc2UgcmV0dXJuIEBjb2RleyNmfS4KKytA ZW5kIGRlZmZuCiArCi0rQGRlZnVuIG1ha2UtdmFsdWUgdmFsdWUgQHJ7W30j OnR5cGUgdHlwZUBye119Ci0rTWFueSBTY2hlbWUgdmFsdWVzIGNhbiBiZSBj b252ZXJ0ZWQgZGlyZWN0bHkgdG8gYSBAY29kZXs8Z2RiOnZhbHVlPn0gdmlh CisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBtYWtlLXZhbHVlIHZhbHVl IEBye1t9Izp0eXBlIHR5cGVAcntdfQorK01hbnkgU2NoZW1lIHZhbHVlcyBj YW4gYmUgY29udmVydGVkIGRpcmVjdGx5IHRvIGEgQGNvZGV7PGdkYjp2YWx1 ZT59CiArd2l0aCB0aGlzIHByb2NlZHVyZS4gIElmIEB2YXJ7dHlwZX0gaXMg c3BlY2lmaWVkLCB0aGUgcmVzdWx0IGlzIGEgdmFsdWUKICtvZiB0aGlzIHR5 cGUsIGFuZCBpZiBAdmFye3ZhbHVlfSBjYW4ndCBiZSByZXByZXNlbnRlZCB3 aXRoIHRoaXMgdHlwZQogK2FuIGV4Y2VwdGlvbiBpcyB0aHJvd24uICBPdGhl cndpc2UgdGhlIHR5cGUgb2YgdGhlIHJlc3VsdCBpcyBkZXRlcm1pbmVkIGZy b20KICtAdmFye3ZhbHVlfSBhcyBkZXNjcmliZWQgYmVsb3cuCiArCi0rVGhl IGZvbGxvd2luZyBTY2hlbWUgb2JqZWN0cyBhcmUgYWNjZXB0ZWQgZm9yIEB2 YXJ7dmFsdWV9OgorK0B4cmVme0FyY2hpdGVjdHVyZXMgSW4gR3VpbGV9LCBm b3IgYSBsaXN0IG9mIHRoZSBidWlsdGluCisrdHlwZXMgZm9yIGFuIGFyY2hp dGVjdHVyZS4KKysKKytIZXJlJ3MgaG93IFNjaGVtZSB2YWx1ZXMgYXJlIGNv bnZlcnRlZCB3aGVuIEB2YXJ7dHlwZX0gYXJndW1lbnQgdG8KKytAY29kZXtt YWtlLXZhbHVlfSBpcyBub3Qgc3BlY2lmaWVkOgogKwogK0B0YWJsZSBAYXNp cwogK0BpdGVtIFNjaGVtZSBib29sZWFuCi0rQSBTY2hlbWUgYm9vbGVhbiBp cyBjb252ZXJ0ZWQgdG8gQHZhcnt0eXBlfSBpZiBwcm92aWRlZCwgb3RoZXJ3 aXNlCi0rdGhlIGJvb2xlYW4gdHlwZSBmb3IgdGhlIGN1cnJlbnQgbGFuZ3Vh Z2UuCisrQSBTY2hlbWUgYm9vbGVhbiBpcyBjb252ZXJ0ZWQgdGhlIGJvb2xl YW4gdHlwZSBmb3IgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UuCiArCiArQGl0ZW0g U2NoZW1lIGludGVnZXIKLStBIFNjaGVtZSBpbnRlZ2VyIGlzIGNvbnZlcnRl ZCB0byBhIHZhbHVlIG9mIHR5cGUgQHZhcnt0eXBlfSBpZiBwcm92aWRlZC4K LSsKLStJZiBAdmFye3R5cGV9IGlzIG5vdCBwcm92aWRlZCwKLSthIFNjaGVt ZSBpbnRlZ2VyIGlzIGNvbnZlcnRlZCB0byB0aGUgZmlyc3Qgb2YgYSBDIEBj b2Rle2ludH0sCisrQSBTY2hlbWUgaW50ZWdlciBpcyBjb252ZXJ0ZWQgdG8g dGhlIGZpcnN0IG9mIGEgQyBAY29kZXtpbnR9LAogK0Bjb2Rle3Vuc2lnbmVk IGludH0sIEBjb2Rle2xvbmd9LCBAY29kZXt1bnNpZ25lZCBsb25nfSwKICtA Y29kZXtsb25nIGxvbmd9IG9yIEBjb2Rle3Vuc2lnbmVkIGxvbmcgbG9uZ30g dHlwZQogK2ZvciB0aGUgY3VycmVudCBhcmNoaXRlY3R1cmUgdGhhdCBjYW4g cmVwcmVzZW50IHRoZSB2YWx1ZS4KLStUbyBmb3JjZSBhIHBhcnRpY3VsYXIg dHlwZSB1c2UKLStAY29kZXsobWFrZS12YWx1ZSBAdmFye3ZhbHVlfSAjOnR5 cGUgQHZhcnt0eXBlfSl9LgotK0B4cmVme0FyY2hpdGVjdHVyZXMgSW4gR3Vp bGV9LCBmb3IgYSBsaXN0IG9mIHRoZSBidWlsdGluCi0rdHlwZXMgZm9yIGFu IGFyY2hpdGVjdHVyZS4KICsKICtJZiB0aGUgU2NoZW1lIGludGVnZXIgY2Fu bm90IGJlIHJlcHJlc2VudGVkIGFzIGEgdGFyZ2V0IGludGVnZXIKICthbiBA Y29kZXtvdXQtb2YtcmFuZ2V9IGV4Y2VwdGlvbiBpcyB0aHJvd24uCiArCiAr QGl0ZW0gU2NoZW1lIHJlYWwKLStBIFNjaGVtZSByZWFsIGlzIGNvbnZlcnRl ZCB0byBhIHZhbHVlIG9mIHR5cGUgQHZhcnt0eXBlfSBpZiBwcm92aWRlZC4K LSsKLStJZiBAdmFye3R5cGV9IGlzIG5vdCBwcm92aWRlZCwKLSthIFNjaGVt ZSByZWFsIGlzIGNvbnZlcnRlZCB0byB0aGUgQyBAY29kZXtkb3VibGV9IHR5 cGUgZm9yIHRoZQorK0EgU2NoZW1lIHJlYWwgaXMgY29udmVydGVkIHRvIHRo ZSBDIEBjb2Rle2RvdWJsZX0gdHlwZSBmb3IgdGhlCiArY3VycmVudCBhcmNo aXRlY3R1cmUuCiArCiArQGl0ZW0gU2NoZW1lIHN0cmluZwotK0EgU2NoZW1l IHN0cmluZyBpcyBjb252ZXJ0ZWQgdG8gYSB0YXJnZXQgc3RyaW5nLCB1c2lu ZyB0aGUgY3VycmVudAotK3RhcmdldCBlbmNvZGluZy4KKytBIFNjaGVtZSBz dHJpbmcgaXMgY29udmVydGVkIHRvIGEgc3RyaW5nIGluIHRoZSBjdXJyZW50 IHRhcmdldAorK2xhbmd1YWdlIHVzaW5nIHRoZSBjdXJyZW50IHRhcmdldCBl bmNvZGluZy4KKytDaGFyYWN0ZXJzIHRoYXQgY2Fubm90IGJlIHJlcHJlc2Vu dGVkIGluIHRoZSBjdXJyZW50IHRhcmdldCBlbmNvZGluZworK2FyZSByZXBs YWNlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGVzY2FwZSBzZXF1ZW5jZS4g IFRoaXMgaXMgR3VpbGUncworK0Bjb2Rle1NDTV9GQUlMRURfQ09OVkVSU0lP Tl9FU0NBUEVfU0VRVUVOQ0V9IGNvbnZlcnNpb24gc3RyYXRlZ3kKKysoQHB4 cmVme1N0cmluZ3MsLCwgZ3VpbGUsIEdOVSBHdWlsZSBSZWZlcmVuY2UgTWFu dWFsfSkuCiArCiArUGFzc2luZyBAdmFye3R5cGV9IGlzIG5vdCBzdXBwb3J0 ZWQgaW4gdGhpcyBjYXNlLAogK2lmIGl0IGlzIHByb3ZpZGVkIGEgQGNvZGV7 d3JvbmctdHlwZS1hcmd9IGV4Y2VwdGlvbiBpcyB0aHJvd24uCkBAIC02MzYs MjYgKzc4MiwyNyBAQCBpbmRleCAwMDAwMDAwLi4wYzA1MGQ0CiArSWYgQHZh cnt2YWx1ZX0gaXMgYSBTY2hlbWUgYnl0ZXZlY3RvciBhbmQgQHZhcnt0eXBl fSBpcyBub3QgcHJvdmlkZWQsCiArdGhlIHJlc3VsdCBpcyBhbiBhcnJheSBv ZiB0eXBlIEBjb2Rle3VpbnQ4fSBvZiB0aGUgc2FtZSBsZW5ndGguCiArQGVu ZCB0YWJsZQotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCiArQGNpbmRl eCBvcHRpbWl6ZWQgb3V0IHZhbHVlIGluIGd1aWxlCi0rQGRlZnVuIHZhbHVl LW9wdGltaXplZC1vdXQ/IHZhbHVlCisrQGRlZmZuIHtTY2hlbWUgUHJvY2Vk dXJlfSB2YWx1ZS1vcHRpbWl6ZWQtb3V0PyB2YWx1ZQogK1JldHVybiBAY29k ZXsjdH0gaWYgdGhlIGNvbXBpbGVyIG9wdGltaXplZCBvdXQgQHZhcnt2YWx1 ZX0sCiArdGh1cyBpdCBpcyBub3QgYXZhaWxhYmxlIGZvciBmZXRjaGluZyBm cm9tIHRoZSBpbmZlcmlvci4KLStAZW5kIGRlZnVuCisrT3RoZXJ3aXNlIHJl dHVybiBAY29kZXsjZn0uCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biB2YWx1 ZS1hZGRyZXNzIHZhbHVlCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSB2 YWx1ZS1hZGRyZXNzIHZhbHVlCiArSWYgQHZhcnt2YWx1ZX0gaXMgYWRkcmVz c2FibGUsIHJldHVybnMgYQogK0Bjb2RlezxnZGI6dmFsdWU+fSBvYmplY3Qg cmVwcmVzZW50aW5nIHRoZSBhZGRyZXNzLgogK090aGVyd2lzZSwgQGNvZGV7 I2Z9IGlzIHJldHVybmVkLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiAr Ci0rQGRlZnVuIHZhbHVlLXR5cGUgdmFsdWUKKytAZGVmZm4ge1NjaGVtZSBQ cm9jZWR1cmV9IHZhbHVlLXR5cGUgdmFsdWUKICtSZXR1cm4gdGhlIHR5cGUg b2YgQHZhcnt2YWx1ZX0gYXMgYSBAY29kZXs8Z2RiOnR5cGU+fSBvYmplY3QK ICsoQHB4cmVme1R5cGVzIEluIEd1aWxlfSkuCi0rQGVuZCBkZWZ1bgorK0Bl bmQgZGVmZm4KICsKLStAZGVmdW4gdmFsdWUtZHluYW1pYy10eXBlIHZhbHVl CisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSB2YWx1ZS1keW5hbWljLXR5 cGUgdmFsdWUKICtSZXR1cm4gdGhlIGR5bmFtaWMgdHlwZSBvZiBAdmFye3Zh bHVlfS4gIFRoaXMgdXNlcyBDQHR7Kyt9IHJ1bi10aW1lCiArdHlwZSBpbmZv cm1hdGlvbiAoQGFjcm9ueW17UlRUSX0pIHRvIGRldGVybWluZSB0aGUgZHlu YW1pYyB0eXBlIG9mIHRoZQogK3ZhbHVlLiAgSWYgdGhlIHZhbHVlIGlzIG9m IGNsYXNzIHR5cGUsIGl0IHdpbGwgcmV0dXJuIHRoZSBjbGFzcyBpbgpAQCAt NjY5LDI2ICs4MTYsMjYgQEAgaW5kZXggMDAwMDAwMC4uMGMwNTBkNAogK3Ro YXQgaW5jbHVkZXMgQGFjcm9ueW17UlRUSX0gZm9yIHRoZSBvYmplY3QgaW4g cXVlc3Rpb24uICBPdGhlcndpc2UsCiAraXQgd2lsbCBqdXN0IHJldHVybiB0 aGUgc3RhdGljIHR5cGUgb2YgdGhlIHZhbHVlIGFzIGluIEBrYmR7cHR5cGUg Zm9vfS4KICtAeHJlZntTeW1ib2xzLCBwdHlwZX0uCi0rQGVuZCBkZWZ1bgor K0BlbmQgZGVmZm4KICsKLStAZGVmdW4gdmFsdWUtY2FzdCB2YWx1ZSB0eXBl CisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSB2YWx1ZS1jYXN0IHZhbHVl IHR5cGUKICtSZXR1cm4gYSBuZXcgaW5zdGFuY2Ugb2YgQGNvZGV7PGdkYjp2 YWx1ZT59IHRoYXQgaXMgdGhlIHJlc3VsdCBvZgogK2Nhc3RpbmcgQHZhcnt2 YWx1ZX0gdG8gdGhlIHR5cGUgZGVzY3JpYmVkIGJ5IEB2YXJ7dHlwZX0sIHdo aWNoIG11c3QKICtiZSBhIEBjb2RlezxnZGI6dHlwZT59IG9iamVjdC4gIElm IHRoZSBjYXN0IGNhbm5vdCBiZSBwZXJmb3JtZWQgZm9yIHNvbWUKICtyZWFz b24sIHRoaXMgbWV0aG9kIHRocm93cyBhbiBleGNlcHRpb24uCi0rQGVuZCBk ZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gdmFsdWUtZHluYW1pYy1j YXN0IHZhbHVlIHR5cGUKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHZh bHVlLWR5bmFtaWMtY2FzdCB2YWx1ZSB0eXBlCiArTGlrZSBAY29kZXt2YWx1 ZS1jYXN0fSwgYnV0IHdvcmtzIGFzIGlmIHRoZSBDQHR7Kyt9IEBjb2Rle2R5 bmFtaWNfY2FzdH0KICtvcGVyYXRvciB3ZXJlIHVzZWQuICBDb25zdWx0IGEg Q0B0eysrfSByZWZlcmVuY2UgZm9yIGRldGFpbHMuCi0rQGVuZCBkZWZ1bgor K0BlbmQgZGVmZm4KICsKLStAZGVmdW4gdmFsdWUtcmVpbnRlcnByZXQtY2Fz dCB2YWx1ZSB0eXBlCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSB2YWx1 ZS1yZWludGVycHJldC1jYXN0IHZhbHVlIHR5cGUKICtMaWtlIEBjb2Rle3Zh bHVlLWNhc3R9LCBidXQgd29ya3MgYXMgaWYgdGhlIENAdHsrK30gQGNvZGV7 cmVpbnRlcnByZXRfY2FzdH0KICtvcGVyYXRvciB3ZXJlIHVzZWQuICBDb25z dWx0IGEgQ0B0eysrfSByZWZlcmVuY2UgZm9yIGRldGFpbHMuCi0rQGVuZCBk ZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gdmFsdWUtZGVyZWZlcmVu Y2UgdmFsdWUKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHZhbHVlLWRl cmVmZXJlbmNlIHZhbHVlCiArRm9yIHBvaW50ZXIgZGF0YSB0eXBlcywgdGhp cyBtZXRob2QgcmV0dXJucyBhIG5ldyBAY29kZXs8Z2RiOnZhbHVlPn0gb2Jq ZWN0CiArd2hvc2UgY29udGVudHMgaXMgdGhlIG9iamVjdCBwb2ludGVkIHRv IGJ5IEB2YXJ7dmFsdWV9LiAgRm9yIGV4YW1wbGUsIGlmCiArQGNvZGV7Zm9v fSBpcyBhIEMgcG9pbnRlciB0byBhbiBAY29kZXtpbnR9LCBkZWNsYXJlZCBp biB5b3VyIEMgcHJvZ3JhbSBhcwpAQCAtNzQ5LDkgKzg5Niw5IEBAIGluZGV4 IDAwMDAwMDAuLjBjMDUwZDQKICtleGFtcGxlKS4gIFRoZSByZXN1bHRzIGFy ZSBob3dldmVyIGlkZW50aWNhbCB3aGVuIGFwcGxpZWQgb24KICtAY29kZXs8 Z2RiOnZhbHVlPn0gb2JqZWN0cyBjb3JyZXNwb25kaW5nIHRvIHBvaW50ZXJz IChAY29kZXs8Z2RiOnZhbHVlPn0KICtvYmplY3RzIHdpdGggdHlwZSBjb2Rl IEBjb2Rle1RZUEVfQ09ERV9QVFJ9KSBpbiBhIEMvQ0B0eysrfSBwcm9ncmFt LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIHZhbHVl LXJlZmVyZW5jZWQtdmFsdWUgdmFsdWUKKytAZGVmZm4ge1NjaGVtZSBQcm9j ZWR1cmV9IHZhbHVlLXJlZmVyZW5jZWQtdmFsdWUgdmFsdWUKICtGb3IgcG9p bnRlciBvciByZWZlcmVuY2UgZGF0YSB0eXBlcywgdGhpcyBtZXRob2QgcmV0 dXJucyBhIG5ldwogK0Bjb2RlezxnZGI6dmFsdWU+fSBvYmplY3QgY29ycmVz cG9uZGluZyB0byB0aGUgdmFsdWUgcmVmZXJlbmNlZCBieSB0aGUKICtwb2lu dGVyL3JlZmVyZW5jZSB2YWx1ZS4gIEZvciBwb2ludGVyIGRhdGEgdHlwZXMs CkBAIC03ODAsNjAgKzkyNyw2MSBAQCBpbmRleCAwMDAwMDAwLi4wYzA1MGQ0 CiArCiArVGhlIEBjb2RlezxnZGI6dmFsdWU+fSBvYmplY3QgQGNvZGV7c2Nt LXZhbH0gaXMgaWRlbnRpY2FsIHRvIHRoYXQKICtjb3JyZXNwb25kaW5nIHRv IEBjb2Rle3ZhbH0uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStA ZGVmdW4gdmFsdWUtZmllbGQgdmFsdWUgZmllbGQtbmFtZQorK0BkZWZmbiB7 U2NoZW1lIFByb2NlZHVyZX0gdmFsdWUtZmllbGQgdmFsdWUgZmllbGQtbmFt ZQogK1JldHVybiBmaWVsZCBAdmFye2ZpZWxkLW5hbWV9IGZyb20gQGNvZGV7 PGdkYjp2YWx1ZT59IG9iamVjdCBAdmFye3ZhbHVlfS4KLStAZW5kIGRlZnVu CisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biB2YWx1ZS1zdWJzY3JpcHQgdmFs dWUgaW5kZXgKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHZhbHVlLXN1 YnNjcmlwdCB2YWx1ZSBpbmRleAogK1JldHVybiB0aGUgdmFsdWUgb2YgYXJy YXkgQHZhcnt2YWx1ZX0gYXQgaW5kZXggQHZhcntpbmRleH0uCiArQHZhcnt2 YWx1ZX0gbXVzdCBiZSBhIHN1YnNjcmlwdGFibGUgQGNvZGV7PGdkYjp2YWx1 ZT59IG9iamVjdC4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0Bk ZWZ1biB2YWx1ZS1jYWxsIHZhbHVlIGFyZy1saXN0CisrQGRlZmZuIHtTY2hl bWUgUHJvY2VkdXJlfSB2YWx1ZS1jYWxsIHZhbHVlIGFyZy1saXN0CiArUGVy Zm9ybSBhbiBpbmZlcmlvciBmdW5jdGlvbiBjYWxsLCB0YWtpbmcgQHZhcnt2 YWx1ZX0gYXMgYSBwb2ludGVyCiArdG8gdGhlIGZ1bmN0aW9uIHRvIGNhbGwu CiArRWFjaCBlbGVtZW50IG9mIGxpc3QgQHZhcnthcmctbGlzdH0gbXVzdCBi ZSBhIDxnZGI6dmFsdWU+IG9iamVjdCBvciBhbiBvYmplY3QKLSt0aGF0IGNh biBiZSBjb252ZXJ0ZWQgdG8gb25lLgorK3RoYXQgY2FuIGJlIGNvbnZlcnRl ZCB0byBhIHZhbHVlLi4KICtUaGUgcmVzdWx0IGlzIHRoZSB2YWx1ZSByZXR1 cm5lZCBieSB0aGUgZnVuY3Rpb24uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVm Zm4KICsKLStAZGVmdW4gdmFsdWUtPmJvb2wgdmFsdWUKKytAZGVmZm4ge1Nj aGVtZSBQcm9jZWR1cmV9IHZhbHVlLT5ib29sIHZhbHVlCiArUmV0dXJuIHRo ZSBTY2hlbWUgYm9vbGVhbiByZXByZXNlbnRpbmcgQGNvZGV7PGdkYjp2YWx1 ZT59IEB2YXJ7dmFsdWV9LgogK1RoZSB2YWx1ZSBtdXN0IGJlIGBgaW50ZWdl ciBsaWtlJycuICBQb2ludGVycyBhcmUgb2suCi0rQGVuZCBkZWZ1bgorK0Bl bmQgZGVmZm4KICsKLStAZGVmdW4gdmFsdWUtPmludGVnZXIKKytAZGVmZm4g e1NjaGVtZSBQcm9jZWR1cmV9IHZhbHVlLT5pbnRlZ2VyCiArUmV0dXJuIHRo ZSBTY2hlbWUgaW50ZWdlciByZXByZXNlbnRpbmcgQGNvZGV7PGdkYjp2YWx1 ZT59IEB2YXJ7dmFsdWV9LgogK1RoZSB2YWx1ZSBtdXN0IGJlIGBgaW50ZWdl ciBsaWtlJycuICBQb2ludGVycyBhcmUgb2suCi0rQGVuZCBkZWZ1bgorK0Bl bmQgZGVmZm4KICsKLStAZGVmdW4gdmFsdWUtPnJlYWwKKytAZGVmZm4ge1Nj aGVtZSBQcm9jZWR1cmV9IHZhbHVlLT5yZWFsCiArUmV0dXJuIHRoZSBTY2hl bWUgcmVhbCBudW1iZXIgcmVwcmVzZW50aW5nIEBjb2RlezxnZGI6dmFsdWU+ fSBAdmFye3ZhbHVlfS4KICtUaGUgdmFsdWUgbXVzdCBiZSBhIG51bWJlci4K LStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biB2YWx1ZS0+ Ynl0ZXZlY3RvcgorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gdmFsdWUt PmJ5dGV2ZWN0b3IKICtSZXR1cm4gYSBTY2hlbWUgYnl0ZXZlY3RvciB3aXRo IHRoZSByYXcgY29udGVudHMgb2YgQGNvZGV7PGdkYjp2YWx1ZT59CiArQHZh cnt2YWx1ZX0uICBObyB0cmFuc2Zvcm1hdGlvbiwgZW5kaWFuIG9yIG90aGVy d2lzZSwgaXMgcGVyZm9ybWVkLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZu CiArCiArQGMgVE9ETzogbGluZSBsZW5ndGgKLStAZGVmdW4gdmFsdWUtPnN0 cmluZyB2YWx1ZSBAcntbfSM6ZW5jb2RpbmcgZW5jb2RpbmdAcntdfSBAcntb fSM6ZXJyb3JzIGVycm9yc0Bye119IEBye1t9IzpsZW5ndGggbGVuZ3RoQHJ7 XX0KKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHZhbHVlLT5zdHJpbmcg dmFsdWUgQHJ7W30jOmVuY29kaW5nIGVuY29kaW5nQHJ7XX0gQHJ7W30jOmVy cm9ycyBlcnJvcnNAcntdfSBAcntbfSM6bGVuZ3RoIGxlbmd0aEBye119CiAr SWYgQHZhcnt2YWx1ZT59IHJlcHJlc2VudHMgYSBzdHJpbmcsIHRoZW4gdGhp cyBtZXRob2QKICtjb252ZXJ0cyB0aGUgY29udGVudHMgdG8gYSBHdWlsZSBz dHJpbmcuICBPdGhlcndpc2UsIHRoaXMgbWV0aG9kIHdpbGwKICt0aHJvdyBh biBleGNlcHRpb24uCiArCi0rU3RyaW5ncyBhcmUgcmVjb2duaXplZCBpbiBh IGxhbmd1YWdlLXNwZWNpZmljIHdheTsgd2hldGhlciBhIGdpdmVuCi0rQGNv ZGV7PGdkYjp2YWx1ZT59IHJlcHJlc2VudHMgYSBzdHJpbmcgaXMgZGV0ZXJt aW5lZCBieSB0aGUgY3VycmVudAotK2xhbmd1YWdlLgotKwotK0ZvciBDLWxp a2UgbGFuZ3VhZ2VzLCBhIHZhbHVlIGlzIGEgc3RyaW5nIGlmIGl0IGlzIGEg cG9pbnRlciB0byBvciBhbgotK2FycmF5IG9mIGNoYXJhY3RlcnMgb3IgaW50 cy4gIFRoZSBzdHJpbmcgaXMgYXNzdW1lZCB0byBiZSB0ZXJtaW5hdGVkCi0r YnkgYSB6ZXJvIG9mIHRoZSBhcHByb3ByaWF0ZSB3aWR0aC4gIEhvd2V2ZXIg aWYgdGhlIG9wdGlvbmFsIGxlbmd0aAotK2FyZ3VtZW50IGlzIGdpdmVuLCB0 aGUgc3RyaW5nIHdpbGwgYmUgY29udmVydGVkIHRvIHRoYXQgZ2l2ZW4gbGVu Z3RoLAotK2lnbm9yaW5nIGFueSBlbWJlZGRlZCB6ZXJvcyB0aGF0IHRoZSBz dHJpbmcgbWF5IGNvbnRhaW4uCisrVmFsdWVzIGFyZSBpbnRlcnByZXRlZCBh cyBzdHJpbmdzIGFjY29yZGluZyB0byB0aGUgcnVsZXMgb2YgdGhlCisrY3Vy cmVudCBsYW5ndWFnZS4gIElmIHRoZSBvcHRpb25hbCBsZW5ndGggYXJndW1l bnQgaXMgZ2l2ZW4sIHRoZQorK3N0cmluZyB3aWxsIGJlIGNvbnZlcnRlZCB0 byB0aGF0IGxlbmd0aCwgYW5kIHdpbGwgaW5jbHVkZSBhbnkgZW1iZWRkZWQK Kyt6ZXJvZXMgdGhhdCB0aGUgc3RyaW5nIG1heSBjb250YWluLiAgT3RoZXJ3 aXNlLCBmb3IgbGFuZ3VhZ2VzCisrd2hlcmUgdGhlIHN0cmluZyBpcyB6ZXJv LXRlcm1pbmF0ZWQsIHRoZSBlbnRpcmUgc3RyaW5nIHdpbGwgYmUKKytjb252 ZXJ0ZWQuCisrCisrRm9yIGV4YW1wbGUsIGluIEMtbGlrZSBsYW5ndWFnZXMs IGEgdmFsdWUgaXMgYSBzdHJpbmcgaWYgaXQgaXMgYSBwb2ludGVyCisrdG8g b3IgYW4gYXJyYXkgb2YgY2hhcmFjdGVycyBvciBpbnRzIG9mIHR5cGUgQGNv ZGV7d2NoYXJfdH0sIEBjb2Rle2NoYXIxNl90fSwKKytvciBAY29kZXtjaGFy MzJfdH0uCiArCiArSWYgdGhlIG9wdGlvbmFsIEB2YXJ7ZW5jb2Rpbmd9IGFy Z3VtZW50IGlzIGdpdmVuLCBpdCBtdXN0IGJlIGEgc3RyaW5nCiArbmFtaW5n IHRoZSBlbmNvZGluZyBvZiB0aGUgc3RyaW5nIGluIHRoZSBAY29kZXs8Z2Ri OnZhbHVlPn0sIHN1Y2ggYXMKQEAgLTg0NSwxOCArOTkzLDIzIEBAIGluZGV4 IDAwMDAwMDAuLjBjMDUwZDQKICsoQHB4cmVme0NoYXJhY3RlciBTZXRzfSkg d2lsbCBiZSB1c2VkLCBvciBhIGxhbmd1YWdlLXNwZWNpZmljIGVuY29kaW5n CiArd2lsbCBiZSB1c2VkLCBpZiB0aGUgY3VycmVudCBsYW5ndWFnZSBpcyBh YmxlIHRvIHN1cHBseSBvbmUuCiArCi0rVGhlIG9wdGlvbmFsIEB2YXJ7ZXJy b3JzfSBhcmd1bWVudCBpcyBlaXRoZXIgQGNvZGV7InN0cmljdCJ9Ci0rb3Ig QGNvZGV7InJlcGxhY2UifS4gIEEgdmFsdWUgb2YgQGNvZGV7InN0cmljdCJ9 IGNvcnJlc3BvbmRzIHRvCi0rR3VpbGUncyBAY29kZXtTQ01fRkFJTEVEX0NP TlZFUlNJT05fRVJST1J9IGFuZCBhIHZhbHVlIG9mIEBjb2RleyJyZXBsYWNl In0KLStjb3JyZXNwb25kcyB0byBHdWlsZSdzIEBjb2Rle1NDTV9GQUlMRURf Q09OVkVSU0lPTl9RVUVTVElPTl9NQVJLfS4KKytUaGUgb3B0aW9uYWwgQHZh cntlcnJvcnN9IGFyZ3VtZW50IGlzIG9uZSBvZiBAY29kZXsjZn0sIEBjb2Rl e2Vycm9yfSBvcgorK0Bjb2Rle3N1YnN0aXR1dGV9LiAgQGNvZGV7ZXJyb3J9 IGFuZCBAY29kZXtzdWJzdGl0dXRlfSBtdXN0IGJlIHN5bWJvbHMuCisrSWYg QHZhcntlcnJvcnN9IGlzIG5vdCBzcGVjaWZpZWQsIG9yIGlmIGl0cyB2YWx1 ZSBpcyBAY29kZXsjZn0sIHRoZW4gdGhlCisrZGVmYXVsdCBjb252ZXJzaW9u IHN0cmF0ZWd5IGlzIHVzZWQsIHdoaWNoIGlzIHNldCB3aXRoIHRoZSBTY2hl bWUgZnVuY3Rpb24KKytAY29kZXtzZXQtcG9ydC1jb252ZXJzaW9uLXN0cmF0 ZWd5IX0uCisrSWYgdGhlIHZhbHVlIGlzIEBjb2RleydlcnJvcn0gdGhlbiBh biBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZXJlIGlzIGFueQorK2NvbnZl cnNpb24gZXJyb3IuICBJZiB0aGUgdmFsdWUgaXMgQGNvZGV7J3N1YnN0aXR1 dGV9IHRoZW4gYW55IGNvbnZlcnNpb24KKytlcnJvciBpcyByZXBsYWNlZCB3 aXRoIHF1ZXN0aW9uIG1hcmtzLgorK0B4cmVme1N0cmluZ3MsLCwgZ3VpbGUs IEdOVSBHdWlsZSBSZWZlcmVuY2UgTWFudWFsfS4KICsKICtJZiB0aGUgb3B0 aW9uYWwgQHZhcntsZW5ndGh9IGFyZ3VtZW50IGlzIGdpdmVuLCB0aGUgc3Ry aW5nIHdpbGwgYmUKICtmZXRjaGVkIGFuZCBjb252ZXJ0ZWQgdG8gdGhlIGdp dmVuIGxlbmd0aC4KICtUaGUgbGVuZ3RoIG11c3QgYmUgYSBTY2hlbWUgaW50 ZWdlciBhbmQgbm90IGEgQGNvZGV7PGdkYjp2YWx1ZT59IGludGVnZXIuCi0r QGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKICtAYyBUT0RPOiBsaW5lIGxl bmd0aAotK0BkZWZ1biB2YWx1ZS0+bGF6eS1zdHJpbmcgdmFsdWUgQHJ7W30j OmVuY29kaW5nIGVuY29kaW5nQHJ7XX0gQHJ7W30jOmxlbmd0aCBsZW5ndGhA cntdfSkKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHZhbHVlLT5sYXp5 LXN0cmluZyB2YWx1ZSBAcntbfSM6ZW5jb2RpbmcgZW5jb2RpbmdAcntdfSBA cntbfSM6bGVuZ3RoIGxlbmd0aEBye119KQogK0lmIHRoaXMgQGNvZGV7PGdk Yjp2YWx1ZT59IHJlcHJlc2VudHMgYSBzdHJpbmcsIHRoZW4gdGhpcyBtZXRo b2QKICtjb252ZXJ0cyBAdmFye3ZhbHVlfSB0byBhIEBjb2RlezxnZGI6bGF6 eS1zdHJpbmd9IChAcHhyZWZ7TGF6eSBTdHJpbmdzCiArSW4gR3VpbGV9KS4g IE90aGVyd2lzZSwgdGhpcyBtZXRob2Qgd2lsbCB0aHJvdyBhbiBleGNlcHRp b24uCkBAIC04NzksMTEgKzEwMzIsMTIgQEAgaW5kZXggMDAwMDAwMC4uMGMw NTBkNAogK3RoZSBAdmFye2xlbmd0aH0gYXJndW1lbnQgaXMgbm90IHByb3Zp ZGVkLCB0aGUgc3RyaW5nIHdpbGwgYmUgZmV0Y2hlZAogK2FuZCBlbmNvZGVk IHVudGlsIGEgbnVsbCBvZiBhcHByb3ByaWF0ZSB3aWR0aCBpcyBmb3VuZC4K ICtUaGUgbGVuZ3RoIG11c3QgYmUgYSBTY2hlbWUgaW50ZWdlciBhbmQgbm90 IGEgQGNvZGV7PGdkYjp2YWx1ZT59IGludGVnZXIuCi0rQGVuZCBkZWZ1bgor K0BlbmQgZGVmZm4KICsKLStAZGVmdW4gdmFsdWUtbGF6eT8gdmFsdWUKKytA ZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHZhbHVlLWxhenk/IHZhbHVlCiAr UmV0dXJuIEBjb2RleyN0fSBpZiBAdmFye3ZhbHVlfSBoYXMgbm90IHlldCBi ZWVuIGZldGNoZWQKICtmcm9tIHRoZSBpbmZlcmlvci4gIAorK090aGVyd2lz ZSByZXR1cm4gQGNvZGV7I2Z9LgogK0B2YWx1ZXtHREJOfSBkb2VzIG5vdCBm ZXRjaCB2YWx1ZXMgdW50aWwgbmVjZXNzYXJ5LCBmb3IgZWZmaWNpZW5jeS4g IAogK0ZvciBleGFtcGxlOgogKwpAQCAtODk0LDE1ICsxMDQ4LDE1IEBAIGlu ZGV4IDAwMDAwMDAuLjBjMDUwZDQKICtUaGUgdmFsdWUgb2YgQGNvZGV7c29t ZXZhcn0gaXMgbm90IGZldGNoZWQgYXQgdGhpcyB0aW1lLiAgSXQgd2lsbCBi ZSAKICtmZXRjaGVkIHdoZW4gdGhlIHZhbHVlIGlzIG5lZWRlZCwgb3Igd2hl biB0aGUgQGNvZGV7ZmV0Y2gtbGF6eX0KICtwcm9jZWR1cmUgaXMgaW52b2tl ZC4gIAotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIG1h a2UtbGF6eS12YWx1ZSB0eXBlIGFkZHJlc3MKKytAZGVmZm4ge1NjaGVtZSBQ cm9jZWR1cmV9IG1ha2UtbGF6eS12YWx1ZSB0eXBlIGFkZHJlc3MKICtSZXR1 cm4gYSBAY29kZXs8Z2RiOnZhbHVlPn0gdGhhdCB3aWxsIGJlIGxhemlseSBm ZXRjaGVkIGZyb20gdGhlIHRhcmdldC4KICtAdmFye3R5cGV9IGlzIGFuIG9i amVjdCBvZiB0eXBlIEBjb2RlezxnZGI6dHlwZT59IGFuZCBAdmFye2FkZHJl c3N9IGlzCiArYSBTY2hlbWUgaW50ZWdlciBvZiB0aGUgYWRkcmVzcyBvZiB0 aGUgb2JqZWN0IGluIHRhcmdldCBtZW1vcnkuCi0rQGVuZCBkZWZ1bgorK0Bl bmQgZGVmZm4KICsKLStAZGVmdW4gdmFsdWUtZmV0Y2gtbGF6eSEgdmFsdWUK KytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHZhbHVlLWZldGNoLWxhenkh IHZhbHVlCiArSWYgQHZhcnt2YWx1ZX0gaXMgYSBsYXp5IHZhbHVlIChAY29k ZXsodmFsdWUtbGF6eT8gdmFsdWUpfSBpcyBAY29kZXsjdH0pLAogK3RoZW4g dGhlIHZhbHVlIGlzIGZldGNoZWQgZnJvbSB0aGUgaW5mZXJpb3IuCiArQW55 IGVycm9ycyB0aGF0IG9jY3VyIGluIHRoZSBwcm9jZXNzIHdpbGwgcHJvZHVj ZSBhIEd1aWxlIGV4Y2VwdGlvbi4KQEAgLTkxMCwxMiArMTA2NCwxMiBAQCBp bmRleCAwMDAwMDAwLi4wYzA1MGQ0CiArSWYgQHZhcnt2YWx1ZX0gaXMgbm90 IGEgbGF6eSB2YWx1ZSwgdGhpcyBtZXRob2QgaGFzIG5vIGVmZmVjdC4KICsK ICtUaGUgcmVzdWx0IG9mIHRoaXMgZnVuY3Rpb24gaXMgdW5zcGVjaWZpZWQu Ci0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gdmFsdWUt cHJpbnQgdmFsdWUKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHZhbHVl LXByaW50IHZhbHVlCiArUmV0dXJuIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRp b24gKHByaW50IGZvcm0pIG9mIEBjb2RlezxnZGI6dmFsdWU+fQogK0B2YXJ7 dmFsdWV9LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCiArQG5vZGUg QXJpdGhtZXRpYyBJbiBHdWlsZQogK0BzdWJzdWJzZWN0aW9uIEFyaXRobWV0 aWMgSW4gR3VpbGUKQEAgLTkzMSw3NyArMTA4NSw3NyBAQCBpbmRleCAwMDAw MDAwLi4wYzA1MGQ0CiArQHZhbHVle0dEQk59IHdpbGwgY29udmVydCBhcHBy b3ByaWF0ZSBTY2hlbWUgdmFsdWVzIHRvIHBlcmZvcm0KICt0aGUgb3BlcmF0 aW9uLgogKwotK0BkZWZ1biB2YWx1ZS1hZGQgYSBiCi0rQGVuZCBkZWZ1bgor K0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gdmFsdWUtYWRkIGEgYgorK0Bl bmQgZGVmZm4KICsKLStAZGVmdW4gdmFsdWUtc3ViIGEgYgotK0BlbmQgZGVm dW4KKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHZhbHVlLXN1YiBhIGIK KytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIHZhbHVlLW11bCBhIGIKLStAZW5k IGRlZnVuCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSB2YWx1ZS1tdWwg YSBiCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biB2YWx1ZS1kaXYgYSBiCi0r QGVuZCBkZWZ1bgorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gdmFsdWUt ZGl2IGEgYgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gdmFsdWUtcmVtIGEg YgotK0BlbmQgZGVmdW4KKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHZh bHVlLXJlbSBhIGIKKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIHZhbHVlLW1v ZCBhIGIKLStAZW5kIGRlZnVuCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJl fSB2YWx1ZS1tb2QgYSBiCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biB2YWx1 ZS1wb3cgYSBiCi0rQGVuZCBkZWZ1bgorK0BkZWZmbiB7U2NoZW1lIFByb2Nl ZHVyZX0gdmFsdWUtcG93IGEgYgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4g dmFsdWUtbm90IGEKLStAZW5kIGRlZnVuCisrQGRlZmZuIHtTY2hlbWUgUHJv Y2VkdXJlfSB2YWx1ZS1ub3QgYQorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4g dmFsdWUtbmVnIGEKLStAZW5kIGRlZnVuCisrQGRlZmZuIHtTY2hlbWUgUHJv Y2VkdXJlfSB2YWx1ZS1uZWcgYQorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4g dmFsdWUtcG9zIGEKLStAZW5kIGRlZnVuCisrQGRlZmZuIHtTY2hlbWUgUHJv Y2VkdXJlfSB2YWx1ZS1wb3MgYQorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4g dmFsdWUtYWJzIGEKLStAZW5kIGRlZnVuCisrQGRlZmZuIHtTY2hlbWUgUHJv Y2VkdXJlfSB2YWx1ZS1hYnMgYQorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4g dmFsdWUtbHNoIGEgYgotK0BlbmQgZGVmdW4KKytAZGVmZm4ge1NjaGVtZSBQ cm9jZWR1cmV9IHZhbHVlLWxzaCBhIGIKKytAZW5kIGRlZmZuCiArCi0rQGRl ZnVuIHZhbHVlLXJzaCBhIGIKLStAZW5kIGRlZnVuCisrQGRlZmZuIHtTY2hl bWUgUHJvY2VkdXJlfSB2YWx1ZS1yc2ggYSBiCisrQGVuZCBkZWZmbgogKwot K0BkZWZ1biB2YWx1ZS1tYXggYSBiCi0rQGVuZCBkZWZ1bgorK0BkZWZmbiB7 U2NoZW1lIFByb2NlZHVyZX0gdmFsdWUtbWluIGEgYgorK0BlbmQgZGVmZm4K ICsKLStAZGVmdW4gdmFsdWUtbWF4IGEgYgotK0BlbmQgZGVmdW4KKytAZGVm Zm4ge1NjaGVtZSBQcm9jZWR1cmV9IHZhbHVlLW1heCBhIGIKKytAZW5kIGRl ZmZuCiArCi0rQGRlZnVuIHZhbHVlLWxvZ25vdCBhCi0rQGVuZCBkZWZ1bgor K0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gdmFsdWUtbG9nbm90IGEKKytA ZW5kIGRlZmZuCiArCi0rQGRlZnVuIHZhbHVlLWxvZ2FuZCBhIGIKLStAZW5k IGRlZnVuCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSB2YWx1ZS1sb2dh bmQgYSBiCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biB2YWx1ZS1sb2dpb3Ig YSBiCi0rQGVuZCBkZWZ1bgorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0g dmFsdWUtbG9naW9yIGEgYgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gdmFs dWUtbG9neG9yIGEgYgotK0BlbmQgZGVmdW4KKytAZGVmZm4ge1NjaGVtZSBQ cm9jZWR1cmV9IHZhbHVlLWxvZ3hvciBhIGIKKytAZW5kIGRlZmZuCiArCi0r QGRlZnVuIHZhbHVlPT8gYSBiCi0rQGVuZCBkZWZ1bgorK0BkZWZmbiB7U2No ZW1lIFByb2NlZHVyZX0gdmFsdWU9PyBhIGIKKytAZW5kIGRlZmZuCiArCi0r QGRlZnVuIHZhbHVlPD8gYSBiCi0rQGVuZCBkZWZ1bgorK0BkZWZmbiB7U2No ZW1lIFByb2NlZHVyZX0gdmFsdWU8PyBhIGIKKytAZW5kIGRlZmZuCiArCi0r QGRlZnVuIHZhbHVlPD0/IGEgYgotK0BlbmQgZGVmdW4KKytAZGVmZm4ge1Nj aGVtZSBQcm9jZWR1cmV9IHZhbHVlPD0/IGEgYgorK0BlbmQgZGVmZm4KICsK LStAZGVmdW4gdmFsdWU+PyBhIGIKLStAZW5kIGRlZnVuCisrQGRlZmZuIHtT Y2hlbWUgUHJvY2VkdXJlfSB2YWx1ZT4/IGEgYgorK0BlbmQgZGVmZm4KICsK LStAZGVmdW4gdmFsdWU+PT8gYSBiCi0rQGVuZCBkZWZ1bgorK0BkZWZmbiB7 U2NoZW1lIFByb2NlZHVyZX0gdmFsdWU+PT8gYSBiCisrQGVuZCBkZWZmbgog KwogK1NjaGVtZSBkb2VzIG5vdCBwcm92aWRlIGEgQGNvZGV7bm90LWVxdWFs fSBmdW5jdGlvbiwKICthbmQgdGh1cyBHdWlsZSBzdXBwb3J0IGluIEB2YWx1 ZXtHREJOfSBkb2VzIG5vdCBlaXRoZXIuCkBAIC0xMDE4LDExICsxMTcyLDEy IEBAIGluZGV4IDAwMDAwMDAuLjBjMDUwZDQKICtUaGUgZm9sbG93aW5nIHR5 cGUtcmVsYXRlZCBwcm9jZWR1cmVzIGFyZSBwcm92aWRlZCBieSB0aGUKICtA Y29kZXsoZ2RiKX0gbW9kdWxlLgogKwotK0BkZWZ1biB0eXBlPyBvYmplY3QK KytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHR5cGU/IG9iamVjdAogK1Jl dHVybiBAY29kZXsjdH0gaWYgQHZhcntvYmplY3R9IGlzIGFuIG9iamVjdCBv ZiB0eXBlIEBjb2RlezxnZGI6dHlwZT59LgotK0BlbmQgZGVmdW4KKytPdGhl cndpc2UgcmV0dXJuIEBjb2RleyNmfS4KKytAZW5kIGRlZmZuCiArCi0rQGRl ZnVuIGxvb2t1cC10eXBlIG5hbWUgQHJ7W30jOmJsb2NrIGJsb2NrQHJ7XX0K KytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGxvb2t1cC10eXBlIG5hbWUg QHJ7W30jOmJsb2NrIGJsb2NrQHJ7XX0KICtUaGlzIGZ1bmN0aW9uIGxvb2tz IHVwIGEgdHlwZSBieSBuYW1lLiAgQHZhcntuYW1lfSBpcyB0aGUgbmFtZSBv ZiB0aGUKICt0eXBlIHRvIGxvb2sgdXAuICBJdCBtdXN0IGJlIGEgc3RyaW5n LgogKwpAQCAtMTAzMiw0MSArMTE4Nyw0MSBAQCBpbmRleCAwMDAwMDAwLi4w YzA1MGQ0CiArCiArT3JkaW5hcmlseSwgdGhpcyBmdW5jdGlvbiB3aWxsIHJl dHVybiBhbiBpbnN0YW5jZSBvZiBAY29kZXs8Z2RiOnR5cGU+fS4KICtJZiB0 aGUgbmFtZWQgdHlwZSBjYW5ub3QgYmUgZm91bmQsIGl0IHdpbGwgdGhyb3cg YW4gZXhjZXB0aW9uLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0r QGRlZnVuIHR5cGUtY29kZSB0eXBlCisrQGRlZmZuIHtTY2hlbWUgUHJvY2Vk dXJlfSB0eXBlLWNvZGUgdHlwZQogK1JldHVybiB0aGUgdHlwZSBjb2RlIGZv ciB0aGlzIHR5cGUuICBUaGUgdHlwZSBjb2RlIHdpbGwgYmUgb25lIG9mIHRo ZQogK0Bjb2Rle1RZUEVfQ09ERV99IGNvbnN0YW50cyBkZWZpbmVkIGJlbG93 LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIHR5cGUt dGFnIHR5cGUKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHR5cGUtdGFn IHR5cGUKICtSZXR1cm4gdGhlIHRhZyBuYW1lIGZvciB0aGlzIHR5cGUuICBU aGUgdGFnIG5hbWUgaXMgdGhlIG5hbWUgYWZ0ZXIKICtAY29kZXtzdHJ1Y3R9 LCBAY29kZXt1bmlvbn0sIG9yIEBjb2Rle2VudW19IGluIEMgYW5kIENAdHsr K307IG5vdCBhbGwKICtsYW5ndWFnZXMgaGF2ZSB0aGlzIGNvbmNlcHQuICBJ ZiB0aGlzIHR5cGUgaGFzIG5vIHRhZyBuYW1lLCB0aGVuCiArQGNvZGV7I2Z9 IGlzIHJldHVybmVkLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0r QGRlZnVuIHR5cGUtc2l6ZW9mIHR5cGUKKytAZGVmZm4ge1NjaGVtZSBQcm9j ZWR1cmV9IHR5cGUtc2l6ZW9mIHR5cGUKICtSZXR1cm4gdGhlIHNpemUgb2Yg dGhpcyB0eXBlLCBpbiB0YXJnZXQgQGNvZGV7Y2hhcn0gdW5pdHMuICBVc3Vh bGx5LCBhCiArdGFyZ2V0J3MgQGNvZGV7Y2hhcn0gdHlwZSB3aWxsIGJlIGFu IDgtYml0IGJ5dGUuICBIb3dldmVyLCBvbiBzb21lCiArdW51c3VhbCBwbGF0 Zm9ybXMsIHRoaXMgdHlwZSBtYXkgaGF2ZSBhIGRpZmZlcmVudCBzaXplLgot K0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIHR5cGUtc3Ry aXAtdHlwZWRlZnMgdHlwZQorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0g dHlwZS1zdHJpcC10eXBlZGVmcyB0eXBlCiArUmV0dXJuIGEgbmV3IEBjb2Rl ezxnZGI6dHlwZT59IHRoYXQgcmVwcmVzZW50cyB0aGUgcmVhbCB0eXBlIG9m IEB2YXJ7dHlwZX0sCiArYWZ0ZXIgcmVtb3ZpbmcgYWxsIGxheWVycyBvZiB0 eXBlZGVmcy4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1 biB0eXBlLWFycmF5IHR5cGUgQHZhcntuMX0gQHJ7W31AdmFye24yfUBye119 CisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSB0eXBlLWFycmF5IHR5cGUg bjEgQHJ7W31uMkBye119CiArUmV0dXJuIGEgbmV3IEBjb2RlezxnZGI6dHlw ZT59IG9iamVjdCB3aGljaCByZXByZXNlbnRzIGFuIGFycmF5IG9mIHRoaXMK ICt0eXBlLiAgSWYgb25lIGFyZ3VtZW50IGlzIGdpdmVuLCBpdCBpcyB0aGUg aW5jbHVzaXZlIHVwcGVyIGJvdW5kIG9mCiArdGhlIGFycmF5OyBpbiB0aGlz IGNhc2UgdGhlIGxvd2VyIGJvdW5kIGlzIHplcm8uICBJZiB0d28gYXJndW1l bnRzIGFyZQogK2dpdmVuLCB0aGUgZmlyc3QgYXJndW1lbnQgaXMgdGhlIGxv d2VyIGJvdW5kIG9mIHRoZSBhcnJheSwgYW5kIHRoZQogK3NlY29uZCBhcmd1 bWVudCBpcyB0aGUgdXBwZXIgYm91bmQgb2YgdGhlIGFycmF5LiAgQW4gYXJy YXkncyBsZW5ndGgKICttdXN0IG5vdCBiZSBuZWdhdGl2ZSwgYnV0IHRoZSBi b3VuZHMgY2FuIGJlLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0r QGRlZnVuIHR5cGUtdmVjdG9yIHR5cGUgQHZhcntuMX0gQHJ7W31AdmFye24y fUBye119CisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSB0eXBlLXZlY3Rv ciB0eXBlIG4xIEBye1t9bjJAcntdfQogK1JldHVybiBhIG5ldyBAY29kZXs8 Z2RiOnR5cGU+fSBvYmplY3Qgd2hpY2ggcmVwcmVzZW50cyBhIHZlY3RvciBv ZiB0aGlzCiArdHlwZS4gIElmIG9uZSBhcmd1bWVudCBpcyBnaXZlbiwgaXQg aXMgdGhlIGluY2x1c2l2ZSB1cHBlciBib3VuZCBvZgogK3RoZSB2ZWN0b3I7 IGluIHRoaXMgY2FzZSB0aGUgbG93ZXIgYm91bmQgaXMgemVyby4gIElmIHR3 byBhcmd1bWVudHMgYXJlCkBAIC0xMDc3LDI0ICsxMjMyLDI0IEBAIGluZGV4 IDAwMDAwMDAuLjBjMDUwZDQKICtUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGFu IEBjb2Rle2FycmF5fSBhbmQgYSBAY29kZXt2ZWN0b3J9IGlzIHRoYXQKICth cnJheXMgYmVoYXZlIGxpa2UgaW4gQzogd2hlbiB1c2VkIGluIGV4cHJlc3Np b25zIHRoZXkgZGVjYXkgdG8gYSBwb2ludGVyCiArdG8gdGhlIGZpcnN0IGVs ZW1lbnQgd2hlcmVhcyB2ZWN0b3JzIGFyZSB0cmVhdGVkIGFzIGZpcnN0IGNs YXNzIHZhbHVlcy4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0Bk ZWZ1biB0eXBlLXBvaW50ZXIgdHlwZQorK0BkZWZmbiB7U2NoZW1lIFByb2Nl ZHVyZX0gdHlwZS1wb2ludGVyIHR5cGUKICtSZXR1cm4gYSBuZXcgQGNvZGV7 PGdkYjp0eXBlPn0gb2JqZWN0IHdoaWNoIHJlcHJlc2VudHMgYSBwb2ludGVy IHRvCiArQHZhcnt0eXBlfS4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgog KwotK0BkZWZ1biB0eXBlLXJhbmdlIHR5cGUKKytAZGVmZm4ge1NjaGVtZSBQ cm9jZWR1cmV9IHR5cGUtcmFuZ2UgdHlwZQogK1JldHVybiBhIGxpc3Qgb2Yg dHdvIGVsZW1lbnRzOiB0aGUgbG93IGJvdW5kIGFuZCBoaWdoIGJvdW5kIG9m IEB2YXJ7dHlwZX0uCiArSWYgQHZhcnt0eXBlfSBkb2VzIG5vdCBoYXZlIGEg cmFuZ2UsIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCi0rQGVuZCBkZWZ1bgor K0BlbmQgZGVmZm4KICsKLStAZGVmdW4gdHlwZS1yZWZlcmVuY2UgdHlwZQor K0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gdHlwZS1yZWZlcmVuY2UgdHlw ZQogK1JldHVybiBhIG5ldyBAY29kZXs8Z2RiOnR5cGU+fSBvYmplY3Qgd2hp Y2ggcmVwcmVzZW50cyBhIHJlZmVyZW5jZSB0bwogK0B2YXJ7dHlwZX0uCi0r QGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gdHlwZS10YXJn ZXQgdHlwZQorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gdHlwZS10YXJn ZXQgdHlwZQogK1JldHVybiBhIG5ldyBAY29kZXs8Z2RiOnR5cGU+fSBvYmpl Y3Qgd2hpY2ggcmVwcmVzZW50cyB0aGUgdGFyZ2V0IHR5cGUKICtvZiBAdmFy e3R5cGV9LgogKwpAQCAtMTEwNywzMyArMTI2MiwzMyBAQCBpbmRleCAwMDAw MDAwLi4wYzA1MGQ0CiArCiArSWYgdGhlIHR5cGUgZG9lcyBub3QgaGF2ZSBh IHRhcmdldCwgdGhpcyBtZXRob2Qgd2lsbCB0aHJvdyBhbgogK2V4Y2VwdGlv bi4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biB0eXBl LWNvbnN0IHR5cGUKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHR5cGUt Y29uc3QgdHlwZQogK1JldHVybiBhIG5ldyBAY29kZXs8Z2RiOnR5cGU+fSBv YmplY3Qgd2hpY2ggcmVwcmVzZW50cyBhCiArQGNvZGV7Y29uc3R9LXF1YWxp ZmllZCB2YXJpYW50IG9mIEB2YXJ7dHlwZX0uCi0rQGVuZCBkZWZ1bgorK0Bl bmQgZGVmZm4KICsKLStAZGVmdW4gdHlwZS12b2xhdGlsZSB0eXBlCisrQGRl ZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSB0eXBlLXZvbGF0aWxlIHR5cGUKICtS ZXR1cm4gYSBuZXcgQGNvZGV7PGdkYjp0eXBlPn0gb2JqZWN0IHdoaWNoIHJl cHJlc2VudHMgYQogK0Bjb2Rle3ZvbGF0aWxlfS1xdWFsaWZpZWQgdmFyaWFu dCBvZiBAdmFye3R5cGV9LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiAr Ci0rQGRlZnVuIHR5cGUtdW5xdWFsaWZpZWQgdHlwZQorK0BkZWZmbiB7U2No ZW1lIFByb2NlZHVyZX0gdHlwZS11bnF1YWxpZmllZCB0eXBlCiArUmV0dXJu IGEgbmV3IEBjb2RlezxnZGI6dHlwZT59IG9iamVjdCB3aGljaCByZXByZXNl bnRzIGFuIHVucXVhbGlmaWVkCiArdmFyaWFudCBvZiBAdmFye3R5cGV9LiAg VGhhdCBpcywgdGhlIHJlc3VsdCBpcyBuZWl0aGVyIEBjb2Rle2NvbnN0fSBu b3IKICtAY29kZXt2b2xhdGlsZX0uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVm Zm4KICsKLStAZGVmdW4gdHlwZS1uYW1lIHR5cGUKKytAZGVmZm4ge1NjaGVt ZSBQcm9jZWR1cmV9IHR5cGUtbmFtZSB0eXBlCiArUmV0dXJuIHRoZSBuYW1l IG9mIEBjb2RlezxnZGI6dHlwZT59IEB2YXJ7dHlwZX0uCi0rQGVuZCBkZWZ1 bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gdHlwZS1udW0tZmllbGRzCisr QGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSB0eXBlLW51bS1maWVsZHMKICtS ZXR1cm4gdGhlIG51bWJlciBvZiBmaWVsZHMgb2YgQGNvZGV7PGdkYjp0eXBl Pn0gQHZhcnt0eXBlfS4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwot K0BkZWZ1biB0eXBlLWZpZWxkcyB0eXBlCisrQGRlZmZuIHtTY2hlbWUgUHJv Y2VkdXJlfSB0eXBlLWZpZWxkcyB0eXBlCiArUmV0dXJuIHRoZSBmaWVsZHMg b2YgQHZhcnt0eXBlfSBhcyBhIGxpc3QuCiArRm9yIHN0cnVjdHVyZSBhbmQg dW5pb24gdHlwZXMsIEBjb2Rle2ZpZWxkc30gaGFzIHRoZSB1c3VhbCBtZWFu aW5nLgogK1JhbmdlIHR5cGVzIGhhdmUgdHdvIGZpZWxkcywgdGhlIG1pbmlt dW0gYW5kIG1heGltdW0gdmFsdWVzLiAgRW51bSB0eXBlcwpAQCAtMTE0MSwx OCArMTI5NiwxOCBAQCBpbmRleCAwMDAwMDAwLi4wYzA1MGQ0CiArZmllbGQg cGVyIHBhcmFtZXRlci4gIFRoZSBiYXNlIHR5cGVzIG9mIENAdHsrK30gY2xh c3NlcyBhcmUgYWxzbwogK3JlcHJlc2VudGVkIGFzIGZpZWxkcy4gIElmIHRo ZSB0eXBlIGhhcyBubyBmaWVsZHMsIG9yIGRvZXMgbm90IGZpdAogK2ludG8g b25lIG9mIHRoZXNlIGNhdGVnb3JpZXMsIGFuIGVtcHR5IGxpc3Qgd2lsbCBi ZSByZXR1cm5lZC4KLStAeHJlZntGaWVsZHMgb2YgYSBUeXBlIGluIEd1aWxl fS4KLStAZW5kIGRlZnVuCisrQHhyZWZ7RmllbGRzIG9mIGEgdHlwZSBpbiBH dWlsZX0uCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBtYWtlLWZpZWxkLWl0 ZXJhdG9yIHR5cGUKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IG1ha2Ut ZmllbGQtaXRlcmF0b3IgdHlwZQogK1JldHVybiB0aGUgZmllbGRzIG9mIEB2 YXJ7dHlwZX0gYXMgYSA8Z2RiOml0ZXJhdG9yPiBvYmplY3QuCiArQHhyZWZ7 SXRlcmF0b3JzIEluIEd1aWxlfS4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZm bgogKwotK0BkZWZ1biB0eXBlLWZpZWxkIHR5cGUgZmllbGQtbmFtZQorK0Bk ZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gdHlwZS1maWVsZCB0eXBlIGZpZWxk LW5hbWUKICtSZXR1cm4gZmllbGQgbmFtZWQgQHZhcntmaWVsZC1uYW1lfSBp biBAdmFye3R5cGV9LgogK1RoZSByZXN1bHQgaXMgYW4gb2JqZWN0IG9mIHR5 cGUgQGNvZGV7PGdkYjpmaWVsZD59LgotK0B4cmVme0ZpZWxkcyBvZiBhIFR5 cGUgaW4gR3VpbGV9LgorK0B4cmVme0ZpZWxkcyBvZiBhIHR5cGUgaW4gR3Vp bGV9LgogK0lmIHRoZSB0eXBlIGRvZXMgbm90IGhhdmUgZmllbGRzLCBvciBA dmFye2ZpZWxkLW5hbWV9IGlzIG5vdCBhIGZpZWxkCiArb2YgQHZhcnt0eXBl fSwgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICsKQEAgLTExNjQsMTc0ICsx MzE5LDE1MyBAQCBpbmRleCAwMDAwMDAwLi4wYzA1MGQ0CiArQGVuZCBzbWFs bGV4YW1wbGUKICsKICtAY29kZXtiYXJ9IHdpbGwgYmUgYSBAY29kZXs8Z2Ri OmZpZWxkPn0gb2JqZWN0LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiAr Ci0rQGRlZnVuIHR5cGUtaGFzLWZpZWxkPyB0eXBlIG5hbWUKKytAZGVmZm4g e1NjaGVtZSBQcm9jZWR1cmV9IHR5cGUtaGFzLWZpZWxkPyB0eXBlIG5hbWUK ICtSZXR1cm4gQGNvZGV7I3R9IGlmIEBjb2RlezxnZGI6dHlwZT59IEB2YXJ7 dHlwZX0gaGFzIGZpZWxkIG5hbWVkIEB2YXJ7bmFtZX0uCi0rQGVuZCBkZWZ1 bgorK090aGVyd2lzZSByZXR1cm4gQGNvZGV7I2Z9LgorK0BlbmQgZGVmZm4K ICsKICtFYWNoIHR5cGUgaGFzIGEgY29kZSwgd2hpY2ggaW5kaWNhdGVzIHdo YXQgY2F0ZWdvcnkgdGhpcyB0eXBlIGZhbGxzCiAraW50by4gIFRoZSBhdmFp bGFibGUgdHlwZSBjYXRlZ29yaWVzIGFyZSByZXByZXNlbnRlZCBieSBjb25z dGFudHMKICtkZWZpbmVkIGluIHRoZSBAY29kZXsoZ2RiKX0gbW9kdWxlOgog KwotK0B0YWJsZSBAY29kZQotK0BmaW5kZXggVFlQRV9DT0RFX1BUUgorK0B2 dGFibGUgQGNvZGUKICtAaXRlbSBUWVBFX0NPREVfUFRSCiArVGhlIHR5cGUg aXMgYSBwb2ludGVyLgogKwotK0BmaW5kZXggVFlQRV9DT0RFX0FSUkFZCiAr QGl0ZW0gVFlQRV9DT0RFX0FSUkFZCiArVGhlIHR5cGUgaXMgYW4gYXJyYXku CiArCi0rQGZpbmRleCBUWVBFX0NPREVfU1RSVUNUCiArQGl0ZW0gVFlQRV9D T0RFX1NUUlVDVAogK1RoZSB0eXBlIGlzIGEgc3RydWN0dXJlLgogKwotK0Bm aW5kZXggVFlQRV9DT0RFX1VOSU9OCiArQGl0ZW0gVFlQRV9DT0RFX1VOSU9O CiArVGhlIHR5cGUgaXMgYSB1bmlvbi4KICsKLStAZmluZGV4IFRZUEVfQ09E RV9FTlVNCiArQGl0ZW0gVFlQRV9DT0RFX0VOVU0KICtUaGUgdHlwZSBpcyBh biBlbnVtLgogKwotK0BmaW5kZXggVFlQRV9DT0RFX0ZMQUdTCiArQGl0ZW0g VFlQRV9DT0RFX0ZMQUdTCiArQSBiaXQgZmxhZ3MgdHlwZSwgdXNlZCBmb3Ig dGhpbmdzIHN1Y2ggYXMgc3RhdHVzIHJlZ2lzdGVycy4KICsKLStAZmluZGV4 IFRZUEVfQ09ERV9GVU5DCiArQGl0ZW0gVFlQRV9DT0RFX0ZVTkMKICtUaGUg dHlwZSBpcyBhIGZ1bmN0aW9uLgogKwotK0BmaW5kZXggVFlQRV9DT0RFX0lO VAogK0BpdGVtIFRZUEVfQ09ERV9JTlQKICtUaGUgdHlwZSBpcyBhbiBpbnRl Z2VyIHR5cGUuCiArCi0rQGZpbmRleCBUWVBFX0NPREVfRkxUCiArQGl0ZW0g VFlQRV9DT0RFX0ZMVAogK0EgZmxvYXRpbmcgcG9pbnQgdHlwZS4KICsKLStA ZmluZGV4IFRZUEVfQ09ERV9WT0lECiArQGl0ZW0gVFlQRV9DT0RFX1ZPSUQK ICtUaGUgc3BlY2lhbCB0eXBlIEBjb2Rle3ZvaWR9LgogKwotK0BmaW5kZXgg VFlQRV9DT0RFX1NFVAogK0BpdGVtIFRZUEVfQ09ERV9TRVQKICtBIFBhc2Nh bCBzZXQgdHlwZS4KICsKLStAZmluZGV4IFRZUEVfQ09ERV9SQU5HRQogK0Bp dGVtIFRZUEVfQ09ERV9SQU5HRQogK0EgcmFuZ2UgdHlwZSwgdGhhdCBpcywg YW4gaW50ZWdlciB0eXBlIHdpdGggYm91bmRzLgogKwotK0BmaW5kZXggVFlQ RV9DT0RFX1NUUklORwogK0BpdGVtIFRZUEVfQ09ERV9TVFJJTkcKICtBIHN0 cmluZyB0eXBlLiAgTm90ZSB0aGF0IHRoaXMgaXMgb25seSB1c2VkIGZvciBj ZXJ0YWluIGxhbmd1YWdlcyB3aXRoCiArbGFuZ3VhZ2UtZGVmaW5lZCBzdHJp bmcgdHlwZXM7IEMgc3RyaW5ncyBhcmUgbm90IHJlcHJlc2VudGVkIHRoaXMg d2F5LgogKwotK0BmaW5kZXggVFlQRV9DT0RFX0JJVFNUUklORwogK0BpdGVt IFRZUEVfQ09ERV9CSVRTVFJJTkcKICtBIHN0cmluZyBvZiBiaXRzLiAgSXQg aXMgZGVwcmVjYXRlZC4KICsKLStAZmluZGV4IFRZUEVfQ09ERV9FUlJPUgog K0BpdGVtIFRZUEVfQ09ERV9FUlJPUgogK0FuIHVua25vd24gb3IgZXJyb25l b3VzIHR5cGUuCiArCi0rQGZpbmRleCBUWVBFX0NPREVfTUVUSE9ECiArQGl0 ZW0gVFlQRV9DT0RFX01FVEhPRAogK0EgbWV0aG9kIHR5cGUsIGFzIGZvdW5k IGluIENAdHsrK30gb3IgSmF2YS4KICsKLStAZmluZGV4IFRZUEVfQ09ERV9N RVRIT0RQVFIKICtAaXRlbSBUWVBFX0NPREVfTUVUSE9EUFRSCiArQSBwb2lu dGVyLXRvLW1lbWJlci1mdW5jdGlvbi4KICsKLStAZmluZGV4IFRZUEVfQ09E RV9NRU1CRVJQVFIKICtAaXRlbSBUWVBFX0NPREVfTUVNQkVSUFRSCiArQSBw b2ludGVyLXRvLW1lbWJlci4KICsKLStAZmluZGV4IFRZUEVfQ09ERV9SRUYK ICtAaXRlbSBUWVBFX0NPREVfUkVGCiArQSByZWZlcmVuY2UgdHlwZS4KICsK LStAZmluZGV4IFRZUEVfQ09ERV9DSEFSCiArQGl0ZW0gVFlQRV9DT0RFX0NI QVIKICtBIGNoYXJhY3RlciB0eXBlLgogKwotK0BmaW5kZXggVFlQRV9DT0RF X0JPT0wKICtAaXRlbSBUWVBFX0NPREVfQk9PTAogK0EgYm9vbGVhbiB0eXBl LgogKwotK0BmaW5kZXggVFlQRV9DT0RFX0NPTVBMRVgKICtAaXRlbSBUWVBF X0NPREVfQ09NUExFWAogK0EgY29tcGxleCBmbG9hdCB0eXBlLgogKwotK0Bm aW5kZXggVFlQRV9DT0RFX1RZUEVERUYKICtAaXRlbSBUWVBFX0NPREVfVFlQ RURFRgogK0EgdHlwZWRlZiB0byBzb21lIG90aGVyIHR5cGUuCiArCi0rQGZp bmRleCBUWVBFX0NPREVfTkFNRVNQQUNFCiArQGl0ZW0gVFlQRV9DT0RFX05B TUVTUEFDRQogK0EgQ0B0eysrfSBuYW1lc3BhY2UuCiArCi0rQGZpbmRleCBU WVBFX0NPREVfREVDRkxPQVQKICtAaXRlbSBUWVBFX0NPREVfREVDRkxPQVQK ICtBIGRlY2ltYWwgZmxvYXRpbmcgcG9pbnQgdHlwZS4KICsKLStAZmluZGV4 IFRZUEVfQ09ERV9JTlRFUk5BTF9GVU5DVElPTgogK0BpdGVtIFRZUEVfQ09E RV9JTlRFUk5BTF9GVU5DVElPTgogK0EgZnVuY3Rpb24gaW50ZXJuYWwgdG8g QHZhbHVle0dEQk59LiAgVGhpcyBpcyB0aGUgdHlwZSB1c2VkIHRvIHJlcHJl c2VudAotK2NvbnZlbmllbmNlIGZ1bmN0aW9ucy4KLStAZW5kIHRhYmxlCisr Y29udmVuaWVuY2UgZnVuY3Rpb25zIChAcHhyZWZ7Q29udmVuaWVuY2UgRnVu c30pLgorK0BlbmQgdnRhYmxlCiArCiArRnVydGhlciBzdXBwb3J0IGZvciB0 eXBlcyBpcyBwcm92aWRlZCBpbiB0aGUgQGNvZGV7KGdkYiB0eXBlcyl9CiAr R3VpbGUgbW9kdWxlIChAcHhyZWZ7R3VpbGUgVHlwZXMgTW9kdWxlfSkuCiAr Ci0rQGFuY2hvcntGaWVsZHMgb2YgYSBUeXBlIGluIEd1aWxlfQorK0BhbmNo b3J7RmllbGRzIG9mIGEgdHlwZSBpbiBHdWlsZX0KICtFYWNoIGZpZWxkIGlz IHJlcHJlc2VudGVkIGFzIGFuIG9iamVjdCBvZiB0eXBlIEBjb2RlezxnZGI6 ZmllbGQ+fS4KICsKICtUaGUgZm9sbG93aW5nIGZpZWxkLXJlbGF0ZWQgcHJv Y2VkdXJlcyBhcmUgcHJvdmlkZWQgYnkgdGhlCiArQGNvZGV7KGdkYil9IG1v ZHVsZToKICsKLStAZGVmdW4gZmllbGQ/IG9iamVjdAorK0BkZWZmbiB7U2No ZW1lIFByb2NlZHVyZX0gZmllbGQ/IG9iamVjdAogK1JldHVybiBAY29kZXsj dH0gaWYgQHZhcntvYmplY3R9IGlzIGFuIG9iamVjdCBvZiB0eXBlIEBjb2Rl ezxnZGI6ZmllbGQ+fS4KLStAZW5kIGRlZnVuCisrT3RoZXJ3aXNlIHJldHVy biBAY29kZXsjZn0uCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBmaWVsZC1u YW1lIGZpZWxkCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBmaWVsZC1u YW1lIGZpZWxkCiArUmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBmaWVsZCwgb3Ig QGNvZGV7I2Z9IGZvciBhbm9ueW1vdXMgZmllbGRzLgotK0BlbmQgZGVmdW4K KytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIGZpZWxkLXR5cGUgZmllbGQKKytA ZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGZpZWxkLXR5cGUgZmllbGQKICtS ZXR1cm4gdGhlIHR5cGUgb2YgdGhlIGZpZWxkLiAgVGhpcyBpcyB1c3VhbGx5 IGFuIGluc3RhbmNlIG9mCiArQGNvZGV7PGdkYjp0eXBlPn0sIGJ1dCBpdCBj YW4gYmUgQGNvZGV7I2Z9IGluIHNvbWUgc2l0dWF0aW9ucy4KLStAZW5kIGRl ZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBmaWVsZC1lbnVtdmFsIGZp ZWxkCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBmaWVsZC1lbnVtdmFs IGZpZWxkCiArUmV0dXJuIHRoZSBlbnVtIHZhbHVlIHJlcHJlc2VudGVkIGJ5 IEBjb2RlezxnZGI6ZmllbGQ+fSBAdmFye2ZpZWxkfS4KLStAZW5kIGRlZnVu CisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBmaWVsZC1iaXRwb3MgZmllbGQK KytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGZpZWxkLWJpdHBvcyBmaWVs ZAogK1JldHVybiB0aGUgYml0IHBvc2l0aW9uIG9mIEBjb2RlezxnZGI6Zmll bGQ+fSBAdmFye2ZpZWxkfS4KICtUaGlzIGF0dHJpYnV0ZSBpcyBub3QgYXZh aWxhYmxlIGZvciBAY29kZXtzdGF0aWN9IGZpZWxkcyAoYXMgaW4KICtDQHR7 Kyt9IG9yIEphdmEpLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0r QGRlZnVuIGZpZWxkLWJpdHNpemUgZmllbGQKKytAZGVmZm4ge1NjaGVtZSBQ cm9jZWR1cmV9IGZpZWxkLWJpdHNpemUgZmllbGQKICtJZiB0aGUgZmllbGQg aXMgcGFja2VkLCBvciBpcyBhIGJpdGZpZWxkLCByZXR1cm4gdGhlIHNpemUg b2YKICtAY29kZXs8Z2RiOmZpZWxkPn0gQHZhcntmaWVsZH0gaW4gYml0cy4g IE90aGVyd2lzZSwgemVybyBpcyByZXR1cm5lZDsKICtpbiB3aGljaCBjYXNl IHRoZSBmaWVsZCdzIHNpemUgaXMgZ2l2ZW4gYnkgaXRzIHR5cGUuCi0rQGVu ZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gZmllbGQtYXJ0aWZp Y2lhbD8gZmllbGQKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGZpZWxk LWFydGlmaWNpYWw/IGZpZWxkCiArUmV0dXJuIEBjb2RleyN0fSBpZiB0aGUg ZmllbGQgaXMgYXJ0aWZpY2lhbCwgdXN1YWxseSBtZWFuaW5nIHRoYXQKICtp dCB3YXMgcHJvdmlkZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBub3QgdGhlIHVz ZXIuCi0rQGVuZCBkZWZ1bgorK090aGVyd2lzZSByZXR1cm4gQGNvZGV7I2Z9 LgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gZmllbGQtYmFzZS1jbGFzcz8g ZmllbGQKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGZpZWxkLWJhc2Ut Y2xhc3M/IGZpZWxkCiArUmV0dXJuIEBjb2RleyN0fSBpZiB0aGUgZmllbGQg cmVwcmVzZW50cyBhIGJhc2UgY2xhc3Mgb2YgYSBDQHR7Kyt9CiArc3RydWN0 dXJlLgotK0BlbmQgZGVmdW4KKytPdGhlcndpc2UgcmV0dXJuIEBjb2RleyNm fS4KKytAZW5kIGRlZmZuCiArCiArQG5vZGUgR3VpbGUgUHJldHR5IFByaW50 aW5nIEFQSQogK0BzdWJzdWJzZWN0aW9uIEd1aWxlIFByZXR0eSBQcmludGlu ZyBBUEkKKytAY2luZGV4IGd1aWxlIHByZXR0eSBwcmludGluZyBhcGkKICsK ICtBbiBleGFtcGxlIG91dHB1dCBpcyBwcm92aWRlZCAoQHB4cmVme1ByZXR0 eSBQcmludGluZ30pLgogKwpAQCAtMTM0MSw3ICsxNDc1LDcgQEAgaW5kZXgg MDAwMDAwMC4uMGMwNTBkNAogK1RoZSBmb2xsb3dpbmcgcHJldHR5LXByaW50 ZXItcmVsYXRlZCBwcm9jZWR1cmVzIGFyZSBwcm92aWRlZCBieSB0aGUKICtA Y29kZXsoZ2RiKX0gbW9kdWxlOgogKwotK0BkZWZ1biBtYWtlLXByZXR0eS1w cmludGVyIG5hbWUgbG9va3VwLWZ1bmN0aW9uCisrQGRlZmZuIHtTY2hlbWUg UHJvY2VkdXJlfSBtYWtlLXByZXR0eS1wcmludGVyIG5hbWUgbG9va3VwLWZ1 bmN0aW9uCiArUmV0dXJuIGEgQGNvZGV7PGdkYjpwcmV0dHktcHJpbnRlcj59 IG9iamVjdCBuYW1lZCBAdmFye25hbWV9LgogKwogK0B2YXJ7bG9va3VwLWZ1 bmN0aW9ufSBpcyBhIGZ1bmN0aW9uIG9mIG9uZSBwYXJhbWV0ZXI6IHRoZSB2 YWx1ZSB0bwpAQCAtMTM0OSwyMiArMTQ4MywyNCBAQCBpbmRleCAwMDAwMDAw Li4wYzA1MGQ0CiArQHZhcntsb29rdXAtZnVuY3Rpb259IHJldHVybnMgYW4g b2JqZWN0IG9mIHR5cGUKICs8Z2RiOnByZXR0eS1wcmludGVyLXdvcmtlcj4g dG8gcGVyZm9ybSB0aGUgYWN0dWFsIHByZXR0eS1wcmludGluZy4KICtPdGhl cndpc2UgQHZhcntsb29rdXAtZnVuY3Rpb259IHJldHVybnMgQGNvZGV7I2Z9 LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIHByZXR0 eS1wcmludGVyPyBvYmplY3QKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9 IHByZXR0eS1wcmludGVyPyBvYmplY3QKICtSZXR1cm4gQGNvZGV7I3R9IGlm IEB2YXJ7b2JqZWN0fSBpcyBhIEBjb2RlezxnZGI6cHJldHR5LXByaW50ZXI+ fSBvYmplY3QuCi0rQGVuZCBkZWZ1bgorK090aGVyd2lzZSByZXR1cm4gQGNv ZGV7I2Z9LgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gcHJldHR5LXByaW50 ZXItZW5hYmxlZD8gcHJldHR5LXByaW50ZXIKKytAZGVmZm4ge1NjaGVtZSBQ cm9jZWR1cmV9IHByZXR0eS1wcmludGVyLWVuYWJsZWQ/IHByZXR0eS1wcmlu dGVyCiArUmV0dXJuIEBjb2RleyN0fSBpZiBAdmFye3ByZXR0eS1wcmludGVy fSBpcyBlbmFibGVkLgotK0BlbmQgZGVmdW4KKytPdGhlcndpc2UgcmV0dXJu IEBjb2RleyNmfS4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIHNldC1wcmV0 dHktcHJpbnRlci1lbmFibGVkISBwcmV0dHktcHJpbnRlciBmbGFnCisrQGRl ZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBzZXQtcHJldHR5LXByaW50ZXItZW5h YmxlZCEgcHJldHR5LXByaW50ZXIgZmxhZwogK1NldCB0aGUgZW5hYmxlZCBm bGFnIG9mIEB2YXJ7cHJldHR5LXByaW50ZXJ9IHRvIEB2YXJ7ZmxhZ30uCiAr VGhlIHZhbHVlIHJldHVybmVkIGluIHVuc3BlY2lmaWVkLgotK0BlbmQgZGVm dW4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIG1ha2UtcHJldHR5LXByaW50 ZXItd29ya2VyIGRpc3BsYXktaGludCB0by1zdHJpbmcgY2hpbGRyZW4KKytA ZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IG1ha2UtcHJldHR5LXByaW50ZXIt d29ya2VyIGRpc3BsYXktaGludCB0by1zdHJpbmcgY2hpbGRyZW4KICtSZXR1 cm4gYW4gb2JqZWN0IG9mIHR5cGUgQGNvZGV7PGdkYjpwcmV0dHktcHJpbnRl ci13b3JrZXI+fS4KICsKICtUaGlzIGZ1bmN0aW9uIHRha2VzIHRocmVlIHBh cmFtZXRlcnM6CkBAIC0xNDQ1LDE5ICsxNTgxLDIwIEBAIGluZGV4IDAwMDAw MDAuLjBjMDUwZDQKICtJZiBAdmFye2NoaWxkcmVufSBpcyBAY29kZXsjZn0s IEB2YWx1ZXtHREJOfSB3aWxsIGFjdAogK2FzIHRob3VnaCB0aGUgdmFsdWUg aGFzIG5vIGNoaWxkcmVuLgogK0BlbmQgdGFibGUKLStAZW5kIGRlZnVuCisr QGVuZCBkZWZmbgogKwogK0B2YWx1ZXtHREJOfSBwcm92aWRlcyBhIGZ1bmN0 aW9uIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxvb2sgdXAgdGhlCiArZGVmYXVs dCBwcmV0dHktcHJpbnRlciBmb3IgYSBAY29kZXs8Z2RiOnZhbHVlPn06CiAr Ci0rQGRlZnVuIGRlZmF1bHQtdmlzdWFsaXplciB2YWx1ZQorK0BkZWZmbiB7 U2NoZW1lIFByb2NlZHVyZX0gZGVmYXVsdC12aXN1YWxpemVyIHZhbHVlCiAr VGhpcyBmdW5jdGlvbiB0YWtlcyBhIEBjb2RlezxnZGI6dmFsdWU+fSBvYmpl Y3QgYXMgYW4gYXJndW1lbnQuICBJZiBhCiArcHJldHR5LXByaW50ZXIgZm9y IHRoaXMgdmFsdWUgZXhpc3RzLCB0aGVuIGl0IGlzIHJldHVybmVkLiAgSWYg bm8gc3VjaAogK3ByaW50ZXIgZXhpc3RzLCB0aGVuIHRoaXMgcmV0dXJucyBA Y29kZXsjZn0uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKICtAbm9k ZSBTZWxlY3RpbmcgR3VpbGUgUHJldHR5LVByaW50ZXJzCiArQHN1YnN1YnNl Y3Rpb24gU2VsZWN0aW5nIEd1aWxlIFByZXR0eS1QcmludGVycworK0BjaW5k ZXggc2VsZWN0aW5nIGd1aWxlIHByZXR0eS1wcmludGVycwogKwogK1RoZSBH dWlsZSBsaXN0IEBjb2RleypwcmV0dHktcHJpbnRlcnMqfSBjb250YWlucyBh IHNldCBvZgogK0Bjb2RlezxnZGI6cHJldHR5LXByaW50ZXI+fSByZWdpc3Rl cmVkIG9iamVjdHMuCkBAIC0xNjc3LDQ0ICsxODE0LDQ1IEBAIGluZGV4IDAw MDAwMDAuLjBjMDUwZDQKICtUaGUgZm9sbG93aW5nIG9iamZpbGUtcmVsYXRl ZCBwcm9jZWR1cmVzIGFyZSBwcm92aWRlZCBieSB0aGUKICtAY29kZXsoZ2Ri KX0gbW9kdWxlOgogKwotK0BkZWZ1biBvYmpmaWxlPyBvYmplY3QKKytAZGVm Zm4ge1NjaGVtZSBQcm9jZWR1cmV9IG9iamZpbGU/IG9iamVjdAogK1JldHVy biBAY29kZXsjdH0gaWYgQHZhcntvYmplY3R9IGlzIGEgQGNvZGV7PGdkYjpv YmpmaWxlPn0gb2JqZWN0LgotK0BlbmQgZGVmdW4KKytPdGhlcndpc2UgcmV0 dXJuIEBjb2RleyNmfS4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIG9iamZp bGUtdmFsaWQ/IG9iamZpbGUKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9 IG9iamZpbGUtdmFsaWQ/IG9iamZpbGUKICtSZXR1cm4gQGNvZGV7I3R9IGlm IEB2YXJ7b2JqZmlsZX0gaXMgdmFsaWQsIEBjb2RleyNmfSBpZiBub3QuCiAr QSBAY29kZXs8Z2RiOm9iamZpbGU+fSBvYmplY3QgY2FuIGJlY29tZSBpbnZh bGlkCiAraWYgdGhlIG9iamVjdCBmaWxlIGl0IHJlZmVycyB0byBpcyBub3Qg bG9hZGVkIGluIEB2YWx1ZXtHREJOfSBhbnkKICtsb25nZXIuICBBbGwgb3Ro ZXIgQGNvZGV7PGdkYjpvYmpmaWxlPn0gcHJvY2VkdXJlcyB3aWxsIHRocm93 IGFuIGV4Y2VwdGlvbgogK2lmIGl0IGlzIGludmFsaWQgYXQgdGhlIHRpbWUg dGhlIHByb2NlZHVyZSBpcyBjYWxsZWQuCi0rQGVuZCBkZWZ1bgorK0BlbmQg ZGVmZm4KICsKLStAZGVmdW4gb2JqZmlsZS1maWxlbmFtZSBvYmpmaWxlCisr QGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBvYmpmaWxlLWZpbGVuYW1lIG9i amZpbGUKICtSZXR1cm4gdGhlIGZpbGUgbmFtZSBvZiBAdmFye29iamZpbGV9 IGFzIGEgc3RyaW5nLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0r QGRlZnVuIG9iamZpbGUtcHJldHR5LXByaW50ZXJzIG9iamZpbGUKKytAZGVm Zm4ge1NjaGVtZSBQcm9jZWR1cmV9IG9iamZpbGUtcHJldHR5LXByaW50ZXJz IG9iamZpbGUKICtSZXR1cm4gdGhlIGxpc3Qgb2YgcmVnaXN0ZXJlZCBAY29k ZXs8Z2RiOnByZXR0eS1wcmludGVyPn0gb2JqZWN0cyBmb3IKICtAdmFye29i amZpbGV9LiAgQHhyZWZ7R3VpbGUgUHJldHR5IFByaW50aW5nIEFQSX0sIGZv ciBtb3JlIGluZm9ybWF0aW9uLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZu CiArCi0rQGRlZnVuIHNldC1vYmpmaWxlLXByZXR0eS1wcmludGVycyEgb2Jq ZmlsZSBwcmludGVyLWxpc3QKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9 IHNldC1vYmpmaWxlLXByZXR0eS1wcmludGVycyEgb2JqZmlsZSBwcmludGVy LWxpc3QKICtTZXQgdGhlIGxpc3Qgb2YgcmVnaXN0ZXJlZCBAY29kZXs8Z2Ri OnByZXR0eS1wcmludGVyPn0gb2JqZWN0cyBmb3IKICtAdmFye29iamZpbGV9 IHRvIEB2YXJ7cHJpbnRlci1saXN0fS4KICtAdmFye3ByaW50ZXItbGlzdH0g bXVzdCBiZSBhIGxpc3Qgb2YgQGNvZGV7PGdkYjpwcmV0dHktcHJpbnRlcj59 IG9iamVjdHMuCiArQHhyZWZ7R3VpbGUgUHJldHR5IFByaW50aW5nIEFQSX0s IGZvciBtb3JlIGluZm9ybWF0aW9uLgotK0BlbmQgZGVmdW4KKytAZW5kIGRl ZmZuCiArCi0rQGRlZnVuIGN1cnJlbnQtb2JqZmlsZQorK0BkZWZmbiB7U2No ZW1lIFByb2NlZHVyZX0gY3VycmVudC1vYmpmaWxlCiArV2hlbiBhdXRvLWxv YWRpbmcgYSBHdWlsZSBzY3JpcHQgKEBweHJlZntHdWlsZSBBdXRvLWxvYWRp bmd9KSwgQHZhbHVle0dEQk59CiArc2V0cyB0aGUgYGBjdXJyZW50IG9iamZp bGUnJyB0byB0aGUgY29ycmVzcG9uZGluZyBvYmpmaWxlLiAgVGhpcwogK2Z1 bmN0aW9uIHJldHVybnMgdGhlIGN1cnJlbnQgb2JqZmlsZS4gIElmIHRoZXJl IGlzIG5vIGN1cnJlbnQgb2JqZmlsZSwKICt0aGlzIGZ1bmN0aW9uIHJldHVy bnMgQGNvZGV7I2Z9LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0r QGRlZnVuIG9iamZpbGVzCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBv YmpmaWxlcwogK1JldHVybiBhIGxpc3Qgb2YgYWxsIHRoZSBvYmpmaWxlcyBp biB0aGUgY3VycmVudCBwcm9ncmFtIHNwYWNlLgotK0BlbmQgZGVmdW4KKytA ZW5kIGRlZmZuCiArCiArQG5vZGUgRnJhbWVzIEluIEd1aWxlCiArQHN1YnN1 YnNlY3Rpb24gQWNjZXNzaW5nIGluZmVyaW9yIHN0YWNrIGZyYW1lcyBmcm9t IEd1aWxlLgpAQCAtMTczOCwyOCArMTg3NiwyOSBAQCBpbmRleCAwMDAwMDAw Li4wYzA1MGQ0CiArVGhlIGZvbGxvd2luZyBmcmFtZS1yZWxhdGVkIHByb2Nl ZHVyZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZQogK0Bjb2RleyhnZGIpfSBtb2R1 bGU6CiArCi0rQGRlZnVuIGZyYW1lPyBvYmplY3QKKytAZGVmZm4ge1NjaGVt ZSBQcm9jZWR1cmV9IGZyYW1lPyBvYmplY3QKICtSZXR1cm4gQGNvZGV7I3R9 IGlmIEB2YXJ7b2JqZWN0fSBpcyBhIEBjb2RlezxnZGI6ZnJhbWU+fSBvYmpl Y3QuCi0rQGVuZCBkZWZ1bgorK090aGVyd2lzZSByZXR1cm4gQGNvZGV7I2Z9 LgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gZnJhbWUtdmFsaWQ/IGZyYW1l CisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBmcmFtZS12YWxpZD8gZnJh bWUKICtSZXR1cm5zIEBjb2RleyN0fSBpZiBAdmFye2ZyYW1lfSBpcyB2YWxp ZCwgQGNvZGV7I2Z9IGlmIG5vdC4KICtBIGZyYW1lIG9iamVjdCBjYW4gYmVj b21lIGludmFsaWQgaWYgdGhlIGZyYW1lIGl0IHJlZmVycyB0byBkb2Vzbid0 CiArZXhpc3QgYW55bW9yZSBpbiB0aGUgaW5mZXJpb3IuICBBbGwgQGNvZGV7 PGdkYjpmcmFtZT59IHByb2NlZHVyZXMgd2lsbCB0aHJvdwogK2FuIGV4Y2Vw dGlvbiBpZiB0aGUgZnJhbWUgaXMgaW52YWxpZCBhdCB0aGUgdGltZSB0aGUg cHJvY2VkdXJlIGlzIGNhbGxlZC4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZm bgogKwotK0BkZWZ1biBmcmFtZS1uYW1lIGZyYW1lCisrQGRlZmZuIHtTY2hl bWUgUHJvY2VkdXJlfSBmcmFtZS1uYW1lIGZyYW1lCiArUmV0dXJuIHRoZSBm dW5jdGlvbiBuYW1lIG9mIEB2YXJ7ZnJhbWV9LCBvciBAY29kZXsjZn0gaWYg aXQgY2FuJ3QgYmUKICtvYnRhaW5lZC4KLStAZW5kIGRlZnVuCisrQGVuZCBk ZWZmbgogKwotK0BkZWZ1biBmcmFtZS1hcmNoIGZyYW1lCisrQGRlZmZuIHtT Y2hlbWUgUHJvY2VkdXJlfSBmcmFtZS1hcmNoIGZyYW1lCiArUmV0dXJuIHRo ZSBAY29kZXs8Z2RiOmFyY2hpdGVjdHVyZT59IG9iamVjdCBjb3JyZXNwb25k aW5nIHRvIEB2YXJ7ZnJhbWV9J3MKICthcmNoaXRlY3R1cmUuICBAeHJlZntB cmNoaXRlY3R1cmVzIEluIEd1aWxlfS4KLStAZW5kIGRlZnVuCisrQGVuZCBk ZWZmbgogKwotK0BkZWZ1biBmcmFtZS10eXBlIGZyYW1lCisrQGRlZmZuIHtT Y2hlbWUgUHJvY2VkdXJlfSBmcmFtZS10eXBlIGZyYW1lCiArUmV0dXJuIHRo ZSB0eXBlIG9mIEB2YXJ7ZnJhbWV9LiAgVGhlIHZhbHVlIGNhbiBiZSBvbmUg b2Y6CiArCiArQHRhYmxlIEBjb2RlCkBAIC0xNzg4LDkgKzE5MjcsOSBAQCBp bmRleCAwMDAwMDAwLi4wYzA1MGQ0CiArVGhpcyBpcyBsaWtlIEBjb2Rle05P Uk1BTF9GUkFNRX0sIGJ1dCBpdCBpcyBvbmx5IHVzZWQgZm9yIHRoZQogK25l d2VzdCBmcmFtZS4KICtAZW5kIHRhYmxlCi0rQGVuZCBkZWZ1bgorK0BlbmQg ZGVmZm4KICsKLStAZGVmdW4gZnJhbWUtdW53aW5kLXN0b3AtcmVhc29uIGZy YW1lCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBmcmFtZS11bndpbmQt c3RvcC1yZWFzb24gZnJhbWUKICtSZXR1cm4gYW4gaW50ZWdlciByZXByZXNl bnRpbmcgdGhlIHJlYXNvbiB3aHkgaXQncyBub3QgcG9zc2libGUgdG8gZmlu ZAogK21vcmUgZnJhbWVzIHRvd2FyZCB0aGUgb3V0ZXJtb3N0IGZyYW1lLiAg VXNlCiArQGNvZGV7dW53aW5kLXN0b3AtcmVhc29uLXN0cmluZ30gdG8gY29u dmVydCB0aGUgdmFsdWUgcmV0dXJuZWQgYnkgdGhpcwpAQCAtMTg0MCw2MyAr MTk3OSw2MyBAQCBpbmRleCAwMDAwMDAwLi4wYzA1MGQ0CiArICAgIChmb3Jt YXQgI3QgIkFuIGVycm9yIG9jY3VyZWQ6IH5zXG4iIHJlYXNvbi1zdHIpKQog K0BlbmQgc21hbGxleGFtcGxlCiArQGVuZCB0YWJsZQotK0BlbmQgZGVmdW4K KytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIGZyYW1lLXBjIGZyYW1lCisrQGRl ZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBmcmFtZS1wYyBmcmFtZQogK1JldHVy biB0aGUgZnJhbWUncyByZXN1bWUgYWRkcmVzcy4KLStAZW5kIGRlZnVuCisr QGVuZCBkZWZmbgogKwotK0BkZWZ1biBmcmFtZS1ibG9jayBmcmFtZQorK0Bk ZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gZnJhbWUtYmxvY2sgZnJhbWUKICtS ZXR1cm4gdGhlIGZyYW1lJ3MgY29kZSBibG9jayBhcyBhIEBjb2RlezxnZGI6 YmxvY2s+fSBvYmplY3QuCiArQHhyZWZ7QmxvY2tzIEluIEd1aWxlfS4KLStA ZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBmcmFtZS1mdW5j dGlvbiBmcmFtZQorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gZnJhbWUt ZnVuY3Rpb24gZnJhbWUKICtSZXR1cm4gdGhlIHN5bWJvbCBmb3IgdGhlIGZ1 bmN0aW9uIGNvcnJlc3BvbmRpbmcgdG8gdGhpcyBmcmFtZQogK2FzIGEgQGNv ZGV7PGdkYjpzeW1ib2w+fSBvYmplY3QsIG9yIEBjb2RleyNmfSBpZiB0aGVy ZSBpc24ndCBvbmUuCiArQHhyZWZ7U3ltYm9scyBJbiBHdWlsZX0uCi0rQGVu ZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gZnJhbWUtb2xkZXIg ZnJhbWUKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGZyYW1lLW9sZGVy IGZyYW1lCiArUmV0dXJuIHRoZSBmcmFtZSB0aGF0IGNhbGxlZCBAdmFye2Zy YW1lfS4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBm cmFtZS1uZXdlciBmcmFtZQorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0g ZnJhbWUtbmV3ZXIgZnJhbWUKICtSZXR1cm4gdGhlIGZyYW1lIGNhbGxlZCBi eSBAdmFye2ZyYW1lfS4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwot K0BkZWZ1biBmcmFtZS1zYWwgZnJhbWUKKytAZGVmZm4ge1NjaGVtZSBQcm9j ZWR1cmV9IGZyYW1lLXNhbCBmcmFtZQogK1JldHVybiB0aGUgZnJhbWUncyBA Y29kZXs8Z2RiOnNhbD59IChzeW10YWIgYW5kIGxpbmUpIG9iamVjdC4KICtA eHJlZntTeW1ib2wgVGFibGVzIEluIEd1aWxlfS4KLStAZW5kIGRlZnVuCisr QGVuZCBkZWZmbgogKwotK0BkZWZ1biBmcmFtZS1yZWFkLXZhciB2YXJpYWJs ZSBAcntbfSM6YmxvY2sgYmxvY2tAcntdfQorK0BkZWZmbiB7U2NoZW1lIFBy b2NlZHVyZX0gZnJhbWUtcmVhZC12YXIgdmFyaWFibGUgQHJ7W30jOmJsb2Nr IGJsb2NrQHJ7XX0KICtSZXR1cm4gdGhlIHZhbHVlIG9mIEB2YXJ7dmFyaWFi bGV9IGluIHRoaXMgZnJhbWUuICBJZiB0aGUgb3B0aW9uYWwKICthcmd1bWVu dCBAdmFye2Jsb2NrfSBpcyBwcm92aWRlZCwgc2VhcmNoIGZvciB0aGUgdmFy aWFibGUgZnJvbSB0aGF0CiArYmxvY2s7IG90aGVyd2lzZSBzdGFydCBhdCB0 aGUgZnJhbWUncyBjdXJyZW50IGJsb2NrICh3aGljaCBpcwogK2RldGVybWlu ZWQgYnkgdGhlIGZyYW1lJ3MgY3VycmVudCBwcm9ncmFtIGNvdW50ZXIpLiAg QHZhcnt2YXJpYWJsZX0KICttdXN0IGJlIGEgc3RyaW5nIG9yIGEgQGNvZGV7 PGdkYjpzeW1ib2w+fSBvYmplY3QuICBAdmFye2Jsb2NrfSBtdXN0IGJlIGEK ICtAY29kZXs8Z2RiOmJsb2NrPn0gb2JqZWN0LgotK0BlbmQgZGVmdW4KKytA ZW5kIGRlZmZuCiArCi0rQGRlZnVuIGZyYW1lLXNlbGVjdCBmcmFtZQorK0Bk ZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gZnJhbWUtc2VsZWN0IGZyYW1lCiAr U2V0IEB2YXJ7ZnJhbWV9IHRvIGJlIHRoZSBzZWxlY3RlZCBmcmFtZS4gIEB4 cmVme1N0YWNrLCAsRXhhbWluaW5nIHRoZQogK1N0YWNrfS4KLStAZW5kIGRl ZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBzZWxlY3RlZC1mcmFtZQor K0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gc2VsZWN0ZWQtZnJhbWUKICtS ZXR1cm4gdGhlIHNlbGVjdGVkIGZyYW1lIG9iamVjdC4gIEB4cmVme1NlbGVj dGlvbiwsU2VsZWN0aW5nIGEgRnJhbWV9LgotK0BlbmQgZGVmdW4KKytAZW5k IGRlZmZuCiArCi0rQGRlZnVuIG5ld2VzdC1mcmFtZQorK0BkZWZmbiB7U2No ZW1lIFByb2NlZHVyZX0gbmV3ZXN0LWZyYW1lCiArUmV0dXJuIHRoZSBuZXdl c3QgZnJhbWUgb2JqZWN0IGZvciB0aGUgc2VsZWN0ZWQgdGhyZWFkLgotK0Bl bmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIHVud2luZC1zdG9w LXJlYXNvbi1zdHJpbmcgcmVhc29uCisrQGRlZmZuIHtTY2hlbWUgUHJvY2Vk dXJlfSB1bndpbmQtc3RvcC1yZWFzb24tc3RyaW5nIHJlYXNvbgogK1JldHVy biBhIHN0cmluZyBleHBsYWluaW5nIHRoZSByZWFzb24gd2h5IEB2YWx1ZXtH REJOfSBzdG9wcGVkIHVud2luZGluZwogK2ZyYW1lcywgYXMgZXhwcmVzc2Vk IGJ5IHRoZSBnaXZlbiBAdmFye3JlYXNvbn0gY29kZSAoYW4gaW50ZWdlciwg c2VlIHRoZQogK0Bjb2Rle2ZyYW1lLXVud2luZC1zdG9wLXJlYXNvbn0gcHJv Y2VkdXJlIGFib3ZlIGluIHRoaXMgc2VjdGlvbikuCi0rQGVuZCBkZWZ1bgor K0BlbmQgZGVmZm4KICsKICtAbm9kZSBCbG9ja3MgSW4gR3VpbGUKICtAc3Vi c3Vic2VjdGlvbiBBY2Nlc3NpbmcgYmxvY2tzIGZyb20gR3VpbGUuCkBAIC0x OTU4LDI4ICsyMDk3LDI5IEBAIGluZGV4IDAwMDAwMDAuLjBjMDUwZDQKICtU aGUgZm9sbG93aW5nIGJsb2NrLXJlbGF0ZWQgcHJvY2VkdXJlcyBhcmUgcHJv dmlkZWQgYnkgdGhlCiArQGNvZGV7KGdkYil9IG1vZHVsZToKICsKLStAZGVm dW4gYmxvY2s/IG9iamVjdAorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0g YmxvY2s/IG9iamVjdAogK1JldHVybiBAY29kZXsjdH0gaWYgQHZhcntvYmpl Y3R9IGlzIGEgQGNvZGV7PGdkYjpibG9jaz59IG9iamVjdC4KLStAZW5kIGRl ZnVuCisrT3RoZXJ3aXNlIHJldHVybiBAY29kZXsjZn0uCisrQGVuZCBkZWZm bgogKwotK0BkZWZ1biBibG9jay12YWxpZD8gYmxvY2sKKytAZGVmZm4ge1Nj aGVtZSBQcm9jZWR1cmV9IGJsb2NrLXZhbGlkPyBibG9jawogK1JldHVybnMg QGNvZGV7I3R9IGlmIEBjb2RlezxnZGI6YmxvY2s+fSBAdmFye2Jsb2NrfSBp cyB2YWxpZCwKICtAY29kZXsjZn0gaWYgbm90LiAgQSBibG9jayBvYmplY3Qg Y2FuIGJlY29tZSBpbnZhbGlkIGlmIHRoZSBibG9jayBpdAogK3JlZmVycyB0 byBkb2Vzbid0IGV4aXN0IGFueW1vcmUgaW4gdGhlIGluZmVyaW9yLiAgQWxs IG90aGVyCiArQGNvZGV7PGdkYjpibG9jaz59IG1ldGhvZHMgd2lsbCB0aHJv dyBhbiBleGNlcHRpb24gaWYgaXQgaXMgaW52YWxpZCBhdAogK3RoZSB0aW1l IHRoZSBwcm9jZWR1cmUgaXMgY2FsbGVkLiAgVGhlIGJsb2NrJ3MgdmFsaWRp dHkgaXMgYWxzbyBjaGVja2VkCiArZHVyaW5nIGl0ZXJhdGlvbiBvdmVyIHN5 bWJvbHMgb2YgdGhlIGJsb2NrLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZu CiArCi0rQGRlZnVuIGJsb2NrLXN0YXJ0IGJsb2NrCisrQGRlZmZuIHtTY2hl bWUgUHJvY2VkdXJlfSBibG9jay1zdGFydCBibG9jawogK1JldHVybiB0aGUg c3RhcnQgYWRkcmVzcyBvZiBAY29kZXs8Z2RiOmJsb2NrPn0gQHZhcntibG9j a30uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gYmxv Y2stZW5kIGJsb2NrCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBibG9j ay1lbmQgYmxvY2sKICtSZXR1cm4gdGhlIGVuZCBhZGRyZXNzIG9mIEBjb2Rl ezxnZGI6YmxvY2s+fSBAdmFye2Jsb2NrfS4KLStAZW5kIGRlZnVuCisrQGVu ZCBkZWZmbgogKwotK0BkZWZ1biBibG9jay1mdW5jdGlvbiBibG9jaworK0Bk ZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gYmxvY2stZnVuY3Rpb24gYmxvY2sK ICtSZXR1cm4gdGhlIG5hbWUgb2YgQGNvZGV7PGdkYjpibG9jaz59IEB2YXJ7 YmxvY2t9IHJlcHJlc2VudGVkIGFzIGEKICtAY29kZXs8Z2RiOnN5bWJvbD59 IG9iamVjdC4KICtJZiB0aGUgYmxvY2sgaXMgbm90IG5hbWVkLCB0aGVuIEBj b2RleyNmfSBpcyByZXR1cm5lZC4KQEAgLTE5ODgsNTQgKzIxMjgsNTYgQEAg aW5kZXggMDAwMDAwMC4uMGMwNTBkNAogK0hvd2V2ZXIsIHlvdSBzaG91bGQg bm90ZSB0aGF0IGl0IGlzIHBvc3NpYmxlIGZvciBhIGZ1bmN0aW9uIGJsb2Nr IHRvCiAraGF2ZSBhIHN1cGVyYmxvY2sgdGhhdCBpcyBub3QgdGhlIHN0YXRp YyBibG9jayAtLSBmb3IgaW5zdGFuY2UgdGhpcwogK2hhcHBlbnMgZm9yIGFu IGlubGluZWQgZnVuY3Rpb24uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4K ICsKLStAZGVmdW4gYmxvY2stc3VwZXJibG9jayBibG9jaworK0BkZWZmbiB7 U2NoZW1lIFByb2NlZHVyZX0gYmxvY2stc3VwZXJibG9jayBibG9jawogK1Jl dHVybiB0aGUgYmxvY2sgY29udGFpbmluZyBAY29kZXs8Z2RiOmJsb2NrPn0g QHZhcntibG9ja30uCiArSWYgdGhlIHBhcmVudCBibG9jayBkb2VzIG5vdCBl eGlzdCwgdGhlbiBAY29kZXsjZn0gaXMgcmV0dXJuZWQuCi0rQGVuZCBkZWZ1 bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gYmxvY2stZ2xvYmFsLWJsb2Nr IGJsb2NrCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBibG9jay1nbG9i YWwtYmxvY2sgYmxvY2sKICtSZXR1cm4gdGhlIGdsb2JhbCBibG9jayBhc3Nv Y2lhdGVkIHdpdGggQGNvZGV7PGdkYjpibG9jaz59IEB2YXJ7YmxvY2t9Lgot K0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIGJsb2NrLXN0 YXRpYy1ibG9jayBibG9jaworK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0g YmxvY2stc3RhdGljLWJsb2NrIGJsb2NrCiArUmV0dXJuIHRoZSBzdGF0aWMg YmxvY2sgYXNzb2NpYXRlZCB3aXRoIEBjb2RlezxnZGI6YmxvY2s+fSBAdmFy e2Jsb2NrfS4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1 biBibG9jay1nbG9iYWw/IGJsb2NrCisrQGRlZmZuIHtTY2hlbWUgUHJvY2Vk dXJlfSBibG9jay1nbG9iYWw/IGJsb2NrCiArUmV0dXJuIEBjb2RleyN0fSBp ZiBAY29kZXs8Z2RiOmJsb2NrPn0gQHZhcntibG9ja30gaXMgYSBnbG9iYWwg YmxvY2suCi0rQGVuZCBkZWZ1bgorK090aGVyd2lzZSByZXR1cm4gQGNvZGV7 I2Z9LgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gYmxvY2stc3RhdGljPyBi bG9jaworK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gYmxvY2stc3RhdGlj PyBibG9jawogK1JldHVybiBAY29kZXsjdH0gaWYgQGNvZGV7PGdkYjpibG9j az59IEB2YXJ7YmxvY2t9IGlzIGEgc3RhdGljIGJsb2NrLgotK0BlbmQgZGVm dW4KKytPdGhlcndpc2UgcmV0dXJuIEBjb2RleyNmfS4KKytAZW5kIGRlZmZu CiArCi0rQGRlZnVuIGJsb2NrLXN5bWJvbHMKKytAZGVmZm4ge1NjaGVtZSBQ cm9jZWR1cmV9IGJsb2NrLXN5bWJvbHMKICtSZXR1cm4gYSBsaXN0IG9mIGFs bCBzeW1ib2xzIChhcyA8Z2RiOnN5bWJvbD4gb2JqZWN0cykgaW4KICtAY29k ZXs8Z2RiOmJsb2NrPn0gQHZhcntibG9ja30uCi0rQGVuZCBkZWZ1bgorK0Bl bmQgZGVmZm4KICsKLStAZGVmdW4gbWFrZS1ibG9jay1zeW1ib2xzLWl0ZXJh dG9yIGJsb2NrCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBtYWtlLWJs b2NrLXN5bWJvbHMtaXRlcmF0b3IgYmxvY2sKICtSZXR1cm4gYW4gb2JqZWN0 IG9mIHR5cGUgQGNvZGV7PGdkYjppdGVyYXRvcj59IHRoYXQgd2lsbCBpdGVy YXRlCiArb3ZlciBhbGwgc3ltYm9scyBvZiB0aGUgYmxvY2suCiArR3VpbGUg cHJvZ3JhbXMgc2hvdWxkIG5vdCBhc3N1bWUgdGhhdCBhIHNwZWNpZmljIGJs b2NrIG9iamVjdCB3aWxsCiArYWx3YXlzIGNvbnRhaW4gYSBnaXZlbiBzeW1i b2wsIHNpbmNlIGNoYW5nZXMgaW4gQHZhbHVle0dEQk59IGZlYXR1cmVzIGFu ZAogK2luZnJhc3RydWN0dXJlIG1heSBjYXVzZSBzeW1ib2xzIG1vdmUgYWNy b3NzIGJsb2NrcyBpbiBhIHN5bWJvbCB0YWJsZS4KLStAZW5kIGRlZnVuCisr QHhyZWZ7SXRlcmF0b3JzIEluIEd1aWxlfS4KKytAZW5kIGRlZmZuCiArCi0r QGRlZnVuIGJsb2NrLXN5bWJvbHMtcHJvZ3Jlc3M/CisrQGRlZmZuIHtTY2hl bWUgUHJvY2VkdXJlfSBibG9jay1zeW1ib2xzLXByb2dyZXNzPwogK1JldHVy biAjdCBpZiB0aGUgb2JqZWN0IGlzIGEgPGdkYjpibG9jay1zeW1ib2xzLXBy b2dyZXNzPiBvYmplY3QuCiArVGhpcyBvYmplY3Qgd291bGQgYmUgb2J0YWlu ZWQgZnJvbSB0aGUgQGNvZGV7cHJvZ3Jlc3N9IGVsZW1lbnQgb2YgdGhlCiAr QGNvZGV7PGdkYjppdGVyYXRvcj59IG9iamVjdCByZXR1cm5lZCBieSBAY29k ZXttYWtlLWJsb2NrLXN5bWJvbHMtaXRlcmF0b3J9LgotK0B4cmVme0l0ZXJh dG9ycyBJbiBHdWlsZX0uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsK LStAZGVmdW4gbG9va3VwLWJsb2NrIHBjCisrQGRlZmZuIHtTY2hlbWUgUHJv Y2VkdXJlfSBsb29rdXAtYmxvY2sgcGMKICtSZXR1cm4gdGhlIGlubmVybW9z dCBAY29kZXs8Z2RiOmJsb2NrPn0gY29udGFpbmluZyB0aGUgZ2l2ZW4gQHZh cntwY30KICt2YWx1ZS4gIElmIHRoZSBibG9jayBjYW5ub3QgYmUgZm91bmQg Zm9yIHRoZSBAdmFye3BjfSB2YWx1ZSBzcGVjaWZpZWQsCiArdGhlIGZ1bmN0 aW9uIHdpbGwgcmV0dXJuIEBjb2RleyNmfS4KLStAZW5kIGRlZnVuCisrQGVu ZCBkZWZmbgogKwogK0Bub2RlIFN5bWJvbHMgSW4gR3VpbGUKICtAc3Vic3Vi c2VjdGlvbiBHdWlsZSByZXByZXNlbnRhdGlvbiBvZiBTeW1ib2xzLgpAQCAt MjA1MSw4NyArMjE5Myw5MiBAQCBpbmRleCAwMDAwMDAwLi4wYzA1MGQ0CiAr VGhlIGZvbGxvd2luZyBzeW1ib2wtcmVsYXRlZCBwcm9jZWR1cmVzIGFyZSBw cm92aWRlZCBieSB0aGUKICtAY29kZXsoZ2RiKX0gbW9kdWxlOgogKwotK0Bk ZWZ1biBzeW1ib2w/IG9iamVjdAorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVy ZX0gc3ltYm9sPyBvYmplY3QKICtSZXR1cm4gQGNvZGV7I3R9IGlmIEB2YXJ7 b2JqZWN0fSBpcyBhbiBvYmplY3Qgb2YgdHlwZSBAY29kZXs8Z2RiOnN5bWJv bD59LgotK0BlbmQgZGVmdW4KKytPdGhlcndpc2UgcmV0dXJuIEBjb2RleyNm fS4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIHN5bWJvbC12YWxpZD8gc3lt Ym9sCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBzeW1ib2wtdmFsaWQ/ IHN5bWJvbAogK1JldHVybiBAY29kZXsjdH0gaWYgdGhlIEBjb2RlezxnZGI6 c3ltYm9sPn0gb2JqZWN0IGlzIHZhbGlkLAogK0Bjb2RleyNmfSBpZiBub3Qu ICBBIEBjb2RlezxnZGI6c3ltYm9sPn0gb2JqZWN0IGNhbiBiZWNvbWUgaW52 YWxpZCBpZgogK3RoZSBzeW1ib2wgaXQgcmVmZXJzIHRvIGRvZXMgbm90IGV4 aXN0IGluIEB2YWx1ZXtHREJOfSBhbnkgbG9uZ2VyLgogK0FsbCBvdGhlciBA Y29kZXs8Z2RiOnN5bWJvbD59IHByb2NlZHVyZXMgd2lsbCB0aHJvdyBhbiBl eGNlcHRpb24gaWYgaXQgaXMKICtpbnZhbGlkIGF0IHRoZSB0aW1lIHRoZSBw cm9jZWR1cmUgaXMgY2FsbGVkLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZu CiArCi0rQGRlZnVuIHN5bWJvbC10eXBlIHN5bWJvbAorK0BkZWZmbiB7U2No ZW1lIFByb2NlZHVyZX0gc3ltYm9sLXR5cGUgc3ltYm9sCiArUmV0dXJuIHRo ZSB0eXBlIG9mIEB2YXJ7c3ltYm9sfSBvciBAY29kZXsjZn0gaWYgbm8gdHlw ZSBpcyByZWNvcmRlZC4KICtUaGUgcmVzdWx0IGlzIGFuIG9iamVjdCBvZiB0 eXBlIEBjb2RlezxnZGI6dHlwZT59LgogK0B4cmVme1R5cGVzIEluIEd1aWxl fS4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBzeW1i b2wtc3ltdGFiIHN5bWJvbAorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0g c3ltYm9sLXN5bXRhYiBzeW1ib2wKICtSZXR1cm4gdGhlIHN5bWJvbCB0YWJs ZSBpbiB3aGljaCBAdmFye3N5bWJvbH0gYXBwZWFycy4KICtUaGUgcmVzdWx0 IGlzIGFuIG9iamVjdCBvZiB0eXBlIEBjb2RlezxnZGI6c3ltdGFiPn0uCiAr QHhyZWZ7U3ltYm9sIFRhYmxlcyBJbiBHdWlsZX0uCi0rQGVuZCBkZWZ1bgor K0BlbmQgZGVmZm4KICsKLStAZGVmdW4gc3ltYm9sLWxpbmUgc3ltYm9sCisr QGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBzeW1ib2wtbGluZSBzeW1ib2wK ICtSZXR1cm4gdGhlIGxpbmUgbnVtYmVyIGluIHRoZSBzb3VyY2UgY29kZSBh dCB3aGljaCBAdmFye3N5bWJvbH0gd2FzIGRlZmluZWQuCiArVGhpcyBpcyBh biBpbnRlZ2VyLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRl ZnVuIHN5bWJvbC1uYW1lIHN5bWJvbAorK0BkZWZmbiB7U2NoZW1lIFByb2Nl ZHVyZX0gc3ltYm9sLW5hbWUgc3ltYm9sCiArUmV0dXJuIHRoZSBuYW1lIG9m IEB2YXJ7c3ltYm9sfSBhcyBhIHN0cmluZy4KLStAZW5kIGRlZnVuCisrQGVu ZCBkZWZmbgogKwotK0BkZWZ1biBzeW1ib2wtbGlua2FnZS1uYW1lIHN5bWJv bAorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gc3ltYm9sLWxpbmthZ2Ut bmFtZSBzeW1ib2wKICtSZXR1cm4gdGhlIG5hbWUgb2YgQHZhcntzeW1ib2x9 LCBhcyB1c2VkIGJ5IHRoZSBsaW5rZXIgKGkuZS4sIG1heSBiZSBtYW5nbGVk KS4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBzeW1i b2wtcHJpbnQtbmFtZSBzeW1ib2wKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1 cmV9IHN5bWJvbC1wcmludC1uYW1lIHN5bWJvbAogK1JldHVybiB0aGUgbmFt ZSBvZiBAdmFye3N5bWJvbH0gaW4gYSBmb3JtIHN1aXRhYmxlIGZvciBvdXRw dXQuICBUaGlzIGlzIGVpdGhlcgogK0Bjb2Rle25hbWV9IG9yIEBjb2Rle2xp bmthZ2VfbmFtZX0sIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSB1c2VyCiAr YXNrZWQgQHZhbHVle0dEQk59IHRvIGRpc3BsYXkgZGVtYW5nbGVkIG9yIG1h bmdsZWQgbmFtZXMuCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStA ZGVmdW4gc3ltYm9sLWFkZHItY2xhc3Mgc3ltYm9sCisrQGRlZmZuIHtTY2hl bWUgUHJvY2VkdXJlfSBzeW1ib2wtYWRkci1jbGFzcyBzeW1ib2wKICtSZXR1 cm4gdGhlIGFkZHJlc3MgY2xhc3Mgb2YgdGhlIHN5bWJvbC4gIFRoaXMgY2xh c3NpZmllcyBob3cgdG8gZmluZCB0aGUgdmFsdWUKICtvZiBhIHN5bWJvbC4g IEVhY2ggYWRkcmVzcyBjbGFzcyBpcyBhIGNvbnN0YW50IGRlZmluZWQgaW4g dGhlCiArQGNvZGV7KGdkYil9IG1vZHVsZSBhbmQgZGVzY3JpYmVkIGxhdGVy IGluIHRoaXMgY2hhcHRlci4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgog KwotK0BkZWZ1biBzeW1ib2wtbmVlZHMtZnJhbWU/IHN5bWJvbAorK0BkZWZm biB7U2NoZW1lIFByb2NlZHVyZX0gc3ltYm9sLW5lZWRzLWZyYW1lPyBzeW1i b2wKICtSZXR1cm4gQGNvZGV7I3R9IGlmIGV2YWx1YXRpbmcgQHZhcntzeW1i b2x9J3MgdmFsdWUgcmVxdWlyZXMgYSBmcmFtZQogKyhAcHhyZWZ7RnJhbWVz IEluIEd1aWxlfSkgYW5kIEBjb2RleyNmfSBvdGhlcndpc2UuICBUeXBpY2Fs bHksCiArbG9jYWwgdmFyaWFibGVzIHdpbGwgcmVxdWlyZSBhIGZyYW1lLCBi dXQgb3RoZXIgc3ltYm9scyB3aWxsIG5vdC4KLStAZW5kIGRlZnVuCisrQGVu ZCBkZWZmbgogKwotK0BkZWZ1biBzeW1ib2wtYXJndW1lbnQ/IHN5bWJvbAor K0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gc3ltYm9sLWFyZ3VtZW50PyBz eW1ib2wKICtSZXR1cm4gQGNvZGV7I3R9IGlmIEB2YXJ7c3ltYm9sfSBpcyBh biBhcmd1bWVudCBvZiBhIGZ1bmN0aW9uLgotK0BlbmQgZGVmdW4KKytPdGhl cndpc2UgcmV0dXJuIEBjb2RleyNmfS4KKytAZW5kIGRlZmZuCiArCi0rQGRl ZnVuIHN5bWJvbC1jb25zdGFudD8gc3ltYm9sCisrQGRlZmZuIHtTY2hlbWUg UHJvY2VkdXJlfSBzeW1ib2wtY29uc3RhbnQ/IHN5bWJvbAogK1JldHVybiBA Y29kZXsjdH0gaWYgQHZhcntzeW1ib2x9IGlzIGEgY29uc3RhbnQuCi0rQGVu ZCBkZWZ1bgorK090aGVyd2lzZSByZXR1cm4gQGNvZGV7I2Z9LgorK0BlbmQg ZGVmZm4KICsKLStAZGVmdW4gc3ltYm9sLWZ1bmN0aW9uPyBzeW1ib2wKKytA ZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHN5bWJvbC1mdW5jdGlvbj8gc3lt Ym9sCiArUmV0dXJuIEBjb2RleyN0fSBpZiBAdmFye3N5bWJvbH0gaXMgYSBm dW5jdGlvbiBvciBhIG1ldGhvZC4KLStAZW5kIGRlZnVuCisrT3RoZXJ3aXNl IHJldHVybiBAY29kZXsjZn0uCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBz eW1ib2wtdmFyaWFibGU/IHN5bWJvbAorK0BkZWZmbiB7U2NoZW1lIFByb2Nl ZHVyZX0gc3ltYm9sLXZhcmlhYmxlPyBzeW1ib2wKICtSZXR1cm4gQGNvZGV7 I3R9IGlmIEB2YXJ7c3ltYm9sfSBpcyBhIHZhcmlhYmxlLgotK0BlbmQgZGVm dW4KKytPdGhlcndpc2UgcmV0dXJuIEBjb2RleyNmfS4KKytAZW5kIGRlZmZu CiArCi0rQGRlZnVuIHN5bWJvbC12YWx1ZSBzeW1ib2wgQHJ7W30jOmZyYW1l IGZyYW1lQHJ7XX0KKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHN5bWJv bC12YWx1ZSBzeW1ib2wgQHJ7W30jOmZyYW1lIGZyYW1lQHJ7XX0KICtDb21w dXRlIHRoZSB2YWx1ZSBvZiBAdmFye3N5bWJvbH0sIGFzIGEgQGNvZGV7PGdk Yjp2YWx1ZT59LiAgRm9yCiArZnVuY3Rpb25zLCB0aGlzIGNvbXB1dGVzIHRo ZSBhZGRyZXNzIG9mIHRoZSBmdW5jdGlvbiwgY2FzdCB0byB0aGUKICthcHBy b3ByaWF0ZSB0eXBlLiAgSWYgdGhlIHN5bWJvbCByZXF1aXJlcyBhIGZyYW1l IGluIG9yZGVyIHRvIGNvbXB1dGUKICtpdHMgdmFsdWUsIHRoZW4gQHZhcntm cmFtZX0gbXVzdCBiZSBnaXZlbi4gIElmIEB2YXJ7ZnJhbWV9IGlzIG5vdAog K2dpdmVuLCBvciBpZiBAdmFye2ZyYW1lfSBpcyBpbnZhbGlkLCB0aGVuIGFu IGV4Y2VwdGlvbiBpcyB0aHJvd24uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVm Zm4KICsKICtAYyBUT0RPOiBsaW5lIGxlbmd0aAotK0BkZWZ1biBsb29rdXAt c3ltYm9sIG5hbWUgQHJ7W30jOmJsb2NrIGJsb2NrQHJ7XX0gQHJ7W30jOmRv bWFpbiBkb21haW5AcntdfQorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0g bG9va3VwLXN5bWJvbCBuYW1lIEBye1t9IzpibG9jayBibG9ja0Bye119IEBy e1t9Izpkb21haW4gZG9tYWluQHJ7XX0KICtUaGlzIGZ1bmN0aW9uIHNlYXJj aGVzIGZvciBhIHN5bWJvbCBieSBuYW1lLiAgVGhlIHNlYXJjaCBzY29wZSBj YW4gYmUKICtyZXN0cmljdGVkIHRvIHRoZSBwYXJhbWV0ZXJzIGRlZmluZWQg aW4gdGhlIG9wdGlvbmFsIGRvbWFpbiBhbmQgYmxvY2sKICthcmd1bWVudHMu CkBAIC0yMTUyLDkgKzIyOTksOSBAQCBpbmRleCAwMDAwMDAwLi4wYzA1MGQ0 CiAraXMgYSBmaWVsZCBvZiBhIG1ldGhvZCdzIG9iamVjdCAoZS5nLiwgQGNv ZGV7dGhpc30gaW4gQ0B0eysrfSksCiArb3RoZXJ3aXNlIGl0IGlzIEBjb2Rl eyNmfS4KICtJZiB0aGUgc3ltYm9sIGlzIG5vdCBmb3VuZCwgdGhlIHNlY29u ZCBlbGVtZW50IGlzIEBjb2RleyNmfS4KLStAZW5kIGRlZnVuCisrQGVuZCBk ZWZmbgogKwotK0BkZWZ1biBsb29rdXAtZ2xvYmFsLXN5bWJvbCBuYW1lIEBy e1t9Izpkb21haW4gZG9tYWluQHJ7XX0KKytAZGVmZm4ge1NjaGVtZSBQcm9j ZWR1cmV9IGxvb2t1cC1nbG9iYWwtc3ltYm9sIG5hbWUgQHJ7W30jOmRvbWFp biBkb21haW5AcntdfQogK1RoaXMgZnVuY3Rpb24gc2VhcmNoZXMgZm9yIGEg Z2xvYmFsIHN5bWJvbCBieSBuYW1lLgogK1RoZSBzZWFyY2ggc2NvcGUgY2Fu IGJlIHJlc3RyaWN0ZWQgYnkgdGhlIGRvbWFpbiBhcmd1bWVudC4KICsKQEAg LTIxNjUsOTUgKzIzMTIsOTMgQEAgaW5kZXggMDAwMDAwMC4uMGMwNTBkNAog KwogK1RoZSByZXN1bHQgaXMgYSBAY29kZXs8Z2RiOnN5bWJvbD59IG9iamVj dCBvciBAY29kZXsjZn0gaWYgdGhlIHN5bWJvbAogK2lzIG5vdCBmb3VuZC4K LStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwogK1RoZSBhdmFpbGFibGUg ZG9tYWluIGNhdGVnb3JpZXMgaW4gQGNvZGV7PGdkYjpzeW1ib2w+fSBhcmUg cmVwcmVzZW50ZWQKICthcyBjb25zdGFudHMgaW4gdGhlIEBjb2RleyhnZGIp fSBtb2R1bGU6CiArCi0rQHRhYmxlIEBjb2RlCi0rQGZpbmRleCBTWU1CT0xf VU5ERUZfRE9NQUlOCisrQHZ0YWJsZSBAY29kZQogK0BpdGVtIFNZTUJPTF9V TkRFRl9ET01BSU4KICtUaGlzIGlzIHVzZWQgd2hlbiBhIGRvbWFpbiBoYXMg bm90IGJlZW4gZGlzY292ZXJlZCBvciBub25lIG9mIHRoZQogK2ZvbGxvd2lu ZyBkb21haW5zIGFwcGx5LiAgVGhpcyB1c3VhbGx5IGluZGljYXRlcyBhbiBl cnJvciBlaXRoZXIKICtpbiB0aGUgc3ltYm9sIGluZm9ybWF0aW9uIG9yIGlu IEB2YWx1ZXtHREJOfSdzIGhhbmRsaW5nIG9mIHN5bWJvbHMuCi0rQGZpbmRl eCBTWU1CT0xfVkFSX0RPTUFJTgorKwogK0BpdGVtIFNZTUJPTF9WQVJfRE9N QUlOCiArVGhpcyBkb21haW4gY29udGFpbnMgdmFyaWFibGVzLCBmdW5jdGlv biBuYW1lcywgdHlwZWRlZiBuYW1lcyBhbmQgZW51bQogK3R5cGUgdmFsdWVz LgotK0BmaW5kZXggU1lNQk9MX1NUUlVDVF9ET01BSU4KKysKICtAaXRlbSBT WU1CT0xfU1RSVUNUX0RPTUFJTgogK1RoaXMgZG9tYWluIGhvbGRzIHN0cnVj dCwgdW5pb24gYW5kIGVudW0gdHlwZSBuYW1lcy4KLStAZmluZGV4IFNZTUJP TF9MQUJFTF9ET01BSU4KKysKICtAaXRlbSBTWU1CT0xfTEFCRUxfRE9NQUlO CiArVGhpcyBkb21haW4gY29udGFpbnMgbmFtZXMgb2YgbGFiZWxzIChmb3Ig Z290b3MpLgotK0BmaW5kZXggU1lNQk9MX1ZBUklBQkxFU19ET01BSU4KKysK ICtAaXRlbSBTWU1CT0xfVkFSSUFCTEVTX0RPTUFJTgogK1RoaXMgZG9tYWlu IGhvbGRzIGEgc3Vic2V0IG9mIHRoZSBAY29kZXtTWU1CT0xTX1ZBUl9ET01B SU59OyBpdAogK2NvbnRhaW5zIGV2ZXJ5dGhpbmcgbWludXMgZnVuY3Rpb25z IGFuZCB0eXBlcy4KLStAZmluZGV4IFNZTUJPTF9GVU5DVElPTlNfRE9NQUlO CisrCiArQGl0ZW0gU1lNQk9MX0ZVTkNUSU9OX0RPTUFJTgogK1RoaXMgZG9t YWluIGNvbnRhaW5zIGFsbCBmdW5jdGlvbnMuCi0rQGZpbmRleCBTWU1CT0xf VFlQRVNfRE9NQUlOCisrCiArQGl0ZW0gU1lNQk9MX1RZUEVTX0RPTUFJTgog K1RoaXMgZG9tYWluIGNvbnRhaW5zIGFsbCB0eXBlcy4KLStAZW5kIHRhYmxl CisrQGVuZCB2dGFibGUKICsKICtUaGUgYXZhaWxhYmxlIGFkZHJlc3MgY2xh c3MgY2F0ZWdvcmllcyBpbiBAY29kZXs8Z2RiOnN5bWJvbD59IGFyZSByZXBy ZXNlbnRlZAogK2FzIGNvbnN0YW50cyBpbiB0aGUgQGNvZGV7Z2RifSBtb2R1 bGU6CiArCi0rQHRhYmxlIEBjb2RlCi0rQGZpbmRleCBTWU1CT0xfTE9DX1VO REVGCisrQHZ0YWJsZSBAY29kZQogK0BpdGVtIFNZTUJPTF9MT0NfVU5ERUYK ICtJZiB0aGlzIGlzIHJldHVybmVkIGJ5IGFkZHJlc3MgY2xhc3MsIGl0IGlu ZGljYXRlcyBhbiBlcnJvciBlaXRoZXIgaW4KICt0aGUgc3ltYm9sIGluZm9y bWF0aW9uIG9yIGluIEB2YWx1ZXtHREJOfSdzIGhhbmRsaW5nIG9mIHN5bWJv bHMuCi0rQGZpbmRleCBTWU1CT0xfTE9DX0NPTlNUCisrCiArQGl0ZW0gU1lN Qk9MX0xPQ19DT05TVAogK1ZhbHVlIGlzIGNvbnN0YW50IGludC4KLStAZmlu ZGV4IFNZTUJPTF9MT0NfU1RBVElDCisrCiArQGl0ZW0gU1lNQk9MX0xPQ19T VEFUSUMKICtWYWx1ZSBpcyBhdCBhIGZpeGVkIGFkZHJlc3MuCi0rQGZpbmRl eCBTWU1CT0xfTE9DX1JFR0lTVEVSCisrCiArQGl0ZW0gU1lNQk9MX0xPQ19S RUdJU1RFUgogK1ZhbHVlIGlzIGluIGEgcmVnaXN0ZXIuCi0rQGZpbmRleCBT WU1CT0xfTE9DX0FSRworKwogK0BpdGVtIFNZTUJPTF9MT0NfQVJHCiArVmFs dWUgaXMgYW4gYXJndW1lbnQuICBUaGlzIHZhbHVlIGlzIGF0IHRoZSBvZmZz ZXQgc3RvcmVkIHdpdGhpbiB0aGUKICtzeW1ib2wgaW5zaWRlIHRoZSBmcmFt ZSdzIGFyZ3VtZW50IGxpc3QuCi0rQGZpbmRleCBTWU1CT0xfTE9DX1JFRl9B UkcKKysKICtAaXRlbSBTWU1CT0xfTE9DX1JFRl9BUkcKICtWYWx1ZSBhZGRy ZXNzIGlzIHN0b3JlZCBpbiB0aGUgZnJhbWUncyBhcmd1bWVudCBsaXN0LiAg SnVzdCBsaWtlCiArQGNvZGV7TE9DX0FSR30gZXhjZXB0IHRoYXQgdGhlIHZh bHVlJ3MgYWRkcmVzcyBpcyBzdG9yZWQgYXQgdGhlCiArb2Zmc2V0LCBub3Qg dGhlIHZhbHVlIGl0c2VsZi4KLStAZmluZGV4IFNZTUJPTF9MT0NfUkVHUEFS TV9BRERSCisrCiArQGl0ZW0gU1lNQk9MX0xPQ19SRUdQQVJNX0FERFIKICtW YWx1ZSBpcyBhIHNwZWNpZmllZCByZWdpc3Rlci4gIEp1c3QgbGlrZSBAY29k ZXtMT0NfUkVHSVNURVJ9IGV4Y2VwdAogK3RoZSByZWdpc3RlciBob2xkcyB0 aGUgYWRkcmVzcyBvZiB0aGUgYXJndW1lbnQgaW5zdGVhZCBvZiB0aGUgYXJn dW1lbnQKICtpdHNlbGYuCi0rQGZpbmRleCBTWU1CT0xfTE9DX0xPQ0FMCisr CiArQGl0ZW0gU1lNQk9MX0xPQ19MT0NBTAogK1ZhbHVlIGlzIGEgbG9jYWwg dmFyaWFibGUuCi0rQGZpbmRleCBTWU1CT0xfTE9DX1RZUEVERUYKKysKICtA aXRlbSBTWU1CT0xfTE9DX1RZUEVERUYKICtWYWx1ZSBub3QgdXNlZC4gIFN5 bWJvbHMgaW4gdGhlIGRvbWFpbiBAY29kZXtTWU1CT0xfU1RSVUNUX0RPTUFJ Tn0gYWxsCiAraGF2ZSB0aGlzIGNsYXNzLgotK0BmaW5kZXggU1lNQk9MX0xP Q19CTE9DSworKwogK0BpdGVtIFNZTUJPTF9MT0NfQkxPQ0sKICtWYWx1ZSBp cyBhIGJsb2NrLgotK0BmaW5kZXggU1lNQk9MX0xPQ19DT05TVF9CWVRFUwor KwogK0BpdGVtIFNZTUJPTF9MT0NfQ09OU1RfQllURVMKICtWYWx1ZSBpcyBh IGJ5dGUtc2VxdWVuY2UuCi0rQGZpbmRleCBTWU1CT0xfTE9DX1VOUkVTT0xW RUQKKysKICtAaXRlbSBTWU1CT0xfTE9DX1VOUkVTT0xWRUQKICtWYWx1ZSBp cyBhdCBhIGZpeGVkIGFkZHJlc3MsIGJ1dCB0aGUgYWRkcmVzcyBvZiB0aGUg dmFyaWFibGUgaGFzIHRvIGJlCiArZGV0ZXJtaW5lZCBmcm9tIHRoZSBtaW5p bWFsIHN5bWJvbCB0YWJsZSB3aGVuZXZlciB0aGUgdmFyaWFibGUgaXMKICty ZWZlcmVuY2VkLgotK0BmaW5kZXggU1lNQk9MX0xPQ19PUFRJTUlaRURfT1VU CisrCiArQGl0ZW0gU1lNQk9MX0xPQ19PUFRJTUlaRURfT1VUCiArVGhlIHZh bHVlIGRvZXMgbm90IGFjdHVhbGx5IGV4aXN0IGluIHRoZSBwcm9ncmFtLgot K0BmaW5kZXggU1lNQk9MX0xPQ19DT01QVVRFRAorKwogK0BpdGVtIFNZTUJP TF9MT0NfQ09NUFVURUQKICtUaGUgdmFsdWUncyBhZGRyZXNzIGlzIGEgY29t cHV0ZWQgbG9jYXRpb24uCi0rQGVuZCB0YWJsZQorK0BlbmQgdnRhYmxlCiAr CiArQG5vZGUgU3ltYm9sIFRhYmxlcyBJbiBHdWlsZQogK0BzdWJzdWJzZWN0 aW9uIFN5bWJvbCB0YWJsZSByZXByZXNlbnRhdGlvbiBpbiBHdWlsZS4KQEAg LTIyNzQsNzcgKzI0MTksNzkgQEAgaW5kZXggMDAwMDAwMC4uMGMwNTBkNAog K1RoZSBmb2xsb3dpbmcgc3ltdGFiLXJlbGF0ZWQgcHJvY2VkdXJlcyBhcmUg cHJvdmlkZWQgYnkgdGhlCiArQGNvZGV7KGdkYil9IG1vZHVsZToKICsKLStA ZGVmdW4gc3ltdGFiPyBvYmplY3QKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1 cmV9IHN5bXRhYj8gb2JqZWN0CiArUmV0dXJuIEBjb2RleyN0fSBpZiBAdmFy e29iamVjdH0gaXMgYW4gb2JqZWN0IG9mIHR5cGUgQGNvZGV7PGdkYjpzeW10 YWI+fS4KLStAZW5kIGRlZnVuCisrT3RoZXJ3aXNlIHJldHVybiBAY29kZXsj Zn0uCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBzeW10YWItdmFsaWQ/IHN5 bXRhYgorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gc3ltdGFiLXZhbGlk PyBzeW10YWIKICtSZXR1cm4gQGNvZGV7I3R9IGlmIHRoZSBAY29kZXs8Z2Ri OnN5bXRhYj59IG9iamVjdCBpcyB2YWxpZCwKICtAY29kZXsjZn0gaWYgbm90 LiAgQSBAY29kZXs8Z2RiOnN5bXRhYj59IG9iamVjdCBiZWNvbWVzIGludmFs aWQgd2hlbgogK3RoZSBzeW1ib2wgdGFibGUgaXQgcmVmZXJzIHRvIG5vIGxv bmdlciBleGlzdHMgaW4gQHZhbHVle0dEQk59LgogK0FsbCBvdGhlciBAY29k ZXs8Z2RiOnN5bXRhYj59IHByb2NlZHVyZXMgd2lsbCB0aHJvdyBhbiBleGNl cHRpb24KICtpZiBpdCBpcyBpbnZhbGlkIGF0IHRoZSB0aW1lIHRoZSBwcm9j ZWR1cmUgaXMgY2FsbGVkLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiAr Ci0rQGRlZnVuIHN5bXRhYi1maWxlbmFtZSBzeW10YWIKKytAZGVmZm4ge1Nj aGVtZSBQcm9jZWR1cmV9IHN5bXRhYi1maWxlbmFtZSBzeW10YWIKICtSZXR1 cm4gdGhlIHN5bWJvbCB0YWJsZSdzIHNvdXJjZSBmaWxlbmFtZS4KLStAZW5k IGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBzeW10YWItZnVsbG5h bWUgc3ltdGFiCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBzeW10YWIt ZnVsbG5hbWUgc3ltdGFiCiArUmV0dXJuIHRoZSBzeW1ib2wgdGFibGUncyBz b3VyY2UgYWJzb2x1dGUgZmlsZSBuYW1lLgotK0BlbmQgZGVmdW4KKytAZW5k IGRlZmZuCiArCi0rQGRlZnVuIHN5bXRhYi1vYmpmaWxlIHN5bXRhYgorK0Bk ZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gc3ltdGFiLW9iamZpbGUgc3ltdGFi CiArUmV0dXJuIHRoZSBzeW1ib2wgdGFibGUncyBiYWNraW5nIG9iamVjdCBm aWxlLiAgQHhyZWZ7T2JqZmlsZXMgSW4gR3VpbGV9LgotK0BlbmQgZGVmdW4K KytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIHN5bXRhYi1nbG9iYWwtYmxvY2sg c3ltdGFiCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBzeW10YWItZ2xv YmFsLWJsb2NrIHN5bXRhYgogK1JldHVybiB0aGUgZ2xvYmFsIGJsb2NrIG9m IHRoZSB1bmRlcmx5aW5nIHN5bWJvbCB0YWJsZS4KICtAeHJlZntCbG9ja3Mg SW4gR3VpbGV9LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRl ZnVuIHN5bXRhYi1zdGF0aWMtYmxvY2sgc3ltdGFiCisrQGRlZmZuIHtTY2hl bWUgUHJvY2VkdXJlfSBzeW10YWItc3RhdGljLWJsb2NrIHN5bXRhYgogK1Jl dHVybiB0aGUgc3RhdGljIGJsb2NrIG9mIHRoZSB1bmRlcmx5aW5nIHN5bWJv bCB0YWJsZS4KICtAeHJlZntCbG9ja3MgSW4gR3VpbGV9LgotK0BlbmQgZGVm dW4KKytAZW5kIGRlZmZuCiArCiArVGhlIGZvbGxvd2luZyBzeW10YWItYW5k LWxpbmUtcmVsYXRlZCBwcm9jZWR1cmVzIGFyZSBwcm92aWRlZCBieSB0aGUK ICtAY29kZXsoZ2RiKX0gbW9kdWxlOgogKwotK0BkZWZ1biBzYWw/IG9iamVj dAorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gc2FsPyBvYmplY3QKICtS ZXR1cm4gQGNvZGV7I3R9IGlmIEB2YXJ7b2JqZWN0fSBpcyBhbiBvYmplY3Qg b2YgdHlwZSBAY29kZXs8Z2RiOnNhbD59LgotK0BlbmQgZGVmdW4KKytPdGhl cndpc2UgcmV0dXJuIEBjb2RleyNmfS4KKytAZW5kIGRlZmZuCiArCi0rQGRl ZnVuIHNhbC12YWxpZD8gc2FsCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJl fSBzYWwtdmFsaWQ/IHNhbAogK1JldHVybiBAY29kZXsjdH0gaWYgQHZhcntz YWx9IGlzIHZhbGlkLCBAY29kZXsjZn0gaWYgbm90LgogK0EgQGNvZGV7PGdk YjpzYWw+fSBvYmplY3QgYmVjb21lcyBpbnZhbGlkIHdoZW4gdGhlIFN5bWJv bCB0YWJsZSBvYmplY3QKICtpdCByZWZlcnMgdG8gbm8gbG9uZ2VyIGV4aXN0 cyBpbiBAdmFsdWV7R0RCTn0uICBBbGwgb3RoZXIKICtAY29kZXs8Z2RiOnNh bD59IHByb2NlZHVyZXMgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24gaWYgaXQg aXMKICtpbnZhbGlkIGF0IHRoZSB0aW1lIHRoZSBwcm9jZWR1cmUgaXMgY2Fs bGVkLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIHNh bC1zeW10YWIgc2FsCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBzYWwt c3ltdGFiIHNhbAogK1JldHVybiB0aGUgc3ltYm9sIHRhYmxlIG9iamVjdCAo QGNvZGV7PGdkYjpzeW10YWI+fSkgZm9yIEB2YXJ7c2FsfS4KLStAZW5kIGRl ZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBzYWwtbGluZSBzYWwKKytA ZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHNhbC1saW5lIHNhbAogK1JldHVy biB0aGUgbGluZSBudW1iZXIgZm9yIEB2YXJ7c2FsfS4KLStAZW5kIGRlZnVu CisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBzYWwtcGMgc2FsCisrQGRlZmZu IHtTY2hlbWUgUHJvY2VkdXJlfSBzYWwtcGMgc2FsCiArUmV0dXJuIHRoZSBz dGFydCBvZiB0aGUgYWRkcmVzcyByYW5nZSBvY2N1cGllZCBieSBjb2RlIGZv ciBAdmFye3NhbH0uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStA ZGVmdW4gc2FsLWxhc3Qgc2FsCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJl fSBzYWwtbGFzdCBzYWwKICtSZXR1cm4gdGhlIGVuZCBvZiB0aGUgYWRkcmVz cyByYW5nZSBvY2N1cGllZCBieSBjb2RlIGZvciBAdmFye3NhbH0uCi0rQGVu ZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gZmluZC1wYy1saW5l IHBjCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBmaW5kLXBjLWxpbmUg cGMKICtSZXR1cm4gdGhlIEBjb2RlezxnZGI6c2FsPn0gb2JqZWN0IGNvcnJl c3BvbmRpbmcgdG8gdGhlIEB2YXJ7cGN9IHZhbHVlLgogK0lmIGFuIGludmFs aWQgdmFsdWUgb2YgQHZhcntwY30gaXMgcGFzc2VkIGFzIGFuIGFyZ3VtZW50 LCB0aGVuIHRoZQogK0Bjb2Rle3N5bXRhYn0gYW5kIEBjb2Rle2xpbmV9IGF0 dHJpYnV0ZXMgb2YgdGhlIHJldHVybmVkIEBjb2RlezxnZGI6c2FsPn0KICtv YmplY3Qgd2lsbCBiZSBAY29kZXsjZn0gYW5kIDAgcmVzcGVjdGl2ZWx5Lgot K0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCiArQG5vZGUgQnJlYWtwb2lu dHMgSW4gR3VpbGUKICtAc3Vic3Vic2VjdGlvbiBNYW5pcHVsYXRpbmcgYnJl YWtwb2ludHMgdXNpbmcgR3VpbGUKQEAgLTIzNTksNyArMjUwNiw3IEBAIGlu ZGV4IDAwMDAwMDAuLjBjMDUwZDQKICtAY29kZXsoZ2RiKX0gbW9kdWxlOgog KwogK0BjIFRPRE86IGxpbmUgbGVuZ3RoCi0rQGRlZnVuIG1ha2UtYnJlYWtw b2ludCBsb2NhdGlvbiBAcntbfSM6dHlwZSB0eXBlQHJ7XX0gQHJ7W30jOndw LWNsYXNzIHdwLWNsYXNzQHJ7XX0gQHJ7W30jOmludGVybmFsIGludGVybmFs QHJ7XX0KKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGNyZWF0ZS1icmVh a3BvaW50ISBsb2NhdGlvbiBAcntbfSM6dHlwZSB0eXBlQHJ7XX0gQHJ7W30j OndwLWNsYXNzIHdwLWNsYXNzQHJ7XX0gQHJ7W30jOmludGVybmFsIGludGVy bmFsQHJ7XX0KICtDcmVhdGUgYSBuZXcgYnJlYWtwb2ludC4gIEB2YXJ7c3Bl Y30gaXMgYSBzdHJpbmcgbmFtaW5nIHRoZQogK2xvY2F0aW9uIG9mIHRoZSBi cmVha3BvaW50LCBvciBhbiBleHByZXNzaW9uIHRoYXQgZGVmaW5lcyBhIHdh dGNocG9pbnQuCiArVGhlIGNvbnRlbnRzIGNhbiBiZSBhbnkgbG9jYXRpb24g cmVjb2duaXplZCBieSB0aGUgQGNvZGV7YnJlYWt9IGNvbW1hbmQsCkBAIC0y MzkwLDE4MCArMjUzNywxNzMgQEAgaW5kZXggMDAwMDAwMC4uMGMwNTBkNAog K1RoZSBhdmFpbGFibGUgdHlwZXMgYXJlIHJlcHJlc2VudGVkIGJ5IGNvbnN0 YW50cyBkZWZpbmVkIGluIHRoZSBAY29kZXtnZGJ9CiArbW9kdWxlOgogKwot K0B0YWJsZSBAY29kZQotK0BmaW5kZXggQlBfQlJFQUtQT0lOVAorK0B2dGFi bGUgQGNvZGUKICtAaXRlbSBCUF9CUkVBS1BPSU5UCiArTm9ybWFsIGNvZGUg YnJlYWtwb2ludC4KICsKLStAZmluZGV4IEJQX1dBVENIUE9JTlQKICtAaXRl bSBCUF9XQVRDSFBPSU5UCiArV2F0Y2hwb2ludCBicmVha3BvaW50LgogKwot K0BmaW5kZXggQlBfSEFSRFdBUkVfV0FUQ0hQT0lOVAogK0BpdGVtIEJQX0hB UkRXQVJFX1dBVENIUE9JTlQKICtIYXJkd2FyZSBhc3Npc3RlZCB3YXRjaHBv aW50LgogK1RoaXMgdmFsdWUgY2Fubm90IGJlIHNwZWNpZmllZCB3aGVuIGNy ZWF0aW5nIHRoZSBicmVha3BvaW50LgogKwotK0BmaW5kZXggQlBfUkVBRF9X QVRDSFBPSU5UCiArQGl0ZW0gQlBfUkVBRF9XQVRDSFBPSU5UCiArSGFyZHdh cmUgYXNzaXN0ZWQgcmVhZCB3YXRjaHBvaW50LgogK1RoaXMgdmFsdWUgY2Fu bm90IGJlIHNwZWNpZmllZCB3aGVuIGNyZWF0aW5nIHRoZSBicmVha3BvaW50 LgogKwotK0BmaW5kZXggQlBfQUNDRVNTX1dBVENIUE9JTlQKICtAaXRlbSBC UF9BQ0NFU1NfV0FUQ0hQT0lOVAogK0hhcmR3YXJlIGFzc2lzdGVkIGFjY2Vz cyB3YXRjaHBvaW50LgogK1RoaXMgdmFsdWUgY2Fubm90IGJlIHNwZWNpZmll ZCB3aGVuIGNyZWF0aW5nIHRoZSBicmVha3BvaW50LgotK0BlbmQgdGFibGUK KytAZW5kIHZ0YWJsZQogKwogK1RoZSBhdmFpbGFibGUgd2F0Y2hwb2ludCB0 eXBlcyByZXByZXNlbnRlZCBieSBjb25zdGFudHMgYXJlIGRlZmluZWQgaW4g dGhlCiArQGNvZGV7KGdkYil9IG1vZHVsZToKICsKLStAdGFibGUgQGNvZGUK LStAZmluZGV4IFdQX1JFQUQKKytAdnRhYmxlIEBjb2RlCiArQGl0ZW0gV1Bf UkVBRAogK1JlYWQgb25seSB3YXRjaHBvaW50LgogKwotK0BmaW5kZXggV1Bf V1JJVEUKICtAaXRlbSBXUF9XUklURQogK1dyaXRlIG9ubHkgd2F0Y2hwb2lu dC4KICsKLStAZmluZGV4IFdQX0FDQ0VTUwogK0BpdGVtIFdQX0FDQ0VTUwog K1JlYWQvV3JpdGUgd2F0Y2hwb2ludC4KLStAZW5kIHRhYmxlCisrQGVuZCB2 dGFibGUKICsKLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1 biBicmVha3BvaW50LWRlbGV0ZSEgYnJlYWtwb2ludAorK0BkZWZmbiB7U2No ZW1lIFByb2NlZHVyZX0gYnJlYWtwb2ludC1kZWxldGUhIGJyZWFrcG9pbnQK ICtQZXJtYW5lbnRseSBkZWxldGUgQHZhcnticmVha3BvaW50fS4gIFRoaXMg YWxzbyBpbnZhbGlkYXRlcyB0aGUKICtHdWlsZSBAdmFye2JyZWFrcG9pbnR9 IG9iamVjdC4gIEFueSBmdXJ0aGVyIGF0dGVtcHQgdG8gYWNjZXNzIHRoZQog K29iamVjdCB3aWxsIHRocm93IGFuIGV4Y2VwdGlvbi4KLStAZW5kIGRlZnVu CisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBicmVha3BvaW50cworK0BkZWZm biB7U2NoZW1lIFByb2NlZHVyZX0gYnJlYWtwb2ludHMKICtSZXR1cm4gYSBs aXN0IG9mIGFsbCBicmVha3BvaW50cy4KICtFYWNoIGVsZW1lbnQgb2YgdGhl IGxpc3QgaXMgYSBAY29kZXs8Z2RiOmJyZWFrcG9pbnQ+fSBvYmplY3QuCi0r QGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gYnJlYWtwb2lu dD8gb2JqZWN0CisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBicmVha3Bv aW50PyBvYmplY3QKICtSZXR1cm4gQGNvZGV7I3R9IGlmIEB2YXJ7b2JqZWN0 fSBpcyBhIEBjb2RlezxnZGI6YnJlYWtwb2ludD59IG9iamVjdCwKICthbmQg QGNvZGV7I2Z9IG90aGVyd2lzZS4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZm bgogKwotK0BkZWZ1biBicmVha3BvaW50LXZhbGlkPyBicmVha3BvaW50Cisr QGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBicmVha3BvaW50LXZhbGlkPyBi cmVha3BvaW50CiArUmV0dXJuIEBjb2RleyN0fSBpZiBAdmFye2JyZWFrcG9p bnR9IGlzIHZhbGlkLCBAY29kZXsjZn0gb3RoZXJ3aXNlLgogK0EgQGNvZGV7 PGdkYjpicmVha3BvaW50Pn0gb2JqZWN0IGNhbiBiZWNvbWUgaW52YWxpZAog K2lmIHRoZSB1c2VyIGRlbGV0ZXMgdGhlIGJyZWFrcG9pbnQuICBJbiB0aGlz IGNhc2UsIHRoZSBvYmplY3Qgc3RpbGwKICtleGlzdHMsIGJ1dCB0aGUgdW5k ZXJseWluZyBicmVha3BvaW50IGRvZXMgbm90LiAgSW4gdGhlIGNhc2VzIG9m CiArd2F0Y2hwb2ludCBzY29wZSwgdGhlIHdhdGNocG9pbnQgcmVtYWlucyB2 YWxpZCBldmVuIGlmIGV4ZWN1dGlvbiBvZiB0aGUKICtpbmZlcmlvciBsZWF2 ZXMgdGhlIHNjb3BlIG9mIHRoYXQgd2F0Y2hwb2ludC4KLStAZW5kIGRlZnVu CisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBicmVha3BvaW50LW51bWJlciBi cmVha3BvaW50CisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBicmVha3Bv aW50LW51bWJlciBicmVha3BvaW50CiArUmV0dXJuIHRoZSBicmVha3BvaW50 J3MgbnVtYmVyIC0tLSB0aGUgaWRlbnRpZmllciB1c2VkIGJ5CiArdGhlIHVz ZXIgdG8gbWFuaXB1bGF0ZSB0aGUgYnJlYWtwb2ludC4KLStAZW5kIGRlZnVu CisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBicmVha3BvaW50LXR5cGUgYnJl YWtwb2ludAorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gYnJlYWtwb2lu dC10eXBlIGJyZWFrcG9pbnQKICtSZXR1cm4gdGhlIGJyZWFrcG9pbnQncyB0 eXBlIC0tLSB0aGUgaWRlbnRpZmllciB1c2VkIHRvCiArZGV0ZXJtaW5lIHRo ZSBhY3R1YWwgYnJlYWtwb2ludCB0eXBlIG9yIHVzZS1jYXNlLgotK0BlbmQg ZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIGJyZWFrcG9pbnQtdmlz aWJsZT8gYnJlYWtwb2ludAorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0g YnJlYWtwb2ludC12aXNpYmxlPyBicmVha3BvaW50CiArUmV0dXJuIEBjb2Rl eyN0fSBpZiB0aGUgYnJlYWtwb2ludCBpcyB2aXNpYmxlIHRvIHRoZSB1c2Vy CiArd2hlbiBoaXQsIG9yIHdoZW4gdGhlIEBzYW1we2luZm8gYnJlYWtwb2lu dHN9IGNvbW1hbmQgaXMgcnVuLgotK0BlbmQgZGVmdW4KKytPdGhlcndpc2Ug cmV0dXJuIEBjb2RleyNmfS4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIGJy ZWFrcG9pbnQtbG9jYXRpb24gYnJlYWtwb2ludAorK0BkZWZmbiB7U2NoZW1l IFByb2NlZHVyZX0gYnJlYWtwb2ludC1sb2NhdGlvbiBicmVha3BvaW50CiAr UmV0dXJuIHRoZSBsb2NhdGlvbiBvZiB0aGUgYnJlYWtwb2ludCwgYXMgc3Bl Y2lmaWVkIGJ5CiArdGhlIHVzZXIuICBJdCBpcyBhIHN0cmluZy4gIElmIHRo ZSBicmVha3BvaW50IGRvZXMgbm90IGhhdmUgYSBsb2NhdGlvbgogKyh0aGF0 IGlzLCBpdCBpcyBhIHdhdGNocG9pbnQpIHJldHVybiBAY29kZXsjZn0uCi0r QGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gYnJlYWtwb2lu dC1leHByZXNzaW9uIGJyZWFrcG9pbnQKKytAZGVmZm4ge1NjaGVtZSBQcm9j ZWR1cmV9IGJyZWFrcG9pbnQtZXhwcmVzc2lvbiBicmVha3BvaW50CiArUmV0 dXJuIHRoZSBicmVha3BvaW50IGV4cHJlc3Npb24sIGFzIHNwZWNpZmllZCBi eSB0aGUgdXNlci4gIEl0IGlzIGEgc3RyaW5nLgogK0lmIHRoZSBicmVha3Bv aW50IGRvZXMgbm90IGhhdmUgYW4gZXhwcmVzc2lvbiAodGhlIGJyZWFrcG9p bnQgaXMgbm90IGEKICt3YXRjaHBvaW50KSByZXR1cm4gQGNvZGV7I2Z9Lgot K0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIGJyZWFrcG9p bnQtZW5hYmxlZD8gYnJlYWtwb2ludAorK0BkZWZmbiB7U2NoZW1lIFByb2Nl ZHVyZX0gYnJlYWtwb2ludC1lbmFibGVkPyBicmVha3BvaW50CiArUmV0dXJu IEBjb2RleyN0fSBpZiB0aGUgYnJlYWtwb2ludCBpcyBlbmFibGVkLCBhbmQg QGNvZGV7I2Z9IG90aGVyd2lzZS4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZm bgogKwotK0BkZWZ1biBzZXQtYnJlYWtwb2ludC1lbmFibGVkISBicmVha3Bv aW50IGZsYWcKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHNldC1icmVh a3BvaW50LWVuYWJsZWQhIGJyZWFrcG9pbnQgZmxhZwogK1NldCB0aGUgZW5h YmxlZCBzdGF0ZSBvZiBAdmFye2JyZWFrcG9pbnR9IHRvIEB2YXJ7ZmxhZ30u CiArSWYgZmxhZyBpcyBAY29kZXsjZn0gaXQgaXMgZGlzYWJsZWQsIG90aGVy d2lzZSBpdCBpcyBlbmFibGVkLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZu CiArCi0rQGRlZnVuIGJyZWFrcG9pbnQtc2lsZW50PyBicmVha3BvaW50Cisr QGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBicmVha3BvaW50LXNpbGVudD8g YnJlYWtwb2ludAogK1JldHVybiBAY29kZXsjdH0gaWYgdGhlIGJyZWFrcG9p bnQgaXMgc2lsZW50LCBhbmQgQGNvZGV7I2Z9IG90aGVyd2lzZS4KICsKICtO b3RlIHRoYXQgYSBicmVha3BvaW50IGNhbiBhbHNvIGJlIHNpbGVudCBpZiBp dCBoYXMgY29tbWFuZHMgYW5kIHRoZQogK2ZpcnN0IGNvbW1hbmQgaXMgQGNv ZGV7c2lsZW50fS4gIFRoaXMgaXMgbm90IHJlcG9ydGVkIGJ5IHRoZQogK0Bj b2Rle3NpbGVudH0gYXR0cmlidXRlLgotK0BlbmQgZGVmdW4KKytAZW5kIGRl ZmZuCiArCi0rQGRlZnVuIHNldC1icmVha3BvaW50LXNpbGVudCEgYnJlYWtw b2ludCBmbGFnCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBzZXQtYnJl YWtwb2ludC1zaWxlbnQhIGJyZWFrcG9pbnQgZmxhZwogK1NldCB0aGUgc2ls ZW50IHN0YXRlIG9mIEB2YXJ7YnJlYWtwb2ludH0gdG8gQHZhcntmbGFnfS4K ICtJZiBmbGFnIGlzIEBjb2RleyNmfSB0aGUgYnJlYWtwb2ludCBpcyBtYWRl IHNpbGVudCwKICtvdGhlcndpc2UgaXQgaXMgbWFkZSBub24tc2lsZW50IChv ciBub2lzeSkuCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVm dW4gYnJlYWtwb2ludC1pZ25vcmUtY291bnQgYnJlYWtwb2ludAorK0BkZWZm biB7U2NoZW1lIFByb2NlZHVyZX0gYnJlYWtwb2ludC1pZ25vcmUtY291bnQg YnJlYWtwb2ludAogK1JldHVybiB0aGUgaWdub3JlIGNvdW50IGZvciBAdmFy e2JyZWFrcG9pbnR9LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0r QGRlZnVuIHNldC1icmVha3BvaW50LWlnbm9yZS1jb3VudCEgYnJlYWtwb2lu dCBjb3VudAorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gc2V0LWJyZWFr cG9pbnQtaWdub3JlLWNvdW50ISBicmVha3BvaW50IGNvdW50CiArU2V0IHRo ZSBpZ25vcmUgY291bnQgZm9yIEB2YXJ7YnJlYWtwb2ludH0gdG8gQHZhcntj b3VudH0uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4g YnJlYWtwb2ludC1oaXQtY291bnQgYnJlYWtwb2ludAorK0BkZWZmbiB7U2No ZW1lIFByb2NlZHVyZX0gYnJlYWtwb2ludC1oaXQtY291bnQgYnJlYWtwb2lu dAogK1JldHVybiBoaXQgY291bnQgb2YgQHZhcnticmVha3BvaW50fS4KLStA ZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBzZXQtYnJlYWtw b2ludC1oaXQtY291bnQhIGJyZWFrcG9pbnQgY291bnQKKytAZGVmZm4ge1Nj aGVtZSBQcm9jZWR1cmV9IHNldC1icmVha3BvaW50LWhpdC1jb3VudCEgYnJl YWtwb2ludCBjb3VudAogK1NldCB0aGUgaGl0IGNvdW50IG9mIEB2YXJ7YnJl YWtwb2ludH0gdG8gQHZhcntjb3VudH0uCiArQXQgcHJlc2VudCwgQHZhcntj b3VudH0gbXVzdCBiZSB6ZXJvLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZu CiArCi0rQGRlZnVuIGJyZWFrcG9pbnQtdGhyZWFkIGJyZWFrcG9pbnQKKytA ZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGJyZWFrcG9pbnQtdGhyZWFkIGJy ZWFrcG9pbnQKICtSZXR1cm4gdGhlIHRocmVhZC1pZCBmb3IgdGhyZWFkLXNw ZWNpZmljIGJyZWFrcG9pbnQgQHZhcnticmVha3BvaW50fS4KICtSZXR1cm4g I2YgaWYgQHZhcnticmVha3BvaW50fSBpcyBub3QgdGhyZWFkLXNwZWNpZmlj LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIHNldC1i cmVha3BvaW50LXRocmVhZCEgYnJlYWtwb2ludCB0aHJlYWQtaWR8I2YKKytA ZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IHNldC1icmVha3BvaW50LXRocmVh ZCEgYnJlYWtwb2ludCB0aHJlYWQtaWR8I2YKICtTZXQgdGhlIHRocmVhZC1p ZCBmb3IgQHZhcnticmVha3BvaW50fSB0byBAdmFye3RocmVhZC1pZH0uCiAr SWYgc2V0IHRvIEBjb2RleyNmfSwgdGhlIGJyZWFrcG9pbnQgaXMgbm8gbG9u Z2VyIHRocmVhZC1zcGVjaWZpYy4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZm bgogKwotK0BkZWZ1biBicmVha3BvaW50LXRhc2sgYnJlYWtwb2ludAorK0Bk ZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gYnJlYWtwb2ludC10YXNrIGJyZWFr cG9pbnQKICtJZiB0aGUgYnJlYWtwb2ludCBpcyBBZGEgdGFzay1zcGVjaWZp YywgcmV0dXJuIHRoZSBBZGEgdGFzayBpZC4KICtJZiB0aGUgYnJlYWtwb2lu dCBpcyBub3QgdGFzay1zcGVjaWZpYyAob3IgdGhlIHVuZGVybHlpbmcKICts YW5ndWFnZSBpcyBub3QgQWRhKSwgcmV0dXJuIEBjb2RleyNmfS4KLStAZW5k IGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBzZXQtYnJlYWtwb2lu dC10YXNrISBicmVha3BvaW50IHRhc2sKKytAZGVmZm4ge1NjaGVtZSBQcm9j ZWR1cmV9IHNldC1icmVha3BvaW50LXRhc2shIGJyZWFrcG9pbnQgdGFzawog K1NldCB0aGUgQWRhIHRhc2sgb2YgQHZhcnticmVha3BvaW50fSB0byBAdmFy e3Rhc2t9LgogK0lmIHNldCB0byBAY29kZXsjZn0sIHRoZSBicmVha3BvaW50 IGlzIG5vIGxvbmdlciB0YXNrLXNwZWNpZmljLgotK0BlbmQgZGVmdW4KKytA ZW5kIGRlZmZuCiArCi0rQGRlZnVuIGJyZWFrcG9pbnQtY29uZGl0aW9uIGJy ZWFrcG9pbnQKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGJyZWFrcG9p bnQtY29uZGl0aW9uIGJyZWFrcG9pbnQKICtSZXR1cm4gdGhlIGNvbmRpdGlv biBvZiBAdmFye2JyZWFrcG9pbnR9LCBhcyBzcGVjaWZpZWQgYnkgdGhlIHVz ZXIuCiArSXQgaXMgYSBzdHJpbmcuICBJZiB0aGVyZSBpcyBubyBjb25kaXRp b24sIHJldHVybiBAY29kZXsjZn0uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVm Zm4KICsKLStAZGVmdW4gc2V0LWJyZWFrcG9pbnQtY29uZGl0aW9uISBicmVh a3BvaW50IGNvbmRpdGlvbgorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0g c2V0LWJyZWFrcG9pbnQtY29uZGl0aW9uISBicmVha3BvaW50IGNvbmRpdGlv bgogK1NldCB0aGUgY29uZGl0aW9uIG9mIEB2YXJ7YnJlYWtwb2ludH0gdG8g QHZhcntjb25kaXRpb259LAogK3doaWNoIG11c3QgYmUgYSBzdHJpbmcuICBJ ZiBzZXQgdG8gQGNvZGV7I2Z9IHRoZW4gdGhlIGJyZWFrcG9pbnQKICtiZWNv bWVzIHVuY29uZGl0aW9uYWwuCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4K ICsKLStAZGVmdW4gYnJlYWtwb2ludC1zdG9wIGJyZWFrcG9pbnQKKytAZGVm Zm4ge1NjaGVtZSBQcm9jZWR1cmV9IGJyZWFrcG9pbnQtc3RvcCBicmVha3Bv aW50CiArUmV0dXJuIHRoZSBzdG9wIHByZWRpY2F0ZSBvZiBAdmFye2JyZWFr cG9pbnR9LgogK1NlZSBAY29kZXtzZXQtYnJlYWtwb2ludC1zdG9wIX0gYmVs b3cgaW4gdGhpcyBzZWN0aW9uLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZu CiArCi0rQGRlZnVuIHNldC1icmVha3BvaW50LXN0b3AhIGJyZWFrcG9pbnQg cHJvY2VkdXJlfCNmCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBzZXQt YnJlYWtwb2ludC1zdG9wISBicmVha3BvaW50IHByb2NlZHVyZXwjZgogK1Nl dCB0aGUgc3RvcCBwcmVkaWNhdGUgb2YgQHZhcnticmVha3BvaW50fS4KICtA dmFye3Byb2NlZHVyZX0gdGFrZXMgb25lIGFyZ3VtZW50OiB0aGUgPGdkYjpi cmVha3BvaW50PiBvYmplY3QuCiArSWYgdGhpcyBwcmVkaWNhdGUgaXMgc2V0 IHRvIGEgcHJvY2VkdXJlIHRoZW4gaXQgaXMgaW52b2tlZCB3aGVuZXZlcgpA QCAtMjU5MCwxNSArMjczMCwxNSBAQCBpbmRleCAwMDAwMDAwLi4wYzA1MGQ0 CiArKGRlZmluZSAobXktc3RvcD8gYmtwdCkKICsgIChsZXQgKChpbnQtdmFs IChwYXJzZS1hbmQtZXZhbCAiZm9vIikpKQogKyAgICAodmFsdWU9PyBpbnQt dmFsIDMpKSkKLSsoZGVmaW5lIGJrcHQgKG1ha2UtYnJlYWtwb2ludCAibWFp bi5jOjQyIikpCisrKGRlZmluZSBia3B0IChjcmVhdGUtYnJlYWtwb2ludCEg Im1haW4uYzo0MiIpKQogKyhzZXQtYnJlYWtwb2ludC1zdG9wISBia3B0IG15 LXN0b3A/KQogK0BlbmQgc21hbGxleGFtcGxlCi0rQGVuZCBkZWZ1bgorK0Bl bmQgZGVmZm4KICsKLStAZGVmdW4gYnJlYWtwb2ludC1jb21tYW5kcyBicmVh a3BvaW50CisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBicmVha3BvaW50 LWNvbW1hbmRzIGJyZWFrcG9pbnQKICtSZXR1cm4gdGhlIGNvbW1hbmRzIGF0 dGFjaGVkIHRvIEB2YXJ7YnJlYWtwb2ludH0gYXMgYSBzdHJpbmcsCiArb3Ig QGNvZGV7I2Z9IGlmIHRoZXJlIGFyZSBub25lLgotK0BlbmQgZGVmdW4KKytA ZW5kIGRlZmZuCiArCiArQG5vZGUgTGF6eSBTdHJpbmdzIEluIEd1aWxlCiAr QHN1YnN1YnNlY3Rpb24gR3VpbGUgcmVwcmVzZW50YXRpb24gb2YgbGF6eSBz dHJpbmdzLgpAQCAtMjYyMiw0MCArMjc2Miw0MSBAQCBpbmRleCAwMDAwMDAw Li4wYzA1MGQ0CiArVGhlIGZvbGxvd2luZyBsYXp5LXN0cmluZy1yZWxhdGVk IHByb2NlZHVyZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZQogK0Bjb2RleyhnZGIp fSBtb2R1bGU6CiArCi0rQGRlZnVuIGxhenktc3RyaW5nPyBvYmplY3QKKytA ZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGxhenktc3RyaW5nPyBvYmplY3QK ICtSZXR1cm4gQGNvZGV7I3R9IGlmIEB2YXJ7b2JqZWN0fSBpcyBhbiBvYmpl Y3Qgb2YgdHlwZSBAY29kZXs8Z2RiOmxhenktc3RyaW5nPn0uCi0rQGVuZCBk ZWZ1bgorK090aGVyd2lzZSByZXR1cm4gQGNvZGV7I2Z9LgorK0BlbmQgZGVm Zm4KICsKLStAZGVmdW4gbGF6eS1zdHJpbmctYWRkcmVzcyBsYXp5LXNyaW5n CisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBsYXp5LXN0cmluZy1hZGRy ZXNzIGxhenktc3JpbmcKICtSZXR1cm4gdGhlIGFkZHJlc3Mgb2YgQHZhcnts YXp5LXN0cmluZ30uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStA ZGVmdW4gbGF6eS1zdHJpbmctbGVuZ3RoIGxhenktc3RyaW5nCisrQGRlZmZu IHtTY2hlbWUgUHJvY2VkdXJlfSBsYXp5LXN0cmluZy1sZW5ndGggbGF6eS1z dHJpbmcKICtSZXR1cm4gdGhlIGxlbmd0aCBvZiBAdmFye2xhenktc3RyaW5n fSBpbiBjaGFyYWN0ZXJzLiAgSWYgdGhlCiArbGVuZ3RoIGlzIC0xLCB0aGVu IHRoZSBzdHJpbmcgd2lsbCBiZSBmZXRjaGVkIGFuZCBlbmNvZGVkIHVwIHRv IHRoZQogK2ZpcnN0IG51bGwgb2YgYXBwcm9wcmlhdGUgd2lkdGguCi0rQGVu ZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gbGF6eS1zdHJpbmct ZW5jb2RpbmcgbGF6eS1zdHJpbmcKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1 cmV9IGxhenktc3RyaW5nLWVuY29kaW5nIGxhenktc3RyaW5nCiArUmV0dXJu IHRoZSBlbmNvZGluZyB0aGF0IHdpbGwgYmUgYXBwbGllZCB0byBAdmFye2xh enktc3RyaW5nfQogK3doZW4gdGhlIHN0cmluZyBpcyBwcmludGVkIGJ5IEB2 YWx1ZXtHREJOfS4gIElmIHRoZSBlbmNvZGluZyBpcyBub3QKICtzZXQsIG9y IGNvbnRhaW5zIGFuIGVtcHR5IHN0cmluZywgIHRoZW4gQHZhbHVle0dEQk59 IHdpbGwgc2VsZWN0IHRoZQogK21vc3QgYXBwcm9wcmlhdGUgZW5jb2Rpbmcg d2hlbiB0aGUgc3RyaW5nIGlzIHByaW50ZWQuCi0rQGVuZCBkZWZ1bgorK0Bl bmQgZGVmZm4KICsKLStAZGVmdW4gbGF6eS1zdHJpbmctdHlwZSBsYXp5LXN0 cmluZworK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gbGF6eS1zdHJpbmct dHlwZSBsYXp5LXN0cmluZwogK1JldHVybiB0aGUgdHlwZSB0aGF0IGlzIHJl cHJlc2VudGVkIGJ5IEB2YXJ7bGF6eS1zdHJpbmd9J3MgdHlwZS4KICtGb3Ig YSBsYXp5IHN0cmluZyB0aGlzIHdpbGwgYWx3YXlzIGJlIGEgcG9pbnRlciB0 eXBlLiAgVG8KICtyZXNvbHZlIHRoaXMgdG8gdGhlIGxhenkgc3RyaW5nJ3Mg Y2hhcmFjdGVyIHR5cGUsIHVzZSBAY29kZXt0eXBlLXRhcmdldC10eXBlfS4K ICtAeHJlZntUeXBlcyBJbiBHdWlsZX0uCi0rQGVuZCBkZWZ1bgorK0BlbmQg ZGVmZm4KICsKLStAZGVmdW4gbGF6eS1zdHJpbmctPnZhbHVlIGxhenktc3Ry aW5nCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBsYXp5LXN0cmluZy0+ dmFsdWUgbGF6eS1zdHJpbmcKICtDb252ZXJ0IHRoZSBAY29kZXs8Z2RiOmxh enktc3RyaW5nPn0gdG8gYSBAY29kZXs8Z2RiOnZhbHVlPn0uICBUaGlzIHZh bHVlCiArd2lsbCBwb2ludCB0byB0aGUgc3RyaW5nIGluIG1lbW9yeSwgYnV0 IHdpbGwgbG9zZSBhbGwgdGhlIGRlbGF5ZWQKICtyZXRyaWV2YWwsIGVuY29k aW5nIGFuZCBoYW5kbGluZyB0aGF0IEB2YWx1ZXtHREJOfSBhcHBsaWVzIHRv IGEKICtAY29kZXs8Z2RiOmxhenktc3RyaW5nPn0uCi0rQGVuZCBkZWZ1bgor K0BlbmQgZGVmZm4KICsKICtAbm9kZSBBcmNoaXRlY3R1cmVzIEluIEd1aWxl CiArQHN1YnN1YnNlY3Rpb24gR3VpbGUgcmVwcmVzZW50YXRpb24gb2YgYXJj aGl0ZWN0dXJlcwpAQCAtMjY3MCwxNDggKzI4MTEsMTQ5IEBAIGluZGV4IDAw MDAwMDAuLjBjMDUwZDQKICtUaGUgZm9sbG93aW5nIGFyY2hpdGVjdHVyZS1y ZWxhdGVkIHByb2NlZHVyZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZQogK0Bjb2Rl eyhnZGIpfSBtb2R1bGU6CiArCi0rQGRlZnVuIGFyY2g/IG9iamVjdAorK0Bk ZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gYXJjaD8gb2JqZWN0CiArUmV0dXJu IEBjb2RleyN0fSBpZiBAdmFye29iamVjdH0gaXMgYW4gb2JqZWN0IG9mIHR5 cGUgQGNvZGV7PGdkYjphcmNoPn0uCi0rQGVuZCBkZWZ1bgorK090aGVyd2lz ZSByZXR1cm4gQGNvZGV7I2Z9LgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4g Y3VycmVudC1hcmNoCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBjdXJy ZW50LWFyY2gKICtSZXR1cm4gdGhlIGN1cnJlbnQgYXJjaGl0ZWN0dXJlIGFz IGEgQGNvZGV7PGdkYjphcmNoPn0gb2JqZWN0LgotK0BlbmQgZGVmdW4KKytA ZW5kIGRlZmZuCiArCi0rQGRlZnVuIGFyY2gtbmFtZSBhcmNoCisrQGRlZmZu IHtTY2hlbWUgUHJvY2VkdXJlfSBhcmNoLW5hbWUgYXJjaAogK1JldHVybiB0 aGUgbmFtZSAoc3RyaW5nIHZhbHVlKSBvZiBAY29kZXs8Z2RiOmFyY2g+fSBA dmFye2FyY2h9LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRl ZnVuIGFyY2gtY2hhcnNldCBhcmNoCisrQGRlZmZuIHtTY2hlbWUgUHJvY2Vk dXJlfSBhcmNoLWNoYXJzZXQgYXJjaAogK1JldHVybiBuYW1lIG9mIHRhcmdl dCBjaGFyYWN0ZXIgc2V0IG9mIEBjb2RlezxnZGI6YXJjaD59IEB2YXJ7YXJj aH0uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gYXJj aC13aWRlLWNoYXJzZXQKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGFy Y2gtd2lkZS1jaGFyc2V0CiArUmV0dXJuIG5hbWUgb2YgdGFyZ2V0IHdpZGUg Y2hhcmFjdGVyIHNldCBvZiBAY29kZXs8Z2RiOmFyY2g+fSBAdmFye2FyY2h9 LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCiArRWFjaCBhcmNoaXRl Y3R1cmUgcHJvdmlkZXMgYSBzZXQgb2YgcHJlZGVmaW5lZCB0eXBlcywgb2J0 YWluZWQgYnkKICt0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucy4KICsKLStAZGVm dW4gYXJjaC12b2lkLXR5cGUgYXJjaAorK0BkZWZmbiB7U2NoZW1lIFByb2Nl ZHVyZX0gYXJjaC12b2lkLXR5cGUgYXJjaAogK1JldHVybiB0aGUgQGNvZGV7 PGdkYjp0eXBlPn0gb2JqZWN0IGZvciBhIEBjb2Rle3ZvaWR9IHR5cGUKICtv ZiBhcmNoaXRlY3R1cmUgQHZhcnthcmNofS4KLStAZW5kIGRlZnVuCisrQGVu ZCBkZWZmbgogKwotK0BkZWZ1biBhcmNoLWNoYXItdHlwZSBhcmNoCisrQGRl ZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBhcmNoLWNoYXItdHlwZSBhcmNoCiAr UmV0dXJuIHRoZSBAY29kZXs8Z2RiOnR5cGU+fSBvYmplY3QgZm9yIGEgQGNv ZGV7Y2hhcn0gdHlwZQogK29mIGFyY2hpdGVjdHVyZSBAdmFye2FyY2h9Lgot K0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIGFyY2gtc2hv cnQtdHlwZSBhcmNoCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBhcmNo LXNob3J0LXR5cGUgYXJjaAogK1JldHVybiB0aGUgQGNvZGV7PGdkYjp0eXBl Pn0gb2JqZWN0IGZvciBhIEBjb2Rle3Nob3J0fSB0eXBlCiArb2YgYXJjaGl0 ZWN0dXJlIEB2YXJ7YXJjaH0uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4K ICsKLStAZGVmdW4gYXJjaC1pbnQtdHlwZSBhcmNoCisrQGRlZmZuIHtTY2hl bWUgUHJvY2VkdXJlfSBhcmNoLWludC10eXBlIGFyY2gKICtSZXR1cm4gdGhl IEBjb2RlezxnZGI6dHlwZT59IG9iamVjdCBmb3IgYW4gQGNvZGV7aW50fSB0 eXBlCiArb2YgYXJjaGl0ZWN0dXJlIEB2YXJ7YXJjaH0uCi0rQGVuZCBkZWZ1 bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gYXJjaC1sb25nLXR5cGUgYXJj aAorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gYXJjaC1sb25nLXR5cGUg YXJjaAogK1JldHVybiB0aGUgQGNvZGV7PGdkYjp0eXBlPn0gb2JqZWN0IGZv ciBhIEBjb2Rle2xvbmd9IHR5cGUKICtvZiBhcmNoaXRlY3R1cmUgQHZhcnth cmNofS4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBh cmNoLXNjaGFyLXR5cGUgYXJjaAorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVy ZX0gYXJjaC1zY2hhci10eXBlIGFyY2gKICtSZXR1cm4gdGhlIEBjb2Rlezxn ZGI6dHlwZT59IG9iamVjdCBmb3IgYSBAY29kZXtzaWduZWQgY2hhcn0gdHlw ZQogK29mIGFyY2hpdGVjdHVyZSBAdmFye2FyY2h9LgotK0BlbmQgZGVmdW4K KytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIGFyY2gtdWNoYXItdHlwZSBhcmNo CisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBhcmNoLXVjaGFyLXR5cGUg YXJjaAogK1JldHVybiB0aGUgQGNvZGV7PGdkYjp0eXBlPn0gb2JqZWN0IGZv ciBhbiBAY29kZXt1bnNpZ25lZCBjaGFyfSB0eXBlCiArb2YgYXJjaGl0ZWN0 dXJlIEB2YXJ7YXJjaH0uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsK LStAZGVmdW4gYXJjaC11c2hvcnQtdHlwZSBhcmNoCisrQGRlZmZuIHtTY2hl bWUgUHJvY2VkdXJlfSBhcmNoLXVzaG9ydC10eXBlIGFyY2gKICtSZXR1cm4g dGhlIEBjb2RlezxnZGI6dHlwZT59IG9iamVjdCBmb3IgYW4gQGNvZGV7dW5z aWduZWQgc2hvcnR9IHR5cGUKICtvZiBhcmNoaXRlY3R1cmUgQHZhcnthcmNo fS4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBhcmNo LXVpbnQtdHlwZSBhcmNoCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBh cmNoLXVpbnQtdHlwZSBhcmNoCiArUmV0dXJuIHRoZSBAY29kZXs8Z2RiOnR5 cGU+fSBvYmplY3QgZm9yIGFuIEBjb2Rle3Vuc2lnbmVkIGludH0gdHlwZQog K29mIGFyY2hpdGVjdHVyZSBAdmFye2FyY2h9LgotK0BlbmQgZGVmdW4KKytA ZW5kIGRlZmZuCiArCi0rQGRlZnVuIGFyY2gtdWxvbmctdHlwZSBhcmNoCisr QGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBhcmNoLXVsb25nLXR5cGUgYXJj aAogK1JldHVybiB0aGUgQGNvZGV7PGdkYjp0eXBlPn0gb2JqZWN0IGZvciBh biBAY29kZXt1bnNpZ25lZCBsb25nfSB0eXBlCiArb2YgYXJjaGl0ZWN0dXJl IEB2YXJ7YXJjaH0uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStA ZGVmdW4gYXJjaC1mbG9hdC10eXBlIGFyY2gKKytAZGVmZm4ge1NjaGVtZSBQ cm9jZWR1cmV9IGFyY2gtZmxvYXQtdHlwZSBhcmNoCiArUmV0dXJuIHRoZSBA Y29kZXs8Z2RiOnR5cGU+fSBvYmplY3QgZm9yIGEgQGNvZGV7ZmxvYXR9IHR5 cGUKICtvZiBhcmNoaXRlY3R1cmUgQHZhcnthcmNofS4KLStAZW5kIGRlZnVu CisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBhcmNoLWRvdWJsZS10eXBlIGFy Y2gKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGFyY2gtZG91YmxlLXR5 cGUgYXJjaAogK1JldHVybiB0aGUgQGNvZGV7PGdkYjp0eXBlPn0gb2JqZWN0 IGZvciBhIEBjb2Rle2RvdWJsZX0gdHlwZQogK29mIGFyY2hpdGVjdHVyZSBA dmFye2FyY2h9LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRl ZnVuIGFyY2gtbG9uZ2RvdWJsZS10eXBlIGFyY2gKKytAZGVmZm4ge1NjaGVt ZSBQcm9jZWR1cmV9IGFyY2gtbG9uZ2RvdWJsZS10eXBlIGFyY2gKICtSZXR1 cm4gdGhlIEBjb2RlezxnZGI6dHlwZT59IG9iamVjdCBmb3IgYSBAY29kZXts b25nIGRvdWJsZX0gdHlwZQogK29mIGFyY2hpdGVjdHVyZSBAdmFye2FyY2h9 LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIGFyY2gt Ym9vbC10eXBlIGFyY2gKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGFy Y2gtYm9vbC10eXBlIGFyY2gKICtSZXR1cm4gdGhlIEBjb2RlezxnZGI6dHlw ZT59IG9iamVjdCBmb3IgYSBAY29kZXtib29sfSB0eXBlCiArb2YgYXJjaGl0 ZWN0dXJlIEB2YXJ7YXJjaH0uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4K ICsKLStAZGVmdW4gYXJjaC1sb25nbG9uZy10eXBlIGFyY2gKKytAZGVmZm4g e1NjaGVtZSBQcm9jZWR1cmV9IGFyY2gtbG9uZ2xvbmctdHlwZSBhcmNoCiAr UmV0dXJuIHRoZSBAY29kZXs8Z2RiOnR5cGU+fSBvYmplY3QgZm9yIGEgQGNv ZGV7bG9uZyBsb25nfSB0eXBlCiArb2YgYXJjaGl0ZWN0dXJlIEB2YXJ7YXJj aH0uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gYXJj aC11bG9uZ2xvbmctdHlwZSBhcmNoCisrQGRlZmZuIHtTY2hlbWUgUHJvY2Vk dXJlfSBhcmNoLXVsb25nbG9uZy10eXBlIGFyY2gKICtSZXR1cm4gdGhlIEBj b2RlezxnZGI6dHlwZT59IG9iamVjdCBmb3IgYW4gQGNvZGV7dW5zaWduZWQg bG9uZyBsb25nfSB0eXBlCiArb2YgYXJjaGl0ZWN0dXJlIEB2YXJ7YXJjaH0u Ci0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gYXJjaC1p bnQ4LXR5cGUgYXJjaAorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gYXJj aC1pbnQ4LXR5cGUgYXJjaAogK1JldHVybiB0aGUgQGNvZGV7PGdkYjp0eXBl Pn0gb2JqZWN0IGZvciBhbiBAY29kZXtpbnQ4fSB0eXBlCiArb2YgYXJjaGl0 ZWN0dXJlIEB2YXJ7YXJjaH0uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4K ICsKLStAZGVmdW4gYXJjaC11aW50OC10eXBlIGFyY2gKKytAZGVmZm4ge1Nj aGVtZSBQcm9jZWR1cmV9IGFyY2gtdWludDgtdHlwZSBhcmNoCiArUmV0dXJu IHRoZSBAY29kZXs8Z2RiOnR5cGU+fSBvYmplY3QgZm9yIGEgQGNvZGV7dWlu dDh9IHR5cGUKICtvZiBhcmNoaXRlY3R1cmUgQHZhcnthcmNofS4KLStAZW5k IGRlZnVuCisrQGVuZCBkZWZmbgogKwotK0BkZWZ1biBhcmNoLWludDE2LXR5 cGUgYXJjaAorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gYXJjaC1pbnQx Ni10eXBlIGFyY2gKICtSZXR1cm4gdGhlIEBjb2RlezxnZGI6dHlwZT59IG9i amVjdCBmb3IgYW4gQGNvZGV7aW50MTZ9IHR5cGUKICtvZiBhcmNoaXRlY3R1 cmUgQHZhcnthcmNofS4KLStAZW5kIGRlZnVuCisrQGVuZCBkZWZmbgogKwot K0BkZWZ1biBhcmNoLXVpbnQxNi10eXBlIGFyY2gKKytAZGVmZm4ge1NjaGVt ZSBQcm9jZWR1cmV9IGFyY2gtdWludDE2LXR5cGUgYXJjaAogK1JldHVybiB0 aGUgQGNvZGV7PGdkYjp0eXBlPn0gb2JqZWN0IGZvciBhIEBjb2Rle3VpbnQx Nn0gdHlwZQogK29mIGFyY2hpdGVjdHVyZSBAdmFye2FyY2h9LgotK0BlbmQg ZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRlZnVuIGFyY2gtaW50MzItdHlw ZSBhcmNoCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBhcmNoLWludDMy LXR5cGUgYXJjaAogK1JldHVybiB0aGUgQGNvZGV7PGdkYjp0eXBlPn0gb2Jq ZWN0IGZvciBhbiBAY29kZXtpbnQzMn0gdHlwZQogK29mIGFyY2hpdGVjdHVy ZSBAdmFye2FyY2h9LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0r QGRlZnVuIGFyY2gtdWludDMyLXR5cGUgYXJjaAorK0BkZWZmbiB7U2NoZW1l IFByb2NlZHVyZX0gYXJjaC11aW50MzItdHlwZSBhcmNoCiArUmV0dXJuIHRo ZSBAY29kZXs8Z2RiOnR5cGU+fSBvYmplY3QgZm9yIGEgQGNvZGV7dWludDMy fSB0eXBlCiArb2YgYXJjaGl0ZWN0dXJlIEB2YXJ7YXJjaH0uCi0rQGVuZCBk ZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gYXJjaC1pbnQ2NC10eXBl IGFyY2gKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGFyY2gtaW50NjQt dHlwZSBhcmNoCiArUmV0dXJuIHRoZSBAY29kZXs8Z2RiOnR5cGU+fSBvYmpl Y3QgZm9yIGFuIEBjb2Rle2ludDY0fSB0eXBlCiArb2YgYXJjaGl0ZWN0dXJl IEB2YXJ7YXJjaH0uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStA ZGVmdW4gYXJjaC11aW50NjQtdHlwZSBhcmNoCisrQGRlZmZuIHtTY2hlbWUg UHJvY2VkdXJlfSBhcmNoLXVpbnQ2NC10eXBlIGFyY2gKICtSZXR1cm4gdGhl IEBjb2RlezxnZGI6dHlwZT59IG9iamVjdCBmb3IgYSBAY29kZXt1aW50NjR9 IHR5cGUKICtvZiBhcmNoaXRlY3R1cmUgQHZhcnthcmNofS4KLStAZW5kIGRl ZnVuCisrQGVuZCBkZWZmbgogKwogK0V4YW1wbGU6CiArCkBAIC0yODI4LDcg KzI5NzAsNyBAQCBpbmRleCAwMDAwMDAwLi4wYzA1MGQ0CiArYWxsb3dpbmcg b25lIHRvIGRpc2Fzc2VtYmxlIGZyb20gYW55IHNvdXJjZSwgYW5kIG5vdCBq dXN0IHRhcmdldCBtZW1vcnkuCiArCiArQGMgVE9ETzogbGluZSBsZW5ndGgK LStAZGVmdW4gYXJjaC1kaXNhc3NlbWJsZSBhcmNoIEB2YXJ7c3RhcnQtcGN9 IEBye1t9Izpwb3J0IHBvcnRAcntdfSBAcntbfSM6b2Zmc2V0IG9mZnNldEBy e119IEBye1t9IzpzaXplIEB2YXJ7c2l6ZX1AcntdfSBAcntbfSM6Y291bnQg QHZhcntjb3VudH1AcntdfSkKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9 IGFyY2gtZGlzYXNzZW1ibGUgYXJjaCBzdGFydC1wYyBAcntbfSM6cG9ydCBw b3J0QHJ7XX0gQHJ7W30jOm9mZnNldCBvZmZzZXRAcntdfSBAcntbfSM6c2l6 ZSBzaXplQHJ7XX0gQHJ7W30jOmNvdW50IGNvdW50QHJ7XX0pCiArUmV0dXJu IGEgbGlzdCBvZiBkaXNhc3NlbWJsZWQgaW5zdHJ1Y3Rpb25zIHN0YXJ0aW5n IGZyb20gdGhlIG1lbW9yeQogK2FkZHJlc3MgQHZhcntzdGFydC1wY30uCiAr CkBAIC0yODg5LDIyICszMDMxLDIyIEBAIGluZGV4IDAwMDAwMDAuLjBjMDUw ZDQKICtUaGUgdmFsdWUgY29ycmVzcG9uZGluZyB0byB0aGlzIGtleSBpcyB0 aGUgbGVuZ3RoIG9mIHRoZSBpbnN0cnVjdGlvbiBpbiBieXRlcy4KICsKICtA ZW5kIHRhYmxlCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKICtAbm9k ZSBJL08gUG9ydHMgaW4gR3VpbGUKICtAc3Vic3Vic2VjdGlvbiBJL08gUG9y dHMgaW4gR3VpbGUKICsKLStAZGVmdW4gaW5wdXQtcG9ydAorK0BkZWZmbiB7 U2NoZW1lIFByb2NlZHVyZX0gaW5wdXQtcG9ydAogK1JldHVybiBAdmFsdWV7 R0RCTn0ncyBpbnB1dCBwb3J0IGFzIGEgR3VpbGUgcG9ydCBvYmplY3QuCi0r QGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gb3V0cHV0LXBv cnQKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IG91dHB1dC1wb3J0CiAr UmV0dXJuIEB2YWx1ZXtHREJOfSdzIG91dHB1dCBwb3J0IGFzIGEgR3VpbGUg cG9ydCBvYmplY3QuCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStA ZGVmdW4gZXJyb3ItcG9ydAorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0g ZXJyb3ItcG9ydAogK1JldHVybiBAdmFsdWV7R0RCTn0ncyBlcnJvciBwb3J0 IGFzIGEgR3VpbGUgcG9ydCBvYmplY3QuCi0rQGVuZCBkZWZ1bgorK0BlbmQg ZGVmZm4KICsKICtAbm9kZSBNZW1vcnkgUG9ydHMgaW4gR3VpbGUKICtAc3Vi c3Vic2VjdGlvbiBNZW1vcnkgUG9ydHMgaW4gR3VpbGUKQEAgLTI5MTQsNyAr MzA1Niw3IEBAIGluZGV4IDAwMDAwMDAuLjBjMDUwZDQKICtieXRldmVjdG9y IGZ1bmN0aW9uYWxpdHkuICBUaGUgbWFpbiByb3V0aW5lIGlzIEBjb2Rle29w ZW4tbWVtb3J5fSB3aGljaAogK3JldHVybnMgYSBwb3J0IG9iamVjdC4gIE9u ZSBjYW4gdGhlbiByZWFkL3dyaXRlIG1lbW9yeSB1c2luZyB0aGF0IG9iamVj dC4KICsKLStAZGVmdW4gb3Blbi1tZW1vcnkgQHJ7W30jOm1vZGUgbW9kZXtd fSBAcntbfSM6c3RhcnQgYWRkcmVzc3tdfSBAcntbfSM6c2l6ZSBzaXple119 CisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBvcGVuLW1lbW9yeSBAcntb fSM6bW9kZSBtb2Rle119IEBye1t9IzpzdGFydCBhZGRyZXNze119IEBye1t9 IzpzaXplIHNpemV7XX0KICtSZXR1cm4gYSBwb3J0IG9iamVjdCB0aGF0IGNh biBiZSB1c2VkIGZvciByZWFkaW5nIGFuZCB3cml0aW5nIG1lbW9yeS4KICtA dmFye21vZGV9IGlzIHRoZSBzdGFuZGFyZCBtb2RlIGFyZ3VtZW50IHRvIEd1 aWxlIHBvcnQgb3BlbiByb3V0aW5lcywKICtleGNlcHQgdGhhdCBpdCBpcyBy ZXN0cmljdGVkIHRvIG9uZSBvZiBAc2FtcHsiciJ9LCBAc2FtcHsidyJ9LCBv ciBAc2FtcHsicisifS4KQEAgLTI5MjYsMzkgKzMwNjgsNDAgQEAgaW5kZXgg MDAwMDAwMC4uMGMwNTBkNAogK0lmIGJvdGggQHZhcntzdGFydH0gYW5kIEB2 YXJ7c2l6ZX0gYXJlIHVuc3BlY2lmaWVkLCBhbGwgb2YgbWVtb3J5IGNhbiBi ZQogK2FjY2Vzc2VkLiAgSWYgb25seSBAdmFye3N0YXJ0fSBpcyBzcGVjaWZp ZWQsIGFsbCBvZiBtZW1vcnkgZnJvbSB0aGF0IHBvaW50CiArb24gY2FuIGJl IGFjY2Vzc2VkLiAgSWYgb25seSBAdmFye3NpemV9IGlmIHNwZWNpZmllZCwg YWxsIG1lbW9yeSBpbiB0aGUKLStyYW5nZSBbMCxAdmFye3NpemV9IGNhbiBi ZSBhY2Nlc3NlZC4gIElmIGJvdGggYXJlIHNwZWNpZmllZCwgYWxsIG1lbW9y eQorK3JhbmdlIFswLEB2YXJ7c2l6ZX0pIGNhbiBiZSBhY2Nlc3NlZC4gIElm IGJvdGggYXJlIHNwZWNpZmllZCwgYWxsIG1lbW9yeQogK2luIHRoZSByYW5l IFtAdmFye3N0YXJ0fSxAdmFye3N0YXJ0fStAdmFye3NpemV9KSBjYW4gYmUg YWNjZXNzZWQuCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVm dW4gbWVtb3J5LXBvcnQ/CisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBt ZW1vcnktcG9ydD8KICtSZXR1cm4gQGNvZGV7I3R9IGlmIEB2YXJ7b2JqZWN0 fSBpcyBhbiBvYmplY3Qgb2YgdHlwZSBAY29kZXs8Z2RiOm1lbW9yeS1wb3J0 Pn0uCi0rQGVuZCBkZWZ1bgorK090aGVyd2lzZSByZXR1cm4gQGNvZGV7I2Z9 LgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gbWVtb3J5LXBvcnQtcmFuZ2Ug bWVtb3J5LXBvcnQKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IG1lbW9y eS1wb3J0LXJhbmdlIG1lbW9yeS1wb3J0CiArUmV0dXJuIHRoZSByYW5nZSBv ZiBAY29kZXs8Z2RiOm1lbW9yeS1wb3J0Pn0gQHZhcnttZW1vcnktcG9ydH0g YXMgYSBsaXN0CiArb2YgdHdvIGVsZW1lbnRzOiBAY29kZXsoc3RhcnQgZW5k KX0uICBUaGUgcmFuZ2UgaXMgQHZhcntzdGFydH0gdG8gQHZhcntlbmR9CiAr aW5jbHVzaXZlLgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rQGRl ZnVuIG1lbW9yeS1wb3J0LXJlYWQtYnVmZmVyLXNpemUgbWVtb3J5LXBvcnQK KytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IG1lbW9yeS1wb3J0LXJlYWQt YnVmZmVyLXNpemUgbWVtb3J5LXBvcnQKICtSZXR1cm4gdGhlIHNpemUgb2Yg dGhlIHJlYWQgYnVmZmVyIG9mIEBjb2RlezxnZGI6bWVtb3J5LXBvcnQ+fQog K0B2YXJ7bWVtb3J5LXBvcnR9LgotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZu CiArCi0rQGRlZnVuIHNldC1tZW1vcnktcG9ydC1yZWFkLWJ1ZmZlci1zaXpl ISBtZW1vcnktcG9ydCBzaXplCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJl fSBzZXQtbWVtb3J5LXBvcnQtcmVhZC1idWZmZXItc2l6ZSEgbWVtb3J5LXBv cnQgc2l6ZQogK1NldCB0aGUgc2l6ZSBvZiB0aGUgcmVhZCBidWZmZXIgb2Yg QGNvZGV7PGdkYjptZW1vcnktcG9ydD59CiArQHZhcnttZW1vcnktcG9ydH0g dG8gQHZhcntzaXplfS4gIFRoZSByZXN1bHQgaXMgdW5zcGVjaWZpZWQuCi0r QGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVmdW4gbWVtb3J5LXBv cnQtd3JpdGUtYnVmZmVyLXNpemUgbWVtb3J5LXBvcnQKKytAZGVmZm4ge1Nj aGVtZSBQcm9jZWR1cmV9IG1lbW9yeS1wb3J0LXdyaXRlLWJ1ZmZlci1zaXpl IG1lbW9yeS1wb3J0CiArUmV0dXJuIHRoZSBzaXplIG9mIHRoZSB3cml0ZSBi dWZmZXIgb2YgQGNvZGV7PGdkYjptZW1vcnktcG9ydD59CiArQHZhcnttZW1v cnktcG9ydH0uCi0rQGVuZCBkZWZ1bgorK0BlbmQgZGVmZm4KICsKLStAZGVm dW4gc2V0LW1lbW9yeS1wb3J0LXdyaXRlLWJ1ZmZlci1zaXplISBtZW1vcnkt cG9ydCBzaXplCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBzZXQtbWVt b3J5LXBvcnQtd3JpdGUtYnVmZmVyLXNpemUhIG1lbW9yeS1wb3J0IHNpemUK ICtTZXQgdGhlIHNpemUgb2YgdGhlIHdyaXRlIGJ1ZmZlciBvZiBAY29kZXs8 Z2RiOm1lbW9yeS1wb3J0Pn0KICtAdmFye21lbW9yeS1wb3J0fSB0byBAdmFy e3NpemV9LiAgVGhlIHJlc3VsdCBpcyB1bnNwZWNpZmllZC4KLStAZW5kIGRl ZnVuCisrQGVuZCBkZWZmbgogKwogK0EgbWVtb3J5IHBvcnQgaXMgY2xvc2Vk IGxpa2UgYW55IG90aGVyIHBvcnQsIHdpdGggQGNvZGV7Y2xvc2UtcG9ydH0u CiArCkBAIC0yOTg5LDY5ICszMTMyLDExMiBAQCBpbmRleCAwMDAwMDAwLi4w YzA1MGQ0CiArQGNpbmRleCBndWlsZSBpdGVyYXRvcnMKICtAdGluZGV4IDxn ZGI6aXRlcmF0b3I+CiArCi0rQW4gZXhwZXJpbWVudGFsIGl0ZXJhdG9yIGZh Y2lsaXR5IGlzIHByb3ZpZGVkIHRvIGFsbG93LCBmb3IgZXhhbXBsZSwKKytB IHNpbXBsZSBpdGVyYXRvciBmYWNpbGl0eSBpcyBwcm92aWRlZCB0byBhbGxv dywgZm9yIGV4YW1wbGUsCiAraXRlcmF0aW5nIG92ZXIgdGhlIHNldCBvZiBw cm9ncmFtIHN5bWJvbHMgd2l0aG91dCBoYXZpbmcgdG8gZmlyc3QKLStjb25z dHJ1Y3QgYSBsaXN0IG9mIGFsbCBvZiB0aGVtLiAgU2NoZW1lIGhhcyBzdXBw b3J0IGZvciBpdGVyYXRvcnMgdmlhLAotK2ZvciBleGFtcGxlLCBTUkZJIDQx IGFuZCBTUkZJIDQ1LiAgSG9wZWZ1bGx5IHNvbWV0aGluZyBlZmZpY2llbnQg YW5kCi0rYWdyZWVhYmxlIGNhbiBiZSB3b3JrZWQgb3V0IHRoYXQgdXNlcyB0 aGVtIG9yIHNvbWV0aGluZyBlbHNlLgorK2NvbnN0cnVjdCBhIGxpc3Qgb2Yg YWxsIG9mIHRoZW0uICBBIHVzZWZ1bCBjb250cmlidXRpb24gd291bGQgYmUK Kyt0byBhZGQgc3VwcG9ydCBmb3IgU1JGSSA0MSBhbmQgU1JGSSA0NS4KICsK LStAZGVmdW4gbWFrZS1pdGVyYXRvcgorK0BkZWZmbiB7U2NoZW1lIFByb2Nl ZHVyZX0gbWFrZS1pdGVyYXRvciBvYmplY3QgcHJvZ3Jlc3MgbmV4dCEKICtB IEBjb2RlezxnZGI6aXRlcmF0b3I+fSBvYmplY3QgaXMgY29uc3RydWN0ZWQg d2l0aCB0aGUgQGNvZGV7bWFrZS1pdGVyYXRvcn0KICtwcm9jZWR1cmUuICBJ dCB0YWtlcyB0aHJlZSBhcmd1bWVudHM6IHRoZSBvYmplY3QgdG8gYmUgaXRl cmF0ZWQgb3ZlciwKICthbiBvYmplY3QgdG8gcmVjb3JkIHRoZSBwcm9ncmVz cyBvZiB0aGUgaXRlcmF0aW9uLCBhbmQgYSBwcm9jZWR1cmUgdG8KICtyZXR1 cm4gdGhlIG5leHQgZWxlbWVudCBpbiB0aGUgaXRlcmF0aW9uLCBvciBhbiBp bXBsZW1lbnRhdGlvbiBjaG9zZW4gdmFsdWUKICt0byBkZW5vdGUgdGhlIGVu ZCBvZiBpdGVyYXRpb24uCiArCisrQnkgY29udmVudGlvbiwgZW5kIG9mIGl0 ZXJhdGlvbiBpcyBtYXJrZWQgd2l0aCBAY29kZXsoZW5kLW9mLWl0ZXJhdGlv bil9LAorK2FuZCBtYXkgYmUgdGVzdGVkIHdpdGggdGhlIEBjb2Rle2VuZC1v Zi1pdGVyYXRpb24/fSBwcmVkaWNhdGUuCisrVGhlIHJlc3VsdCBvZiBAY29k ZXsoZW5kLW9mLWl0ZXJhdGlvbil9IGlzIGNob3NlbiBzbyB0aGF0IGl0IGlz IG5vdAorK290aGVyd2lzZSB1c2VkIGJ5IHRoZSBAY29kZXsoZ2RiKX0gbW9k dWxlLiAgSWYgeW91IGFyZSB1c2luZworK0Bjb2RlezxnZGI6aXRlcmF0b3I+ fSBpbiB5b3VyIG93biBjb2RlIGl0IGlzIHlvdXIgcmVzcG9uc2liaWxpdHkg dG8KKyttYWludGFpbiB0aGlzIGludmFyaWFudC4KKysKICtBIHRyaXZpYWwg ZXhhbXBsZSBmb3IgaWxsdXN0cmF0aW9uJ3Mgc2FrZToKICsKICtAc21hbGxl eGFtcGxlCi0rKHVzZS1tb2R1bGVzIChnZGIgZXhwZXJpbWVudGFsKSkKKyso dXNlLW1vZHVsZXMgKGdkYiBpdGVyYXRvcikpCiArKGRlZmluZSBteS1saXN0 IChsaXN0IDEgMiAzKSkKLSsoZGVmaW5lIGVuZC1tYXJrZXIgI2YpCiArKGRl ZmluZSBpdGVyIChtYWtlLWl0ZXJhdG9yIG15LWxpc3QgbXktbGlzdAogKyAg KGxhbWJkYSAoaXRlcikKICsgICAgKGxldCAoKGwgKGl0ZXJhdG9yLXByb2dy ZXNzIGl0ZXIpKSkKICsgICAgICAoaWYgKGVxPyBsICcoKSkKLSsgICAgICAg ICAgZW5kLW1hcmtlcgorKyAgICAgICAgICAoZW5kLW9mLWl0ZXJhdGlvbikK ICsgICAgICAgICAgKGJlZ2luCiArICAgICAgICAgICAoc2V0LWl0ZXJhdG9y LXByb2dyZXNzISBpdGVyIChjZHIgbCkpCiArICAgICAgICAgICAoY2FyIGwp KSkpKSkpCiArQGVuZCBzbWFsbGV4YW1wbGUKICsKLStJdCBpcyBub3QgZXhw ZWN0ZWQgdGhhdCBpdGVyYXRvcnMgd2lsbCBiZSB1c2VkIGxpa2UgdGhhdCwK LSt0aGF0IHdhcyBqdXN0IGZvciBpbGx1c3RyYXRpb24ncyBzYWtlLgogK0hl cmUgaXMgYSBzbGlnaHRseSBtb3JlIHJlYWxpc3RpYyBleGFtcGxlLCB3aGlj aCBjb21wdXRlcyBhIGxpc3Qgb2YgYWxsIHRoZQogK2Z1bmN0aW9ucyBpbiBA Y29kZXtteS1nbG9iYWwtYmxvY2t9LgogKwogK0BzbWFsbGV4YW1wbGUKLSso dXNlLW1vZHVsZXMgKGdkYiBleHBlcmltZW50YWwpKQorKyh1c2UtbW9kdWxl cyAoZ2RiIGl0ZXJhdG9yKSkKICsoZGVmaW5lIHRoaXMtc2FsIChmaW5kLXBj LWxpbmUgKGZyYW1lLXBjIChzZWxlY3RlZC1mcmFtZSkpKSkKICsoZGVmaW5l IHRoaXMtc3ltdGFiIChzYWwtc3ltdGFiIHRoaXMtc2FsKSkKICsoZGVmaW5l IHRoaXMtZ2xvYmFsLWJsb2NrIChzeW10YWItZ2xvYmFsLWJsb2NrIHRoaXMt c3ltdGFiKSkKICsoZGVmaW5lIHN5bXMtaXRlciAobWFrZS1ibG9jay1zeW1i b2xzLWl0ZXJhdG9yIHRoaXMtZ2xvYmFsLWJsb2NrKSkKLSsoZGVmaW5lIGZ1 bmN0aW9ucyAoaXRlcmF0b3ItZmlsdGVyIHN5bWJvbC1mdW5jdGlvbj8gc3lt cy1pdGVyICNmKSkKKysoZGVmaW5lIGZ1bmN0aW9ucyAoaXRlcmF0b3ItZmls dGVyIHN5bWJvbC1mdW5jdGlvbj8gc3ltcy1pdGVyKSkKICtAZW5kIHNtYWxs ZXhhbXBsZQotK0BlbmQgZGVmdW4KKytAZW5kIGRlZmZuCiArCi0rVGhlc2Ug ZnVuY3Rpb25zIGFyZSBwcm92aWRlZCB0byBhc3Npc3QgaW4gd3JpdGluZyB0 aGUgQGNvZGV7bmV4dCF9IHByb2NlZHVyZToKKytAZGVmZm4ge1NjaGVtZSBQ cm9jZWR1cmV9IGl0ZXJhdG9yPyBvYmplY3QKKytSZXR1cm4gQGNvZGV7I3R9 IGlmIEB2YXJ7b2JqZWN0fSBpcyBhIEBjb2RlezxnZGI6aXRlcmF0b3I+fSBv YmplY3QuCisrT3RoZXJ3aXNlIHJldHVybiBAY29kZXsjZn0uCisrQGVuZCBk ZWZmbgogKwotK0B0YWJsZSBAY29kZQotK0BpdGVtIGl0ZXJhdG9yLW9iamVj dAorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gaXRlcmF0b3Itb2JqZWN0 IGl0ZXJhdG9yCiArUmV0dXJuIHRoZSBmaXJzdCBhcmd1bWVudCB0aGF0IHdh cyBwYXNzZWQgdG8gQGNvZGV7bWFrZS1pdGVyYXRvcn0uCiArVGhpcyBpcyB0 aGUgb2JqZWN0IGJlaW5nIGl0ZXJhdGVkIG92ZXIuCisrQGVuZCBkZWZmbgog KwotK0BpdGVtIGl0ZXJhdG9yLXByb2dyZXNzCisrQGRlZmZuIHtTY2hlbWUg UHJvY2VkdXJlfSBpdGVyYXRvci1wcm9ncmVzcyBpdGVyYXRvcgogK1JldHVy biB0aGUgb2JqZWN0IHRyYWNraW5nIGl0ZXJhdGlvbiBwcm9ncmVzcy4KKytA ZW5kIGRlZmZuCiArCi0rQGl0ZW0gc2V0LWl0ZXJhdG9yLXByb2dyZXNzIQor K0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gc2V0LWl0ZXJhdG9yLXByb2dy ZXNzISBpdGVyYXRvciBuZXctdmFsdWUKICtTZXQgdGhlIG9iamVjdCB0cmFj a2luZyBpdGVyYXRpb24gcHJvZ3Jlc3MuCisrQGVuZCBkZWZmbgogKwotK0Bp dGVtIGl0ZXJhdG9yLW5leHQhCisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJl fSBpdGVyYXRvci1uZXh0ISBpdGVyYXRvcgogK0ludm9rZSB0aGUgcHJvY2Vk dXJlIHRoYXQgd2FzIHRoZSB0aGlyZCBhcmd1bWVudCB0byBAY29kZXttYWtl LWl0ZXJhdG9yfSwKICtwYXNzaW5nIGl0IG9uZSBhcmd1bWVudCwgdGhlIEBj b2RlezxnZGI6aXRlcmF0b3I+fSBvYmplY3QuCi0rVGhlIHJlc3VsdCBpcyBl aXRoZXIgdGhlIG5leHQgZWxlbWVudCBpbiB0aGUgaXRlcmF0aW9uLCBvciBh bmQgZW5kCisrVGhlIHJlc3VsdCBpcyBlaXRoZXIgdGhlIG5leHQgZWxlbWVu dCBpbiB0aGUgaXRlcmF0aW9uLCBvciBhbiBlbmQKICttYXJrZXIgYXMgaW1w bGVtZW50ZWQgYnkgdGhlIEBjb2Rle25leHQhfSBwcm9jZWR1cmUuCi0rQGVu ZCB0YWJsZQorK0J5IGNvbnZlbnRpb24gdGhlIGVuZCBtYXJrZXIgaXMgdGhl IHJlc3VsdCBvZiBAY29kZXsoZW5kLW9mLWl0ZXJhdGlvbil9LgorK0BlbmQg ZGVmZm4KKysKKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGVuZC1vZi1p dGVyYXRpb24KKytSZXR1cm4gdGhlIFNjaGVtZSBvYmplY3QgdGhhdCBkZW5v dGVzIGVuZCBvZiBpdGVyYXRpb24uCisrQGVuZCBkZWZmbgorKworK0BkZWZm biB7U2NoZW1lIFByb2NlZHVyZX0gZW5kLW9mLWl0ZXJhdGlvbj8gb2JqZWN0 CisrUmV0dXJuIEBjb2RleyN0fSBpZiBAdmFye29iamVjdH0gaXMgdGhlIGVu ZCBvZiBpdGVyYXRpb24gbWFya2VyLgorK090aGVyd2lzZSByZXR1cm4gQGNv ZGV7I2Z9LgorK0BlbmQgZGVmZm4KKysKKytUaGVzZSBmdW5jdGlvbnMgYXJl IHByb3ZpZGVkIGJ5IHRoZSBAY29kZXsoZ2RiIGl0ZXJhdG9yKX0gbW9kdWxl IHRvCisrYXNzaXN0IGluIHVzaW5nIGl0ZXJhdG9ycy4KKysKKytAZGVmZm4g e1NjaGVtZSBQcm9jZWR1cmV9IG1ha2UtbGlzdC1pdGVyYXRvciBsaXN0Cisr UmV0dXJuIGEgQGNvZGV7PGdkYjppdGVyYXRvcj59IG9iamVjdCB0aGF0IHdp bGwgaXRlcmF0ZSBvdmVyIEB2YXJ7bGlzdH0uCisrQGVuZCBkZWZmbgorKwor K0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gaXRlcmF0b3ItbWFwIHByb2Mg aXRlcmF0b3IKKytSZXR1cm4gYSBsaXN0IG9mIEB2YXJ7cHJvY30gYXBwbGll ZCB0byBlYWNoIGVsZW1lbnQgb2YgQHZhcntpdGVyYXRvcn0uCisrQGVuZCBk ZWZmbgorKworK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gaXRlcmF0b3It Zm9yLWVhY2ggcHJvYyBpdGVyYXRvcgorK0FwcGx5IEB2YXJ7cHJvY30gdG8g ZWFjaCBlbGVtZW50IG9mIEB2YXJ7aXRlcmF0b3J9LgorK1RoZSByZXN1bHQg aXMgdW5zcGVjaWZpZWQuCisrQGVuZCBkZWZmbgorKworK0BkZWZmbiB7U2No ZW1lIFByb2NlZHVyZX0gaXRlcmF0b3ItZmlsdGVyIHByZWQgaXRlcmF0b3IK KytSZXR1cm4gYXMgYSBsaXN0IHRoZSBlbGVtZW50cyBvZiBAdmFye2l0ZXJh dG9yfSB0aGF0IHNhdGlzZnkgQHZhcntwcmVkfS4KKytAZW5kIGRlZmZuCisr CisrQGRlZmZuIHtTY2hlbWUgUHJvY2VkdXJlfSBpdGVyYXRvci11bnRpbCBw cmVkIGl0ZXJhdG9yCisrUnVuIEB2YXJ7aXRlcmF0b3J9IHVudGlsIHRoZSBy ZXN1bHQgb2YgQGNvZGV7KHByZWQgZWxlbWVudCl9IGlzIHRydWUKKythbmQg cmV0dXJuIHRoYXQgYXMgdGhlIHJlc3VsdC4gIE90aGVyd2lzZSByZXR1cm4g QGNvZGV7I2Z9LgorK0BlbmQgZGVmZm4KICsKICtAbm9kZSBHdWlsZSBBdXRv LWxvYWRpbmcKICtAc3Vic2VjdGlvbiBHdWlsZSBBdXRvLWxvYWRpbmcKQEAg LTMxMjMsNyArMzMwOSw2IEBAIGluZGV4IDAwMDAwMDAuLjBjMDUwZDQKICsK ICtAbm9kZSBHdWlsZSBQcmludGluZyBNb2R1bGUKICtAc3Vic3Vic2VjdGlv biBHdWlsZSBQcmludGluZyBNb2R1bGUKLStAY2luZGV4IChnZGIgcHJpbnRp bmcpCiArCiArVGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBjb2xsZWN0aW9uIG9m IHV0aWxpdGllcyBmb3Igd29ya2luZyB3aXRoCiArcHJldHR5LXByaW50ZXJz LgpAQCAtMzEzNCwyMSArMzMxOSwyMiBAQCBpbmRleCAwMDAwMDAwLi4wYzA1 MGQ0CiArKHVzZS1tb2R1bGVzIChnZGIgcHJpbnRpbmcpKQogK0BlbmQgc21h bGxleGFtcGxlCiArCi0rQHRhYmxlIEBjb2RlCi0rQGl0ZW0gcHJlcGVuZC1w cmV0dHktcHJpbnRlciEgQHZhcntvYmp9IEB2YXJ7cHJpbnRlcn0KLStBZGQg QHZhcntwcmludGVyfSB0byB0aGUgZnJvbnQgb2YgdGhlIGxpc3Qgb2YgcHJl dHR5LXByaW50ZXJzIGZvciBAdmFye29ian0uCi0rQHZhcntvYmp9IG11c3Qg ZWl0aGVyIGJlIGEgQGNvZGV7PGdkYjpvYmpmaWxlPn0gb2JqZWN0IG9yIEBj b2RleyNmfSBpbiB3aGljaAotK2Nhc2UgQHZhcntwcmludGVyfSBpcyBhZGRl ZCB0byB0aGUgZ2xvYmFsIGxpc3Qgb2YgcHJpbnRlcnMuCi0rCi0rQGl0ZW0g YXBwZW5kLXByZXR0eS1wcmludGVyISBAdmFye29ian0gQHZhcntwcmludGVy fQotK0FkZCBAdmFye3ByaW50ZXJ9IHRvIHRoZSBlbmQgb2YgdGhlIGxpc3Qg b2YgcHJldHR5LXByaW50ZXJzIGZvciBAdmFye29ian0uCi0rQHZhcntvYmp9 IG11c3QgZWl0aGVyIGJlIGEgQGNvZGV7PGdkYjpvYmpmaWxlPn0gb2JqZWN0 IG9yIEBjb2RleyNmfSBpbiB3aGljaAotK2Nhc2UgQHZhcntwcmludGVyfSBp cyBhZGRlZCB0byB0aGUgZ2xvYmFsIGxpc3Qgb2YgcHJpbnRlcnMuCi0rQGVu ZCB0YWJsZQorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVyZX0gcHJlcGVuZC1w cmV0dHktcHJpbnRlciEgb2JqZWN0IHByaW50ZXIKKytBZGQgQHZhcntwcmlu dGVyfSB0byB0aGUgZnJvbnQgb2YgdGhlIGxpc3Qgb2YgcHJldHR5LXByaW50 ZXJzIGZvcgorK0B2YXJ7b2JqZWN0fS4gIEB2YXJ7b2JqZWN0fSBtdXN0IGVp dGhlciBiZSBhIEBjb2RlezxnZGI6b2JqZmlsZT59IG9iamVjdAorK29yIEBj b2RleyNmfSBpbiB3aGljaCBjYXNlIEB2YXJ7cHJpbnRlcn0gaXMgYWRkZWQg dG8gdGhlIGdsb2JhbCBsaXN0IG9mCisrcHJpbnRlcnMuCisrQGVuZCBkZWZm bgorKworK0BkZWZmbiB7U2NoZW1lIFByb2NlY3VyZX0gYXBwZW5kLXByZXR0 eS1wcmludGVyISBvYmplY3QgcHJpbnRlcgorK0FkZCBAdmFye3ByaW50ZXJ9 IHRvIHRoZSBlbmQgb2YgdGhlIGxpc3Qgb2YgcHJldHR5LXByaW50ZXJzIGZv cgorK0B2YXJ7b2JqZWN0fS4gIEB2YXJ7b2JqZWN0fSBtdXN0IGVpdGhlciBi ZSBhIEBjb2RlezxnZGI6b2JqZmlsZT59IG9iamVjdAorK29yIEBjb2RleyNm fSBpbiB3aGljaCBjYXNlIEB2YXJ7cHJpbnRlcn0gaXMgYWRkZWQgdG8gdGhl IGdsb2JhbCBsaXN0IG9mCisrcHJpbnRlcnMuCisrQGVuZCBkZWZmbgogKwog K0Bub2RlIEd1aWxlIFR5cGVzIE1vZHVsZQogK0BzdWJzdWJzZWN0aW9uIEd1 aWxlIFR5cGVzIE1vZHVsZQotK0BjaW5kZXggKGdkYiB0eXBlcykKICsKICtU aGlzIG1vZHVsZSBwcm92aWRlcyBhIGNvbGxlY3Rpb24gb2YgdXRpbGl0aWVz IGZvciB3b3JraW5nIHdpdGgKICtAY29kZXs8Z2RiOnR5cGU+fSBvYmplY3Rz LgpAQCAtMzE1OSw4ICszMzQ1LDcgQEAgaW5kZXggMDAwMDAwMC4uMGMwNTBk NAogKyh1c2UtbW9kdWxlcyAoZ2RiIHR5cGVzKSkKICtAZW5kIHNtYWxsZXhh bXBsZQogKwotK0B0YWJsZSBAY29kZQotK0BpdGVtIGdldC1iYXNpYy10eXBl IEB2YXJ7dHlwZX0KKytAZGVmZm4ge1NjaGVtZSBQcm9jZWR1cmV9IGdldC1i YXNpYy10eXBlIHR5cGUKICtSZXR1cm4gQHZhcnt0eXBlfSB3aXRoIGNvbnN0 IGFuZCB2b2xhdGlsZSBxdWFsaWZpZXJzIHN0cmlwcGVkLAogK2FuZCB3aXRo IHR5cGVkZWZzIGFuZCBDQHR7Kyt9IHJlZmVyZW5jZXMgY29udmVydGVkIHRv IHRoZSB1bmRlcmx5aW5nIHR5cGUuCiArCkBAIC0zMTgyLDEzICszMzY3LDE2 IEBAIGluZGV4IDAwMDAwMDAuLjBjMDUwZDQKICsoZ2RiKSBndWlsZSAoZ2V0 LWJhc2ljLXR5cGUgKHZhbHVlLXR5cGUgZm9vLXJlZikpCiAraW50CiArQGVu ZCBzbWFsbGV4YW1wbGUKKytAZW5kIGRlZmZuCiArCi0rQGl0ZW0gdHlwZS1o YXMtZmllbGQtZGVlcD8gQHZhcnt0eXBlfSBAdmFye2ZpZWxkfQorK0BkZWZm biB7U2NoZW1lIFByb2NlZHVyZX0gdHlwZS1oYXMtZmllbGQtZGVlcD8gdHlw ZSBmaWVsZAogK1JldHVybiBAY29kZXsjdH0gaWYgQHZhcnt0eXBlfSwgYXNz dW1lZCB0byBiZSBhIHR5cGUgd2l0aCBmaWVsZHMKICsoZS5nLiwgYSBzdHJ1 Y3R1cmUgb3IgdW5pb24pLCBoYXMgZmllbGQgQHZhcntmaWVsZH0uCisrT3Ro ZXJ3aXNlIHJldHVybiBAY29kZXsjZn0uCiArVGhpcyBzZWFyY2hlcyBiYXNl Y2xhc3Nlcywgd2hlcmVhcyBAY29kZXt0eXBlLWhhcy1maWVsZD99IGRvZXMg bm90LgorK0BlbmQgZGVmZm4KICsKLStAaXRlbSBtYWtlLWVudW0taGFzaHRh YmxlIEB2YXJ7ZW51bS10eXBlfQorK0BkZWZmbiB7U2NoZW1lIFByb2NlZHVy ZX0gbWFrZS1lbnVtLWhhc2h0YWJsZSBlbnVtLXR5cGUKICtSZXR1cm4gYSBH dWlsZSBoYXNoIHRhYmxlIHByb2R1Y2VkIGZyb20gQHZhcntlbnVtLXR5cGV9 LgogK0VsZW1lbnRzIGluIHRoZSBoYXNoIHRhYmxlIGFyZSByZWZlcmVuY2Vk IHdpdGggQGNvZGV7aGFzaHEtcmVmfS4KLStAZW5kIHRhYmxlCisrQGVuZCBk ZWZmbgo= --f46d04428e5c93c70604f07eb4a2--