Re: script for initial RC policy to use with learning mode
Javier Juan Martínez Cabezón <[email protected]> Thu, 14 Jan 2016 07:50:19 +0100
| Newsgroups | gmane.linux.rsbac |
|---|---|
| Message-ID | <[email protected]> |
WARNING: contains banned part
message.txt
(message/rfc822, 23.9 KB)
Received: from www.rsbac.org (localhost [127.0.0.1]) by www.rsbac.org (Postfix) with ESMTP id 79D924E0123; Fri, 15 Jan 2016 10:52:45 +0100 (CET) X-Original-To: [email protected] Delivered-To: [email protected] Received: from maia (localhost [127.0.0.1]) by www.rsbac.org (Postfix) with ESMTP id 3872E4E0105 for <[email protected]>; Fri, 15 Jan 2016 10:52:43 +0100 (CET) Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=74.125.82.53; helo=mail-wm0-f53.google.com; [email protected]; [email protected] Received: from mail-wm0-f53.google.com (mail-wm0-f53.google.com [74.125.82.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by www.rsbac.org (Postfix) with ESMTPS id C527F4E012A for <[email protected]>; Thu, 14 Jan 2016 07:51:52 +0100 (CET) Received: by mail-wm0-f53.google.com with SMTP id f206so410706043wmf.0 for <[email protected]>; Wed, 13 Jan 2016 22:51:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=Y/Nj/RQd13FxGeXPqTf66H7QW1GszJqJyPZmVtfjmic=; b=U/GTgsN0dh1saofVyr7hyw+4Je9Xdb8nghptQOHWdaw7cP1N1aX9CqFpPKdmKhY2Ef TzRDEMb48DkOA5Ge7dzIvNQBvgtcTfBbm0VVB9Lgx7UlMLRjmseKEaT3Y39fZWnM+0qN XIhD7uQQTayiv44jUj5gdneUSzCLiwjJL4jhAtgssKT0ufaeOOsVi9NxBQSwYJF0IxWE q5qcfdcxJZiXiS2oZfXx+Yn6126H5axjoMexf1DGakneLfc8GbRR7T/ZB7MDiuXm2Esy Rg2WRcbVHyxPSsmG7+E08h2JjpDwY6YWmJeQUHlwxLvOHZQ/GpPBZ98fftw6jWUnRuoZ hlKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :subject:references:in-reply-to:content-type :content-transfer-encoding; bh=Y/Nj/RQd13FxGeXPqTf66H7QW1GszJqJyPZmVtfjmic=; b=AdTWWMbquL7IgTfrRp+qtZGgsiIH5hv4YMg82ukiResYQBOk5MxpqhGbtJ2no+VbEx KVV3+dnAgsDrrvyQ2DQtbf10IpgL8k/cb7HKvPVsyciF9zBGXhPD2O8zIbUO+1tY1WnI 7NP8sBMPavg9FGLhkDNiPZ3DFflZTs4eCWcyAly6HNZj/SEG3+czh++TdkwLSbNIOYoT C0D2J5nvV9OIVlyQMxWS8iJUD3FPTQm4IENlIN9OjLok8AjfDuAMxAAOSn95/peyLyMN Bx9t12Xf6xUrzmA37hH+ptxu+6vONgB/FM9E1bgJe9IlV0BY3DF0S6ZjINxu9WKz85f3 3OEQ== X-Gm-Message-State: ALoCoQnYdv8SLG6kWWHflBZLnMLD9c4UrVrzhRJnMje+TahPSGWpcjWzDVv8IRmQ+WOy3ecnQqoF6+4hC3rCRuYzHoKCfWD+og== X-Received: by 10.28.230.74 with SMTP id d71mr28504559wmh.97.1452754312031; Wed, 13 Jan 2016 22:51:52 -0800 (PST) Received: from [192.168.0.5] (213.227.17.41.static.user.ono.com. [213.227.17.41]) by smtp.googlemail.com with ESMTPSA id w17sm25300376wmw.15.2016.01.13.22.51.50 for <[email protected]> (version=TLSv1/SSLv3 cipher=OTHER); Wed, 13 Jan 2016 22:51:51 -0800 (PST) Message-ID: <[email protected]> Date: Thu, 14 Jan 2016 07:50:19 +0100 From: =?UTF-8?B?SmF2aWVyIEp1YW4gTWFydMOtbmV6IENhYmV6w7Nu?= <[email protected]> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.5.0 MIME-Version: 1.0 To: [email protected] References: <[email protected]> <[email protected]> <[email protected]> In-Reply-To: <[email protected]> Subject: Re: [rsbac] script for initial RC policy to use with learning mode X-BeenThere: [email protected] X-Mailman-Version: 2.1.15 Precedence: list Reply-To: RSBAC Discussion and Announcements <[email protected]> List-Id: RSBAC Discussion and Announcements <rsbac.rsbac.org> List-Unsubscribe: <https://www.rsbac.org/mailman/options/rsbac>, <mailto:[email protected]?subject=unsubscribe> List-Archive: <http://www.rsbac.org/pipermail/rsbac/> List-Post: <mailto:[email protected]> List-Help: <mailto:[email protected]?subject=help> List-Subscribe: <https://www.rsbac.org/mailman/listinfo/rsbac>, <mailto:[email protected]?subject=subscribe> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: [email protected] Sender: "rsbac" <[email protected]> CgpOb3QgYSBqb2tlICh5b3UgYXJlIG5vdCB0aGUgbG9uZWx5IG9uZSB3aG8gdGhvdWdodCBpdCB4 RCksCmp1c3QgbXkgYmVzdCBwaWVjZSBvZiB2YXBvcndhcmUgaW4gaGlzdG9yeSB4REQuIEkgZG9u J3Qga25vdyB3aHkgYnV0IEkKZmVlbCB0aGUgbmVlZGluZ3MgdG8gc2xlZXAgd2hlbiBJIHRvdWNo IHB5dGhvbiwgaXQgZG9lc24ndCBoYXBwZW4gbWUKd2l0aCBiYXNoIHhERERECgpUaGlzIGNhbiBz aG93IHlvdSB0aGUgcG93ZXJmdWxsIG9mIHB5Z2FtZSB3aXRoIHNkbCwganVzdCBleHBvcnQgbmVl ZGVkCnZhcmlhYmxlcyBhcyBhcHBlYXJzIGluIGRldGVjdF92aWRlb19kcml2ZXIuCgpJIHRob3Vn aHQgdG8gdXNlIHNjYW5kaXIoKSBmdW5jdGlvbnMgdG8gdXNlIGluIGEgc29tZXRoaW5nIGxpa2Ug ZmlsZQptYW5hZ2VyIHRvIHJzYmFjLgoKCgoKIyEvdXNyL2Jpbi9weXRob24KCmltcG9ydCBweWdh bWUKaW1wb3J0IHN5cwppbXBvcnQgb3MKCgpweWdhbWUuaW5pdCgpCgpyZXNfYXYgPSBweWdhbWUu ZGlzcGxheS5saXN0X21vZGVzKCkKc2NyZWVuID0gcHlnYW1lLmRpc3BsYXkuc2V0X21vZGUocmVz X2F2WzBdLCBweWdhbWUuRlVMTFNDUkVFTikKCndvcmxkX2V4aXN0cyA9IDEKd2hpdGUgPSBbMjU1 LCAyNTUsIDI1NV0Kd2hpbGUgd29ybGRfZXhpc3RzOgoJc2NyZWVuLmZpbGwoKHdoaXRlKSkKCWxv Z29fcG9zeCA9IDEKCWxvZ29fcG9zeSA9IDEJCglsb2dvID0gcHlnYW1lLmltYWdlLmxvYWQoInJz YmFjX2ZpbmFsLnBuZyIpCglzY3JlZW4uYmxpdChsb2dvLCAobG9nb19wb3N4LCBsb2dvX3Bvc3kp KQkKCWZvciBldmVudCBpbiBweWdhbWUuZXZlbnQuZ2V0KCk6CgkJaWYgZXZlbnQudHlwZSA9PSBw eWdhbWUuUVVJVDoKCQkJd29ybGRfZXhpc3RzID0gMAoJCWVsaWYgZXZlbnQudHlwZSA9PSBweWdh bWUuS0VZRE9XTjoKCQkJaWYgZXZlbnQua2V5ID09IHB5Z2FtZS5LX0VTQ0FQRToKCQkJCXdvcmxk X2V4aXN0cyA9IDAJCglweWdhbWUuZGlzcGxheS5mbGlwKCkKcHlnYW1lLnF1aXQoKQkKCgpkZWYg ZGV0ZWN0X3ZpZGVvX2RyaXZlcigpOgoJaW1wb3J0IHB5Z2FtZQoJaW1wb3J0IG9zCglkaXNwX25v PW9zLmdldGVudigiRElTUExBWSIpCiAgICAgICAgaWYgZGlzcF9ubzoKCQlwcmludCAoJ3J1bm5p bmcgdW5kZXIgWCcpCiAgICAgICBkcml2ZXJzPVsnZmJjb24nLCdkaXJlY3RmYicsJ3N2Z2FsaWIn XQogICAgICAgZm91bmQgPSBGYWxzZQogICAgICAgZm9yIGRyaXZlciBpbiBkcml2ZXJzOgogICAg ICAgaWYgbm90IG9zLmdldGVudignU0RMX1ZJREVPRFJJVkVSJyk6CiAgICAgICAgICAgICAgICBv cy5lbnZpcm9ubWVudCgnU0RMX1ZJREVPRFJJVkVSJywgZHJpdmVyKQogICAgICAgICAgICAgICAg IHRyeToKICAgICAgICAgICAgICAgICBweWdhbWUuZGlzcGxheS5pbml0KCkKICAgICAgICAgICAg ICAgICBleGNlcHQgcHlnYW1lX2Vycm9yOgogICAgICAgICAgICAgICAgICAgICAgICBwcmludCAn RHJpdmVyOnswfSBmYWlsZWQuJy5mb3JtYXQoZHJpdmVyKQogICAgICAgICAgICAgICAgICAgICAg ICBjb250aW51ZQogICAgICAgICAgICAgICAgIGZvdW5kID0gVHJ1ZQogICAgICAgICAgICAgICAg IGJyZWFrCiAgICAgICAgICAgICAgICAgIGlmIG5vdCBmb3VuZDoKICAgICAgICAgICAgICAgICAg ICAgICAgIHJhaXNlIEV4Y2VwdGlvbignTm8gdmlkZW8gZHJpdmVyIGZvdW5kIScpCgpPbiAxMy8w MS8xNiAyMjoyNCwgSmVucyBLYXN0ZW4gd3JvdGU6Cj4gQW0gMjAxNi0wMS0xMyAxNzo0Mywgc2No cmllYiBKYXZpZXIgSnVhbiBNYXJ0w61uZXogQ2FiZXrDs246Cj4+IE9uIDA3LzAxLzE2IDE2OjU2 LCBKZW5zIEthc3RlbiB3cm90ZToKPj4+IEhpIEp1YW4sCj4+PiAKPj4+IFRvZGF5IEkgd291bGQg bmV2ZXIgdXNlIHNoZWxsIHNjaXB0cyBmb3Igc3VjaCB0YXNrcyBhbnltb3JlLgo+Pj4gVGhlcmUg YXJlIGdvb2QgZm9yIHRlc3RpbmcgYnV0IHRoZW4gaXQgc2hvdWxkIGJlIGVub3VnaCBhZnRlcgo+ Pj4gdGhlIGV4cGVyaW1lbnRhbCBwaGFzZS4gUHl0aG9uIGlzIGZvciBtZSB0aGUgYmV0dGVyIHNo ZWxsIDopCj4+PiAKPj4+IFdoZW4gdGhpbmtpbmcgb2YgUkMgcm9sZXMgdGhlbiB0aGVyZSBoYXZl IHRvIGJlIGEgZ29vZCAKPj4+IGNvbmZpZ3NldHVwLiBGb3IgbWUgZS5nLiBhbiB1c2VyIGluc3Rh bGwgbmdpbnggc2VydmVyLgo+Pj4gVGhlcmVmb3IgbXVzdCBhIG1vZGVybiBjb25maWdmaWxlIGZv cm1hdCBleGlzdCB0aGF0IHNoaXAgYWxsCj4+PiBpbmZvcm1hdGlvbi4gSGFyZGNvZGVkIHJjIHR5 cGVzIHdvdWxkIGJlIHByb2R1Y2UgYSBjb25mbGljdCBpbgo+Pj4gdGhlIGZ1dHVyZSBiZWNhdXNl IGFuIGluZGVwZW5kIGRldmVsb3BlciBjb3VsZCBub3Qgd3JpdGUKPj4+IHBvbGljaWVzLgo+Pj4g Cj4+PiBKZW5zCj4+PiAKPj4+IAo+Pj4gQW0gMDYuMDEuMjAxNiAxNzozNiBzY2hyaWViIEphdmll ciBKdWFuIE1hcnTDrW5leiBDYWJlesOzbiAKPj4+IDx0YXpva0Byc2JhYy5vcmc+Ogo+Pj4+IAo+ PiAKPj4gTmFoLCBJIGFncmVlIGF0IHNvbWUgZ3JhZGUgd2l0aCB5b3UsIGJ1dCBnZW5lcmFsbHkg bm8uLiBUaGUgbWFpbiAKPj4gcHJvYmxlbSBpcyB0aGF0IEkgd2lsbCByZXN0cmljdCBpbiB0aGUg c2NyaXB0IHRoZSB1c2Ugb2YgcHl0aG9uCj4+IGFuZCBwZXJsIHhERC4gSWYgeW91IHN1cmVseSB3 b3VsZCBub3QgZ3JhbnQgbWUgdGhlIHVzZSBvZiBwZXJsIG9yCj4+IHB5dGhvbiBpbiB5b3VyIGNy aXRpY2FsX2FuZF92ZXJ5X3NlY3JldF9jdWJpZXRydWNrX3NlcnZlciBJIHdvdWxkCj4+IG5laXRo ZXIgZG8gaXQgZm9yIG90aGVycyAoUmVtZW1iZXIgdGhhdCBhY2NpZGVudGFsbHkgSSBkZWZhY2Vk Cj4+IHRpbWUgYWdvIHRoZSBtYWluIHJzYmFjIHBhZ2UsIGltYWdpbmUgd2hhdCBjb3VsZCBJIGRv IHRvIHlvdXIKPj4gcmFzcGJlcnJ5IHBpIHdpdGggcHl0aG9uLCBhY2Nlc3NpbmcgdG8geW91ciBH UElPIHBvcnRzKS4uLi4KPiAKPiBIYWhhLCB5ZXMgSSBsaWtlIGl0IHRvIHB1dCBvbiBldmVyeSBt YWNoaW5lIHdoaWNoIEkgY2FuIGNvbnRyb2xsIGl0Cj4gdG8gcHV0IGEgUlNCQUMuIE5leHQgd2hl biBJIGRvIHJlcGxhY2UgbXkgc21hcnRwaG9uZSB0aGVuIGl0IHdpbGwKPiBiZSB0aGUgbmV4dCBt YWNoaW5lLgo+IAo+IAo+PiBQZXJsIGFuZCBQeXRob24gYXJlIHRvbyBwb3dlcmZ1bGwgdG8gZXZl biB3cml0ZSBleHBsb2l0cyA6LVMuCj4+IEJhc2ggaXQncyBtb3JlIHN0YW5kYXJpemVkIGFuZCBm YXN0ZXIgKHRha2Ugbm90ZSB0aGF0IHRoaXMKPj4gdmVyc2lvbiBvZiBzY3JpcHQgdXNlcyBhcnJh eXMgYW5kIGluIHB5dGhvbiB3b3VsZCBiZSBkZWFkbHkgaW4KPj4gc2xvd25lc3MgKGV2ZW4gcnNi YWMqbWVudSBhZG1pbiBkaWFsb2cgdG9vbHMgYXJlIHdyaXR0ZW4gaW4gYmFzaCwKPj4gKG1lc3Nh Z2UgdG8gQW1vbjogdG8gcHV0IGluIHRvZG8gbGlzdDoganVzdCBwcmlvciB0byBidWlsZGluZwo+ PiBjbG9uaW5nIG1hY2hpbmUgcnNiYWNfbWVudSB0b29scyB3cml0dGVuIGluIHNkbCB3aXRoIHB5 Z2FtZSAoaW4KPj4gcHlnYW1lIGJlY2F1c2UgSmVucyB3b3VsZCBnZXQgZnVuIGhhY2tpbmcgaXQg YW5kIGNvdWxkIGJlIHVzZWQKPj4gd2l0aCBhIGZyYW1lYnVmZmVyIGluIHRleHQgbW9kZSwgYW5k IHdlbGwsIGlmIHlvdSBsaWtlIHdlIGNvdWxkCj4+IGFkZCBhIHBhY21hbiBzb21ld2hlcmUgaW4g dGhlIHNjcmVlbiBmZWVkaW5nIGZyb20geW91ciBmaWxlcykuCj4+IAo+IAo+IE5pY2Ugam9rZSBi dXQgd2hlbiBJIGNob29zZSBweXRob24gdGhlbiBJIHdvdWxkIHVzZSB3eHB5dGhvbi4KPiAKPj4g Tk9URTogSSBoYXZlIHRoZSBtYWluIHNjcmVlbiB3cml0dGVuLCBvbmx5IGxlZnQgZXZlcnl0aGlu ZyBlbHNlLAo+PiBrYW5nIEkgdGhpbmsgaGFzIHRoZSBsb25lbHkgZXhpc3RpbmcgYmFja3VwIG9m IHRoZSBzb3VyY2VzIGluIGEKPj4gbWFpbCBmcm9tIG1lLCBJIHNlbnQgaGltIGl0IHRpbWUgYWdv LCBhbmQgbWF5YmUgdGhpcyBvbmUgaXMgdGhlCj4+IGxvbmVseSBjb3B5IHRoYXQgZXhpc3RzIGlu IHRoZSB3b3JsZCByaWdodCBub3cuCj4+IAo+PiAKPj4+IEZvciBtZSBlLmcuIGFuIHVzZXIgaW5z dGFsbCBuZ2lueCBzZXJ2ZXIuIFRoZXJlZm9yIG11c3QgYQo+Pj4gbW9kZXJuIGNvbmZpZ2ZpbGUg Zm9ybWF0IGV4aXN0IHRoYXQgc2hpcCBhbGwgaW5mb3JtYXRpb24uCj4+PiBIYXJkY29kZWQgcmMg dHlwZXMgd291bGQgYmUgcHJvZHVjZSBhIGNvbmZsaWN0IGluIHRoZSBmdXR1cmUKPj4+IGJlY2F1 c2UgYW4gaW5kZXBlbmQgZGV2ZWxvcGVyIGNvdWxkIG5vdCB3cml0ZSBwb2xpY2llcy4KPj4gCj4+ IAo+PiBUaGUgbWFpbiBwcm9ibGVtIHdpdGggdGhhdCBpcyB0aGF0IGluIHJzYmFjICJjb25maWcg ZmlsZXMiIGFyZQo+PiBpbiBrZXJuZWxhbmQgbm90IGluIHVzZXJsYW5kLCBvciBhcmUgeW91IHN1 Z2dlc3Rpbmcgc29tZXRoaW5nCj4+IGxpa2UgaXB0YWJsZXM/IFRvbyBzbG93IHRvIGJlIGxvYWRp bmcgcG9saWNpZXMgaW4gZWFjaCByZWJvb3QKPj4gZG9uJ3QgeW91IHRoaW5rIGFuZCBpbmNvbXBh dGlibGUgd2l0aCBzb21lIEIgZ3JhZGUgaW4gb3JhbmdlIGJvb2sKPj4gfF86Uy4KPj4gCj4gCj4g SSBoYXZlIHRvIGxvYWRpbmcgb24gZXZlcnkgYm9vdCB0aGUgc2NyaXB0IGZvciBwcm90ZWN0aW5n IC9wcm9jIAo+IGRpcmVjdG9yeS4gRXZlbiBhIHJwaSBjYW4gaGFuZGxlIHN1Y2ggdGFzayBlYXNp bHkuIFRvIGxvYWQgdGhlCj4gZmlyZXdhbGwgd291bGQgdGFrZSBtdWNoIGxvbmdlci4KPiAKPiBX aGVuIHRoZSBvdGhlciBwb2xpY2llcyBhcmUgc2V0IHRoZXkgYXJlIHBlcnNpdGVucyBvdmVyIHJl Ym9vdAo+IHVudGlsIG5leHQgdXBkYXRlIG9yIHNvbWUgaGFyZGRyaXZlIGNyYXNoIG9yIHNvbWUg YWRtaW4gbWlzdGFrZS4KPiAKPiBTbyB0aGUgaG93dG8gc2V0dXAgaXMgaW1wb3J0YW50LiBEaXNj dXNzaW9uIGFib3V0IHRoZSBwcmVmZXIKPiBsYW5ndWFnZSBvciBjb2Rpbmcgc3R5bGUgaXMgc2Vj b25kYXJ5IGJ1dCBpcyBhbHdheXMgd2VsY29tZSBmb3IKPiBhbXVzZW1lbnQuCj4gCj4gRm9yIG1l IHRoZSBtYWluIHBvaW50IGlzIHN0aWxsIG1pc3NpbmcgdG8gY3V0IHRoZSBwcm9ibGVtIGludG8K PiBzbWFsbCBwcm9ibGVtcy4gRm9yIGV4YW1wbGU6IFdoYXQgaGF2ZSB0byBiZSBwcm90ZWN0ZWQg YWZ0ZXIgdGhlCj4gYm9vdCBwcm9jZXNzIGlzIGZpbm5pc2ggb24gYSBtaW5pbWFsIGxpbnV4IHN5 c3RlbS4gSG93IGNhbiBzZXR1cAo+IGFuZCBob3d0byBiYWNrdXAgYW5kIGhvd3RvIHRlc3QgcG9s aWNpZXMuIFRoaXMgaGF2ZSB0byBleGNsdWRlIGFsbAo+IHNlcnZpY2VzIGxpa2Ugc3NoIGJlY2F1 c2UgSSBkb250IGNvdW50IHRoZW0gdG8gYSBtaW5pbWFsIGxpbnV4Cj4gc3lzdGVtLiBCdXQgaW5j bHVkZSBkaWZmZXJlbnQgYm9vdHN5c3RlbXMgbGlrZSBvcGVucmMgb3Igc3lzdGVtZAo+IGFuZCB0 aGV5IG5lZWQgZGlmZmVyZW50IHBvbGljaWVzLgo+IAo+IFNvIGZhciBnb29kIG5pZ2h0Lgo+IAo+ PiBJIGhhdmUgc29sdmVkIChJIHRoaW5rKSB0aGUgaGFjayBvZiBoYXJkY29kZWQgdHlwZXMsIG5v dyB0aGUKPj4gc2NyaXB0IGFwcGVhcnMgdG8gYmUgYSByZWFsIHNjcmlwdCBhbmQgbm90IGEgdGV4 dCB3cml0dGVuIGJ5IGEKPj4gKHNvbWV0aGluZyBsaWtlKSBkcnVua2VuX2FtYXRldXJfcHJvZ3Jh bW1lcl9hZnRlcl9hX2JhZF9kYXkgZnJvbQo+PiB0aGUgcG9pbnQgb2YgdmlldyBvZiBhIHJlYWwg cHJvZ3JhbW1lci4uLgo+PiAKPj4gUm9sZXMsIHR5cGVzIGFuZCBuYW1lcyBhcmUgYWxsb2NhdGVk IGF1dG9tYWdpY2FsbHkgdG8gYXZvaWQKPj4gY29sbGlzaW9ucyBhbmQgb3ZlcndyaXR0aW5nLi4u LiBIb3dldmVyIGl0IGNvdWxkIGJlIGJyb2tlbiBpbiB0b28KPj4gbWFueSBwbGFjZXMgYW5kIHN1 cmVseSBtaW5lIGl0J3Mgbm90IHRoZSBiZXR0ZXIgd2F5IHRvIGRvCj4+IHRoaW5ncy4KPj4gCj4+ IEkgaGF2ZSBwbGFubmVkIHRvIGFkZCB0byBtYW55IGNoZWNrcyBhcyBpbiBpZiBbIC16IGJsYWJs YWJsYSBdCj4+IHdpdGggYmluYXJpZXMgYW5kIG1heWJlIHVzZSBhbmQgYWJ1c2UgYW5kIGV2ZW4g bWlzc3VzZSBvZgo+PiAkKHdoZXJlaXMgYmxhYmxhYmxhKS4KPj4gCj4+IGZvciBub3cgSSB0aGlu ayBpdCBjb3VsZCBiZSBhZGRlZCBhcyBmdW5jdGlvbnM6Cj4+IAo+PiByY19kdW1teXJvb3QoKTog Y29weSByb290IHJvbGUgdG8gYSBuZXcgb25lIGNvcHkgZnJvbSBnZW5lcmFsCj4+IHVzZXIgYW5k IGFzc2lnbmVkIHRvIHJvb3QgYWNjb3VudCAoaW4gcHJvZ3Jlc3MpCj4+IAo+PiBjYXBfcmNfY3Jl YXRlX2ZvcmVuc2ljX3JvbGUoKSBhbiByZXFfcmVhdXRoIGF1dGhlbnRpY2F0ZWQgZm9yY2VkCj4+ IHJvbGUgdGhhdCBjYW4gcmVhZCBhbnl0aGluZyBldmVuIHJhbSBtZW1vcnkgYW5kIGNhbiBhY2Nl c3MgYXQgcmF3Cj4+IHRvIGFueSBkZXZpY2VzIChpbiBwcm9ncmVzcywgYSBsb3Qgb2YgY29weS1w YXN0ZSBmcm9tIHByaW9yIGNvZGUKPj4gd2l0aCBzb21lIHR1bmluZykKPj4gCj4+IGNhcF9yY19w YWNrYWdlX3N5c3RlbSgpOiBvdGhlciBmb3JjZWQgcmVfYXV0aGVudGljYXRlZCByb2xlIHRoYXQK Pj4gY291bGQgcmVhZCB3cml0ZSBhbnl0aGluZyBub3QgaW4gL2hvbWUgL2FkbWluIC9yb290IGRp cmVjdG9yaWVzCj4+IGFuZCBjYW4gY2hhbmdlIGFueXRoaW5nLCBhc3NpZ24gcmlnaHRzIGV2ZXJ5 d2hlcmUgdW5kZXIgdGhlaXIKPj4gIm93bmVkIiB0eXBlcyBhbmQgd2l0aCBpbmRpdmlkdWFsX2Zk X2NyZWF0ZV90eXBlIGV2ZXJ5d2hlcmUgdG9vLgo+PiAKPj4gcmNfbWFya19kZXZpY2VzKCk6YXNz aWduIGVhY2goZ3JvdXA/KSBkZXZpY2VzIHRoZWlyIG93biBkZXYgYW5kCj4+IGZkIHR5cGUuCj4+ IAo+PiByY19tYXJrX3Byb2Nfc3lzKCk6YXNzaWduIC9wcm9jL2tjb3JlIG9yIC9wcm9jL2NvbmZp Zy5nei4uLiBvcgo+PiBhbnl0aGluZyBlbHNlIGl0J3Mgb3duIGZkX3R5cGUuCj4+IAo+PiByY19y ZXN0cmljdF9wZXJsX3B5dGhvbigpCj4+IAo+PiByY19mb3JiaWRfc2VuZF90b190ZXJtaW5hbHMo KTogdGlvY3N0aSBraWxsLiAKPj4gcmNfZm9yYmlkX3NjZF9rbWVtX3RvX2FsbG5vdGZvcmVuc2lj KCkgCj4+IHJjX21vemlsbGFfaXNvbGF0aW9uX3RvX3Byb3RlY3RfdXNlcl9maWxlc19hZ2FpbnN0 X3JhbnNvbXdhcmUoKQo+PiAKPj4gT25lIG9mIHRoaXMgZGF5cyBJIHdpbGwgZG8gaXQuIEkgdGhp bmsgSSdtIGdvaW5nIHRvIHNsZWVwIG5vdy4KPj4gR2V0IGZ1bgo+PiAKPj4gZnVuY3Rpb24gY2Fw X3Jlc2V0X2NhcHMoKSB7IGZvciBmaWxlIGluIC91c3IvbG9jYWwvYmluLyoKPj4gL3Vzci9sb2Nh bC9zYmluLyogL3NiaW4vKiAvdXNyL2Jpbi8qIC9iaW4vKiAvdXNyL3NiaW4vKgo+PiAvZXRjL2lu aXQuZC8qIC9ldGMvY3Jvbi5kYWlseS8qIC9ldGMvY3Jvbi53ZWVrbHkvKiAKPj4gL2V0Yy9jcm9u LmhvdXJseS8qIC9ldGMvY3Jvbi5tb250aGx5LyogL2V0Yy9jcm9uLndlZWtseS8qCj4+IC9ldGMv Y3Jvbi5kLyogL3Vzci9saWJleGVjLyoqLyo7IGRvIGF0dHJfc2V0X2ZpbGVfZGlyIEZEICIkZmls ZSIKPj4gbWF4X2NhcHMgVUE7IGRvbmUgfQo+PiAKPj4gCj4+IGZ1bmN0aW9uIHJjX2Jvb3RzY3Jp cHRzcmMoKSB7IGRlY2xhcmUgLWEKPj4gbGlzdF91c2VkX3JvbGVzPSQocmNfZ2V0X2l0ZW0gbGlz dF9yb2xlX25yKSBkZWNsYXJlIC1hCj4+IGxpc3RfdXNlZF9mZF90eXBlcz0kKHJjX2dldF9pdGVt IGxpc3RfZmRfdHlwZV9ucikgZGVjbGFyZSAtYQo+PiBsaXN0X3VzZWRfZGV2X3R5cGVzPSQocmNf Z2V0X2l0ZW0gbGlzdF9kZXZfdHlwZV9ucikgZGVjbGFyZSAtYQo+PiBsaXN0X3VzZWRfaXBjX3R5 cGVzPSQocmNfZ2V0X2l0ZW0gbGlzdF9pcGNfdHlwZV9ucikgZGVjbGFyZSAtYQo+PiBsaXN0X3Vz ZWRfdXNlcl90eXBlcz0kKHJjX2dldF9pdGVtIGxpc3RfdXNlcl90eXBlX25yKSBkZWNsYXJlIC1h Cj4+IGxpc3RfdXNlZF9wcm9jZXNzX3R5cGVzPSQocmNfZ2V0X2l0ZW0gbGlzdF9wcm9jZXNzX3R5 cGVfbnIpIAo+PiBkZWNsYXJlIC1hIGxpc3RfdXNlZF9ncm91cF90eXBlcz0kKHJjX2dldF9pdGVt IGxpc3RfZ3JvdXBfdHlwZXMKPj4gfGF3ayAne3ByaW50ICQxfScpCj4+IAo+PiBUWVBFPTEwMCBS T0xFPTEwMCBmb3IgTkFNRSBpbiAvZXRjL2luaXQuZC8qIC9ldGMvY3Jvbi5kYWlseS8qCj4+IC9l dGMvY3Jvbi53ZWVrbHkvKiAvZXRjL2Nyb24uaG91cmx5LyogL2V0Yy9jcm9uLm1vbnRobHkvKgo+ PiAvZXRjL2Nyb24ud2Vla2x5Lyo7IGRvIE5BTUVTUFJPVj0iJChiYXNlbmFtZSAkKGVjaG8gJE5B TUUpKSIgCj4+IE5BTUVTUk9MPSIkKGVjaG8gJE5BTUVTUFJPViB8Y3V0IC1jLTExKSIgTkFNRVNU WVBFPSIkKGVjaG8KPj4gJE5BTUVTUFJPViB8Y3V0IC1jIC03KSIgIyBjcmVhdGUgcm9sZSB3aGls ZSBbWwo+PiAke2xpc3RfdXNlZF9yb2xlc1sqXX0gPX4gJFJPTEUgXV0gZG8gKChST0xFKyspKSBk b25lIHJjX3NldF9pdGVtCj4+IFJPTEUgJHtST0xFfSBuYW1lICR7TkFNRVNST0x9Cj4+IAo+PiAj IHNldCBuZXRvYmpfdHlwZXMgd2hpbGUgW1sgJHtsaXN0X3VzZWRfcm9sZXNbKl19ID1+ICRST0xF IF1dIGRvIAo+PiAoKFJPTEUrKykpIGRvbmUgcmNfc2V0X2l0ZW0gVFlQRSAke1RZUEV9IHR5cGVf bmV0b2JqX25hbWUKPj4gIiR7TkFNRVNUWVBFfV9OT0JKIgo+PiAKPj4gCj4+ICNzZXQgdXNlciB0 eXBlIHdoaWxlIFtbICR7bGlzdF91c2VkX3VzZXJfdHlwZXNbKl19ID1+ICRUWVBFIF1dIAo+PiBk byAoKFRZUEUrKykpIGRvbmUgcmNfc2V0X2l0ZW0gVFlQRSAke1RZUEV9IHR5cGVfdXNlcl9uYW1l Cj4+ICIke05BTUVTVFlQRX1fVVNSIgo+PiAKPj4gCj4+ICNzZXQgZ3JvdXAgdHlwZSB3aGlsZSBb WyAke2xpc3RfdXNlZF91c2VyX3R5cGVzWypdfSA9fiAkVFlQRSBdXSAKPj4gZG8gKChUWVBFKysp KSBkb25lIHJjX3NldF9pdGVtIFRZUEUgJHtUWVBFfSB0eXBlX2dyb3VwX25hbWUKPj4gIiR7TkFN RVNUWVBFfV9HUlAiIHJjX3NldF9pdGVtIFJPTEUgJHtST0xFfSBkZWZfdXNlcl9jcmVhdGVfdHlw ZQo+PiAke1RZUEV9IHJjX3NldF9pdGVtIFJPTEUgJHtST0xFfSBkZWZfZ3JvdXBfY3JlYXRlX3R5 cGUgJHtUWVBFfQo+PiAKPj4gI3NldCBpcGMgdHlwZSB3aGlsZSBbWyAke2xpc3RfdXNlZF9pcGNf dHlwZXNbKl19ID1+ICRUWVBFIF1dIGRvIAo+PiAoKFRZUEUrKykpIGRvbmUgcmNfc2V0X2l0ZW0g VFlQRSAke1RZUEV9IHR5cGVfaXBjX25hbWUKPj4gIiR7TkFNRVNUWVBFfV9JUEMiIHJjX3NldF9p dGVtIFJPTEUgJHtST0xFfSBkZWZfaXBjX2NyZWF0ZV90eXBlCj4+ICR7VFlQRX0KPj4gCj4+IHdo aWxlIFtbICR7bGlzdF91c2VkX3Byb2NfdHlwZXNbKl19ID1+ICRUWVBFIF1dIGRvICgoVFlQRSsr KSkgCj4+IGRvbmUgcmNfc2V0X2l0ZW0gVFlQRSAke1RZUEV9IHR5cGVfcHJvY2Vzc19uYW1lCj4+ ICIke05BTUVTVFlQRX1fUFJDIiByY19zZXRfaXRlbSBST0xFICR7Uk9MRX0KPj4gZGVmX3Byb2Nl c3NfY3JlYXRlX3R5cGUgJHtUWVBFfSByY19zZXRfaXRlbSBST0xFICR7Uk9MRX0KPj4gZGVmX3By b2Nlc3NfY2hvd25fdHlwZSA0Mjk0OTY3MjkxIHJjX3NldF9pdGVtIFJPTEUgJHtST0xFfQo+PiBk ZWZfcHJvY2Vzc19leGVjdXRlX3R5cGUgNDI5NDk2NzI5NAo+PiAKPj4gd2hpbGUgW1sgJHtsaXN0 X3VzZWRfZmRfdHlwZXNbKl19ID1+ICRUWVBFIF1dIGRvICgoVFlQRSsrKSkgZG9uZQo+PiAKPj4g cmNfc2V0X2l0ZW0gVFlQRSAke1RZUEV9IHR5cGVfZmRfbmFtZSAiJHtOQU1FU1RZUEV9X0ZEIiAK Pj4gcmNfc2V0X2l0ZW0gUk9MRSAke1JPTEV9IGRlZl9mZF9jcmVhdGVfdHlwZSAke1RZUEV9IHJj X3NldF9pdGVtCj4+IFJPTEUgJHtST0xFfSBkZWZfZmRfaW5kX2NyZWF0ZV90eXBlICR7VFlQRX0g NDI5NDk2NzI5NCAKPj4gcmNfc2V0X2l0ZW0gUk9MRSAke1JPTEV9IGRlZl9mZF9pbmRfY3JlYXRl X3R5cGUgL3J1biAke1RZUEV9IAo+PiByY19zZXRfaXRlbSBST0xFICR7Uk9MRX0gZGVmX2ZkX2lu ZF9jcmVhdGVfdHlwZSAvdG1wICR7VFlQRX0gCj4+IHJjX3NldF9pdGVtIFJPTEUgJHtST0xFfSBk ZWZfdW5peHNvY2tfY3JlYXRlX3R5cGUgJHtUWVBFfSAKPj4gYXR0cl9zZXRfZmlsZV9kaXIgRkQg JHtOQU1FfSByY19pbml0aWFsX3JvbGUgJHtST0xFfSAKPj4gYXR0cl9zZXRfZmlsZV9kaXIgRkQg JHtOQU1FfSByY19mb3JjZV9yb2xlICR7Uk9MRX0gZG9uZSB9Cj4+IAo+PiBmdW5jdGlvbiByY19t YXJrcm9vdGRpcigpIHsgQkFTRV9OVU09MTAwIGRlY2xhcmUgLWEKPj4gbGlzdF91c2VkX2ZkX3R5 cGVzPSQocmNfZ2V0X2l0ZW0gbGlzdF9mZF90eXBlX25yKSBmb3IgZGlyIGluIC8qOwo+PiBkbyB3 aGlsZSBbWyAke2xpc3RfdXNlZF9mZF90eXBlc1sqXX0gPX4gJEJBU0VfTlVNIF1dIGRvIAo+PiAo KEJBU0VfTlVNKyspKSBkb25lIE5BTUU9IiQoZWNobyAkZGlyKSIKPj4gCj4+IHJjX3NldF9pdGVt IFRZUEUgJHtCQVNFX05VTX0gdHlwZV9mZF9uYW1lICR7TkFNRX0gCj4+IGF0dHJfc2V0X2ZpbGVf ZGlyIEZEICR7ZGlyfSByY190eXBlX2ZkICR7QkFTRV9OVU19IGRvbmUgfQo+PiAKPj4gZnVuY3Rp b24gcmNfbWFya290aGVydHlwZXNmaWxlcygpIHsgQkFTRV9OVU09MTAwIGRlY2xhcmUgLWEKPj4g bGlzdF91c2VkX2ZkX3R5cGVzPSQocmNfZ2V0X2l0ZW0gbGlzdF9mZF90eXBlX25yKSBmb3IgZmls ZSBpbgo+PiAvZXRjL2NvbmYuZCAvZXRjL2RlZmF1bHQgL2V0Yy9saWxvLmNvbmYgIC9ldGMvZndr bm9wIC9ldGMvb3BlbnZwbgo+PiAvZXRjL3NoYWRvdyAvZXRjL2dzaGFkb3cgL2V0Yy9kb3ZlY290 IC9ldGMvZ3J1Yi5kIC9ldGMvaGlhd2F0aGEKPj4gL2V0Yy9vcGVudnBuIC9ldGMvcGFtLmQgL2V0 Yy9wcml2b3h5IC9ldGMvdHJpcHdpcmUgL3Zhci8qIGRvCj4+IAo+PiB3aGlsZSBbWyAke2xpc3Rf dXNlZF9mZF90eXBlc1sqXX0gPX4gJEJBU0VfTlVNIF1dIGRvIAo+PiAoKEJBU0VfTlVNKyspKSBk b25lIE5BTUU9IiQoYmFzZW5hbWUgJChlY2hvICQoZWNobwo+PiAkZmlsZSknY2ZnJykpIiByY19z ZXRfaXRlbSBUWVBFICR7QkFTRV9OVU19IHR5cGVfZmRfbmFtZSAke05BTUV9IAo+PiBhdHRyX3Nl dF9maWxlX2RpciBGRCAke2Rpcn0gcmNfdHlwZV9mZCAke0JBU0VfTlVNfSBkb25lIH0KPj4gCj4+ IGZ1bmN0aW9uIHJjX21hcmtiaW5hcmllc19yb2xlc190eXBlcygpIHsgVFlQRT0xMDAgUk9MRT0x MDAgCj4+IGRlY2xhcmUgLWEgbGlzdF91c2VkX3JvbGVzPSQocmNfZ2V0X2l0ZW0gbGlzdF9yb2xl X25yKSBkZWNsYXJlIC1hCj4+IGxpc3RfdXNlZF9mZF90eXBlcz0kKHJjX2dldF9pdGVtIGxpc3Rf ZmRfdHlwZV9ucikgZGVjbGFyZSAtYQo+PiBsaXN0X3VzZWRfZGV2X3R5cGVzPSQocmNfZ2V0X2l0 ZW0gbGlzdF9kZXZfdHlwZV9ucikgZGVjbGFyZSAtYQo+PiBsaXN0X3VzZWRfaXBjX3R5cGVzPSQo cmNfZ2V0X2l0ZW0gbGlzdF9pcGNfdHlwZV9ucikgZGVjbGFyZSAtYQo+PiBsaXN0X3VzZWRfdXNl cl90eXBlcz0kKHJjX2dldF9pdGVtIGxpc3RfdXNlcl90eXBlX25yKSBkZWNsYXJlIC1hCj4+IGxp c3RfdXNlZF9wcm9jZXNzX3R5cGVzPSQocmNfZ2V0X2l0ZW0gbGlzdF9wcm9jZXNzX3R5cGVfbnIp IAo+PiBkZWNsYXJlIC1hIGxpc3RfdXNlZF9ncm91cF90eXBlcz0kKHJjX2dldF9pdGVtIGxpc3Rf Z3JvdXBfdHlwZXMKPj4gfGF3ayAne3ByaW50ICQxfScpIGZvciBOQU1FIGluIC9zYmluL2FnZXR0 eSAvYmluL2xvZ2luIC9zYmluL2luaXQKPj4gL2Jpbi9zdSAvc2Jpbi9saWxvIC91c3IvYmluL3N1 ZG8gZG8KPj4gCj4+IE5BTUVTUFJPVj0iJChiYXNlbmFtZSAkKGVjaG8gJE5BTUUpKSIgTkFNRVNS T0w9IiQoZWNobyAkTkFNRVNQUk9WCj4+IHxjdXQgLWMtMTEpIiBOQU1FU1RZUEU9IiQoZWNobyAk TkFNRVNQUk9WIHxjdXQgLWMgLTcpIiAjIGNyZWF0ZQo+PiByb2xlIHdoaWxlIFtbICR7bGlzdF91 c2VkX3JvbGVzWypdfSA9fiAkUk9MRSBdXSBkbyAoKFJPTEUrKykpIAo+PiBkb25lIHJjX3NldF9p dGVtIFJPTEUgJHtST0xFfSBuYW1lICR7TkFNRVNST0x9Cj4+IAo+PiAjIHNldCBuZXRvYmpfdHlw ZXMgd2hpbGUgW1sgJHtsaXN0X3VzZWRfcm9sZXNbKl19ID1+ICRST0xFIF1dIGRvIAo+PiAoKFJP TEUrKykpIGRvbmUgcmNfc2V0X2l0ZW0gVFlQRSAke1RZUEV9IHR5cGVfbmV0b2JqX25hbWUKPj4g IiR7TkFNRVNUWVBFfV9OT0JKIgo+PiAKPj4gCj4+ICNzZXQgdXNlciB0eXBlIHdoaWxlIFtbICR7 bGlzdF91c2VkX3VzZXJfdHlwZXNbKl19ID1+ICRUWVBFIF1dIAo+PiBkbyAoKFRZUEUrKykpIGRv bmUgcmNfc2V0X2l0ZW0gVFlQRSAke1RZUEV9IHR5cGVfdXNlcl9uYW1lCj4+ICIke05BTUVTVFlQ RX1fVVNSIgo+PiAKPj4gCj4+ICNzZXQgZ3JvdXAgdHlwZSB3aGlsZSBbWyAke2xpc3RfdXNlZF91 c2VyX3R5cGVzWypdfSA9fiAkVFlQRSBdXSAKPj4gZG8gKChUWVBFKyspKSBkb25lIHJjX3NldF9p dGVtIFRZUEUgJHtUWVBFfSB0eXBlX2dyb3VwX25hbWUKPj4gIiR7TkFNRVNUWVBFfV9HUlAiIHJj X3NldF9pdGVtIFJPTEUgJHtST0xFfSBkZWZfdXNlcl9jcmVhdGVfdHlwZQo+PiAke1RZUEV9IHJj X3NldF9pdGVtIFJPTEUgJHtST0xFfSBkZWZfZ3JvdXBfY3JlYXRlX3R5cGUgJHtUWVBFfQo+PiAK Pj4gI3NldCBpcGMgdHlwZSB3aGlsZSBbWyAke2xpc3RfdXNlZF9pcGNfdHlwZXNbKl19ID1+ICRU WVBFIF1dIGRvIAo+PiAoKFRZUEUrKykpIGRvbmUgcmNfc2V0X2l0ZW0gVFlQRSAke1RZUEV9IHR5 cGVfaXBjX25hbWUKPj4gIiR7TkFNRVNUWVBFfV9JUEMiIHJjX3NldF9pdGVtIFJPTEUgJHtST0xF fSBkZWZfaXBjX2NyZWF0ZV90eXBlCj4+ICR7VFlQRX0KPj4gCj4+IHdoaWxlIFtbICR7bGlzdF91 c2VkX3Byb2NfdHlwZXNbKl19ID1+ICRUWVBFIF1dIGRvICgoVFlQRSsrKSkgCj4+IGRvbmUgcmNf c2V0X2l0ZW0gVFlQRSAke1RZUEV9IHR5cGVfcHJvY2Vzc19uYW1lCj4+ICIke05BTUVTVFlQRX1f UFJDIiByY19zZXRfaXRlbSBST0xFICR7Uk9MRX0KPj4gZGVmX3Byb2Nlc3NfY3JlYXRlX3R5cGUg JHtUWVBFfSByY19zZXRfaXRlbSBST0xFICR7Uk9MRX0KPj4gZGVmX3Byb2Nlc3NfY2hvd25fdHlw ZSA0Mjk0OTY3MjkxIHJjX3NldF9pdGVtIFJPTEUgJHtST0xFfQo+PiBkZWZfcHJvY2Vzc19leGVj dXRlX3R5cGUgNDI5NDk2NzI5NAo+PiAKPj4gd2hpbGUgW1sgJHtsaXN0X3VzZWRfZmRfdHlwZXNb Kl19ID1+ICRUWVBFIF1dIGRvICgoVFlQRSsrKSkgZG9uZQo+PiAKPj4gcmNfc2V0X2l0ZW0gVFlQ RSAke1RZUEV9IHR5cGVfZmRfbmFtZSAiJHtOQU1FU1RZUEV9X0ZEIiAKPj4gcmNfc2V0X2l0ZW0g Uk9MRSAke1JPTEV9IGRlZl9mZF9jcmVhdGVfdHlwZSAke1RZUEV9IHJjX3NldF9pdGVtCj4+IFJP TEUgJHtST0xFfSBkZWZfZmRfaW5kX2NyZWF0ZV90eXBlICR7VFlQRX0gNDI5NDk2NzI5NCAKPj4g cmNfc2V0X2l0ZW0gUk9MRSAke1JPTEV9IGRlZl9mZF9pbmRfY3JlYXRlX3R5cGUgL3J1biAke1RZ UEV9IAo+PiByY19zZXRfaXRlbSBST0xFICR7Uk9MRX0gZGVmX2ZkX2luZF9jcmVhdGVfdHlwZSAv dG1wICR7VFlQRX0gCj4+IHJjX3NldF9pdGVtIFJPTEUgJHtST0xFfSBkZWZfdW5peHNvY2tfY3Jl YXRlX3R5cGUgJHtUWVBFfSAKPj4gYXR0cl9zZXRfZmlsZV9kaXIgRkQgJHtOQU1FfSByY19pbml0 aWFsX3JvbGUgJHtST0xFfSAKPj4gYXR0cl9zZXRfZmlsZV9kaXIgRkQgJHtOQU1FfSByY19mb3Jj ZV9yb2xlICR7Uk9MRX0gZG9uZQo+PiAKPj4gfQo+PiAKPj4gZnVuY3Rpb24gcmNfdHJ1c3RlZF9w YXRoX2V4ZWN1dGlvbigpIHsgZGVjbGFyZSAtYQo+PiBsaXN0X3VzZWRfcm9sZXM9JChyY19nZXRf aXRlbSBsaXN0X3JvbGVfbnIpIGRlY2xhcmUgLWEKPj4gbGlzdF91c2VkX2ZkX3R5cGVzPSQocmNf Z2V0X2l0ZW0gbGlzdF9mZF90eXBlX25yKQo+PiAKPj4gZm9yIGFsbF9yb2xlcyBpbiAiJHtsaXN0 X3VzZWRfcm9sZXNbQF19IiBkbyBmb3IgYWxsX3R5cGVzIGluCj4+ICIke2xpc3RfdXNlZF9mZF90 eXBlc1tAXX0iIGRvIHJjX3NldF9pdGVtIC1rIFJPTEUgIiR7YWxsX3JvbGVzfSIKPj4gdHlwZV9j b21wX2ZkICIke2FsbF90eXBlc30iIE1BUF9FWEVDIEVYRUNVVEUgZG9uZSBkb25lCj4+IAo+PiBm b3IgYWxsX3JvbGVzIGluICIke2xpc3RfdXNlZF9yb2xlc1tAXX0iIGRvIGZvciBkaXIgaW4KPj4g L3Vzci9sb2NhbC9iaW4gL3Vzci9sb2NhbC9zYmluIC9zYmluIC91c3IvYmluIC9iaW4gL3Vzci9z YmluIAo+PiAvdXNyL2xpYmV4ZWM7IGRvIHJjX3NldF9pdGVtIC1hIFJPTEUgIiR7YWxsX3JvbGVz fSIgdHlwZV9jb21wX2ZkCj4+ICQoYXR0cl9nZXRfZmlsZV9kaXIgUkMgRkQgIiR7ZGlyfSIgcmNf dHlwZV9mZCkgTUFQX0VYRUMgRVhFQ1VURSAKPj4gZWNobyAiaW5jb21wbGV0ZSBmdW5jdGlvbiwg d2hhdCdzIGhhcHBlbiB3aXRoIGNyb24gc2NyaXB0cyBhbmQKPj4gaW5pdC5kIG9uZXMsIGNhbiB5 b3UgdGVsbCBtZT8iIGRvbmUgZG9uZQo+PiAKPj4gfSBjYXBfcmVzZXRfY2FwcyByY19ib290c2Ny aXB0c3JjIHJjX21hcmtvdGhlcnR5cGVzZmlsZXMgCj4+IHJjX21hcmtyb290ZGlyIHJjX21hcmti aW5hcmllc19yb2xlc190eXBlcyAKPj4gcmNfdHJ1c3RlZF9wYXRoX2V4ZWN1dGlvbgo+PiAKPj4g Cj4+IAo+PiAKPj4gCj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fIHJzYmFjIG1haWxpbmcKPj4gbGlzdCByc2JhY0Byc2JhYy5vcmcgaHR0cDovL3d3dy5y c2JhYy5vcmcvbWFpbG1hbi9saXN0aW5mby9yc2JhYwo+IAo+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fIHJzYmFjIG1haWxpbmcgbGlzdCAKPiByc2JhY0By c2JhYy5vcmcgaHR0cDovL3d3dy5yc2JhYy5vcmcvbWFpbG1hbi9saXN0aW5mby9yc2JhYwoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCnJzYmFjIG1haWxp bmcgbGlzdApyc2JhY0Byc2JhYy5vcmcKaHR0cDovL3d3dy5yc2JhYy5vcmcvbWFpbG1hbi9saXN0 aW5mby9yc2JhYw==