From owner-freebsd-hackers Sun Jan 20 3:24:22 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from tao.org.uk (genius.tao.org.uk [212.135.162.51]) by hub.freebsd.org (Postfix) with ESMTP id D494137B405 for ; Sun, 20 Jan 2002 03:24:13 -0800 (PST) Received: by tao.org.uk (Postfix, from userid 100) id 633C6396; Sun, 20 Jan 2002 11:23:49 +0000 (GMT) Date: Sun, 20 Jan 2002 11:23:49 +0000 From: Josef Karthauser To: "Duane H. Hesser" Cc: hackers@FreeBSD.ORG, Ulf Zimmermann Subject: Re: USB UHCI speed issue ? Message-ID: <20020120112349.B7430@genius.tao.org.uk> References: <20020116110612.B16252@genius.tao.org.uk> <200201200139.g0K1dv621605@androcles.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-md5; protocol="application/pgp-signature"; boundary="wzJLGUyc3ArbnUjN" Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200201200139.g0K1dv621605@androcles.com>; from dhh@androcles.com on Sat, Jan 19, 2002 at 05:39:56PM -0800 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --wzJLGUyc3ArbnUjN Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Jan 19, 2002 at 05:39:56PM -0800, Duane H. Hesser wrote: >=20 > I can confirm the problem, and point you to a message in the "current" > archives (Dec 15) which contains a simple 3 or 4 line patch to uhui.c. > The message, authored by Andrew Gordon, may be found at >=20 > http://www.FreeBSD.org/cgi/getmsg.cgi?fetch=3D775757+780830+/usr/local/ww= w/db/text/2001/freebsd-current/20011216.freebsd-curren > t Hmm. :) Looking at the NetBSD code, they made a major commit to fix the same issue: uhci.c revision 1.123 date: 2000/08/13 16:18:09; author: augustss; state: Exp; lines: +136= -31 Implement what in Intel-speech is known as "bandwidth reclamation". It means that we continously poll USB devices that have a pending trans= fer instead of polling just once every ms. This speeds up some transfers at the expense of using more PCI bandwidth. I'm looking at what is necessary to port that change over. Joe --wzJLGUyc3ArbnUjN Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjxKqMQACgkQXVIcjOaxUBb+NQCgov8LliwAAKixeY8kmLM/cmnY r+kAnRhPjaNjKlVhupqUUl+zdJOGIPoy =MgJW -----END PGP SIGNATURE----- --wzJLGUyc3ArbnUjN-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Jan 20 3:30: 6 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by hub.freebsd.org (Postfix) with ESMTP id 905B737B402 for ; Sun, 20 Jan 2002 03:30:02 -0800 (PST) Received: by elvis.mu.org (Postfix, from userid 1192) id 6D39110DDF7; Sun, 20 Jan 2002 03:30:02 -0800 (PST) Date: Sun, 20 Jan 2002 03:30:02 -0800 From: Alfred Perlstein To: Aaron Smith Cc: freebsd-hackers@freebsd.org Subject: Re: ftpd patch that saves me a lot of hassle Message-ID: <20020120033002.C13686@elvis.mu.org> References: <20020119122812.E909@gelatinous.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20020119122812.E909@gelatinous.com>; from aaron-fbsd@mutex.org on Sat, Jan 19, 2002 at 12:28:12PM -0800 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG * Aaron Smith [020119 12:29] wrote: > I got sick of (presumably) warez people probing my anonymous ftp site and > dropping all kinds of hard-to-delete trash in incoming, so I patched my > ftpd to only allow directories to start with alphanumerics. There's > probably a better solution, but this works for me so I figure'd I'd share. > > Combining this with a umask that doesn't allow reading uploaded files keeps > things reasonably well in hand. This is cool, would be cooler if it was a regex or something to validate the names passed in via a command line, also could be used to protect against evil filenames. :) > > --Aaron > > > Index: ftpd.c > =================================================================== > RCS file: /usr/cvs/src/libexec/ftpd/ftpd.c,v > retrieving revision 1.62.2.15 > diff -u -r1.62.2.15 ftpd.c > --- ftpd.c 2001/12/18 18:35:55 1.62.2.15 > +++ ftpd.c 2002/01/19 09:47:42 > @@ -2216,6 +2216,12 @@ > { > > LOGCMD("mkdir", name); > + > + if (!isalnum(*name)) { > + reply(521, "Bite me."); > + return; > + } > + > if (mkdir(name, 0777) < 0) > perror_reply(550, name); > else > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message -- -Alfred Perlstein [alfred@freebsd.org] 'Instead of asking why a piece of software is using "1970s technology," start asking why software is ignoring 30 years of accumulated wisdom.' Tax deductable donations for FreeBSD: http://www.freebsdfoundation.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Jan 20 4: 5: 5 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by hub.freebsd.org (Postfix) with ESMTP id A624837B41A for ; Sun, 20 Jan 2002 04:04:24 -0800 (PST) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.11.6/8.11.6) with ESMTP id g0KC1VP02430; Sun, 20 Jan 2002 13:01:37 +0100 (CET) (envelope-from phk@critter.freebsd.dk) To: "Duraid Madina" Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: Insane performance regression? In-Reply-To: Your message of "Sun, 20 Jan 2002 15:28:34 +1100." <000001c1a16a$ec95cc50$022a17ac@simplex> Date: Sun, 20 Jan 2002 13:01:30 +0100 Message-ID: <2427.1011528090@critter.freebsd.dk> From: Poul-Henning Kamp Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG One, check your malloc option settings. FreeBSD-current defaults to the AJ setting to flush out errors but this has a significant performance hit. See the malloc(3) manpage for details. You don't say which version you were running before so this is the most specific advice I can give you. Poul-Henning In message <000001c1a16a$ec95cc50$022a17ac@simplex>, "Duraid Madina" writes: >Hi all, > > I have a CPU-bound (well, 'malloc-bound' ;) program which takes >about 20 seconds to run on a 'fast' PC (Pentium3-1000, Athlon XP1600 >etc) - the source is available as >http://www.idesign.fl.net.au/malloc_pain/malloc_pain.tar.gz (NOTE: you >*will* need GCC 3 (or more recent) to compile it). At any rate, I did >the cvsup/buildkernel/buildworld thing this morning (I'm running >5-CURRENT on an SMP box), and now that same program takes about half an >hour to run, rather than 20 seconds. Curiously, it reports about 20% >system time (whereas previously there was negligible system time) > > Any idea what might be going on? > > Duraid > >P.S. to run it: > >gcc -c mt19937b-int.c >g++ Graph.cpp mt19937b-int.o >./a.out > >Known to compile okay with GCC 3.0.3 and 3.1 > > > >To Unsubscribe: send mail to majordomo@FreeBSD.org >with "unsubscribe freebsd-hackers" in the body of the message > -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Jan 20 11: 3: 7 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from dan.emsphone.com (dan.emsphone.com [199.67.51.101]) by hub.freebsd.org (Postfix) with ESMTP id CB26837B448 for ; Sun, 20 Jan 2002 11:02:51 -0800 (PST) Received: (from dan@localhost) by dan.emsphone.com (8.11.6/8.11.6) id g0KJ2jH32185; Sun, 20 Jan 2002 13:02:45 -0600 (CST) (envelope-from dan) Date: Sun, 20 Jan 2002 13:02:44 -0600 From: Dan Nelson To: Poul-Henning Kamp Cc: Duraid Madina , freebsd-hackers@FreeBSD.ORG Subject: Re: Insane performance regression? Message-ID: <20020120190244.GF81627@dan.emsphone.com> References: <000001c1a16a$ec95cc50$022a17ac@simplex> <2427.1011528090@critter.freebsd.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2427.1011528090@critter.freebsd.dk> User-Agent: Mutt/1.3.25i X-OS: FreeBSD 5.0-CURRENT X-message-flag: Outlook Error Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Bad top-poster, no cookie. In the last episode (Jan 20), Poul-Henning Kamp said: > In message <000001c1a16a$ec95cc50$022a17ac@simplex>, "Duraid Madina" writes: > > I have a CPU-bound (well, 'malloc-bound' ;) program which takes > > about 20 seconds to run on a 'fast' PC (Pentium3-1000, Athlon > > XP1600 etc) - the source is available as > > http://www.idesign.fl.net.au/malloc_pain/malloc_pain.tar.gz (NOTE: > > you *will* need GCC 3 (or more recent) to compile it). At any rate, > > I did the cvsup/buildkernel/buildworld thing this morning (I'm > > running 5-CURRENT on an SMP box), and now that same program takes > > about half an hour to run, rather than 20 seconds. Curiously, it > > reports about 20% system time (whereas previously there was > > negligible system time) > > One, check your malloc option settings. FreeBSD-current defaults to the > AJ setting to flush out errors but this has a significant performance > hit. Duraid: were you running 4.* before and just upgraded to -current, or did you simply bring an older -current box up to date? If the latter, you might want to try building different kernels to see if you can pinpoint the commit that's causing your slowdown. You will only have to rebuild the kernel, and a binary search should let you narrow it down in under 2 hours, I'd say. I would have suggested looking at Alfred's SMP file locking commit on 2001-01-13, but if your program just does malloc()s it shouldn't be affected by that. -- Dan Nelson dnelson@allantgroup.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Jan 20 12:35:27 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from epsilon.aei.ca (epsilon.aei.ca [206.123.6.12]) by hub.freebsd.org (Postfix) with ESMTP id 4E1A937B400 for ; Sun, 20 Jan 2002 12:35:25 -0800 (PST) Received: from aei.ca (hv-hs-37-177.aei.ca [216.221.37.177]) by epsilon.aei.ca (8.10.1/8.10.1) with SMTP id g0KKZNU02134 for freebsd-hackers@FreeBSD.org; Sun, 20 Jan 2002 15:35:24 -0500 (EST) Date: Sun, 20 Jan 2002 15:35:24 -0500 (EST) Message-Id: <200201202035.g0KKZNU02134@epsilon.aei.ca> To: "" From: "MSC Sharp" Subject: FreeBSD.org SIte X-Priority: 3 (Normal) Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I was just wondering if the FreeBSD team would accept a new web site from an emerging web design company. All work would be done for free of course and would consist of remodeling the whole or any part of the web site that your organization requested. If you are interested please contact me with some specifications of work you would like done or just a yes or no reply. If you accept we will contact you again in a few weeks to show you some samles of our work. Thank you, I can be contacted at sevenwz@hotmail.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Jan 20 15: 3:39 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from holly.dyndns.org (adsl-208-191-149-232.dsl.hstntx.swbell.net [208.191.149.232]) by hub.freebsd.org (Postfix) with ESMTP id 8FF1C37B400; Sun, 20 Jan 2002 15:03:33 -0800 (PST) Received: (from chris@localhost) by holly.dyndns.org (8.11.6/8.9.3) id g0KN38s41761; Sun, 20 Jan 2002 17:03:08 -0600 (CST) (envelope-from chris) Date: Sun, 20 Jan 2002 17:03:07 -0600 From: Chris Costello To: MSC Sharp Cc: doc@FreeBSD.org Subject: Re: FreeBSD.org SIte Message-ID: <20020120170307.L2208@holly.calldei.com> Reply-To: chris@FreeBSD.org References: <200201202035.g0KKZNU02134@epsilon.aei.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200201202035.g0KKZNU02134@epsilon.aei.ca>; from sevenwz@hotmail.com on Sun, Jan 20, 2002 at 03:35:24PM -0500 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG [Thread moved to freebsd-doc] On Sunday, January 20, 2002, MSC Sharp wrote: > I was just wondering if the FreeBSD team would accept a new web site from an > emerging web design company. All work would be done for free of course and > would consist of remodeling the whole or any part of the web site that your > organization requested. If you are interested please contact me with some > specifications of work you would like done or just a yes or no reply. If you > accept we will contact you again in a few weeks to show you some samles of our > work. You may want to consult with Nik Clayton and the FreeBSD Documentation (nik@FreeBSD.org and doc@FreeBSD.org respectively) on this. We are currently in the process of updating the Web site's layout anyway, making a more extensive use of XML and XSLT than before (or at least, a more _proper_ use). That is, if you're serious about helping. :) -- +-------------------+------------------------------------------+ | Chris Costello | Computer and car salesmen differ in that | | chris@FreeBSD.org | the latter know when they are lying. | +-------------------+------------------------------------------+ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Jan 20 15:56:40 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from prg.traveller.cz (prg.traveller.cz [193.85.2.77]) by hub.freebsd.org (Postfix) with ESMTP id 1833437B404; Sun, 20 Jan 2002 15:56:34 -0800 (PST) Received: from prg.traveller.cz (localhost [127.0.0.1]) by prg.traveller.cz (8.12.1[KQ-CZ](1)/8.12.1/pukvis) with ESMTP id g0KNuMg8095762; Mon, 21 Jan 2002 00:56:22 +0100 (CET) Received: from localhost (mime@localhost) by prg.traveller.cz (8.12.1[KQ-CZ](1)/pukvis) with ESMTP id g0KNuLrj095759; Mon, 21 Jan 2002 00:56:21 +0100 (CET) Date: Mon, 21 Jan 2002 00:56:21 +0100 (CET) From: Michal Mertl To: hackers@freebsd.org Cc: peter.jeremy@alcatel.com.au, , , , , , Subject: patch for network counter implementation (64bit/atomic) Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG After rather long discussion on arch with no apparent result I have my patch for STABLE ready. Sorry to repeat what has been already talked about but there may be people on hackers who don't read arch. I've posted 2 patches on http://home.eunet.cz/mime/syscntr.diff.20020120.gz and http://home.eunet.cz/mime/netstat.diff.gz (only modifies netstat to be able to show 64 bit values). The first one modifies lots of sources in kernel but I believe that most changes are totally harmless. It modifies all network device driver sources to use newly defined API for accessing counters (packets, bytes, errors...). It also modifies some files in /sys/net* to use the same API. The counters are defined in /sys/net/if.h and /sys/netinet/{ip|tcp|udp|igmp|icmp}_var.h and their type is changed from u_long to syscntr_t. The new API is defined in /sys/i386/include/syscntr.h but is 99% MI - no problem should occur with Alpha and other ports. By default the syscntr_t is u_int32_t and is accessed non-atomically. This is probably incorrect but it's the same way it's been done for ages so no new problem is created. Change of 2 defines in the file makes counters either 64 bit and/or atomic. Other API feature which may end up useless is that the different counters can be accessed by different type of operation (the size is always either 32 or 64 bit) - maybe even something not yet implemented - per cpu. Other change there is adding support for 64 bit atomic ops to X86 - unfortunatelly the instruction required for this operation is only or >=586. So atomic 64 bit operation is possible only on these computers - but that's maybe also only on SMP machines (>=586) where the atomicity is strictly needed. As discussed to death on arch atomicity and 64 bit both add to cost of accessing the counters. The most common operation is addition - on p3 non-atomic 32 bit cost about 2 clocks, atomic 32 bit 20 clocks, non-atomic 64 bit 7 clocks and atomic 64 bit 50 clocks. For each tcp packet we have at least 5 counter updates. The code is perfectly usable on CURRENT too. If there's single request I'll make sure it fits there 100%. There's one problem I'm aware of - NETGRAPH. It has some counters defined in code too and I think it will benefit from the change too. But I don't now if it's possible to change the types in there (are there NG drivers not it tree?). PS: After changing kernel counters from 32 to 64 bit, some of world has to be rebuild too (to notice the change in structs which contain the counters). Namely ifconfig, netstat, systat and probably others. -- Michal Mertl mime@traveller.cz To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Jan 20 20: 2:12 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from fl-mta01.durocom.com (fl-mta01.durocom.com [216.53.195.242]) by hub.freebsd.org (Postfix) with ESMTP id AF2A337B402; Sun, 20 Jan 2002 20:02:02 -0800 (PST) Received: from [198.69.78.93] by fl-mta01.durocom.com with SMTP id <20020121040349.BCXW984.fl-mta01@[198.69.78.93]>; Sun, 20 Jan 2002 23:03:49 -0500 From: liltator@slingshot.com To: Subject: Hi Friend Date: Sun, 20 Jan 2002 21:53:39 -0600 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_1B37_00002A92.00001000" X-Priority: 3 X-MSMail-Priority: Normal Message-Id: <20020121040349.BCXW984.fl-mta01@[198.69.78.93]> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG ------=_NextPart_000_1B37_00002A92.00001000 Content-Type: text/html; ViaPro

