From owner-freebsd-multimedia Sun Jul 5 00:19:51 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id AAA29759 for freebsd-multimedia-outgoing; Sun, 5 Jul 1998 00:19:51 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from rah.star-gate.com (rah.star-gate.com [209.133.7.234]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id AAA29752 for ; Sun, 5 Jul 1998 00:19:48 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.8.8/8.8.8) with ESMTP id AAA00270; Sun, 5 Jul 1998 00:19:45 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Message-Id: <199807050719.AAA00270@rah.star-gate.com> X-Mailer: exmh version 2.0.2 2/24/98 To: fj@login.dknet.dk cc: freebsd-multimedia@FreeBSD.ORG Subject: Re: Bt878 support In-reply-to: Your message of "Sun, 05 Jul 1998 08:50:02 +0200." <199807050650.IAA01649@prefect.unknown.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 05 Jul 1998 00:19:45 -0700 From: Amancio Hasty Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org It looks like your calculations are correct . I rebooted the system a couple of times and your radio app works flawlessly;however, if I fire up fxtv somehow skews the fm component so it is off by -5.50. Tnks! Amancio > Amancio Hasty wrote: > > On a different note, since now I have a card with FM capability I got to > > play with Flemming Jacobsen 's radio app . First it is a > > most cool app !! Only one minor gotcha my stations seems to be off > > by -5.5 so to tune to 103.7 I have to type in 98.2 so I am wondering > > if anyone else is having this problem. > > Thanks. It's probably because the offset when programming the tuner > is difrent from the one I have. Looks like we're going to have one more > parameter per tuner (since the value-frequency relationship wasn't > documented in the datasheet, I had the naive thought that it was some > sort of industry standard). I'll fix it soon. > If anyone is having the same problem as Amancio, please speak up. > > Another thing: the address fj@trw.nl is my old work address. Please don't > use it, as I won't get the mail. My main address is: fj@login.dknet.dk. > > > Hyg' > Flemming > > -- > Flemming Jacobsen It'll probably say something like "Does not > compute" or "Inoperative parameters". That's > Email: fj@login.dknet.dk what it says when it doesn't know and doesn't > Phone: +45 3916 1833 want to admit it. -- Terry Pratchett: Wings To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Sun Jul 5 01:42:28 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id BAA08259 for freebsd-multimedia-outgoing; Sun, 5 Jul 1998 01:42:28 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from titus.stade.co.uk (root@stade.demon.co.uk [158.152.29.164]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id BAA08246 for ; Sun, 5 Jul 1998 01:42:14 -0700 (PDT) (envelope-from aw1@stade.co.uk) Received: (from aw1@localhost) by titus.stade.co.uk (8.8.8/8.8.8) id HAA22459; Sun, 5 Jul 1998 07:00:28 +0100 (BST) (envelope-from aw1) Message-ID: <19980705070027.A22401@stade.co.uk> Date: Sun, 5 Jul 1998 07:00:27 +0100 From: Adrian Wontroba To: freebsd-multimedia@FreeBSD.ORG Subject: Re: Bt878 support Reply-To: aw1@stade.co.uk Mail-Followup-To: freebsd-multimedia@FreeBSD.ORG References: <199807042020.NAA06116@rah.star-gate.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.91.1i In-Reply-To: <199807042020.NAA06116@rah.star-gate.com>; from Amancio Hasty on Sat, Jul 04, 1998 at 01:20:43PM -0700 Organization: Stade Computers Ltd, UK X-Phone: +(44) 121 681 6677 Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Sat, Jul 04, 1998 at 01:20:43PM -0700, Amancio Hasty wrote: > On a different note, since now I have a card with FM capability I got to > play with Flemming Jacobsen 's radio app . First it is a > most cool app !! Only one minor gotcha my stations seems to be off > by -5.5 so to tune to 103.7 I have to type in 98.2 so I am wondering > if anyone else is having this problem. I like 'radio' too. I don't have an offset problem. I'm using the 1.35 driver on a 2.2-stable system. -- Adrian Wontroba, Stade Computers Limited. phone: (+44) 121 681 6677 Mail info@accu.org for information about the Association of C and C++ Users or see To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Sun Jul 5 01:58:37 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id BAA09812 for freebsd-multimedia-outgoing; Sun, 5 Jul 1998 01:58:37 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from rah.star-gate.com (rah.star-gate.com [209.133.7.234]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id BAA09807 for ; Sun, 5 Jul 1998 01:58:36 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.8.8/8.8.8) with ESMTP id BAA00314; Sun, 5 Jul 1998 01:58:35 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Message-Id: <199807050858.BAA00314@rah.star-gate.com> X-Mailer: exmh version 2.0.2 2/24/98 To: aw1@stade.co.uk cc: freebsd-multimedia@FreeBSD.ORG Subject: Re: Bt878 support In-reply-to: Your message of "Sun, 05 Jul 1998 07:00:27 BST." <19980705070027.A22401@stade.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 05 Jul 1998 01:58:35 -0700 From: Amancio Hasty Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Can you run fxtv , exit then see if radio's frequency is off. Tnks, Amancio To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Sun Jul 5 02:07:43 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id CAA10831 for freebsd-multimedia-outgoing; Sun, 5 Jul 1998 02:07:43 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from titus.stade.co.uk (root@stade.demon.co.uk [158.152.29.164]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id CAA10796 for ; Sun, 5 Jul 1998 02:07:24 -0700 (PDT) (envelope-from aw1@stade.co.uk) Received: (from aw1@localhost) by titus.stade.co.uk (8.8.8/8.8.8) id KAA09602; Sun, 5 Jul 1998 10:06:15 +0100 (BST) (envelope-from aw1) Message-ID: <19980705100615.A5152@stade.co.uk> Date: Sun, 5 Jul 1998 10:06:15 +0100 From: Adrian Wontroba To: Amancio Hasty Cc: freebsd-multimedia@FreeBSD.ORG Subject: Re: Bt878 support Reply-To: aw1@stade.co.uk Mail-Followup-To: Amancio Hasty , freebsd-multimedia@freebsd.org References: <19980705070027.A22401@stade.co.uk> <199807050858.BAA00314@rah.star-gate.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.91.1i In-Reply-To: <199807050858.BAA00314@rah.star-gate.com>; from Amancio Hasty on Sun, Jul 05, 1998 at 01:58:35AM -0700 Organization: Stade Computers Ltd, UK X-Phone: +(44) 121 681 6677 Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Sun, Jul 05, 1998 at 01:58:35AM -0700, Amancio Hasty wrote: > Can you run fxtv , exit then see if radio's frequency is off. I've just done that - it is working ok. -- Adrian Wontroba, Stade Computers Limited. phone: (+44) 121 681 6677 Mail info@accu.org for information about the Association of C and C++ Users or see To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Sun Jul 5 02:16:24 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id CAA11782 for freebsd-multimedia-outgoing; Sun, 5 Jul 1998 02:16:24 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from rah.star-gate.com (rah.star-gate.com [209.133.7.234]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id CAA11777 for ; Sun, 5 Jul 1998 02:16:19 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.8.8/8.8.8) with ESMTP id CAA00464; Sun, 5 Jul 1998 02:16:19 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Message-Id: <199807050916.CAA00464@rah.star-gate.com> X-Mailer: exmh version 2.0.2 2/24/98 To: aw1@stade.co.uk cc: freebsd-multimedia@FreeBSD.ORG Subject: Re: Bt878 support In-reply-to: Your message of "Sun, 05 Jul 1998 10:06:15 BST." <19980705100615.A5152@stade.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 05 Jul 1998 02:16:19 -0700 From: Amancio Hasty Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hmmm... This makes me wonder if it is a Bt78 problem because the i2c interface is a little different. Tnks, Amancio To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Sun Jul 5 04:21:58 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id EAA26762 for freebsd-multimedia-outgoing; Sun, 5 Jul 1998 04:21:58 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from titus.stade.co.uk (root@stade.demon.co.uk [158.152.29.164]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id EAA26711 for ; Sun, 5 Jul 1998 04:21:27 -0700 (PDT) (envelope-from aw1@stade.co.uk) Received: (from aw1@localhost) by titus.stade.co.uk (8.8.8/8.8.8) id MAA02434; Sun, 5 Jul 1998 12:18:44 +0100 (BST) (envelope-from aw1) Message-ID: <19980705121844.A1836@stade.co.uk> Date: Sun, 5 Jul 1998 12:18:44 +0100 From: Adrian Wontroba To: Amancio Hasty , freebsd-multimedia@FreeBSD.ORG Subject: Re: Bt878 support Reply-To: aw1@stade.co.uk Mail-Followup-To: Amancio Hasty , freebsd-multimedia@freebsd.org References: <19980705070027.A22401@stade.co.uk> <199807050858.BAA00314@rah.star-gate.com> <19980705100615.A5152@stade.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.91.1i In-Reply-To: <19980705100615.A5152@stade.co.uk>; from Adrian Wontroba on Sun, Jul 05, 1998 at 10:06:15AM +0100 Organization: Stade Computers Ltd, UK X-Phone: +(44) 121 681 6677 Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Sun, Jul 05, 1998 at 10:06:15AM +0100, Adrian Wontroba wrote: > I've just done that - it is working ok. - I was using a different version of the driver to that which I thought (probably 1.27). With 1.35 I do have problems with radio. The sound I get is from whichever TV channel fxtv was last tuned to. -- Adrian Wontroba, Stade Computers Limited. phone: (+44) 121 681 6677 Mail info@accu.org for information about the Association of C and C++ Users or see To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Sun Jul 5 13:53:21 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id NAA03364 for freebsd-multimedia-outgoing; Sun, 5 Jul 1998 13:53:21 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from rah.star-gate.com (rah.star-gate.com [209.133.7.234]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id NAA03315 for ; Sun, 5 Jul 1998 13:53:12 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.8.8/8.8.8) with ESMTP id KAA00362 for ; Sun, 5 Jul 1998 10:49:47 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Message-Id: <199807051749.KAA00362@rah.star-gate.com> X-Mailer: exmh version 2.0.2 2/24/98 To: multimedia@FreeBSD.ORG Subject: Request for bt848 info Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 05 Jul 1998 10:49:46 -0700 From: Amancio Hasty Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org In order to better detect Bt848 cards , I need the following info: 1. Brand/model (Specify whether the card has FM radio or not) 2. Tuner component part number 3. output of fxtv-0.47 -debug startup 4. output of new sign.c 5. Any info that you may have on the card like the output of win95 hardware description for your bt848 card. on win95 click on : MyComputer->Control_Panel->System->Device_Manager(Tab) then click on Sound, video and game controllers click on Hauppauge WinCast/TV A Window pops up and it should be titled : Hauppauge WinCast/TV Properties Finally, click on the Tab Details ------------------------------------------------------------------ I think that we are getting close to fully identifying the Hauppauge cards: 77 02 01 03 03 43 12 12 79 2b 00 00 00 00 Rah (NTSC-FM) 77 02 01 03 03 43 12 0e 79 d8 00 00 00 00 Jacques (NTSC-FM) 77 02 01 03 03 43 15 14 79 a5 00 00 00 00 Cioloco (NTSC) 77 02 01 03 03 43 16 19 79 a9 00 00 00 00 Randall (NTSC) 74 02 01 04 02 79 b6 00 00 00 00 00 00 00 Frank (PAL-FM) 74 02 01 04 02 79 ae 00 ff ff ff ff ff ff Flemming (PAL-FM) 74 02 01 05 02 79 72 00 00 00 00 00 00 00 Adrian (PAL-FM) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Sun Jul 5 15:13:29 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id PAA19135 for freebsd-multimedia-outgoing; Sun, 5 Jul 1998 15:13:29 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from rah.star-gate.com (rah.star-gate.com [209.133.7.234]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id PAA19128 for ; Sun, 5 Jul 1998 15:13:24 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.8.8/8.8.8) with ESMTP id PAA01357 for ; Sun, 5 Jul 1998 15:13:23 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Message-Id: <199807052213.PAA01357@rah.star-gate.com> X-Mailer: exmh version 2.0.2 2/24/98 To: multimedia@FreeBSD.ORG Subject: Flemming's radio: ftp://login.dknet.dk/pub/fj/radio.tgz Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 05 Jul 1998 15:13:23 -0700 From: Amancio Hasty Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org If you want to play FM radio the above url points to Flemming's radio app if the app is not at the Bt848 web page it will be tonite. Enjoy, Amancio To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Sun Jul 5 15:43:55 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id PAA24529 for freebsd-multimedia-outgoing; Sun, 5 Jul 1998 15:43:55 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from rah.star-gate.com (rah.star-gate.com [209.133.7.234]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id PAA24497 for ; Sun, 5 Jul 1998 15:43:26 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.8.8/8.8.8) with ESMTP id PAA01449 for ; Sun, 5 Jul 1998 15:43:23 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Message-Id: <199807052243.PAA01449@rah.star-gate.com> X-Mailer: exmh version 2.0.2 2/24/98 To: multimedia@FreeBSD.ORG Subject: radio vs. tv tunning Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 05 Jul 1998 15:43:23 -0700 From: Amancio Hasty Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Just trying to find out if anyone knows anything about fm tunning vs tv tunning for a Philips FR1236. Not sure if it is a bug or not with the current driver and my bt878 such that when my system first comes up , if I start "radio" is able to tune to stations with no problem however if I start fxtv and exit , subsequent invocations of "radio" are off by -5.50 . Additionally, Flemming Jacobsen radio's README file states: BUG --------------- The initialization routine is not quite complete. This means that in order to use the radio, you have to start and stop fxtv after each powercycle, before you start the radio. If anyone figures out what I'm missing, I'd love to hear about it. --------------- So we need to sort out the proper initialization of the fr1236 with respect to FM . ftp://rah.star-gate.com/pub/fr1216.pdf ftp://rah.star-gate.com/pub/radio.tgz and radio is also available from : http://www.freebsd.org/~ahasty/Bt848.html Tnks, Amancio To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Sun Jul 5 15:49:21 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id PAA25651 for freebsd-multimedia-outgoing; Sun, 5 Jul 1998 15:49:21 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from thelab.hub.org (dyna2-155.acadiau.ca [131.162.2.155]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id PAA25620; Sun, 5 Jul 1998 15:49:09 -0700 (PDT) (envelope-from scrappy@hub.org) Received: from localhost (scrappy@localhost) by thelab.hub.org (8.8.8/8.8.2) with SMTP id TAA15393; Sun, 5 Jul 1998 19:49:11 -0300 (ADT) X-Authentication-Warning: thelab.hub.org: scrappy owned process doing -bs Date: Sun, 5 Jul 1998 19:49:11 -0300 (ADT) From: The Hermit Hacker To: current@FreeBSD.ORG cc: multimedia@FreeBSD.ORG Subject: xf86OpenConsole: KDENABIO failed (Operation not permitted) Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Can someone tell me what this means? I'm running a CURRENT system as of yesterday + 3.3.2 compiled on Friday from ports, and I get the same error if I run KDE or olvwm or any other window manager...and whether I try to do a startx from root or from my personal userid... Fatal server error: xf86OpenConsole: KDENABIO failed (Operation not permitted) Thanks.. Marc G. Fournier Systems Administrator @ hub.org primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Sun Jul 5 18:00:53 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA29883 for freebsd-multimedia-outgoing; Sun, 5 Jul 1998 18:00:53 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from thelab.hub.org (tc-10.acadiau.ca [131.162.2.110]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA29870; Sun, 5 Jul 1998 18:00:47 -0700 (PDT) (envelope-from scrappy@hub.org) Received: from localhost (scrappy@localhost) by thelab.hub.org (8.8.8/8.8.2) with SMTP id WAA00367; Sun, 5 Jul 1998 22:00:22 -0300 (ADT) X-Authentication-Warning: thelab.hub.org: scrappy owned process doing -bs Date: Sun, 5 Jul 1998 22:00:17 -0300 (ADT) From: The Hermit Hacker To: Hostas Red cc: current@FreeBSD.ORG, multimedia@FreeBSD.ORG Subject: Re: xf86OpenConsole: KDENABIO failed (Operation not permitted) In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Perfect, thanks...that did it... On Mon, 6 Jul 1998, Hostas Red wrote: > Hi! > > On Sun, 5 Jul 1998, The Hermit Hacker wrote: > > > Can someone tell me what this means? I'm running a CURRENT system as of > > yesterday + 3.3.2 compiled on Friday from ports, and I get the same error > > if I run KDE or olvwm or any other window manager...and whether I try to > > do a startx from root or from my personal userid... > > > > Fatal server error: > > xf86OpenConsole: KDENABIO failed (Operation not permitted) > > Turn off kernel security in your rc.conf. Get options from > /usr/src/etc/rc.conf. > > Adios, > /KONG > Marc G. Fournier Systems Administrator @ hub.org primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Mon Jul 6 01:05:55 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id BAA26046 for freebsd-multimedia-outgoing; Mon, 6 Jul 1998 01:05:55 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from rah.star-gate.com (rah.star-gate.com [209.133.7.234]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id BAA26017 for ; Mon, 6 Jul 1998 01:05:45 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.8.8/8.8.8) with ESMTP id BAA01028 for ; Mon, 6 Jul 1998 01:05:41 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Message-Id: <199807060805.BAA01028@rah.star-gate.com> X-Mailer: exmh version 2.0.2 2/24/98 To: multimedia@FreeBSD.ORG Subject: new Bt848 driver update Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 06 Jul 1998 01:05:41 -0700 From: Amancio Hasty Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org ftp://rah.star-gate.com/pub/Bt848.tar.gz The current board recognition algorithm is mostly focusing on Hauppauge cards because it appears that Hauppauge is using the eeprom to encode the configuration of their bt848 cards. For cards which don't have an eeprom or we can't read the eeprom we will have to focus on the the output of the program sign and the driver already has the data structure and algorithm to accommodate such boards. We really need the following info so if you have win95 and have not send this info please do so. I think that the latest driver should be able to recognize properly all NTSC boards however the PAL users remain a little bit of problem right now. output of win95 hardware description for your bt848 card. on win95 click on : MyComputer->Control_Panel->System->Device_Manager(Tab) then click on Sound, video and game controllers click on Hauppauge WinCast/TV A Window pops up and it should be titled : Hauppauge WinCast/TV Properties Finally, click on the Tab Details I think that the latest driver should be able to recognize properly all NTSC boards however the PAL users remain a little bit of problem right now. I just need more data to differentiate among the popular PAL tuner parts. Tnks, Amancio To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Mon Jul 6 22:54:06 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id WAA01114 for freebsd-multimedia-outgoing; Mon, 6 Jul 1998 22:54:06 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from rah.star-gate.com (rah.star-gate.com [209.133.7.234]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id WAA01043 for ; Mon, 6 Jul 1998 22:53:51 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.8.8/8.8.8) with ESMTP id WAA00729 for ; Mon, 6 Jul 1998 22:53:46 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Message-Id: <199807070553.WAA00729@rah.star-gate.com> X-Mailer: exmh version 2.0.2 2/24/98 To: multimedia@FreeBSD.ORG Subject: bt848 driver will be checked in this Friday Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 06 Jul 1998 22:53:46 -0700 From: Amancio Hasty Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org The latest Bt848 driver available from ftp://rah.star-gate.com/pub/bt848.tar.gz is going to be checked in this Friday . If the driver does not recognize properly your card now is good time to yell about it. Cheers, Amancio To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Wed Jul 8 02:25:00 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id CAA06900 for freebsd-multimedia-outgoing; Wed, 8 Jul 1998 02:25:00 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from post.mail.demon.net (post-12.mail.demon.net [194.217.242.41]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id CAA06766 for ; Wed, 8 Jul 1998 02:24:35 -0700 (PDT) (envelope-from aw1@stade.co.uk) Received: from (titus.stade.co.uk) [158.152.29.164] by post.mail.demon.net with esmtp (Exim 1.82 #2) id 0ytmHn-0003iE-00; Wed, 8 Jul 1998 04:56:56 +0000 Received: (from aw1@localhost) by titus.stade.co.uk (8.8.8/8.8.8) id FAA04961; Wed, 8 Jul 1998 05:39:49 +0100 (BST) (envelope-from aw1) Message-ID: <19980708053949.A4437@stade.co.uk> Date: Wed, 8 Jul 1998 05:39:49 +0100 From: Adrian Wontroba To: Amancio Hasty , multimedia@FreeBSD.ORG Subject: Re: bt848 driver will be checked in this Friday Reply-To: aw1@stade.co.uk Mail-Followup-To: Amancio Hasty , multimedia@FreeBSD.ORG References: <199807070553.WAA00729@rah.star-gate.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.91.1i In-Reply-To: <199807070553.WAA00729@rah.star-gate.com>; from Amancio Hasty on Mon, Jul 06, 1998 at 10:53:46PM -0700 Organization: Stade Computers Ltd, UK X-Phone: +(44) 121 681 6677 Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Mon, Jul 06, 1998 at 10:53:46PM -0700, Amancio Hasty wrote: > The latest Bt848 driver available from > ftp://rah.star-gate.com/pub/bt848.tar.gz Hmm. I'm having trouble in compiling this on a 2.2-stable machine: cc -c -O -pipe -Wreturn-type -Wcomment -Wredundant-decls -Wimplicit -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -nostdinc -I- -I. -I../.. -I../../../include -DMD5 -DCOMPAT_43 -DMFS -DFFS -DINET -DKERNEL ../../pci/brooktree848.c ../../pci/brooktree848.c:1851: conflicting types for `bktr_ioctl' ../../pci/brooktree848.c:401: previous declaration of `bktr_ioctl' *** Error code 1 This is after deleting /usr/src/sys/* and installing the tar file above, plus Luigi's sound patches. Back to 1.35 for me, I think. -- Adrian Wontroba, Stade Computers Limited. phone: (+44) 121 681 6677 Mail info@accu.org for information about the Association of C and C++ Users or see To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Wed Jul 8 02:40:20 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id CAA13060 for freebsd-multimedia-outgoing; Wed, 8 Jul 1998 02:40:20 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from post.mail.demon.net (post-11.mail.demon.net [194.217.242.40]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id CAA12975 for ; Wed, 8 Jul 1998 02:40:03 -0700 (PDT) (envelope-from aw1@stade.co.uk) Received: from (titus.stade.co.uk) [158.152.29.164] by post.mail.demon.net with esmtp (Exim 1.82 #2) id 0ytmSl-00009S-00; Wed, 8 Jul 1998 05:08:15 +0000 Received: (from aw1@localhost) by titus.stade.co.uk (8.8.8/8.8.8) id GAA01887; Wed, 8 Jul 1998 06:07:34 +0100 (BST) (envelope-from aw1) Message-ID: <19980708060733.A1247@stade.co.uk> Date: Wed, 8 Jul 1998 06:07:33 +0100 From: Adrian Wontroba To: Amancio Hasty Cc: multimedia@FreeBSD.ORG Subject: Re: bt848 driver will be checked in this Friday Reply-To: aw1@stade.co.uk Mail-Followup-To: Amancio Hasty , multimedia@FreeBSD.ORG References: <19980708053949.A4437@stade.co.uk> <199807080501.WAA05471@rah.star-gate.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.91.1i In-Reply-To: <199807080501.WAA05471@rah.star-gate.com>; from Amancio Hasty on Tue, Jul 07, 1998 at 10:01:35PM -0700 Organization: Stade Computers Ltd, UK X-Phone: +(44) 121 681 6677 Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Tue, Jul 07, 1998 at 10:01:35PM -0700, Amancio Hasty wrote: > You can go back to 1.35 or patch the driver: Thanks - I'll change the typedef. -- Adrian Wontroba, Stade Computers Limited. phone: (+44) 121 681 6677 Mail info@accu.org for information about the Association of C and C++ Users or see To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Wed Jul 8 03:02:02 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id DAA18450 for freebsd-multimedia-outgoing; Wed, 8 Jul 1998 03:02:02 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from rah.star-gate.com (rah.star-gate.com [209.133.7.234]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id DAA18414 for ; Wed, 8 Jul 1998 03:02:00 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.8.8/8.8.8) with ESMTP id WAA05471; Tue, 7 Jul 1998 22:01:35 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Message-Id: <199807080501.WAA05471@rah.star-gate.com> X-Mailer: exmh version 2.0.2 2/24/98 To: aw1@stade.co.uk cc: multimedia@FreeBSD.ORG Subject: Re: bt848 driver will be checked in this Friday In-reply-to: Your message of "Wed, 08 Jul 1998 05:39:49 BST." <19980708053949.A4437@stade.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 07 Jul 1998 22:01:35 -0700 From: Amancio Hasty Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org You can go back to 1.35 or patch the driver: look for: typedef u_long ioctl_cmd_t; and change it to: typedef int ioctl_cmd_t Cheers, Amancio > On Mon, Jul 06, 1998 at 10:53:46PM -0700, Amancio Hasty wrote: > > The latest Bt848 driver available from > > ftp://rah.star-gate.com/pub/bt848.tar.gz > > Hmm. I'm having trouble in compiling this on a 2.2-stable machine: > cc -c -O -pipe -Wreturn-type -Wcomment -Wredundant-decls -Wimplicit -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -nostdinc -I- -I. -I../.. -I../../../include -DMD5 -DCOMPAT_43 -DMFS -DFFS -DINET -DKERNEL ../../pci/brooktree848.c > ../../pci/brooktree848.c:1851: conflicting types for `bktr_ioctl' > ../../pci/brooktree848.c:401: previous declaration of `bktr_ioctl' > *** Error code 1 > > This is after deleting /usr/src/sys/* and installing the tar file above, plus > Luigi's sound patches. > > Back to 1.35 for me, I think. > > -- > Adrian Wontroba, Stade Computers Limited. phone: (+44) 121 681 6677 > Mail info@accu.org for information about the Association of C and C++ Users > or see To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Wed Jul 8 07:02:04 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id HAA03923 for freebsd-multimedia-outgoing; Wed, 8 Jul 1998 07:02:04 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from fleming.cs.strath.ac.uk (root@fleming.cs.strath.ac.uk [130.159.196.123]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id HAA03918 for ; Wed, 8 Jul 1998 07:02:02 -0700 (PDT) (envelope-from roger@cs.strath.ac.uk) Received: from muir-10 (roger@muir-10.cs.strath.ac.uk [130.159.148.10]) by fleming.cs.strath.ac.uk (8.8.8/8.8.8) with SMTP id PAA26913 Wed, 8 Jul 1998 15:01:37 +0100 (BST) Message-ID: <35A37BC2.2781@cs.strath.ac.uk> Date: Wed, 08 Jul 1998 15:01:38 +0100 From: Roger Hardiman Organization: University of Strathclyde X-Mailer: Mozilla 3.04Gold (X11; I; OSF1 V4.0 alpha) MIME-Version: 1.0 To: Amancio Hasty CC: freebsd-multimedia@FreeBSD.ORG Subject: Re: bt848 driver will be checked in this Friday References: <199807070553.WAA00729@rah.star-gate.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Amancio, I've got a partial patch for the development bt848 driver before you commit. It looks like you modified the Hauppauge Tuner logic to a) select the right tuner if the EEPROM can be decoded b) if the EEPROM cannot be decoded, do what it did before ( ie pick NTSC if the NTSC i2c address is working and TEMIC PAL if its i2c address is working. Plan b) fails, due to a small bug in the 1.37 driver. I have a fix for you. You need to add this default: to the following switch statement switch (code) { case 0x1: bktr->card.tuner = &tuners[ PHILIPS_NTSC ]; goto checkDBX; case 0x101: bktr->card.tuner = &tuners[ PHILIPS_FR1236_NTSC ]; goto checkDBX; case 0x2: bktr->card.tuner = &tuners[ TEMIC_PAL ]; goto checkDBX; case 0x202: bktr->card.tuner = &tuners[ PHILIPS_FR1216_PAL]; goto checkDBX; default: if ( i2cRead( bktr, TEMIC_PALI_RADDR ) != ABSENT ) { bktr->card.tuner = &tuners[ TEMIC_PAL ]; goto checkDBX; } You can then also delete the line bktr->card.tuner = &tuners[ TEMIC_PAL ]; which comes immediatly after if ( card == CARD_HAUPPAUGE ) { because setting this default to PAL is no use. It gets overridden by the final setting to NONE which comes at the end of the Tuner section. Bye Roger To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Fri Jul 10 00:07:51 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id AAA00927 for freebsd-multimedia-outgoing; Fri, 10 Jul 1998 00:07:51 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from home.dragondata.com (toasty@home.dragondata.com [204.137.237.2]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id AAA00922 for ; Fri, 10 Jul 1998 00:07:49 -0700 (PDT) (envelope-from toasty@home.dragondata.com) Received: (from toasty@localhost) by home.dragondata.com (8.8.8/8.8.5) id CAA16376; Fri, 10 Jul 1998 02:07:32 -0500 (CDT) From: Kevin Day Message-Id: <199807100707.CAA16376@home.dragondata.com> Subject: Re: bt848 driver will be checked in this Friday In-Reply-To: <199807070553.WAA00729@rah.star-gate.com> from Amancio Hasty at "Jul 6, 98 10:53:46 pm" To: hasty@rah.star-gate.com (Amancio Hasty) Date: Fri, 10 Jul 1998 02:07:31 -0500 (CDT) Cc: multimedia@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL31 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > > The latest Bt848 driver available from > ftp://rah.star-gate.com/pub/bt848.tar.gz > > is going to be checked in this Friday . If the driver does not > recognize properly your card now is good time to yell about it. > I've got a Hauppage card (model 404)... antenna/cable in, and composite video in... I can't seem to make it work though.. Setting it to 'Tuner' produces static on all channels, although i can tell it's actually changing channels because of the noise changing on certain numbers... setting it to 'Video' produces a blue screen, no more. What do I do first to start debugging it? It sees it as a 'Hauppauge WinCast/TV, Phillips NTSC tuner.'. Jul 10 01:19:52 xhost /kernel: FreeBSD 2.2.6-RELEASE #0: Fri Jul 10 01:18:25 CDT 1998 Jul 10 01:19:52 xhost /kernel: root@xhost.dragondata.com:/usr/src/sys/compile/XHOST Jul 10 01:19:52 xhost /kernel: Calibrating clock(s) ... i586 clock: 165768813 Hz, i8254 clock: 1193035 Hz Jul 10 01:19:52 xhost /kernel: CLK_USE_I8254_CALIBRATION not specified - using default frequency Jul 10 01:19:52 xhost /kernel: CLK_USE_I586_CALIBRATION not specified - using old calibration method Jul 10 01:19:52 xhost /kernel: CPU: Pentium (165.79-MHz 586-class CPU) Jul 10 01:19:52 xhost /kernel: Origin = "GenuineIntel" Id = 0x52c Stepping=12 Jul 10 01:19:52 xhost /kernel: Features=0x1bf Jul 10 01:19:52 xhost /kernel: real memory = 33554432 (32768K bytes) Jul 10 01:19:52 xhost /kernel: Physical memory chunk(s): Jul 10 01:19:52 xhost /kernel: 0x00001000 - 0x0009efff, 647168 bytes (158 pages) Jul 10 01:19:52 xhost /kernel: 0x0022c000 - 0x01ffdfff, 31268864 bytes (7634 pages) Jul 10 01:19:52 xhost /kernel: avail memory = 30687232 (29968K bytes) Jul 10 01:19:52 xhost /kernel: pcibus_setup(1): mode 1 addr port (0x0cf8) is 0x80000058 Jul 10 01:19:52 xhost /kernel: pcibus_setup(1a): mode1res=0x80000000 (0x80000000) Jul 10 01:19:52 xhost /kernel: pcibus_check: device 0 is there (id=12508086) Jul 10 01:19:52 xhost /kernel: Probing for devices on PCI bus 0: Jul 10 01:19:52 xhost /kernel: configuration mode 1 allows 32 devices. Jul 10 01:19:52 xhost /kernel: chip0 rev 3 on pci0:0:0 Jul 10 01:19:52 xhost /kernel: chip1 rev 1 on pci0:7:0 Jul 10 01:19:52 xhost /kernel: I/O Recovery Timing: 8-bit 1 clocks, 16-bit 1 clocks Jul 10 01:19:52 xhost /kernel: Extended BIOS: disabled Jul 10 01:19:52 xhost /kernel: Lower BIOS: disabled Jul 10 01:19:52 xhost /kernel: Coprocessor IRQ13: enabled Jul 10 01:19:52 xhost /kernel: Mouse IRQ12: enabled Jul 10 01:19:52 xhost /kernel: Interrupt Routing: A: disabled, B: disabled, C: IRQ15, D: IRQ11 Jul 10 01:19:52 xhost /kernel: MB0: , MB1: Jul 10 01:19:52 xhost /kernel: chip2 rev 0 on pci0:7:1 Jul 10 01:19:52 xhost /kernel: mapreg[20] type=1 addr=0000f000 size=0010. Jul 10 01:19:52 xhost /kernel: Primary IDE: enabled Jul 10 01:19:52 xhost /kernel: Secondary IDE: disabled Jul 10 01:19:52 xhost /kernel: bktr0 rev 2 int a irq 11 on pci0:17:0 Jul 10 01:19:52 xhost /kernel: mapreg[10] type=0 addr=e1001000 size=1000. Jul 10 01:19:52 xhost /kernel: reg16: virtual=0xf4363000 physical=0xe1001000 size=0x1000 Jul 10 01:19:52 xhost /kernel: brooktree0: PCI bus latency is 32. Jul 10 01:19:52 xhost /kernel: bktr0: buffer size 3555328, addr 0x431000 Jul 10 01:19:53 xhost /kernel: bktr: GPIO is 0x00fffffb Jul 10 01:19:53 xhost /kernel: Hauppauge WinCast/TV, Philips NTSC tuner. Jul 10 01:19:53 xhost /kernel: pci0:17:1: vendor=0x109e, device=0x0878, class=multimedia (misc) int a irq 11 [no driver assigned] Jul 10 01:19:53 xhost /kernel: map(10): mem32(e1000008) Jul 10 01:19:53 xhost /kernel: vga0 rev 65 int a irq 15 on pci0:18:0 Jul 10 01:19:53 xhost /kernel: mapreg[10] type=0 addr=e0000000 size=1000000. Jul 10 01:19:53 xhost /kernel: pci0: uses 16781312 bytes of memory from e0000000 upto e1001fff. Jul 10 01:19:53 xhost /kernel: pci0: uses 16 bytes of I/O space from f000 upto f00f. Kevin To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Fri Jul 10 00:13:11 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id AAA01294 for freebsd-multimedia-outgoing; Fri, 10 Jul 1998 00:13:11 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from rah.star-gate.com (rah.star-gate.com [209.133.7.234]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id AAA01289 for ; Fri, 10 Jul 1998 00:13:09 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.8.8/8.8.8) with ESMTP id AAA23676; Fri, 10 Jul 1998 00:13:00 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Message-Id: <199807100713.AAA23676@rah.star-gate.com> X-Mailer: exmh version 2.0.2 2/24/98 To: Kevin Day cc: multimedia@FreeBSD.ORG Subject: Re: bt848 driver will be checked in this Friday In-reply-to: Your message of "Fri, 10 Jul 1998 02:07:31 CDT." <199807100707.CAA16376@home.dragondata.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 10 Jul 1998 00:13:00 -0700 From: Amancio Hasty Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Download the latest driver from my ftp and it looks like you have a Bt878. ftp://rah.star-gate.com/pub/bt848.tar.gz Have Fun, Amancio To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Fri Jul 10 00:15:44 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id AAA01464 for freebsd-multimedia-outgoing; Fri, 10 Jul 1998 00:15:44 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from home.dragondata.com (toasty@home.dragondata.com [204.137.237.2]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id AAA01459 for ; Fri, 10 Jul 1998 00:15:42 -0700 (PDT) (envelope-from toasty@home.dragondata.com) Received: (from toasty@localhost) by home.dragondata.com (8.8.8/8.8.5) id CAA16725; Fri, 10 Jul 1998 02:15:39 -0500 (CDT) From: Kevin Day Message-Id: <199807100715.CAA16725@home.dragondata.com> Subject: Re: bt848 driver will be checked in this Friday In-Reply-To: <199807100713.AAA23676@rah.star-gate.com> from Amancio Hasty at "Jul 10, 98 00:13:00 am" To: hasty@rah.star-gate.com (Amancio Hasty) Date: Fri, 10 Jul 1998 02:15:39 -0500 (CDT) Cc: multimedia@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL31 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > Download the latest driver from my ftp and it looks like you have a Bt878. > > ftp://rah.star-gate.com/pub/bt848.tar.gz > > Have Fun, > Amancio > I've already got the latest from there.... Still no go. Yeah, looking now... the picture of the card on the box shows a bt848... the box says it's a bt848, but the chip itself has writing too smudged to read what it really is.... Are bt878's compatible? Kevin To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Fri Jul 10 00:26:46 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id AAA02474 for freebsd-multimedia-outgoing; Fri, 10 Jul 1998 00:26:46 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from rah.star-gate.com (rah.star-gate.com [209.133.7.234]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id AAA02469 for ; Fri, 10 Jul 1998 00:26:38 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.8.8/8.8.8) with ESMTP id AAA10706; Fri, 10 Jul 1998 00:26:19 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Message-Id: <199807100726.AAA10706@rah.star-gate.com> X-Mailer: exmh version 2.0.2 2/24/98 To: Kevin Day cc: multimedia@FreeBSD.ORG Subject: Re: bt848 driver will be checked in this Friday In-reply-to: Your message of "Fri, 10 Jul 1998 02:15:39 CDT." <199807100715.CAA16725@home.dragondata.com> Mime-Version: 1.0 Content-Type: multipart/mixed ; boundary="==_Exmh_-12741814920" Date: Fri, 10 Jul 1998 00:26:18 -0700 From: Amancio Hasty Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org This is a multipart MIME message. --==_Exmh_-12741814920 Content-Type: text/plain; charset=us-ascii Please mail me the output of ./eeprom 0 128 which is available from http://www.freebsd.org/~ahasty/Bt848.html The Bt878 is an upgrade to the Bt848. Please recompile fxtv-0.47 with this tvcapture.c the problem is that your model has one extra MUX which Hauppauge uses for video input. Tnks, Amancio > > Download the latest driver from my ftp and it looks like you have a Bt878. > > > > ftp://rah.star-gate.com/pub/bt848.tar.gz > > > > Have Fun, > > Amancio > > > > I've already got the latest from there.... Still no go. > > Yeah, looking now... the picture of the card on the box shows a bt848... the > box says it's a bt848, but the chip itself has writing too smudged to read > what it really is.... > > Are bt878's compatible? > > Kevin --==_Exmh_-12741814920 Content-Type: text/plain ; name="tvcapture.c"; charset=us-ascii Content-Description: tvcapture.c Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="tvcapture.c" LyoKICogdHZjYXB0dXJlLmMKICoKICogQVBJIGZvciBjb250cm9sbGluZyB0aGUgY2FwdHVy ZSBjYXJkIGF0dHJpYnV0ZXMgYW5kIHN0YXRlLgogKgogKiAoQykgMTk5NyBSYW5kYWxsIEhv cHBlcgogKgogKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5 IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogKiBtZXQ6IDEu IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg Y29weXJpZ2h0CiAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm b2xsb3dpbmcgZGlzY2xhaW1lci4gMi4KICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAogKiB0aGlz IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo ZSBkb2N1bWVudGF0aW9uCiAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0 aCB0aGUgZGlzdHJpYnV0aW9uLgogKgogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ IFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQogKiBFWFBS RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg VE8sIFRIRSBJTVBMSUVECiAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKICogRElTQ0xBSU1FRC4gIElO IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG T1IKICogQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q TEFSWSwgT1IgQ09OU0VRVUVOVElBTAogKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgogKiBTRVJW SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS UlVQVElPTikgSE9XRVZFUgogKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKICogTElBQklMSVRZLCBPUiBUT1JU IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB WQogKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg T0YgVEhFIFBPU1NJQklMSVRZIE9GCiAqIFNVQ0ggREFNQUdFLgogKgogKi8KCi8qICAgICAg KioqKioqKioqKioqKioqKioqKiogSW5jbHVkZSBGaWxlcyAgICAgICAgICAgICAgICAqKioq KioqKioqKioqKiAqLwoKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4K I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8ZmNudGwuaD4KI2luY2x1ZGUgPGVycm5v Lmg+CiNpbmNsdWRlIDxzeXMvbW1hbi5oPgojaW5jbHVkZSA8bWFjaGluZS9pb2N0bF9idDg0 OC5oPgojaW5jbHVkZSA8c2lnbmFsLmg+CiNpbmNsdWRlICJ0dmRlZmluZXMuaCIKI2luY2x1 ZGUgInR2dHlwZXMuaCIKI2luY2x1ZGUgInR2Y2FwdHVyZS5oIgojaW5jbHVkZSAiYXBwX3Jz cmMuaCIKI2luY2x1ZGUgImdsb2IuaCIKCi8qICAgICAgKioqKioqKioqKioqKioqKioqKiog TG9jYWwgZGVmaW5lcyAgICAgICAgICAgICAgICAqKioqKioqKioqKioqKiAqLwoKLyogIEZv ciBGeHR2IDAuNDEvYmt0ciBkcml2ZXIgTGludXggcG9ydCAtLSByZW1vdmUgd2hlbiB0aGUg bGF0ZXN0IGlzIHBvcnRlZCAqLwojaWZkZWYgT0xEX1RVTkVSX0lGQUNFCiMgIGRlZmluZSBC VDg0OFNGTVQgTUVURU9SU0ZNVAojZW5kaWYKCiNpZiBkZWZpbmVkKF9fRnJlZUJTRF9fKQoj ICBkZWZpbmUgREVWX0JUODQ4ICAgIi9kZXYvYmt0ciVkIgojICBkZWZpbmUgREVWX1RVTkVS ICAgIi9kZXYvdHVuZXIlZCIKI2VsaWYgZGVmaW5lZChsaW51eCkKIyAgd2FybmluZyBGSVhN RTogRG9lcy9ob3cgZG9lcyBMaW51eCBuYW1lIG11bHRpcGxlIGRldmljZXMgb2YgdGhlIHNh bWUgdHlwZQojICB3YXJuaW5nICAgICAgICBJcyB0aGVyZSBhIGNvbnNpc3RlbnQgcG9saWN5 IGFzIGluIEZyZWVCU0Q/CiMgIGRlZmluZSBERVZfQlQ4NDggICAiL2Rldi9idDg0OCIKIyAg ZGVmaW5lIERFVl9UVU5FUiAgICIvZGV2L2J0ODQ4dCIKI2VuZGlmCgovKiAgTWFjcm9zICAq LwojZGVmaW5lIERPX0lPQ1RMX0dFUlIoc3RyKSAgICAgZnByaW50ZihzdGRlcnIsICJpb2N0 bCglcykgZmFpbGVkOiAlc1xuIiwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHIsIHN0cmVycm9yKGVycm5vKSApCiNkZWZpbmUgRE9fSU9DVExfU0VSUihz dHIsYXJnKSBmcHJpbnRmKHN0ZGVyciwgImlvY3RsKCVzLCAlbGQpIGZhaWxlZDogJXNcbiIs XAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIsIChsb25nKWFy Zywgc3RyZXJyb3IoZXJybm8pICkKCiNkZWZpbmUgSFVFX01JTiAgICAgICAgICAgIEJUODQ4 X0hVRU1JTgojZGVmaW5lIEhVRV9NQVggICAgICAgICAgICAoQlQ4NDhfSFVFTUlOICsgQlQ4 NDhfSFVFUkFOR0UpCiNkZWZpbmUgSFVFX1JBTkdFICAgICAgICAgIEJUODQ4X0hVRVJBTkdF CiNkZWZpbmUgSFVFX0RSVl9NSU4gICAgICAgIEJUODQ4X0hVRVJFR01JTgojZGVmaW5lIEhV RV9EUlZfUkFOR0UgICAgICAoQlQ4NDhfSFVFUkVHTUFYIC0gQlQ4NDhfSFVFUkVHTUlOICsg MSkKCiNkZWZpbmUgQlJJR0hUX01JTiAgICAgICAgIEJUODQ4X0JSSUdIVE1JTgojZGVmaW5l IEJSSUdIVF9NQVggICAgICAgICAoQlQ4NDhfQlJJR0hUTUlOICsgQlQ4NDhfQlJJR0hUUkFO R0UpCiNkZWZpbmUgQlJJR0hUX1JBTkdFICAgICAgIEJUODQ4X0JSSUdIVFJBTkdFCiNkZWZp bmUgQlJJR0hUX0RSVl9NSU4gICAgIEJUODQ4X0JSSUdIVFJFR01JTgojZGVmaW5lIEJSSUdI VF9EUlZfUkFOR0UgICAoQlQ4NDhfQlJJR0hUUkVHTUFYIC0gQlQ4NDhfQlJJR0hUUkVHTUlO ICsgMSkKIAojZGVmaW5lIENPTlRSX01JTiAgICAgICAgICBCVDg0OF9DT05UUkFTVE1JTgoj ZGVmaW5lIENPTlRSX01BWCAgICAgICAgICAoQlQ4NDhfQ09OVFJBU1RNSU4gKyBCVDg0OF9D T05UUkFTVFJBTkdFKQojZGVmaW5lIENPTlRSX1JBTkdFICAgICAgICBCVDg0OF9DT05UUkFT VFJBTkdFCiNkZWZpbmUgQ09OVFJfRFJWX01JTiAgICAgIEJUODQ4X0NPTlRSQVNUUkVHTUlO CiNkZWZpbmUgQ09OVFJfRFJWX1JBTkdFICAgIChCVDg0OF9DT05UUkFTVFJFR01BWCAtIEJU ODQ4X0NPTlRSQVNUUkVHTUlOICsgMSkKCiNkZWZpbmUgU0FUVV9NSU4gICAgICAgICAgICBC VDg0OF9TQVRVTUlOCiNkZWZpbmUgU0FUVV9NQVggICAgICAgICAgICAoQlQ4NDhfU0FUVU1J TiArIEJUODQ4X1NBVFVSQU5HRSkKI2RlZmluZSBTQVRVX1JBTkdFICAgICAgICAgIEJUODQ4 X1NBVFVSQU5HRQojZGVmaW5lIFNBVFVfRFJWX01JTiAgICAgICAgQlQ4NDhfU0FUVVJFR01J TgojZGVmaW5lIFNBVFVfRFJWX1JBTkdFICAgICAgKEJUODQ4X1NBVFVSRUdNQVggLSBCVDg0 OF9TQVRVUkVHTUlOICsgMSkKCiNkZWZpbmUgU0FUVl9NSU4gICAgICAgICAgICBCVDg0OF9T QVRWTUlOCiNkZWZpbmUgU0FUVl9NQVggICAgICAgICAgICAoQlQ4NDhfU0FUVk1JTiArIEJU ODQ4X1NBVFZSQU5HRSkKI2RlZmluZSBTQVRWX1JBTkdFICAgICAgICAgIEJUODQ4X1NBVFZS QU5HRQojZGVmaW5lIFNBVFZfRFJWX01JTiAgICAgICAgQlQ4NDhfU0FUVlJFR01JTgojZGVm aW5lIFNBVFZfRFJWX1JBTkdFICAgICAgKEJUODQ4X1NBVFZSRUdNQVggLSBCVDg0OF9TQVRW UkVHTUlOICsgMSkKCiNkZWZpbmUgTlRTQ19ESU1fWCAgICAgICAgICA2NDAKI2RlZmluZSBO VFNDX0RJTV9ZICAgICAgICAgIDQ4MAojZGVmaW5lIE5UU0NfRlBTICAgICAgICAgICAgMzAK I2RlZmluZSBQQUxfRElNX1ggICAgICAgICAgIDc2OAojZGVmaW5lIFBBTF9ESU1fWSAgICAg ICAgICAgNTc2CiNkZWZpbmUgUEFMX0ZQUyAgICAgICAgICAgICAyNQoKLyogIE1heCBTaW5n bGUgRnJhbWUgU2l6ZSAoaW4gYnl0ZXMpIGZvciBOVFNDICYgUEFMICg0QnBwIG1heCkgICov CiNkZWZpbmUgTUFYX01NQVBfQlVGX1NJWkUgICAoIE1BWCggTlRTQ19ESU1fWCxQQUxfRElN X1ggKSAqIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFYKCBOVFNDX0RJTV9Z LFBBTF9ESU1fWSApICogNCApCgojZGVmaW5lIEZSQU1FX1RJTUVSX0RFTEFZX01TKGZwcykg KDEwMDAvKGZwcykpCgovKiAgICAgICoqKioqKioqKioqKioqKioqKioqIFByaXZhdGUgdmFy aWFibGVzICAgICAgICAgICAgKioqKioqKioqKioqKiogKi8KCnN0YXRpYyBUVl9JTlQzMiAg ICAgU19mcmFtZV9kb25lX2NvdW50ID0gMDsKCnN0YXRpYyBYdEludGVydmFsSWQgU19mcmFt ZV90aW1lcjsKc3RhdGljIFRWX0JPT0wgICAgICBTX2ZyYW1lX3RpbWVyX3NldCA9IEZhbHNl OwoKCi8qICAgICAgKioqKioqKioqKioqKioqKioqKiogRm9yd2FyZCBkZWNsYXJhdGlvbnMg ICAgICAgICAqKioqKioqKioqKioqKiAqLwovKiAgICAgICoqKioqKioqKioqKioqKioqKioq IEZ1bmN0aW9uIERlZmluaXRpb25zICAgICAgICAgKioqKioqKioqKioqKiogKi8KCi8qKkBC RUdJTkZVTkMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKgoKICAgIFByb3RvdHlwZSAgOiBzdGF0aWMgdm9pZCBUVkNBUFRV UkVEZXN0cm95KCkKCiAgICBQdXJwb3NlICAgIDogQ2xlYW5zIHVwIGNhcHR1cmUgYXR0cmli dXRlcyAoc3RvcHMgY2FwdHVyZSwgY2xvc2VzIGZpbGVzLAogICAgICAgICAgICAgICAgIGZy ZWVzIG1lbSwgZXRjLgoKICAgIFByb2dyYW1tZXIgOiAwNy1NYXItOTcgIFJhbmRhbGwgSG9w cGVyCgogICAgUGFyYW1ldGVycyA6IE5vbmUuCgogICAgUmV0dXJucyAgICA6IE5vbmUuCgog ICAgR2xvYmFscyAgICA6IE5vbmUuCgogKipARU5ERlVOQyoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKc3RhdGlj IHZvaWQgVFZDQVBUVVJFRGVzdHJveSgpCnsKICAgIFRWX0NBUFRVUkUgICAqYyA9ICZHX2ds b2IuY2FwdHVyZTsKCiAgICBpZiAoIGMtPmZkID49IDAgKSB7CiAgICAgICAgaWYgKCBjLT5j b250aW5fb24gKQogICAgICAgICAgICBUVkNBUFRVUkVTdG9wKCBjICk7CgogICAgICAgIGNs b3NlKCBjLT5mZCApOwogICAgfQogICAgaWYgKCBjLT50ZmQgPj0gMCApCiAgICAgICAgY2xv c2UoIGMtPnRmZCApOwp9CgoKLyoqQEJFR0lORlVOQyoqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgogICAgUHJvdG90eXBl ICA6IHN0YXRpYyB2b2lkIFRWQ0FQVFVSRUZyYW1lRG9uZVNpZ0hkbHIoKQoKICAgIFB1cnBv c2UgICAgOiBDYWxsZWQgd2hlbiB0aGUgZHJpdmVyIGZpbmlzaGVzIGNhcHR1cmluZyBhIGZy YW1lLgoKICAgIFByb2dyYW1tZXIgOiAwNy1NYXItOTcgIFJhbmRhbGwgSG9wcGVyCgogICAg UGFyYW1ldGVycyA6IE5vbmUuCgogICAgUmV0dXJucyAgICA6IE5vbmUuCgogICAgR2xvYmFs cyAgICA6IE5vbmUuCgogKipARU5ERlVOQyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKc3RhdGljIHZvaWQgVFZD QVBUVVJFRnJhbWVEb25lU2lnSGRscigpCnsKICAgIFNfZnJhbWVfZG9uZV9jb3VudCsrOwoj aWZkZWYgbGludXgKIyAgd2FybmluZyBIdWg/ICBEbyBzaWduYWwgaGFuZGxlcnMgZ2V0IHVu cmVnaXN0ZXJlZCBpbiBMaW51eCBhZnRlciBkZWxpdmVyeT8KICAgIHNpZ25hbCggU0lHVVNS MSwgVFZDQVBUVVJFRnJhbWVEb25lU2lnSGRsciApOwojZW5kaWYKfQoKLyoqQEJFR0lORlVO QyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqCgogICAgUHJvdG90eXBlICA6IHZvaWQgVFZDQVBUVVJFV29ya1Byb2MoKQoK ICAgIFB1cnBvc2UgICAgOiBYdCB3b3JrIHByb2Mgc2xhdmUgcm91dGluZSBpbnZva2VkIHRv IGluaXRpYXRlIGJlaGF2aW9ycyAKICAgICAgICAgICAgICAgICBhc3NvY2lhdGVkIHdpdGgg Y2FwdHVyaW5nIGZyYW1lcy4KCiAgICBQcm9ncmFtbWVyIDogMDctTWFyLTk3ICBSYW5kYWxs IEhvcHBlcgoKICAgIFBhcmFtZXRlcnMgOiBOb25lLgoKICAgIFJldHVybnMgICAgOiBOb25l LgoKICAgIEdsb2JhbHMgICAgOiBOb25lLgoKICoqQEVOREZVTkMqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCnZv aWQgVFZDQVBUVVJFV29ya1Byb2MoKQp7CiAgICBzdGF0aWMgVFZfQ0FQVFVSRSAgICpjID0g JkdfZ2xvYi5jYXB0dXJlOwogICAgVFZfSU1BR0UgICAgICAgICAgICAgaW1nOwoKICAgIGlm ICgoIFNfZnJhbWVfZG9uZV9jb3VudCA9PSAwICkgfHwgKCBjLT5mcmFtZV9kb25lX2NiID09 IE5VTEwgKSkKICAgICAgICByZXR1cm47CgovKiAgaWYgKCBTX2ZyYW1lX2RvbmVfY291bnQg PiAwICkKICAgICAgICBEUlZQUklOVEYoKCAiJWQgZnJhbWVzIGJlaGluZFxuIiwgU19mcmFt ZV9kb25lX2NvdW50ICkpOwoqLwogICAgU19mcmFtZV9kb25lX2NvdW50LS07CgogICAgaW1n LmJ1ZiA9IGMtPmRydl9idWY7CiAgICBtZW1jcHkoICZpbWcuZ2VvbSwgJmMtPmdlb20sIHNp emVvZiggaW1nLmdlb20gKSApOwogICAgbWVtY3B5KCAmaW1nLnBpeF9nZW9tLCAmYy0+cGl4 X2dlb21fbGlzdFsgYy0+cGl4X2dlb21faWR4IF0sCiAgICAgICAgICAgIHNpemVvZiggaW1n LnBpeF9nZW9tICkgKTsKICAgIGMtPmZyYW1lX2RvbmVfY2IoICZpbWcgKTsKfQoKLyogIFRW Q0FQVFVSRUNsZWFyUGVuZGluZ0ZyYW1lczogIFJlc2V0L2lnbm9yZSBhbnkgb3V0c3RhbmRp bmcgZnJhbWVzLiAgKi8Kdm9pZCBUVkNBUFRVUkVDbGVhclBlbmRpbmdGcmFtZXMoKQp7CiAg ICBTX2ZyYW1lX2RvbmVfY291bnQgPSAwOwp9CgovKiAgVFZDQVBUVVJFR2V0UGVuZGluZ0Zy YW1lIC0gR2V0IHBlbmRpbmcgZnJhbWUgJiByZXQgVCAocmV0IEYgaWYgbm9uZSkgICovClRW X0JPT0wgVFZDQVBUVVJFR2V0UGVuZGluZ0ZyYW1lKCBUVl9JTUFHRSAqKmltZyApCnsKICAg IGlmICggU19mcmFtZV9kb25lX2NvdW50ID4gMCApIHsKICAgICAgICAvKiAgRklYTUU6ICBT aGFyZSB0aGlzIGdsb2IgLS0gaXQncyB0aGUgV29ya1Byb2MgYWJvdmUgdy9vIENCICAqLwog ICAgICAgIHN0YXRpYyBUVl9DQVBUVVJFICAgKmMgPSAmR19nbG9iLmNhcHR1cmU7CiAgICAg ICAgc3RhdGljIFRWX0lNQUdFICAgICAgaW1hZ2U7CgogICAgICAgIGlmICgoIFNfZnJhbWVf ZG9uZV9jb3VudCA9PSAwICkgfHwgKCBjLT5mcmFtZV9kb25lX2NiID09IE5VTEwgKSkKICAg ICAgICAgICAgcmV0dXJuOwoKICAgICAgICBpZiAoIFNfZnJhbWVfZG9uZV9jb3VudC0tID4g MCApCiAgICAgICAgICAgIERSVlBSSU5URigoICIlZCBmcmFtZXMgYmVoaW5kXG4iLCBTX2Zy YW1lX2RvbmVfY291bnQgKSk7CgogICAgICAgIGltYWdlLmJ1ZiA9IGMtPmRydl9idWY7CiAg ICAgICAgbWVtY3B5KCAmaW1hZ2UuZ2VvbSwgJmMtPmdlb20sIHNpemVvZiggaW1hZ2UuZ2Vv bSApICk7CiAgICAgICAgbWVtY3B5KCAmaW1hZ2UucGl4X2dlb20sICZjLT5waXhfZ2VvbV9s aXN0WyBjLT5waXhfZ2VvbV9pZHggXSwKICAgICAgICAgICAgICAgIHNpemVvZiggaW1hZ2Uu cGl4X2dlb20gKSApOwogICAgICAgICppbWcgPSAmaW1hZ2U7CiAgICAgICAgcmV0dXJuIFRS VUU7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAqaW1nID0gTlVMTDsKICAgICAgICByZXR1 cm4gRmFsc2U7CiAgICB9Cn0KCgojaWZkZWYgT0xEX0FMV0FZU19VU0VfU0lHTkFMU19OT1cK LyoqQEJFR0lORlVOQyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqCgogICAgUHJvdG90eXBlICA6IHN0YXRpYyB2b2lkIFRW Q0FQVFVSRUZyYW1lVGltZW91dENCKAogICAgICAgICAgICAgICAgICAgICAgWHRQb2ludGVy ICAgICAgICAgIGNsX2RhdGEsCiAgICAgICAgICAgICAgICAgICAgICBYdEludGVydmFsSWQg ICAgICAqdGltZXIgKQoKICAgIFB1cnBvc2UgICAgOiBJbnZva2VkIGR1cmluZyBjb250aW51 b3VzIGNhcHR1cmUgdG8gbGV0IHVzIGtpY2sgaW4KICAgICAgICAgICAgICAgICBmcmFtZSBk b25lIGNhbGxiYWNrIHBlcmlvZGljYWxseSAoc2luY2Ugc2lnbmFscyBhcmVuJ3QKICAgICAg ICAgICAgICAgICBpc3N1ZWQgYnkgdGhlIGRyaXZlciBmb3IgZnJhbWUgY29tcGxldGVzIHdo ZW4gaW4gCiAgICAgICAgICAgICAgICAgY29udGludW91cyBtb2RlKS4KCiAgICBQcm9ncmFt bWVyIDogMDgtTWFyLTk3ICBSYW5kYWxsIEhvcHBlcgoKICAgIFBhcmFtZXRlcnMgOiBjbF9k YXRhIC0gSTogbm90IHVzZWQKICAgICAgICAgICAgICAgICB0aW1lciAgIC0gSTogbm90IHVz ZWQKCiAgICBSZXR1cm5zICAgIDoKCiAgICBHbG9iYWxzICAgIDogTm9uZS4KCiAqKkBFTkRG VU5DKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKiovCgpzdGF0aWMgdm9pZCBUVkNBUFRVUkVGcmFtZVRpbWVvdXRDQigK ICAgICAgICAgWHRQb2ludGVyICAgICAgICAgIGNsX2RhdGEsCiAgICAgICAgIFh0SW50ZXJ2 YWxJZCAgICAgICp0aW1lciApCnsgICAgICAgIAogICAgVFZfQ0FQVFVSRSAgICpjID0gJkdf Z2xvYi5jYXB0dXJlOwogICAgVFZfSU1BR0UgICAgICBpbWc7CgogICAgLyogIEludm9rZSB1 c2VyLWRlZmluZWQgZnJhbWUgY29tcGxldGlvbiBjYWxsYmFjayAgKi8KICAgIGlmICggYy0+ ZnJhbWVfZG9uZV9jYiAhPSBOVUxMICkgewogICAgICAgIGltZy5idWYgPSBjLT5kcnZfYnVm OwogICAgICAgIG1lbWNweSggJmltZy5nZW9tLCAmYy0+Z2VvbSwgc2l6ZW9mKCBpbWcuZ2Vv bSApICk7CiAgICAgICAgbWVtY3B5KCAmaW1nLnBpeF9nZW9tLCAmYy0+cGl4X2dlb21fbGlz dFsgYy0+cGl4X2dlb21faWR4IF0sCiAgICAgICAgICAgICAgICBzaXplb2YoIGltZy5waXhf Z2VvbSApICk7CiAgICAgICAgYy0+ZnJhbWVfZG9uZV9jYiggJmltZyApOwogICAgfQoKICAg IC8qICBBbmQgcmVzdGFydCB0aW1lciBmb3IgYW5vdGhlciAiZnJhbWUiICAqLwogICAgU19m cmFtZV90aW1lciA9IFh0QXBwQWRkVGltZU91dCggVFZBUFBDVFgsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRlJBTUVfVElNRVJfREVMQVlfTVMoYy0+ZnBzX21h eCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUVkNBUFRVUkVGcmFt ZVRpbWVvdXRDQiwgTlVMTCApOwp9CiNlbmRpZgoKCnZvaWQgVFZDQVBUVVJFU2V0QnJpZ2h0 bmVzcyggVFZfQ0FQVFVSRSAqYywgZG91YmxlIGJyaWdodG5lc3MgKQp7CiAgICBUVl9JTlQz MiBsYXJnOwoKICAgIGJyaWdodG5lc3MgPSBNQVgoIEJSSUdIVF9NSU4sIE1JTiggQlJJR0hU X01BWCwgYnJpZ2h0bmVzcyApICk7CgogICAgbGFyZyA9IChicmlnaHRuZXNzIC0gQlJJR0hU X01JTikgLyAoQlJJR0hUX1JBTkdFICsgMC4wMSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICogQlJJR0hUX0RSVl9SQU5HRSArIEJSSUdIVF9EUlZfTUlOOwogICAg bGFyZyA9IE1BWCggQlJJR0hUX0RSVl9NSU4sIAogICAgICAgICAgICAgICAgTUlOKCBCUklH SFRfRFJWX01JTitCUklHSFRfRFJWX1JBTkdFLTEsIGxhcmcgKSk7CgogICAgaWYgKCBpb2N0 bCggYy0+dGZkLCBCVDg0OF9TQlJJRywgJmxhcmcgKSA8IDAgKSB7CiAgICAgICAgRE9fSU9D VExfU0VSUiggIkJUODQ4X1NCUklHIiwgbGFyZyApOwogICAgICAgIHJldHVybjsKICAgIH0K CiAgICAvKiAgRklYTUU6IERlYWQgY29kZSAgKi8KICAgIGMtPmJyaWdodG5lc3MgPSBicmln aHRuZXNzOwp9CgoKdm9pZCBUVkNBUFRVUkVTZXRDb250cmFzdCggVFZfQ0FQVFVSRSAqYywg ZG91YmxlIGNvbnRyYXN0ICkKewogICAgVFZfSU5UMzIgbGFyZzsKICAgIAogICAgY29udHJh c3QgID0gTUlOKCBDT05UUl9NQVgsIE1BWCggQ09OVFJfTUlOLCBjb250cmFzdCApICk7Cgog ICAgbGFyZyA9IChjb250cmFzdCAtIENPTlRSX01JTikgLyAoQ09OVFJfUkFOR0UgKyAwLjAx KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBDT05UUl9EUlZfUkFOR0Ug KyBDT05UUl9EUlZfTUlOOwogICAgbGFyZyA9IE1BWCggQ09OVFJfRFJWX01JTiwgCiAgICAg ICAgICAgICAgICBNSU4oIENPTlRSX0RSVl9NSU4rQ09OVFJfRFJWX1JBTkdFLTEsIGxhcmcg KSApOwoKICAgIGlmICggaW9jdGwoIGMtPnRmZCwgQlQ4NDhfU0NPTlQsICZsYXJnICkgPCAw ICkgewogICAgICAgIERPX0lPQ1RMX1NFUlIoICJCVDg0OF9TQ09OVCIsIGxhcmcgKTsKICAg ICAgICByZXR1cm47CiAgICB9CgogICAgLyogIEZJWE1FOiBEZWFkIGNvZGUgICovCiAgICBj LT5jb250cmFzdCA9IGNvbnRyYXN0Owp9CgoKdm9pZCBUVkNBUFRVUkVTZXRIdWUoIFRWX0NB UFRVUkUgKmMsIGRvdWJsZSBodWUgKQp7CiAgICBUVl9JTlQzMiBsYXJnOwoKICAgIGh1ZSAg PSBNSU4oIEhVRV9NQVgsIE1BWCggSFVFX01JTiwgaHVlICkgKTsKICAgIGxhcmcgPSAoaHVl IC0gSFVFX01JTikgLyAoSFVFX1JBTkdFICsgMC4wMSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgKiBIVUVfRFJWX1JBTkdFICsgSFVFX0RSVl9NSU47CiAgICBsYXJnID0gTUFYKCBI VUVfRFJWX01JTiwgCiAgICAgICAgICAgICAgICBNSU4oIEhVRV9EUlZfTUlOK0hVRV9EUlZf UkFOR0UtMSwgbGFyZyApKTsKCiAgICBpZiAoIGlvY3RsKCBjLT50ZmQsIEJUODQ4X1NIVUUs ICZsYXJnICkgPCAwICkgewogICAgICAgIERPX0lPQ1RMX1NFUlIoICJCVDg0OF9TSFVFIiwg bGFyZyApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvKiAgRklYTUU6IERlYWQgY29k ZSAgKi8KICAgIGMtPmh1ZSA9IGh1ZTsKfQoKCnZvaWQgVFZDQVBUVVJFU2V0U2F0VSggVFZf Q0FQVFVSRSAqYywgZG91YmxlIHNhdF91ICkKewogICAgVFZfSU5UMzIgbGFyZzsKICAgIAog ICAgc2F0X3UgID0gTUlOKCBTQVRVX01BWCwgTUFYKCBTQVRVX01JTiwgc2F0X3UgKSApOwog ICAgbGFyZyA9IChzYXRfdSAtIFNBVFVfTUlOKSAvIChTQVRVX1JBTkdFICsgMC4wMSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBTQVRVX0RSVl9SQU5HRSArIFNBVFVfRFJW X01JTjsKICAgIGxhcmcgPSBNQVgoIFNBVFVfRFJWX01JTiwgCiAgICAgICAgICAgICAgICBN SU4oIFNBVFVfRFJWX01JTitTQVRVX0RSVl9SQU5HRS0xLCBsYXJnICkgKTsKCiAgICBpZiAo IGlvY3RsKCBjLT50ZmQsIEJUODQ4X1NVU0FULCAmbGFyZyApIDwgMCApIHsKICAgICAgICBE T19JT0NUTF9TRVJSKCAiQlQ4NDhfU1VTQVQiLCBsYXJnICk7CiAgICAgICAgcmV0dXJuOwog ICAgfQoKICAgIC8qICBGSVhNRTogRGVhZCBjb2RlICAqLwogICAgYy0+c2F0X3UgPSBzYXRf dTsKfQoKCnZvaWQgVFZDQVBUVVJFU2V0U2F0ViggVFZfQ0FQVFVSRSAqYywgZG91YmxlIHNh dF92ICkKewogICAgVFZfSU5UMzIgbGFyZzsKICAgIAogICAgc2F0X3YgID0gTUlOKCBTQVRW X01BWCwgTUFYKCBTQVRWX01JTiwgc2F0X3YgKSApOwogICAgbGFyZyA9IChzYXRfdiAtIFNB VFZfTUlOKSAvIChTQVRWX1JBTkdFICsgMC4wMSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKiBTQVRWX0RSVl9SQU5HRSArIFNBVFZfRFJWX01JTjsKICAgIGxhcmcgPSBNQVgo IFNBVFZfRFJWX01JTiwgCiAgICAgICAgICAgICAgICBNSU4oIFNBVFZfRFJWX01JTitTQVRW X0RSVl9SQU5HRS0xLCBsYXJnICkgKTsKCiAgICBpZiAoIGlvY3RsKCBjLT50ZmQsIEJUODQ4 X1NWU0FULCAmbGFyZyApIDwgMCApIHsKICAgICAgICBET19JT0NUTF9TRVJSKCAiQlQ4NDhf U1ZTQVQiLCBsYXJnICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8qICBGSVhNRTog RGVhZCBjb2RlICAqLwogICAgYy0+c2F0X3YgPSBzYXRfdjsKfQoKdm9pZCBUVkNBUFRVUkVT ZXRBcHBlYXJhbmNlUGFyYW0oIFRWX0NBUFRVUkUgKmMsIFRWX0RSSVZFUl9QQVJBTSBwLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIHZhbCApCnsKICAgIHN3 aXRjaCAoIHAgKSB7CiAgICAgICAgY2FzZSBUVl9QQVJBTV9IVUUgICAgICA6ICBUVkNBUFRV UkVTZXRIdWUgICAgICAgKCBjLCB2YWwgKTsgIGJyZWFrOwogICAgICAgIGNhc2UgVFZfUEFS QU1fQlJJR0hUICAgOiAgVFZDQVBUVVJFU2V0QnJpZ2h0bmVzcyggYywgdmFsICk7ICBicmVh azsKICAgICAgICBjYXNlIFRWX1BBUkFNX0NPTlRSQVNUIDogIFRWQ0FQVFVSRVNldENvbnRy YXN0ICAoIGMsIHZhbCApOyAgYnJlYWs7CiAgICAgICAgY2FzZSBUVl9QQVJBTV9TQVRVICAg ICA6ICBUVkNBUFRVUkVTZXRTYXRVICAgICAgKCBjLCB2YWwgKTsgIGJyZWFrOwogICAgICAg IGNhc2UgVFZfUEFSQU1fU0FUViAgICAgOiAgVFZDQVBUVVJFU2V0U2F0ViAgICAgICggYywg dmFsICk7ICBicmVhazsKICAgICAgICBkZWZhdWx0IDoKICAgICAgICAgICAgZnByaW50Zigg c3RkZXJyLCAKICAgICAgICAgICAgICAgIlRWQ0FQVFVSRVNldEFwcGVhcmFuY2VQYXJhbTog VW5zdXBwb3J0ZWQgcGFyYW0gJWRcbiIsIHAgKTsKICAgICAgICAgICAgZXhpdCgxKTsKICAg IH0KfQoKdm9pZCBUVkNBUFRVUkVTZXRJbnB1dEZvcm1hdCggVFZfQ0FQVFVSRSAqYywgVFZf SU5QVVRfRk9STUFUIGZvcm1hdCApCnsKICAgIFRWX0lOVDMyIGxhcmc7CgogICAgc3dpdGNo ICggZm9ybWF0ICkgewogICAgICAgIGNhc2UgVFZfSU5QVVRfTlRTQ00gICAgOiBsYXJnID0g QlQ4NDhfSUZPUk1fRl9OVFNDTSAgIDsgIGJyZWFrOwogICAgICAgIGNhc2UgVFZfSU5QVVRf TlRTQ0ogICAgOiBsYXJnID0gQlQ4NDhfSUZPUk1fRl9OVFNDSiAgIDsgIGJyZWFrOwogICAg ICAgIGNhc2UgVFZfSU5QVVRfUEFMQkRHSEkgOiBsYXJnID0gQlQ4NDhfSUZPUk1fRl9QQUxC REdISTsgIGJyZWFrOwogICAgICAgIGNhc2UgVFZfSU5QVVRfUEFMTSAgICAgOiBsYXJnID0g QlQ4NDhfSUZPUk1fRl9QQUxNICAgIDsgIGJyZWFrOwogICAgICAgIGNhc2UgVFZfSU5QVVRf UEFMTiAgICAgOiBsYXJnID0gQlQ4NDhfSUZPUk1fRl9QQUxOICAgIDsgIGJyZWFrOwogICAg ICAgIGNhc2UgVFZfSU5QVVRfU0VDQU0gICAgOiBsYXJnID0gQlQ4NDhfSUZPUk1fRl9TRUNB TSAgIDsgIGJyZWFrOwogICAgICAgIGNhc2UgVFZfSU5QVVRfUEFMTkNPTUIgOiBsYXJnID0g QlQ4NDhfSUZPUk1fRl9SU1ZEICAgIDsgIGJyZWFrOwogICAgICAgIGRlZmF1bHQgICAgICAg ICAgICAgICAgOgogICAgICAgIGNhc2UgVFZfSU5QVVRfQVVUTyAgICAgOgogICAgICAgICAg ICBmcHJpbnRmKCBzdGRlcnIsIAogICAgICAgICAgICAgICAiVFZDQVBUVVJFU2V0SW5wdXRG b3JtYXQ6IFVuc3VwcG9ydGVkIGZvcm1hdCAlZFxuIiwgZm9ybWF0ICk7CiAgICAgICAgICAg IGV4aXQoMSk7CiAgICB9CiAgICBpZiAoIGlvY3RsKCBjLT5mZCwgQlQ4NDhTRk1ULCAmbGFy ZyApIDwgMCApIHsKICAgICAgICBET19JT0NUTF9TRVJSKCAiQlQ4NDhTRk1UIiwgbGFyZyAp OwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvKiAgVXBkYXRlIG1heCBjYXB0dXJlIHNp emUgYmFzZWQgb24gZHJpdmVyIGZvcm1hdCAgKi8KICAgIC8qICBGSVhNRTogVGhlc2UgYmVs b25nIGluIHRoZSBkcml2ZXIvZHJpdmVyIGluY2x1ZGUgZmlsZSAgKi8KICAgIHN3aXRjaCAo IGZvcm1hdCApIHsKICAgICAgICBjYXNlIFRWX0lOUFVUX05UU0NNIDoKICAgICAgICBjYXNl IFRWX0lOUFVUX05UU0NKIDoKICAgICAgICBjYXNlIFRWX0lOUFVUX1BBTE0gIDoKICAgICAg ICAgICAgYy0+d2lkdGhfbWF4ICA9IE5UU0NfRElNX1g7CiAgICAgICAgICAgIGMtPmhlaWdo dF9tYXggPSBOVFNDX0RJTV9ZOwogICAgICAgICAgICBjLT5mcHNfbWF4ICAgID0gTlRTQ19G UFM7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgVFZfSU5QVVRfUEFMQkRHSEkg OgogICAgICAgIGNhc2UgVFZfSU5QVVRfUEFMTiAgICAgOgogICAgICAgIGNhc2UgVFZfSU5Q VVRfU0VDQU0gICAgOgogICAgICAgIGNhc2UgVFZfSU5QVVRfUEFMTkNPTUIgOgogICAgICAg ICAgICBjLT53aWR0aF9tYXggID0gUEFMX0RJTV9YOwogICAgICAgICAgICBjLT5oZWlnaHRf bWF4ID0gUEFMX0RJTV9ZOwogICAgICAgICAgICBjLT5mcHNfbWF4ICAgID0gUEFMX0ZQUzsK ICAgICAgICAgICAgYnJlYWs7CiAgICB9CiAgICAvKiAgRklYTUU6IERlYWQgY29kZSAgKi8K ICAgIGMtPmlucHV0X2Zvcm1hdCA9IGZvcm1hdDsKfQoKCnZvaWQgVFZDQVBUVVJFU2V0SW5w dXREZXZpY2UoIFRWX0NBUFRVUkUgKmMsIFRWX0lOUFVUX0RFVklDRSBkZXYgKQp7CiAgICBp bnQgYXJnLAogICAgICAgIG9sZF9hdWRpbzsKCiAgICAvKiAgRklYTUU6ICBNb3ZlIGFsbCBk cml2ZXIgc2V0IGNhbGxzIG91dCBvZiBTdGFydCgpIGludG8gdGhlc2UgICovCiAgICAvKiAg ICBzZXQgY2FsbHMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICovCiAgICBpZiAoIGMtPmNvbnRpbl9vbiApIHsKICAgICAgICBmcHJpbnRmKCBz dGRlcnIsIAogICAgICAgICAgICAgICAgICJUVkNBUFRVUkVTZXRJbnB1dERldmljZSgpOiBD YWxsZWQgd2hlbiBjYXB0dXJlIGlzIG9uXG4iICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoK ICAgIC8qICBEcml2ZXIgRklYTUU6IEhhY2sgdG8gZ2V0IGFyb3VuZCBkcml2ZXIgdW5tdXRp bmcgYXVkaW8gYWNyb3NzICAqLwogICAgLyogICAgY2hhbm5lbCwgZnJlcSwgYW5kIGlucHV0 IGRldmljZSBjaGFuZ2VzLiAgICAgICAgICAgICAgICAgICAgICovCiAgICBpZiAoIGlvY3Rs KCBjLT50ZmQsIEJUODQ4X0dBVURJTywgJm9sZF9hdWRpbyApIDwgMCApIHsKICAgICAgICBE T19JT0NUTF9HRVJSKCAiQlQ4NDhfR0FVRElPIiApOwogICAgICAgIHJldHVybjsKICAgIH0K CiAgICBzd2l0Y2ggKCBkZXYgKSB7CiAgICAgICAgY2FzZSBUVl9ERVZJQ0VfVFVORVIgOiBh cmcgPSBNRVRFT1JfREVWMTsgIGJyZWFrOwogICAgICAgIGNhc2UgVFZfREVWSUNFX1ZJREVP ICA6IGFyZyA9IE1FVEVPUl9JTlBVVF9ERVYzOyAgYnJlYWs7CiAgICAgICAgY2FzZSBUVl9E RVZJQ0VfU1ZJREVPIDogYXJnID0gTUVURU9SX0RFVjI7ICBicmVhazsKICAgICAgICBkZWZh dWx0IDoKICAgICAgICAgICAgIGZwcmludGYoIHN0ZGVyciwgIlRWQ0FQVFVSRVNldElucHV0 RGV2aWNlKCk6IEJhZCB2YWx1ZSAlZFxuIiwKICAgICAgICAgICAgICAgICAgICAgIGRldiAp OwogICAgICAgICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKCBpb2N0bCggYy0+ZmQsIE1F VEVPUlNJTlBVVCwgJmFyZyApIDwgMCApIHsKICAgICAgICBmcHJpbnRmKCBzdGRlcnIsICJp b2N0bChNRVRFT1JTSU5QVVQsICVkKSBmYWlsZWQ6ICVzXG4iLCAKICAgICAgICAgICAgICAg ICBhcmcsIHN0cmVycm9yKGVycm5vKSApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAv KiAgRklYTUU6IERlYWQgY29kZSAgKi8KICAgIGMtPmlucHV0X2RldiAgICAgICAgID0gYXJn OwoKICAgIC8qICBXaGVuIHdlIGRpZCB0aGF0IGxhc3QgU0lOUFVULCB0aGUgZHJpdmVyIGF1 dG8tc2VsZWN0ZWQgdGhlICAqLwogICAgLyogICAgYXVkaW8gaW5wdXQgY29ycmVjdCBmb3Ig dGhhdCB2aWRlbyBpbnB1dC4gIE92ZXJyaWRlIGl0ICAgICovCiAgICAvKiAgICBpZiB0aGUg dXNlciBoYXMgcmVxdWVzdGVkIHRoaXMuICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8K ICAgIGlmICggYy0+YXVkaW9faW5wdXRfZGV2ICE9IFRWX0FVRElPX0lOUFVUX0FVVE8gKSB7 CiAgICAgICAgc3dpdGNoICggYy0+YXVkaW9faW5wdXRfZGV2ICkgewogICAgICAgICAgICBk ZWZhdWx0ICAgICAgICAgICAgICAgICAgICA6CiAgICAgICAgICAgIGNhc2UgVFZfQVVESU9f SU5QVVRfVFVORVIgIDogYXJnID0gQVVESU9fVFVORVI7ICAgYnJlYWs7CiAgICAgICAgICAg IGNhc2UgVFZfQVVESU9fSU5QVVRfRVhURVJOIDogYXJnID0gQVVESU9fRVhURVJOOyAgYnJl YWs7CiAgICAgICAgICAgIGNhc2UgVFZfQVVESU9fSU5QVVRfSU5URVJOIDogYXJnID0gQVVE SU9fSU5URVJOOyAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGlmICggaW9jdGwoIGMtPnRm ZCwgQlQ4NDhfU0FVRElPLCAmYXJnICkgPCAwICkgewogICAgICAgICAgICBmcHJpbnRmKCBz dGRlcnIsICJpb2N0bChCVDg0OF9TQVVESU8sICVkKSBmYWlsZWQ6ICVzXG4iLCAKICAgICAg ICAgICAgICAgICAgICAgYXJnLCBzdHJlcnJvcihlcnJubykgKTsKICAgICAgICAgICAgcmV0 dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAvKiAgUmVzdG9yZSB0aGUgb2xkIG11dGUgc2V0 dGluZyAgKi8KICAgIG9sZF9hdWRpbyAmPSBBVURJT19NVVRFOwogICAgaWYgKCBvbGRfYXVk aW8gKSAKICAgICAgICBUVkNBUFRVUkVTZXRBdWRpb011dGUoIGMsIFRSVUUgKTsKfQoKCnZv aWQgVFZDQVBUVVJFU2V0QXVkaW9JbnB1dERldmljZSggVFZfQ0FQVFVSRSAqYywgVFZfQVVE SU9fSU5QVVRfREVWSUNFIGRldiApCnsKICAgIGludCBhcmc7CgogICAgLyogIEZJWE1FOiAg TW92ZSBhbGwgZHJpdmVyIHNldCBjYWxscyBvdXQgb2YgU3RhcnQoKSBpbnRvIHRoZXNlICAq LwogICAgLyogICAgc2V0IGNhbGxzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAqLwogICAgaWYgKCBjLT5jb250aW5fb24gKSB7CiAgICAgICAg ZnByaW50Ziggc3RkZXJyLCAKICAgICAgICAgICAgICAgICAiVFZDQVBUVVJFU2V0QXVkaW9J bnB1dERldmljZSgpOiAiCiAgICAgICAgICAgICAgICAgIkNhbGxlZCB3aGVuIGNhcHR1cmUg aXMgb25cbiIgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgc3dpdGNoICggZGV2ICkg ewogICAgICAgIGNhc2UgVFZfQVVESU9fSU5QVVRfQVVUTyAgIDogYnJlYWs7CiAgICAgICAg Y2FzZSBUVl9BVURJT19JTlBVVF9UVU5FUiAgOiBhcmcgPSBBVURJT19UVU5FUjsgICBicmVh azsKICAgICAgICBjYXNlIFRWX0FVRElPX0lOUFVUX0VYVEVSTiA6IGFyZyA9IEFVRElPX0VY VEVSTjsgIGJyZWFrOwogICAgICAgIGNhc2UgVFZfQVVESU9fSU5QVVRfSU5URVJOIDogYXJn ID0gQVVESU9fSU5URVJOOyAgYnJlYWs7CiAgICAgICAgZGVmYXVsdCA6CiAgICAgICAgICAg ICBmcHJpbnRmKCBzdGRlcnIsICJUVkNBUFRVUkVTZXRBdWRpb0lucHV0RGV2aWNlKCk6IEJh ZCB2YWx1ZSAlZFxuIiwKICAgICAgICAgICAgICAgICAgICAgIGRldiApOwogICAgICAgICAg ICAgcmV0dXJuOwogICAgfQoKICAgIC8qICBOT1RFOiAgQVVUTyBtZWFucyB3ZSBkb24ndCBt b25rZXkgd2l0aCB0aGUgZGVmYXVsdHMgc2VsZWN0ZWQgYnkgICovCiAgICAvKiAgICB0aGUg ZHJpdmVyLiAgT3RoZXIgdmFsdWVzIG1lYW4gd2UgYWx3YXlzIG92ZXJyaWRlIHRoZSBkcml2 ZXIgICAqLwogICAgLyogICAgdG8ga2VlcCB0aGF0IHNldHRpbmcgd2hlbmV2ZXIgaXQgd2Fu dHMgdG8gY2hhbmdlIHRoZSBzZXR0aW5nLiAgKi8KICAgIGlmICggZGV2ICE9IFRWX0FVRElP X0lOUFVUX0FVVE8gKSB7CiAgICAgICAgaWYgKCBpb2N0bCggYy0+dGZkLCBCVDg0OF9TQVVE SU8sICZhcmcgKSA8IDAgKSB7CiAgICAgICAgICAgIGZwcmludGYoIHN0ZGVyciwgImlvY3Rs KEJUODQ4X1NBVURJTywgJWQpIGZhaWxlZDogJXNcbiIsIAogICAgICAgICAgICAgICAgICAg ICBhcmcsIHN0cmVycm9yKGVycm5vKSApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAg fQogICAgICAgIGMtPmF1ZGlvX2lucHV0X2RldiA9IGRldjsKICAgIH0KICAgIGVsc2Ugewog ICAgICAgIFRWX0RSSVZFUl9TVEFURSAgczsKCiAgICAgICAgYy0+YXVkaW9faW5wdXRfZGV2 ID0gZGV2OwoKICAgICAgICAvKiAgRm9yY2UgZHJpdmVyIHRvIHJlc2V0IGF1ZGlvIGlucHV0 IGJhY2sgdG8gaXRzIGRlZmF1bHQgICovCiAgICAgICAgaWYgKCAhVFZDQVBUVVJFUXVlcnlE cml2ZXJTdGF0ZSggYywgJnMgKSApIHsKICAgICAgICAgICAgZnByaW50Ziggc3RkZXJyLCAi VFZDQVBUVVJFUXVlcnlEcml2ZXJTdGF0ZSgpIGZhaWxlZFxuIiApOwogICAgICAgICAgICBl eGl0KDEpOwogICAgICAgIH0KCiAgICAgICAgLyogIFRoaXMgZnVubnkgYnVzaW5lc3Mgc28g dGhlIGRyaXZlciB3aWxsIGFjdHVhbGx5IHJlc2V0IHRoZSBpbnB1dCAqLwogICAgICAgIFRW Q0FQVFVSRVNldElucHV0RGV2aWNlKCBjLCBUVl9ERVZJQ0VfVFVORVIgKTsKICAgICAgICBU VkNBUFRVUkVTZXRJbnB1dERldmljZSggYywgVFZfREVWSUNFX1ZJREVPICk7CiAgICAgICAg VFZDQVBUVVJFU2V0SW5wdXREZXZpY2UoIGMsIHMuaW5wdXRfZGV2ICk7CiAgICB9Cn0KCgp2 b2lkIFRWQ0FQVFVSRVNldFR1bmVyQ2hhbm5lbCggVFZfQ0FQVFVSRSAqYywgVFZfSU5UMzIg Y2hhbl9udW0gKQp7CiAgICBUVl9JTlQzMiBsYXJnID0gY2hhbl9udW07CiAgICBpbnQgICBv bGRfYXVkaW87CgogICAgLyogIERyaXZlciBGSVhNRTogSGFjayB0byBnZXQgYXJvdW5kIGRy aXZlciB1bm11dGluZyBhdWRpbyBhY3Jvc3MgICovCiAgICAvKiAgICBjaGFubmVsLCBmcmVx LCBhbmQgaW5wdXQgZGV2aWNlIGNoYW5nZXMuICAgICAgICAgICAgICAgICAgICAgKi8KICAg IGlmICggaW9jdGwoIGMtPnRmZCwgQlQ4NDhfR0FVRElPLCAmb2xkX2F1ZGlvICkgPCAwICkg ewogICAgICAgIERPX0lPQ1RMX0dFUlIoICJCVDg0OF9HQVVESU8iICk7CiAgICAgICAgcmV0 dXJuOwogICAgfQoKICAgIGlmICggaW9jdGwoIGMtPnRmZCwgVFZUVU5FUl9TRVRDSE5MLCAm bGFyZyApIDwgMCApIHsKICAgICAgICBET19JT0NUTF9TRVJSKCAiVFZUVU5FUl9TRVRDSE5M IiwgbGFyZyApOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGMtPnR1bmVyX2NoYW5fYWN0 aXZlID0gVFJVRTsKCiAgICBvbGRfYXVkaW8gJj0gQVVESU9fTVVURTsKICAgIGlmICggb2xk X2F1ZGlvICkgCiAgICAgICAgVFZDQVBUVVJFU2V0QXVkaW9NdXRlKCBjLCBUUlVFICk7Cn0K Cgp2b2lkIFRWQ0FQVFVSRVNldFR1bmVyRnJlcSggVFZfQ0FQVFVSRSAqYywgZG91YmxlIGZy ZXEgKQp7CiAgICBUVl9JTlQzMiBsYXJnID0gZnJlcSAqIEZSRVFGQUNUT1I7CiAgICBpbnQg ICAgICBvbGRfYXVkaW87CgogICAgLyogIERyaXZlciBGSVhNRTogSGFjayB0byBnZXQgYXJv dW5kIGRyaXZlciB1bm11dGluZyBhdWRpbyBhY3Jvc3MgICovCiAgICAvKiAgICBjaGFubmVs LCBmcmVxLCBhbmQgaW5wdXQgZGV2aWNlIGNoYW5nZXMuICAgICAgICAgICAgICAgICAgICAg Ki8KICAgIGlmICggaW9jdGwoIGMtPnRmZCwgQlQ4NDhfR0FVRElPLCAmb2xkX2F1ZGlvICkg PCAwICkgewogICAgICAgIERPX0lPQ1RMX0dFUlIoICJCVDg0OF9HQVVESU8iICk7CiAgICAg ICAgcmV0dXJuOwogICAgfQoKICAgIGlmICggaW9jdGwoIGMtPnRmZCwgVFZUVU5FUl9TRVRG UkVRLCAmbGFyZyApIDwgMCApIHsKICAgICAgICBET19JT0NUTF9TRVJSKCAiVFZUVU5FUl9T RVRGUkVRIiwgbGFyZyApOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGMtPnR1bmVyX2No YW5fYWN0aXZlID0gRkFMU0U7CgogICAgb2xkX2F1ZGlvICY9IEFVRElPX01VVEU7CiAgICBp ZiAoIG9sZF9hdWRpbyApIAogICAgICAgIFRWQ0FQVFVSRVNldEF1ZGlvTXV0ZSggYywgVFJV RSApOwp9CgoKdm9pZCBUVkNBUFRVUkVTZXRUdW5lckZyZXFTZXQoIFRWX0NBUFRVUkUgKmMs IFRWX0ZSRVFfU0VUIHNldCApCnsKICAgIFRWX0lOVDMyIGxhcmc7CgogICAgc3dpdGNoICgg c2V0ICkgewogICAgICAgIGNhc2UgVFZfRlJFUV9TRVRfTkFCQ1NUICAgOiBsYXJnID0gQ0hO TFNFVF9OQUJDU1QgIDsgIGJyZWFrOwogICAgICAgIGNhc2UgVFZfRlJFUV9TRVRfQ0FCTEVJ UkMgOiBsYXJnID0gQ0hOTFNFVF9DQUJMRUlSQzsgIGJyZWFrOwogICAgICAgIGNhc2UgVFZf RlJFUV9TRVRfQ0FCTEVIUkMgOiBsYXJnID0gQ0hOTFNFVF9DQUJMRUhSQzsgIGJyZWFrOwog ICAgICAgIGNhc2UgVFZfRlJFUV9TRVRfV0VVUk9QRSAgOiBsYXJnID0gQ0hOTFNFVF9XRVVS T1BFIDsgIGJyZWFrOwogICAgICAgIGNhc2UgVFZfRlJFUV9TRVRfSlBOQkNTVCAgOiBsYXJn ID0gQ0hOTFNFVF9KUE5CQ1NUIDsgIGJyZWFrOwogICAgICAgIGNhc2UgVFZfRlJFUV9TRVRf SlBOQ0FCTEUgOiBsYXJnID0gQ0hOTFNFVF9KUE5DQUJMRTsgIGJyZWFrOwogICAgICAgIGRl ZmF1bHQgOgogICAgICAgICAgICAgZnByaW50Ziggc3RkZXJyLAogICAgICAgICAgICAgICAg ICAgICAgIlRWQ0FQVFVSRVNldFR1bmVyRnJlcVNldCgpOiBCYWQgZnJlcSBzZXQgJWRcbiIs IHNldCApOyAKICAgICAgICAgICAgIHJldHVybjsKICAgIH0KICAgIAogICAgaWYgKCBpb2N0 bCggYy0+dGZkLCBUVlRVTkVSX1NFVFRZUEUsICZsYXJnICkgPCAwICkgewogICAgICAgIERP X0lPQ1RMX1NFUlIoICJUVlRVTkVSX1NFVFRZUEUiLCBsYXJnICk7CiAgICAgICAgcmV0dXJu OwogICAgfQoKICAgIC8qICBGSVhNRTogIEhhY2sgdG8gZm9yY2UgYSBjaGFubmVsIGZyZXEg cmVjb21wdXRlIGluIHRoZSBkcml2ZXIgICovCiAgICAvKiAgICB3aGVuIHdlIGNoYW5nZSBt b2Rlcy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogICAgewog ICAgICAgIFRWX0RSSVZFUl9TVEFURSAgczsKICAgICAgICBpZiAoICFUVkNBUFRVUkVRdWVy eURyaXZlclN0YXRlKCBjLCAmcyApICkgewogICAgICAgICAgICBmcHJpbnRmKCBzdGRlcnIs ICJUVkNBUFRVUkVRdWVyeURyaXZlclN0YXRlKCkgZmFpbGVkXG4iICk7CiAgICAgICAgICAg IGV4aXQoMSk7CiAgICAgICAgfQogICAgICAgIFRWQ0FQVFVSRVNldFR1bmVyQ2hhbm5lbCgg Yywgcy50dW5lcl9jaGFuICk7CiAgICB9Cn0KCnZvaWQgVFZDQVBUVVJFU2V0QWZjKCBUVl9D QVBUVVJFICpjLCBUVl9CT09MIGFmYyApCnsKICAgIGlmICggaW9jdGwoIGMtPnRmZCwgVFZU VU5FUl9TRVRBRkMsICZhZmMgKSA8IDAgKSB7CiAgICAgICAgRE9fSU9DVExfU0VSUiggIlRW VFVORVJfU0VUQUZDIiwgYWZjICk7CiAgICAgICAgcmV0dXJuOwogICAgfQp9Cgp2b2lkIFRW Q0FQVFVSRVNldEF1ZGlvTXV0ZSggVFZfQ0FQVFVSRSAqYywgVFZfQk9PTCBtdXRlICkKewog ICAgaW50IGFyZyA9ICggbXV0ZSA/IEFVRElPX01VVEUgOiBBVURJT19VTk1VVEUgKTsKCiAg ICAvKiAgSWYgYXVkaW8gaXMgZGlzYWJsZWQsIGRvbid0IGV2ZXIgdW5tdXRlICAqLwogICAg aWYgKCAhQXBwX3Jlcy5kb19hdWRpbyApCiAgICAgICAgYXJnID0gQVVESU9fTVVURTsKCiAg ICAvKiAgRG9uJ3QgY2hhbmdlIGF1ZGlvIHNvdXJjZTsganVzdCBtdXRlIGl0ICAqLwogICAg aWYgKCBpb2N0bCggYy0+dGZkLCBCVDg0OF9TQVVESU8sICZhcmcgKSA8IDAgKSB7CiAgICAg ICAgRE9fSU9DVExfU0VSUiggIkJUODQ4X1NBVURJTyIsIGFyZyApOwogICAgICAgIHJldHVy bjsKICAgIH0KfQoKdm9pZCBUVkNBUFRVUkVTZXRDb2xvcmJhcnMgICAoIFRWX0NBUFRVUkUg KmMsIFRWX0JPT0wgY29sb3JiYXJzICkKewogICAgaW50ICAgaW9jdGxfbnVtID0gKCBjb2xv cmJhcnMgPyAgQlQ4NDhfU0NCQVJTICA6ICBCVDg0OF9DQ0JBUlMgICk7CiAgICBjaGFyICpp b2N0bF9zdHIgPSAoIGNvbG9yYmFycyA/ICJCVDg0OF9TQ0JBUlMiIDogIkJUODQ4X0NDQkFS UyIgKTsKICAgIGludCAgIGR1bW15OwoKICAgIC8qICBEb24ndCBjaGFuZ2UgYXVkaW8gc291 cmNlOyBqdXN0IG11dGUgaXQgICovCiAgICBpZiAoIGlvY3RsKCBjLT50ZmQsIGlvY3RsX251 bSwgJmR1bW15ICkgPCAwICkgewogICAgICAgIERPX0lPQ1RMX1NFUlIoIGlvY3RsX3N0ciwg ZHVtbXkgKTsKICAgICAgICByZXR1cm47CiAgICB9Cn0KCnZvaWQgVFZDQVBUVVJFU2V0RlBT ICAgICAgICggVFZfQ0FQVFVSRSAqYywgVFZfVUlOVDMyIGZwcyApCnsKICAgIFRWX1VJTlQx NiB1c2FyZyA9IE1BWCggMCwgTUlOKCBjLT5mcHNfbWF4LCBmcHMgKSApOwoKICAgIGlmICgg aW9jdGwoIGMtPmZkLCBNRVRFT1JTRlBTLCAmdXNhcmcgKSA8IDAgKSB7CiAgICAgICAgRE9f SU9DVExfU0VSUiggIk1FVEVPUlNGUFMiLCB1c2FyZyApOwogICAgICAgIHJldHVybjsKICAg IH0KCiAgICAvKiAgRklYTUU6IERlYWQgY29kZSAgKi8KICAgIGMtPmZwcyA9IHVzYXJnOwp9 CgoKdm9pZCBUVkNBUFRVUkVTZXRGcmFtZURvbmVDQkVuYWJsZWQoIFRWX0NBUFRVUkUgKmMs IFRWX0JPT0wgZW5hYmxlICkKewogICAgYy0+ZnJhbWVfY2JfZW5hYmxlZCA9IGVuYWJsZTsK fQoKCnZvaWQgVFZDQVBUVVJFR2V0RlBTTWF4KCBUVl9DQVBUVVJFICpjLCBUVl9VSU5UMzIg KmZwc19tYXggKQp7CiAgICAqZnBzX21heCA9IGMtPmZwc19tYXg7Cn0KCgovKipAQkVHSU5G VU5DKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioKCiAgICBQcm90b3R5cGUgIDogVFZfQk9PTCBUVkNBUFRVUkVRdWVyeURy aXZlclN0YXRlKAogICAgICAgICAgICAgICAgICAgICAgVFZfQ0FQVFVSRSAqYywKICAgICAg ICAgICAgICAgICAgICAgIFRWX0RSSVZFUl9TVEFURSAqcyApCgogICAgUHVycG9zZSAgICA6 IFF1ZXJpZXMgdGhlIGRyaXZlciBmb3IgYWxsIG9mIGl0cyBjdXJyZW50IHBhcmFtZXRlcnMu CgogICAgUHJvZ3JhbW1lciA6IDE2LU1hci05NyAgUmFuZGFsbCBIb3BwZXIKCiAgICBQYXJh bWV0ZXJzIDogYyAtIEk6IGNhcHR1cmUgZGV2aWNlIHN0cnVjdAogICAgICAgICAgICAgICAg IHMgLSBPOiBkcml2ZXIgc3RhdGUKCiAgICBSZXR1cm5zICAgIDogTm9uZS4KCiAgICBHbG9i YWxzICAgIDogTm9uZS4KCiAqKkBFTkRGVU5DKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgpUVl9CT09MIFRWQ0FQ VFVSRVF1ZXJ5RHJpdmVyU3RhdGUoIFRWX0NBUFRVUkUgKmMsIFRWX0RSSVZFUl9TVEFURSAq cyApCnsKICAgIFRWX0lOVDMyICAgICBsYXJnOwogICAgVFZfVUlOVDE2ICAgIHVzYXJnOwoj aWZkZWYgTk9UX05FRURFRAogICAgc3RydWN0IG1ldGVvcl9jb3VudHMgY291bnRzOwogICAg c3RydWN0IG1ldGVvcl92aWRlbyAgdmlkZW87CiNlbmRpZgoKICAgIG1lbXNldCggcywgJ1ww Jywgc2l6ZW9mKCAqcyApICk7CgogICAgLyogIElOUFVUIERFVklDRSAgKi8KICAgIGlmICgg aW9jdGwoIGMtPmZkLCBNRVRFT1JHSU5QVVQsICZsYXJnICkgPCAwICkgewogICAgICAgIERP X0lPQ1RMX0dFUlIoICJNRVRFT1JHSU5QVVQiICk7CiAgICAgICAgcmV0dXJuIEZhbHNlOwog ICAgfQoKICAgIHN3aXRjaCAoIGxhcmcgKSB7CiAgICAgICAgY2FzZSBNRVRFT1JfREVWMDoK ICAgICAgICBjYXNlIE1FVEVPUl9JTlBVVF9ERVYzIDogcy0+aW5wdXRfZGV2ID0gVFZfREVW SUNFX1ZJREVPIDsgIGJyZWFrOwogICAgICAgIGNhc2UgTUVURU9SX0RFVjEgOiBzLT5pbnB1 dF9kZXYgPSBUVl9ERVZJQ0VfVFVORVIgOyAgYnJlYWs7CiAgICAgICAgY2FzZSBNRVRFT1Jf REVWMiA6IHMtPmlucHV0X2RldiA9IFRWX0RFVklDRV9TVklERU87ICBicmVhazsKICAgICAg ICBkZWZhdWx0IDoKICAgICAgICAgICAgIGZwcmludGYoIHN0ZGVyciwgIlRWQ0FQVFVSRVF1 ZXJ5RHJpdmVyU3RhdGUoKTogQmFkIElOUFVUICVkXG4iLAogICAgICAgICAgICAgICAgICAg ICAgbGFyZyApOwogICAgICAgICAgICAgcmV0dXJuIEZhbHNlOwogICAgfQoKICAgIC8qICBJ TlBVVCBGT1JNQVQgICovCiAgICBpZiAoIGlvY3RsKCBjLT5mZCwgQlQ4NDhHRk1ULCAmbGFy ZyApIDwgMCApIHsKICAgICAgICBET19JT0NUTF9HRVJSKCAiQlQ4NDhHRk1UIiApOwogICAg ICAgIHJldHVybiBGYWxzZTsKICAgIH0KICAgIHN3aXRjaCAoIGxhcmcgKSB7CiAgICAgICAg Y2FzZSBCVDg0OF9JRk9STV9GX0FVVE8gICAgOiBzLT5pbnB1dF9mbXQgPSBUVl9JTlBVVF9B VVRPICAgIDsgIGJyZWFrOwogICAgICAgIGNhc2UgQlQ4NDhfSUZPUk1fRl9OVFNDTSAgIDog cy0+aW5wdXRfZm10ID0gVFZfSU5QVVRfTlRTQ00gICA7ICBicmVhazsKICAgICAgICBjYXNl IEJUODQ4X0lGT1JNX0ZfTlRTQ0ogICA6IHMtPmlucHV0X2ZtdCA9IFRWX0lOUFVUX05UU0NK ICAgOyAgYnJlYWs7CiAgICAgICAgY2FzZSBCVDg0OF9JRk9STV9GX1BBTEJER0hJOiBzLT5p bnB1dF9mbXQgPSBUVl9JTlBVVF9QQUxCREdISTsgIGJyZWFrOwogICAgICAgIGNhc2UgQlQ4 NDhfSUZPUk1fRl9QQUxNICAgIDogcy0+aW5wdXRfZm10ID0gVFZfSU5QVVRfUEFMTSAgICA7 ICBicmVhazsKICAgICAgICBjYXNlIEJUODQ4X0lGT1JNX0ZfUEFMTiAgICA6IHMtPmlucHV0 X2ZtdCA9IFRWX0lOUFVUX1BBTE4gICAgOyAgYnJlYWs7CiAgICAgICAgY2FzZSBCVDg0OF9J Rk9STV9GX1NFQ0FNICAgOiBzLT5pbnB1dF9mbXQgPSBUVl9JTlBVVF9TRUNBTSAgIDsgIGJy ZWFrOwogICAgICAgIGNhc2UgQlQ4NDhfSUZPUk1fRl9SU1ZEICAgIDogcy0+aW5wdXRfZm10 ID0gVFZfSU5QVVRfUEFMTkNPTUI7ICBicmVhazsKICAgICAgICBkZWZhdWx0IDoKICAgICAg ICAgICAgIGZwcmludGYoIHN0ZGVyciwgIlRWQ0FQVFVSRVF1ZXJ5RHJpdmVyU3RhdGUoKTog QmFkIEZNVCAlZFxuIiwKICAgICAgICAgICAgICAgICAgICAgIGxhcmcgKTsKICAgICAgICAg ICAgIHJldHVybiBGYWxzZTsKICAgIH0KCiAgICAvKiAgQ0FQVFVSRSBERVNUSU5BVElPTiAg Ki8KI2lmZGVmIE5PVF9ORUVERUQKICAgIGlmICggaW9jdGwoIGMtPmZkLCBNRVRFT1JfR1ZJ REVPLCAmdmlkZW8gKSA8IDAgKSB7CiAgICAgICAgRE9fSU9DVExfR0VSUiggIk1FVEVPUl9H VklERU8iICk7CiAgICAgICAgcmV0dXJuIEZhbHNlOwogICAgfQojZW5kaWYKCiAgICAvKiAg RlJBTUVTIFBFUiBTRUMgICovCiAgICBpZiAoIGlvY3RsKCBjLT5mZCwgTUVURU9SR0ZQUywg JnVzYXJnICkgPCAwICkgewogICAgICAgIERPX0lPQ1RMX0dFUlIoICJNRVRFT1JHRlBTIiAp OwogICAgICAgIHJldHVybiBGYWxzZTsKICAgIH0KICAgIHMtPmZwcyA9IHVzYXJnOwoKICAg IC8qICBTSUdOQUwgICovCiNpZmRlZiBOT1RfTkVFREVECiAgICBpZiAoIGlvY3RsKCBjLT5m ZCwgTUVURU9SX0dTSUdOQUwsICZsYXJnICkgPCAwICkgewogICAgICAgIERPX0lPQ1RMX0dF UlIoICJNRVRFT1JfR1NJR05BTCIgKTsKICAgICAgICByZXR1cm4gRmFsc2U7CiAgICB9CiAg ICBzLT5zaWduYWwgPSBsYXJnOwojZW5kaWYKCiAgICAvKiAgQ0FQVFVSRSBTVEFUSVNUSUNT ICAqLwojaWZkZWYgTk9UX05FRURFRAogICAgaWYgKCBpb2N0bCggYy0+ZmQsIE1FVEVPUl9H Q09VTlQsICZjb3VudHMgKSA8IDAgKSB7CiAgICAgICAgRE9fSU9DVExfR0VSUiggIk1FVEVP Ul9HQ09VTlQiICk7CiAgICAgICAgcmV0dXJuIEZhbHNlOwogICAgfQogICAgcy0+c3RhdHMu ZnJhbWVzX2NhcHR1cmVkID0gY291bnRzLmZyYW1lc19jYXB0dXJlZDsKI2VuZGlmCgogICAg LyogIEhVRSAgKi8KICAgIGlmICggaW9jdGwoIGMtPnRmZCwgQlQ4NDhfR0hVRSwgJmxhcmcg KSA8IDAgKSB7CiAgICAgICAgRE9fSU9DVExfR0VSUiggIkJUODQ4X0dIVUUiICk7CiAgICAg ICAgcmV0dXJuIEZhbHNlOwogICAgfQoKICAgIC8qICBEcml2ZXIgRklYTUU6IEhhY2sgbmVl ZGVkIHNpbmNlIDk3MDMyMiBkcml2ZXIgaXMgdXNpbmcgYW4gaW50LCBidXQgKi8KICAgIC8q ICAgIGlzbid0IHJldHVybmluZyAtMTI4LTEyNyByYW5nZSBhcyBpbiBTSFVFLCBidXQgcmF0 aGVyIDAuLjI1NS4gICAgKi8KICAgIGlmICggbGFyZyA+PSAxMjggKQogICAgICAgIGxhcmcg LT0gMjU2OwoKICAgIHMtPmh1ZSA9ICgoZG91YmxlKWxhcmcgLSBIVUVfRFJWX01JTikgLyBI VUVfRFJWX1JBTkdFIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAqIEhVRV9SQU5HRSArIEhVRV9NSU47CgogICAgLyogIEJSSUdIVE5FU1MgICovCiAgICBp ZiAoIGlvY3RsKCBjLT50ZmQsIEJUODQ4X0dCUklHLCAmbGFyZyApIDwgMCApIHsKICAgICAg ICBET19JT0NUTF9HRVJSKCAiQlQ4NDhfR0JSSUciICk7CiAgICAgICAgcmV0dXJuIEZhbHNl OwogICAgfQoKICAgIC8qICBEcml2ZXIgRklYTUU6IEhhY2sgbmVlZGVkIHNpbmNlIDk3MDMy MiBkcml2ZXIgaXMgdXNpbmcgYW4gaW50LCBidXQgICovCiAgICAvKiAgICBpc24ndCByZXR1 cm5pbmcgLTEyOC0xMjcgcmFuZ2UgYXMgaW4gU0hVRSwgYnV0IHJhdGhlciAwLi4yNTUuICAg ICAqLwogICAgaWYgKCBsYXJnID49IDEyOCApCiAgICAgICAgbGFyZyAtPSAyNTY7CgogICAg cy0+YnJpZ2h0bmVzcyA9ICgoZG91YmxlKWxhcmcgLSBCUklHSFRfRFJWX01JTikgLyBCUklH SFRfRFJWX1JBTkdFIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKiBCUklHSFRfUkFOR0UgKyBCUklHSFRfTUlOOwoKICAgIC8qICBDT05UUkFT VCAgKi8KICAgIGlmICggaW9jdGwoIGMtPnRmZCwgQlQ4NDhfR0NPTlQsICZsYXJnICkgPCAw ICkgewogICAgICAgIERPX0lPQ1RMX0dFUlIoICJCVDg0OF9HQ09OVCIgKTsKICAgICAgICBy ZXR1cm4gRmFsc2U7CiAgICB9CiAgICBzLT5jb250cmFzdCA9ICgoZG91YmxlKWxhcmcgLSBD T05UUl9EUlZfTUlOKSAvIENPTlRSX0RSVl9SQU5HRSAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogQ09OVFJfUkFOR0UgKyBDT05UUl9NSU47 CgogICAgLyogIENIUk9NQSBVIFNBVFVSQVRJT04gICovCiAgICBpZiAoIGlvY3RsKCBjLT50 ZmQsIEJUODQ4X0dVU0FULCAmbGFyZyApIDwgMCApIHsKICAgICAgICBET19JT0NUTF9HRVJS KCAiQlQ4NDhfR1VTQVQiICk7CiAgICAgICAgcmV0dXJuIEZhbHNlOwogICAgfQogICAgcy0+ c2F0X3UgPSAoKGRvdWJsZSlsYXJnIC0gU0FUVV9EUlZfTUlOKSAvIFNBVFVfRFJWX1JBTkdF IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBTQVRV X1JBTkdFICsgU0FUVV9NSU47CgogICAgLyogIENIUk9NQSBWIFNBVFVSQVRJT04gICovCiAg ICBpZiAoIGlvY3RsKCBjLT50ZmQsIEJUODQ4X0dWU0FULCAmbGFyZyApIDwgMCApIHsKICAg ICAgICBET19JT0NUTF9HRVJSKCAiQlQ4NDhfR1ZTQVQiICk7CiAgICAgICAgcmV0dXJuIEZh bHNlOwogICAgfQogICAgcy0+c2F0X3YgPSAoKGRvdWJsZSlsYXJnIC0gU0FUVl9EUlZfTUlO KSAvIFNBVFZfRFJWX1JBTkdFIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKiBTQVRWX1JBTkdFICsgU0FUVl9NSU47CgogICAgLyogIFRVTkVSIFRZ UEUgICovCiAgICBpZiAoIGlvY3RsKCBjLT50ZmQsIFRWVFVORVJfR0VUVFlQRSwgJmxhcmcg KSA8IDAgKSB7CiAgICAgICAgRE9fSU9DVExfR0VSUiggIlRWVFVORVJfR0VUVFlQRSIgKTsK ICAgICAgICByZXR1cm4gRmFsc2U7CiAgICB9CiAgICBzd2l0Y2ggKCBsYXJnICkgewogICAg ICAgIGNhc2UgQ0hOTFNFVF9OQUJDU1QgICA6IHMtPnR1bmVyX2ZyZXFfc2V0ID0gVFZfRlJF UV9TRVRfTkFCQ1NUICA7ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVh azsKICAgICAgICBjYXNlIENITkxTRVRfQ0FCTEVJUkMgOiBzLT50dW5lcl9mcmVxX3NldCA9 IFRWX0ZSRVFfU0VUX0NBQkxFSVJDOyAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYnJlYWs7CiAgICAgICAgY2FzZSBDSE5MU0VUX0NBQkxFSFJDIDogcy0+dHVuZXJfZnJl cV9zZXQgPSBUVl9GUkVRX1NFVF9DQUJMRUhSQzsgICAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIENITkxTRVRfV0VVUk9QRSAgOiBzLT50 dW5lcl9mcmVxX3NldCA9IFRWX0ZSRVFfU0VUX1dFVVJPUEUgOyAgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSBDSE5MU0VUX0pQTkJDU1Qg IDogcy0+dHVuZXJfZnJlcV9zZXQgPSBUVl9GUkVRX1NFVF9KUE5CQ1NUIDsgIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgQ0hOTFNFVF9K UE5DQUJMRSA6IHMtPnR1bmVyX2ZyZXFfc2V0ID0gVFZfRlJFUV9TRVRfSlBOQ0FCTEU7ICAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICBkZWZhdWx0 IDoKICAgICAgICAgICAgIGZwcmludGYoIHN0ZGVyciwKICAgICAgICAgICAgICAgICAgICAg ICJUVkNBUFRVUkVRdWVyeURyaXZlclN0YXRlKCk6IEJhZCBDSE5MU0VUICVkXG4iLCAKICAg ICAgICAgICAgICAgICAgICAgIGxhcmcgKTsKICAgICAgICAgICAgIHJldHVybiBGYWxzZTsK ICAgIH0KCiAgICAvKiAgRklYTUU6ICBUaGlzIGlzIGEgaGFjayBiZWNhdXNlIHdlIGNhbid0 IHF1ZXJ5IHRoaXMgaW5mbyAgKi8KICAgIC8qICAgIGZyb20gdGhlIGRyaXZlci4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogICAgcy0+dHVuZXJfY2hhbl9h Y3RpdmUgPSBjLT50dW5lcl9jaGFuX2FjdGl2ZTsKCiAgICAvKiAgVFVORVIgQ0hBTk5FTCAg Ki8KICAgIGlmICggaW9jdGwoIGMtPnRmZCwgVFZUVU5FUl9HRVRDSE5MLCAmbGFyZyApIDwg MCApIHsKICAgICAgICBET19JT0NUTF9HRVJSKCAiVFZUVU5FUl9HRVRDSE5MIiApOwogICAg ICAgIHJldHVybiBGYWxzZTsKICAgIH0KICAgIHMtPnR1bmVyX2NoYW4gPSBsYXJnOwoKICAg IC8qICBUVU5FUiBGUkVRVUVOQ1kgICovCiAgICBpZiAoIGlvY3RsKCBjLT50ZmQsIFRWVFVO RVJfR0VURlJFUSwgJmxhcmcgKSA8IDAgKSB7CiAgICAgICAgRE9fSU9DVExfR0VSUiggIlRW VFVORVJfR0VURlJFUSIgKTsKICAgICAgICByZXR1cm4gRmFsc2U7CiAgICB9CiAgICBzLT50 dW5lcl9mcmVxID0gKGRvdWJsZSlsYXJnIC8gRlJFUUZBQ1RPUjsKCiAgICAvKiAgQVVESU8g TVVURSBBTkQgSU5QVVQgU1RBVEUgICovCiAgICBpZiAoIGlvY3RsKCBjLT50ZmQsIEJUODQ4 X0dBVURJTywgJmxhcmcgKSA8IDAgKSB7CiAgICAgICAgRE9fSU9DVExfR0VSUiggIkJUODQ4 X0dBVURJTyIgKTsKICAgICAgICByZXR1cm4gRmFsc2U7CiAgICB9CiAgICBzLT5hdWRpb19t dXRlID0gKGxhcmcgJiBBVURJT19NVVRFKSAhPSAwOwogICAgc3dpdGNoICggbGFyZyAmIH5B VURJT19NVVRFICkgewogICAgICAgIGRlZmF1bHQgICAgICAgICAgIDoKICAgICAgICBjYXNl IEFVRElPX1RVTkVSICA6IHMtPmF1ZGlvX2lucHV0X2RldiA9IFRWX0FVRElPX0lOUFVUX1RV TkVSIDsgIGJyZWFrOwogICAgICAgIGNhc2UgQVVESU9fRVhURVJOIDogcy0+YXVkaW9faW5w dXRfZGV2ID0gVFZfQVVESU9fSU5QVVRfRVhURVJOOyAgYnJlYWs7CiAgICAgICAgY2FzZSBB VURJT19JTlRFUk4gOiBzLT5hdWRpb19pbnB1dF9kZXYgPSBUVl9BVURJT19JTlBVVF9JTlRF Uk47ICBicmVhazsKICAgIH0KCiAgICByZXR1cm4gVHJ1ZTsKfQoKCnZvaWQgVFZDQVBUVVJF UXVlcnlQYXJhbUxpbWl0cyggVFZfQ0FQVFVSRSAqYywgVFZfRFJJVkVSX1BBUkFNIHAsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIGxpbVsyXSApCnsKICAgIHN0 YXRpYyBzdHJ1Y3QgewogICAgICAgIFRWX0RSSVZFUl9QQVJBTSBwOwogICAgICAgIGRvdWJs ZSAgICAgICAgICBsaW1bMl07CiAgICB9IFNfcGFyYW1fbGltW10gPSB7CiAgICAgICAgeyBU Vl9QQVJBTV9IVUUgICAgICwgeyBIVUVfTUlOICAgLCBIVUVfTUFYICAgIH0gfSwKICAgICAg ICB7IFRWX1BBUkFNX0JSSUdIVCAgLCB7IEJSSUdIVF9NSU4sIEJSSUdIVF9NQVggfSB9LAog ICAgICAgIHsgVFZfUEFSQU1fQ09OVFJBU1QsIHsgQ09OVFJfTUlOICwgQ09OVFJfTUFYICB9 IH0sCiAgICAgICAgeyBUVl9QQVJBTV9TQVRVICAgICwgeyBTQVRVX01JTiAgLCBTQVRVX01B WCAgIH0gfSwKICAgICAgICB7IFRWX1BBUkFNX1NBVFYgICAgLCB7IFNBVFZfTUlOICAsIFNB VFZfTUFYICAgfSB9CiAgICB9OwoKICAgIFRWX0lOVDMyIGk7CgogICAgZm9yICggaSA9IDA7 IGkgPCBYdE51bWJlciggU19wYXJhbV9saW0gKTsgaSsrICkKICAgICAgICBpZiAoIFNfcGFy YW1fbGltW2ldLnAgPT0gcCApCiAgICAgICAgICAgIGJyZWFrOwoKICAgIGlmICggaSA+PSBY dE51bWJlciggU19wYXJhbV9saW0gKSApIHsKICAgICAgICBmcHJpbnRmKCBzdGRlcnIsIAog ICAgICAgICAgICAgICAiVFZDQVBUVVJFUXVlcnlQYXJhbUxpbWl0czogVW5zdXBwb3J0ZWQg ZHJpdmVyIHBhcmFtICglZCkiLCBwICk7CiAgICAgICAgZXhpdCgxKTsKICAgIH0KCiAgICBt ZW1jcHkoIGxpbSwgU19wYXJhbV9saW1baV0ubGltLCBzaXplb2YoIFNfcGFyYW1fbGltW2ld LmxpbSApICk7Cn0KCgovKipAQkVHSU5GVU5DKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCiAgICBQcm90b3R5cGUgIDog dm9pZCBUVkNBUFRVUkVRdWVyeVBpeGVsRm9ybWF0cygKICAgICAgICAgICAgICAgICAgICAg IFRWX0NBUFRVUkUgICAgICpjLAogICAgICAgICAgICAgICAgICAgICAgVFZfUElYRUxfR0VP TSAqKmxpc3QsCiAgICAgICAgICAgICAgICAgICAgICBUVl9VSU5UMzIgICAgICAqbGlzdF9z aXplICkKCiAgICBQdXJwb3NlICAgIDogUXVlcnkgYWxsIHRoZSBzdXBwb3J0IFJHQiBwaXhl bCBmb3JtYXRzIGZyb20gdGhlIGNhcHR1cmUgCiAgICAgICAgICAgICAgICBkcml2ZXIgYW5k IHN0b3JlIHRoZW0gaW4gYSBsb2NhbCBsaXN0IGZvciBmYXN0IGFjY2Vzcy4KCiAgICBQcm9n cmFtbWVyIDogMjAtQXByLTk3ICBSYW5kYWxsIEhvcHBlcgoKICAgIFBhcmFtZXRlcnMgOiBj ICAgICAgICAgLSBJOiBjYXB0dXJlIGRlZmluaXRpb24gc3RydWN0dXJlCiAgICAgICAgICAg ICAgICAgbGlzdCAgICAgIC0gTzogYWxsb2NhdGVkL2ZpbGxlZCBpbiBsaXN0IG9mIHBpeGVs IGZvcm1hdHMKICAgICAgICAgICAgICAgICBsaXN0X3NpemUgLSBPOiByZXN1bHRpbmcgc2l6 ZSBvZiBsaXN0CgogICAgUmV0dXJucyAgICA6IE5vbmUuCgogICAgR2xvYmFscyAgICA6IE5v bmUuCgogKipARU5ERlVOQyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKdm9pZCBUVkNBUFRVUkVRdWVyeVBpeGVs Rm9ybWF0cyggVFZfQ0FQVFVSRSAgICAgKmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFRWX1BJWEVMX0dFT00gKipsaXN0LAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBUVl9VSU5UMzIgICAgICAqbGlzdF9zaXplICkKewogICAgLyogIEZJWE1FOiAg VGhpcyBiZWxvbmdzIGluIHRoZSBkcml2ZXIgd2hlcmUgd2UgY2FuIHF1ZXJ5IGl0IHVzaW5n ICAqLwogICAgLyogICAgdGhlIHBpeG1hcCBmb3JtYXRzIGludGVyZmFjZS4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqLwogICAgc3RhdGljIFRWX1BJWEVMX0dFT00gCiAg ICAgICAgWVVWX2g0MjJfdjExMSA9CiAgICAgICAgICAgICB7IC0xLFRWX1BJWEVMVFlQRV9Z VVYsMCx7fSwwLDAsCiAgICAgICAgICAgICAgIHs4LDgsOH0sezEsMiwyfSx7MSwxLDF9LFRW X0ZSQU1FX1BMQU5BUiwiWVVWIiwxLDEsMCB9LAogICAgICAgIFlVVl9oNDIyX3Y0MjIgPQog ICAgICAgICAgICAgeyAtMSxUVl9QSVhFTFRZUEVfWVVWLDAse30sMCwwLAogICAgICAgICAg ICAgICB7OCw4LDh9LHsxLDIsMn0sezEsMiwyfSxUVl9GUkFNRV9QTEFOQVIsIllVViIsMSwx LDAgfTsKCiAgICBzdHJ1Y3QgbWV0ZW9yX3BpeGZtdCBwZjsKICAgIFRWX1VJTlQzMiAgICAg ICAgICAgIGk7CiAgICBUVl9QSVhFTF9HRU9NICAgICAgICpwZzsKCiAgICAqbGlzdCAgICAg ID0gTlVMTDsKICAgICpsaXN0X3NpemUgPSAwOwoKICAgIGZvciAoIGkgPSAwOyA7IGkrKyAp IHsKICAgICAgICBwZi5pbmRleCA9IGk7CiAgICAgICAgaWYgKCBpb2N0bCggYy0+ZmQsIE1F VEVPUkdTVVBQSVhGTVQsICZwZiApIDwgMCApIHsKICAgICAgICAgICAgaWYgKCBlcnJubyA9 PSBFSU5WQUwgKQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIERPX0lPQ1RM X0dFUlIoICJNRVRFT1JHU1VQUElYRk1UIiApOwogICAgICAgIH0KCiAgICAgICAgLyogIEV4 cGFuZCBsaXN0ICAqLwogICAgICAgICgqbGlzdF9zaXplKSsrOwogICAgICAgICpsaXN0ID0g cmVhbGxvYyggKmxpc3QsICpsaXN0X3NpemUgKiBzaXplb2YoICgqbGlzdClbMF0gKSApOwog ICAgICAgIGlmICggKmxpc3QgPT0gTlVMTCApCiAgICAgICAgICAgIFRWVVRJTE91dE9mTWVt b3J5KCk7CgogICAgICAgIC8qICBTdG9yZSBuZXcgcmVjb3JkICAqLwogICAgICAgIHBnID0g JigqbGlzdClbICpsaXN0X3NpemUgLSAxIF07CiAgICAgICAgbWVtc2V0KCBwZywgJ1wwJywg c2l6ZW9mKCAqcGcgKSApOwoKICAgICAgICBpZiAoIHBmLnR5cGUgPT0gTUVURU9SX1BJWFRZ UEVfUkdCICkgewogICAgICAgICAgICBwZy0+dHlwZSAgICAgICAgPSBUVl9QSVhFTFRZUEVf UkdCOwogICAgICAgICAgICBwZy0+QnBwICAgICAgICAgPSBwZi5CcHA7CiAgICAgICAgICAg IHBnLT5tYXNrWzBdICAgICA9IHBmLm1hc2tzWzBdOwogICAgICAgICAgICBwZy0+bWFza1sx XSAgICAgPSBwZi5tYXNrc1sxXTsKICAgICAgICAgICAgcGctPm1hc2tbMl0gICAgID0gcGYu bWFza3NbMl07CiAgICAgICAgICAgIHBnLT5zd2FwX2J5dGVzICA9IHBmLnN3YXBfYnl0ZXM7 CiAgICAgICAgICAgIHBnLT5zd2FwX3Nob3J0cyA9IHBmLnN3YXBfc2hvcnRzOwogICAgICAg IH0KCiAgICAgICAgLyogIEZJWE1FOiAgVGhlc2Ugc2hvdWxkIGJlIHBhcmFtZXRlcml6ZWQg c3VidHlwZXMgb2YgWVVWIGluICAqLwogICAgICAgIC8qICAgIHRoZSBkcml2ZXIsIG5vdCBz ZXBhcmF0ZSB0eXBlcy4gIFRoaXMgd291bGQgZWxpbWluYXRlICAgKi8KICAgICAgICAvKiAg ICBjb25mdXNpb24gZHVlIHRvIHRoZXNlIGxlZ2FjeSBuYW1lcywgYW5kIG1ha2UgdXMgICAg ICAgICovCiAgICAgICAgLyogICAgbW9yZSBpbmRlcGVuZGVudCBvZiB0aGUgY2FwYWJpbGl0 aWVzIG9mIHRoZSBkcml2ZXIuICAgICAqLwogICAgICAgIC8qICBGSVhNRTogIEV4dGVuZCB0 aGUgZHJpdmVyIGludGVyZmFjZSB0byBwYXNzIHVzIHRoZXNlIFlVViAgKi8KICAgICAgICAv KiAgICAgICAgICBwYXJtcyBmb3IgZWFjaCBZVVYgc3VidHlwZSAgICAgICAgICAgICAgICAg ICAgICAgICovCiAgICAgICAgZWxzZSBpZiAoKCBwZi50eXBlID09IE1FVEVPUl9QSVhUWVBF X1lVViAgICAgICAgKSB8fAogICAgICAgICAgICAgICAgICggcGYudHlwZSA9PSBNRVRFT1Jf UElYVFlQRV9ZVVZfUEFDS0VEICkgfHwKICAgICAgICAgICAgICAgICAoIHBmLnR5cGUgPT0g TUVURU9SX1BJWFRZUEVfWVVWXzEyICAgICApKSB7CgogICAgICAgICAgICBwZy0+dHlwZSA9 IFRWX1BJWEVMVFlQRV9ZVVY7CgogICAgICAgICAgICBzd2l0Y2ggKCBwZi50eXBlICkgewoK ICAgICAgICAgICAgICAgIGNhc2UgTUVURU9SX1BJWFRZUEVfWVVWICAgICAgICA6CiAgICAg ICAgICAgICAgICAgICAgbWVtY3B5KCBwZywgJllVVl9oNDIyX3YxMTEsIHNpemVvZigqcGcp ICk7CiAgICAgICAgICAgICAgICAgICAgcGctPmZyYW1lX3BhY2tpbmcgPSBUVl9GUkFNRV9Q TEFOQVI7CiAgICAgICAgICAgICAgICAgICAgc3RyY3B5KCBwZy0+Y29tcF9vcmRlciwgIllV ViIgKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNl IE1FVEVPUl9QSVhUWVBFX1lVVl9QQUNLRUQgOiAgICAvKiAgNENDIENvZGU6IFlVWTIgICov CiAgICAgICAgICAgICAgICAgICAgbWVtY3B5KCBwZywgJllVVl9oNDIyX3YxMTEsIHNpemVv ZigqcGcpICk7CiAgICAgICAgICAgICAgICAgICAgcGctPmZyYW1lX3BhY2tpbmcgPSBUVl9G UkFNRV9QQUNLRUQ7CiAgICAgICAgICAgICAgICAgICAgc3RyY3B5KCBwZy0+Y29tcF9vcmRl ciwgIllVWVYiICk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAg ICAKICAgICAgICAgICAgICAgIGNhc2UgTUVURU9SX1BJWFRZUEVfWVVWXzEyICAgICA6ICAg IC8qICA0Q0MgQ29kZTogSVlVVi9JNDIwICAqLwogICAgICAgICAgICAgICAgICAgIG1lbWNw eSggcGcsICZZVVZfaDQyMl92NDIyLCBzaXplb2YoKnBnKSApOwogICAgICAgICAgICAgICAg ICAgIHBnLT5mcmFtZV9wYWNraW5nID0gVFZfRlJBTUVfUExBTkFSOwogICAgICAgICAgICAg ICAgICAgIHN0cmNweSggcGctPmNvbXBfb3JkZXIsICJZVVYiICk7CiAgICAgICAgICAgICAg ICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAg ICAgICAgICAgIGZwcmludGYoIHN0ZGVyciwgIlVuc3VwcG9ydGVkIHBpeGVsIHR5cGU6ICVk XG4iLCBwZy0+dHlwZSApOwogICAgICAgICAgICBleGl0KDEpOwogICAgICAgIH0KCiAgICAg ICAgcGctPmluZGV4ICAgICAgID0gcGYuaW5kZXg7CiAgICB9Cn0KCi8qKkBCRUdJTkZVTkMq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKgoKICAgIFByb3RvdHlwZSAgOiB2b2lkIFRWQ0FQVFVSRUdldE51bVBpeEZtdHMo CiAgICAgICAgICAgICAgICAgICAgICBUVl9DQVBUVVJFICpjLAogICAgICAgICAgICAgICAg ICAgICAgVFZfVUlOVDMyICpudW0gKQoKICAgIFByb3RvdHlwZSAgOiB2b2lkIFRWQ0FQVFVS RUdldE50aFBpeEZtdCAoCiAgICAgICAgICAgICAgICAgICAgICBUVl9DQVBUVVJFICpjLAog ICAgICAgICAgICAgICAgICAgICAgVFZfVUlOVDMyIGluZGV4LAogICAgICAgICAgICAgICAg ICAgICAgVFZfUElYRUxfR0VPTSAqZ2VvbSApCiAgICAgICAgICAgICAgICAgICAgICAKICAg IFByb3RvdHlwZSAgOiB2b2lkIFRWQ0FQVFVSRUdldFBpeEZtdEJ5RHJpdmVySGFuZGxlKAog ICAgICAgICAgICAgICAgICAgICAgVFZfQ0FQVFVSRSAqYywKICAgICAgICAgICAgICAgICAg ICAgIFRWX1VJTlQzMiBoYW5kbGUsCiAgICAgICAgICAgICAgICAgICAgICBUVl9JTlQzMiAq aW5kZXggKQoKICAgIFByb3RvdHlwZSAgOiB2b2lkIFRWQ0FQVFVSRUdldFBpeEZtdEJ5UGl4 R2VvbSgKICAgICAgICAgICAgICAgICAgICAgIFRWX0NBUFRVUkUgKmMsCiAgICAgICAgICAg ICAgICAgICAgICBUVl9QSVhFTF9HRU9NICpnZW9tLAogICAgICAgICAgICAgICAgICAgICAg VFZfSU5UMzIgKmluZGV4ICkKCiAgICBQdXJwb3NlICAgIDogUXVlcnkgQVBJIGZvciB0aGUg cGl4ZWwgZm9ybWF0cyBzdXBwb3J0ZWQgYnkgb3V0IGNhcHR1cmUKICAgICAgICAgICAgICAg ICBkZXZpY2UuCgogICAgUHJvZ3JhbW1lciA6IDIwLUFwci05NyAgUmFuZGFsbCBIb3BwZXIK CiAgICBQYXJhbWV0ZXJzIDogYyAgICAgIC0gSTogY2FwdHVyZSBzdHJ1Y3QKICAgICAgICAg ICAgICAgICBudW0gICAgLSBPOiBudW0gcGl4ZWwgZm9ybWF0cwogICAgICAgICAgICAgICAg IGluZGV4ICAtIEk6IGluZGV4IGludG8gcGl4ZWwgZm9ybWF0cyBsaXN0CiAgICAgICAgICAg ICAgICAgaGFuZGxlIC0gSTogZHJpdmVyIGhhbmRsZSBmb3IgcGl4ZWwgZm9ybWF0CiAgICAg ICAgICAgICAgICAgZ2VvbSAgIC0gTzogbnRoIHBpeGVsIGZvcm1hdCBkZWZpbml0aW9uCgog ICAgUmV0dXJucyAgICA6IE5vbmUuCgogICAgR2xvYmFscyAgICA6IE5vbmUuCgogKipARU5E RlVOQyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqLwoKdm9pZCBUVkNBUFRVUkVHZXROdW1QaXhGbXRzKCBUVl9DQVBU VVJFICpjLCBUVl9VSU5UMzIgKm51bSApCnsKICAgICpudW0gPSBjLT5waXhfZ2VvbV9saXN0 X2xlbjsKfQoKdm9pZCBUVkNBUFRVUkVHZXROdGhQaXhGbXQgKCBUVl9DQVBUVVJFICpjLCBU Vl9VSU5UMzIgaW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFZfUElYRUxf R0VPTSAqZ2VvbSApCnsKICAgIGlmICggaW5kZXggPj0gYy0+cGl4X2dlb21fbGlzdF9sZW4g KSB7CiAgICAgICAgZnByaW50Ziggc3RkZXJyLCAiVFZDQVBUVVJFR2V0TnRoUGl4Rm10OiBJ bmRleCBvdXQgb2YgcmFuZ2VcbiIgKTsKICAgICAgICBleGl0KDEpOwogICAgfQogICAgKmdl b20gPSBjLT5waXhfZ2VvbV9saXN0WyBpbmRleCBdOwp9Cgp2b2lkIFRWQ0FQVFVSRUdldFBp eEZtdEJ5RHJpdmVySGFuZGxlKCBUVl9DQVBUVVJFICpjLCBUVl9VSU5UMzIgaGFuZGxlLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUVl9JTlQzMiAqaW5kZXgg KQp7CiAgICBUVl9VSU5UMzIgaTsKCiAgICBmb3IgKCBpID0gMDsgaSA8IGMtPnBpeF9nZW9t X2xpc3RfbGVuOyBpKysgKQogICAgICAgIGlmICggaGFuZGxlID09IGMtPnBpeF9nZW9tX2xp c3RbaV0uaW5kZXggKQogICAgICAgICAgICBicmVhazsKICAgIAogICAgKmluZGV4ID0gKCBp ID49IGMtPnBpeF9nZW9tX2xpc3RfbGVuICkgPyAtMSA6IGk7Cn0KCnN0YXRpYyBUVl9CT09M IFRWQ0FQVFVSRU1hc2tJc2FCeXRlICggVFZfVUlOVDMyIG1hc2sgKQp7CiAgICBUVl9CT09M ICBpc2FfYnl0ZSA9IEZBTFNFOwogICAgVFZfSU5UMzIgaTsKCiAgICBmb3IgKCBpID0gMDsg aSA8IHNpemVvZiggbWFzayApOyBpKyssIG1hc2sgPj49IDggKQogICAgICAgIGlmICggbWFz ayAmIDB4ZmYgKSB7CiAgICAgICAgICAgIGlmICgoIChtYXNrICYgMHhmZikgPT0gMHhmZiAp ICYmICggKG1hc2sgPj4gOCkgPT0gMCApKQogICAgICAgICAgICAgICAgaXNhX2J5dGUgPSBU UlVFOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICByZXR1cm4gaXNhX2J5dGU7 Cn0KCgp2b2lkIFRWQ0FQVFVSRUdldFBpeEZtdEJ5UGl4R2VvbSggVFZfQ0FQVFVSRSAqYywg VFZfUElYRUxfR0VPTSAqZ2VvbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFRWX0lOVDMyICppbmRleCApCnsKICAgIHN0YXRpYyAgICBUVl9CT09MIFNfcmVjdXJzaXZl X2xvY2sgPSBGQUxTRTsKICAgIFRWX1VJTlQzMiBpOwoKICAgIGZvciAoIGkgPSAwOyBpIDwg Yy0+cGl4X2dlb21fbGlzdF9sZW47IGkrKyApCiAgICAgICAgaWYgKCggZ2VvbS0+dHlwZSA9 PSBjLT5waXhfZ2VvbV9saXN0W2ldLnR5cGUgKSAmJgogICAgICAgICAgICAoIGdlb20tPkJw cCAgPT0gYy0+cGl4X2dlb21fbGlzdFtpXS5CcHAgICkgJiYKICAgICAgICAgICAgIW1lbWNt cCggZ2VvbS0+bWFzaywgYy0+cGl4X2dlb21fbGlzdFtpXS5tYXNrLAogICAgICAgICAgICAg ICAgICAgICBzaXplb2YoIGdlb20tPm1hc2sgKSApICYmCiAgICAgICAgICAgICggZ2VvbS0+ c3dhcF9ieXRlcyA9PSBjLT5waXhfZ2VvbV9saXN0W2ldLnN3YXBfYnl0ZXMgICApICYmCiAg ICAgICAgICAgICggZ2VvbS0+c3dhcF9zaG9ydHMgPT0gYy0+cGl4X2dlb21fbGlzdFtpXS5z d2FwX3Nob3J0cyApKQogICAgICAgICAgICBicmVhazsKCiAgICAvKiAgSGFuZGxlIGEgZmV3 IG9mIHRoZSBzdHJhbmdlIGJ5dGUtc3dhcHBlZCBjb21iaW5hdGlvbnMgZm9yICAqLwogICAg LyogICAgMyBhbmQgNCBicHAuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKi8KICAgIC8qICAgIFRoaXMgbGV0cyB1cyBkZWFsIHdpdGggdmlzdWFscyB0 aGF0IHJldHVybiBtYXNrcyBsaWtlICAgICovCiAgICAvKiAgICB0aGUgTWFjaDY0IHdoaWNo IGlzIFJHQkEgZnJhbWUgYnVmZmVyICh3aXRoIHBpeG1hcCAgICAgICAqLwogICAgLyogICAg ZGVwdGggb2YgMzIgd2l0aCB2aXN1YWwgbWFza3Mgb2YgZmYsZmYwMCxmZjAwMDApICAgICAg ICAgKi8KICAgIGlmICggKCBpID49IGMtPnBpeF9nZW9tX2xpc3RfbGVuICkgJiYKICAgICAg ICAgKCggZ2VvbS0+QnBwID09IDMgKSB8fCAoIGdlb20tPkJwcCA9PSA0ICkpICYmCiAgICAg ICAgIFRWQ0FQVFVSRU1hc2tJc2FCeXRlKCBnZW9tLT5tYXNrWzBdICkgJiYKICAgICAgICAg VFZDQVBUVVJFTWFza0lzYUJ5dGUoIGdlb20tPm1hc2tbMV0gKSAmJgogICAgICAgICBUVkNB UFRVUkVNYXNrSXNhQnl0ZSggZ2VvbS0+bWFza1syXSApICkgewoKICAgICAgICBUVl9QSVhF TF9HRU9NIGcgPSAqZ2VvbTsKCiAgICAgICAgZy5tYXNrWzBdID0gZ2VvbS0+bWFza1syXSwK ICAgICAgICBnLm1hc2tbMl0gPSBnZW9tLT5tYXNrWzBdOwogICAgICAgIGcuc3dhcF9ieXRl cyA9ICFnLnN3YXBfYnl0ZXM7CiAgICAgICAgaWYgKCBnLkJwcCA9PSA0ICkKICAgICAgICAg ICAgZy5zd2FwX3Nob3J0cyA9ICFnLnN3YXBfc2hvcnRzOwogICAgfQogICAgCiAgICAqaW5k ZXggPSAoIGkgPj0gYy0+cGl4X2dlb21fbGlzdF9sZW4gKSA/IC0xIDogaTsKfQoKCnZvaWQg VFZDQVBUVVJFUHJpbnRQaXhlbEZvcm1hdHMoIFRWX0NBUFRVUkUgKmMgKQp7CiAgICBUVl9J TlQzMiAgICAgICBpLAogICAgICAgICAgICAgICAgICAgaiwKICAgICAgICAgICAgICAgICAg IGJwcCwKICAgICAgICAgICAgICAgICAgIHN3YXA7CiAgICBUVl9VSU5UMzIgICAgICBtYXNr OwogICAgVFZfUElYRUxfR0VPTSAqcGc7CgogICAgLyogIER1bXAgY2FwdHVyZSBwaXhlbCBm b3JtYXRzIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMgICovCgoKICAgIC8qICBQUklOVCBSR0Ig Rk9STUFUUyAgKi8KICAgIFNVUFJJTlRGKCggIlxuU3VwcG9ydGVkIFJHQiBDYXB0dXJlIFBp eGVsIEZvcm1hdHM6XG4iCiAgICAgICAiICAgYnBwICBCcHAgIFJHQiBNYXNrcyAgICAgICAg ICAgICAgICAgICAgIFN3YXBcbiIKICAgICAgICIgICAtLS0gIC0tLSAgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSAgLS0tLVxuIiApKTsKCiAgICBmb3IgKCBpID0gMDsgaSA8IGMt PnBpeF9nZW9tX2xpc3RfbGVuOyBpKysgKSB7CiAgICAgICAgY2hhciAgICAgICAgICBzd2Fw X2NoYXJzWzVdOwogICAgICAgIFRWX0lOVDMyICAgICAgajsKICAgICAgICBUVl9QSVhFTF9H RU9NIHNjcmF0Y2g7CiAgICAgICAgVFZfQk9PTCAgICAgICBwcmludGl0ID0gVFJVRTsKCiAg ICAgICAgcGcgPSAmYy0+cGl4X2dlb21fbGlzdFsgaSBdOwoKICAgICAgICBpZiAoIHBnLT50 eXBlICE9IFRWX1BJWEVMVFlQRV9SR0IgKQogICAgICAgICAgICBjb250aW51ZTsKICAgICAg ICAKICAgICAgICAvKiAgQnJvd3NlIGxpc3QgYW5kIHNlZSBpZiB3ZSd2ZSBnb3Qgb3RoZXIg cGl4ZWwgZm9ybWF0cyAgICAgICAgICAgKi8KICAgICAgICAvKiAgICB3aXRoIHRoZSBzYW1l IHR5cGUvQnBwL21hc2sgYnV0IGRpZmZlcmVudCBzd2FwIHBlcm11dGF0aW9ucyAgKi8KICAg ICAgICBtZW1zZXQoIHN3YXBfY2hhcnMsICcgJywgc2l6ZW9mKCBzd2FwX2NoYXJzICkgKTsK ICAgICAgICBzd2FwX2NoYXJzWzRdID0gJ1wwJzsKCiAgICAgICAgZm9yICggc3dhcCA9IDA7 IHN3YXAgPCA0OyBzd2FwKysgKSB7CiAgICAgICAgICAgIHNjcmF0Y2ggICAgICAgICAgICAg PSAqcGc7CiAgICAgICAgICAgIHNjcmF0Y2guc3dhcF9ieXRlcyAgPSAoc3dhcCAmIDB4MDEp ICE9IDA7CiAgICAgICAgICAgIHNjcmF0Y2guc3dhcF9zaG9ydHMgPSAoc3dhcCAmIDB4MDIp ICE9IDA7CgogICAgICAgICAgICBUVkNBUFRVUkVHZXRQaXhGbXRCeVBpeEdlb20oIGMsICZz Y3JhdGNoLCAmaiApOwogICAgICAgICAgICBpZiAoIGogPCAwICkKICAgICAgICAgICAgICAg IGNvbnRpbnVlOwogICAgICAgICAgICBpZiAoIGogPCBpICkgewogICAgICAgICAgICAgICAg cHJpbnRpdCA9IEZBTFNFOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0K ICAgICAgICAgICAgc3dhcF9jaGFyc1sgc3dhcCBdID0gIk5CV2IiWyBzd2FwIF07CiAgICAg ICAgfQogICAgICAgIGlmICggIXByaW50aXQgKQogICAgICAgICAgICBjb250aW51ZTsKCiAg ICAgICAgLyogIENhbGN1bGF0ZSBicHAgZnJvbSBtYXNrcyAgKi8KICAgICAgICBtYXNrID0g cGctPm1hc2tbMF0gfCBwZy0+bWFza1sxXSB8IHBnLT5tYXNrWzJdOwogICAgICAgIGJwcCAg PSAwOwogICAgICAgIHdoaWxlICggbWFzayAhPSAwICkgewogICAgICAgICAgICBpZiAoIG1h c2sgJiAweDAxICkKICAgICAgICAgICAgICAgIGJwcCsrOwogICAgICAgICAgICBtYXNrID4+ PSAxOwogICAgICAgIH0KCiAgICAgICAgU1VQUklOVEYoKCAKICAgICAgICAgICAgIiAgICAl MmQgICUyZCAgICUuOHgsICUuOHgsICUuOHggICVzXG4iLAogICAgICAgICAgICBicHAsIHBn LT5CcHAsIHBnLT5tYXNrWzBdLCBwZy0+bWFza1sxXSwgcGctPm1hc2tbMl0sIAogICAgICAg ICAgICBzd2FwX2NoYXJzICkpOwogICAgfQoKICAgIC8qICBQUklOVCBZVVYgRk9STUFUUyAg Ki8KICAgIFNVUFJJTlRGKCggIlxuU3VwcG9ydGVkIFlVViBDYXB0dXJlIFBpeGVsIEZvcm1h dHM6XG4iCiAgICAgICAiICAgWVVWU2l6ZSAgSFNhbXAgIFZTYW1wICBQYWNrICAgIENvbXBP cmRlciAgVC0+QiAgTC0+UiAgWVRyYW5zXG4iCiAgICAgICAiICAgLS0tLS0tLSAgLS0tLS0g IC0tLS0tICAtLS0tLS0gIC0tLS0tLS0tLSAgLS0tLSAgLS0tLSAgLS0tLS0tXG4iICkpOwoK ICAgIGZvciAoIGkgPSAwOyBpIDwgYy0+cGl4X2dlb21fbGlzdF9sZW47IGkrKyApIHsKICAg ICAgICBjaGFyICAgICAgICAgIHN3YXBfY2hhcnNbNV07CiAgICAgICAgVFZfSU5UMzIgICAg ICBqOwogICAgICAgIFRWX1BJWEVMX0dFT00gc2NyYXRjaDsKICAgICAgICBUVl9CT09MICAg ICAgIHByaW50aXQgPSBUUlVFOwoKICAgICAgICBwZyA9ICZjLT5waXhfZ2VvbV9saXN0WyBp IF07CgogICAgICAgIGlmICggcGctPnR5cGUgIT0gVFZfUElYRUxUWVBFX1lVViApCiAgICAg ICAgICAgIGNvbnRpbnVlOwogICAgICAgIAogICAgICAgIFNVUFJJTlRGKCggCiAgICAgICAg ICAiICAgICVkLCVkLCVkICAgJWQsJWQsJWQgICVkLCVkLCVkICAlLTdzICUtMTBzICAlLTVz ICUtNnMgJXNcbiIsCiAgICAgICAgICBwZy0+c2FtcF9zaXplIFswXSwgcGctPnNhbXBfc2l6 ZSBbMV0sIHBnLT5zYW1wX3NpemUgWzJdLAogICAgICAgICAgcGctPnNhbXBfaW50X2hbMF0s IHBnLT5zYW1wX2ludF9oWzFdLCBwZy0+c2FtcF9pbnRfaFsyXSwKICAgICAgICAgIHBnLT5z YW1wX2ludF92WzBdLCBwZy0+c2FtcF9pbnRfdlsxXSwgcGctPnNhbXBfaW50X3ZbMl0sCiAg ICAgICAgICAocGctPmZyYW1lX3BhY2tpbmcgPT0gVFZfRlJBTUVfUExBTkFSID8gIlBMQU5B UiIgOiAiUEFDS0VEIiksCiAgICAgICAgICBwZy0+Y29tcF9vcmRlciwgCiAgICAgICAgICAo cGctPm9yZGVyX3RfdG9fYiA/ICJZIiA6ICJOIiksIChwZy0+b3JkZXJfbF90b19yID8gIlki IDogIk4iKSwKICAgICAgICAgIChwZy0+eV90cmFucyA/ICJZIiA6ICJOIikgKSk7CiAgICB9 CgogICAgU1VQUklOVEYoKCAiXG4iICkpOwp9CgoKLyoqQEJFR0lORlVOQyoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgog ICAgUHJvdG90eXBlICA6IHN0YXRpYyB2b2lkIFRWQ0FQVFVSRUR1bXBDYXB0dXJlQ2FyZElu Zm8oCiAgICAgICAgICAgICAgICAgICAgICBUVl9DQVBUVVJFICpjICkKCiAgICBQdXJwb3Nl ICAgIDogRHVtcCB1c2VmdWwgaW5mbyBhYm91dCB0aGUgY2FwdHVyZSBjYXJkIHRoYXQgY2Fu IGJlCiAgICAgICAgICAgICAgICAgdXNlZCBieSBkZXZlbG9wZXJzIGZvciBkZWJ1Z2dpbmcu CgogICAgUHJvZ3JhbW1lciA6IDA5LU1hci05OCAgUmFuZGFsbCBIb3BwZXIKCiAgICBQYXJh bWV0ZXJzIDogYyAtIEk6IGNhcHR1cmUgZGVmaW5pdGlvbiBzdHJ1Y3QgCiAgICAgICAgICAg ICAgICAgICAgICAgICh3aXRoIG9wZW4gaGFuZGxlcyB0byB0dW5lciBhbmQgY2FwdHVyZSBk ZXZpY2VzKQoKICAgIFJldHVybnMgICAgOiBOb25lLgoKICAgIEdsb2JhbHMgICAgOiBOb25l LgoKICoqQEVOREZVTkMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKi8KCnN0YXRpYyB2b2lkIFRWQ0FQVFVSRUR1bXBD YXB0dXJlQ2FyZEluZm8oIFRWX0NBUFRVUkUgKmMgKQp7CiAgICBzdHJ1Y3QgZWVQcm9tICAg ZWVwcm9tOwogICAgdV9jaGFyICAgICAgICAgKnA7CiAgICBpbnQgICAgICAgICAgICAgeDsK ICAgIGludCAgICAgICAgICAgICBjbnQ7CiAgICBUVl9JTlQzMiAgICAgICAgZWVwcm9tX3Np emU7CiAgICBGSUxFICAgICAgICAgICAqZnA7CiAgICBjaGFyICAgICAgICAgICAgbGluZWJ1 ZlsxMjhdOwoKICAgIC8qICBHcmFiIHRoZSBwZXJ0aW5lbnQgZG1lc2cgb3V0cHV0ICAqLwog ICAgcHJpbnRmKCAiREVURUNURUQgQ0FQVFVSRSBDQVJEKFMpIFtEUklWRVIgUFJPQkVTXTpc biIgKTsKICAgIGlmICggKGZwID0gcG9wZW4oICJkbWVzZyIsICJyIiApKSA9PSBOVUxMICkK ICAgICAgICBmcHJpbnRmKCBzdGRlcnIsICIgICAgRmFpbGVkIHRvIGR1bXAgZG1lc2cgb3V0 cHV0LlxuIiApOwogICAgZWxzZSB7CiAgICAgICAgLyogIEZJWE1FOiAgUGFyc2luZyBib290 LXVwcyBpcyBCQUQuICBNYWtlIHRoZSBkcml2ZXIgcmV0dXJuIHRoaXMgICovCiAgICAgICAg LyogICAgICAgICAgdmlhIGlvY3RsLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICovCiAgICAgICAgd2hpbGUgKCAhZmVvZihmcCkgKSB7CiAgICAgICAg ICAgIGlmICggZmdldHMoIGxpbmVidWYsIHNpemVvZihsaW5lYnVmKS0xLCBmcCApID09IE5V TEwgKQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGlmICggc3RybmNtcCgg bGluZWJ1ZiwgImJrdHIiLCA0ICkgPT0gMCApIHsKICAgICAgICAgICAgICAgIHByaW50Zigg IiAgICAlcyIsIGxpbmVidWYgKTsKICAgICAgICAgICAgICAgIGlmICggZmdldHMoIGxpbmVi dWYsIHNpemVvZihsaW5lYnVmKS0xLCBmcCkgIT0gTlVMTCApCiAgICAgICAgICAgICAgICAg ICAgcHJpbnRmKCAiICAgICVzIiwgbGluZWJ1ZiApOwogICAgICAgICAgICB9CiAgICAgICAg fQogICAgICAgIHBjbG9zZShmcCk7CiAgICB9CgogICAgLyogIER1bXAgdGhlIHJlbGV2ZW50 IGJrdHIgZHJpdmVyIHN5c2N0bCB2YWx1ZXMgKGlmIHByZXNlbnQpICAqLwogICAgcHJpbnRm KCAiXG5TWVNDVEwgTUlCIFZBTFVFUzpcbiIgKTsKICAgIGlmICggKGZwID0gcG9wZW4oICJz eXNjdGwga2Vybi52ZXJzaW9uIGh3LmJ0ODQ4IiwgInIiICkpID09IE5VTEwgKQogICAgICAg IGZwcmludGYoIHN0ZGVyciwgIiAgICBGYWlsZWQgdG8gZHVtcCBzeXNjdGwgb3V0cHV0Llxu IiApOwogICAgZWxzZSB7CiAgICAgICAgd2hpbGUgKCAhZmVvZihmcCkgKSB7CiAgICAgICAg ICAgIGlmICggZmdldHMoIGxpbmVidWYsIHNpemVvZihsaW5lYnVmKS0xLCBmcCApID09IE5V TEwgKQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIHByaW50ZiggIiAgICAl cyIsIGxpbmVidWYgKTsKICAgICAgICB9CiAgICAgICAgcGNsb3NlKGZwKTsKICAgIH0KICAg IAoKICAgIC8qICBSZWFkIHRoZSBjYXJkIHNpZ25hdHVyZSAgKi8KICAgIGVlcHJvbS5vZmZz ZXQgPSAweDAxOwogICAgZWVwcm9tLmNvdW50ICA9IDEyODsKCiAgICBpZiAoIGlvY3RsKCBj LT50ZmQsIEJUODQ4X1NJR05BVFVSRSwgJmVlcHJvbSApIDwgMCApCiAgICAgICAgRE9fSU9D VExfR0VSUiggIkJUODQ4X1NJR05BVFVSRSIgKTsKICAgIGVsc2UgewogICAgICAgIHByaW50 ZiggIlxuVFVORVIgU0lHTkFUVVJFICgweCUwMnggLSAweCUwMngpOlxuIiwKICAgICAgICAg ICAgICAgIGVlcHJvbS5vZmZzZXQsCiAgICAgICAgICAgICAgICAoMiAqICgoZWVwcm9tLm9m ZnNldCAtIDEpICsgZWVwcm9tLmNvdW50KSkgLSAxICk7CiAgICAgICAgZm9yICggcCA9ICZl ZXByb20uYnl0ZXNbIDAgXSwgeCA9IDA7IHggPCAxNjsgKyt4ICkgewogICAgICAgICAgICBp ZiAoICh4ICUgMTYpID09IDAgKQogICAgICAgICAgICAgICAgcHJpbnRmKCAiJXMgICAiLCAo KHggPiAwKSA/ICJcbiIgOiAiIikgKTsKICAgICAgICAgICAgcHJpbnRmKCAiICUwMngiLCBw WyB4IF0gKTsKICAgICAgICB9CiAgICAgICAgcHJpbnRmKCAiXG4iICk7CiAgICAKICAgICAg ICBwcmludGYoICJcblRVTkVSIEkyQyBERVZJQ0VTIEZPVU5EIEFUOlxuICAgIiApOwogICAg ICAgIGNudCA9IDA7CiAgICAgICAgZm9yICggcCA9ICZlZXByb20uYnl0ZXNbIDAgXSwgeCA9 IDA7IHggPCAxMjg7ICsreCApCiAgICAgICAgICAgIGlmICggcFsgeCAvIDggXSAmICgxIDw8 ICh4ICUgOCkpICkgewogICAgICAgICAgICAgICAgcHJpbnRmKCAiJXMgMHglMDJ4IiwgKChj bnQgPiAwKSA/ICIsIiA6ICIiKSwgeCAqIDIgKTsKICAgICAgICAgICAgICAgIGNudCsrOwog ICAgICAgICAgICB9CiAgICAgICAgcHJpbnRmKCAiXG4iICk7CiAgICB9CgogICAgLyogIFJl YWQgdGhlIEVFUFJPTSAgKi8KICAgIC8qICAgIEZJWE1FOiAgVGhlcmUncyBubyB3YXkgdG8g cXVlcnkgdGhlIHNpemUgb2YgdGhlIEVFUFJPTSBmcm9tIHRoZSAgICovCiAgICAvKiAgICBh cHAsIGFuZCB0aGUgZHJpdmVyIGJhaWxzIGlmIHRoZSByZXF1ZXN0IGlzIHRvbyBiaWcuICBN b2RpZnkgdGhlICAqLwogICAgLyogICAgZHJpdmVyIHRvIHJldHVybiB0aGUgRUVQUk9NIHNp emUuICBGb3Igbm93LCB1c2UgYSBoZXVyaXN0aWMuICAgICAgKi8KICAgIGVlcHJvbS5vZmZz ZXQgPSAwOwogICAgZWVwcm9tLmNvdW50ICA9IDI1NjsKICAgIGlmICggaW9jdGwoIGMtPnRm ZCwgQlQ4NDhfUkVFUFJPTSwgJmVlcHJvbSApIDwgMCApIHsKICAgICAgICBlZXByb20uY291 bnQgPSAxMjg7CiAgICAgICAgaWYgKCBpb2N0bCggYy0+dGZkLCBCVDg0OF9SRUVQUk9NLCAm ZWVwcm9tICkgPCAwICkgewogICAgICAgICAgICBlZXByb20uY291bnQgPSAwOwogICAgICAg ICAgICBET19JT0NUTF9HRVJSKCAiQlQ4NDhfUkVFUFJPTSIgKTsKICAgICAgICB9CiAgICB9 CiAgICBwcmludGYoICJcbkNBUFRVUkUgQ0FSRCBFRVBST00gQ09OVEVOVFM6XG4iCiAgICAg ICAgICAgICIgICBSZWFkICVkIEVFUFJPTSBieXRlcyAiLCBlZXByb20uY291bnQgKTsKICAg IGlmICggZWVwcm9tLmNvdW50ID09IDAgKQogICAgICAgIHByaW50ZiggIlxuIiApOwogICAg ZWxzZSB7CiAgICAgICAgcHJpbnRmKCAiKDB4MDAgLSAweCUuMngpXG4iLCBlZXByb20uY291 bnQtMSApOwoKICAgICAgICBmb3IgKCBwID0gJmVlcHJvbS5ieXRlc1sgMCBdLCB4ID0gMDsg eCA8IGVlcHJvbS5jb3VudDsgKyt4ICkgewogICAgICAgICAgICBpZiAoICh4ICUgMTYpID09 IDAgKQogICAgICAgICAgICAgICAgcHJpbnRmKCAiJXMgICAiLCAoKHggPiAwKSA/ICJcbiIg OiAiIikgKTsKICAgICAgICAgICAgcHJpbnRmKCAiICUwMngiLCBwWyB4IF0gKTsKICAgICAg ICB9CiAgICAgICAgcHJpbnRmKCAiXG4iICk7CiAgICB9CgogICAgLyogIEl0J2QgYWxzbyBi ZSBoZWxwZnVsIHRvIGJlIGFibGUgdG8gcHJpbnQgdGhlIGJrdHIgZHJpdmVyIHZlcnNpb24g ICovCn0KCiAgICAgICAgICAgIAoKCi8qKkBCRUdJTkZVTkMqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKICAgIFByb3Rv dHlwZSAgOiB2b2lkIFRWQ0FQVFVSRUluaXQoCiAgICAgICAgICAgICAgICAgICAgICBUVl9D QVBUVVJFICpjICkKCiAgICBQdXJwb3NlICAgIDogSW5pdGlhbGl6ZSB0aGUgY2FwdHVyZSBh dHRyaWJ1dGVzLgoKICAgIFByb2dyYW1tZXIgOiAwMy1NYXItOTcgIFJhbmRhbGwgSG9wcGVy CgogICAgUGFyYW1ldGVycyA6IGMgICAgICAgLSBJL086IENhcHR1cmUgZGVmaW5pdGlvbiBz dHJ1Y3R1cmUgCgogICAgUmV0dXJucyAgICA6IE5vbmUuCgogICAgR2xvYmFscyAgICA6IEdf dHZjYXB0dXJlCgogKipARU5ERlVOQyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKdm9pZCBUVkNBUFRVUkVJbml0 KCBUVl9DQVBUVVJFICpjICkKewogICAgY2hhciBkZXZfY2FwdHVyZVs4MF0sCiAgICAgICAg IGRldl90dW5lciAgWzgwXTsKCiAgICAvKiAgQnVpbGQgbmFtZXMgb2YgY2FwdHVyZSBhbmQg dHVuZXIgZGV2aWNlcyAgKi8KICAgIHNwcmludGYoIGRldl9jYXB0dXJlLCBERVZfQlQ4NDgs IEFwcF9yZXMuZGV2aWNlX251bWJlciApOwogICAgc3ByaW50ZiggZGV2X3R1bmVyICAsIERF Vl9UVU5FUiwgQXBwX3Jlcy5kZXZpY2VfbnVtYmVyICk7CgogICAgYy0+ZmQgPSBvcGVuKCBk ZXZfY2FwdHVyZSwgT19SRE9OTFkgKTsKICAgIGlmICggYy0+ZmQgPCAwICkgewogICAgICAg IGZwcmludGYoIHN0ZGVyciwgIm9wZW4oXCIlc1wiKSBmYWlsZWQ6ICVzXG4iLCAKICAgICAg ICAgICAgICAgICBkZXZfY2FwdHVyZSwgc3RyZXJyb3IoZXJybm8pICk7CiAgICAgICAgZXhp dCgxKTsKICAgIH0KICAgIGMtPnRmZCA9IG9wZW4oIGRldl90dW5lciwgT19SRE9OTFkgKTsK ICAgIGlmICggYy0+dGZkIDwgMCApIHsKICAgICAgICBmcHJpbnRmKCBzdGRlcnIsICJvcGVu KFwiJXNcIikgZmFpbGVkOiAlc1xuIiwgCiAgICAgICAgICAgICAgICAgZGV2X3R1bmVyICAs IHN0cmVycm9yKGVycm5vKSApOwogICAgICAgIGV4aXQoMSk7CiAgICB9CgogICAgLyogIER1 bXAgZGVidWcgaW5mbyBvbiBjYXB0dXJlIGNhcmQgICovCiAgICBpZiAoIEdfZGVidWcgJiBE RUJVR19TVEFSVFVQICkKICAgICAgICBUVkNBUFRVUkVEdW1wQ2FwdHVyZUNhcmRJbmZvKCBj ICk7CgogICAgLyogIE11dGUgdGhlIGF1ZGlvIHVudGlsIHN1Y2ggdGltZSBhcyB3ZSdyZSBy ZWFkeSB0byBkaXNwbGF5ICAqLwogICAgVFZDQVBUVVJFU2V0QXVkaW9NdXRlKCBjLCBUUlVF ICk7CgogICAgLyogIEp1c3QgbW1hcCB0aGUgYmlnZ2VzdCBidWZmZXIgd2UnbGwgbmVlZCBh bmQgYmUgZG9uZSB3aXRoIGl0LiAgKi8KICAgIC8qICAgIChCdWZmZXIgdXNlZCBmb3Igbm9u LWRpcmVjdHZpZGVvIGNhcHR1cmVzKSAgICAgICAgICAgICAgICAgICovCiAgICBjLT5kcnZf YnVmID0gKFRWX1VJTlQ4ICopIG1tYXAoIChjYWRkcl90KTAsIE1BWF9NTUFQX0JVRl9TSVpF LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9UX1JFQUQsIE1BUF9T SEFSRUQsIGMtPmZkLCAob2ZmX3QpMCApOwogICAgaWYgKCBjLT5kcnZfYnVmID09IChUVl9V SU5UOCAqKSAtMSApIHsKICAgICAgICBmcHJpbnRmKCBzdGRlcnIsICJtbWFwIG9mIGRyaXZl ciBidWZmZXIgZmFpbGVkOiAlc1xuIiwgCiAgICAgICAgICAgICAgICAgc3RyZXJyb3IoZXJy bm8pICk7CiAgICAgICAgZXhpdCgxKTsKICAgIH0KCiAgICBjLT5pbnB1dF9mb3JtYXQgICAg PSBUVl9JTlBVVF9OVFNDTTsKICAgIGMtPmlucHV0X2RldiAgICAgICA9IE1FVEVPUl9JTlBV VF9ERVYwOwogICAgYy0+YXVkaW9faW5wdXRfZGV2ID0gVFZfQVVESU9fSU5QVVRfQVVUTzsK CiAgICBjLT5icHBfZm9ybWF0ICAgICAgPSBNRVRFT1JfR0VPX1JHQjE2OwogICAgYy0+Y2Fw X21vZGUgICAgICAgID0gVFZfQ0FQVFVSRV9DT05USU5VT1VTOwogICAgYy0+eGZlcl9tb2Rl ICAgICAgID0gVFZfVFJBTlNGRVJfRElSRUNUOwoKICAgIFRWQ0FQVFVSRVF1ZXJ5UGl4ZWxG b3JtYXRzKCBjLCAmYy0+cGl4X2dlb21fbGlzdCwgJmMtPnBpeF9nZW9tX2xpc3RfbGVuKTsK ICAgIGlmICggYy0+cGl4X2dlb21fbGlzdF9sZW4gPT0gMCApIHsKICAgICAgICBmcHJpbnRm KCBzdGRlcnIsICJjYXB0dXJlIGRldmljZSBzdXBwb3J0cyAwIHBpeGVsIGZvcm1hdHNcbiIg KTsKICAgICAgICBleGl0KDEpOwogICAgfQogICAgYy0+cGl4X2dlb21faWR4ID0gMDsKCiAg ICAvKiAgRklYTUU6IFRoaXMgaXMgYSBoYWNrIC0tIGhlcmUgYmVjYXVzZSB3ZSBjYW4ndCBx dWVyeSB3aGV0aGVyIHRoZSAgKi8KICAgIC8qICAgIHRoZSB0dW5lciBpcyBzZXQgdG8gYSBz cGVjaWZpYyBjaGFubmVsIG51bWJlciBvciB3aGV0aGVyIGFuICAgICAqLwogICAgLyogICAg b2ZmLWNoYW5uZWwgZnJlcXVlbmN5IG92ZXJyaWRlIGlzIGluLXBsYWNlLiAgICAgICAgICAg ICAgICAgICAgICovCiAgICBjLT50dW5lcl9jaGFuX2FjdGl2ZSA9IFRSVUU7CgogICAgVFZD QVBUVVJFUHJpbnRQaXhlbEZvcm1hdHMoIGMgKTsKCiAgICBjLT5maWVsZF90YXJnWzBdID0g VFZfRklFTERfRElTUExBWTsKICAgIGMtPmZpZWxkX3RhcmdbMV0gPSBUVl9GSUVMRF9ESVNQ TEFZOwogICAgYy0+aHVlICAgICAgICAgICA9ICAgMC4wOyAvKiAlICovCiAgICBjLT5icmln aHRuZXNzICAgID0gKzIwLjA7IC8qICUgKi8KICAgIGMtPmNvbnRyYXN0ICAgICAgPSAgNzAu MDsgLyogJSAqLwogICAgYy0+c2F0X3UgICAgICAgICA9ICAxMDAuMDsgLyogJSAqLwogICAg Yy0+c2F0X3YgICAgICAgICA9ICAxMDAuMDsgLyogJSAqLwogICAgYy0+YWRkciAgICAgICAg ICA9IE5VTEw7CiAgICAvKiAgZ2VvbSAtLSBzZWUgYmVsb3cgKi8KCiAgICBjLT5mcmFtZV9k b25lX2NiICAgID0gTlVMTDsKICAgIGMtPmZyYW1lX2NiX2VuYWJsZWQgPSBGQUxTRTsKCiAg ICAvKiAgRklYTUU6IFRoZXNlIGJlbG9uZyBpbiB0aGUgZHJpdmVyL2RyaXZlciBpbmNsdWRl IGZpbGUgICovCiAgICBjLT53aWR0aF9taW4gID0gMjsKICAgIGMtPndpZHRoX3JlcyAgPSAy OwogICAgYy0+aGVpZ2h0X21pbiA9IDI7CiAgICBjLT5oZWlnaHRfcmVzID0gMjsKICAgIHN3 aXRjaCAoIGMtPmlucHV0X2Zvcm1hdCApIHsKICAgICAgICBjYXNlIFRWX0lOUFVUX05UU0NN IDoKICAgICAgICBjYXNlIFRWX0lOUFVUX05UU0NKIDoKICAgICAgICBjYXNlIFRWX0lOUFVU X1BBTE0gIDoKICAgICAgICAgICAgYy0+d2lkdGhfbWF4ICA9IE5UU0NfRElNX1g7CiAgICAg ICAgICAgIGMtPmhlaWdodF9tYXggPSBOVFNDX0RJTV9ZOwogICAgICAgICAgICBjLT5mcHNf bWF4ICAgID0gTlRTQ19GUFM7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgVFZf SU5QVVRfUEFMQkRHSEkgOgogICAgICAgIGNhc2UgVFZfSU5QVVRfUEFMTiAgICAgOgogICAg ICAgIGNhc2UgVFZfSU5QVVRfU0VDQU0gICAgOgogICAgICAgIGNhc2UgVFZfSU5QVVRfUEFM TkNPTUIgOgogICAgICAgICAgICBjLT53aWR0aF9tYXggID0gUEFMX0RJTV9YOwogICAgICAg ICAgICBjLT5oZWlnaHRfbWF4ID0gUEFMX0RJTV9ZOwogICAgICAgICAgICBjLT5mcHNfbWF4 ICAgID0gUEFMX0ZQUzsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgZGVmYXVsdCAgICAg ICAgICAgICAgICA6CiAgICAgICAgY2FzZSBUVl9JTlBVVF9BVVRPICAgICA6CiAgICAgICAg ICAgIGZwcmludGYoIHN0ZGVyciwgCiAgICAgICAgICAgICAiVFZDQVBUVVJFSW5pdDogVW5z dXBwb3J0ZWQgaW5wdXQgZm9ybWF0ICVkXG4iLCBjLT5pbnB1dF9mb3JtYXQgKTsKICAgICAg ICAgICAgZXhpdCgxKTsKICAgIH0KICAgIGMtPmZwcyAgICAgICAgICAgPSBjLT5mcHNfbWF4 OwogICAgCiAgICBjLT5nZW9tLnggPSBjLT5nZW9tLnkgPSAwOyAvKiAgVW51c2VkICAqLwog ICAgYy0+Z2VvbS53ID0gYy0+d2lkdGhfbWF4IDsKICAgIGMtPmdlb20uaCA9IGMtPmhlaWdo dF9tYXg7CgogICAgYy0+Y29udGluX29uICAgICA9IEZhbHNlOwoKICAgIHNpZ25hbCggU0lH VVNSMSwgVFZDQVBUVVJFRnJhbWVEb25lU2lnSGRsciApOwogICAgYXRleGl0KCBUVkNBUFRV UkVEZXN0cm95ICk7Cn0KCgovKipAQkVHSU5GVU5DKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCiAgICBQcm90b3R5cGUg IDogdm9pZCBUVkNBUFRVUkVTZXRDYXB0dXJlTW9kZSgKICAgIFByb3RvdHlwZSAgOiB2b2lk IFRWQ0FQVFVSRVNldFRyYW5zZmVyTW9kZSgKICAgIFByb3RvdHlwZSAgOiB2b2lkIFRWQ0FQ VFVSRVNldFJlZ2lvbkdlb20oCiAgICBQcm90b3R5cGUgIDogdm9pZCBUVkNBUFRVUkVTZXRQ aXhlbEdlb20oCgogICAgUHVycG9zZSAgICA6IFJvdXRpbmVzIHdoaWNoIHNldCB0aGUgY29y ZSBjYXB0dXJlIHBhcmFtZXRlcnMuCgogICAgICAgICAgICAgICAgIEl0IHdvdWxkIGJlIGdv b2QgcG9saWN5IHRvIHNldCBhbGwgdGhlc2UgYmVmb3JlIGV2ZXJ5CiAgICAgICAgICAgICAg ICAgY2FwdHVyZS4KCiAgICBQcm9ncmFtbWVyIDogMDYtSnVuLTk3ICBSYW5kYWxsIEhvcHBl cgoKICAgIFBhcmFtZXRlcnMgOiBjICAgICAgICAgLSBJOiBjYXB0dXJlIGRlZmluaXRpb24K ICAgICAgICAgICAgICAgICBjYXBfbW9kZSAgLSBJOiBuZXcgY2FwdHVyZS90cmFuc2ZlciBt b2RlcyAoc2luZ2xlL2NvbnRpbikKICAgICAgICAgICAgICAgICB4ZmVyX21vZGUgLSBJOiBp bWFnZXMgKGRyaXZlciBidWYpIG9yIGRpcmVjdCB2aWRlbwogICAgICAgICAgICAgICAgIHJl Z19nZW9tICAtIEk6IGltYWdlIHJlcyAoJiBvcmlnaW4sIGZvciBkaXJlY3QgdmlkZW8pCiAg ICAgICAgICAgICAgICAgcGl4X2dlb20gIC0gSTogY2FwdHVyZWQgcGl4ZWwgZ2VvbWV0cnkg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGltYWdlcyBvbmx5OyBpZ25vcmVk IGZvciB4ZmVyX21vZGUgPSBESVJFQ1QpCgogICAgUmV0dXJucyAgICA6IE5vbmUuCgogICAg R2xvYmFscyAgICA6IE5vbmUuCgogKipARU5ERlVOQyoqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKdm9pZCBUVkNB UFRVUkVTZXRDYXB0dXJlTW9kZSggCiAgICAgICAgIFRWX0NBUFRVUkUgICAgICAqYywKICAg ICAgICAgVFZfQ0FQVFVSRV9NT0RFICBjYXBfbW9kZSApCnsKICAgIGlmICggYy0+Y29udGlu X29uID09IFRSVUUgKSB7CiAgICAgICAgZnByaW50Ziggc3RkZXJyLCAiU2V0Q2FwdHVyZU1v ZGUgY2FsbGVkIHdoZW4gY29udGluIHJ1bm5pbmdcbiIgKTsKICAgICAgICByZXR1cm47CiAg ICB9CiAgICBjLT5jYXBfbW9kZSA9IGNhcF9tb2RlOwp9CgoKdm9pZCBUVkNBUFRVUkVTZXRU cmFuc2Zlck1vZGUoIAogICAgICAgICBUVl9DQVBUVVJFICAgICAgICpjLAogICAgICAgICBU Vl9UUkFOU0ZFUl9NT0RFICB4ZmVyX21vZGUgKQp7CiAgICBpZiAoIGMtPmNvbnRpbl9vbiA9 PSBUUlVFICkgewogICAgICAgIGZwcmludGYoIHN0ZGVyciwgIlNldFRyYW5zZmVyTW9kZSBj YWxsZWQgd2hlbiBjb250aW4gcnVubmluZ1xuIiApOwogICAgICAgIHJldHVybjsKICAgIH0K ICAgIGMtPnhmZXJfbW9kZSA9IHhmZXJfbW9kZTsKfQoKCnZvaWQgVFZDQVBUVVJFU2V0UmVn aW9uR2VvbSggCiAgICAgICAgIFRWX0NBUFRVUkUgICAgICAqYywKICAgICAgICAgVFZfR0VP TSAgICAgICAgICpyZWdfZ2VvbSApCnsKICAgIGlmICggYy0+Y29udGluX29uID09IFRSVUUg KSB7CiAgICAgICAgZnByaW50Ziggc3RkZXJyLCAiU2V0UmVnaW9uR2VvbSBjYWxsZWQgd2hl biBjb250aW4gcnVubmluZ1xuIiApOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGMtPmdl b20gPSAqcmVnX2dlb207Cn0KCgp2b2lkIFRWQ0FQVFVSRVNldFBpeGVsR2VvbSggCiAgICAg ICAgIFRWX0NBUFRVUkUgICAgICAqYywKICAgICAgICAgVFZfUElYRUxfR0VPTSAgICpwaXhf Z2VvbSApCnsKICAgIFRWX0lOVDMyIGlkeDsKCiAgICBpZiAoIGMtPmNvbnRpbl9vbiA9PSBU UlVFICkgewogICAgICAgIGZwcmludGYoIHN0ZGVyciwgIlNldFBpeGVsR2VvbSBjYWxsZWQg d2hlbiBjb250aW4gcnVubmluZ1xuIiApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBU VkNBUFRVUkVHZXRQaXhGbXRCeURyaXZlckhhbmRsZSggYywgcGl4X2dlb20tPmluZGV4LCAm aWR4ICk7CiAgICBpZiAoKCBpZHggPCAwICkgfHwgKCBpZHggPj0gYy0+cGl4X2dlb21fbGlz dF9sZW4gKSkgewogICAgICAgIGZwcmludGYoIHN0ZGVyciwgIlRWQ0FQVFVSRUNvbmZpZ3Vy ZTogQmFkIHBpeGVsIGZvcm1hdCBpbmRleFxuIiApOwogICAgICAgIGV4aXQoMSk7CiAgICB9 CiAgICBjLT5waXhfZ2VvbV9pZHggID0gaWR4Owp9CgovKiAgVFZDQVBUVVJFVmFsaWRSZWdp b25HZW9tICAtICBWYWxpZGF0ZXMgY2FwdHVyZSByZXNvbHV0aW9uICAqLwpUVl9CT09MIFRW Q0FQVFVSRVZhbGlkUmVnaW9uR2VvbSgKICAgICAgICAgICAgVFZfQ0FQVFVSRSAgICAgICpj LAogICAgICAgICAgICBUVl9HRU9NICAgICAgICAgKnJlZ19nZW9tICkKewogICAgVFZfSU5U MzIgdywgaDsKCiAgICB3ID0gcmVnX2dlb20tPncgLyBjLT53aWR0aF9yZXMgICogYy0+d2lk dGhfcmVzOwogICAgaCA9IHJlZ19nZW9tLT5oIC8gYy0+aGVpZ2h0X3JlcyAqIGMtPmhlaWdo dF9yZXM7CgogICAgdyA9IE1BWCggYy0+d2lkdGhfbWluICwgTUlOKCBjLT53aWR0aF9tYXgg LCB3ICkgKTsKICAgIGggPSBNQVgoIGMtPmhlaWdodF9taW4sIE1JTiggYy0+aGVpZ2h0X21h eCwgaCApICk7CgogICAgcmV0dXJuICgoIHcgPT0gcmVnX2dlb20tPncgKSB8fCAoIGggPT0g cmVnX2dlb20tPmggKSk7Cn0KCgoKLyoqQEJFR0lORlVOQyoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgogICAgUHJvdG90 eXBlICA6IFRWX0JPT0wgVFZDQVBUVVJFQ29uZmlndXJlKAogICAgICAgICAgICAgICAgICAg ICAgVFZfQ0FQVFVSRSAgICAgICAqYywKICAgICAgICAgICAgICAgICAgICAgIGNoYXIgICAg ICAgICAgICAqKmZhaWxfcmVhc29uICkKCiAgICBQdXJwb3NlICAgIDogTG9va3MgYXQgdGhl IHJlcXVlc3RlZCBjYXB0dXJlIHBhcmFtZXRlcnMgYW5kIGRldGVybWluZXMKICAgICAgICAg ICAgICAgICB3aGV0aGVyIGNhcHR1cmUgY2FuIGJlIHN0YXJ0ZWQgdXNpbmcgdGhlIGN1cnJl bnQgc2V0dGluZ3MuCiAgICAgICAgICAgICAgICAgCiAgICBQcm9ncmFtbWVyIDogMDMtTWFy LTk3ICBSYW5kYWxsIEhvcHBlcgoKICAgIFBhcmFtZXRlcnMgOiBjICAgICAgICAgICAtIEk6 IGNhcHR1cmUgZGVmaW5pdGlvbgogICAgICAgICAgICAgICAgIGZhaWxfcmVhc29uIC0gTzog aWYgY29uZmlndXJlIGZhaWxlZCwgcmVhc29uIHdoeSAoc3RyaW5nKQoKICAgIFJldHVybnMg ICAgOiBUID0gUGFyYW1zIE9LIC0gY2FwdHVyZSBhd2F5OyBGID0gTm9wZSwgdHdlYWsgc29t ZXRoaW4nCgogICAgR2xvYmFscyAgICA6IE5vbmUuCgogKipARU5ERlVOQyoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq LwoKVFZfQk9PTCBUVkNBUFRVUkVDb25maWd1cmUoIFRWX0NBUFRVUkUgICAgICAgKmMsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAgICAgICAgICAgICoqZmFpbF9yZWFz b24gKQp7CiAgICBzdGF0aWMgY2hhciBTX2Vycl9tc2dbIDEyOCBdOwoKICAgIFRWX0JPT0wg ICAgICAgICAgIG9rID0gRkFMU0U7CiAgICBUVl9YU0NSRUVOICAgICAgICp4ID0gJkdfZ2xv Yi54OwogICAgVFZfRElTUExBWSAgICAgICAqZCA9ICZHX2dsb2IuZGlzcGxheTsKICAgIFRW X0dFT00gICAgICAgICAgIGc7CiAgICBUVl9VSU5UMzIgICAgICAgICBhZGRyOwogICAgVFZf SU5UMzIgICAgICAgICAgQnBwLAogICAgICAgICAgICAgICAgICAgICAgaWR4OwoKICAgIGlm ICggYy0+Y29udGluX29uID09IFRSVUUgKSB7CiAgICAgICAgc3RyY3B5KCBTX2Vycl9tc2cs ICJDb250aW51b3VzIGlzIHJ1bm5pbmciICk7CiAgICAgICAgZ290byBSRVRVUk47CiAgICB9 CgogICAgaWYgKCBjLT5mcmFtZV9jYl9lbmFibGVkICYmICFjLT5mcmFtZV9kb25lX2NiICkg ewogICAgICAgIHN0cmNweSggU19lcnJfbXNnLCAiRnJhbWUgZG9uZSBjYWxsYmFjayBvbiwg YnV0IG5vIGZyYW1lIGhhbmRsZXIiICk7CiAgICAgICAgZ290byBSRVRVUk47CiAgICB9Cgog ICAgaWYgKCggYy0+eGZlcl9tb2RlID09IFRWX1RSQU5TRkVSX0RJUkVDVCApICYmICggZC0+ d2luID09IE5vbmUgKSkgewogICAgICAgIHN0cmNweSggU19lcnJfbXNnLCAiTm8gWCBXaW5k b3cgc2V0IGZvciB2aWRlbyIgKTsKICAgICAgICBnb3RvIFJFVFVSTjsKICAgIH0KCiAgICBp ZiAoIGMtPnhmZXJfbW9kZSA9PSBUVl9UUkFOU0ZFUl9ESVJFQ1QgKQogICAgICAgIGlmICgg ISggeC0+dmlzdWFsX21vZGVzWyB4LT5hY3RpdmVfdmlzdWFsIF0gJiBUVl9UUkFOU0ZFUl9E SVJFQ1QgKSkgewogICAgICAgICAgICBzdHJjcHkoIFNfZXJyX21zZywgIkFjdGl2ZSB2aXN1 YWwgZG9lcyBub3Qgc3VwcG9ydCBkaXJlY3QgdmlkZW8iKTsKICAgICAgICAgICAgZ290byBS RVRVUk47CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYgKCAhZC0+ZW5hYmxlZCApIHsKICAg ICAgICAgICAgc3RyY3B5KCBTX2Vycl9tc2csICJEaXJlY3QgdHJhbnNmZXIgb25seSBzdXBw b3J0ZWQgZm9yIHZpZGVvIiApOwogICAgICAgICAgICBnb3RvIFJFVFVSTjsKICAgICAgICB9 CgogICAgLyogIEdldCBjYXB0dXJlIGdlb21ldHJ5ICAqLwogICAgaWYgKCBjLT54ZmVyX21v ZGUgPT0gVFZfVFJBTlNGRVJfRElSRUNUICkgewogICAgICAgIFRWU0NSRUVOVXBkYXRlV2lu R2VvbWV0cnkoKTsKICAgICAgICBUVlNDUkVFTkdldFZpZGVvV2luR2VvbSggJmcgKTsKICAg ICAgICBnLncgPSBnLncgLyBjLT53aWR0aF9yZXMgICogYy0+d2lkdGhfcmVzOwogICAgICAg IGcuaCA9IGcuaCAvIGMtPmhlaWdodF9yZXMgKiBjLT5oZWlnaHRfcmVzOwogICAgfQogICAg ZWxzZQogICAgICAgIGcgPSBjLT5nZW9tOwogICAgCiAgICAvKiAgVmVyaWZ5IHJlcyBsaW1p dHMgYW5kIHByZWNpc2lvbiAoYWxsIG1vZGVzKSAgKi8KICAgIGlmICgoIGcudyAhPSBnLncg LyBjLT53aWR0aF9yZXMgICogYy0+d2lkdGhfcmVzICApIHx8CiAgICAgICAgKCBnLmggIT0g Zy5oIC8gYy0+aGVpZ2h0X3JlcyAqIGMtPmhlaWdodF9yZXMgKSkgewogICAgICAgIHNwcmlu dGYoIFNfZXJyX21zZywgIkNhcHR1cmUgZ2VvbWV0cnkgbXVzdCBiZSBhIG11bHRpcGxlIG9m ICVkeCVkIiwKICAgICAgICAgICAgICAgICBjLT53aWR0aF9yZXMsIGMtPmhlaWdodF9yZXMg KTsKICAgICAgICBnb3RvIFJFVFVSTjsKICAgIH0KCiAgICBpZiAoKCBnLncgPCBjLT53aWR0 aF9taW4gICkgfHwgKCBnLncgPiBjLT53aWR0aF9tYXggICApIHx8CiAgICAgICAgKCBnLmgg PCBjLT5oZWlnaHRfbWluICkgfHwgKCBnLmggPiBjLT5oZWlnaHRfbWF4ICApKSB7CiAgICAg ICAgc3RyY3B5KCBTX2Vycl9tc2csIAogICAgICAgICAgICAgICAgIlJlc29sdXRpb24gYmV5 b25kIGhhcmR3YXJlIG9yIGRyaXZlciBjYXBhYmlsaXRpZXMiICk7CiAgICAgICAgZ290byBS RVRVUk47CiAgICB9CgogICAgLyogIERpcmVjdC12aWRlbyBtb2RlIHNwZWNpZmljIGNoZWNr cyAgKi8KICAgIGlmICggYy0+eGZlcl9tb2RlID09IFRWX1RSQU5TRkVSX0RJUkVDVCApIHsK CiAgICAgICAgaWYgKCAhKHgtPnZpc3VhbF9tb2Rlc1sgeC0+YWN0aXZlX3Zpc3VhbCBdICYg VFZfVFJBTlNGRVJfRElSRUNUKSApIHsKICAgICAgICAgICAgc3RyY3B5KCBTX2Vycl9tc2cs IAogICAgICAgICAgICAgICAgICAgICJBY3RpdmUgWCBWaXN1YWwgZG9lcyBub3Qgc3VwcG9y dCBkaXJlY3QgdmlkZW8iICk7CiAgICAgICAgICAgIGdvdG8gUkVUVVJOOwogICAgICAgIH0K ICAgICAgICBpZiAoIHgtPnZpc3VhbFsgeC0+YWN0aXZlX3Zpc3VhbCBdLnZpc3VhbGlkICE9 IAogICAgICAgICAgICAgICB4LT5mYl92aXN1YWwtPnZpc3VhbGlkICkgewogICAgICAgICAg ICBzdHJjcHkoIFNfZXJyX21zZywgCiAgICAgICAgICAgICAgICAgICAgIkFjdGl2ZSBYIFZp c3VhbCBpcyBub3QgdGhlIGRlZmF1bHQgdmlzdWFsIiApOwogICAgICAgICAgICBnb3RvIFJF VFVSTjsKICAgICAgICB9CiAgICAgICAgaWYgKCBkLT53aW4gPT0gTm9uZSApIHsKICAgICAg ICAgICAgc3RyY3B5KCBTX2Vycl9tc2csIAogICAgICAgICAgICAgICAgICAgICJEaXJlY3Qg dmlkZW8gYXR0ZW1wdGVkIHdpdGggbm8gd2luZG93IHNldCIgKTsKICAgICAgICAgICAgZ290 byBSRVRVUk47CiAgICAgICAgfQoKICAgICAgICAvKiAgTWFrZSBzdXJlIGNhcHR1cmUgcmVn aW9uIGxpZXMgZW50aXJlbHkgd2l0aGluIHZpZGVvIG1lbW9yeSAgKi8KICAgICAgICAvKiAg ICAod2UgZG9uJ3QgaGF2ZSBjb21wbGV4IGNhcHR1cmUgY2xpcHBpbmcgc3VwcG9ydCBpbiB0 aGUgICAgKi8KICAgICAgICAvKiAgICBkcml2ZXIgeWV0LCBidXQgd2hlbiB3ZSBkbywgdXBk YXRlIHRoaXMpLiAgICAgICAgICAgICAgICAgKi8KCiAgICAgICAgWFVUSUxHZXRWaXN1YWxC cHAoIFRWRElTUExBWSwgeC0+ZmJfdmlzdWFsLCBOVUxMLCAmQnBwICk7CiAgICAgICAgYWRk ciA9IHgtPmJhc2VfYWRkciArIChnLnkgKiB4LT5waXRjaCArIGcueCkgKiBCcHA7CgogICAg ICAgIGlmICgoIGcueCA8IDAgKSB8fCAoIGcueSA8IDAgKSB8fAogICAgICAgICAgICAoICgg Zy54K2cudy0xICkgPj0gRGlzcGxheVdpZHRoICggVFZESVNQTEFZLCBUVlNDUkVFTiApICkg fHwKICAgICAgICAgICAgKCAoIGcueStnLmgtMSApID49IERpc3BsYXlIZWlnaHQoIFRWRElT UExBWSwgVFZTQ1JFRU4gKSApKSB7CiAgICAgICAgICAgIHN0cmNweSggU19lcnJfbXNnLCAK ICAgICAgICAgICAgICAgICAgICAiRGlyZWN0IHZpZGVvIHJlZ2lvbiBvdXRzaWRlIGJvdW5k cyBvZiBkaXNwbGF5IiApOwogICAgICAgICAgICBnb3RvIFJFVFVSTjsKICAgICAgICB9CiAg ICAgICAgZWxzZSBpZiAoIGFkZHIgKyAoIChnLmgtMSkgKiB4LT5waXRjaCArIGcudyApICog QnBwCiAgICAgICAgICAgICAgICAgICAgICAgPj0geC0+YmFzZV9hZGRyICsgeC0+YmFua19z aXplICkgewogICAgICAgICAgICBzdHJjcHkoIFNfZXJyX21zZywgCiAgICAgICAgICAgICAg ICAgICAgIkRpcmVjdCB2aWRlbyByZWdpb24gb3V0c2lkZSBib3VuZHMgb2YgZGlzcGxheSIg KTsKICAgICAgICAgICAgZ290byBSRVRVUk47CiAgICAgICAgfQogICAgfQoKICAgIG9rID0g VFJVRTsKCiBSRVRVUk46CiAgICBpZiAoIGZhaWxfcmVhc29uICE9IE5VTEwgKQogICAgICAg ICpmYWlsX3JlYXNvbiA9IG9rID8gTlVMTCA6IFNfZXJyX21zZzsKICAgIHJldHVybiBvazsK fQoKLyoqQEJFR0lORlVOQyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqCgogICAgUHJvdG90eXBlICA6IHZvaWQgVFZDQVBU VVJFU3RhcnQoCiAgICAgICAgICAgICAgICAgICAgICBUVl9DQVBUVVJFICpjICkKCiAgICBQ dXJwb3NlICAgIDogSW5pdGlhdGVzIGNhcHR1cmUgdXNpbmcgdGhlIG1vZGUvZ2VvbS9ldGMu IHBhcmFtZXRlcnMKICAgICAgICAgICAgICAgICBzZXQgdXAgcHJldmlvdXNseS4gIAogICAg ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIE5vdGU6ICBBTFdBWVMgY2FsbCBUVkNB UFRVUkVTdGFydCBiZWZvcmUgY2FsbGluZyB0aGlzCiAgICAgICAgICAgICAgICAgZnVuY3Rp b24uCgogICAgUHJvZ3JhbW1lciA6IDA4LU1hci05NyAgUmFuZGFsbCBIb3BwZXIKCiAgICBQ YXJhbWV0ZXJzIDogYyAtIEk6IGNhcHR1cmUgc3RhdGUgc3RydWN0CgogICAgUmV0dXJucyAg ICA6IE5vbmUuCgogICAgR2xvYmFscyAgICA6IE5vbmUuCgogKipARU5ERlVOQyoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqLwoKdm9pZCBUVkNBUFRVUkVTdGFydCggVFZfQ0FQVFVSRSAqYyApCnsKICAgIHN0YXRp YyBUVl9CT09MIFNfZG9uZV9hX3NpbmdsZSA9IEZhbHNlOwoKICAgIFRWX0RJU1BMQVkgICAg ICAgICAgKmQgPSAmR19nbG9iLmRpc3BsYXk7CiAgICBUVl9YU0NSRUVOICAgICAgICAgICp4 ID0gJkdfZ2xvYi54OwogICAgVFZfSU5UMzIgICAgICAgICAgICAgbGFyZzsKICAgIHN0cnVj dCBtZXRlb3JfdmlkZW8gIHZpZGVvOwogICAgc3RydWN0IG1ldGVvcl9nZW9tZXQgZ2VvbTsK ICAgIFRWX0dFT00gICAgICAgICAgICAgIGc7CiAgICBUVl9QSVhFTF9HRU9NICAgICAgICBw aXhfZ2VvbTsKICAgIFRWX0lOVDMyICAgICAgICAgICAgIEJwcCwKICAgICAgICAgICAgICAg ICAgICAgICAgIGlkeDsKICAgIGNoYXIgICAgICAgICAgICAgICAgKmNmZ19mYWlsX21zZzsK ICAgIFRWX0JPT0wgICAgICAgICAgICAgIGF1ZGlvX211dGUsCiAgICAgICAgICAgICAgICAg ICAgICAgICBmbHVzaF9idWY7CgogICAgRFJWUFJJTlRGKCggIlx0Q0FQVFVSRSBTdGFydCAl c1xuIiwKICAgICAgICAgICAgICAgYy0+Y2FwX21vZGUgPT0gVFZfQ0FQVFVSRV9DT05USU5V T1VTID8gIkNvbnRpbnVvdXMiOiJTaW5nbGUiKSk7CgogICAgLyogIEZJWE1FOiAgQWxzbyBs b2NrIG91dCBzdGFydCB3aGVuIHNpbmdsZSBjYXB0dXJlcyBpbiBwcm9ncmVzcyAgKi8KICAg IGlmICggYy0+Y29udGluX29uICkgewogICAgICAgIGZwcmludGYoIHN0ZGVyciwgIlRWQ0FQ VFVSRVN0YXJ0IHdoZW4gYWxyZWFkeSBydW5uaW5nLi4uaWdub3JlZFxuIiApOwogICAgICAg IHJldHVybjsKICAgIH0KICAgIAogICAgLyogIERvdWJsZS1jaGVjayBwYXJhbWV0ZXJzICh0 aGUgY2FsbGVyIHNob3VsZCBoYXZlIGFscmVhZHkgZG9uZSB0aGlzKSAgKi8KICAgIGlmICgg IVRWQ0FQVFVSRUNvbmZpZ3VyZSggYywgJmNmZ19mYWlsX21zZyApICkgewogICAgICAgIGZw cmludGYoIHN0ZGVyciwgCiAgICAgICAgICAgICAgICAgIlRWQ0FQVFVSRUNvbmZpZ3VyZSgp IGluIFRWQ0FQVFVSRVN0YXJ0KCkgZmFpbGVkOiAlc1xuIiwKICAgICAgICAgICAgICAgICBj ZmdfZmFpbF9tc2cgKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICAKICAgIC8qLS0gU2V0 IGRlc3RpbmF0aW9uIGF0dHJpYnV0ZXMgJiBnZW9tZXRyeSAtLSovCiAgICBnID0gYy0+Z2Vv bTsKCiAgICBnZW9tLmNvbHVtbnMgPSBnLnc7CiAgICBnZW9tLnJvd3MgICAgPSBnLmg7CiAg ICBnZW9tLmZyYW1lcyAgPSAxOwogICAgZmx1c2hfYnVmICAgID0gRkFMU0U7CgogICAgaWYg KCBjLT54ZmVyX21vZGUgPT0gVFZfVFJBTlNGRVJfRElSRUNUICkgewogICAgICAgIFRWX0JP T0wgIHN3YXBfYiwgCiAgICAgICAgICAgICAgICAgc3dhcF9zOwoKICAgICAgICBYVVRJTEdl dFZpc3VhbEJwcCggVFZESVNQTEFZLCB4LT5mYl92aXN1YWwsIE5VTEwsICZCcHAgKTsKCiAg ICAgICAgdmlkZW8uYWRkciAgICAgID0geC0+YmFzZV9hZGRyICsgKGcueSAqIHgtPnBpdGNo ICsgZy54KSAqIEJwcDsKICAgICAgICAvKnByaW50ZiggIlxuXHRiYXNlICsgKHkgKiBwaXRj aCArIHgpICogQnBwID0gIgogICAgICAgICAgICAgICAgICAiMHgleCArICglZCAqICVkICsg JWQpICogJWRcbiIsCiAgICAgICAgICAgICAgICAgIHgtPmJhc2VfYWRkciwgZy55LCB4LT5w aXRjaCwgZy54LCBCcHAgKTsqLwogICAgICAgIHZpZGVvLndpZHRoICAgICA9IHgtPnBpdGNo ICogQnBwOwogICAgICAgIHZpZGVvLmJhbmtzaXplICA9IHgtPmJhbmtfc2l6ZTsKICAgICAg ICB2aWRlby5yYW1zaXplICAgPSB4LT5yYW1fc2l6ZSAvIDEwMjQ7CgogICAgICAgIG1lbXNl dCggJnBpeF9nZW9tLCAnXDAnLCBzaXplb2YoIHBpeF9nZW9tICkgKTsKICAgICAgICBwaXhf Z2VvbS50eXBlICAgICA9IFRWX1BJWEVMVFlQRV9SR0I7CiAgICAgICAgcGl4X2dlb20uQnBw ICAgICAgPSBCcHA7CiAgICAgICAgcGl4X2dlb20ubWFza1swXSAgPSB4LT5mYl92aXN1YWwt PnJlZF9tYXNrOwogICAgICAgIHBpeF9nZW9tLm1hc2tbMV0gID0geC0+ZmJfdmlzdWFsLT5n cmVlbl9tYXNrOwogICAgICAgIHBpeF9nZW9tLm1hc2tbMl0gID0geC0+ZmJfdmlzdWFsLT5i bHVlX21hc2s7CgogICAgICAgIFhVVElMR2V0VmlzdWFsU3dhcHMoIFRWRElTUExBWSwgeC0+ ZmJfdmlzdWFsLCAmc3dhcF9iLCAmc3dhcF9zICk7CiAgICAgICAgcGl4X2dlb20uc3dhcF9i eXRlcyAgPSBzd2FwX2I7CiAgICAgICAgcGl4X2dlb20uc3dhcF9zaG9ydHMgPSBzd2FwX3M7 CgogICAgICAgIFRWQ0FQVFVSRUdldFBpeEZtdEJ5UGl4R2VvbSggYywgJnBpeF9nZW9tLCAm aWR4ICk7CiAgICAgICAgaWYgKCBpZHggPCAwICkgewogICAgICAgICAgICBmcHJpbnRmKCBz dGRlcnIsICJUVkNBUFRVUkVTdGFydDogVmlzdWFsIHBpeGVsIGZvcm1hdCBub3QgZGlyZWN0 ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmlkZW8gY2FwYWJsZVxuIiApOwog ICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGMtPnBpeF9nZW9tX2lkeCA9 IGlkeDsKICAgIH0KICAgIGVsc2UgewogICAgICAgIHZpZGVvLmFkZHIgICAgID0gMCwKICAg ICAgICB2aWRlby53aWR0aCAgICA9IDAsCiAgICAgICAgdmlkZW8uYmFua3NpemUgPSAwLAog ICAgICAgIHZpZGVvLnJhbXNpemUgID0gMDsKCiAgICAgICAgLyogIElmIFRERUMgaXMgb24s IG1heSBiZSBhIHdoaWxlIGJlZm9yZSBvbGQgdHJhc2ggZ2V0cyB3cml0dGVuIG9uLiAgKi8K ICAgICAgICAvKiAgICBTbyB0ZWxsIHRoZSBkcml2ZXIgdG8gZmx1c2ggdGhlIGZyYW1lIGJ1 ZmZlciBiZWZvcmUgc3RhcnRpbmcgICAqLwogICAgICAgIC8qICAgIGNhcHR1cmUuICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAg ICAgICAgaWYgKCBjLT5mcHMgIT0gYy0+ZnBzX21heCApCiAgICAgICAgICAgIGZsdXNoX2J1 ZiA9IFRSVUU7CiAgICB9CiAgICBtZW1jcHkoICZwaXhfZ2VvbSwgJmMtPnBpeF9nZW9tX2xp c3RbIGMtPnBpeF9nZW9tX2lkeCBdLCAKICAgICAgICAgICAgc2l6ZW9mKCBwaXhfZ2VvbSAp ICk7CgogICAgZ2VvbS5vZm9ybWF0ID0gYy0+YnBwX2Zvcm1hdDsKICAgIGlmICggZ2VvbS5y b3dzIDw9IGMtPmhlaWdodF9tYXggLyAyICkKICAgICAgICBnZW9tLm9mb3JtYXQgfD0gTUVU RU9SX0dFT19PRERfT05MWTsKCiAgICBjLT5hZGRyID0gKFRWX1VJTlQzMikgdmlkZW8uYWRk cjsKCiAgICAvKnByaW50ZiggIlZJREVPICAgICAgPSB7IGFkZHIgMHglLjh4LCB3aWR0aCAl ZCwgYmFua3NpemUgJWQsIHJhbXNpemUgJWQgfVxuIiwKICAgICAgICAgICAgdmlkZW8uYWRk ciwgdmlkZW8ud2lkdGgsIHZpZGVvLmJhbmtzaXplLCB2aWRlby5yYW1zaXplICk7Ki8KICAg IGlmICggaW9jdGwoIGMtPmZkLCBNRVRFT1JTVklERU8sICZ2aWRlbyApIDwgMCApIHsKICAg ICAgICBET19JT0NUTF9TRVJSKCAiTUVURU9SU1ZJREVPIiwgJnZpZGVvICk7CiAgICAgICAg cmV0dXJuOwogICAgfQogICAgLypwcmludGYoICJHRU9NICAgICAgID0geyAlZHglZCwgZnJh bWVzICVkLCBvZm9ybWF0IDB4JS44eCB9XG4iLAogICAgICAgICAgICBnZW9tLmNvbHVtbnMs IGdlb20ucm93cywgZ2VvbS5mcmFtZXMsIGdlb20ub2Zvcm1hdCApOyovCiAgICBpZiAoIGlv Y3RsKCBjLT5mZCwgTUVURU9SU0VUR0VPLCAmZ2VvbSApIDwgMCApIHsKICAgICAgICBET19J T0NUTF9TRVJSKCAiTUVURU9SU0VUR0VPIiwgJmdlb20gKTsKICAgICAgICByZXR1cm47CiAg ICB9CiAgICAvKnByaW50ZiggIlNBQ1RQSVhGTVQgPSB7IGlkeCAlZCwgQnBwICVkLCBtYXNr cyB7ICV4LCV4LCV4IH0sICIKCQkJICAgInN3YXBiL3MgJWQsJWQgfVxuIiwKICAgICAgICAg ICAgcGl4X2dlb20uaW5kZXgsIHBpeF9nZW9tLkJwcCwgcGl4X2dlb20ubWFza1swXSwKCSAg ICBwaXhfZ2VvbS5tYXNrWzFdLCBwaXhfZ2VvbS5tYXNrWzJdLCBwaXhfZ2VvbS5zd2FwX2J5 dGVzLAoJICAgIHBpeF9nZW9tLnN3YXBfc2hvcnRzICk7Ki8KICAgIGlmICggaW9jdGwoIGMt PmZkLCBNRVRFT1JTQUNUUElYRk1ULCAmcGl4X2dlb20uaW5kZXggKSA8IDAgKSB7CiAgICAg ICAgRE9fSU9DVExfU0VSUiggIk1FVEVPUlNBQ1RQSVhGTVQiLCAmZ2VvbSApOwogICAgICAg IHJldHVybjsKICAgIH0KCiAgICBsYXJnID0gZmx1c2hfYnVmOwogICAgaWYgKCBpb2N0bCgg Yy0+ZmQsIEJUODQ4U0NCVUYsICZsYXJnICkgPCAwICkgewogICAgICAgIERPX0lPQ1RMX1NF UlIoICJCVDg0OFNDQlVGIiwgbGFyZyApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAv KiAgSWYgdXNlciB3YW50cyB0byBrbm93IHdoZW5ldmVyIGEvdGhlIGZyYW1lIGlzIGNvbXBs ZXRlLCAgICAgICAgICAgICovCiAgICAvKiAgICBhZGQgaW4gYSBzaWduYWwgaGFuZGxlciBm b3IgdGhpcyBmb3Igc2luZ2xlIGNhcHR1cmVzLCBvciBhbiBYdCAgICovCiAgICAvKiAgICB0 aW1lciBmb3IgY29udGludW91cyBjYXB0dXJlcy4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICovCiAgICAvKiAgICBOT1RFOiAgRG9uZSBjYWxsYmFjayBtYWtlcyBubyBz ZW5zZSBmb3IgZGlyZWN0IHZpZGVvIHRyYW5zZmVycy4gICovCiAgICBsYXJnID0gTUVURU9S X1NJR19NT0RFX01BU0s7CgojaWZkZWYgT0xEX19BTFdBWVNfVVNFX1NJR05BTFNfTk9XCiAg ICBpZiAoIGMtPmZyYW1lX2RvbmVfY2IgJiYgYy0+ZnJhbWVfY2JfZW5hYmxlZCApCiAgICAg ICAgaWYgKCBjLT5jYXBfbW9kZSA9PSBUVl9DQVBUVVJFX1NJTkdMRSApCiAgICAgICAgICAg IGxhcmcgPSBTSUdVU1IxOwogICAgICAgIGVsc2UgewogICAgICAgICAgICBTX2ZyYW1lX3Rp bWVyID0gWHRBcHBBZGRUaW1lT3V0KCBUVkFQUENUWCwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEZSQU1FX1RJTUVSX0RFTEFZX01TKGMtPmZwc19t YXgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUVkNB UFRVUkVGcmFtZVRpbWVvdXRDQiwgTlVMTCApOwogICAgICAgICAgICBTX2ZyYW1lX3RpbWVy X3NldCA9IFRydWU7CiAgICAgICAgfQojZWxzZQogICAgaWYgKCBjLT5mcmFtZV9kb25lX2Ni ICYmIGMtPmZyYW1lX2NiX2VuYWJsZWQgKQogICAgICAgIGxhcmcgPSBTSUdVU1IxOwojZW5k aWYKCiAgICBpZiAoIGlvY3RsKCBjLT5mZCwgTUVURU9SU1NJR05BTCwgJmxhcmcgKSA8IDAg KSB7CiAgICAgICAgRE9fSU9DVExfU0VSUiggIk1FVEVPUlNTSUdOQUwiLCBsYXJnICk7CiAg ICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8qICBWZXJpZnkgYXVkaW8gbXV0ZSBzdGF0ZSBp cyBpbiBzeW5jIChpbiBjYXNlIGl0IGRpZG4ndCBnZXQgc3RhcnRlZCAgKi8KICAgIC8qICAg IG9uIHRoZSBpbml0aWFsIG1hcCkuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKi8KICAgIFRWQVVESU9HZXRNdXRlU3RhdGUoICZhdWRpb19tdXRlICk7 CiAgICBUVkNBUFRVUkVTZXRBdWRpb011dGUoIGMsIGF1ZGlvX211dGUgKTsKCiAgICAvKiAg T0ssIE5PVyBGSVJFIElUIFVQICAqLwoKICAgIGlmICggYy0+Y2FwX21vZGUgPT0gVFZfQ0FQ VFVSRV9DT05USU5VT1VTICkgewoKICAgICAgICAvKiAgUXVldWUgdXAgYSBDQVBfU0lOR0xF IC0tIHR1cm5zIG9uIGF1ZGlvIG9uIFdpbmNhc3QgYm9hcmQgICovCiAgICAgICAgLyogIEZJ WE1FOiAgV2UgbWF5IG5vdCBuZWVkIHRvIGRvIHRoaXMgYW55bW9yZSAgKi8KICAgICAgICBp ZiAoICFTX2RvbmVfYV9zaW5nbGUgKSB7CiAgICAgICAgICAgIGxhcmcgPSBNRVRFT1JfQ0FQ X1NJTkdMRTsKICAgICAgICAgICAgaWYgKCBpb2N0bCggYy0+ZmQsIE1FVEVPUkNBUFRVUiwg JmxhcmcgKSA8IDAgKSB7CiAgICAgICAgICAgICAgICBET19JT0NUTF9TRVJSKCAiTUVURU9S X0NBUF9TSU5HTEUiLCAwICk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAg IH0KICAgICAgICAgICAgU19kb25lX2Ffc2luZ2xlID0gVHJ1ZTsKICAgICAgICB9CgogICAg ICAgIC8qICBGSVhNRTogIEZpeCBzcGVsbGluZyBvZiAiY29udGludW91cyIgaW4gdGhlIGRy aXZlciBzb21ldGltZSAgKi8KICAgICAgICBsYXJnID0gTUVURU9SX0NBUF9DT05USU5PVVM7 CiAgICAgICAgaWYgKCBpb2N0bCggYy0+ZmQsIE1FVEVPUkNBUFRVUiwgJmxhcmcgKSA8IDAg KSB7CiAgICAgICAgICAgIERPX0lPQ1RMX1NFUlIoICJNRVRFT1JfQ0FQX0NPTlRJTlVPVVMi LCAwICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgYy0+Y29udGlu X29uID0gVHJ1ZTsKICAgIH0KICAgIGVsc2UgewogICAgICAgIGxhcmcgPSBNRVRFT1JfQ0FQ X1NJTkdMRTsKICAgICAgICBpZiAoIGlvY3RsKCBjLT5mZCwgTUVURU9SQ0FQVFVSLCAmbGFy ZyApIDwgMCApIHsKICAgICAgICAgICAgRE9fSU9DVExfU0VSUiggIk1FVEVPUl9DQVBfU0lO R0xFIiwgMCApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIFNfZG9u ZV9hX3NpbmdsZSA9IFRydWU7CiAgICB9Cn0KCgovKipAQkVHSU5GVU5DKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCiAg ICBQcm90b3R5cGUgIDogdm9pZCBUVkNBUFRVUkVTdG9wKAogICAgICAgICAgICAgICAgICAg ICAgVFZfQ0FQVFVSRSAqYyApCgogICAgUHVycG9zZSAgICA6IFN0b3AgYSBjb250aW51b3Vz IGNhcHR1cmUsIGlmIG9uZSBpcyBydW5uaW5nLgoKICAgIFByb2dyYW1tZXIgOiAwOC1NYXIt OTcgIFJhbmRhbGwgSG9wcGVyCgogICAgUGFyYW1ldGVycyA6IGMgLSBJOiBjYXB0dXJlIHN0 YXRlIHN0cnVjdAoKICAgIFJldHVybnMgICAgOiBOb25lLgoKICAgIEdsb2JhbHMgICAgOiBO b25lLgoKICoqQEVOREZVTkMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCnZvaWQgVFZDQVBUVVJFU3RvcCggVFZf Q0FQVFVSRSAqYyApCnsKICAgIFRWX0lOVDMyIGxhcmc7CgogICAgRFJWUFJJTlRGKCggIlx0 Q0FQVFVSRSBTdG9wXG4iICkpOwoKICAgIGlmICggIWMtPmNvbnRpbl9vbiApIHsKICAgICAg ICBmcHJpbnRmKCBzdGRlcnIsICJUVkNBUFRVUkVTdG9wIGNhbGxlZCB3aGVuIG5vdCBydW5u aW5nLi4uaWdub3JlZFxuIik7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIGlmICggU19m cmFtZV90aW1lcl9zZXQgKSB7CiAgICAgICAgWHRSZW1vdmVUaW1lT3V0KCBTX2ZyYW1lX3Rp bWVyICk7CiAgICAgICAgU19mcmFtZV90aW1lcl9zZXQgPSBGYWxzZTsKICAgIH0KCiAgICAv KiAgUmVzZXQgZHJpdmVyJ3Mgc2lnbmFsIHNvIHdlIGRvbid0IGtlZXAgZ2V0dGluZyBpbnRl cnJ1cHRlZCAgKi8KICAgIGxhcmcgPSBNRVRFT1JfU0lHX01PREVfTUFTSzsKICAgIGlmICgg aW9jdGwoIGMtPmZkLCBNRVRFT1JTU0lHTkFMLCAmbGFyZyApIDwgMCApIHsKICAgICAgICBE T19JT0NUTF9TRVJSKCAiTUVURU9SU1NJR05BTCIsIGxhcmcgKTsKICAgICAgICByZXR1cm47 CiAgICB9CgogICAgbGFyZyA9IE1FVEVPUl9DQVBfU1RPUF9DT05UOwogICAgaWYgKCBpb2N0 bCggYy0+ZmQsIE1FVEVPUkNBUFRVUiwgJmxhcmcgKSA8IDAgKSB7CiAgICAgICAgRE9fSU9D VExfU0VSUiggIk1FVEVPUl9DQVBfU1RPUF9DT05UIiwgMCApOwogICAgICAgIHJldHVybjsK ICAgIH0KICAgIGMtPmNvbnRpbl9vbiA9IEZhbHNlOwoKCiAgICBUVkNBUFRVUkVDbGVhclBl bmRpbmdGcmFtZXMoKTsKfQoK --==_Exmh_-12741814920-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Sat Jul 11 03:44:22 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id DAA22514 for freebsd-multimedia-outgoing; Sat, 11 Jul 1998 03:44:22 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from fleming.cs.strath.ac.uk (root@fleming.cs.strath.ac.uk [130.159.196.123]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id DAA22507 for ; Sat, 11 Jul 1998 03:44:20 -0700 (PDT) (envelope-from roger@cs.strath.ac.uk) Received: from neipc-17.cs.strath.ac.uk (scary.dmem.strath.ac.uk [130.159.202.5]) by fleming.cs.strath.ac.uk (8.8.8/8.8.8) with SMTP id LAA22067 Sat, 11 Jul 1998 11:44:15 +0100 (BST) Message-ID: <35A74292.5E97@cs.strath.ac.uk> Date: Sat, 11 Jul 1998 11:46:42 +0100 From: Roger Hardiman Organization: University of Strathclyde X-Mailer: Mozilla 3.01 (Win95; I) MIME-Version: 1.0 To: freebsd-multimedia@FreeBSD.ORG Subject: freebsd-multimedia closed to non subscribers Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hi, Is -muiltimedia still closed so you need to subscribe before you can post? I'd like it open again, as it used to be. Few reasons. 1) We only ever have one or two Windows 95/98/NT questions a month. And I usually reply direct to the author with the answer anyway. (I reply with a friendly comment about a) what FreeBSD is, b) where the correct place to post/search is and c) I often know the answer anyway as I have Win95/98/NT 4 boxes with Bt848's based grabbers and do some Video for Windows API development. 2) In Europe, local calls (to your ISP) are not free. email costs me money. freebsd-muiltimedia is low traffic, but subscribing increases the amount of mail you need to download, when usually the reply you wanted is CC'ed to the original author anyway. I'd like the group back open again. This time, we could generate some stats on Windows posts and just see how frequently they occur. Perhaps those that reply with abusive comments about Microsoft operating systems could just ignore Windows posts. Roger Hardiman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Sat Jul 11 09:57:34 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id JAA18580 for freebsd-multimedia-outgoing; Sat, 11 Jul 1998 09:57:34 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from whqvax.picker.com (whqvax.picker.com [144.54.1.1]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id JAA18471; Sat, 11 Jul 1998 09:57:18 -0700 (PDT) (envelope-from rhh@ct.picker.com) Received: from ct.picker.com by whqvax.picker.com with SMTP; Sat, 11 Jul 1998 12:56:44 -0400 (EDT) Received: from elmer.ct.picker.com ([144.54.57.34]) by ct.picker.com (4.1/SMI-4.1) id AA13121; Sat, 11 Jul 98 12:56:41 EDT Received: by elmer.ct.picker.com (SMI-8.6/SMI-SVR4) id MAA14446; Sat, 11 Jul 1998 12:56:03 -0400 Message-Id: <19980711125602.A14345@ct.picker.com> Date: Sat, 11 Jul 1998 12:56:02 -0400 From: Randall Hopper To: Roger Hardiman , Mark Handley , Mark Tinguely , Amancio Hasty , Greg Lehey , "Jonathan M. Bresler" , Sue Blake , Eivind Eklund Cc: multimedia@FreeBSD.ORG, hackers@FreeBSD.ORG Subject: Re: list closed to non subscribers Mail-Followup-To: Roger Hardiman , Mark Handley , Mark Tinguely , Amancio Hasty , Greg Lehey , "Jonathan M. Bresler" , Sue Blake , Eivind Eklund , multimedia@freebsd.org, hackers@freebsd.org References: <199807011757.MAA19802@plains.NoDak.edu> <4458.899321082@north.lcs.mit.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.91.1i In-Reply-To: <4458.899321082@north.lcs.mit.edu>; from Mark Handley on Wed, Jul 01, 1998 at 03:24:42PM -0400 Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org The "consensus building" messages: Mark Handley: |The technological solution to this problem would be to only allow |postings from members of the list. Amancio Hasty: |I like that idea a lot . Amancio Hasty: |I see however what we are asking to have the multimedia mailing list |accept mail *only* from members. Can you do that? Amancio Hasty: |The list is now closed and it is time to go back to our multimedia |related topics. Roger Hardiman: |Is -muiltimedia still closed so you need to subscribe before you |can post? | |I'd like it open again, as it used to be. I agree (for your reasons, and a few others which I posted 7/2). At the very least, I'd expect opinions/votes to be solicited and discussion to be held on this topic by list members (and FreeBSD folks in general) before we decide on a policy for all of us based on the expressed desires of only one person. I'd come to expect more from the FreeBSD community. I didn't think this is how we did things here (sounds like Li*ux). |I'd like the group back open again. Seconded. And if some still want it closed, we should "discuss" this and solicit positions/votes first. |Perhaps those that reply with abusive comments about Microsoft |operating systems could just ignore Windows posts. Ditto that. I also have been perturbed by the rudeness of some folks responding to MSW posters. If one of those had been my first exposure to FreeBSD years ago, I for one would have gone elsewhere. All we need is a little tact and a desire to help--who knows who is on the verge of kicking the MSW habit. Randall Randall Hopper: |Amancio Hasty: | |Only members are allowed to post to the multimedia mailing list. | |This is a bad idea IMO. | |Some newer folks that pick up the Bt848 driver or some FreeBSD util and |have trouble with it want to mail a question without signing up for a |mailing list, waiting until they know they're getting the messages, post |the question, accumulate a bunch of irrelevent list mail, get their answer, |and then unsubscribe. | |They'll more likely just drop the driver/utility, forget the problem, and |go onto something else. That's what we'll be encouraging. | |Don't forget that not everyone has an ISP that let's them accumulate the |mail traffic some mailing lists produce, even if they're willing to put up |with the inconvenience of subscribe/wait/post/wait/unsubscribe/clean house. | |I do this same thing with various S/W I use. | |Do the few Windoze posts we get here from time to time annoy you that much? |Hey man, relax and take a vacation. ;-) | |Randall | |To Unsubscribe: send mail to majordomo@FreeBSD.org |with "unsubscribe freebsd-multimedia" in the body of the message Randall Roger Hardiman : |Hi, | |Is -muiltimedia still closed so you need to subscribe before you |can post? | |I'd like it open again, as it used to be. | |Few reasons. |1) We only ever have one or two Windows 95/98/NT questions a month. | And I usually reply direct to the author with the answer anyway. | | (I reply with a friendly comment about a) what FreeBSD is, b) where | the correct place to post/search is and c) I often know the | answer anyway as I have Win95/98/NT 4 boxes with Bt848's based | grabbers and do some Video for Windows API development. | |2) In Europe, local calls (to your ISP) are not free. email costs me |money. | freebsd-muiltimedia is low traffic, but subscribing increases the | amount of mail you need to download, when usually the reply you | wanted is CC'ed to the original author anyway. | |I'd like the group back open again. | |This time, we could generate some stats on Windows posts and just see |how |frequently they occur. |Perhaps those that reply with abusive comments about Microsoft |operating systems could just ignore Windows posts. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Sat Jul 11 10:29:35 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id KAA21333 for freebsd-multimedia-outgoing; Sat, 11 Jul 1998 10:29:35 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from rah.star-gate.com (rah.star-gate.com [209.133.7.234]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id KAA21309; Sat, 11 Jul 1998 10:29:25 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.8.8/8.8.8) with ESMTP id KAA06795; Sat, 11 Jul 1998 10:29:02 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Message-Id: <199807111729.KAA06795@rah.star-gate.com> X-Mailer: exmh version 2.0.2 2/24/98 To: Randall Hopper cc: Roger Hardiman , Mark Handley , Mark Tinguely , Greg Lehey , "Jonathan M. Bresler" , Sue Blake , Eivind Eklund , multimedia@FreeBSD.ORG, hackers@FreeBSD.ORG Subject: Re: list closed to non subscribers In-reply-to: Your message of "Sat, 11 Jul 1998 12:56:02 EDT." <19980711125602.A14345@ct.picker.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sat, 11 Jul 1998 10:29:02 -0700 From: Amancio Hasty Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hi Jonathan, Care to open the list again? Tnks, Amancio To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Sat Jul 11 19:18:16 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id TAA04102 for freebsd-multimedia-outgoing; Sat, 11 Jul 1998 19:18:16 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from home.dragondata.com (root@home.dragondata.com [204.137.237.2]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id TAA04035 for ; Sat, 11 Jul 1998 19:18:07 -0700 (PDT) (envelope-from toasty@home.dragondata.com) Received: (from toasty@localhost) by home.dragondata.com (8.8.8/8.8.5) id TAA09961; Sat, 11 Jul 1998 19:56:16 -0500 (CDT) From: Kevin Day Message-Id: <199807120056.TAA09961@home.dragondata.com> Subject: Re: bt878 support In-Reply-To: <19980711193123.A15158@ct.picker.com> from Randall Hopper at "Jul 11, 98 07:31:23 pm" To: rhh@ct.picker.com (Randall Hopper) Date: Sat, 11 Jul 1998 19:56:14 -0500 (CDT) Cc: hasty@rah.star-gate.com, multimedia@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL31 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > Kevin Day: > |I just purchased a new bt878 compatible card... After a lot of fiddling from > |Amancio, we got it working properly... However, I'm not able to get the > > Hey, glad to hear it! > > |video in on the card to work. (blue screen, no video) In vic, we're able to > |get it to work using 'port-3' using the meteor device. Amancio has asked me > |to ask you to add support for it. :) > | > |Any way I can help? :) > > Well, I just caught up on the bt878 mail, and I have a few related questions: > > 1. Does your TV card feed all 4 Bt878 inputs? No. :) > 2. What are the Bt878 inputs on your card connected to? > (tuner, video jacks, svideo jacks, etc.) I have a tuner in, and a video in. That's it. > > The reason I ask is this: By convention, the mappings for Bt848 input > device types -to- bktr input device ioctl #defines are as follows: > > #define DEVICE TYPE > ------- --------------- > DEV0 = STD VIDEO INPUT > DEV1 = TUNER INPUT > DEV2 = SVIDEO INPUT > > This is fine. The app and the user don't need to know what strange way > "manufacturer X" wired up devices to the Bt848 inputs. The driver knows, > and it remaps these in a standard way to driver #defines. > > The issue I'm getting at here is, shouldn't the driver internally be > mapping the DEV0 input device type #define (i.e. STD VIDEO INPUT) to the > Bt878 Mux 3 for your card? Or do you have "2" STD VIDEO inputs on your > card? Or do we have a new type of of input device that can appear on TV > boards? > > Randall I'm not exactly sure here, you'll have to ask Amancio about what he found. :) It's just a standard video in, but apparently connected differently. Kevin To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Sat Jul 11 19:38:03 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id TAA09940 for freebsd-multimedia-outgoing; Sat, 11 Jul 1998 19:38:03 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from whqvax.picker.com (whqvax.picker.com [144.54.1.1]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id TAA09815 for ; Sat, 11 Jul 1998 19:37:18 -0700 (PDT) (envelope-from rhh@ct.picker.com) Received: from ct.picker.com by whqvax.picker.com with SMTP; Sat, 11 Jul 1998 19:31:51 -0400 (EDT) Received: from elmer.ct.picker.com ([144.54.57.34]) by ct.picker.com (4.1/SMI-4.1) id AA19183; Sat, 11 Jul 98 19:31:51 EDT Received: by elmer.ct.picker.com (SMI-8.6/SMI-SVR4) id TAA15199; Sat, 11 Jul 1998 19:31:23 -0400 Message-Id: <19980711193123.A15158@ct.picker.com> Date: Sat, 11 Jul 1998 19:31:23 -0400 From: Randall Hopper To: Kevin Day Cc: Amancio Hasty , multimedia@FreeBSD.ORG Subject: Re: bt878 support Mail-Followup-To: Kevin Day , Amancio Hasty , multimedia@freebsd.org References: <199807111829.NAA12380@home.dragondata.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.91.1i In-Reply-To: <199807111829.NAA12380@home.dragondata.com>; from Kevin Day on Sat, Jul 11, 1998 at 01:29:17PM -0500 Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Kevin Day: |I just purchased a new bt878 compatible card... After a lot of fiddling from |Amancio, we got it working properly... However, I'm not able to get the Hey, glad to hear it! |video in on the card to work. (blue screen, no video) In vic, we're able to |get it to work using 'port-3' using the meteor device. Amancio has asked me |to ask you to add support for it. :) | |Any way I can help? :) Well, I just caught up on the bt878 mail, and I have a few related questions: 1. Does your TV card feed all 4 Bt878 inputs? 2. What are the Bt878 inputs on your card connected to? (tuner, video jacks, svideo jacks, etc.) The reason I ask is this: By convention, the mappings for Bt848 input device types -to- bktr input device ioctl #defines are as follows: #define DEVICE TYPE ------- --------------- DEV0 = STD VIDEO INPUT DEV1 = TUNER INPUT DEV2 = SVIDEO INPUT This is fine. The app and the user don't need to know what strange way "manufacturer X" wired up devices to the Bt848 inputs. The driver knows, and it remaps these in a standard way to driver #defines. The issue I'm getting at here is, shouldn't the driver internally be mapping the DEV0 input device type #define (i.e. STD VIDEO INPUT) to the Bt878 Mux 3 for your card? Or do you have "2" STD VIDEO inputs on your card? Or do we have a new type of of input device that can appear on TV boards? Randall Amancio Hasty : |The Bt878 is an upgrade to the Bt848. | |Please recompile fxtv-0.47 with this tvcapture.c the problem is that your |model has one extra MUX which Hauppauge uses for video input. ... |Your video input is not coming from mux3 so fxtv needs to be modified |to support it for mux3 is not specified in fxtv if you like you |can modify fxtv and for video input specify : |#define METEOR_INPUT_DEV3 0x08000 /* camera input 3 */ |This input is only for Bt878 for Bt848 does not support such port. | |Or add a new menu entry which allows you to select METEOR_INPUT_DEV3. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message From owner-freebsd-multimedia Sat Jul 11 22:05:13 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id WAA05864 for freebsd-multimedia-outgoing; Sat, 11 Jul 1998 22:05:13 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from rah.star-gate.com (rah.star-gate.com [209.133.7.234]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id WAA05816 for ; Sat, 11 Jul 1998 22:04:57 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.8.8/8.8.8) with ESMTP id WAA01746; Sat, 11 Jul 1998 22:04:36 -0700 (PDT) (envelope-from hasty@rah.star-gate.com) Message-Id: <199807120504.WAA01746@rah.star-gate.com> X-Mailer: exmh version 2.0.2 2/24/98 To: Kevin Day cc: rhh@ct.picker.com (Randall Hopper), multimedia@FreeBSD.ORG Subject: Re: bt878 support In-reply-to: Your message of "Sat, 11 Jul 1998 19:56:14 CDT." <199807120056.TAA09961@home.dragondata.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sat, 11 Jul 1998 22:04:36 -0700 From: Amancio Hasty Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org The Bt878 has for input muxes vs 3 Input Muxes for the bt848. It is up to the application to provide access to the muxes nor do I expect Bt878 board manufacturers to standardize on the use of the Input Muxes. vic handles this problem by providing select options for PORT-1, PORT-2, PORT-3, etc.. Cheers, Amancio To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message