Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Sep 2013 07:00:01 GMT
From:      Scot Hetzel <swhetzel@gmail.com>
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   Re: ports/182283: audio/akode*: Fix build with Clang and newer versions of GCC
Message-ID:  <201309260700.r8Q701q4020506@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/182283; it has been noted by GNATS.

From: Scot Hetzel <swhetzel@gmail.com>
To: bug-followup@freebsd.org
Cc:  
Subject: Re: ports/182283: audio/akode*: Fix build with Clang and newer
 versions of GCC
Date: Thu, 26 Sep 2013 01:53:12 -0500

 --047d7bdc9a48daa03204e743d276
 Content-Type: text/plain; charset=ISO-8859-1
 
 Here is the final patch:
 
 - Fix build with clang by avoiding shadowing in template definitions
 (Obtained from NetBSD's pkgsrc)
 - Add missing includes for <cstring>, <cstdlib> to allow akode to
 build with newer versions of GCC.
 - Fix OPTIONS_DEFAULT as it had the XIPH option misspelled
 - Use a central patch directory for all akode* ports
 (PATCHDIR=${MASTERSITE}/../akode/files)
 - Simplify the akode-plugins-* ports by removing the
 do-{build,install} targets from the ports Makefile
 -- The do-{build,install} targets did the same thing as the ones in
 the bsd.port.mk
 -- This should allow the ports to use the new staging area (NO_STAGE
 could be removed from the Makefiles)
 - fix several portlint errors in the ports
 
 I have tested the new staging area for these ports using:
 
 make -DFORCE_STAGE stage
 make -DFORCE_STAGE check-orphans
 make -DFORCE_STAGE package
 
 I didn't notice any issue.
 
 NOTE:
 - If  FORCE_STAGE is used, the dependencies will need to be installed
 first (without FORCE_STAGE) as most of them are not ready for the new
 staging area.
 
 List of changed, added, removed files:
 
 M akode/Makefile
 A akode/files/patch-akode-akodeplay-akodeplay.cpp
 A akode/files/patch-akode-lib-auto_sink.cpp
 A akode/files/patch-akode-lib-converter.cpp
 A akode/files/patch-akode-lib-crossfader.cpp
 A akode/files/patch-akode-lib-fast_resampler.cpp
 A akode/files/patch-akode-lib-magic.cpp
 A akode/files/patch-akode-lib-player.cpp
 A akode/files/patch-akode-lib-volumefilter.cpp
 A akode/files/patch-akode__plugins__Makefile.in
 A akode/files/patch-akode__plugins__ffmpeg_decoder__ffmpeg_decoder.cpp
 A akode/files/patch-akode__plugins__polyp_sink__polyp_sink.cpp
 A akode/files/patch-akode__plugins__xiph_decoder__flac113_decoder.cpp
 A akode/files/patch-akode__plugins__xiph_decoder__speex_decoder.cpp
 A akode/files/patch-configure
 M akode-plugins-ffmpeg/Makefile
 D akode-plugins-ffmpeg/files
 D akode-plugins-ffmpeg/files/patch-akode_Makefile.in
 D akode-plugins-ffmpeg/files/patch-akode__plugins__ffmpeg_decoder__ffmpeg_decoder.cpp
 D akode-plugins-ffmpeg/files/patch-akode_plugins-Makefile.in
 D akode-plugins-ffmpeg/pkg-plist
 M akode-plugins-jack/Makefile
 D akode-plugins-jack/files
 D akode-plugins-jack/files/patch-akode_Makefile.in
 D akode-plugins-jack/files/patch-akode_plugins-Makefile.in
 D akode-plugins-jack/pkg-plist
 M akode-plugins-mpc/Makefile
 D akode-plugins-mpc/files
 D akode-plugins-mpc/files/patch-akode_Makefile.in
 D akode-plugins-mpc/files/patch-akode_plugins-Makefile.in
 M akode-plugins-mpeg/Makefile
 D akode-plugins-mpeg/files
 D akode-plugins-mpeg/files/patch-akode_Makefile.in
 D akode-plugins-mpeg/files/patch-akode_plugins-Makefile.in
 M akode-plugins-oss/Makefile
 D akode-plugins-oss/files
 D akode-plugins-oss/files/patch-akode_Makefile.in
 D akode-plugins-oss/files/patch-akode_plugins-Makefile.in
 M akode-plugins-pulseaudio/Makefile
 D akode-plugins-pulseaudio/files
 D akode-plugins-pulseaudio/files/patch-akode_Makefile.in
 D akode-plugins-pulseaudio/files/patch-akode__polyp_sink__polyp_sink.cpp
 D akode-plugins-pulseaudio/files/patch-akode_plugins-Makefile.in
 D akode-plugins-pulseaudio/files/patch-configure
 M akode-plugins-resampler/Makefile
 D akode-plugins-resampler/files
 D akode-plugins-resampler/files/patch-akode_Makefile.in
 D akode-plugins-resampler/files/patch-akode_plugins-Makefile.in
 M akode-plugins-xiph/Makefile
 D akode-plugins-xiph/files
 D akode-plugins-xiph/files/patch-akode_Makefile.in
 D akode-plugins-xiph/files/patch-akode_plugins-Makefile.in
 D akode-plugins-xiph/files/patch-akode_plugins_xiph__decoder_flac113__decoder.cpp
 D akode-plugins-xiph/files/patch-akode_plugins_xiph__decoder_speex__decoder.cpp
 D akode-plugins-xiph/files/patch-configure
 
 --047d7bdc9a48daa03204e743d276
 Content-Type: application/octet-stream; name="akode.diff3"
 Content-Disposition: attachment; filename="akode.diff3"
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_hm1l2row1
 
 SW5kZXg6IGFrb2RlL01ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gYWtvZGUvTWFrZWZpbGUJKHJl
 dmlzaW9uIDMyODMwOSkNCisrKyBha29kZS9NYWtlZmlsZQkod29ya2luZyBjb3B5KQ0KQEAgLTE5
 LDEwICsxOSwxMSBAQA0KIA0KIENPTkZMSUNUUz0Ja2RlbXVsdGltZWRpYS0zLlsxLTNdKg0KIA0K
 LU9QVElPTlNfREVGSU5FPQlGRk1QRUcgSkFDSyBNUEMgTVBFRyBPU1MgUkVTQU1QTEVSIFhJUEgN
 Ci1PUFRJT05TX0RFRkFVTFQ9CU1QQyBNUEVHIE9TUyBSRVNBTVBMRVIgWElQDQorT1BUSU9OU19E
 RUZJTkU9CUZGTVBFRyBKQUNLIE1QQyBNUEVHIE9TUyBQVUxTRUFVRElPIFJFU0FNUExFUiBYSVBI
 DQorT1BUSU9OU19ERUZBVUxUPQlNUEMgTVBFRyBPU1MgUkVTQU1QTEVSIFhJUEgNCiANCiBNUENf
 REVTQz0JTW9ua2V5J3MgQXVkaW8gZGVjb2RlciBwbHVnaW4NCitNUEVHX0RFU0M9CU1QRUcgQXVk
 aW8gZGVjb2RlciBwbHVnaW4NCiBSRVNBTVBMRVJfREVTQz0JUmVzYW1wbGVyIHByb2Nlc3Npbmcg
 cGx1Z2luDQogWElQSF9ERVNDPQlGTEFDL1NwZWV4L1ZvcmJpcyBkZWNvZGVyIHBsdWdpbg0KIA0K
 QEAgLTMwLDcgKzMxLDYgQEANCiBVU0VTPQkJZ21ha2UNCiBVU0VfQVVUT1RPT0xTPQlsaWJsdGRs
 IGxpYnRvb2wNCiBVU0VfQlpJUDI9CXllcw0KLVVTRV9HQ0M9CWFueQ0KIFdSS1NSQz0JCSR7V1JL
 RElSfS8ke1BPUlROQU1FfS0ke1BPUlRWRVJTSU9OfQ0KIFVTRV9MRENPTkZJRz0JeWVzDQogDQpA
 QCAtNjAsNiArNjAsMTAgQEANCiBSVU5fREVQRU5EUys9CSR7TE9DQUxCQVNFfS9saWIvbGliYWtv
 ZGVfb3NzX3Npbmsuc286JHtQT1JUU0RJUn0vYXVkaW8vYWtvZGUtcGx1Z2lucy1vc3MNCiAuZW5k
 aWYNCiANCisuaWYgJHtQT1JUX09QVElPTlM6TVBVTFNFQVVESU99DQorUlVOX0RFUEVORFMrPQkk
 e0xPQ0FMQkFTRX0vbGliL2xpYmFrb2RlX3BvbHlwX3Npbmsuc286JHtQT1JUU0RJUn0vYXVkaW8v
 YWtvZGUtcGx1Z2lucy1wdWxzZWF1ZGlvDQorLmVuZGlmDQorDQogLmlmICR7UE9SVF9PUFRJT05T
 Ok1SRVNBTVBMRVJ9DQogUlVOX0RFUEVORFMrPQkke0xPQ0FMQkFTRX0vbGliL2xpYmFrb2RlX3Ny
 Y19yZXNhbXBsZXIuc286JHtQT1JUU0RJUn0vYXVkaW8vYWtvZGUtcGx1Z2lucy1yZXNhbXBsZXIN
 CiAuZW5kaWYNCkluZGV4OiBha29kZS9maWxlcy9wYXRjaC1ha29kZS1ha29kZXBsYXktYWtvZGVw
 bGF5LmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PQ0KLS0tIGFrb2RlL2ZpbGVzL3BhdGNoLWFrb2RlLWFrb2RlcGxh
 eS1ha29kZXBsYXkuY3BwCShyZXZpc2lvbiAwKQ0KKysrIGFrb2RlL2ZpbGVzL3BhdGNoLWFrb2Rl
 LWFrb2RlcGxheS1ha29kZXBsYXkuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtMCwwICsxLDEwIEBA
 DQorLS0tIGFrb2RlL2Frb2RlcGxheS9ha29kZXBsYXkuY3BwLW9yaWcJMjAwNi0xMS0wNiAwNzoy
 MDo1Mi4wMDAwMDAwMDAgLTA2MDANCisrKysgYWtvZGUvYWtvZGVwbGF5L2Frb2RlcGxheS5jcHAJ
 MjAxMy0wOS0xOSAwODoxNDoyOC4wMDAwMDAwMDAgLTA1MDANCitAQCAtMTksNiArMTksNyBAQA0K
 KyAqLw0KKyANCisgI2luY2x1ZGUgPGlvc3RyZWFtPg0KKysjaW5jbHVkZSA8Y3N0ZGxpYj4NCisg
 DQorICNpbmNsdWRlICIuLi9saWIvYWtvZGVsaWIuaCINCisgI2luY2x1ZGUgIi4uL2xpYi9wbGF5
 ZXIuaCINCkluZGV4OiBha29kZS9maWxlcy9wYXRjaC1ha29kZS1saWItYXV0b19zaW5rLmNwcA0K
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PQ0KLS0tIGFrb2RlL2ZpbGVzL3BhdGNoLWFrb2RlLWxpYi1hdXRvX3NpbmsuY3Bw
 CShyZXZpc2lvbiAwKQ0KKysrIGFrb2RlL2ZpbGVzL3BhdGNoLWFrb2RlLWxpYi1hdXRvX3Npbmsu
 Y3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtMCwwICsxLDEwIEBADQorLS0tIGFrb2RlL2xpYi9hdXRv
 X3NpbmsuY3BwLW9yaWcJMjAwNS0xMC0yNiAwODo1MDoyOS4wMDAwMDAwMDAgLTA1MDANCisrKysg
 YWtvZGUvbGliL2F1dG9fc2luay5jcHAJMjAxMy0wOS0xOSAwMzoyNTo0Ny4wMDAwMDAwMDAgLTA1
 MDANCitAQCAtMjIsNiArMjIsNyBAQA0KKyAjaW5jbHVkZSAiYXV0b19zaW5rLmgiDQorIA0KKyAj
 aW5jbHVkZSA8aW9zdHJlYW0+DQorKyNpbmNsdWRlIDxjc3RkbGliPg0KKyANCisgbmFtZXNwYWNl
 IGFLb2RlIHsNCisgDQpJbmRleDogYWtvZGUvZmlsZXMvcGF0Y2gtYWtvZGUtbGliLWNvbnZlcnRl
 ci5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT0NCi0tLSBha29kZS9maWxlcy9wYXRjaC1ha29kZS1saWItY29udmVy
 dGVyLmNwcAkocmV2aXNpb24gMCkNCisrKyBha29kZS9maWxlcy9wYXRjaC1ha29kZS1saWItY29u
 dmVydGVyLmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTAsMCArMSwxMSBAQA0KKy0tLSBha29kZS9s
 aWIvY29udmVydGVyLmNwcC1vcmlnCTIwMDYtMDctMjIgMTE6MzU6MzEuMDAwMDAwMDAwIC0wNTAw
 DQorKysrIGFrb2RlL2xpYi9jb252ZXJ0ZXIuY3BwCTIwMTMtMDktMTkgMDg6NDk6MzAuMDAwMDAw
 MDAwIC0wNTAwDQorQEAgLTI2LDcgKzI2LDcgQEANCisgDQorIENvbnZlcnRlcjo6Q29udmVydGVy
 KGludCBzYW1wbGVfd2lkdGgpIDogbV9zYW1wbGVfd2lkdGgoc2FtcGxlX3dpZHRoKSB7fQ0KKyAN
 CistdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgUywgdGVtcGxhdGU8dHlwZW5hbWUgVD4g
 Y2xhc3MgQXJpdGhtVCwgdGVtcGxhdGU8dHlwZW5hbWUgUz4gY2xhc3MgQXJpdGhtUz4NCisrdGVt
 cGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgUywgdGVtcGxhdGU8dHlwZW5hbWUgVT4gY2xhc3Mg
 QXJpdGhtVCwgdGVtcGxhdGU8dHlwZW5hbWUgVT4gY2xhc3MgQXJpdGhtUz4NCisgc3RhdGljIGJv
 b2wgX19kb0ZyYW1lRlAoQXVkaW9GcmFtZSogaW4sIEF1ZGlvRnJhbWUqIG91dCwgaW50IHNhbXBs
 ZV93aWR0aCkNCisgew0KKyAgICAgQXVkaW9Db25maWd1cmF0aW9uIGNvbmZpZyA9ICppbjsNCklu
 ZGV4OiBha29kZS9maWxlcy9wYXRjaC1ha29kZS1saWItY3Jvc3NmYWRlci5jcHANCj09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT0NCi0tLSBha29kZS9maWxlcy9wYXRjaC1ha29kZS1saWItY3Jvc3NmYWRlci5jcHAJKHJldmlz
 aW9uIDApDQorKysgYWtvZGUvZmlsZXMvcGF0Y2gtYWtvZGUtbGliLWNyb3NzZmFkZXIuY3BwCSh3
 b3JraW5nIGNvcHkpDQpAQCAtMCwwICsxLDIwIEBADQorLS0tIGFrb2RlL2xpYi9jcm9zc2ZhZGVy
 LmNwcC1vcmlnCTIwMDUtMTAtMjAgMTU6NDc6MTcuMDAwMDAwMDAwIC0wNTAwDQorKysrIGFrb2Rl
 L2xpYi9jcm9zc2ZhZGVyLmNwcAkyMDEzLTA5LTE5IDA4OjUyOjQ2LjAwMDAwMDAwMCAtMDUwMA0K
 K0BAIC0yNyw3ICsyNyw3IEBADQorIENyb3NzRmFkZXI6OkNyb3NzRmFkZXIodW5zaWduZWQgaW50
 IHRpbWUpIDogdGltZSh0aW1lKSxwb3MoMCkge30NCisgDQorIC8vIFQgaXMgdGhlIGlucHV0L291
 dHB1dCB0eXBlLCBTIGlzIHRoZSBmYXN0IGFyaXRobWV0aWNzIHR5cGUsIERpdiBpcyBhIGRpdmlz
 aW9uIG1ldGhvZA0KKy10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBTLCB0ZW1wbGF0ZTx0
 eXBlbmFtZSBTPiBjbGFzcyBBcml0aG0+DQorK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1l
 IFMsIHRlbXBsYXRlPHR5cGVuYW1lIFU+IGNsYXNzIEFyaXRobT4NCisgc3RhdGljIGJvb2wgX2Rv
 RnJhbWUoQXVkaW9GcmFtZSogaW4sIGludCYgcG9zLCBBdWRpb0ZyYW1lKiBmcmFtZSkNCisgew0K
 KyAgICAgVCoqIGluZGF0YTEgPSAoVCoqKWluLT5kYXRhOw0KK0BAIC02Niw3ICs2Niw3IEBADQor
 IH0NCisgDQorIC8vIFQgaXMgdGhlIGlucHV0L291dHB1dCB0eXBlLCBTIGlzIHRoZSBmYXN0IGFy
 aXRobWV0aWNzIHR5cGUsIEFyaXRobSBkZWZpbmVzIGRldmlzaW9ucw0KKy10ZW1wbGF0ZTx0eXBl
 bmFtZSBULCB0eXBlbmFtZSBTLCB0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBjbGFzcyBBcml0aG0+DQor
 K3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFMsIHRlbXBsYXRlPHR5cGVuYW1lIFU+IGNs
 YXNzIEFyaXRobT4NCisgc3RhdGljIGJvb2wgX3JlYWRGcmFtZShBdWRpb0ZyYW1lKiBpbiwgaW50
 JiBwb3MsIEF1ZGlvRnJhbWUqIGZyYW1lKQ0KKyB7DQorICAgICBUKiogaW5kYXRhID0gKFQqKilm
 cmFtZS0+ZGF0YTsNCkluZGV4OiBha29kZS9maWxlcy9wYXRjaC1ha29kZS1saWItZmFzdF9yZXNh
 bXBsZXIuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09DQotLS0gYWtvZGUvZmlsZXMvcGF0Y2gtYWtvZGUtbGliLWZh
 c3RfcmVzYW1wbGVyLmNwcAkocmV2aXNpb24gMCkNCisrKyBha29kZS9maWxlcy9wYXRjaC1ha29k
 ZS1saWItZmFzdF9yZXNhbXBsZXIuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtMCwwICsxLDExIEBA
 DQorLS0tIGFrb2RlL2xpYi9mYXN0X3Jlc2FtcGxlci5jcHAtb3JpZwkyMDA2LTA1LTI2IDEzOjM3
 OjE3LjAwMDAwMDAwMCAtMDUwMA0KKysrKyBha29kZS9saWIvZmFzdF9yZXNhbXBsZXIuY3BwCTIw
 MTMtMDktMTkgMDg6NTQ6NTEuMDAwMDAwMDAwIC0wNTAwDQorQEAgLTM3LDcgKzM3LDcgQEANCisg
 Ly8gQSBmYXN0IHJlc2FtcGxpbmcgYnkgbGluZWFyIGludGVycG9sYXRpb24NCisgLy8gSSBhc3N1
 bWUgeW91IGtub3cgYmluYXJ5IGFyaXRobWV0aWNzIGFuZCBjb252ZXJ0aW9ucyBpZiB5b3UncmUg
 cmVhZGluZyB0aGlzDQorIC8vIFQgaXMgdGhlIGlucHV0L291dHB1dCB0eXBlLCBBcml0aG0gZGVm
 aW5lcyB0aGUgdXNlZCBhcml0aG1ldGljDQorLXRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1l
 IFMsIHRlbXBsYXRlPHR5cGVuYW1lIFM+IGNsYXNzIEFyaXRobT4NCisrdGVtcGxhdGU8dHlwZW5h
 bWUgVCwgdHlwZW5hbWUgUywgdGVtcGxhdGU8dHlwZW5hbWUgVT4gY2xhc3MgQXJpdGhtPg0KKyBz
 dGF0aWMgYm9vbCBfZG9CdWZmZXIoQXVkaW9GcmFtZSogaW4sIEF1ZGlvRnJhbWUqIG91dCwgZmxv
 YXQgc3BlZWQsIHVuc2lnbmVkIHNhbXBsZV9yYXRlKQ0KKyB7DQorICAgICB1bnNpZ25lZCBsb25n
 IHZ0X3Bvc19zdGFydCA9IDA7ICAvLyB2aXJ0dWFsIHBvc2l0aW9ucyBvZiBuZXcgc2FtcGxlDQpJ
 bmRleDogYWtvZGUvZmlsZXMvcGF0Y2gtYWtvZGUtbGliLW1hZ2ljLmNwcA0KPT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K
 LS0tIGFrb2RlL2ZpbGVzL3BhdGNoLWFrb2RlLWxpYi1tYWdpYy5jcHAJKHJldmlzaW9uIDApDQor
 KysgYWtvZGUvZmlsZXMvcGF0Y2gtYWtvZGUtbGliLW1hZ2ljLmNwcAkod29ya2luZyBjb3B5KQ0K
 QEAgLTAsMCArMSwxMCBAQA0KKy0tLSBha29kZS9saWIvbWFnaWMuY3BwLW9yaWcJMjAwNS0xMC0y
 MCAxNTo0NzoxNy4wMDAwMDAwMDAgLTA1MDANCisrKysgYWtvZGUvbGliL21hZ2ljLmNwcAkyMDEz
 LTA5LTE5IDA4OjA4OjU4LjAwMDAwMDAwMCAtMDUwMA0KK0BAIC0yMiw2ICsyMiw3IEBADQorICNp
 bmNsdWRlICJtYWdpYy5oIg0KKyAjaW5jbHVkZSAiZmlsZS5oIg0KKyAjaW5jbHVkZSA8aW9zdHJl
 YW0+DQorKyNpbmNsdWRlIDxjc3RyaW5nPg0KKyB1c2luZyBzdGQ6OmNlcnI7DQorIA0KKyBuYW1l
 c3BhY2UgYUtvZGUgew0KSW5kZXg6IGFrb2RlL2ZpbGVzL3BhdGNoLWFrb2RlLWxpYi1wbGF5ZXIu
 Y3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09DQotLS0gYWtvZGUvZmlsZXMvcGF0Y2gtYWtvZGUtbGliLXBsYXllci5j
 cHAJKHJldmlzaW9uIDApDQorKysgYWtvZGUvZmlsZXMvcGF0Y2gtYWtvZGUtbGliLXBsYXllci5j
 cHAJKHdvcmtpbmcgY29weSkNCkBAIC0wLDAgKzEsMTAgQEANCistLS0gYWtvZGUvbGliL3BsYXll
 ci5jcHAtb3JpZwkyMDA2LTExLTA1IDA4OjM3OjQ4LjAwMDAwMDAwMCAtMDYwMA0KKysrKyBha29k
 ZS9saWIvcGxheWVyLmNwcAkyMDEzLTA5LTE5IDA4OjA2OjM3LjAwMDAwMDAwMCAtMDUwMA0KK0BA
 IC0yMSw2ICsyMSw3IEBADQorICNpbmNsdWRlIDxwdGhyZWFkLmg+DQorICNpbmNsdWRlIDxzZW1h
 cGhvcmUuaD4NCisgI2luY2x1ZGUgPGFzc2VydC5oPg0KKysjaW5jbHVkZSA8Y3N0cmluZz4NCisg
 DQorICNpbmNsdWRlICJhdWRpb2ZyYW1lLmgiDQorICNpbmNsdWRlICJhdWRpb2J1ZmZlci5oIg0K
 SW5kZXg6IGFrb2RlL2ZpbGVzL3BhdGNoLWFrb2RlLWxpYi12b2x1bWVmaWx0ZXIuY3BwDQo9PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09DQotLS0gYWtvZGUvZmlsZXMvcGF0Y2gtYWtvZGUtbGliLXZvbHVtZWZpbHRlci5jcHAJ
 KHJldmlzaW9uIDApDQorKysgYWtvZGUvZmlsZXMvcGF0Y2gtYWtvZGUtbGliLXZvbHVtZWZpbHRl
 ci5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC0wLDAgKzEsMTEgQEANCistLS0gYWtvZGUvbGliL3Zv
 bHVtZWZpbHRlci5jcHAtb3JpZwkyMDA1LTEwLTIwIDE1OjQ3OjE3LjAwMDAwMDAwMCAtMDUwMA0K
 KysrKyBha29kZS9saWIvdm9sdW1lZmlsdGVyLmNwcAkyMDEzLTA5LTE5IDA4OjU2OjM3LjAwMDAw
 MDAwMCAtMDUwMA0KK0BAIC0yOSw3ICsyOSw3IEBADQorIFZvbHVtZUZpbHRlcjo6Vm9sdW1lRmls
 dGVyKCkgOiBtX3ZvbHVtZSgwKSB7fQ0KKyANCisgLy8gVCBpcyB0aGUgaW5wdXQvb3V0cHV0IHR5
 cGUsIFMgaXMgdGhlIGZhc3QgYXJpdGhtZXRpY3MgdHlwZSwgQXJpdGhtIGlzIGEgZGl2aXNpb24g
 ZGVmaW5pdGlvbg0KKy10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBTLCB0ZW1wbGF0ZTx0
 eXBlbmFtZSBTPiBjbGFzcyBBcml0aG0+DQorK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1l
 IFMsIHRlbXBsYXRlPHR5cGVuYW1lIFU+IGNsYXNzIEFyaXRobT4NCisgc3RhdGljIGJvb2wgX2Rv
 RnJhbWUoQXVkaW9GcmFtZSogaW4sIEF1ZGlvRnJhbWUqIG91dCwgaW50IHZvbHVtZSkNCisgew0K
 KyAgICAgVCoqIGluZGF0YSA9IChUKiopaW4tPmRhdGE7DQpJbmRleDogYWtvZGUvZmlsZXMvcGF0
 Y2gtYWtvZGVfX3BsdWdpbnNfX01ha2VmaWxlLmluDQo9PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gYWtvZGUvZmls
 ZXMvcGF0Y2gtYWtvZGVfX3BsdWdpbnNfX01ha2VmaWxlLmluCShyZXZpc2lvbiAwKQ0KKysrIGFr
 b2RlL2ZpbGVzL3BhdGNoLWFrb2RlX19wbHVnaW5zX19NYWtlZmlsZS5pbgkod29ya2luZyBjb3B5
 KQ0KQEAgLTAsMCArMSwxNSBAQA0KKy0tLSBha29kZS9wbHVnaW5zL01ha2VmaWxlLmluLm9yaWcJ
 VHVlIE5vdiAyOSAxODoxMDoyMCAyMDA1DQorKysrIGFrb2RlL3BsdWdpbnMvTWFrZWZpbGUuaW4J
 VHVlIE5vdiAyOSAxODoxMDo0NSAyMDA1DQorQEAgLTI1MiwxMSArMjUyLDcgQEANCisgQGluY2x1
 ZGVfc3VuX3NpbmtfVFJVRUBBS09ERV9TVU5fU0lOSyA9IHN1bl9zaW5rDQorIEBpbmNsdWRlX2ph
 Y2tfc2lua19UUlVFQEFLT0RFX0pBQ0tfU0lOSyA9IGphY2tfc2luaw0KKyBAaW5jbHVkZV9wb2x5
 cF9zaW5rX1RSVUVAQUtPREVfUE9MWVBfU0lOSyA9IHBvbHlwX3NpbmsNCistU1VCRElSUyA9ICQo
 QUtPREVfTVBDX0RFQ09ERVIpICQoQUtPREVfWElQSF9ERUNPREVSKSBcDQorLSAgICAgICAgICQo
 QUtPREVfTVBFR19ERUNPREVSKSAkKEFLT0RFX0ZGTVBFR19ERUNPREVSKSBcDQorLSAgICAgICAg
 ICQoQUtPREVfQUxTQV9TSU5LKSAkKEFLT0RFX09TU19TSU5LKSAkKEFLT0RFX1NVTl9TSU5LKSBc
 DQorLSAgICAgICAgICQoQUtPREVfSkFDS19TSU5LKSAkKEFLT0RFX1BPTFlQX1NJTkspIFwNCist
 ICAgICAgICAgJChBS09ERV9TUkNfUkVTQU1QTEVSKQ0KKytTVUJESVJTID0gJSVTVUJESVJTJSUN
 CisgDQorICM+LSBhbGw6IGFsbC1yZWN1cnNpdmUNCisgIz4rIDENCkluZGV4OiBha29kZS9maWxl
 cy9wYXRjaC1ha29kZV9fcGx1Z2luc19fZmZtcGVnX2RlY29kZXJfX2ZmbXBlZ19kZWNvZGVyLmNw
 cA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PQ0KLS0tIGFrb2RlL2ZpbGVzL3BhdGNoLWFrb2RlX19wbHVnaW5zX19mZm1w
 ZWdfZGVjb2Rlcl9fZmZtcGVnX2RlY29kZXIuY3BwCShyZXZpc2lvbiAwKQ0KKysrIGFrb2RlL2Zp
 bGVzL3BhdGNoLWFrb2RlX19wbHVnaW5zX19mZm1wZWdfZGVjb2Rlcl9fZmZtcGVnX2RlY29kZXIu
 Y3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtMCwwICsxLDIwIEBADQorLS0tIGFrb2RlL3BsdWdpbnMv
 ZmZtcGVnX2RlY29kZXIvZmZtcGVnX2RlY29kZXIuY3BwLm9yaWcJMjAwNi0wOC0xMCAxNTozNzoy
 MC4wMDAwMDAwMDAgLTAzMDANCisrKysgYWtvZGUvcGx1Z2lucy9mZm1wZWdfZGVjb2Rlci9mZm1w
 ZWdfZGVjb2Rlci5jcHAJMjAwOS0xMS0xMyAyMjo0OToxMi4wMDAwMDAwMDAgLTAyMDANCitAQCAt
 NDUsNyArNDUsNyBAQA0KKyAgICAgICAgIGFLb2RlOjpGaWxlICpmaWxlID0gKGFLb2RlOjpGaWxl
 KilvcGFxdWU7DQorICAgICAgICAgcmV0dXJuIGZpbGUtPndyaXRlKChjaGFyKilidWYsIHNpemUp
 Ow0KKyAgICAgfQ0KKy0gICAgc3RhdGljIG9mZnNldF90IGFrb2RlX3NlZWsodm9pZCogb3BhcXVl
 LCBvZmZzZXRfdCBwb3MsIGludCB3aGVuY2UpDQorKyAgICBzdGF0aWMgaW50NjRfdCBha29kZV9z
 ZWVrKHZvaWQqIG9wYXF1ZSwgaW50NjRfdCBwb3MsIGludCB3aGVuY2UpDQorICAgICB7DQorICAg
 ICAgICAgYUtvZGU6OkZpbGUgKmZpbGUgPSAoYUtvZGU6OkZpbGUqKW9wYXF1ZTsNCisgICAgICAg
 ICByZXR1cm4gZmlsZS0+c2Vlayhwb3MsIHdoZW5jZSk7DQorQEAgLTMxNCw3ICszMTQsNyBAQA0K
 KyAgICAgYXNzZXJ0KGQtPnBhY2tldC5zdHJlYW1faW5kZXggPT0gZC0+YXVkaW9TdHJlYW0pOw0K
 KyANCisgcmV0cnk6DQorLSAgICBpbnQgbGVuID0gYXZjb2RlY19kZWNvZGVfYXVkaW8oIGQtPmlj
 LT5zdHJlYW1zW2QtPmF1ZGlvU3RyZWFtXS0+Y29kZWMsDQorKyAgICBpbnQgbGVuID0gYXZjb2Rl
 Y19kZWNvZGVfYXVkaW8yKCBkLT5pYy0+c3RyZWFtc1tkLT5hdWRpb1N0cmVhbV0tPmNvZGVjLA0K
 KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvcnQqKWQtPmJ1ZmZlciwg
 JmQtPmJ1ZmZlcl9zaXplLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
 LT5wYWNrZXREYXRhLCBkLT5wYWNrZXRTaXplICk7DQorIA0KSW5kZXg6IGFrb2RlL2ZpbGVzL3Bh
 dGNoLWFrb2RlX19wbHVnaW5zX19wb2x5cF9zaW5rX19wb2x5cF9zaW5rLmNwcA0KPT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PQ0KLS0tIGFrb2RlL2ZpbGVzL3BhdGNoLWFrb2RlX19wbHVnaW5zX19wb2x5cF9zaW5rX19wb2x5
 cF9zaW5rLmNwcAkocmV2aXNpb24gMCkNCisrKyBha29kZS9maWxlcy9wYXRjaC1ha29kZV9fcGx1
 Z2luc19fcG9seXBfc2lua19fcG9seXBfc2luay5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC0wLDAg
 KzEsMjAgQEANCistLS0gYWtvZGUvcGx1Z2lucy9wb2x5cF9zaW5rL3BvbHlwX3NpbmsuY3BwLm9y
 aWcJU3VuIEp1biAxMCAxMzoyMzowMyAyMDA3DQorKysrIGFrb2RlL3BsdWdpbnMvcG9seXBfc2lu
 ay9wb2x5cF9zaW5rLmNwcAlTdW4gSnVuIDEwIDEzOjI0OjEzIDIwMDcNCitAQCAtMjUsNyArMjUs
 NyBAQA0KKyAjZWxpZiBkZWZpbmVkKEhBVkVfSU5UVFlQRVNfSCkNCisgI2luY2x1ZGUgPGludHR5
 cGVzLmg+DQorICNlbmRpZg0KKy0jaW5jbHVkZSA8cG9seXAvcG9seXBsaWItc2ltcGxlLmg+DQor
 KyNpbmNsdWRlIDxwdWxzZS9zaW1wbGUuaD4NCisgDQorICNpbmNsdWRlICJhdWRpb2ZyYW1lLmgi
 DQorICNpbmNsdWRlICJhdWRpb2J1ZmZlci5oIg0KK0BAIC01OSw3ICs1OSw3IEBADQorIA0KKyBi
 b29sIFBvbHlwU2luazo6b3BlbigpIHsNCisgICAgIGludCBlcnJvciA9IDA7DQorLSAgICBtX2Rh
 dGEtPnNlcnZlciA9IHBhX3NpbXBsZV9uZXcoMCwgImFrb2RlLWNsaWVudCIsIFBBX1NUUkVBTV9Q
 TEFZQkFDSywgMCwgIiIsICZtX2RhdGEtPnNhbXBsZV9zcGVjLCAwLCAyNTUsICZlcnJvciApOw0K
 KysgICAgbV9kYXRhLT5zZXJ2ZXIgPSBwYV9zaW1wbGVfbmV3KDAsICJha29kZS1jbGllbnQiLCBQ
 QV9TVFJFQU1fUExBWUJBQ0ssIDAsICIiLCAmbV9kYXRhLT5zYW1wbGVfc3BlYywgMCwgMCwgJmVy
 cm9yICk7DQorICAgICBpZiAoIW1fZGF0YS0+c2VydmVyIHx8IGVycm9yICE9IDApIHsNCisgICAg
 ICAgICBtX2RhdGEtPmVycm9yID0gdHJ1ZTsNCisgICAgICAgICBjbG9zZSgpOw0KSW5kZXg6IGFr
 b2RlL2ZpbGVzL3BhdGNoLWFrb2RlX19wbHVnaW5zX194aXBoX2RlY29kZXJfX2ZsYWMxMTNfZGVj
 b2Rlci5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT0NCi0tLSBha29kZS9maWxlcy9wYXRjaC1ha29kZV9fcGx1Z2lu
 c19feGlwaF9kZWNvZGVyX19mbGFjMTEzX2RlY29kZXIuY3BwCShyZXZpc2lvbiAwKQ0KKysrIGFr
 b2RlL2ZpbGVzL3BhdGNoLWFrb2RlX19wbHVnaW5zX194aXBoX2RlY29kZXJfX2ZsYWMxMTNfZGVj
 b2Rlci5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC0wLDAgKzEsMTEgQEANCistLS0gYWtvZGUvcGx1
 Z2lucy94aXBoX2RlY29kZXIvZmxhYzExM19kZWNvZGVyLmNwcC5vcmlnCTIwMDgtMDMtMjcgMTY6
 MTE6MjYuMDAwMDAwMDAwICswMTAwDQorKysrIGFrb2RlL3BsdWdpbnMveGlwaF9kZWNvZGVyL2Zs
 YWMxMTNfZGVjb2Rlci5jcHAJMjAwOC0wMy0yNyAxNjoxMTo0Ni4wMDAwMDAwMDAgKzAxMDANCitA
 QCAtMTA4LDcgKzEwOCw3IEBAIHN0cnVjdCBGTEFDRGVjb2Rlcjo6cHJpdmF0ZV9kYXRhIHsNCisg
 c3RhdGljIEZMQUNfX1N0cmVhbURlY29kZXJSZWFkU3RhdHVzIGZsYWNfcmVhZF9jYWxsYmFjaygN
 CisgICAgICAgICBjb25zdCBGTEFDX19TdHJlYW1EZWNvZGVyICosDQorICAgICAgICAgRkxBQ19f
 Ynl0ZSBidWZmZXJbXSwNCistICAgICAgICB1bnNpZ25lZCAqYnl0ZXMsDQorKyAgICAgICAgc2l6
 ZV90ICpieXRlcywNCisgICAgICAgICB2b2lkICpjbGllbnRfZGF0YSkNCisgew0KKyAgICAgRkxB
 Q0RlY29kZXI6OnByaXZhdGVfZGF0YSAqZGF0YSA9IChGTEFDRGVjb2Rlcjo6cHJpdmF0ZV9kYXRh
 KiljbGllbnRfZGF0YTsNCkluZGV4OiBha29kZS9maWxlcy9wYXRjaC1ha29kZV9fcGx1Z2luc19f
 eGlwaF9kZWNvZGVyX19zcGVleF9kZWNvZGVyLmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGFrb2RlL2Zp
 bGVzL3BhdGNoLWFrb2RlX19wbHVnaW5zX194aXBoX2RlY29kZXJfX3NwZWV4X2RlY29kZXIuY3Bw
 CShyZXZpc2lvbiAwKQ0KKysrIGFrb2RlL2ZpbGVzL3BhdGNoLWFrb2RlX19wbHVnaW5zX194aXBo
 X2RlY29kZXJfX3NwZWV4X2RlY29kZXIuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtMCwwICsxLDE3
 IEBADQorLS0tIGFrb2RlL3BsdWdpbnMveGlwaF9kZWNvZGVyL3NwZWV4X2RlY29kZXIuY3BwLm9y
 aWcNCisrKysgYWtvZGUvcGx1Z2lucy94aXBoX2RlY29kZXIvc3BlZXhfZGVjb2Rlci5jcHANCitA
 QCAtMjUsMTAgKzI1LDEwIEBADQorIGV4dGVybiAiQyIgew0KKyAjaW5jbHVkZSA8c3RyaW5nLmg+
 DQorICNpbmNsdWRlIDxzdGRsaWIuaD4NCistI2luY2x1ZGUgPHNwZWV4Lmg+DQorLSNpbmNsdWRl
 IDxzcGVleF9oZWFkZXIuaD4NCistI2luY2x1ZGUgPHNwZWV4X2NhbGxiYWNrcy5oPg0KKy0jaW5j
 bHVkZSA8c3BlZXhfc3RlcmVvLmg+DQorKyNpbmNsdWRlIDxzcGVleC9zcGVleC5oPg0KKysjaW5j
 bHVkZSA8c3BlZXgvc3BlZXhfaGVhZGVyLmg+DQorKyNpbmNsdWRlIDxzcGVleC9zcGVleF9jYWxs
 YmFja3MuaD4NCisrI2luY2x1ZGUgPHNwZWV4L3NwZWV4X3N0ZXJlby5oPg0KKyAjaW5jbHVkZSA8
 b2dnL29nZy5oPg0KKyB9DQorIA0KSW5kZXg6IGFrb2RlL2ZpbGVzL3BhdGNoLWNvbmZpZ3VyZQ0K
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PQ0KLS0tIGFrb2RlL2ZpbGVzL3BhdGNoLWNvbmZpZ3VyZQkocmV2aXNpb24gMCkN
 CisrKyBha29kZS9maWxlcy9wYXRjaC1jb25maWd1cmUJKHdvcmtpbmcgY29weSkNCkBAIC0wLDAg
 KzEsNDcgQEANCistLS0gY29uZmlndXJlLm9yaWcNCisrKysgY29uZmlndXJlDQorQEAgLTIyMjAw
 LDggKzIyMjAwLDggQEANCisgY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRg0KKyAvKiBl
 bmQgY29uZmRlZnMuaC4gICovDQorIA0KKy0gICAgICAgICAgICAgICAgI2luY2x1ZGUgPHNwZWV4
 Lmg+DQorLSAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3BlZXhfY2FsbGJhY2tzLmg+DQorKyAg
 ICAgICAgICAgICAgICAjaW5jbHVkZSA8c3BlZXgvc3BlZXguaD4NCisrICAgICAgICAgICAgICAg
 ICNpbmNsdWRlIDxzcGVleC9zcGVleF9jYWxsYmFja3MuaD4NCisgICAgICAgICAgICAgICAgICNp
 bmNsdWRlIDxvZ2cvb2dnLmg+DQorIA0KKyBpbnQNCitAQCAtMjIzNTAsMTAgKzIyMzUwLDEwIEBA
 DQorIGNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YNCisgLyogZW5kIGNvbmZkZWZzLmgu
 ICAqLw0KKyANCistICAgICAgICAgICAgICAgICNpbmNsdWRlIDxzcGVleC5oPg0KKy0gICAgICAg
 ICAgICAgICAgI2luY2x1ZGUgPHNwZWV4X2NhbGxiYWNrcy5oPg0KKy0gICAgICAgICAgICAgICAg
 I2luY2x1ZGUgPHNwZWV4X2VjaG8uaD4NCistICAgICAgICAgICAgICAgICNpbmNsdWRlIDxzcGVl
 eF9wcmVwcm9jZXNzLmg+DQorKyAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3BlZXgvc3BlZXgu
 aD4NCisrICAgICAgICAgICAgICAgICNpbmNsdWRlIDxzcGVleC9zcGVleF9jYWxsYmFja3MuaD4N
 CisrICAgICAgICAgICAgICAgICNpbmNsdWRlIDxzcGVleC9zcGVleF9lY2hvLmg+DQorKyAgICAg
 ICAgICAgICAgICAjaW5jbHVkZSA8c3BlZXgvc3BlZXhfcHJlcHJvY2Vzcy5oPg0KKyAgICAgICAg
 ICAgICAgICAgI2luY2x1ZGUgPG9nZy9vZ2cuaD4NCisgDQorIGludA0KK0BAIC0yNTUwNiwxMiAr
 MjU1MDYsMTIgQEANCisgDQorIA0KKyBpZiB0ZXN0ICJ4JHBvbHlwYXVkaW9fdGVzdCIgPSAieHll
 cyIgOyB0aGVuDQorLXsgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBQb2x5cGF1
 ZGlvIDAuNyBvciBsYXRlciIgPiY1DQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIFBvbHlw
 YXVkaW8gMC43IG9yIGxhdGVyLi4uICRFQ0hPX0MiID4mNjsgfQ0KKy1pZiAkUEtHX0NPTkZJRyAt
 LWF0bGVhc3QtdmVyc2lvbiAwLjcgcG9seXBsaWItc2ltcGxlID4vZGV2L251bGwgMj4mMSA7IHRo
 ZW4NCistICBQT0xZUF9DRkxBR1M9ImAkUEtHX0NPTkZJRyAtLWNmbGFncyBwb2x5cGxpYi1zaW1w
 bGVgIg0KKy0gIFBPTFlQX0xJQkFERD0iYCRQS0dfQ09ORklHIC0tbGlicy1vbmx5LWwgcG9seXBs
 aWItc2ltcGxlYCINCistICBQT0xZUF9MREZMQUdTPSJgJFBLR19DT05GSUcgLS1saWJzLW9ubHkt
 TCBwb2x5cGxpYi1zaW1wbGVgIg0KKyt7IGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBm
 b3IgUHVsc2VhdWRpbyAwLjkuMiBvciBsYXRlciIgPiY1DQorK2VjaG8gJEVDSE9fTiAiY2hlY2tp
 bmcgZm9yIFB1bHNlYXVkaW8gMC45LjIgb3IgbGF0ZXIuLi4gJEVDSE9fQyIgPiY2OyB9DQorK2lm
 ICRQS0dfQ09ORklHIC0tYXRsZWFzdC12ZXJzaW9uIDAuOS4yIGxpYnB1bHNlLXNpbXBsZSA+L2Rl
 di9udWxsIDI+JjEgOyB0aGVuDQorKyAgUE9MWVBfQ0ZMQUdTPSJgJFBLR19DT05GSUcgLS1jZmxh
 Z3MgbGlicHVsc2Utc2ltcGxlYCINCisrICBQT0xZUF9MSUJBREQ9ImAkUEtHX0NPTkZJRyAtLWxp
 YnMtb25seS1sIGxpYnB1bHNlLXNpbXBsZWAiDQorKyAgUE9MWVBfTERGTEFHUz0iYCRQS0dfQ09O
 RklHIC0tbGlicy1vbmx5LUwgbGlicHVsc2Utc2ltcGxlYCINCisgICBoYXZlX3BvbHlwPXllcw0K
 KyAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogeWVzIiA+JjUNCisgZWNobyAiJHtF
 Q0hPX1R9eWVzIiA+JjY7IH0NCkluZGV4OiBha29kZS1wbHVnaW5zLWZmbXBlZy9NYWtlZmlsZQ0K
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PQ0KLS0tIGFrb2RlLXBsdWdpbnMtZmZtcGVnL01ha2VmaWxlCShyZXZpc2lvbiAz
 MjgzMDkpDQorKysgYWtvZGUtcGx1Z2lucy1mZm1wZWcvTWFrZWZpbGUJKHdvcmtpbmcgY29weSkN
 CkBAIC0xMCwxMCArMTAsMTEgQEANCiAJCSR7TUFTVEVSX1NJVEVfTE9DQUx9DQogTUFTVEVSX1NJ
 VEVfU1VCRElSPQlsYXN6bG9mDQogUEtHTkFNRVNVRkZJWD0JLXBsdWdpbnMtJHtQT1JUTkFNRVNV
 Rlh9DQotRElTVE5BTUU9ICAgICAgIDMwMzc1LWFrb2RlLSR7UE9SVFZFUlNJT059DQorRElTVE5B
 TUU9CTMwMzc1LWFrb2RlLSR7UE9SVFZFUlNJT059DQogDQogTUFJTlRBSU5FUj0Jc3doZXR6ZWxA
 Z21haWwuY29tDQogQ09NTUVOVD0JRkZNUEVHIGRlY29kZXIgcGx1Z2luIGZvciBha29kZQ0KKw0K
 IExJQ0VOU0U9CUxHUEwyMA0KIExJQ0VOU0VfRklMRT0JJHtXUktTUkN9L0NPUFlJTkcNCiANCkBA
 IC0yMSwxNyArMjIsMjQgQEANCiANCiBDT05GTElDVFM9CWtkZW11bHRpbWVkaWEtMy5bMS0zXSoN
 CiANCi1OT19TVEFHRT0JeWVzDQorUEFUQ0hESVI9CSR7TUFTVEVSRElSfS8uLi9ha29kZS9maWxl
 cw0KK1dSS1NSQz0JCSR7V1JLRElSfS9ha29kZS0ke1BPUlRWRVJTSU9OfQ0KK0JVSUxEX1dSS1NS
 Qz0JJHtXUktTUkN9L2Frb2RlDQorSU5TVEFMTF9XUktTUkM9CSR7V1JLU1JDfS9ha29kZS9wbHVn
 aW5zLyR7UExVR0lOfQ0KKw0KIFBMVUdJTj0JCWZmbXBlZ19kZWNvZGVyDQogUE9SVE5BTUVTVUZY
 PQkke1BMVUdJTjpTL19zaW5rLy86Uy9fZGVjb2Rlci8vOlMvc3JjXy8vfQ0KIA0KK05PX1NUQUdF
 PQl5ZXMNCiBVU0VTPQkJZ21ha2UNCi1VU0VfQVVUT1RPT0xTPQlsaWJsdGRsDQotVVNFX0FVVE9U
 T09MUz0JbGlidG9vbA0KK1VTRV9BVVRPVE9PTFM9CWxpYmx0ZGwgbGlidG9vbA0KIFVTRV9CWklQ
 Mj0JeWVzDQotV1JLU1JDPQkJJHtXUktESVJ9L2Frb2RlLSR7UE9SVFZFUlNJT059DQogVVNFX0xE
 Q09ORklHPQl5ZXMNCiANCitQTElTVF9GSUxFUz0JbGliL2xpYmFrb2RlXyR7UExVR0lOfS5hIFwN
 CisJCWxpYi9saWJha29kZV8ke1BMVUdJTn0ubGEgXA0KKwkJbGliL2xpYmFrb2RlXyR7UExVR0lO
 fS5zbw0KKw0KIExERkxBR1MrPQktTCR7V1JLU1JDfS9ha29kZS9saWIvLmxpYnMNCiBDT05GSUdV
 UkVfQVJHUys9LS13aXRoLWV4dHJhLWxpYnM9JHtMT0NBTEJBU0V9L2xpYiBcDQogCQktLXdpdGgt
 ZXh0cmEtaW5jbHVkZXM9JHtMT0NBTEJBU0V9L2luY2x1ZGUNCkBAIC0zOSwxNCArNDcsMTAgQEAN
 CiBwb3N0LXBhdGNoOg0KIAlAJHtTRVRFTlZ9IFRaPVVUQyBcDQogCSR7VE9VQ0h9IC10IDIwMDYw
 NzIyMjIxNy4wMSAke1dSS1NSQ30vYWtvZGUvbGliL2Frb2RlX2V4cG9ydC5oLmluDQorCSR7UkVJ
 TlBMQUNFX0NNRH0gLWUgJ3N8XlNVQkRJUlMgPS4qfFNVQkRJUlMgPSBsaWIgcGx1Z2luc3xnJyBc
 DQorCQkke1dSS1NSQ30vYWtvZGUvTWFrZWZpbGUuaW4NCiANCiBwcmUtY29uZmlndXJlOg0KIAlA
 JHtSRUlOUExBQ0VfQ01EfSAtZSAnc0AlJVNVQkRJUlMlJUAke1BMVUdJTn1AZycgJHtXUktTUkN9
 L2Frb2RlL3BsdWdpbnMvTWFrZWZpbGUuaW4NCiANCi1kby1idWlsZDoNCi0JY2QgJHtXUktTUkN9
 L2Frb2RlICYmICR7R01BS0V9DQotDQotZG8taW5zdGFsbDoNCi0JY2QgJHtXUktTUkN9L2Frb2Rl
 L3BsdWdpbnMvJHtQTFVHSU59ICYmICR7R01BS0V9IGluc3RhbGwNCi0NCiAuaW5jbHVkZSA8YnNk
 LnBvcnQubWs+DQpJbmRleDogYWtvZGUtcGx1Z2lucy1mZm1wZWcvZmlsZXMvcGF0Y2gtYWtvZGVf
 TWFrZWZpbGUuaW4NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBha29kZS1wbHVnaW5zLWZmbXBlZy9maWxlcy9w
 YXRjaC1ha29kZV9NYWtlZmlsZS5pbgkocmV2aXNpb24gMzI4MzA5KQ0KKysrIGFrb2RlLXBsdWdp
 bnMtZmZtcGVnL2ZpbGVzL3BhdGNoLWFrb2RlX01ha2VmaWxlLmluCSh3b3JraW5nIGNvcHkpDQpA
 QCAtMSwxMSArMCwwIEBADQotLS0tIGFrb2RlL01ha2VmaWxlLmluLm9yaWcJVHVlIE5vdiAyOSAx
 Nzo1MToxOSAyMDA1DQotKysrIGFrb2RlL01ha2VmaWxlLmluCVR1ZSBOb3YgMjkgMTc6NTE6MDUg
 MjAwNQ0KLUBAIC0yNDcsNyArMjQ3LDcgQEANCi0gdW5zZXJtYWtlX2VuYWJsZV9wY2hfRkFMU0Ug
 PSBAdW5zZXJtYWtlX2VuYWJsZV9wY2hfRkFMU0VADQotIHVuc2VybWFrZV9lbmFibGVfcGNoX1RS
 VUUgPSBAdW5zZXJtYWtlX2VuYWJsZV9wY2hfVFJVRUANCi0gYmluX1NDUklQVFMgPSBha29kZS1j
 b25maWcNCi0tU1VCRElSUyA9IGxpYiBwbHVnaW5zIGFrb2RlcGxheQ0KLStTVUJESVJTID0gbGli
 IHBsdWdpbnMNCi0gIz4tIGFsbDogYWxsLXJlY3Vyc2l2ZQ0KLSAjPisgMQ0KLSBhbGw6IGRvY3Mt
 YW0gIGFsbC1yZWN1cnNpdmUNCkluZGV4OiBha29kZS1wbHVnaW5zLWZmbXBlZy9maWxlcy9wYXRj
 aC1ha29kZV9fcGx1Z2luc19fZmZtcGVnX2RlY29kZXJfX2ZmbXBlZ19kZWNvZGVyLmNwcA0KPT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PQ0KLS0tIGFrb2RlLXBsdWdpbnMtZmZtcGVnL2ZpbGVzL3BhdGNoLWFrb2RlX19wbHVn
 aW5zX19mZm1wZWdfZGVjb2Rlcl9fZmZtcGVnX2RlY29kZXIuY3BwCShyZXZpc2lvbiAzMjgzMDkp
 DQorKysgYWtvZGUtcGx1Z2lucy1mZm1wZWcvZmlsZXMvcGF0Y2gtYWtvZGVfX3BsdWdpbnNfX2Zm
 bXBlZ19kZWNvZGVyX19mZm1wZWdfZGVjb2Rlci5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC0xLDIw
 ICswLDAgQEANCi0tLS0gLi9ha29kZS9wbHVnaW5zL2ZmbXBlZ19kZWNvZGVyL2ZmbXBlZ19kZWNv
 ZGVyLmNwcC5vcmlnCTIwMDYtMDgtMTAgMTU6Mzc6MjAuMDAwMDAwMDAwIC0wMzAwDQotKysrIC4v
 YWtvZGUvcGx1Z2lucy9mZm1wZWdfZGVjb2Rlci9mZm1wZWdfZGVjb2Rlci5jcHAJMjAwOS0xMS0x
 MyAyMjo0OToxMi4wMDAwMDAwMDAgLTAyMDANCi1AQCAtNDUsNyArNDUsNyBAQA0KLSAgICAgICAg
 IGFLb2RlOjpGaWxlICpmaWxlID0gKGFLb2RlOjpGaWxlKilvcGFxdWU7DQotICAgICAgICAgcmV0
 dXJuIGZpbGUtPndyaXRlKChjaGFyKilidWYsIHNpemUpOw0KLSAgICAgfQ0KLS0gICAgc3RhdGlj
 IG9mZnNldF90IGFrb2RlX3NlZWsodm9pZCogb3BhcXVlLCBvZmZzZXRfdCBwb3MsIGludCB3aGVu
 Y2UpDQotKyAgICBzdGF0aWMgaW50NjRfdCBha29kZV9zZWVrKHZvaWQqIG9wYXF1ZSwgaW50NjRf
 dCBwb3MsIGludCB3aGVuY2UpDQotICAgICB7DQotICAgICAgICAgYUtvZGU6OkZpbGUgKmZpbGUg
 PSAoYUtvZGU6OkZpbGUqKW9wYXF1ZTsNCi0gICAgICAgICByZXR1cm4gZmlsZS0+c2Vlayhwb3Ms
 IHdoZW5jZSk7DQotQEAgLTMxNCw3ICszMTQsNyBAQA0KLSAgICAgYXNzZXJ0KGQtPnBhY2tldC5z
 dHJlYW1faW5kZXggPT0gZC0+YXVkaW9TdHJlYW0pOw0KLSANCi0gcmV0cnk6DQotLSAgICBpbnQg
 bGVuID0gYXZjb2RlY19kZWNvZGVfYXVkaW8oIGQtPmljLT5zdHJlYW1zW2QtPmF1ZGlvU3RyZWFt
 XS0+Y29kZWMsDQotKyAgICBpbnQgbGVuID0gYXZjb2RlY19kZWNvZGVfYXVkaW8yKCBkLT5pYy0+
 c3RyZWFtc1tkLT5hdWRpb1N0cmVhbV0tPmNvZGVjLA0KLSAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAoc2hvcnQqKWQtPmJ1ZmZlciwgJmQtPmJ1ZmZlcl9zaXplLA0KLSAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLT5wYWNrZXREYXRhLCBkLT5wYWNrZXRT
 aXplICk7DQotIA0KSW5kZXg6IGFrb2RlLXBsdWdpbnMtZmZtcGVnL2ZpbGVzL3BhdGNoLWFrb2Rl
 X3BsdWdpbnMtTWFrZWZpbGUuaW4NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBha29kZS1wbHVnaW5zLWZmbXBl
 Zy9maWxlcy9wYXRjaC1ha29kZV9wbHVnaW5zLU1ha2VmaWxlLmluCShyZXZpc2lvbiAzMjgzMDkp
 DQorKysgYWtvZGUtcGx1Z2lucy1mZm1wZWcvZmlsZXMvcGF0Y2gtYWtvZGVfcGx1Z2lucy1NYWtl
 ZmlsZS5pbgkod29ya2luZyBjb3B5KQ0KQEAgLTEsMTUgKzAsMCBAQA0KLS0tLSBha29kZS9wbHVn
 aW5zL01ha2VmaWxlLmluLm9yaWcJVHVlIE5vdiAyOSAxODoxMDoyMCAyMDA1DQotKysrIGFrb2Rl
 L3BsdWdpbnMvTWFrZWZpbGUuaW4JVHVlIE5vdiAyOSAxODoxMDo0NSAyMDA1DQotQEAgLTI1Miwx
 MSArMjUyLDcgQEANCi0gQGluY2x1ZGVfc3VuX3NpbmtfVFJVRUBBS09ERV9TVU5fU0lOSyA9IHN1
 bl9zaW5rDQotIEBpbmNsdWRlX2phY2tfc2lua19UUlVFQEFLT0RFX0pBQ0tfU0lOSyA9IGphY2tf
 c2luaw0KLSBAaW5jbHVkZV9wb2x5cF9zaW5rX1RSVUVAQUtPREVfUE9MWVBfU0lOSyA9IHBvbHlw
 X3NpbmsNCi0tU1VCRElSUyA9ICQoQUtPREVfTVBDX0RFQ09ERVIpICQoQUtPREVfWElQSF9ERUNP
 REVSKSBcDQotLSAgICAgICAgICQoQUtPREVfTVBFR19ERUNPREVSKSAkKEFLT0RFX0ZGTVBFR19E
 RUNPREVSKSBcDQotLSAgICAgICAgICQoQUtPREVfQUxTQV9TSU5LKSAkKEFLT0RFX09TU19TSU5L
 KSAkKEFLT0RFX1NVTl9TSU5LKSBcDQotLSAgICAgICAgICQoQUtPREVfSkFDS19TSU5LKSAkKEFL
 T0RFX1BPTFlQX1NJTkspIFwNCi0tICAgICAgICAgJChBS09ERV9TUkNfUkVTQU1QTEVSKQ0KLStT
 VUJESVJTID0gJSVTVUJESVJTJSUNCi0gDQotICM+LSBhbGw6IGFsbC1yZWN1cnNpdmUNCi0gIz4r
 IDENCkluZGV4OiBha29kZS1wbHVnaW5zLWZmbXBlZy9wa2ctcGxpc3QNCj09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t
 LSBha29kZS1wbHVnaW5zLWZmbXBlZy9wa2ctcGxpc3QJKHJldmlzaW9uIDMyODMwOSkNCisrKyBh
 a29kZS1wbHVnaW5zLWZmbXBlZy9wa2ctcGxpc3QJKHdvcmtpbmcgY29weSkNCkBAIC0xLDMgKzAs
 MCBAQA0KLWxpYi9saWJha29kZV9mZm1wZWdfZGVjb2Rlci5hDQotbGliL2xpYmFrb2RlX2ZmbXBl
 Z19kZWNvZGVyLmxhDQotbGliL2xpYmFrb2RlX2ZmbXBlZ19kZWNvZGVyLnNvDQpJbmRleDogYWtv
 ZGUtcGx1Z2lucy1qYWNrL01ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gYWtvZGUtcGx1Z2lucy1q
 YWNrL01ha2VmaWxlCShyZXZpc2lvbiAzMjgzMDkpDQorKysgYWtvZGUtcGx1Z2lucy1qYWNrL01h
 a2VmaWxlCSh3b3JraW5nIGNvcHkpDQpAQCAtMSwxNyArMSwxOSBAQA0KICMgQ3JlYXRlZCBieTog
 TWljaGFlbCBOb3R0ZWJyb2NrIDxsb2ZpQEZyZWVCU0Qub3JnPg0KICMgJEZyZWVCU0QkDQogDQot
 UE9SVE5BTUU9CWFrb2RlLXBsdWdpbnMtJHtQT1JUTkFNRVNVRlh9DQorUE9SVE5BTUU9CWFrb2Rl
 DQogUE9SVFZFUlNJT049CTIuMC4yDQogUE9SVEVQT0NIPQkxDQogQ0FURUdPUklFUz0JYXVkaW8g
 a2RlDQogTUFTVEVSX1NJVEVTPQlodHRwOi8vd3d3LmtkZS1hcHBzLm9yZy9DT05URU5UL2NvbnRl
 bnQtZmlsZXMvIFwNCiAJCSR7TUFTVEVSX1NJVEVfTE9DQUx9DQotTUFTVEVSX1NJVEVfU1VCRElS
 PWxhc3psb2YNCitNQVNURVJfU0lURV9TVUJESVI9CWxhc3psb2YNCitQS0dOQU1FU1VGRklYPQkt
 cGx1Z2lucy0ke1BPUlROQU1FU1VGWH0NCiBESVNUTkFNRT0JMzAzNzUtYWtvZGUtJHtQT1JUVkVS
 U0lPTn0NCiANCiBNQUlOVEFJTkVSPQlzd2hldHplbEBnbWFpbC5jb20NCiBDT01NRU5UPQlKYWNr
 IG91dHB1dCBwbHVnaW4gZm9yIGFrb2RlDQorDQogTElDRU5TRT0JTEdQTDIwDQogTElDRU5TRV9G
 SUxFPQkke1dSS1NSQ30vQ09QWUlORw0KIA0KQEAgLTE5LDE3ICsyMSwyNCBAQA0KIA0KIENPTkZM
 SUNUUz0Ja2RlbXVsdGltZWRpYS0zLlsxLTNdKg0KIA0KLU5PX1NUQUdFPQl5ZXMNCitQQVRDSERJ
 Uj0JJHtNQVNURVJESVJ9Ly4uL2Frb2RlL2ZpbGVzDQorV1JLU1JDPQkJJHtXUktESVJ9L2Frb2Rl
 LSR7UE9SVFZFUlNJT059DQorQlVJTERfV1JLU1JDPQkke1dSS1NSQ30vYWtvZGUNCitJTlNUQUxM
 X1dSS1NSQz0JJHtXUktTUkN9L2Frb2RlL3BsdWdpbnMvJHtQTFVHSU59DQorDQogUExVR0lOPQkJ
 amFja19zaW5rDQogUE9SVE5BTUVTVUZYPQkke1BMVUdJTjpTL19zaW5rLy86Uy9fZGVjb2Rlci8v
 OlMvc3JjXy8vfQ0KIA0KK05PX1NUQUdFPQl5ZXMNCiBVU0VTPQkJZ21ha2UNCi1VU0VfQVVUT1RP
 T0xTPQlsaWJsdGRsDQotVVNFX0FVVE9UT09MUz0JbGlidG9vbA0KK1VTRV9BVVRPVE9PTFM9CWxp
 Ymx0ZGwgbGlidG9vbA0KIFVTRV9CWklQMj0JeWVzDQotV1JLU1JDPQkJJHtXUktESVJ9L2Frb2Rl
 LSR7UE9SVFZFUlNJT059DQogVVNFX0xEQ09ORklHPQl5ZXMNCiANCitQTElTVF9GSUxFUz0JbGli
 L2xpYmFrb2RlXyR7UExVR0lOfS5hIFwNCisJCWxpYi9saWJha29kZV8ke1BMVUdJTn0ubGEgXA0K
 KwkJbGliL2xpYmFrb2RlXyR7UExVR0lOfS5zbw0KKw0KIExERkxBR1MrPQktTCR7V1JLU1JDfS9h
 a29kZS9saWIvLmxpYnMNCiBDT05GSUdVUkVfQVJHUys9LS13aXRoLWV4dHJhLWxpYnM9JHtMT0NB
 TEJBU0V9L2xpYiBcDQogCQktLXdpdGgtZXh0cmEtaW5jbHVkZXM9JHtMT0NBTEJBU0V9L2luY2x1
 ZGUNCkBAIC0zNywxNCArNDYsMTAgQEANCiBwb3N0LXBhdGNoOg0KIAlAJHtTRVRFTlZ9IFRaPVVU
 QyBcDQogCSR7VE9VQ0h9IC10IDIwMDYwNzIyMjIxNy4wMSAke1dSS1NSQ30vYWtvZGUvbGliL2Fr
 b2RlX2V4cG9ydC5oLmluDQorCSR7UkVJTlBMQUNFX0NNRH0gLWUgJ3N8XlNVQkRJUlMgPS4qfFNV
 QkRJUlMgPSBsaWIgcGx1Z2luc3xnJyBcDQorCQkke1dSS1NSQ30vYWtvZGUvTWFrZWZpbGUuaW4N
 CiANCiBwcmUtY29uZmlndXJlOg0KIAlAJHtSRUlOUExBQ0VfQ01EfSAtZSAnc0AlJVNVQkRJUlMl
 JUAke1BMVUdJTn1AZycgJHtXUktTUkN9L2Frb2RlL3BsdWdpbnMvTWFrZWZpbGUuaW4NCiANCi1k
 by1idWlsZDoNCi0JY2QgJHtXUktTUkN9L2Frb2RlICYmICR7R01BS0V9DQotDQotZG8taW5zdGFs
 bDoNCi0JY2QgJHtXUktTUkN9L2Frb2RlL3BsdWdpbnMvJHtQTFVHSU59ICYmICR7R01BS0V9IGlu
 c3RhbGwNCi0NCiAuaW5jbHVkZSA8YnNkLnBvcnQubWs+DQpJbmRleDogYWtvZGUtcGx1Z2lucy1q
 YWNrL2ZpbGVzL3BhdGNoLWFrb2RlX01ha2VmaWxlLmluDQo9PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gYWtvZGUt
 cGx1Z2lucy1qYWNrL2ZpbGVzL3BhdGNoLWFrb2RlX01ha2VmaWxlLmluCShyZXZpc2lvbiAzMjgz
 MDkpDQorKysgYWtvZGUtcGx1Z2lucy1qYWNrL2ZpbGVzL3BhdGNoLWFrb2RlX01ha2VmaWxlLmlu
 CSh3b3JraW5nIGNvcHkpDQpAQCAtMSwxMSArMCwwIEBADQotLS0tIGFrb2RlL01ha2VmaWxlLmlu
 Lm9yaWcJVHVlIE5vdiAyOSAxNzo1MToxOSAyMDA1DQotKysrIGFrb2RlL01ha2VmaWxlLmluCVR1
 ZSBOb3YgMjkgMTc6NTE6MDUgMjAwNQ0KLUBAIC0yNDcsNyArMjQ3LDcgQEANCi0gdW5zZXJtYWtl
 X2VuYWJsZV9wY2hfRkFMU0UgPSBAdW5zZXJtYWtlX2VuYWJsZV9wY2hfRkFMU0VADQotIHVuc2Vy
 bWFrZV9lbmFibGVfcGNoX1RSVUUgPSBAdW5zZXJtYWtlX2VuYWJsZV9wY2hfVFJVRUANCi0gYmlu
 X1NDUklQVFMgPSBha29kZS1jb25maWcNCi0tU1VCRElSUyA9IGxpYiBwbHVnaW5zIGFrb2RlcGxh
 eQ0KLStTVUJESVJTID0gbGliIHBsdWdpbnMNCi0gIz4tIGFsbDogYWxsLXJlY3Vyc2l2ZQ0KLSAj
 PisgMQ0KLSBhbGw6IGRvY3MtYW0gIGFsbC1yZWN1cnNpdmUNCkluZGV4OiBha29kZS1wbHVnaW5z
 LWphY2svZmlsZXMvcGF0Y2gtYWtvZGVfcGx1Z2lucy1NYWtlZmlsZS5pbg0KPT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K
 LS0tIGFrb2RlLXBsdWdpbnMtamFjay9maWxlcy9wYXRjaC1ha29kZV9wbHVnaW5zLU1ha2VmaWxl
 LmluCShyZXZpc2lvbiAzMjgzMDkpDQorKysgYWtvZGUtcGx1Z2lucy1qYWNrL2ZpbGVzL3BhdGNo
 LWFrb2RlX3BsdWdpbnMtTWFrZWZpbGUuaW4JKHdvcmtpbmcgY29weSkNCkBAIC0xLDE1ICswLDAg
 QEANCi0tLS0gYWtvZGUvcGx1Z2lucy9NYWtlZmlsZS5pbi5vcmlnCVR1ZSBOb3YgMjkgMTg6MTA6
 MjAgMjAwNQ0KLSsrKyBha29kZS9wbHVnaW5zL01ha2VmaWxlLmluCVR1ZSBOb3YgMjkgMTg6MTA6
 NDUgMjAwNQ0KLUBAIC0yNTIsMTEgKzI1Miw3IEBADQotIEBpbmNsdWRlX3N1bl9zaW5rX1RSVUVA
 QUtPREVfU1VOX1NJTksgPSBzdW5fc2luaw0KLSBAaW5jbHVkZV9qYWNrX3NpbmtfVFJVRUBBS09E
 RV9KQUNLX1NJTksgPSBqYWNrX3NpbmsNCi0gQGluY2x1ZGVfcG9seXBfc2lua19UUlVFQEFLT0RF
 X1BPTFlQX1NJTksgPSBwb2x5cF9zaW5rDQotLVNVQkRJUlMgPSAkKEFLT0RFX01QQ19ERUNPREVS
 KSAkKEFLT0RFX1hJUEhfREVDT0RFUikgXA0KLS0gICAgICAgICAkKEFLT0RFX01QRUdfREVDT0RF
 UikgJChBS09ERV9GRk1QRUdfREVDT0RFUikgXA0KLS0gICAgICAgICAkKEFLT0RFX0FMU0FfU0lO
 SykgJChBS09ERV9PU1NfU0lOSykgJChBS09ERV9TVU5fU0lOSykgXA0KLS0gICAgICAgICAkKEFL
 T0RFX0pBQ0tfU0lOSykgJChBS09ERV9QT0xZUF9TSU5LKSBcDQotLSAgICAgICAgICQoQUtPREVf
 U1JDX1JFU0FNUExFUikNCi0rU1VCRElSUyA9ICUlU1VCRElSUyUlDQotIA0KLSAjPi0gYWxsOiBh
 bGwtcmVjdXJzaXZlDQotICM+KyAxDQpJbmRleDogYWtvZGUtcGx1Z2lucy1qYWNrL3BrZy1wbGlz
 dA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PQ0KLS0tIGFrb2RlLXBsdWdpbnMtamFjay9wa2ctcGxpc3QJKHJldmlzaW9u
 IDMyODMwOSkNCisrKyBha29kZS1wbHVnaW5zLWphY2svcGtnLXBsaXN0CSh3b3JraW5nIGNvcHkp
 DQpAQCAtMSwzICswLDAgQEANCi1saWIvbGliYWtvZGVfamFja19zaW5rLmENCi1saWIvbGliYWtv
 ZGVfamFja19zaW5rLmxhDQotbGliL2xpYmFrb2RlX2phY2tfc2luay5zbw0KSW5kZXg6IGFrb2Rl
 LXBsdWdpbnMtbXBjL01ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gYWtvZGUtcGx1Z2lucy1tcGMv
 TWFrZWZpbGUJKHJldmlzaW9uIDMyODMwOSkNCisrKyBha29kZS1wbHVnaW5zLW1wYy9NYWtlZmls
 ZQkod29ya2luZyBjb3B5KQ0KQEAgLTEsNyArMSw3IEBADQogIyBDcmVhdGVkIGJ5OiBNaWNoYWVs
 IE5vdHRlYnJvY2sgPGxvZmlARnJlZUJTRC5vcmc+DQogIyAkRnJlZUJTRCQNCiANCi1QT1JUTkFN
 RT0JYWtvZGUtcGx1Z2lucy0ke1BPUlROQU1FU1VGWH0NCitQT1JUTkFNRT0JYWtvZGUNCiBQT1JU
 VkVSU0lPTj0JMi4wLjINCiBQT1JURVBPQ0g9CTENCiBDQVRFR09SSUVTPQlhdWRpbyBrZGUNCkBA
 IC04LDMwICs4LDM0IEBADQogTUFTVEVSX1NJVEVTPSAgIGh0dHA6Ly93d3cua2RlLWFwcHMub3Jn
 L0NPTlRFTlQvY29udGVudC1maWxlcy8gXA0KIAkJJHtNQVNURVJfU0lURV9MT0NBTH0NCiBNQVNU
 RVJfU0lURV9TVUJESVI9CWxhc3psb2YNCitQS0dOQU1FU1VGRklYPQktcGx1Z2lucy0ke1BPUlRO
 QU1FU1VGWH0NCiBESVNUTkFNRT0JMzAzNzUtYWtvZGUtJHtQT1JUVkVSU0lPTn0NCiANCiBNQUlO
 VEFJTkVSPQlzd2hldHplbEBnbWFpbC5jb20NCiBDT01NRU5UPQlNdXNlcGFjayBkZWNvZGVyIHBs
 dWdpbiBmb3IgYWtvZGUNCisNCiBMSUNFTlNFPQlMR1BMMjANCiBMSUNFTlNFX0ZJTEU9CSR7V1JL
 U1JDfS9DT1BZSU5HDQogDQogQ09ORkxJQ1RTPQlrZGVtdWx0aW1lZGlhLTMuWzEtM10qDQogDQot
 Tk9fU1RBR0U9CXllcw0KK1BBVENIRElSPQkke01BU1RFUkRJUn0vLi4vYWtvZGUvZmlsZXMNCitX
 UktTUkM9CQkke1dSS0RJUn0vYWtvZGUtJHtQT1JUVkVSU0lPTn0NCitCVUlMRF9XUktTUkM9CSR7
 V1JLU1JDfS9ha29kZQ0KK0lOU1RBTExfV1JLU1JDPQkke1dSS1NSQ30vYWtvZGUvcGx1Z2lucy8k
 e1BMVUdJTn0NCisNCiBQTFVHSU49CQltcGNfZGVjb2Rlcg0KIFBPUlROQU1FU1VGWD0JJHtQTFVH
 SU46Uy9fc2luay8vOlMvX2RlY29kZXIvLzpTL3NyY18vL30NCiANCitOT19TVEFHRT0JeWVzDQog
 VVNFUz0JCWdtYWtlDQotVVNFX0FVVE9UT09MUz0JbGlibHRkbA0KLVVTRV9BVVRPVE9PTFM9CWxp
 YnRvb2wNCitVU0VfQVVUT1RPT0xTPQlsaWJsdGRsIGxpYnRvb2wNCiBVU0VfQlpJUDI9CXllcw0K
 LVVTRV9HQ0M9CWFueQ0KLVdSS1NSQz0JCSR7V1JLRElSfS9ha29kZS0ke1BPUlRWRVJTSU9OfQ0K
 IFVTRV9MRENPTkZJRz0JeWVzDQogDQotUExJU1RfRklMRVM9CWxpYi9saWJha29kZV9tcGNfZGVj
 b2Rlci5hIFwNCi0JCWxpYi9saWJha29kZV9tcGNfZGVjb2Rlci5sYSBcDQotCQlsaWIvbGliYWtv
 ZGVfbXBjX2RlY29kZXIuc28NCitQTElTVF9GSUxFUz0JbGliL2xpYmFrb2RlXyR7UExVR0lOfS5h
 IFwNCisJCWxpYi9saWJha29kZV8ke1BMVUdJTn0ubGEgXA0KKwkJbGliL2xpYmFrb2RlXyR7UExV
 R0lOfS5zbw0KIA0KIExERkxBR1MrPQktTCR7V1JLU1JDfS9ha29kZS9saWIvLmxpYnMNCiBDT05G
 SUdVUkVfQVJHUys9LS13aXRoLWV4dHJhLWxpYnM9JHtMT0NBTEJBU0V9L2xpYiBcDQpAQCAtNDAs
 MTQgKzQ0LDEwIEBADQogcG9zdC1wYXRjaDoNCiAJQCR7U0VURU5WfSBUWj1VVEMgXA0KIAkke1RP
 VUNIfSAtdCAyMDA2MDcyMjIyMTcuMDEgJHtXUktTUkN9L2Frb2RlL2xpYi9ha29kZV9leHBvcnQu
 aC5pbg0KKwkke1JFSU5QTEFDRV9DTUR9IC1lICdzfF5TVUJESVJTID0uKnxTVUJESVJTID0gbGli
 IHBsdWdpbnN8ZycgXA0KKwkJJHtXUktTUkN9L2Frb2RlL01ha2VmaWxlLmluDQogDQogcHJlLWNv
 bmZpZ3VyZToNCiAJQCR7UkVJTlBMQUNFX0NNRH0gLWUgJ3NAJSVTVUJESVJTJSVAJHtQTFVHSU59
 QGcnICR7V1JLU1JDfS9ha29kZS9wbHVnaW5zL01ha2VmaWxlLmluDQogDQotZG8tYnVpbGQ6DQot
 CWNkICR7V1JLU1JDfS9ha29kZSAmJiAke0dNQUtFfQ0KLQ0KLWRvLWluc3RhbGw6DQotCWNkICR7
 V1JLU1JDfS9ha29kZS9wbHVnaW5zLyR7UExVR0lOfSAmJiAke0dNQUtFfSBpbnN0YWxsDQotDQog
 LmluY2x1ZGUgPGJzZC5wb3J0Lm1rPg0KSW5kZXg6IGFrb2RlLXBsdWdpbnMtbXBjL2ZpbGVzL3Bh
 dGNoLWFrb2RlX01ha2VmaWxlLmluDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gYWtvZGUtcGx1Z2lucy1tcGMv
 ZmlsZXMvcGF0Y2gtYWtvZGVfTWFrZWZpbGUuaW4JKHJldmlzaW9uIDMyODMwOSkNCisrKyBha29k
 ZS1wbHVnaW5zLW1wYy9maWxlcy9wYXRjaC1ha29kZV9NYWtlZmlsZS5pbgkod29ya2luZyBjb3B5
 KQ0KQEAgLTEsMTEgKzAsMCBAQA0KLS0tLSBha29kZS9NYWtlZmlsZS5pbi5vcmlnCVR1ZSBOb3Yg
 MjkgMTc6NTE6MTkgMjAwNQ0KLSsrKyBha29kZS9NYWtlZmlsZS5pbglUdWUgTm92IDI5IDE3OjUx
 OjA1IDIwMDUNCi1AQCAtMjQ3LDcgKzI0Nyw3IEBADQotIHVuc2VybWFrZV9lbmFibGVfcGNoX0ZB
 TFNFID0gQHVuc2VybWFrZV9lbmFibGVfcGNoX0ZBTFNFQA0KLSB1bnNlcm1ha2VfZW5hYmxlX3Bj
 aF9UUlVFID0gQHVuc2VybWFrZV9lbmFibGVfcGNoX1RSVUVADQotIGJpbl9TQ1JJUFRTID0gYWtv
 ZGUtY29uZmlnDQotLVNVQkRJUlMgPSBsaWIgcGx1Z2lucyBha29kZXBsYXkNCi0rU1VCRElSUyA9
 IGxpYiBwbHVnaW5zDQotICM+LSBhbGw6IGFsbC1yZWN1cnNpdmUNCi0gIz4rIDENCi0gYWxsOiBk
 b2NzLWFtICBhbGwtcmVjdXJzaXZlDQpJbmRleDogYWtvZGUtcGx1Z2lucy1tcGMvZmlsZXMvcGF0
 Y2gtYWtvZGVfcGx1Z2lucy1NYWtlZmlsZS5pbg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGFrb2RlLXBsdWdp
 bnMtbXBjL2ZpbGVzL3BhdGNoLWFrb2RlX3BsdWdpbnMtTWFrZWZpbGUuaW4JKHJldmlzaW9uIDMy
 ODMwOSkNCisrKyBha29kZS1wbHVnaW5zLW1wYy9maWxlcy9wYXRjaC1ha29kZV9wbHVnaW5zLU1h
 a2VmaWxlLmluCSh3b3JraW5nIGNvcHkpDQpAQCAtMSwxNSArMCwwIEBADQotLS0tIGFrb2RlL3Bs
 dWdpbnMvTWFrZWZpbGUuaW4ub3JpZwlUdWUgTm92IDI5IDE4OjEwOjIwIDIwMDUNCi0rKysgYWtv
 ZGUvcGx1Z2lucy9NYWtlZmlsZS5pbglUdWUgTm92IDI5IDE4OjEwOjQ1IDIwMDUNCi1AQCAtMjUy
 LDExICsyNTIsNyBAQA0KLSBAaW5jbHVkZV9zdW5fc2lua19UUlVFQEFLT0RFX1NVTl9TSU5LID0g
 c3VuX3NpbmsNCi0gQGluY2x1ZGVfamFja19zaW5rX1RSVUVAQUtPREVfSkFDS19TSU5LID0gamFj
 a19zaW5rDQotIEBpbmNsdWRlX3BvbHlwX3NpbmtfVFJVRUBBS09ERV9QT0xZUF9TSU5LID0gcG9s
 eXBfc2luaw0KLS1TVUJESVJTID0gJChBS09ERV9NUENfREVDT0RFUikgJChBS09ERV9YSVBIX0RF
 Q09ERVIpIFwNCi0tICAgICAgICAgJChBS09ERV9NUEVHX0RFQ09ERVIpICQoQUtPREVfRkZNUEVH
 X0RFQ09ERVIpIFwNCi0tICAgICAgICAgJChBS09ERV9BTFNBX1NJTkspICQoQUtPREVfT1NTX1NJ
 TkspICQoQUtPREVfU1VOX1NJTkspIFwNCi0tICAgICAgICAgJChBS09ERV9KQUNLX1NJTkspICQo
 QUtPREVfUE9MWVBfU0lOSykgXA0KLS0gICAgICAgICAkKEFLT0RFX1NSQ19SRVNBTVBMRVIpDQot
 K1NVQkRJUlMgPSAlJVNVQkRJUlMlJQ0KLSANCi0gIz4tIGFsbDogYWxsLXJlY3Vyc2l2ZQ0KLSAj
 PisgMQ0KSW5kZXg6IGFrb2RlLXBsdWdpbnMtbXBlZy9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0t
 IGFrb2RlLXBsdWdpbnMtbXBlZy9NYWtlZmlsZQkocmV2aXNpb24gMzI4MzA5KQ0KKysrIGFrb2Rl
 LXBsdWdpbnMtbXBlZy9NYWtlZmlsZQkod29ya2luZyBjb3B5KQ0KQEAgLTEsNyArMSw3IEBADQog
 IyBDcmVhdGVkIGJ5OiBNaWNoYWVsIE5vdHRlYnJvY2sgPGxvZmlARnJlZUJTRC5vcmc+DQogIyAk
 RnJlZUJTRCQNCiANCi1QT1JUTkFNRT0JYWtvZGUtcGx1Z2lucy0ke1BPUlROQU1FU1VGWH0NCitQ
 T1JUTkFNRT0JYWtvZGUNCiBQT1JUVkVSU0lPTj0JMi4wLjINCiBQT1JURVBPQ0g9CTENCiBDQVRF
 R09SSUVTPQlhdWRpbyBrZGUNCkBAIC04LDEwICs4LDEyIEBADQogTUFTVEVSX1NJVEVTPQlodHRw
 Oi8vd3d3LmtkZS1hcHBzLm9yZy9DT05URU5UL2NvbnRlbnQtZmlsZXMvIFwNCiAJCSR7TUFTVEVS
 X1NJVEVfTE9DQUx9DQogTUFTVEVSX1NJVEVfU1VCRElSPQlsYXN6bG9mDQorUEtHTkFNRVNVRkZJ
 WD0JLXBsdWdpbnMtJHtQT1JUTkFNRVNVRlh9DQogRElTVE5BTUU9CTMwMzc1LWFrb2RlLSR7UE9S
 VFZFUlNJT059DQogDQogTUFJTlRBSU5FUj0Jc3doZXR6ZWxAZ21haWwuY29tDQogQ09NTUVOVD0J
 TVBFRyBhdWRpbyBkZWNvZGVyIHBsdWdpbiBmb3IgYWtvZGUNCisNCiBMSUNFTlNFPQlMR1BMMjAN
 CiBMSUNFTlNFX0ZJTEU9CSR7V1JLU1JDfS9DT1BZSU5HDQogDQpAQCAtMTksMjEgKzIxLDIzIEBA
 DQogDQogQ09ORkxJQ1RTPQlrZGVtdWx0aW1lZGlhLTMuWzEtM10qDQogDQotTk9fU1RBR0U9CXll
 cw0KK1BBVENIRElSPQkke01BU1RFUkRJUn0vLi4vYWtvZGUvZmlsZXMNCitXUktTUkM9CQkke1dS
 S0RJUn0vYWtvZGUtJHtQT1JUVkVSU0lPTn0NCitCVUlMRF9XUktTUkM9CSR7V1JLU1JDfS9ha29k
 ZQ0KK0lOU1RBTExfV1JLU1JDPQkke1dSS1NSQ30vYWtvZGUvcGx1Z2lucy8ke1BMVUdJTn0NCisN
 CiBQTFVHSU49CQltcGVnX2RlY29kZXINCiBQT1JUTkFNRVNVRlg9CSR7UExVR0lOOlMvX3Npbmsv
 LzpTL19kZWNvZGVyLy86Uy9zcmNfLy99DQogDQorTk9fU1RBR0U9CXllcw0KIFVTRVM9CQlnbWFr
 ZQ0KLVVTRV9BVVRPVE9PTFM9CWxpYmx0ZGwNCi1VU0VfQVVUT1RPT0xTPQlsaWJ0b29sDQorVVNF
 X0FVVE9UT09MUz0JbGlibHRkbCBsaWJ0b29sDQogVVNFX0JaSVAyPQl5ZXMNCi1VU0VfR0NDPQlh
 bnkNCi1XUktTUkM9CQkke1dSS0RJUn0vYWtvZGUtJHtQT1JUVkVSU0lPTn0NCiBVU0VfTERDT05G
 SUc9CXllcw0KIA0KLVBMSVNUX0ZJTEVTPQlsaWIvbGliYWtvZGVfbXBlZ19kZWNvZGVyLmEgXA0K
 LQkJbGliL2xpYmFrb2RlX21wZWdfZGVjb2Rlci5sYSBcDQotCQlsaWIvbGliYWtvZGVfbXBlZ19k
 ZWNvZGVyLnNvDQorUExJU1RfRklMRVM9CWxpYi9saWJha29kZV8ke1BMVUdJTn0uYSBcDQorCQls
 aWIvbGliYWtvZGVfJHtQTFVHSU59LmxhIFwNCisJCWxpYi9saWJha29kZV8ke1BMVUdJTn0uc28N
 CiANCiBMREZMQUdTKz0JLUwke1dSS1NSQ30vYWtvZGUvbGliLy5saWJzDQogQ09ORklHVVJFX0FS
 R1MrPS0td2l0aC1leHRyYS1saWJzPSR7TE9DQUxCQVNFfS9saWIgXA0KQEAgLTQyLDE0ICs0Niwx
 MCBAQA0KIHBvc3QtcGF0Y2g6DQogCUAke1NFVEVOVn0gVFo9VVRDIFwNCiAJJHtUT1VDSH0gLXQg
 MjAwNjA3MjIyMjE3LjAxICR7V1JLU1JDfS9ha29kZS9saWIvYWtvZGVfZXhwb3J0LmguaW4NCisJ
 JHtSRUlOUExBQ0VfQ01EfSAtZSAnc3xeU1VCRElSUyA9Lip8U1VCRElSUyA9IGxpYiBwbHVnaW5z
 fGcnIFwNCisJCSR7V1JLU1JDfS9ha29kZS9NYWtlZmlsZS5pbg0KIA0KIHByZS1jb25maWd1cmU6
 DQogCUAke1JFSU5QTEFDRV9DTUR9IC1lICdzQCUlU1VCRElSUyUlQCR7UExVR0lOfUBnJyAke1dS
 S1NSQ30vYWtvZGUvcGx1Z2lucy9NYWtlZmlsZS5pbg0KIA0KLWRvLWJ1aWxkOg0KLQljZCAke1dS
 S1NSQ30vYWtvZGUgJiYgJHtHTUFLRX0NCi0NCi1kby1pbnN0YWxsOg0KLQljZCAke1dSS1NSQ30v
 YWtvZGUvcGx1Z2lucy8ke1BMVUdJTn0gJiYgJHtHTUFLRX0gaW5zdGFsbA0KLQ0KIC5pbmNsdWRl
 IDxic2QucG9ydC5taz4NCkluZGV4OiBha29kZS1wbHVnaW5zLW1wZWcvZmlsZXMvcGF0Y2gtYWtv
 ZGVfTWFrZWZpbGUuaW4NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBha29kZS1wbHVnaW5zLW1wZWcvZmlsZXMv
 cGF0Y2gtYWtvZGVfTWFrZWZpbGUuaW4JKHJldmlzaW9uIDMyODMwOSkNCisrKyBha29kZS1wbHVn
 aW5zLW1wZWcvZmlsZXMvcGF0Y2gtYWtvZGVfTWFrZWZpbGUuaW4JKHdvcmtpbmcgY29weSkNCkBA
 IC0xLDExICswLDAgQEANCi0tLS0gYWtvZGUvTWFrZWZpbGUuaW4ub3JpZwlUdWUgTm92IDI5IDE3
 OjUxOjE5IDIwMDUNCi0rKysgYWtvZGUvTWFrZWZpbGUuaW4JVHVlIE5vdiAyOSAxNzo1MTowNSAy
 MDA1DQotQEAgLTI0Nyw3ICsyNDcsNyBAQA0KLSB1bnNlcm1ha2VfZW5hYmxlX3BjaF9GQUxTRSA9
 IEB1bnNlcm1ha2VfZW5hYmxlX3BjaF9GQUxTRUANCi0gdW5zZXJtYWtlX2VuYWJsZV9wY2hfVFJV
 RSA9IEB1bnNlcm1ha2VfZW5hYmxlX3BjaF9UUlVFQA0KLSBiaW5fU0NSSVBUUyA9IGFrb2RlLWNv
 bmZpZw0KLS1TVUJESVJTID0gbGliIHBsdWdpbnMgYWtvZGVwbGF5DQotK1NVQkRJUlMgPSBsaWIg
 cGx1Z2lucw0KLSAjPi0gYWxsOiBhbGwtcmVjdXJzaXZlDQotICM+KyAxDQotIGFsbDogZG9jcy1h
 bSAgYWxsLXJlY3Vyc2l2ZQ0KSW5kZXg6IGFrb2RlLXBsdWdpbnMtbXBlZy9maWxlcy9wYXRjaC1h
 a29kZV9wbHVnaW5zLU1ha2VmaWxlLmluDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gYWtvZGUtcGx1Z2lucy1t
 cGVnL2ZpbGVzL3BhdGNoLWFrb2RlX3BsdWdpbnMtTWFrZWZpbGUuaW4JKHJldmlzaW9uIDMyODMw
 OSkNCisrKyBha29kZS1wbHVnaW5zLW1wZWcvZmlsZXMvcGF0Y2gtYWtvZGVfcGx1Z2lucy1NYWtl
 ZmlsZS5pbgkod29ya2luZyBjb3B5KQ0KQEAgLTEsMTUgKzAsMCBAQA0KLS0tLSBha29kZS9wbHVn
 aW5zL01ha2VmaWxlLmluLm9yaWcJVHVlIE5vdiAyOSAxODoxMDoyMCAyMDA1DQotKysrIGFrb2Rl
 L3BsdWdpbnMvTWFrZWZpbGUuaW4JVHVlIE5vdiAyOSAxODoxMDo0NSAyMDA1DQotQEAgLTI1Miwx
 MSArMjUyLDcgQEANCi0gQGluY2x1ZGVfc3VuX3NpbmtfVFJVRUBBS09ERV9TVU5fU0lOSyA9IHN1
 bl9zaW5rDQotIEBpbmNsdWRlX2phY2tfc2lua19UUlVFQEFLT0RFX0pBQ0tfU0lOSyA9IGphY2tf
 c2luaw0KLSBAaW5jbHVkZV9wb2x5cF9zaW5rX1RSVUVAQUtPREVfUE9MWVBfU0lOSyA9IHBvbHlw
 X3NpbmsNCi0tU1VCRElSUyA9ICQoQUtPREVfTVBDX0RFQ09ERVIpICQoQUtPREVfWElQSF9ERUNP
 REVSKSBcDQotLSAgICAgICAgICQoQUtPREVfTVBFR19ERUNPREVSKSAkKEFLT0RFX0ZGTVBFR19E
 RUNPREVSKSBcDQotLSAgICAgICAgICQoQUtPREVfQUxTQV9TSU5LKSAkKEFLT0RFX09TU19TSU5L
 KSAkKEFLT0RFX1NVTl9TSU5LKSBcDQotLSAgICAgICAgICQoQUtPREVfSkFDS19TSU5LKSAkKEFL
 T0RFX1BPTFlQX1NJTkspIFwNCi0tICAgICAgICAgJChBS09ERV9TUkNfUkVTQU1QTEVSKQ0KLStT
 VUJESVJTID0gJSVTVUJESVJTJSUNCi0gDQotICM+LSBhbGw6IGFsbC1yZWN1cnNpdmUNCi0gIz4r
 IDENCkluZGV4OiBha29kZS1wbHVnaW5zLW9zcy9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGFr
 b2RlLXBsdWdpbnMtb3NzL01ha2VmaWxlCShyZXZpc2lvbiAzMjgzMDkpDQorKysgYWtvZGUtcGx1
 Z2lucy1vc3MvTWFrZWZpbGUJKHdvcmtpbmcgY29weSkNCkBAIC0xLDcgKzEsNyBAQA0KICMgQ3Jl
 YXRlZCBieTogTWljaGFlbCBOb3R0ZWJyb2NrIDxsb2ZpQEZyZWVCU0Qub3JnPg0KICMgJEZyZWVC
 U0QkDQogDQotUE9SVE5BTUU9CWFrb2RlLXBsdWdpbnMtJHtQT1JUTkFNRVNVRlh9DQorUE9SVE5B
 TUU9CWFrb2RlDQogUE9SVFZFUlNJT049CTIuMC4yDQogUE9SVEVQT0NIPQkxDQogQ0FURUdPUklF
 Uz0JYXVkaW8ga2RlDQpAQCAtOCwzMCArOCwzNCBAQA0KIE1BU1RFUl9TSVRFUz0JaHR0cDovL3d3
 dy5rZGUtYXBwcy5vcmcvQ09OVEVOVC9jb250ZW50LWZpbGVzLyBcDQogCQkke01BU1RFUl9TSVRF
 X0xPQ0FMfQ0KIE1BU1RFUl9TSVRFX1NVQkRJUj0JbGFzemxvZg0KK1BLR05BTUVTVUZGSVg9CS1w
 bHVnaW5zLSR7UE9SVE5BTUVTVUZYfQ0KIERJU1ROQU1FPQkzMDM3NS1ha29kZS0ke1BPUlRWRVJT
 SU9OfQ0KIA0KIE1BSU5UQUlORVI9CXN3aGV0emVsQGdtYWlsLmNvbQ0KIENPTU1FTlQ9CU9TUyBv
 dXRwdXQgcGx1Z2luIGZvciBha29kZQ0KKw0KIExJQ0VOU0U9CUxHUEwyMA0KIExJQ0VOU0VfRklM
 RT0JJHtXUktTUkN9L0NPUFlJTkcNCiANCiBDT05GTElDVFM9CWtkZW11bHRpbWVkaWEtMy5bMS0z
 XSoNCiANCitQQVRDSERJUj0JJHtNQVNURVJESVJ9Ly4uL2Frb2RlL2ZpbGVzDQorV1JLU1JDPQkJ
 JHtXUktESVJ9L2Frb2RlLSR7UE9SVFZFUlNJT059DQorQlVJTERfV1JLU1JDPQkke1dSS1NSQ30v
 YWtvZGUNCitJTlNUQUxMX1dSS1NSQz0JJHtXUktTUkN9L2Frb2RlL3BsdWdpbnMvJHtQTFVHSU59
 DQorDQogUExVR0lOPQkJb3NzX3NpbmsNCiBQT1JUTkFNRVNVRlg9CSR7UExVR0lOOlMvX3Npbmsv
 LzpTL19kZWNvZGVyLy86Uy9zcmNfLy99DQogDQogTk9fU1RBR0U9CXllcw0KIFVTRVM9CQlnbWFr
 ZQ0KLVVTRV9BVVRPVE9PTFM9CWxpYmx0ZGwNCi1VU0VfQVVUT1RPT0xTPQlsaWJ0b29sDQorVVNF
 X0FVVE9UT09MUz0JbGlibHRkbCBsaWJ0b29sDQogVVNFX0JaSVAyPQl5ZXMNCi1VU0VfR0NDPQlh
 bnkNCi1XUktTUkM9CQkke1dSS0RJUn0vYWtvZGUtJHtQT1JUVkVSU0lPTn0NCiBVU0VfTERDT05G
 SUc9CXllcw0KIA0KLVBMSVNUX0ZJTEVTPQlsaWIvbGliYWtvZGVfb3NzX3NpbmsuYSBcDQotCQls
 aWIvbGliYWtvZGVfb3NzX3NpbmsubGEgXA0KLQkJbGliL2xpYmFrb2RlX29zc19zaW5rLnNvDQor
 UExJU1RfRklMRVM9CWxpYi9saWJha29kZV8ke1BMVUdJTn0uYSBcDQorCQlsaWIvbGliYWtvZGVf
 JHtQTFVHSU59LmxhIFwNCisJCWxpYi9saWJha29kZV8ke1BMVUdJTn0uc28NCiANCiBMREZMQUdT
 Kz0JLUwke1dSS1NSQ30vYWtvZGUvbGliLy5saWJzDQogQ09ORklHVVJFX0FSR1MrPS0td2l0aC1l
 eHRyYS1saWJzPSR7TE9DQUxCQVNFfS9saWIgXA0KQEAgLTQwLDE0ICs0NCwxMCBAQA0KIHBvc3Qt
 cGF0Y2g6DQogCUAke1NFVEVOVn0gVFo9VVRDIFwNCiAJJHtUT1VDSH0gLXQgMjAwNjA3MjIyMjE3
 LjAxICR7V1JLU1JDfS9ha29kZS9saWIvYWtvZGVfZXhwb3J0LmguaW4NCisJJHtSRUlOUExBQ0Vf
 Q01EfSAtZSAnc3xeU1VCRElSUyA9Lip8U1VCRElSUyA9IGxpYiBwbHVnaW5zfGcnIFwNCisJCSR7
 V1JLU1JDfS9ha29kZS9NYWtlZmlsZS5pbg0KIA0KIHByZS1jb25maWd1cmU6DQogCUAke1JFSU5Q
 TEFDRV9DTUR9IC1lICdzQCUlU1VCRElSUyUlQCR7UExVR0lOfUBnJyAke1dSS1NSQ30vYWtvZGUv
 cGx1Z2lucy9NYWtlZmlsZS5pbg0KIA0KLWRvLWJ1aWxkOg0KLQljZCAke1dSS1NSQ30vYWtvZGUg
 JiYgJHtHTUFLRX0NCi0NCi1kby1pbnN0YWxsOg0KLQljZCAke1dSS1NSQ30vYWtvZGUvcGx1Z2lu
 cy8ke1BMVUdJTn0gJiYgJHtHTUFLRX0gaW5zdGFsbA0KLQ0KIC5pbmNsdWRlIDxic2QucG9ydC5t
 az4NCkluZGV4OiBha29kZS1wbHVnaW5zLW9zcy9maWxlcy9wYXRjaC1ha29kZV9NYWtlZmlsZS5p
 bg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PQ0KLS0tIGFrb2RlLXBsdWdpbnMtb3NzL2ZpbGVzL3BhdGNoLWFrb2RlX01h
 a2VmaWxlLmluCShyZXZpc2lvbiAzMjgzMDkpDQorKysgYWtvZGUtcGx1Z2lucy1vc3MvZmlsZXMv
 cGF0Y2gtYWtvZGVfTWFrZWZpbGUuaW4JKHdvcmtpbmcgY29weSkNCkBAIC0xLDExICswLDAgQEAN
 Ci0tLS0gYWtvZGUvTWFrZWZpbGUuaW4ub3JpZwlUdWUgTm92IDI5IDE3OjUxOjE5IDIwMDUNCi0r
 KysgYWtvZGUvTWFrZWZpbGUuaW4JVHVlIE5vdiAyOSAxNzo1MTowNSAyMDA1DQotQEAgLTI0Nyw3
 ICsyNDcsNyBAQA0KLSB1bnNlcm1ha2VfZW5hYmxlX3BjaF9GQUxTRSA9IEB1bnNlcm1ha2VfZW5h
 YmxlX3BjaF9GQUxTRUANCi0gdW5zZXJtYWtlX2VuYWJsZV9wY2hfVFJVRSA9IEB1bnNlcm1ha2Vf
 ZW5hYmxlX3BjaF9UUlVFQA0KLSBiaW5fU0NSSVBUUyA9IGFrb2RlLWNvbmZpZw0KLS1TVUJESVJT
 ID0gbGliIHBsdWdpbnMgYWtvZGVwbGF5DQotK1NVQkRJUlMgPSBsaWIgcGx1Z2lucw0KLSAjPi0g
 YWxsOiBhbGwtcmVjdXJzaXZlDQotICM+KyAxDQotIGFsbDogZG9jcy1hbSAgYWxsLXJlY3Vyc2l2
 ZQ0KSW5kZXg6IGFrb2RlLXBsdWdpbnMtb3NzL2ZpbGVzL3BhdGNoLWFrb2RlX3BsdWdpbnMtTWFr
 ZWZpbGUuaW4NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT0NCi0tLSBha29kZS1wbHVnaW5zLW9zcy9maWxlcy9wYXRjaC1h
 a29kZV9wbHVnaW5zLU1ha2VmaWxlLmluCShyZXZpc2lvbiAzMjgzMDkpDQorKysgYWtvZGUtcGx1
 Z2lucy1vc3MvZmlsZXMvcGF0Y2gtYWtvZGVfcGx1Z2lucy1NYWtlZmlsZS5pbgkod29ya2luZyBj
 b3B5KQ0KQEAgLTEsMTUgKzAsMCBAQA0KLS0tLSBha29kZS9wbHVnaW5zL01ha2VmaWxlLmluLm9y
 aWcJVHVlIE5vdiAyOSAxODoxMDoyMCAyMDA1DQotKysrIGFrb2RlL3BsdWdpbnMvTWFrZWZpbGUu
 aW4JVHVlIE5vdiAyOSAxODoxMDo0NSAyMDA1DQotQEAgLTI1MiwxMSArMjUyLDcgQEANCi0gQGlu
 Y2x1ZGVfc3VuX3NpbmtfVFJVRUBBS09ERV9TVU5fU0lOSyA9IHN1bl9zaW5rDQotIEBpbmNsdWRl
 X2phY2tfc2lua19UUlVFQEFLT0RFX0pBQ0tfU0lOSyA9IGphY2tfc2luaw0KLSBAaW5jbHVkZV9w
 b2x5cF9zaW5rX1RSVUVAQUtPREVfUE9MWVBfU0lOSyA9IHBvbHlwX3NpbmsNCi0tU1VCRElSUyA9
 ICQoQUtPREVfTVBDX0RFQ09ERVIpICQoQUtPREVfWElQSF9ERUNPREVSKSBcDQotLSAgICAgICAg
 ICQoQUtPREVfTVBFR19ERUNPREVSKSAkKEFLT0RFX0ZGTVBFR19ERUNPREVSKSBcDQotLSAgICAg
 ICAgICQoQUtPREVfQUxTQV9TSU5LKSAkKEFLT0RFX09TU19TSU5LKSAkKEFLT0RFX1NVTl9TSU5L
 KSBcDQotLSAgICAgICAgICQoQUtPREVfSkFDS19TSU5LKSAkKEFLT0RFX1BPTFlQX1NJTkspIFwN
 Ci0tICAgICAgICAgJChBS09ERV9TUkNfUkVTQU1QTEVSKQ0KLStTVUJESVJTID0gJSVTVUJESVJT
 JSUNCi0gDQotICM+LSBhbGw6IGFsbC1yZWN1cnNpdmUNCi0gIz4rIDENCkluZGV4OiBha29kZS1w
 bHVnaW5zLXB1bHNlYXVkaW8vTWFrZWZpbGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBha29kZS1wbHVnaW5z
 LXB1bHNlYXVkaW8vTWFrZWZpbGUJKHJldmlzaW9uIDMyODMwOSkNCisrKyBha29kZS1wbHVnaW5z
 LXB1bHNlYXVkaW8vTWFrZWZpbGUJKHdvcmtpbmcgY29weSkNCkBAIC0xLDcgKzEsNyBAQA0KICMg
 Q3JlYXRlZCBieTogU2NvdCBXLiBIZXR6ZWwgPHN3aGV0emVsQGdtYWlsLmNvbT4NCiAjICRGcmVl
 QlNEJA0KIA0KLVBPUlROQU1FPQlha29kZS1wbHVnaW5zLSR7UE9SVE5BTUVTVUZYfQ0KK1BPUlRO
 QU1FPQlha29kZQ0KIFBPUlRWRVJTSU9OPQkyLjAuMg0KIFBPUlRSRVZJU0lPTj0JNQ0KIENBVEVH
 T1JJRVM9CWF1ZGlvIGtkZQ0KQEAgLTgsMTAgKzgsMTIgQEANCiBNQVNURVJfU0lURVM9CWh0dHA6
 Ly93d3cua2RlLWFwcHMub3JnL0NPTlRFTlQvY29udGVudC1maWxlcy8gXA0KIAkJJHtNQVNURVJf
 U0lURV9MT0NBTH0NCiBNQVNURVJfU0lURV9TVUJESVI9CWxhc3psb2YNCitQS0dOQU1FU1VGRklY
 PQktcGx1Z2lucy0ke1BPUlROQU1FU1VGWH0NCiBESVNUTkFNRT0JMzAzNzUtYWtvZGUtJHtQT1JU
 VkVSU0lPTn0NCiANCiBNQUlOVEFJTkVSPQlzd2hldHplbEBnbWFpbC5jb20NCiBDT01NRU5UPQlQ
 dWxzZWF1ZGlvIG91dHB1dCBwbHVnaW4gZm9yIGFrb2RlDQorDQogTElDRU5TRT0JTEdQTDIwDQog
 TElDRU5TRV9GSUxFPQkke1dSS1NSQ30vQ09QWUlORw0KIA0KQEAgLTE5LDE5ICsyMSwyNCBAQA0K
 IA0KIENPTkZMSUNUUz0Ja2RlbXVsdGltZWRpYS0zLlsxLTNdKiBha29kZS1wbHVnaW5zLXBvbHlw
 YXVkaW8tWzAtOV0qDQogDQorUEFUQ0hESVI9CSR7TUFTVEVSRElSfS8uLi9ha29kZS9maWxlcw0K
 K1dSS1NSQz0JCSR7V1JLRElSfS9ha29kZS0ke1BPUlRWRVJTSU9OfQ0KK0JVSUxEX1dSS1NSQz0J
 JHtXUktTUkN9L2Frb2RlDQorSU5TVEFMTF9XUktTUkM9CSR7V1JLU1JDfS9ha29kZS9wbHVnaW5z
 LyR7UExVR0lOfQ0KKw0KIFBMVUdJTj0JCXBvbHlwX3NpbmsNCiBQT1JUTkFNRVNVRlg9CXB1bHNl
 YXVkaW8NCiANCiBOT19TVEFHRT0JeWVzDQogVVNFUz0JCWdtYWtlDQotVVNFX0FVVE9UT09MUz0J
 bGlibHRkbA0KLVVTRV9BVVRPVE9PTFM9CWxpYnRvb2wNCitVU0VfQVVUT1RPT0xTPQlsaWJsdGRs
 IGxpYnRvb2wNCisjVVNFX0FVVE9UT09MUz0JbGlidG9vbA0KIFVTRV9CWklQMj0JeWVzDQotV1JL
 U1JDPQkJJHtXUktESVJ9L2Frb2RlLSR7UE9SVFZFUlNJT059DQogVVNFX0xEQ09ORklHPQl5ZXMN
 CiANCi1QTElTVF9GSUxFUz0JbGliL2xpYmFrb2RlX3BvbHlwX3NpbmsuYSBsaWIvbGliYWtvZGVf
 cG9seXBfc2luay5sYSBcDQotCQlsaWIvbGliYWtvZGVfcG9seXBfc2luay5zbw0KK1BMSVNUX0ZJ
 TEVTPQlsaWIvbGliYWtvZGVfJHtQTFVHSU59LmEgXA0KKwkJbGliL2xpYmFrb2RlXyR7UExVR0lO
 fS5sYSBcDQorCQlsaWIvbGliYWtvZGVfJHtQTFVHSU59LnNvDQogDQogTERGTEFHUys9CS1MJHtX
 UktTUkN9L2Frb2RlL2xpYi8ubGlicw0KIENPTkZJR1VSRV9BUkdTKz0tLXdpdGgtZXh0cmEtbGli
 cz0ke0xPQ0FMQkFTRX0vbGliIFwNCkBAIC00MCwxNCArNDcsMTAgQEANCiBwb3N0LXBhdGNoOg0K
 IAlAJHtTRVRFTlZ9IFRaPVVUQyBcDQogCSR7VE9VQ0h9IC10IDIwMDYwNzIyMjIxNy4wMSAke1dS
 S1NSQ30vYWtvZGUvbGliL2Frb2RlX2V4cG9ydC5oLmluDQorCSR7UkVJTlBMQUNFX0NNRH0gLWUg
 J3N8XlNVQkRJUlMgPS4qfFNVQkRJUlMgPSBsaWIgcGx1Z2luc3xnJyBcDQorCQkke1dSS1NSQ30v
 YWtvZGUvTWFrZWZpbGUuaW4NCiANCiBwcmUtY29uZmlndXJlOg0KIAlAJHtSRUlOUExBQ0VfQ01E
 fSAtZSAnc0AlJVNVQkRJUlMlJUAke1BMVUdJTn1AZycgJHtXUktTUkN9L2Frb2RlL3BsdWdpbnMv
 TWFrZWZpbGUuaW4NCiANCi1kby1idWlsZDoNCi0JY2QgJHtXUktTUkN9L2Frb2RlICYmICR7R01B
 S0V9DQotDQotZG8taW5zdGFsbDoNCi0JY2QgJHtXUktTUkN9L2Frb2RlL3BsdWdpbnMvJHtQTFVH
 SU59ICYmICR7R01BS0V9IGluc3RhbGwNCi0NCiAuaW5jbHVkZSA8YnNkLnBvcnQubWs+DQpJbmRl
 eDogYWtvZGUtcGx1Z2lucy1wdWxzZWF1ZGlvL2ZpbGVzL3BhdGNoLWFrb2RlX01ha2VmaWxlLmlu
 DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09DQotLS0gYWtvZGUtcGx1Z2lucy1wdWxzZWF1ZGlvL2ZpbGVzL3BhdGNoLWFr
 b2RlX01ha2VmaWxlLmluCShyZXZpc2lvbiAzMjgzMDkpDQorKysgYWtvZGUtcGx1Z2lucy1wdWxz
 ZWF1ZGlvL2ZpbGVzL3BhdGNoLWFrb2RlX01ha2VmaWxlLmluCSh3b3JraW5nIGNvcHkpDQpAQCAt
 MSwxMSArMCwwIEBADQotLS0tIGFrb2RlL01ha2VmaWxlLmluLm9yaWcJVHVlIE5vdiAyOSAxNzo1
 MToxOSAyMDA1DQotKysrIGFrb2RlL01ha2VmaWxlLmluCVR1ZSBOb3YgMjkgMTc6NTE6MDUgMjAw
 NQ0KLUBAIC0yNDcsNyArMjQ3LDcgQEANCi0gdW5zZXJtYWtlX2VuYWJsZV9wY2hfRkFMU0UgPSBA
 dW5zZXJtYWtlX2VuYWJsZV9wY2hfRkFMU0VADQotIHVuc2VybWFrZV9lbmFibGVfcGNoX1RSVUUg
 PSBAdW5zZXJtYWtlX2VuYWJsZV9wY2hfVFJVRUANCi0gYmluX1NDUklQVFMgPSBha29kZS1jb25m
 aWcNCi0tU1VCRElSUyA9IGxpYiBwbHVnaW5zIGFrb2RlcGxheQ0KLStTVUJESVJTID0gbGliIHBs
 dWdpbnMNCi0gIz4tIGFsbDogYWxsLXJlY3Vyc2l2ZQ0KLSAjPisgMQ0KLSBhbGw6IGRvY3MtYW0g
 IGFsbC1yZWN1cnNpdmUNCkluZGV4OiBha29kZS1wbHVnaW5zLXB1bHNlYXVkaW8vZmlsZXMvcGF0
 Y2gtYWtvZGVfX3BvbHlwX3NpbmtfX3BvbHlwX3NpbmsuY3BwDQo9PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gYWtv
 ZGUtcGx1Z2lucy1wdWxzZWF1ZGlvL2ZpbGVzL3BhdGNoLWFrb2RlX19wb2x5cF9zaW5rX19wb2x5
 cF9zaW5rLmNwcAkocmV2aXNpb24gMzI4MzA5KQ0KKysrIGFrb2RlLXBsdWdpbnMtcHVsc2VhdWRp
 by9maWxlcy9wYXRjaC1ha29kZV9fcG9seXBfc2lua19fcG9seXBfc2luay5jcHAJKHdvcmtpbmcg
 Y29weSkNCkBAIC0xLDIwICswLDAgQEANCi0tLS0gYWtvZGUvcGx1Z2lucy9wb2x5cF9zaW5rL3Bv
 bHlwX3NpbmsuY3BwLm9yaWcJU3VuIEp1biAxMCAxMzoyMzowMyAyMDA3DQotKysrIGFrb2RlL3Bs
 dWdpbnMvcG9seXBfc2luay9wb2x5cF9zaW5rLmNwcAlTdW4gSnVuIDEwIDEzOjI0OjEzIDIwMDcN
 Ci1AQCAtMjUsNyArMjUsNyBAQA0KLSAjZWxpZiBkZWZpbmVkKEhBVkVfSU5UVFlQRVNfSCkNCi0g
 I2luY2x1ZGUgPGludHR5cGVzLmg+DQotICNlbmRpZg0KLS0jaW5jbHVkZSA8cG9seXAvcG9seXBs
 aWItc2ltcGxlLmg+DQotKyNpbmNsdWRlIDxwdWxzZS9zaW1wbGUuaD4NCi0gDQotICNpbmNsdWRl
 ICJhdWRpb2ZyYW1lLmgiDQotICNpbmNsdWRlICJhdWRpb2J1ZmZlci5oIg0KLUBAIC01OSw3ICs1
 OSw3IEBADQotIA0KLSBib29sIFBvbHlwU2luazo6b3BlbigpIHsNCi0gICAgIGludCBlcnJvciA9
 IDA7DQotLSAgICBtX2RhdGEtPnNlcnZlciA9IHBhX3NpbXBsZV9uZXcoMCwgImFrb2RlLWNsaWVu
 dCIsIFBBX1NUUkVBTV9QTEFZQkFDSywgMCwgIiIsICZtX2RhdGEtPnNhbXBsZV9zcGVjLCAwLCAy
 NTUsICZlcnJvciApOw0KLSsgICAgbV9kYXRhLT5zZXJ2ZXIgPSBwYV9zaW1wbGVfbmV3KDAsICJh
 a29kZS1jbGllbnQiLCBQQV9TVFJFQU1fUExBWUJBQ0ssIDAsICIiLCAmbV9kYXRhLT5zYW1wbGVf
 c3BlYywgMCwgMCwgJmVycm9yICk7DQotICAgICBpZiAoIW1fZGF0YS0+c2VydmVyIHx8IGVycm9y
 ICE9IDApIHsNCi0gICAgICAgICBtX2RhdGEtPmVycm9yID0gdHJ1ZTsNCi0gICAgICAgICBjbG9z
 ZSgpOw0KSW5kZXg6IGFrb2RlLXBsdWdpbnMtcHVsc2VhdWRpby9maWxlcy9wYXRjaC1ha29kZV9w
 bHVnaW5zLU1ha2VmaWxlLmluDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gYWtvZGUtcGx1Z2lucy1wdWxzZWF1
 ZGlvL2ZpbGVzL3BhdGNoLWFrb2RlX3BsdWdpbnMtTWFrZWZpbGUuaW4JKHJldmlzaW9uIDMyODMw
 OSkNCisrKyBha29kZS1wbHVnaW5zLXB1bHNlYXVkaW8vZmlsZXMvcGF0Y2gtYWtvZGVfcGx1Z2lu
 cy1NYWtlZmlsZS5pbgkod29ya2luZyBjb3B5KQ0KQEAgLTEsMTUgKzAsMCBAQA0KLS0tLSBha29k
 ZS9wbHVnaW5zL01ha2VmaWxlLmluLm9yaWcJVHVlIE5vdiAyOSAxODoxMDoyMCAyMDA1DQotKysr
 IGFrb2RlL3BsdWdpbnMvTWFrZWZpbGUuaW4JVHVlIE5vdiAyOSAxODoxMDo0NSAyMDA1DQotQEAg
 LTI1MiwxMSArMjUyLDcgQEANCi0gQGluY2x1ZGVfc3VuX3NpbmtfVFJVRUBBS09ERV9TVU5fU0lO
 SyA9IHN1bl9zaW5rDQotIEBpbmNsdWRlX2phY2tfc2lua19UUlVFQEFLT0RFX0pBQ0tfU0lOSyA9
 IGphY2tfc2luaw0KLSBAaW5jbHVkZV9wb2x5cF9zaW5rX1RSVUVAQUtPREVfUE9MWVBfU0lOSyA9
 IHBvbHlwX3NpbmsNCi0tU1VCRElSUyA9ICQoQUtPREVfTVBDX0RFQ09ERVIpICQoQUtPREVfWElQ
 SF9ERUNPREVSKSBcDQotLSAgICAgICAgICQoQUtPREVfTVBFR19ERUNPREVSKSAkKEFLT0RFX0ZG
 TVBFR19ERUNPREVSKSBcDQotLSAgICAgICAgICQoQUtPREVfQUxTQV9TSU5LKSAkKEFLT0RFX09T
 U19TSU5LKSAkKEFLT0RFX1NVTl9TSU5LKSBcDQotLSAgICAgICAgICQoQUtPREVfSkFDS19TSU5L
 KSAkKEFLT0RFX1BPTFlQX1NJTkspIFwNCi0tICAgICAgICAgJChBS09ERV9TUkNfUkVTQU1QTEVS
 KQ0KLStTVUJESVJTID0gJSVTVUJESVJTJSUNCi0gDQotICM+LSBhbGw6IGFsbC1yZWN1cnNpdmUN
 Ci0gIz4rIDENCkluZGV4OiBha29kZS1wbHVnaW5zLXB1bHNlYXVkaW8vZmlsZXMvcGF0Y2gtY29u
 ZmlndXJlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09DQotLS0gYWtvZGUtcGx1Z2lucy1wdWxzZWF1ZGlvL2ZpbGVzL3Bh
 dGNoLWNvbmZpZ3VyZQkocmV2aXNpb24gMzI4MzA5KQ0KKysrIGFrb2RlLXBsdWdpbnMtcHVsc2Vh
 dWRpby9maWxlcy9wYXRjaC1jb25maWd1cmUJKHdvcmtpbmcgY29weSkNCkBAIC0xLDIxICswLDAg
 QEANCi0tLS0gY29uZmlndXJlLm9yaWcJRnJpIEFwciAgNiAwODoyMzoyMiAyMDA3DQotKysrIGNv
 bmZpZ3VyZQlUdWUgTWF5IDI3IDAyOjEyOjQ5IDIwMDgNCi1AQCAtMjU1MDYsMTIgKzI1NTA2LDEy
 IEBADQotIA0KLSANCi0gaWYgdGVzdCAieCRwb2x5cGF1ZGlvX3Rlc3QiID0gInh5ZXMiIDsgdGhl
 bg0KLS17IGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgUG9seXBhdWRpbyAwLjcg
 b3IgbGF0ZXIiID4mNQ0KLS1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBQb2x5cGF1ZGlvIDAu
 NyBvciBsYXRlci4uLiAkRUNIT19DIiA+JjY7IH0NCi0taWYgJFBLR19DT05GSUcgLS1hdGxlYXN0
 LXZlcnNpb24gMC43IHBvbHlwbGliLXNpbXBsZSA+L2Rldi9udWxsIDI+JjEgOyB0aGVuDQotLSAg
 UE9MWVBfQ0ZMQUdTPSJgJFBLR19DT05GSUcgLS1jZmxhZ3MgcG9seXBsaWItc2ltcGxlYCINCi0t
 ICBQT0xZUF9MSUJBREQ9ImAkUEtHX0NPTkZJRyAtLWxpYnMtb25seS1sIHBvbHlwbGliLXNpbXBs
 ZWAiDQotLSAgUE9MWVBfTERGTEFHUz0iYCRQS0dfQ09ORklHIC0tbGlicy1vbmx5LUwgcG9seXBs
 aWItc2ltcGxlYCINCi0reyBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIFB1bHNl
 YXVkaW8gMC45LjIgb3IgbGF0ZXIiID4mNQ0KLStlY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBQ
 dWxzZWF1ZGlvIDAuOS4yIG9yIGxhdGVyLi4uICRFQ0hPX0MiID4mNjsgfQ0KLStpZiAkUEtHX0NP
 TkZJRyAtLWF0bGVhc3QtdmVyc2lvbiAwLjkuMiBsaWJwdWxzZS1zaW1wbGUgPi9kZXYvbnVsbCAy
 PiYxIDsgdGhlbg0KLSsgIFBPTFlQX0NGTEFHUz0iYCRQS0dfQ09ORklHIC0tY2ZsYWdzIGxpYnB1
 bHNlLXNpbXBsZWAiDQotKyAgUE9MWVBfTElCQUREPSJgJFBLR19DT05GSUcgLS1saWJzLW9ubHkt
 bCBsaWJwdWxzZS1zaW1wbGVgIg0KLSsgIFBPTFlQX0xERkxBR1M9ImAkUEtHX0NPTkZJRyAtLWxp
 YnMtb25seS1MIGxpYnB1bHNlLXNpbXBsZWAiDQotICAgaGF2ZV9wb2x5cD15ZXMNCi0gICB7IGVj
 aG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IHllcyIgPiY1DQotIGVjaG8gIiR7RUNIT19UfXll
 cyIgPiY2OyB9DQpJbmRleDogYWtvZGUtcGx1Z2lucy1yZXNhbXBsZXIvTWFrZWZpbGUNCj09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT0NCi0tLSBha29kZS1wbHVnaW5zLXJlc2FtcGxlci9NYWtlZmlsZQkocmV2aXNpb24gMzI4
 MzA5KQ0KKysrIGFrb2RlLXBsdWdpbnMtcmVzYW1wbGVyL01ha2VmaWxlCSh3b3JraW5nIGNvcHkp
 DQpAQCAtMSw3ICsxLDcgQEANCiAjIENyZWF0ZWQgYnk6IE1pY2hhZWwgTm90dGVicm9jayA8bG9m
 aUBGcmVlQlNELm9yZz4NCiAjICRGcmVlQlNEJA0KIA0KLVBPUlROQU1FPQlha29kZS1wbHVnaW5z
 LSR7UE9SVE5BTUVTVUZYfQ0KK1BPUlROQU1FPQlha29kZQ0KIFBPUlRWRVJTSU9OPQkyLjAuMg0K
 IFBPUlRFUE9DSD0JMQ0KIENBVEVHT1JJRVM9CWF1ZGlvIGtkZQ0KQEAgLTgsMTAgKzgsMTIgQEAN
 CiBNQVNURVJfU0lURVM9CWh0dHA6Ly93d3cua2RlLWFwcHMub3JnL0NPTlRFTlQvY29udGVudC1m
 aWxlcy8gXA0KIAkJJHtNQVNURVJfU0lURV9MT0NBTH0NCiBNQVNURVJfU0lURV9TVUJESVI9CWxh
 c3psb2YNCitQS0dOQU1FU1VGRklYPQktcGx1Z2lucy0ke1BPUlROQU1FU1VGWH0NCiBESVNUTkFN
 RT0JMzAzNzUtYWtvZGUtJHtQT1JUVkVSU0lPTn0NCiANCiBNQUlOVEFJTkVSPQlzd2hldHplbEBn
 bWFpbC5jb20NCiBDT01NRU5UPQlSZXNhbXBsZXIgcGx1Z2luIGZvciBha29kZQ0KKw0KIExJQ0VO
 U0U9CUxHUEwyMA0KIExJQ0VOU0VfRklMRT0JJHtXUktTUkN9L0NPUFlJTkcNCiANCkBAIC0xOSwy
 MSArMjEsMjMgQEANCiANCiBDT05GTElDVFM9CWtkZW11bHRpbWVkaWEtMy5bMS0zXSoNCiANCitQ
 QVRDSERJUj0JJHtNQVNURVJESVJ9Ly4uL2Frb2RlL2ZpbGVzDQorV1JLU1JDPQkJJHtXUktESVJ9
 L2Frb2RlLSR7UE9SVFZFUlNJT059DQorQlVJTERfV1JLU1JDPQkke1dSS1NSQ30vYWtvZGUNCitJ
 TlNUQUxMX1dSS1NSQz0JJHtXUktTUkN9L2Frb2RlL3BsdWdpbnMvJHtQTFVHSU59DQorDQogUExV
 R0lOPQkJc3JjX3Jlc2FtcGxlcg0KIFBPUlROQU1FU1VGWD0JJHtQTFVHSU46Uy9fc2luay8vOlMv
 X2RlY29kZXIvLzpTL3NyY18vL30NCiANCiBOT19TVEFHRT0JeWVzDQogVVNFUz0JCWdtYWtlDQot
 VVNFX0FVVE9UT09MUz0JbGlibHRkbA0KLVVTRV9BVVRPVE9PTFM9CWxpYnRvb2wNCitVU0VfQVVU
 T1RPT0xTPQlsaWJsdGRsIGxpYnRvb2wNCiBVU0VfQlpJUDI9CXllcw0KLVVTRV9HQ0M9CWFueQ0K
 LVdSS1NSQz0JCSR7V1JLRElSfS9ha29kZS0ke1BPUlRWRVJTSU9OfQ0KIFVTRV9MRENPTkZJRz0J
 eWVzDQogDQotUExJU1RfRklMRVM9CWxpYi9saWJha29kZV9zcmNfcmVzYW1wbGVyLmEgXA0KLQkJ
 bGliL2xpYmFrb2RlX3NyY19yZXNhbXBsZXIubGEgXA0KLQkJbGliL2xpYmFrb2RlX3NyY19yZXNh
 bXBsZXIuc28NCitQTElTVF9GSUxFUz0JbGliL2xpYmFrb2RlXyR7UExVR0lOfS5hIFwNCisJCWxp
 Yi9saWJha29kZV8ke1BMVUdJTn0ubGEgXA0KKwkJbGliL2xpYmFrb2RlXyR7UExVR0lOfS5zbw0K
 IA0KIExERkxBR1MrPQktTCR7V1JLU1JDfS9ha29kZS9saWIvLmxpYnMNCiBDT05GSUdVUkVfQVJH
 Uys9LS13aXRoLWV4dHJhLWxpYnM9JHtMT0NBTEJBU0V9L2xpYiBcDQpAQCAtNDIsMTQgKzQ2LDEw
 IEBADQogcG9zdC1wYXRjaDoNCiAJQCR7U0VURU5WfSBUWj1VVEMgXA0KIAkke1RPVUNIfSAtdCAy
 MDA2MDcyMjIyMTcuMDEgJHtXUktTUkN9L2Frb2RlL2xpYi9ha29kZV9leHBvcnQuaC5pbg0KKwkk
 e1JFSU5QTEFDRV9DTUR9IC1lICdzfF5TVUJESVJTID0uKnxTVUJESVJTID0gbGliIHBsdWdpbnN8
 ZycgXA0KKwkJJHtXUktTUkN9L2Frb2RlL01ha2VmaWxlLmluDQogDQogcHJlLWNvbmZpZ3VyZToN
 CiAJQCR7UkVJTlBMQUNFX0NNRH0gLWUgJ3NAJSVTVUJESVJTJSVAJHtQTFVHSU59QGcnICR7V1JL
 U1JDfS9ha29kZS9wbHVnaW5zL01ha2VmaWxlLmluDQogDQotZG8tYnVpbGQ6DQotCWNkICR7V1JL
 U1JDfS9ha29kZSAmJiAke0dNQUtFfQ0KLQ0KLWRvLWluc3RhbGw6DQotCWNkICR7V1JLU1JDfS9h
 a29kZS9wbHVnaW5zLyR7UExVR0lOfSAmJiAke0dNQUtFfSBpbnN0YWxsDQotDQogLmluY2x1ZGUg
 PGJzZC5wb3J0Lm1rPg0KSW5kZXg6IGFrb2RlLXBsdWdpbnMtcmVzYW1wbGVyL2ZpbGVzL3BhdGNo
 LWFrb2RlX01ha2VmaWxlLmluDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gYWtvZGUtcGx1Z2lucy1yZXNhbXBs
 ZXIvZmlsZXMvcGF0Y2gtYWtvZGVfTWFrZWZpbGUuaW4JKHJldmlzaW9uIDMyODMwOSkNCisrKyBh
 a29kZS1wbHVnaW5zLXJlc2FtcGxlci9maWxlcy9wYXRjaC1ha29kZV9NYWtlZmlsZS5pbgkod29y
 a2luZyBjb3B5KQ0KQEAgLTEsMTEgKzAsMCBAQA0KLS0tLSBha29kZS9NYWtlZmlsZS5pbi5vcmln
 CVR1ZSBOb3YgMjkgMTc6NTE6MTkgMjAwNQ0KLSsrKyBha29kZS9NYWtlZmlsZS5pbglUdWUgTm92
 IDI5IDE3OjUxOjA1IDIwMDUNCi1AQCAtMjQ3LDcgKzI0Nyw3IEBADQotIHVuc2VybWFrZV9lbmFi
 bGVfcGNoX0ZBTFNFID0gQHVuc2VybWFrZV9lbmFibGVfcGNoX0ZBTFNFQA0KLSB1bnNlcm1ha2Vf
 ZW5hYmxlX3BjaF9UUlVFID0gQHVuc2VybWFrZV9lbmFibGVfcGNoX1RSVUVADQotIGJpbl9TQ1JJ
 UFRTID0gYWtvZGUtY29uZmlnDQotLVNVQkRJUlMgPSBsaWIgcGx1Z2lucyBha29kZXBsYXkNCi0r
 U1VCRElSUyA9IGxpYiBwbHVnaW5zDQotICM+LSBhbGw6IGFsbC1yZWN1cnNpdmUNCi0gIz4rIDEN
 Ci0gYWxsOiBkb2NzLWFtICBhbGwtcmVjdXJzaXZlDQpJbmRleDogYWtvZGUtcGx1Z2lucy1yZXNh
 bXBsZXIvZmlsZXMvcGF0Y2gtYWtvZGVfcGx1Z2lucy1NYWtlZmlsZS5pbg0KPT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K
 LS0tIGFrb2RlLXBsdWdpbnMtcmVzYW1wbGVyL2ZpbGVzL3BhdGNoLWFrb2RlX3BsdWdpbnMtTWFr
 ZWZpbGUuaW4JKHJldmlzaW9uIDMyODMwOSkNCisrKyBha29kZS1wbHVnaW5zLXJlc2FtcGxlci9m
 aWxlcy9wYXRjaC1ha29kZV9wbHVnaW5zLU1ha2VmaWxlLmluCSh3b3JraW5nIGNvcHkpDQpAQCAt
 MSwxNSArMCwwIEBADQotLS0tIGFrb2RlL3BsdWdpbnMvTWFrZWZpbGUuaW4ub3JpZwlUdWUgTm92
 IDI5IDE4OjEwOjIwIDIwMDUNCi0rKysgYWtvZGUvcGx1Z2lucy9NYWtlZmlsZS5pbglUdWUgTm92
 IDI5IDE4OjEwOjQ1IDIwMDUNCi1AQCAtMjUyLDExICsyNTIsNyBAQA0KLSBAaW5jbHVkZV9zdW5f
 c2lua19UUlVFQEFLT0RFX1NVTl9TSU5LID0gc3VuX3NpbmsNCi0gQGluY2x1ZGVfamFja19zaW5r
 X1RSVUVAQUtPREVfSkFDS19TSU5LID0gamFja19zaW5rDQotIEBpbmNsdWRlX3BvbHlwX3Npbmtf
 VFJVRUBBS09ERV9QT0xZUF9TSU5LID0gcG9seXBfc2luaw0KLS1TVUJESVJTID0gJChBS09ERV9N
 UENfREVDT0RFUikgJChBS09ERV9YSVBIX0RFQ09ERVIpIFwNCi0tICAgICAgICAgJChBS09ERV9N
 UEVHX0RFQ09ERVIpICQoQUtPREVfRkZNUEVHX0RFQ09ERVIpIFwNCi0tICAgICAgICAgJChBS09E
 RV9BTFNBX1NJTkspICQoQUtPREVfT1NTX1NJTkspICQoQUtPREVfU1VOX1NJTkspIFwNCi0tICAg
 ICAgICAgJChBS09ERV9KQUNLX1NJTkspICQoQUtPREVfUE9MWVBfU0lOSykgXA0KLS0gICAgICAg
 ICAkKEFLT0RFX1NSQ19SRVNBTVBMRVIpDQotK1NVQkRJUlMgPSAlJVNVQkRJUlMlJQ0KLSANCi0g
 Iz4tIGFsbDogYWxsLXJlY3Vyc2l2ZQ0KLSAjPisgMQ0KSW5kZXg6IGFrb2RlLXBsdWdpbnMteGlw
 aC9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGFrb2RlLXBsdWdpbnMteGlwaC9NYWtlZmlsZQko
 cmV2aXNpb24gMzI4MzA5KQ0KKysrIGFrb2RlLXBsdWdpbnMteGlwaC9NYWtlZmlsZQkod29ya2lu
 ZyBjb3B5KQ0KQEAgLTEsNyArMSw3IEBADQogIyBDcmVhdGVkIGJ5OiBNaWNoYWVsIE5vdHRlYnJv
 Y2sgPGxvZmlARnJlZUJTRC5vcmc+DQogIyAkRnJlZUJTRCQNCiANCi1QT1JUTkFNRT0JYWtvZGUt
 cGx1Z2lucy0ke1BPUlROQU1FU1VGWH0NCitQT1JUTkFNRT0JYWtvZGUNCiBQT1JUVkVSU0lPTj0J
 Mi4wLjINCiBQT1JUUkVWSVNJT049CTUNCiBQT1JURVBPQ0g9CTENCkBAIC05LDEwICs5LDEyIEBA
 DQogTUFTVEVSX1NJVEVTPQlodHRwOi8vd3d3LmtkZS1hcHBzLm9yZy9DT05URU5UL2NvbnRlbnQt
 ZmlsZXMvIFwNCiAJCSR7TUFTVEVSX1NJVEVfTE9DQUx9DQogTUFTVEVSX1NJVEVfU1VCRElSPQls
 YXN6bG9mDQorUEtHTkFNRVNVRkZJWD0JLXBsdWdpbnMtJHtQT1JUTkFNRVNVRlh9DQogRElTVE5B
 TUU9CTMwMzc1LWFrb2RlLSR7UE9SVFZFUlNJT059DQogDQogTUFJTlRBSU5FUj0Jc3doZXR6ZWxA
 Z21haWwuY29tDQogQ09NTUVOVD0JRkxBQy9TcGVleC9Wb3JiaXMgZGVjb2RlciBwbHVnaW4gZm9y
 IGFrb2RlDQorDQogTElDRU5TRT0JTEdQTDIwDQogTElDRU5TRV9GSUxFPQkke1dSS1NSQ30vQ09Q
 WUlORw0KIA0KQEAgLTIzLDIxICsyNSwyMyBAQA0KIA0KIENPTkZMSUNUUz0Ja2RlbXVsdGltZWRp
 YS0zLlsxLTNdKg0KIA0KK1BBVENIRElSPQkke01BU1RFUkRJUn0vLi4vYWtvZGUvZmlsZXMNCitX
 UktTUkM9CQkke1dSS0RJUn0vYWtvZGUtJHtQT1JUVkVSU0lPTn0NCitCVUlMRF9XUktTUkM9CSR7
 V1JLU1JDfS9ha29kZQ0KK0lOU1RBTExfV1JLU1JDPQkke1dSS1NSQ30vYWtvZGUvcGx1Z2lucy8k
 e1BMVUdJTn0NCisNCiBQTFVHSU49CQl4aXBoX2RlY29kZXINCiBQT1JUTkFNRVNVRlg9CSR7UExV
 R0lOOlMvX3NpbmsvLzpTL19kZWNvZGVyLy86Uy9zcmNfLy99DQogDQogTk9fU1RBR0U9CXllcw0K
 IFVTRVM9CQlnbWFrZQ0KLVVTRV9BVVRPVE9PTFM9CWxpYmx0ZGwNCi1VU0VfQVVUT1RPT0xTPQls
 aWJ0b29sDQorVVNFX0FVVE9UT09MUz0JbGlibHRkbCBsaWJ0b29sDQogVVNFX0JaSVAyPQl5ZXMN
 Ci1VU0VfR0NDPQlhbnkNCi1XUktTUkM9CQkke1dSS0RJUn0vYWtvZGUtJHtQT1JUVkVSU0lPTn0N
 CiBVU0VfTERDT05GSUc9CXllcw0KIA0KLVBMSVNUX0ZJTEVTPQlsaWIvbGliYWtvZGVfeGlwaF9k
 ZWNvZGVyLmEgXA0KLQkJbGliL2xpYmFrb2RlX3hpcGhfZGVjb2Rlci5sYSBcDQotCQlsaWIvbGli
 YWtvZGVfeGlwaF9kZWNvZGVyLnNvDQorUExJU1RfRklMRVM9CWxpYi9saWJha29kZV8ke1BMVUdJ
 Tn0uYSBcDQorCQlsaWIvbGliYWtvZGVfJHtQTFVHSU59LmxhIFwNCisJCWxpYi9saWJha29kZV8k
 e1BMVUdJTn0uc28NCiANCiBMREZMQUdTKz0JLUwke1dSS1NSQ30vYWtvZGUvbGliLy5saWJzDQog
 Q09ORklHVVJFX0FSR1MrPS0td2l0aC1leHRyYS1saWJzPSR7TE9DQUxCQVNFfS9saWIgXA0KQEAg
 LTQ2LDE0ICs1MCwxMCBAQA0KIHBvc3QtcGF0Y2g6DQogCUAke1NFVEVOVn0gVFo9VVRDIFwNCiAJ
 JHtUT1VDSH0gLXQgMjAwNjA3MjIyMjE3LjAxICR7V1JLU1JDfS9ha29kZS9saWIvYWtvZGVfZXhw
 b3J0LmguaW4NCisJJHtSRUlOUExBQ0VfQ01EfSAtZSAnc3xeU1VCRElSUyA9Lip8U1VCRElSUyA9
 IGxpYiBwbHVnaW5zfGcnIFwNCisJCSR7V1JLU1JDfS9ha29kZS9NYWtlZmlsZS5pbg0KIA0KIHBy
 ZS1jb25maWd1cmU6DQogCUAke1JFSU5QTEFDRV9DTUR9IC1lICdzQCUlU1VCRElSUyUlQCR7UExV
 R0lOfUBnJyAke1dSS1NSQ30vYWtvZGUvcGx1Z2lucy9NYWtlZmlsZS5pbg0KIA0KLWRvLWJ1aWxk
 Og0KLQljZCAke1dSS1NSQ30vYWtvZGUgJiYgJHtHTUFLRX0NCi0NCi1kby1pbnN0YWxsOg0KLQlj
 ZCAke1dSS1NSQ30vYWtvZGUvcGx1Z2lucy8ke1BMVUdJTn0gJiYgJHtHTUFLRX0gaW5zdGFsbA0K
 LQ0KIC5pbmNsdWRlIDxic2QucG9ydC5taz4NCkluZGV4OiBha29kZS1wbHVnaW5zLXhpcGgvZmls
 ZXMvcGF0Y2gtYWtvZGVfTWFrZWZpbGUuaW4NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBha29kZS1wbHVnaW5z
 LXhpcGgvZmlsZXMvcGF0Y2gtYWtvZGVfTWFrZWZpbGUuaW4JKHJldmlzaW9uIDMyODMwOSkNCisr
 KyBha29kZS1wbHVnaW5zLXhpcGgvZmlsZXMvcGF0Y2gtYWtvZGVfTWFrZWZpbGUuaW4JKHdvcmtp
 bmcgY29weSkNCkBAIC0xLDExICswLDAgQEANCi0tLS0gYWtvZGUvTWFrZWZpbGUuaW4ub3JpZwlU
 dWUgTm92IDI5IDE3OjUxOjE5IDIwMDUNCi0rKysgYWtvZGUvTWFrZWZpbGUuaW4JVHVlIE5vdiAy
 OSAxNzo1MTowNSAyMDA1DQotQEAgLTI0Nyw3ICsyNDcsNyBAQA0KLSB1bnNlcm1ha2VfZW5hYmxl
 X3BjaF9GQUxTRSA9IEB1bnNlcm1ha2VfZW5hYmxlX3BjaF9GQUxTRUANCi0gdW5zZXJtYWtlX2Vu
 YWJsZV9wY2hfVFJVRSA9IEB1bnNlcm1ha2VfZW5hYmxlX3BjaF9UUlVFQA0KLSBiaW5fU0NSSVBU
 UyA9IGFrb2RlLWNvbmZpZw0KLS1TVUJESVJTID0gbGliIHBsdWdpbnMgYWtvZGVwbGF5DQotK1NV
 QkRJUlMgPSBsaWIgcGx1Z2lucw0KLSAjPi0gYWxsOiBhbGwtcmVjdXJzaXZlDQotICM+KyAxDQot
 IGFsbDogZG9jcy1hbSAgYWxsLXJlY3Vyc2l2ZQ0KSW5kZXg6IGFrb2RlLXBsdWdpbnMteGlwaC9m
 aWxlcy9wYXRjaC1ha29kZV9wbHVnaW5zLU1ha2VmaWxlLmluDQo9PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gYWtv
 ZGUtcGx1Z2lucy14aXBoL2ZpbGVzL3BhdGNoLWFrb2RlX3BsdWdpbnMtTWFrZWZpbGUuaW4JKHJl
 dmlzaW9uIDMyODMwOSkNCisrKyBha29kZS1wbHVnaW5zLXhpcGgvZmlsZXMvcGF0Y2gtYWtvZGVf
 cGx1Z2lucy1NYWtlZmlsZS5pbgkod29ya2luZyBjb3B5KQ0KQEAgLTEsMTUgKzAsMCBAQA0KLS0t
 LSBha29kZS9wbHVnaW5zL01ha2VmaWxlLmluLm9yaWcJVHVlIE5vdiAyOSAxODoxMDoyMCAyMDA1
 DQotKysrIGFrb2RlL3BsdWdpbnMvTWFrZWZpbGUuaW4JVHVlIE5vdiAyOSAxODoxMDo0NSAyMDA1
 DQotQEAgLTI1MiwxMSArMjUyLDcgQEANCi0gQGluY2x1ZGVfc3VuX3NpbmtfVFJVRUBBS09ERV9T
 VU5fU0lOSyA9IHN1bl9zaW5rDQotIEBpbmNsdWRlX2phY2tfc2lua19UUlVFQEFLT0RFX0pBQ0tf
 U0lOSyA9IGphY2tfc2luaw0KLSBAaW5jbHVkZV9wb2x5cF9zaW5rX1RSVUVAQUtPREVfUE9MWVBf
 U0lOSyA9IHBvbHlwX3NpbmsNCi0tU1VCRElSUyA9ICQoQUtPREVfTVBDX0RFQ09ERVIpICQoQUtP
 REVfWElQSF9ERUNPREVSKSBcDQotLSAgICAgICAgICQoQUtPREVfTVBFR19ERUNPREVSKSAkKEFL
 T0RFX0ZGTVBFR19ERUNPREVSKSBcDQotLSAgICAgICAgICQoQUtPREVfQUxTQV9TSU5LKSAkKEFL
 T0RFX09TU19TSU5LKSAkKEFLT0RFX1NVTl9TSU5LKSBcDQotLSAgICAgICAgICQoQUtPREVfSkFD
 S19TSU5LKSAkKEFLT0RFX1BPTFlQX1NJTkspIFwNCi0tICAgICAgICAgJChBS09ERV9TUkNfUkVT
 QU1QTEVSKQ0KLStTVUJESVJTID0gJSVTVUJESVJTJSUNCi0gDQotICM+LSBhbGw6IGFsbC1yZWN1
 cnNpdmUNCi0gIz4rIDENCkluZGV4OiBha29kZS1wbHVnaW5zLXhpcGgvZmlsZXMvcGF0Y2gtYWtv
 ZGVfcGx1Z2luc194aXBoX19kZWNvZGVyX2ZsYWMxMTNfX2RlY29kZXIuY3BwDQo9PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 DQotLS0gYWtvZGUtcGx1Z2lucy14aXBoL2ZpbGVzL3BhdGNoLWFrb2RlX3BsdWdpbnNfeGlwaF9f
 ZGVjb2Rlcl9mbGFjMTEzX19kZWNvZGVyLmNwcAkocmV2aXNpb24gMzI4MzA5KQ0KKysrIGFrb2Rl
 LXBsdWdpbnMteGlwaC9maWxlcy9wYXRjaC1ha29kZV9wbHVnaW5zX3hpcGhfX2RlY29kZXJfZmxh
 YzExM19fZGVjb2Rlci5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC0xLDExICswLDAgQEANCi0tLS0g
 YWtvZGUvcGx1Z2lucy94aXBoX2RlY29kZXIvZmxhYzExM19kZWNvZGVyLmNwcC5vcmlnCTIwMDgt
 MDMtMjcgMTY6MTE6MjYuMDAwMDAwMDAwICswMTAwDQotKysrIGFrb2RlL3BsdWdpbnMveGlwaF9k
 ZWNvZGVyL2ZsYWMxMTNfZGVjb2Rlci5jcHAJMjAwOC0wMy0yNyAxNjoxMTo0Ni4wMDAwMDAwMDAg
 KzAxMDANCi1AQCAtMTA4LDcgKzEwOCw3IEBAIHN0cnVjdCBGTEFDRGVjb2Rlcjo6cHJpdmF0ZV9k
 YXRhIHsNCi0gc3RhdGljIEZMQUNfX1N0cmVhbURlY29kZXJSZWFkU3RhdHVzIGZsYWNfcmVhZF9j
 YWxsYmFjaygNCi0gICAgICAgICBjb25zdCBGTEFDX19TdHJlYW1EZWNvZGVyICosDQotICAgICAg
 ICAgRkxBQ19fYnl0ZSBidWZmZXJbXSwNCi0tICAgICAgICB1bnNpZ25lZCAqYnl0ZXMsDQotKyAg
 ICAgICAgc2l6ZV90ICpieXRlcywNCi0gICAgICAgICB2b2lkICpjbGllbnRfZGF0YSkNCi0gew0K
 LSAgICAgRkxBQ0RlY29kZXI6OnByaXZhdGVfZGF0YSAqZGF0YSA9IChGTEFDRGVjb2Rlcjo6cHJp
 dmF0ZV9kYXRhKiljbGllbnRfZGF0YTsNCkluZGV4OiBha29kZS1wbHVnaW5zLXhpcGgvZmlsZXMv
 cGF0Y2gtYWtvZGVfcGx1Z2luc194aXBoX19kZWNvZGVyX3NwZWV4X19kZWNvZGVyLmNwcA0KPT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PQ0KLS0tIGFrb2RlLXBsdWdpbnMteGlwaC9maWxlcy9wYXRjaC1ha29kZV9wbHVnaW5z
 X3hpcGhfX2RlY29kZXJfc3BlZXhfX2RlY29kZXIuY3BwCShyZXZpc2lvbiAzMjgzMDkpDQorKysg
 YWtvZGUtcGx1Z2lucy14aXBoL2ZpbGVzL3BhdGNoLWFrb2RlX3BsdWdpbnNfeGlwaF9fZGVjb2Rl
 cl9zcGVleF9fZGVjb2Rlci5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC0xLDIwICswLDAgQEANCi0N
 Ci0kRnJlZUJTRCQNCi0NCi0tLS0gYWtvZGUvcGx1Z2lucy94aXBoX2RlY29kZXIvc3BlZXhfZGVj
 b2Rlci5jcHAub3JpZw0KLSsrKyBha29kZS9wbHVnaW5zL3hpcGhfZGVjb2Rlci9zcGVleF9kZWNv
 ZGVyLmNwcA0KLUBAIC0yNSwxMCArMjUsMTAgQEANCi0gZXh0ZXJuICJDIiB7DQotICNpbmNsdWRl
 IDxzdHJpbmcuaD4NCi0gI2luY2x1ZGUgPHN0ZGxpYi5oPg0KLS0jaW5jbHVkZSA8c3BlZXguaD4N
 Ci0tI2luY2x1ZGUgPHNwZWV4X2hlYWRlci5oPg0KLS0jaW5jbHVkZSA8c3BlZXhfY2FsbGJhY2tz
 Lmg+DQotLSNpbmNsdWRlIDxzcGVleF9zdGVyZW8uaD4NCi0rI2luY2x1ZGUgPHNwZWV4L3NwZWV4
 Lmg+DQotKyNpbmNsdWRlIDxzcGVleC9zcGVleF9oZWFkZXIuaD4NCi0rI2luY2x1ZGUgPHNwZWV4
 L3NwZWV4X2NhbGxiYWNrcy5oPg0KLSsjaW5jbHVkZSA8c3BlZXgvc3BlZXhfc3RlcmVvLmg+DQot
 ICNpbmNsdWRlIDxvZ2cvb2dnLmg+DQotIH0NCi0gDQpJbmRleDogYWtvZGUtcGx1Z2lucy14aXBo
 L2ZpbGVzL3BhdGNoLWNvbmZpZ3VyZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGFrb2RlLXBsdWdpbnMteGlw
 aC9maWxlcy9wYXRjaC1jb25maWd1cmUJKHJldmlzaW9uIDMyODMwOSkNCisrKyBha29kZS1wbHVn
 aW5zLXhpcGgvZmlsZXMvcGF0Y2gtY29uZmlndXJlCSh3b3JraW5nIGNvcHkpDQpAQCAtMSwzMSAr
 MCwwIEBADQotDQotJEZyZWVCU0QkDQotDQotLS0tIGNvbmZpZ3VyZS5vcmlnDQotKysrIGNvbmZp
 Z3VyZQ0KLUBAIC0yMjIwMCw4ICsyMjIwMCw4IEBADQotIGNhdCA+PmNvbmZ0ZXN0LiRhY19leHQg
 PDxfQUNFT0YNCi0gLyogZW5kIGNvbmZkZWZzLmguICAqLw0KLSANCi0tICAgICAgICAgICAgICAg
 ICNpbmNsdWRlIDxzcGVleC5oPg0KLS0gICAgICAgICAgICAgICAgI2luY2x1ZGUgPHNwZWV4X2Nh
 bGxiYWNrcy5oPg0KLSsgICAgICAgICAgICAgICAgI2luY2x1ZGUgPHNwZWV4L3NwZWV4Lmg+DQot
 KyAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3BlZXgvc3BlZXhfY2FsbGJhY2tzLmg+DQotICAg
 ICAgICAgICAgICAgICAjaW5jbHVkZSA8b2dnL29nZy5oPg0KLSANCi0gaW50DQotQEAgLTIyMzUw
 LDEwICsyMjM1MCwxMCBAQA0KLSBjYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GDQotIC8q
 IGVuZCBjb25mZGVmcy5oLiAgKi8NCi0gDQotLSAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3Bl
 ZXguaD4NCi0tICAgICAgICAgICAgICAgICNpbmNsdWRlIDxzcGVleF9jYWxsYmFja3MuaD4NCi0t
 ICAgICAgICAgICAgICAgICNpbmNsdWRlIDxzcGVleF9lY2hvLmg+DQotLSAgICAgICAgICAgICAg
 ICAjaW5jbHVkZSA8c3BlZXhfcHJlcHJvY2Vzcy5oPg0KLSsgICAgICAgICAgICAgICAgI2luY2x1
 ZGUgPHNwZWV4L3NwZWV4Lmg+DQotKyAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3BlZXgvc3Bl
 ZXhfY2FsbGJhY2tzLmg+DQotKyAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3BlZXgvc3BlZXhf
 ZWNoby5oPg0KLSsgICAgICAgICAgICAgICAgI2luY2x1ZGUgPHNwZWV4L3NwZWV4X3ByZXByb2Nl
 c3MuaD4NCi0gICAgICAgICAgICAgICAgICNpbmNsdWRlIDxvZ2cvb2dnLmg+DQotIA0KLSBpbnQN
 Cg==
 --047d7bdc9a48daa03204e743d276--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309260700.r8Q701q4020506>