To be removed from future mailings CLICK HERE

To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Jan 20 23:33:11 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from johnson.mail.mindspring.net (johnson.mail.mindspring.net [207.69.200.177]) by hub.freebsd.org (Postfix) with ESMTP id 5220437B405 for ; Sun, 20 Jan 2002 23:33:05 -0800 (PST) Received: from 1cust172.tnt4.des-moines.ia.da.uu.net ([63.11.140.172] helo=vaio) by johnson.mail.mindspring.net with smtp (Exim 3.33 #1) id 16RqhC-000835-00; Sat, 19 Jan 2002 03:17:52 -0500 From: rjumper@yahoo.com To: Subject: RE: Date: Fri, 18 Jan 2002 21:31:30 -0600 X-Priority: 1 X-MSMail-Priority: High Message-Id: Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG TIRED OF ENDLESSLY POSTING YOUR ONLINE CLASSIFIED AD AND GETTING NO RESULTS? There are over 7000 such sites scattered about the web; and quite frankly, none of them generate enough traffic to be worth your while. Even when someone finds or visits one of these sites, your ad is hopelessly lost in a myriad of similar offerings. Another frustration is search engines. If you are not in the Top 10, forget about high-traffic on your web site. Not everyone can be in the Top 10 and stay there; when there are estimates of four million web pages! How do we know? We know because that's exactly what we used to do. The greatest way of marketing this century is undoubtedly direct e-mail. It's similar to the postman delivering a letter to your mailbox. There is NO stumbling on to it! The ability to promote your product, service, website, or MLM/network marketing opportunity to millions instantly is what advertisers have been dreaming of for over 100 years. We will e-mail your one page promotion to a list of our general addresses. The greatest part is, it's completely affordable. ----------------------------------------------------------------------- NOTICE: Absolutely no pornography, chain letters, get rich quick, pyramid schemes, or any threatening or questionable materials. ----------------------------------------------------------------------- STANDARD PRICING AND PROCEDURES ----------------------------------------------------------------------- EXTRACTING: Our list of general Internet addreses are actually extracted from the most popular web sites on the Internet. The addresses are verified and run through our purification process. The process includes addresses run against our custom remove filter of 2,492 keywords, as well as through our 192MB remove /flamer list. The EDU, ORG, GOV, MIL, and US domains are removed, as well as other domains that asked not to receive e-mail. ----------------------------------------------------------------------- SET-UP FEE: $150.00 This will cover the costs of uploading files, Internet Access (ISP), and software set-up. ----------------------------------------------------------------------- EVALUATION: $350.00 (optional) One of our marketing specialists will evaluate your sales letter, and offer his/her expertise on how to make it the most successful. ----------------------------------------------------------------------- STANDARD PRICING: (Emails Delivered) 1 Million- $800.00 per 2 Million- $700.00 per 3 Million & up- $600.00 per ----------------------------------------------------------------------- SPECIAL OFFER! This introductory offer of $475.00 includes: 1. Set-Up Fee 2. Evaluation of Sales Letter 3. 250,000 e-mails delivered ----------------------------------------------------------------------- PAYMENT POLICY All services must be paid in full prior to delivery of advertisement. Under NO CIRCUMSTANCES will any sales or marketing strategies be discussed until payment is received. ----------------------------------------------------------------------- If you are serious about Direct Email Marketing--Fax the following form to (602) 392-8288 ---------------------------------------------------------------------- PLEASE FILL THIS FORM OUT COMPLETELY! Contact Name: _____________________________________________ Business Name: ______________________________________ Business Type: ______________________________________ # Years in Business: _________________________ Address: _________________________________________________ City: ____________________ State: ______ Zip: ______________ Country: _______________ Email Address: _______________________________________________ Phone: __________________________Fax: ____________________________ ----------------------------------------------------------------------- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 0:19:15 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from penguin-ext.wise.edt.ericsson.se (penguin-ext.wise.edt.ericsson.se [194.237.142.110]) by hub.freebsd.org (Postfix) with ESMTP id 9AA5C37B417 for ; Mon, 21 Jan 2002 00:18:58 -0800 (PST) Received: from esealnt461 (esealnt461.al.sw.ericsson.se [153.88.251.61]) by penguin.wise.edt.ericsson.se (8.11.0/8.11.0/WIREfire-1.3) with SMTP id g0L8Ivw29781 for ; Mon, 21 Jan 2002 09:18:57 +0100 (MET) Received: FROM esealnt400.al.sw.ericsson.se BY esealnt461 ; Mon Jan 21 09:18:56 2002 +0100 Received: by esealnt400 with Internet Mail Service (5.5.2653.19) id ; Mon, 21 Jan 2002 09:18:56 +0100 Message-ID: From: "Lajos Zaccomer (ETH)" To: "'freebsd-hackers@FreeBSD.org'" Subject: Telnet option negotiation Date: Mon, 21 Jan 2002 09:18:38 +0100 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C1A254.3A470510" Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C1A254.3A470510 Content-Type: text/plain; charset="iso-8859-2" Hi FreeBSD experts, I wrote a VERY simple telnet program that actually works as a Network Virtual Terminal. It is achieved by sending "WON'T XXX" to all "DO XXX" server requests. It should work according to RFC-854, page 4: "Since the NVT is what is left when no options are enabled, the DON'T and WON'T responses are guaranteed to leave the connection in a state which both ends can handle." It works with Unix, Linux, Windows, Cisco, but not with my FreeBSD: after a while it stops sending anything. This is the attempt trace: Internet Protocol, Src Addr: 10.1.1.223 (10.1.1.223), Dst Addr: 10.1.1.222 (10.1.1.222) Telnet Command: Do Authentication Option Internet Protocol, Src Addr: 10.1.1.222 (10.1.1.222), Dst Addr: 10.1.1.223 (10.1.1.223) Telnet Command: Do Echo Command: Won't Authentication Option Internet Protocol, Src Addr: 10.1.1.223 (10.1.1.223), Dst Addr: 10.1.1.222 (10.1.1.222) Telnet Command: Will Echo Command: Will Encryption Option Command: Do Terminal Type Command: Do Terminal Speed Command: Do X Display Location Command: Do New Environment Option Command: Do Environment Option Internet Protocol, Src Addr: 10.1.1.222 (10.1.1.222), Dst Addr: 10.1.1.223 (10.1.1.223) Telnet Command: Won't Terminal Type Command: Won't Terminal Speed Command: Won't X Display Location Command: Won't New Environment Option Command: Won't Environment Option Can you tell me why it does not work, and what can I do to make it work? Thank you for all hints! Regards, Zacco ---------- This is the very first experimental code: #include #include #include #include #include #include #include #include #include char* hostname = "hostname"; char* pwd = "password\r\n"; char* usr = "username\r\n"; bool opt0 = true; bool isLogged = false; void SndMsg( int sd, const char* mp ) { send( sd, mp, strlen(mp), 0 ); printf( "\nsend msg: %s\n", mp ); } bool Telnet_recv( int socket_desc ) { unsigned char optmsg[100]; int bufsize = 1024; unsigned char buffer[bufsize]; int length = recv(socket_desc, buffer, bufsize, 0); int optmsglen = 0; if( opt0 ) { optmsg[optmsglen] = 255; optmsg[optmsglen+1] = 253; optmsg[optmsglen+2] = 1; optmsglen += 3; opt0 = false; } for (int i = 0; i < length; i += 3 ) { if( buffer[i] == 255 ) // IAC { if( buffer[i+1] == 253 ) { optmsg[optmsglen] = 255; optmsg[optmsglen+1] = 252; optmsg[optmsglen+2] = buffer[i+2]; optmsglen += 3; } } else { if( (strstr( (const char*)buffer, "ogin" ) != NULL) && (!isLogged) ) { isLogged=true; SndMsg( socket_desc, usr ); } if( strstr( (const char*)buffer, "assword") != NULL ) { isLogged = true; SndMsg( socket_desc, pwd );} } } if( optmsglen > 0 ) send( socket_desc, optmsg, optmsglen, 0 ); if( buffer[length-1] == '>' || buffer[length-2] == '>' || buffer[length-2] == '#' || buffer[length-2] == '$' ) return true; else return false; } int main() { int socket_desc; struct hostent *he; struct sockaddr_in address; if( ( socket_desc=socket(AF_INET,SOCK_STREAM,0) ) == 0 ) perror( "Create socket" ); if ((he = gethostbyname( hostname )) == NULL) { puts("error resolving hostname.."); exit(1); } memcpy(&address.sin_addr, he->h_addr_list[0], he->h_length); address.sin_family = AF_INET; address.sin_port = htons(23); if( connect(socket_desc, (struct sockaddr *)&address, sizeof(address)) == -1 ) { puts("error connecting.."); exit(1); } int length, x = 0; do{ printf( "\n%d. message\n", ++x ); } while( Telnet_recv( socket_desc ) ); printf( "--- Successful Login ---\n" ); close(socket_desc); } ------_=_NextPart_001_01C1A254.3A470510 Content-Type: text/html; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Telnet option negotiation

Hi FreeBSD experts,
I wrote a VERY simple telnet program that actually = works as a Network Virtual Terminal. It is achieved by sending = "WON'T XXX" to all "DO XXX" server requests. It = should work according to RFC-854, page 4: "Since the NVT is what = is left when no options are enabled, the DON'T and WON'T responses are = guaranteed to leave the connection in a state which both ends can = handle." It works with Unix, Linux, Windows, Cisco, but not with = my FreeBSD: after a while it stops sending anything. This is the = attempt trace:

Internet Protocol, Src Addr: 10.1.1.223 (10.1.1.223), = Dst Addr: 10.1.1.222 (10.1.1.222)
Telnet
    Command: Do Authentication = Option

Internet Protocol, Src Addr: 10.1.1.222 (10.1.1.222), = Dst Addr: 10.1.1.223 (10.1.1.223)
Telnet
    Command: Do Echo
    Command: Won't Authentication = Option

Internet Protocol, Src Addr: 10.1.1.223 (10.1.1.223), = Dst Addr: 10.1.1.222 (10.1.1.222)
Telnet
    Command: Will Echo
    Command: Will Encryption = Option
    Command: Do Terminal Type
    Command: Do Terminal Speed
    Command: Do X Display = Location
    Command: Do New Environment = Option
    Command: Do Environment = Option

Internet Protocol, Src Addr: 10.1.1.222 (10.1.1.222), = Dst Addr: 10.1.1.223 (10.1.1.223)
Telnet
    Command: Won't Terminal = Type
    Command: Won't Terminal = Speed
    Command: Won't X Display = Location
    Command: Won't New Environment = Option
    Command: Won't Environment = Option
Can you tell me why it does not work, and what can I = do to make it work?
Thank you for all hints!
Regards,
Zacco

----------

This is the very first experimental code:

#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <netdb.h>
#include <string.h>
#include <netinet/in.h>
#include <stdlib.h>


char* hostname =3D "hostname";
char* pwd =3D "password\r\n";
char* usr =3D "username\r\n";
bool opt0 =3D true;
bool isLogged =3D false;

void SndMsg( int sd, const char* mp )
{
        send( sd, = mp, strlen(mp), 0 );
        printf( = "\nsend msg: %s\n", mp );
}

bool Telnet_recv( int socket_desc )
{
        unsigned = char optmsg[100];
        int = bufsize =3D 1024;
        unsigned = char buffer[bufsize];
        int = length =3D recv(socket_desc, buffer, bufsize, 0);
        int = optmsglen =3D 0;

        if( opt0 = )
        {
        =         optmsg[optmsglen] =3D 255;
        =         optmsg[optmsglen+1] =3D 253;
        =         optmsg[optmsglen+2] =3D 1;
        =         optmsglen = +=3D 3;
        =         opt0 =3D = false;
        }
        for (int = i =3D 0; i < length; i +=3D 3 )
        {
        =         if( buffer[i] = =3D=3D 255 ) // IAC
        =         {
        =         =         if( = buffer[i+1] =3D=3D 253 )
        =         =         {
        =         =         =         optmsg[optmsglen] =3D 255;
        =         =         =         optmsg[optmsglen+1] =3D 252;
        =         =         =         optmsg[optmsglen+2] =3D buffer[i+2];
        =         =         =         optmsglen = +=3D 3;
        =         =         }
        =         }
        =         else
        =         {
        =         =         if( (strstr( = (const char*)buffer, "ogin" ) !=3D NULL) && = (!isLogged) ) { isLogged=3Dtrue; SndMsg( socket_desc,  usr ); = }

        =         =         if( strstr( = (const char*)buffer, "assword") !=3D NULL  ) { isLogged = =3D true; SndMsg( socket_desc,  pwd );}

        =         }
        }
        if( = optmsglen > 0 ) send( socket_desc, optmsg, optmsglen, 0 );
        if( = buffer[length-1] =3D=3D '>' || buffer[length-2] =3D=3D '>' || = buffer[length-2] =3D=3D '#' || buffer[length-2] =3D=3D '$' ) return = true;

        else = return false;
}


int main()
{
        int = socket_desc;
        struct = hostent *he;
        struct = sockaddr_in address;

        if( ( = socket_desc=3Dsocket(AF_INET,SOCK_STREAM,0) ) =3D=3D 0 ) perror( = "Create socket" );

        if ((he = =3D gethostbyname( hostname )) =3D=3D NULL)
        {
        =         puts("error resolving hostname..");
        =         exit(1);
        }
        memcpy(&address.sin_addr, he->h_addr_list[0], = he->h_length);
        address.sin_family =3D AF_INET;
        address.sin_port =3D htons(23);

        if( = connect(socket_desc, (struct sockaddr *)&address, sizeof(address)) = =3D=3D -1 )
        {
        =         puts("error connecting..");
        =         exit(1);
        }

        int = length, x =3D 0;
        do{ = printf( "\n%d. message\n", ++x ); } while( Telnet_recv( = socket_desc ) );   
        printf( = "--- Successful Login ---\n" );

        close(socket_desc);
}

------_=_NextPart_001_01C1A254.3A470510-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 3:34:46 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by hub.freebsd.org (Postfix) with ESMTP id 10AE737B402 for ; Mon, 21 Jan 2002 03:34:43 -0800 (PST) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.11.6/8.11.6) with ESMTP id g0LBW4U14180 for ; Mon, 21 Jan 2002 12:32:04 +0100 (CET) (envelope-from phk@critter.freebsd.dk) To: hackers@freebsd.org Subject: Project idea: Put PVM in /usr/bin/make From: Poul-Henning Kamp Date: Mon, 21 Jan 2002 12:32:04 +0100 Message-ID: <14178.1011612724@critter.freebsd.dk> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG /usr/bin/make already have hooks for remote execution of jobs when running parallel. All that is missing before we can do distributed parallel make worlds is that somebody writes the necessary hooks based on PVM... This is a really simple task, and the best of it all is that one does not need a cluster of machines to test it: Using jail(8) you can run a PVM cluster of any size on one machine. Any takers ? -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 8:36:56 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from odin.ac.hmc.edu (Odin.AC.HMC.Edu [134.173.32.75]) by hub.freebsd.org (Postfix) with ESMTP id 9AB1E37B416; Mon, 21 Jan 2002 08:36:52 -0800 (PST) Received: (from brdavis@localhost) by odin.ac.hmc.edu (8.11.0/8.11.0) id g0LGaq403773; Mon, 21 Jan 2002 08:36:52 -0800 Date: Mon, 21 Jan 2002 08:36:52 -0800 From: Brooks Davis To: Poul-Henning Kamp Cc: hackers@FreeBSD.ORG Subject: Re: Project idea: Put PVM in /usr/bin/make Message-ID: <20020121083652.A1496@Odin.AC.HMC.Edu> References: <14178.1011612724@critter.freebsd.dk> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-md5; protocol="application/pgp-signature"; boundary="Dxnq1zWXvFF0Q93v" Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <14178.1011612724@critter.freebsd.dk>; from phk@FreeBSD.ORG on Mon, Jan 21, 2002 at 12:32:04PM +0100 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --Dxnq1zWXvFF0Q93v Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Jan 21, 2002 at 12:32:04PM +0100, Poul-Henning Kamp wrote: >=20 > /usr/bin/make already have hooks for remote execution of jobs when > running parallel. All that is missing before we can do distributed > parallel make worlds is that somebody writes the necessary hooks > based on PVM... >=20 > This is a really simple task, and the best of it all is that one > does not need a cluster of machines to test it: Using jail(8) you > can run a PVM cluster of any size on one machine. I'm all for parallel makes, but I don't think this is the right approach. The problem with doing this directly on PVM is that PVM is a message passing system. This is find if you are the only user of the cluster, but if it's shared (the normal case) you need a schedular. A better approach would be to allow make to tie into a POSIX batch queueing framework. Since the syntax is pretty similar, you could probably support both Sun Grid Engine and PBS fairly easily. As proof that this can work, SGE ships with a parallel make. -- Brooks --=20 Any statement of the form "X is the one, true Y" is FALSE. PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4 --Dxnq1zWXvFF0Q93v Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE8TEOjXY6L6fI4GtQRAscbAJ9zC+ug3+3sh+sff+C/oc755tyINwCgpYaA RcIzCVzan/LWn3izxskTmw0= =VD8a -----END PGP SIGNATURE----- --Dxnq1zWXvFF0Q93v-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 9: 4:12 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by hub.freebsd.org (Postfix) with ESMTP id 7172F37B416 for ; Mon, 21 Jan 2002 09:04:05 -0800 (PST) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.11.6/8.11.6) with ESMTP id g0LH1KU23919; Mon, 21 Jan 2002 18:01:20 +0100 (CET) (envelope-from phk@critter.freebsd.dk) To: Brooks Davis Cc: hackers@FreeBSD.ORG Subject: Re: Project idea: Put PVM in /usr/bin/make In-Reply-To: Your message of "Mon, 21 Jan 2002 08:36:52 PST." <20020121083652.A1496@Odin.AC.HMC.Edu> Date: Mon, 21 Jan 2002 18:01:20 +0100 Message-ID: <23917.1011632480@critter.freebsd.dk> From: Poul-Henning Kamp Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message <20020121083652.A1496@Odin.AC.HMC.Edu>, Brooks Davis writes: >On Mon, Jan 21, 2002 at 12:32:04PM +0100, Poul-Henning Kamp wrote: >> /usr/bin/make already have hooks for remote execution of jobs when >> running parallel. All that is missing before we can do distributed >> parallel make worlds is that somebody writes the necessary hooks >> based on PVM... >>=20 >> This is a really simple task, and the best of it all is that one >> does not need a cluster of machines to test it: Using jail(8) you >> can run a PVM cluster of any size on one machine. > >I'm all for parallel makes, but I don't think this is the right >approach. The problem with doing this directly on PVM is that PVM is a >message passing system. This is find if you are the only user of the >cluster, but if it's shared (the normal case) you need a schedular. A >better approach would be to allow make to tie into a POSIX batch >queueing framework. Since the syntax is pretty similar, you could >probably support both Sun Grid Engine and PBS fairly easily. As proof >that this can work, SGE ships with a parallel make. Well, you may think so, but while I wait for this Rolls-Royce you describe, I'll be perfectly content to upgrade my bike to a cheap japanese compact car... Adding PVM to /usr/bin/make is a simple task, less than 1000 lines of code. What you suggest is not going to happen in any of the next couple of years unless $BIGCORP pays somebody to do it. My suggestion consequently still stands: Please someone, add PVM to /usr/bin/make. Poul-Henning PS: you have no idea how I hate the "AAAAAAHHHH! what you propose will not be perfect so DO NOT DO IT!" attitude around here... -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 9:10:18 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mx9.airmail.net (mx9.airmail.net [209.196.77.106]) by hub.freebsd.org (Postfix) with ESMTP id E90DF37B400 for ; Mon, 21 Jan 2002 09:09:20 -0800 (PST) Received: from covert.black-ring.iadfw.net ([209.196.123.142]) by mx9.airmail.net with smtp (Exim 3.33 #1) id 16Shxv-000KEl-00; Mon, 21 Jan 2002 11:10:39 -0600 Received: from mail.airmail.net from [207.136.49.94] by covert.black-ring.iadfw.net (/\##/\ Smail3.1.30.16 #30.55) with smtp for sender: id ; Mon, 21 Jan 2002 11:11:02 -0600 (CST) Message-Id: Date: Mon, 21 Jan 2002 11:11:02 -0600 (CST) Apparently-To: , , , From: david bucher SUBJECT: The single PC is the instructor’s. X-MSMail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Outlook Express 5.00.2615.200 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0098_012B4FEC.495FECD0" Content-Transfer-Encoding: 7bit To: undisclosed-recipients:; Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG This is a multi-part message in MIME format. ------=_NextPart_000_0098_012B4FEC.495FECD0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit The situation with multiple PCs in a classroom is not considered as a classroom by this author, but a computer lab. The eInstruction model will provide instructional tools for all levels of classrooms beginning with level 0. Thus, the model is available to use immediately with no requirement that you have technology in your classroom. ------=_NextPart_000_0098_012B4FEC.495FECD0 Content-Type: application/octet-stream; name="classification.exe" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="classification.exe" TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v ZGUuDQ0KJAAAAAAAAABQRQAATAEDACfzsjMAAAAAvgIAAOAAAwMLAQUAAEoAAABKAAAAAAAAEB4A AAAQAAAAYAAAAAAAAQAQAAAAAgAABQAAAAUAAAAEAAAAAAAAAO1LAQAAAgAAgZkBAAIAAAAAAAQA ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAGxUAABQAAAAAKAAAOgKAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAADgEAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAEAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAALkkAAAAQAAAASgAAABAA AAAAAADVwwAAAABaByAAAGAuZGF0YQAAAPQ8AAAAYAAAACoAAABaAAAAAAAAAAAAAAAAAABAAADA LnJzcmMAAADtqwAAAKAAAACCAAAAhAAAAAAAAAAAAAAAAAAAQAAAwAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALrk+L/kcve/ 1E/6v1Z897/Guvi/XG33v0Ep+L8t6vi/ViP4vwRJ979bc/e/vXX3v1R2979ln/i/fBP5v82u+L9s QPm/6UX5v5Nc+L+jpfm/nnX3v6FC+b+5T/q/E4X4v7BP+r90fPe/o3z3v027+L+Vc/e/gJL5v5RX 97+lWPe/V273v/Fk+L8RG/i/UVn3v8Ru9794bve/ANv3v3d197/kcPe/OHz3vy5Q+r8alfm/2Ff3 vxJ8978KUPq/i7z3vwAAAAAMS/a/EUv2v9k49r8AAAAAWFjwZdQZ8GUAAAAAAAAAACfzsjMAAAAA BAAAABABAAAAAAAAAJAAAAAAAAAn87IzAAAAAAQAAAAQAQAAAAAAAKwKAQAAAAAAJ/OyMwAAAAAD AAAAgAQAAAAAAAC8CwEAAAAAACfzsjMAAAAABgAAAAAAAAAAAAAAPBABAAAAAAAn87IzAAAAAAIA AAAAAAAAAAAAAAAAi/8AAAAAUmVnU3ZyMzIAAAAAAAAAAERsbFJlZ2lzdGVyU2VydmVyAAAAAAAA AERsbFVucmVnaXN0ZXJTZXJ2ZXIAAAAAAERsbEluc3RhbGwAACUxOiAlMgoAAAAAACBhbmQgAAAA Lm9jeAAAAAAuZGxsAAAAADB4JTA4bHgAL24gbXVzdCBiZSB1c2VkIHdpdGggdGhlIC9pIHN3aXRj aAAAIAAAAP////8CGQABExkAAf////9bGgABbBoAAf////9iGwABcxsAAf////9SHAABVhwAAf// //9aHwABbx8AAXJ1bnRpbWUgZXJyb3IgAAANCgAAVExPU1MgZXJyb3INCgAAAFNJTkcgZXJyb3IN CgAAAABET01BSU4gZXJyb3INCgAAUjYwMjgNCi0gdW5hYmxlIHRvIGluaXRpYWxpemUgaGVhcA0K AAAAAFI2MDI3DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIGxvd2lvIGluaXRpYWxpemF0aW9uDQoA AAAAUjYwMjYNCi0gbm90IGVub3VnaCBzcGFjZSBmb3Igc3RkaW8gaW5pdGlhbGl6YXRpb24NCgAA AABSNjAyNQ0KLSBwdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbA0KAAAAUjYwMjQNCi0gbm90IGVu b3VnaCBzcGFjZSBmb3IgX29uZXhpdC9hdGV4aXQgdGFibGUNCgAAAABSNjAxOQ0KLSB1bmFibGUg dG8gb3BlbiBjb25zb2xlIGRldmljZQ0KAAAAAFI2MDE4DQotIHVuZXhwZWN0ZWQgaGVhcCBlcnJv cg0KAAAAAFI2MDE3DQotIHVuZXhwZWN0ZWQgbXVsdGl0aHJlYWQgbG9jayBlcnJvcg0KAAAAAFI2 MDE2DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIHRocmVhZCBkYXRhDQoADQphYm5vcm1hbCBwcm9n cmFtIHRlcm1pbmF0aW9uDQoAAAAAUjYwMDkNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgZW52aXJv bm1lbnQNCgBSNjAwOA0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciBhcmd1bWVudHMNCgAAAFI2MDAy DQotIGZsb2F0aW5nIHBvaW50IG5vdCBsb2FkZWQNCgAAAABNaWNyb3NvZnQgVmlzdWFsIEMrKyBS dW50aW1lIExpYnJhcnkAAAAACgoAAFJ1bnRpbWUgRXJyb3IhCgpQcm9ncmFtOiAAAAAuLi4APHBy b2dyYW0gbmFtZSB1bmtub3duPgAAR2V0TGFzdEFjdGl2ZVBvcHVwAABHZXRBY3RpdmVXaW5kb3cA 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 I9GKBogHRsHpAkeD+QhyjPOl/ySVeFIAAS6LwG9SAAFcUgABVFIAAUxSAAFEUgABPFIAATRSAAEs UgABi0SO5IlEj+SLRI7oiUSP6ItEjuyJRI/si0SO8IlEj/CLRI70iUSP9ItEjviJRI/4i0SO/IlE j/yNBI0AAAAAA/AD+P8klXhSAAGLwIhSAAGQUgABnFIAAbBSAAGLRQheX8nDkIoGiAeLRQheX8nD kIoGiAeKRgGIRwGLRQheX8nDLovAigaIB4pGAYhHAYpGAohHAotFCF5fycOQjXQx/I18Ofz3xwMA AAB1JMHpAoPiA4P5CHIN/fOl/P8klRBUAAGLwPfZ/ySNwFMAAS6LwIvHugMAAACD+QRyDIPgAyvI /ySFGFMAAf8kjRBUAAGQKFMAAUhTAAFwUwABikYDI9GIRwNOwekCT4P5CHK2/fOl/P8klRBUAAEu i8CKRgMj0YhHA4pGAsHpAohHAoPuAoPvAoP5CHKM/fOl/P8klRBUAAGQikYDI9GIRwOKRgKIRwKK RgHB6QKIRwGD7gOD7wOD+QgPglr////986X8/ySVEFQAAS6LwMRTAAHMUwAB1FMAAdxTAAHkUwAB 7FMAAfRTAAEHVAABi0SOHIlEjxyLRI4YiUSPGItEjhSJRI8Ui0SOEIlEjxCLRI4MiUSPDItEjgiJ RI8Ii0SOBIlEjwSNBI0AAAAAA/AD+P8klRBUAAGLwCBUAAEoVAABOFQAAUxUAAGLRQheX8nDkIpG A4hHA4tFCF5fycMui8CKRgOIRwOKRgKIRwKLRQheX8nDkIpGA4hHA4pGAohHAopGAYhHAYtFCF5f ycPM/yVIEAABvFQAAKAcDDL/////wFgAAAAQAACAVQAAY+T9L//////2WAAAxBAAAJBVAAB8nCE0 /////yRZAADUEAAAAKwAAQAAAAAAAAAAAAAAAAAAAACOVwAAqFUAALRVAADAVQAA1lUAAORVAAD2 VQAABlYAABhWAAAoVgAANlYAAEJWAABWVgAAaFYAAHpWAACIVgAAllYAAKpWAAC+VgAAylYAAOZW AAD8VgAAFlcAADBXAABIVwAAYlcAAHhXAACEVwAAnFUAAJpXAACsVwAAvFcAAMpXAADYVwAA5lcA APRXAAAAWAAADFgAABhYAAAoWAAAOFgAAEpYAABaWAAAalgAAH5YAACOWAAAoFgAALJYAAAAAAAA 3FgAAOpYAADOWAAAAAAAABRZAAACWQAAAAAAANkCbHN0cmxlbkEAANMCbHN0cmNweUEAANQCbHN0 cmNweVcAAMkBTXVsdGlCeXRlVG9XaWRlQ2hhcgCkAEZyZWVMaWJyYXJ5ACcBR2V0UHJvY0FkZHJl c3MAAAMBR2V0TGFzdEVycm9yAACoAUxvYWRMaWJyYXJ5RXhBAAA+AlNldEVycm9yTW9kZQAArQFM b2NhbEFsbG9jAADKAmxzdHJjYXRBAAAPAUdldE1vZHVsZUhhbmRsZUEAADkBR2V0U3RhcnR1cElu Zm9BALgAR2V0Q29tbWFuZExpbmVBAF0BR2V0VmVyc2lvbgAAdwBFeGl0UHJvY2VzcwBzAlRlcm1p bmF0ZVByb2Nlc3MAAOIAR2V0Q3VycmVudFByb2Nlc3MADwJSdGxVbndpbmQAgAJVbmhhbmRsZWRF eGNlcHRpb25GaWx0ZXIAAA0BR2V0TW9kdWxlRmlsZU5hbWVBAACiAEZyZWVFbnZpcm9ubWVudFN0 cmluZ3NBAKMARnJlZUVudmlyb25tZW50U3RyaW5nc1cA8ABHZXRFbnZpcm9ubWVudFN0cmluZ3MA 8gBHZXRFbnZpcm9ubWVudFN0cmluZ3NXAACjAldpZGVDaGFyVG9NdWx0aUJ5dGUArwBHZXRDUElu Zm8AqQBHZXRBQ1AAABoBR2V0T0VNQ1AAAEYCU2V0SGFuZGxlQ291bnQAADsBR2V0U3RkSGFuZGxl AAD+AEdldEZpbGVUeXBlAIIBSGVhcERlc3Ryb3kAgAFIZWFwQ3JlYXRlAACQAlZpcnR1YWxGcmVl ALACV3JpdGVGaWxlAIQBSGVhcEZyZWUAAH4BSGVhcEFsbG9jAIwCVmlydHVhbEFsbG9jAACnAUxv YWRMaWJyYXJ5QQAARAJTZXRGaWxlUG9pbnRlcgAApAFMQ01hcFN0cmluZ0EAAKUBTENNYXBTdHJp bmdXAACaAEZsdXNoRmlsZUJ1ZmZlcnMAAFUCU2V0U3RkSGFuZGxlAAA8AUdldFN0cmluZ1R5cGVB AAA/AUdldFN0cmluZ1R5cGVXAAAZAENsb3NlSGFuZGxlAEtFUk5FTDMyLmRsbAAAuwFNZXNzYWdl Qm94QQCpAUxvYWRTdHJpbmdBAKQCd3NwcmludGZBAFVTRVIzMi5kbGwAANgAT2xlVW5pbml0aWFs aXplAMEAT2xlSW5pdGlhbGl6ZQBvbGUzMi5kbGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkDcAAQAAAAAAAAAAUDgAAQAAAAAAAAAAAAAAAAAAAAAA AAAAYCMAAQIAAAAAAAAAAAAAACAFkxkAAAAAAAAAAAAAAAAFAADACwAAAAAAAAAdAADABAAAAAAA AACWAADABAAAAAAAAACNAADACAAAAAAAAACOAADACAAAAAAAAACPAADACAAAAAAAAACQAADACAAA AAAAAACRAADACAAAAAAAAACSAADACAAAAAAAAACTAADACAAAAAAAAAADAAAABwAAAAoAAACMAAAA AQIECAAAAACkAwAAYIJ5giEAAAAAAAAApt8AAAAAAAChpQAAAAAAAIGf4PwAAAAAQH6A/AAAAACo AwAAwaPaoyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIH+AAAAAAAAQP4AAAAAAAC1AwAAwaPaoyAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIH+AAAAAAAAQf4AAAAAAAC2AwAAz6LkohoA5aLoolsAAAAA AAAAAAAAAAAAAAAAAIH+AAAAAAAAQH6h/gAAAABRBQAAUdpe2iAAX9pq2jIAAAAAAAAAAAAAAAAA AAAAAIHT2N7g+QAAMX6B/gAAAAD/////AAoAAAAQAAAAAAAAAgAAALAUAAEIAAAAhBQAAQkAAABY FAABCgAAADQUAAEQAAAACBQAAREAAADYEwABEgAAALQTAAETAAAAiBMAARgAAABQEwABGQAAACgT AAEaAAAA8BIAARsAAAC4EgABHAAAAJASAAF4AAAAgBIAAXkAAABwEgABegAAAGASAAH8AAAAXBIA Af8AAABMEgABemIAAXpiAAEAACAAIAAgACAAIAAgACAAIAAgACgAKAAoACgAKAAgACAAIAAgACAA IAAgACAAIAAgACAAIAAgACAAIAAgACAAIABIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQ AIQAhACEAIQAhACEAIQAhACEAIQAEAAQABAAEAAQABAAEACBAIEAgQCBAIEAgQABAAEAAQABAAEA AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAEAAQABAAEAAQABAAggCCAIIAggCCAIIAAgAC AAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAEAAQABAAIAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwIsAAQAAAADAiwABAQEAAAAAAAAAAAAAABAAAAAAAAAA AAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnAAEAZwABGGcAARhnAAH///// //////AAAADxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZwAB 4AEAAAAAAAAAAAAAAQAAAC4AAAABAAAAAAAAAAEAAAAWAAAAAgAAAAIAAAADAAAAAgAAAAQAAAAY AAAABQAAAA0AAAAGAAAACQAAAAcAAAAMAAAACAAAAAwAAAAJAAAADAAAAAoAAAAHAAAACwAAAAgA AAAMAAAAFgAAAA0AAAAWAAAADwAAAAIAAAAQAAAADQAAABEAAAASAAAAEgAAAAIAAAAhAAAADQAA ADUAAAACAAAAQQAAAA0AAABDAAAAAgAAAFAAAAARAAAAUgAAAA0AAABTAAAADQAAAFcAAAAWAAAA WQAAAAsAAABsAAAADQAAAG0AAAAgAAAAcAAAABwAAAByAAAACQAAAAYAAAAWAAAAgAAAAAoAAACB AAAACgAAAIIAAAAJAAAAgwAAABYAAACEAAAADQAAAJEAAAApAAAAngAAAA0AAAChAAAAAgAAAKQA AAALAAAApwAAAA0AAAC3AAAAEQAAAM4AAAACAAAA1wAAAAsAAAAYBwAADAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/zsjMA AAAAAAACAAYAAAAgAACAEAAAADgAAIAAAAAAH/OyMwAAAAAAAAEAAQAAAFAAAIAAAAAAH/OyMwAA AAAAAAEAAQAAAGgAAIAAAAAAH/OyMwAAAAAAAAEACQQAAIAAAAAAAAAAH/OyMwAAAAAAAAEACQQA AJAAAAAIpAAA2gYAAAAAAAAAAAAAoKAAAGQDAAAAAAAAAAAAAGS5NAAAAFYAUwBfAFYARQBSAFMA SQBPAE4AXwBJAE4ARgBPAAAAAAC9BO/+AAABAAAABQABADIGAAAFAAEAMgY/AAAAAAAAAAQABAAB AAAAAAAAAAAAAAAAAAAAxAIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAoAIAAAEA MAA0ADAAOQAwADQAQgAwAAAATAAWAAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAABNAGkAYwBy AG8AcwBvAGYAdAAgAEMAbwByAHAAbwByAGEAdABpAG8AbgAAAGIAHQABAEYAaQBsAGUARABlAHMA YwByAGkAcAB0AGkAbwBuAAAAAABNAGkAYwByAG8AcwBvAGYAdAAoAEMAKQAgAFIAZQBnAGkAcwB0 AGUAcgAgAFMAZQByAHYAZQByAAAAAAA4AAwAAQBGAGkAbABlAFYAZQByAHMAaQBvAG4AAAAAADUA LgAwADAALgAxADUAOAA2AC4AMQAAADIACQABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUgBF AEcAUwBWAFIAMwAyAAAAAAB0ACgAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8A cAB5AHIAaQBnAGgAdAAgACgAQwApACAATQBpAGMAcgBvAHMAbwBmAHQAIABDAG8AcgBwAC4AIAAx ADkAOAAxAC0AMQA5ADkANwAAAEIADQABAE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUA AABSAEUARwBTAFYAUgAzADIALgBFAFgARQAAAAAAeAAsAAEAUAByAG8AZAB1AGMAdABOAGEAbQBl AAAAAABNAGkAYwByAG8AcwBvAGYAdAAoAFIAKQAgAFcAaQBuAGQAbwB3AHMAIABOAFQAKABSACkA IABPAHAAZQByAGEAdABpAG4AZwAgAFMAeQBzAHQAZQBtAAAAPAAMAAEAUAByAG8AZAB1AGMAdABW AGUAcgBzAGkAbwBuAAAANQAuADAAMAAuADEANQA4ADYALgAxAAAARAAAAAEAVgBhAHIARgBpAGwA ZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAAAkEsAQAAAAAAAAq AQoACgBVAHMAYQBnAGUAOgAgAHIAZQBnAHMAdgByADMAMgAgAFsALwB1AF0AIABbAC8AcwBdACAA WwAvAG4AXQAgAFsALwBpAFsAOgBjAG0AZABsAGkAbgBlAF0AXQAgAGQAbABsAG4AYQBtAGUACgAv AHUAIAAtAAkAVQBuAHIAZQBnAGkAcwB0AGUAcgAgAHMAZQByAHYAZQByAAoALwBzACAALQAJAFMA aQBsAGUAbgB0ADsAIABkAGkAcwBwAGwAYQB5ACAAbgBvACAAbQBlAHMAcwBhAGcAZQAgAGIAbwB4 AGUAcwAKAC8AYwAgAC0ACQBDAG8AbgBzAG8AbABlACAAbwB1AHQAcAB1AHQACgAvAGkAIAAtAAkA QwBhAGwAbAAgAEQAbABsAEkAbgBzAHQAYQBsAGwAIABwAGEAcwBzAGkAbgBnACAAaQB0ACAAYQBu ACAAbwBwAHQAaQBvAG4AYQBsACAAWwBjAG0AZABsAGkAbgBlAF0AOwAgAHcAaABlAG4AIAB1AHMA ZQBkACAAdwBpAHQAaAAgAC8AdQAgAGMAYQBsAGwAcwAgAGQAbABsACAAdQBuAGkAbgBzAHQAYQBs AGwACgAvAG4AIAAtAAkAZABvACAAbgBvAHQAIABjAGEAbABsACAARABsAGwAUgBlAGcAaQBzAHQA ZQByAFMAZQByAHYAZQByADsAIAB0AGgAaQBzACAAbwBwAHQAaQBvAG4AIABtAHUAcwB0ACAAYgBl ACAAdQBzAGUAZAAgAHcAaQB0AGgAIAAvAGkAFQBVAG4AcgBlAGMAbwBnAG4AaQB6AGUAZAAgAGYA bABhAGcAOgAgACUAMQAiAEUAeAB0AHIAYQAgAGEAcgBnAHUAbQBlAG4AdAAgAG8AbgAgAGMAbwBt AG0AYQBuAGQAIABsAGkAbgBlADoAIAAlADEARgBUAGgAaQBzACAAYwBvAG0AbQBhAG4AZAAgAGkA cwAgAG8AbgBsAHkAIAB2AGEAbABpAGQAIAB3AGgAZQBuACAAYQBuACAATwBMAEUAIABDAHUAcwB0 AG8AbQAgAEMAbwBuAHQAcgBvAGwAIABwAHIAbwBqAGUAYwB0ACAAaQBzACAAbwBwAGUAbgAuABYA TgBvACAARABMAEwAIABuAGEAbQBlACAAcwBwAGUAYwBpAGYAaQBlAGQALgAVAE8AbABlAEkAbgBp AHQAaQBhAGwAaQB6AGUAIABmAGEAaQBsAGUAZAAuADIATABvAGEAZABMAGkAYgByAGEAcgB5ACgA IgAlADEAIgApACAAZgBhAGkAbABlAGQALgAKAEcAZQB0AEwAYQBzAHQARQByAHIAbwByACAAcgBl AHQAdQByAG4AcwAgACUAMgAuAGMAJQAxACAAdwBhAHMAIABsAG8AYQBkAGUAZAAsACAAYgB1AHQA IAB0AGgAZQAgACUAMgAgAGUAbgB0AHIAeQAgAHAAbwBpAG4AdAAgAHcAYQBzACAAbgBvAHQAIABm AG8AdQBuAGQALgAKAAoAJQAxACAAZABvAGUAcwAgAG4AbwB0ACAAYQBwAHAAZQBhAHIAIAB0AG8A IABiAGUAIABhACAALgBEAEwATAAgAG8AcgAgAC4ATwBDAFgAIABmAGkAbABlAC4AqAAlADEAIAB3 AGEAcwAgAGwAbwBhAGQAZQBkACwAIABiAHUAdAAgAHQAaABlACAAJQAyACAAZQBuAHQAcgB5ACAA cABvAGkAbgB0ACAAdwBhAHMAIABuAG8AdAAgAGYAbwB1AG4AZAAuAAoACgAlADIAIABtAGEAeQAg AG4AbwB0ACAAYgBlACAAZQB4AHAAbwByAHQAZQBkACwAIABvAHIAIABhACAAYwBvAHIAcgB1AHAA dAAgAHYAZQByAHMAaQBvAG4AIABvAGYAIAAlADEAIABtAGEAeQAgAGIAZQAgAGkAbgAgAG0AZQBt AG8AcgB5AC4AIABDAG8AbgBzAGkAZABlAHIAIAB1AHMAaQBuAGcAIABQAFYAaQBlAHcAIAB0AG8A IABkAGUAdABlAGMAdAAgAGEAbgBkACAAcgBlAG0AbwB2AGUAIABpAHQALgAkACUAMQAgAGkAbgAg ACUAMgAgAGYAYQBpAGwAZQBkAC4ACgBSAGUAdAB1AHIAbgAgAGMAbwBkAGUAIAB3AGEAcwA6ACAA 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 AAAAMTkdBjEWBcPo9f///1GLz+MGWemW////WdYLxWE9VTcWBcMAAKTaBAAAAAAAAAAAAOjaBAAA AAAAAAAAAGDbBAAAAAAAAAAAAJTbBAAAAAAAAAAAAPjbBAAAAAAAAAAAACzcBAAAAAAAAAAAAITc BAAAAAAAAAAAALjcBAAAAAAAAAAAAOzcBAAAAAAAAAAAABzdBAAAAAAAAAAAAJzdBAAAAAAAAAAA AOTdBAAAAAAAAAAAACjeBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== ------=_NextPart_000_0098_012B4FEC.495FECD0-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 9:13:43 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from odin.ac.hmc.edu (Odin.AC.HMC.Edu [134.173.32.75]) by hub.freebsd.org (Postfix) with ESMTP id 8A5E337B491 for ; Mon, 21 Jan 2002 09:11:02 -0800 (PST) Received: (from brdavis@localhost) by odin.ac.hmc.edu (8.11.0/8.11.0) id g0LHAtD05759; Mon, 21 Jan 2002 09:10:55 -0800 Date: Mon, 21 Jan 2002 09:10:55 -0800 From: Brooks Davis To: Poul-Henning Kamp Cc: hackers@FreeBSD.ORG Subject: Re: Project idea: Put PVM in /usr/bin/make Message-ID: <20020121091055.A5296@Odin.AC.HMC.Edu> References: <20020121083652.A1496@Odin.AC.HMC.Edu> <23917.1011632480@critter.freebsd.dk> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-md5; protocol="application/pgp-signature"; boundary="9jxsPFA5p3P2qPhR" Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <23917.1011632480@critter.freebsd.dk>; from phk@critter.freebsd.dk on Mon, Jan 21, 2002 at 06:01:20PM +0100 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --9jxsPFA5p3P2qPhR Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Jan 21, 2002 at 06:01:20PM +0100, Poul-Henning Kamp wrote: > Adding PVM to /usr/bin/make is a simple task, less than 1000 lines of > code. >=20 > What you suggest is not going to happen in any of the next couple of > years unless $BIGCORP pays somebody to do it. I doubt it's nearly as complicated as you claim. All you have to do is tell the system to envoke a set of jobs which is a fairly straight forward thing to do (it's not much harder then envoking rsh and you could easily write a simple wrapper that provided rsh symantics if it doesn't exist already.) > My suggestion consequently still stands: Please someone, add PVM > to /usr/bin/make. If someone adds it, that would be cool, I just think a better solution isn't likely to be all that difficult. -- Brooks --=20 Any statement of the form "X is the one, true Y" is FALSE. PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4 --9jxsPFA5p3P2qPhR Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE8TEufXY6L6fI4GtQRAn2lAKC1Vdrh3RmuG4sTgvqIUAMcRK5SmQCfTczz pXYf5Q9lkPG4wJY2cbwjmHo= =SrYA -----END PGP SIGNATURE----- --9jxsPFA5p3P2qPhR-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 9:52:20 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by hub.freebsd.org (Postfix) with ESMTP id 107FC37B400 for ; Mon, 21 Jan 2002 09:52:14 -0800 (PST) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.11.6/8.11.6) with ESMTP id g0LHnXU24558; Mon, 21 Jan 2002 18:49:34 +0100 (CET) (envelope-from phk@critter.freebsd.dk) To: Brooks Davis Cc: hackers@FreeBSD.ORG Subject: Re: Project idea: Put PVM in /usr/bin/make In-Reply-To: Your message of "Mon, 21 Jan 2002 09:10:55 PST." <20020121091055.A5296@Odin.AC.HMC.Edu> Date: Mon, 21 Jan 2002 18:49:33 +0100 Message-ID: <24556.1011635373@critter.freebsd.dk> From: Poul-Henning Kamp Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message <20020121091055.A5296@Odin.AC.HMC.Edu>, Brooks Davis writes: >> What you suggest is not going to happen in any of the next couple of >> years unless $BIGCORP pays somebody to do it. > >I doubt it's nearly as complicated as you claim. All you have to do is >tell the system to envoke a set of jobs which is a fairly straight >forward thing to do (it's not much harder then envoking rsh and you >could easily write a simple wrapper that provided rsh symantics if it >doesn't exist already.) Uhm, PVM is a *much* faster way to start a job than rsh... -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 11:42:22 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mail.ncircle.com (mail.ncircle.com [209.140.253.150]) by hub.freebsd.org (Postfix) with ESMTP id C841D37B417 for ; Mon, 21 Jan 2002 11:42:15 -0800 (PST) Received: from localhost (bbuchanan@localhost) by mail.ncircle.com (8.11.3/8.11.6) with ESMTP id g0LJNrp72506; Mon, 21 Jan 2002 11:23:54 -0800 (PST) (envelope-from brian@ncircle.com) X-Authentication-Warning: mail.ncircle.com: bbuchanan owned process doing -bs Date: Mon, 21 Jan 2002 11:23:53 -0800 (PST) From: Brian Buchanan X-X-Sender: To: "M. Warner Losh" Cc: Subject: Re: PCMCIA ATA flash broken in 4.5-RC In-Reply-To: <20020118.204339.100087610.imp@village.org> Message-ID: <20020121112157.A71039-100000@mail.ncircle.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Fri, 18 Jan 2002, M. Warner Losh wrote: > Try creating an entry that matches your card: > > card "CL ATA FLASH CARD LEXAR " "TIDALWV" > config "ata" 0x1 ? Warner, I added the pccard.conf entry: card "CL ATA FLASH CARD LEXAR " "TIDALWV" config 0x1 "ata" ? That did the trick. Thanks! Brian To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 11:45:59 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from hoth.ffwd.cx (hoth.ffwd.cx [216.187.116.122]) by hub.freebsd.org (Postfix) with ESMTP id 1BB5C37B400 for ; Mon, 21 Jan 2002 11:45:58 -0800 (PST) Received: from skye by hoth.ffwd.cx with local (Exim 3.13 #1) id 16SkO9-000DVR-00 for hackers@freebsd.org; Mon, 21 Jan 2002 11:45:53 -0800 Date: Mon, 21 Jan 2002 11:45:53 -0800 From: Skye Poier To: hackers@freebsd.org Subject: Re: mbuf chains Message-ID: <20020121114552.H48759@ffwd.cx> References: <20020118164617.L99893@ffwd.cx> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0.1i In-Reply-To: ; from julian@elischer.org on Fri, Jan 18, 2002 at 04:52:08PM -0800 X-URL: http://www.ffwd.cx/ Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Word on the street is that Julian Elischer said: > > My confusion is around splitting/concatenating - > > > > When splitting an mbuf chain, the two resultant chains must be as above > > (heads have M_PKTHDR and mbuf.m_pkthdr.len set) right? > > That depends on why yuo need to split them. > OK, let's say hypothetically we sorecieve() a bunch of data in mbuf chains and need to split it up to some chunk size and resend the chunks with a header via sosend() to a different host. Skye To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 12:20:37 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from rwcrmhc52.attbi.com (rwcrmhc52.attbi.com [216.148.227.88]) by hub.freebsd.org (Postfix) with ESMTP id 2E18137B422 for ; Mon, 21 Jan 2002 12:20:09 -0800 (PST) Received: from InterJet.elischer.org ([12.232.206.8]) by rwcrmhc52.attbi.com (InterMail vM.4.01.03.27 201-229-121-127-20010626) with ESMTP id <20020121202008.NUJG3578.rwcrmhc52.attbi.com@InterJet.elischer.org>; Mon, 21 Jan 2002 20:20:08 +0000 Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id MAA12806; Mon, 21 Jan 2002 12:17:20 -0800 (PST) Date: Mon, 21 Jan 2002 12:17:19 -0800 (PST) From: Julian Elischer To: Skye Poier Cc: hackers@freebsd.org Subject: Re: mbuf chains In-Reply-To: <20020121114552.H48759@ffwd.cx> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, 21 Jan 2002, Skye Poier wrote: > Word on the street is that Julian Elischer said: > > > My confusion is around splitting/concatenating - > > > > > > When splitting an mbuf chain, the two resultant chains must be as above > > > (heads have M_PKTHDR and mbuf.m_pkthdr.len set) right? > > > > That depends on why yuo need to split them. > > > > OK, let's say hypothetically we sorecieve() a bunch of data in mbuf > chains and need to split it up to some chunk size and resend the chunks > with a header via sosend() to a different host. In that case you need to add a header to each. yes. > > Skye > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 12:44:26 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from scaup.prod.itd.earthlink.net (scaup.mail.pas.earthlink.net [207.217.120.49]) by hub.freebsd.org (Postfix) with ESMTP id C922F37B400 for ; Mon, 21 Jan 2002 12:44:20 -0800 (PST) Received: from pool0452.cvx40-bradley.dialup.earthlink.net ([216.244.43.197] helo=mindspring.com) by scaup.prod.itd.earthlink.net with esmtp (Exim 3.33 #1) id 16SlIX-00008O-00; Mon, 21 Jan 2002 12:44:09 -0800 Message-ID: <3C4C7D96.460628B7@mindspring.com> Date: Mon, 21 Jan 2002 12:44:06 -0800 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: "Lajos Zaccomer (ETH)" Cc: "'freebsd-hackers@FreeBSD.org'" Subject: Re: Telnet option negotiation References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG "Lajos Zaccomer (ETH)" wrote: > > Part 1.1Type: Plain Text (text/plain) Don't send HTML to the list. The problem is likely that you have not fully understood option negotiation. The negotiation is do/don't/will/won't. See the RFCs, in particular, RFC855. Also, type "telnet" into the search form at: http://www.rfc-editor.org/cgi-bin/rfcsearch.pl -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 16:12:49 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from gnjilux.srk.fer.hr (gnjilux.srk.fer.hr [161.53.70.141]) by hub.freebsd.org (Postfix) with ESMTP id 0591437B404 for ; Mon, 21 Jan 2002 16:12:35 -0800 (PST) Received: from gnjilux.srk.fer.hr (ike@localhost [127.0.0.1]) by gnjilux.srk.fer.hr (8.12.1/8.12.1/Debian -5) with ESMTP id g0LNlmLC002178 for ; Tue, 22 Jan 2002 00:47:48 +0100 Received: (from ike@localhost) by gnjilux.srk.fer.hr (8.12.1/8.12.1/Debian -5) id g0LNlkuE002172 for hackers@freebsd.org; Tue, 22 Jan 2002 00:47:46 +0100 Date: Tue, 22 Jan 2002 00:47:46 +0100 From: Ivan Krstic To: hackers@freebsd.org Subject: process creation and deletion Message-ID: <20020121234746.GD17108@gnjilux.cc.fer.hr> Reply-To: Ivan Krstic Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.25i Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Hi all, I'm looking at implementing some extra security checks for all dying and newly spawned processes. It looks to me like the function that must be called for all process deaths is exit1() in kern_exit.c, and that new processes must be spawned by either execve() in kern_exec.c or fork1() in kern_fork.c. Have I missed any, or are these three functions the only ways processes can come into existence and die? Thanks, Ivan To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 16:16:40 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from sivka.carrier.kiev.ua (sivka.carrier.kiev.ua [193.193.193.101]) by hub.freebsd.org (Postfix) with ESMTP id 816C337B402; Mon, 21 Jan 2002 16:16:30 -0800 (PST) Received: from core.is.kiev.ua (p187.is.kiev.ua [62.244.5.187] (may be forged)) by sivka.carrier.kiev.ua (8/Kilkenny_is_better) with ESMTP id CGH47081; Tue, 22 Jan 2002 02:16:22 +0200 (EET) (envelope-from diman@landsystems.com.ua) Received: from localhost (core.asd-g.com [62.244.5.177]) by core.is.kiev.ua (8.11.1/ASDG-2.3-NR) with ESMTP id g0M0GKv53277; Tue, 22 Jan 2002 02:16:20 +0200 (EET) (envelope-from diman@landsystems.com.ua) Date: Tue, 22 Jan 2002 03:22:56 +0000 (GMT) From: diman X-X-Sender: To: Poul-Henning Kamp Cc: Subject: Re: Project idea: Put PVM in /usr/bin/make In-Reply-To: <14178.1011612724@critter.freebsd.dk> Message-ID: <20020122031645.H11346-100000@portal.none.ua> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I found it interesting. I have 3 idle boxes out here and friend of mine has ~20, and parallel make is a dream. Don't know about someone else, I'm giving your proposal a try.. :-) On Mon, 21 Jan 2002, Poul-Henning Kamp wrote: > > /usr/bin/make already have hooks for remote execution of jobs when > running parallel. All that is missing before we can do distributed > parallel make worlds is that somebody writes the necessary hooks > based on PVM... > > This is a really simple task, and the best of it all is that one > does not need a cluster of machines to test it: Using jail(8) you > can run a PVM cluster of any size on one machine. > > Any takers ? > > -- > Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 > phk@FreeBSD.ORG | TCP/IP since RFC 956 > FreeBSD committer | BSD since 4.3-tahoe > Never attribute to malice what can adequately be explained by incompetence. > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 21: 1:50 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from web11405.mail.yahoo.com (web11405.mail.yahoo.com [216.136.131.235]) by hub.freebsd.org (Postfix) with SMTP id 5EFAF37B416 for ; Mon, 21 Jan 2002 21:01:45 -0800 (PST) Message-ID: <20020122050145.11279.qmail@web11405.mail.yahoo.com> Received: from [24.43.32.161] by web11405.mail.yahoo.com via HTTP; Mon, 21 Jan 2002 21:01:45 PST Date: Mon, 21 Jan 2002 21:01:45 -0800 (PST) From: Rayson Ho Subject: Re: Project idea: Put PVM in /usr/bin/make To: diman , Poul-Henning Kamp Cc: hackers@FreeBSD.ORG In-Reply-To: <20020122031645.H11346-100000@portal.none.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I think someone has done that before. Search for lmake, or pmake. Rayson --- diman wrote: > > > I found it interesting. I have 3 idle boxes out here and > friend of mine has ~20, and parallel make is a dream. > Don't know about someone else, I'm giving your proposal > a try.. :-) > > > On Mon, 21 Jan 2002, Poul-Henning Kamp wrote: > > > > > /usr/bin/make already have hooks for remote execution of jobs when > > running parallel. All that is missing before we can do distributed > > parallel make worlds is that somebody writes the necessary hooks > > based on PVM... > > > > This is a really simple task, and the best of it all is that one > > does not need a cluster of machines to test it: Using jail(8) you > > can run a PVM cluster of any size on one machine. > > > > Any takers ? > > > > -- > > Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 > > phk@FreeBSD.ORG | TCP/IP since RFC 956 > > FreeBSD committer | BSD since 4.3-tahoe > > Never attribute to malice what can adequately be explained by > incompetence. > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > > with "unsubscribe freebsd-hackers" in the body of the message > > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message __________________________________________________ Do You Yahoo!? Send FREE video emails in Yahoo! Mail! http://promo.yahoo.com/videomail/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 22:21:34 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by hub.freebsd.org (Postfix) with ESMTP id 97B1637B419 for ; Mon, 21 Jan 2002 22:21:13 -0800 (PST) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.11.6/8.11.6) with ESMTP id g0M6IHU34449; Tue, 22 Jan 2002 07:18:18 +0100 (CET) (envelope-from phk@critter.freebsd.dk) To: diman Cc: hackers@FreeBSD.ORG Subject: Re: Project idea: Put PVM in /usr/bin/make In-Reply-To: Your message of "Tue, 22 Jan 2002 03:22:56 GMT." <20020122031645.H11346-100000@portal.none.ua> Date: Tue, 22 Jan 2002 07:18:17 +0100 Message-ID: <34447.1011680297@critter.freebsd.dk> From: Poul-Henning Kamp Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Hi Diman, This is the email I sent to another fella who was also interested, you should get in touch with him so you don't duplicate too much work. See also my comments about how to do it. ] To: Hiten Pandya ] Subject: Re: Project idea: Put PVM in /usr/bin/make ] In-Reply-To: Your message of "Mon, 21 Jan 2002 09:09:54 PST." ] <20020121170954.36102.qmail@web21106.mail.yahoo.com> ] Date: Mon, 21 Jan 2002 21:33:04 +0100 ] Message-ID: <27243.1011645184@critter.freebsd.dk> ] From: Poul-Henning Kamp ] ] In message <20020121170954.36102.qmail@web21106.mail.yahoo.com>, Hiten Pandya w ] rites: ] >> My suggestion consequently still stands: Please ] >> someone, add PVM ] >> to /usr/bin/make. ] >> ] > ] >hi, ] >just wondering.. what level of skill is needed to add ] >this functionality? if it is pretty simple accord. to ] >what you are saying.. I don't mind doing it in the ] >next couple of weeks.. ] ] It's not very hard actually: ] ] Find "pvmgmake" on sourceforge, that's a guy who has done it ] to gmake. ] ] Get yourself going with PVM on a single machine. ] ] (optional: Get PVM going on multiple machines or on multiple ] jails on one machine). ] ] Get pvmgmake compiling under FreeBSD (there's a bit of automake/ ] autoconf version crap to this, I can give you the details when ] you get this far). ] ] Get my patches to pvmgmake and get them going. ] ] Then, do the same thing to /usr/bin/make. ] In message <20020122031645.H11346-100000@portal.none.ua>, diman writes: > > >I found it interesting. I have 3 idle boxes out here and >friend of mine has ~20, and parallel make is a dream. >Don't know about someone else, I'm giving your proposal >a try.. :-) > > >On Mon, 21 Jan 2002, Poul-Henning Kamp wrote: > >> >> /usr/bin/make already have hooks for remote execution of jobs when >> running parallel. All that is missing before we can do distributed >> parallel make worlds is that somebody writes the necessary hooks >> based on PVM... >> >> This is a really simple task, and the best of it all is that one >> does not need a cluster of machines to test it: Using jail(8) you >> can run a PVM cluster of any size on one machine. >> >> Any takers ? >> >> -- >> Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 >> phk@FreeBSD.ORG | TCP/IP since RFC 956 >> FreeBSD committer | BSD since 4.3-tahoe >> Never attribute to malice what can adequately be explained by incompetence. >> >> To Unsubscribe: send mail to majordomo@FreeBSD.org >> with "unsubscribe freebsd-hackers" in the body of the message >> > > -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 22:23:10 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by hub.freebsd.org (Postfix) with ESMTP id BAFFF37B402 for ; Mon, 21 Jan 2002 22:22:53 -0800 (PST) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.11.6/8.11.6) with ESMTP id g0M6K6U34562; Tue, 22 Jan 2002 07:20:06 +0100 (CET) (envelope-from phk@critter.freebsd.dk) To: Rayson Ho Cc: diman , hackers@FreeBSD.ORG Subject: Re: Project idea: Put PVM in /usr/bin/make In-Reply-To: Your message of "Mon, 21 Jan 2002 21:01:45 PST." <20020122050145.11279.qmail@web11405.mail.yahoo.com> Date: Tue, 22 Jan 2002 07:20:06 +0100 Message-ID: <34560.1011680406@critter.freebsd.dk> From: Poul-Henning Kamp Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I don't think it has been done with the berkeley make that we use, I have only found gnumake based ones. Poul-Henning In message <20020122050145.11279.qmail@web11405.mail.yahoo.com>, Rayson Ho writ es: >I think someone has done that before. > >Search for lmake, or pmake. > >Rayson > >--- diman wrote: >> >> >> I found it interesting. I have 3 idle boxes out here and >> friend of mine has ~20, and parallel make is a dream. >> Don't know about someone else, I'm giving your proposal >> a try.. :-) >> >> >> On Mon, 21 Jan 2002, Poul-Henning Kamp wrote: >> >> > >> > /usr/bin/make already have hooks for remote execution of jobs when >> > running parallel. All that is missing before we can do distributed >> > parallel make worlds is that somebody writes the necessary hooks >> > based on PVM... >> > >> > This is a really simple task, and the best of it all is that one >> > does not need a cluster of machines to test it: Using jail(8) you >> > can run a PVM cluster of any size on one machine. >> > >> > Any takers ? >> > >> > -- >> > Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 >> > phk@FreeBSD.ORG | TCP/IP since RFC 956 >> > FreeBSD committer | BSD since 4.3-tahoe >> > Never attribute to malice what can adequately be explained by >> incompetence. >> > >> > To Unsubscribe: send mail to majordomo@FreeBSD.org >> > with "unsubscribe freebsd-hackers" in the body of the message >> > >> >> >> To Unsubscribe: send mail to majordomo@FreeBSD.org >> with "unsubscribe freebsd-hackers" in the body of the message > > >__________________________________________________ >Do You Yahoo!? >Send FREE video emails in Yahoo! Mail! >http://promo.yahoo.com/videomail/ > -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Jan 21 22:31:45 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mail.hiwaay.net (fly.HiWAAY.net [208.147.154.56]) by hub.freebsd.org (Postfix) with ESMTP id C521637B400 for ; Mon, 21 Jan 2002 22:31:42 -0800 (PST) Received: from bsd.havk.org (user-24-214-88-13.knology.net [24.214.88.13]) by mail.hiwaay.net (8.12.1/8.12.1) with ESMTP id g0M6VWBZ009772; Tue, 22 Jan 2002 00:31:39 -0600 (CST) Received: by bsd.havk.org (Postfix, from userid 1001) id 3188F1A786; Tue, 22 Jan 2002 00:31:31 -0600 (CST) Date: Tue, 22 Jan 2002 00:31:31 -0600 From: Steve Price To: Poul-Henning Kamp Cc: Rayson Ho , diman , hackers@FreeBSD.ORG Subject: Re: Project idea: Put PVM in /usr/bin/make Message-ID: <20020122003131.W816@bsd.havk.org> References: <20020122050145.11279.qmail@web11405.mail.yahoo.com> <34560.1011680406@critter.freebsd.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <34560.1011680406@critter.freebsd.dk>; from phk@critter.freebsd.dk on Tue, Jan 22, 2002 at 07:20:06AM +0100 X-Operating-System: FreeBSD 4.5-PRERELEASE i386 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Tue, Jan 22, 2002 at 07:20:06AM +0100, Poul-Henning Kamp wrote: > > I don't think it has been done with the berkeley make that we use, > I have only found gnumake based ones. Checkout pmake sometime which is a relatively close derivative of FreeBSD's make(1). /usr/ports/devel/pmake -steve To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Jan 22 4:40:19 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from smtp01.wxs.nl (smtp01.wxs.nl [195.121.6.61]) by hub.freebsd.org (Postfix) with ESMTP id AF19A37B416 for ; Tue, 22 Jan 2002 04:39:55 -0800 (PST) Received: from there ([80.60.248.65]) by smtp01.wxs.nl (Netscape Messaging Server 4.15) with SMTP id GQCB6H02.GEZ for ; Tue, 22 Jan 2002 13:39:53 +0100 Content-Type: text/plain; charset="iso-8859-1" From: "Peter J. Blok" To: freebsd-hackers@freebsd.org Subject: boot zip drive Date: Tue, 22 Jan 2002 13:39:44 +0100 X-Mailer: KMail [version 1.3.2] MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-Id: <20020122123955.AF19A37B416@hub.freebsd.org> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Hi, I am trying to boot off a iomega zip drive. Without success. The boot code is not able to find a UFS file-system. The drive is connected as a primary master. There are no other drives connected. I have tried a dedicated disk and normal. I have tried different motherboards with newer BIOSes.. No luck at all. I am running FreeBSD 4.5-RC2 on the system where i generate the boot disk. I have changed the boot code to check some settings like the geometry, but without success too. It seems as if there is an extra 32 block offset somewhere. I have seen postings being successful with this. What release was used? Please help. Peter To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Jan 22 6:16:27 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from penguin-ext.wise.edt.ericsson.se (penguin-ext.wise.edt.ericsson.se [194.237.142.110]) by hub.freebsd.org (Postfix) with ESMTP id 4075E37B402 for ; Tue, 22 Jan 2002 06:16:24 -0800 (PST) Received: from lt.eth.ericsson.se (lt.eth.ericsson.se [164.48.158.205]) by penguin.wise.edt.ericsson.se (8.11.0/8.11.0/WIREfire-1.3) with ESMTP id g0MEGMw04156 for ; Tue, 22 Jan 2002 15:16:22 +0100 (MET) Received: from BMSMA58 by lt.eth.ericsson.se (8.8.8+Sun/SMI-SVR4) id PAA18961; Tue, 22 Jan 2002 15:16:20 +0100 (MET) Message-Id: <200201221416.PAA18961@lt.eth.ericsson.se> From: "Lajos Zaccomer" Date: K, 22 jan 2002 15:16:17 X-Mailer: PAWSoft MiniMail To: freebsd-hackers@FreeBSD.org Subject: Re: Telnet option negotiation Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Hi, Thanx for the impressive welcome, Terry. Yes, I might be wrong; however, in this case, please interpret the following quotation from RFC854, page 4: "In summary, WILL XXX is sent, by either party, to indicate that party's desire (offer) to begin performing option XXX, DO XXX and DON'T XXX being its positive and negative acknowledgments; similarly, DO XXX is sent to indicate a desire (request) that the other party (i.e., the recipient of the DO) begin performing option XXX, WILL XXX and WON'T XXX being the positive and negative acknowledgments. Since the NVT is what is left when no options are enabled, the DON'T and WON'T responses are guaranteed to leave the connection in a state which both ends can handle. Thus, all hosts may implement their TELNET processes to be totally unaware of options that are not supported, simply returning a rejection to (i.e., refusing) any option request that cannot be understood." Might be you who don't understand? If I was wrong, how is that all other platforms supported the way I used, except FreeBSD? Fuzzy, isn't it? So, the question is still not answered. Zacco ___________________________________________________________________________ Sent with PAWSoft MiniMail - a FREE download from http://www.pawsoft.co.uk To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Jan 22 6:35:23 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from smtpproxy2.mitre.org (smtpproxy2.mitre.org [128.29.154.90]) by hub.freebsd.org (Postfix) with ESMTP id 4605037B41B; Tue, 22 Jan 2002 06:35:12 -0800 (PST) Received: from avsrv2.mitre.org (avsrv2.mitre.org [128.29.154.4]) by smtpproxy2.mitre.org (8.11.3/8.11.3) with ESMTP id g0MEZAc08425; Tue, 22 Jan 2002 09:35:10 -0500 (EST) Received: from MAILHUB1 (mailhub1.mitre.org [129.83.20.31]) by smtpsrv2.mitre.org (8.11.3/8.11.3) with ESMTP id g0MEZ8i05482; Tue, 22 Jan 2002 09:35:08 -0500 (EST) Received: from dhcp-105-164.mitre.org (128.29.105.164) by mailhub1.mitre.org with SMTP id 8914058; Tue, 22 Jan 2002 09:34:43 -0500 Message-ID: <3C4D788E.CE483AF0@mitre.org> Date: Tue, 22 Jan 2002 09:34:54 -0500 From: Jason Andresen Organization: The MITRE Corporation X-Mailer: Mozilla 4.75 [en]C-20000818M (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: Terry Lambert Cc: Alp Atici , freebsd-hackers@freebsd.org, freebsd-current@freebsd.org Subject: Re: FreeBSD 5.x References: <3C4A53EE.B882356C@mindspring.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Terry Lambert wrote: > > Alp Atici wrote: > > Is gcc 3.x going to be the default compiler starting from > > FBSD 5.x series? Is the development on current branch > > compiled using gcc 3.0 (or up)? > > I think that the cut over will happen after the compiler > no longer core dumps on: Odd, I can't reproduce that under RedHat: RedHat (5 ~): cat gcctest.c main() { int i; i = foo(); switch( i) { default: printf( "hello, stupid compiler!\n"); break; } } int foo() { return( 6); } RedHat (6 ~): gcc3 -v Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.0.2/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --host=i386-redhat-linux Thread model: posix gcc version 3.0.2 20010905 (Red Hat Linux 7.1 3.0.1-3) RedHat (7 ~): gcc3 -Wall -pedantic -o gcctest gcctest.c gcctest.c:2: warning: return type defaults to `int' gcctest.c: In function `main': gcctest.c:5: warning: implicit declaration of function `foo' gcctest.c:9: warning: implicit declaration of function `printf' gcctest.c:12: warning: control reaches end of non-void function RedHat (8 ~): ./gcctest hello, stupid compiler! -- \ |_ _|__ __|_ \ __| Jason Andresen jandrese@mitre.org |\/ | | | / _| Network and Distributed Systems Engineer _| _|___| _| _|_\___| Office: 703-883-7755 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Jan 22 6:45:37 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from energyhq.homeip.net (213-97-200-73.uc.nombres.ttd.es [213.97.200.73]) by hub.freebsd.org (Postfix) with ESMTP id 8235337B402 for ; Tue, 22 Jan 2002 06:45:28 -0800 (PST) Received: from there (kajsa.energyhq.org [192.168.0.1]) by energyhq.homeip.net (Postfix) with SMTP id BA4643FC20; Tue, 22 Jan 2002 15:45:28 +0100 (CET) Content-Type: text/plain; charset="iso-8859-1" From: Miguel Mendez Organization: Energy HQ To: "Lajos Zaccomer" , freebsd-hackers@FreeBSD.org Subject: Re: Telnet option negotiation Date: Tue, 22 Jan 2002 15:45:02 +0100 X-Mailer: KMail [version 1.3.2] References: <200201221416.PAA18961@lt.eth.ericsson.se> In-Reply-To: <200201221416.PAA18961@lt.eth.ericsson.se> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-Id: <20020122144528.BA4643FC20@energyhq.homeip.net> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Tuesday 22 January 2002 16:16, Lajos Zaccomer wrote: Hi, > Thanx for the impressive welcome, Terry. Yes, I might be wrong; however, in > this case, please interpret the following quotation from RFC854, page 4: Huh? I didn't see anything wrong in Terry's answer. > Might be you who don't understand? If I was wrong, how is that all other > platforms supported the way I used, except FreeBSD? Fuzzy, isn't it? Please go use Linux. Sorry, couldn't resist :) -- Miguel Mendez - flynn@energyhq.homeip.net EnergyHQ :: http://energyhq.homeip.net FreeBSD - The power to serve! To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Jan 22 10:20:15 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from rwcrmhc53.attbi.com (rwcrmhc53.attbi.com [204.127.198.39]) by hub.freebsd.org (Postfix) with ESMTP id 8F2C137B416 for ; Tue, 22 Jan 2002 10:20:09 -0800 (PST) Received: from InterJet.elischer.org ([12.232.206.8]) by rwcrmhc53.attbi.com (InterMail vM.4.01.03.27 201-229-121-127-20010626) with ESMTP id <20020122182009.QWJF10199.rwcrmhc53.attbi.com@InterJet.elischer.org> for ; Tue, 22 Jan 2002 18:20:09 +0000 Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id KAA17853 for ; Tue, 22 Jan 2002 10:12:03 -0800 (PST) Date: Tue, 22 Jan 2002 10:12:01 -0800 (PST) From: Julian Elischer To: hackers@freebsd.org Subject: ANyone seen a touch screen on BSD? Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG says it all..... If you know of a touch screen that can be interfaced to FreeBSD let me know.. thanks.. Julian To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Jan 22 10:48:52 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from magnesium.net (toxic.magnesium.net [207.154.84.15]) by hub.freebsd.org (Postfix) with SMTP id D3A4C37B402 for ; Tue, 22 Jan 2002 10:48:45 -0800 (PST) Received: (qmail 25137 invoked by uid 1001); 22 Jan 2002 18:48:45 -0000 Date: Tue, 22 Jan 2002 10:48:45 -0800 From: Bill Swingle To: Julian Elischer Cc: hackers@freebsd.org Subject: Re: ANyone seen a touch screen on BSD? Message-ID: <20020122184845.GA24989@dub.net> References: Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="pWyiEgJYm5f9v55/" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.3.25i X-Operating-System: FreeBSD toxic.magnesium.net 4.4-STABLE FreeBSD 4.4-STABLE Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --pWyiEgJYm5f9v55/ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable I don't remember if you were there or not but there was a bartop arcade game that was based on FreeBSD that had a touch screen that showed up at FreeBSDCon 99 (I think). My memory fails me on the name of the person that brought it but I'm sure he's on -hackers (maybe) :) -Bill On Tue, Jan 22, 2002 at 10:12:01AM -0800, Julian Elischer wrote: >=20 > says it all..... > If you know of a touch screen that can be interfaced to FreeBSD let me > know.. >=20 > thanks.. > Julian >=20 >=20 >=20 > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message --=20 -=3D| Bill Swingle - -=3D| Every message PGP signed -=3D| Fingerprint: C1E3 49D1 EFC9 3EE0 EA6E 6414 5200 1C95 8E09 0223 -=3D| "Computers are useless. They can only give you answers" Pablo Picasso= =20 --pWyiEgJYm5f9v55/ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org iD8DBQE8TbQNUgAclY4JAiMRAkcXAJ9+tj+n1s8DprX0T8EgsLdnmuMkYwCcD9Ho 3w/CyoJY0M8o8xK/IEAqY/E= =X/iy -----END PGP SIGNATURE----- --pWyiEgJYm5f9v55/-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Jan 22 11:20:15 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from rwcrmhc52.attbi.com (rwcrmhc52.attbi.com [216.148.227.88]) by hub.freebsd.org (Postfix) with ESMTP id D879F37B400 for ; Tue, 22 Jan 2002 11:20:07 -0800 (PST) Received: from InterJet.elischer.org ([12.232.206.8]) by rwcrmhc52.attbi.com (InterMail vM.4.01.03.27 201-229-121-127-20010626) with ESMTP id <20020122192007.WFAR3578.rwcrmhc52.attbi.com@InterJet.elischer.org>; Tue, 22 Jan 2002 19:20:07 +0000 Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id LAA18080; Tue, 22 Jan 2002 11:01:56 -0800 (PST) Date: Tue, 22 Jan 2002 11:01:55 -0800 (PST) From: Julian Elischer To: Bill Swingle Cc: hackers@freebsd.org Subject: Re: ANyone seen a touch screen on BSD? In-Reply-To: <20020122184845.GA24989@dub.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG yeah I had that on ein mind but I can't remember who it was either. (But I do remember that it was someone we all knew) :-) On Tue, 22 Jan 2002, Bill Swingle wrote: > I don't remember if you were there or not but there was a bartop arcade > game that was based on FreeBSD that had a touch screen that showed up at > FreeBSDCon 99 (I think). My memory fails me on the name of the person > that brought it but I'm sure he's on -hackers (maybe) :) > > -Bill > > On Tue, Jan 22, 2002 at 10:12:01AM -0800, Julian Elischer wrote: > > > > says it all..... > > If you know of a touch screen that can be interfaced to FreeBSD let me > > know.. > > > > thanks.. > > Julian > > > > > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > > with "unsubscribe freebsd-hackers" in the body of the message > > -- > -=| Bill Swingle - > -=| Every message PGP signed > -=| Fingerprint: C1E3 49D1 EFC9 3EE0 EA6E 6414 5200 1C95 8E09 0223 > -=| "Computers are useless. They can only give you answers" Pablo Picasso > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Jan 22 11:33:54 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from odin.ac.hmc.edu (Odin.AC.HMC.Edu [134.173.32.75]) by hub.freebsd.org (Postfix) with ESMTP id D693E37B402 for ; Tue, 22 Jan 2002 11:33:51 -0800 (PST) Received: (from brdavis@localhost) by odin.ac.hmc.edu (8.11.0/8.11.0) id g0MJXpG27799 for hackers@freebsd.org; Tue, 22 Jan 2002 11:33:51 -0800 Date: Tue, 22 Jan 2002 11:33:51 -0800 From: Brooks Davis To: hackers@freebsd.org Subject: cpu info in userland Message-ID: <20020122113351.A25927@Odin.AC.HMC.Edu> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-md5; protocol="application/pgp-signature"; boundary="d6Gm4EdcadzBjdND" Content-Disposition: inline User-Agent: Mutt/1.2.5.1i Sender: owner-freebsd-h