From owner-freebsd-questions@FreeBSD.ORG Mon Jun 13 16:14:11 2005 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 69B6816A41C for ; Mon, 13 Jun 2005 16:14:11 +0000 (GMT) (envelope-from dufresnep@fastmail.fm) Received: from out3.smtp.messagingengine.com (out3.smtp.messagingengine.com [66.111.4.27]) by mx1.FreeBSD.org (Postfix) with ESMTP id ED0A343D4C for ; Mon, 13 Jun 2005 16:14:09 +0000 (GMT) (envelope-from dufresnep@fastmail.fm) Received: from web2.messagingengine.com (web2.internal [10.202.2.211]) by frontend1.messagingengine.com (Postfix) with ESMTP id A0CA5CA4AE1; Mon, 13 Jun 2005 12:14:08 -0400 (EDT) Received: by web2.messagingengine.com (Postfix, from userid 99) id C1A8A2FB6; Mon, 13 Jun 2005 12:14:02 -0400 (EDT) Message-Id: <1118679242.23052.236254968@webmail.messagingengine.com> X-Sasl-Enc: cPf2bPD3+sdfinyJwcIkYyI7l9s8rvGSDSNrHET93Ocf 1118679242 From: "Paul Dufresne" To: "Dmitry Mityugov" Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_1118679242230520"; charset="windows-1252" MIME-Version: 1.0 X-Mailer: MIME::Lite 1.5 (F2.73; T1.001; A1.64; B3.05; Q3.03) References: <20050609181128.G48525@www.pukruppa.net> <1118551395.29106.236171214@webmail.messagingengine.com> In-Reply-To: Date: Mon, 13 Jun 2005 12:14:02 -0400 Cc: dk dkrules , "P.U.Kruppa" , freebsd-questions@freebsd.org Subject: Re: Setting a simple firewall for PPPoE connection X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2005 16:14:11 -0000 This is a multi-part message in MIME format. --_----------=_1118679242230520 Content-Disposition: inline Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="windows-1252" MIME-Version: 1.0 X-Mailer: MIME::Lite 1.5 (F2.73; T1.001; A1.64; B3.05; Q3.03) Date: Mon, 13 Jun 2005 16:14:02 UT > Hopefully you'll find this link helpful: > http://www.defcon1.org/html/Networking_Articles/Firewall-Ipfw/firewall-ipfw.html. > > -- > Dmitry yep, I did begin with that, but was not liking the fact that it was an exclusive firewall (the end rule is to accept anything) rather than an inclusive one. I realized I could use "me" for my IP address (making it easy to write rules even my ISP give me a dynamic IP address). After reading it, looking at: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls-ipfw.html was not looking so strange anymore, and contain a good inclusive example. I did modify it a bit, mostly to accept FTP connections. I realize this make much less secure, but I really like to use FTP links in my browser. I'll attach it to my message, so that wiser one than me could warn me if I made something stupid. I use /etc/rc.local to load the rules with a script containing: sh /etc/ipfw.rules Thanks for your help! -- http://www.fastmail.fm - Send your email first class --_----------=_1118679242230520 Content-Disposition: attachment; filename="ipfw.rules" Content-Transfer-Encoding: base64 Content-Type: application/octet-stream; name="ipfw.rules" MIME-Version: 1.0 X-Mailer: MIME::Lite 1.5 (F2.73; T1.001; A1.64; B3.05; Q3.03) Date: Mon, 13 Jun 2005 16:14:02 UT IyMjIyMjIyMjIyMjIyMjIyBTdGFydCBvZiBJUEZXIHJ1bGVzIGZpbGUgIyMj IyMjIyMjCiMgRmx1c2ggb3V0IHRoZSBsaXN0IGJlZm9yZSB3ZSBiZWdpbi4K aXBmdyAtcSAtZiBmbHVzaAoKIyBTZXQgcnVsZXMgY29tbWFuZCBwcmVmaXgK Y21kPSJpcGZ3ICBhZGQiCnBpZj0idHVuMCIgICAgIyBwdWJsaWMgaW50ZXJm YWNlIG5hbWUgb2YgTklDCiAgICAgICAgICAgICAgIyBmYWNpbmcgdGhlIHB1 YmxpYyBJbnRlcm5ldAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBObyByZXN0 cmljdGlvbnMgb24gSW5zaWRlIExBTiBJbnRlcmZhY2UgZm9yIHByaXZhdGUg bmV0d29yawojIE5vdCBuZWVkZWQgdW5sZXNzIHlvdSBoYXZlIExBTi4KIyBD aGFuZ2UgeGwwIHRvIHlvdXIgTEFOIE5JQyBpbnRlcmZhY2UgbmFtZQojIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIwojJGNtZCAwMDAwNSBhbGxvdyBhbGwgZnJvbSBh bnkgdG8gYW55IHZpYSB4bDAKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTm8g cmVzdHJpY3Rpb25zIG9uIExvb3BiYWNrIEludGVyZmFjZQojIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwokY21kIDAwMDEwIGFsbG93IGFsbCBmcm9tIGFueSB0byBh bnkgdmlhIGxvMAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBBbGxvdyB0aGUg cGFja2V0IHRocm91Z2ggaWYgaXQgaGFzIHByZXZpb3VzIGJlZW4gYWRkZWQg dG8gdGhlCiMgdGhlICJkeW5hbWljIiBydWxlcyB0YWJsZSBieSBhIGFsbG93 IGtlZXAtc3RhdGUgc3RhdGVtZW50LgojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwok Y21kIDAwMDE1IGNoZWNrLXN0YXRlCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoj IEludGVyZmFjZSBmYWNpbmcgUHVibGljIEludGVybmV0IChPdXRib3VuZCBT ZWN0aW9uKQojIEludGVycm9nYXRlIHNlc3Npb24gc3RhcnQgcmVxdWVzdHMg b3JpZ2luYXRpbmcgZnJvbSBiZWhpbmQgdGhlCiMgZmlyZXdhbGwgb24gdGhl IHByaXZhdGUgbmV0d29yayBvciBmcm9tIHRoaXMgZ2F0ZXdheSBzZXJ2ZXIK IyBkZXN0aW5lIGZvciB0aGUgcHVibGljIEludGVybmV0LgojIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwoKIyBBbGxvdyBvdXQgYWNjZXNzIHRvIG15IElTUCdzIERv bWFpbiBuYW1lIHNlcnZlci4KIyB4LngueC54IG11c3QgYmUgdGhlIElQIGFk ZHJlc3Mgb2YgeW91ciBJU1AucyBETlMKIyBEdXAgdGhlc2UgbGluZXMgaWYg eW91ciBJU1AgaGFzIG1vcmUgdGhhbiBvbmUgRE5TIHNlcnZlcgojIEdldCB0 aGUgSVAgYWRkcmVzc2VzIGZyb20gL2V0Yy9yZXNvbHYuY29uZiBmaWxlCiRj bWQgMDAxMTAgYWxsb3cgdGNwIGZyb20gbWUgdG8gMTk5LjIwMi42NC43IDUz IG91dCB2aWEgJHBpZiBzZXR1cCBrZWVwLXN0YXRlCiRjbWQgMDAxMTEgYWxs b3cgdWRwIGZyb20gbWUgdG8gMTk5LjIwMi42NC43IDUzIG91dCB2aWEgJHBp ZiBrZWVwLXN0YXRlCiRjbWQgMDAxMTQgYWxsb3cgdGNwIGZyb20gbWUgdG8g MTk5LjIwMi42NC4yMzUgNTMgb3V0IHZpYSAkcGlmIHNldHVwIGtlZXAtc3Rh dGUKJGNtZCAwMDExNSBhbGxvdyB1ZHAgZnJvbSBtZSB0byAxOTkuMjAyLjY0 LjIzNSA1MyBvdXQgdmlhICRwaWYga2VlcC1zdGF0ZQojIEFsbG93IG91dCBh Y2Nlc3MgdG8gbXkgSVNQJ3MgREhDUCBzZXJ2ZXIgZm9yIGNhYmxlL0RTTCBj b25maWd1cmF0aW9ucy4KCiMgQWxsb3cgb3V0IG5vbi1zZWN1cmUgc3RhbmRh cmQgd3d3IGZ1bmN0aW9uCiRjbWQgMDAyMDAgYWxsb3cgdGNwIGZyb20gbWUg dG8gYW55IDgwIG91dCB2aWEgJHBpZiBzZXR1cCBrZWVwLXN0YXRlCgojIEFs bG93IG91dCBzZWN1cmUgd3d3IGZ1bmN0aW9uIGh0dHBzIG92ZXIgVExTIFNT TAokY21kIDAwMjIwIGFsbG93IHRjcCBmcm9tIG1lIHRvIGFueSA0NDMgb3V0 IHZpYSAkcGlmIHNldHVwIGtlZXAtc3RhdGUKCiMgQWxsb3cgb3V0IHNlbmQg JiBnZXQgZW1haWwgZnVuY3Rpb24KJGNtZCAwMDIzMCBhbGxvdyB0Y3AgZnJv bSBtZSB0byBhbnkgMjUgb3V0IHZpYSAkcGlmIHNldHVwIGtlZXAtc3RhdGUK JGNtZCAwMDIzMSBhbGxvdyB0Y3AgZnJvbSBtZSB0byBhbnkgMTEwIG91dCB2 aWEgJHBpZiBzZXR1cCBrZWVwLXN0YXRlCgojIEFsbG93IG91dCBGQlNEICht YWtlIGluc3RhbGwgJiBDVlNVUCkgZnVuY3Rpb25zCiMgQmFzaWNhbGx5IGdp dmUgdXNlciByb290ICJHT0QiIHByaXZpbGVnZXMuCiRjbWQgMDAyNDAgYWxs b3cgdGNwIGZyb20gbWUgdG8gYW55IG91dCB2aWEgJHBpZiBzZXR1cCBrZWVw LXN0YXRlIHVpZCByb290CgojIEFsbG93IG91dCBwaW5nCiRjbWQgMDAyNTAg YWxsb3cgaWNtcCBmcm9tIG1lIHRvIGFueSBvdXQgdmlhICRwaWYga2VlcC1z dGF0ZQoKIyBBbGxvdyBvdXQgVGltZQokY21kIDAwMjYwIGFsbG93IHRjcCBm cm9tIG1lIHRvIGFueSAzNyBvdXQgdmlhICRwaWYgc2V0dXAga2VlcC1zdGF0 ZQoKIyBBbGxvdyBvdXQgbm50cCBuZXdzIChpLmUuIG5ld3MgZ3JvdXBzKQok Y21kIDAwMjcwIGFsbG93IHRjcCBmcm9tIG1lIHRvIGFueSAxMTkgb3V0IHZp YSAkcGlmIHNldHVwIGtlZXAtc3RhdGUKCiMgQWxsb3cgb3V0IEZUUAokY21k IDAwMjgwIGFsbG93IHRjcCBmcm9tIG1lIHRvIGFueSAyMSBvdXQgdmlhICRw aWYga2VlcC1zdGF0ZQokY21kIDAwMjgzIGFsbG93IHRjcCBmcm9tIG1lIDIw IHRvIGFueSBvdXQgdmlhICRwaWYga2VlcC1zdGF0ZQokY21kIDAwMjg1IGFs bG93IHRjcCBmcm9tIG1lIDQ5MTUyLTY1NTM1IHRvIGFueSBvdXQgdmlhICRw aWYga2VlcC1zdGF0ZQoKIyBBbGxvdyBvdXQgd2hvaXMKJGNtZCAwMDI5MCBh bGxvdyB0Y3AgZnJvbSBtZSB0byBhbnkgNDMgb3V0IHZpYSAkcGlmIHNldHVw IGtlZXAtc3RhdGUKCiMgZGVueSBhbmQgbG9nIGV2ZXJ5dGhpbmcgZWxzZSB0 aGF0LnMgdHJ5aW5nIHRvIGdldCBvdXQuCiMgVGhpcyBydWxlIGVuZm9yY2Vz IHRoZSBibG9jayBhbGwgYnkgZGVmYXVsdCBsb2dpYy4KJGNtZCAwMDI5OSBk ZW55IGxvZyBhbGwgZnJvbSBhbnkgdG8gYW55IG91dCB2aWEgJHBpZgoKIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKIyBJbnRlcmZhY2UgZmFjaW5nIFB1YmxpYyBJ bnRlcm5ldCAoSW5ib3VuZCBTZWN0aW9uKQojIEludGVycm9nYXRlIHBhY2tl dHMgb3JpZ2luYXRpbmcgZnJvbSB0aGUgcHVibGljIEludGVybmV0CiMgZGVz dGluZSBmb3IgdGhpcyBnYXRld2F5IHNlcnZlciBvciB0aGUgcHJpdmF0ZSBu ZXR3b3JrLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyBEZW55IGFsbCBpbmJv dW5kIHRyYWZmaWMgZnJvbSBub24tcm91dGFibGUgcmVzZXJ2ZWQgYWRkcmVz cyBzcGFjZXMKJGNtZCAwMDMwMCBkZW55IGFsbCBmcm9tIDE5Mi4xNjguMC4w LzE2IHRvIGFueSBpbiB2aWEgJHBpZiAgI1JGQyAxOTE4IHByaXZhdGUgSVAK JGNtZCAwMDMwMSBkZW55IGFsbCBmcm9tIDE3Mi4xNi4wLjAvMTIgdG8gYW55 IGluIHZpYSAkcGlmICAgICAjUkZDIDE5MTggcHJpdmF0ZSBJUAokY21kIDAw MzAyIGRlbnkgYWxsIGZyb20gMTAuMC4wLjAvOCB0byBhbnkgaW4gdmlhICRw aWYgICAgICAgICAgI1JGQyAxOTE4IHByaXZhdGUgSVAKJGNtZCAwMDMwMyBk ZW55IGFsbCBmcm9tIDEyNy4wLjAuMC84IHRvIGFueSBpbiB2aWEgJHBpZiAg ICAgICAgI2xvb3BiYWNrCiRjbWQgMDAzMDQgZGVueSBhbGwgZnJvbSAwLjAu MC4wLzggdG8gYW55ICBpbiB2aWEgJHBpZiAgICAgICAgICAgICNsb29wYmFj awokY21kIDAwMzA1IGRlbnkgYWxsIGZyb20gMTY5LjI1NC4wLjAvMTYgdG8g YW55IGluIHZpYSAkcGlmICAgI0RIQ1AgYXV0by1jb25maWcKJGNtZCAwMDMw NiBkZW55IGFsbCBmcm9tIDE5Mi4wLjIuMC8yNCB0byBhbnkgaW4gdmlhICRw aWYgICAgICAgI3Jlc2VydmVkIGZvciBkb2NzCiRjbWQgMDAzMDcgZGVueSBh bGwgZnJvbSAyMDQuMTUyLjY0LjAvMjMgdG8gYW55IGluIHZpYSAkcGlmICAj U3VuIGNsdXN0ZXIgaW50ZXJjb25uZWN0CiRjbWQgMDAzMDggZGVueSBhbGwg ZnJvbSAyMjQuMC4wLjAvMyB0byBhbnkgaW4gdmlhICRwaWYgICAgICAgICAj Q2xhc3MgRCAmIEUgbXVsdGljYXN0CgojIFNvcnJ5LCB5b3UgZG9uJ3QgaGF2 ZSB0aGUgcmlnaHQgYWRkcmVzCiRjbWQgMDAzMDkgZGVueSBhbGwgZnJvbSBh bnkgdG8gbm90IG1lIGluIHZpYSAkcGlmCgojIERlbnkgcHVibGljIHBpbmdz CiRjbWQgMDAzMTAgZGVueSBpY21wIGZyb20gYW55IHRvIG1lIGluIHZpYSAk cGlmCgojIERlbnkgaWRlbnQKJGNtZCAwMDMxNSBkZW55IHRjcCBmcm9tIGFu eSB0byBtZSAxMTMgaW4gdmlhICRwaWYKCiMgRGVueSBhbGwgTmV0YmlvcyBz ZXJ2aWNlLiAxMzc9bmFtZSwgMTM4PWRhdGFncmFtLCAxMzk9c2Vzc2lvbgoj IE5ldGJpb3MgaXMgTVMvV2luZG93cyBzaGFyaW5nIHNlcnZpY2VzLgojIEJs b2NrIE1TL1dpbmRvd3MgaG9zdHMyIG5hbWUgc2VydmVyIHJlcXVlc3RzIDgx CiRjbWQgMDAzMjAgZGVueSB0Y3AgZnJvbSBhbnkgdG8gYW55IDEzNyBpbiB2 aWEgJHBpZgokY21kIDAwMzIxIGRlbnkgdGNwIGZyb20gYW55IHRvIGFueSAx MzggaW4gdmlhICRwaWYKJGNtZCAwMDMyMiBkZW55IHRjcCBmcm9tIGFueSB0 byBhbnkgMTM5IGluIHZpYSAkcGlmCiRjbWQgMDAzMjMgZGVueSB0Y3AgZnJv bSBhbnkgdG8gYW55IDgxIGluIHZpYSAkcGlmCgojIERlbnkgcHJvdG9jb2wg ODggKENpc2NvIFFPUyBSb3V0aW5nICkKJGNtZCAwMDMyNyBkZW55IDg4IGZy b20gYW55IHRvIGFueSBpbiB2aWEgJHBpZgoKIyBEZW55IGFueSBsYXRlIGFy cml2aW5nIHBhY2tldHMKJGNtZCAwMDMzMCBkZW55IGFsbCBmcm9tIGFueSB0 byBtZSBmcmFnIGluIHZpYSAkcGlmCgojIERlbnkgQUNLIHBhY2tldHMgdGhh dCBkaWQgbm90IG1hdGNoIHRoZSBkeW5hbWljIHJ1bGUgdGFibGUKJGNtZCAw MDMzMiBkZW55IHRjcCBmcm9tIGFueSB0byBtZSBlc3RhYmxpc2hlZCBpbiB2 aWEgJHBpZgoKIyBBbGxvdyB0cmFmZmljIGluIGZyb20gSVNQJ3MgREhDUCBz ZXJ2ZXIuIFRoaXMgcnVsZSBtdXN0IGNvbnRhaW4KIyB0aGUgSVAgYWRkcmVz cyBvZiB5b3VyIElTUC5zIERIQ1Agc2VydmVyIGFzIGl0LnMgdGhlIG9ubHkK IyBhdXRob3JpemVkIHNvdXJjZSB0byBzZW5kIHRoaXMgcGFja2V0IHR5cGUu CiMgT25seSBuZWNlc3NhcnkgZm9yIGNhYmxlIG9yIERTTCBjb25maWd1cmF0 aW9ucy4KIyBUaGlzIHJ1bGUgaXMgbm90IG5lZWRlZCBmb3IgLnVzZXIgcHBw LiB0eXBlIGNvbm5lY3Rpb24gdG8KIyB0aGUgcHVibGljIEludGVybmV0LiBU aGlzIGlzIHRoZSBzYW1lIElQIGFkZHJlc3MgeW91IGNhcHR1cmVkCiMgYW5k IHVzZWQgaW4gdGhlIG91dGJvdW5kIHNlY3Rpb24uCiMkY21kIDAwMzYwIGFs bG93IHVkcCBmcm9tIGFueSB0byB4LngueC54IDY3IGluIHZpYSAkcGlmIGtl ZXAtc3RhdGUKCiMgQWxsb3cgaW4gc3RhbmRhcmQgd3d3IGZ1bmN0aW9uIGJl Y2F1c2UgSSBoYXZlIGFwYWNoZSBzZXJ2ZXIKIyRjbWQgMDA0MDAgYWxsb3cg dGNwIGZyb20gYW55IHRvIG1lIDgwIGluIHZpYSAkcGlmIHNldHVwIGxpbWl0 IHNyYy1hZGRyIDIKCiMgQWxsb3cgaW4gRlRQCiRjbWQgMDA0MTQgYWxsb3cg dGNwIGZyb20gYW55IDIwIHRvIG1lIDQ5MTUyLTY1NTM1IGluIHZpYSAkcGlm IHNldHVwIGxpbWl0IHNyYy1hZGRyIDIKJGNtZCAwMDQxNiBhbGxvdyB0Y3Ag ZnJvbSBhbnkgMjAgdG8gbWUgMjAgaW4gdmlhICRwaWYgc2V0dXAgbGltaXQg c3JjLWFkZHIgMgoKIyBBbGxvdyBpbiBub24tc2VjdXJlIFRlbG5ldCBzZXNz aW9uIGZyb20gcHVibGljIEludGVybmV0CiMgbGFiZWxlZCBub24tc2VjdXJl IGJlY2F1c2UgSUQgJiBQVyBhcmUgcGFzc2VkIG92ZXIgcHVibGljCiMgSW50 ZXJuZXQgYXMgY2xlYXIgdGV4dC4KIyBEZWxldGUgdGhpcyBzYW1wbGUgZ3Jv dXAgaWYgeW91IGRvIG5vdCBoYXZlIHRlbG5ldCBzZXJ2ZXIgZW5hYmxlZC4K IyRjbWQgMDA0MjAgYWxsb3cgdGNwIGZyb20gYW55IHRvIG1lIDIzIGluIHZp YSAkcGlmIHNldHVwIGxpbWl0IHNyYy1hZGRyIDIKCiMgUmVqZWN0ICYgTG9n IGFsbCBpbmNvbWluZyBjb25uZWN0aW9ucyBmcm9tIHRoZSBvdXRzaWRlCiRj bWQgMDA0OTkgZGVueSBsb2cgYWxsIGZyb20gYW55IHRvIGFueSBpbiB2aWEg JHBpZgoKIyBFdmVyeXRoaW5nIGVsc2UgaXMgZGVuaWVkIGJ5IGRlZmF1bHQK IyBkZW55IGFuZCBsb2cgYWxsIHBhY2tldHMgdGhhdCBmZWxsIHRocm91Z2gg dG8gc2VlIHdoYXQgdGhleSBhcmUKJGNtZCAwMDk5OSBkZW55IGxvZyBhbGwg ZnJvbSBhbnkgdG8gYW55CiMjIyMjIyMjIyMjIyMjIyMgRW5kIG9mIElQRlcg cnVsZXMgZmlsZSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCg== --_----------=_1118679242230520--