From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 6B7971FF16F for ; Fri, 15 Nov 2024 12:25:45 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 1D195116BD; Fri, 15 Nov 2024 12:25:48 +0100 (CET) Message-ID: <208fd4b7-128a-4507-bb1c-1d2c00aa7285@proxmox.com> Date: Fri, 15 Nov 2024 12:25:13 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Proxmox VE development discussion , Stefan Hanreich References: <20241112122615.88854-1-s.hanreich@proxmox.com> Content-Language: en-US From: Hannes Duerr In-Reply-To: <20241112122615.88854-1-s.hanreich@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.037 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [mod.rs, firewall.pm, common.rs, types.rs, bridge.rs, gen-pve-firewall-vnet-opts.pl, vnet.pm, guest.rs, rule.rs, vnets.pm, firewall.rs, config.rs, helpers.pm, rules.pm, expression.rs, host.rs, cluster.rs] Subject: Re: [pve-devel] [PATCH docs/firewall/manager/network/proxmox{-ve-rs, -firewall} v3 00/18] add forward chain firewalling for hosts and vnets X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" VGVzdGVkIHRoZSBzZXJpZXMgYWxzbyBjb250YWluaW5nIHNvbWUgY2hhbmdlcyBvZiBWNC4KClRl c3RlZC1ieTogSGFubmVzIETDvHJyIDxoLmR1ZXJyQHByb3htb3guY29tPgoKT24gMTIuMTEuMjQg MTM6MjUsIFN0ZWZhbiBIYW5yZWljaCB3cm90ZToKPiAjIyBJbnRyb2R1Y3Rpb24KPgo+IFRoaXMg cGF0Y2ggc2VyaWVzIGludHJvZHVjZXMgYSBuZXcgZGlyZWN0aW9uIGZvciBmaXJld2FsbCBydWxl czogZm9yd2FyZC4KPiBBZGRpdGlvbmFsbHkgdGhpcyBwYXRjaCBzZXJpZXMgaW50cm9kdWNlcyBk ZWZpbmluZyBmaXJld2FsbCBydWxlcyBvbiBhIHZuZXQKPiBsZXZlbC4KPgo+ICMjIFVzZSBDYXNl cwo+Cj4gRm9yIGhvc3RzOgo+ICogaG9zdHMgdXRpbGl6aW5nIE5BVCBjYW4gZGVmaW5lIGZpcmV3 YWxsIHJ1bGVzIGZvciBOQVRlZCB0cmFmZmljCj4gKiBob3N0cyB1dGlsaXppbmcgRVZQTiB6b25l cyBjYW4gZGVmaW5lIHJ1bGVzIGZvciBleGl0IG5vZGUgdHJhZmZpYwo+ICogaG9zdHMgYWN0aW5n IGFzIGdhdGV3YXkgY2FuIGZpcmV3YWxsIHRoZSB0cmFmZmljIHRoYXQgcGFzc2VzIHRocm91Z2gg dGhlbQo+Cj4gRm9yIHZuZXRzOgo+ICogY2FuIGNyZWF0ZSBmaXJld2FsbCBydWxlcyBnbG9iYWxs eSB3aXRob3V0IGhhdmluZyB0byBhdHRhY2gvdXBkYXRlIHNlY3VyaXR5Cj4gICAgZ3JvdXBzIHRv IGV2ZXJ5IG5ld2x5IGNyZWF0ZWQgVk0KPgo+IFRoaXMgcGF0Y2ggc2VyaWVzIGlzIHBhcnRpY3Vs YXJseSB1c2VmdWwgd2hlbiBjb21iaW5lZCB3aXRoIG15IG90aGVyIGN1cnJlbnQgUkZDCj4gJ2F1 dG9nZW5lcmF0ZSBpcHNldHMgZm9yIHNkbiBvYmplY3RzJy4gSXQgZW5hYmxlcyB1c2VycyB0byBx dWlja2x5IGRlZmluZSBydWxlcwo+IGxpa2U6Cj4KPiBvbiB0aGUgaG9zdCBsZXZlbDoKPiAqIG9u bHkgU05BVCBIVFRQIHRyYWZmaWMgZnJvbSBob3N0cyBpbiB0aGlzIHZuZXQgdG8gYSBzcGVjaWZp YyBob3N0Cj4gKiByZXN0cmljdGluZyB0cmFmZmljIHJvdXRlZCBmcm9tIGhvc3RzIGluIG9uZSB2 bmV0IHRvIGFub3RoZXIgdm5ldAo+Cj4gb24gdGhlIHZuZXQgbGV2ZWw6Cj4gKiBvbmx5IGFsbG93 IERIQ1AvRE5TIHRyYWZmaWMgaW5zaWRlIGEgYnJpZGdlIHRvIHRoZSBnYXRld2F5Cj4KPiBOb3Qg b25seSBkb2VzIHRoaXMgc3RyZWFtbGluZSBjcmVhdGluZyBmaXJld2FsbCBydWxlcywgaXQgYWxz byBlbmFibGVzIHVzZXJzIHRvCj4gY3JlYXRlIGZpcmV3YWxsIHJ1bGVzIHRoYXQgaGF2ZW4ndCBi ZWVuIHBvc3NpYmxlIGJlZm9yZSBhbmQgbmVlZGVkIHRvIHJlbHkgb24KPiBleHRlcm5hbCBmaXJl d2FsbCBhcHBsaWFuY2VzLgo+Cj4gU2luY2UgZm9yd2FyZGVkIHRyYWZmaWMgZ29lcyAqYm90aCog d2F5cywgeW91IGdlbmVyYWxseSBoYXZlIHRvIGNyZWF0ZSB0d28gcnVsZXMKPiBpbiBjYXNlIG9m IGJpLWRpcmVjdGlvbmFsIHRyYWZmaWMuIEl0IG1pZ2h0IG1ha2Ugc2Vuc2UgdG8gc2ltcGxpZnkg dGhpcyBpbiB0aGUKPiBmdXR1cmUgYnkgYWRkaW5nIGFuIGFkZGl0aW9uYWwgb3B0aW9uIHRvIHRo ZSBmaXJld2FsbCBjb25maWcgc2NoZW1lIHRoYXQKPiBzcGVjaWZpZXMgdGhhdCBydWxlcyBpbiB0 aGUgb3RoZXIgZGlyZWN0aW9uIHNob3VsZCBhbHNvIGdldCBhdXRvbWF0aWNhbGx5Cj4gZ2VuZXJh dGVkLgo+Cj4gIyMgVXNhZ2UKPgo+IEZvciBjcmVhdGluZyBmb3J3YXJkIHJ1bGVzIG9uIHRoZSBj bHVzdGVyL2hvc3QgbGV2ZWwsIHlvdSBzaW1wbHkgY3JlYXRlIGEgbmV3Cj4gcnVsZSB3aXRoIHRo ZSBuZXcgJ2ZvcndhcmQnIGRpcmVjdGlvbi4gSXQgdXNlcyB0aGUgZXhpc3RpbmcgY29uZmlndXJh dGlvbiBmaWxlcy4KPgo+IEZvciBjcmVhdGluZyB0aGVtIG9uIGEgdm5ldCBsZXZlbCwgdGhlcmUg YXJlIG5ldyBmaXJld2FsbCBjb25maWd1cmF0aW9uIGZpbGVzCj4gbG9jYXRlZCB1bmRlciAnL2V0 Yy9wdmUvc2RuL2ZpcmV3YWxsLzx2bmV0Pi5mdycuIEl0IHV0aWxpemVzIHRoZSBzYW1lCj4gY29u ZmlndXJhdGlvbiBmb3JtYXQgYXMgdGhlIGV4aXN0aW5nIGZpcmV3YWxsIGNvbmZpZ3VyYXRpb24g ZmlsZXMuIFlvdSBjYW4gb25seQo+IGRlZmluZSBydWxlcyB3aXRoIGRpcmVjdGlvbiAnZm9yd2Fy ZCcgb24gYSB2bmV0LWxldmVsLgo+Cj4gIyMgRGVwZW5kZW5jaWVzCj4KPiBkZXBlbmRzIG9uIG15 IG90aGVyIHBhdGNoIHNlcmllcyAnYXV0b2dlbmVyYXRlIGlwc2V0cyBmb3Igc2RuIG9iamVjdHMn LCBmdXJ0aGVyCj4gaW5zdHJ1Y3Rpb24gY2FuIGJlIGZvdW5kIHRoZXJlLgo+Cj4gRnVydGhlcm1v cmU6Cj4gKiBwcm94bW94LWZpcmV3YWxsIGRlcGVuZHMgb24gcHJveG1veC12ZS1ycwo+ICogcHZl LW1hbmFnZXIgZGVwZW5kcyBvbiBwdmUtZmlyZXdhbGwKPiAqIHB2ZS1uZXR3b3JrIGRlcGVuZHMg b24gcHZlLWZpcmV3YWxsCj4KPiBDaGFuZ2VzIGZyb20gdjIgdG8gdjM6Cj4gKiBkbyBub3QgYWxs b3cgUkVKRUNUIHJ1bGVzIGluIGZvcndhcmQgY2hhaW5zIGluIFVJIGFuZCBiYWNrZW5kIC0gdGhh bmtzIEBIYW5uZXMKPiAqIHVzZSBhcnJvdyBzeW50YXggZm9yIGNhbGxpbmcgZnVuY3Rpb25zIGlu c3RlYWQgb2YgJiQgLSB0aGFua3MgQEhhbm5lcwo+ICogc2V0IHdpZHRoIG9mIG5ldyBWTmV0IGZp cmV3YWxsIHBhbmVsIHZpYSBmbGV4LCB0byBhdm9pZCB3ZWlyZCBsb29raW5nIHBhbmVsIC0KPiAg ICB0aGFua3MgQEhhbm5lcwo+ICogaW1wcm92ZSBkb2N1bWVudGF0aW9uIC0gdGhhbmtzIEBIYW5u ZXMKPiAqIHNob3cgYSB3YXJuaW5nIGluIHRoZSBmcm9udGVuZCB3aGVuIGNyZWF0aW5nIGZvcndh cmQgcnVsZXMgLSB0aGFua3MgQFRob21hcwo+Cj4gQ2hhbmdlcyBmcm9tIFJGQyB0byB2MjoKPiAq IEZpeGVkIHNldmVyYWwgYnVncwo+ICAgICAgKiBTRE4gRmlyZXdhbGwgZm9sZGVyIGRvZXMgbm90 IGF1dG9tYXRpY2FsbHkgY3JlYXRlZCAodGhhbmtzIEBHYWJyaWVsKQo+ICAgICAgKiBGaXJld2Fs bCBmbHVzaGVzIHRoZSBicmlkZ2UgdGFibGUgaWYgbm8gZ3Vlc3QgZmlyZXdhbGwgaXMgYWN0aXZl LCBldmVuCj4gICAgICAgIHRob3VnaCBWTmV0LWxldmVsIHJ1bGVzIGV4aXN0Cj4gKiBWTmV0LWxl dmVsIGZpcmV3YWxsIG5vdyBtYXRjaGVzIG9uIGJvdGggaW5wdXQgYW5kIG91dHB1dCBpbnRlcmZh Y2UKPiAqIEludHJvZHVjZWQgbG9nIG9wdGlvbiBmb3IgVk5ldCBmaXJld2FsbAo+ICogSW1wcm92 ZWQgc3R5bGUgb2YgcGVybCBjb2RlICh0aGFua3MgQFRob21hcykKPiAqIHByb21veC1maXJld2Fs bCBub3cgdmVyaWZpZXMgdGhlIGRpcmVjdGlvbnMgb2YgcnVsZXMKPiAgICAgICogYWRkZWQgc29t ZSBhZGRpdGlvbmFsIHRlc3RzIHRvIHZlcmlmeSB0aGlzIGJlaGF2aW9yCj4gKiBhZGRlZCBkb2N1 bWVudGF0aW9uCj4KPiBwcm94bW94LXZlLXJzOgo+Cj4gU3RlZmFuIEhhbnJlaWNoICg0KToKPiAg ICBmaXJld2FsbDogYWRkIGZvcndhcmQgZGlyZWN0aW9uCj4gICAgZmlyZXdhbGw6IGFkZCBicmlk Z2UgZmlyZXdhbGwgY29uZmlnIHBhcnNlcgo+ICAgIGNvbmZpZzogZmlyZXdhbGw6IGFkZCB0ZXN0 cyBmb3IgaW50ZXJmYWNlIGFuZCBkaXJlY3Rpb25zCj4gICAgaG9zdDogYWRkIHN0cnVjdCByZXBy ZXNlbnRpbmcgYnJpZGdlIG5hbWVzCj4KPiAgIHByb3htb3gtdmUtY29uZmlnL3NyYy9maXJld2Fs bC9icmlkZ2UucnMgICAgIHwgNjQgKysrKysrKysrKysrKysrKysrKwo+ICAgcHJveG1veC12ZS1j b25maWcvc3JjL2ZpcmV3YWxsL2NsdXN0ZXIucnMgICAgfCAxMSArKysrCj4gICBwcm94bW94LXZl LWNvbmZpZy9zcmMvZmlyZXdhbGwvY29tbW9uLnJzICAgICB8IDExICsrKysKPiAgIHByb3htb3gt dmUtY29uZmlnL3NyYy9maXJld2FsbC9ndWVzdC5ycyAgICAgIHwgNjYgKysrKysrKysrKysrKysr KysrKysKPiAgIHByb3htb3gtdmUtY29uZmlnL3NyYy9maXJld2FsbC9ob3N0LnJzICAgICAgIHwg MTIgKysrLQo+ICAgcHJveG1veC12ZS1jb25maWcvc3JjL2ZpcmV3YWxsL21vZC5ycyAgICAgICAg fCAgMSArCj4gICBwcm94bW94LXZlLWNvbmZpZy9zcmMvZmlyZXdhbGwvdHlwZXMvcnVsZS5ycyB8 IDEwICsrLQo+ICAgcHJveG1veC12ZS1jb25maWcvc3JjL2hvc3QvbW9kLnJzICAgICAgICAgICAg fCAgMSArCj4gICBwcm94bW94LXZlLWNvbmZpZy9zcmMvaG9zdC90eXBlcy5ycyAgICAgICAgICB8 IDQ2ICsrKysrKysrKysrKysrCj4gICA5IGZpbGVzIGNoYW5nZWQsIDIxOSBpbnNlcnRpb25zKCsp LCAzIGRlbGV0aW9ucygtKQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHByb3htb3gtdmUtY29uZmln L3NyYy9maXJld2FsbC9icmlkZ2UucnMKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBwcm94bW94LXZl LWNvbmZpZy9zcmMvaG9zdC90eXBlcy5ycwo+Cj4KPiBwcm94bW94LWZpcmV3YWxsOgo+Cj4gU3Rl ZmFuIEhhbnJlaWNoICg0KToKPiAgICBuZnRhYmxlczogZGVyaXZlIGFkZGl0aW9uYWwgdHJhaXRz IGZvciBuZnRhYmxlcyB0eXBlcwo+ICAgIHNkbjogYWRkIHN1cHBvcnQgZm9yIGxvYWRpbmcgdm5l dC1sZXZlbCBmaXJld2FsbCBjb25maWcKPiAgICBzZG46IGNyZWF0ZSBmb3J3YXJkIGZpcmV3YWxs IHJ1bGVzCj4gICAgdXNlIHN0ZDo6bWVtOjp0YWtlIG92ZXIgZHJhaW4oKQo+Cj4gICAuLi4vcmVz b3VyY2VzL3Byb3htb3gtZmlyZXdhbGwubmZ0ICAgICAgICAgICAgfCAgNTQgKysrKysrKysKPiAg IHByb3htb3gtZmlyZXdhbGwvc3JjL2NvbmZpZy5ycyAgICAgICAgICAgICAgICB8ICA4OCArKysr KysrKysrKystCj4gICBwcm94bW94LWZpcmV3YWxsL3NyYy9maXJld2FsbC5ycyAgICAgICAgICAg ICAgfCAxMjIgKysrKysrKysrKysrKysrKystCj4gICBwcm94bW94LWZpcmV3YWxsL3NyYy9ydWxl LnJzICAgICAgICAgICAgICAgICAgfCAgIDcgKy0KPiAgIHByb3htb3gtZmlyZXdhbGwvdGVzdHMv aW50ZWdyYXRpb25fdGVzdHMucnMgICB8ICAxMiArKwo+ICAgLi4uL2ludGVncmF0aW9uX3Rlc3Rz X19maXJld2FsbC5zbmFwICAgICAgICAgIHwgIDg2ICsrKysrKysrKysrKwo+ICAgcHJveG1veC1u ZnRhYmxlcy9zcmMvZXhwcmVzc2lvbi5ycyAgICAgICAgICAgIHwgICA4ICsrCj4gICBwcm94bW94 LW5mdGFibGVzL3NyYy90eXBlcy5ycyAgICAgICAgICAgICAgICAgfCAgMTQgKy0KPiAgIDggZmls ZXMgY2hhbmdlZCwgMzc4IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQo+Cj4KPiBwdmUt ZmlyZXdhbGw6Cj4KPiBTdGVmYW4gSGFucmVpY2ggKDMpOgo+ICAgIHNkbjogYWRkIHZuZXQgZmly ZXdhbGwgY29uZmlndXJhdGlvbgo+ICAgIGFwaTogYWRkIHZuZXQgZW5kcG9pbnRzCj4gICAgZmly ZXdhbGw6IG1vdmUgdG8gYXJyb3cgc3ludGF4IGZvciBjYWxsaW5nIGZ1bmN0aW9ucwo+Cj4gICBz cmMvUFZFL0FQSTIvRmlyZXdhbGwvTWFrZWZpbGUgfCAgIDEgKwo+ICAgc3JjL1BWRS9BUEkyL0Zp cmV3YWxsL1J1bGVzLnBtIHwgIDg0ICsrKysrKysrKysrKysKPiAgIHNyYy9QVkUvQVBJMi9GaXJl d2FsbC9WbmV0LnBtICB8IDE2OCArKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAgc3JjL1BW RS9GaXJld2FsbC5wbSAgICAgICAgICAgIHwgMjEzICsrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLQo+ICAgc3JjL1BWRS9GaXJld2FsbC9IZWxwZXJzLnBtICAgIHwgIDEyICsrCj4gICA1 IGZpbGVzIGNoYW5nZWQsIDQzMyBpbnNlcnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkKPiAgIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmMvUFZFL0FQSTIvRmlyZXdhbGwvVm5ldC5wbQo+Cj4KPiBwdmUt bWFuYWdlcjoKPgo+IFN0ZWZhbiBIYW5yZWljaCAoNSk6Cj4gICAgZmlyZXdhbGw6IGFkZCBmb3J3 YXJkIGRpcmVjdGlvbiB0byBydWxlIHBhbmVsCj4gICAgZmlyZXdhbGw6IGFkZCB2bmV0IHRvIGZp cmV3YWxsIG9wdGlvbnMgY29tcG9uZW50Cj4gICAgZmlyZXdhbGw6IG1ha2UgYmFzZV91cmwgZHlu YW1pY2FsbHkgY29uZmlndXJhYmxlIGluIG9wdGlvbnMgY29tcG9uZW50Cj4gICAgc2RuOiBhZGQg ZmlyZXdhbGwgcGFuZWwKPiAgICBmaXJld2FsbDogcnVsZXM6IHNob3cgd2FybmluZyB3aGVuIGNy ZWF0aW5nIGZvcndhcmQgcnVsZXMKPgo+ICAgd3d3L21hbmFnZXI2L01ha2VmaWxlICAgICAgICAg ICAgICAgIHwgIDIgKwo+ICAgd3d3L21hbmFnZXI2L2RjL0NvbmZpZy5qcyAgICAgICAgICAgIHwg IDkgKysrCj4gICB3d3cvbWFuYWdlcjYvZGMvU2VjdXJpdHlHcm91cHMuanMgICAgfCAgMSArCj4g ICB3d3cvbWFuYWdlcjYvZ3JpZC9GaXJld2FsbE9wdGlvbnMuanMgfCA3NCArKysrKysrKysrKysr KysrKy0tLS0KPiAgIHd3dy9tYW5hZ2VyNi9ncmlkL0ZpcmV3YWxsUnVsZXMuanMgICB8IDk2ICsr KysrKysrKysrKysrKysrKysrKysrKy0tLS0KPiAgIHd3dy9tYW5hZ2VyNi9seGMvQ29uZmlnLmpz ICAgICAgICAgICB8ICAxICsKPiAgIHd3dy9tYW5hZ2VyNi9ub2RlL0NvbmZpZy5qcyAgICAgICAg ICB8ICAxICsKPiAgIHd3dy9tYW5hZ2VyNi9xZW11L0NvbmZpZy5qcyAgICAgICAgICB8ICAxICsK PiAgIHd3dy9tYW5hZ2VyNi9zZG4vRmlyZXdhbGxQYW5lbC5qcyAgICB8IDUwICsrKysrKysrKysr KysrKwo+ICAgd3d3L21hbmFnZXI2L3Nkbi9GaXJld2FsbFZuZXRWaWV3LmpzIHwgNzcgKysrKysr KysrKysrKysrKysrKysrKwo+ICAgMTAgZmlsZXMgY2hhbmdlZCwgMjg2IGluc2VydGlvbnMoKyks IDI2IGRlbGV0aW9ucygtKQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHd3dy9tYW5hZ2VyNi9zZG4v RmlyZXdhbGxQYW5lbC5qcwo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHd3dy9tYW5hZ2VyNi9zZG4v RmlyZXdhbGxWbmV0Vmlldy5qcwo+Cj4KPiBwdmUtbmV0d29yazoKPgo+IFN0ZWZhbiBIYW5yZWlj aCAoMSk6Cj4gICAgZmlyZXdhbGw6IGFkZCBlbmRwb2ludHMgZm9yIHZuZXQtbGV2ZWwgZmlyZXdh bGwKPgo+ICAgc3JjL1BWRS9BUEkyL05ldHdvcmsvU0ROL1ZuZXRzLnBtIHwgNiArKysrKysKPiAg IDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKPgo+Cj4gcHZlLWRvY3M6Cj4KPiBTdGVm YW4gSGFucmVpY2ggKDEpOgo+ICAgIGZpcmV3YWxsOiBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgZm9y d2FyZCBkaXJlY3Rpb24KPgo+ICAgTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgfCAgMSAr Cj4gICBnZW4tcHZlLWZpcmV3YWxsLXZuZXQtb3B0cy5wbCB8IDEyICsrKysrKysKPiAgIHB2ZS1m aXJld2FsbC12bmV0LW9wdHMuYWRvYyAgIHwgIDggKysrKysKPiAgIHB2ZS1maXJld2FsbC5hZG9j ICAgICAgICAgICAgIHwgNjUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KPiAg IDQgZmlsZXMgY2hhbmdlZCwgODAgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKPiAgIGNy ZWF0ZSBtb2RlIDEwMDc1NSBnZW4tcHZlLWZpcmV3YWxsLXZuZXQtb3B0cy5wbAo+ICAgY3JlYXRl IG1vZGUgMTAwNjQ0IHB2ZS1maXJld2FsbC12bmV0LW9wdHMuYWRvYwo+Cj4KPiBTdW1tYXJ5IG92 ZXIgYWxsIHJlcG9zaXRvcmllczoKPiAgICAzNyBmaWxlcyBjaGFuZ2VkLCAxNDAyIGluc2VydGlv bnMoKyksIDkzIGRlbGV0aW9ucygtKQo+CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KcHZlLWRldmVsIG1haWxpbmcgbGlzdApwdmUtZGV2ZWxAbGlzdHMu cHJveG1veC5jb20KaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlz dGluZm8vcHZlLWRldmVsCg==