From owner-freebsd-multimedia@FreeBSD.ORG Sun Nov 22 22:02:27 2009 Return-Path: Delivered-To: multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DA1461065670 for ; Sun, 22 Nov 2009 22:02:27 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe15.swip.net [212.247.155.193]) by mx1.freebsd.org (Postfix) with ESMTP id 6CFB18FC16 for ; Sun, 22 Nov 2009 22:02:27 +0000 (UTC) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=MnI1ikcADjEx7bvsp0jZvQ==:17 a=KDcWP-oWR-Q6biMtytMA:9 a=nYoNp5xgGdPLXuTj4Z_0hUDmMXwA:4 Received: from [188.126.201.140] (account mc467741@c2i.net HELO laptop.adsl.tele2.no) by mailfe15.swip.net (CommuniGate Pro SMTP 5.2.16) with ESMTPA id 596348381 for multimedia@freebsd.org; Sun, 22 Nov 2009 22:02:24 +0100 From: Hans Petter Selasky To: multimedia@freebsd.org Date: Sun, 22 Nov 2009 22:03:59 +0100 User-Agent: KMail/1.11.4 (FreeBSD/9.0-CURRENT; KDE/4.2.4; i386; ; ) X-Face: (%:6u[ldzJ`0qjD7sCkfdMmD*RxpOwEEQ+KWt[{J#x6ow~JO:,zwp.(t; @Aq :4:&nFCgDb8[3oIeTb^'",;u{5{}C9>"PuY\)!=#\u9SSM-nz8+SR~B\!qBv MIME-Version: 1.0 Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200911222204.00229.hselasky@c2i.net> Cc: Subject: ports/audio/fluidsynth/Makefile X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Nov 2009 22:02:27 -0000 Hi, This port should be stepped up to version 1.0.10 ? --HPS From owner-freebsd-multimedia@FreeBSD.ORG Mon Nov 23 03:21:06 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4A6AF1065672 for ; Mon, 23 Nov 2009 03:21:06 +0000 (UTC) (envelope-from jgreco@aurora.sol.net) Received: from mail1.sol.net (mail1.sol.net [206.55.64.72]) by mx1.freebsd.org (Postfix) with ESMTP id B39808FC0A for ; Mon, 23 Nov 2009 03:21:05 +0000 (UTC) Received: from aurora.sol.net (aurora.sol.net [206.55.65.130]) by mail1.sol.net (8.14.1/8.14.1/SNNS-1.04) with ESMTP id nAN2OnRB003720 for ; Sun, 22 Nov 2009 20:24:49 -0600 (CST) Received: (from jgreco@localhost) by aurora.sol.net (8.12.8p1/8.12.9/Submit) id nAN2OmhC075862 for freebsd-multimedia@freebsd.org; Sun, 22 Nov 2009 20:24:48 -0600 (CST) From: Joe Greco Message-Id: <200911230224.nAN2OmhC075862@aurora.sol.net> To: freebsd-multimedia@freebsd.org Date: Sun, 22 Nov 2009 20:24:48 -0600 (CST) X-Mailer: ELM [version 2.5 PL6] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Pointers to debug lack-of-audio X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2009 03:21:06 -0000 I've got a bunch of HP dc7600 Small Form Factor PC's. One of them is running the latest version of PC-BSD, which is of course based on FreeBSD 7.2-STABLE. It appears to load the audio driver, but it's mute. The dc7600 sports a built-in speaker, and neither it nor any of the jacks seem to produce sound. I've looked over the saga of the snd_hda driver, and am not quite clear where to go. It looks configured. The pin mappings seem to make some sort of sense, though I don't know what they ought to be. # cat /dev/sndstat FreeBSD Audio Driver (newpcm: 32bit 2007061600/i386) Installed devices: pcm0: at cad 0 nid 1 on hdac0 kld snd_hda [MPSAFE] (1p:1v/1r:1v channels duplex default) So it probes fine. Doing a kldunload/reload with verbose logging reveals hdac0: mem 0xfc500000-0xfc503fff irq 21 at device 27.0 on pci0 hdac0: HDA Driver Revision: 20090624_0136 hdac0: attempting to allocate 1 MSI vectors (1 supported) msi: routing MSI IRQ 257 to vector 60 hdac0: using IRQ 257 for MSI msi: Assigning MSI IRQ 257 to local APIC 0 hdac0: [MPSAFE] hdac0: [ITHREAD] hdac0: Probing codec #0... hdac0: HDA Codec #0: Realtek ALC260 hdac0: HDA Codec ID: 0x10ec0260 hdac0: Vendor: 0x10ec hdac0: Device: 0x0260 hdac0: Revision: 0x04 hdac0: Stepping: 0x00 hdac0: PCI Subvendor: 0x3011103c hdac0: Found audio FG nid=1 startnode=2 endnode=28 total=26 hdac0: hdac0: Processing audio FG cad=0 nid=1... hdac0: GPIO: 0x40000004 NumGPIO=4 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1 hdac0: nid 15 0x9993e133 as 3 seq 3 AUX Fixed jack 3 loc 25 color White misc 1 hdac0: nid 16 0x0221101f as 1 seq 15 Headphones Jack jack 1 loc 2 color Black misc 0 hdac0: nid 17 0x9707e120 as 2 seq 0 Line-out Fixed jack 7 loc 23 color White misc 1 hdac0: nid 18 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 hdac0: nid 19 0x02a11930 as 3 seq 0 Mic Jack jack 1 loc 2 color Black misc 9 hdac0: nid 20 0x01813c31 as 3 seq 1 Line-in Jack jack 1 loc 1 color Blue misc 12 hdac0: nid 21 0x01014c10 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 12 hdac0: nid 22 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 hdac0: Patching widget caps nid=23 0x00400000 -> 0x00700000 hdac0: nid 24 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 hdac0: nid 25 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 hdac0: Patched pins configuration: hdac0: nid 15 0x9993e133 as 3 seq 3 AUX Fixed jack 3 loc 25 color White misc 1 hdac0: nid 16 0x0221101f as 1 seq 15 Headphones Jack jack 1 loc 2 color Black misc 0 hdac0: nid 17 0x9707e120 as 2 seq 0 Line-out Fixed jack 7 loc 23 color White misc 1 hdac0: nid 18 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] hdac0: nid 19 0x02a11930 as 3 seq 0 Mic Jack jack 1 loc 2 color Black misc 9 hdac0: nid 20 0x01813c31 as 3 seq 1 Line-in Jack jack 1 loc 1 color Blue misc 12 hdac0: nid 21 0x01014c10 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 12 hdac0: nid 22 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] hdac0: nid 24 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] hdac0: nid 25 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] hdac0: 3 associations found: hdac0: Association 0 (1) out: hdac0: Pin nid=21 seq=0 hdac0: Pin nid=16 seq=15 hdac0: Association 1 (2) out: hdac0: Pin nid=17 seq=0 hdac0: Association 2 (3) in: hdac0: Pin nid=19 seq=0 hdac0: Pin nid=20 seq=1 hdac0: Pin nid=15 seq=3 hdac0: Tracing association 0 (1) hdac0: Pin 21 traced to DAC 2 hdac0: Pin 16 traced to DAC 2 and hpredir 0 hdac0: Association 0 (1) trace succeeded hdac0: Tracing association 1 (2) hdac0: Unable to trace pin 17 seq 0 with min nid 0 hdac0: Association 1 (2) trace failed hdac0: Tracing association 2 (3) hdac0: Pin 19 traced to ADC 4 hdac0: Pin 20 traced to ADC 4 hdac0: Pin 15 traced to ADC 4 hdac0: Association 2 (3) trace succeeded hdac0: Tracing input monitor hdac0: Tracing beeper hdac0: nid 23 traced to out hdac0: Enabling headphone/speaker audio routing switching: hdac0: as=0 sense nid=16 [UNSOL] hdac0: Pin sense: nid=16 res=0x7fffffff hdac0: FG config/quirks: forcestereo ivref50 ivref80 ivref100 ivref hdac0: hdac0: +-------------------+ hdac0: | DUMPING HDA NODES | hdac0: +-------------------+ hdac0: hdac0: Default Parameter hdac0: ----------------- hdac0: Stream cap: 0x00000001 hdac0: PCM hdac0: PCM cap: 0x000e0560 hdac0: 16 20 24 bits, 44 48 96 192 KHz hdac0: IN amp: 0x00000000 hdac0: OUT amp: 0x00000000 hdac0: hdac0: nid: 2 hdac0: Name: audio output hdac0: Widget cap: 0x00000011 hdac0: STEREO hdac0: Association: 0 (0x00008001) hdac0: OSS: pcm (pcm) hdac0: Stream cap: 0x00000001 hdac0: PCM hdac0: PCM cap: 0x000e0560 hdac0: 16 20 24 bits, 44 48 96 192 KHz hdac0: hdac0: nid: 3 [DISABLED] hdac0: Name: audio output hdac0: Widget cap: 0x00000211 hdac0: DIGITAL STEREO hdac0: Stream cap: 0x00000001 hdac0: PCM hdac0: PCM cap: 0x001e0560 hdac0: 16 20 24 32 bits, 44 48 96 192 KHz hdac0: hdac0: nid: 4 hdac0: Name: audio input hdac0: Widget cap: 0x0010011b hdac0: STEREO hdac0: Association: 2 (0x0000000b) hdac0: Stream cap: 0x00000001 hdac0: PCM hdac0: PCM cap: 0x00060160 hdac0: 16 20 bits, 44 48 96 KHz hdac0: Input amp: 0x80032300 hdac0: mute=1 step=35 size=3 offset=0 hdac0: connections: 7 hdac0: | hdac0: + [DISABLED] <- nid=18 [pin: Speaker (None)] [DISABLED] hdac0: + <- nid=19 [pin: Mic (Black Jack)] (selected) hdac0: + <- nid=20 [pin: Line-in (Blue Jack)] hdac0: + [DISABLED] <- nid=21 [pin: Line-out (Green Jack)] hdac0: + [DISABLED] <- nid=22 [pin: Speaker (None)] [DISABLED] hdac0: + <- nid=15 [pin: AUX (Fixed)] hdac0: + [DISABLED] <- nid=16 [pin: Headphones (Black Jack)] hdac0: hdac0: nid: 5 [DISABLED] hdac0: Name: audio input hdac0: Widget cap: 0x0010011b hdac0: STEREO hdac0: Stream cap: 0x00000001 hdac0: PCM hdac0: PCM cap: 0x00060160 hdac0: 16 20 bits, 44 48 96 KHz hdac0: Input amp: 0x80032300 hdac0: mute=1 step=35 size=3 offset=0 hdac0: connections: 8 hdac0: | hdac0: + [DISABLED] <- nid=18 [pin: Speaker (None)] [DISABLED] (selected) hdac0: + <- nid=19 [pin: Mic (Black Jack)] hdac0: + <- nid=20 [pin: Line-in (Blue Jack)] hdac0: + <- nid=21 [pin: Line-out (Green Jack)] hdac0: + [DISABLED] <- nid=22 [pin: Speaker (None)] [DISABLED] hdac0: + <- nid=7 [audio mixer] hdac0: + <- nid=15 [pin: AUX (Fixed)] hdac0: + <- nid=16 [pin: Headphones (Black Jack)] hdac0: hdac0: nid: 6 [DISABLED] hdac0: Name: audio input hdac0: Widget cap: 0x00100391 hdac0: DIGITAL UNSOL STEREO hdac0: Stream cap: 0x00000001 hdac0: PCM hdac0: PCM cap: 0x001e0160 hdac0: 16 20 24 32 bits, 44 48 96 KHz hdac0: connections: 1 hdac0: | hdac0: + [DISABLED] <- nid=25 [pin: Speaker (None)] [DISABLED] hdac0: hdac0: nid: 7 hdac0: Name: audio mixer hdac0: Widget cap: 0x0020010b hdac0: STEREO hdac0: Association: -2 (0x00000000) hdac0: OSS: speaker, line, mic, line1 hdac0: Input amp: 0x80034123 hdac0: mute=1 step=65 size=3 offset=35 hdac0: connections: 8 hdac0: | hdac0: + [DISABLED] <- nid=18 [pin: Speaker (None)] [DISABLED] hdac0: + <- nid=19 [pin: Mic (Black Jack)] hdac0: + <- nid=20 [pin: Line-in (Blue Jack)] hdac0: + [DISABLED] <- nid=21 [pin: Line-out (Green Jack)] hdac0: + [DISABLED] <- nid=22 [pin: Speaker (None)] [DISABLED] hdac0: + <- nid=23 [beep widget] hdac0: + <- nid=15 [pin: AUX (Fixed)] hdac0: + [DISABLED] <- nid=16 [pin: Headphones (Black Jack)] hdac0: hdac0: nid: 8 hdac0: Name: audio mixer hdac0: Widget cap: 0x0020010f hdac0: STEREO hdac0: Association: 0 (0x00000001) hdac0: OSS: pcm, speaker, line, mic, line1 hdac0: Output amp: 0x00034040 hdac0: mute=0 step=64 size=3 offset=64 hdac0: Input amp: 0x80000000 hdac0: mute=1 step=0 size=0 offset=0 hdac0: connections: 2 hdac0: | hdac0: + <- nid=2 [audio output] hdac0: + <- nid=7 [audio mixer] hdac0: hdac0: nid: 9 hdac0: Name: audio mixer hdac0: Widget cap: 0x0020010f hdac0: STEREO hdac0: Association: 0 (0x00008000) hdac0: OSS: pcm, speaker, line, mic, line1 hdac0: Output amp: 0x00034040 hdac0: mute=0 step=64 size=3 offset=64 hdac0: Input amp: 0x80000000 hdac0: mute=1 step=0 size=0 offset=0 hdac0: connections: 2 hdac0: | hdac0: + <- nid=2 [audio output] hdac0: + <- nid=7 [audio mixer] hdac0: hdac0: nid: 10 [DISABLED] hdac0: Name: audio mixer hdac0: Widget cap: 0x0020010e hdac0: Output amp: 0x00034123 hdac0: mute=0 step=65 size=3 offset=35 hdac0: Input amp: 0x80000000 hdac0: mute=1 step=0 size=0 offset=0 hdac0: connections: 2 hdac0: | hdac0: + [DISABLED] <- nid=2 [audio output] hdac0: + [DISABLED] <- nid=7 [audio mixer] hdac0: hdac0: nid: 11 [DISABLED] hdac0: Name: audio selector hdac0: Widget cap: 0x00300101 hdac0: STEREO hdac0: connections: 2 hdac0: | hdac0: + <- nid=8 [audio mixer] (selected) hdac0: + <- nid=9 [audio mixer] hdac0: hdac0: nid: 12 [DISABLED] hdac0: Name: audio selector hdac0: Widget cap: 0x00300101 hdac0: STEREO hdac0: connections: 2 hdac0: | hdac0: + <- nid=8 [audio mixer] (selected) hdac0: + <- nid=9 [audio mixer] hdac0: hdac0: nid: 13 [DISABLED] hdac0: Name: audio selector hdac0: Widget cap: 0x00300101 hdac0: STEREO hdac0: connections: 2 hdac0: | hdac0: + <- nid=8 [audio mixer] (selected) hdac0: + <- nid=9 [audio mixer] hdac0: hdac0: nid: 14 hdac0: Name: audio selector hdac0: Widget cap: 0x00300101 hdac0: STEREO hdac0: Association: 0 (0x00000001) hdac0: OSS: pcm, speaker, line, mic, line1 hdac0: connections: 2 hdac0: | hdac0: + <- nid=8 [audio mixer] (selected) hdac0: + [DISABLED] <- nid=9 [audio mixer] hdac0: hdac0: nid: 15 hdac0: Name: pin: AUX (Fixed) hdac0: Widget cap: 0x0040018d hdac0: UNSOL STEREO hdac0: Association: 2 (0x00000008) hdac0: OSS: line1 (line1) hdac0: Pin cap: 0x0001003f hdac0: ISC TRQD PDC HP OUT IN EAPD hdac0: Pin config: 0x9993e133 hdac0: Pin control: 0x00000020 IN hdac0: EAPD: 0x00000002 hdac0: Output amp: 0x80000000 hdac0: mute=1 step=0 size=0 offset=0 hdac0: connections: 1 hdac0: | hdac0: + [DISABLED] <- nid=8 [audio mixer] hdac0: hdac0: nid: 16 hdac0: Name: pin: Headphones (Black Jack) hdac0: Widget cap: 0x0040018d hdac0: UNSOL STEREO hdac0: Association: 0 (0x00008000) hdac0: Pin cap: 0x0001003f hdac0: ISC TRQD PDC HP OUT IN EAPD hdac0: Pin config: 0x0221101f hdac0: Pin control: 0x000000c0 HP OUT hdac0: EAPD: 0x00000002 hdac0: Output amp: 0x80000000 hdac0: mute=1 step=0 size=0 offset=0 hdac0: connections: 1 hdac0: | hdac0: + <- nid=9 [audio mixer] hdac0: hdac0: nid: 17 [DISABLED] hdac0: Name: pin: Line-out (Fixed) hdac0: Widget cap: 0x0040010c hdac0: Pin cap: 0x00000010 hdac0: OUT hdac0: Pin config: 0x9707e120 hdac0: Pin control: 0x00000000 hdac0: Output amp: 0x80000000 hdac0: mute=1 step=0 size=0 offset=0 hdac0: connections: 1 hdac0: | hdac0: + [DISABLED] <- nid=10 [audio mixer] [DISABLED] hdac0: hdac0: nid: 18 [DISABLED] hdac0: Name: pin: Speaker (None) hdac0: Widget cap: 0x0040018d hdac0: UNSOL STEREO hdac0: Pin cap: 0x0000133f hdac0: ISC TRQD PDC HP OUT IN VREF[ 50 80 HIZ ] hdac0: Pin config: 0x411111f0 hdac0: Pin control: 0x00000000 hdac0: Output amp: 0x80000000 hdac0: mute=1 step=0 size=0 offset=0 hdac0: connections: 1 hdac0: | hdac0: + [DISABLED] <- nid=11 [audio selector] [DISABLED] hdac0: hdac0: nid: 19 hdac0: Name: pin: Mic (Black Jack) hdac0: Widget cap: 0x0040018d hdac0: UNSOL STEREO hdac0: Association: 2 (0x00000001) hdac0: OSS: mic (mic) hdac0: Pin cap: 0x0000133f hdac0: ISC TRQD PDC HP OUT IN VREF[ 50 80 HIZ ] hdac0: Pin config: 0x02a11930 hdac0: Pin control: 0x00000024 IN VREFs hdac0: Output amp: 0x80000000 hdac0: mute=1 step=0 size=0 offset=0 hdac0: connections: 1 hdac0: | hdac0: + [DISABLED] <- nid=12 [audio selector] [DISABLED] hdac0: hdac0: nid: 20 hdac0: Name: pin: Line-in (Blue Jack) hdac0: Widget cap: 0x0040018d hdac0: UNSOL STEREO hdac0: Association: 2 (0x00000002) hdac0: OSS: line (line) hdac0: Pin cap: 0x0000133f hdac0: ISC TRQD PDC HP OUT IN VREF[ 50 80 HIZ ] hdac0: Pin config: 0x01813c31 hdac0: Pin control: 0x00000024 IN VREFs hdac0: Output amp: 0x80000000 hdac0: mute=1 step=0 size=0 offset=0 hdac0: connections: 1 hdac0: | hdac0: + [DISABLED] <- nid=13 [audio selector] [DISABLED] hdac0: hdac0: nid: 21 hdac0: Name: pin: Line-out (Green Jack) hdac0: Widget cap: 0x0040018d hdac0: UNSOL STEREO hdac0: Association: 0 (0x00000001) hdac0: Pin cap: 0x0000133f hdac0: ISC TRQD PDC HP OUT IN VREF[ 50 80 HIZ ] hdac0: Pin config: 0x01014c10 hdac0: Pin control: 0x00000040 OUT hdac0: Output amp: 0x80000000 hdac0: mute=1 step=0 size=0 offset=0 hdac0: connections: 1 hdac0: | hdac0: + <- nid=14 [audio selector] hdac0: hdac0: nid: 22 [DISABLED] hdac0: Name: pin: Speaker (None) hdac0: Widget cap: 0x00400001 hdac0: STEREO hdac0: Pin cap: 0x00000020 hdac0: IN hdac0: Pin config: 0x411111f0 hdac0: Pin control: 0x00000000 hdac0: hdac0: nid: 23 hdac0: Name: beep widget hdac0: Widget cap: 0x00700000 hdac0: Association: -2 (0x00000000) hdac0: OSS: speaker (speaker) hdac0: hdac0: nid: 24 [DISABLED] hdac0: Name: pin: Speaker (None) hdac0: Widget cap: 0x00400380 hdac0: DIGITAL UNSOL hdac0: Pin cap: 0x00000014 hdac0: PDC OUT hdac0: Pin config: 0x411111f0 hdac0: Pin control: 0x00000000 hdac0: connections: 1 hdac0: | hdac0: + <- nid=3 [audio output] [DISABLED] hdac0: hdac0: nid: 25 [DISABLED] hdac0: Name: pin: Speaker (None) hdac0: Widget cap: 0x00400280 hdac0: DIGITAL UNSOL hdac0: Pin cap: 0x00000024 hdac0: PDC IN hdac0: Pin config: 0x411111f0 hdac0: Pin control: 0x00000000 hdac0: hdac0: nid: 26 [DISABLED] hdac0: Name: vendor widget hdac0: Widget cap: 0x00f00040 hdac0: PROC hdac0: hdac0: nid: 27 [DISABLED] hdac0: Name: volume widget hdac0: Widget cap: 0x00600080 hdac0: UNSOL hdac0: pci1: driver added pci5: driver added pci32: driver added pci63: driver added pcm0: at cad 0 nid 1 on hdac0 pcm0: +--------------------------------------+ pcm0: | DUMPING PCM Playback/Record Channels | pcm0: +--------------------------------------+ pcm0: pcm0: Playback: pcm0: pcm0: Stream cap: 0x00000001 pcm0: PCM pcm0: PCM cap: 0x000e0560 pcm0: 16 20 24 bits, 44 48 96 192 KHz pcm0: DAC: 2 pcm0: pcm0: Record: pcm0: pcm0: Stream cap: 0x00000001 pcm0: PCM pcm0: PCM cap: 0x00060160 pcm0: 16 20 bits, 44 48 96 KHz pcm0: ADC: 4 pcm0: pcm0: +-------------------------------+ pcm0: | DUMPING Playback/Record Paths | pcm0: +-------------------------------+ pcm0: pcm0: Playback: pcm0: pcm0: nid=16 [pin: Headphones (Black Jack)] pcm0: | pcm0: + <- nid=9 [audio mixer] [src: pcm, speaker, line, mic, line1] pcm0: | pcm0: + <- nid=2 [audio output] [src: pcm] pcm0: + <- nid=7 [audio mixer] [src: speaker, line, mic, line1] pcm0: | pcm0: + <- nid=19 [pin: Mic (Black Jack)] [src: mic] pcm0: + <- nid=20 [pin: Line-in (Blue Jack)] [src: line] pcm0: + <- nid=23 [beep widget] [src: speaker] pcm0: + <- nid=15 [pin: AUX (Fixed)] [src: line1] pcm0: pcm0: nid=21 [pin: Line-out (Green Jack)] pcm0: | pcm0: + <- nid=14 [audio selector] [src: pcm, speaker, line, mic, line1] pcm0: | pcm0: + <- nid=8 [audio mixer] [src: pcm, speaker, line, mic, line1] pcm0: | pcm0: + <- nid=2 [audio output] [src: pcm] pcm0: + <- nid=7 [audio mixer] [src: speaker, line, mic, line1] pcm0: | pcm0: + <- nid=19 [pin: Mic (Black Jack)] [src: mic] pcm0: + <- nid=20 [pin: Line-in (Blue Jack)] [src: line] pcm0: + <- nid=23 [beep widget] [src: speaker] pcm0: + <- nid=15 [pin: AUX (Fixed)] [src: line1] pcm0: pcm0: Record: pcm0: pcm0: nid=4 [audio input] pcm0: | pcm0: + <- nid=19 [pin: Mic (Black Jack)] [src: mic] pcm0: + <- nid=20 [pin: Line-in (Blue Jack)] [src: line] pcm0: + <- nid=15 [pin: AUX (Fixed)] [src: line1] pcm0: pcm0: +-------------------------+ pcm0: | DUMPING Volume Controls | pcm0: +-------------------------+ pcm0: pcm0: Master Volume (OSS: vol) pcm0: | pcm0: +- ctl 11 (nid 8 out): -64/0dB (65 steps) pcm0: +- ctl 12 (nid 8 in 0): mute pcm0: +- ctl 13 (nid 8 in 1): mute pcm0: +- ctl 14 (nid 9 out): -64/0dB (65 steps) pcm0: +- ctl 15 (nid 9 in 0): mute pcm0: +- ctl 16 (nid 9 in 1): mute pcm0: +- ctl 21 (nid 16 in ): mute pcm0: +- ctl 26 (nid 21 in ): mute pcm0: pcm0: PCM Volume (OSS: pcm) pcm0: | pcm0: +- ctl 12 (nid 8 in 0): mute pcm0: +- ctl 15 (nid 9 in 0): mute pcm0: pcm0: Microphone Volume (OSS: mic) pcm0: | pcm0: +- ctl 4 (nid 7 in 1): -35/30dB (66 steps) + mute pcm0: pcm0: Line-in Volume (OSS: line) pcm0: | pcm0: +- ctl 5 (nid 7 in 2): -35/30dB (66 steps) + mute pcm0: pcm0: Speaker/Beep Volume (OSS: speaker) pcm0: | pcm0: +- ctl 8 (nid 7 in 5): -35/30dB (66 steps) + mute pcm0: pcm0: Unknown Ctl (OSS: line1) pcm0: | pcm0: +- ctl 9 (nid 7 in 6): -35/30dB (66 steps) + mute pcm0: pcm0: Enabling Soft PCM volume pcm0: Mixer "vol": pcm0: Mixer "pcm": pcm0: Mixer "speaker": pcm0: Mixer "line": pcm0: Mixer "mic": pcm0: Mixer "ogain": pcm0: Mixer "line1": pcm0: Soft PCM mixer ENABLED pcm0: clone manager: deadline=750ms flags=0x8000001e pcm0: sndbuf_setmap 1cb30000, 4000; 0xe7ae4000 -> 1cb30000 pcm0: sndbuf_setmap 1cb90000, 4000; 0xe7af4000 -> 1cb90000 I saw some mention of unmapped or incorrectly mapped audio outputs with snd_hda, but I'm not sure how to tell what they ought to be. I see some things are listed as [DISABLED] but haven't figured out whether that's reasonable or not. Any suggestions appreciated. ... JG -- Joe Greco - sol.net Network Services - Milwaukee, WI - http://www.sol.net "We call it the 'one bite at the apple' rule. Give me one chance [and] then I won't contact you again." - Direct Marketing Ass'n position on e-mail spam(CNN) With 24 million small businesses in the US alone, that's way too many apples. From owner-freebsd-multimedia@FreeBSD.ORG Mon Nov 23 08:43:05 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2607E1065676 for ; Mon, 23 Nov 2009 08:43:05 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-bw0-f213.google.com (mail-bw0-f213.google.com [209.85.218.213]) by mx1.freebsd.org (Postfix) with ESMTP id A242E8FC1D for ; Mon, 23 Nov 2009 08:43:04 +0000 (UTC) Received: by bwz5 with SMTP id 5so5101776bwz.3 for ; Mon, 23 Nov 2009 00:43:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=cmP341G/33OMniyFjTzAvtEl1CvbgujfQZXuZLfLHxM=; b=YhKQ0oD3K/JshDbkTdwtx4HgLEO6DgWskxB912GPMnxy0H2srq5v74pzcol2RBt3h0 +0KpkuVOWklGHGCD/Zh/d6j3QT50nGhb6rKImQ4gtJ01xdPZTsCPmn5admOGNNnf8ogB w1VOKfSoKhTJHBHOttUMK0DCElyLdNtG+nHDE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=GWVnsJSr37sfq7615jdy8yI+jVzXt8/ghgf9WkJy2xn63J/Ofc/e3dk7UjxOB4t8DT HZGRiTd4Q54m/THILZvrqUfJ2CmeO8SUHtLGkTgLWqBwk5u1ndsGpTOFbVl4+CYN7L2D SGE7jEZxAXp12HJUTvg6OKQ6LjKHHLpyjfzu8= Received: by 10.204.148.69 with SMTP id o5mr4263342bkv.99.1258964432832; Mon, 23 Nov 2009 00:20:32 -0800 (PST) Received: from mavbook.mavhome.dp.ua (pc.mavhome.dp.ua [212.86.226.226]) by mx.google.com with ESMTPS id 14sm1274669fxm.3.2009.11.23.00.20.32 (version=SSLv3 cipher=RC4-MD5); Mon, 23 Nov 2009 00:20:32 -0800 (PST) Sender: Alexander Motin Message-ID: <4B0A45CE.5030707@FreeBSD.org> Date: Mon, 23 Nov 2009 10:20:30 +0200 From: Alexander Motin User-Agent: Thunderbird 2.0.0.23 (X11/20090901) MIME-Version: 1.0 To: Joe Greco References: <1258957384.00186268.1258947002@10.7.7.3> In-Reply-To: <1258957384.00186268.1258947002@10.7.7.3> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-multimedia@freebsd.org Subject: Re: Pointers to debug lack-of-audio X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2009 08:43:05 -0000 Joe Greco wrote: > I've got a bunch of HP dc7600 Small Form Factor PC's. One of them is > running the latest version of PC-BSD, which is of course based on > FreeBSD 7.2-STABLE. It appears to load the audio driver, but it's > mute. The dc7600 sports a built-in speaker, and neither it nor any > of the jacks seem to produce sound. > > I've looked over the saga of the snd_hda driver, and am not quite clear > where to go. It looks configured. The pin mappings seem to make some > sort of sense, though I don't know what they ought to be. > > # cat /dev/sndstat > FreeBSD Audio Driver (newpcm: 32bit 2007061600/i386) > Installed devices: > pcm0: at cad 0 nid 1 on hdac0 kld snd_hda > [MPSAFE] (1p:1v/1r:1v channels duplex default) > > So it probes fine. > > Doing a kldunload/reload with verbose logging reveals > > hdac0: mem 0xfc500000-0xfc503fff irq 21 at device 27.0 on pci0 > hdac0: HDA Driver Revision: 20090624_0136 > hdac0: attempting to allocate 1 MSI vectors (1 supported) > msi: routing MSI IRQ 257 to vector 60 > hdac0: using IRQ 257 for MSI > msi: Assigning MSI IRQ 257 to local APIC 0 > hdac0: [MPSAFE] > hdac0: [ITHREAD] > hdac0: Probing codec #0... > hdac0: HDA Codec #0: Realtek ALC260 > hdac0: HDA Codec ID: 0x10ec0260 > hdac0: Vendor: 0x10ec > hdac0: Device: 0x0260 > hdac0: Revision: 0x04 > hdac0: Stepping: 0x00 > hdac0: PCI Subvendor: 0x3011103c > hdac0: Found audio FG nid=1 startnode=2 endnode=28 total=26 > hdac0: > hdac0: Processing audio FG cad=0 nid=1... > hdac0: GPIO: 0x40000004 NumGPIO=4 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1 > hdac0: nid 15 0x9993e133 as 3 seq 3 AUX Fixed jack 3 loc 25 color White misc 1 > hdac0: nid 16 0x0221101f as 1 seq 15 Headphones Jack jack 1 loc 2 color Black misc 0 > hdac0: nid 17 0x9707e120 as 2 seq 0 Line-out Fixed jack 7 loc 23 color White misc 1 > hdac0: nid 18 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 > hdac0: nid 19 0x02a11930 as 3 seq 0 Mic Jack jack 1 loc 2 color Black misc 9 > hdac0: nid 20 0x01813c31 as 3 seq 1 Line-in Jack jack 1 loc 1 color Blue misc 12 > hdac0: nid 21 0x01014c10 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 12 > hdac0: nid 22 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 > hdac0: Patching widget caps nid=23 0x00400000 -> 0x00700000 > hdac0: nid 24 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 > hdac0: nid 25 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 > hdac0: Patched pins configuration: > hdac0: nid 15 0x9993e133 as 3 seq 3 AUX Fixed jack 3 loc 25 color White misc 1 > hdac0: nid 16 0x0221101f as 1 seq 15 Headphones Jack jack 1 loc 2 color Black misc 0 > hdac0: nid 17 0x9707e120 as 2 seq 0 Line-out Fixed jack 7 loc 23 color White misc 1 > hdac0: nid 18 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] > hdac0: nid 19 0x02a11930 as 3 seq 0 Mic Jack jack 1 loc 2 color Black misc 9 > hdac0: nid 20 0x01813c31 as 3 seq 1 Line-in Jack jack 1 loc 1 color Blue misc 12 > hdac0: nid 21 0x01014c10 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 12 > hdac0: nid 22 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] > hdac0: nid 24 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] > hdac0: nid 25 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] > hdac0: 3 associations found: > hdac0: Association 0 (1) out: > hdac0: Pin nid=21 seq=0 > hdac0: Pin nid=16 seq=15 > hdac0: Association 1 (2) out: > hdac0: Pin nid=17 seq=0 > hdac0: Association 2 (3) in: > hdac0: Pin nid=19 seq=0 > hdac0: Pin nid=20 seq=1 > hdac0: Pin nid=15 seq=3 > hdac0: Tracing association 0 (1) > hdac0: Pin 21 traced to DAC 2 > hdac0: Pin 16 traced to DAC 2 and hpredir 0 > hdac0: Association 0 (1) trace succeeded > hdac0: Tracing association 1 (2) > hdac0: Unable to trace pin 17 seq 0 with min nid 0 > hdac0: Association 1 (2) trace failed Here is at least one bug in codec configuration ^^^. This codec has only one DAC, so it is unable to manage two playback devices. > hdac0: Tracing association 2 (3) > hdac0: Pin 19 traced to ADC 4 > hdac0: Pin 20 traced to ADC 4 > hdac0: Pin 15 traced to ADC 4 > hdac0: Association 2 (3) trace succeeded > hdac0: Tracing input monitor > hdac0: Tracing beeper > hdac0: nid 23 traced to out > hdac0: Enabling headphone/speaker audio routing switching: > hdac0: as=0 sense nid=16 [UNSOL] > hdac0: Pin sense: nid=16 res=0x7fffffff > hdac0: FG config/quirks: forcestereo ivref50 ivref80 ivref100 ivref > I saw some mention of unmapped or incorrectly mapped audio outputs > with snd_hda, but I'm not sure how to tell what they ought to be. > I see some things are listed as [DISABLED] but haven't figured out > whether that's reasonable or not. Speakers sometimes controlled with setting GPIO signals. You may need to experiment with them. Same time, your output connector configured for automatic audio redirection, with default to speaker, but if it is incapable of signaling jack presence, it won't ever receive any sound. -- Alexander Motin From owner-freebsd-multimedia@FreeBSD.ORG Mon Nov 23 11:07:00 2009 Return-Path: Delivered-To: freebsd-multimedia@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3FC1B1065692 for ; Mon, 23 Nov 2009 11:07:00 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 238B28FC13 for ; Mon, 23 Nov 2009 11:07:00 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id nANB70RJ070192 for ; Mon, 23 Nov 2009 11:07:00 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id nANB6x8S070190 for freebsd-multimedia@FreeBSD.org; Mon, 23 Nov 2009 11:06:59 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 23 Nov 2009 11:06:59 GMT Message-Id: <200911231106.nANB6x8S070190@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-multimedia@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-multimedia@FreeBSD.org X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2009 11:07:00 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o kern/140591 multimedia [PATCH][sound] No sound output on lineout/headphone ja o kern/140453 multimedia [sound] No sound inside Virtualbox on 50% volume o ports/139071 multimedia multimedia/x264 does not link on 8-RC1 o ports/138386 multimedia multimedia/mkvtoolnix lacks the Qt-Gui and configure-k o ports/138213 multimedia Apply SqueezeCenter patches to audio/faad that enable o kern/137589 multimedia [snd_uaudio] snd_uaudio.ko (USB audio driver) doesn't o kern/134767 multimedia [sound] [snd_hda] [regression] Sigmatel STAC9205X no s o ports/133462 multimedia multimedia/x264 build fails on powerpc o kern/132848 multimedia [sound] [snd_emu10kx] driver problem with card init, s o kern/132511 multimedia [sound] [snd_hda] Probing ALC888 codec on ASRock K10N7 o kern/129604 multimedia [sound] Sound stops with error: pcm0:virtual:dsp0.vp0: o kern/127131 multimedia [bktr] /usr/src/sys/dev/bktr/bktr_os.c, line 469: wron o ports/127084 multimedia multimedia/linux-realplayer is vulnerable s kern/125756 multimedia [sound] [patch] cannot detect soft-modem on HDA bus o kern/124319 multimedia [sound] [snd_emu10k1] [regression] Cannot record from o kern/122086 multimedia [sound] maestro sound driver is working, but mixer ini p kern/121156 multimedia [sound] [patch] Turn on inverted external amplifier se o kern/120857 multimedia [sound] [snd_emu10k1] snd_emu10k1 driver issues a warn o kern/120780 multimedia [sound] [snd_hda] snd_hda doesn't work on Dell Latitut o kern/119973 multimedia [sound] [snd_maestro] [regression] snd_maestro only wo o kern/119931 multimedia [sound] No sound card detected on ASUS "K8V-X SE R2.00 o kern/119759 multimedia [sound] [snd_emu10k1] [regression] Can not record anyt f kern/115666 multimedia [sound] Microphone does not work o kern/115300 multimedia [sound] [snd_hda] [regression] snd_hda(4) fails to att o kern/114760 multimedia [sound] [snd_cmi] snd_cmi driver causing sporadic syst s kern/113950 multimedia [sound] [patch] [request] add per-vchan mixer support o kern/111767 multimedia [sound] ATI SB450 High Definition Audio Controller sou o kern/107516 multimedia [sound] [snd_emu10k1] - skips, clicks and lag after a o kern/107051 multimedia [sound] only 2 channels output works for the ALC850 (o o kern/104874 multimedia [sound] [snd_emu10k1] kldload snd_emu10k1 hangs system o kern/104626 multimedia [sound] FreeBSD 6.2 does not support SoundBlaster Audi o kern/101417 multimedia [sound] 4-speakers output not possible on Asus A8V-Del o kern/100859 multimedia [sound] [snd_ich] snd_ich broken on GIGABYTE 915 syste o kern/98752 multimedia [sound] Intel ich6 82801 FB - on Packard Bell A8810 la o kern/98504 multimedia [sound] Sound is distorted with SB Live 5.1 o kern/98496 multimedia [sound] [snd_ich] some functions don't work in my soun o kern/98167 multimedia [sound] [es137x] [patch] ES1370 mixer volumes incorrec o kern/97609 multimedia [sound] Load Sound Module - VIA8233 - fails o kern/97535 multimedia [sound] [snd_mss] doesn't work in 6.0-RELEASE and abov o kern/96538 multimedia [sound] emu10k1-driver inverts channels o kern/95086 multimedia [sound] uaudio line in problem with sbdm lx o kern/94279 multimedia [sound] [snd_neomagic] snd_neomagic crashes on FreeBSD o kern/93986 multimedia [sound] Acer TravelMate 4652LMi pcm0 channel dead o kern/92512 multimedia [sound] distorted mono output with emu10k1 o kern/87782 multimedia [sound] snd_t4dwave and pcm0:record:0: record interrup s kern/83697 multimedia [sound] [snd_mss] [patch] support, docs added for full o kern/82043 multimedia [sound] snd_emu10k1 - mixer does not work. o kern/81146 multimedia [sound] Sound isn't working AT ALL for Sis7012 onboard o kern/80632 multimedia [sound] pcm driver missing support for CMI8738 auxilla o kern/79912 multimedia [sound] sound broken for 2 VIA chipsets: interrupt sto o kern/79905 multimedia [sound] sis7018 sound module problem o kern/79678 multimedia [sound] sound works except recording from any source f kern/72995 multimedia [sound] Intel ICH2 (82801BA) - sound nearly inaudible o kern/63204 multimedia [sound] /dev/mixer broken with ESS Maestro-2E (still o o kern/60677 multimedia [sound] [patch] No reaction of volume controy key on I s kern/60599 multimedia [bktr] [partial patch] No sound for ATI TV Wonder (ste o kern/37600 multimedia [sound] [partial patch] t4dwave drive doesn't record. o kern/23546 multimedia [sound] [snd_csa] [patch] csa DMA-interrupt problem 58 problems total. From owner-freebsd-multimedia@FreeBSD.ORG Mon Nov 23 11:45:04 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 71CBB1065695 for ; Mon, 23 Nov 2009 11:45:04 +0000 (UTC) (envelope-from decke@bluelife.at) Received: from mail.itac.at (mail.itac.at [91.205.172.9]) by mx1.freebsd.org (Postfix) with ESMTP id 2A4888FC12 for ; Mon, 23 Nov 2009 11:45:03 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=webmail.itac.at) by mail.itac.at with esmtpa (Exim 4.63) (envelope-from ) id 1NCXLr-0001fr-84 for freebsd-multimedia@freebsd.org; Mon, 23 Nov 2009 12:45:03 +0100 Received: from 83.64.253.201 (proxying for unknown) (SquirrelMail authenticated user decke@bluelife.at) by webmail.itac.at with HTTP; Mon, 23 Nov 2009 12:45:03 +0100 (CET) Message-ID: <2b3562edb67496f3814c8ba8b45f23b9.squirrel@webmail.itac.at> Date: Mon, 23 Nov 2009 12:45:03 +0100 (CET) From: "Bernhard Froehlich" To: freebsd-multimedia@freebsd.org User-Agent: SquirrelMail/1.4.15 MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) Importance: Normal Subject: Call for Testers: MythTV 0.22 (Trial 2) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2009 11:45:04 -0000 There were some problems with the first call for testers but that compile problems should be fixed now and x11 and ivtv should be working. I've already tested mythtv-frontend and watched some livetv and recordings on FreeBSD 8.0/amd64 playing content from an mythtv 0.22 backend running on linux. Changes since first cft: mythtv: - improved mythbackend startscript (patch from Torfinn Ingolfsen) - enabled ivtv - fixed build failures mythtv-frontend: - fixed DESKTOP_ENTRIES Download: - http://home.bluelife.at/ports/mythtv-0.22-20091123.tar.gz Testing it: # cd /tmp # fetch http://home.bluelife.at/ports/mythtv-0.22-20091123.tar.gz # cd /usr/ports/multimedia # tar xvf /tmp/mythtv-0.22-20091123.tar.gz # cd mythtv && make install Thanks! -- Bernhard Fröhlich http://www.bluelife.at/ From owner-freebsd-multimedia@FreeBSD.ORG Mon Nov 23 16:22:11 2009 Return-Path: Delivered-To: freebsd-multimedia@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 885FE10656A4; Mon, 23 Nov 2009 16:22:11 +0000 (UTC) (envelope-from jgreco@aurora.sol.net) Received: from mail1.sol.net (mail1.sol.net [206.55.64.72]) by mx1.freebsd.org (Postfix) with ESMTP id 1183F8FC20; Mon, 23 Nov 2009 16:22:10 +0000 (UTC) Received: from aurora.sol.net (aurora.sol.net [206.55.65.130]) by mail1.sol.net (8.14.1/8.14.1/SNNS-1.04) with ESMTP id nANGM9YP041099; Mon, 23 Nov 2009 10:22:09 -0600 (CST) Received: (from jgreco@localhost) by aurora.sol.net (8.12.8p1/8.12.9/Submit) id nANGM9Wl048293; Mon, 23 Nov 2009 10:22:09 -0600 (CST) From: Joe Greco Message-Id: <200911231622.nANGM9Wl048293@aurora.sol.net> To: mav@FreeBSD.org (Alexander Motin) Date: Mon, 23 Nov 2009 10:22:09 -0600 (CST) In-Reply-To: <4B0A45CE.5030707@FreeBSD.org> from "Alexander Motin" at Nov 23, 2009 10:20:30 AM X-Mailer: ELM [version 2.5 PL6] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: freebsd-multimedia@FreeBSD.org Subject: Re: Pointers to debug lack-of-audio X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2009 16:22:11 -0000 > > hdac0: Processing audio FG cad=0 nid=1... > > hdac0: GPIO: 0x40000004 NumGPIO=4 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1 > > hdac0: nid 15 0x9993e133 as 3 seq 3 AUX Fixed jack 3 loc 25 color White misc 1 > > hdac0: nid 16 0x0221101f as 1 seq 15 Headphones Jack jack 1 loc 2 color Black misc 0 > > hdac0: nid 17 0x9707e120 as 2 seq 0 Line-out Fixed jack 7 loc 23 color White misc 1 > > hdac0: nid 18 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 > > hdac0: nid 19 0x02a11930 as 3 seq 0 Mic Jack jack 1 loc 2 color Black misc 9 > > hdac0: nid 20 0x01813c31 as 3 seq 1 Line-in Jack jack 1 loc 1 color Blue misc 12 > > hdac0: nid 21 0x01014c10 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 12 > > hdac0: nid 22 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 > > hdac0: Patching widget caps nid=23 0x00400000 -> 0x00700000 > > hdac0: nid 24 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 > > hdac0: nid 25 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 > > hdac0: Patched pins configuration: > > hdac0: nid 15 0x9993e133 as 3 seq 3 AUX Fixed jack 3 loc 25 color White misc 1 > > hdac0: nid 16 0x0221101f as 1 seq 15 Headphones Jack jack 1 loc 2 color Black misc 0 > > hdac0: nid 17 0x9707e120 as 2 seq 0 Line-out Fixed jack 7 loc 23 color White misc 1 > > hdac0: nid 18 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] > > hdac0: nid 19 0x02a11930 as 3 seq 0 Mic Jack jack 1 loc 2 color Black misc 9 > > hdac0: nid 20 0x01813c31 as 3 seq 1 Line-in Jack jack 1 loc 1 color Blue misc 12 > > hdac0: nid 21 0x01014c10 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 12 > > hdac0: nid 22 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] > > hdac0: nid 24 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] > > hdac0: nid 25 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] > > hdac0: 3 associations found: > > hdac0: Association 0 (1) out: > > hdac0: Pin nid=21 seq=0 > > hdac0: Pin nid=16 seq=15 > > hdac0: Association 1 (2) out: > > hdac0: Pin nid=17 seq=0 > > hdac0: Association 2 (3) in: > > hdac0: Pin nid=19 seq=0 > > hdac0: Pin nid=20 seq=1 > > hdac0: Pin nid=15 seq=3 > > hdac0: Tracing association 0 (1) > > hdac0: Pin 21 traced to DAC 2 > > hdac0: Pin 16 traced to DAC 2 and hpredir 0 > > hdac0: Association 0 (1) trace succeeded > > hdac0: Tracing association 1 (2) > > hdac0: Unable to trace pin 17 seq 0 with min nid 0 > > hdac0: Association 1 (2) trace failed > > Here is at least one bug in codec configuration ^^^. This codec has only > one DAC, so it is unable to manage two playback devices. > > > hdac0: Tracing association 2 (3) > > hdac0: Pin 19 traced to ADC 4 > > hdac0: Pin 20 traced to ADC 4 > > hdac0: Pin 15 traced to ADC 4 > > hdac0: Association 2 (3) trace succeeded > > hdac0: Tracing input monitor > > hdac0: Tracing beeper > > hdac0: nid 23 traced to out > > hdac0: Enabling headphone/speaker audio routing switching: > > hdac0: as=0 sense nid=16 [UNSOL] > > hdac0: Pin sense: nid=16 res=0x7fffffff > > hdac0: FG config/quirks: forcestereo ivref50 ivref80 ivref100 ivref > > > I saw some mention of unmapped or incorrectly mapped audio outputs > > with snd_hda, but I'm not sure how to tell what they ought to be. > > I see some things are listed as [DISABLED] but haven't figured out > > whether that's reasonable or not. > > Speakers sometimes controlled with setting GPIO signals. You may need to > experiment with them. Same time, your output connector configured for > automatic audio redirection, with default to speaker, but if it is > incapable of signaling jack presence, it won't ever receive any sound. Okay, so ... I'm trying, then, to get rid of what's currently listed as "Association 1 (2)"? That's simply "Pin nid=17 seq=0" which maps to "nid 17 0x9707e120 as 2 seq 0 Line-out Fixed jack 7 loc 23 color White misc 1" So would this be hint.hdac.0.cad0.nid17.config="as=1 seq=1 device=Line-out" ? I'm kind of guessing here. This gets me another nonfunctional config, hdac0: [MPSAFE] hdac0: [ITHREAD] hdac0: Probing codec #0... hdac0: HDA Codec #0: Realtek ALC260 hdac0: HDA Codec ID: 0x10ec0260 hdac0: Vendor: 0x10ec hdac0: Device: 0x0260 hdac0: Revision: 0x04 hdac0: Stepping: 0x00 hdac0: PCI Subvendor: 0x3011103c hdac0: Found audio FG nid=1 startnode=2 endnode=28 total=26 hdac0: hdac0: Processing audio FG cad=0 nid=1... hdac0: GPIO: 0x40000004 NumGPIO=4 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1 hdac0: nid 15 0x9993e133 as 3 seq 3 AUX Fixed jack 3 loc 25 color White misc 1 hdac0: nid 16 0x0221101f as 1 seq 15 Headphones Jack jack 1 loc 2 color Black misc 0 hdac0: nid 17 0x9707e120 as 2 seq 0 Line-out Fixed jack 7 loc 23 color White misc 1 hdac0: Patching pin config nid=17 0x9707e120 -> 0x9707e111 hdac0: nid 18 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 hdac0: nid 19 0x02a11930 as 3 seq 0 Mic Jack jack 1 loc 2 color Black misc 9 hdac0: nid 20 0x01813c31 as 3 seq 1 Line-in Jack jack 1 loc 1 color Blue misc 12 hdac0: nid 21 0x01014c10 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 12 hdac0: nid 22 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 hdac0: Patching widget caps nid=23 0x00400000 -> 0x00700000 hdac0: nid 24 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 hdac0: nid 25 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 hdac0: Patched pins configuration: hdac0: nid 15 0x9993e133 as 3 seq 3 AUX Fixed jack 3 loc 25 color White misc 1 hdac0: nid 16 0x0221101f as 1 seq 15 Headphones Jack jack 1 loc 2 color Black misc 0 hdac0: nid 17 0x9707e111 as 1 seq 1 Line-out Fixed jack 7 loc 23 color White misc 1 hdac0: nid 18 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] hdac0: nid 19 0x02a11930 as 3 seq 0 Mic Jack jack 1 loc 2 color Black misc 9 hdac0: nid 20 0x01813c31 as 3 seq 1 Line-in Jack jack 1 loc 1 color Blue misc 12 hdac0: nid 21 0x01014c10 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 12 hdac0: nid 22 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] hdac0: nid 24 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] hdac0: nid 25 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] hdac0: 2 associations found: hdac0: Association 0 (1) out: hdac0: Pin nid=21 seq=0 hdac0: Pin nid=17 seq=1 hdac0: Pin nid=16 seq=15 hdac0: Association 1 (3) in: hdac0: Pin nid=19 seq=0 hdac0: Pin nid=20 seq=1 hdac0: Pin nid=15 seq=3 hdac0: Tracing association 0 (1) hdac0: Pin 21 traced to DAC 2 hdac0: Unable to trace pin 17 seq 1 with min nid 0 hdac0: Unable to trace pin 21 seq 0 with min nid 3 hdac0: Pin 21 traced to DAC 2 with fake redirection hdac0: Unable to trace pin 17 seq 1 with min nid 0 hdac0: Unable to trace pin 21 seq 0 with min nid 3 hdac0: Association 0 (1) trace failed hdac0: Tracing association 1 (3) hdac0: Pin 19 traced to ADC 4 hdac0: Pin 20 traced to ADC 4 hdac0: Pin 15 traced to ADC 4 hdac0: Association 1 (3) trace succeeded hdac0: Tracing input monitor hdac0: Tracing beeper hdac0: FG config/quirks: forcestereo ivref50 ivref80 ivref100 ivref But that's also getting "Unable to trace" messages. Am I supposed to be trying to figure this out before trying to play with gpio signals? ... JG -- Joe Greco - sol.net Network Services - Milwaukee, WI - http://www.sol.net "We call it the 'one bite at the apple' rule. Give me one chance [and] then I won't contact you again." - Direct Marketing Ass'n position on e-mail spam(CNN) With 24 million small businesses in the US alone, that's way too many apples. From owner-freebsd-multimedia@FreeBSD.ORG Mon Nov 23 16:40:47 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D4AF8106566B for ; Mon, 23 Nov 2009 16:40:47 +0000 (UTC) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from bgo1smout1.broadpark.no (bgo1smout1.broadpark.no [217.13.4.94]) by mx1.freebsd.org (Postfix) with ESMTP id 90F288FC1A for ; Mon, 23 Nov 2009 16:40:47 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; charset=US-ASCII Received: from bgo1sminn1.broadpark.no ([217.13.4.93]) by bgo1smout1.broadpark.no (Sun Java(tm) System Messaging Server 6.3-3.01 (built Jul 12 2007; 32bit)) with ESMTP id <0KTK00DAKMB1CO00@bgo1smout1.broadpark.no> for freebsd-multimedia@freebsd.org; Mon, 23 Nov 2009 17:40:13 +0100 (CET) Received: from kg-v2.kg4.no ([80.203.92.186]) by bgo1sminn1.broadpark.no (Sun Java(tm) System Messaging Server 6.3-3.01 (built Jul 12 2007; 32bit)) with SMTP id <0KTK0002DMB1A7K0@bgo1sminn1.broadpark.no> for freebsd-multimedia@freebsd.org; Mon, 23 Nov 2009 17:40:13 +0100 (CET) Date: Mon, 23 Nov 2009 17:40:13 +0100 From: Torfinn Ingolfsen To: freebsd-multimedia@freebsd.org Message-id: <20091123174013.3e265bc8.torfinn.ingolfsen@broadpark.no> In-reply-to: <2b3562edb67496f3814c8ba8b45f23b9.squirrel@webmail.itac.at> References: <2b3562edb67496f3814c8ba8b45f23b9.squirrel@webmail.itac.at> X-Mailer: Sylpheed 2.7.1 (GTK+ 2.16.6; amd64-portbld-freebsd7.2) X-Face: "t9w2,-X@O^I`jVW\sonI3.,36KBLZE*AL[y9lL[PyFD*r_S:dIL9c[8Y>V42R0"!"yb_zN,f#%.[PYYNq; m"_0v; ~rUM2Yy!zmkh)3&U|u!=T(zyv,MHJv"nDH>OJ`t(@mil461d_B'Uo|'nMwlKe0Mv=kvV?Nh@>Hb<3s_z2jYgZhPb@?Wi^x1a~Hplz1.zH Subject: Re: Call for Testers: MythTV 0.22 (Trial 2) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2009 16:40:47 -0000 On Mon, 23 Nov 2009 12:45:03 +0100 (CET) Bernhard Froehlich wrote: > There were some problems with the first call for testers but that > compile problems should be fixed now and x11 and ivtv should be > working. > [...] > Testing it: Still compiling. Anyway, it looks like parts of MythTV 0.22 now uses (or want to use) svn: sh "/usr/ports/multimedia/mythtv/work/mythtv-0.22/version.sh" "/usr/ports/multimedia/mythtv/work/mythtv-0.22" ": http://svn.mythtv.org/svn/tags/release-0-22/mythtv/version.pro " svnversion: not found I don't know how that could affect things. -- Regards, Torfinn Ingolfsen From owner-freebsd-multimedia@FreeBSD.ORG Mon Nov 23 17:02:57 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 02DFC106568F for ; Mon, 23 Nov 2009 17:02:57 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-bw0-f220.google.com (mail-bw0-f220.google.com [209.85.218.220]) by mx1.freebsd.org (Postfix) with ESMTP id 59B4A8FC29 for ; Mon, 23 Nov 2009 17:02:55 +0000 (UTC) Received: by bwz20 with SMTP id 20so4150954bwz.14 for ; Mon, 23 Nov 2009 09:02:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=ATsveqCphiF3lYrgqIy6iBWi5UaIVmO0lNF+zxhy5O8=; b=muySeo8saweWkEGsCzdrk2+jg50cZbDj3NGIbivmpyhuuRChL3/jDBRvump0WsqFs4 zv2AS4J1fk8+tFf7D3843MwYOBbTZlZfz2K+tUsQuOwL00j08JXUzQv9FgX0ZduK+z04 ssHWogEOdnZPi2gB7pzPiqjSv6qcl2shC2nNs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=NT4Y1avJi7LTLw319Qig5IRRH1OpjOWo5Ll3vR5okxr2EIuzzcN1exRExxgicD85DT VxnJxImUiCizAh/6n0DzRbZSFFN8MqR6KVakpWsKTTrCqQDKFaViuaZgXEXBnjqqTOU+ oMnsDH6O5XLUxbjU7xVnqGUuElriTmmB0/kVQ= Received: by 10.204.49.82 with SMTP id u18mr5087623bkf.47.1258995774414; Mon, 23 Nov 2009 09:02:54 -0800 (PST) Received: from mavbook.mavhome.dp.ua (pc.mavhome.dp.ua [212.86.226.226]) by mx.google.com with ESMTPS id 14sm1448141fxm.7.2009.11.23.09.02.53 (version=SSLv3 cipher=RC4-MD5); Mon, 23 Nov 2009 09:02:53 -0800 (PST) Sender: Alexander Motin Message-ID: <4B0AC03B.50602@FreeBSD.org> Date: Mon, 23 Nov 2009 19:02:51 +0200 From: Alexander Motin User-Agent: Thunderbird 2.0.0.23 (X11/20090901) MIME-Version: 1.0 To: Joe Greco References: <200911231622.nANGM9Wl048293@aurora.sol.net> In-Reply-To: <200911231622.nANGM9Wl048293@aurora.sol.net> X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-multimedia@FreeBSD.org Subject: Re: Pointers to debug lack-of-audio X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2009 17:02:57 -0000 Joe Greco wrote: >>> hdac0: Processing audio FG cad=0 nid=1... >>> hdac0: GPIO: 0x40000004 NumGPIO=4 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1 >>> hdac0: nid 15 0x9993e133 as 3 seq 3 AUX Fixed jack 3 loc 25 color White misc 1 >>> hdac0: nid 16 0x0221101f as 1 seq 15 Headphones Jack jack 1 loc 2 color Black misc 0 >>> hdac0: nid 17 0x9707e120 as 2 seq 0 Line-out Fixed jack 7 loc 23 color White misc 1 >>> hdac0: nid 18 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 >>> hdac0: nid 19 0x02a11930 as 3 seq 0 Mic Jack jack 1 loc 2 color Black misc 9 >>> hdac0: nid 20 0x01813c31 as 3 seq 1 Line-in Jack jack 1 loc 1 color Blue misc 12 >>> hdac0: nid 21 0x01014c10 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 12 >>> hdac0: nid 22 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 >>> hdac0: Patching widget caps nid=23 0x00400000 -> 0x00700000 >>> hdac0: nid 24 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 >>> hdac0: nid 25 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 >>> hdac0: Patched pins configuration: >>> hdac0: nid 15 0x9993e133 as 3 seq 3 AUX Fixed jack 3 loc 25 color White misc 1 >>> hdac0: nid 16 0x0221101f as 1 seq 15 Headphones Jack jack 1 loc 2 color Black misc 0 >>> hdac0: nid 17 0x9707e120 as 2 seq 0 Line-out Fixed jack 7 loc 23 color White misc 1 >>> hdac0: nid 18 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] >>> hdac0: nid 19 0x02a11930 as 3 seq 0 Mic Jack jack 1 loc 2 color Black misc 9 >>> hdac0: nid 20 0x01813c31 as 3 seq 1 Line-in Jack jack 1 loc 1 color Blue misc 12 >>> hdac0: nid 21 0x01014c10 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 12 >>> hdac0: nid 22 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] >>> hdac0: nid 24 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] >>> hdac0: nid 25 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] >>> hdac0: 3 associations found: >>> hdac0: Association 0 (1) out: >>> hdac0: Pin nid=21 seq=0 >>> hdac0: Pin nid=16 seq=15 >>> hdac0: Association 1 (2) out: >>> hdac0: Pin nid=17 seq=0 >>> hdac0: Association 2 (3) in: >>> hdac0: Pin nid=19 seq=0 >>> hdac0: Pin nid=20 seq=1 >>> hdac0: Pin nid=15 seq=3 >>> hdac0: Tracing association 0 (1) >>> hdac0: Pin 21 traced to DAC 2 >>> hdac0: Pin 16 traced to DAC 2 and hpredir 0 >>> hdac0: Association 0 (1) trace succeeded >>> hdac0: Tracing association 1 (2) >>> hdac0: Unable to trace pin 17 seq 0 with min nid 0 >>> hdac0: Association 1 (2) trace failed >> Here is at least one bug in codec configuration ^^^. This codec has only >> one DAC, so it is unable to manage two playback devices. >> >>> hdac0: Tracing association 2 (3) >>> hdac0: Pin 19 traced to ADC 4 >>> hdac0: Pin 20 traced to ADC 4 >>> hdac0: Pin 15 traced to ADC 4 >>> hdac0: Association 2 (3) trace succeeded >>> hdac0: Tracing input monitor >>> hdac0: Tracing beeper >>> hdac0: nid 23 traced to out >>> hdac0: Enabling headphone/speaker audio routing switching: >>> hdac0: as=0 sense nid=16 [UNSOL] >>> hdac0: Pin sense: nid=16 res=0x7fffffff >>> hdac0: FG config/quirks: forcestereo ivref50 ivref80 ivref100 ivref >>> I saw some mention of unmapped or incorrectly mapped audio outputs >>> with snd_hda, but I'm not sure how to tell what they ought to be. >>> I see some things are listed as [DISABLED] but haven't figured out >>> whether that's reasonable or not. >> Speakers sometimes controlled with setting GPIO signals. You may need to >> experiment with them. Same time, your output connector configured for >> automatic audio redirection, with default to speaker, but if it is >> incapable of signaling jack presence, it won't ever receive any sound. > > > Okay, so ... I'm trying, then, to get rid of what's currently listed as > "Association 1 (2)"? That's simply "Pin nid=17 seq=0" which maps to > "nid 17 0x9707e120 as 2 seq 0 Line-out Fixed jack 7 loc 23 color > White misc 1" > > So would this be > > hint.hdac.0.cad0.nid17.config="as=1 seq=1 device=Line-out" > > ? I'm kind of guessing here. This gets me another nonfunctional config, > > hdac0: [MPSAFE] > hdac0: [ITHREAD] > hdac0: Probing codec #0... > hdac0: HDA Codec #0: Realtek ALC260 > hdac0: HDA Codec ID: 0x10ec0260 > hdac0: Vendor: 0x10ec > hdac0: Device: 0x0260 > hdac0: Revision: 0x04 > hdac0: Stepping: 0x00 > hdac0: PCI Subvendor: 0x3011103c > hdac0: Found audio FG nid=1 startnode=2 endnode=28 total=26 > hdac0: > hdac0: Processing audio FG cad=0 nid=1... > hdac0: GPIO: 0x40000004 NumGPIO=4 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1 > hdac0: nid 15 0x9993e133 as 3 seq 3 AUX Fixed jack 3 loc 25 color White misc 1 > hdac0: nid 16 0x0221101f as 1 seq 15 Headphones Jack jack 1 loc 2 color Black misc 0 > hdac0: nid 17 0x9707e120 as 2 seq 0 Line-out Fixed jack 7 loc 23 color White misc 1 > hdac0: Patching pin config nid=17 0x9707e120 -> 0x9707e111 > hdac0: nid 18 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 > hdac0: nid 19 0x02a11930 as 3 seq 0 Mic Jack jack 1 loc 2 color Black misc 9 > hdac0: nid 20 0x01813c31 as 3 seq 1 Line-in Jack jack 1 loc 1 color Blue misc 12 > hdac0: nid 21 0x01014c10 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 12 > hdac0: nid 22 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 > hdac0: Patching widget caps nid=23 0x00400000 -> 0x00700000 > hdac0: nid 24 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 > hdac0: nid 25 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 > hdac0: Patched pins configuration: > hdac0: nid 15 0x9993e133 as 3 seq 3 AUX Fixed jack 3 loc 25 color White misc 1 > hdac0: nid 16 0x0221101f as 1 seq 15 Headphones Jack jack 1 loc 2 color Black misc 0 > hdac0: nid 17 0x9707e111 as 1 seq 1 Line-out Fixed jack 7 loc 23 color White misc 1 > hdac0: nid 18 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] > hdac0: nid 19 0x02a11930 as 3 seq 0 Mic Jack jack 1 loc 2 color Black misc 9 > hdac0: nid 20 0x01813c31 as 3 seq 1 Line-in Jack jack 1 loc 1 color Blue misc 12 > hdac0: nid 21 0x01014c10 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 12 > hdac0: nid 22 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] > hdac0: nid 24 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] > hdac0: nid 25 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] > hdac0: 2 associations found: > hdac0: Association 0 (1) out: > hdac0: Pin nid=21 seq=0 > hdac0: Pin nid=17 seq=1 > hdac0: Pin nid=16 seq=15 > hdac0: Association 1 (3) in: > hdac0: Pin nid=19 seq=0 > hdac0: Pin nid=20 seq=1 > hdac0: Pin nid=15 seq=3 > hdac0: Tracing association 0 (1) > hdac0: Pin 21 traced to DAC 2 > hdac0: Unable to trace pin 17 seq 1 with min nid 0 > hdac0: Unable to trace pin 21 seq 0 with min nid 3 > hdac0: Pin 21 traced to DAC 2 with fake redirection > hdac0: Unable to trace pin 17 seq 1 with min nid 0 > hdac0: Unable to trace pin 21 seq 0 with min nid 3 > hdac0: Association 0 (1) trace failed > hdac0: Tracing association 1 (3) > hdac0: Pin 19 traced to ADC 4 > hdac0: Pin 20 traced to ADC 4 > hdac0: Pin 15 traced to ADC 4 > hdac0: Association 1 (3) trace succeeded > hdac0: Tracing input monitor > hdac0: Tracing beeper > hdac0: FG config/quirks: forcestereo ivref50 ivref80 ivref100 ivref > > But that's also getting "Unable to trace" messages. That what you have configured still require two DACs. Only one seq=15 can share DAC with others. You'll have to disable one of them. How much connectors do you have on case? May be some of configured nids is fake? Looking on codec datasheet, nid 17 is mono out, so it is a good candidate to be used for speaker. > Am I supposed to > be trying to figure this out before trying to play with gpio signals? Better solve all possible problems before, as there is quite large number of combinations. -- Alexander Motin From owner-freebsd-multimedia@FreeBSD.ORG Mon Nov 23 18:48:34 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B208106566C for ; Mon, 23 Nov 2009 18:48:34 +0000 (UTC) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from bgo1smout1.broadpark.no (bgo1smout1.broadpark.no [217.13.4.94]) by mx1.freebsd.org (Postfix) with ESMTP id 4F28A8FC19 for ; Mon, 23 Nov 2009 18:48:33 +0000 (UTC) MIME-version: 1.0 Content-type: multipart/mixed; boundary="Boundary_(ID_O7pjPhRemMzmaJfftFeXEQ)" Received: from bgo1sminn1.broadpark.no ([217.13.4.93]) by bgo1smout1.broadpark.no (Sun Java(tm) System Messaging Server 6.3-3.01 (built Jul 12 2007; 32bit)) with ESMTP id <0KTK00E4WS8LRD90@bgo1smout1.broadpark.no> for freebsd-multimedia@freebsd.org; Mon, 23 Nov 2009 19:48:21 +0100 (CET) Received: from kg-v2.kg4.no ([80.203.92.186]) by bgo1sminn1.broadpark.no (Sun Java(tm) System Messaging Server 6.3-3.01 (built Jul 12 2007; 32bit)) with SMTP id <0KTK000TFS8HHXX0@bgo1sminn1.broadpark.no> for freebsd-multimedia@freebsd.org; Mon, 23 Nov 2009 19:48:21 +0100 (CET) Date: Mon, 23 Nov 2009 19:48:17 +0100 From: Torfinn Ingolfsen To: freebsd-multimedia@freebsd.org Message-id: <20091123194817.fbe23d38.torfinn.ingolfsen@broadpark.no> In-reply-to: <2b3562edb67496f3814c8ba8b45f23b9.squirrel@webmail.itac.at> References: <2b3562edb67496f3814c8ba8b45f23b9.squirrel@webmail.itac.at> X-Mailer: Sylpheed 2.7.1 (GTK+ 2.16.6; amd64-portbld-freebsd7.2) X-Face: "t9w2,-X@O^I`jVW\sonI3.,36KBLZE*AL[y9lL[PyFD*r_S:dIL9c[8Y>V42R0"!"yb_zN,f#%.[PYYNq; m"_0v; ~rUM2Yy!zmkh)3&U|u!=T(zyv,MHJv"nDH>OJ`t(@mil461d_B'Uo|'nMwlKe0Mv=kvV?Nh@>Hb<3s_z2jYgZhPb@?Wi^x1a~Hplz1.zH Subject: Re: Call for Testers: MythTV 0.22 (Trial 2) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2009 18:48:34 -0000 This is a multi-part message in MIME format. --Boundary_(ID_O7pjPhRemMzmaJfftFeXEQ) Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT On Mon, 23 Nov 2009 12:45:03 +0100 (CET) Bernhard Froehlich wrote: > There were some problems with the first call for testers but that > compile problems should be fixed now and x11 and ivtv should be > working. I donwloaded the new cft, and did a clean make install. Ok, I can now watch recordings that I did previously (with the first 0.22 cft) - this is good. But when I try to "watch TV", it just stays on the "please wait" screen a bit, and thenm returns to the menu. In /var/log/mythbackend.log I see this: 2009-11-23 19:23:21.478 TVRec(2): Changing from None to Watching WatchingLiveTV 2009-11-23 19:23:21.485 TVRec(2): HW Tuner: 2->2 2009-11-23 19:23:21.702 TVRec(2) Error: Need MPEG recorder, but compiled without MPEG support! 2009-11-23 19:23:21.704 TVRec(2) Error: Failed to start recorder! Tuning request was Program(no) channel(1) input(Tuner 0) flags(LiveTV,) 2009-11-23 19:23:21.711 Finished recording Dagsrevyen: channel 1 2009-11-23 19:23:21.714 TVRec(2): Changing from Watching WatchingLiveTV to None mythfrontend -w -v record' doesn't say anything about missing mpeg: 2009-11-23 19:34:28.537 TV: Attempting to change from None to Watching WatchingLiveTV 2009-11-23 19:34:28.539 MythContext: Connecting to backend server: 10.1.150.8:6543 (try 1 of 1) 2009-11-23 19:34:28.540 Using protocol version 50 2009-11-23 19:34:28.543 Spawning LiveTV Recorder -- begin 2009-11-23 19:34:28.780 Spawning LiveTV Recorder -- end 2009-11-23 19:34:28.794 We have a playbackURL(/d3/mythtv/video/1_20091123193428.mpg) & cardtype(MPEG) 2009-11-23 19:34:35.295 RingBuf(/d3/mythtv/video/1_20091123193428.mpg): Invalid file (fd -1) when opening '/d3/mythtv/video/1_20091123193428.mpg'. 2009-11-23 19:34:35.296 We have a RingBuffer 2009-11-23 19:35:15.349 TV Error: StartRecorder() -- timed out waiting for recorder to start 2009-11-23 19:35:15.349 TV Error: LiveTV not successfully started 2009-11-23 19:35:15.353 ScreenSaverX11Private: DPMS Deactivated 1 2009-11-23 19:35:15.354 ScreenSaverX11Private: DPMS Reactivated 1 But it makes sense, the frontend doesn't have a recording device (PVR-350). Anyway, config.ep is attached. HTH -- Regards, Torfinn Ingolfsen --Boundary_(ID_O7pjPhRemMzmaJfftFeXEQ) Content-type: application/octet-stream; name=config.ep Content-transfer-encoding: base64 Content-disposition: attachment; filename=config.ep IyAuL2NvbmZpZ3VyZSAtLWVuYWJsZS14dm1jIC0tZW5hYmxlLW9wZW5nbC12c3luYyAtLWRpc2Fi bGUtZGlyZWN0ZmIgLS1lbmFibGUtaXZ0diAtLWRpc2FibGUteHZtYy1wcm8gLS1kaXNhYmxlLXh2 bWMtdmxkIC0tZGlzYWJsZS14dm1jdyAtLXByZWZpeD0vdXNyL2xvY2FsIC0tZXh0cmEtY2ZsYWdz PS1nIC0tZXh0cmEtY3h4ZmxhZ3M9LWcKQVJDSD1hbWQ2NApBUkNIX0VYVF9MSVNUPScKICAgIGFs dGl2ZWMKICAgIGFtZDNkbm93CiAgICBhbWQzZG5vd2V4dAogICAgYXJtdjV0ZQogICAgYXJtdjYK ICAgIGFybXY2dDIKICAgIGFybXZmcAogICAgaXdtbXh0CiAgICBtbWkKICAgIG1teAogICAgbW14 MgogICAgbmVvbgogICAgcHBjNHh4CiAgICBzc2UKICAgIHNzc2UzCiAgICB2aXMKJwpBUkNIX0xJ U1Q9JwogICAgYWxwaGEKICAgIGFybQogICAgYmZpbgogICAgaWE2NAogICAgbTY4awogICAgbWlw cwogICAgbWlwczY0CiAgICBwYXJpc2MKICAgIHBwYwogICAgcHBjNjQKICAgIHMzOTAKICAgIHNo NAogICAgc3BhcmMKICAgIHNwYXJjNjQKICAgIHg4NgogICAgeDg2XzMyCiAgICB4ODZfNjQKJwpC TE9DS1NJWkU9SwpCU0ZfTElTVD0nYWFjX2FkdHN0b2FzY19ic2YKZHVtcF9leHRyYWRhdGFfYnNm CmgyNjRfbXA0dG9hbm5leGJfYnNmCmlteF9kdW1wX2hlYWRlcl9ic2YKbWpwZWdhX2R1bXBfaGVh ZGVyX2JzZgptcDNfaGVhZGVyX2NvbXByZXNzX2JzZgptcDNfaGVhZGVyX2RlY29tcHJlc3NfYnNm Cm1vdjJ0ZXh0c3ViX2JzZgpub2lzZV9ic2YKcmVtb3ZlX2V4dHJhZGF0YV9ic2YKdGV4dDJtb3Zz dWJfYnNmJwpDQz1jYwpDRkxBR1M9Jy1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9J U09DOTlfU09VUkNFIC1EX1BPU0lYX0NfU09VUkNFPTIwMDExMicKQ01ETElORV9TRUxFQ1Q9Jwog ICAgCiAgICBhbHRpdmVjCiAgICBhbWQzZG5vdwogICAgYW1kM2Rub3dleHQKICAgIGFybXY1dGUK ICAgIGFybXY2CiAgICBhcm12NnQyCiAgICBhcm12ZnAKICAgIGl3bW14dAogICAgbW1pCiAgICBt bXgKICAgIG1teDIKICAgIG5lb24KICAgIHBwYzR4eAogICAgc3NlCiAgICBzc3NlMwogICAgdmlz CgogICAgCiAgICAKICAgIGJzZnMKICAgIGRlY29kZXJzCiAgICBkZW11eGVycwogICAgZW5jb2Rl cnMKICAgIGZpbHRlcnMKICAgIGh3YWNjZWxzCiAgICBpbmRldnMKICAgIG11eGVycwogICAgb3V0 ZGV2cwogICAgcGFyc2VycwogICAgcHJvdG9jb2xzCgogICAgYWFuZGN0CiAgICBhdmZpbHRlcgog ICAgYXZmaWx0ZXJfbGF2ZgogICAgYXZpc3ludGgKICAgIGJlb3NfbmV0c2VydmVyCiAgICBiemxp YgogICAgZmFzdGRpdgogICAgZmZtcGVnCiAgICBmZnBsYXkKICAgIGZmc2VydmVyCiAgICBmZnQK ICAgIGdvbG9tYgogICAgZ3BsCiAgICBncHJvZgogICAgZ3JheQogICAgaGFyZGNvZGVkX3RhYmxl cwogICAgaXB2NgogICAgbGliYW1yX25iCiAgICBsaWJhbXJfd2IKICAgIGxpYmRjMTM5NAogICAg bGliZGlyYWMKICAgIGxpYmZhYWMKICAgIGxpYmZhYWQKICAgIGxpYmZhYWRiaW4KICAgIGxpYmdz bQogICAgbGlibXAzbGFtZQogICAgbGlibnV0CiAgICBsaWJvcGVuY29yZV9hbXJuYgogICAgbGli b3BlbmNvcmVfYW1yd2IKICAgIGxpYm9wZW5qcGVnCiAgICBsaWJzY2hyb2VkaW5nZXIKICAgIGxp YnNwZWV4CiAgICBsaWJ0aGVvcmEKICAgIGxpYnZvcmJpcwogICAgbGlieDI2NAogICAgbGlieHZp ZAogICAgbWRjdAogICAgbWVtYWxpZ25faGFjawogICAgbWxpYgogICAgbXBlZ2F1ZGlvX2hwCiAg ICBuZXR3b3JrCiAgICBub25mcmVlCiAgICBwb3N0cHJvYwogICAgcG93ZXJwY19wZXJmCiAgICBy ZGZ0CiAgICBydW50aW1lX2NwdWRldGVjdAogICAgc2hhcmVkCiAgICBzbWFsbAogICAgc3RhdGlj CiAgICBzd3NjYWxlX2FscGhhCiAgICB2YWFwaQogICAgdmRwYXUKICAgIHZlcnNpb24zCiAgICB4 MTFncmFiCiAgICB6bGliCgogICAgCiAgICBiZW9zdGhyZWFkcwogICAgb3MydGhyZWFkcwogICAg cHRocmVhZHMKICAgIHczMnRocmVhZHMKCiAgICBjcm9zc19jb21waWxlCiAgICAKICAgIGF1ZGlv X3B1bHNlCiAgICBhdWRpb19hbHNhCiAgICBhdWRpb19hcnRzCiAgICBhdWRpb19qYWNrCiAgICBh dWRpb19vc3MKICAgIGZmbXBlZ19wdGhyZWFkcwogICAgbWFjX2J1bmRsZQogICAgcHJvY19vcHQK ICAgIHNpbGVudF9jYwogICAgc3ltYm9sX3Zpc2liaWxpdHkKICAgIHh2bWNfcHJvCgogICAgCiAg ICBiYWNrZW5kCiAgICBjeWd3aW4KICAgIGRhcndpbgogICAgZGJveDIKICAgIGRpcmVjdGZiCiAg ICBkaXNhYmxlX21teF9mb3JfZGVidWdnaW5nCiAgICBkdmIKICAgIGR2ZHYKICAgIGZpcmV3aXJl CiAgICBmcmliaWRpCiAgICBmcm9udGVuZAogICAgZ2x4X3Byb2NfYWRkcl9hcmIKICAgIGhkaG9t ZXJ1bgogICAgaGRwdnIKICAgIGlwdHYKICAgIGl2dHYKICAgIGpveXN0aWNrX21lbnUKICAgIGxp YmZmdHczCiAgICBsaXJjCiAgICBtaGVnCiAgICBvcGVuZ2xfdmlkZW8KICAgIG9wZW5nbF92c3lu YwogICAgcXR3ZWJraXQKICAgIHY0bAogICAgdmFsZ3JpbmQKICAgIHgxMQogICAgeHJhbmRyCiAg ICB4dgogICAgeHZtYwogICAgeHZtY192bGQKICAgIHh2bWN3CgogICAgZGVidWcKICAgIGV4dHJh X3dhcm5pbmdzCiAgICBsb2dnaW5nCiAgICBvcGVuZ2wKICAgIG9wdGltaXphdGlvbnMKICAgIHN0 cmlwcGluZwogICAgeWFzbQonCkNNRExJTkVfU0VUPScKICAgIAogICAgYmluZGlyCiAgICBkYXRh ZGlyCiAgICBkdmJfcGF0aAogICAgaW5jZGlyCiAgICBsaWJkaXIKICAgIG1hbmRpcgogICAgcHJl Zml4CiAgICBydW5wcmVmaXgKICAgIHNobGliZGlyCiAgICB4MTFfcGF0aAoKICAgIGFyY2gKICAg IGFzCiAgICBidWlsZF9zdWZmaXgKICAgIGNjCiAgICBjcHUKICAgIGNyb3NzX3ByZWZpeAogICAg Y3h4CiAgICBsb2dnaW5nCiAgICBleHRyYV92ZXJzaW9uCiAgICBob3N0X2NjCiAgICBob3N0X2Nm bGFncwogICAgaG9zdF9sZGZsYWdzCiAgICBob3N0X2xpYnMKICAgIGhvc3Rfb3MKICAgIGxvZ2Zp bGUKICAgIG5tCiAgICBxbWFrZQogICAgc291cmNlX3BhdGgKICAgIHN5c2luY2x1ZGUKICAgIHN5 c3Jvb3QKICAgIHRhcmdldF9leGVjCiAgICB0YXJnZXRfb3MKICAgIHRhcmdldF9wYXRoCicKQ09N UE9ORU5UX0xJU1Q9JwogICAgYnNmcwogICAgZGVjb2RlcnMKICAgIGRlbXV4ZXJzCiAgICBlbmNv ZGVycwogICAgZmlsdGVycwogICAgaHdhY2NlbHMKICAgIGluZGV2cwogICAgbXV4ZXJzCiAgICBv dXRkZXZzCiAgICBwYXJzZXJzCiAgICBwcm90b2NvbHMKJwpDT05GSUdfREVGSU5FUz0nJwpDT05G SUdfRE9ORV9NWVRIVFY9MQpDT05GSUdfRVhUUkE9JwogICAgZ3BsdjMKICAgIGxncGx2MwonCkNP TkZJR19JTkNMVURFUEFUSD0nJwpDT05GSUdfTElTVD0nCiAgICAKICAgIGJzZnMKICAgIGRlY29k ZXJzCiAgICBkZW11eGVycwogICAgZW5jb2RlcnMKICAgIGZpbHRlcnMKICAgIGh3YWNjZWxzCiAg ICBpbmRldnMKICAgIG11eGVycwogICAgb3V0ZGV2cwogICAgcGFyc2VycwogICAgcHJvdG9jb2xz CgogICAgYWFuZGN0CiAgICBhdmZpbHRlcgogICAgYXZmaWx0ZXJfbGF2ZgogICAgYXZpc3ludGgK ICAgIGJlb3NfbmV0c2VydmVyCiAgICBiemxpYgogICAgZmFzdGRpdgogICAgZmZtcGVnCiAgICBm ZnBsYXkKICAgIGZmc2VydmVyCiAgICBmZnQKICAgIGdvbG9tYgogICAgZ3BsCiAgICBncHJvZgog ICAgZ3JheQogICAgaGFyZGNvZGVkX3RhYmxlcwogICAgaXB2NgogICAgbGliYW1yX25iCiAgICBs aWJhbXJfd2IKICAgIGxpYmRjMTM5NAogICAgbGliZGlyYWMKICAgIGxpYmZhYWMKICAgIGxpYmZh YWQKICAgIGxpYmZhYWRiaW4KICAgIGxpYmdzbQogICAgbGlibXAzbGFtZQogICAgbGlibnV0CiAg ICBsaWJvcGVuY29yZV9hbXJuYgogICAgbGlib3BlbmNvcmVfYW1yd2IKICAgIGxpYm9wZW5qcGVn CiAgICBsaWJzY2hyb2VkaW5nZXIKICAgIGxpYnNwZWV4CiAgICBsaWJ0aGVvcmEKICAgIGxpYnZv cmJpcwogICAgbGlieDI2NAogICAgbGlieHZpZAogICAgbWRjdAogICAgbWVtYWxpZ25faGFjawog ICAgbWxpYgogICAgbXBlZ2F1ZGlvX2hwCiAgICBuZXR3b3JrCiAgICBub25mcmVlCiAgICBwb3N0 cHJvYwogICAgcG93ZXJwY19wZXJmCiAgICByZGZ0CiAgICBydW50aW1lX2NwdWRldGVjdAogICAg c2hhcmVkCiAgICBzbWFsbAogICAgc3RhdGljCiAgICBzd3NjYWxlX2FscGhhCiAgICB2YWFwaQog ICAgdmRwYXUKICAgIHZlcnNpb24zCiAgICB4MTFncmFiCiAgICB6bGliCicKQ09ORklHX1NIRUxM PS9iaW4vc2gKQ1BQRkxBR1M9JyAgJwpDWFg9YysrCkNYWEZMQUdTPSctTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUnCkRFQ09ERVJfTElTVD0nYWFzY19kZWNvZGVyCmFtdl9kZWNvZGVyCmFz djFfZGVjb2Rlcgphc3YyX2RlY29kZXIKYXZzX2RlY29kZXIKYmV0aHNvZnR2aWRfZGVjb2Rlcgpi ZmlfZGVjb2RlcgpibXBfZGVjb2RlcgpjOTNfZGVjb2RlcgpjYXZzX2RlY29kZXIKY2luZXBha19k ZWNvZGVyCmNsanJfZGVjb2Rlcgpjc2NkX2RlY29kZXIKY3l1dl9kZWNvZGVyCmRueGhkX2RlY29k ZXIKZHB4X2RlY29kZXIKZHNpY2ludmlkZW9fZGVjb2RlcgpkdnZpZGVvX2RlY29kZXIKZHhhX2Rl Y29kZXIKZWFjbXZfZGVjb2RlcgplYW1hZF9kZWNvZGVyCmVhdGdxX2RlY29kZXIKZWF0Z3ZfZGVj b2RlcgplYXRxaV9kZWNvZGVyCmVpZ2h0YnBzX2RlY29kZXIKZWlnaHRzdnhfZXhwX2RlY29kZXIK ZWlnaHRzdnhfZmliX2RlY29kZXIKZXNjYXBlMTI0X2RlY29kZXIKZmZ2MV9kZWNvZGVyCmZmdmh1 ZmZfZGVjb2RlcgpmbGFzaHN2X2RlY29kZXIKZmxpY19kZWNvZGVyCmZsdl9kZWNvZGVyCmZvdXJ4 bV9kZWNvZGVyCmZyYXBzX2RlY29kZXIKZ2lmX2RlY29kZXIKaDI2MV9kZWNvZGVyCmgyNjNfZGVj b2RlcgpoMjYzaV9kZWNvZGVyCmgyNjRfZGVjb2RlcgpoMjY0X3ZkcGF1X2RlY29kZXIKaHVmZnl1 dl9kZWNvZGVyCmlkY2luX2RlY29kZXIKaW5kZW8yX2RlY29kZXIKaW5kZW8zX2RlY29kZXIKaW50 ZXJwbGF5X3ZpZGVvX2RlY29kZXIKanBlZ2xzX2RlY29kZXIKa212Y19kZWNvZGVyCmxvY29fZGVj b2RlcgptZGVjX2RlY29kZXIKbWltaWNfZGVjb2RlcgptanBlZ19kZWNvZGVyCm1qcGVnYl9kZWNv ZGVyCm1tdmlkZW9fZGVjb2Rlcgptb3Rpb25waXhlbHNfZGVjb2RlcgptcGVnX2R2ZHZfZGVjb2Rl cgptcGVnX3h2bWNfZGVjb2RlcgptcGVnX3h2bWNfdmxkX2RlY29kZXIKbXBlZzF2aWRlb19kZWNv ZGVyCm1wZWcydmlkZW9fZGVjb2RlcgptcGVnNF9kZWNvZGVyCm1wZWd2aWRlb19kZWNvZGVyCm1w ZWdfdmRwYXVfZGVjb2RlcgptcGVnMV92ZHBhdV9kZWNvZGVyCm1zbXBlZzR2MV9kZWNvZGVyCm1z bXBlZzR2Ml9kZWNvZGVyCm1zbXBlZzR2M19kZWNvZGVyCm1zcmxlX2RlY29kZXIKbXN2aWRlbzFf ZGVjb2Rlcgptc3poX2RlY29kZXIKbnV2X2RlY29kZXIKcGFtX2RlY29kZXIKcGJtX2RlY29kZXIK cGN4X2RlY29kZXIKcGdtX2RlY29kZXIKcGdteXV2X2RlY29kZXIKcG5nX2RlY29kZXIKcHBtX2Rl Y29kZXIKcHR4X2RlY29kZXIKcWRyYXdfZGVjb2RlcgpxcGVnX2RlY29kZXIKcXRybGVfZGVjb2Rl cgpyYXd2aWRlb19kZWNvZGVyCnJsMl9kZWNvZGVyCnJvcV9kZWNvZGVyCnJwemFfZGVjb2Rlcgpy djEwX2RlY29kZXIKcnYyMF9kZWNvZGVyCnJ2MzBfZGVjb2RlcgpydjQwX2RlY29kZXIKc2dpX2Rl Y29kZXIKc21hY2tlcl9kZWNvZGVyCnNtY19kZWNvZGVyCnNub3dfZGVjb2RlcgpzcDV4X2RlY29k ZXIKc3VucmFzdF9kZWNvZGVyCnN2cTFfZGVjb2RlcgpzdnEzX2RlY29kZXIKdGFyZ2FfZGVjb2Rl cgp0aGVvcmFfZGVjb2Rlcgp0aHBfZGVjb2Rlcgp0aWVydGV4c2VxdmlkZW9fZGVjb2Rlcgp0aWZm X2RlY29kZXIKdG12X2RlY29kZXIKdHJ1ZW1vdGlvbjFfZGVjb2Rlcgp0cnVlbW90aW9uMl9kZWNv ZGVyCnRzY2NfZGVjb2Rlcgp0eGRfZGVjb2Rlcgp1bHRpX2RlY29kZXIKdjIxMF9kZWNvZGVyCnYy MTB4X2RlY29kZXIKdmJfZGVjb2Rlcgp2YzFfZGVjb2Rlcgp2YzFfdmRwYXVfZGVjb2Rlcgp2Y3Ix X2RlY29kZXIKdm1kdmlkZW9fZGVjb2Rlcgp2bW5jX2RlY29kZXIKdnAzX2RlY29kZXIKdnA1X2Rl Y29kZXIKdnA2X2RlY29kZXIKdnA2YV9kZWNvZGVyCnZwNmZfZGVjb2Rlcgp2cWFfZGVjb2Rlcgp3 bXYxX2RlY29kZXIKd212Ml9kZWNvZGVyCndtdjNfZGVjb2Rlcgp3bXYzX3ZkcGF1X2RlY29kZXIK d252MV9kZWNvZGVyCnhhbl93YzNfZGVjb2Rlcgp4bF9kZWNvZGVyCnpsaWJfZGVjb2Rlcgp6bWJ2 X2RlY29kZXIKYWFjX2RlY29kZXIKYWMzX2RlY29kZXIKYWxhY19kZWNvZGVyCmFwZV9kZWNvZGVy CmF0cmFjM19kZWNvZGVyCmNvb2tfZGVjb2RlcgpkY2FfZGVjb2Rlcgpkc2ljaW5hdWRpb19kZWNv ZGVyCmVhYzNfZGVjb2RlcgpmbGFjX2RlY29kZXIKaW1jX2RlY29kZXIKbWFjZTNfZGVjb2Rlcgpt YWNlNl9kZWNvZGVyCm1scF9kZWNvZGVyCm1wMV9kZWNvZGVyCm1wMl9kZWNvZGVyCm1wM19kZWNv ZGVyCm1wM2FkdV9kZWNvZGVyCm1wM29uNF9kZWNvZGVyCm1wYzdfZGVjb2RlcgptcGM4X2RlY29k ZXIKbmVsbHltb3Nlcl9kZWNvZGVyCnFjZWxwX2RlY29kZXIKcWRtMl9kZWNvZGVyCnJhXzE0NF9k ZWNvZGVyCnJhXzI4OF9kZWNvZGVyCnNob3J0ZW5fZGVjb2RlcgpzbWFja2F1ZF9kZWNvZGVyCnNv bmljX2RlY29kZXIKdHJ1ZWhkX2RlY29kZXIKdHJ1ZXNwZWVjaF9kZWNvZGVyCnR0YV9kZWNvZGVy CnZtZGF1ZGlvX2RlY29kZXIKdm9yYmlzX2RlY29kZXIKd2F2cGFja19kZWNvZGVyCndtYXYxX2Rl Y29kZXIKd21hdjJfZGVjb2Rlcgp3c19zbmQxX2RlY29kZXIKcGNtX2FsYXdfZGVjb2RlcgpwY21f ZHZkX2RlY29kZXIKcGNtX2YzMmJlX2RlY29kZXIKcGNtX2YzMmxlX2RlY29kZXIKcGNtX2Y2NGJl X2RlY29kZXIKcGNtX2Y2NGxlX2RlY29kZXIKcGNtX211bGF3X2RlY29kZXIKcGNtX3M4X2RlY29k ZXIKcGNtX3MxNmJlX2RlY29kZXIKcGNtX3MxNmxlX2RlY29kZXIKcGNtX3MxNmxlX3BsYW5hcl9k ZWNvZGVyCnBjbV9zMjRiZV9kZWNvZGVyCnBjbV9zMjRkYXVkX2RlY29kZXIKcGNtX3MyNGxlX2Rl Y29kZXIKcGNtX3MzMmJlX2RlY29kZXIKcGNtX3MzMmxlX2RlY29kZXIKcGNtX3U4X2RlY29kZXIK cGNtX3UxNmJlX2RlY29kZXIKcGNtX3UxNmxlX2RlY29kZXIKcGNtX3UyNGJlX2RlY29kZXIKcGNt X3UyNGxlX2RlY29kZXIKcGNtX3UzMmJlX2RlY29kZXIKcGNtX3UzMmxlX2RlY29kZXIKcGNtX3pv cmtfZGVjb2RlcgppbnRlcnBsYXlfZHBjbV9kZWNvZGVyCnJvcV9kcGNtX2RlY29kZXIKc29sX2Rw Y21fZGVjb2Rlcgp4YW5fZHBjbV9kZWNvZGVyCmFkcGNtXzR4bV9kZWNvZGVyCmFkcGNtX2FkeF9k ZWNvZGVyCmFkcGNtX2N0X2RlY29kZXIKYWRwY21fZWFfZGVjb2RlcgphZHBjbV9lYV9tYXhpc194 YV9kZWNvZGVyCmFkcGNtX2VhX3IxX2RlY29kZXIKYWRwY21fZWFfcjJfZGVjb2RlcgphZHBjbV9l YV9yM19kZWNvZGVyCmFkcGNtX2VhX3hhc19kZWNvZGVyCmFkcGNtX2c3MjZfZGVjb2RlcgphZHBj bV9pbWFfYW12X2RlY29kZXIKYWRwY21faW1hX2RrM19kZWNvZGVyCmFkcGNtX2ltYV9kazRfZGVj b2RlcgphZHBjbV9pbWFfZWFfZWFjc19kZWNvZGVyCmFkcGNtX2ltYV9lYV9zZWFkX2RlY29kZXIK YWRwY21faW1hX2lzc19kZWNvZGVyCmFkcGNtX2ltYV9xdF9kZWNvZGVyCmFkcGNtX2ltYV9zbWpw ZWdfZGVjb2RlcgphZHBjbV9pbWFfd2F2X2RlY29kZXIKYWRwY21faW1hX3dzX2RlY29kZXIKYWRw Y21fbXNfZGVjb2RlcgphZHBjbV9zYnByb18yX2RlY29kZXIKYWRwY21fc2Jwcm9fM19kZWNvZGVy CmFkcGNtX3NicHJvXzRfZGVjb2RlcgphZHBjbV9zd2ZfZGVjb2RlcgphZHBjbV90aHBfZGVjb2Rl cgphZHBjbV94YV9kZWNvZGVyCmFkcGNtX3lhbWFoYV9kZWNvZGVyCmR2YnN1Yl9kZWNvZGVyCmR2 ZHN1Yl9kZWNvZGVyCnhzdWJfZGVjb2RlcgpsaWJhbXJfbmJfZGVjb2RlcgpsaWJhbXJfd2JfZGVj b2RlcgpsaWJkaXJhY19kZWNvZGVyCmxpYmZhYWRfZGVjb2RlcgpsaWJmYWFkX2xhdG1fZGVjb2Rl cgpsaWJnc21fZGVjb2RlcgpsaWJnc21fbXNfZGVjb2RlcgpsaWJvcGVuY29yZV9hbXJuYl9kZWNv ZGVyCmxpYm9wZW5jb3JlX2FtcndiX2RlY29kZXIKbGlib3BlbmpwZWdfZGVjb2RlcgpsaWJzY2hy b2VkaW5nZXJfZGVjb2RlcgpsaWJzcGVleF9kZWNvZGVyJwpERU1VWEVSX0xJU1Q9J2FhY19kZW11 eGVyCmFjM19kZW11eGVyCmFpZmZfZGVtdXhlcgphbXJfZGVtdXhlcgphcGNfZGVtdXhlcgphcGVf ZGVtdXhlcgphc2ZfZGVtdXhlcgphc3NfZGVtdXhlcgphdV9kZW11eGVyCmF2aV9kZW11eGVyCmF2 aXN5bnRoX2RlbXV4ZXIKYXZzX2RlbXV4ZXIKYmV0aHNvZnR2aWRfZGVtdXhlcgpiZmlfZGVtdXhl cgpjOTNfZGVtdXhlcgpjYXZzdmlkZW9fZGVtdXhlcgpkYXVkX2RlbXV4ZXIKZGlyYWNfZGVtdXhl cgpkbnhoZF9kZW11eGVyCmRzaWNpbl9kZW11eGVyCmR0c19kZW11eGVyCmR2X2RlbXV4ZXIKZHhh X2RlbXV4ZXIKZWFfZGVtdXhlcgplYV9jZGF0YV9kZW11eGVyCmVhYzNfZGVtdXhlcgpmZm1fZGVt dXhlcgpmbGFjX2RlbXV4ZXIKZmxpY19kZW11eGVyCmZsdl9kZW11eGVyCmZvdXJ4bV9kZW11eGVy CmdzbV9kZW11eGVyCmd4Zl9kZW11eGVyCmgyNjFfZGVtdXhlcgpoMjYzX2RlbXV4ZXIKaDI2NF9k ZW11eGVyCmlkY2luX2RlbXV4ZXIKaWZmX2RlbXV4ZXIKaW1hZ2UyX2RlbXV4ZXIKaW1hZ2UycGlw ZV9kZW11eGVyCmluZ2VuaWVudF9kZW11eGVyCmlwbW92aWVfZGVtdXhlcgppc3NfZGVtdXhlcgps bWxtNF9kZW11eGVyCm00dl9kZW11eGVyCm1hdHJvc2thX2RlbXV4ZXIKbWpwZWdfZGVtdXhlcgpt bHBfZGVtdXhlcgptbV9kZW11eGVyCm1tZl9kZW11eGVyCm1vdl9kZW11eGVyCm1wM19kZW11eGVy Cm1wY19kZW11eGVyCm1wYzhfZGVtdXhlcgptcGVncHNfZGVtdXhlcgptcGVndHNfZGVtdXhlcgpt cGVndHNyYXdfZGVtdXhlcgptcGVndmlkZW9fZGVtdXhlcgptc253Y190Y3BfZGVtdXhlcgptdHZf ZGVtdXhlcgptdmlfZGVtdXhlcgpteGZfZGVtdXhlcgpuY19kZW11eGVyCm5zdl9kZW11eGVyCm51 dF9kZW11eGVyCm51dl9kZW11eGVyCm9nZ19kZW11eGVyCm9tYV9kZW11eGVyCnBjbV9hbGF3X2Rl bXV4ZXIKcGNtX211bGF3X2RlbXV4ZXIKcGNtX2Y2NGJlX2RlbXV4ZXIKcGNtX2Y2NGxlX2RlbXV4 ZXIKcGNtX2YzMmJlX2RlbXV4ZXIKcGNtX2YzMmxlX2RlbXV4ZXIKcGNtX3MzMmJlX2RlbXV4ZXIK cGNtX3MzMmxlX2RlbXV4ZXIKcGNtX3MyNGJlX2RlbXV4ZXIKcGNtX3MyNGxlX2RlbXV4ZXIKcGNt X3MxNmJlX2RlbXV4ZXIKcGNtX3MxNmxlX2RlbXV4ZXIKcGNtX3M4X2RlbXV4ZXIKcGNtX3UzMmJl X2RlbXV4ZXIKcGNtX3UzMmxlX2RlbXV4ZXIKcGNtX3UyNGJlX2RlbXV4ZXIKcGNtX3UyNGxlX2Rl bXV4ZXIKcGNtX3UxNmJlX2RlbXV4ZXIKcGNtX3UxNmxlX2RlbXV4ZXIKcGNtX3U4X2RlbXV4ZXIK cHZhX2RlbXV4ZXIKcWNwX2RlbXV4ZXIKcjNkX2RlbXV4ZXIKcmF3dmlkZW9fZGVtdXhlcgpyZWRp cl9kZW11eGVyCnJsMl9kZW11eGVyCnJtX2RlbXV4ZXIKcm9xX2RlbXV4ZXIKcnBsX2RlbXV4ZXIK cnRzcF9kZW11eGVyCnNkcF9kZW11eGVyCnNlZ2FmaWxtX2RlbXV4ZXIKc2hvcnRlbl9kZW11eGVy CnNpZmZfZGVtdXhlcgpzbWFja2VyX2RlbXV4ZXIKc29sX2RlbXV4ZXIKc294X2RlbXV4ZXIKc3Ry X2RlbXV4ZXIKc3dmX2RlbXV4ZXIKdGhwX2RlbXV4ZXIKdGllcnRleHNlcV9kZW11eGVyCnRtdl9k ZW11eGVyCnRydWVoZF9kZW11eGVyCnR0YV9kZW11eGVyCnR4ZF9kZW11eGVyCnZjMV9kZW11eGVy CnZjMXRfZGVtdXhlcgp2bWRfZGVtdXhlcgp2b2NfZGVtdXhlcgp2cWZfZGVtdXhlcgp3YXZfZGVt dXhlcgp3YzNfZGVtdXhlcgp3c2F1ZF9kZW11eGVyCndzdnFhX2RlbXV4ZXIKd3ZfZGVtdXhlcgp4 YV9kZW11eGVyCnl1djRtcGVncGlwZV9kZW11eGVyCmxpYm51dF9kZW11eGVyJwpERVBFTkRfQ01E PSckKENDKSAkKENGTEFHUykgLU1NICQ8IHwgc2VkIC1lICIvXlwjLiovZCIgLWUgInMsXltbOnNw YWNlOl1dKiQoKkYpXFwubywkKEBEKS8kKCpGKS5vLCInCkUxPTAKRTI9MgpFQ0ZMQUdTPScgLWcn CkVDWFhGTEFHUz0nIC1nJwpFTkNPREVSX0xJU1Q9J2FzdjFfZW5jb2Rlcgphc3YyX2VuY29kZXIK Ym1wX2VuY29kZXIKZG54aGRfZW5jb2RlcgpkdnZpZGVvX2VuY29kZXIKZmZ2MV9lbmNvZGVyCmZm dmh1ZmZfZW5jb2RlcgpmbGFzaHN2X2VuY29kZXIKZmx2X2VuY29kZXIKZ2lmX2VuY29kZXIKaDI2 MV9lbmNvZGVyCmgyNjNfZW5jb2RlcgpoMjYzcF9lbmNvZGVyCmh1ZmZ5dXZfZW5jb2RlcgpqcGVn bHNfZW5jb2RlcgpsanBlZ19lbmNvZGVyCm1qcGVnX2VuY29kZXIKbXBlZzF2aWRlb19lbmNvZGVy Cm1wZWcydmlkZW9fZW5jb2RlcgptcGVnNF9lbmNvZGVyCm1zbXBlZzR2MV9lbmNvZGVyCm1zbXBl ZzR2Ml9lbmNvZGVyCm1zbXBlZzR2M19lbmNvZGVyCnBhbV9lbmNvZGVyCnBibV9lbmNvZGVyCnBj eF9lbmNvZGVyCnBnbV9lbmNvZGVyCnBnbXl1dl9lbmNvZGVyCnBuZ19lbmNvZGVyCnBwbV9lbmNv ZGVyCnF0cmxlX2VuY29kZXIKcmF3dmlkZW9fZW5jb2Rlcgpyb3FfZW5jb2RlcgpydjEwX2VuY29k ZXIKcnYyMF9lbmNvZGVyCnNnaV9lbmNvZGVyCnNub3dfZW5jb2RlcgpzdnExX2VuY29kZXIKdGFy Z2FfZW5jb2Rlcgp0aWZmX2VuY29kZXIKdjIxMF9lbmNvZGVyCndtdjFfZW5jb2Rlcgp3bXYyX2Vu Y29kZXIKemxpYl9lbmNvZGVyCnptYnZfZW5jb2RlcgphYzNfZW5jb2RlcgphbGFjX2VuY29kZXIK ZmxhY19lbmNvZGVyCm1wMl9lbmNvZGVyCm5lbGx5bW9zZXJfZW5jb2Rlcgpzb25pY19lbmNvZGVy CnNvbmljX2xzX2VuY29kZXIKdm9yYmlzX2VuY29kZXIKd21hdjFfZW5jb2Rlcgp3bWF2Ml9lbmNv ZGVyCnBjbV9hbGF3X2VuY29kZXIKcGNtX2YzMmJlX2VuY29kZXIKcGNtX2YzMmxlX2VuY29kZXIK cGNtX2Y2NGJlX2VuY29kZXIKcGNtX2Y2NGxlX2VuY29kZXIKcGNtX211bGF3X2VuY29kZXIKcGNt X3M4X2VuY29kZXIKcGNtX3MxNmJlX2VuY29kZXIKcGNtX3MxNmxlX2VuY29kZXIKcGNtX3MyNGJl X2VuY29kZXIKcGNtX3MyNGRhdWRfZW5jb2RlcgpwY21fczI0bGVfZW5jb2RlcgpwY21fczMyYmVf ZW5jb2RlcgpwY21fczMybGVfZW5jb2RlcgpwY21fdThfZW5jb2RlcgpwY21fdTE2YmVfZW5jb2Rl cgpwY21fdTE2bGVfZW5jb2RlcgpwY21fdTI0YmVfZW5jb2RlcgpwY21fdTI0bGVfZW5jb2Rlcgpw Y21fdTMyYmVfZW5jb2RlcgpwY21fdTMybGVfZW5jb2RlcgpwY21fem9ya19lbmNvZGVyCnJvcV9k cGNtX2VuY29kZXIKYWRwY21fYWR4X2VuY29kZXIKYWRwY21fZzcyNl9lbmNvZGVyCmFkcGNtX2lt YV9xdF9lbmNvZGVyCmFkcGNtX2ltYV93YXZfZW5jb2RlcgphZHBjbV9tc19lbmNvZGVyCmFkcGNt X3N3Zl9lbmNvZGVyCmFkcGNtX3lhbWFoYV9lbmNvZGVyCmR2YnN1Yl9lbmNvZGVyCmR2ZHN1Yl9l bmNvZGVyCnhzdWJfZW5jb2RlcgpsaWJhbXJfbmJfZW5jb2RlcgpsaWJhbXJfd2JfZW5jb2Rlcgps aWJkaXJhY19lbmNvZGVyCmxpYmZhYWNfZW5jb2RlcgpsaWJnc21fZW5jb2RlcgpsaWJnc21fbXNf ZW5jb2RlcgpsaWJtcDNsYW1lX2VuY29kZXIKbGlib3BlbmNvcmVfYW1ybmJfZW5jb2RlcgpsaWJz Y2hyb2VkaW5nZXJfZW5jb2RlcgpsaWJ0aGVvcmFfZW5jb2RlcgpsaWJ2b3JiaXNfZW5jb2Rlcgps aWJ4MjY0X2VuY29kZXIKbGlieHZpZF9lbmNvZGVyJwpFTlY9L3Jvb3QvLnNocmMKRVhJTklUPSdz ZXQgc2hvd21vZGUnCkZGTVBFR19DT05GSUdVUkFUSU9OPSctLWVuYWJsZS14dm1jIC0tZW5hYmxl LW9wZW5nbC12c3luYyAtLWRpc2FibGUtZGlyZWN0ZmIgLS1lbmFibGUtaXZ0diAtLWRpc2FibGUt eHZtYy1wcm8gLS1kaXNhYmxlLXh2bWMtdmxkIC0tZGlzYWJsZS14dm1jdyAtLXByZWZpeD0vdXNy L2xvY2FsIC0tZXh0cmEtY2ZsYWdzPS1nIC0tZXh0cmEtY3h4ZmxhZ3M9LWcnCkZGU0VSVkVSTERG TEFHUz0tV2wsLUUKRklMVEVSX0xJU1Q9JycKRlRQX1BBU1NJVkVfTU9ERT1ZRVMKRlVMTE5BTUU9 JyQoTkFNRSkkKEJVSUxEU1VGKScKSEFWRV9MSVNUPScKICAgIAogICAgYWx0aXZlYwogICAgYW1k M2Rub3cKICAgIGFtZDNkbm93ZXh0CiAgICBhcm12NXRlCiAgICBhcm12NgogICAgYXJtdjZ0Mgog ICAgYXJtdmZwCiAgICBpd21teHQKICAgIG1taQogICAgbW14CiAgICBtbXgyCiAgICBuZW9uCiAg ICBwcGM0eHgKICAgIHNzZQogICAgc3NzZTMKICAgIHZpcwoKICAgIAogICAgYmVvc3RocmVhZHMK ICAgIG9zMnRocmVhZHMKICAgIHB0aHJlYWRzCiAgICB3MzJ0aHJlYWRzCgogICAgYWxzYV9hc291 bmRsaWJfaAogICAgYWx0aXZlY19oCiAgICBhcnBhX2luZXRfaAogICAgYmlnZW5kaWFuCiAgICBi c3dhcAogICAgY2xvc2Vzb2NrZXQKICAgIGNtb3YKICAgIGNvbmlvX2gKICAgIGNwdV9jbGlwc19u ZWdhdGl2ZQogICAgY3B1X2NsaXBzX3Bvc2l0aXZlCiAgICBkY2J6bAogICAgZGV2X2JrdHJfaW9j dGxfYnQ4NDhfaAogICAgZGV2X2JrdHJfaW9jdGxfbWV0ZW9yX2gKICAgIGRldl9pY19idDh4eF9o CiAgICBkZXZfdmlkZW9fbWV0ZW9yX2lvY3RsX21ldGVvcl9oCiAgICBkZXZfdmlkZW9fYmt0cl9p b2N0bF9idDg0OF9oCiAgICBkbGZjbl9oCiAgICBkbG9wZW4KICAgIGRvc19wYXRocwogICAgZWJw X2F2YWlsYWJsZQogICAgZWJ4X2F2YWlsYWJsZQogICAgZmFzdF82NGJpdAogICAgZmFzdF9jbW92 CiAgICBmYXN0X3VuYWxpZ25lZAogICAgZmVfY2FuXzJnX21vZHVsYXRpb24KICAgIGZvcmsKICAg IGZyZWV0eXBlMgogICAgZnRpbWUKICAgIGdldGhydGltZQogICAgZ2V0aWZhZGRycwogICAgR2V0 UHJvY2Vzc1RpbWVzCiAgICBnZXRydXNhZ2UKICAgIGdldHRpbWVvZmRheQogICAgaW5ldF9hdG9u CiAgICBpbmxpbmVfYXNtCiAgICBsZGJyeAogICAgbGliZGMxMzk0XzEKICAgIGxpYmRjMTM5NF8y CiAgICBsbHJpbnQKICAgIGxvb25nc29uCiAgICBscmludAogICAgbHJpbnRmCiAgICBsem8xeF85 OTlfY29tcHJlc3MKICAgIG1hY2hpbmVfaW9jdGxfYnQ4NDhfaAogICAgbWFjaGluZV9pb2N0bF9t ZXRlb3JfaAogICAgbWFsbG9jX2gKICAgIG1lbWFsaWduCiAgICBta3N0ZW1wCiAgICBwbGQKICAg IHBvc2l4X2ZhZHZpc2UKICAgIHBvc2l4X21lbWFsaWduCiAgICByb3VuZAogICAgcm91bmRmCiAg ICBzZGwKICAgIHNkbF92aWRlb19zaXplCiAgICBzZXRtb2RlCiAgICBzb2NrbGVuX3QKICAgIHNv dW5kY2FyZF9oCiAgICBwb2xsX2gKICAgIHN0ZGludF9oCiAgICBzeW5jX2ZpbGVfcmFuZ2UKICAg IHN5c19tbWFuX2gKICAgIHN5c19yZXNvdXJjZV9oCiAgICBzeXNfc2VsZWN0X2gKICAgIHN5c19z b3VuZGNhcmRfaAogICAgc3lzX3ZpZGVvaW9faAogICAgdGVuX29wZXJhbmRzCiAgICB0ZXJtaW9z X2gKICAgIHRocmVhZHMKICAgIHRydW5jZgogICAgVmlydHVhbEFsbG9jCiAgICB3aW5zb2NrMl9o CiAgICB4Zm9ybV9hc20KICAgIHlhc20KJwpIT01FPS9yb290CkhXQUNDRUxfTElTVD0naDI2M192 YWFwaV9od2FjY2VsCm1wZWcyX3ZhYXBpX2h3YWNjZWwKbXBlZzRfdmFhcGlfaHdhY2NlbAp2YzFf dmFhcGlfaHdhY2NlbAp3bXYzX3ZhYXBpX2h3YWNjZWwnCklGUz0nIAkKJwpJTkRFVl9MSVNUPScn CklOU1RBTEw9Jy91c3IvYmluL2luc3RhbGwgLWMgLW8gcm9vdCAtZyB3aGVlbCcKSU5TVEFMTF9E QVRBPSdpbnN0YWxsICAtbyByb290IC1nIHdoZWVsIC1tIDQ0NCcKSU5TVEFMTF9QUk9HUkFNPSdp bnN0YWxsICAtcyAtbyByb290IC1nIHdoZWVsIC1tIDU1NScKSU5TVEFMTF9TQ1JJUFQ9J2luc3Rh bGwgIC1vIHJvb3QgLWcgd2hlZWwgLW0gNTU1JwpMQ19BTEw9QwpMREZMQUdTPS1ML3Vzci9sb2Nh bC9saWIKTElCTkFNRT0nJChMSUJQUkVGKSQoRlVMTE5BTUUpJChMSUJTVUYpJwpMSUJQUkVGPWxp YgpMSUJTVUY9LmEKTElCX0lOU1RBTExfRVhUUkFfQ01EPSckKFJBTkxJQikgIiQoTElCRElSKS8k KExJQk5BTUUpIicKTUFJTD0vdmFyL21haWwvcm9vdApNQUtFPWdtYWtlCk1BS0VGTEFHUz0nIFBZ VEhPTl9WRVJTSU9OPXB5dGhvbjIuNiBBUkNIPWFtZDY0IE9QU1lTPUZyZWVCU0QgT1NSRUw9Ny4y IE9TVkVSU0lPTj03MDIxMDIgU1lTVEVNVkVSU0lPTj0gQ09ORklHX0RPTkVfTVlUSFRWPTEgUFlU SE9OX1ZFUlNJT049cHl0aG9uMi42IEFSQ0g9YW1kNjQgT1BTWVM9RnJlZUJTRCBPU1JFTD03LjIg T1NWRVJTSU9OPTcwMjEwMiBTWVNURU1WRVJTSU9OPScKTU9DPS91c3IvbG9jYWwvYmluL21vYy1x dDQKTVVYRVJfTElTVD0nYWMzX211eGVyCmFkdHNfbXV4ZXIKYWlmZl9tdXhlcgphbXJfbXV4ZXIK YXNmX211eGVyCmFzc19tdXhlcgphc2Zfc3RyZWFtX211eGVyCmF1X211eGVyCmF2aV9tdXhlcgph dm0yX211eGVyCmNyY19tdXhlcgpkYXVkX211eGVyCmRpcmFjX211eGVyCmRueGhkX211eGVyCmR0 c19tdXhlcgpkdl9tdXhlcgplYWMzX211eGVyCmZmbV9tdXhlcgpmbGFjX211eGVyCmZsdl9tdXhl cgpmcmFtZWNyY19tdXhlcgpnaWZfbXV4ZXIKZ3hmX211eGVyCmgyNjFfbXV4ZXIKaDI2M19tdXhl cgpoMjY0X211eGVyCmltYWdlMl9tdXhlcgppbWFnZTJwaXBlX211eGVyCmlwb2RfbXV4ZXIKbTR2 X211eGVyCm1hdHJvc2thX211eGVyCm1hdHJvc2thX2F1ZGlvX211eGVyCm1qcGVnX211eGVyCm1s cF9tdXhlcgptbWZfbXV4ZXIKbW92X211eGVyCm1wMl9tdXhlcgptcDNfbXV4ZXIKbXA0X211eGVy Cm1wZWcxc3lzdGVtX211eGVyCm1wZWcxdmNkX211eGVyCm1wZWcxdmlkZW9fbXV4ZXIKbXBlZzJk dmRfbXV4ZXIKbXBlZzJzdmNkX211eGVyCm1wZWcydmlkZW9fbXV4ZXIKbXBlZzJ2b2JfbXV4ZXIK bXBlZ3RzX211eGVyCm1wanBlZ19tdXhlcgpteGZfbXV4ZXIKbXhmX2QxMF9tdXhlcgpudWxsX211 eGVyCm51dF9tdXhlcgpvZ2dfbXV4ZXIKcGNtX2FsYXdfbXV4ZXIKcGNtX211bGF3X211eGVyCnBj bV9mNjRiZV9tdXhlcgpwY21fZjY0bGVfbXV4ZXIKcGNtX2YzMmJlX211eGVyCnBjbV9mMzJsZV9t dXhlcgpwY21fczMyYmVfbXV4ZXIKcGNtX3MzMmxlX211eGVyCnBjbV9zMjRiZV9tdXhlcgpwY21f czI0bGVfbXV4ZXIKcGNtX3MxNmJlX211eGVyCnBjbV9zMTZsZV9tdXhlcgpwY21fczhfbXV4ZXIK cGNtX3UzMmJlX211eGVyCnBjbV91MzJsZV9tdXhlcgpwY21fdTI0YmVfbXV4ZXIKcGNtX3UyNGxl X211eGVyCnBjbV91MTZiZV9tdXhlcgpwY21fdTE2bGVfbXV4ZXIKcGNtX3U4X211eGVyCnBzcF9t dXhlcgpyYXd2aWRlb19tdXhlcgpybV9tdXhlcgpyb3FfbXV4ZXIKcnRwX211eGVyCnNveF9tdXhl cgpzd2ZfbXV4ZXIKdGcyX211eGVyCnRncF9tdXhlcgp0cnVlaGRfbXV4ZXIKdmMxdF9tdXhlcgp2 b2NfbXV4ZXIKd2F2X211eGVyCnl1djRtcGVncGlwZV9tdXhlcgpsaWJudXRfbXV4ZXInCk1ZVEhU Vl9DT05GSUdfTElTVD0nCiAgICBiYWNrZW5kCiAgICBjeWd3aW4KICAgIGRhcndpbgogICAgZGJv eDIKICAgIGRpcmVjdGZiCiAgICBkaXNhYmxlX21teF9mb3JfZGVidWdnaW5nCiAgICBkdmIKICAg IGR2ZHYKICAgIGZpcmV3aXJlCiAgICBmcmliaWRpCiAgICBmcm9udGVuZAogICAgZ2x4X3Byb2Nf YWRkcl9hcmIKICAgIGhkaG9tZXJ1bgogICAgaGRwdnIKICAgIGlwdHYKICAgIGl2dHYKICAgIGpv eXN0aWNrX21lbnUKICAgIGxpYmZmdHczCiAgICBsaXJjCiAgICBtaGVnCiAgICBvcGVuZ2xfdmlk ZW8KICAgIG9wZW5nbF92c3luYwogICAgcXR3ZWJraXQKICAgIHY0bAogICAgdmFsZ3JpbmQKICAg IHgxMQogICAgeHJhbmRyCiAgICB4dgogICAgeHZtYwogICAgeHZtY192bGQKICAgIHh2bWN3CicK TVlUSFRWX0xJU1Q9JwogICAgYXVkaW9fcHVsc2UKICAgIGF1ZGlvX2Fsc2EKICAgIGF1ZGlvX2Fy dHMKICAgIGF1ZGlvX2phY2sKICAgIGF1ZGlvX29zcwogICAgZmZtcGVnX3B0aHJlYWRzCiAgICBt YWNfYnVuZGxlCiAgICBwcm9jX29wdAogICAgc2lsZW50X2NjCiAgICBzeW1ib2xfdmlzaWJpbGl0 eQogICAgeHZtY19wcm8KJwpPTERQV0Q9L3Vzci9wb3J0cy9tdWx0aW1lZGlhL215dGh0dgpPUFNZ Uz1GcmVlQlNECk9QVElORD0xCk9TUkVMPTcuMgpPU1ZFUlNJT049NzAyMTAyCk9VVERFVl9MSVNU PScnClBBR0VSPW1vcmUKUEFSU0VSX0xJU1Q9J2FhY19wYXJzZXIKbGF0bV9wYXJzZXIKYWMzX3Bh cnNlcgpjYXZzdmlkZW9fcGFyc2VyCmRjYV9wYXJzZXIKZGlyYWNfcGFyc2VyCmRueGhkX3BhcnNl cgpkdmJzdWJfcGFyc2VyCmR2ZHN1Yl9wYXJzZXIKaDI2MV9wYXJzZXIKaDI2M19wYXJzZXIKaDI2 NF9wYXJzZXIKbWpwZWdfcGFyc2VyCm1scF9wYXJzZXIKbXBlZzR2aWRlb19wYXJzZXIKbXBlZ2F1 ZGlvX3BhcnNlcgptcGVndmlkZW9fcGFyc2VyCnBubV9wYXJzZXIKdmMxX3BhcnNlcgp2cDNfcGFy c2VyJwpQQVRIPS9zYmluOi9iaW46L3Vzci9zYmluOi91c3IvYmluOi91c3IvZ2FtZXM6L3Vzci9s b2NhbC9zYmluOi91c3IvbG9jYWwvYmluOi9yb290L2JpbgpQQVRIU19MSVNUPScKICAgIGJpbmRp cgogICAgZGF0YWRpcgogICAgZHZiX3BhdGgKICAgIGluY2RpcgogICAgbGliZGlyCiAgICBtYW5k aXIKICAgIHByZWZpeAogICAgcnVucHJlZml4CiAgICBzaGxpYmRpcgogICAgeDExX3BhdGgKJwpQ UElEPTQzNDQ4ClBST0ZJTEVGTEFHUz0nJwpQUk9UT0NPTF9MSVNUPSdmaWxlX3Byb3RvY29sCmdv cGhlcl9wcm90b2NvbApodHRwX3Byb3RvY29sCnBpcGVfcHJvdG9jb2wKcnRwX3Byb3RvY29sCnRj cF9wcm90b2NvbAp1ZHBfcHJvdG9jb2wnClBTMT0nIyAnClBTMj0nPiAnClBTND0nKyAnClBXRD0v dXNyL3BvcnRzL211bHRpbWVkaWEvbXl0aHR2L3dvcmsvbXl0aHR2LTAuMjIKUFlUSE9OPS91c3Iv bG9jYWwvYmluL3B5dGhvbjIuNgpQWVRIT05fVkVSU0lPTj1weXRob24yLjYKUU1BS0VTUEVDPS91 c3IvbG9jYWwvc2hhcmUvcXQ0L21rc3BlY3MvZnJlZWJzZC1nKysKUVRESVI9L3Vzci9sb2NhbApT SEVMTD0vYmluL3NoClNIRkxBR1M9Jy1zaGFyZWQgLVdsLC1zb25hbWUsJCQoQEYpJwpTTElCTkFN RT0nJChTTElCUFJFRikkKEZVTExOQU1FKSQoU0xJQlNVRiknClNMSUJOQU1FX1dJVEhfTUFKT1I9 JyQoU0xJQk5BTUUpLiQoTElCTUFKT1IpJwpTTElCTkFNRV9XSVRIX1ZFUlNJT049JyQoU0xJQk5B TUUpLiQoTElCVkVSU0lPTiknClNMSUJQUkVGPWxpYgpTTElCU1VGPS5zbwpTTUJfQ09ERVNFVD1J U08tODg1OS0xClNZU1RFTVZFUlNJT049JycKVEVSTT14dGVybQpUSFJFQURTX0xJU1Q9JwogICAg YmVvc3RocmVhZHMKICAgIG9zMnRocmVhZHMKICAgIHB0aHJlYWRzCiAgICB3MzJ0aHJlYWRzCicK VE1QQz0vdG1wL215dGh0di1jb25mLS00MzQ0OS0uYwpUTVBDWFg9L3RtcC9teXRodHYtY29uZi0t NDM0NDktLmMKVE1QRElSMT0vdG1wClRNUEU9L3RtcC9teXRodHYtY29uZi0tNDM0NDktClRNUEg9 L3RtcC9teXRodHYtY29uZi0tNDM0NDktLmgKVE1QTz0vdG1wL215dGh0di1jb25mLS00MzQ0OS0u bwpUTVBTPS90bXAvbXl0aHR2LWNvbmYtLTQzNDQ5LS5TClRNUFNIPS90bXAvbXl0aHR2LWNvbmYt LTQzNDQ5LS5zaApVU0VSPXJvb3QKVVNJTkdfTElTVD0nCiAgICBhcHBsZXJlbW90ZQogICAgYmlu ZGluZ3NfcGVybAogICAgYmluZGluZ3NfcHl0aG9uCiAgICBkYXJ3aW5fZGEKICAgIGR2ZHYKICAg IG9wZW5nbAogICAgdmRwYXUKJwpfX01LTFZMX189MgphYWNfYWR0c3RvYXNjX2JzZj15ZXMKYWFj X2RlY29kZXI9eWVzCmFhY19kZWNvZGVyX2RlcHM9JyFsaWJmYWFkICFsaWJmYWFkYmluJwphYWNf ZGVjb2Rlcl9zZWxlY3Q9J2ZmdCBtZGN0JwphYWNfZGVtdXhlcj15ZXMKYWFjX3BhcnNlcj15ZXMK YWFzY19kZWNvZGVyPXllcwphYzNfZGVjb2Rlcj15ZXMKYWMzX2RlY29kZXJfc2VsZWN0PSdmZnQg bWRjdCcKYWMzX2RlbXV4ZXI9eWVzCmFjM19kZW11eGVyX2RlcHM9YWMzX3BhcnNlcgphYzNfZW5j b2Rlcj15ZXMKYWMzX211eGVyPXllcwphYzNfcGFyc2VyPXllcwphY3Rpb249ZGlzYWJsZQphZHBj bV80eG1fZGVjb2Rlcj15ZXMKYWRwY21fYWR4X2RlY29kZXI9eWVzCmFkcGNtX2FkeF9lbmNvZGVy PXllcwphZHBjbV9jdF9kZWNvZGVyPXllcwphZHBjbV9lYV9kZWNvZGVyPXllcwphZHBjbV9lYV9t YXhpc194YV9kZWNvZGVyPXllcwphZHBjbV9lYV9yMV9kZWNvZGVyPXllcwphZHBjbV9lYV9yMl9k ZWNvZGVyPXllcwphZHBjbV9lYV9yM19kZWNvZGVyPXllcwphZHBjbV9lYV94YXNfZGVjb2Rlcj15 ZXMKYWRwY21fZzcyNl9kZWNvZGVyPXllcwphZHBjbV9nNzI2X2VuY29kZXI9eWVzCmFkcGNtX2lt YV9hbXZfZGVjb2Rlcj15ZXMKYWRwY21faW1hX2RrM19kZWNvZGVyPXllcwphZHBjbV9pbWFfZGs0 X2RlY29kZXI9eWVzCmFkcGNtX2ltYV9lYV9lYWNzX2RlY29kZXI9eWVzCmFkcGNtX2ltYV9lYV9z ZWFkX2RlY29kZXI9eWVzCmFkcGNtX2ltYV9pc3NfZGVjb2Rlcj15ZXMKYWRwY21faW1hX3F0X2Rl Y29kZXI9eWVzCmFkcGNtX2ltYV9xdF9lbmNvZGVyPXllcwphZHBjbV9pbWFfc21qcGVnX2RlY29k ZXI9eWVzCmFkcGNtX2ltYV93YXZfZGVjb2Rlcj15ZXMKYWRwY21faW1hX3dhdl9lbmNvZGVyPXll cwphZHBjbV9pbWFfd3NfZGVjb2Rlcj15ZXMKYWRwY21fbXNfZGVjb2Rlcj15ZXMKYWRwY21fbXNf ZW5jb2Rlcj15ZXMKYWRwY21fc2Jwcm9fMl9kZWNvZGVyPXllcwphZHBjbV9zYnByb18zX2RlY29k ZXI9eWVzCmFkcGNtX3NicHJvXzRfZGVjb2Rlcj15ZXMKYWRwY21fc3dmX2RlY29kZXI9eWVzCmFk cGNtX3N3Zl9lbmNvZGVyPXllcwphZHBjbV90aHBfZGVjb2Rlcj15ZXMKYWRwY21feGFfZGVjb2Rl cj15ZXMKYWRwY21feWFtYWhhX2RlY29kZXI9eWVzCmFkcGNtX3lhbWFoYV9lbmNvZGVyPXllcwph ZHRzX211eGVyPXllcwphaWZmX2RlbXV4ZXI9eWVzCmFpZmZfbXV4ZXI9eWVzCmFsYWNfZGVjb2Rl cj15ZXMKYWxhY19lbmNvZGVyPXllcwphbHNhX2luZGV2X2RlcHM9J2Fsc2FfYXNvdW5kbGliX2gg c25kX3BjbV9odGltZXN0YW1wJwphbHNhX2luZGV2X2V4dHJhbGlicz0tbGFzb3VuZAphbHNhX291 dGRldl9kZXBzPWFsc2FfYXNvdW5kbGliX2gKYWxzYV9vdXRkZXZfZXh0cmFsaWJzPS1sYXNvdW5k CmFsdGl2ZWM9eWVzCmFsdGl2ZWNfZGVwcz1wcGMKYW1kM2Rub3c9eWVzCmFtZDNkbm93X2RlcHM9 bW14CmFtZDNkbm93ZXh0PXllcwphbWQzZG5vd2V4dF9kZXBzPWFtZDNkbm93CmFtcl9kZW11eGVy PXllcwphbXJfbXV4ZXI9eWVzCmFtdl9kZWNvZGVyPXllcwphcGNfZGVtdXhlcj15ZXMKYXBlX2Rl Y29kZXI9eWVzCmFwZV9kZW11eGVyPXllcwphcj1hcgphcmNoPWFtZDY0CmFyY2hfcmF3PWFtZDY0 CmFybXY1dGU9eWVzCmFybXY1dGVfZGVwcz1hcm0KYXJtdjY9eWVzCmFybXY2X2RlcHM9YXJtCmFy bXY2dDI9eWVzCmFybXY2dDJfZGVwcz1hcm0KYXJtdmZwPXllcwphcm12ZnBfZGVwcz1hcm0KYXNm X2RlbXV4ZXI9eWVzCmFzZl9tdXhlcj15ZXMKYXNmX3N0cmVhbV9tdXhlcj15ZXMKYXNzX2RlbXV4 ZXI9eWVzCmFzc19tdXhlcj15ZXMKYXN2MV9kZWNvZGVyPXllcwphc3YxX2VuY29kZXI9eWVzCmFz djJfZGVjb2Rlcj15ZXMKYXN2Ml9lbmNvZGVyPXllcwphdHJhYzNfZGVjb2Rlcj15ZXMKYXRyYWMz X2RlY29kZXJfc2VsZWN0PSdmZnQgbWRjdCcKYXVfZGVtdXhlcj15ZXMKYXVfbXV4ZXI9eWVzCmF1 ZGlvX2Fsc2E9ZGVmYXVsdAphdWRpb19hbHNhX2xpYnM9LWxhc291bmQKYXVkaW9fYXJ0cz1kZWZh dWx0CmF1ZGlvX2Jlb3NfaW5kZXZfZGVwcz1hdWRpb19iZW9zCmF1ZGlvX2Jlb3NfaW5kZXZfZXh0 cmFsaWJzPSctbG1lZGlhIC1sYmUnCmF1ZGlvX2Jlb3Nfb3V0ZGV2X2RlcHM9YXVkaW9fYmVvcwph dWRpb19iZW9zX291dGRldl9leHRyYWxpYnM9Jy1sbWVkaWEgLWxiZScKYXVkaW9famFjaz1kZWZh dWx0CmF1ZGlvX2phY2tfbGlicz0tbGphY2sKYXVkaW9fb3NzPXllcwphdWRpb19vc3NfZGVwc19h bnk9J3NvdW5kY2FyZF9oIHN5c19zb3VuZGNhcmRfaCcKYXVkaW9fcHVsc2U9ZGVmYXVsdAphdWRp b19wdWxzZV9saWJzPS1scHVsc2UKYXZpX2RlbXV4ZXI9eWVzCmF2aV9tdXhlcj15ZXMKYXZpc3lu dGhfZGVtdXhlcj15ZXMKYXZpc3ludGhfZGVtdXhlcl9kZXBzPWF2aXN5bnRoCmF2bTJfbXV4ZXI9 eWVzCmF2c19kZWNvZGVyPXllcwphdnNfZGVtdXhlcj15ZXMKYmV0aHNvZnR2aWRfZGVjb2Rlcj15 ZXMKYmV0aHNvZnR2aWRfZGVtdXhlcj15ZXMKYmZpX2RlY29kZXI9eWVzCmJmaV9kZW11eGVyPXll cwpiaW5kaW5nc19wZXJsPXllcwpiaW5kaW5nc19weXRob249eWVzCmJpbmRpcl9kZWZhdWx0PSck e3ByZWZpeH0vYmluJwpia3RyX2luZGV2X2RlcHNfYW55PSdkZXZfYmt0cl9pb2N0bF9idDg0OF9o IG1hY2hpbmVfaW9jdGxfYnQ4NDhfaCBkZXZfdmlkZW9fYmt0cl9pb2N0bF9idDg0OF9oIGRldl9p Y19idDh4eF9oJwpibXBfZGVjb2Rlcj15ZXMKYm1wX2VuY29kZXI9eWVzCmM5M19kZWNvZGVyPXll cwpjOTNfZGVtdXhlcj15ZXMKY2F2c19kZWNvZGVyPXllcwpjYXZzX2RlY29kZXJfc2VsZWN0PWdv bG9tYgpjYXZzdmlkZW9fZGVtdXhlcj15ZXMKY2F2c3ZpZGVvX3BhcnNlcj15ZXMKY2NfZGVmYXVs dD1nY2MKY2NhY2hlPXllcwpjaW5lcGFrX2RlY29kZXI9eWVzCmNsanJfZGVjb2Rlcj15ZXMKY29t cGlsZV90eXBlPXJlbGVhc2UKY29va19kZWNvZGVyPXllcwpjb29rX2RlY29kZXJfc2VsZWN0PSdm ZnQgbWRjdCcKY3B1PWdlbmVyaWMKY3JjX211eGVyPXllcwpjc2NkX2RlY29kZXI9eWVzCmNzY2Rf ZGVjb2Rlcl9zdWdnZXN0PXpsaWIKY3h4X2RlZmF1bHQ9ZysrCmN5dXZfZGVjb2Rlcj15ZXMKZGF0 YWRpcl9kZWZhdWx0PScke3ByZWZpeH0vc2hhcmUvbXl0aHR2JwpkYXVkX2RlbXV4ZXI9eWVzCmRh dWRfbXV4ZXI9eWVzCmRib3gyPW5vCmRib3gyX2RlcHM9YmFja2VuZApkY2FfZGVjb2Rlcj15ZXMK ZGNhX2RlY29kZXJfc2VsZWN0PSdmZnQgbWRjdCcKZGNhX3BhcnNlcj15ZXMKZGlyYWNfZGVtdXhl cj15ZXMKZGlyYWNfZGVtdXhlcl9kZXBzPWRpcmFjX3BhcnNlcgpkaXJhY19tdXhlcj15ZXMKZGly YWNfcGFyc2VyPXllcwpkaXJlY3RmYj1ubwpkaXN0Y2M9eWVzCmRueGhkX2RlY29kZXI9eWVzCmRu eGhkX2RlbXV4ZXI9eWVzCmRueGhkX2VuY29kZXI9eWVzCmRueGhkX2VuY29kZXJfc2VsZWN0PWFh bmRjdApkbnhoZF9tdXhlcj15ZXMKZG54aGRfcGFyc2VyPXllcwpkcHhfZGVjb2Rlcj15ZXMKZHNp Y2luX2RlbXV4ZXI9eWVzCmRzaWNpbmF1ZGlvX2RlY29kZXI9eWVzCmRzaWNpbnZpZGVvX2RlY29k ZXI9eWVzCmR0c19kZW11eGVyPXllcwpkdHNfbXV4ZXI9eWVzCmR1bXBfZXh0cmFkYXRhX2JzZj15 ZXMKZHYxMzk0X2luZGV2X2RlcHM9J2R2MTM5NCBkdl9kZW11eGVyJwpkdl9kZW11eGVyPXllcwpk dl9tdXhlcj15ZXMKZHZiPXllcwpkdmJfZGVwcz1iYWNrZW5kCmR2Yl9wYXRoX2RlZmF1bHQ9L3Vz ci9pbmNsdWRlCmR2YnN1Yl9kZWNvZGVyPXllcwpkdmJzdWJfZW5jb2Rlcj15ZXMKZHZic3ViX3Bh cnNlcj15ZXMKZHZkc3ViX2RlY29kZXI9eWVzCmR2ZHN1Yl9lbmNvZGVyPXllcwpkdmRzdWJfcGFy c2VyPXllcwpkdnZpZGVvX2RlY29kZXI9eWVzCmR2dmlkZW9fZW5jb2Rlcj15ZXMKZHhhX2RlY29k ZXI9eWVzCmR4YV9kZWNvZGVyX3NlbGVjdD16bGliCmR4YV9kZW11eGVyPXllcwplYV9jZGF0YV9k ZW11eGVyPXllcwplYV9kZW11eGVyPXllcwplYWMzX2RlY29kZXI9eWVzCmVhYzNfZGVjb2Rlcl9z ZWxlY3Q9YWMzX2RlY29kZXIKZWFjM19kZW11eGVyPXllcwplYWMzX211eGVyPXllcwplYWNtdl9k ZWNvZGVyPXllcwplYW1hZF9kZWNvZGVyPXllcwplYXRncV9kZWNvZGVyPXllcwplYXRncV9kZWNv ZGVyX3NlbGVjdD1hYW5kY3QKZWF0Z3ZfZGVjb2Rlcj15ZXMKZWF0cWlfZGVjb2Rlcj15ZXMKZWF0 cWlfZGVjb2Rlcl9zZWxlY3Q9YWFuZGN0CmVpZ2h0YnBzX2RlY29kZXI9eWVzCmVpZ2h0c3Z4X2V4 cF9kZWNvZGVyPXllcwplaWdodHN2eF9maWJfZGVjb2Rlcj15ZXMKZXNjYXBlMTI0X2RlY29kZXI9 eWVzCmZhc3RkaXY9eWVzCmZmbV9kZW11eGVyPXllcwpmZm1fbXV4ZXI9eWVzCmZmbXBlZ19wdGhy ZWFkcz15ZXMKZmZwbGF5X2RlcHM9c2RsCmZmc2VydmVyX2RlcHM9J2ZmbV9tdXhlciBydHBfcHJv dG9jb2wgcnRzcF9kZW11eGVyJwpmZnNlcnZlcl9leHRyYWxpYnM9JyRsZGwnCmZmdjFfZGVjb2Rl cj15ZXMKZmZ2MV9kZWNvZGVyX3NlbGVjdD1nb2xvbWIKZmZ2MV9lbmNvZGVyPXllcwpmZnZodWZm X2RlY29kZXI9eWVzCmZmdmh1ZmZfZW5jb2Rlcj15ZXMKZmlsZV9wcm90b2NvbD15ZXMKZmlyZXdp cmU9eWVzCmZpcmV3aXJlX2RlcHM9YmFja2VuZApmbGFjX2RlY29kZXI9eWVzCmZsYWNfZGVjb2Rl cl9zZWxlY3Q9Z29sb21iCmZsYWNfZGVtdXhlcj15ZXMKZmxhY19lbmNvZGVyPXllcwpmbGFjX2Vu Y29kZXJfc2VsZWN0PWdvbG9tYgpmbGFjX211eGVyPXllcwpmbGFzaHN2X2RlY29kZXI9eWVzCmZs YXNoc3ZfZGVjb2Rlcl9zZWxlY3Q9emxpYgpmbGFzaHN2X2VuY29kZXI9eWVzCmZsYXNoc3ZfZW5j b2Rlcl9zZWxlY3Q9emxpYgpmbGljX2RlY29kZXI9eWVzCmZsaWNfZGVtdXhlcj15ZXMKZmx2X2Rl Y29kZXI9eWVzCmZsdl9kZW11eGVyPXllcwpmbHZfZW5jb2Rlcj15ZXMKZmx2X2VuY29kZXJfc2Vs ZWN0PWFhbmRjdApmbHZfbXV4ZXI9eWVzCmZvdXJ4bV9kZWNvZGVyPXllcwpmb3VyeG1fZGVtdXhl cj15ZXMKZnJhbWVjcmNfbXV4ZXI9eWVzCmZyYXBzX2RlY29kZXI9eWVzCmZyb250ZW5kPXllcwpn aWZfZGVjb2Rlcj15ZXMKZ2lmX2VuY29kZXI9eWVzCmdpZl9tdXhlcj15ZXMKZ29waGVyX3Byb3Rv Y29sPXllcwpnb3BoZXJfcHJvdG9jb2xfZGVwcz1uZXR3b3JrCmdwbD15ZXMKZ3NtX2RlbXV4ZXI9 eWVzCmd4Zl9kZW11eGVyPXllcwpneGZfbXV4ZXI9eWVzCmgyNjFfZGVjb2Rlcj15ZXMKaDI2MV9k ZW11eGVyPXllcwpoMjYxX2VuY29kZXI9eWVzCmgyNjFfZW5jb2Rlcl9zZWxlY3Q9YWFuZGN0Cmgy NjFfbXV4ZXI9eWVzCmgyNjFfcGFyc2VyPXllcwpoMjYzX2RlY29kZXI9eWVzCmgyNjNfZGVtdXhl cj15ZXMKaDI2M19lbmNvZGVyPXllcwpoMjYzX2VuY29kZXJfc2VsZWN0PWFhbmRjdApoMjYzX211 eGVyPXllcwpoMjYzX3BhcnNlcj15ZXMKaDI2M192YWFwaV9od2FjY2VsPXllcwpoMjYzX3ZhYXBp X2h3YWNjZWxfZGVwcz12YV92YV9oCmgyNjNfdmFhcGlfaHdhY2NlbF9zZWxlY3Q9dmFhcGkKaDI2 M2lfZGVjb2Rlcj15ZXMKaDI2M3BfZW5jb2Rlcj15ZXMKaDI2M3BfZW5jb2Rlcl9zZWxlY3Q9YWFu ZGN0CmgyNjRfZGVjb2Rlcj15ZXMKaDI2NF9kZWNvZGVyX3NlbGVjdD1nb2xvbWIKaDI2NF9kZW11 eGVyPXllcwpoMjY0X21wNHRvYW5uZXhiX2JzZj15ZXMKaDI2NF9tdXhlcj15ZXMKaDI2NF9wYXJz ZXI9eWVzCmgyNjRfcGFyc2VyX3NlbGVjdD1nb2xvbWIKaDI2NF92YWFwaV9od2FjY2VsX2RlcHM9 dmFfdmFfaApoMjY0X3ZhYXBpX2h3YWNjZWxfc2VsZWN0PXZhYXBpCmgyNjRfdmRwYXVfZGVjb2Rl cj15ZXMKaDI2NF92ZHBhdV9kZWNvZGVyX2RlcHM9J3ZkcGF1X3ZkcGF1X2ggdmRwYXVfdmRwYXVf eDExX2gnCmgyNjRfdmRwYXVfZGVjb2Rlcl9zZWxlY3Q9dmRwYXUKaGRob21lcnVuPXllcwpoZGhv bWVydW5fZGVwcz1iYWNrZW5kCmhkcHZyPXllcwpoZHB2cl9kZXBzPWJhY2tlbmQKaG9zdF9jY19k ZWZhdWx0PWdjYwpob3N0X2NmbGFncz0nLU8zIC1nIC1XYWxsJwpob3N0X2xpYnM9LWxtCmhvc3Rf b3M9ZnJlZWJzZApodHRwX3Byb3RvY29sPXllcwpodHRwX3Byb3RvY29sX2RlcHM9bmV0d29yawpo dWZmeXV2X2RlY29kZXI9eWVzCmh1ZmZ5dXZfZW5jb2Rlcj15ZXMKaWRjaW5fZGVjb2Rlcj15ZXMK aWRjaW5fZGVtdXhlcj15ZXMKaWZmX2RlbXV4ZXI9eWVzCmltYWdlMl9kZW11eGVyPXllcwppbWFn ZTJfbXV4ZXI9eWVzCmltYWdlMnBpcGVfZGVtdXhlcj15ZXMKaW1hZ2UycGlwZV9tdXhlcj15ZXMK aW1jX2RlY29kZXI9eWVzCmltY19kZWNvZGVyX3NlbGVjdD0nZmZ0IG1kY3QnCmlteF9kdW1wX2hl YWRlcl9ic2Y9eWVzCmluY2Rpcl9kZWZhdWx0PScke3ByZWZpeH0vaW5jbHVkZScKaW5kZW8yX2Rl Y29kZXI9eWVzCmluZGVvM19kZWNvZGVyPXllcwppbmdlbmllbnRfZGVtdXhlcj15ZXMKaW50ZXJw bGF5X2RwY21fZGVjb2Rlcj15ZXMKaW50ZXJwbGF5X3ZpZGVvX2RlY29kZXI9eWVzCmlwbW92aWVf ZGVtdXhlcj15ZXMKaXBvZF9tdXhlcj15ZXMKaXB0dj15ZXMKaXB0dl9kZXBzPWJhY2tlbmQKaXB2 Nj15ZXMKaXNzX2RlbXV4ZXI9eWVzCml2dHY9eWVzCml2dHZfZGVwcz0nYmFja2VuZCB2NGwnCml3 bW14dD15ZXMKaXdtbXh0X2RlcHM9YXJtCmphY2tfaW5kZXZfZGVwcz1qYWNrX2phY2tfaApqYWNr X2luZGV2X2V4dHJhbGlicz0tbGphY2sKanBlZ2xzX2RlY29kZXI9eWVzCmpwZWdsc19kZWNvZGVy X3NlbGVjdD1nb2xvbWIKanBlZ2xzX2VuY29kZXI9eWVzCmpwZWdsc19lbmNvZGVyX3NlbGVjdD1n b2xvbWIKa212Y19kZWNvZGVyPXllcwpsPS0tZXh0cmEtY3h4ZmxhZ3M9CmxhbWVtcDM9eWVzCmxh dG1fcGFyc2VyPXllcwpsYXRtX3BhcnNlcl9kZXBzPWxpYmZhYWQKbGliYW1yX25iX2RlY29kZXI9 eWVzCmxpYmFtcl9uYl9kZWNvZGVyX2RlcHM9bGliYW1yX25iCmxpYmFtcl9uYl9lbmNvZGVyPXll cwpsaWJhbXJfbmJfZW5jb2Rlcl9kZXBzPWxpYmFtcl9uYgpsaWJhbXJfd2JfZGVjb2Rlcj15ZXMK bGliYW1yX3diX2RlY29kZXJfZGVwcz1saWJhbXJfd2IKbGliYW1yX3diX2VuY29kZXI9eWVzCmxp YmFtcl93Yl9lbmNvZGVyX2RlcHM9bGliYW1yX3diCmxpYmRjMTM5NF9pbmRldl9kZXBzPWxpYmRj MTM5NApsaWJkaXJfZGVmYXVsdD0vdXNyL2xvY2FsL2xpYgpsaWJkaXJfbmFtZT1saWIKbGliZGly YWNfZGVjb2Rlcj15ZXMKbGliZGlyYWNfZGVjb2Rlcl9kZXBzPSdsaWJkaXJhYyAhbGlic2Nocm9l ZGluZ2VyJwpsaWJkaXJhY19lbmNvZGVyPXllcwpsaWJkaXJhY19lbmNvZGVyX2RlcHM9bGliZGly YWMKbGliZmFhY19lbmNvZGVyPXllcwpsaWJmYWFjX2VuY29kZXJfZGVwcz1saWJmYWFjCmxpYmZh YWRfZGVjb2Rlcj15ZXMKbGliZmFhZF9kZWNvZGVyX2RlcHM9bGliZmFhZApsaWJmYWFkX2xhdG1f ZGVjb2Rlcj15ZXMKbGliZmFhZF9sYXRtX2RlY29kZXJfZGVwcz1saWJmYWFkCmxpYmZhYWRiaW5f ZGVjb2Rlcl9leHRyYWxpYnM9JyRsZGwnCmxpYmdzbV9kZWNvZGVyPXllcwpsaWJnc21fZGVjb2Rl cl9kZXBzPWxpYmdzbQpsaWJnc21fZW5jb2Rlcj15ZXMKbGliZ3NtX2VuY29kZXJfZGVwcz1saWJn c20KbGliZ3NtX21zX2RlY29kZXI9eWVzCmxpYmdzbV9tc19kZWNvZGVyX2RlcHM9bGliZ3NtCmxp YmdzbV9tc19lbmNvZGVyPXllcwpsaWJnc21fbXNfZW5jb2Rlcl9kZXBzPWxpYmdzbQpsaWJtcDNs YW1lX2VuY29kZXI9eWVzCmxpYm1wM2xhbWVfZW5jb2Rlcl9kZXBzPWxpYm1wM2xhbWUKbGlibnV0 X2RlbXV4ZXI9eWVzCmxpYm51dF9kZW11eGVyX2RlcHM9bGlibnV0CmxpYm51dF9tdXhlcj15ZXMK bGlibnV0X211eGVyX2RlcHM9bGlibnV0CmxpYm9wZW5jb3JlX2Ftcm5iX2RlY29kZXI9eWVzCmxp Ym9wZW5jb3JlX2Ftcm5iX2RlY29kZXJfZGVwcz1saWJvcGVuY29yZV9hbXJuYgpsaWJvcGVuY29y ZV9hbXJuYl9lbmNvZGVyPXllcwpsaWJvcGVuY29yZV9hbXJuYl9lbmNvZGVyX2RlcHM9bGlib3Bl bmNvcmVfYW1ybmIKbGlib3BlbmNvcmVfYW1yd2JfZGVjb2Rlcj15ZXMKbGlib3BlbmNvcmVfYW1y d2JfZGVjb2Rlcl9kZXBzPWxpYm9wZW5jb3JlX2FtcndiCmxpYm9wZW5qcGVnX2RlY29kZXI9eWVz CmxpYm9wZW5qcGVnX2RlY29kZXJfZGVwcz1saWJvcGVuanBlZwpsaWJzY2hyb2VkaW5nZXJfZGVj b2Rlcj15ZXMKbGlic2Nocm9lZGluZ2VyX2RlY29kZXJfZGVwcz1saWJzY2hyb2VkaW5nZXIKbGli c2Nocm9lZGluZ2VyX2VuY29kZXI9eWVzCmxpYnNjaHJvZWRpbmdlcl9lbmNvZGVyX2RlcHM9bGli c2Nocm9lZGluZ2VyCmxpYnNwZWV4X2RlY29kZXI9eWVzCmxpYnNwZWV4X2RlY29kZXJfZGVwcz1s aWJzcGVleApsaWJ0aGVvcmFfZW5jb2Rlcj15ZXMKbGlidGhlb3JhX2VuY29kZXJfZGVwcz1saWJ0 aGVvcmEKbGlidm9yYmlzX2VuY29kZXI9eWVzCmxpYnZvcmJpc19lbmNvZGVyX2RlcHM9bGlidm9y YmlzCmxpYngyNjRfZW5jb2Rlcj15ZXMKbGlieDI2NF9lbmNvZGVyX2RlcHM9bGlieDI2NApsaWJ4 dmlkX2VuY29kZXI9eWVzCmxpYnh2aWRfZW5jb2Rlcl9kZXBzPWxpYnh2aWQKbGlyYz15ZXMKbGpw ZWdfZW5jb2Rlcj15ZXMKbGpwZWdfZW5jb2Rlcl9zZWxlY3Q9YWFuZGN0CmxtbG00X2RlbXV4ZXI9 eWVzCmxuX3M9J2xuIC1zZicKbG9jb19kZWNvZGVyPXllcwpsb2NvX2RlY29kZXJfc2VsZWN0PWdv bG9tYgpsb2dmaWxlPWNvbmZpZy5lcAptNHZfZGVtdXhlcj15ZXMKbTR2X211eGVyPXllcwptYWNl M19kZWNvZGVyPXllcwptYWNlNl9kZWNvZGVyPXllcwptYW5kaXJfZGVmYXVsdD0nJHtwcmVmaXh9 L3NoYXJlL21hbicKbWF0cm9za2FfYXVkaW9fbXV4ZXI9eWVzCm1hdHJvc2thX2RlbXV4ZXI9eWVz Cm1hdHJvc2thX2RlbXV4ZXJfc3VnZ2VzdD0nemxpYiBiemxpYicKbWF0cm9za2FfbXV4ZXI9eWVz Cm1kZWNfZGVjb2Rlcj15ZXMKbWhlZz15ZXMKbWltaWNfZGVjb2Rlcj15ZXMKbWpwZWdfZGVjb2Rl cj15ZXMKbWpwZWdfZGVtdXhlcj15ZXMKbWpwZWdfZW5jb2Rlcj15ZXMKbWpwZWdfZW5jb2Rlcl9z ZWxlY3Q9YWFuZGN0Cm1qcGVnX211eGVyPXllcwptanBlZ19wYXJzZXI9eWVzCm1qcGVnYV9kdW1w X2hlYWRlcl9ic2Y9eWVzCm1qcGVnYl9kZWNvZGVyPXllcwptbHBfZGVjb2Rlcj15ZXMKbWxwX2Rl bXV4ZXI9eWVzCm1scF9tdXhlcj15ZXMKbWxwX3BhcnNlcj15ZXMKbW1fZGVtdXhlcj15ZXMKbW1m X2RlbXV4ZXI9eWVzCm1tZl9tdXhlcj15ZXMKbW1pPXllcwptbWlfZGVwcz1taXBzCm1tdmlkZW9f ZGVjb2Rlcj15ZXMKbW14Mj15ZXMKbW14Ml9kZXBzPW1teAptbXg9eWVzCm1teF9kZXBzPXg4Ngpt b3Rpb25waXhlbHNfZGVjb2Rlcj15ZXMKbW92MnRleHRzdWJfYnNmPXllcwptb3ZfZGVtdXhlcj15 ZXMKbW92X2RlbXV4ZXJfc3VnZ2VzdD16bGliCm1vdl9tdXhlcj15ZXMKbW92aWVfZmlsdGVyX2Rl cHM9YXZmaWx0ZXJfbGF2ZgptcDFfZGVjb2Rlcj15ZXMKbXAyX2RlY29kZXI9eWVzCm1wMl9lbmNv ZGVyPXllcwptcDJfbXV4ZXI9eWVzCm1wM19kZWNvZGVyPXllcwptcDNfZGVtdXhlcj15ZXMKbXAz X2RlbXV4ZXJfZGVwcz1tcGVnYXVkaW9fcGFyc2VyCm1wM19oZWFkZXJfY29tcHJlc3NfYnNmPXll cwptcDNfaGVhZGVyX2RlY29tcHJlc3NfYnNmPXllcwptcDNfbXV4ZXI9eWVzCm1wM2FkdV9kZWNv ZGVyPXllcwptcDNvbjRfZGVjb2Rlcj15ZXMKbXA0X211eGVyPXllcwptcGM3X2RlY29kZXI9eWVz Cm1wYzhfZGVjb2Rlcj15ZXMKbXBjOF9kZW11eGVyPXllcwptcGNfZGVtdXhlcj15ZXMKbXBlZzFf dmRwYXVfZGVjb2Rlcj15ZXMKbXBlZzFfdmRwYXVfZGVjb2Rlcl9kZXBzPSd2ZHBhdV92ZHBhdV9o IHZkcGF1X3ZkcGF1X3gxMV9oJwptcGVnMV92ZHBhdV9kZWNvZGVyX3NlbGVjdD12ZHBhdQptcGVn MXN5c3RlbV9tdXhlcj15ZXMKbXBlZzF2Y2RfbXV4ZXI9eWVzCm1wZWcxdmlkZW9fZGVjb2Rlcj15 ZXMKbXBlZzF2aWRlb19lbmNvZGVyPXllcwptcGVnMXZpZGVvX2VuY29kZXJfc2VsZWN0PWFhbmRj dAptcGVnMXZpZGVvX211eGVyPXllcwptcGVnMl92YWFwaV9od2FjY2VsPXllcwptcGVnMl92YWFw aV9od2FjY2VsX2RlcHM9dmFfdmFfaAptcGVnMl92YWFwaV9od2FjY2VsX3NlbGVjdD12YWFwaQpt cGVnMmR2ZF9tdXhlcj15ZXMKbXBlZzJzdmNkX211eGVyPXllcwptcGVnMnZpZGVvX2RlY29kZXI9 eWVzCm1wZWcydmlkZW9fZW5jb2Rlcj15ZXMKbXBlZzJ2aWRlb19lbmNvZGVyX3NlbGVjdD1hYW5k Y3QKbXBlZzJ2aWRlb19tdXhlcj15ZXMKbXBlZzJ2b2JfbXV4ZXI9eWVzCm1wZWc0X2RlY29kZXI9 eWVzCm1wZWc0X2VuY29kZXI9eWVzCm1wZWc0X2VuY29kZXJfc2VsZWN0PWFhbmRjdAptcGVnNF92 YWFwaV9od2FjY2VsPXllcwptcGVnNF92YWFwaV9od2FjY2VsX2RlcHM9dmFfdmFfaAptcGVnNF92 YWFwaV9od2FjY2VsX3NlbGVjdD12YWFwaQptcGVnNHZpZGVvX3BhcnNlcj15ZXMKbXBlZ19kdmR2 X2RlY29kZXI9eWVzCm1wZWdfZHZkdl9kZWNvZGVyX2RlcHM9ZHZkdgptcGVnX3ZkcGF1X2RlY29k ZXI9eWVzCm1wZWdfdmRwYXVfZGVjb2Rlcl9kZXBzPSd2ZHBhdV92ZHBhdV9oIHZkcGF1X3ZkcGF1 X3gxMV9oJwptcGVnX3ZkcGF1X2RlY29kZXJfc2VsZWN0PXZkcGF1Cm1wZWdfeHZtY19kZWNvZGVy PXllcwptcGVnX3h2bWNfZGVjb2Rlcl9kZXBzPVgxMV9leHRlbnNpb25zX1h2TUNsaWJfaAptcGVn X3h2bWNfdmxkX2RlY29kZXI9eWVzCm1wZWdfeHZtY192bGRfZGVjb2Rlcl9kZXBzPXh2bWNfdmxk Cm1wZWdhdWRpb19ocD15ZXMKbXBlZ2F1ZGlvX3BhcnNlcj15ZXMKbXBlZ3BzX2RlbXV4ZXI9eWVz Cm1wZWd0c19kZW11eGVyPXllcwptcGVndHNfbXV4ZXI9eWVzCm1wZWd0c3Jhd19kZW11eGVyPXll cwptcGVndHNyYXdfZGVtdXhlcl9kZXBzPW1lcmdlX2xpYmF2Zm9ybWF0X21wZWd0c19jCm1wZWd2 aWRlb19kZWNvZGVyPXllcwptcGVndmlkZW9fZGVtdXhlcj15ZXMKbXBlZ3ZpZGVvX3BhcnNlcj15 ZXMKbXBqcGVnX211eGVyPXllcwptc21wZWc0djFfZGVjb2Rlcj15ZXMKbXNtcGVnNHYxX2VuY29k ZXI9eWVzCm1zbXBlZzR2MV9lbmNvZGVyX3NlbGVjdD1hYW5kY3QKbXNtcGVnNHYyX2RlY29kZXI9 eWVzCm1zbXBlZzR2Ml9lbmNvZGVyPXllcwptc21wZWc0djJfZW5jb2Rlcl9zZWxlY3Q9YWFuZGN0 Cm1zbXBlZzR2M19kZWNvZGVyPXllcwptc21wZWc0djNfZW5jb2Rlcj15ZXMKbXNtcGVnNHYzX2Vu Y29kZXJfc2VsZWN0PWFhbmRjdAptc253Y190Y3BfZGVtdXhlcj15ZXMKbXNybGVfZGVjb2Rlcj15 ZXMKbXN2aWRlbzFfZGVjb2Rlcj15ZXMKbXN6aF9kZWNvZGVyPXllcwptdHZfZGVtdXhlcj15ZXMK bXZpX2RlbXV4ZXI9eWVzCm14Zl9kMTBfbXV4ZXI9eWVzCm14Zl9kZW11eGVyPXllcwpteGZfbXV4 ZXI9eWVzCm5jX2RlbXV4ZXI9eWVzCm5lbGx5bW9zZXJfZGVjb2Rlcj15ZXMKbmVsbHltb3Nlcl9k ZWNvZGVyX3NlbGVjdD0nZmZ0IG1kY3QnCm5lbGx5bW9zZXJfZW5jb2Rlcj15ZXMKbmVsbHltb3Nl cl9lbmNvZGVyX3NlbGVjdD0nZmZ0IG1kY3QnCm5lb249eWVzCm5lb25fZGVwcz1hcm0KbmV0d29y az15ZXMKbm1fZGVmYXVsdD1ubQpub2lzZV9ic2Y9eWVzCm5zdl9kZW11eGVyPXllcwpudWxsX211 eGVyPXllcwpudXRfZGVtdXhlcj15ZXMKbnV0X211eGVyPXllcwpudXZfZGVjb2Rlcj15ZXMKbnV2 X2RlbXV4ZXI9eWVzCm9iamZvcm1hdD1lbGYKb2dnX2RlbXV4ZXI9eWVzCm9nZ19tdXhlcj15ZXMK b21hX2RlbXV4ZXI9eWVzCm9wPT0Kb3BlbmdsPXllcwpvcGVuZ2xfZGVwc19hbnk9J2FnbF9oIEdM X2dsX2ggZGFyd2luIHdpbmRvd3MgeDExJwpvcGVuZ2xfdmlkZW89eWVzCm9wZW5nbF92aWRlb19k ZXBzPW9wZW5nbApvcGVuZ2xfdnN5bmM9eWVzCm9wZW5nbF92c3luY19kZXBzPW9wZW5nbApvcHQ9 LS1leHRyYS1jeHhmbGFncz0tZwpvcHRpbWl6YXRpb25zPXllcwpvcHRpb249eHZtY3cKb3B0bmFt ZT1wcmVmaXgKb3B0dmFsPS1nCm9zc19pbmRldl9kZXBzX2FueT0nc291bmRjYXJkX2ggc3lzX3Nv dW5kY2FyZF9oJwpvc3Nfb3V0ZGV2X2RlcHNfYW55PSdzb3VuZGNhcmRfaCBzeXNfc291bmRjYXJk X2gnCnBhbV9kZWNvZGVyPXllcwpwYW1fZW5jb2Rlcj15ZXMKcGJtX2RlY29kZXI9eWVzCnBibV9l bmNvZGVyPXllcwpwY21fYWxhd19kZWNvZGVyPXllcwpwY21fYWxhd19kZW11eGVyPXllcwpwY21f YWxhd19lbmNvZGVyPXllcwpwY21fYWxhd19tdXhlcj15ZXMKcGNtX2R2ZF9kZWNvZGVyPXllcwpw Y21fZjMyYmVfZGVjb2Rlcj15ZXMKcGNtX2YzMmJlX2RlbXV4ZXI9eWVzCnBjbV9mMzJiZV9lbmNv ZGVyPXllcwpwY21fZjMyYmVfbXV4ZXI9eWVzCnBjbV9mMzJsZV9kZWNvZGVyPXllcwpwY21fZjMy bGVfZGVtdXhlcj15ZXMKcGNtX2YzMmxlX2VuY29kZXI9eWVzCnBjbV9mMzJsZV9tdXhlcj15ZXMK cGNtX2Y2NGJlX2RlY29kZXI9eWVzCnBjbV9mNjRiZV9kZW11eGVyPXllcwpwY21fZjY0YmVfZW5j b2Rlcj15ZXMKcGNtX2Y2NGJlX211eGVyPXllcwpwY21fZjY0bGVfZGVjb2Rlcj15ZXMKcGNtX2Y2 NGxlX2RlbXV4ZXI9eWVzCnBjbV9mNjRsZV9lbmNvZGVyPXllcwpwY21fZjY0bGVfbXV4ZXI9eWVz CnBjbV9tdWxhd19kZWNvZGVyPXllcwpwY21fbXVsYXdfZGVtdXhlcj15ZXMKcGNtX211bGF3X2Vu Y29kZXI9eWVzCnBjbV9tdWxhd19tdXhlcj15ZXMKcGNtX3MxNmJlX2RlY29kZXI9eWVzCnBjbV9z MTZiZV9kZW11eGVyPXllcwpwY21fczE2YmVfZW5jb2Rlcj15ZXMKcGNtX3MxNmJlX211eGVyPXll cwpwY21fczE2bGVfZGVjb2Rlcj15ZXMKcGNtX3MxNmxlX2RlbXV4ZXI9eWVzCnBjbV9zMTZsZV9l bmNvZGVyPXllcwpwY21fczE2bGVfbXV4ZXI9eWVzCnBjbV9zMTZsZV9wbGFuYXJfZGVjb2Rlcj15 ZXMKcGNtX3MyNGJlX2RlY29kZXI9eWVzCnBjbV9zMjRiZV9kZW11eGVyPXllcwpwY21fczI0YmVf ZW5jb2Rlcj15ZXMKcGNtX3MyNGJlX211eGVyPXllcwpwY21fczI0ZGF1ZF9kZWNvZGVyPXllcwpw Y21fczI0ZGF1ZF9lbmNvZGVyPXllcwpwY21fczI0bGVfZGVjb2Rlcj15ZXMKcGNtX3MyNGxlX2Rl bXV4ZXI9eWVzCnBjbV9zMjRsZV9lbmNvZGVyPXllcwpwY21fczI0bGVfbXV4ZXI9eWVzCnBjbV9z MzJiZV9kZWNvZGVyPXllcwpwY21fczMyYmVfZGVtdXhlcj15ZXMKcGNtX3MzMmJlX2VuY29kZXI9 eWVzCnBjbV9zMzJiZV9tdXhlcj15ZXMKcGNtX3MzMmxlX2RlY29kZXI9eWVzCnBjbV9zMzJsZV9k ZW11eGVyPXllcwpwY21fczMybGVfZW5jb2Rlcj15ZXMKcGNtX3MzMmxlX211eGVyPXllcwpwY21f czhfZGVjb2Rlcj15ZXMKcGNtX3M4X2RlbXV4ZXI9eWVzCnBjbV9zOF9lbmNvZGVyPXllcwpwY21f czhfbXV4ZXI9eWVzCnBjbV91MTZiZV9kZWNvZGVyPXllcwpwY21fdTE2YmVfZGVtdXhlcj15ZXMK cGNtX3UxNmJlX2VuY29kZXI9eWVzCnBjbV91MTZiZV9tdXhlcj15ZXMKcGNtX3UxNmxlX2RlY29k ZXI9eWVzCnBjbV91MTZsZV9kZW11eGVyPXllcwpwY21fdTE2bGVfZW5jb2Rlcj15ZXMKcGNtX3Ux NmxlX211eGVyPXllcwpwY21fdTI0YmVfZGVjb2Rlcj15ZXMKcGNtX3UyNGJlX2RlbXV4ZXI9eWVz CnBjbV91MjRiZV9lbmNvZGVyPXllcwpwY21fdTI0YmVfbXV4ZXI9eWVzCnBjbV91MjRsZV9kZWNv ZGVyPXllcwpwY21fdTI0bGVfZGVtdXhlcj15ZXMKcGNtX3UyNGxlX2VuY29kZXI9eWVzCnBjbV91 MjRsZV9tdXhlcj15ZXMKcGNtX3UzMmJlX2RlY29kZXI9eWVzCnBjbV91MzJiZV9kZW11eGVyPXll cwpwY21fdTMyYmVfZW5jb2Rlcj15ZXMKcGNtX3UzMmJlX211eGVyPXllcwpwY21fdTMybGVfZGVj b2Rlcj15ZXMKcGNtX3UzMmxlX2RlbXV4ZXI9eWVzCnBjbV91MzJsZV9lbmNvZGVyPXllcwpwY21f dTMybGVfbXV4ZXI9eWVzCnBjbV91OF9kZWNvZGVyPXllcwpwY21fdThfZGVtdXhlcj15ZXMKcGNt X3U4X2VuY29kZXI9eWVzCnBjbV91OF9tdXhlcj15ZXMKcGNtX3pvcmtfZGVjb2Rlcj15ZXMKcGNt X3pvcmtfZW5jb2Rlcj15ZXMKcGN4X2RlY29kZXI9eWVzCnBjeF9lbmNvZGVyPXllcwpwZ21fZGVj b2Rlcj15ZXMKcGdtX2VuY29kZXI9eWVzCnBnbXl1dl9kZWNvZGVyPXllcwpwZ215dXZfZW5jb2Rl cj15ZXMKcGlwZV9wcm90b2NvbD15ZXMKcG5nX2RlY29kZXI9eWVzCnBuZ19kZWNvZGVyX3NlbGVj dD16bGliCnBuZ19lbmNvZGVyPXllcwpwbmdfZW5jb2Rlcl9zZWxlY3Q9emxpYgpwbm1fcGFyc2Vy PXllcwpwcGM0eHg9eWVzCnBwYzR4eF9kZXBzPXBwYwpwcG1fZGVjb2Rlcj15ZXMKcHBtX2VuY29k ZXI9eWVzCnByZV9sb2dmaWxlPWNvbmZpZy5lcApwcmVmaXg9L3Vzci9sb2NhbApwcmVmaXhfZGVm YXVsdD0vdXNyL2xvY2FsCnByb2Nlc3Nvcj1hbWQ2NApwcm9jZXNzb3JfZmxhZ3M9JycKcHJvdG9j b2xzPXllcwpwc3BfbXV4ZXI9eWVzCnB0eF9kZWNvZGVyPXllcwpwdmFfZGVtdXhlcj15ZXMKcWNl bHBfZGVjb2Rlcj15ZXMKcWNwX2RlbXV4ZXI9eWVzCnFkbTJfZGVjb2Rlcj15ZXMKcWRtMl9kZWNv ZGVyX3NlbGVjdD0nZmZ0IG1kY3QgcmRmdCcKcWRyYXdfZGVjb2Rlcj15ZXMKcW1ha2VfZGVmYXVs dD1xbWFrZQpxcGVnX2RlY29kZXI9eWVzCnF0cmxlX2RlY29kZXI9eWVzCnF0cmxlX2VuY29kZXI9 eWVzCnIzZF9kZW11eGVyPXllcwpyPS1nCnJhXzE0NF9kZWNvZGVyPXllcwpyYV8yODhfZGVjb2Rl cj15ZXMKcmFubGliPXJhbmxpYgpyYXd2aWRlb19kZWNvZGVyPXllcwpyYXd2aWRlb19kZW11eGVy PXllcwpyYXd2aWRlb19lbmNvZGVyPXllcwpyYXd2aWRlb19tdXhlcj15ZXMKcmVkaXJfZGVtdXhl cj15ZXMKcmVkaXJfZGVtdXhlcl9kZXBzPW5ldHdvcmsKcmVtb3ZlX2V4dHJhZGF0YV9ic2Y9eWVz CnJsMl9kZWNvZGVyPXllcwpybDJfZGVtdXhlcj15ZXMKcm1fZGVtdXhlcj15ZXMKcm1fbXV4ZXI9 eWVzCnJvcV9kZWNvZGVyPXllcwpyb3FfZGVtdXhlcj15ZXMKcm9xX2RwY21fZGVjb2Rlcj15ZXMK cm9xX2RwY21fZW5jb2Rlcj15ZXMKcm9xX2VuY29kZXI9eWVzCnJvcV9tdXhlcj15ZXMKcnBsX2Rl bXV4ZXI9eWVzCnJwemFfZGVjb2Rlcj15ZXMKcnRwX211eGVyPXllcwpydHBfbXV4ZXJfZGVwcz0n bmV0d29yayBydHBfcHJvdG9jb2wnCnJ0cF9wcm90b2NvbD15ZXMKcnRwX3Byb3RvY29sX2RlcHM9 dWRwX3Byb3RvY29sCnJ0c3BfZGVtdXhlcj15ZXMKcnRzcF9kZW11eGVyX2RlcHM9c2RwX2RlbXV4 ZXIKcnVucHJlZml4X2RlZmF1bHQ9L3Vzci9sb2NhbApydjEwX2RlY29kZXI9eWVzCnJ2MTBfZW5j b2Rlcj15ZXMKcnYxMF9lbmNvZGVyX3NlbGVjdD1hYW5kY3QKcnYyMF9kZWNvZGVyPXllcwpydjIw X2VuY29kZXI9eWVzCnJ2MjBfZW5jb2Rlcl9zZWxlY3Q9YWFuZGN0CnJ2MzBfZGVjb2Rlcj15ZXMK cnYzMF9kZWNvZGVyX3NlbGVjdD1nb2xvbWIKcnY0MF9kZWNvZGVyPXllcwpydjQwX2RlY29kZXJf c2VsZWN0PWdvbG9tYgpzZHBfZGVtdXhlcj15ZXMKc2RwX2RlbXV4ZXJfZGVwcz0ncnRwX3Byb3Rv Y29sIG1wZWd0c19kZW11eGVyJwpzZWdhZmlsbV9kZW11eGVyPXllcwpzZ2lfZGVjb2Rlcj15ZXMK c2dpX2VuY29kZXI9eWVzCnNoYXJlZD15ZXMKc2hsaWJkaXJfZGVmYXVsdD0nJHtwcmVmaXh9L2xp YicKc2hvcnRlbl9kZWNvZGVyPXllcwpzaG9ydGVuX2RlY29kZXJfc2VsZWN0PWdvbG9tYgpzaG9y dGVuX2RlbXV4ZXI9eWVzCnNpZmZfZGVtdXhlcj15ZXMKc21hY2thdWRfZGVjb2Rlcj15ZXMKc21h Y2tlcl9kZWNvZGVyPXllcwpzbWFja2VyX2RlbXV4ZXI9eWVzCnNtY19kZWNvZGVyPXllcwpzbm93 X2RlY29kZXI9eWVzCnNub3dfZW5jb2Rlcj15ZXMKc29sX2RlbXV4ZXI9eWVzCnNvbF9kcGNtX2Rl Y29kZXI9eWVzCnNvbmljX2RlY29kZXI9eWVzCnNvbmljX2RlY29kZXJfc2VsZWN0PWdvbG9tYgpz b25pY19lbmNvZGVyPXllcwpzb25pY19lbmNvZGVyX3NlbGVjdD1nb2xvbWIKc29uaWNfbHNfZW5j b2Rlcj15ZXMKc29uaWNfbHNfZW5jb2Rlcl9zZWxlY3Q9Z29sb21iCnNvdXJjZV9wYXRoPS91c3Iv cG9ydHMvbXVsdGltZWRpYS9teXRodHYvd29yay9teXRodHYtMC4yMgpzb3VyY2VfcGF0aF91c2Vk PW5vCnNveF9kZW11eGVyPXllcwpzb3hfbXV4ZXI9eWVzCnNwNXhfZGVjb2Rlcj15ZXMKc3NlPXll cwpzc2VfZGVwcz1tbXgKc3NzZTM9eWVzCnNzc2UzX2RlcHM9c3NlCnN0cl9kZW11eGVyPXllcwpz dHJpcD1zdHJpcApzdHJpcHBpbmc9eWVzCnN1bnJhc3RfZGVjb2Rlcj15ZXMKc3ZxMV9kZWNvZGVy PXllcwpzdnExX2VuY29kZXI9eWVzCnN2cTNfZGVjb2Rlcj15ZXMKc3ZxM19kZWNvZGVyX3NlbGVj dD1nb2xvbWIKc3ZxM19kZWNvZGVyX3N1Z2dlc3Q9emxpYgpzd2ZfZGVtdXhlcj15ZXMKc3dmX211 eGVyPXllcwpzd3NjYWxlX2FscGhhPXllcwp0YXJnYV9kZWNvZGVyPXllcwp0YXJnYV9lbmNvZGVy PXllcwp0YXJnZXRfb3M9ZnJlZWJzZAp0YXJnZXRfcGF0aD0uCnRjcF9wcm90b2NvbD15ZXMKdGNw X3Byb3RvY29sX2RlcHM9bmV0d29yawp0ZXh0Mm1vdnN1Yl9ic2Y9eWVzCnRnMl9tdXhlcj15ZXMK dGdwX211eGVyPXllcwp0aGVvcmFfZGVjb2Rlcj15ZXMKdGhwX2RlY29kZXI9eWVzCnRocF9kZW11 eGVyPXllcwp0aWVydGV4c2VxX2RlbXV4ZXI9eWVzCnRpZXJ0ZXhzZXF2aWRlb19kZWNvZGVyPXll cwp0aWZmX2RlY29kZXI9eWVzCnRpZmZfZGVjb2Rlcl9zdWdnZXN0PXpsaWIKdGlmZl9lbmNvZGVy PXllcwp0aWZmX2VuY29kZXJfc3VnZ2VzdD16bGliCnRtdl9kZWNvZGVyPXllcwp0bXZfZGVtdXhl cj15ZXMKdHJ1ZWhkX2RlY29kZXI9eWVzCnRydWVoZF9kZW11eGVyPXllcwp0cnVlaGRfbXV4ZXI9 eWVzCnRydWVtb3Rpb24xX2RlY29kZXI9eWVzCnRydWVtb3Rpb24yX2RlY29kZXI9eWVzCnRydWVz cGVlY2hfZGVjb2Rlcj15ZXMKdHNjY19kZWNvZGVyPXllcwp0c2NjX2RlY29kZXJfc2VsZWN0PXps aWIKdHRhX2RlY29kZXI9eWVzCnR0YV9kZW11eGVyPXllcwp0dW5lPWdlbmVyaWMKdHhkX2RlY29k ZXI9eWVzCnR4ZF9kZW11eGVyPXllcwp1ZHBfcHJvdG9jb2w9eWVzCnVkcF9wcm90b2NvbF9kZXBz PW5ldHdvcmsKdWx0aV9kZWNvZGVyPXllcwp2MjEwX2RlY29kZXI9eWVzCnYyMTBfZW5jb2Rlcj15 ZXMKdjIxMHhfZGVjb2Rlcj15ZXMKdjRsMl9pbmRldl9kZXBzX2FueT0nbGludXhfdmlkZW9kZXYy X2ggc3lzX3ZpZGVvaW9faCcKdjRsPXllcwp2NGxfZGVwcz1iYWNrZW5kCnY0bF9pbmRldl9kZXBz PWxpbnV4X3ZpZGVvZGV2X2gKdj0tLWV4dHJhLWN4eGZsYWdzPS1nCnZhbHVlPXByZWZpeAp2YXI9 RUNYWEZMQUdTCnZiX2RlY29kZXI9eWVzCnZjMV9kZWNvZGVyPXllcwp2YzFfZGVtdXhlcj15ZXMK dmMxX3BhcnNlcj15ZXMKdmMxX3ZhYXBpX2h3YWNjZWw9eWVzCnZjMV92YWFwaV9od2FjY2VsX2Rl cHM9dmFfdmFfaAp2YzFfdmFhcGlfaHdhY2NlbF9zZWxlY3Q9dmFhcGkKdmMxX3ZkcGF1X2RlY29k ZXI9eWVzCnZjMV92ZHBhdV9kZWNvZGVyX2RlcHM9J3ZkcGF1X3ZkcGF1X2ggdmRwYXVfdmRwYXVf eDExX2gnCnZjMV92ZHBhdV9kZWNvZGVyX3NlbGVjdD12ZHBhdQp2YzF0X2RlbXV4ZXI9eWVzCnZj MXRfbXV4ZXI9eWVzCnZjcjFfZGVjb2Rlcj15ZXMKdmZ3Y2FwX2luZGV2X2RlcHM9Y2FwQ3JlYXRl Q2FwdHVyZVdpbmRvdwp2ZndjYXBfaW5kZXZfZXh0cmFsaWJzPS1sdmZ3MzIKdmlzPXllcwp2aXNf ZGVwcz1zcGFyYwp2bWRfZGVtdXhlcj15ZXMKdm1kYXVkaW9fZGVjb2Rlcj15ZXMKdm1kdmlkZW9f ZGVjb2Rlcj15ZXMKdm1uY19kZWNvZGVyPXllcwp2b2NfZGVtdXhlcj15ZXMKdm9jX211eGVyPXll cwp2b3JiaXNfZGVjb2Rlcj15ZXMKdm9yYmlzX2RlY29kZXJfc2VsZWN0PSdmZnQgbWRjdCcKdm9y YmlzX2VuY29kZXI9eWVzCnZvcmJpc19lbmNvZGVyX3NlbGVjdD0nZmZ0IG1kY3QnCnZwM19kZWNv ZGVyPXllcwp2cDNfcGFyc2VyPXllcwp2cDVfZGVjb2Rlcj15ZXMKdnA2X2RlY29kZXI9eWVzCnZw NmFfZGVjb2Rlcj15ZXMKdnA2Zl9kZWNvZGVyPXllcwp2cWFfZGVjb2Rlcj15ZXMKdnFmX2RlbXV4 ZXI9eWVzCndhdl9kZW11eGVyPXllcwp3YXZfbXV4ZXI9eWVzCndhdnBhY2tfZGVjb2Rlcj15ZXMK d2MzX2RlbXV4ZXI9eWVzCndtYXYxX2RlY29kZXI9eWVzCndtYXYxX2RlY29kZXJfc2VsZWN0PSdm ZnQgbWRjdCcKd21hdjFfZW5jb2Rlcj15ZXMKd21hdjFfZW5jb2Rlcl9zZWxlY3Q9J2ZmdCBtZGN0 Jwp3bWF2Ml9kZWNvZGVyPXllcwp3bWF2Ml9kZWNvZGVyX3NlbGVjdD0nZmZ0IG1kY3QnCndtYXYy X2VuY29kZXI9eWVzCndtYXYyX2VuY29kZXJfc2VsZWN0PSdmZnQgbWRjdCcKd212MV9kZWNvZGVy PXllcwp3bXYxX2VuY29kZXI9eWVzCndtdjFfZW5jb2Rlcl9zZWxlY3Q9YWFuZGN0CndtdjJfZGVj b2Rlcj15ZXMKd212Ml9lbmNvZGVyPXllcwp3bXYyX2VuY29kZXJfc2VsZWN0PWFhbmRjdAp3bXYz X2RlY29kZXI9eWVzCndtdjNfdmFhcGlfaHdhY2NlbD15ZXMKd212M192YWFwaV9od2FjY2VsX2Rl cHM9dmFfdmFfaAp3bXYzX3ZhYXBpX2h3YWNjZWxfc2VsZWN0PXZhYXBpCndtdjNfdmRwYXVfZGVj b2Rlcj15ZXMKd212M192ZHBhdV9kZWNvZGVyX2RlcHM9J3ZkcGF1X3ZkcGF1X2ggdmRwYXVfdmRw YXVfeDExX2gnCndtdjNfdmRwYXVfZGVjb2Rlcl9zZWxlY3Q9dmRwYXUKd252MV9kZWNvZGVyPXll cwp3c19zbmQxX2RlY29kZXI9eWVzCndzYXVkX2RlbXV4ZXI9eWVzCndzdnFhX2RlbXV4ZXI9eWVz Cnd2X2RlbXV4ZXI9eWVzCngxMT15ZXMKeDExX2dyYWJfZGV2aWNlX2luZGV2X2RlcHM9J3gxMWdy YWIgWFNobUNyZWF0ZUltYWdlJwp4MTFfZ3JhYl9kZXZpY2VfaW5kZXZfZXh0cmFsaWJzPSctbFgx MSAtbFhleHQnCngxMV9wYXRoX2RlZmF1bHQ9L3Vzci9YMTFSNi9pbmNsdWRlCng4Nl82NF9jcHVz PXg4Ni02NCxhdGhsb242NCxrOCxvcHRlcm9uLGF0aGxvbjY0LXNzZTMsazgtc3NlMyxvcHRlcm9u LXNzZTMsYmFyY2Vsb25hLGF0aGxvbi1meCxub2NvbmEsY29yZTIKeDg2X2NwdXM9aTM4NixpNDg2 LGk1ODYsaTY4NixwZW50aXVtLHBlbnRpdW1wcm8scGVudGl1bS1tbXgscGVudGl1bTIscGVudGl1 bTMscGVudGl1bTNtLHBlbnRpdW0tbSxwZW50aXVtNCxwZW50aXVtNG0scHJlc2NvdHQsYXRobG9u LGF0aGxvbi14cCxhdGhsb24tdGJpcmQsYXRobG9uLTQsYXRobG9uLW1wLCxjMyxjMy0yLGs2LGs2 LTIsazYtMwp4ODZfbW14X2NwdXM9cGVudGl1bS1tbXgscGVudGl1bTIscGVudGl1bTMscGVudGl1 bTNtLHBlbnRpdW0tbSxwZW50aXVtNCxwZW50aXVtNG0scHJlc2NvdHQsYXRobG9uLGF0aGxvbi14 cCxhdGhsb24tdGJpcmQsYXRobG9uLTQsYXRobG9uLW1wLCxjMyxjMy0yLGs2LGs2LTIsazYtMwp4 YV9kZW11eGVyPXllcwp4YW5fZHBjbV9kZWNvZGVyPXllcwp4YW5fd2MzX2RlY29kZXI9eWVzCnhs X2RlY29kZXI9eWVzCnhyYW5kcj15ZXMKeHJhbmRyX2RlcHM9eDExCnhzdWJfZGVjb2Rlcj15ZXMK eHN1Yl9lbmNvZGVyPXllcwp4dj15ZXMKeHZfZGVwcz14MTEKeHZtYz15ZXMKeHZtY19kZXBzPSd4 diBYMTFfZXh0ZW5zaW9uc19Ydk1DbGliX2gnCnh2bWNfbGliPScnCnh2bWNfcHJvPW5vCnh2bWNf cHJvX2RlcHM9J3h2bWMgWDExX2V4dGVuc2lvbnNfdmxkWHZNQ19oJwp4dm1jX3ZsZD1ubwp4dm1j X3ZsZF9kZXBzPSd4dm1jIFgxMV9leHRlbnNpb25zX3ZsZFh2TUNfaCcKeHZtY3c9bm8KeHZtY3df ZGVwcz14dm1jCnlhc21leGU9eWFzbQp5dXY0bXBlZ3BpcGVfZGVtdXhlcj15ZXMKeXV2NG1wZWdw aXBlX211eGVyPXllcwp6bGliX2RlY29kZXI9eWVzCnpsaWJfZGVjb2Rlcl9zZWxlY3Q9emxpYgp6 bGliX2VuY29kZXI9eWVzCnpsaWJfZW5jb2Rlcl9zZWxlY3Q9emxpYgp6bWJ2X2RlY29kZXI9eWVz CnptYnZfZGVjb2Rlcl9zZWxlY3Q9emxpYgp6bWJ2X2VuY29kZXI9eWVzCnptYnZfZW5jb2Rlcl9z ZWxlY3Q9emxpYgp0eXBlIG1rdGVtcApta3RlbXAgaXMgL3Vzci9iaW4vbWt0ZW1wCmNoZWNrX2xk CmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQlpbnQgbWFp bih2b2lkKXsgcmV0dXJuIDA7IH0KRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2Mg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLURfUE9TSVhf Q19TT1VSQ0U9MjAwMTEyIC1nIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1jIC1vIC90bXAvbXl0aHR2 X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1ML3Vzci9s b2NhbC9saWIgLW8gL3RtcC9teXRodHZfY29uZi5TUGhOZE5MQyAvdG1wL215dGh0dl9jb25mLk9Z VXZyRG5BLm8KY2hlY2tfbGRfY3h4CmNoZWNrX2N4eApCRUdJTiAvdG1wL215dGh0di1jb25mLS00 MzQ0OS0uYwogICAgMQlpbnQgbWFpbih2b2lkKXsgcmV0dXJuIDA7IH0KRU5EIC90bXAvbXl0aHR2 LWNvbmYtLTQzNDQ5LS5jCmcrKyAtZyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAvdG1wL215 dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHYtY29uZi0tNDM0NDktLmMKZysrIC1ML3Vz ci9sb2NhbC9saWIgLW8gL3RtcC9teXRodHZfY29uZi5TUGhOZE5MQyAvdG1wL215dGh0dl9jb25m Lk9ZVXZyRG5BLm8KY2hlY2tfY2ZsYWdzIC1zdGQ9Yzk5CmNoZWNrX2NjIC1zdGQ9Yzk5CkJFR0lO IC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQlpbnQgeDsKRU5EIC90bXAvbXl0aHR2 X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lT T0M5OV9TT1VSQ0UgLURfUE9TSVhfQ19TT1VSQ0U9MjAwMTEyIC1nIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1zdGQ9Yzk5IC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0 dl9jb25mLjVzRWxjSHYwLmMKY2hlY2tfY2MgLURfRklMRV9PRkZTRVRfQklUUz02NApCRUdJTiAv dG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJI2luY2x1ZGUgPHN0ZGxpYi5oPgpFTkQg L3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtRF9QT1NJWF9DX1NPVVJDRT0yMDAxMTIgLXN0ZD1jOTkg LWcgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURfRklMRV9PRkZTRVRfQklUUz02NCAtYyAtbyAvdG1w L215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmNoZWNr X2NjIC1EX0xBUkdFRklMRV9TT1VSQ0UKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5j CiAgICAxCSNpbmNsdWRlIDxzdGRsaWIuaD4KRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAu YwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLURf UE9TSVhfQ19TT1VSQ0U9MjAwMTEyIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLWcg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLURfTEFSR0VGSUxFX1NPVVJDRSAtYyAtbyAvdG1wL215dGh0 dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmNoZWNrX2NjCkJF R0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQkgICAgICAgIGludCB0ZXN0W3Np emVvZihjaGFyKikgLSA3XTsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8y IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLURfUE9TSVhfQ19T T1VSQ0U9MjAwMTEyIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxF X1NPVVJDRSAtZyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9Z VXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmNoZWNrX29wdGZsYWdzIC1mb21p dC1mcmFtZS1wb2ludGVyCmNoZWNrX2NjIC1mb21pdC1mcmFtZS1wb2ludGVyCkJFR0lOIC90bXAv bXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQlpbnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYu NXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9T T1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNF IC1nIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1mb21pdC1mcmFtZS1wb2ludGVyIC1jIC1vIC90bXAv bXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKY2hlY2tf YXJjaGZsYWdzIC1tYXJjaD1rOApjaGVja19jYyAtbWFyY2g9azgKQkVHSU4gL3RtcC9teXRodHZf Y29uZi41c0VsY0h2MC5jCiAgICAxCWludCB4OwpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2 MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAt c3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLWcgLWZv bWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLW1hcmNoPWs4IC1jIC1vIC90 bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKY2hl Y2tfY2MKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCWludCBmZl9leHRl cm47CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJ VFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRo dHZfY29uZi41c0VsY0h2MC5jCmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNI djAuYwogICAgMQl2b2lkIGZvbyh2b2lkKSB7IF9fYXNtX18gdm9sYXRpbGUgKCIiIDo6KTsgfQpF TkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0 IC1EX0xBUkdFRklMRV9TT1VSQ0UgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLWMgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2Nv bmYuNXNFbGNIdjAuYwpjaGVja19sZApjaGVja19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVz RWxjSHYwLmMKICAgIDEJI2luY2x1ZGUgPHNpZ25hbC5oPgogICAgMglzdGF0aWMgdm9pZCBzaWdo YW5kbGVyKGludCBzaWcpewogICAgMwkgICAgcmFpc2UoU0lHVEVSTSk7CiAgICA0CX0KICAgIDUJ aW50IG1haW4odm9pZCl7CiAgICA2CSAgICBzaWduYWwoU0lHSUxMLCBzaWdoYW5kbGVyKTsKICAg IDcJICAgIHNpZ25hbChTSUdGUEUsIHNpZ2hhbmRsZXIpOwogICAgOAkgICAgc2lnbmFsKFNJR1NF R1YsIHNpZ2hhbmRsZXIpOwogICAgOQkjaWZkZWYgU0lHQlVTCiAgIDEwCSAgICBzaWduYWwoU0lH QlVTLCBzaWdoYW5kbGVyKTsKICAgMTEJI2VuZGlmCiAgIDEyCSAgICB7ICAgICB2b2xhdGlsZSBp bnQgaT0wOwogICAxMwkgICAgX19hc21fXyB2b2xhdGlsZSAoCiAgIDE0CSAgICAgICAgInhvcmwg JSVlYnAsICUlZWJwIgogICAxNQkgICAgOjo6ICIlZWJwIik7CiAgIDE2CSAgICByZXR1cm4gaTsg fQogICAxNwl9CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZG U0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAt SS91c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3Rt cC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTC91c3IvbG9jYWwvbGliIC1vIC90bXAvbXl0 aHR2X2NvbmYuU1BoTmROTEMgL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vCmNoZWNrX2FzbSBl YnhfYXZhaWxhYmxlICIiOjo6IiVlYngiCmNoZWNrX2FzCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYu NXNFbGNIdjAuYwogICAgMQl2b2lkIGZvbyh2b2lkKXsgX19hc21fXyB2b2xhdGlsZSgiIjo6OiIl ZWJ4Iik7IH0KRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZT RVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1j IC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYw LmMKY2hlY2tfY2MKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCWludCBt YWluKHZvaWQpIHsKICAgIDIJICAgIGludCB4PTA7CiAgICAzCSAgICBfX2FzbV9fIHZvbGF0aWxl KAogICAgNAkgICAgICAgICIiCiAgICA1CSAgICAgICAgOiIrJnJtIih4KSwgIismcm0iKHgpLCAi KyZybSIoeCksICIrJnJtIih4KSwgIismcm0iKHgpLCAiKyZybSIoeCkKICAgIDYJICAgICk7CiAg ICA3CSAgICByZXR1cm4gMDsKICAgIDgJfQpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5j CmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3Rk PWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLWcgLWZvbWl0 LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWMgLW8gL3RtcC9teXRodHZfY29u Zi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpjaGVja19hc20gc3NzZTMg InBhYnN3ICV4bW0wLCAleG1tMCIKY2hlY2tfYXMKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0Vs Y0h2MC5jCiAgICAxCXZvaWQgZm9vKHZvaWQpeyBfX2FzbV9fIHZvbGF0aWxlKCJwYWJzdyAleG1t MCwgJXhtbTAiKTsgfQpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxF X09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLWcgLWZvbWl0LWZyYW1lLXBvaW50 ZXIgLWMgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNF bGNIdjAuYwp7c3RhbmRhcmQgaW5wdXR9OiBBc3NlbWJsZXIgbWVzc2FnZXM6CntzdGFuZGFyZCBp bnB1dH06MTk6IEVycm9yOiBubyBzdWNoIGluc3RydWN0aW9uOiBgcGFic3cgJXhtbTAsJXhtbTAn CmNoZWNrX2FzbSBtbXgyICJwbWF4dWIgJW1tMCwgJW1tMSIKY2hlY2tfYXMKQkVHSU4gL3RtcC9t eXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCXZvaWQgZm9vKHZvaWQpeyBfX2FzbV9fIHZvbGF0 aWxlKCJwbWF4dWIgJW1tMCwgJW1tMSIpOyB9CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYw LmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1z dGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtZyAtZm9t aXQtZnJhbWUtcG9pbnRlciAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9t eXRodHZfY29uZi41c0VsY0h2MC5jCmNoZWNrX2FzbSBic3dhcCAiYnN3YXAgJSVlYXgiIDo6OiAi JWVheCIKY2hlY2tfYXMKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCXZv aWQgZm9vKHZvaWQpeyBfX2FzbV9fIHZvbGF0aWxlKCJic3dhcCAlJWVheCIgOjo6ICIlZWF4Iik7 IH0KRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklU Uz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1jIC1vIC90 bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKY2hl Y2tfeWFzbSBwYWJzdyB4bW0wLCB4bW0wCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuZ0JpaU5CaUQu UwogICAgMQlwYWJzdyB4bW0wLCB4bW0wCkVORCAvdG1wL215dGh0dl9jb25mLmdCaWlOQmlELlMK eWFzbSAtZiBlbGYgLURBUkNIX1g4Nl82NCAtbSBhbWQ2NCAtRFBJQyAtbyAvdG1wL215dGh0dl9j b25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi5nQmlpTkJpRC5TCmNoZWNrX2NjIC1tYXJj aD1rOApCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJaW50IG1haW4oIHZv aWQgKSB7IHJldHVybiAwOyB9CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1P MiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1E X0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtZyAtZm9taXQtZnJhbWUt cG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtbWFyY2g9azggLWMgLW8gL3RtcC9teXRodHZf Y29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpjaGVja19sZApjaGVj a19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJaW50IG1haW4oKXsK ICAgIDIJICAgIGZsb2F0IGYgPSAoMTw8KHNpemVvZihzaG9ydCkqOCkpPj4xOwogICAgMwkgICAg c2hvcnQgcyA9IChzaG9ydClmOwogICAgNAkgICAgaWYgKCBzID09IC0tZiApCiAgICA1CSAgICAg ICAgcmV0dXJuKDApOwogICAgNgkgICAgcmV0dXJuKDEpOwogICAgNwl9CkVORCAvdG1wL215dGh0 dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9J U09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxF X1NPVVJDRSAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtYyAt byAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5j CmdjYyAtTC91c3IvbG9jYWwvbGliIC1vIC90bXAvbXl0aHR2X2NvbmYuU1BoTmROTEMgL3RtcC9t eXRodHZfY29uZi5PWVV2ckRuQS5vCmNoZWNrX2xkCmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2 X2NvbmYuNXNFbGNIdjAuYwogICAgMQlpbnQgbWFpbigpewogICAgMgkgICAgZmxvYXQgZiA9IC0o KDE8PChzaXplb2Yoc2hvcnQpKjgpKT4+MSkgLSAxOwogICAgMwkgICAgc2hvcnQgcyA9IChzaG9y dClmOwogICAgNAkgICAgaWYgKCBzID09ICsrZikKICAgIDUJICAgICAgICByZXR1cm4oMCk7CiAg ICA2CSAgICByZXR1cm4oMSk7CiAgICA3CX0KRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAu YwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0 ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1nIC1mb21p dC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1jIC1vIC90bXAvbXl0aHR2X2Nv bmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1ML3Vzci9sb2Nh bC9saWIgLW8gL3RtcC9teXRodHZfY29uZi5TUGhOZE5MQyAvdG1wL215dGh0dl9jb25mLk9ZVXZy RG5BLm8KZGlzdGNjIC0tdmVyc2lvbgpjY2FjaGUgLVYKY2hlY2tfY2MKQkVHSU4gL3RtcC9teXRo dHZfY29uZi41c0VsY0h2MC5jCiAgICAxCXVuc2lnbmVkIGludCBlbmRpYW4gPSAnQicgPDwgMjQg fCAnSScgPDwgMTYgfCAnRycgPDwgOCB8ICdFJzsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNI djAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0Ug LXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1nIC1m b21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1jIC1vIC90bXAvbXl0aHR2 X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKY2hlY2tfZnVuYyBk bG9wZW4KY2hlY2tfbGQKY2hlY2tfY2MKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5j CiAgICAxCWV4dGVybiBpbnQgZGxvcGVuKCk7CiAgICAyCWludCBtYWluKHZvaWQpeyBkbG9wZW4o KTsgfQpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9C SVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLWMgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0 aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLUwvdXNyL2xvY2FsL2xpYiAtbyAvdG1wL215dGh0dl9j b25mLlNQaE5kTkxDIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubwpjaGVja19mdW5jIG5hbm9z bGVlcApjaGVja19sZApjaGVja19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMK ICAgIDEJZXh0ZXJuIGludCBuYW5vc2xlZXAoKTsKICAgIDIJaW50IG1haW4odm9pZCl7IG5hbm9z bGVlcCgpOyB9CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZG U0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAt SS91c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3Rt cC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTC91c3IvbG9jYWwvbGliIC1vIC90bXAvbXl0 aHR2X2NvbmYuU1BoTmROTEMgL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vCmNoZWNrX2Z1bmMg Zm9yawpjaGVja19sZApjaGVja19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMK ICAgIDEJZXh0ZXJuIGludCBmb3JrKCk7CiAgICAyCWludCBtYWluKHZvaWQpeyBmb3JrKCk7IH0K RU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02 NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9j b25mLjVzRWxjSHYwLmMKZ2NjIC1ML3Vzci9sb2NhbC9saWIgLW8gL3RtcC9teXRodHZfY29uZi5T UGhOZE5MQyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8KY2hlY2tfZnVuYyBnZXRocnRpbWUK Y2hlY2tfbGQKY2hlY2tfY2MKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAx CWV4dGVybiBpbnQgZ2V0aHJ0aW1lKCk7CiAgICAyCWludCBtYWluKHZvaWQpeyBnZXRocnRpbWUo KTsgfQpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9C SVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLWMgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0 aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLUwvdXNyL2xvY2FsL2xpYiAtbyAvdG1wL215dGh0dl9j b25mLlNQaE5kTkxDIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubwovdG1wL215dGh0dl9jb25m Lk9ZVXZyRG5BLm8oLnRleHQrMHg3KTogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL215dGh0dl9j b25mLjVzRWxjSHYwLmM6MjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZ2V0aHJ0aW1lJwpjaGVj a19mdW5jIGdldHJ1c2FnZQpjaGVja19sZApjaGVja19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25m LjVzRWxjSHYwLmMKICAgIDEJZXh0ZXJuIGludCBnZXRydXNhZ2UoKTsKICAgIDIJaW50IG1haW4o dm9pZCl7IGdldHJ1c2FnZSgpOyB9CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2Nj IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5 IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtZyAtZm9taXQtZnJh bWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9Z VXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTC91c3IvbG9jYWwvbGli IC1vIC90bXAvbXl0aHR2X2NvbmYuU1BoTmROTEMgL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5v CmNoZWNrX2Z1bmMgaW5ldF9hdG9uCmNoZWNrX2xkCmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2 X2NvbmYuNXNFbGNIdjAuYwogICAgMQlleHRlcm4gaW50IGluZXRfYXRvbigpOwogICAgMglpbnQg bWFpbih2b2lkKXsgaW5ldF9hdG9uKCk7IH0KRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAu YwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0 ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1nIC1mb21p dC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1jIC1vIC90bXAvbXl0aHR2X2Nv bmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1ML3Vzci9sb2Nh bC9saWIgLW8gL3RtcC9teXRodHZfY29uZi5TUGhOZE5MQyAvdG1wL215dGh0dl9jb25mLk9ZVXZy RG5BLm8KY2hlY2tfZnVuYyBtZW1hbGlnbgpjaGVja19sZApjaGVja19jYwpCRUdJTiAvdG1wL215 dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJZXh0ZXJuIGludCBtZW1hbGlnbigpOwogICAgMglp bnQgbWFpbih2b2lkKXsgbWVtYWxpZ24oKTsgfQpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2 MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAt c3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLWcgLWZv bWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWMgLW8gL3RtcC9teXRodHZf Y29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLUwvdXNyL2xv Y2FsL2xpYiAtbyAvdG1wL215dGh0dl9jb25mLlNQaE5kTkxDIC90bXAvbXl0aHR2X2NvbmYuT1lV dnJEbkEubwovdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8oLnRleHQrMHg3KTogSW4gZnVuY3Rp b24gYG1haW4nOgovdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmM6MjogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0byBgbWVtYWxpZ24nCmNoZWNrX2Z1bmMgbWtzdGVtcApjaGVja19sZApjaGVja19jYwpC RUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJZXh0ZXJuIGludCBta3N0ZW1w KCk7CiAgICAyCWludCBtYWluKHZvaWQpeyBta3N0ZW1wKCk7IH0KRU5EIC90bXAvbXl0aHR2X2Nv bmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5 OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09V UkNFIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1jIC1vIC90 bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2Nj IC1ML3Vzci9sb2NhbC9saWIgLW8gL3RtcC9teXRodHZfY29uZi5TUGhOZE5MQyAvdG1wL215dGh0 dl9jb25mLk9ZVXZyRG5BLm8KY2hlY2tfZnVuYyBwb3NpeF9tZW1hbGlnbgpjaGVja19sZApjaGVj a19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJZXh0ZXJuIGludCBw b3NpeF9tZW1hbGlnbigpOwogICAgMglpbnQgbWFpbih2b2lkKXsgcG9zaXhfbWVtYWxpZ24oKTsg fQpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRT PTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLWMgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2 X2NvbmYuNXNFbGNIdjAuYwpnY2MgLUwvdXNyL2xvY2FsL2xpYiAtbyAvdG1wL215dGh0dl9jb25m LlNQaE5kTkxDIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubwpjaGVja19mdW5jX2hlYWRlcnMg aW8uaCBzZXRtb2RlCmNoZWNrX2xkCmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNF bGNIdjAuYwogICAgMQkKICAgIDIJI2luY2x1ZGUgPGlvLmg+CiAgICAzCWludCBtYWluKGludCBh cmdjLCBjaGFyICoqYXJndil7CiAgICA0CSAgICAodm9pZCkgc2V0bW9kZTsKICAgIDUJICAgIHJl dHVybiAwOwogICAgNgl9CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAt Zm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJ TEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtZyAtZm9taXQtZnJhbWUtcG9p bnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5B Lm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCi90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAu YzoyOjE2OiBlcnJvcjogaW8uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQovdG1wL215dGh0 dl9jb25mLjVzRWxjSHYwLmM6IEluIGZ1bmN0aW9uICdtYWluJzoKL3RtcC9teXRodHZfY29uZi41 c0VsY0h2MC5jOjQ6IGVycm9yOiAnc2V0bW9kZScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCi90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYzo0OiBlcnJvcjogKEVhY2gg dW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZQovdG1wL215dGh0dl9j b25mLjVzRWxjSHYwLmM6NDogZXJyb3I6IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4u KQpjaGVja19mdW5jX2hlYWRlcnMgbHpvL2x6bzF4LmggbHpvMXhfOTk5X2NvbXByZXNzCmNoZWNr X2xkCmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQkKICAg IDIJI2luY2x1ZGUgPGx6by9sem8xeC5oPgogICAgMwlpbnQgbWFpbihpbnQgYXJnYywgY2hhciAq KmFyZ3YpewogICAgNAkgICAgKHZvaWQpIGx6bzF4Xzk5OV9jb21wcmVzczsKICAgIDUJICAgIHJl dHVybiAwOwogICAgNgl9CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAt Zm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJ TEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtZyAtZm9taXQtZnJhbWUtcG9p bnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5B Lm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCi90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAu YzoyOjIzOiBlcnJvcjogbHpvL2x6bzF4Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKL3Rt cC9teXRodHZfY29uZi41c0VsY0h2MC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6Ci90bXAvbXl0aHR2 X2NvbmYuNXNFbGNIdjAuYzo0OiBlcnJvcjogJ2x6bzF4Xzk5OV9jb21wcmVzcycgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCi90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAu Yzo0OiBlcnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkg b25jZQovdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmM6NDogZXJyb3I6IGZvciBlYWNoIGZ1bmN0 aW9uIGl0IGFwcGVhcnMgaW4uKQpjaGVja19mdW5jX2hlYWRlcnMgd2luZG93cy5oIEdldFByb2Nl c3NUaW1lcwpjaGVja19sZApjaGVja19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYw LmMKICAgIDEJCiAgICAyCSNpbmNsdWRlIDx3aW5kb3dzLmg+CiAgICAzCWludCBtYWluKGludCBh cmdjLCBjaGFyICoqYXJndil7CiAgICA0CSAgICAodm9pZCkgR2V0UHJvY2Vzc1RpbWVzOwogICAg NQkgICAgcmV0dXJuIDA7CiAgICA2CX0KRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpn Y2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1j OTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1nIC1mb21pdC1m cmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYu T1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKL3RtcC9teXRodHZfY29uZi41 c0VsY0h2MC5jOjI6MjE6IGVycm9yOiB3aW5kb3dzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv cnkKL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6Ci90bXAv bXl0aHR2X2NvbmYuNXNFbGNIdjAuYzo0OiBlcnJvcjogJ0dldFByb2Nlc3NUaW1lcycgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCi90bXAvbXl0aHR2X2NvbmYuNXNFbGNI djAuYzo0OiBlcnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9u bHkgb25jZQovdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmM6NDogZXJyb3I6IGZvciBlYWNoIGZ1 bmN0aW9uIGl0IGFwcGVhcnMgaW4uKQpjaGVja19mdW5jX2hlYWRlcnMgd2luZG93cy5oIFZpcnR1 YWxBbGxvYwpjaGVja19sZApjaGVja19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYw LmMKICAgIDEJCiAgICAyCSNpbmNsdWRlIDx3aW5kb3dzLmg+CiAgICAzCWludCBtYWluKGludCBh cmdjLCBjaGFyICoqYXJndil7CiAgICA0CSAgICAodm9pZCkgVmlydHVhbEFsbG9jOwogICAgNQkg ICAgcmV0dXJuIDA7CiAgICA2CX0KRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2Mg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkg LURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1nIC1mb21pdC1mcmFt ZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lV dnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKL3RtcC9teXRodHZfY29uZi41c0Vs Y0h2MC5jOjI6MjE6IGVycm9yOiB3aW5kb3dzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK L3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6Ci90bXAvbXl0 aHR2X2NvbmYuNXNFbGNIdjAuYzo0OiBlcnJvcjogJ1ZpcnR1YWxBbGxvYycgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCi90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYzo0 OiBlcnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25j ZQovdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmM6NDogZXJyb3I6IGZvciBlYWNoIGZ1bmN0aW9u IGl0IGFwcGVhcnMgaW4uKQpjaGVja19oZWFkZXIgY29uaW8uaApjaGVja19jcHAKQkVHSU4gL3Rt cC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCSNpbmNsdWRlIDxjb25pby5oPgogICAgMglp bnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRf QklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1FIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215 dGh0dl9jb25mLjVzRWxjSHYwLmMKL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jOjE6MTk6IGVy cm9yOiBjb25pby5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNoZWNrX2hlYWRlciBkbGZj bi5oCmNoZWNrX2NwcApCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJI2lu Y2x1ZGUgPGRsZmNuLmg+CiAgICAyCWludCB4OwpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2 MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAt c3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLWcgLWZv bWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUUgLW8gL3RtcC9teXRodHZf Y29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpjaGVja19oZWFkZXIg bWFsbG9jLmgKY2hlY2tfY3BwCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAg MQkjaW5jbHVkZSA8bWFsbG9jLmg+CiAgICAyCWludCB4OwpFTkQgL3RtcC9teXRodHZfY29uZi41 c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NP VVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0Ug LWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUUgLW8gL3RtcC9t eXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpJbiBmaWxl IGluY2x1ZGVkIGZyb20gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jOjE6Ci91c3IvaW5jbHVk ZS9tYWxsb2MuaDozOjI6IGVycm9yOiAjZXJyb3IgIjxtYWxsb2MuaD4gaGFzIGJlZW4gcmVwbGFj ZWQgYnkgPHN0ZGxpYi5oPiIKY2hlY2tfaGVhZGVyIHBvbGwuaApjaGVja19jcHAKQkVHSU4gL3Rt cC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCSNpbmNsdWRlIDxwb2xsLmg+CiAgICAyCWlu dCB4OwpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9C SVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLUUgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0 aHR2X2NvbmYuNXNFbGNIdjAuYwpjaGVja19oZWFkZXIgc3lzL21tYW4uaApjaGVja19jcHAKQkVH SU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCSNpbmNsdWRlIDxzeXMvbW1hbi5o PgogICAgMglpbnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklM RV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1nIC1mb21pdC1mcmFtZS1wb2lu dGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1FIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEu byAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKY2hlY2tfaGVhZGVyIHN5cy9yZXNvdXJjZS5o CmNoZWNrX2NwcApCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJI2luY2x1 ZGUgPHN5cy9yZXNvdXJjZS5oPgogICAgMglpbnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNF bGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VS Q0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1n IC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1FIC1vIC90bXAvbXl0 aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKY2hlY2tfaGVh ZGVyIHN5cy9zZWxlY3QuaApjaGVja19jcHAKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2 MC5jCiAgICAxCSNpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+CiAgICAyCWludCB4OwpFTkQgL3RtcC9t eXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUg LURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdF RklMRV9TT1VSQ0UgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUg LUUgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNI djAuYwpjaGVja19oZWFkZXIgdGVybWlvcy5oCmNoZWNrX2NwcApCRUdJTiAvdG1wL215dGh0dl9j b25mLjVzRWxjSHYwLmMKICAgIDEJI2luY2x1ZGUgPHRlcm1pb3MuaD4KICAgIDIJaW50IHg7CkVO RCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQg LURfTEFSR0VGSUxFX1NPVVJDRSAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwv aW5jbHVkZSAtRSAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29u Zi41c0VsY0h2MC5jCmNoZWNrX2hlYWRlciB2ZHBhdS92ZHBhdS5oCmNoZWNrX2NwcApCRUdJTiAv dG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJI2luY2x1ZGUgPHZkcGF1L3ZkcGF1Lmg+ CiAgICAyCWludCB4OwpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxF X09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLWcgLWZvbWl0LWZyYW1lLXBvaW50 ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUUgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5v IC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwovdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmM6 MToyNTogZXJyb3I6IHZkcGF1L3ZkcGF1Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY2hl Y2tfaGVhZGVyIHZkcGF1L3ZkcGF1X3gxMS5oCmNoZWNrX2NwcApCRUdJTiAvdG1wL215dGh0dl9j b25mLjVzRWxjSHYwLmMKICAgIDEJI2luY2x1ZGUgPHZkcGF1L3ZkcGF1X3gxMS5oPgogICAgMglp bnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRf QklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1FIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215 dGh0dl9jb25mLjVzRWxjSHYwLmMKL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jOjE6Mjk6IGVy cm9yOiB2ZHBhdS92ZHBhdV94MTEuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjaGVja19o ZWFkZXIgWDExL2V4dGVuc2lvbnMvWHZNQ2xpYi5oCmNoZWNrX2NwcApCRUdJTiAvdG1wL215dGh0 dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJI2luY2x1ZGUgPFgxMS9leHRlbnNpb25zL1h2TUNsaWIu aD4KICAgIDIJaW50IHg7CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAt Zm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJ TEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtZyAtZm9taXQtZnJhbWUtcG9p bnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtRSAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5B Lm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmNoZWNrX2Z1bmMgcG9zaXhfZmFkdmlzZQpj aGVja19sZApjaGVja19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJ ZXh0ZXJuIGludCBwb3NpeF9mYWR2aXNlKCk7CiAgICAyCWludCBtYWluKHZvaWQpeyBwb3NpeF9m YWR2aXNlKCk7IH0KRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9P RkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1nIC1mb21pdC1mcmFtZS1wb2ludGVy IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAv dG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1ML3Vzci9sb2NhbC9saWIgLW8gL3RtcC9t eXRodHZfY29uZi5TUGhOZE5MQyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8KL3RtcC9teXRo dHZfY29uZi5PWVV2ckRuQS5vKC50ZXh0KzB4Nyk6IEluIGZ1bmN0aW9uIGBtYWluJzoKL3RtcC9t eXRodHZfY29uZi41c0VsY0h2MC5jOjI6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHBvc2l4X2Zh ZHZpc2UnCmNoZWNrX2Z1bmNfaGVhZGVycyBzeXMvdGltZWIuaCBmdGltZQpjaGVja19sZApjaGVj a19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJCiAgICAyCSNpbmNs dWRlIDxzeXMvdGltZWIuaD4KICAgIDMJaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KXsK ICAgIDQJICAgICh2b2lkKSBmdGltZTsKICAgIDUJICAgIHJldHVybiAwOwogICAgNgl9CkVORCAv dG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAt cGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURf TEFSR0VGSUxFX1NPVVJDRSAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5j bHVkZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41 c0VsY0h2MC5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYw LmM6MjoKL3Vzci9pbmNsdWRlL3N5cy90aW1lYi5oOjQzOiBlcnJvcjogZXhwZWN0ZWQgc3BlY2lm aWVyLXF1YWxpZmllci1saXN0IGJlZm9yZSAndGltZV90JwpjaGVja19mdW5jX2hlYWRlcnMgc3lz L3RpbWUuaCBnZXR0aW1lb2ZkYXkKY2hlY2tfbGQKY2hlY2tfY2MKQkVHSU4gL3RtcC9teXRodHZf Y29uZi41c0VsY0h2MC5jCiAgICAxCQogICAgMgkjaW5jbHVkZSA8c3lzL3RpbWUuaD4KICAgIDMJ aW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KXsKICAgIDQJICAgICh2b2lkKSBnZXR0aW1l b2ZkYXk7CiAgICA1CSAgICByZXR1cm4gMDsKICAgIDYJfQpFTkQgL3RtcC9teXRodHZfY29uZi41 c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NP VVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0Ug LWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWMgLW8gL3RtcC9t eXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLUwv dXNyL2xvY2FsL2xpYiAtbyAvdG1wL215dGh0dl9jb25mLlNQaE5kTkxDIC90bXAvbXl0aHR2X2Nv bmYuT1lVdnJEbkEubwpjaGVja19mdW5jX2hlYWRlcnMgc3lzL3R5cGVzLmggc3lzL3NvY2tldC5o IGlmYWRkcnMuaCBnZXRpZmFkZHJzCmNoZWNrX2xkCmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2 X2NvbmYuNXNFbGNIdjAuYwogICAgMQkKICAgIDIJI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogICAg MwkjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgogICAgNAkjaW5jbHVkZSA8aWZhZGRycy5oPgogICAg NQlpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpewogICAgNgkgICAgKHZvaWQpIGdldGlm YWRkcnM7CiAgICA3CSAgICByZXR1cm4gMDsKICAgIDgJfQpFTkQgL3RtcC9teXRodHZfY29uZi41 c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NP VVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0Ug LWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWMgLW8gL3RtcC9t eXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLUwv dXNyL2xvY2FsL2xpYiAtbyAvdG1wL215dGh0dl9jb25mLlNQaE5kTkxDIC90bXAvbXl0aHR2X2Nv bmYuT1lVdnJEbkEubwpjaGVja19saWIgemxpYi5oIHpsaWJWZXJzaW9uIC1segpjaGVja19oZWFk ZXIgemxpYi5oCmNoZWNrX2NwcApCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAg IDEJI2luY2x1ZGUgPHpsaWIuaD4KICAgIDIJaW50IHg7CkVORCAvdG1wL215dGh0dl9jb25mLjVz RWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09V UkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAt ZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtRSAtbyAvdG1wL215 dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmNoZWNrX2Z1 bmMgemxpYlZlcnNpb24KY2hlY2tfbGQKY2hlY2tfY2MKQkVHSU4gL3RtcC9teXRodHZfY29uZi41 c0VsY0h2MC5jCiAgICAxCWV4dGVybiBpbnQgemxpYlZlcnNpb24oKTsKICAgIDIJaW50IG1haW4o dm9pZCl7IHpsaWJWZXJzaW9uKCk7IH0KRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpn Y2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1j OTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1nIC1mb21pdC1m cmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYu T1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1ML3Vzci9sb2NhbC9s aWIgLW8gL3RtcC9teXRodHZfY29uZi5TUGhOZE5MQyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5B Lm8gLWx6CmNoZWNrX2xpYjIgYnpsaWIuaCBCWjJfYnpsaWJWZXJzaW9uIC1sYnoyCmNoZWNrX2Z1 bmNfaGVhZGVycyBiemxpYi5oIEJaMl9iemxpYlZlcnNpb24KY2hlY2tfbGQKY2hlY2tfY2MKQkVH SU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCQogICAgMgkjaW5jbHVkZSA8Ynps aWIuaD4KICAgIDMJaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KXsKICAgIDQJICAgICh2 b2lkKSBCWjJfYnpsaWJWZXJzaW9uOwogICAgNQkgICAgcmV0dXJuIDA7CiAgICA2CX0KRU5EIC90 bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1w aXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9M QVJHRUZJTEVfU09VUkNFIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVz RWxjSHYwLmMKZ2NjIC1ML3Vzci9sb2NhbC9saWIgLW8gL3RtcC9teXRodHZfY29uZi5TUGhOZE5M QyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gLWx6IC1sYnoyCmNoZWNrX2Z1bmMgcHRocmVh ZF9jcmVhdGUKY2hlY2tfbGQKY2hlY2tfY2MKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2 MC5jCiAgICAxCWV4dGVybiBpbnQgcHRocmVhZF9jcmVhdGUoKTsKICAgIDIJaW50IG1haW4odm9p ZCl7IHB0aHJlYWRfY3JlYXRlKCk7IH0KRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpn Y2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1j OTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1nIC1mb21pdC1m cmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYu T1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1ML3Vzci9sb2NhbC9s aWIgLW8gL3RtcC9teXRodHZfY29uZi5TUGhOZE5MQyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5B Lm8gLWx6IC1sYnoyCi90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubygudGV4dCsweDcpOiBJbiBm dW5jdGlvbiBgbWFpbic6Ci90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYzoyOiB1bmRlZmluZWQg cmVmZXJlbmNlIHRvIGBwdGhyZWFkX2NyZWF0ZScKY2hlY2tfZnVuYyBwdGhyZWFkX2NyZWF0ZSAt cHRocmVhZApjaGVja19sZCAtcHRocmVhZApjaGVja19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25m LjVzRWxjSHYwLmMKICAgIDEJZXh0ZXJuIGludCBwdGhyZWFkX2NyZWF0ZSgpOwogICAgMglpbnQg bWFpbih2b2lkKXsgcHRocmVhZF9jcmVhdGUoKTsgfQpFTkQgL3RtcC9teXRodHZfY29uZi41c0Vs Y0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJD RSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLWcg LWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWMgLW8gL3RtcC9teXRo dHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLUwvdXNy L2xvY2FsL2xpYiAtcHRocmVhZCAtbyAvdG1wL215dGh0dl9jb25mLlNQaE5kTkxDIC90bXAvbXl0 aHR2X2NvbmYuT1lVdnJEbkEubyAtbHogLWxiejIKY2hlY2tfbGliIG1hdGguaCBzaW4gLWxtCmNo ZWNrX2hlYWRlciBtYXRoLmgKY2hlY2tfY3BwCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNI djAuYwogICAgMQkjaW5jbHVkZSA8bWF0aC5oPgogICAgMglpbnQgeDsKRU5EIC90bXAvbXl0aHR2 X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lT T0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVf U09VUkNFIC1wdGhyZWFkIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1FIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVz RWxjSHYwLmMKY2hlY2tfZnVuYyBzaW4KY2hlY2tfbGQKY2hlY2tfY2MKQkVHSU4gL3RtcC9teXRo dHZfY29uZi41c0VsY0h2MC5jCiAgICAxCWV4dGVybiBpbnQgc2luKCk7CiAgICAyCWludCBtYWlu KHZvaWQpeyBzaW4oKTsgfQpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIg LWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9G SUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLXB0aHJlYWQgLWcgLWZvbWl0 LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWMgLW8gL3RtcC9teXRodHZfY29u Zi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwovdG1wL215dGh0dl9jb25m LjVzRWxjSHYwLmM6MTogd2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1 bmN0aW9uICdzaW4nCmdjYyAtTC91c3IvbG9jYWwvbGliIC1vIC90bXAvbXl0aHR2X2NvbmYuU1Bo TmROTEMgL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC1seiAtbGJ6MiAtcHRocmVhZCAtbG0K Y2hlY2tfbGliIHZhL3ZhLmggdmFJbml0aWFsaXplIC1sdmEKY2hlY2tfaGVhZGVyIHZhL3ZhLmgK Y2hlY2tfY3BwCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQkjaW5jbHVk ZSA8dmEvdmEuaD4KICAgIDIJaW50IHg7CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMK Z2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9 Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRocmVhZCAt ZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtRSAtbyAvdG1wL215 dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCi90bXAvbXl0 aHR2X2NvbmYuNXNFbGNIdjAuYzoxOjE5OiBlcnJvcjogdmEvdmEuaDogTm8gc3VjaCBmaWxlIG9y IGRpcmVjdG9yeQpjaGVja19sZApjaGVja19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxj SHYwLmMKICAgIDEJI2luY2x1ZGUgPG1hdGguaD4KICAgIDIJaW50IG1haW4odm9pZCkgeyByZXR1 cm4gKGxscmludCgzLjk5OWYpID4gMCk/MDoxOyB9CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxj SHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNF IC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRo cmVhZCAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAv dG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdj YyAtTC91c3IvbG9jYWwvbGliIC1vIC90bXAvbXl0aHR2X2NvbmYuU1BoTmROTEMgL3RtcC9teXRo dHZfY29uZi5PWVV2ckRuQS5vIC1seiAtbGJ6MiAtcHRocmVhZCAtbG0KY2hlY2tfbGQKY2hlY2tf Y2MKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCSNpbmNsdWRlIDxtYXRo Lmg+CiAgICAyCWludCBtYWluKHZvaWQpIHsgcmV0dXJuIChscmludCgzLjk5OWYpID4gMCk/MDox OyB9CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJ VFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRocmVhZCAtZyAtZm9taXQtZnJhbWUtcG9pbnRl ciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8g L3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTC91c3IvbG9jYWwvbGliIC1vIC90bXAv bXl0aHR2X2NvbmYuU1BoTmROTEMgL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC1seiAtbGJ6 MiAtcHRocmVhZCAtbG0KY2hlY2tfbGQKY2hlY2tfY2MKQkVHSU4gL3RtcC9teXRodHZfY29uZi41 c0VsY0h2MC5jCiAgICAxCSNpbmNsdWRlIDxtYXRoLmg+CiAgICAyCWludCBtYWluKHZvaWQpIHsg cmV0dXJuIChscmludGYoMy45OTlmKSA+IDApPzA6MTsgfQpFTkQgL3RtcC9teXRodHZfY29uZi41 c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NP VVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0Ug LXB0aHJlYWQgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWMg LW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAu YwpnY2MgLUwvdXNyL2xvY2FsL2xpYiAtbyAvdG1wL215dGh0dl9jb25mLlNQaE5kTkxDIC90bXAv bXl0aHR2X2NvbmYuT1lVdnJEbkEubyAtbHogLWxiejIgLXB0aHJlYWQgLWxtCmNoZWNrX2xkCmNo ZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQkjaW5jbHVkZSA8 bWF0aC5oPgogICAgMglpbnQgbWFpbih2b2lkKSB7IHJldHVybiAocm91bmQoMy45OTlmKSA+IDAp PzA6MTsgfQpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNF VF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLXB0aHJlYWQgLWcgLWZvbWl0LWZyYW1lLXBv aW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWMgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRu QS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLUwvdXNyL2xvY2FsL2xpYiAtbyAv dG1wL215dGh0dl9jb25mLlNQaE5kTkxDIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAtbHog LWxiejIgLXB0aHJlYWQgLWxtCmNoZWNrX2xkCmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2X2Nv bmYuNXNFbGNIdjAuYwogICAgMQkjaW5jbHVkZSA8bWF0aC5oPgogICAgMglpbnQgbWFpbih2b2lk KSB7IHJldHVybiAocm91bmRmKDMuOTk5ZikgPiAwKT8wOjE7IH0KRU5EIC90bXAvbXl0aHR2X2Nv bmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5 OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09V UkNFIC1wdGhyZWFkIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxj SHYwLmMKZ2NjIC1ML3Vzci9sb2NhbC9saWIgLW8gL3RtcC9teXRodHZfY29uZi5TUGhOZE5MQyAv dG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gLWx6IC1sYnoyIC1wdGhyZWFkIC1sbQpjaGVja19s ZApjaGVja19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJI2luY2x1 ZGUgPG1hdGguaD4KICAgIDIJaW50IG1haW4odm9pZCkgeyByZXR1cm4gKHRydW5jZigzLjk5OWYp ID4gMCk/MDoxOyB9CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5v LXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVf T0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRocmVhZCAtZyAtZm9taXQtZnJh bWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9Z VXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTC91c3IvbG9jYWwvbGli IC1vIC90bXAvbXl0aHR2X2NvbmYuU1BoTmROTEMgL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5v IC1seiAtbGJ6MiAtcHRocmVhZCAtbG0KY2hlY2tfaGVhZGVyIHN0ZGludC5oCmNoZWNrX2NwcApC RUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJI2luY2x1ZGUgPHN0ZGludC5o PgogICAgMglpbnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklM RV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1wdGhyZWFkIC1nIC1mb21pdC1m cmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1FIC1vIC90bXAvbXl0aHR2X2NvbmYu T1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKY2hlY2tfbGQKY2hlY2tfY2MK QkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCSNkZWZpbmUgX0lTT0M5WF9T T1VSQ0UgIDEKICAgIDIJI2luY2x1ZGUgPG1hdGguaD4KICAgIDMJaW50IG1haW4oIHZvaWQgKSB7 IHJldHVybiAobHJpbnQoMy45OTlmKSA+IDApPzA6MTsgfQpFTkQgL3RtcC9teXRodHZfY29uZi41 c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NP VVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0Ug LXB0aHJlYWQgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWMg LW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAu YwpnY2MgLUwvdXNyL2xvY2FsL2xpYiAtbyAvdG1wL215dGh0dl9jb25mLlNQaE5kTkxDIC90bXAv bXl0aHR2X2NvbmYuT1lVdnJEbkEubyAtbHogLWxiejIgLXB0aHJlYWQgLWxtCmNoZWNrX2xkCmNo ZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQkjZGVmaW5lIF9J U09DOVhfU09VUkNFICAxCiAgICAyCSNpbmNsdWRlIDxtYXRoLmg+CiAgICAzCWludCBtYWluKCB2 b2lkICkgeyByZXR1cm4gKHJvdW5kKDMuOTk5ZikgPiAwKT8wOjE7IH0KRU5EIC90bXAvbXl0aHR2 X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lT T0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVf U09VUkNFIC1wdGhyZWFkIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVz RWxjSHYwLmMKZ2NjIC1ML3Vzci9sb2NhbC9saWIgLW8gL3RtcC9teXRodHZfY29uZi5TUGhOZE5M QyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gLWx6IC1sYnoyIC1wdGhyZWFkIC1sbQpjaGVj a19sZApjaGVja19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJI2Rl ZmluZSBfR05VX1NPVVJDRQogICAgMgkjaW5jbHVkZSA8ZmNudGwuaD4KICAgIDMJCiAgICA0CWlu dCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndil7CiAgICA1CSAgICBzeW5jX2ZpbGVfcmFuZ2Uo MCwwLDAsMCk7CiAgICA2CSAgICByZXR1cm4gMDsKICAgIDcJfQpFTkQgL3RtcC9teXRodHZfY29u Zi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5 X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VS Q0UgLXB0aHJlYWQgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUg LWMgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNI djAuYwovdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmM6IEluIGZ1bmN0aW9uICdtYWluJzoKL3Rt cC9teXRodHZfY29uZi41c0VsY0h2MC5jOjU6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9u IG9mIGZ1bmN0aW9uICdzeW5jX2ZpbGVfcmFuZ2UnCmdjYyAtTC91c3IvbG9jYWwvbGliIC1vIC90 bXAvbXl0aHR2X2NvbmYuU1BoTmROTEMgL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC1seiAt bGJ6MiAtcHRocmVhZCAtbG0KL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vKC50ZXh0KzB4Zik6 IEluIGZ1bmN0aW9uIGBtYWluJzoKL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jOjU6IHVuZGVm aW5lZCByZWZlcmVuY2UgdG8gYHN5bmNfZmlsZV9yYW5nZScKY2hlY2tfY2MKQkVHSU4gL3RtcC9t eXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCXZvaWQgZm9vKCl7c3dpdGNoICgwKSBjYXNlIDA6 IGNhc2UgKHNpemVvZihpbnQpID09IDEpOjt9CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYw LmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1z dGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRocmVh ZCAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAvdG1w L215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCi90bXAv bXl0aHR2X2NvbmYuNXNFbGNIdjAuYzogSW4gZnVuY3Rpb24gJ2Zvbyc6Ci90bXAvbXl0aHR2X2Nv bmYuNXNFbGNIdjAuYzoxOiBlcnJvcjogZHVwbGljYXRlIGNhc2UgdmFsdWUKL3RtcC9teXRodHZf Y29uZi41c0VsY0h2MC5jOjE6IGVycm9yOiBwcmV2aW91c2x5IHVzZWQgaGVyZQpjaGVja19jYwpC RUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJdm9pZCBmb28oKXtzd2l0Y2gg KDApIGNhc2UgMDogY2FzZSAoc2l6ZW9mKGludCkgPT0gMik6O30KRU5EIC90bXAvbXl0aHR2X2Nv bmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5 OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09V UkNFIC1wdGhyZWFkIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxj SHYwLmMKL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jOiBJbiBmdW5jdGlvbiAnZm9vJzoKL3Rt cC9teXRodHZfY29uZi41c0VsY0h2MC5jOjE6IGVycm9yOiBkdXBsaWNhdGUgY2FzZSB2YWx1ZQov dG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmM6MTogZXJyb3I6IHByZXZpb3VzbHkgdXNlZCBoZXJl CmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQl2b2lkIGZv bygpe3N3aXRjaCAoMCkgY2FzZSAwOiBjYXNlIChzaXplb2YoaW50KSA9PSA0KTo7fQpFTkQgL3Rt cC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBp cGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xB UkdFRklMRV9TT1VSQ0UgLXB0aHJlYWQgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLWMgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2 X2NvbmYuNXNFbGNIdjAuYwpjaGVja19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYw LmMKICAgIDEJdm9pZCBmb28oKXtzd2l0Y2ggKDApIGNhc2UgMDogY2FzZSAoc2l6ZW9mKGxvbmcp ID09IDEpOjt9CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZG U0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRocmVhZCAtZyAtZm9taXQtZnJhbWUt cG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZy RG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCi90bXAvbXl0aHR2X2NvbmYuNXNFbGNI djAuYzogSW4gZnVuY3Rpb24gJ2Zvbyc6Ci90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYzoxOiBl cnJvcjogZHVwbGljYXRlIGNhc2UgdmFsdWUKL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jOjE6 IGVycm9yOiBwcmV2aW91c2x5IHVzZWQgaGVyZQpjaGVja19jYwpCRUdJTiAvdG1wL215dGh0dl9j b25mLjVzRWxjSHYwLmMKICAgIDEJdm9pZCBmb28oKXtzd2l0Y2ggKDApIGNhc2UgMDogY2FzZSAo c2l6ZW9mKGxvbmcpID09IDIpOjt9CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2Nj IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5 IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRocmVhZCAtZyAt Zm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAvdG1wL215dGh0 dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCi90bXAvbXl0aHR2 X2NvbmYuNXNFbGNIdjAuYzogSW4gZnVuY3Rpb24gJ2Zvbyc6Ci90bXAvbXl0aHR2X2NvbmYuNXNF bGNIdjAuYzoxOiBlcnJvcjogZHVwbGljYXRlIGNhc2UgdmFsdWUKL3RtcC9teXRodHZfY29uZi41 c0VsY0h2MC5jOjE6IGVycm9yOiBwcmV2aW91c2x5IHVzZWQgaGVyZQpjaGVja19jYwpCRUdJTiAv dG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJdm9pZCBmb28oKXtzd2l0Y2ggKDApIGNh c2UgMDogY2FzZSAoc2l6ZW9mKGxvbmcpID09IDQpOjt9CkVORCAvdG1wL215dGh0dl9jb25mLjVz RWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09V UkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAt cHRocmVhZCAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtYyAt byAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5j Ci90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYzogSW4gZnVuY3Rpb24gJ2Zvbyc6Ci90bXAvbXl0 aHR2X2NvbmYuNXNFbGNIdjAuYzoxOiBlcnJvcjogZHVwbGljYXRlIGNhc2UgdmFsdWUKL3RtcC9t eXRodHZfY29uZi41c0VsY0h2MC5jOjE6IGVycm9yOiBwcmV2aW91c2x5IHVzZWQgaGVyZQpjaGVj a19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJdm9pZCBmb28oKXtz d2l0Y2ggKDApIGNhc2UgMDogY2FzZSAoc2l6ZW9mKGxvbmcpID09IDgpOjt9CkVORCAvdG1wL215 dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAt RF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VG SUxFX1NPVVJDRSAtcHRocmVhZCAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwv aW5jbHVkZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29u Zi41c0VsY0h2MC5jCmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwog ICAgMQl2b2lkIGZvbyhjaGFyICogcmVzdHJpY3QgcCk7CkVORCAvdG1wL215dGh0dl9jb25mLjVz RWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09V UkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAt cHRocmVhZCAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtYyAt byAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5j CmZyZWV0eXBlLWNvbmZpZyAtLXZlcnNpb24KOS4yMC4zCmNoZWNrX2xpYiBmdDJidWlsZC5oIEZU X0luaXRfRnJlZVR5cGUKY2hlY2tfaGVhZGVyIGZ0MmJ1aWxkLmgKY2hlY2tfY3BwCkJFR0lOIC90 bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQkjaW5jbHVkZSA8ZnQyYnVpbGQuaD4KICAg IDIJaW50IHg7CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZG U0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRocmVhZCAtSS91c3IvbG9jYWwvaW5j bHVkZS9mcmVldHlwZTIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWcgLWZvbWl0LWZyYW1lLXBvaW50 ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUUgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5v IC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpjaGVja19mdW5jIEZUX0luaXRfRnJlZVR5cGUK Y2hlY2tfbGQKY2hlY2tfY2MKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAx CWV4dGVybiBpbnQgRlRfSW5pdF9GcmVlVHlwZSgpOwogICAgMglpbnQgbWFpbih2b2lkKXsgRlRf SW5pdF9GcmVlVHlwZSgpOyB9CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1P MiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1E X0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRocmVhZCAtSS91c3Iv bG9jYWwvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWcgLWZvbWl0LWZy YW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWMgLW8gL3RtcC9teXRodHZfY29uZi5P WVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLUwvdXNyL2xvY2FsL2xp YiAtbyAvdG1wL215dGh0dl9jb25mLlNQaE5kTkxDIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEu byAtbHogLWxiejIgLXB0aHJlYWQgLWxtIC1ML3Vzci9sb2NhbC9saWIgLWxmcmVldHlwZSAtbHoK Y2hlY2tfY2MgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZnJpYmlkaSAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtTC91c3IvbG9jYWwvbGliIC1sZnJpYmlkaQpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxj SHYwLmMKICAgIDEJI2luY2x1ZGUgPHN0ZGlvLmg+CiAgICAyCSNpbmNsdWRlIDxmcmliaWRpL2Zy aWJpZGkuaD4KICAgIDMJaW50IG1haW4oKQogICAgNAl7CiAgICA1CSAgICBpZiAoZnJpYmlkaV9w YXJzZV9jaGFyc2V0KCJVVEYtOCIpICE9IEZSSUJJRElfQ0hBUl9TRVRfVVRGOCkKICAgIDYJICAg IHsKICAgIDcJICAgICAgICBwcmludGYoIkZyaWJpZGkgaGVhZGVycyBhcmUgbm90IGNvbnNpc3Rl bnRzIHdpdGggdGhlIGxpYnJhcnkhXG4iKTsKICAgIDgJICAgICAgICByZXR1cm4gMTsKICAgIDkJ ICAgIH0KICAgMTAJICAgIHJldHVybiAwOwogICAxMQl9CkVORCAvdG1wL215dGh0dl9jb25mLjVz RWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09V UkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAt cHRocmVhZCAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91 c3IvbG9jYWwvaW5jbHVkZS9mcmliaWRpIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2Nh bC9saWIgLWxmcmliaWRpIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215 dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjOiAtbGZyaWJpZGk6IGxpbmtlciBpbnB1dCBmaWxlIHVu dXNlZCBiZWNhdXNlIGxpbmtpbmcgbm90IGRvbmUKY2hlY2tfbGliMiBTREwuaCBTRExfSW5pdApj aGVja19mdW5jX2hlYWRlcnMgU0RMLmggU0RMX0luaXQKY2hlY2tfbGQKY2hlY2tfY2MKQkVHSU4g L3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCQogICAgMgkjaW5jbHVkZSA8U0RMLmg+ CiAgICAzCWludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndil7CiAgICA0CSAgICAodm9pZCkg U0RMX0luaXQ7CiAgICA1CSAgICByZXR1cm4gMDsKICAgIDYJfQpFTkQgL3RtcC9teXRodHZfY29u Zi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5 X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VS Q0UgLXB0aHJlYWQgLUkvdXNyL2xvY2FsL2luY2x1ZGUvU0RMIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1EX0dOVV9TT1VSQ0U9MSAtRF9SRUVOVFJBTlQgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLWMgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAv bXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLUwvdXNyL2xvY2FsL2xpYiAtbyAvdG1wL215dGh0 dl9jb25mLlNQaE5kTkxDIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAtbHogLWxiejIgLXB0 aHJlYWQgLWxtIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYiAtbFNE TCAtcHRocmVhZApjaGVja19jYyAtSS91c3IvbG9jYWwvaW5jbHVkZS9TREwgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLURfR05VX1NPVVJDRT0xIC1EX1JFRU5UUkFOVApCRUdJTiAvdG1wL215dGh0dl9j b25mLjVzRWxjSHYwLmMKICAgIDEJI2luY2x1ZGUgPFNETC5oPgogICAgMglpbnQgbWFpbihpbnQg YXJnYywgY2hhciAqKmFyZ3YpewogICAgMwkgICAgY29uc3QgU0RMX1ZpZGVvSW5mbyAqdmkgPSBT RExfR2V0VmlkZW9JbmZvKCk7CiAgICA0CSAgICBpbnQgdyA9IHZpLT5jdXJyZW50X3c7CiAgICA1 CSAgICByZXR1cm4gMDsKICAgIDYJfQpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdj YyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5 OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLXB0aHJlYWQgLWcg LWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUvU0RMIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1EX0dOVV9TT1VSQ0U9MSAtRF9SRUVOVFJB TlQgLWMgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNF bGNIdjAuYwpjaGVja190eXBlIHN5cy90eXBlcy5oIHN5cy9zb2NrZXQuaCBzb2NrbGVuX3QKY2hl Y2tfY2MKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCQogICAgMgkjaW5j bHVkZSA8c3lzL3R5cGVzLmg+CiAgICAzCSNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CiAgICA0CXNv Y2tsZW5fdCB2OwpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09G RlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLXB0aHJlYWQgLWcgLWZvbWl0LWZyYW1l LXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWMgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2 ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpjaGVja19oZWFkZXIgYXJwYS9pbmV0 LmgKY2hlY2tfY3BwCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQkjaW5j bHVkZSA8YXJwYS9pbmV0Lmg+CiAgICAyCWludCB4OwpFTkQgL3RtcC9teXRodHZfY29uZi41c0Vs Y0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJD RSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLXB0 aHJlYWQgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUUgLW8g L3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpj aGVja19mdW5jIGNsb3Nlc29ja2V0CmNoZWNrX2xkCmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2 X2NvbmYuNXNFbGNIdjAuYwogICAgMQlleHRlcm4gaW50IGNsb3Nlc29ja2V0KCk7CiAgICAyCWlu dCBtYWluKHZvaWQpeyBjbG9zZXNvY2tldCgpOyB9CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxj SHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNF IC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRo cmVhZCAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAv dG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdj YyAtTC91c3IvbG9jYWwvbGliIC1vIC90bXAvbXl0aHR2X2NvbmYuU1BoTmROTEMgL3RtcC9teXRo dHZfY29uZi5PWVV2ckRuQS5vIC1seiAtbGJ6MiAtcHRocmVhZCAtbG0KL3RtcC9teXRodHZfY29u Zi5PWVV2ckRuQS5vKC50ZXh0KzB4Nyk6IEluIGZ1bmN0aW9uIGBtYWluJzoKL3RtcC9teXRodHZf Y29uZi41c0VsY0h2MC5jOjI6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGNsb3Nlc29ja2V0Jwpj aGVja19sZApjaGVja19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJ I2luY2x1ZGUgPHN5cy90eXBlcy5oPgogICAgMgkjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgogICAg MwkjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgogICAgNAkjaW5jbHVkZSA8bmV0ZGIuaD4KICAgIDUJ aW50IG1haW4odm9pZCkgewogICAgNgkgICAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2Ugc2FkZHI7 CiAgICA3CSAgICBzdHJ1Y3QgaXB2Nl9tcmVxIG1yZXE2OwogICAgOAkgICAgZ2V0YWRkcmluZm8o MCwwLDAsMCk7CiAgICA5CSAgICBnZXRuYW1laW5mbygwLDAsMCwwLDAsMCwwKTsKICAgMTAJICAg IElONl9JU19BRERSX01VTFRJQ0FTVCgoY29uc3Qgc3RydWN0IGluNl9hZGRyICopMCk7CiAgIDEx CX0KRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklU Uz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1wdGhyZWFkIC1nIC1mb21pdC1mcmFtZS1wb2ludGVy IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAv dG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1ML3Vzci9sb2NhbC9saWIgLW8gL3RtcC9t eXRodHZfY29uZi5TUGhOZE5MQyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gLWx6IC1sYnoy IC1wdGhyZWFkIC1sbQpjaGVja19oZWFkZXIgbGludXgvdmlkZW9kZXYuaApjaGVja19jcHAKQkVH SU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCSNpbmNsdWRlIDxsaW51eC92aWRl b2Rldi5oPgogICAgMglpbnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2Mg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkg LURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1wdGhyZWFkIC1nIC1m b21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1FIC1vIC90bXAvbXl0aHR2 X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKY2hlY2tfaGVhZGVy IGxpbnV4L3ZpZGVvZGV2Mi5oCmNoZWNrX2NwcApCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxj SHYwLmMKICAgIDEJI2luY2x1ZGUgPGxpbnV4L3ZpZGVvZGV2Mi5oPgogICAgMglpbnQgeDsKRU5E IC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAt RF9MQVJHRUZJTEVfU09VUkNFIC1wdGhyZWFkIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1FIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215 dGh0dl9jb25mLjVzRWxjSHYwLmMKL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jOjE6Mjk6IGVy cm9yOiBsaW51eC92aWRlb2RldjIuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjaGVja19o ZWFkZXIgc3lzL3ZpZGVvaW8uaApjaGVja19jcHAKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0Vs Y0h2MC5jCiAgICAxCSNpbmNsdWRlIDxzeXMvdmlkZW9pby5oPgogICAgMglpbnQgeDsKRU5EIC90 bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1w aXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9M QVJHRUZJTEVfU09VUkNFIC1wdGhyZWFkIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1FIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0 dl9jb25mLjVzRWxjSHYwLmMKL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jOjE6MjU6IGVycm9y OiBzeXMvdmlkZW9pby5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNoZWNrX2Z1bmNfaGVh ZGVycyB3aW5kb3dzLmggdmZ3LmggY2FwQ3JlYXRlQ2FwdHVyZVdpbmRvdyAtbHZmdzMyCmNoZWNr X2xkIC1sdmZ3MzIKY2hlY2tfY2MKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAg ICAxCQogICAgMgkjaW5jbHVkZSA8d2luZG93cy5oPgogICAgMwkjaW5jbHVkZSA8dmZ3Lmg+CiAg ICA0CWludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndil7CiAgICA1CSAgICAodm9pZCkgY2Fw Q3JlYXRlQ2FwdHVyZVdpbmRvdzsKICAgIDYJICAgIHJldHVybiAwOwogICAgNwl9CkVORCAvdG1w L215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlw ZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFS R0VGSUxFX1NPVVJDRSAtcHRocmVhZCAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9j YWwvaW5jbHVkZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZf Y29uZi41c0VsY0h2MC5jCi90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYzoyOjIxOiBlcnJvcjog d2luZG93cy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Ci90bXAvbXl0aHR2X2NvbmYuNXNF bGNIdjAuYzozOjE3OiBlcnJvcjogdmZ3Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKL3Rt cC9teXRodHZfY29uZi41c0VsY0h2MC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6Ci90bXAvbXl0aHR2 X2NvbmYuNXNFbGNIdjAuYzo1OiBlcnJvcjogJ2NhcENyZWF0ZUNhcHR1cmVXaW5kb3cnIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQovdG1wL215dGh0dl9jb25mLjVzRWxj SHYwLmM6NTogZXJyb3I6IChFYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBv bmx5IG9uY2UKL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jOjU6IGVycm9yOiBmb3IgZWFjaCBm dW5jdGlvbiBpdCBhcHBlYXJzIGluLikKY2hlY2tfaGVhZGVyIGRldi9ia3RyL2lvY3RsX21ldGVv ci5oCmNoZWNrX2NwcApCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJI2lu Y2x1ZGUgPGRldi9ia3RyL2lvY3RsX21ldGVvci5oPgogICAgMglpbnQgeDsKRU5EIC90bXAvbXl0 aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1E X0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJ TEVfU09VUkNFIC1wdGhyZWFkIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1FIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25m LjVzRWxjSHYwLmMKY2hlY2tfaGVhZGVyIGRldi9ia3RyL2lvY3RsX2J0ODQ4LmgKY2hlY2tfY3Bw CkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQkjaW5jbHVkZSA8ZGV2L2Jr dHIvaW9jdGxfYnQ4NDguaD4KICAgIDIJaW50IHg7CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxj SHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNF IC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRo cmVhZCAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtRSAtbyAv dG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmNo ZWNrX2hlYWRlciBzeXMvc291bmRjYXJkLmgKY2hlY2tfY3BwCkJFR0lOIC90bXAvbXl0aHR2X2Nv bmYuNXNFbGNIdjAuYwogICAgMQkjaW5jbHVkZSA8c3lzL3NvdW5kY2FyZC5oPgogICAgMglpbnQg eDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklU Uz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1wdGhyZWFkIC1nIC1mb21pdC1mcmFtZS1wb2ludGVy IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1FIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAv dG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKY2hlY2tfaGVhZGVyIHNvdW5kY2FyZC5oCmNoZWNr X2NwcApCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJI2luY2x1ZGUgPHNv dW5kY2FyZC5oPgogICAgMglpbnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpn Y2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1j OTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1wdGhyZWFkIC1n IC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1FIC1vIC90bXAvbXl0 aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKL3RtcC9teXRo dHZfY29uZi41c0VsY0h2MC5jOjE6MjM6IGVycm9yOiBzb3VuZGNhcmQuaDogTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeQpjaGVja19saWIgcHVsc2UvdmVyc2lvbi5oIHBhX2dldF9saWJyYXJ5X3Zl cnNpb24gLWxwdWxzZQpjaGVja19oZWFkZXIgcHVsc2UvdmVyc2lvbi5oCmNoZWNrX2NwcApCRUdJ TiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJI2luY2x1ZGUgPHB1bHNlL3ZlcnNp b24uaD4KICAgIDIJaW50IHg7CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1P MiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1E X0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRocmVhZCAtZyAtZm9t aXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtRSAtbyAvdG1wL215dGh0dl9j b25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCi90bXAvbXl0aHR2X2Nv bmYuNXNFbGNIdjAuYzoxOjI3OiBlcnJvcjogcHVsc2UvdmVyc2lvbi5oOiBObyBzdWNoIGZpbGUg b3IgZGlyZWN0b3J5CmNoZWNrX2xpYiBhbHNhL2Fzb3VuZGxpYi5oIHNuZF9hc291bmRsaWJfdmVy c2lvbiAtbGFzb3VuZApjaGVja19oZWFkZXIgYWxzYS9hc291bmRsaWIuaApjaGVja19jcHAKQkVH SU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCSNpbmNsdWRlIDxhbHNhL2Fzb3Vu ZGxpYi5oPgogICAgMglpbnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2Mg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkg LURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1wdGhyZWFkIC1nIC1m b21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1FIC1vIC90bXAvbXl0aHR2 X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKL3RtcC9teXRodHZf Y29uZi41c0VsY0h2MC5jOjE6Mjg6IGVycm9yOiBhbHNhL2Fzb3VuZGxpYi5oOiBObyBzdWNoIGZp bGUgb3IgZGlyZWN0b3J5CmFydHNjLWNvbmZpZyAtLXZlcnNpb24KMC45LjUKY2hlY2tfbGliIGFy dHNjLmggYXJ0c19pbml0CmNoZWNrX2hlYWRlciBhcnRzYy5oCmNoZWNrX2NwcApCRUdJTiAvdG1w L215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJI2luY2x1ZGUgPGFydHNjLmg+CiAgICAyCWlu dCB4OwpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9C SVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLXB0aHJlYWQgLUkvdXNyL2xvY2FsL2luY2x1ZGUv YXJ0c2MgLURfUkVFTlRSQU5UIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9s b2NhbC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtRSAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRo dHZfY29uZi41c0VsY0h2MC5jCmNoZWNrX2Z1bmMgYXJ0c19pbml0CmNoZWNrX2xkCmNoZWNrX2Nj CkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQlleHRlcm4gaW50IGFydHNf aW5pdCgpOwogICAgMglpbnQgbWFpbih2b2lkKXsgYXJ0c19pbml0KCk7IH0KRU5EIC90bXAvbXl0 aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1E X0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJ TEVfU09VUkNFIC1wdGhyZWFkIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2FydHNjIC1EX1JFRU5UUkFO VCAtSS91c3IvbG9jYWwvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbG9jYWwvbGliL2dsaWItMi4w L2luY2x1ZGUgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWMg LW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAu YwpnY2MgLUwvdXNyL2xvY2FsL2xpYiAtbyAvdG1wL215dGh0dl9jb25mLlNQaE5kTkxDIC90bXAv bXl0aHR2X2NvbmYuT1lVdnJEbkEubyAtbHogLWxiejIgLXB0aHJlYWQgLWxtIC1ML3Vzci9sb2Nh bC9saWIgLWxhcnRzYyAtRF9USFJFQURfU0FGRSAtcHRocmVhZCAtTC91c3IvbG9jYWwvbGliIC1s Z21vZHVsZS0yLjAgLWxndGhyZWFkLTIuMCAtbGdsaWItMi4wCmNoZWNrX2xpYiBqYWNrL2phY2su aCBqYWNrX2NsaWVudF9uZXcgLWxqYWNrCmNoZWNrX2hlYWRlciBqYWNrL2phY2suaApjaGVja19j cHAKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCSNpbmNsdWRlIDxqYWNr L2phY2suaD4KICAgIDIJaW50IHg7CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2Nj IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5 IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRocmVhZCAtZyAt Zm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtRSAtbyAvdG1wL215dGh0 dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmNoZWNrX2Z1bmMg amFja19jbGllbnRfbmV3CmNoZWNrX2xkCmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYu NXNFbGNIdjAuYwogICAgMQlleHRlcm4gaW50IGphY2tfY2xpZW50X25ldygpOwogICAgMglpbnQg bWFpbih2b2lkKXsgamFja19jbGllbnRfbmV3KCk7IH0KRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNF bGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VS Q0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1w dGhyZWFkIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1jIC1v IC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMK Z2NjIC1ML3Vzci9sb2NhbC9saWIgLW8gL3RtcC9teXRodHZfY29uZi5TUGhOZE5MQyAvdG1wL215 dGh0dl9jb25mLk9ZVXZyRG5BLm8gLWx6IC1sYnoyIC1wdGhyZWFkIC1sbSAtbGphY2sKY2hlY2tf Y2ZsYWdzIC1XYWxsCmNoZWNrX2NjIC1XYWxsCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNI djAuYwogICAgMQlpbnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8y IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURf RklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1wdGhyZWFkIC1nIC1mb21p dC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1XYWxsIC1jIC1vIC90bXAvbXl0 aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKY2hlY2tfY2Zs YWdzIC1Xbm8tc3dpdGNoCmNoZWNrX2NjIC1Xbm8tc3dpdGNoCkJFR0lOIC90bXAvbXl0aHR2X2Nv bmYuNXNFbGNIdjAuYwogICAgMQlpbnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAu YwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0 ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1wdGhyZWFk IC1XYWxsIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1Xbm8t c3dpdGNoIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25m LjVzRWxjSHYwLmMKY2hlY2tfY2ZsYWdzIC1XZGlzYWJsZWQtb3B0aW1pemF0aW9uCmNoZWNrX2Nj IC1XZGlzYWJsZWQtb3B0aW1pemF0aW9uCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAu YwogICAgMQlpbnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklM RV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1wdGhyZWFkIC1XYWxsIC1Xbm8t c3dpdGNoIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1XZGlz YWJsZWQtb3B0aW1pemF0aW9uIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1w L215dGh0dl9jb25mLjVzRWxjSHYwLmMKY2hlY2tfY2ZsYWdzIC1XcG9pbnRlci1hcml0aApjaGVj a19jYyAtV3BvaW50ZXItYXJpdGgKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAg ICAxCWludCB4OwpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09G RlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLXB0aHJlYWQgLVdhbGwgLVduby1zd2l0 Y2ggLVdkaXNhYmxlZC1vcHRpbWl6YXRpb24gLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLVdwb2ludGVyLWFyaXRoIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lV dnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKY2hlY2tfY2ZsYWdzIC1XcmVkdW5k YW50LWRlY2xzCmNoZWNrX2NjIC1XcmVkdW5kYW50LWRlY2xzCkJFR0lOIC90bXAvbXl0aHR2X2Nv bmYuNXNFbGNIdjAuYwogICAgMQlpbnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAu YwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0 ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1wdGhyZWFk IC1XYWxsIC1Xbm8tc3dpdGNoIC1XZGlzYWJsZWQtb3B0aW1pemF0aW9uIC1XcG9pbnRlci1hcml0 aCAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtV3JlZHVuZGFu dC1kZWNscyAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29u Zi41c0VsY0h2MC5jCmNoZWNrX2NmbGFncyAtV25vLXBvaW50ZXItc2lnbgpjaGVja19jYyAtV25v LXBvaW50ZXItc2lnbgpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJaW50 IHg7CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJ VFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRocmVhZCAtV2FsbCAtV25vLXN3aXRjaCAtV2Rp c2FibGVkLW9wdGltaXphdGlvbiAtV3BvaW50ZXItYXJpdGggLVdyZWR1bmRhbnQtZGVjbHMgLWcg LWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLVduby1wb2ludGVyLXNp Z24gLWMgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNF bGNIdjAuYwpjaGVja19jZmxhZ3MgLVdjYXN0LXF1YWwKY2hlY2tfY2MgLVdjYXN0LXF1YWwKQkVH SU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCWludCB4OwpFTkQgL3RtcC9teXRo dHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURf SVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklM RV9TT1VSQ0UgLXB0aHJlYWQgLVdhbGwgLVduby1zd2l0Y2ggLVdkaXNhYmxlZC1vcHRpbWl6YXRp b24gLVdwb2ludGVyLWFyaXRoIC1XcmVkdW5kYW50LWRlY2xzIC1Xbm8tcG9pbnRlci1zaWduIC1n IC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1XY2FzdC1xdWFsIC1j IC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYw LmMKY2hlY2tfY2ZsYWdzIC1Xd3JpdGUtc3RyaW5ncwpjaGVja19jYyAtV3dyaXRlLXN0cmluZ3MK QkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCWludCB4OwpFTkQgL3RtcC9t eXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUg LURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdF RklMRV9TT1VSQ0UgLXB0aHJlYWQgLVdhbGwgLVduby1zd2l0Y2ggLVdkaXNhYmxlZC1vcHRpbWl6 YXRpb24gLVdwb2ludGVyLWFyaXRoIC1XcmVkdW5kYW50LWRlY2xzIC1Xbm8tcG9pbnRlci1zaWdu IC1XY2FzdC1xdWFsIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1Xd3JpdGUtc3RyaW5ncyAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9t eXRodHZfY29uZi41c0VsY0h2MC5jCmNoZWNrX2NmbGFncyAtV3R5cGUtbGltaXRzCmNoZWNrX2Nj IC1XdHlwZS1saW1pdHMKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCWlu dCB4OwpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9C SVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLXB0aHJlYWQgLVdhbGwgLVduby1zd2l0Y2ggLVdk aXNhYmxlZC1vcHRpbWl6YXRpb24gLVdwb2ludGVyLWFyaXRoIC1XcmVkdW5kYW50LWRlY2xzIC1X bm8tcG9pbnRlci1zaWduIC1XY2FzdC1xdWFsIC1Xd3JpdGUtc3RyaW5ncyAtZyAtZm9taXQtZnJh bWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtV3R5cGUtbGltaXRzIC1jIC1vIC90bXAv bXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKY2MxOiBl cnJvcjogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gIi1XdHlwZS1saW1pdHMiCmNo ZWNrX2NmbGFncyAtV3VuZGVmCmNoZWNrX2NjIC1XdW5kZWYKQkVHSU4gL3RtcC9teXRodHZfY29u Zi41c0VsY0h2MC5jCiAgICAxCWludCB4OwpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5j CmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3Rk PWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLXB0aHJlYWQg LVdhbGwgLVduby1zd2l0Y2ggLVdkaXNhYmxlZC1vcHRpbWl6YXRpb24gLVdwb2ludGVyLWFyaXRo IC1XcmVkdW5kYW50LWRlY2xzIC1Xbm8tcG9pbnRlci1zaWduIC1XY2FzdC1xdWFsIC1Xd3JpdGUt c3RyaW5ncyAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtV3Vu ZGVmIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVz RWxjSHYwLmMKY2hlY2tfY3h4ZmxhZ3MgLVdhbGwKY2hlY2tfY3h4IC1XYWxsCkJFR0lOIC90bXAv bXl0aHR2LWNvbmYtLTQzNDQ5LS5jCiAgICAxCWNsYXNzIFgge307CiAgICAyCWludCB4OwpFTkQg L3RtcC9teXRodHYtY29uZi0tNDM0NDktLmMKZysrIC1nIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1X YWxsIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0di1jb25mLS00 MzQ0OS0uYwpjaGVja19jeHhmbGFncyAtV25vLXN3aXRjaApjaGVja19jeHggLVduby1zd2l0Y2gK QkVHSU4gL3RtcC9teXRodHYtY29uZi0tNDM0NDktLmMKICAgIDEJY2xhc3MgWCB7fTsKICAgIDIJ aW50IHg7CkVORCAvdG1wL215dGh0di1jb25mLS00MzQ0OS0uYwpnKysgLWcgLVdhbGwgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLVduby1zd2l0Y2ggLWMgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRu QS5vIC90bXAvbXl0aHR2LWNvbmYtLTQzNDQ5LS5jCmNoZWNrX2N4eGZsYWdzIC1XcG9pbnRlci1h cml0aApjaGVja19jeHggLVdwb2ludGVyLWFyaXRoCkJFR0lOIC90bXAvbXl0aHR2LWNvbmYtLTQz NDQ5LS5jCiAgICAxCWNsYXNzIFgge307CiAgICAyCWludCB4OwpFTkQgL3RtcC9teXRodHYtY29u Zi0tNDM0NDktLmMKZysrIC1nIC1XYWxsIC1Xbm8tc3dpdGNoIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1XcG9pbnRlci1hcml0aCAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9t eXRodHYtY29uZi0tNDM0NDktLmMKY2hlY2tfY3h4ZmxhZ3MgLVdyZWR1bmRhbnQtZGVjbHMKY2hl Y2tfY3h4IC1XcmVkdW5kYW50LWRlY2xzCkJFR0lOIC90bXAvbXl0aHR2LWNvbmYtLTQzNDQ5LS5j CiAgICAxCWNsYXNzIFgge307CiAgICAyCWludCB4OwpFTkQgL3RtcC9teXRodHYtY29uZi0tNDM0 NDktLmMKZysrIC1nIC1XYWxsIC1Xbm8tc3dpdGNoIC1XcG9pbnRlci1hcml0aCAtSS91c3IvbG9j YWwvaW5jbHVkZSAtV3JlZHVuZGFudC1kZWNscyAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZy RG5BLm8gL3RtcC9teXRodHYtY29uZi0tNDM0NDktLmMKY2hlY2tfY3h4ZmxhZ3MgLVduby1ub24t dmlydHVhbC1kdG9yCmNoZWNrX2N4eCAtV25vLW5vbi12aXJ0dWFsLWR0b3IKQkVHSU4gL3RtcC9t eXRodHYtY29uZi0tNDM0NDktLmMKICAgIDEJY2xhc3MgWCB7fTsKICAgIDIJaW50IHg7CkVORCAv dG1wL215dGh0di1jb25mLS00MzQ0OS0uYwpnKysgLWcgLVdhbGwgLVduby1zd2l0Y2ggLVdwb2lu dGVyLWFyaXRoIC1XcmVkdW5kYW50LWRlY2xzIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1Xbm8tbm9u LXZpcnR1YWwtZHRvciAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRo dHYtY29uZi0tNDM0NDktLmMKY2hlY2tfY3h4ZmxhZ3MgLWZ1bml0LWF0LWEtdGltZQpjaGVja19j eHggLWZ1bml0LWF0LWEtdGltZQpCRUdJTiAvdG1wL215dGh0di1jb25mLS00MzQ0OS0uYwogICAg MQljbGFzcyBYIHt9OwogICAgMglpbnQgeDsKRU5EIC90bXAvbXl0aHR2LWNvbmYtLTQzNDQ5LS5j CmcrKyAtZyAtV2FsbCAtV25vLXN3aXRjaCAtV3BvaW50ZXItYXJpdGggLVdyZWR1bmRhbnQtZGVj bHMgLVduby1ub24tdmlydHVhbC1kdG9yIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1mdW5pdC1hdC1h LXRpbWUgLWMgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2LWNvbmYt LTQzNDQ5LS5jCmNoZWNrX2N4eGZsYWdzIC1EX19TVERDX0NPTlNUQU5UX01BQ1JPUwpjaGVja19j eHggLURfX1NURENfQ09OU1RBTlRfTUFDUk9TCkJFR0lOIC90bXAvbXl0aHR2LWNvbmYtLTQzNDQ5 LS5jCiAgICAxCWNsYXNzIFgge307CiAgICAyCWludCB4OwpFTkQgL3RtcC9teXRodHYtY29uZi0t NDM0NDktLmMKZysrIC1nIC1XYWxsIC1Xbm8tc3dpdGNoIC1XcG9pbnRlci1hcml0aCAtV3JlZHVu ZGFudC1kZWNscyAtV25vLW5vbi12aXJ0dWFsLWR0b3IgLWZ1bml0LWF0LWEtdGltZSAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtRF9fU1REQ19DT05TVEFOVF9NQUNST1MgLWMgLW8gL3RtcC9teXRodHZf Y29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2LWNvbmYtLTQzNDQ5LS5jCmNoZWNrX2xkZmxhZ3Mg LVdsLC0td2Fybi1jb21tb24KY2hlY2tfbGQgLVdsLC0td2Fybi1jb21tb24KY2hlY2tfY2MKQkVH SU4gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCWludCBtYWluKHZvaWQpeyByZXR1 cm4gMDsgfQpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNF VF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLXB0aHJlYWQgLVdhbGwgLVduby1zd2l0Y2gg LVdkaXNhYmxlZC1vcHRpbWl6YXRpb24gLVdwb2ludGVyLWFyaXRoIC1XcmVkdW5kYW50LWRlY2xz IC1Xbm8tcG9pbnRlci1zaWduIC1XY2FzdC1xdWFsIC1Xd3JpdGUtc3RyaW5ncyAtV3VuZGVmIC1n IC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1jIC1vIC90bXAvbXl0 aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1ML3Vz ci9sb2NhbC9saWIgLVdsLC0td2Fybi1jb21tb24gLW8gL3RtcC9teXRodHZfY29uZi5TUGhOZE5M QyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gLWx6IC1sYnoyIC1wdGhyZWFkIC1sbSAtbGph Y2sKY2hlY2tfbGRmbGFncyAtV2wsLS1hcy1uZWVkZWQKY2hlY2tfbGQgLVdsLC0tYXMtbmVlZGVk CmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQlpbnQgbWFp bih2b2lkKXsgcmV0dXJuIDA7IH0KRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2Mg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkg LURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1wdGhyZWFkIC1XYWxs IC1Xbm8tc3dpdGNoIC1XZGlzYWJsZWQtb3B0aW1pemF0aW9uIC1XcG9pbnRlci1hcml0aCAtV3Jl ZHVuZGFudC1kZWNscyAtV25vLXBvaW50ZXItc2lnbiAtV2Nhc3QtcXVhbCAtV3dyaXRlLXN0cmlu Z3MgLVd1bmRlZiAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAt YyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2 MC5jCmdjYyAtTC91c3IvbG9jYWwvbGliIC1XbCwtLXdhcm4tY29tbW9uIC1XbCwtLWFzLW5lZWRl ZCAtbyAvdG1wL215dGh0dl9jb25mLlNQaE5kTkxDIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEu byAtbHogLWxiejIgLXB0aHJlYWQgLWxtIC1samFjawpjaGVja19sZGZsYWdzIC1XbCwtcnBhdGgt bGluayxcJChCVUlMRF9ST09UKS9saWJwb3N0cHJvYyAtV2wsLXJwYXRoLWxpbmssXCQoQlVJTERf Uk9PVCkvbGlic3dzY2FsZSAtV2wsLXJwYXRoLWxpbmssXCQoQlVJTERfUk9PVCkvbGliYXZmaWx0 ZXIgLVdsLC1ycGF0aC1saW5rLFwkKEJVSUxEX1JPT1QpL2xpYmF2ZGV2aWNlIC1XbCwtcnBhdGgt bGluayxcJChCVUlMRF9ST09UKS9saWJhdmZvcm1hdCAtV2wsLXJwYXRoLWxpbmssXCQoQlVJTERf Uk9PVCkvbGliYXZjb2RlYyAtV2wsLXJwYXRoLWxpbmssXCQoQlVJTERfUk9PVCkvbGliYXZ1dGls CmNoZWNrX2xkIC1XbCwtcnBhdGgtbGluayxcJChCVUlMRF9ST09UKS9saWJwb3N0cHJvYyAtV2ws LXJwYXRoLWxpbmssXCQoQlVJTERfUk9PVCkvbGlic3dzY2FsZSAtV2wsLXJwYXRoLWxpbmssXCQo QlVJTERfUk9PVCkvbGliYXZmaWx0ZXIgLVdsLC1ycGF0aC1saW5rLFwkKEJVSUxEX1JPT1QpL2xp YmF2ZGV2aWNlIC1XbCwtcnBhdGgtbGluayxcJChCVUlMRF9ST09UKS9saWJhdmZvcm1hdCAtV2ws LXJwYXRoLWxpbmssXCQoQlVJTERfUk9PVCkvbGliYXZjb2RlYyAtV2wsLXJwYXRoLWxpbmssXCQo QlVJTERfUk9PVCkvbGliYXZ1dGlsCmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNF bGNIdjAuYwogICAgMQlpbnQgbWFpbih2b2lkKXsgcmV0dXJuIDA7IH0KRU5EIC90bXAvbXl0aHR2 X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lT T0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVf U09VUkNFIC1wdGhyZWFkIC1XYWxsIC1Xbm8tc3dpdGNoIC1XZGlzYWJsZWQtb3B0aW1pemF0aW9u IC1XcG9pbnRlci1hcml0aCAtV3JlZHVuZGFudC1kZWNscyAtV25vLXBvaW50ZXItc2lnbiAtV2Nh c3QtcXVhbCAtV3dyaXRlLXN0cmluZ3MgLVd1bmRlZiAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAt SS91c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3Rt cC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTC91c3IvbG9jYWwvbGliIC1XbCwtLXdhcm4t Y29tbW9uIC1XbCwtLWFzLW5lZWRlZCAtV2wsLXJwYXRoLWxpbmssXCQoQlVJTERfUk9PVCkvbGli cG9zdHByb2MgLVdsLC1ycGF0aC1saW5rLFwkKEJVSUxEX1JPT1QpL2xpYnN3c2NhbGUgLVdsLC1y cGF0aC1saW5rLFwkKEJVSUxEX1JPT1QpL2xpYmF2ZmlsdGVyIC1XbCwtcnBhdGgtbGluayxcJChC VUlMRF9ST09UKS9saWJhdmRldmljZSAtV2wsLXJwYXRoLWxpbmssXCQoQlVJTERfUk9PVCkvbGli YXZmb3JtYXQgLVdsLC1ycGF0aC1saW5rLFwkKEJVSUxEX1JPT1QpL2xpYmF2Y29kZWMgLVdsLC1y cGF0aC1saW5rLFwkKEJVSUxEX1JPT1QpL2xpYmF2dXRpbCAtbyAvdG1wL215dGh0dl9jb25mLlNQ aE5kTkxDIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAtbHogLWxiejIgLXB0aHJlYWQgLWxt IC1samFjawpjaGVja19sZGZsYWdzIC1XbCwtQnN5bWJvbGljCmNoZWNrX2xkIC1XbCwtQnN5bWJv bGljCmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQlpbnQg bWFpbih2b2lkKXsgcmV0dXJuIDA7IH0KRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpn Y2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1j OTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1wdGhyZWFkIC1X YWxsIC1Xbm8tc3dpdGNoIC1XZGlzYWJsZWQtb3B0aW1pemF0aW9uIC1XcG9pbnRlci1hcml0aCAt V3JlZHVuZGFudC1kZWNscyAtV25vLXBvaW50ZXItc2lnbiAtV2Nhc3QtcXVhbCAtV3dyaXRlLXN0 cmluZ3MgLVd1bmRlZiAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0Vs Y0h2MC5jCmdjYyAtTC91c3IvbG9jYWwvbGliIC1XbCwtLXdhcm4tY29tbW9uIC1XbCwtLWFzLW5l ZWRlZCAtV2wsLXJwYXRoLWxpbmssJChCVUlMRF9ST09UKS9saWJwb3N0cHJvYyAtV2wsLXJwYXRo LWxpbmssJChCVUlMRF9ST09UKS9saWJzd3NjYWxlIC1XbCwtcnBhdGgtbGluaywkKEJVSUxEX1JP T1QpL2xpYmF2ZmlsdGVyIC1XbCwtcnBhdGgtbGluaywkKEJVSUxEX1JPT1QpL2xpYmF2ZGV2aWNl IC1XbCwtcnBhdGgtbGluaywkKEJVSUxEX1JPT1QpL2xpYmF2Zm9ybWF0IC1XbCwtcnBhdGgtbGlu aywkKEJVSUxEX1JPT1QpL2xpYmF2Y29kZWMgLVdsLC1ycGF0aC1saW5rLCQoQlVJTERfUk9PVCkv bGliYXZ1dGlsIC1XbCwtQnN5bWJvbGljIC1vIC90bXAvbXl0aHR2X2NvbmYuU1BoTmROTEMgL3Rt cC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC1seiAtbGJ6MiAtcHRocmVhZCAtbG0gLWxqYWNrCmNo ZWNrX2xpYjIgbGFtZS9sYW1lLmggbGFtZV9pbml0IC1sbXAzbGFtZSAtbG0KY2hlY2tfZnVuY19o ZWFkZXJzIGxhbWUvbGFtZS5oIGxhbWVfaW5pdApjaGVja19sZApjaGVja19jYwpCRUdJTiAvdG1w L215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJCiAgICAyCSNpbmNsdWRlIDxsYW1lL2xhbWUu aD4KICAgIDMJaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KXsKICAgIDQJICAgICh2b2lk KSBsYW1lX2luaXQ7CiAgICA1CSAgICByZXR1cm4gMDsKICAgIDYJfQpFTkQgL3RtcC9teXRodHZf Y29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNP Qzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9T T1VSQ0UgLXB0aHJlYWQgLVdhbGwgLVduby1zd2l0Y2ggLVdkaXNhYmxlZC1vcHRpbWl6YXRpb24g LVdwb2ludGVyLWFyaXRoIC1XcmVkdW5kYW50LWRlY2xzIC1Xbm8tcG9pbnRlci1zaWduIC1XY2Fz dC1xdWFsIC1Xd3JpdGUtc3RyaW5ncyAtV3VuZGVmIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1w L215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1ML3Vzci9sb2NhbC9saWIgLVdsLC0td2Fybi1j b21tb24gLVdsLC0tYXMtbmVlZGVkIC1XbCwtcnBhdGgtbGluaywkKEJVSUxEX1JPT1QpL2xpYnBv c3Rwcm9jIC1XbCwtcnBhdGgtbGluaywkKEJVSUxEX1JPT1QpL2xpYnN3c2NhbGUgLVdsLC1ycGF0 aC1saW5rLCQoQlVJTERfUk9PVCkvbGliYXZmaWx0ZXIgLVdsLC1ycGF0aC1saW5rLCQoQlVJTERf Uk9PVCkvbGliYXZkZXZpY2UgLVdsLC1ycGF0aC1saW5rLCQoQlVJTERfUk9PVCkvbGliYXZmb3Jt YXQgLVdsLC1ycGF0aC1saW5rLCQoQlVJTERfUk9PVCkvbGliYXZjb2RlYyAtV2wsLXJwYXRoLWxp bmssJChCVUlMRF9ST09UKS9saWJhdnV0aWwgLVdsLC1Cc3ltYm9saWMgLW8gL3RtcC9teXRodHZf Y29uZi5TUGhOZE5MQyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gLWx6IC1sYnoyIC1wdGhy ZWFkIC1sbSAtbGphY2sgLWxtcDNsYW1lIC1sbQpjaGVja19saWIgWDExL1hsaWIuaCBYUXVlcnlF eHRlbnNpb24gLWxYMTEKY2hlY2tfaGVhZGVyIFgxMS9YbGliLmgKY2hlY2tfY3BwCkJFR0lOIC90 bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQkjaW5jbHVkZSA8WDExL1hsaWIuaD4KICAg IDIJaW50IHg7CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZG U0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRocmVhZCAtV2FsbCAtV25vLXN3aXRj aCAtV2Rpc2FibGVkLW9wdGltaXphdGlvbiAtV3BvaW50ZXItYXJpdGggLVdyZWR1bmRhbnQtZGVj bHMgLVduby1wb2ludGVyLXNpZ24gLVdjYXN0LXF1YWwgLVd3cml0ZS1zdHJpbmdzIC1XdW5kZWYg LWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUUgLW8gL3RtcC9t eXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpjaGVja19m dW5jIFhRdWVyeUV4dGVuc2lvbgpjaGVja19sZApjaGVja19jYwpCRUdJTiAvdG1wL215dGh0dl9j b25mLjVzRWxjSHYwLmMKICAgIDEJZXh0ZXJuIGludCBYUXVlcnlFeHRlbnNpb24oKTsKICAgIDIJ aW50IG1haW4odm9pZCl7IFhRdWVyeUV4dGVuc2lvbigpOyB9CkVORCAvdG1wL215dGh0dl9jb25m LjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlf U09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJD RSAtcHRocmVhZCAtV2FsbCAtV25vLXN3aXRjaCAtV2Rpc2FibGVkLW9wdGltaXphdGlvbiAtV3Bv aW50ZXItYXJpdGggLVdyZWR1bmRhbnQtZGVjbHMgLVduby1wb2ludGVyLXNpZ24gLVdjYXN0LXF1 YWwgLVd3cml0ZS1zdHJpbmdzIC1XdW5kZWYgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLWMgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0 aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLS13YXJuLWNvbW1v biAtV2wsLS1hcy1uZWVkZWQgLVdsLC1ycGF0aC1saW5rLCQoQlVJTERfUk9PVCkvbGlicG9zdHBy b2MgLVdsLC1ycGF0aC1saW5rLCQoQlVJTERfUk9PVCkvbGlic3dzY2FsZSAtV2wsLXJwYXRoLWxp bmssJChCVUlMRF9ST09UKS9saWJhdmZpbHRlciAtV2wsLXJwYXRoLWxpbmssJChCVUlMRF9ST09U KS9saWJhdmRldmljZSAtV2wsLXJwYXRoLWxpbmssJChCVUlMRF9ST09UKS9saWJhdmZvcm1hdCAt V2wsLXJwYXRoLWxpbmssJChCVUlMRF9ST09UKS9saWJhdmNvZGVjIC1XbCwtcnBhdGgtbGluaywk KEJVSUxEX1JPT1QpL2xpYmF2dXRpbCAtV2wsLUJzeW1ib2xpYyAtbyAvdG1wL215dGh0dl9jb25m LlNQaE5kTkxDIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAtbHogLWxiejIgLXB0aHJlYWQg LWxtIC1samFjayAtbG1wM2xhbWUgLWxtIC1sWDExCmNoZWNrX2xpYiBYMTEvZXh0ZW5zaW9ucy9Y cmFuZHIuaCBYUlJTZWxlY3RJbnB1dCAtbFhyYW5kcgpjaGVja19oZWFkZXIgWDExL2V4dGVuc2lv bnMvWHJhbmRyLmgKY2hlY2tfY3BwCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwog ICAgMQkjaW5jbHVkZSA8WDExL2V4dGVuc2lvbnMvWHJhbmRyLmg+CiAgICAyCWludCB4OwpFTkQg L3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1E X0xBUkdFRklMRV9TT1VSQ0UgLXB0aHJlYWQgLVdhbGwgLVduby1zd2l0Y2ggLVdkaXNhYmxlZC1v cHRpbWl6YXRpb24gLVdwb2ludGVyLWFyaXRoIC1XcmVkdW5kYW50LWRlY2xzIC1Xbm8tcG9pbnRl ci1zaWduIC1XY2FzdC1xdWFsIC1Xd3JpdGUtc3RyaW5ncyAtV3VuZGVmIC1nIC1mb21pdC1mcmFt ZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1FIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lV dnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKY2hlY2tfZnVuYyBYUlJTZWxlY3RJ bnB1dApjaGVja19sZApjaGVja19jYwpCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMK ICAgIDEJZXh0ZXJuIGludCBYUlJTZWxlY3RJbnB1dCgpOwogICAgMglpbnQgbWFpbih2b2lkKXsg WFJSU2VsZWN0SW5wdXQoKTsgfQpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAt TzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAtc3RkPWM5OSAt RF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLXB0aHJlYWQgLVdhbGwg LVduby1zd2l0Y2ggLVdkaXNhYmxlZC1vcHRpbWl6YXRpb24gLVdwb2ludGVyLWFyaXRoIC1XcmVk dW5kYW50LWRlY2xzIC1Xbm8tcG9pbnRlci1zaWduIC1XY2FzdC1xdWFsIC1Xd3JpdGUtc3RyaW5n cyAtV3VuZGVmIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1j IC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYw LmMKZ2NjIC1ML3Vzci9sb2NhbC9saWIgLVdsLC0td2Fybi1jb21tb24gLVdsLC0tYXMtbmVlZGVk IC1XbCwtcnBhdGgtbGluaywkKEJVSUxEX1JPT1QpL2xpYnBvc3Rwcm9jIC1XbCwtcnBhdGgtbGlu aywkKEJVSUxEX1JPT1QpL2xpYnN3c2NhbGUgLVdsLC1ycGF0aC1saW5rLCQoQlVJTERfUk9PVCkv bGliYXZmaWx0ZXIgLVdsLC1ycGF0aC1saW5rLCQoQlVJTERfUk9PVCkvbGliYXZkZXZpY2UgLVds LC1ycGF0aC1saW5rLCQoQlVJTERfUk9PVCkvbGliYXZmb3JtYXQgLVdsLC1ycGF0aC1saW5rLCQo QlVJTERfUk9PVCkvbGliYXZjb2RlYyAtV2wsLXJwYXRoLWxpbmssJChCVUlMRF9ST09UKS9saWJh dnV0aWwgLVdsLC1Cc3ltYm9saWMgLW8gL3RtcC9teXRodHZfY29uZi5TUGhOZE5MQyAvdG1wL215 dGh0dl9jb25mLk9ZVXZyRG5BLm8gLWx6IC1sYnoyIC1wdGhyZWFkIC1sbSAtbGphY2sgLWxtcDNs YW1lIC1sbSAtbFgxMSAtbFhyYW5kcgpjaGVja19saWIgWDExL2V4dGVuc2lvbnMvWHYuaCBYdlB1 dFN0aWxsIC1sWHYKY2hlY2tfaGVhZGVyIFgxMS9leHRlbnNpb25zL1h2LmgKY2hlY2tfY3BwCkJF R0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQkjaW5jbHVkZSA8WDExL2V4dGVu c2lvbnMvWHYuaD4KICAgIDIJaW50IHg7CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMK Z2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9 Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRocmVhZCAt V2FsbCAtV25vLXN3aXRjaCAtV2Rpc2FibGVkLW9wdGltaXphdGlvbiAtV3BvaW50ZXItYXJpdGgg LVdyZWR1bmRhbnQtZGVjbHMgLVduby1wb2ludGVyLXNpZ24gLVdjYXN0LXF1YWwgLVd3cml0ZS1z dHJpbmdzIC1XdW5kZWYgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLUUgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNF bGNIdjAuYwpjaGVja19mdW5jIFh2UHV0U3RpbGwKY2hlY2tfbGQKY2hlY2tfY2MKQkVHSU4gL3Rt cC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCWV4dGVybiBpbnQgWHZQdXRTdGlsbCgpOwog ICAgMglpbnQgbWFpbih2b2lkKXsgWHZQdXRTdGlsbCgpOyB9CkVORCAvdG1wL215dGh0dl9jb25m LjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlf U09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJD RSAtcHRocmVhZCAtV2FsbCAtV25vLXN3aXRjaCAtV2Rpc2FibGVkLW9wdGltaXphdGlvbiAtV3Bv aW50ZXItYXJpdGggLVdyZWR1bmRhbnQtZGVjbHMgLVduby1wb2ludGVyLXNpZ24gLVdjYXN0LXF1 YWwgLVd3cml0ZS1zdHJpbmdzIC1XdW5kZWYgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLWMgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0 aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLS13YXJuLWNvbW1v biAtV2wsLS1hcy1uZWVkZWQgLVdsLC1ycGF0aC1saW5rLCQoQlVJTERfUk9PVCkvbGlicG9zdHBy b2MgLVdsLC1ycGF0aC1saW5rLCQoQlVJTERfUk9PVCkvbGlic3dzY2FsZSAtV2wsLXJwYXRoLWxp bmssJChCVUlMRF9ST09UKS9saWJhdmZpbHRlciAtV2wsLXJwYXRoLWxpbmssJChCVUlMRF9ST09U KS9saWJhdmRldmljZSAtV2wsLXJwYXRoLWxpbmssJChCVUlMRF9ST09UKS9saWJhdmZvcm1hdCAt V2wsLXJwYXRoLWxpbmssJChCVUlMRF9ST09UKS9saWJhdmNvZGVjIC1XbCwtcnBhdGgtbGluaywk KEJVSUxEX1JPT1QpL2xpYmF2dXRpbCAtV2wsLUJzeW1ib2xpYyAtbyAvdG1wL215dGh0dl9jb25m LlNQaE5kTkxDIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAtbHogLWxiejIgLXB0aHJlYWQg LWxtIC1samFjayAtbG1wM2xhbWUgLWxtIC1sWDExIC1sWHJhbmRyIC1sWHYKY2hlY2tfbGliIFgx MS9leHRlbnNpb25zL3hmODZ2bW9kZS5oIFhGODZWaWRNb2RlU2V0Q2xpZW50VmVyc2lvbiAtbFh4 Zjg2dm0KY2hlY2tfaGVhZGVyIFgxMS9leHRlbnNpb25zL3hmODZ2bW9kZS5oCmNoZWNrX2NwcApC RUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJI2luY2x1ZGUgPFgxMS9leHRl bnNpb25zL3hmODZ2bW9kZS5oPgogICAgMglpbnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNF bGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VS Q0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1w dGhyZWFkIC1XYWxsIC1Xbm8tc3dpdGNoIC1XZGlzYWJsZWQtb3B0aW1pemF0aW9uIC1XcG9pbnRl ci1hcml0aCAtV3JlZHVuZGFudC1kZWNscyAtV25vLXBvaW50ZXItc2lnbiAtV2Nhc3QtcXVhbCAt V3dyaXRlLXN0cmluZ3MgLVd1bmRlZiAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9j YWwvaW5jbHVkZSAtRSAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZf Y29uZi41c0VsY0h2MC5jCmNoZWNrX2Z1bmMgWEY4NlZpZE1vZGVTZXRDbGllbnRWZXJzaW9uCmNo ZWNrX2xkCmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQll eHRlcm4gaW50IFhGODZWaWRNb2RlU2V0Q2xpZW50VmVyc2lvbigpOwogICAgMglpbnQgbWFpbih2 b2lkKXsgWEY4NlZpZE1vZGVTZXRDbGllbnRWZXJzaW9uKCk7IH0KRU5EIC90bXAvbXl0aHR2X2Nv bmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5 OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09V UkNFIC1wdGhyZWFkIC1XYWxsIC1Xbm8tc3dpdGNoIC1XZGlzYWJsZWQtb3B0aW1pemF0aW9uIC1X cG9pbnRlci1hcml0aCAtV3JlZHVuZGFudC1kZWNscyAtV25vLXBvaW50ZXItc2lnbiAtV2Nhc3Qt cXVhbCAtV3dyaXRlLXN0cmluZ3MgLVd1bmRlZiAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9t eXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTC91c3IvbG9jYWwvbGliIC1XbCwtLXdhcm4tY29t bW9uIC1XbCwtLWFzLW5lZWRlZCAtV2wsLXJwYXRoLWxpbmssJChCVUlMRF9ST09UKS9saWJwb3N0 cHJvYyAtV2wsLXJwYXRoLWxpbmssJChCVUlMRF9ST09UKS9saWJzd3NjYWxlIC1XbCwtcnBhdGgt bGluaywkKEJVSUxEX1JPT1QpL2xpYmF2ZmlsdGVyIC1XbCwtcnBhdGgtbGluaywkKEJVSUxEX1JP T1QpL2xpYmF2ZGV2aWNlIC1XbCwtcnBhdGgtbGluaywkKEJVSUxEX1JPT1QpL2xpYmF2Zm9ybWF0 IC1XbCwtcnBhdGgtbGluaywkKEJVSUxEX1JPT1QpL2xpYmF2Y29kZWMgLVdsLC1ycGF0aC1saW5r LCQoQlVJTERfUk9PVCkvbGliYXZ1dGlsIC1XbCwtQnN5bWJvbGljIC1vIC90bXAvbXl0aHR2X2Nv bmYuU1BoTmROTEMgL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC1seiAtbGJ6MiAtcHRocmVh ZCAtbG0gLWxqYWNrIC1sbXAzbGFtZSAtbG0gLWxYMTEgLWxYcmFuZHIgLWxYdiAtbFh4Zjg2dm0K Y2hlY2tfbGliIFgxMS9leHRlbnNpb25zL1hpbmVyYW1hLmggWGluZXJhbWFRdWVyeUV4dGVuc2lv biAtbFhpbmVyYW1hCmNoZWNrX2hlYWRlciBYMTEvZXh0ZW5zaW9ucy9YaW5lcmFtYS5oCmNoZWNr X2NwcApCRUdJTiAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJI2luY2x1ZGUgPFgx MS9leHRlbnNpb25zL1hpbmVyYW1hLmg+CiAgICAyCWludCB4OwpFTkQgL3RtcC9teXRodHZfY29u Zi41c0VsY0h2MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5 X1NPVVJDRSAtc3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VS Q0UgLXB0aHJlYWQgLVdhbGwgLVduby1zd2l0Y2ggLVdkaXNhYmxlZC1vcHRpbWl6YXRpb24gLVdw b2ludGVyLWFyaXRoIC1XcmVkdW5kYW50LWRlY2xzIC1Xbm8tcG9pbnRlci1zaWduIC1XY2FzdC1x dWFsIC1Xd3JpdGUtc3RyaW5ncyAtV3VuZGVmIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1FIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215 dGh0dl9jb25mLjVzRWxjSHYwLmMKY2hlY2tfZnVuYyBYaW5lcmFtYVF1ZXJ5RXh0ZW5zaW9uCmNo ZWNrX2xkCmNoZWNrX2NjCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQll eHRlcm4gaW50IFhpbmVyYW1hUXVlcnlFeHRlbnNpb24oKTsKICAgIDIJaW50IG1haW4odm9pZCl7 IFhpbmVyYW1hUXVlcnlFeHRlbnNpb24oKTsgfQpFTkQgL3RtcC9teXRodHZfY29uZi41c0VsY0h2 MC5jCmdjYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLURfSVNPQzk5X1NPVVJDRSAt c3RkPWM5OSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLXB0aHJl YWQgLVdhbGwgLVduby1zd2l0Y2ggLVdkaXNhYmxlZC1vcHRpbWl6YXRpb24gLVdwb2ludGVyLWFy aXRoIC1XcmVkdW5kYW50LWRlY2xzIC1Xbm8tcG9pbnRlci1zaWduIC1XY2FzdC1xdWFsIC1Xd3Jp dGUtc3RyaW5ncyAtV3VuZGVmIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1wL215dGh0dl9jb25m LjVzRWxjSHYwLmMKZ2NjIC1ML3Vzci9sb2NhbC9saWIgLVdsLC0td2Fybi1jb21tb24gLVdsLC0t YXMtbmVlZGVkIC1XbCwtcnBhdGgtbGluaywkKEJVSUxEX1JPT1QpL2xpYnBvc3Rwcm9jIC1XbCwt cnBhdGgtbGluaywkKEJVSUxEX1JPT1QpL2xpYnN3c2NhbGUgLVdsLC1ycGF0aC1saW5rLCQoQlVJ TERfUk9PVCkvbGliYXZmaWx0ZXIgLVdsLC1ycGF0aC1saW5rLCQoQlVJTERfUk9PVCkvbGliYXZk ZXZpY2UgLVdsLC1ycGF0aC1saW5rLCQoQlVJTERfUk9PVCkvbGliYXZmb3JtYXQgLVdsLC1ycGF0 aC1saW5rLCQoQlVJTERfUk9PVCkvbGliYXZjb2RlYyAtV2wsLXJwYXRoLWxpbmssJChCVUlMRF9S T09UKS9saWJhdnV0aWwgLVdsLC1Cc3ltYm9saWMgLW8gL3RtcC9teXRodHZfY29uZi5TUGhOZE5M QyAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gLWx6IC1sYnoyIC1wdGhyZWFkIC1sbSAtbGph Y2sgLWxtcDNsYW1lIC1sbSAtbFgxMSAtbFhyYW5kciAtbFh2IC1sWHhmODZ2bSAtbFhpbmVyYW1h CmNoZWNrX2xpYiBYMTEvZXh0ZW5zaW9ucy9YZXh0LmggWE1pc3NpbmdFeHRlbnNpb24gLWxYZXh0 CmNoZWNrX2hlYWRlciBYMTEvZXh0ZW5zaW9ucy9YZXh0LmgKY2hlY2tfY3BwCkJFR0lOIC90bXAv bXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQkjaW5jbHVkZSA8WDExL2V4dGVuc2lvbnMvWGV4 dC5oPgogICAgMglpbnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8y IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURf RklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1wdGhyZWFkIC1XYWxsIC1X bm8tc3dpdGNoIC1XZGlzYWJsZWQtb3B0aW1pemF0aW9uIC1XcG9pbnRlci1hcml0aCAtV3JlZHVu ZGFudC1kZWNscyAtV25vLXBvaW50ZXItc2lnbiAtV2Nhc3QtcXVhbCAtV3dyaXRlLXN0cmluZ3Mg LVd1bmRlZiAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtRSAt byAvdG1wL215dGh0dl9jb25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5j CmNoZWNrX2Z1bmMgWE1pc3NpbmdFeHRlbnNpb24KY2hlY2tfbGQKY2hlY2tfY2MKQkVHSU4gL3Rt cC9teXRodHZfY29uZi41c0VsY0h2MC5jCiAgICAxCWV4dGVybiBpbnQgWE1pc3NpbmdFeHRlbnNp b24oKTsKICAgIDIJaW50IG1haW4odm9pZCl7IFhNaXNzaW5nRXh0ZW5zaW9uKCk7IH0KRU5EIC90 bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1w aXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9M QVJHRUZJTEVfU09VUkNFIC1wdGhyZWFkIC1XYWxsIC1Xbm8tc3dpdGNoIC1XZGlzYWJsZWQtb3B0 aW1pemF0aW9uIC1XcG9pbnRlci1hcml0aCAtV3JlZHVuZGFudC1kZWNscyAtV25vLXBvaW50ZXIt c2lnbiAtV2Nhc3QtcXVhbCAtV3dyaXRlLXN0cmluZ3MgLVd1bmRlZiAtZyAtZm9taXQtZnJhbWUt cG9pbnRlciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtYyAtbyAvdG1wL215dGh0dl9jb25mLk9ZVXZy RG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCmdjYyAtTC91c3IvbG9jYWwvbGliIC1X bCwtLXdhcm4tY29tbW9uIC1XbCwtLWFzLW5lZWRlZCAtV2wsLXJwYXRoLWxpbmssJChCVUlMRF9S T09UKS9saWJwb3N0cHJvYyAtV2wsLXJwYXRoLWxpbmssJChCVUlMRF9ST09UKS9saWJzd3NjYWxl IC1XbCwtcnBhdGgtbGluaywkKEJVSUxEX1JPT1QpL2xpYmF2ZmlsdGVyIC1XbCwtcnBhdGgtbGlu aywkKEJVSUxEX1JPT1QpL2xpYmF2ZGV2aWNlIC1XbCwtcnBhdGgtbGluaywkKEJVSUxEX1JPT1Qp L2xpYmF2Zm9ybWF0IC1XbCwtcnBhdGgtbGluaywkKEJVSUxEX1JPT1QpL2xpYmF2Y29kZWMgLVds LC1ycGF0aC1saW5rLCQoQlVJTERfUk9PVCkvbGliYXZ1dGlsIC1XbCwtQnN5bWJvbGljIC1vIC90 bXAvbXl0aHR2X2NvbmYuU1BoTmROTEMgL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC1seiAt bGJ6MiAtcHRocmVhZCAtbG0gLWxqYWNrIC1sbXAzbGFtZSAtbG0gLWxYMTEgLWxYcmFuZHIgLWxY diAtbFh4Zjg2dm0gLWxYaW5lcmFtYSAtbFhleHQKY2hlY2tfaGVhZGVyIEdML2dsLmgKY2hlY2tf Y3BwCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwogICAgMQkjaW5jbHVkZSA8R0wv Z2wuaD4KICAgIDIJaW50IHg7CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1P MiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1E X0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRocmVhZCAtV2FsbCAt V25vLXN3aXRjaCAtV2Rpc2FibGVkLW9wdGltaXphdGlvbiAtV3BvaW50ZXItYXJpdGggLVdyZWR1 bmRhbnQtZGVjbHMgLVduby1wb2ludGVyLXNpZ24gLVdjYXN0LXF1YWwgLVd3cml0ZS1zdHJpbmdz IC1XdW5kZWYgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUUg LW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAu YwpjaGVja19oZWFkZXIgWDExL2V4dGVuc2lvbnMvdmxkWHZNQy5oCmNoZWNrX2NwcApCRUdJTiAv dG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKICAgIDEJI2luY2x1ZGUgPFgxMS9leHRlbnNpb25z L3ZsZFh2TUMuaD4KICAgIDIJaW50IHg7CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMK Z2NjIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9 Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRocmVhZCAt V2FsbCAtV25vLXN3aXRjaCAtV2Rpc2FibGVkLW9wdGltaXphdGlvbiAtV3BvaW50ZXItYXJpdGgg LVdyZWR1bmRhbnQtZGVjbHMgLVduby1wb2ludGVyLXNpZ24gLVdjYXN0LXF1YWwgLVd3cml0ZS1z dHJpbmdzIC1XdW5kZWYgLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLUUgLW8gL3RtcC9teXRodHZfY29uZi5PWVV2ckRuQS5vIC90bXAvbXl0aHR2X2NvbmYuNXNF bGNIdjAuYwpkaXJlY3RmYi1jb25maWcgLS12ZXJzaW9uCmNoZWNrX2NmbGFncyAtZm5vLW1hdGgt ZXJybm8KY2hlY2tfY2MgLWZuby1tYXRoLWVycm5vCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNF bGNIdjAuYwogICAgMQlpbnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2Mg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkg LURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1wdGhyZWFkIC1XYWxs IC1Xbm8tc3dpdGNoIC1XZGlzYWJsZWQtb3B0aW1pemF0aW9uIC1XcG9pbnRlci1hcml0aCAtV3Jl ZHVuZGFudC1kZWNscyAtV25vLXBvaW50ZXItc2lnbiAtV2Nhc3QtcXVhbCAtV3dyaXRlLXN0cmlu Z3MgLVd1bmRlZiAtZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtTzMgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLWZuby1tYXRoLWVycm5vIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lVdnJEbkEubyAvdG1w L215dGh0dl9jb25mLjVzRWxjSHYwLmMKY2hlY2tfY2ZsYWdzIC1mbm8tc2lnbmVkLXplcm9zCmNo ZWNrX2NjIC1mbm8tc2lnbmVkLXplcm9zCkJFR0lOIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAu YwogICAgMQlpbnQgeDsKRU5EIC90bXAvbXl0aHR2X2NvbmYuNXNFbGNIdjAuYwpnY2MgLU8yIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0lTT0M5OV9TT1VSQ0UgLXN0ZD1jOTkgLURfRklM RV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1wdGhyZWFkIC1XYWxsIC1Xbm8t c3dpdGNoIC1XZGlzYWJsZWQtb3B0aW1pemF0aW9uIC1XcG9pbnRlci1hcml0aCAtV3JlZHVuZGFu dC1kZWNscyAtV25vLXBvaW50ZXItc2lnbiAtV2Nhc3QtcXVhbCAtV3dyaXRlLXN0cmluZ3MgLVd1 bmRlZiAtZm5vLW1hdGgtZXJybm8gLWcgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLU8zIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1mbm8tc2lnbmVkLXplcm9zIC1jIC1vIC90bXAvbXl0aHR2X2NvbmYuT1lV dnJEbkEubyAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKY2MxOiBlcnJvcjogdW5yZWNvZ25p emVkIGNvbW1hbmQgbGluZSBvcHRpb24gIi1mbm8tc2lnbmVkLXplcm9zIgpjaGVja19hc20gYXNt YWxpZ25fcG90ICIuYWxpZ24gMyIKY2hlY2tfYXMKQkVHSU4gL3RtcC9teXRodHZfY29uZi41c0Vs Y0h2MC5jCiAgICAxCXZvaWQgZm9vKHZvaWQpeyBfX2FzbV9fIHZvbGF0aWxlKCIuYWxpZ24gMyIp OyB9CkVORCAvdG1wL215dGh0dl9jb25mLjVzRWxjSHYwLmMKZ2NjIC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAtRF9JU09DOTlfU09VUkNFIC1zdGQ9Yzk5IC1EX0ZJTEVfT0ZGU0VUX0JJ VFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtcHRocmVhZCAtV2FsbCAtV25vLXN3aXRjaCAtV2Rp c2FibGVkLW9wdGltaXphdGlvbiAtV3BvaW50ZXItYXJpdGggLVdyZWR1bmRhbnQtZGVjbHMgLVdu by1wb2ludGVyLXNpZ24gLVdjYXN0LXF1YWwgLVd3cml0ZS1zdHJpbmdzIC1XdW5kZWYgLWZuby1t YXRoLWVycm5vIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1PMyAtYyAtbyAvdG1wL215dGh0dl9j b25mLk9ZVXZyRG5BLm8gL3RtcC9teXRodHZfY29uZi41c0VsY0h2MC5jCntzdGFuZGFyZCBpbnB1 dH06IEFzc2VtYmxlciBtZXNzYWdlczoKe3N0YW5kYXJkIGlucHV0fToxOTogRXJyb3I6IGFsaWdu bWVudCBub3QgYSBwb3dlciBvZiAyCg== --Boundary_(ID_O7pjPhRemMzmaJfftFeXEQ)-- From owner-freebsd-multimedia@FreeBSD.ORG Mon Nov 23 20:16:57 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DC07A106566B for ; Mon, 23 Nov 2009 20:16:57 +0000 (UTC) (envelope-from decke@bluelife.at) Received: from mail.itac.at (mail.itac.at [91.205.172.9]) by mx1.freebsd.org (Postfix) with ESMTP id 6F0F88FC14 for ; Mon, 23 Nov 2009 20:16:56 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=webmail.itac.at) by mail.itac.at with esmtpa (Exim 4.63) (envelope-from ) id 1NCfLD-0004MT-PX; Mon, 23 Nov 2009 21:16:55 +0100 Received: from 78.142.74.81 (SquirrelMail authenticated user decke@bluelife.at) by webmail.itac.at with HTTP; Mon, 23 Nov 2009 21:16:55 +0100 (CET) Message-ID: <792f3f92773b6de2ca0c9bab7751e9a2.squirrel@webmail.itac.at> In-Reply-To: <20091123194817.fbe23d38.torfinn.ingolfsen@broadpark.no> References: <2b3562edb67496f3814c8ba8b45f23b9.squirrel@webmail.itac.at> <20091123194817.fbe23d38.torfinn.ingolfsen@broadpark.no> Date: Mon, 23 Nov 2009 21:16:55 +0100 (CET) From: "Bernhard Froehlich" To: "Torfinn Ingolfsen" User-Agent: SquirrelMail/1.4.15 MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) Importance: Normal Cc: freebsd-multimedia@freebsd.org Subject: Re: Call for Testers: MythTV 0.22 (Trial 2) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2009 20:16:57 -0000 On Mon, November 23, 2009 7:48 pm, Torfinn Ingolfsen wrote: > On Mon, 23 Nov 2009 12:45:03 +0100 (CET) > Bernhard Froehlich wrote: > >> There were some problems with the first call for testers but that >> compile problems should be fixed now and x11 and ivtv should be >> working. > > I donwloaded the new cft, and did a clean make install. > > Ok, I can now watch recordings that I did previously (with the first > 0.22 cft) - this is good. > But when I try to "watch TV", it just stays on the "please wait" screen > a bit, and thenm returns to the menu. > In /var/log/mythbackend.log I see this: > 2009-11-23 19:23:21.478 TVRec(2): Changing from None to Watching > WatchingLiveTV > 2009-11-23 19:23:21.485 TVRec(2): HW Tuner: 2->2 > 2009-11-23 19:23:21.702 TVRec(2) Error: Need MPEG recorder, but compiled > without MPEG support! > 2009-11-23 19:23:21.704 TVRec(2) Error: Failed to start recorder! > Tuning request was Program(no) channel(1) input(Tuner 0) > flags(LiveTV,) > > 2009-11-23 19:23:21.711 Finished recording Dagsrevyen: channel 1 > 2009-11-23 19:23:21.714 TVRec(2): Changing from Watching WatchingLiveTV to > None > > mythfrontend -w -v record' doesn't say anything about missing mpeg: > 2009-11-23 19:34:28.537 TV: Attempting to change from None to Watching > WatchingLiveTV > 2009-11-23 19:34:28.539 MythContext: Connecting to backend server: > 10.1.150.8:6543 (try 1 of 1) > 2009-11-23 19:34:28.540 Using protocol version 50 > 2009-11-23 19:34:28.543 Spawning LiveTV Recorder -- begin > 2009-11-23 19:34:28.780 Spawning LiveTV Recorder -- end > 2009-11-23 19:34:28.794 We have a > playbackURL(/d3/mythtv/video/1_20091123193428.mpg) & cardtype(MPEG) > 2009-11-23 19:34:35.295 RingBuf(/d3/mythtv/video/1_20091123193428.mpg): > Invalid file (fd -1) when opening '/d3/mythtv/video/1_20091123193428.mpg'. > 2009-11-23 19:34:35.296 We have a RingBuffer > 2009-11-23 19:35:15.349 TV Error: StartRecorder() -- timed out waiting for > recorder to start > 2009-11-23 19:35:15.349 TV Error: LiveTV not successfully started > 2009-11-23 19:35:15.353 ScreenSaverX11Private: DPMS Deactivated 1 > 2009-11-23 19:35:15.354 ScreenSaverX11Private: DPMS Reactivated 1 > > But it makes sense, the frontend doesn't have a recording device > (PVR-350). > Anyway, config.ep is attached. > I've had a quick look at the code and this message is from SetupRecorder in libs/libmythtv/tv_rec.cpp and is only displayed when ivtv was not enabled correctly. But your config has IVTV enabled so there is something wrong. You could try to remove the ifdef USING_IVTV and endif in tv_rec.cpp at around line 989 and see if it helps. I'll try to have a look at it. -- Bernhard Fröhlich http://www.bluelife.at/ From owner-freebsd-multimedia@FreeBSD.ORG Mon Nov 23 20:31:53 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 286B91065676 for ; Mon, 23 Nov 2009 20:31:53 +0000 (UTC) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from bgo1smout1.broadpark.no (bgo1smout1.broadpark.no [217.13.4.94]) by mx1.freebsd.org (Postfix) with ESMTP id D60558FC0C for ; Mon, 23 Nov 2009 20:31:52 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; charset=US-ASCII Received: from bgo1sminn1.broadpark.no ([217.13.4.93]) by bgo1smout1.broadpark.no (Sun Java(tm) System Messaging Server 6.3-3.01 (built Jul 12 2007; 32bit)) with ESMTP id <0KTK00G3ZX11CE90@bgo1smout1.broadpark.no> for freebsd-multimedia@freebsd.org; Mon, 23 Nov 2009 21:31:49 +0100 (CET) Received: from kg-v2.kg4.no ([80.203.92.186]) by bgo1sminn1.broadpark.no (Sun Java(tm) System Messaging Server 6.3-3.01 (built Jul 12 2007; 32bit)) with SMTP id <0KTK00NQFX102VF1@bgo1sminn1.broadpark.no> for freebsd-multimedia@freebsd.org; Mon, 23 Nov 2009 21:31:48 +0100 (CET) Date: Mon, 23 Nov 2009 21:31:48 +0100 From: Torfinn Ingolfsen To: freebsd-multimedia@freebsd.org Message-id: <20091123213148.8a082125.torfinn.ingolfsen@broadpark.no> In-reply-to: <792f3f92773b6de2ca0c9bab7751e9a2.squirrel@webmail.itac.at> References: <2b3562edb67496f3814c8ba8b45f23b9.squirrel@webmail.itac.at> <20091123194817.fbe23d38.torfinn.ingolfsen@broadpark.no> <792f3f92773b6de2ca0c9bab7751e9a2.squirrel@webmail.itac.at> X-Mailer: Sylpheed 2.7.1 (GTK+ 2.16.6; amd64-portbld-freebsd7.2) X-Face: "t9w2,-X@O^I`jVW\sonI3.,36KBLZE*AL[y9lL[PyFD*r_S:dIL9c[8Y>V42R0"!"yb_zN,f#%.[PYYNq; m"_0v; ~rUM2Yy!zmkh)3&U|u!=T(zyv,MHJv"nDH>OJ`t(@mil461d_B'Uo|'nMwlKe0Mv=kvV?Nh@>Hb<3s_z2jYgZhPb@?Wi^x1a~Hplz1.zH Subject: Re: Call for Testers: MythTV 0.22 (Trial 2) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2009 20:31:53 -0000 On Mon, 23 Nov 2009 21:16:55 +0100 (CET) Bernhard Froehlich wrote: > I've had a quick look at the code and this message is from > SetupRecorder in libs/libmythtv/tv_rec.cpp and is only displayed when > ivtv was not enabled correctly. But your config has IVTV enabled so > there is something wrong. I tried a scheduled recording, that resulted in this in /var/log/mythbackend.log: 2009-11-23 19:52:00.617 Reschedule requested for id 0. 2009-11-23 19:52:00.640 Scheduled 1 items in 0.0 = 0.00 match + 0.02 place 2009-11-23 19:52:29.956 TVRec(2): ASK_RECORDING 2 29 0 0 2009-11-23 19:53:01.755 TVRec(2): Changing from None to Watching RecordingOnly 2009-11-23 19:53:01.760 TVRec(2): HW Tuner: 2->2 2009-11-23 19:53:01.941 TVRec(2) Error: Need MPEG recorder, but compiled without MPEG support! 2009-11-23 19:53:01.942 TVRec(2) Error: Failed to start recorder! Tuning request was Program(yes) channel(6) input(Tuner 0) flags(Recording,) 2009-11-23 19:53:01.948 Finished recording Siste nytt fra P4: channel 6 2009-11-23 19:53:01.962 TVRec(2): Changing from Watching RecordingOnly to None and then mythbackend crashed (core dump). From /var/log/messages: Nov 23 19:53:01 kg-quiet kernel: before tuner_command! Nov 23 19:53:01 kg-quiet kernel: tuner: tv freq set to 168.25 Nov 23 19:53:01 kg-quiet kernel: tuner: tv 0x0c 0xf3 0x8e 0x02 Nov 23 19:53:02 kg-quiet kernel: pid 57753 (mythbackend), uid 0: exited on signal 11 (core dumped) The core dump is available, if needed I can run commands on it (if somebody tells me what to run). > You could try to remove the ifdef USING_IVTV and endif in tv_rec.cpp > at around line 989 and see if it helps. I'll try to have a look at it. I'll wait until usleep has said if this issue is driver related or not. -- Torfinn From owner-freebsd-multimedia@FreeBSD.ORG Mon Nov 23 21:50:36 2009 Return-Path: Delivered-To: freebsd-multimedia@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DD6FA1065696; Mon, 23 Nov 2009 21:50:36 +0000 (UTC) (envelope-from jgreco@aurora.sol.net) Received: from mail2.sol.net (mail2.sol.net [206.55.64.73]) by mx1.freebsd.org (Postfix) with ESMTP id 77D868FC0A; Mon, 23 Nov 2009 21:50:36 +0000 (UTC) Received: from aurora.sol.net (aurora.sol.net [206.55.65.130]) by mail2.sol.net (8.14.1/8.14.1/SNNS-1.04) with ESMTP id nANLoY1h044405; Mon, 23 Nov 2009 15:50:34 -0600 (CST) Received: (from jgreco@localhost) by aurora.sol.net (8.12.8p1/8.12.9/Submit) id nANLoYeO059257; Mon, 23 Nov 2009 15:50:34 -0600 (CST) From: Joe Greco Message-Id: <200911232150.nANLoYeO059257@aurora.sol.net> To: mav@FreeBSD.org (Alexander Motin) Date: Mon, 23 Nov 2009 15:50:34 -0600 (CST) In-Reply-To: <4B0AC03B.50602@FreeBSD.org> from "Alexander Motin" at Nov 23, 2009 07:02:51 PM X-Mailer: ELM [version 2.5 PL6] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: freebsd-multimedia@FreeBSD.org Subject: Re: Pointers to debug lack-of-audio X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2009 21:50:36 -0000 > > Okay, so ... I'm trying, then, to get rid of what's currently listed as > > "Association 1 (2)"? That's simply "Pin nid=17 seq=0" which maps to > > "nid 17 0x9707e120 as 2 seq 0 Line-out Fixed jack 7 loc 23 color > > White misc 1" > > > > So would this be > > > > hint.hdac.0.cad0.nid17.config="as=1 seq=1 device=Line-out" > > > > ? I'm kind of guessing here. This gets me another nonfunctional config, > > > > hdac0: [MPSAFE] > > hdac0: [ITHREAD] > > hdac0: Probing codec #0... > > hdac0: HDA Codec #0: Realtek ALC260 > > hdac0: HDA Codec ID: 0x10ec0260 > > hdac0: Vendor: 0x10ec > > hdac0: Device: 0x0260 > > hdac0: Revision: 0x04 > > hdac0: Stepping: 0x00 > > hdac0: PCI Subvendor: 0x3011103c > > hdac0: Found audio FG nid=1 startnode=2 endnode=28 total=26 > > hdac0: > > hdac0: Processing audio FG cad=0 nid=1... > > hdac0: GPIO: 0x40000004 NumGPIO=4 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1 > > hdac0: nid 15 0x9993e133 as 3 seq 3 AUX Fixed jack 3 loc 25 color White misc 1 > > hdac0: nid 16 0x0221101f as 1 seq 15 Headphones Jack jack 1 loc 2 color Black misc 0 > > hdac0: nid 17 0x9707e120 as 2 seq 0 Line-out Fixed jack 7 loc 23 color White misc 1 > > hdac0: Patching pin config nid=17 0x9707e120 -> 0x9707e111 > > hdac0: nid 18 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 > > hdac0: nid 19 0x02a11930 as 3 seq 0 Mic Jack jack 1 loc 2 color Black misc 9 > > hdac0: nid 20 0x01813c31 as 3 seq 1 Line-in Jack jack 1 loc 1 color Blue misc 12 > > hdac0: nid 21 0x01014c10 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 12 > > hdac0: nid 22 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 > > hdac0: Patching widget caps nid=23 0x00400000 -> 0x00700000 > > hdac0: nid 24 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 > > hdac0: nid 25 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 > > hdac0: Patched pins configuration: > > hdac0: nid 15 0x9993e133 as 3 seq 3 AUX Fixed jack 3 loc 25 color White misc 1 > > hdac0: nid 16 0x0221101f as 1 seq 15 Headphones Jack jack 1 loc 2 color Black misc 0 > > hdac0: nid 17 0x9707e111 as 1 seq 1 Line-out Fixed jack 7 loc 23 color White misc 1 > > hdac0: nid 18 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] > > hdac0: nid 19 0x02a11930 as 3 seq 0 Mic Jack jack 1 loc 2 color Black misc 9 > > hdac0: nid 20 0x01813c31 as 3 seq 1 Line-in Jack jack 1 loc 1 color Blue misc 12 > > hdac0: nid 21 0x01014c10 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 12 > > hdac0: nid 22 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] > > hdac0: nid 24 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] > > hdac0: nid 25 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1 [DISABLED] > > hdac0: 2 associations found: > > hdac0: Association 0 (1) out: > > hdac0: Pin nid=21 seq=0 > > hdac0: Pin nid=17 seq=1 > > hdac0: Pin nid=16 seq=15 > > hdac0: Association 1 (3) in: > > hdac0: Pin nid=19 seq=0 > > hdac0: Pin nid=20 seq=1 > > hdac0: Pin nid=15 seq=3 > > hdac0: Tracing association 0 (1) > > hdac0: Pin 21 traced to DAC 2 > > hdac0: Unable to trace pin 17 seq 1 with min nid 0 > > hdac0: Unable to trace pin 21 seq 0 with min nid 3 > > hdac0: Pin 21 traced to DAC 2 with fake redirection > > hdac0: Unable to trace pin 17 seq 1 with min nid 0 > > hdac0: Unable to trace pin 21 seq 0 with min nid 3 > > hdac0: Association 0 (1) trace failed > > hdac0: Tracing association 1 (3) > > hdac0: Pin 19 traced to ADC 4 > > hdac0: Pin 20 traced to ADC 4 > > hdac0: Pin 15 traced to ADC 4 > > hdac0: Association 1 (3) trace succeeded > > hdac0: Tracing input monitor > > hdac0: Tracing beeper > > hdac0: FG config/quirks: forcestereo ivref50 ivref80 ivref100 ivref > > > > But that's also getting "Unable to trace" messages. > > That what you have configured still require two DACs. Only one seq=15 > can share DAC with others. You'll have to disable one of them. I don't see two seq=15... am I misreading this? And it isn't clear to me what it is that requires two DACs. There's only one outbound association, with all the enabled outputs thrown into it. Is that supposed to work? I do not paricularly care about headphone jack functionality (nice to have but definitely optional)... > How much > connectors do you have on case? May be some of configured nids is fake? Possible, I suppose. There's a blue and green line in/out on the rear. There's a headphone and mic on the front. Those are all represented as nid 16, 19, 20, 21. There's what appears to be a CD input on the system board, I've been assuming that to be nid 15 / AUX. You suggest nid 17 was the speaker. That appears to account for all non-disabled nid's. > Looking on codec datasheet, nid 17 is mono out, so it is a good > candidate to be used for speaker. > > > Am I supposed to > > be trying to figure this out before trying to play with gpio signals? > > Better solve all possible problems before, as there is quite large > number of combinations. :-) So I think I'm a little lost on what is requiring two DAC's. I thought by throwing everything in association 0, that'd put the same outputs on everything. Am I better off disabling everything and then just walking through one nid at a time trying to establish what's what? I can do that without toooo much pain. Thanks for any further insight. ... JG -- Joe Greco - sol.net Network Services - Milwaukee, WI - http://www.sol.net "We call it the 'one bite at the apple' rule. Give me one chance [and] then I won't contact you again." - Direct Marketing Ass'n position on e-mail spam(CNN) With 24 million small businesses in the US alone, that's way too many apples. From owner-freebsd-multimedia@FreeBSD.ORG Mon Nov 23 21:58:31 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5FC891065694 for ; Mon, 23 Nov 2009 21:58:31 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-bw0-f220.google.com (mail-bw0-f220.google.com [209.85.218.220]) by mx1.freebsd.org (Postfix) with ESMTP id DF4C98FC19 for ; Mon, 23 Nov 2009 21:58:30 +0000 (UTC) Received: by bwz20 with SMTP id 20so4460386bwz.14 for ; Mon, 23 Nov 2009 13:58:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=FzuUipgjkbatN1c0Q4WOWljVULYlB/dbK91LEN6D/E0=; b=iKVesH4dnqQSTa7Fja+XoDpwT/kwHKFDtohqA2zdBT4zFmy6RxiIqBx8mmSKn8Qh9m Oc8lbKmZ1zxQbWImo4zY2WOVQRRMWqBWkip/qMdiFNjc/yUPcWCVWiWufCzAzspKj2E/ punSeTqdDiztXUDKSp3KmGZTsvVz5DOlhK3GE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=gIXSSX/5rPpSOImx60ggRahTDc4F8l5n74IZZopFOlTkeoqQ/THWuDKgXJXrH3T8EB lfmpa6RqTViYXoOWPJt3GyB14S140s4zGHK4Fr744KXvxRS5LDIrL5FiF/whqsQ+wOvU LxHNLxyFZCJpozuWkotH5K9HzbleYcfeq5zYY= Received: by 10.204.154.207 with SMTP id p15mr4865970bkw.202.1259013509559; Mon, 23 Nov 2009 13:58:29 -0800 (PST) Received: from mavbook.mavhome.dp.ua (pc.mavhome.dp.ua [212.86.226.226]) by mx.google.com with ESMTPS id 13sm1568873fxm.9.2009.11.23.13.58.28 (version=SSLv3 cipher=RC4-MD5); Mon, 23 Nov 2009 13:58:29 -0800 (PST) Sender: Alexander Motin Message-ID: <4B0B0582.2020805@FreeBSD.org> Date: Mon, 23 Nov 2009 23:58:26 +0200 From: Alexander Motin User-Agent: Thunderbird 2.0.0.23 (X11/20090901) MIME-Version: 1.0 To: Joe Greco References: <200911232150.nANLoYeO059257@aurora.sol.net> In-Reply-To: <200911232150.nANLoYeO059257@aurora.sol.net> X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-multimedia@FreeBSD.org Subject: Re: Pointers to debug lack-of-audio X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2009 21:58:31 -0000 Joe Greco wrote: >>> But that's also getting "Unable to trace" messages. >> That what you have configured still require two DACs. Only one seq=15 >> can share DAC with others. You'll have to disable one of them. > > I don't see two seq=15... am I misreading this? And it isn't clear to me > what it is that requires two DACs. There's only one outbound association, > with all the enabled outputs thrown into it. Is that supposed to work? I > do not paricularly care about headphone jack functionality (nice to have > but definitely optional)... > >> How much >> connectors do you have on case? May be some of configured nids is fake? > > Possible, I suppose. There's a blue and green line in/out on the rear. > There's a headphone and mic on the front. Those are all represented as > nid 16, 19, 20, 21. There's what appears to be a CD input on the system > board, I've been assuming that to be nid 15 / AUX. You suggest nid 17 > was the speaker. That appears to account for all non-disabled nid's. > >> Looking on codec datasheet, nid 17 is mono out, so it is a good >> candidate to be used for speaker. >> >>> Am I supposed to >>> be trying to figure this out before trying to play with gpio signals? >> Better solve all possible problems before, as there is quite large >> number of combinations. > > :-) > > So I think I'm a little lost on what is requiring two DAC's. I thought > by throwing everything in association 0, that'd put the same outputs on > everything. You have configured 4.0 channels (quadro) output with additional stereo redirection output. To handle this 4.0 setup driver needs 2 DACs. As soon as you have only one DAC, all you can setup is one stereo output with additional stereo redirection. It is impossible to make all 3 outputs work, so you should choose which one to disable. > Am I better off disabling everything and then just walking > through one nid at a time trying to establish what's what? I can do > that without toooo much pain. OK. -- Alexander Motin From owner-freebsd-multimedia@FreeBSD.ORG Wed Nov 25 16:20:13 2009 Return-Path: Delivered-To: freebsd-multimedia@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B553B106566B; Wed, 25 Nov 2009 16:20:13 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 8CA8A8FC1B; Wed, 25 Nov 2009 16:20:13 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id nAPGKDGf047498; Wed, 25 Nov 2009 16:20:13 GMT (envelope-from edwin@freefall.freebsd.org) Received: (from edwin@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id nAPGKDcC047489; Wed, 25 Nov 2009 16:20:13 GMT (envelope-from edwin) Date: Wed, 25 Nov 2009 16:20:13 GMT Message-Id: <200911251620.nAPGKDcC047489@freefall.freebsd.org> To: edwin@FreeBSD.org, freebsd-ports-bugs@FreeBSD.org, freebsd-multimedia@FreeBSD.org From: edwin@FreeBSD.org Cc: Subject: Re: ports/140865: [PATCH] multimedia/x264: update to 0.0.20091124 X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Nov 2009 16:20:13 -0000 Synopsis: [PATCH] multimedia/x264: update to 0.0.20091124 Responsible-Changed-From-To: freebsd-ports-bugs->freebsd-multimedia Responsible-Changed-By: edwin Responsible-Changed-When: Wed Nov 25 16:20:12 UTC 2009 Responsible-Changed-Why: Over to maintainer (via the GNATS Auto Assign Tool) http://www.freebsd.org/cgi/query-pr.cgi?pr=140865 From owner-freebsd-multimedia@FreeBSD.ORG Wed Nov 25 16:32:04 2009 Return-Path: Delivered-To: multimedia@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 862FE10656C1 for ; Wed, 25 Nov 2009 16:32:04 +0000 (UTC) (envelope-from gslin@colo-p.gslin.org) Received: from colo-p.gslin.org (60-199-248-145.static.tfn.net.tw [60.199.248.145]) by mx1.freebsd.org (Postfix) with ESMTP id 59D408FC25 for ; Wed, 25 Nov 2009 16:32:04 +0000 (UTC) Received: by colo-p.gslin.org (Postfix, from userid 1000) id 4F42E7E81B; Thu, 26 Nov 2009 00:14:09 +0800 (CST) To: FreeBSD-gnats-submit@freebsd.org From: Gea-Suan Lin X-send-pr-version: 3.113 X-GNATS-Notify: Message-Id: <20091125161409.4F42E7E81B@colo-p.gslin.org> Date: Thu, 26 Nov 2009 00:14:09 +0800 (CST) Cc: gslin@gslin.org, multimedia@FreeBSD.org Subject: [PATCH] multimedia/x264: update to 0.0.20091124 X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Nov 2009 16:32:04 -0000 >Submitter-Id: current-users >Originator: Gea-Suan Lin >Organization: >Confidential: no >Synopsis: [PATCH] multimedia/x264: update to 0.0.20091124 >Severity: non-critical >Priority: low >Category: ports >Class: update >Release: FreeBSD 7.2-RELEASE-p3 i386 >Environment: System: FreeBSD colo-p.gslin.org 7.2-RELEASE-p3 FreeBSD 7.2-RELEASE-p3 #0: Sat Aug 22 10:48:39 CST 2009 >Description: - Update to 0.0.20091124 Port maintainer (multimedia@FreeBSD.org) is cc'd. Generated with FreeBSD Port Tools 0.99 >How-To-Repeat: >Fix: --- x264-0.0.20091124.patch begins here --- diff -ruN --exclude=CVS /usr/ports/multimedia/x264/Makefile /home/staff/gslin/work/ports/x264/Makefile --- /usr/ports/multimedia/x264/Makefile 2009-11-23 04:28:29.000000000 +0800 +++ /home/staff/gslin/work/ports/x264/Makefile 2009-11-26 00:13:16.000000000 +0800 @@ -6,7 +6,7 @@ # $Id: Makefile 30 2006-10-30 22:15:26Z buhnux $ PORTNAME= x264 -PORTVERSION= 0.0.20081218 +PORTVERSION= 0.0.20091124 CATEGORIES= multimedia MASTER_SITES= http://downloads.videolan.org/pub/videolan/x264/snapshots/ \ http://samples.mplayerhq.hu/yuv4mpeg2/:pgo @@ -16,7 +16,7 @@ EXTRACT_ONLY= ${PORTNAME}-snapshot-${PORTVERSION:S/0.0.//}-2245${EXTRACT_SUFX} MAINTAINER= multimedia@FreeBSD.org -COMMENT?= Multimedia library and tool for encoding H.264/AVC video streams +COMMENT= Multimedia library and tool for encoding H.264/AVC video streams BUILD_DEPENDS= yasm>=0.6.0:${PORTSDIR}/devel/yasm @@ -36,7 +36,7 @@ CONFIGURE_ARGS+= --extra-cflags="${CPPFLAGS} ${CFLAGS} -fPIC -I${LOCALBASE}/include -I${LOCALBASE}/include" \ --extra-ldflags="${LDFLAGS} -L${LOCALBASE}/lib -L${LOCALBASE}/lib" \ - --enable-shared + --enable-shared --disable-asm .include diff -ruN --exclude=CVS /usr/ports/multimedia/x264/distinfo /home/staff/gslin/work/ports/x264/distinfo --- /usr/ports/multimedia/x264/distinfo 2009-04-01 03:53:07.000000000 +0800 +++ /home/staff/gslin/work/ports/x264/distinfo 2009-11-26 00:03:47.000000000 +0800 @@ -1,6 +1,3 @@ -MD5 (x264/x264-snapshot-20081218-2245.tar.bz2) = a5034835110bf3302539648323c73517 -SHA256 (x264/x264-snapshot-20081218-2245.tar.bz2) = 729fbdd18d4e84980fb8533cdf60379f86728e950277370c226486d2a7857167 -SIZE (x264/x264-snapshot-20081218-2245.tar.bz2) = 2336724 -MD5 (x264/example.y4m.bz2) = e0948016cd4a52e75d6a74d998bd6ae6 -SHA256 (x264/example.y4m.bz2) = a5bec9d37362bd9d7773fbd0644643f9ec096d654d20823004e88d5df32bbff7 -SIZE (x264/example.y4m.bz2) = 4910029 +MD5 (x264/x264-snapshot-20091124-2245.tar.bz2) = 1b67c69c1a6456e3101d9be7ad2cdbdf +SHA256 (x264/x264-snapshot-20091124-2245.tar.bz2) = c7e25b7c1e49c73ed2c0e51e5f35ec0d881bf5b3886c38c74fe5932510e4ce83 +SIZE (x264/x264-snapshot-20091124-2245.tar.bz2) = 375385 diff -ruN --exclude=CVS /usr/ports/multimedia/x264/pkg-plist /home/staff/gslin/work/ports/x264/pkg-plist --- /usr/ports/multimedia/x264/pkg-plist 2009-03-31 21:58:17.000000000 +0800 +++ /home/staff/gslin/work/ports/x264/pkg-plist 2009-11-26 00:09:26.000000000 +0800 @@ -1,6 +1,7 @@ +@comment $FreeBSD$ bin/x264 include/x264.h lib/libx264.a lib/libx264.so -lib/libx264.so.65 +lib/libx264.so.79 libdata/pkgconfig/x264.pc --- x264-0.0.20091124.patch ends here --- From owner-freebsd-multimedia@FreeBSD.ORG Wed Nov 25 19:56:12 2009 Return-Path: Delivered-To: multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4C87106568B for ; Wed, 25 Nov 2009 19:56:12 +0000 (UTC) (envelope-from morganw@chemikals.org) Received: from warped.bluecherry.net (unknown [IPv6:2001:440:eeee:fffb::2]) by mx1.freebsd.org (Postfix) with ESMTP id 61C5D8FC17 for ; Wed, 25 Nov 2009 19:56:12 +0000 (UTC) Received: from volatile.chemikals.org (adsl-67-221-140.shv.bellsouth.net [98.67.221.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by warped.bluecherry.net (Postfix) with ESMTPSA id 4A92798AB615; Wed, 25 Nov 2009 13:56:11 -0600 (CST) Received: from localhost (morganw@localhost [127.0.0.1]) by volatile.chemikals.org (8.14.3/8.14.3) with ESMTP id nAPJu6mi065867; Wed, 25 Nov 2009 13:56:07 -0600 (CST) (envelope-from morganw@chemikals.org) Date: Wed, 25 Nov 2009 13:56:06 -0600 (CST) From: Wes Morgan To: Gea-Suan Lin In-Reply-To: <20091125161409.4F42E7E81B@colo-p.gslin.org> Message-ID: References: <20091125161409.4F42E7E81B@colo-p.gslin.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII X-Virus-Scanned: clamav-milter 0.95.2 at warped X-Virus-Status: Clean Cc: multimedia@freebsd.org Subject: Re: [PATCH] multimedia/x264: update to 0.0.20091124 X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Nov 2009 19:56:13 -0000 On Thu, 26 Nov 2009, Gea-Suan Lin wrote: > >> Submitter-Id: current-users >> Originator: Gea-Suan Lin >> Organization: >> Confidential: no >> Synopsis: [PATCH] multimedia/x264: update to 0.0.20091124 >> Severity: non-critical >> Priority: low >> Category: ports >> Class: update >> Release: FreeBSD 7.2-RELEASE-p3 i386 >> Environment: > System: FreeBSD colo-p.gslin.org 7.2-RELEASE-p3 FreeBSD 7.2-RELEASE-p3 #0: Sat Aug 22 10:48:39 CST 2009 >> Description: > - Update to 0.0.20091124 > > Port maintainer (multimedia@FreeBSD.org) is cc'd. > > Generated with FreeBSD Port Tools 0.99 >> How-To-Repeat: >> Fix: > > --- x264-0.0.20091124.patch begins here --- > diff -ruN --exclude=CVS /usr/ports/multimedia/x264/Makefile /home/staff/gslin/work/ports/x264/Makefile > --- /usr/ports/multimedia/x264/Makefile 2009-11-23 04:28:29.000000000 +0800 > +++ /home/staff/gslin/work/ports/x264/Makefile 2009-11-26 00:13:16.000000000 +0800 > @@ -6,7 +6,7 @@ > # $Id: Makefile 30 2006-10-30 22:15:26Z buhnux $ > > PORTNAME= x264 > -PORTVERSION= 0.0.20081218 > +PORTVERSION= 0.0.20091124 > CATEGORIES= multimedia > MASTER_SITES= http://downloads.videolan.org/pub/videolan/x264/snapshots/ \ > http://samples.mplayerhq.hu/yuv4mpeg2/:pgo > @@ -16,7 +16,7 @@ > EXTRACT_ONLY= ${PORTNAME}-snapshot-${PORTVERSION:S/0.0.//}-2245${EXTRACT_SUFX} > > MAINTAINER= multimedia@FreeBSD.org > -COMMENT?= Multimedia library and tool for encoding H.264/AVC video streams > +COMMENT= Multimedia library and tool for encoding H.264/AVC video streams > > BUILD_DEPENDS= yasm>=0.6.0:${PORTSDIR}/devel/yasm > > @@ -36,7 +36,7 @@ > > CONFIGURE_ARGS+= --extra-cflags="${CPPFLAGS} ${CFLAGS} -fPIC -I${LOCALBASE}/include -I${LOCALBASE}/include" \ > --extra-ldflags="${LDFLAGS} -L${LOCALBASE}/lib -L${LOCALBASE}/lib" \ > - --enable-shared > + --enable-shared --disable-asm I'm pretty certain that this will not work on amd64. The gcc internal "log2f" function won't be picked up. See this email for a fix: http://lists.freebsd.org/pipermail/freebsd-multimedia/2009-March/009819.html Would it also be possible to add knobs for enabling the internal assembler and adding dependencies on both binutils and gcc 4.4 from ports? I've been using a snapshot built this way for about 2 weeks now doing some pretty heavy encoding and have no problems other than the log2f patch. From owner-freebsd-multimedia@FreeBSD.ORG Fri Nov 27 03:11:48 2009 Return-Path: Delivered-To: multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 05F74106566C for ; Fri, 27 Nov 2009 03:11:48 +0000 (UTC) (envelope-from gslin@colo-p.gslin.org) Received: from colo-p.gslin.org (60-199-248-145.static.tfn.net.tw [60.199.248.145]) by mx1.freebsd.org (Postfix) with ESMTP id CA5608FC0A for ; Fri, 27 Nov 2009 03:11:47 +0000 (UTC) Received: by colo-p.gslin.org (Postfix, from userid 1000) id 944187E81B; Fri, 27 Nov 2009 11:11:44 +0800 (CST) Date: Fri, 27 Nov 2009 11:11:44 +0800 From: Gea-Suan Lin To: Wes Morgan Message-ID: <20091127031144.GA53564@gslin.org> References: <20091125161409.4F42E7E81B@colo-p.gslin.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Cc: gslin@gslin.org, multimedia@freebsd.org Subject: Re: [PATCH] multimedia/x264: update to 0.0.20091124 X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Nov 2009 03:11:48 -0000 Thanks for the url. I've used another approach that define log2f(x) = (log(x) / M_LN2) when log2f not defined, this way will be much simple. Please check http://colo-p.gslin.org/~gslin/tmp/x264.shar this version. On Wed, Nov 25, 2009 at 01:56:06PM -0600, Wes Morgan wrote: > On Thu, 26 Nov 2009, Gea-Suan Lin wrote: > > > > >> Submitter-Id: current-users > >> Originator: Gea-Suan Lin > >> Organization: > >> Confidential: no > >> Synopsis: [PATCH] multimedia/x264: update to 0.0.20091124 > >> Severity: non-critical > >> Priority: low > >> Category: ports > >> Class: update > >> Release: FreeBSD 7.2-RELEASE-p3 i386 > >> Environment: > > System: FreeBSD colo-p.gslin.org 7.2-RELEASE-p3 FreeBSD 7.2-RELEASE-p3 #0: Sat Aug 22 10:48:39 CST 2009 > >> Description: > > - Update to 0.0.20091124 > > > > Port maintainer (multimedia@FreeBSD.org) is cc'd. > > > > Generated with FreeBSD Port Tools 0.99 > >> How-To-Repeat: > >> Fix: > > > > --- x264-0.0.20091124.patch begins here --- > > diff -ruN --exclude=CVS /usr/ports/multimedia/x264/Makefile /home/staff/gslin/work/ports/x264/Makefile > > --- /usr/ports/multimedia/x264/Makefile 2009-11-23 04:28:29.000000000 +0800 > > +++ /home/staff/gslin/work/ports/x264/Makefile 2009-11-26 00:13:16.000000000 +0800 > > @@ -6,7 +6,7 @@ > > # $Id: Makefile 30 2006-10-30 22:15:26Z buhnux $ > > > > PORTNAME= x264 > > -PORTVERSION= 0.0.20081218 > > +PORTVERSION= 0.0.20091124 > > CATEGORIES= multimedia > > MASTER_SITES= http://downloads.videolan.org/pub/videolan/x264/snapshots/ \ > > http://samples.mplayerhq.hu/yuv4mpeg2/:pgo > > @@ -16,7 +16,7 @@ > > EXTRACT_ONLY= ${PORTNAME}-snapshot-${PORTVERSION:S/0.0.//}-2245${EXTRACT_SUFX} > > > > MAINTAINER= multimedia@FreeBSD.org > > -COMMENT?= Multimedia library and tool for encoding H.264/AVC video streams > > +COMMENT= Multimedia library and tool for encoding H.264/AVC video streams > > > > BUILD_DEPENDS= yasm>=0.6.0:${PORTSDIR}/devel/yasm > > > > @@ -36,7 +36,7 @@ > > > > CONFIGURE_ARGS+= --extra-cflags="${CPPFLAGS} ${CFLAGS} -fPIC -I${LOCALBASE}/include -I${LOCALBASE}/include" \ > > --extra-ldflags="${LDFLAGS} -L${LOCALBASE}/lib -L${LOCALBASE}/lib" \ > > - --enable-shared > > + --enable-shared --disable-asm > > I'm pretty certain that this will not work on amd64. The gcc internal > "log2f" function won't be picked up. See this email for a fix: > > http://lists.freebsd.org/pipermail/freebsd-multimedia/2009-March/009819.html > > Would it also be possible to add knobs for enabling the internal assembler > and adding dependencies on both binutils and gcc 4.4 from ports? I've been > using a snapshot built this way for about 2 weeks now doing some pretty > heavy encoding and have no problems other than the log2f patch. -- * Gea-Suan Lin (public key: Using https://keyserver.pgp.com/ to search) * If you cannot convince them, confuse them. -- Harry S Truman From owner-freebsd-multimedia@FreeBSD.ORG Fri Nov 27 03:33:37 2009 Return-Path: Delivered-To: multimedia@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3AB761065676; Fri, 27 Nov 2009 03:33:37 +0000 (UTC) (envelope-from gslin@colo-p.gslin.org) Received: from colo-p.gslin.org (60-199-248-145.static.tfn.net.tw [60.199.248.145]) by mx1.freebsd.org (Postfix) with ESMTP id CBDB38FC08; Fri, 27 Nov 2009 03:33:36 +0000 (UTC) Received: by colo-p.gslin.org (Postfix, from userid 1000) id 968757E81B; Fri, 27 Nov 2009 11:33:34 +0800 (CST) To: FreeBSD-gnats-submit@freebsd.org From: Gea-Suan Lin X-send-pr-version: 3.113 X-GNATS-Notify: Message-Id: <20091127033334.968757E81B@colo-p.gslin.org> Date: Fri, 27 Nov 2009 11:33:34 +0800 (CST) Cc: gslin@gslin.org, multimedia@FreeBSD.org Subject: [PATCH] multimedia/libtheora: update to 1.1.1 X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Nov 2009 03:33:37 -0000 >Submitter-Id: current-users >Originator: Gea-Suan Lin >Organization: >Confidential: no >Synopsis: [PATCH] multimedia/libtheora: update to 1.1.1 >Severity: non-critical >Priority: low >Category: ports >Class: update >Release: FreeBSD 7.2-RELEASE-p3 i386 >Environment: System: FreeBSD colo-p.gslin.org 7.2-RELEASE-p3 FreeBSD 7.2-RELEASE-p3 #0: Sat Aug 22 10:48:39 CST 2009 >Description: - Update to 1.1.1 Removed file(s): - files/patch-issue1515 Port maintainer (multimedia@FreeBSD.org) is cc'd. Generated with FreeBSD Port Tools 0.99 >How-To-Repeat: >Fix: --- libtheora-1.1.1.patch begins here --- diff -ruN --exclude=CVS /usr/ports/multimedia/libtheora/Makefile /home/staff/gslin/work/ports/libtheora/Makefile --- /usr/ports/multimedia/libtheora/Makefile 2009-08-03 03:34:50.000000000 +0800 +++ /home/staff/gslin/work/ports/libtheora/Makefile 2009-11-27 11:31:49.000000000 +0800 @@ -6,8 +6,7 @@ # PORTNAME= libtheora -PORTVERSION= 1.0 -PORTREVISION= 1 +PORTVERSION= 1.1.1 CATEGORIES= multimedia MASTER_SITES= http://downloads.xiph.org/releases/theora/ \ http://distfiles.master.finkmirrors.net/ @@ -15,7 +14,8 @@ MAINTAINER= multimedia@FreeBSD.org COMMENT= Theora video codec for the Ogg multimedia streaming system -LIB_DEPENDS= vorbis.4:${PORTSDIR}/audio/libvorbis +LIB_DEPENDS= ogg:${PORTSDIR}/audio/libogg \ + vorbis:${PORTSDIR}/audio/libvorbis USE_BZIP2= yes USE_LDCONFIG= yes @@ -29,8 +29,14 @@ --enable-shared \ --disable-examples +.include + +.if ${ARCH} != "i386" +CONFIGURE_ARGS+= --disable-asm +.endif + post-patch: @${REINPLACE_CMD} -e 's|doc||g' ${WRKSRC}/Makefile.in @${REINPLACE_CMD} -e 's, x86_64), x86_64|amd64),' ${WRKSRC}/configure -.include +.include diff -ruN --exclude=CVS /usr/ports/multimedia/libtheora/distinfo /home/staff/gslin/work/ports/libtheora/distinfo --- /usr/ports/multimedia/libtheora/distinfo 2009-03-31 06:10:53.000000000 +0800 +++ /home/staff/gslin/work/ports/libtheora/distinfo 2009-11-27 11:22:57.000000000 +0800 @@ -1,3 +1,3 @@ -MD5 (libtheora-1.0.tar.bz2) = c963937053f45a7878954bed37ceb182 -SHA256 (libtheora-1.0.tar.bz2) = 3ae9df56e8fc75ffe26e63a13cae2ce79d079416175fb0baffe0e2de8dc91a6d -SIZE (libtheora-1.0.tar.bz2) = 1652987 +MD5 (libtheora-1.1.1.tar.bz2) = 292ab65cedd5021d6b7ddd117e07cd8e +SHA256 (libtheora-1.1.1.tar.bz2) = b6ae1ee2fa3d42ac489287d3ec34c5885730b1296f0801ae577a35193d3affbc +SIZE (libtheora-1.1.1.tar.bz2) = 1903175 diff -ruN --exclude=CVS /usr/ports/multimedia/libtheora/files/patch-Makefile.in /home/staff/gslin/work/ports/libtheora/files/patch-Makefile.in --- /usr/ports/multimedia/libtheora/files/patch-Makefile.in 2009-03-31 06:10:53.000000000 +0800 +++ /home/staff/gslin/work/ports/libtheora/files/patch-Makefile.in 2009-11-27 11:25:45.000000000 +0800 @@ -1,20 +1,20 @@ ---- Makefile.in.orig 2008-10-29 11:36:48.000000000 +0100 -+++ Makefile.in 2009-02-25 03:35:59.886902862 +0100 -@@ -80,7 +80,7 @@ - DATA = $(pkgconfig_DATA) - ETAGS = etags - CTAGS = ctags --DIST_SUBDIRS = lib include doc tests m4 examples -+DIST_SUBDIRS = lib include m4 - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - distdir = $(PACKAGE)-$(VERSION) - top_distdir = $(distdir) -@@ -274,7 +274,7 @@ - libtheora.spec libtheora.spec.in \ +--- Makefile.in.orig 2009-11-27 11:25:03.000000000 +0800 ++++ Makefile.in 2009-11-27 11:25:30.000000000 +0800 +@@ -177,7 +177,7 @@ theora-uninstalled.pc.in + -pkgconfigdir = $(libdir)/pkgconfig -+pkgconfigdir = $(prefix)/libdata/pkgconfig ++pkgconfigdir = $(libdir)/libdata/pkgconfig pkgconfig_DATA = theora.pc theoradec.pc theoraenc.pc + subdir = . + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +@@ -200,7 +200,7 @@ + missing mkinstalldirs theora-uninstalled.pc.in theora.pc.in \ + theoradec-uninstalled.pc.in theoradec.pc.in \ + theoraenc-uninstalled.pc.in theoraenc.pc.in +-DIST_SUBDIRS = lib include doc tests m4 examples ++DIST_SUBDIRS = lib include m4 all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive + diff -ruN --exclude=CVS /usr/ports/multimedia/libtheora/files/patch-issue1515 /home/staff/gslin/work/ports/libtheora/files/patch-issue1515 --- /usr/ports/multimedia/libtheora/files/patch-issue1515 2009-03-31 06:10:53.000000000 +0800 +++ /home/staff/gslin/work/ports/libtheora/files/patch-issue1515 1970-01-01 08:00:00.000000000 +0800 @@ -1,64 +0,0 @@ -diff -ru lib/enc.orig/encode.c lib/enc/encode.c ---- lib/enc.orig/encode.c 2009-02-25 00:37:51.868139315 +0100 -+++ lib/enc/encode.c 2009-02-25 00:23:45.582743808 +0100 -@@ -934,7 +934,7 @@ - ogg_uint32_t SBRows, - ogg_uint32_t SBCols){ - -- ogg_int32_t FragIndex; /* Fragment number */ -+ ogg_int32_t FragIndex, FirstFragIndex; /* Fragment number */ - ogg_uint32_t MB, B; /* Macro-Block, Block indices */ - ogg_uint32_t SBrow; /* Super-Block row number */ - ogg_uint32_t SBcol; /* Super-Block row number */ -@@ -953,19 +953,20 @@ - /* There may be MB's lying out of frame which must be - ignored. For these MB's Top left block will have a negative - Fragment Index. */ -- if ( QuadMapToMBTopLeft(cpi->pb.BlockMap,SB,MB) >= 0 ) { -+ if ( (FirstFragIndex = QuadMapToMBTopLeft(cpi->pb.BlockMap,SB,MB)) >= 0 ) { - - cpi->MBCodingMode = CODE_INTRA; - - /* Now actually code the blocks. */ - for ( B=0; B<4; B++ ) { - FragIndex = QuadMapToIndex1( cpi->pb.BlockMap, SB, MB, B ); -- cpi->pb.FragCodingMethod[FragIndex] = cpi->MBCodingMode; -+ if (FragIndex >= 0) -+ cpi->pb.FragCodingMethod[FragIndex] = cpi->MBCodingMode; - } - - /* Matching fragments in the U and V planes */ -- UVRow = (FragIndex / (cpi->pb.HFragments * 2)); -- UVColumn = (FragIndex % cpi->pb.HFragments) / 2; -+ UVRow = (FirstFragIndex / (cpi->pb.HFragments * 2)); -+ UVColumn = (FirstFragIndex % cpi->pb.HFragments) / 2; - UVFragOffset = (UVRow * (cpi->pb.HFragments / 2)) + UVColumn; - - cpi->pb.FragCodingMethod[cpi->pb.YPlaneFragments + UVFragOffset] = -Only in lib/enc: encode.c.orig -diff -ru lib/enc.orig/misc_common.c lib/enc/misc_common.c ---- lib/enc.orig/misc_common.c 2009-02-25 00:37:51.865139234 +0100 -+++ lib/enc/misc_common.c 2009-02-25 00:51:20.362286530 +0100 -@@ -87,14 +87,14 @@ - if ( QuadMapToMBTopLeft(cpi->pb.BlockMap, SB, MB ) >= 0 ) { - /* Up regulate the component blocks Y then UV. */ - for ( B=0; B<4; B++ ){ -- FragIndex = QuadMapToIndex1( cpi->pb.BlockMap, SB, MB, B ); -- -- if ( ( !cpi->pb.display_fragments[FragIndex] ) && -- ( (NoCheck) || (cpi->FragmentLastQ[FragIndex] > RegulationQ) ) ){ -- cpi->pb.display_fragments[FragIndex] = 1; -- cpi->extra_fragments[FragIndex] = 1; -- cpi->FragmentLastQ[FragIndex] = RegulationQ; -- cpi->MotionScore++; -+ if ((FragIndex = QuadMapToIndex1( cpi->pb.BlockMap, SB, MB, B )) >= 0) { -+ if ( ( !cpi->pb.display_fragments[FragIndex] ) && -+ ( (NoCheck) || (cpi->FragmentLastQ[FragIndex] > RegulationQ) ) ){ -+ cpi->pb.display_fragments[FragIndex] = 1; -+ cpi->extra_fragments[FragIndex] = 1; -+ cpi->FragmentLastQ[FragIndex] = RegulationQ; -+ cpi->MotionScore++; -+ } - } - } - diff -ruN --exclude=CVS /usr/ports/multimedia/libtheora/pkg-plist /home/staff/gslin/work/ports/libtheora/pkg-plist --- /usr/ports/multimedia/libtheora/pkg-plist 2009-03-31 06:10:53.000000000 +0800 +++ /home/staff/gslin/work/ports/libtheora/pkg-plist 2009-11-27 11:28:28.000000000 +0800 @@ -1,20 +1,23 @@ -include/theora/theora.h +@comment $FreeBSD$ include/theora/codec.h -include/theora/theoraenc.h +include/theora/theora.h include/theora/theoradec.h +include/theora/theoraenc.h +lib/libdata/pkgconfig/theora.pc +lib/libdata/pkgconfig/theoradec.pc +lib/libdata/pkgconfig/theoraenc.pc lib/libtheora.a lib/libtheora.la lib/libtheora.so lib/libtheora.so.0 -lib/libtheoraenc.a -lib/libtheoraenc.la -lib/libtheoraenc.so -lib/libtheoraenc.so.1 lib/libtheoradec.a lib/libtheoradec.la lib/libtheoradec.so lib/libtheoradec.so.1 -libdata/pkgconfig/theora.pc -libdata/pkgconfig/theoraenc.pc -libdata/pkgconfig/theoradec.pc -@dirrm include/theora +lib/libtheoraenc.a +lib/libtheoraenc.la +lib/libtheoraenc.so +lib/libtheoraenc.so.1 +@dirrmtry lib/libdata/pkgconfig +@dirrmtry lib/libdata +@dirrmtry include/theora --- libtheora-1.1.1.patch ends here --- From owner-freebsd-multimedia@FreeBSD.ORG Fri Nov 27 03:40:18 2009 Return-Path: Delivered-To: freebsd-multimedia@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A8B881065696; Fri, 27 Nov 2009 03:40:18 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 80C068FC1F; Fri, 27 Nov 2009 03:40:18 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id nAR3eI5e069538; Fri, 27 Nov 2009 03:40:18 GMT (envelope-from edwin@freefall.freebsd.org) Received: (from edwin@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id nAR3eIax069534; Fri, 27 Nov 2009 03:40:18 GMT (envelope-from edwin) Date: Fri, 27 Nov 2009 03:40:18 GMT Message-Id: <200911270340.nAR3eIax069534@freefall.freebsd.org> To: edwin@FreeBSD.org, freebsd-ports-bugs@FreeBSD.org, freebsd-multimedia@FreeBSD.org From: edwin@FreeBSD.org Cc: Subject: Re: ports/140919: [PATCH] multimedia/libtheora: update to 1.1.1 X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Nov 2009 03:40:18 -0000 Synopsis: [PATCH] multimedia/libtheora: update to 1.1.1 Responsible-Changed-From-To: freebsd-ports-bugs->freebsd-multimedia Responsible-Changed-By: edwin Responsible-Changed-When: Fri Nov 27 03:40:18 UTC 2009 Responsible-Changed-Why: Over to maintainer (via the GNATS Auto Assign Tool) http://www.freebsd.org/cgi/query-pr.cgi?pr=140919 From owner-freebsd-multimedia@FreeBSD.ORG Fri Nov 27 23:10:02 2009 Return-Path: Delivered-To: freebsd-multimedia@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 71BBF1065676 for ; Fri, 27 Nov 2009 23:10:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 477BD8FC14 for ; Fri, 27 Nov 2009 23:10:02 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id nARNA2PG001796 for ; Fri, 27 Nov 2009 23:10:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id nARNA2xg001795; Fri, 27 Nov 2009 23:10:02 GMT (envelope-from gnats) Date: Fri, 27 Nov 2009 23:10:02 GMT Message-Id: <200911272310.nARNA2xg001795@freefall.freebsd.org> To: freebsd-multimedia@FreeBSD.org From: Lars Hecking Cc: Subject: Re: kern/134767: [snd_hda] Sigmatel STAC9205X no sound under RELENG_7_2_0_RELEASE [regression] X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Lars Hecking List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Nov 2009 23:10:02 -0000 The following reply was made to PR kern/134767; it has been noted by GNATS. From: Lars Hecking To: bug-followup@FreeBSD.org, lhecking@users.sourceforge.net Cc: Subject: Re: kern/134767: [snd_hda] Sigmatel STAC9205X no sound under RELENG_7_2_0_RELEASE [regression] Date: Fri, 27 Nov 2009 23:07:34 +0000 Back to square one. The problem persists in FreeBSD 8.0, and comparing the code with 7.x, I don't think my workaround from 7.2 will work. From owner-freebsd-multimedia@FreeBSD.ORG Sat Nov 28 06:22:03 2009 Return-Path: Delivered-To: multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C9617106566B for ; Sat, 28 Nov 2009 06:22:03 +0000 (UTC) (envelope-from morganw@chemikals.org) Received: from warped.bluecherry.net (unknown [IPv6:2001:440:eeee:fffb::2]) by mx1.freebsd.org (Postfix) with ESMTP id 022CA8FC0C for ; Sat, 28 Nov 2009 06:22:02 +0000 (UTC) Received: from volatile.chemikals.org (adsl-67-211-219.shv.bellsouth.net [98.67.211.219]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by warped.bluecherry.net (Postfix) with ESMTPSA id AE72498AB63E; Sat, 28 Nov 2009 00:22:01 -0600 (CST) Received: from localhost (morganw@localhost [127.0.0.1]) by volatile.chemikals.org (8.14.3/8.14.3) with ESMTP id nAS6Lvrs010979; Sat, 28 Nov 2009 00:21:58 -0600 (CST) (envelope-from morganw@chemikals.org) Date: Sat, 28 Nov 2009 00:21:57 -0600 (CST) From: Wes Morgan To: Gea-Suan Lin In-Reply-To: <20091127031144.GA53564@gslin.org> Message-ID: References: <20091125161409.4F42E7E81B@colo-p.gslin.org> <20091127031144.GA53564@gslin.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Scanned: clamav-milter 0.95.2 at warped X-Virus-Status: Clean Cc: multimedia@freebsd.org Subject: Re: [PATCH] multimedia/x264: update to 0.0.20091124 X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Nov 2009 06:22:04 -0000 On Fri, 27 Nov 2009, Gea-Suan Lin wrote: > Thanks for the url. I've used another approach that define > log2f(x) = (log(x) / M_LN2) when log2f not defined, this way will be > much simple. > > Please check http://colo-p.gslin.org/~gslin/tmp/x264.shar this version. I'll give it a test run. I tried simply changing the log base before with just the actualy value in the file (wasn't aware of M_LN2) and I got some strange floating point errors in x264. May have been something else wrong, though. Also, if I build with gcc44 and enable assembly, I get 3-4x the encoding speed. As a side effect, the stack protection must also be disabled. Just a thought! > On Wed, Nov 25, 2009 at 01:56:06PM -0600, Wes Morgan wrote: >> On Thu, 26 Nov 2009, Gea-Suan Lin wrote: >> >>> >>>> Submitter-Id: current-users >>>> Originator: Gea-Suan Lin >>>> Organization: >>>> Confidential: no >>>> Synopsis: [PATCH] multimedia/x264: update to 0.0.20091124 >>>> Severity: non-critical >>>> Priority: low >>>> Category: ports >>>> Class: update >>>> Release: FreeBSD 7.2-RELEASE-p3 i386 >>>> Environment: >>> System: FreeBSD colo-p.gslin.org 7.2-RELEASE-p3 FreeBSD 7.2-RELEASE-p3 #0: Sat Aug 22 10:48:39 CST 2009 >>>> Description: >>> - Update to 0.0.20091124 >>> >>> Port maintainer (multimedia@FreeBSD.org) is cc'd. >>> >>> Generated with FreeBSD Port Tools 0.99 >>>> How-To-Repeat: >>>> Fix: >>> >>> --- x264-0.0.20091124.patch begins here --- >>> diff -ruN --exclude=CVS /usr/ports/multimedia/x264/Makefile /home/staff/gslin/work/ports/x264/Makefile >>> --- /usr/ports/multimedia/x264/Makefile 2009-11-23 04:28:29.000000000 +0800 >>> +++ /home/staff/gslin/work/ports/x264/Makefile 2009-11-26 00:13:16.000000000 +0800 >>> @@ -6,7 +6,7 @@ >>> # $Id: Makefile 30 2006-10-30 22:15:26Z buhnux $ >>> >>> PORTNAME= x264 >>> -PORTVERSION= 0.0.20081218 >>> +PORTVERSION= 0.0.20091124 >>> CATEGORIES= multimedia >>> MASTER_SITES= http://downloads.videolan.org/pub/videolan/x264/snapshots/ \ >>> http://samples.mplayerhq.hu/yuv4mpeg2/:pgo >>> @@ -16,7 +16,7 @@ >>> EXTRACT_ONLY= ${PORTNAME}-snapshot-${PORTVERSION:S/0.0.//}-2245${EXTRACT_SUFX} >>> >>> MAINTAINER= multimedia@FreeBSD.org >>> -COMMENT?= Multimedia library and tool for encoding H.264/AVC video streams >>> +COMMENT= Multimedia library and tool for encoding H.264/AVC video streams >>> >>> BUILD_DEPENDS= yasm>=0.6.0:${PORTSDIR}/devel/yasm >>> >>> @@ -36,7 +36,7 @@ >>> >>> CONFIGURE_ARGS+= --extra-cflags="${CPPFLAGS} ${CFLAGS} -fPIC -I${LOCALBASE}/include -I${LOCALBASE}/include" \ >>> --extra-ldflags="${LDFLAGS} -L${LOCALBASE}/lib -L${LOCALBASE}/lib" \ >>> - --enable-shared >>> + --enable-shared --disable-asm >> >> I'm pretty certain that this will not work on amd64. The gcc internal >> "log2f" function won't be picked up. See this email for a fix: >> >> http://lists.freebsd.org/pipermail/freebsd-multimedia/2009-March/009819.html >> >> Would it also be possible to add knobs for enabling the internal assembler >> and adding dependencies on both binutils and gcc 4.4 from ports? I've been >> using a snapshot built this way for about 2 weeks now doing some pretty >> heavy encoding and have no problems other than the log2f patch. > > From owner-freebsd-multimedia@FreeBSD.ORG Sat Nov 28 12:08:28 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 395161065670 for ; Sat, 28 Nov 2009 12:08:28 +0000 (UTC) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from bgo1smout1.broadpark.no (bgo1smout1.broadpark.no [217.13.4.94]) by mx1.freebsd.org (Postfix) with ESMTP id E9A9B8FC15 for ; Sat, 28 Nov 2009 12:08:27 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; charset=US-ASCII Received: from bgo1sminn1.broadpark.no ([217.13.4.93]) by bgo1smout1.broadpark.no (Sun Java(tm) System Messaging Server 6.3-3.01 (built Jul 12 2007; 32bit)) with ESMTP id <0KTT001HZJ23LDF0@bgo1smout1.broadpark.no> for freebsd-multimedia@freebsd.org; Sat, 28 Nov 2009 13:08:27 +0100 (CET) Received: from kg-v2.kg4.no ([80.203.92.186]) by bgo1sminn1.broadpark.no (Sun Java(tm) System Messaging Server 6.3-3.01 (built Jul 12 2007; 32bit)) with SMTP id <0KTT00NAXJ224TV3@bgo1sminn1.broadpark.no> for freebsd-multimedia@freebsd.org; Sat, 28 Nov 2009 13:08:27 +0100 (CET) Date: Sat, 28 Nov 2009 13:08:26 +0100 From: Torfinn Ingolfsen To: freebsd-multimedia@freebsd.org Message-id: <20091128130826.604263c6.torfinn.ingolfsen@broadpark.no> In-reply-to: <2b3562edb67496f3814c8ba8b45f23b9.squirrel@webmail.itac.at> References: <2b3562edb67496f3814c8ba8b45f23b9.squirrel@webmail.itac.at> X-Mailer: Sylpheed 2.7.1 (GTK+ 2.16.6; amd64-portbld-freebsd7.2) X-Face: "t9w2,-X@O^I`jVW\sonI3.,36KBLZE*AL[y9lL[PyFD*r_S:dIL9c[8Y>V42R0"!"yb_zN,f#%.[PYYNq; m"_0v; ~rUM2Yy!zmkh)3&U|u!=T(zyv,MHJv"nDH>OJ`t(@mil461d_B'Uo|'nMwlKe0Mv=kvV?Nh@>Hb<3s_z2jYgZhPb@?Wi^x1a~Hplz1.zH Subject: Re: Call for Testers: MythTV 0.22 (Trial 2) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Nov 2009 12:08:28 -0000 On Mon, 23 Nov 2009 12:45:03 +0100 (CET) Bernhard Froehlich wrote: > There were some problems with the first call for testers but that > compile problems should be fixed now and x11 and ivtv should be > working. FWIW, this happens when I 'make deinstall' /yes, every time): root@kg-quiet# make deinstall ===> Deinstalling for multimedia/mythtv ===> Deinstalling mythtv-0.22 pkg_delete: unable to completely remove directory '/usr/local/include/mythtv/libmythui' pkg_delete: unable to completely remove directory '/usr/local/include/mythtv' pkg_delete: couldn't entirely delete package (perhaps the packing list is incorrectly specified?) Perhaps worth looking into when the port is fixed. -- Regards, Torfinn Ingolfsen